/* * Licensed to the Apache Software Foundation (ASF) under one * or more contributor license agreements. See the NOTICE file * distributed with this work for additional information * regarding copyright ownership. The ASF licenses this file * to you under the Apache License, Version 2.0 (the * "License"); you may not use this file except in compliance * with the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, * software distributed under the License is distributed on an * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY * KIND, either express or implied. See the License for the * specific language governing permissions and limitations * under the License. * */ package org.apache.vysper.xmpp.addressing.stringprep; import java.util.Collections; import java.util.HashMap; import java.util.HashSet; import java.util.Map; import java.util.Set; import org.apache.vysper.compliance.SpecCompliant; /** * This auxiliary class contains all character maps/sets specified by RFC3454. * * see http://www.ietf.org/rfc/rfc3454.txt * @author Gerolf Seitz (gseitz@apache.org) * */ public class StringPrepConstants { @SpecCompliant(spec = "RFC3454", section = "B.1") public static final Map<String, String> B_1_CommonlyMappedtoNothing; @SpecCompliant(spec = "RFC3454", section = "B.2") public static final Map<String, String> B_2_MappingForCaseFoldingUsedWithKFC; public static final Map<String, String> B_3_MappingForCaseFoldingWithNoNormalization; @SpecCompliant(spec = "RFC3454", section = "C.1.1") public static final Set<String> C_1_1_AsciiSpaceCharacters; @SpecCompliant(spec = "RFC3454", section = "C.1.2") public static final Set<String> C_1_2_NonAsciiSpaceCharacters; @SpecCompliant(spec = "RFC3454", section = "C.2.1") public static final Set<String> C_2_1_AsciiControlCharacters; @SpecCompliant(spec = "RFC3454", section = "C.2.2") public static final Set<String> C_2_2_NonAsciiControlCharacters; @SpecCompliant(spec = "RFC3454", section = "C.3") public static final Set<String> C_3_PrivateUse; @SpecCompliant(spec = "RFC3454", section = "C.4") public static final Set<String> C_4_NonCharacterCodePoints; @SpecCompliant(spec = "RFC3454", section = "C.5") public static final Set<String> C_5_SurrogateCodes; @SpecCompliant(spec = "RFC3454", section = "C.6") public static final Set<String> C_6_InappropriateForPlainText; @SpecCompliant(spec = "RFC3454", section = "C.7") public static final Set<String> C_7_InappropriateForCanonicalRepresentation; @SpecCompliant(spec = "RFC3454", section = "C.8") public static final Set<String> C_8_ChangeDisplayPropertiesOrAreDeprecated; @SpecCompliant(spec = "RFC3454", section = "C.9") public static final Set<String> C_9_TaggingCharacters; @SpecCompliant(spec = "RFC3454", section = "D.1") public static final Set<String> D_1_CharactersWithBiDiPropertiesRorAl; @SpecCompliant(spec = "RFC3454", section = "D.2") public static final Set<String> D_2_CharactersWithBiDiPropertyL; static { B_1_CommonlyMappedtoNothing = build_B_1_CommonlyMappedtoNothing(); B_2_MappingForCaseFoldingUsedWithKFC = build_B_2_MappingForCaseFoldingUsedWithKFC(); B_3_MappingForCaseFoldingWithNoNormalization = build_B_3_MappingForCaseFoldingWithNoNormalization(); C_1_1_AsciiSpaceCharacters = build_C_1_1_AsciiSpaceCharacters(); C_1_2_NonAsciiSpaceCharacters = build_C_1_2_NonAsciiSpaceCharacters(); C_2_1_AsciiControlCharacters = build_C_2_1_AsciiControlCharacters(); C_2_2_NonAsciiControlCharacters = build_C_2_2_NonAsciiControlCharacters(); C_3_PrivateUse = build_C_3_PrivateUse(); C_4_NonCharacterCodePoints = build_C_4_NonCharacterCodePoints(); C_5_SurrogateCodes = build_C_5_SurrogateCodes(); C_6_InappropriateForPlainText = build_C_6_InappropriateForPlainText(); C_7_InappropriateForCanonicalRepresentation = build_C_7_InappropriateForCanonicalRepresentation(); C_8_ChangeDisplayPropertiesOrAreDeprecated = build_C_8_ChangeDisplayPropertiesOrAreDeprecated(); C_9_TaggingCharacters = build_C_9_TaggingCharacters(); D_1_CharactersWithBiDiPropertiesRorAl = build_D_1_CharactersWithBiDiPropertiesRorAl(); D_2_CharactersWithBiDiPropertyL = build_D_2_CharactersWithBiDiPropertyL(); } private static final Map<String, String> build_B_1_CommonlyMappedtoNothing() { Map<String, String> b_1 = new HashMap<String, String>(); b_1.put("\u00AD", ""); b_1.put("\u034F", ""); b_1.put("\u1806", ""); b_1.put("\u180B", ""); b_1.put("\u180C", ""); b_1.put("\u180D", ""); b_1.put("\u200B", ""); b_1.put("\u200C", ""); b_1.put("\u200D", ""); b_1.put("\u2060", ""); b_1.put("\uFE00", ""); b_1.put("\uFE01", ""); b_1.put("\uFE02", ""); b_1.put("\uFE03", ""); b_1.put("\uFE04", ""); b_1.put("\uFE05", ""); b_1.put("\uFE06", ""); b_1.put("\uFE07", ""); b_1.put("\uFE08", ""); b_1.put("\uFE09", ""); b_1.put("\uFE0A", ""); b_1.put("\uFE0B", ""); b_1.put("\uFE0C", ""); b_1.put("\uFE0D", ""); b_1.put("\uFE0E", ""); b_1.put("\uFE0F", ""); b_1.put("\uFEFF", ""); b_1.put("\u2060", ""); b_1.put("\uFE00", ""); b_1.put("\uFE01", ""); b_1.put("\uFE02", ""); b_1.put("\uFE03", ""); b_1.put("\uFE04", ""); b_1.put("\uFE05", ""); b_1.put("\uFE06", ""); b_1.put("\uFE07", ""); b_1.put("\uFE08", ""); b_1.put("\uFE09", ""); b_1.put("\uFE0A", ""); b_1.put("\uFE0B", ""); b_1.put("\uFE0C", ""); b_1.put("\uFE0D", ""); b_1.put("\uFE0E", ""); b_1.put("\uFE0F", ""); b_1.put("\uFEFF", ""); return Collections.unmodifiableMap(b_1); } private static final Map<String, String> build_B_2_MappingForCaseFoldingUsedWithKFC() { Map<String, String> b_2 = new HashMap<String, String>(); b_2.put("\u0041", "\u0061"); b_2.put("\u0042", "\u0062"); b_2.put("\u0043", "\u0063"); b_2.put("\u0044", "\u0064"); b_2.put("\u0045", "\u0065"); b_2.put("\u0046", "\u0066"); b_2.put("\u0047", "\u0067"); b_2.put("\u0048", "\u0068"); b_2.put("\u0049", "\u0069"); b_2.put("\u004A", "\u006A"); b_2.put("\u004B", "\u006B"); b_2.put("\u004C", "\u006C"); b_2.put("\u004D", "\u006D"); b_2.put("\u004E", "\u006E"); b_2.put("\u004F", "\u006F"); b_2.put("\u0050", "\u0070"); b_2.put("\u0051", "\u0071"); b_2.put("\u0052", "\u0072"); b_2.put("\u0053", "\u0073"); b_2.put("\u0054", "\u0074"); b_2.put("\u0055", "\u0075"); b_2.put("\u0056", "\u0076"); b_2.put("\u0057", "\u0077"); b_2.put("\u0058", "\u0078"); b_2.put("\u0059", "\u0079"); b_2.put("\u005A", "\u007A"); b_2.put("\u00B5", "\u03BC"); b_2.put("\u00C0", "\u00E0"); b_2.put("\u00C1", "\u00E1"); b_2.put("\u00C2", "\u00E2"); b_2.put("\u00C3", "\u00E3"); b_2.put("\u00C4", "\u00E4"); b_2.put("\u00C5", "\u00E5"); b_2.put("\u00C6", "\u00E6"); b_2.put("\u00C7", "\u00E7"); b_2.put("\u00C8", "\u00E8"); b_2.put("\u00C9", "\u00E9"); b_2.put("\u00CA", "\u00EA"); b_2.put("\u00CB", "\u00EB"); b_2.put("\u00CC", "\u00EC"); b_2.put("\u00CD", "\u00ED"); b_2.put("\u00CE", "\u00EE"); b_2.put("\u00CF", "\u00EF"); b_2.put("\u00D0", "\u00F0"); b_2.put("\u00D1", "\u00F1"); b_2.put("\u00D2", "\u00F2"); b_2.put("\u00D3", "\u00F3"); b_2.put("\u00D4", "\u00F4"); b_2.put("\u00D5", "\u00F5"); b_2.put("\u00D6", "\u00F6"); b_2.put("\u00D8", "\u00F8"); b_2.put("\u00D9", "\u00F9"); b_2.put("\u00DA", "\u00FA"); b_2.put("\u00DB", "\u00FB"); b_2.put("\u00DC", "\u00FC"); b_2.put("\u00DD", "\u00FD"); b_2.put("\u00DE", "\u00FE"); b_2.put("\u00DF", "\u0073\u0073"); b_2.put("\u0100", "\u0101"); b_2.put("\u0102", "\u0103"); b_2.put("\u0104", "\u0105"); b_2.put("\u0106", "\u0107"); b_2.put("\u0108", "\u0109"); b_2.put("\u010A", "\u010B"); b_2.put("\u010C", "\u010D"); b_2.put("\u010E", "\u010F"); b_2.put("\u0110", "\u0111"); b_2.put("\u0112", "\u0113"); b_2.put("\u0114", "\u0115"); b_2.put("\u0116", "\u0117"); b_2.put("\u0118", "\u0119"); b_2.put("\u011A", "\u011B"); b_2.put("\u011C", "\u011D"); b_2.put("\u011E", "\u011F"); b_2.put("\u0120", "\u0121"); b_2.put("\u0122", "\u0123"); b_2.put("\u0124", "\u0125"); b_2.put("\u0126", "\u0127"); b_2.put("\u0128", "\u0129"); b_2.put("\u012A", "\u012B"); b_2.put("\u012C", "\u012D"); b_2.put("\u012E", "\u012F"); b_2.put("\u0130", "\u0069\u0307"); b_2.put("\u0132", "\u0133"); b_2.put("\u0134", "\u0135"); b_2.put("\u0136", "\u0137"); b_2.put("\u0139", "\u013A"); b_2.put("\u013B", "\u013C"); b_2.put("\u013D", "\u013E"); b_2.put("\u013F", "\u0140"); b_2.put("\u0141", "\u0142"); b_2.put("\u0143", "\u0144"); b_2.put("\u0145", "\u0146"); b_2.put("\u0147", "\u0148"); b_2.put("\u0149", "\u02BC\u006E"); b_2.put("\u014A", "\u014B"); b_2.put("\u014C", "\u014D"); b_2.put("\u014E", "\u014F"); b_2.put("\u0150", "\u0151"); b_2.put("\u0152", "\u0153"); b_2.put("\u0154", "\u0155"); b_2.put("\u0156", "\u0157"); b_2.put("\u0158", "\u0159"); b_2.put("\u015A", "\u015B"); b_2.put("\u015C", "\u015D"); b_2.put("\u015E", "\u015F"); b_2.put("\u0160", "\u0161"); b_2.put("\u0162", "\u0163"); b_2.put("\u0164", "\u0165"); b_2.put("\u0166", "\u0167"); b_2.put("\u0168", "\u0169"); b_2.put("\u016A", "\u016B"); b_2.put("\u016C", "\u016D"); b_2.put("\u016E", "\u016F"); b_2.put("\u0170", "\u0171"); b_2.put("\u0172", "\u0173"); b_2.put("\u0174", "\u0175"); b_2.put("\u0176", "\u0177"); b_2.put("\u0178", "\u00FF"); b_2.put("\u0179", "\u017A"); b_2.put("\u017B", "\u017C"); b_2.put("\u017D", "\u017E"); b_2.put("\u017F", "\u0073"); b_2.put("\u0181", "\u0253"); b_2.put("\u0182", "\u0183"); b_2.put("\u0184", "\u0185"); b_2.put("\u0186", "\u0254"); b_2.put("\u0187", "\u0188"); b_2.put("\u0189", "\u0256"); b_2.put("\u018A", "\u0257"); b_2.put("\u018B", "\u018C"); b_2.put("\u018E", "\u01DD"); b_2.put("\u018F", "\u0259"); b_2.put("\u0190", "\u025B"); b_2.put("\u0191", "\u0192"); b_2.put("\u0193", "\u0260"); b_2.put("\u0194", "\u0263"); b_2.put("\u0196", "\u0269"); b_2.put("\u0197", "\u0268"); b_2.put("\u0198", "\u0199"); b_2.put("\u019C", "\u026F"); b_2.put("\u019D", "\u0272"); b_2.put("\u019F", "\u0275"); b_2.put("\u01A0", "\u01A1"); b_2.put("\u01A2", "\u01A3"); b_2.put("\u01A4", "\u01A5"); b_2.put("\u01A6", "\u0280"); b_2.put("\u01A7", "\u01A8"); b_2.put("\u01A9", "\u0283"); b_2.put("\u01AC", "\u01AD"); b_2.put("\u01AE", "\u0288"); b_2.put("\u01AF", "\u01B0"); b_2.put("\u01B1", "\u028A"); b_2.put("\u01B2", "\u028B"); b_2.put("\u01B3", "\u01B4"); b_2.put("\u01B5", "\u01B6"); b_2.put("\u01B7", "\u0292"); b_2.put("\u01B8", "\u01B9"); b_2.put("\u01BC", "\u01BD"); b_2.put("\u01C4", "\u01C6"); b_2.put("\u01C5", "\u01C6"); b_2.put("\u01C7", "\u01C9"); b_2.put("\u01C8", "\u01C9"); b_2.put("\u01CA", "\u01CC"); b_2.put("\u01CB", "\u01CC"); b_2.put("\u01CD", "\u01CE"); b_2.put("\u01CF", "\u01D0"); b_2.put("\u01D1", "\u01D2"); b_2.put("\u01D3", "\u01D4"); b_2.put("\u01D5", "\u01D6"); b_2.put("\u01D7", "\u01D8"); b_2.put("\u01D9", "\u01DA"); b_2.put("\u01DB", "\u01DC"); b_2.put("\u01DE", "\u01DF"); b_2.put("\u01E0", "\u01E1"); b_2.put("\u01E2", "\u01E3"); b_2.put("\u01E4", "\u01E5"); b_2.put("\u01E6", "\u01E7"); b_2.put("\u01E8", "\u01E9"); b_2.put("\u01EA", "\u01EB"); b_2.put("\u01EC", "\u01ED"); b_2.put("\u01EE", "\u01EF"); b_2.put("\u01F0", "\u006A\u030C"); b_2.put("\u01F1", "\u01F3"); b_2.put("\u01F2", "\u01F3"); b_2.put("\u01F4", "\u01F5"); b_2.put("\u01F6", "\u0195"); b_2.put("\u01F7", "\u01BF"); b_2.put("\u01F8", "\u01F9"); b_2.put("\u01FA", "\u01FB"); b_2.put("\u01FC", "\u01FD"); b_2.put("\u01FE", "\u01FF"); b_2.put("\u0200", "\u0201"); b_2.put("\u0202", "\u0203"); b_2.put("\u0204", "\u0205"); b_2.put("\u0206", "\u0207"); b_2.put("\u0208", "\u0209"); b_2.put("\u020A", "\u020B"); b_2.put("\u020C", "\u020D"); b_2.put("\u020E", "\u020F"); b_2.put("\u0210", "\u0211"); b_2.put("\u0212", "\u0213"); b_2.put("\u0214", "\u0215"); b_2.put("\u0216", "\u0217"); b_2.put("\u0218", "\u0219"); b_2.put("\u021A", "\u021B"); b_2.put("\u021C", "\u021D"); b_2.put("\u021E", "\u021F"); b_2.put("\u0220", "\u019E"); b_2.put("\u0222", "\u0223"); b_2.put("\u0224", "\u0225"); b_2.put("\u0226", "\u0227"); b_2.put("\u0228", "\u0229"); b_2.put("\u022A", "\u022B"); b_2.put("\u022C", "\u022D"); b_2.put("\u022E", "\u022F"); b_2.put("\u0230", "\u0231"); b_2.put("\u0232", "\u0233"); b_2.put("\u0345", "\u03B9"); b_2.put("\u037A", "\u0020\u03B9"); b_2.put("\u0386", "\u03AC"); b_2.put("\u0388", "\u03AD"); b_2.put("\u0389", "\u03AE"); b_2.put("\u038A", "\u03AF"); b_2.put("\u038C", "\u03CC"); b_2.put("\u038E", "\u03CD"); b_2.put("\u038F", "\u03CE"); b_2.put("\u0390", "\u03B9\u0308\u0301"); b_2.put("\u0391", "\u03B1"); b_2.put("\u0392", "\u03B2"); b_2.put("\u0393", "\u03B3"); b_2.put("\u0394", "\u03B4"); b_2.put("\u0395", "\u03B5"); b_2.put("\u0396", "\u03B6"); b_2.put("\u0397", "\u03B7"); b_2.put("\u0398", "\u03B8"); b_2.put("\u0399", "\u03B9"); b_2.put("\u039A", "\u03BA"); b_2.put("\u039B", "\u03BB"); b_2.put("\u039C", "\u03BC"); b_2.put("\u039D", "\u03BD"); b_2.put("\u039E", "\u03BE"); b_2.put("\u039F", "\u03BF"); b_2.put("\u03A0", "\u03C0"); b_2.put("\u03A1", "\u03C1"); b_2.put("\u03A3", "\u03C3"); b_2.put("\u03A4", "\u03C4"); b_2.put("\u03A5", "\u03C5"); b_2.put("\u03A6", "\u03C6"); b_2.put("\u03A7", "\u03C7"); b_2.put("\u03A8", "\u03C8"); b_2.put("\u03A9", "\u03C9"); b_2.put("\u03AA", "\u03CA"); b_2.put("\u03AB", "\u03CB"); b_2.put("\u03B0", "\u03C5\u0308\u0301"); b_2.put("\u03C2", "\u03C3"); b_2.put("\u03D0", "\u03B2"); b_2.put("\u03D1", "\u03B8"); b_2.put("\u03D2", "\u03C5"); b_2.put("\u03D3", "\u03CD"); b_2.put("\u03D4", "\u03CB"); b_2.put("\u03D5", "\u03C6"); b_2.put("\u03D6", "\u03C0"); b_2.put("\u03D8", "\u03D9"); b_2.put("\u03DA", "\u03DB"); b_2.put("\u03DC", "\u03DD"); b_2.put("\u03DE", "\u03DF"); b_2.put("\u03E0", "\u03E1"); b_2.put("\u03E2", "\u03E3"); b_2.put("\u03E4", "\u03E5"); b_2.put("\u03E6", "\u03E7"); b_2.put("\u03E8", "\u03E9"); b_2.put("\u03EA", "\u03EB"); b_2.put("\u03EC", "\u03ED"); b_2.put("\u03EE", "\u03EF"); b_2.put("\u03F0", "\u03BA"); b_2.put("\u03F1", "\u03C1"); b_2.put("\u03F2", "\u03C3"); b_2.put("\u03F4", "\u03B8"); b_2.put("\u03F5", "\u03B5"); b_2.put("\u0400", "\u0450"); b_2.put("\u0401", "\u0451"); b_2.put("\u0402", "\u0452"); b_2.put("\u0403", "\u0453"); b_2.put("\u0404", "\u0454"); b_2.put("\u0405", "\u0455"); b_2.put("\u0406", "\u0456"); b_2.put("\u0407", "\u0457"); b_2.put("\u0408", "\u0458"); b_2.put("\u0409", "\u0459"); b_2.put("\u040A", "\u045A"); b_2.put("\u040B", "\u045B"); b_2.put("\u040C", "\u045C"); b_2.put("\u040D", "\u045D"); b_2.put("\u040E", "\u045E"); b_2.put("\u040F", "\u045F"); b_2.put("\u0410", "\u0430"); b_2.put("\u0411", "\u0431"); b_2.put("\u0412", "\u0432"); b_2.put("\u0413", "\u0433"); b_2.put("\u0414", "\u0434"); b_2.put("\u0415", "\u0435"); b_2.put("\u0416", "\u0436"); b_2.put("\u0417", "\u0437"); b_2.put("\u0418", "\u0438"); b_2.put("\u0419", "\u0439"); b_2.put("\u041A", "\u043A"); b_2.put("\u041B", "\u043B"); b_2.put("\u041C", "\u043C"); b_2.put("\u041D", "\u043D"); b_2.put("\u041E", "\u043E"); b_2.put("\u041F", "\u043F"); b_2.put("\u0420", "\u0440"); b_2.put("\u0421", "\u0441"); b_2.put("\u0422", "\u0442"); b_2.put("\u0423", "\u0443"); b_2.put("\u0424", "\u0444"); b_2.put("\u0425", "\u0445"); b_2.put("\u0426", "\u0446"); b_2.put("\u0427", "\u0447"); b_2.put("\u0428", "\u0448"); b_2.put("\u0429", "\u0449"); b_2.put("\u042A", "\u044A"); b_2.put("\u042B", "\u044B"); b_2.put("\u042C", "\u044C"); b_2.put("\u042D", "\u044D"); b_2.put("\u042E", "\u044E"); b_2.put("\u042F", "\u044F"); b_2.put("\u0460", "\u0461"); b_2.put("\u0462", "\u0463"); b_2.put("\u0464", "\u0465"); b_2.put("\u0466", "\u0467"); b_2.put("\u0468", "\u0469"); b_2.put("\u046A", "\u046B"); b_2.put("\u046C", "\u046D"); b_2.put("\u046E", "\u046F"); b_2.put("\u0470", "\u0471"); b_2.put("\u0472", "\u0473"); b_2.put("\u0474", "\u0475"); b_2.put("\u0476", "\u0477"); b_2.put("\u0478", "\u0479"); b_2.put("\u047A", "\u047B"); b_2.put("\u047C", "\u047D"); b_2.put("\u047E", "\u047F"); b_2.put("\u0480", "\u0481"); b_2.put("\u048A", "\u048B"); b_2.put("\u048C", "\u048D"); b_2.put("\u048E", "\u048F"); b_2.put("\u0490", "\u0491"); b_2.put("\u0492", "\u0493"); b_2.put("\u0494", "\u0495"); b_2.put("\u0496", "\u0497"); b_2.put("\u0498", "\u0499"); b_2.put("\u049A", "\u049B"); b_2.put("\u049C", "\u049D"); b_2.put("\u049E", "\u049F"); b_2.put("\u04A0", "\u04A1"); b_2.put("\u04A2", "\u04A3"); b_2.put("\u04A4", "\u04A5"); b_2.put("\u04A6", "\u04A7"); b_2.put("\u04A8", "\u04A9"); b_2.put("\u04AA", "\u04AB"); b_2.put("\u04AC", "\u04AD"); b_2.put("\u04AE", "\u04AF"); b_2.put("\u04B0", "\u04B1"); b_2.put("\u04B2", "\u04B3"); b_2.put("\u04B4", "\u04B5"); b_2.put("\u04B6", "\u04B7"); b_2.put("\u04B8", "\u04B9"); b_2.put("\u04BA", "\u04BB"); b_2.put("\u04BC", "\u04BD"); b_2.put("\u04BE", "\u04BF"); b_2.put("\u04C1", "\u04C2"); b_2.put("\u04C3", "\u04C4"); b_2.put("\u04C5", "\u04C6"); b_2.put("\u04C7", "\u04C8"); b_2.put("\u04C9", "\u04CA"); b_2.put("\u04CB", "\u04CC"); b_2.put("\u04CD", "\u04CE"); b_2.put("\u04D0", "\u04D1"); b_2.put("\u04D2", "\u04D3"); b_2.put("\u04D4", "\u04D5"); b_2.put("\u04D6", "\u04D7"); b_2.put("\u04D8", "\u04D9"); b_2.put("\u04DA", "\u04DB"); b_2.put("\u04DC", "\u04DD"); b_2.put("\u04DE", "\u04DF"); b_2.put("\u04E0", "\u04E1"); b_2.put("\u04E2", "\u04E3"); b_2.put("\u04E4", "\u04E5"); b_2.put("\u04E6", "\u04E7"); b_2.put("\u04E8", "\u04E9"); b_2.put("\u04EA", "\u04EB"); b_2.put("\u04EC", "\u04ED"); b_2.put("\u04EE", "\u04EF"); b_2.put("\u04F0", "\u04F1"); b_2.put("\u04F2", "\u04F3"); b_2.put("\u04F4", "\u04F5"); b_2.put("\u04F8", "\u04F9"); b_2.put("\u0500", "\u0501"); b_2.put("\u0502", "\u0503"); b_2.put("\u0504", "\u0505"); b_2.put("\u0506", "\u0507"); b_2.put("\u0508", "\u0509"); b_2.put("\u050A", "\u050B"); b_2.put("\u050C", "\u050D"); b_2.put("\u050E", "\u050F"); b_2.put("\u0531", "\u0561"); b_2.put("\u0532", "\u0562"); b_2.put("\u0533", "\u0563"); b_2.put("\u0534", "\u0564"); b_2.put("\u0535", "\u0565"); b_2.put("\u0536", "\u0566"); b_2.put("\u0537", "\u0567"); b_2.put("\u0538", "\u0568"); b_2.put("\u0539", "\u0569"); b_2.put("\u053A", "\u056A"); b_2.put("\u053B", "\u056B"); b_2.put("\u053C", "\u056C"); b_2.put("\u053D", "\u056D"); b_2.put("\u053E", "\u056E"); b_2.put("\u053F", "\u056F"); b_2.put("\u0540", "\u0570"); b_2.put("\u0541", "\u0571"); b_2.put("\u0542", "\u0572"); b_2.put("\u0543", "\u0573"); b_2.put("\u0544", "\u0574"); b_2.put("\u0545", "\u0575"); b_2.put("\u0546", "\u0576"); b_2.put("\u0547", "\u0577"); b_2.put("\u0548", "\u0578"); b_2.put("\u0549", "\u0579"); b_2.put("\u054A", "\u057A"); b_2.put("\u054B", "\u057B"); b_2.put("\u054C", "\u057C"); b_2.put("\u054D", "\u057D"); b_2.put("\u054E", "\u057E"); b_2.put("\u054F", "\u057F"); b_2.put("\u0550", "\u0580"); b_2.put("\u0551", "\u0581"); b_2.put("\u0552", "\u0582"); b_2.put("\u0553", "\u0583"); b_2.put("\u0554", "\u0584"); b_2.put("\u0555", "\u0585"); b_2.put("\u0556", "\u0586"); b_2.put("\u0587", "\u0565\u0582"); b_2.put("\u1E00", "\u1E01"); b_2.put("\u1E02", "\u1E03"); b_2.put("\u1E04", "\u1E05"); b_2.put("\u1E06", "\u1E07"); b_2.put("\u1E08", "\u1E09"); b_2.put("\u1E0A", "\u1E0B"); b_2.put("\u1E0C", "\u1E0D"); b_2.put("\u1E0E", "\u1E0F"); b_2.put("\u1E10", "\u1E11"); b_2.put("\u1E12", "\u1E13"); b_2.put("\u1E14", "\u1E15"); b_2.put("\u1E16", "\u1E17"); b_2.put("\u1E18", "\u1E19"); b_2.put("\u1E1A", "\u1E1B"); b_2.put("\u1E1C", "\u1E1D"); b_2.put("\u1E1E", "\u1E1F"); b_2.put("\u1E20", "\u1E21"); b_2.put("\u1E22", "\u1E23"); b_2.put("\u1E24", "\u1E25"); b_2.put("\u1E26", "\u1E27"); b_2.put("\u1E28", "\u1E29"); b_2.put("\u1E2A", "\u1E2B"); b_2.put("\u1E2C", "\u1E2D"); b_2.put("\u1E2E", "\u1E2F"); b_2.put("\u1E30", "\u1E31"); b_2.put("\u1E32", "\u1E33"); b_2.put("\u1E34", "\u1E35"); b_2.put("\u1E36", "\u1E37"); b_2.put("\u1E38", "\u1E39"); b_2.put("\u1E3A", "\u1E3B"); b_2.put("\u1E3C", "\u1E3D"); b_2.put("\u1E3E", "\u1E3F"); b_2.put("\u1E40", "\u1E41"); b_2.put("\u1E42", "\u1E43"); b_2.put("\u1E44", "\u1E45"); b_2.put("\u1E46", "\u1E47"); b_2.put("\u1E48", "\u1E49"); b_2.put("\u1E4A", "\u1E4B"); b_2.put("\u1E4C", "\u1E4D"); b_2.put("\u1E4E", "\u1E4F"); b_2.put("\u1E50", "\u1E51"); b_2.put("\u1E52", "\u1E53"); b_2.put("\u1E54", "\u1E55"); b_2.put("\u1E56", "\u1E57"); b_2.put("\u1E58", "\u1E59"); b_2.put("\u1E5A", "\u1E5B"); b_2.put("\u1E5C", "\u1E5D"); b_2.put("\u1E5E", "\u1E5F"); b_2.put("\u1E60", "\u1E61"); b_2.put("\u1E62", "\u1E63"); b_2.put("\u1E64", "\u1E65"); b_2.put("\u1E66", "\u1E67"); b_2.put("\u1E68", "\u1E69"); b_2.put("\u1E6A", "\u1E6B"); b_2.put("\u1E6C", "\u1E6D"); b_2.put("\u1E6E", "\u1E6F"); b_2.put("\u1E70", "\u1E71"); b_2.put("\u1E72", "\u1E73"); b_2.put("\u1E74", "\u1E75"); b_2.put("\u1E76", "\u1E77"); b_2.put("\u1E78", "\u1E79"); b_2.put("\u1E7A", "\u1E7B"); b_2.put("\u1E7C", "\u1E7D"); b_2.put("\u1E7E", "\u1E7F"); b_2.put("\u1E80", "\u1E81"); b_2.put("\u1E82", "\u1E83"); b_2.put("\u1E84", "\u1E85"); b_2.put("\u1E86", "\u1E87"); b_2.put("\u1E88", "\u1E89"); b_2.put("\u1E8A", "\u1E8B"); b_2.put("\u1E8C", "\u1E8D"); b_2.put("\u1E8E", "\u1E8F"); b_2.put("\u1E90", "\u1E91"); b_2.put("\u1E92", "\u1E93"); b_2.put("\u1E94", "\u1E95"); b_2.put("\u1E96", "\u0068\u0331"); b_2.put("\u1E97", "\u0074\u0308"); b_2.put("\u1E98", "\u0077\u030A"); b_2.put("\u1E99", "\u0079\u030A"); b_2.put("\u1E9A", "\u0061\u02BE"); b_2.put("\u1E9B", "\u1E61"); b_2.put("\u1EA0", "\u1EA1"); b_2.put("\u1EA2", "\u1EA3"); b_2.put("\u1EA4", "\u1EA5"); b_2.put("\u1EA6", "\u1EA7"); b_2.put("\u1EA8", "\u1EA9"); b_2.put("\u1EAA", "\u1EAB"); b_2.put("\u1EAC", "\u1EAD"); b_2.put("\u1EAE", "\u1EAF"); b_2.put("\u1EB0", "\u1EB1"); b_2.put("\u1EB2", "\u1EB3"); b_2.put("\u1EB4", "\u1EB5"); b_2.put("\u1EB6", "\u1EB7"); b_2.put("\u1EB8", "\u1EB9"); b_2.put("\u1EBA", "\u1EBB"); b_2.put("\u1EBC", "\u1EBD"); b_2.put("\u1EBE", "\u1EBF"); b_2.put("\u1EC0", "\u1EC1"); b_2.put("\u1EC2", "\u1EC3"); b_2.put("\u1EC4", "\u1EC5"); b_2.put("\u1EC6", "\u1EC7"); b_2.put("\u1EC8", "\u1EC9"); b_2.put("\u1ECA", "\u1ECB"); b_2.put("\u1ECC", "\u1ECD"); b_2.put("\u1ECE", "\u1ECF"); b_2.put("\u1ED0", "\u1ED1"); b_2.put("\u1ED2", "\u1ED3"); b_2.put("\u1ED4", "\u1ED5"); b_2.put("\u1ED6", "\u1ED7"); b_2.put("\u1ED8", "\u1ED9"); b_2.put("\u1EDA", "\u1EDB"); b_2.put("\u1EDC", "\u1EDD"); b_2.put("\u1EDE", "\u1EDF"); b_2.put("\u1EE0", "\u1EE1"); b_2.put("\u1EE2", "\u1EE3"); b_2.put("\u1EE4", "\u1EE5"); b_2.put("\u1EE6", "\u1EE7"); b_2.put("\u1EE8", "\u1EE9"); b_2.put("\u1EEA", "\u1EEB"); b_2.put("\u1EEC", "\u1EED"); b_2.put("\u1EEE", "\u1EEF"); b_2.put("\u1EF0", "\u1EF1"); b_2.put("\u1EF2", "\u1EF3"); b_2.put("\u1EF4", "\u1EF5"); b_2.put("\u1EF6", "\u1EF7"); b_2.put("\u1EF8", "\u1EF9"); b_2.put("\u1F08", "\u1F00"); b_2.put("\u1F09", "\u1F01"); b_2.put("\u1F0A", "\u1F02"); b_2.put("\u1F0B", "\u1F03"); b_2.put("\u1F0C", "\u1F04"); b_2.put("\u1F0D", "\u1F05"); b_2.put("\u1F0E", "\u1F06"); b_2.put("\u1F0F", "\u1F07"); b_2.put("\u1F18", "\u1F10"); b_2.put("\u1F19", "\u1F11"); b_2.put("\u1F1A", "\u1F12"); b_2.put("\u1F1B", "\u1F13"); b_2.put("\u1F1C", "\u1F14"); b_2.put("\u1F1D", "\u1F15"); b_2.put("\u1F28", "\u1F20"); b_2.put("\u1F29", "\u1F21"); b_2.put("\u1F2A", "\u1F22"); b_2.put("\u1F2B", "\u1F23"); b_2.put("\u1F2C", "\u1F24"); b_2.put("\u1F2D", "\u1F25"); b_2.put("\u1F2E", "\u1F26"); b_2.put("\u1F2F", "\u1F27"); b_2.put("\u1F38", "\u1F30"); b_2.put("\u1F39", "\u1F31"); b_2.put("\u1F3A", "\u1F32"); b_2.put("\u1F3B", "\u1F33"); b_2.put("\u1F3C", "\u1F34"); b_2.put("\u1F3D", "\u1F35"); b_2.put("\u1F3E", "\u1F36"); b_2.put("\u1F3F", "\u1F37"); b_2.put("\u1F48", "\u1F40"); b_2.put("\u1F49", "\u1F41"); b_2.put("\u1F4A", "\u1F42"); b_2.put("\u1F4B", "\u1F43"); b_2.put("\u1F4C", "\u1F44"); b_2.put("\u1F4D", "\u1F45"); b_2.put("\u1F50", "\u03C5\u0313"); b_2.put("\u1F52", "\u03C5\u0313\u0300"); b_2.put("\u1F54", "\u03C5\u0313\u0301"); b_2.put("\u1F56", "\u03C5\u0313\u0342"); b_2.put("\u1F59", "\u1F51"); b_2.put("\u1F5B", "\u1F53"); b_2.put("\u1F5D", "\u1F55"); b_2.put("\u1F5F", "\u1F57"); b_2.put("\u1F68", "\u1F60"); b_2.put("\u1F69", "\u1F61"); b_2.put("\u1F6A", "\u1F62"); b_2.put("\u1F6B", "\u1F63"); b_2.put("\u1F6C", "\u1F64"); b_2.put("\u1F6D", "\u1F65"); b_2.put("\u1F6E", "\u1F66"); b_2.put("\u1F6F", "\u1F67"); b_2.put("\u1F80", "\u1F00\u03B9"); b_2.put("\u1F81", "\u1F01\u03B9"); b_2.put("\u1F82", "\u1F02\u03B9"); b_2.put("\u1F83", "\u1F03\u03B9"); b_2.put("\u1F84", "\u1F04\u03B9"); b_2.put("\u1F85", "\u1F05\u03B9"); b_2.put("\u1F86", "\u1F06\u03B9"); b_2.put("\u1F87", "\u1F07\u03B9"); b_2.put("\u1F88", "\u1F00\u03B9"); b_2.put("\u1F89", "\u1F01\u03B9"); b_2.put("\u1F8A", "\u1F02\u03B9"); b_2.put("\u1F8B", "\u1F03\u03B9"); b_2.put("\u1F8C", "\u1F04\u03B9"); b_2.put("\u1F8D", "\u1F05\u03B9"); b_2.put("\u1F8E", "\u1F06\u03B9"); b_2.put("\u1F8F", "\u1F07\u03B9"); b_2.put("\u1F90", "\u1F20\u03B9"); b_2.put("\u1F91", "\u1F21\u03B9"); b_2.put("\u1F92", "\u1F22\u03B9"); b_2.put("\u1F93", "\u1F23\u03B9"); b_2.put("\u1F94", "\u1F24\u03B9"); b_2.put("\u1F95", "\u1F25\u03B9"); b_2.put("\u1F96", "\u1F26\u03B9"); b_2.put("\u1F97", "\u1F27\u03B9"); b_2.put("\u1F98", "\u1F20\u03B9"); b_2.put("\u1F99", "\u1F21\u03B9"); b_2.put("\u1F9A", "\u1F22\u03B9"); b_2.put("\u1F9B", "\u1F23\u03B9"); b_2.put("\u1F9C", "\u1F24\u03B9"); b_2.put("\u1F9D", "\u1F25\u03B9"); b_2.put("\u1F9E", "\u1F26\u03B9"); b_2.put("\u1F9F", "\u1F27\u03B9"); b_2.put("\u1FA0", "\u1F60\u03B9"); b_2.put("\u1FA1", "\u1F61\u03B9"); b_2.put("\u1FA2", "\u1F62\u03B9"); b_2.put("\u1FA3", "\u1F63\u03B9"); b_2.put("\u1FA4", "\u1F64\u03B9"); b_2.put("\u1FA5", "\u1F65\u03B9"); b_2.put("\u1FA6", "\u1F66\u03B9"); b_2.put("\u1FA7", "\u1F67\u03B9"); b_2.put("\u1FA8", "\u1F60\u03B9"); b_2.put("\u1FA9", "\u1F61\u03B9"); b_2.put("\u1FAA", "\u1F62\u03B9"); b_2.put("\u1FAB", "\u1F63\u03B9"); b_2.put("\u1FAC", "\u1F64\u03B9"); b_2.put("\u1FAD", "\u1F65\u03B9"); b_2.put("\u1FAE", "\u1F66\u03B9"); b_2.put("\u1FAF", "\u1F67\u03B9"); b_2.put("\u1FB2", "\u1F70\u03B9"); b_2.put("\u1FB3", "\u03B1\u03B9"); b_2.put("\u1FB4", "\u03AC\u03B9"); b_2.put("\u1FB6", "\u03B1\u0342"); b_2.put("\u1FB7", "\u03B1\u0342\u03B9"); b_2.put("\u1FB8", "\u1FB0"); b_2.put("\u1FB9", "\u1FB1"); b_2.put("\u1FBA", "\u1F70"); b_2.put("\u1FBB", "\u1F71"); b_2.put("\u1FBC", "\u03B1\u03B9"); b_2.put("\u1FBE", "\u03B9"); b_2.put("\u1FC2", "\u1F74\u03B9"); b_2.put("\u1FC3", "\u03B7\u03B9"); b_2.put("\u1FC4", "\u03AE\u03B9"); b_2.put("\u1FC6", "\u03B7\u0342"); b_2.put("\u1FC7", "\u03B7\u0342\u03B9"); b_2.put("\u1FC8", "\u1F72"); b_2.put("\u1FC9", "\u1F73"); b_2.put("\u1FCA", "\u1F74"); b_2.put("\u1FCB", "\u1F75"); b_2.put("\u1FCC", "\u03B7\u03B9"); b_2.put("\u1FD2", "\u03B9\u0308\u0300"); b_2.put("\u1FD3", "\u03B9\u0308\u0301"); b_2.put("\u1FD6", "\u03B9\u0342"); b_2.put("\u1FD7", "\u03B9\u0308\u0342"); b_2.put("\u1FD8", "\u1FD0"); b_2.put("\u1FD9", "\u1FD1"); b_2.put("\u1FDA", "\u1F76"); b_2.put("\u1FDB", "\u1F77"); b_2.put("\u1FE2", "\u03C5\u0308\u0300"); b_2.put("\u1FE3", "\u03C5\u0308\u0301"); b_2.put("\u1FE4", "\u03C1\u0313"); b_2.put("\u1FE6", "\u03C5\u0342"); b_2.put("\u1FE7", "\u03C5\u0308\u0342"); b_2.put("\u1FE8", "\u1FE0"); b_2.put("\u1FE9", "\u1FE1"); b_2.put("\u1FEA", "\u1F7A"); b_2.put("\u1FEB", "\u1F7B"); b_2.put("\u1FEC", "\u1FE5"); b_2.put("\u1FF2", "\u1F7C\u03B9"); b_2.put("\u1FF3", "\u03C9\u03B9"); b_2.put("\u1FF4", "\u03CE\u03B9"); b_2.put("\u1FF6", "\u03C9\u0342"); b_2.put("\u1FF7", "\u03C9\u0342\u03B9"); b_2.put("\u1FF8", "\u1F78"); b_2.put("\u1FF9", "\u1F79"); b_2.put("\u1FFA", "\u1F7C"); b_2.put("\u1FFB", "\u1F7D"); b_2.put("\u1FFC", "\u03C9\u03B9"); b_2.put("\u20A8", "\u0072\u0073"); b_2.put("\u2102", "\u0063"); b_2.put("\u2103", "\u00B0\u0063"); b_2.put("\u2107", "\u025B"); b_2.put("\u2109", "\u00B0\u0066"); b_2.put("\u210B", "\u0068"); b_2.put("\u210C", "\u0068"); b_2.put("\u210D", "\u0068"); b_2.put("\u2110", "\u0069"); b_2.put("\u2111", "\u0069"); b_2.put("\u2112", "\u006C"); b_2.put("\u2115", "\u006E"); b_2.put("\u2116", "\u006E\u006F"); b_2.put("\u2119", "\u0070"); b_2.put("\u211A", "\u0071"); b_2.put("\u211B", "\u0072"); b_2.put("\u211C", "\u0072"); b_2.put("\u211D", "\u0072"); b_2.put("\u2120", "\u0073\u006D"); b_2.put("\u2121", "\u0074\u0065\u006C"); b_2.put("\u2122", "\u0074\u006D"); b_2.put("\u2124", "\u007A"); b_2.put("\u2126", "\u03C9"); b_2.put("\u2128", "\u007A"); b_2.put("\u212A", "\u006B"); b_2.put("\u212B", "\u00E5"); b_2.put("\u212C", "\u0062"); b_2.put("\u212D", "\u0063"); b_2.put("\u2130", "\u0065"); b_2.put("\u2131", "\u0066"); b_2.put("\u2133", "\u006D"); b_2.put("\u213E", "\u03B3"); b_2.put("\u213F", "\u03C0"); b_2.put("\u2145", "\u0064"); b_2.put("\u2160", "\u2170"); b_2.put("\u2161", "\u2171"); b_2.put("\u2162", "\u2172"); b_2.put("\u2163", "\u2173"); b_2.put("\u2164", "\u2174"); b_2.put("\u2165", "\u2175"); b_2.put("\u2166", "\u2176"); b_2.put("\u2167", "\u2177"); b_2.put("\u2168", "\u2178"); b_2.put("\u2169", "\u2179"); b_2.put("\u216A", "\u217A"); b_2.put("\u216B", "\u217B"); b_2.put("\u216C", "\u217C"); b_2.put("\u216D", "\u217D"); b_2.put("\u216E", "\u217E"); b_2.put("\u216F", "\u217F"); b_2.put("\u24B6", "\u24D0"); b_2.put("\u24B7", "\u24D1"); b_2.put("\u24B8", "\u24D2"); b_2.put("\u24B9", "\u24D3"); b_2.put("\u24BA", "\u24D4"); b_2.put("\u24BB", "\u24D5"); b_2.put("\u24BC", "\u24D6"); b_2.put("\u24BD", "\u24D7"); b_2.put("\u24BE", "\u24D8"); b_2.put("\u24BF", "\u24D9"); b_2.put("\u24C0", "\u24DA"); b_2.put("\u24C1", "\u24DB"); b_2.put("\u24C2", "\u24DC"); b_2.put("\u24C3", "\u24DD"); b_2.put("\u24C4", "\u24DE"); b_2.put("\u24C5", "\u24DF"); b_2.put("\u24C6", "\u24E0"); b_2.put("\u24C7", "\u24E1"); b_2.put("\u24C8", "\u24E2"); b_2.put("\u24C9", "\u24E3"); b_2.put("\u24CA", "\u24E4"); b_2.put("\u24CB", "\u24E5"); b_2.put("\u24CC", "\u24E6"); b_2.put("\u24CD", "\u24E7"); b_2.put("\u24CE", "\u24E8"); b_2.put("\u24CF", "\u24E9"); b_2.put("\u3371", "\u0068\u0070\u0061"); b_2.put("\u3373", "\u0061\u0075"); b_2.put("\u3375", "\u006F\u0076"); b_2.put("\u3380", "\u0070\u0061"); b_2.put("\u3381", "\u006E\u0061"); b_2.put("\u3382", "\u03BC\u0061"); b_2.put("\u3383", "\u006D\u0061"); b_2.put("\u3384", "\u006B\u0061"); b_2.put("\u3385", "\u006B\u0062"); b_2.put("\u3386", "\u006D\u0062"); b_2.put("\u3387", "\u0067\u0062"); b_2.put("\u338A", "\u0070\u0066"); b_2.put("\u338B", "\u006E\u0066"); b_2.put("\u338C", "\u03BC\u0066"); b_2.put("\u3390", "\u0068\u007A"); b_2.put("\u3391", "\u006B\u0068\u007A"); b_2.put("\u3392", "\u006D\u0068\u007A"); b_2.put("\u3393", "\u0067\u0068\u007A"); b_2.put("\u3394", "\u0074\u0068\u007A"); b_2.put("\u33A9", "\u0070\u0061"); b_2.put("\u33AA", "\u006B\u0070\u0061"); b_2.put("\u33AB", "\u006D\u0070\u0061"); b_2.put("\u33AC", "\u0067\u0070\u0061"); b_2.put("\u33B4", "\u0070\u0076"); b_2.put("\u33B5", "\u006E\u0076"); b_2.put("\u33B6", "\u03BC\u0076"); b_2.put("\u33B7", "\u006D\u0076"); b_2.put("\u33B8", "\u006B\u0076"); b_2.put("\u33B9", "\u006D\u0076"); b_2.put("\u33BA", "\u0070\u0077"); b_2.put("\u33BB", "\u006E\u0077"); b_2.put("\u33BC", "\u03BC\u0077"); b_2.put("\u33BD", "\u006D\u0077"); b_2.put("\u33BE", "\u006B\u0077"); b_2.put("\u33BF", "\u006D\u0077"); b_2.put("\u33C0", "\u006B\u03C9"); b_2.put("\u33C1", "\u006D\u03C9"); b_2.put("\u33C3", "\u0062\u0071"); b_2.put("\u33C6", "\u0063\u2215\u006B\u0067"); b_2.put("\u33C7", "\u0063\u006F\u002E"); b_2.put("\u33C8", "\u0064\u0062"); b_2.put("\u33C9", "\u0067\u0079"); b_2.put("\u33CB", "\u0068\u0070"); b_2.put("\u33CD", "\u006B\u006B"); b_2.put("\u33CE", "\u006B\u006D"); b_2.put("\u33D7", "\u0070\u0068"); b_2.put("\u33D9", "\u0070\u0070\u006D"); b_2.put("\u33DA", "\u0070\u0072"); b_2.put("\u33DC", "\u0073\u0076"); b_2.put("\u33DD", "\u0077\u0062"); b_2.put("\uFB00", "\u0066\u0066"); b_2.put("\uFB01", "\u0066\u0069"); b_2.put("\uFB02", "\u0066\u006C"); b_2.put("\uFB03", "\u0066\u0066\u0069"); b_2.put("\uFB04", "\u0066\u0066\u006C"); b_2.put("\uFB05", "\u0073\u0074"); b_2.put("\uFB06", "\u0073\u0074"); b_2.put("\uFB13", "\u0574\u0576"); b_2.put("\uFB14", "\u0574\u0565"); b_2.put("\uFB15", "\u0574\u056B"); b_2.put("\uFB16", "\u057E\u0576"); b_2.put("\uFB17", "\u0574\u056D"); b_2.put("\uFF21", "\uFF41"); b_2.put("\uFF22", "\uFF42"); b_2.put("\uFF23", "\uFF43"); b_2.put("\uFF24", "\uFF44"); b_2.put("\uFF25", "\uFF45"); b_2.put("\uFF26", "\uFF46"); b_2.put("\uFF27", "\uFF47"); b_2.put("\uFF28", "\uFF48"); b_2.put("\uFF29", "\uFF49"); b_2.put("\uFF2A", "\uFF4A"); b_2.put("\uFF2B", "\uFF4B"); b_2.put("\uFF2C", "\uFF4C"); b_2.put("\uFF2D", "\uFF4D"); b_2.put("\uFF2E", "\uFF4E"); b_2.put("\uFF2F", "\uFF4F"); b_2.put("\uFF30", "\uFF50"); b_2.put("\uFF31", "\uFF51"); b_2.put("\uFF32", "\uFF52"); b_2.put("\uFF33", "\uFF53"); b_2.put("\uFF34", "\uFF54"); b_2.put("\uFF35", "\uFF55"); b_2.put("\uFF36", "\uFF56"); b_2.put("\uFF37", "\uFF57"); b_2.put("\uFF38", "\uFF58"); b_2.put("\uFF39", "\uFF59"); b_2.put("\uFF3A", "\uFF5A"); b_2.put(codePointToString(0x10400), codePointToString(0x10428)); b_2.put(codePointToString(0x10401), codePointToString(0x10429)); b_2.put(codePointToString(0x10402), codePointToString(0x1042A)); b_2.put(codePointToString(0x10403), codePointToString(0x1042B)); b_2.put(codePointToString(0x10404), codePointToString(0x1042C)); b_2.put(codePointToString(0x10405), codePointToString(0x1042D)); b_2.put(codePointToString(0x10406), codePointToString(0x1042E)); b_2.put(codePointToString(0x10407), codePointToString(0x1042F)); b_2.put(codePointToString(0x10408), codePointToString(0x10430)); b_2.put(codePointToString(0x10409), codePointToString(0x10431)); b_2.put(codePointToString(0x1040A), codePointToString(0x10432)); b_2.put(codePointToString(0x1040B), codePointToString(0x10433)); b_2.put(codePointToString(0x1040C), codePointToString(0x10434)); b_2.put(codePointToString(0x1040D), codePointToString(0x10435)); b_2.put(codePointToString(0x1040E), codePointToString(0x10436)); b_2.put(codePointToString(0x1040F), codePointToString(0x10437)); b_2.put(codePointToString(0x10410), codePointToString(0x10438)); b_2.put(codePointToString(0x10411), codePointToString(0x10439)); b_2.put(codePointToString(0x10412), codePointToString(0x1043A)); b_2.put(codePointToString(0x10413), codePointToString(0x1043B)); b_2.put(codePointToString(0x10414), codePointToString(0x1043C)); b_2.put(codePointToString(0x10415), codePointToString(0x1043D)); b_2.put(codePointToString(0x10416), codePointToString(0x1043E)); b_2.put(codePointToString(0x10417), codePointToString(0x1043F)); b_2.put(codePointToString(0x10418), codePointToString(0x10440)); b_2.put(codePointToString(0x10419), codePointToString(0x10441)); b_2.put(codePointToString(0x1041A), codePointToString(0x10442)); b_2.put(codePointToString(0x1041B), codePointToString(0x10443)); b_2.put(codePointToString(0x1041C), codePointToString(0x10444)); b_2.put(codePointToString(0x1041D), codePointToString(0x10445)); b_2.put(codePointToString(0x1041E), codePointToString(0x10446)); b_2.put(codePointToString(0x1041F), codePointToString(0x10447)); b_2.put(codePointToString(0x10420), codePointToString(0x10448)); b_2.put(codePointToString(0x10421), codePointToString(0x10449)); b_2.put(codePointToString(0x10422), codePointToString(0x1044A)); b_2.put(codePointToString(0x10423), codePointToString(0x1044B)); b_2.put(codePointToString(0x10424), codePointToString(0x1044C)); b_2.put(codePointToString(0x10425), codePointToString(0x1044D)); b_2.put(codePointToString(0x1D400), "\u0061"); b_2.put(codePointToString(0x1D401), "\u0062"); b_2.put(codePointToString(0x1D402), "\u0063"); b_2.put(codePointToString(0x1D403), "\u0064"); b_2.put(codePointToString(0x1D404), "\u0065"); b_2.put(codePointToString(0x1D405), "\u0066"); b_2.put(codePointToString(0x1D406), "\u0067"); b_2.put(codePointToString(0x1D407), "\u0068"); b_2.put(codePointToString(0x1D408), "\u0069"); b_2.put(codePointToString(0x1D409), "\u006A"); b_2.put(codePointToString(0x1D40A), "\u006B"); b_2.put(codePointToString(0x1D40B), "\u006C"); b_2.put(codePointToString(0x1D40C), "\u006D"); b_2.put(codePointToString(0x1D40D), "\u006E"); b_2.put(codePointToString(0x1D40E), "\u006F"); b_2.put(codePointToString(0x1D40F), "\u0070"); b_2.put(codePointToString(0x1D410), "\u0071"); b_2.put(codePointToString(0x1D411), "\u0072"); b_2.put(codePointToString(0x1D412), "\u0073"); b_2.put(codePointToString(0x1D413), "\u0074"); b_2.put(codePointToString(0x1D414), "\u0075"); b_2.put(codePointToString(0x1D415), "\u0076"); b_2.put(codePointToString(0x1D416), "\u0077"); b_2.put(codePointToString(0x1D417), "\u0078"); b_2.put(codePointToString(0x1D418), "\u0079"); b_2.put(codePointToString(0x1D419), "\u007A"); b_2.put(codePointToString(0x1D434), "\u0061"); b_2.put(codePointToString(0x1D435), "\u0062"); b_2.put(codePointToString(0x1D436), "\u0063"); b_2.put(codePointToString(0x1D437), "\u0064"); b_2.put(codePointToString(0x1D438), "\u0065"); b_2.put(codePointToString(0x1D439), "\u0066"); b_2.put(codePointToString(0x1D43A), "\u0067"); b_2.put(codePointToString(0x1D43B), "\u0068"); b_2.put(codePointToString(0x1D43C), "\u0069"); b_2.put(codePointToString(0x1D43D), "\u006A"); b_2.put(codePointToString(0x1D43E), "\u006B"); b_2.put(codePointToString(0x1D43F), "\u006C"); b_2.put(codePointToString(0x1D440), "\u006D"); b_2.put(codePointToString(0x1D441), "\u006E"); b_2.put(codePointToString(0x1D442), "\u006F"); b_2.put(codePointToString(0x1D443), "\u0070"); b_2.put(codePointToString(0x1D444), "\u0071"); b_2.put(codePointToString(0x1D445), "\u0072"); b_2.put(codePointToString(0x1D446), "\u0073"); b_2.put(codePointToString(0x1D447), "\u0074"); b_2.put(codePointToString(0x1D448), "\u0075"); b_2.put(codePointToString(0x1D449), "\u0076"); b_2.put(codePointToString(0x1D44A), "\u0077"); b_2.put(codePointToString(0x1D44B), "\u0078"); b_2.put(codePointToString(0x1D44C), "\u0079"); b_2.put(codePointToString(0x1D44D), "\u007A"); b_2.put(codePointToString(0x1D468), "\u0061"); b_2.put(codePointToString(0x1D469), "\u0062"); b_2.put(codePointToString(0x1D46A), "\u0063"); b_2.put(codePointToString(0x1D46B), "\u0064"); b_2.put(codePointToString(0x1D46C), "\u0065"); b_2.put(codePointToString(0x1D46D), "\u0066"); b_2.put(codePointToString(0x1D46E), "\u0067"); b_2.put(codePointToString(0x1D46F), "\u0068"); b_2.put(codePointToString(0x1D470), "\u0069"); b_2.put(codePointToString(0x1D471), "\u006A"); b_2.put(codePointToString(0x1D472), "\u006B"); b_2.put(codePointToString(0x1D473), "\u006C"); b_2.put(codePointToString(0x1D474), "\u006D"); b_2.put(codePointToString(0x1D475), "\u006E"); b_2.put(codePointToString(0x1D476), "\u006F"); b_2.put(codePointToString(0x1D477), "\u0070"); b_2.put(codePointToString(0x1D478), "\u0071"); b_2.put(codePointToString(0x1D479), "\u0072"); b_2.put(codePointToString(0x1D47A), "\u0073"); b_2.put(codePointToString(0x1D47B), "\u0074"); b_2.put(codePointToString(0x1D47C), "\u0075"); b_2.put(codePointToString(0x1D47D), "\u0076"); b_2.put(codePointToString(0x1D47E), "\u0077"); b_2.put(codePointToString(0x1D47F), "\u0078"); b_2.put(codePointToString(0x1D480), "\u0079"); b_2.put(codePointToString(0x1D481), "\u007A"); b_2.put(codePointToString(0x1D49C), "\u0061"); b_2.put(codePointToString(0x1D49E), "\u0063"); b_2.put(codePointToString(0x1D49F), "\u0064"); b_2.put(codePointToString(0x1D4A2), "\u0067"); b_2.put(codePointToString(0x1D4A5), "\u006A"); b_2.put(codePointToString(0x1D4A6), "\u006B"); b_2.put(codePointToString(0x1D4A9), "\u006E"); b_2.put(codePointToString(0x1D4AA), "\u006F"); b_2.put(codePointToString(0x1D4AB), "\u0070"); b_2.put(codePointToString(0x1D4AC), "\u0071"); b_2.put(codePointToString(0x1D4AE), "\u0073"); b_2.put(codePointToString(0x1D4AF), "\u0074"); b_2.put(codePointToString(0x1D4B0), "\u0075"); b_2.put(codePointToString(0x1D4B1), "\u0076"); b_2.put(codePointToString(0x1D4B2), "\u0077"); b_2.put(codePointToString(0x1D4B3), "\u0078"); b_2.put(codePointToString(0x1D4B4), "\u0079"); b_2.put(codePointToString(0x1D4B5), "\u007A"); b_2.put(codePointToString(0x1D4D0), "\u0061"); b_2.put(codePointToString(0x1D4D1), "\u0062"); b_2.put(codePointToString(0x1D4D2), "\u0063"); b_2.put(codePointToString(0x1D4D3), "\u0064"); b_2.put(codePointToString(0x1D4D4), "\u0065"); b_2.put(codePointToString(0x1D4D5), "\u0066"); b_2.put(codePointToString(0x1D4D6), "\u0067"); b_2.put(codePointToString(0x1D4D7), "\u0068"); b_2.put(codePointToString(0x1D4D8), "\u0069"); b_2.put(codePointToString(0x1D4D9), "\u006A"); b_2.put(codePointToString(0x1D4DA), "\u006B"); b_2.put(codePointToString(0x1D4DB), "\u006C"); b_2.put(codePointToString(0x1D4DC), "\u006D"); b_2.put(codePointToString(0x1D4DD), "\u006E"); b_2.put(codePointToString(0x1D4DE), "\u006F"); b_2.put(codePointToString(0x1D4DF), "\u0070"); b_2.put(codePointToString(0x1D4E0), "\u0071"); b_2.put(codePointToString(0x1D4E1), "\u0072"); b_2.put(codePointToString(0x1D4E2), "\u0073"); b_2.put(codePointToString(0x1D4E3), "\u0074"); b_2.put(codePointToString(0x1D4E4), "\u0075"); b_2.put(codePointToString(0x1D4E5), "\u0076"); b_2.put(codePointToString(0x1D4E6), "\u0077"); b_2.put(codePointToString(0x1D4E7), "\u0078"); b_2.put(codePointToString(0x1D4E8), "\u0079"); b_2.put(codePointToString(0x1D4E9), "\u007A"); b_2.put(codePointToString(0x1D504), "\u0061"); b_2.put(codePointToString(0x1D505), "\u0062"); b_2.put(codePointToString(0x1D507), "\u0064"); b_2.put(codePointToString(0x1D508), "\u0065"); b_2.put(codePointToString(0x1D509), "\u0066"); b_2.put(codePointToString(0x1D50A), "\u0067"); b_2.put(codePointToString(0x1D50D), "\u006A"); b_2.put(codePointToString(0x1D50E), "\u006B"); b_2.put(codePointToString(0x1D50F), "\u006C"); b_2.put(codePointToString(0x1D510), "\u006D"); b_2.put(codePointToString(0x1D511), "\u006E"); b_2.put(codePointToString(0x1D512), "\u006F"); b_2.put(codePointToString(0x1D513), "\u0070"); b_2.put(codePointToString(0x1D514), "\u0071"); b_2.put(codePointToString(0x1D516), "\u0073"); b_2.put(codePointToString(0x1D517), "\u0074"); b_2.put(codePointToString(0x1D518), "\u0075"); b_2.put(codePointToString(0x1D519), "\u0076"); b_2.put(codePointToString(0x1D51A), "\u0077"); b_2.put(codePointToString(0x1D51B), "\u0078"); b_2.put(codePointToString(0x1D51C), "\u0079"); b_2.put(codePointToString(0x1D538), "\u0061"); b_2.put(codePointToString(0x1D539), "\u0062"); b_2.put(codePointToString(0x1D53B), "\u0064"); b_2.put(codePointToString(0x1D53C), "\u0065"); b_2.put(codePointToString(0x1D53D), "\u0066"); b_2.put(codePointToString(0x1D53E), "\u0067"); b_2.put(codePointToString(0x1D540), "\u0069"); b_2.put(codePointToString(0x1D541), "\u006A"); b_2.put(codePointToString(0x1D542), "\u006B"); b_2.put(codePointToString(0x1D543), "\u006C"); b_2.put(codePointToString(0x1D544), "\u006D"); b_2.put(codePointToString(0x1D546), "\u006F"); b_2.put(codePointToString(0x1D54A), "\u0073"); b_2.put(codePointToString(0x1D54B), "\u0074"); b_2.put(codePointToString(0x1D54C), "\u0075"); b_2.put(codePointToString(0x1D54D), "\u0076"); b_2.put(codePointToString(0x1D54E), "\u0077"); b_2.put(codePointToString(0x1D54F), "\u0078"); b_2.put(codePointToString(0x1D550), "\u0079"); b_2.put(codePointToString(0x1D56C), "\u0061"); b_2.put(codePointToString(0x1D56D), "\u0062"); b_2.put(codePointToString(0x1D56E), "\u0063"); b_2.put(codePointToString(0x1D56F), "\u0064"); b_2.put(codePointToString(0x1D570), "\u0065"); b_2.put(codePointToString(0x1D571), "\u0066"); b_2.put(codePointToString(0x1D572), "\u0067"); b_2.put(codePointToString(0x1D573), "\u0068"); b_2.put(codePointToString(0x1D574), "\u0069"); b_2.put(codePointToString(0x1D575), "\u006A"); b_2.put(codePointToString(0x1D576), "\u006B"); b_2.put(codePointToString(0x1D577), "\u006C"); b_2.put(codePointToString(0x1D578), "\u006D"); b_2.put(codePointToString(0x1D579), "\u006E"); b_2.put(codePointToString(0x1D57A), "\u006F"); b_2.put(codePointToString(0x1D57B), "\u0070"); b_2.put(codePointToString(0x1D57C), "\u0071"); b_2.put(codePointToString(0x1D57D), "\u0072"); b_2.put(codePointToString(0x1D57E), "\u0073"); b_2.put(codePointToString(0x1D57F), "\u0074"); b_2.put(codePointToString(0x1D580), "\u0075"); b_2.put(codePointToString(0x1D581), "\u0076"); b_2.put(codePointToString(0x1D582), "\u0077"); b_2.put(codePointToString(0x1D583), "\u0078"); b_2.put(codePointToString(0x1D584), "\u0079"); b_2.put(codePointToString(0x1D585), "\u007A"); b_2.put(codePointToString(0x1D5A0), "\u0061"); b_2.put(codePointToString(0x1D5A1), "\u0062"); b_2.put(codePointToString(0x1D5A2), "\u0063"); b_2.put(codePointToString(0x1D5A3), "\u0064"); b_2.put(codePointToString(0x1D5A4), "\u0065"); b_2.put(codePointToString(0x1D5A5), "\u0066"); b_2.put(codePointToString(0x1D5A6), "\u0067"); b_2.put(codePointToString(0x1D5A7), "\u0068"); b_2.put(codePointToString(0x1D5A8), "\u0069"); b_2.put(codePointToString(0x1D5A9), "\u006A"); b_2.put(codePointToString(0x1D5AA), "\u006B"); b_2.put(codePointToString(0x1D5AB), "\u006C"); b_2.put(codePointToString(0x1D5AC), "\u006D"); b_2.put(codePointToString(0x1D5AD), "\u006E"); b_2.put(codePointToString(0x1D5AE), "\u006F"); b_2.put(codePointToString(0x1D5AF), "\u0070"); b_2.put(codePointToString(0x1D5B0), "\u0071"); b_2.put(codePointToString(0x1D5B1), "\u0072"); b_2.put(codePointToString(0x1D5B2), "\u0073"); b_2.put(codePointToString(0x1D5B3), "\u0074"); b_2.put(codePointToString(0x1D5B4), "\u0075"); b_2.put(codePointToString(0x1D5B5), "\u0076"); b_2.put(codePointToString(0x1D5B6), "\u0077"); b_2.put(codePointToString(0x1D5B7), "\u0078"); b_2.put(codePointToString(0x1D5B8), "\u0079"); b_2.put(codePointToString(0x1D5B9), "\u007A"); b_2.put(codePointToString(0x1D5D4), "\u0061"); b_2.put(codePointToString(0x1D5D5), "\u0062"); b_2.put(codePointToString(0x1D5D6), "\u0063"); b_2.put(codePointToString(0x1D5D7), "\u0064"); b_2.put(codePointToString(0x1D5D8), "\u0065"); b_2.put(codePointToString(0x1D5D9), "\u0066"); b_2.put(codePointToString(0x1D5DA), "\u0067"); b_2.put(codePointToString(0x1D5DB), "\u0068"); b_2.put(codePointToString(0x1D5DC), "\u0069"); b_2.put(codePointToString(0x1D5DD), "\u006A"); b_2.put(codePointToString(0x1D5DE), "\u006B"); b_2.put(codePointToString(0x1D5DF), "\u006C"); b_2.put(codePointToString(0x1D5E0), "\u006D"); b_2.put(codePointToString(0x1D5E1), "\u006E"); b_2.put(codePointToString(0x1D5E2), "\u006F"); b_2.put(codePointToString(0x1D5E3), "\u0070"); b_2.put(codePointToString(0x1D5E4), "\u0071"); b_2.put(codePointToString(0x1D5E5), "\u0072"); b_2.put(codePointToString(0x1D5E6), "\u0073"); b_2.put(codePointToString(0x1D5E7), "\u0074"); b_2.put(codePointToString(0x1D5E8), "\u0075"); b_2.put(codePointToString(0x1D5E9), "\u0076"); b_2.put(codePointToString(0x1D5EA), "\u0077"); b_2.put(codePointToString(0x1D5EB), "\u0078"); b_2.put(codePointToString(0x1D5EC), "\u0079"); b_2.put(codePointToString(0x1D5ED), "\u007A"); b_2.put(codePointToString(0x1D608), "\u0061"); b_2.put(codePointToString(0x1D609), "\u0062"); b_2.put(codePointToString(0x1D60A), "\u0063"); b_2.put(codePointToString(0x1D60B), "\u0064"); b_2.put(codePointToString(0x1D60C), "\u0065"); b_2.put(codePointToString(0x1D60D), "\u0066"); b_2.put(codePointToString(0x1D60E), "\u0067"); b_2.put(codePointToString(0x1D60F), "\u0068"); b_2.put(codePointToString(0x1D610), "\u0069"); b_2.put(codePointToString(0x1D611), "\u006A"); b_2.put(codePointToString(0x1D612), "\u006B"); b_2.put(codePointToString(0x1D613), "\u006C"); b_2.put(codePointToString(0x1D614), "\u006D"); b_2.put(codePointToString(0x1D615), "\u006E"); b_2.put(codePointToString(0x1D616), "\u006F"); b_2.put(codePointToString(0x1D617), "\u0070"); b_2.put(codePointToString(0x1D618), "\u0071"); b_2.put(codePointToString(0x1D619), "\u0072"); b_2.put(codePointToString(0x1D61A), "\u0073"); b_2.put(codePointToString(0x1D61B), "\u0074"); b_2.put(codePointToString(0x1D61C), "\u0075"); b_2.put(codePointToString(0x1D61D), "\u0076"); b_2.put(codePointToString(0x1D61E), "\u0077"); b_2.put(codePointToString(0x1D61F), "\u0078"); b_2.put(codePointToString(0x1D620), "\u0079"); b_2.put(codePointToString(0x1D621), "\u007A"); b_2.put(codePointToString(0x1D63C), "\u0061"); b_2.put(codePointToString(0x1D63D), "\u0062"); b_2.put(codePointToString(0x1D63E), "\u0063"); b_2.put(codePointToString(0x1D63F), "\u0064"); b_2.put(codePointToString(0x1D640), "\u0065"); b_2.put(codePointToString(0x1D641), "\u0066"); b_2.put(codePointToString(0x1D642), "\u0067"); b_2.put(codePointToString(0x1D643), "\u0068"); b_2.put(codePointToString(0x1D644), "\u0069"); b_2.put(codePointToString(0x1D645), "\u006A"); b_2.put(codePointToString(0x1D646), "\u006B"); b_2.put(codePointToString(0x1D647), "\u006C"); b_2.put(codePointToString(0x1D648), "\u006D"); b_2.put(codePointToString(0x1D649), "\u006E"); b_2.put(codePointToString(0x1D64A), "\u006F"); b_2.put(codePointToString(0x1D64B), "\u0070"); b_2.put(codePointToString(0x1D64C), "\u0071"); b_2.put(codePointToString(0x1D64D), "\u0072"); b_2.put(codePointToString(0x1D64E), "\u0073"); b_2.put(codePointToString(0x1D64F), "\u0074"); b_2.put(codePointToString(0x1D650), "\u0075"); b_2.put(codePointToString(0x1D651), "\u0076"); b_2.put(codePointToString(0x1D652), "\u0077"); b_2.put(codePointToString(0x1D653), "\u0078"); b_2.put(codePointToString(0x1D654), "\u0079"); b_2.put(codePointToString(0x1D655), "\u007A"); b_2.put(codePointToString(0x1D670), "\u0061"); b_2.put(codePointToString(0x1D671), "\u0062"); b_2.put(codePointToString(0x1D672), "\u0063"); b_2.put(codePointToString(0x1D673), "\u0064"); b_2.put(codePointToString(0x1D674), "\u0065"); b_2.put(codePointToString(0x1D675), "\u0066"); b_2.put(codePointToString(0x1D676), "\u0067"); b_2.put(codePointToString(0x1D677), "\u0068"); b_2.put(codePointToString(0x1D678), "\u0069"); b_2.put(codePointToString(0x1D679), "\u006A"); b_2.put(codePointToString(0x1D67A), "\u006B"); b_2.put(codePointToString(0x1D67B), "\u006C"); b_2.put(codePointToString(0x1D67C), "\u006D"); b_2.put(codePointToString(0x1D67D), "\u006E"); b_2.put(codePointToString(0x1D67E), "\u006F"); b_2.put(codePointToString(0x1D67F), "\u0070"); b_2.put(codePointToString(0x1D680), "\u0071"); b_2.put(codePointToString(0x1D681), "\u0072"); b_2.put(codePointToString(0x1D682), "\u0073"); b_2.put(codePointToString(0x1D683), "\u0074"); b_2.put(codePointToString(0x1D684), "\u0075"); b_2.put(codePointToString(0x1D685), "\u0076"); b_2.put(codePointToString(0x1D686), "\u0077"); b_2.put(codePointToString(0x1D687), "\u0078"); b_2.put(codePointToString(0x1D688), "\u0079"); b_2.put(codePointToString(0x1D689), "\u007A"); b_2.put(codePointToString(0x1D6A8), "\u03B1"); b_2.put(codePointToString(0x1D6A9), "\u03B2"); b_2.put(codePointToString(0x1D6AA), "\u03B3"); b_2.put(codePointToString(0x1D6AB), "\u03B4"); b_2.put(codePointToString(0x1D6AC), "\u03B5"); b_2.put(codePointToString(0x1D6AD), "\u03B6"); b_2.put(codePointToString(0x1D6AE), "\u03B7"); b_2.put(codePointToString(0x1D6AF), "\u03B8"); b_2.put(codePointToString(0x1D6B0), "\u03B9"); b_2.put(codePointToString(0x1D6B1), "\u03BA"); b_2.put(codePointToString(0x1D6B2), "\u03BB"); b_2.put(codePointToString(0x1D6B3), "\u03BC"); b_2.put(codePointToString(0x1D6B4), "\u03BD"); b_2.put(codePointToString(0x1D6B5), "\u03BE"); b_2.put(codePointToString(0x1D6B6), "\u03BF"); b_2.put(codePointToString(0x1D6B7), "\u03C0"); b_2.put(codePointToString(0x1D6B8), "\u03C1"); b_2.put(codePointToString(0x1D6B9), "\u03B8"); b_2.put(codePointToString(0x1D6BA), "\u03C3"); b_2.put(codePointToString(0x1D6BB), "\u03C4"); b_2.put(codePointToString(0x1D6BC), "\u03C5"); b_2.put(codePointToString(0x1D6BD), "\u03C6"); b_2.put(codePointToString(0x1D6BE), "\u03C7"); b_2.put(codePointToString(0x1D6BF), "\u03C8"); b_2.put(codePointToString(0x1D6C0), "\u03C9"); b_2.put(codePointToString(0x1D6D3), "\u03C3"); b_2.put(codePointToString(0x1D6E2), "\u03B1"); b_2.put(codePointToString(0x1D6E3), "\u03B2"); b_2.put(codePointToString(0x1D6E4), "\u03B3"); b_2.put(codePointToString(0x1D6E5), "\u03B4"); b_2.put(codePointToString(0x1D6E6), "\u03B5"); b_2.put(codePointToString(0x1D6E7), "\u03B6"); b_2.put(codePointToString(0x1D6E8), "\u03B7"); b_2.put(codePointToString(0x1D6E9), "\u03B8"); b_2.put(codePointToString(0x1D6EA), "\u03B9"); b_2.put(codePointToString(0x1D6EB), "\u03BA"); b_2.put(codePointToString(0x1D6EC), "\u03BB"); b_2.put(codePointToString(0x1D6ED), "\u03BC"); b_2.put(codePointToString(0x1D6EE), "\u03BD"); b_2.put(codePointToString(0x1D6EF), "\u03BE"); b_2.put(codePointToString(0x1D6F0), "\u03BF"); b_2.put(codePointToString(0x1D6F1), "\u03C0"); b_2.put(codePointToString(0x1D6F2), "\u03C1"); b_2.put(codePointToString(0x1D6F3), "\u03B8"); b_2.put(codePointToString(0x1D6F4), "\u03C3"); b_2.put(codePointToString(0x1D6F5), "\u03C4"); b_2.put(codePointToString(0x1D6F6), "\u03C5"); b_2.put(codePointToString(0x1D6F7), "\u03C6"); b_2.put(codePointToString(0x1D6F8), "\u03C7"); b_2.put(codePointToString(0x1D6F9), "\u03C8"); b_2.put(codePointToString(0x1D6FA), "\u03C9"); b_2.put(codePointToString(0x1D70D), "\u03C3"); b_2.put(codePointToString(0x1D71C), "\u03B1"); b_2.put(codePointToString(0x1D71D), "\u03B2"); b_2.put(codePointToString(0x1D71E), "\u03B3"); b_2.put(codePointToString(0x1D71F), "\u03B4"); b_2.put(codePointToString(0x1D720), "\u03B5"); b_2.put(codePointToString(0x1D721), "\u03B6"); b_2.put(codePointToString(0x1D722), "\u03B7"); b_2.put(codePointToString(0x1D723), "\u03B8"); b_2.put(codePointToString(0x1D724), "\u03B9"); b_2.put(codePointToString(0x1D725), "\u03BA"); b_2.put(codePointToString(0x1D726), "\u03BB"); b_2.put(codePointToString(0x1D727), "\u03BC"); b_2.put(codePointToString(0x1D728), "\u03BD"); b_2.put(codePointToString(0x1D729), "\u03BE"); b_2.put(codePointToString(0x1D72A), "\u03BF"); b_2.put(codePointToString(0x1D72B), "\u03C0"); b_2.put(codePointToString(0x1D72C), "\u03C1"); b_2.put(codePointToString(0x1D72D), "\u03B8"); b_2.put(codePointToString(0x1D72E), "\u03C3"); b_2.put(codePointToString(0x1D72F), "\u03C4"); b_2.put(codePointToString(0x1D730), "\u03C5"); b_2.put(codePointToString(0x1D731), "\u03C6"); b_2.put(codePointToString(0x1D732), "\u03C7"); b_2.put(codePointToString(0x1D733), "\u03C8"); b_2.put(codePointToString(0x1D734), "\u03C9"); b_2.put(codePointToString(0x1D747), "\u03C3"); b_2.put(codePointToString(0x1D756), "\u03B1"); b_2.put(codePointToString(0x1D757), "\u03B2"); b_2.put(codePointToString(0x1D758), "\u03B3"); b_2.put(codePointToString(0x1D759), "\u03B4"); b_2.put(codePointToString(0x1D75A), "\u03B5"); b_2.put(codePointToString(0x1D75B), "\u03B6"); b_2.put(codePointToString(0x1D75C), "\u03B7"); b_2.put(codePointToString(0x1D75D), "\u03B8"); b_2.put(codePointToString(0x1D75E), "\u03B9"); b_2.put(codePointToString(0x1D75F), "\u03BA"); b_2.put(codePointToString(0x1D760), "\u03BB"); b_2.put(codePointToString(0x1D761), "\u03BC"); b_2.put(codePointToString(0x1D762), "\u03BD"); b_2.put(codePointToString(0x1D763), "\u03BE"); b_2.put(codePointToString(0x1D764), "\u03BF"); b_2.put(codePointToString(0x1D765), "\u03C0"); b_2.put(codePointToString(0x1D766), "\u03C1"); b_2.put(codePointToString(0x1D767), "\u03B8"); b_2.put(codePointToString(0x1D768), "\u03C3"); b_2.put(codePointToString(0x1D769), "\u03C4"); b_2.put(codePointToString(0x1D76A), "\u03C5"); b_2.put(codePointToString(0x1D76B), "\u03C6"); b_2.put(codePointToString(0x1D76C), "\u03C7"); b_2.put(codePointToString(0x1D76D), "\u03C8"); b_2.put(codePointToString(0x1D76E), "\u03C9"); b_2.put(codePointToString(0x1D781), "\u03C3"); b_2.put(codePointToString(0x1D790), "\u03B1"); b_2.put(codePointToString(0x1D791), "\u03B2"); b_2.put(codePointToString(0x1D792), "\u03B3"); b_2.put(codePointToString(0x1D793), "\u03B4"); b_2.put(codePointToString(0x1D794), "\u03B5"); b_2.put(codePointToString(0x1D795), "\u03B6"); b_2.put(codePointToString(0x1D796), "\u03B7"); b_2.put(codePointToString(0x1D797), "\u03B8"); b_2.put(codePointToString(0x1D798), "\u03B9"); b_2.put(codePointToString(0x1D799), "\u03BA"); b_2.put(codePointToString(0x1D79A), "\u03BB"); b_2.put(codePointToString(0x1D79B), "\u03BC"); b_2.put(codePointToString(0x1D79C), "\u03BD"); b_2.put(codePointToString(0x1D79D), "\u03BE"); b_2.put(codePointToString(0x1D79E), "\u03BF"); b_2.put(codePointToString(0x1D79F), "\u03C0"); b_2.put(codePointToString(0x1D7A0), "\u03C1"); b_2.put(codePointToString(0x1D7A1), "\u03B8"); b_2.put(codePointToString(0x1D7A2), "\u03C3"); b_2.put(codePointToString(0x1D7A3), "\u03C4"); b_2.put(codePointToString(0x1D7A4), "\u03C5"); b_2.put(codePointToString(0x1D7A5), "\u03C6"); b_2.put(codePointToString(0x1D7A6), "\u03C7"); b_2.put(codePointToString(0x1D7A7), "\u03C8"); b_2.put(codePointToString(0x1D7A8), "\u03C9"); b_2.put(codePointToString(0x1D7BB), "\u03C3"); return Collections.unmodifiableMap(b_2); } private static final Map<String, String> build_B_3_MappingForCaseFoldingWithNoNormalization() { Map<String, String> b_3 = new HashMap<String, String>(); b_3.put("\u0041", "\u0061"); b_3.put("\u0042", "\u0062"); b_3.put("\u0043", "\u0063"); b_3.put("\u0044", "\u0064"); b_3.put("\u0045", "\u0065"); b_3.put("\u0046", "\u0066"); b_3.put("\u0047", "\u0067"); b_3.put("\u0048", "\u0068"); b_3.put("\u0049", "\u0069"); b_3.put("\u004A", "\u006A"); b_3.put("\u004B", "\u006B"); b_3.put("\u004C", "\u006C"); b_3.put("\u004D", "\u006D"); b_3.put("\u004E", "\u006E"); b_3.put("\u004F", "\u006F"); b_3.put("\u0050", "\u0070"); b_3.put("\u0051", "\u0071"); b_3.put("\u0052", "\u0072"); b_3.put("\u0053", "\u0073"); b_3.put("\u0054", "\u0074"); b_3.put("\u0055", "\u0075"); b_3.put("\u0056", "\u0076"); b_3.put("\u0057", "\u0077"); b_3.put("\u0058", "\u0078"); b_3.put("\u0059", "\u0079"); b_3.put("\u005A", "\u007A"); b_3.put("\u00B5", "\u03BC"); b_3.put("\u00C0", "\u00E0"); b_3.put("\u00C1", "\u00E1"); b_3.put("\u00C2", "\u00E2"); b_3.put("\u00C3", "\u00E3"); b_3.put("\u00C4", "\u00E4"); b_3.put("\u00C5", "\u00E5"); b_3.put("\u00C6", "\u00E6"); b_3.put("\u00C7", "\u00E7"); b_3.put("\u00C8", "\u00E8"); b_3.put("\u00C9", "\u00E9"); b_3.put("\u00CA", "\u00EA"); b_3.put("\u00CB", "\u00EB"); b_3.put("\u00CC", "\u00EC"); b_3.put("\u00CD", "\u00ED"); b_3.put("\u00CE", "\u00EE"); b_3.put("\u00CF", "\u00EF"); b_3.put("\u00D0", "\u00F0"); b_3.put("\u00D1", "\u00F1"); b_3.put("\u00D2", "\u00F2"); b_3.put("\u00D3", "\u00F3"); b_3.put("\u00D4", "\u00F4"); b_3.put("\u00D5", "\u00F5"); b_3.put("\u00D6", "\u00F6"); b_3.put("\u00D8", "\u00F8"); b_3.put("\u00D9", "\u00F9"); b_3.put("\u00DA", "\u00FA"); b_3.put("\u00DB", "\u00FB"); b_3.put("\u00DC", "\u00FC"); b_3.put("\u00DD", "\u00FD"); b_3.put("\u00DE", "\u00FE"); b_3.put("\u00DF", "\u0073\u0073"); b_3.put("\u0100", "\u0101"); b_3.put("\u0102", "\u0103"); b_3.put("\u0104", "\u0105"); b_3.put("\u0106", "\u0107"); b_3.put("\u0108", "\u0109"); b_3.put("\u010A", "\u010B"); b_3.put("\u010C", "\u010D"); b_3.put("\u010E", "\u010F"); b_3.put("\u0110", "\u0111"); b_3.put("\u0112", "\u0113"); b_3.put("\u0114", "\u0115"); b_3.put("\u0116", "\u0117"); b_3.put("\u0118", "\u0119"); b_3.put("\u011A", "\u011B"); b_3.put("\u011C", "\u011D"); b_3.put("\u011E", "\u011F"); b_3.put("\u0120", "\u0121"); b_3.put("\u0122", "\u0123"); b_3.put("\u0124", "\u0125"); b_3.put("\u0126", "\u0127"); b_3.put("\u0128", "\u0129"); b_3.put("\u012A", "\u012B"); b_3.put("\u012C", "\u012D"); b_3.put("\u012E", "\u012F"); b_3.put("\u0130", "\u0069\u0307"); b_3.put("\u0132", "\u0133"); b_3.put("\u0134", "\u0135"); b_3.put("\u0136", "\u0137"); b_3.put("\u0139", "\u013A"); b_3.put("\u013B", "\u013C"); b_3.put("\u013D", "\u013E"); b_3.put("\u013F", "\u0140"); b_3.put("\u0141", "\u0142"); b_3.put("\u0143", "\u0144"); b_3.put("\u0145", "\u0146"); b_3.put("\u0147", "\u0148"); b_3.put("\u0149", "\u02BC\u006E"); b_3.put("\u014A", "\u014B"); b_3.put("\u014C", "\u014D"); b_3.put("\u014E", "\u014F"); b_3.put("\u0150", "\u0151"); b_3.put("\u0152", "\u0153"); b_3.put("\u0154", "\u0155"); b_3.put("\u0156", "\u0157"); b_3.put("\u0158", "\u0159"); b_3.put("\u015A", "\u015B"); b_3.put("\u015C", "\u015D"); b_3.put("\u015E", "\u015F"); b_3.put("\u0160", "\u0161"); b_3.put("\u0162", "\u0163"); b_3.put("\u0164", "\u0165"); b_3.put("\u0166", "\u0167"); b_3.put("\u0168", "\u0169"); b_3.put("\u016A", "\u016B"); b_3.put("\u016C", "\u016D"); b_3.put("\u016E", "\u016F"); b_3.put("\u0170", "\u0171"); b_3.put("\u0172", "\u0173"); b_3.put("\u0174", "\u0175"); b_3.put("\u0176", "\u0177"); b_3.put("\u0178", "\u00FF"); b_3.put("\u0179", "\u017A"); b_3.put("\u017B", "\u017C"); b_3.put("\u017D", "\u017E"); b_3.put("\u017F", "\u0073"); b_3.put("\u0181", "\u0253"); b_3.put("\u0182", "\u0183"); b_3.put("\u0184", "\u0185"); b_3.put("\u0186", "\u0254"); b_3.put("\u0187", "\u0188"); b_3.put("\u0189", "\u0256"); b_3.put("\u018A", "\u0257"); b_3.put("\u018B", "\u018C"); b_3.put("\u018E", "\u01DD"); b_3.put("\u018F", "\u0259"); b_3.put("\u0190", "\u025B"); b_3.put("\u0191", "\u0192"); b_3.put("\u0193", "\u0260"); b_3.put("\u0194", "\u0263"); b_3.put("\u0196", "\u0269"); b_3.put("\u0197", "\u0268"); b_3.put("\u0198", "\u0199"); b_3.put("\u019C", "\u026F"); b_3.put("\u019D", "\u0272"); b_3.put("\u019F", "\u0275"); b_3.put("\u01A0", "\u01A1"); b_3.put("\u01A2", "\u01A3"); b_3.put("\u01A4", "\u01A5"); b_3.put("\u01A6", "\u0280"); b_3.put("\u01A7", "\u01A8"); b_3.put("\u01A9", "\u0283"); b_3.put("\u01AC", "\u01AD"); b_3.put("\u01AE", "\u0288"); b_3.put("\u01AF", "\u01B0"); b_3.put("\u01B1", "\u028A"); b_3.put("\u01B2", "\u028B"); b_3.put("\u01B3", "\u01B4"); b_3.put("\u01B5", "\u01B6"); b_3.put("\u01B7", "\u0292"); b_3.put("\u01B8", "\u01B9"); b_3.put("\u01BC", "\u01BD"); b_3.put("\u01C4", "\u01C6"); b_3.put("\u01C5", "\u01C6"); b_3.put("\u01C7", "\u01C9"); b_3.put("\u01C8", "\u01C9"); b_3.put("\u01CA", "\u01CC"); b_3.put("\u01CB", "\u01CC"); b_3.put("\u01CD", "\u01CE"); b_3.put("\u01CF", "\u01D0"); b_3.put("\u01D1", "\u01D2"); b_3.put("\u01D3", "\u01D4"); b_3.put("\u01D5", "\u01D6"); b_3.put("\u01D7", "\u01D8"); b_3.put("\u01D9", "\u01DA"); b_3.put("\u01DB", "\u01DC"); b_3.put("\u01DE", "\u01DF"); b_3.put("\u01E0", "\u01E1"); b_3.put("\u01E2", "\u01E3"); b_3.put("\u01E4", "\u01E5"); b_3.put("\u01E6", "\u01E7"); b_3.put("\u01E8", "\u01E9"); b_3.put("\u01EA", "\u01EB"); b_3.put("\u01EC", "\u01ED"); b_3.put("\u01EE", "\u01EF"); b_3.put("\u01F0", "\u006A\u030C"); b_3.put("\u01F1", "\u01F3"); b_3.put("\u01F2", "\u01F3"); b_3.put("\u01F4", "\u01F5"); b_3.put("\u01F6", "\u0195"); b_3.put("\u01F7", "\u01BF"); b_3.put("\u01F8", "\u01F9"); b_3.put("\u01FA", "\u01FB"); b_3.put("\u01FC", "\u01FD"); b_3.put("\u01FE", "\u01FF"); b_3.put("\u0200", "\u0201"); b_3.put("\u0202", "\u0203"); b_3.put("\u0204", "\u0205"); b_3.put("\u0206", "\u0207"); b_3.put("\u0208", "\u0209"); b_3.put("\u020A", "\u020B"); b_3.put("\u020C", "\u020D"); b_3.put("\u020E", "\u020F"); b_3.put("\u0210", "\u0211"); b_3.put("\u0212", "\u0213"); b_3.put("\u0214", "\u0215"); b_3.put("\u0216", "\u0217"); b_3.put("\u0218", "\u0219"); b_3.put("\u021A", "\u021B"); b_3.put("\u021C", "\u021D"); b_3.put("\u021E", "\u021F"); b_3.put("\u0220", "\u019E"); b_3.put("\u0222", "\u0223"); b_3.put("\u0224", "\u0225"); b_3.put("\u0226", "\u0227"); b_3.put("\u0228", "\u0229"); b_3.put("\u022A", "\u022B"); b_3.put("\u022C", "\u022D"); b_3.put("\u022E", "\u022F"); b_3.put("\u0230", "\u0231"); b_3.put("\u0232", "\u0233"); b_3.put("\u0345", "\u03B9"); b_3.put("\u0386", "\u03AC"); b_3.put("\u0388", "\u03AD"); b_3.put("\u0389", "\u03AE"); b_3.put("\u038A", "\u03AF"); b_3.put("\u038C", "\u03CC"); b_3.put("\u038E", "\u03CD"); b_3.put("\u038F", "\u03CE"); b_3.put("\u0390", "\u03B9\u0308\u0301"); b_3.put("\u0391", "\u03B1"); b_3.put("\u0392", "\u03B2"); b_3.put("\u0393", "\u03B3"); b_3.put("\u0394", "\u03B4"); b_3.put("\u0395", "\u03B5"); b_3.put("\u0396", "\u03B6"); b_3.put("\u0397", "\u03B7"); b_3.put("\u0398", "\u03B8"); b_3.put("\u0399", "\u03B9"); b_3.put("\u039A", "\u03BA"); b_3.put("\u039B", "\u03BB"); b_3.put("\u039C", "\u03BC"); b_3.put("\u039D", "\u03BD"); b_3.put("\u039E", "\u03BE"); b_3.put("\u039F", "\u03BF"); b_3.put("\u03A0", "\u03C0"); b_3.put("\u03A1", "\u03C1"); b_3.put("\u03A3", "\u03C3"); b_3.put("\u03A4", "\u03C4"); b_3.put("\u03A5", "\u03C5"); b_3.put("\u03A6", "\u03C6"); b_3.put("\u03A7", "\u03C7"); b_3.put("\u03A8", "\u03C8"); b_3.put("\u03A9", "\u03C9"); b_3.put("\u03AA", "\u03CA"); b_3.put("\u03AB", "\u03CB"); b_3.put("\u03B0", "\u03C5\u0308\u0301"); b_3.put("\u03C2", "\u03C3"); b_3.put("\u03D0", "\u03B2"); b_3.put("\u03D1", "\u03B8"); b_3.put("\u03D5", "\u03C6"); b_3.put("\u03D6", "\u03C0"); b_3.put("\u03D8", "\u03D9"); b_3.put("\u03DA", "\u03DB"); b_3.put("\u03DC", "\u03DD"); b_3.put("\u03DE", "\u03DF"); b_3.put("\u03E0", "\u03E1"); b_3.put("\u03E2", "\u03E3"); b_3.put("\u03E4", "\u03E5"); b_3.put("\u03E6", "\u03E7"); b_3.put("\u03E8", "\u03E9"); b_3.put("\u03EA", "\u03EB"); b_3.put("\u03EC", "\u03ED"); b_3.put("\u03EE", "\u03EF"); b_3.put("\u03F0", "\u03BA"); b_3.put("\u03F1", "\u03C1"); b_3.put("\u03F2", "\u03C3"); b_3.put("\u03F4", "\u03B8"); b_3.put("\u03F5", "\u03B5"); b_3.put("\u0400", "\u0450"); b_3.put("\u0401", "\u0451"); b_3.put("\u0402", "\u0452"); b_3.put("\u0403", "\u0453"); b_3.put("\u0404", "\u0454"); b_3.put("\u0405", "\u0455"); b_3.put("\u0406", "\u0456"); b_3.put("\u0407", "\u0457"); b_3.put("\u0408", "\u0458"); b_3.put("\u0409", "\u0459"); b_3.put("\u040A", "\u045A"); b_3.put("\u040B", "\u045B"); b_3.put("\u040C", "\u045C"); b_3.put("\u040D", "\u045D"); b_3.put("\u040E", "\u045E"); b_3.put("\u040F", "\u045F"); b_3.put("\u0410", "\u0430"); b_3.put("\u0411", "\u0431"); b_3.put("\u0412", "\u0432"); b_3.put("\u0413", "\u0433"); b_3.put("\u0414", "\u0434"); b_3.put("\u0415", "\u0435"); b_3.put("\u0416", "\u0436"); b_3.put("\u0417", "\u0437"); b_3.put("\u0418", "\u0438"); b_3.put("\u0419", "\u0439"); b_3.put("\u041A", "\u043A"); b_3.put("\u041B", "\u043B"); b_3.put("\u041C", "\u043C"); b_3.put("\u041D", "\u043D"); b_3.put("\u041E", "\u043E"); b_3.put("\u041F", "\u043F"); b_3.put("\u0420", "\u0440"); b_3.put("\u0421", "\u0441"); b_3.put("\u0422", "\u0442"); b_3.put("\u0423", "\u0443"); b_3.put("\u0424", "\u0444"); b_3.put("\u0425", "\u0445"); b_3.put("\u0426", "\u0446"); b_3.put("\u0427", "\u0447"); b_3.put("\u0428", "\u0448"); b_3.put("\u0429", "\u0449"); b_3.put("\u042A", "\u044A"); b_3.put("\u042B", "\u044B"); b_3.put("\u042C", "\u044C"); b_3.put("\u042D", "\u044D"); b_3.put("\u042E", "\u044E"); b_3.put("\u042F", "\u044F"); b_3.put("\u0460", "\u0461"); b_3.put("\u0462", "\u0463"); b_3.put("\u0464", "\u0465"); b_3.put("\u0466", "\u0467"); b_3.put("\u0468", "\u0469"); b_3.put("\u046A", "\u046B"); b_3.put("\u046C", "\u046D"); b_3.put("\u046E", "\u046F"); b_3.put("\u0470", "\u0471"); b_3.put("\u0472", "\u0473"); b_3.put("\u0474", "\u0475"); b_3.put("\u0476", "\u0477"); b_3.put("\u0478", "\u0479"); b_3.put("\u047A", "\u047B"); b_3.put("\u047C", "\u047D"); b_3.put("\u047E", "\u047F"); b_3.put("\u0480", "\u0481"); b_3.put("\u048A", "\u048B"); b_3.put("\u048C", "\u048D"); b_3.put("\u048E", "\u048F"); b_3.put("\u0490", "\u0491"); b_3.put("\u0492", "\u0493"); b_3.put("\u0494", "\u0495"); b_3.put("\u0496", "\u0497"); b_3.put("\u0498", "\u0499"); b_3.put("\u049A", "\u049B"); b_3.put("\u049C", "\u049D"); b_3.put("\u049E", "\u049F"); b_3.put("\u04A0", "\u04A1"); b_3.put("\u04A2", "\u04A3"); b_3.put("\u04A4", "\u04A5"); b_3.put("\u04A6", "\u04A7"); b_3.put("\u04A8", "\u04A9"); b_3.put("\u04AA", "\u04AB"); b_3.put("\u04AC", "\u04AD"); b_3.put("\u04AE", "\u04AF"); b_3.put("\u04B0", "\u04B1"); b_3.put("\u04B2", "\u04B3"); b_3.put("\u04B4", "\u04B5"); b_3.put("\u04B6", "\u04B7"); b_3.put("\u04B8", "\u04B9"); b_3.put("\u04BA", "\u04BB"); b_3.put("\u04BC", "\u04BD"); b_3.put("\u04BE", "\u04BF"); b_3.put("\u04C1", "\u04C2"); b_3.put("\u04C3", "\u04C4"); b_3.put("\u04C5", "\u04C6"); b_3.put("\u04C7", "\u04C8"); b_3.put("\u04C9", "\u04CA"); b_3.put("\u04CB", "\u04CC"); b_3.put("\u04CD", "\u04CE"); b_3.put("\u04D0", "\u04D1"); b_3.put("\u04D2", "\u04D3"); b_3.put("\u04D4", "\u04D5"); b_3.put("\u04D6", "\u04D7"); b_3.put("\u04D8", "\u04D9"); b_3.put("\u04DA", "\u04DB"); b_3.put("\u04DC", "\u04DD"); b_3.put("\u04DE", "\u04DF"); b_3.put("\u04E0", "\u04E1"); b_3.put("\u04E2", "\u04E3"); b_3.put("\u04E4", "\u04E5"); b_3.put("\u04E6", "\u04E7"); b_3.put("\u04E8", "\u04E9"); b_3.put("\u04EA", "\u04EB"); b_3.put("\u04EC", "\u04ED"); b_3.put("\u04EE", "\u04EF"); b_3.put("\u04F0", "\u04F1"); b_3.put("\u04F2", "\u04F3"); b_3.put("\u04F4", "\u04F5"); b_3.put("\u04F8", "\u04F9"); b_3.put("\u0500", "\u0501"); b_3.put("\u0502", "\u0503"); b_3.put("\u0504", "\u0505"); b_3.put("\u0506", "\u0507"); b_3.put("\u0508", "\u0509"); b_3.put("\u050A", "\u050B"); b_3.put("\u050C", "\u050D"); b_3.put("\u050E", "\u050F"); b_3.put("\u0531", "\u0561"); b_3.put("\u0532", "\u0562"); b_3.put("\u0533", "\u0563"); b_3.put("\u0534", "\u0564"); b_3.put("\u0535", "\u0565"); b_3.put("\u0536", "\u0566"); b_3.put("\u0537", "\u0567"); b_3.put("\u0538", "\u0568"); b_3.put("\u0539", "\u0569"); b_3.put("\u053A", "\u056A"); b_3.put("\u053B", "\u056B"); b_3.put("\u053C", "\u056C"); b_3.put("\u053D", "\u056D"); b_3.put("\u053E", "\u056E"); b_3.put("\u053F", "\u056F"); b_3.put("\u0540", "\u0570"); b_3.put("\u0541", "\u0571"); b_3.put("\u0542", "\u0572"); b_3.put("\u0543", "\u0573"); b_3.put("\u0544", "\u0574"); b_3.put("\u0545", "\u0575"); b_3.put("\u0546", "\u0576"); b_3.put("\u0547", "\u0577"); b_3.put("\u0548", "\u0578"); b_3.put("\u0549", "\u0579"); b_3.put("\u054A", "\u057A"); b_3.put("\u054B", "\u057B"); b_3.put("\u054C", "\u057C"); b_3.put("\u054D", "\u057D"); b_3.put("\u054E", "\u057E"); b_3.put("\u054F", "\u057F"); b_3.put("\u0550", "\u0580"); b_3.put("\u0551", "\u0581"); b_3.put("\u0552", "\u0582"); b_3.put("\u0553", "\u0583"); b_3.put("\u0554", "\u0584"); b_3.put("\u0555", "\u0585"); b_3.put("\u0556", "\u0586"); b_3.put("\u0587", "\u0565\u0582"); b_3.put("\u1E00", "\u1E01"); b_3.put("\u1E02", "\u1E03"); b_3.put("\u1E04", "\u1E05"); b_3.put("\u1E06", "\u1E07"); b_3.put("\u1E08", "\u1E09"); b_3.put("\u1E0A", "\u1E0B"); b_3.put("\u1E0C", "\u1E0D"); b_3.put("\u1E0E", "\u1E0F"); b_3.put("\u1E10", "\u1E11"); b_3.put("\u1E12", "\u1E13"); b_3.put("\u1E14", "\u1E15"); b_3.put("\u1E16", "\u1E17"); b_3.put("\u1E18", "\u1E19"); b_3.put("\u1E1A", "\u1E1B"); b_3.put("\u1E1C", "\u1E1D"); b_3.put("\u1E1E", "\u1E1F"); b_3.put("\u1E20", "\u1E21"); b_3.put("\u1E22", "\u1E23"); b_3.put("\u1E24", "\u1E25"); b_3.put("\u1E26", "\u1E27"); b_3.put("\u1E28", "\u1E29"); b_3.put("\u1E2A", "\u1E2B"); b_3.put("\u1E2C", "\u1E2D"); b_3.put("\u1E2E", "\u1E2F"); b_3.put("\u1E30", "\u1E31"); b_3.put("\u1E32", "\u1E33"); b_3.put("\u1E34", "\u1E35"); b_3.put("\u1E36", "\u1E37"); b_3.put("\u1E38", "\u1E39"); b_3.put("\u1E3A", "\u1E3B"); b_3.put("\u1E3C", "\u1E3D"); b_3.put("\u1E3E", "\u1E3F"); b_3.put("\u1E40", "\u1E41"); b_3.put("\u1E42", "\u1E43"); b_3.put("\u1E44", "\u1E45"); b_3.put("\u1E46", "\u1E47"); b_3.put("\u1E48", "\u1E49"); b_3.put("\u1E4A", "\u1E4B"); b_3.put("\u1E4C", "\u1E4D"); b_3.put("\u1E4E", "\u1E4F"); b_3.put("\u1E50", "\u1E51"); b_3.put("\u1E52", "\u1E53"); b_3.put("\u1E54", "\u1E55"); b_3.put("\u1E56", "\u1E57"); b_3.put("\u1E58", "\u1E59"); b_3.put("\u1E5A", "\u1E5B"); b_3.put("\u1E5C", "\u1E5D"); b_3.put("\u1E5E", "\u1E5F"); b_3.put("\u1E60", "\u1E61"); b_3.put("\u1E62", "\u1E63"); b_3.put("\u1E64", "\u1E65"); b_3.put("\u1E66", "\u1E67"); b_3.put("\u1E68", "\u1E69"); b_3.put("\u1E6A", "\u1E6B"); b_3.put("\u1E6C", "\u1E6D"); b_3.put("\u1E6E", "\u1E6F"); b_3.put("\u1E70", "\u1E71"); b_3.put("\u1E72", "\u1E73"); b_3.put("\u1E74", "\u1E75"); b_3.put("\u1E76", "\u1E77"); b_3.put("\u1E78", "\u1E79"); b_3.put("\u1E7A", "\u1E7B"); b_3.put("\u1E7C", "\u1E7D"); b_3.put("\u1E7E", "\u1E7F"); b_3.put("\u1E80", "\u1E81"); b_3.put("\u1E82", "\u1E83"); b_3.put("\u1E84", "\u1E85"); b_3.put("\u1E86", "\u1E87"); b_3.put("\u1E88", "\u1E89"); b_3.put("\u1E8A", "\u1E8B"); b_3.put("\u1E8C", "\u1E8D"); b_3.put("\u1E8E", "\u1E8F"); b_3.put("\u1E90", "\u1E91"); b_3.put("\u1E92", "\u1E93"); b_3.put("\u1E94", "\u1E95"); b_3.put("\u1E96", "\u0068\u0331"); b_3.put("\u1E97", "\u0074\u0308"); b_3.put("\u1E98", "\u0077\u030A"); b_3.put("\u1E99", "\u0079\u030A"); b_3.put("\u1E9A", "\u0061\u02BE"); b_3.put("\u1E9B", "\u1E61"); b_3.put("\u1EA0", "\u1EA1"); b_3.put("\u1EA2", "\u1EA3"); b_3.put("\u1EA4", "\u1EA5"); b_3.put("\u1EA6", "\u1EA7"); b_3.put("\u1EA8", "\u1EA9"); b_3.put("\u1EAA", "\u1EAB"); b_3.put("\u1EAC", "\u1EAD"); b_3.put("\u1EAE", "\u1EAF"); b_3.put("\u1EB0", "\u1EB1"); b_3.put("\u1EB2", "\u1EB3"); b_3.put("\u1EB4", "\u1EB5"); b_3.put("\u1EB6", "\u1EB7"); b_3.put("\u1EB8", "\u1EB9"); b_3.put("\u1EBA", "\u1EBB"); b_3.put("\u1EBC", "\u1EBD"); b_3.put("\u1EBE", "\u1EBF"); b_3.put("\u1EC0", "\u1EC1"); b_3.put("\u1EC2", "\u1EC3"); b_3.put("\u1EC4", "\u1EC5"); b_3.put("\u1EC6", "\u1EC7"); b_3.put("\u1EC8", "\u1EC9"); b_3.put("\u1ECA", "\u1ECB"); b_3.put("\u1ECC", "\u1ECD"); b_3.put("\u1ECE", "\u1ECF"); b_3.put("\u1ED0", "\u1ED1"); b_3.put("\u1ED2", "\u1ED3"); b_3.put("\u1ED4", "\u1ED5"); b_3.put("\u1ED6", "\u1ED7"); b_3.put("\u1ED8", "\u1ED9"); b_3.put("\u1EDA", "\u1EDB"); b_3.put("\u1EDC", "\u1EDD"); b_3.put("\u1EDE", "\u1EDF"); b_3.put("\u1EE0", "\u1EE1"); b_3.put("\u1EE2", "\u1EE3"); b_3.put("\u1EE4", "\u1EE5"); b_3.put("\u1EE6", "\u1EE7"); b_3.put("\u1EE8", "\u1EE9"); b_3.put("\u1EEA", "\u1EEB"); b_3.put("\u1EEC", "\u1EED"); b_3.put("\u1EEE", "\u1EEF"); b_3.put("\u1EF0", "\u1EF1"); b_3.put("\u1EF2", "\u1EF3"); b_3.put("\u1EF4", "\u1EF5"); b_3.put("\u1EF6", "\u1EF7"); b_3.put("\u1EF8", "\u1EF9"); b_3.put("\u1F08", "\u1F00"); b_3.put("\u1F09", "\u1F01"); b_3.put("\u1F0A", "\u1F02"); b_3.put("\u1F0B", "\u1F03"); b_3.put("\u1F0C", "\u1F04"); b_3.put("\u1F0D", "\u1F05"); b_3.put("\u1F0E", "\u1F06"); b_3.put("\u1F0F", "\u1F07"); b_3.put("\u1F18", "\u1F10"); b_3.put("\u1F19", "\u1F11"); b_3.put("\u1F1A", "\u1F12"); b_3.put("\u1F1B", "\u1F13"); b_3.put("\u1F1C", "\u1F14"); b_3.put("\u1F1D", "\u1F15"); b_3.put("\u1F28", "\u1F20"); b_3.put("\u1F29", "\u1F21"); b_3.put("\u1F2A", "\u1F22"); b_3.put("\u1F2B", "\u1F23"); b_3.put("\u1F2C", "\u1F24"); b_3.put("\u1F2D", "\u1F25"); b_3.put("\u1F2E", "\u1F26"); b_3.put("\u1F2F", "\u1F27"); b_3.put("\u1F38", "\u1F30"); b_3.put("\u1F39", "\u1F31"); b_3.put("\u1F3A", "\u1F32"); b_3.put("\u1F3B", "\u1F33"); b_3.put("\u1F3C", "\u1F34"); b_3.put("\u1F3D", "\u1F35"); b_3.put("\u1F3E", "\u1F36"); b_3.put("\u1F3F", "\u1F37"); b_3.put("\u1F48", "\u1F40"); b_3.put("\u1F49", "\u1F41"); b_3.put("\u1F4A", "\u1F42"); b_3.put("\u1F4B", "\u1F43"); b_3.put("\u1F4C", "\u1F44"); b_3.put("\u1F4D", "\u1F45"); b_3.put("\u1F50", "\u03C5\u0313"); b_3.put("\u1F52", "\u03C5\u0313\u0300"); b_3.put("\u1F54", "\u03C5\u0313\u0301"); b_3.put("\u1F56", "\u03C5\u0313\u0342"); b_3.put("\u1F59", "\u1F51"); b_3.put("\u1F5B", "\u1F53"); b_3.put("\u1F5D", "\u1F55"); b_3.put("\u1F5F", "\u1F57"); b_3.put("\u1F68", "\u1F60"); b_3.put("\u1F69", "\u1F61"); b_3.put("\u1F6A", "\u1F62"); b_3.put("\u1F6B", "\u1F63"); b_3.put("\u1F6C", "\u1F64"); b_3.put("\u1F6D", "\u1F65"); b_3.put("\u1F6E", "\u1F66"); b_3.put("\u1F6F", "\u1F67"); b_3.put("\u1F80", "\u1F00\u03B9"); b_3.put("\u1F81", "\u1F01\u03B9"); b_3.put("\u1F82", "\u1F02\u03B9"); b_3.put("\u1F83", "\u1F03\u03B9"); b_3.put("\u1F84", "\u1F04\u03B9"); b_3.put("\u1F85", "\u1F05\u03B9"); b_3.put("\u1F86", "\u1F06\u03B9"); b_3.put("\u1F87", "\u1F07\u03B9"); b_3.put("\u1F88", "\u1F00\u03B9"); b_3.put("\u1F89", "\u1F01\u03B9"); b_3.put("\u1F8A", "\u1F02\u03B9"); b_3.put("\u1F8B", "\u1F03\u03B9"); b_3.put("\u1F8C", "\u1F04\u03B9"); b_3.put("\u1F8D", "\u1F05\u03B9"); b_3.put("\u1F8E", "\u1F06\u03B9"); b_3.put("\u1F8F", "\u1F07\u03B9"); b_3.put("\u1F90", "\u1F20\u03B9"); b_3.put("\u1F91", "\u1F21\u03B9"); b_3.put("\u1F92", "\u1F22\u03B9"); b_3.put("\u1F93", "\u1F23\u03B9"); b_3.put("\u1F94", "\u1F24\u03B9"); b_3.put("\u1F95", "\u1F25\u03B9"); b_3.put("\u1F96", "\u1F26\u03B9"); b_3.put("\u1F97", "\u1F27\u03B9"); b_3.put("\u1F98", "\u1F20\u03B9"); b_3.put("\u1F99", "\u1F21\u03B9"); b_3.put("\u1F9A", "\u1F22\u03B9"); b_3.put("\u1F9B", "\u1F23\u03B9"); b_3.put("\u1F9C", "\u1F24\u03B9"); b_3.put("\u1F9D", "\u1F25\u03B9"); b_3.put("\u1F9E", "\u1F26\u03B9"); b_3.put("\u1F9F", "\u1F27\u03B9"); b_3.put("\u1FA0", "\u1F60\u03B9"); b_3.put("\u1FA1", "\u1F61\u03B9"); b_3.put("\u1FA2", "\u1F62\u03B9"); b_3.put("\u1FA3", "\u1F63\u03B9"); b_3.put("\u1FA4", "\u1F64\u03B9"); b_3.put("\u1FA5", "\u1F65\u03B9"); b_3.put("\u1FA6", "\u1F66\u03B9"); b_3.put("\u1FA7", "\u1F67\u03B9"); b_3.put("\u1FA8", "\u1F60\u03B9"); b_3.put("\u1FA9", "\u1F61\u03B9"); b_3.put("\u1FAA", "\u1F62\u03B9"); b_3.put("\u1FAB", "\u1F63\u03B9"); b_3.put("\u1FAC", "\u1F64\u03B9"); b_3.put("\u1FAD", "\u1F65\u03B9"); b_3.put("\u1FAE", "\u1F66\u03B9"); b_3.put("\u1FAF", "\u1F67\u03B9"); b_3.put("\u1FB2", "\u1F70\u03B9"); b_3.put("\u1FB3", "\u03B1\u03B9"); b_3.put("\u1FB4", "\u03AC\u03B9"); b_3.put("\u1FB6", "\u03B1\u0342"); b_3.put("\u1FB7", "\u03B1\u0342\u03B9"); b_3.put("\u1FB8", "\u1FB0"); b_3.put("\u1FB9", "\u1FB1"); b_3.put("\u1FBA", "\u1F70"); b_3.put("\u1FBB", "\u1F71"); b_3.put("\u1FBC", "\u03B1\u03B9"); b_3.put("\u1FBE", "\u03B9"); b_3.put("\u1FC2", "\u1F74\u03B9"); b_3.put("\u1FC3", "\u03B7\u03B9"); b_3.put("\u1FC4", "\u03AE\u03B9"); b_3.put("\u1FC6", "\u03B7\u0342"); b_3.put("\u1FC7", "\u03B7\u0342\u03B9"); b_3.put("\u1FC8", "\u1F72"); b_3.put("\u1FC9", "\u1F73"); b_3.put("\u1FCA", "\u1F74"); b_3.put("\u1FCB", "\u1F75"); b_3.put("\u1FCC", "\u03B7\u03B9"); b_3.put("\u1FD2", "\u03B9\u0308\u0300"); b_3.put("\u1FD3", "\u03B9\u0308\u0301"); b_3.put("\u1FD6", "\u03B9\u0342"); b_3.put("\u1FD7", "\u03B9\u0308\u0342"); b_3.put("\u1FD8", "\u1FD0"); b_3.put("\u1FD9", "\u1FD1"); b_3.put("\u1FDA", "\u1F76"); b_3.put("\u1FDB", "\u1F77"); b_3.put("\u1FE2", "\u03C5\u0308\u0300"); b_3.put("\u1FE3", "\u03C5\u0308\u0301"); b_3.put("\u1FE4", "\u03C1\u0313"); b_3.put("\u1FE6", "\u03C5\u0342"); b_3.put("\u1FE7", "\u03C5\u0308\u0342"); b_3.put("\u1FE8", "\u1FE0"); b_3.put("\u1FE9", "\u1FE1"); b_3.put("\u1FEA", "\u1F7A"); b_3.put("\u1FEB", "\u1F7B"); b_3.put("\u1FEC", "\u1FE5"); b_3.put("\u1FF2", "\u1F7C\u03B9"); b_3.put("\u1FF3", "\u03C9\u03B9"); b_3.put("\u1FF4", "\u03CE\u03B9"); b_3.put("\u1FF6", "\u03C9\u0342"); b_3.put("\u1FF7", "\u03C9\u0342\u03B9"); b_3.put("\u1FF8", "\u1F78"); b_3.put("\u1FF9", "\u1F79"); b_3.put("\u1FFA", "\u1F7C"); b_3.put("\u1FFB", "\u1F7D"); b_3.put("\u1FFC", "\u03C9\u03B9"); b_3.put("\u2126", "\u03C9"); b_3.put("\u212A", "\u006B"); b_3.put("\u212B", "\u00E5"); b_3.put("\u2160", "\u2170"); b_3.put("\u2161", "\u2171"); b_3.put("\u2162", "\u2172"); b_3.put("\u2163", "\u2173"); b_3.put("\u2164", "\u2174"); b_3.put("\u2165", "\u2175"); b_3.put("\u2166", "\u2176"); b_3.put("\u2167", "\u2177"); b_3.put("\u2168", "\u2178"); b_3.put("\u2169", "\u2179"); b_3.put("\u216A", "\u217A"); b_3.put("\u216B", "\u217B"); b_3.put("\u216C", "\u217C"); b_3.put("\u216D", "\u217D"); b_3.put("\u216E", "\u217E"); b_3.put("\u216F", "\u217F"); b_3.put("\u24B6", "\u24D0"); b_3.put("\u24B7", "\u24D1"); b_3.put("\u24B8", "\u24D2"); b_3.put("\u24B9", "\u24D3"); b_3.put("\u24BA", "\u24D4"); b_3.put("\u24BB", "\u24D5"); b_3.put("\u24BC", "\u24D6"); b_3.put("\u24BD", "\u24D7"); b_3.put("\u24BE", "\u24D8"); b_3.put("\u24BF", "\u24D9"); b_3.put("\u24C0", "\u24DA"); b_3.put("\u24C1", "\u24DB"); b_3.put("\u24C2", "\u24DC"); b_3.put("\u24C3", "\u24DD"); b_3.put("\u24C4", "\u24DE"); b_3.put("\u24C5", "\u24DF"); b_3.put("\u24C6", "\u24E0"); b_3.put("\u24C7", "\u24E1"); b_3.put("\u24C8", "\u24E2"); b_3.put("\u24C9", "\u24E3"); b_3.put("\u24CA", "\u24E4"); b_3.put("\u24CB", "\u24E5"); b_3.put("\u24CC", "\u24E6"); b_3.put("\u24CD", "\u24E7"); b_3.put("\u24CE", "\u24E8"); b_3.put("\u24CF", "\u24E9"); b_3.put("\uFB00", "\u0066\u0066"); b_3.put("\uFB01", "\u0066\u0069"); b_3.put("\uFB02", "\u0066\u006C"); b_3.put("\uFB03", "\u0066\u0066\u0069"); b_3.put("\uFB04", "\u0066\u0066\u006C"); b_3.put("\uFB05", "\u0073\u0074"); b_3.put("\uFB06", "\u0073\u0074"); b_3.put("\uFB13", "\u0574\u0576"); b_3.put("\uFB14", "\u0574\u0565"); b_3.put("\uFB15", "\u0574\u056B"); b_3.put("\uFB16", "\u057E\u0576"); b_3.put("\uFB17", "\u0574\u056D"); b_3.put("\uFF21", "\uFF41"); b_3.put("\uFF22", "\uFF42"); b_3.put("\uFF23", "\uFF43"); b_3.put("\uFF24", "\uFF44"); b_3.put("\uFF25", "\uFF45"); b_3.put("\uFF26", "\uFF46"); b_3.put("\uFF27", "\uFF47"); b_3.put("\uFF28", "\uFF48"); b_3.put("\uFF29", "\uFF49"); b_3.put("\uFF2A", "\uFF4A"); b_3.put("\uFF2B", "\uFF4B"); b_3.put("\uFF2C", "\uFF4C"); b_3.put("\uFF2D", "\uFF4D"); b_3.put("\uFF2E", "\uFF4E"); b_3.put("\uFF2F", "\uFF4F"); b_3.put("\uFF30", "\uFF50"); b_3.put("\uFF31", "\uFF51"); b_3.put("\uFF32", "\uFF52"); b_3.put("\uFF33", "\uFF53"); b_3.put("\uFF34", "\uFF54"); b_3.put("\uFF35", "\uFF55"); b_3.put("\uFF36", "\uFF56"); b_3.put("\uFF37", "\uFF57"); b_3.put("\uFF38", "\uFF58"); b_3.put("\uFF39", "\uFF59"); b_3.put("\uFF3A", "\uFF5A"); b_3.put(codePointToString(0x10400), codePointToString(0x10428)); b_3.put(codePointToString(0x10401), codePointToString(0x10429)); b_3.put(codePointToString(0x10402), codePointToString(0x1042A)); b_3.put(codePointToString(0x10403), codePointToString(0x1042B)); b_3.put(codePointToString(0x10404), codePointToString(0x1042C)); b_3.put(codePointToString(0x10405), codePointToString(0x1042D)); b_3.put(codePointToString(0x10406), codePointToString(0x1042E)); b_3.put(codePointToString(0x10407), codePointToString(0x1042F)); b_3.put(codePointToString(0x10408), codePointToString(0x10430)); b_3.put(codePointToString(0x10409), codePointToString(0x10431)); b_3.put(codePointToString(0x1040A), codePointToString(0x10432)); b_3.put(codePointToString(0x1040B), codePointToString(0x10433)); b_3.put(codePointToString(0x1040C), codePointToString(0x10434)); b_3.put(codePointToString(0x1040D), codePointToString(0x10435)); b_3.put(codePointToString(0x1040E), codePointToString(0x10436)); b_3.put(codePointToString(0x1040F), codePointToString(0x10437)); b_3.put(codePointToString(0x10410), codePointToString(0x10438)); b_3.put(codePointToString(0x10411), codePointToString(0x10439)); b_3.put(codePointToString(0x10412), codePointToString(0x1043A)); b_3.put(codePointToString(0x10413), codePointToString(0x1043B)); b_3.put(codePointToString(0x10414), codePointToString(0x1043C)); b_3.put(codePointToString(0x10415), codePointToString(0x1043D)); b_3.put(codePointToString(0x10416), codePointToString(0x1043E)); b_3.put(codePointToString(0x10417), codePointToString(0x1043F)); b_3.put(codePointToString(0x10418), codePointToString(0x10440)); b_3.put(codePointToString(0x10419), codePointToString(0x10441)); b_3.put(codePointToString(0x1041A), codePointToString(0x10442)); b_3.put(codePointToString(0x1041B), codePointToString(0x10443)); b_3.put(codePointToString(0x1041C), codePointToString(0x10444)); b_3.put(codePointToString(0x1041D), codePointToString(0x10445)); b_3.put(codePointToString(0x1041E), codePointToString(0x10446)); b_3.put(codePointToString(0x1041F), codePointToString(0x10447)); b_3.put(codePointToString(0x10420), codePointToString(0x10448)); b_3.put(codePointToString(0x10421), codePointToString(0x10449)); b_3.put(codePointToString(0x10422), codePointToString(0x1044A)); b_3.put(codePointToString(0x10423), codePointToString(0x1044B)); b_3.put(codePointToString(0x10424), codePointToString(0x1044C)); b_3.put(codePointToString(0x10425), codePointToString(0x1044D)); return Collections.unmodifiableMap(b_3); } private static final Set<String> build_C_1_1_AsciiSpaceCharacters() { Set<String> c_1_1 = new HashSet<String>(); c_1_1.add("\u0020"); return Collections.unmodifiableSet(c_1_1); } private static final Set<String> build_C_1_2_NonAsciiSpaceCharacters() { Set<String> c_1_2 = new HashSet<String>(); c_1_2.add("\u00A0"); c_1_2.add("\u1680"); c_1_2.add("\u2000"); c_1_2.add("\u2001"); c_1_2.add("\u2002"); c_1_2.add("\u2003"); c_1_2.add("\u2004"); c_1_2.add("\u2005"); c_1_2.add("\u2006"); c_1_2.add("\u2007"); c_1_2.add("\u2008"); c_1_2.add("\u2009"); c_1_2.add("\u200A"); c_1_2.add("\u200B"); c_1_2.add("\u202F"); c_1_2.add("\u205F"); c_1_2.add("\u2000"); return Collections.unmodifiableSet(c_1_2); } private static final Set<String> build_C_2_1_AsciiControlCharacters() { Set<String> c_2_1 = new HashSet<String>(); addRange(c_2_1, 0x0000, 0x001F); c_2_1.add("\u007F"); return Collections.unmodifiableSet(c_2_1); } private static final Set<String> build_C_2_2_NonAsciiControlCharacters() { Set<String> c_2_2 = new HashSet<String>(); addRange(c_2_2, 0x0080, 0x009F); c_2_2.add("\u06DD"); c_2_2.add("\u070F"); c_2_2.add("\u180E"); c_2_2.add("\u200C"); c_2_2.add("\u200D"); c_2_2.add("\u2028"); c_2_2.add("\u2029"); addRange(c_2_2, 0x2060, 0x2063); addRange(c_2_2, 0x206A, 0x206F); c_2_2.add("\uFeFF"); addRange(c_2_2, 0xFFF9, 0xFFFC); addRange(c_2_2, 0x1D173, 0x1D17A); return Collections.unmodifiableSet(c_2_2); } private static final Set<String> build_C_3_PrivateUse() { Set<String> c_3 = new HashSet<String>(); addRange(c_3, 0xE000, 0xF8FF); addRange(c_3, 0xF0000, 0xFFFFD); addRange(c_3, 0x100000, 0x10FFFD); return Collections.unmodifiableSet(c_3); } private static final Set<String> build_C_4_NonCharacterCodePoints() { Set<String> c_4 = new HashSet<String>(); addRange(c_4, 0xFDD0, 0xFDEF); addRange(c_4, 0xFFFE, 0xFFFF); addRange(c_4, 0x1FFFE, 0x1FFFF); addRange(c_4, 0x2FFFE, 0x2FFFF); addRange(c_4, 0x3FFFE, 0x3FFFF); addRange(c_4, 0x4FFFE, 0x4FFFF); addRange(c_4, 0x5FFFE, 0x5FFFF); addRange(c_4, 0x6FFFE, 0x6FFFF); addRange(c_4, 0x7FFFE, 0x7FFFF); addRange(c_4, 0x8FFFE, 0x8FFFF); addRange(c_4, 0x9FFFE, 0x9FFFF); addRange(c_4, 0xAFFFE, 0xAFFFF); addRange(c_4, 0xBFFFE, 0xBFFFF); addRange(c_4, 0xCFFFE, 0xCFFFF); addRange(c_4, 0xDFFFE, 0xDFFFF); addRange(c_4, 0xEFFFE, 0xEFFFF); addRange(c_4, 0xFFFFE, 0xFFFFF); addRange(c_4, 0x10FFFE, 0x10FFFF); return Collections.unmodifiableSet(c_4); } private static final Set<String> build_C_5_SurrogateCodes() { Set<String> c_5 = new HashSet<String>(); addRange(c_5, 0xD800, 0xDFFF); return Collections.unmodifiableSet(c_5); } private static final Set<String> build_C_6_InappropriateForPlainText() { Set<String> c_6 = new HashSet<String>(); addRange(c_6, 0xFFF9, 0xFFFD); return Collections.unmodifiableSet(c_6); } private static final Set<String> build_C_7_InappropriateForCanonicalRepresentation() { Set<String> c_7 = new HashSet<String>(); addRange(c_7, 0x2FF0, 0x2FFB); return Collections.unmodifiableSet(c_7); } private static final Set<String> build_C_8_ChangeDisplayPropertiesOrAreDeprecated() { Set<String> c_8 = new HashSet<String>(); c_8.add("\u0340"); c_8.add("\u0341"); c_8.add("\u200E"); c_8.add("\u200F"); addRange(c_8, 0x202A, 0x202E); addRange(c_8, 0x206A, 0x206F); return Collections.unmodifiableSet(c_8); } private static final Set<String> build_C_9_TaggingCharacters() { Set<String> c_9 = new HashSet<String>(); c_9.add(codePointToString(0xE0001)); addRange(c_9, 0xE0020, 0xE007F); return Collections.unmodifiableSet(c_9); } private static final Set<String> build_D_1_CharactersWithBiDiPropertiesRorAl() { Set<String> RandAlCat = new HashSet<String>(); RandAlCat.add("\u05BE"); RandAlCat.add("\u05C0"); RandAlCat.add("\u05C3"); addRange(RandAlCat, 0x05D0, 0x05EA); addRange(RandAlCat, 0x05F0, 0x05F4); RandAlCat.add("\u061B"); RandAlCat.add("\u061F"); addRange(RandAlCat, 0x0621, 0x063A); addRange(RandAlCat, 0x0640, 0x064A); addRange(RandAlCat, 0x066D, 0x066F); addRange(RandAlCat, 0x0671, 0x06D5); RandAlCat.add("\u06DD"); addRange(RandAlCat, 0x06E5, 0x06E6); addRange(RandAlCat, 0x06FA, 0x06FE); addRange(RandAlCat, 0x0700, 0x070D); RandAlCat.add("\u0710"); addRange(RandAlCat, 0x0712, 0x072C); addRange(RandAlCat, 0x0780, 0x07A5); RandAlCat.add("\u07B1"); RandAlCat.add("\u200F"); RandAlCat.add("\uFB1D"); addRange(RandAlCat, 0xFB1F, 0xFB28); addRange(RandAlCat, 0xFB2A, 0xFB36); addRange(RandAlCat, 0xFB38, 0xFB3C); RandAlCat.add("\uFB3E"); addRange(RandAlCat, 0xFB40, 0xFB41); addRange(RandAlCat, 0xFB43, 0xFB44); addRange(RandAlCat, 0xFB46, 0xFBB1); addRange(RandAlCat, 0xFBD3, 0xFD3D); addRange(RandAlCat, 0xFD50, 0xFD8F); addRange(RandAlCat, 0xFD92, 0xFDC7); addRange(RandAlCat, 0xFDF0, 0xFDFC); addRange(RandAlCat, 0xFE70, 0xFE74); addRange(RandAlCat, 0xFE76, 0xFEFC); return Collections.unmodifiableSet(RandAlCat); } private static final Set<String> build_D_2_CharactersWithBiDiPropertyL() { Set<String> LCat = new HashSet<String>(); addRange(LCat, 0x0041, 0x005A); addRange(LCat, 0x0061, 0x007A); LCat.add("\u00AA"); LCat.add("\u00B5"); LCat.add("\u00BA"); addRange(LCat, 0x00C0, 0x00D6); addRange(LCat, 0x00D8, 0x00F6); addRange(LCat, 0x00F8, 0x0220); addRange(LCat, 0x0222, 0x0233); addRange(LCat, 0x0250, 0x02AD); addRange(LCat, 0x02B0, 0x02B8); addRange(LCat, 0x02BB, 0x02C1); addRange(LCat, 0x02D0, 0x02D1); addRange(LCat, 0x02E0, 0x02E4); LCat.add("\u02EE"); LCat.add("\u037A"); LCat.add("\u0386"); addRange(LCat, 0x0388, 0x038A); LCat.add("\u038C"); addRange(LCat, 0x038E, 0x03A1); addRange(LCat, 0x03A3, 0x03CE); addRange(LCat, 0x03D0, 0x03F5); addRange(LCat, 0x0400, 0x0482); addRange(LCat, 0x048A, 0x04CE); addRange(LCat, 0x04D0, 0x04F5); addRange(LCat, 0x04F8, 0x04F9); addRange(LCat, 0x0500, 0x050F); addRange(LCat, 0x0531, 0x0556); addRange(LCat, 0x0559, 0x055F); addRange(LCat, 0x0561, 0x0587); LCat.add("\u0589"); LCat.add("\u0903"); addRange(LCat, 0x0905, 0x0939); addRange(LCat, 0x093D, 0x0940); addRange(LCat, 0x0949, 0x094C); LCat.add("\u0950"); addRange(LCat, 0x0958, 0x0961); addRange(LCat, 0x0964, 0x0970); addRange(LCat, 0x0982, 0x0983); addRange(LCat, 0x0985, 0x098C); addRange(LCat, 0x098F, 0x0990); addRange(LCat, 0x0993, 0x09A8); addRange(LCat, 0x09AA, 0x09B0); LCat.add("\u09B2"); addRange(LCat, 0x09B6, 0x09B9); addRange(LCat, 0x09BE, 0x09C0); addRange(LCat, 0x09C7, 0x09C8); addRange(LCat, 0x09CB, 0x09CC); LCat.add("\u09D7"); addRange(LCat, 0x09DC, 0x09DD); addRange(LCat, 0x09DF, 0x09E1); addRange(LCat, 0x09E6, 0x09F1); addRange(LCat, 0x09F4, 0x09FA); addRange(LCat, 0x0A05, 0x0A0A); addRange(LCat, 0x0A0F, 0x0A10); addRange(LCat, 0x0A13, 0x0A28); addRange(LCat, 0x0A2A, 0x0A30); addRange(LCat, 0x0A32, 0x0A33); addRange(LCat, 0x0A35, 0x0A36); addRange(LCat, 0x0A38, 0x0A39); addRange(LCat, 0x0A3E, 0x0A40); addRange(LCat, 0x0A59, 0x0A5C); LCat.add("\u0A5E"); addRange(LCat, 0x0A66, 0x0A6F); addRange(LCat, 0x0A72, 0x0A74); LCat.add("\u0A83"); addRange(LCat, 0x0A85, 0x0A8B); LCat.add("\u0A8D"); addRange(LCat, 0x0A8F, 0x0A91); addRange(LCat, 0x0A93, 0x0AA8); addRange(LCat, 0x0AAA, 0x0AB0); addRange(LCat, 0x0AB2, 0x0AB3); addRange(LCat, 0x0AB5, 0x0AB9); addRange(LCat, 0x0ABD, 0x0AC0); LCat.add("\u0AC9"); addRange(LCat, 0x0ACB, 0x0ACC); LCat.add("\u0AD0"); LCat.add("\u0AE0"); addRange(LCat, 0x0AE6, 0x0AEF); addRange(LCat, 0x0B02, 0x0B03); addRange(LCat, 0x0B05, 0x0B0C); addRange(LCat, 0x0B0F, 0x0B10); addRange(LCat, 0x0B13, 0x0B28); addRange(LCat, 0x0B2A, 0x0B30); addRange(LCat, 0x0B32, 0x0B33); addRange(LCat, 0x0B36, 0x0B39); addRange(LCat, 0x0B3D, 0x0B3E); LCat.add("\u0B40"); addRange(LCat, 0x0B47, 0x0B48); addRange(LCat, 0x0B4B, 0x0B4C); LCat.add("\u0B57"); addRange(LCat, 0x0B5C, 0x0B5D); addRange(LCat, 0x0B5F, 0x0B61); addRange(LCat, 0x0B66, 0x0B70); LCat.add("\u0B83"); addRange(LCat, 0x0B85, 0x0B8A); addRange(LCat, 0x0B8E, 0x0B90); addRange(LCat, 0x0B92, 0x0B95); addRange(LCat, 0x0B99, 0x0B9A); LCat.add("\u0B9C"); addRange(LCat, 0x0B9E, 0x0B9F); addRange(LCat, 0x0BA3, 0x0BA4); addRange(LCat, 0x0BA8, 0x0BAA); addRange(LCat, 0x0BAE, 0x0BB5); addRange(LCat, 0x0BB7, 0x0BB9); addRange(LCat, 0x0BBE, 0x0BBF); addRange(LCat, 0x0BC1, 0x0BC2); addRange(LCat, 0x0BC6, 0x0BC8); addRange(LCat, 0x0BCA, 0x0BCC); LCat.add("\u0BD7"); addRange(LCat, 0x0BE7, 0x0BF2); addRange(LCat, 0x0C01, 0x0C03); addRange(LCat, 0x0C05, 0x0C0C); addRange(LCat, 0x0C0E, 0x0C10); addRange(LCat, 0x0C12, 0x0C28); addRange(LCat, 0x0C2A, 0x0C33); addRange(LCat, 0x0C35, 0x0C39); addRange(LCat, 0x0C41, 0x0C44); addRange(LCat, 0x0C60, 0x0C61); addRange(LCat, 0x0C66, 0x0C6F); addRange(LCat, 0x0C82, 0x0C83); addRange(LCat, 0x0C85, 0x0C8C); addRange(LCat, 0x0C8E, 0x0C90); addRange(LCat, 0x0C92, 0x0CA8); addRange(LCat, 0x0CAA, 0x0CB3); addRange(LCat, 0x0CB5, 0x0CB9); LCat.add("\u0CBE"); addRange(LCat, 0x0CC0, 0x0CC4); addRange(LCat, 0x0CC7, 0x0CC8); addRange(LCat, 0x0CCA, 0x0CCB); addRange(LCat, 0x0CD5, 0x0CD6); LCat.add("\u0CDE"); addRange(LCat, 0x0CE0, 0x0CE1); addRange(LCat, 0x0CE6, 0x0CEF); addRange(LCat, 0x0D02, 0x0D03); addRange(LCat, 0x0D05, 0x0D0C); addRange(LCat, 0x0D0E, 0x0D10); addRange(LCat, 0x0D12, 0x0D28); addRange(LCat, 0x0D2A, 0x0D39); addRange(LCat, 0x0D3E, 0x0D40); addRange(LCat, 0x0D46, 0x0D48); addRange(LCat, 0x0D4A, 0x0D4C); LCat.add("\u0D57"); addRange(LCat, 0x0D60, 0x0D61); addRange(LCat, 0x0D66, 0x0D6F); addRange(LCat, 0x0D82, 0x0D83); addRange(LCat, 0x0D85, 0x0D96); addRange(LCat, 0x0D9A, 0x0DB1); addRange(LCat, 0x0DB3, 0x0DBB); LCat.add("\u0DBD"); addRange(LCat, 0x0DC0, 0x0DC6); addRange(LCat, 0x0DCF, 0x0DD1); addRange(LCat, 0x0DD8, 0x0DDF); addRange(LCat, 0x0DF2, 0x0DF4); addRange(LCat, 0x0E01, 0x0E30); addRange(LCat, 0x0E32, 0x0E33); addRange(LCat, 0x0E40, 0x0E46); addRange(LCat, 0x0E4F, 0x0E5B); addRange(LCat, 0x0E81, 0x0E82); LCat.add("\u0E84"); addRange(LCat, 0x0E87, 0x0E88); LCat.add("\u0E8A"); LCat.add("\u0E8D"); addRange(LCat, 0x0E94, 0x0E97); addRange(LCat, 0x0E99, 0x0E9F); addRange(LCat, 0x0EA1, 0x0EA3); LCat.add("\u0EA5"); LCat.add("\u0EA7"); addRange(LCat, 0x0EAA, 0x0EAB); addRange(LCat, 0x0EAD, 0x0EB0); addRange(LCat, 0x0EB2, 0x0EB3); LCat.add("\u0EBD"); addRange(LCat, 0x0EC0, 0x0EC4); LCat.add("\u0EC6"); addRange(LCat, 0x0ED0, 0x0ED9); addRange(LCat, 0x0EDC, 0x0EDD); addRange(LCat, 0x0F00, 0x0F17); addRange(LCat, 0x0F1A, 0x0F34); LCat.add("\u0F36"); LCat.add("\u0F38"); addRange(LCat, 0x0F3E, 0x0F47); addRange(LCat, 0x0F49, 0x0F6A); LCat.add("\u0F7F"); LCat.add("\u0F85"); addRange(LCat, 0x0F88, 0x0F8B); addRange(LCat, 0x0FBE, 0x0FC5); addRange(LCat, 0x0FC7, 0x0FCC); LCat.add("\u0FCF"); addRange(LCat, 0x1000, 0x1021); addRange(LCat, 0x1023, 0x1027); addRange(LCat, 0x1029, 0x102A); LCat.add("\u102C"); LCat.add("\u1031"); LCat.add("\u1038"); addRange(LCat, 0x1040, 0x1057); addRange(LCat, 0x10A0, 0x10C5); addRange(LCat, 0x10D0, 0x10F8); LCat.add("\u10FB"); addRange(LCat, 0x1100, 0x1159); addRange(LCat, 0x115F, 0x11A2); addRange(LCat, 0x11A8, 0x11F9); addRange(LCat, 0x1200, 0x1206); addRange(LCat, 0x1208, 0x1246); LCat.add("\u1248"); addRange(LCat, 0x124A, 0x124D); addRange(LCat, 0x1250, 0x1256); LCat.add("\u1258"); addRange(LCat, 0x125A, 0x125D); addRange(LCat, 0x1260, 0x1286); LCat.add("\u1288"); addRange(LCat, 0x128A, 0x128D); addRange(LCat, 0x1290, 0x12AE); LCat.add("\u12B0"); addRange(LCat, 0x12B2, 0x12B5); addRange(LCat, 0x12B8, 0x12BE); LCat.add("\u12C0"); addRange(LCat, 0x12C2, 0x12C5); addRange(LCat, 0x12C8, 0x12CE); addRange(LCat, 0x12D0, 0x12D6); addRange(LCat, 0x12D8, 0x12EE); addRange(LCat, 0x12F0, 0x130E); LCat.add("\u1310"); addRange(LCat, 0x1312, 0x1315); addRange(LCat, 0x1318, 0x131E); addRange(LCat, 0x1320, 0x1346); addRange(LCat, 0x1348, 0x135A); addRange(LCat, 0x1361, 0x137C); addRange(LCat, 0x13A0, 0x13F4); addRange(LCat, 0x1401, 0x1676); addRange(LCat, 0x1681, 0x169A); addRange(LCat, 0x16A0, 0x16F0); addRange(LCat, 0x1700, 0x170C); addRange(LCat, 0x170E, 0x1711); addRange(LCat, 0x1720, 0x1731); addRange(LCat, 0x1735, 0x1736); addRange(LCat, 0x1740, 0x1751); addRange(LCat, 0x1760, 0x176C); addRange(LCat, 0x176E, 0x1770); addRange(LCat, 0x1780, 0x17B6); addRange(LCat, 0x17BE, 0x17C5); addRange(LCat, 0x17C7, 0x17C8); addRange(LCat, 0x17D4, 0x17DA); LCat.add("\u17DC"); addRange(LCat, 0x17E0, 0x17E9); addRange(LCat, 0x1810, 0x1819); addRange(LCat, 0x1820, 0x1877); addRange(LCat, 0x1880, 0x18A8); addRange(LCat, 0x1E00, 0x1E9B); addRange(LCat, 0x1EA0, 0x1EF9); addRange(LCat, 0x1F00, 0x1F15); addRange(LCat, 0x1F18, 0x1F1D); addRange(LCat, 0x1F20, 0x1F45); addRange(LCat, 0x1F48, 0x1F4D); addRange(LCat, 0x1F50, 0x1F57); LCat.add("\u1F59"); LCat.add("\u1F5B"); LCat.add("\u1F5D"); addRange(LCat, 0x1F5F, 0x1F7D); addRange(LCat, 0x1F80, 0x1FB4); addRange(LCat, 0x1FB6, 0x1FBC); LCat.add("\u1FBE"); addRange(LCat, 0x1FC2, 0x1FC4); addRange(LCat, 0x1FC6, 0x1FCC); addRange(LCat, 0x1FD0, 0x1FD3); addRange(LCat, 0x1FD6, 0x1FDB); addRange(LCat, 0x1FE0, 0x1FEC); addRange(LCat, 0x1FF2, 0x1FF4); addRange(LCat, 0x1FF6, 0x1FFC); LCat.add("\u200E"); LCat.add("\u2071"); LCat.add("\u207F"); LCat.add("\u2102"); LCat.add("\u2107"); addRange(LCat, 0x210A, 0x2113); LCat.add("\u2115"); addRange(LCat, 0x2119, 0x211D); LCat.add("\u2124"); LCat.add("\u2126"); LCat.add("\u2128"); addRange(LCat, 0x212A, 0x212D); addRange(LCat, 0x212F, 0x2131); addRange(LCat, 0x2133, 0x2139); addRange(LCat, 0x213D, 0x213F); addRange(LCat, 0x2145, 0x2149); addRange(LCat, 0x2160, 0x2183); addRange(LCat, 0x2336, 0x237A); LCat.add("\u2395"); addRange(LCat, 0x249C, 0x24E9); addRange(LCat, 0x3005, 0x3007); addRange(LCat, 0x3021, 0x3029); addRange(LCat, 0x3031, 0x3035); addRange(LCat, 0x3038, 0x303C); addRange(LCat, 0x3041, 0x3096); addRange(LCat, 0x309D, 0x309F); addRange(LCat, 0x30A1, 0x30FA); addRange(LCat, 0x30FC, 0x30FF); addRange(LCat, 0x3105, 0x312C); addRange(LCat, 0x3131, 0x318E); addRange(LCat, 0x3190, 0x31B7); addRange(LCat, 0x31F0, 0x321C); addRange(LCat, 0x3220, 0x3243); addRange(LCat, 0x3260, 0x327B); addRange(LCat, 0x327F, 0x32B0); addRange(LCat, 0x32C0, 0x32CB); addRange(LCat, 0x32D0, 0x32FE); addRange(LCat, 0x3300, 0x3376); addRange(LCat, 0x337B, 0x33DD); addRange(LCat, 0x33E0, 0x33FE); addRange(LCat, 0x3400, 0x4DB5); addRange(LCat, 0x4E00, 0x9FA5); addRange(LCat, 0xA000, 0xA48C); addRange(LCat, 0xAC00, 0xD7A3); addRange(LCat, 0xD800, 0xFA2D); addRange(LCat, 0xFA30, 0xFA6A); addRange(LCat, 0xFB00, 0xFB06); addRange(LCat, 0xFB13, 0xFB17); addRange(LCat, 0xFF21, 0xFF3A); addRange(LCat, 0xFF41, 0xFF5A); addRange(LCat, 0xFF66, 0xFFBE); addRange(LCat, 0xFFC2, 0xFFC7); addRange(LCat, 0xFFCA, 0xFFCF); addRange(LCat, 0xFFD2, 0xFFD7); addRange(LCat, 0xFFDA, 0xFFDC); addRange(LCat, 0x10300, 0x1031E); addRange(LCat, 0x10320, 0x10323); addRange(LCat, 0x10330, 0x1034A); addRange(LCat, 0x10400, 0x10425); addRange(LCat, 0x10428, 0x1044D); addRange(LCat, 0x1D000, 0x1D0F5); addRange(LCat, 0x1D100, 0x1D126); addRange(LCat, 0x1D12A, 0x1D166); addRange(LCat, 0x1D16A, 0x1D172); addRange(LCat, 0x1D183, 0x1D184); addRange(LCat, 0x1D18C, 0x1D1A9); addRange(LCat, 0x1D1AE, 0x1D1DD); addRange(LCat, 0x1D400, 0x1D454); addRange(LCat, 0x1D456, 0x1D49C); addRange(LCat, 0x1D49E, 0x1D49F); LCat.add(codePointToString(0x1D4A2)); addRange(LCat, 0x1D4A5, 0x1D4A6); addRange(LCat, 0x1D4A9, 0x1D4AC); addRange(LCat, 0x1D4AE, 0x1D4B9); LCat.add(codePointToString(0x1D4BB)); addRange(LCat, 0x1D4BD, 0x1D4C0); addRange(LCat, 0x1D4C2, 0x1D4C3); addRange(LCat, 0x1D4C5, 0x1D505); addRange(LCat, 0x1D507, 0x1D50A); addRange(LCat, 0x1D50D, 0x1D514); addRange(LCat, 0x1D516, 0x1D51C); addRange(LCat, 0x1D51E, 0x1D539); addRange(LCat, 0x1D53B, 0x1D53E); addRange(LCat, 0x1D540, 0x1D544); LCat.add(codePointToString(0x1D546)); addRange(LCat, 0x1D54A, 0x1D550); addRange(LCat, 0x1D552, 0x1D6A3); addRange(LCat, 0x1D6A8, 0x1D7C9); addRange(LCat, 0x20000, 0x2A6D6); addRange(LCat, 0x2F800, 0x2FA1D); addRange(LCat, 0xF0000, 0xFFFFD); addRange(LCat, 0x100000, 0x10FFFD); return Collections.unmodifiableSet(LCat); } private static final void addRange(Set<String> set, int start, int stop) { for (int i = start; i <= stop; i++) { String s = new String(Character.toChars(i)); set.add(s); } } private static final String codePointToString(int codePoint) { return new String(Character.toChars(codePoint)); } }