From dca5d60ad93b7c6218f258d59781bf4954f7134f Mon Sep 17 00:00:00 2001 From: sherman Date: Mon, 30 Jun 2008 14:06:34 -0700 Subject: [PATCH] 6675856: Open charset tests Summary: Moved non-confidiential test cased from closed repo to open repo Reviewed-by: martin --- test/sun/nio/cs/BufferUnderflowEUCTWTest.java | 64 + .../cs/CheckCaseInsensitiveEncAliases.java | 99 + test/sun/nio/cs/CheckHistoricalNames.java | 313 + test/sun/nio/cs/ConvertSingle.java | 65 + test/sun/nio/cs/Decode.java | 67 + test/sun/nio/cs/DecoderOverflow.java | 65 + test/sun/nio/cs/EUCJPUnderflowDecodeTest.java | 104 + test/sun/nio/cs/EucJpLinux0212.java | 79 + .../nio/cs/EucJpLinuxDecoderRecoveryTest.java | 70 + test/sun/nio/cs/EuroConverter.java | 158 + test/sun/nio/cs/FindASCIICodingBugs.java | 90 + test/sun/nio/cs/FindASCIIRangeCodingBugs.java | 78 + test/sun/nio/cs/FindCanEncodeBugs.java | 93 + test/sun/nio/cs/FindDecoderBugs.java | 442 + test/sun/nio/cs/FindEncoderBugs.java | 529 ++ test/sun/nio/cs/FindOneCharEncoderBugs.java | 169 + .../sun/nio/cs/HWKatakanaMS932EncodeTest.java | 54 + test/sun/nio/cs/ISCIITest.java | 350 + test/sun/nio/cs/ISO2022JP.trailEsc | 454 + test/sun/nio/cs/ISO8859x.java | 105 + test/sun/nio/cs/JISAutoDetectTest.java | 158 + .../nio/cs/LatinCharReplacementTWTest.java | 80 + test/sun/nio/cs/LeftOverSurrogate.java | 55 + test/sun/nio/cs/MalformedSurrogates.java | 85 + test/sun/nio/cs/NIOJISAutoDetectTest.java | 282 + test/sun/nio/cs/ReadZero.java | 58 + test/sun/nio/cs/SJISCanEncode.java | 73 + test/sun/nio/cs/StreamEncoderClose.java | 76 + test/sun/nio/cs/SurrogateGB18030Test.java | 121 + test/sun/nio/cs/SurrogateTestEUCTW.java | 95 + .../cs/SurrogateTestEUCTW.plane15.surrogates | 6476 +++++++++++++ .../cs/SurrogateTestEUCTW.plane3.surrogates | 71 + .../cs/SurrogateTestEUCTW.plane4.surrogates | 3476 +++++++ .../cs/SurrogateTestEUCTW.plane5.surrogates | 8143 +++++++++++++++++ .../cs/SurrogateTestEUCTW.plane6.surrogates | 6158 +++++++++++++ .../cs/SurrogateTestEUCTW.plane7.surrogates | 6388 +++++++++++++ test/sun/nio/cs/SurrogateTestHKSCS.java | 1191 +++ test/sun/nio/cs/Test4200310.sh | 41 + test/sun/nio/cs/Test4206507.java | 38 + test/sun/nio/cs/Test6254467.java | 38 + test/sun/nio/cs/Test6275027.java | 42 + test/sun/nio/cs/Test6392804.java | 59 + test/sun/nio/cs/TestCompoundTest.java | 47 + .../cs/TestConverterDroppedCharacters.java | 92 + test/sun/nio/cs/TestCp834_SBCS.java | 101 + test/sun/nio/cs/TestCp93xSISO.java | 52 + test/sun/nio/cs/TestIBMBugs.java | 146 + test/sun/nio/cs/TestISCII91.java | 71 + test/sun/nio/cs/TestISO2022CNDecoder.java | 440 + test/sun/nio/cs/TestISO2022JP.java | 612 ++ test/sun/nio/cs/TestISO2022JPEncoder.java | 73 + test/sun/nio/cs/TestISO2022JPSubBytes.java | 101 + test/sun/nio/cs/TestIllegalISO2022Esc.java | 60 + test/sun/nio/cs/TestIllegalSJIS.java | 50 + test/sun/nio/cs/TestJIS0208Decoder.java | 61 + test/sun/nio/cs/TestJIS0212Decoder.java | 62 + test/sun/nio/cs/TestMS5022X.java | 750 ++ test/sun/nio/cs/TestMiscEUC_JP.java | 62 + test/sun/nio/cs/TestSJIS0213.java | 116 + .../nio/cs/TestTrailingEscapesISO2022JP.java | 65 + test/sun/nio/cs/TestUTF8BOM.java | 92 + test/sun/nio/cs/TestUTF_16.java | 196 + test/sun/nio/cs/TestUTF_32.java | 197 + test/sun/nio/cs/TestUni2HKSCS.java | 327 + test/sun/nio/cs/TestX11JIS0201.java | 54 + test/sun/nio/cs/UkrainianIsNotRussian.java | 76 + test/sun/nio/cs/ZeroedByteArrayEUCTWTest.java | 52 + 67 files changed, 40607 insertions(+) create mode 100644 test/sun/nio/cs/BufferUnderflowEUCTWTest.java create mode 100644 test/sun/nio/cs/CheckCaseInsensitiveEncAliases.java create mode 100644 test/sun/nio/cs/CheckHistoricalNames.java create mode 100644 test/sun/nio/cs/ConvertSingle.java create mode 100644 test/sun/nio/cs/Decode.java create mode 100644 test/sun/nio/cs/DecoderOverflow.java create mode 100644 test/sun/nio/cs/EUCJPUnderflowDecodeTest.java create mode 100644 test/sun/nio/cs/EucJpLinux0212.java create mode 100644 test/sun/nio/cs/EucJpLinuxDecoderRecoveryTest.java create mode 100644 test/sun/nio/cs/EuroConverter.java create mode 100644 test/sun/nio/cs/FindASCIICodingBugs.java create mode 100644 test/sun/nio/cs/FindASCIIRangeCodingBugs.java create mode 100644 test/sun/nio/cs/FindCanEncodeBugs.java create mode 100644 test/sun/nio/cs/FindDecoderBugs.java create mode 100644 test/sun/nio/cs/FindEncoderBugs.java create mode 100644 test/sun/nio/cs/FindOneCharEncoderBugs.java create mode 100644 test/sun/nio/cs/HWKatakanaMS932EncodeTest.java create mode 100644 test/sun/nio/cs/ISCIITest.java create mode 100644 test/sun/nio/cs/ISO2022JP.trailEsc create mode 100644 test/sun/nio/cs/ISO8859x.java create mode 100644 test/sun/nio/cs/JISAutoDetectTest.java create mode 100644 test/sun/nio/cs/LatinCharReplacementTWTest.java create mode 100644 test/sun/nio/cs/LeftOverSurrogate.java create mode 100644 test/sun/nio/cs/MalformedSurrogates.java create mode 100644 test/sun/nio/cs/NIOJISAutoDetectTest.java create mode 100644 test/sun/nio/cs/ReadZero.java create mode 100644 test/sun/nio/cs/SJISCanEncode.java create mode 100644 test/sun/nio/cs/StreamEncoderClose.java create mode 100644 test/sun/nio/cs/SurrogateGB18030Test.java create mode 100644 test/sun/nio/cs/SurrogateTestEUCTW.java create mode 100644 test/sun/nio/cs/SurrogateTestEUCTW.plane15.surrogates create mode 100644 test/sun/nio/cs/SurrogateTestEUCTW.plane3.surrogates create mode 100644 test/sun/nio/cs/SurrogateTestEUCTW.plane4.surrogates create mode 100644 test/sun/nio/cs/SurrogateTestEUCTW.plane5.surrogates create mode 100644 test/sun/nio/cs/SurrogateTestEUCTW.plane6.surrogates create mode 100644 test/sun/nio/cs/SurrogateTestEUCTW.plane7.surrogates create mode 100644 test/sun/nio/cs/SurrogateTestHKSCS.java create mode 100644 test/sun/nio/cs/Test4200310.sh create mode 100644 test/sun/nio/cs/Test4206507.java create mode 100644 test/sun/nio/cs/Test6254467.java create mode 100644 test/sun/nio/cs/Test6275027.java create mode 100644 test/sun/nio/cs/Test6392804.java create mode 100644 test/sun/nio/cs/TestCompoundTest.java create mode 100644 test/sun/nio/cs/TestConverterDroppedCharacters.java create mode 100644 test/sun/nio/cs/TestCp834_SBCS.java create mode 100644 test/sun/nio/cs/TestCp93xSISO.java create mode 100644 test/sun/nio/cs/TestIBMBugs.java create mode 100644 test/sun/nio/cs/TestISCII91.java create mode 100644 test/sun/nio/cs/TestISO2022CNDecoder.java create mode 100644 test/sun/nio/cs/TestISO2022JP.java create mode 100644 test/sun/nio/cs/TestISO2022JPEncoder.java create mode 100644 test/sun/nio/cs/TestISO2022JPSubBytes.java create mode 100644 test/sun/nio/cs/TestIllegalISO2022Esc.java create mode 100644 test/sun/nio/cs/TestIllegalSJIS.java create mode 100644 test/sun/nio/cs/TestJIS0208Decoder.java create mode 100644 test/sun/nio/cs/TestJIS0212Decoder.java create mode 100644 test/sun/nio/cs/TestMS5022X.java create mode 100644 test/sun/nio/cs/TestMiscEUC_JP.java create mode 100644 test/sun/nio/cs/TestSJIS0213.java create mode 100644 test/sun/nio/cs/TestTrailingEscapesISO2022JP.java create mode 100644 test/sun/nio/cs/TestUTF8BOM.java create mode 100644 test/sun/nio/cs/TestUTF_16.java create mode 100644 test/sun/nio/cs/TestUTF_32.java create mode 100644 test/sun/nio/cs/TestUni2HKSCS.java create mode 100644 test/sun/nio/cs/TestX11JIS0201.java create mode 100644 test/sun/nio/cs/UkrainianIsNotRussian.java create mode 100644 test/sun/nio/cs/ZeroedByteArrayEUCTWTest.java diff --git a/test/sun/nio/cs/BufferUnderflowEUCTWTest.java b/test/sun/nio/cs/BufferUnderflowEUCTWTest.java new file mode 100644 index 000000000..c7b54a184 --- /dev/null +++ b/test/sun/nio/cs/BufferUnderflowEUCTWTest.java @@ -0,0 +1,64 @@ +/* + * Copyright 2008 Sun Microsystems, Inc. All Rights Reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, + * CA 95054 USA or visit www.sun.com if you need additional information or + * have any questions. + */ + +/* @test + @bug 4834154 + @summary Decode a file using EUC-TW, test for decode errors + */ + +/* + * Tests for decode errors in NIO EUC-TW decoder. 4734607 details + * decoding errors which occur when the input file > 8k in size + * and contains numerous US-ASCII range chars + */ + +import java.io.*; + +public class BufferUnderflowEUCTWTest { + private static int BUFFERSIZE = 8194; + + public static void main (String[] args) throws Exception { + int i = 0; + byte[] b = new byte[BUFFERSIZE]; + + for (; i < BUFFERSIZE - 4; i++) // pad with zeroes + b[i] = 0; + + // Overspill a valid EUC-TW 4 byte sequence between 2 + // successive input buffers. + b[i++] = (byte)0x8E; + b[i++] = (byte)0xA2; + b[i++] = (byte)0xA1; + b[i++] = (byte)0xA6; + + ByteArrayInputStream r = new ByteArrayInputStream(b); + + try { + InputStreamReader isr=new InputStreamReader(r, "EUC-TW"); + char[] cc = new char[BUFFERSIZE]; + int cx = isr.read(cc); + } catch (ArrayIndexOutOfBoundsException e) { + throw new Exception("Array Index error: bug 4834154"); + } + } +} diff --git a/test/sun/nio/cs/CheckCaseInsensitiveEncAliases.java b/test/sun/nio/cs/CheckCaseInsensitiveEncAliases.java new file mode 100644 index 000000000..3a96a76b0 --- /dev/null +++ b/test/sun/nio/cs/CheckCaseInsensitiveEncAliases.java @@ -0,0 +1,99 @@ +/* + * Copyright 2008 Sun Microsystems, Inc. All Rights Reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, + * CA 95054 USA or visit www.sun.com if you need additional information or + * have any questions. + */ + +/* @test + * @bug 4216191 4721369 4807283 + @summary Test to validate case insensitivity of encoding alias names + */ + +// Fixed since 1.4.0 by virtue of NIO charset lookup mechanism +// which is by design case insensitive + +import java.lang.*; +import java.io.*; + +public class CheckCaseInsensitiveEncAliases +{ + public static void main(String args[]) throws Exception + { + // Try various encoding names in mixed cases + // Tests subset of encoding names provided within bugID 4216191 + + // Various forms of US-ASCII + tryToEncode( "ANSI_X3.4-1968" ); + tryToEncode( "iso-ir-6" ); + tryToEncode( "ANSI_X3.4-1986" ); + tryToEncode( "ISO_646.irv:1991" ); + tryToEncode( "ASCII" ); + tryToEncode( "ascii" ); + tryToEncode( "Ascii" ); + tryToEncode( "Ascii7" ); + tryToEncode( "ascii7" ); + tryToEncode( "ISO646-US" ); + tryToEncode( "US-ASCII" ); + tryToEncode( "us-ascii" ); + tryToEncode( "US-Ascii" ); + tryToEncode( "us" ); + tryToEncode( "IBM367" ); + tryToEncode( "cp367" ); + tryToEncode( "csASCII" ); + + // Variants on Unicode + tryToEncode( "Unicode" ); + tryToEncode( "UNICODE" ); + tryToEncode( "unicode" ); + + // Variants on Big5 + tryToEncode( "Big5" ); + tryToEncode( "big5" ); + tryToEncode( "bIg5" ); + tryToEncode( "biG5" ); + tryToEncode( "bIG5" ); + + // Variants of Cp1252 + tryToEncode( "Cp1252" ); + tryToEncode( "cp1252" ); + tryToEncode( "CP1252" ); + + // Variants of PCK + tryToEncode( "pck" ); + tryToEncode( "Pck" ); + + } + + + public static final String ENCODE_STRING = "Encode me"; + + public static void tryToEncode( String encoding) throws Exception + { + try + { + byte[] bytes = ENCODE_STRING.getBytes( encoding ); + System.out.println( "Encoding \"" + encoding + "\" recognized" ); + } + catch( UnsupportedEncodingException e ) + { + throw new Exception("Encoding \"" + encoding + "\" NOT recognized"); + } + } +} diff --git a/test/sun/nio/cs/CheckHistoricalNames.java b/test/sun/nio/cs/CheckHistoricalNames.java new file mode 100644 index 000000000..0e233b603 --- /dev/null +++ b/test/sun/nio/cs/CheckHistoricalNames.java @@ -0,0 +1,313 @@ +/* + * Copyright 2008 Sun Microsystems, Inc. All Rights Reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, + * CA 95054 USA or visit www.sun.com if you need additional information or + * have any questions. + */ + +/* @test + @bug 4513767 4961027 + @summary Checks canonical names match between old and (NIO) core charsets + */ +import java.io.InputStreamReader; +import java.io.IOException; + +public class CheckHistoricalNames { + static int failed = 0; + public static void main (String[] args) throws Exception { + checkHistoricalName("ASCII"); + checkHistoricalName("Cp1252"); + checkHistoricalName("ISO8859_1"); + checkHistoricalName("UnicodeBigUnmarked"); + checkHistoricalName("UnicodeLittle"); + checkHistoricalName("UnicodeLittleUnmarked"); + checkHistoricalName("UTF8"); + checkHistoricalName("UTF-16"); + + checkMappedName("UnicodeBig", "UTF-16"); + checkMappedName("US-ASCII", "ASCII"); + checkMappedName("ISO-8859-1", "ISO8859_1"); + checkMappedName("UTF-8", "UTF8"); + checkMappedName("UTF-16BE", "UnicodeBigUnmarked"); + checkMappedName("UTF-16LE", "UnicodeLittleUnmarked"); + + checkHistoricalName("ISO8859_2"); + checkHistoricalName("ISO8859_4"); + checkHistoricalName("ISO8859_5"); + checkHistoricalName("ISO8859_7"); + checkHistoricalName("ISO8859_9"); + checkHistoricalName("ISO8859_13"); + checkHistoricalName("KOI8_R"); + checkHistoricalName("Cp1250"); + checkHistoricalName("Cp1251"); + checkHistoricalName("Cp1253"); + checkHistoricalName("Cp1254"); + checkHistoricalName("Cp1257"); + + checkMappedName("ISO-8859-2", "ISO8859_2"); + checkMappedName("ISO-8859-4", "ISO8859_4"); + checkMappedName("ISO-8859-5", "ISO8859_5"); + checkMappedName("ISO-8859-7", "ISO8859_7"); + checkMappedName("ISO-8859-9", "ISO8859_9"); + checkMappedName("ISO-8859-13", "ISO8859_13"); + checkMappedName("KOI8-R", "KOI8_R"); + checkMappedName("windows-1250", "Cp1250"); + checkMappedName("windows-1251","Cp1251"); + checkMappedName("windows-1253", "Cp1253"); + checkMappedName("windows-1254", "Cp1254"); + checkMappedName("windows-1257", "Cp1257"); + + checkHistoricalName("EUC_CN"); + checkHistoricalName("EUC_JP"); + checkHistoricalName("EUC_JP_LINUX"); + checkHistoricalName("EUC_KR"); + checkHistoricalName("EUC_TW"); + checkHistoricalName("ISO2022CN"); + checkHistoricalName("ISO2022JP"); + checkHistoricalName("ISO2022KR"); + checkHistoricalName("ISO8859_3"); + checkHistoricalName("ISO8859_6"); + checkHistoricalName("ISO8859_8"); + checkHistoricalName("Cp1255"); + checkHistoricalName("Cp1256"); + checkHistoricalName("Cp1258"); + checkHistoricalName("MS936"); + checkHistoricalName("MS949"); + checkHistoricalName("MS950"); + checkHistoricalName("TIS620"); + + checkMappedName("EUC-CN", "EUC_CN"); + checkMappedName("EUC-JP", "EUC_JP"); + checkMappedName("EUC-JP-LINUX", "EUC_JP_LINUX"); + checkMappedName("EUC-TW", "EUC_TW"); + checkMappedName("EUC-KR", "EUC_KR"); + checkMappedName("ISO-2022-CN", "ISO2022CN"); + checkMappedName("ISO-2022-JP", "ISO2022JP"); + checkMappedName("ISO-2022-KR", "ISO2022KR"); + checkMappedName("ISO-8859-3", "ISO8859_3"); + checkMappedName("ISO-8859-6", "ISO8859_6"); + checkMappedName("ISO-8859-8", "ISO8859_8"); + checkMappedName("windows-1255", "Cp1255"); + checkMappedName("windows-1256", "Cp1256"); + checkMappedName("windows-1258", "Cp1258"); + checkMappedName("windows-936", "GBK"); + checkMappedName("windows-949", "MS949"); + checkMappedName("windows-950", "MS950"); + checkMappedName("x-MS950-HKSCS", "MS950_HKSCS"); + checkMappedName("x-PCK", "PCK"); + checkMappedName("Shift_JIS", "SJIS"); + checkMappedName("x-JISAutoDetect", "JISAutoDetect"); + checkMappedName("TIS-620", "TIS620"); + checkMappedName("x-Big5-Solaris", "Big5_Solaris"); + + checkHistoricalName("Cp037"); + checkHistoricalName("Cp1006"); + checkHistoricalName("Cp1025"); + checkHistoricalName("Cp1026"); + checkHistoricalName("Cp1046"); + checkHistoricalName("Cp1047"); + checkHistoricalName("Cp1097"); + checkHistoricalName("Cp1098"); + checkHistoricalName("Cp1112"); + checkHistoricalName("Cp1122"); + checkHistoricalName("Cp1123"); + checkHistoricalName("Cp1124"); + checkHistoricalName("Cp1140"); + checkHistoricalName("Cp1141"); + checkHistoricalName("Cp1142"); + checkHistoricalName("Cp1143"); + checkHistoricalName("Cp1144"); + checkHistoricalName("Cp1145"); + checkHistoricalName("Cp1146"); + checkHistoricalName("Cp1147"); + checkHistoricalName("Cp1148"); + checkHistoricalName("Cp1149"); + checkHistoricalName("Cp1381"); + checkHistoricalName("Cp1383"); + checkHistoricalName("Cp273"); + checkHistoricalName("Cp277"); + checkHistoricalName("Cp278"); + checkHistoricalName("Cp280"); + checkHistoricalName("Cp284"); + checkHistoricalName("Cp285"); + checkHistoricalName("Cp297"); + checkHistoricalName("Cp33722"); + checkHistoricalName("Cp420"); + checkHistoricalName("Cp424"); + checkHistoricalName("Cp437"); + checkHistoricalName("Cp500"); + checkHistoricalName("Cp737"); + checkHistoricalName("Cp775"); + checkHistoricalName("Cp838"); + checkHistoricalName("Cp850"); + checkHistoricalName("Cp852"); + checkHistoricalName("Cp855"); + checkHistoricalName("Cp856"); + checkHistoricalName("Cp857"); + checkHistoricalName("Cp858"); + checkHistoricalName("Cp860"); + checkHistoricalName("Cp861"); + checkHistoricalName("Cp862"); + checkHistoricalName("Cp863"); + checkHistoricalName("Cp864"); + checkHistoricalName("Cp865"); + checkHistoricalName("Cp866"); + checkHistoricalName("Cp868"); + checkHistoricalName("Cp869"); + checkHistoricalName("Cp870"); + checkHistoricalName("Cp871"); + checkHistoricalName("Cp874"); + checkHistoricalName("Cp875"); + checkHistoricalName("Cp918"); + checkHistoricalName("Cp921"); + checkHistoricalName("Cp922"); + checkHistoricalName("Cp933"); + checkHistoricalName("Cp939"); + checkHistoricalName("Cp949"); + checkHistoricalName("Cp964"); + checkHistoricalName("Cp970"); + + checkMappedName("IBM037", "Cp037"); + checkMappedName("IBM1006", "Cp1006"); + checkMappedName("IBM1025", "Cp1025"); + checkMappedName("IBM1026", "Cp1026"); + checkMappedName("x-IBM1046", "Cp1046"); + checkMappedName("IBM1047", "Cp1047"); + checkMappedName("IBM1097", "Cp1097"); + checkMappedName("IBM1098", "Cp1098"); + checkMappedName("IBM1112", "Cp1112"); + checkMappedName("IBM1122", "Cp1122"); + checkMappedName("IBM1123", "Cp1123"); + checkMappedName("IBM1124", "Cp1124"); + checkMappedName("IBM01140", "Cp1140"); + checkMappedName("IBM01141", "Cp1141"); + checkMappedName("IBM01142", "Cp1142"); + checkMappedName("IBM01143", "Cp1143"); + checkMappedName("IBM01144", "Cp1144"); + checkMappedName("IBM01145", "Cp1145"); + checkMappedName("IBM01146", "Cp1146"); + checkMappedName("IBM01147", "Cp1147"); + checkMappedName("IBM01148", "Cp1148"); + checkMappedName("IBM01149", "Cp1149"); + checkMappedName("IBM1381", "Cp1381"); + checkMappedName("IBM1383", "Cp1383"); + checkMappedName("IBM273", "Cp273"); + checkMappedName("IBM277", "Cp277"); + checkMappedName("IBM278", "Cp278"); + checkMappedName("IBM280", "Cp280"); + checkMappedName("IBM284", "Cp284"); + checkMappedName("IBM285", "Cp285"); + checkMappedName("IBM297", "Cp297"); + checkMappedName("IBM33722", "Cp33722"); + checkMappedName("IBM420", "Cp420"); + checkMappedName("IBM424", "Cp424"); + checkMappedName("IBM437", "Cp437"); + checkMappedName("IBM500", "Cp500"); + checkMappedName("IBM737", "Cp737"); + checkMappedName("IBM775", "Cp775"); + checkMappedName("IBM838", "Cp838"); + checkMappedName("IBM850", "Cp850"); + checkMappedName("IBM852", "Cp852"); + checkMappedName("IBM855", "Cp855"); + checkMappedName("IBM856", "Cp856"); + checkMappedName("IBM857", "Cp857"); + checkMappedName("IBM00858", "Cp858"); + checkMappedName("IBM860", "Cp860"); + checkMappedName("IBM861", "Cp861"); + checkMappedName("IBM862", "Cp862"); + checkMappedName("IBM863", "Cp863"); + checkMappedName("IBM864", "Cp864"); + checkMappedName("IBM865", "Cp865"); + checkMappedName("IBM866", "Cp866"); + checkMappedName("IBM868", "Cp868"); + checkMappedName("IBM869", "Cp869"); + checkMappedName("IBM870", "Cp870"); + checkMappedName("IBM871", "Cp871"); + checkMappedName("IBM874", "Cp874"); + checkMappedName("IBM875", "Cp875"); + checkMappedName("IBM918", "Cp918"); + checkMappedName("IBM921", "Cp921"); + checkMappedName("IBM922", "Cp922"); + checkMappedName("x-IBM930", "Cp930"); + checkMappedName("IBM933", "Cp933"); + checkMappedName("x-IBM935", "Cp935"); + checkMappedName("x-IBM937", "Cp937"); + checkMappedName("IBM939", "Cp939"); + checkMappedName("x-IBM942", "Cp942"); + checkMappedName("x-IBM942C", "Cp942C"); + checkMappedName("x-IBM943", "Cp943"); + checkMappedName("x-IBM943C", "Cp943C"); + checkMappedName("x-IBM948", "Cp948"); + checkMappedName("IBM949", "Cp949"); + checkMappedName("x-IBM949C", "Cp949C"); + checkMappedName("x-IBM950", "Cp950"); + checkMappedName("IBM964", "Cp964"); + checkMappedName("IBM970", "Cp970"); + + checkHistoricalName("MacArabic"); + checkHistoricalName("MacCentralEurope"); + checkHistoricalName("MacCroatian"); + checkHistoricalName("MacCyrillic"); + checkHistoricalName("MacDingbat"); + checkHistoricalName("MacGreek"); + checkHistoricalName("MacHebrew"); + checkHistoricalName("MacIceland"); + checkHistoricalName("MacRoman"); + checkHistoricalName("MacRomania"); + checkHistoricalName("MacSymbol"); + checkHistoricalName("MacThai"); + checkHistoricalName("MacTurkish"); + checkHistoricalName("MacUkraine"); + + checkMappedName("x-MacArabic", "MacArabic"); + checkMappedName("x-MacCentralEurope", "MacCentralEurope"); + checkMappedName("x-MacCroatian", "MacCroatian"); + checkMappedName("x-MacCyrillic", "MacCyrillic"); + checkMappedName("x-MacDingbat", "MacDingbat"); + checkMappedName("x-MacGreek", "MacGreek"); + checkMappedName("x-MacHebrew", "MacHebrew"); + checkMappedName("x-MacIceland", "MacIceland"); + checkMappedName("x-MacRoman", "MacRoman"); + checkMappedName("x-MacRomania", "MacRomania"); + checkMappedName("x-MacSymbol", "MacSymbol"); + checkMappedName("x-MacThai", "MacThai"); + checkMappedName("x-MacTurkish", "MacTurkish"); + checkMappedName("x-MacUkraine", "MacUkraine"); + + if (failed != 0) + throw new Exception("Test Failed: " + failed); + else + System.out.println("Test Passed!"); + } + + private static void checkHistoricalName(String name) throws Exception { + checkMappedName(name, name); + } + + private static void checkMappedName(String alias, String canonical) + throws Exception { + InputStreamReader reader = new InputStreamReader(System.in, alias); + if (!reader.getEncoding().equals(canonical)) { + System.out.println("Failed canonical names : mismatch for " + alias + + " - expected " + canonical + + ", got " + reader.getEncoding()); + failed++; + } + } +} diff --git a/test/sun/nio/cs/ConvertSingle.java b/test/sun/nio/cs/ConvertSingle.java new file mode 100644 index 000000000..3222c18bc --- /dev/null +++ b/test/sun/nio/cs/ConvertSingle.java @@ -0,0 +1,65 @@ +/* + * Copyright 2008 Sun Microsystems, Inc. All Rights Reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, + * CA 95054 USA or visit www.sun.com if you need additional information or + * have any questions. + */ + +/* @test + @bug 4094987 + @summary Verify that malformed expression exceptions are thrown + but no internal errors in certain pathologial cases. + + */ + + +import java.io.*; +import java.nio.charset.*; + +public class ConvertSingle { + + public static void main(String args[]) throws Exception { + // This conversion is pathologically bad - it is attempting to + // read unicode from an ascii encoded string. + // The orignal bug: A internal error in ISR results if the + // byte counter in ByteToCharUnicode + // is not advanced as the input is consumed. + + try{ + String s = "\n"; + byte ss[] = null; + String sstring = "x"; + ss = s.getBytes(); + ByteArrayInputStream BAIS = new ByteArrayInputStream(ss); + InputStreamReader ISR = new InputStreamReader(BAIS, "Unicode"); + BufferedReader BR = new BufferedReader(ISR); + sstring = BR.readLine(); + BR.close(); + System.out.println(sstring); + } catch (MalformedInputException e){ + // Right error + return; + } catch (java.lang.InternalError e) { + throw new Exception("ByteToCharUnicode is failing incorrectly for " + + " single byte input"); + } + + } + +} diff --git a/test/sun/nio/cs/Decode.java b/test/sun/nio/cs/Decode.java new file mode 100644 index 000000000..d1ae78dd0 --- /dev/null +++ b/test/sun/nio/cs/Decode.java @@ -0,0 +1,67 @@ +/* + * Copyright 2008 Sun Microsystems, Inc. All Rights Reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, + * CA 95054 USA or visit www.sun.com if you need additional information or + * have any questions. + */ + +/**/ + +public class Decode { + private static boolean isAscii(char c) { + return c < '\u0080'; + } + + private static boolean isPrintable(char c) { + return ('\u0020' < c) && (c < '\u007f'); + } + + public static void main(String[] args) throws Throwable { + if (args.length < 2) + throw new Exception("Usage: java Decode CHARSET BYTE [BYTE ...]"); + String cs = args[0]; + byte[] bytes = new byte[args.length-1]; + for (int i = 1; i < args.length; i++) { + String arg = args[i]; + bytes[i-1] = + (arg.length() == 1 && isAscii(arg.charAt(0))) ? + (byte) arg.charAt(0) : + arg.equals("ESC") ? 0x1b : + arg.equals("SO") ? 0x0e : + arg.equals("SI") ? 0x0f : + arg.equals("SS2") ? (byte) 0x8e : + arg.equals("SS3") ? (byte) 0x8f : + arg.matches("0x.*") ? Integer.decode(arg).byteValue() : + Integer.decode("0x"+arg).byteValue(); + } + String s = new String(bytes, cs); + + for (int j = 0; j < s.length(); j++) { + if (j > 0) + System.out.print(' '); + char c = s.charAt(j); + if (isPrintable(c)) + System.out.print(c); + else if (c == '\u001b') System.out.print("ESC"); + else + System.out.printf("\\u%04x", (int) c); + } + System.out.print("\n"); + } +} diff --git a/test/sun/nio/cs/DecoderOverflow.java b/test/sun/nio/cs/DecoderOverflow.java new file mode 100644 index 000000000..9ce4d3e86 --- /dev/null +++ b/test/sun/nio/cs/DecoderOverflow.java @@ -0,0 +1,65 @@ +/* + * Copyright 2008 Sun Microsystems, Inc. All Rights Reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, + * CA 95054 USA or visit www.sun.com if you need additional information or + * have any questions. + */ + +/* @test + @bug 5101128 + @summary Check behavior of CharsetDecoder.decode when overflow occurs + @author Martin Buchholz + */ + +import java.util.*; +import java.nio.*; +import java.nio.charset.*; + +public class DecoderOverflow { + static int failures = 0; + + public static void main(String[] args) throws Exception { + for (String csn : Charset.availableCharsets().keySet()) { + try { + test(csn); + } catch (Throwable t) { + System.out.println(csn); + t.printStackTrace(); + failures++; + } + } + if (failures > 0) + throw new Exception(failures + " charsets failed"); + } + + static void test(String encoding) throws Exception { + String text = "Vote for Duke!"; + Charset cs = Charset.forName(encoding); + if (! cs.canEncode() || ! cs.newEncoder().canEncode('.')) return; + ByteBuffer in = ByteBuffer.wrap(text.getBytes(encoding)); + CharBuffer out = CharBuffer.allocate(text.length()/2); + CoderResult result = cs.newDecoder().decode(in, out, true); + if (out.hasRemaining() || ! result.isOverflow()) + throw new Exception + ("out.hasRemaining()=" + out.hasRemaining() + + " result.isOverflow()=" + result.isOverflow() + + " in.capacity()=" + in.capacity() + + " encoding=" + encoding); + } +} diff --git a/test/sun/nio/cs/EUCJPUnderflowDecodeTest.java b/test/sun/nio/cs/EUCJPUnderflowDecodeTest.java new file mode 100644 index 000000000..be35186e1 --- /dev/null +++ b/test/sun/nio/cs/EUCJPUnderflowDecodeTest.java @@ -0,0 +1,104 @@ +/* + * Copyright 2008 Sun Microsystems, Inc. All Rights Reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, + * CA 95054 USA or visit www.sun.com if you need additional information or + * have any questions. + */ + +/* @test + @bug 4867457 + @summary Check for correct byte buffer underflow handling in EUC-JP + */ + +import java.io.*; +import java.nio.*; +import java.nio.charset.*; + +public class EUCJPUnderflowDecodeTest { + public static void main(String[] args) throws Exception{ + + ByteBuffer bb = ByteBuffer.allocateDirect(255); + CharBuffer cc = CharBuffer.allocate(255); + + + // Test both regular EUC-JP and Linux variant + + String[] charsetNames = { "EUC_JP", "EUC-JP-LINUX" }; + + for (int i = 0 ; i < charsetNames.length; i++) { + Charset cs = Charset.forName(charsetNames[i]); + CharsetDecoder decoder = cs.newDecoder(); + bb.clear(); + cc.clear(); + + // Fakes a partial 3 byte EUC_JP (JIS-X-0212 range) + // encoded character/byte sequence + bb.put((byte)0x8f); + bb.put((byte)0xa2); + bb.flip(); + // Now decode with endOfInput method param set to + // indicate to decoder that there is more encoded + // data to follow in a subsequent invocation + + CoderResult result = decoder.decode(bb, cc, false); + + // java.nio.charset.CharsetDecoder spec specifies + // that the coder ought to return CoderResult.UNDERFLOW + // when insufficient bytes have been supplied to complete + // the decoding operation + + if (result != CoderResult.UNDERFLOW) { + throw new Exception("test failed - UNDERFLOW not returned"); + } + + // Repeat the test with the lead byte (minus its pursuing + // trail byte) for the EUC-JP 2 byte (JIS208) range + decoder.reset(); + bb.clear(); + cc.clear(); + bb.put((byte)0xa1); + bb.flip(); + result = decoder.decode(bb, cc, false); + if (result != CoderResult.UNDERFLOW) { + throw new Exception("test failed"); + } + + // finally ensure that a valid JIS208 range EUC-JP + // 2 byte value is correctly decoded when it is presented + // at the trailing bounds of a ByteBuffer in the case where + // charset decoder expects (endOfInput ==false) more + //input to follow + + decoder.reset(); + bb.clear(); + cc.clear(); + bb.put((byte)0xa1); + bb.put((byte)0xc0); + bb.flip(); + + result = decoder.decode(bb, cc, false); + + cc.flip(); + + if (result != CoderResult.UNDERFLOW && cc.get() != '\uFF3c') { + throw new Exception("test failed to decode EUC-JP (0xA1C0)"); + } + } + } +} diff --git a/test/sun/nio/cs/EucJpLinux0212.java b/test/sun/nio/cs/EucJpLinux0212.java new file mode 100644 index 000000000..d28977106 --- /dev/null +++ b/test/sun/nio/cs/EucJpLinux0212.java @@ -0,0 +1,79 @@ +/* + * Copyright 2008 Sun Microsystems, Inc. All Rights Reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, + * CA 95054 USA or visit www.sun.com if you need additional information or + * have any questions. + */ + +/* + * @test + * @bug 6350021 + * @summary Consistency checks when input buffer contains JISX0212 characters + * @author Martin Buchholz + */ + +import java.io.*; +import java.util.*; +import java.nio.*; +import java.nio.charset.*; + +public class EucJpLinux0212 { + private static void equal(CharBuffer b1, CharBuffer b2) { + equal(b1.position(), b2.position()); + equal(b1.limit(), b2.limit()); + System.out.printf("positions=%d %d%n", b1.position(), b2.position()); + System.out.printf("limits=%d %d%n", b1.limit(), b2.limit()); + for (int i = b1.position(); i < b1.limit(); i++) + equal((int)b1.get(i), (int)b2.get(i)); + } + + private static void realMain(String[] args) throws Throwable { + List bbs = Arrays.asList( + ByteBuffer.allocate(10), + ByteBuffer.allocateDirect(10)); + List cbs = new ArrayList(); + + for (ByteBuffer bb : bbs) { + bb.put(new byte[]{ (byte)0x8f, 0x01, 0x02, + (byte)0xa1, (byte)0xc0, + 0x02, 0x03}); + bb.flip(); + CharsetDecoder decoder = Charset.forName("EUC_JP_LINUX").newDecoder(); + decoder.onUnmappableCharacter(CodingErrorAction.REPLACE); + CharBuffer cb = decoder.decode(bb); + cbs.add(cb); + } + equal(cbs.get(0), cbs.get(1)); + } + + //--------------------- Infrastructure --------------------------- + static volatile int passed = 0, failed = 0; + static void pass() {passed++;} + static void fail() {failed++; Thread.dumpStack();} + static void fail(String msg) {System.out.println(msg); fail();} + static void unexpected(Throwable t) {failed++; t.printStackTrace();} + static void check(boolean cond) {if (cond) pass(); else fail();} + static void equal(Object x, Object y) { + if (x == null ? y == null : x.equals(y)) pass(); + else fail(x + " not equal to " + y);} + public static void main(String[] args) throws Throwable { + try {realMain(args);} catch (Throwable t) {unexpected(t);} + System.out.printf("%nPassed = %d, failed = %d%n%n", passed, failed); + if (failed > 0) throw new AssertionError("Some tests failed");} +} diff --git a/test/sun/nio/cs/EucJpLinuxDecoderRecoveryTest.java b/test/sun/nio/cs/EucJpLinuxDecoderRecoveryTest.java new file mode 100644 index 000000000..4ca030af7 --- /dev/null +++ b/test/sun/nio/cs/EucJpLinuxDecoderRecoveryTest.java @@ -0,0 +1,70 @@ +/* + * Copyright 2008 Sun Microsystems, Inc. All Rights Reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, + * CA 95054 USA or visit www.sun.com if you need additional information or + * have any questions. + */ + +/* @test + @bug 5016049 + @summary ensure euc-jp-linux charset decoder recovery for unmappable input + */ + +import java.io.*; + +public class EucJpLinuxDecoderRecoveryTest { + public static void main(String[] args) throws Exception { + byte[] encoded = { + // EUC_JP_LINUX mappable JIS X 0208 range + (byte)0xa6, (byte)0xc5, + // EUC_JP_LINUX Unmappable (JIS X 0212 range) + (byte)0x8f, (byte)0xa2, (byte)0xb7, + // EUC_JP_LINUX mappable JIS X 0208 range + (byte)0xa6, (byte)0xc7 }; + + char[] decodedChars = new char[3]; + char[] expectedChars = + { + '\u03B5', // mapped + '\ufffd', // unmapped + '\u03B7' // mapped + }; + + ByteArrayInputStream bais = new ByteArrayInputStream(encoded); + InputStreamReader isr = new InputStreamReader(bais, "EUC_JP_LINUX"); + int n = 0; // number of chars decoded + + try { + n = isr.read(decodedChars); + } catch (Exception ex) { + throw new Error("euc-jp-linux decoding broken"); + } + + // check number of decoded chars is what is expected + if (n != expectedChars.length) + throw new Error("Unexpected number of chars decoded"); + + // Compare actual decoded with expected + + for (int i = 0; i < n; i++) { + if (expectedChars[i] != decodedChars[i]) + throw new Error("euc-jp-linux decoding incorrect"); + } + } +} diff --git a/test/sun/nio/cs/EuroConverter.java b/test/sun/nio/cs/EuroConverter.java new file mode 100644 index 000000000..684652118 --- /dev/null +++ b/test/sun/nio/cs/EuroConverter.java @@ -0,0 +1,158 @@ +/* + * Copyright 2008 Sun Microsystems, Inc. All Rights Reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, + * CA 95054 USA or visit www.sun.com if you need additional information or + * have any questions. + */ + +/** + * @test + * @bug 4114080 + * @summary Make sure the euro converters, which are derived from + * existing converters, only differ from their parents at the expected + * code point. + */ + +import java.text.*; +import java.util.*; +import java.io.*; + +/* Author: Alan Liu + * 7/14/98 + */ +public class EuroConverter { + public static void main(String args[]) throws Exception { + boolean pass = true; + char[] map = new char[256]; // map for the encoding + byte[] bytes = new byte[1]; // scratch + char[] chars = new char[1]; // scratch + for (int i=0; i \\u" + Integer.toHexString(parentValue) + + " -> " + parentRoundTrip); + } + } + map[(j+0x100)&0xFF] = parentValue; + } + + // Modify map with new expected values. Each pair has code point, parent value, euro value. + // Terminated by null. + while (DATA[i] != null) { + int codePoint = Integer.valueOf(DATA[i++], 16).intValue(); + char expectedParentValue = DATA[i++].charAt(0); + char expectedEuroValue = DATA[i++].charAt(0); + // This is a sanity check -- we aren't really testing the parent + // encoder here. + if (map[codePoint] != expectedParentValue) { + pass = false; + System.out.println("Error: Encoder " + parentEnc + + " " + Integer.toHexString(codePoint) + " -> \\u" + + Integer.toHexString(map[codePoint]) + ", expected \\u" + + Integer.toHexString(expectedParentValue)); + } + // Fill in new expected value + map[codePoint] = expectedEuroValue; + } + ++i; // Skip over null at end of set + + // Now verify the euro encoder + currentEnc = euroEnc; + for (int j=-128; j<128; ++j) { + bytes[0] = (byte)j; + char euroValue = new String(bytes, euroEnc).charAt(0); + chars[0] = euroValue; + // NOTE: 0x15 doesn't round trip on the EBCDIC code pages, + // so we don't check that code point in the sanity check. + if (j != 0x0015) { + int euroRoundTrip = new String(chars).getBytes(euroEnc)[0]; + if (euroRoundTrip != j) { + pass = false; + System.out.println("Error: Encoder " + euroEnc + + " fails round-trip at " + j); + } + } + // Compare against the map + if (euroValue != map[(j+0x100)&0xFF]) { + pass = false; + System.out.println("Error: Encoder " + euroEnc + + " " + Integer.toHexString((j+0x100)&0xFF) + " -> \\u" + + Integer.toHexString(euroValue) + ", expected \\u" + + Integer.toHexString(map[(j+0x100)&0xFF])); + } + } + } catch (UnsupportedEncodingException e) { + System.out.println("Unsupported encoding " + currentEnc); + pass = false; + while (i < DATA.length && DATA[i] != null) ++i; + ++i; // Skip over null + } + } + if (!pass) { + throw new RuntimeException("Bug 4114080 - Euro encoder test failed"); + } + } + static String[] DATA = { + // New converter, parent converter, [ code point that changed, parent code point value, + // euro code point value ], null + // Any number of changed code points may be specified, including zero. + "ISO8859_15_FDIS", "ISO8859_1", + "A4", "\u00A4", "\u20AC", + "A6", "\u00A6", "\u0160", + "A8", "\u00A8", "\u0161", + "B4", "\u00B4", "\u017D", + "B8", "\u00B8", "\u017E", + "BC", "\u00BC", "\u0152", + "BD", "\u00BD", "\u0153", + "BE", "\u00BE", "\u0178", + null, + // 923 is IBM's name for ISO 8859-15; make sure they're identical + "Cp923", "ISO8859_15_FDIS", null, + "Cp858", "Cp850", "D5", "\u0131", "\u20AC", null, + "Cp1140", "Cp037", "9F", "\u00A4", "\u20AC", null, + "Cp1141", "Cp273", "9F", "\u00A4", "\u20AC", null, + "Cp1142", "Cp277", "5A", "\u00A4", "\u20AC", null, + "Cp1143", "Cp278", "5A", "\u00A4", "\u20AC", null, + "Cp1144", "Cp280", "9F", "\u00A4", "\u20AC", null, + "Cp1145", "Cp284", "9F", "\u00A4", "\u20AC", null, + "Cp1146", "Cp285", "9F", "\u00A4", "\u20AC", null, + "Cp1147", "Cp297", "9F", "\u00A4", "\u20AC", null, + "Cp1148", "Cp500", "9F", "\u00A4", "\u20AC", null, + "Cp1149", "Cp871", "9F", "\u00A4", "\u20AC", null, + }; +} diff --git a/test/sun/nio/cs/FindASCIICodingBugs.java b/test/sun/nio/cs/FindASCIICodingBugs.java new file mode 100644 index 000000000..bc6baaeb5 --- /dev/null +++ b/test/sun/nio/cs/FindASCIICodingBugs.java @@ -0,0 +1,90 @@ +/* + * Copyright 2008 Sun Microsystems, Inc. All Rights Reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, + * CA 95054 USA or visit www.sun.com if you need additional information or + * have any questions. + */ + +/* @test + * @bug 6196991 + * @summary Roundtrip Encoding/Decoding of just one ASCII char + * @author Martin Buchholz + */ + +import java.util.*; +import java.nio.*; +import java.nio.charset.*; + +public class FindASCIICodingBugs { + private static int failures = 0; + + private static void check(boolean condition) { + if (! condition) { + new Error("test failed").printStackTrace(); + failures++; + } + } + + private static boolean equals(byte[] ba, ByteBuffer bb) { + if (ba.length != bb.limit()) + return false; + for (int i = 0; i < ba.length; i++) + if (ba[i] != bb.get(i)) + return false; + return true; + } + + public static void main(String[] args) throws Exception { + for (Map.Entry e + : Charset.availableCharsets().entrySet()) { + String csn = e.getKey(); + Charset cs = e.getValue(); + + // Delete the following lines when these charsets are fixed! + if (csn.equals("x-JIS0208")) continue; // MalformedInput + if (csn.equals("JIS_X0212-1990")) continue; // MalformedInput + + if (! cs.canEncode()) continue; + + CharsetEncoder enc = cs.newEncoder(); + CharsetDecoder dec = cs.newDecoder(); + + if (! enc.canEncode('A')) continue; + + System.out.println(csn); + + try { + byte[] bytes1 = "A".getBytes(csn); + ByteBuffer bb = enc.encode(CharBuffer.wrap(new char[]{'A'})); + + check(equals(bytes1, bb)); + check(new String(bytes1, csn).equals("A")); + + CharBuffer cb = dec.decode(bb); + check(cb.toString().equals("A")); + } catch (Throwable t) { + t.printStackTrace(); + failures++; + } + } + + if (failures > 0) + throw new Exception(failures + "tests failed"); + } +} diff --git a/test/sun/nio/cs/FindASCIIRangeCodingBugs.java b/test/sun/nio/cs/FindASCIIRangeCodingBugs.java new file mode 100644 index 000000000..de466e8f8 --- /dev/null +++ b/test/sun/nio/cs/FindASCIIRangeCodingBugs.java @@ -0,0 +1,78 @@ +/* + * Copyright 2008 Sun Microsystems, Inc. All Rights Reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, + * CA 95054 USA or visit www.sun.com if you need additional information or + * have any questions. + */ + +/* @test + * @bug 6378295 + * @summary Roundtrip Encoding/Decoding of ASCII chars from 0x00-0x7f + */ + +import java.util.*; +import java.nio.*; +import java.nio.charset.*; + +public class FindASCIIRangeCodingBugs { + private static int failures = 0; + private static byte[] asciiBytes = new byte[0x80]; + private static char[] asciiChars = new char[0x80]; + private static String asciiString; + + private static void check(String csn) throws Exception { + System.out.println(csn); + if (! Arrays.equals(asciiString.getBytes(csn), asciiBytes)) { + System.out.printf("%s -> bytes%n", csn); + failures++; + } + if (! new String(asciiBytes, csn).equals(asciiString)) { + System.out.printf("%s -> chars%n", csn); + failures++; + } + } + + public static void main(String[] args) throws Exception { + for (int i = 0; i < 0x80; i++) { + asciiBytes[i] = (byte) i; + asciiChars[i] = (char) i; + } + asciiString = new String(asciiChars); + Charset ascii = Charset.forName("ASCII"); + for (Map.Entry e + : Charset.availableCharsets().entrySet()) { + String csn = e.getKey(); + Charset cs = e.getValue(); + if (!cs.contains(ascii) || + csn.matches(".*2022.*") || //iso2022 family + csn.matches("x-windows-5022[0|1]") || //windows 2022jp + csn.matches(".*UTF-[16|32].*")) //multi-bytes + continue; + if (! cs.canEncode()) continue; + try { + check(csn); + } catch (Throwable t) { + t.printStackTrace(); + failures++; + } + } + if (failures > 0) + throw new Exception(failures + "tests failed"); + } +} diff --git a/test/sun/nio/cs/FindCanEncodeBugs.java b/test/sun/nio/cs/FindCanEncodeBugs.java new file mode 100644 index 000000000..164d531dc --- /dev/null +++ b/test/sun/nio/cs/FindCanEncodeBugs.java @@ -0,0 +1,93 @@ +/* + * Copyright 2008 Sun Microsystems, Inc. All Rights Reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, + * CA 95054 USA or visit www.sun.com if you need additional information or + * have any questions. + */ + +/* @test + @bug 5066863 5066867 5066874 5066879 5066884 5066887 + @summary canEncode() false iff encode() throws CharacterCodingException + @run main/timeout=1200 FindCanEncodeBugs + @author Martin Buchholz + */ + +import java.util.*; +import java.nio.charset.*; +import java.nio.*; + +public class FindCanEncodeBugs { + static boolean encodable1(CharsetEncoder enc, char c) { + enc.reset(); + return enc.canEncode(c); + } + + static boolean encodable2(CharsetEncoder enc, char c) { + enc.reset(); + try { enc.encode(CharBuffer.wrap(new char[]{c})); return true; } + catch (CharacterCodingException e) { return false; } + } + + public static void main(String[] args) throws Exception { + int failures = 0; + + for (Map.Entry e + : Charset.availableCharsets().entrySet()) { + String csn = e.getKey(); + Charset cs = e.getValue(); + + if (! cs.canEncode() || + csn.matches("x-COMPOUND_TEXT") || + csn.matches("x-ISO-2022-CN-CNS") || // ISO2022_CN_CNS supports less + csn.matches("(x-)?IBM(970).*")) // Broken as of 2004-07 + continue; + + //System.out.println(csn); + + CharsetEncoder enc = cs.newEncoder(); + + for (int i = Character.MIN_VALUE; i <= Character.MAX_VALUE; i++) { + boolean encodable1 = encodable1(enc, (char)i); + boolean encodable2 = encodable2(enc, (char)i); + if (encodable1 != encodable2) { + int start = i; + int end = i; + for (int j = i; + j <= '\uffff' && + encodable1(enc, (char)j) == encodable1 && + encodable2(enc, (char)j) == encodable2; + j++) + end = j; + System.out.printf("charset=%-18s canEncode=%-5b ", + csn, encodable1); + if (start == end) + System.out.printf("\'\\u%04x\'%n", start); + else + System.out.printf("\'\\u%04x\' - \'\\u%04x\'%n", + start, end); + i = end; + failures++; + } + } + } + + if (failures > 0) + throw new Exception(failures + " failures"); + } +} diff --git a/test/sun/nio/cs/FindDecoderBugs.java b/test/sun/nio/cs/FindDecoderBugs.java new file mode 100644 index 000000000..839908fc8 --- /dev/null +++ b/test/sun/nio/cs/FindDecoderBugs.java @@ -0,0 +1,442 @@ +/* + * Copyright 2008 Sun Microsystems, Inc. All Rights Reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, + * CA 95054 USA or visit www.sun.com if you need additional information or + * have any questions. + */ + +/* + * @test + * @bug 6380723 + * @summary Decode many byte sequences in many ways + * @run main/timeout=1800 FindDecoderBugs + * @author Martin Buchholz + */ + +import java.util.*; +import java.util.regex.*; +import java.nio.*; +import java.nio.charset.*; + +public class FindDecoderBugs { + + static boolean isBroken(String csn) { + if (csn.equals("x-COMPOUND_TEXT")) return true; + return false; + } + + static > List sort(Collection c) { + List list = new ArrayList(c); + Collections.sort(list); + return list; + } + + static class TooManyFailures extends RuntimeException { + private static final long serialVersionUID = 0L; + } + + static String string(byte[] a) { + final StringBuilder sb = new StringBuilder(); + for (byte b : a) { + if (sb.length() != 0) sb.append(' '); + sb.append(String.format("%02x", b & 0xff)); + } + return sb.toString(); + } + + static String string(char[] a) { + final StringBuilder sb = new StringBuilder(); + for (char c : a) { + if (sb.length() != 0) sb.append(' '); + sb.append(String.format("\\u%04x", (int) c)); + } + return sb.toString(); + } + + static class Reporter { + // Some machinery to make sure only a small number of errors + // that are "too similar" are reported. + static class Counts extends HashMap { + private static final long serialVersionUID = -1; + long inc(String signature) { + Long count = get(signature); + if (count == null) count = 0L; + put(signature, count+1); + return count+1; + } + } + + final Counts failureCounts = new Counts(); + final static long maxFailures = 2; + + final static Pattern hideBytes = Pattern.compile("\"[0-9a-f ]+\""); + final static Pattern hideChars = Pattern.compile("\\\\u[0-9a-f]{4}"); + + boolean bug(String format, Object... args) { + String signature = String.format(format, args); + signature = hideBytes.matcher(signature).replaceAll("\"??\""); + signature = hideChars.matcher(signature).replaceAll("\\u????"); + failed++; + if (failureCounts.inc(signature) <= maxFailures) { + System.out.printf(format, args); + System.out.println(); + return true; + } + return false; + } + + void summarize() { + for (String key : sort(failureCounts.keySet())) + System.out.printf("-----%n%s%nfailures=%d%n", + key, failureCounts.get(key)); + } + } + + static final Reporter reporter = new Reporter(); + + static class Result { + final int limit; + final int ipos; + final boolean direct; + final byte[] ia; + final char[] oa; + final CoderResult cr; + + Result(ByteBuffer ib, CharBuffer ob, CoderResult cr) { + ipos = ib.position(); + ia = toArray(ib); + oa = toArray(ob); + direct = ib.isDirect(); + limit = ob.limit(); + this.cr = cr; + } + + static byte[] toArray(ByteBuffer b) { + int pos = b.position(); + byte[] a = new byte[b.limit()]; + b.position(0); + b.get(a); + b.position(pos); + return a; + } + + static char[] toArray(CharBuffer b) { + char[] a = new char[b.position()]; + b.position(0); + b.get(a); + return a; + } + + static boolean eq(Result x, Result y) { + return x == y || + (x != null && y != null && + (Arrays.equals(x.oa, y.oa) && + x.ipos == y.ipos && + x.cr == y.cr)); + } + + public String toString() { + return String.format("\"%s\"[%d/%d] => %s \"%s\"[%d/%d]%s", + string(ia), ipos, ia.length, + cr, string(oa), oa.length, limit, + (direct ? " (direct)" : "")); + } + } + + // legend: r=regular d=direct In=Input Ou=Output + static final int maxBufSize = 20; + static final ByteBuffer[] ribs = new ByteBuffer[maxBufSize]; + static final ByteBuffer[] dibs = new ByteBuffer[maxBufSize]; + + static final CharBuffer[] robs = new CharBuffer[maxBufSize]; + static final CharBuffer[] dobs = new CharBuffer[maxBufSize]; + static { + for (int i = 0; i < maxBufSize; i++) { + ribs[i] = ByteBuffer.allocate(i); + dibs[i] = ByteBuffer.allocateDirect(i); + robs[i] = CharBuffer.allocate(i); + dobs[i] = ByteBuffer.allocateDirect(i*2).asCharBuffer(); + } + } + + static class CharsetTester { + private final Charset cs; + private static final long maxFailures = 5; + private long failures = 0; + // private static final long maxCharsetFailures = Long.MAX_VALUE; + private static final long maxCharsetFailures = 10000L; + private final long failed0 = failed; + + CharsetTester(Charset cs) { + this.cs = cs; + } + + static boolean bug(String format, Object... args) { + return reporter.bug(format, args); + } + + Result recode(ByteBuffer ib, CharBuffer ob) { + try { + char canary = '\u4242'; + ib.clear(); // Prepare to read + ob.clear(); // Prepare to write + for (int i = 0; i < ob.limit(); i++) + ob.put(i, canary); + CharsetDecoder coder = cs.newDecoder(); + CoderResult cr = coder.decode(ib, ob, false); + equal(ib.limit(), ib.capacity()); + equal(ob.limit(), ob.capacity()); + Result r = new Result(ib, ob, cr); + if (cr.isError()) + check(cr.length() > 0); + if (cr.isOverflow() && ob.remaining() > 10) + bug("OVERFLOW, but there's lots of room: %s %s", + cs, r); +// if (cr.isOverflow() && ib.remaining() == 0) +// bug("OVERFLOW, yet remaining() == 0: %s %s", +// cs, r); + if (cr.isError() && ib.remaining() < cr.length()) + bug("remaining() < CoderResult.length(): %s %s", + cs, r); +// if (ib.position() == 0 && ob.position() > 0) +// reporter. bug("output only if input consumed: %s %s", +// cs, r); + // Should we warn if cr.isUnmappable() ?? + CoderResult cr2 = coder.decode(ib, ob, false); + if (ib.position() != r.ipos || + ob.position() != r.oa.length || + cr != cr2) + bug("Coding operation not idempotent: %s%n %s%n %s", + cs, r, new Result(ib, ob, cr2)); + if (ob.position() < ob.limit() && + ob.get(ob.position()) != canary) + bug("Buffer overrun: %s %s %s", + cs, r, ob.get(ob.position())); + return r; + } catch (Throwable t) { + if (bug("Unexpected exception: %s %s %s", + cs, t.getClass().getSimpleName(), + new Result(ib, ob, null))) + t.printStackTrace(); + return null; + } + } + + Result recode2(byte[] ia, int n) { + int len = ia.length; + ByteBuffer rib = ByteBuffer.wrap(ia); + ByteBuffer dib = dibs[len]; + dib.clear(); dib.put(ia); dib.clear(); + CharBuffer rob = robs[n]; + CharBuffer dob = dobs[n]; + equal(rob.limit(), n); + equal(dob.limit(), n); + check(dib.isDirect()); + check(dob.isDirect()); + Result r1 = recode(rib, rob); + Result r2 = recode(dib, dob); + if (r1 != null && r2 != null && ! Result.eq(r1, r2)) + bug("Results differ for direct buffers: %s%n %s%n %s", + cs, r1, r2); + return r1; + } + + Result test(byte[] ia) { + if (failed - failed0 >= maxCharsetFailures) + throw new TooManyFailures(); + + Result roomy = recode2(ia, maxBufSize - 1); + if (roomy == null) return roomy; + int olen = roomy.oa.length; + if (olen > 0) { + if (roomy.ipos == roomy.ia.length) { + Result perfectFit = recode2(ia, olen); + if (! Result.eq(roomy, perfectFit)) + bug("Results differ: %s%n %s%n %s", + cs, roomy, perfectFit); + } + for (int i = 0; i < olen; i++) { + Result claustrophobic = recode2(ia, i); + if (claustrophobic == null) return roomy; + if (roomy.cr.isUnderflow() && + ! claustrophobic.cr.isOverflow()) + bug("Expected OVERFLOW: %s%n %s%n %s", + cs, roomy, claustrophobic); + } + } + return roomy; + } + + void testExhaustively(byte[] prefix, int n) { + int len = prefix.length; + byte[] ia = Arrays.copyOf(prefix, len + 1); + for (int i = 0; i < 0x100; i++) { + ia[len] = (byte) i; + if (n == 1) + test(ia); + else + testExhaustively(ia, n - 1); + } + } + + void testRandomly(byte[] prefix, int n) { + int len = prefix.length; + byte[] ia = Arrays.copyOf(prefix, len + n); + for (int i = 0; i < 10000; i++) { + for (int j = 0; j < n; j++) + ia[len + j] = randomByte(); + test(ia); + } + } + + void testPrefix(byte[] prefix) { + if (prefix.length > 0) + System.out.printf("Testing prefix %s%n", string(prefix)); + + test(prefix); + + testExhaustively(prefix, 1); + testExhaustively(prefix, 2); + // Can you spare a week of CPU time? + // testExhaustively(cs, tester, prefix, 3); + + testRandomly(prefix, 3); + testRandomly(prefix, 4); + } + } + + private final static Random rnd = new Random(); + private static byte randomByte() { + return (byte) rnd.nextInt(0x100); + } + private static byte[] randomBytes(int len) { + byte[] a = new byte[len]; + for (int i = 0; i < len; i++) + a[i] = randomByte(); + return a; + } + + private static final byte SS2 = (byte) 0x8e; + private static final byte SS3 = (byte) 0x8f; + private static final byte ESC = (byte) 0x1b; + private static final byte SO = (byte) 0x0e; + private static final byte SI = (byte) 0x0f; + + private final static byte[][] stateChangers = { + {SS2}, {SS3}, {SO}, {SI} + }; + + private final static byte[][]escapeSequences = { + {ESC, '(', 'B'}, + {ESC, '(', 'I'}, + {ESC, '(', 'J'}, + {ESC, '$', '@'}, + {ESC, '$', 'A'}, + {ESC, '$', ')', 'A'}, + {ESC, '$', ')', 'C'}, + {ESC, '$', ')', 'G'}, + {ESC, '$', '*', 'H'}, + {ESC, '$', '+', 'I'}, + {ESC, '$', 'B'}, + {ESC, 'N'}, + {ESC, 'O'}, + {ESC, '$', '(', 'D'}, + }; + + private static boolean isStateChanger(Charset cs, byte[] ia) { + Result r = new CharsetTester(cs).recode2(ia, 9); + return r == null ? false : + (r.cr.isUnderflow() && + r.ipos == ia.length && + r.oa.length == 0); + } + + private final static byte[][] incompletePrefixes = { + {ESC}, + {ESC, '('}, + {ESC, '$'}, + {ESC, '$', '(',}, + }; + + private static boolean isIncompletePrefix(Charset cs, byte[] ia) { + Result r = new CharsetTester(cs).recode2(ia, 9); + return r == null ? false : + (r.cr.isUnderflow() && + r.ipos == 0 && + r.oa.length == 0); + } + + private static void testCharset(Charset cs) throws Throwable { + final String csn = cs.name(); + + if (isBroken(csn)) { + System.out.printf("Skipping possibly broken charset %s%n", csn); + return; + } + System.out.println(csn); + CharsetTester tester = new CharsetTester(cs); + + tester.testPrefix(new byte[0]); + + if (! csn.matches("(?:x-)?(?:UTF|JIS(?:_X)?0).*")) { + for (byte[] prefix : stateChangers) + if (isStateChanger(cs, prefix)) + tester.testPrefix(prefix); + + for (byte[] prefix : incompletePrefixes) + if (isIncompletePrefix(cs, prefix)) + tester.testPrefix(prefix); + + if (isIncompletePrefix(cs, new byte[] {ESC})) + for (byte[] prefix : escapeSequences) + if (isStateChanger(cs, prefix)) + tester.testPrefix(prefix); + } + } + + private static void realMain(String[] args) { + for (Charset cs : sort(Charset.availableCharsets().values())) { + try { + testCharset(cs); + } catch (TooManyFailures e) { + System.out.printf("Too many failures for %s%n", cs); + } catch (Throwable t) { + unexpected(t); + } + } + reporter.summarize(); + } + + //--------------------- Infrastructure --------------------------- + static volatile long passed = 0, failed = 0; + static void pass() {passed++;} + static void fail() {failed++; Thread.dumpStack();} + static void fail(String format, Object... args) { + System.out.println(String.format(format, args)); failed++;} + static void fail(String msg) {System.out.println(msg); fail();} + static void unexpected(Throwable t) {failed++; t.printStackTrace();} + static void check(boolean cond) {if (cond) pass(); else fail();} + static void equal(Object x, Object y) { + if (x == null ? y == null : x.equals(y)) pass(); + else fail(x + " not equal to " + y);} + public static void main(String[] args) throws Throwable { + try {realMain(args);} catch (Throwable t) {unexpected(t);} + System.out.printf("%nPassed = %d, failed = %d%n%n", passed, failed); + if (failed > 0) throw new AssertionError("Some tests failed");} +} diff --git a/test/sun/nio/cs/FindEncoderBugs.java b/test/sun/nio/cs/FindEncoderBugs.java new file mode 100644 index 000000000..0f4c406d4 --- /dev/null +++ b/test/sun/nio/cs/FindEncoderBugs.java @@ -0,0 +1,529 @@ +/* + * Copyright 2008 Sun Microsystems, Inc. All Rights Reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, + * CA 95054 USA or visit www.sun.com if you need additional information or + * have any questions. + */ + +/* + * @test + * @bug 6233345 6381699 6381702 6381705 6381706 + * @summary Encode many char sequences in many ways + * @run main/timeout=1200 FindEncoderBugs + * @author Martin Buchholz + */ + +import java.util.*; +import java.util.regex.*; +import java.nio.*; +import java.nio.charset.*; + +public class FindEncoderBugs { + + static boolean isBroken(String csn) { + if (csn.equals("x-COMPOUND_TEXT")) return true; + if (csn.equals("x-IBM834")) return true; // stateful korean + if (csn.equals("x-IBM933")) return true; // stateful korean + if (csn.equals("x-IBM970")) return true; // stateful korean + if (csn.equals("x-IBM949")) return true; // stateful korean + if (csn.equals("x-IBM949C")) return true; // stateful korean + return false; + } + + static > List sort(Collection c) { + List list = new ArrayList(c); + Collections.sort(list); + return list; + } + + static class TooManyFailures extends RuntimeException { + private static final long serialVersionUID = 0L; + } + + static String string(byte[] a) { + final StringBuilder sb = new StringBuilder(); + for (byte b : a) { + if (sb.length() != 0) sb.append(' '); + sb.append(String.format("%02x", b & 0xff)); + } + return sb.toString(); + } + + static String string(char[] a) { + final StringBuilder sb = new StringBuilder(); + for (char c : a) { + if (sb.length() != 0) sb.append(' '); + sb.append(String.format("\\u%04x", (int) c)); + } + return sb.toString(); + } + + static class Reporter { + // Some machinery to make sure only a small number of errors + // that are "too similar" are reported. + static class Counts extends HashMap { + private static final long serialVersionUID = -1; + long inc(String signature) { + Long count = get(signature); + if (count == null) count = 0L; + put(signature, count+1); + return count+1; + } + } + + final Counts failureCounts = new Counts(); + final static long maxFailures = 2; + + final static Pattern hideBytes = Pattern.compile("\"[0-9a-f ]+\""); + final static Pattern hideChars = Pattern.compile("\\\\u[0-9a-f]{4}"); + + boolean bug(String format, Object... args) { + String signature = String.format(format, args); + // signature = hideBytes.matcher(signature).replaceAll("\"??\""); + // signature = hideChars.matcher(signature).replaceAll("\\u????"); + failed++; + if (failureCounts.inc(signature) <= maxFailures) { + System.out.printf(format, args); + System.out.println(); + return true; + } + return false; + } + + void summarize() { + for (String key : sort(failureCounts.keySet())) + System.out.printf("-----%n%s%nfailures=%d%n", + key, failureCounts.get(key)); + } + } + + static final Reporter reporter = new Reporter(); + + static class Result { + final int limit; + final int ipos; + final boolean direct; + final char[] ia; + final byte[] oa; + final CoderResult cr; + + private static byte[] toByteArray(ByteBuffer bb) { + byte[] bytes = new byte[bb.position()]; + for (int i = 0; i < bytes.length; i++) + bytes[i] = bb.get(i); + return bytes; + } + + Result(CharBuffer ib, ByteBuffer ob, CoderResult cr) { + ipos = ib.position(); + ia = toArray(ib); + oa = toArray(ob); + direct = ib.isDirect(); + limit = ob.limit(); + this.cr = cr; + } + + static char[] toArray(CharBuffer b) { + int pos = b.position(); + char[] a = new char[b.limit()]; + b.position(0); + b.get(a); + b.position(pos); + return a; + } + + static byte[] toArray(ByteBuffer b) { + byte[] a = new byte[b.position()]; + b.position(0); + b.get(a); + return a; + } + + static boolean eq(Result x, Result y) { + return x == y || + (x != null && y != null && + (Arrays.equals(x.oa, y.oa) && + x.ipos == y.ipos && + x.cr == y.cr)); + } + + public String toString() { + return String.format("\"%s\"[%d/%d] => %s \"%s\"[%d/%d]%s", + string(ia), ipos, ia.length, + cr, string(oa), oa.length, limit, + (direct ? " (direct)" : "")); + } + } + + static class CharsetTester { + private final Charset cs; + private final boolean hasBom; + private static final int maxFailures = 5; + private int failures = 0; + // private static final long maxCharsetFailures = Long.MAX_VALUE; + private static final long maxCharsetFailures = 10000L; + private final long failed0 = failed; + + // legend: r=regular d=direct In=Input Ou=Output + static final int maxBufSize = 20; + static final CharBuffer[] rInBuffers = new CharBuffer[maxBufSize]; + static final CharBuffer[] dInBuffers = new CharBuffer[maxBufSize]; + + static final ByteBuffer[] rOuBuffers = new ByteBuffer[maxBufSize]; + static final ByteBuffer[] dOuBuffers = new ByteBuffer[maxBufSize]; + static { + for (int i = 0; i < maxBufSize; i++) { + rInBuffers[i] = CharBuffer.allocate(i); + dInBuffers[i] = ByteBuffer.allocateDirect(i*2).asCharBuffer(); + rOuBuffers[i] = ByteBuffer.allocate(i); + dOuBuffers[i] = ByteBuffer.allocateDirect(i); + } + } + + CharsetTester(Charset cs) { + this.cs = cs; + this.hasBom = + cs.name().matches(".*BOM.*") || + cs.name().equals("UTF-16"); + } + + static boolean bug(String format, Object... args) { + return reporter.bug(format, args); + } + + static boolean hasBom(byte[] a) { + switch (a.length) { + case 2: case 4: + int sum = 0; + for (byte x : a) + sum += x; + return sum == (byte) 0xfe + (byte) 0xff; + default: return false; + } + } + + void testSurrogates() { + int failures = 0; + for (int i = 0; i < 10; i++) { + Result r = test(new char[] { randomHighSurrogate() }); + if (r == null) break; + if (! (r.cr.isUnderflow() && + r.ipos == 0)) + bug("Lone high surrogate not UNDERFLOW: %s %s", + cs, r); + } + for (int i = 0; i < 10; i++) { + Result r = test(new char[] { randomLowSurrogate() }); + if (r == null) break; + if (! (r.cr.isMalformed() && r.cr.length() == 1)) + bug("Lone low surrogate not MALFORMED[1]: %s %s", + cs, r); + } + char[] chars = new char[2]; + for (int i = 0; i < 10; i++) { + chars[0] = randomLowSurrogate(); // Always illegal + chars[1] = randomChar(); + Result r = test(chars); + if (r == null) break; + if (! (r.cr.isMalformed() && + r.cr.length() == 1 && + (r.ipos == 0 || (hasBom && hasBom(r.oa))))) { + if (failures++ > 5) return; + bug("Unpaired low surrogate not MALFORMED[1]: %s %s", + cs, r); + } + } + for (int i = 0; i < 10; i++) { + chars[0] = randomHighSurrogate(); + do { + chars[1] = randomChar(); + } while (Character.isLowSurrogate(chars[1])); + Result r = test(chars); + if (r == null) break; + if (! (r.cr.isMalformed() && + r.cr.length() == 1 && + (r.ipos == 0 || (hasBom && hasBom(r.oa))))) { + if (failures++ > 5) return; + bug("Unpaired high surrogate not MALFORMED[1]: %s %s", + cs, r); + } + } + for (int i = 0; i < 1000; i++) { + chars[0] = randomHighSurrogate(); + chars[1] = randomLowSurrogate(); + Result r = test(chars); + if (r == null) break; + if (! ((r.cr.isUnmappable() && + r.cr.length() == 2 && + r.oa.length == 0) + || + (r.cr.isUnderflow() && + r.oa.length > 0 && + r.ipos == 2))) { + if (failures++ > 5) return; + bug("Legal supplementary character bug: %s %s", + cs, r); + } + } + } + +// if (! (r.cr.isMalformed() && +// r.cr.length() == 1 && +// (rob.position() == 0 || hasBom(rob)))) { +// if (failures++ > 5) return; +// bug("Unpaired surrogate not malformed: %s %s", +// cs, r); +// } +// } + +// dib.clear(); dib.put(chars); dib.flip(); +// rib.position(0); +// rob.clear(); rob.limit(lim); +// for (CharBuffer ib : new CharBuffer[] { rib, dib }) { +// Result r = recode(ib, rob); +// if (! (r.cr.isMalformed() && +// r.cr.length() == 1 && +// (rob.position() == 0 || hasBom(rob)))) { +// if (failures++ > 5) return; +// bug("Unpaired surrogate not malformed: %s %s", +// cs, r); +// } +// } +// //} +// for (int i = 0; i < 10000; i++) { +// chars[0] = randomHighSurrogate(); +// chars[1] = randomLowSurrogate(); +// dib.clear(); dib.put(chars); dib.flip(); +// rib.position(0); +// rob.clear(); rob.limit(lim); +// for (CharBuffer ib : new CharBuffer[] { rib, dib }) { +// Result r = recode(ib, rob); +// if (! ((r.cr.isUnmappable() && +// r.cr.length() == 2 && +// rob.position() == 0) +// || +// (r.cr.isUnderflow() && +// rob.position() > 0 && +// ib.position() == 2))) { +// if (failures++ > 5) return; +// bug("Legal supplementary character bug: %s %s", +// cs, r); +// } +// } +// } +// } +// } + + Result recode(CharBuffer ib, ByteBuffer ob) { + try { + byte canary = 22; + ib.clear(); // Prepare to read + ob.clear(); // Prepare to write + for (int i = 0; i < ob.limit(); i++) + ob.put(i, canary); + CharsetEncoder coder = cs.newEncoder(); + CoderResult cr = coder.encode(ib, ob, false); + equal(ib.limit(), ib.capacity()); + equal(ob.limit(), ob.capacity()); + Result r = new Result(ib, ob, cr); + if (cr.isError()) + check(cr.length() > 0); + if (cr.isOverflow() && ob.remaining() > 10) + bug("OVERFLOW, but there's lots of room: %s %s", + cs, r); +// if (cr.isOverflow() && ib.remaining() == 0 && ! hasBom) +// bug("OVERFLOW, yet remaining() == 0: %s %s", +// cs, r); + if (cr.isError() && ib.remaining() < cr.length()) + bug("remaining() < CoderResult.length(): %s %s", + cs, r); +// if (ib.position() == 0 +// && ob.position() > 0 +// && ! hasBom(r.oa)) +// bug("output only if input consumed: %s %s", +// cs, r); + CoderResult cr2 = coder.encode(ib, ob, false); + if (ib.position() != r.ipos || + ob.position() != r.oa.length || + cr != cr2) + bug("Coding operation not idempotent: %s%n %s%n %s", + cs, r, new Result(ib, ob, cr2)); + if (ob.position() < ob.limit() && + ob.get(ob.position()) != canary) + bug("Buffer overrun: %s %s %s", + cs, r, ob.get(ob.position())); + return r; + } catch (Throwable t) { + if (bug("Unexpected exception: %s %s %s", + cs, t.getClass().getSimpleName(), + new Result(ib, ob, null))) + t.printStackTrace(); + return null; + } + } + + Result recode2(char[] ia, int n) { + int len = ia.length; + CharBuffer rib = CharBuffer.wrap(ia); + CharBuffer dib = dInBuffers[len]; + dib.clear(); dib.put(ia); dib.clear(); + ByteBuffer rob = rOuBuffers[n]; + ByteBuffer dob = dOuBuffers[n]; + equal(rob.limit(), n); + equal(dob.limit(), n); + check(dib.isDirect()); + check(dob.isDirect()); + Result r1 = recode(rib, rob); + Result r2 = recode(dib, dob); + if (r1 != null && r2 != null && ! Result.eq(r1, r2)) + bug("Results differ for direct buffers: %s%n %s%n %s", + cs, r1, r2); + return r1; + } + + Result test(char[] ia) { + if (failed - failed0 >= maxCharsetFailures) + throw new TooManyFailures(); + + Result roomy = recode2(ia, maxBufSize - 1); + if (roomy == null) return roomy; + int olen = roomy.oa.length; + if (olen > 0) { + if (roomy.ipos == roomy.ia.length) { + Result perfectFit = recode2(ia, olen); + if (! Result.eq(roomy, perfectFit)) + bug("Results differ: %s%n %s%n %s", + cs, roomy, perfectFit); + } + for (int i = 0; i < olen; i++) { + Result claustrophobic = recode2(ia, i); + if (claustrophobic == null) return roomy; + if (roomy.cr.isUnderflow() && + ! claustrophobic.cr.isOverflow()) + bug("Expected OVERFLOW: %s%n %s%n %s", + cs, roomy, claustrophobic); + } + } + return roomy; + } + + void testExhaustively(char[] prefix, int n) { + int len = prefix.length; + char[] ia = Arrays.copyOf(prefix, len + 1); + for (int i = 0; i < 0x10000; i++) { + ia[len] = (char) i; + if (n == 1) + test(ia); + else + testExhaustively(ia, n - 1); + } + } + + void testRandomly(char[] prefix, int n) { + int len = prefix.length; + char[] ia = Arrays.copyOf(prefix, len + n); + for (int i = 0; i < 10000; i++) { + for (int j = 0; j < n; j++) + ia[len + j] = randomChar(); + test(ia); + } + } + + void testPrefix(char[] prefix) { + if (prefix.length > 0) + System.out.printf("Testing prefix %s%n", string(prefix)); + + test(prefix); + + testExhaustively(prefix, 1); + // Can you spare a year of CPU time? + //testExhaustively(prefix, 2); + + testRandomly(prefix, 2); + testRandomly(prefix, 3); + } + } + + private final static Random rnd = new Random(); + private static char randomChar() { + return (char) rnd.nextInt(Character.MAX_VALUE); + } + private static char randomHighSurrogate() { + return (char) (Character.MIN_HIGH_SURROGATE + rnd.nextInt(1024)); + } + private static char randomLowSurrogate() { + return (char) (Character.MIN_LOW_SURROGATE + rnd.nextInt(1024)); + } + + private static void testCharset(Charset cs) throws Throwable { + if (! cs.canEncode()) + return; + + final String csn = cs.name(); + + if (isBroken(csn)) { + System.out.printf("Skipping possibly broken charset %s%n", csn); + return; + } + System.out.println(csn); + + CharsetTester tester = new CharsetTester(cs); + + tester.testSurrogates(); + + tester.testPrefix(new char[] {}); + + if (csn.equals("x-ISCII91")) { + System.out.println("More ISCII testing..."); + new CharsetTester(cs).testPrefix(new char[]{'\u094d'}); // Halant + new CharsetTester(cs).testPrefix(new char[]{'\u093c'}); // Nukta + } + } + + private static void realMain(String[] args) { + for (Charset cs : sort(Charset.availableCharsets().values())) { + try { + testCharset(cs); + } catch (TooManyFailures e) { + System.out.printf("Too many failures for %s%n", cs); + } catch (Throwable t) { + unexpected(t); + } + } + reporter.summarize(); + } + + //--------------------- Infrastructure --------------------------- + static volatile long passed = 0, failed = 0; + static void pass() {passed++;} + static void fail() {failed++; Thread.dumpStack();} + static void fail(String format, Object... args) { + System.out.println(String.format(format, args)); failed++;} + static void fail(String msg) {System.out.println(msg); fail();} + static void unexpected(Throwable t) {failed++; t.printStackTrace();} + static void check(boolean cond) {if (cond) pass(); else fail();} + static void equal(Object x, Object y) { + if (x == null ? y == null : x.equals(y)) pass(); + else fail(x + " not equal to " + y);} + public static void main(String[] args) throws Throwable { + try {realMain(args);} catch (Throwable t) {unexpected(t);} + System.out.printf("%nPassed = %d, failed = %d%n%n", passed, failed); + if (failed > 0) throw new AssertionError("Some tests failed");} +} + diff --git a/test/sun/nio/cs/FindOneCharEncoderBugs.java b/test/sun/nio/cs/FindOneCharEncoderBugs.java new file mode 100644 index 000000000..ba902c56a --- /dev/null +++ b/test/sun/nio/cs/FindOneCharEncoderBugs.java @@ -0,0 +1,169 @@ +/* + * Copyright 2008 Sun Microsystems, Inc. All Rights Reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, + * CA 95054 USA or visit www.sun.com if you need additional information or + * have any questions. + */ + +/* + * @test + * @bug 5058133 6233345 6381699 6381702 6381705 6381706 + * @summary Check that all one-char sequences can be encoded by all charsets + * @run main/timeout=1200 FindOneCharEncoderBugs + * @author Martin Buchholz + */ + +import java.util.*; +import java.nio.*; +import java.nio.charset.*; + +public class FindOneCharEncoderBugs { + final static String[] brokenCharsets = { + // Delete the following lines when these charsets are fixed! + "x-IBM970", + "x-COMPOUND_TEXT", // Direct buffers not supported + }; + + private static boolean equals(byte[] ba, ByteBuffer bb) { + if (ba.length != bb.limit()) + return false; + for (int i = 0; i < ba.length; i++) + if (ba[i] != bb.get(i)) + return false; + return true; + } + + private static String toString(byte[] bytes) { + final StringBuilder sb = new StringBuilder(); + for (byte b : bytes) { + if (sb.length() != 0) sb.append(' '); + sb.append(String.format("%02x", (int)b)); + } + return sb.toString(); + } + + private static String toString(ByteBuffer bb) { + final StringBuilder sb = new StringBuilder(); + for (int i = 0; i < bb.limit(); i++) { + if (sb.length() != 0) sb.append(' '); + sb.append(String.format("%02x", (int)bb.get(i))); + } + return sb.toString(); + } + + private static ByteBuffer convert(Charset cs, char c, CharBuffer cb) throws Throwable { + cb.clear(); cb.put(c); cb.flip(); + return cs.newEncoder() + .onUnmappableCharacter(CodingErrorAction.REPLACE) + .onMalformedInput(CodingErrorAction.REPLACE) + .encode(cb); + } + + /** Returns a direct CharBuffer with the same capacity as ordinary CharBuffer ocb */ + private static CharBuffer directCharBuffer(CharBuffer ocb) { + final CharBuffer dcb = + ByteBuffer.allocateDirect(ocb.capacity() * Character.SIZE / Byte.SIZE) + .asCharBuffer(); + check(! ocb.isDirect()); + check( dcb.isDirect()); + equal(ocb.capacity(), dcb.capacity()); + return dcb; + } + + private static void testChar(byte[] expected, CharBuffer cb, Charset cs, char c) { + try { + final ByteBuffer bb = convert(cs, c, cb); + if (! equals(expected, bb)) + fail("bytes differ charset=%s direct=%s char=\\u%04x%n%s%n%s", + cs, cb.isDirect(), (int)c, + toString(expected), toString(bb)); + } catch (Throwable t) { + System.out.printf("Unexpected exception charset=%s direct=%s char=\\u%04x%n", + cs, cb.isDirect(), (int)c); + unexpected(t); + failed++; + } + } + + private static void testCharset(Charset cs) throws Throwable { + if (! cs.canEncode()) + return; + + final String csn = cs.name(); + + for (String n : brokenCharsets) + if (csn.equals(n)) { + System.out.printf("Skipping possibly broken charset %s%n", csn); + return; + } + System.out.println(csn); + + final char[] theChar = new char[1]; + final CharBuffer ocb = CharBuffer.allocate(1); + final CharBuffer dcb = directCharBuffer(ocb); + final int maxFailuresPerCharset = 5; + final int failed0 = failed; + + for (char c = '\u0000'; + (c+1 != 0x10000) && (failed - failed0 < maxFailuresPerCharset); + c++) { + theChar[0] = c; + byte[] bytes = new String(theChar).getBytes(csn); + if (bytes.length == 0) + fail("Empty output?! charset=%s char=\\u%04x", cs, (int)c); + testChar(bytes, ocb, cs, c); + testChar(bytes, dcb, cs, c); + } + } + + private static void realMain(String[] args) { + for (Charset cs : Charset.availableCharsets().values()) { + try { testCharset(cs); } + catch (Throwable t) { unexpected(t); } + } + } + + //--------------------- Infrastructure --------------------------- + static volatile int passed = 0, failed = 0; + static void pass() {passed++;} + static void fail() {failed++; Thread.dumpStack();} + static void fail(String format, Object... args) { + System.out.println(String.format(format, args)); failed++;} + static void fail(String msg) {System.out.println(msg); fail();} + static void unexpected(Throwable t) {failed++; t.printStackTrace();} + static void check(boolean cond) {if (cond) pass(); else fail();} + static void equal(Object x, Object y) { + if (x == null ? y == null : x.equals(y)) pass(); + else fail(x + " not equal to " + y);} + public static void main(String[] args) throws Throwable { + try {realMain(args);} catch (Throwable t) {unexpected(t);} + System.out.printf("%nPassed = %d, failed = %d%n%n", passed, failed); + if (failed > 0) throw new AssertionError("Some tests failed");} + private static abstract class Fun {abstract void f() throws Throwable;} + static void THROWS(Class k, Fun... fs) { + for (Fun f : fs) + try { f.f(); fail("Expected " + k.getName() + " not thrown"); } + catch (Throwable t) { + if (k.isAssignableFrom(t.getClass())) pass(); + else unexpected(t);}} + private static abstract class CheckedThread extends Thread { + abstract void realRun() throws Throwable; + public void run() { + try {realRun();} catch (Throwable t) {unexpected(t);}}} +} diff --git a/test/sun/nio/cs/HWKatakanaMS932EncodeTest.java b/test/sun/nio/cs/HWKatakanaMS932EncodeTest.java new file mode 100644 index 000000000..629ef1efe --- /dev/null +++ b/test/sun/nio/cs/HWKatakanaMS932EncodeTest.java @@ -0,0 +1,54 @@ +/* + * Copyright 2008 Sun Microsystems, Inc. All Rights Reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, + * CA 95054 USA or visit www.sun.com if you need additional information or + * have any questions. + */ + +/* @test + @bug 4715330 + @summary Check MS932/windows-31j encoding (char->byte) for halfwidth katakana chars + */ + +/* + * Tests encodeability of the Unicode defined Halfwidth Katakana + * characters using the MS932/windows-31j encoder + */ + +public class HWKatakanaMS932EncodeTest { + public static void main(String[] args) throws Exception { + + char[] testChars = new char[1]; + byte[] testBytes = new byte[1]; + int offset = 0; + String encoding = "windows-31j"; + + // Halfwidth Katakana chars run from U+FF61 --> U+FF9F + // and their native equivalents in Code page 932 run + // sequentially from 0xa1 --> 0xdf + + for (int lsByte = 0x61 ; lsByte <= 0x9F; lsByte++, offset++) { + testChars[0] = (char) (lsByte | 0xFF00); + String s = new String(testChars); + testBytes = s.getBytes(encoding); + if ( testBytes[0] != (byte)(0xa1 + offset)) + throw new Exception("failed Test"); + } + } +} diff --git a/test/sun/nio/cs/ISCIITest.java b/test/sun/nio/cs/ISCIITest.java new file mode 100644 index 000000000..48235cee3 --- /dev/null +++ b/test/sun/nio/cs/ISCIITest.java @@ -0,0 +1,350 @@ +/* + * Copyright 2008 Sun Microsystems, Inc. All Rights Reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, + * CA 95054 USA or visit www.sun.com if you need additional information or + * have any questions. + */ + +/* @test + @bug 4328178 + @summary Performs baseline and regression test on the ISCII91 charset + */ + +import java.io.*; + +public class ISCIITest { + + private static void failureReport() { + System.err.println ("Failed ISCII91 Regression Test"); + } + + private static void mapEquiv(int start, + int end, + String testName) + throws Exception + { + byte[] singleByte = new byte[1]; + byte[] encoded = new byte[1]; + + for (int i = start; i <= end; i++ ) { + singleByte[0] = (byte) i; + try { + String unicodeStr = + new String (singleByte,"ISCII91"); + + if (i != (int)unicodeStr.charAt(0)) { + System.err.println ("FAILED ISCII91 Regression test" + + "input byte is " + i ); + throw new Exception(""); + } + encoded = unicodeStr.getBytes("ISCII91"); + + if (encoded[0] != singleByte[0]) { + System.err.println("Encoding error " + testName); + throw new Exception("Failed ISCII91 Regression test"); + } + + } catch (UnsupportedEncodingException e) { + failureReport(); + } + } + return; + } + + private static void checkUnmapped(int start, + int end, + String testName) + throws Exception { + + byte[] singleByte = new byte[1]; + + for (int i = start; i <= end; i++ ) { + singleByte[0] = (byte) i; + try { + String unicodeStr = new String (singleByte, "ISCII91"); + + if (unicodeStr.charAt(0) != '\uFFFD') { + System.err.println("FAILED " + testName + + "input byte is " + i ); + throw new Exception ("Failed ISCII91 regression test"); + } + } catch (UnsupportedEncodingException e) { + System.err.println("Unsupported character encoding"); + } + } + return; + } + + /* + * + */ + private static void checkRange(int start, int end, + char[] expectChars, + String testName) + throws Exception { + byte[] singleByte = new byte[1]; + byte[] encoded = new byte[1]; + int lookupOffset = 0; + + for (int i=start; i <= end; i++ ) { + singleByte[0] = (byte) i; + String unicodeStr = new String (singleByte, "ISCII91"); + if (unicodeStr.charAt(0) != expectChars[lookupOffset++]) { + throw new Exception ("Failed ISCII91 Regression Test"); + } + encoded = unicodeStr.getBytes("ISCII"); + } + return; + } + + /* + * Tests the ISCII91 Indic character encoding + * as per IS 13194:1991 Bureau of Indian Standards. + */ + + private static void test () throws Exception { + + try { + + + // ISCII91 is an 8-byte encoding which retains the ASCII + // mappings in the lower half. + + mapEquiv(0, 0x7f, "7 bit ASCII range"); + + // Checks a range of characters which are unmappable according + // to the standards. + + checkUnmapped(0x81, 0x9f, "UNMAPPED"); + + // Vowel Modifier chars can be used to modify the vowel + // sound of the preceding consonant, vowel or matra character. + + byte[] testByte = new byte[1]; + char[] vowelModChars = { + '\u0901', // Vowel modifier Chandrabindu + '\u0902', // Vowel modifier Anuswar + '\u0903' // Vowel modifier Visarg + }; + + checkRange(0xa1, 0xa3, vowelModChars, "INDIC VOWEL MODIFIER CHARS"); + + char[] expectChars = { + '\u0905', // a4 -- Vowel A + '\u0906', // a5 -- Vowel AA + '\u0907', // a6 -- Vowel I + '\u0908', // a7 -- Vowel II + '\u0909', // a8 -- Vowel U + '\u090a', // a9 -- Vowel UU + '\u090b', // aa -- Vowel RI + '\u090e', // ab -- Vowel E ( Southern Scripts ) + '\u090f', // ac -- Vowel EY + '\u0910', // ad -- Vowel AI + '\u090d', // ae -- Vowel AYE ( Devanagari Script ) + '\u0912', // af -- Vowel O ( Southern Scripts ) + '\u0913', // b0 -- Vowel OW + '\u0914', // b1 -- Vowel AU + '\u0911', // b2 -- Vowel AWE ( Devanagari Script ) + }; + + checkRange(0xa4, 0xb2, expectChars, "INDIC VOWELS"); + + char[] expectConsChars = + { + '\u0915', // b3 -- Consonant KA + '\u0916', // b4 -- Consonant KHA + '\u0917', // b5 -- Consonant GA + '\u0918', // b6 -- Consonant GHA + '\u0919', // b7 -- Consonant NGA + '\u091a', // b8 -- Consonant CHA + '\u091b', // b9 -- Consonant CHHA + '\u091c', // ba -- Consonant JA + '\u091d', // bb -- Consonant JHA + '\u091e', // bc -- Consonant JNA + '\u091f', // bd -- Consonant Hard TA + '\u0920', // be -- Consonant Hard THA + '\u0921', // bf -- Consonant Hard DA + '\u0922', // c0 -- Consonant Hard DHA + '\u0923', // c1 -- Consonant Hard NA + '\u0924', // c2 -- Consonant Soft TA + '\u0925', // c3 -- Consonant Soft THA + '\u0926', // c4 -- Consonant Soft DA + '\u0927', // c5 -- Consonant Soft DHA + '\u0928', // c6 -- Consonant Soft NA + '\u0929', // c7 -- Consonant NA ( Tamil ) + '\u092a', // c8 -- Consonant PA + '\u092b', // c9 -- Consonant PHA + '\u092c', // ca -- Consonant BA + '\u092d', // cb -- Consonant BHA + '\u092e', // cc -- Consonant MA + '\u092f', // cd -- Consonant YA + '\u095f', // ce -- Consonant JYA ( Bengali, Assamese & Oriya ) + '\u0930', // cf -- Consonant RA + '\u0931', // d0 -- Consonant Hard RA ( Southern Scripts ) + '\u0932', // d1 -- Consonant LA + '\u0933', // d2 -- Consonant Hard LA + '\u0934', // d3 -- Consonant ZHA ( Tamil & Malayalam ) + '\u0935', // d4 -- Consonant VA + '\u0936', // d5 -- Consonant SHA + '\u0937', // d6 -- Consonant Hard SHA + '\u0938', // d7 -- Consonant SA + '\u0939', // d8 -- Consonant HA + }; + + checkRange(0xb3, 0xd8, expectConsChars, "INDIC CONSONANTS"); + + char[] matraChars = { + '\u093e', // da -- Vowel Sign AA + '\u093f', // db -- Vowel Sign I + '\u0940', // dc -- Vowel Sign II + '\u0941', // dd -- Vowel Sign U + '\u0942', // de -- Vowel Sign UU + '\u0943', // df -- Vowel Sign RI + '\u0946', // e0 -- Vowel Sign E ( Southern Scripts ) + '\u0947', // e1 -- Vowel Sign EY + '\u0948', // e2 -- Vowel Sign AI + '\u0945', // e3 -- Vowel Sign AYE ( Devanagari Script ) + '\u094a', // e4 -- Vowel Sign O ( Southern Scripts ) + '\u094b', // e5 -- Vowel Sign OW + '\u094c', // e6 -- Vowel Sign AU + '\u0949' // e7 -- Vowel Sign AWE ( Devanagari Script ) + }; + + // Matras or Vowel signs alter the implicit + // vowel sound associated with an Indic consonant. + + checkRange(0xda, 0xe7, matraChars, "INDIC MATRAS"); + + char[] loneContextModifierChars = { + '\u094d', // e8 -- Vowel Omission Sign ( Halant ) + '\u093c', // e9 -- Diacritic Sign ( Nukta ) + '\u0964' // ea -- Full Stop ( Viram, Northern Scripts ) + }; + + checkRange(0xe8, 0xea, + loneContextModifierChars, "LONE INDIC CONTEXT CHARS"); + + + // Test Indic script numeral chars + // (as opposed to international numerals) + + char[] expectNumeralChars = + { + '\u0966', // f1 -- Digit 0 + '\u0967', // f2 -- Digit 1 + '\u0968', // f3 -- Digit 2 + '\u0969', // f4 -- Digit 3 + '\u096a', // f5 -- Digit 4 + '\u096b', // f6 -- Digit 5 + '\u096c', // f7 -- Digit 6 + '\u096d', // f8 -- Digit 7 + '\u096e', // f9 -- Digit 8 + '\u096f' // fa -- Digit 9 + }; + + checkRange(0xf1, 0xfa, + expectNumeralChars, "NUMERAL/DIGIT CHARACTERS"); + int lookupOffset = 0; + + char[] expectNuktaSub = { + '\u0950', + '\u090c', + '\u0961', + '\u0960', + '\u0962', + '\u0963', + '\u0944', + '\u093d' + }; + + /* + * ISCII uses a number of code extension techniques + * to access a number of lesser used characters. + * The Nukta character which ordinarily signifies + * a diacritic is used in combination with existing + * characters to escape them to a different character. + * value. + */ + + byte[] codeExtensionBytes = { + (byte)0xa1 , (byte)0xe9, // Chandrabindu + Nukta + // =>DEVANAGARI OM SIGN + (byte)0xa6 , (byte)0xe9, // Vowel I + Nukta + // => DEVANAGARI VOCALIC L + (byte)0xa7 , (byte)0xe9, // Vowel II + Nukta + // => DEVANAGARI VOCALIC LL + (byte)0xaa , (byte)0xe9, // Vowel RI + Nukta + // => DEVANAGARI VOCALIC RR + (byte)0xdb , (byte)0xe9, // Vowel sign I + Nukta + // => DEVANAGARI VOWEL SIGN VOCALIC L + (byte)0xdc , (byte)0xe9, // Vowel sign II + Nukta + // => DEVANAGARI VOWEL SIGN VOCALIC LL + + (byte)0xdf , (byte)0xe9, // Vowel sign Vocalic R + Nukta + // => DEVANAGARI VOWEL SIGN VOCALIC RR + (byte)0xea , (byte)0xe9 // Full stop/Phrase separator + Nukta + // => DEVANAGARI SIGN AVAGRAHA + }; + + lookupOffset = 0; + byte[] bytePair = new byte[2]; + + for (int i=0; i < (codeExtensionBytes.length)/2; i++ ) { + bytePair[0] = (byte) codeExtensionBytes[lookupOffset++]; + bytePair[1] = (byte) codeExtensionBytes[lookupOffset++]; + + String unicodeStr = new String (bytePair,"ISCII91"); + if (unicodeStr.charAt(0) != expectNuktaSub[i]) { + throw new Exception("Failed Nukta Sub"); + } + } + + lookupOffset = 0; + byte[] comboBytes = { + (byte)0xe8 , (byte)0xe8, //HALANT + HALANT + (byte)0xe8 , (byte)0xe9 //HALANT + NUKTA aka. Soft Halant + }; + char[] expectCombChars = { + '\u094d', + '\u200c', + '\u094d', + '\u200d' + }; + + for (int i=0; i < (comboBytes.length)/2; i++ ) { + bytePair[0] = (byte) comboBytes[lookupOffset++]; + bytePair[1] = (byte) comboBytes[lookupOffset]; + String unicodeStr = new String (bytePair, "ISCII91"); + if (unicodeStr.charAt(0) != expectCombChars[lookupOffset-1] + && unicodeStr.charAt(1) != expectCombChars[lookupOffset]) { + throw new Exception("Failed ISCII91 Regression Test"); + } + lookupOffset++; + } + + } catch (UnsupportedEncodingException e) { + System.err.println ("ISCII91 encoding not supported"); + throw new Exception ("Failed ISCII91 Regression Test"); + } + } + + public static void main (String[] args) throws Exception { + test(); + } +} diff --git a/test/sun/nio/cs/ISO2022JP.trailEsc b/test/sun/nio/cs/ISO2022JP.trailEsc new file mode 100644 index 000000000..0709a6919 --- /dev/null +++ b/test/sun/nio/cs/ISO2022JP.trailEsc @@ -0,0 +1,454 @@ +test0 + $B!!(B $B!"(B $B!#(B $B!$(B $B!%(B $B!&(B $B!'(B $B!((B $B!)(B $B!*(B $B!+(B $B!,(B $B!-(B $B!.(B $B!/(B +$B!0(B $B!1(B $B!2(B $B!3(B $B!4(B $B!5(B $B!6(B $B!7(B $B!8(B $B!9(B $B!:(B $B!;(B $B!<(B $B!=(B $B!>(B $B!?(B + $B!A(B $B!B(B $B!C(B $B!D(B $B!E(B $B!F(B $B!G(B $B!H(B $B!I(B $B!J(B $B!K(B $B!L(B $B!M(B $B!N(B $B!O(B +$B!P(B $B!Q(B $B!R(B $B!S(B $B!T(B $B!U(B $B!V(B $B!W(B $B!X(B $B!Y(B $B!Z(B $B![(B $B!\(B $B!](B $B!^(B $B!_(B +$B!`(B $B!a(B $B!b(B $B!c(B $B!d(B $B!e(B $B!f(B $B!g(B $B!h(B $B!i(B $B!j(B $B!k(B $B!l(B $B!m(B $B!n(B $B!o(B +$B!p(B $B!q(B $B!r(B $B!s(B $B!t(B $B!u(B $B!v(B $B!w(B $B!x(B $B!y(B $B!z(B $B!{(B $B!|(B $B!}(B $B!~(B + $B"!(B $B""(B $B"#(B $B"$(B $B"%(B $B"&(B $B"'(B $B"((B $B")(B $B"*(B $B"+(B $B",(B $B"-(B $B".(B + $B":(B $B";(B $B"<(B $B"=(B $B">(B $B"?(B +$B"@(B $B"A(B $B"J(B $B"K(B $B"L(B $B"M(B $B"N(B $B"O(B +$B"P(B $B"\(B $B"](B $B"^(B $B"_(B +$B"`(B $B"a(B $B"b(B $B"c(B $B"d(B $B"e(B $B"f(B $B"g(B $B"h(B $B"i(B $B"j(B + $B"r(B $B"s(B $B"t(B $B"u(B $B"v(B $B"w(B $B"x(B $B"y(B $B"~(B +$B#0(B $B#1(B $B#2(B $B#3(B $B#4(B $B#5(B $B#6(B $B#7(B $B#8(B $B#9(B + $B#A(B $B#B(B $B#C(B $B#D(B $B#E(B $B#F(B $B#G(B $B#H(B $B#I(B $B#J(B $B#K(B $B#L(B $B#M(B $B#N(B $B#O(B +$B#P(B $B#Q(B $B#R(B $B#S(B $B#T(B $B#U(B $B#V(B $B#W(B $B#X(B $B#Y(B $B#Z(B + $B#a(B $B#b(B $B#c(B $B#d(B $B#e(B $B#f(B $B#g(B $B#h(B $B#i(B $B#j(B $B#k(B $B#l(B $B#m(B $B#n(B $B#o(B +$B#p(B $B#q(B $B#r(B $B#s(B $B#t(B $B#u(B $B#v(B $B#w(B $B#x(B $B#y(B $B#z(B + $B$!(B $B$"(B $B$#(B $B$$(B $B$%(B $B$&(B $B$'(B $B$((B $B$)(B $B$*(B $B$+(B $B$,(B $B$-(B $B$.(B $B$/(B +$B$0(B $B$1(B $B$2(B $B$3(B $B$4(B $B$5(B $B$6(B $B$7(B $B$8(B $B$9(B $B$:(B $B$;(B $B$<(B $B$=(B $B$>(B $B$?(B +$B$@(B $B$A(B $B$B(B $B$C(B $B$D(B $B$E(B $B$F(B $B$G(B $B$H(B $B$I(B $B$J(B $B$K(B $B$L(B $B$M(B $B$N(B $B$O(B +$B$P(B $B$Q(B $B$R(B $B$S(B $B$T(B $B$U(B $B$V(B $B$W(B $B$X(B $B$Y(B $B$Z(B $B$[(B $B$\(B $B$](B $B$^(B $B$_(B +$B$`(B $B$a(B $B$b(B $B$c(B $B$d(B $B$e(B $B$f(B $B$g(B $B$h(B $B$i(B $B$j(B $B$k(B $B$l(B $B$m(B $B$n(B $B$o(B +$B$p(B $B$q(B $B$r(B $B$s(B + $B%!(B $B%"(B $B%#(B $B%$(B $B%%(B $B%&(B $B%'(B $B%((B $B%)(B $B%*(B $B%+(B $B%,(B $B%-(B $B%.(B $B%/(B +$B%0(B $B%1(B $B%2(B $B%3(B $B%4(B $B%5(B $B%6(B $B%7(B $B%8(B $B%9(B $B%:(B $B%;(B $B%<(B $B%=(B $B%>(B $B%?(B +$B%@(B $B%A(B $B%B(B $B%C(B $B%D(B $B%E(B $B%F(B $B%G(B $B%H(B $B%I(B $B%J(B $B%K(B $B%L(B $B%M(B $B%N(B $B%O(B +$B%P(B $B%Q(B $B%R(B $B%S(B $B%T(B $B%U(B $B%V(B $B%W(B $B%X(B $B%Y(B $B%Z(B $B%[(B $B%\(B $B%](B $B%^(B $B%_(B +$B%`(B $B%a(B $B%b(B $B%c(B $B%d(B $B%e(B $B%f(B $B%g(B $B%h(B $B%i(B $B%j(B $B%k(B $B%l(B $B%m(B $B%n(B $B%o(B +$B%p(B $B%q(B $B%r(B $B%s(B $B%t(B $B%u(B $B%v(B + $B&!(B $B&"(B $B&#(B $B&$(B $B&%(B $B&&(B $B&'(B $B&((B $B&)(B $B&*(B $B&+(B $B&,(B $B&-(B $B&.(B $B&/(B +$B&0(B $B&1(B $B&2(B $B&3(B $B&4(B $B&5(B $B&6(B $B&7(B $B&8(B + $B&A(B $B&B(B $B&C(B $B&D(B $B&E(B $B&F(B $B&G(B $B&H(B $B&I(B $B&J(B $B&K(B $B&L(B $B&M(B $B&N(B $B&O(B +$B&P(B $B&Q(B $B&R(B $B&S(B $B&T(B $B&U(B $B&V(B $B&W(B $B&X(B + $B'!(B $B'"(B $B'#(B $B'$(B $B'%(B $B'&(B $B''(B $B'((B $B')(B $B'*(B $B'+(B $B',(B $B'-(B $B'.(B $B'/(B +$B'0(B $B'1(B $B'2(B $B'3(B $B'4(B $B'5(B $B'6(B $B'7(B $B'8(B $B'9(B $B':(B $B';(B $B'<(B $B'=(B $B'>(B $B'?(B +$B'@(B $B'A(B + $B'Q(B $B'R(B $B'S(B $B'T(B $B'U(B $B'V(B $B'W(B $B'X(B $B'Y(B $B'Z(B $B'[(B $B'\(B $B'](B $B'^(B $B'_(B +$B'`(B $B'a(B $B'b(B $B'c(B $B'd(B $B'e(B $B'f(B $B'g(B $B'h(B $B'i(B $B'j(B $B'k(B $B'l(B $B'm(B $B'n(B $B'o(B +$B'p(B $B'q(B + $B(!(B $B("(B $B(#(B $B($(B $B(%(B $B(&(B $B('(B $B(((B $B()(B $B(*(B $B(+(B $B(,(B $B(-(B $B(.(B $B(/(B +$B(0(B $B(1(B $B(2(B $B(3(B $B(4(B $B(5(B $B(6(B $B(7(B $B(8(B $B(9(B $B(:(B $B(;(B $B(<(B $B(=(B $B(>(B $B(?(B +$B(@(B + $B0!(B $B0"(B $B0#(B $B0$(B $B0%(B $B0&(B $B0'(B $B0((B $B0)(B $B0*(B $B0+(B $B0,(B $B0-(B $B0.(B $B0/(B +$B00(B $B01(B $B02(B $B03(B $B04(B $B05(B $B06(B $B07(B $B08(B $B09(B $B0:(B $B0;(B $B0<(B $B0=(B $B0>(B $B0?(B +$B0@(B $B0A(B $B0B(B $B0C(B $B0D(B $B0E(B $B0F(B $B0G(B $B0H(B $B0I(B $B0J(B $B0K(B $B0L(B $B0M(B $B0N(B $B0O(B +$B0P(B $B0Q(B $B0R(B $B0S(B $B0T(B $B0U(B $B0V(B $B0W(B $B0X(B $B0Y(B $B0Z(B $B0[(B $B0\(B $B0](B $B0^(B $B0_(B +$B0`(B $B0a(B $B0b(B $B0c(B $B0d(B $B0e(B $B0f(B $B0g(B $B0h(B $B0i(B $B0j(B $B0k(B $B0l(B $B0m(B $B0n(B $B0o(B +$B0p(B $B0q(B $B0r(B $B0s(B $B0t(B $B0u(B $B0v(B $B0w(B $B0x(B $B0y(B $B0z(B $B0{(B $B0|(B $B0}(B $B0~(B + $B1!(B $B1"(B $B1#(B $B1$(B $B1%(B $B1&(B $B1'(B $B1((B $B1)(B $B1*(B $B1+(B $B1,(B $B1-(B $B1.(B $B1/(B +$B10(B $B11(B $B12(B $B13(B $B14(B $B15(B $B16(B $B17(B $B18(B $B19(B $B1:(B $B1;(B $B1<(B $B1=(B $B1>(B $B1?(B +$B1@(B $B1A(B $B1B(B $B1C(B $B1D(B $B1E(B $B1F(B $B1G(B $B1H(B $B1I(B $B1J(B $B1K(B $B1L(B $B1M(B $B1N(B $B1O(B +$B1P(B $B1Q(B $B1R(B $B1S(B $B1T(B $B1U(B $B1V(B $B1W(B $B1X(B $B1Y(B $B1Z(B $B1[(B $B1\(B $B1](B $B1^(B $B1_(B +$B1`(B $B1a(B $B1b(B $B1c(B $B1d(B $B1e(B $B1f(B $B1g(B $B1h(B $B1i(B $B1j(B $B1k(B $B1l(B $B1m(B $B1n(B $B1o(B +$B1p(B $B1q(B $B1r(B $B1s(B $B1t(B $B1u(B $B1v(B $B1w(B $B1x(B $B1y(B $B1z(B $B1{(B $B1|(B $B1}(B $B1~(B + $B2!(B $B2"(B $B2#(B $B2$(B $B2%(B $B2&(B $B2'(B $B2((B $B2)(B $B2*(B $B2+(B $B2,(B $B2-(B $B2.(B $B2/(B +$B20(B $B21(B $B22(B $B23(B $B24(B $B25(B $B26(B $B27(B $B28(B $B29(B $B2:(B $B2;(B $B2<(B $B2=(B $B2>(B $B2?(B +$B2@(B $B2A(B $B2B(B $B2C(B $B2D(B $B2E(B $B2F(B $B2G(B $B2H(B $B2I(B $B2J(B $B2K(B $B2L(B $B2M(B $B2N(B $B2O(B +$B2P(B $B2Q(B $B2R(B $B2S(B $B2T(B $B2U(B $B2V(B $B2W(B $B2X(B $B2Y(B $B2Z(B $B2[(B $B2\(B $B2](B $B2^(B $B2_(B +$B2`(B $B2a(B $B2b(B $B2c(B $B2d(B $B2e(B $B2f(B $B2g(B $B2h(B $B2i(B $B2j(B $B2k(B $B2l(B $B2m(B $B2n(B $B2o(B +$B2p(B $B2q(B $B2r(B $B2s(B $B2t(B $B2u(B $B2v(B $B2w(B $B2x(B $B2y(B $B2z(B $B2{(B $B2|(B $B2}(B $B2~(B + $B3!(B $B3"(B $B3#(B $B3$(B $B3%(B $B3&(B $B3'(B $B3((B $B3)(B $B3*(B $B3+(B $B3,(B $B3-(B $B3.(B $B3/(B +$B30(B $B31(B $B32(B $B33(B $B34(B $B35(B $B36(B $B37(B $B38(B $B39(B $B3:(B $B3;(B $B3<(B $B3=(B $B3>(B $B3?(B +$B3@(B $B3A(B $B3B(B $B3C(B $B3D(B $B3E(B $B3F(B $B3G(B $B3H(B $B3I(B $B3J(B $B3K(B $B3L(B $B3M(B $B3N(B $B3O(B +$B3P(B $B3Q(B $B3R(B $B3S(B $B3T(B $B3U(B $B3V(B $B3W(B $B3X(B $B3Y(B $B3Z(B $B3[(B $B3\(B $B3](B $B3^(B $B3_(B +$B3`(B $B3a(B $B3b(B $B3c(B $B3d(B $B3e(B $B3f(B $B3g(B $B3h(B $B3i(B $B3j(B $B3k(B $B3l(B $B3m(B $B3n(B $B3o(B +$B3p(B $B3q(B $B3r(B $B3s(B $B3t(B $B3u(B $B3v(B $B3w(B $B3x(B $B3y(B $B3z(B $B3{(B $B3|(B $B3}(B $B3~(B + $B4!(B $B4"(B $B4#(B $B4$(B $B4%(B $B4&(B $B4'(B $B4((B $B4)(B $B4*(B $B4+(B $B4,(B $B4-(B $B4.(B $B4/(B +$B40(B $B41(B $B42(B $B43(B $B44(B $B45(B $B46(B $B47(B $B48(B $B49(B $B4:(B $B4;(B $B4<(B $B4=(B $B4>(B $B4?(B +$B4@(B $B4A(B $B4B(B $B4C(B $B4D(B $B4E(B $B4F(B $B4G(B $B4H(B $B4I(B $B4J(B $B4K(B $B4L(B $B4M(B $B4N(B $B4O(B +$B4P(B $B4Q(B $B4R(B $B4S(B $B4T(B $B4U(B $B4V(B $B4W(B $B4X(B $B4Y(B $B4Z(B $B4[(B $B4\(B $B4](B $B4^(B $B4_(B +$B4`(B $B4a(B $B4b(B $B4c(B $B4d(B $B4e(B $B4f(B $B4g(B $B4h(B $B4i(B $B4j(B $B4k(B $B4l(B $B4m(B $B4n(B $B4o(B +$B4p(B $B4q(B $B4r(B $B4s(B $B4t(B $B4u(B $B4v(B $B4w(B $B4x(B $B4y(B $B4z(B $B4{(B $B4|(B $B4}(B $B4~(B + $B5!(B $B5"(B $B5#(B $B5$(B $B5%(B $B5&(B $B5'(B $B5((B $B5)(B $B5*(B $B5+(B $B5,(B $B5-(B $B5.(B $B5/(B +$B50(B $B51(B $B52(B $B53(B $B54(B $B55(B $B56(B $B57(B $B58(B $B59(B $B5:(B $B5;(B $B5<(B $B5=(B $B5>(B $B5?(B +$B5@(B $B5A(B $B5B(B $B5C(B $B5D(B $B5E(B $B5F(B $B5G(B $B5H(B $B5I(B $B5J(B $B5K(B $B5L(B $B5M(B $B5N(B $B5O(B +$B5P(B $B5Q(B $B5R(B $B5S(B $B5T(B $B5U(B $B5V(B $B5W(B $B5X(B $B5Y(B $B5Z(B $B5[(B $B5\(B $B5](B $B5^(B $B5_(B +$B5`(B $B5a(B $B5b(B $B5c(B $B5d(B $B5e(B $B5f(B $B5g(B $B5h(B $B5i(B $B5j(B $B5k(B $B5l(B $B5m(B $B5n(B $B5o(B +$B5p(B $B5q(B $B5r(B $B5s(B $B5t(B $B5u(B $B5v(B $B5w(B $B5x(B $B5y(B $B5z(B $B5{(B $B5|(B $B5}(B $B5~(B + $B6!(B $B6"(B $B6#(B $B6$(B $B6%(B $B6&(B $B6'(B $B6((B $B6)(B $B6*(B $B6+(B $B6,(B $B6-(B $B6.(B $B6/(B +$B60(B $B61(B $B62(B $B63(B $B64(B $B65(B $B66(B $B67(B $B68(B $B69(B $B6:(B $B6;(B $B6<(B $B6=(B $B6>(B $B6?(B +$B6@(B $B6A(B $B6B(B $B6C(B $B6D(B $B6E(B $B6F(B $B6G(B $B6H(B $B6I(B $B6J(B $B6K(B $B6L(B $B6M(B $B6N(B $B6O(B +$B6P(B $B6Q(B $B6R(B $B6S(B $B6T(B $B6U(B $B6V(B $B6W(B $B6X(B $B6Y(B $B6Z(B $B6[(B $B6\(B $B6](B $B6^(B $B6_(B +$B6`(B $B6a(B $B6b(B $B6c(B $B6d(B $B6e(B $B6f(B $B6g(B $B6h(B $B6i(B $B6j(B $B6k(B $B6l(B $B6m(B $B6n(B $B6o(B +$B6p(B $B6q(B $B6r(B $B6s(B $B6t(B $B6u(B $B6v(B $B6w(B $B6x(B $B6y(B $B6z(B $B6{(B $B6|(B $B6}(B $B6~(B + $B7!(B $B7"(B $B7#(B $B7$(B $B7%(B $B7&(B $B7'(B $B7((B $B7)(B $B7*(B $B7+(B $B7,(B $B7-(B $B7.(B $B7/(B +$B70(B $B71(B $B72(B $B73(B $B74(B $B75(B $B76(B $B77(B $B78(B $B79(B $B7:(B $B7;(B $B7<(B $B7=(B $B7>(B $B7?(B +$B7@(B $B7A(B $B7B(B $B7C(B $B7D(B $B7E(B $B7F(B $B7G(B $B7H(B $B7I(B $B7J(B $B7K(B $B7L(B $B7M(B $B7N(B $B7O(B +$B7P(B $B7Q(B $B7R(B $B7S(B $B7T(B $B7U(B $B7V(B $B7W(B $B7X(B $B7Y(B $B7Z(B $B7[(B $B7\(B $B7](B $B7^(B $B7_(B +$B7`(B $B7a(B $B7b(B $B7c(B $B7d(B $B7e(B $B7f(B $B7g(B $B7h(B $B7i(B $B7j(B $B7k(B $B7l(B $B7m(B $B7n(B $B7o(B +$B7p(B $B7q(B $B7r(B $B7s(B $B7t(B $B7u(B $B7v(B $B7w(B $B7x(B $B7y(B $B7z(B $B7{(B $B7|(B $B7}(B $B7~(B + $B8!(B $B8"(B $B8#(B $B8$(B $B8%(B $B8&(B $B8'(B $B8((B $B8)(B $B8*(B $B8+(B $B8,(B $B8-(B $B8.(B $B8/(B +$B80(B $B81(B $B82(B $B83(B $B84(B $B85(B $B86(B $B87(B $B88(B $B89(B $B8:(B $B8;(B $B8<(B $B8=(B $B8>(B $B8?(B +$B8@(B $B8A(B $B8B(B $B8C(B $B8D(B $B8E(B $B8F(B $B8G(B $B8H(B $B8I(B $B8J(B $B8K(B $B8L(B $B8M(B $B8N(B $B8O(B +$B8P(B $B8Q(B $B8R(B $B8S(B $B8T(B $B8U(B $B8V(B $B8W(B $B8X(B $B8Y(B $B8Z(B $B8[(B $B8\(B $B8](B $B8^(B $B8_(B +$B8`(B $B8a(B $B8b(B $B8c(B $B8d(B $B8e(B $B8f(B $B8g(B $B8h(B $B8i(B $B8j(B $B8k(B $B8l(B $B8m(B $B8n(B $B8o(B +$B8p(B $B8q(B $B8r(B $B8s(B $B8t(B $B8u(B $B8v(B $B8w(B $B8x(B $B8y(B $B8z(B $B8{(B $B8|(B $B8}(B $B8~(B + $B9!(B $B9"(B $B9#(B $B9$(B $B9%(B $B9&(B $B9'(B $B9((B $B9)(B $B9*(B $B9+(B $B9,(B $B9-(B $B9.(B $B9/(B +$B90(B $B91(B $B92(B $B93(B $B94(B $B95(B $B96(B $B97(B $B98(B $B99(B $B9:(B $B9;(B $B9<(B $B9=(B $B9>(B $B9?(B +$B9@(B $B9A(B $B9B(B $B9C(B $B9D(B $B9E(B $B9F(B $B9G(B $B9H(B $B9I(B $B9J(B $B9K(B $B9L(B $B9M(B $B9N(B $B9O(B +$B9P(B $B9Q(B $B9R(B $B9S(B $B9T(B $B9U(B $B9V(B $B9W(B $B9X(B $B9Y(B $B9Z(B $B9[(B $B9\(B $B9](B $B9^(B $B9_(B +$B9`(B $B9a(B $B9b(B $B9c(B $B9d(B $B9e(B $B9f(B $B9g(B $B9h(B $B9i(B $B9j(B $B9k(B $B9l(B $B9m(B $B9n(B $B9o(B +$B9p(B $B9q(B $B9r(B $B9s(B $B9t(B $B9u(B $B9v(B $B9w(B $B9x(B $B9y(B $B9z(B $B9{(B $B9|(B $B9}(B $B9~(B + $B:!(B $B:"(B $B:#(B $B:$(B $B:%(B $B:&(B $B:'(B $B:((B $B:)(B $B:*(B $B:+(B $B:,(B $B:-(B $B:.(B $B:/(B +$B:0(B $B:1(B $B:2(B $B:3(B $B:4(B $B:5(B $B:6(B $B:7(B $B:8(B $B:9(B $B::(B $B:;(B $B:<(B $B:=(B $B:>(B $B:?(B +$B:@(B $B:A(B $B:B(B $B:C(B $B:D(B $B:E(B $B:F(B $B:G(B $B:H(B $B:I(B $B:J(B $B:K(B $B:L(B $B:M(B $B:N(B $B:O(B +$B:P(B $B:Q(B $B:R(B $B:S(B $B:T(B $B:U(B $B:V(B $B:W(B $B:X(B $B:Y(B $B:Z(B $B:[(B $B:\(B $B:](B $B:^(B $B:_(B +$B:`(B $B:a(B $B:b(B $B:c(B $B:d(B $B:e(B $B:f(B $B:g(B $B:h(B $B:i(B $B:j(B $B:k(B $B:l(B $B:m(B $B:n(B $B:o(B +$B:p(B $B:q(B $B:r(B $B:s(B $B:t(B $B:u(B $B:v(B $B:w(B $B:x(B $B:y(B $B:z(B $B:{(B $B:|(B $B:}(B $B:~(B + $B;!(B $B;"(B $B;#(B $B;$(B $B;%(B $B;&(B $B;'(B $B;((B $B;)(B $B;*(B $B;+(B $B;,(B $B;-(B $B;.(B $B;/(B +$B;0(B $B;1(B $B;2(B $B;3(B $B;4(B $B;5(B $B;6(B $B;7(B $B;8(B $B;9(B $B;:(B $B;;(B $B;<(B $B;=(B $B;>(B $B;?(B +$B;@(B $B;A(B $B;B(B $B;C(B $B;D(B $B;E(B $B;F(B $B;G(B $B;H(B $B;I(B $B;J(B $B;K(B $B;L(B $B;M(B $B;N(B $B;O(B +$B;P(B $B;Q(B $B;R(B $B;S(B $B;T(B $B;U(B $B;V(B $B;W(B $B;X(B $B;Y(B $B;Z(B $B;[(B $B;\(B $B;](B $B;^(B $B;_(B +$B;`(B $B;a(B $B;b(B $B;c(B $B;d(B $B;e(B $B;f(B $B;g(B $B;h(B $B;i(B $B;j(B $B;k(B $B;l(B $B;m(B $B;n(B $B;o(B +$B;p(B $B;q(B $B;r(B $B;s(B $B;t(B $B;u(B $B;v(B $B;w(B $B;x(B $B;y(B $B;z(B $B;{(B $B;|(B $B;}(B $B;~(B + $B(B $B(B $B=?(B +$B=@(B $B=A(B $B=B(B $B=C(B $B=D(B $B=E(B $B=F(B $B=G(B $B=H(B $B=I(B $B=J(B $B=K(B $B=L(B $B=M(B $B=N(B $B=O(B +$B=P(B $B=Q(B $B=R(B $B=S(B $B=T(B $B=U(B $B=V(B $B=W(B $B=X(B $B=Y(B $B=Z(B $B=[(B $B=\(B $B=](B $B=^(B $B=_(B +$B=`(B $B=a(B $B=b(B $B=c(B $B=d(B $B=e(B $B=f(B $B=g(B $B=h(B $B=i(B $B=j(B $B=k(B $B=l(B $B=m(B $B=n(B $B=o(B +$B=p(B $B=q(B $B=r(B $B=s(B $B=t(B $B=u(B $B=v(B $B=w(B $B=x(B $B=y(B $B=z(B $B={(B $B=|(B $B=}(B $B=~(B + $B>!(B $B>"(B $B>#(B $B>$(B $B>%(B $B>&(B $B>'(B $B>((B $B>)(B $B>*(B $B>+(B $B>,(B $B>-(B $B>.(B $B>/(B +$B>0(B $B>1(B $B>2(B $B>3(B $B>4(B $B>5(B $B>6(B $B>7(B $B>8(B $B>9(B $B>:(B $B>;(B $B><(B $B>=(B $B>>(B $B>?(B +$B>@(B $B>A(B $B>B(B $B>C(B $B>D(B $B>E(B $B>F(B $B>G(B $B>H(B $B>I(B $B>J(B $B>K(B $B>L(B $B>M(B $B>N(B $B>O(B +$B>P(B $B>Q(B $B>R(B $B>S(B $B>T(B $B>U(B $B>V(B $B>W(B $B>X(B $B>Y(B $B>Z(B $B>[(B $B>\(B $B>](B $B>^(B $B>_(B +$B>`(B $B>a(B $B>b(B $B>c(B $B>d(B $B>e(B $B>f(B $B>g(B $B>h(B $B>i(B $B>j(B $B>k(B $B>l(B $B>m(B $B>n(B $B>o(B +$B>p(B $B>q(B $B>r(B $B>s(B $B>t(B $B>u(B $B>v(B $B>w(B $B>x(B $B>y(B $B>z(B $B>{(B $B>|(B $B>}(B $B>~(B + $B?!(B $B?"(B $B?#(B $B?$(B $B?%(B $B?&(B $B?'(B $B?((B $B?)(B $B?*(B $B?+(B $B?,(B $B?-(B $B?.(B $B?/(B +$B?0(B $B?1(B $B?2(B $B?3(B $B?4(B $B?5(B $B?6(B $B?7(B $B?8(B $B?9(B $B?:(B $B?;(B $B?<(B $B?=(B $B?>(B $B??(B +$B?@(B $B?A(B $B?B(B $B?C(B $B?D(B $B?E(B $B?F(B $B?G(B $B?H(B $B?I(B $B?J(B $B?K(B $B?L(B $B?M(B $B?N(B $B?O(B +$B?P(B $B?Q(B $B?R(B $B?S(B $B?T(B $B?U(B $B?V(B $B?W(B $B?X(B $B?Y(B $B?Z(B $B?[(B $B?\(B $B?](B $B?^(B $B?_(B +$B?`(B $B?a(B $B?b(B $B?c(B $B?d(B $B?e(B $B?f(B $B?g(B $B?h(B $B?i(B $B?j(B $B?k(B $B?l(B $B?m(B $B?n(B $B?o(B +$B?p(B $B?q(B $B?r(B $B?s(B $B?t(B $B?u(B $B?v(B $B?w(B $B?x(B $B?y(B $B?z(B $B?{(B $B?|(B $B?}(B $B?~(B + $B@!(B $B@"(B $B@#(B $B@$(B $B@%(B $B@&(B $B@'(B $B@((B $B@)(B $B@*(B $B@+(B $B@,(B $B@-(B $B@.(B $B@/(B +$B@0(B $B@1(B $B@2(B $B@3(B $B@4(B $B@5(B $B@6(B $B@7(B $B@8(B $B@9(B $B@:(B $B@;(B $B@<(B $B@=(B $B@>(B $B@?(B +$B@@(B $B@A(B $B@B(B $B@C(B $B@D(B $B@E(B $B@F(B $B@G(B $B@H(B $B@I(B $B@J(B $B@K(B $B@L(B $B@M(B $B@N(B $B@O(B +$B@P(B $B@Q(B $B@R(B $B@S(B $B@T(B $B@U(B $B@V(B $B@W(B $B@X(B $B@Y(B $B@Z(B $B@[(B $B@\(B $B@](B $B@^(B $B@_(B +$B@`(B $B@a(B $B@b(B $B@c(B $B@d(B $B@e(B $B@f(B $B@g(B $B@h(B $B@i(B $B@j(B $B@k(B $B@l(B $B@m(B $B@n(B $B@o(B +$B@p(B $B@q(B $B@r(B $B@s(B $B@t(B $B@u(B $B@v(B $B@w(B $B@x(B $B@y(B $B@z(B $B@{(B $B@|(B $B@}(B $B@~(B + $BA!(B $BA"(B $BA#(B $BA$(B $BA%(B $BA&(B $BA'(B $BA((B $BA)(B $BA*(B $BA+(B $BA,(B $BA-(B $BA.(B $BA/(B +$BA0(B $BA1(B $BA2(B $BA3(B $BA4(B $BA5(B $BA6(B $BA7(B $BA8(B $BA9(B $BA:(B $BA;(B $BA<(B $BA=(B $BA>(B $BA?(B +$BA@(B $BAA(B $BAB(B $BAC(B $BAD(B $BAE(B $BAF(B $BAG(B $BAH(B $BAI(B $BAJ(B $BAK(B $BAL(B $BAM(B $BAN(B $BAO(B +$BAP(B $BAQ(B $BAR(B $BAS(B $BAT(B $BAU(B $BAV(B $BAW(B $BAX(B $BAY(B $BAZ(B $BA[(B $BA\(B $BA](B $BA^(B $BA_(B +$BA`(B $BAa(B $BAb(B $BAc(B $BAd(B $BAe(B $BAf(B $BAg(B $BAh(B $BAi(B $BAj(B $BAk(B $BAl(B $BAm(B $BAn(B $BAo(B +$BAp(B $BAq(B $BAr(B $BAs(B $BAt(B $BAu(B $BAv(B $BAw(B $BAx(B $BAy(B $BAz(B $BA{(B $BA|(B $BA}(B $BA~(B + $BB!(B $BB"(B $BB#(B $BB$(B $BB%(B $BB&(B $BB'(B $BB((B $BB)(B $BB*(B $BB+(B $BB,(B $BB-(B $BB.(B $BB/(B +$BB0(B $BB1(B $BB2(B $BB3(B $BB4(B $BB5(B $BB6(B $BB7(B $BB8(B $BB9(B $BB:(B $BB;(B $BB<(B $BB=(B $BB>(B $BB?(B +$BB@(B $BBA(B $BBB(B $BBC(B $BBD(B $BBE(B $BBF(B $BBG(B $BBH(B $BBI(B $BBJ(B $BBK(B $BBL(B $BBM(B $BBN(B $BBO(B +$BBP(B $BBQ(B $BBR(B $BBS(B $BBT(B $BBU(B $BBV(B $BBW(B $BBX(B $BBY(B $BBZ(B $BB[(B $BB\(B $BB](B $BB^(B $BB_(B +$BB`(B $BBa(B $BBb(B $BBc(B $BBd(B $BBe(B $BBf(B $BBg(B $BBh(B $BBi(B $BBj(B $BBk(B $BBl(B $BBm(B $BBn(B $BBo(B +$BBp(B $BBq(B $BBr(B $BBs(B $BBt(B $BBu(B $BBv(B $BBw(B $BBx(B $BBy(B $BBz(B $BB{(B $BB|(B $BB}(B $BB~(B + $BC!(B $BC"(B $BC#(B $BC$(B $BC%(B $BC&(B $BC'(B $BC((B $BC)(B $BC*(B $BC+(B $BC,(B $BC-(B $BC.(B $BC/(B +$BC0(B $BC1(B $BC2(B $BC3(B $BC4(B $BC5(B $BC6(B $BC7(B $BC8(B $BC9(B $BC:(B $BC;(B $BC<(B $BC=(B $BC>(B $BC?(B +$BC@(B $BCA(B $BCB(B $BCC(B $BCD(B $BCE(B $BCF(B $BCG(B $BCH(B $BCI(B $BCJ(B $BCK(B $BCL(B $BCM(B $BCN(B $BCO(B +$BCP(B $BCQ(B $BCR(B $BCS(B $BCT(B $BCU(B $BCV(B $BCW(B $BCX(B $BCY(B $BCZ(B $BC[(B $BC\(B $BC](B $BC^(B $BC_(B +$BC`(B $BCa(B $BCb(B $BCc(B $BCd(B $BCe(B $BCf(B $BCg(B $BCh(B $BCi(B $BCj(B $BCk(B $BCl(B $BCm(B $BCn(B $BCo(B +$BCp(B $BCq(B $BCr(B $BCs(B $BCt(B $BCu(B $BCv(B $BCw(B $BCx(B $BCy(B $BCz(B $BC{(B $BC|(B $BC}(B $BC~(B + $BD!(B $BD"(B $BD#(B $BD$(B $BD%(B $BD&(B $BD'(B $BD((B $BD)(B $BD*(B $BD+(B $BD,(B $BD-(B $BD.(B $BD/(B +$BD0(B $BD1(B $BD2(B $BD3(B $BD4(B $BD5(B $BD6(B $BD7(B $BD8(B $BD9(B $BD:(B $BD;(B $BD<(B $BD=(B $BD>(B $BD?(B +$BD@(B $BDA(B $BDB(B $BDC(B $BDD(B $BDE(B $BDF(B $BDG(B $BDH(B $BDI(B $BDJ(B $BDK(B $BDL(B $BDM(B $BDN(B $BDO(B +$BDP(B $BDQ(B $BDR(B $BDS(B $BDT(B $BDU(B $BDV(B $BDW(B $BDX(B $BDY(B $BDZ(B $BD[(B $BD\(B $BD](B $BD^(B $BD_(B +$BD`(B $BDa(B $BDb(B $BDc(B $BDd(B $BDe(B $BDf(B $BDg(B $BDh(B $BDi(B $BDj(B $BDk(B $BDl(B $BDm(B $BDn(B $BDo(B +$BDp(B $BDq(B $BDr(B $BDs(B $BDt(B $BDu(B $BDv(B $BDw(B $BDx(B $BDy(B $BDz(B $BD{(B $BD|(B $BD}(B $BD~(B + $BE!(B $BE"(B $BE#(B $BE$(B $BE%(B $BE&(B $BE'(B $BE((B $BE)(B $BE*(B $BE+(B $BE,(B $BE-(B $BE.(B $BE/(B +$BE0(B $BE1(B $BE2(B $BE3(B $BE4(B $BE5(B $BE6(B $BE7(B $BE8(B $BE9(B $BE:(B $BE;(B $BE<(B $BE=(B $BE>(B $BE?(B +$BE@(B $BEA(B $BEB(B $BEC(B $BED(B $BEE(B $BEF(B $BEG(B $BEH(B $BEI(B $BEJ(B $BEK(B $BEL(B $BEM(B $BEN(B $BEO(B +$BEP(B $BEQ(B $BER(B $BES(B $BET(B $BEU(B $BEV(B $BEW(B $BEX(B $BEY(B $BEZ(B $BE[(B $BE\(B $BE](B $BE^(B $BE_(B +$BE`(B $BEa(B $BEb(B $BEc(B $BEd(B $BEe(B $BEf(B $BEg(B $BEh(B $BEi(B $BEj(B $BEk(B $BEl(B $BEm(B $BEn(B $BEo(B +$BEp(B $BEq(B $BEr(B $BEs(B $BEt(B $BEu(B $BEv(B $BEw(B $BEx(B $BEy(B $BEz(B $BE{(B $BE|(B $BE}(B $BE~(B + $BF!(B $BF"(B $BF#(B $BF$(B $BF%(B $BF&(B $BF'(B $BF((B $BF)(B $BF*(B $BF+(B $BF,(B $BF-(B $BF.(B $BF/(B +$BF0(B $BF1(B $BF2(B $BF3(B $BF4(B $BF5(B $BF6(B $BF7(B $BF8(B $BF9(B $BF:(B $BF;(B $BF<(B $BF=(B $BF>(B $BF?(B +$BF@(B $BFA(B $BFB(B $BFC(B $BFD(B $BFE(B $BFF(B $BFG(B $BFH(B $BFI(B $BFJ(B $BFK(B $BFL(B $BFM(B $BFN(B $BFO(B +$BFP(B $BFQ(B $BFR(B $BFS(B $BFT(B $BFU(B $BFV(B $BFW(B $BFX(B $BFY(B $BFZ(B $BF[(B $BF\(B $BF](B $BF^(B $BF_(B +$BF`(B $BFa(B $BFb(B $BFc(B $BFd(B $BFe(B $BFf(B $BFg(B $BFh(B $BFi(B $BFj(B $BFk(B $BFl(B $BFm(B $BFn(B $BFo(B +$BFp(B $BFq(B $BFr(B $BFs(B $BFt(B $BFu(B $BFv(B $BFw(B $BFx(B $BFy(B $BFz(B $BF{(B $BF|(B $BF}(B $BF~(B + $BG!(B $BG"(B $BG#(B $BG$(B $BG%(B $BG&(B $BG'(B $BG((B $BG)(B $BG*(B $BG+(B $BG,(B $BG-(B $BG.(B $BG/(B +$BG0(B $BG1(B $BG2(B $BG3(B $BG4(B $BG5(B $BG6(B $BG7(B $BG8(B $BG9(B $BG:(B $BG;(B $BG<(B $BG=(B $BG>(B $BG?(B +$BG@(B $BGA(B $BGB(B $BGC(B $BGD(B $BGE(B $BGF(B $BGG(B $BGH(B $BGI(B $BGJ(B $BGK(B $BGL(B $BGM(B $BGN(B $BGO(B +$BGP(B $BGQ(B $BGR(B $BGS(B $BGT(B $BGU(B $BGV(B $BGW(B $BGX(B $BGY(B $BGZ(B $BG[(B $BG\(B $BG](B $BG^(B $BG_(B +$BG`(B $BGa(B $BGb(B $BGc(B $BGd(B $BGe(B $BGf(B $BGg(B $BGh(B $BGi(B $BGj(B $BGk(B $BGl(B $BGm(B $BGn(B $BGo(B +$BGp(B $BGq(B $BGr(B $BGs(B $BGt(B $BGu(B $BGv(B $BGw(B $BGx(B $BGy(B $BGz(B $BG{(B $BG|(B $BG}(B $BG~(B + $BH!(B $BH"(B $BH#(B $BH$(B $BH%(B $BH&(B $BH'(B $BH((B $BH)(B $BH*(B $BH+(B $BH,(B $BH-(B $BH.(B $BH/(B +$BH0(B $BH1(B $BH2(B $BH3(B $BH4(B $BH5(B $BH6(B $BH7(B $BH8(B $BH9(B $BH:(B $BH;(B $BH<(B $BH=(B $BH>(B $BH?(B +$BH@(B $BHA(B $BHB(B $BHC(B $BHD(B $BHE(B $BHF(B $BHG(B $BHH(B $BHI(B $BHJ(B $BHK(B $BHL(B $BHM(B $BHN(B $BHO(B +$BHP(B $BHQ(B $BHR(B $BHS(B $BHT(B $BHU(B $BHV(B $BHW(B $BHX(B $BHY(B $BHZ(B $BH[(B $BH\(B $BH](B $BH^(B $BH_(B +$BH`(B $BHa(B $BHb(B $BHc(B $BHd(B $BHe(B $BHf(B $BHg(B $BHh(B $BHi(B $BHj(B $BHk(B $BHl(B $BHm(B $BHn(B $BHo(B +$BHp(B $BHq(B $BHr(B $BHs(B $BHt(B $BHu(B $BHv(B $BHw(B $BHx(B $BHy(B $BHz(B $BH{(B $BH|(B $BH}(B $BH~(B + $BI!(B $BI"(B $BI#(B $BI$(B $BI%(B $BI&(B $BI'(B $BI((B $BI)(B $BI*(B $BI+(B $BI,(B $BI-(B $BI.(B $BI/(B +$BI0(B $BI1(B $BI2(B $BI3(B $BI4(B $BI5(B $BI6(B $BI7(B $BI8(B $BI9(B $BI:(B $BI;(B $BI<(B $BI=(B $BI>(B $BI?(B +$BI@(B $BIA(B $BIB(B $BIC(B $BID(B $BIE(B $BIF(B $BIG(B $BIH(B $BII(B $BIJ(B $BIK(B $BIL(B $BIM(B $BIN(B $BIO(B +$BIP(B $BIQ(B $BIR(B $BIS(B $BIT(B $BIU(B $BIV(B $BIW(B $BIX(B $BIY(B $BIZ(B $BI[(B $BI\(B $BI](B $BI^(B $BI_(B +$BI`(B $BIa(B $BIb(B $BIc(B $BId(B $BIe(B $BIf(B $BIg(B $BIh(B $BIi(B $BIj(B $BIk(B $BIl(B $BIm(B $BIn(B $BIo(B +$BIp(B $BIq(B $BIr(B $BIs(B $BIt(B $BIu(B $BIv(B $BIw(B $BIx(B $BIy(B $BIz(B $BI{(B $BI|(B $BI}(B $BI~(B + $BJ!(B $BJ"(B $BJ#(B $BJ$(B $BJ%(B $BJ&(B $BJ'(B $BJ((B $BJ)(B $BJ*(B $BJ+(B $BJ,(B $BJ-(B $BJ.(B $BJ/(B +$BJ0(B $BJ1(B $BJ2(B $BJ3(B $BJ4(B $BJ5(B $BJ6(B $BJ7(B $BJ8(B $BJ9(B $BJ:(B $BJ;(B $BJ<(B $BJ=(B $BJ>(B $BJ?(B +$BJ@(B $BJA(B $BJB(B $BJC(B $BJD(B $BJE(B $BJF(B $BJG(B $BJH(B $BJI(B $BJJ(B $BJK(B $BJL(B $BJM(B $BJN(B $BJO(B +$BJP(B $BJQ(B $BJR(B $BJS(B $BJT(B $BJU(B $BJV(B $BJW(B $BJX(B $BJY(B $BJZ(B $BJ[(B $BJ\(B $BJ](B $BJ^(B $BJ_(B +$BJ`(B $BJa(B $BJb(B $BJc(B $BJd(B $BJe(B $BJf(B $BJg(B $BJh(B $BJi(B $BJj(B $BJk(B $BJl(B $BJm(B $BJn(B $BJo(B +$BJp(B $BJq(B $BJr(B $BJs(B $BJt(B $BJu(B $BJv(B $BJw(B $BJx(B $BJy(B $BJz(B $BJ{(B $BJ|(B $BJ}(B $BJ~(B + $BK!(B $BK"(B $BK#(B $BK$(B $BK%(B $BK&(B $BK'(B $BK((B $BK)(B $BK*(B $BK+(B $BK,(B $BK-(B $BK.(B $BK/(B +$BK0(B $BK1(B $BK2(B $BK3(B $BK4(B $BK5(B $BK6(B $BK7(B $BK8(B $BK9(B $BK:(B $BK;(B $BK<(B $BK=(B $BK>(B $BK?(B +$BK@(B $BKA(B $BKB(B $BKC(B $BKD(B $BKE(B $BKF(B $BKG(B $BKH(B $BKI(B $BKJ(B $BKK(B $BKL(B $BKM(B $BKN(B $BKO(B +$BKP(B $BKQ(B $BKR(B $BKS(B $BKT(B $BKU(B $BKV(B $BKW(B $BKX(B $BKY(B $BKZ(B $BK[(B $BK\(B $BK](B $BK^(B $BK_(B +$BK`(B $BKa(B $BKb(B $BKc(B $BKd(B $BKe(B $BKf(B $BKg(B $BKh(B $BKi(B $BKj(B $BKk(B $BKl(B $BKm(B $BKn(B $BKo(B +$BKp(B $BKq(B $BKr(B $BKs(B $BKt(B $BKu(B $BKv(B $BKw(B $BKx(B $BKy(B $BKz(B $BK{(B $BK|(B $BK}(B $BK~(B + $BL!(B $BL"(B $BL#(B $BL$(B $BL%(B $BL&(B $BL'(B $BL((B $BL)(B $BL*(B $BL+(B $BL,(B $BL-(B $BL.(B $BL/(B +$BL0(B $BL1(B $BL2(B $BL3(B $BL4(B $BL5(B $BL6(B $BL7(B $BL8(B $BL9(B $BL:(B $BL;(B $BL<(B $BL=(B $BL>(B $BL?(B +$BL@(B $BLA(B $BLB(B $BLC(B $BLD(B $BLE(B $BLF(B $BLG(B $BLH(B $BLI(B $BLJ(B $BLK(B $BLL(B $BLM(B $BLN(B $BLO(B +$BLP(B $BLQ(B $BLR(B $BLS(B $BLT(B $BLU(B $BLV(B $BLW(B $BLX(B $BLY(B $BLZ(B $BL[(B $BL\(B $BL](B $BL^(B $BL_(B +$BL`(B $BLa(B $BLb(B $BLc(B $BLd(B $BLe(B $BLf(B $BLg(B $BLh(B $BLi(B $BLj(B $BLk(B $BLl(B $BLm(B $BLn(B $BLo(B +$BLp(B $BLq(B $BLr(B $BLs(B $BLt(B $BLu(B $BLv(B $BLw(B $BLx(B $BLy(B $BLz(B $BL{(B $BL|(B $BL}(B $BL~(B + $BM!(B $BM"(B $BM#(B $BM$(B $BM%(B $BM&(B $BM'(B $BM((B $BM)(B $BM*(B $BM+(B $BM,(B $BM-(B $BM.(B $BM/(B +$BM0(B $BM1(B $BM2(B $BM3(B $BM4(B $BM5(B $BM6(B $BM7(B $BM8(B $BM9(B $BM:(B $BM;(B $BM<(B $BM=(B $BM>(B $BM?(B +$BM@(B $BMA(B $BMB(B $BMC(B $BMD(B $BME(B $BMF(B $BMG(B $BMH(B $BMI(B $BMJ(B $BMK(B $BML(B $BMM(B $BMN(B $BMO(B +$BMP(B $BMQ(B $BMR(B $BMS(B $BMT(B $BMU(B $BMV(B $BMW(B $BMX(B $BMY(B $BMZ(B $BM[(B $BM\(B $BM](B $BM^(B $BM_(B +$BM`(B $BMa(B $BMb(B $BMc(B $BMd(B $BMe(B $BMf(B $BMg(B $BMh(B $BMi(B $BMj(B $BMk(B $BMl(B $BMm(B $BMn(B $BMo(B +$BMp(B $BMq(B $BMr(B $BMs(B $BMt(B $BMu(B $BMv(B $BMw(B $BMx(B $BMy(B $BMz(B $BM{(B $BM|(B $BM}(B $BM~(B + $BN!(B $BN"(B $BN#(B $BN$(B $BN%(B $BN&(B $BN'(B $BN((B $BN)(B $BN*(B $BN+(B $BN,(B $BN-(B $BN.(B $BN/(B +$BN0(B $BN1(B $BN2(B $BN3(B $BN4(B $BN5(B $BN6(B $BN7(B $BN8(B $BN9(B $BN:(B $BN;(B $BN<(B $BN=(B $BN>(B $BN?(B +$BN@(B $BNA(B $BNB(B $BNC(B $BND(B $BNE(B $BNF(B $BNG(B $BNH(B $BNI(B $BNJ(B $BNK(B $BNL(B $BNM(B $BNN(B $BNO(B +$BNP(B $BNQ(B $BNR(B $BNS(B $BNT(B $BNU(B $BNV(B $BNW(B $BNX(B $BNY(B $BNZ(B $BN[(B $BN\(B $BN](B $BN^(B $BN_(B +$BN`(B $BNa(B $BNb(B $BNc(B $BNd(B $BNe(B $BNf(B $BNg(B $BNh(B $BNi(B $BNj(B $BNk(B $BNl(B $BNm(B $BNn(B $BNo(B +$BNp(B $BNq(B $BNr(B $BNs(B $BNt(B $BNu(B $BNv(B $BNw(B $BNx(B $BNy(B $BNz(B $BN{(B $BN|(B $BN}(B $BN~(B + $BO!(B $BO"(B $BO#(B $BO$(B $BO%(B $BO&(B $BO'(B $BO((B $BO)(B $BO*(B $BO+(B $BO,(B $BO-(B $BO.(B $BO/(B +$BO0(B $BO1(B $BO2(B $BO3(B $BO4(B $BO5(B $BO6(B $BO7(B $BO8(B $BO9(B $BO:(B $BO;(B $BO<(B $BO=(B $BO>(B $BO?(B +$BO@(B $BOA(B $BOB(B $BOC(B $BOD(B $BOE(B $BOF(B $BOG(B $BOH(B $BOI(B $BOJ(B $BOK(B $BOL(B $BOM(B $BON(B $BOO(B +$BOP(B $BOQ(B $BOR(B $BOS(B + $BP!(B $BP"(B $BP#(B $BP$(B $BP%(B $BP&(B $BP'(B $BP((B $BP)(B $BP*(B $BP+(B $BP,(B $BP-(B $BP.(B $BP/(B +$BP0(B $BP1(B $BP2(B $BP3(B $BP4(B $BP5(B $BP6(B $BP7(B $BP8(B $BP9(B $BP:(B $BP;(B $BP<(B $BP=(B $BP>(B $BP?(B +$BP@(B $BPA(B $BPB(B $BPC(B $BPD(B $BPE(B $BPF(B $BPG(B $BPH(B $BPI(B $BPJ(B $BPK(B $BPL(B $BPM(B $BPN(B $BPO(B +$BPP(B $BPQ(B $BPR(B $BPS(B $BPT(B $BPU(B $BPV(B $BPW(B $BPX(B $BPY(B $BPZ(B $BP[(B $BP\(B $BP](B $BP^(B $BP_(B +$BP`(B $BPa(B $BPb(B $BPc(B $BPd(B $BPe(B $BPf(B $BPg(B $BPh(B $BPi(B $BPj(B $BPk(B $BPl(B $BPm(B $BPn(B $BPo(B +$BPp(B $BPq(B $BPr(B $BPs(B $BPt(B $BPu(B $BPv(B $BPw(B $BPx(B $BPy(B $BPz(B $BP{(B $BP|(B $BP}(B $BP~(B + $BQ!(B $BQ"(B $BQ#(B $BQ$(B $BQ%(B $BQ&(B $BQ'(B $BQ((B $BQ)(B $BQ*(B $BQ+(B $BQ,(B $BQ-(B $BQ.(B $BQ/(B +$BQ0(B $BQ1(B $BQ2(B $BQ3(B $BQ4(B $BQ5(B $BQ6(B $BQ7(B $BQ8(B $BQ9(B $BQ:(B $BQ;(B $BQ<(B $BQ=(B $BQ>(B $BQ?(B +$BQ@(B $BQA(B $BQB(B $BQC(B $BQD(B $BQE(B $BQF(B $BQG(B $BQH(B $BQI(B $BQJ(B $BQK(B $BQL(B $BQM(B $BQN(B $BQO(B +$BQP(B $BQQ(B $BQR(B $BQS(B $BQT(B $BQU(B $BQV(B $BQW(B $BQX(B $BQY(B $BQZ(B $BQ[(B $BQ\(B $BQ](B $BQ^(B $BQ_(B +$BQ`(B $BQa(B $BQb(B $BQc(B $BQd(B $BQe(B $BQf(B $BQg(B $BQh(B $BQi(B $BQj(B $BQk(B $BQl(B $BQm(B $BQn(B $BQo(B +$BQp(B $BQq(B $BQr(B $BQs(B $BQt(B $BQu(B $BQv(B $BQw(B $BQx(B $BQy(B $BQz(B $BQ{(B $BQ|(B $BQ}(B $BQ~(B + $BR!(B $BR"(B $BR#(B $BR$(B $BR%(B $BR&(B $BR'(B $BR((B $BR)(B $BR*(B $BR+(B $BR,(B $BR-(B $BR.(B $BR/(B +$BR0(B $BR1(B $BR2(B $BR3(B $BR4(B $BR5(B $BR6(B $BR7(B $BR8(B $BR9(B $BR:(B $BR;(B $BR<(B $BR=(B $BR>(B $BR?(B +$BR@(B $BRA(B $BRB(B $BRC(B $BRD(B $BRE(B $BRF(B $BRG(B $BRH(B $BRI(B $BRJ(B $BRK(B $BRL(B $BRM(B $BRN(B $BRO(B +$BRP(B $BRQ(B $BRR(B $BRS(B $BRT(B $BRU(B $BRV(B $BRW(B $BRX(B $BRY(B $BRZ(B $BR[(B $BR\(B $BR](B $BR^(B $BR_(B +$BR`(B $BRa(B $BRb(B $BRc(B $BRd(B $BRe(B $BRf(B $BRg(B $BRh(B $BRi(B $BRj(B $BRk(B $BRl(B $BRm(B $BRn(B $BRo(B +$BRp(B $BRq(B $BRr(B $BRs(B $BRt(B $BRu(B $BRv(B $BRw(B $BRx(B $BRy(B $BRz(B $BR{(B $BR|(B $BR}(B $BR~(B + $BS!(B $BS"(B $BS#(B $BS$(B $BS%(B $BS&(B $BS'(B $BS((B $BS)(B $BS*(B $BS+(B $BS,(B $BS-(B $BS.(B $BS/(B +$BS0(B $BS1(B $BS2(B $BS3(B $BS4(B $BS5(B $BS6(B $BS7(B $BS8(B $BS9(B $BS:(B $BS;(B $BS<(B $BS=(B $BS>(B $BS?(B +$BS@(B $BSA(B $BSB(B $BSC(B $BSD(B $BSE(B $BSF(B $BSG(B $BSH(B $BSI(B $BSJ(B $BSK(B $BSL(B $BSM(B $BSN(B $BSO(B +$BSP(B $BSQ(B $BSR(B $BSS(B $BST(B $BSU(B $BSV(B $BSW(B $BSX(B $BSY(B $BSZ(B $BS[(B $BS\(B $BS](B $BS^(B $BS_(B +$BS`(B $BSa(B $BSb(B $BSc(B $BSd(B $BSe(B $BSf(B $BSg(B $BSh(B $BSi(B $BSj(B $BSk(B $BSl(B $BSm(B $BSn(B $BSo(B +$BSp(B $BSq(B $BSr(B $BSs(B $BSt(B $BSu(B $BSv(B $BSw(B $BSx(B $BSy(B $BSz(B $BS{(B $BS|(B $BS}(B $BS~(B + $BT!(B $BT"(B $BT#(B $BT$(B $BT%(B $BT&(B $BT'(B $BT((B $BT)(B $BT*(B $BT+(B $BT,(B $BT-(B $BT.(B $BT/(B +$BT0(B $BT1(B $BT2(B $BT3(B $BT4(B $BT5(B $BT6(B $BT7(B $BT8(B $BT9(B $BT:(B $BT;(B $BT<(B $BT=(B $BT>(B $BT?(B +$BT@(B $BTA(B $BTB(B $BTC(B $BTD(B $BTE(B $BTF(B $BTG(B $BTH(B $BTI(B $BTJ(B $BTK(B $BTL(B $BTM(B $BTN(B $BTO(B +$BTP(B $BTQ(B $BTR(B $BTS(B $BTT(B $BTU(B $BTV(B $BTW(B $BTX(B $BTY(B $BTZ(B $BT[(B $BT\(B $BT](B $BT^(B $BT_(B +$BT`(B $BTa(B $BTb(B $BTc(B $BTd(B $BTe(B $BTf(B $BTg(B $BTh(B $BTi(B $BTj(B $BTk(B $BTl(B $BTm(B $BTn(B $BTo(B +$BTp(B $BTq(B $BTr(B $BTs(B $BTt(B $BTu(B $BTv(B $BTw(B $BTx(B $BTy(B $BTz(B $BT{(B $BT|(B $BT}(B $BT~(B + $BU!(B $BU"(B $BU#(B $BU$(B $BU%(B $BU&(B $BU'(B $BU((B $BU)(B $BU*(B $BU+(B $BU,(B $BU-(B $BU.(B $BU/(B +$BU0(B $BU1(B $BU2(B $BU3(B $BU4(B $BU5(B $BU6(B $BU7(B $BU8(B $BU9(B $BU:(B $BU;(B $BU<(B $BU=(B $BU>(B $BU?(B +$BU@(B $BUA(B $BUB(B $BUC(B $BUD(B $BUE(B $BUF(B $BUG(B $BUH(B $BUI(B $BUJ(B $BUK(B $BUL(B $BUM(B $BUN(B $BUO(B +$BUP(B $BUQ(B $BUR(B $BUS(B $BUT(B $BUU(B $BUV(B $BUW(B $BUX(B $BUY(B $BUZ(B $BU[(B $BU\(B $BU](B $BU^(B $BU_(B +$BU`(B $BUa(B $BUb(B $BUc(B $BUd(B $BUe(B $BUf(B $BUg(B $BUh(B $BUi(B $BUj(B $BUk(B $BUl(B $BUm(B $BUn(B $BUo(B +$BUp(B $BUq(B $BUr(B $BUs(B $BUt(B $BUu(B $BUv(B $BUw(B $BUx(B $BUy(B $BUz(B $BU{(B $BU|(B $BU}(B $BU~(B + $BV!(B $BV"(B $BV#(B $BV$(B $BV%(B $BV&(B $BV'(B $BV((B $BV)(B $BV*(B $BV+(B $BV,(B $BV-(B $BV.(B $BV/(B +$BV0(B $BV1(B $BV2(B $BV3(B $BV4(B $BV5(B $BV6(B $BV7(B $BV8(B $BV9(B $BV:(B $BV;(B $BV<(B $BV=(B $BV>(B $BV?(B +$BV@(B $BVA(B $BVB(B $BVC(B $BVD(B $BVE(B $BVF(B $BVG(B $BVH(B $BVI(B $BVJ(B $BVK(B $BVL(B $BVM(B $BVN(B $BVO(B +$BVP(B $BVQ(B $BVR(B $BVS(B $BVT(B $BVU(B $BVV(B $BVW(B $BVX(B $BVY(B $BVZ(B $BV[(B $BV\(B $BV](B $BV^(B $BV_(B +$BV`(B $BVa(B $BVb(B $BVc(B $BVd(B $BVe(B $BVf(B $BVg(B $BVh(B $BVi(B $BVj(B $BVk(B $BVl(B $BVm(B $BVn(B $BVo(B +$BVp(B $BVq(B $BVr(B $BVs(B $BVt(B $BVu(B $BVv(B $BVw(B $BVx(B $BVy(B $BVz(B $BV{(B $BV|(B $BV}(B $BV~(B + $BW!(B $BW"(B $BW#(B $BW$(B $BW%(B $BW&(B $BW'(B $BW((B $BW)(B $BW*(B $BW+(B $BW,(B $BW-(B $BW.(B $BW/(B +$BW0(B $BW1(B $BW2(B $BW3(B $BW4(B $BW5(B $BW6(B $BW7(B $BW8(B $BW9(B $BW:(B $BW;(B $BW<(B $BW=(B $BW>(B $BW?(B +$BW@(B $BWA(B $BWB(B $BWC(B $BWD(B $BWE(B $BWF(B $BWG(B $BWH(B $BWI(B $BWJ(B $BWK(B $BWL(B $BWM(B $BWN(B $BWO(B +$BWP(B $BWQ(B $BWR(B $BWS(B $BWT(B $BWU(B $BWV(B $BWW(B $BWX(B $BWY(B $BWZ(B $BW[(B $BW\(B $BW](B $BW^(B $BW_(B +$BW`(B $BWa(B $BWb(B $BWc(B $BWd(B $BWe(B $BWf(B $BWg(B $BWh(B $BWi(B $BWj(B $BWk(B $BWl(B $BWm(B $BWn(B $BWo(B +$BWp(B $BWq(B $BWr(B $BWs(B $BWt(B $BWu(B $BWv(B $BWw(B $BWx(B $BWy(B $BWz(B $BW{(B $BW|(B $BW}(B $BW~(B + $BX!(B $BX"(B $BX#(B $BX$(B $BX%(B $BX&(B $BX'(B $BX((B $BX)(B $BX*(B $BX+(B $BX,(B $BX-(B $BX.(B $BX/(B +$BX0(B $BX1(B $BX2(B $BX3(B $BX4(B $BX5(B $BX6(B $BX7(B $BX8(B $BX9(B $BX:(B $BX;(B $BX<(B $BX=(B $BX>(B $BX?(B +$BX@(B $BXA(B $BXB(B $BXC(B $BXD(B $BXE(B $BXF(B $BXG(B $BXH(B $BXI(B $BXJ(B $BXK(B $BXL(B $BXM(B $BXN(B $BXO(B +$BXP(B $BXQ(B $BXR(B $BXS(B $BXT(B $BXU(B $BXV(B $BXW(B $BXX(B $BXY(B $BXZ(B $BX[(B $BX\(B $BX](B $BX^(B $BX_(B +$BX`(B $BXa(B $BXb(B $BXc(B $BXd(B $BXe(B $BXf(B $BXg(B $BXh(B $BXi(B $BXj(B $BXk(B $BXl(B $BXm(B $BXn(B $BXo(B +$BXp(B $BXq(B $BXr(B $BXs(B $BXt(B $BXu(B $BXv(B $BXw(B $BXx(B $BXy(B $BXz(B $BX{(B $BX|(B $BX}(B $BX~(B + $BY!(B $BY"(B $BY#(B $BY$(B $BY%(B $BY&(B $BY'(B $BY((B $BY)(B $BY*(B $BY+(B $BY,(B $BY-(B $BY.(B $BY/(B +$BY0(B $BY1(B $BY2(B $BY3(B $BY4(B $BY5(B $BY6(B $BY7(B $BY8(B $BY9(B $BY:(B $BY;(B $BY<(B $BY=(B $BY>(B $BY?(B +$BY@(B $BYA(B $BYB(B $BYC(B $BYD(B $BYE(B $BYF(B $BYG(B $BYH(B $BYI(B $BYJ(B $BYK(B $BYL(B $BYM(B $BYN(B $BYO(B +$BYP(B $BYQ(B $BYR(B $BYS(B $BYT(B $BYU(B $BYV(B $BYW(B $BYX(B $BYY(B $BYZ(B $BY[(B $BY\(B $BY](B $BY^(B $BY_(B +$BY`(B $BYa(B $BYb(B $BYc(B $BYd(B $BYe(B $BYf(B $BYg(B $BYh(B $BYi(B $BYj(B $BYk(B $BYl(B $BYm(B $BYn(B $BYo(B +$BYp(B $BYq(B $BYr(B $BYs(B $BYt(B $BYu(B $BYv(B $BYw(B $BYx(B $BYy(B $BYz(B $BY{(B $BY|(B $BY}(B $BY~(B + $BZ!(B $BZ"(B $BZ#(B $BZ$(B $BZ%(B $BZ&(B $BZ'(B $BZ((B $BZ)(B $BZ*(B $BZ+(B $BZ,(B $BZ-(B $BZ.(B $BZ/(B +$BZ0(B $BZ1(B $BZ2(B $BZ3(B $BZ4(B $BZ5(B $BZ6(B $BZ7(B $BZ8(B $BZ9(B $BZ:(B $BZ;(B $BZ<(B $BZ=(B $BZ>(B $BZ?(B +$BZ@(B $BZA(B $BZB(B $BZC(B $BZD(B $BZE(B $BZF(B $BZG(B $BZH(B $BZI(B $BZJ(B $BZK(B $BZL(B $BZM(B $BZN(B $BZO(B +$BZP(B $BZQ(B $BZR(B $BZS(B $BZT(B $BZU(B $BZV(B $BZW(B $BZX(B $BZY(B $BZZ(B $BZ[(B $BZ\(B $BZ](B $BZ^(B $BZ_(B +$BZ`(B $BZa(B $BZb(B $BZc(B $BZd(B $BZe(B $BZf(B $BZg(B $BZh(B $BZi(B $BZj(B $BZk(B $BZl(B $BZm(B $BZn(B $BZo(B +$BZp(B $BZq(B $BZr(B $BZs(B $BZt(B $BZu(B $BZv(B $BZw(B $BZx(B $BZy(B $BZz(B $BZ{(B $BZ|(B $BZ}(B $BZ~(B + $B[!(B $B["(B $B[#(B $B[$(B $B[%(B $B[&(B $B['(B $B[((B $B[)(B $B[*(B $B[+(B $B[,(B $B[-(B $B[.(B $B[/(B +$B[0(B $B[1(B $B[2(B $B[3(B $B[4(B $B[5(B $B[6(B $B[7(B $B[8(B $B[9(B $B[:(B $B[;(B $B[<(B $B[=(B $B[>(B $B[?(B +$B[@(B $B[A(B $B[B(B $B[C(B $B[D(B $B[E(B $B[F(B $B[G(B $B[H(B $B[I(B $B[J(B $B[K(B $B[L(B $B[M(B $B[N(B $B[O(B +$B[P(B $B[Q(B $B[R(B $B[S(B $B[T(B $B[U(B $B[V(B $B[W(B $B[X(B $B[Y(B $B[Z(B $B[[(B $B[\(B $B[](B $B[^(B $B[_(B +$B[`(B $B[a(B $B[b(B $B[c(B $B[d(B $B[e(B $B[f(B $B[g(B $B[h(B $B[i(B $B[j(B $B[k(B $B[l(B $B[m(B $B[n(B $B[o(B +$B[p(B $B[q(B $B[r(B $B[s(B $B[t(B $B[u(B $B[v(B $B[w(B $B[x(B $B[y(B $B[z(B $B[{(B $B[|(B $B[}(B $B[~(B + $B\!(B $B\"(B $B\#(B $B\$(B $B\%(B $B\&(B $B\'(B $B\((B $B\)(B $B\*(B $B\+(B $B\,(B $B\-(B $B\.(B $B\/(B +$B\0(B $B\1(B $B\2(B $B\3(B $B\4(B $B\5(B $B\6(B $B\7(B $B\8(B $B\9(B $B\:(B $B\;(B $B\<(B $B\=(B $B\>(B $B\?(B +$B\@(B $B\A(B $B\B(B $B\C(B $B\D(B $B\E(B $B\F(B $B\G(B $B\H(B $B\I(B $B\J(B $B\K(B $B\L(B $B\M(B $B\N(B $B\O(B +$B\P(B $B\Q(B $B\R(B $B\S(B $B\T(B $B\U(B $B\V(B $B\W(B $B\X(B $B\Y(B $B\Z(B $B\[(B $B\\(B $B\](B $B\^(B $B\_(B +$B\`(B $B\a(B $B\b(B $B\c(B $B\d(B $B\e(B $B\f(B $B\g(B $B\h(B $B\i(B $B\j(B $B\k(B $B\l(B $B\m(B $B\n(B $B\o(B +$B\p(B $B\q(B $B\r(B $B\s(B $B\t(B $B\u(B $B\v(B $B\w(B $B\x(B $B\y(B $B\z(B $B\{(B $B\|(B $B\}(B $B\~(B + $B]!(B $B]"(B $B]#(B $B]$(B $B]%(B $B]&(B $B]'(B $B]((B $B])(B $B]*(B $B]+(B $B],(B $B]-(B $B].(B $B]/(B +$B]0(B $B]1(B $B]2(B $B]3(B $B]4(B $B]5(B $B]6(B $B]7(B $B]8(B $B]9(B $B]:(B $B];(B $B]<(B $B]=(B $B]>(B $B]?(B +$B]@(B $B]A(B $B]B(B $B]C(B $B]D(B $B]E(B $B]F(B $B]G(B $B]H(B $B]I(B $B]J(B $B]K(B $B]L(B $B]M(B $B]N(B $B]O(B +$B]P(B $B]Q(B $B]R(B $B]S(B $B]T(B $B]U(B $B]V(B $B]W(B $B]X(B $B]Y(B $B]Z(B $B][(B $B]\(B $B]](B $B]^(B $B]_(B +$B]`(B $B]a(B $B]b(B $B]c(B $B]d(B $B]e(B $B]f(B $B]g(B $B]h(B $B]i(B $B]j(B $B]k(B $B]l(B $B]m(B $B]n(B $B]o(B +$B]p(B $B]q(B $B]r(B $B]s(B $B]t(B $B]u(B $B]v(B $B]w(B $B]x(B $B]y(B $B]z(B $B]{(B $B]|(B $B]}(B $B]~(B + $B^!(B $B^"(B $B^#(B $B^$(B $B^%(B $B^&(B $B^'(B $B^((B $B^)(B $B^*(B $B^+(B $B^,(B $B^-(B $B^.(B $B^/(B +$B^0(B $B^1(B $B^2(B $B^3(B $B^4(B $B^5(B $B^6(B $B^7(B $B^8(B $B^9(B $B^:(B $B^;(B $B^<(B $B^=(B $B^>(B $B^?(B +$B^@(B $B^A(B $B^B(B $B^C(B $B^D(B $B^E(B $B^F(B $B^G(B $B^H(B $B^I(B $B^J(B $B^K(B $B^L(B $B^M(B $B^N(B $B^O(B +$B^P(B $B^Q(B $B^R(B $B^S(B $B^T(B $B^U(B $B^V(B $B^W(B $B^X(B $B^Y(B $B^Z(B $B^[(B $B^\(B $B^](B $B^^(B $B^_(B +$B^`(B $B^a(B $B^b(B $B^c(B $B^d(B $B^e(B $B^f(B $B^g(B $B^h(B $B^i(B $B^j(B $B^k(B $B^l(B $B^m(B $B^n(B $B^o(B +$B^p(B $B^q(B $B^r(B $B^s(B $B^t(B $B^u(B $B^v(B $B^w(B $B^x(B $B^y(B $B^z(B $B^{(B $B^|(B $B^}(B $B^~(B + $B_!(B $B_"(B $B_#(B $B_$(B $B_%(B $B_&(B $B_'(B $B_((B $B_)(B $B_*(B $B_+(B $B_,(B $B_-(B $B_.(B $B_/(B +$B_0(B $B_1(B $B_2(B $B_3(B $B_4(B $B_5(B $B_6(B $B_7(B $B_8(B $B_9(B $B_:(B $B_;(B $B_<(B $B_=(B $B_>(B $B_?(B +$B_@(B $B_A(B $B_B(B $B_C(B $B_D(B $B_E(B $B_F(B $B_G(B $B_H(B $B_I(B $B_J(B $B_K(B $B_L(B $B_M(B $B_N(B $B_O(B +$B_P(B $B_Q(B $B_R(B $B_S(B $B_T(B $B_U(B $B_V(B $B_W(B $B_X(B $B_Y(B $B_Z(B $B_[(B $B_\(B $B_](B $B_^(B $B__(B +$B_`(B $B_a(B $B_b(B $B_c(B $B_d(B $B_e(B $B_f(B $B_g(B $B_h(B $B_i(B $B_j(B $B_k(B $B_l(B $B_m(B $B_n(B $B_o(B +$B_p(B $B_q(B $B_r(B $B_s(B $B_t(B $B_u(B $B_v(B $B_w(B $B_x(B $B_y(B $B_z(B $B_{(B $B_|(B $B_}(B $B_~(B + $B`!(B $B`"(B $B`#(B $B`$(B $B`%(B $B`&(B $B`'(B $B`((B $B`)(B $B`*(B $B`+(B $B`,(B $B`-(B $B`.(B $B`/(B +$B`0(B $B`1(B $B`2(B $B`3(B $B`4(B $B`5(B $B`6(B $B`7(B $B`8(B $B`9(B $B`:(B $B`;(B $B`<(B $B`=(B $B`>(B $B`?(B +$B`@(B $B`A(B $B`B(B $B`C(B $B`D(B $B`E(B $B`F(B $B`G(B $B`H(B $B`I(B $B`J(B $B`K(B $B`L(B $B`M(B $B`N(B $B`O(B +$B`P(B $B`Q(B $B`R(B $B`S(B $B`T(B $B`U(B $B`V(B $B`W(B $B`X(B $B`Y(B $B`Z(B $B`[(B $B`\(B $B`](B $B`^(B $B`_(B +$B``(B $B`a(B $B`b(B $B`c(B $B`d(B $B`e(B $B`f(B $B`g(B $B`h(B $B`i(B $B`j(B $B`k(B $B`l(B $B`m(B $B`n(B $B`o(B +$B`p(B $B`q(B $B`r(B $B`s(B $B`t(B $B`u(B $B`v(B $B`w(B $B`x(B $B`y(B $B`z(B $B`{(B $B`|(B $B`}(B $B`~(B + $Ba!(B $Ba"(B $Ba#(B $Ba$(B $Ba%(B $Ba&(B $Ba'(B $Ba((B $Ba)(B $Ba*(B $Ba+(B $Ba,(B $Ba-(B $Ba.(B $Ba/(B +$Ba0(B $Ba1(B $Ba2(B $Ba3(B $Ba4(B $Ba5(B $Ba6(B $Ba7(B $Ba8(B $Ba9(B $Ba:(B $Ba;(B $Ba<(B $Ba=(B $Ba>(B $Ba?(B +$Ba@(B $BaA(B $BaB(B $BaC(B $BaD(B $BaE(B $BaF(B $BaG(B $BaH(B $BaI(B $BaJ(B $BaK(B $BaL(B $BaM(B $BaN(B $BaO(B +$BaP(B $BaQ(B $BaR(B $BaS(B $BaT(B $BaU(B $BaV(B $BaW(B $BaX(B $BaY(B $BaZ(B $Ba[(B $Ba\(B $Ba](B $Ba^(B $Ba_(B +$Ba`(B $Baa(B $Bab(B $Bac(B $Bad(B $Bae(B $Baf(B $Bag(B $Bah(B $Bai(B $Baj(B $Bak(B $Bal(B $Bam(B $Ban(B $Bao(B +$Bap(B $Baq(B $Bar(B $Bas(B $Bat(B $Bau(B $Bav(B $Baw(B $Bax(B $Bay(B $Baz(B $Ba{(B $Ba|(B $Ba}(B $Ba~(B + $Bb!(B $Bb"(B $Bb#(B $Bb$(B $Bb%(B $Bb&(B $Bb'(B $Bb((B $Bb)(B $Bb*(B $Bb+(B $Bb,(B $Bb-(B $Bb.(B $Bb/(B +$Bb0(B $Bb1(B $Bb2(B $Bb3(B $Bb4(B $Bb5(B $Bb6(B $Bb7(B $Bb8(B $Bb9(B $Bb:(B $Bb;(B $Bb<(B $Bb=(B $Bb>(B $Bb?(B +$Bb@(B $BbA(B $BbB(B $BbC(B $BbD(B $BbE(B $BbF(B $BbG(B $BbH(B $BbI(B $BbJ(B $BbK(B $BbL(B $BbM(B $BbN(B $BbO(B +$BbP(B $BbQ(B $BbR(B $BbS(B $BbT(B $BbU(B $BbV(B $BbW(B $BbX(B $BbY(B $BbZ(B $Bb[(B $Bb\(B $Bb](B $Bb^(B $Bb_(B +$Bb`(B $Bba(B $Bbb(B $Bbc(B $Bbd(B $Bbe(B $Bbf(B $Bbg(B $Bbh(B $Bbi(B $Bbj(B $Bbk(B $Bbl(B $Bbm(B $Bbn(B $Bbo(B +$Bbp(B $Bbq(B $Bbr(B $Bbs(B $Bbt(B $Bbu(B $Bbv(B $Bbw(B $Bbx(B $Bby(B $Bbz(B $Bb{(B $Bb|(B $Bb}(B $Bb~(B + $Bc!(B $Bc"(B $Bc#(B $Bc$(B $Bc%(B $Bc&(B $Bc'(B $Bc((B $Bc)(B $Bc*(B $Bc+(B $Bc,(B $Bc-(B $Bc.(B $Bc/(B +$Bc0(B $Bc1(B $Bc2(B $Bc3(B $Bc4(B $Bc5(B $Bc6(B $Bc7(B $Bc8(B $Bc9(B $Bc:(B $Bc;(B $Bc<(B $Bc=(B $Bc>(B $Bc?(B +$Bc@(B $BcA(B $BcB(B $BcC(B $BcD(B $BcE(B $BcF(B $BcG(B $BcH(B $BcI(B $BcJ(B $BcK(B $BcL(B $BcM(B $BcN(B $BcO(B +$BcP(B $BcQ(B $BcR(B $BcS(B $BcT(B $BcU(B $BcV(B $BcW(B $BcX(B $BcY(B $BcZ(B $Bc[(B $Bc\(B $Bc](B $Bc^(B $Bc_(B +$Bc`(B $Bca(B $Bcb(B $Bcc(B $Bcd(B $Bce(B $Bcf(B $Bcg(B $Bch(B $Bci(B $Bcj(B $Bck(B $Bcl(B $Bcm(B $Bcn(B $Bco(B +$Bcp(B $Bcq(B $Bcr(B $Bcs(B $Bct(B $Bcu(B $Bcv(B $Bcw(B $Bcx(B $Bcy(B $Bcz(B $Bc{(B $Bc|(B $Bc}(B $Bc~(B + $Bd!(B $Bd"(B $Bd#(B $Bd$(B $Bd%(B $Bd&(B $Bd'(B $Bd((B $Bd)(B $Bd*(B $Bd+(B $Bd,(B $Bd-(B $Bd.(B $Bd/(B +$Bd0(B $Bd1(B $Bd2(B $Bd3(B $Bd4(B $Bd5(B $Bd6(B $Bd7(B $Bd8(B $Bd9(B $Bd:(B $Bd;(B $Bd<(B $Bd=(B $Bd>(B $Bd?(B +$Bd@(B $BdA(B $BdB(B $BdC(B $BdD(B $BdE(B $BdF(B $BdG(B $BdH(B $BdI(B $BdJ(B $BdK(B $BdL(B $BdM(B $BdN(B $BdO(B +$BdP(B $BdQ(B $BdR(B $BdS(B $BdT(B $BdU(B $BdV(B $BdW(B $BdX(B $BdY(B $BdZ(B $Bd[(B $Bd\(B $Bd](B $Bd^(B $Bd_(B +$Bd`(B $Bda(B $Bdb(B $Bdc(B $Bdd(B $Bde(B $Bdf(B $Bdg(B $Bdh(B $Bdi(B $Bdj(B $Bdk(B $Bdl(B $Bdm(B $Bdn(B $Bdo(B +$Bdp(B $Bdq(B $Bdr(B $Bds(B $Bdt(B $Bdu(B $Bdv(B $Bdw(B $Bdx(B $Bdy(B $Bdz(B $Bd{(B $Bd|(B $Bd}(B $Bd~(B + $Be!(B $Be"(B $Be#(B $Be$(B $Be%(B $Be&(B $Be'(B $Be((B $Be)(B $Be*(B $Be+(B $Be,(B $Be-(B $Be.(B $Be/(B +$Be0(B $Be1(B $Be2(B $Be3(B $Be4(B $Be5(B $Be6(B $Be7(B $Be8(B $Be9(B $Be:(B $Be;(B $Be<(B $Be=(B $Be>(B $Be?(B +$Be@(B $BeA(B $BeB(B $BeC(B $BeD(B $BeE(B $BeF(B $BeG(B $BeH(B $BeI(B $BeJ(B $BeK(B $BeL(B $BeM(B $BeN(B $BeO(B +$BeP(B $BeQ(B $BeR(B $BeS(B $BeT(B $BeU(B $BeV(B $BeW(B $BeX(B $BeY(B $BeZ(B $Be[(B $Be\(B $Be](B $Be^(B $Be_(B +$Be`(B $Bea(B $Beb(B $Bec(B $Bed(B $Bee(B $Bef(B $Beg(B $Beh(B $Bei(B $Bej(B $Bek(B $Bel(B $Bem(B $Ben(B $Beo(B +$Bep(B $Beq(B $Ber(B $Bes(B $Bet(B $Beu(B $Bev(B $Bew(B $Bex(B $Bey(B $Bez(B $Be{(B $Be|(B $Be}(B $Be~(B + $Bf!(B $Bf"(B $Bf#(B $Bf$(B $Bf%(B $Bf&(B $Bf'(B $Bf((B $Bf)(B $Bf*(B $Bf+(B $Bf,(B $Bf-(B $Bf.(B $Bf/(B +$Bf0(B $Bf1(B $Bf2(B $Bf3(B $Bf4(B $Bf5(B $Bf6(B $Bf7(B $Bf8(B $Bf9(B $Bf:(B $Bf;(B $Bf<(B $Bf=(B $Bf>(B $Bf?(B +$Bf@(B $BfA(B $BfB(B $BfC(B $BfD(B $BfE(B $BfF(B $BfG(B $BfH(B $BfI(B $BfJ(B $BfK(B $BfL(B $BfM(B $BfN(B $BfO(B +$BfP(B $BfQ(B $BfR(B $BfS(B $BfT(B $BfU(B $BfV(B $BfW(B $BfX(B $BfY(B $BfZ(B $Bf[(B $Bf\(B $Bf](B $Bf^(B $Bf_(B +$Bf`(B $Bfa(B $Bfb(B $Bfc(B $Bfd(B $Bfe(B $Bff(B $Bfg(B $Bfh(B $Bfi(B $Bfj(B $Bfk(B $Bfl(B $Bfm(B $Bfn(B $Bfo(B +$Bfp(B $Bfq(B $Bfr(B $Bfs(B $Bft(B $Bfu(B $Bfv(B $Bfw(B $Bfx(B $Bfy(B $Bfz(B $Bf{(B $Bf|(B $Bf}(B $Bf~(B + $Bg!(B $Bg"(B $Bg#(B $Bg$(B $Bg%(B $Bg&(B $Bg'(B $Bg((B $Bg)(B $Bg*(B $Bg+(B $Bg,(B $Bg-(B $Bg.(B $Bg/(B +$Bg0(B $Bg1(B $Bg2(B $Bg3(B $Bg4(B $Bg5(B $Bg6(B $Bg7(B $Bg8(B $Bg9(B $Bg:(B $Bg;(B $Bg<(B $Bg=(B $Bg>(B $Bg?(B +$Bg@(B $BgA(B $BgB(B $BgC(B $BgD(B $BgE(B $BgF(B $BgG(B $BgH(B $BgI(B $BgJ(B $BgK(B $BgL(B $BgM(B $BgN(B $BgO(B +$BgP(B $BgQ(B $BgR(B $BgS(B $BgT(B $BgU(B $BgV(B $BgW(B $BgX(B $BgY(B $BgZ(B $Bg[(B $Bg\(B $Bg](B $Bg^(B $Bg_(B +$Bg`(B $Bga(B $Bgb(B $Bgc(B $Bgd(B $Bge(B $Bgf(B $Bgg(B $Bgh(B $Bgi(B $Bgj(B $Bgk(B $Bgl(B $Bgm(B $Bgn(B $Bgo(B +$Bgp(B $Bgq(B $Bgr(B $Bgs(B $Bgt(B $Bgu(B $Bgv(B $Bgw(B $Bgx(B $Bgy(B $Bgz(B $Bg{(B $Bg|(B $Bg}(B $Bg~(B + $Bh!(B $Bh"(B $Bh#(B $Bh$(B $Bh%(B $Bh&(B $Bh'(B $Bh((B $Bh)(B $Bh*(B $Bh+(B $Bh,(B $Bh-(B $Bh.(B $Bh/(B +$Bh0(B $Bh1(B $Bh2(B $Bh3(B $Bh4(B $Bh5(B $Bh6(B $Bh7(B $Bh8(B $Bh9(B $Bh:(B $Bh;(B $Bh<(B $Bh=(B $Bh>(B $Bh?(B +$Bh@(B $BhA(B $BhB(B $BhC(B $BhD(B $BhE(B $BhF(B $BhG(B $BhH(B $BhI(B $BhJ(B $BhK(B $BhL(B $BhM(B $BhN(B $BhO(B +$BhP(B $BhQ(B $BhR(B $BhS(B $BhT(B $BhU(B $BhV(B $BhW(B $BhX(B $BhY(B $BhZ(B $Bh[(B $Bh\(B $Bh](B $Bh^(B $Bh_(B +$Bh`(B $Bha(B $Bhb(B $Bhc(B $Bhd(B $Bhe(B $Bhf(B $Bhg(B $Bhh(B $Bhi(B $Bhj(B $Bhk(B $Bhl(B $Bhm(B $Bhn(B $Bho(B +$Bhp(B $Bhq(B $Bhr(B $Bhs(B $Bht(B $Bhu(B $Bhv(B $Bhw(B $Bhx(B $Bhy(B $Bhz(B $Bh{(B $Bh|(B $Bh}(B $Bh~(B + $Bi!(B $Bi"(B $Bi#(B $Bi$(B $Bi%(B $Bi&(B $Bi'(B $Bi((B $Bi)(B $Bi*(B $Bi+(B $Bi,(B $Bi-(B $Bi.(B $Bi/(B +$Bi0(B $Bi1(B $Bi2(B $Bi3(B $Bi4(B $Bi5(B $Bi6(B $Bi7(B $Bi8(B $Bi9(B $Bi:(B $Bi;(B $Bi<(B $Bi=(B $Bi>(B $Bi?(B +$Bi@(B $BiA(B $BiB(B $BiC(B $BiD(B $BiE(B $BiF(B $BiG(B $BiH(B $BiI(B $BiJ(B $BiK(B $BiL(B $BiM(B $BiN(B $BiO(B +$BiP(B $BiQ(B $BiR(B $BiS(B $BiT(B $BiU(B $BiV(B $BiW(B $BiX(B $BiY(B $BiZ(B $Bi[(B $Bi\(B $Bi](B $Bi^(B $Bi_(B +$Bi`(B $Bia(B $Bib(B $Bic(B $Bid(B $Bie(B $Bif(B $Big(B $Bih(B $Bii(B $Bij(B $Bik(B $Bil(B $Bim(B $Bin(B $Bio(B +$Bip(B $Biq(B $Bir(B $Bis(B $Bit(B $Biu(B $Biv(B $Biw(B $Bix(B $Biy(B $Biz(B $Bi{(B $Bi|(B $Bi}(B $Bi~(B + $Bj!(B $Bj"(B $Bj#(B $Bj$(B $Bj%(B $Bj&(B $Bj'(B $Bj((B $Bj)(B $Bj*(B $Bj+(B $Bj,(B $Bj-(B $Bj.(B $Bj/(B +$Bj0(B $Bj1(B $Bj2(B $Bj3(B $Bj4(B $Bj5(B $Bj6(B $Bj7(B $Bj8(B $Bj9(B $Bj:(B $Bj;(B $Bj<(B $Bj=(B $Bj>(B $Bj?(B +$Bj@(B $BjA(B $BjB(B $BjC(B $BjD(B $BjE(B $BjF(B $BjG(B $BjH(B $BjI(B $BjJ(B $BjK(B $BjL(B $BjM(B $BjN(B $BjO(B +$BjP(B $BjQ(B $BjR(B $BjS(B $BjT(B $BjU(B $BjV(B $BjW(B $BjX(B $BjY(B $BjZ(B $Bj[(B $Bj\(B $Bj](B $Bj^(B $Bj_(B +$Bj`(B $Bja(B $Bjb(B $Bjc(B $Bjd(B $Bje(B $Bjf(B $Bjg(B $Bjh(B $Bji(B $Bjj(B $Bjk(B $Bjl(B $Bjm(B $Bjn(B $Bjo(B +$Bjp(B $Bjq(B $Bjr(B $Bjs(B $Bjt(B $Bju(B $Bjv(B $Bjw(B $Bjx(B $Bjy(B $Bjz(B $Bj{(B $Bj|(B $Bj}(B $Bj~(B + $Bk!(B $Bk"(B $Bk#(B $Bk$(B $Bk%(B $Bk&(B $Bk'(B $Bk((B $Bk)(B $Bk*(B $Bk+(B $Bk,(B $Bk-(B $Bk.(B $Bk/(B +$Bk0(B $Bk1(B $Bk2(B $Bk3(B $Bk4(B $Bk5(B $Bk6(B $Bk7(B $Bk8(B $Bk9(B $Bk:(B $Bk;(B $Bk<(B $Bk=(B $Bk>(B $Bk?(B +$Bk@(B $BkA(B $BkB(B $BkC(B $BkD(B $BkE(B $BkF(B $BkG(B $BkH(B $BkI(B $BkJ(B $BkK(B $BkL(B $BkM(B $BkN(B $BkO(B +$BkP(B $BkQ(B $BkR(B $BkS(B $BkT(B $BkU(B $BkV(B $BkW(B $BkX(B $BkY(B $BkZ(B $Bk[(B $Bk\(B $Bk](B $Bk^(B $Bk_(B +$Bk`(B $Bka(B $Bkb(B $Bkc(B $Bkd(B $Bke(B $Bkf(B $Bkg(B $Bkh(B $Bki(B $Bkj(B $Bkk(B $Bkl(B $Bkm(B $Bkn(B $Bko(B +$Bkp(B $Bkq(B $Bkr(B $Bks(B $Bkt(B $Bku(B $Bkv(B $Bkw(B $Bkx(B $Bky(B $Bkz(B $Bk{(B $Bk|(B $Bk}(B $Bk~(B + $Bl!(B $Bl"(B $Bl#(B $Bl$(B $Bl%(B $Bl&(B $Bl'(B $Bl((B $Bl)(B $Bl*(B $Bl+(B $Bl,(B $Bl-(B $Bl.(B $Bl/(B +$Bl0(B $Bl1(B $Bl2(B $Bl3(B $Bl4(B $Bl5(B $Bl6(B $Bl7(B $Bl8(B $Bl9(B $Bl:(B $Bl;(B $Bl<(B $Bl=(B $Bl>(B $Bl?(B +$Bl@(B $BlA(B $BlB(B $BlC(B $BlD(B $BlE(B $BlF(B $BlG(B $BlH(B $BlI(B $BlJ(B $BlK(B $BlL(B $BlM(B $BlN(B $BlO(B +$BlP(B $BlQ(B $BlR(B $BlS(B $BlT(B $BlU(B $BlV(B $BlW(B $BlX(B $BlY(B $BlZ(B $Bl[(B $Bl\(B $Bl](B $Bl^(B $Bl_(B +$Bl`(B $Bla(B $Blb(B $Blc(B $Bld(B $Ble(B $Blf(B $Blg(B $Blh(B $Bli(B $Blj(B $Blk(B $Bll(B $Blm(B $Bln(B $Blo(B +$Blp(B $Blq(B $Blr(B $Bls(B $Blt(B $Blu(B $Blv(B $Blw(B $Blx(B $Bly(B $Blz(B $Bl{(B $Bl|(B $Bl}(B $Bl~(B + $Bm!(B $Bm"(B $Bm#(B $Bm$(B $Bm%(B $Bm&(B $Bm'(B $Bm((B $Bm)(B $Bm*(B $Bm+(B $Bm,(B $Bm-(B $Bm.(B $Bm/(B +$Bm0(B $Bm1(B $Bm2(B $Bm3(B $Bm4(B $Bm5(B $Bm6(B $Bm7(B $Bm8(B $Bm9(B $Bm:(B $Bm;(B $Bm<(B $Bm=(B $Bm>(B $Bm?(B +$Bm@(B $BmA(B $BmB(B $BmC(B $BmD(B $BmE(B $BmF(B $BmG(B $BmH(B $BmI(B $BmJ(B $BmK(B $BmL(B $BmM(B $BmN(B $BmO(B +$BmP(B $BmQ(B $BmR(B $BmS(B $BmT(B $BmU(B $BmV(B $BmW(B $BmX(B $BmY(B $BmZ(B $Bm[(B $Bm\(B $Bm](B $Bm^(B $Bm_(B +$Bm`(B $Bma(B $Bmb(B $Bmc(B $Bmd(B $Bme(B $Bmf(B $Bmg(B $Bmh(B $Bmi(B $Bmj(B $Bmk(B $Bml(B $Bmm(B $Bmn(B $Bmo(B +$Bmp(B $Bmq(B $Bmr(B $Bms(B $Bmt(B $Bmu(B $Bmv(B $Bmw(B $Bmx(B $Bmy(B $Bmz(B $Bm{(B $Bm|(B $Bm}(B $Bm~(B + $Bn!(B $Bn"(B $Bn#(B $Bn$(B $Bn%(B $Bn&(B $Bn'(B $Bn((B $Bn)(B $Bn*(B $Bn+(B $Bn,(B $Bn-(B $Bn.(B $Bn/(B +$Bn0(B $Bn1(B $Bn2(B $Bn3(B $Bn4(B $Bn5(B $Bn6(B $Bn7(B $Bn8(B $Bn9(B $Bn:(B $Bn;(B $Bn<(B $Bn=(B $Bn>(B $Bn?(B +$Bn@(B $BnA(B $BnB(B $BnC(B $BnD(B $BnE(B $BnF(B $BnG(B $BnH(B $BnI(B $BnJ(B $BnK(B $BnL(B $BnM(B $BnN(B $BnO(B +$BnP(B $BnQ(B $BnR(B $BnS(B $BnT(B $BnU(B $BnV(B $BnW(B $BnX(B $BnY(B $BnZ(B $Bn[(B $Bn\(B $Bn](B $Bn^(B $Bn_(B +$Bn`(B $Bna(B $Bnb(B $Bnc(B $Bnd(B $Bne(B $Bnf(B $Bng(B $Bnh(B $Bni(B $Bnj(B $Bnk(B $Bnl(B $Bnm(B $Bnn(B $Bno(B +$Bnp(B $Bnq(B $Bnr(B $Bns(B $Bnt(B $Bnu(B $Bnv(B $Bnw(B $Bnx(B $Bny(B $Bnz(B $Bn{(B $Bn|(B $Bn}(B $Bn~(B + $Bo!(B $Bo"(B $Bo#(B $Bo$(B $Bo%(B $Bo&(B $Bo'(B $Bo((B $Bo)(B $Bo*(B $Bo+(B $Bo,(B $Bo-(B $Bo.(B $Bo/(B +$Bo0(B $Bo1(B $Bo2(B $Bo3(B $Bo4(B $Bo5(B $Bo6(B $Bo7(B $Bo8(B $Bo9(B $Bo:(B $Bo;(B $Bo<(B $Bo=(B $Bo>(B $Bo?(B +$Bo@(B $BoA(B $BoB(B $BoC(B $BoD(B $BoE(B $BoF(B $BoG(B $BoH(B $BoI(B $BoJ(B $BoK(B $BoL(B $BoM(B $BoN(B $BoO(B +$BoP(B $BoQ(B $BoR(B $BoS(B $BoT(B $BoU(B $BoV(B $BoW(B $BoX(B $BoY(B $BoZ(B $Bo[(B $Bo\(B $Bo](B $Bo^(B $Bo_(B +$Bo`(B $Boa(B $Bob(B $Boc(B $Bod(B $Boe(B $Bof(B $Bog(B $Boh(B $Boi(B $Boj(B $Bok(B $Bol(B $Bom(B $Bon(B $Boo(B +$Bop(B $Boq(B $Bor(B $Bos(B $Bot(B $Bou(B $Bov(B $Bow(B $Box(B $Boy(B $Boz(B $Bo{(B $Bo|(B $Bo}(B $Bo~(B + $Bp!(B $Bp"(B $Bp#(B $Bp$(B $Bp%(B $Bp&(B $Bp'(B $Bp((B $Bp)(B $Bp*(B $Bp+(B $Bp,(B $Bp-(B $Bp.(B $Bp/(B +$Bp0(B $Bp1(B $Bp2(B $Bp3(B $Bp4(B $Bp5(B $Bp6(B $Bp7(B $Bp8(B $Bp9(B $Bp:(B $Bp;(B $Bp<(B $Bp=(B $Bp>(B $Bp?(B +$Bp@(B $BpA(B $BpB(B $BpC(B $BpD(B $BpE(B $BpF(B $BpG(B $BpH(B $BpI(B $BpJ(B $BpK(B $BpL(B $BpM(B $BpN(B $BpO(B +$BpP(B $BpQ(B $BpR(B $BpS(B $BpT(B $BpU(B $BpV(B $BpW(B $BpX(B $BpY(B $BpZ(B $Bp[(B $Bp\(B $Bp](B $Bp^(B $Bp_(B +$Bp`(B $Bpa(B $Bpb(B $Bpc(B $Bpd(B $Bpe(B $Bpf(B $Bpg(B $Bph(B $Bpi(B $Bpj(B $Bpk(B $Bpl(B $Bpm(B $Bpn(B $Bpo(B +$Bpp(B $Bpq(B $Bpr(B $Bps(B $Bpt(B $Bpu(B $Bpv(B $Bpw(B $Bpx(B $Bpy(B $Bpz(B $Bp{(B $Bp|(B $Bp}(B $Bp~(B + $Bq!(B $Bq"(B $Bq#(B $Bq$(B $Bq%(B $Bq&(B $Bq'(B $Bq((B $Bq)(B $Bq*(B $Bq+(B $Bq,(B $Bq-(B $Bq.(B $Bq/(B +$Bq0(B $Bq1(B $Bq2(B $Bq3(B $Bq4(B $Bq5(B $Bq6(B $Bq7(B $Bq8(B $Bq9(B $Bq:(B $Bq;(B $Bq<(B $Bq=(B $Bq>(B $Bq?(B +$Bq@(B $BqA(B $BqB(B $BqC(B $BqD(B $BqE(B $BqF(B $BqG(B $BqH(B $BqI(B $BqJ(B $BqK(B $BqL(B $BqM(B $BqN(B $BqO(B +$BqP(B $BqQ(B $BqR(B $BqS(B $BqT(B $BqU(B $BqV(B $BqW(B $BqX(B $BqY(B $BqZ(B $Bq[(B $Bq\(B $Bq](B $Bq^(B $Bq_(B +$Bq`(B $Bqa(B $Bqb(B $Bqc(B $Bqd(B $Bqe(B $Bqf(B $Bqg(B $Bqh(B $Bqi(B $Bqj(B $Bqk(B $Bql(B $Bqm(B $Bqn(B $Bqo(B +$Bqp(B $Bqq(B $Bqr(B $Bqs(B $Bqt(B $Bqu(B $Bqv(B $Bqw(B $Bqx(B $Bqy(B $Bqz(B $Bq{(B $Bq|(B $Bq}(B $Bq~(B + $Br!(B $Br"(B $Br#(B $Br$(B $Br%(B $Br&(B $Br'(B $Br((B $Br)(B $Br*(B $Br+(B $Br,(B $Br-(B $Br.(B $Br/(B +$Br0(B $Br1(B $Br2(B $Br3(B $Br4(B $Br5(B $Br6(B $Br7(B $Br8(B $Br9(B $Br:(B $Br;(B $Br<(B $Br=(B $Br>(B $Br?(B +$Br@(B $BrA(B $BrB(B $BrC(B $BrD(B $BrE(B $BrF(B $BrG(B $BrH(B $BrI(B $BrJ(B $BrK(B $BrL(B $BrM(B $BrN(B $BrO(B +$BrP(B $BrQ(B $BrR(B $BrS(B $BrT(B $BrU(B $BrV(B $BrW(B $BrX(B $BrY(B $BrZ(B $Br[(B $Br\(B $Br](B $Br^(B $Br_(B +$Br`(B $Bra(B $Brb(B $Brc(B $Brd(B $Bre(B $Brf(B $Brg(B $Brh(B $Bri(B $Brj(B $Brk(B $Brl(B $Brm(B $Brn(B $Bro(B +$Brp(B $Brq(B $Brr(B $Brs(B $Brt(B $Bru(B $Brv(B $Brw(B $Brx(B $Bry(B $Brz(B $Br{(B $Br|(B $Br}(B $Br~(B + $Bs!(B $Bs"(B $Bs#(B $Bs$(B $Bs%(B $Bs&(B $Bs'(B $Bs((B $Bs)(B $Bs*(B $Bs+(B $Bs,(B $Bs-(B $Bs.(B $Bs/(B +$Bs0(B $Bs1(B $Bs2(B $Bs3(B $Bs4(B $Bs5(B $Bs6(B $Bs7(B $Bs8(B $Bs9(B $Bs:(B $Bs;(B $Bs<(B $Bs=(B $Bs>(B $Bs?(B +$Bs@(B $BsA(B $BsB(B $BsC(B $BsD(B $BsE(B $BsF(B $BsG(B $BsH(B $BsI(B $BsJ(B $BsK(B $BsL(B $BsM(B $BsN(B $BsO(B +$BsP(B $BsQ(B $BsR(B $BsS(B $BsT(B $BsU(B $BsV(B $BsW(B $BsX(B $BsY(B $BsZ(B $Bs[(B $Bs\(B $Bs](B $Bs^(B $Bs_(B +$Bs`(B $Bsa(B $Bsb(B $Bsc(B $Bsd(B $Bse(B $Bsf(B $Bsg(B $Bsh(B $Bsi(B $Bsj(B $Bsk(B $Bsl(B $Bsm(B $Bsn(B $Bso(B +$Bsp(B $Bsq(B $Bsr(B $Bss(B $Bst(B $Bsu(B $Bsv(B $Bsw(B $Bsx(B $Bsy(B $Bsz(B $Bs{(B $Bs|(B $Bs}(B $Bs~(B + $Bt!(B $Bt"(B $Bt#(B $Bt$(B $Bt%(B $Bt&(B + +JIS0123 ($BF|K\8l(B) $B$3$s$K$A$O(B + JIS -- $B855$(B $B3+H/(B + $B/export/Users/ianl/1.4.2/test/sun/nio/cs/SCCS/s.ISO2022JP.data0%G!<%?%Y!<%9$KAw$k$Y$-$G$J$$$3$H$KCmL\$7$F$/$@$5$$!#(B

diff --git a/test/sun/nio/cs/ISO8859x.java b/test/sun/nio/cs/ISO8859x.java new file mode 100644 index 000000000..7befa960e --- /dev/null +++ b/test/sun/nio/cs/ISO8859x.java @@ -0,0 +1,105 @@ +/* + * Copyright 2008 Sun Microsystems, Inc. All Rights Reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, + * CA 95054 USA or visit www.sun.com if you need additional information or + * have any questions. + */ + +/* + * @test + * @bug 6419791 + * @summary + * @author Martin Buchholz + */ + +import java.io.*; +import java.util.*; +import java.nio.charset.*; +import java.nio.*; + +public class ISO8859x { + final static byte[] lowBytes = new byte[0xa0]; + final static char[] lowChars = new char[0xa0]; + final static String lowString; + static { + for (int i = 0; i < 0xa0; i++) { + lowBytes[i] = (byte) i; + lowChars[i] = (char) i; + } + lowString = new String(lowChars); + } + + private static void testCharset(Charset cs) throws Throwable { + String csn = cs.name(); + System.out.println(csn); + + check(cs.canEncode()); + check(Arrays.equals(lowString.getBytes(csn), lowBytes)); + check(new String(lowBytes, csn).equals(lowString)); + + CharsetEncoder encoder = cs.newEncoder(); + CharsetDecoder decoder = cs.newDecoder(); + decoder.onUnmappableCharacter(CodingErrorAction.REPORT) + .onMalformedInput(CodingErrorAction.REPORT); + encoder.onUnmappableCharacter(CodingErrorAction.REPORT) + .onMalformedInput(CodingErrorAction.REPORT); + + byte[] bytes = new byte[1]; + for (int c = 0xa0; c < 0x100; c++) { + try { + bytes[0] = (byte) c; + char[] chars; + try { chars = decoder.decode(ByteBuffer.wrap(bytes)).array(); } + catch (UnmappableCharacterException x) { continue; } + equal(chars.length, 1); + byte[] bytes2 = encoder.encode(CharBuffer.wrap(chars)).array(); + check(Arrays.equals(bytes2, bytes)); + } catch (Throwable t) { + System.out.printf("cs=%s c=%02x%n", cs, c); + unexpected(t); + } + } + } + + private static void realMain(String[] args) throws Throwable { + for (Map.Entry e + : Charset.availableCharsets().entrySet()) { + String csn = e.getKey(); + Charset cs = e.getValue(); + if (csn.matches(".*(8859).*")) + try { testCharset(cs); } + catch (Throwable t) { unexpected(t); } + } + } + + //--------------------- Infrastructure --------------------------- + static volatile int passed = 0, failed = 0; + static void pass() {passed++;} + static void fail() {failed++; Thread.dumpStack();} + static void fail(String msg) {System.out.println(msg); fail();} + static void unexpected(Throwable t) {failed++; t.printStackTrace();} + static void check(boolean cond) {if (cond) pass(); else fail();} + static void equal(Object x, Object y) { + if (x == null ? y == null : x.equals(y)) pass(); + else fail(x + " not equal to " + y);} + public static void main(String[] args) throws Throwable { + try {realMain(args);} catch (Throwable t) {unexpected(t);} + System.out.printf("%nPassed = %d, failed = %d%n%n", passed, failed); + if (failed > 0) throw new AssertionError("Some tests failed");} +} diff --git a/test/sun/nio/cs/JISAutoDetectTest.java b/test/sun/nio/cs/JISAutoDetectTest.java new file mode 100644 index 000000000..eb3b75d05 --- /dev/null +++ b/test/sun/nio/cs/JISAutoDetectTest.java @@ -0,0 +1,158 @@ +/* + * Copyright 2008 Sun Microsystems, Inc. All Rights Reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, + * CA 95054 USA or visit www.sun.com if you need additional information or + * have any questions. + */ + +/* + * @test + * @bug 4087261 4184592 + * @summary Make sure to determine Japanese text encoding as correctly + * as possible. + */ + +import java.nio.charset.*; +import java.nio.*; + +public class JISAutoDetectTest { + + class TestData { + byte[] input; + byte[] input2; // for second call + String expectedCharset; + } + TestData[] data = new TestData[50]; + + public static void main(String[] argv) throws Exception { + JISAutoDetectTest test = new JISAutoDetectTest(); + test.execute(); + } + + void execute() throws Exception { + CharBuffer output = CharBuffer.allocate(128); + CharBuffer expectedOutput = CharBuffer.allocate(128); + + for (int i = 0; i < data.length; i++) { + if (data[i] == null) + break; + + CharsetDecoder autoDetect = Charset.forName("JISAutoDetect").newDecoder(); + CharsetDecoder dec = Charset.forName(data[i].expectedCharset).newDecoder(); + CoderResult ncr, mcr; + output.clear(); + expectedOutput.clear(); + ncr = autoDetect.decode(ByteBuffer.wrap(data[i].input), + output, + true); + mcr = dec.decode(ByteBuffer.wrap(data[i].input), + expectedOutput, + true); + + if (data[i].input2 != null) { + ncr = autoDetect.decode(ByteBuffer.wrap(data[i].input2), + output, + true); + mcr = dec.decode(ByteBuffer.wrap(data[i].input2), + expectedOutput, + true); + } + String testNumber = " (test#: " + i + ")"; + if (ncr != mcr) + throw new Exception("JISAutoDetect returned a wrong result"); + output.flip(); + expectedOutput.flip(); + if (output.limit() != expectedOutput.limit()) + throw new Exception("JISAutoDetect returned a wrong length"+testNumber); + + for (int x = 0; x < output.limit(); x++) { + if (expectedOutput.charAt(x) != output.charAt(x)) + throw new Exception("JISAutoDetect returned a wrong string"+testNumber); + } + } + } + + public JISAutoDetectTest() { + int i = 0; + + // 0 + data[i] = new TestData(); + data[i].input = new byte[] { (byte)'C', (byte)'o', (byte)'p', (byte)'y', + (byte)'r', (byte)'i', (byte)'g', (byte)'h', + (byte)'t', (byte)' ', (byte)0xa9, (byte)' ', + (byte)'1', (byte)'9', (byte)'9', (byte)'8' }; + data[i].expectedCharset = "SJIS"; + + // 1 + i++; + data[i] = new TestData(); + data[i].input = new byte[] { (byte)0xbb, (byte)0xdd, (byte)0xcf, (byte)0xb2, + (byte)0xb8, (byte)0xdb, (byte)0xbc, (byte)0xbd, + (byte)0xc3, (byte)0xd1, (byte)0xbd, (byte)0xde, + (byte)0x82, (byte)0xc5, (byte)0x82, (byte)0xb7 }; + data[i].expectedCharset = "SJIS"; + + // 2 + i++; + data[i] = new TestData(); + data[i].input = new byte[] { (byte)0xbb, (byte)0xdd, (byte)0xcf, (byte)0xb2, + (byte)0xb8, (byte)0xdb, (byte)0xbc, (byte)0xbd, + (byte)0xc3, (byte)0xd1, (byte)0xbd, (byte)0xde}; + data[i].expectedCharset = "SJIS"; + + // 3 + i++; + data[i] = new TestData(); + data[i].input = new byte[] { (byte)0xbb, (byte)0xdd, (byte)0xcf, (byte)0xb2, + (byte)0xb8, (byte)0xdb, (byte)0xbc, (byte)0xbd, + (byte)0xc3, (byte)0xd1, (byte)0xbd }; + data[i].expectedCharset = "SJIS"; + + // 4 + i++; + data[i] = new TestData(); + data[i].input = new byte[] { (byte)0x8f, (byte)0xa1, (byte)0xaa }; + data[i].expectedCharset = "SJIS"; + + // 5 + i++; + data[i] = new TestData(); + data[i].input = new byte[] { (byte)0xa4, (byte)0xd2, (byte)0xa4, (byte)0xe9, + (byte)0xa4, (byte)0xac, (byte)0xa4, (byte)0xca }; + data[i].expectedCharset = "EUC_JP"; + + // 6 + i++; + data[i] = new TestData(); + data[i].input = new byte[] { (byte)0xbb, (byte)0xdd, (byte)0xcf, (byte)0xb2, + (byte)0xb8, (byte)0xdb, (byte)0xbc, (byte)0xbd, + (byte)0xc3, (byte)0xd1, (byte)0xbd, (byte)0xde, + (byte)0xa4, (byte)0xc7, (byte)0xa4, (byte)0xb9 }; + data[i].expectedCharset = "EUC_JP"; + + // 7 (for 4184592) + i++; + data[i] = new TestData(); + data[i].input = new byte[] { (byte)'a', (byte)'b', (byte)'c' }; + data[i].input2 = new byte[] { (byte)0x1b, (byte)'$', (byte)'B', + (byte)'#', (byte)'4', (byte)'$', (byte)'5', + (byte)0x1b, (byte)'(', (byte)'B' }; + data[i].expectedCharset = "ISO2022JP"; + } +} diff --git a/test/sun/nio/cs/LatinCharReplacementTWTest.java b/test/sun/nio/cs/LatinCharReplacementTWTest.java new file mode 100644 index 000000000..da2123d69 --- /dev/null +++ b/test/sun/nio/cs/LatinCharReplacementTWTest.java @@ -0,0 +1,80 @@ +/* + * Copyright 2008 Sun Microsystems, Inc. All Rights Reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, + * CA 95054 USA or visit www.sun.com if you need additional information or + * have any questions. + */ + +/* @test + @bug 4658679 4879644 + @summary Checks replacement logic within EUC-TW decoder +*/ + +/* + * Tests goodness of fix for bugID 4658679: EUC-TW decoder should + * perform replacement when it encounters latin chars outside the + * normal US-ASCII range. For example: Isolated occurrences of + * French accented chars. See bugID: 4658679. + */ +import java.io.*; +public class LatinCharReplacementTWTest { + public static void main(String[] args) throws Exception { + final String bugID = "4658679"; + // Attempt to decode + byte[] input = { (byte)0xa1, + (byte)0xf0, + (byte)'r', + (byte)'e', + (byte)'s', + (byte)0xe9, // illegal within EUC-TW + (byte)'r', + (byte)'v', + (byte)0xe9, // illegal within EUC-TW + (byte)'s', + (byte)0xa2, + (byte)0xf8 + }; + + char[] expected = { (char) 0xa7, + (char) 'r', + (char) 'e', + (char) 's', + (char) 0xFFFD, // replacement for accented lowercase e + (char) 'r', + (char) 'v', + (char) 0xFFFD, // replacement for accented lowercase e + (char) 's', + (char) 0xb0 }; + + ByteArrayInputStream bais = new ByteArrayInputStream(input); + InputStreamReader isr = new InputStreamReader(bais, "x-EUC-TW"); + + char[] decoded = new char[128]; + int numChars = isr.read(decoded); + + if (numChars != expected.length) { + throw new Exception("failure of test for bug " + bugID); + } + + for (int i = 0 ; i < numChars; i++) { + if (decoded[i] != expected[i]) + throw new Exception("failure of test for bug " + bugID); + } + } +} diff --git a/test/sun/nio/cs/LeftOverSurrogate.java b/test/sun/nio/cs/LeftOverSurrogate.java new file mode 100644 index 000000000..e23543845 --- /dev/null +++ b/test/sun/nio/cs/LeftOverSurrogate.java @@ -0,0 +1,55 @@ +/* + * Copyright 2008 Sun Microsystems, Inc. All Rights Reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, + * CA 95054 USA or visit www.sun.com if you need additional information or + * have any questions. + */ + +/* @test + @bug 4160949 + @summary Verify that left over high surrogate does not + cause an UnknownCharacterException when substitutition mode is turned on. + */ + +import java.nio.*; +import java.nio.charset.*; + +public class LeftOverSurrogate { + + public static void main(String args[]) throws Exception { + String s = "abc\uD800\uDC00qrst"; // Valid surrogate + char[] c = s.toCharArray(); + CharsetEncoder enc = Charset.forName("ISO8859_1").newEncoder() + .onUnmappableCharacter(CodingErrorAction.REPLACE); + /* Process the first 4 characters, including the high surrogate + which should be stored */ + ByteBuffer bb = ByteBuffer.allocate(10); + CharBuffer cb = CharBuffer.wrap(c); + cb.limit(4); + enc.encode(cb, bb, false); + cb.limit(7); + enc.encode(cb, bb, true); + byte[] first = bb.array(); + for(int i = 0; i < 7; i++) + System.err.printf("[%d]=%d was %d\n", + i, + (int) first[i] &0xffff, + (int) c[i] & 0xffff); + } +} diff --git a/test/sun/nio/cs/MalformedSurrogates.java b/test/sun/nio/cs/MalformedSurrogates.java new file mode 100644 index 000000000..c6d6713d7 --- /dev/null +++ b/test/sun/nio/cs/MalformedSurrogates.java @@ -0,0 +1,85 @@ +/* + * Copyright 2008 Sun Microsystems, Inc. All Rights Reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, + * CA 95054 USA or visit www.sun.com if you need additional information or + * have any questions. + */ + +/* @test + @bug 4153987 + @summary Malformed surrogates should be handled by the converter in + substitution mode. + */ + +import java.io.*; + +public class MalformedSurrogates { + + public static void main(String[] args) throws Exception { + + String fe = System.getProperty("file.encoding"); + if ( fe.equalsIgnoreCase("UTF8") + || fe.equalsIgnoreCase("UTF-8") + || fe.equalsIgnoreCase("UTF_8")) + // This test is meaningless if the default charset + // does handle surrogates + return; + + System.out.println("Testing string conversion..."); + /* Example with malformed surrogate, and an offset */ + String t = "abc\uD800\uDB00efgh"; + String t2 = t.substring(2); + byte[] b = t2.getBytes(); + System.err.println(b.length); + for (int i = 0; i < b.length; i++) + System.err.println("[" + i + "]" + "=" + (char) b[i] + + "=" + (int) b[i]); + if (b.length != 7) { + throw new Exception("Bad string conversion for bad surrogate"); + } + + /* Example with a proper surrogate, no offset. Always worked */ + String t3 = "abc\uD800\uDC00efgh"; + byte[] b2 = t3.getBytes(); + System.out.println(b2.length); + for(int i = 0; i < b2.length; i++) + System.err.println("[" + i + "]" + "=" + (char) b2[i]); + if (b2.length != 8) { + throw new Exception("Bad string conversion for good surrogate"); + } + + OutputStream os = new ByteArrayOutputStream(); + OutputStreamWriter osw = new OutputStreamWriter(os); + System.out.println("Testing flush...."); + /* Check for the case where the converter has a left over + high surrogate when flush is called on the converter */ + osw.flush(); + String s = "abc\uD800"; // High surrogate + char[] c = s.toCharArray(); + osw.write(s, 0, 4); + osw.flush(); + + System.out.println("Testing convert..."); + /* Verify that all other characters go through */ + for (int k = 1; k < 65535 ; k++) { + osw.write("Char[" + k + "]=\"" + ((char) k) + "\""); + } + + } +} diff --git a/test/sun/nio/cs/NIOJISAutoDetectTest.java b/test/sun/nio/cs/NIOJISAutoDetectTest.java new file mode 100644 index 000000000..3e19aa149 --- /dev/null +++ b/test/sun/nio/cs/NIOJISAutoDetectTest.java @@ -0,0 +1,282 @@ +/* + * Copyright 2008 Sun Microsystems, Inc. All Rights Reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, + * CA 95054 USA or visit www.sun.com if you need additional information or + * have any questions. + */ + +/* + * @test + * @bug 4831163 5053096 5056440 + * @summary NIO charset basic verification of JISAutodetect decoder + * @author Martin Buchholz + */ + +import java.io.*; +import java.nio.ByteBuffer; +import java.nio.CharBuffer; +import java.nio.charset.Charset; +import java.nio.charset.CharsetDecoder; +import java.nio.charset.CoderResult; +import static java.lang.System.*; + +public class NIOJISAutoDetectTest { + private static int failures = 0; + + private static void fail(String failureMsg) { + System.out.println(failureMsg); + failures++; + } + + private static void check(boolean cond, String msg) { + if (!cond) { + fail("test failed: " + msg); + new Exception().printStackTrace(); + } + } + + private static String SJISName() throws Exception { + return detectingCharset(new byte[] {(byte)0xbb, (byte)0xdd, + (byte)0xcf, (byte)0xb2}); + } + + private static String EUCJName() throws Exception { + return detectingCharset(new byte[] {(byte)0xa4, (byte)0xd2, + (byte)0xa4, (byte)0xe9}); + } + + private static String detectingCharset(byte[] bytes) throws Exception { + //---------------------------------------------------------------- + // Test special public methods of CharsetDecoder while we're here + //---------------------------------------------------------------- + CharsetDecoder cd = Charset.forName("JISAutodetect").newDecoder(); + check(cd.isAutoDetecting(), "isAutodecting()"); + check(! cd.isCharsetDetected(), "isCharsetDetected"); + cd.decode(ByteBuffer.wrap(new byte[] {(byte)'A'})); + check(! cd.isCharsetDetected(), "isCharsetDetected"); + try { + cd.detectedCharset(); + fail("no IllegalStateException"); + } catch (IllegalStateException e) {} + cd.decode(ByteBuffer.wrap(bytes)); + check(cd.isCharsetDetected(), "isCharsetDetected"); + Charset cs = cd.detectedCharset(); + check(cs != null, "cs != null"); + check(! cs.newDecoder().isAutoDetecting(), "isAutodetecting()"); + return cs.name(); + } + + public static void main(String[] argv) throws Exception { + //---------------------------------------------------------------- + // Used to throw BufferOverflowException + //---------------------------------------------------------------- + out.println(new String(new byte[] {0x61}, "JISAutoDetect")); + + //---------------------------------------------------------------- + // InputStreamReader(...JISAutoDetect) used to infloop + //---------------------------------------------------------------- + { + byte[] bytes = "ABCD\n".getBytes(); + ByteArrayInputStream bais = new ByteArrayInputStream(bytes); + InputStreamReader isr = new InputStreamReader(bais, "JISAutoDetect"); + BufferedReader reader = new BufferedReader(isr); + check (reader.readLine().equals("ABCD"), "first read gets text"); + // used to return "ABCD" on second and subsequent reads + check (reader.readLine() == null, "second read gets null"); + } + + //---------------------------------------------------------------- + // Check all Japanese chars for sanity + //---------------------------------------------------------------- + String SJIS = SJISName(); + String EUCJ = EUCJName(); + out.printf("SJIS charset is %s%n", SJIS); + out.printf("EUCJ charset is %s%n", EUCJ); + + int cnt2022 = 0; + int cnteucj = 0; + int cntsjis = 0; + int cntBAD = 0; + for (char c = '\u0000'; c < '\uffff'; c++) { + if (c == '\u001b' || // ESC + c == '\u2014') // Em-Dash? + continue; + String s = new String (new char[] {c}); + + //---------------------------------------------------------------- + // JISAutoDetect can handle all chars that EUC-JP can, + // unless there is an ambiguity with SJIS. + //---------------------------------------------------------------- + byte[] beucj = s.getBytes(EUCJ); + String seucj = new String(beucj, EUCJ); + if (seucj.equals(s)) { + cnteucj++; + String sauto = new String(beucj, "JISAutoDetect"); + + if (! sauto.equals(seucj)) { + cntBAD++; + String ssjis = new String(beucj, SJIS); + if (! sauto.equals(ssjis)) { + fail("Autodetection agrees with neither EUC nor SJIS"); + } + } + } else + continue; // Optimization + + //---------------------------------------------------------------- + // JISAutoDetect can handle all chars that ISO-2022-JP can. + //---------------------------------------------------------------- + byte[] b2022 = s.getBytes("ISO-2022-JP"); + if (new String(b2022, "ISO-2022-JP").equals(s)) { + cnt2022++; + check(new String(b2022,"JISAutoDetect").equals(s), + "ISO2022 autodetection"); + } + + //---------------------------------------------------------------- + // JISAutoDetect can handle almost all chars that SJIS can. + //---------------------------------------------------------------- + byte[] bsjis = s.getBytes(SJIS); + if (new String(bsjis, SJIS).equals(s)) { + cntsjis++; + check(new String(bsjis,"JISAutoDetect").equals(s), + "SJIS autodetection"); + } + } + out.printf("There are %d ISO-2022-JP-encodable characters.%n", cnt2022); + out.printf("There are %d SJIS-encodable characters.%n", cntsjis); + out.printf("There are %d EUC-JP-encodable characters.%n", cnteucj); + out.printf("There are %d characters that are " + + "misdetected as SJIS after being EUC-encoded.%n", cntBAD); + + + //---------------------------------------------------------------- + // tests for specific byte sequences + //---------------------------------------------------------------- + test("ISO-2022-JP", new byte[] {'A', 'B', 'C'}); + test("EUC-JP", new byte[] {'A', 'B', 'C'}); + test("SJIS", new byte[] {'A', 'B', 'C'}); + + test("SJIS", + new byte[] { 'C', 'o', 'p', 'y', 'r', 'i', 'g', 'h', 't', + ' ', (byte)0xa9, ' ', '1', '9', '9', '8' }); + + test("SJIS", + new byte[] { (byte)0xbb, (byte)0xdd, (byte)0xcf, (byte)0xb2, + (byte)0xb8, (byte)0xdb, (byte)0xbc, (byte)0xbd, + (byte)0xc3, (byte)0xd1, (byte)0xbd, (byte)0xde, + (byte)0x82, (byte)0xc5, (byte)0x82, (byte)0xb7 }); + + test("EUC-JP", + new byte[] { (byte)0xa4, (byte)0xd2, (byte)0xa4, (byte)0xe9, + (byte)0xa4, (byte)0xac, (byte)0xa4, (byte)0xca }); + + test("SJIS", + new byte[] { (byte)0xbb, (byte)0xdd, (byte)0xcf, (byte)0xb2, + (byte)0xb8, (byte)0xdb, (byte)0xbc, (byte)0xbd, + (byte)0xc3, (byte)0xd1, (byte)0xbd, (byte)0xde}); + + test("SJIS", + new byte[] { (byte)0xbb, (byte)0xdd, (byte)0xcf, (byte)0xb2, + (byte)0xb8, (byte)0xdb, (byte)0xbc, (byte)0xbd, + (byte)0xc3, (byte)0xd1, (byte)0xbd }); + + test("SJIS", + new byte[] { (byte)0x8f, (byte)0xa1, (byte)0xaa }); + + test("EUC-JP", + new byte[] { (byte)0x8f, (byte)0xc5, (byte)0xe0, (byte)0x20}); + + test("EUC-JP", + new byte[] { (byte)0xbb, (byte)0xdd, (byte)0xcf, (byte)0xb2, + (byte)0xb8, (byte)0xdb, (byte)0xbc, (byte)0xbd, + (byte)0xc3, (byte)0xd1, (byte)0xbd, (byte)0xde, + (byte)0xa4, (byte)0xc7, (byte)0xa4, (byte)0xb9 }); + + test("ISO-2022-JP", + new byte[] { 0x1b, '$', 'B', '#', '4', '$', '5', 0x1b, '(', 'B' }); + + + //---------------------------------------------------------------- + // Check handling of ambiguous end-of-input in middle of first char + //---------------------------------------------------------------- + { + CharsetDecoder dc = Charset.forName("x-JISAutoDetect").newDecoder(); + ByteBuffer bb = ByteBuffer.allocate(128); + CharBuffer cb = CharBuffer.allocate(128); + bb.put((byte)'A').put((byte)0x8f); + bb.flip(); + CoderResult res = dc.decode(bb,cb,false); + check(res.isUnderflow(), "isUnderflow"); + check(bb.position() == 1, "bb.position()"); + check(cb.position() == 1, "cb.position()"); + res = dc.decode(bb,cb,false); + check(res.isUnderflow(), "isUnderflow"); + check(bb.position() == 1, "bb.position()"); + check(cb.position() == 1, "cb.position()"); + bb.compact(); + bb.put((byte)0xa1); + bb.flip(); + res = dc.decode(bb,cb,true); + check(res.isUnderflow(), "isUnderflow"); + check(bb.position() == 2, "bb.position()"); + check(cb.position() == 2, "cb.position()"); + } + + + if (failures > 0) + throw new RuntimeException(failures + " tests failed"); + } + + static void checkCoderResult(CoderResult result) { + check(result.isUnderflow(), + "Unexpected coder result: " + result); + } + + static void test(String expectedCharset, byte[] input) throws Exception { + Charset cs = Charset.forName("x-JISAutoDetect"); + CharsetDecoder autoDetect = cs.newDecoder(); + + Charset cs2 = Charset.forName(expectedCharset); + CharsetDecoder decoder = cs2.newDecoder(); + + ByteBuffer bb = ByteBuffer.allocate(128); + CharBuffer charOutput = CharBuffer.allocate(128); + CharBuffer charExpected = CharBuffer.allocate(128); + + bb.put(input); + bb.flip(); + bb.mark(); + + CoderResult result = autoDetect.decode(bb, charOutput, true); + checkCoderResult(result); + charOutput.flip(); + String actual = charOutput.toString(); + + bb.reset(); + + result = decoder.decode(bb, charExpected, true); + checkCoderResult(result); + charExpected.flip(); + String expected = charExpected.toString(); + + check(actual.equals(expected), + String.format("actual=%s expected=%s", actual, expected)); + } +} diff --git a/test/sun/nio/cs/ReadZero.java b/test/sun/nio/cs/ReadZero.java new file mode 100644 index 000000000..d676b9ec2 --- /dev/null +++ b/test/sun/nio/cs/ReadZero.java @@ -0,0 +1,58 @@ +/* + * Copyright 2008 Sun Microsystems, Inc. All Rights Reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, + * CA 95054 USA or visit www.sun.com if you need additional information or + * have any questions. + */ + +/* @test + * @summary Verify that if InputStream.read returns 0 we throw an exception. + * @bug 4684515 + */ + +import java.io.*; + +public class ReadZero { + + public static void main(String [] args) throws IOException { + ReadZero r = new ReadZero(); + r.testInputStream(); + } + + private void testInputStream() throws IOException { + File f = new File(System.getProperty("test.src", "."), "ReadZero.java"); + InputStream is = new FileInputStream(f) { + public int read(byte [] b, int off, int len) { + System.out.println("FileInputStream.read"); + return 0; + } + }; + + is.read(new byte[1], 0, 1); // ok + InputStreamReader isr = new InputStreamReader(is); + + try { + int res = isr.read(new char[1], 0, 1); + } catch (IOException x) { + System.out.println("IOException caught"); + return; + } + throw new RuntimeException("IOException not thrown"); + } +} diff --git a/test/sun/nio/cs/SJISCanEncode.java b/test/sun/nio/cs/SJISCanEncode.java new file mode 100644 index 000000000..9e843bf9b --- /dev/null +++ b/test/sun/nio/cs/SJISCanEncode.java @@ -0,0 +1,73 @@ +/* + * Copyright 2008 Sun Microsystems, Inc. All Rights Reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, + * CA 95054 USA or visit www.sun.com if you need additional information or + * have any questions. + */ + +/* @test + @bug 4913702 + @summary validates canEncode(char c) method for sun.nio.cs.Shift_JIS + */ + + +import java.nio.*; +import java.nio.charset.*; + +public class SJISCanEncode { + private Charset cs; + private CharsetEncoder encoder; + + private void canEncodeTest(char inputChar, + boolean expectedResult) + throws Exception { + String msg = "err: Shift_JIS canEncode() return value "; + + if (encoder.canEncode(inputChar) != expectedResult) { + throw new Exception(msg + !(expectedResult) + + ": " + Integer.toHexString((int)inputChar)); + } + } + + public static void main(String[] args) throws Exception { + SJISCanEncode test = new SJISCanEncode(); + test.cs = Charset.forName("SJIS"); + test.encoder = test.cs.newEncoder(); + + // us-ascii (mappable by Shift_JIS) + test.canEncodeTest('\u0001', true); + + // Halfwidth Katakana + test.canEncodeTest('\uFF01', true); + + // CJK ideograph + test.canEncodeTest('\u4E9C', true); + + //Hiragana + test.canEncodeTest('\u3041', true); + // fullwidth Katakana + test.canEncodeTest('\u30A1', true); + + // U+0080 should be unmappable + // U+4000 is a BMP character not covered by Shift_JISe + + test.canEncodeTest('\u0080', false); + test.canEncodeTest('\u4000', false); + } +} diff --git a/test/sun/nio/cs/StreamEncoderClose.java b/test/sun/nio/cs/StreamEncoderClose.java new file mode 100644 index 000000000..9c7d6b5c4 --- /dev/null +++ b/test/sun/nio/cs/StreamEncoderClose.java @@ -0,0 +1,76 @@ +/* + * Copyright 2008 Sun Microsystems, Inc. All Rights Reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, + * CA 95054 USA or visit www.sun.com if you need additional information or + * have any questions. + */ + +/* @test + @bug 5005426 + @summary Check if StreamEncoder close() method works correctly from + error recovery after the underneath OutputStream failed to + close the first time. + */ + +import java.io.*; +public class StreamEncoderClose { + public static void main( String arg[] ) throws Exception { + byte[] expected = {(byte)0x1b,(byte)0x24,(byte)0x42, + (byte)0x30,(byte)0x6c, + (byte)0x1b,(byte)0x28,(byte)0x42}; + ByteArrayOutputStream baos = new ByteArrayOutputStream(); + MyBufferedOutputStream mbos = new MyBufferedOutputStream(baos); + PrintWriter pw = new PrintWriter(new OutputStreamWriter(mbos, "ISO-2022-JP")); + mbos.dontClose(); + pw.write("\u4e00"); + pw.close(); // 1st PrintWriter Close + mbos.canClose(); + pw.close(); // 2nd PrintWriter Close + + //double check, probably not necessary + byte[] out = baos.toByteArray(); + if (out.length != expected.length) { + throw new IOException("Failed"); + } + for (int i = 0; i < out.length; i++) { + //System.out.printf("(byte)0x%x,", out[i] & 0xff); + if (out[i] != expected[i]) + throw new IOException("Failed"); + } + } + + static class MyBufferedOutputStream extends BufferedOutputStream { + MyBufferedOutputStream(OutputStream os) { + super(os); + } + private boolean status; + public void dontClose() { + status = false; + } + public void canClose() { + status = true; + } + public void close() throws IOException { + if ( status == false ) { + throw new IOException("Can't close "); + } + super.close(); + } + } +} diff --git a/test/sun/nio/cs/SurrogateGB18030Test.java b/test/sun/nio/cs/SurrogateGB18030Test.java new file mode 100644 index 000000000..f104463b6 --- /dev/null +++ b/test/sun/nio/cs/SurrogateGB18030Test.java @@ -0,0 +1,121 @@ +/* + * Copyright 2008 Sun Microsystems, Inc. All Rights Reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, + * CA 95054 USA or visit www.sun.com if you need additional information or + * have any questions. + */ + +/* @test + @bug 4896454 + @summary Check GB18030 surrogate encoding/decoding handling + */ + +import java.nio.*; +import java.nio.charset.*; + +public class SurrogateGB18030Test { + public static void main(String[] args) throws Exception { + SurrogateGB18030Test test = new SurrogateGB18030Test(); + + test.roundtripTest(); + + /** + * Valid Surrogate pair and 4 byte GB18030 representation + */ + + String inputString = "\uD800\uDC00"; + + byte[] expectedBytes = { (byte)0x90, + (byte)0x30, + (byte)0x81, + (byte)0x30 + }; + test.encodeTest(inputString, expectedBytes); + + /** + * Vice-versa : check that 4 byte GB18030 value encodes correctly + */ + + String expectedStr = "\uDBFF\uDFFF"; + + byte[] inputBytes = { (byte)0xe3, + (byte)0x32, + (byte)0x9a, + (byte)0x35 + }; + + + test.decodeTest(inputBytes, expectedStr); + + } + + private void roundtripTest() throws Exception + { + byte[] ba; + char[] pair = new char[2]; + for (char high = '\ud800'; high <= '\udbff'; high++) { + for (char low = '\udc00'; low <= '\udfff'; low++) { + pair[0] = high; + pair[1] = low; + String s = new String(pair); + if (!s.equals(new String(s.getBytes("gb18030"), "gb18030"))) + throw new Exception ("GB18030 roundtrip failure"); + } + } + + } + + private void encodeTest(String inputString, byte[] expectedBytes) + throws Exception + { + byte[] encoded = inputString.getBytes("GB18030"); + + CharBuffer cb = CharBuffer.wrap(inputString.toCharArray()); + ByteBuffer bb = ByteBuffer.allocate(4); + + CharsetEncoder encoder = Charset.forName("GB18030").newEncoder(); + encoder.encode(cb, bb, true); + + bb.flip(); + for (int i = 0 ; i < expectedBytes.length; i++) { + if (encoded[i] != expectedBytes[i] + || bb.get() != expectedBytes[i]) + throw new Exception ("GB18030 encode failure"); + } + } + + private void decodeTest(byte[] inputBytes, String expectedStr) + throws Exception + { + String s2 = new String(inputBytes, "GB18030"); + + CharsetDecoder decoder = Charset.forName("GB18030").newDecoder(); + + ByteBuffer bb = ByteBuffer.wrap(inputBytes); + CharBuffer cb = CharBuffer.allocate(2); + decoder.decode(bb, cb, true); + + cb.flip(); + for (int i = 0 ; i < expectedStr.length(); i++) { + if (expectedStr.charAt(i) != cb.get() + || s2.charAt(i) != expectedStr.charAt(i)) + throw new Exception ("GB18030 encode failure"); + } + } +} diff --git a/test/sun/nio/cs/SurrogateTestEUCTW.java b/test/sun/nio/cs/SurrogateTestEUCTW.java new file mode 100644 index 000000000..25aa0c0d4 --- /dev/null +++ b/test/sun/nio/cs/SurrogateTestEUCTW.java @@ -0,0 +1,95 @@ +/* + * Copyright 2008 Sun Microsystems, Inc. All Rights Reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, + * CA 95054 USA or visit www.sun.com if you need additional information or + * have any questions. + */ + +/* @test + @bug 4847097 + @summary Check surrogate coverage of EUC_TW + */ + +/* + * Tests the full surrogate mapping roundtrip fidelity of the + * EUC-TW charset coder updated to support the additional + * planes 4,5,6,7,15 + * + * byte->char mappings are contained in external files + * using plane{x}.surrogate as the convention for the input filenames + * + */ + +import java.io.*; +public class SurrogateTestEUCTW { + + private static final String testRootDir + = System.getProperty("test.src", "."); + + public static void main(String[] args) throws Exception { + char[] surrogatePair = new char[2]; + int[] expectBytes = new int[4]; + + // Iterate test over each supported CNS-11643 plane + // containing supplementary character mappings + + String[] testPlane = { "3", "4", "5", "6" ,"7", "15" }; + + for (int i = 0 ; i < testPlane.length; i++) { + FileReader f = new FileReader(testRootDir + + System.getProperty("file.separator") + + "SurrogateTestEUCTW.plane" + + testPlane[i] + + ".surrogates"); + BufferedReader r = new BufferedReader(f); + String line; + + while ((line = r.readLine()) != null) { + int charValue = Integer.parseInt(line.substring(9,14), 16); + surrogatePair[0] = (char) ((charValue - 0x10000) / 0x400 + + 0xd800); + surrogatePair[1] = (char) ((charValue - 0x10000) % 0x400 + + 0xdc00); + // Synthesize 4 byte expected byte values from CNS input values + expectBytes[0] = 0x8E; + expectBytes[1] = 0xA0 + Integer.parseInt(testPlane[i]); + expectBytes[2] = 0x80 | Integer.parseInt(line.substring(2,4), 16); + expectBytes[3] = 0x80 | Integer.parseInt(line.substring(4,6), 16); + + String testStr = new String(surrogatePair); + byte[] encodedBytes = testStr.getBytes("EUC-TW"); + + for (int x = 0 ; x < 4 ; x++) { + if (encodedBytes[x] != (byte)(expectBytes[x] & 0xff)) { + throw new Exception("EUC_TW Surrogate Encoder error"); + } + } + + // Next: test round-trip fidelity + String decoded = new String(encodedBytes, "EUC-TW"); + + if (!decoded.equals(testStr)) { + throw new Exception("EUCTW Decoder error"); + } + } + r.close(); + f.close(); + } + } +} diff --git a/test/sun/nio/cs/SurrogateTestEUCTW.plane15.surrogates b/test/sun/nio/cs/SurrogateTestEUCTW.plane15.surrogates new file mode 100644 index 000000000..24c1a0088 --- /dev/null +++ b/test/sun/nio/cs/SurrogateTestEUCTW.plane15.surrogates @@ -0,0 +1,6476 @@ +0x2121 0x20002 +0x2122 0x2008C +0x2123 0x200D4 +0x2124 0x201A5 +0x2125 0x20092 +0x2126 0x20093 +0x2127 0x200D8 +0x2128 0x200D9 +0x2129 0x201A7 +0x212A 0x2062B +0x212B 0x2062C +0x212C 0x2062D +0x212D 0x20630 +0x212E 0x2062E +0x212F 0x206AB +0x2131 0x2092D +0x2132 0x2096D +0x2133 0x2F834 +0x2134 0x20A0F +0x2136 0x20B9D +0x2137 0x211A2 +0x2138 0x215D4 +0x2139 0x21B56 +0x213A 0x21BC3 +0x213B 0x22014 +0x213D 0x2471A +0x213E 0x2000F +0x213F 0x20010 +0x2140 0x2009A +0x2141 0x2009B +0x2143 0x201AC +0x2145 0x20097 +0x2146 0x20546 +0x2148 0x20576 +0x2149 0x20577 +0x214A 0x205AE +0x214B 0x2063A +0x214C 0x2067D +0x214D 0x21BC5 +0x214E 0x20BA8 +0x2151 0x21241 +0x2152 0x21242 +0x2153 0x215D8 +0x2154 0x215D9 +0x2155 0x216AA +0x2156 0x216AB +0x2157 0x21942 +0x2158 0x21941 +0x215A 0x21BC6 +0x215C 0x21D35 +0x215D 0x21D36 +0x215E 0x21D37 +0x215F 0x2F883 +0x2160 0x2634D +0x2162 0x221B5 +0x2163 0x22317 +0x2164 0x22482 +0x2165 0x233B6 +0x2167 0x23C72 +0x2168 0x2455C +0x2169 0x245A8 +0x216B 0x215E3 +0x216E 0x200E6 +0x216F 0x20144 +0x2170 0x20145 +0x2173 0x201C4 +0x2174 0x201C5 +0x2175 0x201C6 +0x2176 0x201C7 +0x2177 0x201C8 +0x2178 0x201C9 +0x2179 0x201CA +0x217A 0x201D4 +0x217B 0x2057D +0x217C 0x26272 +0x217D 0x205B2 +0x217E 0x205B4 +0x2221 0x20682 +0x2222 0x206C7 +0x2223 0x206C8 +0x2225 0x2083C +0x2226 0x2083D +0x2227 0x2083E +0x2228 0x2083F +0x2229 0x2F824 +0x222A 0x208D3 +0x222B 0x20147 +0x222D 0x20A3D +0x222E 0x20AE2 +0x222F 0x20BB8 +0x2230 0x20BB9 +0x2231 0x20BC2 +0x2232 0x20BBA +0x2233 0x20BC6 +0x2234 0x20BBB +0x2235 0x211AD +0x2236 0x2124C +0x2237 0x2124D +0x2239 0x216B2 +0x223A 0x216B3 +0x223B 0x216B4 +0x223C 0x216B5 +0x223D 0x219C3 +0x223E 0x219C4 +0x223F 0x219C5 +0x2240 0x219C6 +0x2241 0x219C7 +0x2243 0x21BCE +0x2244 0x21C30 +0x2245 0x21D47 +0x2246 0x21D48 +0x2248 0x2205C +0x224A 0x2205F +0x224B 0x22318 +0x224C 0x22319 +0x224D 0x2237E +0x224F 0x225B0 +0x2250 0x22A75 +0x2252 0x22A76 +0x2253 0x23041 +0x2254 0x23142 +0x2256 0x233BD +0x225A 0x23B1E +0x225B 0x23B1F +0x225C 0x23C87 +0x225E 0x23C78 +0x225F 0x24188 +0x2260 0x24189 +0x2261 0x2418A +0x2262 0x24617 +0x2263 0x24615 +0x2267 0x250E5 +0x2268 0x25609 +0x2269 0x2573B +0x226A 0x2574F +0x226C 0x2662E +0x226D 0x2662F +0x226E 0x26AFF +0x226F 0x26AFD +0x2270 0x26AFE +0x2274 0x20023 +0x2275 0x200EA +0x2276 0x2012A +0x2277 0x20149 +0x2278 0x2014A +0x2279 0x2014B +0x227A 0x201DF +0x227B 0x201E0 +0x227C 0x201E1 +0x227D 0x201E2 +0x227E 0x205C1 +0x2321 0x201E3 +0x2322 0x201E4 +0x2323 0x201E5 +0x2324 0x205C0 +0x2325 0x201E6 +0x2326 0x201F7 +0x2328 0x201E7 +0x2329 0x201E8 +0x232A 0x201E9 +0x232B 0x201EA +0x232C 0x201EB +0x232D 0x2050E +0x232E 0x20580 +0x232F 0x20581 +0x2330 0x205BA +0x2331 0x205BB +0x2332 0x205BC +0x2333 0x205BD +0x2334 0x2063F +0x2335 0x20640 +0x2336 0x20688 +0x2337 0x2F81F +0x2338 0x20846 +0x233A 0x20847 +0x233B 0x20848 +0x233C 0x20936 +0x233D 0x20972 +0x233E 0x20996 +0x233F 0x20A47 +0x2340 0x20AE7 +0x2341 0x20B34 +0x2342 0x20B35 +0x2343 0x20B36 +0x2344 0x20B37 +0x2345 0x20BE3 +0x2346 0x20BE4 +0x2347 0x20BE5 +0x2348 0x20BEB +0x234A 0x20BE6 +0x234B 0x20BE7 +0x234C 0x20BE8 +0x234F 0x211B9 +0x2351 0x211BA +0x2353 0x21263 +0x2354 0x21264 +0x2356 0x21265 +0x2358 0x21266 +0x2359 0x2127C +0x235A 0x21267 +0x235B 0x2F85A +0x235C 0x21559 +0x235D 0x215E9 +0x235E 0x215EA +0x235F 0x215EB +0x2360 0x215EC +0x2361 0x215ED +0x2362 0x215EE +0x2363 0x215EF +0x2364 0x216BF +0x2365 0x216CB +0x2366 0x216C3 +0x2367 0x216D5 +0x2368 0x216C4 +0x2369 0x216C5 +0x236A 0x216D3 +0x236B 0x216C6 +0x236C 0x216C7 +0x236D 0x216C8 +0x236E 0x216C9 +0x236F 0x216CA +0x2370 0x2194A +0x2372 0x219D1 +0x2373 0x21B61 +0x2374 0x21C37 +0x2376 0x21D64 +0x2377 0x21D66 +0x2379 0x21D67 +0x237A 0x21D68 +0x237B 0x21D69 +0x237D 0x21D73 +0x237E 0x21D6A +0x2421 0x21D6B +0x2424 0x22072 +0x2426 0x221B9 +0x2427 0x2231C +0x2428 0x22336 +0x2429 0x223BC +0x242A 0x223BE +0x242B 0x223BF +0x242C 0x223C0 +0x242D 0x22487 +0x242E 0x225DC +0x242F 0x225DD +0x2430 0x225F5 +0x2431 0x225DE +0x2432 0x225DF +0x2433 0x2F89E +0x2434 0x225E0 +0x2435 0x225E1 +0x2436 0x225E2 +0x2437 0x22A2C +0x2438 0x22A2D +0x243A 0x22AA9 +0x243B 0x22A9C +0x243C 0x22A9D +0x243D 0x22A9E +0x243E 0x22A9F +0x243F 0x22AA0 +0x2440 0x22AA1 +0x2441 0x22AA2 +0x2443 0x22AA3 +0x2444 0x22AA4 +0x2445 0x22AA7 +0x2446 0x23042 +0x2447 0x23093 +0x2448 0x23151 +0x244A 0x23152 +0x244B 0x23144 +0x244C 0x23153 +0x244D 0x23322 +0x244E 0x233C6 +0x244F 0x233C7 +0x2450 0x233C9 +0x2451 0x2F8DD +0x2452 0x233CA +0x2454 0x233C8 +0x2455 0x23B24 +0x2456 0x23B25 +0x2457 0x23B26 +0x2459 0x23B27 +0x245A 0x23B28 +0x245C 0x23C58 +0x245D 0x2F8FB +0x245E 0x23CA7 +0x245F 0x23C88 +0x2460 0x23C89 +0x2461 0x23CA5 +0x2462 0x23CA8 +0x2463 0x23CA9 +0x2464 0x23CAA +0x2465 0x23CAB +0x2466 0x23CAC +0x2467 0x23CAD +0x2469 0x23C79 +0x246B 0x24194 +0x246C 0x24195 +0x246D 0x24196 +0x2470 0x24197 +0x2472 0x24198 +0x2473 0x2454E +0x2474 0x2454F +0x2475 0x24619 +0x2477 0x24741 +0x2478 0x2F92A +0x2479 0x248F7 +0x247A 0x24C04 +0x247B 0x24C19 +0x247C 0x24C17 +0x247D 0x25040 +0x247E 0x250EC +0x2521 0x2541B +0x2522 0x2541C +0x2524 0x2560E +0x2525 0x25752 +0x2526 0x25AD8 +0x2527 0x25E26 +0x2528 0x26274 +0x252A 0x26275 +0x252B 0x269C6 +0x252C 0x26B0B +0x252D 0x26B0C +0x252E 0x26B0D +0x252F 0x26B0E +0x2530 0x26B0F +0x2531 0x26B10 +0x2533 0x28459 +0x2534 0x2845A +0x2535 0x28683 +0x2536 0x28684 +0x2537 0x28685 +0x253A 0x28E20 +0x253B 0x28E21 +0x253C 0x28E22 +0x253D 0x28E23 +0x253E 0x28E24 +0x253F 0x28E29 +0x2540 0x200F4 +0x2542 0x2158F +0x2543 0x20151 +0x2545 0x20217 +0x2546 0x20218 +0x2547 0x2025B +0x2548 0x20219 +0x2549 0x2021A +0x254B 0x2021B +0x254C 0x2021C +0x254D 0x2021D +0x254E 0x2021E +0x254F 0x2021F +0x2550 0x20220 +0x2551 0x20221 +0x2552 0x2048B +0x2553 0x20488 +0x2555 0x20585 +0x2556 0x26287 +0x2557 0x205C7 +0x2558 0x2064C +0x2559 0x2064D +0x255A 0x206FC +0x255B 0x206FD +0x255C 0x206FE +0x255D 0x206FF +0x2560 0x20856 +0x2561 0x20857 +0x2562 0x20858 +0x2563 0x20859 +0x2564 0x208DC +0x2565 0x208DD +0x2566 0x20973 +0x2567 0x2099D +0x2568 0x209A1 +0x2569 0x2099E +0x256A 0x2099F +0x256B 0x209A0 +0x256C 0x209E6 +0x256D 0x20A51 +0x256E 0x20A52 +0x256F 0x20B3D +0x2570 0x20C22 +0x2572 0x20C23 +0x2573 0x20C24 +0x2574 0x20C25 +0x2575 0x20C26 +0x2576 0x20C27 +0x2577 0x20C28 +0x2578 0x20C29 +0x2579 0x20C2A +0x257A 0x20C2B +0x257C 0x20C40 +0x257D 0x20C2C +0x257E 0x20C2D +0x2621 0x20C2E +0x2622 0x20C2F +0x2623 0x20C30 +0x2624 0x211D0 +0x2625 0x212A8 +0x2626 0x21294 +0x2627 0x21295 +0x2628 0x21296 +0x2629 0x21297 +0x262A 0x21298 +0x262B 0x2129C +0x262C 0x2129B +0x262E 0x212A1 +0x262F 0x212A0 +0x2630 0x21299 +0x2631 0x2129A +0x2632 0x212A7 +0x2634 0x21564 +0x2636 0x21600 +0x2637 0x21601 +0x263A 0x216E5 +0x263B 0x216E9 +0x263C 0x216FB +0x263D 0x216FC +0x263E 0x216EA +0x263F 0x216EB +0x2640 0x216EC +0x2641 0x216ED +0x2642 0x216EE +0x2643 0x216EF +0x2644 0x216FA +0x2645 0x216F0 +0x2646 0x216F1 +0x2647 0x216F2 +0x2648 0x216F3 +0x2649 0x216F4 +0x264A 0x21952 +0x264B 0x21953 +0x264C 0x21954 +0x264D 0x21955 +0x264E 0x21958 +0x264F 0x21956 +0x2651 0x219DD +0x2652 0x219DE +0x2653 0x219E3 +0x2654 0x219DF +0x2655 0x219E0 +0x2656 0x21B22 +0x2657 0x21B23 +0x2658 0x21B68 +0x2659 0x21BDF +0x265B 0x21C44 +0x265C 0x21D94 +0x265D 0x21D95 +0x265E 0x21D96 +0x265F 0x21D97 +0x2660 0x21D98 +0x2661 0x21D99 +0x2662 0x2F879 +0x2663 0x21D9A +0x2664 0x21D9B +0x2665 0x21D9D +0x2666 0x21D9E +0x2667 0x21D9F +0x2668 0x21DA0 +0x2669 0x21FF3 +0x266A 0x21FF2 +0x266B 0x2201F +0x266C 0x22088 +0x266D 0x2218F +0x266E 0x22190 +0x2670 0x221FD +0x2671 0x221FE +0x2672 0x221FF +0x2673 0x22200 +0x2674 0x22201 +0x2675 0x2261A +0x2677 0x225E3 +0x2678 0x225E4 +0x2679 0x225E5 +0x267A 0x225E6 +0x267B 0x225E7 +0x267C 0x225EB +0x267D 0x225E8 +0x267E 0x225E9 +0x2721 0x225EA +0x2722 0x2261D +0x2723 0x229A4 +0x2724 0x229A3 +0x2725 0x22AD4 +0x2726 0x22AC6 +0x2727 0x22AC7 +0x2728 0x22AC8 +0x2729 0x22AC9 +0x272A 0x22ACA +0x272B 0x22ACB +0x272C 0x22ACC +0x272D 0x22ACD +0x272F 0x22ACE +0x2731 0x22EB8 +0x2732 0x22EB9 +0x2733 0x22EBA +0x2734 0x2306E +0x2735 0x230DB +0x2736 0x230DC +0x2737 0x23168 +0x2738 0x23169 +0x2739 0x2316A +0x273A 0x2316B +0x273B 0x2316C +0x273C 0x2316D +0x273D 0x2316E +0x273F 0x23324 +0x2740 0x23325 +0x2742 0x23400 +0x2743 0x233E5 +0x2744 0x233F9 +0x2745 0x233E7 +0x2746 0x233E8 +0x2747 0x233E9 +0x2748 0x233FE +0x2749 0x233EA +0x274A 0x233EB +0x274B 0x233EC +0x274D 0x233ED +0x274F 0x233EE +0x2751 0x233EF +0x2753 0x23417 +0x2754 0x233F0 +0x2755 0x233F1 +0x2756 0x23894 +0x2757 0x2395B +0x2758 0x2395C +0x2759 0x2395D +0x275A 0x23B2F +0x275C 0x23B30 +0x275D 0x23B31 +0x275E 0x23B32 +0x275F 0x23B33 +0x2760 0x23CCC +0x2761 0x23CCD +0x2762 0x23CCE +0x2763 0x23CAE +0x2764 0x23CAF +0x2765 0x23CB0 +0x2767 0x23CCF +0x2768 0x23CD0 +0x2769 0x23CD1 +0x276A 0x23CD2 +0x276B 0x23CD3 +0x276D 0x23CD4 +0x276F 0x241A6 +0x2770 0x241A7 +0x2771 0x241A8 +0x2772 0x241B0 +0x2773 0x241A9 +0x2774 0x241AA +0x2775 0x241AB +0x2776 0x241AC +0x2777 0x241AD +0x2778 0x244FB +0x2779 0x244FC +0x277B 0x2462D +0x277C 0x2462E +0x277D 0x24650 +0x277E 0x2462F +0x2821 0x24630 +0x2822 0x24765 +0x2823 0x248E6 +0x2824 0x2490C +0x2825 0x24902 +0x2826 0x24903 +0x2827 0x24904 +0x2828 0x24905 +0x2829 0x24906 +0x282B 0x24BC0 +0x282C 0x24C24 +0x282D 0x24C25 +0x282E 0x24D16 +0x282F 0x24D32 +0x2830 0x25420 +0x2831 0x25421 +0x2832 0x25422 +0x2833 0x25423 +0x2835 0x25425 +0x2836 0x25619 +0x2837 0x25624 +0x2838 0x2561A +0x2839 0x2561B +0x283A 0x2561C +0x283B 0x2561D +0x283C 0x2F952 +0x283D 0x2561E +0x283E 0x2575A +0x283F 0x2575B +0x2840 0x2575C +0x2841 0x2575D +0x2842 0x2575E +0x2843 0x25931 +0x2845 0x25E29 +0x2847 0x25F88 +0x2848 0x25F89 +0x2849 0x26289 +0x284B 0x26356 +0x284C 0x264D1 +0x284D 0x264E6 +0x284E 0x26532 +0x284F 0x26533 +0x2850 0x26652 +0x2851 0x26653 +0x2853 0x26654 +0x2854 0x26655 +0x2857 0x26B29 +0x2858 0x26B2A +0x2859 0x26B2B +0x285A 0x26B2C +0x285B 0x26B2D +0x285C 0x2F992 +0x285D 0x26B2E +0x285E 0x26B2F +0x285F 0x26B30 +0x2860 0x26B31 +0x2861 0x26B32 +0x2862 0x26B33 +0x2864 0x26B34 +0x2865 0x2719B +0x2866 0x27223 +0x2867 0x27224 +0x2869 0x27225 +0x286A 0x27227 +0x286B 0x27616 +0x286C 0x27CA0 +0x286D 0x2846F +0x286F 0x28470 +0x2870 0x28471 +0x2873 0x28472 +0x2874 0x28473 +0x2875 0x28474 +0x2876 0x2869C +0x2877 0x286AA +0x2878 0x2869D +0x2879 0x2869E +0x287B 0x286AB +0x287C 0x2869F +0x287D 0x28E35 +0x287E 0x28E38 +0x2921 0x2A38D +0x2922 0x20035 +0x2923 0x20036 +0x2924 0x25AEE +0x2925 0x200B4 +0x2926 0x2A6C9 +0x2927 0x20132 +0x2928 0x20155 +0x2929 0x20244 +0x292A 0x20245 +0x292B 0x20246 +0x292C 0x20247 +0x292E 0x20248 +0x292F 0x20249 +0x2931 0x2024A +0x2932 0x2024B +0x2933 0x2024C +0x2934 0x2024D +0x2935 0x2024E +0x2936 0x2024F +0x2937 0x20250 +0x2938 0x20251 +0x2939 0x26299 +0x293A 0x205D1 +0x293C 0x205D2 +0x293D 0x205D3 +0x293E 0x205D4 +0x293F 0x205D5 +0x2940 0x20721 +0x2941 0x20722 +0x2942 0x20723 +0x2943 0x20868 +0x2944 0x20869 +0x2945 0x2086A +0x2946 0x208E2 +0x2947 0x20945 +0x2948 0x209EC +0x2949 0x209ED +0x294A 0x209EE +0x294B 0x209EF +0x294D 0x20A62 +0x294E 0x20A63 +0x294F 0x20AF4 +0x2950 0x2006F +0x2951 0x20B44 +0x2952 0x20B45 +0x2953 0x20C79 +0x2955 0x20C7A +0x2956 0x20C7B +0x2957 0x20C7C +0x2958 0x20C7D +0x2959 0x20C7E +0x295A 0x20C7F +0x295B 0x20C80 +0x295E 0x20C81 +0x295F 0x20C82 +0x2960 0x20C83 +0x2961 0x20C84 +0x2962 0x20C85 +0x2963 0x20C86 +0x2964 0x20C87 +0x2965 0x20C8F +0x2966 0x20C88 +0x2967 0x20C89 +0x2968 0x212C5 +0x2969 0x212C6 +0x296B 0x212C7 +0x296C 0x212C8 +0x296D 0x212C9 +0x296E 0x212CA +0x296F 0x212CB +0x2970 0x212CC +0x2972 0x212CD +0x2973 0x212CE +0x2974 0x212E3 +0x2975 0x212CF +0x2976 0x212D0 +0x2977 0x212D1 +0x2978 0x212D2 +0x2979 0x212D3 +0x297A 0x212C4 +0x297B 0x212D4 +0x297C 0x212D5 +0x297D 0x212D6 +0x297E 0x21520 +0x2A21 0x21521 +0x2A22 0x2161A +0x2A23 0x21612 +0x2A24 0x21614 +0x2A25 0x21615 +0x2A26 0x21616 +0x2A27 0x21619 +0x2A28 0x21617 +0x2A29 0x21618 +0x2A2B 0x2F861 +0x2A2D 0x21712 +0x2A2E 0x21713 +0x2A2F 0x21714 +0x2A30 0x21715 +0x2A31 0x21716 +0x2A32 0x21717 +0x2A33 0x21718 +0x2A34 0x21719 +0x2A35 0x21961 +0x2A36 0x21962 +0x2A37 0x21963 +0x2A38 0x219F5 +0x2A3A 0x219F6 +0x2A3B 0x219F7 +0x2A3C 0x219F8 +0x2A3D 0x21B29 +0x2A3F 0x21C5D +0x2A40 0x21C57 +0x2A41 0x21C58 +0x2A42 0x21C59 +0x2A43 0x21C5A +0x2A44 0x21C5B +0x2A45 0x21DBB +0x2A46 0x21DD1 +0x2A47 0x21DBC +0x2A48 0x21DBD +0x2A49 0x268DF +0x2A4A 0x21DD0 +0x2A4B 0x21DBE +0x2A4C 0x21DBF +0x2A4D 0x21DC0 +0x2A4E 0x21DC1 +0x2A4F 0x21DC2 +0x2A50 0x21DC3 +0x2A51 0x21DC4 +0x2A52 0x26B6C +0x2A53 0x220A1 +0x2A54 0x220A2 +0x2A55 0x220A3 +0x2A56 0x22193 +0x2A57 0x2220D +0x2A58 0x2220F +0x2A59 0x2220E +0x2A5A 0x22210 +0x2A5B 0x22211 +0x2A5C 0x22212 +0x2A5D 0x2F895 +0x2A5E 0x224E5 +0x2A5F 0x2262F +0x2A61 0x22657 +0x2A62 0x22630 +0x2A63 0x22668 +0x2A64 0x2262B +0x2A65 0x22631 +0x2A66 0x22658 +0x2A67 0x2F8A2 +0x2A68 0x22632 +0x2A69 0x22659 +0x2A6B 0x2265A +0x2A6C 0x22633 +0x2A6D 0x2265B +0x2A6E 0x2265C +0x2A6F 0x2265D +0x2A70 0x2261E +0x2A71 0x229AE +0x2A72 0x229AF +0x2A73 0x22A3B +0x2A74 0x22A3C +0x2A75 0x22A3D +0x2A76 0x22B07 +0x2A77 0x22B08 +0x2A78 0x22B09 +0x2A79 0x22B0A +0x2A7A 0x22B0B +0x2A7B 0x22B0C +0x2A7C 0x22B0D +0x2A7D 0x22B0E +0x2A7E 0x22B0F +0x2B21 0x22B10 +0x2B22 0x22B22 +0x2B23 0x22B11 +0x2B24 0x22B12 +0x2B25 0x22B13 +0x2B26 0x22B14 +0x2B27 0x22B15 +0x2B28 0x22B16 +0x2B29 0x22B17 +0x2B2A 0x22B18 +0x2B2B 0x2F8B8 +0x2B2D 0x23046 +0x2B2E 0x23047 +0x2B2F 0x23048 +0x2B30 0x230E1 +0x2B31 0x23181 +0x2B32 0x23183 +0x2B33 0x20C75 +0x2B35 0x23185 +0x2B36 0x23186 +0x2B37 0x2332A +0x2B38 0x2F8D1 +0x2B39 0x2332B +0x2B3A 0x2336B +0x2B3B 0x23418 +0x2B3C 0x23419 +0x2B3D 0x2341A +0x2B3F 0x2341B +0x2B40 0x2341C +0x2B41 0x2341D +0x2B42 0x2341E +0x2B43 0x2341F +0x2B44 0x23420 +0x2B45 0x23421 +0x2B46 0x23422 +0x2B47 0x23423 +0x2B49 0x23424 +0x2B4A 0x23425 +0x2B4B 0x23426 +0x2B4C 0x23427 +0x2B4D 0x23428 +0x2B4E 0x23429 +0x2B4F 0x2342A +0x2B50 0x239EF +0x2B51 0x23B49 +0x2B52 0x23B4A +0x2B53 0x23B4B +0x2B54 0x23B4C +0x2B55 0x23B4D +0x2B56 0x23B4E +0x2B57 0x23B4F +0x2B58 0x23B50 +0x2B59 0x23B51 +0x2B5A 0x23B52 +0x2B5B 0x23B53 +0x2B5C 0x23B54 +0x2B5D 0x23B5A +0x2B5E 0x23B55 +0x2B5F 0x23C5F +0x2B60 0x23D02 +0x2B61 0x23D03 +0x2B62 0x23D04 +0x2B63 0x23D05 +0x2B64 0x23CD5 +0x2B65 0x23D06 +0x2B66 0x23D07 +0x2B67 0x23CD6 +0x2B68 0x23D08 +0x2B69 0x23D09 +0x2B6A 0x23D0A +0x2B6B 0x23D0B +0x2B6C 0x23CD7 +0x2B6D 0x23D0C +0x2B6E 0x23D0D +0x2B6F 0x241C8 +0x2B70 0x241C9 +0x2B71 0x241CA +0x2B72 0x241CB +0x2B73 0x241CC +0x2B74 0x241CD +0x2B75 0x241CE +0x2B76 0x241CF +0x2B77 0x241D0 +0x2B78 0x241D1 +0x2B79 0x241D2 +0x2B7B 0x241D3 +0x2B7C 0x241D4 +0x2B7D 0x241D5 +0x2B7E 0x241D6 +0x2C21 0x241D7 +0x2C22 0x241E2 +0x2C23 0x241D8 +0x2C24 0x24504 +0x2C25 0x24505 +0x2C26 0x24506 +0x2C28 0x24643 +0x2C29 0x24644 +0x2C2A 0x24784 +0x2C2B 0x2478F +0x2C2C 0x24785 +0x2C2D 0x24786 +0x2C2E 0x2492F +0x2C2F 0x2491A +0x2C30 0x2491B +0x2C31 0x2491C +0x2C33 0x2491D +0x2C34 0x2491E +0x2C35 0x2491F +0x2C36 0x24920 +0x2C37 0x24921 +0x2C38 0x24922 +0x2C39 0x2F92C +0x2C3A 0x24923 +0x2C3B 0x24924 +0x2C3C 0x2490E +0x2C3D 0x24925 +0x2C3E 0x2492B +0x2C3F 0x2492C +0x2C40 0x2490B +0x2C41 0x24AEE +0x2C43 0x24BC3 +0x2C44 0x24BD8 +0x2C45 0x24BD9 +0x2C46 0x24C38 +0x2C47 0x24C39 +0x2C48 0x24C3A +0x2C49 0x24C3B +0x2C4B 0x24C3C +0x2C4C 0x24C3D +0x2C4D 0x24C3E +0x2C4E 0x24C3F +0x2C4F 0x24C40 +0x2C50 0x24D48 +0x2C51 0x24D4C +0x2C52 0x24F28 +0x2C53 0x24F51 +0x2C54 0x24F52 +0x2C55 0x2504C +0x2C56 0x25123 +0x2C57 0x2F945 +0x2C58 0x25124 +0x2C59 0x25431 +0x2C5A 0x25432 +0x2C5B 0x25433 +0x2C5D 0x25434 +0x2C5E 0x25435 +0x2C5F 0x25436 +0x2C60 0x25440 +0x2C61 0x25437 +0x2C63 0x25438 +0x2C64 0x2543D +0x2C65 0x25638 +0x2C66 0x25639 +0x2C67 0x2563A +0x2C68 0x2563B +0x2C69 0x2563C +0x2C6A 0x2564C +0x2C6B 0x25773 +0x2C6C 0x25774 +0x2C6E 0x25775 +0x2C6F 0x25776 +0x2C70 0x25779 +0x2C71 0x25941 +0x2C72 0x25942 +0x2C73 0x25943 +0x2C74 0x25A5B +0x2C77 0x238A6 +0x2C78 0x25A5C +0x2C79 0x25AE5 +0x2C7A 0x25AE6 +0x2C7B 0x25AE7 +0x2C7C 0x25AE8 +0x2C7D 0x25AED +0x2C7E 0x25E30 +0x2D22 0x25E31 +0x2D23 0x25F94 +0x2D24 0x26351 +0x2D25 0x263FD +0x2D26 0x263FE +0x2D27 0x264E9 +0x2D29 0x266B3 +0x2D2A 0x26684 +0x2D2B 0x26694 +0x2D2D 0x2669C +0x2D2F 0x26685 +0x2D30 0x26900 +0x2D31 0x26937 +0x2D32 0x26957 +0x2D33 0x26B54 +0x2D34 0x26B68 +0x2D35 0x26B55 +0x2D36 0x26B5C +0x2D37 0x26B56 +0x2D38 0x26B57 +0x2D39 0x26B58 +0x2D3A 0x26B59 +0x2D3B 0x26B5A +0x2D3C 0x26B5B +0x2D3D 0x27234 +0x2D3F 0x27235 +0x2D41 0x27239 +0x2D42 0x27236 +0x2D43 0x27237 +0x2D44 0x27238 +0x2D45 0x275E5 +0x2D46 0x27659 +0x2D48 0x2763A +0x2D49 0x2763B +0x2D4A 0x27D28 +0x2D4B 0x27E89 +0x2D4D 0x27E8A +0x2D4E 0x27E8B +0x2D4F 0x27E8C +0x2D50 0x27E8D +0x2D51 0x27FBC +0x2D52 0x282A3 +0x2D54 0x282A4 +0x2D55 0x28493 +0x2D56 0x28494 +0x2D57 0x28495 +0x2D58 0x28496 +0x2D59 0x28497 +0x2D5A 0x286B9 +0x2D5B 0x28E4F +0x2D5C 0x28E50 +0x2D5D 0x28E51 +0x2D5E 0x29076 +0x2D60 0x200FB +0x2D61 0x20083 +0x2D62 0x20138 +0x2D63 0x2015D +0x2D64 0x20271 +0x2D66 0x20277 +0x2D67 0x20278 +0x2D68 0x2F807 +0x2D69 0x202C3 +0x2D6A 0x20279 +0x2D6B 0x2027A +0x2D6C 0x2027B +0x2D6D 0x2027C +0x2D6E 0x20272 +0x2D6F 0x2027D +0x2D70 0x202A0 +0x2D71 0x2027E +0x2D72 0x2027F +0x2D73 0x20280 +0x2D74 0x20281 +0x2D75 0x20282 +0x2D76 0x20283 +0x2D77 0x2029E +0x2D78 0x20284 +0x2D79 0x20285 +0x2D7A 0x20286 +0x2D7B 0x20287 +0x2D7C 0x20288 +0x2D7D 0x20493 +0x2D7E 0x20494 +0x2E21 0x20495 +0x2E22 0x204EF +0x2E23 0x204F0 +0x2E25 0x2058D +0x2E26 0x2058F +0x2E27 0x20590 +0x2E28 0x20591 +0x2E29 0x20592 +0x2E2A 0x205DE +0x2E2B 0x205E1 +0x2E2C 0x20653 +0x2E2E 0x2074A +0x2E2F 0x2074B +0x2E30 0x2074C +0x2E31 0x20751 +0x2E32 0x2074D +0x2E33 0x20748 +0x2E34 0x20874 +0x2E35 0x20875 +0x2E36 0x20920 +0x2E37 0x20921 +0x2E38 0x209A5 +0x2E39 0x209A6 +0x2E3A 0x20A73 +0x2E3B 0x20A74 +0x2E3C 0x20B50 +0x2E3D 0x20B51 +0x2E3E 0x20B52 +0x2E3F 0x20B53 +0x2E40 0x20CDB +0x2E41 0x20CDC +0x2E43 0x20CDD +0x2E44 0x20CDE +0x2E45 0x20CFF +0x2E48 0x20CDF +0x2E49 0x20CE0 +0x2E4B 0x20CE1 +0x2E4C 0x20CE2 +0x2E4D 0x20CE3 +0x2E4E 0x20CE4 +0x2E4F 0x20CE5 +0x2E50 0x20CE6 +0x2E51 0x20CE7 +0x2E52 0x20CE8 +0x2E53 0x20CE9 +0x2E54 0x20CEA +0x2E55 0x21307 +0x2E56 0x21308 +0x2E57 0x21309 +0x2E58 0x2130A +0x2E59 0x2130B +0x2E5A 0x2130C +0x2E5B 0x2130D +0x2E5D 0x2131A +0x2E5E 0x2130E +0x2E5F 0x2130F +0x2E60 0x21310 +0x2E61 0x2131C +0x2E62 0x21527 +0x2E63 0x21566 +0x2E64 0x21598 +0x2E65 0x21599 +0x2E66 0x21633 +0x2E67 0x21624 +0x2E68 0x21625 +0x2E69 0x21626 +0x2E6C 0x2173E +0x2E6D 0x2F864 +0x2E6E 0x2173F +0x2E6F 0x21757 +0x2E70 0x21740 +0x2E71 0x21741 +0x2E72 0x21758 +0x2E73 0x21742 +0x2E74 0x21743 +0x2E75 0x21744 +0x2E76 0x21745 +0x2E77 0x21746 +0x2E79 0x21747 +0x2E7A 0x2196B +0x2E7B 0x2196C +0x2E7C 0x21A10 +0x2E7D 0x21A11 +0x2F21 0x21B75 +0x2F22 0x21BEF +0x2F23 0x21C6A +0x2F24 0x21C6B +0x2F26 0x21C6C +0x2F27 0x21C6D +0x2F28 0x21C6E +0x2F29 0x21DEF +0x2F2A 0x21DF0 +0x2F2B 0x21DF1 +0x2F2C 0x21DF2 +0x2F2D 0x21DF3 +0x2F2E 0x21DF4 +0x2F2F 0x21DF5 +0x2F30 0x21DFF +0x2F31 0x21DF6 +0x2F32 0x21E02 +0x2F33 0x21DF7 +0x2F34 0x22022 +0x2F35 0x220C4 +0x2F36 0x220C3 +0x2F37 0x22228 +0x2F39 0x22320 +0x2F3A 0x22325 +0x2F3B 0x22322 +0x2F3C 0x22323 +0x2F3D 0x223EB +0x2F3F 0x224F9 +0x2F40 0x224FA +0x2F41 0x22699 +0x2F42 0x2269A +0x2F43 0x2269B +0x2F44 0x22663 +0x2F46 0x2265E +0x2F47 0x2265F +0x2F48 0x22660 +0x2F49 0x2269C +0x2F4A 0x22661 +0x2F4B 0x2269D +0x2F4C 0x22B54 +0x2F4D 0x22B55 +0x2F4E 0x22B56 +0x2F4F 0x22B57 +0x2F50 0x22B58 +0x2F51 0x22B59 +0x2F52 0x22B5A +0x2F53 0x22B19 +0x2F54 0x22B6A +0x2F55 0x22B5B +0x2F56 0x22B5C +0x2F57 0x22B5D +0x2F58 0x22B66 +0x2F5A 0x22B5E +0x2F5B 0x22B5F +0x2F5C 0x22B1A +0x2F5D 0x22B60 +0x2F5E 0x22B61 +0x2F60 0x22B62 +0x2F61 0x22B1B +0x2F62 0x22B63 +0x2F63 0x26410 +0x2F64 0x26411 +0x2F65 0x2304C +0x2F66 0x2309B +0x2F67 0x230EB +0x2F68 0x230EC +0x2F69 0x230ED +0x2F6A 0x230EE +0x2F6B 0x231A3 +0x2F6C 0x231A8 +0x2F6D 0x231A6 +0x2F6F 0x2332F +0x2F70 0x23330 +0x2F71 0x23331 +0x2F72 0x23332 +0x2F73 0x23333 +0x2F74 0x2344F +0x2F75 0x23451 +0x2F76 0x23452 +0x2F77 0x2347D +0x2F78 0x23453 +0x2F79 0x23454 +0x2F7A 0x23455 +0x2F7B 0x23456 +0x2F7C 0x23457 +0x2F7D 0x23458 +0x2F7E 0x23459 +0x3021 0x2345A +0x3022 0x2345B +0x3023 0x2345C +0x3025 0x2345D +0x3026 0x2345E +0x3027 0x2345F +0x3028 0x2346F +0x3029 0x23460 +0x302A 0x23461 +0x302B 0x23462 +0x302C 0x23463 +0x302D 0x23472 +0x302E 0x23464 +0x3030 0x2346E +0x3031 0x238B5 +0x3032 0x23B65 +0x3033 0x23B66 +0x3034 0x23B67 +0x3035 0x23B68 +0x3036 0x23B69 +0x3037 0x23B6A +0x3038 0x23B6B +0x3039 0x23B6C +0x303A 0x23D0E +0x303B 0x23D43 +0x303D 0x23D0F +0x303E 0x23D44 +0x303F 0x23D45 +0x3040 0x23D46 +0x3041 0x23D47 +0x3042 0x23D48 +0x3043 0x23D49 +0x3044 0x23D10 +0x3045 0x23D4A +0x3046 0x23D4B +0x3047 0x23D4C +0x3048 0x23D4D +0x304A 0x23D4E +0x304B 0x23D4F +0x304C 0x23D50 +0x304D 0x23D51 +0x304E 0x23D52 +0x304F 0x23D53 +0x3050 0x23D54 +0x3051 0x23D55 +0x3052 0x23D56 +0x3053 0x23D57 +0x3054 0x23D58 +0x3055 0x23D59 +0x3056 0x23D5A +0x3057 0x23D1D +0x3058 0x23D5B +0x3059 0x23D5C +0x305A 0x23D5D +0x305B 0x2F906 +0x305D 0x241FE +0x305E 0x241FF +0x305F 0x24200 +0x3060 0x24201 +0x3061 0x24202 +0x3062 0x24203 +0x3063 0x24204 +0x3064 0x24205 +0x3065 0x24206 +0x3066 0x24207 +0x3067 0x24218 +0x3068 0x24208 +0x3069 0x24209 +0x306A 0x241F3 +0x306B 0x2420A +0x306C 0x2420B +0x306D 0x2421B +0x306E 0x2420C +0x306F 0x2420D +0x3070 0x2420E +0x3071 0x2420F +0x3072 0x24210 +0x3073 0x2450F +0x3074 0x24561 +0x3075 0x24579 +0x3076 0x247C1 +0x3077 0x247AC +0x3078 0x247AD +0x3079 0x24943 +0x307A 0x24944 +0x307B 0x24945 +0x307C 0x24946 +0x307D 0x24947 +0x307E 0x24948 +0x3121 0x24949 +0x3122 0x24964 +0x3123 0x2494A +0x3124 0x2494B +0x3125 0x2494C +0x3126 0x2494D +0x3128 0x2F92D +0x3129 0x24B39 +0x312A 0x24C57 +0x312B 0x24C58 +0x312C 0x24C59 +0x312D 0x24C5F +0x312E 0x24C5A +0x312F 0x24D6A +0x3130 0x24F2B +0x3131 0x24F5D +0x3132 0x24F5E +0x3133 0x24F5F +0x3135 0x24F60 +0x3136 0x24F61 +0x3137 0x25058 +0x3138 0x25059 +0x3139 0x2514A +0x313A 0x2514B +0x313B 0x2514C +0x313C 0x2514D +0x313D 0x2514E +0x313E 0x25457 +0x313F 0x253B3 +0x3140 0x253B4 +0x3141 0x2546E +0x3142 0x2545B +0x3143 0x2545C +0x3145 0x2545D +0x3146 0x2545E +0x3148 0x2546C +0x3149 0x2563D +0x314A 0x25654 +0x314B 0x2563E +0x314C 0x25655 +0x314D 0x25656 +0x314E 0x2563F +0x314F 0x25657 +0x3150 0x25658 +0x3151 0x25659 +0x3152 0x2565A +0x3153 0x2565B +0x3154 0x2565C +0x3155 0x25788 +0x3156 0x25789 +0x3158 0x25958 +0x3159 0x25959 +0x315A 0x2595A +0x315C 0x25A67 +0x315D 0x25A68 +0x315E 0x25A69 +0x315F 0x25A6A +0x3161 0x25A6B +0x3162 0x25A6C +0x3163 0x25AFE +0x3164 0x25AFF +0x3165 0x25B00 +0x3166 0x25B01 +0x3167 0x25B02 +0x3168 0x25B03 +0x3169 0x25B04 +0x316A 0x25B05 +0x316B 0x25E39 +0x316C 0x25E3A +0x316D 0x25E3B +0x316E 0x25E3C +0x3171 0x25FB2 +0x3172 0x25FB3 +0x3173 0x25FB4 +0x3174 0x25FB5 +0x3175 0x25FB6 +0x3176 0x25FB7 +0x3177 0x25FB8 +0x3179 0x262A2 +0x317A 0x26361 +0x317B 0x26362 +0x317C 0x26414 +0x317E 0x264EB +0x3221 0x26542 +0x3222 0x26548 +0x3224 0x26543 +0x3225 0x2654E +0x3226 0x26544 +0x3227 0x26545 +0x3228 0x266B4 +0x3229 0x266B5 +0x322D 0x266B6 +0x322F 0x268E1 +0x3230 0x26905 +0x3233 0x26B9A +0x3235 0x26B9B +0x3236 0x26B9C +0x3237 0x26B9D +0x3238 0x26B9E +0x3239 0x26B9F +0x323A 0x2F99A +0x323B 0x26BA0 +0x323C 0x26BA1 +0x323D 0x26BA2 +0x323E 0x26BB5 +0x323F 0x26BA3 +0x3240 0x26BA4 +0x3242 0x26BA5 +0x3243 0x26BA6 +0x3244 0x26BA7 +0x3245 0x26BA8 +0x3246 0x26BAF +0x3247 0x26BA9 +0x3248 0x26BAA +0x3249 0x26BAB +0x324A 0x26BAC +0x324B 0x26BAD +0x324C 0x26BB3 +0x324E 0x271A0 +0x324F 0x27256 +0x3250 0x27634 +0x3252 0x2763C +0x3253 0x2780C +0x3255 0x27C3E +0x3256 0x27CA3 +0x3257 0x27D30 +0x3258 0x27D31 +0x3259 0x27E97 +0x325A 0x27E98 +0x325B 0x27E99 +0x325C 0x27E9A +0x325D 0x27E9B +0x325E 0x282B2 +0x325F 0x282AB +0x3260 0x282AC +0x3261 0x286FC +0x3262 0x286E8 +0x3263 0x286E9 +0x3264 0x286EA +0x3265 0x287F1 +0x3266 0x2893F +0x3267 0x28CCE +0x3268 0x28E6D +0x3269 0x28E6E +0x326A 0x28E6F +0x326B 0x28E70 +0x326C 0x28E71 +0x326D 0x28E72 +0x326E 0x28E73 +0x3270 0x29078 +0x3271 0x2983A +0x3272 0x20167 +0x3274 0x20164 +0x3275 0x20165 +0x3276 0x20307 +0x3277 0x202C4 +0x3278 0x202C5 +0x3279 0x202C6 +0x327A 0x202C7 +0x327B 0x202C8 +0x327C 0x202C9 +0x327D 0x202E5 +0x327E 0x202CA +0x3321 0x202CB +0x3323 0x202CC +0x3324 0x202CD +0x3325 0x202CE +0x3326 0x202CF +0x3327 0x202D0 +0x3328 0x20497 +0x3329 0x2049A +0x332A 0x2049B +0x332B 0x205EA +0x332C 0x205EC +0x332D 0x205ED +0x332E 0x205F7 +0x332F 0x205EE +0x3330 0x205EF +0x3331 0x2065B +0x3332 0x2065C +0x3333 0x2065D +0x3334 0x2076D +0x3335 0x2076E +0x3337 0x2076F +0x3338 0x20881 +0x3339 0x20882 +0x333A 0x2094F +0x333B 0x209AD +0x333C 0x2870A +0x333D 0x20A7E +0x333E 0x20B69 +0x333F 0x20D54 +0x3340 0x20D55 +0x3341 0x20D56 +0x3342 0x20D57 +0x3344 0x20D58 +0x3345 0x20D59 +0x3346 0x20D5A +0x3347 0x20D5B +0x3348 0x20D5C +0x3349 0x20D5D +0x334C 0x20D5E +0x334D 0x20D5F +0x334E 0x2133B +0x334F 0x21336 +0x3350 0x2133C +0x3351 0x2133D +0x3352 0x2133E +0x3353 0x2133F +0x3354 0x21340 +0x3355 0x21341 +0x3356 0x21342 +0x3358 0x21343 +0x3359 0x21344 +0x335A 0x21345 +0x335B 0x21337 +0x335E 0x21346 +0x335F 0x21347 +0x3360 0x21348 +0x3361 0x21349 +0x3362 0x2152D +0x3363 0x215A5 +0x3364 0x2163D +0x3365 0x2163F +0x3366 0x2196E +0x3367 0x217E7 +0x3368 0x21775 +0x3369 0x21776 +0x336A 0x21777 +0x336B 0x21778 +0x336C 0x21779 +0x336D 0x2177A +0x336E 0x2177B +0x336F 0x2177C +0x3370 0x2178E +0x3371 0x2177D +0x3372 0x2177E +0x3374 0x2177F +0x3375 0x21780 +0x3376 0x21781 +0x3377 0x21782 +0x3378 0x21783 +0x3379 0x21784 +0x337A 0x21785 +0x337B 0x21786 +0x337C 0x21787 +0x337D 0x21788 +0x337E 0x21789 +0x3421 0x2178A +0x3422 0x2178B +0x3423 0x2178C +0x3424 0x2196F +0x3425 0x21970 +0x3426 0x21971 +0x3427 0x21972 +0x3428 0x21A2A +0x3429 0x21A2B +0x342A 0x21A2C +0x342B 0x21A2D +0x342C 0x21A2E +0x342D 0x21A2F +0x342E 0x21A30 +0x342F 0x21A31 +0x3430 0x21B83 +0x3431 0x21C84 +0x3432 0x21C85 +0x3433 0x21C93 +0x3435 0x21C86 +0x3436 0x21C87 +0x3437 0x21C88 +0x3438 0x21C89 +0x3439 0x21C8A +0x343A 0x21C8B +0x343B 0x21E36 +0x343C 0x21E38 +0x343D 0x21E39 +0x343E 0x21E3A +0x3440 0x21E3B +0x3441 0x21E3C +0x3442 0x21E3D +0x3443 0x21E3E +0x3444 0x21E3F +0x3446 0x21E40 +0x3447 0x21E41 +0x3448 0x21E42 +0x3449 0x220DE +0x344A 0x220DF +0x344B 0x220E0 +0x344C 0x220E1 +0x344D 0x2224A +0x344E 0x2224B +0x344F 0x2224C +0x3450 0x2224D +0x3451 0x2224E +0x3452 0x2224F +0x3453 0x22250 +0x3454 0x22327 +0x3455 0x223F9 +0x3456 0x223FA +0x3457 0x223FB +0x3458 0x22498 +0x3459 0x22499 +0x345A 0x2249A +0x345C 0x2251E +0x345D 0x2269E +0x345E 0x226F7 +0x345F 0x2269F +0x3460 0x226A0 +0x3461 0x226F0 +0x3462 0x226F8 +0x3463 0x226F9 +0x3464 0x226A1 +0x3465 0x226A2 +0x3466 0x226A3 +0x3467 0x226A4 +0x3468 0x226A5 +0x3469 0x226FA +0x346A 0x226FB +0x346B 0x226FC +0x346C 0x226FD +0x346D 0x226FE +0x346E 0x2271F +0x346F 0x226FF +0x3470 0x22700 +0x3471 0x2278C +0x3472 0x22701 +0x3473 0x229C2 +0x3474 0x229C3 +0x3476 0x229D3 +0x3477 0x22A4E +0x3478 0x22BAF +0x3479 0x22BB0 +0x347A 0x22BB1 +0x347B 0x22BB2 +0x347C 0x22BB3 +0x347D 0x22BC6 +0x347E 0x22BB4 +0x3522 0x22BB5 +0x3523 0x22BB6 +0x3524 0x22BB7 +0x3525 0x22BB8 +0x3526 0x22BB9 +0x3527 0x22BBA +0x3528 0x22BBB +0x3529 0x22BBC +0x352A 0x22BBD +0x352B 0x22BBE +0x352C 0x22BBF +0x352D 0x22BC1 +0x352E 0x22BC0 +0x352F 0x22BC2 +0x3530 0x22BC3 +0x3531 0x22F51 +0x3532 0x22F52 +0x3533 0x22F53 +0x3534 0x22F54 +0x3535 0x22F55 +0x3536 0x2305A +0x3537 0x23050 +0x3538 0x23051 +0x3539 0x23078 +0x353A 0x230F8 +0x353B 0x230F9 +0x353C 0x231C6 +0x353D 0x231CB +0x353E 0x231CC +0x353F 0x231CD +0x3540 0x231CE +0x3541 0x231CF +0x3542 0x231D0 +0x3543 0x231D1 +0x3544 0x231D2 +0x3545 0x231D3 +0x3546 0x231D4 +0x3547 0x231D5 +0x3549 0x23337 +0x354A 0x23338 +0x354B 0x23373 +0x354C 0x23490 +0x354D 0x23491 +0x354E 0x234BF +0x354F 0x23492 +0x3550 0x23493 +0x3551 0x23494 +0x3552 0x23495 +0x3553 0x23496 +0x3554 0x23497 +0x3555 0x23498 +0x3556 0x23499 +0x3558 0x2349A +0x3559 0x2349B +0x355A 0x2349C +0x355B 0x2349D +0x355C 0x2349E +0x355D 0x2349F +0x355E 0x234A0 +0x355F 0x234A1 +0x3560 0x234A2 +0x3561 0x234A3 +0x3562 0x234A4 +0x3563 0x234A5 +0x3565 0x234A6 +0x3566 0x234A7 +0x3567 0x238BF +0x3568 0x238C0 +0x3569 0x238C1 +0x356A 0x238C2 +0x356B 0x238C3 +0x356C 0x238C4 +0x356D 0x238C5 +0x356E 0x238C6 +0x356F 0x23975 +0x3570 0x23A43 +0x3571 0x23A12 +0x3572 0x23A9F +0x3573 0x23A91 +0x3574 0x2F8F6 +0x3575 0x23A92 +0x3576 0x23A93 +0x3577 0x23A94 +0x3578 0x23B7E +0x3579 0x23B7F +0x357A 0x23B80 +0x357B 0x23B81 +0x357C 0x23B82 +0x357D 0x23C4C +0x357E 0x23C63 +0x3621 0x23DC0 +0x3622 0x23DC1 +0x3623 0x23DC2 +0x3624 0x2423A +0x3625 0x23DC3 +0x3626 0x23DC4 +0x3627 0x23DC5 +0x3628 0x23DC6 +0x362A 0x23DC7 +0x362C 0x23DC8 +0x362D 0x23D73 +0x362E 0x23DC9 +0x362F 0x23DCA +0x3630 0x23DCB +0x3631 0x23DCC +0x3632 0x23DCD +0x3636 0x23DCE +0x3637 0x23DCF +0x3638 0x23DD0 +0x3639 0x23DD1 +0x363A 0x23DD2 +0x363B 0x23DD3 +0x363C 0x23DD4 +0x363D 0x23DD5 +0x363E 0x2423B +0x363F 0x2423C +0x3640 0x2423D +0x3641 0x2423E +0x3643 0x2423F +0x3644 0x24240 +0x3645 0x24241 +0x3646 0x24242 +0x3647 0x24243 +0x3649 0x24244 +0x364A 0x24245 +0x364B 0x24259 +0x364C 0x24246 +0x364D 0x24247 +0x364E 0x24248 +0x3650 0x24249 +0x3651 0x24513 +0x3652 0x24582 +0x3653 0x24583 +0x3654 0x24666 +0x3655 0x24667 +0x3656 0x24965 +0x3658 0x24966 +0x365A 0x24975 +0x365B 0x24974 +0x365C 0x24967 +0x365D 0x2496D +0x365E 0x24976 +0x365F 0x24968 +0x3660 0x24969 +0x3661 0x2496A +0x3662 0x2496B +0x3663 0x2494F +0x3664 0x2496C +0x3665 0x24AF8 +0x3666 0x24B45 +0x3668 0x24B46 +0x3669 0x24BE4 +0x366A 0x24C85 +0x366B 0x24C6F +0x366C 0x24C70 +0x366D 0x24D82 +0x366E 0x24D83 +0x366F 0x24D84 +0x3670 0x24D8B +0x3671 0x24F2D +0x3672 0x24F68 +0x3673 0x24F69 +0x3674 0x24F77 +0x3675 0x24F64 +0x3676 0x24F6A +0x3678 0x24FF2 +0x3679 0x24FE2 +0x367A 0x25063 +0x367B 0x25064 +0x367C 0x25065 +0x367D 0x25066 +0x3721 0x25067 +0x3722 0x25068 +0x3725 0x25172 +0x3726 0x2517D +0x3727 0x25369 +0x3728 0x25484 +0x3729 0x25486 +0x372A 0x25487 +0x372B 0x25488 +0x372C 0x2549E +0x372E 0x25489 +0x372F 0x2548A +0x3730 0x25496 +0x3731 0x2548B +0x3732 0x2548C +0x3733 0x2548D +0x3734 0x25679 +0x3735 0x25683 +0x3736 0x2567A +0x3737 0x2565D +0x3738 0x2567B +0x373A 0x2579F +0x373C 0x257A0 +0x373D 0x257A1 +0x373E 0x257A2 +0x3740 0x2596A +0x3741 0x2596B +0x3742 0x2596C +0x3743 0x2596D +0x3744 0x2596E +0x3745 0x25A78 +0x3747 0x25A79 +0x3748 0x25A7C +0x3749 0x25B21 +0x374A 0x25B22 +0x374B 0x25B23 +0x374C 0x25B24 +0x374E 0x25B25 +0x374F 0x25B26 +0x3750 0x25E51 +0x3751 0x25E52 +0x3752 0x25E56 +0x3755 0x25FE1 +0x3758 0x25FD6 +0x3759 0x25FD7 +0x375A 0x25FD8 +0x375B 0x25FD9 +0x375C 0x262B5 +0x375D 0x2636C +0x375E 0x2636F +0x375F 0x26370 +0x3760 0x264BC +0x3761 0x264BD +0x3762 0x264ED +0x3763 0x2655B +0x3764 0x2655C +0x3765 0x2655D +0x3766 0x2655E +0x3767 0x26686 +0x3768 0x26687 +0x3769 0x266ED +0x376B 0x266EE +0x376D 0x2690E +0x376E 0x2690F +0x3770 0x26A2D +0x3771 0x26A2A +0x3772 0x26A2E +0x3773 0x26ACC +0x3774 0x26BF9 +0x3775 0x26BFA +0x3776 0x26BFB +0x3777 0x26BFC +0x3779 0x26BFD +0x377A 0x26C1B +0x377B 0x26BFE +0x377C 0x26BFF +0x377D 0x26C00 +0x377E 0x26C01 +0x3821 0x26C02 +0x3822 0x26C03 +0x3823 0x26C21 +0x3824 0x26C04 +0x3825 0x26C05 +0x3826 0x26C06 +0x3827 0x26C07 +0x3828 0x26C08 +0x3829 0x26C09 +0x382A 0x26C0A +0x382B 0x26C0B +0x382C 0x26C0C +0x382D 0x26C0D +0x382E 0x26C0E +0x382F 0x26C0F +0x3830 0x26C10 +0x3831 0x26C11 +0x3832 0x26C12 +0x3833 0x26C13 +0x3834 0x26C14 +0x3835 0x26C15 +0x3836 0x2727B +0x3837 0x2727C +0x3838 0x2727D +0x3839 0x2727E +0x383B 0x2727F +0x383C 0x27280 +0x383D 0x27266 +0x383E 0x27281 +0x383F 0x27282 +0x3840 0x27283 +0x3841 0x275B2 +0x3843 0x2767F +0x3844 0x27672 +0x3845 0x2765A +0x3846 0x277EB +0x3847 0x27815 +0x3849 0x27816 +0x384A 0x2F9CA +0x384B 0x27817 +0x384D 0x278C5 +0x384E 0x278C6 +0x384F 0x278C7 +0x3850 0x27988 +0x3851 0x27989 +0x3853 0x2798A +0x3854 0x2798B +0x3855 0x2798C +0x3856 0x2798D +0x3857 0x27BDF +0x3859 0x27D3B +0x385A 0x27D3C +0x385B 0x27D3D +0x385C 0x27D3E +0x385D 0x27D3F +0x385E 0x27D40 +0x385F 0x27D41 +0x3860 0x27D42 +0x3861 0x27E5C +0x3862 0x27EAF +0x3863 0x27EA9 +0x3864 0x27EAA +0x3865 0x27EAB +0x3866 0x27EAC +0x3867 0x27EB5 +0x3868 0x27EAD +0x3869 0x27EAE +0x386A 0x27FE2 +0x386B 0x28224 +0x386D 0x282C4 +0x386F 0x284EA +0x3870 0x284D3 +0x3871 0x284D4 +0x3872 0x284D5 +0x3873 0x28686 +0x3875 0x28687 +0x3876 0x286FD +0x3877 0x28805 +0x3878 0x28949 +0x3879 0x28C5F +0x387A 0x28CD3 +0x387B 0x28CD5 +0x387C 0x28E8A +0x387D 0x28E8B +0x387E 0x28E8C +0x3921 0x28E8D +0x3922 0x28E8E +0x3923 0x28E8F +0x3924 0x28E90 +0x3925 0x28E91 +0x3926 0x28E92 +0x3927 0x28E93 +0x3928 0x2907D +0x3929 0x2907E +0x392D 0x291EC +0x392E 0x2925B +0x392F 0x29C87 +0x3930 0x29C86 +0x3932 0x20046 +0x3933 0x20047 +0x3934 0x20102 +0x3935 0x2016D +0x3936 0x2016E +0x3937 0x2016F +0x3938 0x2030D +0x3939 0x2030E +0x393A 0x2030F +0x393B 0x20310 +0x393C 0x20311 +0x393D 0x20312 +0x393E 0x20313 +0x393F 0x20314 +0x3940 0x2049F +0x3941 0x204A0 +0x3942 0x204A1 +0x3943 0x204A3 +0x3944 0x20521 +0x3945 0x20522 +0x3946 0x2337C +0x3947 0x20595 +0x3948 0x20596 +0x3949 0x20661 +0x394A 0x20667 +0x394B 0x20791 +0x394C 0x20792 +0x394D 0x20793 +0x394E 0x20794 +0x394F 0x2088A +0x3950 0x2088B +0x3951 0x208F7 +0x3952 0x20924 +0x3953 0x209B0 +0x3954 0x209B1 +0x3955 0x20A8E +0x3956 0x20B04 +0x3957 0x20B6A +0x3958 0x20B6B +0x3959 0x20B6C +0x395A 0x20B6D +0x395B 0x20DE8 +0x395C 0x20E0C +0x395D 0x20DE9 +0x395E 0x20DEA +0x395F 0x20E0D +0x3961 0x20DEB +0x3962 0x20DEC +0x3963 0x20DED +0x3964 0x20DEE +0x3965 0x20DEF +0x3966 0x20DF0 +0x3967 0x20DF1 +0x3968 0x20DF2 +0x3969 0x20E16 +0x396A 0x20DF3 +0x396B 0x20E04 +0x396C 0x20E1D +0x396D 0x20DF4 +0x396E 0x20DF5 +0x396F 0x20DF6 +0x3970 0x20DF7 +0x3972 0x21202 +0x3973 0x21203 +0x3974 0x21204 +0x3975 0x2139A +0x3976 0x2137C +0x3977 0x213C5 +0x3978 0x2137D +0x3979 0x2137E +0x397A 0x2137F +0x397B 0x21380 +0x397C 0x21381 +0x3A21 0x21382 +0x3A22 0x21383 +0x3A23 0x21384 +0x3A24 0x21385 +0x3A25 0x21386 +0x3A26 0x21387 +0x3A27 0x215AE +0x3A28 0x2164D +0x3A29 0x217B0 +0x3A2A 0x217DC +0x3A2B 0x217B6 +0x3A2C 0x217B7 +0x3A2D 0x217B8 +0x3A2E 0x217B9 +0x3A2F 0x217BA +0x3A30 0x217BB +0x3A31 0x217DB +0x3A32 0x217BC +0x3A33 0x217BD +0x3A34 0x217BE +0x3A36 0x217BF +0x3A37 0x217C0 +0x3A38 0x217C1 +0x3A39 0x217C2 +0x3A3A 0x217C3 +0x3A3B 0x217CE +0x3A3D 0x217D9 +0x3A3E 0x217C4 +0x3A3F 0x217C5 +0x3A40 0x217DA +0x3A41 0x217C6 +0x3A42 0x217C7 +0x3A43 0x217C8 +0x3A44 0x217C9 +0x3A45 0x217CA +0x3A46 0x2197E +0x3A47 0x2197B +0x3A48 0x21A4E +0x3A49 0x21A4F +0x3A4A 0x21A50 +0x3A4B 0x21A51 +0x3A4C 0x21A52 +0x3A4D 0x21A53 +0x3A4E 0x21A54 +0x3A4F 0x21A55 +0x3A50 0x21B8F +0x3A51 0x21BFC +0x3A52 0x21CA6 +0x3A53 0x21CA7 +0x3A54 0x21CA8 +0x3A55 0x21D23 +0x3A56 0x21E8B +0x3A58 0x21E8C +0x3A59 0x21E8D +0x3A5A 0x21E8E +0x3A5B 0x21E8F +0x3A5C 0x21EA4 +0x3A5D 0x20599 +0x3A5E 0x22024 +0x3A5F 0x22046 +0x3A60 0x22047 +0x3A61 0x22048 +0x3A62 0x220FD +0x3A63 0x220FE +0x3A65 0x2226E +0x3A66 0x2227C +0x3A67 0x2226F +0x3A68 0x22270 +0x3A69 0x22271 +0x3A6A 0x22272 +0x3A6B 0x22329 +0x3A6C 0x2232A +0x3A6D 0x2235F +0x3A6E 0x224A2 +0x3A6F 0x22530 +0x3A70 0x2252B +0x3A71 0x22761 +0x3A72 0x22702 +0x3A73 0x22703 +0x3A74 0x22704 +0x3A75 0x22705 +0x3A76 0x22706 +0x3A77 0x22707 +0x3A79 0x22708 +0x3A7A 0x22709 +0x3A7B 0x22762 +0x3A7C 0x2270A +0x3A7D 0x2270B +0x3A7E 0x2270C +0x3B21 0x2270D +0x3B22 0x2270E +0x3B23 0x22763 +0x3B24 0x22727 +0x3B25 0x2270F +0x3B27 0x2271B +0x3B28 0x22764 +0x3B29 0x22710 +0x3B2A 0x22711 +0x3B2B 0x22781 +0x3B2C 0x22712 +0x3B2D 0x22765 +0x3B2E 0x22713 +0x3B2F 0x229CE +0x3B30 0x22C29 +0x3B31 0x22BC4 +0x3B32 0x22C2A +0x3B34 0x22C2B +0x3B35 0x22C2C +0x3B36 0x22C2D +0x3B37 0x22C2E +0x3B38 0x22C2F +0x3B39 0x22C30 +0x3B3A 0x22C31 +0x3B3B 0x22C32 +0x3B3C 0x22C33 +0x3B3D 0x22C34 +0x3B3F 0x22C35 +0x3B40 0x22C36 +0x3B41 0x22BE3 +0x3B42 0x22C37 +0x3B43 0x22C38 +0x3B44 0x22C39 +0x3B45 0x22C3A +0x3B46 0x22C3B +0x3B47 0x22C4D +0x3B48 0x22C3C +0x3B49 0x22C3D +0x3B4A 0x22C3E +0x3B4C 0x22ED0 +0x3B4D 0x22ED1 +0x3B4E 0x23055 +0x3B4F 0x23102 +0x3B50 0x23104 +0x3B51 0x231FC +0x3B52 0x23207 +0x3B53 0x231FD +0x3B54 0x231FE +0x3B56 0x231FF +0x3B57 0x23200 +0x3B58 0x23208 +0x3B59 0x23201 +0x3B5A 0x23202 +0x3B5B 0x23235 +0x3B5C 0x23203 +0x3B5D 0x23204 +0x3B5F 0x2333B +0x3B60 0x23389 +0x3B61 0x23381 +0x3B62 0x23382 +0x3B63 0x26733 +0x3B64 0x234EB +0x3B65 0x234EC +0x3B67 0x234ED +0x3B68 0x234EE +0x3B69 0x234EF +0x3B6B 0x234F0 +0x3B6C 0x234F1 +0x3B6D 0x234F2 +0x3B6F 0x234F3 +0x3B71 0x234F4 +0x3B72 0x234F5 +0x3B73 0x2004B +0x3B74 0x234F6 +0x3B75 0x234F7 +0x3B76 0x234F8 +0x3B77 0x234F9 +0x3B78 0x234FA +0x3B79 0x234FB +0x3B7A 0x234FC +0x3B7B 0x234FD +0x3B7C 0x234FE +0x3B7D 0x234FF +0x3B7E 0x23500 +0x3C22 0x23501 +0x3C23 0x23502 +0x3C24 0x23503 +0x3C25 0x23504 +0x3C26 0x23505 +0x3C27 0x23506 +0x3C28 0x23507 +0x3C2A 0x23508 +0x3C2B 0x23509 +0x3C2C 0x2350A +0x3C2D 0x2350B +0x3C2E 0x2350C +0x3C2F 0x2350D +0x3C30 0x238D7 +0x3C31 0x238D8 +0x3C32 0x23A29 +0x3C33 0x23A9C +0x3C34 0x23AF8 +0x3C35 0x23B98 +0x3C36 0x23BA4 +0x3C37 0x23B99 +0x3C38 0x23B9A +0x3C39 0x23B9B +0x3C3A 0x23B97 +0x3C3B 0x23B9C +0x3C3D 0x23B9D +0x3C3F 0x23B9E +0x3C40 0x23B9F +0x3C41 0x23C65 +0x3C42 0x23DD6 +0x3C44 0x23E32 +0x3C45 0x23E33 +0x3C46 0x23E34 +0x3C48 0x23E35 +0x3C49 0x23E36 +0x3C4A 0x23E37 +0x3C4B 0x23DD7 +0x3C4D 0x23DD8 +0x3C4E 0x23E38 +0x3C4F 0x23E39 +0x3C50 0x23E3A +0x3C51 0x23E3B +0x3C52 0x23E3C +0x3C53 0x23E3D +0x3C54 0x23E3E +0x3C55 0x23E3F +0x3C56 0x23E40 +0x3C57 0x23DD9 +0x3C58 0x23E41 +0x3C59 0x23E42 +0x3C5B 0x23E43 +0x3C5C 0x23E44 +0x3C5E 0x2427C +0x3C5F 0x2427D +0x3C60 0x2427E +0x3C61 0x2427F +0x3C62 0x24280 +0x3C63 0x24281 +0x3C64 0x24282 +0x3C66 0x24283 +0x3C67 0x24284 +0x3C68 0x24285 +0x3C69 0x24286 +0x3C6A 0x242A5 +0x3C6B 0x24287 +0x3C6C 0x24288 +0x3C6D 0x24289 +0x3C6E 0x2428A +0x3C6F 0x2428B +0x3C70 0x2428C +0x3C71 0x2428D +0x3C72 0x2428E +0x3C75 0x2428F +0x3C77 0x24290 +0x3C78 0x24291 +0x3C79 0x24292 +0x3C7A 0x24293 +0x3C7B 0x24294 +0x3C7C 0x24295 +0x3D21 0x24296 +0x3D22 0x24556 +0x3D23 0x24557 +0x3D24 0x245E1 +0x3D25 0x2460E +0x3D26 0x2460F +0x3D27 0x2467A +0x3D28 0x2467B +0x3D29 0x2468B +0x3D2A 0x247F2 +0x3D2B 0x247F3 +0x3D2C 0x24993 +0x3D2D 0x24994 +0x3D2E 0x24995 +0x3D2F 0x24996 +0x3D30 0x24997 +0x3D31 0x249AD +0x3D32 0x24998 +0x3D33 0x249AB +0x3D34 0x2497B +0x3D35 0x24999 +0x3D36 0x2499A +0x3D37 0x2499B +0x3D38 0x24985 +0x3D39 0x2499C +0x3D3A 0x2499D +0x3D3D 0x249AC +0x3D3E 0x24979 +0x3D3F 0x2499E +0x3D40 0x249A4 +0x3D41 0x24AFD +0x3D42 0x24BEB +0x3D43 0x24BEA +0x3D44 0x24C8F +0x3D45 0x24C90 +0x3D46 0x24C86 +0x3D47 0x24C87 +0x3D48 0x24C88 +0x3D49 0x24DAC +0x3D4A 0x24DAD +0x3D4B 0x24FEC +0x3D4C 0x25073 +0x3D4D 0x25074 +0x3D4F 0x251AA +0x3D50 0x251AB +0x3D51 0x251AC +0x3D52 0x253D1 +0x3D53 0x253D7 +0x3D54 0x254B9 +0x3D55 0x254BA +0x3D56 0x254BB +0x3D57 0x254BC +0x3D58 0x2568E +0x3D59 0x2568F +0x3D5A 0x25690 +0x3D5B 0x2567C +0x3D5C 0x25691 +0x3D5D 0x25692 +0x3D5E 0x25693 +0x3D5F 0x25694 +0x3D60 0x2F954 +0x3D61 0x2569A +0x3D62 0x25695 +0x3D63 0x25696 +0x3D64 0x25697 +0x3D65 0x257BD +0x3D66 0x257C7 +0x3D67 0x257BE +0x3D69 0x257BF +0x3D6B 0x25993 +0x3D6C 0x21A5E +0x3D6D 0x25A86 +0x3D6E 0x25A87 +0x3D6F 0x25A88 +0x3D70 0x25A89 +0x3D71 0x25B41 +0x3D72 0x25B42 +0x3D73 0x25B43 +0x3D74 0x25B44 +0x3D75 0x25B45 +0x3D76 0x25B46 +0x3D77 0x25B4A +0x3D78 0x25B47 +0x3D79 0x25B48 +0x3D7A 0x25B49 +0x3D7B 0x25E6B +0x3D7C 0x25E66 +0x3D7E 0x25E67 +0x3E22 0x25E68 +0x3E25 0x25FFD +0x3E26 0x25FFE +0x3E27 0x25FFF +0x3E28 0x26000 +0x3E29 0x26001 +0x3E2A 0x26002 +0x3E2B 0x26003 +0x3E2C 0x26004 +0x3E2D 0x26005 +0x3E2E 0x26006 +0x3E2F 0x26233 +0x3E30 0x262C2 +0x3E31 0x262D0 +0x3E32 0x2F974 +0x3E33 0x26395 +0x3E34 0x26396 +0x3E35 0x26435 +0x3E36 0x26436 +0x3E37 0x26567 +0x3E38 0x26568 +0x3E39 0x26569 +0x3E3A 0x2656A +0x3E3B 0x26572 +0x3E3C 0x2656B +0x3E3D 0x2656C +0x3E3E 0x2656D +0x3E3F 0x2656E +0x3E40 0x2656F +0x3E41 0x26722 +0x3E44 0x26723 +0x3E45 0x26741 +0x3E46 0x26724 +0x3E47 0x26725 +0x3E48 0x26726 +0x3E49 0x26727 +0x3E4A 0x26728 +0x3E4B 0x26729 +0x3E4C 0x266B7 +0x3E50 0x269DA +0x3E51 0x26ACF +0x3E52 0x26ADA +0x3E53 0x26C89 +0x3E54 0x26CB7 +0x3E55 0x26C8A +0x3E56 0x26C8B +0x3E57 0x26D5E +0x3E58 0x26C8C +0x3E5A 0x26C8D +0x3E5B 0x26C8E +0x3E5C 0x26C8F +0x3E5D 0x26C90 +0x3E5E 0x26C91 +0x3E5F 0x26C92 +0x3E60 0x26C93 +0x3E61 0x26C94 +0x3E62 0x26CB6 +0x3E63 0x26C95 +0x3E64 0x26C96 +0x3E65 0x26C97 +0x3E68 0x26C98 +0x3E69 0x26C99 +0x3E6A 0x26C9A +0x3E6D 0x26C9B +0x3E6E 0x26CBD +0x3E6F 0x26C9C +0x3E70 0x26C9D +0x3E71 0x26C9E +0x3E72 0x26C9F +0x3E73 0x26CC0 +0x3E74 0x26CA0 +0x3E75 0x26CA1 +0x3E76 0x26CA2 +0x3E77 0x26CA3 +0x3E78 0x26CA4 +0x3E79 0x26CA5 +0x3E7A 0x26CA6 +0x3E7B 0x26CA7 +0x3E7C 0x26CA8 +0x3E7D 0x26CA9 +0x3E7E 0x26CAA +0x3F22 0x271B4 +0x3F23 0x271B5 +0x3F24 0x271B6 +0x3F25 0x272B9 +0x3F26 0x272BA +0x3F27 0x272BB +0x3F28 0x27291 +0x3F29 0x272BC +0x3F2A 0x275EE +0x3F2B 0x275EF +0x3F2C 0x27696 +0x3F2D 0x27697 +0x3F2E 0x27673 +0x3F2F 0x27698 +0x3F30 0x27699 +0x3F31 0x277ED +0x3F32 0x277EE +0x3F33 0x278DE +0x3F34 0x279B0 +0x3F35 0x279B1 +0x3F36 0x279B2 +0x3F37 0x279B3 +0x3F38 0x279B4 +0x3F39 0x279B5 +0x3F3A 0x279B6 +0x3F3B 0x2F9CE +0x3F3C 0x279B7 +0x3F3D 0x27BE3 +0x3F3E 0x27CB9 +0x3F3F 0x27D55 +0x3F40 0x27D7E +0x3F41 0x27D56 +0x3F42 0x27D57 +0x3F43 0x27D58 +0x3F44 0x27D59 +0x3F45 0x27D5A +0x3F47 0x27EC4 +0x3F48 0x27EC5 +0x3F49 0x27EC6 +0x3F4A 0x27EC7 +0x3F4B 0x27EC8 +0x3F4C 0x27EC9 +0x3F4D 0x27EEE +0x3F4E 0x27ECF +0x3F4F 0x27ECA +0x3F50 0x27ECB +0x3F51 0x27ECC +0x3F52 0x28009 +0x3F53 0x2F9DA +0x3F54 0x28003 +0x3F55 0x2822F +0x3F56 0x28230 +0x3F57 0x28231 +0x3F58 0x28232 +0x3F59 0x2850E +0x3F5A 0x2850F +0x3F5B 0x28510 +0x3F5C 0x28511 +0x3F5D 0x28512 +0x3F5F 0x28513 +0x3F60 0x28514 +0x3F61 0x28515 +0x3F62 0x284FF +0x3F63 0x2871F +0x3F64 0x28720 +0x3F65 0x28721 +0x3F66 0x2872D +0x3F68 0x2881B +0x3F69 0x2881C +0x3F6A 0x2881D +0x3F6B 0x2881E +0x3F6C 0x28953 +0x3F6D 0x28954 +0x3F6E 0x28955 +0x3F6F 0x28956 +0x3F70 0x28964 +0x3F71 0x28959 +0x3F72 0x28957 +0x3F74 0x28958 +0x3F75 0x28C6B +0x3F78 0x28CE7 +0x3F79 0x28CE8 +0x3F7A 0x28CE9 +0x3F7B 0x28CEA +0x3F7C 0x28CEB +0x3F7D 0x28CEC +0x4021 0x28CED +0x4022 0x28EB1 +0x4023 0x28EB4 +0x4025 0x2908A +0x4026 0x2908D +0x4027 0x2908C +0x4028 0x291F2 +0x4029 0x291F3 +0x402B 0x22108 +0x402C 0x29417 +0x402E 0x2959F +0x402F 0x296A0 +0x4031 0x2986D +0x4032 0x2307D +0x4033 0x29F90 +0x4034 0x2A5C4 +0x4035 0x2004C +0x4036 0x20174 +0x4037 0x20175 +0x4038 0x20176 +0x4039 0x20349 +0x403A 0x2034A +0x403B 0x2034B +0x403C 0x2034C +0x403D 0x2034D +0x403E 0x2034E +0x403F 0x2034F +0x4040 0x20350 +0x4041 0x20351 +0x4042 0x20352 +0x4043 0x20353 +0x4044 0x20354 +0x4045 0x20355 +0x4046 0x20356 +0x4047 0x204A4 +0x4048 0x204A9 +0x4049 0x2052A +0x404A 0x2052B +0x404B 0x207B3 +0x404C 0x207C1 +0x404D 0x20898 +0x404E 0x208FB +0x404F 0x208FC +0x4050 0x209BC +0x4051 0x20A96 +0x4052 0x20B0A +0x4054 0x20EA2 +0x4056 0x20E81 +0x4057 0x20E82 +0x4058 0x20E83 +0x4059 0x20E84 +0x405A 0x20E85 +0x405B 0x20E86 +0x405C 0x20E87 +0x405D 0x20E88 +0x405E 0x20E89 +0x405F 0x20E8A +0x4060 0x20E8B +0x4061 0x20E8C +0x4063 0x20E8D +0x4064 0x20ED1 +0x4065 0x21214 +0x4066 0x213C9 +0x4067 0x213CA +0x4068 0x213CB +0x4069 0x29AFD +0x406A 0x213CC +0x406B 0x213CD +0x406C 0x213CE +0x406D 0x213CF +0x406E 0x213D0 +0x406F 0x213D1 +0x4070 0x213D2 +0x4071 0x213D3 +0x4072 0x213D4 +0x4073 0x213D5 +0x4074 0x21571 +0x4075 0x2004D +0x4076 0x21662 +0x4077 0x2180E +0x4078 0x217FE +0x4079 0x217FF +0x407A 0x21800 +0x407C 0x21801 +0x407D 0x21802 +0x407E 0x21803 +0x4121 0x21815 +0x4122 0x21804 +0x4123 0x21805 +0x4125 0x21987 +0x4126 0x21989 +0x4127 0x21A6E +0x4128 0x21A6F +0x4129 0x21A70 +0x412A 0x21A71 +0x412B 0x2F86E +0x412C 0x21A72 +0x412D 0x21A73 +0x412E 0x21A74 +0x412F 0x21B9D +0x4130 0x21CB8 +0x4131 0x21CB9 +0x4132 0x21CBA +0x4133 0x21EC2 +0x4134 0x21EC3 +0x4135 0x21ED5 +0x4136 0x21EC4 +0x4137 0x21EC0 +0x4138 0x21EC5 +0x4139 0x21EC6 +0x413A 0x2228A +0x413B 0x2228B +0x413C 0x2228C +0x413D 0x22364 +0x413E 0x25B8C +0x4140 0x2240D +0x4141 0x224A8 +0x4142 0x2253B +0x4143 0x2253C +0x4144 0x2253D +0x4145 0x2253E +0x4146 0x2253F +0x4147 0x22540 +0x4148 0x22766 +0x4149 0x227CB +0x414A 0x227B7 +0x414B 0x227B8 +0x414C 0x227B9 +0x414D 0x227BA +0x414E 0x22767 +0x414F 0x227BB +0x4150 0x22768 +0x4151 0x22769 +0x4152 0x2276A +0x4153 0x227BC +0x4155 0x229DB +0x4156 0x22C81 +0x4157 0x22C82 +0x4158 0x22C83 +0x4159 0x22C84 +0x415A 0x22C85 +0x415B 0x22C86 +0x415C 0x22C87 +0x415D 0x22C88 +0x415E 0x22C89 +0x415F 0x2F8BF +0x4160 0x22C8A +0x4161 0x22C8B +0x4163 0x22C8C +0x4164 0x22C8D +0x4165 0x22C8E +0x4166 0x22C8F +0x4167 0x22C90 +0x4168 0x22CA1 +0x4169 0x22C91 +0x416A 0x22ED6 +0x416B 0x22F9F +0x416C 0x23058 +0x416D 0x23085 +0x416E 0x2310B +0x416F 0x2310C +0x4170 0x23237 +0x4171 0x23238 +0x4172 0x2F8CE +0x4173 0x23239 +0x4174 0x2323A +0x4175 0x2323B +0x4176 0x2323C +0x4177 0x2323D +0x4178 0x2323E +0x4179 0x23240 +0x417A 0x23241 +0x417B 0x23242 +0x417D 0x23243 +0x417E 0x2338A +0x4221 0x2338B +0x4222 0x23590 +0x4223 0x23559 +0x4224 0x2355B +0x4225 0x2355C +0x4226 0x2355D +0x4227 0x2355E +0x4229 0x2355F +0x422A 0x23560 +0x422B 0x23561 +0x422C 0x23562 +0x422D 0x23563 +0x422E 0x23564 +0x422F 0x23593 +0x4230 0x23565 +0x4231 0x23566 +0x4232 0x23567 +0x4233 0x23568 +0x4234 0x23569 +0x4235 0x2356A +0x4236 0x2356B +0x4237 0x23595 +0x4238 0x2356C +0x4239 0x2356D +0x423A 0x2356E +0x423B 0x2356F +0x423D 0x23570 +0x423E 0x23571 +0x423F 0x23572 +0x4240 0x23573 +0x4241 0x23574 +0x4242 0x23575 +0x4243 0x23576 +0x4244 0x23577 +0x4245 0x23578 +0x4246 0x23579 +0x4248 0x2357A +0x424A 0x2357B +0x424B 0x235A9 +0x424C 0x2357C +0x424D 0x238F1 +0x424E 0x238EB +0x424F 0x2398A +0x4250 0x23A3D +0x4251 0x23AA6 +0x4252 0x23AA7 +0x4253 0x23BBA +0x4255 0x23BBB +0x4256 0x23BBC +0x4257 0x23BBD +0x4258 0x23E91 +0x4259 0x23E92 +0x425A 0x23E93 +0x425B 0x23E94 +0x425C 0x23E95 +0x425D 0x23E96 +0x425E 0x23E97 +0x425F 0x23DDA +0x4260 0x23E98 +0x4261 0x23E99 +0x4262 0x23E9A +0x4265 0x23E9B +0x4266 0x23E9C +0x4267 0x23E9D +0x4268 0x23E9E +0x4269 0x23E9F +0x426A 0x23EA0 +0x426B 0x23EBF +0x426C 0x23EA1 +0x426D 0x23EA2 +0x426E 0x23EA3 +0x426F 0x23EA4 +0x4270 0x23EA5 +0x4271 0x23EA6 +0x4272 0x23EA7 +0x4273 0x23E5B +0x4274 0x2F90D +0x4275 0x23EA8 +0x4276 0x242CB +0x4279 0x242CC +0x427A 0x2434F +0x427B 0x242CD +0x427C 0x242CE +0x427D 0x242CF +0x427E 0x2434E +0x4321 0x242D0 +0x4322 0x242D1 +0x4323 0x242D2 +0x4325 0x242D3 +0x4326 0x242D4 +0x4327 0x242D5 +0x4328 0x242D6 +0x4329 0x242D7 +0x432A 0x242D8 +0x432B 0x242D9 +0x432C 0x242FA +0x432D 0x242DA +0x432E 0x242DB +0x432F 0x2F91C +0x4330 0x242DC +0x4333 0x242DD +0x4334 0x242DE +0x4335 0x242DF +0x4336 0x242E0 +0x4337 0x242E1 +0x4338 0x242E2 +0x4339 0x242E3 +0x433A 0x242E4 +0x433B 0x242E5 +0x433D 0x242E6 +0x433E 0x242E7 +0x433F 0x2458E +0x4340 0x24698 +0x4341 0x24699 +0x4343 0x2480A +0x4345 0x24826 +0x4346 0x24827 +0x4347 0x249BD +0x4348 0x249DF +0x434A 0x249BE +0x434B 0x249DE +0x434C 0x249BF +0x434D 0x249C0 +0x434E 0x249C1 +0x434F 0x249C2 +0x4350 0x2499F +0x4351 0x249C3 +0x4352 0x249C4 +0x4353 0x249C5 +0x4354 0x249C6 +0x4355 0x249C7 +0x4357 0x249C8 +0x4358 0x249C9 +0x4359 0x249E3 +0x435A 0x249CA +0x435B 0x249CB +0x435C 0x249CC +0x435D 0x249CD +0x435E 0x249CE +0x435F 0x249CF +0x4360 0x249D0 +0x4361 0x249D1 +0x4362 0x249D2 +0x4363 0x249D3 +0x4364 0x2F92F +0x4365 0x249D4 +0x4366 0x24B04 +0x4367 0x24B65 +0x4368 0x24BEE +0x4369 0x24CA0 +0x436A 0x24CA1 +0x436B 0x24DDD +0x436C 0x24DDE +0x436D 0x24F83 +0x436E 0x24FFA +0x436F 0x2507F +0x4370 0x25080 +0x4371 0x251E8 +0x4372 0x251E9 +0x4373 0x251EA +0x4374 0x235A6 +0x4375 0x253E1 +0x4377 0x254DB +0x4378 0x254DC +0x4379 0x254DD +0x437A 0x254DE +0x437B 0x254DF +0x437C 0x254E0 +0x437D 0x254E1 +0x437E 0x254E2 +0x4421 0x254E3 +0x4422 0x254E4 +0x4423 0x254E5 +0x4424 0x254E6 +0x4426 0x254E7 +0x4427 0x256B0 +0x4428 0x25698 +0x4429 0x256B1 +0x442A 0x25699 +0x442B 0x256B2 +0x442C 0x256B3 +0x442D 0x256B4 +0x442E 0x256B5 +0x442F 0x256B6 +0x4430 0x256B7 +0x4431 0x256B8 +0x4432 0x256B9 +0x4433 0x257E2 +0x4434 0x257E3 +0x4435 0x257E4 +0x4436 0x257E5 +0x4437 0x257E6 +0x4438 0x257E7 +0x4439 0x257E8 +0x443A 0x257E9 +0x443B 0x259AD +0x443C 0x259CF +0x443D 0x259AE +0x443E 0x259AF +0x443F 0x259B0 +0x4440 0x259B1 +0x4441 0x25A92 +0x4442 0x25A93 +0x4443 0x25A94 +0x4444 0x25B79 +0x4446 0x25B7A +0x4447 0x25B7B +0x4448 0x25B7C +0x4449 0x25B7D +0x444A 0x25B7E +0x444B 0x25B7F +0x444C 0x25B80 +0x444D 0x25B81 +0x444E 0x25B82 +0x444F 0x25B83 +0x4450 0x25B84 +0x4451 0x25E97 +0x4452 0x25E84 +0x4453 0x25E85 +0x4454 0x25E89 +0x4455 0x25E86 +0x4456 0x25E87 +0x4457 0x2602C +0x4458 0x2602D +0x4459 0x2602E +0x445A 0x2602F +0x445B 0x26030 +0x445C 0x26031 +0x445D 0x26032 +0x445E 0x26033 +0x445F 0x26034 +0x4460 0x26035 +0x4461 0x26036 +0x4462 0x26037 +0x4463 0x262D2 +0x4464 0x26444 +0x4465 0x26500 +0x4466 0x26583 +0x4467 0x26584 +0x4468 0x2F986 +0x4469 0x2677A +0x446A 0x2677B +0x446B 0x2677C +0x446C 0x2677D +0x446D 0x2677E +0x446F 0x2677F +0x4470 0x26787 +0x4471 0x26780 +0x4472 0x26A43 +0x4473 0x26D34 +0x4475 0x26D35 +0x4476 0x26D36 +0x4477 0x26D37 +0x4478 0x26D38 +0x4479 0x26D39 +0x447A 0x26D3A +0x447B 0x26D3B +0x447C 0x26D3C +0x447D 0x26D3D +0x447E 0x26D3E +0x4521 0x26D3F +0x4522 0x26D40 +0x4523 0x26D41 +0x4524 0x26D42 +0x4525 0x26D43 +0x4526 0x26D44 +0x4527 0x26D45 +0x4528 0x26D46 +0x4529 0x26D47 +0x452A 0x26D48 +0x452B 0x26D49 +0x452C 0x26D4A +0x452E 0x26D4B +0x452F 0x26D4C +0x4530 0x26D4D +0x4531 0x26D4E +0x4532 0x272E7 +0x4533 0x272E8 +0x4534 0x272E9 +0x4535 0x272EA +0x4536 0x272EB +0x4537 0x272EC +0x4538 0x272ED +0x4539 0x272EE +0x453A 0x275F7 +0x453B 0x2769A +0x453C 0x276CD +0x453D 0x2F9C8 +0x453E 0x276A3 +0x453F 0x276CE +0x4540 0x27831 +0x4541 0x27832 +0x4542 0x27833 +0x4543 0x279E4 +0x4545 0x279E5 +0x4546 0x279E6 +0x4547 0x27CC8 +0x4548 0x27D74 +0x4549 0x27D75 +0x454A 0x27D76 +0x454B 0x27D77 +0x454C 0x27D78 +0x454D 0x27D79 +0x454E 0x27D7A +0x454F 0x27E61 +0x4550 0x27EDF +0x4551 0x27EE0 +0x4552 0x27EE1 +0x4553 0x27EE2 +0x4554 0x27EE3 +0x4555 0x27EE4 +0x4556 0x27EE5 +0x4557 0x27EE6 +0x4559 0x28031 +0x455A 0x2823D +0x455B 0x2823E +0x455C 0x2823F +0x455D 0x282F4 +0x455E 0x282F5 +0x455F 0x282F6 +0x4561 0x28417 +0x4562 0x28541 +0x4563 0x28542 +0x4564 0x28543 +0x4565 0x28544 +0x4566 0x28545 +0x4567 0x28546 +0x4568 0x28547 +0x4569 0x28548 +0x456A 0x28549 +0x456B 0x2854A +0x456C 0x2854B +0x456E 0x286BA +0x456F 0x28744 +0x4570 0x2892A +0x4571 0x2896D +0x4573 0x2F9E7 +0x4574 0x2897E +0x4575 0x2896E +0x4576 0x2896F +0x4577 0x28970 +0x4578 0x28971 +0x4579 0x28976 +0x457A 0x28C79 +0x457D 0x28D04 +0x457E 0x28CF8 +0x4621 0x28D05 +0x4622 0x28EDA +0x4623 0x28EDB +0x4624 0x28EDC +0x4625 0x28EDD +0x4626 0x28EDE +0x4627 0x28EDF +0x4628 0x28EE0 +0x4629 0x28EE1 +0x462A 0x290C5 +0x462B 0x2909A +0x462C 0x2909B +0x462D 0x2909C +0x462E 0x291D8 +0x462F 0x291D9 +0x4630 0x291DA +0x4631 0x2926E +0x4633 0x2946B +0x4634 0x27D83 +0x4636 0x296D6 +0x4637 0x296BD +0x4639 0x2322E +0x463A 0x29AFC +0x463B 0x29D53 +0x463C 0x29DB7 +0x463D 0x2A28C +0x463E 0x2A38E +0x463F 0x2A2FF +0x4640 0x20076 +0x4641 0x20106 +0x4642 0x2017E +0x4643 0x20384 +0x4644 0x20385 +0x4645 0x20386 +0x4646 0x20387 +0x4647 0x20388 +0x4648 0x203A7 +0x4649 0x20389 +0x464A 0x2038A +0x464B 0x2038B +0x464C 0x2038C +0x464D 0x2038D +0x464E 0x2038E +0x464F 0x2038F +0x4650 0x203A3 +0x4651 0x20390 +0x4652 0x20391 +0x4653 0x20392 +0x4654 0x20393 +0x4655 0x203AC +0x4656 0x20394 +0x4657 0x20395 +0x4658 0x20396 +0x4659 0x204AA +0x465A 0x204AB +0x465B 0x2059E +0x465D 0x20608 +0x465E 0x20609 +0x465F 0x20668 +0x4660 0x20669 +0x4661 0x2066A +0x4662 0x2069A +0x4663 0x207D9 +0x4664 0x207DA +0x4665 0x207DB +0x4666 0x208A8 +0x4667 0x20901 +0x4668 0x20928 +0x4669 0x20977 +0x466A 0x209BD +0x466B 0x209BE +0x466C 0x20F60 +0x466D 0x20AA0 +0x466E 0x20AA2 +0x466F 0x20B0F +0x4670 0x20B85 +0x4671 0x20EFE +0x4672 0x20EFF +0x4673 0x20F00 +0x4674 0x20F01 +0x4675 0x20F16 +0x4676 0x20F02 +0x4677 0x20F03 +0x4678 0x20F04 +0x4679 0x20F05 +0x467A 0x20F06 +0x467B 0x20F07 +0x467C 0x20F08 +0x467D 0x20F22 +0x467E 0x20F09 +0x4721 0x20F0A +0x4722 0x20F0B +0x4723 0x20F0C +0x4724 0x20F14 +0x4725 0x20F29 +0x4726 0x20E6E +0x4727 0x20F0D +0x4728 0x20F0E +0x4729 0x20F0F +0x472A 0x20F10 +0x472B 0x20F11 +0x472C 0x20F12 +0x472D 0x20F13 +0x472E 0x2121B +0x472F 0x2121C +0x4730 0x2121D +0x4731 0x21413 +0x4732 0x213FF +0x4733 0x21400 +0x4734 0x21401 +0x4735 0x21402 +0x4736 0x21403 +0x4737 0x21404 +0x4738 0x2140A +0x4739 0x21405 +0x473A 0x21406 +0x473B 0x21407 +0x473C 0x21408 +0x473D 0x2153A +0x473E 0x21573 +0x473F 0x2166F +0x4740 0x21670 +0x4741 0x21671 +0x4742 0x20052 +0x4744 0x21A9A +0x4745 0x21860 +0x4746 0x2F869 +0x4747 0x2182B +0x4748 0x21824 +0x4749 0x2182C +0x474A 0x2182D +0x474B 0x2182E +0x474C 0x2182F +0x474D 0x21830 +0x474E 0x21831 +0x474F 0x21832 +0x4750 0x21833 +0x4751 0x21834 +0x4752 0x21835 +0x4753 0x21845 +0x4754 0x21836 +0x4755 0x21992 +0x4756 0x21993 +0x4757 0x21A88 +0x4758 0x21A89 +0x4759 0x21A8A +0x475A 0x21A8B +0x475B 0x21B3F +0x475D 0x21CCA +0x475E 0x21EF6 +0x475F 0x21EF7 +0x4760 0x21EF8 +0x4761 0x21EF9 +0x4762 0x2212B +0x4764 0x221A4 +0x4765 0x221CE +0x4767 0x2229E +0x4768 0x2229F +0x4769 0x222A0 +0x476A 0x222A1 +0x476B 0x222A2 +0x476C 0x222A3 +0x476D 0x222A4 +0x476E 0x222A5 +0x476F 0x222A6 +0x4770 0x22418 +0x4771 0x22560 +0x4772 0x22561 +0x4773 0x22562 +0x4774 0x22563 +0x4775 0x22564 +0x4776 0x227BD +0x4777 0x227BE +0x4778 0x2280B +0x4779 0x227BF +0x477A 0x227C0 +0x477C 0x2280C +0x477D 0x2278D +0x477E 0x2280D +0x4821 0x2280E +0x4822 0x2285E +0x4823 0x2280F +0x4824 0x22810 +0x4825 0x227C1 +0x4826 0x22811 +0x4828 0x227C2 +0x4829 0x229EA +0x482A 0x229EB +0x482B 0x22CE3 +0x482C 0x22CE4 +0x482D 0x22CE5 +0x482E 0x22CE6 +0x482F 0x22CE7 +0x4830 0x22C92 +0x4831 0x22D4A +0x4833 0x22CE8 +0x4834 0x22CE9 +0x4835 0x22CEA +0x4836 0x22D01 +0x4837 0x22CEB +0x4838 0x22CEC +0x4839 0x22CEF +0x483A 0x22CED +0x483B 0x22CEE +0x483C 0x22CF0 +0x483D 0x22CF1 +0x483E 0x22CF2 +0x483F 0x22CF3 +0x4840 0x22CF4 +0x4841 0x22CF5 +0x4842 0x22CF6 +0x4843 0x22CF7 +0x4844 0x22CF8 +0x4845 0x22CF9 +0x4846 0x22CFE +0x4847 0x22CFA +0x4848 0x22CFB +0x4849 0x22CFC +0x484A 0x23263 +0x484B 0x23264 +0x484C 0x23265 +0x484D 0x23266 +0x484E 0x23267 +0x484F 0x23268 +0x4850 0x2360B +0x4851 0x2360D +0x4853 0x2360E +0x4854 0x2360F +0x4856 0x23614 +0x4857 0x235D4 +0x4858 0x235D5 +0x4859 0x235D6 +0x485A 0x235D7 +0x485B 0x235D8 +0x485C 0x235D9 +0x485D 0x235DA +0x485E 0x235DB +0x485F 0x235DC +0x4860 0x235DD +0x4861 0x235DE +0x4862 0x235DF +0x4863 0x235E0 +0x4864 0x235E1 +0x4865 0x235E2 +0x4866 0x235E3 +0x4867 0x235E4 +0x4868 0x235E5 +0x4869 0x235E6 +0x486A 0x235E7 +0x486B 0x235E8 +0x486C 0x235E9 +0x486D 0x235EA +0x486E 0x235EB +0x486F 0x235EC +0x4870 0x236EC +0x4871 0x235ED +0x4872 0x235EE +0x4873 0x235EF +0x4874 0x23600 +0x4875 0x235F0 +0x4876 0x23904 +0x4878 0x23905 +0x4879 0x2F8F3 +0x487A 0x23AB5 +0x487B 0x2F8F9 +0x487C 0x23BD6 +0x487D 0x23BD7 +0x487E 0x23BD8 +0x4921 0x23BD9 +0x4922 0x23EA9 +0x4923 0x23F00 +0x4924 0x23F01 +0x4925 0x23F02 +0x4926 0x23F03 +0x4927 0x23F04 +0x4928 0x23F05 +0x4929 0x23F06 +0x492A 0x23F3F +0x492B 0x23F07 +0x492C 0x23F08 +0x492D 0x23F09 +0x492E 0x23F0A +0x492F 0x23EB6 +0x4930 0x23F0B +0x4931 0x23F0C +0x4934 0x23F0D +0x4936 0x23F0E +0x4937 0x23F0F +0x4938 0x23F10 +0x4939 0x23F11 +0x493A 0x23F12 +0x493B 0x23F35 +0x493C 0x23F13 +0x493D 0x23F14 +0x493E 0x23EAA +0x4940 0x23FC1 +0x4941 0x23F15 +0x4942 0x23F16 +0x4943 0x23F17 +0x4944 0x2431E +0x4945 0x2431F +0x4946 0x24320 +0x4947 0x24321 +0x4949 0x24322 +0x494A 0x24323 +0x494C 0x24324 +0x494D 0x24325 +0x494E 0x24326 +0x494F 0x24327 +0x4950 0x24328 +0x4951 0x24329 +0x4952 0x2432A +0x4953 0x2432B +0x4954 0x24307 +0x4955 0x2432C +0x4956 0x2432D +0x4957 0x2432E +0x495A 0x2432F +0x495B 0x24330 +0x495C 0x24348 +0x495D 0x24331 +0x495E 0x24332 +0x4960 0x24333 +0x4962 0x24334 +0x4963 0x24335 +0x4964 0x24336 +0x4965 0x24559 +0x4966 0x24591 +0x4967 0x245E7 +0x4968 0x246B8 +0x4969 0x246B9 +0x496A 0x246BA +0x496B 0x246BB +0x496C 0x246C8 +0x496D 0x2484D +0x496E 0x24889 +0x496F 0x24850 +0x4970 0x24828 +0x4971 0x249FB +0x4972 0x249FC +0x4973 0x249FD +0x4974 0x249FE +0x4975 0x249FF +0x4977 0x24A00 +0x4978 0x24A01 +0x4979 0x24A02 +0x497A 0x249E4 +0x497B 0x249E5 +0x497C 0x24A03 +0x497D 0x24A04 +0x497E 0x24A05 +0x4A21 0x24A06 +0x4A22 0x24A07 +0x4A23 0x24A13 +0x4A24 0x24A08 +0x4A25 0x24A09 +0x4A26 0x249E6 +0x4A27 0x24A0A +0x4A28 0x24A0B +0x4A29 0x24A0C +0x4A2A 0x24B0B +0x4A2B 0x24BF4 +0x4A2C 0x24C0A +0x4A2D 0x24CB1 +0x4A2E 0x24E1D +0x4A2F 0x2F93B +0x4A30 0x24F8B +0x4A31 0x24F8C +0x4A32 0x24F8F +0x4A33 0x24F8D +0x4A34 0x24F8E +0x4A35 0x25006 +0x4A36 0x25086 +0x4A37 0x25222 +0x4A38 0x25223 +0x4A39 0x25224 +0x4A3A 0x25225 +0x4A3B 0x25226 +0x4A3C 0x25227 +0x4A3D 0x25228 +0x4A3E 0x253F1 +0x4A40 0x25523 +0x4A41 0x25512 +0x4A43 0x25513 +0x4A44 0x25514 +0x4A45 0x25515 +0x4A46 0x25516 +0x4A47 0x25517 +0x4A48 0x25518 +0x4A49 0x25519 +0x4A4A 0x2554B +0x4A4B 0x2551A +0x4A4C 0x2551B +0x4A4D 0x2551C +0x4A4F 0x2551D +0x4A50 0x2551E +0x4A51 0x2551F +0x4A52 0x25520 +0x4A53 0x256CA +0x4A54 0x222AC +0x4A55 0x256CB +0x4A56 0x256CC +0x4A57 0x256CD +0x4A58 0x256CE +0x4A5A 0x256CF +0x4A5B 0x25810 +0x4A5C 0x25811 +0x4A5D 0x25812 +0x4A5E 0x25813 +0x4A5F 0x25814 +0x4A60 0x2580F +0x4A61 0x25815 +0x4A62 0x25816 +0x4A63 0x25817 +0x4A65 0x25818 +0x4A66 0x259C6 +0x4A67 0x25A9F +0x4A68 0x25AA0 +0x4A69 0x25AA4 +0x4A6A 0x25AA1 +0x4A6B 0x25BB5 +0x4A6C 0x25BB6 +0x4A6D 0x25BB7 +0x4A6E 0x25BB8 +0x4A6F 0x25BB9 +0x4A70 0x25BBA +0x4A71 0x25BD0 +0x4A72 0x25BC6 +0x4A73 0x25BBB +0x4A74 0x25BBC +0x4A75 0x25BBD +0x4A76 0x25BBE +0x4A77 0x25BBF +0x4A78 0x25BC0 +0x4A79 0x25BC1 +0x4A7A 0x25BC2 +0x4A7B 0x2F960 +0x4A7C 0x25EA7 +0x4A7D 0x25EA8 +0x4A7E 0x25EA9 +0x4B21 0x25EAA +0x4B22 0x25EAB +0x4B23 0x25EAC +0x4B24 0x25EBC +0x4B25 0x25EAD +0x4B26 0x25EAE +0x4B28 0x25EAF +0x4B29 0x25EB0 +0x4B2A 0x25EB1 +0x4B2C 0x25EB4 +0x4B2D 0x25EB2 +0x4B2E 0x26066 +0x4B2F 0x26067 +0x4B30 0x26068 +0x4B31 0x26069 +0x4B32 0x2606A +0x4B33 0x2606B +0x4B34 0x2606C +0x4B35 0x2606D +0x4B36 0x2606E +0x4B37 0x2606F +0x4B39 0x2623E +0x4B3A 0x2623F +0x4B3B 0x26240 +0x4B3C 0x262E8 +0x4B3D 0x26452 +0x4B3E 0x26453 +0x4B3F 0x26454 +0x4B40 0x26455 +0x4B41 0x26591 +0x4B42 0x26592 +0x4B43 0x26593 +0x4B44 0x26594 +0x4B45 0x26595 +0x4B46 0x26596 +0x4B47 0x26597 +0x4B48 0x26598 +0x4B4A 0x26599 +0x4B4B 0x2659A +0x4B4C 0x2659B +0x4B4D 0x267B7 +0x4B4E 0x267B8 +0x4B4F 0x267B9 +0x4B51 0x267BA +0x4B52 0x267BB +0x4B53 0x267BD +0x4B55 0x267BC +0x4B56 0x2F988 +0x4B57 0x2F987 +0x4B58 0x268EB +0x4B59 0x268EC +0x4B5A 0x26916 +0x4B5B 0x26944 +0x4B5C 0x269E3 +0x4B5D 0x26A58 +0x4B5E 0x26A53 +0x4B5F 0x26A54 +0x4B60 0x26AE0 +0x4B61 0x26DB1 +0x4B62 0x26DB2 +0x4B63 0x26DB3 +0x4B64 0x26DEA +0x4B66 0x26DB4 +0x4B67 0x26DF0 +0x4B68 0x26DB5 +0x4B69 0x26DB6 +0x4B6A 0x26DB7 +0x4B6B 0x26DB8 +0x4B6C 0x26DB9 +0x4B6D 0x26DBA +0x4B6E 0x26DBB +0x4B6F 0x26DBC +0x4B70 0x26DBD +0x4B71 0x26DBE +0x4B72 0x26DBF +0x4B73 0x26DC0 +0x4B74 0x26DC1 +0x4B75 0x26DC2 +0x4B76 0x26DC3 +0x4B78 0x26DC4 +0x4B79 0x26DC5 +0x4B7A 0x26DC6 +0x4B7B 0x26DFC +0x4B7C 0x26DC7 +0x4B7D 0x26DC8 +0x4B7E 0x26DC9 +0x4C21 0x26DCA +0x4C22 0x26DCB +0x4C23 0x26DCC +0x4C24 0x26E84 +0x4C25 0x26DCD +0x4C26 0x26DCE +0x4C27 0x26DCF +0x4C28 0x26DD0 +0x4C29 0x26DD1 +0x4C2A 0x26DD2 +0x4C2B 0x271CA +0x4C2C 0x271CB +0x4C2D 0x27336 +0x4C2E 0x27337 +0x4C2F 0x2739F +0x4C30 0x27338 +0x4C31 0x27339 +0x4C32 0x2733A +0x4C34 0x276BE +0x4C35 0x276F0 +0x4C36 0x276BF +0x4C37 0x276C0 +0x4C38 0x277F7 +0x4C39 0x277F8 +0x4C3A 0x277FA +0x4C3B 0x27843 +0x4C3C 0x27844 +0x4C3D 0x27A0F +0x4C3E 0x27A10 +0x4C3F 0x27A11 +0x4C40 0x27A12 +0x4C42 0x27A13 +0x4C43 0x27A14 +0x4C44 0x27A15 +0x4C45 0x27A16 +0x4C48 0x27CD3 +0x4C49 0x27CD7 +0x4C4B 0x27DB0 +0x4C4C 0x27D98 +0x4C4D 0x27D90 +0x4C4E 0x27D91 +0x4C4F 0x27D92 +0x4C50 0x27D97 +0x4C51 0x27D93 +0x4C52 0x27E64 +0x4C53 0x27F01 +0x4C54 0x27F02 +0x4C55 0x27F03 +0x4C56 0x27F04 +0x4C57 0x27F05 +0x4C58 0x27F06 +0x4C59 0x27F07 +0x4C5A 0x2805A +0x4C5B 0x2805B +0x4C5C 0x2824E +0x4C5D 0x2824F +0x4C5E 0x28250 +0x4C5F 0x28319 +0x4C60 0x2831A +0x4C61 0x2831B +0x4C63 0x2831C +0x4C65 0x28419 +0x4C66 0x2841A +0x4C68 0x2898A +0x4C69 0x2856E +0x4C6A 0x2856F +0x4C6C 0x28570 +0x4C6D 0x28571 +0x4C6E 0x28572 +0x4C6F 0x28573 +0x4C70 0x28574 +0x4C71 0x28575 +0x4C72 0x28576 +0x4C73 0x2883A +0x4C74 0x2883B +0x4C75 0x2883C +0x4C76 0x2885A +0x4C77 0x2883D +0x4C78 0x28842 +0x4C79 0x2898B +0x4C7A 0x289A0 +0x4C7B 0x2898C +0x4C7C 0x2898D +0x4C7D 0x2898E +0x4C7E 0x289AB +0x4D21 0x2898F +0x4D23 0x28990 +0x4D24 0x28991 +0x4D25 0x28992 +0x4D26 0x289AA +0x4D28 0x28993 +0x4D29 0x28994 +0x4D2A 0x2899E +0x4D2B 0x289A8 +0x4D2E 0x28F00 +0x4D2F 0x28F01 +0x4D30 0x28F02 +0x4D31 0x28F03 +0x4D32 0x28F04 +0x4D33 0x28F05 +0x4D34 0x28FC4 +0x4D35 0x28FC5 +0x4D37 0x290AE +0x4D38 0x290B2 +0x4D3B 0x291F7 +0x4D3C 0x29213 +0x4D3D 0x2939E +0x4D3E 0x29485 +0x4D3F 0x25380 +0x4D40 0x294C8 +0x4D41 0x29841 +0x4D42 0x29881 +0x4D43 0x29882 +0x4D44 0x29883 +0x4D45 0x29884 +0x4D46 0x29AC4 +0x4D47 0x29AC5 +0x4D48 0x29AC6 +0x4D49 0x29C95 +0x4D4A 0x29C96 +0x4D4B 0x29C97 +0x4D4C 0x29D58 +0x4D4D 0x29D59 +0x4D4F 0x29FA9 +0x4D50 0x29FAA +0x4D51 0x29FAB +0x4D52 0x2A28E +0x4D53 0x2A303 +0x4D54 0x2A3B3 +0x4D55 0x20B82 +0x4D56 0x20053 +0x4D57 0x20183 +0x4D58 0x20184 +0x4D59 0x20185 +0x4D5A 0x203CC +0x4D5B 0x203CD +0x4D5C 0x203CE +0x4D5D 0x203CF +0x4D5E 0x203D0 +0x4D60 0x203D1 +0x4D61 0x203D2 +0x4D62 0x203DA +0x4D63 0x204B3 +0x4D64 0x204B4 +0x4D66 0x20613 +0x4D67 0x2060E +0x4D68 0x2066B +0x4D69 0x20903 +0x4D6A 0x20961 +0x4D6B 0x209C1 +0x4D6C 0x209C2 +0x4D6D 0x20AB5 +0x4D6E 0x20140 +0x4D6F 0x20F98 +0x4D70 0x20F99 +0x4D71 0x20F9A +0x4D72 0x20F9B +0x4D73 0x20F9C +0x4D74 0x20F9D +0x4D75 0x20F9E +0x4D76 0x20F9F +0x4D77 0x20FEE +0x4D78 0x20FA0 +0x4D79 0x20FA1 +0x4D7A 0x20F86 +0x4D7B 0x21225 +0x4D7C 0x21434 +0x4D7D 0x21435 +0x4D7E 0x21451 +0x4E21 0x2142D +0x4E22 0x24362 +0x4E23 0x21454 +0x4E24 0x21452 +0x4E26 0x21436 +0x4E27 0x21437 +0x4E28 0x21438 +0x4E29 0x21439 +0x4E2A 0x2143A +0x4E2B 0x2143B +0x4E2C 0x21468 +0x4E2D 0x2143C +0x4E2F 0x21577 +0x4E30 0x23296 +0x4E31 0x2167E +0x4E32 0x2167F +0x4E33 0x21869 +0x4E34 0x2186A +0x4E35 0x2186B +0x4E36 0x2186C +0x4E37 0x2186D +0x4E38 0x2186E +0x4E39 0x2186F +0x4E3A 0x2185D +0x4E3B 0x21870 +0x4E3C 0x21885 +0x4E3D 0x21871 +0x4E3E 0x21872 +0x4E3F 0x21873 +0x4E40 0x21874 +0x4E41 0x21875 +0x4E42 0x21876 +0x4E43 0x21884 +0x4E44 0x21877 +0x4E45 0x21883 +0x4E46 0x2199A +0x4E47 0x21AA7 +0x4E48 0x21AA8 +0x4E49 0x21AA9 +0x4E4A 0x21AAA +0x4E4B 0x21AAB +0x4E4C 0x21AAC +0x4E4D 0x21AB7 +0x4E4E 0x21AAD +0x4E4F 0x21AAE +0x4E51 0x21B45 +0x4E52 0x21CD3 +0x4E53 0x21CD4 +0x4E54 0x21CD5 +0x4E55 0x21CD6 +0x4E56 0x21CD7 +0x4E57 0x21F26 +0x4E58 0x21F27 +0x4E59 0x21F28 +0x4E5B 0x21F29 +0x4E5C 0x21F2A +0x4E5D 0x22005 +0x4E5F 0x221D0 +0x4E60 0x222B7 +0x4E62 0x222B8 +0x4E63 0x222B9 +0x4E64 0x22422 +0x4E65 0x22423 +0x4E66 0x22573 +0x4E67 0x22574 +0x4E68 0x2288F +0x4E69 0x22812 +0x4E6A 0x22813 +0x4E6B 0x22814 +0x4E6C 0x22815 +0x4E6D 0x22816 +0x4E6E 0x22817 +0x4E6F 0x22818 +0x4E70 0x22861 +0x4E71 0x22866 +0x4E72 0x22867 +0x4E73 0x22819 +0x4E74 0x22868 +0x4E75 0x2281A +0x4E76 0x22869 +0x4E77 0x22A04 +0x4E78 0x22A05 +0x4E7A 0x22A06 +0x4E7B 0x229FD +0x4E7C 0x22D50 +0x4E7D 0x22D51 +0x4E7E 0x22D52 +0x4F21 0x22D53 +0x4F22 0x22D54 +0x4F23 0x22D55 +0x4F24 0x22D63 +0x4F25 0x2F8C4 +0x4F26 0x22D56 +0x4F27 0x22D57 +0x4F28 0x22D58 +0x4F29 0x22D59 +0x4F2A 0x22D5A +0x4F2B 0x22D5B +0x4F2D 0x22D5C +0x4F2E 0x22D5D +0x4F2F 0x22D5E +0x4F30 0x22D5F +0x4F31 0x22FD7 +0x4F33 0x23060 +0x4F34 0x23061 +0x4F35 0x23117 +0x4F36 0x23139 +0x4F37 0x2328F +0x4F38 0x232C8 +0x4F39 0x23290 +0x4F3A 0x23291 +0x4F3B 0x23398 +0x4F3C 0x23399 +0x4F3D 0x23644 +0x4F3E 0x23645 +0x4F3F 0x23646 +0x4F40 0x23659 +0x4F41 0x236EE +0x4F43 0x23647 +0x4F44 0x23648 +0x4F46 0x23649 +0x4F47 0x2364A +0x4F48 0x2364B +0x4F49 0x2364C +0x4F4A 0x2364D +0x4F4B 0x2364E +0x4F4C 0x2364F +0x4F4D 0x23650 +0x4F4E 0x23651 +0x4F4F 0x23652 +0x4F50 0x23653 +0x4F51 0x23654 +0x4F52 0x23655 +0x4F53 0x23656 +0x4F54 0x23915 +0x4F55 0x2399A +0x4F56 0x23A58 +0x4F57 0x23AFC +0x4F58 0x23AFD +0x4F59 0x23F86 +0x4F5A 0x23F87 +0x4F5B 0x23F88 +0x4F5C 0x23F89 +0x4F5D 0x23F8A +0x4F5E 0x23F8B +0x4F5F 0x23F8C +0x4F61 0x2401F +0x4F62 0x23F8D +0x4F63 0x23F8E +0x4F64 0x23F8F +0x4F65 0x23F90 +0x4F66 0x23F91 +0x4F67 0x23F92 +0x4F68 0x23F93 +0x4F69 0x2F911 +0x4F6A 0x23F94 +0x4F6B 0x23F95 +0x4F6C 0x23ECA +0x4F6D 0x23F18 +0x4F6F 0x23F96 +0x4F70 0x23F97 +0x4F71 0x23F98 +0x4F72 0x23F99 +0x4F73 0x23F9A +0x4F74 0x23F9B +0x4F75 0x23F9C +0x4F76 0x23F9D +0x4F77 0x23F9E +0x4F78 0x23F9F +0x4F7B 0x23FA0 +0x4F7C 0x23FA1 +0x4F7E 0x23FB7 +0x5022 0x24396 +0x5023 0x24368 +0x5024 0x24369 +0x5025 0x2438C +0x5026 0x2436A +0x5027 0x2436B +0x5028 0x2436C +0x5029 0x2436D +0x502A 0x2436E +0x502B 0x2436F +0x502C 0x2437F +0x502D 0x24384 +0x502E 0x24370 +0x502F 0x24371 +0x5030 0x24385 +0x5031 0x24372 +0x5032 0x24373 +0x5033 0x24374 +0x5034 0x24375 +0x5035 0x24376 +0x5037 0x24377 +0x5038 0x24378 +0x5039 0x24379 +0x503A 0x2437A +0x503B 0x2437B +0x503C 0x2437C +0x503D 0x2F91E +0x503E 0x24594 +0x503F 0x246D5 +0x5040 0x24829 +0x5041 0x24A2B +0x5042 0x24A2C +0x5043 0x24A2D +0x5044 0x24A2E +0x5045 0x24A2F +0x5046 0x24A30 +0x5047 0x24A3E +0x5048 0x24A31 +0x5049 0x24A32 +0x504A 0x24A33 +0x504B 0x24A34 +0x504C 0x24A35 +0x504D 0x24B11 +0x504F 0x24CC0 +0x5050 0x24E42 +0x5051 0x24E43 +0x5052 0x24E44 +0x5053 0x24E45 +0x5054 0x24E46 +0x5055 0x2508C +0x5056 0x2508D +0x5057 0x2508E +0x5058 0x2508F +0x5059 0x25090 +0x505A 0x25091 +0x505B 0x25263 +0x505C 0x25264 +0x505D 0x25265 +0x505F 0x2F94A +0x5061 0x253F6 +0x5062 0x25536 +0x5063 0x25537 +0x5064 0x2552C +0x5065 0x25538 +0x5066 0x25539 +0x5068 0x2553A +0x5069 0x256E3 +0x506A 0x256E2 +0x506B 0x256F5 +0x506C 0x25847 +0x506E 0x25848 +0x506F 0x25849 +0x5070 0x2584A +0x5071 0x2584B +0x5072 0x2584C +0x5073 0x25AA8 +0x5074 0x25AA9 +0x5075 0x25AAA +0x5077 0x25C0B +0x5078 0x25C06 +0x5079 0x25C73 +0x507A 0x25C0C +0x507B 0x25C0D +0x507C 0x25C0E +0x507D 0x25C0F +0x507E 0x25C10 +0x5122 0x25C11 +0x5123 0x2F962 +0x5124 0x25C12 +0x5125 0x25C14 +0x5126 0x25C15 +0x5127 0x25C16 +0x5129 0x25C13 +0x512A 0x25C17 +0x512B 0x25ED9 +0x512C 0x25EDA +0x512D 0x25EDB +0x512F 0x25EDC +0x5130 0x260A6 +0x5131 0x260A7 +0x5132 0x260A8 +0x5133 0x260A9 +0x5134 0x260AA +0x5135 0x260AB +0x5137 0x2F96D +0x5138 0x260AC +0x5139 0x260AD +0x513A 0x260AE +0x513D 0x260AF +0x513E 0x260B0 +0x513F 0x260B1 +0x5140 0x26244 +0x5141 0x26245 +0x5142 0x262F7 +0x5143 0x262F8 +0x5144 0x2646B +0x5145 0x2646C +0x5146 0x26461 +0x5147 0x26512 +0x5148 0x265AF +0x5149 0x265B0 +0x514A 0x265B1 +0x514B 0x265B2 +0x514C 0x265B3 +0x514D 0x265B4 +0x514E 0x265B5 +0x514F 0x265B6 +0x5150 0x26622 +0x5151 0x267EA +0x5152 0x267EB +0x5153 0x267EC +0x5154 0x267ED +0x5156 0x268ED +0x5157 0x2691B +0x5158 0x26947 +0x5159 0x269E8 +0x515A 0x26AD0 +0x515B 0x26AE7 +0x515C 0x26AE8 +0x515D 0x26AE9 +0x515E 0x26E4E +0x515F 0x26E4F +0x5160 0x26E50 +0x5161 0x26E72 +0x5162 0x26E51 +0x5163 0x26E52 +0x5164 0x2F9A7 +0x5166 0x26E53 +0x5167 0x26E54 +0x5168 0x26E55 +0x5169 0x26E56 +0x516A 0x26E57 +0x516B 0x26E77 +0x516C 0x26E58 +0x516D 0x26E59 +0x516E 0x26E5A +0x516F 0x26E5B +0x5170 0x26E5C +0x5171 0x26E6E +0x5172 0x26E5D +0x5175 0x26E5E +0x5177 0x26E5F +0x5179 0x271D7 +0x517A 0x27389 +0x517B 0x2738A +0x517D 0x2F9BE +0x517E 0x2738B +0x5221 0x2738C +0x5222 0x2738D +0x5223 0x2738E +0x5224 0x2F9BC +0x5225 0x2738F +0x5227 0x2739A +0x5228 0x27390 +0x5229 0x27391 +0x522A 0x27392 +0x522B 0x27393 +0x522C 0x27712 +0x522D 0x276F1 +0x522F 0x277FE +0x5230 0x277FB +0x5231 0x27857 +0x5232 0x27A49 +0x5233 0x27A4A +0x5234 0x27A4B +0x5235 0x27A4C +0x5237 0x27A4D +0x5238 0x27A59 +0x5239 0x27A4E +0x523A 0x27A4F +0x523B 0x27BF4 +0x523C 0x27C65 +0x523D 0x27DA6 +0x523E 0x27DA7 +0x523F 0x27DA8 +0x5240 0x27F22 +0x5241 0x27F23 +0x5242 0x2808B +0x5243 0x2808C +0x5244 0x2808D +0x5245 0x2808E +0x5246 0x28258 +0x5248 0x28259 +0x5249 0x2833B +0x524A 0x2833C +0x524B 0x2833D +0x524C 0x2833E +0x524D 0x28448 +0x524E 0x28594 +0x524F 0x28595 +0x5250 0x28596 +0x5251 0x28597 +0x5252 0x28598 +0x5253 0x2877D +0x5254 0x286FE +0x5255 0x2877E +0x5256 0x2877F +0x5258 0x2885B +0x5259 0x2885C +0x525A 0x289E4 +0x525B 0x289C1 +0x525C 0x289FD +0x525D 0x289C2 +0x525E 0x289D6 +0x525F 0x289C3 +0x5260 0x289C4 +0x5262 0x289DC +0x5263 0x289C5 +0x5264 0x289C6 +0x5265 0x289C7 +0x5266 0x289E1 +0x5267 0x289C8 +0x5268 0x289C9 +0x5269 0x289CA +0x526A 0x289CB +0x526C 0x289CC +0x526D 0x289CD +0x526E 0x28D35 +0x526F 0x28D36 +0x5270 0x28D47 +0x5271 0x28D37 +0x5272 0x28F1B +0x5273 0x28F1C +0x5274 0x28F1D +0x5275 0x28F1E +0x5276 0x28F1F +0x5277 0x28F20 +0x5278 0x28F7B +0x5279 0x28F7A +0x527A 0x28FFE +0x527B 0x290C6 +0x527C 0x290C7 +0x527D 0x290C8 +0x527E 0x290C9 +0x5321 0x290CA +0x5323 0x294A0 +0x5324 0x294A1 +0x5325 0x295CC +0x5326 0x295CD +0x5327 0x296F1 +0x5328 0x296D7 +0x5329 0x29842 +0x532A 0x29846 +0x532B 0x298A3 +0x532C 0x298A5 +0x532D 0x298A6 +0x532E 0x29ACB +0x532F 0x29ACC +0x5330 0x29B26 +0x5331 0x29B27 +0x5332 0x29B28 +0x5333 0x29B29 +0x5334 0x29CAE +0x5335 0x29CAF +0x5336 0x29CB0 +0x5337 0x29D73 +0x5339 0x29D7C +0x533A 0x29D74 +0x533C 0x29F80 +0x533D 0x29D75 +0x5340 0x29FCF +0x5342 0x2A38F +0x5343 0x20670 +0x5344 0x20085 +0x5345 0x20397 +0x5346 0x203F6 +0x5347 0x203F7 +0x5348 0x203F8 +0x5349 0x203FA +0x534A 0x203FB +0x534B 0x204BA +0x534C 0x204BB +0x534D 0x204BC +0x534E 0x204BD +0x534F 0x20534 +0x5350 0x20535 +0x5351 0x205A2 +0x5352 0x20614 +0x5353 0x20611 +0x5354 0x2066E +0x5355 0x2066F +0x5356 0x20808 +0x5357 0x208B8 +0x5358 0x20A09 +0x5359 0x20ABD +0x535A 0x20ABE +0x535B 0x20B88 +0x535C 0x20FFE +0x535E 0x20FFF +0x535F 0x21000 +0x5360 0x21001 +0x5361 0x21002 +0x5362 0x21003 +0x5363 0x21004 +0x5364 0x21005 +0x5365 0x21006 +0x5367 0x21007 +0x5368 0x21008 +0x5369 0x21009 +0x536A 0x2100A +0x536B 0x2100B +0x536C 0x2100C +0x536D 0x2100D +0x536E 0x2100E +0x536F 0x2100F +0x5373 0x2122C +0x5374 0x2146B +0x5376 0x2146C +0x5377 0x21487 +0x5378 0x2146D +0x5379 0x21578 +0x537A 0x2168B +0x537B 0x218A4 +0x537C 0x218A5 +0x537D 0x218A6 +0x537E 0x218A7 +0x5421 0x218BE +0x5422 0x218A8 +0x5423 0x218A9 +0x5424 0x218AA +0x5425 0x2188D +0x5426 0x218AB +0x5427 0x218AC +0x5428 0x218BF +0x542B 0x218AD +0x542C 0x218AE +0x542D 0x219A4 +0x542E 0x219A5 +0x542F 0x21AC7 +0x5430 0x21AC8 +0x5431 0x21AC9 +0x5432 0x27DBC +0x5433 0x21ACA +0x5434 0x21ACB +0x5435 0x21ACC +0x5436 0x21ACD +0x5437 0x21ACE +0x5438 0x21C19 +0x5439 0x21CE6 +0x543A 0x21F4C +0x543B 0x21F4D +0x543C 0x21F4E +0x543D 0x22006 +0x543F 0x222CD +0x5440 0x222CE +0x5441 0x222CF +0x5442 0x222D0 +0x5444 0x22581 +0x5445 0x22582 +0x5446 0x20533 +0x5447 0x2286A +0x5448 0x2286B +0x5449 0x228B2 +0x544A 0x2286C +0x544B 0x2286D +0x544C 0x228CC +0x544D 0x228AE +0x544E 0x228B3 +0x544F 0x22891 +0x5451 0x2286E +0x5452 0x228B4 +0x5453 0x2286F +0x5454 0x22DC9 +0x5455 0x22DA7 +0x5456 0x22DA8 +0x5457 0x22DA9 +0x5458 0x22DAA +0x5459 0x22DAB +0x545A 0x22DAC +0x545B 0x22DAD +0x545C 0x22DAE +0x545D 0x22DAF +0x545E 0x22DB0 +0x545F 0x22D60 +0x5460 0x22DB1 +0x5461 0x22EE1 +0x5462 0x22FE3 +0x5463 0x22FF6 +0x5465 0x232AF +0x5466 0x232B0 +0x5467 0x232B1 +0x5468 0x232BA +0x5469 0x232B2 +0x546A 0x232B3 +0x546B 0x2334C +0x546D 0x233A0 +0x546E 0x233A1 +0x546F 0x236B0 +0x5470 0x236B1 +0x5471 0x236B2 +0x5472 0x236B3 +0x5473 0x236B4 +0x5474 0x2F8EB +0x5475 0x236B5 +0x5476 0x236B6 +0x5477 0x236B7 +0x5478 0x236B8 +0x5479 0x236B9 +0x547A 0x236BA +0x547C 0x236BB +0x547D 0x236BC +0x547E 0x236BD +0x5521 0x236BE +0x5522 0x236BF +0x5523 0x236DF +0x5524 0x236C0 +0x5525 0x236C1 +0x5526 0x236C2 +0x5527 0x236C3 +0x5528 0x236C4 +0x552B 0x236C5 +0x552C 0x236C6 +0x552D 0x236C7 +0x552E 0x236C8 +0x552F 0x236C9 +0x5530 0x236CA +0x5531 0x2373C +0x5532 0x236CB +0x5533 0x236CC +0x5534 0x236CD +0x5535 0x236CE +0x5536 0x236CF +0x5537 0x236D0 +0x5538 0x236D1 +0x553A 0x2391D +0x553B 0x2391E +0x553C 0x23A64 +0x553D 0x23A65 +0x553E 0x23AC5 +0x553F 0x23AC6 +0x5540 0x23AC7 +0x5541 0x23AFF +0x5542 0x23BFF +0x5543 0x23C00 +0x5544 0x23C01 +0x5545 0x23C02 +0x5546 0x23FF5 +0x5547 0x2405C +0x5548 0x23FF6 +0x5549 0x23FF7 +0x554A 0x23FB0 +0x554B 0x23FF8 +0x554C 0x23FF9 +0x554D 0x2405D +0x554E 0x24050 +0x554F 0x23FFA +0x5550 0x23FFB +0x5551 0x23FA2 +0x5552 0x23FFC +0x5553 0x23FFD +0x5554 0x23FFE +0x5555 0x23FFF +0x5556 0x2F913 +0x5557 0x24000 +0x5558 0x2F91F +0x5559 0x243C1 +0x555A 0x243C2 +0x555B 0x243C3 +0x555C 0x243C4 +0x555D 0x243C5 +0x555E 0x243C6 +0x555F 0x243C7 +0x5560 0x243C8 +0x5561 0x243C9 +0x5562 0x243CA +0x5563 0x243CB +0x5564 0x290EF +0x5565 0x243D7 +0x5566 0x243CC +0x5567 0x243CD +0x5568 0x243CE +0x5569 0x24422 +0x556A 0x243CF +0x556B 0x243D0 +0x556D 0x243D1 +0x556E 0x243D2 +0x556F 0x243E9 +0x5570 0x243D3 +0x5571 0x243D4 +0x5572 0x243D5 +0x5573 0x24538 +0x5574 0x2103B +0x5575 0x2487D +0x5576 0x2056F +0x5577 0x248A1 +0x5578 0x24A53 +0x5579 0x24A54 +0x557B 0x24A55 +0x557C 0x24A3C +0x557D 0x24A56 +0x5621 0x24A66 +0x5623 0x24A57 +0x5624 0x24A58 +0x5625 0x24A59 +0x5626 0x24A5A +0x5627 0x24A5B +0x5628 0x24A67 +0x5629 0x24A5C +0x562C 0x24A6A +0x562D 0x24A5D +0x562E 0x24A3D +0x562F 0x24A5E +0x5630 0x24A65 +0x5631 0x24CE1 +0x5632 0x24CCD +0x5633 0x2A011 +0x5634 0x24E6F +0x5635 0x24E70 +0x5636 0x2501A +0x5637 0x2509A +0x5638 0x2509B +0x5639 0x2509C +0x563A 0x2509E +0x563B 0x2509F +0x563C 0x2F93F +0x563D 0x2528E +0x563F 0x253FD +0x5641 0x2555E +0x5642 0x2555F +0x5643 0x25560 +0x5644 0x25565 +0x5645 0x25567 +0x5646 0x25568 +0x5647 0x25569 +0x5649 0x2556A +0x564A 0x2558F +0x564B 0x2556B +0x564C 0x2556C +0x564D 0x2556D +0x564E 0x256F7 +0x564F 0x256F8 +0x5650 0x256F9 +0x5651 0x256E4 +0x5652 0x256FA +0x5653 0x258B1 +0x5654 0x25875 +0x5655 0x25876 +0x5656 0x259FF +0x5657 0x25A00 +0x5658 0x25A01 +0x5659 0x25A02 +0x565A 0x25A03 +0x565B 0x25AAE +0x565C 0x25AAD +0x565D 0x25C51 +0x565E 0x25C52 +0x5660 0x25C53 +0x5661 0x25C54 +0x5662 0x25C55 +0x5663 0x25C56 +0x5664 0x25C57 +0x5665 0x25C58 +0x5666 0x25C59 +0x5667 0x25C5A +0x5668 0x25C5B +0x5669 0x25C5C +0x566A 0x25C5D +0x566B 0x25C5E +0x566C 0x25C5F +0x566D 0x25C60 +0x566E 0x25C61 +0x566F 0x25C62 +0x5670 0x25C63 +0x5671 0x25C64 +0x5672 0x25C4C +0x5673 0x25C66 +0x5674 0x25EF1 +0x5675 0x25EF2 +0x5676 0x260F2 +0x5677 0x260F3 +0x5678 0x260F4 +0x5679 0x260F5 +0x567A 0x260F6 +0x567B 0x260F7 +0x567C 0x260F8 +0x567D 0x260F9 +0x567E 0x260FA +0x5721 0x2624C +0x5722 0x2624B +0x5723 0x2631B +0x5724 0x263CE +0x5725 0x263B3 +0x5726 0x2647F +0x5727 0x2F979 +0x5728 0x2F97C +0x5729 0x2651A +0x572A 0x265C4 +0x572B 0x265C5 +0x572C 0x265C6 +0x572D 0x265C7 +0x572E 0x265C8 +0x572F 0x265C9 +0x5731 0x26819 +0x5732 0x2681C +0x5733 0x2681A +0x5734 0x2694C +0x5735 0x2698E +0x5736 0x26A7E +0x5737 0x26EEB +0x5738 0x26EEC +0x5739 0x26EED +0x573A 0x26EEE +0x573B 0x26EEF +0x573C 0x26EF0 +0x573D 0x26EF1 +0x573E 0x26ED8 +0x573F 0x26ED9 +0x5740 0x26EDA +0x5741 0x26EDB +0x5742 0x26EF2 +0x5743 0x26EF3 +0x5744 0x26EF4 +0x5745 0x26F07 +0x5747 0x2F9AC +0x5749 0x26EF5 +0x574A 0x26F15 +0x574C 0x26EF6 +0x574D 0x26EF7 +0x574E 0x26EF8 +0x574F 0x26EF9 +0x5750 0x26EFA +0x5751 0x26EFB +0x5752 0x26EFC +0x5753 0x26EFD +0x5754 0x26EFE +0x5755 0x26FA7 +0x5756 0x26EFF +0x5757 0x26F00 +0x5758 0x26F01 +0x5759 0x26F02 +0x575A 0x26F03 +0x575B 0x26F04 +0x575C 0x26F05 +0x575D 0x271E9 +0x575E 0x271EA +0x575F 0x271EB +0x5760 0x273DE +0x5761 0x273DF +0x5763 0x273E0 +0x5764 0x273E1 +0x5765 0x273E2 +0x5766 0x273E3 +0x5767 0x2773E +0x5768 0x2773F +0x5769 0x27740 +0x576A 0x27741 +0x576B 0x27871 +0x576C 0x27872 +0x576D 0x27873 +0x576E 0x27A88 +0x576F 0x27A89 +0x5770 0x27A8A +0x5771 0x27A8B +0x5772 0x27A8C +0x5773 0x27A8D +0x5774 0x27A8E +0x5775 0x27A8F +0x5776 0x27A90 +0x5777 0x27A91 +0x5778 0x27A92 +0x577A 0x27CF1 +0x577B 0x27DBE +0x577C 0x27DBF +0x577D 0x27DC0 +0x577E 0x27DC1 +0x5821 0x27DC2 +0x5822 0x27DC3 +0x5823 0x27E6E +0x5824 0x27F37 +0x5825 0x27F57 +0x5826 0x27F38 +0x5827 0x27F39 +0x5828 0x27F3A +0x5829 0x27F3B +0x582A 0x27F3C +0x582B 0x27F3D +0x582C 0x27F3E +0x582D 0x27F27 +0x582E 0x27F3F +0x5831 0x280C0 +0x5832 0x280C1 +0x5834 0x28267 +0x5836 0x28268 +0x5837 0x28358 +0x5838 0x28365 +0x5839 0x28359 +0x583A 0x2835A +0x583B 0x28424 +0x583C 0x285CD +0x583D 0x285CE +0x583E 0x285CF +0x583F 0x285D2 +0x5840 0x2879F +0x5841 0x28722 +0x5842 0x2887D +0x5843 0x2887E +0x5844 0x289FF +0x5845 0x28A25 +0x5846 0x28A00 +0x5847 0x28A01 +0x5849 0x28A02 +0x584A 0x28A03 +0x584B 0x28A04 +0x584D 0x28A05 +0x584E 0x28A06 +0x584F 0x28A07 +0x5850 0x28A16 +0x5851 0x28A08 +0x5852 0x28A17 +0x5853 0x28A09 +0x5854 0x28A0A +0x5856 0x28A0B +0x5857 0x28A0C +0x5858 0x28A29 +0x585A 0x28A0D +0x585C 0x28A0E +0x585D 0x28A10 +0x585E 0x28A11 +0x585F 0x28A1D +0x5860 0x28A12 +0x5861 0x28A13 +0x5863 0x28A14 +0x5864 0x28A15 +0x5865 0x28C8D +0x5866 0x28D54 +0x5867 0x28D55 +0x5868 0x28D56 +0x5869 0x28F33 +0x586A 0x28F34 +0x586B 0x28F35 +0x586C 0x28F36 +0x586D 0x28FFA +0x586E 0x290E3 +0x586F 0x290E6 +0x5870 0x290ED +0x5871 0x290E7 +0x5872 0x290E8 +0x5873 0x290E9 +0x5874 0x290EA +0x5875 0x290EB +0x5876 0x29227 +0x5877 0x29220 +0x5878 0x2F9F8 +0x5879 0x2942A +0x587A 0x294C9 +0x587C 0x294CA +0x587D 0x294CB +0x587E 0x294D9 +0x5921 0x294CC +0x5922 0x294CD +0x5923 0x294CE +0x5925 0x295E1 +0x5926 0x2971B +0x5927 0x2971C +0x5928 0x2971D +0x5929 0x2971E +0x592A 0x29847 +0x592B 0x298D1 +0x592C 0x298C9 +0x592D 0x29AD0 +0x592E 0x29AD1 +0x592F 0x29B3F +0x5930 0x29B40 +0x5931 0x29B41 +0x5932 0x2FA09 +0x5933 0x29B42 +0x5934 0x29CC4 +0x5935 0x29D9B +0x5936 0x29D92 +0x5937 0x29D93 +0x5939 0x29D94 +0x593A 0x29D95 +0x593D 0x29FF3 +0x593E 0x29FF4 +0x593F 0x29FF5 +0x5940 0x29FF6 +0x5941 0x2A260 +0x5942 0x2A29E +0x5943 0x2A2A0 +0x5944 0x2A2A1 +0x5945 0x2A31C +0x5946 0x2A39F +0x5947 0x20056 +0x5948 0x20412 +0x5949 0x2041F +0x594A 0x20415 +0x594B 0x20416 +0x594C 0x20417 +0x594D 0x2F80C +0x594E 0x20418 +0x594F 0x204C2 +0x5950 0x204C3 +0x5951 0x204C4 +0x5952 0x205A1 +0x5953 0x2061B +0x5954 0x2061C +0x5955 0x20671 +0x5956 0x20813 +0x5957 0x20B17 +0x5958 0x20B8F +0x5959 0x2105F +0x595A 0x21060 +0x595B 0x210AC +0x595E 0x21061 +0x595F 0x21062 +0x5960 0x21063 +0x5961 0x21064 +0x5962 0x21065 +0x5964 0x21499 +0x5965 0x2149A +0x5966 0x2149B +0x5967 0x2149C +0x5968 0x2149D +0x5969 0x2149E +0x596A 0x2149F +0x596B 0x214A0 +0x596C 0x218DA +0x596D 0x218DB +0x596E 0x218DC +0x596F 0x218DD +0x5970 0x218DE +0x5971 0x218DF +0x5972 0x21AD5 +0x5973 0x21AD6 +0x5974 0x21AD7 +0x5975 0x21AD8 +0x5976 0x21AE0 +0x5977 0x21BB4 +0x5979 0x21F6E +0x597A 0x21F6F +0x597B 0x21F70 +0x597C 0x22163 +0x597E 0x222D5 +0x5A21 0x222D6 +0x5A22 0x222D7 +0x5A23 0x222D8 +0x5A24 0x22430 +0x5A25 0x228B5 +0x5A26 0x228B6 +0x5A27 0x228C1 +0x5A28 0x228F7 +0x5A2A 0x228CB +0x5A2B 0x228E8 +0x5A2D 0x228E9 +0x5A2E 0x228B7 +0x5A2F 0x22A15 +0x5A30 0x22DE6 +0x5A31 0x22DE7 +0x5A32 0x22DE8 +0x5A33 0x22DE9 +0x5A34 0x22DEA +0x5A35 0x22DEB +0x5A36 0x2F8CA +0x5A37 0x2300B +0x5A38 0x2300C +0x5A39 0x23064 +0x5A3A 0x232D4 +0x5A3B 0x232D5 +0x5A3C 0x232D6 +0x5A3D 0x232D8 +0x5A3E 0x233A5 +0x5A3F 0x2005B +0x5A40 0x2370F +0x5A41 0x23710 +0x5A43 0x23711 +0x5A44 0x23712 +0x5A45 0x23713 +0x5A46 0x23714 +0x5A47 0x23715 +0x5A48 0x23716 +0x5A49 0x23717 +0x5A4A 0x23718 +0x5A4B 0x23719 +0x5A4C 0x2371A +0x5A4D 0x2372F +0x5A4E 0x2371B +0x5A4F 0x2371C +0x5A50 0x2373F +0x5A51 0x2371D +0x5A52 0x2371E +0x5A53 0x2372C +0x5A54 0x2371F +0x5A55 0x23924 +0x5A56 0x239A4 +0x5A57 0x239A5 +0x5A58 0x26251 +0x5A59 0x23AFE +0x5A5A 0x23C11 +0x5A5B 0x23C12 +0x5A5C 0x23C13 +0x5A5D 0x23C54 +0x5A5E 0x2405E +0x5A5F 0x24021 +0x5A60 0x2403F +0x5A61 0x24040 +0x5A62 0x24041 +0x5A63 0x24042 +0x5A64 0x24043 +0x5A65 0x24044 +0x5A66 0x24020 +0x5A67 0x24045 +0x5A69 0x24046 +0x5A6A 0x240B0 +0x5A6B 0x24047 +0x5A6C 0x24057 +0x5A6D 0x24001 +0x5A6E 0x240B1 +0x5A6F 0x2405A +0x5A70 0x24048 +0x5A71 0x24404 +0x5A72 0x24405 +0x5A74 0x2444F +0x5A75 0x24450 +0x5A76 0x24406 +0x5A77 0x24407 +0x5A78 0x24408 +0x5A79 0x24409 +0x5A7A 0x2440A +0x5A7B 0x2440B +0x5A7C 0x2440C +0x5A7D 0x2440D +0x5A7E 0x2440E +0x5B21 0x2440F +0x5B22 0x24410 +0x5B23 0x24411 +0x5B24 0x24533 +0x5B25 0x24534 +0x5B26 0x24535 +0x5B27 0x245FC +0x5B28 0x245FD +0x5B29 0x248B0 +0x5B2A 0x248B1 +0x5B2B 0x248B2 +0x5B2C 0x248B3 +0x5B2E 0x24A7B +0x5B2F 0x24A7C +0x5B30 0x24A7D +0x5B31 0x24A7E +0x5B32 0x24A7F +0x5B33 0x24A80 +0x5B34 0x24A81 +0x5B35 0x24A82 +0x5B36 0x24BF9 +0x5B37 0x24CDA +0x5B38 0x24EA1 +0x5B3B 0x250AD +0x5B3C 0x250AE +0x5B3E 0x252C8 +0x5B3F 0x252C9 +0x5B40 0x252CA +0x5B41 0x25582 +0x5B42 0x25583 +0x5B43 0x25584 +0x5B44 0x25585 +0x5B45 0x25586 +0x5B46 0x25587 +0x5B47 0x25588 +0x5B48 0x25589 +0x5B49 0x2558A +0x5B4B 0x25707 +0x5B4C 0x25708 +0x5B4D 0x25701 +0x5B4E 0x25709 +0x5B4F 0x25702 +0x5B50 0x2570A +0x5B51 0x2570B +0x5B52 0x2570C +0x5B53 0x258A7 +0x5B54 0x25898 +0x5B55 0x25899 +0x5B56 0x2589A +0x5B57 0x2589B +0x5B58 0x2589C +0x5B5A 0x2589D +0x5B5B 0x25A1A +0x5B5C 0x25AB2 +0x5B5D 0x25CB0 +0x5B5E 0x25CB1 +0x5B60 0x25CB2 +0x5B61 0x25CB3 +0x5B62 0x25CB4 +0x5B63 0x25CB5 +0x5B64 0x25CB6 +0x5B65 0x25CC0 +0x5B66 0x25CB7 +0x5B67 0x25CB8 +0x5B68 0x25CB9 +0x5B69 0x25CBA +0x5B6A 0x25D1D +0x5B6B 0x25F0C +0x5B6C 0x25F0D +0x5B6D 0x25F0E +0x5B6E 0x25F35 +0x5B6F 0x25F0F +0x5B70 0x25F10 +0x5B71 0x25F11 +0x5B72 0x25F12 +0x5B73 0x26122 +0x5B74 0x26123 +0x5B75 0x26124 +0x5B77 0x26125 +0x5B78 0x26126 +0x5B79 0x26127 +0x5B7A 0x26128 +0x5B7B 0x26129 +0x5B7C 0x2612A +0x5B7D 0x2612B +0x5B7E 0x2612C +0x5C21 0x2612D +0x5C22 0x2612E +0x5C23 0x26252 +0x5C24 0x26253 +0x5C25 0x26319 +0x5C26 0x263BF +0x5C27 0x2648B +0x5C28 0x2648C +0x5C29 0x26523 +0x5C2A 0x26524 +0x5C2B 0x265F1 +0x5C2C 0x265D8 +0x5C2D 0x2F97F +0x5C2E 0x2684E +0x5C2F 0x2684F +0x5C30 0x26855 +0x5C31 0x26850 +0x5C32 0x26851 +0x5C33 0x26852 +0x5C34 0x26853 +0x5C35 0x26802 +0x5C36 0x26854 +0x5C37 0x268F1 +0x5C38 0x26924 +0x5C39 0x26AD1 +0x5C3A 0x26F7C +0x5C3B 0x26F7D +0x5C3C 0x26F7E +0x5C3D 0x26F7F +0x5C3E 0x26F80 +0x5C3F 0x26F9F +0x5C40 0x26F81 +0x5C41 0x26F82 +0x5C42 0x26F83 +0x5C43 0x26F84 +0x5C44 0x26F85 +0x5C45 0x26F86 +0x5C46 0x26F87 +0x5C47 0x26F88 +0x5C48 0x26F9B +0x5C49 0x26F89 +0x5C4A 0x26F8A +0x5C4B 0x26F8B +0x5C4C 0x26F8C +0x5C4E 0x26FA1 +0x5C4F 0x26F8D +0x5C50 0x26F8E +0x5C51 0x271F3 +0x5C52 0x271F4 +0x5C53 0x271F5 +0x5C54 0x27424 +0x5C55 0x27425 +0x5C56 0x27426 +0x5C57 0x27427 +0x5C58 0x27428 +0x5C59 0x27429 +0x5C5A 0x2742A +0x5C5C 0x2742B +0x5C5D 0x275CD +0x5C5E 0x27601 +0x5C5F 0x2258D +0x5C60 0x27770 +0x5C61 0x27880 +0x5C62 0x27881 +0x5C63 0x27AC0 +0x5C64 0x27AC1 +0x5C65 0x27AC2 +0x5C66 0x27AC3 +0x5C67 0x27AC4 +0x5C68 0x27AC5 +0x5C69 0x27AC6 +0x5C6A 0x27AC7 +0x5C6B 0x27AC8 +0x5C6C 0x27CFE +0x5C6E 0x27DD9 +0x5C6F 0x27DDC +0x5C70 0x27DDA +0x5C71 0x27E75 +0x5C72 0x27F58 +0x5C73 0x27F59 +0x5C74 0x27F5A +0x5C75 0x27F5B +0x5C76 0x27F5C +0x5C77 0x280EC +0x5C79 0x280F3 +0x5C7A 0x28272 +0x5C7B 0x28273 +0x5C7C 0x28382 +0x5C7D 0x28383 +0x5C7E 0x2842A +0x5D21 0x2842B +0x5D22 0x2842C +0x5D23 0x2842D +0x5D24 0x285F6 +0x5D25 0x28600 +0x5D26 0x285F7 +0x5D27 0x285F8 +0x5D28 0x285F9 +0x5D2A 0x28894 +0x5D2B 0x28895 +0x5D2C 0x28896 +0x5D2D 0x2891B +0x5D2E 0x28A86 +0x5D2F 0x28A4C +0x5D30 0x28A4D +0x5D31 0x28A83 +0x5D33 0x28A82 +0x5D34 0x28A4E +0x5D35 0x28A4F +0x5D36 0x28A50 +0x5D37 0x28A51 +0x5D38 0x28A81 +0x5D3A 0x28A52 +0x5D3B 0x28A53 +0x5D3C 0x28A54 +0x5D3D 0x28A55 +0x5D3F 0x28A56 +0x5D40 0x28A57 +0x5D42 0x28A58 +0x5D43 0x28A5B +0x5D44 0x28A5C +0x5D45 0x28A5D +0x5D46 0x28A5E +0x5D47 0x28A5F +0x5D48 0x28A60 +0x5D49 0x28A61 +0x5D4A 0x28A7C +0x5D4B 0x28A62 +0x5D4E 0x28A63 +0x5D4F 0x28A64 +0x5D50 0x28D73 +0x5D51 0x28F45 +0x5D52 0x28F46 +0x5D53 0x28F47 +0x5D54 0x28F4C +0x5D55 0x29012 +0x5D57 0x29013 +0x5D58 0x29139 +0x5D59 0x29103 +0x5D5A 0x2910D +0x5D5B 0x29230 +0x5D5C 0x292D5 +0x5D5D 0x293C0 +0x5D5E 0x294F2 +0x5D5F 0x294F3 +0x5D60 0x294F4 +0x5D61 0x294F5 +0x5D62 0x294F6 +0x5D63 0x294F7 +0x5D64 0x295FA +0x5D65 0x295FB +0x5D66 0x29745 +0x5D67 0x29746 +0x5D68 0x29849 +0x5D69 0x298E7 +0x5D6A 0x298E8 +0x5D6B 0x29AD8 +0x5D6C 0x29AD9 +0x5D6D 0x29B55 +0x5D6E 0x29B56 +0x5D6F 0x29B57 +0x5D70 0x29CDA +0x5D71 0x29CDB +0x5D72 0x29CDC +0x5D73 0x29DB8 +0x5D74 0x29DB9 +0x5D75 0x29DBA +0x5D77 0x29DBB +0x5D78 0x29F89 +0x5D79 0x29DBC +0x5D7A 0x2A030 +0x5D7B 0x2A031 +0x5D7C 0x2A032 +0x5D7D 0x2A033 +0x5E21 0x2A034 +0x5E22 0x2A035 +0x5E23 0x2A036 +0x5E25 0x2A037 +0x5E26 0x2A2B2 +0x5E27 0x2A390 +0x5E28 0x2A326 +0x5E29 0x2A3A2 +0x5E2A 0x2A438 +0x5E2C 0x2042E +0x5E2E 0x2042F +0x5E2F 0x20430 +0x5E30 0x2042A +0x5E31 0x2042B +0x5E32 0x204C9 +0x5E33 0x20537 +0x5E34 0x20620 +0x5E35 0x20672 +0x5E36 0x2081F +0x5E37 0x20965 +0x5E38 0x209CA +0x5E39 0x20AC0 +0x5E3A 0x20AC1 +0x5E3B 0x20AC2 +0x5E3C 0x210B7 +0x5E3D 0x210B8 +0x5E3E 0x210B9 +0x5E3F 0x210BA +0x5E40 0x210BB +0x5E43 0x210BC +0x5E44 0x210BD +0x5E45 0x210BE +0x5E46 0x210F2 +0x5E47 0x214B5 +0x5E48 0x214B7 +0x5E49 0x214B8 +0x5E4A 0x210DF +0x5E4B 0x214B9 +0x5E4C 0x214D5 +0x5E4D 0x214BA +0x5E4E 0x214BB +0x5E4F 0x2154A +0x5E50 0x218F2 +0x5E51 0x218F3 +0x5E52 0x218F4 +0x5E53 0x218FA +0x5E54 0x218F5 +0x5E55 0x21902 +0x5E56 0x21AE2 +0x5E57 0x21AE3 +0x5E58 0x21F8E +0x5E59 0x21F8B +0x5E5A 0x222E4 +0x5E5B 0x222EB +0x5E5C 0x222E5 +0x5E5D 0x22435 +0x5E5E 0x22593 +0x5E5F 0x228EA +0x5E60 0x228EB +0x5E62 0x228EC +0x5E63 0x228ED +0x5E64 0x22917 +0x5E65 0x228EE +0x5E66 0x228EF +0x5E67 0x228F0 +0x5E68 0x22E0E +0x5E69 0x22E0F +0x5E6A 0x22E10 +0x5E6B 0x22E19 +0x5E6C 0x22E18 +0x5E6D 0x22E11 +0x5E6E 0x22E12 +0x5E6F 0x22E13 +0x5E70 0x2F8C7 +0x5E71 0x22E14 +0x5E72 0x22E15 +0x5E74 0x22E16 +0x5E75 0x23065 +0x5E76 0x232EA +0x5E77 0x232EB +0x5E78 0x232EC +0x5E79 0x232ED +0x5E7B 0x232EE +0x5E7C 0x233AC +0x5E7D 0x237C2 +0x5E7E 0x23769 +0x5F21 0x23781 +0x5F22 0x2376A +0x5F23 0x2376B +0x5F24 0x2376C +0x5F25 0x2376D +0x5F26 0x2376E +0x5F27 0x2376F +0x5F28 0x23770 +0x5F2A 0x23771 +0x5F2B 0x23772 +0x5F2C 0x23773 +0x5F2D 0x2378C +0x5F2E 0x23774 +0x5F2F 0x23775 +0x5F30 0x23776 +0x5F31 0x23C24 +0x5F32 0x23C2A +0x5F33 0x2408E +0x5F34 0x240AF +0x5F35 0x2408F +0x5F36 0x24090 +0x5F37 0x24091 +0x5F39 0x24092 +0x5F3A 0x24093 +0x5F3B 0x24094 +0x5F3C 0x24095 +0x5F3D 0x24096 +0x5F3E 0x24097 +0x5F3F 0x24098 +0x5F40 0x24099 +0x5F41 0x2409A +0x5F42 0x2409B +0x5F43 0x2409C +0x5F44 0x24439 +0x5F45 0x2443B +0x5F46 0x2443A +0x5F47 0x2443C +0x5F48 0x2443D +0x5F49 0x2443E +0x5F4A 0x2443F +0x5F4B 0x24470 +0x5F4C 0x24440 +0x5F4D 0x24441 +0x5F4E 0x248C0 +0x5F4F 0x248C1 +0x5F50 0x24AA4 +0x5F51 0x24A97 +0x5F52 0x24AA5 +0x5F53 0x24A98 +0x5F54 0x24A99 +0x5F55 0x24A9A +0x5F57 0x24A9B +0x5F58 0x24AA6 +0x5F59 0x24A9C +0x5F5A 0x24A9D +0x5F5B 0x24A9E +0x5F5C 0x24A9F +0x5F5D 0x28ACE +0x5F5E 0x24AC8 +0x5F5F 0x24AA0 +0x5F60 0x24B19 +0x5F61 0x24C0D +0x5F62 0x250BF +0x5F63 0x252E9 +0x5F64 0x252EA +0x5F65 0x255A2 +0x5F66 0x255A3 +0x5F67 0x255A4 +0x5F68 0x255A5 +0x5F69 0x255A6 +0x5F6A 0x25715 +0x5F6B 0x25717 +0x5F6C 0x258BF +0x5F6D 0x258C0 +0x5F6E 0x258C1 +0x5F6F 0x258C2 +0x5F70 0x258C3 +0x5F71 0x258C4 +0x5F72 0x258C5 +0x5F73 0x2190D +0x5F74 0x25A23 +0x5F75 0x25ABE +0x5F76 0x25D03 +0x5F77 0x25D04 +0x5F78 0x25D05 +0x5F79 0x25D06 +0x5F7A 0x25D07 +0x5F7B 0x25D08 +0x5F7C 0x25D09 +0x5F7D 0x25D0A +0x5F7E 0x25D0B +0x6021 0x25D0C +0x6022 0x25D20 +0x6023 0x25D0D +0x6024 0x25D0E +0x6025 0x25D0F +0x6027 0x25F26 +0x6028 0x25F27 +0x6029 0x25F28 +0x602A 0x2615D +0x602B 0x2615E +0x602C 0x2615F +0x602D 0x26160 +0x602E 0x26161 +0x602F 0x26162 +0x6030 0x26163 +0x6031 0x26164 +0x6032 0x26165 +0x6033 0x26257 +0x6034 0x263CF +0x6035 0x263D0 +0x6036 0x26499 +0x6037 0x2649A +0x6038 0x265EA +0x6039 0x265EB +0x603A 0x265EC +0x603B 0x2687E +0x603C 0x2687F +0x603D 0x26880 +0x6040 0x26881 +0x6041 0x26882 +0x6042 0x268F3 +0x6043 0x26925 +0x6044 0x2699F +0x6045 0x269A0 +0x6046 0x269F3 +0x6047 0x26A00 +0x6048 0x26FEB +0x6049 0x26FEC +0x604A 0x26FED +0x604B 0x26FEE +0x604C 0x26FEF +0x604F 0x26FF0 +0x6050 0x26FF1 +0x6051 0x26FF2 +0x6052 0x26FF3 +0x6053 0x26FF4 +0x6054 0x26FF5 +0x6055 0x26FF9 +0x6056 0x26FFA +0x6057 0x26FFB +0x6058 0x26FFC +0x6059 0x26FFD +0x605A 0x26FFE +0x605B 0x26FFF +0x605C 0x27000 +0x605D 0x2F9AE +0x605E 0x27001 +0x605F 0x27002 +0x6060 0x27203 +0x6061 0x27486 +0x6062 0x27479 +0x6064 0x2747A +0x6065 0x2747B +0x6066 0x2747C +0x6067 0x27484 +0x6068 0x2747D +0x6069 0x2747E +0x606A 0x2747F +0x606B 0x27786 +0x606C 0x27787 +0x606D 0x27800 +0x606E 0x27801 +0x606F 0x27888 +0x6070 0x27889 +0x6071 0x2788A +0x6072 0x27AF5 +0x6074 0x27B25 +0x6075 0x27AF6 +0x6076 0x27DEB +0x6077 0x27DEC +0x6078 0x27DED +0x6079 0x27DEE +0x607B 0x27DEF +0x607C 0x27DF0 +0x607D 0x27F6C +0x607E 0x28121 +0x6121 0x28122 +0x6122 0x28123 +0x6123 0x28124 +0x6124 0x28125 +0x6125 0x28126 +0x6126 0x2827B +0x6127 0x2827C +0x6128 0x28391 +0x6129 0x28392 +0x612A 0x28393 +0x612B 0x2860E +0x612C 0x2860F +0x612D 0x28610 +0x612E 0x288B3 +0x612F 0x28936 +0x6130 0x28AC6 +0x6131 0x28AA1 +0x6132 0x28AA2 +0x6134 0x28AA3 +0x6135 0x28ACC +0x6136 0x28AA4 +0x6137 0x28AA5 +0x6138 0x28AA6 +0x6139 0x28ACB +0x613A 0x28AA7 +0x613C 0x28AA8 +0x613D 0x28AA9 +0x613E 0x28AAA +0x6140 0x28AAB +0x6141 0x28AAC +0x6142 0x28AAD +0x6144 0x28AAE +0x6145 0x28AAF +0x6146 0x28AB0 +0x6147 0x28D8C +0x6148 0x28D8D +0x6149 0x28D8E +0x614A 0x2F9F1 +0x614B 0x28D92 +0x614C 0x28D8F +0x614D 0x28F52 +0x614E 0x28F53 +0x614F 0x28F54 +0x6150 0x28F55 +0x6151 0x29129 +0x6153 0x292F3 +0x6154 0x292F4 +0x6155 0x2950D +0x6156 0x2950E +0x6157 0x2950F +0x6158 0x29510 +0x6159 0x29614 +0x615A 0x29771 +0x615B 0x29772 +0x615C 0x2990F +0x615D 0x29904 +0x615E 0x29906 +0x6160 0x29907 +0x6161 0x29ADC +0x6162 0x29ADD +0x6163 0x29B6D +0x6164 0x29B79 +0x6165 0x29B6E +0x6167 0x29CEC +0x6168 0x29DDD +0x6169 0x29DDE +0x616A 0x29DDF +0x616B 0x29DE0 +0x616C 0x29DE1 +0x616D 0x29DE2 +0x616E 0x29DE3 +0x616F 0x29DE4 +0x6170 0x29E3A +0x6171 0x29DE5 +0x6173 0x29DE6 +0x6174 0x2A06B +0x6175 0x2A06C +0x6176 0x2444E +0x6178 0x2A2BD +0x6179 0x2A2BE +0x617A 0x2A2BF +0x617B 0x2A334 +0x617D 0x2A512 +0x617E 0x20440 +0x6221 0x20441 +0x6222 0x21102 +0x6223 0x21103 +0x6224 0x21104 +0x6225 0x21105 +0x6226 0x21106 +0x6227 0x214D7 +0x6228 0x214CC +0x6229 0x21698 +0x622A 0x21906 +0x622B 0x21907 +0x622C 0x219AF +0x622D 0x219B0 +0x622E 0x21AEA +0x622F 0x21AF2 +0x6230 0x21FA2 +0x6231 0x21FA3 +0x6232 0x21FA4 +0x6233 0x22176 +0x6234 0x222F5 +0x6235 0x222F6 +0x6236 0x222F7 +0x6238 0x2293B +0x6239 0x22925 +0x623A 0x2293A +0x623B 0x2293C +0x623C 0x2293D +0x623D 0x2293E +0x623E 0x22E37 +0x623F 0x22E38 +0x6240 0x22E39 +0x6241 0x22E3A +0x6242 0x22E3B +0x6243 0x22E3C +0x6244 0x22E3D +0x6245 0x22E3E +0x6246 0x22E3F +0x6247 0x22E4B +0x6249 0x22E40 +0x624A 0x23022 +0x624B 0x23067 +0x624C 0x230D3 +0x624D 0x232FA +0x624F 0x237BC +0x6252 0x237A5 +0x6254 0x237B6 +0x6256 0x237A6 +0x6257 0x237BB +0x6258 0x237A7 +0x6259 0x237A8 +0x625A 0x237A9 +0x625B 0x237AA +0x625C 0x237AB +0x625D 0x237AC +0x625E 0x237BF +0x625F 0x237AD +0x6260 0x237AE +0x6261 0x237AF +0x6262 0x2392E +0x6263 0x23B00 +0x6264 0x2409D +0x6265 0x2409E +0x6266 0x240CB +0x6267 0x240CC +0x6268 0x240CD +0x6269 0x240CE +0x626A 0x240CF +0x626C 0x2409F +0x626D 0x240D0 +0x626E 0x240D1 +0x626F 0x240D2 +0x6270 0x240D3 +0x6271 0x240D4 +0x6274 0x2445D +0x6275 0x2445E +0x6276 0x2445F +0x6277 0x24460 +0x6279 0x24ABA +0x627A 0x24ABC +0x627C 0x24AB5 +0x627D 0x24ABD +0x627E 0x24AB6 +0x6321 0x24AB7 +0x6322 0x24AB8 +0x6323 0x24AA8 +0x6324 0x2F932 +0x6325 0x24BFE +0x6326 0x24BFC +0x6327 0x24EE1 +0x6328 0x250C4 +0x6329 0x250C5 +0x632A 0x25314 +0x632B 0x255AE +0x632C 0x255AF +0x632D 0x255B0 +0x632E 0x255B1 +0x632F 0x255B9 +0x6330 0x258E7 +0x6331 0x25D46 +0x6333 0x25D47 +0x6334 0x25D48 +0x6335 0x25D49 +0x6336 0x25D1E +0x6337 0x25D1F +0x6338 0x25D4A +0x6339 0x25D4B +0x633A 0x25D4C +0x633B 0x25D4D +0x633C 0x25D4E +0x633E 0x25F46 +0x633F 0x25F4B +0x6340 0x26190 +0x6341 0x26191 +0x6343 0x26192 +0x6344 0x26193 +0x6345 0x26194 +0x6346 0x2625B +0x6347 0x265F2 +0x6348 0x265F8 +0x6349 0x265F9 +0x634A 0x26894 +0x634B 0x268A4 +0x634C 0x26897 +0x634D 0x26898 +0x634E 0x26929 +0x634F 0x269AE +0x6350 0x26AAF +0x6351 0x27059 +0x6352 0x2705A +0x6354 0x2705B +0x6355 0x2705C +0x6356 0x2705D +0x6357 0x2705E +0x6358 0x2705F +0x6359 0x27060 +0x635A 0x27061 +0x635B 0x26FAA +0x635C 0x27062 +0x635D 0x27063 +0x635E 0x27064 +0x635F 0x27065 +0x6360 0x27066 +0x6361 0x27067 +0x6362 0x27068 +0x6363 0x27069 +0x6364 0x2706A +0x6365 0x2706B +0x6366 0x2706C +0x6367 0x2706D +0x6368 0x2706E +0x6369 0x2706F +0x636B 0x274B2 +0x636C 0x274B3 +0x636D 0x274B4 +0x636F 0x274B5 +0x6370 0x274B6 +0x6371 0x274B7 +0x6372 0x274B8 +0x6373 0x274B9 +0x6374 0x274BA +0x6375 0x274BB +0x6376 0x27788 +0x6378 0x27B19 +0x6379 0x27B1A +0x637A 0x27B1B +0x637B 0x27C16 +0x637C 0x27E0C +0x637D 0x27E0D +0x637E 0x27E0E +0x6421 0x27E0F +0x6423 0x27F83 +0x6424 0x27F84 +0x6425 0x27F85 +0x6426 0x28283 +0x6427 0x28284 +0x6428 0x283B0 +0x642A 0x28626 +0x642B 0x28627 +0x642C 0x28636 +0x642D 0x28628 +0x642E 0x28629 +0x6431 0x28AE7 +0x6432 0x28AE8 +0x6433 0x28AE9 +0x6435 0x28AEA +0x6436 0x28AEB +0x6438 0x28AEC +0x6439 0x28AED +0x643A 0x28AEE +0x643B 0x28AEF +0x643C 0x28AF0 +0x643D 0x28AF1 +0x643E 0x28B0C +0x643F 0x28AF2 +0x6440 0x28AF3 +0x6441 0x28AF4 +0x6442 0x28AF5 +0x6443 0x28AF6 +0x6444 0x28AF7 +0x6445 0x28AF8 +0x6446 0x28DA3 +0x6447 0x28DA4 +0x6448 0x28DA5 +0x6449 0x28DA6 +0x644A 0x28DA7 +0x644C 0x28F5C +0x644E 0x2914B +0x644F 0x291E1 +0x6450 0x29315 +0x6452 0x29316 +0x6453 0x29317 +0x6454 0x2952C +0x6455 0x2952D +0x6456 0x29622 +0x6457 0x29623 +0x6458 0x29796 +0x6459 0x29797 +0x645B 0x2992E +0x645C 0x29930 +0x645D 0x29931 +0x645F 0x29ADF +0x6460 0x29B8B +0x6461 0x29B8C +0x6463 0x29B8D +0x6464 0x29CFC +0x6465 0x29CFD +0x6466 0x29CFE +0x6467 0x29CFF +0x6468 0x29E17 +0x6469 0x29E2D +0x646A 0x29E18 +0x646C 0x29E19 +0x646E 0x29E12 +0x646F 0x29E1A +0x6470 0x29E1B +0x6471 0x29E1C +0x6474 0x2A097 +0x6476 0x2A098 +0x6477 0x2A099 +0x6479 0x2A3C4 +0x647A 0x2044F +0x647B 0x204CD +0x647C 0x20AC7 +0x647D 0x2111C +0x647E 0x2111D +0x6521 0x2111E +0x6522 0x214E7 +0x6523 0x214E9 +0x6524 0x214EA +0x6525 0x214EB +0x6526 0x21915 +0x6527 0x21CF1 +0x6528 0x21CF2 +0x6529 0x21FB6 +0x652A 0x225A0 +0x652B 0x2294A +0x652C 0x22A20 +0x652D 0x22E60 +0x652E 0x22E61 +0x652F 0x22E41 +0x6530 0x22E62 +0x6531 0x23303 +0x6532 0x23304 +0x6533 0x237D9 +0x6534 0x237DA +0x6535 0x237DB +0x6536 0x237DC +0x6537 0x237DD +0x6539 0x237DE +0x653A 0x237DF +0x653B 0x237E0 +0x653C 0x237E1 +0x653D 0x237E2 +0x653F 0x237E3 +0x6541 0x23C31 +0x6542 0x24105 +0x6543 0x24106 +0x6544 0x24107 +0x6545 0x24472 +0x6546 0x2448A +0x6547 0x2448B +0x6548 0x24488 +0x654A 0x2448C +0x654B 0x2448D +0x654C 0x2448E +0x654D 0x2448F +0x654E 0x24490 +0x654F 0x24542 +0x6550 0x24543 +0x6552 0x24AC1 +0x6553 0x24AC2 +0x6554 0x24AC3 +0x6555 0x24AC4 +0x6556 0x250CB +0x6557 0x25322 +0x655A 0x255C3 +0x655B 0x255C4 +0x655C 0x255C5 +0x655D 0x255C6 +0x655E 0x2571E +0x655F 0x25725 +0x6560 0x258F3 +0x6561 0x258F4 +0x6563 0x258F5 +0x6564 0x25A38 +0x6565 0x25A48 +0x6566 0x25ACA +0x6568 0x25D7A +0x6569 0x25D7B +0x656A 0x25F55 +0x656B 0x25F56 +0x656C 0x261B1 +0x656D 0x261B2 +0x656E 0x261B3 +0x6570 0x261B4 +0x6571 0x261B5 +0x6572 0x264A4 +0x6573 0x26600 +0x6574 0x26601 +0x6575 0x26602 +0x6576 0x268AC +0x6578 0x269B3 +0x6579 0x270B6 +0x657A 0x270B7 +0x657B 0x270B8 +0x657C 0x270B9 +0x657D 0x270BA +0x657E 0x270BB +0x6621 0x270BC +0x6622 0x270BD +0x6623 0x270BE +0x6624 0x270BF +0x6625 0x270C0 +0x6626 0x270C1 +0x6627 0x270C2 +0x6628 0x270C3 +0x6629 0x270C4 +0x662A 0x270C5 +0x662B 0x270C6 +0x662C 0x270C7 +0x662D 0x274E3 +0x662E 0x274E4 +0x662F 0x274E5 +0x6630 0x274E6 +0x6631 0x274E7 +0x6633 0x277B5 +0x6634 0x277A1 +0x6635 0x27895 +0x6636 0x27B3B +0x6637 0x27B3C +0x6638 0x27B3D +0x6639 0x27B3E +0x663A 0x27C14 +0x663B 0x27E20 +0x663C 0x27E21 +0x663D 0x27E22 +0x663E 0x27E23 +0x663F 0x27E24 +0x6640 0x27F96 +0x6641 0x27F97 +0x6642 0x27F98 +0x6643 0x28194 +0x6644 0x28195 +0x6645 0x28196 +0x6646 0x28197 +0x6647 0x28198 +0x6648 0x2828F +0x6649 0x28290 +0x664A 0x283BC +0x664B 0x2843B +0x664C 0x2863D +0x664E 0x288DF +0x664F 0x2891E +0x6650 0x28B23 +0x6651 0x28B24 +0x6652 0x28B49 +0x6653 0x28B25 +0x6654 0x28B26 +0x6655 0x28B27 +0x6656 0x28B28 +0x6658 0x28B29 +0x6659 0x28B2A +0x665A 0x28B2E +0x665B 0x28B2F +0x665C 0x28B4E +0x665D 0x28B30 +0x665E 0x2F9EB +0x665F 0x28B31 +0x6660 0x28B32 +0x6661 0x28B33 +0x6662 0x28B34 +0x6663 0x28B35 +0x6664 0x28B36 +0x6666 0x28B37 +0x6667 0x28B50 +0x6668 0x28B38 +0x666A 0x28B39 +0x666B 0x28B3A +0x666C 0x28B3B +0x666D 0x28B3C +0x666E 0x28B3D +0x666F 0x28B3E +0x6670 0x28DB8 +0x6671 0x28DB9 +0x6672 0x28F62 +0x6673 0x28F63 +0x6674 0x29041 +0x6675 0x2916D +0x6677 0x29352 +0x6678 0x29337 +0x6679 0x293DB +0x667A 0x2953F +0x667B 0x29634 +0x667C 0x2985B +0x667D 0x29946 +0x667E 0x2995A +0x6721 0x2995B +0x6722 0x29AE1 +0x6723 0x29AE2 +0x6724 0x29AE3 +0x6725 0x29AE4 +0x6726 0x29BA7 +0x6727 0x29BA8 +0x6728 0x29BA9 +0x6729 0x29D0F +0x672A 0x29D2B +0x672B 0x29E56 +0x672C 0x29E57 +0x672D 0x29E58 +0x672E 0x29E5E +0x672F 0x29E59 +0x6730 0x29E5A +0x6731 0x29E5B +0x6732 0x29E5C +0x6734 0x29E68 +0x6736 0x2A12C +0x6737 0x2A0E2 +0x6738 0x2A0F3 +0x6739 0x2A2D2 +0x673A 0x2A356 +0x673B 0x2A3CE +0x673C 0x2A461 +0x673D 0x2A69B +0x673E 0x2A6B4 +0x673F 0x2045C +0x6740 0x2F810 +0x6741 0x204D2 +0x6742 0x20571 +0x6743 0x20673 +0x6744 0x2082C +0x6745 0x20B94 +0x6747 0x2113F +0x6748 0x21140 +0x6749 0x214F9 +0x674A 0x214FA +0x674B 0x214FD +0x674C 0x214FB +0x674D 0x2191C +0x674E 0x2191D +0x674F 0x21AFF +0x6750 0x21B00 +0x6751 0x21CF7 +0x6752 0x24CFE +0x6754 0x224B6 +0x6755 0x22954 +0x6756 0x22E77 +0x6757 0x22E79 +0x6758 0x22E7A +0x6759 0x22E7B +0x675A 0x23069 +0x675B 0x23802 +0x675C 0x23803 +0x675D 0x23804 +0x675E 0x23805 +0x675F 0x23806 +0x6760 0x23807 +0x6761 0x23808 +0x6762 0x23809 +0x6763 0x2380A +0x6764 0x2380B +0x6765 0x23835 +0x6767 0x23C39 +0x6768 0x2411E +0x6769 0x2411F +0x676A 0x24120 +0x676B 0x24121 +0x676D 0x24122 +0x676E 0x24123 +0x676F 0x24124 +0x6770 0x2412C +0x6771 0x244B3 +0x6772 0x244B5 +0x6773 0x244B6 +0x6774 0x244B7 +0x6775 0x244B8 +0x6776 0x24AD0 +0x6777 0x24CFA +0x6778 0x24F07 +0x6779 0x24FBD +0x677A 0x250D7 +0x677B 0x250D2 +0x677C 0x255DB +0x677D 0x255D6 +0x677E 0x2045D +0x6821 0x25A43 +0x6822 0x25ACF +0x6823 0x25DA3 +0x6824 0x25DA4 +0x6825 0x25DA5 +0x6826 0x25DA6 +0x6827 0x25DA7 +0x6828 0x25DA8 +0x6829 0x25DA9 +0x682A 0x25F5D +0x682B 0x25F5E +0x682C 0x261C9 +0x682D 0x261CA +0x682E 0x261CB +0x682F 0x261CC +0x6830 0x26606 +0x6831 0x26607 +0x6833 0x268C5 +0x6834 0x268F5 +0x6835 0x269B4 +0x6836 0x269B8 +0x6837 0x269B5 +0x6838 0x270FD +0x683A 0x270FE +0x683B 0x270FF +0x683C 0x27100 +0x683D 0x27101 +0x683E 0x27102 +0x683F 0x27103 +0x6840 0x27109 +0x6841 0x27104 +0x6842 0x27105 +0x6843 0x27106 +0x6844 0x27107 +0x6845 0x27511 +0x6846 0x27512 +0x6847 0x27513 +0x6848 0x27514 +0x6849 0x27515 +0x684B 0x27898 +0x684C 0x27899 +0x684D 0x27E3C +0x684E 0x27E2D +0x684F 0x27E2E +0x6851 0x281BB +0x6852 0x281BC +0x6854 0x2843D +0x6855 0x28647 +0x6856 0x28648 +0x6857 0x28649 +0x6858 0x2864A +0x6859 0x287E1 +0x685A 0x287E7 +0x685B 0x288EB +0x685C 0x28920 +0x685D 0x28938 +0x685E 0x28B62 +0x685F 0x28B67 +0x6860 0x28B68 +0x6861 0x28B69 +0x6862 0x28B6A +0x6863 0x28B6B +0x6864 0x28B6D +0x6865 0x28B6E +0x6866 0x28B6F +0x6867 0x28B70 +0x6868 0x28B71 +0x6869 0x28B72 +0x686A 0x28B8F +0x686B 0x28B73 +0x686C 0x28B74 +0x686D 0x28B75 +0x686E 0x28B76 +0x686F 0x28B77 +0x6870 0x28DC9 +0x6871 0x28DCA +0x6873 0x28DCB +0x6874 0x28DCC +0x6875 0x28DCD +0x6876 0x29051 +0x6879 0x29245 +0x687A 0x29559 +0x687B 0x2955A +0x687C 0x2955B +0x687D 0x29640 +0x687E 0x297CF +0x6921 0x2985E +0x6922 0x2997B +0x6923 0x29A93 +0x6924 0x29BBC +0x6925 0x29D16 +0x6926 0x29D30 +0x6928 0x29E8D +0x6929 0x29E8E +0x692B 0x29E8F +0x692C 0x29E90 +0x692D 0x29E91 +0x692E 0x29E92 +0x692F 0x29E93 +0x6930 0x29E94 +0x6931 0x29E95 +0x6932 0x29E96 +0x6933 0x2A123 +0x6934 0x2A114 +0x6935 0x2A2DB +0x6936 0x2A40A +0x6937 0x2A5CE +0x6938 0x20466 +0x6939 0x20468 +0x693A 0x20467 +0x693B 0x204D3 +0x693C 0x21163 +0x693D 0x21504 +0x693E 0x2169E +0x693F 0x21926 +0x6940 0x2192A +0x6941 0x2296C +0x6942 0x22964 +0x6943 0x22E8F +0x6944 0x22E90 +0x6945 0x23034 +0x6946 0x2330E +0x6947 0x23825 +0x6948 0x23826 +0x6949 0x23827 +0x694B 0x23828 +0x694E 0x23829 +0x694F 0x2382A +0x6950 0x2382B +0x6951 0x2382C +0x6952 0x23C3E +0x6953 0x24142 +0x6954 0x24143 +0x6955 0x24133 +0x6956 0x244C1 +0x6957 0x244C2 +0x6958 0x244C3 +0x6959 0x24AD6 +0x695A 0x24AD7 +0x695B 0x255E1 +0x695C 0x255E2 +0x695D 0x2572B +0x695E 0x25AD1 +0x695F 0x25DCC +0x6960 0x25DCD +0x6961 0x25DCE +0x6962 0x25DCF +0x6963 0x261DE +0x6964 0x261DF +0x6965 0x261E0 +0x6966 0x261E1 +0x6967 0x268F6 +0x6968 0x2712C +0x696A 0x27154 +0x696B 0x2712D +0x696C 0x2712E +0x696D 0x27541 +0x696E 0x27542 +0x696F 0x277C7 +0x6970 0x278A0 +0x6971 0x278A1 +0x6972 0x27B70 +0x6973 0x27B71 +0x6974 0x27B72 +0x6976 0x27E34 +0x6977 0x27E35 +0x6978 0x27E36 +0x6979 0x27FA6 +0x697A 0x281CC +0x697C 0x28299 +0x697D 0x288F4 +0x697E 0x28B9B +0x6A21 0x28B9E +0x6A22 0x28B9F +0x6A23 0x28BA0 +0x6A24 0x28BA1 +0x6A25 0x28BA2 +0x6A26 0x28BA3 +0x6A27 0x28BA4 +0x6A28 0x28BA5 +0x6A29 0x28BA6 +0x6A2A 0x28BA7 +0x6A2B 0x28BA8 +0x6A2C 0x28DDB +0x6A2D 0x28DDC +0x6A2E 0x28DDD +0x6A2F 0x28DD7 +0x6A30 0x28DDE +0x6A31 0x28DDF +0x6A32 0x29059 +0x6A33 0x29446 +0x6A34 0x29565 +0x6A35 0x29649 +0x6A37 0x297DD +0x6A38 0x29995 +0x6A39 0x29996 +0x6A3A 0x29997 +0x6A3B 0x29BD4 +0x6A3C 0x29BD6 +0x6A3D 0x29D26 +0x6A40 0x29EC8 +0x6A41 0x29EC5 +0x6A42 0x29EC6 +0x6A43 0x29EC7 +0x6A44 0x2A151 +0x6A45 0x2A152 +0x6A46 0x2A153 +0x6A47 0x2A154 +0x6A48 0x2A155 +0x6A49 0x2A2DE +0x6A4B 0x2046D +0x6A4C 0x204D5 +0x6A4D 0x21172 +0x6A4E 0x221AE +0x6A4F 0x2230F +0x6A50 0x2296B +0x6A51 0x2296D +0x6A52 0x2296E +0x6A53 0x22978 +0x6A54 0x22E98 +0x6A55 0x22E99 +0x6A56 0x22E9A +0x6A57 0x23844 +0x6A58 0x2385C +0x6A59 0x23845 +0x6A5A 0x23B01 +0x6A5B 0x24158 +0x6A5C 0x24159 +0x6A5D 0x2415A +0x6A5F 0x244D9 +0x6A60 0x244D6 +0x6A61 0x24ADA +0x6A62 0x24ADF +0x6A63 0x24ADB +0x6A64 0x24D03 +0x6A65 0x255EF +0x6A67 0x25733 +0x6A68 0x25AD2 +0x6A69 0x25DE1 +0x6A6A 0x25F6F +0x6A6B 0x26264 +0x6A6C 0x2660E +0x6A6D 0x27150 +0x6A6E 0x27151 +0x6A6F 0x27152 +0x6A70 0x27556 +0x6A71 0x27557 +0x6A72 0x27558 +0x6A74 0x27B81 +0x6A75 0x27B82 +0x6A76 0x27C1D +0x6A77 0x27C1E +0x6A78 0x27E43 +0x6A79 0x27FAA +0x6A7A 0x288FD +0x6A7C 0x28BC6 +0x6A7D 0x28BC7 +0x6A7E 0x28BD9 +0x6B21 0x28BD7 +0x6B23 0x28BC8 +0x6B24 0x28BC9 +0x6B25 0x28BCA +0x6B26 0x28BCB +0x6B27 0x28BDA +0x6B29 0x28BCC +0x6B2A 0x28BCD +0x6B2B 0x28BCE +0x6B2C 0x28BCF +0x6B2D 0x28BD0 +0x6B2E 0x28BD1 +0x6B2F 0x28BBC +0x6B30 0x28DE1 +0x6B31 0x28DE2 +0x6B32 0x28DE3 +0x6B33 0x291A9 +0x6B34 0x2924E +0x6B35 0x29577 +0x6B38 0x299AC +0x6B39 0x299AD +0x6B3A 0x29AB6 +0x6B3B 0x29BE5 +0x6B3C 0x29EF8 +0x6B3D 0x29EEA +0x6B3E 0x29F8D +0x6B3F 0x29EEB +0x6B40 0x2A195 +0x6B41 0x2046E +0x6B42 0x204D8 +0x6B43 0x21183 +0x6B44 0x216A3 +0x6B45 0x21930 +0x6B46 0x21B0F +0x6B47 0x22979 +0x6B48 0x2297A +0x6B49 0x22EA7 +0x6B4A 0x22EA8 +0x6B4B 0x22EA9 +0x6B4C 0x22EAA +0x6B4D 0x23319 +0x6B4E 0x23850 +0x6B4F 0x23851 +0x6B50 0x23852 +0x6B52 0x23868 +0x6B53 0x23853 +0x6B54 0x23854 +0x6B55 0x248E2 +0x6B56 0x24ADC +0x6B57 0x25915 +0x6B58 0x25916 +0x6B59 0x25A4F +0x6B5A 0x25DF5 +0x6B5B 0x25DF6 +0x6B5C 0x25DF7 +0x6B5D 0x261F4 +0x6B5E 0x264CC +0x6B5F 0x2660F +0x6B60 0x27166 +0x6B61 0x27167 +0x6B63 0x27168 +0x6B64 0x278A4 +0x6B65 0x27B8B +0x6B66 0x27B8C +0x6B67 0x281FA +0x6B68 0x28BE6 +0x6B69 0x28BED +0x6B6A 0x28BEE +0x6B6B 0x28BEF +0x6B6C 0x28BF0 +0x6B6D 0x28BFE +0x6B6E 0x28DE7 +0x6B6F 0x28DE8 +0x6B70 0x291B3 +0x6B71 0x291E4 +0x6B72 0x29583 +0x6B73 0x29AEC +0x6B75 0x29F16 +0x6B78 0x29F17 +0x6B79 0x2A1C3 +0x6B7A 0x2A1AC +0x6B7B 0x2A2ED +0x6B7E 0x2A5B4 +0x6C22 0x2118A +0x6C23 0x2118B +0x6C24 0x21934 +0x6C25 0x21B14 +0x6C26 0x21FDF +0x6C27 0x224BB +0x6C28 0x2297F +0x6C29 0x22981 +0x6C2A 0x22EAD +0x6C2B 0x22EAE +0x6C2C 0x23862 +0x6C2D 0x2386E +0x6C2F 0x2416E +0x6C31 0x24717 +0x6C32 0x24AE6 +0x6C33 0x24C10 +0x6C34 0x25919 +0x6C36 0x26610 +0x6C37 0x26AF2 +0x6C38 0x27176 +0x6C39 0x27177 +0x6C3A 0x27B95 +0x6C3B 0x27B96 +0x6C3C 0x28C00 +0x6C3D 0x28C01 +0x6C3E 0x28C31 +0x6C3F 0x2F9ED +0x6C40 0x28C1C +0x6C41 0x2906D +0x6C42 0x29BF4 +0x6C43 0x29BF5 +0x6C44 0x29D3D +0x6C45 0x29F32 +0x6C46 0x29F33 +0x6C47 0x2A2F4 +0x6C49 0x20473 +0x6C4A 0x21937 +0x6C4C 0x23871 +0x6C4D 0x25E0F +0x6C4F 0x25E0E +0x6C50 0x26611 +0x6C51 0x27185 +0x6C52 0x28C14 +0x6C53 0x28C15 +0x6C54 0x28C16 +0x6C55 0x28C17 +0x6C56 0x28C18 +0x6C57 0x28C19 +0x6C58 0x28C1A +0x6C59 0x291C3 +0x6C5A 0x29F42 +0x6C5B 0x29F43 +0x6C5C 0x29F44 +0x6C5D 0x29F48 +0x6C5E 0x2A1FB +0x6C5F 0x216A5 +0x6C60 0x219B8 +0x6C61 0x22EB2 +0x6C62 0x2303D +0x6C63 0x23872 +0x6C64 0x244E7 +0x6C65 0x244E8 +0x6C66 0x25359 +0x6C67 0x2573A +0x6C68 0x25E14 +0x6C69 0x261FF +0x6C6A 0x269C0 +0x6C6B 0x2718D +0x6C6D 0x2718E +0x6C6F 0x28C22 +0x6C72 0x29C04 +0x6C73 0x29C29 +0x6C74 0x29F51 +0x6C75 0x29F66 +0x6C76 0x2A20E +0x6C77 0x2FA13 +0x6C79 0x2119B +0x6C7A 0x2119C +0x6C7B 0x22316 +0x6C7C 0x22986 +0x6C7D 0x22987 +0x6D21 0x28C2C +0x6D22 0x28C30 +0x6D23 0x28C28 +0x6D24 0x2965F +0x6D26 0x2417E +0x6D27 0x25E19 +0x6D28 0x2820A +0x6D29 0x28C36 +0x6D2A 0x28DFC +0x6D2B 0x29F6D +0x6D2C 0x29F6E +0x6D2D 0x2A6C6 +0x6D2F 0x2387B +0x6D30 0x26206 +0x6D31 0x2759F +0x6D32 0x2A232 +0x6D33 0x2820D +0x6D34 0x2298B +0x6D35 0x28C3B +0x6D37 0x2A23D +0x6D38 0x28C3C +0x6D39 0x28C3D diff --git a/test/sun/nio/cs/SurrogateTestEUCTW.plane3.surrogates b/test/sun/nio/cs/SurrogateTestEUCTW.plane3.surrogates new file mode 100644 index 000000000..b9f55b08e --- /dev/null +++ b/test/sun/nio/cs/SurrogateTestEUCTW.plane3.surrogates @@ -0,0 +1,71 @@ +0x2144 0x2000B +0x214F 0x2F817 +0x216F 0x201A9 +0x217C 0x2F850 +0x2225 0x2F82A +0x227B 0x2F815 +0x2329 0x2F82C +0x233C 0x2F83B +0x2359 0x21D46 +0x2424 0x23C86 +0x2429 0x2F835 +0x2441 0x2F81B +0x2452 0x2F80E +0x257E 0x225D7 +0x2627 0x2F8B2 +0x272A 0x2F98F +0x274E 0x20209 +0x2753 0x2F80F +0x2754 0x2F811 +0x275C 0x206EC +0x2A39 0x2233F +0x2A45 0x2592E +0x2C40 0x2F87A +0x2C51 0x2F899 +0x2D35 0x2F8DF +0x2D52 0x2F8FE +0x2E56 0x2F96A +0x2E5A 0x25133 +0x3023 0x2F841 +0x3053 0x2172E +0x315C 0x2F8E1 +0x3350 0x2F983 +0x3460 0x20DAE +0x3470 0x2F855 +0x347E 0x21637 +0x355F 0x2F88D +0x3565 0x2F89C +0x3628 0x2F8BA +0x3640 0x2F8CB +0x3675 0x2F907 +0x3977 0x20564 +0x3A26 0x2F833 +0x3A4F 0x21364 +0x3C3A 0x2F8E5 +0x3D3F 0x2F934 +0x3F6D 0x28CDD +0x4043 0x2F823 +0x407E 0x2F87E +0x416E 0x2F8E8 +0x4333 0x2F94E +0x4425 0x2F98D +0x446D 0x2F9DB +0x4670 0x2F8A6 +0x4731 0x230BA +0x474B 0x235F3 +0x4826 0x24A0F +0x486A 0x2F96C +0x5039 0x20B89 +0x5460 0x2F8AF +0x553A 0x24039 +0x5545 0x2F921 +0x5678 0x2F9F5 +0x5736 0x29937 +0x584F 0x25CD1 +0x5863 0x265DF +0x5A33 0x2F86A +0x5A36 0x2F870 +0x5B26 0x2F9B6 +0x5B2D 0x2F9C1 +0x5C2F 0x2FA19 +0x607C 0x2F9D6 diff --git a/test/sun/nio/cs/SurrogateTestEUCTW.plane4.surrogates b/test/sun/nio/cs/SurrogateTestEUCTW.plane4.surrogates new file mode 100644 index 000000000..501fc1981 --- /dev/null +++ b/test/sun/nio/cs/SurrogateTestEUCTW.plane4.surrogates @@ -0,0 +1,3476 @@ +0x2121 0x20086 +0x2125 0x21FE8 +0x2128 0x2010E +0x2129 0x20627 +0x212D 0x2053C +0x212E 0x20675 +0x212F 0x2F828 +0x2133 0x2193C +0x2134 0x2F875 +0x2135 0x2F878 +0x213F 0x2F819 +0x2140 0x206A5 +0x2141 0x206AA +0x2142 0x2090F +0x2143 0x20A0E +0x2146 0x20B9C +0x2147 0x20B9B +0x2148 0x2123C +0x214A 0x21BC2 +0x214E 0x233B4 +0x2156 0x20065 +0x2158 0x201B2 +0x215C 0x20477 +0x215D 0x20542 +0x215F 0x20633 +0x2162 0x206AF +0x2163 0x20836 +0x2168 0x20B22 +0x216E 0x211A3 +0x2174 0x21C25 +0x2175 0x21C24 +0x2177 0x22052 +0x2178 0x22189 +0x2179 0x224BF +0x217D 0x233B5 +0x217E 0x2574C +0x2222 0x28E14 +0x2223 0x28E12 +0x2225 0x200A3 +0x2226 0x200A2 +0x2229 0x201B6 +0x222B 0x201B5 +0x222C 0x201B4 +0x222F 0x201C2 +0x2230 0x201B8 +0x2232 0x20479 +0x2235 0x20508 +0x2237 0x2057A +0x2238 0x205B6 +0x2239 0x206BD +0x223A 0x206B7 +0x223B 0x206BC +0x223D 0x206C4 +0x223E 0x206C9 +0x2243 0x20930 +0x2244 0x20983 +0x2245 0x20985 +0x2246 0x20A12 +0x2247 0x20A34 +0x2249 0x20AE4 +0x224A 0x20ADE +0x224B 0x20B2A +0x224D 0x20BAF +0x224E 0x20BB4 +0x224F 0x20BB3 +0x2250 0x20BB1 +0x2254 0x215DE +0x2257 0x216B8 +0x2258 0x216B0 +0x225A 0x219C2 +0x225E 0x21C2A +0x2262 0x21FE9 +0x2264 0x22057 +0x2267 0x221B6 +0x2268 0x221D7 +0x2269 0x221DE +0x226E 0x224C2 +0x226F 0x225AB +0x2272 0x2298F +0x2276 0x22A6D +0x2277 0x22EB5 +0x227A 0x233C0 +0x227B 0x233BF +0x227D 0x239B9 +0x227E 0x23B1C +0x2323 0x23C80 +0x2324 0x24184 +0x2325 0x24185 +0x2328 0x24724 +0x232C 0x2634C +0x232E 0x26AF6 +0x2331 0x28670 +0x2333 0x28675 +0x2334 0x28E17 +0x2338 0x201F1 +0x233A 0x201DA +0x233C 0x205B9 +0x2341 0x206CE +0x2342 0x206D2 +0x2343 0x206D0 +0x2345 0x20843 +0x2349 0x2084D +0x234A 0x20934 +0x234C 0x209D9 +0x234E 0x20A18 +0x2350 0x20B38 +0x2352 0x20BD7 +0x2355 0x20BDC +0x2356 0x20BCB +0x2357 0x20BD6 +0x2358 0x20BD8 +0x235A 0x20BD1 +0x235B 0x2F83E +0x235C 0x2F83C +0x235D 0x20BD2 +0x2360 0x21259 +0x2363 0x215E5 +0x2364 0x215E6 +0x2366 0x215E8 +0x2368 0x216BD +0x236B 0x216BE +0x236C 0x21949 +0x236E 0x219CD +0x2372 0x21B5E +0x2373 0x21BD0 +0x2375 0x21D06 +0x237C 0x21D7C +0x237D 0x21D71 +0x237E 0x21FEF +0x2426 0x2218D +0x2427 0x221B7 +0x242A 0x22333 +0x242B 0x2237F +0x242D 0x225F2 +0x2434 0x22A2A +0x2435 0x22A8B +0x2437 0x22A83 +0x2438 0x22A8A +0x243B 0x22A8E +0x243D 0x22EB6 +0x2442 0x230D8 +0x2444 0x23156 +0x2445 0x233D2 +0x2447 0x2F8DB +0x2449 0x233C2 +0x244A 0x23887 +0x244B 0x23881 +0x244C 0x239C2 +0x244D 0x239BC +0x244E 0x23B23 +0x2450 0x23C93 +0x2453 0x2418D +0x2454 0x2418E +0x2457 0x2473B +0x2458 0x2474D +0x245A 0x24734 +0x245B 0x24731 +0x245C 0x248F2 +0x245D 0x248F0 +0x245F 0x24C15 +0x2460 0x24D28 +0x2463 0x24F25 +0x2464 0x250E7 +0x2466 0x250E9 +0x2467 0x25417 +0x246A 0x2626C +0x246B 0x26280 +0x246C 0x2634B +0x2471 0x268DE +0x2472 0x268FB +0x2474 0x26951 +0x2477 0x26B01 +0x2478 0x26B02 +0x247A 0x26B05 +0x247C 0x26B03 +0x247E 0x28451 +0x2524 0x28453 +0x2525 0x2867A +0x2526 0x28678 +0x2527 0x28676 +0x2528 0x28679 +0x2529 0x2868F +0x252A 0x2867C +0x252C 0x28E1B +0x252D 0x28E1C +0x252F 0x23D92 +0x2532 0x2012E +0x2533 0x2012C +0x2535 0x2020C +0x2537 0x2020B +0x253A 0x20205 +0x253D 0x2F805 +0x2541 0x205C2 +0x2542 0x205C3 +0x2544 0x20648 +0x2546 0x20646 +0x2549 0x206EA +0x254B 0x206EB +0x254D 0x206EE +0x2552 0x208D8 +0x2553 0x24C1E +0x2554 0x209DF +0x2555 0x209DE +0x2558 0x20A4F +0x255B 0x20C0D +0x255C 0x20C08 +0x255E 0x20C09 +0x2561 0x20C12 +0x2562 0x20C65 +0x2567 0x21289 +0x256A 0x21284 +0x256B 0x2129E +0x256C 0x2128B +0x256F 0x21562 +0x2574 0x215F9 +0x2576 0x215F7 +0x2579 0x21606 +0x257A 0x216DD +0x257C 0x216D9 +0x257D 0x216DF +0x257E 0x216E2 +0x2624 0x200F1 +0x262B 0x21C3F +0x262C 0x21C3E +0x262D 0x21D0B +0x2630 0x21D83 +0x2633 0x21D86 +0x2635 0x2207C +0x2639 0x221F7 +0x263E 0x221FB +0x263F 0x2233B +0x2644 0x225F9 +0x2645 0x225CA +0x2647 0x225FF +0x264A 0x22609 +0x264B 0x22603 +0x2651 0x22610 +0x2652 0x2299A +0x2653 0x2299F +0x2657 0x22A87 +0x265A 0x22EB7 +0x265C 0x22F08 +0x265D 0x22EF9 +0x2660 0x22EF4 +0x2664 0x26657 +0x2666 0x233D6 +0x2668 0x2F8DE +0x266B 0x233D4 +0x266E 0x23890 +0x266F 0x2388D +0x2672 0x23960 +0x2673 0x239CE +0x2674 0x239CF +0x2677 0x239D1 +0x267C 0x23CCA +0x2721 0x23CB7 +0x2723 0x23CB2 +0x2724 0x23CBB +0x2725 0x23CB9 +0x2728 0x2419E +0x272A 0x241B2 +0x272D 0x2456F +0x272E 0x245AC +0x2730 0x24623 +0x2735 0x2476C +0x2737 0x24732 +0x2738 0x2475E +0x273C 0x248FB +0x273D 0x24B29 +0x273E 0x24BBD +0x273F 0x24C1F +0x2741 0x22341 +0x2742 0x24C1D +0x2744 0x24D31 +0x2745 0x24D2F +0x2747 0x25043 +0x2749 0x25041 +0x274B 0x250F5 +0x2750 0x250F2 +0x2754 0x2541E +0x2755 0x25754 +0x2757 0x25756 +0x2758 0x25929 +0x2759 0x25927 +0x275A 0x25928 +0x275D 0x26279 +0x275E 0x2627E +0x275F 0x264B6 +0x2760 0x264B7 +0x2768 0x2F981 +0x276B 0x2664D +0x2770 0x26A09 +0x2771 0x26A08 +0x2774 0x26B1E +0x2775 0x26B1A +0x2776 0x26B23 +0x2777 0x26B15 +0x2778 0x26B19 +0x2779 0x26B16 +0x277C 0x26B14 +0x277D 0x26B18 +0x2822 0x2721F +0x2823 0x275DD +0x2824 0x275DF +0x2825 0x28469 +0x2828 0x2846C +0x282A 0x28693 +0x282C 0x28695 +0x282D 0x28694 +0x282E 0x28691 +0x282F 0x28697 +0x2830 0x28E30 +0x2834 0x2FA18 +0x2836 0x20231 +0x283B 0x20236 +0x2841 0x205C9 +0x2842 0x205CA +0x2844 0x20718 +0x2845 0x20712 +0x2846 0x20719 +0x2847 0x20710 +0x2848 0x20716 +0x284A 0x2085F +0x284C 0x208DF +0x284D 0x20917 +0x284F 0x2093C +0x2851 0x209EA +0x2852 0x209E9 +0x2853 0x20A1C +0x2854 0x20A58 +0x2855 0x20A64 +0x2856 0x20AF3 +0x2858 0x20C97 +0x285A 0x20C5A +0x285B 0x20C59 +0x285D 0x20C8E +0x285F 0x212BC +0x2862 0x2160D +0x2863 0x215FC +0x2864 0x2160C +0x2865 0x21707 +0x2866 0x2170A +0x2868 0x21702 +0x286A 0x21726 +0x286B 0x21708 +0x286C 0x2171D +0x286F 0x2194E +0x2871 0x219ED +0x2872 0x219EE +0x2873 0x219EF +0x2876 0x21C50 +0x2877 0x21C4C +0x287A 0x21C4F +0x287C 0x21DD4 +0x287E 0x21DB0 +0x2926 0x220A5 +0x2927 0x22209 +0x292F 0x223F3 +0x2930 0x223D7 +0x2933 0x224DC +0x2938 0x2260B +0x2942 0x2263A +0x2943 0x2260D +0x2944 0x22611 +0x2946 0x22620 +0x2947 0x22601 +0x2949 0x22637 +0x294A 0x2F8A3 +0x294C 0x229AA +0x294F 0x22AE7 +0x2950 0x22AE8 +0x2953 0x22AF5 +0x2957 0x22B35 +0x2958 0x22AE6 +0x295A 0x22AF8 +0x295C 0x22AF1 +0x295E 0x22F14 +0x295F 0x22F15 +0x2960 0x22F09 +0x2966 0x2317B +0x2968 0x2317E +0x2969 0x23366 +0x296A 0x23367 +0x296B 0x2340A +0x2975 0x2389C +0x2976 0x23962 +0x2977 0x239E1 +0x2978 0x239DE +0x2979 0x239DF +0x297A 0x239E9 +0x297C 0x23CE4 +0x297D 0x23CF7 +0x2A22 0x23CEA +0x2A23 0x23CF6 +0x2A24 0x23D12 +0x2A25 0x2F901 +0x2A29 0x241D9 +0x2A2B 0x2455F +0x2A2D 0x24573 +0x2A30 0x2463F +0x2A31 0x24778 +0x2A33 0x2477D +0x2A36 0x24912 +0x2A3B 0x24B2F +0x2A3E 0x24B30 +0x2A3F 0x24BDB +0x2A42 0x24C29 +0x2A44 0x2F936 +0x2A45 0x24D40 +0x2A47 0x24D3D +0x2A48 0x24D3E +0x2A4B 0x24D38 +0x2A4D 0x24F48 +0x2A4F 0x24FD0 +0x2A5B 0x2510E +0x2A5C 0x25109 +0x2A5E 0x25107 +0x2A60 0x2535F +0x2A61 0x25360 +0x2A63 0x2542A +0x2A65 0x25429 +0x2A68 0x2564D +0x2A6D 0x2576C +0x2A70 0x25767 +0x2A73 0x25939 +0x2A74 0x25934 +0x2A75 0x25A59 +0x2A78 0x26223 +0x2A7A 0x26282 +0x2A7C 0x26283 +0x2A7D 0x262A8 +0x2A7E 0x26355 +0x2B21 0x263F9 +0x2B22 0x263F8 +0x2B23 0x263FC +0x2B24 0x263FA +0x2B26 0x2F97A +0x2B2B 0x26674 +0x2B2D 0x2666B +0x2B2E 0x26671 +0x2B30 0x26676 +0x2B31 0x26A0E +0x2B34 0x26A10 +0x2B35 0x26A0F +0x2B37 0x26B38 +0x2B38 0x26B39 +0x2B39 0x26B3A +0x2B3B 0x26B37 +0x2B3C 0x26B3E +0x2B3F 0x2719C +0x2B40 0x2722A +0x2B41 0x2723A +0x2B42 0x2722B +0x2B43 0x27228 +0x2B44 0x275AA +0x2B45 0x2760F +0x2B47 0x27610 +0x2B48 0x277E6 +0x2B4A 0x27D25 +0x2B4B 0x27E8E +0x2B4F 0x2848B +0x2B51 0x2848C +0x2B52 0x2849A +0x2B55 0x286B3 +0x2B57 0x286B2 +0x2B5C 0x28E44 +0x2B5F 0x20158 +0x2B60 0x202A7 +0x2B63 0x20263 +0x2B66 0x2026A +0x2B67 0x20265 +0x2B68 0x2026B +0x2B6A 0x204ED +0x2B6B 0x205D9 +0x2B6C 0x2073B +0x2B6D 0x20732 +0x2B6F 0x20735 +0x2B70 0x20731 +0x2B71 0x2073E +0x2B72 0x20743 +0x2B73 0x20736 +0x2B74 0x2086D +0x2B76 0x208E4 +0x2B79 0x209F4 +0x2B7B 0x20A69 +0x2B7C 0x20A6B +0x2C22 0x20CBF +0x2C23 0x20CC3 +0x2C24 0x20CAE +0x2C27 0x20CB1 +0x2C2A 0x20CBB +0x2C2B 0x20CAF +0x2C2C 0x20CB0 +0x2C30 0x212EF +0x2C32 0x212ED +0x2C34 0x212F0 +0x2C35 0x21593 +0x2C36 0x21634 +0x2C37 0x2162B +0x2C43 0x21A04 +0x2C44 0x21A03 +0x2C45 0x21A02 +0x2C47 0x21A05 +0x2C4A 0x21A00 +0x2C4B 0x21B74 +0x2C4F 0x21C65 +0x2C50 0x21C63 +0x2C52 0x21DD7 +0x2C56 0x21DE8 +0x2C58 0x21DDB +0x2C59 0x21DD8 +0x2C5D 0x21E09 +0x2C62 0x21DE5 +0x2C63 0x21DE7 +0x2C65 0x2203F +0x2C67 0x220C0 +0x2C69 0x220B9 +0x2C6A 0x220BA +0x2C6E 0x22220 +0x2C6F 0x2234F +0x2C73 0x22491 +0x2C74 0x22490 +0x2C75 0x224EE +0x2C76 0x224F3 +0x2C77 0x224EC +0x2C78 0x224F1 +0x2C79 0x224EB +0x2C7A 0x224F2 +0x2C7B 0x224F4 +0x2C7C 0x224ED +0x2C7D 0x22641 +0x2C7E 0x22648 +0x2D21 0x22645 +0x2D26 0x2267F +0x2D27 0x2268B +0x2D29 0x2263B +0x2D2A 0x2264E +0x2D2E 0x2267C +0x2D34 0x22AF0 +0x2D35 0x22B36 +0x2D36 0x22B3F +0x2D37 0x22B43 +0x2D38 0x22B31 +0x2D39 0x22B34 +0x2D3A 0x22B46 +0x2D3D 0x22B2F +0x2D3E 0x22EC3 +0x2D41 0x22F36 +0x2D45 0x22F21 +0x2D46 0x2F8C8 +0x2D48 0x23073 +0x2D4A 0x230E6 +0x2D50 0x2343F +0x2D53 0x2346B +0x2D5A 0x23471 +0x2D5C 0x2F8E2 +0x2D5F 0x238B0 +0x2D63 0x239F3 +0x2D65 0x2F8F5 +0x2D68 0x23B61 +0x2D69 0x23B5F +0x2D6D 0x23D28 +0x2D6E 0x23D1E +0x2D6F 0x23D29 +0x2D70 0x2F902 +0x2D71 0x23CEB +0x2D72 0x23D66 +0x2D74 0x241F6 +0x2D77 0x24560 +0x2D78 0x24577 +0x2D79 0x245BB +0x2D7B 0x245BC +0x2E23 0x247A2 +0x2E24 0x247B2 +0x2E25 0x2479E +0x2E28 0x2493A +0x2E29 0x24938 +0x2E2E 0x24C4D +0x2E30 0x24C5E +0x2E32 0x24D17 +0x2E3D 0x24D64 +0x2E3E 0x24D67 +0x2E42 0x24F59 +0x2E44 0x24FDA +0x2E48 0x25051 +0x2E4A 0x25055 +0x2E4B 0x2513B +0x2E4C 0x25134 +0x2E4E 0x25137 +0x2E50 0x25131 +0x2E53 0x2513F +0x2E54 0x25159 +0x2E56 0x25361 +0x2E59 0x25458 +0x2E5A 0x25462 +0x2E5B 0x25450 +0x2E5D 0x25451 +0x2E60 0x25446 +0x2E63 0x2562D +0x2E66 0x25948 +0x2E67 0x25951 +0x2E68 0x2594A +0x2E69 0x2594F +0x2E6A 0x25950 +0x2E6B 0x25949 +0x2E6C 0x25A63 +0x2E6E 0x25A66 +0x2E6F 0x25A60 +0x2E74 0x25AF1 +0x2E76 0x25B07 +0x2E79 0x25F9B +0x2E7A 0x25FA3 +0x2E7B 0x25F9D +0x2F22 0x25FA9 +0x2F23 0x25FA7 +0x2F24 0x25FA4 +0x2F26 0x25FBA +0x2F27 0x221C1 +0x2F28 0x26226 +0x2F2B 0x26294 +0x2F2C 0x26293 +0x2F31 0x26407 +0x2F32 0x2640D +0x2F33 0x26402 +0x2F34 0x2640C +0x2F35 0x26409 +0x2F36 0x26408 +0x2F37 0x26413 +0x2F39 0x264D2 +0x2F3B 0x2653E +0x2F3C 0x2653C +0x2F3D 0x26667 +0x2F3E 0x2669E +0x2F40 0x266AD +0x2F42 0x266D9 +0x2F43 0x26642 +0x2F44 0x266A3 +0x2F45 0x266A0 +0x2F48 0x2667C +0x2F49 0x26904 +0x2F4B 0x26958 +0x2F4C 0x26960 +0x2F4D 0x269C9 +0x2F4E 0x269C8 +0x2F51 0x26A1C +0x2F52 0x26A1A +0x2F54 0x26B74 +0x2F56 0x26B6E +0x2F57 0x26B6F +0x2F58 0x26B79 +0x2F5B 0x26B77 +0x2F60 0x26B7C +0x2F62 0x26B70 +0x2F65 0x26B7A +0x2F66 0x26B82 +0x2F6A 0x27244 +0x2F6C 0x27243 +0x2F6E 0x27245 +0x2F70 0x27625 +0x2F71 0x2761F +0x2F74 0x277E8 +0x2F77 0x27809 +0x2F78 0x278B7 +0x2F79 0x278B9 +0x2F7A 0x27964 +0x2F7B 0x27963 +0x3021 0x27962 +0x3022 0x27965 +0x3024 0x27BAC +0x3026 0x27D2A +0x3029 0x27E96 +0x302B 0x27FC2 +0x302C 0x2F9DE +0x3031 0x284AA +0x3032 0x284B0 +0x3035 0x286D4 +0x3036 0x286CD +0x3037 0x286D6 +0x3039 0x287F0 +0x3043 0x29D4B +0x3044 0x20162 +0x3046 0x202B7 +0x3048 0x202AC +0x3049 0x202AB +0x304B 0x202C1 +0x304E 0x205E8 +0x304F 0x20769 +0x3050 0x2075D +0x3051 0x2075F +0x3055 0x20764 +0x3056 0x20762 +0x305B 0x208F9 +0x305D 0x208EE +0x3061 0x209AB +0x3062 0x209AC +0x3063 0x209AA +0x3066 0x20A86 +0x3067 0x20A7A +0x3069 0x20D28 +0x306E 0x20D31 +0x3075 0x20D2D +0x3076 0x2F843 +0x3078 0x20D2B +0x3079 0x20D32 +0x307C 0x21329 +0x307D 0x21326 +0x307E 0x21353 +0x3122 0x21333 +0x3123 0x21334 +0x3124 0x2159D +0x3127 0x21641 +0x312A 0x21791 +0x312B 0x21769 +0x312D 0x21A22 +0x312F 0x21A34 +0x3130 0x2F86D +0x3131 0x21B2E +0x3134 0x21BF4 +0x3136 0x21E28 +0x3138 0x21E1C +0x313A 0x21E11 +0x313B 0x21E24 +0x313C 0x21E15 +0x313E 0x21E16 +0x313F 0x21E54 +0x3140 0x21E23 +0x3141 0x21FFF +0x3143 0x220CF +0x3144 0x220D0 +0x3146 0x220CE +0x314A 0x221C7 +0x314B 0x2225C +0x314D 0x22236 +0x3150 0x22243 +0x3155 0x2252A +0x3156 0x22501 +0x3158 0x2250B +0x3159 0x2250F +0x315F 0x226DF +0x3161 0x226D2 +0x3165 0x226CD +0x3169 0x226DB +0x316D 0x226CF +0x316F 0x229C0 +0x3172 0x22B81 +0x3173 0x22B82 +0x3174 0x22B8A +0x3175 0x22BA8 +0x3176 0x22B8C +0x317D 0x22B8E +0x3222 0x22B8B +0x3224 0x22B96 +0x3226 0x22BCC +0x3229 0x22F4F +0x322A 0x22F4A +0x322D 0x22F4B +0x322E 0x22F3D +0x3230 0x22F44 +0x3231 0x22F49 +0x3232 0x2309E +0x3233 0x230F3 +0x3235 0x230F5 +0x3238 0x231B3 +0x323C 0x231E5 +0x323D 0x231B6 +0x323E 0x2F8D8 +0x3240 0x23486 +0x3244 0x234B6 +0x3245 0x23485 +0x3247 0x234AB +0x324B 0x23A0D +0x324C 0x23A8B +0x324D 0x23A8C +0x3256 0x23B72 +0x3259 0x23D8F +0x325B 0x23D79 +0x325D 0x23D77 +0x325F 0x23D90 +0x3260 0x23D88 +0x3261 0x23D80 +0x3262 0x23D9E +0x3265 0x23D82 +0x3266 0x23D34 +0x3267 0x23D89 +0x3269 0x23D85 +0x326A 0x23D7E +0x326B 0x23D7A +0x326C 0x23DA6 +0x326E 0x23DB5 +0x326F 0x241F4 +0x3273 0x24229 +0x3274 0x24226 +0x3275 0x2422A +0x3278 0x2457E +0x327B 0x2465B +0x327C 0x24661 +0x327D 0x24660 +0x3321 0x2479B +0x3324 0x247C3 +0x3326 0x247CD +0x3331 0x24954 +0x3332 0x24959 +0x3336 0x24AF5 +0x333D 0x24C69 +0x333E 0x24C65 +0x3341 0x24D7C +0x3344 0x24D80 +0x3346 0x24F65 +0x3349 0x24FDF +0x334A 0x25060 +0x334C 0x2505E +0x3353 0x2518F +0x3354 0x25161 +0x3355 0x2515A +0x3358 0x25367 +0x335C 0x253BB +0x3368 0x2579B +0x336C 0x257A9 +0x336E 0x25966 +0x3373 0x25A72 +0x3374 0x25A76 +0x3375 0x25B14 +0x3379 0x25B0F +0x337E 0x25E41 +0x3421 0x25E46 +0x3423 0x25E4B +0x3424 0x25E43 +0x3428 0x25FC6 +0x342A 0x25FC7 +0x342C 0x25FCE +0x342F 0x25FC9 +0x3431 0x25FCB +0x3432 0x25FC5 +0x3439 0x26369 +0x343F 0x2641E +0x3440 0x264BA +0x3442 0x26552 +0x3443 0x26551 +0x3444 0x26553 +0x3445 0x2669F +0x3446 0x266DB +0x3449 0x266E3 +0x344E 0x266D7 +0x344F 0x266E9 +0x3454 0x266DE +0x3455 0x266DC +0x3456 0x2693C +0x3457 0x2F98B +0x3459 0x26A22 +0x345A 0x26A32 +0x345B 0x26A23 +0x345F 0x26BD4 +0x3460 0x26BC8 +0x3461 0x26BBC +0x3464 0x26BCD +0x3468 0x26BBE +0x346A 0x26C40 +0x346B 0x26BD6 +0x346E 0x26BBD +0x3470 0x26BBA +0x3472 0x26BC0 +0x3473 0x2F99B +0x3474 0x2F99D +0x3475 0x26BC1 +0x3476 0x271A6 +0x3477 0x271A5 +0x3478 0x271A8 +0x347D 0x2725F +0x347E 0x27270 +0x3521 0x2726A +0x3522 0x27265 +0x3523 0x27267 +0x3524 0x2726F +0x3525 0x27287 +0x3528 0x2763D +0x3529 0x27643 +0x352B 0x27640 +0x3532 0x27818 +0x3536 0x27819 +0x3537 0x278C1 +0x353B 0x278BC +0x353C 0x278C8 +0x353E 0x27971 +0x3540 0x2796E +0x3542 0x27978 +0x3545 0x2F9CD +0x3546 0x2797A +0x3547 0x27BB1 +0x3548 0x27BAF +0x3549 0x27BB0 +0x354E 0x27CA8 +0x354F 0x27CA6 +0x3552 0x27D48 +0x3553 0x27D45 +0x3557 0x27EA0 +0x3558 0x27EA4 +0x355A 0x27FD4 +0x355F 0x27FD2 +0x3560 0x28222 +0x3564 0x282B7 +0x3565 0x282CC +0x3567 0x284E6 +0x356A 0x284C8 +0x356D 0x286F4 +0x356F 0x286ED +0x3571 0x2867E +0x3572 0x2F9E3 +0x3576 0x287F9 +0x3577 0x287FD +0x3579 0x28807 +0x357E 0x28E78 +0x3621 0x28E7A +0x3622 0x28E79 +0x3623 0x28F8A +0x3625 0x2907B +0x3626 0x291D5 +0x3627 0x291E9 +0x3629 0x291EB +0x362F 0x2016C +0x3635 0x202FA +0x363B 0x20318 +0x363E 0x205F6 +0x3640 0x2078A +0x3641 0x20789 +0x3643 0x2077F +0x3644 0x20788 +0x3646 0x20783 +0x3647 0x20784 +0x3648 0x20798 +0x3649 0x20763 +0x364A 0x20787 +0x364C 0x2F827 +0x364E 0x208F5 +0x364F 0x20950 +0x3652 0x20A87 +0x3653 0x20A8A +0x3654 0x20B65 +0x3655 0x20DB7 +0x3656 0x20DC1 +0x3657 0x20DC7 +0x365A 0x20DC5 +0x365B 0x20DCB +0x365D 0x20DD1 +0x3661 0x20DB8 +0x3662 0x20DCA +0x3664 0x20DDE +0x3666 0x20DCE +0x366A 0x21368 +0x366C 0x2136B +0x3670 0x2136A +0x3672 0x21366 +0x3673 0x21377 +0x3674 0x21396 +0x3675 0x2136E +0x3676 0x2F856 +0x3678 0x21657 +0x367A 0x21656 +0x367B 0x2179C +0x367C 0x2179E +0x3721 0x217A1 +0x3723 0x21A42 +0x3725 0x21A46 +0x3726 0x21A3E +0x3727 0x21B33 +0x372A 0x21BFA +0x372C 0x21C97 +0x372D 0x21C9B +0x372E 0x21CAA +0x3730 0x21E73 +0x3731 0x21E7C +0x3733 0x21E86 +0x3737 0x220F3 +0x3738 0x220F0 +0x373E 0x220EC +0x373F 0x222AF +0x3742 0x22264 +0x3743 0x22268 +0x3744 0x2235A +0x3746 0x2251F +0x3747 0x22525 +0x374B 0x226C6 +0x374C 0x226D6 +0x374D 0x226C3 +0x374F 0x2272C +0x3751 0x2272E +0x3752 0x2275E +0x3753 0x22733 +0x3757 0x2272D +0x3758 0x22746 +0x375A 0x226C1 +0x375B 0x2273A +0x375C 0x229CC +0x375D 0x22B9D +0x375E 0x22B83 +0x375F 0x22BF6 +0x3763 0x22BF8 +0x3766 0x22BFE +0x3767 0x22BF3 +0x3769 0x22BEB +0x376A 0x22BFA +0x376C 0x22C07 +0x376D 0x22BFC +0x3772 0x22F72 +0x3773 0x22F73 +0x3774 0x22F74 +0x377A 0x22F5F +0x377B 0x22F60 +0x377C 0x230AA +0x377D 0x23134 +0x3821 0x231B4 +0x3823 0x231F0 +0x3826 0x2320D +0x3827 0x231F3 +0x3828 0x2320F +0x382B 0x234C9 +0x382E 0x234C5 +0x3830 0x234D7 +0x3831 0x234CC +0x3833 0x234E7 +0x3836 0x234C1 +0x3838 0x234E8 +0x383A 0x238CB +0x383D 0x238C8 +0x383E 0x2397A +0x3840 0x23979 +0x3841 0x2397E +0x3843 0x23A1B +0x3847 0x23A1F +0x3848 0x23A19 +0x384D 0x23B89 +0x3850 0x23B8B +0x3853 0x23E09 +0x3854 0x23DFE +0x3855 0x23E00 +0x3858 0x23E0B +0x385D 0x23E4A +0x3863 0x24279 +0x3866 0x2426C +0x3867 0x24299 +0x3868 0x2F91B +0x3869 0x24262 +0x386A 0x24514 +0x386D 0x245C8 +0x386E 0x245D7 +0x386F 0x2460C +0x3871 0x24670 +0x3874 0x24671 +0x3875 0x247DF +0x3876 0x247E4 +0x3878 0x247E7 +0x387C 0x24990 +0x3922 0x24B4C +0x3927 0x24B4F +0x3929 0x24C7D +0x392A 0x24C7E +0x392B 0x24C7C +0x392D 0x24C8D +0x392E 0x24D19 +0x3931 0x24DC0 +0x3937 0x24DB6 +0x3939 0x24DA8 +0x393B 0x24FEB +0x393C 0x24FE7 +0x393D 0x2506F +0x393E 0x251C7 +0x3940 0x2519F +0x3944 0x251C4 +0x394E 0x2519B +0x394F 0x25197 +0x3950 0x251C5 +0x3951 0x2536B +0x3952 0x253CE +0x3955 0x254B1 +0x3956 0x254AE +0x3957 0x254B0 +0x395B 0x2573E +0x395C 0x257B5 +0x395D 0x257BA +0x395F 0x257B2 +0x3960 0x257B4 +0x3966 0x25977 +0x3968 0x25986 +0x3969 0x2597B +0x396B 0x25A7E +0x396C 0x25B2E +0x396E 0x25B2F +0x3970 0x25B37 +0x3973 0x25B32 +0x3977 0x25B36 +0x3978 0x25B39 +0x3979 0x25B35 +0x397A 0x25E5C +0x397E 0x25E7B +0x3A21 0x25E61 +0x3A22 0x25FEE +0x3A23 0x25FEB +0x3A24 0x25FEF +0x3A25 0x26020 +0x3A29 0x26230 +0x3A2C 0x262BE +0x3A2E 0x26367 +0x3A2F 0x2637C +0x3A32 0x26424 +0x3A36 0x26429 +0x3A37 0x264EF +0x3A3C 0x2670D +0x3A46 0x26764 +0x3A48 0x26715 +0x3A50 0x26A35 +0x3A51 0x26A36 +0x3A52 0x26A34 +0x3A53 0x26A37 +0x3A54 0x26C47 +0x3A55 0x26C2B +0x3A57 0x26C41 +0x3A58 0x26C43 +0x3A5A 0x26C42 +0x3A5D 0x26C32 +0x3A62 0x26C44 +0x3A63 0x26C4A +0x3A66 0x2F9A0 +0x3A69 0x26C54 +0x3A6A 0x26C6E +0x3A6B 0x26C52 +0x3A73 0x27292 +0x3A75 0x2F9B8 +0x3A77 0x272BF +0x3A7C 0x27641 +0x3A7D 0x27669 +0x3A7E 0x27665 +0x3B24 0x27822 +0x3B25 0x2781D +0x3B26 0x278D2 +0x3B27 0x278DA +0x3B28 0x278DB +0x3B2D 0x279A4 +0x3B2E 0x2799E +0x3B32 0x2799D +0x3B37 0x279AD +0x3B38 0x279A6 +0x3B39 0x279A7 +0x3B3A 0x27BB3 +0x3B3B 0x27BE0 +0x3B3C 0x27C35 +0x3B3D 0x27C37 +0x3B40 0x27D4A +0x3B44 0x27E5E +0x3B46 0x27EC0 +0x3B4E 0x27FF9 +0x3B56 0x284F0 +0x3B58 0x284F3 +0x3B59 0x2851B +0x3B5A 0x284F2 +0x3B5B 0x284FB +0x3B5C 0x2871C +0x3B5D 0x28713 +0x3B5F 0x2870F +0x3B61 0x28816 +0x3B62 0x28811 +0x3B63 0x28812 +0x3B65 0x2880E +0x3B68 0x28C67 +0x3B69 0x28CF2 +0x3B6A 0x28CDA +0x3B6C 0x28CDC +0x3B6E 0x28F94 +0x3B6F 0x28F9B +0x3B70 0x28F92 +0x3B71 0x28F9A +0x3B72 0x29088 +0x3B73 0x29086 +0x3B75 0x291EF +0x3B78 0x2925E +0x3B7A 0x29458 +0x3B7C 0x29456 +0x3B7D 0x29454 +0x3C21 0x2959B +0x3C22 0x29696 +0x3C23 0x296A4 +0x3C26 0x2969A +0x3C27 0x29A12 +0x3C2B 0x2036B +0x3C2E 0x20337 +0x3C2F 0x2033C +0x3C30 0x2F80A +0x3C31 0x204F7 +0x3C33 0x20566 +0x3C35 0x207A9 +0x3C36 0x207AE +0x3C37 0x207AD +0x3C38 0x207C8 +0x3C39 0x207A5 +0x3C3A 0x207B0 +0x3C3B 0x20895 +0x3C3D 0x20925 +0x3C3F 0x20A99 +0x3C41 0x20B74 +0x3C42 0x20B70 +0x3C43 0x20B6F +0x3C44 0x20E41 +0x3C45 0x20E54 +0x3C48 0x20E40 +0x3C49 0x20E38 +0x3C4D 0x20E52 +0x3C4E 0x20E3A +0x3C4F 0x20E57 +0x3C50 0x2F84A +0x3C51 0x20E59 +0x3C54 0x213B4 +0x3C55 0x213C0 +0x3C5A 0x21375 +0x3C5D 0x21660 +0x3C5E 0x21647 +0x3C60 0x217F0 +0x3C62 0x217EF +0x3C65 0x217EC +0x3C66 0x21983 +0x3C68 0x21984 +0x3C69 0x2198F +0x3C6B 0x21A61 +0x3C6D 0x21A69 +0x3C70 0x21A62 +0x3C7A 0x21EAE +0x3C7D 0x21EB2 +0x3D22 0x2210B +0x3D24 0x22110 +0x3D25 0x2210D +0x3D2B 0x2227F +0x3D2C 0x22281 +0x3D31 0x2240B +0x3D32 0x2254E +0x3D35 0x227EA +0x3D36 0x22745 +0x3D3F 0x22728 +0x3D40 0x2275D +0x3D41 0x229DC +0x3D44 0x229D4 +0x3D46 0x22C64 +0x3D47 0x22C68 +0x3D49 0x22C62 +0x3D4B 0x22C61 +0x3D4D 0x22C66 +0x3D51 0x22BF2 +0x3D52 0x22C69 +0x3D53 0x22C67 +0x3D55 0x22F9A +0x3D56 0x22F9B +0x3D57 0x22F85 +0x3D58 0x22F9C +0x3D5A 0x22FA4 +0x3D5E 0x22F99 +0x3D5F 0x22F86 +0x3D60 0x22F90 +0x3D61 0x23081 +0x3D62 0x230AE +0x3D66 0x23138 +0x3D6A 0x2353B +0x3D70 0x2354C +0x3D73 0x23547 +0x3D74 0x23535 +0x3D77 0x23533 +0x3D79 0x23582 +0x3D7A 0x23540 +0x3E25 0x23A36 +0x3E26 0x23B0E +0x3E2A 0x23BAD +0x3E2B 0x23BAA +0x3E2C 0x23E17 +0x3E2E 0x23E67 +0x3E31 0x23E72 +0x3E33 0x2F90A +0x3E34 0x23E61 +0x3E35 0x23EB0 +0x3E3A 0x23E6E +0x3E3B 0x23E64 +0x3E3D 0x23E8C +0x3E3E 0x23E66 +0x3E40 0x23E6B +0x3E41 0x23E5F +0x3E42 0x23E74 +0x3E43 0x23E65 +0x3E44 0x242BB +0x3E45 0x242BE +0x3E47 0x242B9 +0x3E4A 0x242EF +0x3E4D 0x245DA +0x3E50 0x24690 +0x3E51 0x247E9 +0x3E55 0x24811 +0x3E56 0x2480D +0x3E57 0x247ED +0x3E58 0x24821 +0x3E5A 0x24981 +0x3E5B 0x249B1 +0x3E5C 0x24B01 +0x3E5E 0x24B5E +0x3E5F 0x24B62 +0x3E64 0x24B5B +0x3E66 0x24C96 +0x3E67 0x24C93 +0x3E6A 0x24C92 +0x3E6C 0x2F939 +0x3E70 0x24DC4 +0x3E71 0x24DC7 +0x3E72 0x24DC3 +0x3E75 0x24DC8 +0x3E79 0x24DCA +0x3E7B 0x24DC5 +0x3E7C 0x24DCF +0x3E7D 0x24DDC +0x3E7E 0x24F7C +0x3F21 0x25001 +0x3F23 0x251D3 +0x3F24 0x251DC +0x3F28 0x251D4 +0x3F2A 0x251CC +0x3F2E 0x251D6 +0x3F2F 0x251DB +0x3F31 0x251D5 +0x3F32 0x253D9 +0x3F34 0x253DD +0x3F35 0x253DC +0x3F36 0x253E0 +0x3F37 0x254CC +0x3F41 0x254D2 +0x3F43 0x254D3 +0x3F48 0x2568D +0x3F4E 0x257D8 +0x3F51 0x257BC +0x3F56 0x25A8A +0x3F58 0x25A8B +0x3F59 0x25A8D +0x3F5C 0x25B53 +0x3F5F 0x25B59 +0x3F64 0x25B56 +0x3F65 0x25B57 +0x3F68 0x25E73 +0x3F69 0x2601B +0x3F6B 0x26021 +0x3F6C 0x26016 +0x3F6D 0x26018 +0x3F70 0x26044 +0x3F72 0x26026 +0x3F74 0x26236 +0x3F79 0x2643A +0x3F7B 0x264F4 +0x3F7E 0x26762 +0x4021 0x2675B +0x4022 0x2676A +0x4024 0x26768 +0x402B 0x26781 +0x4031 0x26CE7 +0x4033 0x26CE6 +0x4034 0x26CD1 +0x4035 0x26D11 +0x4037 0x26CD0 +0x4038 0x26CD9 +0x4039 0x26D0A +0x403B 0x26CDA +0x403C 0x26CDD +0x403D 0x26CC8 +0x403E 0x26CE2 +0x403F 0x26CE9 +0x4040 0x26CCB +0x4042 0x26CCC +0x4043 0x26CC1 +0x4045 0x26CDE +0x404A 0x26D51 +0x404B 0x26D12 +0x404D 0x26CE0 +0x404E 0x26D2B +0x404F 0x2F9B4 +0x4050 0x272D8 +0x4051 0x272D1 +0x4053 0x272D2 +0x4054 0x272CD +0x4058 0x2733D +0x405A 0x272CA +0x405C 0x272CB +0x405E 0x272D7 +0x405F 0x275F4 +0x4063 0x27687 +0x4064 0x2768B +0x4065 0x27683 +0x4068 0x279C5 +0x4069 0x279D2 +0x406A 0x279C6 +0x406B 0x279D3 +0x406F 0x279F0 +0x4070 0x279CD +0x4071 0x279CC +0x4072 0x279DC +0x4073 0x279D6 +0x4075 0x27BE6 +0x4076 0x27C41 +0x4077 0x27C3F +0x4079 0x27CC5 +0x407A 0x27CC0 +0x407B 0x27CC6 +0x407C 0x27CBE +0x407D 0x27CBF +0x4122 0x27D63 +0x4123 0x27ED3 +0x4124 0x27EDA +0x4125 0x27ED5 +0x412B 0x282EE +0x412D 0x282FC +0x412E 0x28414 +0x4130 0x28523 +0x4131 0x28522 +0x4132 0x28530 +0x4133 0x286B5 +0x4135 0x28738 +0x4137 0x2873F +0x4144 0x28968 +0x4145 0x28967 +0x4147 0x28965 +0x414A 0x28C75 +0x414B 0x28CF7 +0x414C 0x28CF3 +0x414D 0x28CF6 +0x414F 0x28D00 +0x4151 0x28CFF +0x4152 0x28CF5 +0x4158 0x29092 +0x4159 0x29206 +0x415B 0x29207 +0x415C 0x2926B +0x415E 0x2926C +0x4160 0x29393 +0x4162 0x29394 +0x4166 0x29462 +0x4167 0x29463 +0x4169 0x2945F +0x416A 0x29464 +0x416B 0x2945B +0x416C 0x29459 +0x416F 0x295A4 +0x4170 0x295AC +0x4173 0x296B5 +0x4176 0x296AE +0x4178 0x296C5 +0x417C 0x2983B +0x4223 0x29ABF +0x4224 0x29C2B +0x4225 0x29C84 +0x4226 0x29C80 +0x4227 0x29D4D +0x4228 0x29D4F +0x422A 0x29D4C +0x422B 0x29F92 +0x4230 0x203AE +0x4231 0x20379 +0x4234 0x20371 +0x4236 0x203B3 +0x4238 0x2032C +0x4239 0x20377 +0x423A 0x2052F +0x423B 0x207C3 +0x423D 0x207CD +0x4240 0x207C9 +0x4244 0x207CE +0x4245 0x208A5 +0x4246 0x208A0 +0x4247 0x208FE +0x4248 0x20959 +0x4249 0x20A9A +0x424C 0x20EE4 +0x424D 0x20ED7 +0x424E 0x20EDC +0x4250 0x20EE7 +0x4254 0x20EE5 +0x425A 0x21414 +0x425C 0x213F1 +0x4261 0x215B6 +0x4262 0x2166E +0x4263 0x2166C +0x4264 0x21681 +0x4265 0x21842 +0x426A 0x2181A +0x426E 0x21827 +0x426F 0x21825 +0x4270 0x21817 +0x4271 0x2181C +0x4272 0x2183D +0x4273 0x21820 +0x4276 0x21A81 +0x427A 0x21C09 +0x427B 0x21CC6 +0x427C 0x21CC4 +0x427E 0x21CC5 +0x4323 0x21EEF +0x4325 0x21EDF +0x4326 0x21EDE +0x4327 0x21EEE +0x4328 0x21EF5 +0x4329 0x21EEC +0x432B 0x21EDD +0x4334 0x22122 +0x4337 0x22297 +0x4338 0x22295 +0x433C 0x224A9 +0x433E 0x22553 +0x4340 0x22556 +0x4341 0x22555 +0x4344 0x227E3 +0x4345 0x227E2 +0x434F 0x227A9 +0x4351 0x2F8AB +0x4352 0x22833 +0x4353 0x2280A +0x4355 0x22A59 +0x4357 0x22CBC +0x4359 0x22CC4 +0x435A 0x22CC7 +0x435B 0x22CC6 +0x435F 0x22CB8 +0x4360 0x22CDA +0x4362 0x22CB7 +0x4363 0x22CC0 +0x4365 0x22CCD +0x4367 0x22FBC +0x4368 0x22FAB +0x436A 0x23086 +0x436C 0x2325A +0x4370 0x23343 +0x4372 0x235AC +0x4376 0x235BE +0x437B 0x235AB +0x4426 0x21B3E +0x4429 0x238F9 +0x442B 0x238F3 +0x442C 0x238F7 +0x442E 0x23A45 +0x442F 0x23A48 +0x4434 0x23A44 +0x4436 0x23AAF +0x4437 0x23AB1 +0x443B 0x23BCF +0x443D 0x23BCB +0x443E 0x23BCD +0x4440 0x23C50 +0x4441 0x23EEC +0x4442 0x23F1A +0x4445 0x23ED8 +0x4447 0x23ED0 +0x4448 0x23ED1 +0x444B 0x23E7B +0x444C 0x23ED2 +0x444E 0x23ED4 +0x444F 0x23EE7 +0x4450 0x23EDF +0x4451 0x23EDE +0x4453 0x23ED9 +0x4454 0x23ECF +0x4455 0x2430D +0x445D 0x24338 +0x4461 0x246A9 +0x446B 0x2483E +0x446C 0x24846 +0x446D 0x249ED +0x446E 0x2F930 +0x4472 0x24B6C +0x447A 0x24CAC +0x447D 0x24DC9 +0x4522 0x24E12 +0x4525 0x24DFD +0x4526 0x24E01 +0x4527 0x24E11 +0x4529 0x24E89 +0x452A 0x24E05 +0x452B 0x24DFE +0x452C 0x24E0B +0x452D 0x24E20 +0x452E 0x24E04 +0x452F 0x24F88 +0x4531 0x25002 +0x4533 0x25003 +0x453A 0x25229 +0x453B 0x2523B +0x453E 0x25206 +0x4545 0x25203 +0x4547 0x25378 +0x4548 0x25379 +0x4549 0x2537D +0x454B 0x2537F +0x4550 0x25532 +0x4552 0x25500 +0x4554 0x25522 +0x4556 0x256A9 +0x455C 0x25804 +0x455F 0x2F959 +0x4561 0x259B8 +0x4562 0x25A9B +0x4567 0x25B92 +0x456C 0x25B8F +0x456F 0x25B98 +0x4571 0x25BAE +0x4573 0x25E9D +0x4576 0x26049 +0x4577 0x26050 +0x4578 0x26046 +0x457A 0x2604E +0x457D 0x26055 +0x4622 0x26064 +0x4624 0x26238 +0x4631 0x264FE +0x463A 0x267A6 +0x4643 0x2679C +0x4644 0x26799 +0x4648 0x267B5 +0x4649 0x267A3 +0x464A 0x267A0 +0x464B 0x267A7 +0x464C 0x2679B +0x464D 0x269DF +0x464E 0x269E1 +0x4652 0x26A4D +0x4654 0x26DF3 +0x4655 0x26D6F +0x4656 0x26D69 +0x4659 0x26D6B +0x465A 0x26D78 +0x465B 0x26D87 +0x465D 0x26D85 +0x465E 0x26D82 +0x465F 0x26D90 +0x4662 0x26D80 +0x4663 0x26D67 +0x4666 0x26D61 +0x4668 0x26D93 +0x466A 0x26DF2 +0x466B 0x26D86 +0x466E 0x271CD +0x466F 0x271C4 +0x4674 0x2730F +0x4677 0x2730D +0x467A 0x27373 +0x467C 0x2F9BA +0x467D 0x2730A +0x4721 0x27308 +0x4722 0x27313 +0x4724 0x275F8 +0x4728 0x276AB +0x4729 0x276A8 +0x472C 0x276A5 +0x472F 0x276C3 +0x4730 0x276A4 +0x4732 0x276D4 +0x4733 0x276BA +0x4734 0x277F1 +0x4737 0x2783F +0x4739 0x278EA +0x473B 0x279F7 +0x473E 0x279FA +0x473F 0x279F5 +0x4741 0x279FE +0x4744 0x27A00 +0x4747 0x27A02 +0x4748 0x279FB +0x4749 0x27A07 +0x474B 0x27A1A +0x474D 0x27BB8 +0x4750 0x27BE9 +0x4751 0x27BEB +0x4752 0x27C50 +0x4753 0x27C4F +0x4755 0x27D86 +0x4757 0x27D8E +0x475C 0x27EF0 +0x475D 0x27EFB +0x4760 0x28042 +0x4763 0x28085 +0x4768 0x28305 +0x476F 0x2874B +0x4772 0x28763 +0x477A 0x28999 +0x477C 0x28C81 +0x477D 0x28D17 +0x477E 0x28D10 +0x4821 0x28D12 +0x4825 0x28EFA +0x4826 0x28EF3 +0x4827 0x28EF2 +0x4828 0x28EF5 +0x4829 0x28EF6 +0x482A 0x28FBB +0x482B 0x28FC2 +0x482C 0x290A7 +0x482F 0x290A8 +0x4830 0x290A3 +0x4832 0x290AA +0x4836 0x291DC +0x4839 0x2920F +0x483C 0x29279 +0x483E 0x2927F +0x483F 0x29285 +0x4845 0x2941B +0x4848 0x29477 +0x4849 0x29476 +0x484A 0x29498 +0x484F 0x2947A +0x4852 0x295BC +0x4853 0x295BA +0x4855 0x295B6 +0x4858 0x295B4 +0x485A 0x296CF +0x4861 0x2987B +0x4863 0x29A1C +0x4864 0x29A21 +0x4865 0x29A1D +0x4866 0x29AC0 +0x4868 0x29AFF +0x486C 0x29D56 +0x486E 0x29FA1 +0x486F 0x29FA2 +0x4870 0x29FA6 +0x4871 0x2A256 +0x4872 0x2A257 +0x4875 0x2A301 +0x4876 0x2A3ED +0x4877 0x2FA1C +0x4878 0x2A5F2 +0x487A 0x203B8 +0x487C 0x203C0 +0x487E 0x203B7 +0x4921 0x203E1 +0x4924 0x207E8 +0x4926 0x208B2 +0x4928 0x20AAE +0x492B 0x20F7E +0x492F 0x20F76 +0x4932 0x20F96 +0x4934 0x21420 +0x4935 0x21421 +0x4936 0x21423 +0x4937 0x21429 +0x4938 0x21677 +0x4939 0x21851 +0x493B 0x21856 +0x493D 0x21888 +0x493E 0x21859 +0x493F 0x21855 +0x4941 0x21997 +0x4942 0x21998 +0x4947 0x21AA1 +0x4948 0x21AA3 +0x494E 0x21F0A +0x4951 0x21F3D +0x4952 0x21F0C +0x4956 0x2213D +0x4957 0x22139 +0x4958 0x222B0 +0x4959 0x222B2 +0x495A 0x222AE +0x4960 0x22420 +0x4962 0x2256E +0x4963 0x2256D +0x4964 0x2256A +0x4966 0x22832 +0x496A 0x22839 +0x496E 0x227A3 +0x4970 0x2287F +0x4971 0x22835 +0x4972 0x2283D +0x4973 0x229F4 +0x4974 0x229F5 +0x4977 0x22D48 +0x4978 0x22D28 +0x497B 0x22D27 +0x497C 0x22D32 +0x497D 0x22D2C +0x4A21 0x22D2E +0x4A25 0x22D23 +0x4A26 0x22D31 +0x4A27 0x2F8C5 +0x4A2C 0x22FC9 +0x4A2D 0x23089 +0x4A2F 0x230BB +0x4A33 0x23397 +0x4A34 0x23393 +0x4A35 0x23628 +0x4A3B 0x23618 +0x4A3C 0x2363B +0x4A3E 0x23627 +0x4A3F 0x23624 +0x4A40 0x2361B +0x4A41 0x23631 +0x4A43 0x23626 +0x4A44 0x236A3 +0x4A45 0x2363F +0x4A46 0x23622 +0x4A47 0x23619 +0x4A49 0x23641 +0x4A4A 0x2362B +0x4A4D 0x2390C +0x4A51 0x23A4E +0x4A52 0x23AB9 +0x4A53 0x23AFA +0x4A54 0x23BE9 +0x4A55 0x23BE8 +0x4A56 0x23BE4 +0x4A5A 0x23F5F +0x4A5B 0x23F5D +0x4A5C 0x23F52 +0x4A5E 0x23F74 +0x4A60 0x23F46 +0x4A63 0x23FAA +0x4A65 0x23F4A +0x4A66 0x23F59 +0x4A67 0x23F4B +0x4A6B 0x24350 +0x4A70 0x246D0 +0x4A74 0x246CC +0x4A78 0x24864 +0x4A79 0x24865 +0x4A7D 0x2485C +0x4A7E 0x24A15 +0x4B28 0x24B79 +0x4B2B 0x24CC5 +0x4B2C 0x24CB8 +0x4B2D 0x24E2C +0x4B30 0x24E37 +0x4B31 0x24E35 +0x4B32 0x24E31 +0x4B34 0x24E2F +0x4B36 0x24E2B +0x4B39 0x24E2D +0x4B3A 0x24E2A +0x4B3C 0x24F95 +0x4B3E 0x2523E +0x4B40 0x25247 +0x4B41 0x25245 +0x4B46 0x25252 +0x4B48 0x25270 +0x4B49 0x25250 +0x4B4A 0x25258 +0x4B4B 0x25251 +0x4B4C 0x2523D +0x4B4E 0x25241 +0x4B4F 0x2520C +0x4B50 0x2523C +0x4B51 0x25386 +0x4B52 0x25383 +0x4B53 0x25389 +0x4B54 0x253F3 +0x4B5A 0x2552D +0x4B5F 0x256C5 +0x4B60 0x2F955 +0x4B67 0x25843 +0x4B69 0x25837 +0x4B6A 0x25845 +0x4B6D 0x259E5 +0x4B6E 0x25AA6 +0x4B6F 0x25BDB +0x4B71 0x25BDA +0x4B72 0x25BE6 +0x4B7C 0x25BF8 +0x4B7D 0x25BE9 +0x4C23 0x25BE8 +0x4C24 0x25BF6 +0x4C29 0x25BE7 +0x4C2F 0x25BD5 +0x4C32 0x25ED3 +0x4C33 0x25EC7 +0x4C34 0x25ED1 +0x4C36 0x25EC3 +0x4C38 0x26080 +0x4C39 0x26098 +0x4C3B 0x26084 +0x4C41 0x26097 +0x4C42 0x26083 +0x4C43 0x26081 +0x4C46 0x2608C +0x4C47 0x26242 +0x4C48 0x263AB +0x4C4A 0x263A3 +0x4C4B 0x263A6 +0x4C4C 0x2645C +0x4C4D 0x26469 +0x4C4E 0x26467 +0x4C50 0x2658B +0x4C51 0x265A8 +0x4C53 0x267D8 +0x4C56 0x2F989 +0x4C57 0x267DC +0x4C59 0x267E0 +0x4C5A 0x267E5 +0x4C60 0x26918 +0x4C61 0x26919 +0x4C66 0x26A5F +0x4C67 0x26A5E +0x4C69 0x26E02 +0x4C75 0x26E12 +0x4C76 0x26E36 +0x4C79 0x2F9A8 +0x4C7B 0x26E23 +0x4C7C 0x26E03 +0x4C7E 0x26E00 +0x4D22 0x26E46 +0x4D23 0x26E61 +0x4D27 0x27384 +0x4D29 0x2736B +0x4D2A 0x27362 +0x4D2B 0x27356 +0x4D2C 0x2736A +0x4D2D 0x27352 +0x4D2E 0x27355 +0x4D32 0x27361 +0x4D33 0x2F9BB +0x4D34 0x27358 +0x4D35 0x27377 +0x4D38 0x276D7 +0x4D3B 0x276DE +0x4D3D 0x276DF +0x4D41 0x276D1 +0x4D43 0x276E2 +0x4D44 0x276E1 +0x4D45 0x276DD +0x4D49 0x2784B +0x4D4B 0x2784E +0x4D4D 0x278FC +0x4D50 0x278FA +0x4D52 0x278FB +0x4D54 0x278FE +0x4D57 0x27A31 +0x4D5D 0x27A38 +0x4D62 0x27A3A +0x4D63 0x27BBB +0x4D66 0x27C59 +0x4D69 0x27CDB +0x4D6A 0x27CDF +0x4D6B 0x27CE2 +0x4D6F 0x27D9E +0x4D70 0x27DA1 +0x4D72 0x27F10 +0x4D7A 0x28076 +0x4D7B 0x2807F +0x4D7C 0x2807D +0x4E24 0x28082 +0x4E25 0x28257 +0x4E2C 0x2832E +0x4E2F 0x2858B +0x4E30 0x2858D +0x4E34 0x28590 +0x4E36 0x286EC +0x4E37 0x2876F +0x4E38 0x2876B +0x4E39 0x28771 +0x4E3A 0x28778 +0x4E42 0x289AD +0x4E49 0x28D2F +0x4E4B 0x28F78 +0x4E4D 0x291F8 +0x4E4E 0x29219 +0x4E50 0x2929B +0x4E51 0x29294 +0x4E52 0x29297 +0x4E53 0x29299 +0x4E54 0x293A6 +0x4E55 0x293A4 +0x4E56 0x293A7 +0x4E58 0x29495 +0x4E5B 0x29490 +0x4E5E 0x2949B +0x4E5F 0x295C4 +0x4E62 0x295C6 +0x4E68 0x296E3 +0x4E6A 0x296DF +0x4E6B 0x296DD +0x4E6C 0x296E7 +0x4E71 0x29A2D +0x4E72 0x29A2C +0x4E77 0x29A34 +0x4E78 0x29A38 +0x4E7A 0x29B1D +0x4E7C 0x29B1A +0x4E7D 0x29B1B +0x4E7E 0x29B14 +0x4F22 0x29B17 +0x4F23 0x29C21 +0x4F26 0x29CAA +0x4F27 0x29CA1 +0x4F2D 0x29D63 +0x4F2E 0x29D79 +0x4F2F 0x29D60 +0x4F31 0x29D62 +0x4F33 0x29D61 +0x4F36 0x29D70 +0x4F38 0x29D6A +0x4F3A 0x29FC8 +0x4F3C 0x29FC5 +0x4F3D 0x29FBE +0x4F3E 0x29FC2 +0x4F43 0x29FC7 +0x4F45 0x29FB0 +0x4F46 0x29FCA +0x4F4E 0x2A30D +0x4F4F 0x2A307 +0x4F50 0x2A396 +0x4F51 0x2A3EF +0x4F54 0x2A41E +0x4F55 0x2A41D +0x4F57 0x2A590 +0x4F58 0x203EB +0x4F5C 0x203EE +0x4F5E 0x203EF +0x4F5F 0x203EC +0x4F60 0x207FA +0x4F65 0x20904 +0x4F66 0x20FD3 +0x4F68 0x20FD1 +0x4F69 0x20FFA +0x4F6E 0x20FC8 +0x4F70 0x20FD5 +0x4F72 0x20FCD +0x4F73 0x20FD2 +0x4F74 0x20FFB +0x4F75 0x2122A +0x4F76 0x21488 +0x4F77 0x21461 +0x4F79 0x21463 +0x4F7A 0x21462 +0x4F7C 0x20057 +0x4F7D 0x218C8 +0x4F7E 0x21898 +0x5022 0x21AC1 +0x5023 0x21F3F +0x5024 0x21F41 +0x5028 0x22152 +0x502A 0x2215E +0x502D 0x222C7 +0x502F 0x22370 +0x5030 0x22427 +0x5032 0x22471 +0x5033 0x224B0 +0x5035 0x22842 +0x5036 0x22843 +0x503C 0x22857 +0x503D 0x2289D +0x503E 0x22D89 +0x503F 0x22D8D +0x5040 0x22D8B +0x5041 0x22D80 +0x5042 0x22D92 +0x5043 0x22D8A +0x5044 0x22DC8 +0x5046 0x22D8F +0x5047 0x22D93 +0x5048 0x22D91 +0x504A 0x22FF2 +0x504B 0x22FDE +0x504D 0x230C8 +0x5054 0x232A7 +0x5055 0x232A1 +0x5057 0x2368C +0x5058 0x2367F +0x505B 0x2367B +0x505C 0x23695 +0x505D 0x23699 +0x505F 0x2368E +0x5061 0x236DA +0x5062 0x2368A +0x5063 0x2369C +0x5065 0x2367E +0x5068 0x2391A +0x5069 0x23A55 +0x506C 0x23A60 +0x5070 0x23BFB +0x5073 0x23BFD +0x5079 0x23FD0 +0x507C 0x23FC5 +0x507E 0x23FD2 +0x5121 0x24011 +0x5126 0x243AD +0x5127 0x243A4 +0x5128 0x243A9 +0x5129 0x243B0 +0x512A 0x2439D +0x512C 0x24598 +0x5131 0x24892 +0x5133 0x2488A +0x5135 0x2488D +0x5136 0x24896 +0x513B 0x24A45 +0x513C 0x24A4B +0x513D 0x24B0F +0x513E 0x24B16 +0x5140 0x24B8A +0x5143 0x24CC9 +0x5145 0x24CC8 +0x5146 0x24CCA +0x5147 0x24E64 +0x514B 0x24E5D +0x514C 0x24E63 +0x5151 0x24E88 +0x5152 0x24F3A +0x5153 0x24F39 +0x5158 0x25017 +0x5159 0x25093 +0x515B 0x25095 +0x515E 0x25276 +0x5162 0x25280 +0x5163 0x2527B +0x5165 0x25248 +0x5166 0x252A8 +0x5167 0x25288 +0x5168 0x2538B +0x5169 0x2538A +0x516A 0x2538C +0x516B 0x253FC +0x516F 0x25558 +0x5171 0x25551 +0x5172 0x25555 +0x5173 0x25553 +0x5177 0x256DC +0x517B 0x2585C +0x517E 0x25865 +0x5221 0x2F95A +0x5223 0x259EE +0x5226 0x259F0 +0x5228 0x259F2 +0x522A 0x25C35 +0x522C 0x25C22 +0x522E 0x25C20 +0x5230 0x25C2D +0x5231 0x25C28 +0x5232 0x25C26 +0x5233 0x25C3C +0x5235 0x25C38 +0x523C 0x25C2A +0x523E 0x25C1A +0x523F 0x25C30 +0x5240 0x25BE3 +0x5241 0x25C19 +0x5242 0x25EE9 +0x5243 0x25EE7 +0x5245 0x260D6 +0x5246 0x260C4 +0x5248 0x26087 +0x524A 0x260C7 +0x524B 0x260D9 +0x524D 0x260DF +0x5250 0x2630A +0x5251 0x26301 +0x5252 0x263B1 +0x5254 0x263C1 +0x5257 0x26476 +0x5258 0x2650D +0x5259 0x2650E +0x525D 0x26807 +0x525F 0x26809 +0x5260 0x26816 +0x5265 0x2680E +0x5268 0x26806 +0x5269 0x2691E +0x526A 0x2694A +0x5270 0x26EA6 +0x5271 0x26E91 +0x5274 0x26EB8 +0x5275 0x26E96 +0x5278 0x26EC5 +0x527D 0x26F0A +0x5326 0x26EB2 +0x5328 0x26EB7 +0x5329 0x26EB4 +0x532A 0x26E89 +0x532B 0x26E8D +0x532D 0x26E87 +0x532E 0x26EC2 +0x532F 0x26E9C +0x5330 0x26E92 +0x5332 0x26ECA +0x5334 0x26E8A +0x5335 0x271E0 +0x5337 0x271E6 +0x5338 0x271E5 +0x533A 0x273A5 +0x533B 0x273B3 +0x533F 0x273B5 +0x5340 0x273AF +0x5342 0x273B0 +0x5343 0x273CC +0x5345 0x273A2 +0x5346 0x273BE +0x5347 0x273C6 +0x5348 0x273AC +0x5349 0x273AE +0x534C 0x2F9C3 +0x534D 0x27708 +0x534E 0x27705 +0x5351 0x276FE +0x5354 0x27700 +0x5357 0x27864 +0x5358 0x27868 +0x535D 0x2786A +0x535E 0x27869 +0x535F 0x2790D +0x5360 0x27912 +0x5363 0x2790F +0x5365 0x27A67 +0x5366 0x27A79 +0x5367 0x27A72 +0x5368 0x27A66 +0x5369 0x27A7C +0x536C 0x27A68 +0x536D 0x27A85 +0x536E 0x27A76 +0x536F 0x27A74 +0x5370 0x27A71 +0x5371 0x27A64 +0x5374 0x27BF8 +0x5376 0x27C6C +0x5378 0x27CEB +0x537C 0x27DB8 +0x5421 0x27F2D +0x5422 0x27F2E +0x5423 0x27F28 +0x5424 0x27F29 +0x5425 0x27F31 +0x5427 0x27F2F +0x5428 0x27F2A +0x542A 0x280A4 +0x542B 0x280B7 +0x542C 0x280BF +0x5431 0x28263 +0x5435 0x28367 +0x5436 0x285BE +0x5437 0x2F9E0 +0x5438 0x28795 +0x5439 0x2879C +0x543E 0x28871 +0x543F 0x28872 +0x5441 0x2886F +0x5444 0x289F1 +0x5447 0x289E8 +0x544A 0x2F9EA +0x544D 0x28D49 +0x544E 0x28D64 +0x5450 0x28D48 +0x5454 0x28F2C +0x5455 0x28FE1 +0x5456 0x28FEF +0x5457 0x290C0 +0x545A 0x290D7 +0x545B 0x290D4 +0x545E 0x292AD +0x5465 0x292AE +0x5466 0x292AC +0x546B 0x29427 +0x546C 0x294AE +0x546E 0x294B0 +0x5471 0x294C0 +0x5472 0x294C4 +0x5479 0x29707 +0x547B 0x296FD +0x5523 0x2FA04 +0x5524 0x2981B +0x5525 0x2981C +0x5527 0x298B2 +0x5528 0x298B4 +0x5529 0x298B7 +0x552A 0x298B1 +0x552B 0x298B3 +0x552C 0x298AE +0x5533 0x29A3F +0x5534 0x29B36 +0x5537 0x29B31 +0x5538 0x29B3B +0x5539 0x29B35 +0x553A 0x29B3A +0x553B 0x29B37 +0x553C 0x29C22 +0x553D 0x29C36 +0x553E 0x29C32 +0x5540 0x29CC0 +0x5546 0x29D85 +0x5549 0x29D89 +0x554C 0x29FE1 +0x5551 0x2A00A +0x5553 0x2A009 +0x5556 0x29FE8 +0x555B 0x2A318 +0x5564 0x2A5C5 +0x5566 0x2040D +0x5567 0x2040C +0x5568 0x20421 +0x556A 0x20616 +0x556B 0x2080E +0x556E 0x20817 +0x5571 0x21048 +0x5575 0x21055 +0x5576 0x21049 +0x5577 0x2104C +0x5579 0x2104F +0x557A 0x2103D +0x557D 0x2148A +0x557E 0x214A8 +0x5621 0x2168A +0x5623 0x218CB +0x5625 0x218D5 +0x5626 0x221D4 +0x5629 0x21F5C +0x562A 0x21F75 +0x562C 0x22161 +0x562E 0x21696 +0x5630 0x2258A +0x5631 0x228D0 +0x5634 0x22849 +0x5635 0x228CF +0x5637 0x22DD6 +0x5638 0x22D7F +0x563A 0x22DD2 +0x563B 0x22DCF +0x563C 0x23006 +0x563D 0x23009 +0x5642 0x23706 +0x5643 0x236F1 +0x5644 0x23704 +0x5646 0x236FA +0x5647 0x236F4 +0x564A 0x236F9 +0x564C 0x2368B +0x564D 0x23703 +0x5650 0x239A2 +0x5654 0x23C0C +0x5655 0x23C0B +0x565A 0x24024 +0x565D 0x2F914 +0x565F 0x24025 +0x5661 0x243F6 +0x5663 0x243FB +0x5665 0x24532 +0x5666 0x245FB +0x5668 0x246F2 +0x5669 0x246F3 +0x566D 0x2489C +0x566E 0x24A72 +0x5670 0x24A74 +0x5674 0x24B86 +0x5676 0x24B8E +0x5677 0x24B90 +0x5679 0x24BCD +0x567A 0x24BF7 +0x567B 0x24CD6 +0x567C 0x24E84 +0x567D 0x24E95 +0x567E 0x24E8A +0x5723 0x24E97 +0x5727 0x24FA0 +0x5728 0x24FA1 +0x5729 0x25022 +0x572A 0x250A6 +0x572B 0x250A4 +0x5735 0x252AF +0x5736 0x252B0 +0x5737 0x252BD +0x573A 0x25576 +0x573C 0x2557B +0x573D 0x25579 +0x5743 0x256EE +0x5744 0x256F1 +0x5746 0x25894 +0x574A 0x25891 +0x574E 0x25A10 +0x5751 0x25AAF +0x575C 0x25C7B +0x575D 0x25C77 +0x5760 0x25C80 +0x5761 0x25CC6 +0x5763 0x25C7C +0x5764 0x25C90 +0x5766 0x25CA3 +0x5767 0x25C7D +0x5768 0x25CBD +0x576C 0x25F13 +0x576F 0x26111 +0x5770 0x26144 +0x5771 0x2610D +0x5774 0x26314 +0x5776 0x263B8 +0x5778 0x263B7 +0x5779 0x26483 +0x577C 0x26514 +0x577E 0x2651C +0x5825 0x265D4 +0x5826 0x265D5 +0x5829 0x26843 +0x582A 0x26842 +0x582D 0x2F98A +0x582E 0x26841 +0x582F 0x2694E +0x5831 0x26A87 +0x5837 0x26F39 +0x5839 0x26F8F +0x583A 0x26F2A +0x583F 0x26F2B +0x5841 0x26F50 +0x5843 0x26F6E +0x5845 0x26F3B +0x5846 0x26F53 +0x5847 0x26F5F +0x5848 0x26F2F +0x5849 0x26F30 +0x584A 0x26F38 +0x584B 0x26F4C +0x584C 0x271F1 +0x5850 0x27407 +0x5851 0x27416 +0x5853 0x27414 +0x5855 0x273FB +0x5859 0x273F8 +0x585A 0x27410 +0x585B 0x2741D +0x585C 0x273FF +0x585D 0x2740B +0x585E 0x27404 +0x5860 0x273FE +0x5861 0x275FF +0x5866 0x27723 +0x586C 0x2792A +0x586D 0x27AA0 +0x586E 0x27A98 +0x586F 0x27A9C +0x5871 0x27A9E +0x5872 0x27AA6 +0x5873 0x27AB5 +0x5874 0x27AB0 +0x5878 0x27CF9 +0x5879 0x27CF5 +0x587B 0x27DD2 +0x587E 0x27F50 +0x5921 0x27F4E +0x5922 0x27F4B +0x5923 0x27F52 +0x5924 0x27F4D +0x5927 0x280E4 +0x5929 0x280DA +0x592E 0x280DF +0x592F 0x280E8 +0x5933 0x28370 +0x5934 0x28372 +0x5936 0x28377 +0x593A 0x285E6 +0x593B 0x287AA +0x593E 0x2888C +0x5940 0x28889 +0x5943 0x28A32 +0x5948 0x28A7A +0x594A 0x28C9E +0x594B 0x28CA0 +0x594C 0x28D70 +0x5950 0x28D6E +0x5951 0x28D66 +0x5953 0x28D65 +0x5956 0x28F7F +0x5957 0x28FE0 +0x5959 0x28FFF +0x595A 0x290F6 +0x595B 0x290F7 +0x595C 0x290F5 +0x595E 0x290FC +0x5961 0x290F9 +0x5965 0x292CA +0x5966 0x292C3 +0x5967 0x292C6 +0x5969 0x293B8 +0x596A 0x293BD +0x596C 0x293BC +0x596D 0x29405 +0x596E 0x294E0 +0x596F 0x294E9 +0x5971 0x294DF +0x5972 0x294EC +0x5974 0x294E5 +0x5975 0x294DE +0x5976 0x2FA00 +0x5978 0x294F0 +0x5979 0x294E3 +0x597B 0x295EC +0x5A23 0x295F2 +0x5A24 0x295EF +0x5A25 0x295E9 +0x5A26 0x296FB +0x5A2B 0x29737 +0x5A2C 0x298DE +0x5A2F 0x298DA +0x5A32 0x29A4B +0x5A34 0x29A49 +0x5A36 0x29AD5 +0x5A39 0x29B52 +0x5A3A 0x29B47 +0x5A3C 0x29B48 +0x5A3D 0x29CCC +0x5A3E 0x29CD0 +0x5A46 0x29D86 +0x5A47 0x29DA7 +0x5A48 0x29DA3 +0x5A4A 0x29DB6 +0x5A4B 0x29DAD +0x5A4C 0x2A013 +0x5A53 0x2A017 +0x5A54 0x2A022 +0x5A57 0x2A049 +0x5A58 0x2A026 +0x5A59 0x2FA0C +0x5A5A 0x2A03C +0x5A5B 0x2A028 +0x5A5C 0x2A2A8 +0x5A5E 0x2A3FB +0x5A60 0x2A432 +0x5A61 0x2A4D6 +0x5A62 0x2A548 +0x5A65 0x2A5C6 +0x5A69 0x20425 +0x5A6A 0x20426 +0x5A6B 0x20424 +0x5A6C 0x20433 +0x5A6D 0x20570 +0x5A6F 0x20B90 +0x5A71 0x21095 +0x5A72 0x210A1 +0x5A73 0x21092 +0x5A74 0x2108F +0x5A75 0x2109F +0x5A76 0x21096 +0x5A77 0x21098 +0x5A78 0x2109D +0x5A79 0x210A0 +0x5A7B 0x21697 +0x5A7C 0x218EB +0x5A7E 0x21F87 +0x5B22 0x22432 +0x5B26 0x228D8 +0x5B27 0x228FB +0x5B28 0x22906 +0x5B2A 0x228D1 +0x5B2C 0x2F8B0 +0x5B33 0x22DF6 +0x5B34 0x22E04 +0x5B35 0x22DFE +0x5B37 0x22DFF +0x5B38 0x22DF7 +0x5B39 0x23018 +0x5B3B 0x23014 +0x5B3C 0x230CD +0x5B3D 0x23120 +0x5B3E 0x232DE +0x5B42 0x23745 +0x5B43 0x23753 +0x5B45 0x2374B +0x5B46 0x23755 +0x5B47 0x23741 +0x5B4B 0x2375C +0x5B4C 0x23754 +0x5B4D 0x23A71 +0x5B4E 0x23AD0 +0x5B51 0x23C53 +0x5B52 0x24029 +0x5B53 0x2407E +0x5B55 0x24079 +0x5B58 0x24070 +0x5B59 0x2406A +0x5B5C 0x24085 +0x5B5D 0x24064 +0x5B5F 0x24078 +0x5B61 0x24432 +0x5B62 0x24427 +0x5B63 0x2442F +0x5B68 0x248BA +0x5B6A 0x24A71 +0x5B6B 0x24A8C +0x5B6D 0x24B1A +0x5B70 0x24B98 +0x5B71 0x24CE4 +0x5B76 0x24EC2 +0x5B78 0x24EBA +0x5B7A 0x24EC8 +0x5C21 0x250B9 +0x5C22 0x250B8 +0x5C23 0x250A5 +0x5C24 0x252E2 +0x5C28 0x252D9 +0x5C2B 0x252AC +0x5C2C 0x252DD +0x5C30 0x2559D +0x5C33 0x25711 +0x5C34 0x25703 +0x5C38 0x258EE +0x5C3C 0x25CA4 +0x5C3D 0x25CD8 +0x5C3E 0x25CDD +0x5C3F 0x25CDE +0x5C41 0x25CE7 +0x5C45 0x25CD4 +0x5C47 0x25CCE +0x5C4D 0x25CF1 +0x5C4E 0x25CD3 +0x5C52 0x25CCA +0x5C53 0x25CE9 +0x5C57 0x25F1A +0x5C58 0x25F41 +0x5C59 0x2F968 +0x5C5C 0x2613D +0x5C5D 0x26140 +0x5C61 0x26143 +0x5C63 0x2613F +0x5C64 0x2613C +0x5C66 0x26321 +0x5C67 0x26320 +0x5C69 0x263C6 +0x5C6C 0x263D1 +0x5C6D 0x263CA +0x5C6E 0x2648E +0x5C6F 0x26491 +0x5C72 0x265E3 +0x5C73 0x26888 +0x5C75 0x26870 +0x5C77 0x2699D +0x5C78 0x26A9D +0x5C79 0x26A91 +0x5C7A 0x26A98 +0x5C7B 0x26A99 +0x5D22 0x26FBF +0x5D24 0x26FAE +0x5D25 0x26FB1 +0x5D26 0x26FCC +0x5D27 0x27004 +0x5D29 0x27016 +0x5D2A 0x26FCD +0x5D2D 0x26FE0 +0x5D2E 0x26FCB +0x5D2F 0x26FD4 +0x5D30 0x26FC9 +0x5D31 0x271FF +0x5D33 0x271FD +0x5D34 0x27457 +0x5D35 0x27452 +0x5D36 0x27450 +0x5D37 0x27445 +0x5D38 0x2744D +0x5D3A 0x27453 +0x5D3C 0x27482 +0x5D3D 0x27444 +0x5D3E 0x275CE +0x5D3F 0x275CF +0x5D40 0x275D2 +0x5D41 0x27602 +0x5D42 0x2774F +0x5D43 0x27758 +0x5D45 0x27743 +0x5D47 0x27752 +0x5D4B 0x27749 +0x5D4C 0x27753 +0x5D4D 0x2774D +0x5D4F 0x27884 +0x5D51 0x27883 +0x5D52 0x27932 +0x5D53 0x27AE2 +0x5D55 0x27AE4 +0x5D56 0x27AD3 +0x5D58 0x27AD5 +0x5D59 0x27ADD +0x5D5C 0x27AEC +0x5D5D 0x27AE6 +0x5D5E 0x27AD2 +0x5D5F 0x27AFA +0x5D60 0x27ADA +0x5D62 0x27C06 +0x5D63 0x27C04 +0x5D65 0x27C7B +0x5D66 0x27D04 +0x5D67 0x27D02 +0x5D6B 0x27F60 +0x5D6F 0x28107 +0x5D70 0x28105 +0x5D71 0x2810C +0x5D73 0x2815A +0x5D76 0x2811A +0x5D79 0x2838A +0x5E21 0x2838C +0x5E22 0x28609 +0x5E23 0x288A6 +0x5E25 0x288AC +0x5E26 0x288A9 +0x5E28 0x28A8B +0x5E2A 0x28A8C +0x5E2D 0x28A88 +0x5E2E 0x28A89 +0x5E30 0x28A93 +0x5E33 0x28D83 +0x5E34 0x28F4F +0x5E37 0x29120 +0x5E39 0x29236 +0x5E3A 0x292E2 +0x5E3D 0x292EE +0x5E3F 0x292E7 +0x5E40 0x292E9 +0x5E44 0x292DF +0x5E46 0x293C7 +0x5E48 0x29509 +0x5E4A 0x29501 +0x5E53 0x29605 +0x5E54 0x2960C +0x5E55 0x29778 +0x5E56 0x2975D +0x5E5C 0x2975E +0x5E5D 0x29760 +0x5E5E 0x29767 +0x5E60 0x2FA05 +0x5E61 0x298F4 +0x5E64 0x298F1 +0x5E66 0x298FA +0x5E69 0x298F8 +0x5E6A 0x298F9 +0x5E6B 0x29909 +0x5E6C 0x298FD +0x5E6D 0x298F7 +0x5E6F 0x29A59 +0x5E71 0x29B60 +0x5E72 0x29B68 +0x5E78 0x29B6A +0x5E79 0x29C14 +0x5E7A 0x29C3E +0x5E7B 0x29CE4 +0x5F28 0x29DD2 +0x5F2D 0x2A058 +0x5F2E 0x2A050 +0x5F30 0x2A05C +0x5F33 0x28119 +0x5F37 0x2FA0E +0x5F41 0x2A4DF +0x5F47 0x2A5D9 +0x5F4B 0x20966 +0x5F4E 0x210E1 +0x5F4F 0x210EF +0x5F50 0x210E8 +0x5F51 0x21233 +0x5F53 0x218FE +0x5F56 0x21AEF +0x5F57 0x21AEC +0x5F58 0x21CEC +0x5F59 0x21F9C +0x5F5B 0x21F99 +0x5F5C 0x22170 +0x5F5D 0x2216E +0x5F5F 0x22441 +0x5F62 0x22902 +0x5F63 0x22901 +0x5F65 0x22A1B +0x5F66 0x22E23 +0x5F67 0x22E25 +0x5F68 0x22E24 +0x5F69 0x22E26 +0x5F6A 0x22E33 +0x5F6B 0x22E2F +0x5F6C 0x2308F +0x5F6D 0x23356 +0x5F74 0x23799 +0x5F76 0x2F8ED +0x5F78 0x23AD9 +0x5F7A 0x240B7 +0x5F7C 0x240B6 +0x6021 0x24454 +0x6022 0x24457 +0x6023 0x2447A +0x6026 0x24A8E +0x6028 0x24A90 +0x6029 0x24AB9 +0x602D 0x24CEF +0x6031 0x24EE2 +0x6033 0x24ED6 +0x6034 0x24ED8 +0x6035 0x24EDA +0x6036 0x24EDE +0x603A 0x25308 +0x603B 0x25304 +0x603C 0x2530A +0x603D 0x2530B +0x603E 0x25302 +0x6040 0x255AA +0x6041 0x255C1 +0x6043 0x258D7 +0x6044 0x258D9 +0x6046 0x258DE +0x6047 0x258DA +0x604A 0x25A2A +0x604D 0x25D31 +0x604F 0x25D2B +0x6050 0x25D2C +0x6051 0x25D29 +0x6052 0x25D2E +0x6054 0x25D27 +0x6055 0x25D28 +0x6057 0x25D5F +0x6058 0x25D30 +0x6059 0x25D24 +0x605C 0x25F3A +0x605E 0x25F39 +0x605F 0x25F40 +0x6060 0x26180 +0x6061 0x26184 +0x6064 0x26175 +0x6065 0x26176 +0x6067 0x2617C +0x6069 0x26178 +0x606A 0x2619B +0x606B 0x2617E +0x606C 0x2625A +0x606E 0x2632C +0x6070 0x2649C +0x6071 0x26847 +0x6072 0x2688A +0x6075 0x26927 +0x6076 0x2704A +0x6079 0x27027 +0x607C 0x2702E +0x607D 0x27026 +0x607E 0x27208 +0x6122 0x274BD +0x6123 0x27496 +0x6127 0x274BE +0x6128 0x2748E +0x6129 0x27774 +0x612B 0x27780 +0x6132 0x2793C +0x6133 0x2793D +0x6135 0x2793A +0x6136 0x27942 +0x6138 0x27B24 +0x6139 0x27B06 +0x613C 0x27B15 +0x613E 0x27B02 +0x613F 0x27B0C +0x6141 0x27B08 +0x6142 0x27B0A +0x6143 0x27B05 +0x6144 0x27B1C +0x6147 0x27C82 +0x6149 0x27C86 +0x614B 0x27E03 +0x614C 0x27F7B +0x614E 0x27F7A +0x6153 0x28180 +0x6155 0x28158 +0x615A 0x283AA +0x615B 0x283AB +0x615C 0x28436 +0x615D 0x2844A +0x6160 0x287D6 +0x616A 0x28B03 +0x616B 0x28ACF +0x616D 0x28D9F +0x616E 0x28DA2 +0x616F 0x2902A +0x6170 0x2902F +0x6171 0x29144 +0x6172 0x29140 +0x6175 0x29311 +0x6176 0x2930F +0x6178 0x2930D +0x6179 0x29307 +0x617A 0x29303 +0x6221 0x29435 +0x6224 0x29504 +0x622A 0x29526 +0x622E 0x2951E +0x6231 0x2960E +0x6233 0x2961D +0x6234 0x2961E +0x6235 0x2961F +0x6237 0x29788 +0x6239 0x2978D +0x623A 0x29791 +0x623B 0x29780 +0x623D 0x29854 +0x623E 0x29855 +0x6242 0x29925 +0x6243 0x2991A +0x624B 0x29B88 +0x624D 0x29B7A +0x6250 0x29B80 +0x6251 0x29D1E +0x6252 0x29DFC +0x6253 0x29E25 +0x6258 0x29E0B +0x625A 0x29E06 +0x625B 0x29E04 +0x625E 0x29DF9 +0x625F 0x29E00 +0x6263 0x29E02 +0x6265 0x29E07 +0x6269 0x2A0B5 +0x626B 0x2A087 +0x626D 0x2A093 +0x626E 0x2FA0F +0x6270 0x2A0BE +0x6271 0x2A266 +0x6273 0x2A2C7 +0x6274 0x2A2CF +0x6278 0x2A33D +0x627A 0x2A33C +0x627B 0x2A347 +0x6322 0x2A3C3 +0x6325 0x2A51B +0x6328 0x2A5C9 +0x632A 0x2A5DD +0x632C 0x2A693 +0x632E 0x2043D +0x6333 0x214E6 +0x6336 0x21AF7 +0x6337 0x21FB0 +0x6338 0x21FAE +0x633D 0x2259F +0x633E 0x2259E +0x633F 0x22930 +0x6341 0x2294F +0x6344 0x22927 +0x6345 0x22951 +0x6348 0x22E51 +0x6349 0x22E54 +0x634A 0x22E56 +0x634B 0x23027 +0x634D 0x23024 +0x6352 0x237EC +0x6353 0x237C4 +0x6356 0x240F8 +0x6357 0x240F6 +0x6358 0x240F7 +0x6359 0x240ED +0x635C 0x240F4 +0x635D 0x240EF +0x6360 0x2447F +0x6361 0x244A2 +0x6362 0x2447E +0x6364 0x248C5 +0x636A 0x24EF1 +0x636B 0x24EF2 +0x636D 0x2502F +0x6372 0x25323 +0x6373 0x25329 +0x6377 0x2571B +0x6378 0x258EB +0x637A 0x258EA +0x637B 0x25A33 +0x637D 0x25D63 +0x6421 0x25D92 +0x6422 0x25D65 +0x6425 0x261A0 +0x6426 0x2F970 +0x6427 0x2625E +0x6429 0x268AA +0x642B 0x268A9 +0x642E 0x2709C +0x6431 0x27092 +0x6435 0x27086 +0x6439 0x27083 +0x643F 0x2F9C2 +0x6442 0x274CE +0x6445 0x27793 +0x6449 0x27B2E +0x644A 0x27B27 +0x644B 0x27B28 +0x6450 0x27E18 +0x6451 0x27E16 +0x6452 0x27F8D +0x6454 0x27F8E +0x6457 0x27F90 +0x6458 0x27F8F +0x6459 0x28181 +0x645C 0x2818A +0x645D 0x2818C +0x645E 0x2828D +0x6462 0x283B2 +0x6464 0x287D9 +0x6468 0x28B0D +0x646A 0x28B13 +0x646E 0x28B1B +0x6470 0x28DAC +0x6472 0x28DB3 +0x6474 0x2915E +0x6476 0x29160 +0x6477 0x29168 +0x6478 0x29163 +0x6479 0x29169 +0x647A 0x29167 +0x647D 0x29328 +0x6521 0x2932E +0x6522 0x29330 +0x6524 0x29326 +0x6525 0x29331 +0x6526 0x29341 +0x6528 0x293DA +0x652A 0x2F9FA +0x652B 0x2940B +0x652D 0x29534 +0x652E 0x29533 +0x6532 0x29539 +0x6533 0x2953B +0x6534 0x29540 +0x6535 0x29630 +0x6537 0x29632 +0x6538 0x29637 +0x653D 0x29781 +0x653E 0x2979F +0x653F 0x297A7 +0x6542 0x29944 +0x6543 0x29947 +0x6544 0x29948 +0x6545 0x2993D +0x6548 0x29949 +0x654A 0x29A80 +0x654B 0x29BA0 +0x654C 0x29B9D +0x6550 0x29B9C +0x6551 0x29C47 +0x6552 0x29D07 +0x6556 0x29E49 +0x6558 0x29E44 +0x655C 0x29EDF +0x655E 0x29E4C +0x6560 0x29E4F +0x6563 0x2A0C1 +0x6565 0x2A0B9 +0x6566 0x2A0CB +0x6567 0x2A0CF +0x6568 0x2A0C4 +0x656D 0x2A0CA +0x656E 0x2A0C3 +0x656F 0x2A2D0 +0x6570 0x2A351 +0x6573 0x2A3A8 +0x6574 0x2A3C7 +0x6575 0x2A3C6 +0x6577 0x2A3CA +0x6578 0x2A402 +0x657A 0x2A45D +0x657B 0x2A45A +0x657E 0x2A459 +0x6622 0x2A4CC +0x6623 0x2A51C +0x6624 0x2A5CC +0x6628 0x2A5E8 +0x6629 0x2A5EC +0x662A 0x2A5EA +0x662B 0x2A6AD +0x662C 0x2A6B0 +0x662D 0x2045F +0x662E 0x20458 +0x662F 0x20457 +0x6631 0x20B93 +0x6633 0x2113B +0x6635 0x21134 +0x6636 0x214F2 +0x6638 0x21AFD +0x6639 0x21C1D +0x663C 0x22304 +0x663D 0x22448 +0x663E 0x22958 +0x663F 0x22E4F +0x6641 0x22E6E +0x6642 0x22E72 +0x6644 0x2302E +0x6645 0x237FC +0x6646 0x237F4 +0x6647 0x23C36 +0x6648 0x2410E +0x664B 0x24114 +0x664D 0x24119 +0x664F 0x244A6 +0x6651 0x24AC9 +0x6652 0x24AC0 +0x6653 0x24ACC +0x6654 0x24B1B +0x6655 0x24BAA +0x6656 0x24BA8 +0x6657 0x24F03 +0x665C 0x25035 +0x6662 0x255D9 +0x6666 0x25A3F +0x6667 0x25A3D +0x666B 0x25D8B +0x6670 0x25D68 +0x6671 0x25D8A +0x6672 0x25F58 +0x6673 0x25F57 +0x6674 0x261CE +0x6675 0x261BC +0x6676 0x261C0 +0x6677 0x261C1 +0x6678 0x261BF +0x6679 0x261AB +0x667A 0x2625F +0x667C 0x264A6 +0x667E 0x26529 +0x6726 0x268B8 +0x6729 0x270DD +0x672A 0x270D6 +0x672B 0x2F9B1 +0x672C 0x270D5 +0x672D 0x270E7 +0x672E 0x270D8 +0x672F 0x274EC +0x6731 0x27500 +0x6732 0x27507 +0x6733 0x274FD +0x6734 0x274F1 +0x6735 0x274FF +0x6736 0x277AA +0x6737 0x277B0 +0x6738 0x27B48 +0x673A 0x27B53 +0x673C 0x27B4D +0x6742 0x27B43 +0x6743 0x27B50 +0x6746 0x27C8C +0x6747 0x27E27 +0x6749 0x27F99 +0x674B 0x281B1 +0x674D 0x281B0 +0x674E 0x281AA +0x674F 0x281AC +0x6753 0x283C8 +0x6754 0x283CA +0x6755 0x28642 +0x6756 0x287E0 +0x6757 0x288E7 +0x6758 0x288E8 +0x6759 0x288E6 +0x675D 0x28B5B +0x675E 0x28B56 +0x6760 0x28B5A +0x6764 0x28CB8 +0x6765 0x28DC5 +0x6768 0x29048 +0x6769 0x2917D +0x676A 0x2917C +0x676B 0x29181 +0x676C 0x29182 +0x676D 0x29162 +0x676F 0x29345 +0x6774 0x293E3 +0x6778 0x29550 +0x677A 0x2954F +0x677D 0x29639 +0x6821 0x2963A +0x6825 0x297C1 +0x6826 0x2994E +0x6827 0x2996E +0x682C 0x29971 +0x682E 0x29A8C +0x682F 0x29A89 +0x6831 0x29AE5 +0x6832 0x29BB3 +0x6833 0x29BB6 +0x6834 0x29BB4 +0x6835 0x29C4D +0x6837 0x29D13 +0x6838 0x29E78 +0x683F 0x29E72 +0x6845 0x2A275 +0x6846 0x2A2DA +0x6847 0x2A2D7 +0x684F 0x2FA16 +0x6850 0x2A469 +0x6851 0x2A467 +0x6853 0x2A466 +0x6854 0x2A46F +0x6855 0x2A471 +0x6857 0x2A4CF +0x6858 0x2A523 +0x685B 0x2A5A5 +0x685D 0x2A5FE +0x685E 0x2A5FB +0x685F 0x2A5FD +0x6864 0x2116D +0x6866 0x21B05 +0x6867 0x21C20 +0x6869 0x21FC8 +0x686A 0x21FC9 +0x686D 0x23127 +0x686F 0x2381E +0x6870 0x23936 +0x6872 0x2413D +0x6874 0x248D7 +0x6876 0x24BAD +0x6877 0x24D00 +0x6879 0x2533A +0x687D 0x25726 +0x6923 0x25DB7 +0x6924 0x25DB6 +0x6925 0x25DC0 +0x6927 0x25D9B +0x6929 0x261D8 +0x692F 0x268C0 +0x6931 0x268BF +0x6932 0x26ABF +0x6934 0x27120 +0x6935 0x270D0 +0x6936 0x2710E +0x6938 0x2711D +0x6939 0x2711E +0x693A 0x27115 +0x693B 0x27114 +0x693C 0x2751E +0x693D 0x2752C +0x693F 0x277B9 +0x6940 0x277B8 +0x6941 0x277B6 +0x6942 0x2789E +0x6943 0x2789C +0x6944 0x2794D +0x6946 0x27B6E +0x6947 0x27B60 +0x6949 0x27B64 +0x694A 0x27B62 +0x694B 0x261E5 +0x694D 0x27FA3 +0x6950 0x283D2 +0x6951 0x283D5 +0x6957 0x29055 +0x6959 0x29193 +0x695D 0x29356 +0x695F 0x293E9 +0x6961 0x29445 +0x6964 0x2967C +0x6966 0x297D3 +0x696C 0x2998E +0x696D 0x29A97 +0x696F 0x29A9B +0x6970 0x29A99 +0x6973 0x29BCF +0x6975 0x29C59 +0x6978 0x29D20 +0x6979 0x29D23 +0x697A 0x29D2A +0x6A22 0x29EB0 +0x6A24 0x2A12F +0x6A28 0x2A132 +0x6A29 0x2A143 +0x6A2A 0x2A13F +0x6A2B 0x2A139 +0x6A2D 0x2A130 +0x6A2E 0x2A2DD +0x6A2F 0x2A3DA +0x6A30 0x2A3DB +0x6A32 0x2A484 +0x6A33 0x2A47F +0x6A34 0x2A472 +0x6A35 0x2A480 +0x6A36 0x2A4EE +0x6A38 0x2A52A +0x6A39 0x2A522 +0x6A3A 0x2A571 +0x6A3B 0x2A5CD +0x6A3E 0x2A60F +0x6A3F 0x2A618 +0x6A40 0x2046A +0x6A45 0x21B0C +0x6A47 0x225A6 +0x6A4A 0x23037 +0x6A4D 0x23AE2 +0x6A4F 0x244BC +0x6A52 0x24AD5 +0x6A56 0x24F12 +0x6A58 0x2534B +0x6A59 0x25341 +0x6A5A 0x253A1 +0x6A5B 0x255EC +0x6A5E 0x25DD4 +0x6A5F 0x25DD8 +0x6A60 0x25DD9 +0x6A62 0x25DDA +0x6A63 0x25F6C +0x6A64 0x25F6D +0x6A67 0x261E7 +0x6A68 0x261EB +0x6A69 0x261EC +0x6A6A 0x26262 +0x6A6C 0x2652B +0x6A6D 0x2660D +0x6A6E 0x268CD +0x6A6F 0x26AC3 +0x6A70 0x2713F +0x6A71 0x2713C +0x6A72 0x2713E +0x6A73 0x2713D +0x6A74 0x2713A +0x6A75 0x27138 +0x6A76 0x27544 +0x6A77 0x27545 +0x6A79 0x27548 +0x6A7A 0x27550 +0x6A7D 0x27B78 +0x6A7E 0x27B79 +0x6B22 0x27E3E +0x6B25 0x28654 +0x6B28 0x28BB9 +0x6B2B 0x2905F +0x6B2E 0x29572 +0x6B2F 0x29575 +0x6B36 0x29AA3 +0x6B37 0x29AA5 +0x6B38 0x29BDC +0x6B39 0x29BDD +0x6B3A 0x29C5A +0x6B3E 0x29EDB +0x6B3F 0x29EDC +0x6B41 0x2A1AB +0x6B42 0x2A184 +0x6B43 0x2A176 +0x6B49 0x2A183 +0x6B4C 0x2A27F +0x6B4F 0x2A373 +0x6B50 0x2A3AD +0x6B51 0x2A3B0 +0x6B53 0x2A40F +0x6B54 0x2A40C +0x6B57 0x2A579 +0x6B59 0x2A577 +0x6B5A 0x2A57A +0x6B5D 0x2A632 +0x6B5E 0x2A627 +0x6B5F 0x2A62A +0x6B60 0x2A62C +0x6B62 0x2A628 +0x6B63 0x2A629 +0x6B64 0x2A638 +0x6B65 0x2082F +0x6B66 0x2117B +0x6B67 0x21B0D +0x6B69 0x21FD6 +0x6B6A 0x21FD5 +0x6B6B 0x22EA1 +0x6B6C 0x2384C +0x6B73 0x24FC0 +0x6B77 0x25DF4 +0x6B7A 0x261F0 +0x6B7C 0x2633F +0x6B7E 0x2755D +0x6C21 0x27572 +0x6C22 0x27562 +0x6C24 0x27566 +0x6C27 0x27B88 +0x6C2A 0x281E8 +0x6C2B 0x281E4 +0x6C2F 0x288FF +0x6C31 0x291AF +0x6C32 0x291AE +0x6C35 0x293F2 +0x6C36 0x29448 +0x6C37 0x29581 +0x6C38 0x2957E +0x6C3B 0x29652 +0x6C3C 0x297EF +0x6C3F 0x29AAD +0x6C40 0x29BE6 +0x6C42 0x29BED +0x6C44 0x29BE9 +0x6C45 0x29C61 +0x6C46 0x29C60 +0x6C47 0x29D33 +0x6C4B 0x29F0B +0x6C4C 0x29F08 +0x6C4F 0x29F07 +0x6C53 0x2A1CA +0x6C55 0x2A1C6 +0x6C57 0x2A284 +0x6C58 0x2A2EB +0x6C59 0x2A37D +0x6C5C 0x2A49B +0x6C5D 0x2A4A2 +0x6C5E 0x2A4A1 +0x6C5F 0x2A4A0 +0x6C60 0x2A49C +0x6C63 0x2A580 +0x6C65 0x2A640 +0x6C67 0x2A639 +0x6C68 0x2A63C +0x6C6B 0x208CA +0x6C6D 0x21189 +0x6C6F 0x2303C +0x6C70 0x23940 +0x6C71 0x24163 +0x6C72 0x24169 +0x6C74 0x25353 +0x6C77 0x25917 +0x6C78 0x2591A +0x6C79 0x25E00 +0x6C7E 0x2756F +0x6D21 0x278AB +0x6D23 0x27B91 +0x6D26 0x27FB1 +0x6D28 0x281EF +0x6D29 0x28DF1 +0x6D2A 0x28DF2 +0x6D2B 0x291B7 +0x6D2C 0x291B5 +0x6D2E 0x29586 +0x6D2F 0x2965A +0x6D31 0x299C6 +0x6D32 0x299CB +0x6D34 0x29AB2 +0x6D36 0x29BF3 +0x6D38 0x29F27 +0x6D3B 0x2A1D5 +0x6D3C 0x2A1D8 +0x6D3E 0x2A1EC +0x6D3F 0x2A287 +0x6D40 0x2A2F2 +0x6D45 0x2A4AD +0x6D46 0x2A4B0 +0x6D47 0x2A4FD +0x6D49 0x2A587 +0x6D4A 0x2A64A +0x6D4D 0x2A64E +0x6D4E 0x2A649 +0x6D4F 0x2A651 +0x6D50 0x2A64D +0x6D52 0x20472 +0x6D54 0x21B16 +0x6D55 0x2386D +0x6D56 0x23941 +0x6D58 0x24171 +0x6D59 0x24174 +0x6D5D 0x25F7C +0x6D5F 0x2718A +0x6D60 0x27956 +0x6D63 0x28BFA +0x6D66 0x2965B +0x6D6A 0x2A1F5 +0x6D6B 0x2A1F0 +0x6D6C 0x2A2F3 +0x6D6D 0x2A37F +0x6D6E 0x2A413 +0x6D71 0x21B19 +0x6D72 0x22985 +0x6D73 0x22EB0 +0x6D74 0x24177 +0x6D75 0x255FF +0x6D7A 0x27187 +0x6D7C 0x2718B +0x6D7E 0x27B9E +0x6E23 0x2958F +0x6E26 0x29839 +0x6E27 0x299D4 +0x6E28 0x29AF1 +0x6E29 0x29C02 +0x6E2A 0x29C6B +0x6E2B 0x29D40 +0x6E2E 0x2A210 +0x6E2F 0x2A4BE +0x6E30 0x2A4B9 +0x6E32 0x2A664 +0x6E34 0x24AE9 +0x6E35 0x27190 +0x6E38 0x2721C +0x6E3A 0x27592 +0x6E3B 0x278AE +0x6E3C 0x27BA3 +0x6E3E 0x291C9 +0x6E40 0x299D8 +0x6E41 0x29D44 +0x6E42 0x2A224 +0x6E46 0x2A670 +0x6E47 0x2A6D3 +0x6E4A 0x2A4C3 +0x6E4E 0x25E21 +0x6E4F 0x26ACA +0x6E50 0x2759C +0x6E51 0x29C73 +0x6E52 0x2A386 +0x6E53 0x2A5C1 +0x6E54 0x29C09 +0x6E56 0x2A6D5 +0x6E5C 0x291D4 diff --git a/test/sun/nio/cs/SurrogateTestEUCTW.plane5.surrogates b/test/sun/nio/cs/SurrogateTestEUCTW.plane5.surrogates new file mode 100644 index 000000000..7c7131f85 --- /dev/null +++ b/test/sun/nio/cs/SurrogateTestEUCTW.plane5.surrogates @@ -0,0 +1,8143 @@ +0x2121 0x200D1 +0x2122 0x200CB +0x2123 0x200C9 +0x2124 0x2010C +0x2125 0x20000 +0x2126 0x20087 +0x2127 0x2010D +0x2128 0x2010F +0x2129 0x2F81D +0x212A 0x22398 +0x212B 0x200D2 +0x212C 0x20111 +0x212D 0x2007E +0x212E 0x20AD3 +0x212F 0x21552 +0x2130 0x21CFE +0x2131 0x225A9 +0x2132 0x23942 +0x2133 0x20009 +0x2134 0x200D6 +0x2135 0x204DD +0x2136 0x204DC +0x2137 0x20502 +0x2138 0x20573 +0x2139 0x20676 +0x213A 0x206A7 +0x213B 0x206A8 +0x213C 0x20833 +0x213D 0x208CC +0x213E 0x20A0D +0x213F 0x20A2C +0x2140 0x20B1B +0x2142 0x20B1D +0x2143 0x20B99 +0x2144 0x2123E +0x2145 0x21D2D +0x2146 0x21D2F +0x2147 0x22399 +0x2148 0x233B3 +0x2149 0x239B6 +0x214A 0x23B1B +0x214B 0x244EF +0x214C 0x248E9 +0x214D 0x20014 +0x214E 0x20094 +0x214F 0x200E1 +0x2150 0x20506 +0x2151 0x2054A +0x2152 0x20544 +0x2153 0x20631 +0x2154 0x2067A +0x2155 0x206AD +0x2156 0x206AE +0x2157 0x206B1 +0x2158 0x20838 +0x2159 0x20837 +0x215A 0x2097D +0x215B 0x2097E +0x215C 0x20A2D +0x215D 0x20A32 +0x215E 0x20B23 +0x215F 0x20B26 +0x2160 0x2F83A +0x2161 0x20BA0 +0x2162 0x216A8 +0x2163 0x2193F +0x2164 0x219BC +0x2165 0x21BC4 +0x2166 0x21D3B +0x2167 0x22019 +0x2168 0x22018 +0x2169 0x221B3 +0x216A 0x223AA +0x216B 0x224BE +0x216C 0x225AC +0x216D 0x22A25 +0x216E 0x22A66 +0x216F 0x22A6B +0x2170 0x23943 +0x2171 0x239B5 +0x2172 0x23AEC +0x2173 0x23C76 +0x2175 0x24614 +0x2176 0x215DC +0x2177 0x2471C +0x2178 0x2471D +0x2179 0x264D0 +0x217A 0x26612 +0x217B 0x26AF3 +0x217C 0x28669 +0x217E 0x28E11 +0x2221 0x28E15 +0x2222 0x28E10 +0x2223 0x28E13 +0x2224 0x200A4 +0x2225 0x200A5 +0x2226 0x201D0 +0x2227 0x201BA +0x2228 0x201CB +0x2229 0x2057B +0x222A 0x20686 +0x222B 0x206BB +0x222C 0x206BA +0x222D 0x206C3 +0x222E 0x206B9 +0x222F 0x206C0 +0x2231 0x20839 +0x2232 0x2083B +0x2233 0x20841 +0x2234 0x208D1 +0x2235 0x208CF +0x2236 0x208D2 +0x2237 0x2092E +0x2238 0x2096E +0x2239 0x2098C +0x223A 0x20988 +0x223B 0x20A35 +0x223D 0x20A3A +0x223E 0x20A3B +0x223F 0x20A38 +0x2240 0x20A39 +0x2241 0x20B2E +0x2242 0x20B2C +0x2243 0x20BC8 +0x2244 0x20BB5 +0x2245 0x20BAD +0x2246 0x20BB0 +0x2247 0x20BAB +0x2248 0x211B3 +0x2249 0x211A9 +0x224A 0x216BB +0x224B 0x216B9 +0x224C 0x21B5A +0x224D 0x21BCD +0x224E 0x21C2B +0x224F 0x21D05 +0x2252 0x21D51 +0x2253 0x21D4B +0x2254 0x21FEA +0x2255 0x21FED +0x2256 0x22036 +0x2257 0x22062 +0x2258 0x22056 +0x2259 0x22055 +0x225A 0x22064 +0x225B 0x22058 +0x225D 0x221DA +0x225E 0x221D8 +0x225F 0x223AD +0x2260 0x223AB +0x2261 0x224C0 +0x2262 0x224C3 +0x2263 0x225B3 +0x2264 0x225B7 +0x2265 0x225BA +0x2268 0x225C7 +0x2269 0x225B5 +0x226A 0x2298E +0x226B 0x22A73 +0x226C 0x22A6C +0x226D 0x22A74 +0x226E 0x2F8B4 +0x226F 0x22A72 +0x2270 0x22A71 +0x2271 0x22A82 +0x2272 0x22A70 +0x2273 0x2313F +0x2274 0x233BA +0x2275 0x233B8 +0x2276 0x239B7 +0x2277 0x24723 +0x2278 0x24721 +0x2279 0x2472B +0x227A 0x24726 +0x227B 0x24722 +0x227C 0x24D25 +0x227D 0x250E4 +0x227E 0x25415 +0x2321 0x264E4 +0x2322 0x26633 +0x2323 0x2662A +0x2324 0x26632 +0x2325 0x26629 +0x2326 0x26AFB +0x2327 0x2795B +0x2328 0x2795C +0x2329 0x27C28 +0x232A 0x2866F +0x232B 0x2866D +0x232C 0x2866B +0x232D 0x2866E +0x232E 0x28E16 +0x232F 0x20022 +0x2330 0x20116 +0x2331 0x20148 +0x2332 0x201D8 +0x2333 0x20200 +0x2335 0x20480 +0x2336 0x204E4 +0x2338 0x204E7 +0x2339 0x2050C +0x233A 0x20553 +0x233B 0x205B7 +0x233C 0x20AE8 +0x233D 0x206D1 +0x233E 0x206E5 +0x233F 0x206D8 +0x2340 0x206D6 +0x2341 0x206DA +0x2342 0x206D9 +0x2343 0x206D5 +0x2344 0x206E6 +0x2345 0x206D4 +0x2346 0x206D3 +0x2347 0x20844 +0x2348 0x208D6 +0x2349 0x208D7 +0x234A 0x20913 +0x234C 0x20970 +0x234D 0x20992 +0x234E 0x209DB +0x234F 0x209DA +0x2350 0x20A41 +0x2351 0x20A43 +0x2352 0x20B33 +0x2353 0x20BF6 +0x2354 0x20BD4 +0x2355 0x20BDD +0x2356 0x20BD0 +0x2357 0x20C04 +0x2358 0x20BD9 +0x2359 0x20BDB +0x235A 0x20C05 +0x235B 0x20BD3 +0x235C 0x20BE1 +0x235D 0x21280 +0x235E 0x21277 +0x235F 0x21281 +0x2360 0x21282 +0x2361 0x21283 +0x2362 0x2F85C +0x2363 0x21561 +0x2364 0x21560 +0x2365 0x216D8 +0x2366 0x216D6 +0x2367 0x216D7 +0x2368 0x24605 +0x2369 0x2194D +0x236A 0x21948 +0x236B 0x21BD6 +0x236C 0x21BCF +0x236D 0x21BD9 +0x236E 0x21BD8 +0x236F 0x21C3D +0x2371 0x21D54 +0x2372 0x21D5B +0x2373 0x21D5C +0x2375 0x21D59 +0x2376 0x21D58 +0x2377 0x21D5A +0x2378 0x21D55 +0x2379 0x21D56 +0x237A 0x21D82 +0x237B 0x21FF0 +0x237C 0x2201C +0x237D 0x2206A +0x237E 0x22069 +0x2421 0x22071 +0x2422 0x22067 +0x2423 0x2206C +0x2424 0x2206E +0x2425 0x22079 +0x2426 0x2218B +0x2427 0x221B8 +0x2428 0x221E7 +0x2429 0x221E8 +0x242A 0x221E4 +0x242B 0x221E6 +0x242C 0x221E5 +0x242D 0x221F0 +0x242E 0x22383 +0x242F 0x223B7 +0x2430 0x223BB +0x2431 0x223B9 +0x2432 0x223C5 +0x2433 0x22453 +0x2434 0x224C4 +0x2435 0x224C6 +0x2436 0x224CB +0x2437 0x225C8 +0x2438 0x2F89F +0x2439 0x225C9 +0x243A 0x225DB +0x243B 0x22994 +0x243C 0x22A95 +0x243D 0x22A88 +0x243E 0x22A8D +0x243F 0x22EEC +0x2440 0x22EEE +0x2441 0x22EF1 +0x2442 0x2312E +0x2443 0x23149 +0x2444 0x2335F +0x2445 0x233D1 +0x2446 0x233CB +0x2447 0x23885 +0x2449 0x2394A +0x244A 0x23947 +0x244B 0x2394B +0x244C 0x239BB +0x244D 0x239C4 +0x244F 0x23B02 +0x2450 0x23C82 +0x2451 0x23C91 +0x2452 0x23C8F +0x2453 0x23C92 +0x2454 0x2418F +0x2455 0x24191 +0x2456 0x241B4 +0x2457 0x24192 +0x2458 0x244F4 +0x2459 0x245AA +0x245A 0x24735 +0x245B 0x24737 +0x245C 0x2473D +0x245D 0x2473C +0x245E 0x2472F +0x245F 0x24730 +0x2460 0x248F8 +0x2461 0x248EF +0x2462 0x24B26 +0x2464 0x24D26 +0x2465 0x24D27 +0x2466 0x24F41 +0x2467 0x24FC6 +0x2468 0x24FC7 +0x2469 0x250EB +0x246A 0x250E8 +0x246B 0x250EA +0x246C 0x2541A +0x246D 0x25419 +0x246F 0x25923 +0x2470 0x25924 +0x2471 0x25E25 +0x2472 0x26635 +0x2473 0x26634 +0x2474 0x26A07 +0x2475 0x2721D +0x2476 0x277E1 +0x2477 0x27BAB +0x2478 0x28460 +0x2479 0x28677 +0x247A 0x2867D +0x247C 0x28E1E +0x247D 0x28E1A +0x247E 0x28E1D +0x2521 0x2006B +0x2522 0x2012D +0x2523 0x2014C +0x2524 0x2022A +0x2526 0x20215 +0x2527 0x2022C +0x2528 0x20206 +0x2529 0x20208 +0x252A 0x2020A +0x252C 0x20556 +0x252D 0x20584 +0x252F 0x205C6 +0x2530 0x206F5 +0x2531 0x20709 +0x2532 0x206F8 +0x2533 0x206E8 +0x2534 0x206FB +0x2535 0x206E9 +0x2536 0x206F6 +0x2539 0x20852 +0x253C 0x20854 +0x253D 0x20851 +0x253E 0x20939 +0x253F 0x2093A +0x2540 0x20998 +0x2541 0x20A4E +0x2543 0x20C36 +0x2544 0x20C0C +0x2545 0x20C10 +0x2546 0x20C32 +0x2547 0x20C11 +0x2548 0x20C18 +0x2549 0x20C1C +0x254A 0x20C1A +0x254B 0x20C19 +0x254C 0x20C0B +0x254D 0x20C0F +0x254E 0x20C1D +0x254F 0x20C21 +0x2550 0x20C13 +0x2551 0x20C1B +0x2552 0x20C15 +0x2554 0x211D1 +0x2555 0x211C8 +0x2556 0x2128D +0x2557 0x212B5 +0x255A 0x215F8 +0x255B 0x216E0 +0x255C 0x216E1 +0x255E 0x216DE +0x255F 0x216FE +0x2560 0x216DC +0x2561 0x21701 +0x2562 0x216FD +0x2563 0x21700 +0x2564 0x219D7 +0x2565 0x219D6 +0x2566 0x219D9 +0x2567 0x21B65 +0x2568 0x21BD2 +0x2569 0x21BDC +0x256A 0x21BE1 +0x256B 0x21BDE +0x256C 0x21C42 +0x256D 0x21C4B +0x256F 0x21D8E +0x2570 0x21D91 +0x2571 0x21D8B +0x2572 0x21D90 +0x2573 0x21D88 +0x2574 0x21D89 +0x2575 0x21D84 +0x2576 0x21DAA +0x2577 0x2208D +0x2578 0x2208F +0x2579 0x2207D +0x257A 0x2207F +0x257B 0x2207B +0x257C 0x22080 +0x257D 0x2207E +0x257E 0x22083 +0x2621 0x22081 +0x2622 0x22086 +0x2623 0x2208A +0x2624 0x221BD +0x2625 0x221BE +0x2627 0x221F4 +0x2628 0x221F3 +0x2629 0x22202 +0x262A 0x221F6 +0x262B 0x221F5 +0x262C 0x221F2 +0x262D 0x22204 +0x262E 0x2233D +0x262F 0x223C6 +0x2630 0x22489 +0x2631 0x224D4 +0x2632 0x224D6 +0x2633 0x224D2 +0x2634 0x225FA +0x2635 0x22606 +0x2636 0x2260C +0x2637 0x2260A +0x2638 0x2260F +0x2639 0x22A2F +0x263B 0x22AB7 +0x263C 0x22ABE +0x263D 0x22ABC +0x263E 0x22AE2 +0x263F 0x22F06 +0x2640 0x22EF7 +0x2641 0x22F07 +0x2642 0x22EF6 +0x2643 0x23B35 +0x2644 0x2315F +0x2645 0x23165 +0x2646 0x23164 +0x2647 0x23161 +0x2648 0x2315A +0x2649 0x2315D +0x264A 0x2F8D7 +0x264B 0x233D7 +0x264C 0x233D5 +0x264D 0x233DE +0x264E 0x233E1 +0x264F 0x233E0 +0x2650 0x233D9 +0x2652 0x233DA +0x2653 0x233DF +0x2654 0x233F6 +0x2655 0x23403 +0x2657 0x23893 +0x2658 0x2388B +0x2659 0x23891 +0x265A 0x23892 +0x265B 0x2388A +0x265C 0x23889 +0x265D 0x2388F +0x265E 0x23956 +0x265F 0x23959 +0x2660 0x239CA +0x2661 0x239CC +0x2663 0x239D0 +0x2664 0x239CD +0x2665 0x239D6 +0x2666 0x239CB +0x2667 0x23A83 +0x2668 0x23A82 +0x2669 0x23B06 +0x266A 0x23B2A +0x266B 0x23B2C +0x266C 0x23B2B +0x266D 0x23B29 +0x266E 0x23CBD +0x266F 0x23CB3 +0x2670 0x23CBE +0x2671 0x23CC0 +0x2672 0x23CB5 +0x2673 0x23CB6 +0x2674 0x2419D +0x2675 0x2419F +0x2676 0x24620 +0x2678 0x2461E +0x2679 0x2461C +0x267A 0x24632 +0x267B 0x2461F +0x267C 0x2462B +0x267D 0x24621 +0x267E 0x24626 +0x2721 0x24624 +0x2722 0x2461D +0x2723 0x24627 +0x2724 0x2475B +0x2725 0x24759 +0x2726 0x24780 +0x2727 0x24755 +0x2728 0x24750 +0x2729 0x2475A +0x272A 0x24756 +0x272B 0x24763 +0x272C 0x24752 +0x272D 0x24758 +0x272F 0x24739 +0x2730 0x248F9 +0x2731 0x24B28 +0x2733 0x24BBC +0x2734 0x24BD6 +0x2735 0x24C05 +0x2736 0x24C20 +0x2738 0x24D33 +0x2739 0x24F46 +0x273A 0x24F42 +0x273B 0x24F43 +0x273C 0x24F47 +0x273D 0x24FCB +0x273E 0x25042 +0x273F 0x25045 +0x2740 0x250FD +0x2741 0x250F4 +0x2742 0x250F9 +0x2743 0x250FA +0x2744 0x2535E +0x2745 0x2541D +0x2747 0x25758 +0x2748 0x25755 +0x2749 0x25A57 +0x274A 0x25A58 +0x274B 0x25AD9 +0x274C 0x25ADC +0x274D 0x25ADB +0x274E 0x25E27 +0x274F 0x25F85 +0x2750 0x25F87 +0x2751 0x25F8A +0x2752 0x2628B +0x2753 0x2634F +0x2754 0x26530 +0x2755 0x2652F +0x2756 0x26668 +0x2757 0x26649 +0x2759 0x26648 +0x275A 0x2663F +0x275B 0x2664B +0x275C 0x2665C +0x275D 0x26646 +0x275E 0x26640 +0x275F 0x26A0D +0x2760 0x26B1B +0x2761 0x26B1D +0x2762 0x26B17 +0x2764 0x26B22 +0x2765 0x275A7 +0x2766 0x27608 +0x2767 0x27806 +0x2768 0x2847D +0x276A 0x28463 +0x276B 0x28464 +0x276C 0x2847F +0x276D 0x2846B +0x276E 0x2847C +0x276F 0x28468 +0x2770 0x28465 +0x2771 0x2846A +0x2772 0x28698 +0x2773 0x28699 +0x2774 0x286AE +0x2775 0x28E2B +0x2776 0x28E2D +0x2777 0x28E31 +0x2778 0x28E2E +0x2779 0x28E2F +0x277A 0x2006D +0x277B 0x20131 +0x277C 0x2022D +0x277D 0x20239 +0x277E 0x20238 +0x2822 0x2023A +0x2823 0x20235 +0x2824 0x20262 +0x2825 0x204EA +0x2826 0x204EB +0x2827 0x20515 +0x2828 0x205CC +0x2829 0x205C8 +0x282A 0x205CD +0x282B 0x205DB +0x282C 0x205CB +0x282D 0x20711 +0x282E 0x20726 +0x282F 0x20862 +0x2830 0x2085E +0x2831 0x20861 +0x2832 0x20941 +0x2833 0x2093F +0x2834 0x20975 +0x2835 0x23965 +0x2836 0x20B49 +0x2837 0x209EB +0x2838 0x20A1A +0x2839 0x20A57 +0x283A 0x20C6B +0x283B 0x20CA9 +0x283C 0x20C54 +0x283D 0x20C62 +0x283E 0x20CAA +0x283F 0x20C58 +0x2840 0x20C72 +0x2841 0x20C63 +0x2842 0x20C73 +0x2843 0x20C8B +0x2844 0x20C8C +0x2845 0x20C5C +0x2846 0x20C51 +0x2847 0x20C16 +0x2848 0x20C60 +0x2849 0x20C61 +0x284A 0x20C5E +0x284B 0x20C5D +0x284C 0x20C64 +0x284D 0x20C53 +0x284E 0x20C5F +0x284F 0x20C5B +0x2850 0x20C6E +0x2851 0x20C55 +0x2852 0x20C52 +0x2853 0x20C68 +0x2854 0x211D2 +0x2855 0x211D6 +0x2856 0x211D3 +0x2857 0x212B8 +0x2858 0x212BB +0x2859 0x212EB +0x285A 0x212E8 +0x285B 0x212B6 +0x285C 0x212EA +0x285D 0x212E7 +0x285E 0x212E9 +0x285F 0x21591 +0x2860 0x21610 +0x2861 0x2160E +0x2862 0x2160F +0x2863 0x2170B +0x2864 0x21703 +0x2865 0x2172B +0x2866 0x21709 +0x2867 0x21728 +0x2868 0x2172C +0x2869 0x21725 +0x286A 0x21727 +0x286B 0x2170F +0x286C 0x219E9 +0x286D 0x219EC +0x286F 0x21B27 +0x2870 0x21B73 +0x2871 0x21BE2 +0x2872 0x21BE6 +0x2873 0x2F876 +0x2874 0x21C61 +0x2875 0x21C51 +0x2876 0x21D12 +0x2877 0x21D0E +0x2878 0x21DAD +0x2879 0x21DAF +0x287A 0x21DB1 +0x287B 0x21DD3 +0x287C 0x22094 +0x287D 0x22092 +0x287E 0x22090 +0x2921 0x2209D +0x2922 0x22093 +0x2923 0x22095 +0x2924 0x22098 +0x2925 0x22097 +0x2927 0x2F88A +0x2928 0x22207 +0x2929 0x2220B +0x292A 0x22208 +0x292B 0x223D9 +0x292C 0x223D5 +0x292D 0x224D7 +0x292E 0x224DF +0x2930 0x224DE +0x2931 0x224E3 +0x2932 0x224E2 +0x2934 0x22647 +0x2936 0x2263D +0x2937 0x22638 +0x2938 0x22A44 +0x2939 0x22A3A +0x293A 0x22AB8 +0x293B 0x22B2A +0x293C 0x22B00 +0x293D 0x22AF3 +0x293E 0x22AF2 +0x293F 0x22AEB +0x2940 0x22AFA +0x2941 0x22AED +0x2942 0x22AEC +0x2943 0x22AFF +0x2944 0x22AFB +0x2946 0x22B4E +0x2947 0x22AEF +0x2948 0x22AF7 +0x2949 0x22F10 +0x294A 0x22F11 +0x294B 0x22F0C +0x294C 0x22F0B +0x294D 0x230DD +0x294E 0x23130 +0x2950 0x2317A +0x2951 0x23177 +0x2952 0x23328 +0x2953 0x23327 +0x2954 0x23365 +0x2955 0x2340E +0x2956 0x2340B +0x2957 0x23441 +0x2958 0x23413 +0x2959 0x2340F +0x295A 0x23412 +0x295B 0x23430 +0x295C 0x238A0 +0x295D 0x238A3 +0x295E 0x2389E +0x295F 0x23897 +0x2960 0x238A1 +0x2961 0x2389D +0x2962 0x2389B +0x2963 0x23963 +0x2964 0x239E3 +0x2965 0x239E4 +0x2966 0x239E6 +0x2967 0x239E7 +0x2968 0x239DD +0x296A 0x239EC +0x296B 0x239E5 +0x296C 0x239F1 +0x296D 0x23B3B +0x296E 0x23B39 +0x296F 0x23B3A +0x2970 0x23B3C +0x2971 0x23B3D +0x2972 0x23B47 +0x2973 0x23B3F +0x2974 0x23B44 +0x2975 0x23C48 +0x2976 0x23C49 +0x2977 0x23C60 +0x2978 0x23CE3 +0x2979 0x23CE9 +0x297A 0x23CF0 +0x297D 0x23CF2 +0x297E 0x23CED +0x2A21 0x23CEC +0x2A22 0x23CE6 +0x2A23 0x23D16 +0x2A25 0x241BC +0x2A26 0x241BE +0x2A27 0x241C0 +0x2A28 0x241E0 +0x2A29 0x24500 +0x2A2A 0x24502 +0x2A2B 0x244FE +0x2A2C 0x2455E +0x2A2D 0x245B3 +0x2A2E 0x245B7 +0x2A2F 0x2463A +0x2A30 0x24639 +0x2A31 0x2463E +0x2A32 0x24638 +0x2A33 0x2463D +0x2A34 0x2464F +0x2A35 0x2476E +0x2A36 0x2475F +0x2A37 0x24781 +0x2A38 0x24782 +0x2A39 0x24771 +0x2A3A 0x2477B +0x2A3B 0x24779 +0x2A3C 0x24777 +0x2A3D 0x24773 +0x2A3E 0x2476F +0x2A3F 0x24797 +0x2A40 0x2477E +0x2A41 0x248FC +0x2A42 0x24911 +0x2A43 0x24932 +0x2A44 0x24931 +0x2A45 0x24910 +0x2A46 0x24AEC +0x2A47 0x24AEB +0x2A48 0x24B2C +0x2A49 0x24B2D +0x2A4A 0x24BDA +0x2A4B 0x24C2E +0x2A4C 0x24C2C +0x2A4D 0x24C2A +0x2A4E 0x24C33 +0x2A4F 0x24C4B +0x2A50 0x24D18 +0x2A51 0x24D42 +0x2A52 0x24D3B +0x2A53 0x24D3F +0x2A54 0x24D41 +0x2A55 0x24D43 +0x2A56 0x24D3C +0x2A57 0x24F4C +0x2A58 0x24F4A +0x2A59 0x24F49 +0x2A5A 0x24F56 +0x2A5B 0x24FCF +0x2A5C 0x25047 +0x2A5D 0x25048 +0x2A5E 0x25046 +0x2A5F 0x2511B +0x2A60 0x25111 +0x2A61 0x25114 +0x2A62 0x2511D +0x2A63 0x25117 +0x2A64 0x2511E +0x2A65 0x2510B +0x2A66 0x2511C +0x2A67 0x25112 +0x2A68 0x25116 +0x2A69 0x2510D +0x2A6A 0x25115 +0x2A6B 0x25113 +0x2A6C 0x25118 +0x2A6E 0x253AC +0x2A6F 0x25444 +0x2A70 0x2542C +0x2A71 0x25445 +0x2A72 0x25766 +0x2A73 0x2576E +0x2A74 0x25765 +0x2A75 0x25768 +0x2A76 0x25784 +0x2A77 0x25938 +0x2A78 0x2593B +0x2A79 0x2593A +0x2A7A 0x2593F +0x2A7B 0x25ADF +0x2A7C 0x25ADD +0x2A7D 0x25ADE +0x2A7E 0x25AE2 +0x2B22 0x25E2C +0x2B23 0x25E2F +0x2B24 0x25F8F +0x2B25 0x25F90 +0x2B26 0x25F8C +0x2B27 0x25F93 +0x2B28 0x26225 +0x2B29 0x26288 +0x2B2A 0x262A7 +0x2B2B 0x263F7 +0x2B2C 0x264BB +0x2B2D 0x26538 +0x2B2E 0x26539 +0x2B2F 0x26537 +0x2B30 0x26614 +0x2B31 0x2666E +0x2B32 0x2667B +0x2B34 0x2666C +0x2B35 0x2667F +0x2B36 0x26678 +0x2B37 0x2667A +0x2B38 0x2666F +0x2B3A 0x268FE +0x2B3B 0x26B48 +0x2B3C 0x26B4B +0x2B3D 0x26B41 +0x2B3E 0x26B49 +0x2B3F 0x26B3B +0x2B40 0x2722D +0x2B41 0x275E3 +0x2B42 0x2761A +0x2B43 0x2760D +0x2B44 0x27613 +0x2B45 0x27611 +0x2B46 0x2761C +0x2B48 0x278B5 +0x2B4A 0x27C29 +0x2B4B 0x27CA1 +0x2B4C 0x27D24 +0x2B4D 0x27FBB +0x2B4E 0x282A1 +0x2B4F 0x28483 +0x2B50 0x2848D +0x2B51 0x28487 +0x2B52 0x28485 +0x2B53 0x2848A +0x2B54 0x284A3 +0x2B55 0x28489 +0x2B56 0x28484 +0x2B57 0x284A2 +0x2B58 0x286B1 +0x2B59 0x286B0 +0x2B5A 0x286AF +0x2B5B 0x286B6 +0x2B5C 0x286C9 +0x2B5D 0x286CA +0x2B5E 0x286C8 +0x2B5F 0x286B4 +0x2B60 0x28C59 +0x2B61 0x28CC9 +0x2B62 0x28E41 +0x2B63 0x28E4C +0x2B65 0x28E45 +0x2B66 0x28E5A +0x2B67 0x200B9 +0x2B68 0x20294 +0x2B69 0x2026E +0x2B6A 0x202A2 +0x2B6B 0x20267 +0x2B6D 0x202A3 +0x2B6E 0x20276 +0x2B6F 0x2026C +0x2B70 0x20264 +0x2B71 0x202A5 +0x2B72 0x20230 +0x2B73 0x202A6 +0x2B74 0x20269 +0x2B75 0x202A4 +0x2B76 0x20490 +0x2B77 0x2055F +0x2B78 0x20560 +0x2B79 0x205DA +0x2B7A 0x205D8 +0x2B7B 0x205DD +0x2B7D 0x20759 +0x2B7E 0x2075B +0x2C21 0x2075A +0x2C22 0x20739 +0x2C23 0x20734 +0x2C24 0x20744 +0x2C25 0x20733 +0x2C26 0x2073C +0x2C27 0x20758 +0x2C28 0x2076A +0x2C29 0x2086F +0x2C2A 0x20872 +0x2C2B 0x20870 +0x2C2C 0x20871 +0x2C2D 0x2086E +0x2C2E 0x208F0 +0x2C2F 0x208EB +0x2C30 0x20949 +0x2C31 0x2094C +0x2C32 0x209F5 +0x2C33 0x20A20 +0x2C34 0x20A6A +0x2C35 0x20A72 +0x2C36 0x20B4B +0x2C37 0x20B5D +0x2C38 0x20C50 +0x2C39 0x20CF9 +0x2C3A 0x20CFA +0x2C3B 0x20CFB +0x2C3C 0x20D23 +0x2C3D 0x20CB7 +0x2C3E 0x20D22 +0x2C3F 0x20CB5 +0x2C40 0x20CC4 +0x2C41 0x20CB4 +0x2C42 0x20CEF +0x2C44 0x20CCD +0x2C45 0x20CF0 +0x2C46 0x20CB8 +0x2C47 0x20CCB +0x2C48 0x20CF1 +0x2C49 0x20CBA +0x2C4A 0x20D03 +0x2C4B 0x20CF8 +0x2C4C 0x20CB6 +0x2C4D 0x20CBC +0x2C4E 0x20CB3 +0x2C4F 0x20D21 +0x2C50 0x20CF7 +0x2C51 0x20CC2 +0x2C52 0x20CBE +0x2C53 0x20CC9 +0x2C54 0x20CBD +0x2C55 0x20CCE +0x2C56 0x20CB9 +0x2C57 0x20CC7 +0x2C58 0x20CCA +0x2C59 0x20CCC +0x2C5A 0x20D26 +0x2C5B 0x211E4 +0x2C5C 0x211E0 +0x2C5D 0x211F0 +0x2C5E 0x212EC +0x2C5F 0x21324 +0x2C60 0x21318 +0x2C61 0x2132F +0x2C62 0x21325 +0x2C63 0x21528 +0x2C64 0x21522 +0x2C65 0x2156A +0x2C66 0x20157 +0x2C67 0x21594 +0x2C68 0x21592 +0x2C69 0x2159C +0x2C6A 0x21622 +0x2C6B 0x21630 +0x2C6C 0x2161D +0x2C6D 0x21623 +0x2C6E 0x21735 +0x2C6F 0x21733 +0x2C70 0x2172F +0x2C71 0x2174D +0x2C72 0x21731 +0x2C73 0x2175B +0x2C74 0x2175A +0x2C75 0x21732 +0x2C76 0x2175C +0x2C77 0x21759 +0x2C78 0x2175D +0x2C79 0x21969 +0x2C7A 0x2196D +0x2C7B 0x22232 +0x2C7D 0x21A0A +0x2C7E 0x21A20 +0x2D21 0x21A1F +0x2D22 0x21A0D +0x2D23 0x21BE8 +0x2D24 0x21BEC +0x2D25 0x21C77 +0x2D26 0x21C70 +0x2D27 0x21C71 +0x2D28 0x21DF8 +0x2D29 0x21DD6 +0x2D2A 0x21DD9 +0x2D2B 0x21DDE +0x2D2C 0x21DD5 +0x2D2D 0x21DE1 +0x2D2F 0x21DE2 +0x2D30 0x21DDD +0x2D31 0x21DE0 +0x2D32 0x21E0E +0x2D33 0x21E08 +0x2D34 0x21DDC +0x2D35 0x21E0A +0x2D36 0x21E0C +0x2D37 0x220B4 +0x2D38 0x220B1 +0x2D39 0x220B6 +0x2D3A 0x220BC +0x2D3B 0x2221D +0x2D3C 0x22224 +0x2D3D 0x22219 +0x2D3E 0x2221B +0x2D3F 0x22222 +0x2D40 0x2221A +0x2D41 0x2221C +0x2D42 0x22221 +0x2D43 0x223E6 +0x2D44 0x223E4 +0x2D45 0x223E7 +0x2D46 0x223EA +0x2D48 0x2F89B +0x2D49 0x224F0 +0x2D4A 0x224F5 +0x2D4B 0x224EF +0x2D4C 0x22642 +0x2D4D 0x2266E +0x2D4E 0x2263C +0x2D4F 0x22697 +0x2D50 0x2268C +0x2D51 0x22681 +0x2D52 0x22671 +0x2D53 0x226CE +0x2D54 0x226BA +0x2D55 0x2267A +0x2D56 0x2267E +0x2D58 0x22672 +0x2D59 0x226BB +0x2D5B 0x22673 +0x2D5C 0x22682 +0x2D5E 0x229BA +0x2D5F 0x229B8 +0x2D60 0x22A4B +0x2D61 0x22A48 +0x2D62 0x22B2B +0x2D63 0x22AF4 +0x2D64 0x22B2C +0x2D65 0x22B42 +0x2D66 0x22B48 +0x2D67 0x22B44 +0x2D68 0x22B45 +0x2D69 0x22B3C +0x2D6A 0x22B37 +0x2D6B 0x22B33 +0x2D6C 0x22B41 +0x2D6D 0x22B32 +0x2D6E 0x22B87 +0x2D6F 0x22F27 +0x2D70 0x22F23 +0x2D71 0x22F2D +0x2D72 0x22F1F +0x2D73 0x22F2C +0x2D74 0x22F28 +0x2D75 0x23075 +0x2D76 0x23074 +0x2D77 0x230E7 +0x2D78 0x23132 +0x2D79 0x23131 +0x2D7A 0x23199 +0x2D7B 0x23196 +0x2D7C 0x23198 +0x2D7D 0x2319D +0x2D7E 0x23192 +0x2E21 0x23194 +0x2E22 0x23195 +0x2E23 0x23197 +0x2E24 0x266B9 +0x2E26 0x23411 +0x2E27 0x2343B +0x2E28 0x23479 +0x2E29 0x23442 +0x2E2A 0x23443 +0x2E2C 0x23478 +0x2E2D 0x238AC +0x2E2F 0x238B1 +0x2E30 0x238B4 +0x2E31 0x238B3 +0x2E32 0x238AF +0x2E33 0x238AA +0x2E34 0x238B2 +0x2E35 0x23968 +0x2E36 0x239F2 +0x2E37 0x239FE +0x2E38 0x239F8 +0x2E39 0x239F9 +0x2E3A 0x239FF +0x2E3B 0x239F5 +0x2E3C 0x239F7 +0x2E3D 0x239FD +0x2E3E 0x23A00 +0x2E3F 0x23A88 +0x2E40 0x23B6E +0x2E41 0x23B5D +0x2E42 0x23B63 +0x2E43 0x23B60 +0x2E44 0x23C61 +0x2E45 0x23D37 +0x2E46 0x23D71 +0x2E47 0x23D23 +0x2E48 0x23D22 +0x2E49 0x23D1F +0x2E4A 0x23D25 +0x2E4B 0x241FD +0x2E4C 0x24211 +0x2E4D 0x24223 +0x2E4E 0x241F0 +0x2E4F 0x241EF +0x2E50 0x2450E +0x2E51 0x2450C +0x2E52 0x245BA +0x2E54 0x24652 +0x2E55 0x24655 +0x2E56 0x24653 +0x2E57 0x24654 +0x2E58 0x24651 +0x2E59 0x24658 +0x2E5A 0x247B0 +0x2E5B 0x2479F +0x2E5D 0x247A1 +0x2E5E 0x2479A +0x2E5F 0x247BE +0x2E60 0x247A0 +0x2E61 0x24937 +0x2E63 0x24AF1 +0x2E64 0x24AF2 +0x2E65 0x24B34 +0x2E66 0x24B37 +0x2E67 0x24B35 +0x2E68 0x2238C +0x2E69 0x24BDF +0x2E6A 0x24C4C +0x2E6B 0x24C4E +0x2E6C 0x24C64 +0x2E6D 0x24C63 +0x2E6E 0x24C36 +0x2E6F 0x24D58 +0x2E70 0x24D68 +0x2E71 0x24D5B +0x2E72 0x24D5F +0x2E73 0x24D59 +0x2E74 0x24D65 +0x2E75 0x24D60 +0x2E76 0x24D5E +0x2E77 0x24FD5 +0x2E78 0x24FD6 +0x2E79 0x2504E +0x2E7A 0x25052 +0x2E7B 0x25135 +0x2E7C 0x25139 +0x2E7D 0x25158 +0x2E7E 0x25141 +0x2F21 0x25157 +0x2F22 0x25138 +0x2F23 0x2513D +0x2F24 0x25132 +0x2F25 0x25144 +0x2F26 0x2F944 +0x2F27 0x25363 +0x2F28 0x25362 +0x2F29 0x253B8 +0x2F2A 0x253B0 +0x2F2B 0x253B1 +0x2F2C 0x2544D +0x2F2D 0x25463 +0x2F2E 0x25470 +0x2F2F 0x2544B +0x2F30 0x2544F +0x2F31 0x2544E +0x2F32 0x25453 +0x2F33 0x25447 +0x2F35 0x25454 +0x2F36 0x25452 +0x2F37 0x25459 +0x2F38 0x2547E +0x2F39 0x2562B +0x2F3A 0x2562E +0x2F3B 0x2577F +0x2F3C 0x2577E +0x2F3D 0x25781 +0x2F3E 0x25783 +0x2F3F 0x25947 +0x2F40 0x25954 +0x2F41 0x2594D +0x2F42 0x2594C +0x2F43 0x2594B +0x2F44 0x25957 +0x2F45 0x25A65 +0x2F46 0x25A64 +0x2F47 0x25A61 +0x2F48 0x25A62 +0x2F49 0x25AF0 +0x2F4A 0x25AF3 +0x2F4B 0x25AF9 +0x2F4C 0x25AF4 +0x2F4D 0x25AF5 +0x2F4E 0x25AEF +0x2F4F 0x25AF8 +0x2F50 0x25AFC +0x2F51 0x25AF7 +0x2F52 0x25AFD +0x2F53 0x25B17 +0x2F54 0x25E34 +0x2F55 0x25E36 +0x2F56 0x25E38 +0x2F57 0x25FAF +0x2F58 0x25FAE +0x2F59 0x25FAC +0x2F5A 0x25FA2 +0x2F5B 0x26228 +0x2F5C 0x22EC2 +0x2F5D 0x2629C +0x2F5E 0x262B3 +0x2F5F 0x26290 +0x2F60 0x26406 +0x2F61 0x26404 +0x2F62 0x2640B +0x2F63 0x26405 +0x2F64 0x26540 +0x2F65 0x2654F +0x2F66 0x266AB +0x2F67 0x2669D +0x2F68 0x266B8 +0x2F69 0x266B2 +0x2F6A 0x266D2 +0x2F6B 0x266CF +0x2F6C 0x266A2 +0x2F6E 0x266A5 +0x2F6F 0x266A9 +0x2F70 0x266A7 +0x2F71 0x266D0 +0x2F72 0x26902 +0x2F73 0x269CF +0x2F74 0x269D0 +0x2F75 0x26A16 +0x2F76 0x26A19 +0x2F77 0x26B75 +0x2F78 0x26B71 +0x2F79 0x26B91 +0x2F7A 0x26B72 +0x2F7B 0x26B8E +0x2F7C 0x26B6D +0x2F7D 0x26B88 +0x2F7E 0x26B73 +0x3022 0x26B81 +0x3023 0x26B76 +0x3024 0x26B7B +0x3025 0x26B7F +0x3026 0x26B90 +0x3027 0x26B78 +0x3028 0x2724B +0x3029 0x27248 +0x302A 0x2725B +0x302B 0x27251 +0x302C 0x2723D +0x302D 0x27240 +0x302E 0x27246 +0x302F 0x2724D +0x3030 0x2723B +0x3031 0x2724A +0x3032 0x27241 +0x3033 0x2723E +0x3034 0x2724E +0x3035 0x275AC +0x3036 0x275E6 +0x3037 0x275E9 +0x3038 0x27629 +0x303A 0x27633 +0x303B 0x2762E +0x303C 0x2761E +0x303E 0x2F9C5 +0x303F 0x27622 +0x3040 0x27627 +0x3041 0x277E7 +0x3042 0x2780B +0x3043 0x27966 +0x3044 0x27BAD +0x3045 0x27BAE +0x3047 0x27C2B +0x3048 0x27C2A +0x3049 0x27D2C +0x304A 0x27D2D +0x304D 0x27E8F +0x304E 0x27E93 +0x304F 0x27FC6 +0x3050 0x27FC5 +0x3051 0x28215 +0x3052 0x28213 +0x3053 0x282B1 +0x3054 0x282A9 +0x3056 0x284A8 +0x3057 0x284AB +0x3058 0x284BE +0x3059 0x284AC +0x305A 0x284A9 +0x305B 0x284A6 +0x305C 0x284C1 +0x305D 0x286CC +0x305E 0x286D1 +0x305F 0x286D3 +0x3060 0x286E4 +0x3061 0x286CB +0x3062 0x286E1 +0x3063 0x286D2 +0x3064 0x286E3 +0x3065 0x286CF +0x3066 0x286D0 +0x3067 0x286E5 +0x3068 0x2870E +0x3069 0x28CCC +0x306A 0x28CCA +0x306B 0x28CCB +0x306C 0x28E5C +0x306D 0x28E61 +0x306E 0x28E5D +0x306F 0x28E59 +0x3070 0x29077 +0x3071 0x29684 +0x3072 0x20041 +0x3073 0x200FD +0x3074 0x2011A +0x3075 0x20163 +0x3076 0x202B6 +0x3077 0x202B2 +0x3078 0x202E9 +0x3079 0x202E7 +0x307A 0x202D6 +0x307B 0x20330 +0x307C 0x202EC +0x307D 0x202DD +0x307E 0x202E8 +0x3121 0x202B0 +0x3122 0x202B5 +0x3123 0x202E1 +0x3124 0x20498 +0x3125 0x20499 +0x3127 0x20593 +0x3128 0x205E5 +0x312A 0x20760 +0x312B 0x2075E +0x312D 0x2087B +0x312E 0x208F1 +0x312F 0x208F3 +0x3130 0x20A7F +0x3131 0x2F838 +0x3132 0x20B57 +0x3133 0x20B58 +0x3134 0x20D39 +0x3135 0x20DA7 +0x3136 0x20D35 +0x3137 0x20D60 +0x3138 0x20D51 +0x3139 0x20D62 +0x313A 0x20D42 +0x313B 0x20D3C +0x313C 0x20D43 +0x313D 0x20DAB +0x313E 0x20DA9 +0x313F 0x20DB4 +0x3140 0x20D79 +0x3141 0x20D6A +0x3142 0x20D3B +0x3143 0x20DAA +0x3144 0x20D33 +0x3145 0x20D37 +0x3146 0x20D27 +0x3147 0x20DA8 +0x3148 0x20D70 +0x3149 0x20D2F +0x314A 0x20D36 +0x314B 0x20DB5 +0x314C 0x20D30 +0x314D 0x20D3A +0x314E 0x20D38 +0x314F 0x20DB1 +0x3150 0x20DAC +0x3151 0x20D2E +0x3152 0x20D75 +0x3153 0x20DB0 +0x3154 0x211F7 +0x3155 0x21200 +0x3156 0x211F1 +0x3157 0x211F3 +0x3158 0x21360 +0x3159 0x21361 +0x315A 0x21332 +0x315B 0x2132D +0x315C 0x2134A +0x315D 0x2132A +0x315E 0x21567 +0x315F 0x215A2 +0x3160 0x215A3 +0x3161 0x2159E +0x3162 0x215A4 +0x3163 0x21644 +0x3164 0x21632 +0x3165 0x2179B +0x3166 0x21798 +0x3167 0x21799 +0x3168 0x2179A +0x3169 0x21766 +0x316A 0x21762 +0x316B 0x2176B +0x316C 0x24562 +0x316D 0x21767 +0x316E 0x21A3B +0x316F 0x21A23 +0x3170 0x21A29 +0x3171 0x21B7E +0x3172 0x21BF3 +0x3174 0x21BF5 +0x3176 0x21C80 +0x3177 0x21C7E +0x3178 0x21C7C +0x3179 0x21C7F +0x317A 0x21C7D +0x317B 0x21C81 +0x317C 0x21E25 +0x317D 0x21E29 +0x317E 0x21E17 +0x3221 0x21E63 +0x3222 0x21E67 +0x3223 0x21E65 +0x3224 0x21E2A +0x3225 0x21E68 +0x3226 0x21E26 +0x3227 0x21E64 +0x3228 0x21E1B +0x3229 0x21E62 +0x322A 0x21E69 +0x322B 0x21FFE +0x322C 0x22044 +0x322D 0x22042 +0x322E 0x220B7 +0x322F 0x220D2 +0x3230 0x220D4 +0x3231 0x220D7 +0x3232 0x220DC +0x3233 0x220D1 +0x3234 0x220D5 +0x3235 0x220CD +0x3236 0x220D8 +0x3237 0x2219A +0x3238 0x22242 +0x3239 0x22235 +0x323A 0x22258 +0x323B 0x22234 +0x323C 0x2223C +0x323D 0x2223B +0x323E 0x2223E +0x323F 0x2223D +0x3240 0x2225A +0x3241 0x22241 +0x3242 0x22238 +0x3243 0x22245 +0x3244 0x22233 +0x3245 0x22326 +0x3247 0x223F7 +0x3248 0x223EF +0x3249 0x223F0 +0x324A 0x223EE +0x324B 0x2249D +0x324C 0x22506 +0x324D 0x22511 +0x324E 0x22508 +0x324F 0x22502 +0x3250 0x2250A +0x3251 0x22507 +0x3252 0x22691 +0x3253 0x2268E +0x3254 0x22685 +0x3255 0x226E8 +0x3256 0x22717 +0x3257 0x226D4 +0x3259 0x226C4 +0x325A 0x226D5 +0x325C 0x226D8 +0x325D 0x22680 +0x325E 0x226DE +0x325F 0x22742 +0x3260 0x229C7 +0x3261 0x229BF +0x3262 0x22B8D +0x3263 0x22B89 +0x3264 0x22B90 +0x3265 0x22B9A +0x3266 0x22BC8 +0x3267 0x22B92 +0x3268 0x22BA1 +0x3269 0x22B84 +0x326A 0x22F57 +0x326B 0x22F47 +0x326C 0x22F77 +0x326D 0x22F3A +0x326E 0x22F50 +0x326F 0x22F42 +0x3270 0x22F43 +0x3271 0x22FA3 +0x3272 0x23077 +0x3273 0x231B2 +0x3274 0x231E2 +0x3275 0x231BD +0x3276 0x23374 +0x3277 0x23482 +0x3278 0x234B8 +0x327A 0x234BA +0x327B 0x234B9 +0x327C 0x234BB +0x327D 0x23487 +0x327E 0x2F8E4 +0x3321 0x23483 +0x3322 0x234B7 +0x3323 0x20043 +0x3324 0x238CE +0x3325 0x238BA +0x3326 0x23973 +0x3327 0x23A09 +0x3328 0x23A0A +0x3329 0x23A0B +0x332A 0x23A07 +0x332B 0x23A05 +0x332C 0x23A0E +0x332D 0x23A97 +0x332E 0x23B77 +0x332F 0x23B7B +0x3330 0x23B7A +0x3331 0x23B74 +0x3332 0x23B79 +0x3333 0x23D86 +0x3334 0x23DF5 +0x3335 0x23DA5 +0x3336 0x23D9D +0x3337 0x23DBE +0x3338 0x23D96 +0x3339 0x23DE1 +0x333A 0x23DA4 +0x333B 0x23DA1 +0x333C 0x23DF6 +0x333E 0x23D8D +0x333F 0x23D8B +0x3340 0x23D78 +0x3341 0x23D98 +0x3342 0x23E0A +0x3343 0x2425D +0x3344 0x24227 +0x3345 0x2425F +0x3346 0x245C0 +0x3347 0x245C1 +0x3348 0x2466D +0x3349 0x2465E +0x334A 0x2468A +0x334B 0x24662 +0x334C 0x24664 +0x334E 0x247C0 +0x334F 0x247CA +0x3350 0x247D1 +0x3352 0x247C7 +0x3353 0x247CE +0x3355 0x247C5 +0x3356 0x24936 +0x3357 0x24957 +0x3358 0x24977 +0x3359 0x24AF6 +0x335A 0x24AF7 +0x335B 0x24B55 +0x335C 0x24B44 +0x335D 0x24B3E +0x335E 0x24B42 +0x335F 0x24B52 +0x3360 0x24BE1 +0x3361 0x24C08 +0x3362 0x24C68 +0x3363 0x24C67 +0x3365 0x2F937 +0x3366 0x24D7E +0x3367 0x24D93 +0x3368 0x24D79 +0x3369 0x24D81 +0x336A 0x24D7D +0x336B 0x24D7B +0x336C 0x24D94 +0x336E 0x24F66 +0x336F 0x24FD9 +0x3370 0x24FE0 +0x3371 0x2F93E +0x3372 0x2505F +0x3373 0x2515F +0x3374 0x2515E +0x3375 0x25168 +0x3377 0x25188 +0x3378 0x2516A +0x3379 0x2516C +0x337A 0x25166 +0x337B 0x25167 +0x337C 0x25189 +0x337D 0x25160 +0x337E 0x25185 +0x3421 0x2032A +0x3422 0x25368 +0x3423 0x253B9 +0x3424 0x253BA +0x3425 0x253BE +0x3426 0x2546F +0x3427 0x25480 +0x3428 0x25474 +0x3429 0x25481 +0x342A 0x2547A +0x342B 0x2549C +0x342C 0x25473 +0x342D 0x25482 +0x342E 0x2547F +0x342F 0x254A7 +0x3430 0x25479 +0x3431 0x25478 +0x3432 0x2547D +0x3433 0x254A8 +0x3434 0x2547C +0x3435 0x25668 +0x3436 0x2564E +0x3437 0x2579E +0x343A 0x25798 +0x343C 0x25785 +0x343D 0x2579C +0x343E 0x257C5 +0x343F 0x2579A +0x3440 0x25968 +0x3441 0x25965 +0x3442 0x25967 +0x3443 0x25961 +0x3444 0x25960 +0x3447 0x25A7B +0x3449 0x25B19 +0x344A 0x25B0E +0x344B 0x25B31 +0x344C 0x25B12 +0x344D 0x25B10 +0x344E 0x25B15 +0x344F 0x25B3F +0x3450 0x25B1D +0x3451 0x25B1E +0x3452 0x25E4D +0x3453 0x25E48 +0x3454 0x25E45 +0x3455 0x25E42 +0x3456 0x25E49 +0x3457 0x25E4A +0x3458 0x25E47 +0x345A 0x25E4C +0x345B 0x25FCD +0x345C 0x25FD5 +0x345D 0x25FC4 +0x345E 0x25FCA +0x345F 0x25FC3 +0x3461 0x26229 +0x3462 0x262B4 +0x3463 0x2636D +0x3464 0x26366 +0x3465 0x2636A +0x3466 0x26415 +0x3467 0x264D3 +0x3468 0x264EC +0x3469 0x26555 +0x346B 0x266D6 +0x346C 0x266D8 +0x346D 0x26751 +0x346E 0x266E0 +0x346F 0x26703 +0x3470 0x26704 +0x3471 0x266DA +0x3472 0x266EA +0x3473 0x26702 +0x3474 0x266D3 +0x3475 0x266E4 +0x3476 0x266E5 +0x3477 0x2693B +0x3478 0x26966 +0x3479 0x26A2C +0x347A 0x26A21 +0x347B 0x26A26 +0x347C 0x26AD4 +0x347D 0x26AD5 +0x347E 0x26AD9 +0x3521 0x26BD5 +0x3522 0x26BEB +0x3523 0x26BC5 +0x3525 0x26C27 +0x3526 0x26BF0 +0x3527 0x26BB9 +0x3528 0x26C18 +0x3529 0x26BEE +0x352B 0x26BB7 +0x352C 0x26BBB +0x352D 0x26BEF +0x352E 0x26BB8 +0x352F 0x26BDF +0x3530 0x26BDA +0x3531 0x26BE3 +0x3532 0x26BC9 +0x3533 0x26BEC +0x3534 0x271A4 +0x3536 0x271A3 +0x3537 0x2725E +0x3538 0x27261 +0x3539 0x27262 +0x353A 0x27263 +0x353B 0x2728E +0x353C 0x27269 +0x353D 0x2726B +0x353E 0x27285 +0x353F 0x2728D +0x3540 0x27264 +0x3541 0x2726D +0x3542 0x2764C +0x3543 0x27649 +0x3544 0x27647 +0x3545 0x27648 +0x3546 0x27642 +0x3547 0x27645 +0x3548 0x2765B +0x3549 0x2765D +0x354A 0x27646 +0x354B 0x27813 +0x354C 0x2781A +0x354D 0x2780E +0x354E 0x2780F +0x354F 0x2781B +0x3550 0x27812 +0x3551 0x278C3 +0x3552 0x278BE +0x3553 0x278BD +0x3554 0x27979 +0x3555 0x2797C +0x3558 0x27980 +0x3559 0x27975 +0x355A 0x2799B +0x355C 0x27974 +0x355F 0x22041 +0x3560 0x22494 +0x3561 0x27C30 +0x3562 0x27CA7 +0x3563 0x27CA5 +0x3564 0x27CA4 +0x3565 0x27D3A +0x3566 0x27E5B +0x3567 0x27E9F +0x3568 0x27EA8 +0x3569 0x27EB3 +0x356A 0x27EA1 +0x356B 0x27EA7 +0x356C 0x27EB2 +0x356D 0x27E9D +0x356E 0x27EA3 +0x356F 0x27EA2 +0x3570 0x27FEF +0x3571 0x27FD9 +0x3573 0x27FD5 +0x3574 0x27FDD +0x3575 0x27FDA +0x3576 0x27FEE +0x3577 0x27FD7 +0x3578 0x2821A +0x3579 0x28219 +0x357A 0x28218 +0x357B 0x282B3 +0x357C 0x282BF +0x357D 0x282BB +0x357E 0x282C0 +0x3621 0x282B9 +0x3622 0x282B8 +0x3623 0x282D5 +0x3624 0x28411 +0x3625 0x28410 +0x3626 0x284C3 +0x3627 0x284C2 +0x3628 0x284E9 +0x3629 0x284CD +0x362A 0x284E5 +0x362B 0x284CA +0x362C 0x284C7 +0x362D 0x284E8 +0x362E 0x286F1 +0x362F 0x2870C +0x3630 0x286EF +0x3631 0x286EE +0x3632 0x286F3 +0x3633 0x2870D +0x3634 0x286F6 +0x3635 0x286F0 +0x3637 0x287F5 +0x3638 0x287F4 +0x3639 0x287F8 +0x363A 0x287FE +0x363B 0x28911 +0x363C 0x28922 +0x363D 0x28942 +0x363E 0x28C5C +0x363F 0x28C5A +0x3640 0x28C5D +0x3641 0x28CD1 +0x3642 0x28CD0 +0x3643 0x28E75 +0x3644 0x28E7B +0x3645 0x28F89 +0x3646 0x2944D +0x3647 0x29689 +0x3648 0x29692 +0x3649 0x2968C +0x364A 0x29688 +0x364B 0x29867 +0x364C 0x29868 +0x364D 0x20321 +0x364E 0x202F2 +0x364F 0x20309 +0x3650 0x202F8 +0x3651 0x202F0 +0x3652 0x202F3 +0x3653 0x202F5 +0x3654 0x202FB +0x3655 0x202F7 +0x3656 0x202EF +0x3657 0x2030B +0x3658 0x204A2 +0x3659 0x205F5 +0x365A 0x205F3 +0x365B 0x205F4 +0x365C 0x205F2 +0x365D 0x20698 +0x365E 0x20768 +0x365F 0x20780 +0x3660 0x20785 +0x3661 0x2078E +0x3662 0x2078F +0x3663 0x202F4 +0x3664 0x20786 +0x3665 0x207A4 +0x3666 0x20886 +0x3667 0x20889 +0x3668 0x20887 +0x3669 0x20885 +0x366B 0x20888 +0x366C 0x20AFF +0x366D 0x20B66 +0x366F 0x20DC3 +0x3671 0x20DC4 +0x3672 0x20E3B +0x3673 0x20DE7 +0x3674 0x20DF8 +0x3675 0x20DFB +0x3677 0x20DBE +0x3678 0x20DC6 +0x367B 0x20DFC +0x367C 0x20DC0 +0x367D 0x20E33 +0x367E 0x20DC9 +0x3721 0x20DFE +0x3722 0x20DDA +0x3723 0x20DCC +0x3724 0x20DBB +0x3725 0x20DFD +0x3726 0x20DDF +0x3727 0x20DCD +0x3728 0x20DC2 +0x3729 0x20DC8 +0x372A 0x20E32 +0x372B 0x20E2D +0x372C 0x20DD2 +0x372D 0x20E31 +0x372E 0x20DD3 +0x372F 0x20E2E +0x3730 0x20DCF +0x3731 0x211FF +0x3732 0x21209 +0x3733 0x211FC +0x3734 0x21372 +0x3735 0x213AA +0x3736 0x213AB +0x3737 0x213A7 +0x3738 0x2137B +0x3739 0x21376 +0x373A 0x213A8 +0x373B 0x213AC +0x373E 0x215AA +0x373F 0x20A03 +0x3740 0x215AC +0x3741 0x215AD +0x3742 0x215AB +0x3743 0x21650 +0x3744 0x21658 +0x3745 0x217DD +0x3747 0x217AE +0x3748 0x217A2 +0x3749 0x217AB +0x374A 0x217E3 +0x374B 0x217AF +0x374C 0x217E0 +0x374D 0x217E4 +0x374F 0x217A7 +0x3750 0x217AA +0x3751 0x217E2 +0x3752 0x217E1 +0x3753 0x217DF +0x3754 0x217AD +0x3755 0x217E5 +0x3756 0x217D1 +0x3757 0x217AC +0x3758 0x217D5 +0x3759 0x217A3 +0x375A 0x2179F +0x375B 0x21979 +0x375C 0x21976 +0x375D 0x21A43 +0x375E 0x21A3D +0x375F 0x21A47 +0x3760 0x21A44 +0x3761 0x21A3F +0x3762 0x21A5B +0x3763 0x21B7F +0x3764 0x21C9A +0x3765 0x21C9C +0x3767 0x21D1E +0x3768 0x21E88 +0x3769 0x21E6A +0x376A 0x21E76 +0x376B 0x21E72 +0x376C 0x21E70 +0x376D 0x21E7E +0x376E 0x21E6C +0x376F 0x21E6F +0x3770 0x21E75 +0x3771 0x21E77 +0x3772 0x21E78 +0x3773 0x21E8A +0x3774 0x21E79 +0x3775 0x21E94 +0x3776 0x22001 +0x3777 0x22105 +0x3778 0x220F1 +0x3779 0x220EE +0x377A 0x220EF +0x377B 0x22104 +0x377D 0x220FA +0x377E 0x22107 +0x3821 0x220F4 +0x3822 0x220F5 +0x3823 0x2219C +0x3824 0x2226D +0x3825 0x22269 +0x3826 0x22266 +0x3827 0x22262 +0x3828 0x22246 +0x382A 0x22265 +0x382B 0x2225D +0x382C 0x2225E +0x382D 0x2225F +0x382E 0x2238E +0x382F 0x22402 +0x3830 0x22406 +0x3831 0x22404 +0x3832 0x22403 +0x3833 0x22462 +0x3834 0x22527 +0x3835 0x22521 +0x3836 0x22520 +0x3837 0x22524 +0x3838 0x22529 +0x3839 0x22531 +0x383A 0x22523 +0x383B 0x22522 +0x383C 0x226DC +0x383D 0x2274D +0x383E 0x226E5 +0x383F 0x226D3 +0x3840 0x226EE +0x3841 0x226E6 +0x3843 0x22736 +0x3844 0x22740 +0x3845 0x2283F +0x3846 0x2273D +0x3847 0x22744 +0x3849 0x2275F +0x384A 0x22729 +0x384B 0x22749 +0x384C 0x2278A +0x384D 0x2272A +0x384E 0x22787 +0x384F 0x2274C +0x3850 0x22731 +0x3851 0x22748 +0x3852 0x2272B +0x3853 0x2273B +0x3854 0x22741 +0x3855 0x226C9 +0x3856 0x22734 +0x3857 0x22753 +0x3858 0x22735 +0x3859 0x22747 +0x385A 0x22738 +0x385B 0x229D1 +0x385C 0x229D2 +0x385D 0x22A51 +0x385E 0x22A55 +0x385F 0x22A52 +0x3860 0x22A53 +0x3861 0x22B8F +0x3862 0x22BF4 +0x3863 0x22C47 +0x3864 0x22C0D +0x3865 0x22C1C +0x3866 0x22BFB +0x3867 0x22C19 +0x3868 0x22BF7 +0x3869 0x22BF9 +0x386A 0x22BF5 +0x386B 0x22BE9 +0x386C 0x22C0A +0x386D 0x22BEE +0x386E 0x22C0B +0x386F 0x22BFD +0x3870 0x22C06 +0x3871 0x22C02 +0x3872 0x22C16 +0x3873 0x22C18 +0x3874 0x22BF0 +0x3875 0x22ED4 +0x3876 0x22F66 +0x3877 0x22F6A +0x3878 0x22F75 +0x3879 0x22F76 +0x387A 0x22F80 +0x387B 0x22F6D +0x387D 0x22F69 +0x387E 0x22F67 +0x3921 0x22F68 +0x3922 0x22F5D +0x3923 0x230A4 +0x3924 0x230FE +0x3925 0x230FD +0x3926 0x231EC +0x3927 0x231E9 +0x3928 0x23221 +0x3929 0x231EB +0x392A 0x231E7 +0x392B 0x231F2 +0x392C 0x23220 +0x392D 0x2337A +0x392E 0x2352D +0x392F 0x2352E +0x3930 0x234CA +0x3931 0x2352F +0x3932 0x234C8 +0x3934 0x234CB +0x3935 0x234C3 +0x3936 0x23484 +0x3937 0x234D2 +0x3938 0x234C6 +0x393A 0x234CF +0x393B 0x234D5 +0x393C 0x234D4 +0x393D 0x234DD +0x393E 0x2352B +0x393F 0x235A3 +0x3940 0x234DB +0x3941 0x2352C +0x3942 0x23513 +0x3944 0x238D1 +0x3945 0x238CC +0x3946 0x238D5 +0x3947 0x238C9 +0x3948 0x238CF +0x3949 0x238D2 +0x394A 0x2397B +0x394B 0x2397C +0x394C 0x23A23 +0x394D 0x23A1D +0x394E 0x23A1C +0x394F 0x23A1E +0x3950 0x23A22 +0x3951 0x23A24 +0x3952 0x23A20 +0x3953 0x23A18 +0x3954 0x23A21 +0x3955 0x23B88 +0x3956 0x23B8A +0x3957 0x23B94 +0x3958 0x23B8F +0x3959 0x23B8E +0x395A 0x23B90 +0x395C 0x23BA7 +0x395D 0x23C64 +0x395F 0x23E18 +0x3960 0x23E14 +0x3961 0x23E1D +0x3962 0x23E05 +0x3963 0x23DFF +0x3964 0x23E1B +0x3965 0x23E1A +0x3966 0x23E19 +0x3967 0x23E03 +0x3968 0x23E0E +0x3969 0x23E47 +0x396A 0x23E04 +0x396B 0x23E5A +0x396C 0x23E07 +0x396D 0x23E20 +0x396E 0x2426A +0x396F 0x24266 +0x3970 0x2427A +0x3971 0x24265 +0x3972 0x242AF +0x3973 0x245CD +0x3974 0x245CF +0x3975 0x245D1 +0x3976 0x245CE +0x3977 0x2465F +0x3978 0x24677 +0x3979 0x24674 +0x397A 0x24688 +0x397B 0x24675 +0x397C 0x24689 +0x397D 0x24672 +0x397E 0x247C6 +0x3A21 0x247EA +0x3A22 0x247E0 +0x3A23 0x24807 +0x3A24 0x247E6 +0x3A25 0x247E5 +0x3A26 0x247DD +0x3A27 0x247E3 +0x3A28 0x247DA +0x3A29 0x249AE +0x3A2A 0x2497E +0x3A2B 0x2497D +0x3A2C 0x2497F +0x3A2E 0x249D9 +0x3A2F 0x24AFA +0x3A30 0x24AFB +0x3A31 0x24B4D +0x3A32 0x24B54 +0x3A33 0x24B51 +0x3A34 0x24B50 +0x3A35 0x24D98 +0x3A36 0x24D95 +0x3A37 0x24D9D +0x3A38 0x24DC1 +0x3A39 0x24D9A +0x3A3A 0x24D9B +0x3A3C 0x24D9C +0x3A3D 0x24DD7 +0x3A3E 0x24DA4 +0x3A3F 0x24D96 +0x3A40 0x24DA0 +0x3A41 0x24F31 +0x3A42 0x24FE9 +0x3A43 0x2506E +0x3A44 0x2519A +0x3A45 0x251A5 +0x3A46 0x25194 +0x3A47 0x251A6 +0x3A48 0x25199 +0x3A49 0x2518B +0x3A4A 0x25198 +0x3A4B 0x25191 +0x3A4C 0x2518C +0x3A4D 0x251A1 +0x3A4E 0x251A3 +0x3A4F 0x251C6 +0x3A50 0x2536F +0x3A51 0x2536D +0x3A52 0x2536A +0x3A53 0x2536C +0x3A54 0x25371 +0x3A55 0x2536E +0x3A56 0x253DF +0x3A57 0x254AC +0x3A58 0x254AA +0x3A5A 0x254B5 +0x3A5B 0x254AD +0x3A5C 0x254B2 +0x3A5D 0x254B3 +0x3A5E 0x254AB +0x3A5F 0x254B6 +0x3A60 0x254C7 +0x3A61 0x254C6 +0x3A62 0x2566C +0x3A63 0x25670 +0x3A64 0x257B3 +0x3A66 0x2598C +0x3A67 0x25981 +0x3A68 0x25983 +0x3A69 0x2597D +0x3A6A 0x25985 +0x3A6B 0x25990 +0x3A6C 0x259A2 +0x3A6D 0x2598D +0x3A6E 0x2598F +0x3A6F 0x2597E +0x3A70 0x2598A +0x3A71 0x2597F +0x3A72 0x25976 +0x3A73 0x25987 +0x3A74 0x25978 +0x3A75 0x25A80 +0x3A76 0x25A82 +0x3A77 0x25A81 +0x3A78 0x25A83 +0x3A79 0x25B5A +0x3A7A 0x25B34 +0x3A7B 0x25B2C +0x3A7C 0x25B2A +0x3A7D 0x25B40 +0x3A7E 0x25B2D +0x3B21 0x25B33 +0x3B22 0x25B2B +0x3B23 0x25B4B +0x3B25 0x25B3C +0x3B26 0x25E5A +0x3B27 0x25E77 +0x3B28 0x25E60 +0x3B29 0x25FFA +0x3B2A 0x25FF9 +0x3B2B 0x25FFC +0x3B2D 0x25FF5 +0x3B2E 0x25FE8 +0x3B2F 0x26009 +0x3B30 0x25FE7 +0x3B31 0x25FE6 +0x3B32 0x25FE9 +0x3B33 0x26232 +0x3B34 0x2622C +0x3B35 0x262BD +0x3B36 0x262BC +0x3B37 0x2637A +0x3B38 0x2637E +0x3B39 0x26379 +0x3B3B 0x26423 +0x3B3C 0x26430 +0x3B3D 0x26428 +0x3B3E 0x264D4 +0x3B3F 0x26ACE +0x3B40 0x264F1 +0x3B41 0x264F0 +0x3B42 0x26560 +0x3B43 0x26565 +0x3B44 0x266A8 +0x3B45 0x2670A +0x3B46 0x2671B +0x3B47 0x26712 +0x3B48 0x26707 +0x3B49 0x2674F +0x3B4A 0x2670E +0x3B4B 0x26752 +0x3B4C 0x26716 +0x3B4E 0x26753 +0x3B4F 0x26754 +0x3B50 0x2F984 +0x3B51 0x26756 +0x3B52 0x2696D +0x3B53 0x26972 +0x3B54 0x26A2F +0x3B55 0x26C2A +0x3B57 0x26C63 +0x3B58 0x26C84 +0x3B59 0x26CAF +0x3B5A 0x26C45 +0x3B5B 0x26C70 +0x3B5C 0x26C56 +0x3B5D 0x26C16 +0x3B5E 0x26C3D +0x3B5F 0x26C38 +0x3B60 0x26C6F +0x3B61 0x26C77 +0x3B62 0x26C2E +0x3B63 0x26C31 +0x3B64 0x26C4C +0x3B65 0x26C5F +0x3B66 0x26C75 +0x3B67 0x26C39 +0x3B68 0x26C3A +0x3B69 0x26C2C +0x3B6A 0x26C2D +0x3B6B 0x26C3F +0x3B6C 0x26C2F +0x3B6D 0x26C30 +0x3B6E 0x26C3E +0x3B71 0x271B2 +0x3B72 0x272B7 +0x3B73 0x2728F +0x3B75 0x27296 +0x3B76 0x2729E +0x3B77 0x27297 +0x3B78 0x27295 +0x3B79 0x272A5 +0x3B7A 0x27298 +0x3B7C 0x272A3 +0x3B7D 0x2729A +0x3B7E 0x272AD +0x3C21 0x272A6 +0x3C22 0x272B6 +0x3C23 0x27299 +0x3C24 0x272AF +0x3C25 0x272AC +0x3C27 0x2729F +0x3C28 0x27294 +0x3C29 0x275EB +0x3C2A 0x2766F +0x3C2B 0x2766D +0x3C2C 0x2767E +0x3C2D 0x2766C +0x3C2E 0x27661 +0x3C2F 0x27663 +0x3C30 0x2766B +0x3C31 0x2765E +0x3C32 0x2763E +0x3C33 0x27664 +0x3C34 0x276AD +0x3C36 0x27820 +0x3C37 0x278D1 +0x3C38 0x278D5 +0x3C39 0x279AE +0x3C3A 0x279AF +0x3C3B 0x2799F +0x3C3C 0x279A8 +0x3C3D 0x279CA +0x3C3E 0x27BE1 +0x3C3F 0x27C39 +0x3C40 0x27C38 +0x3C41 0x27C3B +0x3C42 0x27CAD +0x3C43 0x27CB5 +0x3C44 0x27CAF +0x3C45 0x27CB1 +0x3C46 0x27CAE +0x3C47 0x27CB4 +0x3C48 0x27CB0 +0x3C49 0x27D4B +0x3C4A 0x27D51 +0x3C4B 0x27D4C +0x3C4D 0x27D60 +0x3C4E 0x27EBE +0x3C4F 0x27EB9 +0x3C50 0x27EB7 +0x3C51 0x27EB6 +0x3C53 0x27EBD +0x3C54 0x27EB8 +0x3C55 0x27EC1 +0x3C56 0x27FF7 +0x3C57 0x27FF3 +0x3C58 0x27FF4 +0x3C59 0x27FFB +0x3C5A 0x27FFD +0x3C5B 0x27FF5 +0x3C5D 0x27FFA +0x3C5E 0x28014 +0x3C60 0x27FF2 +0x3C61 0x27FFC +0x3C62 0x28000 +0x3C64 0x2822B +0x3C65 0x28229 +0x3C66 0x2822E +0x3C68 0x282D7 +0x3C69 0x282DB +0x3C6A 0x282D9 +0x3C6B 0x282D8 +0x3C6C 0x282E6 +0x3C6D 0x282D6 +0x3C6E 0x282D1 +0x3C6F 0x282E7 +0x3C70 0x282D0 +0x3C71 0x282DC +0x3C72 0x284ED +0x3C73 0x2851A +0x3C74 0x28519 +0x3C75 0x28516 +0x3C76 0x284EC +0x3C77 0x284EF +0x3C78 0x284EE +0x3C79 0x284F4 +0x3C7A 0x2852F +0x3C7B 0x28730 +0x3C7C 0x28719 +0x3C7D 0x28718 +0x3C7E 0x28711 +0x3D21 0x28716 +0x3D22 0x28712 +0x3D23 0x28710 +0x3D24 0x28714 +0x3D25 0x2880C +0x3D26 0x2880D +0x3D27 0x28910 +0x3D28 0x28929 +0x3D29 0x28928 +0x3D2A 0x28C65 +0x3D2B 0x28C66 +0x3D2C 0x28CDE +0x3D2D 0x28CDF +0x3D2E 0x28CE0 +0x3D2F 0x28CD9 +0x3D30 0x28CDB +0x3D31 0x28CD8 +0x3D32 0x28CE3 +0x3D33 0x28CD7 +0x3D34 0x28EA6 +0x3D35 0x28EA7 +0x3D36 0x28EBF +0x3D37 0x28EA8 +0x3D38 0x28E9F +0x3D39 0x28EA1 +0x3D3A 0x28EA2 +0x3D3B 0x28EAD +0x3D3C 0x28EA3 +0x3D3D 0x28EA0 +0x3D3E 0x29083 +0x3D3F 0x29085 +0x3D40 0x29082 +0x3D41 0x29084 +0x3D42 0x291EE +0x3D43 0x2925D +0x3D44 0x29392 +0x3D45 0x29455 +0x3D46 0x29453 +0x3D47 0x2F9FC +0x3D48 0x29451 +0x3D49 0x29452 +0x3D4A 0x29450 +0x3D4B 0x2959D +0x3D4C 0x29687 +0x3D4D 0x29697 +0x3D4E 0x2969B +0x3D4F 0x2969D +0x3D50 0x29869 +0x3D51 0x29A11 +0x3D53 0x29C7A +0x3D55 0x23244 +0x3D56 0x200C6 +0x3D57 0x20340 +0x3D58 0x2032E +0x3D59 0x20368 +0x3D5A 0x2032D +0x3D5B 0x20334 +0x3D5C 0x20332 +0x3D5D 0x20369 +0x3D5E 0x20331 +0x3D5F 0x2036A +0x3D60 0x2033E +0x3D61 0x2036F +0x3D62 0x20375 +0x3D63 0x204F6 +0x3D64 0x20520 +0x3D65 0x20528 +0x3D66 0x20567 +0x3D67 0x205FB +0x3D68 0x205FE +0x3D69 0x205FC +0x3D6A 0x205FD +0x3D6B 0x205FF +0x3D6C 0x205FA +0x3D6D 0x207AC +0x3D6E 0x207AF +0x3D6F 0x207B1 +0x3D71 0x207BF +0x3D72 0x207BE +0x3D73 0x207A7 +0x3D74 0x207AA +0x3D75 0x20894 +0x3D76 0x20893 +0x3D77 0x20899 +0x3D79 0x208FA +0x3D7A 0x20956 +0x3D7B 0x20A22 +0x3D7C 0x20A91 +0x3D7D 0x20A92 +0x3D7E 0x20B08 +0x3E21 0x20B06 +0x3E22 0x20DD6 +0x3E23 0x20E37 +0x3E24 0x20E4B +0x3E25 0x20ECE +0x3E26 0x20ED0 +0x3E27 0x20E39 +0x3E28 0x20E64 +0x3E29 0x20ECF +0x3E2A 0x20E46 +0x3E2B 0x20E66 +0x3E2C 0x20E56 +0x3E2D 0x20E43 +0x3E2E 0x20E4A +0x3E2F 0x20E58 +0x3E30 0x20E65 +0x3E31 0x20E5A +0x3E32 0x20E5B +0x3E33 0x20E55 +0x3E34 0x20E50 +0x3E35 0x20E4C +0x3E36 0x20ECD +0x3E37 0x20E51 +0x3E38 0x20E47 +0x3E3A 0x20E53 +0x3E3B 0x20E62 +0x3E3C 0x20ECC +0x3E3E 0x20E7F +0x3E3F 0x20E4D +0x3E40 0x2120A +0x3E41 0x2120C +0x3E42 0x2120F +0x3E43 0x213BB +0x3E44 0x213B9 +0x3E45 0x213EB +0x3E46 0x213AE +0x3E47 0x213C1 +0x3E48 0x213EA +0x3E49 0x213BE +0x3E4A 0x213BF +0x3E4B 0x213BA +0x3E4C 0x213B7 +0x3E4D 0x213B3 +0x3E4E 0x213E9 +0x3E4F 0x2156E +0x3E50 0x215AF +0x3E51 0x215B3 +0x3E52 0x215B2 +0x3E53 0x21668 +0x3E54 0x21669 +0x3E55 0x2166A +0x3E56 0x217DE +0x3E57 0x217EB +0x3E58 0x21811 +0x3E59 0x217ED +0x3E5A 0x217E9 +0x3E5B 0x217F7 +0x3E5C 0x217F4 +0x3E5D 0x217EA +0x3E5E 0x21812 +0x3E5F 0x217E8 +0x3E60 0x21813 +0x3E61 0x2198E +0x3E62 0x21986 +0x3E63 0x21A63 +0x3E64 0x21A65 +0x3E65 0x21B99 +0x3E66 0x21CC2 +0x3E67 0x21CAE +0x3E68 0x21CB0 +0x3E69 0x21CAD +0x3E6A 0x21EB4 +0x3E6B 0x21ED1 +0x3E6C 0x21EAD +0x3E6E 0x21EBD +0x3E6F 0x21EB7 +0x3E70 0x21EAB +0x3E71 0x21EAF +0x3E72 0x21EC1 +0x3E73 0x21EB5 +0x3E74 0x2210F +0x3E75 0x2210E +0x3E76 0x2211C +0x3E77 0x22113 +0x3E78 0x2210A +0x3E79 0x2211E +0x3E7A 0x22114 +0x3E7B 0x2211A +0x3E7C 0x221CB +0x3E7D 0x22287 +0x3E7E 0x22293 +0x3F22 0x22284 +0x3F23 0x22285 +0x3F24 0x22292 +0x3F25 0x22280 +0x3F26 0x2232B +0x3F27 0x22363 +0x3F28 0x2240A +0x3F2A 0x22466 +0x3F2B 0x22534 +0x3F2C 0x22533 +0x3F2D 0x2254D +0x3F2E 0x22789 +0x3F2F 0x22757 +0x3F31 0x2274A +0x3F33 0x22739 +0x3F34 0x2273F +0x3F35 0x22790 +0x3F36 0x2278F +0x3F37 0x227B2 +0x3F38 0x2279F +0x3F39 0x22795 +0x3F3A 0x227A1 +0x3F3B 0x2279C +0x3F3C 0x2278E +0x3F3D 0x227A0 +0x3F3E 0x227AE +0x3F3F 0x22796 +0x3F40 0x227CA +0x3F41 0x227AC +0x3F43 0x227A6 +0x3F44 0x22797 +0x3F45 0x22793 +0x3F46 0x203B6 +0x3F47 0x229D6 +0x3F48 0x229E0 +0x3F49 0x229D8 +0x3F4A 0x22A56 +0x3F4B 0x22C6E +0x3F4C 0x22C7E +0x3F4D 0x22C74 +0x3F4E 0x22C77 +0x3F4F 0x22C80 +0x3F50 0x22C7A +0x3F51 0x22C6B +0x3F52 0x22C5F +0x3F53 0x22C76 +0x3F54 0x22CB0 +0x3F55 0x22C63 +0x3F56 0x22F92 +0x3F57 0x22F82 +0x3F58 0x22F9D +0x3F59 0x22F94 +0x3F5A 0x22F83 +0x3F5B 0x22F8B +0x3F5C 0x22F84 +0x3F5D 0x23057 +0x3F5E 0x23084 +0x3F5F 0x230B5 +0x3F60 0x23109 +0x3F61 0x231E6 +0x3F63 0x23225 +0x3F64 0x23251 +0x3F65 0x2333E +0x3F66 0x2F8DA +0x3F67 0x23385 +0x3F68 0x2353F +0x3F69 0x23542 +0x3F6A 0x23538 +0x3F6B 0x2353A +0x3F6C 0x2354E +0x3F6D 0x23545 +0x3F6E 0x23539 +0x3F6F 0x23537 +0x3F70 0x23544 +0x3F71 0x2F8E7 +0x3F72 0x235A4 +0x3F73 0x2353D +0x3F74 0x23541 +0x3F75 0x238DF +0x3F76 0x238DE +0x3F77 0x238CA +0x3F78 0x238E9 +0x3F79 0x238E2 +0x3F7A 0x238E0 +0x3F7B 0x23989 +0x3F7C 0x23987 +0x3F7D 0x23A32 +0x3F7E 0x23A33 +0x4021 0x23AAC +0x4022 0x23AF9 +0x4023 0x23B0D +0x4024 0x23BB9 +0x4025 0x23E5E +0x4026 0x23E6A +0x4028 0x23E81 +0x4029 0x23E69 +0x402A 0x23EAC +0x402B 0x23E80 +0x402C 0x23E75 +0x402D 0x23E71 +0x402E 0x23E76 +0x402F 0x23E6F +0x4030 0x242B6 +0x4031 0x24303 +0x4032 0x242BF +0x4033 0x24301 +0x4034 0x242B2 +0x4035 0x242C4 +0x4036 0x245DB +0x4037 0x245DC +0x4038 0x245D8 +0x4039 0x29672 +0x403A 0x246B5 +0x403B 0x246A8 +0x403C 0x2468F +0x403D 0x2469E +0x403E 0x2468E +0x403F 0x247DE +0x4040 0x247E2 +0x4041 0x24820 +0x4042 0x2481D +0x4043 0x2481A +0x4044 0x24819 +0x4045 0x2482B +0x4046 0x24818 +0x4047 0x24810 +0x4048 0x2480E +0x4049 0x24824 +0x404A 0x2481F +0x404B 0x24813 +0x404C 0x24835 +0x404D 0x24983 +0x404F 0x249D7 +0x4050 0x24B02 +0x4051 0x24B03 +0x4052 0x24B5C +0x4053 0x24B5F +0x4054 0x24BC7 +0x4055 0x24C9A +0x4056 0x24C97 +0x4057 0x24CA3 +0x4058 0x24DF7 +0x4059 0x24DC6 +0x405A 0x24DCC +0x405B 0x24DD6 +0x405C 0x24DCD +0x405D 0x24DF9 +0x405E 0x24DD9 +0x405F 0x24DD8 +0x4061 0x24DD1 +0x4062 0x24DCE +0x4063 0x24DD5 +0x4065 0x24DD4 +0x4066 0x24DF8 +0x4067 0x24F7A +0x4068 0x24F79 +0x4069 0x24F7F +0x406A 0x24FF3 +0x406B 0x24FF5 +0x406C 0x24FF6 +0x406D 0x24FF4 +0x406E 0x24FF7 +0x4070 0x25079 +0x4071 0x2519C +0x4072 0x251DF +0x4073 0x251F5 +0x4074 0x251FF +0x4075 0x251D1 +0x4076 0x251DA +0x4077 0x251CF +0x4078 0x251CD +0x4079 0x251DE +0x407A 0x251D8 +0x407B 0x23AAD +0x407C 0x251E0 +0x407D 0x251FE +0x407E 0x2519E +0x4121 0x25375 +0x4122 0x25373 +0x4123 0x25372 +0x4124 0x253D8 +0x4125 0x254D0 +0x4126 0x254D6 +0x4127 0x254D7 +0x4128 0x254CA +0x4129 0x254CD +0x412A 0x2568A +0x412B 0x25689 +0x412C 0x2568B +0x412D 0x257D3 +0x412E 0x257DA +0x412F 0x257CE +0x4130 0x257D2 +0x4132 0x257D4 +0x4133 0x257D7 +0x4134 0x257D5 +0x4135 0x257FB +0x4136 0x257CD +0x4137 0x257FA +0x4138 0x257D6 +0x413A 0x2599B +0x413B 0x2599E +0x413C 0x2599D +0x413D 0x259A4 +0x413E 0x2599F +0x413F 0x259A5 +0x4140 0x259A8 +0x4141 0x25A8F +0x4142 0x25A8C +0x4143 0x25A95 +0x4144 0x25B60 +0x4145 0x25B55 +0x4146 0x25B5C +0x4147 0x25B6F +0x4148 0x25B51 +0x4149 0x25B61 +0x414A 0x25BA7 +0x414B 0x25B5E +0x414C 0x25B62 +0x414D 0x25B54 +0x414E 0x25B6E +0x414F 0x25B52 +0x4150 0x25B58 +0x4151 0x25B6D +0x4152 0x25B5F +0x4153 0x25B6C +0x4154 0x25B50 +0x4155 0x25B5D +0x4156 0x25B8E +0x4157 0x25E72 +0x4158 0x25E78 +0x4159 0x25E75 +0x415A 0x25E76 +0x415B 0x25E7C +0x415C 0x25E7E +0x415D 0x25E7D +0x415E 0x26015 +0x415F 0x26014 +0x4160 0x2601D +0x4161 0x2601C +0x4162 0x26023 +0x4163 0x26057 +0x4164 0x262C8 +0x4166 0x262C9 +0x4167 0x262C5 +0x4168 0x26387 +0x4169 0x2638A +0x416A 0x26394 +0x416B 0x26439 +0x416C 0x26440 +0x416D 0x2643E +0x416E 0x26438 +0x416F 0x264D6 +0x4171 0x26577 +0x4172 0x26578 +0x4173 0x2657D +0x4174 0x266DD +0x4175 0x2675E +0x4176 0x26777 +0x4177 0x267D4 +0x4178 0x26766 +0x4179 0x2675F +0x417A 0x26773 +0x417B 0x26772 +0x417C 0x26797 +0x417D 0x2675A +0x417E 0x26796 +0x4221 0x2675D +0x4222 0x26765 +0x4223 0x26770 +0x4224 0x26775 +0x4225 0x26774 +0x4226 0x2675C +0x4227 0x26760 +0x4229 0x2676D +0x422A 0x26941 +0x422B 0x26A3C +0x422C 0x26A3E +0x422E 0x26A49 +0x422F 0x26BE4 +0x4230 0x26D0C +0x4231 0x26D15 +0x4232 0x26D0E +0x4233 0x26CD4 +0x4234 0x26CC7 +0x4235 0x26D14 +0x4236 0x26CDB +0x4237 0x26D5F +0x4238 0x26CED +0x4239 0x26D09 +0x423A 0x26CCF +0x423B 0x26CFF +0x423C 0x26D1A +0x423D 0x26CF5 +0x423E 0x26CEE +0x423F 0x26CE5 +0x4240 0x26D0D +0x4241 0x26CDF +0x4242 0x26CEC +0x4243 0x26CD7 +0x4244 0x26D2C +0x4245 0x26CCD +0x4246 0x26CE3 +0x4247 0x26D00 +0x4248 0x26CEB +0x4249 0x26CFD +0x424A 0x26D0F +0x424B 0x26D2D +0x424C 0x26D50 +0x424D 0x26CFE +0x424E 0x26CC4 +0x424F 0x26CE1 +0x4250 0x26CF9 +0x4251 0x271BB +0x4252 0x271BC +0x4255 0x271BA +0x4256 0x272D0 +0x4257 0x272D6 +0x4258 0x272CE +0x4259 0x272E1 +0x425A 0x272D5 +0x425B 0x272CF +0x425C 0x272D3 +0x425E 0x272D4 +0x425F 0x275B5 +0x4260 0x27690 +0x4261 0x276A1 +0x4262 0x27681 +0x4263 0x27685 +0x4264 0x2766E +0x4265 0x27688 +0x4266 0x27682 +0x4267 0x27686 +0x4268 0x2768F +0x4269 0x27689 +0x426A 0x27680 +0x426B 0x27684 +0x426D 0x27829 +0x426E 0x2782B +0x426F 0x2782A +0x4270 0x27830 +0x4271 0x278E2 +0x4272 0x278E3 +0x4273 0x278E1 +0x4274 0x279D5 +0x4275 0x279C4 +0x4276 0x279C9 +0x4277 0x279E0 +0x4278 0x279DF +0x4279 0x279CB +0x427A 0x279DD +0x427B 0x279E8 +0x427C 0x279D4 +0x427D 0x27A1C +0x427E 0x27BB5 +0x4321 0x27BB6 +0x4322 0x27BE5 +0x4323 0x27C45 +0x4324 0x27C49 +0x4325 0x27C40 +0x4326 0x27C46 +0x4327 0x27C44 +0x4328 0x27C4A +0x4329 0x27CC9 +0x432A 0x27CC4 +0x432B 0x27CC2 +0x432C 0x27D68 +0x432E 0x27D82 +0x432F 0x27D6B +0x4330 0x27D67 +0x4331 0x27D6C +0x4332 0x27D6D +0x4333 0x27D71 +0x4335 0x27ED7 +0x4336 0x27ED2 +0x4337 0x27ED9 +0x4339 0x27EBC +0x433A 0x27EDD +0x433B 0x27ED6 +0x433D 0x27ED8 +0x433E 0x28020 +0x433F 0x28016 +0x4340 0x28018 +0x4341 0x28015 +0x4342 0x28019 +0x4343 0x28027 +0x4344 0x28050 +0x4345 0x2801D +0x4346 0x2802C +0x4347 0x2801C +0x4348 0x28029 +0x4349 0x2802B +0x434A 0x28024 +0x434C 0x28028 +0x434D 0x28239 +0x434E 0x282F2 +0x434F 0x282F0 +0x4351 0x282ED +0x4352 0x282EF +0x4353 0x282EA +0x4354 0x28301 +0x4355 0x284BC +0x4356 0x2855C +0x4357 0x2855B +0x4358 0x2855A +0x4359 0x28526 +0x435A 0x28743 +0x435B 0x28733 +0x435C 0x2873A +0x435D 0x28737 +0x435E 0x28736 +0x435F 0x2873C +0x4360 0x28734 +0x4361 0x2874A +0x4362 0x2873B +0x4363 0x28735 +0x4364 0x2873D +0x4365 0x28740 +0x4366 0x2873E +0x4367 0x28717 +0x4368 0x28826 +0x4369 0x28824 +0x436A 0x28810 +0x436B 0x28836 +0x436C 0x28825 +0x436E 0x28966 +0x436F 0x28C7F +0x4370 0x28C7A +0x4371 0x28CFB +0x4372 0x28CFD +0x4373 0x28CFC +0x4374 0x28CFA +0x4375 0x28ED6 +0x4376 0x28ED2 +0x4377 0x28EC8 +0x4378 0x28EC2 +0x4379 0x28EC7 +0x437A 0x28ECD +0x437B 0x28EC1 +0x437C 0x28EC6 +0x437D 0x28ECC +0x437E 0x28FA1 +0x4421 0x29095 +0x4422 0x29094 +0x4423 0x29097 +0x4424 0x29096 +0x4425 0x29093 +0x4426 0x290A1 +0x4427 0x29209 +0x4428 0x29208 +0x4429 0x29267 +0x442A 0x29265 +0x442B 0x29262 +0x442C 0x29261 +0x442D 0x29397 +0x442E 0x29401 +0x442F 0x29419 +0x4430 0x29418 +0x4431 0x2945C +0x4432 0x29467 +0x4433 0x2946C +0x4435 0x2F9FD +0x4436 0x29466 +0x4437 0x29461 +0x4438 0x2946E +0x4439 0x2945D +0x443A 0x2945A +0x443B 0x295A2 +0x443C 0x295A9 +0x443D 0x295A5 +0x443E 0x295A6 +0x443F 0x295B2 +0x4440 0x295A3 +0x4441 0x296AC +0x4442 0x296AA +0x4443 0x296AF +0x4444 0x296AB +0x4445 0x296B1 +0x4446 0x296C6 +0x4447 0x296AD +0x4448 0x296B9 +0x4449 0x29870 +0x444B 0x29C0C +0x444C 0x29C81 +0x444D 0x29C83 +0x444E 0x29C7E +0x444F 0x29D51 +0x4450 0x29F99 +0x4451 0x29F94 +0x4452 0x29F95 +0x4453 0x2A2FE +0x4454 0x2A418 +0x4455 0x20105 +0x4456 0x20372 +0x4458 0x20399 +0x4459 0x204AD +0x445A 0x20606 +0x445B 0x207C2 +0x445C 0x207CB +0x445D 0x207D5 +0x445E 0x207D2 +0x445F 0x207CC +0x4460 0x207D7 +0x4461 0x207C5 +0x4462 0x207CA +0x4464 0x208A2 +0x4465 0x208A3 +0x4466 0x208A1 +0x4468 0x208A6 +0x4469 0x208A4 +0x446A 0x208FF +0x446B 0x20900 +0x446D 0x20A06 +0x446E 0x20A25 +0x446F 0x20A9F +0x4470 0x20B7F +0x4471 0x20EEA +0x4472 0x20EEB +0x4473 0x20EDE +0x4474 0x20F18 +0x4475 0x20EE0 +0x4476 0x20EE8 +0x4477 0x20EDF +0x4478 0x20EF1 +0x4479 0x20EEC +0x447A 0x20F1A +0x447B 0x20EE6 +0x447C 0x20EE1 +0x447D 0x20F5D +0x447E 0x20077 +0x4521 0x20F1E +0x4523 0x20F80 +0x4524 0x21217 +0x4525 0x2141D +0x4526 0x213F7 +0x4527 0x213EF +0x4528 0x213EE +0x4529 0x213ED +0x452A 0x213F5 +0x452B 0x2141E +0x452C 0x215BD +0x452D 0x257FF +0x452E 0x215BE +0x452F 0x2166D +0x4530 0x21676 +0x4531 0x2184C +0x4532 0x21819 +0x4533 0x21848 +0x4534 0x2181E +0x4535 0x2184A +0x4536 0x21849 +0x4537 0x21826 +0x4538 0x21995 +0x4539 0x21A85 +0x453A 0x21A7E +0x453B 0x21A97 +0x453C 0x21A7D +0x453D 0x21B42 +0x453E 0x21B9E +0x453F 0x21C0C +0x4540 0x21C0B +0x4541 0x21C0E +0x4542 0x21CCF +0x4543 0x21ED8 +0x4544 0x21EE0 +0x4545 0x21EE8 +0x4546 0x21EE9 +0x4547 0x21EE2 +0x4548 0x21EE1 +0x4549 0x21EDA +0x454A 0x21EE3 +0x454B 0x21ED9 +0x454C 0x21EF0 +0x454D 0x21EE7 +0x454E 0x21EE4 +0x454F 0x22123 +0x4550 0x22131 +0x4551 0x22133 +0x4552 0x2210C +0x4553 0x269E0 +0x4554 0x22126 +0x4555 0x22124 +0x4556 0x22132 +0x4557 0x22127 +0x4558 0x22121 +0x4559 0x22130 +0x455A 0x221A2 +0x455B 0x221CC +0x455C 0x22296 +0x455D 0x2F88F +0x455E 0x22298 +0x455F 0x2229C +0x4560 0x2229B +0x4561 0x2236B +0x4562 0x22412 +0x4563 0x22414 +0x4564 0x2255A +0x4565 0x22554 +0x4566 0x22551 +0x4567 0x2255E +0x4568 0x22558 +0x456A 0x22559 +0x456B 0x2279A +0x456C 0x227F2 +0x456D 0x227AD +0x456E 0x22820 +0x456F 0x227F1 +0x4570 0x227F0 +0x4571 0x227F3 +0x4572 0x227F4 +0x4573 0x227E9 +0x4574 0x227FE +0x4575 0x2282E +0x4576 0x227E8 +0x4577 0x227E7 +0x4578 0x227FF +0x4579 0x227F5 +0x457A 0x229E5 +0x457B 0x229E7 +0x457C 0x229E6 +0x457D 0x229E9 +0x457E 0x22A58 +0x4621 0x22C6C +0x4622 0x22CD9 +0x4624 0x22CCB +0x4626 0x22CBE +0x4627 0x22CB5 +0x4628 0x22CD1 +0x4629 0x22CC2 +0x462A 0x22CB6 +0x462B 0x22CD3 +0x462C 0x2F8C2 +0x462D 0x22EDA +0x462F 0x22FAE +0x4631 0x22FAC +0x4632 0x22FA9 +0x4633 0x22FBA +0x4634 0x22FA7 +0x4635 0x22FB3 +0x4636 0x22FBD +0x4637 0x22FB1 +0x4638 0x2310E +0x4639 0x23111 +0x463A 0x2310F +0x463B 0x23252 +0x463C 0x2326A +0x463D 0x23254 +0x463E 0x23255 +0x463F 0x23253 +0x4640 0x23257 +0x4641 0x2F8D0 +0x4642 0x2325B +0x4643 0x23258 +0x4644 0x23259 +0x4646 0x235B8 +0x4647 0x235B5 +0x4648 0x235BF +0x4649 0x235C1 +0x464A 0x235BB +0x464C 0x235C3 +0x464D 0x235AD +0x464E 0x235A8 +0x464F 0x235AE +0x4650 0x235AA +0x4651 0x235D0 +0x4652 0x235B1 +0x4653 0x235BC +0x4654 0x235B7 +0x4655 0x235B0 +0x4656 0x235FA +0x4657 0x235FB +0x4658 0x235B9 +0x4659 0x23907 +0x465A 0x238FC +0x465B 0x238FF +0x465C 0x238F2 +0x465D 0x238F8 +0x465E 0x238F4 +0x4661 0x23AAE +0x4662 0x23B0F +0x4663 0x23B10 +0x4664 0x29AC1 +0x4665 0x23BC7 +0x4666 0x23BC6 +0x4667 0x23BCE +0x4669 0x23BDC +0x466A 0x23ED5 +0x466B 0x23ED3 +0x466C 0x23F20 +0x466D 0x23EE2 +0x466E 0x23EF1 +0x466F 0x23EDB +0x4670 0x23EEA +0x4671 0x23EEB +0x4672 0x23EE1 +0x4673 0x23EFF +0x4674 0x23ED6 +0x4675 0x23EE0 +0x4676 0x23ED7 +0x4677 0x23EE5 +0x4679 0x2431B +0x467A 0x24310 +0x467B 0x2430F +0x467C 0x2430E +0x467D 0x24339 +0x467E 0x2430A +0x4721 0x24314 +0x4722 0x2430C +0x4723 0x24523 +0x4724 0x2455A +0x4725 0x245E2 +0x4726 0x24693 +0x4727 0x246B0 +0x4728 0x246AB +0x4729 0x246BD +0x472A 0x246B1 +0x472B 0x2468D +0x472C 0x246AD +0x472D 0x246AA +0x472E 0x246AC +0x472F 0x246BC +0x4730 0x246C9 +0x4731 0x24847 +0x4732 0x24862 +0x4733 0x24840 +0x4734 0x24844 +0x4735 0x2483F +0x4736 0x24843 +0x4737 0x2483D +0x4738 0x24860 +0x4739 0x2485F +0x473A 0x2483A +0x473B 0x24842 +0x473C 0x2485E +0x473D 0x2485D +0x473E 0x249BC +0x473F 0x249E0 +0x4740 0x249EE +0x4741 0x249EB +0x4742 0x24A0D +0x4743 0x24B09 +0x4744 0x24B0C +0x4745 0x24B69 +0x4746 0x24B74 +0x4747 0x24B67 +0x474A 0x24CAD +0x474B 0x24DFF +0x474C 0x24E16 +0x474D 0x24E08 +0x474E 0x24E09 +0x474F 0x24E00 +0x4750 0x24DFC +0x4751 0x24E13 +0x4752 0x24E14 +0x4753 0x24E0A +0x4754 0x2983E +0x4755 0x24E29 +0x4756 0x24E17 +0x4757 0x24E3B +0x4758 0x24DFB +0x475A 0x24E0E +0x475C 0x25008 +0x475D 0x2521B +0x475E 0x2521A +0x475F 0x25219 +0x4760 0x25202 +0x4762 0x25217 +0x4763 0x25207 +0x4764 0x25213 +0x4765 0x25209 +0x4766 0x2520A +0x4767 0x25212 +0x4768 0x252AA +0x4769 0x25238 +0x476A 0x2537B +0x476B 0x2537C +0x476C 0x2537A +0x476D 0x253EA +0x476E 0x253EB +0x476F 0x253EF +0x4770 0x253F0 +0x4771 0x25509 +0x4772 0x25502 +0x4773 0x25501 +0x4774 0x2552B +0x4775 0x25507 +0x4777 0x25528 +0x4778 0x254FB +0x4779 0x2552A +0x477A 0x254FE +0x477B 0x25504 +0x477C 0x25529 +0x477D 0x2550A +0x4821 0x256C2 +0x4823 0x256A6 +0x4825 0x22FC6 +0x4826 0x21C07 +0x4827 0x2580A +0x4828 0x257FD +0x4829 0x25806 +0x482A 0x2580D +0x482B 0x25809 +0x482C 0x2580B +0x482D 0x25800 +0x482E 0x25805 +0x482F 0x2583D +0x4830 0x259D5 +0x4831 0x259BF +0x4832 0x259BA +0x4833 0x259C7 +0x4834 0x25A98 +0x4835 0x25A9A +0x4837 0x25BA4 +0x4838 0x25B9C +0x4839 0x25B9D +0x483A 0x25BA2 +0x483B 0x25B96 +0x483C 0x25B95 +0x483D 0x25BA5 +0x483E 0x25BAA +0x483F 0x25BAD +0x4840 0x25B9A +0x4841 0x25BA3 +0x4842 0x25B97 +0x4843 0x25B90 +0x4844 0x25BAF +0x4845 0x25B8D +0x4847 0x25BA8 +0x4848 0x25BEE +0x4849 0x25EA3 +0x484A 0x25E99 +0x484B 0x25EA1 +0x484C 0x25E9C +0x484D 0x25EA4 +0x484E 0x25ECB +0x484F 0x26056 +0x4850 0x26048 +0x4851 0x26059 +0x4852 0x2604A +0x4853 0x2605C +0x4855 0x2604F +0x4856 0x2604D +0x4857 0x2605D +0x4858 0x2623A +0x4859 0x262E3 +0x485A 0x262E1 +0x485B 0x262DE +0x485C 0x26397 +0x485D 0x2639A +0x485E 0x26448 +0x485F 0x2644A +0x4860 0x2644C +0x4861 0x2644E +0x4862 0x2644F +0x4863 0x2644B +0x4864 0x2644D +0x4865 0x26447 +0x4866 0x26451 +0x4867 0x264DA +0x4868 0x264F9 +0x4869 0x264FC +0x486A 0x264FB +0x486B 0x264FD +0x486C 0x264F8 +0x486D 0x264FA +0x486E 0x2658A +0x486F 0x2658E +0x4870 0x26588 +0x4871 0x26589 +0x4872 0x2658D +0x4873 0x26590 +0x4874 0x2F97E +0x4875 0x2671C +0x4876 0x267AB +0x4877 0x267A4 +0x4878 0x267A8 +0x4879 0x267AD +0x487A 0x2679F +0x487B 0x2679A +0x487C 0x267B0 +0x487D 0x267A5 +0x487E 0x267D5 +0x4921 0x267A2 +0x4922 0x267B2 +0x4923 0x2679D +0x4924 0x267A1 +0x4925 0x26915 +0x4926 0x26942 +0x4927 0x26973 +0x4928 0x26984 +0x4929 0x269DD +0x492A 0x26A5C +0x492B 0x26A4C +0x492D 0x26A4B +0x492E 0x26C67 +0x492F 0x26DA8 +0x4930 0x26D7F +0x4931 0x26D8D +0x4932 0x26D8B +0x4933 0x26DF7 +0x4934 0x26DA9 +0x4935 0x26DF4 +0x4936 0x26D9A +0x4937 0x26D8C +0x4938 0x26D95 +0x4939 0x26D7E +0x493A 0x26D77 +0x493D 0x26D71 +0x493E 0x26DFD +0x493F 0x26D88 +0x4940 0x26D99 +0x4941 0x26D6D +0x4942 0x26DD4 +0x4943 0x26D91 +0x4944 0x26D7D +0x4945 0x26D63 +0x4946 0x26D75 +0x4947 0x26DF9 +0x4948 0x26D8E +0x4949 0x26D74 +0x494A 0x26DD9 +0x494B 0x26D66 +0x494C 0x26DFA +0x494D 0x26DF5 +0x494F 0x271C1 +0x4950 0x271C9 +0x4951 0x27303 +0x4952 0x2732C +0x4953 0x27334 +0x4954 0x27317 +0x4955 0x27309 +0x4956 0x27304 +0x4957 0x27306 +0x4958 0x2731A +0x4959 0x2730E +0x495A 0x27327 +0x495B 0x27305 +0x495C 0x27307 +0x495D 0x27319 +0x495E 0x27314 +0x495F 0x2730C +0x4960 0x2731D +0x4961 0x27322 +0x4962 0x27323 +0x4963 0x275BB +0x4964 0x275BC +0x4965 0x275BA +0x4966 0x276A9 +0x4967 0x276B5 +0x4968 0x276AC +0x4969 0x276AA +0x496A 0x276AF +0x496B 0x276B7 +0x496E 0x2783D +0x496F 0x27845 +0x4970 0x27848 +0x4971 0x2783C +0x4972 0x2783E +0x4973 0x278EC +0x4974 0x278ED +0x4975 0x278E9 +0x4976 0x27A0A +0x4977 0x27A0B +0x4978 0x279F8 +0x4979 0x27A04 +0x497A 0x279F6 +0x497B 0x279F9 +0x497C 0x27C53 +0x497D 0x27C52 +0x497E 0x27C60 +0x4A21 0x27C63 +0x4A22 0x27CCE +0x4A23 0x27CCD +0x4A24 0x27CD0 +0x4A25 0x27CCC +0x4A26 0x27D87 +0x4A27 0x27D8D +0x4A28 0x27D9D +0x4A2A 0x27E63 +0x4A2B 0x27EF4 +0x4A2C 0x27EF1 +0x4A2D 0x27EFF +0x4A2E 0x27EF5 +0x4A2F 0x27EFC +0x4A30 0x27EF2 +0x4A31 0x27EF6 +0x4A33 0x27EFA +0x4A35 0x2802E +0x4A36 0x28045 +0x4A37 0x28043 +0x4A38 0x28051 +0x4A39 0x2804C +0x4A3A 0x28073 +0x4A3B 0x28047 +0x4A3C 0x2804B +0x4A3D 0x2804F +0x4A3F 0x28044 +0x4A40 0x2804D +0x4A41 0x2804E +0x4A42 0x2804A +0x4A43 0x28041 +0x4A44 0x28052 +0x4A45 0x2809F +0x4A46 0x28054 +0x4A47 0x28059 +0x4A48 0x280A2 +0x4A49 0x2824B +0x4A4A 0x28248 +0x4A4B 0x2830D +0x4A4C 0x2831F +0x4A4D 0x28308 +0x4A4E 0x2830E +0x4A4F 0x2831D +0x4A50 0x28304 +0x4A51 0x28418 +0x4A52 0x2841B +0x4A53 0x28566 +0x4A54 0x28562 +0x4A55 0x28583 +0x4A56 0x28567 +0x4A57 0x28762 +0x4A58 0x2874F +0x4A59 0x2874E +0x4A5A 0x28767 +0x4A5B 0x28753 +0x4A5C 0x2874D +0x4A5D 0x2874C +0x4A5E 0x28768 +0x4A5F 0x28751 +0x4A61 0x28758 +0x4A62 0x2875B +0x4A63 0x28750 +0x4A64 0x2876A +0x4A65 0x28839 +0x4A66 0x28838 +0x4A67 0x28982 +0x4A68 0x28984 +0x4A69 0x28986 +0x4A6A 0x28C80 +0x4A6B 0x28C86 +0x4A6C 0x28D25 +0x4A6D 0x28D11 +0x4A6F 0x28D0E +0x4A70 0x28D15 +0x4A71 0x28D0F +0x4A72 0x28D18 +0x4A73 0x28D0D +0x4A74 0x28D13 +0x4A75 0x28D16 +0x4A76 0x28D19 +0x4A77 0x28F08 +0x4A78 0x28EF7 +0x4A79 0x28EFB +0x4A7A 0x28EFC +0x4A7B 0x28FB4 +0x4A7C 0x28FBE +0x4A7D 0x28FC1 +0x4A7E 0x290A6 +0x4B21 0x290A5 +0x4B22 0x290A2 +0x4B23 0x290A4 +0x4B24 0x29212 +0x4B25 0x2920E +0x4B26 0x2927A +0x4B27 0x29278 +0x4B28 0x2927D +0x4B29 0x2927E +0x4B2A 0x29281 +0x4B2B 0x29283 +0x4B2C 0x29280 +0x4B2D 0x29282 +0x4B2E 0x2939B +0x4B2F 0x29399 +0x4B30 0x2939C +0x4B31 0x2939A +0x4B32 0x293A1 +0x4B33 0x2941A +0x4B34 0x2941C +0x4B35 0x2948A +0x4B36 0x29479 +0x4B37 0x29473 +0x4B38 0x29475 +0x4B39 0x2947C +0x4B3A 0x29478 +0x4B3B 0x29460 +0x4B3C 0x29483 +0x4B3D 0x29470 +0x4B40 0x29487 +0x4B41 0x29484 +0x4B42 0x2947B +0x4B43 0x2947E +0x4B44 0x29474 +0x4B45 0x295B9 +0x4B46 0x295B8 +0x4B47 0x295B7 +0x4B48 0x295B5 +0x4B49 0x296CC +0x4B4A 0x296CE +0x4B4B 0x296D1 +0x4B4D 0x296CB +0x4B4F 0x2987E +0x4B50 0x2987A +0x4B51 0x29877 +0x4B52 0x2988C +0x4B53 0x298E1 +0x4B54 0x29A20 +0x4B55 0x29A1E +0x4B56 0x29AC2 +0x4B57 0x29B0F +0x4B58 0x29B00 +0x4B5A 0x29B10 +0x4B5B 0x29C0D +0x4B5C 0x29C0E +0x4B5D 0x29C8E +0x4B5E 0x29C8D +0x4B5F 0x29C8A +0x4B60 0x29C8B +0x4B61 0x29C8C +0x4B62 0x29C8F +0x4B63 0x29D57 +0x4B65 0x29D55 +0x4B66 0x29D5B +0x4B67 0x29FAC +0x4B68 0x29FA7 +0x4B69 0x29FA0 +0x4B6A 0x29F9E +0x4B6C 0x2A28D +0x4B6E 0x2A393 +0x4B6F 0x2A394 +0x4B70 0x2A392 +0x4B71 0x20181 +0x4B72 0x203D6 +0x4B73 0x203C3 +0x4B74 0x203E4 +0x4B75 0x203E2 +0x4B76 0x20409 +0x4B77 0x203BF +0x4B78 0x203C8 +0x4B79 0x203C7 +0x4B7A 0x204B5 +0x4B7B 0x204B2 +0x4B7C 0x2060C +0x4B7D 0x2060B +0x4B7E 0x2060A +0x4C21 0x20605 +0x4C22 0x207D3 +0x4C23 0x207E6 +0x4C24 0x207E9 +0x4C25 0x207F0 +0x4C26 0x207EA +0x4C27 0x207E7 +0x4C28 0x208B1 +0x4C29 0x208B3 +0x4C2A 0x208B4 +0x4C2B 0x208B0 +0x4C2C 0x2095C +0x4C2D 0x2095D +0x4C2E 0x2095E +0x4C2F 0x209C0 +0x4C30 0x20AAF +0x4C32 0x20B86 +0x4C33 0x20B83 +0x4C34 0x20B84 +0x4C35 0x20F5C +0x4C36 0x20F70 +0x4C37 0x20F8C +0x4C38 0x20F7B +0x4C39 0x20F66 +0x4C3A 0x20F79 +0x4C3B 0x20F63 +0x4C3C 0x20FC5 +0x4C3D 0x20F6B +0x4C3E 0x20F6D +0x4C3F 0x20F72 +0x4C40 0x20F69 +0x4C41 0x20F75 +0x4C42 0x20F89 +0x4C43 0x20FC6 +0x4C44 0x20FA5 +0x4C45 0x203E7 +0x4C46 0x20F6A +0x4C47 0x20F97 +0x4C48 0x2145A +0x4C49 0x2145C +0x4C4A 0x21459 +0x4C4B 0x21424 +0x4C4C 0x21425 +0x4C4D 0x21430 +0x4C4E 0x21458 +0x4C4F 0x21431 +0x4C50 0x21576 +0x4C51 0x215C1 +0x4C52 0x21685 +0x4C53 0x2167D +0x4C54 0x21865 +0x4C55 0x21887 +0x4C56 0x21852 +0x4C57 0x21854 +0x4C58 0x2188A +0x4C59 0x21850 +0x4C5A 0x21886 +0x4C5B 0x2184F +0x4C5C 0x21868 +0x4C5D 0x2199D +0x4C5E 0x21AA0 +0x4C5F 0x21ABA +0x4C60 0x21ABD +0x4C61 0x21AB8 +0x4C62 0x21BA6 +0x4C64 0x21CDE +0x4C65 0x21CD8 +0x4C66 0x21CD1 +0x4C67 0x21F13 +0x4C69 0x21F0E +0x4C6A 0x21F1B +0x4C6B 0x21F3A +0x4C6D 0x21F1C +0x4C6E 0x21F12 +0x4C6F 0x21F16 +0x4C70 0x21F1A +0x4C71 0x21448 +0x4C72 0x2214B +0x4C73 0x22137 +0x4C74 0x22136 +0x4C75 0x22138 +0x4C76 0x2213A +0x4C77 0x22149 +0x4C78 0x2213C +0x4C79 0x2214A +0x4C7A 0x222B1 +0x4C7B 0x222C2 +0x4C7C 0x222B5 +0x4C7D 0x222C4 +0x4C7E 0x222B6 +0x4D21 0x2241E +0x4D22 0x2241F +0x4D23 0x224AF +0x4D24 0x2256B +0x4D25 0x2256F +0x4D26 0x22792 +0x4D27 0x227E4 +0x4D28 0x2282C +0x4D29 0x227EF +0x4D2B 0x2284F +0x4D2C 0x22852 +0x4D2D 0x22850 +0x4D2E 0x2283A +0x4D2F 0x22837 +0x4D30 0x22847 +0x4D31 0x22864 +0x4D32 0x22840 +0x4D33 0x2283C +0x4D34 0x22845 +0x4D35 0x22841 +0x4D36 0x229F3 +0x4D38 0x22CC1 +0x4D39 0x22CB4 +0x4D3B 0x22D2A +0x4D3C 0x22D22 +0x4D3D 0x22D29 +0x4D3F 0x22D3E +0x4D40 0x22D3C +0x4D41 0x22D30 +0x4D42 0x22FC7 +0x4D43 0x22FD5 +0x4D44 0x22FD6 +0x4D45 0x22FD3 +0x4D46 0x22FCE +0x4D47 0x22FC8 +0x4D48 0x2305C +0x4D49 0x2305F +0x4D4A 0x23062 +0x4D4C 0x230BD +0x4D4D 0x230BF +0x4D4E 0x2325C +0x4D4F 0x232B6 +0x4D51 0x2329D +0x4D52 0x2327F +0x4D54 0x23294 +0x4D55 0x23281 +0x4D56 0x23347 +0x4D57 0x23346 +0x4D59 0x23394 +0x4D5A 0x23675 +0x4D5B 0x2361A +0x4D5C 0x2362A +0x4D5D 0x23632 +0x4D5E 0x23617 +0x4D5F 0x23623 +0x4D60 0x23674 +0x4D62 0x23676 +0x4D63 0x2362E +0x4D64 0x23625 +0x4D65 0x23620 +0x4D66 0x23671 +0x4D67 0x23616 +0x4D68 0x23670 +0x4D69 0x2362C +0x4D6A 0x2362F +0x4D6B 0x2361F +0x4D6C 0x23664 +0x4D6E 0x23908 +0x4D6F 0x23914 +0x4D70 0x2390A +0x4D71 0x2390B +0x4D72 0x23A4F +0x4D73 0x23A59 +0x4D74 0x23A54 +0x4D75 0x23A51 +0x4D76 0x23AB6 +0x4D77 0x23BEC +0x4D78 0x23BED +0x4D79 0x23BEA +0x4D7A 0x23EEE +0x4D7B 0x23F5A +0x4D7C 0x23F73 +0x4D7D 0x23F65 +0x4D7E 0x23F61 +0x4E21 0x23F55 +0x4E22 0x23F6B +0x4E23 0x23F64 +0x4E24 0x23F5B +0x4E25 0x23F4C +0x4E26 0x23F6F +0x4E27 0x23F84 +0x4E28 0x23F70 +0x4E29 0x2435D +0x4E2A 0x24357 +0x4E2B 0x24366 +0x4E2C 0x24353 +0x4E2D 0x24398 +0x4E2E 0x24397 +0x4E2F 0x24528 +0x4E30 0x245EB +0x4E31 0x245EA +0x4E32 0x245E8 +0x4E33 0x245EC +0x4E34 0x245EF +0x4E35 0x246D1 +0x4E36 0x246CA +0x4E38 0x246CF +0x4E39 0x246CD +0x4E3A 0x246CE +0x4E3B 0x24870 +0x4E3C 0x24867 +0x4E3D 0x24873 +0x4E3E 0x2486D +0x4E3F 0x24876 +0x4E40 0x24879 +0x4E41 0x2486A +0x4E42 0x2488B +0x4E43 0x24872 +0x4E44 0x24871 +0x4E45 0x2486E +0x4E46 0x2487A +0x4E47 0x24A16 +0x4E48 0x24A39 +0x4E49 0x24A3B +0x4E4A 0x24B10 +0x4E4B 0x24B96 +0x4E4C 0x24B7B +0x4E4D 0x24B7C +0x4E4E 0x24B7D +0x4E4F 0x24CBE +0x4E50 0x24E5C +0x4E51 0x24E38 +0x4E52 0x24E39 +0x4E53 0x24E2E +0x4E54 0x24E34 +0x4E55 0x24E32 +0x4E56 0x24E5B +0x4E57 0x24E33 +0x4E58 0x24E3C +0x4E5A 0x2500E +0x4E5B 0x2500F +0x4E5C 0x25010 +0x4E5D 0x25087 +0x4E5E 0x2525B +0x4E5F 0x25253 +0x4E61 0x2525C +0x4E62 0x2523F +0x4E63 0x25259 +0x4E64 0x2524A +0x4E65 0x25244 +0x4E66 0x2524C +0x4E67 0x25240 +0x4E68 0x2525F +0x4E69 0x2525E +0x4E6A 0x2524E +0x4E6B 0x25254 +0x4E6C 0x25243 +0x4E6D 0x25287 +0x4E6E 0x25382 +0x4E6F 0x25385 +0x4E70 0x25531 +0x4E71 0x25547 +0x4E72 0x2552E +0x4E73 0x2552F +0x4E74 0x25548 +0x4E75 0x25534 +0x4E77 0x2059F +0x4E78 0x25832 +0x4E79 0x25836 +0x4E7A 0x25833 +0x4E7B 0x25831 +0x4E7C 0x25840 +0x4E7D 0x25841 +0x4E7E 0x259DD +0x4F21 0x259D2 +0x4F22 0x259D9 +0x4F24 0x259DF +0x4F25 0x259DB +0x4F26 0x259D8 +0x4F27 0x259D3 +0x4F28 0x259DE +0x4F29 0x259E0 +0x4F2A 0x259D4 +0x4F2B 0x259D7 +0x4F2C 0x259DA +0x4F2D 0x25AA7 +0x4F2E 0x25BFE +0x4F2F 0x25BDD +0x4F30 0x25C40 +0x4F31 0x25BE2 +0x4F33 0x25BD6 +0x4F34 0x25BDE +0x4F35 0x25BEF +0x4F37 0x25BEB +0x4F38 0x25BEA +0x4F39 0x25BE4 +0x4F3A 0x25BD1 +0x4F3C 0x25BEC +0x4F3D 0x25BFA +0x4F3E 0x25BD9 +0x4F3F 0x25BF3 +0x4F40 0x25BE1 +0x4F41 0x25BDC +0x4F42 0x25BE5 +0x4F43 0x25BDF +0x4F44 0x25BD4 +0x4F46 0x25C05 +0x4F47 0x25ED6 +0x4F48 0x25ED5 +0x4F49 0x25ED0 +0x4F4A 0x25EC8 +0x4F4B 0x25EC4 +0x4F4C 0x25EC9 +0x4F4D 0x25ECD +0x4F4E 0x25ED2 +0x4F4F 0x25ECC +0x4F50 0x25ECA +0x4F51 0x260A0 +0x4F52 0x26092 +0x4F55 0x2608B +0x4F56 0x260A1 +0x4F57 0x26095 +0x4F58 0x26088 +0x4F59 0x26086 +0x4F5A 0x2608D +0x4F5B 0x26085 +0x4F5C 0x26091 +0x4F5D 0x26089 +0x4F5E 0x260A2 +0x4F5F 0x262F0 +0x4F60 0x262F3 +0x4F61 0x262F4 +0x4F62 0x262EF +0x4F63 0x26306 +0x4F64 0x263A2 +0x4F65 0x2645E +0x4F66 0x26463 +0x4F67 0x26460 +0x4F68 0x2645B +0x4F69 0x2647B +0x4F6A 0x26458 +0x4F6B 0x26459 +0x4F6C 0x2645D +0x4F6D 0x26505 +0x4F6E 0x26506 +0x4F6F 0x26502 +0x4F70 0x26503 +0x4F71 0x26504 +0x4F72 0x265A2 +0x4F73 0x265A7 +0x4F74 0x265A6 +0x4F75 0x265A4 +0x4F76 0x265AC +0x4F77 0x265A9 +0x4F78 0x267E7 +0x4F79 0x26801 +0x4F7A 0x267DF +0x4F7B 0x267D9 +0x4F7C 0x267E3 +0x4F7D 0x2680F +0x4F7E 0x2691A +0x5021 0x26945 +0x5022 0x26948 +0x5023 0x2697B +0x5024 0x26985 +0x5025 0x26986 +0x5026 0x269FE +0x5027 0x269FF +0x5028 0x26A64 +0x5029 0x26A71 +0x502A 0x26A72 +0x502B 0x26A61 +0x502C 0x26A62 +0x502D 0x26A6C +0x502E 0x26A60 +0x502F 0x26A5D +0x5030 0x26A63 +0x5031 0x26A67 +0x5032 0x26E01 +0x5033 0x26E2A +0x5034 0x26E30 +0x5035 0x26E06 +0x5036 0x26E7D +0x5037 0x26E22 +0x5038 0x26EB9 +0x5039 0x26E0A +0x503A 0x26E10 +0x503B 0x26D8F +0x503C 0x26E80 +0x503D 0x26E13 +0x503E 0x26E2E +0x503F 0x26E18 +0x5040 0x26E17 +0x5041 0x26E1A +0x5042 0x26E14 +0x5043 0x26E47 +0x5044 0x26E63 +0x5045 0x26E38 +0x5047 0x26E7F +0x5048 0x26E21 +0x5049 0x26E37 +0x504A 0x26E31 +0x504B 0x26E1B +0x504C 0x26EA5 +0x504D 0x26F6C +0x504E 0x271D3 +0x504F 0x27388 +0x5050 0x2736E +0x5051 0x2735C +0x5052 0x27374 +0x5053 0x27354 +0x5054 0x27383 +0x5056 0x27365 +0x5057 0x27360 +0x5058 0x27370 +0x5059 0x2736F +0x505A 0x2736D +0x505B 0x27372 +0x505C 0x2736C +0x505D 0x27376 +0x505E 0x27375 +0x505F 0x27359 +0x5060 0x273C7 +0x5061 0x275C1 +0x5062 0x275F9 +0x5063 0x276E3 +0x5064 0x276E7 +0x5065 0x276D6 +0x5066 0x276CF +0x5067 0x276DA +0x5068 0x276E9 +0x5069 0x276D2 +0x506A 0x27855 +0x506B 0x2784F +0x506C 0x2784D +0x506D 0x27851 +0x506E 0x27856 +0x506F 0x278F9 +0x5070 0x278F8 +0x5071 0x27906 +0x5072 0x27903 +0x5073 0x27909 +0x5074 0x278F7 +0x5075 0x278F5 +0x5076 0x27A47 +0x5077 0x27A45 +0x5078 0x27A3E +0x5079 0x27A46 +0x507A 0x27A29 +0x507B 0x27A34 +0x507C 0x27A3F +0x507D 0x27A44 +0x507E 0x27A35 +0x5121 0x27A5A +0x5122 0x27A2A +0x5123 0x27A33 +0x5124 0x27A37 +0x5125 0x27A43 +0x5126 0x27A39 +0x5127 0x27A30 +0x5128 0x27A5D +0x5129 0x27A32 +0x512A 0x27A27 +0x512B 0x27BBD +0x512C 0x27BBA +0x512D 0x27BBC +0x512E 0x27BF1 +0x512F 0x27BF0 +0x5130 0x27C61 +0x5131 0x27C5C +0x5132 0x27C58 +0x5133 0x27C5D +0x5134 0x27CDA +0x5135 0x27CD9 +0x5136 0x27CDD +0x5137 0x27CDC +0x5138 0x27CDE +0x513A 0x27DA0 +0x513B 0x27DA2 +0x513C 0x27F0F +0x513D 0x27F13 +0x513E 0x27F12 +0x513F 0x27F11 +0x5140 0x27F14 +0x5141 0x27F19 +0x5142 0x27F0E +0x5143 0x27F17 +0x5144 0x27F21 +0x5145 0x27F20 +0x5146 0x27F16 +0x5147 0x28078 +0x5149 0x28087 +0x514A 0x28079 +0x514B 0x28080 +0x514C 0x28077 +0x514D 0x28081 +0x514E 0x28046 +0x514F 0x2807A +0x5150 0x2809C +0x5151 0x28083 +0x5152 0x28084 +0x5153 0x280AD +0x5154 0x2809D +0x5155 0x2809E +0x5156 0x28255 +0x5157 0x28336 +0x5158 0x2832B +0x5159 0x28327 +0x515A 0x28346 +0x515B 0x2832C +0x515C 0x28345 +0x515D 0x28333 +0x515E 0x2832D +0x515F 0x28334 +0x5160 0x28322 +0x5162 0x2841F +0x5163 0x285B3 +0x5164 0x2858C +0x5165 0x2858F +0x5166 0x285AF +0x5167 0x285AD +0x5168 0x2858E +0x5169 0x285AC +0x516A 0x285B0 +0x516B 0x285B1 +0x516C 0x285AE +0x516D 0x28599 +0x516E 0x286EB +0x516F 0x28774 +0x5170 0x28775 +0x5171 0x2878E +0x5172 0x2876D +0x5173 0x28770 +0x5174 0x2878C +0x5175 0x2884F +0x5176 0x28851 +0x5177 0x28858 +0x5178 0x2884C +0x5179 0x2884E +0x517A 0x28915 +0x517B 0x289BE +0x517C 0x289DB +0x517D 0x289B3 +0x517E 0x289AE +0x5221 0x28C87 +0x5222 0x28C8A +0x5223 0x28C88 +0x5224 0x28C8B +0x5225 0x28C8C +0x5226 0x28D44 +0x5227 0x28D2D +0x5228 0x28D2A +0x5229 0x28D31 +0x522A 0x28D2C +0x522B 0x28D45 +0x522C 0x28D30 +0x522D 0x28D29 +0x522E 0x28D46 +0x522F 0x28EF4 +0x5230 0x28F14 +0x5231 0x28F10 +0x5232 0x28F0F +0x5233 0x28F12 +0x5234 0x28F0B +0x5235 0x28F0C +0x5236 0x28F0A +0x5237 0x28F13 +0x5238 0x28F0E +0x5239 0x28FD9 +0x523A 0x28FD0 +0x523C 0x290C1 +0x523D 0x290BF +0x523E 0x290BD +0x523F 0x290BC +0x5240 0x290BA +0x5241 0x290BB +0x5242 0x290D1 +0x5243 0x290BE +0x5244 0x290D0 +0x5245 0x290B9 +0x5246 0x2921A +0x5247 0x2921C +0x5248 0x2921B +0x5249 0x29291 +0x524A 0x29296 +0x524B 0x2929F +0x524C 0x2929C +0x524D 0x2929A +0x524E 0x2929D +0x524F 0x293AD +0x5250 0x293A5 +0x5251 0x293AE +0x5252 0x29403 +0x5253 0x29426 +0x5254 0x29420 +0x5255 0x29423 +0x5256 0x29424 +0x5257 0x29421 +0x5258 0x29428 +0x5259 0x29425 +0x525A 0x2941E +0x525B 0x29494 +0x525C 0x29493 +0x525D 0x2948F +0x525E 0x2949A +0x525F 0x294AD +0x5261 0x295CA +0x5262 0x295C5 +0x5263 0x296BB +0x5264 0x296E1 +0x5265 0x296EA +0x5266 0x296E4 +0x5267 0x296ED +0x5268 0x296E6 +0x5269 0x296E0 +0x526A 0x296E8 +0x526B 0x296E5 +0x526C 0x2981A +0x526D 0x29894 +0x526E 0x29896 +0x526F 0x2989E +0x5270 0x29895 +0x5271 0x298A1 +0x5272 0x2988E +0x5273 0x2989B +0x5274 0x29892 +0x5275 0x29897 +0x5276 0x29899 +0x5277 0x29893 +0x5278 0x29A32 +0x5279 0x29A2F +0x527A 0x29A2E +0x527B 0x29A33 +0x527C 0x29B1C +0x527D 0x29B1E +0x527E 0x29B11 +0x5321 0x29B20 +0x5322 0x29B1F +0x5323 0x29B19 +0x5324 0x29B16 +0x5325 0x29CAC +0x5326 0x29CB9 +0x5327 0x29CB3 +0x5328 0x29CA6 +0x5329 0x29CA2 +0x532A 0x29CA9 +0x532B 0x29CA7 +0x532C 0x29D6C +0x532D 0x29D6D +0x532E 0x29D69 +0x532F 0x29D80 +0x5330 0x29D66 +0x5331 0x29D65 +0x5332 0x29D71 +0x5333 0x29D6B +0x5334 0x29FBD +0x5335 0x29FC1 +0x5336 0x29FD3 +0x5337 0x29FB6 +0x5339 0x29FB9 +0x533A 0x29FD4 +0x533B 0x29FB7 +0x533C 0x29FDB +0x533D 0x29FB8 +0x533E 0x29FC0 +0x533F 0x29FBC +0x5340 0x29FD5 +0x5341 0x29FBF +0x5342 0x29FC3 +0x5343 0x29FC9 +0x5344 0x2A258 +0x5345 0x2A290 +0x5346 0x2A295 +0x5347 0x2A297 +0x5348 0x2A309 +0x5349 0x2A308 +0x534A 0x2A306 +0x534B 0x2A305 +0x534C 0x2A310 +0x534D 0x2A397 +0x534E 0x2A395 +0x534F 0x2A3EE +0x5350 0x2A41F +0x5351 0x2FA1A +0x5352 0x21B4B +0x5353 0x2018E +0x5354 0x203E8 +0x5355 0x203F0 +0x5356 0x203F4 +0x5357 0x20406 +0x5358 0x203ED +0x535A 0x203E9 +0x535B 0x20400 +0x535C 0x204B8 +0x535D 0x2056D +0x535E 0x20804 +0x535F 0x20801 +0x5360 0x20803 +0x5361 0x20802 +0x5364 0x20962 +0x5365 0x20ABA +0x5366 0x20B13 +0x5367 0x20FDE +0x5368 0x20FD7 +0x5369 0x20FE4 +0x536A 0x20FCE +0x536B 0x20FE3 +0x536C 0x20FDD +0x536D 0x2103A +0x536E 0x20FDB +0x536F 0x20FD6 +0x5370 0x20FE0 +0x5371 0x20FD4 +0x5372 0x20FCB +0x5373 0x20FE1 +0x5374 0x20FC9 +0x5375 0x20FDF +0x5376 0x2103C +0x5377 0x20FFC +0x5378 0x20FCF +0x5379 0x21479 +0x537A 0x21476 +0x537B 0x21478 +0x537C 0x21687 +0x537D 0x2189C +0x537E 0x218B1 +0x5421 0x218C1 +0x5422 0x2189A +0x5423 0x21892 +0x5425 0x218C2 +0x5426 0x21896 +0x5427 0x218C0 +0x5428 0x21891 +0x5429 0x21895 +0x542A 0x219A2 +0x542B 0x21AC3 +0x542C 0x21AC0 +0x542D 0x21AC2 +0x542E 0x20B8A +0x542F 0x21BB0 +0x5430 0x21C16 +0x5431 0x21F46 +0x5432 0x21F4A +0x5433 0x21F3E +0x5434 0x21F45 +0x5435 0x21F42 +0x5437 0x21F5B +0x5438 0x21F44 +0x5439 0x22004 +0x543A 0x24022 +0x543B 0x22155 +0x543C 0x22157 +0x543D 0x22151 +0x543E 0x2214E +0x543F 0x2215A +0x5440 0x222C6 +0x5441 0x222C3 +0x5443 0x222C5 +0x5444 0x222CC +0x5445 0x22371 +0x5446 0x22426 +0x5447 0x224B2 +0x5448 0x2257A +0x5449 0x22584 +0x544A 0x2257B +0x544B 0x22874 +0x544C 0x2288C +0x544D 0x22851 +0x544E 0x22848 +0x544F 0x2288D +0x5450 0x22892 +0x5451 0x22898 +0x5452 0x22893 +0x5453 0x228B0 +0x5454 0x2284E +0x5455 0x22896 +0x5456 0x22897 +0x5457 0x2289C +0x5458 0x228CA +0x5459 0x22D33 +0x545A 0x22D83 +0x545B 0x22D84 +0x545C 0x22D9A +0x545D 0x22D8C +0x545F 0x22D99 +0x5460 0x22EE0 +0x5461 0x22FE4 +0x5462 0x22FF8 +0x5463 0x22FED +0x5464 0x22FF3 +0x5465 0x22FF4 +0x5466 0x22FF5 +0x5467 0x22FFD +0x5468 0x23119 +0x5469 0x2329E +0x546A 0x232C4 +0x546B 0x2329F +0x546C 0x2339B +0x546D 0x2339F +0x546E 0x2339A +0x546F 0x236AA +0x5470 0x2369D +0x5471 0x23692 +0x5472 0x236A2 +0x5473 0x236AF +0x5474 0x236EB +0x5475 0x236A0 +0x5476 0x236A1 +0x5477 0x23694 +0x5478 0x23698 +0x5479 0x2368F +0x547A 0x23687 +0x547B 0x23684 +0x547C 0x236A9 +0x547D 0x2367C +0x547E 0x23918 +0x5521 0x23A5F +0x5522 0x23A62 +0x5523 0x23A61 +0x5524 0x23AC0 +0x5525 0x23B15 +0x5526 0x23BFC +0x5527 0x23BF9 +0x5528 0x23FC8 +0x5529 0x23FC9 +0x552A 0x23FDE +0x552B 0x23FCA +0x552C 0x23FE2 +0x552F 0x24004 +0x5530 0x23FCC +0x5531 0x23FDD +0x5532 0x23FE4 +0x5533 0x23FD3 +0x5534 0x23FC7 +0x5535 0x23FC6 +0x5537 0x24037 +0x5538 0x243D8 +0x5539 0x243EE +0x553A 0x243B2 +0x553B 0x243A3 +0x553C 0x243B3 +0x553D 0x243ED +0x553E 0x243F8 +0x553F 0x24531 +0x5540 0x2455B +0x5541 0x24566 +0x5542 0x24569 +0x5543 0x24596 +0x5544 0x2459B +0x5545 0x245F7 +0x5546 0x245F3 +0x5547 0x245F4 +0x5548 0x245F5 +0x5549 0x246E2 +0x554A 0x246E7 +0x554B 0x246E5 +0x554C 0x246E9 +0x554D 0x246E6 +0x554E 0x246E3 +0x554F 0x24874 +0x5550 0x2487F +0x5551 0x2488F +0x5552 0x24890 +0x5553 0x24897 +0x5554 0x248A3 +0x5555 0x2488E +0x5556 0x24898 +0x5557 0x2488C +0x5558 0x24A42 +0x5559 0x24A44 +0x555A 0x24A69 +0x555B 0x24A43 +0x555C 0x24A68 +0x555E 0x24B8D +0x555F 0x24B88 +0x5560 0x24B8B +0x5561 0x24B89 +0x5562 0x24CCC +0x5563 0x24D1F +0x5564 0x24E80 +0x5565 0x24E5E +0x5566 0x24E67 +0x5567 0x24E68 +0x5568 0x24E65 +0x556A 0x24E74 +0x556B 0x24E69 +0x556C 0x24E61 +0x556D 0x24E62 +0x556E 0x24E6C +0x556F 0x24E93 +0x5570 0x24E86 +0x5571 0x24F9D +0x5572 0x24F9B +0x5573 0x2501B +0x5574 0x25016 +0x5575 0x25019 +0x5576 0x25014 +0x5577 0x25018 +0x5578 0x25015 +0x5579 0x25099 +0x557A 0x25098 +0x557B 0x2525D +0x557C 0x25289 +0x557D 0x2527A +0x557E 0x2527D +0x5621 0x2524B +0x5623 0x25278 +0x5624 0x2527F +0x5625 0x25277 +0x5626 0x2527E +0x5627 0x25279 +0x5628 0x252AB +0x5629 0x2527C +0x562A 0x25274 +0x562B 0x25275 +0x562C 0x252A7 +0x562D 0x2538D +0x562E 0x2554E +0x562F 0x25566 +0x5630 0x25561 +0x5631 0x2554D +0x5632 0x2554F +0x5634 0x25554 +0x5635 0x2557C +0x5636 0x256DA +0x5637 0x256DE +0x5638 0x256D8 +0x5639 0x256DD +0x563A 0x256DF +0x563B 0x25866 +0x563C 0x25862 +0x563D 0x2585F +0x563E 0x25864 +0x563F 0x25863 +0x5640 0x25860 +0x5641 0x25888 +0x5642 0x2586A +0x5643 0x25867 +0x5644 0x25887 +0x5645 0x2583F +0x5646 0x2586C +0x5647 0x2586E +0x5648 0x258AD +0x5649 0x259F1 +0x564A 0x259F4 +0x564B 0x259F6 +0x564C 0x259F5 +0x564D 0x259F8 +0x564E 0x259FB +0x564F 0x259EC +0x5650 0x259EF +0x5651 0x259ED +0x5653 0x259F7 +0x5654 0x259F9 +0x5655 0x259FD +0x5656 0x25AB1 +0x5657 0x25C36 +0x5658 0x25C1B +0x5659 0x25C32 +0x565A 0x25C42 +0x565B 0x25C4D +0x565C 0x25C1F +0x565D 0x25C21 +0x565E 0x25C1C +0x565F 0x25C31 +0x5660 0x25C2E +0x5661 0x25C47 +0x5662 0x25C3B +0x5663 0x25C41 +0x5664 0x25C18 +0x5665 0x25C39 +0x5666 0x25C1D +0x5667 0x25C27 +0x5668 0x25C23 +0x566A 0x25EEE +0x566B 0x25EE8 +0x566C 0x25EE5 +0x566D 0x25EEF +0x566E 0x25EE4 +0x566F 0x25EEC +0x5670 0x25EF0 +0x5671 0x260D7 +0x5672 0x260D8 +0x5673 0x260D4 +0x5674 0x260CA +0x5675 0x260D2 +0x5676 0x260CB +0x5677 0x260D3 +0x5678 0x260E6 +0x5679 0x260E2 +0x567A 0x26249 +0x567B 0x26248 +0x567C 0x262FF +0x567D 0x26309 +0x567E 0x263B0 +0x5721 0x263AF +0x5722 0x2647C +0x5723 0x26478 +0x5724 0x2647A +0x5725 0x26472 +0x5726 0x26479 +0x5727 0x2647E +0x5728 0x2650C +0x5729 0x2650B +0x572A 0x265CD +0x572B 0x265BE +0x572C 0x265BC +0x572D 0x265BF +0x572E 0x265C0 +0x572F 0x265BD +0x5730 0x26838 +0x5731 0x26808 +0x5732 0x26805 +0x5733 0x2683B +0x5734 0x26810 +0x5735 0x2680C +0x5736 0x2680D +0x5737 0x26804 +0x5738 0x2683A +0x5739 0x26813 +0x573A 0x26837 +0x573B 0x26839 +0x573C 0x2691F +0x573D 0x2694B +0x573E 0x269EE +0x573F 0x26A75 +0x5740 0x26A78 +0x5741 0x26A7C +0x5742 0x26A74 +0x5743 0x26A76 +0x5744 0x26AEA +0x5745 0x26AEB +0x5746 0x26DFB +0x5747 0x26E19 +0x5748 0x26EA7 +0x5749 0x26E8C +0x574A 0x26EDC +0x574B 0x26E98 +0x574C 0x26EBE +0x574D 0x26E9E +0x574E 0x26F0F +0x574F 0x26E9F +0x5750 0x26EDD +0x5751 0x26E93 +0x5752 0x26EBB +0x5753 0x26EB6 +0x5754 0x26E90 +0x5755 0x26EA1 +0x5756 0x26EBD +0x5757 0x26EDE +0x5758 0x26E3A +0x5759 0x26F22 +0x575A 0x26E97 +0x575B 0x26E94 +0x575C 0x26EC3 +0x575D 0x26E8E +0x575E 0x26EA8 +0x575F 0x26E99 +0x5760 0x26EAD +0x5761 0x26E9B +0x5762 0x26EA2 +0x5763 0x26F21 +0x5764 0x26EAC +0x5765 0x26F0E +0x5766 0x26F31 +0x5767 0x271E1 +0x5768 0x271DE +0x5769 0x271DF +0x576A 0x271DC +0x576B 0x271DD +0x576C 0x271EC +0x576D 0x271E7 +0x576E 0x27369 +0x576F 0x273B8 +0x5770 0x273A1 +0x5771 0x273A8 +0x5772 0x273BA +0x5773 0x273C2 +0x5774 0x273A6 +0x5775 0x273A4 +0x5776 0x273A3 +0x5777 0x273AB +0x5778 0x273BC +0x5779 0x273B7 +0x577A 0x273BF +0x577B 0x273AD +0x577C 0x273B1 +0x577D 0x273CA +0x577E 0x273C4 +0x5821 0x273B9 +0x5822 0x275C8 +0x5823 0x275C6 +0x5824 0x275C7 +0x5825 0x2770A +0x5826 0x2770D +0x5827 0x276FB +0x5828 0x27703 +0x5829 0x27702 +0x582A 0x276FC +0x582B 0x276F9 +0x582C 0x276F8 +0x582D 0x2786E +0x582E 0x27863 +0x582F 0x27862 +0x5830 0x27861 +0x5831 0x2786B +0x5833 0x2786F +0x5834 0x27866 +0x5835 0x2786C +0x5836 0x2790E +0x5837 0x27915 +0x5838 0x27916 +0x5839 0x27910 +0x583A 0x27917 +0x583B 0x27911 +0x583C 0x27A6E +0x583D 0x27A6C +0x583E 0x27A87 +0x583F 0x27A83 +0x5840 0x27A63 +0x5841 0x27ADC +0x5842 0x27BC0 +0x5843 0x27BF7 +0x5844 0x27BFA +0x5845 0x27C70 +0x5846 0x27C6A +0x5847 0x27C68 +0x5848 0x27C69 +0x5849 0x27C84 +0x584A 0x27CEC +0x584B 0x27CE7 +0x584C 0x27CEE +0x584D 0x27DBA +0x584E 0x27DB2 +0x584F 0x27DB5 +0x5850 0x27DCB +0x5851 0x2080B +0x5852 0x27DD0 +0x5853 0x27E6D +0x5854 0x27E6C +0x5856 0x27F45 +0x5857 0x27F46 +0x5858 0x27F34 +0x5859 0x27F2C +0x585A 0x27F35 +0x585B 0x27F44 +0x585D 0x27F76 +0x585E 0x280B1 +0x585F 0x280AA +0x5860 0x280A1 +0x5861 0x280B2 +0x5863 0x280A6 +0x5864 0x280B5 +0x5865 0x280B4 +0x5866 0x280B8 +0x5867 0x280AF +0x5868 0x280B0 +0x5869 0x280A3 +0x586A 0x28262 +0x586B 0x28264 +0x586C 0x28356 +0x586D 0x28351 +0x586E 0x2834F +0x586F 0x28368 +0x5870 0x2834C +0x5871 0x28350 +0x5873 0x28348 +0x5874 0x2834A +0x5875 0x28421 +0x5876 0x285E3 +0x5877 0x285B9 +0x5878 0x285DE +0x5879 0x285B7 +0x587A 0x285E1 +0x587B 0x285B6 +0x587C 0x285B5 +0x587D 0x285DF +0x5921 0x28797 +0x5922 0x2879A +0x5923 0x2879B +0x5924 0x28798 +0x5925 0x28792 +0x5926 0x28793 +0x5927 0x287D7 +0x5928 0x28773 +0x5929 0x2886B +0x592A 0x28874 +0x592B 0x28878 +0x592C 0x2886D +0x592D 0x28918 +0x592E 0x289E9 +0x592F 0x289F5 +0x5930 0x289EA +0x5931 0x28A2E +0x5932 0x289E7 +0x5933 0x289FE +0x5934 0x289E5 +0x5935 0x28A36 +0x5936 0x289F0 +0x5937 0x289E6 +0x5938 0x28A2C +0x5939 0x28C89 +0x593A 0x28C95 +0x593B 0x28C93 +0x593C 0x28D4D +0x593D 0x28D4A +0x593E 0x28D4F +0x593F 0x28D50 +0x5940 0x28D4B +0x5941 0x28F2A +0x5942 0x28F2B +0x5943 0x28F2F +0x5944 0x28F2E +0x5945 0x28F7C +0x5946 0x28FED +0x5947 0x28FE2 +0x5948 0x290E0 +0x5949 0x290DC +0x594A 0x290DA +0x594B 0x290D6 +0x594C 0x290F4 +0x594D 0x290D9 +0x594E 0x290D5 +0x594F 0x29222 +0x5950 0x29221 +0x5951 0x29224 +0x5952 0x29225 +0x5953 0x29226 +0x5954 0x29223 +0x5955 0x292AA +0x5956 0x292AF +0x5957 0x292B0 +0x5958 0x292AB +0x5959 0x293AF +0x595A 0x293B7 +0x595B 0x293B5 +0x595C 0x293B2 +0x595D 0x293B3 +0x595E 0x2942B +0x595F 0x294D8 +0x5960 0x294C2 +0x5961 0x294AF +0x5962 0x294BC +0x5963 0x294B8 +0x5964 0x294BE +0x5965 0x294B7 +0x5966 0x294B4 +0x5967 0x294BF +0x5968 0x294B3 +0x5969 0x294B1 +0x596A 0x294BB +0x596B 0x294BD +0x596C 0x294D6 +0x596D 0x294DD +0x596E 0x295D8 +0x596F 0x295D3 +0x5970 0x295D5 +0x5971 0x295E3 +0x5972 0x295E2 +0x5973 0x295D9 +0x5974 0x295DE +0x5975 0x295DF +0x5976 0x295DA +0x5977 0x295D4 +0x5978 0x296F3 +0x5979 0x296E2 +0x597A 0x2970D +0x597B 0x29701 +0x597C 0x29705 +0x597D 0x2971A +0x597E 0x29703 +0x5A21 0x2971F +0x5A22 0x29716 +0x5A23 0x296FA +0x5A24 0x296FC +0x5A25 0x2970A +0x5A27 0x298BC +0x5A28 0x298CA +0x5A29 0x298B6 +0x5A2A 0x298C7 +0x5A2B 0x298BF +0x5A2D 0x298B9 +0x5A2F 0x298B0 +0x5A30 0x298B8 +0x5A31 0x298BD +0x5A32 0x29891 +0x5A33 0x298BB +0x5A34 0x298BE +0x5A35 0x29A3E +0x5A36 0x29A3D +0x5A37 0x29B38 +0x5A38 0x29B3D +0x5A39 0x29B39 +0x5A3A 0x29B33 +0x5A3B 0x29C33 +0x5A3C 0x29CBB +0x5A3D 0x29CC6 +0x5A3E 0x29CC5 +0x5A3F 0x29CC7 +0x5A40 0x29CCB +0x5A41 0x29CA8 +0x5A42 0x29CC8 +0x5A43 0x29CBE +0x5A44 0x29CC1 +0x5A45 0x29CBD +0x5A46 0x29D82 +0x5A47 0x29D9E +0x5A48 0x29D81 +0x5A49 0x29D84 +0x5A4B 0x29D96 +0x5A4C 0x29D8E +0x5A4D 0x29D88 +0x5A4E 0x29D87 +0x5A4F 0x29FE0 +0x5A50 0x2A00D +0x5A51 0x29FDF +0x5A52 0x29FE4 +0x5A53 0x29FE2 +0x5A54 0x29FDD +0x5A55 0x29FEC +0x5A56 0x29FDE +0x5A57 0x29FE7 +0x5A58 0x29FEA +0x5A59 0x29FE3 +0x5A5A 0x2A25C +0x5A5C 0x2A25D +0x5A5D 0x2A29C +0x5A5E 0x2A31D +0x5A5F 0x2A39D +0x5A60 0x2A39E +0x5A61 0x2A39B +0x5A62 0x2A3B5 +0x5A63 0x2A3B9 +0x5A64 0x2A3B6 +0x5A65 0x2A3F3 +0x5A66 0x2A3F2 +0x5A67 0x2A3F4 +0x5A68 0x2A426 +0x5A69 0x2A427 +0x5A6A 0x2A425 +0x5A6B 0x2A506 +0x5A6C 0x2A50B +0x5A6D 0x2A53A +0x5A6E 0x2A53C +0x5A6F 0x2040A +0x5A70 0x2040B +0x5A71 0x204BF +0x5A72 0x204FD +0x5A73 0x20618 +0x5A74 0x291DF +0x5A75 0x25390 +0x5A76 0x2069E +0x5A77 0x207FC +0x5A78 0x20810 +0x5A79 0x2080F +0x5A7A 0x2080D +0x5A7B 0x208B9 +0x5A7C 0x208B7 +0x5A7D 0x208BA +0x5A7E 0x2090A +0x5B21 0x21041 +0x5B22 0x2108B +0x5B23 0x21046 +0x5B24 0x21053 +0x5B25 0x210E2 +0x5B26 0x2103F +0x5B27 0x20F7C +0x5B28 0x2104B +0x5B29 0x2104E +0x5B2A 0x2108A +0x5B2B 0x21047 +0x5B2C 0x21493 +0x5B2D 0x27DCE +0x5B2E 0x2148C +0x5B2F 0x214AF +0x5B30 0x214C9 +0x5B31 0x215C6 +0x5B32 0x215C8 +0x5B33 0x21691 +0x5B34 0x218CF +0x5B35 0x218D4 +0x5B36 0x218CE +0x5B37 0x21ADD +0x5B38 0x21AD4 +0x5B39 0x21F49 +0x5B3A 0x21F63 +0x5B3B 0x21F5D +0x5B3D 0x21F67 +0x5B3E 0x21FBB +0x5B3F 0x21F60 +0x5B40 0x21F80 +0x5B41 0x2215F +0x5B42 0x22160 +0x5B43 0x222DA +0x5B44 0x222D2 +0x5B45 0x222DD +0x5B46 0x2258E +0x5B47 0x22588 +0x5B48 0x2256C +0x5B49 0x2289E +0x5B4A 0x228C9 +0x5B4B 0x228A4 +0x5B4D 0x228D9 +0x5B4E 0x228D2 +0x5B4F 0x228DA +0x5B50 0x228DD +0x5B51 0x228CE +0x5B52 0x228FC +0x5B53 0x22A14 +0x5B54 0x22A60 +0x5B55 0x22DD7 +0x5B56 0x22DCB +0x5B57 0x22DCD +0x5B58 0x22DD5 +0x5B59 0x22EE7 +0x5B5A 0x23000 +0x5B5B 0x2300A +0x5B5C 0x2300F +0x5B5D 0x23002 +0x5B5E 0x23001 +0x5B5F 0x2311D +0x5B60 0x232CA +0x5B61 0x232CB +0x5B62 0x232CD +0x5B63 0x2334F +0x5B64 0x2339C +0x5B65 0x23680 +0x5B66 0x2370D +0x5B67 0x23702 +0x5B69 0x23707 +0x5B6A 0x236F7 +0x5B6B 0x236F8 +0x5B6C 0x236FD +0x5B6D 0x23724 +0x5B6E 0x236FB +0x5B6F 0x23739 +0x5B70 0x2373A +0x5B71 0x23922 +0x5B73 0x23A6A +0x5B74 0x23A6D +0x5B75 0x23A74 +0x5B76 0x23C0E +0x5B77 0x23FDF +0x5B78 0x2402B +0x5B79 0x23FE3 +0x5B7A 0x24026 +0x5B7B 0x2402A +0x5B7C 0x24023 +0x5B7D 0x24035 +0x5B7E 0x2404A +0x5C21 0x243FD +0x5C22 0x24400 +0x5C23 0x2441E +0x5C24 0x243FF +0x5C25 0x2459E +0x5C26 0x245FA +0x5C27 0x246F1 +0x5C28 0x24895 +0x5C29 0x248A8 +0x5C2A 0x248A6 +0x5C2B 0x24A6E +0x5C2C 0x24A83 +0x5C2D 0x24A6D +0x5C2E 0x24B8F +0x5C30 0x24CDF +0x5C31 0x24CD5 +0x5C32 0x24CE0 +0x5C33 0x24CD3 +0x5C34 0x24CD8 +0x5C35 0x24E8C +0x5C37 0x24E94 +0x5C38 0x24E96 +0x5C39 0x24E85 +0x5C3A 0x24E8F +0x5C3B 0x24EA9 +0x5C3C 0x24E8E +0x5C3D 0x24E90 +0x5C3E 0x24EB8 +0x5C3F 0x24EC3 +0x5C40 0x24EBB +0x5C41 0x24FA5 +0x5C42 0x24FA2 +0x5C44 0x24FA3 +0x5C45 0x250B5 +0x5C46 0x250AC +0x5C47 0x250A8 +0x5C48 0x252AD +0x5C49 0x252B8 +0x5C4A 0x252B4 +0x5C4B 0x252AE +0x5C4C 0x252B6 +0x5C4E 0x252C1 +0x5C4F 0x252BF +0x5C50 0x25392 +0x5C51 0x25400 +0x5C52 0x25401 +0x5C53 0x25575 +0x5C54 0x25572 +0x5C55 0x25578 +0x5C56 0x25570 +0x5C57 0x2557E +0x5C58 0x2557D +0x5C59 0x2557F +0x5C5A 0x256EF +0x5C5B 0x2586D +0x5C5C 0x2588E +0x5C5D 0x2588F +0x5C5E 0x2588A +0x5C5F 0x2588D +0x5C60 0x25895 +0x5C61 0x2588B +0x5C62 0x2588C +0x5C63 0x258B0 +0x5C64 0x25893 +0x5C65 0x259FC +0x5C66 0x25A15 +0x5C67 0x25A0E +0x5C68 0x25A18 +0x5C69 0x25A11 +0x5C6A 0x25A0D +0x5C6B 0x25ABB +0x5C6C 0x25AB3 +0x5C6E 0x25CA1 +0x5C6F 0x25C9A +0x5C70 0x25C84 +0x5C71 0x25CA0 +0x5C72 0x25C86 +0x5C73 0x25C9D +0x5C74 0x25CAA +0x5C75 0x25C78 +0x5C76 0x25C8D +0x5C77 0x25C8A +0x5C78 0x25CA6 +0x5C79 0x25C7A +0x5C7A 0x25C97 +0x5C7B 0x25C88 +0x5C7C 0x25C8E +0x5D21 0x25C76 +0x5D22 0x25C81 +0x5D23 0x25C85 +0x5D24 0x25C75 +0x5D25 0x25CA8 +0x5D26 0x25C8F +0x5D27 0x25C91 +0x5D28 0x25CA2 +0x5D29 0x25C9C +0x5D2A 0x25C89 +0x5D2B 0x25C7F +0x5D2C 0x25C96 +0x5D2D 0x25C79 +0x5D2E 0x25C9F +0x5D2F 0x25CA7 +0x5D31 0x25C87 +0x5D32 0x25C9B +0x5D33 0x25CA5 +0x5D34 0x25C8B +0x5D35 0x25CC9 +0x5D36 0x25EFF +0x5D37 0x25F03 +0x5D38 0x25F00 +0x5D39 0x25F02 +0x5D3A 0x25F04 +0x5D3B 0x25F05 +0x5D3C 0x25EE6 +0x5D3D 0x25F1F +0x5D3E 0x26114 +0x5D40 0x2610C +0x5D41 0x2610F +0x5D42 0x26119 +0x5D43 0x2610B +0x5D44 0x26113 +0x5D45 0x260D5 +0x5D47 0x2611C +0x5D48 0x26250 +0x5D49 0x2624E +0x5D4A 0x26312 +0x5D4B 0x263B9 +0x5D4C 0x26485 +0x5D4D 0x26488 +0x5D4E 0x26490 +0x5D4F 0x26513 +0x5D50 0x265D0 +0x5D51 0x265D1 +0x5D52 0x265D2 +0x5D53 0x265D7 +0x5D54 0x265D6 +0x5D55 0x265E5 +0x5D56 0x26846 +0x5D57 0x2686B +0x5D58 0x26845 +0x5D59 0x2683F +0x5D5A 0x2683E +0x5D5C 0x2686A +0x5D5D 0x26868 +0x5D5E 0x2684C +0x5D5F 0x26923 +0x5D60 0x26922 +0x5D61 0x26997 +0x5D62 0x26991 +0x5D63 0x25AB5 +0x5D64 0x26998 +0x5D65 0x2699C +0x5D66 0x26A89 +0x5D68 0x26A8B +0x5D69 0x26A8A +0x5D6A 0x26A8D +0x5D6B 0x26A8E +0x5D6C 0x26A88 +0x5D6D 0x26F4E +0x5D6E 0x26F44 +0x5D6F 0x26F37 +0x5D70 0x26F75 +0x5D71 0x26F54 +0x5D72 0x26F76 +0x5D73 0x26F34 +0x5D74 0x26F6B +0x5D75 0x26F32 +0x5D76 0x26F57 +0x5D77 0x26F52 +0x5D78 0x26F45 +0x5D7A 0x26EB1 +0x5D7B 0x26F4B +0x5D7C 0x26F47 +0x5D7D 0x26F33 +0x5D7E 0x26F40 +0x5E21 0x26F3C +0x5E22 0x26F43 +0x5E23 0x26F4F +0x5E24 0x26F55 +0x5E25 0x26F41 +0x5E26 0x26FB2 +0x5E27 0x26FC0 +0x5E28 0x27434 +0x5E29 0x273F9 +0x5E2A 0x27419 +0x5E2B 0x2740D +0x5E2C 0x273FA +0x5E2D 0x2741E +0x5E2E 0x2741F +0x5E2F 0x2740E +0x5E30 0x27440 +0x5E31 0x27408 +0x5E33 0x27413 +0x5E34 0x2744C +0x5E36 0x275CC +0x5E37 0x275CB +0x5E38 0x27724 +0x5E39 0x27725 +0x5E3A 0x2773D +0x5E3B 0x27720 +0x5E3C 0x27727 +0x5E3D 0x27726 +0x5E3E 0x2771D +0x5E3F 0x2771E +0x5E40 0x27732 +0x5E41 0x2776C +0x5E42 0x27759 +0x5E44 0x2787A +0x5E45 0x27879 +0x5E46 0x2791B +0x5E47 0x2792E +0x5E48 0x27923 +0x5E49 0x27920 +0x5E4A 0x2791F +0x5E4B 0x27AB6 +0x5E4C 0x27AB9 +0x5E4D 0x27AA1 +0x5E4E 0x27AA3 +0x5E4F 0x27AA8 +0x5E50 0x27AAF +0x5E51 0x27A9A +0x5E52 0x27A99 +0x5E53 0x27AA2 +0x5E54 0x27A9D +0x5E56 0x27AAB +0x5E57 0x27BC9 +0x5E58 0x27BFE +0x5E59 0x27C00 +0x5E5A 0x27BFC +0x5E5B 0x27C07 +0x5E5C 0x27C75 +0x5E5D 0x27C72 +0x5E5E 0x27C73 +0x5E5F 0x27C74 +0x5E60 0x27CFA +0x5E61 0x27CFC +0x5E62 0x27CF8 +0x5E63 0x27CF6 +0x5E64 0x27CFB +0x5E65 0x27DCD +0x5E66 0x27DD1 +0x5E67 0x27DCF +0x5E68 0x27E74 +0x5E69 0x27E72 +0x5E6A 0x27E73 +0x5E6B 0x27F54 +0x5E6C 0x27F51 +0x5E6E 0x27F53 +0x5E6F 0x27F49 +0x5E70 0x27F4C +0x5E71 0x27F4A +0x5E72 0x27F4F +0x5E73 0x27F56 +0x5E74 0x28100 +0x5E75 0x280D5 +0x5E76 0x280D7 +0x5E77 0x280FF +0x5E78 0x280D9 +0x5E79 0x280E3 +0x5E7A 0x280D3 +0x5E7C 0x280D8 +0x5E7D 0x280D4 +0x5E7E 0x280DE +0x5F21 0x28271 +0x5F22 0x28374 +0x5F23 0x28388 +0x5F24 0x2837F +0x5F25 0x2836B +0x5F26 0x28387 +0x5F27 0x28379 +0x5F28 0x28378 +0x5F29 0x28389 +0x5F2A 0x28380 +0x5F2B 0x28376 +0x5F2C 0x28429 +0x5F2D 0x28428 +0x5F2E 0x2842F +0x5F2F 0x285E5 +0x5F30 0x28604 +0x5F31 0x28603 +0x5F32 0x285F0 +0x5F33 0x285E8 +0x5F34 0x285EA +0x5F35 0x285F1 +0x5F36 0x28601 +0x5F37 0x28602 +0x5F38 0x287A9 +0x5F39 0x287AB +0x5F3A 0x287B7 +0x5F3B 0x287B6 +0x5F3D 0x288A0 +0x5F3E 0x2888E +0x5F3F 0x28886 +0x5F40 0x28887 +0x5F41 0x28885 +0x5F42 0x2888B +0x5F43 0x28888 +0x5F44 0x28890 +0x5F45 0x2891A +0x5F46 0x28934 +0x5F47 0x28A37 +0x5F48 0x28A2F +0x5F49 0x28A30 +0x5F4A 0x28A39 +0x5F4B 0x28A34 +0x5F4C 0x28A33 +0x5F4D 0x28A85 +0x5F4E 0x28A84 +0x5F4F 0x28A3A +0x5F50 0x28C9F +0x5F51 0x28D69 +0x5F52 0x28D6C +0x5F53 0x28D6A +0x5F54 0x28D67 +0x5F55 0x28D6B +0x5F56 0x28F3F +0x5F57 0x28F40 +0x5F58 0x2900B +0x5F59 0x290D2 +0x5F5A 0x290F8 +0x5F5B 0x29101 +0x5F5C 0x290FA +0x5F5D 0x29116 +0x5F5E 0x2F9F6 +0x5F5F 0x2922C +0x5F60 0x2922D +0x5F61 0x2922F +0x5F62 0x2922E +0x5F63 0x292C1 +0x5F64 0x292F5 +0x5F65 0x292C4 +0x5F66 0x292DE +0x5F67 0x292CC +0x5F68 0x292D2 +0x5F69 0x292C2 +0x5F6A 0x292CD +0x5F6B 0x292CF +0x5F6C 0x292DD +0x5F6D 0x292C8 +0x5F6E 0x293BA +0x5F6F 0x293BE +0x5F70 0x293BF +0x5F71 0x2942E +0x5F72 0x29430 +0x5F73 0x294E7 +0x5F74 0x294EE +0x5F75 0x294E8 +0x5F76 0x294E6 +0x5F77 0x294E2 +0x5F78 0x294E4 +0x5F79 0x294FB +0x5F7A 0x294FC +0x5F7B 0x294EA +0x5F7C 0x295ED +0x5F7D 0x295F6 +0x5F7E 0x295F3 +0x6021 0x295F4 +0x6022 0x295F1 +0x6023 0x295F7 +0x6024 0x295F5 +0x6025 0x295EA +0x6026 0x295EB +0x6027 0x29700 +0x6028 0x2972C +0x6029 0x29712 +0x602A 0x2973D +0x602B 0x29733 +0x602D 0x29730 +0x602E 0x29740 +0x602F 0x29731 +0x6030 0x29757 +0x6032 0x29735 +0x6033 0x29732 +0x6034 0x2972D +0x6035 0x29736 +0x6036 0x29738 +0x6037 0x29762 +0x6038 0x2975F +0x6039 0x2978A +0x603A 0x298D6 +0x603B 0x298D8 +0x603C 0x298DD +0x603D 0x298E4 +0x603E 0x298E3 +0x603F 0x29A4D +0x6040 0x29AD7 +0x6041 0x29B4A +0x6042 0x29B4C +0x6043 0x29B50 +0x6044 0x29B4B +0x6045 0x29B4E +0x6046 0x29B4F +0x6047 0x29C39 +0x6048 0x29CD2 +0x6049 0x29CCD +0x604A 0x29CD3 +0x604B 0x29CE1 +0x604C 0x29CCE +0x604D 0x29CD5 +0x604E 0x29CDD +0x604F 0x29CD4 +0x6050 0x29CCF +0x6051 0x29DCB +0x6052 0x29DA6 +0x6053 0x29DC2 +0x6054 0x29DA5 +0x6055 0x29DA9 +0x6056 0x29DA2 +0x6057 0x29DA4 +0x6058 0x29DB0 +0x6059 0x29DCC +0x605A 0x29DAF +0x605B 0x29DBF +0x605C 0x2A024 +0x605D 0x2A01A +0x605E 0x2A014 +0x605F 0x2A03A +0x6060 0x2A020 +0x6061 0x2A01B +0x6062 0x2A021 +0x6063 0x2A025 +0x6064 0x2A01E +0x6065 0x2A03F +0x6066 0x2A040 +0x6067 0x2A018 +0x6068 0x2A02C +0x6069 0x2A015 +0x606A 0x2A02D +0x606B 0x2A01F +0x606C 0x2A029 +0x606D 0x2A04B +0x606E 0x2A2B3 +0x606F 0x2A2A5 +0x6070 0x2A2A7 +0x6071 0x2A2AB +0x6072 0x2A2A6 +0x6073 0x2A2AA +0x6074 0x2A322 +0x6075 0x2A323 +0x6076 0x2A3A1 +0x6077 0x2A3A3 +0x6078 0x2A3A0 +0x6079 0x2A3BD +0x607A 0x2A3BA +0x607B 0x2A3FA +0x607C 0x2A3F8 +0x607D 0x2A3FC +0x607E 0x2A3F6 +0x6121 0x2A434 +0x6122 0x2A443 +0x6124 0x2A4D4 +0x6125 0x2A50D +0x6126 0x2A543 +0x6127 0x2A541 +0x6128 0x2A53D +0x6129 0x2A540 +0x612A 0x2A53E +0x612B 0x2A53F +0x612C 0x2A546 +0x612E 0x2A5D4 +0x612F 0x20435 +0x6130 0x20436 +0x6131 0x20432 +0x6132 0x2043A +0x6133 0x204C8 +0x6134 0x20536 +0x6135 0x2061E +0x6136 0x2061D +0x6137 0x2061F +0x6138 0x2081C +0x6139 0x2081D +0x613A 0x20820 +0x613C 0x208C0 +0x613D 0x2109A +0x613E 0x21093 +0x613F 0x210DD +0x6141 0x210A3 +0x6142 0x210A9 +0x6143 0x2109C +0x6144 0x2109B +0x6146 0x21097 +0x6147 0x214B1 +0x6148 0x214CA +0x6149 0x214B3 +0x614A 0x214CD +0x614B 0x218EA +0x614C 0x218EE +0x614D 0x218EF +0x614E 0x21ADF +0x614F 0x21B50 +0x6150 0x21BBB +0x6151 0x21F88 +0x6152 0x21F89 +0x6153 0x21F8C +0x6154 0x21F85 +0x6155 0x21F5E +0x6156 0x21F94 +0x6157 0x21F95 +0x6158 0x2216B +0x6159 0x2216A +0x615A 0x22169 +0x615B 0x222E3 +0x615C 0x222F1 +0x615D 0x22437 +0x615E 0x22433 +0x615F 0x22591 +0x6160 0x2258F +0x6161 0x22597 +0x6162 0x228D4 +0x6163 0x228DE +0x6164 0x228D3 +0x6165 0x228E0 +0x6166 0x22943 +0x6167 0x2290B +0x6168 0x228FF +0x6169 0x22904 +0x616A 0x22907 +0x616B 0x22DF9 +0x616C 0x22DFA +0x616D 0x22DFB +0x616E 0x22DF8 +0x616F 0x23012 +0x6170 0x23010 +0x6171 0x2311F +0x6172 0x232DF +0x6173 0x232E3 +0x6174 0x23352 +0x6175 0x233A9 +0x6176 0x23765 +0x6177 0x23787 +0x6178 0x23742 +0x6179 0x23752 +0x617A 0x2374C +0x617B 0x2369F +0x617C 0x23701 +0x617D 0x23748 +0x617E 0x2374F +0x6221 0x2377E +0x6222 0x2374D +0x6223 0x23758 +0x6224 0x23747 +0x6225 0x2375E +0x6226 0x23749 +0x6227 0x2374E +0x6228 0x2375D +0x6229 0x2375A +0x622A 0x23786 +0x622B 0x23751 +0x622C 0x23929 +0x622D 0x239A6 +0x622E 0x239A7 +0x622F 0x23A70 +0x6230 0x23A6F +0x6231 0x23AD3 +0x6232 0x23AD2 +0x6233 0x23C28 +0x6234 0x23C1B +0x6235 0x23C1A +0x6236 0x23C1C +0x6237 0x23C21 +0x6238 0x24032 +0x6239 0x24066 +0x623A 0x2407D +0x623B 0x24073 +0x623C 0x2407F +0x623D 0x24065 +0x623E 0x24080 +0x623F 0x24061 +0x6240 0x24075 +0x6241 0x2406E +0x6242 0x24067 +0x6243 0x24071 +0x6244 0x2406C +0x6245 0x24063 +0x6246 0x24062 +0x6247 0x24083 +0x6248 0x240B2 +0x6249 0x24081 +0x624A 0x2406F +0x624B 0x2406B +0x624C 0x24082 +0x624D 0x2408A +0x624E 0x24429 +0x624F 0x24430 +0x6250 0x24431 +0x6251 0x24597 +0x6252 0x24600 +0x6253 0x245FF +0x6254 0x248B6 +0x6255 0x248B5 +0x6256 0x248C3 +0x6257 0x24A8D +0x6258 0x24B18 +0x6259 0x24B9C +0x625A 0x24B9A +0x625B 0x24B99 +0x625C 0x24EB7 +0x625D 0x24EC4 +0x625E 0x24EC6 +0x625F 0x24EC7 +0x6260 0x24EBC +0x6261 0x24EC0 +0x6262 0x24EC5 +0x6263 0x24ECD +0x6264 0x24EC1 +0x6265 0x24EBE +0x6266 0x24FA7 +0x6267 0x24FB8 +0x6268 0x25023 +0x626A 0x252E8 +0x626B 0x252DE +0x626C 0x252E3 +0x626D 0x252EF +0x626E 0x252DC +0x626F 0x252E4 +0x6270 0x252E1 +0x6271 0x252E5 +0x6272 0x25395 +0x6273 0x25394 +0x6274 0x25393 +0x6275 0x2538E +0x6276 0x25598 +0x6277 0x2559C +0x6278 0x25599 +0x6279 0x255A0 +0x627A 0x2559E +0x627B 0x25704 +0x627C 0x258D3 +0x627D 0x258B4 +0x627E 0x258BB +0x6321 0x258B7 +0x6322 0x258B8 +0x6323 0x258BD +0x6324 0x258B6 +0x6325 0x258B9 +0x6326 0x258B5 +0x6327 0x25A22 +0x6328 0x25A21 +0x6329 0x25AC3 +0x632A 0x25ABC +0x632B 0x25CFF +0x632C 0x25CE5 +0x632D 0x25CF7 +0x632E 0x25CD2 +0x632F 0x25D00 +0x6330 0x25CDB +0x6331 0x25CF0 +0x6332 0x25CE2 +0x6333 0x25CCD +0x6335 0x25CE1 +0x6336 0x25CF2 +0x6337 0x25CDC +0x6338 0x25CCC +0x6339 0x25CD6 +0x633A 0x25CF3 +0x633B 0x25CFA +0x633C 0x25CF6 +0x633D 0x25CEC +0x633E 0x25CEA +0x633F 0x25CE3 +0x6340 0x25CD0 +0x6342 0x25C95 +0x6343 0x25CD5 +0x6344 0x25CF4 +0x6345 0x25CCB +0x6346 0x25CDA +0x6347 0x25CC8 +0x6348 0x25CDF +0x6349 0x25CF5 +0x634A 0x25CCF +0x634B 0x25CC7 +0x634C 0x25CD7 +0x634D 0x25F24 +0x634F 0x25F1C +0x6350 0x25F21 +0x6351 0x25F1E +0x6352 0x25F18 +0x6353 0x25F1B +0x6355 0x26146 +0x6356 0x2614B +0x6357 0x26148 +0x6358 0x26147 +0x6359 0x26167 +0x635A 0x26154 +0x635B 0x26315 +0x635C 0x26322 +0x635D 0x263C5 +0x635E 0x26329 +0x635F 0x263C7 +0x6360 0x2648D +0x6361 0x2651B +0x6362 0x26520 +0x6363 0x265E2 +0x6364 0x265E7 +0x6365 0x265E8 +0x6366 0x265E1 +0x6367 0x26872 +0x6368 0x2687B +0x6369 0x26874 +0x636A 0x26871 +0x636B 0x26879 +0x636C 0x26875 +0x636D 0x26890 +0x636E 0x26877 +0x636F 0x2687D +0x6370 0x2694F +0x6371 0x26950 +0x6372 0x269A3 +0x6373 0x269A2 +0x6374 0x269F4 +0x6375 0x26A94 +0x6376 0x26A9A +0x6377 0x26A9B +0x6378 0x26AA7 +0x6379 0x26A97 +0x637A 0x26A95 +0x637B 0x26A92 +0x637C 0x26A9C +0x637D 0x26A96 +0x637E 0x26FB6 +0x6421 0x26FB8 +0x6422 0x26FB0 +0x6423 0x27018 +0x6424 0x26FC5 +0x6425 0x26FB5 +0x6426 0x26FC2 +0x6427 0x27006 +0x6428 0x27019 +0x6429 0x26FB9 +0x642A 0x27015 +0x642B 0x26FD6 +0x642C 0x26FAC +0x642E 0x26FC6 +0x642F 0x26FB3 +0x6430 0x26FC3 +0x6431 0x26FCA +0x6432 0x26FCF +0x6433 0x26FBD +0x6434 0x26FCE +0x6435 0x27014 +0x6436 0x26FBA +0x6437 0x2701A +0x6438 0x26FC1 +0x6439 0x26FBB +0x643C 0x27201 +0x643D 0x271FC +0x643E 0x2745A +0x643F 0x27454 +0x6440 0x27461 +0x6441 0x2745C +0x6442 0x27455 +0x6443 0x2744A +0x6444 0x2744B +0x6445 0x27451 +0x6446 0x27469 +0x6447 0x2746B +0x6449 0x27466 +0x644A 0x27458 +0x644B 0x2745D +0x644C 0x27467 +0x644D 0x27456 +0x644E 0x27488 +0x644F 0x27464 +0x6450 0x2744E +0x6451 0x27757 +0x6452 0x2775A +0x6453 0x27751 +0x6454 0x2774A +0x6455 0x2774B +0x6457 0x27747 +0x6458 0x2776F +0x6459 0x2776A +0x645A 0x2776B +0x645B 0x27746 +0x645C 0x2776D +0x645D 0x27754 +0x645E 0x2776E +0x645F 0x2774C +0x6460 0x27878 +0x6461 0x27886 +0x6462 0x27882 +0x6464 0x27AE1 +0x6465 0x27AE5 +0x6466 0x27ADB +0x6467 0x27ADE +0x6468 0x27AD7 +0x6469 0x27C03 +0x646A 0x27C7C +0x646B 0x27C7E +0x646C 0x27D05 +0x646D 0x27D07 +0x646E 0x27DE6 +0x646F 0x27DE1 +0x6470 0x27DFB +0x6471 0x27DE5 +0x6472 0x27DE7 +0x6473 0x27DDF +0x6474 0x27DFF +0x6475 0x27E76 +0x6476 0x27F63 +0x6477 0x27F66 +0x6478 0x27F65 +0x6479 0x27F5E +0x647A 0x27F64 +0x647B 0x27F6B +0x647C 0x27F5F +0x647D 0x27F67 +0x647E 0x27F68 +0x6521 0x28108 +0x6522 0x28109 +0x6523 0x28117 +0x6524 0x28115 +0x6525 0x2811B +0x6526 0x2810B +0x6527 0x28128 +0x6528 0x2810E +0x6529 0x28118 +0x652A 0x28153 +0x652B 0x28145 +0x652C 0x2810D +0x652D 0x2810A +0x652E 0x28113 +0x652F 0x2814A +0x6530 0x28279 +0x6531 0x283A1 +0x6532 0x2838D +0x6533 0x283A2 +0x6534 0x28390 +0x6536 0x28431 +0x6537 0x28430 +0x6538 0x2861F +0x6539 0x28619 +0x653A 0x2860C +0x653B 0x2861E +0x653C 0x2861D +0x653D 0x28607 +0x653E 0x28766 +0x653F 0x287C5 +0x6540 0x287BA +0x6541 0x287BD +0x6542 0x287C2 +0x6543 0x287C3 +0x6544 0x287BF +0x6546 0x288A1 +0x6547 0x288A2 +0x6548 0x288A8 +0x6549 0x288A3 +0x654A 0x288AA +0x654B 0x288AF +0x654C 0x288B9 +0x654D 0x28937 +0x654E 0x28A8F +0x6550 0x28A8E +0x6551 0x28A87 +0x6552 0x28A8A +0x6553 0x28A92 +0x6554 0x28A97 +0x6555 0x28A9F +0x6556 0x28B05 +0x6557 0x28CA9 +0x6558 0x28CA7 +0x6559 0x28D8A +0x655A 0x28D82 +0x655B 0x28D85 +0x655C 0x28D8B +0x655D 0x28D89 +0x655E 0x28D81 +0x655F 0x28D80 +0x6560 0x28D87 +0x6561 0x28D86 +0x6562 0x28F4D +0x6563 0x2901C +0x6564 0x2901F +0x6565 0x29121 +0x6566 0x2911D +0x6567 0x29122 +0x6568 0x290FE +0x6569 0x2911B +0x656A 0x2913A +0x656B 0x29137 +0x656C 0x29117 +0x656D 0x29138 +0x656E 0x29126 +0x656F 0x29118 +0x6570 0x29234 +0x6571 0x29235 +0x6572 0x29232 +0x6574 0x292E1 +0x6575 0x292FD +0x6576 0x292E3 +0x6577 0x292E8 +0x6578 0x292F9 +0x6579 0x292FF +0x657A 0x292FE +0x657C 0x292E0 +0x657D 0x29300 +0x6621 0x292EC +0x6622 0x292E4 +0x6623 0x292EF +0x6624 0x292FA +0x6625 0x293CA +0x6626 0x29431 +0x6627 0x29432 +0x6628 0x29434 +0x6629 0x29441 +0x662A 0x29500 +0x662B 0x29506 +0x662C 0x29508 +0x662D 0x29505 +0x662E 0x29503 +0x662F 0x2950B +0x6630 0x29502 +0x6631 0x2950A +0x6632 0x295F0 +0x6633 0x29613 +0x6634 0x2960A +0x6635 0x2960F +0x6636 0x29611 +0x6637 0x29608 +0x6638 0x2960B +0x6639 0x29612 +0x663A 0x2960D +0x663B 0x2975B +0x663C 0x29763 +0x663D 0x29761 +0x663E 0x29768 +0x663F 0x2975A +0x6640 0x2984E +0x6641 0x2984D +0x6642 0x29850 +0x6643 0x298FC +0x6644 0x29912 +0x6645 0x298F5 +0x6646 0x2991E +0x6647 0x298F0 +0x6648 0x298F3 +0x6649 0x298F2 +0x664A 0x29901 +0x664B 0x298EF +0x664C 0x298EE +0x664D 0x29916 +0x664E 0x298F6 +0x664F 0x298FB +0x6650 0x2991C +0x6652 0x29A5D +0x6653 0x29A60 +0x6654 0x29A66 +0x6655 0x29A5F +0x6656 0x29A61 +0x6657 0x29A5B +0x6658 0x29A62 +0x6659 0x29A57 +0x665A 0x29B69 +0x665B 0x29B6B +0x665C 0x29B61 +0x665D 0x29B77 +0x665E 0x29B5F +0x665F 0x29B63 +0x6660 0x29B62 +0x6661 0x29B65 +0x6662 0x29CEF +0x6663 0x29CE2 +0x6664 0x29D00 +0x6665 0x29CE8 +0x6666 0x29CF2 +0x6667 0x29CE7 +0x6669 0x29CE5 +0x666A 0x29DD5 +0x666B 0x29DD0 +0x666C 0x29DDA +0x666D 0x29DD3 +0x666F 0x29DD9 +0x6670 0x29DCF +0x6671 0x29DD6 +0x6672 0x29DD8 +0x6673 0x29DF5 +0x6674 0x29DCE +0x6675 0x29DD7 +0x6676 0x29DF4 +0x6677 0x29DCD +0x6678 0x29E01 +0x667A 0x2A052 +0x667B 0x2A055 +0x667C 0x2A05A +0x667D 0x2A04D +0x667E 0x2A054 +0x6721 0x2A053 +0x6722 0x2A05E +0x6723 0x2A067 +0x6724 0x2A065 +0x6725 0x2A04E +0x6727 0x2A04F +0x6728 0x2A061 +0x6729 0x2A06E +0x672A 0x2A051 +0x672B 0x2A05B +0x672C 0x2A263 +0x672D 0x2A2B7 +0x672E 0x2A2B6 +0x672F 0x2A2C3 +0x6730 0x2A2BB +0x6731 0x2A2B5 +0x6732 0x2A32E +0x6733 0x2A330 +0x6734 0x2A333 +0x6735 0x2A331 +0x6736 0x2A3A4 +0x6737 0x2A3C1 +0x6738 0x2A3BB +0x6739 0x2A3BE +0x673A 0x2A400 +0x673B 0x2A3FF +0x673C 0x2A440 +0x673E 0x2A43F +0x673F 0x2A444 +0x6742 0x2A4DB +0x6743 0x2A50F +0x6744 0x2A511 +0x6745 0x2A54E +0x6746 0x2A54D +0x6747 0x2A54B +0x6748 0x2A54C +0x6749 0x2A595 +0x674A 0x2043B +0x674B 0x20445 +0x674C 0x20444 +0x674D 0x2043E +0x674E 0x2043C +0x674F 0x2043F +0x6750 0x204CC +0x6751 0x204CE +0x6752 0x20622 +0x6753 0x20623 +0x6754 0x2069F +0x6755 0x208C5 +0x6756 0x208C4 +0x6757 0x210E9 +0x6758 0x21099 +0x675A 0x210E6 +0x675B 0x210E7 +0x675C 0x210F7 +0x675D 0x214D2 +0x675F 0x218FD +0x6760 0x2190C +0x6761 0x2190B +0x6762 0x21CED +0x6765 0x21F9B +0x6766 0x2200A +0x6767 0x2216F +0x6768 0x22175 +0x6769 0x222F2 +0x676A 0x222F8 +0x676B 0x2243E +0x676C 0x22924 +0x676D 0x2290E +0x676E 0x22916 +0x676F 0x22918 +0x6770 0x22910 +0x6771 0x22931 +0x6772 0x22944 +0x6774 0x22929 +0x6775 0x2292F +0x6776 0x2294B +0x6777 0x22936 +0x6779 0x22E34 +0x677A 0x22E00 +0x677B 0x22E2B +0x677C 0x23020 +0x677D 0x23021 +0x677E 0x2301E +0x6821 0x2301D +0x6822 0x232F5 +0x6823 0x232F2 +0x6824 0x232F6 +0x6825 0x23790 +0x6826 0x2379D +0x6827 0x2379C +0x6828 0x23792 +0x6829 0x23794 +0x682A 0x237D1 +0x682B 0x23793 +0x682C 0x237B7 +0x682D 0x23797 +0x682E 0x237B0 +0x682F 0x2379F +0x6830 0x237C9 +0x6831 0x2392D +0x6832 0x2392C +0x6833 0x23A77 +0x6834 0x23C2C +0x6835 0x240C0 +0x6836 0x240B9 +0x6837 0x24453 +0x6838 0x24540 +0x6839 0x24702 +0x683A 0x246FB +0x683C 0x24A8B +0x683D 0x24AAE +0x683E 0x24AAB +0x683F 0x24BA1 +0x6840 0x2A2CD +0x6841 0x24CEA +0x6842 0x24EDD +0x6843 0x24EDC +0x6844 0x24ED9 +0x6845 0x24FAB +0x6846 0x24FAC +0x6847 0x24FAD +0x6848 0x24FB2 +0x6849 0x2502C +0x684A 0x2502B +0x684B 0x250C2 +0x684C 0x25300 +0x684D 0x2530D +0x684E 0x25306 +0x684F 0x252FF +0x6850 0x25303 +0x6851 0x25301 +0x6852 0x25310 +0x6853 0x2530F +0x6854 0x25305 +0x6855 0x25398 +0x6856 0x25397 +0x6857 0x25396 +0x6858 0x25399 +0x6859 0x255AC +0x685A 0x255AB +0x685B 0x25712 +0x685C 0x258D8 +0x685D 0x258DF +0x685E 0x258D6 +0x685F 0x25A2D +0x6860 0x25A32 +0x6861 0x25D3F +0x6862 0x25D2F +0x6863 0x25D26 +0x6864 0x25D3A +0x6865 0x25D39 +0x6867 0x25D3B +0x6868 0x25D35 +0x6869 0x25D2A +0x686A 0x25D21 +0x686B 0x25D38 +0x686C 0x25D37 +0x686D 0x25D34 +0x686F 0x25D22 +0x6870 0x25D36 +0x6871 0x25D44 +0x6872 0x25F45 +0x6873 0x25F3B +0x6874 0x25F36 +0x6875 0x25F42 +0x6876 0x2617A +0x6877 0x26186 +0x6878 0x2618B +0x6879 0x2617F +0x687A 0x26181 +0x687B 0x2632A +0x687C 0x263D5 +0x687D 0x2649F +0x687E 0x2649D +0x6921 0x26526 +0x6922 0x265F4 +0x6923 0x265F5 +0x6924 0x26815 +0x6925 0x2688E +0x6926 0x2688F +0x6927 0x26926 +0x6928 0x269A7 +0x6929 0x269AF +0x692A 0x26AAD +0x692B 0x26AAC +0x692C 0x26AAB +0x692D 0x26AAA +0x692E 0x2702F +0x692F 0x27021 +0x6930 0x27023 +0x6931 0x270A3 +0x6932 0x27049 +0x6933 0x2703A +0x6934 0x27048 +0x6935 0x2702D +0x6936 0x27025 +0x6937 0x27029 +0x6938 0x27032 +0x6939 0x27034 +0x693A 0x27024 +0x693B 0x2702C +0x693C 0x2704B +0x693D 0x2703B +0x693E 0x27020 +0x693F 0x27028 +0x6940 0x27498 +0x6942 0x27497 +0x6944 0x2749D +0x6945 0x274A8 +0x6946 0x275D5 +0x6947 0x27777 +0x6948 0x27778 +0x6949 0x27772 +0x694A 0x27773 +0x694B 0x27802 +0x694C 0x2793B +0x694D 0x27AFE +0x694E 0x27B0B +0x694F 0x27AFF +0x6950 0x27B07 +0x6953 0x27B30 +0x6954 0x27BCD +0x6955 0x27BCF +0x6956 0x27C10 +0x6957 0x27C0A +0x6958 0x27C83 +0x6959 0x27D15 +0x695A 0x27D0E +0x695B 0x27D0C +0x695C 0x27E02 +0x695D 0x27DFE +0x695E 0x27E05 +0x695F 0x27E15 +0x6960 0x27E08 +0x6961 0x27F7F +0x6962 0x27F77 +0x6963 0x27F7C +0x6964 0x27F82 +0x6965 0x27F7E +0x6966 0x27F78 +0x6967 0x27F7D +0x6968 0x27F79 +0x6969 0x27F81 +0x696A 0x2814B +0x696B 0x28163 +0x696C 0x28164 +0x696D 0x28156 +0x696E 0x28154 +0x696F 0x2814E +0x6970 0x28110 +0x6971 0x2814F +0x6972 0x28157 +0x6973 0x2815E +0x6974 0x28151 +0x6975 0x2816A +0x6976 0x28169 +0x6977 0x283AD +0x6978 0x283A4 +0x6979 0x283AC +0x697A 0x283A9 +0x697B 0x283AE +0x697C 0x2044C +0x697D 0x28650 +0x697E 0x28635 +0x6A21 0x28632 +0x6A22 0x287D8 +0x6A23 0x287D1 +0x6A24 0x287CF +0x6A25 0x287BE +0x6A26 0x288D5 +0x6A27 0x288C1 +0x6A28 0x288C6 +0x6A29 0x288C3 +0x6A2A 0x288C2 +0x6A2B 0x288C0 +0x6A2C 0x288C5 +0x6A2D 0x288C7 +0x6A2E 0x288BF +0x6A2F 0x288C4 +0x6A30 0x288D4 +0x6A31 0x28A90 +0x6A32 0x28AD2 +0x6A34 0x28AD4 +0x6A35 0x28CAF +0x6A36 0x28CAE +0x6A37 0x28CB2 +0x6A38 0x28CAD +0x6A39 0x28D9C +0x6A3A 0x28DA0 +0x6A3B 0x28DB6 +0x6A3C 0x28F3D +0x6A3D 0x28F56 +0x6A3E 0x28F82 +0x6A3F 0x29028 +0x6A40 0x2902B +0x6A41 0x2913C +0x6A42 0x2913E +0x6A43 0x2913F +0x6A44 0x29142 +0x6A45 0x2913D +0x6A46 0x29141 +0x6A47 0x2913B +0x6A48 0x29149 +0x6A49 0x29143 +0x6A4A 0x29239 +0x6A4B 0x29238 +0x6A4C 0x29322 +0x6A4D 0x29308 +0x6A4E 0x2930C +0x6A4F 0x29306 +0x6A50 0x29313 +0x6A51 0x29304 +0x6A52 0x29320 +0x6A53 0x2931D +0x6A54 0x29305 +0x6A55 0x2930A +0x6A56 0x293D6 +0x6A57 0x293D7 +0x6A58 0x29436 +0x6A59 0x29437 +0x6A5A 0x29523 +0x6A5B 0x29522 +0x6A5C 0x29520 +0x6A5D 0x2951A +0x6A5E 0x2951D +0x6A5F 0x2961C +0x6A60 0x29620 +0x6A61 0x29677 +0x6A62 0x2977F +0x6A63 0x2978B +0x6A64 0x2977D +0x6A65 0x29799 +0x6A66 0x29784 +0x6A67 0x29789 +0x6A68 0x29785 +0x6A69 0x29783 +0x6A6A 0x29786 +0x6A6B 0x2979E +0x6A6C 0x29853 +0x6A6D 0x29917 +0x6A6F 0x29919 +0x6A70 0x29920 +0x6A71 0x2991F +0x6A72 0x29923 +0x6A73 0x29918 +0x6A74 0x29921 +0x6A75 0x29929 +0x6A76 0x29924 +0x6A77 0x29926 +0x6A78 0x29A5E +0x6A79 0x29A6F +0x6A7A 0x29A6E +0x6A7B 0x29A74 +0x6A7C 0x29A72 +0x6A7D 0x29A73 +0x6A7E 0x29B7D +0x6B21 0x29B7E +0x6B22 0x29B85 +0x6B23 0x29B7F +0x6B24 0x29B84 +0x6B25 0x29C44 +0x6B26 0x29CF5 +0x6B27 0x29CF8 +0x6B28 0x29D03 +0x6B29 0x29CF6 +0x6B2A 0x29E28 +0x6B2C 0x29E39 +0x6B2D 0x29DFB +0x6B2E 0x29E0E +0x6B2F 0x29DFD +0x6B30 0x29E1F +0x6B32 0x29E03 +0x6B34 0x29E10 +0x6B36 0x29E0D +0x6B37 0x29E27 +0x6B38 0x29E41 +0x6B39 0x2A072 +0x6B3A 0x2A078 +0x6B3B 0x2A080 +0x6B3D 0x2A085 +0x6B3E 0x2A07B +0x6B40 0x2A07D +0x6B41 0x2A091 +0x6B42 0x2A088 +0x6B43 0x2A0AA +0x6B44 0x2A08D +0x6B45 0x2A089 +0x6B46 0x2A095 +0x6B47 0x2A09B +0x6B48 0x2A08C +0x6B49 0x2A09E +0x6B4A 0x2A07C +0x6B4B 0x2A086 +0x6B4C 0x2A084 +0x6B4D 0x2A268 +0x6B4E 0x2A2C5 +0x6B4F 0x2A2C4 +0x6B50 0x2A2C9 +0x6B51 0x2A2C6 +0x6B52 0x2A342 +0x6B53 0x2A345 +0x6B54 0x2A341 +0x6B55 0x2A344 +0x6B56 0x2A3A6 +0x6B57 0x2A3C2 +0x6B58 0x2A442 +0x6B59 0x2A449 +0x6B5A 0x2A448 +0x6B5B 0x2A44A +0x6B5C 0x2A44C +0x6B5D 0x2A44B +0x6B5E 0x2A517 +0x6B5F 0x2A518 +0x6B60 0x2A515 +0x6B61 0x2A552 +0x6B62 0x2A554 +0x6B63 0x2A553 +0x6B64 0x2A59A +0x6B65 0x2A59B +0x6B66 0x2A5DC +0x6B67 0x2A5E4 +0x6B68 0x2A691 +0x6B6A 0x2A6BA +0x6B6B 0x20451 +0x6B6C 0x2045B +0x6B6D 0x204CF +0x6B6E 0x23305 +0x6B6F 0x21113 +0x6B70 0x21115 +0x6B71 0x21114 +0x6B72 0x21123 +0x6B74 0x21111 +0x6B75 0x21112 +0x6B77 0x214F0 +0x6B78 0x2169B +0x6B79 0x21912 +0x6B7A 0x21916 +0x6B7B 0x21917 +0x6B7C 0x219B5 +0x6B7D 0x21CF4 +0x6B7E 0x21FB1 +0x6C21 0x22179 +0x6C22 0x222FF +0x6C23 0x222FC +0x6C24 0x222FB +0x6C25 0x2243F +0x6C26 0x22444 +0x6C27 0x2259D +0x6C28 0x22932 +0x6C29 0x2294C +0x6C2A 0x2292B +0x6C2B 0x2295A +0x6C2C 0x22A1F +0x6C2D 0x22E01 +0x6C2E 0x22E2D +0x6C2F 0x22E27 +0x6C30 0x22E59 +0x6C31 0x22E5A +0x6C32 0x22E4D +0x6C33 0x22E58 +0x6C34 0x23023 +0x6C35 0x23025 +0x6C36 0x2302B +0x6C37 0x232FF +0x6C38 0x233AE +0x6C39 0x237CB +0x6C3A 0x237CA +0x6C3B 0x237D0 +0x6C3C 0x237CE +0x6C3D 0x237CC +0x6C3E 0x237D8 +0x6C3F 0x237C6 +0x6C40 0x237D2 +0x6C41 0x237CF +0x6C42 0x237C8 +0x6C43 0x23B17 +0x6C45 0x240C4 +0x6C46 0x29240 +0x6C47 0x240E9 +0x6C48 0x240F2 +0x6C49 0x240FC +0x6C4A 0x240EA +0x6C4B 0x240EB +0x6C4C 0x240FD +0x6C4D 0x24478 +0x6C4E 0x24477 +0x6C4F 0x24473 +0x6C50 0x2449E +0x6C51 0x24479 +0x6C52 0x245A2 +0x6C53 0x24603 +0x6C54 0x24704 +0x6C55 0x24705 +0x6C56 0x248CE +0x6C57 0x24ABF +0x6C58 0x24EF6 +0x6C59 0x24EF7 +0x6C5A 0x25031 +0x6C5B 0x25030 +0x6C5C 0x250C9 +0x6C5D 0x250C7 +0x6C5E 0x2531C +0x6C5F 0x25328 +0x6C60 0x2531A +0x6C61 0x2531E +0x6C62 0x2531B +0x6C63 0x2531F +0x6C64 0x255BF +0x6C65 0x255BB +0x6C66 0x255BC +0x6C67 0x255C0 +0x6C68 0x2571A +0x6C69 0x258EF +0x6C6A 0x258EC +0x6C6B 0x258E9 +0x6C6C 0x258F0 +0x6C6D 0x258FE +0x6C6E 0x25A34 +0x6C6F 0x25D6A +0x6C70 0x25D95 +0x6C71 0x25D6C +0x6C72 0x25D72 +0x6C73 0x25D67 +0x6C74 0x25D60 +0x6C75 0x25D6B +0x6C76 0x25D5E +0x6C77 0x25D6F +0x6C78 0x25D66 +0x6C7A 0x25D62 +0x6C7B 0x25D5D +0x6C7C 0x25D5C +0x6C7D 0x2F965 +0x6C7E 0x25F50 +0x6D21 0x2619F +0x6D23 0x2619E +0x6D24 0x261A6 +0x6D25 0x26335 +0x6D26 0x26338 +0x6D27 0x26336 +0x6D28 0x2633A +0x6D29 0x263DC +0x6D2A 0x2687C +0x6D2B 0x268AB +0x6D2D 0x268A8 +0x6D2E 0x268A7 +0x6D2F 0x2692B +0x6D30 0x2692C +0x6D31 0x26928 +0x6D32 0x2092B +0x6D33 0x269A9 +0x6D34 0x269AA +0x6D35 0x269AB +0x6D36 0x269F8 +0x6D37 0x26AB1 +0x6D38 0x26AF0 +0x6D39 0x26AEF +0x6D3A 0x270A8 +0x6D3B 0x2708B +0x6D3C 0x27094 +0x6D3D 0x2709E +0x6D3E 0x2708F +0x6D3F 0x27088 +0x6D40 0x2707E +0x6D41 0x27081 +0x6D42 0x27030 +0x6D43 0x2709B +0x6D44 0x27082 +0x6D45 0x27090 +0x6D46 0x27085 +0x6D47 0x2707F +0x6D48 0x270A9 +0x6D49 0x270DE +0x6D4A 0x2720D +0x6D4C 0x274CF +0x6D4D 0x274CB +0x6D4E 0x274D8 +0x6D4F 0x274DD +0x6D50 0x274D3 +0x6D51 0x274D0 +0x6D52 0x274D5 +0x6D53 0x274D6 +0x6D54 0x275D6 +0x6D55 0x27792 +0x6D56 0x27795 +0x6D57 0x2A5CB +0x6D58 0x2778D +0x6D59 0x2779B +0x6D5A 0x2779D +0x6D5B 0x2778F +0x6D5C 0x2779E +0x6D5D 0x277A6 +0x6D5E 0x27896 +0x6D5F 0x27892 +0x6D60 0x27B16 +0x6D61 0x27B2A +0x6D62 0x27B29 +0x6D63 0x27B2C +0x6D64 0x27C15 +0x6D65 0x27C12 +0x6D66 0x27C11 +0x6D67 0x27C13 +0x6D68 0x27C88 +0x6D69 0x27C8B +0x6D6A 0x27C8A +0x6D6B 0x27C87 +0x6D6C 0x27D17 +0x6D6D 0x27D16 +0x6D6E 0x27D1A +0x6D6F 0x27E19 +0x6D70 0x27E17 +0x6D71 0x27F91 +0x6D72 0x27F94 +0x6D73 0x2818B +0x6D74 0x28190 +0x6D75 0x2818F +0x6D76 0x28186 +0x6D77 0x28183 +0x6D78 0x2818E +0x6D79 0x28187 +0x6D7A 0x281A8 +0x6D7B 0x28185 +0x6D7C 0x281A6 +0x6D7D 0x28182 +0x6D7E 0x281A7 +0x6E21 0x283B9 +0x6E22 0x283B7 +0x6E23 0x283B4 +0x6E24 0x283B6 +0x6E25 0x283B3 +0x6E26 0x283C6 +0x6E27 0x2863C +0x6E28 0x28640 +0x6E29 0x28638 +0x6E2A 0x28791 +0x6E2B 0x287A6 +0x6E2C 0x287DA +0x6E2D 0x288DA +0x6E2E 0x288D8 +0x6E2F 0x288D9 +0x6E30 0x288DB +0x6E31 0x288D7 +0x6E32 0x28B16 +0x6E33 0x28B12 +0x6E34 0x28B1F +0x6E36 0x28B14 +0x6E37 0x28B1A +0x6E38 0x28B10 +0x6E39 0x28CB3 +0x6E3A 0x28DAE +0x6E3B 0x28DC1 +0x6E3C 0x28DB0 +0x6E3D 0x28DAF +0x6E3E 0x28DB1 +0x6E3F 0x28DAD +0x6E40 0x28DB2 +0x6E41 0x28DC4 +0x6E42 0x2903C +0x6E43 0x2903F +0x6E44 0x29161 +0x6E45 0x29166 +0x6E46 0x2923C +0x6E47 0x2923B +0x6E48 0x2932C +0x6E4A 0x2932A +0x6E4B 0x2933E +0x6E4C 0x2932F +0x6E4D 0x29332 +0x6E4E 0x29327 +0x6E4F 0x29329 +0x6E50 0x29340 +0x6E51 0x293DF +0x6E52 0x293DE +0x6E53 0x2943C +0x6E54 0x2943B +0x6E55 0x2943E +0x6E56 0x29521 +0x6E57 0x29546 +0x6E58 0x2953C +0x6E59 0x29536 +0x6E5A 0x29538 +0x6E5B 0x29535 +0x6E5C 0x29631 +0x6E5D 0x29636 +0x6E5E 0x2962D +0x6E5F 0x29633 +0x6E60 0x2962F +0x6E61 0x2962E +0x6E62 0x29635 +0x6E63 0x297AC +0x6E64 0x297A9 +0x6E65 0x297A6 +0x6E67 0x2994C +0x6E68 0x29943 +0x6E69 0x29941 +0x6E6A 0x2994F +0x6E6B 0x29942 +0x6E6C 0x29951 +0x6E6E 0x29940 +0x6E6F 0x29950 +0x6E70 0x29945 +0x6E71 0x2994A +0x6E72 0x2994B +0x6E73 0x29A83 +0x6E74 0x29A82 +0x6E75 0x29A81 +0x6E76 0x29AE0 +0x6E77 0x29B98 +0x6E78 0x29B9F +0x6E79 0x29B9B +0x6E7A 0x29B9A +0x6E7B 0x29B99 +0x6E7C 0x29B96 +0x6E7D 0x29BAE +0x6E7E 0x29B9E +0x6F21 0x29D09 +0x6F22 0x29D0D +0x6F23 0x29E4E +0x6F24 0x29E4A +0x6F25 0x29E4D +0x6F26 0x29E40 +0x6F27 0x29E3E +0x6F28 0x29E48 +0x6F29 0x29E42 +0x6F2A 0x29E62 +0x6F2B 0x29E45 +0x6F2C 0x29E51 +0x6F2D 0x2A0C6 +0x6F2E 0x2A0D0 +0x6F2F 0x2A0C0 +0x6F30 0x2A0B7 +0x6F31 0x2A0C2 +0x6F32 0x2A0BC +0x6F33 0x2A0C5 +0x6F34 0x2A0DC +0x6F35 0x2A0DB +0x6F36 0x2A0D2 +0x6F37 0x2A0C7 +0x6F38 0x2A0B6 +0x6F39 0x2A0C9 +0x6F3A 0x2A0CC +0x6F3B 0x2A0D1 +0x6F3C 0x2A0CD +0x6F3D 0x2A0DA +0x6F3E 0x2A0BA +0x6F3F 0x2A0D3 +0x6F40 0x2A0CE +0x6F41 0x2A0F6 +0x6F42 0x2A0BD +0x6F43 0x2A0DD +0x6F44 0x2A0C8 +0x6F45 0x2A10D +0x6F46 0x2A135 +0x6F47 0x2A271 +0x6F48 0x2A26E +0x6F49 0x2A26F +0x6F4A 0x2A2D6 +0x6F4B 0x2A34C +0x6F4C 0x2A34F +0x6F4D 0x2A354 +0x6F4E 0x2A353 +0x6F4F 0x2A3C9 +0x6F50 0x2A3C8 +0x6F51 0x2A403 +0x6F53 0x2A404 +0x6F55 0x2A457 +0x6F56 0x2A452 +0x6F57 0x2A453 +0x6F59 0x2A456 +0x6F5A 0x2A45C +0x6F5B 0x2A455 +0x6F5C 0x2A564 +0x6F5D 0x2A55D +0x6F5E 0x2A55E +0x6F5F 0x2A5A2 +0x6F60 0x2A5A3 +0x6F62 0x2A5E7 +0x6F63 0x2A5E6 +0x6F64 0x2A698 +0x6F65 0x2A6AC +0x6F66 0x2A6AF +0x6F67 0x2A6AE +0x6F68 0x20459 +0x6F69 0x205A9 +0x6F6A 0x2082A +0x6F6B 0x208C7 +0x6F6C 0x21141 +0x6F6D 0x21137 +0x6F6E 0x21135 +0x6F6F 0x21133 +0x6F70 0x21139 +0x6F71 0x21132 +0x6F72 0x214FF +0x6F73 0x21501 +0x6F74 0x214F8 +0x6F75 0x2191B +0x6F76 0x21919 +0x6F77 0x21BBF +0x6F78 0x21FBC +0x6F79 0x21FBE +0x6F7A 0x21FBD +0x6F7B 0x2217D +0x6F7C 0x22446 +0x6F7D 0x22447 +0x6F7E 0x225A4 +0x7021 0x22A21 +0x7022 0x22A62 +0x7023 0x22E86 +0x7025 0x2302F +0x7026 0x23031 +0x7028 0x237F8 +0x7029 0x237F5 +0x702A 0x237F9 +0x702B 0x237F2 +0x702C 0x237FA +0x702D 0x237F3 +0x702E 0x23814 +0x702F 0x237FD +0x7030 0x2380F +0x7031 0x2380E +0x7032 0x23801 +0x7033 0x23937 +0x7034 0x23935 +0x7035 0x23934 +0x7036 0x23931 +0x7037 0x23A7A +0x7038 0x23A7B +0x7039 0x23C37 +0x703A 0x2412B +0x703B 0x240FB +0x703C 0x24116 +0x703D 0x24113 +0x703F 0x24111 +0x7040 0x2410F +0x7041 0x2411B +0x7042 0x24138 +0x7043 0x244A4 +0x7044 0x24709 +0x7045 0x24707 +0x7046 0x2470B +0x7047 0x248D3 +0x7048 0x248D1 +0x7049 0x248D8 +0x704A 0x24B1D +0x704B 0x24BA9 +0x704C 0x24BD0 +0x704D 0x27215 +0x704E 0x24F02 +0x704F 0x24F05 +0x7050 0x24F01 +0x7051 0x24F00 +0x7052 0x2532E +0x7053 0x25330 +0x7054 0x2532F +0x7055 0x25331 +0x7056 0x255D2 +0x7057 0x255D3 +0x7058 0x25902 +0x7059 0x25A40 +0x705A 0x25A42 +0x705B 0x25A3B +0x705C 0x25ACE +0x705D 0x25D98 +0x705E 0x25D8F +0x705F 0x25D94 +0x7060 0x25D91 +0x7062 0x25DBA +0x7063 0x25D90 +0x7064 0x25D86 +0x7065 0x25D9A +0x7066 0x25D8C +0x7067 0x25D93 +0x7068 0x25D87 +0x7069 0x25D88 +0x706A 0x25D97 +0x706B 0x25D8D +0x706C 0x25D9C +0x706D 0x25DBD +0x706E 0x25F3C +0x706F 0x25F59 +0x7071 0x261D1 +0x7072 0x261BB +0x7073 0x261BE +0x7074 0x2625D +0x7075 0x263E2 +0x7076 0x26605 +0x7077 0x268BA +0x7079 0x268F4 +0x707A 0x269B2 +0x707B 0x269F9 +0x707C 0x26AB7 +0x707D 0x26AB6 +0x707E 0x27089 +0x7121 0x270F9 +0x7122 0x270D9 +0x7123 0x270E8 +0x7124 0x270D4 +0x7125 0x270DB +0x7126 0x270E2 +0x7127 0x270DF +0x7128 0x270D1 +0x7129 0x270E9 +0x712A 0x270EA +0x712B 0x27213 +0x712C 0x27211 +0x712D 0x274FA +0x712E 0x274F8 +0x712F 0x274F4 +0x7130 0x274FB +0x7131 0x2750E +0x7132 0x27502 +0x7133 0x2750F +0x7134 0x27790 +0x7135 0x277AD +0x7136 0x277A9 +0x7137 0x27948 +0x7138 0x27B5A +0x7139 0x27B4F +0x713A 0x27B4E +0x713B 0x27B55 +0x713C 0x27B54 +0x713D 0x27B4A +0x713E 0x27BD5 +0x713F 0x27C18 +0x7140 0x27C8D +0x7141 0x27D1D +0x7142 0x27D19 +0x7143 0x27E26 +0x7144 0x27E28 +0x7145 0x27E2B +0x7146 0x27E7D +0x7147 0x27FA0 +0x7148 0x27F9A +0x7149 0x27F9B +0x714A 0x281B5 +0x714B 0x281AD +0x714C 0x281B2 +0x714D 0x28294 +0x714E 0x283C9 +0x714F 0x2864E +0x7150 0x2864F +0x7151 0x28644 +0x7152 0x28652 +0x7153 0x288E9 +0x7154 0x28939 +0x7157 0x28DC7 +0x7158 0x28DD3 +0x7159 0x28DC6 +0x715A 0x28DC3 +0x715C 0x28DD2 +0x715D 0x28F66 +0x715E 0x2917F +0x715F 0x29180 +0x7160 0x29184 +0x7161 0x29185 +0x7162 0x291E3 +0x7164 0x29241 +0x7165 0x29244 +0x7166 0x29243 +0x7167 0x2934E +0x7168 0x2934F +0x716A 0x29349 +0x716B 0x2934A +0x716C 0x2934B +0x716D 0x29343 +0x716E 0x293E0 +0x716F 0x293E5 +0x7170 0x293E1 +0x7171 0x293E6 +0x7172 0x293E2 +0x7173 0x2940C +0x7174 0x29440 +0x7175 0x29549 +0x7176 0x2954A +0x7177 0x29554 +0x7178 0x2954C +0x7179 0x29555 +0x717A 0x29556 +0x717B 0x2963B +0x717C 0x2963D +0x717D 0x297A4 +0x717E 0x297A8 +0x7221 0x297C3 +0x7222 0x297BF +0x7223 0x297C8 +0x7224 0x297C2 +0x7225 0x297CA +0x7226 0x297CC +0x7227 0x297C9 +0x7228 0x297BE +0x7229 0x297CD +0x722A 0x297C7 +0x722B 0x297C5 +0x722C 0x2985D +0x722E 0x2996C +0x722F 0x2996B +0x7230 0x29970 +0x7231 0x2996D +0x7232 0x2996F +0x7233 0x29989 +0x7234 0x29984 +0x7235 0x29A8D +0x7236 0x29A8A +0x7237 0x29A8E +0x7238 0x29A91 +0x7239 0x29BB5 +0x723A 0x29BB1 +0x723B 0x29BAF +0x723C 0x29BB9 +0x723D 0x29BB7 +0x723E 0x29BB0 +0x7240 0x29C17 +0x7242 0x29C4F +0x7243 0x29D19 +0x7244 0x29D10 +0x7245 0x29D18 +0x7246 0x29D11 +0x7247 0x29D1C +0x7248 0x29D12 +0x7249 0x29E76 +0x724A 0x29E71 +0x724C 0x29E7A +0x724D 0x29E7F +0x724F 0x29E73 +0x7250 0x29EAB +0x7252 0x29E77 +0x7253 0x29E74 +0x7254 0x29E7E +0x7255 0x29E9B +0x7256 0x29E84 +0x7257 0x29E7C +0x7258 0x2A129 +0x7259 0x2A12B +0x725A 0x2A10E +0x725B 0x2A100 +0x725C 0x2A10B +0x725D 0x2A0FE +0x725E 0x2A0FA +0x725F 0x2A117 +0x7260 0x2A0FF +0x7261 0x2A10C +0x7262 0x2A10F +0x7264 0x2A102 +0x7265 0x2A101 +0x7266 0x2A0FC +0x7267 0x2A149 +0x7268 0x2A106 +0x7269 0x2A112 +0x726A 0x2A113 +0x726B 0x2A278 +0x726C 0x2A35B +0x726D 0x2A362 +0x726E 0x2A35F +0x726F 0x2A35D +0x7270 0x2A3AB +0x7271 0x2A3D5 +0x7272 0x2A3D4 +0x7273 0x2A3D3 +0x7274 0x2A407 +0x7275 0x2A46C +0x7276 0x2A470 +0x7277 0x2A46E +0x7278 0x2A468 +0x7279 0x2A46D +0x727A 0x2A477 +0x727B 0x2A46A +0x727C 0x2A4CE +0x727D 0x2A4EC +0x727E 0x2A569 +0x7321 0x2A568 +0x7322 0x2A5A6 +0x7323 0x2A5A9 +0x7324 0x2A5AA +0x7325 0x2A600 +0x7326 0x2A60D +0x7327 0x2A5F8 +0x7328 0x2A5FC +0x7329 0x2A60A +0x732A 0x2A5F7 +0x732B 0x2A601 +0x732C 0x2A6B6 +0x732D 0x2A6BB +0x732E 0x2A6B7 +0x732F 0x2A6B9 +0x7330 0x2A6CA +0x7331 0x20469 +0x7332 0x20625 +0x7333 0x21159 +0x7334 0x21507 +0x7335 0x21509 +0x7336 0x21922 +0x7337 0x21B07 +0x7338 0x21B04 +0x7339 0x2330F +0x733A 0x21CF8 +0x733B 0x21FC7 +0x733C 0x21FD1 +0x733D 0x2217E +0x733E 0x22308 +0x733F 0x2244A +0x7340 0x2F898 +0x7341 0x224B9 +0x7342 0x22E88 +0x7343 0x22E91 +0x7344 0x22E84 +0x7345 0x22E73 +0x7346 0x22E89 +0x7347 0x22E85 +0x7348 0x23033 +0x7349 0x23313 +0x734A 0x2381D +0x734B 0x2381F +0x734C 0x2381C +0x734D 0x23820 +0x734E 0x2381A +0x734F 0x2381B +0x7350 0x23939 +0x7351 0x239AF +0x7352 0x23AE5 +0x7353 0x23C3C +0x7354 0x24137 +0x7355 0x2413A +0x7356 0x244BB +0x7358 0x24710 +0x7359 0x2470D +0x735A 0x24BAF +0x735B 0x24C11 +0x735D 0x24F0D +0x735E 0x24F0C +0x735F 0x24F0B +0x7360 0x250D4 +0x7361 0x2533D +0x7362 0x2533E +0x7363 0x2533B +0x7364 0x25343 +0x7365 0x25340 +0x7366 0x25346 +0x7367 0x25411 +0x7368 0x255DD +0x7369 0x255DF +0x736A 0x255EA +0x736B 0x2574A +0x736C 0x25906 +0x736D 0x25DC1 +0x736E 0x25DB9 +0x736F 0x25DC6 +0x7370 0x25DB8 +0x7371 0x25DBB +0x7372 0x25DC8 +0x7373 0x25DC5 +0x7374 0x25DBF +0x7375 0x25DC7 +0x7376 0x25DC4 +0x7377 0x25F65 +0x7378 0x25F67 +0x7379 0x261D7 +0x737A 0x261DB +0x737B 0x261D4 +0x737C 0x261D6 +0x737D 0x263E8 +0x737E 0x2660A +0x7421 0x26ABD +0x7422 0x26ABE +0x7423 0x2711A +0x7424 0x2710D +0x7425 0x2710F +0x7426 0x2711B +0x7427 0x27110 +0x7428 0x27111 +0x7429 0x27113 +0x742A 0x27218 +0x742B 0x27520 +0x742C 0x2751F +0x742D 0x27523 +0x742E 0x2751D +0x742F 0x27537 +0x7430 0x27525 +0x7431 0x27524 +0x7432 0x2752A +0x7433 0x27527 +0x7434 0x27533 +0x7435 0x27528 +0x7436 0x27534 +0x7437 0x277BA +0x7439 0x2789D +0x743A 0x2794C +0x743B 0x27B5C +0x743C 0x27B6A +0x743D 0x27B5D +0x743E 0x27B65 +0x743F 0x27B63 +0x7440 0x27B5E +0x7441 0x27C19 +0x7442 0x27C97 +0x7443 0x27E3F +0x7444 0x27E33 +0x7445 0x27E32 +0x7446 0x27FA1 +0x7447 0x27FA5 +0x7448 0x27FA4 +0x7449 0x27FA2 +0x744A 0x281C1 +0x744C 0x281C7 +0x744D 0x281C4 +0x744E 0x281C6 +0x744F 0x281C5 +0x7450 0x281D4 +0x7451 0x281CA +0x7452 0x28653 +0x7453 0x288F1 +0x7454 0x28921 +0x7456 0x28BB7 +0x7457 0x28B92 +0x7458 0x28DD4 +0x7459 0x28F44 +0x745A 0x29198 +0x745B 0x2919B +0x745C 0x29191 +0x745D 0x29195 +0x745E 0x2919A +0x745F 0x29192 +0x7460 0x29353 +0x7461 0x29357 +0x7463 0x2935C +0x7464 0x2935D +0x7465 0x29364 +0x7466 0x293EA +0x7467 0x293ED +0x7468 0x29442 +0x7469 0x29443 +0x746A 0x29564 +0x746B 0x29561 +0x746C 0x29560 +0x746D 0x2967D +0x746E 0x297D4 +0x746F 0x297D5 +0x7470 0x297D9 +0x7471 0x29987 +0x7472 0x29999 +0x7473 0x2998C +0x7474 0x2998A +0x7475 0x2998F +0x7477 0x2998B +0x7478 0x29982 +0x7479 0x2999B +0x747B 0x29BC8 +0x747C 0x29BC4 +0x747D 0x29BCC +0x747E 0x29BC7 +0x7521 0x29BC3 +0x7522 0x29BC6 +0x7523 0x29BCB +0x7524 0x29BCA +0x7525 0x29BC9 +0x7526 0x29BCD +0x7527 0x29C53 +0x7528 0x29D21 +0x7529 0x29D29 +0x752A 0x29D1D +0x752B 0x29D24 +0x752C 0x29D28 +0x752E 0x29EB1 +0x752F 0x29EB2 +0x7530 0x29EB5 +0x7531 0x29ED6 +0x7532 0x29EAF +0x7533 0x29ECA +0x7534 0x29EB8 +0x7535 0x2FA12 +0x7536 0x2FA11 +0x7537 0x2A145 +0x7538 0x2A147 +0x7539 0x2A134 +0x753A 0x2A16E +0x753B 0x2A142 +0x753C 0x2A131 +0x753D 0x2A12E +0x753E 0x2A156 +0x753F 0x2A138 +0x7540 0x2A137 +0x7541 0x2A14B +0x7542 0x2A12D +0x7543 0x2A133 +0x7544 0x2A136 +0x7546 0x2A148 +0x7547 0x2A2DC +0x7549 0x2A366 +0x754A 0x2A36D +0x754B 0x2A363 +0x754C 0x2A364 +0x754E 0x2A367 +0x754F 0x2A3D9 +0x7550 0x2A40B +0x7551 0x2A47E +0x7552 0x2A48B +0x7553 0x2A526 +0x7554 0x2A52C +0x7555 0x2A529 +0x7556 0x2A56F +0x7557 0x2A56B +0x7558 0x2A56D +0x7559 0x2A56E +0x755A 0x2A61C +0x755B 0x2A611 +0x755C 0x2A610 +0x755D 0x2A624 +0x755E 0x2A612 +0x755F 0x2A615 +0x7560 0x2A617 +0x7562 0x2046F +0x7563 0x205AB +0x7564 0x2082E +0x7565 0x208C9 +0x7566 0x20B96 +0x7567 0x21185 +0x7568 0x216A0 +0x7569 0x2192B +0x756A 0x2230D +0x756B 0x23036 +0x756F 0x233B1 +0x7570 0x2384A +0x7571 0x23837 +0x7572 0x2383C +0x7573 0x23838 +0x7574 0x2383A +0x7575 0x2383E +0x7576 0x23849 +0x7579 0x23A80 +0x757A 0x23A7F +0x757B 0x23AE3 +0x757C 0x23C3F +0x757D 0x24152 +0x757E 0x2414E +0x7621 0x2414A +0x7622 0x2414B +0x7623 0x244D5 +0x7624 0x24AD8 +0x7625 0x24B20 +0x7626 0x24BB3 +0x7627 0x24BB1 +0x7628 0x24BB0 +0x7629 0x24F17 +0x762A 0x250D9 +0x762B 0x25349 +0x762C 0x25413 +0x762D 0x255ED +0x762E 0x255EB +0x762F 0x255EE +0x7630 0x2590A +0x7631 0x2590B +0x7632 0x25A4A +0x7633 0x25DD5 +0x7634 0x25DD7 +0x7635 0x25DDE +0x7636 0x25DDC +0x7637 0x25DEE +0x7638 0x25F70 +0x763A 0x261D9 +0x763B 0x263D7 +0x763C 0x268CB +0x763D 0x268C7 +0x763E 0x269FC +0x763F 0x2713B +0x7640 0x27139 +0x7641 0x2714B +0x7642 0x27143 +0x7643 0x27140 +0x7644 0x27146 +0x7645 0x2754D +0x7646 0x27543 +0x7647 0x27547 +0x7648 0x2754B +0x7649 0x27555 +0x764A 0x27552 +0x764B 0x27B5F +0x764D 0x27B7C +0x764E 0x27B7B +0x764F 0x27FA8 +0x7650 0x27FA9 +0x7651 0x281DE +0x7652 0x281D7 +0x7653 0x281DD +0x7654 0x281D6 +0x7655 0x281D8 +0x7656 0x2829B +0x7657 0x283E0 +0x7658 0x283E8 +0x7659 0x283E6 +0x765A 0x288F8 +0x765B 0x288FB +0x765C 0x28BBB +0x765E 0x28BB8 +0x7660 0x28CC1 +0x7661 0x28CC0 +0x7662 0x291A4 +0x7663 0x291AB +0x7664 0x2924D +0x7665 0x29365 +0x7666 0x29367 +0x7667 0x2936A +0x7668 0x29366 +0x7669 0x29369 +0x766A 0x29573 +0x766B 0x29580 +0x766C 0x2956F +0x766D 0x29571 +0x766E 0x297E4 +0x766F 0x297E6 +0x7670 0x297E7 +0x7671 0x299A0 +0x7672 0x299A4 +0x7673 0x29AA2 +0x7674 0x29AA7 +0x7675 0x29AA4 +0x7676 0x29BDE +0x7677 0x29BDB +0x7678 0x29C58 +0x7679 0x29C5C +0x767A 0x29D2F +0x767B 0x29D2E +0x767C 0x29EDD +0x767D 0x29EE4 +0x767E 0x29ED8 +0x7721 0x29EE7 +0x7722 0x29EDA +0x7723 0x29E75 +0x7725 0x2A179 +0x7726 0x2A180 +0x7727 0x2A17F +0x7728 0x2A17C +0x7729 0x2A175 +0x772A 0x2A17B +0x772B 0x2A182 +0x772D 0x2A189 +0x772E 0x2A174 +0x772F 0x2A17D +0x7730 0x2A17A +0x7731 0x2A186 +0x7732 0x2A1A8 +0x7733 0x2A172 +0x7735 0x2A18B +0x7736 0x2A191 +0x7737 0x2A1B3 +0x7738 0x2A181 +0x7739 0x2A282 +0x773A 0x2A2E1 +0x773B 0x2A2E3 +0x773C 0x2A2E2 +0x773D 0x2A376 +0x773E 0x2A374 +0x773F 0x2A372 +0x7740 0x2A375 +0x7741 0x2A40E +0x7742 0x2A40D +0x7743 0x2A494 +0x7744 0x2A492 +0x7745 0x2A493 +0x7746 0x2A491 +0x7747 0x2A48F +0x7748 0x2A495 +0x7749 0x2A4D0 +0x774A 0x2A4F7 +0x774B 0x2A576 +0x774C 0x2A5AF +0x774E 0x2A626 +0x774F 0x2A625 +0x7750 0x2A62D +0x7751 0x2A6A0 +0x7752 0x2A6C3 +0x7753 0x204D7 +0x7754 0x20ACC +0x7755 0x21179 +0x7756 0x2117A +0x7757 0x21515 +0x7758 0x21FDB +0x7759 0x22185 +0x775A 0x22970 +0x775B 0x2297B +0x775C 0x22EA5 +0x775D 0x22E9F +0x775E 0x23317 +0x775F 0x233B2 +0x7760 0x23839 +0x7761 0x23840 +0x7762 0x2384E +0x7763 0x2393E +0x7764 0x23AE8 +0x7765 0x23AE7 +0x7766 0x24166 +0x7767 0x24161 +0x7768 0x244DA +0x7769 0x24714 +0x776A 0x248DF +0x776B 0x24F18 +0x776C 0x25039 +0x776D 0x2503A +0x776E 0x25730 +0x776F 0x25732 +0x7770 0x2590E +0x7771 0x25A4C +0x7772 0x25DE8 +0x7773 0x25DF1 +0x7774 0x25DEB +0x7775 0x25DEC +0x7776 0x25F74 +0x7777 0x25F73 +0x7778 0x261F1 +0x7779 0x26342 +0x777A 0x2633E +0x777B 0x26341 +0x777C 0x2652C +0x777D 0x268D2 +0x777E 0x269BB +0x7821 0x27158 +0x7822 0x27157 +0x7823 0x27156 +0x7824 0x2715A +0x7826 0x27561 +0x7827 0x27568 +0x7828 0x27565 +0x7829 0x2755F +0x782A 0x27564 +0x782B 0x2755E +0x782C 0x2755B +0x782D 0x27567 +0x782E 0x277C3 +0x782F 0x278A2 +0x7830 0x27953 +0x7831 0x27B7D +0x7832 0x27C20 +0x7833 0x27FAE +0x7834 0x27FAF +0x7835 0x27FB0 +0x7836 0x281E7 +0x7837 0x281E6 +0x7838 0x281E9 +0x7839 0x283F1 +0x783A 0x283EB +0x783B 0x283EA +0x783C 0x283E9 +0x783D 0x28663 +0x783E 0x28902 +0x783F 0x288FE +0x7840 0x28BDE +0x7841 0x28CC2 +0x7842 0x28DE6 +0x7843 0x28F5D +0x7844 0x291AD +0x7845 0x29375 +0x7846 0x29372 +0x7847 0x29377 +0x7849 0x29651 +0x784A 0x297E8 +0x784B 0x297ED +0x784C 0x297EE +0x784D 0x299B9 +0x784E 0x299A1 +0x784F 0x299B6 +0x7850 0x29AAE +0x7851 0x29BE8 +0x7853 0x29C1E +0x7854 0x29D31 +0x7855 0x29D32 +0x7857 0x29F0E +0x7858 0x29F12 +0x7859 0x29F09 +0x785A 0x29F05 +0x785C 0x29F03 +0x785D 0x29F1F +0x785E 0x29F0D +0x785F 0x29F0C +0x7860 0x29F04 +0x7861 0x29F0A +0x7862 0x2A1C2 +0x7863 0x2A1BF +0x7864 0x2A1C9 +0x7865 0x2A1B2 +0x7866 0x2A1C1 +0x7867 0x2A1AF +0x7868 0x2A1B4 +0x7869 0x2A1B0 +0x786A 0x2A1B6 +0x786B 0x2A1B7 +0x786C 0x2A1BB +0x786D 0x2A1B1 +0x786E 0x2A2F0 +0x786F 0x2A378 +0x7870 0x2A37A +0x7871 0x2A379 +0x7872 0x2A3E4 +0x7873 0x2A3E6 +0x7874 0x2A49F +0x7875 0x2A49D +0x7876 0x2A498 +0x7877 0x2A499 +0x7878 0x2A4F9 +0x7879 0x2A530 +0x787A 0x2A582 +0x787B 0x2A581 +0x787C 0x2A5B3 +0x787D 0x2A57F +0x787E 0x2A63A +0x7921 0x2A63E +0x7922 0x2A648 +0x7923 0x21186 +0x7924 0x21936 +0x7925 0x21B13 +0x7926 0x21C22 +0x7927 0x21FDD +0x7928 0x225A7 +0x7929 0x2297D +0x792B 0x2331C +0x792C 0x23865 +0x792D 0x23860 +0x792E 0x23867 +0x7930 0x23B1A +0x7931 0x24AE3 +0x7932 0x25734 +0x7933 0x25918 +0x7934 0x25A52 +0x7935 0x25DFC +0x7936 0x25F79 +0x7937 0x25F78 +0x7938 0x25F76 +0x7939 0x261FA +0x793A 0x261F8 +0x793B 0x2652D +0x793C 0x268D6 +0x793D 0x269BD +0x793E 0x269BF +0x793F 0x269BE +0x7940 0x27144 +0x7941 0x27170 +0x7942 0x27162 +0x7943 0x2716E +0x7944 0x2756E +0x7945 0x2757C +0x7946 0x27574 +0x7947 0x27578 +0x7948 0x27570 +0x7949 0x27579 +0x794A 0x27571 +0x794B 0x277CC +0x794C 0x278A7 +0x794D 0x278A6 +0x794E 0x27B93 +0x794F 0x27C21 +0x7950 0x27C9C +0x7951 0x2829D +0x7952 0x283F4 +0x7953 0x283F3 +0x7954 0x28DF0 +0x7955 0x291B8 +0x7956 0x291B6 +0x7957 0x291BD +0x7958 0x29373 +0x7959 0x29382 +0x795A 0x29587 +0x795B 0x29656 +0x795C 0x29659 +0x795D 0x297F6 +0x795E 0x299C9 +0x795F 0x299C5 +0x7960 0x299C7 +0x7961 0x299CA +0x7962 0x299C2 +0x7963 0x299C4 +0x7964 0x29BF2 +0x7965 0x29BF0 +0x7966 0x29D3B +0x7967 0x29D3A +0x7968 0x29F26 +0x7969 0x29F28 +0x796A 0x29F34 +0x796B 0x29F2D +0x796C 0x2A1D7 +0x796D 0x2A1D2 +0x796E 0x2A1D6 +0x796F 0x2A1DC +0x7970 0x2A1D3 +0x7971 0x2A1D1 +0x7972 0x2A286 +0x7974 0x2A2EF +0x7975 0x2A2EE +0x7976 0x2A3E8 +0x7977 0x2A4AC +0x7978 0x2A4A9 +0x7979 0x2A4AA +0x797A 0x2A4AB +0x797B 0x2A4FB +0x797C 0x2A533 +0x797D 0x2A588 +0x797E 0x2A5B6 +0x7A21 0x2A5B7 +0x7A22 0x2A5D0 +0x7A23 0x2A5CF +0x7A24 0x2A64F +0x7A25 0x2A659 +0x7A26 0x2A64C +0x7A27 0x21B18 +0x7A28 0x21FE0 +0x7A29 0x23869 +0x7A2A 0x24173 +0x7A2B 0x24172 +0x7A2C 0x24AE8 +0x7A2D 0x255FB +0x7A2E 0x2591C +0x7A2F 0x25E09 +0x7A30 0x25E0A +0x7A31 0x25E08 +0x7A32 0x25F7D +0x7A33 0x25F7F +0x7A34 0x26267 +0x7A35 0x2717A +0x7A36 0x2717B +0x7A37 0x277D1 +0x7A38 0x2F9CB +0x7A39 0x27B9D +0x7A3A 0x27C9D +0x7A3B 0x281FC +0x7A3C 0x281FB +0x7A3D 0x281FD +0x7A3E 0x283F5 +0x7A3F 0x283F6 +0x7A40 0x28C0F +0x7A41 0x28C1D +0x7A42 0x291C7 +0x7A43 0x291C1 +0x7A44 0x291BF +0x7A45 0x29254 +0x7A46 0x2937F +0x7A47 0x293F5 +0x7A48 0x2958A +0x7A49 0x2958C +0x7A4A 0x2965C +0x7A4B 0x29865 +0x7A4C 0x299CF +0x7A4D 0x299D0 +0x7A4E 0x29AB8 +0x7A4F 0x29BFA +0x7A50 0x29C66 +0x7A51 0x29F40 +0x7A52 0x29F41 +0x7A54 0x2A1F7 +0x7A55 0x2A1F3 +0x7A56 0x2A1EF +0x7A57 0x2A1F4 +0x7A58 0x2A1ED +0x7A59 0x2A1F2 +0x7A5A 0x2A1F1 +0x7A5B 0x2A1F9 +0x7A5C 0x2A4B4 +0x7A5D 0x2A4FC +0x7A5E 0x2A5BC +0x7A5F 0x2A65E +0x7A60 0x2A65B +0x7A61 0x2A65F +0x7A62 0x2A65D +0x7A63 0x2A6CF +0x7A64 0x2A6CE +0x7A65 0x2193A +0x7A66 0x21FE1 +0x7A67 0x22315 +0x7A68 0x22314 +0x7A69 0x24178 +0x7A6A 0x24179 +0x7A6B 0x244E6 +0x7A6C 0x24BB8 +0x7A6D 0x24F22 +0x7A6E 0x255FE +0x7A6F 0x268DB +0x7A70 0x26A06 +0x7A71 0x26AC8 +0x7A72 0x27189 +0x7A73 0x27586 +0x7A74 0x278AD +0x7A75 0x27B99 +0x7A76 0x27BD8 +0x7A77 0x27C23 +0x7A78 0x27D23 +0x7A79 0x27FB5 +0x7A7A 0x283F9 +0x7A7B 0x28907 +0x7A7C 0x28C1E +0x7A7D 0x28DFB +0x7A7E 0x28F72 +0x7B21 0x28F73 +0x7B22 0x29387 +0x7B23 0x29449 +0x7B24 0x2965D +0x7B25 0x297F8 +0x7B26 0x29C03 +0x7B27 0x29F4E +0x7B28 0x29F4D +0x7B29 0x29F50 +0x7B2A 0x29F55 +0x7B2B 0x2A209 +0x7B2C 0x2A207 +0x7B2D 0x2A20C +0x7B2E 0x2A203 +0x7B2F 0x2A206 +0x7B30 0x2A20B +0x7B31 0x2A20A +0x7B32 0x2A289 +0x7B33 0x2A4BB +0x7B34 0x2A4FF +0x7B35 0x2A536 +0x7B36 0x2A58B +0x7B37 0x2A666 +0x7B38 0x2A669 +0x7B39 0x2A667 +0x7B3A 0x2A6C2 +0x7B3B 0x2A6D2 +0x7B3C 0x21FE2 +0x7B3E 0x22988 +0x7B3F 0x2335B +0x7B40 0x23876 +0x7B41 0x2417D +0x7B42 0x245A6 +0x7B43 0x2535A +0x7B44 0x25E17 +0x7B45 0x268DC +0x7B46 0x2718F +0x7B47 0x27594 +0x7B48 0x27595 +0x7B49 0x27FB6 +0x7B4A 0x28204 +0x7B4B 0x287EE +0x7B4C 0x2938A +0x7B4D 0x293F9 +0x7B4E 0x29C07 +0x7B4F 0x29C1F +0x7B50 0x29C2A +0x7B51 0x29D45 +0x7B52 0x29F5C +0x7B53 0x29F5B +0x7B54 0x29F61 +0x7B55 0x29F5D +0x7B56 0x2A218 +0x7B57 0x2A21F +0x7B58 0x2A383 +0x7B59 0x2A416 +0x7B5A 0x2A414 +0x7B5B 0x2A4BF +0x7B5C 0x2A4C0 +0x7B5D 0x2A673 +0x7B5E 0x2A6C0 +0x7B5F 0x21517 +0x7B60 0x22989 +0x7B61 0x2591E +0x7B62 0x2591F +0x7B63 0x25A54 +0x7B64 0x25E18 +0x7B65 0x26205 +0x7B66 0x27195 +0x7B67 0x27598 +0x7B68 0x2759B +0x7B69 0x27959 +0x7B6A 0x28208 +0x7B6B 0x28401 +0x7B6C 0x291CE +0x7B6D 0x293FA +0x7B6E 0x29ABE +0x7B6F 0x29D47 +0x7B70 0x29F6A +0x7B71 0x29F69 +0x7B72 0x29F68 +0x7B73 0x29F67 +0x7B74 0x2A225 +0x7B75 0x2A228 +0x7B76 0x2A4C4 +0x7B77 0x2A537 +0x7B78 0x2A58D +0x7B79 0x2A58C +0x7B7B 0x2F920 +0x7B7C 0x25E22 +0x7B7D 0x25F82 +0x7B7E 0x277D9 +0x7C21 0x28C38 +0x7C22 0x293FB +0x7C23 0x299E1 +0x7C24 0x29C72 +0x7C25 0x29D48 +0x7C26 0x29F6C +0x7C27 0x29F70 +0x7C28 0x2A231 +0x7C29 0x2A230 +0x7C2A 0x2A679 +0x7C2B 0x25E23 +0x7C2C 0x268F8 +0x7C2D 0x29C74 +0x7C2E 0x29F73 +0x7C2F 0x2A234 +0x7C30 0x2A387 +0x7C31 0x2A3B2 +0x7C32 0x2A5C2 +0x7C33 0x2A67D +0x7C34 0x21FE5 +0x7C35 0x2938C +0x7C36 0x29F77 +0x7C37 0x29F75 +0x7C38 0x2A238 +0x7C39 0x2A23A +0x7C3A 0x2A683 +0x7C3B 0x2A681 +0x7C3C 0x24180 +0x7C3D 0x27199 +0x7C3F 0x2944A +0x7C40 0x29D4A +0x7C41 0x2A23C +0x7C42 0x2A6C8 +0x7C43 0x25604 +0x7C44 0x278AF +0x7C45 0x2A689 +0x7C46 0x2A2FA +0x7C47 0x29661 +0x7C48 0x2A23F +0x7C49 0x27193 +0x7C4A 0x2A4C9 +0x7C4B 0x277DE +0x7C4C 0x29391 +0x7C4D 0x2A68E +0x7C4E 0x2A68D +0x7C4F 0x27198 +0x7C50 0x269C5 +0x7C51 0x2A6A5 diff --git a/test/sun/nio/cs/SurrogateTestEUCTW.plane6.surrogates b/test/sun/nio/cs/SurrogateTestEUCTW.plane6.surrogates new file mode 100644 index 000000000..f6c9f6716 --- /dev/null +++ b/test/sun/nio/cs/SurrogateTestEUCTW.plane6.surrogates @@ -0,0 +1,6158 @@ +0x2121 0x2F802 +0x2122 0x20062 +0x2124 0x20088 +0x2125 0x200D0 +0x2126 0x200CF +0x2127 0x2011E +0x2128 0x2011F +0x2129 0x20120 +0x212A 0x2090E +0x212B 0x2092C +0x212C 0x20061 +0x212D 0x20004 +0x212E 0x20005 +0x212F 0x20003 +0x2131 0x2F801 +0x2132 0x2007D +0x2133 0x2008D +0x2134 0x201A3 +0x2135 0x201A4 +0x2136 0x204DB +0x2137 0x20500 +0x2138 0x2F81E +0x2139 0x206A3 +0x213A 0x20832 +0x213C 0x20AD4 +0x213D 0x20AD5 +0x213E 0x21C23 +0x213F 0x2232C +0x2140 0x2237A +0x2141 0x20503 +0x2142 0x20007 +0x2143 0x20008 +0x2144 0x2008F +0x2145 0x2009C +0x2146 0x200D5 +0x2147 0x20112 +0x2148 0x20113 +0x2149 0x20114 +0x214A 0x20121 +0x214B 0x201A8 +0x214C 0x201A6 +0x214D 0x20476 +0x214E 0x20501 +0x214F 0x2053D +0x2150 0x2F814 +0x2151 0x2053E +0x2152 0x20629 +0x2153 0x20677 +0x2154 0x20678 +0x2155 0x206A6 +0x2156 0x206A9 +0x2157 0x206AC +0x2158 0x20834 +0x2159 0x20504 +0x215A 0x2097B +0x215B 0x20A10 +0x215C 0x2062F +0x215D 0x20AD7 +0x215E 0x20B1C +0x215F 0x20B1F +0x2160 0x20B1A +0x2161 0x2F836 +0x2162 0x20B1E +0x2163 0x20B9E +0x2164 0x20B9A +0x2165 0x211A0 +0x2166 0x211A1 +0x2167 0x215D2 +0x2168 0x215D3 +0x2169 0x219B9 +0x216A 0x21B1D +0x216B 0x21B55 +0x216C 0x21CFF +0x216D 0x21FE7 +0x216F 0x22011 +0x2170 0x22013 +0x2171 0x22012 +0x2172 0x221AF +0x2173 0x221B1 +0x2174 0x2F890 +0x2175 0x2232D +0x2176 0x2237B +0x2177 0x2239D +0x2178 0x2239A +0x217A 0x2239F +0x217B 0x223A0 +0x217C 0x2239C +0x217D 0x224BD +0x2221 0x225AA +0x2222 0x2306C +0x2223 0x23091 +0x2224 0x23C74 +0x2225 0x2456A +0x2226 0x2F929 +0x2227 0x25605 +0x2228 0x2626B +0x2229 0x2626A +0x222A 0x200E0 +0x222B 0x20012 +0x222D 0x2007F +0x222E 0x200A0 +0x222F 0x20099 +0x2230 0x20095 +0x2231 0x2009E +0x2232 0x200DF +0x2233 0x200DE +0x2234 0x201AF +0x2235 0x201AD +0x2236 0x201B0 +0x2237 0x204DF +0x2238 0x20543 +0x2239 0x20541 +0x223A 0x20548 +0x223B 0x20575 +0x223C 0x2F81A +0x223D 0x20632 +0x223E 0x2067B +0x223F 0x20679 +0x2240 0x206B3 +0x2242 0x20BA7 +0x2243 0x206B2 +0x2244 0x206B0 +0x2245 0x206B4 +0x2246 0x2F829 +0x2247 0x208CD +0x2248 0x208CE +0x2249 0x2F82B +0x224A 0x20910 +0x224B 0x20980 +0x224C 0x209D3 +0x224D 0x20A30 +0x224E 0x20098 +0x224F 0x20A2F +0x2250 0x20A31 +0x2251 0x20ADA +0x2252 0x20AD9 +0x2253 0x20B27 +0x2254 0x20B28 +0x2255 0x20B21 +0x2256 0x20B25 +0x2257 0x20BA6 +0x2258 0x20BA2 +0x2259 0x20BA1 +0x225A 0x20BA4 +0x225B 0x2F839 +0x225C 0x20BAA +0x225D 0x20BA5 +0x225E 0x20BA3 +0x225F 0x20064 +0x2260 0x2123F +0x2261 0x21244 +0x2262 0x2151B +0x2263 0x21553 +0x2264 0x21584 +0x2265 0x21586 +0x2266 0x215D5 +0x2267 0x2F860 +0x2268 0x2193E +0x2269 0x21940 +0x226A 0x21BCA +0x226B 0x21BC9 +0x226C 0x21C26 +0x226D 0x21D00 +0x226E 0x21D31 +0x226F 0x21D3C +0x2270 0x21D30 +0x2271 0x21D33 +0x2272 0x21D32 +0x2273 0x21D38 +0x2274 0x22034 +0x2275 0x22053 +0x2276 0x22054 +0x2277 0x221B4 +0x2278 0x221B2 +0x2279 0x2232F +0x227A 0x223A5 +0x227B 0x223A7 +0x227C 0x223A4 +0x227D 0x223A8 +0x227E 0x223A9 +0x2321 0x223A2 +0x2322 0x223A3 +0x2323 0x223A6 +0x2324 0x22481 +0x2325 0x22480 +0x2326 0x225AD +0x2327 0x22A24 +0x2328 0x22A65 +0x2329 0x22A68 +0x232A 0x22A69 +0x232B 0x2313C +0x232C 0x2313B +0x232D 0x2335D +0x232E 0x23944 +0x232F 0x24182 +0x2330 0x244F1 +0x2331 0x2456B +0x2332 0x2471B +0x2333 0x248EB +0x2334 0x24BBA +0x2335 0x24BD3 +0x2336 0x24D13 +0x2337 0x25922 +0x2338 0x26AF4 +0x2339 0x2820F +0x233A 0x28210 +0x233B 0x20507 +0x233C 0x29C0B +0x233D 0x29C0A +0x233E 0x20019 +0x233F 0x2001A +0x2340 0x20018 +0x2341 0x20066 +0x2342 0x20082 +0x2343 0x200A8 +0x2344 0x200E5 +0x2345 0x200E7 +0x2346 0x200E4 +0x2347 0x20115 +0x2348 0x20123 +0x2349 0x20124 +0x234A 0x20143 +0x234B 0x201C3 +0x234C 0x201BC +0x234D 0x201BB +0x234F 0x201B7 +0x2350 0x201B9 +0x2351 0x201CF +0x2352 0x2F80D +0x2353 0x2047A +0x2354 0x2047B +0x2355 0x204E1 +0x2356 0x204E0 +0x2357 0x20509 +0x2358 0x2054D +0x2359 0x2F816 +0x235A 0x2054B +0x235B 0x20579 +0x235C 0x205B1 +0x235D 0x20636 +0x235E 0x20635 +0x235F 0x20637 +0x2360 0x20638 +0x2361 0x2067F +0x2362 0x20680 +0x2363 0x20681 +0x2364 0x26953 +0x2365 0x2067E +0x2366 0x206CD +0x2367 0x206BF +0x2368 0x206BE +0x2369 0x206C2 +0x236A 0x206B8 +0x236B 0x206C1 +0x236D 0x20931 +0x236E 0x2092F +0x236F 0x2096F +0x2370 0x20982 +0x2372 0x20987 +0x2373 0x20986 +0x2374 0x2098D +0x2375 0x20994 +0x2376 0x209D7 +0x2377 0x209D4 +0x2378 0x209D8 +0x2379 0x20A16 +0x237A 0x20A14 +0x237B 0x20A2E +0x237C 0x20A36 +0x237D 0x20A37 +0x237E 0x21FEE +0x2421 0x20AE0 +0x2422 0x20AE5 +0x2423 0x20ADF +0x2424 0x20B2B +0x2425 0x20B29 +0x2426 0x20B2D +0x2427 0x20B2F +0x2428 0x20BB7 +0x2429 0x20BC9 +0x242A 0x20BC1 +0x242B 0x20BCA +0x242C 0x20BB2 +0x242D 0x20BAC +0x242E 0x20BAE +0x242F 0x211B2 +0x2430 0x211A8 +0x2431 0x211B0 +0x2432 0x211A7 +0x2433 0x2F851 +0x2434 0x21252 +0x2435 0x2124A +0x2436 0x21556 +0x2437 0x21555 +0x2438 0x2155F +0x2439 0x2155E +0x243A 0x21588 +0x243B 0x2F85D +0x243C 0x215DD +0x243D 0x215E2 +0x243E 0x215E1 +0x243F 0x215DF +0x2440 0x215E0 +0x2441 0x216AF +0x2442 0x216B1 +0x2443 0x216BA +0x2444 0x21945 +0x2445 0x21943 +0x2446 0x219BD +0x2447 0x219C8 +0x2448 0x2F86C +0x2449 0x219BE +0x244A 0x219BF +0x244B 0x2F874 +0x244C 0x21B59 +0x244D 0x21C29 +0x244E 0x21C2C +0x244F 0x21C2F +0x2450 0x21C2D +0x2451 0x21C2E +0x2452 0x21D04 +0x2453 0x21D02 +0x2454 0x21D01 +0x2455 0x21D40 +0x2456 0x21D4A +0x2457 0x21D3F +0x2458 0x21D4F +0x2459 0x21D41 +0x245A 0x21D4E +0x245B 0x21FEB +0x245C 0x21FEC +0x245D 0x200AC +0x245E 0x2205B +0x245F 0x22063 +0x2460 0x2205A +0x2461 0x22059 +0x2462 0x221DC +0x2463 0x221DB +0x2464 0x221D9 +0x2465 0x221E0 +0x2466 0x221DD +0x2467 0x20020 +0x2468 0x223B0 +0x2469 0x223B1 +0x246A 0x223B2 +0x246B 0x223B6 +0x246C 0x22451 +0x246D 0x22452 +0x246E 0x22450 +0x246F 0x22484 +0x2471 0x22483 +0x2472 0x225C3 +0x2473 0x225B8 +0x2474 0x225B9 +0x2475 0x225B2 +0x2476 0x22990 +0x2477 0x22A26 +0x2478 0x22A29 +0x2479 0x22A6E +0x247A 0x23140 +0x247B 0x2313E +0x247C 0x23141 +0x247D 0x2335E +0x247E 0x233BB +0x2521 0x233BC +0x2522 0x233B9 +0x2523 0x2F8EF +0x2524 0x23880 +0x2526 0x23945 +0x2527 0x239BA +0x2528 0x239BD +0x2529 0x23C56 +0x252A 0x23C55 +0x252B 0x23C75 +0x252C 0x23C77 +0x252D 0x23C81 +0x252E 0x2F8FA +0x252F 0x23C83 +0x2530 0x23C8B +0x2531 0x23C84 +0x2532 0x24186 +0x2533 0x24183 +0x2534 0x2418B +0x2535 0x2456D +0x2536 0x24616 +0x2537 0x24728 +0x2538 0x248EA +0x2539 0x24BD4 +0x253A 0x24C03 +0x253B 0x24D15 +0x253C 0x24F3D +0x253D 0x24F3E +0x253E 0x25416 +0x253F 0x2F94C +0x2540 0x25606 +0x2541 0x2574D +0x2542 0x26222 +0x2543 0x26273 +0x2544 0x2626D +0x2545 0x2626E +0x2546 0x264B1 +0x2547 0x2054E +0x2548 0x2662D +0x254A 0x268F9 +0x254B 0x26952 +0x254C 0x26B00 +0x254D 0x26AFC +0x254E 0x26AFA +0x2550 0x26AF7 +0x2551 0x26AF8 +0x2552 0x2F990 +0x2553 0x2F9C4 +0x2554 0x27C27 +0x2555 0x28211 +0x2556 0x200AE +0x2557 0x28450 +0x2558 0x2844F +0x2559 0x2844D +0x255A 0x28671 +0x255B 0x2F9E2 +0x255C 0x28672 +0x255D 0x28E18 +0x255E 0x20A44 +0x255F 0x20021 +0x2560 0x20067 +0x2561 0x200AF +0x2562 0x200B0 +0x2563 0x20029 +0x2564 0x20117 +0x2565 0x20122 +0x2566 0x2F803 +0x2567 0x20025 +0x2568 0x20128 +0x2569 0x201FF +0x256A 0x201D9 +0x256B 0x201DB +0x256C 0x201DE +0x256D 0x201F2 +0x256E 0x201FE +0x256F 0x201F4 +0x2570 0x201DD +0x2572 0x2F804 +0x2573 0x20201 +0x2574 0x201DC +0x2575 0x2047D +0x2576 0x20481 +0x2577 0x2047E +0x2578 0x2047F +0x2579 0x204E5 +0x257A 0x2050F +0x257C 0x2050A +0x257E 0x2050B +0x2621 0x20551 +0x2622 0x20552 +0x2623 0x20550 +0x2624 0x205B8 +0x2625 0x2063D +0x2626 0x2063E +0x2627 0x2063C +0x2628 0x20687 +0x2629 0x206D7 +0x262A 0x206DB +0x262B 0x206CF +0x262C 0x206E0 +0x262D 0x2084C +0x262E 0x20842 +0x262F 0x208D4 +0x2630 0x20911 +0x2631 0x20914 +0x2632 0x20915 +0x2633 0x20912 +0x2634 0x20933 +0x2635 0x20935 +0x2637 0x20971 +0x2639 0x20991 +0x263A 0x20993 +0x263B 0x20995 +0x263C 0x209DC +0x263D 0x20A42 +0x263E 0x20A40 +0x263F 0x253A6 +0x2640 0x20AE6 +0x2641 0x2128F +0x2642 0x20B32 +0x2643 0x2F837 +0x2644 0x20B31 +0x2645 0x20BF5 +0x2646 0x20BCD +0x2647 0x20BDE +0x2648 0x20BD5 +0x2649 0x20BDA +0x264A 0x20BEE +0x264B 0x20BEC +0x264C 0x20BCF +0x264D 0x20BCE +0x264E 0x2F83D +0x264F 0x20BCC +0x2650 0x20BF3 +0x2651 0x211C1 +0x2652 0x211C4 +0x2653 0x211C6 +0x2654 0x211B4 +0x2655 0x211C3 +0x2656 0x211B8 +0x2657 0x211BB +0x2658 0x211B7 +0x2659 0x211BC +0x265A 0x211BF +0x265B 0x211C7 +0x265C 0x211BE +0x265D 0x21260 +0x265E 0x2125D +0x265F 0x21276 +0x2660 0x2126C +0x2661 0x21275 +0x2662 0x2125B +0x2663 0x21271 +0x2664 0x21273 +0x2665 0x21261 +0x2666 0x2125A +0x2667 0x21262 +0x2668 0x21272 +0x2669 0x2125F +0x266A 0x21258 +0x266B 0x2151E +0x266C 0x21558 +0x266D 0x2158B +0x266E 0x2158A +0x266F 0x215F4 +0x2670 0x215F0 +0x2671 0x216D2 +0x2672 0x216CD +0x2673 0x216CE +0x2674 0x216BC +0x2675 0x216D0 +0x2676 0x21946 +0x2677 0x21947 +0x267B 0x219CE +0x267C 0x219CF +0x267D 0x219CC +0x267E 0x219CB +0x2721 0x2F872 +0x2722 0x21B60 +0x2723 0x21B5F +0x2724 0x21B5D +0x2725 0x21BD4 +0x2726 0x21C3A +0x2727 0x21C38 +0x2728 0x21C3C +0x2729 0x21C36 +0x272A 0x21D08 +0x272B 0x21D7E +0x272C 0x21D5E +0x272D 0x21D6E +0x272E 0x21D53 +0x272F 0x21D70 +0x2730 0x21D57 +0x2731 0x21D5D +0x2732 0x21D63 +0x2733 0x21D7A +0x2734 0x21D79 +0x2735 0x21D93 +0x2736 0x2F881 +0x2737 0x2201D +0x2738 0x22068 +0x2739 0x22073 +0x273A 0x22074 +0x273B 0x22066 +0x273C 0x2206F +0x273D 0x22075 +0x273E 0x2207A +0x273F 0x22070 +0x2740 0x2206D +0x2741 0x22065 +0x2742 0x2218A +0x2743 0x221ED +0x2744 0x221E9 +0x2745 0x221E3 +0x2746 0x221EF +0x2748 0x221EA +0x2749 0x22331 +0x274A 0x2F891 +0x274B 0x22338 +0x274C 0x26B20 +0x274D 0x22335 +0x274E 0x2233A +0x274F 0x22381 +0x2750 0x22380 +0x2751 0x223B8 +0x2752 0x223C1 +0x2753 0x223BA +0x2754 0x22488 +0x2755 0x224CF +0x2756 0x224CA +0x2757 0x224C7 +0x2758 0x224C5 +0x2759 0x224C8 +0x275A 0x224D0 +0x275B 0x224C9 +0x275C 0x225BB +0x275D 0x225B6 +0x275E 0x225BD +0x275F 0x2F89D +0x2760 0x225B4 +0x2761 0x225C1 +0x2762 0x225D1 +0x2763 0x225D2 +0x2764 0x225CC +0x2765 0x225D4 +0x2766 0x225CB +0x2767 0x225CE +0x2768 0x225D5 +0x2769 0x225D8 +0x276A 0x22995 +0x276B 0x22993 +0x276C 0x22999 +0x276D 0x22996 +0x276F 0x22A89 +0x2770 0x22A94 +0x2771 0x22A91 +0x2772 0x22A8F +0x2773 0x22A84 +0x2774 0x22A97 +0x2775 0x22A86 +0x2776 0x22A85 +0x2777 0x22A8C +0x2778 0x22EF2 +0x2779 0x22EED +0x277A 0x22EEF +0x277B 0x230D9 +0x277C 0x23146 +0x277D 0x23147 +0x277E 0x2314B +0x2821 0x23150 +0x2822 0x2314A +0x2823 0x2314E +0x2824 0x2314C +0x2825 0x23148 +0x2826 0x23363 +0x2827 0x23361 +0x2828 0x23362 +0x2829 0x23360 +0x282A 0x233C3 +0x282B 0x233C5 +0x282C 0x233C1 +0x282D 0x233D0 +0x282E 0x2F8DC +0x282F 0x23882 +0x2831 0x23886 +0x2832 0x23884 +0x2833 0x2394C +0x2834 0x23948 +0x2835 0x239B8 +0x2836 0x239BF +0x2837 0x239C1 +0x2838 0x239C6 +0x2839 0x239C5 +0x283A 0x239C7 +0x283B 0x239C0 +0x283C 0x239C3 +0x283D 0x23AED +0x283E 0x23B03 +0x283F 0x23B22 +0x2840 0x23B21 +0x2841 0x23C9F +0x2842 0x23C90 +0x2843 0x23C9E +0x2845 0x23CA0 +0x2846 0x23C94 +0x2847 0x23C95 +0x2848 0x23CA1 +0x284B 0x2419A +0x284C 0x24190 +0x284D 0x244F2 +0x284E 0x244F3 +0x284F 0x2456E +0x2850 0x245AB +0x2851 0x245A9 +0x2852 0x2461A +0x2853 0x24618 +0x2854 0x2461B +0x2855 0x24760 +0x2856 0x2474C +0x2857 0x24742 +0x2858 0x24733 +0x2859 0x2473F +0x285A 0x2473E +0x285B 0x24738 +0x285C 0x24743 +0x285D 0x24746 +0x285E 0x24736 +0x285F 0x248EE +0x2860 0x248F5 +0x2861 0x248F4 +0x2863 0x24C1B +0x2865 0x24D2B +0x2866 0x24D29 +0x2867 0x24D2A +0x2868 0x24D2E +0x2869 0x2503F +0x286A 0x250E6 +0x286B 0x253A7 +0x286C 0x253A8 +0x286D 0x25418 +0x286E 0x25608 +0x286F 0x25750 +0x2870 0x25753 +0x2871 0x25A56 +0x2872 0x25A55 +0x2873 0x2626F +0x2874 0x2627F +0x2875 0x264B3 +0x2876 0x2663A +0x2877 0x26638 +0x2878 0x26637 +0x2879 0x26636 +0x287A 0x20554 +0x287B 0x2F980 +0x287C 0x268DD +0x287D 0x268FC +0x287E 0x268FA +0x2921 0x26933 +0x2922 0x26B04 +0x2923 0x26B07 +0x2924 0x26B08 +0x2925 0x26B06 +0x2926 0x26B09 +0x2927 0x2F991 +0x2928 0x2F993 +0x2929 0x2721E +0x292A 0x2F9D2 +0x292B 0x2840B +0x292C 0x28443 +0x292D 0x28452 +0x292E 0x28458 +0x292F 0x2845E +0x2930 0x28668 +0x2931 0x2868D +0x2932 0x28682 +0x2933 0x2867B +0x2934 0x28C58 +0x2936 0x2F800 +0x2937 0x2002C +0x2938 0x2002E +0x2939 0x2160B +0x293A 0x2002D +0x293B 0x20069 +0x293C 0x200B2 +0x293D 0x200B6 +0x293E 0x200A9 +0x293F 0x200ED +0x2940 0x20119 +0x2941 0x2014F +0x2942 0x20216 +0x2943 0x20203 +0x2944 0x2020E +0x2945 0x20204 +0x2946 0x20207 +0x2947 0x20210 +0x2948 0x20227 +0x2949 0x20228 +0x294A 0x2020D +0x294B 0x20229 +0x294C 0x2020F +0x294D 0x20222 +0x294E 0x20211 +0x294F 0x20485 +0x2950 0x20484 +0x2951 0x20483 +0x2952 0x2048A +0x2953 0x20486 +0x2954 0x20510 +0x2955 0x20558 +0x2956 0x2055A +0x2957 0x2070C +0x2958 0x205C4 +0x2959 0x205C5 +0x295A 0x20647 +0x295B 0x20649 +0x295C 0x2064A +0x295D 0x2064B +0x295E 0x221BB +0x295F 0x2068D +0x2960 0x2068B +0x2961 0x20707 +0x2962 0x20706 +0x2963 0x2F820 +0x2964 0x206EF +0x2965 0x206F0 +0x2966 0x206ED +0x2967 0x206F9 +0x2968 0x20702 +0x2969 0x206E7 +0x296A 0x206F4 +0x296B 0x206F7 +0x296C 0x206F1 +0x296D 0x20853 +0x296E 0x20855 +0x2970 0x208DA +0x2971 0x208D9 +0x2973 0x20938 +0x2974 0x20999 +0x2975 0x209A2 +0x2976 0x2099C +0x2977 0x2099A +0x2978 0x2099B +0x2979 0x209E5 +0x297A 0x209E3 +0x297B 0x209E1 +0x297C 0x209E0 +0x297D 0x209E2 +0x297E 0x209E4 +0x2A22 0x209E8 +0x2A23 0x2F82F +0x2A24 0x20A13 +0x2A25 0x20A56 +0x2A26 0x20A4B +0x2A27 0x20A4A +0x2A28 0x20A4D +0x2A29 0x20A4C +0x2A2B 0x20AEA +0x2A2C 0x20AE9 +0x2A2D 0x20AEB +0x2A2E 0x20AEC +0x2A2F 0x20B3A +0x2A30 0x20B3C +0x2A31 0x20B39 +0x2A32 0x20B3B +0x2A33 0x20C14 +0x2A34 0x20C0E +0x2A35 0x20C35 +0x2A36 0x20C0A +0x2A37 0x20C3F +0x2A38 0x20C38 +0x2A3A 0x20C4E +0x2A3B 0x20C17 +0x2A3C 0x2F83F +0x2A3D 0x20C1E +0x2A3E 0x211B6 +0x2A3F 0x211CE +0x2A40 0x211CA +0x2A41 0x211CB +0x2A42 0x211CC +0x2A43 0x211C9 +0x2A44 0x212B4 +0x2A45 0x212AC +0x2A46 0x21288 +0x2A47 0x21286 +0x2A48 0x2128C +0x2A49 0x21293 +0x2A4A 0x2128A +0x2A4B 0x212A4 +0x2A4C 0x21287 +0x2A4D 0x212A5 +0x2A4E 0x212A6 +0x2A4F 0x21285 +0x2A50 0x212A3 +0x2A51 0x2128E +0x2A52 0x2151F +0x2A53 0x21563 +0x2A54 0x2158D +0x2A55 0x215FA +0x2A56 0x215FB +0x2A57 0x21609 +0x2A58 0x215FE +0x2A59 0x215FF +0x2A5A 0x21602 +0x2A5B 0x21604 +0x2A5C 0x215FD +0x2A5D 0x21605 +0x2A5E 0x216F9 +0x2A5F 0x216F7 +0x2A60 0x216DB +0x2A61 0x216DA +0x2A62 0x21951 +0x2A63 0x21950 +0x2A64 0x21957 +0x2A65 0x219E2 +0x2A66 0x219D8 +0x2A67 0x219DA +0x2A68 0x219DC +0x2A69 0x21B20 +0x2A6A 0x21B1F +0x2A6B 0x21B69 +0x2A6C 0x21BDD +0x2A6D 0x21C40 +0x2A6E 0x21C41 +0x2A6F 0x21C43 +0x2A70 0x21D0D +0x2A71 0x21D0C +0x2A72 0x21D87 +0x2A73 0x21DA9 +0x2A74 0x21D92 +0x2A75 0x21D85 +0x2A77 0x21D8C +0x2A78 0x21DA2 +0x2A79 0x21D8F +0x2A7A 0x21D8A +0x2A7C 0x21D8D +0x2A7D 0x21FF1 +0x2A7E 0x22037 +0x2B21 0x2208B +0x2B22 0x22087 +0x2B23 0x22082 +0x2B24 0x2218E +0x2B25 0x221BC +0x2B26 0x221F8 +0x2B27 0x221FA +0x2B28 0x221EB +0x2B29 0x221F9 +0x2B2A 0x221FC +0x2B2B 0x22205 +0x2B2C 0x2231B +0x2B2D 0x2231D +0x2B2E 0x2231E +0x2B2F 0x2F892 +0x2B30 0x2233C +0x2B31 0x2233E +0x2B32 0x22384 +0x2B33 0x223C8 +0x2B34 0x223C9 +0x2B35 0x223D3 +0x2B36 0x223C7 +0x2B37 0x223D2 +0x2B38 0x22455 +0x2B39 0x2F896 +0x2B3A 0x2248C +0x2B3B 0x2248A +0x2B3C 0x224D5 +0x2B3D 0x224D3 +0x2B3F 0x224D8 +0x2B40 0x225D0 +0x2B41 0x225EE +0x2B42 0x225F1 +0x2B43 0x225FB +0x2B44 0x225D3 +0x2B45 0x225EC +0x2B46 0x225CD +0x2B47 0x22615 +0x2B48 0x22626 +0x2B49 0x2260E +0x2B4A 0x22627 +0x2B4B 0x2262A +0x2B4C 0x22600 +0x2B4D 0x22604 +0x2B4E 0x22628 +0x2B4F 0x22608 +0x2B50 0x22614 +0x2B51 0x2299B +0x2B53 0x229A1 +0x2B54 0x2299D +0x2B55 0x229A0 +0x2B56 0x2299E +0x2B57 0x229A2 +0x2B58 0x2299C +0x2B59 0x22A32 +0x2B5A 0x22A34 +0x2B5B 0x22A93 +0x2B5C 0x22A96 +0x2B5D 0x22A90 +0x2B5E 0x22AB4 +0x2B5F 0x22AB5 +0x2B60 0x2F8B6 +0x2B61 0x22AB6 +0x2B62 0x22AC2 +0x2B63 0x2F8B5 +0x2B64 0x22ABA +0x2B65 0x22A92 +0x2B66 0x22EFB +0x2B67 0x22F05 +0x2B68 0x22EF3 +0x2B69 0x22EFE +0x2B6A 0x22EFD +0x2B6B 0x2455D +0x2B6C 0x22EFA +0x2B6D 0x23043 +0x2B6E 0x23095 +0x2B6F 0x23094 +0x2B71 0x2316F +0x2B72 0x23173 +0x2B73 0x2315C +0x2B74 0x2315B +0x2B75 0x23166 +0x2B76 0x23174 +0x2B77 0x23163 +0x2B78 0x23167 +0x2B79 0x23160 +0x2B7A 0x23162 +0x2B7B 0x23171 +0x2B7C 0x23172 +0x2B7D 0x2315E +0x2B7E 0x23323 +0x2C21 0x23326 +0x2C22 0x23364 +0x2C23 0x2F8D6 +0x2C24 0x233F2 +0x2C25 0x23401 +0x2C26 0x233DD +0x2C27 0x233DC +0x2C28 0x233DB +0x2C29 0x233F3 +0x2C2A 0x233FD +0x2C2B 0x233D8 +0x2C2C 0x233F8 +0x2C2D 0x233FB +0x2C2E 0x23883 +0x2C2F 0x2388C +0x2C30 0x2388E +0x2C31 0x23949 +0x2C32 0x23954 +0x2C33 0x23952 +0x2C34 0x2394E +0x2C35 0x23958 +0x2C36 0x23951 +0x2C37 0x23955 +0x2C38 0x23953 +0x2C39 0x23957 +0x2C3A 0x23950 +0x2C3B 0x2394F +0x2C3C 0x2394D +0x2C3D 0x239D2 +0x2C3E 0x239D3 +0x2C3F 0x239C9 +0x2C40 0x239D4 +0x2C41 0x23AEF +0x2C42 0x2F8F8 +0x2C43 0x200B1 +0x2C44 0x23B05 +0x2C45 0x23B04 +0x2C46 0x23B2E +0x2C47 0x23B2D +0x2C48 0x23C45 +0x2C49 0x23C5B +0x2C4A 0x23C5A +0x2C4B 0x23C59 +0x2C4C 0x23C9D +0x2C4D 0x23C8E +0x2C4E 0x23CBC +0x2C4F 0x23CDD +0x2C50 0x23CBA +0x2C51 0x2F8FD +0x2C52 0x23CD8 +0x2C53 0x23CCB +0x2C54 0x23CD9 +0x2C55 0x23CDA +0x2C56 0x23CC4 +0x2C57 0x23CB8 +0x2C58 0x23CBF +0x2C59 0x23CDB +0x2C5A 0x23CC1 +0x2C5B 0x2F8FC +0x2C5C 0x23CC5 +0x2C5D 0x2F919 +0x2C5E 0x241B1 +0x2C5F 0x241AF +0x2C60 0x2F918 +0x2C61 0x244F7 +0x2C62 0x244F6 +0x2C63 0x244F8 +0x2C64 0x24550 +0x2C65 0x24551 +0x2C66 0x24571 +0x2C67 0x24570 +0x2C68 0x245B0 +0x2C69 0x245AF +0x2C6A 0x245AE +0x2C6B 0x245AD +0x2C6C 0x24625 +0x2C6D 0x2462C +0x2C6E 0x24622 +0x2C6F 0x24633 +0x2C70 0x24634 +0x2C72 0x2473A +0x2C73 0x24740 +0x2C74 0x24768 +0x2C76 0x24764 +0x2C77 0x2475C +0x2C78 0x24757 +0x2C79 0x24753 +0x2C7A 0x2474F +0x2C7B 0x24751 +0x2C7C 0x24754 +0x2C7D 0x24766 +0x2D22 0x2490D +0x2D23 0x24908 +0x2D24 0x2F92B +0x2D25 0x248FA +0x2D26 0x24AEA +0x2D27 0x24B2A +0x2D28 0x24BBB +0x2D29 0x24BD5 +0x2D2A 0x24BD7 +0x2D2B 0x21DA4 +0x2D2C 0x200F0 +0x2D2D 0x200B5 +0x2D2E 0x24C06 +0x2D2F 0x24C28 +0x2D30 0x24C22 +0x2D31 0x24C21 +0x2D32 0x22456 +0x2D33 0x24C23 +0x2D34 0x211CD +0x2D35 0x24D30 +0x2D36 0x24D34 +0x2D37 0x24FC9 +0x2D38 0x24FCA +0x2D39 0x24FC8 +0x2D3A 0x2F93D +0x2D3B 0x25044 +0x2D3C 0x250F3 +0x2D3D 0x2F941 +0x2D3E 0x250F8 +0x2D3F 0x250FC +0x2D40 0x250F6 +0x2D41 0x250FB +0x2D42 0x250F7 +0x2D43 0x25100 +0x2D44 0x25102 +0x2D45 0x2F940 +0x2D46 0x2F94D +0x2D47 0x25424 +0x2D48 0x2560D +0x2D4A 0x25762 +0x2D4B 0x25930 +0x2D4C 0x2592B +0x2D4D 0x2592A +0x2D4F 0x2592D +0x2D50 0x25ADA +0x2D51 0x25E28 +0x2D52 0x25F86 +0x2D53 0x26277 +0x2D54 0x2627C +0x2D55 0x26350 +0x2D56 0x2634E +0x2D57 0x263F2 +0x2D58 0x264B2 +0x2D59 0x264CE +0x2D5A 0x264CF +0x2D5B 0x264E5 +0x2D5C 0x23407 +0x2D5D 0x26535 +0x2D5E 0x26531 +0x2D5F 0x26613 +0x2D60 0x2662B +0x2D61 0x2662C +0x2D62 0x26645 +0x2D63 0x26660 +0x2D64 0x26641 +0x2D65 0x26658 +0x2D66 0x26647 +0x2D67 0x2665B +0x2D68 0x26650 +0x2D69 0x2F982 +0x2D6A 0x2665F +0x2D6B 0x2664A +0x2D6C 0x26656 +0x2D6D 0x26643 +0x2D6E 0x26644 +0x2D6F 0x26651 +0x2D70 0x268FD +0x2D71 0x26934 +0x2D72 0x26935 +0x2D73 0x26954 +0x2D74 0x26955 +0x2D75 0x26A0C +0x2D76 0x26A0B +0x2D77 0x26A0A +0x2D78 0x26AF9 +0x2D79 0x26B35 +0x2D7A 0x26B24 +0x2D7B 0x26B13 +0x2D7C 0x26B1C +0x2D7D 0x26B69 +0x2D7E 0x26B25 +0x2E21 0x26B21 +0x2E22 0x2F995 +0x2E23 0x2F996 +0x2E24 0x2F998 +0x2E25 0x27220 +0x2E26 0x275A9 +0x2E27 0x275A8 +0x2E28 0x275DE +0x2E29 0x27609 +0x2E2A 0x2760A +0x2E2B 0x2760B +0x2E2C 0x277E3 +0x2E2D 0x27807 +0x2E2E 0x278B2 +0x2E2F 0x278B3 +0x2E30 0x2795D +0x2E31 0x27E58 +0x2E32 0x27E86 +0x2E33 0x27E87 +0x2E34 0x27FB9 +0x2E35 0x27FB8 +0x2E36 0x2840C +0x2E37 0x28444 +0x2E38 0x28466 +0x2E39 0x28480 +0x2E3A 0x28475 +0x2E3B 0x2846D +0x2E3C 0x2847E +0x2E3D 0x28467 +0x2E3E 0x28481 +0x2E3F 0x28477 +0x2E40 0x286A8 +0x2E41 0x286A2 +0x2E42 0x286A5 +0x2E43 0x2869B +0x2E44 0x28C57 +0x2E45 0x28E0F +0x2E46 0x28E32 +0x2E47 0x28E2C +0x2E48 0x28E33 +0x2E49 0x291E7 +0x2E4A 0x2006E +0x2E4B 0x200B7 +0x2E4C 0x200F6 +0x2E4D 0x200F2 +0x2E4E 0x200F3 +0x2E4F 0x20517 +0x2E50 0x20130 +0x2E51 0x20154 +0x2E52 0x20153 +0x2E53 0x20252 +0x2E54 0x2023D +0x2E55 0x2023C +0x2E56 0x20234 +0x2E57 0x20233 +0x2E58 0x20254 +0x2E59 0x2022F +0x2E5B 0x20255 +0x2E5C 0x2023F +0x2E5D 0x20237 +0x2E5E 0x20256 +0x2E5F 0x20261 +0x2E60 0x20258 +0x2E61 0x2F806 +0x2E62 0x2023B +0x2E63 0x20232 +0x2E64 0x2022E +0x2E65 0x2023E +0x2E66 0x2003B +0x2E67 0x2048C +0x2E68 0x2048D +0x2E69 0x20513 +0x2E6A 0x20516 +0x2E6B 0x20512 +0x2E6C 0x2055B +0x2E6D 0x2058A +0x2E6E 0x205D7 +0x2E6F 0x205CE +0x2E70 0x20650 +0x2E71 0x20651 +0x2E72 0x2064F +0x2E73 0x2068E +0x2E74 0x2068F +0x2E75 0x206F2 +0x2E76 0x2F821 +0x2E77 0x20728 +0x2E78 0x2071A +0x2E79 0x20725 +0x2E7A 0x2071D +0x2E7B 0x20714 +0x2E7C 0x20720 +0x2E7D 0x2071F +0x2E7E 0x2071B +0x2F21 0x20717 +0x2F22 0x20715 +0x2F23 0x2071C +0x2F24 0x20713 +0x2F25 0x2F825 +0x2F26 0x20860 +0x2F28 0x20866 +0x2F29 0x208E3 +0x2F2A 0x208DE +0x2F2B 0x208E0 +0x2F2C 0x208E1 +0x2F2D 0x2091A +0x2F2E 0x2091B +0x2F2F 0x20918 +0x2F30 0x2091C +0x2F31 0x20919 +0x2F32 0x20942 +0x2F33 0x20940 +0x2F34 0x2093E +0x2F35 0x20944 +0x2F36 0x20974 +0x2F37 0x20943 +0x2F38 0x2F82D +0x2F39 0x209F2 +0x2F3A 0x20A1B +0x2F3B 0x20A19 +0x2F3C 0x20A1E +0x2F3D 0x2F830 +0x2F3E 0x20A5E +0x2F3F 0x20A66 +0x2F40 0x20A5D +0x2F41 0x20A5A +0x2F42 0x20A5F +0x2F43 0x20A60 +0x2F44 0x20A5B +0x2F45 0x20A5C +0x2F46 0x20A59 +0x2F47 0x20AF0 +0x2F48 0x20AF1 +0x2F49 0x20B43 +0x2F4A 0x20B40 +0x2F4B 0x20B42 +0x2F4C 0x20B41 +0x2F4D 0x20B3F +0x2F4E 0x20C57 +0x2F4F 0x20C69 +0x2F50 0x20C6F +0x2F51 0x20CAB +0x2F52 0x20C71 +0x2F53 0x20C93 +0x2F54 0x20C56 +0x2F55 0x20C90 +0x2F56 0x20C6D +0x2F57 0x20C6C +0x2F58 0x20C70 +0x2F59 0x20C66 +0x2F5A 0x20C67 +0x2F5B 0x211D7 +0x2F5C 0x211B5 +0x2F5D 0x211DB +0x2F5E 0x211D8 +0x2F5F 0x211D5 +0x2F60 0x211D4 +0x2F61 0x212BA +0x2F62 0x212B7 +0x2F63 0x212BE +0x2F64 0x212B9 +0x2F66 0x212E0 +0x2F67 0x212DD +0x2F68 0x212DE +0x2F69 0x24918 +0x2F6A 0x212D8 +0x2F6B 0x212BD +0x2F6C 0x212DB +0x2F6D 0x2151D +0x2F6E 0x21525 +0x2F6F 0x21721 +0x2F70 0x2170C +0x2F71 0x21729 +0x2F72 0x2172D +0x2F73 0x2171B +0x2F74 0x2170E +0x2F75 0x2171F +0x2F76 0x21704 +0x2F77 0x2171C +0x2F78 0x21705 +0x2F79 0x21706 +0x2F7A 0x21720 +0x2F7B 0x2170D +0x2F7C 0x2172A +0x2F7D 0x21723 +0x2F7E 0x21711 +0x3021 0x2195C +0x3022 0x21966 +0x3023 0x2195B +0x3024 0x2194F +0x3025 0x2195E +0x3026 0x2195D +0x3027 0x219F1 +0x3028 0x219EA +0x3029 0x219F4 +0x302A 0x219EB +0x302B 0x219F0 +0x302C 0x219FA +0x302D 0x219FB +0x302E 0x21B28 +0x302F 0x21B2C +0x3030 0x21B6B +0x3031 0x21B2A +0x3032 0x21B6A +0x3033 0x21B6F +0x3034 0x21BDB +0x3035 0x21BE0 +0x3036 0x24FD1 +0x3037 0x21BE3 +0x3038 0x21BE5 +0x3039 0x21BE7 +0x303A 0x21C4D +0x303B 0x21C55 +0x303C 0x21C54 +0x303D 0x21C53 +0x303E 0x21C52 +0x303F 0x21C4E +0x3040 0x21C60 +0x3041 0x221C0 +0x3042 0x21D0F +0x3043 0x21D11 +0x3044 0x21D13 +0x3045 0x21DC6 +0x3046 0x21DB3 +0x3047 0x21DC7 +0x3048 0x21DD2 +0x3049 0x21DB8 +0x304A 0x21DAC +0x304B 0x21DAE +0x304C 0x21DCF +0x304D 0x21DC5 +0x304E 0x2F87B +0x304F 0x21DCC +0x3050 0x21DAB +0x3051 0x21DC9 +0x3052 0x21DB9 +0x3053 0x21FFB +0x3054 0x21FF8 +0x3055 0x21FF7 +0x3056 0x21FF9 +0x3057 0x22020 +0x3058 0x2203B +0x3059 0x22039 +0x305A 0x2209E +0x305B 0x2209A +0x305C 0x220AA +0x305D 0x220AB +0x305E 0x220AF +0x305F 0x22096 +0x3060 0x220A9 +0x3061 0x220A6 +0x3062 0x22091 +0x3064 0x220AE +0x3065 0x2209F +0x3066 0x220AC +0x3067 0x220A0 +0x3068 0x22192 +0x3069 0x22191 +0x306A 0x221BF +0x306B 0x22217 +0x306C 0x2220A +0x306D 0x2220C +0x306E 0x2234A +0x306F 0x22346 +0x3070 0x22334 +0x3071 0x22345 +0x3072 0x22343 +0x3073 0x22344 +0x3074 0x2F893 +0x3075 0x22387 +0x3076 0x22386 +0x3077 0x2238A +0x3078 0x223DA +0x3079 0x223D8 +0x307B 0x20518 +0x307C 0x20134 +0x307D 0x223D6 +0x307E 0x223D4 +0x3121 0x22454 +0x3122 0x22459 +0x3123 0x2245A +0x3124 0x22457 +0x3126 0x224DD +0x3127 0x224E9 +0x3128 0x224E0 +0x3129 0x22605 +0x312A 0x22612 +0x312B 0x22613 +0x312C 0x22607 +0x312D 0x22616 +0x312E 0x22623 +0x312F 0x22602 +0x3130 0x2F8A1 +0x3131 0x2264A +0x3132 0x22636 +0x3133 0x22640 +0x3134 0x22656 +0x3135 0x22643 +0x3136 0x2F8A0 +0x3137 0x2264B +0x3138 0x22646 +0x3139 0x2263E +0x313A 0x22649 +0x313B 0x229A7 +0x313C 0x229B6 +0x313D 0x229A6 +0x313E 0x229A8 +0x313F 0x229AC +0x3140 0x229A9 +0x3141 0x229AB +0x3142 0x22A38 +0x3143 0x22A37 +0x3144 0x22A39 +0x3145 0x22A41 +0x3146 0x22A3E +0x3147 0x22AC0 +0x3148 0x22ABB +0x3149 0x22ABF +0x314A 0x22ABD +0x314B 0x22AFE +0x314C 0x22B1E +0x314D 0x22AEE +0x314E 0x22AFC +0x314F 0x2F8B7 +0x3150 0x22AF9 +0x3151 0x22B06 +0x3152 0x22AE4 +0x3153 0x22AE9 +0x3154 0x22AE5 +0x3155 0x22B03 +0x3156 0x22AFD +0x3157 0x22B49 +0x3158 0x22EBE +0x3159 0x22F0A +0x315A 0x25626 +0x315B 0x22F18 +0x315C 0x22F0D +0x315D 0x22F0F +0x315E 0x22F0E +0x315F 0x22F20 +0x3160 0x23071 +0x3161 0x23099 +0x3162 0x230E2 +0x3163 0x230DF +0x3164 0x230DE +0x3165 0x23178 +0x3166 0x23179 +0x3168 0x2317C +0x3169 0x2317D +0x316A 0x23184 +0x316B 0x2318B +0x316C 0x2318A +0x316D 0x2F8D2 +0x316E 0x23189 +0x316F 0x2332C +0x3170 0x23329 +0x3171 0x2336C +0x3173 0x23409 +0x3174 0x23408 +0x3175 0x2340C +0x3176 0x2340D +0x3177 0x23410 +0x3179 0x2389F +0x317A 0x23898 +0x317B 0x238A2 +0x317C 0x2389A +0x317D 0x239D5 +0x317E 0x239E2 +0x3221 0x239F0 +0x3222 0x239EA +0x3223 0x239EB +0x3224 0x239ED +0x3225 0x239E8 +0x3226 0x239E0 +0x3227 0x23A85 +0x3228 0x23A86 +0x3229 0x23AF0 +0x322A 0x21E46 +0x322B 0x23B45 +0x322C 0x23B38 +0x322D 0x23B3E +0x322E 0x23B42 +0x322F 0x23B40 +0x3230 0x23C47 +0x3231 0x23C5C +0x3232 0x23C5E +0x3233 0x23CB4 +0x3234 0x23CC2 +0x3235 0x23D14 +0x3236 0x23CE5 +0x3237 0x23D15 +0x3238 0x23D11 +0x3239 0x2F8FF +0x323A 0x23CEE +0x323B 0x23CE7 +0x323C 0x23CF5 +0x323D 0x23CF4 +0x323E 0x23CE8 +0x323F 0x23D01 +0x3240 0x23CEF +0x3241 0x23CF1 +0x3242 0x2F900 +0x3243 0x241DB +0x3244 0x241BF +0x3245 0x241DA +0x3246 0x241C7 +0x3247 0x241DD +0x3248 0x2F91A +0x3249 0x241EB +0x324A 0x241E1 +0x324B 0x241C1 +0x324C 0x241BD +0x324D 0x24507 +0x324E 0x244FD +0x324F 0x24501 +0x3250 0x2450A +0x3251 0x24503 +0x3252 0x24572 +0x3253 0x24574 +0x3254 0x24575 +0x3255 0x245B2 +0x3256 0x245B1 +0x3257 0x245B4 +0x3258 0x2464C +0x3259 0x24642 +0x325A 0x24640 +0x325B 0x24649 +0x325C 0x2463C +0x325D 0x2464D +0x325E 0x2464A +0x325F 0x2463B +0x3260 0x24761 +0x3261 0x24774 +0x3262 0x2F926 +0x3263 0x2477F +0x3264 0x2477A +0x3265 0x24788 +0x3266 0x2477C +0x3268 0x24770 +0x3269 0x2490F +0x326A 0x24928 +0x326B 0x24913 +0x326C 0x2492A +0x326D 0x24AED +0x326E 0x24AEF +0x326F 0x24B2E +0x3270 0x24BC1 +0x3271 0x24BDD +0x3272 0x20B47 +0x3273 0x24C2D +0x3274 0x24C2B +0x3275 0x24C35 +0x3276 0x24C2F +0x3277 0x24C31 +0x3278 0x24C34 +0x3279 0x2F935 +0x327A 0x24C30 +0x327B 0x24D3A +0x327C 0x24D39 +0x327D 0x24D37 +0x327E 0x24D4B +0x3321 0x24D54 +0x3322 0x24D4D +0x3323 0x24D51 +0x3324 0x24D47 +0x3325 0x24F27 +0x3326 0x24F50 +0x3327 0x24F4D +0x3328 0x24F4E +0x3329 0x24F54 +0x332A 0x24FD2 +0x332B 0x24FCE +0x332C 0x2504B +0x332D 0x25049 +0x332E 0x25105 +0x332F 0x2510F +0x3330 0x25119 +0x3331 0x2F943 +0x3332 0x25106 +0x3333 0x2510C +0x3334 0x25129 +0x3335 0x25104 +0x3336 0x25108 +0x3337 0x25125 +0x3339 0x25103 +0x333A 0x25127 +0x333B 0x25110 +0x333C 0x2510A +0x333D 0x2F942 +0x333E 0x26B5D +0x333F 0x253AA +0x3340 0x253AB +0x3341 0x253A9 +0x3342 0x25441 +0x3343 0x2543A +0x3344 0x2543C +0x3345 0x2542B +0x3346 0x25449 +0x3347 0x25615 +0x3349 0x25616 +0x334A 0x2F953 +0x334B 0x25631 +0x334C 0x23C4A +0x334D 0x2573C +0x334E 0x2577C +0x334F 0x2576D +0x3350 0x2576A +0x3351 0x25763 +0x3352 0x2576B +0x3353 0x2577B +0x3354 0x25764 +0x3355 0x2577A +0x3356 0x25769 +0x3357 0x2576F +0x3358 0x25937 +0x3359 0x25935 +0x335A 0x2593C +0x335B 0x25936 +0x335C 0x2593D +0x335D 0x2593E +0x335E 0x25AE1 +0x335F 0x25AE0 +0x3360 0x25E2D +0x3361 0x25E2B +0x3362 0x25F8D +0x3363 0x25F92 +0x3365 0x25F8E +0x3366 0x2F96B +0x3367 0x25F91 +0x3368 0x25F96 +0x3369 0x2627B +0x336A 0x26278 +0x336B 0x26281 +0x336C 0x26296 +0x336D 0x262A3 +0x336E 0x26295 +0x336F 0x26297 +0x3370 0x26354 +0x3371 0x26352 +0x3372 0x263F5 +0x3373 0x26400 +0x3374 0x263FB +0x3375 0x263F4 +0x3376 0x263F6 +0x3377 0x264E8 +0x3378 0x264EA +0x3379 0x2663E +0x337A 0x2663D +0x337B 0x2663B +0x337C 0x26680 +0x337E 0x26688 +0x3421 0x26681 +0x3422 0x26682 +0x3423 0x266CE +0x3424 0x26683 +0x3425 0x26677 +0x3426 0x26679 +0x3427 0x26673 +0x3428 0x2666D +0x3429 0x26670 +0x342A 0x2668D +0x342B 0x26675 +0x342C 0x2668C +0x342D 0x2666A +0x342E 0x26691 +0x342F 0x26689 +0x3430 0x2668E +0x3431 0x212DC +0x3432 0x268FF +0x3433 0x26959 +0x3434 0x269C7 +0x3435 0x26A12 +0x3436 0x26A14 +0x3437 0x26A13 +0x3438 0x26ACB +0x3439 0x26B42 +0x343B 0x26B3D +0x343D 0x26B40 +0x343E 0x26B44 +0x343F 0x26B62 +0x3440 0x26B43 +0x3441 0x26B3F +0x3442 0x26B45 +0x3443 0x26B3C +0x3444 0x2F997 +0x3445 0x26B46 +0x3446 0x26B47 +0x3447 0x2F9B3 +0x3448 0x2719E +0x3449 0x2719D +0x344A 0x2722C +0x344B 0x27229 +0x344C 0x2722F +0x344D 0x2722E +0x344E 0x27230 +0x344F 0x275E1 +0x3450 0x275E2 +0x3451 0x2760E +0x3452 0x27619 +0x3453 0x27612 +0x3454 0x278B4 +0x3455 0x27BDA +0x3456 0x27D26 +0x3457 0x27E59 +0x3458 0x27E5A +0x3459 0x27E88 +0x345A 0x27FC0 +0x345B 0x27FBA +0x345C 0x282A0 +0x345D 0x2F9DD +0x345E 0x282A2 +0x345F 0x28486 +0x3461 0x2849D +0x3462 0x28488 +0x3463 0x2848F +0x3464 0x2848E +0x3465 0x2849B +0x3466 0x286C1 +0x3467 0x286C3 +0x3468 0x286C4 +0x3469 0x28696 +0x346A 0x286C7 +0x346B 0x286C6 +0x346C 0x286BF +0x346E 0x2890F +0x346F 0x28E55 +0x3470 0x28E42 +0x3471 0x28E46 +0x3472 0x28E4B +0x3473 0x28E43 +0x3474 0x28E53 +0x3475 0x28E48 +0x3476 0x28E49 +0x3477 0x28E4A +0x3478 0x28E4E +0x3479 0x24BDE +0x347A 0x20691 +0x347B 0x2944B +0x347C 0x29680 +0x347D 0x29681 +0x347E 0x29683 +0x3521 0x2028A +0x3522 0x29682 +0x3523 0x22342 +0x3524 0x20922 +0x3525 0x20070 +0x3526 0x20071 +0x3527 0x200BC +0x3528 0x21D18 +0x3529 0x200BE +0x352A 0x200BA +0x352B 0x200F8 +0x352C 0x20137 +0x352D 0x20135 +0x352E 0x20AFC +0x352F 0x20156 +0x3530 0x20159 +0x3531 0x2015E +0x3532 0x2026D +0x3533 0x20291 +0x3534 0x20292 +0x3535 0x20268 +0x3536 0x20266 +0x3537 0x20273 +0x3539 0x20296 +0x353A 0x2028B +0x353B 0x2028C +0x353C 0x20496 +0x353D 0x204EE +0x353E 0x2051C +0x353F 0x2051A +0x3540 0x20519 +0x3541 0x2051B +0x3542 0x2055D +0x3543 0x2055E +0x3544 0x2F818 +0x3545 0x205DC +0x3546 0x205E2 +0x3547 0x20652 +0x3548 0x20692 +0x3549 0x20730 +0x354A 0x20752 +0x354B 0x20742 +0x354C 0x20741 +0x354D 0x20745 +0x354E 0x20737 +0x354F 0x20740 +0x3550 0x2073F +0x3551 0x2073D +0x3552 0x20738 +0x3553 0x2073A +0x3554 0x20749 +0x3555 0x2086B +0x3556 0x20878 +0x3557 0x20879 +0x3558 0x2F826 +0x3559 0x2086C +0x355A 0x208E9 +0x355B 0x208E6 +0x355C 0x208E5 +0x355D 0x208EA +0x355E 0x208E7 +0x355F 0x208E8 +0x3560 0x2091F +0x3561 0x2094B +0x3562 0x2094A +0x3563 0x20953 +0x3564 0x20976 +0x3565 0x209A3 +0x3566 0x209A4 +0x3567 0x209F6 +0x3568 0x209F3 +0x3569 0x209F9 +0x356A 0x209F7 +0x356B 0x209FC +0x356C 0x20A1D +0x356D 0x20A6D +0x356E 0x20A71 +0x356F 0x20A6C +0x3570 0x20A6E +0x3571 0x20A70 +0x3572 0x20A6F +0x3573 0x20A67 +0x3574 0x20A68 +0x3575 0x20AFA +0x3576 0x20AF9 +0x3577 0x20B4E +0x3579 0x20B4D +0x357A 0x20B4F +0x357B 0x20B4A +0x357C 0x20B4C +0x357E 0x2F842 +0x3621 0x20CEE +0x3622 0x20CB2 +0x3623 0x20CC0 +0x3624 0x20CC1 +0x3625 0x20CF4 +0x3626 0x20CC8 +0x3627 0x20CC5 +0x3628 0x20CC6 +0x3629 0x20CAD +0x362A 0x211E2 +0x362B 0x211EA +0x362C 0x211E3 +0x362D 0x211E1 +0x362E 0x212F7 +0x362F 0x21301 +0x3630 0x21312 +0x3631 0x212F6 +0x3632 0x212F1 +0x3633 0x2131F +0x3634 0x212EE +0x3635 0x2F852 +0x3636 0x212F3 +0x3637 0x21315 +0x3638 0x21316 +0x3639 0x21317 +0x363A 0x212F8 +0x363B 0x21319 +0x363C 0x212F2 +0x363D 0x212F4 +0x363E 0x212F5 +0x363F 0x21313 +0x3640 0x21306 +0x3641 0x21526 +0x3642 0x21524 +0x3643 0x2155A +0x3644 0x22EC8 +0x3645 0x21597 +0x3646 0x21595 +0x3647 0x2159A +0x3648 0x2161F +0x3649 0x20AFB +0x364A 0x21629 +0x364B 0x21620 +0x364C 0x2F862 +0x364D 0x2F863 +0x364E 0x2174C +0x364F 0x21730 +0x3650 0x21738 +0x3651 0x2173D +0x3652 0x21751 +0x3653 0x2174F +0x3654 0x2174A +0x3655 0x21734 +0x3656 0x21736 +0x3658 0x2196A +0x3659 0x21968 +0x365A 0x21A1C +0x365B 0x21A0E +0x365C 0x21A1E +0x365E 0x21A09 +0x365F 0x21A08 +0x3660 0x21A13 +0x3661 0x21A01 +0x3662 0x21A0F +0x3663 0x21A14 +0x3664 0x21A06 +0x3665 0x21A07 +0x3667 0x2F873 +0x3669 0x21B79 +0x366A 0x21BEA +0x366B 0x21BED +0x366C 0x21BE9 +0x366D 0x21BEE +0x366E 0x21C68 +0x366F 0x21C64 +0x3670 0x21C67 +0x3671 0x21C72 +0x3672 0x21C62 +0x3673 0x21C74 +0x3674 0x21C79 +0x3675 0x21D19 +0x3676 0x21D17 +0x3677 0x21D15 +0x3678 0x21D16 +0x3679 0x21DE6 +0x367A 0x262A4 +0x367B 0x21DEE +0x367D 0x21DDF +0x367E 0x21DE4 +0x3721 0x21DDA +0x3722 0x21DEA +0x3723 0x21DED +0x3724 0x21DE3 +0x3725 0x21DE9 +0x3726 0x21FFD +0x3727 0x20657 +0x3728 0x22021 +0x3729 0x220C6 +0x372A 0x220B8 +0x372B 0x220CB +0x372C 0x2F885 +0x372D 0x220BD +0x372E 0x220B5 +0x372F 0x220BB +0x3730 0x220BF +0x3731 0x220BE +0x3732 0x220B2 +0x3733 0x220C1 +0x3734 0x220C2 +0x3735 0x22199 +0x3736 0x221C6 +0x3737 0x2222C +0x3738 0x2222D +0x3739 0x22225 +0x373A 0x2221E +0x373B 0x2221F +0x373C 0x22223 +0x373D 0x22350 +0x373E 0x2234E +0x373F 0x2234D +0x3740 0x22352 +0x3741 0x223E9 +0x3742 0x223EC +0x3743 0x223E8 +0x3744 0x22458 +0x3745 0x2245C +0x3746 0x2245B +0x3747 0x2248F +0x3748 0x23972 +0x3749 0x224F6 +0x374A 0x22500 +0x374B 0x224FC +0x374C 0x224F8 +0x374D 0x224EA +0x374E 0x224FE +0x374F 0x224F7 +0x3750 0x224FD +0x3751 0x22670 +0x3752 0x22662 +0x3753 0x22644 +0x3755 0x2264D +0x3756 0x2264C +0x3757 0x2263F +0x3758 0x22666 +0x3759 0x22635 +0x375B 0x22634 +0x375C 0x2268D +0x375D 0x22684 +0x375F 0x22686 +0x3760 0x22689 +0x3761 0x22687 +0x3762 0x22683 +0x3763 0x22675 +0x3764 0x22679 +0x3765 0x226AF +0x3766 0x226B0 +0x3767 0x229B7 +0x3768 0x229BB +0x3769 0x229B9 +0x376A 0x22A46 +0x376B 0x22A47 +0x376C 0x22A45 +0x376D 0x22AEA +0x376E 0x22AF6 +0x376F 0x22B68 +0x3770 0x22B39 +0x3771 0x2F8B9 +0x3772 0x22B3D +0x3773 0x22B3B +0x3774 0x22B4D +0x3775 0x22B30 +0x3776 0x22B4A +0x3777 0x22B3E +0x3778 0x22B40 +0x3779 0x22B4C +0x377A 0x22B47 +0x377B 0x22B38 +0x377C 0x22B52 +0x377D 0x22B3A +0x377E 0x22B53 +0x3821 0x22EC4 +0x3822 0x22EC1 +0x3823 0x22F1C +0x3824 0x22F1D +0x3825 0x22F2A +0x3826 0x22F1E +0x3827 0x22F2F +0x3828 0x22F22 +0x3829 0x22F2E +0x382A 0x22F25 +0x382D 0x2304A +0x382E 0x2304B +0x382F 0x23076 +0x3831 0x230E8 +0x3832 0x230EF +0x3833 0x230E9 +0x3835 0x230EA +0x3836 0x2F8CC +0x3838 0x2319B +0x3839 0x2319E +0x383A 0x23193 +0x383B 0x231A7 +0x383C 0x2319C +0x383D 0x231A0 +0x383E 0x2319A +0x383F 0x231AB +0x3840 0x231BE +0x3841 0x231A9 +0x3842 0x2332D +0x3843 0x2336E +0x3844 0x23444 +0x3845 0x2343D +0x3846 0x2343A +0x3847 0x23468 +0x3848 0x2343C +0x3849 0x2346A +0x384A 0x2F8E0 +0x384B 0x23438 +0x384C 0x23465 +0x384D 0x23439 +0x384E 0x2346D +0x384F 0x23436 +0x3850 0x2F8E3 +0x3851 0x2343E +0x3852 0x2347E +0x3853 0x23437 +0x3854 0x23899 +0x3855 0x238A9 +0x3856 0x238AD +0x3857 0x238A7 +0x3858 0x238A8 +0x3859 0x23966 +0x385A 0x23969 +0x385B 0x2396D +0x385C 0x23967 +0x385D 0x2396B +0x385E 0x2396A +0x385F 0x239EE +0x3860 0x23A01 +0x3861 0x23A03 +0x3862 0x239F4 +0x3863 0x239FB +0x3865 0x239F6 +0x3866 0x239FC +0x3867 0x23AF4 +0x3868 0x23B08 +0x3869 0x23B0A +0x386A 0x23B09 +0x386B 0x23B6D +0x386C 0x23B62 +0x386D 0x23B41 +0x386E 0x23B5E +0x386F 0x23B5C +0x3870 0x23CF3 +0x3871 0x23D26 +0x3873 0x23D39 +0x3874 0x2F904 +0x3875 0x23D6C +0x3876 0x23D2B +0x3877 0x23D2E +0x3878 0x23D3B +0x3879 0x23D5E +0x387A 0x23DFB +0x387B 0x23D27 +0x387C 0x23D24 +0x387D 0x23D69 +0x387E 0x23D30 +0x3921 0x2F905 +0x3922 0x23D62 +0x3923 0x23D38 +0x3924 0x23D35 +0x3925 0x23D2A +0x3926 0x23D2C +0x3927 0x23D68 +0x3928 0x23D31 +0x3929 0x23D2F +0x392A 0x23D2D +0x392B 0x23D3A +0x392C 0x23D36 +0x392D 0x2F903 +0x392E 0x23D21 +0x392F 0x23D3C +0x3930 0x23D20 +0x3931 0x23D64 +0x3932 0x23D3E +0x3934 0x241F7 +0x3935 0x24212 +0x3936 0x241F1 +0x3937 0x241F5 +0x3938 0x24222 +0x3939 0x241F2 +0x393A 0x241DF +0x393B 0x24215 +0x393C 0x24216 +0x393D 0x2457A +0x393E 0x24576 +0x393F 0x245BE +0x3941 0x245BD +0x3942 0x24609 +0x3943 0x24608 +0x3944 0x24657 +0x3945 0x247A3 +0x3946 0x247BF +0x3947 0x247B8 +0x3948 0x247AF +0x3949 0x2479C +0x394A 0x247A5 +0x394B 0x24772 +0x394C 0x24775 +0x394D 0x2479D +0x394E 0x24799 +0x394F 0x247B9 +0x3950 0x2494E +0x3951 0x24939 +0x3952 0x2493B +0x3953 0x24935 +0x3954 0x2493C +0x3955 0x24955 +0x3956 0x24AF0 +0x3957 0x24AF3 +0x3958 0x24AF4 +0x3959 0x24B3B +0x395A 0x24B3C +0x395B 0x24B3A +0x395C 0x24B36 +0x395D 0x24C07 +0x395E 0x20CEB +0x395F 0x24C55 +0x3960 0x24C50 +0x3961 0x24C4F +0x3962 0x24C52 +0x3963 0x24C56 +0x3964 0x200BD +0x3965 0x24C32 +0x3966 0x24D63 +0x3967 0x24D6B +0x3968 0x24D66 +0x3969 0x24D57 +0x396A 0x24D5D +0x396C 0x24D6D +0x396D 0x24D61 +0x396E 0x24D69 +0x396F 0x24D5A +0x3970 0x24D5C +0x3971 0x24D62 +0x3972 0x24F2A +0x3973 0x24F29 +0x3974 0x24F58 +0x3975 0x24F5A +0x3976 0x24FD7 +0x3977 0x24FDB +0x3978 0x24FDC +0x3979 0x24FDD +0x397A 0x24FD8 +0x397B 0x25054 +0x397C 0x2505B +0x397D 0x2505C +0x397E 0x25053 +0x3A21 0x2504F +0x3A22 0x25056 +0x3A23 0x25050 +0x3A24 0x2505A +0x3A25 0x2506B +0x3A26 0x25136 +0x3A27 0x25153 +0x3A28 0x2513A +0x3A29 0x2513C +0x3A2A 0x2513E +0x3A2B 0x25149 +0x3A2C 0x25140 +0x3A2D 0x2F946 +0x3A2E 0x2F947 +0x3A2F 0x25364 +0x3A30 0x25365 +0x3A31 0x253B5 +0x3A32 0x253B6 +0x3A33 0x253B2 +0x3A34 0x25448 +0x3A35 0x2544A +0x3A36 0x25472 +0x3A37 0x25469 +0x3A38 0x2545A +0x3A39 0x2544C +0x3A3A 0x2562C +0x3A3B 0x25630 +0x3A3C 0x2564B +0x3A3D 0x25649 +0x3A3E 0x25642 +0x3A3F 0x25644 +0x3A40 0x2564A +0x3A41 0x2564F +0x3A42 0x25792 +0x3A43 0x2F957 +0x3A44 0x25797 +0x3A45 0x25780 +0x3A46 0x25782 +0x3A47 0x25786 +0x3A48 0x25953 +0x3A49 0x2595E +0x3A4A 0x25952 +0x3A4B 0x2595B +0x3A4C 0x2594E +0x3A4D 0x25A6D +0x3A4E 0x25A6E +0x3A4F 0x25AFA +0x3A50 0x25AF6 +0x3A51 0x25AFB +0x3A52 0x25E33 +0x3A53 0x25E3D +0x3A54 0x25E37 +0x3A55 0x25E3E +0x3A56 0x25E35 +0x3A57 0x25F9A +0x3A58 0x25FAB +0x3A59 0x25FA6 +0x3A5A 0x25FB0 +0x3A5B 0x25F99 +0x3A5C 0x25FA0 +0x3A5D 0x25F9E +0x3A5E 0x25FA8 +0x3A5F 0x25FA1 +0x3A60 0x25FAA +0x3A61 0x25FAD +0x3A62 0x25FBB +0x3A63 0x25F9C +0x3A64 0x25FA5 +0x3A65 0x200B3 +0x3A66 0x26227 +0x3A67 0x2628D +0x3A68 0x2628E +0x3A69 0x2628F +0x3A6A 0x26292 +0x3A6C 0x26291 +0x3A6D 0x262AD +0x3A6E 0x26357 +0x3A6F 0x26358 +0x3A70 0x2635E +0x3A71 0x2635D +0x3A72 0x2635C +0x3A73 0x2635B +0x3A75 0x2640A +0x3A76 0x26403 +0x3A77 0x2640E +0x3A78 0x264B8 +0x3A79 0x2654D +0x3A7A 0x2653F +0x3A7B 0x26547 +0x3A7C 0x2654B +0x3A7D 0x2654A +0x3A7E 0x2653D +0x3B22 0x26541 +0x3B23 0x2654C +0x3B25 0x26662 +0x3B26 0x26669 +0x3B27 0x26661 +0x3B29 0x266AA +0x3B2A 0x266A6 +0x3B2B 0x266AC +0x3B2C 0x266BD +0x3B2D 0x266BB +0x3B2E 0x266A4 +0x3B2F 0x266BA +0x3B30 0x2669A +0x3B32 0x266A1 +0x3B33 0x266C1 +0x3B34 0x268E0 +0x3B35 0x2690A +0x3B36 0x26903 +0x3B37 0x26906 +0x3B38 0x26939 +0x3B39 0x2693A +0x3B3A 0x26936 +0x3B3B 0x2695B +0x3B3C 0x2695F +0x3B3D 0x2695E +0x3B3E 0x26967 +0x3B3F 0x26961 +0x3B40 0x26962 +0x3B41 0x2695D +0x3B42 0x269CA +0x3B43 0x269CC +0x3B44 0x269CE +0x3B45 0x26A18 +0x3B46 0x26A1D +0x3B47 0x26A1F +0x3B48 0x26A20 +0x3B49 0x26A17 +0x3B4A 0x26A15 +0x3B4B 0x26B1F +0x3B4C 0x26B27 +0x3B4D 0x26B26 +0x3B4E 0x21E10 +0x3B4F 0x26B8B +0x3B50 0x26BAE +0x3B51 0x26B8A +0x3B52 0x2F999 +0x3B53 0x26B92 +0x3B54 0x26B89 +0x3B55 0x26B87 +0x3B57 0x26B8F +0x3B58 0x26B84 +0x3B59 0x26B83 +0x3B5A 0x26B8C +0x3B5B 0x26B93 +0x3B5C 0x26B8D +0x3B5D 0x26B98 +0x3B5E 0x26B7D +0x3B5F 0x26B7E +0x3B60 0x26BD2 +0x3B61 0x26B80 +0x3B62 0x26B99 +0x3B63 0x271AC +0x3B64 0x27250 +0x3B65 0x27255 +0x3B66 0x27242 +0x3B67 0x2723F +0x3B68 0x2723C +0x3B6A 0x2724C +0x3B6B 0x27249 +0x3B6C 0x27257 +0x3B6D 0x27258 +0x3B6E 0x2724F +0x3B6F 0x2725C +0x3B70 0x27247 +0x3B71 0x2F9B7 +0x3B72 0x275AB +0x3B74 0x275AF +0x3B75 0x275AD +0x3B76 0x275E8 +0x3B77 0x275E7 +0x3B78 0x27630 +0x3B79 0x27626 +0x3B7A 0x2762F +0x3B7B 0x27628 +0x3B7C 0x2762B +0x3B7D 0x2761D +0x3B7E 0x2762D +0x3C21 0x27620 +0x3C22 0x2762A +0x3C23 0x2762C +0x3C24 0x27635 +0x3C25 0x27621 +0x3C26 0x27623 +0x3C27 0x27624 +0x3C28 0x27636 +0x3C29 0x27637 +0x3C2A 0x277E9 +0x3C2B 0x278BA +0x3C2C 0x278B8 +0x3C2D 0x2F9CC +0x3C2E 0x2796D +0x3C2F 0x2796A +0x3C30 0x27968 +0x3C31 0x27969 +0x3C32 0x2796B +0x3C33 0x27961 +0x3C34 0x27BDC +0x3C35 0x27BDB +0x3C36 0x27C2D +0x3C37 0x27C2C +0x3C38 0x27CA2 +0x3C39 0x27D2B +0x3C3A 0x27D32 +0x3C3B 0x2F9D7 +0x3C3C 0x27E94 +0x3C3D 0x27E92 +0x3C3E 0x27E90 +0x3C3F 0x27FC9 +0x3C40 0x27FC4 +0x3C41 0x27FC1 +0x3C42 0x27FC3 +0x3C43 0x27FCD +0x3C44 0x28214 +0x3C45 0x282A7 +0x3C46 0x282AF +0x3C47 0x282AA +0x3C48 0x2840D +0x3C49 0x28454 +0x3C4A 0x2845B +0x3C4B 0x28461 +0x3C4C 0x284AE +0x3C4D 0x284B3 +0x3C4E 0x284C0 +0x3C4F 0x284C4 +0x3C50 0x284BF +0x3C51 0x284CB +0x3C52 0x284AD +0x3C53 0x284A7 +0x3C54 0x284A4 +0x3C55 0x284BD +0x3C56 0x284AF +0x3C57 0x284B2 +0x3C58 0x284A5 +0x3C59 0x286E7 +0x3C5A 0x286E0 +0x3C5B 0x286CE +0x3C5C 0x286DE +0x3C5D 0x286D5 +0x3C5E 0x286DF +0x3C5F 0x286D9 +0x3C60 0x287F2 +0x3C61 0x28923 +0x3C62 0x28940 +0x3C64 0x2893E +0x3C66 0x28CCF +0x3C67 0x20B54 +0x3C68 0x28E5B +0x3C69 0x28E58 +0x3C6A 0x28E62 +0x3C6B 0x28E5F +0x3C6C 0x28E67 +0x3C6D 0x28E63 +0x3C6E 0x28E5E +0x3C6F 0x28E60 +0x3C70 0x28F85 +0x3C71 0x28F86 +0x3C72 0x28F87 +0x3C73 0x291E8 +0x3C74 0x291E6 +0x3C75 0x29671 +0x3C76 0x29685 +0x3C77 0x2FA02 +0x3C78 0x29686 +0x3C79 0x29810 +0x3C7A 0x209F8 +0x3C7B 0x200BF +0x3C7C 0x20B61 +0x3C7D 0x200FE +0x3C7E 0x200FC +0x3D21 0x20139 +0x3D22 0x20161 +0x3D23 0x20160 +0x3D24 0x202E2 +0x3D25 0x202EA +0x3D26 0x202E3 +0x3D27 0x202B4 +0x3D28 0x202AE +0x3D29 0x202BE +0x3D2A 0x202B8 +0x3D2B 0x202A8 +0x3D2C 0x202AA +0x3D2D 0x202A9 +0x3D2E 0x202B3 +0x3D2F 0x202D5 +0x3D30 0x202AD +0x3D31 0x202B9 +0x3D32 0x202BB +0x3D33 0x202B1 +0x3D34 0x202C2 +0x3D35 0x2F808 +0x3D36 0x202EB +0x3D37 0x202BA +0x3D38 0x202D2 +0x3D39 0x202D4 +0x3D3A 0x204F1 +0x3D3B 0x2051D +0x3D3C 0x2F812 +0x3D3D 0x20562 +0x3D3E 0x2058C +0x3D3F 0x205E6 +0x3D40 0x205E7 +0x3D41 0x2065A +0x3D42 0x20658 +0x3D43 0x20659 +0x3D44 0x20696 +0x3D45 0x20697 +0x3D46 0x20761 +0x3D47 0x20767 +0x3D48 0x20771 +0x3D49 0x20765 +0x3D4A 0x2077D +0x3D4B 0x2077E +0x3D4C 0x2087D +0x3D4D 0x20884 +0x3D4E 0x2087C +0x3D4F 0x2087E +0x3D50 0x2087F +0x3D51 0x20880 +0x3D52 0x208EF +0x3D53 0x208F4 +0x3D54 0x2091E +0x3D55 0x2094E +0x3D56 0x209FB +0x3D57 0x209FA +0x3D58 0x209FD +0x3D59 0x2F831 +0x3D5A 0x2F832 +0x3D5B 0x20A79 +0x3D5C 0x20A7C +0x3D5D 0x20A7D +0x3D5E 0x20A84 +0x3D5F 0x20A7B +0x3D60 0x20A78 +0x3D62 0x20B5E +0x3D63 0x20B5A +0x3D64 0x20B5C +0x3D65 0x20B59 +0x3D66 0x20B55 +0x3D67 0x20B63 +0x3D68 0x20B56 +0x3D69 0x20B5F +0x3D6A 0x20B60 +0x3D6B 0x20B5B +0x3D6C 0x20D4A +0x3D6D 0x20D65 +0x3D6E 0x20DB3 +0x3D6F 0x20D2C +0x3D70 0x20D77 +0x3D71 0x20D3D +0x3D72 0x20D52 +0x3D73 0x20D61 +0x3D74 0x20D2A +0x3D75 0x20D3E +0x3D76 0x20D34 +0x3D77 0x20D29 +0x3D78 0x20DB2 +0x3D79 0x20DAD +0x3D7A 0x20D40 +0x3D7B 0x20D53 +0x3D7C 0x2F844 +0x3D7D 0x20D3F +0x3D7E 0x20D41 +0x3E21 0x20D72 +0x3E22 0x211F6 +0x3E23 0x211F5 +0x3E24 0x211F4 +0x3E25 0x211F2 +0x3E26 0x211F9 +0x3E27 0x21327 +0x3E28 0x21354 +0x3E29 0x21355 +0x3E2A 0x2132E +0x3E2B 0x2F854 +0x3E2C 0x2F853 +0x3E2D 0x2132C +0x3E2E 0x21338 +0x3E2F 0x21339 +0x3E30 0x21331 +0x3E31 0x2134F +0x3E32 0x21373 +0x3E33 0x21330 +0x3E34 0x2132B +0x3E35 0x21351 +0x3E36 0x2152C +0x3E37 0x2155B +0x3E38 0x2155C +0x3E39 0x21568 +0x3E3A 0x2156C +0x3E3B 0x2156B +0x3E3C 0x21569 +0x3E3D 0x2159F +0x3E3E 0x21638 +0x3E3F 0x2163C +0x3E40 0x2163A +0x3E41 0x21635 +0x3E43 0x21639 +0x3E44 0x21636 +0x3E45 0x2163B +0x3E46 0x21760 +0x3E47 0x21761 +0x3E48 0x21763 +0x3E49 0x21764 +0x3E4A 0x21794 +0x3E4B 0x21793 +0x3E4C 0x2175E +0x3E4D 0x21768 +0x3E4E 0x2176A +0x3E4F 0x21765 +0x3E50 0x2F866 +0x3E51 0x21790 +0x3E52 0x2175F +0x3E53 0x21772 +0x3E54 0x2F865 +0x3E55 0x21A3C +0x3E56 0x21A27 +0x3E57 0x21A24 +0x3E58 0x21A26 +0x3E59 0x21A25 +0x3E5B 0x21A28 +0x3E5C 0x21A36 +0x3E5D 0x21B31 +0x3E5E 0x21B30 +0x3E5F 0x21B34 +0x3E60 0x21B81 +0x3E61 0x21B7D +0x3E62 0x21B82 +0x3E63 0x21B80 +0x3E65 0x202D3 +0x3E66 0x21BF2 +0x3E67 0x21C66 +0x3E68 0x21C8C +0x3E69 0x21C7B +0x3E6A 0x21C83 +0x3E6C 0x21C8E +0x3E6D 0x21C7A +0x3E6E 0x21C92 +0x3E6F 0x21C91 +0x3E70 0x21C82 +0x3E71 0x21D1B +0x3E72 0x21D1C +0x3E73 0x21E27 +0x3E74 0x21E21 +0x3E77 0x21E43 +0x3E79 0x21E18 +0x3E7A 0x21E7B +0x3E7B 0x21E1A +0x3E7C 0x21E4B +0x3E7D 0x21E4A +0x3E7E 0x21E4D +0x3F21 0x21E4F +0x3F22 0x21E19 +0x3F23 0x21E35 +0x3F24 0x21E13 +0x3F25 0x21E52 +0x3F26 0x21E14 +0x3F27 0x21E1E +0x3F28 0x21E2C +0x3F29 0x21E20 +0x3F2A 0x21E22 +0x3F2B 0x21E12 +0x3F2C 0x21E1F +0x3F2D 0x22000 +0x3F2E 0x22023 +0x3F2F 0x22040 +0x3F30 0x22043 +0x3F31 0x220E4 +0x3F32 0x220DB +0x3F33 0x220EA +0x3F34 0x220DD +0x3F35 0x220CC +0x3F36 0x220D9 +0x3F37 0x220E8 +0x3F38 0x220F6 +0x3F39 0x220E3 +0x3F3A 0x220D3 +0x3F3B 0x220DA +0x3F3C 0x220D6 +0x3F3D 0x220E7 +0x3F3E 0x2223A +0x3F3F 0x2223F +0x3F40 0x22240 +0x3F41 0x22248 +0x3F42 0x22259 +0x3F43 0x22237 +0x3F44 0x22244 +0x3F45 0x2F88C +0x3F46 0x2F88B +0x3F47 0x22255 +0x3F48 0x22239 +0x3F49 0x22354 +0x3F4A 0x22355 +0x3F4B 0x22356 +0x3F4C 0x22357 +0x3F4D 0x22358 +0x3F4E 0x22359 +0x3F4F 0x2238D +0x3F50 0x223F2 +0x3F51 0x223F8 +0x3F52 0x223F5 +0x3F53 0x223F6 +0x3F54 0x223FC +0x3F55 0x223FE +0x3F56 0x223F1 +0x3F57 0x223FD +0x3F58 0x2245E +0x3F59 0x22496 +0x3F5A 0x22497 +0x3F5B 0x2249C +0x3F5C 0x2249B +0x3F5D 0x22495 +0x3F5E 0x2F89A +0x3F5F 0x2251A +0x3F60 0x22509 +0x3F61 0x22504 +0x3F62 0x2250E +0x3F63 0x2251C +0x3F64 0x22518 +0x3F65 0x2250D +0x3F66 0x22510 +0x3F67 0x2250C +0x3F68 0x22503 +0x3F69 0x2267B +0x3F6A 0x226A6 +0x3F6B 0x22677 +0x3F6C 0x22688 +0x3F6D 0x22674 +0x3F6E 0x226DA +0x3F6F 0x22676 +0x3F70 0x22678 +0x3F71 0x2268A +0x3F72 0x2268F +0x3F73 0x2267D +0x3F74 0x22690 +0x3F75 0x226ED +0x3F76 0x226D9 +0x3F77 0x226D0 +0x3F78 0x2271A +0x3F79 0x226D7 +0x3F7A 0x226E2 +0x3F7B 0x226E1 +0x3F7C 0x226C5 +0x3F7D 0x226E0 +0x3F7E 0x226CA +0x4021 0x22725 +0x4022 0x226CC +0x4023 0x2F8B3 +0x4024 0x229C6 +0x4025 0x229C1 +0x4026 0x22A4D +0x4027 0x22B4B +0x4028 0x22B64 +0x4029 0x22B95 +0x402A 0x22B99 +0x402B 0x2F8BC +0x402C 0x22B94 +0x402D 0x22BA2 +0x402E 0x22BAE +0x402F 0x22B9E +0x4030 0x22BA7 +0x4031 0x22B86 +0x4033 0x22BA4 +0x4034 0x22B91 +0x4035 0x22B93 +0x4036 0x2F8BB +0x4037 0x22B88 +0x4038 0x22ECD +0x4039 0x22ECA +0x403A 0x22F3F +0x403B 0x22F40 +0x403C 0x22F46 +0x403D 0x22F41 +0x403E 0x22F45 +0x403F 0x22F58 +0x4040 0x22F3B +0x4041 0x22F48 +0x4042 0x2304E +0x4043 0x23052 +0x4044 0x2304F +0x4045 0x2307B +0x4046 0x2307A +0x4047 0x230A0 +0x4048 0x2309F +0x4049 0x230FB +0x404A 0x230F7 +0x404B 0x231B8 +0x404C 0x231B9 +0x404D 0x231BB +0x404E 0x231B7 +0x4050 0x231BA +0x4052 0x231DA +0x4053 0x231B5 +0x4054 0x231BF +0x4055 0x231BC +0x4056 0x231C0 +0x4057 0x2F8D3 +0x4058 0x2F8D9 +0x4059 0x23375 +0x405A 0x23379 +0x405B 0x23376 +0x405C 0x23435 +0x405D 0x23440 +0x405E 0x234C0 +0x405F 0x23481 +0x4060 0x234AD +0x4061 0x234AF +0x4062 0x234AC +0x4063 0x2348F +0x4064 0x234A8 +0x4065 0x234AA +0x4066 0x234A9 +0x4067 0x23488 +0x4068 0x2347F +0x4069 0x23480 +0x406A 0x234BC +0x406B 0x238AE +0x406C 0x238BB +0x406D 0x238BD +0x406F 0x23978 +0x4070 0x23974 +0x4071 0x23A0C +0x4072 0x23A11 +0x4073 0x23A08 +0x4074 0x23A06 +0x4075 0x23A10 +0x4076 0x23A8F +0x4077 0x23A90 +0x4078 0x23A8D +0x4079 0x23A8E +0x407A 0x23A96 +0x407B 0x23A95 +0x407C 0x23B0B +0x407D 0x23B0C +0x407E 0x23B7C +0x4121 0x23B73 +0x4122 0x23B75 +0x4123 0x23B76 +0x4124 0x23B7D +0x4125 0x23B78 +0x4126 0x23B71 +0x4127 0x23C4B +0x4128 0x23C4E +0x4129 0x23D33 +0x412A 0x23D32 +0x412C 0x23D91 +0x412D 0x23DE7 +0x412E 0x23DE9 +0x412F 0x23DA2 +0x4130 0x23D94 +0x4131 0x23D87 +0x4132 0x23DA3 +0x4133 0x23DDD +0x4134 0x23D7B +0x4135 0x23D83 +0x4136 0x23D81 +0x4137 0x23DDF +0x4138 0x23D7C +0x4139 0x23DE4 +0x413A 0x23DE2 +0x413B 0x23D93 +0x413C 0x23D7D +0x413D 0x23DBF +0x413E 0x23D9B +0x413F 0x23D8E +0x4140 0x23D9F +0x4142 0x23D8C +0x4143 0x23D7F +0x4144 0x23D9C +0x4145 0x23D84 +0x4146 0x23D42 +0x4147 0x23DE6 +0x4148 0x24251 +0x4149 0x2424A +0x414A 0x24264 +0x414B 0x24225 +0x414C 0x2422F +0x414D 0x2422E +0x414E 0x2422B +0x414F 0x24228 +0x4150 0x24232 +0x4151 0x2422D +0x4152 0x24231 +0x4153 0x24239 +0x4154 0x2422C +0x4155 0x24261 +0x4156 0x24511 +0x4157 0x24510 +0x4158 0x24512 +0x4159 0x24553 +0x415A 0x24555 +0x415B 0x2457B +0x415C 0x24581 +0x415D 0x2457D +0x415E 0x2457C +0x415F 0x245C2 +0x4160 0x245C5 +0x4161 0x2F922 +0x4162 0x245C4 +0x4163 0x2F923 +0x4164 0x2466B +0x4165 0x24668 +0x4167 0x2465C +0x4168 0x2465D +0x4169 0x2466A +0x416A 0x2F924 +0x416B 0x24C76 +0x416C 0x24776 +0x416E 0x247C4 +0x416F 0x247CB +0x4170 0x247C8 +0x4171 0x247D4 +0x4172 0x247D5 +0x4173 0x247C9 +0x4174 0x247D7 +0x4176 0x24978 +0x4177 0x2495A +0x4178 0x2495B +0x4179 0x2495C +0x417A 0x24956 +0x417B 0x24958 +0x417C 0x24971 +0x417D 0x269D4 +0x417E 0x24B40 +0x4221 0x2F933 +0x4222 0x24B3F +0x4223 0x24B43 +0x4224 0x24B41 +0x4225 0x24BE2 +0x4226 0x24BE0 +0x4227 0x24BE3 +0x4228 0x24C66 +0x4229 0x24C73 +0x422A 0x24C6C +0x422B 0x24C71 +0x422C 0x24C6A +0x422D 0x24C6D +0x422E 0x24C6E +0x422F 0x24C6B +0x4230 0x24D8C +0x4231 0x24D77 +0x4232 0x2F93A +0x4233 0x24D7F +0x4234 0x24D89 +0x4235 0x24D7A +0x4236 0x24D85 +0x4237 0x24D78 +0x4238 0x24D8A +0x4239 0x24D86 +0x423A 0x24F2C +0x423B 0x24F67 +0x423C 0x24F5B +0x423D 0x24FE5 +0x423E 0x24FE1 +0x423F 0x25061 +0x4240 0x25069 +0x4241 0x2506A +0x4242 0x25165 +0x4243 0x2516D +0x4244 0x25163 +0x4245 0x25186 +0x4246 0x2515C +0x4247 0x25162 +0x4248 0x2F948 +0x4249 0x25179 +0x424A 0x25169 +0x424B 0x25170 +0x424C 0x25176 +0x424D 0x2515D +0x424E 0x25187 +0x424F 0x2516E +0x4250 0x25171 +0x4251 0x2517C +0x4252 0x25173 +0x4253 0x2515B +0x4254 0x2516B +0x4255 0x253BF +0x4256 0x253C1 +0x4257 0x253BD +0x4258 0x253C9 +0x4259 0x253BC +0x425A 0x253C2 +0x425B 0x253C0 +0x425C 0x25492 +0x425D 0x254A9 +0x425E 0x2548F +0x425F 0x25476 +0x4260 0x2547B +0x4261 0x25475 +0x4262 0x254A4 +0x4263 0x25664 +0x4264 0x2573D +0x4265 0x257AF +0x4268 0x2579D +0x4269 0x25799 +0x426A 0x257B1 +0x426B 0x25963 +0x426C 0x25962 +0x426D 0x25964 +0x426E 0x25969 +0x4270 0x25A75 +0x4271 0x25A73 +0x4272 0x25A71 +0x4273 0x25A74 +0x4274 0x25B0C +0x4275 0x25B16 +0x4277 0x25B11 +0x4278 0x25B1F +0x4279 0x25B1A +0x427A 0x25B0D +0x427B 0x25B1B +0x427C 0x25B13 +0x427D 0x25E4E +0x427E 0x25E55 +0x4321 0x25E50 +0x4323 0x25FD2 +0x4324 0x25FD3 +0x4325 0x25FD1 +0x4326 0x25FF1 +0x4327 0x25FDC +0x4328 0x25FC8 +0x4329 0x25FCC +0x432A 0x25FD0 +0x432B 0x25FCF +0x432C 0x25FDF +0x432D 0x2622B +0x432E 0x2622E +0x432F 0x2622D +0x4330 0x2629D +0x4331 0x2629E +0x4332 0x2629F +0x4333 0x262A9 +0x4334 0x262A0 +0x4335 0x26298 +0x4336 0x262A1 +0x4337 0x262AB +0x4338 0x262AF +0x4339 0x2636E +0x433A 0x2635F +0x433B 0x2635A +0x433D 0x26365 +0x433E 0x26368 +0x433F 0x26372 +0x4340 0x26417 +0x4341 0x26416 +0x4342 0x26418 +0x4343 0x26419 +0x4344 0x2641A +0x4345 0x26422 +0x4346 0x2641B +0x4347 0x2641C +0x4348 0x264BE +0x4349 0x264EE +0x434A 0x2655A +0x434B 0x26550 +0x434C 0x26558 +0x434D 0x26554 +0x434E 0x26557 +0x434F 0x26556 +0x4350 0x26615 +0x4351 0x2669B +0x4352 0x26693 +0x4353 0x26692 +0x4354 0x26672 +0x4355 0x26698 +0x4356 0x26699 +0x4357 0x266DF +0x4359 0x266D5 +0x435B 0x266D4 +0x435C 0x266F3 +0x435D 0x266F4 +0x435E 0x266E7 +0x435F 0x266E1 +0x4360 0x266E6 +0x4361 0x266EB +0x4362 0x266EC +0x4363 0x202DB +0x4365 0x2690D +0x4366 0x2690C +0x4367 0x21B2F +0x4368 0x26968 +0x4369 0x26965 +0x436A 0x2696B +0x436B 0x26969 +0x436C 0x269D1 +0x436D 0x269D3 +0x436E 0x26A27 +0x436F 0x26A28 +0x4372 0x26A24 +0x4373 0x26AD7 +0x4374 0x26BCA +0x4375 0x26BC7 +0x4376 0x2F99E +0x4377 0x26BD8 +0x4378 0x26BE1 +0x4379 0x26BC6 +0x437A 0x26BF8 +0x437B 0x26BC3 +0x437C 0x26BF4 +0x437D 0x26C17 +0x437E 0x26BEA +0x4421 0x26BCB +0x4422 0x26B86 +0x4423 0x26BC4 +0x4424 0x26BD9 +0x4425 0x26C19 +0x4426 0x26BC2 +0x4427 0x26BE2 +0x4429 0x26BDE +0x442A 0x26BED +0x442B 0x2F99C +0x442D 0x26C1D +0x442E 0x26BDD +0x442F 0x26BDB +0x4430 0x26BE8 +0x4431 0x26BE9 +0x4432 0x26BBF +0x4433 0x26BE0 +0x4434 0x26BD1 +0x4435 0x26BDC +0x4436 0x26BCE +0x4437 0x26C1E +0x4438 0x26BCC +0x4439 0x26BF2 +0x443A 0x26BF3 +0x443B 0x2F99F +0x443C 0x2F9A2 +0x443D 0x2F9A3 +0x443E 0x2F9A1 +0x443F 0x271AB +0x4440 0x271AA +0x4441 0x271A7 +0x4442 0x271A9 +0x4443 0x27288 +0x4444 0x27275 +0x4445 0x27260 +0x4446 0x2726C +0x4447 0x27273 +0x4449 0x2726E +0x444A 0x27274 +0x444B 0x27276 +0x444C 0x27268 +0x444D 0x27277 +0x444E 0x27286 +0x444F 0x275EA +0x4450 0x27651 +0x4451 0x27650 +0x4452 0x27658 +0x4453 0x2764D +0x4454 0x2764F +0x4455 0x2764E +0x4456 0x2765C +0x4457 0x27652 +0x4458 0x27644 +0x4459 0x2764A +0x445A 0x2764B +0x445B 0x277EA +0x445C 0x27810 +0x445D 0x27811 +0x445E 0x278CD +0x445F 0x278BF +0x4460 0x278C4 +0x4461 0x278D0 +0x4462 0x278CE +0x4463 0x278C0 +0x4464 0x278C2 +0x4465 0x278CF +0x4466 0x278C9 +0x4467 0x278BB +0x4468 0x27997 +0x4469 0x27992 +0x446A 0x2796F +0x446B 0x2797E +0x446C 0x2799A +0x446E 0x27986 +0x446F 0x27973 +0x4471 0x27977 +0x4472 0x2798F +0x4473 0x27970 +0x4474 0x27981 +0x4475 0x27982 +0x4476 0x27999 +0x4477 0x2797D +0x4478 0x2797F +0x4479 0x2797B +0x447A 0x27987 +0x447B 0x27BB2 +0x447C 0x27C2F +0x447D 0x27C34 +0x447E 0x27C2E +0x4521 0x27C32 +0x4523 0x27CAA +0x4525 0x27CA9 +0x4526 0x27D38 +0x4527 0x27D36 +0x4528 0x27D37 +0x4529 0x27D47 +0x452A 0x27D33 +0x452B 0x27D39 +0x452C 0x27D35 +0x452D 0x27D44 +0x452E 0x27EA5 +0x452F 0x27EA6 +0x4530 0x27E9E +0x4531 0x27FE3 +0x4532 0x27FDF +0x4533 0x27FD3 +0x4534 0x27FF1 +0x4535 0x27FE4 +0x4536 0x27FE0 +0x4537 0x27FD6 +0x4539 0x27FE6 +0x453A 0x27FD8 +0x453B 0x27FDE +0x453C 0x27FDB +0x453D 0x27FDC +0x453E 0x2821B +0x453F 0x2821F +0x4540 0x2821D +0x4541 0x2821C +0x4542 0x2821E +0x4543 0x28220 +0x4544 0x28221 +0x4546 0x282B6 +0x4547 0x282BC +0x4548 0x282C6 +0x4549 0x282C7 +0x454A 0x282BA +0x454B 0x282BE +0x454C 0x282BD +0x454D 0x282B5 +0x454E 0x282B4 +0x454F 0x2840F +0x4550 0x28462 +0x4551 0x284EB +0x4552 0x284D9 +0x4553 0x284E4 +0x4554 0x284D7 +0x4555 0x284D8 +0x4556 0x284D6 +0x4557 0x284CE +0x4558 0x284DD +0x4559 0x284E7 +0x455A 0x284D2 +0x455B 0x284C5 +0x455C 0x284C9 +0x455D 0x284DB +0x455E 0x28692 +0x455F 0x2868A +0x4560 0x2868B +0x4561 0x28689 +0x4562 0x28708 +0x4563 0x28703 +0x4564 0x28706 +0x4565 0x28705 +0x4566 0x286F5 +0x4567 0x2870B +0x4568 0x286FB +0x4569 0x287FC +0x456A 0x28801 +0x456B 0x28802 +0x456C 0x287FA +0x456D 0x28808 +0x456E 0x287F7 +0x456F 0x28800 +0x4570 0x287FF +0x4571 0x28806 +0x4572 0x287F6 +0x4573 0x287FB +0x4574 0x2880A +0x4575 0x28925 +0x4576 0x28943 +0x4577 0x28944 +0x4578 0x28C64 +0x4579 0x28C62 +0x457A 0x28C5E +0x457B 0x28C5B +0x457C 0x28CD6 +0x457D 0x20072 +0x457E 0x200C2 +0x4621 0x28E77 +0x4622 0x28E82 +0x4623 0x28E7C +0x4624 0x28E7D +0x4625 0x28E86 +0x4626 0x28E81 +0x4627 0x28E84 +0x4628 0x28E76 +0x4629 0x28E83 +0x462A 0x28E7F +0x462B 0x28E7E +0x462C 0x28F88 +0x462D 0x28F8D +0x462E 0x28F8B +0x462F 0x28F91 +0x4630 0x28F8F +0x4631 0x2907C +0x4632 0x29079 +0x4633 0x2907A +0x4634 0x291EA +0x4635 0x2944C +0x4636 0x29599 +0x4637 0x202D1 +0x4638 0x2968B +0x4639 0x2968D +0x463A 0x2968A +0x463B 0x2968E +0x463C 0x29811 +0x463D 0x22256 +0x463E 0x2FA15 +0x463F 0x20074 +0x4640 0x200C3 +0x4641 0x200C4 +0x4642 0x2011B +0x4643 0x2015F +0x4644 0x2016A +0x4645 0x20169 +0x4646 0x2016B +0x4647 0x2030C +0x4648 0x202F6 +0x4649 0x202ED +0x464A 0x20329 +0x464B 0x202FE +0x464C 0x202F1 +0x464D 0x20317 +0x464E 0x202FF +0x464F 0x202EE +0x4650 0x202FD +0x4651 0x2031C +0x4652 0x202FC +0x4653 0x20300 +0x4654 0x20320 +0x4656 0x202F9 +0x4657 0x20367 +0x4658 0x20308 +0x4659 0x2049E +0x465A 0x204F3 +0x465B 0x20525 +0x465C 0x20527 +0x465D 0x2051F +0x465E 0x20565 +0x465F 0x20563 +0x4660 0x20594 +0x4661 0x20597 +0x4662 0x205F1 +0x4663 0x2065F +0x4664 0x20662 +0x4666 0x20660 +0x4667 0x2F822 +0x4668 0x2078C +0x4669 0x20782 +0x466A 0x20790 +0x466B 0x2078B +0x466C 0x2078D +0x466D 0x20781 +0x466E 0x2079D +0x466F 0x2088E +0x4670 0x2088F +0x4671 0x20892 +0x4672 0x20923 +0x4673 0x20952 +0x4674 0x2F82E +0x4675 0x20A00 +0x4676 0x20A01 +0x4677 0x20A02 +0x4678 0x20A1F +0x4679 0x20A8C +0x467A 0x20A89 +0x467B 0x20A8B +0x467C 0x20A88 +0x467D 0x20A8D +0x467E 0x20A8F +0x4721 0x26385 +0x4722 0x20B00 +0x4723 0x20B05 +0x4724 0x20B01 +0x4725 0x20B68 +0x4726 0x20B6E +0x4727 0x20B67 +0x4728 0x20B75 +0x472A 0x2F845 +0x472B 0x20DD7 +0x472C 0x2F846 +0x472D 0x20048 +0x472E 0x20DD4 +0x472F 0x20DD8 +0x4730 0x2F847 +0x4731 0x2F848 +0x4732 0x20DBA +0x4733 0x2F849 +0x4734 0x20DDB +0x4735 0x20DBF +0x4736 0x20E35 +0x4737 0x20DBC +0x4738 0x20DD9 +0x473A 0x20DDD +0x473B 0x20E00 +0x473C 0x20DD5 +0x473D 0x20E30 +0x473E 0x20DBD +0x473F 0x20DDC +0x4740 0x211FD +0x4741 0x211FE +0x4742 0x21207 +0x4743 0x24517 +0x4744 0x2136F +0x4745 0x21369 +0x4746 0x21370 +0x4747 0x21367 +0x4748 0x213A9 +0x4749 0x21395 +0x474A 0x21390 +0x474B 0x2136C +0x474C 0x21397 +0x474D 0x21371 +0x474F 0x21374 +0x4750 0x2136D +0x4751 0x2138E +0x4752 0x2152F +0x4753 0x2A31B +0x4754 0x215A9 +0x4755 0x2164E +0x4756 0x2F85F +0x4757 0x2165A +0x4758 0x21648 +0x4759 0x21655 +0x475A 0x2164C +0x475B 0x21649 +0x475C 0x2164F +0x475D 0x2164A +0x475E 0x217D6 +0x475F 0x217A0 +0x4760 0x217A9 +0x4761 0x2F867 +0x4762 0x2179D +0x4763 0x217D4 +0x4764 0x217A4 +0x4765 0x217A8 +0x4766 0x217A6 +0x4767 0x217E6 +0x4768 0x2197D +0x4769 0x21977 +0x476A 0x2197A +0x476B 0x21A41 +0x476C 0x21A49 +0x476D 0x21A59 +0x476E 0x21A45 +0x476F 0x21A48 +0x4770 0x21A40 +0x4771 0x21B8E +0x4772 0x21B95 +0x4773 0x21B90 +0x4774 0x21BF7 +0x4775 0x21BF8 +0x4776 0x21BF6 +0x4777 0x21BFB +0x4778 0x21C9E +0x4779 0x21C9D +0x477A 0x21C99 +0x477B 0x2F877 +0x477C 0x21CA3 +0x477D 0x21CA9 +0x477E 0x21C98 +0x4821 0x21CA0 +0x4822 0x21C96 +0x4823 0x21C94 +0x4824 0x21C95 +0x4825 0x21C9F +0x4826 0x21CA1 +0x4827 0x21D21 +0x4828 0x21D1D +0x4829 0x21D1F +0x482A 0x21E6D +0x482B 0x2F87C +0x482C 0x21E9A +0x482D 0x21E92 +0x482E 0x21E7A +0x482F 0x21E7D +0x4830 0x21EA1 +0x4831 0x21E9D +0x4832 0x21E99 +0x4833 0x21E6B +0x4834 0x21E6E +0x4835 0x2F87D +0x4836 0x22045 +0x4837 0x2F884 +0x4838 0x220FB +0x4839 0x220EB +0x483A 0x220F2 +0x483B 0x220F9 +0x483C 0x2F886 +0x483D 0x220F8 +0x483E 0x220ED +0x483F 0x22101 +0x4840 0x220F7 +0x4841 0x22106 +0x4842 0x2219B +0x4843 0x221CA +0x4846 0x2226B +0x4847 0x2226C +0x4848 0x22274 +0x4849 0x22267 +0x484A 0x2225B +0x484B 0x22260 +0x484C 0x22276 +0x484D 0x22263 +0x484E 0x22261 +0x484F 0x22328 +0x4850 0x2235B +0x4851 0x2235E +0x4852 0x22360 +0x4853 0x2235D +0x4854 0x2235C +0x4855 0x223F4 +0x4856 0x22400 +0x4857 0x22408 +0x4858 0x22407 +0x4859 0x22401 +0x485A 0x22405 +0x485B 0x22464 +0x485C 0x22463 +0x485D 0x2249E +0x485E 0x224A0 +0x485F 0x224A1 +0x4860 0x2249F +0x4861 0x22526 +0x4862 0x2252D +0x4863 0x22528 +0x4864 0x2251D +0x4865 0x226EC +0x4866 0x226E3 +0x4867 0x226EB +0x4868 0x22716 +0x4869 0x226C8 +0x486A 0x2661B +0x486B 0x226E9 +0x486C 0x226E4 +0x486D 0x22724 +0x486E 0x226D1 +0x4870 0x226DD +0x4871 0x226C2 +0x4872 0x226CB +0x4873 0x226C7 +0x4874 0x226E7 +0x4876 0x226EA +0x4877 0x2274B +0x4878 0x2F8A5 +0x4879 0x22760 +0x487A 0x2277D +0x487B 0x2273E +0x487C 0x2F8A4 +0x487D 0x22752 +0x487E 0x2274E +0x4921 0x2273C +0x4922 0x22732 +0x4923 0x22730 +0x4924 0x22723 +0x4925 0x229CA +0x4926 0x229CB +0x4927 0x229C9 +0x4928 0x229C8 +0x4929 0x229CD +0x492A 0x22B98 +0x492B 0x22BA0 +0x492C 0x22B9F +0x492D 0x22B9C +0x492E 0x22BA3 +0x492F 0x22B97 +0x4930 0x2F8BE +0x4931 0x22BF1 +0x4932 0x22C09 +0x4933 0x22C03 +0x4934 0x22BEA +0x4935 0x22C45 +0x4936 0x22BED +0x4937 0x22C05 +0x4938 0x22C1A +0x4939 0x22C15 +0x493A 0x22C01 +0x493B 0x22BEC +0x493C 0x22C0E +0x493D 0x22C17 +0x493E 0x22C42 +0x493F 0x22C12 +0x4940 0x22C10 +0x4941 0x22BEF +0x4942 0x22BFF +0x4943 0x22C00 +0x4944 0x22C0C +0x4945 0x22C0F +0x4946 0x22C04 +0x4947 0x22C08 +0x4948 0x22C14 +0x4949 0x22C43 +0x494A 0x2F8BD +0x494B 0x22C1B +0x494C 0x22C11 +0x494D 0x22C13 +0x494E 0x22ECF +0x494F 0x22ECE +0x4950 0x22F6F +0x4951 0x22F6E +0x4952 0x22F7A +0x4953 0x22F70 +0x4954 0x22F64 +0x4955 0x22F5E +0x4956 0x22F6C +0x4957 0x2F8C9 +0x4958 0x22F5B +0x4959 0x22F61 +0x495A 0x22F65 +0x495B 0x2307F +0x495C 0x23080 +0x495D 0x2307C +0x495E 0x230A7 +0x495F 0x230A6 +0x4960 0x230A1 +0x4962 0x230A8 +0x4963 0x230A3 +0x4964 0x230A2 +0x4965 0x230AD +0x4966 0x230A5 +0x4967 0x23101 +0x4968 0x230FF +0x4969 0x230FC +0x496A 0x23100 +0x496B 0x23135 +0x496C 0x231EE +0x496D 0x231EF +0x496E 0x231F6 +0x496F 0x231E8 +0x4970 0x231EA +0x4971 0x231E3 +0x4972 0x2321F +0x4974 0x231E4 +0x4975 0x231FA +0x4976 0x231F1 +0x4977 0x231FB +0x4978 0x2F8D4 +0x4979 0x2333D +0x497A 0x2333C +0x497C 0x23378 +0x497D 0x23377 +0x4A21 0x234D1 +0x4A22 0x234C7 +0x4A23 0x234DF +0x4A24 0x234D0 +0x4A25 0x234E0 +0x4A26 0x234D6 +0x4A27 0x234D8 +0x4A28 0x23516 +0x4A29 0x2350E +0x4A2A 0x234D9 +0x4A2B 0x2350F +0x4A2C 0x23511 +0x4A2D 0x234CD +0x4A2E 0x23489 +0x4A2F 0x234CE +0x4A30 0x23514 +0x4A31 0x234DA +0x4A32 0x23512 +0x4A33 0x234D3 +0x4A34 0x234C2 +0x4A35 0x234E1 +0x4A36 0x234E9 +0x4A37 0x234EA +0x4A38 0x234DE +0x4A39 0x23515 +0x4A3A 0x238D9 +0x4A3B 0x238D6 +0x4A3C 0x238CD +0x4A3D 0x238D0 +0x4A3E 0x238D3 +0x4A3F 0x2F8F0 +0x4A40 0x23982 +0x4A41 0x23985 +0x4A42 0x2397F +0x4A43 0x2397D +0x4A44 0x23981 +0x4A45 0x23983 +0x4A46 0x23984 +0x4A47 0x284A0 +0x4A48 0x23A28 +0x4A49 0x23A0F +0x4A4A 0x23A17 +0x4A4B 0x23A1A +0x4A4C 0x23A25 +0x4A4D 0x2F8F7 +0x4A4E 0x23A9B +0x4A4F 0x23A99 +0x4A50 0x23B92 +0x4A51 0x23B8C +0x4A52 0x23B95 +0x4A53 0x23B8D +0x4A54 0x23BA3 +0x4A55 0x23B93 +0x4A56 0x23B91 +0x4A57 0x23DDB +0x4A58 0x23D99 +0x4A59 0x23D9A +0x4A5A 0x23E08 +0x4A5B 0x23E4C +0x4A5C 0x23E0D +0x4A5D 0x23E01 +0x4A5E 0x23E4E +0x4A5F 0x23E02 +0x4A60 0x23E4D +0x4A61 0x23E21 +0x4A62 0x23DFC +0x4A63 0x2F909 +0x4A64 0x23D8A +0x4A65 0x2F908 +0x4A66 0x23D95 +0x4A67 0x23E11 +0x4A68 0x23E12 +0x4A69 0x23E46 +0x4A6A 0x23E1C +0x4A6B 0x23E49 +0x4A6C 0x23E0C +0x4A6E 0x23E13 +0x4A6F 0x23E16 +0x4A70 0x23DFD +0x4A71 0x23E0F +0x4A72 0x23E1F +0x4A73 0x24230 +0x4A74 0x2426E +0x4A75 0x2426B +0x4A76 0x2429B +0x4A77 0x2427B +0x4A78 0x24263 +0x4A79 0x24297 +0x4A7A 0x2426D +0x4A7B 0x2429C +0x4A7C 0x24298 +0x4A7D 0x2426F +0x4A7E 0x24267 +0x4B21 0x24269 +0x4B22 0x24515 +0x4B23 0x24563 +0x4B24 0x24586 +0x4B25 0x2458A +0x4B26 0x24587 +0x4B27 0x24588 +0x4B28 0x24585 +0x4B29 0x24589 +0x4B2A 0x245CA +0x4B2B 0x245C7 +0x4B2C 0x245CB +0x4B2D 0x245CC +0x4B2E 0x245C9 +0x4B2F 0x2460D +0x4B30 0x24683 +0x4B31 0x24684 +0x4B32 0x24678 +0x4B33 0x24682 +0x4B34 0x24673 +0x4B35 0x24679 +0x4B36 0x2468C +0x4B37 0x247D0 +0x4B38 0x247CF +0x4B39 0x247D2 +0x4B3A 0x247D9 +0x4B3B 0x247CC +0x4B3C 0x247EB +0x4B3D 0x247FD +0x4B3E 0x247EC +0x4B3F 0x247E8 +0x4B40 0x247F8 +0x4B41 0x247FA +0x4B42 0x2F927 +0x4B44 0x247E1 +0x4B45 0x247FB +0x4B46 0x248E7 +0x4B47 0x2F92E +0x4B48 0x249A5 +0x4B49 0x24991 +0x4B4A 0x249A6 +0x4B4B 0x2497C +0x4B4C 0x24992 +0x4B4D 0x249A2 +0x4B4E 0x249A0 +0x4B4F 0x24AFC +0x4B50 0x24AFE +0x4B51 0x24B57 +0x4B52 0x24B53 +0x4B53 0x24B58 +0x4B54 0x24BE7 +0x4B55 0x24C8E +0x4B56 0x2F938 +0x4B57 0x24C83 +0x4B58 0x24C8B +0x4B59 0x24C84 +0x4B5B 0x24DA2 +0x4B5C 0x24DB7 +0x4B5D 0x24DA9 +0x4B5E 0x24DA5 +0x4B5F 0x24D9F +0x4B60 0x24DAA +0x4B61 0x24D97 +0x4B62 0x24DA1 +0x4B63 0x24D9E +0x4B64 0x24DAB +0x4B65 0x24D99 +0x4B66 0x24DA3 +0x4B67 0x24F30 +0x4B68 0x24F32 +0x4B69 0x24F2F +0x4B6A 0x24F70 +0x4B6B 0x24F6C +0x4B6C 0x24F6F +0x4B6D 0x24FE8 +0x4B6E 0x24FEE +0x4B6F 0x24FEA +0x4B70 0x2506D +0x4B71 0x25076 +0x4B72 0x25070 +0x4B73 0x25071 +0x4B74 0x2506C +0x4B75 0x251EB +0x4B76 0x251B5 +0x4B77 0x25196 +0x4B78 0x25190 +0x4B79 0x2518D +0x4B7A 0x2F949 +0x4B7B 0x251A2 +0x4B7C 0x251B0 +0x4B7D 0x25192 +0x4B7E 0x251A0 +0x4C21 0x25193 +0x4C22 0x251C3 +0x4C23 0x2518E +0x4C24 0x251B6 +0x4C25 0x2519D +0x4C26 0x25195 +0x4C27 0x251B3 +0x4C28 0x251A4 +0x4C29 0x25370 +0x4C2A 0x253D4 +0x4C2C 0x253CF +0x4C2D 0x20170 +0x4C2E 0x25494 +0x4C30 0x254C0 +0x4C31 0x254B4 +0x4C32 0x254C1 +0x4C34 0x254BD +0x4C35 0x254AF +0x4C36 0x25677 +0x4C37 0x25678 +0x4C38 0x2566B +0x4C39 0x2566D +0x4C3A 0x2566E +0x4C3B 0x25672 +0x4C3C 0x2566F +0x4C3D 0x25671 +0x4C3E 0x230AB +0x4C3F 0x2568C +0x4C40 0x2573F +0x4C41 0x257B6 +0x4C42 0x257B7 +0x4C44 0x257BB +0x4C45 0x257B8 +0x4C46 0x2079C +0x4C47 0x257B9 +0x4C49 0x2598B +0x4C4A 0x2597A +0x4C4B 0x25984 +0x4C4C 0x25988 +0x4C4D 0x25991 +0x4C4E 0x25979 +0x4C4F 0x2598E +0x4C50 0x25980 +0x4C51 0x25982 +0x4C52 0x2597C +0x4C54 0x25A84 +0x4C55 0x25A7F +0x4C57 0x25B3B +0x4C58 0x25B71 +0x4C59 0x25B3D +0x4C5A 0x25B30 +0x4C5C 0x25B3E +0x4C5D 0x25B38 +0x4C5E 0x25E5E +0x4C5F 0x25E64 +0x4C61 0x25E5D +0x4C62 0x25E6D +0x4C63 0x25E4F +0x4C64 0x25E62 +0x4C65 0x25E5F +0x4C66 0x25FEC +0x4C67 0x25FF2 +0x4C68 0x25FF4 +0x4C69 0x25FF7 +0x4C6A 0x25FF6 +0x4C6B 0x26007 +0x4C6C 0x25FED +0x4C6D 0x25FEA +0x4C6E 0x25FF0 +0x4C6F 0x25FF8 +0x4C70 0x25FF3 +0x4C72 0x2F972 +0x4C73 0x26231 +0x4C74 0x2622F +0x4C75 0x262B6 +0x4C76 0x262AE +0x4C77 0x262AA +0x4C78 0x262BF +0x4C79 0x262CC +0x4C7A 0x262C7 +0x4C7B 0x26C83 +0x4C7C 0x26380 +0x4C7D 0x2637B +0x4C7E 0x2637F +0x4D21 0x2637D +0x4D22 0x26383 +0x4D23 0x2F978 +0x4D24 0x26446 +0x4D25 0x2642D +0x4D26 0x26425 +0x4D27 0x26426 +0x4D28 0x2642C +0x4D29 0x26437 +0x4D2A 0x26431 +0x4D2B 0x26433 +0x4D2C 0x26432 +0x4D2D 0x26427 +0x4D2E 0x2642A +0x4D2F 0x2642E +0x4D30 0x2642F +0x4D31 0x264C0 +0x4D32 0x26571 +0x4D33 0x26561 +0x4D34 0x26562 +0x4D35 0x26566 +0x4D36 0x26618 +0x4D37 0x266C5 +0x4D38 0x266C3 +0x4D39 0x266C4 +0x4D3A 0x266C2 +0x4D3B 0x266AE +0x4D3C 0x26710 +0x4D3D 0x26708 +0x4D3E 0x2671F +0x4D3F 0x2673A +0x4D40 0x2673B +0x4D41 0x26736 +0x4D42 0x2670C +0x4D43 0x26706 +0x4D44 0x2672A +0x4D45 0x26757 +0x4D46 0x26750 +0x4D47 0x26720 +0x4D48 0x2F985 +0x4D49 0x2672C +0x4D4A 0x26721 +0x4D4B 0x2670B +0x4D4C 0x26719 +0x4D4D 0x26735 +0x4D4E 0x26718 +0x4D4F 0x2670F +0x4D50 0x26713 +0x4D51 0x26755 +0x4D52 0x26739 +0x4D53 0x2671A +0x4D55 0x26717 +0x4D56 0x268E4 +0x4D57 0x268E9 +0x4D58 0x2458B +0x4D59 0x26910 +0x4D5A 0x26912 +0x4D5B 0x2693F +0x4D5C 0x2696E +0x4D5D 0x24518 +0x4D5E 0x2F98C +0x4D5F 0x269D6 +0x4D60 0x269D5 +0x4D61 0x269D7 +0x4D62 0x20B02 +0x4D64 0x26A31 +0x4D65 0x26A30 +0x4D66 0x26A3A +0x4D67 0x26B85 +0x4D68 0x26B6B +0x4D69 0x26C48 +0x4D6A 0x26C4B +0x4D6B 0x26C37 +0x4D6C 0x26C7B +0x4D6D 0x26C6C +0x4D6E 0x26C85 +0x4D6F 0x26C65 +0x4D70 0x26C36 +0x4D71 0x26C86 +0x4D72 0x26C34 +0x4D73 0x26C68 +0x4D74 0x26C5A +0x4D75 0x26C58 +0x4D76 0x26C72 +0x4D77 0x26C6A +0x4D78 0x26BD3 +0x4D79 0x26C3C +0x4D7A 0x26C33 +0x4D7B 0x26C3B +0x4D7C 0x26C4D +0x4D7D 0x26C4F +0x4D7E 0x26C7C +0x4E21 0x26CB0 +0x4E22 0x26C5B +0x4E23 0x26C55 +0x4E24 0x26C64 +0x4E25 0x26C6B +0x4E26 0x26C53 +0x4E28 0x26C57 +0x4E29 0x26C5E +0x4E2A 0x26C6D +0x4E2B 0x26C35 +0x4E2C 0x26C69 +0x4E2D 0x26C59 +0x4E2E 0x26C66 +0x4E2F 0x26C50 +0x4E30 0x26C51 +0x4E31 0x26C5C +0x4E32 0x26D5D +0x4E33 0x26C87 +0x4E34 0x26C78 +0x4E35 0x26C49 +0x4E36 0x26C4E +0x4E37 0x26BF1 +0x4E38 0x26C73 +0x4E39 0x26C88 +0x4E3A 0x26BCF +0x4E3B 0x2F9A4 +0x4E3C 0x271B1 +0x4E3D 0x271B3 +0x4E3E 0x2729C +0x4E3F 0x272A4 +0x4E40 0x27290 +0x4E41 0x272B8 +0x4E42 0x272A0 +0x4E43 0x2729D +0x4E44 0x272A8 +0x4E45 0x272A9 +0x4E46 0x2F9B9 +0x4E47 0x272B1 +0x4E48 0x27293 +0x4E49 0x2729B +0x4E4A 0x272A2 +0x4E4B 0x272A1 +0x4E4C 0x272B0 +0x4E4D 0x272A7 +0x4E4E 0x275B3 +0x4E50 0x275B4 +0x4E51 0x275F1 +0x4E52 0x275ED +0x4E53 0x275EC +0x4E54 0x27668 +0x4E55 0x27675 +0x4E56 0x2766A +0x4E57 0x27662 +0x4E58 0x27667 +0x4E59 0x27660 +0x4E5A 0x27677 +0x4E5B 0x2765F +0x4E5C 0x27679 +0x4E5D 0x27823 +0x4E5E 0x27821 +0x4E5F 0x2781C +0x4E61 0x2781F +0x4E62 0x2781E +0x4E63 0x278D6 +0x4E64 0x278D3 +0x4E65 0x278D9 +0x4E66 0x278D7 +0x4E67 0x278D4 +0x4E68 0x278DC +0x4E69 0x278D8 +0x4E6A 0x279A3 +0x4E6C 0x279BE +0x4E6D 0x279A9 +0x4E6E 0x279A1 +0x4E6F 0x279A0 +0x4E70 0x279AB +0x4E71 0x279A2 +0x4E72 0x279BA +0x4E73 0x279C2 +0x4E74 0x2799C +0x4E75 0x279BB +0x4E76 0x279AA +0x4E77 0x279AC +0x4E78 0x279A5 +0x4E79 0x279C1 +0x4E7B 0x27BE2 +0x4E7C 0x27C36 +0x4E7D 0x27C3D +0x4E7E 0x27C3A +0x4F21 0x22461 +0x4F22 0x27C48 +0x4F23 0x27C3C +0x4F24 0x27CB7 +0x4F25 0x27CAC +0x4F26 0x27CB3 +0x4F27 0x27CB6 +0x4F28 0x27CB2 +0x4F2A 0x27D5D +0x4F2B 0x27D49 +0x4F2C 0x27D4E +0x4F2D 0x27D4F +0x4F2E 0x27D4D +0x4F2F 0x27D5C +0x4F30 0x27E5D +0x4F31 0x27EBB +0x4F32 0x27ECE +0x4F33 0x27EBF +0x4F34 0x27EBA +0x4F35 0x27EC3 +0x4F37 0x28006 +0x4F38 0x27FF8 +0x4F39 0x27FFE +0x4F3A 0x28013 +0x4F3B 0x27FF6 +0x4F3D 0x28234 +0x4F3E 0x2822D +0x4F3F 0x2822A +0x4F40 0x28235 +0x4F41 0x2822C +0x4F42 0x282D4 +0x4F43 0x282DA +0x4F44 0x282D3 +0x4F45 0x282D2 +0x4F46 0x282CE +0x4F47 0x282CF +0x4F49 0x284FD +0x4F4A 0x2850B +0x4F4B 0x284FE +0x4F4C 0x284F8 +0x4F4D 0x284F7 +0x4F4E 0x28517 +0x4F4F 0x284FA +0x4F50 0x284F9 +0x4F51 0x28500 +0x4F52 0x284F5 +0x4F53 0x284F1 +0x4F54 0x28503 +0x4F55 0x28505 +0x4F56 0x2851C +0x4F57 0x286AC +0x4F58 0x2869A +0x4F59 0x286AD +0x4F5A 0x286A0 +0x4F5B 0x2871B +0x4F5C 0x28725 +0x4F5D 0x28724 +0x4F5E 0x28726 +0x4F5F 0x28727 +0x4F60 0x28728 +0x4F61 0x2872A +0x4F62 0x2871A +0x4F63 0x2872E +0x4F64 0x28715 +0x4F65 0x28815 +0x4F66 0x28814 +0x4F67 0x28817 +0x4F68 0x28818 +0x4F69 0x2880F +0x4F6A 0x28813 +0x4F6B 0x2880B +0x4F6C 0x28822 +0x4F6D 0x2137A +0x4F6E 0x28926 +0x4F70 0x28951 +0x4F71 0x2894D +0x4F72 0x2894E +0x4F73 0x2894A +0x4F74 0x2894B +0x4F75 0x2894C +0x4F76 0x28950 +0x4F77 0x28962 +0x4F78 0x2894F +0x4F79 0x28952 +0x4F7A 0x28C68 +0x4F7B 0x28C69 +0x4F7C 0x28CE5 +0x4F7D 0x28CF0 +0x4F7E 0x28CE1 +0x5021 0x28CE2 +0x5022 0x2F9F2 +0x5023 0x28EA5 +0x5024 0x28EA9 +0x5025 0x28EA4 +0x5026 0x28EAF +0x5027 0x28EAC +0x5028 0x28EAE +0x5029 0x28EAA +0x502A 0x28F95 +0x502B 0x28F99 +0x502C 0x28F93 +0x502D 0x28F9D +0x502E 0x28F98 +0x502F 0x28F9C +0x5030 0x28F97 +0x5032 0x29089 +0x5033 0x29087 +0x5034 0x291D7 +0x5035 0x291ED +0x5036 0x291F1 +0x5037 0x291F0 +0x5038 0x29205 +0x5039 0x29203 +0x503A 0x29204 +0x503B 0x2925F +0x503C 0x29457 +0x503D 0x2959C +0x503E 0x295A1 +0x503F 0x2959A +0x5040 0x2968F +0x5041 0x29693 +0x5042 0x2969E +0x5043 0x296A3 +0x5044 0x29698 +0x5045 0x29699 +0x5046 0x29695 +0x5047 0x2986E +0x5048 0x2986A +0x5049 0x29AF4 +0x504A 0x29AF7 +0x504B 0x29C79 +0x504C 0x29F8F +0x504D 0x29F91 +0x504E 0x2A00B +0x504F 0x2A502 +0x5050 0x20084 +0x5051 0x20104 +0x5052 0x20180 +0x5053 0x2032F +0x5054 0x2033F +0x5055 0x2033B +0x5056 0x20362 +0x5057 0x20344 +0x5058 0x20333 +0x5059 0x2035F +0x505A 0x2032B +0x505B 0x2F809 +0x505C 0x20339 +0x505D 0x20336 +0x505E 0x20348 +0x505F 0x20335 +0x5060 0x2036C +0x5061 0x20358 +0x5062 0x2033A +0x5063 0x204A8 +0x5064 0x204F4 +0x5065 0x20529 +0x5066 0x2059A +0x5067 0x20600 +0x5068 0x207BB +0x5069 0x207BD +0x506A 0x207B7 +0x506B 0x207B2 +0x506D 0x207A8 +0x506E 0x207AB +0x506F 0x207A6 +0x5070 0x207BC +0x5071 0x20897 +0x5072 0x20896 +0x5073 0x208F8 +0x5075 0x20951 +0x5077 0x209B5 +0x5078 0x209B4 +0x5079 0x209B6 +0x507B 0x209B7 +0x507C 0x20A05 +0x507D 0x20A23 +0x507E 0x20A95 +0x5121 0x20A98 +0x5123 0x20A94 +0x5124 0x20A93 +0x5125 0x20B07 +0x5126 0x20B73 +0x5127 0x20B71 +0x5128 0x20B72 +0x5129 0x20B78 +0x512A 0x20E5F +0x512B 0x20E6A +0x512C 0x20E67 +0x512D 0x20E6B +0x512E 0x20E69 +0x512F 0x20E8E +0x5130 0x20E49 +0x5131 0x20E80 +0x5133 0x20E44 +0x5134 0x20E8F +0x5135 0x20E45 +0x5136 0x2F84C +0x5137 0x20E4F +0x5138 0x20E63 +0x5139 0x20E36 +0x513A 0x20E48 +0x513B 0x20E5C +0x513C 0x20E93 +0x513D 0x20E61 +0x513E 0x20E60 +0x513F 0x20E4E +0x5140 0x20E5E +0x5141 0x20E3F +0x5142 0x20EA4 +0x5144 0x20E68 +0x5145 0x2120B +0x5146 0x21211 +0x5147 0x2120D +0x5148 0x2120E +0x5149 0x213C2 +0x514A 0x2F857 +0x514B 0x213B0 +0x514C 0x213C3 +0x514D 0x213C8 +0x514E 0x21365 +0x514F 0x213D7 +0x5150 0x213BD +0x5151 0x213B8 +0x5152 0x213B6 +0x5153 0x213C7 +0x5154 0x213BC +0x5155 0x213B1 +0x5156 0x213AF +0x5157 0x2F85B +0x5158 0x21535 +0x5159 0x21530 +0x515A 0x2155D +0x515B 0x20B76 +0x515C 0x2156F +0x515D 0x215B0 +0x515E 0x2F85E +0x515F 0x215B4 +0x5160 0x2165C +0x5161 0x2165D +0x5162 0x21808 +0x5163 0x217EE +0x5164 0x2180B +0x5165 0x217F2 +0x5166 0x217FD +0x5167 0x217F1 +0x5168 0x21810 +0x5169 0x2F868 +0x516A 0x21814 +0x516B 0x2198B +0x516C 0x2198C +0x516D 0x21985 +0x516E 0x21A7A +0x516F 0x21A6C +0x5170 0x21A60 +0x5171 0x21A67 +0x5172 0x21A66 +0x5173 0x21A6A +0x5174 0x21A5F +0x5175 0x21A6D +0x5176 0x21A68 +0x5177 0x21A64 +0x5178 0x21B3A +0x5179 0x21B3B +0x517A 0x21B39 +0x517B 0x21C02 +0x517C 0x21C04 +0x517D 0x21C03 +0x517E 0x21CB4 +0x5221 0x21CB3 +0x5222 0x21CBB +0x5223 0x21CAC +0x5224 0x21CB6 +0x5225 0x21CB1 +0x5226 0x21CAF +0x5227 0x21CB5 +0x5228 0x21CBE +0x5229 0x21CB2 +0x522A 0x21D24 +0x522B 0x21EB6 +0x522C 0x21EB9 +0x522D 0x21EAC +0x522E 0x21EB0 +0x522F 0x21ED7 +0x5230 0x21EBB +0x5231 0x21EFE +0x5232 0x21ECB +0x5233 0x2F87F +0x5235 0x21EB3 +0x5236 0x21EBE +0x5237 0x21ECD +0x5238 0x21EBC +0x5239 0x21EBA +0x523A 0x21EC7 +0x523B 0x22116 +0x523C 0x2211B +0x523D 0x22117 +0x523E 0x22115 +0x523F 0x2219F +0x5240 0x2F88E +0x5241 0x22282 +0x5242 0x22283 +0x5243 0x2228E +0x5244 0x2226A +0x5245 0x22289 +0x5246 0x22294 +0x5247 0x22286 +0x5248 0x22290 +0x5249 0x22362 +0x524A 0x22390 +0x524B 0x2240C +0x524C 0x2240F +0x524E 0x224A5 +0x524F 0x224A7 +0x5250 0x224A6 +0x5251 0x224A4 +0x5252 0x22535 +0x5253 0x22538 +0x5254 0x22536 +0x5255 0x22543 +0x5256 0x22547 +0x5257 0x22537 +0x5258 0x22743 +0x5259 0x227A2 +0x525A 0x22751 +0x525B 0x22772 +0x525C 0x2276D +0x525D 0x2272F +0x525E 0x22754 +0x525F 0x2276E +0x5260 0x22755 +0x5261 0x22737 +0x5262 0x2274F +0x5263 0x22750 +0x5265 0x2279E +0x5266 0x2F8A8 +0x5267 0x227B3 +0x5268 0x227A7 +0x526A 0x227F9 +0x526B 0x22791 +0x526C 0x2F8A7 +0x526D 0x227B6 +0x526E 0x227DD +0x526F 0x22799 +0x5270 0x229DF +0x5271 0x229D5 +0x5272 0x247F5 +0x5273 0x22C28 +0x5274 0x22C40 +0x5275 0x22C71 +0x5276 0x22C98 +0x5277 0x22C95 +0x5278 0x22C65 +0x5279 0x22C78 +0x527A 0x22C7F +0x527B 0x22C60 +0x527C 0x22C7C +0x527D 0x22C96 +0x527E 0x22C6A +0x5321 0x22C79 +0x5322 0x22C73 +0x5323 0x22C72 +0x5324 0x22C7B +0x5325 0x22C70 +0x5326 0x22ED5 +0x5327 0x22ED7 +0x5328 0x22F8F +0x5329 0x22F89 +0x532A 0x22F9E +0x532B 0x22F87 +0x532C 0x22FA0 +0x532D 0x22F8D +0x532E 0x22F88 +0x532F 0x22F7F +0x5330 0x22F8C +0x5331 0x22F93 +0x5332 0x23059 +0x5333 0x295B0 +0x5334 0x230B1 +0x5335 0x251F4 +0x5336 0x230AF +0x5337 0x230B2 +0x5338 0x23108 +0x5339 0x2310A +0x533A 0x23136 +0x533B 0x23137 +0x533C 0x2F8CF +0x533E 0x23236 +0x533F 0x23229 +0x5340 0x2324A +0x5341 0x23226 +0x5342 0x23228 +0x5343 0x23224 +0x5344 0x2322A +0x5345 0x23248 +0x5346 0x23344 +0x5347 0x23384 +0x5348 0x2338C +0x5349 0x234C4 +0x534A 0x234DC +0x534B 0x23587 +0x534C 0x23553 +0x534D 0x2357F +0x534E 0x23531 +0x534F 0x23551 +0x5350 0x2354B +0x5351 0x23552 +0x5352 0x23580 +0x5353 0x235A5 +0x5354 0x23581 +0x5355 0x23543 +0x5356 0x23534 +0x5357 0x23536 +0x5358 0x23532 +0x5359 0x23548 +0x535A 0x23549 +0x535B 0x2353C +0x535C 0x2354D +0x535D 0x2354A +0x535E 0x2F8E6 +0x535F 0x2358A +0x5360 0x23546 +0x5361 0x2353E +0x5362 0x23583 +0x5363 0x23550 +0x5364 0x235B4 +0x5365 0x238F0 +0x5366 0x238E4 +0x5367 0x238E3 +0x5368 0x238E5 +0x5369 0x238E6 +0x536A 0x238E7 +0x536B 0x238E1 +0x536C 0x238EF +0x536D 0x238E8 +0x536E 0x238DD +0x536F 0x23903 +0x5370 0x23988 +0x5371 0x23A26 +0x5372 0x23A16 +0x5373 0x23A3B +0x5374 0x23A2F +0x5375 0x23A39 +0x5376 0x23A34 +0x5377 0x2F8F4 +0x5378 0x23A35 +0x5379 0x23A31 +0x537A 0x23A38 +0x537B 0x20B81 +0x537C 0x23AAA +0x537D 0x23AA3 +0x537E 0x23AA4 +0x5421 0x23AA0 +0x5422 0x23AA1 +0x5423 0x23AA9 +0x5424 0x23AA5 +0x5425 0x23BAF +0x5426 0x23BB1 +0x5427 0x23BAB +0x5428 0x23BAE +0x5429 0x23BB0 +0x542A 0x23BB3 +0x542B 0x23BAC +0x542C 0x23BA9 +0x542D 0x23BB2 +0x542E 0x23BA8 +0x542F 0x23BB4 +0x5430 0x23BC2 +0x5431 0x23C4F +0x5432 0x23C66 +0x5433 0x23E1E +0x5434 0x23E15 +0x5435 0x23E10 +0x5436 0x23E7F +0x5437 0x23E7E +0x5438 0x23E60 +0x5439 0x23ECC +0x543A 0x23EB2 +0x543B 0x23E62 +0x543C 0x23E8D +0x543D 0x23E8E +0x543E 0x23E77 +0x543F 0x23E7C +0x5440 0x23E8F +0x5441 0x23E5D +0x5442 0x23E6D +0x5443 0x23E63 +0x5444 0x23EAF +0x5445 0x23E90 +0x5446 0x23E7D +0x5447 0x23E7A +0x5448 0x23E06 +0x5449 0x2F90B +0x544A 0x23E68 +0x544B 0x23EB4 +0x544C 0x23E78 +0x544D 0x23EB1 +0x544F 0x2F90C +0x5451 0x242E8 +0x5452 0x242E9 +0x5453 0x242C0 +0x5455 0x242EA +0x5456 0x242B7 +0x5457 0x242BA +0x5458 0x242B5 +0x5459 0x2F91D +0x545A 0x242B4 +0x545B 0x242BC +0x545C 0x242C6 +0x545D 0x242B8 +0x545E 0x242BD +0x545F 0x242C2 +0x5460 0x2434D +0x5461 0x242F0 +0x5462 0x242C7 +0x5463 0x242C1 +0x5464 0x242C3 +0x5465 0x242F1 +0x5466 0x242EC +0x5468 0x2451C +0x5469 0x24520 +0x546A 0x24558 +0x546B 0x24565 +0x546C 0x24564 +0x546D 0x2458C +0x546E 0x2458D +0x546F 0x245D9 +0x5470 0x245E0 +0x5471 0x24610 +0x5472 0x24694 +0x5473 0x24692 +0x5474 0x24696 +0x5475 0x24695 +0x5476 0x246BF +0x5477 0x246A0 +0x5479 0x247F4 +0x547A 0x247F6 +0x547B 0x247DC +0x547D 0x24816 +0x547E 0x24815 +0x5521 0x2481C +0x5522 0x2480F +0x5523 0x2482C +0x5524 0x24814 +0x5525 0x24825 +0x5526 0x24817 +0x5527 0x24812 +0x5528 0x2481E +0x5529 0x24980 +0x552A 0x249A8 +0x552B 0x249AF +0x552C 0x249D6 +0x552D 0x249E2 +0x552E 0x249B4 +0x552F 0x249B3 +0x5530 0x249B0 +0x5531 0x249B2 +0x5532 0x249A1 +0x5533 0x24B60 +0x5534 0x24B66 +0x5535 0x24B61 +0x5536 0x24B4E +0x5537 0x24B5D +0x5538 0x24B63 +0x5539 0x24BE6 +0x553A 0x24BEF +0x553B 0x24BEC +0x553C 0x24C98 +0x553D 0x24CA7 +0x553E 0x24C94 +0x553F 0x24C95 +0x5540 0x24C91 +0x5541 0x24C9D +0x5542 0x24C99 +0x5543 0x24C9B +0x5544 0x24C9C +0x5545 0x24D1D +0x5546 0x24D1C +0x5547 0x24DD0 +0x5548 0x24DE0 +0x5549 0x24DCB +0x554A 0x24DDB +0x554B 0x24DDA +0x554C 0x24DC2 +0x554D 0x24DD3 +0x554E 0x24DE5 +0x554F 0x24F7D +0x5550 0x24F7B +0x5551 0x24FFF +0x5553 0x24FF9 +0x5554 0x25077 +0x5555 0x2507C +0x5556 0x25078 +0x5557 0x2507B +0x5558 0x2507A +0x5559 0x251D2 +0x555A 0x251CB +0x555B 0x251C9 +0x555C 0x251CE +0x555D 0x251E4 +0x555E 0x251CA +0x555F 0x251D0 +0x5560 0x22FA5 +0x5562 0x251D9 +0x5563 0x251EE +0x5564 0x251DD +0x5565 0x25200 +0x5566 0x251E1 +0x5567 0x253DE +0x5568 0x253E2 +0x5569 0x253DA +0x556A 0x254CE +0x556B 0x2F94F +0x556C 0x254CF +0x556D 0x254DA +0x556E 0x254D1 +0x556F 0x254D4 +0x5570 0x254ED +0x5571 0x254CB +0x5572 0x254D5 +0x5573 0x254F1 +0x5574 0x2569C +0x5575 0x25688 +0x5576 0x25741 +0x5577 0x257D0 +0x5578 0x257F7 +0x5579 0x257CF +0x557A 0x257D1 +0x557B 0x257DB +0x557C 0x257DE +0x557D 0x257F8 +0x557E 0x257DC +0x5621 0x257D9 +0x5622 0x259A0 +0x5623 0x259B2 +0x5624 0x259A1 +0x5625 0x259AA +0x5626 0x259A9 +0x5628 0x259A6 +0x5629 0x2599C +0x562A 0x259B5 +0x562B 0x259A7 +0x562C 0x25A8E +0x562D 0x25A90 +0x562E 0x25A91 +0x562F 0x25B85 +0x5630 0x25B5B +0x5631 0x25B70 +0x5632 0x25B64 +0x5633 0x25B67 +0x5634 0x25B63 +0x5635 0x25B77 +0x5636 0x25B68 +0x5637 0x25B65 +0x5638 0x25B6A +0x5639 0x25B78 +0x563A 0x25B66 +0x563B 0x25E88 +0x563C 0x25E9E +0x563D 0x25E74 +0x563E 0x25E7A +0x563F 0x25E79 +0x5640 0x25E8B +0x5641 0x25E7F +0x5642 0x26013 +0x5643 0x2601E +0x5644 0x26017 +0x5645 0x2601A +0x5646 0x26022 +0x5647 0x26043 +0x5648 0x26019 +0x5649 0x2601F +0x564A 0x26027 +0x564B 0x26012 +0x564C 0x26024 +0x564D 0x26025 +0x564E 0x2035E +0x564F 0x26235 +0x5650 0x26234 +0x5651 0x262D1 +0x5652 0x262C4 +0x5653 0x262CA +0x5654 0x262C6 +0x5655 0x262CB +0x5656 0x262CD +0x5657 0x262E2 +0x5658 0x26389 +0x5659 0x2638B +0x565A 0x26386 +0x565B 0x26388 +0x565C 0x2638D +0x565D 0x2643B +0x565E 0x2643C +0x565F 0x2643D +0x5660 0x264F5 +0x5661 0x26579 +0x5662 0x26575 +0x5663 0x26582 +0x5664 0x2657F +0x5665 0x26585 +0x5666 0x26576 +0x5667 0x2657C +0x5668 0x2657E +0x5669 0x2657B +0x566A 0x26580 +0x566B 0x2657A +0x566C 0x22548 +0x566E 0x2661D +0x566F 0x266F6 +0x5670 0x266F7 +0x5671 0x266F9 +0x5672 0x26763 +0x5673 0x2676C +0x5674 0x2676E +0x5675 0x26714 +0x5677 0x26767 +0x5678 0x2676F +0x5679 0x26769 +0x567A 0x26776 +0x567B 0x26795 +0x567C 0x26771 +0x567D 0x26761 +0x567E 0x26778 +0x5721 0x2676B +0x5722 0x26785 +0x5723 0x26784 +0x5724 0x26914 +0x5725 0x26976 +0x5726 0x259B6 +0x5727 0x26975 +0x5728 0x26974 +0x5729 0x269E2 +0x572A 0x26A3F +0x572B 0x26A44 +0x572C 0x26A3D +0x572D 0x26A47 +0x572E 0x26A48 +0x572F 0x26ADB +0x5730 0x26ADC +0x5731 0x26ADD +0x5732 0x26BE5 +0x5733 0x26BE6 +0x5734 0x26CC2 +0x5735 0x26D2E +0x5736 0x26D1D +0x5737 0x26CF8 +0x5738 0x26CF0 +0x5739 0x26CF6 +0x573A 0x26CC5 +0x573B 0x26CC6 +0x573C 0x26CFC +0x573D 0x26D52 +0x573E 0x26D2F +0x573F 0x26D10 +0x5740 0x26CF3 +0x5741 0x26CD2 +0x5742 0x26CEA +0x5743 0x26CDC +0x5744 0x26D1B +0x5745 0x26CFB +0x5746 0x26CC3 +0x5747 0x26D16 +0x5748 0x26D07 +0x5749 0x26CC9 +0x574A 0x26CD8 +0x574B 0x26D30 +0x574C 0x26D13 +0x574D 0x26D31 +0x574E 0x26CFA +0x574F 0x26CF2 +0x5750 0x26DE3 +0x5751 0x26CD5 +0x5752 0x26D01 +0x5753 0x26CF1 +0x5754 0x26D1C +0x5755 0x26CD6 +0x5756 0x26D08 +0x5757 0x26D0B +0x5758 0x26D17 +0x5759 0x26D20 +0x575A 0x26CCA +0x575B 0x26D32 +0x575C 0x26D05 +0x575D 0x26CE4 +0x575E 0x26CCE +0x575F 0x26D33 +0x5760 0x26D02 +0x5761 0x26D19 +0x5762 0x26D1E +0x5763 0x26CD3 +0x5764 0x26CF7 +0x5765 0x26CE8 +0x5766 0x26D1F +0x5767 0x26CF4 +0x5768 0x26DD8 +0x5769 0x271BF +0x576A 0x271BE +0x576B 0x271BD +0x576C 0x272DC +0x576D 0x272DD +0x576E 0x272AB +0x576F 0x272C9 +0x5770 0x272C8 +0x5771 0x272DF +0x5772 0x272D9 +0x5773 0x272DB +0x5774 0x272CC +0x5775 0x272E0 +0x5776 0x272EF +0x5777 0x272F3 +0x5778 0x272AE +0x5779 0x27301 +0x577A 0x275B7 +0x577B 0x275B9 +0x577C 0x275B6 +0x577D 0x275B8 +0x577E 0x275F6 +0x5821 0x275F3 +0x5822 0x275F5 +0x5823 0x275F2 +0x5824 0x27691 +0x5825 0x2769D +0x5826 0x2769B +0x5827 0x27692 +0x5828 0x2768D +0x5829 0x2769E +0x582A 0x2768C +0x582C 0x2F9C7 +0x582D 0x27695 +0x582E 0x2F9C6 +0x582F 0x2768A +0x5830 0x2768E +0x5831 0x2769C +0x5832 0x277EF +0x5833 0x2782D +0x5834 0x27852 +0x5835 0x27835 +0x5836 0x27828 +0x5837 0x2782E +0x5838 0x278E5 +0x5839 0x279EA +0x583A 0x279F1 +0x583B 0x279EB +0x583C 0x279D8 +0x583D 0x279D0 +0x583E 0x279F3 +0x583F 0x279DB +0x5840 0x279CE +0x5842 0x279DA +0x5843 0x279D7 +0x5844 0x279E1 +0x5845 0x279F2 +0x5846 0x279C8 +0x5847 0x279D9 +0x5848 0x279DE +0x5849 0x279D1 +0x584A 0x279E7 +0x584B 0x279CF +0x584C 0x27BB7 +0x584D 0x27C47 +0x584E 0x27C42 +0x584F 0x27C43 +0x5850 0x2F9D3 +0x5851 0x27CC3 +0x5852 0x27CC1 +0x5853 0x27CC7 +0x5854 0x27D64 +0x5855 0x27D6A +0x5856 0x27D66 +0x5857 0x27D50 +0x5858 0x27D6E +0x5859 0x27D65 +0x585A 0x238EC +0x585B 0x27D7F +0x585C 0x2F9D5 +0x585D 0x27D9A +0x585E 0x27D69 +0x585F 0x27D72 +0x5860 0x27D6F +0x5861 0x27D7D +0x5862 0x27D70 +0x5863 0x27E60 +0x5864 0x27EC2 +0x5865 0x27EE7 +0x5866 0x27ED1 +0x5867 0x27EEB +0x5868 0x27ED4 +0x5869 0x27EDC +0x586A 0x27EDB +0x586B 0x28037 +0x586C 0x28025 +0x586D 0x2801F +0x586E 0x2801E +0x586F 0x28021 +0x5870 0x2801B +0x5871 0x28017 +0x5872 0x28022 +0x5873 0x2802A +0x5874 0x2801A +0x5875 0x2802D +0x5876 0x28023 +0x5877 0x28026 +0x5878 0x28036 +0x5879 0x27FFF +0x587A 0x2823A +0x587B 0x28240 +0x587C 0x28242 +0x587D 0x28238 +0x587E 0x2823B +0x5921 0x2823C +0x5922 0x28243 +0x5923 0x282E8 +0x5925 0x282F9 +0x5926 0x282EB +0x5927 0x282F1 +0x5928 0x282E9 +0x5929 0x282EC +0x592A 0x28415 +0x592B 0x28447 +0x592C 0x28446 +0x592D 0x28445 +0x592E 0x28524 +0x592F 0x28556 +0x5930 0x28521 +0x5931 0x28527 +0x5932 0x2854D +0x5933 0x28531 +0x5934 0x2851E +0x5935 0x2852C +0x5936 0x2854F +0x5937 0x2852B +0x5938 0x28553 +0x5939 0x28551 +0x593A 0x28554 +0x593B 0x28529 +0x593C 0x28550 +0x593D 0x2851F +0x593E 0x28532 +0x593F 0x2852A +0x5940 0x2851D +0x5941 0x28528 +0x5942 0x2852E +0x5943 0x2852D +0x5944 0x286BC +0x5945 0x286BB +0x5946 0x286BD +0x5947 0x2F9E4 +0x5948 0x28747 +0x5949 0x28741 +0x594A 0x2F9E5 +0x594B 0x28749 +0x594D 0x2882E +0x594E 0x28827 +0x594F 0x2896A +0x5950 0x2897B +0x5951 0x28973 +0x5952 0x28975 +0x5953 0x28969 +0x5954 0x28979 +0x5955 0x28972 +0x5956 0x28C76 +0x5957 0x28C77 +0x5958 0x28C74 +0x5959 0x28C73 +0x595A 0x28D02 +0x595B 0x28CFE +0x595C 0x28D01 +0x595D 0x28CF9 +0x595E 0x28CF4 +0x595F 0x28ED3 +0x5960 0x28ED5 +0x5961 0x28ED8 +0x5962 0x28EC3 +0x5963 0x28ECA +0x5964 0x28ED0 +0x5965 0x28ECB +0x5966 0x28ECE +0x5967 0x28EC5 +0x5968 0x28EE6 +0x5969 0x28EC4 +0x596A 0x28EC0 +0x596B 0x28ED4 +0x596C 0x28EE8 +0x596D 0x28F76 +0x596E 0x28FA2 +0x596F 0x28FAE +0x5970 0x28FA8 +0x5971 0x28FA3 +0x5972 0x28FA7 +0x5973 0x28F96 +0x5974 0x28FA9 +0x5975 0x28FA5 +0x5976 0x28FAF +0x5977 0x28FA4 +0x5978 0x28FAB +0x5979 0x28FAA +0x597A 0x28FA6 +0x597B 0x28FA0 +0x597C 0x29098 +0x597D 0x291DB +0x597E 0x291F6 +0x5A21 0x291F5 +0x5A22 0x2920C +0x5A23 0x2920A +0x5A25 0x29268 +0x5A26 0x29263 +0x5A27 0x29266 +0x5A29 0x29264 +0x5A2A 0x2926A +0x5A2B 0x29269 +0x5A2C 0x29395 +0x5A2D 0x29402 +0x5A2E 0x2946A +0x5A2F 0x2945E +0x5A30 0x29468 +0x5A31 0x29469 +0x5A32 0x29465 +0x5A33 0x2F9FE +0x5A34 0x295A7 +0x5A35 0x295AE +0x5A36 0x295A8 +0x5A37 0x295B3 +0x5A38 0x2969C +0x5A39 0x296A9 +0x5A3A 0x296B6 +0x5A3B 0x296B3 +0x5A3C 0x296B2 +0x5A3D 0x2FA03 +0x5A3E 0x296B8 +0x5A3F 0x296C0 +0x5A40 0x296BF +0x5A41 0x296BA +0x5A42 0x296A8 +0x5A43 0x2983C +0x5A44 0x29872 +0x5A45 0x29871 +0x5A46 0x29875 +0x5A47 0x29873 +0x5A48 0x29A17 +0x5A49 0x29A15 +0x5A4A 0x29A16 +0x5A4B 0x29A1B +0x5A4C 0x29AFA +0x5A4D 0x29AF9 +0x5A4E 0x29C2C +0x5A4F 0x29C85 +0x5A50 0x29C82 +0x5A51 0x29C7F +0x5A52 0x29C7D +0x5A53 0x29C88 +0x5A54 0x242F3 +0x5A55 0x29D4E +0x5A56 0x29D50 +0x5A57 0x29F93 +0x5A58 0x29F97 +0x5A59 0x29F98 +0x5A5A 0x29F9B +0x5A5B 0x29F9C +0x5A5C 0x29F96 +0x5A5D 0x2A28B +0x5A5E 0x2A2FD +0x5A5F 0x2A2FC +0x5A60 0x2FA17 +0x5A61 0x2398B +0x5A62 0x20108 +0x5A63 0x20107 +0x5A64 0x20373 +0x5A65 0x203A2 +0x5A66 0x203AF +0x5A67 0x20382 +0x5A68 0x2037B +0x5A69 0x20374 +0x5A6A 0x203B0 +0x5A6B 0x20376 +0x5A6C 0x203B9 +0x5A6D 0x2039E +0x5A6E 0x203B1 +0x5A6F 0x203A1 +0x5A70 0x203B2 +0x5A71 0x2036E +0x5A72 0x2F80B +0x5A74 0x20378 +0x5A75 0x2037A +0x5A76 0x20383 +0x5A77 0x2039A +0x5A78 0x204F8 +0x5A79 0x20531 +0x5A7A 0x20569 +0x5A7B 0x20568 +0x5A7C 0x2059C +0x5A7D 0x20604 +0x5A7E 0x20699 +0x5B21 0x207C7 +0x5B22 0x207C6 +0x5B23 0x207DC +0x5B24 0x207C4 +0x5B25 0x207D8 +0x5B26 0x207D4 +0x5B27 0x207DF +0x5B28 0x207D1 +0x5B29 0x207D0 +0x5B2A 0x207D6 +0x5B2B 0x207CF +0x5B2C 0x208AD +0x5B2D 0x208AF +0x5B2E 0x208A7 +0x5B2F 0x208FD +0x5B30 0x2095B +0x5B31 0x2095A +0x5B32 0x20A07 +0x5B33 0x20A9D +0x5B34 0x20A9B +0x5B35 0x20AAB +0x5B36 0x20AA4 +0x5B37 0x20A9C +0x5B38 0x20A9E +0x5B39 0x20AA5 +0x5B3A 0x20AAA +0x5B3B 0x20AA6 +0x5B3C 0x20B0E +0x5B3D 0x20B7E +0x5B3E 0x20B7C +0x5B3F 0x20EEE +0x5B40 0x20ED5 +0x5B41 0x20EE9 +0x5B42 0x20E42 +0x5B43 0x20EE2 +0x5B44 0x20F23 +0x5B45 0x20ED9 +0x5B46 0x20ED4 +0x5B47 0x20EE3 +0x5B48 0x20F15 +0x5B49 0x20EEF +0x5B4A 0x20EF0 +0x5B4B 0x20ED6 +0x5B4C 0x20EDD +0x5B4D 0x20EF6 +0x5B4E 0x20F1C +0x5B4F 0x20ED8 +0x5B50 0x20EDB +0x5B51 0x20EDA +0x5B52 0x20EED +0x5B53 0x21411 +0x5B54 0x21215 +0x5B55 0x21218 +0x5B56 0x2121A +0x5B57 0x2121F +0x5B58 0x21216 +0x5B59 0x2F84D +0x5B5A 0x21219 +0x5B5B 0x2F84B +0x5B5C 0x213F0 +0x5B5D 0x21409 +0x5B5E 0x2141B +0x5B5F 0x27BE7 +0x5B60 0x213F6 +0x5B61 0x213F4 +0x5B62 0x213B5 +0x5B63 0x21410 +0x5B64 0x213F2 +0x5B65 0x21415 +0x5B66 0x213F3 +0x5B67 0x213F8 +0x5B68 0x21539 +0x5B69 0x2153B +0x5B6A 0x21536 +0x5B6B 0x2140E +0x5B6C 0x21572 +0x5B6D 0x21574 +0x5B6E 0x215B9 +0x5B6F 0x215B7 +0x5B70 0x215B8 +0x5B71 0x21672 +0x5B72 0x2166B +0x5B73 0x2181D +0x5B74 0x21837 +0x5B75 0x21822 +0x5B76 0x21843 +0x5B77 0x2184D +0x5B78 0x21838 +0x5B79 0x2185B +0x5B7A 0x21879 +0x5B7B 0x2181B +0x5B7C 0x217F3 +0x5B7D 0x21991 +0x5B7E 0x21A7B +0x5C21 0x21A94 +0x5C22 0x2F86F +0x5C23 0x21A96 +0x5C24 0x21A7F +0x5C25 0x21A8F +0x5C26 0x21A84 +0x5C27 0x21A7C +0x5C28 0x21A8E +0x5C29 0x21A90 +0x5C2A 0x21A98 +0x5C2B 0x21A83 +0x5C2C 0x21A80 +0x5C2D 0x21A93 +0x5C2E 0x21A82 +0x5C30 0x21B3D +0x5C31 0x21B41 +0x5C32 0x21BA1 +0x5C33 0x21B9F +0x5C34 0x21C0A +0x5C35 0x21C0D +0x5C36 0x21CC8 +0x5C37 0x21CC9 +0x5C38 0x21CC7 +0x5C39 0x21CCD +0x5C3A 0x21D25 +0x5C3B 0x21EB1 +0x5C3C 0x21EDC +0x5C3D 0x2F880 +0x5C3E 0x21EE5 +0x5C3F 0x21EF4 +0x5C40 0x21EBF +0x5C41 0x21EDB +0x5C42 0x21EEA +0x5C43 0x21EF2 +0x5C45 0x21EF1 +0x5C46 0x21EED +0x5C47 0x21EE6 +0x5C48 0x22002 +0x5C49 0x2F882 +0x5C4A 0x22125 +0x5C4B 0x22118 +0x5C4C 0x2211F +0x5C4D 0x22120 +0x5C4E 0x221CF +0x5C4F 0x2229D +0x5C50 0x22299 +0x5C51 0x222A8 +0x5C52 0x22368 +0x5C53 0x22366 +0x5C54 0x22367 +0x5C55 0x22391 +0x5C56 0x22413 +0x5C57 0x22415 +0x5C58 0x2241D +0x5C59 0x22416 +0x5C5A 0x22419 +0x5C5B 0x2246B +0x5C5C 0x22468 +0x5C5D 0x2246A +0x5C5E 0x2246D +0x5C5F 0x22469 +0x5C60 0x224AA +0x5C61 0x22557 +0x5C62 0x22552 +0x5C63 0x22550 +0x5C64 0x2255F +0x5C65 0x22567 +0x5C66 0x2254F +0x5C68 0x2255B +0x5C69 0x2255C +0x5C6A 0x2255D +0x5C6B 0x2281F +0x5C6C 0x2279D +0x5C6D 0x227B1 +0x5C6E 0x227B0 +0x5C6F 0x22794 +0x5C70 0x227C3 +0x5C71 0x227AF +0x5C72 0x227A8 +0x5C73 0x227DC +0x5C74 0x22798 +0x5C75 0x227C4 +0x5C76 0x227A4 +0x5C77 0x227AB +0x5C78 0x227AA +0x5C79 0x227A5 +0x5C7A 0x22821 +0x5C7B 0x227EB +0x5C7C 0x227E6 +0x5C7D 0x227F7 +0x5C7E 0x227F8 +0x5D21 0x227FC +0x5D22 0x227FA +0x5D23 0x227E0 +0x5D24 0x2F8AA +0x5D25 0x227F6 +0x5D26 0x2F8A9 +0x5D27 0x227E1 +0x5D28 0x229EC +0x5D29 0x229E2 +0x5D2A 0x229E4 +0x5D2B 0x229F9 +0x5D2C 0x22C6F +0x5D2D 0x23A4C +0x5D2E 0x22CBB +0x5D2F 0x22CE1 +0x5D30 0x22D00 +0x5D31 0x22CD8 +0x5D33 0x22CD6 +0x5D34 0x22CE2 +0x5D35 0x22CC3 +0x5D36 0x22CB3 +0x5D37 0x22CD2 +0x5D38 0x2F8C1 +0x5D39 0x22CCE +0x5D3A 0x22CD0 +0x5D3B 0x22CD5 +0x5D3C 0x22CB9 +0x5D3D 0x22CBA +0x5D3E 0x22CCF +0x5D3F 0x22CBD +0x5D40 0x22EDB +0x5D41 0x22FAA +0x5D42 0x22FAD +0x5D43 0x22FB8 +0x5D44 0x22FB6 +0x5D45 0x22FB5 +0x5D46 0x22FAF +0x5D47 0x22FB4 +0x5D48 0x22FB7 +0x5D49 0x22FA8 +0x5D4A 0x22FB9 +0x5D4B 0x22FBE +0x5D4C 0x23082 +0x5D4D 0x230BC +0x5D4E 0x230B8 +0x5D4F 0x230B6 +0x5D50 0x230B9 +0x5D52 0x23110 +0x5D53 0x23227 +0x5D54 0x23269 +0x5D55 0x23270 +0x5D56 0x23256 +0x5D57 0x2326B +0x5D58 0x2327A +0x5D59 0x2326C +0x5D5A 0x2326D +0x5D5B 0x2F8D5 +0x5D5C 0x267C1 +0x5D5D 0x2338D +0x5D5E 0x23390 +0x5D5F 0x235B6 +0x5D60 0x23610 +0x5D61 0x23612 +0x5D62 0x235BA +0x5D63 0x235BD +0x5D64 0x23605 +0x5D65 0x235C2 +0x5D66 0x23607 +0x5D67 0x235F5 +0x5D68 0x2F8E9 +0x5D69 0x235AF +0x5D6A 0x235F4 +0x5D6B 0x235F7 +0x5D6C 0x235F8 +0x5D6D 0x23611 +0x5D6E 0x238F6 +0x5D6F 0x238F5 +0x5D70 0x238FB +0x5D71 0x23901 +0x5D72 0x23900 +0x5D73 0x23902 +0x5D74 0x238FE +0x5D75 0x238FA +0x5D76 0x238FD +0x5D78 0x23A37 +0x5D79 0x23A49 +0x5D7A 0x23A4B +0x5D7B 0x23A46 +0x5D7C 0x23A47 +0x5D7D 0x23AB3 +0x5D7E 0x23AB2 +0x5E21 0x23AB0 +0x5E22 0x23AB7 +0x5E23 0x23B11 +0x5E24 0x23BCC +0x5E25 0x23BDF +0x5E26 0x23BD3 +0x5E27 0x23BD5 +0x5E28 0x23BDB +0x5E29 0x23BC5 +0x5E2A 0x23BC8 +0x5E2B 0x23BC9 +0x5E2C 0x23BE2 +0x5E2D 0x23BCA +0x5E2E 0x23BD1 +0x5E2F 0x23BD2 +0x5E30 0x23BDD +0x5E31 0x23E6C +0x5E32 0x23E73 +0x5E33 0x23F21 +0x5E34 0x23EF0 +0x5E35 0x23F1F +0x5E36 0x23F3B +0x5E37 0x23F22 +0x5E38 0x23F23 +0x5E39 0x23EE8 +0x5E3A 0x23EDD +0x5E3C 0x23F1B +0x5E3D 0x23EED +0x5E3E 0x2F90E +0x5E3F 0x23EF2 +0x5E41 0x23EDC +0x5E42 0x23EE9 +0x5E43 0x23F1D +0x5E44 0x23EDA +0x5E45 0x23EE6 +0x5E46 0x24313 +0x5E47 0x24315 +0x5E48 0x24316 +0x5E49 0x2433C +0x5E4A 0x2430B +0x5E4B 0x2431C +0x5E4C 0x2433A +0x5E4D 0x2433D +0x5E4E 0x2439A +0x5E4F 0x2431D +0x5E50 0x24309 +0x5E51 0x24308 +0x5E52 0x2433B +0x5E53 0x24522 +0x5E54 0x24526 +0x5E55 0x24525 +0x5E56 0x24524 +0x5E57 0x2039B +0x5E58 0x2458F +0x5E59 0x24590 +0x5E5A 0x245E6 +0x5E5B 0x245E3 +0x5E5C 0x245E5 +0x5E5D 0x24611 +0x5E5E 0x2F925 +0x5E5F 0x246AE +0x5E60 0x246BE +0x5E61 0x246B4 +0x5E62 0x246B3 +0x5E63 0x246AF +0x5E64 0x24691 +0x5E65 0x246C2 +0x5E66 0x246B6 +0x5E67 0x246B2 +0x5E68 0x24857 +0x5E69 0x2483B +0x5E6A 0x24858 +0x5E6B 0x24851 +0x5E6C 0x24841 +0x5E6D 0x24839 +0x5E6F 0x24859 +0x5E70 0x24845 +0x5E71 0x24861 +0x5E72 0x248E8 +0x5E73 0x249FA +0x5E74 0x249EA +0x5E75 0x249EF +0x5E76 0x249F2 +0x5E77 0x249F0 +0x5E78 0x24B08 +0x5E79 0x24B70 +0x5E7A 0x24B6A +0x5E7B 0x24B73 +0x5E7C 0x24B68 +0x5E7D 0x24BC8 +0x5E7E 0x24BF2 +0x5F21 0x20B7B +0x5F22 0x24CAE +0x5F23 0x24CAB +0x5F24 0x24CB5 +0x5F25 0x24CAF +0x5F26 0x24CB2 +0x5F27 0x24CB6 +0x5F28 0x24CB0 +0x5F29 0x24D1E +0x5F2A 0x24E03 +0x5F2B 0x24E06 +0x5F2C 0x24E1F +0x5F2E 0x24E0F +0x5F2F 0x24E02 +0x5F30 0x24E19 +0x5F31 0x24E18 +0x5F32 0x24E22 +0x5F33 0x24E15 +0x5F34 0x24E07 +0x5F35 0x24E0D +0x5F36 0x24E24 +0x5F37 0x24E0C +0x5F38 0x24E1E +0x5F39 0x24F89 +0x5F3A 0x24F8A +0x5F3B 0x2500A +0x5F3C 0x2500B +0x5F3D 0x25007 +0x5F3E 0x25004 +0x5F3F 0x25009 +0x5F40 0x25084 +0x5F41 0x25083 +0x5F42 0x25218 +0x5F43 0x25214 +0x5F44 0x25205 +0x5F45 0x25216 +0x5F46 0x2520E +0x5F47 0x25211 +0x5F48 0x25208 +0x5F49 0x2520B +0x5F4A 0x25215 +0x5F4B 0x25085 +0x5F4C 0x25237 +0x5F4D 0x2522A +0x5F4E 0x2520D +0x5F4F 0x2520F +0x5F50 0x2537E +0x5F51 0x25376 +0x5F52 0x25377 +0x5F53 0x253EC +0x5F54 0x254FC +0x5F55 0x25508 +0x5F56 0x254FF +0x5F57 0x25503 +0x5F58 0x25510 +0x5F59 0x25505 +0x5F5A 0x25506 +0x5F5B 0x254FA +0x5F5C 0x256C7 +0x5F5D 0x256C0 +0x5F5E 0x256C3 +0x5F5F 0x256A7 +0x5F60 0x256A8 +0x5F61 0x256AB +0x5F62 0x256C1 +0x5F63 0x256AA +0x5F64 0x256C8 +0x5F65 0x25743 +0x5F66 0x25802 +0x5F67 0x2580E +0x5F68 0x25801 +0x5F69 0x257FE +0x5F6A 0x25803 +0x5F6C 0x25822 +0x5F6D 0x25821 +0x5F6E 0x25807 +0x5F6F 0x25808 +0x5F70 0x2580C +0x5F71 0x259CA +0x5F72 0x259BC +0x5F73 0x259BE +0x5F74 0x259BD +0x5F75 0x2F95C +0x5F76 0x259BB +0x5F77 0x259B9 +0x5F79 0x259C5 +0x5F7A 0x25A99 +0x5F7B 0x25B6B +0x5F7C 0x25B93 +0x5F7D 0x25B94 +0x5F7E 0x25BA9 +0x6021 0x25BA0 +0x6022 0x25BA6 +0x6023 0x2F961 +0x6024 0x25BAB +0x6025 0x25B9E +0x6026 0x25B9B +0x6027 0x25B91 +0x6028 0x25B99 +0x6029 0x25EB6 +0x602A 0x25EB8 +0x602B 0x25E9A +0x602D 0x25E98 +0x602E 0x25E9B +0x602F 0x25EB3 +0x6030 0x25EA2 +0x6031 0x222AA +0x6032 0x25EA0 +0x6033 0x25E9F +0x6034 0x2605B +0x6035 0x26070 +0x6036 0x26054 +0x6037 0x26071 +0x6038 0x26065 +0x6039 0x26051 +0x603A 0x2609D +0x603B 0x26061 +0x603C 0x2605A +0x603D 0x26074 +0x603E 0x2604C +0x603F 0x2604B +0x6040 0x2605E +0x6041 0x26058 +0x6042 0x26053 +0x6043 0x26052 +0x6044 0x2623B +0x6045 0x26239 +0x6046 0x262D6 +0x6047 0x262E7 +0x6048 0x262D7 +0x6049 0x262D8 +0x604A 0x262D9 +0x604B 0x262DA +0x604C 0x262DB +0x604D 0x262DC +0x604E 0x262E0 +0x604F 0x262E4 +0x6050 0x262DD +0x6051 0x262F5 +0x6052 0x262F1 +0x6053 0x26398 +0x6054 0x2639D +0x6055 0x26399 +0x6056 0x26450 +0x6057 0x26449 +0x6059 0x26462 +0x605A 0x264D7 +0x605B 0x26501 +0x605C 0x264F7 +0x605D 0x2F97D +0x605E 0x2658C +0x605F 0x2659C +0x6061 0x2661F +0x6062 0x2661E +0x6063 0x2673D +0x6064 0x2673F +0x6065 0x26711 +0x6066 0x26759 +0x6067 0x2673E +0x6068 0x26758 +0x6069 0x26800 +0x606A 0x2679E +0x606B 0x267B6 +0x606C 0x267AA +0x606D 0x267AF +0x606E 0x267AC +0x6070 0x267C0 +0x6071 0x267A9 +0x6072 0x20B10 +0x6073 0x268EE +0x6074 0x26977 +0x6075 0x26979 +0x6076 0x2697A +0x6077 0x2697D +0x6078 0x2697F +0x6079 0x26983 +0x607A 0x26978 +0x607B 0x2697E +0x607C 0x269E4 +0x607D 0x269E6 +0x607E 0x269E5 +0x6122 0x26A4E +0x6123 0x26A59 +0x6125 0x2F98E +0x6126 0x26A4F +0x6127 0x26A4A +0x6128 0x26AE3 +0x6129 0x26ADE +0x612A 0x26AE2 +0x612B 0x26C74 +0x612C 0x26CAC +0x612D 0x26C61 +0x612E 0x26C62 +0x612F 0x26C76 +0x6130 0x26C7A +0x6131 0x26C79 +0x6132 0x26C60 +0x6133 0x26D64 +0x6134 0x26E81 +0x6135 0x26DDF +0x6136 0x26D84 +0x6137 0x26D8A +0x6138 0x26D92 +0x6139 0x26D79 +0x613A 0x26DDE +0x613B 0x26D98 +0x613C 0x26D6C +0x613D 0x26DE1 +0x613E 0x2F9A5 +0x613F 0x26D7C +0x6140 0x26D72 +0x6141 0x26D81 +0x6142 0x26DE0 +0x6143 0x26D65 +0x6145 0x26D6A +0x6146 0x26D97 +0x6147 0x26DAA +0x6148 0x26DD3 +0x6149 0x26DAB +0x614A 0x26D6E +0x614B 0x26DAC +0x614C 0x26D76 +0x614D 0x26D7B +0x614E 0x26DAD +0x614F 0x2F9A6 +0x6150 0x26D94 +0x6151 0x26DD7 +0x6152 0x26D70 +0x6153 0x26DD5 +0x6154 0x26DF1 +0x6155 0x26D7A +0x6156 0x26D68 +0x6157 0x26D96 +0x6159 0x26D73 +0x615A 0x26DAE +0x615B 0x26DDD +0x615C 0x26DDA +0x615D 0x26DAF +0x615E 0x26DB0 +0x615F 0x26DDB +0x6160 0x26D62 +0x6161 0x26DF8 +0x6162 0x271C2 +0x6163 0x271C7 +0x6164 0x271C8 +0x6165 0x271C5 +0x6166 0x271C3 +0x6167 0x271C6 +0x6168 0x272DE +0x616A 0x27311 +0x616B 0x27315 +0x616C 0x27328 +0x616D 0x27321 +0x616E 0x2732D +0x616F 0x27351 +0x6170 0x2732B +0x6171 0x27316 +0x6172 0x27324 +0x6173 0x27335 +0x6174 0x2731F +0x6175 0x27312 +0x6176 0x27310 +0x6177 0x27380 +0x6178 0x2733B +0x6179 0x27329 +0x617A 0x2732A +0x617B 0x2731B +0x617C 0x27318 +0x617D 0x27320 +0x617E 0x2733F +0x6221 0x2731C +0x6222 0x27326 +0x6223 0x2730B +0x6224 0x275BE +0x6225 0x275C4 +0x6226 0x275BD +0x6227 0x275FA +0x6228 0x275FB +0x6229 0x276B1 +0x622A 0x276B2 +0x622B 0x276B0 +0x622C 0x276B9 +0x622D 0x276A6 +0x622E 0x276BD +0x622F 0x276B6 +0x6230 0x276B8 +0x6231 0x276B4 +0x6232 0x276B3 +0x6233 0x276A7 +0x6234 0x276AE +0x6235 0x276BC +0x6236 0x277F2 +0x6237 0x277F3 +0x6238 0x277F4 +0x6239 0x2783B +0x623A 0x27840 +0x623B 0x27846 +0x623C 0x278F0 +0x623D 0x278EE +0x623E 0x278E8 +0x623F 0x278F1 +0x6240 0x278EB +0x6241 0x278EF +0x6242 0x279FC +0x6243 0x27A20 +0x6244 0x27A09 +0x6245 0x27A06 +0x6246 0x27A03 +0x6247 0x2F9CF +0x6248 0x27A19 +0x6249 0x27A24 +0x624A 0x27A1B +0x624B 0x27A1D +0x624C 0x279FD +0x624D 0x27A1E +0x624E 0x279F4 +0x624F 0x27A01 +0x6250 0x27A08 +0x6251 0x27A05 +0x6252 0x27A23 +0x6253 0x279FF +0x6254 0x27BEA +0x6255 0x27C4D +0x6256 0x27C4E +0x6257 0x27C56 +0x6258 0x27C57 +0x6259 0x27C51 +0x625A 0x27C55 +0x625B 0x27C54 +0x625C 0x27CCB +0x625D 0x27CD4 +0x625E 0x27CD1 +0x625F 0x27CCF +0x6260 0x27CD2 +0x6261 0x27CCA +0x6262 0x27CD6 +0x6263 0x27D8B +0x6264 0x27D88 +0x6265 0x27D85 +0x6266 0x27D89 +0x6267 0x21A9B +0x6268 0x27DBB +0x6269 0x27D8C +0x626B 0x27D99 +0x626C 0x27D8A +0x626D 0x27EEC +0x626E 0x27EEF +0x626F 0x27EF9 +0x6270 0x27F09 +0x6271 0x27EF8 +0x6272 0x27EF3 +0x6273 0x27F00 +0x6274 0x27F1D +0x6276 0x27EFD +0x6277 0x28048 +0x6278 0x2805C +0x6279 0x28055 +0x627A 0x2805E +0x627B 0x28049 +0x627C 0x28063 +0x627D 0x28060 +0x627E 0x28053 +0x6321 0x28062 +0x6322 0x28040 +0x6323 0x28249 +0x6324 0x2824A +0x6325 0x2824C +0x6326 0x2824D +0x6327 0x2830A +0x6328 0x28306 +0x6329 0x2832F +0x632A 0x28321 +0x632B 0x28307 +0x632C 0x28309 +0x632D 0x28302 +0x632E 0x28316 +0x632F 0x28303 +0x6330 0x2830B +0x6331 0x2830F +0x6332 0x28560 +0x6333 0x28568 +0x6334 0x2855E +0x6335 0x2855D +0x6336 0x28563 +0x6337 0x2855F +0x6338 0x28564 +0x6339 0x28578 +0x633A 0x28561 +0x633B 0x28569 +0x633C 0x28565 +0x633D 0x286DA +0x633E 0x286E6 +0x633F 0x286DB +0x6340 0x286DC +0x6341 0x28739 +0x6342 0x28757 +0x6343 0x28755 +0x6344 0x28765 +0x6345 0x28761 +0x6346 0x28754 +0x6347 0x28845 +0x6348 0x28841 +0x6349 0x2883E +0x634A 0x28837 +0x634B 0x28912 +0x634C 0x28913 +0x634D 0x2892C +0x634E 0x28996 +0x634F 0x2F9E9 +0x6350 0x2899C +0x6351 0x2899D +0x6352 0x28985 +0x6353 0x2F9E8 +0x6354 0x2899F +0x6355 0x289A3 +0x6356 0x28C82 +0x6357 0x28C83 +0x6358 0x2F9EE +0x6359 0x28D1D +0x635A 0x28D14 +0x635B 0x28D1F +0x635C 0x28D20 +0x635D 0x28E47 +0x635E 0x28E80 +0x635F 0x28EC9 +0x6360 0x28EF9 +0x6361 0x28F06 +0x6362 0x28EF0 +0x6363 0x28EF8 +0x6364 0x28EEF +0x6365 0x28EFD +0x6366 0x28EF1 +0x6367 0x28EFE +0x6368 0x28FB8 +0x6369 0x28FC0 +0x636A 0x28FC3 +0x636B 0x28FB5 +0x636C 0x28FB6 +0x636D 0x28FC9 +0x636E 0x2F9F3 +0x636F 0x28FBD +0x6370 0x28FBA +0x6371 0x28FBF +0x6372 0x28FB3 +0x6373 0x28FC6 +0x6374 0x28FB2 +0x6375 0x28FBC +0x6376 0x28FB7 +0x6377 0x28FB9 +0x6378 0x28FC8 +0x6379 0x290B5 +0x637A 0x290B3 +0x637C 0x290AC +0x637D 0x290A9 +0x637E 0x290AD +0x6421 0x29211 +0x6422 0x2920D +0x6423 0x29216 +0x6424 0x29289 +0x6425 0x2927C +0x6426 0x2928B +0x6427 0x2927B +0x6428 0x29288 +0x6429 0x29284 +0x642A 0x2939D +0x642B 0x29398 +0x642C 0x29488 +0x642D 0x29486 +0x642E 0x29482 +0x642F 0x2948B +0x6430 0x2F9FF +0x6431 0x29471 +0x6432 0x29472 +0x6433 0x29481 +0x6434 0x2948C +0x6435 0x29480 +0x6436 0x29489 +0x6437 0x295BB +0x6438 0x295C1 +0x6439 0x295BE +0x643A 0x2FA01 +0x643B 0x295BD +0x643C 0x296C1 +0x643D 0x296B4 +0x643E 0x296B7 +0x643F 0x296C8 +0x6441 0x296D3 +0x6442 0x296D0 +0x6443 0x296B0 +0x6444 0x296CA +0x6445 0x296CD +0x6446 0x29815 +0x6447 0x29819 +0x6448 0x29817 +0x6449 0x2983F +0x644A 0x29840 +0x644B 0x29844 +0x644C 0x2987C +0x644D 0x29878 +0x644E 0x29879 +0x644F 0x29888 +0x6450 0x2FA06 +0x6451 0x29889 +0x6452 0x2987D +0x6453 0x29A23 +0x6454 0x29A24 +0x6455 0x29A26 +0x6456 0x29A22 +0x6457 0x29A27 +0x6458 0x29A1F +0x6459 0x29AC9 +0x645A 0x29AC3 +0x645B 0x29B0A +0x645C 0x29B0B +0x645D 0x29B04 +0x645F 0x29B03 +0x6460 0x29B01 +0x6461 0x29B09 +0x6462 0x29C0F +0x6463 0x29C2E +0x6464 0x29C2D +0x6465 0x29C91 +0x6466 0x29C99 +0x6467 0x29C9E +0x6468 0x29C90 +0x6469 0x29C94 +0x646A 0x29C9D +0x646B 0x29C98 +0x646C 0x29C9B +0x646D 0x29C9C +0x646E 0x29C9A +0x646F 0x29D54 +0x6470 0x29F9D +0x6471 0x29F9F +0x6472 0x29FA3 +0x6473 0x29FA4 +0x6474 0x29FA5 +0x6475 0x2A302 +0x6476 0x2A417 +0x6477 0x2A41B +0x6478 0x2A419 +0x6479 0x2A4D1 +0x647A 0x21537 diff --git a/test/sun/nio/cs/SurrogateTestEUCTW.plane7.surrogates b/test/sun/nio/cs/SurrogateTestEUCTW.plane7.surrogates new file mode 100644 index 000000000..1ce4ff48d --- /dev/null +++ b/test/sun/nio/cs/SurrogateTestEUCTW.plane7.surrogates @@ -0,0 +1,6388 @@ +0x2121 0x20055 +0x2122 0x20182 +0x2123 0x20189 +0x2124 0x20187 +0x2125 0x203BE +0x2126 0x203BD +0x2127 0x203CA +0x2128 0x203D4 +0x2129 0x203BC +0x212A 0x203C4 +0x212B 0x203C1 +0x212C 0x203C2 +0x212D 0x203D7 +0x212E 0x20370 +0x212F 0x203BA +0x2130 0x203E3 +0x2131 0x203BB +0x2132 0x204B1 +0x2133 0x204B6 +0x2134 0x204B0 +0x2135 0x2056C +0x2136 0x2060D +0x2137 0x20607 +0x2138 0x207F1 +0x2139 0x207F5 +0x213A 0x207ED +0x213B 0x207EF +0x213C 0x207EB +0x213D 0x207EC +0x213E 0x207EE +0x213F 0x20807 +0x2140 0x209C4 +0x2141 0x20A08 +0x2142 0x20AB3 +0x2143 0x20AAD +0x2144 0x20AB0 +0x2145 0x20B11 +0x2146 0x2018A +0x2147 0x20F83 +0x2148 0x20F7A +0x2149 0x20F82 +0x214A 0x20F68 +0x214B 0x20F71 +0x214C 0x20FB0 +0x214D 0x20FAF +0x214F 0x20F6C +0x2150 0x20F6F +0x2151 0x20F62 +0x2152 0x20F65 +0x2153 0x20F81 +0x2154 0x20F7F +0x2155 0x20F64 +0x2156 0x20F73 +0x2157 0x20F6E +0x2158 0x20F67 +0x2159 0x20F74 +0x215A 0x20F7D +0x215B 0x20F78 +0x215C 0x20F85 +0x215D 0x20FAA +0x215E 0x20F88 +0x215F 0x20FA6 +0x2160 0x2F84E +0x2161 0x20F8A +0x2162 0x20F84 +0x2164 0x21224 +0x2165 0x21222 +0x2166 0x21223 +0x2167 0x21432 +0x2168 0x2145B +0x2169 0x2144F +0x216B 0x21426 +0x216C 0x2143E +0x216D 0x21442 +0x216E 0x21447 +0x216F 0x21422 +0x2170 0x2069B +0x2171 0x2144A +0x2172 0x2141F +0x2173 0x21449 +0x2174 0x2142B +0x2175 0x21433 +0x2176 0x2F858 +0x2177 0x2142A +0x2178 0x21428 +0x2179 0x2153D +0x217A 0x2153C +0x217B 0x215BF +0x217C 0x21679 +0x217D 0x21680 +0x217E 0x2167C +0x2221 0x2167A +0x2222 0x21678 +0x2223 0x21882 +0x2224 0x2185C +0x2225 0x2185A +0x2226 0x2184B +0x2227 0x2187C +0x2228 0x2187F +0x2229 0x2181F +0x222A 0x21889 +0x222B 0x2188B +0x222C 0x21857 +0x222D 0x2187E +0x222E 0x2187D +0x222F 0x21853 +0x2230 0x21A9F +0x2231 0x21ABC +0x2232 0x21AA5 +0x2233 0x21A86 +0x2234 0x21ADC +0x2235 0x21AA4 +0x2236 0x21AB6 +0x2237 0x21AA2 +0x2238 0x21AB4 +0x2239 0x21B48 +0x223A 0x21B46 +0x223B 0x21BA7 +0x223C 0x21C14 +0x223D 0x21C12 +0x223E 0x21C11 +0x223F 0x21CE1 +0x2240 0x21CD0 +0x2241 0x21D26 +0x2242 0x21D28 +0x2243 0x21D29 +0x2244 0x21F2F +0x2245 0x21F0D +0x2246 0x21F25 +0x2247 0x21F14 +0x2248 0x21F3C +0x2249 0x21F0B +0x224A 0x21F11 +0x224B 0x21F30 +0x224C 0x21F18 +0x224D 0x21F19 +0x224E 0x21F36 +0x224F 0x21F17 +0x2250 0x21F10 +0x2251 0x21F15 +0x2252 0x22003 +0x2253 0x22029 +0x2254 0x2204C +0x2255 0x2213F +0x2256 0x2213E +0x2257 0x22134 +0x2258 0x22142 +0x2259 0x22135 +0x225A 0x207F3 +0x225B 0x221CD +0x225C 0x221D1 +0x225D 0x221D2 +0x225E 0x222AD +0x225F 0x222BA +0x2260 0x222C1 +0x2261 0x222BB +0x2262 0x222B4 +0x2263 0x222BC +0x2264 0x2236C +0x2265 0x22392 +0x2266 0x22421 +0x2267 0x22424 +0x2268 0x23F19 +0x2269 0x224AD +0x226A 0x224AE +0x226B 0x224AB +0x226C 0x224AC +0x226D 0x22570 +0x226E 0x22576 +0x226F 0x22571 +0x2270 0x22577 +0x2272 0x227EC +0x2273 0x2281C +0x2274 0x227FB +0x2275 0x227EE +0x2276 0x228E2 +0x2277 0x227FD +0x2278 0x2281E +0x2279 0x2283B +0x227A 0x2284A +0x227B 0x2F8AE +0x227D 0x2287D +0x227E 0x22856 +0x2321 0x22844 +0x2322 0x2284B +0x2323 0x229FA +0x2324 0x229E8 +0x2325 0x229F8 +0x2326 0x229FF +0x2327 0x229F7 +0x2328 0x229F6 +0x2329 0x229FE +0x232A 0x22A07 +0x232B 0x22A5D +0x232C 0x22CD4 +0x232D 0x2F8C3 +0x232E 0x22CC8 +0x232F 0x22CC5 +0x2330 0x2F8C0 +0x2331 0x22CC9 +0x2332 0x22D4D +0x2333 0x22D20 +0x2334 0x22D36 +0x2335 0x22D35 +0x2336 0x22D88 +0x2337 0x22D25 +0x2338 0x22D21 +0x2339 0x22D26 +0x233B 0x22D3F +0x233C 0x22D3B +0x233D 0x22D24 +0x233E 0x22D43 +0x233F 0x22D4E +0x2340 0x22D4F +0x2341 0x22D44 +0x2342 0x22D40 +0x2343 0x22D41 +0x2344 0x22D39 +0x2345 0x22D2B +0x2346 0x22EDD +0x2347 0x22EDE +0x2348 0x22FCD +0x2349 0x22FCB +0x234A 0x22FDB +0x234B 0x22FD8 +0x234C 0x22FD9 +0x234D 0x22FD2 +0x234E 0x22FCA +0x234F 0x22FD1 +0x2350 0x22FD4 +0x2351 0x22FF9 +0x2352 0x22FD0 +0x2353 0x2305E +0x2354 0x2305D +0x2355 0x2308A +0x2356 0x23114 +0x2357 0x23283 +0x2358 0x23284 +0x2359 0x2329B +0x235A 0x23282 +0x235B 0x2327D +0x235C 0x2327C +0x235D 0x23299 +0x235E 0x2327E +0x235F 0x2329A +0x2360 0x23295 +0x2361 0x2327B +0x2362 0x23286 +0x2363 0x23348 +0x2364 0x23392 +0x2365 0x235B2 +0x2366 0x23642 +0x2367 0x23672 +0x2368 0x23615 +0x2369 0x23630 +0x236A 0x23643 +0x236B 0x2365B +0x236C 0x2361D +0x236D 0x23673 +0x236E 0x2362D +0x2370 0x23621 +0x2371 0x2361C +0x2372 0x2F8EA +0x2373 0x23629 +0x2374 0x2361E +0x2375 0x23633 +0x2376 0x23910 +0x2377 0x2390E +0x2378 0x2F8F1 +0x2379 0x2390D +0x237A 0x23911 +0x237B 0x23912 +0x237C 0x23917 +0x237D 0x23909 +0x237E 0x2390F +0x2421 0x23998 +0x2422 0x23994 +0x2423 0x23996 +0x2424 0x23999 +0x2425 0x23995 +0x2426 0x23997 +0x2427 0x23A50 +0x2428 0x23A52 +0x2429 0x23A4D +0x242A 0x23A57 +0x242B 0x23A53 +0x242C 0x23A56 +0x242D 0x23AB8 +0x242E 0x23B12 +0x242F 0x23BF1 +0x2430 0x23BF0 +0x2431 0x23BEE +0x2432 0x23BEF +0x2433 0x23BE5 +0x2434 0x23BEB +0x2435 0x23BE7 +0x2436 0x23BF2 +0x2437 0x23BE6 +0x2438 0x23BF7 +0x2439 0x23C09 +0x243A 0x23C6B +0x243B 0x23C6A +0x243C 0x23E79 +0x243D 0x23ECD +0x243E 0x23EEF +0x243F 0x23EE4 +0x2440 0x23EE3 +0x2441 0x23F6C +0x2442 0x23F67 +0x2443 0x23F62 +0x2444 0x23F58 +0x2445 0x23F69 +0x2446 0x23FAB +0x2447 0x23F57 +0x2448 0x23FAD +0x2449 0x23F54 +0x244A 0x23FAE +0x244B 0x23F76 +0x244C 0x23F49 +0x244D 0x23F45 +0x244E 0x23F4F +0x244F 0x2F90F +0x2450 0x23F50 +0x2451 0x23F7D +0x2452 0x23F44 +0x2453 0x23F66 +0x2454 0x23F48 +0x2455 0x23FA3 +0x2456 0x23F51 +0x2457 0x23F53 +0x2458 0x2F910 +0x2459 0x23F60 +0x245A 0x23F47 +0x245B 0x23F5E +0x245C 0x23F85 +0x245D 0x23FAC +0x245E 0x23F6D +0x245F 0x23F75 +0x2460 0x23FA8 +0x2462 0x23F43 +0x2463 0x23F4E +0x2464 0x23F5C +0x2465 0x23F56 +0x2466 0x23F6E +0x2467 0x23F63 +0x2468 0x23F6A +0x2469 0x24356 +0x246A 0x24312 +0x246B 0x2435C +0x246C 0x24358 +0x246D 0x24355 +0x246E 0x2437E +0x246F 0x243A8 +0x2470 0x24311 +0x2471 0x24359 +0x2472 0x2435A +0x2473 0x24367 +0x2474 0x24354 +0x2475 0x2435B +0x2476 0x243F0 +0x2477 0x24529 +0x2478 0x2452C +0x2479 0x2452A +0x247A 0x24527 +0x247B 0x24567 +0x247C 0x24568 +0x247D 0x24593 +0x247E 0x24595 +0x2521 0x2459A +0x2522 0x245EE +0x2523 0x245F1 +0x2524 0x245ED +0x2525 0x245E9 +0x2526 0x246CB +0x2527 0x246DF +0x2528 0x246DB +0x2529 0x2483C +0x252A 0x2484E +0x252B 0x2486C +0x252C 0x2487B +0x252D 0x2487C +0x252E 0x24883 +0x252F 0x2486B +0x2530 0x24866 +0x2531 0x24863 +0x2532 0x248A0 +0x2533 0x24885 +0x2534 0x24868 +0x2535 0x248A2 +0x2536 0x249EC +0x2538 0x249E7 +0x2539 0x24A10 +0x253A 0x24A18 +0x253B 0x24A3A +0x253C 0x24A1A +0x253D 0x24A38 +0x253E 0x24A41 +0x253F 0x24A1B +0x2540 0x24A14 +0x2541 0x24A1C +0x2542 0x24A1D +0x2543 0x24B12 +0x2544 0x24B0D +0x2545 0x24B07 +0x2546 0x24B7E +0x2547 0x24B7F +0x2548 0x20AB9 +0x2549 0x24B80 +0x254A 0x24B7A +0x254B 0x24BF3 +0x254C 0x24CB9 +0x254D 0x24CBB +0x254E 0x24CBA +0x254F 0x24CBD +0x2550 0x24CB7 +0x2551 0x24CBF +0x2552 0x24D21 +0x2553 0x24E3A +0x2554 0x24E3D +0x2555 0x24E36 +0x2556 0x24E49 +0x2557 0x24E81 +0x2559 0x24E3F +0x255A 0x24E4D +0x255B 0x24E3E +0x255D 0x24E30 +0x255E 0x24E4F +0x255F 0x24F37 +0x2560 0x24F98 +0x2561 0x24F99 +0x2562 0x25011 +0x2563 0x2500D +0x2564 0x25088 +0x2565 0x2508A +0x2566 0x2521C +0x2567 0x25255 +0x2568 0x25256 +0x2569 0x25262 +0x256A 0x25257 +0x256B 0x25242 +0x256C 0x25210 +0x256D 0x2524D +0x256E 0x2525A +0x256F 0x25266 +0x2570 0x25246 +0x2571 0x2287E +0x2572 0x2524F +0x2573 0x262F9 +0x2574 0x25387 +0x2575 0x25384 +0x2576 0x253F4 +0x2577 0x253F5 +0x2578 0x253F2 +0x2579 0x253F7 +0x257A 0x25545 +0x257B 0x2F950 +0x257C 0x25549 +0x257D 0x25535 +0x257E 0x254FD +0x2621 0x25530 +0x2622 0x25543 +0x2623 0x25546 +0x2625 0x25533 +0x2626 0x256C6 +0x2627 0x2F956 +0x2628 0x256D4 +0x2629 0x271D8 +0x262A 0x256E0 +0x262B 0x20FA7 +0x262C 0x25744 +0x262D 0x20398 +0x262E 0x25854 +0x262F 0x2583E +0x2630 0x25835 +0x2631 0x2583A +0x2633 0x25834 +0x2634 0x25839 +0x2635 0x25846 +0x2636 0x2585A +0x2637 0x2585B +0x2638 0x2583C +0x2639 0x259DC +0x263A 0x259D6 +0x263B 0x259D0 +0x263C 0x2F95E +0x263D 0x25AAC +0x263E 0x2F95D +0x263F 0x25AA5 +0x2640 0x25BF4 +0x2641 0x25C24 +0x2642 0x25BE0 +0x2643 0x25BFD +0x2644 0x25BF2 +0x2645 0x25BFC +0x2646 0x25C02 +0x2647 0x25BF1 +0x2648 0x25BFF +0x2649 0x25BD2 +0x264A 0x25BD8 +0x264B 0x25BD3 +0x264C 0x25BF9 +0x264D 0x2F963 +0x264E 0x25BED +0x264F 0x25BF7 +0x2650 0x25BF0 +0x2651 0x25BD7 +0x2652 0x25C09 +0x2653 0x25BF5 +0x2654 0x25EC2 +0x2655 0x25EC5 +0x2656 0x25ECF +0x2658 0x25EC1 +0x2659 0x25EC6 +0x265A 0x25ED4 +0x265B 0x25ECE +0x265C 0x2609B +0x265D 0x26099 +0x265E 0x2608F +0x265F 0x260B7 +0x2660 0x26082 +0x2661 0x26093 +0x2662 0x260B4 +0x2663 0x260C1 +0x2664 0x26090 +0x2665 0x2609A +0x2666 0x26094 +0x2667 0x2609C +0x2668 0x260B5 +0x2669 0x2F96F +0x266A 0x2F96E +0x266B 0x2609F +0x266C 0x2608E +0x266D 0x2609E +0x266E 0x2623C +0x266F 0x26247 +0x2670 0x26241 +0x2671 0x262EB +0x2672 0x262EC +0x2673 0x262ED +0x2674 0x262EE +0x2675 0x262DF +0x2676 0x262F2 +0x2677 0x2630D +0x2678 0x2630E +0x2679 0x20186 +0x267A 0x263A9 +0x267B 0x263A4 +0x267C 0x263A5 +0x267D 0x2645F +0x267E 0x2645A +0x2721 0x26466 +0x2722 0x26468 +0x2723 0x2646A +0x2724 0x26464 +0x2725 0x26465 +0x2726 0x264C1 +0x2727 0x264D8 +0x2728 0x2F97B +0x2729 0x264D9 +0x272A 0x26509 +0x272B 0x265AA +0x272C 0x265A3 +0x272D 0x265B9 +0x272E 0x259E2 +0x272F 0x265A5 +0x2730 0x265AB +0x2731 0x26620 +0x2732 0x26789 +0x2733 0x2678B +0x2734 0x267DB +0x2735 0x267E4 +0x2736 0x267EF +0x2737 0x267E2 +0x2738 0x267E9 +0x2739 0x267F0 +0x273A 0x267F3 +0x273B 0x267DD +0x273C 0x2681E +0x273D 0x2691D +0x273E 0x26946 +0x273F 0x2697C +0x2740 0x26980 +0x2741 0x26981 +0x2742 0x26982 +0x2743 0x26987 +0x2744 0x26988 +0x2745 0x2698A +0x2746 0x2698C +0x2747 0x269E7 +0x2748 0x269EB +0x2749 0x269EA +0x274A 0x26A68 +0x274B 0x26A6B +0x274C 0x26A69 +0x274D 0x26A66 +0x274E 0x26A6A +0x274F 0x26A65 +0x2750 0x26AE5 +0x2751 0x26AE4 +0x2752 0x26AE6 +0x2753 0x26D18 +0x2754 0x26E24 +0x2755 0x26E48 +0x2756 0x26E2F +0x2757 0x26E7E +0x2758 0x26D89 +0x2759 0x26E1E +0x275A 0x26E49 +0x275B 0x26E26 +0x275C 0x26E09 +0x275D 0x26E34 +0x275E 0x26E2D +0x275F 0x26E4A +0x2760 0x26E15 +0x2761 0x2F9A9 +0x2762 0x26E33 +0x2763 0x26E28 +0x2764 0x26E27 +0x2765 0x26E20 +0x2766 0x26E2B +0x2767 0x26E29 +0x2768 0x26E6A +0x2769 0x26E0B +0x276A 0x26E0E +0x276B 0x26E1C +0x276C 0x26DFF +0x276D 0x2F9AA +0x276E 0x26E35 +0x276F 0x26E11 +0x2770 0x26E4B +0x2771 0x26E4C +0x2772 0x26E1F +0x2773 0x26E0F +0x2774 0x26E39 +0x2775 0x26E68 +0x2776 0x26E1D +0x2777 0x26E08 +0x2778 0x26E0C +0x2779 0x26E0D +0x277A 0x26E62 +0x277B 0x26EAF +0x277C 0x26E32 +0x277D 0x26E2C +0x277E 0x26E64 +0x2821 0x26E04 +0x2822 0x26E16 +0x2823 0x26E4D +0x2824 0x26E07 +0x2825 0x26EAE +0x2826 0x271D4 +0x2827 0x271D1 +0x2828 0x271D5 +0x2829 0x271D0 +0x282A 0x27371 +0x282B 0x2735D +0x282C 0x2735B +0x282D 0x2737A +0x282E 0x2F9BD +0x282F 0x2737F +0x2830 0x27379 +0x2831 0x27367 +0x2832 0x2739E +0x2833 0x27394 +0x2834 0x27364 +0x2835 0x2735E +0x2836 0x27381 +0x2837 0x2735A +0x2838 0x27357 +0x2839 0x2737C +0x283A 0x27398 +0x283B 0x27366 +0x283C 0x2737E +0x283D 0x27382 +0x283E 0x27368 +0x283F 0x2735F +0x2840 0x27363 +0x2841 0x27397 +0x2843 0x27353 +0x2844 0x2737B +0x2845 0x2737D +0x2846 0x27378 +0x2847 0x27406 +0x2848 0x275C0 +0x2849 0x275C2 +0x284A 0x275C3 +0x284B 0x276DC +0x284C 0x276E6 +0x284D 0x276EC +0x284E 0x276F2 +0x284F 0x276E8 +0x2850 0x276EB +0x2851 0x276EA +0x2852 0x276E5 +0x2853 0x276E0 +0x2854 0x276D0 +0x2855 0x276D8 +0x2856 0x276D5 +0x2857 0x276D3 +0x2858 0x276E4 +0x2859 0x276F3 +0x285A 0x276DB +0x285B 0x2772F +0x285C 0x277F9 +0x285D 0x2785D +0x285E 0x2785B +0x285F 0x2784C +0x2860 0x27858 +0x2861 0x27860 +0x2862 0x27853 +0x2863 0x27850 +0x2864 0x27907 +0x2865 0x27908 +0x2866 0x278F4 +0x2867 0x278F6 +0x2868 0x27904 +0x2869 0x278FD +0x286A 0x27905 +0x286B 0x27A28 +0x286C 0x27A56 +0x286D 0x27A42 +0x286E 0x27A5C +0x286F 0x27A3D +0x2870 0x27A2F +0x2871 0x27A2B +0x2872 0x27A58 +0x2873 0x27A61 +0x2874 0x27A2C +0x2875 0x27A51 +0x2876 0x27A50 +0x2877 0x27A3C +0x2878 0x27A36 +0x287A 0x27A60 +0x287B 0x27A5B +0x287C 0x27A2E +0x287D 0x27A40 +0x287E 0x27A5F +0x2921 0x27A26 +0x2922 0x27A2D +0x2923 0x27A5E +0x2924 0x27A3B +0x2925 0x27BEF +0x2926 0x27BF3 +0x2927 0x27BEE +0x2928 0x27BED +0x2929 0x27C5A +0x292A 0x27C62 +0x292B 0x27C5B +0x292C 0x27C5F +0x292D 0x27C5E +0x292E 0x27C64 +0x292F 0x27CE0 +0x2930 0x27CE1 +0x2931 0x27CE5 +0x2932 0x27DA5 +0x2933 0x27D9B +0x2934 0x27D9F +0x2935 0x27D9C +0x2937 0x27DAA +0x2938 0x27DA4 +0x2939 0x27DA3 +0x293A 0x27E67 +0x293B 0x27F26 +0x293C 0x27F1A +0x293E 0x27F1C +0x293F 0x27F15 +0x2940 0x27F1B +0x2941 0x27F18 +0x2942 0x27F1E +0x2943 0x27F25 +0x2944 0x2F9DC +0x2945 0x2807B +0x2946 0x28075 +0x2947 0x28093 +0x2948 0x2808F +0x2949 0x2807C +0x294A 0x2809B +0x294B 0x28088 +0x294C 0x28091 +0x294D 0x2807E +0x294F 0x28086 +0x2950 0x2825B +0x2951 0x28254 +0x2952 0x28335 +0x2953 0x28340 +0x2954 0x28337 +0x2955 0x28329 +0x2956 0x28326 +0x2957 0x28323 +0x2958 0x28330 +0x2959 0x28320 +0x295A 0x28328 +0x295B 0x28332 +0x295C 0x2832A +0x295D 0x28331 +0x295E 0x28324 +0x295F 0x28341 +0x2960 0x28342 +0x2961 0x28343 +0x2962 0x28325 +0x2963 0x28338 +0x2964 0x2841C +0x2965 0x2841D +0x2966 0x2841E +0x2967 0x284F6 +0x2968 0x285A5 +0x2969 0x28589 +0x296A 0x2859D +0x296B 0x2858A +0x296C 0x28587 +0x296D 0x285AB +0x296E 0x28586 +0x296F 0x2859E +0x2970 0x28593 +0x2971 0x285A1 +0x2972 0x28588 +0x2973 0x285A3 +0x2974 0x2859F +0x2975 0x285A0 +0x2976 0x286FF +0x2977 0x28700 +0x2978 0x28702 +0x2979 0x286F8 +0x297A 0x286F7 +0x297B 0x28701 +0x297C 0x28787 +0x297D 0x28789 +0x297E 0x28776 +0x2A21 0x2876E +0x2A22 0x28777 +0x2A23 0x28782 +0x2A24 0x28785 +0x2A25 0x28783 +0x2A26 0x28784 +0x2A27 0x28857 +0x2A28 0x2884B +0x2A29 0x28856 +0x2A2A 0x2885D +0x2A2B 0x28860 +0x2A2C 0x2884D +0x2A2D 0x28855 +0x2A2E 0x28854 +0x2A2F 0x28853 +0x2A30 0x28850 +0x2A31 0x28863 +0x2A32 0x28862 +0x2A33 0x28917 +0x2A34 0x28916 +0x2A35 0x2892D +0x2A36 0x289D9 +0x2A37 0x289BF +0x2A39 0x289B2 +0x2A3A 0x289AC +0x2A3B 0x289B0 +0x2A3C 0x289CF +0x2A3D 0x289B8 +0x2A3F 0x289D3 +0x2A40 0x289B1 +0x2A41 0x289AF +0x2A42 0x289CE +0x2A43 0x289B4 +0x2A44 0x289B7 +0x2A45 0x289D5 +0x2A47 0x28D38 +0x2A48 0x28D28 +0x2A49 0x28D3F +0x2A4A 0x28D40 +0x2A4B 0x28D41 +0x2A4C 0x28D33 +0x2A4D 0x28D2B +0x2A4E 0x28D2E +0x2A4F 0x28F11 +0x2A50 0x28F18 +0x2A51 0x28F17 +0x2A52 0x28F19 +0x2A53 0x28F16 +0x2A55 0x28F0D +0x2A56 0x28F26 +0x2A57 0x28F79 +0x2A58 0x28FD8 +0x2A59 0x28FF3 +0x2A5A 0x28FD7 +0x2A5B 0x28FCC +0x2A5C 0x28FCF +0x2A5D 0x28FCB +0x2A5E 0x28FD1 +0x2A5F 0x28FCE +0x2A60 0x28FD4 +0x2A61 0x28FD5 +0x2A62 0x28FD3 +0x2A63 0x28FD6 +0x2A64 0x28FCD +0x2A65 0x28FDA +0x2A66 0x28FD2 +0x2A67 0x28FDE +0x2A68 0x290CC +0x2A69 0x290B8 +0x2A6A 0x290B7 +0x2A6B 0x290C2 +0x2A6C 0x290C3 +0x2A6D 0x291FA +0x2A6E 0x291F9 +0x2A6F 0x2921F +0x2A70 0x2921D +0x2A71 0x24382 +0x2A72 0x292A6 +0x2A73 0x29290 +0x2A74 0x2929E +0x2A75 0x29298 +0x2A76 0x29293 +0x2A77 0x29292 +0x2A78 0x292A5 +0x2A79 0x29295 +0x2A7A 0x293A9 +0x2A7B 0x293A8 +0x2A7C 0x293AA +0x2A7D 0x293AB +0x2A7E 0x293AC +0x2B21 0x2941F +0x2B22 0x29422 +0x2B23 0x294AA +0x2B24 0x29496 +0x2B25 0x29491 +0x2B26 0x294AB +0x2B27 0x294A2 +0x2B28 0x294A4 +0x2B29 0x2949D +0x2B2A 0x29497 +0x2B2B 0x2947D +0x2B2C 0x2949F +0x2B2D 0x2949C +0x2B2E 0x29499 +0x2B2F 0x294A6 +0x2B30 0x29492 +0x2B31 0x294A7 +0x2B32 0x295C9 +0x2B33 0x295C8 +0x2B34 0x295C7 +0x2B35 0x295CB +0x2B36 0x29674 +0x2B37 0x296C9 +0x2B39 0x296D2 +0x2B3A 0x296DB +0x2B3B 0x296EB +0x2B3C 0x296E9 +0x2B3D 0x296EF +0x2B3E 0x296EE +0x2B3F 0x296F9 +0x2B40 0x296DE +0x2B41 0x29816 +0x2B42 0x29845 +0x2B43 0x2987F +0x2B44 0x29898 +0x2B45 0x2989F +0x2B46 0x29886 +0x2B47 0x29890 +0x2B48 0x2989A +0x2B49 0x2989D +0x2B4A 0x2988D +0x2B4B 0x2989C +0x2B4C 0x298A0 +0x2B4D 0x298A7 +0x2B4E 0x2988F +0x2B4F 0x29A41 +0x2B50 0x29A35 +0x2B51 0x29A37 +0x2B52 0x29A30 +0x2B53 0x29A3A +0x2B54 0x29A36 +0x2B55 0x2FA08 +0x2B56 0x29ACA +0x2B57 0x29B12 +0x2B58 0x29B15 +0x2B59 0x29B22 +0x2B5A 0x29B13 +0x2B5B 0x29B18 +0x2B5C 0x29B21 +0x2B5D 0x29C10 +0x2B5E 0x29C20 +0x2B5F 0x29C2F +0x2B60 0x29CA5 +0x2B61 0x29CA3 +0x2B62 0x29CB6 +0x2B63 0x29CAB +0x2B64 0x29D68 +0x2B65 0x29D67 +0x2B66 0x29D6F +0x2B67 0x29D77 +0x2B68 0x29D64 +0x2B69 0x29D78 +0x2B6B 0x29D76 +0x2B6C 0x29D6E +0x2B6E 0x29FD0 +0x2B6F 0x29FB3 +0x2B70 0x29FCB +0x2B71 0x29FD6 +0x2B72 0x29FB1 +0x2B73 0x29FB4 +0x2B74 0x29FD7 +0x2B75 0x29FC6 +0x2B76 0x29FBA +0x2B77 0x29FD1 +0x2B78 0x29FD2 +0x2B79 0x29FB5 +0x2B7A 0x29FC4 +0x2B7B 0x29FCC +0x2B7C 0x29FBB +0x2B7D 0x29FB2 +0x2B7E 0x2A25B +0x2C21 0x2A25A +0x2C22 0x2A259 +0x2C23 0x2A299 +0x2C24 0x2A294 +0x2C25 0x2A296 +0x2C26 0x2A293 +0x2C27 0x2A291 +0x2C28 0x2A28F +0x2C29 0x2A298 +0x2C2A 0x2A30C +0x2C2B 0x2A30A +0x2C2C 0x2A30E +0x2C2D 0x2A312 +0x2C2E 0x2A311 +0x2C2F 0x2A30B +0x2C30 0x2A39A +0x2C32 0x2A3B4 +0x2C34 0x2A41C +0x2C35 0x2A420 +0x2C36 0x2A421 +0x2C37 0x2A4D3 +0x2C38 0x2A4D2 +0x2C39 0x2A538 +0x2C3B 0x24CCF +0x2C3C 0x2011D +0x2C3D 0x20192 +0x2C3E 0x2018F +0x2C3F 0x2018C +0x2C40 0x203EA +0x2C41 0x204B9 +0x2C42 0x2056E +0x2C43 0x205A0 +0x2C44 0x291DD +0x2C45 0x20612 +0x2C46 0x20617 +0x2C47 0x2066D +0x2C48 0x20805 +0x2C49 0x207FB +0x2C4A 0x207FD +0x2C4B 0x20806 +0x2C4C 0x20800 +0x2C4D 0x207FF +0x2C4E 0x207FE +0x2C4F 0x208B6 +0x2C50 0x20905 +0x2C51 0x20907 +0x2C52 0x20ABC +0x2C53 0x20ABB +0x2C54 0x20B8B +0x2C55 0x20B87 +0x2C56 0x27BFB +0x2C57 0x20FE7 +0x2C58 0x20FE6 +0x2C59 0x20FE2 +0x2C5A 0x285D3 +0x2C5B 0x20FD9 +0x2C5C 0x20FCA +0x2C5D 0x21012 +0x2C5E 0x21010 +0x2C5F 0x20FDC +0x2C60 0x20FD0 +0x2C61 0x20F8B +0x2C62 0x21013 +0x2C63 0x22A10 +0x2C64 0x20FDA +0x2C65 0x2F84F +0x2C66 0x20FFD +0x2C67 0x20FE5 +0x2C68 0x20FCC +0x2C69 0x21039 +0x2C6A 0x20FC7 +0x2C6B 0x20FD8 +0x2C6C 0x21460 +0x2C6D 0x21464 +0x2C6E 0x21486 +0x2C6F 0x2145E +0x2C70 0x21466 +0x2C71 0x2145F +0x2C72 0x21477 +0x2C73 0x21482 +0x2C74 0x21496 +0x2C75 0x2153E +0x2C76 0x21579 +0x2C77 0x2157A +0x2C78 0x21688 +0x2C79 0x21689 +0x2C7A 0x2168C +0x2C7B 0x243E0 +0x2C7C 0x2167B +0x2C7D 0x21686 +0x2C7E 0x21894 +0x2D21 0x21897 +0x2D22 0x218B7 +0x2D23 0x218B5 +0x2D24 0x218B8 +0x2D25 0x21893 +0x2D26 0x218B2 +0x2D27 0x218B4 +0x2D28 0x21899 +0x2D29 0x218C3 +0x2D2A 0x2189D +0x2D2B 0x2189B +0x2D2C 0x218A3 +0x2D2E 0x2199F +0x2D2F 0x2199E +0x2D30 0x219A3 +0x2D31 0x219A0 +0x2D32 0x219A1 +0x2D33 0x21AC5 +0x2D34 0x21AC6 +0x2D35 0x21ABE +0x2D36 0x21AC4 +0x2D37 0x21ABF +0x2D38 0x21B4C +0x2D39 0x21B4A +0x2D3A 0x21BB1 +0x2D3B 0x21C15 +0x2D3C 0x21C17 +0x2D3D 0x21C10 +0x2D3E 0x21C18 +0x2D3F 0x21CE0 +0x2D40 0x21CDF +0x2D41 0x21D27 +0x2D42 0x21F43 +0x2D43 0x21F48 +0x2D44 0x21F1D +0x2D45 0x21F50 +0x2D46 0x21F58 +0x2D47 0x21F47 +0x2D48 0x21F54 +0x2D49 0x21F53 +0x2D4A 0x21F40 +0x2D4B 0x21F55 +0x2D4D 0x21F5A +0x2D4E 0x22470 +0x2D4F 0x2215B +0x2D50 0x2214D +0x2D51 0x22156 +0x2D52 0x2214F +0x2D53 0x2F887 +0x2D54 0x22159 +0x2D55 0x2F888 +0x2D56 0x22154 +0x2D57 0x22153 +0x2D58 0x22150 +0x2D59 0x222B3 +0x2D5A 0x2236E +0x2D5C 0x2236F +0x2D5D 0x22393 +0x2D5E 0x22429 +0x2D5F 0x22425 +0x2D60 0x22428 +0x2D61 0x2246F +0x2D62 0x232B8 +0x2D63 0x2F897 +0x2D64 0x224B3 +0x2D65 0x22579 +0x2D66 0x2257E +0x2D67 0x2257C +0x2D68 0x22583 +0x2D69 0x2F8AC +0x2D6A 0x22800 +0x2D6B 0x22834 +0x2D6C 0x22865 +0x2D6D 0x22836 +0x2D6E 0x228A7 +0x2D6F 0x22859 +0x2D70 0x22858 +0x2D71 0x22831 +0x2D72 0x22862 +0x2D73 0x22838 +0x2D74 0x22873 +0x2D75 0x2283E +0x2D76 0x22855 +0x2D77 0x22854 +0x2D78 0x22895 +0x2D79 0x2F8AD +0x2D7A 0x228A5 +0x2D7B 0x22894 +0x2D7C 0x2289A +0x2D7D 0x2289B +0x2D7E 0x22899 +0x2E21 0x2289F +0x2E22 0x22853 +0x2E23 0x22A12 +0x2E24 0x22A0A +0x2E25 0x22A09 +0x2E26 0x22A0C +0x2E27 0x22A0B +0x2E28 0x22A0E +0x2E29 0x22A0D +0x2E2A 0x22A08 +0x2E2B 0x22D38 +0x2E2C 0x22D3A +0x2E2D 0x22D37 +0x2E2E 0x22D3D +0x2E2F 0x22D2D +0x2E30 0x22D82 +0x2E31 0x22D95 +0x2E32 0x22D87 +0x2E33 0x22D9D +0x2E34 0x22DB5 +0x2E35 0x22D81 +0x2E36 0x22DC7 +0x2E37 0x22D9B +0x2E38 0x22D98 +0x2E39 0x22D94 +0x2E3A 0x22D86 +0x2E3B 0x22D90 +0x2E3C 0x22D34 +0x2E3D 0x22D8E +0x2E3E 0x22D85 +0x2E3F 0x22DA6 +0x2E40 0x22D96 +0x2E41 0x22FEA +0x2E42 0x22FDF +0x2E43 0x232BD +0x2E44 0x22FF7 +0x2E45 0x22FEB +0x2E46 0x22FE0 +0x2E47 0x22FE8 +0x2E48 0x22FE1 +0x2E49 0x22FE9 +0x2E4A 0x22FEE +0x2E4B 0x22FE5 +0x2E4C 0x22FEC +0x2E4D 0x23063 +0x2E4E 0x230C6 +0x2E4F 0x230C2 +0x2E50 0x230C1 +0x2E51 0x230C0 +0x2E52 0x230C3 +0x2E53 0x23118 +0x2E54 0x232AE +0x2E55 0x232A3 +0x2E56 0x232C5 +0x2E57 0x232A0 +0x2E58 0x232B4 +0x2E59 0x232A5 +0x2E5B 0x232A4 +0x2E5C 0x232A8 +0x2E5D 0x232A6 +0x2E5E 0x236A8 +0x2E5F 0x2368D +0x2E60 0x23682 +0x2E61 0x2369E +0x2E62 0x23689 +0x2E63 0x23683 +0x2E64 0x23691 +0x2E65 0x236A6 +0x2E66 0x2369A +0x2E67 0x23690 +0x2E68 0x23685 +0x2E69 0x2367D +0x2E6A 0x2F8EC +0x2E6B 0x2369B +0x2E6C 0x236A5 +0x2E6D 0x236F0 +0x2E6E 0x23696 +0x2E6F 0x23688 +0x2E70 0x236D6 +0x2E71 0x236D8 +0x2E72 0x23686 +0x2E73 0x236A4 +0x2E74 0x23697 +0x2E75 0x2391C +0x2E76 0x23919 +0x2E77 0x2399E +0x2E78 0x2399F +0x2E79 0x2399D +0x2E7A 0x2399C +0x2E7B 0x23A5D +0x2E7C 0x23A5E +0x2E7D 0x23A73 +0x2E7E 0x23A63 +0x2F21 0x23ABE +0x2F22 0x23AC1 +0x2F23 0x23ABC +0x2F24 0x23ABF +0x2F25 0x23ABB +0x2F26 0x23ABD +0x2F27 0x23B13 +0x2F28 0x23B14 +0x2F29 0x23BF8 +0x2F2A 0x23BFA +0x2F2B 0x23C06 +0x2F2C 0x23BFE +0x2F2D 0x23C51 +0x2F2E 0x2400B +0x2F2F 0x23FF1 +0x2F30 0x23FA9 +0x2F31 0x23FD5 +0x2F32 0x23FDC +0x2F33 0x23FCB +0x2F34 0x23FF2 +0x2F35 0x2405F +0x2F36 0x23FDB +0x2F37 0x23FD6 +0x2F38 0x23FD9 +0x2F39 0x23FD1 +0x2F3A 0x23FCF +0x2F3B 0x23FD8 +0x2F3C 0x23FE0 +0x2F3D 0x23FD4 +0x2F3E 0x23FF3 +0x2F3F 0x24005 +0x2F40 0x23FCE +0x2F41 0x23FF4 +0x2F42 0x2F912 +0x2F43 0x23FDA +0x2F44 0x2400E +0x2F45 0x24006 +0x2F46 0x23FD7 +0x2F47 0x23FCD +0x2F48 0x24007 +0x2F49 0x23FE1 +0x2F4A 0x24008 +0x2F4B 0x243BE +0x2F4C 0x243EF +0x2F4D 0x243D9 +0x2F4E 0x243DA +0x2F50 0x243A0 +0x2F51 0x243DF +0x2F52 0x2439E +0x2F53 0x243BF +0x2F54 0x243AF +0x2F55 0x243A7 +0x2F56 0x243AA +0x2F57 0x243F4 +0x2F58 0x243AE +0x2F59 0x243B5 +0x2F5A 0x243B8 +0x2F5B 0x243DB +0x2F5C 0x243C0 +0x2F5D 0x243B7 +0x2F5E 0x243A2 +0x2F5F 0x243DD +0x2F60 0x243A1 +0x2F61 0x243A5 +0x2F62 0x243B4 +0x2F63 0x243A6 +0x2F64 0x243AB +0x2F65 0x243AC +0x2F66 0x2439F +0x2F67 0x243B1 +0x2F68 0x243FC +0x2F69 0x2452E +0x2F6A 0x24530 +0x2F6B 0x24599 +0x2F6C 0x245F8 +0x2F6D 0x245F6 +0x2F6E 0x246F4 +0x2F6F 0x246EB +0x2F70 0x246E1 +0x2F71 0x246E4 +0x2F72 0x24875 +0x2F73 0x24869 +0x2F75 0x24899 +0x2F76 0x2489E +0x2F77 0x24894 +0x2F78 0x24893 +0x2F79 0x24891 +0x2F7A 0x24A19 +0x2F7B 0x24A17 +0x2F7C 0x24A49 +0x2F7D 0x24A47 +0x2F7E 0x24A48 +0x3021 0x24A52 +0x3022 0x24A40 +0x3023 0x24A63 +0x3024 0x24A46 +0x3025 0x24A5F +0x3026 0x24B0E +0x3027 0x24B85 +0x3028 0x24B87 +0x3029 0x24BCB +0x302A 0x24BCC +0x302B 0x24BC9 +0x302C 0x24CCB +0x302D 0x21CE7 +0x302E 0x24D20 +0x302F 0x24E5F +0x3030 0x24E60 +0x3031 0x24E6A +0x3032 0x24E76 +0x3033 0x24E73 +0x3034 0x24E71 +0x3035 0x24E66 +0x3037 0x24E6B +0x3038 0x24E79 +0x3039 0x24E7B +0x303A 0x24F3C +0x303B 0x24F9E +0x303C 0x24F9C +0x303D 0x2501C +0x303E 0x2501E +0x303F 0x25021 +0x3040 0x25096 +0x3041 0x250A1 +0x3042 0x250B6 +0x3043 0x250A0 +0x3044 0x25094 +0x3045 0x25097 +0x3046 0x25281 +0x3047 0x25286 +0x3048 0x252C0 +0x3049 0x2528A +0x304A 0x2F94B +0x304B 0x25285 +0x304C 0x25295 +0x304D 0x25249 +0x304E 0x25282 +0x304F 0x25284 +0x3050 0x22878 +0x3051 0x25290 +0x3052 0x252B1 +0x3053 0x253FE +0x3054 0x253FB +0x3055 0x25550 +0x3056 0x25556 +0x3057 0x2555A +0x3058 0x2554C +0x305A 0x25557 +0x305B 0x256E1 +0x305C 0x256D9 +0x305D 0x256DB +0x305E 0x256F4 +0x305F 0x25745 +0x3060 0x25747 +0x3061 0x25874 +0x3062 0x2586B +0x3063 0x25868 +0x3064 0x25869 +0x3065 0x25879 +0x3066 0x2F95B +0x3067 0x25880 +0x3068 0x25881 +0x3069 0x25861 +0x306A 0x25870 +0x306B 0x2586F +0x306C 0x25873 +0x306D 0x2585D +0x306E 0x259FA +0x3070 0x259F3 +0x3071 0x25A0A +0x3072 0x25A17 +0x3073 0x2F95F +0x3074 0x25AB0 +0x3075 0x25C3E +0x3076 0x25C46 +0x3077 0x25C4F +0x3078 0x25C44 +0x3079 0x25C69 +0x307A 0x25C33 +0x307B 0x25C2F +0x307C 0x25C4E +0x307D 0x25C3A +0x307E 0x25C2B +0x3121 0x25CA9 +0x3122 0x25C50 +0x3123 0x25C45 +0x3124 0x25C37 +0x3125 0x25C25 +0x3126 0x25C2C +0x3127 0x25C3F +0x3128 0x25C34 +0x3129 0x25C29 +0x312A 0x25C1E +0x312B 0x25C3D +0x312C 0x25EED +0x312D 0x2F966 +0x312E 0x25EF3 +0x312F 0x25EEA +0x3130 0x25EEB +0x3131 0x260CC +0x3132 0x260CE +0x3133 0x260D0 +0x3134 0x260E3 +0x3135 0x260E0 +0x3136 0x260D1 +0x3137 0x260DC +0x3138 0x260DD +0x3139 0x260F0 +0x313A 0x260DB +0x313B 0x260E5 +0x313C 0x260F1 +0x313D 0x260C9 +0x313E 0x260E8 +0x313F 0x260E7 +0x3140 0x260C8 +0x3141 0x260DE +0x3142 0x260CD +0x3143 0x260C5 +0x3144 0x260C6 +0x3145 0x260E4 +0x3146 0x260C3 +0x3147 0x262FB +0x3148 0x262FC +0x3149 0x262FE +0x314A 0x26303 +0x314B 0x26300 +0x314C 0x262FD +0x314D 0x26305 +0x314E 0x26313 +0x314F 0x263A7 +0x3150 0x263B4 +0x3151 0x26470 +0x3152 0x26474 +0x3153 0x26471 +0x3154 0x26475 +0x3155 0x2647D +0x3156 0x26473 +0x3157 0x264C4 +0x3158 0x264C3 +0x3159 0x264DE +0x315A 0x264DD +0x315B 0x26511 +0x315C 0x2650F +0x315D 0x26510 +0x315E 0x265C3 +0x315F 0x265C2 +0x3160 0x265CA +0x3161 0x265C1 +0x3162 0x26623 +0x3163 0x267B1 +0x3164 0x26824 +0x3165 0x26811 +0x3166 0x26825 +0x3167 0x2680A +0x3168 0x2681F +0x3169 0x26820 +0x316A 0x26814 +0x316B 0x26828 +0x316C 0x26803 +0x316D 0x26812 +0x316E 0x2680B +0x316F 0x26817 +0x3170 0x22A11 +0x3171 0x26949 +0x3172 0x26989 +0x3173 0x26990 +0x3174 0x2698F +0x3175 0x26996 +0x3176 0x26995 +0x3177 0x26993 +0x3178 0x269ED +0x3179 0x269F0 +0x317A 0x243DE +0x317B 0x26A85 +0x317C 0x26A77 +0x317D 0x26A7A +0x317E 0x26A84 +0x3221 0x26A79 +0x3222 0x26A7D +0x3223 0x26A7B +0x3224 0x26AED +0x3225 0x26AEC +0x3226 0x26DF6 +0x3227 0x26D9B +0x3228 0x26E9D +0x3229 0x26F11 +0x322A 0x26EC4 +0x322B 0x26EC8 +0x322C 0x26EDF +0x322D 0x26EBF +0x322E 0x26EB3 +0x322F 0x26EBA +0x3230 0x26F10 +0x3231 0x26F06 +0x3232 0x26E88 +0x3233 0x26E9A +0x3234 0x26EE0 +0x3235 0x26ECC +0x3236 0x26EB5 +0x3237 0x26EE1 +0x3238 0x26EBC +0x3239 0x26EC6 +0x323A 0x26F0B +0x323B 0x26EA4 +0x323C 0x26E95 +0x323D 0x26EA3 +0x323E 0x26EE2 +0x323F 0x26ECD +0x3240 0x26EE3 +0x3241 0x26EAB +0x3242 0x26ECB +0x3243 0x26E8F +0x3244 0x2F9AB +0x3245 0x26EA9 +0x3246 0x26F24 +0x3247 0x26EE4 +0x3248 0x26F12 +0x3249 0x26EE5 +0x324A 0x26F67 +0x324B 0x26EAA +0x324C 0x26EA0 +0x324D 0x26EE6 +0x324E 0x26EC1 +0x324F 0x26EE7 +0x3250 0x26F0D +0x3251 0x26E86 +0x3252 0x26EB0 +0x3253 0x26E8B +0x3254 0x26EE8 +0x3255 0x26EC9 +0x3256 0x26F19 +0x3257 0x26EC0 +0x3258 0x26F0C +0x3259 0x26EE9 +0x325A 0x26EEA +0x325B 0x271ED +0x325C 0x271E3 +0x325D 0x271E4 +0x325E 0x271E8 +0x325F 0x271D2 +0x3260 0x271E2 +0x3262 0x273CF +0x3263 0x273D1 +0x3264 0x273C3 +0x3265 0x273C9 +0x3266 0x273EA +0x3267 0x273B4 +0x3268 0x273DC +0x3269 0x273BD +0x326A 0x273E6 +0x326B 0x273C8 +0x326C 0x273EC +0x326D 0x273B2 +0x326E 0x273A9 +0x326F 0x273D3 +0x3270 0x273C0 +0x3271 0x273E9 +0x3272 0x273D5 +0x3274 0x273C5 +0x3276 0x273CB +0x3277 0x273D0 +0x3278 0x273D2 +0x3279 0x273E4 +0x327A 0x273E8 +0x327B 0x273CD +0x327C 0x273B6 +0x327D 0x273AA +0x327E 0x273D4 +0x3321 0x28449 +0x3322 0x273C1 +0x3323 0x273DD +0x3324 0x273CE +0x3325 0x275C9 +0x3326 0x275CA +0x3327 0x276FD +0x3328 0x276D9 +0x3329 0x276FF +0x332A 0x27704 +0x332B 0x276FA +0x332C 0x27706 +0x332D 0x27715 +0x332E 0x27711 +0x332F 0x27707 +0x3330 0x2770B +0x3331 0x277FC +0x3332 0x277FD +0x3333 0x2786D +0x3334 0x27865 +0x3335 0x27914 +0x3336 0x27913 +0x3337 0x2790C +0x3338 0x2790B +0x3339 0x27918 +0x333A 0x27922 +0x333B 0x27A7D +0x333C 0x27A6F +0x333D 0x27A75 +0x333E 0x27A7B +0x333F 0x27A80 +0x3340 0x27A7F +0x3341 0x27A96 +0x3342 0x27A6D +0x3343 0x27A6B +0x3344 0x27A86 +0x3345 0x27A73 +0x3346 0x27A62 +0x3347 0x27A77 +0x3348 0x27A81 +0x3349 0x27A69 +0x334A 0x27A82 +0x334B 0x27A97 +0x334C 0x27A84 +0x334E 0x27A78 +0x334F 0x2F9D0 +0x3350 0x27A7A +0x3351 0x27A6A +0x3352 0x27A65 +0x3353 0x27A7E +0x3354 0x27A94 +0x3355 0x27BC2 +0x3356 0x27BC1 +0x3357 0x27BF9 +0x3358 0x27C71 +0x3359 0x27C6B +0x335A 0x27C6D +0x335B 0x27C6F +0x335C 0x27C6E +0x335D 0x27CF2 +0x335E 0x27CE8 +0x335F 0x27CEF +0x3360 0x27CE9 +0x3361 0x27CEA +0x3362 0x27CED +0x3363 0x27CF3 +0x3364 0x27CE6 +0x3365 0x27DC9 +0x3366 0x27DB4 +0x3367 0x27DB3 +0x3368 0x27DB9 +0x3369 0x27DCA +0x336A 0x27DB1 +0x336B 0x27DB6 +0x336C 0x27DC7 +0x336D 0x27DC4 +0x336E 0x27DB7 +0x336F 0x27E6F +0x3370 0x27F33 +0x3371 0x27F32 +0x3372 0x27F1F +0x3373 0x2F9D9 +0x3374 0x27F2B +0x3375 0x27F30 +0x3376 0x27F36 +0x3377 0x27F42 +0x3378 0x27F41 +0x3379 0x2F9D8 +0x337A 0x280A5 +0x337B 0x280AB +0x337C 0x280A9 +0x337D 0x280B3 +0x337E 0x280A7 +0x3421 0x280A0 +0x3422 0x280D2 +0x3423 0x280A8 +0x3424 0x280B6 +0x3425 0x280AC +0x3426 0x280AE +0x3427 0x280E6 +0x3428 0x28265 +0x3429 0x28347 +0x342A 0x28363 +0x342B 0x2834D +0x342C 0x2835F +0x342D 0x2834B +0x342E 0x28360 +0x342F 0x28349 +0x3430 0x28353 +0x3431 0x2F9DF +0x3433 0x28357 +0x3434 0x2834E +0x3435 0x28352 +0x3436 0x28354 +0x3437 0x28420 +0x3438 0x28422 +0x3439 0x285C1 +0x343A 0x285D7 +0x343B 0x285D5 +0x343C 0x285C4 +0x343D 0x285D0 +0x343E 0x285BB +0x343F 0x285E2 +0x3440 0x285CB +0x3441 0x285B8 +0x3442 0x285BF +0x3443 0x285D8 +0x3444 0x285C0 +0x3445 0x285BA +0x3446 0x285B4 +0x3447 0x285BC +0x3448 0x285D4 +0x3449 0x285ED +0x344A 0x285C2 +0x344B 0x285D9 +0x344C 0x285CC +0x344D 0x2872F +0x344E 0x28723 +0x344F 0x28796 +0x3450 0x2878D +0x3451 0x2879E +0x3452 0x28799 +0x3453 0x28883 +0x3455 0x2886A +0x3456 0x28869 +0x3457 0x28875 +0x3458 0x2886C +0x3459 0x28880 +0x345A 0x2886E +0x345B 0x28881 +0x345C 0x28877 +0x345D 0x28876 +0x345E 0x28873 +0x345F 0x28870 +0x3460 0x28884 +0x3461 0x28919 +0x3462 0x289F2 +0x3464 0x289EC +0x3465 0x289EB +0x3466 0x289F6 +0x3467 0x289EF +0x3468 0x289F4 +0x3469 0x289EE +0x346A 0x289F3 +0x346B 0x289ED +0x346C 0x28C9B +0x346D 0x28C98 +0x346E 0x28C94 +0x346F 0x2147A +0x3470 0x28C9A +0x3471 0x2F9F0 +0x3472 0x28D4C +0x3474 0x28D57 +0x3475 0x28D51 +0x3476 0x28D62 +0x3477 0x28D52 +0x3478 0x28D5C +0x3479 0x28D53 +0x347A 0x2F9EF +0x347B 0x28E85 +0x347C 0x28F2D +0x347D 0x28F3E +0x347E 0x28F30 +0x3521 0x28F7D +0x3522 0x28FE6 +0x3523 0x28FF6 +0x3524 0x28FE4 +0x3525 0x28FE9 +0x3526 0x28FEC +0x3527 0x28FF2 +0x3528 0x28FE8 +0x3529 0x28FE3 +0x352A 0x28FEB +0x352B 0x28FF0 +0x352C 0x28FEA +0x352D 0x28FE7 +0x352E 0x28FFD +0x352F 0x28FE5 +0x3530 0x28FEE +0x3531 0x28FF5 +0x3532 0x28FF9 +0x3533 0x28FF1 +0x3534 0x28FF4 +0x3535 0x2F9F4 +0x3536 0x29011 +0x3537 0x290DE +0x3538 0x290D8 +0x3539 0x290DD +0x353A 0x290DB +0x353B 0x290D3 +0x353C 0x290E1 +0x353D 0x291DE +0x353E 0x291FC +0x353F 0x29228 +0x3540 0x292B7 +0x3541 0x292B8 +0x3542 0x292C7 +0x3543 0x292B2 +0x3544 0x292A9 +0x3545 0x292B9 +0x3546 0x292BC +0x3547 0x292B3 +0x3548 0x292D1 +0x3549 0x293B0 +0x354A 0x293B1 +0x354B 0x293B6 +0x354C 0x29404 +0x354D 0x2942C +0x354E 0x294C1 +0x354F 0x2949E +0x3550 0x294BA +0x3552 0x294D1 +0x3553 0x294D3 +0x3554 0x294D4 +0x3555 0x294D5 +0x3556 0x294C5 +0x3557 0x294B6 +0x3558 0x294B2 +0x3559 0x294B5 +0x355A 0x294C3 +0x355B 0x294B9 +0x355C 0x294C6 +0x355D 0x295D6 +0x355E 0x295E0 +0x355F 0x295DB +0x3560 0x295D7 +0x3561 0x295DD +0x3562 0x29715 +0x3563 0x2970C +0x3564 0x2970F +0x3565 0x2970E +0x3566 0x296FE +0x3567 0x29704 +0x3568 0x2970B +0x3569 0x29702 +0x356A 0x296FF +0x356B 0x29708 +0x356C 0x29710 +0x356D 0x29717 +0x356E 0x29713 +0x356F 0x29706 +0x3570 0x29709 +0x3571 0x29824 +0x3572 0x29826 +0x3573 0x29825 +0x3574 0x29848 +0x3575 0x298B5 +0x3576 0x298D2 +0x3577 0x298D5 +0x3578 0x298C4 +0x3579 0x298AF +0x357A 0x298AD +0x357B 0x298C1 +0x357C 0x298C0 +0x357D 0x298CC +0x357E 0x298CD +0x3621 0x298C3 +0x3622 0x298C8 +0x3623 0x298C5 +0x3624 0x298BA +0x3625 0x298D0 +0x3626 0x298C2 +0x3627 0x298CE +0x3629 0x29A43 +0x362A 0x29A42 +0x362B 0x29A40 +0x362C 0x29A31 +0x362D 0x29ACF +0x362E 0x29ACE +0x362F 0x29B30 +0x3630 0x29B34 +0x3631 0x29B32 +0x3632 0x29B43 +0x3633 0x29B3C +0x3634 0x29C11 +0x3635 0x29C35 +0x3636 0x29C34 +0x3637 0x29C37 +0x3638 0x29C31 +0x3639 0x29CBF +0x363A 0x29CBC +0x363B 0x29CC2 +0x363C 0x29CC9 +0x363D 0x29D83 +0x363E 0x29D8B +0x363F 0x29DA0 +0x3640 0x29D8D +0x3641 0x29D8C +0x3642 0x29D9A +0x3643 0x29D8A +0x3644 0x29D91 +0x3645 0x29FF1 +0x3646 0x2A00F +0x3647 0x2A001 +0x3648 0x2A007 +0x3649 0x2A00C +0x364B 0x29FDC +0x364C 0x29FEE +0x364D 0x29FF7 +0x364E 0x29FF2 +0x364F 0x29FF8 +0x3650 0x29FEB +0x3652 0x29FE6 +0x3653 0x29FED +0x3654 0x29FE9 +0x3655 0x2A008 +0x3656 0x2A000 +0x3657 0x29FE5 +0x3658 0x29FFC +0x3659 0x2A261 +0x365A 0x2A25E +0x365B 0x2A25F +0x365D 0x2A29B +0x365E 0x2A316 +0x365F 0x2A315 +0x3660 0x2A320 +0x3661 0x2A314 +0x3662 0x2A31A +0x3663 0x2A317 +0x3664 0x2A39C +0x3666 0x2A3F1 +0x3668 0x2A3F0 +0x3669 0x2A428 +0x366A 0x2A424 +0x366B 0x2A42A +0x366C 0x2A42B +0x366D 0x2A4D5 +0x366E 0x2A504 +0x366F 0x2A505 +0x3670 0x2A591 +0x3671 0x2A592 +0x3672 0x2A6A6 +0x3673 0x20109 +0x3674 0x20422 +0x3675 0x2041A +0x3676 0x2040E +0x3677 0x2041B +0x3678 0x20408 +0x3679 0x250B3 +0x367A 0x2F81C +0x367B 0x2069D +0x367C 0x20812 +0x367D 0x2081E +0x367E 0x208BB +0x3721 0x208BF +0x3722 0x208BC +0x3723 0x20908 +0x3724 0x20909 +0x3725 0x20963 +0x3726 0x209C8 +0x3727 0x23728 +0x3728 0x20B8E +0x3729 0x20B8D +0x372A 0x21043 +0x372B 0x2104D +0x372C 0x2106D +0x372D 0x21042 +0x372E 0x21052 +0x372F 0x21051 +0x3730 0x21069 +0x3731 0x21050 +0x3732 0x21056 +0x3733 0x2106C +0x3734 0x21044 +0x3735 0x21045 +0x3736 0x2106B +0x3738 0x21068 +0x3739 0x21057 +0x373A 0x2122E +0x373B 0x21231 +0x373C 0x2122D +0x373D 0x2148B +0x373E 0x214B2 +0x373F 0x2148D +0x3740 0x214A3 +0x3741 0x214A4 +0x3742 0x21490 +0x3743 0x21489 +0x3744 0x2148E +0x3745 0x21492 +0x3746 0x2157B +0x3747 0x21690 +0x3748 0x2168F +0x3749 0x218E9 +0x374A 0x218CD +0x374B 0x218C5 +0x374C 0x218D0 +0x374D 0x218C9 +0x374E 0x218D1 +0x374F 0x218C7 +0x3750 0x218D2 +0x3751 0x2185F +0x3752 0x218E1 +0x3753 0x218CC +0x3754 0x218C6 +0x3755 0x218E4 +0x3756 0x219A9 +0x3757 0x21AD3 +0x3758 0x21ADA +0x3759 0x21AD2 +0x375A 0x21ADB +0x375B 0x21B4D +0x375C 0x21B4E +0x375D 0x21C1C +0x375E 0x21CE8 +0x375F 0x21F6C +0x3760 0x21F5F +0x3761 0x21F66 +0x3762 0x21F64 +0x3763 0x21F78 +0x3764 0x21F65 +0x3765 0x21F6D +0x3766 0x21F61 +0x3767 0x21F7A +0x3768 0x22007 +0x3769 0x22166 +0x376A 0x22168 +0x376B 0x22162 +0x376C 0x222D3 +0x376D 0x222D4 +0x376E 0x222D1 +0x376F 0x222DC +0x3770 0x22373 +0x3771 0x22372 +0x3772 0x2242D +0x3773 0x2242C +0x3774 0x2242F +0x3775 0x22472 +0x3776 0x224B4 +0x3777 0x22589 +0x3778 0x228CD +0x3779 0x228A6 +0x377A 0x228A2 +0x377B 0x228A0 +0x377C 0x22846 +0x377D 0x228A1 +0x377E 0x26857 +0x3821 0x228A3 +0x3822 0x228B1 +0x3823 0x228DB +0x3824 0x228F6 +0x3825 0x228DC +0x3826 0x228D6 +0x3827 0x22A13 +0x3828 0x22D9C +0x3829 0x22D97 +0x382A 0x22DD8 +0x382B 0x22DE4 +0x382C 0x22DD4 +0x382D 0x22DE5 +0x382E 0x22DDB +0x382F 0x22DD0 +0x3830 0x22DDA +0x3831 0x22DCC +0x3832 0x22DDC +0x3833 0x22DED +0x3834 0x22DD3 +0x3835 0x22DD1 +0x3836 0x22DCE +0x3837 0x22DD9 +0x3838 0x22DDD +0x3839 0x2F8C6 +0x383A 0x22EE6 +0x383B 0x22EE5 +0x383C 0x22EE9 +0x383D 0x22FFF +0x383E 0x22FFE +0x383F 0x2300E +0x3840 0x2308C +0x3841 0x230CA +0x3842 0x230CB +0x3843 0x2311A +0x3844 0x232D7 +0x3845 0x232CF +0x3846 0x232D0 +0x3847 0x232C9 +0x3848 0x232CC +0x3849 0x232D3 +0x384A 0x233A4 +0x384B 0x233A3 +0x384C 0x23681 +0x384D 0x23726 +0x384E 0x236F3 +0x384F 0x23727 +0x3850 0x236F2 +0x3851 0x236FF +0x3852 0x236F5 +0x3853 0x236FC +0x3854 0x2370E +0x3856 0x236F6 +0x3857 0x23700 +0x3858 0x23723 +0x3859 0x23705 +0x385A 0x23725 +0x385B 0x23708 +0x385C 0x23750 +0x385D 0x23925 +0x385E 0x23920 +0x385F 0x23923 +0x3860 0x23921 +0x3861 0x239A1 +0x3862 0x23A69 +0x3863 0x23A6C +0x3864 0x23A68 +0x3865 0x23A6B +0x3866 0x23ACC +0x3867 0x23ACD +0x3868 0x23C10 +0x3869 0x23C0D +0x386A 0x23C0A +0x386B 0x23C16 +0x386C 0x23C14 +0x386D 0x23C52 +0x386E 0x24028 +0x386F 0x2402E +0x3870 0x2402C +0x3871 0x2404D +0x3872 0x24049 +0x3873 0x24031 +0x3874 0x24030 +0x3875 0x24033 +0x3876 0x2402D +0x3877 0x24036 +0x3878 0x2403E +0x3879 0x2402F +0x387A 0x24027 +0x387B 0x24034 +0x387C 0x2404C +0x387D 0x243FE +0x387E 0x24412 +0x3921 0x2441F +0x3922 0x24417 +0x3923 0x243F5 +0x3924 0x24415 +0x3925 0x243F7 +0x3927 0x21F7D +0x3928 0x243FA +0x3929 0x243F9 +0x392A 0x2444B +0x392B 0x2459C +0x392C 0x2459D +0x392E 0x246F0 +0x392F 0x246F6 +0x3930 0x246EF +0x3931 0x2489D +0x3932 0x2489A +0x3933 0x248A7 +0x3934 0x248AF +0x3935 0x248AA +0x3936 0x24A64 +0x3937 0x24A86 +0x3938 0x24A75 +0x3939 0x24A70 +0x393A 0x24A84 +0x393B 0x24A6B +0x393C 0x24A85 +0x393D 0x24A6C +0x393E 0x24B17 +0x393F 0x24B94 +0x3940 0x24B93 +0x3941 0x24CD2 +0x3942 0x24CD7 +0x3943 0x24CD4 +0x3944 0x24EA6 +0x3945 0x24EA7 +0x3946 0x24E9C +0x3947 0x24E8B +0x3948 0x24E8D +0x3949 0x24E98 +0x394A 0x24EB9 +0x394B 0x24E9B +0x394C 0x24E9D +0x394D 0x24E99 +0x394E 0x24EA8 +0x394F 0x24E91 +0x3950 0x24E87 +0x3951 0x24E9A +0x3952 0x24FA6 +0x3953 0x2501F +0x3954 0x250A7 +0x3955 0x250B1 +0x3956 0x250B2 +0x3957 0x250B7 +0x3958 0x252D0 +0x3959 0x252B3 +0x395A 0x252B5 +0x395B 0x252C4 +0x395C 0x252C3 +0x395D 0x252BC +0x395E 0x252B2 +0x395F 0x252BA +0x3960 0x252BB +0x3961 0x252C2 +0x3962 0x252CD +0x3963 0x252BE +0x3964 0x252B7 +0x3965 0x2538F +0x3966 0x25403 +0x3967 0x25404 +0x3968 0x25571 +0x3969 0x25577 +0x396A 0x25574 +0x396B 0x2558B +0x396C 0x2557A +0x396D 0x2F951 +0x396E 0x2558C +0x396F 0x25573 +0x3970 0x256FF +0x3971 0x256FB +0x3972 0x256FD +0x3973 0x256F0 +0x3974 0x256F3 +0x3975 0x256FC +0x3976 0x256F2 +0x3977 0x25892 +0x3978 0x2589E +0x3979 0x258AE +0x397A 0x25896 +0x397B 0x25A14 +0x397C 0x25A12 +0x397D 0x25A13 +0x397E 0x25A16 +0x3A21 0x25A0F +0x3A22 0x25AB6 +0x3A23 0x25ABD +0x3A24 0x25C8C +0x3A25 0x25CAE +0x3A26 0x25CAC +0x3A27 0x25CAB +0x3A28 0x25C99 +0x3A29 0x25C92 +0x3A2A 0x25CBB +0x3A2B 0x25C9E +0x3A2C 0x25C7E +0x3A2D 0x25CAF +0x3A2E 0x25CBC +0x3A2F 0x25C98 +0x3A30 0x25F01 +0x3A31 0x25F09 +0x3A32 0x25F06 +0x3A33 0x2F967 +0x3A34 0x25F07 +0x3A35 0x25F08 +0x3A36 0x260CF +0x3A37 0x2610E +0x3A38 0x26132 +0x3A3A 0x26112 +0x3A3B 0x26116 +0x3A3C 0x26117 +0x3A3D 0x2611B +0x3A3E 0x26115 +0x3A3F 0x26131 +0x3A40 0x26118 +0x3A41 0x2611A +0x3A42 0x26110 +0x3A43 0x2610A +0x3A44 0x26109 +0x3A45 0x2624F +0x3A46 0x2F973 +0x3A47 0x2630F +0x3A48 0x26310 +0x3A49 0x2F975 +0x3A4A 0x26328 +0x3A4B 0x26311 +0x3A4C 0x26316 +0x3A4D 0x26317 +0x3A4E 0x26302 +0x3A4F 0x263BB +0x3A50 0x263BA +0x3A51 0x263C3 +0x3A52 0x263BC +0x3A53 0x2648A +0x3A54 0x26484 +0x3A55 0x26486 +0x3A56 0x264E0 +0x3A57 0x26517 +0x3A58 0x26518 +0x3A59 0x2651E +0x3A5A 0x26515 +0x3A5B 0x265D3 +0x3A5C 0x265DA +0x3A5D 0x265D9 +0x3A5E 0x267E6 +0x3A5F 0x267F4 +0x3A60 0x267E1 +0x3A61 0x26869 +0x3A62 0x26840 +0x3A63 0x26858 +0x3A64 0x2686C +0x3A65 0x2684D +0x3A66 0x26921 +0x3A67 0x26999 +0x3A68 0x269F1 +0x3A69 0x23F68 +0x3A6A 0x26A86 +0x3A6B 0x26F5B +0x3A6C 0x26F5C +0x3A6D 0x26F77 +0x3A6E 0x26F2C +0x3A6F 0x2F9AD +0x3A70 0x26F58 +0x3A71 0x26F64 +0x3A72 0x26F61 +0x3A73 0x26F48 +0x3A74 0x26F97 +0x3A75 0x26F59 +0x3A76 0x26F29 +0x3A77 0x26F62 +0x3A78 0x26F2E +0x3A79 0x26F68 +0x3A7A 0x26F90 +0x3A7B 0x26F3A +0x3A7C 0x26F3D +0x3A7D 0x26F5E +0x3A7E 0x26F46 +0x3B21 0x26F69 +0x3B22 0x26F65 +0x3B23 0x26F3E +0x3B24 0x26F49 +0x3B25 0x26F56 +0x3B26 0x26FE1 +0x3B27 0x26F78 +0x3B28 0x26F79 +0x3B29 0x26F66 +0x3B2A 0x26F4A +0x3B2B 0x26F35 +0x3B2C 0x26F7A +0x3B2D 0x26F92 +0x3B2E 0x26F60 +0x3B2F 0x26F36 +0x3B30 0x26F51 +0x3B31 0x26F42 +0x3B33 0x26F3F +0x3B34 0x26F7B +0x3B35 0x26F5D +0x3B36 0x26F94 +0x3B37 0x26F6A +0x3B38 0x2F9B5 +0x3B39 0x271F2 +0x3B3A 0x273BB +0x3B3B 0x2741B +0x3B3C 0x2741A +0x3B3D 0x27433 +0x3B3E 0x27417 +0x3B3F 0x2740A +0x3B40 0x27415 +0x3B41 0x27412 +0x3B42 0x27401 +0x3B43 0x2742D +0x3B44 0x273FD +0x3B45 0x27423 +0x3B46 0x27405 +0x3B47 0x27411 +0x3B48 0x27400 +0x3B49 0x2741C +0x3B4A 0x27435 +0x3B4B 0x2742E +0x3B4C 0x27436 +0x3B4D 0x20ABF +0x3B4E 0x2742F +0x3B4F 0x2740C +0x3B50 0x27409 +0x3B51 0x27431 +0x3B52 0x273FC +0x3B53 0x2740F +0x3B54 0x27418 +0x3B55 0x27402 +0x3B56 0x27600 +0x3B57 0x2771F +0x3B58 0x27737 +0x3B5A 0x27738 +0x3B5B 0x2772B +0x3B5C 0x2772E +0x3B5D 0x27721 +0x3B5E 0x27730 +0x3B5F 0x27729 +0x3B60 0x27731 +0x3B61 0x2F9C9 +0x3B62 0x27701 +0x3B63 0x2772C +0x3B64 0x27722 +0x3B65 0x277FF +0x3B66 0x27877 +0x3B67 0x27867 +0x3B68 0x2787F +0x3B69 0x2787D +0x3B6A 0x2787B +0x3B6B 0x2787E +0x3B6C 0x2791E +0x3B6D 0x2791C +0x3B6E 0x27921 +0x3B6F 0x27926 +0x3B70 0x27927 +0x3B71 0x27929 +0x3B72 0x2792C +0x3B73 0x2791D +0x3B74 0x2792B +0x3B75 0x27ABF +0x3B76 0x27AA4 +0x3B77 0x27AAA +0x3B78 0x27AAE +0x3B79 0x27A9F +0x3B7A 0x27AD0 +0x3B7B 0x27AB1 +0x3B7C 0x27AAD +0x3B7D 0x27A9B +0x3B7E 0x27AB2 +0x3C21 0x27AA9 +0x3C22 0x27AB3 +0x3C23 0x27AB4 +0x3C24 0x27ABA +0x3C25 0x27AA5 +0x3C26 0x27AB7 +0x3C27 0x27AAC +0x3C28 0x27ACB +0x3C29 0x27ACF +0x3C2A 0x27BC6 +0x3C2B 0x27C01 +0x3C2C 0x27BFF +0x3C2D 0x27BFD +0x3C2E 0x27C77 +0x3C2F 0x27C78 +0x3C30 0x27C76 +0x3C31 0x27CF7 +0x3C32 0x27DCC +0x3C34 0x27DD4 +0x3C35 0x27DD7 +0x3C36 0x27DD5 +0x3C37 0x27DD6 +0x3C38 0x27DD3 +0x3C39 0x27F5D +0x3C3A 0x27F55 +0x3C3B 0x280E0 +0x3C3C 0x28148 +0x3C3D 0x280EE +0x3C3E 0x280DB +0x3C3F 0x280E7 +0x3C40 0x280D6 +0x3C41 0x280E5 +0x3C42 0x280E1 +0x3C43 0x280DD +0x3C44 0x280E2 +0x3C45 0x28270 +0x3C46 0x28266 +0x3C47 0x2826F +0x3C48 0x2826E +0x3C49 0x28381 +0x3C4A 0x28369 +0x3C4B 0x2836E +0x3C4C 0x2836D +0x3C4D 0x2836C +0x3C4E 0x28384 +0x3C4F 0x28385 +0x3C50 0x28371 +0x3C51 0x28373 +0x3C52 0x2836A +0x3C53 0x2836F +0x3C54 0x2837B +0x3C55 0x2856A +0x3C56 0x2857C +0x3C57 0x2857D +0x3C58 0x28581 +0x3C59 0x285FA +0x3C5A 0x28605 +0x3C5B 0x285EB +0x3C5C 0x285FB +0x3C5D 0x285E9 +0x3C5E 0x285EF +0x3C5F 0x285FC +0x3C60 0x285E7 +0x3C61 0x2F9E1 +0x3C62 0x285EE +0x3C63 0x285FD +0x3C64 0x28732 +0x3C65 0x287A7 +0x3C66 0x287B5 +0x3C67 0x287B1 +0x3C68 0x287B9 +0x3C69 0x287A8 +0x3C6A 0x287B3 +0x3C6B 0x2F9E6 +0x3C6C 0x2888A +0x3C6D 0x28891 +0x3C6E 0x2888D +0x3C6F 0x28899 +0x3C71 0x2889A +0x3C72 0x2889B +0x3C73 0x28892 +0x3C74 0x2888F +0x3C75 0x288AB +0x3C76 0x24CDB +0x3C78 0x28A75 +0x3C79 0x28A31 +0x3C7A 0x28A38 +0x3C7C 0x28A35 +0x3C7D 0x28A69 +0x3C7E 0x28A3B +0x3D21 0x28A3D +0x3D22 0x28A6C +0x3D23 0x28A79 +0x3D24 0x28A3C +0x3D25 0x28A3E +0x3D26 0x28C97 +0x3D27 0x28CA5 +0x3D28 0x28CA2 +0x3D29 0x28C9D +0x3D2A 0x28CA1 +0x3D2B 0x28D68 +0x3D2C 0x28D6F +0x3D2D 0x28D6D +0x3D2E 0x28D72 +0x3D2F 0x28D75 +0x3D30 0x28D77 +0x3D31 0x28D79 +0x3D32 0x28EB5 +0x3D33 0x28EEA +0x3D34 0x28EAB +0x3D35 0x28F43 +0x3D36 0x28F41 +0x3D37 0x28F42 +0x3D38 0x29009 +0x3D39 0x29008 +0x3D3A 0x29006 +0x3D3B 0x29001 +0x3D3C 0x29003 +0x3D3D 0x29000 +0x3D3E 0x29004 +0x3D3F 0x2900A +0x3D40 0x2900E +0x3D41 0x2900D +0x3D42 0x29007 +0x3D43 0x2900F +0x3D44 0x29014 +0x3D45 0x29002 +0x3D46 0x29015 +0x3D47 0x2900C +0x3D48 0x29010 +0x3D49 0x29005 +0x3D4A 0x290FD +0x3D4B 0x290FF +0x3D4C 0x29104 +0x3D4D 0x29100 +0x3D4E 0x29109 +0x3D4F 0x2922B +0x3D50 0x2F9F7 +0x3D51 0x29231 +0x3D52 0x292DB +0x3D53 0x292C5 +0x3D54 0x292D3 +0x3D55 0x292CE +0x3D57 0x292C9 +0x3D58 0x292BF +0x3D59 0x292CB +0x3D5A 0x292C0 +0x3D5B 0x292D0 +0x3D5C 0x292D4 +0x3D5D 0x293C1 +0x3D5E 0x293B9 +0x3D5F 0x293BB +0x3D60 0x293C3 +0x3D61 0x293C9 +0x3D62 0x29407 +0x3D63 0x2942D +0x3D64 0x294F8 +0x3D65 0x294E1 +0x3D66 0x294FA +0x3D67 0x294EF +0x3D68 0x294FD +0x3D6A 0x294EB +0x3D6B 0x294F1 +0x3D6C 0x294ED +0x3D6D 0x294FE +0x3D6E 0x295F8 +0x3D6F 0x29603 +0x3D70 0x295EE +0x3D71 0x295E8 +0x3D72 0x29601 +0x3D73 0x296EC +0x3D74 0x29722 +0x3D75 0x29714 +0x3D76 0x29734 +0x3D77 0x2972F +0x3D78 0x29739 +0x3D79 0x29741 +0x3D7A 0x2973C +0x3D7B 0x29749 +0x3D7C 0x29758 +0x3D7D 0x2973A +0x3D7E 0x29742 +0x3E21 0x2973F +0x3E22 0x29822 +0x3E23 0x29823 +0x3E24 0x2984A +0x3E25 0x298DC +0x3E26 0x298D9 +0x3E27 0x298DB +0x3E28 0x298E2 +0x3E29 0x2FA07 +0x3E2A 0x298DF +0x3E2B 0x298E0 +0x3E2C 0x298D7 +0x3E2D 0x29A4F +0x3E2E 0x29A46 +0x3E2F 0x29A53 +0x3E30 0x29A55 +0x3E31 0x29A4E +0x3E32 0x29A4A +0x3E33 0x29A4C +0x3E34 0x29A63 +0x3E35 0x29B51 +0x3E36 0x29B53 +0x3E37 0x29B58 +0x3E38 0x29B4D +0x3E39 0x29B5A +0x3E3A 0x29B49 +0x3E3B 0x29B5D +0x3E3C 0x29C12 +0x3E3D 0x29C3C +0x3E3E 0x29CD1 +0x3E3F 0x29CDF +0x3E40 0x29CD6 +0x3E41 0x29CD8 +0x3E42 0x29CE0 +0x3E43 0x29CD9 +0x3E44 0x29DB1 +0x3E45 0x29DAC +0x3E46 0x29DAA +0x3E47 0x29DEE +0x3E48 0x29DBD +0x3E4A 0x29DC3 +0x3E4B 0x29DA8 +0x3E4C 0x29DAE +0x3E4D 0x29DAB +0x3E4E 0x2A01D +0x3E4F 0x2A027 +0x3E50 0x2A038 +0x3E51 0x2A012 +0x3E52 0x2A048 +0x3E53 0x2A02B +0x3E54 0x2A016 +0x3E55 0x2A019 +0x3E56 0x2A03D +0x3E57 0x2A023 +0x3E58 0x2A02A +0x3E59 0x2A264 +0x3E5A 0x2A2AD +0x3E5B 0x2A2AC +0x3E5C 0x2FA14 +0x3E5D 0x2A2B1 +0x3E5E 0x2A2AF +0x3E5F 0x2A32C +0x3E60 0x2A324 +0x3E61 0x2A325 +0x3E62 0x2A328 +0x3E63 0x2A3F9 +0x3E64 0x2A3F7 +0x3E65 0x2A3FD +0x3E66 0x2A3FE +0x3E67 0x2A439 +0x3E68 0x2A433 +0x3E69 0x2A4D7 +0x3E6A 0x2A4D8 +0x3E6B 0x2A4E4 +0x3E6C 0x214A1 +0x3E6D 0x2A50E +0x3E6E 0x2A53B +0x3E6F 0x2A544 +0x3E70 0x2A542 +0x3E71 0x2A594 +0x3E72 0x2A593 +0x3E73 0x2A5D5 +0x3E74 0x2A6A7 +0x3E75 0x20431 +0x3E76 0x20423 +0x3E77 0x20428 +0x3E78 0x20427 +0x3E79 0x204C6 +0x3E7A 0x205A3 +0x3E7B 0x20621 +0x3E7C 0x2081B +0x3E7E 0x208C1 +0x3F21 0x208C3 +0x3F22 0x2092A +0x3F23 0x20969 +0x3F24 0x20A27 +0x3F25 0x210B6 +0x3F26 0x210A7 +0x3F27 0x210A4 +0x3F28 0x210A6 +0x3F29 0x21090 +0x3F2A 0x2109E +0x3F2B 0x21094 +0x3F2C 0x210A8 +0x3F2D 0x210A5 +0x3F2E 0x210A2 +0x3F2F 0x21091 +0x3F31 0x214BC +0x3F32 0x214BD +0x3F33 0x214B4 +0x3F34 0x214B0 +0x3F35 0x214E4 +0x3F36 0x21545 +0x3F37 0x2154B +0x3F38 0x2157E +0x3F39 0x2157F +0x3F3A 0x2157D +0x3F3B 0x215C3 +0x3F3C 0x218FC +0x3F3D 0x218F7 +0x3F3E 0x218F0 +0x3F3F 0x218ED +0x3F40 0x218F1 +0x3F41 0x218F8 +0x3F42 0x21AE9 +0x3F43 0x21CEB +0x3F45 0x21F90 +0x3F46 0x21F8D +0x3F47 0x21F86 +0x3F48 0x21F91 +0x3F49 0x21F8A +0x3F4A 0x22008 +0x3F4B 0x22050 +0x3F4C 0x222EA +0x3F4D 0x222E6 +0x3F4E 0x222E2 +0x3F4F 0x222E7 +0x3F50 0x222ED +0x3F51 0x222E1 +0x3F52 0x22434 +0x3F53 0x22476 +0x3F54 0x22475 +0x3F55 0x22473 +0x3F56 0x224B5 +0x3F57 0x22590 +0x3F58 0x22592 +0x3F59 0x228E1 +0x3F5A 0x228DF +0x3F5B 0x228D5 +0x3F5C 0x228F2 +0x3F5D 0x228FE +0x3F5E 0x22913 +0x3F5F 0x2292E +0x3F60 0x22A19 +0x3F61 0x22E08 +0x3F63 0x22E05 +0x3F64 0x22E09 +0x3F65 0x22E06 +0x3F66 0x22E03 +0x3F67 0x22DFD +0x3F68 0x22DFC +0x3F69 0x22E02 +0x3F6A 0x22E42 +0x3F6B 0x2301A +0x3F6C 0x23011 +0x3F6D 0x23015 +0x3F6E 0x23016 +0x3F6F 0x230CC +0x3F70 0x230CF +0x3F71 0x230D0 +0x3F72 0x23122 +0x3F73 0x2311E +0x3F74 0x23121 +0x3F75 0x232E5 +0x3F77 0x23354 +0x3F78 0x232EF +0x3F79 0x23353 +0x3F7A 0x23351 +0x3F7B 0x233AD +0x3F7C 0x23767 +0x3F7D 0x23768 +0x3F7E 0x237A4 +0x4021 0x23777 +0x4022 0x23789 +0x4023 0x23744 +0x4024 0x2378B +0x4025 0x23779 +0x4026 0x2375B +0x4027 0x23743 +0x4028 0x23757 +0x4029 0x2374A +0x402A 0x2377C +0x402B 0x23746 +0x402C 0x2377B +0x402D 0x23756 +0x402E 0x239A8 +0x402F 0x23A76 +0x4030 0x23A72 +0x4031 0x23AD6 +0x4032 0x23AD8 +0x4033 0x23AD1 +0x4034 0x23C22 +0x4035 0x23C20 +0x4036 0x23C23 +0x4037 0x23C1E +0x4038 0x23C6E +0x4039 0x240A3 +0x403A 0x24077 +0x403B 0x240A6 +0x403C 0x2406D +0x403D 0x240A2 +0x403E 0x2407C +0x403F 0x24084 +0x4040 0x24068 +0x4041 0x24074 +0x4042 0x24086 +0x4043 0x240A5 +0x4044 0x2407B +0x4045 0x2407A +0x4046 0x24069 +0x4047 0x24072 +0x4048 0x24076 +0x4049 0x2444A +0x404A 0x24437 +0x404B 0x2442A +0x404C 0x2442D +0x404D 0x24446 +0x404E 0x24428 +0x404F 0x24426 +0x4050 0x24442 +0x4051 0x2442C +0x4052 0x24438 +0x4053 0x2442B +0x4054 0x24433 +0x4055 0x24445 +0x4056 0x24539 +0x4057 0x246F9 +0x4058 0x246FA +0x4059 0x248B8 +0x405A 0x248B7 +0x405B 0x248BB +0x405C 0x248B9 +0x405D 0x248B4 +0x405E 0x24A6F +0x405F 0x24A87 +0x4060 0x24A8F +0x4061 0x24AA2 +0x4062 0x24AA3 +0x4063 0x2F931 +0x4064 0x24B9B +0x4065 0x24B9D +0x4066 0x24BCE +0x4068 0x24EBD +0x4069 0x24EBF +0x406A 0x24E92 +0x406C 0x24EEF +0x406D 0x24EC9 +0x406E 0x24FA4 +0x406F 0x24FA8 +0x4070 0x24FAA +0x4071 0x25028 +0x4072 0x25024 +0x4073 0x25025 +0x4074 0x25026 +0x4075 0x250A9 +0x4076 0x250BA +0x4077 0x250BE +0x4078 0x250BC +0x4079 0x250C0 +0x407A 0x252F0 +0x407B 0x252DF +0x407C 0x252E0 +0x407D 0x252ED +0x407E 0x252DB +0x4121 0x252FB +0x4122 0x252B9 +0x4123 0x252DA +0x4124 0x252EB +0x4125 0x252EC +0x4126 0x2559A +0x4127 0x2559F +0x4128 0x2559B +0x4129 0x25597 +0x412A 0x255A1 +0x412B 0x2570F +0x412C 0x25705 +0x412D 0x25748 +0x412F 0x258BC +0x4130 0x258BA +0x4131 0x25ABF +0x4132 0x25D01 +0x4133 0x25CE8 +0x4134 0x25CEF +0x4135 0x25CE4 +0x4136 0x25CE6 +0x4137 0x25D02 +0x4138 0x25CEB +0x4139 0x25CE0 +0x413A 0x25CED +0x413B 0x25CD9 +0x413C 0x2F964 +0x413D 0x25D14 +0x413E 0x25CEE +0x4140 0x25D13 +0x4141 0x25CF9 +0x4142 0x25CF8 +0x4143 0x25F25 +0x4144 0x2F969 +0x4145 0x25F19 +0x4146 0x25F20 +0x4147 0x25F43 +0x4148 0x25F3F +0x4149 0x26145 +0x414A 0x2614C +0x414B 0x26149 +0x414C 0x2614F +0x414D 0x26141 +0x414E 0x2613E +0x414F 0x2614D +0x4150 0x26152 +0x4151 0x2614A +0x4152 0x2614E +0x4153 0x26173 +0x4154 0x26142 +0x4155 0x26151 +0x4156 0x26155 +0x4157 0x26150 +0x4158 0x2616C +0x415A 0x2616A +0x415B 0x26153 +0x415C 0x26168 +0x415D 0x26255 +0x415E 0x26256 +0x415F 0x2631C +0x4160 0x2631D +0x4162 0x2631E +0x4163 0x26323 +0x4164 0x2631F +0x4165 0x263E1 +0x4166 0x263CD +0x4167 0x263CB +0x4168 0x263CC +0x4169 0x263C8 +0x416A 0x263C9 +0x416B 0x2649B +0x416C 0x26494 +0x416D 0x26492 +0x416E 0x26496 +0x416F 0x26493 +0x4170 0x26495 +0x4171 0x2648F +0x4172 0x2651D +0x4173 0x26522 +0x4174 0x26521 +0x4175 0x265E9 +0x4176 0x265EF +0x4177 0x265E0 +0x4178 0x265E6 +0x4179 0x265E4 +0x417A 0x26829 +0x417B 0x2682C +0x417C 0x26876 +0x417D 0x26883 +0x417E 0x26878 +0x4221 0x2683C +0x4222 0x24443 +0x4223 0x2687A +0x4225 0x268F2 +0x4226 0x2699E +0x4227 0x2699B +0x4228 0x2699A +0x4229 0x269F6 +0x422A 0x269F5 +0x422B 0x26AA5 +0x422C 0x26A93 +0x422D 0x26AA4 +0x422E 0x26E82 +0x422F 0x26EC7 +0x4230 0x26FB7 +0x4231 0x2701D +0x4232 0x26FE2 +0x4233 0x26FD7 +0x4234 0x26FE3 +0x4235 0x26FE4 +0x4236 0x26FBC +0x4237 0x26FD3 +0x4239 0x26F5A +0x423A 0x26FD2 +0x423B 0x26F2D +0x423C 0x2F9AF +0x423D 0x26FC4 +0x423E 0x26FD0 +0x423F 0x26FE5 +0x4240 0x27005 +0x4241 0x27007 +0x4242 0x26FE6 +0x4243 0x2701B +0x4244 0x26FE7 +0x4245 0x26FD8 +0x4246 0x26FBE +0x4247 0x27017 +0x4248 0x26FB4 +0x4249 0x26FD9 +0x424A 0x26FE8 +0x424B 0x26FAD +0x424C 0x26FAF +0x424D 0x26FC8 +0x424E 0x26FE9 +0x424F 0x26FEA +0x4250 0x271FE +0x4251 0x271FB +0x4252 0x27200 +0x4253 0x27472 +0x4254 0x27470 +0x4255 0x27446 +0x4256 0x27459 +0x4257 0x2745E +0x4258 0x27448 +0x4259 0x2744F +0x425A 0x27471 +0x425B 0x27460 +0x425C 0x2745F +0x425D 0x2746E +0x425E 0x27473 +0x425F 0x2F9C0 +0x4260 0x2F9BF +0x4261 0x27447 +0x4262 0x2746D +0x4263 0x2746F +0x4264 0x27481 +0x4265 0x2746C +0x4266 0x27478 +0x4267 0x27483 +0x4268 0x27449 +0x4269 0x27468 +0x426A 0x27474 +0x426B 0x27463 +0x426C 0x2746A +0x426D 0x26885 +0x426E 0x27465 +0x426F 0x27462 +0x4270 0x274C8 +0x4271 0x275D0 +0x4272 0x275D4 +0x4273 0x275D1 +0x4274 0x27603 +0x4275 0x27742 +0x4276 0x27763 +0x4277 0x27756 +0x4278 0x2775B +0x4279 0x27755 +0x427A 0x27750 +0x427B 0x2772D +0x427C 0x27744 +0x427D 0x27748 +0x427E 0x27745 +0x4321 0x27782 +0x4323 0x27762 +0x4324 0x27885 +0x4325 0x2788D +0x4326 0x27936 +0x4327 0x2792F +0x4328 0x27931 +0x4329 0x27937 +0x432A 0x27AA7 +0x432B 0x27AD9 +0x432C 0x27AF0 +0x432D 0x27AF2 +0x432E 0x27AFD +0x432F 0x27AE8 +0x4330 0x27AEB +0x4331 0x27AEE +0x4332 0x27AE0 +0x4333 0x27AE9 +0x4334 0x27AED +0x4335 0x27AD6 +0x4336 0x27AF8 +0x4337 0x27AD4 +0x4338 0x27ADF +0x4339 0x27AE7 +0x433A 0x27AD8 +0x433B 0x27AE3 +0x433C 0x27AEF +0x433D 0x27B0F +0x433E 0x27BCA +0x433F 0x21546 +0x4340 0x27C05 +0x4341 0x27C0C +0x4342 0x27C0D +0x4343 0x27C7F +0x4344 0x27C80 +0x4345 0x27C81 +0x4346 0x27D01 +0x4347 0x27D03 +0x4348 0x27DF2 +0x4349 0x27DE2 +0x434A 0x27DE3 +0x434B 0x27DDE +0x434C 0x27DE9 +0x434D 0x27DE8 +0x434E 0x27DE0 +0x434F 0x27E01 +0x4350 0x27DF5 +0x4351 0x27DE4 +0x4353 0x27E77 +0x4354 0x27F74 +0x4355 0x27F6F +0x4356 0x27F62 +0x4357 0x27F61 +0x4358 0x27F6D +0x4359 0x27F73 +0x435A 0x27F6A +0x435B 0x27F69 +0x435C 0x28112 +0x435D 0x2812D +0x435E 0x28114 +0x435F 0x2810F +0x4360 0x28129 +0x4361 0x28116 +0x4362 0x28103 +0x4363 0x28146 +0x4364 0x2815C +0x4365 0x28111 +0x4366 0x28106 +0x4367 0x280DC +0x4368 0x2812B +0x4369 0x2812A +0x436A 0x2812C +0x436B 0x28127 +0x436C 0x2827A +0x436D 0x2839C +0x436E 0x28399 +0x436F 0x28395 +0x4370 0x2838B +0x4371 0x28398 +0x4372 0x28396 +0x4373 0x28432 +0x4374 0x285A4 +0x4375 0x285AA +0x4376 0x2861B +0x4378 0x2860D +0x4379 0x2861C +0x437A 0x2860A +0x437B 0x28620 +0x437C 0x28608 +0x437D 0x2861A +0x437E 0x28613 +0x4421 0x28611 +0x4422 0x2875D +0x4423 0x2875F +0x4424 0x2875E +0x4425 0x28760 +0x4426 0x287BB +0x4427 0x287BC +0x4428 0x287C1 +0x4429 0x287C0 +0x442A 0x287C8 +0x442B 0x287CE +0x442C 0x288A7 +0x442D 0x288B2 +0x442E 0x288B6 +0x442F 0x288A5 +0x4430 0x288BA +0x4431 0x288B5 +0x4432 0x288AD +0x4433 0x288A4 +0x4434 0x288D3 +0x4435 0x288B0 +0x4436 0x288B1 +0x4437 0x2891D +0x4438 0x28A8D +0x443A 0x28A91 +0x443B 0x28AB6 +0x443C 0x28AB7 +0x443D 0x28ABD +0x443E 0x28ABC +0x443F 0x28A96 +0x4440 0x28A94 +0x4441 0x28AA0 +0x4442 0x28CA8 +0x4443 0x28CA6 +0x4444 0x28D84 +0x4445 0x28D96 +0x4446 0x28D88 +0x4447 0x28D9A +0x4448 0x28ED1 +0x4449 0x28ECF +0x444A 0x28F50 +0x444B 0x28F51 +0x444C 0x28F4E +0x444D 0x28F80 +0x444E 0x28F81 +0x444F 0x2901B +0x4450 0x29017 +0x4451 0x29020 +0x4452 0x29019 +0x4453 0x2901A +0x4454 0x29021 +0x4455 0x2901E +0x4456 0x29018 +0x4457 0x2901D +0x4459 0x2912D +0x445A 0x29124 +0x445B 0x29127 +0x445C 0x2912E +0x445D 0x29125 +0x445E 0x2911C +0x445F 0x29119 +0x4461 0x29123 +0x4462 0x2911F +0x4463 0x2911A +0x4464 0x2912B +0x4465 0x2911E +0x4466 0x291E0 +0x4467 0x29233 +0x4468 0x292E6 +0x4469 0x292FC +0x446A 0x292E5 +0x446B 0x292F8 +0x446C 0x292F6 +0x446D 0x292EA +0x446E 0x292F2 +0x446F 0x292ED +0x4470 0x292EB +0x4471 0x292F0 +0x4472 0x292F1 +0x4473 0x293C6 +0x4474 0x293C8 +0x4475 0x293CE +0x4476 0x293C5 +0x4478 0x293CB +0x4479 0x29513 +0x447A 0x29514 +0x447B 0x29507 +0x447C 0x2950C +0x447D 0x2961A +0x4521 0x29617 +0x4522 0x29606 +0x4523 0x29616 +0x4524 0x29607 +0x4525 0x29610 +0x4526 0x29609 +0x4527 0x29619 +0x4528 0x29615 +0x4529 0x2976E +0x452A 0x2973B +0x452B 0x2973E +0x452C 0x2976C +0x452D 0x29765 +0x452E 0x29764 +0x452F 0x29759 +0x4530 0x2977C +0x4531 0x29770 +0x4532 0x29779 +0x4533 0x2982C +0x4534 0x29852 +0x4535 0x29851 +0x4536 0x2984C +0x4537 0x29900 +0x4538 0x29910 +0x4539 0x29913 +0x453A 0x298FF +0x453B 0x298FE +0x453C 0x298ED +0x453D 0x29A5A +0x453E 0x29A58 +0x453F 0x29A5C +0x4540 0x29ADA +0x4541 0x29B78 +0x4542 0x29B5E +0x4543 0x29B67 +0x4544 0x29B64 +0x4545 0x29C13 +0x4546 0x29C23 +0x4547 0x29C41 +0x4548 0x29C3F +0x4549 0x29C40 +0x454A 0x29CED +0x454B 0x29CE3 +0x454C 0x29CEA +0x454D 0x29CF0 +0x454E 0x29CE6 +0x454F 0x29CE9 +0x4550 0x29CF1 +0x4551 0x29CEE +0x4552 0x29DD4 +0x4553 0x29DD1 +0x4554 0x29DDC +0x4555 0x29DEC +0x4556 0x2A069 +0x4557 0x2A06D +0x4558 0x2A057 +0x4559 0x2A066 +0x455A 0x2A0F9 +0x455B 0x2A04A +0x455C 0x2A060 +0x455D 0x2A056 +0x455E 0x2A059 +0x455F 0x2A04C +0x4560 0x2A06A +0x4561 0x2A062 +0x4562 0x2A063 +0x4563 0x2A070 +0x4564 0x2A05F +0x4565 0x2FA0D +0x4566 0x2A064 +0x4567 0x2A05D +0x4568 0x2A068 +0x4569 0x2A09F +0x456A 0x2A2BA +0x456B 0x2A2B8 +0x456C 0x2A2BC +0x456D 0x2A2B9 +0x456E 0x2A2B4 +0x456F 0x2A33B +0x4570 0x2A32D +0x4571 0x2A338 +0x4572 0x2A32F +0x4573 0x2A332 +0x4574 0x2A441 +0x4575 0x2A4CB +0x4576 0x2A4DE +0x4577 0x2A4DD +0x4578 0x2A4DA +0x4579 0x2A4DC +0x457A 0x2A510 +0x457B 0x2A54F +0x457C 0x2A549 +0x457D 0x2A598 +0x457E 0x2A596 +0x4621 0x2A597 +0x4622 0x2A5C7 +0x4623 0x2019C +0x4624 0x2A5DA +0x4625 0x2A5D8 +0x4626 0x2A6A8 +0x4627 0x2010A +0x4628 0x2019D +0x4629 0x204CB +0x462A 0x20538 +0x462B 0x20539 +0x462C 0x205A6 +0x462D 0x20823 +0x462E 0x20822 +0x462F 0x20821 +0x4630 0x209CE +0x4631 0x20B92 +0x4632 0x20B91 +0x4633 0x210EC +0x4634 0x210E0 +0x4635 0x210ED +0x4636 0x21108 +0x4637 0x210E5 +0x4638 0x210EE +0x4639 0x210E4 +0x463A 0x210EB +0x463B 0x210E3 +0x463C 0x210EA +0x463D 0x2110A +0x463E 0x2F859 +0x463F 0x214D1 +0x4640 0x214E3 +0x4641 0x214D4 +0x4642 0x214D0 +0x4643 0x214D9 +0x4646 0x214DA +0x4647 0x214D3 +0x4648 0x2154C +0x4649 0x2154D +0x464A 0x2157C +0x464B 0x21580 +0x464C 0x215CC +0x464D 0x218FF +0x464E 0x21908 +0x464F 0x2A508 +0x4650 0x21901 +0x4651 0x2F86B +0x4652 0x21900 +0x4653 0x21AED +0x4654 0x21AF3 +0x4655 0x21AEE +0x4656 0x21AF1 +0x4657 0x21AF0 +0x4658 0x21ADE +0x4659 0x21B51 +0x465A 0x21F82 +0x465B 0x21FA9 +0x465C 0x21F98 +0x465D 0x21F9D +0x465E 0x21F9A +0x465F 0x21F9E +0x4660 0x21F9F +0x4661 0x21FA6 +0x4662 0x21FA7 +0x4663 0x22009 +0x4664 0x2202F +0x4665 0x22171 +0x4666 0x2216D +0x4667 0x22172 +0x4668 0x222EF +0x4669 0x222F0 +0x466A 0x2243B +0x466B 0x22439 +0x466C 0x2243C +0x466D 0x22438 +0x466E 0x24BFD +0x466F 0x2243A +0x4670 0x22478 +0x4671 0x22479 +0x4672 0x22477 +0x4673 0x22598 +0x4674 0x2259C +0x4675 0x22599 +0x4676 0x2259A +0x4677 0x22911 +0x4678 0x2290A +0x4679 0x228FD +0x467A 0x2290F +0x467B 0x22919 +0x467C 0x22903 +0x467D 0x22915 +0x467E 0x2290C +0x4721 0x22909 +0x4722 0x22912 +0x4723 0x22934 +0x4724 0x2292A +0x4725 0x22908 +0x4726 0x2292D +0x4727 0x22928 +0x4728 0x2F8B1 +0x4729 0x2292C +0x472A 0x22926 +0x472B 0x22933 +0x472D 0x22A1A +0x472E 0x22A1E +0x472F 0x22E07 +0x4730 0x22E2C +0x4731 0x22E32 +0x4732 0x22E28 +0x4733 0x22E31 +0x4734 0x22E29 +0x4735 0x22E30 +0x4736 0x22E2A +0x4737 0x22E44 +0x4738 0x22E2E +0x4739 0x230D1 +0x473A 0x23124 +0x473B 0x232F7 +0x473C 0x232F4 +0x473D 0x232F3 +0x473E 0x232F8 +0x473F 0x237B5 +0x4740 0x23796 +0x4741 0x23798 +0x4742 0x23795 +0x4743 0x23791 +0x4744 0x237B2 +0x4745 0x2379E +0x4746 0x23759 +0x4747 0x237A3 +0x4748 0x2379A +0x4749 0x2379B +0x474B 0x26183 +0x474C 0x23ADA +0x474D 0x23ADF +0x474E 0x23B16 +0x474F 0x23C1F +0x4750 0x23C2D +0x4751 0x23C2E +0x4752 0x23C2B +0x4753 0x240B8 +0x4754 0x240BB +0x4755 0x240BF +0x4756 0x240BA +0x4757 0x240D5 +0x4758 0x240E3 +0x4759 0x240C1 +0x475A 0x240BE +0x475B 0x240BD +0x475C 0x240B4 +0x475D 0x240C2 +0x475E 0x240A1 +0x475F 0x24087 +0x4760 0x240D7 +0x4761 0x240CA +0x4762 0x240B5 +0x4763 0x240DA +0x4764 0x240D9 +0x4765 0x240B3 +0x4766 0x240D8 +0x4767 0x24467 +0x4768 0x24471 +0x4769 0x24462 +0x476A 0x2445C +0x476B 0x24468 +0x476C 0x24452 +0x476D 0x24456 +0x476E 0x21109 +0x476F 0x20442 +0x4770 0x245A0 +0x4771 0x24700 +0x4772 0x246FE +0x4773 0x246FF +0x4774 0x248CB +0x4775 0x2F928 +0x4776 0x248CA +0x4777 0x248A9 +0x4778 0x248C8 +0x4779 0x24AB4 +0x477A 0x24AAC +0x477B 0x24AAA +0x477C 0x24AA9 +0x477D 0x24C0E +0x477E 0x24CE9 +0x4821 0x24CED +0x4822 0x24CF2 +0x4823 0x24CEB +0x4824 0x24CEE +0x4825 0x24EE8 +0x4826 0x24EDB +0x4827 0x24ED7 +0x4828 0x24EE3 +0x4829 0x24EE5 +0x482A 0x24EEE +0x482B 0x24ED5 +0x482C 0x24FB3 +0x482D 0x2502D +0x482E 0x250C1 +0x482F 0x250C3 +0x4830 0x2530C +0x4831 0x2530E +0x4832 0x25307 +0x4833 0x25317 +0x4834 0x25309 +0x4835 0x25316 +0x4836 0x2539A +0x4837 0x2539C +0x4838 0x255B4 +0x4839 0x255B7 +0x483A 0x255B3 +0x483B 0x2154E +0x483C 0x25713 +0x483D 0x25714 +0x483E 0x258E6 +0x483F 0x258DC +0x4840 0x258E8 +0x4841 0x258E5 +0x4842 0x25A2E +0x4843 0x25A2C +0x4844 0x25A2B +0x4845 0x25ACD +0x4846 0x25D3D +0x4847 0x25D32 +0x4848 0x25D2D +0x4849 0x25D45 +0x484A 0x25D3E +0x484B 0x25D50 +0x484C 0x25D25 +0x484D 0x25D53 +0x484E 0x25D23 +0x484F 0x25F37 +0x4850 0x25F38 +0x4851 0x25F47 +0x4852 0x25F3D +0x4853 0x25F3E +0x4854 0x25F49 +0x4855 0x25F4A +0x4856 0x25F1D +0x4858 0x261A5 +0x4859 0x2618C +0x485A 0x2618D +0x485B 0x26189 +0x485C 0x26196 +0x485D 0x26185 +0x485E 0x2618F +0x485F 0x26177 +0x4860 0x2618E +0x4861 0x26182 +0x4862 0x2618A +0x4863 0x26188 +0x4864 0x2617B +0x4865 0x26197 +0x4866 0x2617D +0x4867 0x26179 +0x4868 0x26259 +0x4869 0x26324 +0x486A 0x2632D +0x486B 0x2632E +0x486C 0x2632B +0x486D 0x2F976 +0x486E 0x263DA +0x486F 0x263D8 +0x4870 0x263D6 +0x4871 0x26487 +0x4872 0x264A0 +0x4873 0x26528 +0x4874 0x26525 +0x4875 0x2651F +0x4876 0x265F3 +0x4877 0x265F7 +0x4878 0x265F6 +0x4879 0x2682B +0x487A 0x2685B +0x487B 0x26848 +0x487D 0x2685C +0x487E 0x2686D +0x4921 0x2689D +0x4922 0x26899 +0x4923 0x2688C +0x4924 0x26891 +0x4925 0x2689B +0x4926 0x2689A +0x4927 0x2689C +0x4928 0x26895 +0x4929 0x2688D +0x492A 0x26896 +0x492B 0x268A5 +0x492C 0x2692A +0x492D 0x269A1 +0x492E 0x269A4 +0x492F 0x269AD +0x4930 0x26AA9 +0x4931 0x26AAE +0x4932 0x26AB0 +0x4933 0x2700D +0x4934 0x26F63 +0x4935 0x26F71 +0x4936 0x27051 +0x4937 0x27054 +0x4938 0x2702A +0x4939 0x27044 +0x493A 0x27055 +0x493B 0x27099 +0x493C 0x27039 +0x493D 0x2703F +0x493E 0x2703E +0x493F 0x2704F +0x4940 0x2704D +0x4941 0x27035 +0x4942 0x27040 +0x4943 0x27031 +0x4944 0x26FD5 +0x4945 0x2702B +0x4946 0x27033 +0x4947 0x27041 +0x4948 0x27056 +0x4949 0x2704C +0x494A 0x27046 +0x494B 0x2703C +0x494C 0x27045 +0x494D 0x27043 +0x494E 0x2703D +0x494F 0x27070 +0x4950 0x27057 +0x4951 0x27038 +0x4952 0x27058 +0x4954 0x27037 +0x4955 0x27207 +0x4956 0x27206 +0x4957 0x27209 +0x4958 0x274AB +0x4959 0x27490 +0x495A 0x27493 +0x495B 0x274BC +0x495C 0x274A9 +0x495D 0x2749E +0x495E 0x274BF +0x495F 0x274AA +0x4960 0x27491 +0x4961 0x274A4 +0x4962 0x2749A +0x4963 0x274A7 +0x4964 0x274A1 +0x4965 0x2749C +0x4966 0x274A2 +0x4967 0x2749B +0x4968 0x2749F +0x4969 0x27494 +0x496A 0x2748F +0x496B 0x272F0 +0x496C 0x27492 +0x496D 0x27495 +0x496E 0x274A5 +0x496F 0x274A6 +0x4970 0x27604 +0x4971 0x2779C +0x4972 0x27779 +0x4973 0x2777A +0x4974 0x2777E +0x4975 0x2777B +0x4976 0x27771 +0x4977 0x27781 +0x4978 0x2777F +0x4979 0x2777C +0x497A 0x2777D +0x497B 0x27775 +0x497C 0x27776 +0x497D 0x2788E +0x497E 0x2788F +0x4A21 0x2793E +0x4A22 0x2793F +0x4A23 0x27940 +0x4A24 0x27941 +0x4A26 0x27B0D +0x4A27 0x27B17 +0x4A28 0x27B10 +0x4A29 0x27B0E +0x4A2A 0x27AEA +0x4A2B 0x27B1D +0x4A2C 0x27B03 +0x4A2D 0x27B22 +0x4A2E 0x27B04 +0x4A2F 0x27B00 +0x4A30 0x27B20 +0x4A31 0x27B21 +0x4A32 0x27B23 +0x4A33 0x27B13 +0x4A34 0x27B09 +0x4A35 0x27B11 +0x4A36 0x27BCB +0x4A37 0x27BCE +0x4A38 0x27BD0 +0x4A39 0x27BCC +0x4A3A 0x27BD4 +0x4A3B 0x214DB +0x4A3C 0x27C09 +0x4A3D 0x27C0B +0x4A3E 0x27C85 +0x4A3F 0x27D06 +0x4A40 0x27D0D +0x4A42 0x27D14 +0x4A43 0x27D0F +0x4A44 0x27E09 +0x4A45 0x27E14 +0x4A46 0x27E0B +0x4A47 0x27DFC +0x4A48 0x27E04 +0x4A49 0x27E0A +0x4A4A 0x27E00 +0x4A4B 0x27DFD +0x4A4C 0x27E07 +0x4A4D 0x27E06 +0x4A4E 0x27E11 +0x4A4F 0x27E79 +0x4A50 0x27E78 +0x4A51 0x27F88 +0x4A52 0x27F80 +0x4A53 0x27F8B +0x4A54 0x28159 +0x4A55 0x28161 +0x4A56 0x28175 +0x4A58 0x28155 +0x4A59 0x2815B +0x4A5A 0x2815F +0x4A5B 0x28152 +0x4A5C 0x28162 +0x4A5D 0x28172 +0x4A5E 0x2815D +0x4A5F 0x28168 +0x4A60 0x28171 +0x4A61 0x28165 +0x4A62 0x28166 +0x4A63 0x28167 +0x4A64 0x28176 +0x4A65 0x2814C +0x4A66 0x28160 +0x4A67 0x28174 +0x4A68 0x28150 +0x4A69 0x2828A +0x4A6A 0x28281 +0x4A6B 0x28286 +0x4A6C 0x2827F +0x4A6D 0x28280 +0x4A6E 0x283A5 +0x4A6F 0x283A7 +0x4A70 0x283A8 +0x4A71 0x283A6 +0x4A72 0x283AF +0x4A73 0x26195 +0x4A74 0x283B1 +0x4A75 0x28435 +0x4A76 0x28439 +0x4A77 0x285C3 +0x4A78 0x28630 +0x4A79 0x2862A +0x4A7A 0x2862B +0x4A7B 0x2862D +0x4A7C 0x2862E +0x4A7D 0x2862C +0x4A7E 0x28623 +0x4B21 0x28621 +0x4B22 0x28622 +0x4B23 0x2876C +0x4B24 0x28781 +0x4B25 0x2878F +0x4B26 0x28780 +0x4B27 0x287D0 +0x4B28 0x287CD +0x4B29 0x287D5 +0x4B2A 0x287D4 +0x4B2B 0x288D1 +0x4B2C 0x288BE +0x4B2D 0x288CB +0x4B2E 0x288CE +0x4B2F 0x288BD +0x4B30 0x288D0 +0x4B31 0x28B04 +0x4B32 0x28AD5 +0x4B33 0x28AD0 +0x4B34 0x28AD3 +0x4B35 0x28AFB +0x4B36 0x28AD8 +0x4B37 0x28AD1 +0x4B38 0x28AFD +0x4B39 0x28AD9 +0x4B3A 0x28AD6 +0x4B3B 0x28AE6 +0x4B3C 0x28AF9 +0x4B3D 0x28DA1 +0x4B3E 0x28D9D +0x4B3F 0x28D9E +0x4B41 0x28EFF +0x4B42 0x28F5F +0x4B43 0x28F57 +0x4B44 0x28F60 +0x4B45 0x28F59 +0x4B46 0x2902C +0x4B47 0x29025 +0x4B48 0x29027 +0x4B49 0x29030 +0x4B4A 0x29024 +0x4B4B 0x29026 +0x4B4C 0x2902D +0x4B4D 0x2902E +0x4B4E 0x29029 +0x4B4F 0x29031 +0x4B50 0x29145 +0x4B51 0x29147 +0x4B52 0x29152 +0x4B53 0x2914A +0x4B54 0x29150 +0x4B55 0x29146 +0x4B56 0x2914F +0x4B57 0x2914E +0x4B58 0x29153 +0x4B59 0x29321 +0x4B5A 0x29309 +0x4B5B 0x2931A +0x4B5C 0x2931B +0x4B5D 0x25315 +0x4B5E 0x29310 +0x4B5F 0x2F9F9 +0x4B60 0x29314 +0x4B61 0x2930E +0x4B62 0x29312 +0x4B63 0x2930B +0x4B64 0x293CF +0x4B65 0x293D2 +0x4B66 0x293D0 +0x4B67 0x293D4 +0x4B68 0x293D3 +0x4B69 0x293D1 +0x4B6A 0x20B18 +0x4B6B 0x2F9FB +0x4B6C 0x29409 +0x4B6D 0x2951C +0x4B6E 0x29527 +0x4B6F 0x29525 +0x4B70 0x2951B +0x4B71 0x29529 +0x4B72 0x2951F +0x4B73 0x29530 +0x4B74 0x29524 +0x4B75 0x29528 +0x4B76 0x29519 +0x4B77 0x2952F +0x4B78 0x29624 +0x4B79 0x29621 +0x4B7A 0x29625 +0x4B7B 0x29626 +0x4B7C 0x29627 +0x4B7D 0x29676 +0x4B7E 0x29766 +0x4C21 0x29775 +0x4C22 0x29769 +0x4C23 0x2977E +0x4C24 0x2978F +0x4C25 0x29774 +0x4C26 0x27210 +0x4C27 0x297AD +0x4C28 0x2982B +0x4C29 0x2982A +0x4C2A 0x29858 +0x4C2B 0x29922 +0x4C2C 0x2991D +0x4C2D 0x2992B +0x4C2E 0x2992C +0x4C2F 0x2992D +0x4C30 0x29933 +0x4C31 0x2991B +0x4C32 0x29927 +0x4C33 0x2992A +0x4C34 0x29928 +0x4C35 0x2993B +0x4C36 0x29A7E +0x4C37 0x29A71 +0x4C38 0x29A79 +0x4C39 0x29A78 +0x4C3A 0x29A70 +0x4C3B 0x29A6D +0x4C3C 0x29A7D +0x4C3D 0x29A75 +0x4C3E 0x29A76 +0x4C3F 0x29ADE +0x4C40 0x29B66 +0x4C41 0x29B83 +0x4C42 0x29B87 +0x4C43 0x29B7B +0x4C44 0x29B89 +0x4C45 0x29B86 +0x4C46 0x29B82 +0x4C47 0x29B7C +0x4C48 0x29B81 +0x4C49 0x29C43 +0x4C4A 0x29C45 +0x4C4B 0x29CF7 +0x4C4C 0x29CF9 +0x4C4D 0x29CFA +0x4C4E 0x29E05 +0x4C4F 0x29DFE +0x4C50 0x29E0F +0x4C51 0x29DFF +0x4C52 0x29DFA +0x4C53 0x29E09 +0x4C54 0x29E20 +0x4C55 0x29E0C +0x4C56 0x29E3C +0x4C57 0x29E22 +0x4C58 0x29DF8 +0x4C59 0x29E0A +0x4C5A 0x29E08 +0x4C5B 0x29DF7 +0x4C5C 0x2A08E +0x4C5D 0x2A077 +0x4C5E 0x2A08B +0x4C5F 0x2A0B4 +0x4C60 0x2A08A +0x4C61 0x2A09A +0x4C62 0x2A079 +0x4C63 0x2A083 +0x4C64 0x2A07F +0x4C65 0x2A0A1 +0x4C66 0x2A08F +0x4C67 0x2A0A3 +0x4C68 0x2A081 +0x4C69 0x2A094 +0x4C6A 0x2A07E +0x4C6B 0x2A082 +0x4C6C 0x2A090 +0x4C6D 0x2A0A5 +0x4C6E 0x2A0AD +0x4C6F 0x2A09D +0x4C70 0x2A267 +0x4C71 0x2A269 +0x4C72 0x2A2CB +0x4C73 0x2A2C8 +0x4C74 0x2A2D1 +0x4C75 0x2A340 +0x4C76 0x2A34B +0x4C77 0x2A349 +0x4C78 0x2A346 +0x4C79 0x2A33E +0x4C7A 0x2A343 +0x4C7B 0x2A33F +0x4C7C 0x2A3A5 +0x4C7D 0x2A3A7 +0x4C7E 0x2A44E +0x4D21 0x2A44D +0x4D22 0x2259B +0x4D23 0x2A4E5 +0x4D24 0x2A4E1 +0x4D25 0x2A4E2 +0x4D26 0x2A516 +0x4D27 0x2A514 +0x4D28 0x2FA1B +0x4D29 0x2A559 +0x4D2A 0x2A551 +0x4D2B 0x2A55F +0x4D2C 0x2A54A +0x4D2D 0x2A557 +0x4D2E 0x2A558 +0x4D2F 0x2A5CA +0x4D30 0x2A5DB +0x4D31 0x2A5DE +0x4D32 0x2A5E0 +0x4D33 0x2A5E1 +0x4D34 0x2A5DF +0x4D35 0x2A5E2 +0x4D36 0x2A5E3 +0x4D37 0x2A692 +0x4D38 0x2A6BF +0x4D39 0x2A6BE +0x4D3A 0x2010B +0x4D3B 0x20452 +0x4D3C 0x2044E +0x4D3E 0x2F813 +0x4D3F 0x205A7 +0x4D40 0x20826 +0x4D41 0x20827 +0x4D42 0x208C6 +0x4D43 0x2090B +0x4D44 0x2096A +0x4D45 0x20978 +0x4D46 0x2111A +0x4D47 0x21116 +0x4D48 0x21119 +0x4D49 0x21117 +0x4D4A 0x2111B +0x4D4B 0x21118 +0x4D4C 0x21120 +0x4D4D 0x21237 +0x4D4E 0x214EC +0x4D4F 0x21581 +0x4D50 0x2923D +0x4D51 0x2190F +0x4D52 0x219AD +0x4D53 0x21AFB +0x4D54 0x21B52 +0x4D55 0x21FAF +0x4D56 0x21FB7 +0x4D57 0x21FB2 +0x4D58 0x22178 +0x4D59 0x221AC +0x4D5A 0x22300 +0x4D5B 0x222FE +0x4D5C 0x22302 +0x4D5D 0x222FD +0x4D5E 0x22303 +0x4D5F 0x22440 +0x4D60 0x22443 +0x4D61 0x22442 +0x4D62 0x224B7 +0x4D63 0x225A2 +0x4D64 0x22900 +0x4D65 0x22935 +0x4D66 0x22941 +0x4D67 0x22905 +0x4D68 0x20453 +0x4D69 0x22950 +0x4D6A 0x2294E +0x4D6B 0x22953 +0x4D6C 0x22E53 +0x4D6D 0x22E50 +0x4D6E 0x22E57 +0x4D6F 0x22E5F +0x4D70 0x22E55 +0x4D71 0x22EEA +0x4D72 0x23026 +0x4D73 0x29830 +0x4D74 0x2302A +0x4D75 0x23028 +0x4D76 0x2302C +0x4D77 0x2302D +0x4D78 0x230D4 +0x4D79 0x23307 +0x4D7A 0x23358 +0x4D7B 0x23359 +0x4D7C 0x237C5 +0x4D7D 0x237CD +0x4D7E 0x237C7 +0x4E21 0x237E8 +0x4E23 0x23932 +0x4E24 0x2A697 +0x4E25 0x23ADE +0x4E26 0x23C32 +0x4E27 0x20AC8 +0x4E28 0x2F915 +0x4E29 0x240F1 +0x4E2A 0x240F0 +0x4E2B 0x240EC +0x4E2C 0x24109 +0x4E2D 0x240F9 +0x4E2E 0x240F5 +0x4E2F 0x240FE +0x4E30 0x24474 +0x4E31 0x24481 +0x4E32 0x2447C +0x4E33 0x24475 +0x4E34 0x24489 +0x4E35 0x24482 +0x4E36 0x24497 +0x4E37 0x24486 +0x4E38 0x2447D +0x4E39 0x24493 +0x4E3A 0x2449C +0x4E3B 0x24476 +0x4E3C 0x24480 +0x4E3D 0x24545 +0x4E3E 0x206A1 +0x4E3F 0x24703 +0x4E40 0x248C9 +0x4E41 0x248CD +0x4E42 0x248D0 +0x4E43 0x24AAD +0x4E44 0x24AC5 +0x4E45 0x24BA2 +0x4E46 0x24CEC +0x4E47 0x24CF6 +0x4E48 0x24CF3 +0x4E49 0x24EF3 +0x4E4A 0x24EFA +0x4E4B 0x24EF9 +0x4E4C 0x24EF5 +0x4E4D 0x24EF4 +0x4E4E 0x24EF8 +0x4E4F 0x24FB6 +0x4E50 0x24FB4 +0x4E51 0x25032 +0x4E52 0x250CD +0x4E53 0x250C8 +0x4E54 0x250CE +0x4E55 0x250CA +0x4E56 0x2532A +0x4E57 0x25321 +0x4E58 0x2531D +0x4E59 0x255BD +0x4E5A 0x255BE +0x4E5B 0x255C2 +0x4E5D 0x255C9 +0x4E5E 0x2571F +0x4E5F 0x258F1 +0x4E60 0x258ED +0x4E61 0x258F2 +0x4E62 0x258E0 +0x4E63 0x258F7 +0x4E64 0x25A30 +0x4E65 0x25A37 +0x4E66 0x25A31 +0x4E67 0x25A36 +0x4E68 0x25AC8 +0x4E69 0x25D6D +0x4E6A 0x25D69 +0x4E6B 0x25D7D +0x4E6C 0x25D61 +0x4E6D 0x25D70 +0x4E6E 0x25D71 +0x4E6F 0x25D73 +0x4E70 0x25D76 +0x4E71 0x25D75 +0x4E72 0x25D78 +0x4E73 0x25D79 +0x4E74 0x25D64 +0x4E75 0x25D6E +0x4E76 0x25F51 +0x4E77 0x25F4F +0x4E78 0x25F22 +0x4E79 0x261AF +0x4E7A 0x261AA +0x4E7B 0x261A3 +0x4E7C 0x2619D +0x4E7D 0x2619C +0x4E7E 0x261A1 +0x4F21 0x261B6 +0x4F22 0x261AC +0x4F23 0x261A2 +0x4F24 0x261A7 +0x4F25 0x261B0 +0x4F26 0x261A9 +0x4F27 0x261C3 +0x4F28 0x26331 +0x4F29 0x26332 +0x4F2A 0x26333 +0x4F2B 0x26334 +0x4F2C 0x26337 +0x4F2D 0x2633C +0x4F2E 0x263D9 +0x4F2F 0x263DD +0x4F30 0x263DE +0x4F31 0x263DF +0x4F32 0x263E0 +0x4F33 0x264A5 +0x4F34 0x264AA +0x4F35 0x264A2 +0x4F36 0x264A3 +0x4F37 0x26604 +0x4F38 0x26603 +0x4F39 0x265FE +0x4F3A 0x26628 +0x4F3B 0x268AF +0x4F3C 0x268AD +0x4F3D 0x268A6 +0x4F3E 0x269AC +0x4F3F 0x269A5 +0x4F40 0x269B0 +0x4F41 0x269B1 +0x4F42 0x26A01 +0x4F43 0x26AB2 +0x4F44 0x26AD2 +0x4F45 0x26AF1 +0x4F46 0x26FD1 +0x4F47 0x27047 +0x4F48 0x270C9 +0x4F49 0x270A7 +0x4F4A 0x270C8 +0x4F4B 0x27095 +0x4F4C 0x2708E +0x4F4D 0x27091 +0x4F4E 0x2707D +0x4F4F 0x270EE +0x4F50 0x2708D +0x4F51 0x2708C +0x4F52 0x270B0 +0x4F53 0x27096 +0x4F54 0x27042 +0x4F55 0x2707C +0x4F56 0x270B1 +0x4F57 0x270B2 +0x4F58 0x27084 +0x4F59 0x2709D +0x4F5A 0x270A1 +0x4F5B 0x27098 +0x4F5C 0x270B3 +0x4F5D 0x27022 +0x4F5E 0x2707B +0x4F5F 0x2708A +0x4F60 0x270CE +0x4F61 0x27080 +0x4F62 0x27097 +0x4F63 0x270B4 +0x4F64 0x270B5 +0x4F65 0x2709A +0x4F66 0x2709F +0x4F67 0x27093 +0x4F68 0x27212 +0x4F69 0x2720B +0x4F6A 0x2720E +0x4F6B 0x274A3 +0x4F6C 0x274CC +0x4F6D 0x274DC +0x4F6E 0x274E1 +0x4F6F 0x274DE +0x4F70 0x274D2 +0x4F71 0x274DB +0x4F72 0x274D9 +0x4F73 0x274D7 +0x4F74 0x274D4 +0x4F75 0x274C9 +0x4F76 0x274EB +0x4F77 0x274DA +0x4F78 0x274D1 +0x4F79 0x27504 +0x4F7A 0x274CA +0x4F7B 0x274E2 +0x4F7C 0x275D7 +0x4F7D 0x2778C +0x4F7E 0x27799 +0x5021 0x277A2 +0x5022 0x27796 +0x5023 0x27794 +0x5024 0x2779F +0x5026 0x2778E +0x5027 0x27803 +0x5028 0x27894 +0x5029 0x27893 +0x502A 0x27944 +0x502B 0x27B2F +0x502C 0x27B35 +0x502D 0x27B2B +0x502E 0x27B32 +0x502F 0x27B2D +0x5030 0x27B36 +0x5032 0x27B31 +0x5033 0x27B12 +0x5034 0x27B33 +0x5035 0x27B1F +0x5036 0x27B34 +0x5037 0x27B40 +0x5038 0x27B3F +0x5039 0x27B41 +0x503A 0x27BD3 +0x503B 0x27C89 +0x503C 0x27D18 +0x503D 0x27D10 +0x503E 0x27E1A +0x503F 0x27E25 +0x5040 0x27E1E +0x5041 0x27F92 +0x5042 0x27F95 +0x5043 0x27F93 +0x5044 0x28184 +0x5045 0x2819A +0x5046 0x28189 +0x5047 0x2818D +0x5048 0x28188 +0x5049 0x28191 +0x504A 0x2819B +0x504B 0x2819C +0x504C 0x29548 +0x504D 0x2828E +0x504E 0x28292 +0x504F 0x283C5 +0x5050 0x283C1 +0x5051 0x283B8 +0x5052 0x283BE +0x5053 0x283B5 +0x5054 0x283C7 +0x5055 0x2843C +0x5057 0x285EC +0x5058 0x2863F +0x5059 0x28639 +0x505A 0x28637 +0x505B 0x287A1 +0x505C 0x28794 +0x505D 0x287A0 +0x505E 0x287DE +0x505F 0x287DB +0x5060 0x287DF +0x5061 0x287DC +0x5062 0x288D6 +0x5063 0x288DC +0x5064 0x288DD +0x5065 0x288E0 +0x5066 0x288E3 +0x5067 0x288E1 +0x5068 0x28B18 +0x5069 0x28B19 +0x506A 0x28B53 +0x506B 0x2F9EC +0x506C 0x28B44 +0x506D 0x28B0E +0x506E 0x28B0F +0x506F 0x28B47 +0x5070 0x28B17 +0x5071 0x28B1D +0x5072 0x28B11 +0x5073 0x28CB4 +0x5074 0x28CB6 +0x5075 0x28DB7 +0x5076 0x28DBE +0x5077 0x28DC2 +0x5078 0x28DB4 +0x5079 0x28F31 +0x507A 0x28F15 +0x507B 0x28F83 +0x507C 0x2903B +0x507D 0x29036 +0x507E 0x29042 +0x5121 0x29050 +0x5122 0x29040 +0x5123 0x29034 +0x5124 0x29038 +0x5125 0x2903D +0x5126 0x2903E +0x5127 0x29035 +0x5128 0x2903A +0x5129 0x29046 +0x512A 0x29037 +0x512B 0x29039 +0x512C 0x29045 +0x512D 0x29177 +0x512E 0x2915D +0x512F 0x2916A +0x5130 0x29176 +0x5131 0x2916B +0x5132 0x2916C +0x5133 0x29165 +0x5134 0x29164 +0x5135 0x29171 +0x5136 0x2915F +0x5137 0x29172 +0x5138 0x291FE +0x5139 0x291FF +0x513A 0x2923E +0x513B 0x2932B +0x513C 0x29336 +0x513D 0x2932D +0x513E 0x29339 +0x513F 0x2933F +0x5140 0x2933B +0x5141 0x29333 +0x5142 0x29342 +0x5143 0x2933A +0x5144 0x293D5 +0x5145 0x293D8 +0x5146 0x293D9 +0x5147 0x2940D +0x5148 0x2940A +0x5149 0x29439 +0x514A 0x2943A +0x514B 0x2953D +0x514C 0x29545 +0x514D 0x2953A +0x514E 0x29537 +0x514F 0x2953E +0x5150 0x29542 +0x5151 0x29787 +0x5152 0x2978C +0x5153 0x29782 +0x5154 0x2976B +0x5155 0x297A0 +0x5156 0x2979A +0x5157 0x29790 +0x5158 0x2978E +0x5159 0x297A1 +0x515A 0x297BD +0x515B 0x297B2 +0x515C 0x297B5 +0x515D 0x297B7 +0x515E 0x297AA +0x515F 0x297A2 +0x5160 0x297A5 +0x5161 0x297AE +0x5162 0x297AB +0x5163 0x297BC +0x5164 0x29832 +0x5165 0x2985A +0x5166 0x29964 +0x5167 0x2995C +0x5168 0x2994D +0x5169 0x2993F +0x516A 0x2993E +0x516B 0x29952 +0x516C 0x29958 +0x516D 0x29957 +0x516E 0x2995E +0x516F 0x29953 +0x5170 0x29954 +0x5171 0x29956 +0x5172 0x28F65 +0x5173 0x29A84 +0x5174 0x29A85 +0x5175 0x29A86 +0x5176 0x29B97 +0x5177 0x29BA1 +0x5178 0x29BA2 +0x517A 0x2FA0A +0x517B 0x29BA3 +0x517C 0x29BA6 +0x517E 0x29C15 +0x5221 0x29C24 +0x5222 0x29C4A +0x5223 0x29C49 +0x5224 0x29C48 +0x5225 0x29C4B +0x5226 0x29D0E +0x5227 0x29962 +0x5228 0x29D0B +0x5229 0x29D0A +0x522A 0x29D08 +0x522B 0x29D06 +0x522C 0x29E43 +0x522D 0x29E47 +0x522E 0x29E3F +0x522F 0x29E46 +0x5230 0x29E50 +0x5232 0x29E4B +0x5234 0x29E52 +0x5235 0x2A0D7 +0x5236 0x2A0BF +0x5237 0x2A0D8 +0x5238 0x2A0E0 +0x5239 0x2A0E7 +0x523A 0x2A0B8 +0x523B 0x2A0D5 +0x523C 0x2A0EF +0x523D 0x2A0E6 +0x523E 0x2A0E4 +0x523F 0x2A0D4 +0x5240 0x2A0D6 +0x5241 0x2A0EA +0x5243 0x2A0BB +0x5244 0x2A0E9 +0x5245 0x2FA10 +0x5246 0x2A26D +0x5247 0x2A270 +0x5248 0x2A273 +0x5249 0x2A272 +0x524A 0x2A2D4 +0x524B 0x2A2CE +0x524C 0x2A2D5 +0x524D 0x2A35A +0x524E 0x2A358 +0x524F 0x2A352 +0x5250 0x2A350 +0x5251 0x2A355 +0x5252 0x2A34E +0x5253 0x2A34D +0x5254 0x2A3CB +0x5255 0x2A3CC +0x5256 0x2A3CD +0x5257 0x2A3D1 +0x5258 0x2A458 +0x5259 0x2A463 +0x525A 0x2A45E +0x525B 0x2A454 +0x525C 0x2A45B +0x525D 0x2A4E9 +0x525E 0x2A4E7 +0x525F 0x2A4E8 +0x5260 0x2A51D +0x5261 0x2A567 +0x5262 0x2A55A +0x5263 0x2A55C +0x5264 0x2A55B +0x5265 0x2A561 +0x5266 0x2A5A1 +0x5268 0x2A5A4 +0x5269 0x2A5E9 +0x526A 0x2A5EF +0x526B 0x2A5E5 +0x526C 0x2A5F5 +0x526D 0x2A5EB +0x526E 0x2A5ED +0x526F 0x2A696 +0x5270 0x2A695 +0x5271 0x2A6B3 +0x5272 0x2A6B5 +0x5273 0x2A6B1 +0x5275 0x2044D +0x5276 0x20624 +0x5277 0x2082B +0x5278 0x209CF +0x5279 0x20AC9 +0x527A 0x21136 +0x527B 0x21131 +0x527C 0x21154 +0x527D 0x2113A +0x527E 0x21138 +0x5321 0x21239 +0x5322 0x21238 +0x5323 0x214F4 +0x5324 0x214F3 +0x5325 0x214F6 +0x5326 0x214FC +0x5327 0x214F5 +0x5328 0x214F1 +0x5329 0x2169C +0x532A 0x21918 +0x532B 0x2191A +0x532C 0x21AFC +0x532D 0x21AFE +0x532E 0x21B03 +0x532F 0x21B53 +0x5330 0x21D2B +0x5331 0x21FC6 +0x5332 0x21FC1 +0x5333 0x2217B +0x5334 0x22306 +0x5335 0x22449 +0x5336 0x224B8 +0x5337 0x225A3 +0x5338 0x22952 +0x5339 0x2294D +0x533A 0x2295F +0x533B 0x2295E +0x533C 0x22961 +0x533D 0x22A23 +0x533E 0x22E8C +0x533F 0x22E6F +0x5340 0x22E75 +0x5341 0x22E74 +0x5342 0x22E71 +0x5343 0x22E70 +0x5344 0x22E6C +0x5345 0x23126 +0x5346 0x23308 +0x5348 0x237F0 +0x5349 0x237EF +0x534A 0x237FB +0x534B 0x23810 +0x534C 0x2380C +0x534D 0x237F6 +0x534E 0x237FE +0x534F 0x23A7C +0x5350 0x23AE1 +0x5351 0x23C38 +0x5352 0x23C6F +0x5353 0x24118 +0x5354 0x24115 +0x5355 0x2411C +0x5356 0x24110 +0x5357 0x24135 +0x5358 0x2F917 +0x5359 0x24117 +0x535A 0x2411D +0x535B 0x24126 +0x535C 0x24128 +0x535D 0x24129 +0x535E 0x2412A +0x535F 0x2411A +0x5360 0x2F916 +0x5361 0x22307 +0x5362 0x244AB +0x5363 0x244AC +0x5364 0x244A1 +0x5365 0x244AE +0x5366 0x244A3 +0x5367 0x244A7 +0x5368 0x24548 +0x5369 0x24604 +0x536A 0x246FD +0x536C 0x24708 +0x536D 0x248D2 +0x536E 0x24AC6 +0x536F 0x24ABE +0x5370 0x24B1C +0x5371 0x24BA6 +0x5372 0x24BA7 +0x5373 0x24BAB +0x5374 0x24C00 +0x5375 0x24CFB +0x5376 0x24CFC +0x5377 0x24CF9 +0x5378 0x24D01 +0x5379 0x24F06 +0x537A 0x24F04 +0x537B 0x2F93C +0x537C 0x25034 +0x537D 0x25336 +0x537E 0x25332 +0x5421 0x25342 +0x5422 0x2532D +0x5423 0x25335 +0x5424 0x255D8 +0x5425 0x25723 +0x5426 0x25720 +0x5427 0x25901 +0x5428 0x25900 +0x5429 0x25903 +0x542A 0x2A6BC +0x542B 0x25A3C +0x542C 0x25A41 +0x542D 0x25A35 +0x542E 0x25AC9 +0x542F 0x25D8E +0x5430 0x25D9E +0x5431 0x25D99 +0x5432 0x25DB4 +0x5433 0x25DAA +0x5434 0x25D9F +0x5435 0x25D96 +0x5436 0x25D9D +0x5437 0x25DC3 +0x5438 0x25D74 +0x5439 0x25DAB +0x543B 0x25F63 +0x543C 0x25F5B +0x543D 0x25F5A +0x543E 0x261C5 +0x543F 0x261C4 +0x5440 0x261CF +0x5441 0x261C8 +0x5442 0x261A4 +0x5443 0x261BD +0x5444 0x261D3 +0x5445 0x26260 +0x5446 0x2633B +0x5447 0x263E3 +0x5448 0x263E7 +0x5449 0x264A8 +0x544A 0x264AC +0x544B 0x264A9 +0x544C 0x2652A +0x544D 0x26608 +0x544E 0x26609 +0x544F 0x268B9 +0x5450 0x26AC1 +0x5451 0x26AC2 +0x5452 0x26AB8 +0x5453 0x270E1 +0x5454 0x270EB +0x5455 0x270E5 +0x5456 0x270FA +0x5457 0x270E4 +0x5458 0x2710B +0x5459 0x270D7 +0x545A 0x270EF +0x545B 0x270E0 +0x545C 0x270EC +0x545D 0x270FB +0x545E 0x2F9B0 +0x545F 0x270D3 +0x5460 0x270E6 +0x5461 0x270FC +0x5462 0x270E3 +0x5463 0x270CF +0x5464 0x270DA +0x5465 0x270DC +0x5466 0x270D2 +0x5467 0x270A4 +0x5469 0x27217 +0x546A 0x27216 +0x546B 0x274F2 +0x546C 0x274FC +0x546D 0x27518 +0x546E 0x274F6 +0x546F 0x274FE +0x5470 0x274F3 +0x5471 0x274F7 +0x5472 0x27501 +0x5473 0x274F9 +0x5474 0x27506 +0x5475 0x274F5 +0x5476 0x27510 +0x5477 0x274DF +0x5478 0x27503 +0x5479 0x27508 +0x547A 0x275D8 +0x547B 0x27605 +0x547C 0x27797 +0x547D 0x277B3 +0x547E 0x277AE +0x5521 0x277AF +0x5522 0x277A7 +0x5523 0x277B1 +0x5524 0x277A8 +0x5525 0x277AC +0x5526 0x277AB +0x5527 0x27804 +0x5528 0x2789A +0x5529 0x2794A +0x552A 0x27B42 +0x552B 0x27B58 +0x552C 0x27B4B +0x552D 0x27B45 +0x552E 0x27B49 +0x552F 0x27B4C +0x5530 0x27B59 +0x5531 0x27B56 +0x5533 0x27B46 +0x5534 0x27B44 +0x5535 0x27B5B +0x5536 0x27B69 +0x5537 0x27C8E +0x5538 0x27C8F +0x5539 0x27D1E +0x553A 0x268BC +0x553B 0x27E2F +0x553C 0x27F9E +0x553D 0x27F9D +0x553E 0x27F9F +0x553F 0x27F9C +0x5540 0x281B4 +0x5541 0x281AE +0x5542 0x281AB +0x5543 0x281B3 +0x5544 0x281AF +0x5545 0x281C2 +0x5546 0x28293 +0x5547 0x28295 +0x5548 0x28296 +0x5549 0x28297 +0x554A 0x283CF +0x554B 0x283CE +0x554C 0x283CB +0x554D 0x2844B +0x554E 0x28646 +0x554F 0x28643 +0x5550 0x28645 +0x5551 0x28651 +0x5552 0x287AE +0x5553 0x287AF +0x5554 0x287B0 +0x5555 0x287B8 +0x5556 0x287E2 +0x5557 0x287E3 +0x5558 0x287E6 +0x5559 0x288ED +0x555A 0x288EA +0x555B 0x2893A +0x555C 0x28B59 +0x555D 0x28B84 +0x555E 0x28B5F +0x555F 0x28B7C +0x5560 0x28B5C +0x5561 0x28B58 +0x5562 0x28B55 +0x5563 0x28B5D +0x5564 0x28B7E +0x5565 0x28B80 +0x5566 0x28B83 +0x5567 0x28B57 +0x5569 0x28B5E +0x556A 0x28CBA +0x556B 0x28DD5 +0x556C 0x28F58 +0x556D 0x28F68 +0x556E 0x28F67 +0x556F 0x2904A +0x5570 0x2904C +0x5571 0x29052 +0x5572 0x29049 +0x5573 0x2904E +0x5574 0x29047 +0x5575 0x2904D +0x5576 0x2904B +0x5577 0x2904F +0x5578 0x2917E +0x5579 0x29187 +0x557A 0x29183 +0x557B 0x29189 +0x557C 0x24ACA +0x557D 0x29186 +0x557E 0x29188 +0x5621 0x29247 +0x5622 0x29242 +0x5623 0x29249 +0x5624 0x29248 +0x5628 0x29344 +0x5629 0x29351 +0x562A 0x29346 +0x562B 0x29347 +0x562C 0x293E4 +0x562D 0x2940F +0x562E 0x2943F +0x562F 0x2954B +0x5630 0x29557 +0x5631 0x29552 +0x5633 0x29551 +0x5634 0x29558 +0x5635 0x2955E +0x5636 0x29553 +0x5637 0x2955D +0x5638 0x2954D +0x5639 0x2963C +0x563A 0x2963F +0x563B 0x29646 +0x563C 0x2963E +0x563D 0x29644 +0x563E 0x29645 +0x563F 0x29641 +0x5640 0x29638 +0x5641 0x29642 +0x5642 0x29643 +0x5643 0x2967A +0x5644 0x297A3 +0x5645 0x297BA +0x5646 0x297C0 +0x5647 0x297C4 +0x5648 0x297C6 +0x5649 0x297CB +0x564A 0x29861 +0x564B 0x2997A +0x564C 0x29973 +0x564D 0x29972 +0x564E 0x29974 +0x564F 0x29980 +0x5650 0x29981 +0x5652 0x29A95 +0x5653 0x29A8F +0x5654 0x29A90 +0x5655 0x29A92 +0x5656 0x29A94 +0x5657 0x29A8B +0x5658 0x29AE6 +0x5659 0x29BB2 +0x565A 0x29BB8 +0x565B 0x29BBD +0x565C 0x29BBE +0x565D 0x29BCE +0x565E 0x29BBA +0x565F 0x29C16 +0x5660 0x29C26 +0x5661 0x29C25 +0x5662 0x29C4C +0x5663 0x29C50 +0x5664 0x29C4E +0x5665 0x29C51 +0x5666 0x29C52 +0x5667 0x29D14 +0x5668 0x29D15 +0x5669 0x29D1B +0x566A 0x29E82 +0x566B 0x29E99 +0x566C 0x29E9A +0x566D 0x29E7D +0x566E 0x29E85 +0x566F 0x29E86 +0x5670 0x29E9C +0x5671 0x29E79 +0x5672 0x29E7B +0x5673 0x29E80 +0x5674 0x29E83 +0x5675 0x29E81 +0x5676 0x2A11E +0x5677 0x2A11B +0x5678 0x2A12A +0x5679 0x2A0FB +0x567A 0x2A105 +0x567B 0x2A120 +0x567C 0x2A111 +0x567D 0x2A104 +0x567E 0x2A0FD +0x5721 0x2A103 +0x5722 0x2A110 +0x5723 0x2A118 +0x5724 0x2A10A +0x5725 0x2A14E +0x5726 0x2A109 +0x5727 0x2A107 +0x5728 0x2A11C +0x572A 0x2A277 +0x572B 0x2A276 +0x572C 0x2A2D8 +0x572D 0x2A2D9 +0x572E 0x2A361 +0x572F 0x2A35C +0x5730 0x2A35E +0x5731 0x2A360 +0x5732 0x2A3AA +0x5733 0x2A3D6 +0x5734 0x2A3D8 +0x5735 0x2A409 +0x5736 0x2A408 +0x5737 0x2A46B +0x5738 0x2A465 +0x5739 0x2A473 +0x573A 0x2A474 +0x573B 0x2A4ED +0x573C 0x2A524 +0x573D 0x2A525 +0x573E 0x2A56A +0x573F 0x2A5A7 +0x5740 0x2A5A8 +0x5741 0x2A60B +0x5742 0x2A5FA +0x5743 0x2A5F9 +0x5744 0x2A5FF +0x5745 0x2A604 +0x5746 0x2A5F6 +0x5747 0x2A605 +0x5748 0x2A699 +0x5749 0x2A6AB +0x574A 0x2A6BD +0x574B 0x2A6B8 +0x574D 0x20464 +0x574E 0x2045A +0x574F 0x20572 +0x5750 0x2097A +0x5751 0x20B95 +0x5752 0x2115F +0x5753 0x21161 +0x5754 0x2115E +0x5755 0x2115A +0x5756 0x2115C +0x5757 0x2115D +0x5758 0x2116E +0x5759 0x21157 +0x575A 0x21158 +0x575B 0x21502 +0x575C 0x2150B +0x575D 0x21508 +0x575E 0x21551 +0x575F 0x21925 +0x5760 0x21928 +0x5761 0x21923 +0x5762 0x21921 +0x5763 0x21924 +0x5764 0x21929 +0x5765 0x21B06 +0x5766 0x21B0A +0x5767 0x21FCA +0x5768 0x21FCC +0x5769 0x21FCB +0x576A 0x21FCF +0x576B 0x2217F +0x576C 0x2217C +0x576D 0x221D6 +0x576E 0x22309 +0x576F 0x2230B +0x5770 0x22376 +0x5771 0x2247D +0x5772 0x225A5 +0x5773 0x2295B +0x5774 0x2295C +0x5775 0x2295D +0x5776 0x22965 +0x5777 0x22E6D +0x5778 0x22E82 +0x5779 0x22E83 +0x577A 0x22E87 +0x577B 0x22E95 +0x577C 0x22E8A +0x577D 0x230D6 +0x577E 0x23128 +0x5821 0x2330D +0x5822 0x2382E +0x5823 0x2F8EE +0x5824 0x2382D +0x5825 0x23821 +0x5826 0x23819 +0x5827 0x2393B +0x5828 0x2393C +0x5829 0x2393A +0x582A 0x23A7E +0x582B 0x23C3B +0x582C 0x24147 +0x582D 0x24139 +0x582E 0x24134 +0x582F 0x24136 +0x5830 0x24146 +0x5831 0x2413B +0x5832 0x24141 +0x5833 0x24145 +0x5834 0x244C0 +0x5835 0x244C4 +0x5836 0x244BA +0x5837 0x244BD +0x5838 0x244BE +0x5839 0x245A3 +0x583A 0x2470C +0x583B 0x248D9 +0x583C 0x24ACD +0x583D 0x24BAE +0x583E 0x24CFF +0x583F 0x24D24 +0x5840 0x24FBB +0x5841 0x24FBC +0x5842 0x25036 +0x5843 0x250D5 +0x5844 0x250D3 +0x5845 0x250D6 +0x5846 0x2533C +0x5847 0x2533F +0x5848 0x255DE +0x5849 0x255E3 +0x584A 0x25727 +0x584B 0x25729 +0x584D 0x25905 +0x584E 0x25907 +0x584F 0x2590C +0x5850 0x25AD0 +0x5851 0x25DBE +0x5852 0x25DBC +0x5853 0x25DD0 +0x5854 0x25DC2 +0x5855 0x25DB5 +0x5856 0x25DC9 +0x5857 0x25F66 +0x5859 0x261D5 +0x585A 0x261E2 +0x585B 0x261DC +0x585C 0x261E3 +0x585D 0x261DA +0x585E 0x261C2 +0x585F 0x261E8 +0x5860 0x263E9 +0x5861 0x264AF +0x5862 0x264AD +0x5863 0x264AE +0x5864 0x2660B +0x5865 0x268C1 +0x5866 0x269B6 +0x5867 0x269B9 +0x5868 0x26AC0 +0x5869 0x270A5 +0x586A 0x27128 +0x586B 0x27122 +0x586C 0x27129 +0x586D 0x27118 +0x586E 0x2711F +0x586F 0x2711C +0x5870 0x27112 +0x5871 0x2712A +0x5873 0x27121 +0x5874 0x2712B +0x5875 0x27117 +0x5876 0x270F0 +0x5877 0x27116 +0x5878 0x27123 +0x5879 0x2752B +0x587A 0x27526 +0x587B 0x2753D +0x587C 0x27522 +0x587D 0x2753A +0x587E 0x27531 +0x5921 0x27532 +0x5922 0x27554 +0x5923 0x27521 +0x5924 0x27535 +0x5926 0x2752E +0x5927 0x27530 +0x5928 0x2752F +0x5929 0x27536 +0x592A 0x275DA +0x592B 0x275D9 +0x592C 0x277BB +0x592D 0x277BC +0x592E 0x277B7 +0x592F 0x277C2 +0x5930 0x277BD +0x5931 0x277B2 +0x5933 0x25344 +0x5934 0x25DD1 +0x5935 0x27B52 +0x5936 0x27B6B +0x5937 0x27B67 +0x5939 0x27B61 +0x593A 0x27B6C +0x593B 0x27B51 +0x593C 0x27B74 +0x593D 0x27B77 +0x593E 0x27B6F +0x593F 0x27B6D +0x5940 0x27B68 +0x5941 0x2F9D1 +0x5942 0x27B84 +0x5943 0x27C90 +0x5944 0x27C92 +0x5945 0x27C93 +0x5946 0x27D1F +0x5947 0x27E31 +0x5948 0x27E38 +0x5949 0x27E39 +0x594A 0x27E37 +0x594B 0x27FAB +0x594C 0x281C3 +0x594D 0x281C8 +0x594E 0x281CB +0x594F 0x281CF +0x5950 0x28298 +0x5951 0x283D4 +0x5952 0x283D3 +0x5953 0x283D8 +0x5954 0x283D9 +0x5955 0x283DD +0x5956 0x283D1 +0x5957 0x283D6 +0x5958 0x2843E +0x5959 0x28658 +0x595A 0x28657 +0x595B 0x28655 +0x595C 0x287C4 +0x595D 0x287E4 +0x595E 0x288EE +0x595F 0x288EF +0x5960 0x288F3 +0x5961 0x288F2 +0x5962 0x288F0 +0x5963 0x28BAB +0x5964 0x28B9A +0x5965 0x28BAF +0x5966 0x28B97 +0x5969 0x28BBF +0x596A 0x28B94 +0x596B 0x28B93 +0x596C 0x28CBE +0x596D 0x28CBB +0x596E 0x28CBC +0x596F 0x28DD9 +0x5970 0x28F6C +0x5971 0x29053 +0x5972 0x29054 +0x5973 0x2905B +0x5974 0x29058 +0x5975 0x29056 +0x5976 0x29057 +0x5977 0x2919F +0x5978 0x29194 +0x5979 0x29196 +0x597A 0x29197 +0x597B 0x2924A +0x597C 0x2924B +0x597D 0x29355 +0x597E 0x2935A +0x5A21 0x2935E +0x5A22 0x2935F +0x5A23 0x29359 +0x5A24 0x2935B +0x5A25 0x29358 +0x5A26 0x29354 +0x5A27 0x293E8 +0x5A28 0x293EB +0x5A29 0x293EC +0x5A2A 0x29413 +0x5A2B 0x29566 +0x5A2C 0x2956B +0x5A2D 0x29562 +0x5A2E 0x29569 +0x5A2F 0x29563 +0x5A30 0x2955F +0x5A31 0x2954E +0x5A32 0x29648 +0x5A33 0x2964A +0x5A34 0x297E3 +0x5A35 0x297DB +0x5A36 0x297D8 +0x5A37 0x297D6 +0x5A38 0x29986 +0x5A39 0x29990 +0x5A3A 0x29991 +0x5A3B 0x29988 +0x5A3C 0x29994 +0x5A3D 0x29983 +0x5A3F 0x2999C +0x5A40 0x2998D +0x5A41 0x29985 +0x5A42 0x29A98 +0x5A43 0x29A9A +0x5A44 0x29A9C +0x5A45 0x29AE7 +0x5A46 0x29BC5 +0x5A47 0x29BD0 +0x5A48 0x29BD1 +0x5A49 0x29C19 +0x5A4A 0x29C27 +0x5A4C 0x29C54 +0x5A4D 0x29D2D +0x5A4E 0x29D22 +0x5A50 0x29D1F +0x5A51 0x29EBD +0x5A52 0x29EAE +0x5A53 0x29EBB +0x5A54 0x29EAD +0x5A55 0x29EBC +0x5A56 0x29EB9 +0x5A57 0x29EB4 +0x5A58 0x29ECB +0x5A59 0x29EB7 +0x5A5A 0x29EB3 +0x5A5B 0x29EBA +0x5A5C 0x29EB6 +0x5A5D 0x29ECD +0x5A5E 0x29EBE +0x5A5F 0x29EC9 +0x5A60 0x2FA0B +0x5A61 0x2A15F +0x5A62 0x2A13B +0x5A63 0x2A161 +0x5A64 0x2A15C +0x5A65 0x2A18A +0x5A66 0x2A15A +0x5A67 0x2A14D +0x5A68 0x2A146 +0x5A69 0x2A144 +0x5A6A 0x2A13D +0x5A6B 0x2A140 +0x5A6C 0x2A13C +0x5A6D 0x2A18C +0x5A6E 0x2A141 +0x5A6F 0x2A14C +0x5A70 0x2A13E +0x5A71 0x2A14A +0x5A72 0x2A27C +0x5A73 0x2A27A +0x5A74 0x2A365 +0x5A75 0x2A36E +0x5A76 0x2A369 +0x5A77 0x2A36A +0x5A78 0x2A36F +0x5A79 0x2A36C +0x5A7A 0x2A370 +0x5A7B 0x2A368 +0x5A7C 0x2A36B +0x5A7E 0x2A3AC +0x5B21 0x2A3DE +0x5B22 0x2A3DD +0x5B23 0x2A3DC +0x5B24 0x244C5 +0x5B25 0x2A48C +0x5B26 0x2A483 +0x5B27 0x2A482 +0x5B28 0x2A488 +0x5B29 0x2A485 +0x5B2A 0x2A481 +0x5B2B 0x2A4F5 +0x5B2C 0x2A4EF +0x5B2D 0x2A4F4 +0x5B2E 0x2A4F2 +0x5B2F 0x2A4F6 +0x5B30 0x2A4F3 +0x5B31 0x2A4F0 +0x5B32 0x2A4F1 +0x5B33 0x2A52B +0x5B34 0x2A527 +0x5B35 0x2A528 +0x5B36 0x2A56C +0x5B37 0x2A5AE +0x5B38 0x2A60E +0x5B39 0x2A61B +0x5B3A 0x2A616 +0x5B3B 0x2A61F +0x5B3C 0x2A622 +0x5B3D 0x2A620 +0x5B3E 0x2A621 +0x5B3F 0x2A614 +0x5B40 0x2A613 +0x5B41 0x2A69D +0x5B42 0x2A69C +0x5B43 0x2A69E +0x5B44 0x2A69F +0x5B45 0x2046B +0x5B46 0x208C8 +0x5B47 0x21178 +0x5B48 0x21176 +0x5B49 0x21170 +0x5B4A 0x21171 +0x5B4B 0x2150A +0x5B4C 0x2192C +0x5B4D 0x22311 +0x5B4E 0x2247E +0x5B4F 0x22957 +0x5B50 0x22966 +0x5B51 0x22969 +0x5B52 0x22967 +0x5B53 0x22968 +0x5B54 0x22971 +0x5B55 0x2296F +0x5B56 0x2A3AE +0x5B57 0x22E8B +0x5B58 0x22E96 +0x5B59 0x23035 +0x5B5A 0x2303A +0x5B5B 0x2306B +0x5B5C 0x23316 +0x5B5D 0x23843 +0x5B5E 0x23846 +0x5B5F 0x2383F +0x5B60 0x2383B +0x5B61 0x2383D +0x5B62 0x239B1 +0x5B63 0x239B2 +0x5B64 0x23AE4 +0x5B65 0x23C40 +0x5B66 0x2415D +0x5B67 0x24151 +0x5B68 0x2414D +0x5B69 0x2414C +0x5B6A 0x2415B +0x5B6B 0x244D4 +0x5B6C 0x244D2 +0x5B6D 0x244CA +0x5B6E 0x244C8 +0x5B6F 0x244D0 +0x5B70 0x244C9 +0x5B71 0x24549 +0x5B72 0x245A4 +0x5B73 0x24712 +0x5B74 0x2470F +0x5B75 0x24711 +0x5B76 0x248DB +0x5B77 0x248DD +0x5B78 0x248DC +0x5B79 0x24AD4 +0x5B7A 0x24B21 +0x5B7B 0x24BB2 +0x5B7C 0x24D04 +0x5B7D 0x24D02 +0x5B7E 0x24F11 +0x5C21 0x24F16 +0x5C22 0x24F10 +0x5C23 0x24FBE +0x5C24 0x2721A +0x5C25 0x2534C +0x5C26 0x2534A +0x5C27 0x255F2 +0x5C28 0x255F1 +0x5C29 0x2572A +0x5C2A 0x2572C +0x5C2B 0x2572F +0x5C2C 0x25731 +0x5C2D 0x25911 +0x5C2E 0x25912 +0x5C2F 0x25A4B +0x5C30 0x25DDB +0x5C31 0x25DD6 +0x5C32 0x25DDD +0x5C33 0x25DE2 +0x5C34 0x25DE4 +0x5C35 0x25DE0 +0x5C36 0x25DDF +0x5C37 0x25DE3 +0x5C38 0x25F6E +0x5C39 0x25F71 +0x5C3A 0x261E9 +0x5C3B 0x261EA +0x5C3C 0x26263 +0x5C3D 0x263EB +0x5C3E 0x263EA +0x5C3F 0x268BD +0x5C40 0x268BB +0x5C41 0x268C6 +0x5C42 0x268CC +0x5C43 0x268C8 +0x5C44 0x244CF +0x5C45 0x268C9 +0x5C46 0x268CA +0x5C47 0x268CF +0x5C48 0x268D0 +0x5C49 0x269BA +0x5C4A 0x269FB +0x5C4B 0x26A03 +0x5C4C 0x26AC4 +0x5C4D 0x27149 +0x5C4E 0x27153 +0x5C4F 0x27136 +0x5C50 0x2714A +0x5C51 0x27141 +0x5C52 0x2714E +0x5C53 0x27119 +0x5C54 0x2714D +0x5C55 0x27145 +0x5C56 0x2714C +0x5C57 0x27147 +0x5C58 0x27148 +0x5C59 0x2714F +0x5C5A 0x27137 +0x5C5B 0x27142 +0x5C5C 0x2754A +0x5C5D 0x27546 +0x5C5F 0x27549 +0x5C60 0x2754F +0x5C61 0x27551 +0x5C62 0x2754C +0x5C64 0x27606 +0x5C65 0x27951 +0x5C66 0x27B7A +0x5C67 0x27B83 +0x5C68 0x27B7E +0x5C69 0x27B7F +0x5C6A 0x27B80 +0x5C6B 0x24BB5 +0x5C6C 0x27C91 +0x5C6D 0x27C94 +0x5C6E 0x27C95 +0x5C6F 0x27D21 +0x5C70 0x27D20 +0x5C71 0x27E3D +0x5C72 0x27E40 +0x5C73 0x27E46 +0x5C74 0x27E84 +0x5C75 0x27FAC +0x5C76 0x27FAD +0x5C78 0x281DA +0x5C79 0x281D9 +0x5C7A 0x283E2 +0x5C7B 0x283E1 +0x5C7C 0x283E3 +0x5C7D 0x283E4 +0x5C7E 0x283DE +0x5D21 0x283DF +0x5D22 0x28641 +0x5D23 0x28659 +0x5D24 0x2865C +0x5D25 0x2865A +0x5D26 0x287E8 +0x5D27 0x288F6 +0x5D28 0x288FC +0x5D29 0x288F7 +0x5D2A 0x288FA +0x5D2B 0x288F9 +0x5D2C 0x28BC4 +0x5D2D 0x28BBE +0x5D2E 0x28BD2 +0x5D2F 0x28BBD +0x5D30 0x28B95 +0x5D31 0x28BD4 +0x5D32 0x28DE4 +0x5D33 0x29061 +0x5D34 0x29062 +0x5D35 0x29063 +0x5D36 0x29064 +0x5D37 0x29060 +0x5D38 0x2905C +0x5D39 0x2905D +0x5D3A 0x2905E +0x5D3B 0x291A5 +0x5D3C 0x291A6 +0x5D3D 0x2924C +0x5D3E 0x29368 +0x5D3F 0x2936E +0x5D40 0x29371 +0x5D41 0x2936B +0x5D42 0x2936F +0x5D43 0x293EE +0x5D44 0x293F1 +0x5D45 0x293F0 +0x5D46 0x293EF +0x5D47 0x29415 +0x5D48 0x29414 +0x5D49 0x28F6E +0x5D4A 0x29447 +0x5D4B 0x2957C +0x5D4C 0x2957A +0x5D4D 0x29574 +0x5D4E 0x29576 +0x5D4F 0x2956E +0x5D50 0x29578 +0x5D51 0x2956D +0x5D52 0x2956C +0x5D53 0x2964E +0x5D54 0x297D7 +0x5D55 0x297EA +0x5D56 0x297E5 +0x5D57 0x29864 +0x5D58 0x299B3 +0x5D59 0x299A3 +0x5D5A 0x299A5 +0x5D5B 0x299A7 +0x5D5C 0x299A2 +0x5D5D 0x2999F +0x5D5E 0x299A6 +0x5D5F 0x2999E +0x5D60 0x299A8 +0x5D61 0x29AA9 +0x5D62 0x29AA6 +0x5D63 0x29AAA +0x5D64 0x29AAB +0x5D65 0x29AA0 +0x5D66 0x29AA1 +0x5D67 0x29AA8 +0x5D68 0x29AE8 +0x5D69 0x29AE9 +0x5D6A 0x29AEA +0x5D6B 0x29BE4 +0x5D6C 0x29BDF +0x5D6D 0x29BE0 +0x5D6E 0x29C28 +0x5D6F 0x29C5D +0x5D70 0x29C5B +0x5D71 0x29C56 +0x5D72 0x29C57 +0x5D73 0x29C5F +0x5D74 0x29C62 +0x5D75 0x29EE1 +0x5D76 0x29EE3 +0x5D77 0x29EDE +0x5D78 0x29ED9 +0x5D79 0x29EE8 +0x5D7A 0x29EF2 +0x5D7B 0x29EF6 +0x5D7C 0x29EE6 +0x5D7D 0x29EF4 +0x5D7E 0x29EF5 +0x5E21 0x29EE5 +0x5E22 0x29EE2 +0x5E24 0x2A196 +0x5E25 0x2A1AA +0x5E26 0x2A197 +0x5E27 0x2A170 +0x5E28 0x2A1A1 +0x5E29 0x2A19D +0x5E2A 0x2A1A9 +0x5E2B 0x2A16F +0x5E2C 0x2A17E +0x5E2D 0x2A194 +0x5E2E 0x2A19A +0x5E2F 0x2A173 +0x5E30 0x2A187 +0x5E31 0x2A171 +0x5E32 0x2A177 +0x5E33 0x2A188 +0x5E34 0x2A18D +0x5E35 0x2A185 +0x5E36 0x2A178 +0x5E37 0x2A1AD +0x5E38 0x2A280 +0x5E39 0x2A281 +0x5E3A 0x2A2E5 +0x5E3B 0x2A2E7 +0x5E3C 0x2A37C +0x5E3D 0x2A3AF +0x5E3E 0x2A3E1 +0x5E3F 0x2A496 +0x5E40 0x2A4A3 +0x5E41 0x2A490 +0x5E42 0x2A4F8 +0x5E43 0x2A52E +0x5E44 0x2A575 +0x5E45 0x2A57E +0x5E46 0x2A57D +0x5E47 0x2A57B +0x5E48 0x2A578 +0x5E49 0x2A5B0 +0x5E4A 0x2A634 +0x5E4B 0x2A636 +0x5E4C 0x2A630 +0x5E4D 0x2FA1D +0x5E4E 0x2A62E +0x5E4F 0x2A637 +0x5E50 0x20ACE +0x5E51 0x20B97 +0x5E52 0x20B98 +0x5E53 0x2117C +0x5E54 0x2117E +0x5E55 0x2117D +0x5E56 0x2117F +0x5E57 0x2150F +0x5E58 0x216A4 +0x5E59 0x21931 +0x5E5A 0x2192E +0x5E5B 0x2192F +0x5E5C 0x21932 +0x5E5D 0x21D2C +0x5E5E 0x21FD4 +0x5E5F 0x21FDC +0x5E60 0x21FD8 +0x5E61 0x2200E +0x5E62 0x22183 +0x5E63 0x22184 +0x5E64 0x22312 +0x5E65 0x22972 +0x5E66 0x2297C +0x5E67 0x2297E +0x5E68 0x22EA6 +0x5E69 0x22EA0 +0x5E6A 0x22E9E +0x5E6B 0x22EA2 +0x5E6C 0x2312A +0x5E6D 0x23318 +0x5E6E 0x2384D +0x5E6F 0x23858 +0x5E70 0x2385B +0x5E71 0x25914 +0x5E72 0x2F8F2 +0x5E73 0x23AE6 +0x5E74 0x24164 +0x5E75 0x24168 +0x5E76 0x24160 +0x5E77 0x24162 +0x5E78 0x244D7 +0x5E79 0x2454B +0x5E7A 0x248E0 +0x5E7B 0x24B22 +0x5E7C 0x24D05 +0x5E7D 0x24F19 +0x5E7E 0x24F1A +0x5F21 0x24FC3 +0x5F22 0x250D8 +0x5F23 0x250DC +0x5F24 0x2534F +0x5F25 0x255F7 +0x5F26 0x255F4 +0x5F27 0x255F8 +0x5F28 0x25913 +0x5F29 0x25A50 +0x5F2A 0x25DF0 +0x5F2B 0x25DE9 +0x5F2C 0x25DEF +0x5F2D 0x25DED +0x5F2E 0x25DEA +0x5F2F 0x25DF8 +0x5F30 0x25E05 +0x5F31 0x25DF2 +0x5F32 0x25F72 +0x5F34 0x261F9 +0x5F35 0x261F3 +0x5F36 0x261F6 +0x5F37 0x261F2 +0x5F38 0x261F7 +0x5F39 0x26266 +0x5F3A 0x26265 +0x5F3B 0x26340 +0x5F3C 0x2F977 +0x5F3D 0x268D1 +0x5F3E 0x268D3 +0x5F3F 0x26A04 +0x5F40 0x27159 +0x5F41 0x27160 +0x5F42 0x2715B +0x5F43 0x2715D +0x5F44 0x2715E +0x5F45 0x27169 +0x5F46 0x2715C +0x5F47 0x27161 +0x5F48 0x2716A +0x5F49 0x2715F +0x5F4A 0x2754E +0x5F4B 0x2755C +0x5F4C 0x27560 +0x5F4D 0x27563 +0x5F4E 0x275DB +0x5F4F 0x277CA +0x5F50 0x277C9 +0x5F51 0x277C8 +0x5F52 0x278A5 +0x5F53 0x278A3 +0x5F54 0x27B8E +0x5F55 0x27B87 +0x5F56 0x27B89 +0x5F57 0x27B85 +0x5F58 0x27B86 +0x5F59 0x27B8F +0x5F5A 0x27B8A +0x5F5B 0x27B90 +0x5F5C 0x27C98 +0x5F5D 0x27C9B +0x5F5E 0x27E47 +0x5F5F 0x27E49 +0x5F60 0x27E48 +0x5F61 0x281E5 +0x5F62 0x281EA +0x5F63 0x281ED +0x5F64 0x283F0 +0x5F65 0x283EF +0x5F66 0x283F2 +0x5F67 0x283EC +0x5F68 0x28440 +0x5F69 0x28660 +0x5F6A 0x2865F +0x5F6B 0x287EB +0x5F6C 0x287EC +0x5F6D 0x28900 +0x5F6E 0x28901 +0x5F6F 0x28BE2 +0x5F70 0x28BDF +0x5F71 0x28BE0 +0x5F72 0x28BE1 +0x5F73 0x28BE3 +0x5F74 0x28CC3 +0x5F75 0x28DEB +0x5F76 0x28DEA +0x5F77 0x28F61 +0x5F78 0x28F71 +0x5F79 0x2906B +0x5F7A 0x29068 +0x5F7B 0x29069 +0x5F7C 0x29067 +0x5F7D 0x291B0 +0x5F7E 0x291B1 +0x6021 0x291B2 +0x6022 0x29251 +0x6023 0x29374 +0x6024 0x2957F +0x6025 0x29584 +0x6026 0x29653 +0x6027 0x29654 +0x6028 0x297F0 +0x6029 0x297F4 +0x602A 0x297F1 +0x602B 0x29837 +0x602C 0x299BF +0x602F 0x299BD +0x6030 0x299BE +0x6031 0x299B7 +0x6032 0x299C0 +0x6033 0x299BA +0x6034 0x299B8 +0x6035 0x299BC +0x6036 0x299BB +0x6037 0x29AEB +0x6038 0x29BE7 +0x6039 0x29C1D +0x603A 0x29C1C +0x603B 0x29C63 +0x603C 0x2244B +0x603D 0x29D38 +0x603E 0x29D36 +0x603F 0x29D34 +0x6040 0x29D37 +0x6041 0x29F06 +0x6042 0x29F1C +0x6043 0x29F02 +0x6044 0x29F1D +0x6045 0x29F1E +0x6046 0x29EE0 +0x6047 0x29F11 +0x6048 0x29F18 +0x6049 0x29F21 +0x604A 0x29F20 +0x604B 0x29F10 +0x604C 0x2A1BD +0x604D 0x2A1AE +0x604E 0x2A1B5 +0x604F 0x2A1B8 +0x6050 0x2A1B9 +0x6051 0x2A1BE +0x6052 0x2A1C4 +0x6053 0x2A1BC +0x6054 0x2A1BA +0x6055 0x2A283 +0x6056 0x2A2EA +0x6057 0x2A2EC +0x6058 0x2A37E +0x6059 0x2A37B +0x605A 0x2A3E5 +0x605B 0x2A4A7 +0x605C 0x2A49E +0x605D 0x2A49A +0x605E 0x2A52F +0x605F 0x2A531 +0x6060 0x2A583 +0x6061 0x2A5B5 +0x6062 0x2A646 +0x6063 0x2A641 +0x6064 0x2A643 +0x6065 0x2A63D +0x6066 0x2A642 +0x6067 0x2A63B +0x6068 0x2A647 +0x6069 0x2096B +0x606A 0x209D0 +0x606B 0x2118E +0x606C 0x21B11 +0x606D 0x2F871 +0x606E 0x2F889 +0x606F 0x2244C +0x6070 0x2312B +0x6071 0x2384F +0x6072 0x2385E +0x6073 0x23863 +0x6074 0x2386B +0x6075 0x2393F +0x6076 0x23AE9 +0x6077 0x2416D +0x6078 0x2416B +0x6079 0x2416A +0x607A 0x29F2A +0x607B 0x244E0 +0x607C 0x244DD +0x607D 0x244E1 +0x607E 0x244DE +0x6121 0x244DC +0x6122 0x2454D +0x6123 0x24716 +0x6124 0x248E3 +0x6125 0x24AE5 +0x6126 0x24AE4 +0x6127 0x24F1D +0x6128 0x2574B +0x6129 0x2A6C1 +0x612A 0x25A4E +0x612B 0x25AD6 +0x612C 0x25DFD +0x612D 0x25E07 +0x612E 0x25DFE +0x612F 0x25E03 +0x6130 0x25E0B +0x6131 0x25DFF +0x6132 0x25F7A +0x6133 0x25F77 +0x6134 0x261FB +0x6135 0x26343 +0x6136 0x263ED +0x6137 0x269BC +0x6138 0x244DF +0x6139 0x26A05 +0x613A 0x26AC6 +0x613B 0x26AC5 +0x613C 0x27174 +0x613D 0x27173 +0x613E 0x27172 +0x613F 0x27178 +0x6140 0x27573 +0x6141 0x2757A +0x6142 0x24F1C +0x6143 0x27576 +0x6144 0x27575 +0x6145 0x27577 +0x6146 0x277CF +0x6147 0x277CE +0x6148 0x277CD +0x6149 0x278A8 +0x614A 0x27B98 +0x614B 0x27B92 +0x614C 0x27B94 +0x614D 0x27C9A +0x614E 0x27FB4 +0x614F 0x281EB +0x6150 0x281F4 +0x6151 0x281F3 +0x6152 0x281EE +0x6153 0x281F2 +0x6154 0x281F0 +0x6155 0x28664 +0x6156 0x28C05 +0x6157 0x28BFB +0x6158 0x28BFC +0x6159 0x28DF3 +0x615A 0x2906C +0x615B 0x291BA +0x615C 0x29379 +0x615D 0x2937E +0x615E 0x29378 +0x615F 0x293F4 +0x6160 0x29416 +0x6161 0x29657 +0x6162 0x299C8 +0x6163 0x299C3 +0x6164 0x299CE +0x6165 0x29AB3 +0x6166 0x29AED +0x6167 0x29AEE +0x6168 0x29BF1 +0x6169 0x29BF8 +0x616B 0x29C64 +0x616C 0x29C65 +0x616D 0x29F35 +0x616E 0x29F29 +0x616F 0x29F2C +0x6170 0x29F31 +0x6171 0x29F2B +0x6172 0x29F2E +0x6173 0x29F25 +0x6174 0x2A1DA +0x6175 0x2A1E0 +0x6176 0x2A1D4 +0x6177 0x2A1E1 +0x6178 0x2A1DD +0x6179 0x2A3E7 +0x617A 0x2A412 +0x617B 0x2A4AE +0x617C 0x2A4AF +0x617D 0x2A586 +0x617E 0x2A585 +0x6221 0x2A5D1 +0x6222 0x2A658 +0x6223 0x2A63F +0x6224 0x2A652 +0x6225 0x2A64B +0x6226 0x2A653 +0x6227 0x2A650 +0x6228 0x2A656 +0x6229 0x2A657 +0x622A 0x2A6CD +0x622B 0x2A6CB +0x622C 0x20831 +0x622D 0x20830 +0x622E 0x209D1 +0x6230 0x21192 +0x6231 0x21190 +0x6232 0x2118F +0x6233 0x21193 +0x6234 0x21191 +0x6236 0x22313 +0x6237 0x2247F +0x6238 0x22EAC +0x6239 0x24170 +0x623A 0x244E5 +0x623B 0x24B23 +0x623C 0x24B24 +0x623D 0x24D08 +0x623E 0x24D07 +0x623F 0x24F1F +0x6240 0x24F20 +0x6241 0x24F21 +0x6242 0x250E1 +0x6243 0x25354 +0x6244 0x25357 +0x6245 0x25355 +0x6246 0x255FA +0x6247 0x25738 +0x6248 0x27186 +0x6249 0x25737 +0x624A 0x25A53 +0x624B 0x25F7E +0x624C 0x25F7B +0x624D 0x2F971 +0x624E 0x261FD +0x624F 0x261FC +0x6250 0x26346 +0x6251 0x26932 +0x6252 0x26AC7 +0x6253 0x27171 +0x6254 0x27183 +0x6255 0x2716F +0x6256 0x2717E +0x6257 0x2717D +0x6258 0x27181 +0x6259 0x2717C +0x625A 0x2758A +0x625B 0x2757E +0x625C 0x27580 +0x625D 0x2757D +0x625E 0x2757F +0x625F 0x27582 +0x6260 0x277D4 +0x6261 0x277D0 +0x6262 0x277D2 +0x6263 0x27955 +0x6264 0x27B9B +0x6265 0x27B9A +0x6266 0x27E4E +0x6267 0x281F1 +0x6268 0x283F8 +0x6269 0x283FD +0x626A 0x2865E +0x626B 0x28666 +0x626C 0x28905 +0x626D 0x28C0A +0x626E 0x28C0B +0x626F 0x28C0E +0x6270 0x28C0D +0x6271 0x28C11 +0x6272 0x28C09 +0x6273 0x28C10 +0x6274 0x28C0C +0x6275 0x28C12 +0x6276 0x28CC4 +0x6277 0x28DF7 +0x6278 0x28DF8 +0x6279 0x28F6A +0x627A 0x28F6B +0x627B 0x291C0 +0x627C 0x291C2 +0x627D 0x29385 +0x627E 0x29380 +0x6321 0x29384 +0x6322 0x29381 +0x6323 0x291C4 +0x6324 0x2958B +0x6325 0x2958D +0x6326 0x2958E +0x6327 0x29AB7 +0x6328 0x29AB9 +0x6329 0x29AEF +0x632A 0x29BFB +0x632B 0x29BFF +0x632C 0x29C67 +0x632D 0x29C68 +0x632E 0x29C69 +0x632F 0x29D3F +0x6330 0x29F3C +0x6331 0x29F4C +0x6332 0x29F3D +0x6333 0x29F3E +0x6334 0x29F3F +0x6335 0x29F3B +0x6336 0x2A1FF +0x6338 0x2A1F6 +0x6339 0x2A1EE +0x633A 0x2A1FC +0x633B 0x2A1F8 +0x633C 0x2A201 +0x633D 0x2A1FA +0x633E 0x2A288 +0x633F 0x2A380 +0x6340 0x2A411 +0x6341 0x2A4FE +0x6342 0x2A500 +0x6343 0x2A535 +0x6344 0x2503C +0x6345 0x2A5BD +0x6346 0x2A5BB +0x6347 0x2A65C +0x6348 0x2A65A +0x6349 0x2A6D1 +0x634A 0x2A6D0 +0x634B 0x20A0B +0x634C 0x23873 +0x634D 0x21939 +0x634E 0x21B1A +0x634F 0x21FE3 +0x6350 0x22187 +0x6351 0x22377 +0x6352 0x22378 +0x6353 0x22EB1 +0x6354 0x2386A +0x6355 0x23874 +0x6356 0x23AEB +0x6357 0x2417B +0x6358 0x245A5 +0x6359 0x248E4 +0x635A 0x24D0B +0x635B 0x24D0E +0x635C 0x24D0C +0x635D 0x25739 +0x635E 0x25E10 +0x635F 0x25E11 +0x6360 0x25E16 +0x6361 0x25F81 +0x6362 0x25F80 +0x6363 0x261FE +0x6364 0x26201 +0x6365 0x26200 +0x6366 0x26347 +0x6367 0x263EF +0x6368 0x27188 +0x6369 0x2758B +0x636A 0x2758D +0x636B 0x27587 +0x636C 0x27585 +0x636D 0x2758F +0x636E 0x27584 +0x636F 0x27588 +0x6370 0x2758E +0x6371 0x2758C +0x6372 0x277D7 +0x6373 0x277D6 +0x6374 0x27B9F +0x6375 0x22188 +0x6376 0x28203 +0x6377 0x283FE +0x6378 0x287EF +0x6379 0x28909 +0x637A 0x28908 +0x637B 0x28C20 +0x637C 0x28C24 +0x637D 0x28C1F +0x637E 0x29070 +0x6421 0x29256 +0x6422 0x293F7 +0x6423 0x293F8 +0x6424 0x293F6 +0x6425 0x29590 +0x6426 0x2965E +0x6427 0x297F7 +0x6428 0x299D6 +0x6429 0x299D5 +0x642A 0x29ABB +0x642B 0x29AF0 +0x642C 0x29C01 +0x642D 0x29C6C +0x642E 0x29D41 +0x642F 0x29D42 +0x6430 0x29F4F +0x6431 0x29F53 +0x6432 0x29F58 +0x6433 0x2A212 +0x6434 0x2A204 +0x6435 0x2A213 +0x6436 0x2A205 +0x6437 0x2A20D +0x6438 0x2A382 +0x6439 0x2A381 +0x643A 0x2A4B5 +0x643B 0x2A4BA +0x643C 0x2A5BE +0x643D 0x2A665 +0x643E 0x2A663 +0x643F 0x2A66E +0x6440 0x2A66A +0x6441 0x2A66C +0x6442 0x2A6C4 +0x6443 0x2096C +0x6444 0x27BA5 +0x6445 0x21B12 +0x6446 0x2244D +0x6447 0x2331F +0x6448 0x23877 +0x6449 0x23878 +0x644A 0x23C44 +0x644B 0x2417C +0x644C 0x244EB +0x644D 0x244EA +0x644E 0x244EC +0x644F 0x245A7 +0x6450 0x24719 +0x6451 0x24F23 +0x6453 0x25601 +0x6454 0x25E1C +0x6455 0x26203 +0x6456 0x26348 +0x6457 0x268DA +0x6458 0x27191 +0x6459 0x27192 +0x645A 0x27596 +0x645B 0x27597 +0x645C 0x27591 +0x645D 0x27593 +0x645E 0x277D8 +0x645F 0x277D5 +0x6460 0x27957 +0x6461 0x27958 +0x6462 0x27BA2 +0x6463 0x28205 +0x6464 0x283FA +0x6465 0x2890C +0x6466 0x2890A +0x6467 0x28C2E +0x6468 0x28C29 +0x6469 0x28C2F +0x646A 0x28CC5 +0x646B 0x29072 +0x646C 0x291C8 +0x646D 0x2925A +0x646E 0x29259 +0x646F 0x29389 +0x6470 0x29388 +0x6471 0x299DB +0x6472 0x299D9 +0x6473 0x299DA +0x6474 0x29ABC +0x6476 0x29C06 +0x6477 0x29C05 +0x6478 0x29C6F +0x6479 0x29C6D +0x647A 0x29C70 +0x647B 0x29F60 +0x647C 0x29F5E +0x647D 0x29F63 +0x647E 0x29F5A +0x6521 0x29F5F +0x6522 0x2A219 +0x6523 0x2A21D +0x6524 0x2A21B +0x6525 0x2A222 +0x6526 0x2A21C +0x6527 0x2A21E +0x6528 0x2A2F7 +0x6529 0x2A384 +0x652A 0x2A415 +0x652B 0x2A4B8 +0x652C 0x2A4C1 +0x652D 0x2A501 +0x652E 0x2A50A +0x652F 0x2A5D2 +0x6530 0x2A675 +0x6531 0x2A674 +0x6532 0x2A672 +0x6533 0x20AD0 +0x6534 0x21B1B +0x6535 0x22010 +0x6536 0x22379 +0x6537 0x244ED +0x6538 0x24BB9 +0x6539 0x24F24 +0x653A 0x24FC5 +0x653B 0x25603 +0x653C 0x2634A +0x653D 0x268F7 +0x653E 0x269C1 +0x653F 0x269C2 +0x6540 0x27194 +0x6541 0x27599 +0x6542 0x2759A +0x6543 0x2795A +0x6544 0x27BA8 +0x6545 0x27C25 +0x6546 0x27C9E +0x6547 0x28441 +0x6548 0x28C32 +0x6549 0x28C33 +0x654A 0x291CB +0x654B 0x291CA +0x654C 0x291CC +0x654D 0x29593 +0x654E 0x299E0 +0x654F 0x29C71 +0x6550 0x29F6B +0x6551 0x2A22B +0x6552 0x2A229 +0x6553 0x2A21A +0x6554 0x2A226 +0x6555 0x2A227 +0x6556 0x2A22A +0x6557 0x2A2F8 +0x6558 0x2503D +0x6559 0x2A676 +0x655A 0x21518 +0x655B 0x2387A +0x655C 0x2417F +0x655E 0x263F0 +0x655F 0x2719A +0x6560 0x27196 +0x6561 0x2759E +0x6562 0x2759D +0x6563 0x275DC +0x6564 0x277DA +0x6565 0x2820B +0x6566 0x28402 +0x6567 0x28442 +0x6568 0x28667 +0x6569 0x2938B +0x656A 0x299E2 +0x656B 0x29F71 +0x656C 0x2A22F +0x656D 0x2A22E +0x656E 0x2A4C6 +0x656F 0x2A58E +0x6570 0x2A67B +0x6571 0x2A677 +0x6572 0x2A678 +0x6573 0x2A67C +0x6574 0x2387C +0x6575 0x26207 +0x6576 0x27197 +0x6577 0x27BD9 +0x6578 0x2890D +0x6579 0x2890E +0x657A 0x299E3 +0x657B 0x299E4 +0x657C 0x29AF3 +0x657D 0x29C75 +0x657E 0x2A237 +0x6621 0x2A235 +0x6622 0x2A58F +0x6623 0x2A680 +0x6624 0x2A67F +0x6625 0x2A6D4 +0x6626 0x22EB4 +0x6627 0x2A3EC +0x6628 0x28F75 +0x6629 0x24D10 +0x662A 0x26269 +0x662B 0x275A4 +0x662C 0x277DB +0x662D 0x291D1 +0x662E 0x2938D +0x662F 0x29F76 +0x6630 0x2A239 +0x6631 0x2A684 +0x6632 0x2A682 +0x6633 0x20AD2 +0x6634 0x244EE +0x6635 0x24D11 +0x6636 0x25F84 +0x6637 0x28F74 +0x6638 0x2938F +0x6639 0x2938E +0x663A 0x2A23B +0x663B 0x208CB +0x663C 0x2A688 +0x663D 0x2A686 +0x663E 0x2335C +0x663F 0x253A4 +0x6640 0x29075 +0x6641 0x2A68B +0x6642 0x21519 +0x6643 0x27C9F +0x6644 0x299E5 +0x6645 0x2A240 +0x6646 0x24D12 +0x6647 0x2A2FB +0x6648 0x2A68C +0x6649 0x253A5 +0x664A 0x29C77 +0x664B 0x29C78 +0x664C 0x2A6D6 +0x664D 0x277DF +0x664E 0x291D2 +0x664F 0x2151A +0x6650 0x27BA9 +0x6651 0x291D3 +0x6652 0x2A4CA +0x6653 0x269C4 +0x6654 0x278B1 +0x6655 0x29664 diff --git a/test/sun/nio/cs/SurrogateTestHKSCS.java b/test/sun/nio/cs/SurrogateTestHKSCS.java new file mode 100644 index 000000000..2f15355ea --- /dev/null +++ b/test/sun/nio/cs/SurrogateTestHKSCS.java @@ -0,0 +1,1191 @@ +/* + * Copyright 2008 Sun Microsystems, Inc. All Rights Reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, + * CA 95054 USA or visit www.sun.com if you need additional information or + * have any questions. + */ + +/* @test + @bug 4750497 + @summary Check surrogate coverage of Big5-HKSCS (2001) + */ + +/* + * Tests the HKSCS converter. Supplements the test for BMP + * mappings (and compatibility char->byte mappings) provided + * via ./test/sun/io/Converter/Big5-HKSCS.b2c and + * ./test/sun/io/Converter/Big5-HKSCS.c2b-irreversible + * + * Mappings available at : + * http://www.info.gov.hk/digital21/eng/hkscs/download.html + * + */ + +import java.io.*; +public class SurrogateTestHKSCS { + + /** + * int array holding the supplementary character + * values (encoded as ints below) for full set of 1651 + * supplementary chars / surrogate pairs which should + * be round-trip mappable within Big5-HKSCS 2001 + * + */ + + static int[] suppValues = { + 0x20021, 0x2003E, 0x20046, 0x2004E, 0x20068, 0x20086, + 0x20087, 0x2008A, 0x20094, 0x200CA, 0x200CB, 0x200CC, + 0x200CD, 0x200D1, 0x200EE, 0x2010C, 0x2010E, 0x20118, + 0x201A9, 0x201AB, 0x201C1, 0x201D4, 0x201F2, 0x20204, + 0x2020C, 0x20214, 0x2025B, 0x20274, 0x20275, 0x20299, + 0x2029E, 0x202A0, 0x202B7, 0x202BF, 0x202C0, 0x202E5, + 0x2030A, 0x20325, 0x20341, 0x20345, 0x20346, 0x20347, + 0x2037E, 0x2037F, 0x20380, 0x203A0, 0x203A7, 0x203B5, + 0x203C9, 0x203CB, 0x203F5, 0x203FC, 0x20413, 0x20414, + 0x2041F, 0x20465, 0x20487, 0x2048E, 0x20491, 0x20492, + 0x204A3, 0x204D7, 0x204FC, 0x204FE, 0x20547, 0x2058E, + 0x205A5, 0x205B3, 0x205C3, 0x205CA, 0x205D0, 0x205D5, + 0x205DF, 0x205E0, 0x205EB, 0x20611, 0x20615, 0x20619, + 0x2061A, 0x20630, 0x20656, 0x20676, 0x2070E, 0x20731, + 0x20779, 0x2082C, 0x20873, 0x208D5, 0x20916, 0x20923, + 0x20954, 0x20979, 0x209E7, 0x20A11, 0x20A50, 0x20AB4, + 0x20AC2, 0x20ACD, 0x20B0D, 0x20B8F, 0x20BA8, 0x20BA9, + 0x20BBF, 0x20BC6, 0x20BCB, 0x20BE2, 0x20BEB, 0x20BFB, + 0x20BFF, 0x20C0B, 0x20C0D, 0x20C20, 0x20C34, 0x20C3A, + 0x20C3B, 0x20C41, 0x20C42, 0x20C43, 0x20C53, 0x20C65, + 0x20C77, 0x20C78, 0x20C7C, 0x20C8D, 0x20C96, 0x20C9C, + 0x20CB5, 0x20CB8, 0x20CCF, 0x20CD3, 0x20CD4, 0x20CD5, + 0x20CD6, 0x20CDD, 0x20CED, 0x20CFF, 0x20D15, 0x20D28, + 0x20D31, 0x20D32, 0x20D46, 0x20D47, 0x20D48, 0x20D49, + 0x20D4C, 0x20D4D, 0x20D4E, 0x20D6F, 0x20D71, 0x20D74, + 0x20D7C, 0x20D7E, 0x20D7F, 0x20D96, 0x20D9C, 0x20DA7, + 0x20DB2, 0x20DC8, 0x20E04, 0x20E09, 0x20E0A, 0x20E0D, + 0x20E0E, 0x20E0F, 0x20E10, 0x20E11, 0x20E16, 0x20E1D, + 0x20E4C, 0x20E6D, 0x20E73, 0x20E75, 0x20E76, 0x20E77, + 0x20E78, 0x20E79, 0x20E7A, 0x20E7B, 0x20E8C, 0x20E96, + 0x20E98, 0x20E9D, 0x20EA2, 0x20EAA, 0x20EAB, 0x20EAC, + 0x20EB6, 0x20ED7, 0x20ED8, 0x20EDD, 0x20EF8, 0x20EF9, + 0x20EFA, 0x20EFB, 0x20F1D, 0x20F26, 0x20F2D, 0x20F2E, + 0x20F30, 0x20F31, 0x20F3B, 0x20F4C, 0x20F64, 0x20F8D, + 0x20F90, 0x20FAD, 0x20FB4, 0x20FB5, 0x20FB6, 0x20FBC, + 0x20FDF, 0x20FEA, 0x20FEB, 0x20FEC, 0x20FED, 0x21014, + 0x2101D, 0x2101E, 0x2104F, 0x2105C, 0x2106F, 0x21075, + 0x21076, 0x21077, 0x21078, 0x2107B, 0x21088, 0x21096, + 0x2109D, 0x210B4, 0x210BF, 0x210C0, 0x210C1, 0x210C7, + 0x210C8, 0x210C9, 0x210CF, 0x210D3, 0x210E4, 0x210F4, + 0x210F5, 0x210F6, 0x2112F, 0x2113B, 0x2113D, 0x21145, + 0x21148, 0x2114F, 0x21180, 0x21187, 0x211D9, 0x2123C, + 0x2124F, 0x2127C, 0x212A8, 0x212A9, 0x212B0, 0x212E3, + 0x212FE, 0x21302, 0x21303, 0x21304, 0x21305, 0x21336, + 0x2133A, 0x21375, 0x21376, 0x2138E, 0x21398, 0x2139C, + 0x213C5, 0x213C6, 0x213ED, 0x213FE, 0x21413, 0x21416, + 0x21424, 0x2143F, 0x21452, 0x21454, 0x21455, 0x2148A, + 0x21497, 0x214B6, 0x214E8, 0x214FD, 0x21577, 0x21582, + 0x21596, 0x2160A, 0x21613, 0x21619, 0x2163E, 0x21661, + 0x21692, 0x216B8, 0x216BA, 0x216C0, 0x216C1, 0x216C2, + 0x216D3, 0x216D5, 0x216DF, 0x216E6, 0x216E7, 0x216E8, + 0x216FA, 0x216FB, 0x216FC, 0x216FE, 0x2170D, 0x21710, + 0x21726, 0x2173A, 0x2173B, 0x2173C, 0x21757, 0x2176C, + 0x2176D, 0x2176E, 0x2176F, 0x21770, 0x21771, 0x21773, + 0x21774, 0x217AB, 0x217B0, 0x217B1, 0x217B2, 0x217B3, + 0x217B4, 0x217B5, 0x217C3, 0x217C7, 0x217D9, 0x217DA, + 0x217DB, 0x217DC, 0x217DF, 0x217EF, 0x217F5, 0x217F6, + 0x217F8, 0x217F9, 0x217FA, 0x217FB, 0x217FC, 0x21820, + 0x21828, 0x21829, 0x2182A, 0x2182D, 0x21839, 0x2183A, + 0x2183B, 0x21840, 0x21845, 0x21852, 0x2185E, 0x21861, + 0x21862, 0x21863, 0x21864, 0x21877, 0x2187B, 0x21883, + 0x21884, 0x21885, 0x2189E, 0x2189F, 0x218A0, 0x218A1, + 0x218A2, 0x218BE, 0x218BF, 0x218D1, 0x218D6, 0x218D7, + 0x218D8, 0x218D9, 0x218FA, 0x21903, 0x21904, 0x21905, + 0x21910, 0x21911, 0x21912, 0x21915, 0x2191C, 0x21922, + 0x21927, 0x2193B, 0x21944, 0x21958, 0x2196A, 0x2197C, + 0x21980, 0x21983, 0x21988, 0x21996, 0x219DB, 0x219F3, + 0x21A2D, 0x21A34, 0x21A45, 0x21A4B, 0x21B44, 0x21BC1, + 0x21BC2, 0x21C2A, 0x21C70, 0x21CA2, 0x21CA5, 0x21CAC, + 0x21D46, 0x21D90, 0x21DB6, 0x21DBA, 0x21DCA, 0x21DD1, + 0x21DEB, 0x21DF9, 0x21E1C, 0x21E37, 0x21E3D, 0x21E89, + 0x21EA4, 0x21EA8, 0x21EC8, 0x21ED5, 0x21F0F, 0x21F15, + 0x21F6A, 0x21F9E, 0x21FA1, 0x21FE8, 0x22045, 0x22049, + 0x2207E, 0x2209A, 0x220C7, 0x220FC, 0x2212A, 0x2215B, + 0x22173, 0x2217A, 0x221A1, 0x221C3, 0x22208, 0x2227C, + 0x22321, 0x22325, 0x223BD, 0x223D0, 0x223D7, 0x223FA, + 0x22465, 0x22471, 0x2248B, 0x22491, 0x224B0, 0x224ED, + 0x22513, 0x2251B, 0x22530, 0x22554, 0x2258D, 0x225AF, + 0x225BE, 0x2261B, 0x2261C, 0x2262B, 0x22668, 0x2267A, + 0x22696, 0x22698, 0x226F4, 0x226F5, 0x226F6, 0x22712, + 0x22714, 0x2271B, 0x2271F, 0x2272A, 0x22775, 0x22781, + 0x227B4, 0x227B5, 0x227CD, 0x22803, 0x2285F, 0x22860, + 0x22871, 0x228AD, 0x228C1, 0x228F7, 0x22926, 0x22939, + 0x2294F, 0x22967, 0x2296B, 0x22980, 0x22993, 0x22A66, + 0x22ACF, 0x22AD5, 0x22AE6, 0x22AE8, 0x22B0E, 0x22B22, + 0x22B3F, 0x22B43, 0x22B6A, 0x22BCA, 0x22BCE, 0x22C26, + 0x22C27, 0x22C38, 0x22C4C, 0x22C51, 0x22C55, 0x22C62, + 0x22C88, 0x22C9B, 0x22CA1, 0x22CA9, 0x22CB2, 0x22CB7, + 0x22CC2, 0x22CC6, 0x22CC9, 0x22D07, 0x22D08, 0x22D12, + 0x22D44, 0x22D4C, 0x22D67, 0x22D8D, 0x22D95, 0x22DA0, + 0x22DA3, 0x22DA4, 0x22DB7, 0x22DEE, 0x22E0D, 0x22E36, + 0x22E42, 0x22E78, 0x22E8B, 0x22EB3, 0x22EEF, 0x22F74, + 0x22FCC, 0x22FE3, 0x23033, 0x23044, 0x2304B, 0x23066, + 0x2307D, 0x2307E, 0x2308E, 0x230B7, 0x230BC, 0x230DA, + 0x23103, 0x2313D, 0x2317D, 0x23182, 0x231A4, 0x231A5, + 0x231B3, 0x231C8, 0x231C9, 0x231F7, 0x231F8, 0x231F9, + 0x2320F, 0x23225, 0x2322F, 0x23231, 0x23232, 0x23233, + 0x23234, 0x23262, 0x23281, 0x23289, 0x2328A, 0x232AB, + 0x232AC, 0x232AD, 0x232D2, 0x232E0, 0x232E1, 0x23300, + 0x2330A, 0x2331F, 0x233B4, 0x233CC, 0x233DE, 0x233E6, + 0x233F4, 0x233F5, 0x233F9, 0x233FA, 0x233FE, 0x23400, + 0x2343F, 0x23450, 0x2346F, 0x23472, 0x234E5, 0x23519, + 0x23530, 0x2355A, 0x23567, 0x23595, 0x23599, 0x2359C, + 0x235CD, 0x235CE, 0x235CF, 0x235F3, 0x23600, 0x2361A, + 0x2363C, 0x23640, 0x23659, 0x2365F, 0x23677, 0x236A6, + 0x236AD, 0x236BA, 0x236DF, 0x236EE, 0x23703, 0x23716, + 0x23720, 0x2372D, 0x2372F, 0x2373F, 0x23766, 0x23781, + 0x237A2, 0x237BC, 0x237C2, 0x237D5, 0x237D6, 0x237D7, + 0x2383A, 0x239C2, 0x23AA7, 0x23ADB, 0x23AEE, 0x23AFA, + 0x23B5A, 0x23C63, 0x23C99, 0x23C9A, 0x23C9B, 0x23CB5, + 0x23CB7, 0x23CC7, 0x23CC8, 0x23CC9, 0x23CFC, 0x23CFD, + 0x23CFE, 0x23CFF, 0x23D40, 0x23D5B, 0x23D7E, 0x23D8F, + 0x23DB6, 0x23DB7, 0x23DB8, 0x23DB9, 0x23DBA, 0x23DBB, + 0x23DBC, 0x23DBD, 0x23DE3, 0x23DF8, 0x23E11, 0x23E2C, + 0x23E2D, 0x23E2E, 0x23E2F, 0x23E30, 0x23E31, 0x23E39, + 0x23E88, 0x23E89, 0x23E8A, 0x23E8B, 0x23EB9, 0x23EBF, + 0x23ED7, 0x23EF7, 0x23EF8, 0x23EF9, 0x23EFA, 0x23EFB, + 0x23EFC, 0x23F35, 0x23F41, 0x23F4A, 0x23F7F, 0x23F80, + 0x23F81, 0x23F82, 0x23F8F, 0x23FB4, 0x23FB7, 0x23FC0, + 0x23FC5, 0x23FEB, 0x23FEC, 0x23FED, 0x23FEE, 0x23FEF, + 0x23FF0, 0x24011, 0x24039, 0x2403A, 0x2403B, 0x2403C, + 0x2403D, 0x24057, 0x24085, 0x2408B, 0x2408C, 0x2408D, + 0x24091, 0x240C9, 0x240E1, 0x24104, 0x2410F, 0x24119, + 0x2413F, 0x24140, 0x24144, 0x2414E, 0x24155, 0x24156, + 0x24157, 0x2415C, 0x2415F, 0x24177, 0x2417A, 0x241A3, + 0x241A4, 0x241A5, 0x241AC, 0x241B5, 0x241CD, 0x241E2, + 0x241FC, 0x2421B, 0x2424B, 0x24256, 0x24259, 0x24276, + 0x24277, 0x24278, 0x24284, 0x24293, 0x24295, 0x242A5, + 0x242C1, 0x242C9, 0x242CA, 0x242EE, 0x242FA, 0x2430D, + 0x2431A, 0x24334, 0x24348, 0x24362, 0x24363, 0x24364, + 0x24365, 0x2438C, 0x24396, 0x2439C, 0x243BD, 0x243C1, + 0x243E9, 0x243EA, 0x243F2, 0x243F8, 0x24404, 0x24435, + 0x24436, 0x2445A, 0x2445B, 0x24473, 0x24487, 0x24488, + 0x244B9, 0x244BC, 0x244CE, 0x244D3, 0x244D6, 0x24505, + 0x24521, 0x24578, 0x245C8, 0x24618, 0x2462A, 0x24665, + 0x24674, 0x24697, 0x246D4, 0x24706, 0x24725, 0x2472F, + 0x2478F, 0x247E0, 0x24812, 0x24823, 0x24882, 0x248E9, + 0x248F0, 0x248F1, 0x248F2, 0x248F3, 0x248FB, 0x248FF, + 0x24900, 0x24901, 0x2490C, 0x24916, 0x24917, 0x24919, + 0x2492F, 0x24933, 0x24934, 0x2493E, 0x2493F, 0x24940, + 0x24941, 0x24942, 0x24943, 0x24962, 0x24963, 0x24974, + 0x24975, 0x24976, 0x2497B, 0x2497F, 0x24982, 0x24988, + 0x24989, 0x2498A, 0x2498B, 0x2498C, 0x2498D, 0x2498E, + 0x2498F, 0x24994, 0x249A4, 0x249A7, 0x249A9, 0x249AB, + 0x249AC, 0x249AD, 0x249B7, 0x249B8, 0x249B9, 0x249BA, + 0x249BB, 0x249C5, 0x249D0, 0x249DA, 0x249DE, 0x249DF, + 0x249E3, 0x249E5, 0x249EC, 0x249ED, 0x249F6, 0x249F7, + 0x249F8, 0x249F9, 0x249FB, 0x24A0E, 0x24A12, 0x24A13, + 0x24A15, 0x24A21, 0x24A22, 0x24A23, 0x24A24, 0x24A25, + 0x24A26, 0x24A27, 0x24A28, 0x24A29, 0x24A2A, 0x24A3E, + 0x24A42, 0x24A45, 0x24A4A, 0x24A4E, 0x24A4F, 0x24A50, + 0x24A51, 0x24A5D, 0x24A65, 0x24A66, 0x24A67, 0x24A71, + 0x24A77, 0x24A78, 0x24A79, 0x24A7A, 0x24A8C, 0x24A93, + 0x24A94, 0x24A95, 0x24A96, 0x24AA4, 0x24AA5, 0x24AA6, + 0x24AA7, 0x24AB1, 0x24AB2, 0x24AB3, 0x24ABA, 0x24ABB, + 0x24ABC, 0x24AC0, 0x24AC7, 0x24ACA, 0x24AD1, 0x24ADF, + 0x24AE2, 0x24AE9, 0x24B6E, 0x24BF5, 0x24C09, 0x24C9E, + 0x24C9F, 0x24CC9, 0x24CD9, 0x24D06, 0x24D13, 0x24DB8, + 0x24DEA, 0x24DEB, 0x24E3B, 0x24E50, 0x24EA5, 0x24EA7, + 0x24F0E, 0x24F5C, 0x24F82, 0x24F86, 0x24F97, 0x24F9A, + 0x24FA9, 0x24FB8, 0x24FC2, 0x2502C, 0x25052, 0x2509D, + 0x2512B, 0x25148, 0x2517D, 0x2517E, 0x251CD, 0x251E3, + 0x251E6, 0x251E7, 0x25220, 0x25221, 0x25250, 0x25299, + 0x252C7, 0x252D8, 0x2530E, 0x25311, 0x25313, 0x25419, + 0x25425, 0x2542F, 0x25430, 0x25446, 0x2546C, 0x2546E, + 0x25531, 0x25535, 0x2553F, 0x2555B, 0x2555C, 0x2555D, + 0x2555E, 0x25562, 0x25565, 0x25566, 0x25581, 0x25584, + 0x2558F, 0x255B9, 0x255D5, 0x255DB, 0x255E0, 0x25605, + 0x25635, 0x25651, 0x25683, 0x25695, 0x256E3, 0x256F6, + 0x25706, 0x2571D, 0x25725, 0x2573D, 0x25772, 0x257C7, + 0x257DF, 0x257E0, 0x257E1, 0x25857, 0x2585D, 0x25872, + 0x258C8, 0x258E1, 0x25903, 0x25946, 0x25956, 0x259AC, + 0x259CC, 0x25A95, 0x25A9C, 0x25AAE, 0x25AAF, 0x25AE9, + 0x25B74, 0x25B89, 0x25BB3, 0x25BB4, 0x25BC6, 0x25BE4, + 0x25BE8, 0x25C01, 0x25C06, 0x25C21, 0x25C4A, 0x25C65, + 0x25C91, 0x25CA4, 0x25CC0, 0x25CC1, 0x25CFE, 0x25D20, + 0x25D30, 0x25D43, 0x25E0E, 0x25E49, 0x25E81, 0x25E82, + 0x25E83, 0x25EA6, 0x25EBC, 0x25ED7, 0x25ED8, 0x25F1A, + 0x25F4B, 0x25FE1, 0x25FE2, 0x26029, 0x26048, 0x26064, + 0x26083, 0x26097, 0x260A4, 0x260A5, 0x26102, 0x26121, + 0x26159, 0x2615A, 0x2615B, 0x2615C, 0x261AD, 0x261AE, + 0x261B2, 0x261DD, 0x26258, 0x26261, 0x2626A, 0x2626B, + 0x262D0, 0x26335, 0x2634B, 0x2634C, 0x26351, 0x263BE, + 0x263F5, 0x263F8, 0x26402, 0x26410, 0x26411, 0x26412, + 0x2644A, 0x26469, 0x26484, 0x26488, 0x26489, 0x2648D, + 0x26498, 0x26512, 0x26572, 0x265A0, 0x265AD, 0x265BF, + 0x26612, 0x26626, 0x266AF, 0x266B1, 0x266B5, 0x266DA, + 0x266E8, 0x266FC, 0x26716, 0x26741, 0x26799, 0x267B3, + 0x267B4, 0x267CC, 0x2681C, 0x26846, 0x2685E, 0x2686E, + 0x26888, 0x2688A, 0x26893, 0x268C7, 0x2690E, 0x26911, + 0x26926, 0x26939, 0x26951, 0x269A8, 0x269B5, 0x269F2, + 0x269FA, 0x26A2D, 0x26A2E, 0x26A34, 0x26A42, 0x26A51, + 0x26A52, 0x26B05, 0x26B0A, 0x26B13, 0x26B15, 0x26B28, + 0x26B50, 0x26B51, 0x26B52, 0x26B53, 0x26B5B, 0x26B75, + 0x26B82, 0x26B96, 0x26B97, 0x26B9D, 0x26BB3, 0x26BC0, + 0x26BF7, 0x26C21, 0x26C40, 0x26C7E, 0x26C7F, 0x26C80, + 0x26C81, 0x26C82, 0x26CA4, 0x26CB7, 0x26CB8, 0x26CBD, + 0x26CC0, 0x26CC3, 0x26CD1, 0x26D22, 0x26D23, 0x26D24, + 0x26D25, 0x26D26, 0x26D27, 0x26D28, 0x26D29, 0x26D2A, + 0x26D51, 0x26D74, 0x26DA0, 0x26DA1, 0x26DA2, 0x26DA3, + 0x26DA4, 0x26DA5, 0x26DA6, 0x26DA7, 0x26DAE, 0x26DDC, + 0x26DEA, 0x26DEB, 0x26DF0, 0x26E00, 0x26E05, 0x26E07, + 0x26E12, 0x26E42, 0x26E43, 0x26E44, 0x26E45, 0x26E6E, + 0x26E72, 0x26E77, 0x26E84, 0x26E99, 0x26ED0, 0x26ED1, + 0x26ED2, 0x26ED3, 0x26ED4, 0x26ED5, 0x26ED6, 0x26ED7, + 0x26F26, 0x26F73, 0x26F74, 0x26F9F, 0x26FA1, 0x26FBE, + 0x26FDE, 0x26FDF, 0x2700E, 0x2704B, 0x27052, 0x27053, + 0x27088, 0x270AD, 0x270AE, 0x270AF, 0x270CD, 0x270F8, + 0x27109, 0x2710C, 0x2710D, 0x27126, 0x27127, 0x27164, + 0x27165, 0x27175, 0x271CD, 0x2721B, 0x27280, 0x27285, + 0x2728B, 0x272B2, 0x272B6, 0x272E6, 0x2739A, 0x27422, + 0x27450, 0x27484, 0x27486, 0x27574, 0x275A3, 0x275E0, + 0x275E4, 0x275FD, 0x275FE, 0x27607, 0x2760C, 0x27632, + 0x27639, 0x27655, 0x27656, 0x27657, 0x27694, 0x2770F, + 0x27735, 0x27736, 0x27741, 0x2775E, 0x27784, 0x27785, + 0x277CC, 0x27858, 0x27870, 0x2789D, 0x278B2, 0x278C8, + 0x27924, 0x27967, 0x2797A, 0x279A0, 0x279DD, 0x279FD, + 0x27A0A, 0x27A0E, 0x27A3E, 0x27A53, 0x27A59, 0x27A79, + 0x27A84, 0x27ABD, 0x27ABE, 0x27AF4, 0x27B06, 0x27B0B, + 0x27B18, 0x27B38, 0x27B39, 0x27B3A, 0x27B48, 0x27BF4, + 0x27C12, 0x27D2F, 0x27D53, 0x27D54, 0x27D66, 0x27D73, + 0x27D84, 0x27D8F, 0x27D98, 0x27DBD, 0x27DDC, 0x27E4D, + 0x27E4F, 0x27FF9, 0x28002, 0x28009, 0x2801E, 0x28023, + 0x28024, 0x28048, 0x28083, 0x28090, 0x280BD, 0x280BE, + 0x280E8, 0x280E9, 0x280F4, 0x2812E, 0x2814F, 0x2815D, + 0x2816F, 0x28189, 0x281AF, 0x281BC, 0x28207, 0x28218, + 0x2821A, 0x28256, 0x2827C, 0x2829B, 0x282CD, 0x282E2, + 0x28306, 0x28318, 0x2832F, 0x2833A, 0x28365, 0x2836D, + 0x2837D, 0x2838A, 0x28412, 0x28468, 0x2846C, 0x28473, + 0x28482, 0x28501, 0x2853C, 0x2853D, 0x2856C, 0x285E8, + 0x285F4, 0x28600, 0x2860B, 0x28625, 0x2863B, 0x286AA, + 0x286AB, 0x286BC, 0x286D8, 0x286E6, 0x2870F, 0x28713, + 0x28804, 0x2882B, 0x28933, 0x28948, 0x28949, 0x28956, + 0x28964, 0x28968, 0x2896C, 0x2897E, 0x28989, 0x289A8, + 0x289AA, 0x289AB, 0x289B8, 0x289BC, 0x289C0, 0x289DC, + 0x289DE, 0x289E1, 0x289E3, 0x289E4, 0x289E7, 0x289E8, + 0x289F9, 0x289FA, 0x289FB, 0x289FC, 0x28A0F, 0x28A16, + 0x28A25, 0x28A29, 0x28A32, 0x28A36, 0x28A44, 0x28A45, + 0x28A46, 0x28A47, 0x28A48, 0x28A49, 0x28A4A, 0x28A4B, + 0x28A59, 0x28A5A, 0x28A81, 0x28A82, 0x28A83, 0x28A9A, + 0x28A9B, 0x28A9C, 0x28AC0, 0x28AC6, 0x28ACB, 0x28ACC, + 0x28ACE, 0x28ADE, 0x28ADF, 0x28AE0, 0x28AE1, 0x28AE2, + 0x28AE3, 0x28AE5, 0x28AEA, 0x28AFC, 0x28B0C, 0x28B13, + 0x28B21, 0x28B22, 0x28B2B, 0x28B2C, 0x28B2D, 0x28B2F, + 0x28B46, 0x28B4C, 0x28B4E, 0x28B50, 0x28B63, 0x28B64, + 0x28B65, 0x28B66, 0x28B6C, 0x28B8F, 0x28B99, 0x28B9C, + 0x28B9D, 0x28BC2, 0x28BC5, 0x28BD4, 0x28BD7, 0x28BD9, + 0x28BDA, 0x28BE7, 0x28BE8, 0x28BE9, 0x28BEA, 0x28BEB, + 0x28BEC, 0x28BF5, 0x28BFF, 0x28C03, 0x28C09, 0x28C1C, + 0x28C1D, 0x28C23, 0x28C26, 0x28C2B, 0x28C30, 0x28C39, + 0x28C3B, 0x28CCA, 0x28CCD, 0x28CD2, 0x28D34, 0x28D99, + 0x28DB9, 0x28E0F, 0x28E36, 0x28E39, 0x28E65, 0x28E66, + 0x28E97, 0x28EAC, 0x28EB2, 0x28EB3, 0x28ED9, 0x28EE7, + 0x28FC5, 0x29088, 0x2908B, 0x29093, 0x290AF, 0x290B0, + 0x290B1, 0x290C0, 0x290E4, 0x290E5, 0x290EC, 0x290ED, + 0x2910D, 0x29110, 0x2913C, 0x2914D, 0x2915B, 0x2915E, + 0x29170, 0x2919C, 0x291A8, 0x291D5, 0x291EB, 0x2941D, + 0x29420, 0x29433, 0x2943F, 0x29448, 0x294D0, 0x294D9, + 0x294DA, 0x294E5, 0x294E7, 0x2959E, 0x295B0, 0x295B8, + 0x295D7, 0x295E9, 0x295F4, 0x29720, 0x29732, 0x297D4, + 0x29810, 0x29857, 0x298A4, 0x298D1, 0x298EA, 0x298F1, + 0x29903, 0x29905, 0x2992F, 0x29947, 0x29948, 0x29949, + 0x2995D, 0x2996A, 0x2999D, 0x299C3, 0x299C9, 0x29A28, + 0x29A4D, 0x29B05, 0x29B0E, 0x29BD5, 0x29C73, 0x29CAD, + 0x29D3E, 0x29D5A, 0x29D7C, 0x29D98, 0x29D9B, 0x29DF6, + 0x29E06, 0x29E2D, 0x29E68, 0x29EAC, 0x29EC3, 0x29EF8, + 0x29F23, 0x29F30, 0x29FB7, 0x29FDE, 0x2A014, 0x2A087, + 0x2A0B9, 0x2A0E1, 0x2A0ED, 0x2A0F3, 0x2A0F8, 0x2A0FE, + 0x2A107, 0x2A123, 0x2A133, 0x2A134, 0x2A150, 0x2A192, + 0x2A193, 0x2A1AB, 0x2A1B4, 0x2A1DF, 0x2A1F5, 0x2A220, + 0x2A233, 0x2A293, 0x2A29F, 0x2A2B2, 0x2A2B4, 0x2A2B6, + 0x2A2BA, 0x2A2BD, 0x2A2DF, 0x2A2FF, 0x2A3A9, 0x2A434, + 0x2A45B, 0x2A5C6, 0x2A5CB, 0x2A601, 0x2A632, 0x2A64A, + 0x2A65B, 0x2A6A9, 0x2F825, 0x2F83B, 0x2F840, 0x2F878, + 0x2F894, 0x2F8A6, 0x2F8CD, 0x2F994, 0x2F9B2, 0x2F9BC, + 0x2F9D4 }; + + /** + * Big5-HKSCS native encoded equivalent for the + * surrogate pair input provided above within the + * String constant "surrogates" + */ + + final static byte[] expectBytes = { + (byte)0x9C, (byte)0x71, (byte)0x93, (byte)0x75, + (byte)0x93, (byte)0x76, (byte)0x95, (byte)0x48, + (byte)0x8E, (byte)0xC6, (byte)0x8B, (byte)0xC5, + (byte)0x8B, (byte)0xFA, (byte)0xC8, (byte)0x7C, + (byte)0x9A, (byte)0xB4, (byte)0x88, (byte)0x4E, + (byte)0x88, (byte)0x4B, (byte)0xC8, (byte)0x7A, + (byte)0x88, (byte)0x48, (byte)0x88, (byte)0x47, + (byte)0xA0, (byte)0xF6, (byte)0x88, (byte)0x45, + (byte)0x88, (byte)0x53, (byte)0xFC, (byte)0xAD, + (byte)0x8A, (byte)0xAD, (byte)0x92, (byte)0x72, + (byte)0xFC, (byte)0x47, (byte)0x94, (byte)0xDF, + (byte)0x9F, (byte)0xD1, (byte)0xFB, (byte)0xCB, + (byte)0x92, (byte)0x7D, (byte)0x98, (byte)0xA4, + (byte)0x94, (byte)0xE7, (byte)0x90, (byte)0xCB, + (byte)0x92, (byte)0x7B, (byte)0x94, (byte)0xD8, + (byte)0xFC, (byte)0x5F, (byte)0xFA, (byte)0x54, + (byte)0x9A, (byte)0xB5, (byte)0x96, (byte)0xDA, + (byte)0x92, (byte)0x79, (byte)0xFA, (byte)0x74, + (byte)0x92, (byte)0x75, (byte)0x8D, (byte)0xFB, + (byte)0x8A, (byte)0x49, (byte)0x92, (byte)0xDF, + (byte)0x9B, (byte)0x7C, (byte)0xFA, (byte)0x63, + (byte)0xFA, (byte)0x60, (byte)0x92, (byte)0x6D, + (byte)0xFA, (byte)0x62, (byte)0x9A, (byte)0xB6, + (byte)0x97, (byte)0x6B, (byte)0xFD, (byte)0x6A, + (byte)0xFD, (byte)0x54, (byte)0x92, (byte)0x73, + (byte)0x97, (byte)0xD8, (byte)0x9F, (byte)0xBB, + (byte)0x93, (byte)0x42, (byte)0x92, (byte)0x76, + (byte)0xFA, (byte)0x65, (byte)0x92, (byte)0x6C, + (byte)0xFA, (byte)0x6E, (byte)0x9E, (byte)0xE0, + (byte)0x92, (byte)0xC0, (byte)0x92, (byte)0xBF, + (byte)0x92, (byte)0xBE, (byte)0x9A, (byte)0xBA, + (byte)0x8A, (byte)0xB3, (byte)0x97, (byte)0x75, + (byte)0xFA, (byte)0x40, (byte)0xFA, (byte)0x76, + (byte)0xFB, (byte)0xD0, (byte)0xFA, (byte)0x7B, + (byte)0xFE, (byte)0x6D, (byte)0x9B, (byte)0xB3, + (byte)0x89, (byte)0xCC, (byte)0x9A, (byte)0xBE, + (byte)0xFA, (byte)0x42, (byte)0x92, (byte)0xBC, + (byte)0x94, (byte)0x5C, (byte)0x9B, (byte)0xB5, + (byte)0x9A, (byte)0xBF, (byte)0x98, (byte)0xA7, + (byte)0x97, (byte)0xA4, (byte)0x90, (byte)0xFD, + (byte)0xFC, (byte)0x7B, (byte)0x9A, (byte)0xC0, + (byte)0x92, (byte)0xC3, (byte)0x8A, (byte)0xAA, + (byte)0x9B, (byte)0xD0, (byte)0x95, (byte)0x50, + (byte)0x92, (byte)0xC6, (byte)0x98, (byte)0xA6, + (byte)0x95, (byte)0x46, (byte)0xFD, (byte)0x63, + (byte)0xFA, (byte)0xC2, (byte)0x9E, (byte)0xC3, + (byte)0x89, (byte)0xB2, (byte)0x9C, (byte)0x66, + (byte)0x90, (byte)0x53, (byte)0x97, (byte)0xC1, + (byte)0x9A, (byte)0xC4, (byte)0x9A, (byte)0xC5, + (byte)0x8E, (byte)0xEF, (byte)0xFA, (byte)0xE9, + (byte)0x92, (byte)0x62, (byte)0x8A, (byte)0xF7, + (byte)0x9A, (byte)0xC6, (byte)0x92, (byte)0xE1, + (byte)0x9A, (byte)0xC9, (byte)0xFA, (byte)0xC6, + (byte)0x97, (byte)0xA5, (byte)0x9A, (byte)0xCB, + (byte)0xFA, (byte)0x72, (byte)0x8A, (byte)0x5E, + (byte)0x94, (byte)0xE0, (byte)0x92, (byte)0xCC, + (byte)0x8A, (byte)0xE5, (byte)0xFE, (byte)0x5C, + (byte)0x9A, (byte)0xCC, (byte)0x9D, (byte)0xF9, + (byte)0x8A, (byte)0x43, (byte)0x8A, (byte)0xA6, + (byte)0x9A, (byte)0xCD, (byte)0x9A, (byte)0xCE, + (byte)0xFA, (byte)0xEE, (byte)0x9B, (byte)0xCC, + (byte)0x9A, (byte)0xCF, (byte)0x9A, (byte)0xD1, + (byte)0x9D, (byte)0xFA, (byte)0x9D, (byte)0x7C, + (byte)0x9A, (byte)0xD3, (byte)0x97, (byte)0xA6, + (byte)0x99, (byte)0x5F, (byte)0xFB, (byte)0xF6, + (byte)0x9F, (byte)0xC5, (byte)0x8A, (byte)0x59, + (byte)0x8B, (byte)0x6B, (byte)0x9A, (byte)0xD4, + (byte)0x9A, (byte)0xD5, (byte)0x97, (byte)0xA2, + (byte)0x8A, (byte)0x44, (byte)0x9F, (byte)0x4A, + (byte)0x90, (byte)0xA1, (byte)0xFD, (byte)0xA4, + (byte)0x8A, (byte)0x64, (byte)0x8A, (byte)0xF2, + (byte)0x8A, (byte)0xF8, (byte)0x9D, (byte)0xD8, + (byte)0x94, (byte)0xD6, (byte)0xFA, (byte)0xFE, + (byte)0xFB, (byte)0xA7, (byte)0x9A, (byte)0xD6, + (byte)0x9F, (byte)0x4D, (byte)0xFA, (byte)0xF6, + (byte)0x8A, (byte)0x57, (byte)0x8B, (byte)0x43, + (byte)0x8B, (byte)0x44, (byte)0x8A, (byte)0xB6, + (byte)0x8A, (byte)0xC0, (byte)0x9E, (byte)0x54, + (byte)0x9A, (byte)0xD7, (byte)0x9A, (byte)0xD8, + (byte)0x9A, (byte)0xDC, (byte)0x8A, (byte)0xCA, + (byte)0x9E, (byte)0xA8, (byte)0x92, (byte)0x63, + (byte)0x9A, (byte)0xDD, (byte)0x8B, (byte)0x65, + (byte)0x8B, (byte)0x6F, (byte)0x8B, (byte)0x7E, + (byte)0x8F, (byte)0x43, (byte)0x92, (byte)0xD0, + (byte)0x8A, (byte)0xF4, (byte)0x9D, (byte)0xBE, + (byte)0x9A, (byte)0xE1, (byte)0xFC, (byte)0xDE, + (byte)0x9D, (byte)0xFD, (byte)0x8B, (byte)0x66, + (byte)0x8B, (byte)0x70, (byte)0x8B, (byte)0x75, + (byte)0x8A, (byte)0xE4, (byte)0x8B, (byte)0xA4, + (byte)0x8A, (byte)0xED, (byte)0x8A, (byte)0x5D, + (byte)0x8B, (byte)0x48, (byte)0x9D, (byte)0xED, + (byte)0x9E, (byte)0x40, (byte)0x8A, (byte)0xEF, + (byte)0x8A, (byte)0xF6, (byte)0x9E, (byte)0x76, + (byte)0x9E, (byte)0xE3, (byte)0x9A, (byte)0xDE, + (byte)0x8D, (byte)0xFE, (byte)0xFA, (byte)0xFC, + (byte)0x9C, (byte)0xB1, (byte)0x9E, (byte)0x77, + (byte)0x8B, (byte)0x64, (byte)0x8B, (byte)0x67, + (byte)0x97, (byte)0x4B, (byte)0x96, (byte)0x53, + (byte)0x9A, (byte)0xE0, (byte)0x8B, (byte)0x4A, + (byte)0x8A, (byte)0xF1, (byte)0x8A, (byte)0xD7, + (byte)0xA0, (byte)0xAB, (byte)0x8A, (byte)0xB5, + (byte)0x8A, (byte)0x5F, (byte)0x8A, (byte)0xEE, + (byte)0x9A, (byte)0xDF, (byte)0x8A, (byte)0xFE, + (byte)0x8A, (byte)0x58, (byte)0x8B, (byte)0xA3, + (byte)0x8B, (byte)0xA7, (byte)0x9A, (byte)0xE3, + (byte)0x92, (byte)0x61, (byte)0x9D, (byte)0xD7, + (byte)0x9E, (byte)0x7D, (byte)0x9E, (byte)0xA7, + (byte)0x9E, (byte)0xAB, (byte)0x90, (byte)0x42, + (byte)0x8B, (byte)0x79, (byte)0x8B, (byte)0x7A, + (byte)0x9A, (byte)0xE6, (byte)0x9A, (byte)0xE5, + (byte)0x8A, (byte)0x7E, (byte)0x9E, (byte)0x44, + (byte)0x9A, (byte)0xE7, (byte)0x8A, (byte)0x7C, + (byte)0x8B, (byte)0x71, (byte)0x9A, (byte)0xE9, + (byte)0x9A, (byte)0xEA, (byte)0x9A, (byte)0xEB, + (byte)0x8A, (byte)0xBD, (byte)0xFB, (byte)0x4E, + (byte)0x9A, (byte)0xED, (byte)0x8A, (byte)0xF9, + (byte)0x9E, (byte)0x63, (byte)0x8B, (byte)0x49, + (byte)0x8A, (byte)0xCE, (byte)0x8B, (byte)0x6E, + (byte)0x8A, (byte)0xE8, (byte)0x9A, (byte)0xEE, + (byte)0x92, (byte)0xCE, (byte)0x8A, (byte)0x5A, + (byte)0x8B, (byte)0x7B, (byte)0x8B, (byte)0x7C, + (byte)0x9A, (byte)0xEF, (byte)0x9A, (byte)0xF0, + (byte)0x8A, (byte)0xFA, (byte)0x89, (byte)0x41, + (byte)0x8B, (byte)0x72, (byte)0x8A, (byte)0xF3, + (byte)0x8B, (byte)0xA8, (byte)0x9E, (byte)0xAE, + (byte)0x9E, (byte)0x72, (byte)0xFB, (byte)0x73, + (byte)0xFB, (byte)0x5F, (byte)0x90, (byte)0xBA, + (byte)0x91, (byte)0xFE, (byte)0x9E, (byte)0xF6, + (byte)0x97, (byte)0xED, (byte)0x9A, (byte)0xF3, + (byte)0xA0, (byte)0xEE, (byte)0x96, (byte)0x7C, + (byte)0x93, (byte)0x45, (byte)0x98, (byte)0x6E, + (byte)0xFA, (byte)0x56, (byte)0x9A, (byte)0xF5, + (byte)0xFC, (byte)0x4B, (byte)0x9A, (byte)0xF4, + (byte)0xFE, (byte)0xDE, (byte)0xFC, (byte)0xB7, + (byte)0x97, (byte)0xF1, (byte)0x97, (byte)0xC7, + (byte)0x9C, (byte)0xCB, (byte)0x92, (byte)0x40, + (byte)0x9C, (byte)0xE8, (byte)0x91, (byte)0xFD, + (byte)0x97, (byte)0x4E, (byte)0xFB, (byte)0x68, + (byte)0x97, (byte)0x6C, (byte)0x8C, (byte)0xC2, + (byte)0x97, (byte)0xE8, (byte)0xFB, (byte)0x6A, + (byte)0x8B, (byte)0x74, (byte)0x8E, (byte)0xE7, + (byte)0xFD, (byte)0xC8, (byte)0x92, (byte)0x41, + (byte)0x96, (byte)0xA1, (byte)0x8E, (byte)0xF3, + (byte)0x9A, (byte)0xF7, (byte)0x8F, (byte)0xA6, + (byte)0xFA, (byte)0xD6, (byte)0x9C, (byte)0xC7, + (byte)0xFA, (byte)0xD7, (byte)0x9A, (byte)0xF8, + (byte)0xFB, (byte)0xA1, (byte)0x8E, (byte)0xC5, + (byte)0xFB, (byte)0xA4, (byte)0xFB, (byte)0xC2, + (byte)0x9A, (byte)0xC1, (byte)0x91, (byte)0xFA, + (byte)0xFE, (byte)0xDB, (byte)0x97, (byte)0xAB, + (byte)0x91, (byte)0x47, (byte)0xFB, (byte)0xB1, + (byte)0x8F, (byte)0xEA, (byte)0x94, (byte)0xD2, + (byte)0xFE, (byte)0x61, (byte)0xFA, (byte)0xCE, + (byte)0x92, (byte)0xED, (byte)0x91, (byte)0xF3, + (byte)0x93, (byte)0xC6, (byte)0x93, (byte)0x5A, + (byte)0xFA, (byte)0xFB, (byte)0x92, (byte)0xEF, + (byte)0xFA, (byte)0xC8, (byte)0x98, (byte)0x47, + (byte)0x93, (byte)0x66, (byte)0x98, (byte)0x55, + (byte)0x96, (byte)0xE6, (byte)0x9F, (byte)0x43, + (byte)0x9F, (byte)0xAA, (byte)0x94, (byte)0xDA, + (byte)0x92, (byte)0xEE, (byte)0xFC, (byte)0xAF, + (byte)0xFB, (byte)0xFB, (byte)0x8E, (byte)0xF9, + (byte)0x91, (byte)0xF6, (byte)0x93, (byte)0x64, + (byte)0x94, (byte)0xF5, (byte)0x9C, (byte)0xB6, + (byte)0xFB, (byte)0xAD, (byte)0x98, (byte)0x4E, + (byte)0x8F, (byte)0x44, (byte)0x96, (byte)0xFD, + (byte)0x9A, (byte)0xF9, (byte)0x9A, (byte)0xFA, + (byte)0x97, (byte)0x69, (byte)0x95, (byte)0xD4, + (byte)0x98, (byte)0x4B, (byte)0xFB, (byte)0xAA, + (byte)0x98, (byte)0x7C, (byte)0x91, (byte)0xEA, + (byte)0x9D, (byte)0xAF, (byte)0x9D, (byte)0xC5, + (byte)0x91, (byte)0xF1, (byte)0x8E, (byte)0xB1, + (byte)0x97, (byte)0xA9, (byte)0xFB, (byte)0xAC, + (byte)0xFC, (byte)0xB8, (byte)0x9C, (byte)0xB9, + (byte)0xFB, (byte)0xB0, (byte)0xFC, (byte)0xD2, + (byte)0x93, (byte)0xCB, (byte)0x9A, (byte)0xFD, + (byte)0x91, (byte)0xF4, (byte)0x8B, (byte)0xAC, + (byte)0xA0, (byte)0x55, (byte)0x95, (byte)0x74, + (byte)0x95, (byte)0xBE, (byte)0x97, (byte)0xAD, + (byte)0x8E, (byte)0xE9, (byte)0x92, (byte)0xF8, + (byte)0x97, (byte)0xBE, (byte)0x91, (byte)0x6C, + (byte)0x94, (byte)0xAA, (byte)0xFC, (byte)0x63, + (byte)0x9D, (byte)0xC6, (byte)0x97, (byte)0xB5, + (byte)0x92, (byte)0xB8, (byte)0x91, (byte)0xEF, + (byte)0xFE, (byte)0xA6, (byte)0x97, (byte)0x60, + (byte)0x93, (byte)0x58, (byte)0x95, (byte)0x76, + (byte)0x8F, (byte)0xAC, (byte)0x91, (byte)0xEC, + (byte)0x97, (byte)0xB4, (byte)0x91, (byte)0xF7, + (byte)0x97, (byte)0x4A, (byte)0xFB, (byte)0x49, + (byte)0x95, (byte)0x78, (byte)0x93, (byte)0xBC, + (byte)0x91, (byte)0xD6, (byte)0x93, (byte)0x55, + (byte)0x93, (byte)0x56, (byte)0x98, (byte)0x51, + (byte)0x8F, (byte)0xF8, (byte)0xFB, (byte)0xC0, + (byte)0x93, (byte)0xF2, (byte)0x90, (byte)0xD0, + (byte)0x9C, (byte)0x44, (byte)0x92, (byte)0x55, + (byte)0x93, (byte)0x63, (byte)0x91, (byte)0xA5, + (byte)0xA0, (byte)0xED, (byte)0xFD, (byte)0x6B, + (byte)0x9A, (byte)0xFE, (byte)0x93, (byte)0x51, + (byte)0x8C, (byte)0x57, (byte)0xFA, (byte)0x78, + (byte)0xFE, (byte)0xA8, (byte)0x93, (byte)0x50, + (byte)0xFA, (byte)0x4C, (byte)0x92, (byte)0xF7, + (byte)0x9B, (byte)0x40, (byte)0xFB, (byte)0xCE, + (byte)0x9B, (byte)0x41, (byte)0xFE, (byte)0xAD, + (byte)0xFB, (byte)0xD5, (byte)0x8B, (byte)0xC2, + (byte)0x9A, (byte)0x7C, (byte)0x9B, (byte)0x42, + (byte)0x9B, (byte)0x43, (byte)0x9E, (byte)0x79, + (byte)0xFB, (byte)0xD9, (byte)0x9B, (byte)0x44, + (byte)0xA0, (byte)0xA7, (byte)0x9B, (byte)0xF3, + (byte)0x8C, (byte)0x79, (byte)0x93, (byte)0x5E, + (byte)0x89, (byte)0xCB, (byte)0x9F, (byte)0x53, + (byte)0x93, (byte)0xD7, (byte)0xFB, (byte)0xE1, + (byte)0xFE, (byte)0xD0, (byte)0xFB, (byte)0xE2, + (byte)0xFC, (byte)0xE3, (byte)0x90, (byte)0x74, + (byte)0xFB, (byte)0xE6, (byte)0x9B, (byte)0xB7, + (byte)0x9B, (byte)0x45, (byte)0x9B, (byte)0x47, + (byte)0x9F, (byte)0x50, (byte)0x9B, (byte)0x48, + (byte)0xFC, (byte)0x5B, (byte)0x98, (byte)0xA9, + (byte)0x9C, (byte)0xFD, (byte)0x88, (byte)0x4C, + (byte)0x9B, (byte)0x4B, (byte)0xFB, (byte)0xEC, + (byte)0x8C, (byte)0x69, (byte)0x9B, (byte)0xA8, + (byte)0x8A, (byte)0xD5, (byte)0xFA, (byte)0x73, + (byte)0xFD, (byte)0x59, (byte)0x91, (byte)0xA2, + (byte)0xFB, (byte)0xED, (byte)0x9C, (byte)0xA9, + (byte)0x8A, (byte)0xA8, (byte)0x9B, (byte)0xC3, + (byte)0x8A, (byte)0xE1, (byte)0x9B, (byte)0x4E, + (byte)0x95, (byte)0xD0, (byte)0x90, (byte)0x5F, + (byte)0x97, (byte)0xEE, (byte)0xFC, (byte)0x4E, + (byte)0x9B, (byte)0x4F, (byte)0x9B, (byte)0x50, + (byte)0x9E, (byte)0xC6, (byte)0xFC, (byte)0x50, + (byte)0xFD, (byte)0x73, (byte)0xFD, (byte)0xA7, + (byte)0x9D, (byte)0xA2, (byte)0xFA, (byte)0x58, + (byte)0xFA, (byte)0x5E, (byte)0xA0, (byte)0x59, + (byte)0xFA, (byte)0x75, (byte)0xFB, (byte)0xBE, + (byte)0x9C, (byte)0xA2, (byte)0x93, (byte)0x70, + (byte)0x93, (byte)0x71, (byte)0x93, (byte)0x77, + (byte)0xFE, (byte)0xEF, (byte)0x93, (byte)0x6D, + (byte)0xFC, (byte)0x5D, (byte)0x90, (byte)0xB8, + (byte)0x8A, (byte)0xFC, (byte)0xFB, (byte)0x41, + (byte)0x9E, (byte)0x6B, (byte)0x94, (byte)0xE3, + (byte)0x8E, (byte)0xE2, (byte)0x8C, (byte)0x7D, + (byte)0x8E, (byte)0xD7, (byte)0x9C, (byte)0x4D, + (byte)0x96, (byte)0xA3, (byte)0x9B, (byte)0x51, + (byte)0x8A, (byte)0xC3, (byte)0x96, (byte)0xAA, + (byte)0xFC, (byte)0x68, (byte)0x8B, (byte)0x6D, + (byte)0xFD, (byte)0x67, (byte)0x8A, (byte)0xE9, + (byte)0xFC, (byte)0xA1, (byte)0x93, (byte)0x6C, + (byte)0x9B, (byte)0x52, (byte)0xFE, (byte)0x70, + (byte)0xFC, (byte)0xA8, (byte)0xFC, (byte)0xE9, + (byte)0x9C, (byte)0xB4, (byte)0x8A, (byte)0xEA, + (byte)0x9B, (byte)0x53, (byte)0x9B, (byte)0x55, + (byte)0x96, (byte)0xAB, (byte)0xFC, (byte)0xA7, + (byte)0x9B, (byte)0x56, (byte)0x8A, (byte)0xBC, + (byte)0x8A, (byte)0xCB, (byte)0x9B, (byte)0x57, + (byte)0x89, (byte)0xCD, (byte)0x9B, (byte)0x59, + (byte)0x9B, (byte)0x5B, (byte)0x93, (byte)0xA5, + (byte)0x9B, (byte)0x5D, (byte)0x9E, (byte)0x4F, + (byte)0x93, (byte)0xA3, (byte)0x8A, (byte)0x7B, + (byte)0x8B, (byte)0x42, (byte)0x97, (byte)0x50, + (byte)0x8F, (byte)0xB3, (byte)0x8A, (byte)0x50, + (byte)0x9B, (byte)0x60, (byte)0x8B, (byte)0x45, + (byte)0x8B, (byte)0x46, (byte)0x9D, (byte)0xFE, + (byte)0x9B, (byte)0x62, (byte)0x93, (byte)0x7B, + (byte)0x93, (byte)0xB1, (byte)0x8A, (byte)0x60, + (byte)0x8A, (byte)0xD8, (byte)0x9B, (byte)0x63, + (byte)0x8A, (byte)0x69, (byte)0x8A, (byte)0x47, + (byte)0x8A, (byte)0xCC, (byte)0x93, (byte)0x7C, + (byte)0x9B, (byte)0x65, (byte)0x9B, (byte)0x66, + (byte)0x8A, (byte)0x72, (byte)0x8A, (byte)0x7A, + (byte)0x93, (byte)0xAF, (byte)0x8A, (byte)0xB0, + (byte)0x9B, (byte)0x68, (byte)0x9E, (byte)0xA3, + (byte)0xFA, (byte)0xEC, (byte)0x8B, (byte)0x77, + (byte)0x9B, (byte)0x67, (byte)0x8B, (byte)0x59, + (byte)0xFC, (byte)0xB1, (byte)0xFC, (byte)0xBB, + (byte)0x9B, (byte)0x69, (byte)0x93, (byte)0xA8, + (byte)0x8A, (byte)0xE0, (byte)0x9E, (byte)0x51, + (byte)0x8F, (byte)0x5F, (byte)0x9B, (byte)0x6A, + (byte)0x9B, (byte)0x6B, (byte)0x97, (byte)0xEC, + (byte)0x9B, (byte)0x6C, (byte)0xFE, (byte)0x4E, + (byte)0xFD, (byte)0xC2, (byte)0x9B, (byte)0x6D, + (byte)0x91, (byte)0x67, (byte)0xFC, (byte)0xCC, + (byte)0x93, (byte)0xB6, (byte)0x90, (byte)0xE4, + (byte)0x90, (byte)0xE5, (byte)0x9E, (byte)0xF2, + (byte)0x93, (byte)0xCA, (byte)0x8B, (byte)0xBC, + (byte)0x8F, (byte)0x46, (byte)0x93, (byte)0xCF, + (byte)0xFC, (byte)0xDB, (byte)0xFC, (byte)0xDC, + (byte)0x93, (byte)0xC0, (byte)0xFC, (byte)0xE6, + (byte)0x96, (byte)0xE7, (byte)0xFC, (byte)0xD8, + (byte)0xFC, (byte)0xD9, (byte)0xFD, (byte)0xA6, + (byte)0x93, (byte)0xCE, (byte)0x95, (byte)0xF1, + (byte)0x9C, (byte)0xE9, (byte)0xFC, (byte)0xE4, + (byte)0x94, (byte)0xAF, (byte)0xFA, (byte)0x77, + (byte)0x93, (byte)0xCC, (byte)0x90, (byte)0x5A, + (byte)0x8C, (byte)0x54, (byte)0x93, (byte)0xBF, + (byte)0xFB, (byte)0x51, (byte)0x93, (byte)0xB9, + (byte)0xFE, (byte)0xD7, (byte)0x93, (byte)0xB7, + (byte)0x93, (byte)0xD9, (byte)0x93, (byte)0xBB, + (byte)0x93, (byte)0xDA, (byte)0x98, (byte)0xA3, + (byte)0x90, (byte)0xD1, (byte)0x9B, (byte)0x6E, + (byte)0xFA, (byte)0x70, (byte)0x9B, (byte)0xEB, + (byte)0x9B, (byte)0x6F, (byte)0xFC, (byte)0xFC, + (byte)0x8B, (byte)0x40, (byte)0xA0, (byte)0x7B, + (byte)0x8C, (byte)0xA1, (byte)0x97, (byte)0xF7, + (byte)0x93, (byte)0xE2, (byte)0xFC, (byte)0xD6, + (byte)0x95, (byte)0x59, (byte)0x93, (byte)0xA6, + (byte)0xFD, (byte)0x40, (byte)0x93, (byte)0x5F, + (byte)0x97, (byte)0xF2, (byte)0x9C, (byte)0x76, + (byte)0x8E, (byte)0xF8, (byte)0x8F, (byte)0x47, + (byte)0x9B, (byte)0x74, (byte)0x92, (byte)0xB4, + (byte)0x91, (byte)0xED, (byte)0x96, (byte)0xD2, + (byte)0xFD, (byte)0x46, (byte)0x8F, (byte)0x4F, + (byte)0x95, (byte)0x49, (byte)0x9B, (byte)0x75, + (byte)0xFA, (byte)0x5C, (byte)0x9B, (byte)0x79, + (byte)0xFD, (byte)0x4B, (byte)0x96, (byte)0xD3, + (byte)0xFD, (byte)0x58, (byte)0x94, (byte)0x5F, + (byte)0xA0, (byte)0xF5, (byte)0x92, (byte)0x43, + (byte)0x97, (byte)0xFA, (byte)0x9D, (byte)0xD9, + (byte)0x97, (byte)0xF4, (byte)0x92, (byte)0x4D, + (byte)0xFD, (byte)0x5B, (byte)0x9B, (byte)0x7A, + (byte)0x9E, (byte)0xD5, (byte)0xFA, (byte)0xAE, + (byte)0x9C, (byte)0xC9, (byte)0x92, (byte)0x58, + (byte)0x8E, (byte)0xC8, (byte)0x94, (byte)0xB4, + (byte)0x93, (byte)0xE1, (byte)0x93, (byte)0xDF, + (byte)0xFC, (byte)0xF0, (byte)0x93, (byte)0xEC, + (byte)0x97, (byte)0xF6, (byte)0x96, (byte)0xCF, + (byte)0x93, (byte)0xDE, (byte)0x8A, (byte)0xCF, + (byte)0x9B, (byte)0xA2, (byte)0xFD, (byte)0x69, + (byte)0x93, (byte)0x52, (byte)0x98, (byte)0xA2, + (byte)0xFD, (byte)0x6E, (byte)0x8C, (byte)0xA4, + (byte)0xFA, (byte)0x7C, (byte)0x93, (byte)0xFA, + (byte)0x90, (byte)0x7C, (byte)0x8F, (byte)0x67, + (byte)0x9D, (byte)0xB7, (byte)0xA0, (byte)0xE9, + (byte)0xFA, (byte)0x4E, (byte)0xFD, (byte)0xA1, + (byte)0x9E, (byte)0x74, (byte)0x9F, (byte)0xBF, + (byte)0x9E, (byte)0xCB, (byte)0x9B, (byte)0xB9, + (byte)0x9D, (byte)0xD4, (byte)0x97, (byte)0xB9, + (byte)0x8E, (byte)0xF1, (byte)0x95, (byte)0x7B, + (byte)0x9E, (byte)0xD2, (byte)0x97, (byte)0x53, + (byte)0x96, (byte)0xA4, (byte)0x8F, (byte)0xBE, + (byte)0x94, (byte)0xD9, (byte)0x90, (byte)0x58, + (byte)0xFD, (byte)0x79, (byte)0xFD, (byte)0x7B, + (byte)0x8E, (byte)0xDA, (byte)0x8E, (byte)0xFA, + (byte)0x9B, (byte)0xA5, (byte)0x9E, (byte)0xD9, + (byte)0x97, (byte)0xD4, (byte)0x90, (byte)0xBB, + (byte)0xFD, (byte)0xBC, (byte)0xFD, (byte)0xC6, + (byte)0x92, (byte)0x48, (byte)0x92, (byte)0xB5, + (byte)0x9D, (byte)0xC1, (byte)0x92, (byte)0xB9, + (byte)0x92, (byte)0xA6, (byte)0x8F, (byte)0x4B, + (byte)0x9B, (byte)0xA6, (byte)0x92, (byte)0xB6, + (byte)0x8E, (byte)0x40, (byte)0x9E, (byte)0xD8, + (byte)0x94, (byte)0x5E, (byte)0x98, (byte)0x5F, + (byte)0x94, (byte)0xCE, (byte)0x92, (byte)0x4A, + (byte)0xFD, (byte)0x70, (byte)0x94, (byte)0x67, + (byte)0x8D, (byte)0xEC, (byte)0x9B, (byte)0xD8, + (byte)0x94, (byte)0x48, (byte)0xFA, (byte)0xC1, + (byte)0x9C, (byte)0xF7, (byte)0xFD, (byte)0xBE, + (byte)0x8F, (byte)0xDA, (byte)0xFD, (byte)0xD9, + (byte)0xFC, (byte)0x7E, (byte)0x93, (byte)0xF9, + (byte)0xFA, (byte)0x43, (byte)0xFA, (byte)0xEB, + (byte)0xFA, (byte)0xC3, (byte)0x97, (byte)0xD3, + (byte)0x95, (byte)0xF9, (byte)0x9C, (byte)0x48, + (byte)0xFD, (byte)0xD8, (byte)0xA0, (byte)0xD8, + (byte)0xFD, (byte)0xD7, (byte)0xFB, (byte)0x4A, + (byte)0x9B, (byte)0xAF, (byte)0x94, (byte)0x4B, + (byte)0xFD, (byte)0xC9, (byte)0x8E, (byte)0xAC, + (byte)0xFD, (byte)0xB2, (byte)0x92, (byte)0x5A, + (byte)0xFC, (byte)0xBD, (byte)0x92, (byte)0xD9, + (byte)0xFD, (byte)0xD5, (byte)0x92, (byte)0xDD, + (byte)0x92, (byte)0x59, (byte)0x96, (byte)0xBA, + (byte)0x92, (byte)0x5B, (byte)0x9B, (byte)0xAB, + (byte)0xFD, (byte)0xDA, (byte)0xFD, (byte)0xDE, + (byte)0xFD, (byte)0xD3, (byte)0x8C, (byte)0x46, + (byte)0xFD, (byte)0xD6, (byte)0xFD, (byte)0xDC, + (byte)0xFD, (byte)0xDD, (byte)0x90, (byte)0xFE, + (byte)0xFE, (byte)0xA1, (byte)0x8B, (byte)0xAD, + (byte)0x9C, (byte)0xD8, (byte)0x9E, (byte)0x6D, + (byte)0xFD, (byte)0x7C, (byte)0xFB, (byte)0x61, + (byte)0x96, (byte)0xF8, (byte)0x96, (byte)0xF0, + (byte)0xFC, (byte)0xF4, (byte)0xFE, (byte)0x60, + (byte)0x98, (byte)0x52, (byte)0x96, (byte)0x4F, + (byte)0x91, (byte)0x6E, (byte)0x98, (byte)0x6D, + (byte)0x98, (byte)0x64, (byte)0x94, (byte)0x53, + (byte)0xFD, (byte)0xEC, (byte)0xFB, (byte)0x78, + (byte)0x95, (byte)0xBA, (byte)0x98, (byte)0x5D, + (byte)0x92, (byte)0xF9, (byte)0x98, (byte)0x5A, + (byte)0xFD, (byte)0xF6, (byte)0x93, (byte)0xD0, + (byte)0x98, (byte)0x62, (byte)0x9B, (byte)0xAD, + (byte)0x97, (byte)0x4F, (byte)0x9B, (byte)0xAE, + (byte)0x94, (byte)0x52, (byte)0x9B, (byte)0xB0, + (byte)0x91, (byte)0xD2, (byte)0x97, (byte)0xEA, + (byte)0xFB, (byte)0x6B, (byte)0x91, (byte)0xB1, + (byte)0xFD, (byte)0xF3, (byte)0x92, (byte)0xCB, + (byte)0x9B, (byte)0xB1, (byte)0xFC, (byte)0xEC, + (byte)0x98, (byte)0x6B, (byte)0x97, (byte)0x51, + (byte)0x98, (byte)0x71, (byte)0x95, (byte)0xEF, + (byte)0x9E, (byte)0xF3, (byte)0x91, (byte)0xE8, + (byte)0x9B, (byte)0xBA, (byte)0xFB, (byte)0x4C, + (byte)0x92, (byte)0x6A, (byte)0xFD, (byte)0xF8, + (byte)0x98, (byte)0x61, (byte)0x91, (byte)0xE7, + (byte)0x93, (byte)0xED, (byte)0x97, (byte)0x44, + (byte)0x91, (byte)0xE1, (byte)0xFB, (byte)0xF5, + (byte)0x98, (byte)0x69, (byte)0x8A, (byte)0x62, + (byte)0x9B, (byte)0xBB, (byte)0x8C, (byte)0xA8, + (byte)0x9C, (byte)0x55, (byte)0x8E, (byte)0x77, + (byte)0x8A, (byte)0xB2, (byte)0x9E, (byte)0xBC, + (byte)0x93, (byte)0xE6, (byte)0x93, (byte)0xA2, + (byte)0x9B, (byte)0xBD, (byte)0x94, (byte)0xB3, + (byte)0x93, (byte)0x7D, (byte)0x9E, (byte)0x66, + (byte)0x94, (byte)0x59, (byte)0x9B, (byte)0xBF, + (byte)0x94, (byte)0x58, (byte)0x9E, (byte)0xA5, + (byte)0x9B, (byte)0xC7, (byte)0xFE, (byte)0x54, + (byte)0x8E, (byte)0x74, (byte)0x8B, (byte)0xD6, + (byte)0x94, (byte)0xB6, (byte)0xFD, (byte)0x74, + (byte)0x98, (byte)0xC0, (byte)0x94, (byte)0xA5, + (byte)0x9B, (byte)0xC8, (byte)0x95, (byte)0xED, + (byte)0xFD, (byte)0x7E, (byte)0xFB, (byte)0xEB, + (byte)0xFD, (byte)0x7D, (byte)0x97, (byte)0x6F, + (byte)0x94, (byte)0x61, (byte)0x9F, (byte)0xC1, + (byte)0x95, (byte)0xD7, (byte)0xFA, (byte)0x52, + (byte)0x9C, (byte)0x58, (byte)0x9F, (byte)0x68, + (byte)0x9B, (byte)0xE7, (byte)0xFC, (byte)0xCE, + (byte)0x96, (byte)0xE8, (byte)0xFA, (byte)0x49, + (byte)0x97, (byte)0xA1, (byte)0x95, (byte)0x4D, + (byte)0x9E, (byte)0xF8, (byte)0xFE, (byte)0x49, + (byte)0x91, (byte)0xCE, (byte)0x97, (byte)0x71, + (byte)0x8C, (byte)0xCF, (byte)0xFD, (byte)0xB1, + (byte)0xFC, (byte)0x6E, (byte)0x9C, (byte)0xF2, + (byte)0x93, (byte)0xB8, (byte)0x90, (byte)0x43, + (byte)0x97, (byte)0x59, (byte)0x94, (byte)0xD7, + (byte)0xFE, (byte)0x66, (byte)0x94, (byte)0x7D, + (byte)0xFC, (byte)0x6F, (byte)0x92, (byte)0x46, + (byte)0xFA, (byte)0x6D, (byte)0x8E, (byte)0xF7, + (byte)0xFB, (byte)0xB7, (byte)0x94, (byte)0x7C, + (byte)0x92, (byte)0xCD, (byte)0x97, (byte)0xB2, + (byte)0xFE, (byte)0x65, (byte)0x96, (byte)0x7E, + (byte)0x97, (byte)0x58, (byte)0x9B, (byte)0x77, + (byte)0x91, (byte)0xCF, (byte)0x94, (byte)0xA4, + (byte)0x9C, (byte)0xAD, (byte)0x8B, (byte)0xAB, + (byte)0x96, (byte)0xD5, (byte)0xFC, (byte)0xB3, + (byte)0x93, (byte)0xAE, (byte)0x97, (byte)0x6D, + (byte)0x94, (byte)0x46, (byte)0x95, (byte)0xF7, + (byte)0x9C, (byte)0x46, (byte)0x95, (byte)0x5B, + (byte)0x91, (byte)0xD1, (byte)0x94, (byte)0xF4, + (byte)0xFE, (byte)0x67, (byte)0x92, (byte)0xA5, + (byte)0xFE, (byte)0xDF, (byte)0x8C, (byte)0xAB, + (byte)0x9B, (byte)0xC9, (byte)0xFC, (byte)0xED, + (byte)0xFD, (byte)0xFA, (byte)0xFC, (byte)0xC8, + (byte)0xFE, (byte)0x62, (byte)0x91, (byte)0xFC, + (byte)0xFE, (byte)0x6B, (byte)0xFD, (byte)0xF9, + (byte)0xFC, (byte)0xC7, (byte)0x91, (byte)0x4E, + (byte)0x9C, (byte)0xB8, (byte)0x97, (byte)0x67, + (byte)0x95, (byte)0xEE, (byte)0x9B, (byte)0xB2, + (byte)0x94, (byte)0x60, (byte)0x94, (byte)0xA2, + (byte)0x98, (byte)0x75, (byte)0x97, (byte)0xAC, + (byte)0x91, (byte)0xD3, (byte)0x98, (byte)0x7B, + (byte)0x8E, (byte)0xEB, (byte)0x97, (byte)0x6A, + (byte)0x96, (byte)0x5E, (byte)0x97, (byte)0xEB, + (byte)0x9F, (byte)0xF9, (byte)0x95, (byte)0xF8, + (byte)0xFE, (byte)0xA2, (byte)0x8F, (byte)0xE6, + (byte)0xFE, (byte)0x7E, (byte)0x9D, (byte)0xA4, + (byte)0x97, (byte)0x68, (byte)0x8E, (byte)0xEC, + (byte)0x94, (byte)0xBD, (byte)0x94, (byte)0x5B, + (byte)0x9C, (byte)0xF6, (byte)0xFA, (byte)0xA7, + (byte)0x9B, (byte)0xD9, (byte)0xFA, (byte)0x5D, + (byte)0x96, (byte)0x56, (byte)0x97, (byte)0x62, + (byte)0x94, (byte)0xBA, (byte)0xA0, (byte)0x4F, + (byte)0x92, (byte)0xD8, (byte)0x9B, (byte)0xCB, + (byte)0x94, (byte)0xBB, (byte)0x9D, (byte)0x5F, + (byte)0x90, (byte)0xCF, (byte)0x94, (byte)0x65, + (byte)0x9F, (byte)0x4C, (byte)0x90, (byte)0xD8, + (byte)0x9E, (byte)0xBE, (byte)0xFB, (byte)0x6D, + (byte)0x95, (byte)0xCA, (byte)0x9D, (byte)0xC2, + (byte)0x97, (byte)0xF8, (byte)0x8F, (byte)0xFC, + (byte)0x94, (byte)0x73, (byte)0x94, (byte)0x74, + (byte)0xFE, (byte)0xB7, (byte)0x8A, (byte)0x4B, + (byte)0x8A, (byte)0x55, (byte)0x8B, (byte)0x69, + (byte)0x8A, (byte)0xDC, (byte)0x8B, (byte)0x76, + (byte)0x9B, (byte)0xCE, (byte)0x8A, (byte)0x68, + (byte)0xA0, (byte)0xF8, (byte)0x98, (byte)0xDF, + (byte)0xFE, (byte)0xB5, (byte)0x9B, (byte)0xCF, + (byte)0x96, (byte)0xFB, (byte)0x9B, (byte)0xFB, + (byte)0x9E, (byte)0xCE, (byte)0x8E, (byte)0xE5, + (byte)0x9E, (byte)0x7B, (byte)0x9B, (byte)0xD2, + (byte)0x8A, (byte)0xA5, (byte)0xFE, (byte)0xCE, + (byte)0x8A, (byte)0x45, (byte)0x9D, (byte)0xFC, + (byte)0xFE, (byte)0xCF, (byte)0x8B, (byte)0xA5, + (byte)0x8C, (byte)0x4A, (byte)0x8A, (byte)0xEC, + (byte)0xFC, (byte)0xE0, (byte)0x94, (byte)0xAD, + (byte)0xFE, (byte)0xD5, (byte)0x94, (byte)0xAC, + (byte)0xFC, (byte)0x5A, (byte)0x9B, (byte)0xD6, + (byte)0x8A, (byte)0x6F, (byte)0x8B, (byte)0xA9, + (byte)0x8E, (byte)0x5F, (byte)0x9D, (byte)0xCB, + (byte)0xFC, (byte)0xE7, (byte)0x9B, (byte)0xD7, + (byte)0x93, (byte)0xC8, (byte)0x91, (byte)0xF0, + (byte)0x8F, (byte)0xE0, (byte)0x9B, (byte)0xDB, + (byte)0x90, (byte)0xED, (byte)0x9B, (byte)0xDC, + (byte)0xA0, (byte)0xEC, (byte)0x98, (byte)0xFA, + (byte)0x9B, (byte)0xE0, (byte)0x93, (byte)0xC7, + (byte)0x92, (byte)0x49, (byte)0x96, (byte)0xE1, + (byte)0x9B, (byte)0xE2, (byte)0x9B, (byte)0xE4, + (byte)0x8F, (byte)0xE1, (byte)0x9B, (byte)0xE5, + (byte)0x94, (byte)0xC0, (byte)0x93, (byte)0xC3, + (byte)0x93, (byte)0xC5, (byte)0x90, (byte)0x79, + (byte)0x97, (byte)0x7B, (byte)0x90, (byte)0x7E, + (byte)0xFE, (byte)0xE6, (byte)0xFE, (byte)0x46, + (byte)0x9D, (byte)0xB8, (byte)0x92, (byte)0x70, + (byte)0x95, (byte)0xA8, (byte)0x8C, (byte)0xB0, + (byte)0x94, (byte)0xC8, (byte)0x98, (byte)0xB9, + (byte)0x91, (byte)0x40, (byte)0xFC, (byte)0xBE, + (byte)0x91, (byte)0x57, (byte)0x8B, (byte)0xB2, + (byte)0xFA, (byte)0xDF, (byte)0x9B, (byte)0xE6, + (byte)0x96, (byte)0x43, (byte)0x8E, (byte)0x44, + (byte)0x9C, (byte)0x4F, (byte)0xFE, (byte)0xF4, + (byte)0x9B, (byte)0xE8, (byte)0x93, (byte)0xDC, + (byte)0x96, (byte)0x6F, (byte)0x8E, (byte)0x4A, + (byte)0x9B, (byte)0xED, (byte)0x92, (byte)0xF6, + (byte)0x9D, (byte)0xB9, (byte)0x8E, (byte)0x4E, + (byte)0xFB, (byte)0xCF, (byte)0x9E, (byte)0xC2, + (byte)0x94, (byte)0xE5, (byte)0x9B, (byte)0xF0, + (byte)0x94, (byte)0xE4, (byte)0x95, (byte)0x51, + (byte)0x8B, (byte)0xBB, (byte)0x9B, (byte)0xF1, + (byte)0x94, (byte)0xF0, (byte)0x8E, (byte)0x64, + (byte)0x94, (byte)0xEA, (byte)0x8F, (byte)0x61, + (byte)0x9B, (byte)0x64, (byte)0x8E, (byte)0x5B, + (byte)0x9B, (byte)0xF2, (byte)0x9F, (byte)0xBE, + (byte)0x9D, (byte)0xC9, (byte)0x8E, (byte)0x6C, + (byte)0x8F, (byte)0x73, (byte)0x8C, (byte)0xAF, + (byte)0x8F, (byte)0x75, (byte)0x8E, (byte)0x71, + (byte)0x8E, (byte)0x60, (byte)0x8E, (byte)0x6A, + (byte)0x8C, (byte)0x4C, (byte)0x95, (byte)0x52, + (byte)0x95, (byte)0x54, (byte)0x8A, (byte)0xD4, + (byte)0x9D, (byte)0xBB, (byte)0x95, (byte)0x43, + (byte)0x92, (byte)0xFE, (byte)0x94, (byte)0xF2, + (byte)0x94, (byte)0xF1, (byte)0xA0, (byte)0xEA, + (byte)0x9D, (byte)0xD2, (byte)0xA0, (byte)0xB1, + (byte)0x91, (byte)0xF8, (byte)0x94, (byte)0x62, + (byte)0x9B, (byte)0xA4, (byte)0x8E, (byte)0xAD, + (byte)0x9E, (byte)0xAD, (byte)0x96, (byte)0xD0, + (byte)0xFE, (byte)0xEE, (byte)0x8A, (byte)0xB4, + (byte)0x97, (byte)0x57, (byte)0x8A, (byte)0x77, + (byte)0x9B, (byte)0xF7, (byte)0x8E, (byte)0xB5, + (byte)0xA0, (byte)0x6D, (byte)0x8E, (byte)0xB6, + (byte)0x97, (byte)0x56, (byte)0x95, (byte)0x40, + (byte)0xA0, (byte)0xF3, (byte)0x94, (byte)0xBE, + (byte)0x9B, (byte)0xFA, (byte)0xFD, (byte)0xDF, + (byte)0x9D, (byte)0xBC, (byte)0x94, (byte)0xFE, + (byte)0x8B, (byte)0xDB, (byte)0xA0, (byte)0xFE, + (byte)0x8E, (byte)0xC0, (byte)0x9F, (byte)0x47, + (byte)0x8B, (byte)0xDE, (byte)0xA0, (byte)0xFB, + (byte)0x8E, (byte)0xC3, (byte)0x96, (byte)0x49, + (byte)0xFE, (byte)0xC2, (byte)0x95, (byte)0x4C, + (byte)0x9B, (byte)0xFD, (byte)0x90, (byte)0xCC, + (byte)0x9C, (byte)0x60, (byte)0x95, (byte)0x4B, + (byte)0x9B, (byte)0xFE, (byte)0x9C, (byte)0x70, + (byte)0x9C, (byte)0x43, (byte)0x9C, (byte)0x47, + (byte)0x8E, (byte)0xCC, (byte)0x8E, (byte)0x54, + (byte)0x8E, (byte)0xE4, (byte)0x9C, (byte)0x49, + (byte)0x8B, (byte)0x5E, (byte)0x95, (byte)0x5E, + (byte)0x95, (byte)0x5C, (byte)0x9C, (byte)0x4B, + (byte)0x8B, (byte)0xE1, (byte)0x8E, (byte)0xD9, + (byte)0x9D, (byte)0xB4, (byte)0x92, (byte)0x5F, + (byte)0x9C, (byte)0x4C, (byte)0x8A, (byte)0xA1, + (byte)0x8E, (byte)0xDB, (byte)0x9C, (byte)0x56, + (byte)0x8A, (byte)0xA2, (byte)0x97, (byte)0x54, + (byte)0x9C, (byte)0x5E, (byte)0x9E, (byte)0xD4, + (byte)0x95, (byte)0x68, (byte)0xA0, (byte)0xC3, + (byte)0x8A, (byte)0xE6, (byte)0xA0, (byte)0xF7, + (byte)0x9C, (byte)0x61, (byte)0x9C, (byte)0x5F, + (byte)0xFC, (byte)0x4D, (byte)0x9E, (byte)0x5B, + (byte)0x9E, (byte)0x69, (byte)0x9C, (byte)0x63, + (byte)0xFE, (byte)0xC7, (byte)0xFE, (byte)0xC6, + (byte)0x9C, (byte)0x67, (byte)0x9C, (byte)0x69, + (byte)0x8B, (byte)0xE2, (byte)0x91, (byte)0x65, + (byte)0x9C, (byte)0xE7, (byte)0x8A, (byte)0x54, + (byte)0x9C, (byte)0x6C, (byte)0x9C, (byte)0x6E, + (byte)0xFE, (byte)0x5D, (byte)0x9C, (byte)0x73, + (byte)0x95, (byte)0x6A, (byte)0x95, (byte)0x6D, + (byte)0x8E, (byte)0xF0, (byte)0x8F, (byte)0x4D, + (byte)0x8E, (byte)0xF6, (byte)0xFA, (byte)0xBC, + (byte)0x8C, (byte)0xD5, (byte)0xFB, (byte)0xDA, + (byte)0x8B, (byte)0x4C, (byte)0xFD, (byte)0x75, + (byte)0x9B, (byte)0xDD, (byte)0xFA, (byte)0xF5, + (byte)0x9C, (byte)0x74, (byte)0x95, (byte)0x45, + (byte)0x96, (byte)0xC6, (byte)0x8F, (byte)0x6A, + (byte)0x8F, (byte)0x4E, (byte)0x9C, (byte)0x78, + (byte)0xFA, (byte)0x55, (byte)0x97, (byte)0xE4, + (byte)0x9C, (byte)0x41, (byte)0x92, (byte)0x5C, + (byte)0x96, (byte)0xFA, (byte)0xFB, (byte)0x66, + (byte)0x8E, (byte)0x65, (byte)0x98, (byte)0x49, + (byte)0xFB, (byte)0xA8, (byte)0x98, (byte)0x42, + (byte)0x9C, (byte)0x7A, (byte)0x97, (byte)0xFB, + (byte)0x90, (byte)0xCA, (byte)0x9C, (byte)0x5B, + (byte)0x97, (byte)0x4D, (byte)0x8E, (byte)0xD3, + (byte)0x95, (byte)0x61, (byte)0x9F, (byte)0x4B, + (byte)0x9F, (byte)0xB5, (byte)0x93, (byte)0xD2, + (byte)0xFD, (byte)0xAA, (byte)0x98, (byte)0x40, + (byte)0x91, (byte)0x46, (byte)0x98, (byte)0x67, + (byte)0xFA, (byte)0x5A, (byte)0xFB, (byte)0xA9, + (byte)0x98, (byte)0x41, (byte)0x8C, (byte)0xD3, + (byte)0xFC, (byte)0xFD, (byte)0xFD, (byte)0xAB, + (byte)0x91, (byte)0xBD, (byte)0x8F, (byte)0x4C, + (byte)0x96, (byte)0xC9, (byte)0x8F, (byte)0x55, + (byte)0xFB, (byte)0xAE, (byte)0x95, (byte)0x6F, + (byte)0x9C, (byte)0x7D, (byte)0xA0, (byte)0xF0, + (byte)0x94, (byte)0x6F, (byte)0xFD, (byte)0xAC, + (byte)0x96, (byte)0xCB, (byte)0x96, (byte)0xCE, + (byte)0xA0, (byte)0x56, (byte)0x9C, (byte)0xE1, + (byte)0x96, (byte)0xC4, (byte)0x8F, (byte)0x5E, + (byte)0x8F, (byte)0x6C, (byte)0x8E, (byte)0xA3, + (byte)0xFB, (byte)0xB3, (byte)0xFC, (byte)0x53, + (byte)0xFD, (byte)0xB3, (byte)0x8F, (byte)0x6B, + (byte)0x96, (byte)0xCA, (byte)0x8F, (byte)0x79, + (byte)0x9E, (byte)0x6F, (byte)0xA0, (byte)0xC5, + (byte)0xFC, (byte)0x78, (byte)0x8E, (byte)0x42, + (byte)0x8F, (byte)0x5A, (byte)0x90, (byte)0xC2, + (byte)0x8E, (byte)0xA5, (byte)0x90, (byte)0x61, + (byte)0x92, (byte)0x4F, (byte)0x93, (byte)0x73, + (byte)0xFD, (byte)0xB5, (byte)0xFE, (byte)0xCC, + (byte)0xFB, (byte)0xBD, (byte)0x8C, (byte)0xD6, + (byte)0x98, (byte)0x43, (byte)0x96, (byte)0xC5, + (byte)0x89, (byte)0xBC, (byte)0x9C, (byte)0xA3, + (byte)0x92, (byte)0x4B, (byte)0x98, (byte)0x4A, + (byte)0x8F, (byte)0xA4, (byte)0xA0, (byte)0xF1, + (byte)0x9E, (byte)0xFB, (byte)0x9C, (byte)0xD2, + (byte)0x8F, (byte)0xA7, (byte)0xFC, (byte)0x5C, + (byte)0x98, (byte)0x45, (byte)0x90, (byte)0x46, + (byte)0x8C, (byte)0xD1, (byte)0xFE, (byte)0xFA, + (byte)0x95, (byte)0x60, (byte)0x9F, (byte)0x48, + (byte)0x92, (byte)0x47, (byte)0x90, (byte)0xFB, + (byte)0x9C, (byte)0xA4, (byte)0x95, (byte)0x71, + (byte)0x9C, (byte)0xA6, (byte)0x9C, (byte)0xA7, + (byte)0x9C, (byte)0xAA, (byte)0x9E, (byte)0xD3, + (byte)0x9E, (byte)0x70, (byte)0x9C, (byte)0xAC, + (byte)0x8F, (byte)0xAE, (byte)0x95, (byte)0x7D, + (byte)0x9C, (byte)0xB0, (byte)0x97, (byte)0xB6, + (byte)0xA0, (byte)0xBD, (byte)0x8A, (byte)0xDF, + (byte)0x9E, (byte)0xAA, (byte)0x8F, (byte)0xBD, + (byte)0x8F, (byte)0xBF, (byte)0x93, (byte)0x69, + (byte)0x9B, (byte)0xA7, (byte)0xC8, (byte)0xA4, + (byte)0xFE, (byte)0xEA, (byte)0x9B, (byte)0xE1, + (byte)0x8B, (byte)0x41, (byte)0x9D, (byte)0xB6, + (byte)0xA0, (byte)0xEB, (byte)0x9B, (byte)0xA3, + (byte)0x8B, (byte)0xA1, (byte)0x8F, (byte)0xC8, + (byte)0x89, (byte)0x4C, (byte)0x98, (byte)0x60, + (byte)0x94, (byte)0xC7, (byte)0x8B, (byte)0x58, + (byte)0x95, (byte)0xAB, (byte)0x95, (byte)0xAA, + (byte)0x9C, (byte)0xC3, (byte)0x9C, (byte)0xC4, + (byte)0x93, (byte)0xD6, (byte)0x9D, (byte)0xAC, + (byte)0x8B, (byte)0xE6, (byte)0x8A, (byte)0x71, + (byte)0x8F, (byte)0xD1, (byte)0x99, (byte)0xD5, + (byte)0x90, (byte)0xF4, (byte)0x8A, (byte)0xA3, + (byte)0x9C, (byte)0xCE, (byte)0x9C, (byte)0xD4, + (byte)0x9C, (byte)0xD5, (byte)0xFB, (byte)0xC8, + (byte)0x9D, (byte)0xB3, (byte)0xFC, (byte)0x70, + (byte)0x8F, (byte)0xD7, (byte)0x9B, (byte)0x73, + (byte)0xFA, (byte)0x5B, (byte)0x8F, (byte)0xD2, + (byte)0x90, (byte)0x64, (byte)0x98, (byte)0xB6, + (byte)0x96, (byte)0x68, (byte)0x9C, (byte)0xD6, + (byte)0x98, (byte)0xBD, (byte)0x8F, (byte)0xDC, + (byte)0xFE, (byte)0xF6, (byte)0x8F, (byte)0xD9, + (byte)0x95, (byte)0x41, (byte)0x97, (byte)0xF3, + (byte)0x9B, (byte)0xF8, (byte)0x9E, (byte)0x6C, + (byte)0x8F, (byte)0xF2, (byte)0x8F, (byte)0xEE, + (byte)0x9C, (byte)0xD7, (byte)0x9E, (byte)0x6E, + (byte)0x8A, (byte)0x40, (byte)0x8F, (byte)0xEF, + (byte)0x8F, (byte)0xF4, (byte)0x8F, (byte)0xF5, + (byte)0x95, (byte)0xC2, (byte)0x98, (byte)0x6A, + (byte)0x97, (byte)0xCF, (byte)0x9E, (byte)0x7C, + (byte)0x90, (byte)0x41, (byte)0x9C, (byte)0xDB, + (byte)0x94, (byte)0x41, (byte)0x9C, (byte)0xE6, + (byte)0x9D, (byte)0xB0, (byte)0x9C, (byte)0xEA, + (byte)0x9C, (byte)0xED, (byte)0x9C, (byte)0xFA, + (byte)0x8B, (byte)0x62, (byte)0x8A, (byte)0x4E, + (byte)0x9C, (byte)0xCA, (byte)0x8A, (byte)0x66, + (byte)0x9C, (byte)0xFB, (byte)0x9C, (byte)0xFC, + (byte)0x9C, (byte)0xFE, (byte)0x8A, (byte)0x53, + (byte)0x9C, (byte)0xE5, (byte)0x9D, (byte)0x40, + (byte)0x9D, (byte)0x41, (byte)0x90, (byte)0x45, + (byte)0x8B, (byte)0x73, (byte)0x97, (byte)0xCA, + (byte)0x9D, (byte)0x42, (byte)0x8A, (byte)0x61, + (byte)0x8B, (byte)0xAE, (byte)0x8A, (byte)0xD2, + (byte)0x8B, (byte)0xA2, (byte)0x9D, (byte)0xF2, + (byte)0x9D, (byte)0x43, (byte)0x9C, (byte)0xDF, + (byte)0x9D, (byte)0x44, (byte)0x8E, (byte)0xCA, + (byte)0x90, (byte)0x4E, (byte)0x8E, (byte)0xB3, + (byte)0x9F, (byte)0xF5, (byte)0x9D, (byte)0x45, + (byte)0x90, (byte)0x4F, (byte)0x9D, (byte)0x47, + (byte)0x89, (byte)0xCA, (byte)0x9C, (byte)0xB5, + (byte)0xFB, (byte)0xFE, (byte)0x90, (byte)0x5E, + (byte)0x90, (byte)0x63, (byte)0x90, (byte)0x57, + (byte)0x90, (byte)0x66, (byte)0x9B, (byte)0xC0, + (byte)0xFC, (byte)0xE5, (byte)0x91, (byte)0x62, + (byte)0x90, (byte)0x67, (byte)0x8F, (byte)0xA1, + (byte)0x8F, (byte)0xA2, (byte)0x9D, (byte)0x48, + (byte)0xFA, (byte)0xD3, (byte)0x90, (byte)0x5D, + (byte)0x90, (byte)0xB9, (byte)0x90, (byte)0x6B, + (byte)0x8C, (byte)0x5C, (byte)0x90, (byte)0x69, + (byte)0xFE, (byte)0x57, (byte)0xFE, (byte)0x55, + (byte)0x90, (byte)0x73, (byte)0x9B, (byte)0xEF, + (byte)0x9C, (byte)0xF0, (byte)0x9D, (byte)0x4B, + (byte)0xFE, (byte)0xD9, (byte)0xFE, (byte)0xDA, + (byte)0x91, (byte)0xE0, (byte)0x91, (byte)0xD8, + (byte)0x96, (byte)0x46, (byte)0x93, (byte)0x60, + (byte)0xFA, (byte)0x53, (byte)0x9C, (byte)0xD3, + (byte)0x9D, (byte)0x4E, (byte)0xFB, (byte)0x40, + (byte)0x8D, (byte)0xE2, (byte)0x94, (byte)0x42, + (byte)0x90, (byte)0x56, (byte)0x98, (byte)0x65, + (byte)0x8C, (byte)0x6C, (byte)0xFA, (byte)0x4A, + (byte)0x9D, (byte)0x50, (byte)0x9D, (byte)0x52, + (byte)0x95, (byte)0xAF, (byte)0x97, (byte)0x5A, + (byte)0x93, (byte)0x49, (byte)0x97, (byte)0x47, + (byte)0xA0, (byte)0xF4, (byte)0x97, (byte)0x78, + (byte)0x8F, (byte)0xCF, (byte)0xFC, (byte)0x60, + (byte)0x8C, (byte)0x4E, (byte)0xFC, (byte)0x56, + (byte)0x91, (byte)0xDC, (byte)0x96, (byte)0x61, + (byte)0x92, (byte)0xEC, (byte)0x93, (byte)0x5D, + (byte)0x8E, (byte)0xDE, (byte)0x96, (byte)0xFE, + (byte)0xFD, (byte)0x4F, (byte)0x95, (byte)0xDE, + (byte)0x98, (byte)0xB0, (byte)0xA0, (byte)0x40, + (byte)0x97, (byte)0xBD, (byte)0x97, (byte)0x7D, + (byte)0x97, (byte)0xF5, (byte)0x9B, (byte)0xAC, + (byte)0xFA, (byte)0xDA, (byte)0x92, (byte)0xC2, + (byte)0x97, (byte)0xB1, (byte)0x90, (byte)0x7B, + (byte)0x93, (byte)0xFE, (byte)0x94, (byte)0x7B, + (byte)0x97, (byte)0x77, (byte)0xFA, (byte)0xBE, + (byte)0xFD, (byte)0x43, (byte)0x90, (byte)0xC6, + (byte)0x90, (byte)0xA4, (byte)0x90, (byte)0xA8, + (byte)0x94, (byte)0xA9, (byte)0x90, (byte)0xA9, + (byte)0x8C, (byte)0x65, (byte)0x95, (byte)0xE0, + (byte)0x90, (byte)0x7D, (byte)0x92, (byte)0x65, + (byte)0xFD, (byte)0xBA, (byte)0x93, (byte)0xC4, + (byte)0xFE, (byte)0xED, (byte)0x9D, (byte)0xAB, + (byte)0xA0, (byte)0xE3, (byte)0x96, (byte)0x48, + (byte)0x9D, (byte)0x53, (byte)0x8A, (byte)0xA9, + (byte)0x9B, (byte)0xC5, (byte)0x96, (byte)0x5D, + (byte)0x97, (byte)0x5F, (byte)0x96, (byte)0x5F, + (byte)0x96, (byte)0x6E, (byte)0xFB, (byte)0x5D, + (byte)0x9D, (byte)0xB1, (byte)0xFE, (byte)0xA3, + (byte)0x9D, (byte)0xB2, (byte)0x95, (byte)0xAE, + (byte)0xFC, (byte)0xA3, (byte)0xA0, (byte)0xA2, + (byte)0x96, (byte)0x55, (byte)0x9D, (byte)0x54, + (byte)0x93, (byte)0x41, (byte)0x95, (byte)0xAD, + (byte)0x91, (byte)0xD5, (byte)0x97, (byte)0x7A, + (byte)0xFD, (byte)0xFC, (byte)0x8E, (byte)0x47, + (byte)0x93, (byte)0xFD, (byte)0x90, (byte)0xA5, + (byte)0x90, (byte)0xAC, (byte)0x95, (byte)0xAC, + (byte)0x90, (byte)0xAE, (byte)0xFE, (byte)0xA5, + (byte)0x9D, (byte)0x56, (byte)0x97, (byte)0xE3, + (byte)0x95, (byte)0xE2, (byte)0x94, (byte)0x66, + (byte)0x96, (byte)0x47, (byte)0x91, (byte)0xB8, + (byte)0x9C, (byte)0xEC, (byte)0x90, (byte)0xAD, + (byte)0x95, (byte)0xE3, (byte)0x8B, (byte)0x4F, + (byte)0x8A, (byte)0xE3, (byte)0x8B, (byte)0x4D, + (byte)0x95, (byte)0xEA, (byte)0x8B, (byte)0x4E, + (byte)0x8C, (byte)0xC1, (byte)0x8B, (byte)0xED, + (byte)0x91, (byte)0xD9, (byte)0xA0, (byte)0xA4, + (byte)0x95, (byte)0xF5, (byte)0x95, (byte)0xF4, + (byte)0x9F, (byte)0xB3, (byte)0xFE, (byte)0xAF, + (byte)0xFE, (byte)0x72, (byte)0x92, (byte)0x7A, + (byte)0xFE, (byte)0xAC, (byte)0x95, (byte)0xF3, + (byte)0x9D, (byte)0x58, (byte)0x93, (byte)0x72, + (byte)0x91, (byte)0xC5, (byte)0x96, (byte)0x42, + (byte)0x90, (byte)0xCD, (byte)0x95, (byte)0xFE, + (byte)0x91, (byte)0x59, (byte)0x9C, (byte)0x65, + (byte)0x97, (byte)0xCC, (byte)0x90, (byte)0xCE, + (byte)0x9D, (byte)0x59, (byte)0xFC, (byte)0xF5, + (byte)0xFE, (byte)0xFD, (byte)0x9D, (byte)0x5B, + (byte)0x9D, (byte)0x5C, (byte)0x93, (byte)0x7E, + (byte)0x98, (byte)0xAC, (byte)0x9D, (byte)0x5E, + (byte)0xFD, (byte)0xD0, (byte)0xFD, (byte)0x60, + (byte)0x9C, (byte)0xCF, (byte)0x90, (byte)0xDD, + (byte)0x90, (byte)0xE0, (byte)0x90, (byte)0xF3, + (byte)0x98, (byte)0xB1, (byte)0x90, (byte)0xF0, + (byte)0x93, (byte)0xBD, (byte)0x95, (byte)0xB7, + (byte)0x9F, (byte)0x46, (byte)0x8E, (byte)0x4B, + (byte)0x96, (byte)0x58, (byte)0x8A, (byte)0x4C, + (byte)0x9D, (byte)0x63, (byte)0x9E, (byte)0xCF, + (byte)0x9D, (byte)0x65, (byte)0x9D, (byte)0x66, + (byte)0x96, (byte)0x5A, (byte)0x9D, (byte)0x64, + (byte)0x8A, (byte)0x6C, (byte)0x8A, (byte)0xD9, + (byte)0x9D, (byte)0x67, (byte)0x8A, (byte)0x70, + (byte)0x8B, (byte)0xF3, (byte)0x91, (byte)0x50, + (byte)0x9C, (byte)0xC1, (byte)0x9D, (byte)0x68, + (byte)0x93, (byte)0xA7, (byte)0x96, (byte)0x74, + (byte)0xA0, (byte)0xEF, (byte)0x91, (byte)0x51, + (byte)0x96, (byte)0xC1, (byte)0x8C, (byte)0x64, + (byte)0x96, (byte)0x76, (byte)0x9D, (byte)0x69, + (byte)0xFC, (byte)0xA4, (byte)0x9D, (byte)0x6A, + (byte)0x92, (byte)0x4E, (byte)0x9D, (byte)0x6B, + (byte)0x9B, (byte)0xC1, (byte)0x9D, (byte)0x6C, + (byte)0x8A, (byte)0x65, (byte)0x91, (byte)0x5D, + (byte)0x9D, (byte)0x6D, (byte)0x91, (byte)0x5A, + (byte)0x8C, (byte)0x42, (byte)0x9C, (byte)0xC0, + (byte)0x91, (byte)0x6A, (byte)0x9D, (byte)0x6E, + (byte)0x9E, (byte)0xA6, (byte)0x9D, (byte)0xCD, + (byte)0x9D, (byte)0x6F, (byte)0x89, (byte)0xBB, + (byte)0x9E, (byte)0xF9, (byte)0x96, (byte)0xB4, + (byte)0x91, (byte)0x72, (byte)0x9E, (byte)0xC8, + (byte)0x8B, (byte)0x55, (byte)0x9D, (byte)0x71, + (byte)0x9D, (byte)0x72, (byte)0x9E, (byte)0xCC, + (byte)0x91, (byte)0x74, (byte)0x9E, (byte)0xD0, + (byte)0x90, (byte)0x5C, (byte)0x8E, (byte)0xD2, + (byte)0x91, (byte)0xA8, (byte)0x91, (byte)0x77, + (byte)0x96, (byte)0xBF, (byte)0x96, (byte)0xC0, + (byte)0x8F, (byte)0xB1, (byte)0x96, (byte)0xB7, + (byte)0x8C, (byte)0x55, (byte)0x91, (byte)0x78, + (byte)0x89, (byte)0xBE, (byte)0x91, (byte)0x7C, + (byte)0xFB, (byte)0x77, (byte)0x91, (byte)0x75, + (byte)0x91, (byte)0xA3, (byte)0x91, (byte)0x76, + (byte)0x96, (byte)0xBE, (byte)0x91, (byte)0x79, + (byte)0x96, (byte)0xB6, (byte)0x91, (byte)0xA4, + (byte)0x91, (byte)0xA6, (byte)0x9D, (byte)0x75, + (byte)0x90, (byte)0x52, (byte)0xA0, (byte)0x45, + (byte)0x91, (byte)0xA9, (byte)0x98, (byte)0xAA, + (byte)0x8C, (byte)0x5F, (byte)0x8B, (byte)0xAA, + (byte)0x9C, (byte)0xDD, (byte)0x9D, (byte)0x77, + (byte)0x89, (byte)0x40, (byte)0x9E, (byte)0xEC, + (byte)0x93, (byte)0xAA, (byte)0x94, (byte)0x78, + (byte)0x9D, (byte)0x7A, (byte)0x8A, (byte)0xC9, + (byte)0x8B, (byte)0x4B, (byte)0x9F, (byte)0xEC, + (byte)0x8A, (byte)0xE2, (byte)0x9E, (byte)0x75, + (byte)0x98, (byte)0x74, (byte)0x9A, (byte)0xC8, + (byte)0xA0, (byte)0x47, (byte)0x8B, (byte)0xC3, + (byte)0xFC, (byte)0x48, (byte)0xFC, (byte)0x77, + (byte)0x9C, (byte)0x52, (byte)0x8E, (byte)0xFD, + (byte)0x8F, (byte)0xA8, (byte)0x95, (byte)0x7A, + (byte)0x8F, (byte)0xF0 }; + + + /* + * Tests the roundtrip integrity and expected encoding + * correctness for a String containing the 1651 surrogate + * pairs equivalent to 1651 supplementary characters whose + * mappings are covered by HKSCS (2001) + */ + + public static void main(String[] args) throws Exception { + char[] surrogatePair = new char[2]; + + for (int i=0, j=0 ; j < expectBytes.length ; i++, j+=2) { + surrogatePair[0] = (char) ((suppValues[i] - 0x10000) / 0x400 + 0xd800); + surrogatePair[1] = (char) ((suppValues[i] - 0x10000) % 0x400 + 0xdc00); + String testStr = new String(surrogatePair); + byte[] encodedBytes = testStr.getBytes("Big5-HKSCS"); + + if (encodedBytes[0] != expectBytes[j] + && encodedBytes[1] != expectBytes[j+1]) + throw new Exception("HKSCS Surrogate Encoder error"); + + String decoded = new String(encodedBytes, "Big5-HKSCS"); + + if (!decoded.equals(testStr)) { + throw new Exception("HKSCS Decoder error"); + } + } + } +} diff --git a/test/sun/nio/cs/Test4200310.sh b/test/sun/nio/cs/Test4200310.sh new file mode 100644 index 000000000..cc38a66da --- /dev/null +++ b/test/sun/nio/cs/Test4200310.sh @@ -0,0 +1,41 @@ +# +# Copyright 2008 Sun Microsystems, Inc. All Rights Reserved. +# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. +# +# This code is free software; you can redistribute it and/or modify it +# under the terms of the GNU General Public License version 2 only, as +# published by the Free Software Foundation. +# +# This code is distributed in the hope that it will be useful, but WITHOUT +# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or +# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +# version 2 for more details (a copy is included in the LICENSE file that +# accompanied this code). +# +# You should have received a copy of the GNU General Public License version +# 2 along with this work; if not, write to the Free Software Foundation, +# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. +# +# Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, +# CA 95054 USA or visit www.sun.com if you need additional information or +# have any questions. +# +# @test +# @bug 4200310 +# @summary make sure class files are not duplicated between rt.jar, +# charsets.jar, and localedata.jar +# @author Norbert Lindenberg +# @run shell Test4200310.sh + +2>1 $TESTJAVA/bin/jar -tf "$TESTJAVA/jre/lib/rt.jar" > class-list +2>1 $TESTJAVA/bin/jar -tf "$TESTJAVA/jre/lib/charsets.jar" >> class-list +2>1 $TESTJAVA/bin/jar -tf "$TESTJAVA/jre/lib/ext/localedata.jar" >> class-list +duplicates=`grep '\.class$' class-list | sort | uniq -d` + +rm -f class-list +if [ "$duplicates" != "" ]; then + echo FAILED: $duplicates are duplicated between rt.jar, charsets.jar, and localedata.jar + exit 1 +fi + +exit 0 diff --git a/test/sun/nio/cs/Test4206507.java b/test/sun/nio/cs/Test4206507.java new file mode 100644 index 000000000..15097d787 --- /dev/null +++ b/test/sun/nio/cs/Test4206507.java @@ -0,0 +1,38 @@ +/* + * Copyright 2008 Sun Microsystems, Inc. All Rights Reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, + * CA 95054 USA or visit www.sun.com if you need additional information or + * have any questions. + */ + +/* @test + @bug 4206507 + @summary verify that we can obtain and use a converter for encoding + ISO8859-9 in the Turkish locale. + */ + +import java.util.Locale; +import java.io.UnsupportedEncodingException; + +public class Test4206507 { + public static void main(String[] args) throws UnsupportedEncodingException { + Locale.setDefault(new Locale("tr", "TR")); + byte[] b = "".getBytes("ISO8859-9"); + } +} diff --git a/test/sun/nio/cs/Test6254467.java b/test/sun/nio/cs/Test6254467.java new file mode 100644 index 000000000..bc508574d --- /dev/null +++ b/test/sun/nio/cs/Test6254467.java @@ -0,0 +1,38 @@ +/* + * Copyright 2008 Sun Microsystems, Inc. All Rights Reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, + * CA 95054 USA or visit www.sun.com if you need additional information or + * have any questions. + */ + +/* @test + @bug 6254467 + @summary Checks if Charset.forName() accepts legal IANA alias names + for charset IBM037. + */ +import java.nio.charset.Charset; + +public class Test6254467 { + public static void main (String[] args) throws Exception { + Charset ebcdic = Charset.forName("ebcdic-cp-us"); + ebcdic = Charset.forName("ebcdic-cp-ca"); + ebcdic = Charset.forName("ebcdic-cp-wt"); + ebcdic = Charset.forName("ebcdic-cp-nl"); + } +} diff --git a/test/sun/nio/cs/Test6275027.java b/test/sun/nio/cs/Test6275027.java new file mode 100644 index 000000000..2658b3d33 --- /dev/null +++ b/test/sun/nio/cs/Test6275027.java @@ -0,0 +1,42 @@ +/* + * Copyright 2008 Sun Microsystems, Inc. All Rights Reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, + * CA 95054 USA or visit www.sun.com if you need additional information or + * have any questions. + */ + +/* @test + @bug 6275027 + @summary Check if StreamEncoder works correctly when fed with unpaired + surrogates. + */ + +import java.io.*; +public class Test6275027 { + public static void main( String arg[] ) throws Exception { + ByteArrayOutputStream baos = new ByteArrayOutputStream(); + PrintStream ps = new PrintStream(baos); + ps.print("\uda00"); + ps.print("\uda01"); + ps.close(); + if (!"??".equals(baos.toString())) + throw new Exception("failed"); + } + +} diff --git a/test/sun/nio/cs/Test6392804.java b/test/sun/nio/cs/Test6392804.java new file mode 100644 index 000000000..d93343a0a --- /dev/null +++ b/test/sun/nio/cs/Test6392804.java @@ -0,0 +1,59 @@ +/* + * Copyright 2008 Sun Microsystems, Inc. All Rights Reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, + * CA 95054 USA or visit www.sun.com if you need additional information or + * have any questions. + */ + +/* + @bug 6392804 + @summary Decoder fails to detect decoding error +*/ +import java.nio.*; +import java.nio.charset.*; + +public class Test6392804 { + public static void main(String[] args) throws Throwable { + test("ISO-2022-JP", + new byte[] {0x1b,(byte)0x8e, 0x24, 0x40, 0x0, 0x0}); + test("ISO-2022-JP-2", + new byte[] {0x1b,(byte)0x8e, 0x24, 0x40, 0x0, 0x0}); + test("x-windows-50220", + new byte[] {0x1b,(byte)0x8e, 0x24, 0x40, 0x0, 0x0}); + test("x-windows-50221", + new byte[] {0x1b,(byte)0x8e, 0x24, 0x40, 0x0, 0x0}); + test("x-windows-iso2022jp", + new byte[] {0x1b,(byte)0x8e, 0x24, 0x40, 0x0, 0x0}); + test("EUC_TW", + new byte[] {(byte)0x8e, (byte)0xa8, (byte)0xad, (byte)0xe5}); + //out of range second byte + test("EUC_TW", + new byte[] {(byte)0x8e, (byte)0x92, (byte)0xa1, (byte)0xa1}); + test("EUC_TW", + new byte[] {(byte)0x8e, (byte)0x98, (byte)0xa1, (byte)0xa1}); + } + + static void test(String csn, byte[] bytes) throws Throwable { + CharsetDecoder dec = Charset.forName(csn).newDecoder(); + CharBuffer cb = CharBuffer.allocate(1024); + CoderResult cr = dec.decode(ByteBuffer.wrap(bytes), cb, true); + if (cr.isUnderflow()) + throw new RuntimeException(csn + " failed cr=" + cr); + } +} diff --git a/test/sun/nio/cs/TestCompoundTest.java b/test/sun/nio/cs/TestCompoundTest.java new file mode 100644 index 000000000..a75f35641 --- /dev/null +++ b/test/sun/nio/cs/TestCompoundTest.java @@ -0,0 +1,47 @@ +/* + * Copyright 2008 Sun Microsystems, Inc. All Rights Reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, + * CA 95054 USA or visit www.sun.com if you need additional information or + * have any questions. + */ + +/* @test + * @bug 6427981 + * @summary Check the Compound_Text's canonical name and its aliases + */ + +import java.nio.charset.*; +import java.util.Set; + +public class TestCompoundTest { + + public static void main(String args[]) throws Exception + { + if (System.getProperty("os.name").startsWith("Windows")) + return; + Charset cs = Charset.forName("COMPOUND_TEXT"); + if (!cs.name().startsWith("x-")) + throw new RuntimeException("FAILED: name does not start with x-"); + Set aliases = cs.aliases(); + if (!aliases.contains("COMPOUND_TEXT") || + !aliases.contains("x-compound-text") || + !aliases.contains("x11-compound_text")) + throw new RuntimeException("FAILED: alias name is missing"); + } +} diff --git a/test/sun/nio/cs/TestConverterDroppedCharacters.java b/test/sun/nio/cs/TestConverterDroppedCharacters.java new file mode 100644 index 000000000..985ca6175 --- /dev/null +++ b/test/sun/nio/cs/TestConverterDroppedCharacters.java @@ -0,0 +1,92 @@ +/* + * Copyright 2008 Sun Microsystems, Inc. All Rights Reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, + * CA 95054 USA or visit www.sun.com if you need additional information or + * have any questions. + */ + +/* @test + @bug 4122961 + @summary Verify that converters don't drop characters on buffer boundaries + + This is a slightly modified version of the attachment supplied with the + bug report. + */ +import java.io.*; + +public class TestConverterDroppedCharacters { + public static void main(String args[]) + throws java.io.IOException, java.io.UnsupportedEncodingException, + java.io.FileNotFoundException + { + /* Try misc. encodings, many are broken. */ + tryEncoding("Big5"); + tryEncoding("CNS11643"); + tryEncoding("Cp1006"); + tryEncoding("Cp1381"); + tryEncoding("Cp33722"); + tryEncoding("GB2312"); + tryEncoding("KSC5601"); + tryEncoding("SJIS"); + tryEncoding("UTF8"); + } + + static void tryEncoding(String encoding) + throws java.io.IOException, java.io.UnsupportedEncodingException, + java.io.FileNotFoundException + { + String filename = "OUTPUT"; + int goesBadAfter = 8193; + int i; + char data[] = new char[goesBadAfter+1]; + + System.out.println("Testing " + encoding); + + /* Create some data */ + for(i = 0; i < goesBadAfter; i++) { + data[i] = (char)((i % 0x7f) + 1); + } + + /* Write the data out to a file. */ + FileOutputStream fout = new FileOutputStream(filename); + OutputStreamWriter ow = new OutputStreamWriter(fout, encoding); + BufferedWriter fd = new BufferedWriter(ow); + fd.write(data,0,goesBadAfter); + fd.close(); + + /* Now read it back with the same encoding. */ + char buf[] = new char[goesBadAfter+1]; + FileInputStream fin = new FileInputStream("OUTPUT"); + InputStreamReader ir = new InputStreamReader(fin, encoding); + ir.read(buf,0,goesBadAfter); + ir.close(); + + /* And check to see if what we wrote is what we got back. */ + for(i = 0; i < goesBadAfter; i++) { + if (data[i] != buf[i]) { + System.out.println("ERROR with encoding " + encoding + + ": Data wrong at position " + i + " " + + "in: " + (int)data[i] + " " + + "out: " + (int)buf[i]); + throw new RuntimeException(); + } + } + System.out.println("Successfully tested " + encoding); + } +} diff --git a/test/sun/nio/cs/TestCp834_SBCS.java b/test/sun/nio/cs/TestCp834_SBCS.java new file mode 100644 index 000000000..06c939dbb --- /dev/null +++ b/test/sun/nio/cs/TestCp834_SBCS.java @@ -0,0 +1,101 @@ +/* + * Copyright 2008 Sun Microsystems, Inc. All Rights Reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, + * CA 95054 USA or visit www.sun.com if you need additional information or + * have any questions. + */ + +/* @test + @bug 6379808 + @summary Check all Cp933 SBCS characters are not supported in Cp834 + */ + +import sun.io.*; +import java.io.*; +import java.nio.*; +import java.nio.charset.*; + +public class TestCp834_SBCS { + public static void main(String args[]) throws Exception { + // The correctness of 1:1 mapping is Coverted by CoderTest.java + // and TestConv.java, we only need to verify that SBCS characters + // are not supported by this charset. + CharToByteConverter cb834 = CharToByteConverter.getConverter("Cp834"); + ByteToCharConverter bc834 = ByteToCharConverter.getConverter("Cp834"); + CharsetEncoder enc834 = Charset.forName("Cp834") + .newEncoder() + .onUnmappableCharacter(CodingErrorAction.REPLACE) + .onMalformedInput(CodingErrorAction.REPLACE); + + CharsetDecoder dec834 = Charset.forName("Cp834") + .newDecoder() + .onUnmappableCharacter(CodingErrorAction.REPLACE) + .onMalformedInput(CodingErrorAction.REPLACE); + + CharsetDecoder dec933 = Charset.forName("Cp933") + .newDecoder() + .onUnmappableCharacter(CodingErrorAction.REPLACE) + .onMalformedInput(CodingErrorAction.REPLACE); + byte[] ba = new byte[1]; + byte[] ba2 = new byte[2]; + ByteBuffer dbb = ByteBuffer.allocateDirect(10); + char[] ca = new char[1]; + char c; + for (int i = 0; i <= 0xff; i++) { + if (i != 0xe && i != 0xf) { // no SI/SO + ba[0] = (byte)i; + CharBuffer cb = dec933.decode(ByteBuffer.wrap(ba)); + if ((c = cb.get()) != '\ufffd') { + // OK, this is a SBCS character in Cp933 + if (dec834.decode(ByteBuffer.wrap(ba)).get() != '\ufffd') + throw new Exception("SBCS is supported in IBM834 decoder"); + + if (enc834.canEncode(c)) + throw new Exception("SBCS can be encoded in IBM834 encoder"); + + ca[0] = c; + ByteBuffer bb = enc834.encode(CharBuffer.wrap(ca)); + if (bb.get() != (byte)0xfe || bb.get() != (byte)0xfe) + throw new Exception("SBCS is supported in IBM834 encoder"); + + boolean isMalformed = false; + int ret = 0; + bc834.reset(); + try { + ret = bc834.convert(ba, 0, 1, ca, 0, 1); + } catch (sun.io.MalformedInputException x) { isMalformed = true; } + if (!isMalformed && ret != 0 && ca[0] != '\ufffd') { + // three scenarios (1)malformed (2)held as an incomplete + // input or (3)return replacement all mean "no sbcs" + throw new Exception("SBCS is supported in Cp834 b2c"); + } + + if (cb834.canConvert(c)) + throw new Exception("SBCS can be converted in Cp834 c2b "); + + ca[0] = c; + if (cb834.convert(ca, 0, 1, ba2, 0, 2) != 2 || + ba2[0] != (byte)0xfe || ba2[1] != (byte)0xfe) { + throw new Exception("SBCS is supported in Cp834 c2b"); + } + } + } + } + } +} diff --git a/test/sun/nio/cs/TestCp93xSISO.java b/test/sun/nio/cs/TestCp93xSISO.java new file mode 100644 index 000000000..4a9de28da --- /dev/null +++ b/test/sun/nio/cs/TestCp93xSISO.java @@ -0,0 +1,52 @@ +/* + * Copyright 2008 Sun Microsystems, Inc. All Rights Reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, + * CA 95054 USA or visit www.sun.com if you need additional information or + * have any questions. + */ + +/* @test + @bug 4429358 + @summary Remove illegal SI/SO char to byte mappings + */ + +public class TestCp93xSISO { + public static void main ( String[] args) throws Exception { + int exceptionCount = 0; + String[] encName = {"Cp930", "Cp933", "Cp935", "Cp937", "Cp939" }; + + String s = "\u000e\u000f" ; + + for ( int i=0; i < encName.length; i++) { // Test 2 converters. + try { + byte[] encoded = s.getBytes(encName[i]); + for (int j=0 ; j 0) + throw new Exception ("bug4429369: Cp93x SI/SO Ch->Byte mappings incorrect"); + } +} diff --git a/test/sun/nio/cs/TestIBMBugs.java b/test/sun/nio/cs/TestIBMBugs.java new file mode 100644 index 000000000..dcca1ed88 --- /dev/null +++ b/test/sun/nio/cs/TestIBMBugs.java @@ -0,0 +1,146 @@ +/* + * Copyright 2008 Sun Microsystems, Inc. All Rights Reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, + * CA 95054 USA or visit www.sun.com if you need additional information or + * have any questions. + */ + +/* @test + @bug 6371437 6371422 6371416 6371619 5058184 6371431 + @summary Check if the problems reported in above bugs have been fixed + */ + +import java.io.*; +import java.nio.*; +import java.nio.charset.*; + +public class TestIBMBugs { + + private static void bug6371437() throws Exception { + CharsetEncoder converter = Charset.forName("Cp933").newEncoder(); + converter = converter.onMalformedInput(CodingErrorAction.REPORT); + converter = converter.onUnmappableCharacter(CodingErrorAction.REPORT); + CharBuffer in = CharBuffer.wrap(new char[] { (char)4352 }); + try { + ByteBuffer out = converter.encode(in); + } catch (CharacterCodingException e) { } + } + + private static void bug6371422() throws Exception { + String[] charsets = { "Cp949", "Cp949C" }; + for (int n = 0; n < charsets.length; n++) { + String charset = charsets[n]; + CharsetEncoder converter = Charset.forName(charset).newEncoder(); + converter = converter.onMalformedInput(CodingErrorAction.REPORT); + converter = converter.onUnmappableCharacter(CodingErrorAction.REPORT); + int errors = 0; + for (int i = 1; i < 0x1ffff; i++) { + if (i >= 0x1100 && i <= 0x11f9) + continue; //Dont try leading consonant, vowel and trailing + //consonant as a single char + char[] in = (i < 0x10000 + ? new char[] { (char)i } + : new char[] { (char)(0xd800 + ((i - 0x10000) >> 10)), + (char)(0xdc00 + ((i - 0x10000) & 0x3ff)) }); + + try { + ByteBuffer out = converter.encode(CharBuffer.wrap(in)); + if (out.remaining() == 0 || + (out.remaining() == 1 && out.get(0) == 0x00)) { + errors++; + } + } catch (CharacterCodingException e) { } + } + if (errors > 0) + throw new Exception("Charset "+charset+": "+errors+" errors"); + } + } + + private static void bug6371416() throws Exception { + String[] charsets = { "Cp933", "Cp949", "Cp949C", "Cp970"}; + for (int n = 0; n < charsets.length; n++) { + String charset = charsets[n]; + CharsetEncoder converter = Charset.forName(charset).newEncoder(); + converter = converter.onMalformedInput(CodingErrorAction.REPORT); + converter = converter.onUnmappableCharacter(CodingErrorAction.REPORT); + int errors = 0; + for (int i = 0xd800; i < 0xe000; i++) { + char[] in = new char[] { (char)i }; + try { + ByteBuffer out = converter.encode(CharBuffer.wrap(in)); + if (out.remaining() == 0) + errors++; + } catch (CharacterCodingException e) { } + } + if (errors > 0) + throw new Exception("Charset "+charset+": "+errors+" errors"); + } + } + + private static void bug6371619() throws Exception { + String encoding = "Cp964"; + Charset charset = Charset.forName(encoding); + CharsetDecoder converter = charset.newDecoder(); + converter = converter.onMalformedInput(CodingErrorAction.REPORT); + converter = converter.onUnmappableCharacter(CodingErrorAction.REPORT); + int errors = 0; + for (int b = 0x80; b < 0x100; b++) + if (!(b == 0x8e || // 0x8e is a SS2 + (b >= 0x80 && b <= 0x8d) || (b >= 0x90 && b <= 0x9f))) { + ByteBuffer in = ByteBuffer.wrap(new byte[] { (byte)b }); + try { + CharBuffer out = converter.decode(in); + if (out.length() == 0) { + errors++; + } + } catch (CharacterCodingException e) { } + } + if (errors > 0) + throw new Exception("Charset "+charset+": "+errors+" errors"); + } + + + private static void bug6371431() throws Exception { + String encoding = "Cp33722"; + Charset charset = Charset.forName(encoding); + CharsetDecoder converter = charset.newDecoder(); + converter = converter.onMalformedInput(CodingErrorAction.REPORT); + converter = converter.onUnmappableCharacter(CodingErrorAction.REPORT); + int errors = 0; + for (int b = 0xa0; b < 0x100; b++) { + ByteBuffer in = ByteBuffer.wrap(new byte[] { (byte)b }); + try { + CharBuffer out = converter.decode(in); + if (out.length() == 0) { + errors++; + } + } catch (CharacterCodingException e) { } + } + if (errors > 0) + throw new Exception("Charset "+charset+": "+errors+" errors"); + } + + public static void main (String[] args) throws Exception { + bug6371437(); + bug6371422(); + bug6371416(); + bug6371619(); + bug6371431(); + } +} diff --git a/test/sun/nio/cs/TestISCII91.java b/test/sun/nio/cs/TestISCII91.java new file mode 100644 index 000000000..01b05bafd --- /dev/null +++ b/test/sun/nio/cs/TestISCII91.java @@ -0,0 +1,71 @@ +/* + * Copyright 2008 Sun Microsystems, Inc. All Rights Reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, + * CA 95054 USA or visit www.sun.com if you need additional information or + * have any questions. + */ + +/* @test + @bug 6431650 + @summary Check charset ISCII91 and C2B/B2CISCII91 yield same encoding/decoding result + */ + + +import java.nio.*; +import java.nio.charset.*; +import sun.io.*; + +public class TestISCII91 { + public static void main(String[] args) throws Throwable{ + CharToByteConverter c2b = new CharToByteISCII91(); + ByteToCharConverter b2c = new ByteToCharISCII91(); + Charset cs = Charset.forName("ISCII91"); + String charsToEncode = getCharsForEncoding("ISCII91"); + + byte [] c2bBytes = c2b.convertAll(charsToEncode.toCharArray()); + byte [] csBytes = cs.encode(charsToEncode).array(); + for (int i = 0; i < c2bBytes.length; ++i) { + if (c2bBytes[i] != csBytes[i]) + throw new RuntimeException("ISCII91 encoding failed!"); + } + + char[] c2bChars = b2c.convertAll(c2bBytes); + char[] csChars = cs.decode(ByteBuffer.wrap(csBytes)).array(); + for (int i = 0; i < c2bChars.length; ++i) { + if (c2bChars[i] != csChars[i]) + throw new RuntimeException("ISCII91 decoding failed!"); + } + } + + + static String getCharsForEncoding(String encodingName) + throws CharacterCodingException{ + Charset set = Charset.forName(encodingName); + CharBuffer chars = CharBuffer.allocate(300); + CharsetEncoder encoder = set.newEncoder(); + for (int c = 0; chars.remaining() > 0 && c < Character.MAX_VALUE; ++c) { + if (Character.isDefined((char) c) && !Character.isISOControl((char) c) && encoder.canEncode((char) c)) { + chars.put((char) c); + } + } + chars.limit(chars.position()); + chars.rewind(); + return chars.toString(); + } +} diff --git a/test/sun/nio/cs/TestISO2022CNDecoder.java b/test/sun/nio/cs/TestISO2022CNDecoder.java new file mode 100644 index 000000000..f27ba85ff --- /dev/null +++ b/test/sun/nio/cs/TestISO2022CNDecoder.java @@ -0,0 +1,440 @@ +/* + * Copyright 2008 Sun Microsystems, Inc. All Rights Reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, + * CA 95054 USA or visit www.sun.com if you need additional information or + * have any questions. + */ + +/* @test + @bug 4779029 4924625 6392664 + @summary Test decoding of various permutations of valid ISO-2022-CN byte sequences + */ + +/* + * Regression test for NIO ISO-2022-CN decoder. Passes various valid + * ISO-2022-CN byte sequences to the decoder using the java.io + * InputStreamReader API + */ + +import java.io.*; +import java.nio.*; +import java.nio.charset.*; + +public class TestISO2022CNDecoder +{ + private static String encodingName = "ISO2022CN"; + + // + // Positive tests -- test both output and input processing against + // various "known good" data + // + private static boolean decodeTest ( + byte encoded[], + char decoded[], + String label) + { + boolean retval = true; + int i = 0; + + try { + // + // Ensure that reading decodes correctly + // + ByteArrayInputStream in; + InputStreamReader reader; + + in = new ByteArrayInputStream(encoded); + reader = new InputStreamReader(in, encodingName); + + for (i = 0; i < decoded.length; i++) { + int c = reader.read(); + + if (c != decoded[i]) { + System.err.print(label + ": read failed, char " + i); + System.err.print(" ... expected 0x" + + Integer.toHexString(decoded[i])); + if (c == -1) + System.err.println(", got EOF"); + else + System.err.println(", got 0x" + + Integer.toHexString(c)); + retval = false; + if (c == -1) + return retval; + } + } + + int testChar; + if ((testChar = reader.read()) != -1) { + System.err.println(label + ": read failed, no EOF"); + System.err.println("testChar is " + + Integer.toHexString((int)testChar)); + return false; + } + String decodedString = new String(encoded, "ISO2022CN"); + + for (i = 0; i < decodedString.length(); i++) { + if (decodedString.charAt(i) != decoded[i]) + System.err.println(label + ": read failed, char " + i); + } + + CharsetDecoder dec = Charset.forName("ISO2022CN") + .newDecoder() + .onUnmappableCharacter(CodingErrorAction.REPLACE) + .onMalformedInput(CodingErrorAction.REPLACE); + ByteBuffer bb = ByteBuffer.allocateDirect(encoded.length).put(encoded); + bb.flip(); + CharBuffer cb = ByteBuffer.allocateDirect(2*encoded.length*(int)dec.maxCharsPerByte()) + .asCharBuffer(); + if (bb.hasArray() || cb.hasArray()) { + System.err.println(label + ": directBuffer failed, "); + return false; + } + if (!dec.decode(bb, cb, true).isUnderflow()) { + System.err.println(label + ": decoder's decode() failed!"); + return false; + } + cb.flip(); + for (i = 0; i < cb.limit(); i++) { + if (cb.get() != decoded[i]) + System.err.println(label + ": decoder failed, char " + i); + } + + } catch (Exception e) { + System.err.println(label + ": failed " + + "(i = " + i + "), " + + e.getClass().getName() + + ", " + e.getMessage()); + e.printStackTrace(); + return false; + } + return retval; + } + + private static boolean equal(CoderResult a, CoderResult b) { + return (a == CoderResult.OVERFLOW && b == CoderResult.OVERFLOW) || + (a == CoderResult.UNDERFLOW && b == CoderResult.UNDERFLOW) || + ((a.isError() == b.isError()) && + (a.isMalformed() == b.isMalformed()) && + (a.isUnmappable() == b.isUnmappable()) && + (a.length() == b.length())); + } + + private static boolean decodeResultTest (byte encoded[], + CoderResult expected, + String label) { + CharsetDecoder dec = Charset.forName("ISO2022CN").newDecoder(); + ByteBuffer bb = ByteBuffer.wrap(encoded); + CharBuffer cb = CharBuffer.allocate(encoded.length*(int)dec.maxCharsPerByte()); + CoderResult result = dec.decode(bb, cb, true); + if (!equal(result, expected)) { + System.err.println(label + ": decoder's decode() failed!"); + return false; + } + + bb = ByteBuffer.allocateDirect(encoded.length).put(encoded); + bb.flip(); + cb = ByteBuffer.allocateDirect(2*encoded.length*(int)dec.maxCharsPerByte()) + .asCharBuffer(); + if (bb.hasArray() || cb.hasArray()) { + System.err.println(label + ": directBuffer failed, "); + return false; + } + result = dec.reset().decode(bb, cb, true); + if (!equal(result, expected)) { + System.err.println(label + ": decoder's decode() - direct failed!"); + return false; + } + return true; + } + + // + // Negative tests -- only for input processing, make sure that + // invalid or corrupt characters are rejected. + // + private static boolean negative (byte encoded [], String label) + { + try { + ByteArrayInputStream in; + InputStreamReader reader; + int c; + + in = new ByteArrayInputStream(encoded); + reader = new InputStreamReader(in, encodingName); + + c = reader.read(); + System.err.print (label + ": read failed, "); + + if (c == -1) + System.err.println("reported EOF"); + else + System.err.println("returned char 0x" + + Integer.toHexString(c) + + ", expected exception"); + return false; + + } catch (CharConversionException e) { + return true; + + } catch (Throwable t) { + System.err.println(label + ": failed, threw " + + t.getClass().getName() + + ", " + t.getMessage()); + } + return false; + } + + private static boolean decodeTest6392664 () { + try { + CharsetDecoder dec = Charset.forName("ISO-2022-CN-GB").newDecoder(); + dec.decode(ByteBuffer.wrap(new byte[] {(byte)0x0e, (byte)0x42, (byte)0x43 })); + } catch (Exception e) { + e.printStackTrace(); + return false; + } + return true; + } + + // + // TEST #0: 7-bit unshifted values, + // shift-in of a valid decodable GB2312-80 + // character and an unmappable GB2312-80 char + // This is a positive test. + // + private static byte test0_bytes[] = { + (byte)0x00, + (byte)0x01, (byte)0x02, (byte)0x03, + (byte)0x0E, (byte)0x21, (byte)0x2f, + (byte)0x0E, (byte)0xDD, (byte)0x9f + }; + + private static char test0_chars[] = { + 0x0000, + 0x0001, 0x0002, 0x0003, + 0x2019, + 0xFFFD + }; + + private static byte test1_bytes[] = { + (byte)0x1b, (byte)0x24, (byte)0x29, (byte)0x41, (byte)0x21, + (byte)0x2f }; + + private static char test1_chars[] = { + 0x21, 0x2f + }; + + private static byte test2_bytes[] = { + (byte)0x0e, + (byte)0x1b, (byte)0x24, (byte)0x29, (byte)0x41, + (byte)0x21, (byte)0x2f }; + + private static char test2_chars[] = { + 0x2019 + }; + + private static byte test3_bytes[] = { + (byte)0x1b, (byte)0x24, (byte)0x29, (byte)0x41, + (byte)0x0e, + (byte)0x21, (byte)0x2f }; + + private static byte test3a_bytes[] = { + (byte)0x1b, (byte)0x24, (byte)0x41, + (byte)0x0e, + (byte)0x21, (byte)0x2f }; + + private static char test3_chars[] = { + 0x2019 + }; + + private static byte test4_bytes[] = { + (byte)0x1b, (byte)0x24, (byte)0x29, (byte)0x41, + (byte)0x0f, + (byte)0x21, (byte)0x2f }; + + private static char test4_chars[] = { + 0x21, 0x2f + }; + + private static byte test5_bytes[] = { + (byte)0x1b, (byte)0x24, (byte)0x29, (byte)0x41, + (byte)0x0e, (byte)0x21, (byte)0x2e, + (byte)0x0f, (byte)0x21, (byte)0x2f }; + + private static char test5_chars[] = { + 0x2018, 0x21, 0x2f + }; + + private static byte test6_bytes[] = { + (byte)0x1b, (byte)0x24, (byte)0x29, (byte)0x41, + (byte)0x0e, (byte)0x21, (byte)0x2e, + (byte)0x21, (byte)0x2f }; + + private static char test6_chars[] = { + 0x2018, 0x2019 + }; + + private static byte test7_bytes[] = { + (byte)0x1b, (byte)0x24, (byte)0x29, (byte)'G', + (byte)0x0e, (byte)0x21, (byte)0x2e, + (byte)0x21, (byte)0x2f }; + + private static char test7_chars[] = { + 0xFE50, 0xFE51 + }; + + private static byte test8_bytes[] = { + (byte)0x1b, (byte)0x24, (byte)0x29, (byte)'G', + (byte)0x0e, (byte)0x21, (byte)0x2e, + (byte)0x0f, (byte)0x21, (byte)0x2f }; + + private static char test8_chars[] = { + 0xFE50, 0x21, 0x2f + }; + + private static byte test9_bytes[] = { + (byte)0x1b, (byte)0x24, (byte)0x2a, (byte)'H', + (byte)0x1b, (byte)0x4e, + (byte)0x21, (byte)0x2f }; + + private static char test9_chars[] = { + 0x4e0e + }; + + /* + * Plane 3 support provided for compatibility with + * sun.io ISO2022_CN decoder. Officially ISO-2022-CN + * just handles planes 1/2 of CNS-11643 (1986) + * Test case data below verifies this compatibility + * + */ + + private static byte test10_bytes[] = { + (byte)0x1b, (byte)0x24, (byte)'+', (byte)'I', + (byte)0x1b, (byte)0x4f, + (byte)0x21, (byte)0x2f }; + + private static char test10_chars[] = { + 0x51e2 + }; + + private static byte test11_bytes[] = { + (byte)0x1b, (byte)0x24, (byte)0x29, (byte)0x41, //SO Designator + (byte)0x0e, //SO + (byte)0x21, (byte)0x2e, //GB2312 char + (byte)0x1b, (byte)0x24, (byte)0x2a, (byte)'H', //SS2 Designator + (byte)0x1b, (byte)0x4e, //SS2 + (byte)0x21, (byte)0x2f, //CNS-P2 char + (byte)0x21, (byte)0x2f //GB2312 char + }; + + private static char test11_chars[] = { + 0x2018, + 0x4e0e, + 0x2019 + }; + + private static byte test12_bytes[] = { + (byte)0x1b, (byte)0x24, (byte)0x29, (byte)0x41, //SO Designator + (byte)0x0e, //SO + (byte)0x21, (byte)0x2e, //GB2312 char + (byte)0x1b, (byte)0x24, (byte)'+', (byte)'I', //SS3 Designator + (byte)0x1b, (byte)0x4f, //SS3 + (byte)0x21, (byte)0x2f, //CNS-P2 char + (byte)0x21, (byte)0x2f //GB2312 char + }; + + private static char test12_chars[] = { + 0x2018, + 0x51e2, + 0x2019 + }; + + + private static byte test13_bytes[] = { + (byte)0x0f0, // byte with MSB + }; + + private static char test13_chars[] = { + 0x00f0, + }; + + private static byte test14_bytes[] = { + (byte)0x0E, (byte)0x21, (byte)0x2f, + (byte)0x0E, (byte)0xDD, (byte)0x9f + }; + private static CoderResult test14_result = CoderResult.unmappableForLength(2); + + // Current ISO2022CN treats the "out of range" code points as "unmappable" + private static byte test15_bytes[] = { + (byte)0x1b, (byte)0x4f, // SS3 + (byte)0x20, (byte)0x2f, // "out of range" CNS-P2 char + }; + private static CoderResult test15_result = CoderResult.unmappableForLength(4); + + /** + * Main program to test ISO2022CN conformance + * + */ + public static void main (String argv []) throws Exception + { + boolean pass = true; + + System.out.println (""); + System.out.println ("------ checking ISO2022CN decoder -----"); + + // This regtest must be the first one. + pass &= decodeTest6392664(); + + try { + new InputStreamReader (System.in, "ISO2022CN"); + } catch (Exception e) { + encodingName = "ISO2022CN"; + System.out.println ("... requires nonstandard encoding name " + + encodingName); + pass &= false; + } + + // + // Positive tests -- good data is dealt with correctly + // + pass &= decodeTest(test0_bytes, test0_chars, "first batch"); + pass &= decodeTest(test1_bytes, test1_chars, "escapes1"); + pass &= decodeTest(test2_bytes, test2_chars, "escapes2"); + pass &= decodeTest(test3_bytes, test3_chars, "escapes3"); + pass &= decodeTest(test3a_bytes, test3_chars, "escapes3a"); + pass &= decodeTest(test4_bytes, test4_chars, "escapes4"); + pass &= decodeTest(test5_bytes, test5_chars, "escapes5"); + pass &= decodeTest(test6_bytes, test6_chars, "escapes6"); + pass &= decodeTest(test7_bytes, test7_chars, "escapes7"); + pass &= decodeTest(test8_bytes, test8_chars, "escapes8"); + pass &= decodeTest(test9_bytes, test9_chars, "escapes9"); + pass &= decodeTest(test10_bytes, test10_chars, "escapes10"); + pass &= decodeTest(test11_bytes, test11_chars, "escapes11"); + pass &= decodeTest(test12_bytes, test12_chars, "escapes12"); + pass &= decodeTest(test13_bytes, test13_chars, "escapes13"); + pass &= decodeResultTest(test14_bytes, test14_result, "escapes14"); + pass &= decodeResultTest(test15_bytes, test15_result, "escapes15"); + // PASS/FAIL status is what the whole thing is about. + // + if (! pass) { + throw new Exception("FAIL -- incorrect ISO-2022-CN"); + } + + } +} diff --git a/test/sun/nio/cs/TestISO2022JP.java b/test/sun/nio/cs/TestISO2022JP.java new file mode 100644 index 000000000..a2f2b33bf --- /dev/null +++ b/test/sun/nio/cs/TestISO2022JP.java @@ -0,0 +1,612 @@ +/* + * Copyright 2008 Sun Microsystems, Inc. All Rights Reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, + * CA 95054 USA or visit www.sun.com if you need additional information or + * have any questions. + */ + +/* @test + @bug 4626545 4879522 4913711 4119445 + @summary Check full coverage encode/decode for ISO-2022-JP + */ + +/* + * Tests the NIO converter for J2RE >= 1.4.1 + * since the default converter used by String + * API is the NIO converter sun.nio.cs.ext.ISO2022_JP + */ + +import java.io.*; +public class TestISO2022JP { + + private final static String US_ASCII = + "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007" + + "\b\t\n\u000B\f\r" + + "\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017" + + "\u0018\u0019\u001A\u001C\u001D\u001E\u001F" + + "\u0020\u0021\"\u0023\u0024\u0025\u0026\'" + + "\u0028\u0029\u002A\u002B\u002C\u002D\u002E\u002F" + + "\u0030\u0031\u0032\u0033\u0034\u0035\u0036\u0037" + + "\u0038\u0039\u003A\u003B\u003C\u003D\u003E\u003F" + + "\u0040\u0041\u0042\u0043\u0044\u0045\u0046\u0047" + + "\u0048\u0049\u004A\u004B\u004C\u004D\u004E\u004F" + + "\u0050\u0051\u0052\u0053\u0054\u0055\u0056\u0057" + + "\u0058\u0059\u005A\u005B\\\u005D\u005E\u005F" + + "\u0060\u0061\u0062\u0063\u0064\u0065\u0066\u0067" + + "\u0068\u0069\u006A\u006B\u006C\u006D\u006E\u006F" + + "\u0070\u0071\u0072\u0073\u0074\u0075\u0076\u0077" + + "\u0078\u0079\u007A\u007B\u007C\u007D\u007E\u00A5\u203E"; + + // Subset of chars sourced from JISX0208:1983 + + private final static String JISX0208SUBSET = + "u3000\u3001\u3002\uFF0C\uFF0E\u30FB\uFF1A" + + "\uFF1B\uFF1F\uFF01\u309B\u309C\u00B4\uFF40\u00A8" + + "\uFF3E\uFFE3\uFF3F\u30FD\u30FE\u309D\u309E\u3003" + + "\u4EDD\u3005\u3006\u3007\u30FC\u2014\u2010\uFF0F" + + "\uFF3C\u301C\u2016\uFF5C\u2026\u2025\u2018\u2019" + + "\u5C05\u5C07\u5C08\u5C0D\u5C13\u5C20\u5C22\u5C28" + + "\u5C38\u5C39\u5C41\u5C46\u5C4E\u5C53\u5C50\u5C4F" + + "\u5B71\u5C6C\u5C6E\u4E62\u5C76\u5C79\u5C8C\u5C91" + + "\u5C94\u599B\u5CAB\u5CBB\u5CB6\u5CBC\u5CB7\u5CC5" + + "\u5CBE\u5CC7\u5CD9\u5CE9\u5CFD\u5CFA\u5CED\u5D8C" + + "\u5CEA\u5D0B\u5D15\u5D17\u5D5C\u5D1F\u5D1B\u5D11" + + "\u5D14\u5D22\u5D1A\u5D19\u5D18\u5D4C\u5D52\u5D4E" + + "\u5D4B\u5D6C\u5D73\u5D76\u5D87\u5D84\u5D82\u5DA2" + + "\u5D9D\u5DAC\u5DAE\u5DBD\u5D90\u5DB7\u5DBC\u5DC9" + + "\u5DCD\u5DD3\u5DD2\u5DD6\u5DDB\u5DEB\u5DF2\u5DF5" + + "\u5E0B\u5E1A\u5E19\u5E11\u5E1B\u5E36\u5E37\u5E44" + + "\u5E43\u5E40\u5E4E\u5E57\u5E54\u5E5F\u5E62\u5E64" + + "\u5E47\u5E75\u5E76\u5E7A\u9EBC\u5E7F\u5EA0\u5EC1" + + "\u5EC2\u5EC8\u5ED0\u5ECF\u5ED6\u5EE3\u5EDD\u5EDA" + + "\u5EDB\u5EE2\u5EE1\u5EE8\u5EE9\u5EEC\u5EF1\u5EF3" + + "\u5EF0\u5EF4\u5EF8\u5EFE\u5F03\u5F09\u5F5D\u5F5C" + + "\u5F0B\u5F11\u5F16\u5F29\u5F2D\u5F38\u5F41\u5F48" + + "\u5F4C\u5F4E\u5F2F\u5F51\u5F56\u5F57\u5F59\u5F61" + + "\u5F6D\u5F73\u5F77\u5F83\u5F82\u5F7F\u5F8A\u5F88" + + "\u5F91\u5F87\u5F9E\u5F99\u5F98\u5FA0\u5FA8\u5FAD" + + "\u5FBC\u5FD6\u5FFB\u5FE4\u5FF8\u5FF1\u5FDD\u60B3" + + "\u5FFF\u6021\u6060\u6019\u6010\u6029\u600E\u6031" + + "\u62EE\u62F1\u6327\u6302\u6308\u62EF\u62F5\u6350" + + "\u633E\u634D\u641C\u634F\u6396\u638E\u6380\u63AB" + + "\u6376\u63A3\u638F\u6389\u639F\u63B5\u636B\u6369" + + "\u63BE\u63E9\u63C0\u63C6\u63E3\u63C9\u63D2\u63F6" + + "\u63C4\u6416\u6434\u6406\u6413\u6426\u6436\u651D" + + "\u6417\u6428\u640F\u6467\u646F\u6476\u644E\u652A" + + "\u6495\u6493\u64A5\u64A9\u6488\u64BC\u64DA\u64D2" + + "\u64C5\u64C7\u64BB\u64D8\u64C2\u64F1\u64E7\u8209" + + "\u64E0\u64E1\u62AC\u64E3\u64EF\u652C\u64F6\u64F4" + + "\u64F2\u64FA\u6500\u64FD\u6518\u651C\u6505\u6524" + + "\u6523\u652B\u6534\u6535\u6537\u6536\u6538\u754B" + + "\u6741\u6738\u6737\u6746\u675E\u6760\u6759\u6763" + + "\u6764\u6789\u6770\u67A9\u677C\u676A\u678C\u678B" + + "\u67A6\u67A1\u6785\u67B7\u67EF\u67B4\u67EC\u67B3" + + "\u67E9\u67B8\u67E4\u67DE\u67DD\u67E2\u67EE\u67B9" + + "\u67CE\u67C6\u67E7\u6A9C\u681E\u6846\u6829\u6840" + + "\u684D\u6832\u684E\u68B3\u682B\u6859\u6863\u6877" + + "\u687F\u689F\u688F\u68AD\u6894\u689D\u689B\u6883" + + "\u6AAE\u68B9\u6874\u68B5\u68A0\u68BA\u690F\u688D" + + "\u687E\u6901\u68CA\u6908\u68D8\u6922\u6926\u68E1" + + "\u690C\u68CD\u68D4\u68E7\u68D5\u6936\u6912\u6904" + + "\u68D7\u68E3\u6925\u68F9\u68E0\u68EF\u6928\u692A" + + "\u691A\u6923\u6921\u68C6\u6979\u6977\u695C\u6978" + + "\u6CD7\u6CC5\u6CDD\u6CAE\u6CB1\u6CBE\u6CBA\u6CDB" + + "\u6CEF\u6CD9\u6CEA\u6D1F\u884D\u6D36\u6D2B\u6D3D" + + "\u6D38\u6D19\u6D35\u6D33\u6D12\u6D0C\u6D63\u6D93" + + "\u6D64\u6D5A\u6D79\u6D59\u6D8E\u6D95\u6FE4\u6D85" + + "\u6DF9\u6E15\u6E0A\u6DB5\u6DC7\u6DE6\u6DB8\u6DC6" + + "\u6DEC\u6DDE\u6DCC\u6DE8\u6DD2\u6DC5\u6DFA\u6DD9" + + "\u724B\u7258\u7274\u727E\u7282\u7281\u7287\u7292" + + "\u7296\u72A2\u72A7\u72B9\u72B2\u72C3\u72C6\u72C4" + + "\u9D59\u9D72\u9D89\u9D87\u9DAB\u9D6F\u9D7A\u9D9A" + + "\u9DA4\u9DA9\u9DB2\u9DC4\u9DC1\u9DBB\u9DB8\u9DBA" + + "\u9DC6\u9DCF\u9DC2\u9DD9\u9DD3\u9DF8\u9DE6\u9DED" + + "\u9DEF\u9DFD\u9E1A\u9E1B\u9E1E\u9E75\u9E79\u9E7D" + + "\u9E81\u9E88\u9E8B\u9E8C\u9E92\u9E95\u9E91\u9E9D" + + "\u9EA5\u9EA9\u9EB8\u9EAA\u9EAD\u9761\u9ECC\u9ECE" + + "\u9ECF\u9ED0\u9ED4\u9EDC\u9EDE\u9EDD\u9EE0\u9EE5" + + "\u9EE8\u9EEF\u9EF4\u9EF6\u9EF7\u9EF9\u9EFB\u9EFC" + + "\u9EFD\u9F07\u9F08\u76B7\u9F15\u9F21\u9F2C\u9F3E" + + "\u9F4A\u9F52\u9F54\u9F63\u9F5F\u9F60\u9F61\u9F66" + + "\u9F67\u9F6C\u9F6A\u9F77\u9F72\u9F76\u9F95\u9F9C" + + "\u9FA0\u582F\u69C7\u9059\u7464\u51DC\u7199"; + + final static String JISX0202KATAKANA = + "\uFF61\uFF62\uFF63\uFF64" + + "\uFF65\uFF66\uFF67\uFF68\uFF69\uFF6A\uFF6B\uFF6C" + + "\uFF6D\uFF6E\uFF6F\uFF70\uFF71\uFF72\uFF73\uFF74" + + "\uFF75\uFF76\uFF77\uFF78\uFF79\uFF7A\uFF7B\uFF7C" + + "\uFF7D\uFF7E\uFF7F\uFF80\uFF81\uFF82\uFF83\uFF84" + + "\uFF85\uFF86\uFF87\uFF88\uFF89\uFF8A\uFF8B\uFF8C" + + "\uFF8D\uFF8E\uFF8F\uFF90\uFF91\uFF92\uFF93\uFF94" + + "\uFF95\uFF96\uFF97\uFF98\uFF99\uFF9A\uFF9B\uFF9C" + + "\uFF9D\uFF9E\uFF9F"; + + + final static byte[] expectedBytes1 = { + (byte) 0x0, (byte) 0x1, (byte) 0x2, (byte) 0x3, + (byte) 0x4, (byte) 0x5, (byte) 0x6, (byte) 0x7, + (byte) 0x8, (byte) 0x9, (byte) 0xa, (byte) 0xb, + (byte) 0xc, (byte) 0xd, + (byte) 0x10, (byte) 0x11, (byte) 0x12, (byte) 0x13, + (byte) 0x14, (byte) 0x15, (byte) 0x16, (byte) 0x17, + (byte) 0x18, (byte) 0x19, (byte) 0x1a, + (byte) 0x1c, (byte) 0x1d, (byte) 0x1e, (byte) 0x1f, + (byte) 0x20, (byte) 0x21, (byte) 0x22, (byte) 0x23, + (byte) 0x24, (byte) 0x25, (byte) 0x26, (byte) 0x27, + (byte) 0x28, (byte) 0x29, (byte) 0x2a, (byte) 0x2b, + (byte) 0x2c, (byte) 0x2d, (byte) 0x2e, (byte) 0x2f, + (byte) 0x30, (byte) 0x31, (byte) 0x32, (byte) 0x33, + (byte) 0x34, (byte) 0x35, (byte) 0x36, (byte) 0x37, + (byte) 0x38, (byte) 0x39, (byte) 0x3a, (byte) 0x3b, + (byte) 0x3c, (byte) 0x3d, (byte) 0x3e, (byte) 0x3f, + (byte) 0x40, (byte) 0x41, (byte) 0x42, (byte) 0x43, + (byte) 0x44, (byte) 0x45, (byte) 0x46, (byte) 0x47, + (byte) 0x48, (byte) 0x49, (byte) 0x4a, (byte) 0x4b, + (byte) 0x4c, (byte) 0x4d, (byte) 0x4e, (byte) 0x4f, + (byte) 0x50, (byte) 0x51, (byte) 0x52, (byte) 0x53, + (byte) 0x54, (byte) 0x55, (byte) 0x56, (byte) 0x57, + (byte) 0x58, (byte) 0x59, (byte) 0x5a, (byte) 0x5b, + (byte) 0x5c, (byte) 0x5d, (byte) 0x5e, (byte) 0x5f, + (byte) 0x60, (byte) 0x61, (byte) 0x62, (byte) 0x63, + (byte) 0x64, (byte) 0x65, (byte) 0x66, (byte) 0x67, + (byte) 0x68, (byte) 0x69, (byte) 0x6a, (byte) 0x6b, + (byte) 0x6c, (byte) 0x6d, (byte) 0x6e, (byte) 0x6f, + (byte) 0x70, (byte) 0x71, (byte) 0x72, (byte) 0x73, + (byte) 0x74, (byte) 0x75, (byte) 0x76, (byte) 0x77, + (byte) 0x78, (byte) 0x79, (byte) 0x7a, (byte) 0x7b, + (byte) 0x7c, (byte) 0x7d, (byte) 0x7e, (byte) 0x1b, + (byte) 0x28, (byte) 0x4a, (byte) 0x5c, (byte) 0x7e, + (byte) 0x1b, (byte) 0x28, (byte) 0x42, (byte) 0x75, + (byte) 0x33, (byte) 0x30, (byte) 0x30, (byte) 0x30, + (byte) 0x1b, (byte) 0x24, (byte) 0x42, (byte) 0x21, + (byte) 0x22, (byte) 0x21, (byte) 0x23, (byte) 0x21, + (byte) 0x24, (byte) 0x21, (byte) 0x25, (byte) 0x21, + (byte) 0x26, (byte) 0x21, (byte) 0x27, (byte) 0x21, + (byte) 0x28, (byte) 0x21, (byte) 0x29, (byte) 0x21, + (byte) 0x2a, (byte) 0x21, (byte) 0x2b, (byte) 0x21, + (byte) 0x2c, (byte) 0x21, (byte) 0x2d, (byte) 0x21, + (byte) 0x2e, (byte) 0x21, (byte) 0x2f, (byte) 0x21, + (byte) 0x30, (byte) 0x21, (byte) 0x31, (byte) 0x21, + (byte) 0x32, (byte) 0x21, (byte) 0x33, (byte) 0x21, + (byte) 0x34, (byte) 0x21, (byte) 0x35, (byte) 0x21, + (byte) 0x36, (byte) 0x21, (byte) 0x37, (byte) 0x21, + (byte) 0x38, (byte) 0x21, (byte) 0x39, (byte) 0x21, + (byte) 0x3a, (byte) 0x21, (byte) 0x3b, (byte) 0x21, + (byte) 0x3c, (byte) 0x21, (byte) 0x3d, (byte) 0x21, + (byte) 0x3e, (byte) 0x21, (byte) 0x3f, (byte) 0x21, + (byte) 0x40, (byte) 0x21, (byte) 0x41, (byte) 0x21, + (byte) 0x42, (byte) 0x21, (byte) 0x43, (byte) 0x21, + (byte) 0x44, (byte) 0x21, (byte) 0x45, (byte) 0x21, + (byte) 0x46, (byte) 0x21, (byte) 0x47, (byte) 0x55, + (byte) 0x71, (byte) 0x55, (byte) 0x72, (byte) 0x55, + (byte) 0x73, (byte) 0x55, (byte) 0x74, (byte) 0x55, + (byte) 0x75, (byte) 0x55, (byte) 0x76, (byte) 0x55, + (byte) 0x77, (byte) 0x55, (byte) 0x78, (byte) 0x55, + (byte) 0x79, (byte) 0x55, (byte) 0x7a, (byte) 0x55, + (byte) 0x7b, (byte) 0x55, (byte) 0x7c, (byte) 0x55, + (byte) 0x7d, (byte) 0x55, (byte) 0x7e, (byte) 0x56, + (byte) 0x21, (byte) 0x56, (byte) 0x22, (byte) 0x56, + (byte) 0x23, (byte) 0x56, (byte) 0x24, (byte) 0x56, + (byte) 0x25, (byte) 0x56, (byte) 0x26, (byte) 0x56, + (byte) 0x27, (byte) 0x56, (byte) 0x28, (byte) 0x56, + (byte) 0x29, (byte) 0x56, (byte) 0x2a, (byte) 0x56, + (byte) 0x2b, (byte) 0x56, (byte) 0x2c, (byte) 0x56, + (byte) 0x2d, (byte) 0x56, (byte) 0x2e, (byte) 0x56, + (byte) 0x2f, (byte) 0x56, (byte) 0x30, (byte) 0x56, + (byte) 0x31, (byte) 0x56, (byte) 0x32, (byte) 0x56, + (byte) 0x33, (byte) 0x56, (byte) 0x34, (byte) 0x56, + (byte) 0x35, (byte) 0x56, (byte) 0x36, (byte) 0x56, + (byte) 0x37, (byte) 0x56, (byte) 0x38, (byte) 0x56, + (byte) 0x39, (byte) 0x56, (byte) 0x3a, (byte) 0x56, + (byte) 0x3b, (byte) 0x56, (byte) 0x3c, (byte) 0x56, + (byte) 0x3d, (byte) 0x56, (byte) 0x3e, (byte) 0x56, + (byte) 0x3f, (byte) 0x56, (byte) 0x40, (byte) 0x56, + (byte) 0x41, (byte) 0x56, (byte) 0x42, (byte) 0x56, + (byte) 0x43, (byte) 0x56, (byte) 0x44, (byte) 0x56, + (byte) 0x45, (byte) 0x56, (byte) 0x46, (byte) 0x56, + (byte) 0x47, (byte) 0x56, (byte) 0x48, (byte) 0x56, + (byte) 0x49, (byte) 0x56, (byte) 0x4a, (byte) 0x56, + (byte) 0x4b, (byte) 0x56, (byte) 0x4c, (byte) 0x56, + (byte) 0x4d, (byte) 0x56, (byte) 0x4e, (byte) 0x56, + (byte) 0x4f, (byte) 0x56, (byte) 0x50, (byte) 0x56, + (byte) 0x51, (byte) 0x56, (byte) 0x52, (byte) 0x56, + (byte) 0x53, (byte) 0x56, (byte) 0x54, (byte) 0x56, + (byte) 0x55, (byte) 0x56, (byte) 0x56, (byte) 0x56, + (byte) 0x57, (byte) 0x56, (byte) 0x58, (byte) 0x56, + (byte) 0x59, (byte) 0x56, (byte) 0x5a, (byte) 0x56, + (byte) 0x5b, (byte) 0x56, (byte) 0x5c, (byte) 0x56, + (byte) 0x5d, (byte) 0x56, (byte) 0x5e, (byte) 0x56, + (byte) 0x5f, (byte) 0x56, (byte) 0x60, (byte) 0x56, + (byte) 0x61, (byte) 0x56, (byte) 0x62, (byte) 0x56, + (byte) 0x63, (byte) 0x56, (byte) 0x64, (byte) 0x56, + (byte) 0x65, (byte) 0x56, (byte) 0x66, (byte) 0x56, + (byte) 0x67, (byte) 0x56, (byte) 0x68, (byte) 0x56, + (byte) 0x69, (byte) 0x56, (byte) 0x6a, (byte) 0x56, + (byte) 0x6b, (byte) 0x56, (byte) 0x6c, (byte) 0x56, + (byte) 0x6d, (byte) 0x56, (byte) 0x6e, (byte) 0x56, + (byte) 0x6f, (byte) 0x56, (byte) 0x70, (byte) 0x56, + (byte) 0x71, (byte) 0x56, (byte) 0x72, (byte) 0x56, + (byte) 0x73, (byte) 0x56, (byte) 0x74, (byte) 0x56, + (byte) 0x75, (byte) 0x56, (byte) 0x76, (byte) 0x56, + (byte) 0x77, (byte) 0x56, (byte) 0x78, (byte) 0x56, + (byte) 0x79, (byte) 0x56, (byte) 0x7a, (byte) 0x56, + (byte) 0x7b, (byte) 0x56, (byte) 0x7c, (byte) 0x56, + (byte) 0x7d, (byte) 0x56, (byte) 0x7e, (byte) 0x57, + (byte) 0x21, (byte) 0x57, (byte) 0x22, (byte) 0x57, + (byte) 0x23, (byte) 0x57, (byte) 0x24, (byte) 0x57, + (byte) 0x25, (byte) 0x57, (byte) 0x26, (byte) 0x57, + (byte) 0x27, (byte) 0x57, (byte) 0x28, (byte) 0x57, + (byte) 0x29, (byte) 0x57, (byte) 0x2a, (byte) 0x57, + (byte) 0x2b, (byte) 0x57, (byte) 0x2c, (byte) 0x57, + (byte) 0x2d, (byte) 0x57, (byte) 0x2e, (byte) 0x57, + (byte) 0x2f, (byte) 0x57, (byte) 0x30, (byte) 0x57, + (byte) 0x31, (byte) 0x57, (byte) 0x32, (byte) 0x57, + (byte) 0x33, (byte) 0x57, (byte) 0x34, (byte) 0x57, + (byte) 0x35, (byte) 0x57, (byte) 0x36, (byte) 0x57, + (byte) 0x37, (byte) 0x57, (byte) 0x38, (byte) 0x57, + (byte) 0x39, (byte) 0x57, (byte) 0x3a, (byte) 0x57, + (byte) 0x3b, (byte) 0x57, (byte) 0x3c, (byte) 0x57, + (byte) 0x3d, (byte) 0x57, (byte) 0x3e, (byte) 0x57, + (byte) 0x3f, (byte) 0x57, (byte) 0x40, (byte) 0x57, + (byte) 0x41, (byte) 0x57, (byte) 0x42, (byte) 0x57, + (byte) 0x43, (byte) 0x57, (byte) 0x44, (byte) 0x57, + (byte) 0x45, (byte) 0x57, (byte) 0x46, (byte) 0x57, + (byte) 0x47, (byte) 0x57, (byte) 0x48, (byte) 0x57, + (byte) 0x49, (byte) 0x57, (byte) 0x4a, (byte) 0x57, + (byte) 0x4b, (byte) 0x57, (byte) 0x4c, (byte) 0x57, + (byte) 0x4d, (byte) 0x57, (byte) 0x4e, (byte) 0x57, + (byte) 0x4f, (byte) 0x57, (byte) 0x50, (byte) 0x57, + (byte) 0x51, (byte) 0x57, (byte) 0x52, (byte) 0x57, + (byte) 0x53, (byte) 0x57, (byte) 0x54, (byte) 0x57, + (byte) 0x55, (byte) 0x57, (byte) 0x56, (byte) 0x57, + (byte) 0x57, (byte) 0x57, (byte) 0x58, (byte) 0x57, + (byte) 0x59, (byte) 0x57, (byte) 0x5a, (byte) 0x57, + (byte) 0x5b, (byte) 0x57, (byte) 0x5c, (byte) 0x57, + (byte) 0x5d, (byte) 0x57, (byte) 0x5e, (byte) 0x57, + (byte) 0x5f, (byte) 0x57, (byte) 0x60, (byte) 0x57, + (byte) 0x61, (byte) 0x57, (byte) 0x62, (byte) 0x57, + (byte) 0x63, (byte) 0x57, (byte) 0x64, (byte) 0x59, + (byte) 0x49, (byte) 0x59, (byte) 0x4a, (byte) 0x59, + (byte) 0x4b, (byte) 0x59, (byte) 0x4c, (byte) 0x59, + (byte) 0x4d, (byte) 0x59, (byte) 0x4e, (byte) 0x59, + (byte) 0x4f, (byte) 0x59, (byte) 0x50, (byte) 0x59, + (byte) 0x51, (byte) 0x59, (byte) 0x52, (byte) 0x59, + (byte) 0x53, (byte) 0x59, (byte) 0x54, (byte) 0x59, + (byte) 0x55, (byte) 0x59, (byte) 0x56, (byte) 0x59, + (byte) 0x57, (byte) 0x59, (byte) 0x58, (byte) 0x59, + (byte) 0x59, (byte) 0x59, (byte) 0x5a, (byte) 0x59, + (byte) 0x5b, (byte) 0x59, (byte) 0x5c, (byte) 0x59, + (byte) 0x5d, (byte) 0x59, (byte) 0x5e, (byte) 0x59, + (byte) 0x5f, (byte) 0x59, (byte) 0x60, (byte) 0x59, + (byte) 0x61, (byte) 0x59, (byte) 0x62, (byte) 0x59, + (byte) 0x63, (byte) 0x59, (byte) 0x64, (byte) 0x59, + (byte) 0x65, (byte) 0x59, (byte) 0x66, (byte) 0x59, + (byte) 0x67, (byte) 0x59, (byte) 0x68, (byte) 0x59, + (byte) 0x69, (byte) 0x59, (byte) 0x6a, (byte) 0x59, + (byte) 0x6b, (byte) 0x59, (byte) 0x6c, (byte) 0x59, + (byte) 0x6d, (byte) 0x59, (byte) 0x6e, (byte) 0x59, + (byte) 0x6f, (byte) 0x59, (byte) 0x70, (byte) 0x59, + (byte) 0x71, (byte) 0x59, (byte) 0x72, (byte) 0x59, + (byte) 0x73, (byte) 0x59, (byte) 0x74, (byte) 0x59, + (byte) 0x75, (byte) 0x59, (byte) 0x76, (byte) 0x59, + (byte) 0x77, (byte) 0x59, (byte) 0x78, (byte) 0x59, + (byte) 0x79, (byte) 0x59, (byte) 0x7a, (byte) 0x59, + (byte) 0x7b, (byte) 0x59, (byte) 0x7c, (byte) 0x59, + (byte) 0x7d, (byte) 0x59, (byte) 0x7e, (byte) 0x5a, + (byte) 0x21, (byte) 0x5a, (byte) 0x22, (byte) 0x5a, + (byte) 0x23, (byte) 0x5a, (byte) 0x24, (byte) 0x5a, + (byte) 0x25, (byte) 0x5a, (byte) 0x26, (byte) 0x5a, + (byte) 0x27, (byte) 0x5a, (byte) 0x28, (byte) 0x5a, + (byte) 0x29, (byte) 0x5a, (byte) 0x2a, (byte) 0x5a, + (byte) 0x2b, (byte) 0x5a, (byte) 0x2c, (byte) 0x5a, + (byte) 0x2d, (byte) 0x5a, (byte) 0x2e, (byte) 0x5a, + (byte) 0x2f, (byte) 0x5a, (byte) 0x30, (byte) 0x5a, + (byte) 0x31, (byte) 0x5a, (byte) 0x32, (byte) 0x5a, + (byte) 0x33, (byte) 0x5a, (byte) 0x34, (byte) 0x5a, + (byte) 0x35, (byte) 0x5a, (byte) 0x36, (byte) 0x5a, + (byte) 0x37, (byte) 0x5a, (byte) 0x38, (byte) 0x5a, + (byte) 0x39, (byte) 0x5a, (byte) 0x3a, (byte) 0x5a, + (byte) 0x3b, (byte) 0x5a, (byte) 0x3c, (byte) 0x5a, + (byte) 0x3d, (byte) 0x5a, (byte) 0x3e, (byte) 0x5a, + (byte) 0x3f, (byte) 0x5a, (byte) 0x40, (byte) 0x5a, + (byte) 0x41, (byte) 0x5a, (byte) 0x42, (byte) 0x5b, + (byte) 0x35, (byte) 0x5b, (byte) 0x36, (byte) 0x5b, + (byte) 0x37, (byte) 0x5b, (byte) 0x38, (byte) 0x5b, + (byte) 0x39, (byte) 0x5b, (byte) 0x3a, (byte) 0x5b, + (byte) 0x3b, (byte) 0x5b, (byte) 0x3c, (byte) 0x5b, + (byte) 0x3d, (byte) 0x5b, (byte) 0x3e, (byte) 0x5b, + (byte) 0x3f, (byte) 0x5b, (byte) 0x40, (byte) 0x5b, + (byte) 0x41, (byte) 0x5b, (byte) 0x42, (byte) 0x5b, + (byte) 0x43, (byte) 0x5b, (byte) 0x44, (byte) 0x5b, + (byte) 0x45, (byte) 0x5b, (byte) 0x46, (byte) 0x5b, + (byte) 0x47, (byte) 0x5b, (byte) 0x48, (byte) 0x5b, + (byte) 0x49, (byte) 0x5b, (byte) 0x4a, (byte) 0x5b, + (byte) 0x4b, (byte) 0x5b, (byte) 0x4c, (byte) 0x5b, + (byte) 0x4d, (byte) 0x5b, (byte) 0x4e, (byte) 0x5b, + (byte) 0x4f, (byte) 0x5b, (byte) 0x50, (byte) 0x5b, + (byte) 0x51, (byte) 0x5b, (byte) 0x52, (byte) 0x5b, + (byte) 0x53, (byte) 0x5b, (byte) 0x54, (byte) 0x5b, + (byte) 0x55, (byte) 0x5b, (byte) 0x56, (byte) 0x5b, + (byte) 0x57, (byte) 0x5b, (byte) 0x58, (byte) 0x5b, + (byte) 0x59, (byte) 0x5b, (byte) 0x5a, (byte) 0x5b, + (byte) 0x5b, (byte) 0x5b, (byte) 0x5c, (byte) 0x5b, + (byte) 0x5d, (byte) 0x5b, (byte) 0x5e, (byte) 0x5b, + (byte) 0x5f, (byte) 0x5b, (byte) 0x60, (byte) 0x5b, + (byte) 0x61, (byte) 0x5b, (byte) 0x62, (byte) 0x5b, + (byte) 0x63, (byte) 0x5b, (byte) 0x64, (byte) 0x5b, + (byte) 0x65, (byte) 0x5b, (byte) 0x66, (byte) 0x5b, + (byte) 0x67, (byte) 0x5b, (byte) 0x68, (byte) 0x5b, + (byte) 0x69, (byte) 0x5b, (byte) 0x6a, (byte) 0x5b, + (byte) 0x6b, (byte) 0x5b, (byte) 0x6c, (byte) 0x5b, + (byte) 0x6d, (byte) 0x5b, (byte) 0x6e, (byte) 0x5b, + (byte) 0x6f, (byte) 0x5b, (byte) 0x70, (byte) 0x5b, + (byte) 0x71, (byte) 0x5b, (byte) 0x72, (byte) 0x5b, + (byte) 0x73, (byte) 0x5b, (byte) 0x74, (byte) 0x5b, + (byte) 0x75, (byte) 0x5b, (byte) 0x76, (byte) 0x5b, + (byte) 0x77, (byte) 0x5b, (byte) 0x78, (byte) 0x5b, + (byte) 0x79, (byte) 0x5b, (byte) 0x7a, (byte) 0x5b, + (byte) 0x7b, (byte) 0x5b, (byte) 0x7c, (byte) 0x5b, + (byte) 0x7d, (byte) 0x5b, (byte) 0x7e, (byte) 0x5c, + (byte) 0x21, (byte) 0x5c, (byte) 0x22, (byte) 0x5c, + (byte) 0x23, (byte) 0x5c, (byte) 0x24, (byte) 0x5c, + (byte) 0x25, (byte) 0x5c, (byte) 0x26, (byte) 0x5c, + (byte) 0x27, (byte) 0x5c, (byte) 0x28, (byte) 0x5c, + (byte) 0x29, (byte) 0x5c, (byte) 0x2a, (byte) 0x5c, + (byte) 0x2b, (byte) 0x5c, (byte) 0x2c, (byte) 0x5c, + (byte) 0x2d, (byte) 0x5c, (byte) 0x2e, (byte) 0x5c, + (byte) 0x2f, (byte) 0x5c, (byte) 0x30, (byte) 0x5c, + (byte) 0x31, (byte) 0x5c, (byte) 0x32, (byte) 0x5c, + (byte) 0x33, (byte) 0x5c, (byte) 0x34, (byte) 0x5c, + (byte) 0x35, (byte) 0x5c, (byte) 0x36, (byte) 0x5d, + (byte) 0x79, (byte) 0x5d, (byte) 0x7a, (byte) 0x5d, + (byte) 0x7b, (byte) 0x5d, (byte) 0x7c, (byte) 0x5d, + (byte) 0x7d, (byte) 0x5d, (byte) 0x7e, (byte) 0x5e, + (byte) 0x21, (byte) 0x5e, (byte) 0x22, (byte) 0x5e, + (byte) 0x23, (byte) 0x5e, (byte) 0x24, (byte) 0x5e, + (byte) 0x25, (byte) 0x5e, (byte) 0x26, (byte) 0x5e, + (byte) 0x27, (byte) 0x5e, (byte) 0x28, (byte) 0x5e, + (byte) 0x29, (byte) 0x5e, (byte) 0x2a, (byte) 0x5e, + (byte) 0x2b, (byte) 0x5e, (byte) 0x2c, (byte) 0x5e, + (byte) 0x2d, (byte) 0x5e, (byte) 0x2e, (byte) 0x5e, + (byte) 0x2f, (byte) 0x5e, (byte) 0x30, (byte) 0x5e, + (byte) 0x31, (byte) 0x5e, (byte) 0x32, (byte) 0x5e, + (byte) 0x33, (byte) 0x5e, (byte) 0x34, (byte) 0x5e, + (byte) 0x35, (byte) 0x5e, (byte) 0x36, (byte) 0x5e, + (byte) 0x37, (byte) 0x5e, (byte) 0x38, (byte) 0x5e, + (byte) 0x39, (byte) 0x5e, (byte) 0x3a, (byte) 0x5e, + (byte) 0x3b, (byte) 0x5e, (byte) 0x3c, (byte) 0x5e, + (byte) 0x3d, (byte) 0x5e, (byte) 0x3e, (byte) 0x5e, + (byte) 0x3f, (byte) 0x5e, (byte) 0x40, (byte) 0x5e, + (byte) 0x41, (byte) 0x5e, (byte) 0x42, (byte) 0x5e, + (byte) 0x43, (byte) 0x5e, (byte) 0x44, (byte) 0x5e, + (byte) 0x45, (byte) 0x5e, (byte) 0x46, (byte) 0x5e, + (byte) 0x47, (byte) 0x5e, (byte) 0x48, (byte) 0x5e, + (byte) 0x49, (byte) 0x5e, (byte) 0x4a, (byte) 0x60, + (byte) 0x30, (byte) 0x60, (byte) 0x31, (byte) 0x60, + (byte) 0x32, (byte) 0x60, (byte) 0x33, (byte) 0x60, + (byte) 0x34, (byte) 0x60, (byte) 0x35, (byte) 0x60, + (byte) 0x36, (byte) 0x60, (byte) 0x37, (byte) 0x60, + (byte) 0x38, (byte) 0x60, (byte) 0x39, (byte) 0x60, + (byte) 0x3a, (byte) 0x60, (byte) 0x3b, (byte) 0x60, + (byte) 0x3c, (byte) 0x60, (byte) 0x3d, (byte) 0x60, + (byte) 0x3e, (byte) 0x60, (byte) 0x3f, (byte) 0x73, + (byte) 0x26, (byte) 0x73, (byte) 0x27, (byte) 0x73, + (byte) 0x28, (byte) 0x73, (byte) 0x29, (byte) 0x73, + (byte) 0x2a, (byte) 0x73, (byte) 0x2b, (byte) 0x73, + (byte) 0x2c, (byte) 0x73, (byte) 0x2d, (byte) 0x73, + (byte) 0x2e, (byte) 0x73, (byte) 0x2f, (byte) 0x73, + (byte) 0x30, (byte) 0x73, (byte) 0x31, (byte) 0x73, + (byte) 0x32, (byte) 0x73, (byte) 0x33, (byte) 0x73, + (byte) 0x34, (byte) 0x73, (byte) 0x35, (byte) 0x73, + (byte) 0x36, (byte) 0x73, (byte) 0x37, (byte) 0x73, + (byte) 0x38, (byte) 0x73, (byte) 0x39, (byte) 0x73, + (byte) 0x3a, (byte) 0x73, (byte) 0x3b, (byte) 0x73, + (byte) 0x3c, (byte) 0x73, (byte) 0x3d, (byte) 0x73, + (byte) 0x3e, (byte) 0x73, (byte) 0x3f, (byte) 0x73, + (byte) 0x40, (byte) 0x73, (byte) 0x41, (byte) 0x73, + (byte) 0x42, (byte) 0x73, (byte) 0x43, (byte) 0x73, + (byte) 0x44, (byte) 0x73, (byte) 0x45, (byte) 0x73, + (byte) 0x46, (byte) 0x73, (byte) 0x47, (byte) 0x73, + (byte) 0x48, (byte) 0x73, (byte) 0x49, (byte) 0x73, + (byte) 0x4a, (byte) 0x73, (byte) 0x4b, (byte) 0x73, + (byte) 0x4c, (byte) 0x73, (byte) 0x4d, (byte) 0x73, + (byte) 0x4e, (byte) 0x73, (byte) 0x4f, (byte) 0x73, + (byte) 0x50, (byte) 0x73, (byte) 0x51, (byte) 0x73, + (byte) 0x52, (byte) 0x73, (byte) 0x53, (byte) 0x73, + (byte) 0x54, (byte) 0x73, (byte) 0x55, (byte) 0x73, + (byte) 0x56, (byte) 0x73, (byte) 0x57, (byte) 0x73, + (byte) 0x58, (byte) 0x73, (byte) 0x59, (byte) 0x73, + (byte) 0x5a, (byte) 0x73, (byte) 0x5b, (byte) 0x73, + (byte) 0x5c, (byte) 0x73, (byte) 0x5d, (byte) 0x73, + (byte) 0x5e, (byte) 0x73, (byte) 0x5f, (byte) 0x73, + (byte) 0x60, (byte) 0x73, (byte) 0x61, (byte) 0x73, + (byte) 0x62, (byte) 0x73, (byte) 0x63, (byte) 0x73, + (byte) 0x64, (byte) 0x73, (byte) 0x65, (byte) 0x73, + (byte) 0x66, (byte) 0x73, (byte) 0x67, (byte) 0x73, + (byte) 0x68, (byte) 0x73, (byte) 0x69, (byte) 0x73, + (byte) 0x6a, (byte) 0x73, (byte) 0x6b, (byte) 0x73, + (byte) 0x6c, (byte) 0x73, (byte) 0x6d, (byte) 0x73, + (byte) 0x6e, (byte) 0x73, (byte) 0x6f, (byte) 0x73, + (byte) 0x70, (byte) 0x73, (byte) 0x71, (byte) 0x73, + (byte) 0x72, (byte) 0x73, (byte) 0x73, (byte) 0x73, + (byte) 0x74, (byte) 0x73, (byte) 0x75, (byte) 0x73, + (byte) 0x76, (byte) 0x73, (byte) 0x77, (byte) 0x73, + (byte) 0x78, (byte) 0x73, (byte) 0x79, (byte) 0x73, + (byte) 0x7a, (byte) 0x73, (byte) 0x7b, (byte) 0x73, + (byte) 0x7c, (byte) 0x73, (byte) 0x7d, (byte) 0x73, + (byte) 0x7e, (byte) 0x74, (byte) 0x21, (byte) 0x74, + (byte) 0x22, (byte) 0x74, (byte) 0x23, (byte) 0x74, + (byte) 0x24, (byte) 0x74, (byte) 0x25, (byte) 0x74, + (byte) 0x26, (byte) 0x1b, (byte) 0x28, (byte) 0x49, + (byte) 0x21, (byte) 0x22, (byte) 0x23, (byte) 0x24, + (byte) 0x25, (byte) 0x26, (byte) 0x27, (byte) 0x28, + (byte) 0x29, (byte) 0x2a, (byte) 0x2b, (byte) 0x2c, + (byte) 0x2d, (byte) 0x2e, (byte) 0x2f, (byte) 0x30, + (byte) 0x31, (byte) 0x32, (byte) 0x33, (byte) 0x34, + (byte) 0x35, (byte) 0x36, (byte) 0x37, (byte) 0x38, + (byte) 0x39, (byte) 0x3a, (byte) 0x3b, (byte) 0x3c, + (byte) 0x3d, (byte) 0x3e, (byte) 0x3f, (byte) 0x40, + (byte) 0x41, (byte) 0x42, (byte) 0x43, (byte) 0x44, + (byte) 0x45, (byte) 0x46, (byte) 0x47, (byte) 0x48, + (byte) 0x49, (byte) 0x4a, (byte) 0x4b, (byte) 0x4c, + (byte) 0x4d, (byte) 0x4e, (byte) 0x4f, (byte) 0x50, + (byte) 0x51, (byte) 0x52, (byte) 0x53, (byte) 0x54, + (byte) 0x55, (byte) 0x56, (byte) 0x57, (byte) 0x58, + (byte) 0x59, (byte) 0x5a, (byte) 0x5b, (byte) 0x5c, + (byte) 0x5d, (byte) 0x5e, (byte) 0x5f, (byte) 0x1b, + (byte) 0x28, (byte) 0x42 }; + + private final static String MIXEDCONTENT = + "JA\u3000\u3002\u0062\uFF64PAN" + + "\uFF0C\uFF0E\u00A5\uFF65\uFF66X\u203E" + + "\u30FB\uFF67\u203E"; + + static byte[] mixedBytesExpected = { + (byte) 0x4a, (byte) 0x41, (byte) 0x1b, (byte) 0x24, + (byte) 0x42, (byte) 0x21, (byte) 0x21, (byte) 0x21, + (byte) 0x23, (byte) 0x1b, (byte) 0x28, (byte) 0x42, + (byte) 0x62, (byte) 0x1b, (byte) 0x28, (byte) 0x49, + (byte) 0x24, (byte) 0x1b, (byte) 0x28, (byte) 0x42, + (byte) 0x50, (byte) 0x41, (byte) 0x4e, (byte) 0x1b, + (byte) 0x24, (byte) 0x42, (byte) 0x21, (byte) 0x24, + (byte) 0x21, (byte) 0x25, (byte) 0x1b, (byte) 0x28, + (byte) 0x4a, (byte) 0x5c, (byte) 0x1b, (byte) 0x28, + (byte) 0x49, (byte) 0x25, (byte) 0x26, (byte) 0x1b, + (byte) 0x28, (byte) 0x42, (byte) 0x58, (byte) 0x1b, + (byte) 0x28, (byte) 0x4a, (byte) 0x7e, (byte) 0x1b, + (byte) 0x24, (byte) 0x42, (byte) 0x21, (byte) 0x26, + (byte) 0x1b, (byte) 0x28, (byte) 0x49, (byte) 0x27, + (byte) 0x1b, (byte) 0x28, (byte) 0x4a, (byte) 0x7e, + (byte) 0x1b, (byte) 0x28, (byte) 0x42 }; + + static byte[] repeatingEscapes = { + (byte) 0x4a, (byte) 0x41, (byte) 0x1b, (byte) 0x24, + (byte) 0x42, (byte)0x1b, (byte)0x24, (byte)0x42, + (byte) 0x21, (byte) 0x21, (byte) 0x21, + (byte) 0x23, (byte) 0x1b, (byte) 0x28, (byte) 0x42, + // embedded repeated iso-2022 escapes (see bugID 4879522) + (byte)0x1b, (byte)0x28, (byte)0x42, + (byte) 0x62, (byte) 0x1b, (byte) 0x28, (byte) 0x49, + (byte)0x0f, (byte)0x0e, (byte)0x0f, + (byte)0x1b, (byte)0x28, (byte)0x49, + (byte) 0x24, (byte) 0x1b, (byte) 0x28, (byte) 0x42, + (byte) 0x50, (byte) 0x41, (byte) 0x4e, + // embedded shift chars (see bugID 4879522) + (byte)0x0e, (byte)0x0f, + (byte) 0x1b, + (byte) 0x24, (byte) 0x42, (byte) 0x21, (byte) 0x24, + (byte) 0x21, (byte) 0x25, (byte) 0x1b, (byte) 0x28, + (byte) 0x4a, (byte) 0x5c, (byte) 0x1b, (byte) 0x28, + (byte) 0x49, (byte) 0x25, (byte) 0x26, (byte) 0x1b, + (byte) 0x28, (byte) 0x42, (byte) 0x58, (byte) 0x1b, + (byte) 0x28, (byte) 0x4a, (byte) 0x7e, (byte) 0x1b, + (byte) 0x24, (byte) 0x42, (byte) 0x21, (byte) 0x26, + (byte) 0x1b, (byte) 0x28, (byte) 0x49, (byte) 0x27, + (byte) 0x1b, (byte) 0x28, (byte) 0x4a, (byte) 0x7e, + (byte) 0x1b, (byte) 0x28, (byte) 0x42 }; + + + private static String JISX0212 = + "\u02d8\u6896\u9fa5"; + + private static byte[] expectedBytes_JISX0212 = { + (byte)0x1b, (byte)0x24, (byte)0x28, (byte)0x44, + (byte)0x22, (byte)0x2f, (byte)0x43, (byte)0x6f, + (byte)0x6d, (byte)0x63, + (byte)0x1b, (byte)0x28, (byte)0x42 + }; + + /* + * Tests the roundtrip integrity and expected encoding + * correctness for a String containing a substantial + * subset of ISO-2022-JP/ISO-2022-JP-2 encodeable chars + */ + + private static void roundTrip(String testStr, byte[] expectBytes, + String csName) + throws Exception { + byte[] encodedBytes = testStr.getBytes(csName); + + if (encodedBytes.length != expectBytes.length) { + throw new Exception(csName + " Encoder error"); + } + + for (int i = 0; i < expectBytes.length; i++) { + if (encodedBytes[i] != expectBytes[i]) { + throw new Exception(csName + " Encoder error"); + } + } + String decoded = new String(encodedBytes, csName); + + if (!decoded.equals(testStr)) { + throw new Exception(csName + " Decoder error"); + } + String decoded2 = new String(repeatingEscapes, csName); + if (!decoded2.equals(MIXEDCONTENT)) { + throw new Exception(csName + " Decoder error"); + } + } + + public static void main(String[] args) throws Exception { + + // Long String containing sequential chars + // ASCII/yen/tilde/jisx0208 chars/katakana chars + + String testStr1 = US_ASCII + + JISX0208SUBSET + JISX0202KATAKANA; + roundTrip(testStr1, expectedBytes1, "ISO-2022-JP"); + roundTrip(testStr1, expectedBytes1, "ISO-2022-JP-2"); + roundTrip(JISX0212, expectedBytes_JISX0212, "ISO-2022-JP-2"); + + // mixed chars which encode to the supported codesets + // of ISO-2022-JP/ISO-2022-JP-2 + + String testStr2 = MIXEDCONTENT; + roundTrip(testStr2 , mixedBytesExpected, "ISO-2022-JP"); + roundTrip(testStr2 , mixedBytesExpected, "ISO-2022-JP-2"); + + String decoded2 = new String(repeatingEscapes, "ISO-2022-JP"); + if (!decoded2.equals(MIXEDCONTENT)) { + throw new Exception("ISO-2022-JP Decoder error"); + } + + decoded2 = new String(repeatingEscapes, "ISO-2022-JP-2"); + if (!decoded2.equals(MIXEDCONTENT)) { + throw new Exception("ISO-2022-JP-2 Decoder error"); + } + + // Test for bugID 4913711 + // ISO-2022-JP encoding of a single input char yields + // 8 output bytes. Prior to fix for 4913711 the + // max bytes per char value was underspecified as 5.0 + // and the code below would have thrown a BufferOverflow + // exception. This test validates the fix for 4913711 + + String testStr3 = "\u3042"; + byte[] expected = { (byte)0x1b, (byte)0x24, (byte)0x42, + (byte)0x24, (byte)0x22, (byte)0x1b, + (byte)0x28, (byte)0x42 }; + byte[] encoded = testStr3.getBytes("ISO-2022-JP"); + for (int i = 0; i < expected.length; i++) { + if (encoded[i] != expected[i]) + throw new Exception("ISO-2022-JP Decoder error"); + } + } +} diff --git a/test/sun/nio/cs/TestISO2022JPEncoder.java b/test/sun/nio/cs/TestISO2022JPEncoder.java new file mode 100644 index 000000000..ec2cbff0b --- /dev/null +++ b/test/sun/nio/cs/TestISO2022JPEncoder.java @@ -0,0 +1,73 @@ +/* + * Copyright 2008 Sun Microsystems, Inc. All Rights Reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, + * CA 95054 USA or visit www.sun.com if you need additional information or + * have any questions. + */ + +/* @test + @bug 4251646 + @summary Make sure buffer boundary convert works + */ + +import java.nio.*; +import java.nio.charset.*; + +public class TestISO2022JPEncoder { + static char[] inputChars = {'\u0020', '\u0020', '\u0020', '\u0020', + '\u0020', '\u0020', '\u0020', '\u0020', + '\u0020', '\u4e00'}; + static byte[] expectedBytes1 = {0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20}; + static byte[] expectedBytes2 = {0x1b, 0x24, 0x42, 0x30, 0x6c, + 0x1b, 0x28, 0x42}; + static byte[] outputBuff = new byte[10]; + + public static void main(String args[]) throws Exception { + CharsetEncoder enc = Charset.forName("ISO2022JP").newEncoder(); + CharBuffer cb = CharBuffer.wrap(inputChars); + ByteBuffer bb = ByteBuffer.wrap(outputBuff); + CoderResult cr = enc.encode(cb, bb, false); + if (!cr.isOverflow()) + throw new Exception("Expected CodeResult.OVERFLOW was not returned"); + for (int i = 0; i < expectedBytes1.length; ++i) { + //System.out.println(expectedBytes1[i] + ":" + outputBuff[i]); + if (expectedBytes1[i] != outputBuff[i]) { + throw new Exception("Output bytes does not match at first conversion"); + } + } + int nci = cb.position(); + if (nci != expectedBytes1.length) + throw new Exception("Output length does not match at first conversion"); + bb.clear(); + cr = enc.encode(cb, bb, true); + enc.flush(bb); + //System.out.println(ret + "," + expectedBytes2.length); + bb.flip(); + int len = bb.remaining(); + if (len != expectedBytes2.length) + throw new Exception("Output length does not match at second conversion"); + for (int i = 0; i < expectedBytes2.length; ++i) { + //System.out.println(expectedBytes2[i] + ":" + outputBuff[i]); + if (expectedBytes2[i] != outputBuff[i]) { + throw new Exception("Output bytes does not match at second conversion"); + } + } + } +} diff --git a/test/sun/nio/cs/TestISO2022JPSubBytes.java b/test/sun/nio/cs/TestISO2022JPSubBytes.java new file mode 100644 index 000000000..7dc38522f --- /dev/null +++ b/test/sun/nio/cs/TestISO2022JPSubBytes.java @@ -0,0 +1,101 @@ +/* + * Copyright 2008 Sun Microsystems, Inc. All Rights Reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, + * CA 95054 USA or visit www.sun.com if you need additional information or + * have any questions. + */ + +/* @test + @bug 4262894 6233303 + @summary Testing substitute character Escape sequence + */ + +import java.nio.*; +import java.nio.charset.*; + +public class TestISO2022JPSubBytes { + /* \U2460 is not valid character in ISO2022JP and will be substituted + * with replacement character. If the replacement character is not the + * "current charset" character, correct escape sequence should be output + * for changing character set. + */ + static char[][] in = { {'\u25cb', '\u2460', '\u25cb'}, + {'\u0061', '\u2460', '\u0061'}, + {'\u25cb', '\u2460', '\u25cb'}, + {'\u0061', '\u2460', '\u0061'}, + }; + static byte[][] expected = { {0x1b, 0x24, 0x42, 0x21, 0x7b, + 0x21, 0x29, + 0x21, 0x7b, + 0x1b, 0x28, 0x42}, + {0x61, + 0x1b, 0x24, 0x42, 0x21, 0x29, + 0x1b, 0x28, 0x42, 0x61}, + {0x1b, 0x24, 0x42, 0x21, 0x7b, + 0x1b, 0x28, 0x42, 0x3f, + 0x1b, 0x24, 0x42, 0x21, 0x7b, + 0x1b, 0x28, 0x42}, + {0x61, + 0x3f, + 0x61} + }; + + public static void main(String args[]) throws Exception { + CharsetEncoder enc = Charset.forName("ISO2022JP") + .newEncoder() + .onUnmappableCharacter(CodingErrorAction.REPLACE); + + test(enc, in[0], expected[0]); + + enc.reset(); + test(enc, in[1], expected[1]); + + enc.reset(); + enc.replaceWith(new byte[]{(byte)'?'}); + test(enc, in[2], expected[2]); + + enc.reset(); + test(enc, in[3], expected[3]); + } + + public static void test (CharsetEncoder enc, + char[] inputChars, + byte[] expectedBytes) throws Exception + { + ByteBuffer bb = ByteBuffer.allocate(expectedBytes.length); + enc.encode(CharBuffer.wrap(inputChars), bb, true); + enc.flush(bb); + bb.flip(); + byte[] outputBuff = bb.array(); + int outputLen = bb.limit(); + if (outputLen != expectedBytes.length) { + throw new Exception("Output bytes does not match"); + } + for (int i = 0; i < outputLen; ++i) { + System.out.printf("<%x:%x> ", + expectedBytes[i] & 0xff, + outputBuff[i] & 0xff); + if (expectedBytes[i] != outputBuff[i]) { + System.out.println("..."); + throw new Exception("Output bytes does not match"); + } + } + System.out.println(); + } +} diff --git a/test/sun/nio/cs/TestIllegalISO2022Esc.java b/test/sun/nio/cs/TestIllegalISO2022Esc.java new file mode 100644 index 000000000..696177fa4 --- /dev/null +++ b/test/sun/nio/cs/TestIllegalISO2022Esc.java @@ -0,0 +1,60 @@ +/* + * Copyright 2008 Sun Microsystems, Inc. All Rights Reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, + * CA 95054 USA or visit www.sun.com if you need additional information or + * have any questions. + */ + +/* @test + @bug 4429369 + @summary ISO2022CN and ISO2022KR converters throw exception + */ + +import java.io.*; +import java.nio.charset.*; + +public class TestIllegalISO2022Esc { + + public static void main ( String[] args) throws Exception { + int exceptionCount = 0; + String[] encName = {"ISO2022CN", "ISO2022KR" }; + byte[]b= { + (byte)0x1b, //Illegal sequence for both converters. + (byte)')', + (byte)'x' + }; + + for ( int i=0; i < 2; i++) { // Test 2 converters. + try { + ByteArrayInputStream bais = new ByteArrayInputStream(b); + InputStreamReader isr = + new InputStreamReader(bais,encName[i]); + char cc[] = new char[1]; + isr.read(cc,0,1); //attempt to read + } catch (MalformedInputException e) { } // Passes if thrown + catch (Throwable t) { + System.err.println("error with converter " + encName[i]); + exceptionCount++; + } + } + + if (exceptionCount > 0) + throw new Exception ("Incorrect handling of illegal ISO2022 escapes"); + } +} diff --git a/test/sun/nio/cs/TestIllegalSJIS.java b/test/sun/nio/cs/TestIllegalSJIS.java new file mode 100644 index 000000000..e5562bbfb --- /dev/null +++ b/test/sun/nio/cs/TestIllegalSJIS.java @@ -0,0 +1,50 @@ +/* + * Copyright 2008 Sun Microsystems, Inc. All Rights Reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, + * CA 95054 USA or visit www.sun.com if you need additional information or + * have any questions. + */ + +/* @test + @bug 4117820 + @summary Verify that SJIS.Decoder works properly for values between 0xA000 and 0xA0FC + */ + +import java.nio.charset.*; +import java.nio.*; + +public class TestIllegalSJIS { + + public static void main(String[] args) throws Exception + { + CharsetDecoder dec = Charset.forName("SJIS").newDecoder() + .onUnmappableCharacter(CodingErrorAction.REPLACE) + .onMalformedInput(CodingErrorAction.REPLACE); + byte[] sjis = {(byte)0xA0, (byte)0x00}; + + int b; + for (b = 0; b < 0xFD; b++) { + sjis[1] = (byte) b; + CharBuffer cb = dec.decode(ByteBuffer.wrap(sjis)); + if (cb.charAt(0) != 0xFFFD) { + throw new Exception(Integer.toHexString(0xa000 + b) + " failed to convert to 0xFFFD"); + } + } + } +} diff --git a/test/sun/nio/cs/TestJIS0208Decoder.java b/test/sun/nio/cs/TestJIS0208Decoder.java new file mode 100644 index 000000000..e0bacd874 --- /dev/null +++ b/test/sun/nio/cs/TestJIS0208Decoder.java @@ -0,0 +1,61 @@ +/* + * Copyright 2008 Sun Microsystems, Inc. All Rights Reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, + * CA 95054 USA or visit www.sun.com if you need additional information or + * have any questions. + */ + +/* + * @test + * @bug 4179800 + * @summary Make sure JIS0208.Decoder really works + */ + +import java.nio.*; +import java.nio.charset.*; + +public class TestJIS0208Decoder { + static String outputString = "\u65e5\u672c\u8a9e\u30c6\u30ad\u30b9\u30c8"; + static byte [] inputBytes = new byte[] {(byte)'F', (byte)'|', (byte)'K', (byte)'\\', + (byte)'8', (byte)'l', (byte)'%', (byte)'F', + (byte)'%', (byte)'-', (byte)'%', (byte)'9', + (byte)'%', (byte)'H'}; + + public static void main(String args[]) + throws Exception + { + test(); + } + + private static void test() + throws Exception + { + CharsetDecoder dec = Charset.forName("JIS0208").newDecoder(); + try { + String ret = dec.decode(ByteBuffer.wrap(inputBytes)).toString(); + if (ret.length() != outputString.length() + || ! outputString.equals(ret)){ + throw new Exception("ByteToCharJIS0208 does not work correctly"); + } + } + catch (Exception e){ + throw new Exception("ByteToCharJIS0208 does not work correctly"); + } + } +} diff --git a/test/sun/nio/cs/TestJIS0212Decoder.java b/test/sun/nio/cs/TestJIS0212Decoder.java new file mode 100644 index 000000000..568361619 --- /dev/null +++ b/test/sun/nio/cs/TestJIS0212Decoder.java @@ -0,0 +1,62 @@ +/* + * Copyright 2008 Sun Microsystems, Inc. All Rights Reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, + * CA 95054 USA or visit www.sun.com if you need additional information or + * have any questions. + */ + +/* + * @test + @bug 4179800 + @summary Make sure JIS0212.Decoder really works + */ + +import java.nio.*; +import java.nio.charset.*; + +public class TestJIS0212Decoder { + static String outputString = "\u4e02\u4e04\u4e05\u4e0c\u4e12\u4e1f\u4e23"; + static char [] outputChars = new char[8]; + static byte [] inputBytes = new byte[] {(byte)0x30, (byte)0x21, (byte)0x30, (byte)0x22, + (byte)0x30, (byte)0x23, (byte)0x30, (byte)0x24, + (byte)0x30, (byte)0x25, (byte)0x30, (byte)0x26, + (byte)0x30, (byte)0x27}; + + public static void main(String args[]) + throws Exception + { + test(); + } + + private static void test() + throws Exception + { + CharsetDecoder dec = Charset.forName("JIS0212").newDecoder(); + try { + String ret = dec.decode(ByteBuffer.wrap(inputBytes)).toString(); + if (ret.length() != outputString.length() + || ! outputString.equals(ret)){ + throw new Exception("ByteToCharJIS0212 does not work correctly"); + } + } + catch (Exception e){ + throw new Exception("ByteToCharJIS0212 does not work correctly"); + } + } +} diff --git a/test/sun/nio/cs/TestMS5022X.java b/test/sun/nio/cs/TestMS5022X.java new file mode 100644 index 000000000..e98e3d0df --- /dev/null +++ b/test/sun/nio/cs/TestMS5022X.java @@ -0,0 +1,750 @@ +/* + * Copyright 2008 Sun Microsystems, Inc. All Rights Reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, + * CA 95054 USA or visit www.sun.com if you need additional information or + * have any questions. + */ + +/* @test + @bug 6173388 6319716 + @summary Check full coverage encode/decode for Microsoft + ISO2022_JP variants MS50220, MS50221 and MSISO2022JP + */ + +import java.io.*; +import java.nio.charset.*; +public class TestMS5022X { + + private static String US_ASCII = + "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007" + + "\b\t\n\u000B\f\r" + + "\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017" + + "\u0018\u0019\u001A\u001C\u001D\u001E\u001F" + + "\u0020\u0021\"\u0023\u0024\u0025\u0026\'" + + "\u0028\u0029\u002A\u002B\u002C\u002D\u002E\u002F" + + "\u0030\u0031\u0032\u0033\u0034\u0035\u0036\u0037" + + "\u0038\u0039\u003A\u003B\u003C\u003D\u003E\u003F" + + "\u0040\u0041\u0042\u0043\u0044\u0045\u0046\u0047" + + "\u0048\u0049\u004A\u004B\u004C\u004D\u004E\u004F" + + "\u0050\u0051\u0052\u0053\u0054\u0055\u0056\u0057" + + "\u0058\u0059\u005A\u005B\\\u005D\u005E\u005F" + + "\u0060\u0061\u0062\u0063\u0064\u0065\u0066\u0067" + + "\u0068\u0069\u006A\u006B\u006C\u006D\u006E\u006F" + + "\u0070\u0071\u0072\u0073\u0074\u0075\u0076\u0077" + + "\u0078\u0079\u007A\u007B\u007C\u007D\u007E\u00A5\u203E"; + + // Subset of chars sourced from JISX0208:1983 + + private static String JISX0208SUBSET = + "\u3000\u3001\u3002\uFF0C\uFF0E\u30FB\uFF1A" + + "\uFF1B\uFF1F\uFF01\u309B\u309C\u00B4\uFF40\u00A8" + + "\uFF3E\uFFE3\uFF3F\u30FD\u30FE\u309D\u309E\u3003" + + "\u4EDD\u3005\u3006\u3007\u30FC\u2015\u2010\uFF0F" + //u2014->u2015 + "\uFF3C\u301C\u2016\uFF5C\u2026\u2025\u2018\u2019" + + "\u5C05\u5C07\u5C08\u5C0D\u5C13\u5C20\u5C22\u5C28" + + "\u5C38\u5C39\u5C41\u5C46\u5C4E\u5C53\u5C50\u5C4F" + + "\u5B71\u5C6C\u5C6E\u4E62\u5C76\u5C79\u5C8C\u5C91" + + "\u5C94\u599B\u5CAB\u5CBB\u5CB6\u5CBC\u5CB7\u5CC5" + + "\u5CBE\u5CC7\u5CD9\u5CE9\u5CFD\u5CFA\u5CED\u5D8C" + + "\u5CEA\u5D0B\u5D15\u5D17\u5D5C\u5D1F\u5D1B\u5D11" + + "\u5D14\u5D22\u5D1A\u5D19\u5D18\u5D4C\u5D52\u5D4E" + + "\u5D4B\u5D6C\u5D73\u5D76\u5D87\u5D84\u5D82\u5DA2" + + "\u5D9D\u5DAC\u5DAE\u5DBD\u5D90\u5DB7\u5DBC\u5DC9" + + "\u5DCD\u5DD3\u5DD2\u5DD6\u5DDB\u5DEB\u5DF2\u5DF5" + + "\u5E0B\u5E1A\u5E19\u5E11\u5E1B\u5E36\u5E37\u5E44" + + "\u5E43\u5E40\u5E4E\u5E57\u5E54\u5E5F\u5E62\u5E64" + + "\u5E47\u5E75\u5E76\u5E7A\u9EBC\u5E7F\u5EA0\u5EC1" + + "\u5EC2\u5EC8\u5ED0\u5ECF\u5ED6\u5EE3\u5EDD\u5EDA" + + "\u5EDB\u5EE2\u5EE1\u5EE8\u5EE9\u5EEC\u5EF1\u5EF3" + + "\u5EF0\u5EF4\u5EF8\u5EFE\u5F03\u5F09\u5F5D\u5F5C" + + "\u5F0B\u5F11\u5F16\u5F29\u5F2D\u5F38\u5F41\u5F48" + + "\u5F4C\u5F4E\u5F2F\u5F51\u5F56\u5F57\u5F59\u5F61" + + "\u5F6D\u5F73\u5F77\u5F83\u5F82\u5F7F\u5F8A\u5F88" + + "\u5F91\u5F87\u5F9E\u5F99\u5F98\u5FA0\u5FA8\u5FAD" + + "\u5FBC\u5FD6\u5FFB\u5FE4\u5FF8\u5FF1\u5FDD\u60B3" + + "\u5FFF\u6021\u6060\u6019\u6010\u6029\u600E\u6031" + + "\u62EE\u62F1\u6327\u6302\u6308\u62EF\u62F5\u6350" + + "\u633E\u634D\u641C\u634F\u6396\u638E\u6380\u63AB" + + "\u6376\u63A3\u638F\u6389\u639F\u63B5\u636B\u6369" + + "\u63BE\u63E9\u63C0\u63C6\u63E3\u63C9\u63D2\u63F6" + + "\u63C4\u6416\u6434\u6406\u6413\u6426\u6436\u651D" + + "\u6417\u6428\u640F\u6467\u646F\u6476\u644E\u652A" + + "\u6495\u6493\u64A5\u64A9\u6488\u64BC\u64DA\u64D2" + + "\u64C5\u64C7\u64BB\u64D8\u64C2\u64F1\u64E7\u8209" + + "\u64E0\u64E1\u62AC\u64E3\u64EF\u652C\u64F6\u64F4" + + "\u64F2\u64FA\u6500\u64FD\u6518\u651C\u6505\u6524" + + "\u6523\u652B\u6534\u6535\u6537\u6536\u6538\u754B" + + "\u6741\u6738\u6737\u6746\u675E\u6760\u6759\u6763" + + "\u6764\u6789\u6770\u67A9\u677C\u676A\u678C\u678B" + + "\u67A6\u67A1\u6785\u67B7\u67EF\u67B4\u67EC\u67B3" + + "\u67E9\u67B8\u67E4\u67DE\u67DD\u67E2\u67EE\u67B9" + + "\u67CE\u67C6\u67E7\u6A9C\u681E\u6846\u6829\u6840" + + "\u684D\u6832\u684E\u68B3\u682B\u6859\u6863\u6877" + + "\u687F\u689F\u688F\u68AD\u6894\u689D\u689B\u6883" + + "\u6AAE\u68B9\u6874\u68B5\u68A0\u68BA\u690F\u688D" + + "\u687E\u6901\u68CA\u6908\u68D8\u6922\u6926\u68E1" + + "\u690C\u68CD\u68D4\u68E7\u68D5\u6936\u6912\u6904" + + "\u68D7\u68E3\u6925\u68F9\u68E0\u68EF\u6928\u692A" + + "\u691A\u6923\u6921\u68C6\u6979\u6977\u695C\u6978" + + "\u6CD7\u6CC5\u6CDD\u6CAE\u6CB1\u6CBE\u6CBA\u6CDB" + + "\u6CEF\u6CD9\u6CEA\u6D1F\u884D\u6D36\u6D2B\u6D3D" + + "\u6D38\u6D19\u6D35\u6D33\u6D12\u6D0C\u6D63\u6D93" + + "\u6D64\u6D5A\u6D79\u6D59\u6D8E\u6D95\u6FE4\u6D85" + + "\u6DF9\u6E15\u6E0A\u6DB5\u6DC7\u6DE6\u6DB8\u6DC6" + + "\u6DEC\u6DDE\u6DCC\u6DE8\u6DD2\u6DC5\u6DFA\u6DD9" + + "\u724B\u7258\u7274\u727E\u7282\u7281\u7287\u7292" + + "\u7296\u72A2\u72A7\u72B9\u72B2\u72C3\u72C6\u72C4" + + "\u9D59\u9D72\u9D89\u9D87\u9DAB\u9D6F\u9D7A\u9D9A" + + "\u9DA4\u9DA9\u9DB2\u9DC4\u9DC1\u9DBB\u9DB8\u9DBA" + + "\u9DC6\u9DCF\u9DC2\u9DD9\u9DD3\u9DF8\u9DE6\u9DED" + + "\u9DEF\u9DFD\u9E1A\u9E1B\u9E1E\u9E75\u9E79\u9E7D" + + "\u9E81\u9E88\u9E8B\u9E8C\u9E92\u9E95\u9E91\u9E9D" + + "\u9EA5\u9EA9\u9EB8\u9EAA\u9EAD\u9761\u9ECC\u9ECE" + + "\u9ECF\u9ED0\u9ED4\u9EDC\u9EDE\u9EDD\u9EE0\u9EE5" + + "\u9EE8\u9EEF\u9EF4\u9EF6\u9EF7\u9EF9\u9EFB\u9EFC" + + "\u9EFD\u9F07\u9F08\u76B7\u9F15\u9F21\u9F2C\u9F3E" + + "\u9F4A\u9F52\u9F54\u9F63\u9F5F\u9F60\u9F61\u9F66" + + "\u9F67\u9F6C\u9F6A\u9F77\u9F72\u9F76\u9F95\u9F9C" + + "\u9FA0\u582F\u69C7\u9059\u7464\u51DC\u7199"; + + private static String JISX0201KATAKANA = + "\uFF61\uFF62\uFF63\uFF64" + + "\uFF65\uFF66\uFF67\uFF68\uFF69\uFF6A\uFF6B\uFF6C" + + "\uFF6D\uFF6E\uFF6F\uFF70\uFF71\uFF72\uFF73\uFF74" + + "\uFF75\uFF76\uFF77\uFF78\uFF79\uFF7A\uFF7B\uFF7C" + + "\uFF7D\uFF7E\uFF7F\uFF80\uFF81\uFF82\uFF83\uFF84" + + "\uFF85\uFF86\uFF87\uFF88\uFF89\uFF8A\uFF8B\uFF8C" + + "\uFF8D\uFF8E\uFF8F\uFF90\uFF91\uFF92\uFF93\uFF94" + + "\uFF95\uFF96\uFF97\uFF98\uFF99\uFF9A\uFF9B\uFF9C" + + "\uFF9D\uFF9E\uFF9F"; + + private static String JISX0208NECROW13 = + "\u2460\u2461\u2462\u2463\u2464\u2465\u2466\u2467" + + "\u2468\u2469\u246A\u246B\u246C\u246D\u246E\u246F" + + "\u2470\u2471\u2472\u2473\u2160\u2161\u2162\u2163" + + "\u2164\u2165\u2166\u2167\u2168\u2169\u3349\u3314" + + "\u3322\u334D\u3318\u3327\u3303\u3336\u3351\u3357" + + "\u330D\u3326\u3323\u332B\u334A\u333B\u339C\u339D" + + "\u339E\u338E\u338F\u33C4\u33A1\u337B\u301E\u301F" + + "\u2116\u33CD\u2121\u32A4\u32A5\u32A6\u32A7\u32A8" + + "\u3231\u3232\u3239\u337E\u337D\u337C" + + "\u222e\u2211\u221f\u22bf"; + + private static byte[] expectedBytes_US_ASCII = { + (byte)0x0, (byte)0x1, (byte)0x2, (byte)0x3, + (byte)0x4, (byte)0x5, (byte)0x6, (byte)0x7, + (byte)0x8, (byte)0x9, (byte)0xa, (byte)0xb, + (byte)0xc, (byte)0xd, + (byte)0x10, (byte)0x11, (byte)0x12, (byte)0x13, + (byte)0x14, (byte)0x15, (byte)0x16, (byte)0x17, + (byte)0x18, (byte)0x19, (byte)0x1a, + (byte)0x1c, (byte)0x1d, (byte)0x1e, (byte)0x1f, + (byte)0x20, (byte)0x21, (byte)0x22, (byte)0x23, + (byte)0x24, (byte)0x25, (byte)0x26, (byte)0x27, + (byte)0x28, (byte)0x29, (byte)0x2a, (byte)0x2b, + (byte)0x2c, (byte)0x2d, (byte)0x2e, (byte)0x2f, + (byte)0x30, (byte)0x31, (byte)0x32, (byte)0x33, + (byte)0x34, (byte)0x35, (byte)0x36, (byte)0x37, + (byte)0x38, (byte)0x39, (byte)0x3a, (byte)0x3b, + (byte)0x3c, (byte)0x3d, (byte)0x3e, (byte)0x3f, + (byte)0x40, (byte)0x41, (byte)0x42, (byte)0x43, + (byte)0x44, (byte)0x45, (byte)0x46, (byte)0x47, + (byte)0x48, (byte)0x49, (byte)0x4a, (byte)0x4b, + (byte)0x4c, (byte)0x4d, (byte)0x4e, (byte)0x4f, + (byte)0x50, (byte)0x51, (byte)0x52, (byte)0x53, + (byte)0x54, (byte)0x55, (byte)0x56, (byte)0x57, + (byte)0x58, (byte)0x59, (byte)0x5a, (byte)0x5b, + (byte)0x5c, (byte)0x5d, (byte)0x5e, (byte)0x5f, + (byte)0x60, (byte)0x61, (byte)0x62, (byte)0x63, + (byte)0x64, (byte)0x65, (byte)0x66, (byte)0x67, + (byte)0x68, (byte)0x69, (byte)0x6a, (byte)0x6b, + (byte)0x6c, (byte)0x6d, (byte)0x6e, (byte)0x6f, + (byte)0x70, (byte)0x71, (byte)0x72, (byte)0x73, + (byte)0x74, (byte)0x75, (byte)0x76, (byte)0x77, + (byte)0x78, (byte)0x79, (byte)0x7a, (byte)0x7b, + (byte)0x7c, (byte)0x7d, (byte)0x7e, (byte)0x1b, + (byte)0x28, (byte)0x4a, (byte)0x5c, (byte)0x7e + }; + + private static byte[] expectedBytes_JISX0208SUBSET = + { + (byte)0x1b, (byte)0x24, (byte)0x42, (byte)0x21, + (byte)0x21, (byte)0x21, + (byte)0x22, (byte)0x21, (byte)0x23, (byte)0x21, + (byte)0x24, (byte)0x21, (byte)0x25, (byte)0x21, + (byte)0x26, (byte)0x21, (byte)0x27, (byte)0x21, + (byte)0x28, (byte)0x21, (byte)0x29, (byte)0x21, + (byte)0x2a, (byte)0x21, (byte)0x2b, (byte)0x21, + (byte)0x2c, (byte)0x21, (byte)0x2d, (byte)0x21, + (byte)0x2e, (byte)0x21, (byte)0x2f, (byte)0x21, + (byte)0x30, (byte)0x21, (byte)0x31, (byte)0x21, + (byte)0x32, (byte)0x21, (byte)0x33, (byte)0x21, + (byte)0x34, (byte)0x21, (byte)0x35, (byte)0x21, + (byte)0x36, (byte)0x21, (byte)0x37, (byte)0x21, + (byte)0x38, (byte)0x21, (byte)0x39, (byte)0x21, + (byte)0x3a, (byte)0x21, (byte)0x3b, (byte)0x21, + (byte)0x3c, (byte)0x21, (byte)0x3d, (byte)0x21, + (byte)0x3e, (byte)0x21, (byte)0x3f, (byte)0x21, + (byte)0x40, (byte)0x21, (byte)0x41, (byte)0x21, + (byte)0x42, (byte)0x21, (byte)0x43, (byte)0x21, + (byte)0x44, (byte)0x21, (byte)0x45, (byte)0x21, + (byte)0x46, (byte)0x21, (byte)0x47, (byte)0x55, + (byte)0x71, (byte)0x55, (byte)0x72, (byte)0x55, + (byte)0x73, (byte)0x55, (byte)0x74, (byte)0x55, + (byte)0x75, (byte)0x55, (byte)0x76, (byte)0x55, + (byte)0x77, (byte)0x55, (byte)0x78, (byte)0x55, + (byte)0x79, (byte)0x55, (byte)0x7a, (byte)0x55, + (byte)0x7b, (byte)0x55, (byte)0x7c, (byte)0x55, + (byte)0x7d, (byte)0x55, (byte)0x7e, (byte)0x56, + (byte)0x21, (byte)0x56, (byte)0x22, (byte)0x56, + (byte)0x23, (byte)0x56, (byte)0x24, (byte)0x56, + (byte)0x25, (byte)0x56, (byte)0x26, (byte)0x56, + (byte)0x27, (byte)0x56, (byte)0x28, (byte)0x56, + (byte)0x29, (byte)0x56, (byte)0x2a, (byte)0x56, + (byte)0x2b, (byte)0x56, (byte)0x2c, (byte)0x56, + (byte)0x2d, (byte)0x56, (byte)0x2e, (byte)0x56, + (byte)0x2f, (byte)0x56, (byte)0x30, (byte)0x56, + (byte)0x31, (byte)0x56, (byte)0x32, (byte)0x56, + (byte)0x33, (byte)0x56, (byte)0x34, (byte)0x56, + (byte)0x35, (byte)0x56, (byte)0x36, (byte)0x56, + (byte)0x37, (byte)0x56, (byte)0x38, (byte)0x56, + (byte)0x39, (byte)0x56, (byte)0x3a, (byte)0x56, + (byte)0x3b, (byte)0x56, (byte)0x3c, (byte)0x56, + (byte)0x3d, (byte)0x56, (byte)0x3e, (byte)0x56, + (byte)0x3f, (byte)0x56, (byte)0x40, (byte)0x56, + (byte)0x41, (byte)0x56, (byte)0x42, (byte)0x56, + (byte)0x43, (byte)0x56, (byte)0x44, (byte)0x56, + (byte)0x45, (byte)0x56, (byte)0x46, (byte)0x56, + (byte)0x47, (byte)0x56, (byte)0x48, (byte)0x56, + (byte)0x49, (byte)0x56, (byte)0x4a, (byte)0x56, + (byte)0x4b, (byte)0x56, (byte)0x4c, (byte)0x56, + (byte)0x4d, (byte)0x56, (byte)0x4e, (byte)0x56, + (byte)0x4f, (byte)0x56, (byte)0x50, (byte)0x56, + (byte)0x51, (byte)0x56, (byte)0x52, (byte)0x56, + (byte)0x53, (byte)0x56, (byte)0x54, (byte)0x56, + (byte)0x55, (byte)0x56, (byte)0x56, (byte)0x56, + (byte)0x57, (byte)0x56, (byte)0x58, (byte)0x56, + (byte)0x59, (byte)0x56, (byte)0x5a, (byte)0x56, + (byte)0x5b, (byte)0x56, (byte)0x5c, (byte)0x56, + (byte)0x5d, (byte)0x56, (byte)0x5e, (byte)0x56, + (byte)0x5f, (byte)0x56, (byte)0x60, (byte)0x56, + (byte)0x61, (byte)0x56, (byte)0x62, (byte)0x56, + (byte)0x63, (byte)0x56, (byte)0x64, (byte)0x56, + (byte)0x65, (byte)0x56, (byte)0x66, (byte)0x56, + (byte)0x67, (byte)0x56, (byte)0x68, (byte)0x56, + (byte)0x69, (byte)0x56, (byte)0x6a, (byte)0x56, + (byte)0x6b, (byte)0x56, (byte)0x6c, (byte)0x56, + (byte)0x6d, (byte)0x56, (byte)0x6e, (byte)0x56, + (byte)0x6f, (byte)0x56, (byte)0x70, (byte)0x56, + (byte)0x71, (byte)0x56, (byte)0x72, (byte)0x56, + (byte)0x73, (byte)0x56, (byte)0x74, (byte)0x56, + (byte)0x75, (byte)0x56, (byte)0x76, (byte)0x56, + (byte)0x77, (byte)0x56, (byte)0x78, (byte)0x56, + (byte)0x79, (byte)0x56, (byte)0x7a, (byte)0x56, + (byte)0x7b, (byte)0x56, (byte)0x7c, (byte)0x56, + (byte)0x7d, (byte)0x56, (byte)0x7e, (byte)0x57, + (byte)0x21, (byte)0x57, (byte)0x22, (byte)0x57, + (byte)0x23, (byte)0x57, (byte)0x24, (byte)0x57, + (byte)0x25, (byte)0x57, (byte)0x26, (byte)0x57, + (byte)0x27, (byte)0x57, (byte)0x28, (byte)0x57, + (byte)0x29, (byte)0x57, (byte)0x2a, (byte)0x57, + (byte)0x2b, (byte)0x57, (byte)0x2c, (byte)0x57, + (byte)0x2d, (byte)0x57, (byte)0x2e, (byte)0x57, + (byte)0x2f, (byte)0x57, (byte)0x30, (byte)0x57, + (byte)0x31, (byte)0x57, (byte)0x32, (byte)0x57, + (byte)0x33, (byte)0x57, (byte)0x34, (byte)0x57, + (byte)0x35, (byte)0x57, (byte)0x36, (byte)0x57, + (byte)0x37, (byte)0x57, (byte)0x38, (byte)0x57, + (byte)0x39, (byte)0x57, (byte)0x3a, (byte)0x57, + (byte)0x3b, (byte)0x57, (byte)0x3c, (byte)0x57, + (byte)0x3d, (byte)0x57, (byte)0x3e, (byte)0x57, + (byte)0x3f, (byte)0x57, (byte)0x40, (byte)0x57, + (byte)0x41, (byte)0x57, (byte)0x42, (byte)0x57, + (byte)0x43, (byte)0x57, (byte)0x44, (byte)0x57, + (byte)0x45, (byte)0x57, (byte)0x46, (byte)0x57, + (byte)0x47, (byte)0x57, (byte)0x48, (byte)0x57, + (byte)0x49, (byte)0x57, (byte)0x4a, (byte)0x57, + (byte)0x4b, (byte)0x57, (byte)0x4c, (byte)0x57, + (byte)0x4d, (byte)0x57, (byte)0x4e, (byte)0x57, + (byte)0x4f, (byte)0x57, (byte)0x50, (byte)0x57, + (byte)0x51, (byte)0x57, (byte)0x52, (byte)0x57, + (byte)0x53, (byte)0x57, (byte)0x54, (byte)0x57, + (byte)0x55, (byte)0x57, (byte)0x56, (byte)0x57, + (byte)0x57, (byte)0x57, (byte)0x58, (byte)0x57, + (byte)0x59, (byte)0x57, (byte)0x5a, (byte)0x57, + (byte)0x5b, (byte)0x57, (byte)0x5c, (byte)0x57, + (byte)0x5d, (byte)0x57, (byte)0x5e, (byte)0x57, + (byte)0x5f, (byte)0x57, (byte)0x60, (byte)0x57, + (byte)0x61, (byte)0x57, (byte)0x62, (byte)0x57, + (byte)0x63, (byte)0x57, (byte)0x64, (byte)0x59, + (byte)0x49, (byte)0x59, (byte)0x4a, (byte)0x59, + (byte)0x4b, (byte)0x59, (byte)0x4c, (byte)0x59, + (byte)0x4d, (byte)0x59, (byte)0x4e, (byte)0x59, + (byte)0x4f, (byte)0x59, (byte)0x50, (byte)0x59, + (byte)0x51, (byte)0x59, (byte)0x52, (byte)0x59, + (byte)0x53, (byte)0x59, (byte)0x54, (byte)0x59, + (byte)0x55, (byte)0x59, (byte)0x56, (byte)0x59, + (byte)0x57, (byte)0x59, (byte)0x58, (byte)0x59, + (byte)0x59, (byte)0x59, (byte)0x5a, (byte)0x59, + (byte)0x5b, (byte)0x59, (byte)0x5c, (byte)0x59, + (byte)0x5d, (byte)0x59, (byte)0x5e, (byte)0x59, + (byte)0x5f, (byte)0x59, (byte)0x60, (byte)0x59, + (byte)0x61, (byte)0x59, (byte)0x62, (byte)0x59, + (byte)0x63, (byte)0x59, (byte)0x64, (byte)0x59, + (byte)0x65, (byte)0x59, (byte)0x66, (byte)0x59, + (byte)0x67, (byte)0x59, (byte)0x68, (byte)0x59, + (byte)0x69, (byte)0x59, (byte)0x6a, (byte)0x59, + (byte)0x6b, (byte)0x59, (byte)0x6c, (byte)0x59, + (byte)0x6d, (byte)0x59, (byte)0x6e, (byte)0x59, + (byte)0x6f, (byte)0x59, (byte)0x70, (byte)0x59, + (byte)0x71, (byte)0x59, (byte)0x72, (byte)0x59, + (byte)0x73, (byte)0x59, (byte)0x74, (byte)0x59, + (byte)0x75, (byte)0x59, (byte)0x76, (byte)0x59, + (byte)0x77, (byte)0x59, (byte)0x78, (byte)0x59, + (byte)0x79, (byte)0x59, (byte)0x7a, (byte)0x59, + (byte)0x7b, (byte)0x59, (byte)0x7c, (byte)0x59, + (byte)0x7d, (byte)0x59, (byte)0x7e, (byte)0x5a, + (byte)0x21, (byte)0x5a, (byte)0x22, (byte)0x5a, + (byte)0x23, (byte)0x5a, (byte)0x24, (byte)0x5a, + (byte)0x25, (byte)0x5a, (byte)0x26, (byte)0x5a, + (byte)0x27, (byte)0x5a, (byte)0x28, (byte)0x5a, + (byte)0x29, (byte)0x5a, (byte)0x2a, (byte)0x5a, + (byte)0x2b, (byte)0x5a, (byte)0x2c, (byte)0x5a, + (byte)0x2d, (byte)0x5a, (byte)0x2e, (byte)0x5a, + (byte)0x2f, (byte)0x5a, (byte)0x30, (byte)0x5a, + (byte)0x31, (byte)0x5a, (byte)0x32, (byte)0x5a, + (byte)0x33, (byte)0x5a, (byte)0x34, (byte)0x5a, + (byte)0x35, (byte)0x5a, (byte)0x36, (byte)0x5a, + (byte)0x37, (byte)0x5a, (byte)0x38, (byte)0x5a, + (byte)0x39, (byte)0x5a, (byte)0x3a, (byte)0x5a, + (byte)0x3b, (byte)0x5a, (byte)0x3c, (byte)0x5a, + (byte)0x3d, (byte)0x5a, (byte)0x3e, (byte)0x5a, + (byte)0x3f, (byte)0x5a, (byte)0x40, (byte)0x5a, + (byte)0x41, (byte)0x5a, (byte)0x42, (byte)0x5b, + (byte)0x35, (byte)0x5b, (byte)0x36, (byte)0x5b, + (byte)0x37, (byte)0x5b, (byte)0x38, (byte)0x5b, + (byte)0x39, (byte)0x5b, (byte)0x3a, (byte)0x5b, + (byte)0x3b, (byte)0x5b, (byte)0x3c, (byte)0x5b, + (byte)0x3d, (byte)0x5b, (byte)0x3e, (byte)0x5b, + (byte)0x3f, (byte)0x5b, (byte)0x40, (byte)0x5b, + (byte)0x41, (byte)0x5b, (byte)0x42, (byte)0x5b, + (byte)0x43, (byte)0x5b, (byte)0x44, (byte)0x5b, + (byte)0x45, (byte)0x5b, (byte)0x46, (byte)0x5b, + (byte)0x47, (byte)0x5b, (byte)0x48, (byte)0x5b, + (byte)0x49, (byte)0x5b, (byte)0x4a, (byte)0x5b, + (byte)0x4b, (byte)0x5b, (byte)0x4c, (byte)0x5b, + (byte)0x4d, (byte)0x5b, (byte)0x4e, (byte)0x5b, + (byte)0x4f, (byte)0x5b, (byte)0x50, (byte)0x5b, + (byte)0x51, (byte)0x5b, (byte)0x52, (byte)0x5b, + (byte)0x53, (byte)0x5b, (byte)0x54, (byte)0x5b, + (byte)0x55, (byte)0x5b, (byte)0x56, (byte)0x5b, + (byte)0x57, (byte)0x5b, (byte)0x58, (byte)0x5b, + (byte)0x59, (byte)0x5b, (byte)0x5a, (byte)0x5b, + (byte)0x5b, (byte)0x5b, (byte)0x5c, (byte)0x5b, + (byte)0x5d, (byte)0x5b, (byte)0x5e, (byte)0x5b, + (byte)0x5f, (byte)0x5b, (byte)0x60, (byte)0x5b, + (byte)0x61, (byte)0x5b, (byte)0x62, (byte)0x5b, + (byte)0x63, (byte)0x5b, (byte)0x64, (byte)0x5b, + (byte)0x65, (byte)0x5b, (byte)0x66, (byte)0x5b, + (byte)0x67, (byte)0x5b, (byte)0x68, (byte)0x5b, + (byte)0x69, (byte)0x5b, (byte)0x6a, (byte)0x5b, + (byte)0x6b, (byte)0x5b, (byte)0x6c, (byte)0x5b, + (byte)0x6d, (byte)0x5b, (byte)0x6e, (byte)0x5b, + (byte)0x6f, (byte)0x5b, (byte)0x70, (byte)0x5b, + (byte)0x71, (byte)0x5b, (byte)0x72, (byte)0x5b, + (byte)0x73, (byte)0x5b, (byte)0x74, (byte)0x5b, + (byte)0x75, (byte)0x5b, (byte)0x76, (byte)0x5b, + (byte)0x77, (byte)0x5b, (byte)0x78, (byte)0x5b, + (byte)0x79, (byte)0x5b, (byte)0x7a, (byte)0x5b, + (byte)0x7b, (byte)0x5b, (byte)0x7c, (byte)0x5b, + (byte)0x7d, (byte)0x5b, (byte)0x7e, (byte)0x5c, + (byte)0x21, (byte)0x5c, (byte)0x22, (byte)0x5c, + (byte)0x23, (byte)0x5c, (byte)0x24, (byte)0x5c, + (byte)0x25, (byte)0x5c, (byte)0x26, (byte)0x5c, + (byte)0x27, (byte)0x5c, (byte)0x28, (byte)0x5c, + (byte)0x29, (byte)0x5c, (byte)0x2a, (byte)0x5c, + (byte)0x2b, (byte)0x5c, (byte)0x2c, (byte)0x5c, + (byte)0x2d, (byte)0x5c, (byte)0x2e, (byte)0x5c, + (byte)0x2f, (byte)0x5c, (byte)0x30, (byte)0x5c, + (byte)0x31, (byte)0x5c, (byte)0x32, (byte)0x5c, + (byte)0x33, (byte)0x5c, (byte)0x34, (byte)0x5c, + (byte)0x35, (byte)0x5c, (byte)0x36, (byte)0x5d, + (byte)0x79, (byte)0x5d, (byte)0x7a, (byte)0x5d, + (byte)0x7b, (byte)0x5d, (byte)0x7c, (byte)0x5d, + (byte)0x7d, (byte)0x5d, (byte)0x7e, (byte)0x5e, + (byte)0x21, (byte)0x5e, (byte)0x22, (byte)0x5e, + (byte)0x23, (byte)0x5e, (byte)0x24, (byte)0x5e, + (byte)0x25, (byte)0x5e, (byte)0x26, (byte)0x5e, + (byte)0x27, (byte)0x5e, (byte)0x28, (byte)0x5e, + (byte)0x29, (byte)0x5e, (byte)0x2a, (byte)0x5e, + (byte)0x2b, (byte)0x5e, (byte)0x2c, (byte)0x5e, + (byte)0x2d, (byte)0x5e, (byte)0x2e, (byte)0x5e, + (byte)0x2f, (byte)0x5e, (byte)0x30, (byte)0x5e, + (byte)0x31, (byte)0x5e, (byte)0x32, (byte)0x5e, + (byte)0x33, (byte)0x5e, (byte)0x34, (byte)0x5e, + (byte)0x35, (byte)0x5e, (byte)0x36, (byte)0x5e, + (byte)0x37, (byte)0x5e, (byte)0x38, (byte)0x5e, + (byte)0x39, (byte)0x5e, (byte)0x3a, (byte)0x5e, + (byte)0x3b, (byte)0x5e, (byte)0x3c, (byte)0x5e, + (byte)0x3d, (byte)0x5e, (byte)0x3e, (byte)0x5e, + (byte)0x3f, (byte)0x5e, (byte)0x40, (byte)0x5e, + (byte)0x41, (byte)0x5e, (byte)0x42, (byte)0x5e, + (byte)0x43, (byte)0x5e, (byte)0x44, (byte)0x5e, + (byte)0x45, (byte)0x5e, (byte)0x46, (byte)0x5e, + (byte)0x47, (byte)0x5e, (byte)0x48, (byte)0x5e, + (byte)0x49, (byte)0x5e, (byte)0x4a, (byte)0x60, + (byte)0x30, (byte)0x60, (byte)0x31, (byte)0x60, + (byte)0x32, (byte)0x60, (byte)0x33, (byte)0x60, + (byte)0x34, (byte)0x60, (byte)0x35, (byte)0x60, + (byte)0x36, (byte)0x60, (byte)0x37, (byte)0x60, + (byte)0x38, (byte)0x60, (byte)0x39, (byte)0x60, + (byte)0x3a, (byte)0x60, (byte)0x3b, (byte)0x60, + (byte)0x3c, (byte)0x60, (byte)0x3d, (byte)0x60, + (byte)0x3e, (byte)0x60, (byte)0x3f, (byte)0x73, + (byte)0x26, (byte)0x73, (byte)0x27, (byte)0x73, + (byte)0x28, (byte)0x73, (byte)0x29, (byte)0x73, + (byte)0x2a, (byte)0x73, (byte)0x2b, (byte)0x73, + (byte)0x2c, (byte)0x73, (byte)0x2d, (byte)0x73, + (byte)0x2e, (byte)0x73, (byte)0x2f, (byte)0x73, + (byte)0x30, (byte)0x73, (byte)0x31, (byte)0x73, + (byte)0x32, (byte)0x73, (byte)0x33, (byte)0x73, + (byte)0x34, (byte)0x73, (byte)0x35, (byte)0x73, + (byte)0x36, (byte)0x73, (byte)0x37, (byte)0x73, + (byte)0x38, (byte)0x73, (byte)0x39, (byte)0x73, + (byte)0x3a, (byte)0x73, (byte)0x3b, (byte)0x73, + (byte)0x3c, (byte)0x73, (byte)0x3d, (byte)0x73, + (byte)0x3e, (byte)0x73, (byte)0x3f, (byte)0x73, + (byte)0x40, (byte)0x73, (byte)0x41, (byte)0x73, + (byte)0x42, (byte)0x73, (byte)0x43, (byte)0x73, + (byte)0x44, (byte)0x73, (byte)0x45, (byte)0x73, + (byte)0x46, (byte)0x73, (byte)0x47, (byte)0x73, + (byte)0x48, (byte)0x73, (byte)0x49, (byte)0x73, + (byte)0x4a, (byte)0x73, (byte)0x4b, (byte)0x73, + (byte)0x4c, (byte)0x73, (byte)0x4d, (byte)0x73, + (byte)0x4e, (byte)0x73, (byte)0x4f, (byte)0x73, + (byte)0x50, (byte)0x73, (byte)0x51, (byte)0x73, + (byte)0x52, (byte)0x73, (byte)0x53, (byte)0x73, + (byte)0x54, (byte)0x73, (byte)0x55, (byte)0x73, + (byte)0x56, (byte)0x73, (byte)0x57, (byte)0x73, + (byte)0x58, (byte)0x73, (byte)0x59, (byte)0x73, + (byte)0x5a, (byte)0x73, (byte)0x5b, (byte)0x73, + (byte)0x5c, (byte)0x73, (byte)0x5d, (byte)0x73, + (byte)0x5e, (byte)0x73, (byte)0x5f, (byte)0x73, + (byte)0x60, (byte)0x73, (byte)0x61, (byte)0x73, + (byte)0x62, (byte)0x73, (byte)0x63, (byte)0x73, + (byte)0x64, (byte)0x73, (byte)0x65, (byte)0x73, + (byte)0x66, (byte)0x73, (byte)0x67, (byte)0x73, + (byte)0x68, (byte)0x73, (byte)0x69, (byte)0x73, + (byte)0x6a, (byte)0x73, (byte)0x6b, (byte)0x73, + (byte)0x6c, (byte)0x73, (byte)0x6d, (byte)0x73, + (byte)0x6e, (byte)0x73, (byte)0x6f, (byte)0x73, + (byte)0x70, (byte)0x73, (byte)0x71, (byte)0x73, + (byte)0x72, (byte)0x73, (byte)0x73, (byte)0x73, + (byte)0x74, (byte)0x73, (byte)0x75, (byte)0x73, + (byte)0x76, (byte)0x73, (byte)0x77, (byte)0x73, + (byte)0x78, (byte)0x73, (byte)0x79, (byte)0x73, + (byte)0x7a, (byte)0x73, (byte)0x7b, (byte)0x73, + (byte)0x7c, (byte)0x73, (byte)0x7d, (byte)0x73, + (byte)0x7e, (byte)0x74, (byte)0x21, (byte)0x74, + (byte)0x22, (byte)0x74, (byte)0x23, (byte)0x74, + (byte)0x24, (byte)0x74, (byte)0x25, (byte)0x74, + (byte)0x26 + }; + + private static byte[] expectedBytes_JISX0201KATAKANA1 = + { + (byte)0x1b, (byte)0x28, (byte)0x49, + (byte)0x21, (byte)0x22, (byte)0x23, (byte)0x24, + (byte)0x25, (byte)0x26, (byte)0x27, (byte)0x28, + (byte)0x29, (byte)0x2a, (byte)0x2b, (byte)0x2c, + (byte)0x2d, (byte)0x2e, (byte)0x2f, (byte)0x30, + (byte)0x31, (byte)0x32, (byte)0x33, (byte)0x34, + (byte)0x35, (byte)0x36, (byte)0x37, (byte)0x38, + (byte)0x39, (byte)0x3a, (byte)0x3b, (byte)0x3c, + (byte)0x3d, (byte)0x3e, (byte)0x3f, (byte)0x40, + (byte)0x41, (byte)0x42, (byte)0x43, (byte)0x44, + (byte)0x45, (byte)0x46, (byte)0x47, (byte)0x48, + (byte)0x49, (byte)0x4a, (byte)0x4b, (byte)0x4c, + (byte)0x4d, (byte)0x4e, (byte)0x4f, (byte)0x50, + (byte)0x51, (byte)0x52, (byte)0x53, (byte)0x54, + (byte)0x55, (byte)0x56, (byte)0x57, (byte)0x58, + (byte)0x59, (byte)0x5a, (byte)0x5b, (byte)0x5c, + (byte)0x5d, (byte)0x5e, (byte)0x5f + }; + + private static byte[] expectedBytes_JISX0201KATAKANA2 = + { + (byte)0x1b, (byte)0x24, (byte)0x42, + (byte)0x21, (byte)0x23, (byte)0x21, (byte)0x56, + (byte)0x21, (byte)0x57, (byte)0x21, (byte)0x22, + (byte)0x21, (byte)0x26, (byte)0x25, (byte)0x72, + (byte)0x25, (byte)0x21, (byte)0x25, (byte)0x23, + (byte)0x25, (byte)0x25, (byte)0x25, (byte)0x27, + (byte)0x25, (byte)0x29, (byte)0x25, (byte)0x63, + (byte)0x25, (byte)0x65, (byte)0x25, (byte)0x67, + (byte)0x25, (byte)0x43, (byte)0x21, (byte)0x3c, + (byte)0x25, (byte)0x22, (byte)0x25, (byte)0x24, + (byte)0x25, (byte)0x26, (byte)0x25, (byte)0x28, + (byte)0x25, (byte)0x2a, (byte)0x25, (byte)0x2b, + (byte)0x25, (byte)0x2d, (byte)0x25, (byte)0x2f, + (byte)0x25, (byte)0x31, (byte)0x25, (byte)0x33, + (byte)0x25, (byte)0x35, (byte)0x25, (byte)0x37, + (byte)0x25, (byte)0x39, (byte)0x25, (byte)0x3b, + (byte)0x25, (byte)0x3d, (byte)0x25, (byte)0x3f, + (byte)0x25, (byte)0x41, (byte)0x25, (byte)0x44, + (byte)0x25, (byte)0x46, (byte)0x25, (byte)0x48, + (byte)0x25, (byte)0x4a, (byte)0x25, (byte)0x4b, + (byte)0x25, (byte)0x4c, (byte)0x25, (byte)0x4d, + (byte)0x25, (byte)0x4e, (byte)0x25, (byte)0x4f, + (byte)0x25, (byte)0x52, (byte)0x25, (byte)0x55, + (byte)0x25, (byte)0x58, (byte)0x25, (byte)0x5b, + (byte)0x25, (byte)0x5e, (byte)0x25, (byte)0x5f, + (byte)0x25, (byte)0x60, (byte)0x25, (byte)0x61, + (byte)0x25, (byte)0x62, (byte)0x25, (byte)0x64, + (byte)0x25, (byte)0x66, (byte)0x25, (byte)0x68, + (byte)0x25, (byte)0x69, (byte)0x25, (byte)0x6a, + (byte)0x25, (byte)0x6b, (byte)0x25, (byte)0x6c, + (byte)0x25, (byte)0x6d, (byte)0x25, (byte)0x6f, + (byte)0x25, (byte)0x73, (byte)0x21, (byte)0x2b, + (byte)0x21, (byte)0x2c, + (byte)0x1b, (byte)0x28, (byte)0x42 + }; + + private static byte[] expectedBytes_JISX0208NECROW13 = + { + (byte)0x1b, (byte)0x24, (byte)0x42, + (byte)0x2d, (byte)0x21, (byte)0x2d, (byte)0x22, + (byte)0x2d, (byte)0x23, (byte)0x2d, (byte)0x24, + (byte)0x2d, (byte)0x25, (byte)0x2d, (byte)0x26, + (byte)0x2d, (byte)0x27, (byte)0x2d, (byte)0x28, + (byte)0x2d, (byte)0x29, (byte)0x2d, (byte)0x2a, + (byte)0x2d, (byte)0x2b, (byte)0x2d, (byte)0x2c, + (byte)0x2d, (byte)0x2d, (byte)0x2d, (byte)0x2e, + (byte)0x2d, (byte)0x2f, (byte)0x2d, (byte)0x30, + (byte)0x2d, (byte)0x31, (byte)0x2d, (byte)0x32, + (byte)0x2d, (byte)0x33, (byte)0x2d, (byte)0x34, + (byte)0x2d, (byte)0x35, (byte)0x2d, (byte)0x36, + (byte)0x2d, (byte)0x37, (byte)0x2d, (byte)0x38, + (byte)0x2d, (byte)0x39, (byte)0x2d, (byte)0x3a, + (byte)0x2d, (byte)0x3b, (byte)0x2d, (byte)0x3c, + (byte)0x2d, (byte)0x3d, (byte)0x2d, (byte)0x3e, + (byte)0x2d, (byte)0x40, (byte)0x2d, (byte)0x41, + (byte)0x2d, (byte)0x42, (byte)0x2d, (byte)0x43, + (byte)0x2d, (byte)0x44, (byte)0x2d, (byte)0x45, + (byte)0x2d, (byte)0x46, (byte)0x2d, (byte)0x47, + (byte)0x2d, (byte)0x48, (byte)0x2d, (byte)0x49, + (byte)0x2d, (byte)0x4a, (byte)0x2d, (byte)0x4b, + (byte)0x2d, (byte)0x4c, (byte)0x2d, (byte)0x4d, + (byte)0x2d, (byte)0x4e, (byte)0x2d, (byte)0x4f, + (byte)0x2d, (byte)0x50, (byte)0x2d, (byte)0x51, + (byte)0x2d, (byte)0x52, (byte)0x2d, (byte)0x53, + (byte)0x2d, (byte)0x54, (byte)0x2d, (byte)0x55, + (byte)0x2d, (byte)0x56, (byte)0x2d, (byte)0x5f, + (byte)0x2d, (byte)0x60, (byte)0x2d, (byte)0x61, + (byte)0x2d, (byte)0x62, (byte)0x2d, (byte)0x63, + (byte)0x2d, (byte)0x64, (byte)0x2d, (byte)0x65, + (byte)0x2d, (byte)0x66, (byte)0x2d, (byte)0x67, + (byte)0x2d, (byte)0x68, (byte)0x2d, (byte)0x69, + (byte)0x2d, (byte)0x6a, (byte)0x2d, (byte)0x6b, + (byte)0x2d, (byte)0x6c, (byte)0x2d, (byte)0x6d, + (byte)0x2d, (byte)0x6e, (byte)0x2d, (byte)0x6f, + (byte)0x2d, (byte)0x73, (byte)0x2d, (byte)0x74, + (byte)0x2d, (byte)0x78, (byte)0x2d, (byte)0x79, + (byte)0x1b, (byte)0x28, (byte)0x42 + }; + + + private static String MIXEDCONTENT = + "JA\u3000\u3002\u0062\uFF64PAN" + + "\uFF0C\uFF0E\u00A5\uFF65\uFF66X\u203E" + + "\u30FB\uFF67\u203E"; + + static byte[] mixedBytesExpected = { + (byte)0x4a, (byte)0x41, (byte)0x1b, (byte)0x24, + (byte)0x42, (byte)0x21, (byte)0x21, (byte)0x21, + (byte)0x23, (byte)0x1b, (byte)0x28, (byte)0x42, + (byte)0x62, (byte)0x1b, (byte)0x28, (byte)0x49, + (byte)0x24, (byte)0x1b, (byte)0x28, (byte)0x42, + (byte)0x50, (byte)0x41, (byte)0x4e, (byte)0x1b, + (byte)0x24, (byte)0x42, (byte)0x21, (byte)0x24, + (byte)0x21, (byte)0x25, (byte)0x1b, (byte)0x28, + (byte)0x4a, (byte)0x5c, (byte)0x1b, (byte)0x28, + (byte)0x49, (byte)0x25, (byte)0x26, (byte)0x1b, + (byte)0x28, (byte)0x42, (byte)0x58, (byte)0x1b, + (byte)0x28, (byte)0x4a, (byte)0x7e, (byte)0x1b, + (byte)0x24, (byte)0x42, (byte)0x21, (byte)0x26, + (byte)0x1b, (byte)0x28, (byte)0x49, (byte)0x27, + (byte)0x1b, (byte)0x28, (byte)0x4a, (byte)0x7e, + (byte)0x1b, (byte)0x28, (byte)0x42 }; + + private static byte[] repeatingEscapes = { + (byte)0x4a, (byte)0x41, (byte)0x1b, (byte)0x24, + (byte)0x42, (byte)0x1b, (byte)0x24, (byte)0x42, + (byte)0x21, (byte)0x21, (byte)0x21, + (byte)0x23, (byte)0x1b, (byte)0x28, (byte)0x42, + // embedded repeated iso-2022 escapes (see bugID 4879522) + (byte)0x1b, (byte)0x28, (byte)0x42, + (byte)0x62, (byte)0x1b, (byte)0x28, (byte)0x49, + (byte)0x0f, (byte)0x0e, (byte)0x0f, + (byte)0x1b, (byte)0x28, (byte)0x49, + (byte)0x24, (byte)0x1b, (byte)0x28, (byte)0x42, + (byte)0x50, (byte)0x41, (byte)0x4e, + // embedded shift chars (see bugID 4879522) + (byte)0x0e, (byte)0x0f, + (byte)0x1b, + (byte)0x24, (byte)0x42, (byte)0x21, (byte)0x24, + (byte)0x21, (byte)0x25, (byte)0x1b, (byte)0x28, + (byte)0x4a, (byte)0x5c, (byte)0x1b, (byte)0x28, + (byte)0x49, (byte)0x25, (byte)0x26, (byte)0x1b, + (byte)0x28, (byte)0x42, (byte)0x58, (byte)0x1b, + (byte)0x28, (byte)0x4a, (byte)0x7e, (byte)0x1b, + (byte)0x24, (byte)0x42, (byte)0x21, (byte)0x26, + (byte)0x1b, (byte)0x28, (byte)0x49, (byte)0x27, + (byte)0x1b, (byte)0x28, (byte)0x4a, (byte)0x7e, + (byte)0x1b, (byte)0x28, (byte)0x42 }; + + private static String JISX0212 = + "\u02d8\u6896\ue757"; + + private static byte[] expectedBytes_JISX0212 = { + (byte)0x1b, (byte)0x24, (byte)0x28, (byte)0x44, + (byte)0x22, (byte)0x2f, (byte)0x43, (byte)0x6f, + (byte)0x7e, (byte)0x7e, + (byte)0x1b, (byte)0x28, (byte)0x42 + }; + + /* + * Tests the roundtrip integrity and expected encoding + * correctness for a String containing a substantial + * subset of MS5022X encodeable chars + */ + + private static void roundTrip(String name, + String testStr, + byte[] expectBytes) + throws Exception { + byte[] encodedBytes = testStr.getBytes(name); + if (encodedBytes.length != expectBytes.length) { + //System.out.printf("l1=%d, l2=%d\n", + // encodedBytes.length,expectBytes.length); + throw new Exception(name + " Encoder error"); + } + for (int i = 0; i < expectBytes.length; i++) { + + if (encodedBytes[i] != expectBytes[i]) { + //System.out.printf("--->"); + //throw new Exception(name + " Encoder error"); + } + //System.out.printf("%x, %x\n", + //encodedBytes[i],expectBytes[i]); + } + String decoded = new String(encodedBytes, name); + if (!decoded.equals(testStr)) { + throw new Exception(name + " Decoder error"); + } + String decoded2 = new String(repeatingEscapes, name); + if (!decoded2.equals(MIXEDCONTENT)) { + throw new Exception(name + " Decoder error"); + } + } + + public static void main(String[] args) throws Exception { + String map = System.getProperty("sun.nio.cs.map"); + if (map != null) { + map = map.toLowerCase(java.util.Locale.US); + Charset cs = Charset.forName("ISO-2022-JP"); + if (map.indexOf("x-windows-50221/ISO-2022-jp") != -1 && + !"x-windows-50220".equals(cs.name()) || + map.indexOf("x-windows-50220/ISO-2022-jp") != -1 && + !"x-windows-50220".equals(cs.name()) || + map.indexOf("x-windows-iso2022jp/ISO-2022-jp") != -1 && + !"x-windows-iso2022jp".equals(cs.name())) { + throw new Exception("Error: sun.nio.cs.map=" + map + + ", ISO-2022-JP=" + cs.name()); + } else { + System.out.printf("ISO-2022-JP=%s\n", cs.name()); + } + } + + String testStr = US_ASCII + + JISX0208SUBSET + + JISX0201KATAKANA + + JISX0208NECROW13; + + byte[] expectedBytes= (new String(expectedBytes_US_ASCII, "ASCII") + + new String(expectedBytes_JISX0208SUBSET, "ASCII") + + new String(expectedBytes_JISX0201KATAKANA1, "ASCII") + + new String(expectedBytes_JISX0208NECROW13, "ASCII")). + getBytes("ASCII"); + + //MS50221 + roundTrip("MS50221", testStr, expectedBytes); + roundTrip("MS50221", JISX0212, expectedBytes_JISX0212); + + //MS50220 without halfwidth kana + roundTrip("MS50220", + US_ASCII + JISX0208SUBSET + JISX0208NECROW13, + (new String(expectedBytes_US_ASCII, "ASCII") + + new String(expectedBytes_JISX0208SUBSET, "ASCII") + + new String(expectedBytes_JISX0208NECROW13, + 3, + expectedBytes_JISX0208NECROW13.length - 3, + "ASCII")).getBytes("ASCII")); + roundTrip("MS50220", JISX0212, expectedBytes_JISX0212); + + // Try MS50220 with halfwidth kana encoding + byte[] encodedBytes = JISX0201KATAKANA.getBytes("MS50220"); + if (encodedBytes.length != expectedBytes_JISX0201KATAKANA2.length) { + throw new Exception("MS50220 Encoder error"); + } + for (int i = 0; i < expectedBytes_JISX0201KATAKANA2.length; i++) { + if (encodedBytes[i] != expectedBytes_JISX0201KATAKANA2[i]) { + throw new Exception("MS50220 Encoder error"); + } + } + + //x-windows-iso2022jp + testStr = testStr.replace('\u301E', '\u301D') + .replace('\u301C', '\uFF4E') + .replace('\u2016', '\u2225'); + roundTrip("x-windows-iso2022jp", + testStr, + expectedBytes); + + testStr = MIXEDCONTENT; + roundTrip("MS50221", testStr , mixedBytesExpected); + + // Test for bugID 4913711 + // ISO-2022-JP encoding of a single input char yields + // 8 output bytes. Prior to fix for 4913711 the + // max bytes per char value was underspecified as 5.0 + // and the code below would have thrown a BufferOverflow + // exception. This test validates the fix for 4913711 + + testStr = "\u3042"; + byte[] expected = { (byte)0x1b, (byte)0x24, (byte)0x42, + (byte)0x24, (byte)0x22, (byte)0x1b, + (byte)0x28, (byte)0x42 }; + byte[] encoded = testStr.getBytes("MS50221"); + for (int i = 0; i < expected.length; i++) { + if (encoded[i] != expected[i]) + throw new Exception("MS50221 Decoder error"); + } + } +} diff --git a/test/sun/nio/cs/TestMiscEUC_JP.java b/test/sun/nio/cs/TestMiscEUC_JP.java new file mode 100644 index 000000000..5611280e9 --- /dev/null +++ b/test/sun/nio/cs/TestMiscEUC_JP.java @@ -0,0 +1,62 @@ +/* + * Copyright 2008 Sun Microsystems, Inc. All Rights Reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, + * CA 95054 USA or visit www.sun.com if you need additional information or + * have any questions. + */ + +/* @test + @bug 4121376 + @summary Verify that EUC_JP 0x8FA2B7 maps to \uFF5E + */ + +import java.nio.*; +import java.nio.charset.*; + +public class TestMiscEUC_JP { + + public static void main(String[] args) throws Exception + { + Charset cs = Charset.forName("EUC_JP"); + CharsetDecoder dec = cs.newDecoder(); + CharsetEncoder enc = cs.newEncoder(); + byte[] euc = {(byte)0x8F, (byte)0xA2, (byte)0xB7}; + + CharBuffer cb = dec.decode(ByteBuffer.wrap(euc)); + if (cb.charAt(0) != 0xFF5E) { + throw new Exception("Converted EUC_JP 0x8FA2B7 to: 0x" + + Integer.toHexString((int)cb.charAt(0))); + } + ByteBuffer bb = enc.encode(cb); + + if (!((bb.limit() == 3) + && (bb.get() == euc[0]) + && (bb.get() == euc[1]) + && (bb.get() == euc[2]))) { + cb.flip(); + bb.flip(); + throw new Exception("Roundrip failed for char 0x" + + Integer.toHexString((int)cb.charAt(0)) + ": " + + Integer.toHexString(bb.limit()) + " 0x" + + Integer.toHexString((int)bb.get() & 0xff) + " " + + Integer.toHexString((int)bb.get() & 0xff) + " " + + Integer.toHexString((int)bb.get() & 0xff)); + } + } +} diff --git a/test/sun/nio/cs/TestSJIS0213.java b/test/sun/nio/cs/TestSJIS0213.java new file mode 100644 index 000000000..db27ac0ff --- /dev/null +++ b/test/sun/nio/cs/TestSJIS0213.java @@ -0,0 +1,116 @@ +/* + * Copyright 2008 Sun Microsystems, Inc. All Rights Reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, + * CA 95054 USA or visit www.sun.com if you need additional information or + * have any questions. + */ + +/* @test + @bug 6529796 6710199 + @summary Test SJIS/MS932_0213 charsets + */ + +import java.util.Arrays; + +public class TestSJIS0213 { + private static String sjisStr = "\u2014\u301C\u2016\u2212\u00A2\u00A3\u00AC"; + private static String winStr = "\u2015\uFF5E\u2225\uFF0D\uFFE0\uFFE1\uFFE2\u2252\u2261\u222B\u2211\u221A\u22A5\u2220\u2235\u2229\u222A"; + + private static String compStr = "\u304B\u309A\u304D\u309A\u304F\u309A\u3051\u309A\u3053\u309A\u30AB\u309A\u30AD\u309A\u30AF\u309A\u30B1\u309A\u30B3\u309A\u30BB\u309A\u30C4\u309A\u30C8\u309A\u31F7\u309A\u00E6\u0300\u0254\u0300\u0254\u0301\u028C\u0300\u028C\u0301\u0259\u0300\u0259\u0301\u025A\u0300\u025A\u0301\u02E9\u02E5\u02E5\u02E9"; + private static byte[] compBytes = new byte[] { + (byte)0x82, (byte)0xf5, + (byte)0x82, (byte)0xf6, + (byte)0x82, (byte)0xf7, + (byte)0x82, (byte)0xf8, + (byte)0x82, (byte)0xf9, + (byte)0x83, (byte)0x97, + (byte)0x83, (byte)0x98, + (byte)0x83, (byte)0x99, + (byte)0x83, (byte)0x9a, + (byte)0x83, (byte)0x9b, + (byte)0x83, (byte)0x9c, + (byte)0x83, (byte)0x9d, + (byte)0x83, (byte)0x9e, + (byte)0x83, (byte)0xf6, + (byte)0x86, (byte)0x63, + (byte)0x86, (byte)0x67, + (byte)0x86, (byte)0x68, + (byte)0x86, (byte)0x69, + (byte)0x86, (byte)0x6a, + (byte)0x86, (byte)0x6b, + (byte)0x86, (byte)0x6c, + (byte)0x86, (byte)0x6d, + (byte)0x86, (byte)0x6e, + (byte)0x86, (byte)0x85, + (byte)0x86, (byte)0x86 }; + + private static String mixedStr = "\u002B\u0041\u007a\uff61\uff9f\u3000\u30a1\u4e00\u304B\u309A\u304b"; + private static byte[] mixedBytes = new byte[] { + (byte)0x2b, + (byte)0x41, (byte)0x7a, + (byte)0xa1, (byte)0xdf, + (byte)0x81, (byte)0x40, + (byte)0x83, (byte)0x40, + (byte)0x88, (byte)0xea, + (byte)0x82, (byte)0xf5, // composite + (byte)0x82, (byte)0xa9 }; // base without cc + + //base + base + cc + private static String mixedCompStr = "\u304D\u304B\u309A"; + private static byte[] mixedCompBytes = new byte[] { + (byte)0x82, (byte)0xab, (byte)0x82, (byte)0xf5}; + + private static char[] unmappableChars = new char[] { + 0x80, 0xfffc, 0xfffd}; + + private static byte[] unmappableBytes = new byte[] { + 0x3f, 0x3f, 0x3f}; + + public static void main(String[] args) throws Exception { + if (!winStr.equals(new String(winStr.getBytes("MS932"), "MS932_0213"))) + throw new RuntimeException("MS932_0213 failed on special codepoints!"); + + if (!(Arrays.equals(compStr.getBytes("MS932_0213"), compBytes)) || + !compStr.equals(new String(compBytes, "MS932_0213"))) + throw new RuntimeException("MS932_0213 failed on composites!"); + + if (!(Arrays.equals(mixedStr.getBytes("MS932_0213"), mixedBytes)) || + !mixedStr.equals(new String(mixedBytes, "MS932_0213"))) + throw new RuntimeException("MS932_0213 failed on mixed!"); + + if (!sjisStr.equals(new String(sjisStr.getBytes("SJIS"), "SJIS_0213"))) + throw new RuntimeException("SJIS_0213 failed on special codepoints!"); + + if (!(Arrays.equals(compStr.getBytes("SJIS_0213"), compBytes)) || + !compStr.equals(new String(compBytes, "SJIS_0213"))) + throw new RuntimeException("SJIS_0213 failed on composites!"); + + if (!(Arrays.equals(mixedStr.getBytes("SJIS_0213"), mixedBytes)) || + !mixedStr.equals(new String(mixedBytes, "SJIS_0213"))) + throw new RuntimeException("SJIS_0213 failed on mixed!"); + + if (!(Arrays.equals(mixedCompStr.getBytes("SJIS_0213"), mixedCompBytes)) || + !mixedCompStr.equals(new String(mixedCompBytes, "SJIS_0213"))) + throw new RuntimeException("SJIS_0213 failed on mixedComp!"); + + if (!Arrays.equals(new String(unmappableChars).getBytes("SJIS_0213"), unmappableBytes) || + !Arrays.equals(new String(unmappableChars).getBytes("MS932_0213"), unmappableBytes)) + throw new RuntimeException("SJIS/MS932_0213 failed on unmappable encoding!"); + } +} diff --git a/test/sun/nio/cs/TestTrailingEscapesISO2022JP.java b/test/sun/nio/cs/TestTrailingEscapesISO2022JP.java new file mode 100644 index 000000000..f83f75fc2 --- /dev/null +++ b/test/sun/nio/cs/TestTrailingEscapesISO2022JP.java @@ -0,0 +1,65 @@ +/* + * Copyright 2008 Sun Microsystems, Inc. All Rights Reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, + * CA 95054 USA or visit www.sun.com if you need additional information or + * have any questions. + */ + +/* @test + @bug 4697605 4741233 + @summary Check decoder behaves correctly in ISO2022_JP + */ + +import java.io.*; + +public class TestTrailingEscapesISO2022JP { + + public static void main(String[] args) throws Exception { + + ByteArrayOutputStream out = new ByteArrayOutputStream(); + int len; + + InputStream in = + new FileInputStream(new File(System.getProperty("test.src", "."), + "ISO2022JP.trailEsc")); + try { + byte[] b = new byte[4096]; + while ( ( len = in.read( b, 0, b.length ) ) != -1 ) { + out.write(b, 0, len); + } + } finally { + in.close(); + } + + Reader inR = new InputStreamReader(new ByteArrayInputStream( + out.toByteArray()), + "iso-2022-jp"); + + try { + char[] c = new char[4096]; + while ( ( len = inR.read( c, 0, c.length ) ) != -1 ) { + System.out.println(len); + if (len == 0) + throw new Exception("Read returned zero!"); + } + } finally { + inR.close(); + } + } +} diff --git a/test/sun/nio/cs/TestUTF8BOM.java b/test/sun/nio/cs/TestUTF8BOM.java new file mode 100644 index 000000000..dd40c53f2 --- /dev/null +++ b/test/sun/nio/cs/TestUTF8BOM.java @@ -0,0 +1,92 @@ +/* + * Copyright 2008 Sun Microsystems, Inc. All Rights Reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, + * CA 95054 USA or visit www.sun.com if you need additional information or + * have any questions. + */ + +/* @test + @bug 4508058 6378911 + @summary Check if UTF8 decoder handles BOM correctly + */ + +import java.io.IOException; +import java.nio.BufferOverflowException; +import java.nio.*; +import java.nio.charset.*; + +/* The fix for 6378911 is to backout the change we made for 4508058, + so this regtest is modified accordingly to leave the beginning + BOM untouched during decoding. + */ +public class TestUTF8BOM { + private static ByteBuffer bf = ByteBuffer.allocateDirect(1000); + private static void testDecode(String expected, byte[] input) + throws Exception + { + String out = new String(input, "utf8"); + if (!out.equals(expected)) { + failureReport (out, expected); + throw new Exception("UTF_8 Decoding test failed"); + } + + //try directBuffer. + bf.clear(); + bf.put(input).flip(); + out = Charset.forName("UTF-8") + .decode(bf) + .toString(); + if (!out.equals(expected)) { + failureReport (out, expected); + throw new Exception("UTF_8 Decoding test failed(directbuffer)"); + } + } + + private static void failureReport(String testStr, + String expected) { + + System.err.println ("Expected Characters:"); + for (int i = 0; i < expected.length() ; i++) { + System.out.println("expected char[" + i + "] : " + + Integer.toHexString((int)expected.charAt(i)) + + " obtained char[" + i + "] : " + + Integer.toHexString((int)testStr.charAt(i))); + } + } + + public static void main (String[] args) throws Exception { + // Test 1: with BOM at beginning + testDecode("\ufeff\u0092\u0093", + new byte[] { (byte) 0xef, (byte) 0xbb, (byte) 0xbf, + (byte) 0xc2, (byte) 0x92, + (byte) 0xc2, (byte) 0x93 }); + // Test 2: with BOM at middle + testDecode("\u9200\ufeff\u9300", + new byte[] { (byte) 0xe9, (byte) 0x88, (byte) 0x80, + (byte) 0xef, (byte) 0xbb, (byte) 0xbf, + (byte) 0xe9, (byte) 0x8c, (byte) 0x80 }); + + // Test 3: with BOM at end + testDecode("\u9200\u9300\ufeff", + new byte[] { (byte) 0xe9, (byte) 0x88, (byte) 0x80, + (byte) 0xe9, (byte) 0x8c, (byte) 0x80, + (byte) 0xef, (byte) 0xbb, (byte) 0xbf }); + System.err.println ("\nPASSED UTF-8 decode BOM test"); + } +} diff --git a/test/sun/nio/cs/TestUTF_16.java b/test/sun/nio/cs/TestUTF_16.java new file mode 100644 index 000000000..3e1b91ae7 --- /dev/null +++ b/test/sun/nio/cs/TestUTF_16.java @@ -0,0 +1,196 @@ +/* + * Copyright 2008 Sun Microsystems, Inc. All Rights Reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, + * CA 95054 USA or visit www.sun.com if you need additional information or + * have any questions. + */ + +/* @test + @bug 4403848 6348426 6407730 + @summary Check correctness of the UTF-16 converter in all its flavors + */ + +import java.io.IOException; +import java.nio.BufferOverflowException; +import java.nio.*; +import java.nio.charset.*; + +public class TestUTF_16 { + + private static void testDecode(String charset, + String expected, + byte[] input) + throws Exception + { + String out = new String(input, charset); + if (!out.equals(expected)) { + failureReport (out, expected); + throw new Exception("UTF_16 Decoding test failed " + charset); + } + } + + private static void testEncode(String charset, + String input, + byte[] expected) + throws Exception + { + byte[] testBytes = input.getBytes(charset); + for (int i = 0; i< expected.length; i++) + if (testBytes[i] != expected[i]) + throw new Exception("UTF_16 Encoding test failed " + charset); + + } + + private static void warn(String s) { + System.err.println("FAILED Test 4403848 UTF-16" + + s) ; + } + + private static void failureReport(String testStr, + String expected) { + + System.err.println ("Expected Characters:"); + for (int i = 0; i < expected.length() ; i++) { + warn("expected char[" + i + "] : " + + Integer.toHexString((int)expected.charAt(i)) + + "obtained char[" + i + "] : " + + Integer.toHexString((int)testStr.charAt(i))); + } + } + + /* + private static void checkResult(char[] expected, + String testStr, + String testName) + throws Exception + { + if (testStr.length() != expected.length) + failureReport(testStr, expected); + + for (int i = 0; i < testStr.length(); i++) { + if (testStr.charAt(i) != expected[i]) { + failureReport(testStr, expected); + throw new Exception ("REGTEST TestUTF16 failed: " + + testName); + } + } + System.err.println ("Test " + testName + " PASSED"); + return; + } + */ + + private static void test() throws Exception { + + // Tests: Check decoding of UTF-16. + // Ensures correct endian polarity + // of the decoders and appropriate + // interpretation of BOM bytes where + // they are required. + + // Test 1: BigEndian UTF-16 Decoding + + testDecode("UTF_16BE", "\u0092\u0093", + new byte[] { (byte) 0x00, (byte) 0x92, + (byte) 0x00, (byte) 0x93 }); + + // Test 1a: BigEndian UTF-16 Decoding. BOM bytes provided. + testDecode("UTF_16BE", "\ufeff\u0092\u0093", + new byte[] { (byte) 0xfe, (byte) 0xff, + (byte) 0x00, (byte) 0x92, + (byte) 0x00, (byte) 0x93 }); + + testDecode("UTF_16LE", "\u9200\u9300", + new byte[] { (byte) 0x00, (byte) 0x92, + (byte) 0x00, (byte) 0x93 }); + + // Test 2a: LittleEndian UTF-16 Decoding, BOM bytes provided. + testDecode("UTF_16LE", "\ufeff\u9200\u9300", + new byte[] { (byte) 0xff, (byte) 0xfe, + (byte) 0x00, (byte) 0x92, + (byte) 0x00, (byte) 0x93 }); + + // Test 3: UTF-16 (with mandatory byte order mark) Decoding + + testDecode("UTF-16", "\u9200\u9300", + new byte[] { (byte) 0xfe, (byte) 0xff, + (byte) 0x92, (byte) 0x00, + (byte) 0x93, (byte) 0x00 }); + + + // Test 3a: UTF-16 BOM omitted. This should decode OK. + testDecode("UTF-16", "\u9200\u9300", + new byte[] { (byte) 0x92, (byte) 0x00, + (byte) 0x93, (byte) 0x00 }); + + + // Test 4: encoding using UTF-16 + // BOM must be emitted when encoding and must be BigEndian. + + testEncode("UTF-16", "\u0123", + new byte[] { (byte) 0xfe, (byte) 0xff, + (byte) 0x01, (byte) 0x23 }); + + // Test 5: + if (CoderResult.OVERFLOW != + Charset.forName("UTF_16") + .newDecoder() + .decode((ByteBuffer)(ByteBuffer.allocate(4) + .put(new byte[] + {(byte)0xd8,(byte)0x00, + (byte)0xdc,(byte)0x01}) + .flip()), + CharBuffer.allocate(1), + true)) { + throw new Exception ("REGTEST TestUTF16 Overflow test failed"); + } + + // Test 6: decoding using UTF_16LE_BOM/UnicodeLittle + // UnicodeLittle should accept non-BOM byte sequence + + testDecode("UnicodeLittle", "Arial", + new byte[] { 'A', 0, 'r', 0, 'i', 0, 'a', 0, 'l', 0}); + + System.err.println ("\nPASSED UTF-16 encoder test"); + + // Reversed BOM in middle of stream Negative test. + + /* + boolean caughtException = false; + try { + String out = new String(new byte[] {(byte)0x00, + (byte)0x92, + (byte)0xff, + (byte)0xfe}, + "UTF-16"); + } catch (IOException e) { caughtException = true; } + + if (caughtException == false) + throw new Exception ("Incorrectly parsed BOM in middle of input"); + */ + + // Fixed included with bug 4403848 fixes buffer sizing + // issue due to non provision of additional 2 bytes + // headroom for initial BOM bytes for UTF-16 encoding. + System.err.println ("OVERALL PASS OF UTF-16 Test"); + } + + public static void main (String[] args) throws Exception { + test(); + } +} diff --git a/test/sun/nio/cs/TestUTF_32.java b/test/sun/nio/cs/TestUTF_32.java new file mode 100644 index 000000000..a9ccf061c --- /dev/null +++ b/test/sun/nio/cs/TestUTF_32.java @@ -0,0 +1,197 @@ +/* + * Copyright 2008 Sun Microsystems, Inc. All Rights Reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, + * CA 95054 USA or visit www.sun.com if you need additional information or + * have any questions. + */ + +/* + @bug 6346419 + @summary Check correctness of the UTF-32 and its variant charsets + */ + +import java.io.*; +import java.nio.*; +import java.nio.charset.*; + +public class TestUTF_32 { + private static void testDecode(String charset, + String expected, + byte[] input) + throws Exception + { + String out = new String(input, charset); + if (!out.equals(expected)) { + failureReport (out, expected); + throw new Exception("UTF_32 Decoding test failed: " + charset); + } + } + + private static void testEncode(String charset, + String input, + byte[] expected) + throws Exception + { + byte[] testBytes = input.getBytes(charset); + for (int i = 0; i< expected.length; i++) + if (testBytes[i] != expected[i]) + throw new Exception("UTF_32 Encoding test failed: [" + i + "]"+ charset); + + } + + private static void warn(String s) { + System.err.println("FAILED Test UTF-32:" + + s) ; + } + + private static void failureReport(String testStr, + String expected) { + System.err.println ("Expected Characters:"); + for (int i = 0; i < expected.length() ; i++) { + warn("expected char[" + i + "] : " + + Integer.toHexString((int)expected.charAt(i)) + + "obtained char[" + i + "] : " + + Integer.toHexString((int)testStr.charAt(i))); + } + } + + private static void writeInt(OutputStream os, int i, boolean isBig) + throws Exception + { + if (isBig) { + os.write((i>>24) & 0xff); + os.write((i>>16) & 0xff); + os.write((i>>8) & 0xff); + os.write(i & 0xff); + } else { + os.write(i & 0xff); + os.write((i>>8) & 0xff); + os.write((i>>16) & 0xff); + os.write((i>>24) & 0xff); + } + } + + private static byte[] getBytes(boolean doBOM, boolean isBig) + throws Exception + { + ByteArrayOutputStream baos = new ByteArrayOutputStream(1024*1024); + if (doBOM) + writeInt(baos, 0xfeff, isBig); + + for (int i = 0; i < 0xffff; i++) { + if (i < Character.MIN_SURROGATE || + i > Character.MAX_SURROGATE) + writeInt(baos, i, isBig); + } + for (int i = 0x10000; i < 0x1ffff; i++) { + writeInt(baos, i, isBig); + } + + for (int i = 0x100000; i < 0x10ffff; i++) { + writeInt(baos, i, isBig); + } + byte[] bb = baos.toByteArray(); + baos.close(); + return bb; + } + + public static void main (String[] args) throws Exception { + byte[] bb; + String s; + + // Test 1: UTF_32 BigEndian + bb = getBytes(false, true); + s = new String(bb, "UTF-32"); + testDecode("UTF_32", s, bb); + testEncode("UTF_32", s, bb); + + // Test 2: UTF_32 LittleEndian Decoding With BOM and + // BigEndian Encoding + bb = getBytes(true, false); + s = new String(bb, "UTF-32"); + bb = getBytes(false, true); + testDecode("UTF_32", s, bb); + testEncode("UTF_32", s, bb); + + + // Test 3: UTF_32BE + bb = getBytes(false, true); + s = new String(bb, "UTF-32BE"); + testDecode("UTF_32BE", s, bb); + testEncode("UTF_32BE", s, bb); + + + // Test 4: UTF_32LE + bb = getBytes(false, false); + s = new String(bb, "UTF-32LE"); + testDecode("UTF_32LE", s, bb); + testEncode("UTF_32LE", s, bb); + + // Test 5: UTF_32BE_BOM + bb = getBytes(true, true); + s = new String(bb, "UTF-32BE-BOM"); + testDecode("UTF_32BE_BOM", s, bb); + testEncode("UTF_32BE_BOM", s, bb); + + + // Test 6: UTF_32LE_BOM + bb = getBytes(true, false); + s = new String(bb, "UTF-32LE-BOM"); + testDecode("UTF_32LE_BOM", s, bb); + testEncode("UTF_32LE_BOM", s, bb); + + s = "\u4e00\ufffd\u4e01"; + // Test 7: BigEndian with reverse BOM in middle + bb = new byte[] { + (byte)0x00,(byte)0x00,(byte)0x4e,(byte)0x00, + (byte)0xff,(byte)0xfe,(byte)0x00,(byte)0x00, + (byte)0x00,(byte)0x00,(byte)0x4e,(byte)0x01 + }; + if (!s.equals(new String(bb, "UTF_32")) || + !s.equals(new String(bb, "UTF_32BE")) || + !s.equals(new String(bb, "UTF_32BE_BOM"))) + throw new Exception("UTF_32 Decoding test failed: "); + + // Test 7: LittleEndian with reverse BOM in middle + bb = new byte[] { + (byte)0xff,(byte)0xfe,(byte)0x00,(byte)0x00, + (byte)0x00,(byte)0x4e,(byte)0x00,(byte)0x00, + (byte)0x00,(byte)0x00,(byte)0xfe,(byte)0xff, + (byte)0x01,(byte)0x4e,(byte)0x00,(byte)0x00 + }; + if (!s.equals(new String(bb, "UTF_32")) || + !s.equals(new String(bb, "UTF_32LE")) || + !s.equals(new String(bb, "UTF_32LE_BOM"))) + throw new Exception("UTF_32 Decoding test failed: "); + + // Test 8: Overflow + if (CoderResult.OVERFLOW != + Charset.forName("UTF_32") + .newDecoder() + .decode((ByteBuffer)(ByteBuffer.allocate(4) + .put(new byte[] + {(byte)0,(byte)1, (byte)0,(byte)01}) + .flip()), + CharBuffer.allocate(1), + true)) { + throw new Exception ("Test UTF-32 Overflow test failed"); + } + System.err.println ("OVERALL PASS OF UTF-32 Test"); + } +} diff --git a/test/sun/nio/cs/TestUni2HKSCS.java b/test/sun/nio/cs/TestUni2HKSCS.java new file mode 100644 index 000000000..08a8a13db --- /dev/null +++ b/test/sun/nio/cs/TestUni2HKSCS.java @@ -0,0 +1,327 @@ +/* + * Copyright 2008 Sun Microsystems, Inc. All Rights Reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, + * CA 95054 USA or visit www.sun.com if you need additional information or + * have any questions. + */ + +/* @test + @bug 4634811 + @summary Check Unicode 2.1 --> Big5-HKSCS reverse compatible mappings + */ + +/* + * Mappings sourced from www.info.gov.hk/digital21/eng/hkscs + */ + +public class TestUni2HKSCS { + private static final String uni21String = + "\uF3F5\uF3F8\uF3FD\uF403\uF413\uF415\uF418\uF419\uF41A"+ + "\uF424\uF426\uF428\uF42B\uF42C\uF42D\uF437\uF439"+ + "\uF43A\uF43C\uF445\uF44A\uF44E\uF44F\uF464\uF468"+ + "\uF46A\uF46B\uF473\uF47A\uF487\uF489\uF493\uF494"+ + "\uF496\uF49D\uF4A2\uF4AB\uF4AC\uF4AE\uF4B5\uF4C6"+ + "\uF4CB\uF4D6\uF4E1\uF4FA\uF502\uF504\uF51E\uF529"+ + "\uF52D\uF52E\uF530\uF536\uF540\uF544\uF554\uF637"+ + "\uF638\uF63B\uF63C\uF641\uF642\uF643\uF644\uF648"+ + "\uF64C\uF651\uF653\uF658\uF65D\uF65F\uF662\uF664"+ + "\uF666\uF669\uF66C\uF66D\uF66E\uF675\uF677\uF67C"+ + "\uF67E\uF688\uF68D\uF69D\uF6A1\uF6A2\uF6A5\uF6A7"+ + "\uF6AE\uF6AF\uE316\uE326\uE32A\uE33C\uE351\uE35E"+ + "\uE368\uE376\uE378\uE387\uE39C\uE3AD\uE3B3\uE3BE"+ + "\uE3C2\uE3C7\uE3CB\uE3D1\uE3D2\uE3DE\uE3E2\uE3E4"+ + "\uE3E8\uE3EA\uE3F5\uE3F7\uE406\uE40E\uE427\uE437"+ + "\uE43D\uE449\uE44F\uE460\uE46B\uE47A\uE493\uE4A0"+ + "\uE4A5\uE4A9\uE4B2\uE4BE\uE4BF\uE4C0\uE4DE\uE4E3"+ + "\uE4E5\uE4ED\uE4F7\uE500\uE507\uE50E\uE534\uE539"+ + "\uE53A\uE53B\uE53D\uE541\uE553\uE569\uE574\uE578"+ + "\uE57B\uE57F\uE591\uE596\uE597\uE598\uE59C\uE5AE"+ + "\uE5B9\uE5BC\uE5E0\uE5EC\uE5F5\uE5FA\uE5FE\uE60C"+ + "\uE61D\uE629\uE62D\uE639\uE63B\uE63D\uE651\uE664"+ + "\uE675\uE681\uE682\uE68D\uE694\uE69D\uE6A0\uE6A4"+ + "\uE6A9\uE6AB\uE6B6\uE6C8\uE6E2\uE6E3\uE6E8\uE6ED"+ + "\uE6EF\uE6F1\uE6F4\uE6F8\uE6FD\uE6FE\uE700\uE712"+ + "\uE716\uE719\uE726\uE72E\uE730\uE738\uE73A\uE73B"+ + "\uE749\uE74C\uE760\uE776\uE77E\uE780\uE78F\uE7AA"+ + "\uE7AC\uE7AD\uE7AE\uE7C0\uE7C1\uE7C7\uE7CB\uE7D0"+ + "\uE7D5\uE7D9\uE7E6\uE7EA\uE7F0\uE7F6\uE7FA\uE806"+ + "\uE815\uE81B\uE81D\uE822\uE824\uE82E\uE831\uE832"+ + "\uE83D\uE83F\uE850\uE853\uE85F\uE86B\uE86D\uE876"+ + "\uE880\uE88E\uE899\uE89B\uE89C\uE8B3\uE8B7\uE8BC"+ + "\uE8D2\uE8E2\uE8E4\uE8EC\uE8EE\uE8F4\uE8F6\uE8F7"+ + "\uE8F9\uE8FA\uE8FD\uE901\uE906\uE90B\uE90E\uE90F"+ + "\uE910\uE911\uE912\uE915\uE91B\uE931\uE932\uE946"+ + "\uE949\uE965\uE96C\uE979\uE98D\uE994\uE996\uE99C"+ + "\uE99D\uE99E\uE99F\uE9A1\uE9A2\uE9A7\uE9AA\uE9AC"+ + "\uE9AE\uE9B5\uE9B7\uE9B9\uE9BA\uE9BC\uE9BD\uE9C5"+ + "\uE9CF\uE9D0\uE9D6\uE9D8\uE9DB\uE9DE\uE9E5\uE9E6"+ + "\uE9E9\uE9EB\uE9F7\uE9FE\uEA03\uEA0A\uEA0B\uEA0F"+ + "\uEA13\uEA15\uEA1B\uEA21\uEA2A\uEA31\uEA35\uEA3C"+ + "\uEA3D\uEA4C\uEA4F\uEA57\uEA63\uEA66\uEA75\uEA76"+ + "\uEA7D\uEA82\uEA85\uEA87\uEA89\uEA8D\uEA90\uEA9B"+ + "\uEA9D\uEAA6\uEAA8\uEAC8\uEAF7\uEB17\uEB51\uEB52"+ + "\uEB60\uEB66\uEB6A\uEB87\uEB8B\uEB92\uEB96\uEBB1"+ + "\uEBC3\uEBD6\uEBE0\uEBE6\uEBEA\uEBFF\uEC00\uEC03"+ + "\uEC0B\uEC0D\uEC16\uEC3D\uEC4A\uEC4D\uEC53\uEC55"+ + "\uEC61\uEC77\uEC7C\uEC7F\uEC87\uEC8C\uEC8F\uEC97"+ + "\uECAE\uECB0\uECD0\uECD5\uECF4\uED05\uED1B\uED1F"+ + "\uED23\uED33\uED37\uED38\uED3A\uED44\uED48\uED4C"+ + "\uED59\uED5C\uED5D\uED5E\uED64\uED66\uED6D\uED6F"+ + "\uED7B\uEDAE\uEDC1\uEDF3\uEDF5\uEE2E\uEE43\uEE45"+ + "\uEE4A\uEE53\uEE59\uEE65\uEE89\uEE93\uEE97\uEE9F"+ + "\uEEB2\uF6DD\uF820\uF821\uF822\uF823\uF824\uF825"+ + "\uF826\uF827\uF828\uF829\uF82A\uF82B\uF82C\uF82D"+ + "\uF82E\uF82F\uF830\uF831\uF832\uF833\uF834\uF835"+ + "\uF836\uF837\uF838\uF839\uF83A\uF83B\uE005\uE008"+ + "\uE028\uE02B\uE043\uE06A\uE06B\uE06E\uE07E\uE086"+ + "\uE098\uE09B\uE0A0\uE0A8\uE0BB\uE0C2\uE0CD\uE0D7"+ + "\uE0DA\uE0F1\uE0F4\uE0FA\uE0FC\uE104\uE105\uE10E"+ + "\uE117\uE125\uE12A\uE12B\uE13C\uE143\uE144\uE153"+ + "\uE15E\uE15F\uE160\uE164\uE17E\uE18C\uE19A\uE19C"+ + "\uE1A7\uE1A9\uE1C6\uE1CF\uE1E0\uE1E1\uE1E3\uE1E7"+ + "\uE1EA\uE1F4\uE1F8\uE203\uE211\uE217\uE218\uE239"+ + "\uE23F\uE243\uE246\uE25D\uE25E\uE281\uE28A\uE298"+ + "\uE2A2\uE2AC\uE2B1\uE2C8\uE2D7\uE30D"; + + private static final byte[] expectedBytes = + {(byte)0x89,(byte)0xb7,(byte)0x89,(byte)0xba,(byte)0x89, + (byte)0xbf,(byte)0x89,(byte)0xc5,(byte)0x89,(byte)0xd5, + (byte)0x89,(byte)0xd7,(byte)0x89,(byte)0xda,(byte)0x89, + (byte)0xdb,(byte)0x89,(byte)0xdc,(byte)0x89,(byte)0xe6, + (byte)0x89,(byte)0xe8,(byte)0x89,(byte)0xea,(byte)0x89, + (byte)0xed,(byte)0x89,(byte)0xee,(byte)0x89,(byte)0xef, + (byte)0x89,(byte)0xf9,(byte)0x89,(byte)0xfb,(byte)0x89, + (byte)0xfc,(byte)0x89,(byte)0xfe,(byte)0x8a,(byte)0x48, + (byte)0x8a,(byte)0x4d,(byte)0x8a,(byte)0x51,(byte)0x8a, + (byte)0x52,(byte)0x8a,(byte)0x67,(byte)0x8a,(byte)0x6b, + (byte)0x8a,(byte)0x6d,(byte)0x8a,(byte)0x6e,(byte)0x8a, + (byte)0x76,(byte)0x8a,(byte)0x7d,(byte)0x8a,(byte)0xac, + (byte)0x8a,(byte)0xae,(byte)0x8a,(byte)0xb8,(byte)0x8a, + (byte)0xb9,(byte)0x8a,(byte)0xbb,(byte)0x8a,(byte)0xc2, + (byte)0x8a,(byte)0xc7,(byte)0x8a,(byte)0xd0,(byte)0x8a, + (byte)0xd1,(byte)0x8a,(byte)0xd3,(byte)0x8a,(byte)0xda, + (byte)0x8a,(byte)0xeb,(byte)0x8a,(byte)0xf0,(byte)0x8a, + (byte)0xfb,(byte)0x8b,(byte)0x47,(byte)0x8b,(byte)0x60, + (byte)0x8b,(byte)0x68,(byte)0x8b,(byte)0x6a,(byte)0x8b, + (byte)0xa6,(byte)0x8b,(byte)0xb1,(byte)0x8b,(byte)0xb5, + (byte)0x8b,(byte)0xb6,(byte)0x8b,(byte)0xb8,(byte)0x8b, + (byte)0xbe,(byte)0x8b,(byte)0xc8,(byte)0x8b,(byte)0xcc, + (byte)0x8b,(byte)0xdc,(byte)0x8d,(byte)0x63,(byte)0x8d, + (byte)0x64,(byte)0x8d,(byte)0x67,(byte)0x8d,(byte)0x68, + (byte)0x8d,(byte)0x6d,(byte)0x8d,(byte)0x6e,(byte)0x8d, + (byte)0x6f,(byte)0x8d,(byte)0x70,(byte)0x8d,(byte)0x74, + (byte)0x8d,(byte)0x78,(byte)0x8d,(byte)0x7d,(byte)0x8d, + (byte)0xa1,(byte)0x8d,(byte)0xa6,(byte)0x8d,(byte)0xab, + (byte)0x8d,(byte)0xad,(byte)0x8d,(byte)0xb0,(byte)0x8d, + (byte)0xb2,(byte)0x8d,(byte)0xb4,(byte)0x8d,(byte)0xb7, + (byte)0x8d,(byte)0xba,(byte)0x8d,(byte)0xbb,(byte)0x8d, + (byte)0xbc,(byte)0x8d,(byte)0xc3,(byte)0x8d,(byte)0xc5, + (byte)0x8d,(byte)0xca,(byte)0x8d,(byte)0xcc,(byte)0x8d, + (byte)0xd6,(byte)0x8d,(byte)0xdb,(byte)0x8d,(byte)0xeb, + (byte)0x8d,(byte)0xef,(byte)0x8d,(byte)0xf0,(byte)0x8d, + (byte)0xf3,(byte)0x8d,(byte)0xf5,(byte)0x8d,(byte)0xfc, + (byte)0x8d,(byte)0xfd,(byte)0x8e,(byte)0x45,(byte)0x8e, + (byte)0x55,(byte)0x8e,(byte)0x59,(byte)0x8e,(byte)0x6b, + (byte)0x8e,(byte)0xa2,(byte)0x8e,(byte)0xaf,(byte)0x8e, + (byte)0xb9,(byte)0x8e,(byte)0xc7,(byte)0x8e,(byte)0xc9, + (byte)0x8e,(byte)0xd8,(byte)0x8e,(byte)0xed,(byte)0x8e, + (byte)0xfe,(byte)0x8f,(byte)0x45,(byte)0x8f,(byte)0x50, + (byte)0x8f,(byte)0x54,(byte)0x8f,(byte)0x59,(byte)0x8f, + (byte)0x5d,(byte)0x8f,(byte)0x63,(byte)0x8f,(byte)0x64, + (byte)0x8f,(byte)0x70,(byte)0x8f,(byte)0x74,(byte)0x8f, + (byte)0x76,(byte)0x8f,(byte)0x7a,(byte)0x8f,(byte)0x7c, + (byte)0x8f,(byte)0xa9,(byte)0x8f,(byte)0xab,(byte)0x8f, + (byte)0xba,(byte)0x8f,(byte)0xc2,(byte)0x8f,(byte)0xdb, + (byte)0x8f,(byte)0xeb,(byte)0x8f,(byte)0xf1,(byte)0x8f, + (byte)0xfd,(byte)0x90,(byte)0x44,(byte)0x90,(byte)0x55, + (byte)0x90,(byte)0x60,(byte)0x90,(byte)0x6f,(byte)0x90, + (byte)0xaa,(byte)0x90,(byte)0xb7,(byte)0x90,(byte)0xbc, + (byte)0x90,(byte)0xc0,(byte)0x90,(byte)0xc9,(byte)0x90, + (byte)0xd5,(byte)0x90,(byte)0xd6,(byte)0x90,(byte)0xd7, + (byte)0x90,(byte)0xf5,(byte)0x90,(byte)0xfa,(byte)0x90, + (byte)0xfc,(byte)0x91,(byte)0x45,(byte)0x91,(byte)0x4f, + (byte)0x91,(byte)0x58,(byte)0x91,(byte)0x5f,(byte)0x91, + (byte)0x66,(byte)0x91,(byte)0xae,(byte)0x91,(byte)0xb3, + (byte)0x91,(byte)0xb4,(byte)0x91,(byte)0xb5,(byte)0x91, + (byte)0xb7,(byte)0x91,(byte)0xbb,(byte)0x91,(byte)0xcd, + (byte)0x91,(byte)0xe3,(byte)0x91,(byte)0xee,(byte)0x91, + (byte)0xf2,(byte)0x91,(byte)0xf5,(byte)0x91,(byte)0xf9, + (byte)0x92,(byte)0x4c,(byte)0x92,(byte)0x51,(byte)0x92, + (byte)0x52,(byte)0x92,(byte)0x53,(byte)0x92,(byte)0x57, + (byte)0x92,(byte)0x69,(byte)0x92,(byte)0x74,(byte)0x92, + (byte)0x77,(byte)0x92,(byte)0xbd,(byte)0x92,(byte)0xc9, + (byte)0x92,(byte)0xd2,(byte)0x92,(byte)0xd7,(byte)0x92, + (byte)0xdb,(byte)0x92,(byte)0xe9,(byte)0x92,(byte)0xfa, + (byte)0x93,(byte)0x47,(byte)0x93,(byte)0x4b,(byte)0x93, + (byte)0x57,(byte)0x93,(byte)0x59,(byte)0x93,(byte)0x5b, + (byte)0x93,(byte)0x6f,(byte)0x93,(byte)0xa4,(byte)0x93, + (byte)0xb5,(byte)0x93,(byte)0xc1,(byte)0x93,(byte)0xc2, + (byte)0x93,(byte)0xcd,(byte)0x93,(byte)0xd4,(byte)0x93, + (byte)0xdd,(byte)0x93,(byte)0xe0,(byte)0x93,(byte)0xe4, + (byte)0x93,(byte)0xe9,(byte)0x93,(byte)0xeb,(byte)0x93, + (byte)0xf6,(byte)0x94,(byte)0x49,(byte)0x94,(byte)0x63, + (byte)0x94,(byte)0x64,(byte)0x94,(byte)0x69,(byte)0x94, + (byte)0x6e,(byte)0x94,(byte)0x70,(byte)0x94,(byte)0x72, + (byte)0x94,(byte)0x75,(byte)0x94,(byte)0x79,(byte)0x94, + (byte)0x7e,(byte)0x94,(byte)0xa1,(byte)0x94,(byte)0xa3, + (byte)0x94,(byte)0xb5,(byte)0x94,(byte)0xb9,(byte)0x94, + (byte)0xbc,(byte)0x94,(byte)0xc9,(byte)0x94,(byte)0xd1, + (byte)0x94,(byte)0xd3,(byte)0x94,(byte)0xdb,(byte)0x94, + (byte)0xdd,(byte)0x94,(byte)0xde,(byte)0x94,(byte)0xec, + (byte)0x94,(byte)0xef,(byte)0x95,(byte)0x44,(byte)0x95, + (byte)0x5a,(byte)0x95,(byte)0x62,(byte)0x95,(byte)0x64, + (byte)0x95,(byte)0x73,(byte)0x95,(byte)0xb0,(byte)0x95, + (byte)0xb2,(byte)0x95,(byte)0xb3,(byte)0x95,(byte)0xb4, + (byte)0x95,(byte)0xc6,(byte)0x95,(byte)0xc7,(byte)0x95, + (byte)0xcd,(byte)0x95,(byte)0xd1,(byte)0x95,(byte)0xd6, + (byte)0x95,(byte)0xdb,(byte)0x95,(byte)0xdf,(byte)0x95, + (byte)0xec,(byte)0x95,(byte)0xf0,(byte)0x95,(byte)0xf6, + (byte)0x95,(byte)0xfc,(byte)0x96,(byte)0x41,(byte)0x96, + (byte)0x4d,(byte)0x96,(byte)0x5c,(byte)0x96,(byte)0x62, + (byte)0x96,(byte)0x64,(byte)0x96,(byte)0x69,(byte)0x96, + (byte)0x6b,(byte)0x96,(byte)0x75,(byte)0x96,(byte)0x78, + (byte)0x96,(byte)0x79,(byte)0x96,(byte)0xa6,(byte)0x96, + (byte)0xa8,(byte)0x96,(byte)0xb9,(byte)0x96,(byte)0xbc, + (byte)0x96,(byte)0xc8,(byte)0x96,(byte)0xd4,(byte)0x96, + (byte)0xd6,(byte)0x96,(byte)0xdf,(byte)0x96,(byte)0xe9, + (byte)0x96,(byte)0xf7,(byte)0x97,(byte)0x43,(byte)0x97, + (byte)0x45,(byte)0x97,(byte)0x46,(byte)0x97,(byte)0x5d, + (byte)0x97,(byte)0x61,(byte)0x97,(byte)0x66,(byte)0x97, + (byte)0x7c,(byte)0x97,(byte)0xae,(byte)0x97,(byte)0xb0, + (byte)0x97,(byte)0xb8,(byte)0x97,(byte)0xba,(byte)0x97, + (byte)0xc0,(byte)0x97,(byte)0xc2,(byte)0x97,(byte)0xc3, + (byte)0x97,(byte)0xc5,(byte)0x97,(byte)0xc6,(byte)0x97, + (byte)0xc9,(byte)0x97,(byte)0xcd,(byte)0x97,(byte)0xd2, + (byte)0x97,(byte)0xd7,(byte)0x97,(byte)0xda,(byte)0x97, + (byte)0xdb,(byte)0x97,(byte)0xdc,(byte)0x97,(byte)0xdd, + (byte)0x97,(byte)0xde,(byte)0x97,(byte)0xe1,(byte)0x97, + (byte)0xe7,(byte)0x97,(byte)0xfd,(byte)0x97,(byte)0xfe, + (byte)0x98,(byte)0x53,(byte)0x98,(byte)0x56,(byte)0x98, + (byte)0x72,(byte)0x98,(byte)0x79,(byte)0x98,(byte)0xa8, + (byte)0x98,(byte)0xbc,(byte)0x98,(byte)0xc3,(byte)0x98, + (byte)0xc5,(byte)0x98,(byte)0xcb,(byte)0x98,(byte)0xcc, + (byte)0x98,(byte)0xcd,(byte)0x98,(byte)0xce,(byte)0x98, + (byte)0xd0,(byte)0x98,(byte)0xd1,(byte)0x98,(byte)0xd6, + (byte)0x98,(byte)0xd9,(byte)0x98,(byte)0xdb,(byte)0x98, + (byte)0xdd,(byte)0x98,(byte)0xe4,(byte)0x98,(byte)0xe6, + (byte)0x98,(byte)0xe8,(byte)0x98,(byte)0xe9,(byte)0x98, + (byte)0xeb,(byte)0x98,(byte)0xec,(byte)0x98,(byte)0xf4, + (byte)0x98,(byte)0xfe,(byte)0x99,(byte)0x40,(byte)0x99, + (byte)0x46,(byte)0x99,(byte)0x48,(byte)0x99,(byte)0x4b, + (byte)0x99,(byte)0x4e,(byte)0x99,(byte)0x55,(byte)0x99, + (byte)0x56,(byte)0x99,(byte)0x59,(byte)0x99,(byte)0x5b, + (byte)0x99,(byte)0x67,(byte)0x99,(byte)0x6e,(byte)0x99, + (byte)0x73,(byte)0x99,(byte)0x7a,(byte)0x99,(byte)0x7b, + (byte)0x99,(byte)0xa1,(byte)0x99,(byte)0xa5,(byte)0x99, + (byte)0xa7,(byte)0x99,(byte)0xad,(byte)0x99,(byte)0xb3, + (byte)0x99,(byte)0xbc,(byte)0x99,(byte)0xc3,(byte)0x99, + (byte)0xc7,(byte)0x99,(byte)0xce,(byte)0x99,(byte)0xcf, + (byte)0x99,(byte)0xde,(byte)0x99,(byte)0xe1,(byte)0x99, + (byte)0xe9,(byte)0x99,(byte)0xf5,(byte)0x99,(byte)0xf8, + (byte)0x9a,(byte)0x48,(byte)0x9a,(byte)0x49,(byte)0x9a, + (byte)0x50,(byte)0x9a,(byte)0x55,(byte)0x9a,(byte)0x58, + (byte)0x9a,(byte)0x5a,(byte)0x9a,(byte)0x5c,(byte)0x9a, + (byte)0x60,(byte)0x9a,(byte)0x63,(byte)0x9a,(byte)0x6e, + (byte)0x9a,(byte)0x70,(byte)0x9a,(byte)0x79,(byte)0x9a, + (byte)0x7b,(byte)0x9a,(byte)0xbd,(byte)0x9a,(byte)0xec, + (byte)0x9b,(byte)0x4d,(byte)0x9b,(byte)0xa9,(byte)0x9b, + (byte)0xaa,(byte)0x9b,(byte)0xb8,(byte)0x9b,(byte)0xbe, + (byte)0x9b,(byte)0xc2,(byte)0x9b,(byte)0xdf,(byte)0x9b, + (byte)0xe3,(byte)0x9b,(byte)0xea,(byte)0x9b,(byte)0xee, + (byte)0x9c,(byte)0x4a,(byte)0x9c,(byte)0x5c,(byte)0x9c, + (byte)0x6f,(byte)0x9c,(byte)0x79,(byte)0x9c,(byte)0xa1, + (byte)0x9c,(byte)0xa5,(byte)0x9c,(byte)0xba,(byte)0x9c, + (byte)0xbb,(byte)0x9c,(byte)0xbe,(byte)0x9c,(byte)0xc6, + (byte)0x9c,(byte)0xc8,(byte)0x9c,(byte)0xd1,(byte)0x9c, + (byte)0xf8,(byte)0x9d,(byte)0x46,(byte)0x9d,(byte)0x49, + (byte)0x9d,(byte)0x4f,(byte)0x9d,(byte)0x51,(byte)0x9d, + (byte)0x5d,(byte)0x9d,(byte)0x73,(byte)0x9d,(byte)0x78, + (byte)0x9d,(byte)0x7b,(byte)0x9d,(byte)0xa5,(byte)0x9d, + (byte)0xaa,(byte)0x9d,(byte)0xad,(byte)0x9d,(byte)0xb5, + (byte)0x9d,(byte)0xcc,(byte)0x9d,(byte)0xce,(byte)0x9d, + (byte)0xee,(byte)0x9d,(byte)0xf3,(byte)0x9e,(byte)0x53, + (byte)0x9e,(byte)0x64,(byte)0x9e,(byte)0x7a,(byte)0x9e, + (byte)0x7e,(byte)0x9e,(byte)0xa4,(byte)0x9e,(byte)0xb4, + (byte)0x9e,(byte)0xb8,(byte)0x9e,(byte)0xb9,(byte)0x9e, + (byte)0xbb,(byte)0x9e,(byte)0xc5,(byte)0x9e,(byte)0xc9, + (byte)0x9e,(byte)0xcd,(byte)0x9e,(byte)0xda,(byte)0x9e, + (byte)0xdd,(byte)0x9e,(byte)0xde,(byte)0x9e,(byte)0xdf, + (byte)0x9e,(byte)0xe5,(byte)0x9e,(byte)0xe7,(byte)0x9e, + (byte)0xee,(byte)0x9e,(byte)0xf0,(byte)0x9e,(byte)0xfc, + (byte)0x9f,(byte)0x70,(byte)0x9f,(byte)0xa5,(byte)0x9f, + (byte)0xd7,(byte)0x9f,(byte)0xd9,(byte)0xa0,(byte)0x53, + (byte)0xa0,(byte)0x68,(byte)0xa0,(byte)0x6a,(byte)0xa0, + (byte)0x6f,(byte)0xa0,(byte)0x78,(byte)0xa0,(byte)0x7e, + (byte)0xa0,(byte)0xac,(byte)0xa0,(byte)0xd0,(byte)0xa0, + (byte)0xda,(byte)0xa0,(byte)0xde,(byte)0xa0,(byte)0xe6, + (byte)0xa0,(byte)0xf9,(byte)0xc6,(byte)0xcd,(byte)0xc8, + (byte)0xd6,(byte)0xc8,(byte)0xd7,(byte)0xc8,(byte)0xd8, + (byte)0xc8,(byte)0xd9,(byte)0xc8,(byte)0xda,(byte)0xc8, + (byte)0xdb,(byte)0xc8,(byte)0xdc,(byte)0xc8,(byte)0xdd, + (byte)0xc8,(byte)0xde,(byte)0xc8,(byte)0xdf,(byte)0xc8, + (byte)0xe0,(byte)0xc8,(byte)0xe1,(byte)0xc8,(byte)0xe2, + (byte)0xc8,(byte)0xe3,(byte)0xc8,(byte)0xe4,(byte)0xc8, + (byte)0xe5,(byte)0xc8,(byte)0xe6,(byte)0xc8,(byte)0xe7, + (byte)0xc8,(byte)0xe8,(byte)0xc8,(byte)0xe9,(byte)0xc8, + (byte)0xea,(byte)0xc8,(byte)0xeb,(byte)0xc8,(byte)0xec, + (byte)0xc8,(byte)0xed,(byte)0xc8,(byte)0xee,(byte)0xc8, + (byte)0xef,(byte)0xc8,(byte)0xf0,(byte)0xc8,(byte)0xf1, + (byte)0xfa,(byte)0x45,(byte)0xfa,(byte)0x48,(byte)0xfa, + (byte)0x68,(byte)0xfa,(byte)0x6b,(byte)0xfa,(byte)0xa5, + (byte)0xfa,(byte)0xcc,(byte)0xfa,(byte)0xcd,(byte)0xfa, + (byte)0xd0,(byte)0xfa,(byte)0xe0,(byte)0xfa,(byte)0xe8, + (byte)0xfa,(byte)0xfa,(byte)0xfa,(byte)0xfd,(byte)0xfb, + (byte)0x43,(byte)0xfb,(byte)0x4b,(byte)0xfb,(byte)0x5e, + (byte)0xfb,(byte)0x65,(byte)0xfb,(byte)0x70,(byte)0xfb, + (byte)0x7a,(byte)0xfb,(byte)0x7d,(byte)0xfb,(byte)0xb6, + (byte)0xfb,(byte)0xb9,(byte)0xfb,(byte)0xbf,(byte)0xfb, + (byte)0xc1,(byte)0xfb,(byte)0xc9,(byte)0xfb,(byte)0xca, + (byte)0xfb,(byte)0xd3,(byte)0xfb,(byte)0xdc,(byte)0xfb, + (byte)0xea,(byte)0xfb,(byte)0xef,(byte)0xfb,(byte)0xf0, + (byte)0xfc,(byte)0x42,(byte)0xfc,(byte)0x49,(byte)0xfc, + (byte)0x4a,(byte)0xfc,(byte)0x59,(byte)0xfc,(byte)0x64, + (byte)0xfc,(byte)0x65,(byte)0xfc,(byte)0x66,(byte)0xfc, + (byte)0x6a,(byte)0xfc,(byte)0xa6,(byte)0xfc,(byte)0xb4, + (byte)0xfc,(byte)0xc2,(byte)0xfc,(byte)0xc4,(byte)0xfc, + (byte)0xcf,(byte)0xfc,(byte)0xd1,(byte)0xfc,(byte)0xee, + (byte)0xfc,(byte)0xf7,(byte)0xfd,(byte)0x49,(byte)0xfd, + (byte)0x4a,(byte)0xfd,(byte)0x4c,(byte)0xfd,(byte)0x50, + (byte)0xfd,(byte)0x53,(byte)0xfd,(byte)0x5d,(byte)0xfd, + (byte)0x61,(byte)0xfd,(byte)0x6c,(byte)0xfd,(byte)0x7a, + (byte)0xfd,(byte)0xa2,(byte)0xfd,(byte)0xa3,(byte)0xfd, + (byte)0xc4,(byte)0xfd,(byte)0xca,(byte)0xfd,(byte)0xce, + (byte)0xfd,(byte)0xd1,(byte)0xfd,(byte)0xe8,(byte)0xfd, + (byte)0xe9,(byte)0xfe,(byte)0x4d,(byte)0xfe,(byte)0x56, + (byte)0xfe,(byte)0x64,(byte)0xfe,(byte)0x6e,(byte)0xfe, + (byte)0x78,(byte)0xfe,(byte)0x7d,(byte)0xfe,(byte)0xb6, + (byte)0xfe,(byte)0xc5,(byte)0xfe,(byte)0xfb }; + + public static void main(String[] args) throws Exception { + byte[] encodedBytes = new byte[1000]; + + encodedBytes = uni21String.getBytes("Big5-HKSCS"); + + for (int i = 0; i < encodedBytes.length - 1; i++) { + if (encodedBytes[i] != expectedBytes[i] + || encodedBytes[i+1] != expectedBytes[i+1]) { + throw new Exception("Unexpected char->byte HKSCS mappings"); + } + } + } +} diff --git a/test/sun/nio/cs/TestX11JIS0201.java b/test/sun/nio/cs/TestX11JIS0201.java new file mode 100644 index 000000000..dea3e6bef --- /dev/null +++ b/test/sun/nio/cs/TestX11JIS0201.java @@ -0,0 +1,54 @@ +/* + * Copyright 2008 Sun Microsystems, Inc. All Rights Reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, + * CA 95054 USA or visit www.sun.com if you need additional information or + * have any questions. + */ + +/* @test + * @bug 4195325 + * @summary name() should return "X11JIS0201" + * + */ + +import java.nio.charset.*; + +public class TestX11JIS0201 { + + public static void main(String args[]) + throws Exception + { + test(); + } + + private static void test() + throws Exception + { + Class cl = null; + try { + cl = Class.forName("sun.awt.motif.X11JIS0201"); + } catch (Exception e){ + return; + } + Charset cs = (Charset)cl.newInstance(); + if (! cs.name().equals("X11JIS0201")){ + throw new Exception("X11JIS0201 does not work correctly"); + } + } +} diff --git a/test/sun/nio/cs/UkrainianIsNotRussian.java b/test/sun/nio/cs/UkrainianIsNotRussian.java new file mode 100644 index 000000000..d025d28aa --- /dev/null +++ b/test/sun/nio/cs/UkrainianIsNotRussian.java @@ -0,0 +1,76 @@ +/* + * Copyright 2008 Sun Microsystems, Inc. All Rights Reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, + * CA 95054 USA or visit www.sun.com if you need additional information or + * have any questions. + */ + +/* @test + @bug 4890726 + @summary Check the correctness of KOI8_U by comparing to KOI8_R + */ + +import java.util.*; +import static java.lang.Character.UnicodeBlock; + +public class UkrainianIsNotRussian { + private static String decode(byte[] bytes, String encoding) throws Throwable { + String s = new String(bytes, encoding); + equal(s.length(), 1); + check(Arrays.equals(s.getBytes(encoding), bytes)); + return s; + } + + private static void realMain(String[] args) throws Throwable { + final byte[] bytes = new byte[1]; + int differences = 0; + for (int i = 0; i < 0xff; i++) { + bytes[0] = (byte) i; + final String r = decode(bytes, "KOI8_R"); + final String u = decode(bytes, "KOI8_U"); + if (! r.equals(u)) { + differences++; + final char rc = r.charAt(0); + final char uc = u.charAt(0); + final UnicodeBlock rcb = UnicodeBlock.of(rc); + final UnicodeBlock ucb = UnicodeBlock.of(uc); + System.out.printf("%02x => %04x %s, %04x %s%n", + i, (int) rc, rcb, (int) uc, ucb); + check(rcb == UnicodeBlock.BOX_DRAWING && + ucb == UnicodeBlock.CYRILLIC); + } + } + equal(differences, 8); + } + + //--------------------- Infrastructure --------------------------- + static volatile int passed = 0, failed = 0; + static void pass() {passed++;} + static void fail() {failed++; Thread.dumpStack();} + static void fail(String msg) {System.out.println(msg); fail();} + static void unexpected(Throwable t) {failed++; t.printStackTrace();} + static void check(boolean cond) {if (cond) pass(); else fail();} + static void equal(Object x, Object y) { + if (x == null ? y == null : x.equals(y)) pass(); + else fail(x + " not equal to " + y);} + public static void main(String[] args) throws Throwable { + try {realMain(args);} catch (Throwable t) {unexpected(t);} + System.out.printf("%nPassed = %d, failed = %d%n%n", passed, failed); + if (failed > 0) throw new AssertionError("Some tests failed");} +} diff --git a/test/sun/nio/cs/ZeroedByteArrayEUCTWTest.java b/test/sun/nio/cs/ZeroedByteArrayEUCTWTest.java new file mode 100644 index 000000000..dd5b5cfc8 --- /dev/null +++ b/test/sun/nio/cs/ZeroedByteArrayEUCTWTest.java @@ -0,0 +1,52 @@ +/* + * Copyright 2008 Sun Microsystems, Inc. All Rights Reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, + * CA 95054 USA or visit www.sun.com if you need additional information or + * have any questions. + */ + +/* @test + * @bug 4522270 + @summary Ensure that a zeroed byte array produces a valid String when EUC-TW decoded + + */ + +public class ZeroedByteArrayEUCTWTest +{ + public static void main(String[] args) throws Exception { + test("cns11643"); + } + + public static void test(String encoding) throws Exception { + String result = null; + byte[] data = new byte[16]; + + for (int i = 0; i < 16; i++) { + data[i] = 0; + } + + result = new String(data, encoding); + if (result.length() != 16) + throw new Exception ("EUC_TW regression test bugID 4522270 failed"); + + for (int i=0; i < 16; i++) { + data[i] = (byte)( 32 + i); + } + } +} -- GitLab