From b7801893a4d9f6ad8171575cad0d95e9e70e60ce Mon Sep 17 00:00:00 2001 From: Svyatoslav Kryukov Date: Sat, 25 Nov 2023 19:32:41 +0300 Subject: [PATCH] Refactor to a regex-based algorithm --- .rubocop.yml | 5 + CHANGELOG.md | 4 + lib/uri/idna/base_processing.rb | 18 +- lib/uri/idna/data/bidi_classes.rb | 1973 ++ lib/uri/idna/data/codepoint_classes.rb | 1226 ++ lib/uri/idna/data/idna.rb | 4697 ----- lib/uri/idna/data/joining_types.rb | 839 + lib/uri/idna/data/leading_combiners.rb | 321 + lib/uri/idna/data/scripts.rb | 108 + lib/uri/idna/data/unicode_version.rb | 10 + lib/uri/idna/data/uts46.rb | 16638 ++++++++-------- lib/uri/idna/data/virama_combining_classes.rb | 67 + lib/uri/idna/idna2008/processing.rb | 41 +- lib/uri/idna/intranges.rb | 57 - lib/uri/idna/punycode.rb | 20 +- lib/uri/idna/uts46/mapping.rb | 76 +- lib/uri/idna/uts46/processing.rb | 29 +- lib/uri/idna/validation/bidi.rb | 86 +- lib/uri/idna/validation/codepoint.rb | 128 - lib/uri/idna/validation/contextj.rb | 62 + lib/uri/idna/validation/contexto.rb | 61 + lib/uri/idna/validation/idna_permitted.rb | 30 + lib/uri/idna/validation/label.rb | 15 +- lib/uri/idna/validation/leading_combining.rb | 23 + spec/spec_helper.rb | 12 + spec/uri/idna/idna2008/lookup_spec.rb | 10 + spec/uri/idna/idna2008/registration_spec.rb | 9 + spec/uri/idna/punycode_spec.rb | 7 + spec/uri/idna/uts46/to_ascii_spec.rb | 17 + spec/uri/idna/validation/bidi_spec.rb | 79 + spec/uri/idna/validation/contextj_spec.rb | 39 + spec/uri/idna/validation/contexto_spec.rb | 70 + .../idna/validation/idna_permitted_spec.rb | 20 + spec/uri/idna/validation/label_spec.rb | 156 + .../idna/validation/leading_combining_spec.rb | 13 + spec/uri/idna_spec.rb | 200 + tasks/base_generator.rb | 37 + tasks/code_point.rb | 10 + tasks/idna.rake | 44 +- tasks/idna_data.rb | 129 - tasks/idna_generator.rb | 41 + tasks/scripts_generator.rb | 9 + tasks/templates/bidi_classes.erb | 18 + tasks/templates/codepoint_classes.erb | 18 + tasks/templates/joining_types.erb | 14 + tasks/templates/leading_combiners.erb | 14 + tasks/templates/scripts.erb | 18 + tasks/templates/unicode_version.erb | 10 + tasks/templates/uts46.erb | 50 + tasks/templates/virama_combining_classes.erb | 14 + tasks/unicode_data.rb | 8 +- tasks/uts46_data.rb | 59 - tasks/uts46_generator.rb | 25 + 53 files changed, 14248 insertions(+), 13436 deletions(-) create mode 100644 lib/uri/idna/data/bidi_classes.rb create mode 100644 lib/uri/idna/data/codepoint_classes.rb delete mode 100644 lib/uri/idna/data/idna.rb create mode 100644 lib/uri/idna/data/joining_types.rb create mode 100644 lib/uri/idna/data/leading_combiners.rb create mode 100644 lib/uri/idna/data/scripts.rb create mode 100644 lib/uri/idna/data/unicode_version.rb create mode 100644 lib/uri/idna/data/virama_combining_classes.rb delete mode 100644 lib/uri/idna/intranges.rb delete mode 100644 lib/uri/idna/validation/codepoint.rb create mode 100644 lib/uri/idna/validation/contextj.rb create mode 100644 lib/uri/idna/validation/contexto.rb create mode 100644 lib/uri/idna/validation/idna_permitted.rb create mode 100644 lib/uri/idna/validation/leading_combining.rb create mode 100644 spec/uri/idna/validation/bidi_spec.rb create mode 100644 spec/uri/idna/validation/contextj_spec.rb create mode 100644 spec/uri/idna/validation/contexto_spec.rb create mode 100644 spec/uri/idna/validation/idna_permitted_spec.rb create mode 100644 spec/uri/idna/validation/label_spec.rb create mode 100644 spec/uri/idna/validation/leading_combining_spec.rb create mode 100644 spec/uri/idna_spec.rb create mode 100644 tasks/base_generator.rb delete mode 100644 tasks/idna_data.rb create mode 100644 tasks/idna_generator.rb create mode 100644 tasks/scripts_generator.rb create mode 100644 tasks/templates/bidi_classes.erb create mode 100644 tasks/templates/codepoint_classes.erb create mode 100644 tasks/templates/joining_types.erb create mode 100644 tasks/templates/leading_combiners.erb create mode 100644 tasks/templates/scripts.erb create mode 100644 tasks/templates/unicode_version.erb create mode 100644 tasks/templates/uts46.erb create mode 100644 tasks/templates/virama_combining_classes.erb delete mode 100644 tasks/uts46_data.rb create mode 100644 tasks/uts46_generator.rb diff --git a/.rubocop.yml b/.rubocop.yml index a70e994..cfd6931 100644 --- a/.rubocop.yml +++ b/.rubocop.yml @@ -49,3 +49,8 @@ RSpec/MultipleExpectations: RSpec/NestedGroups: Enabled: false + +RSpec/FilePath: + Exclude: + - spec/uri/idna/validation/contexto_spec.rb + - spec/uri/idna/validation/contextj_spec.rb diff --git a/CHANGELOG.md b/CHANGELOG.md index c57bdac..abd0b0c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,6 +7,10 @@ and this project adheres to [Semantic Versioning]. ## [Unreleased] +### Changed + +- Internal implementation moved to regex-based algorithm to improve performance. ([@skryukov]) + ## [0.2.1] - 2023-11-15 ### Changed diff --git a/lib/uri/idna/base_processing.rb b/lib/uri/idna/base_processing.rb index eab2a29..9e56d1c 100644 --- a/lib/uri/idna/base_processing.rb +++ b/lib/uri/idna/base_processing.rb @@ -1,27 +1,33 @@ # frozen_string_literal: true require_relative "validation/label" -require_relative "validation/codepoint" require_relative "validation/bidi" module URI module IDNA class BaseProcessing + class << self + def default_options + @default_options ||= options_class.new + end + + def options_class + raise NotImplementedError, "Implement #options_class method" + end + end + def initialize(domain_name, **options) @domain_name = domain_name - @options = options_class.new(**options) + @options = options.any? ? self.class.options_class.new(**options) : self.class.default_options end private attr_reader :domain_name, :options - def options_class - raise NotImplementedError, "Implement #options_class method" - end - def punycode_decode(label) raise Error, "Label contains non-ASCII code point" unless label.ascii_only? + raise Error, "A-label must not end with a hyphen" if label[-1] == "-" code = label[ACE_PREFIX.length..] raise Error, "Malformed A-label, no Punycode eligible content found" if code.empty? diff --git a/lib/uri/idna/data/bidi_classes.rb b/lib/uri/idna/data/bidi_classes.rb new file mode 100644 index 0000000..660b01f --- /dev/null +++ b/lib/uri/idna/data/bidi_classes.rb @@ -0,0 +1,1973 @@ +# frozen_string_literal: true + +# This file is automatically generated by bin/generate +# Unicode version 15.1.0 + +module URI + module IDNA + BIDI_CLASSES = { + "UNUSED" => "["\ + "\u0009-\u000D"\ + "\u001C- "\ + "\u0085"\ + "\u0378\u0379"\ + "\u0380-\u0383"\ + "\u038B"\ + "\u038D"\ + "\u03A2"\ + "\u0530"\ + "\u0557\u0558"\ + "\u058B\u058C"\ + "\u0590"\ + "\u05C8-\u05CF"\ + "\u05EB-\u05EE"\ + "\u05F5-\u05FF"\ + "\u070E"\ + "\u074B\u074C"\ + "\u07B2-\u07BF"\ + "\u07FB\u07FC"\ + "\u082E\u082F"\ + "\u083F"\ + "\u085C\u085D"\ + "\u085F"\ + "\u086B-\u086F"\ + "\u088F"\ + "\u0892-\u0897"\ + "\u0984"\ + "\u098D\u098E"\ + "\u0991\u0992"\ + "\u09A9"\ + "\u09B1"\ + "\u09B3-\u09B5"\ + "\u09BA\u09BB"\ + "\u09C5\u09C6"\ + "\u09C9\u09CA"\ + "\u09CF-\u09D6"\ + "\u09D8-\u09DB"\ + "\u09DE"\ + "\u09E4\u09E5"\ + "\u09FF\u0A00"\ + "\u0A04"\ + "\u0A0B-\u0A0E"\ + "\u0A11\u0A12"\ + "\u0A29"\ + "\u0A31"\ + "\u0A34"\ + "\u0A37"\ + "\u0A3A\u0A3B"\ + "\u0A3D"\ + "\u0A43-\u0A46"\ + "\u0A49\u0A4A"\ + "\u0A4E-\u0A50"\ + "\u0A52-\u0A58"\ + "\u0A5D"\ + "\u0A5F-\u0A65"\ + "\u0A77-\u0A80"\ + "\u0A84"\ + "\u0A8E"\ + "\u0A92"\ + "\u0AA9"\ + "\u0AB1"\ + "\u0AB4"\ + "\u0ABA\u0ABB"\ + "\u0AC6"\ + "\u0ACA"\ + "\u0ACE\u0ACF"\ + "\u0AD1-\u0ADF"\ + "\u0AE4\u0AE5"\ + "\u0AF2-\u0AF8"\ + "\u0B00"\ + "\u0B04"\ + "\u0B0D\u0B0E"\ + "\u0B11\u0B12"\ + "\u0B29"\ + "\u0B31"\ + "\u0B34"\ + "\u0B3A\u0B3B"\ + "\u0B45\u0B46"\ + "\u0B49\u0B4A"\ + "\u0B4E-\u0B54"\ + "\u0B58-\u0B5B"\ + "\u0B5E"\ + "\u0B64\u0B65"\ + "\u0B78-\u0B81"\ + "\u0B84"\ + "\u0B8B-\u0B8D"\ + "\u0B91"\ + "\u0B96-\u0B98"\ + "\u0B9B"\ + "\u0B9D"\ + "\u0BA0-\u0BA2"\ + "\u0BA5-\u0BA7"\ + "\u0BAB-\u0BAD"\ + "\u0BBA-\u0BBD"\ + "\u0BC3-\u0BC5"\ + "\u0BC9"\ + "\u0BCE\u0BCF"\ + "\u0BD1-\u0BD6"\ + "\u0BD8-\u0BE5"\ + "\u0BFB-\u0BFF"\ + "\u0C0D"\ + "\u0C11"\ + "\u0C29"\ + "\u0C3A\u0C3B"\ + "\u0C45"\ + "\u0C49"\ + "\u0C4E-\u0C54"\ + "\u0C57"\ + "\u0C5B\u0C5C"\ + "\u0C5E\u0C5F"\ + "\u0C64\u0C65"\ + "\u0C70-\u0C76"\ + "\u0C8D"\ + "\u0C91"\ + "\u0CA9"\ + "\u0CB4"\ + "\u0CBA\u0CBB"\ + "\u0CC5"\ + "\u0CC9"\ + "\u0CCE-\u0CD4"\ + "\u0CD7-\u0CDC"\ + "\u0CDF"\ + "\u0CE4\u0CE5"\ + "\u0CF0"\ + "\u0CF4-\u0CFF"\ + "\u0D0D"\ + "\u0D11"\ + "\u0D45"\ + "\u0D49"\ + "\u0D50-\u0D53"\ + "\u0D64\u0D65"\ + "\u0D80"\ + "\u0D84"\ + "\u0D97-\u0D99"\ + "\u0DB2"\ + "\u0DBC"\ + "\u0DBE\u0DBF"\ + "\u0DC7-\u0DC9"\ + "\u0DCB-\u0DCE"\ + "\u0DD5"\ + "\u0DD7"\ + "\u0DE0-\u0DE5"\ + "\u0DF0\u0DF1"\ + "\u0DF5-\u0E00"\ + "\u0E3B-\u0E3E"\ + "\u0E5C-\u0E80"\ + "\u0E83"\ + "\u0E85"\ + "\u0E8B"\ + "\u0EA4"\ + "\u0EA6"\ + "\u0EBE\u0EBF"\ + "\u0EC5"\ + "\u0EC7"\ + "\u0ECF"\ + "\u0EDA\u0EDB"\ + "\u0EE0-\u0EFF"\ + "\u0F48"\ + "\u0F6D-\u0F70"\ + "\u0F98"\ + "\u0FBD"\ + "\u0FCD"\ + "\u0FDB-\u0FFF"\ + "\u10C6"\ + "\u10C8-\u10CC"\ + "\u10CE\u10CF"\ + "\u1249"\ + "\u124E\u124F"\ + "\u1257"\ + "\u1259"\ + "\u125E\u125F"\ + "\u1289"\ + "\u128E\u128F"\ + "\u12B1"\ + "\u12B6\u12B7"\ + "\u12BF"\ + "\u12C1"\ + "\u12C6\u12C7"\ + "\u12D7"\ + "\u1311"\ + "\u1316\u1317"\ + "\u135B\u135C"\ + "\u137D-\u137F"\ + "\u139A-\u139F"\ + "\u13F6\u13F7"\ + "\u13FE\u13FF"\ + "\u1680"\ + "\u169D-\u169F"\ + "\u16F9-\u16FF"\ + "\u1716-\u171E"\ + "\u1737-\u173F"\ + "\u1754-\u175F"\ + "\u176D"\ + "\u1771"\ + "\u1774-\u177F"\ + "\u17DE\u17DF"\ + "\u17EA-\u17EF"\ + "\u17FA-\u17FF"\ + "\u181A-\u181F"\ + "\u1879-\u187F"\ + "\u18AB-\u18AF"\ + "\u18F6-\u18FF"\ + "\u191F"\ + "\u192C-\u192F"\ + "\u193C-\u193F"\ + "\u1941-\u1943"\ + "\u196E\u196F"\ + "\u1975-\u197F"\ + "\u19AC-\u19AF"\ + "\u19CA-\u19CF"\ + "\u19DB-\u19DD"\ + "\u1A1C\u1A1D"\ + "\u1A5F"\ + "\u1A7D\u1A7E"\ + "\u1A8A-\u1A8F"\ + "\u1A9A-\u1A9F"\ + "\u1AAE\u1AAF"\ + "\u1ACF-\u1AFF"\ + "\u1B4D-\u1B4F"\ + "\u1B7F"\ + "\u1BF4-\u1BFB"\ + "\u1C38-\u1C3A"\ + "\u1C4A-\u1C4C"\ + "\u1C89-\u1C8F"\ + "\u1CBB\u1CBC"\ + "\u1CC8-\u1CCF"\ + "\u1CFB-\u1CFF"\ + "\u1F16\u1F17"\ + "\u1F1E\u1F1F"\ + "\u1F46\u1F47"\ + "\u1F4E\u1F4F"\ + "\u1F58"\ + "\u1F5A"\ + "\u1F5C"\ + "\u1F5E"\ + "\u1F7E\u1F7F"\ + "\u1FB5"\ + "\u1FC5"\ + "\u1FD4\u1FD5"\ + "\u1FDC"\ + "\u1FF0\u1FF1"\ + "\u1FF5"\ + "\u1FFF-\u200A"\ + "\u2028-\u202E"\ + "\u205F"\ + "\u2065-\u2069"\ + "\u2072\u2073"\ + "\u208F"\ + "\u209D-\u209F"\ + "\u20C1-\u20CF"\ + "\u20F1-\u20FF"\ + "\u218C-\u218F"\ + "\u2427-\u243F"\ + "\u244B-\u245F"\ + "\u2B74\u2B75"\ + "\u2B96"\ + "\u2CF4-\u2CF8"\ + "\u2D26"\ + "\u2D28-\u2D2C"\ + "\u2D2E\u2D2F"\ + "\u2D68-\u2D6E"\ + "\u2D71-\u2D7E"\ + "\u2D97-\u2D9F"\ + "\u2DA7"\ + "\u2DAF"\ + "\u2DB7"\ + "\u2DBF"\ + "\u2DC7"\ + "\u2DCF"\ + "\u2DD7"\ + "\u2DDF"\ + "\u2E5E-\u2E7F"\ + "\u2E9A"\ + "\u2EF4-\u2EFF"\ + "\u2FD6-\u2FEF"\ + "\u3000"\ + "\u3040"\ + "\u3097\u3098"\ + "\u3100-\u3104"\ + "\u3130"\ + "\u318F"\ + "\u31E4-\u31EE"\ + "\u321F"\ + "\uA48D-\uA48F"\ + "\uA4C7-\uA4CF"\ + "\uA62C-\uA63F"\ + "\uA6F8-\uA6FF"\ + "\uA7CB-\uA7CF"\ + "\uA7D2"\ + "\uA7D4"\ + "\uA7DA-\uA7F1"\ + "\uA82D-\uA82F"\ + "\uA83A-\uA83F"\ + "\uA878-\uA87F"\ + "\uA8C6-\uA8CD"\ + "\uA8DA-\uA8DF"\ + "\uA954-\uA95E"\ + "\uA97D-\uA97F"\ + "\uA9CE"\ + "\uA9DA-\uA9DD"\ + "\uA9FF"\ + "\uAA37-\uAA3F"\ + "\uAA4E\uAA4F"\ + "\uAA5A\uAA5B"\ + "\uAAC3-\uAADA"\ + "\uAAF7-\uAB00"\ + "\uAB07\uAB08"\ + "\uAB0F\uAB10"\ + "\uAB17-\uAB1F"\ + "\uAB27"\ + "\uAB2F"\ + "\uAB6C-\uAB6F"\ + "\uABEE\uABEF"\ + "\uABFA-\uABFF"\ + "\uD7A4-\uD7AF"\ + "\uD7C7-\uD7CA"\ + "\uD7FC-\uD7FF"\ + "\uFA6E\uFA6F"\ + "\uFADA-\uFAFF"\ + "\uFB07-\uFB12"\ + "\uFB18-\uFB1C"\ + "\uFB37"\ + "\uFB3D"\ + "\uFB3F"\ + "\uFB42"\ + "\uFB45"\ + "\uFBC3-\uFBD2"\ + "\uFD90\uFD91"\ + "\uFDC8-\uFDCE"\ + "\uFDD0-\uFDEF"\ + "\uFE1A-\uFE1F"\ + "\uFE53"\ + "\uFE67"\ + "\uFE6C-\uFE6F"\ + "\uFE75"\ + "\uFEFD\uFEFE"\ + "\uFF00"\ + "\uFFBF-\uFFC1"\ + "\uFFC8\uFFC9"\ + "\uFFD0\uFFD1"\ + "\uFFD8\uFFD9"\ + "\uFFDD-\uFFDF"\ + "\uFFE7"\ + "\uFFEF-\uFFF8"\ + "\uFFFE\uFFFF"\ + "\u{1000C}"\ + "\u{10027}"\ + "\u{1003B}"\ + "\u{1003E}"\ + "\u{1004E}\u{1004F}"\ + "\u{1005E}-\u{1007F}"\ + "\u{100FB}-\u{100FF}"\ + "\u{10103}-\u{10106}"\ + "\u{10134}-\u{10136}"\ + "\u{1018F}"\ + "\u{1019D}-\u{1019F}"\ + "\u{101A1}-\u{101CF}"\ + "\u{101FE}-\u{1027F}"\ + "\u{1029D}-\u{1029F}"\ + "\u{102D1}-\u{102DF}"\ + "\u{102FC}-\u{102FF}"\ + "\u{10324}-\u{1032C}"\ + "\u{1034B}-\u{1034F}"\ + "\u{1037B}-\u{1037F}"\ + "\u{1039E}"\ + "\u{103C4}-\u{103C7}"\ + "\u{103D6}-\u{103FF}"\ + "\u{1049E}\u{1049F}"\ + "\u{104AA}-\u{104AF}"\ + "\u{104D4}-\u{104D7}"\ + "\u{104FC}-\u{104FF}"\ + "\u{10528}-\u{1052F}"\ + "\u{10564}-\u{1056E}"\ + "\u{1057B}"\ + "\u{1058B}"\ + "\u{10593}"\ + "\u{10596}"\ + "\u{105A2}"\ + "\u{105B2}"\ + "\u{105BA}"\ + "\u{105BD}-\u{105FF}"\ + "\u{10737}-\u{1073F}"\ + "\u{10756}-\u{1075F}"\ + "\u{10768}-\u{1077F}"\ + "\u{10786}"\ + "\u{107B1}"\ + "\u{107BB}-\u{107FF}"\ + "\u{10806}\u{10807}"\ + "\u{10809}"\ + "\u{10836}"\ + "\u{10839}-\u{1083B}"\ + "\u{1083D}\u{1083E}"\ + "\u{10856}"\ + "\u{1089F}-\u{108A6}"\ + "\u{108B0}-\u{108DF}"\ + "\u{108F3}"\ + "\u{108F6}-\u{108FA}"\ + "\u{1091C}-\u{1091E}"\ + "\u{1093A}-\u{1093E}"\ + "\u{10940}-\u{1097F}"\ + "\u{109B8}-\u{109BB}"\ + "\u{109D0}\u{109D1}"\ + "\u{10A04}"\ + "\u{10A07}-\u{10A0B}"\ + "\u{10A14}"\ + "\u{10A18}"\ + "\u{10A36}\u{10A37}"\ + "\u{10A3B}-\u{10A3E}"\ + "\u{10A49}-\u{10A4F}"\ + "\u{10A59}-\u{10A5F}"\ + "\u{10AA0}-\u{10ABF}"\ + "\u{10AE7}-\u{10AEA}"\ + "\u{10AF7}-\u{10AFF}"\ + "\u{10B36}-\u{10B38}"\ + "\u{10B56}\u{10B57}"\ + "\u{10B73}-\u{10B77}"\ + "\u{10B92}-\u{10B98}"\ + "\u{10B9D}-\u{10BA8}"\ + "\u{10BB0}-\u{10BFF}"\ + "\u{10C49}-\u{10C7F}"\ + "\u{10CB3}-\u{10CBF}"\ + "\u{10CF3}-\u{10CF9}"\ + "\u{10D28}-\u{10D2F}"\ + "\u{10D3A}-\u{10E5F}"\ + "\u{10E7F}"\ + "\u{10EAA}"\ + "\u{10EAE}\u{10EAF}"\ + "\u{10EB2}-\u{10EFC}"\ + "\u{10F28}-\u{10F2F}"\ + "\u{10F5A}-\u{10F6F}"\ + "\u{10F8A}-\u{10FAF}"\ + "\u{10FCC}-\u{10FDF}"\ + "\u{10FF7}-\u{10FFF}"\ + "\u{1104E}-\u{11051}"\ + "\u{11076}-\u{1107E}"\ + "\u{110C3}-\u{110CC}"\ + "\u{110CE}\u{110CF}"\ + "\u{110E9}-\u{110EF}"\ + "\u{110FA}-\u{110FF}"\ + "\u{11135}"\ + "\u{11148}-\u{1114F}"\ + "\u{11177}-\u{1117F}"\ + "\u{111E0}"\ + "\u{111F5}-\u{111FF}"\ + "\u{11212}"\ + "\u{11242}-\u{1127F}"\ + "\u{11287}"\ + "\u{11289}"\ + "\u{1128E}"\ + "\u{1129E}"\ + "\u{112AA}-\u{112AF}"\ + "\u{112EB}-\u{112EF}"\ + "\u{112FA}-\u{112FF}"\ + "\u{11304}"\ + "\u{1130D}\u{1130E}"\ + "\u{11311}\u{11312}"\ + "\u{11329}"\ + "\u{11331}"\ + "\u{11334}"\ + "\u{1133A}"\ + "\u{11345}\u{11346}"\ + "\u{11349}\u{1134A}"\ + "\u{1134E}\u{1134F}"\ + "\u{11351}-\u{11356}"\ + "\u{11358}-\u{1135C}"\ + "\u{11364}\u{11365}"\ + "\u{1136D}-\u{1136F}"\ + "\u{11375}-\u{113FF}"\ + "\u{1145C}"\ + "\u{11462}-\u{1147F}"\ + "\u{114C8}-\u{114CF}"\ + "\u{114DA}-\u{1157F}"\ + "\u{115B6}\u{115B7}"\ + "\u{115DE}-\u{115FF}"\ + "\u{11645}-\u{1164F}"\ + "\u{1165A}-\u{1165F}"\ + "\u{1166D}-\u{1167F}"\ + "\u{116BA}-\u{116BF}"\ + "\u{116CA}-\u{116FF}"\ + "\u{1171B}\u{1171C}"\ + "\u{1172C}-\u{1172F}"\ + "\u{11747}-\u{117FF}"\ + "\u{1183C}-\u{1189F}"\ + "\u{118F3}-\u{118FE}"\ + "\u{11907}\u{11908}"\ + "\u{1190A}\u{1190B}"\ + "\u{11914}"\ + "\u{11917}"\ + "\u{11936}"\ + "\u{11939}\u{1193A}"\ + "\u{11947}-\u{1194F}"\ + "\u{1195A}-\u{1199F}"\ + "\u{119A8}\u{119A9}"\ + "\u{119D8}\u{119D9}"\ + "\u{119E5}-\u{119FF}"\ + "\u{11A48}-\u{11A4F}"\ + "\u{11AA3}-\u{11AAF}"\ + "\u{11AF9}-\u{11AFF}"\ + "\u{11B0A}-\u{11BFF}"\ + "\u{11C09}"\ + "\u{11C37}"\ + "\u{11C46}-\u{11C4F}"\ + "\u{11C6D}-\u{11C6F}"\ + "\u{11C90}\u{11C91}"\ + "\u{11CA8}"\ + "\u{11CB7}-\u{11CFF}"\ + "\u{11D07}"\ + "\u{11D0A}"\ + "\u{11D37}-\u{11D39}"\ + "\u{11D3B}"\ + "\u{11D3E}"\ + "\u{11D48}-\u{11D4F}"\ + "\u{11D5A}-\u{11D5F}"\ + "\u{11D66}"\ + "\u{11D69}"\ + "\u{11D8F}"\ + "\u{11D92}"\ + "\u{11D99}-\u{11D9F}"\ + "\u{11DAA}-\u{11EDF}"\ + "\u{11EF9}-\u{11EFF}"\ + "\u{11F11}"\ + "\u{11F3B}-\u{11F3D}"\ + "\u{11F5A}-\u{11FAF}"\ + "\u{11FB1}-\u{11FBF}"\ + "\u{11FF2}-\u{11FFE}"\ + "\u{1239A}-\u{123FF}"\ + "\u{1246F}"\ + "\u{12475}-\u{1247F}"\ + "\u{12544}-\u{12F8F}"\ + "\u{12FF3}-\u{12FFF}"\ + "\u{13456}-\u{143FF}"\ + "\u{14647}-\u{167FF}"\ + "\u{16A39}-\u{16A3F}"\ + "\u{16A5F}"\ + "\u{16A6A}-\u{16A6D}"\ + "\u{16ABF}"\ + "\u{16ACA}-\u{16ACF}"\ + "\u{16AEE}\u{16AEF}"\ + "\u{16AF6}-\u{16AFF}"\ + "\u{16B46}-\u{16B4F}"\ + "\u{16B5A}"\ + "\u{16B62}"\ + "\u{16B78}-\u{16B7C}"\ + "\u{16B90}-\u{16E3F}"\ + "\u{16E9B}-\u{16EFF}"\ + "\u{16F4B}-\u{16F4E}"\ + "\u{16F88}-\u{16F8E}"\ + "\u{16FA0}-\u{16FDF}"\ + "\u{16FE5}-\u{16FEF}"\ + "\u{16FF2}-\u{16FFF}"\ + "\u{187F8}-\u{187FF}"\ + "\u{18CD6}-\u{18CFF}"\ + "\u{18D09}-\u{1AFEF}"\ + "\u{1AFF4}"\ + "\u{1AFFC}"\ + "\u{1AFFF}"\ + "\u{1B123}-\u{1B131}"\ + "\u{1B133}-\u{1B14F}"\ + "\u{1B153}\u{1B154}"\ + "\u{1B156}-\u{1B163}"\ + "\u{1B168}-\u{1B16F}"\ + "\u{1B2FC}-\u{1BBFF}"\ + "\u{1BC6B}-\u{1BC6F}"\ + "\u{1BC7D}-\u{1BC7F}"\ + "\u{1BC89}-\u{1BC8F}"\ + "\u{1BC9A}\u{1BC9B}"\ + "\u{1BCA4}-\u{1CEFF}"\ + "\u{1CF2E}\u{1CF2F}"\ + "\u{1CF47}-\u{1CF4F}"\ + "\u{1CFC4}-\u{1CFFF}"\ + "\u{1D0F6}-\u{1D0FF}"\ + "\u{1D127}\u{1D128}"\ + "\u{1D1EB}-\u{1D1FF}"\ + "\u{1D246}-\u{1D2BF}"\ + "\u{1D2D4}-\u{1D2DF}"\ + "\u{1D2F4}-\u{1D2FF}"\ + "\u{1D357}-\u{1D35F}"\ + "\u{1D379}-\u{1D3FF}"\ + "\u{1D455}"\ + "\u{1D49D}"\ + "\u{1D4A0}\u{1D4A1}"\ + "\u{1D4A3}\u{1D4A4}"\ + "\u{1D4A7}\u{1D4A8}"\ + "\u{1D4AD}"\ + "\u{1D4BA}"\ + "\u{1D4BC}"\ + "\u{1D4C4}"\ + "\u{1D506}"\ + "\u{1D50B}\u{1D50C}"\ + "\u{1D515}"\ + "\u{1D51D}"\ + "\u{1D53A}"\ + "\u{1D53F}"\ + "\u{1D545}"\ + "\u{1D547}-\u{1D549}"\ + "\u{1D551}"\ + "\u{1D6A6}\u{1D6A7}"\ + "\u{1D7CC}\u{1D7CD}"\ + "\u{1DA8C}-\u{1DA9A}"\ + "\u{1DAA0}"\ + "\u{1DAB0}-\u{1DEFF}"\ + "\u{1DF1F}-\u{1DF24}"\ + "\u{1DF2B}-\u{1DFFF}"\ + "\u{1E007}"\ + "\u{1E019}\u{1E01A}"\ + "\u{1E022}"\ + "\u{1E025}"\ + "\u{1E02B}-\u{1E02F}"\ + "\u{1E06E}-\u{1E08E}"\ + "\u{1E090}-\u{1E0FF}"\ + "\u{1E12D}-\u{1E12F}"\ + "\u{1E13E}\u{1E13F}"\ + "\u{1E14A}-\u{1E14D}"\ + "\u{1E150}-\u{1E28F}"\ + "\u{1E2AF}-\u{1E2BF}"\ + "\u{1E2FA}-\u{1E2FE}"\ + "\u{1E300}-\u{1E4CF}"\ + "\u{1E4FA}-\u{1E7DF}"\ + "\u{1E7E7}"\ + "\u{1E7EC}"\ + "\u{1E7EF}"\ + "\u{1E7FF}"\ + "\u{1E8C5}\u{1E8C6}"\ + "\u{1E8D7}-\u{1E8FF}"\ + "\u{1E94C}-\u{1E94F}"\ + "\u{1E95A}-\u{1E95D}"\ + "\u{1E960}-\u{1EC70}"\ + "\u{1ECB5}-\u{1ED00}"\ + "\u{1ED3E}-\u{1EDFF}"\ + "\u{1EE04}"\ + "\u{1EE20}"\ + "\u{1EE23}"\ + "\u{1EE25}\u{1EE26}"\ + "\u{1EE28}"\ + "\u{1EE33}"\ + "\u{1EE38}"\ + "\u{1EE3A}"\ + "\u{1EE3C}-\u{1EE41}"\ + "\u{1EE43}-\u{1EE46}"\ + "\u{1EE48}"\ + "\u{1EE4A}"\ + "\u{1EE4C}"\ + "\u{1EE50}"\ + "\u{1EE53}"\ + "\u{1EE55}\u{1EE56}"\ + "\u{1EE58}"\ + "\u{1EE5A}"\ + "\u{1EE5C}"\ + "\u{1EE5E}"\ + "\u{1EE60}"\ + "\u{1EE63}"\ + "\u{1EE65}\u{1EE66}"\ + "\u{1EE6B}"\ + "\u{1EE73}"\ + "\u{1EE78}"\ + "\u{1EE7D}"\ + "\u{1EE7F}"\ + "\u{1EE8A}"\ + "\u{1EE9C}-\u{1EEA0}"\ + "\u{1EEA4}"\ + "\u{1EEAA}"\ + "\u{1EEBC}-\u{1EEEF}"\ + "\u{1EEF2}-\u{1EFFF}"\ + "\u{1F02C}-\u{1F02F}"\ + "\u{1F094}-\u{1F09F}"\ + "\u{1F0AF}\u{1F0B0}"\ + "\u{1F0C0}"\ + "\u{1F0D0}"\ + "\u{1F0F6}-\u{1F0FF}"\ + "\u{1F1AE}-\u{1F1E5}"\ + "\u{1F203}-\u{1F20F}"\ + "\u{1F23C}-\u{1F23F}"\ + "\u{1F249}-\u{1F24F}"\ + "\u{1F252}-\u{1F25F}"\ + "\u{1F266}-\u{1F2FF}"\ + "\u{1F6D8}-\u{1F6DB}"\ + "\u{1F6ED}-\u{1F6EF}"\ + "\u{1F6FD}-\u{1F6FF}"\ + "\u{1F777}-\u{1F77A}"\ + "\u{1F7DA}-\u{1F7DF}"\ + "\u{1F7EC}-\u{1F7EF}"\ + "\u{1F7F1}-\u{1F7FF}"\ + "\u{1F80C}-\u{1F80F}"\ + "\u{1F848}-\u{1F84F}"\ + "\u{1F85A}-\u{1F85F}"\ + "\u{1F888}-\u{1F88F}"\ + "\u{1F8AE}\u{1F8AF}"\ + "\u{1F8B2}-\u{1F8FF}"\ + "\u{1FA54}-\u{1FA5F}"\ + "\u{1FA6E}\u{1FA6F}"\ + "\u{1FA7D}-\u{1FA7F}"\ + "\u{1FA89}-\u{1FA8F}"\ + "\u{1FABE}"\ + "\u{1FAC6}-\u{1FACD}"\ + "\u{1FADC}-\u{1FADF}"\ + "\u{1FAE9}-\u{1FAEF}"\ + "\u{1FAF9}-\u{1FAFF}"\ + "\u{1FB93}"\ + "\u{1FBCB}-\u{1FBEF}"\ + "\u{1FBFA}-\u{1FFFF}"\ + "\u{2A6E0}-\u{2A6FF}"\ + "\u{2B73A}-\u{2B73F}"\ + "\u{2B81E}\u{2B81F}"\ + "\u{2CEA2}-\u{2CEAF}"\ + "\u{2EBE1}-\u{2EBEF}"\ + "\u{2EE5E}-\u{2F7FF}"\ + "\u{2FA1E}-\u{2FFFF}"\ + "\u{3134B}-\u{3134F}"\ + "\u{323B0}-\u{E0000}"\ + "\u{E0002}-\u{E001F}"\ + "\u{E0080}-\u{E00FF}"\ + "\u{E01F0}-\u{EFFFF}"\ + "\u{FFFFE}\u{FFFFF}"\ + "\u{10FFFE}\u{10FFFF}"\ + "]", + "EN" => "["\ + "0-9"\ + "\u00B2\u00B3"\ + "\u00B9"\ + "\u06F0-\u06F9"\ + "\u2070"\ + "\u2074-\u2079"\ + "\u2080-\u2089"\ + "\u2488-\u249B"\ + "\uFF10-\uFF19"\ + "\u{102E1}-\u{102FB}"\ + "\u{1D7CE}-\u{1D7FF}"\ + "\u{1F100}-\u{1F10A}"\ + "\u{1FBF0}-\u{1FBF9}"\ + "]", + "L" => "["\ + "A-Z"\ + "a-z"\ + "\u00AA"\ + "\u00B5"\ + "\u00BA"\ + "\u00C0-\u00D6"\ + "\u00D8-\u00F6"\ + "\u00F8-\u02B8"\ + "\u02BB-\u02C1"\ + "\u02D0\u02D1"\ + "\u02E0-\u02E4"\ + "\u02EE"\ + "\u0370-\u0373"\ + "\u0376\u0377"\ + "\u037A-\u037D"\ + "\u037F"\ + "\u0386"\ + "\u0388-\u038A"\ + "\u038C"\ + "\u038E-\u03A1"\ + "\u03A3-\u03F5"\ + "\u03F7-\u0482"\ + "\u048A-\u052F"\ + "\u0531-\u0556"\ + "\u0559-\u0589"\ + "\u0903-\u0939"\ + "\u093B"\ + "\u093D-\u0940"\ + "\u0949-\u094C"\ + "\u094E-\u0950"\ + "\u0958-\u0961"\ + "\u0964-\u0980"\ + "\u0982\u0983"\ + "\u0985-\u098C"\ + "\u098F\u0990"\ + "\u0993-\u09A8"\ + "\u09AA-\u09B0"\ + "\u09B2"\ + "\u09B6-\u09B9"\ + "\u09BD-\u09C0"\ + "\u09C7\u09C8"\ + "\u09CB\u09CC"\ + "\u09CE"\ + "\u09D7"\ + "\u09DC\u09DD"\ + "\u09DF-\u09E1"\ + "\u09E6-\u09F1"\ + "\u09F4-\u09FA"\ + "\u09FC\u09FD"\ + "\u0A03"\ + "\u0A05-\u0A0A"\ + "\u0A0F\u0A10"\ + "\u0A13-\u0A28"\ + "\u0A2A-\u0A30"\ + "\u0A32\u0A33"\ + "\u0A35\u0A36"\ + "\u0A38\u0A39"\ + "\u0A3E-\u0A40"\ + "\u0A59-\u0A5C"\ + "\u0A5E"\ + "\u0A66-\u0A6F"\ + "\u0A72-\u0A74"\ + "\u0A76"\ + "\u0A83"\ + "\u0A85-\u0A8D"\ + "\u0A8F-\u0A91"\ + "\u0A93-\u0AA8"\ + "\u0AAA-\u0AB0"\ + "\u0AB2\u0AB3"\ + "\u0AB5-\u0AB9"\ + "\u0ABD-\u0AC0"\ + "\u0AC9"\ + "\u0ACB\u0ACC"\ + "\u0AD0"\ + "\u0AE0\u0AE1"\ + "\u0AE6-\u0AF0"\ + "\u0AF9"\ + "\u0B02\u0B03"\ + "\u0B05-\u0B0C"\ + "\u0B0F\u0B10"\ + "\u0B13-\u0B28"\ + "\u0B2A-\u0B30"\ + "\u0B32\u0B33"\ + "\u0B35-\u0B39"\ + "\u0B3D\u0B3E"\ + "\u0B40"\ + "\u0B47\u0B48"\ + "\u0B4B\u0B4C"\ + "\u0B57"\ + "\u0B5C\u0B5D"\ + "\u0B5F-\u0B61"\ + "\u0B66-\u0B77"\ + "\u0B83"\ + "\u0B85-\u0B8A"\ + "\u0B8E-\u0B90"\ + "\u0B92-\u0B95"\ + "\u0B99\u0B9A"\ + "\u0B9C"\ + "\u0B9E\u0B9F"\ + "\u0BA3\u0BA4"\ + "\u0BA8-\u0BAA"\ + "\u0BAE-\u0BB9"\ + "\u0BBE\u0BBF"\ + "\u0BC1\u0BC2"\ + "\u0BC6-\u0BC8"\ + "\u0BCA-\u0BCC"\ + "\u0BD0"\ + "\u0BD7"\ + "\u0BE6-\u0BF2"\ + "\u0C01-\u0C03"\ + "\u0C05-\u0C0C"\ + "\u0C0E-\u0C10"\ + "\u0C12-\u0C28"\ + "\u0C2A-\u0C39"\ + "\u0C3D"\ + "\u0C41-\u0C44"\ + "\u0C58-\u0C5A"\ + "\u0C5D"\ + "\u0C60\u0C61"\ + "\u0C66-\u0C6F"\ + "\u0C77"\ + "\u0C7F\u0C80"\ + "\u0C82-\u0C8C"\ + "\u0C8E-\u0C90"\ + "\u0C92-\u0CA8"\ + "\u0CAA-\u0CB3"\ + "\u0CB5-\u0CB9"\ + "\u0CBD-\u0CC4"\ + "\u0CC6-\u0CC8"\ + "\u0CCA\u0CCB"\ + "\u0CD5\u0CD6"\ + "\u0CDD\u0CDE"\ + "\u0CE0\u0CE1"\ + "\u0CE6-\u0CEF"\ + "\u0CF1-\u0CF3"\ + "\u0D02-\u0D0C"\ + "\u0D0E-\u0D10"\ + "\u0D12-\u0D3A"\ + "\u0D3D-\u0D40"\ + "\u0D46-\u0D48"\ + "\u0D4A-\u0D4C"\ + "\u0D4E\u0D4F"\ + "\u0D54-\u0D61"\ + "\u0D66-\u0D7F"\ + "\u0D82\u0D83"\ + "\u0D85-\u0D96"\ + "\u0D9A-\u0DB1"\ + "\u0DB3-\u0DBB"\ + "\u0DBD"\ + "\u0DC0-\u0DC6"\ + "\u0DCF-\u0DD1"\ + "\u0DD8-\u0DDF"\ + "\u0DE6-\u0DEF"\ + "\u0DF2-\u0DF4"\ + "\u0E01-\u0E30"\ + "\u0E32\u0E33"\ + "\u0E40-\u0E46"\ + "\u0E4F-\u0E5B"\ + "\u0E81\u0E82"\ + "\u0E84"\ + "\u0E86-\u0E8A"\ + "\u0E8C-\u0EA3"\ + "\u0EA5"\ + "\u0EA7-\u0EB0"\ + "\u0EB2\u0EB3"\ + "\u0EBD"\ + "\u0EC0-\u0EC4"\ + "\u0EC6"\ + "\u0ED0-\u0ED9"\ + "\u0EDC-\u0EDF"\ + "\u0F00-\u0F17"\ + "\u0F1A-\u0F34"\ + "\u0F36"\ + "\u0F38"\ + "\u0F3E-\u0F47"\ + "\u0F49-\u0F6C"\ + "\u0F7F"\ + "\u0F85"\ + "\u0F88-\u0F8C"\ + "\u0FBE-\u0FC5"\ + "\u0FC7-\u0FCC"\ + "\u0FCE-\u0FDA"\ + "\u1000-\u102C"\ + "\u1031"\ + "\u1038"\ + "\u103B\u103C"\ + "\u103F-\u1057"\ + "\u105A-\u105D"\ + "\u1061-\u1070"\ + "\u1075-\u1081"\ + "\u1083\u1084"\ + "\u1087-\u108C"\ + "\u108E-\u109C"\ + "\u109E-\u10C5"\ + "\u10C7"\ + "\u10CD"\ + "\u10D0-\u1248"\ + "\u124A-\u124D"\ + "\u1250-\u1256"\ + "\u1258"\ + "\u125A-\u125D"\ + "\u1260-\u1288"\ + "\u128A-\u128D"\ + "\u1290-\u12B0"\ + "\u12B2-\u12B5"\ + "\u12B8-\u12BE"\ + "\u12C0"\ + "\u12C2-\u12C5"\ + "\u12C8-\u12D6"\ + "\u12D8-\u1310"\ + "\u1312-\u1315"\ + "\u1318-\u135A"\ + "\u1360-\u137C"\ + "\u1380-\u138F"\ + "\u13A0-\u13F5"\ + "\u13F8-\u13FD"\ + "\u1401-\u167F"\ + "\u1681-\u169A"\ + "\u16A0-\u16F8"\ + "\u1700-\u1711"\ + "\u1715"\ + "\u171F-\u1731"\ + "\u1734-\u1736"\ + "\u1740-\u1751"\ + "\u1760-\u176C"\ + "\u176E-\u1770"\ + "\u1780-\u17B3"\ + "\u17B6"\ + "\u17BE-\u17C5"\ + "\u17C7\u17C8"\ + "\u17D4-\u17DA"\ + "\u17DC"\ + "\u17E0-\u17E9"\ + "\u1810-\u1819"\ + "\u1820-\u1878"\ + "\u1880-\u1884"\ + "\u1887-\u18A8"\ + "\u18AA"\ + "\u18B0-\u18F5"\ + "\u1900-\u191E"\ + "\u1923-\u1926"\ + "\u1929-\u192B"\ + "\u1930\u1931"\ + "\u1933-\u1938"\ + "\u1946-\u196D"\ + "\u1970-\u1974"\ + "\u1980-\u19AB"\ + "\u19B0-\u19C9"\ + "\u19D0-\u19DA"\ + "\u1A00-\u1A16"\ + "\u1A19\u1A1A"\ + "\u1A1E-\u1A55"\ + "\u1A57"\ + "\u1A61"\ + "\u1A63\u1A64"\ + "\u1A6D-\u1A72"\ + "\u1A80-\u1A89"\ + "\u1A90-\u1A99"\ + "\u1AA0-\u1AAD"\ + "\u1B04-\u1B33"\ + "\u1B35"\ + "\u1B3B"\ + "\u1B3D-\u1B41"\ + "\u1B43-\u1B4C"\ + "\u1B50-\u1B6A"\ + "\u1B74-\u1B7E"\ + "\u1B82-\u1BA1"\ + "\u1BA6\u1BA7"\ + "\u1BAA"\ + "\u1BAE-\u1BE5"\ + "\u1BE7"\ + "\u1BEA-\u1BEC"\ + "\u1BEE"\ + "\u1BF2\u1BF3"\ + "\u1BFC-\u1C2B"\ + "\u1C34\u1C35"\ + "\u1C3B-\u1C49"\ + "\u1C4D-\u1C88"\ + "\u1C90-\u1CBA"\ + "\u1CBD-\u1CC7"\ + "\u1CD3"\ + "\u1CE1"\ + "\u1CE9-\u1CEC"\ + "\u1CEE-\u1CF3"\ + "\u1CF5-\u1CF7"\ + "\u1CFA"\ + "\u1D00-\u1DBF"\ + "\u1E00-\u1F15"\ + "\u1F18-\u1F1D"\ + "\u1F20-\u1F45"\ + "\u1F48-\u1F4D"\ + "\u1F50-\u1F57"\ + "\u1F59"\ + "\u1F5B"\ + "\u1F5D"\ + "\u1F5F-\u1F7D"\ + "\u1F80-\u1FB4"\ + "\u1FB6-\u1FBC"\ + "\u1FBE"\ + "\u1FC2-\u1FC4"\ + "\u1FC6-\u1FCC"\ + "\u1FD0-\u1FD3"\ + "\u1FD6-\u1FDB"\ + "\u1FE0-\u1FEC"\ + "\u1FF2-\u1FF4"\ + "\u1FF6-\u1FFC"\ + "\u200E"\ + "\u2071"\ + "\u207F"\ + "\u2090-\u209C"\ + "\u2102"\ + "\u2107"\ + "\u210A-\u2113"\ + "\u2115"\ + "\u2119-\u211D"\ + "\u2124"\ + "\u2126"\ + "\u2128"\ + "\u212A-\u212D"\ + "\u212F-\u2139"\ + "\u213C-\u213F"\ + "\u2145-\u2149"\ + "\u214E\u214F"\ + "\u2160-\u2188"\ + "\u2336-\u237A"\ + "\u2395"\ + "\u249C-\u24E9"\ + "\u26AC"\ + "\u2800-\u28FF"\ + "\u2C00-\u2CE4"\ + "\u2CEB-\u2CEE"\ + "\u2CF2\u2CF3"\ + "\u2D00-\u2D25"\ + "\u2D27"\ + "\u2D2D"\ + "\u2D30-\u2D67"\ + "\u2D6F\u2D70"\ + "\u2D80-\u2D96"\ + "\u2DA0-\u2DA6"\ + "\u2DA8-\u2DAE"\ + "\u2DB0-\u2DB6"\ + "\u2DB8-\u2DBE"\ + "\u2DC0-\u2DC6"\ + "\u2DC8-\u2DCE"\ + "\u2DD0-\u2DD6"\ + "\u2DD8-\u2DDE"\ + "\u3005-\u3007"\ + "\u3021-\u3029"\ + "\u302E\u302F"\ + "\u3031-\u3035"\ + "\u3038-\u303C"\ + "\u3041-\u3096"\ + "\u309D-\u309F"\ + "\u30A1-\u30FA"\ + "\u30FC-\u30FF"\ + "\u3105-\u312F"\ + "\u3131-\u318E"\ + "\u3190-\u31BF"\ + "\u31F0-\u321C"\ + "\u3220-\u324F"\ + "\u3260-\u327B"\ + "\u327F-\u32B0"\ + "\u32C0-\u32CB"\ + "\u32D0-\u3376"\ + "\u337B-\u33DD"\ + "\u33E0-\u33FE"\ + "\u3400-\u4DBF"\ + "\u4E00-\uA48C"\ + "\uA4D0-\uA60C"\ + "\uA610-\uA62B"\ + "\uA640-\uA66E"\ + "\uA680-\uA69D"\ + "\uA6A0-\uA6EF"\ + "\uA6F2-\uA6F7"\ + "\uA722-\uA787"\ + "\uA789-\uA7CA"\ + "\uA7D0\uA7D1"\ + "\uA7D3"\ + "\uA7D5-\uA7D9"\ + "\uA7F2-\uA801"\ + "\uA803-\uA805"\ + "\uA807-\uA80A"\ + "\uA80C-\uA824"\ + "\uA827"\ + "\uA830-\uA837"\ + "\uA840-\uA873"\ + "\uA880-\uA8C3"\ + "\uA8CE-\uA8D9"\ + "\uA8F2-\uA8FE"\ + "\uA900-\uA925"\ + "\uA92E-\uA946"\ + "\uA952\uA953"\ + "\uA95F-\uA97C"\ + "\uA983-\uA9B2"\ + "\uA9B4\uA9B5"\ + "\uA9BA\uA9BB"\ + "\uA9BE-\uA9CD"\ + "\uA9CF-\uA9D9"\ + "\uA9DE-\uA9E4"\ + "\uA9E6-\uA9FE"\ + "\uAA00-\uAA28"\ + "\uAA2F\uAA30"\ + "\uAA33\uAA34"\ + "\uAA40-\uAA42"\ + "\uAA44-\uAA4B"\ + "\uAA4D"\ + "\uAA50-\uAA59"\ + "\uAA5C-\uAA7B"\ + "\uAA7D-\uAAAF"\ + "\uAAB1"\ + "\uAAB5\uAAB6"\ + "\uAAB9-\uAABD"\ + "\uAAC0"\ + "\uAAC2"\ + "\uAADB-\uAAEB"\ + "\uAAEE-\uAAF5"\ + "\uAB01-\uAB06"\ + "\uAB09-\uAB0E"\ + "\uAB11-\uAB16"\ + "\uAB20-\uAB26"\ + "\uAB28-\uAB2E"\ + "\uAB30-\uAB69"\ + "\uAB70-\uABE4"\ + "\uABE6\uABE7"\ + "\uABE9-\uABEC"\ + "\uABF0-\uABF9"\ + "\uAC00-\uD7A3"\ + "\uD7B0-\uD7C6"\ + "\uD7CB-\uD7FB"\ + "\uE000-\uFA6D"\ + "\uFA70-\uFAD9"\ + "\uFB00-\uFB06"\ + "\uFB13-\uFB17"\ + "\uFF21-\uFF3A"\ + "\uFF41-\uFF5A"\ + "\uFF66-\uFFBE"\ + "\uFFC2-\uFFC7"\ + "\uFFCA-\uFFCF"\ + "\uFFD2-\uFFD7"\ + "\uFFDA-\uFFDC"\ + "\u{10000}-\u{1000B}"\ + "\u{1000D}-\u{10026}"\ + "\u{10028}-\u{1003A}"\ + "\u{1003C}\u{1003D}"\ + "\u{1003F}-\u{1004D}"\ + "\u{10050}-\u{1005D}"\ + "\u{10080}-\u{100FA}"\ + "\u{10100}"\ + "\u{10102}"\ + "\u{10107}-\u{10133}"\ + "\u{10137}-\u{1013F}"\ + "\u{1018D}\u{1018E}"\ + "\u{101D0}-\u{101FC}"\ + "\u{10280}-\u{1029C}"\ + "\u{102A0}-\u{102D0}"\ + "\u{10300}-\u{10323}"\ + "\u{1032D}-\u{1034A}"\ + "\u{10350}-\u{10375}"\ + "\u{10380}-\u{1039D}"\ + "\u{1039F}-\u{103C3}"\ + "\u{103C8}-\u{103D5}"\ + "\u{10400}-\u{1049D}"\ + "\u{104A0}-\u{104A9}"\ + "\u{104B0}-\u{104D3}"\ + "\u{104D8}-\u{104FB}"\ + "\u{10500}-\u{10527}"\ + "\u{10530}-\u{10563}"\ + "\u{1056F}-\u{1057A}"\ + "\u{1057C}-\u{1058A}"\ + "\u{1058C}-\u{10592}"\ + "\u{10594}\u{10595}"\ + "\u{10597}-\u{105A1}"\ + "\u{105A3}-\u{105B1}"\ + "\u{105B3}-\u{105B9}"\ + "\u{105BB}\u{105BC}"\ + "\u{10600}-\u{10736}"\ + "\u{10740}-\u{10755}"\ + "\u{10760}-\u{10767}"\ + "\u{10780}-\u{10785}"\ + "\u{10787}-\u{107B0}"\ + "\u{107B2}-\u{107BA}"\ + "\u{11000}"\ + "\u{11002}-\u{11037}"\ + "\u{11047}-\u{1104D}"\ + "\u{11066}-\u{1106F}"\ + "\u{11071}\u{11072}"\ + "\u{11075}"\ + "\u{11082}-\u{110B2}"\ + "\u{110B7}\u{110B8}"\ + "\u{110BB}-\u{110C1}"\ + "\u{110CD}"\ + "\u{110D0}-\u{110E8}"\ + "\u{110F0}-\u{110F9}"\ + "\u{11103}-\u{11126}"\ + "\u{1112C}"\ + "\u{11136}-\u{11147}"\ + "\u{11150}-\u{11172}"\ + "\u{11174}-\u{11176}"\ + "\u{11182}-\u{111B5}"\ + "\u{111BF}-\u{111C8}"\ + "\u{111CD}\u{111CE}"\ + "\u{111D0}-\u{111DF}"\ + "\u{111E1}-\u{111F4}"\ + "\u{11200}-\u{11211}"\ + "\u{11213}-\u{1122E}"\ + "\u{11232}\u{11233}"\ + "\u{11235}"\ + "\u{11238}-\u{1123D}"\ + "\u{1123F}\u{11240}"\ + "\u{11280}-\u{11286}"\ + "\u{11288}"\ + "\u{1128A}-\u{1128D}"\ + "\u{1128F}-\u{1129D}"\ + "\u{1129F}-\u{112A9}"\ + "\u{112B0}-\u{112DE}"\ + "\u{112E0}-\u{112E2}"\ + "\u{112F0}-\u{112F9}"\ + "\u{11302}\u{11303}"\ + "\u{11305}-\u{1130C}"\ + "\u{1130F}\u{11310}"\ + "\u{11313}-\u{11328}"\ + "\u{1132A}-\u{11330}"\ + "\u{11332}\u{11333}"\ + "\u{11335}-\u{11339}"\ + "\u{1133D}-\u{1133F}"\ + "\u{11341}-\u{11344}"\ + "\u{11347}\u{11348}"\ + "\u{1134B}-\u{1134D}"\ + "\u{11350}"\ + "\u{11357}"\ + "\u{1135D}-\u{11363}"\ + "\u{11400}-\u{11437}"\ + "\u{11440}\u{11441}"\ + "\u{11445}"\ + "\u{11447}-\u{1145B}"\ + "\u{1145D}"\ + "\u{1145F}-\u{11461}"\ + "\u{11480}-\u{114B2}"\ + "\u{114B9}"\ + "\u{114BB}-\u{114BE}"\ + "\u{114C1}"\ + "\u{114C4}-\u{114C7}"\ + "\u{114D0}-\u{114D9}"\ + "\u{11580}-\u{115B1}"\ + "\u{115B8}-\u{115BB}"\ + "\u{115BE}"\ + "\u{115C1}-\u{115DB}"\ + "\u{11600}-\u{11632}"\ + "\u{1163B}\u{1163C}"\ + "\u{1163E}"\ + "\u{11641}-\u{11644}"\ + "\u{11650}-\u{11659}"\ + "\u{11680}-\u{116AA}"\ + "\u{116AC}"\ + "\u{116AE}\u{116AF}"\ + "\u{116B6}"\ + "\u{116B8}\u{116B9}"\ + "\u{116C0}-\u{116C9}"\ + "\u{11700}-\u{1171A}"\ + "\u{11720}\u{11721}"\ + "\u{11726}"\ + "\u{11730}-\u{11746}"\ + "\u{11800}-\u{1182E}"\ + "\u{11838}"\ + "\u{1183B}"\ + "\u{118A0}-\u{118F2}"\ + "\u{118FF}-\u{11906}"\ + "\u{11909}"\ + "\u{1190C}-\u{11913}"\ + "\u{11915}\u{11916}"\ + "\u{11918}-\u{11935}"\ + "\u{11937}\u{11938}"\ + "\u{1193D}"\ + "\u{1193F}-\u{11942}"\ + "\u{11944}-\u{11946}"\ + "\u{11950}-\u{11959}"\ + "\u{119A0}-\u{119A7}"\ + "\u{119AA}-\u{119D3}"\ + "\u{119DC}-\u{119DF}"\ + "\u{119E1}-\u{119E4}"\ + "\u{11A00}"\ + "\u{11A07}\u{11A08}"\ + "\u{11A0B}-\u{11A32}"\ + "\u{11A39}\u{11A3A}"\ + "\u{11A3F}-\u{11A46}"\ + "\u{11A50}"\ + "\u{11A57}\u{11A58}"\ + "\u{11A5C}-\u{11A89}"\ + "\u{11A97}"\ + "\u{11A9A}-\u{11AA2}"\ + "\u{11AB0}-\u{11AF8}"\ + "\u{11B00}-\u{11B09}"\ + "\u{11C00}-\u{11C08}"\ + "\u{11C0A}-\u{11C2F}"\ + "\u{11C3E}-\u{11C45}"\ + "\u{11C50}-\u{11C6C}"\ + "\u{11C70}-\u{11C8F}"\ + "\u{11CA9}"\ + "\u{11CB1}"\ + "\u{11CB4}"\ + "\u{11D00}-\u{11D06}"\ + "\u{11D08}\u{11D09}"\ + "\u{11D0B}-\u{11D30}"\ + "\u{11D46}"\ + "\u{11D50}-\u{11D59}"\ + "\u{11D60}-\u{11D65}"\ + "\u{11D67}\u{11D68}"\ + "\u{11D6A}-\u{11D8E}"\ + "\u{11D93}\u{11D94}"\ + "\u{11D96}"\ + "\u{11D98}"\ + "\u{11DA0}-\u{11DA9}"\ + "\u{11EE0}-\u{11EF2}"\ + "\u{11EF5}-\u{11EF8}"\ + "\u{11F02}-\u{11F10}"\ + "\u{11F12}-\u{11F35}"\ + "\u{11F3E}\u{11F3F}"\ + "\u{11F41}"\ + "\u{11F43}-\u{11F59}"\ + "\u{11FB0}"\ + "\u{11FC0}-\u{11FD4}"\ + "\u{11FFF}-\u{12399}"\ + "\u{12400}-\u{1246E}"\ + "\u{12470}-\u{12474}"\ + "\u{12480}-\u{12543}"\ + "\u{12F90}-\u{12FF2}"\ + "\u{13000}-\u{1343F}"\ + "\u{13441}-\u{13446}"\ + "\u{14400}-\u{14646}"\ + "\u{16800}-\u{16A38}"\ + "\u{16A40}-\u{16A5E}"\ + "\u{16A60}-\u{16A69}"\ + "\u{16A6E}-\u{16ABE}"\ + "\u{16AC0}-\u{16AC9}"\ + "\u{16AD0}-\u{16AED}"\ + "\u{16AF5}"\ + "\u{16B00}-\u{16B2F}"\ + "\u{16B37}-\u{16B45}"\ + "\u{16B50}-\u{16B59}"\ + "\u{16B5B}-\u{16B61}"\ + "\u{16B63}-\u{16B77}"\ + "\u{16B7D}-\u{16B8F}"\ + "\u{16E40}-\u{16E9A}"\ + "\u{16F00}-\u{16F4A}"\ + "\u{16F50}-\u{16F87}"\ + "\u{16F93}-\u{16F9F}"\ + "\u{16FE0}\u{16FE1}"\ + "\u{16FE3}"\ + "\u{16FF0}\u{16FF1}"\ + "\u{17000}-\u{187F7}"\ + "\u{18800}-\u{18CD5}"\ + "\u{18D00}-\u{18D08}"\ + "\u{1AFF0}-\u{1AFF3}"\ + "\u{1AFF5}-\u{1AFFB}"\ + "\u{1AFFD}\u{1AFFE}"\ + "\u{1B000}-\u{1B122}"\ + "\u{1B132}"\ + "\u{1B150}-\u{1B152}"\ + "\u{1B155}"\ + "\u{1B164}-\u{1B167}"\ + "\u{1B170}-\u{1B2FB}"\ + "\u{1BC00}-\u{1BC6A}"\ + "\u{1BC70}-\u{1BC7C}"\ + "\u{1BC80}-\u{1BC88}"\ + "\u{1BC90}-\u{1BC99}"\ + "\u{1BC9C}"\ + "\u{1BC9F}"\ + "\u{1CF50}-\u{1CFC3}"\ + "\u{1D000}-\u{1D0F5}"\ + "\u{1D100}-\u{1D126}"\ + "\u{1D129}-\u{1D166}"\ + "\u{1D16A}-\u{1D172}"\ + "\u{1D183}\u{1D184}"\ + "\u{1D18C}-\u{1D1A9}"\ + "\u{1D1AE}-\u{1D1E8}"\ + "\u{1D2C0}-\u{1D2D3}"\ + "\u{1D2E0}-\u{1D2F3}"\ + "\u{1D360}-\u{1D378}"\ + "\u{1D400}-\u{1D454}"\ + "\u{1D456}-\u{1D49C}"\ + "\u{1D49E}\u{1D49F}"\ + "\u{1D4A2}"\ + "\u{1D4A5}\u{1D4A6}"\ + "\u{1D4A9}-\u{1D4AC}"\ + "\u{1D4AE}-\u{1D4B9}"\ + "\u{1D4BB}"\ + "\u{1D4BD}-\u{1D4C3}"\ + "\u{1D4C5}-\u{1D505}"\ + "\u{1D507}-\u{1D50A}"\ + "\u{1D50D}-\u{1D514}"\ + "\u{1D516}-\u{1D51C}"\ + "\u{1D51E}-\u{1D539}"\ + "\u{1D53B}-\u{1D53E}"\ + "\u{1D540}-\u{1D544}"\ + "\u{1D546}"\ + "\u{1D54A}-\u{1D550}"\ + "\u{1D552}-\u{1D6A5}"\ + "\u{1D6A8}-\u{1D6DA}"\ + "\u{1D6DC}-\u{1D714}"\ + "\u{1D716}-\u{1D74E}"\ + "\u{1D750}-\u{1D788}"\ + "\u{1D78A}-\u{1D7C2}"\ + "\u{1D7C4}-\u{1D7CB}"\ + "\u{1D800}-\u{1D9FF}"\ + "\u{1DA37}-\u{1DA3A}"\ + "\u{1DA6D}-\u{1DA74}"\ + "\u{1DA76}-\u{1DA83}"\ + "\u{1DA85}-\u{1DA8B}"\ + "\u{1DF00}-\u{1DF1E}"\ + "\u{1DF25}-\u{1DF2A}"\ + "\u{1E030}-\u{1E06D}"\ + "\u{1E100}-\u{1E12C}"\ + "\u{1E137}-\u{1E13D}"\ + "\u{1E140}-\u{1E149}"\ + "\u{1E14E}\u{1E14F}"\ + "\u{1E290}-\u{1E2AD}"\ + "\u{1E2C0}-\u{1E2EB}"\ + "\u{1E2F0}-\u{1E2F9}"\ + "\u{1E4D0}-\u{1E4EB}"\ + "\u{1E4F0}-\u{1E4F9}"\ + "\u{1E7E0}-\u{1E7E6}"\ + "\u{1E7E8}-\u{1E7EB}"\ + "\u{1E7ED}\u{1E7EE}"\ + "\u{1E7F0}-\u{1E7FE}"\ + "\u{1F110}-\u{1F12E}"\ + "\u{1F130}-\u{1F169}"\ + "\u{1F170}-\u{1F1AC}"\ + "\u{1F1E6}-\u{1F202}"\ + "\u{1F210}-\u{1F23B}"\ + "\u{1F240}-\u{1F248}"\ + "\u{1F250}\u{1F251}"\ + "\u{20000}-\u{2A6DF}"\ + "\u{2A700}-\u{2B739}"\ + "\u{2B740}-\u{2B81D}"\ + "\u{2B820}-\u{2CEA1}"\ + "\u{2CEB0}-\u{2EBE0}"\ + "\u{2EBF0}-\u{2EE5D}"\ + "\u{2F800}-\u{2FA1D}"\ + "\u{30000}-\u{3134A}"\ + "\u{31350}-\u{323AF}"\ + "\u{F0000}-\u{FFFFD}"\ + "\u{100000}-\u{10FFFD}"\ + "]", + "NSM" => "["\ + "\u0300-\u036F"\ + "\u0483-\u0489"\ + "\u0591-\u05BD"\ + "\u05BF"\ + "\u05C1\u05C2"\ + "\u05C4\u05C5"\ + "\u05C7"\ + "\u0610-\u061A"\ + "\u064B-\u065F"\ + "\u0670"\ + "\u06D6-\u06DC"\ + "\u06DF-\u06E4"\ + "\u06E7\u06E8"\ + "\u06EA-\u06ED"\ + "\u0711"\ + "\u0730-\u074A"\ + "\u07A6-\u07B0"\ + "\u07EB-\u07F3"\ + "\u07FD"\ + "\u0816-\u0819"\ + "\u081B-\u0823"\ + "\u0825-\u0827"\ + "\u0829-\u082D"\ + "\u0859-\u085B"\ + "\u0898-\u089F"\ + "\u08CA-\u08E1"\ + "\u08E3-\u0902"\ + "\u093A"\ + "\u093C"\ + "\u0941-\u0948"\ + "\u094D"\ + "\u0951-\u0957"\ + "\u0962\u0963"\ + "\u0981"\ + "\u09BC"\ + "\u09C1-\u09C4"\ + "\u09CD"\ + "\u09E2\u09E3"\ + "\u09FE"\ + "\u0A01\u0A02"\ + "\u0A3C"\ + "\u0A41\u0A42"\ + "\u0A47\u0A48"\ + "\u0A4B-\u0A4D"\ + "\u0A51"\ + "\u0A70\u0A71"\ + "\u0A75"\ + "\u0A81\u0A82"\ + "\u0ABC"\ + "\u0AC1-\u0AC5"\ + "\u0AC7\u0AC8"\ + "\u0ACD"\ + "\u0AE2\u0AE3"\ + "\u0AFA-\u0AFF"\ + "\u0B01"\ + "\u0B3C"\ + "\u0B3F"\ + "\u0B41-\u0B44"\ + "\u0B4D"\ + "\u0B55\u0B56"\ + "\u0B62\u0B63"\ + "\u0B82"\ + "\u0BC0"\ + "\u0BCD"\ + "\u0C00"\ + "\u0C04"\ + "\u0C3C"\ + "\u0C3E-\u0C40"\ + "\u0C46-\u0C48"\ + "\u0C4A-\u0C4D"\ + "\u0C55\u0C56"\ + "\u0C62\u0C63"\ + "\u0C81"\ + "\u0CBC"\ + "\u0CCC\u0CCD"\ + "\u0CE2\u0CE3"\ + "\u0D00\u0D01"\ + "\u0D3B\u0D3C"\ + "\u0D41-\u0D44"\ + "\u0D4D"\ + "\u0D62\u0D63"\ + "\u0D81"\ + "\u0DCA"\ + "\u0DD2-\u0DD4"\ + "\u0DD6"\ + "\u0E31"\ + "\u0E34-\u0E3A"\ + "\u0E47-\u0E4E"\ + "\u0EB1"\ + "\u0EB4-\u0EBC"\ + "\u0EC8-\u0ECE"\ + "\u0F18\u0F19"\ + "\u0F35"\ + "\u0F37"\ + "\u0F39"\ + "\u0F71-\u0F7E"\ + "\u0F80-\u0F84"\ + "\u0F86\u0F87"\ + "\u0F8D-\u0F97"\ + "\u0F99-\u0FBC"\ + "\u0FC6"\ + "\u102D-\u1030"\ + "\u1032-\u1037"\ + "\u1039\u103A"\ + "\u103D\u103E"\ + "\u1058\u1059"\ + "\u105E-\u1060"\ + "\u1071-\u1074"\ + "\u1082"\ + "\u1085\u1086"\ + "\u108D"\ + "\u109D"\ + "\u135D-\u135F"\ + "\u1712-\u1714"\ + "\u1732\u1733"\ + "\u1752\u1753"\ + "\u1772\u1773"\ + "\u17B4\u17B5"\ + "\u17B7-\u17BD"\ + "\u17C6"\ + "\u17C9-\u17D3"\ + "\u17DD"\ + "\u180B-\u180D"\ + "\u180F"\ + "\u1885\u1886"\ + "\u18A9"\ + "\u1920-\u1922"\ + "\u1927\u1928"\ + "\u1932"\ + "\u1939-\u193B"\ + "\u1A17\u1A18"\ + "\u1A1B"\ + "\u1A56"\ + "\u1A58-\u1A5E"\ + "\u1A60"\ + "\u1A62"\ + "\u1A65-\u1A6C"\ + "\u1A73-\u1A7C"\ + "\u1A7F"\ + "\u1AB0-\u1ACE"\ + "\u1B00-\u1B03"\ + "\u1B34"\ + "\u1B36-\u1B3A"\ + "\u1B3C"\ + "\u1B42"\ + "\u1B6B-\u1B73"\ + "\u1B80\u1B81"\ + "\u1BA2-\u1BA5"\ + "\u1BA8\u1BA9"\ + "\u1BAB-\u1BAD"\ + "\u1BE6"\ + "\u1BE8\u1BE9"\ + "\u1BED"\ + "\u1BEF-\u1BF1"\ + "\u1C2C-\u1C33"\ + "\u1C36\u1C37"\ + "\u1CD0-\u1CD2"\ + "\u1CD4-\u1CE0"\ + "\u1CE2-\u1CE8"\ + "\u1CED"\ + "\u1CF4"\ + "\u1CF8\u1CF9"\ + "\u1DC0-\u1DFF"\ + "\u20D0-\u20F0"\ + "\u2CEF-\u2CF1"\ + "\u2D7F"\ + "\u2DE0-\u2DFF"\ + "\u302A-\u302D"\ + "\u3099\u309A"\ + "\uA66F-\uA672"\ + "\uA674-\uA67D"\ + "\uA69E\uA69F"\ + "\uA6F0\uA6F1"\ + "\uA802"\ + "\uA806"\ + "\uA80B"\ + "\uA825\uA826"\ + "\uA82C"\ + "\uA8C4\uA8C5"\ + "\uA8E0-\uA8F1"\ + "\uA8FF"\ + "\uA926-\uA92D"\ + "\uA947-\uA951"\ + "\uA980-\uA982"\ + "\uA9B3"\ + "\uA9B6-\uA9B9"\ + "\uA9BC\uA9BD"\ + "\uA9E5"\ + "\uAA29-\uAA2E"\ + "\uAA31\uAA32"\ + "\uAA35\uAA36"\ + "\uAA43"\ + "\uAA4C"\ + "\uAA7C"\ + "\uAAB0"\ + "\uAAB2-\uAAB4"\ + "\uAAB7\uAAB8"\ + "\uAABE\uAABF"\ + "\uAAC1"\ + "\uAAEC\uAAED"\ + "\uAAF6"\ + "\uABE5"\ + "\uABE8"\ + "\uABED"\ + "\uFB1E"\ + "\uFE00-\uFE0F"\ + "\uFE20-\uFE2F"\ + "\u{101FD}"\ + "\u{102E0}"\ + "\u{10376}-\u{1037A}"\ + "\u{10A01}-\u{10A03}"\ + "\u{10A05}\u{10A06}"\ + "\u{10A0C}-\u{10A0F}"\ + "\u{10A38}-\u{10A3A}"\ + "\u{10A3F}"\ + "\u{10AE5}\u{10AE6}"\ + "\u{10D24}-\u{10D27}"\ + "\u{10EAB}\u{10EAC}"\ + "\u{10EFD}-\u{10EFF}"\ + "\u{10F46}-\u{10F50}"\ + "\u{10F82}-\u{10F85}"\ + "\u{11001}"\ + "\u{11038}-\u{11046}"\ + "\u{11070}"\ + "\u{11073}\u{11074}"\ + "\u{1107F}-\u{11081}"\ + "\u{110B3}-\u{110B6}"\ + "\u{110B9}\u{110BA}"\ + "\u{110C2}"\ + "\u{11100}-\u{11102}"\ + "\u{11127}-\u{1112B}"\ + "\u{1112D}-\u{11134}"\ + "\u{11173}"\ + "\u{11180}\u{11181}"\ + "\u{111B6}-\u{111BE}"\ + "\u{111C9}-\u{111CC}"\ + "\u{111CF}"\ + "\u{1122F}-\u{11231}"\ + "\u{11234}"\ + "\u{11236}\u{11237}"\ + "\u{1123E}"\ + "\u{11241}"\ + "\u{112DF}"\ + "\u{112E3}-\u{112EA}"\ + "\u{11300}\u{11301}"\ + "\u{1133B}\u{1133C}"\ + "\u{11340}"\ + "\u{11366}-\u{1136C}"\ + "\u{11370}-\u{11374}"\ + "\u{11438}-\u{1143F}"\ + "\u{11442}-\u{11444}"\ + "\u{11446}"\ + "\u{1145E}"\ + "\u{114B3}-\u{114B8}"\ + "\u{114BA}"\ + "\u{114BF}\u{114C0}"\ + "\u{114C2}\u{114C3}"\ + "\u{115B2}-\u{115B5}"\ + "\u{115BC}\u{115BD}"\ + "\u{115BF}\u{115C0}"\ + "\u{115DC}\u{115DD}"\ + "\u{11633}-\u{1163A}"\ + "\u{1163D}"\ + "\u{1163F}\u{11640}"\ + "\u{116AB}"\ + "\u{116AD}"\ + "\u{116B0}-\u{116B5}"\ + "\u{116B7}"\ + "\u{1171D}-\u{1171F}"\ + "\u{11722}-\u{11725}"\ + "\u{11727}-\u{1172B}"\ + "\u{1182F}-\u{11837}"\ + "\u{11839}\u{1183A}"\ + "\u{1193B}\u{1193C}"\ + "\u{1193E}"\ + "\u{11943}"\ + "\u{119D4}-\u{119D7}"\ + "\u{119DA}\u{119DB}"\ + "\u{119E0}"\ + "\u{11A01}-\u{11A06}"\ + "\u{11A09}\u{11A0A}"\ + "\u{11A33}-\u{11A38}"\ + "\u{11A3B}-\u{11A3E}"\ + "\u{11A47}"\ + "\u{11A51}-\u{11A56}"\ + "\u{11A59}-\u{11A5B}"\ + "\u{11A8A}-\u{11A96}"\ + "\u{11A98}\u{11A99}"\ + "\u{11C30}-\u{11C36}"\ + "\u{11C38}-\u{11C3D}"\ + "\u{11C92}-\u{11CA7}"\ + "\u{11CAA}-\u{11CB0}"\ + "\u{11CB2}\u{11CB3}"\ + "\u{11CB5}\u{11CB6}"\ + "\u{11D31}-\u{11D36}"\ + "\u{11D3A}"\ + "\u{11D3C}\u{11D3D}"\ + "\u{11D3F}-\u{11D45}"\ + "\u{11D47}"\ + "\u{11D90}\u{11D91}"\ + "\u{11D95}"\ + "\u{11D97}"\ + "\u{11EF3}\u{11EF4}"\ + "\u{11F00}\u{11F01}"\ + "\u{11F36}-\u{11F3A}"\ + "\u{11F40}"\ + "\u{11F42}"\ + "\u{13440}"\ + "\u{13447}-\u{13455}"\ + "\u{16AF0}-\u{16AF4}"\ + "\u{16B30}-\u{16B36}"\ + "\u{16F4F}"\ + "\u{16F8F}-\u{16F92}"\ + "\u{16FE4}"\ + "\u{1BC9D}\u{1BC9E}"\ + "\u{1CF00}-\u{1CF2D}"\ + "\u{1CF30}-\u{1CF46}"\ + "\u{1D167}-\u{1D169}"\ + "\u{1D17B}-\u{1D182}"\ + "\u{1D185}-\u{1D18B}"\ + "\u{1D1AA}-\u{1D1AD}"\ + "\u{1D242}-\u{1D244}"\ + "\u{1DA00}-\u{1DA36}"\ + "\u{1DA3B}-\u{1DA6C}"\ + "\u{1DA75}"\ + "\u{1DA84}"\ + "\u{1DA9B}-\u{1DA9F}"\ + "\u{1DAA1}-\u{1DAAF}"\ + "\u{1E000}-\u{1E006}"\ + "\u{1E008}-\u{1E018}"\ + "\u{1E01B}-\u{1E021}"\ + "\u{1E023}\u{1E024}"\ + "\u{1E026}-\u{1E02A}"\ + "\u{1E08F}"\ + "\u{1E130}-\u{1E136}"\ + "\u{1E2AE}"\ + "\u{1E2EC}-\u{1E2EF}"\ + "\u{1E4EC}-\u{1E4EF}"\ + "\u{1E8D0}-\u{1E8D6}"\ + "\u{1E944}-\u{1E94A}"\ + "\u{E0100}-\u{E01EF}"\ + "]", + "RTL" => "["\ + "\u05BE"\ + "\u05C0"\ + "\u05C3"\ + "\u05C6"\ + "\u05D0-\u05EA"\ + "\u05EF-\u05F4"\ + "\u0608"\ + "\u060B"\ + "\u060D"\ + "\u061B-\u064A"\ + "\u066D-\u066F"\ + "\u0671-\u06D5"\ + "\u06E5\u06E6"\ + "\u06EE\u06EF"\ + "\u06FA-\u070D"\ + "\u070F\u0710"\ + "\u0712-\u072F"\ + "\u074D-\u07A5"\ + "\u07B1"\ + "\u07C0-\u07EA"\ + "\u07F4\u07F5"\ + "\u07FA"\ + "\u07FE-\u0815"\ + "\u081A"\ + "\u0824"\ + "\u0828"\ + "\u0830-\u083E"\ + "\u0840-\u0858"\ + "\u085E"\ + "\u0860-\u086A"\ + "\u0870-\u088E"\ + "\u08A0-\u08C9"\ + "\u200F"\ + "\uFB1D"\ + "\uFB1F-\uFB28"\ + "\uFB2A-\uFB36"\ + "\uFB38-\uFB3C"\ + "\uFB3E"\ + "\uFB40\uFB41"\ + "\uFB43\uFB44"\ + "\uFB46-\uFBC2"\ + "\uFBD3-\uFD3D"\ + "\uFD50-\uFD8F"\ + "\uFD92-\uFDC7"\ + "\uFDF0-\uFDFC"\ + "\uFE70-\uFE74"\ + "\uFE76-\uFEFC"\ + "\u{10800}-\u{10805}"\ + "\u{10808}"\ + "\u{1080A}-\u{10835}"\ + "\u{10837}\u{10838}"\ + "\u{1083C}"\ + "\u{1083F}-\u{10855}"\ + "\u{10857}-\u{1089E}"\ + "\u{108A7}-\u{108AF}"\ + "\u{108E0}-\u{108F2}"\ + "\u{108F4}\u{108F5}"\ + "\u{108FB}-\u{1091B}"\ + "\u{10920}-\u{10939}"\ + "\u{1093F}"\ + "\u{10980}-\u{109B7}"\ + "\u{109BC}-\u{109CF}"\ + "\u{109D2}-\u{10A00}"\ + "\u{10A10}-\u{10A13}"\ + "\u{10A15}-\u{10A17}"\ + "\u{10A19}-\u{10A35}"\ + "\u{10A40}-\u{10A48}"\ + "\u{10A50}-\u{10A58}"\ + "\u{10A60}-\u{10A9F}"\ + "\u{10AC0}-\u{10AE4}"\ + "\u{10AEB}-\u{10AF6}"\ + "\u{10B00}-\u{10B35}"\ + "\u{10B40}-\u{10B55}"\ + "\u{10B58}-\u{10B72}"\ + "\u{10B78}-\u{10B91}"\ + "\u{10B99}-\u{10B9C}"\ + "\u{10BA9}-\u{10BAF}"\ + "\u{10C00}-\u{10C48}"\ + "\u{10C80}-\u{10CB2}"\ + "\u{10CC0}-\u{10CF2}"\ + "\u{10CFA}-\u{10D23}"\ + "\u{10E80}-\u{10EA9}"\ + "\u{10EAD}"\ + "\u{10EB0}\u{10EB1}"\ + "\u{10F00}-\u{10F27}"\ + "\u{10F30}-\u{10F45}"\ + "\u{10F51}-\u{10F59}"\ + "\u{10F70}-\u{10F81}"\ + "\u{10F86}-\u{10F89}"\ + "\u{10FB0}-\u{10FCB}"\ + "\u{10FE0}-\u{10FF6}"\ + "\u{1E800}-\u{1E8C4}"\ + "\u{1E8C7}-\u{1E8CF}"\ + "\u{1E900}-\u{1E943}"\ + "\u{1E94B}"\ + "\u{1E950}-\u{1E959}"\ + "\u{1E95E}\u{1E95F}"\ + "\u{1EC71}-\u{1ECB4}"\ + "\u{1ED01}-\u{1ED3D}"\ + "\u{1EE00}-\u{1EE03}"\ + "\u{1EE05}-\u{1EE1F}"\ + "\u{1EE21}\u{1EE22}"\ + "\u{1EE24}"\ + "\u{1EE27}"\ + "\u{1EE29}-\u{1EE32}"\ + "\u{1EE34}-\u{1EE37}"\ + "\u{1EE39}"\ + "\u{1EE3B}"\ + "\u{1EE42}"\ + "\u{1EE47}"\ + "\u{1EE49}"\ + "\u{1EE4B}"\ + "\u{1EE4D}-\u{1EE4F}"\ + "\u{1EE51}\u{1EE52}"\ + "\u{1EE54}"\ + "\u{1EE57}"\ + "\u{1EE59}"\ + "\u{1EE5B}"\ + "\u{1EE5D}"\ + "\u{1EE5F}"\ + "\u{1EE61}\u{1EE62}"\ + "\u{1EE64}"\ + "\u{1EE67}-\u{1EE6A}"\ + "\u{1EE6C}-\u{1EE72}"\ + "\u{1EE74}-\u{1EE77}"\ + "\u{1EE79}-\u{1EE7C}"\ + "\u{1EE7E}"\ + "\u{1EE80}-\u{1EE89}"\ + "\u{1EE8B}-\u{1EE9B}"\ + "\u{1EEA1}-\u{1EEA3}"\ + "\u{1EEA5}-\u{1EEA9}"\ + "\u{1EEAB}-\u{1EEBB}"\ + "]", + "AN" => "["\ + "\u0600-\u0605"\ + "\u0660-\u0669"\ + "\u066B\u066C"\ + "\u06DD"\ + "\u0890\u0891"\ + "\u08E2"\ + "\u{10D30}-\u{10D39}"\ + "\u{10E60}-\u{10E7E}"\ + "]", + }.freeze + end +end diff --git a/lib/uri/idna/data/codepoint_classes.rb b/lib/uri/idna/data/codepoint_classes.rb new file mode 100644 index 0000000..cc67f9b --- /dev/null +++ b/lib/uri/idna/data/codepoint_classes.rb @@ -0,0 +1,1226 @@ +# frozen_string_literal: true + +# This file is automatically generated by bin/generate +# Unicode version 15.1.0 + +module URI + module IDNA + CODEPOINT_CLASSES = { + "PVALID" => "["\ + "-"\ + "0-9"\ + "a-z"\ + "\u00DF-\u00F6"\ + "\u00F8-\u00FF"\ + "\u0101"\ + "\u0103"\ + "\u0105"\ + "\u0107"\ + "\u0109"\ + "\u010B"\ + "\u010D"\ + "\u010F"\ + "\u0111"\ + "\u0113"\ + "\u0115"\ + "\u0117"\ + "\u0119"\ + "\u011B"\ + "\u011D"\ + "\u011F"\ + "\u0121"\ + "\u0123"\ + "\u0125"\ + "\u0127"\ + "\u0129"\ + "\u012B"\ + "\u012D"\ + "\u012F"\ + "\u0131"\ + "\u0135"\ + "\u0137\u0138"\ + "\u013A"\ + "\u013C"\ + "\u013E"\ + "\u0142"\ + "\u0144"\ + "\u0146"\ + "\u0148"\ + "\u014B"\ + "\u014D"\ + "\u014F"\ + "\u0151"\ + "\u0153"\ + "\u0155"\ + "\u0157"\ + "\u0159"\ + "\u015B"\ + "\u015D"\ + "\u015F"\ + "\u0161"\ + "\u0163"\ + "\u0165"\ + "\u0167"\ + "\u0169"\ + "\u016B"\ + "\u016D"\ + "\u016F"\ + "\u0171"\ + "\u0173"\ + "\u0175"\ + "\u0177"\ + "\u017A"\ + "\u017C"\ + "\u017E"\ + "\u0180"\ + "\u0183"\ + "\u0185"\ + "\u0188"\ + "\u018C\u018D"\ + "\u0192"\ + "\u0195"\ + "\u0199-\u019B"\ + "\u019E"\ + "\u01A1"\ + "\u01A3"\ + "\u01A5"\ + "\u01A8"\ + "\u01AA\u01AB"\ + "\u01AD"\ + "\u01B0"\ + "\u01B4"\ + "\u01B6"\ + "\u01B9-\u01BB"\ + "\u01BD-\u01C3"\ + "\u01CE"\ + "\u01D0"\ + "\u01D2"\ + "\u01D4"\ + "\u01D6"\ + "\u01D8"\ + "\u01DA"\ + "\u01DC\u01DD"\ + "\u01DF"\ + "\u01E1"\ + "\u01E3"\ + "\u01E5"\ + "\u01E7"\ + "\u01E9"\ + "\u01EB"\ + "\u01ED"\ + "\u01EF\u01F0"\ + "\u01F5"\ + "\u01F9"\ + "\u01FB"\ + "\u01FD"\ + "\u01FF"\ + "\u0201"\ + "\u0203"\ + "\u0205"\ + "\u0207"\ + "\u0209"\ + "\u020B"\ + "\u020D"\ + "\u020F"\ + "\u0211"\ + "\u0213"\ + "\u0215"\ + "\u0217"\ + "\u0219"\ + "\u021B"\ + "\u021D"\ + "\u021F"\ + "\u0221"\ + "\u0223"\ + "\u0225"\ + "\u0227"\ + "\u0229"\ + "\u022B"\ + "\u022D"\ + "\u022F"\ + "\u0231"\ + "\u0233-\u0239"\ + "\u023C"\ + "\u023F\u0240"\ + "\u0242"\ + "\u0247"\ + "\u0249"\ + "\u024B"\ + "\u024D"\ + "\u024F-\u02AF"\ + "\u02B9-\u02C1"\ + "\u02C6-\u02D1"\ + "\u02EC"\ + "\u02EE"\ + "\u0300-\u033F"\ + "\u0342"\ + "\u0346-\u034E"\ + "\u0350-\u036F"\ + "\u0371"\ + "\u0373"\ + "\u0377"\ + "\u037B-\u037D"\ + "\u0390"\ + "\u03AC-\u03CE"\ + "\u03D7"\ + "\u03D9"\ + "\u03DB"\ + "\u03DD"\ + "\u03DF"\ + "\u03E1"\ + "\u03E3"\ + "\u03E5"\ + "\u03E7"\ + "\u03E9"\ + "\u03EB"\ + "\u03ED"\ + "\u03EF"\ + "\u03F3"\ + "\u03F8"\ + "\u03FB\u03FC"\ + "\u0430-\u045F"\ + "\u0461"\ + "\u0463"\ + "\u0465"\ + "\u0467"\ + "\u0469"\ + "\u046B"\ + "\u046D"\ + "\u046F"\ + "\u0471"\ + "\u0473"\ + "\u0475"\ + "\u0477"\ + "\u0479"\ + "\u047B"\ + "\u047D"\ + "\u047F"\ + "\u0481"\ + "\u0483-\u0487"\ + "\u048B"\ + "\u048D"\ + "\u048F"\ + "\u0491"\ + "\u0493"\ + "\u0495"\ + "\u0497"\ + "\u0499"\ + "\u049B"\ + "\u049D"\ + "\u049F"\ + "\u04A1"\ + "\u04A3"\ + "\u04A5"\ + "\u04A7"\ + "\u04A9"\ + "\u04AB"\ + "\u04AD"\ + "\u04AF"\ + "\u04B1"\ + "\u04B3"\ + "\u04B5"\ + "\u04B7"\ + "\u04B9"\ + "\u04BB"\ + "\u04BD"\ + "\u04BF"\ + "\u04C2"\ + "\u04C4"\ + "\u04C6"\ + "\u04C8"\ + "\u04CA"\ + "\u04CC"\ + "\u04CE\u04CF"\ + "\u04D1"\ + "\u04D3"\ + "\u04D5"\ + "\u04D7"\ + "\u04D9"\ + "\u04DB"\ + "\u04DD"\ + "\u04DF"\ + "\u04E1"\ + "\u04E3"\ + "\u04E5"\ + "\u04E7"\ + "\u04E9"\ + "\u04EB"\ + "\u04ED"\ + "\u04EF"\ + "\u04F1"\ + "\u04F3"\ + "\u04F5"\ + "\u04F7"\ + "\u04F9"\ + "\u04FB"\ + "\u04FD"\ + "\u04FF"\ + "\u0501"\ + "\u0503"\ + "\u0505"\ + "\u0507"\ + "\u0509"\ + "\u050B"\ + "\u050D"\ + "\u050F"\ + "\u0511"\ + "\u0513"\ + "\u0515"\ + "\u0517"\ + "\u0519"\ + "\u051B"\ + "\u051D"\ + "\u051F"\ + "\u0521"\ + "\u0523"\ + "\u0525"\ + "\u0527"\ + "\u0529"\ + "\u052B"\ + "\u052D"\ + "\u052F"\ + "\u0559"\ + "\u0560-\u0586"\ + "\u0588"\ + "\u0591-\u05BD"\ + "\u05BF"\ + "\u05C1\u05C2"\ + "\u05C4\u05C5"\ + "\u05C7"\ + "\u05D0-\u05EA"\ + "\u05EF-\u05F2"\ + "\u0610-\u061A"\ + "\u0620-\u063F"\ + "\u0641-\u065F"\ + "\u066E-\u0674"\ + "\u0679-\u06D3"\ + "\u06D5-\u06DC"\ + "\u06DF-\u06E8"\ + "\u06EA-\u06EF"\ + "\u06FA-\u06FF"\ + "\u0710-\u074A"\ + "\u074D-\u07B1"\ + "\u07C0-\u07F5"\ + "\u07FD"\ + "\u0800-\u082D"\ + "\u0840-\u085B"\ + "\u0860-\u086A"\ + "\u0870-\u0887"\ + "\u0889-\u088E"\ + "\u0898-\u08E1"\ + "\u08E3-\u0957"\ + "\u0960-\u0963"\ + "\u0966-\u096F"\ + "\u0971-\u0983"\ + "\u0985-\u098C"\ + "\u098F\u0990"\ + "\u0993-\u09A8"\ + "\u09AA-\u09B0"\ + "\u09B2"\ + "\u09B6-\u09B9"\ + "\u09BC-\u09C4"\ + "\u09C7\u09C8"\ + "\u09CB-\u09CE"\ + "\u09D7"\ + "\u09E0-\u09E3"\ + "\u09E6-\u09F1"\ + "\u09FC"\ + "\u09FE"\ + "\u0A01-\u0A03"\ + "\u0A05-\u0A0A"\ + "\u0A0F\u0A10"\ + "\u0A13-\u0A28"\ + "\u0A2A-\u0A30"\ + "\u0A32"\ + "\u0A35"\ + "\u0A38\u0A39"\ + "\u0A3C"\ + "\u0A3E-\u0A42"\ + "\u0A47\u0A48"\ + "\u0A4B-\u0A4D"\ + "\u0A51"\ + "\u0A5C"\ + "\u0A66-\u0A75"\ + "\u0A81-\u0A83"\ + "\u0A85-\u0A8D"\ + "\u0A8F-\u0A91"\ + "\u0A93-\u0AA8"\ + "\u0AAA-\u0AB0"\ + "\u0AB2\u0AB3"\ + "\u0AB5-\u0AB9"\ + "\u0ABC-\u0AC5"\ + "\u0AC7-\u0AC9"\ + "\u0ACB-\u0ACD"\ + "\u0AD0"\ + "\u0AE0-\u0AE3"\ + "\u0AE6-\u0AEF"\ + "\u0AF9-\u0AFF"\ + "\u0B01-\u0B03"\ + "\u0B05-\u0B0C"\ + "\u0B0F\u0B10"\ + "\u0B13-\u0B28"\ + "\u0B2A-\u0B30"\ + "\u0B32\u0B33"\ + "\u0B35-\u0B39"\ + "\u0B3C-\u0B44"\ + "\u0B47\u0B48"\ + "\u0B4B-\u0B4D"\ + "\u0B55-\u0B57"\ + "\u0B5F-\u0B63"\ + "\u0B66-\u0B6F"\ + "\u0B71"\ + "\u0B82\u0B83"\ + "\u0B85-\u0B8A"\ + "\u0B8E-\u0B90"\ + "\u0B92-\u0B95"\ + "\u0B99\u0B9A"\ + "\u0B9C"\ + "\u0B9E\u0B9F"\ + "\u0BA3\u0BA4"\ + "\u0BA8-\u0BAA"\ + "\u0BAE-\u0BB9"\ + "\u0BBE-\u0BC2"\ + "\u0BC6-\u0BC8"\ + "\u0BCA-\u0BCD"\ + "\u0BD0"\ + "\u0BD7"\ + "\u0BE6-\u0BEF"\ + "\u0C00-\u0C0C"\ + "\u0C0E-\u0C10"\ + "\u0C12-\u0C28"\ + "\u0C2A-\u0C39"\ + "\u0C3C-\u0C44"\ + "\u0C46-\u0C48"\ + "\u0C4A-\u0C4D"\ + "\u0C55\u0C56"\ + "\u0C58-\u0C5A"\ + "\u0C5D"\ + "\u0C60-\u0C63"\ + "\u0C66-\u0C6F"\ + "\u0C80-\u0C83"\ + "\u0C85-\u0C8C"\ + "\u0C8E-\u0C90"\ + "\u0C92-\u0CA8"\ + "\u0CAA-\u0CB3"\ + "\u0CB5-\u0CB9"\ + "\u0CBC-\u0CC4"\ + "\u0CC6-\u0CC8"\ + "\u0CCA-\u0CCD"\ + "\u0CD5\u0CD6"\ + "\u0CDD\u0CDE"\ + "\u0CE0-\u0CE3"\ + "\u0CE6-\u0CEF"\ + "\u0CF1-\u0CF3"\ + "\u0D00-\u0D0C"\ + "\u0D0E-\u0D10"\ + "\u0D12-\u0D44"\ + "\u0D46-\u0D48"\ + "\u0D4A-\u0D4E"\ + "\u0D54-\u0D57"\ + "\u0D5F-\u0D63"\ + "\u0D66-\u0D6F"\ + "\u0D7A-\u0D7F"\ + "\u0D81-\u0D83"\ + "\u0D85-\u0D96"\ + "\u0D9A-\u0DB1"\ + "\u0DB3-\u0DBB"\ + "\u0DBD"\ + "\u0DC0-\u0DC6"\ + "\u0DCA"\ + "\u0DCF-\u0DD4"\ + "\u0DD6"\ + "\u0DD8-\u0DDF"\ + "\u0DE6-\u0DEF"\ + "\u0DF2\u0DF3"\ + "\u0E01-\u0E32"\ + "\u0E34-\u0E3A"\ + "\u0E40-\u0E4E"\ + "\u0E50-\u0E59"\ + "\u0E81\u0E82"\ + "\u0E84"\ + "\u0E86-\u0E8A"\ + "\u0E8C-\u0EA3"\ + "\u0EA5"\ + "\u0EA7-\u0EB2"\ + "\u0EB4-\u0EBD"\ + "\u0EC0-\u0EC4"\ + "\u0EC6"\ + "\u0EC8-\u0ECE"\ + "\u0ED0-\u0ED9"\ + "\u0EDE\u0EDF"\ + "\u0F00"\ + "\u0F0B"\ + "\u0F18\u0F19"\ + "\u0F20-\u0F29"\ + "\u0F35"\ + "\u0F37"\ + "\u0F39"\ + "\u0F3E-\u0F42"\ + "\u0F44-\u0F47"\ + "\u0F49-\u0F4C"\ + "\u0F4E-\u0F51"\ + "\u0F53-\u0F56"\ + "\u0F58-\u0F5B"\ + "\u0F5D-\u0F68"\ + "\u0F6A-\u0F6C"\ + "\u0F71\u0F72"\ + "\u0F74"\ + "\u0F7A-\u0F80"\ + "\u0F82-\u0F84"\ + "\u0F86-\u0F92"\ + "\u0F94-\u0F97"\ + "\u0F99-\u0F9C"\ + "\u0F9E-\u0FA1"\ + "\u0FA3-\u0FA6"\ + "\u0FA8-\u0FAB"\ + "\u0FAD-\u0FB8"\ + "\u0FBA-\u0FBC"\ + "\u0FC6"\ + "\u1000-\u1049"\ + "\u1050-\u109D"\ + "\u10D0-\u10FA"\ + "\u10FD-\u10FF"\ + "\u1200-\u1248"\ + "\u124A-\u124D"\ + "\u1250-\u1256"\ + "\u1258"\ + "\u125A-\u125D"\ + "\u1260-\u1288"\ + "\u128A-\u128D"\ + "\u1290-\u12B0"\ + "\u12B2-\u12B5"\ + "\u12B8-\u12BE"\ + "\u12C0"\ + "\u12C2-\u12C5"\ + "\u12C8-\u12D6"\ + "\u12D8-\u1310"\ + "\u1312-\u1315"\ + "\u1318-\u135A"\ + "\u135D-\u135F"\ + "\u1380-\u138F"\ + "\u13A0-\u13F5"\ + "\u1401-\u166C"\ + "\u166F-\u167F"\ + "\u1681-\u169A"\ + "\u16A0-\u16EA"\ + "\u16F1-\u16F8"\ + "\u1700-\u1715"\ + "\u171F-\u1734"\ + "\u1740-\u1753"\ + "\u1760-\u176C"\ + "\u176E-\u1770"\ + "\u1772\u1773"\ + "\u1780-\u17B3"\ + "\u17B6-\u17D3"\ + "\u17D7"\ + "\u17DC\u17DD"\ + "\u17E0-\u17E9"\ + "\u1810-\u1819"\ + "\u1820-\u1878"\ + "\u1880-\u18AA"\ + "\u18B0-\u18F5"\ + "\u1900-\u191E"\ + "\u1920-\u192B"\ + "\u1930-\u193B"\ + "\u1946-\u196D"\ + "\u1970-\u1974"\ + "\u1980-\u19AB"\ + "\u19B0-\u19C9"\ + "\u19D0-\u19D9"\ + "\u1A00-\u1A1B"\ + "\u1A20-\u1A5E"\ + "\u1A60-\u1A7C"\ + "\u1A7F-\u1A89"\ + "\u1A90-\u1A99"\ + "\u1AA7"\ + "\u1AB0-\u1ABD"\ + "\u1ABF-\u1ACE"\ + "\u1B00-\u1B4C"\ + "\u1B50-\u1B59"\ + "\u1B6B-\u1B73"\ + "\u1B80-\u1BF3"\ + "\u1C00-\u1C37"\ + "\u1C40-\u1C49"\ + "\u1C4D-\u1C7D"\ + "\u1CD0-\u1CD2"\ + "\u1CD4-\u1CFA"\ + "\u1D00-\u1D2B"\ + "\u1D2F"\ + "\u1D3B"\ + "\u1D4E"\ + "\u1D6B-\u1D77"\ + "\u1D79-\u1D9A"\ + "\u1DC0-\u1DFF"\ + "\u1E01"\ + "\u1E03"\ + "\u1E05"\ + "\u1E07"\ + "\u1E09"\ + "\u1E0B"\ + "\u1E0D"\ + "\u1E0F"\ + "\u1E11"\ + "\u1E13"\ + "\u1E15"\ + "\u1E17"\ + "\u1E19"\ + "\u1E1B"\ + "\u1E1D"\ + "\u1E1F"\ + "\u1E21"\ + "\u1E23"\ + "\u1E25"\ + "\u1E27"\ + "\u1E29"\ + "\u1E2B"\ + "\u1E2D"\ + "\u1E2F"\ + "\u1E31"\ + "\u1E33"\ + "\u1E35"\ + "\u1E37"\ + "\u1E39"\ + "\u1E3B"\ + "\u1E3D"\ + "\u1E3F"\ + "\u1E41"\ + "\u1E43"\ + "\u1E45"\ + "\u1E47"\ + "\u1E49"\ + "\u1E4B"\ + "\u1E4D"\ + "\u1E4F"\ + "\u1E51"\ + "\u1E53"\ + "\u1E55"\ + "\u1E57"\ + "\u1E59"\ + "\u1E5B"\ + "\u1E5D"\ + "\u1E5F"\ + "\u1E61"\ + "\u1E63"\ + "\u1E65"\ + "\u1E67"\ + "\u1E69"\ + "\u1E6B"\ + "\u1E6D"\ + "\u1E6F"\ + "\u1E71"\ + "\u1E73"\ + "\u1E75"\ + "\u1E77"\ + "\u1E79"\ + "\u1E7B"\ + "\u1E7D"\ + "\u1E7F"\ + "\u1E81"\ + "\u1E83"\ + "\u1E85"\ + "\u1E87"\ + "\u1E89"\ + "\u1E8B"\ + "\u1E8D"\ + "\u1E8F"\ + "\u1E91"\ + "\u1E93"\ + "\u1E95-\u1E99"\ + "\u1E9C\u1E9D"\ + "\u1E9F"\ + "\u1EA1"\ + "\u1EA3"\ + "\u1EA5"\ + "\u1EA7"\ + "\u1EA9"\ + "\u1EAB"\ + "\u1EAD"\ + "\u1EAF"\ + "\u1EB1"\ + "\u1EB3"\ + "\u1EB5"\ + "\u1EB7"\ + "\u1EB9"\ + "\u1EBB"\ + "\u1EBD"\ + "\u1EBF"\ + "\u1EC1"\ + "\u1EC3"\ + "\u1EC5"\ + "\u1EC7"\ + "\u1EC9"\ + "\u1ECB"\ + "\u1ECD"\ + "\u1ECF"\ + "\u1ED1"\ + "\u1ED3"\ + "\u1ED5"\ + "\u1ED7"\ + "\u1ED9"\ + "\u1EDB"\ + "\u1EDD"\ + "\u1EDF"\ + "\u1EE1"\ + "\u1EE3"\ + "\u1EE5"\ + "\u1EE7"\ + "\u1EE9"\ + "\u1EEB"\ + "\u1EED"\ + "\u1EEF"\ + "\u1EF1"\ + "\u1EF3"\ + "\u1EF5"\ + "\u1EF7"\ + "\u1EF9"\ + "\u1EFB"\ + "\u1EFD"\ + "\u1EFF-\u1F07"\ + "\u1F10-\u1F15"\ + "\u1F20-\u1F27"\ + "\u1F30-\u1F37"\ + "\u1F40-\u1F45"\ + "\u1F50-\u1F57"\ + "\u1F60-\u1F67"\ + "\u1F70"\ + "\u1F72"\ + "\u1F74"\ + "\u1F76"\ + "\u1F78"\ + "\u1F7A"\ + "\u1F7C"\ + "\u1FB0\u1FB1"\ + "\u1FB6"\ + "\u1FC6"\ + "\u1FD0-\u1FD2"\ + "\u1FD6\u1FD7"\ + "\u1FE0-\u1FE2"\ + "\u1FE4-\u1FE7"\ + "\u1FF6"\ + "\u214E"\ + "\u2184"\ + "\u2C30-\u2C5F"\ + "\u2C61"\ + "\u2C65\u2C66"\ + "\u2C68"\ + "\u2C6A"\ + "\u2C6C"\ + "\u2C71"\ + "\u2C73\u2C74"\ + "\u2C76-\u2C7B"\ + "\u2C81"\ + "\u2C83"\ + "\u2C85"\ + "\u2C87"\ + "\u2C89"\ + "\u2C8B"\ + "\u2C8D"\ + "\u2C8F"\ + "\u2C91"\ + "\u2C93"\ + "\u2C95"\ + "\u2C97"\ + "\u2C99"\ + "\u2C9B"\ + "\u2C9D"\ + "\u2C9F"\ + "\u2CA1"\ + "\u2CA3"\ + "\u2CA5"\ + "\u2CA7"\ + "\u2CA9"\ + "\u2CAB"\ + "\u2CAD"\ + "\u2CAF"\ + "\u2CB1"\ + "\u2CB3"\ + "\u2CB5"\ + "\u2CB7"\ + "\u2CB9"\ + "\u2CBB"\ + "\u2CBD"\ + "\u2CBF"\ + "\u2CC1"\ + "\u2CC3"\ + "\u2CC5"\ + "\u2CC7"\ + "\u2CC9"\ + "\u2CCB"\ + "\u2CCD"\ + "\u2CCF"\ + "\u2CD1"\ + "\u2CD3"\ + "\u2CD5"\ + "\u2CD7"\ + "\u2CD9"\ + "\u2CDB"\ + "\u2CDD"\ + "\u2CDF"\ + "\u2CE1"\ + "\u2CE3\u2CE4"\ + "\u2CEC"\ + "\u2CEE-\u2CF1"\ + "\u2CF3"\ + "\u2D00-\u2D25"\ + "\u2D27"\ + "\u2D2D"\ + "\u2D30-\u2D67"\ + "\u2D7F-\u2D96"\ + "\u2DA0-\u2DA6"\ + "\u2DA8-\u2DAE"\ + "\u2DB0-\u2DB6"\ + "\u2DB8-\u2DBE"\ + "\u2DC0-\u2DC6"\ + "\u2DC8-\u2DCE"\ + "\u2DD0-\u2DD6"\ + "\u2DD8-\u2DDE"\ + "\u2DE0-\u2DFF"\ + "\u2E2F"\ + "\u3005-\u3007"\ + "\u302A-\u302D"\ + "\u303C"\ + "\u3041-\u3096"\ + "\u3099\u309A"\ + "\u309D\u309E"\ + "\u30A1-\u30FA"\ + "\u30FC-\u30FE"\ + "\u3105-\u312F"\ + "\u31A0-\u31BF"\ + "\u31F0-\u31FF"\ + "\u3400-\u4DBF"\ + "\u4E00-\uA48C"\ + "\uA4D0-\uA4FD"\ + "\uA500-\uA60C"\ + "\uA610-\uA62B"\ + "\uA641"\ + "\uA643"\ + "\uA645"\ + "\uA647"\ + "\uA649"\ + "\uA64B"\ + "\uA64D"\ + "\uA64F"\ + "\uA651"\ + "\uA653"\ + "\uA655"\ + "\uA657"\ + "\uA659"\ + "\uA65B"\ + "\uA65D"\ + "\uA65F"\ + "\uA661"\ + "\uA663"\ + "\uA665"\ + "\uA667"\ + "\uA669"\ + "\uA66B"\ + "\uA66D-\uA66F"\ + "\uA674-\uA67D"\ + "\uA67F"\ + "\uA681"\ + "\uA683"\ + "\uA685"\ + "\uA687"\ + "\uA689"\ + "\uA68B"\ + "\uA68D"\ + "\uA68F"\ + "\uA691"\ + "\uA693"\ + "\uA695"\ + "\uA697"\ + "\uA699"\ + "\uA69B"\ + "\uA69E-\uA6E5"\ + "\uA6F0\uA6F1"\ + "\uA717-\uA71F"\ + "\uA723"\ + "\uA725"\ + "\uA727"\ + "\uA729"\ + "\uA72B"\ + "\uA72D"\ + "\uA72F-\uA731"\ + "\uA733"\ + "\uA735"\ + "\uA737"\ + "\uA739"\ + "\uA73B"\ + "\uA73D"\ + "\uA73F"\ + "\uA741"\ + "\uA743"\ + "\uA745"\ + "\uA747"\ + "\uA749"\ + "\uA74B"\ + "\uA74D"\ + "\uA74F"\ + "\uA751"\ + "\uA753"\ + "\uA755"\ + "\uA757"\ + "\uA759"\ + "\uA75B"\ + "\uA75D"\ + "\uA75F"\ + "\uA761"\ + "\uA763"\ + "\uA765"\ + "\uA767"\ + "\uA769"\ + "\uA76B"\ + "\uA76D"\ + "\uA76F"\ + "\uA771-\uA778"\ + "\uA77A"\ + "\uA77C"\ + "\uA77F"\ + "\uA781"\ + "\uA783"\ + "\uA785"\ + "\uA787\uA788"\ + "\uA78C"\ + "\uA78E\uA78F"\ + "\uA791"\ + "\uA793-\uA795"\ + "\uA797"\ + "\uA799"\ + "\uA79B"\ + "\uA79D"\ + "\uA79F"\ + "\uA7A1"\ + "\uA7A3"\ + "\uA7A5"\ + "\uA7A7"\ + "\uA7A9"\ + "\uA7AF"\ + "\uA7B5"\ + "\uA7B7"\ + "\uA7B9"\ + "\uA7BB"\ + "\uA7BD"\ + "\uA7BF"\ + "\uA7C1"\ + "\uA7C3"\ + "\uA7C8"\ + "\uA7CA"\ + "\uA7D1"\ + "\uA7D3"\ + "\uA7D5"\ + "\uA7D7"\ + "\uA7D9"\ + "\uA7F6\uA7F7"\ + "\uA7FA-\uA827"\ + "\uA82C"\ + "\uA840-\uA873"\ + "\uA880-\uA8C5"\ + "\uA8D0-\uA8D9"\ + "\uA8E0-\uA8F7"\ + "\uA8FB"\ + "\uA8FD-\uA92D"\ + "\uA930-\uA953"\ + "\uA980-\uA9C0"\ + "\uA9CF-\uA9D9"\ + "\uA9E0-\uA9FE"\ + "\uAA00-\uAA36"\ + "\uAA40-\uAA4D"\ + "\uAA50-\uAA59"\ + "\uAA60-\uAA76"\ + "\uAA7A-\uAAC2"\ + "\uAADB-\uAADD"\ + "\uAAE0-\uAAEF"\ + "\uAAF2-\uAAF6"\ + "\uAB01-\uAB06"\ + "\uAB09-\uAB0E"\ + "\uAB11-\uAB16"\ + "\uAB20-\uAB26"\ + "\uAB28-\uAB2E"\ + "\uAB30-\uAB5A"\ + "\uAB60-\uAB68"\ + "\uABC0-\uABEA"\ + "\uABEC\uABED"\ + "\uABF0-\uABF9"\ + "\uAC00-\uD7A3"\ + "\uFA0E\uFA0F"\ + "\uFA11"\ + "\uFA13\uFA14"\ + "\uFA1F"\ + "\uFA21"\ + "\uFA23\uFA24"\ + "\uFA27-\uFA29"\ + "\uFB1E"\ + "\uFE20-\uFE2F"\ + "\uFE73"\ + "\u{10000}-\u{1000B}"\ + "\u{1000D}-\u{10026}"\ + "\u{10028}-\u{1003A}"\ + "\u{1003C}\u{1003D}"\ + "\u{1003F}-\u{1004D}"\ + "\u{10050}-\u{1005D}"\ + "\u{10080}-\u{100FA}"\ + "\u{101FD}"\ + "\u{10280}-\u{1029C}"\ + "\u{102A0}-\u{102D0}"\ + "\u{102E0}"\ + "\u{10300}-\u{1031F}"\ + "\u{1032D}-\u{10340}"\ + "\u{10342}-\u{10349}"\ + "\u{10350}-\u{1037A}"\ + "\u{10380}-\u{1039D}"\ + "\u{103A0}-\u{103C3}"\ + "\u{103C8}-\u{103CF}"\ + "\u{10428}-\u{1049D}"\ + "\u{104A0}-\u{104A9}"\ + "\u{104D8}-\u{104FB}"\ + "\u{10500}-\u{10527}"\ + "\u{10530}-\u{10563}"\ + "\u{10597}-\u{105A1}"\ + "\u{105A3}-\u{105B1}"\ + "\u{105B3}-\u{105B9}"\ + "\u{105BB}\u{105BC}"\ + "\u{10600}-\u{10736}"\ + "\u{10740}-\u{10755}"\ + "\u{10760}-\u{10767}"\ + "\u{10780}"\ + "\u{10800}-\u{10805}"\ + "\u{10808}"\ + "\u{1080A}-\u{10835}"\ + "\u{10837}\u{10838}"\ + "\u{1083C}"\ + "\u{1083F}-\u{10855}"\ + "\u{10860}-\u{10876}"\ + "\u{10880}-\u{1089E}"\ + "\u{108E0}-\u{108F2}"\ + "\u{108F4}\u{108F5}"\ + "\u{10900}-\u{10915}"\ + "\u{10920}-\u{10939}"\ + "\u{10980}-\u{109B7}"\ + "\u{109BE}\u{109BF}"\ + "\u{10A00}-\u{10A03}"\ + "\u{10A05}\u{10A06}"\ + "\u{10A0C}-\u{10A13}"\ + "\u{10A15}-\u{10A17}"\ + "\u{10A19}-\u{10A35}"\ + "\u{10A38}-\u{10A3A}"\ + "\u{10A3F}"\ + "\u{10A60}-\u{10A7C}"\ + "\u{10A80}-\u{10A9C}"\ + "\u{10AC0}-\u{10AC7}"\ + "\u{10AC9}-\u{10AE6}"\ + "\u{10B00}-\u{10B35}"\ + "\u{10B40}-\u{10B55}"\ + "\u{10B60}-\u{10B72}"\ + "\u{10B80}-\u{10B91}"\ + "\u{10C00}-\u{10C48}"\ + "\u{10CC0}-\u{10CF2}"\ + "\u{10D00}-\u{10D27}"\ + "\u{10D30}-\u{10D39}"\ + "\u{10E80}-\u{10EA9}"\ + "\u{10EAB}\u{10EAC}"\ + "\u{10EB0}\u{10EB1}"\ + "\u{10EFD}-\u{10F1C}"\ + "\u{10F27}"\ + "\u{10F30}-\u{10F50}"\ + "\u{10F70}-\u{10F85}"\ + "\u{10FB0}-\u{10FC4}"\ + "\u{10FE0}-\u{10FF6}"\ + "\u{11000}-\u{11046}"\ + "\u{11066}-\u{11075}"\ + "\u{1107F}-\u{110BA}"\ + "\u{110C2}"\ + "\u{110D0}-\u{110E8}"\ + "\u{110F0}-\u{110F9}"\ + "\u{11100}-\u{11134}"\ + "\u{11136}-\u{1113F}"\ + "\u{11144}-\u{11147}"\ + "\u{11150}-\u{11173}"\ + "\u{11176}"\ + "\u{11180}-\u{111C4}"\ + "\u{111C9}-\u{111CC}"\ + "\u{111CE}-\u{111DA}"\ + "\u{111DC}"\ + "\u{11200}-\u{11211}"\ + "\u{11213}-\u{11237}"\ + "\u{1123E}-\u{11241}"\ + "\u{11280}-\u{11286}"\ + "\u{11288}"\ + "\u{1128A}-\u{1128D}"\ + "\u{1128F}-\u{1129D}"\ + "\u{1129F}-\u{112A8}"\ + "\u{112B0}-\u{112EA}"\ + "\u{112F0}-\u{112F9}"\ + "\u{11300}-\u{11303}"\ + "\u{11305}-\u{1130C}"\ + "\u{1130F}\u{11310}"\ + "\u{11313}-\u{11328}"\ + "\u{1132A}-\u{11330}"\ + "\u{11332}\u{11333}"\ + "\u{11335}-\u{11339}"\ + "\u{1133B}-\u{11344}"\ + "\u{11347}\u{11348}"\ + "\u{1134B}-\u{1134D}"\ + "\u{11350}"\ + "\u{11357}"\ + "\u{1135D}-\u{11363}"\ + "\u{11366}-\u{1136C}"\ + "\u{11370}-\u{11374}"\ + "\u{11400}-\u{1144A}"\ + "\u{11450}-\u{11459}"\ + "\u{1145E}-\u{11461}"\ + "\u{11480}-\u{114C5}"\ + "\u{114C7}"\ + "\u{114D0}-\u{114D9}"\ + "\u{11580}-\u{115B5}"\ + "\u{115B8}-\u{115C0}"\ + "\u{115D8}-\u{115DD}"\ + "\u{11600}-\u{11640}"\ + "\u{11644}"\ + "\u{11650}-\u{11659}"\ + "\u{11680}-\u{116B8}"\ + "\u{116C0}-\u{116C9}"\ + "\u{11700}-\u{1171A}"\ + "\u{1171D}-\u{1172B}"\ + "\u{11730}-\u{11739}"\ + "\u{11740}-\u{11746}"\ + "\u{11800}-\u{1183A}"\ + "\u{118C0}-\u{118E9}"\ + "\u{118FF}-\u{11906}"\ + "\u{11909}"\ + "\u{1190C}-\u{11913}"\ + "\u{11915}\u{11916}"\ + "\u{11918}-\u{11935}"\ + "\u{11937}\u{11938}"\ + "\u{1193B}-\u{11943}"\ + "\u{11950}-\u{11959}"\ + "\u{119A0}-\u{119A7}"\ + "\u{119AA}-\u{119D7}"\ + "\u{119DA}-\u{119E1}"\ + "\u{119E3}\u{119E4}"\ + "\u{11A00}-\u{11A3E}"\ + "\u{11A47}"\ + "\u{11A50}-\u{11A99}"\ + "\u{11A9D}"\ + "\u{11AB0}-\u{11AF8}"\ + "\u{11C00}-\u{11C08}"\ + "\u{11C0A}-\u{11C36}"\ + "\u{11C38}-\u{11C40}"\ + "\u{11C50}-\u{11C59}"\ + "\u{11C72}-\u{11C8F}"\ + "\u{11C92}-\u{11CA7}"\ + "\u{11CA9}-\u{11CB6}"\ + "\u{11D00}-\u{11D06}"\ + "\u{11D08}\u{11D09}"\ + "\u{11D0B}-\u{11D36}"\ + "\u{11D3A}"\ + "\u{11D3C}\u{11D3D}"\ + "\u{11D3F}-\u{11D47}"\ + "\u{11D50}-\u{11D59}"\ + "\u{11D60}-\u{11D65}"\ + "\u{11D67}\u{11D68}"\ + "\u{11D6A}-\u{11D8E}"\ + "\u{11D90}\u{11D91}"\ + "\u{11D93}-\u{11D98}"\ + "\u{11DA0}-\u{11DA9}"\ + "\u{11EE0}-\u{11EF6}"\ + "\u{11F00}-\u{11F10}"\ + "\u{11F12}-\u{11F3A}"\ + "\u{11F3E}-\u{11F42}"\ + "\u{11F50}-\u{11F59}"\ + "\u{11FB0}"\ + "\u{12000}-\u{12399}"\ + "\u{12480}-\u{12543}"\ + "\u{12F90}-\u{12FF0}"\ + "\u{13000}-\u{1342F}"\ + "\u{13440}-\u{13455}"\ + "\u{14400}-\u{14646}"\ + "\u{16800}-\u{16A38}"\ + "\u{16A40}-\u{16A5E}"\ + "\u{16A60}-\u{16A69}"\ + "\u{16A70}-\u{16ABE}"\ + "\u{16AC0}-\u{16AC9}"\ + "\u{16AD0}-\u{16AED}"\ + "\u{16AF0}-\u{16AF4}"\ + "\u{16B00}-\u{16B36}"\ + "\u{16B40}-\u{16B43}"\ + "\u{16B50}-\u{16B59}"\ + "\u{16B63}-\u{16B77}"\ + "\u{16B7D}-\u{16B8F}"\ + "\u{16E60}-\u{16E7F}"\ + "\u{16F00}-\u{16F4A}"\ + "\u{16F4F}-\u{16F87}"\ + "\u{16F8F}-\u{16F9F}"\ + "\u{16FE0}\u{16FE1}"\ + "\u{16FE3}\u{16FE4}"\ + "\u{16FF0}\u{16FF1}"\ + "\u{17000}-\u{187F7}"\ + "\u{18800}-\u{18CD5}"\ + "\u{18D00}-\u{18D08}"\ + "\u{1AFF0}-\u{1AFF3}"\ + "\u{1AFF5}-\u{1AFFB}"\ + "\u{1AFFD}\u{1AFFE}"\ + "\u{1B000}-\u{1B122}"\ + "\u{1B132}"\ + "\u{1B150}-\u{1B152}"\ + "\u{1B155}"\ + "\u{1B164}-\u{1B167}"\ + "\u{1B170}-\u{1B2FB}"\ + "\u{1BC00}-\u{1BC6A}"\ + "\u{1BC70}-\u{1BC7C}"\ + "\u{1BC80}-\u{1BC88}"\ + "\u{1BC90}-\u{1BC99}"\ + "\u{1BC9D}\u{1BC9E}"\ + "\u{1CF00}-\u{1CF2D}"\ + "\u{1CF30}-\u{1CF46}"\ + "\u{1DA00}-\u{1DA36}"\ + "\u{1DA3B}-\u{1DA6C}"\ + "\u{1DA75}"\ + "\u{1DA84}"\ + "\u{1DA9B}-\u{1DA9F}"\ + "\u{1DAA1}-\u{1DAAF}"\ + "\u{1DF00}-\u{1DF1E}"\ + "\u{1DF25}-\u{1DF2A}"\ + "\u{1E000}-\u{1E006}"\ + "\u{1E008}-\u{1E018}"\ + "\u{1E01B}-\u{1E021}"\ + "\u{1E023}\u{1E024}"\ + "\u{1E026}-\u{1E02A}"\ + "\u{1E08F}"\ + "\u{1E100}-\u{1E12C}"\ + "\u{1E130}-\u{1E13D}"\ + "\u{1E140}-\u{1E149}"\ + "\u{1E14E}"\ + "\u{1E290}-\u{1E2AE}"\ + "\u{1E2C0}-\u{1E2F9}"\ + "\u{1E4D0}-\u{1E4F9}"\ + "\u{1E7E0}-\u{1E7E6}"\ + "\u{1E7E8}-\u{1E7EB}"\ + "\u{1E7ED}\u{1E7EE}"\ + "\u{1E7F0}-\u{1E7FE}"\ + "\u{1E800}-\u{1E8C4}"\ + "\u{1E8D0}-\u{1E8D6}"\ + "\u{1E922}-\u{1E94B}"\ + "\u{1E950}-\u{1E959}"\ + "\u{20000}-\u{2A6DF}"\ + "\u{2A700}-\u{2B739}"\ + "\u{2B740}-\u{2B81D}"\ + "\u{2B820}-\u{2CEA1}"\ + "\u{2CEB0}-\u{2EBE0}"\ + "\u{2EBF0}-\u{2EE5D}"\ + "\u{30000}-\u{3134A}"\ + "\u{31350}-\u{323AF}"\ + "]", + "CONTEXTO" => "["\ + "\u00B7"\ + "\u0375"\ + "\u05F3\u05F4"\ + "\u0660-\u0669"\ + "\u06F0-\u06F9"\ + "\u30FB"\ + "]", + "CONTEXTJ" => "["\ + "\u200C\u200D"\ + "]", + }.freeze + end +end diff --git a/lib/uri/idna/data/idna.rb b/lib/uri/idna/data/idna.rb deleted file mode 100644 index 009a68a..0000000 --- a/lib/uri/idna/data/idna.rb +++ /dev/null @@ -1,4697 +0,0 @@ -# frozen_string_literal: true - -# This file is automatically generated by bin/generate -# Unicode version 15.1.0 - -module URI - module IDNA - UNICODE_VERSION = "15.1.0" - SCRIPTS = { - "Greek" => [ - 0x37000000374, - 0x37500000378, - 0x37a0000037e, - 0x37f00000380, - 0x38400000385, - 0x38600000387, - 0x3880000038b, - 0x38c0000038d, - 0x38e000003a2, - 0x3a3000003e2, - 0x3f000000400, - 0x1d2600001d2b, - 0x1d5d00001d62, - 0x1d6600001d6b, - 0x1dbf00001dc0, - 0x1f0000001f16, - 0x1f1800001f1e, - 0x1f2000001f46, - 0x1f4800001f4e, - 0x1f5000001f58, - 0x1f5900001f5a, - 0x1f5b00001f5c, - 0x1f5d00001f5e, - 0x1f5f00001f7e, - 0x1f8000001fb5, - 0x1fb600001fc5, - 0x1fc600001fd4, - 0x1fd600001fdc, - 0x1fdd00001ff0, - 0x1ff200001ff5, - 0x1ff600001fff, - 0x212600002127, - 0xab650000ab66, - 0x101400001018f, - 0x101a0000101a1, - 0x1d2000001d246, - ], - "Han" => [ - 0x2e8000002e9a, - 0x2e9b00002ef4, - 0x2f0000002fd6, - 0x300500003006, - 0x300700003008, - 0x30210000302a, - 0x30380000303c, - 0x340000004dc0, - 0x4e000000a000, - 0xf9000000fa6e, - 0xfa700000fada, - 0x16fe200016fe4, - 0x16ff000016ff2, - 0x200000002a6e0, - 0x2a7000002b73a, - 0x2b7400002b81e, - 0x2b8200002cea2, - 0x2ceb00002ebe1, - 0x2ebf00002ee5e, - 0x2f8000002fa1e, - 0x300000003134b, - 0x31350000323b0, - ], - "Hebrew" => [ - 0x591000005c8, - 0x5d0000005eb, - 0x5ef000005f5, - 0xfb1d0000fb37, - 0xfb380000fb3d, - 0xfb3e0000fb3f, - 0xfb400000fb42, - 0xfb430000fb45, - 0xfb460000fb50, - ], - "Hiragana" => [ - 0x304100003097, - 0x309d000030a0, - 0x1b0010001b120, - 0x1b1320001b133, - 0x1b1500001b153, - 0x1f2000001f201, - ], - "Katakana" => [ - 0x30a1000030fb, - 0x30fd00003100, - 0x31f000003200, - 0x32d0000032ff, - 0x330000003358, - 0xff660000ff70, - 0xff710000ff9e, - 0x1aff00001aff4, - 0x1aff50001affc, - 0x1affd0001afff, - 0x1b0000001b001, - 0x1b1200001b123, - 0x1b1550001b156, - 0x1b1640001b168, - ], - }.freeze - JOINING_TYPES = { - 0x600 => 85, - 0x601 => 85, - 0x602 => 85, - 0x603 => 85, - 0x604 => 85, - 0x605 => 85, - 0x608 => 85, - 0x60b => 85, - 0x620 => 68, - 0x621 => 85, - 0x622 => 82, - 0x623 => 82, - 0x624 => 82, - 0x625 => 82, - 0x626 => 68, - 0x627 => 82, - 0x628 => 68, - 0x629 => 82, - 0x62a => 68, - 0x62b => 68, - 0x62c => 68, - 0x62d => 68, - 0x62e => 68, - 0x62f => 82, - 0x630 => 82, - 0x631 => 82, - 0x632 => 82, - 0x633 => 68, - 0x634 => 68, - 0x635 => 68, - 0x636 => 68, - 0x637 => 68, - 0x638 => 68, - 0x639 => 68, - 0x63a => 68, - 0x63b => 68, - 0x63c => 68, - 0x63d => 68, - 0x63e => 68, - 0x63f => 68, - 0x640 => 67, - 0x641 => 68, - 0x642 => 68, - 0x643 => 68, - 0x644 => 68, - 0x645 => 68, - 0x646 => 68, - 0x647 => 68, - 0x648 => 82, - 0x649 => 68, - 0x64a => 68, - 0x66e => 68, - 0x66f => 68, - 0x671 => 82, - 0x672 => 82, - 0x673 => 82, - 0x674 => 85, - 0x675 => 82, - 0x676 => 82, - 0x677 => 82, - 0x678 => 68, - 0x679 => 68, - 0x67a => 68, - 0x67b => 68, - 0x67c => 68, - 0x67d => 68, - 0x67e => 68, - 0x67f => 68, - 0x680 => 68, - 0x681 => 68, - 0x682 => 68, - 0x683 => 68, - 0x684 => 68, - 0x685 => 68, - 0x686 => 68, - 0x687 => 68, - 0x688 => 82, - 0x689 => 82, - 0x68a => 82, - 0x68b => 82, - 0x68c => 82, - 0x68d => 82, - 0x68e => 82, - 0x68f => 82, - 0x690 => 82, - 0x691 => 82, - 0x692 => 82, - 0x693 => 82, - 0x694 => 82, - 0x695 => 82, - 0x696 => 82, - 0x697 => 82, - 0x698 => 82, - 0x699 => 82, - 0x69a => 68, - 0x69b => 68, - 0x69c => 68, - 0x69d => 68, - 0x69e => 68, - 0x69f => 68, - 0x6a0 => 68, - 0x6a1 => 68, - 0x6a2 => 68, - 0x6a3 => 68, - 0x6a4 => 68, - 0x6a5 => 68, - 0x6a6 => 68, - 0x6a7 => 68, - 0x6a8 => 68, - 0x6a9 => 68, - 0x6aa => 68, - 0x6ab => 68, - 0x6ac => 68, - 0x6ad => 68, - 0x6ae => 68, - 0x6af => 68, - 0x6b0 => 68, - 0x6b1 => 68, - 0x6b2 => 68, - 0x6b3 => 68, - 0x6b4 => 68, - 0x6b5 => 68, - 0x6b6 => 68, - 0x6b7 => 68, - 0x6b8 => 68, - 0x6b9 => 68, - 0x6ba => 68, - 0x6bb => 68, - 0x6bc => 68, - 0x6bd => 68, - 0x6be => 68, - 0x6bf => 68, - 0x6c0 => 82, - 0x6c1 => 68, - 0x6c2 => 68, - 0x6c3 => 82, - 0x6c4 => 82, - 0x6c5 => 82, - 0x6c6 => 82, - 0x6c7 => 82, - 0x6c8 => 82, - 0x6c9 => 82, - 0x6ca => 82, - 0x6cb => 82, - 0x6cc => 68, - 0x6cd => 82, - 0x6ce => 68, - 0x6cf => 82, - 0x6d0 => 68, - 0x6d1 => 68, - 0x6d2 => 82, - 0x6d3 => 82, - 0x6d5 => 82, - 0x6dd => 85, - 0x6ee => 82, - 0x6ef => 82, - 0x6fa => 68, - 0x6fb => 68, - 0x6fc => 68, - 0x6ff => 68, - 0x70f => 84, - 0x710 => 82, - 0x712 => 68, - 0x713 => 68, - 0x714 => 68, - 0x715 => 82, - 0x716 => 82, - 0x717 => 82, - 0x718 => 82, - 0x719 => 82, - 0x71a => 68, - 0x71b => 68, - 0x71c => 68, - 0x71d => 68, - 0x71e => 82, - 0x71f => 68, - 0x720 => 68, - 0x721 => 68, - 0x722 => 68, - 0x723 => 68, - 0x724 => 68, - 0x725 => 68, - 0x726 => 68, - 0x727 => 68, - 0x728 => 82, - 0x729 => 68, - 0x72a => 82, - 0x72b => 68, - 0x72c => 82, - 0x72d => 68, - 0x72e => 68, - 0x72f => 82, - 0x74d => 82, - 0x74e => 68, - 0x74f => 68, - 0x750 => 68, - 0x751 => 68, - 0x752 => 68, - 0x753 => 68, - 0x754 => 68, - 0x755 => 68, - 0x756 => 68, - 0x757 => 68, - 0x758 => 68, - 0x759 => 82, - 0x75a => 82, - 0x75b => 82, - 0x75c => 68, - 0x75d => 68, - 0x75e => 68, - 0x75f => 68, - 0x760 => 68, - 0x761 => 68, - 0x762 => 68, - 0x763 => 68, - 0x764 => 68, - 0x765 => 68, - 0x766 => 68, - 0x767 => 68, - 0x768 => 68, - 0x769 => 68, - 0x76a => 68, - 0x76b => 82, - 0x76c => 82, - 0x76d => 68, - 0x76e => 68, - 0x76f => 68, - 0x770 => 68, - 0x771 => 82, - 0x772 => 68, - 0x773 => 82, - 0x774 => 82, - 0x775 => 68, - 0x776 => 68, - 0x777 => 68, - 0x778 => 82, - 0x779 => 82, - 0x77a => 68, - 0x77b => 68, - 0x77c => 68, - 0x77d => 68, - 0x77e => 68, - 0x77f => 68, - 0x7ca => 68, - 0x7cb => 68, - 0x7cc => 68, - 0x7cd => 68, - 0x7ce => 68, - 0x7cf => 68, - 0x7d0 => 68, - 0x7d1 => 68, - 0x7d2 => 68, - 0x7d3 => 68, - 0x7d4 => 68, - 0x7d5 => 68, - 0x7d6 => 68, - 0x7d7 => 68, - 0x7d8 => 68, - 0x7d9 => 68, - 0x7da => 68, - 0x7db => 68, - 0x7dc => 68, - 0x7dd => 68, - 0x7de => 68, - 0x7df => 68, - 0x7e0 => 68, - 0x7e1 => 68, - 0x7e2 => 68, - 0x7e3 => 68, - 0x7e4 => 68, - 0x7e5 => 68, - 0x7e6 => 68, - 0x7e7 => 68, - 0x7e8 => 68, - 0x7e9 => 68, - 0x7ea => 68, - 0x7fa => 67, - 0x840 => 82, - 0x841 => 68, - 0x842 => 68, - 0x843 => 68, - 0x844 => 68, - 0x845 => 68, - 0x846 => 82, - 0x847 => 82, - 0x848 => 68, - 0x849 => 82, - 0x84a => 68, - 0x84b => 68, - 0x84c => 68, - 0x84d => 68, - 0x84e => 68, - 0x84f => 68, - 0x850 => 68, - 0x851 => 68, - 0x852 => 68, - 0x853 => 68, - 0x854 => 82, - 0x855 => 68, - 0x856 => 82, - 0x857 => 82, - 0x858 => 82, - 0x860 => 68, - 0x861 => 85, - 0x862 => 68, - 0x863 => 68, - 0x864 => 68, - 0x865 => 68, - 0x866 => 85, - 0x867 => 82, - 0x868 => 68, - 0x869 => 82, - 0x86a => 82, - 0x870 => 82, - 0x871 => 82, - 0x872 => 82, - 0x873 => 82, - 0x874 => 82, - 0x875 => 82, - 0x876 => 82, - 0x877 => 82, - 0x878 => 82, - 0x879 => 82, - 0x87a => 82, - 0x87b => 82, - 0x87c => 82, - 0x87d => 82, - 0x87e => 82, - 0x87f => 82, - 0x880 => 82, - 0x881 => 82, - 0x882 => 82, - 0x883 => 67, - 0x884 => 67, - 0x885 => 67, - 0x886 => 68, - 0x887 => 85, - 0x888 => 85, - 0x889 => 68, - 0x88a => 68, - 0x88b => 68, - 0x88c => 68, - 0x88d => 68, - 0x88e => 82, - 0x890 => 85, - 0x891 => 85, - 0x8a0 => 68, - 0x8a1 => 68, - 0x8a2 => 68, - 0x8a3 => 68, - 0x8a4 => 68, - 0x8a5 => 68, - 0x8a6 => 68, - 0x8a7 => 68, - 0x8a8 => 68, - 0x8a9 => 68, - 0x8aa => 82, - 0x8ab => 82, - 0x8ac => 82, - 0x8ad => 85, - 0x8ae => 82, - 0x8af => 68, - 0x8b0 => 68, - 0x8b1 => 82, - 0x8b2 => 82, - 0x8b3 => 68, - 0x8b4 => 68, - 0x8b5 => 68, - 0x8b6 => 68, - 0x8b7 => 68, - 0x8b8 => 68, - 0x8b9 => 82, - 0x8ba => 68, - 0x8bb => 68, - 0x8bc => 68, - 0x8bd => 68, - 0x8be => 68, - 0x8bf => 68, - 0x8c0 => 68, - 0x8c1 => 68, - 0x8c2 => 68, - 0x8c3 => 68, - 0x8c4 => 68, - 0x8c5 => 68, - 0x8c6 => 68, - 0x8c7 => 68, - 0x8c8 => 68, - 0x8e2 => 85, - 0x1806 => 85, - 0x1807 => 68, - 0x180a => 67, - 0x180e => 85, - 0x1820 => 68, - 0x1821 => 68, - 0x1822 => 68, - 0x1823 => 68, - 0x1824 => 68, - 0x1825 => 68, - 0x1826 => 68, - 0x1827 => 68, - 0x1828 => 68, - 0x1829 => 68, - 0x182a => 68, - 0x182b => 68, - 0x182c => 68, - 0x182d => 68, - 0x182e => 68, - 0x182f => 68, - 0x1830 => 68, - 0x1831 => 68, - 0x1832 => 68, - 0x1833 => 68, - 0x1834 => 68, - 0x1835 => 68, - 0x1836 => 68, - 0x1837 => 68, - 0x1838 => 68, - 0x1839 => 68, - 0x183a => 68, - 0x183b => 68, - 0x183c => 68, - 0x183d => 68, - 0x183e => 68, - 0x183f => 68, - 0x1840 => 68, - 0x1841 => 68, - 0x1842 => 68, - 0x1843 => 68, - 0x1844 => 68, - 0x1845 => 68, - 0x1846 => 68, - 0x1847 => 68, - 0x1848 => 68, - 0x1849 => 68, - 0x184a => 68, - 0x184b => 68, - 0x184c => 68, - 0x184d => 68, - 0x184e => 68, - 0x184f => 68, - 0x1850 => 68, - 0x1851 => 68, - 0x1852 => 68, - 0x1853 => 68, - 0x1854 => 68, - 0x1855 => 68, - 0x1856 => 68, - 0x1857 => 68, - 0x1858 => 68, - 0x1859 => 68, - 0x185a => 68, - 0x185b => 68, - 0x185c => 68, - 0x185d => 68, - 0x185e => 68, - 0x185f => 68, - 0x1860 => 68, - 0x1861 => 68, - 0x1862 => 68, - 0x1863 => 68, - 0x1864 => 68, - 0x1865 => 68, - 0x1866 => 68, - 0x1867 => 68, - 0x1868 => 68, - 0x1869 => 68, - 0x186a => 68, - 0x186b => 68, - 0x186c => 68, - 0x186d => 68, - 0x186e => 68, - 0x186f => 68, - 0x1870 => 68, - 0x1871 => 68, - 0x1872 => 68, - 0x1873 => 68, - 0x1874 => 68, - 0x1875 => 68, - 0x1876 => 68, - 0x1877 => 68, - 0x1878 => 68, - 0x1880 => 85, - 0x1881 => 85, - 0x1882 => 85, - 0x1883 => 85, - 0x1884 => 85, - 0x1885 => 84, - 0x1886 => 84, - 0x1887 => 68, - 0x1888 => 68, - 0x1889 => 68, - 0x188a => 68, - 0x188b => 68, - 0x188c => 68, - 0x188d => 68, - 0x188e => 68, - 0x188f => 68, - 0x1890 => 68, - 0x1891 => 68, - 0x1892 => 68, - 0x1893 => 68, - 0x1894 => 68, - 0x1895 => 68, - 0x1896 => 68, - 0x1897 => 68, - 0x1898 => 68, - 0x1899 => 68, - 0x189a => 68, - 0x189b => 68, - 0x189c => 68, - 0x189d => 68, - 0x189e => 68, - 0x189f => 68, - 0x18a0 => 68, - 0x18a1 => 68, - 0x18a2 => 68, - 0x18a3 => 68, - 0x18a4 => 68, - 0x18a5 => 68, - 0x18a6 => 68, - 0x18a7 => 68, - 0x18a8 => 68, - 0x18aa => 68, - 0x200c => 85, - 0x200d => 67, - 0x202f => 85, - 0x2066 => 85, - 0x2067 => 85, - 0x2068 => 85, - 0x2069 => 85, - 0xa840 => 68, - 0xa841 => 68, - 0xa842 => 68, - 0xa843 => 68, - 0xa844 => 68, - 0xa845 => 68, - 0xa846 => 68, - 0xa847 => 68, - 0xa848 => 68, - 0xa849 => 68, - 0xa84a => 68, - 0xa84b => 68, - 0xa84c => 68, - 0xa84d => 68, - 0xa84e => 68, - 0xa84f => 68, - 0xa850 => 68, - 0xa851 => 68, - 0xa852 => 68, - 0xa853 => 68, - 0xa854 => 68, - 0xa855 => 68, - 0xa856 => 68, - 0xa857 => 68, - 0xa858 => 68, - 0xa859 => 68, - 0xa85a => 68, - 0xa85b => 68, - 0xa85c => 68, - 0xa85d => 68, - 0xa85e => 68, - 0xa85f => 68, - 0xa860 => 68, - 0xa861 => 68, - 0xa862 => 68, - 0xa863 => 68, - 0xa864 => 68, - 0xa865 => 68, - 0xa866 => 68, - 0xa867 => 68, - 0xa868 => 68, - 0xa869 => 68, - 0xa86a => 68, - 0xa86b => 68, - 0xa86c => 68, - 0xa86d => 68, - 0xa86e => 68, - 0xa86f => 68, - 0xa870 => 68, - 0xa871 => 68, - 0xa872 => 76, - 0xa873 => 85, - 0x10ac0 => 68, - 0x10ac1 => 68, - 0x10ac2 => 68, - 0x10ac3 => 68, - 0x10ac4 => 68, - 0x10ac5 => 82, - 0x10ac6 => 85, - 0x10ac7 => 82, - 0x10ac8 => 85, - 0x10ac9 => 82, - 0x10aca => 82, - 0x10acb => 85, - 0x10acc => 85, - 0x10acd => 76, - 0x10ace => 82, - 0x10acf => 82, - 0x10ad0 => 82, - 0x10ad1 => 82, - 0x10ad2 => 82, - 0x10ad3 => 68, - 0x10ad4 => 68, - 0x10ad5 => 68, - 0x10ad6 => 68, - 0x10ad7 => 76, - 0x10ad8 => 68, - 0x10ad9 => 68, - 0x10ada => 68, - 0x10adb => 68, - 0x10adc => 68, - 0x10add => 82, - 0x10ade => 68, - 0x10adf => 68, - 0x10ae0 => 68, - 0x10ae1 => 82, - 0x10ae2 => 85, - 0x10ae3 => 85, - 0x10ae4 => 82, - 0x10aeb => 68, - 0x10aec => 68, - 0x10aed => 68, - 0x10aee => 68, - 0x10aef => 82, - 0x10b80 => 68, - 0x10b81 => 82, - 0x10b82 => 68, - 0x10b83 => 82, - 0x10b84 => 82, - 0x10b85 => 82, - 0x10b86 => 68, - 0x10b87 => 68, - 0x10b88 => 68, - 0x10b89 => 82, - 0x10b8a => 68, - 0x10b8b => 68, - 0x10b8c => 82, - 0x10b8d => 68, - 0x10b8e => 82, - 0x10b8f => 82, - 0x10b90 => 68, - 0x10b91 => 82, - 0x10ba9 => 82, - 0x10baa => 82, - 0x10bab => 82, - 0x10bac => 82, - 0x10bad => 68, - 0x10bae => 68, - 0x10baf => 85, - 0x10d00 => 76, - 0x10d01 => 68, - 0x10d02 => 68, - 0x10d03 => 68, - 0x10d04 => 68, - 0x10d05 => 68, - 0x10d06 => 68, - 0x10d07 => 68, - 0x10d08 => 68, - 0x10d09 => 68, - 0x10d0a => 68, - 0x10d0b => 68, - 0x10d0c => 68, - 0x10d0d => 68, - 0x10d0e => 68, - 0x10d0f => 68, - 0x10d10 => 68, - 0x10d11 => 68, - 0x10d12 => 68, - 0x10d13 => 68, - 0x10d14 => 68, - 0x10d15 => 68, - 0x10d16 => 68, - 0x10d17 => 68, - 0x10d18 => 68, - 0x10d19 => 68, - 0x10d1a => 68, - 0x10d1b => 68, - 0x10d1c => 68, - 0x10d1d => 68, - 0x10d1e => 68, - 0x10d1f => 68, - 0x10d20 => 68, - 0x10d21 => 68, - 0x10d22 => 82, - 0x10d23 => 68, - 0x10f30 => 68, - 0x10f31 => 68, - 0x10f32 => 68, - 0x10f33 => 82, - 0x10f34 => 68, - 0x10f35 => 68, - 0x10f36 => 68, - 0x10f37 => 68, - 0x10f38 => 68, - 0x10f39 => 68, - 0x10f3a => 68, - 0x10f3b => 68, - 0x10f3c => 68, - 0x10f3d => 68, - 0x10f3e => 68, - 0x10f3f => 68, - 0x10f40 => 68, - 0x10f41 => 68, - 0x10f42 => 68, - 0x10f43 => 68, - 0x10f44 => 68, - 0x10f45 => 85, - 0x10f51 => 68, - 0x10f52 => 68, - 0x10f53 => 68, - 0x10f54 => 82, - 0x10f70 => 68, - 0x10f71 => 68, - 0x10f72 => 68, - 0x10f73 => 68, - 0x10f74 => 82, - 0x10f75 => 82, - 0x10f76 => 68, - 0x10f77 => 68, - 0x10f78 => 68, - 0x10f79 => 68, - 0x10f7a => 68, - 0x10f7b => 68, - 0x10f7c => 68, - 0x10f7d => 68, - 0x10f7e => 68, - 0x10f7f => 68, - 0x10f80 => 68, - 0x10f81 => 68, - 0x10fb0 => 68, - 0x10fb1 => 85, - 0x10fb2 => 68, - 0x10fb3 => 68, - 0x10fb4 => 82, - 0x10fb5 => 82, - 0x10fb6 => 82, - 0x10fb7 => 85, - 0x10fb8 => 68, - 0x10fb9 => 82, - 0x10fba => 82, - 0x10fbb => 68, - 0x10fbc => 68, - 0x10fbd => 82, - 0x10fbe => 68, - 0x10fbf => 68, - 0x10fc0 => 85, - 0x10fc1 => 68, - 0x10fc2 => 82, - 0x10fc3 => 82, - 0x10fc4 => 68, - 0x10fc5 => 85, - 0x10fc6 => 85, - 0x10fc7 => 85, - 0x10fc8 => 85, - 0x10fc9 => 82, - 0x10fca => 68, - 0x10fcb => 76, - 0x110bd => 85, - 0x110cd => 85, - 0x1e900 => 68, - 0x1e901 => 68, - 0x1e902 => 68, - 0x1e903 => 68, - 0x1e904 => 68, - 0x1e905 => 68, - 0x1e906 => 68, - 0x1e907 => 68, - 0x1e908 => 68, - 0x1e909 => 68, - 0x1e90a => 68, - 0x1e90b => 68, - 0x1e90c => 68, - 0x1e90d => 68, - 0x1e90e => 68, - 0x1e90f => 68, - 0x1e910 => 68, - 0x1e911 => 68, - 0x1e912 => 68, - 0x1e913 => 68, - 0x1e914 => 68, - 0x1e915 => 68, - 0x1e916 => 68, - 0x1e917 => 68, - 0x1e918 => 68, - 0x1e919 => 68, - 0x1e91a => 68, - 0x1e91b => 68, - 0x1e91c => 68, - 0x1e91d => 68, - 0x1e91e => 68, - 0x1e91f => 68, - 0x1e920 => 68, - 0x1e921 => 68, - 0x1e922 => 68, - 0x1e923 => 68, - 0x1e924 => 68, - 0x1e925 => 68, - 0x1e926 => 68, - 0x1e927 => 68, - 0x1e928 => 68, - 0x1e929 => 68, - 0x1e92a => 68, - 0x1e92b => 68, - 0x1e92c => 68, - 0x1e92d => 68, - 0x1e92e => 68, - 0x1e92f => 68, - 0x1e930 => 68, - 0x1e931 => 68, - 0x1e932 => 68, - 0x1e933 => 68, - 0x1e934 => 68, - 0x1e935 => 68, - 0x1e936 => 68, - 0x1e937 => 68, - 0x1e938 => 68, - 0x1e939 => 68, - 0x1e93a => 68, - 0x1e93b => 68, - 0x1e93c => 68, - 0x1e93d => 68, - 0x1e93e => 68, - 0x1e93f => 68, - 0x1e940 => 68, - 0x1e941 => 68, - 0x1e942 => 68, - 0x1e943 => 68, - 0x1e94b => 84, - }.freeze - CODEPOINT_CLASSES = { - "PVALID" => [ - 0x2d0000002e, - 0x300000003a, - 0x610000007b, - 0xdf000000f7, - 0xf800000100, - 0x10100000102, - 0x10300000104, - 0x10500000106, - 0x10700000108, - 0x1090000010a, - 0x10b0000010c, - 0x10d0000010e, - 0x10f00000110, - 0x11100000112, - 0x11300000114, - 0x11500000116, - 0x11700000118, - 0x1190000011a, - 0x11b0000011c, - 0x11d0000011e, - 0x11f00000120, - 0x12100000122, - 0x12300000124, - 0x12500000126, - 0x12700000128, - 0x1290000012a, - 0x12b0000012c, - 0x12d0000012e, - 0x12f00000130, - 0x13100000132, - 0x13500000136, - 0x13700000139, - 0x13a0000013b, - 0x13c0000013d, - 0x13e0000013f, - 0x14200000143, - 0x14400000145, - 0x14600000147, - 0x14800000149, - 0x14b0000014c, - 0x14d0000014e, - 0x14f00000150, - 0x15100000152, - 0x15300000154, - 0x15500000156, - 0x15700000158, - 0x1590000015a, - 0x15b0000015c, - 0x15d0000015e, - 0x15f00000160, - 0x16100000162, - 0x16300000164, - 0x16500000166, - 0x16700000168, - 0x1690000016a, - 0x16b0000016c, - 0x16d0000016e, - 0x16f00000170, - 0x17100000172, - 0x17300000174, - 0x17500000176, - 0x17700000178, - 0x17a0000017b, - 0x17c0000017d, - 0x17e0000017f, - 0x18000000181, - 0x18300000184, - 0x18500000186, - 0x18800000189, - 0x18c0000018e, - 0x19200000193, - 0x19500000196, - 0x1990000019c, - 0x19e0000019f, - 0x1a1000001a2, - 0x1a3000001a4, - 0x1a5000001a6, - 0x1a8000001a9, - 0x1aa000001ac, - 0x1ad000001ae, - 0x1b0000001b1, - 0x1b4000001b5, - 0x1b6000001b7, - 0x1b9000001bc, - 0x1bd000001c4, - 0x1ce000001cf, - 0x1d0000001d1, - 0x1d2000001d3, - 0x1d4000001d5, - 0x1d6000001d7, - 0x1d8000001d9, - 0x1da000001db, - 0x1dc000001de, - 0x1df000001e0, - 0x1e1000001e2, - 0x1e3000001e4, - 0x1e5000001e6, - 0x1e7000001e8, - 0x1e9000001ea, - 0x1eb000001ec, - 0x1ed000001ee, - 0x1ef000001f1, - 0x1f5000001f6, - 0x1f9000001fa, - 0x1fb000001fc, - 0x1fd000001fe, - 0x1ff00000200, - 0x20100000202, - 0x20300000204, - 0x20500000206, - 0x20700000208, - 0x2090000020a, - 0x20b0000020c, - 0x20d0000020e, - 0x20f00000210, - 0x21100000212, - 0x21300000214, - 0x21500000216, - 0x21700000218, - 0x2190000021a, - 0x21b0000021c, - 0x21d0000021e, - 0x21f00000220, - 0x22100000222, - 0x22300000224, - 0x22500000226, - 0x22700000228, - 0x2290000022a, - 0x22b0000022c, - 0x22d0000022e, - 0x22f00000230, - 0x23100000232, - 0x2330000023a, - 0x23c0000023d, - 0x23f00000241, - 0x24200000243, - 0x24700000248, - 0x2490000024a, - 0x24b0000024c, - 0x24d0000024e, - 0x24f000002b0, - 0x2b9000002c2, - 0x2c6000002d2, - 0x2ec000002ed, - 0x2ee000002ef, - 0x30000000340, - 0x34200000343, - 0x3460000034f, - 0x35000000370, - 0x37100000372, - 0x37300000374, - 0x37700000378, - 0x37b0000037e, - 0x39000000391, - 0x3ac000003cf, - 0x3d7000003d8, - 0x3d9000003da, - 0x3db000003dc, - 0x3dd000003de, - 0x3df000003e0, - 0x3e1000003e2, - 0x3e3000003e4, - 0x3e5000003e6, - 0x3e7000003e8, - 0x3e9000003ea, - 0x3eb000003ec, - 0x3ed000003ee, - 0x3ef000003f0, - 0x3f3000003f4, - 0x3f8000003f9, - 0x3fb000003fd, - 0x43000000460, - 0x46100000462, - 0x46300000464, - 0x46500000466, - 0x46700000468, - 0x4690000046a, - 0x46b0000046c, - 0x46d0000046e, - 0x46f00000470, - 0x47100000472, - 0x47300000474, - 0x47500000476, - 0x47700000478, - 0x4790000047a, - 0x47b0000047c, - 0x47d0000047e, - 0x47f00000480, - 0x48100000482, - 0x48300000488, - 0x48b0000048c, - 0x48d0000048e, - 0x48f00000490, - 0x49100000492, - 0x49300000494, - 0x49500000496, - 0x49700000498, - 0x4990000049a, - 0x49b0000049c, - 0x49d0000049e, - 0x49f000004a0, - 0x4a1000004a2, - 0x4a3000004a4, - 0x4a5000004a6, - 0x4a7000004a8, - 0x4a9000004aa, - 0x4ab000004ac, - 0x4ad000004ae, - 0x4af000004b0, - 0x4b1000004b2, - 0x4b3000004b4, - 0x4b5000004b6, - 0x4b7000004b8, - 0x4b9000004ba, - 0x4bb000004bc, - 0x4bd000004be, - 0x4bf000004c0, - 0x4c2000004c3, - 0x4c4000004c5, - 0x4c6000004c7, - 0x4c8000004c9, - 0x4ca000004cb, - 0x4cc000004cd, - 0x4ce000004d0, - 0x4d1000004d2, - 0x4d3000004d4, - 0x4d5000004d6, - 0x4d7000004d8, - 0x4d9000004da, - 0x4db000004dc, - 0x4dd000004de, - 0x4df000004e0, - 0x4e1000004e2, - 0x4e3000004e4, - 0x4e5000004e6, - 0x4e7000004e8, - 0x4e9000004ea, - 0x4eb000004ec, - 0x4ed000004ee, - 0x4ef000004f0, - 0x4f1000004f2, - 0x4f3000004f4, - 0x4f5000004f6, - 0x4f7000004f8, - 0x4f9000004fa, - 0x4fb000004fc, - 0x4fd000004fe, - 0x4ff00000500, - 0x50100000502, - 0x50300000504, - 0x50500000506, - 0x50700000508, - 0x5090000050a, - 0x50b0000050c, - 0x50d0000050e, - 0x50f00000510, - 0x51100000512, - 0x51300000514, - 0x51500000516, - 0x51700000518, - 0x5190000051a, - 0x51b0000051c, - 0x51d0000051e, - 0x51f00000520, - 0x52100000522, - 0x52300000524, - 0x52500000526, - 0x52700000528, - 0x5290000052a, - 0x52b0000052c, - 0x52d0000052e, - 0x52f00000530, - 0x5590000055a, - 0x56000000587, - 0x58800000589, - 0x591000005be, - 0x5bf000005c0, - 0x5c1000005c3, - 0x5c4000005c6, - 0x5c7000005c8, - 0x5d0000005eb, - 0x5ef000005f3, - 0x6100000061b, - 0x62000000640, - 0x64100000660, - 0x66e00000675, - 0x679000006d4, - 0x6d5000006dd, - 0x6df000006e9, - 0x6ea000006f0, - 0x6fa00000700, - 0x7100000074b, - 0x74d000007b2, - 0x7c0000007f6, - 0x7fd000007fe, - 0x8000000082e, - 0x8400000085c, - 0x8600000086b, - 0x87000000888, - 0x8890000088f, - 0x898000008e2, - 0x8e300000958, - 0x96000000964, - 0x96600000970, - 0x97100000984, - 0x9850000098d, - 0x98f00000991, - 0x993000009a9, - 0x9aa000009b1, - 0x9b2000009b3, - 0x9b6000009ba, - 0x9bc000009c5, - 0x9c7000009c9, - 0x9cb000009cf, - 0x9d7000009d8, - 0x9e0000009e4, - 0x9e6000009f2, - 0x9fc000009fd, - 0x9fe000009ff, - 0xa0100000a04, - 0xa0500000a0b, - 0xa0f00000a11, - 0xa1300000a29, - 0xa2a00000a31, - 0xa3200000a33, - 0xa3500000a36, - 0xa3800000a3a, - 0xa3c00000a3d, - 0xa3e00000a43, - 0xa4700000a49, - 0xa4b00000a4e, - 0xa5100000a52, - 0xa5c00000a5d, - 0xa6600000a76, - 0xa8100000a84, - 0xa8500000a8e, - 0xa8f00000a92, - 0xa9300000aa9, - 0xaaa00000ab1, - 0xab200000ab4, - 0xab500000aba, - 0xabc00000ac6, - 0xac700000aca, - 0xacb00000ace, - 0xad000000ad1, - 0xae000000ae4, - 0xae600000af0, - 0xaf900000b00, - 0xb0100000b04, - 0xb0500000b0d, - 0xb0f00000b11, - 0xb1300000b29, - 0xb2a00000b31, - 0xb3200000b34, - 0xb3500000b3a, - 0xb3c00000b45, - 0xb4700000b49, - 0xb4b00000b4e, - 0xb5500000b58, - 0xb5f00000b64, - 0xb6600000b70, - 0xb7100000b72, - 0xb8200000b84, - 0xb8500000b8b, - 0xb8e00000b91, - 0xb9200000b96, - 0xb9900000b9b, - 0xb9c00000b9d, - 0xb9e00000ba0, - 0xba300000ba5, - 0xba800000bab, - 0xbae00000bba, - 0xbbe00000bc3, - 0xbc600000bc9, - 0xbca00000bce, - 0xbd000000bd1, - 0xbd700000bd8, - 0xbe600000bf0, - 0xc0000000c0d, - 0xc0e00000c11, - 0xc1200000c29, - 0xc2a00000c3a, - 0xc3c00000c45, - 0xc4600000c49, - 0xc4a00000c4e, - 0xc5500000c57, - 0xc5800000c5b, - 0xc5d00000c5e, - 0xc6000000c64, - 0xc6600000c70, - 0xc8000000c84, - 0xc8500000c8d, - 0xc8e00000c91, - 0xc9200000ca9, - 0xcaa00000cb4, - 0xcb500000cba, - 0xcbc00000cc5, - 0xcc600000cc9, - 0xcca00000cce, - 0xcd500000cd7, - 0xcdd00000cdf, - 0xce000000ce4, - 0xce600000cf0, - 0xcf100000cf4, - 0xd0000000d0d, - 0xd0e00000d11, - 0xd1200000d45, - 0xd4600000d49, - 0xd4a00000d4f, - 0xd5400000d58, - 0xd5f00000d64, - 0xd6600000d70, - 0xd7a00000d80, - 0xd8100000d84, - 0xd8500000d97, - 0xd9a00000db2, - 0xdb300000dbc, - 0xdbd00000dbe, - 0xdc000000dc7, - 0xdca00000dcb, - 0xdcf00000dd5, - 0xdd600000dd7, - 0xdd800000de0, - 0xde600000df0, - 0xdf200000df4, - 0xe0100000e33, - 0xe3400000e3b, - 0xe4000000e4f, - 0xe5000000e5a, - 0xe8100000e83, - 0xe8400000e85, - 0xe8600000e8b, - 0xe8c00000ea4, - 0xea500000ea6, - 0xea700000eb3, - 0xeb400000ebe, - 0xec000000ec5, - 0xec600000ec7, - 0xec800000ecf, - 0xed000000eda, - 0xede00000ee0, - 0xf0000000f01, - 0xf0b00000f0c, - 0xf1800000f1a, - 0xf2000000f2a, - 0xf3500000f36, - 0xf3700000f38, - 0xf3900000f3a, - 0xf3e00000f43, - 0xf4400000f48, - 0xf4900000f4d, - 0xf4e00000f52, - 0xf5300000f57, - 0xf5800000f5c, - 0xf5d00000f69, - 0xf6a00000f6d, - 0xf7100000f73, - 0xf7400000f75, - 0xf7a00000f81, - 0xf8200000f85, - 0xf8600000f93, - 0xf9400000f98, - 0xf9900000f9d, - 0xf9e00000fa2, - 0xfa300000fa7, - 0xfa800000fac, - 0xfad00000fb9, - 0xfba00000fbd, - 0xfc600000fc7, - 0x10000000104a, - 0x10500000109e, - 0x10d0000010fb, - 0x10fd00001100, - 0x120000001249, - 0x124a0000124e, - 0x125000001257, - 0x125800001259, - 0x125a0000125e, - 0x126000001289, - 0x128a0000128e, - 0x1290000012b1, - 0x12b2000012b6, - 0x12b8000012bf, - 0x12c0000012c1, - 0x12c2000012c6, - 0x12c8000012d7, - 0x12d800001311, - 0x131200001316, - 0x13180000135b, - 0x135d00001360, - 0x138000001390, - 0x13a0000013f6, - 0x14010000166d, - 0x166f00001680, - 0x16810000169b, - 0x16a0000016eb, - 0x16f1000016f9, - 0x170000001716, - 0x171f00001735, - 0x174000001754, - 0x17600000176d, - 0x176e00001771, - 0x177200001774, - 0x1780000017b4, - 0x17b6000017d4, - 0x17d7000017d8, - 0x17dc000017de, - 0x17e0000017ea, - 0x18100000181a, - 0x182000001879, - 0x1880000018ab, - 0x18b0000018f6, - 0x19000000191f, - 0x19200000192c, - 0x19300000193c, - 0x19460000196e, - 0x197000001975, - 0x1980000019ac, - 0x19b0000019ca, - 0x19d0000019da, - 0x1a0000001a1c, - 0x1a2000001a5f, - 0x1a6000001a7d, - 0x1a7f00001a8a, - 0x1a9000001a9a, - 0x1aa700001aa8, - 0x1ab000001abe, - 0x1abf00001acf, - 0x1b0000001b4d, - 0x1b5000001b5a, - 0x1b6b00001b74, - 0x1b8000001bf4, - 0x1c0000001c38, - 0x1c4000001c4a, - 0x1c4d00001c7e, - 0x1cd000001cd3, - 0x1cd400001cfb, - 0x1d0000001d2c, - 0x1d2f00001d30, - 0x1d3b00001d3c, - 0x1d4e00001d4f, - 0x1d6b00001d78, - 0x1d7900001d9b, - 0x1dc000001e00, - 0x1e0100001e02, - 0x1e0300001e04, - 0x1e0500001e06, - 0x1e0700001e08, - 0x1e0900001e0a, - 0x1e0b00001e0c, - 0x1e0d00001e0e, - 0x1e0f00001e10, - 0x1e1100001e12, - 0x1e1300001e14, - 0x1e1500001e16, - 0x1e1700001e18, - 0x1e1900001e1a, - 0x1e1b00001e1c, - 0x1e1d00001e1e, - 0x1e1f00001e20, - 0x1e2100001e22, - 0x1e2300001e24, - 0x1e2500001e26, - 0x1e2700001e28, - 0x1e2900001e2a, - 0x1e2b00001e2c, - 0x1e2d00001e2e, - 0x1e2f00001e30, - 0x1e3100001e32, - 0x1e3300001e34, - 0x1e3500001e36, - 0x1e3700001e38, - 0x1e3900001e3a, - 0x1e3b00001e3c, - 0x1e3d00001e3e, - 0x1e3f00001e40, - 0x1e4100001e42, - 0x1e4300001e44, - 0x1e4500001e46, - 0x1e4700001e48, - 0x1e4900001e4a, - 0x1e4b00001e4c, - 0x1e4d00001e4e, - 0x1e4f00001e50, - 0x1e5100001e52, - 0x1e5300001e54, - 0x1e5500001e56, - 0x1e5700001e58, - 0x1e5900001e5a, - 0x1e5b00001e5c, - 0x1e5d00001e5e, - 0x1e5f00001e60, - 0x1e6100001e62, - 0x1e6300001e64, - 0x1e6500001e66, - 0x1e6700001e68, - 0x1e6900001e6a, - 0x1e6b00001e6c, - 0x1e6d00001e6e, - 0x1e6f00001e70, - 0x1e7100001e72, - 0x1e7300001e74, - 0x1e7500001e76, - 0x1e7700001e78, - 0x1e7900001e7a, - 0x1e7b00001e7c, - 0x1e7d00001e7e, - 0x1e7f00001e80, - 0x1e8100001e82, - 0x1e8300001e84, - 0x1e8500001e86, - 0x1e8700001e88, - 0x1e8900001e8a, - 0x1e8b00001e8c, - 0x1e8d00001e8e, - 0x1e8f00001e90, - 0x1e9100001e92, - 0x1e9300001e94, - 0x1e9500001e9a, - 0x1e9c00001e9e, - 0x1e9f00001ea0, - 0x1ea100001ea2, - 0x1ea300001ea4, - 0x1ea500001ea6, - 0x1ea700001ea8, - 0x1ea900001eaa, - 0x1eab00001eac, - 0x1ead00001eae, - 0x1eaf00001eb0, - 0x1eb100001eb2, - 0x1eb300001eb4, - 0x1eb500001eb6, - 0x1eb700001eb8, - 0x1eb900001eba, - 0x1ebb00001ebc, - 0x1ebd00001ebe, - 0x1ebf00001ec0, - 0x1ec100001ec2, - 0x1ec300001ec4, - 0x1ec500001ec6, - 0x1ec700001ec8, - 0x1ec900001eca, - 0x1ecb00001ecc, - 0x1ecd00001ece, - 0x1ecf00001ed0, - 0x1ed100001ed2, - 0x1ed300001ed4, - 0x1ed500001ed6, - 0x1ed700001ed8, - 0x1ed900001eda, - 0x1edb00001edc, - 0x1edd00001ede, - 0x1edf00001ee0, - 0x1ee100001ee2, - 0x1ee300001ee4, - 0x1ee500001ee6, - 0x1ee700001ee8, - 0x1ee900001eea, - 0x1eeb00001eec, - 0x1eed00001eee, - 0x1eef00001ef0, - 0x1ef100001ef2, - 0x1ef300001ef4, - 0x1ef500001ef6, - 0x1ef700001ef8, - 0x1ef900001efa, - 0x1efb00001efc, - 0x1efd00001efe, - 0x1eff00001f08, - 0x1f1000001f16, - 0x1f2000001f28, - 0x1f3000001f38, - 0x1f4000001f46, - 0x1f5000001f58, - 0x1f6000001f68, - 0x1f7000001f71, - 0x1f7200001f73, - 0x1f7400001f75, - 0x1f7600001f77, - 0x1f7800001f79, - 0x1f7a00001f7b, - 0x1f7c00001f7d, - 0x1fb000001fb2, - 0x1fb600001fb7, - 0x1fc600001fc7, - 0x1fd000001fd3, - 0x1fd600001fd8, - 0x1fe000001fe3, - 0x1fe400001fe8, - 0x1ff600001ff7, - 0x214e0000214f, - 0x218400002185, - 0x2c3000002c60, - 0x2c6100002c62, - 0x2c6500002c67, - 0x2c6800002c69, - 0x2c6a00002c6b, - 0x2c6c00002c6d, - 0x2c7100002c72, - 0x2c7300002c75, - 0x2c7600002c7c, - 0x2c8100002c82, - 0x2c8300002c84, - 0x2c8500002c86, - 0x2c8700002c88, - 0x2c8900002c8a, - 0x2c8b00002c8c, - 0x2c8d00002c8e, - 0x2c8f00002c90, - 0x2c9100002c92, - 0x2c9300002c94, - 0x2c9500002c96, - 0x2c9700002c98, - 0x2c9900002c9a, - 0x2c9b00002c9c, - 0x2c9d00002c9e, - 0x2c9f00002ca0, - 0x2ca100002ca2, - 0x2ca300002ca4, - 0x2ca500002ca6, - 0x2ca700002ca8, - 0x2ca900002caa, - 0x2cab00002cac, - 0x2cad00002cae, - 0x2caf00002cb0, - 0x2cb100002cb2, - 0x2cb300002cb4, - 0x2cb500002cb6, - 0x2cb700002cb8, - 0x2cb900002cba, - 0x2cbb00002cbc, - 0x2cbd00002cbe, - 0x2cbf00002cc0, - 0x2cc100002cc2, - 0x2cc300002cc4, - 0x2cc500002cc6, - 0x2cc700002cc8, - 0x2cc900002cca, - 0x2ccb00002ccc, - 0x2ccd00002cce, - 0x2ccf00002cd0, - 0x2cd100002cd2, - 0x2cd300002cd4, - 0x2cd500002cd6, - 0x2cd700002cd8, - 0x2cd900002cda, - 0x2cdb00002cdc, - 0x2cdd00002cde, - 0x2cdf00002ce0, - 0x2ce100002ce2, - 0x2ce300002ce5, - 0x2cec00002ced, - 0x2cee00002cf2, - 0x2cf300002cf4, - 0x2d0000002d26, - 0x2d2700002d28, - 0x2d2d00002d2e, - 0x2d3000002d68, - 0x2d7f00002d97, - 0x2da000002da7, - 0x2da800002daf, - 0x2db000002db7, - 0x2db800002dbf, - 0x2dc000002dc7, - 0x2dc800002dcf, - 0x2dd000002dd7, - 0x2dd800002ddf, - 0x2de000002e00, - 0x2e2f00002e30, - 0x300500003008, - 0x302a0000302e, - 0x303c0000303d, - 0x304100003097, - 0x30990000309b, - 0x309d0000309f, - 0x30a1000030fb, - 0x30fc000030ff, - 0x310500003130, - 0x31a0000031c0, - 0x31f000003200, - 0x340000004dc0, - 0x4e000000a48d, - 0xa4d00000a4fe, - 0xa5000000a60d, - 0xa6100000a62c, - 0xa6410000a642, - 0xa6430000a644, - 0xa6450000a646, - 0xa6470000a648, - 0xa6490000a64a, - 0xa64b0000a64c, - 0xa64d0000a64e, - 0xa64f0000a650, - 0xa6510000a652, - 0xa6530000a654, - 0xa6550000a656, - 0xa6570000a658, - 0xa6590000a65a, - 0xa65b0000a65c, - 0xa65d0000a65e, - 0xa65f0000a660, - 0xa6610000a662, - 0xa6630000a664, - 0xa6650000a666, - 0xa6670000a668, - 0xa6690000a66a, - 0xa66b0000a66c, - 0xa66d0000a670, - 0xa6740000a67e, - 0xa67f0000a680, - 0xa6810000a682, - 0xa6830000a684, - 0xa6850000a686, - 0xa6870000a688, - 0xa6890000a68a, - 0xa68b0000a68c, - 0xa68d0000a68e, - 0xa68f0000a690, - 0xa6910000a692, - 0xa6930000a694, - 0xa6950000a696, - 0xa6970000a698, - 0xa6990000a69a, - 0xa69b0000a69c, - 0xa69e0000a6e6, - 0xa6f00000a6f2, - 0xa7170000a720, - 0xa7230000a724, - 0xa7250000a726, - 0xa7270000a728, - 0xa7290000a72a, - 0xa72b0000a72c, - 0xa72d0000a72e, - 0xa72f0000a732, - 0xa7330000a734, - 0xa7350000a736, - 0xa7370000a738, - 0xa7390000a73a, - 0xa73b0000a73c, - 0xa73d0000a73e, - 0xa73f0000a740, - 0xa7410000a742, - 0xa7430000a744, - 0xa7450000a746, - 0xa7470000a748, - 0xa7490000a74a, - 0xa74b0000a74c, - 0xa74d0000a74e, - 0xa74f0000a750, - 0xa7510000a752, - 0xa7530000a754, - 0xa7550000a756, - 0xa7570000a758, - 0xa7590000a75a, - 0xa75b0000a75c, - 0xa75d0000a75e, - 0xa75f0000a760, - 0xa7610000a762, - 0xa7630000a764, - 0xa7650000a766, - 0xa7670000a768, - 0xa7690000a76a, - 0xa76b0000a76c, - 0xa76d0000a76e, - 0xa76f0000a770, - 0xa7710000a779, - 0xa77a0000a77b, - 0xa77c0000a77d, - 0xa77f0000a780, - 0xa7810000a782, - 0xa7830000a784, - 0xa7850000a786, - 0xa7870000a789, - 0xa78c0000a78d, - 0xa78e0000a790, - 0xa7910000a792, - 0xa7930000a796, - 0xa7970000a798, - 0xa7990000a79a, - 0xa79b0000a79c, - 0xa79d0000a79e, - 0xa79f0000a7a0, - 0xa7a10000a7a2, - 0xa7a30000a7a4, - 0xa7a50000a7a6, - 0xa7a70000a7a8, - 0xa7a90000a7aa, - 0xa7af0000a7b0, - 0xa7b50000a7b6, - 0xa7b70000a7b8, - 0xa7b90000a7ba, - 0xa7bb0000a7bc, - 0xa7bd0000a7be, - 0xa7bf0000a7c0, - 0xa7c10000a7c2, - 0xa7c30000a7c4, - 0xa7c80000a7c9, - 0xa7ca0000a7cb, - 0xa7d10000a7d2, - 0xa7d30000a7d4, - 0xa7d50000a7d6, - 0xa7d70000a7d8, - 0xa7d90000a7da, - 0xa7f20000a7f5, - 0xa7f60000a7f8, - 0xa7fa0000a828, - 0xa82c0000a82d, - 0xa8400000a874, - 0xa8800000a8c6, - 0xa8d00000a8da, - 0xa8e00000a8f8, - 0xa8fb0000a8fc, - 0xa8fd0000a92e, - 0xa9300000a954, - 0xa9800000a9c1, - 0xa9cf0000a9da, - 0xa9e00000a9ff, - 0xaa000000aa37, - 0xaa400000aa4e, - 0xaa500000aa5a, - 0xaa600000aa77, - 0xaa7a0000aac3, - 0xaadb0000aade, - 0xaae00000aaf0, - 0xaaf20000aaf7, - 0xab010000ab07, - 0xab090000ab0f, - 0xab110000ab17, - 0xab200000ab27, - 0xab280000ab2f, - 0xab300000ab5b, - 0xab600000ab69, - 0xabc00000abeb, - 0xabec0000abee, - 0xabf00000abfa, - 0xac000000d7a4, - 0xfa0e0000fa10, - 0xfa110000fa12, - 0xfa130000fa15, - 0xfa1f0000fa20, - 0xfa210000fa22, - 0xfa230000fa25, - 0xfa270000fa2a, - 0xfb1e0000fb1f, - 0xfe200000fe30, - 0xfe730000fe74, - 0x100000001000c, - 0x1000d00010027, - 0x100280001003b, - 0x1003c0001003e, - 0x1003f0001004e, - 0x100500001005e, - 0x10080000100fb, - 0x101fd000101fe, - 0x102800001029d, - 0x102a0000102d1, - 0x102e0000102e1, - 0x1030000010320, - 0x1032d00010341, - 0x103420001034a, - 0x103500001037b, - 0x103800001039e, - 0x103a0000103c4, - 0x103c8000103d0, - 0x104280001049e, - 0x104a0000104aa, - 0x104d8000104fc, - 0x1050000010528, - 0x1053000010564, - 0x10597000105a2, - 0x105a3000105b2, - 0x105b3000105ba, - 0x105bb000105bd, - 0x1060000010737, - 0x1074000010756, - 0x1076000010768, - 0x1078000010786, - 0x10787000107b1, - 0x107b2000107bb, - 0x1080000010806, - 0x1080800010809, - 0x1080a00010836, - 0x1083700010839, - 0x1083c0001083d, - 0x1083f00010856, - 0x1086000010877, - 0x108800001089f, - 0x108e0000108f3, - 0x108f4000108f6, - 0x1090000010916, - 0x109200001093a, - 0x10980000109b8, - 0x109be000109c0, - 0x10a0000010a04, - 0x10a0500010a07, - 0x10a0c00010a14, - 0x10a1500010a18, - 0x10a1900010a36, - 0x10a3800010a3b, - 0x10a3f00010a40, - 0x10a6000010a7d, - 0x10a8000010a9d, - 0x10ac000010ac8, - 0x10ac900010ae7, - 0x10b0000010b36, - 0x10b4000010b56, - 0x10b6000010b73, - 0x10b8000010b92, - 0x10c0000010c49, - 0x10cc000010cf3, - 0x10d0000010d28, - 0x10d3000010d3a, - 0x10e8000010eaa, - 0x10eab00010ead, - 0x10eb000010eb2, - 0x10efd00010f1d, - 0x10f2700010f28, - 0x10f3000010f51, - 0x10f7000010f86, - 0x10fb000010fc5, - 0x10fe000010ff7, - 0x1100000011047, - 0x1106600011076, - 0x1107f000110bb, - 0x110c2000110c3, - 0x110d0000110e9, - 0x110f0000110fa, - 0x1110000011135, - 0x1113600011140, - 0x1114400011148, - 0x1115000011174, - 0x1117600011177, - 0x11180000111c5, - 0x111c9000111cd, - 0x111ce000111db, - 0x111dc000111dd, - 0x1120000011212, - 0x1121300011238, - 0x1123e00011242, - 0x1128000011287, - 0x1128800011289, - 0x1128a0001128e, - 0x1128f0001129e, - 0x1129f000112a9, - 0x112b0000112eb, - 0x112f0000112fa, - 0x1130000011304, - 0x113050001130d, - 0x1130f00011311, - 0x1131300011329, - 0x1132a00011331, - 0x1133200011334, - 0x113350001133a, - 0x1133b00011345, - 0x1134700011349, - 0x1134b0001134e, - 0x1135000011351, - 0x1135700011358, - 0x1135d00011364, - 0x113660001136d, - 0x1137000011375, - 0x114000001144b, - 0x114500001145a, - 0x1145e00011462, - 0x11480000114c6, - 0x114c7000114c8, - 0x114d0000114da, - 0x11580000115b6, - 0x115b8000115c1, - 0x115d8000115de, - 0x1160000011641, - 0x1164400011645, - 0x116500001165a, - 0x11680000116b9, - 0x116c0000116ca, - 0x117000001171b, - 0x1171d0001172c, - 0x117300001173a, - 0x1174000011747, - 0x118000001183b, - 0x118c0000118ea, - 0x118ff00011907, - 0x119090001190a, - 0x1190c00011914, - 0x1191500011917, - 0x1191800011936, - 0x1193700011939, - 0x1193b00011944, - 0x119500001195a, - 0x119a0000119a8, - 0x119aa000119d8, - 0x119da000119e2, - 0x119e3000119e5, - 0x11a0000011a3f, - 0x11a4700011a48, - 0x11a5000011a9a, - 0x11a9d00011a9e, - 0x11ab000011af9, - 0x11c0000011c09, - 0x11c0a00011c37, - 0x11c3800011c41, - 0x11c5000011c5a, - 0x11c7200011c90, - 0x11c9200011ca8, - 0x11ca900011cb7, - 0x11d0000011d07, - 0x11d0800011d0a, - 0x11d0b00011d37, - 0x11d3a00011d3b, - 0x11d3c00011d3e, - 0x11d3f00011d48, - 0x11d5000011d5a, - 0x11d6000011d66, - 0x11d6700011d69, - 0x11d6a00011d8f, - 0x11d9000011d92, - 0x11d9300011d99, - 0x11da000011daa, - 0x11ee000011ef7, - 0x11f0000011f11, - 0x11f1200011f3b, - 0x11f3e00011f43, - 0x11f5000011f5a, - 0x11fb000011fb1, - 0x120000001239a, - 0x1248000012544, - 0x12f9000012ff1, - 0x1300000013430, - 0x1344000013456, - 0x1440000014647, - 0x1680000016a39, - 0x16a4000016a5f, - 0x16a6000016a6a, - 0x16a7000016abf, - 0x16ac000016aca, - 0x16ad000016aee, - 0x16af000016af5, - 0x16b0000016b37, - 0x16b4000016b44, - 0x16b5000016b5a, - 0x16b6300016b78, - 0x16b7d00016b90, - 0x16e6000016e80, - 0x16f0000016f4b, - 0x16f4f00016f88, - 0x16f8f00016fa0, - 0x16fe000016fe2, - 0x16fe300016fe5, - 0x16ff000016ff2, - 0x17000000187f8, - 0x1880000018cd6, - 0x18d0000018d09, - 0x1aff00001aff4, - 0x1aff50001affc, - 0x1affd0001afff, - 0x1b0000001b123, - 0x1b1320001b133, - 0x1b1500001b153, - 0x1b1550001b156, - 0x1b1640001b168, - 0x1b1700001b2fc, - 0x1bc000001bc6b, - 0x1bc700001bc7d, - 0x1bc800001bc89, - 0x1bc900001bc9a, - 0x1bc9d0001bc9f, - 0x1cf000001cf2e, - 0x1cf300001cf47, - 0x1da000001da37, - 0x1da3b0001da6d, - 0x1da750001da76, - 0x1da840001da85, - 0x1da9b0001daa0, - 0x1daa10001dab0, - 0x1df000001df1f, - 0x1df250001df2b, - 0x1e0000001e007, - 0x1e0080001e019, - 0x1e01b0001e022, - 0x1e0230001e025, - 0x1e0260001e02b, - 0x1e0300001e06e, - 0x1e08f0001e090, - 0x1e1000001e12d, - 0x1e1300001e13e, - 0x1e1400001e14a, - 0x1e14e0001e14f, - 0x1e2900001e2af, - 0x1e2c00001e2fa, - 0x1e4d00001e4fa, - 0x1e7e00001e7e7, - 0x1e7e80001e7ec, - 0x1e7ed0001e7ef, - 0x1e7f00001e7ff, - 0x1e8000001e8c5, - 0x1e8d00001e8d7, - 0x1e9220001e94c, - 0x1e9500001e95a, - 0x200000002a6e0, - 0x2a7000002b73a, - 0x2b7400002b81e, - 0x2b8200002cea2, - 0x2ceb00002ebe1, - 0x2ebf00002ee5e, - 0x300000003134b, - 0x31350000323b0, - ], - "CONTEXTO" => [ - 0xb7000000b8, - 0x37500000376, - 0x5f3000005f5, - 0x6600000066a, - 0x6f0000006fa, - 0x30fb000030fc, - ], - "CONTEXTJ" => [ - 0x200c0000200e, - ], - }.freeze - INITIAL_COMBINERS = [ - 0x30000000370, - 0x4830000048a, - 0x591000005be, - 0x5bf000005c0, - 0x5c1000005c3, - 0x5c4000005c6, - 0x5c7000005c8, - 0x6100000061b, - 0x64b00000660, - 0x67000000671, - 0x6d6000006dd, - 0x6df000006e5, - 0x6e7000006e9, - 0x6ea000006ee, - 0x71100000712, - 0x7300000074b, - 0x7a6000007b1, - 0x7eb000007f4, - 0x7fd000007fe, - 0x8160000081a, - 0x81b00000824, - 0x82500000828, - 0x8290000082e, - 0x8590000085c, - 0x898000008a0, - 0x8ca000008e2, - 0x8e300000904, - 0x93a0000093d, - 0x93e00000950, - 0x95100000958, - 0x96200000964, - 0x98100000984, - 0x9bc000009bd, - 0x9be000009c5, - 0x9c7000009c9, - 0x9cb000009ce, - 0x9d7000009d8, - 0x9e2000009e4, - 0x9fe000009ff, - 0xa0100000a04, - 0xa3c00000a3d, - 0xa3e00000a43, - 0xa4700000a49, - 0xa4b00000a4e, - 0xa5100000a52, - 0xa7000000a72, - 0xa7500000a76, - 0xa8100000a84, - 0xabc00000abd, - 0xabe00000ac6, - 0xac700000aca, - 0xacb00000ace, - 0xae200000ae4, - 0xafa00000b00, - 0xb0100000b04, - 0xb3c00000b3d, - 0xb3e00000b45, - 0xb4700000b49, - 0xb4b00000b4e, - 0xb5500000b58, - 0xb6200000b64, - 0xb8200000b83, - 0xbbe00000bc3, - 0xbc600000bc9, - 0xbca00000bce, - 0xbd700000bd8, - 0xc0000000c05, - 0xc3c00000c3d, - 0xc3e00000c45, - 0xc4600000c49, - 0xc4a00000c4e, - 0xc5500000c57, - 0xc6200000c64, - 0xc8100000c84, - 0xcbc00000cbd, - 0xcbe00000cc5, - 0xcc600000cc9, - 0xcca00000cce, - 0xcd500000cd7, - 0xce200000ce4, - 0xcf300000cf4, - 0xd0000000d04, - 0xd3b00000d3d, - 0xd3e00000d45, - 0xd4600000d49, - 0xd4a00000d4e, - 0xd5700000d58, - 0xd6200000d64, - 0xd8100000d84, - 0xdca00000dcb, - 0xdcf00000dd5, - 0xdd600000dd7, - 0xdd800000de0, - 0xdf200000df4, - 0xe3100000e32, - 0xe3400000e3b, - 0xe4700000e4f, - 0xeb100000eb2, - 0xeb400000ebd, - 0xec800000ecf, - 0xf1800000f1a, - 0xf3500000f36, - 0xf3700000f38, - 0xf3900000f3a, - 0xf3e00000f40, - 0xf7100000f85, - 0xf8600000f88, - 0xf8d00000f98, - 0xf9900000fbd, - 0xfc600000fc7, - 0x102b0000103f, - 0x10560000105a, - 0x105e00001061, - 0x106200001065, - 0x10670000106e, - 0x107100001075, - 0x10820000108e, - 0x108f00001090, - 0x109a0000109e, - 0x135d00001360, - 0x171200001716, - 0x173200001735, - 0x175200001754, - 0x177200001774, - 0x17b4000017d4, - 0x17dd000017de, - 0x180b0000180e, - 0x180f00001810, - 0x188500001887, - 0x18a9000018aa, - 0x19200000192c, - 0x19300000193c, - 0x1a1700001a1c, - 0x1a5500001a5f, - 0x1a6000001a7d, - 0x1a7f00001a80, - 0x1ab000001acf, - 0x1b0000001b05, - 0x1b3400001b45, - 0x1b6b00001b74, - 0x1b8000001b83, - 0x1ba100001bae, - 0x1be600001bf4, - 0x1c2400001c38, - 0x1cd000001cd3, - 0x1cd400001ce9, - 0x1ced00001cee, - 0x1cf400001cf5, - 0x1cf700001cfa, - 0x1dc000001e00, - 0x20d0000020f1, - 0x2cef00002cf2, - 0x2d7f00002d80, - 0x2de000002e00, - 0x302a00003030, - 0x30990000309b, - 0xa66f0000a673, - 0xa6740000a67e, - 0xa69e0000a6a0, - 0xa6f00000a6f2, - 0xa8020000a803, - 0xa8060000a807, - 0xa80b0000a80c, - 0xa8230000a828, - 0xa82c0000a82d, - 0xa8800000a882, - 0xa8b40000a8c6, - 0xa8e00000a8f2, - 0xa8ff0000a900, - 0xa9260000a92e, - 0xa9470000a954, - 0xa9800000a984, - 0xa9b30000a9c1, - 0xa9e50000a9e6, - 0xaa290000aa37, - 0xaa430000aa44, - 0xaa4c0000aa4e, - 0xaa7b0000aa7e, - 0xaab00000aab1, - 0xaab20000aab5, - 0xaab70000aab9, - 0xaabe0000aac0, - 0xaac10000aac2, - 0xaaeb0000aaf0, - 0xaaf50000aaf7, - 0xabe30000abeb, - 0xabec0000abee, - 0xfb1e0000fb1f, - 0xfe000000fe10, - 0xfe200000fe30, - 0x101fd000101fe, - 0x102e0000102e1, - 0x103760001037b, - 0x10a0100010a04, - 0x10a0500010a07, - 0x10a0c00010a10, - 0x10a3800010a3b, - 0x10a3f00010a40, - 0x10ae500010ae7, - 0x10d2400010d28, - 0x10eab00010ead, - 0x10efd00010f00, - 0x10f4600010f51, - 0x10f8200010f86, - 0x1100000011003, - 0x1103800011047, - 0x1107000011071, - 0x1107300011075, - 0x1107f00011083, - 0x110b0000110bb, - 0x110c2000110c3, - 0x1110000011103, - 0x1112700011135, - 0x1114500011147, - 0x1117300011174, - 0x1118000011183, - 0x111b3000111c1, - 0x111c9000111cd, - 0x111ce000111d0, - 0x1122c00011238, - 0x1123e0001123f, - 0x1124100011242, - 0x112df000112eb, - 0x1130000011304, - 0x1133b0001133d, - 0x1133e00011345, - 0x1134700011349, - 0x1134b0001134e, - 0x1135700011358, - 0x1136200011364, - 0x113660001136d, - 0x1137000011375, - 0x1143500011447, - 0x1145e0001145f, - 0x114b0000114c4, - 0x115af000115b6, - 0x115b8000115c1, - 0x115dc000115de, - 0x1163000011641, - 0x116ab000116b8, - 0x1171d0001172c, - 0x1182c0001183b, - 0x1193000011936, - 0x1193700011939, - 0x1193b0001193f, - 0x1194000011941, - 0x1194200011944, - 0x119d1000119d8, - 0x119da000119e1, - 0x119e4000119e5, - 0x11a0100011a0b, - 0x11a3300011a3a, - 0x11a3b00011a3f, - 0x11a4700011a48, - 0x11a5100011a5c, - 0x11a8a00011a9a, - 0x11c2f00011c37, - 0x11c3800011c40, - 0x11c9200011ca8, - 0x11ca900011cb7, - 0x11d3100011d37, - 0x11d3a00011d3b, - 0x11d3c00011d3e, - 0x11d3f00011d46, - 0x11d4700011d48, - 0x11d8a00011d8f, - 0x11d9000011d92, - 0x11d9300011d98, - 0x11ef300011ef7, - 0x11f0000011f02, - 0x11f0300011f04, - 0x11f3400011f3b, - 0x11f3e00011f43, - 0x1344000013441, - 0x1344700013456, - 0x16af000016af5, - 0x16b3000016b37, - 0x16f4f00016f50, - 0x16f5100016f88, - 0x16f8f00016f93, - 0x16fe400016fe5, - 0x16ff000016ff2, - 0x1bc9d0001bc9f, - 0x1cf000001cf2e, - 0x1cf300001cf47, - 0x1d1650001d16a, - 0x1d16d0001d173, - 0x1d17b0001d183, - 0x1d1850001d18c, - 0x1d1aa0001d1ae, - 0x1d2420001d245, - 0x1da000001da37, - 0x1da3b0001da6d, - 0x1da750001da76, - 0x1da840001da85, - 0x1da9b0001daa0, - 0x1daa10001dab0, - 0x1e0000001e007, - 0x1e0080001e019, - 0x1e01b0001e022, - 0x1e0230001e025, - 0x1e0260001e02b, - 0x1e08f0001e090, - 0x1e1300001e137, - 0x1e2ae0001e2af, - 0x1e2ec0001e2f0, - 0x1e4ec0001e4f0, - 0x1e8d00001e8d7, - 0x1e9440001e94b, - 0xe0100000e01f0, - ].freeze - VIRAMA_COMBINING_CLASSES = [ - 0x94d0000094e, - 0x9cd000009ce, - 0xa4d00000a4e, - 0xacd00000ace, - 0xb4d00000b4e, - 0xbcd00000bce, - 0xc4d00000c4e, - 0xccd00000cce, - 0xd3b00000d3d, - 0xd4d00000d4e, - 0xdca00000dcb, - 0xe3a00000e3b, - 0xeba00000ebb, - 0xf8400000f85, - 0x10390000103b, - 0x171400001716, - 0x173400001735, - 0x17d2000017d3, - 0x1a6000001a61, - 0x1b4400001b45, - 0x1baa00001bac, - 0x1bf200001bf4, - 0x2d7f00002d80, - 0xa8060000a807, - 0xa82c0000a82d, - 0xa8c40000a8c5, - 0xa9530000a954, - 0xa9c00000a9c1, - 0xaaf60000aaf7, - 0xabed0000abee, - 0x10a3f00010a40, - 0x1104600011047, - 0x1107000011071, - 0x1107f00011080, - 0x110b9000110ba, - 0x1113300011135, - 0x111c0000111c1, - 0x1123500011236, - 0x112ea000112eb, - 0x1134d0001134e, - 0x1144200011443, - 0x114c2000114c3, - 0x115bf000115c0, - 0x1163f00011640, - 0x116b6000116b7, - 0x1172b0001172c, - 0x118390001183a, - 0x1193d0001193f, - 0x119e0000119e1, - 0x11a3400011a35, - 0x11a4700011a48, - 0x11a9900011a9a, - 0x11c3f00011c40, - 0x11d4400011d46, - 0x11d9700011d98, - 0x11f4100011f43, - ].freeze - BIDI_CLASSES = { - "OTHER" => [ - 0x9, - 0xe0000001c, - 0x2100000030, - 0x3a00000041, - 0x5b00000061, - 0x7b00000085, - 0x86000000aa, - 0xab000000b2, - 0xb4000000b5, - 0xb6000000b9, - 0xbb000000c0, - 0xd7000000d8, - 0xf7000000f8, - 0x2b9000002bb, - 0x2c2000002d0, - 0x2d2000002e0, - 0x2e5000002ee, - 0x2ef00000300, - 0x37400000376, - 0x37e0000037f, - 0x38400000386, - 0x38700000388, - 0x3f6000003f7, - 0x58a0000058b, - 0x58d00000590, - 0x60600000608, - 0x6090000060b, - 0x60c0000060d, - 0x60e00000610, - 0x66a0000066b, - 0x6de000006df, - 0x6e9000006ea, - 0x7f6000007fa, - 0x9f2000009f4, - 0x9fb000009fc, - 0xaf100000af2, - 0xbf300000bfb, - 0xc7800000c7f, - 0xe3f00000e40, - 0xf3a00000f3e, - 0x13900000139a, - 0x140000001401, - 0x169b0000169d, - 0x17db000017dc, - 0x17f0000017fa, - 0x18000000180b, - 0x180e0000180f, - 0x194000001941, - 0x194400001946, - 0x19de00001a00, - 0x1fbd00001fbe, - 0x1fbf00001fc2, - 0x1fcd00001fd0, - 0x1fdd00001fe0, - 0x1fed00001ff0, - 0x1ffd00001fff, - 0x200b0000200e, - 0x201000002028, - 0x202f0000205f, - 0x206000002065, - 0x206a00002070, - 0x207a0000207f, - 0x208a0000208f, - 0x20a0000020c1, - 0x210000002102, - 0x210300002107, - 0x21080000210a, - 0x211400002115, - 0x211600002119, - 0x211e00002124, - 0x212500002126, - 0x212700002128, - 0x21290000212a, - 0x212e0000212f, - 0x213a0000213c, - 0x214000002145, - 0x214a0000214e, - 0x215000002160, - 0x21890000218c, - 0x219000002336, - 0x237b00002395, - 0x239600002427, - 0x24400000244b, - 0x246000002488, - 0x24ea000026ac, - 0x26ad00002800, - 0x290000002b74, - 0x2b7600002b96, - 0x2b9700002c00, - 0x2ce500002ceb, - 0x2cf900002d00, - 0x2e0000002e5e, - 0x2e8000002e9a, - 0x2e9b00002ef4, - 0x2f0000002fd6, - 0x2ff000003000, - 0x300100003005, - 0x300800003021, - 0x303000003031, - 0x303600003038, - 0x303d00003040, - 0x309b0000309d, - 0x30a0000030a1, - 0x30fb000030fc, - 0x31c0000031e4, - 0x31ef000031f0, - 0x321d0000321f, - 0x325000003260, - 0x327c0000327f, - 0x32b1000032c0, - 0x32cc000032d0, - 0x33770000337b, - 0x33de000033e0, - 0x33ff00003400, - 0x4dc000004e00, - 0xa4900000a4c7, - 0xa60d0000a610, - 0xa6730000a674, - 0xa67e0000a680, - 0xa7000000a722, - 0xa7880000a789, - 0xa8280000a82c, - 0xa8380000a83a, - 0xa8740000a878, - 0xab6a0000ab6c, - 0xfb290000fb2a, - 0xfd3e0000fd50, - 0xfdcf0000fdd0, - 0xfdfd0000fe00, - 0xfe100000fe1a, - 0xfe300000fe53, - 0xfe540000fe67, - 0xfe680000fe6c, - 0xfeff0000ff00, - 0xff010000ff10, - 0xff1a0000ff21, - 0xff3b0000ff41, - 0xff5b0000ff66, - 0xffe00000ffe7, - 0xffe80000ffef, - 0xfff90000fffe, - 0x1010100010102, - 0x101400001018d, - 0x101900001019d, - 0x101a0000101a1, - 0x1091f00010920, - 0x10b3900010b40, - 0x1105200011066, - 0x116600001166d, - 0x11fd500011ff2, - 0x16fe200016fe3, - 0x1bca00001bca4, - 0x1d1730001d17b, - 0x1d1e90001d1eb, - 0x1d2000001d242, - 0x1d2450001d246, - 0x1d3000001d357, - 0x1d6db0001d6dc, - 0x1d7150001d716, - 0x1d74f0001d750, - 0x1d7890001d78a, - 0x1d7c30001d7c4, - 0x1e2ff0001e300, - 0x1eef00001eef2, - 0x1f0000001f02c, - 0x1f0300001f094, - 0x1f0a00001f0af, - 0x1f0b10001f0c0, - 0x1f0c10001f0d0, - 0x1f0d10001f0f6, - 0x1f10b0001f110, - 0x1f12f0001f130, - 0x1f16a0001f170, - 0x1f1ad0001f1ae, - 0x1f2600001f266, - 0x1f3000001f6d8, - 0x1f6dc0001f6ed, - 0x1f6f00001f6fd, - 0x1f7000001f777, - 0x1f77b0001f7da, - 0x1f7e00001f7ec, - 0x1f7f00001f7f1, - 0x1f8000001f80c, - 0x1f8100001f848, - 0x1f8500001f85a, - 0x1f8600001f888, - 0x1f8900001f8ae, - 0x1f8b00001f8b2, - 0x1f9000001fa54, - 0x1fa600001fa6e, - 0x1fa700001fa7d, - 0x1fa800001fa89, - 0x1fa900001fabe, - 0x1fabf0001fac6, - 0x1face0001fadc, - 0x1fae00001fae9, - 0x1faf00001faf9, - 0x1fb000001fb93, - 0x1fb940001fbcb, - 0xe0001000e0002, - 0xe0020000e0080, - ], - "UNUSED" => [ - 0x90000000e, - 0x1c00000021, - 0x8500000086, - 0x3780000037a, - 0x38000000384, - 0x38b0000038c, - 0x38d0000038e, - 0x3a2000003a3, - 0x53000000531, - 0x55700000559, - 0x58b0000058d, - 0x59000000591, - 0x5c8000005d0, - 0x5eb000005ef, - 0x5f500000600, - 0x70e0000070f, - 0x74b0000074d, - 0x7b2000007c0, - 0x7fb000007fd, - 0x82e00000830, - 0x83f00000840, - 0x85c0000085e, - 0x85f00000860, - 0x86b00000870, - 0x88f00000890, - 0x89200000898, - 0x98400000985, - 0x98d0000098f, - 0x99100000993, - 0x9a9000009aa, - 0x9b1000009b2, - 0x9b3000009b6, - 0x9ba000009bc, - 0x9c5000009c7, - 0x9c9000009cb, - 0x9cf000009d7, - 0x9d8000009dc, - 0x9de000009df, - 0x9e4000009e6, - 0x9ff00000a01, - 0xa0400000a05, - 0xa0b00000a0f, - 0xa1100000a13, - 0xa2900000a2a, - 0xa3100000a32, - 0xa3400000a35, - 0xa3700000a38, - 0xa3a00000a3c, - 0xa3d00000a3e, - 0xa4300000a47, - 0xa4900000a4b, - 0xa4e00000a51, - 0xa5200000a59, - 0xa5d00000a5e, - 0xa5f00000a66, - 0xa7700000a81, - 0xa8400000a85, - 0xa8e00000a8f, - 0xa9200000a93, - 0xaa900000aaa, - 0xab100000ab2, - 0xab400000ab5, - 0xaba00000abc, - 0xac600000ac7, - 0xaca00000acb, - 0xace00000ad0, - 0xad100000ae0, - 0xae400000ae6, - 0xaf200000af9, - 0xb0000000b01, - 0xb0400000b05, - 0xb0d00000b0f, - 0xb1100000b13, - 0xb2900000b2a, - 0xb3100000b32, - 0xb3400000b35, - 0xb3a00000b3c, - 0xb4500000b47, - 0xb4900000b4b, - 0xb4e00000b55, - 0xb5800000b5c, - 0xb5e00000b5f, - 0xb6400000b66, - 0xb7800000b82, - 0xb8400000b85, - 0xb8b00000b8e, - 0xb9100000b92, - 0xb9600000b99, - 0xb9b00000b9c, - 0xb9d00000b9e, - 0xba000000ba3, - 0xba500000ba8, - 0xbab00000bae, - 0xbba00000bbe, - 0xbc300000bc6, - 0xbc900000bca, - 0xbce00000bd0, - 0xbd100000bd7, - 0xbd800000be6, - 0xbfb00000c00, - 0xc0d00000c0e, - 0xc1100000c12, - 0xc2900000c2a, - 0xc3a00000c3c, - 0xc4500000c46, - 0xc4900000c4a, - 0xc4e00000c55, - 0xc5700000c58, - 0xc5b00000c5d, - 0xc5e00000c60, - 0xc6400000c66, - 0xc7000000c77, - 0xc8d00000c8e, - 0xc9100000c92, - 0xca900000caa, - 0xcb400000cb5, - 0xcba00000cbc, - 0xcc500000cc6, - 0xcc900000cca, - 0xcce00000cd5, - 0xcd700000cdd, - 0xcdf00000ce0, - 0xce400000ce6, - 0xcf000000cf1, - 0xcf400000d00, - 0xd0d00000d0e, - 0xd1100000d12, - 0xd4500000d46, - 0xd4900000d4a, - 0xd5000000d54, - 0xd6400000d66, - 0xd8000000d81, - 0xd8400000d85, - 0xd9700000d9a, - 0xdb200000db3, - 0xdbc00000dbd, - 0xdbe00000dc0, - 0xdc700000dca, - 0xdcb00000dcf, - 0xdd500000dd6, - 0xdd700000dd8, - 0xde000000de6, - 0xdf000000df2, - 0xdf500000e01, - 0xe3b00000e3f, - 0xe5c00000e81, - 0xe8300000e84, - 0xe8500000e86, - 0xe8b00000e8c, - 0xea400000ea5, - 0xea600000ea7, - 0xebe00000ec0, - 0xec500000ec6, - 0xec700000ec8, - 0xecf00000ed0, - 0xeda00000edc, - 0xee000000f00, - 0xf4800000f49, - 0xf6d00000f71, - 0xf9800000f99, - 0xfbd00000fbe, - 0xfcd00000fce, - 0xfdb00001000, - 0x10c6000010c7, - 0x10c8000010cd, - 0x10ce000010d0, - 0x12490000124a, - 0x124e00001250, - 0x125700001258, - 0x12590000125a, - 0x125e00001260, - 0x12890000128a, - 0x128e00001290, - 0x12b1000012b2, - 0x12b6000012b8, - 0x12bf000012c0, - 0x12c1000012c2, - 0x12c6000012c8, - 0x12d7000012d8, - 0x131100001312, - 0x131600001318, - 0x135b0000135d, - 0x137d00001380, - 0x139a000013a0, - 0x13f6000013f8, - 0x13fe00001400, - 0x168000001681, - 0x169d000016a0, - 0x16f900001700, - 0x17160000171f, - 0x173700001740, - 0x175400001760, - 0x176d0000176e, - 0x177100001772, - 0x177400001780, - 0x17de000017e0, - 0x17ea000017f0, - 0x17fa00001800, - 0x181a00001820, - 0x187900001880, - 0x18ab000018b0, - 0x18f600001900, - 0x191f00001920, - 0x192c00001930, - 0x193c00001940, - 0x194100001944, - 0x196e00001970, - 0x197500001980, - 0x19ac000019b0, - 0x19ca000019d0, - 0x19db000019de, - 0x1a1c00001a1e, - 0x1a5f00001a60, - 0x1a7d00001a7f, - 0x1a8a00001a90, - 0x1a9a00001aa0, - 0x1aae00001ab0, - 0x1acf00001b00, - 0x1b4d00001b50, - 0x1b7f00001b80, - 0x1bf400001bfc, - 0x1c3800001c3b, - 0x1c4a00001c4d, - 0x1c8900001c90, - 0x1cbb00001cbd, - 0x1cc800001cd0, - 0x1cfb00001d00, - 0x1f1600001f18, - 0x1f1e00001f20, - 0x1f4600001f48, - 0x1f4e00001f50, - 0x1f5800001f59, - 0x1f5a00001f5b, - 0x1f5c00001f5d, - 0x1f5e00001f5f, - 0x1f7e00001f80, - 0x1fb500001fb6, - 0x1fc500001fc6, - 0x1fd400001fd6, - 0x1fdc00001fdd, - 0x1ff000001ff2, - 0x1ff500001ff6, - 0x1fff0000200b, - 0x20280000202f, - 0x205f00002060, - 0x20650000206a, - 0x207200002074, - 0x208f00002090, - 0x209d000020a0, - 0x20c1000020d0, - 0x20f100002100, - 0x218c00002190, - 0x242700002440, - 0x244b00002460, - 0x2b7400002b76, - 0x2b9600002b97, - 0x2cf400002cf9, - 0x2d2600002d27, - 0x2d2800002d2d, - 0x2d2e00002d30, - 0x2d6800002d6f, - 0x2d7100002d7f, - 0x2d9700002da0, - 0x2da700002da8, - 0x2daf00002db0, - 0x2db700002db8, - 0x2dbf00002dc0, - 0x2dc700002dc8, - 0x2dcf00002dd0, - 0x2dd700002dd8, - 0x2ddf00002de0, - 0x2e5e00002e80, - 0x2e9a00002e9b, - 0x2ef400002f00, - 0x2fd600002ff0, - 0x300000003001, - 0x304000003041, - 0x309700003099, - 0x310000003105, - 0x313000003131, - 0x318f00003190, - 0x31e4000031ef, - 0x321f00003220, - 0xa48d0000a490, - 0xa4c70000a4d0, - 0xa62c0000a640, - 0xa6f80000a700, - 0xa7cb0000a7d0, - 0xa7d20000a7d3, - 0xa7d40000a7d5, - 0xa7da0000a7f2, - 0xa82d0000a830, - 0xa83a0000a840, - 0xa8780000a880, - 0xa8c60000a8ce, - 0xa8da0000a8e0, - 0xa9540000a95f, - 0xa97d0000a980, - 0xa9ce0000a9cf, - 0xa9da0000a9de, - 0xa9ff0000aa00, - 0xaa370000aa40, - 0xaa4e0000aa50, - 0xaa5a0000aa5c, - 0xaac30000aadb, - 0xaaf70000ab01, - 0xab070000ab09, - 0xab0f0000ab11, - 0xab170000ab20, - 0xab270000ab28, - 0xab2f0000ab30, - 0xab6c0000ab70, - 0xabee0000abf0, - 0xabfa0000ac00, - 0xd7a40000d7b0, - 0xd7c70000d7cb, - 0xd7fc0000d800, - 0xfa6e0000fa70, - 0xfada0000fb00, - 0xfb070000fb13, - 0xfb180000fb1d, - 0xfb370000fb38, - 0xfb3d0000fb3e, - 0xfb3f0000fb40, - 0xfb420000fb43, - 0xfb450000fb46, - 0xfbc30000fbd3, - 0xfd900000fd92, - 0xfdc80000fdcf, - 0xfdd00000fdf0, - 0xfe1a0000fe20, - 0xfe530000fe54, - 0xfe670000fe68, - 0xfe6c0000fe70, - 0xfe750000fe76, - 0xfefd0000feff, - 0xff000000ff01, - 0xffbf0000ffc2, - 0xffc80000ffca, - 0xffd00000ffd2, - 0xffd80000ffda, - 0xffdd0000ffe0, - 0xffe70000ffe8, - 0xffef0000fff9, - 0xfffe00010000, - 0x1000c0001000d, - 0x1002700010028, - 0x1003b0001003c, - 0x1003e0001003f, - 0x1004e00010050, - 0x1005e00010080, - 0x100fb00010100, - 0x1010300010107, - 0x1013400010137, - 0x1018f00010190, - 0x1019d000101a0, - 0x101a1000101d0, - 0x101fe00010280, - 0x1029d000102a0, - 0x102d1000102e0, - 0x102fc00010300, - 0x103240001032d, - 0x1034b00010350, - 0x1037b00010380, - 0x1039e0001039f, - 0x103c4000103c8, - 0x103d600010400, - 0x1049e000104a0, - 0x104aa000104b0, - 0x104d4000104d8, - 0x104fc00010500, - 0x1052800010530, - 0x105640001056f, - 0x1057b0001057c, - 0x1058b0001058c, - 0x1059300010594, - 0x1059600010597, - 0x105a2000105a3, - 0x105b2000105b3, - 0x105ba000105bb, - 0x105bd00010600, - 0x1073700010740, - 0x1075600010760, - 0x1076800010780, - 0x1078600010787, - 0x107b1000107b2, - 0x107bb00010800, - 0x1080600010808, - 0x108090001080a, - 0x1083600010837, - 0x108390001083c, - 0x1083d0001083f, - 0x1085600010857, - 0x1089f000108a7, - 0x108b0000108e0, - 0x108f3000108f4, - 0x108f6000108fb, - 0x1091c0001091f, - 0x1093a0001093f, - 0x1094000010980, - 0x109b8000109bc, - 0x109d0000109d2, - 0x10a0400010a05, - 0x10a0700010a0c, - 0x10a1400010a15, - 0x10a1800010a19, - 0x10a3600010a38, - 0x10a3b00010a3f, - 0x10a4900010a50, - 0x10a5900010a60, - 0x10aa000010ac0, - 0x10ae700010aeb, - 0x10af700010b00, - 0x10b3600010b39, - 0x10b5600010b58, - 0x10b7300010b78, - 0x10b9200010b99, - 0x10b9d00010ba9, - 0x10bb000010c00, - 0x10c4900010c80, - 0x10cb300010cc0, - 0x10cf300010cfa, - 0x10d2800010d30, - 0x10d3a00010e60, - 0x10e7f00010e80, - 0x10eaa00010eab, - 0x10eae00010eb0, - 0x10eb200010efd, - 0x10f2800010f30, - 0x10f5a00010f70, - 0x10f8a00010fb0, - 0x10fcc00010fe0, - 0x10ff700011000, - 0x1104e00011052, - 0x110760001107f, - 0x110c3000110cd, - 0x110ce000110d0, - 0x110e9000110f0, - 0x110fa00011100, - 0x1113500011136, - 0x1114800011150, - 0x1117700011180, - 0x111e0000111e1, - 0x111f500011200, - 0x1121200011213, - 0x1124200011280, - 0x1128700011288, - 0x112890001128a, - 0x1128e0001128f, - 0x1129e0001129f, - 0x112aa000112b0, - 0x112eb000112f0, - 0x112fa00011300, - 0x1130400011305, - 0x1130d0001130f, - 0x1131100011313, - 0x113290001132a, - 0x1133100011332, - 0x1133400011335, - 0x1133a0001133b, - 0x1134500011347, - 0x113490001134b, - 0x1134e00011350, - 0x1135100011357, - 0x113580001135d, - 0x1136400011366, - 0x1136d00011370, - 0x1137500011400, - 0x1145c0001145d, - 0x1146200011480, - 0x114c8000114d0, - 0x114da00011580, - 0x115b6000115b8, - 0x115de00011600, - 0x1164500011650, - 0x1165a00011660, - 0x1166d00011680, - 0x116ba000116c0, - 0x116ca00011700, - 0x1171b0001171d, - 0x1172c00011730, - 0x1174700011800, - 0x1183c000118a0, - 0x118f3000118ff, - 0x1190700011909, - 0x1190a0001190c, - 0x1191400011915, - 0x1191700011918, - 0x1193600011937, - 0x119390001193b, - 0x1194700011950, - 0x1195a000119a0, - 0x119a8000119aa, - 0x119d8000119da, - 0x119e500011a00, - 0x11a4800011a50, - 0x11aa300011ab0, - 0x11af900011b00, - 0x11b0a00011c00, - 0x11c0900011c0a, - 0x11c3700011c38, - 0x11c4600011c50, - 0x11c6d00011c70, - 0x11c9000011c92, - 0x11ca800011ca9, - 0x11cb700011d00, - 0x11d0700011d08, - 0x11d0a00011d0b, - 0x11d3700011d3a, - 0x11d3b00011d3c, - 0x11d3e00011d3f, - 0x11d4800011d50, - 0x11d5a00011d60, - 0x11d6600011d67, - 0x11d6900011d6a, - 0x11d8f00011d90, - 0x11d9200011d93, - 0x11d9900011da0, - 0x11daa00011ee0, - 0x11ef900011f00, - 0x11f1100011f12, - 0x11f3b00011f3e, - 0x11f5a00011fb0, - 0x11fb100011fc0, - 0x11ff200011fff, - 0x1239a00012400, - 0x1246f00012470, - 0x1247500012480, - 0x1254400012f90, - 0x12ff300013000, - 0x1345600014400, - 0x1464700016800, - 0x16a3900016a40, - 0x16a5f00016a60, - 0x16a6a00016a6e, - 0x16abf00016ac0, - 0x16aca00016ad0, - 0x16aee00016af0, - 0x16af600016b00, - 0x16b4600016b50, - 0x16b5a00016b5b, - 0x16b6200016b63, - 0x16b7800016b7d, - 0x16b9000016e40, - 0x16e9b00016f00, - 0x16f4b00016f4f, - 0x16f8800016f8f, - 0x16fa000016fe0, - 0x16fe500016ff0, - 0x16ff200017000, - 0x187f800018800, - 0x18cd600018d00, - 0x18d090001aff0, - 0x1aff40001aff5, - 0x1affc0001affd, - 0x1afff0001b000, - 0x1b1230001b132, - 0x1b1330001b150, - 0x1b1530001b155, - 0x1b1560001b164, - 0x1b1680001b170, - 0x1b2fc0001bc00, - 0x1bc6b0001bc70, - 0x1bc7d0001bc80, - 0x1bc890001bc90, - 0x1bc9a0001bc9c, - 0x1bca40001cf00, - 0x1cf2e0001cf30, - 0x1cf470001cf50, - 0x1cfc40001d000, - 0x1d0f60001d100, - 0x1d1270001d129, - 0x1d1eb0001d200, - 0x1d2460001d2c0, - 0x1d2d40001d2e0, - 0x1d2f40001d300, - 0x1d3570001d360, - 0x1d3790001d400, - 0x1d4550001d456, - 0x1d49d0001d49e, - 0x1d4a00001d4a2, - 0x1d4a30001d4a5, - 0x1d4a70001d4a9, - 0x1d4ad0001d4ae, - 0x1d4ba0001d4bb, - 0x1d4bc0001d4bd, - 0x1d4c40001d4c5, - 0x1d5060001d507, - 0x1d50b0001d50d, - 0x1d5150001d516, - 0x1d51d0001d51e, - 0x1d53a0001d53b, - 0x1d53f0001d540, - 0x1d5450001d546, - 0x1d5470001d54a, - 0x1d5510001d552, - 0x1d6a60001d6a8, - 0x1d7cc0001d7ce, - 0x1da8c0001da9b, - 0x1daa00001daa1, - 0x1dab00001df00, - 0x1df1f0001df25, - 0x1df2b0001e000, - 0x1e0070001e008, - 0x1e0190001e01b, - 0x1e0220001e023, - 0x1e0250001e026, - 0x1e02b0001e030, - 0x1e06e0001e08f, - 0x1e0900001e100, - 0x1e12d0001e130, - 0x1e13e0001e140, - 0x1e14a0001e14e, - 0x1e1500001e290, - 0x1e2af0001e2c0, - 0x1e2fa0001e2ff, - 0x1e3000001e4d0, - 0x1e4fa0001e7e0, - 0x1e7e70001e7e8, - 0x1e7ec0001e7ed, - 0x1e7ef0001e7f0, - 0x1e7ff0001e800, - 0x1e8c50001e8c7, - 0x1e8d70001e900, - 0x1e94c0001e950, - 0x1e95a0001e95e, - 0x1e9600001ec71, - 0x1ecb50001ed01, - 0x1ed3e0001ee00, - 0x1ee040001ee05, - 0x1ee200001ee21, - 0x1ee230001ee24, - 0x1ee250001ee27, - 0x1ee280001ee29, - 0x1ee330001ee34, - 0x1ee380001ee39, - 0x1ee3a0001ee3b, - 0x1ee3c0001ee42, - 0x1ee430001ee47, - 0x1ee480001ee49, - 0x1ee4a0001ee4b, - 0x1ee4c0001ee4d, - 0x1ee500001ee51, - 0x1ee530001ee54, - 0x1ee550001ee57, - 0x1ee580001ee59, - 0x1ee5a0001ee5b, - 0x1ee5c0001ee5d, - 0x1ee5e0001ee5f, - 0x1ee600001ee61, - 0x1ee630001ee64, - 0x1ee650001ee67, - 0x1ee6b0001ee6c, - 0x1ee730001ee74, - 0x1ee780001ee79, - 0x1ee7d0001ee7e, - 0x1ee7f0001ee80, - 0x1ee8a0001ee8b, - 0x1ee9c0001eea1, - 0x1eea40001eea5, - 0x1eeaa0001eeab, - 0x1eebc0001eef0, - 0x1eef20001f000, - 0x1f02c0001f030, - 0x1f0940001f0a0, - 0x1f0af0001f0b1, - 0x1f0c00001f0c1, - 0x1f0d00001f0d1, - 0x1f0f60001f100, - 0x1f1ae0001f1e6, - 0x1f2030001f210, - 0x1f23c0001f240, - 0x1f2490001f250, - 0x1f2520001f260, - 0x1f2660001f300, - 0x1f6d80001f6dc, - 0x1f6ed0001f6f0, - 0x1f6fd0001f700, - 0x1f7770001f77b, - 0x1f7da0001f7e0, - 0x1f7ec0001f7f0, - 0x1f7f10001f800, - 0x1f80c0001f810, - 0x1f8480001f850, - 0x1f85a0001f860, - 0x1f8880001f890, - 0x1f8ae0001f8b0, - 0x1f8b20001f900, - 0x1fa540001fa60, - 0x1fa6e0001fa70, - 0x1fa7d0001fa80, - 0x1fa890001fa90, - 0x1fabe0001fabf, - 0x1fac60001face, - 0x1fadc0001fae0, - 0x1fae90001faf0, - 0x1faf90001fb00, - 0x1fb930001fb94, - 0x1fbcb0001fbf0, - 0x1fbfa00020000, - 0x2a6e00002a700, - 0x2b73a0002b740, - 0x2b81e0002b820, - 0x2cea20002ceb0, - 0x2ebe10002ebf0, - 0x2ee5e0002f800, - 0x2fa1e00030000, - 0x3134b00031350, - 0x323b0000e0001, - 0xe0002000e0020, - 0xe0080000e0100, - 0xe01f0000f0000, - 0xffffe00100000, - 0x10fffe00110000, - ], - "EN" => [ - 0x300000003a, - 0xb2000000b4, - 0xb9000000ba, - 0x6f0000006fa, - 0x207000002071, - 0x20740000207a, - 0x20800000208a, - 0x24880000249c, - 0xff100000ff1a, - 0x102e1000102fc, - 0x1d7ce0001d800, - 0x1f1000001f10b, - 0x1fbf00001fbfa, - ], - "L" => [ - 0x410000005b, - 0x610000007b, - 0xaa000000ab, - 0xb5000000b6, - 0xba000000bb, - 0xc0000000d7, - 0xd8000000f7, - 0xf8000002b9, - 0x2bb000002c2, - 0x2d0000002d2, - 0x2e0000002e5, - 0x2ee000002ef, - 0x37000000374, - 0x37600000378, - 0x37a0000037e, - 0x37f00000380, - 0x38600000387, - 0x3880000038b, - 0x38c0000038d, - 0x38e000003a2, - 0x3a3000003f6, - 0x3f700000483, - 0x48a00000530, - 0x53100000557, - 0x5590000058a, - 0x9030000093a, - 0x93b0000093c, - 0x93d00000941, - 0x9490000094d, - 0x94e00000951, - 0x95800000962, - 0x96400000981, - 0x98200000984, - 0x9850000098d, - 0x98f00000991, - 0x993000009a9, - 0x9aa000009b1, - 0x9b2000009b3, - 0x9b6000009ba, - 0x9bd000009c1, - 0x9c7000009c9, - 0x9cb000009cd, - 0x9ce000009cf, - 0x9d7000009d8, - 0x9dc000009de, - 0x9df000009e2, - 0x9e6000009f2, - 0x9f4000009fb, - 0x9fc000009fe, - 0xa0300000a04, - 0xa0500000a0b, - 0xa0f00000a11, - 0xa1300000a29, - 0xa2a00000a31, - 0xa3200000a34, - 0xa3500000a37, - 0xa3800000a3a, - 0xa3e00000a41, - 0xa5900000a5d, - 0xa5e00000a5f, - 0xa6600000a70, - 0xa7200000a75, - 0xa7600000a77, - 0xa8300000a84, - 0xa8500000a8e, - 0xa8f00000a92, - 0xa9300000aa9, - 0xaaa00000ab1, - 0xab200000ab4, - 0xab500000aba, - 0xabd00000ac1, - 0xac900000aca, - 0xacb00000acd, - 0xad000000ad1, - 0xae000000ae2, - 0xae600000af1, - 0xaf900000afa, - 0xb0200000b04, - 0xb0500000b0d, - 0xb0f00000b11, - 0xb1300000b29, - 0xb2a00000b31, - 0xb3200000b34, - 0xb3500000b3a, - 0xb3d00000b3f, - 0xb4000000b41, - 0xb4700000b49, - 0xb4b00000b4d, - 0xb5700000b58, - 0xb5c00000b5e, - 0xb5f00000b62, - 0xb6600000b78, - 0xb8300000b84, - 0xb8500000b8b, - 0xb8e00000b91, - 0xb9200000b96, - 0xb9900000b9b, - 0xb9c00000b9d, - 0xb9e00000ba0, - 0xba300000ba5, - 0xba800000bab, - 0xbae00000bba, - 0xbbe00000bc0, - 0xbc100000bc3, - 0xbc600000bc9, - 0xbca00000bcd, - 0xbd000000bd1, - 0xbd700000bd8, - 0xbe600000bf3, - 0xc0100000c04, - 0xc0500000c0d, - 0xc0e00000c11, - 0xc1200000c29, - 0xc2a00000c3a, - 0xc3d00000c3e, - 0xc4100000c45, - 0xc5800000c5b, - 0xc5d00000c5e, - 0xc6000000c62, - 0xc6600000c70, - 0xc7700000c78, - 0xc7f00000c81, - 0xc8200000c8d, - 0xc8e00000c91, - 0xc9200000ca9, - 0xcaa00000cb4, - 0xcb500000cba, - 0xcbd00000cc5, - 0xcc600000cc9, - 0xcca00000ccc, - 0xcd500000cd7, - 0xcdd00000cdf, - 0xce000000ce2, - 0xce600000cf0, - 0xcf100000cf4, - 0xd0200000d0d, - 0xd0e00000d11, - 0xd1200000d3b, - 0xd3d00000d41, - 0xd4600000d49, - 0xd4a00000d4d, - 0xd4e00000d50, - 0xd5400000d62, - 0xd6600000d80, - 0xd8200000d84, - 0xd8500000d97, - 0xd9a00000db2, - 0xdb300000dbc, - 0xdbd00000dbe, - 0xdc000000dc7, - 0xdcf00000dd2, - 0xdd800000de0, - 0xde600000df0, - 0xdf200000df5, - 0xe0100000e31, - 0xe3200000e34, - 0xe4000000e47, - 0xe4f00000e5c, - 0xe8100000e83, - 0xe8400000e85, - 0xe8600000e8b, - 0xe8c00000ea4, - 0xea500000ea6, - 0xea700000eb1, - 0xeb200000eb4, - 0xebd00000ebe, - 0xec000000ec5, - 0xec600000ec7, - 0xed000000eda, - 0xedc00000ee0, - 0xf0000000f18, - 0xf1a00000f35, - 0xf3600000f37, - 0xf3800000f39, - 0xf3e00000f48, - 0xf4900000f6d, - 0xf7f00000f80, - 0xf8500000f86, - 0xf8800000f8d, - 0xfbe00000fc6, - 0xfc700000fcd, - 0xfce00000fdb, - 0x10000000102d, - 0x103100001032, - 0x103800001039, - 0x103b0000103d, - 0x103f00001058, - 0x105a0000105e, - 0x106100001071, - 0x107500001082, - 0x108300001085, - 0x10870000108d, - 0x108e0000109d, - 0x109e000010c6, - 0x10c7000010c8, - 0x10cd000010ce, - 0x10d000001249, - 0x124a0000124e, - 0x125000001257, - 0x125800001259, - 0x125a0000125e, - 0x126000001289, - 0x128a0000128e, - 0x1290000012b1, - 0x12b2000012b6, - 0x12b8000012bf, - 0x12c0000012c1, - 0x12c2000012c6, - 0x12c8000012d7, - 0x12d800001311, - 0x131200001316, - 0x13180000135b, - 0x13600000137d, - 0x138000001390, - 0x13a0000013f6, - 0x13f8000013fe, - 0x140100001680, - 0x16810000169b, - 0x16a0000016f9, - 0x170000001712, - 0x171500001716, - 0x171f00001732, - 0x173400001737, - 0x174000001752, - 0x17600000176d, - 0x176e00001771, - 0x1780000017b4, - 0x17b6000017b7, - 0x17be000017c6, - 0x17c7000017c9, - 0x17d4000017db, - 0x17dc000017dd, - 0x17e0000017ea, - 0x18100000181a, - 0x182000001879, - 0x188000001885, - 0x1887000018a9, - 0x18aa000018ab, - 0x18b0000018f6, - 0x19000000191f, - 0x192300001927, - 0x19290000192c, - 0x193000001932, - 0x193300001939, - 0x19460000196e, - 0x197000001975, - 0x1980000019ac, - 0x19b0000019ca, - 0x19d0000019db, - 0x1a0000001a17, - 0x1a1900001a1b, - 0x1a1e00001a56, - 0x1a5700001a58, - 0x1a6100001a62, - 0x1a6300001a65, - 0x1a6d00001a73, - 0x1a8000001a8a, - 0x1a9000001a9a, - 0x1aa000001aae, - 0x1b0400001b34, - 0x1b3500001b36, - 0x1b3b00001b3c, - 0x1b3d00001b42, - 0x1b4300001b4d, - 0x1b5000001b6b, - 0x1b7400001b7f, - 0x1b8200001ba2, - 0x1ba600001ba8, - 0x1baa00001bab, - 0x1bae00001be6, - 0x1be700001be8, - 0x1bea00001bed, - 0x1bee00001bef, - 0x1bf200001bf4, - 0x1bfc00001c2c, - 0x1c3400001c36, - 0x1c3b00001c4a, - 0x1c4d00001c89, - 0x1c9000001cbb, - 0x1cbd00001cc8, - 0x1cd300001cd4, - 0x1ce100001ce2, - 0x1ce900001ced, - 0x1cee00001cf4, - 0x1cf500001cf8, - 0x1cfa00001cfb, - 0x1d0000001dc0, - 0x1e0000001f16, - 0x1f1800001f1e, - 0x1f2000001f46, - 0x1f4800001f4e, - 0x1f5000001f58, - 0x1f5900001f5a, - 0x1f5b00001f5c, - 0x1f5d00001f5e, - 0x1f5f00001f7e, - 0x1f8000001fb5, - 0x1fb600001fbd, - 0x1fbe00001fbf, - 0x1fc200001fc5, - 0x1fc600001fcd, - 0x1fd000001fd4, - 0x1fd600001fdc, - 0x1fe000001fed, - 0x1ff200001ff5, - 0x1ff600001ffd, - 0x200e0000200f, - 0x207100002072, - 0x207f00002080, - 0x20900000209d, - 0x210200002103, - 0x210700002108, - 0x210a00002114, - 0x211500002116, - 0x21190000211e, - 0x212400002125, - 0x212600002127, - 0x212800002129, - 0x212a0000212e, - 0x212f0000213a, - 0x213c00002140, - 0x21450000214a, - 0x214e00002150, - 0x216000002189, - 0x23360000237b, - 0x239500002396, - 0x249c000024ea, - 0x26ac000026ad, - 0x280000002900, - 0x2c0000002ce5, - 0x2ceb00002cef, - 0x2cf200002cf4, - 0x2d0000002d26, - 0x2d2700002d28, - 0x2d2d00002d2e, - 0x2d3000002d68, - 0x2d6f00002d71, - 0x2d8000002d97, - 0x2da000002da7, - 0x2da800002daf, - 0x2db000002db7, - 0x2db800002dbf, - 0x2dc000002dc7, - 0x2dc800002dcf, - 0x2dd000002dd7, - 0x2dd800002ddf, - 0x300500003008, - 0x30210000302a, - 0x302e00003030, - 0x303100003036, - 0x30380000303d, - 0x304100003097, - 0x309d000030a0, - 0x30a1000030fb, - 0x30fc00003100, - 0x310500003130, - 0x31310000318f, - 0x3190000031c0, - 0x31f00000321d, - 0x322000003250, - 0x32600000327c, - 0x327f000032b1, - 0x32c0000032cc, - 0x32d000003377, - 0x337b000033de, - 0x33e0000033ff, - 0x340000004dc0, - 0x4e000000a48d, - 0xa4d00000a60d, - 0xa6100000a62c, - 0xa6400000a66f, - 0xa6800000a69e, - 0xa6a00000a6f0, - 0xa6f20000a6f8, - 0xa7220000a788, - 0xa7890000a7cb, - 0xa7d00000a7d2, - 0xa7d30000a7d4, - 0xa7d50000a7da, - 0xa7f20000a802, - 0xa8030000a806, - 0xa8070000a80b, - 0xa80c0000a825, - 0xa8270000a828, - 0xa8300000a838, - 0xa8400000a874, - 0xa8800000a8c4, - 0xa8ce0000a8da, - 0xa8f20000a8ff, - 0xa9000000a926, - 0xa92e0000a947, - 0xa9520000a954, - 0xa95f0000a97d, - 0xa9830000a9b3, - 0xa9b40000a9b6, - 0xa9ba0000a9bc, - 0xa9be0000a9ce, - 0xa9cf0000a9da, - 0xa9de0000a9e5, - 0xa9e60000a9ff, - 0xaa000000aa29, - 0xaa2f0000aa31, - 0xaa330000aa35, - 0xaa400000aa43, - 0xaa440000aa4c, - 0xaa4d0000aa4e, - 0xaa500000aa5a, - 0xaa5c0000aa7c, - 0xaa7d0000aab0, - 0xaab10000aab2, - 0xaab50000aab7, - 0xaab90000aabe, - 0xaac00000aac1, - 0xaac20000aac3, - 0xaadb0000aaec, - 0xaaee0000aaf6, - 0xab010000ab07, - 0xab090000ab0f, - 0xab110000ab17, - 0xab200000ab27, - 0xab280000ab2f, - 0xab300000ab6a, - 0xab700000abe5, - 0xabe60000abe8, - 0xabe90000abed, - 0xabf00000abfa, - 0xac000000d7a4, - 0xd7b00000d7c7, - 0xd7cb0000d7fc, - 0xd8000000fa6e, - 0xfa700000fada, - 0xfb000000fb07, - 0xfb130000fb18, - 0xff210000ff3b, - 0xff410000ff5b, - 0xff660000ffbf, - 0xffc20000ffc8, - 0xffca0000ffd0, - 0xffd20000ffd8, - 0xffda0000ffdd, - 0x100000001000c, - 0x1000d00010027, - 0x100280001003b, - 0x1003c0001003e, - 0x1003f0001004e, - 0x100500001005e, - 0x10080000100fb, - 0x1010000010101, - 0x1010200010103, - 0x1010700010134, - 0x1013700010140, - 0x1018d0001018f, - 0x101d0000101fd, - 0x102800001029d, - 0x102a0000102d1, - 0x1030000010324, - 0x1032d0001034b, - 0x1035000010376, - 0x103800001039e, - 0x1039f000103c4, - 0x103c8000103d6, - 0x104000001049e, - 0x104a0000104aa, - 0x104b0000104d4, - 0x104d8000104fc, - 0x1050000010528, - 0x1053000010564, - 0x1056f0001057b, - 0x1057c0001058b, - 0x1058c00010593, - 0x1059400010596, - 0x10597000105a2, - 0x105a3000105b2, - 0x105b3000105ba, - 0x105bb000105bd, - 0x1060000010737, - 0x1074000010756, - 0x1076000010768, - 0x1078000010786, - 0x10787000107b1, - 0x107b2000107bb, - 0x1100000011001, - 0x1100200011038, - 0x110470001104e, - 0x1106600011070, - 0x1107100011073, - 0x1107500011076, - 0x11082000110b3, - 0x110b7000110b9, - 0x110bb000110c2, - 0x110cd000110ce, - 0x110d0000110e9, - 0x110f0000110fa, - 0x1110300011127, - 0x1112c0001112d, - 0x1113600011148, - 0x1115000011173, - 0x1117400011177, - 0x11182000111b6, - 0x111bf000111c9, - 0x111cd000111cf, - 0x111d0000111e0, - 0x111e1000111f5, - 0x1120000011212, - 0x112130001122f, - 0x1123200011234, - 0x1123500011236, - 0x112380001123e, - 0x1123f00011241, - 0x1128000011287, - 0x1128800011289, - 0x1128a0001128e, - 0x1128f0001129e, - 0x1129f000112aa, - 0x112b0000112df, - 0x112e0000112e3, - 0x112f0000112fa, - 0x1130200011304, - 0x113050001130d, - 0x1130f00011311, - 0x1131300011329, - 0x1132a00011331, - 0x1133200011334, - 0x113350001133a, - 0x1133d00011340, - 0x1134100011345, - 0x1134700011349, - 0x1134b0001134e, - 0x1135000011351, - 0x1135700011358, - 0x1135d00011364, - 0x1140000011438, - 0x1144000011442, - 0x1144500011446, - 0x114470001145c, - 0x1145d0001145e, - 0x1145f00011462, - 0x11480000114b3, - 0x114b9000114ba, - 0x114bb000114bf, - 0x114c1000114c2, - 0x114c4000114c8, - 0x114d0000114da, - 0x11580000115b2, - 0x115b8000115bc, - 0x115be000115bf, - 0x115c1000115dc, - 0x1160000011633, - 0x1163b0001163d, - 0x1163e0001163f, - 0x1164100011645, - 0x116500001165a, - 0x11680000116ab, - 0x116ac000116ad, - 0x116ae000116b0, - 0x116b6000116b7, - 0x116b8000116ba, - 0x116c0000116ca, - 0x117000001171b, - 0x1172000011722, - 0x1172600011727, - 0x1173000011747, - 0x118000001182f, - 0x1183800011839, - 0x1183b0001183c, - 0x118a0000118f3, - 0x118ff00011907, - 0x119090001190a, - 0x1190c00011914, - 0x1191500011917, - 0x1191800011936, - 0x1193700011939, - 0x1193d0001193e, - 0x1193f00011943, - 0x1194400011947, - 0x119500001195a, - 0x119a0000119a8, - 0x119aa000119d4, - 0x119dc000119e0, - 0x119e1000119e5, - 0x11a0000011a01, - 0x11a0700011a09, - 0x11a0b00011a33, - 0x11a3900011a3b, - 0x11a3f00011a47, - 0x11a5000011a51, - 0x11a5700011a59, - 0x11a5c00011a8a, - 0x11a9700011a98, - 0x11a9a00011aa3, - 0x11ab000011af9, - 0x11b0000011b0a, - 0x11c0000011c09, - 0x11c0a00011c30, - 0x11c3e00011c46, - 0x11c5000011c6d, - 0x11c7000011c90, - 0x11ca900011caa, - 0x11cb100011cb2, - 0x11cb400011cb5, - 0x11d0000011d07, - 0x11d0800011d0a, - 0x11d0b00011d31, - 0x11d4600011d47, - 0x11d5000011d5a, - 0x11d6000011d66, - 0x11d6700011d69, - 0x11d6a00011d8f, - 0x11d9300011d95, - 0x11d9600011d97, - 0x11d9800011d99, - 0x11da000011daa, - 0x11ee000011ef3, - 0x11ef500011ef9, - 0x11f0200011f11, - 0x11f1200011f36, - 0x11f3e00011f40, - 0x11f4100011f42, - 0x11f4300011f5a, - 0x11fb000011fb1, - 0x11fc000011fd5, - 0x11fff0001239a, - 0x124000001246f, - 0x1247000012475, - 0x1248000012544, - 0x12f9000012ff3, - 0x1300000013440, - 0x1344100013447, - 0x1440000014647, - 0x1680000016a39, - 0x16a4000016a5f, - 0x16a6000016a6a, - 0x16a6e00016abf, - 0x16ac000016aca, - 0x16ad000016aee, - 0x16af500016af6, - 0x16b0000016b30, - 0x16b3700016b46, - 0x16b5000016b5a, - 0x16b5b00016b62, - 0x16b6300016b78, - 0x16b7d00016b90, - 0x16e4000016e9b, - 0x16f0000016f4b, - 0x16f5000016f88, - 0x16f9300016fa0, - 0x16fe000016fe2, - 0x16fe300016fe4, - 0x16ff000016ff2, - 0x17000000187f8, - 0x1880000018cd6, - 0x18d0000018d09, - 0x1aff00001aff4, - 0x1aff50001affc, - 0x1affd0001afff, - 0x1b0000001b123, - 0x1b1320001b133, - 0x1b1500001b153, - 0x1b1550001b156, - 0x1b1640001b168, - 0x1b1700001b2fc, - 0x1bc000001bc6b, - 0x1bc700001bc7d, - 0x1bc800001bc89, - 0x1bc900001bc9a, - 0x1bc9c0001bc9d, - 0x1bc9f0001bca0, - 0x1cf500001cfc4, - 0x1d0000001d0f6, - 0x1d1000001d127, - 0x1d1290001d167, - 0x1d16a0001d173, - 0x1d1830001d185, - 0x1d18c0001d1aa, - 0x1d1ae0001d1e9, - 0x1d2c00001d2d4, - 0x1d2e00001d2f4, - 0x1d3600001d379, - 0x1d4000001d455, - 0x1d4560001d49d, - 0x1d49e0001d4a0, - 0x1d4a20001d4a3, - 0x1d4a50001d4a7, - 0x1d4a90001d4ad, - 0x1d4ae0001d4ba, - 0x1d4bb0001d4bc, - 0x1d4bd0001d4c4, - 0x1d4c50001d506, - 0x1d5070001d50b, - 0x1d50d0001d515, - 0x1d5160001d51d, - 0x1d51e0001d53a, - 0x1d53b0001d53f, - 0x1d5400001d545, - 0x1d5460001d547, - 0x1d54a0001d551, - 0x1d5520001d6a6, - 0x1d6a80001d6db, - 0x1d6dc0001d715, - 0x1d7160001d74f, - 0x1d7500001d789, - 0x1d78a0001d7c3, - 0x1d7c40001d7cc, - 0x1d8000001da00, - 0x1da370001da3b, - 0x1da6d0001da75, - 0x1da760001da84, - 0x1da850001da8c, - 0x1df000001df1f, - 0x1df250001df2b, - 0x1e0300001e06e, - 0x1e1000001e12d, - 0x1e1370001e13e, - 0x1e1400001e14a, - 0x1e14e0001e150, - 0x1e2900001e2ae, - 0x1e2c00001e2ec, - 0x1e2f00001e2fa, - 0x1e4d00001e4ec, - 0x1e4f00001e4fa, - 0x1e7e00001e7e7, - 0x1e7e80001e7ec, - 0x1e7ed0001e7ef, - 0x1e7f00001e7ff, - 0x1f1100001f12f, - 0x1f1300001f16a, - 0x1f1700001f1ad, - 0x1f1e60001f203, - 0x1f2100001f23c, - 0x1f2400001f249, - 0x1f2500001f252, - 0x200000002a6e0, - 0x2a7000002b73a, - 0x2b7400002b81e, - 0x2b8200002cea2, - 0x2ceb00002ebe1, - 0x2ebf00002ee5e, - 0x2f8000002fa1e, - 0x300000003134b, - 0x31350000323b0, - 0xf0000000ffffe, - 0x1000000010fffe, - ], - "NSM" => [ - 0x30000000370, - 0x4830000048a, - 0x591000005be, - 0x5bf000005c0, - 0x5c1000005c3, - 0x5c4000005c6, - 0x5c7000005c8, - 0x6100000061b, - 0x64b00000660, - 0x67000000671, - 0x6d6000006dd, - 0x6df000006e5, - 0x6e7000006e9, - 0x6ea000006ee, - 0x71100000712, - 0x7300000074b, - 0x7a6000007b1, - 0x7eb000007f4, - 0x7fd000007fe, - 0x8160000081a, - 0x81b00000824, - 0x82500000828, - 0x8290000082e, - 0x8590000085c, - 0x898000008a0, - 0x8ca000008e2, - 0x8e300000903, - 0x93a0000093b, - 0x93c0000093d, - 0x94100000949, - 0x94d0000094e, - 0x95100000958, - 0x96200000964, - 0x98100000982, - 0x9bc000009bd, - 0x9c1000009c5, - 0x9cd000009ce, - 0x9e2000009e4, - 0x9fe000009ff, - 0xa0100000a03, - 0xa3c00000a3d, - 0xa4100000a43, - 0xa4700000a49, - 0xa4b00000a4e, - 0xa5100000a52, - 0xa7000000a72, - 0xa7500000a76, - 0xa8100000a83, - 0xabc00000abd, - 0xac100000ac6, - 0xac700000ac9, - 0xacd00000ace, - 0xae200000ae4, - 0xafa00000b00, - 0xb0100000b02, - 0xb3c00000b3d, - 0xb3f00000b40, - 0xb4100000b45, - 0xb4d00000b4e, - 0xb5500000b57, - 0xb6200000b64, - 0xb8200000b83, - 0xbc000000bc1, - 0xbcd00000bce, - 0xc0000000c01, - 0xc0400000c05, - 0xc3c00000c3d, - 0xc3e00000c41, - 0xc4600000c49, - 0xc4a00000c4e, - 0xc5500000c57, - 0xc6200000c64, - 0xc8100000c82, - 0xcbc00000cbd, - 0xccc00000cce, - 0xce200000ce4, - 0xd0000000d02, - 0xd3b00000d3d, - 0xd4100000d45, - 0xd4d00000d4e, - 0xd6200000d64, - 0xd8100000d82, - 0xdca00000dcb, - 0xdd200000dd5, - 0xdd600000dd7, - 0xe3100000e32, - 0xe3400000e3b, - 0xe4700000e4f, - 0xeb100000eb2, - 0xeb400000ebd, - 0xec800000ecf, - 0xf1800000f1a, - 0xf3500000f36, - 0xf3700000f38, - 0xf3900000f3a, - 0xf7100000f7f, - 0xf8000000f85, - 0xf8600000f88, - 0xf8d00000f98, - 0xf9900000fbd, - 0xfc600000fc7, - 0x102d00001031, - 0x103200001038, - 0x10390000103b, - 0x103d0000103f, - 0x10580000105a, - 0x105e00001061, - 0x107100001075, - 0x108200001083, - 0x108500001087, - 0x108d0000108e, - 0x109d0000109e, - 0x135d00001360, - 0x171200001715, - 0x173200001734, - 0x175200001754, - 0x177200001774, - 0x17b4000017b6, - 0x17b7000017be, - 0x17c6000017c7, - 0x17c9000017d4, - 0x17dd000017de, - 0x180b0000180e, - 0x180f00001810, - 0x188500001887, - 0x18a9000018aa, - 0x192000001923, - 0x192700001929, - 0x193200001933, - 0x19390000193c, - 0x1a1700001a19, - 0x1a1b00001a1c, - 0x1a5600001a57, - 0x1a5800001a5f, - 0x1a6000001a61, - 0x1a6200001a63, - 0x1a6500001a6d, - 0x1a7300001a7d, - 0x1a7f00001a80, - 0x1ab000001acf, - 0x1b0000001b04, - 0x1b3400001b35, - 0x1b3600001b3b, - 0x1b3c00001b3d, - 0x1b4200001b43, - 0x1b6b00001b74, - 0x1b8000001b82, - 0x1ba200001ba6, - 0x1ba800001baa, - 0x1bab00001bae, - 0x1be600001be7, - 0x1be800001bea, - 0x1bed00001bee, - 0x1bef00001bf2, - 0x1c2c00001c34, - 0x1c3600001c38, - 0x1cd000001cd3, - 0x1cd400001ce1, - 0x1ce200001ce9, - 0x1ced00001cee, - 0x1cf400001cf5, - 0x1cf800001cfa, - 0x1dc000001e00, - 0x20d0000020f1, - 0x2cef00002cf2, - 0x2d7f00002d80, - 0x2de000002e00, - 0x302a0000302e, - 0x30990000309b, - 0xa66f0000a673, - 0xa6740000a67e, - 0xa69e0000a6a0, - 0xa6f00000a6f2, - 0xa8020000a803, - 0xa8060000a807, - 0xa80b0000a80c, - 0xa8250000a827, - 0xa82c0000a82d, - 0xa8c40000a8c6, - 0xa8e00000a8f2, - 0xa8ff0000a900, - 0xa9260000a92e, - 0xa9470000a952, - 0xa9800000a983, - 0xa9b30000a9b4, - 0xa9b60000a9ba, - 0xa9bc0000a9be, - 0xa9e50000a9e6, - 0xaa290000aa2f, - 0xaa310000aa33, - 0xaa350000aa37, - 0xaa430000aa44, - 0xaa4c0000aa4d, - 0xaa7c0000aa7d, - 0xaab00000aab1, - 0xaab20000aab5, - 0xaab70000aab9, - 0xaabe0000aac0, - 0xaac10000aac2, - 0xaaec0000aaee, - 0xaaf60000aaf7, - 0xabe50000abe6, - 0xabe80000abe9, - 0xabed0000abee, - 0xfb1e0000fb1f, - 0xfe000000fe10, - 0xfe200000fe30, - 0x101fd000101fe, - 0x102e0000102e1, - 0x103760001037b, - 0x10a0100010a04, - 0x10a0500010a07, - 0x10a0c00010a10, - 0x10a3800010a3b, - 0x10a3f00010a40, - 0x10ae500010ae7, - 0x10d2400010d28, - 0x10eab00010ead, - 0x10efd00010f00, - 0x10f4600010f51, - 0x10f8200010f86, - 0x1100100011002, - 0x1103800011047, - 0x1107000011071, - 0x1107300011075, - 0x1107f00011082, - 0x110b3000110b7, - 0x110b9000110bb, - 0x110c2000110c3, - 0x1110000011103, - 0x111270001112c, - 0x1112d00011135, - 0x1117300011174, - 0x1118000011182, - 0x111b6000111bf, - 0x111c9000111cd, - 0x111cf000111d0, - 0x1122f00011232, - 0x1123400011235, - 0x1123600011238, - 0x1123e0001123f, - 0x1124100011242, - 0x112df000112e0, - 0x112e3000112eb, - 0x1130000011302, - 0x1133b0001133d, - 0x1134000011341, - 0x113660001136d, - 0x1137000011375, - 0x1143800011440, - 0x1144200011445, - 0x1144600011447, - 0x1145e0001145f, - 0x114b3000114b9, - 0x114ba000114bb, - 0x114bf000114c1, - 0x114c2000114c4, - 0x115b2000115b6, - 0x115bc000115be, - 0x115bf000115c1, - 0x115dc000115de, - 0x116330001163b, - 0x1163d0001163e, - 0x1163f00011641, - 0x116ab000116ac, - 0x116ad000116ae, - 0x116b0000116b6, - 0x116b7000116b8, - 0x1171d00011720, - 0x1172200011726, - 0x117270001172c, - 0x1182f00011838, - 0x118390001183b, - 0x1193b0001193d, - 0x1193e0001193f, - 0x1194300011944, - 0x119d4000119d8, - 0x119da000119dc, - 0x119e0000119e1, - 0x11a0100011a07, - 0x11a0900011a0b, - 0x11a3300011a39, - 0x11a3b00011a3f, - 0x11a4700011a48, - 0x11a5100011a57, - 0x11a5900011a5c, - 0x11a8a00011a97, - 0x11a9800011a9a, - 0x11c3000011c37, - 0x11c3800011c3e, - 0x11c9200011ca8, - 0x11caa00011cb1, - 0x11cb200011cb4, - 0x11cb500011cb7, - 0x11d3100011d37, - 0x11d3a00011d3b, - 0x11d3c00011d3e, - 0x11d3f00011d46, - 0x11d4700011d48, - 0x11d9000011d92, - 0x11d9500011d96, - 0x11d9700011d98, - 0x11ef300011ef5, - 0x11f0000011f02, - 0x11f3600011f3b, - 0x11f4000011f41, - 0x11f4200011f43, - 0x1344000013441, - 0x1344700013456, - 0x16af000016af5, - 0x16b3000016b37, - 0x16f4f00016f50, - 0x16f8f00016f93, - 0x16fe400016fe5, - 0x1bc9d0001bc9f, - 0x1cf000001cf2e, - 0x1cf300001cf47, - 0x1d1670001d16a, - 0x1d17b0001d183, - 0x1d1850001d18c, - 0x1d1aa0001d1ae, - 0x1d2420001d245, - 0x1da000001da37, - 0x1da3b0001da6d, - 0x1da750001da76, - 0x1da840001da85, - 0x1da9b0001daa0, - 0x1daa10001dab0, - 0x1e0000001e007, - 0x1e0080001e019, - 0x1e01b0001e022, - 0x1e0230001e025, - 0x1e0260001e02b, - 0x1e08f0001e090, - 0x1e1300001e137, - 0x1e2ae0001e2af, - 0x1e2ec0001e2f0, - 0x1e4ec0001e4f0, - 0x1e8d00001e8d7, - 0x1e9440001e94b, - 0xe0100000e01f0, - ], - "RTL" => [ - 0x5be000005bf, - 0x5c0000005c1, - 0x5c3000005c4, - 0x5c6000005c7, - 0x5d0000005eb, - 0x5ef000005f5, - 0x60800000609, - 0x60b0000060c, - 0x60d0000060e, - 0x61b0000064b, - 0x66d00000670, - 0x671000006d6, - 0x6e5000006e7, - 0x6ee000006f0, - 0x6fa0000070e, - 0x70f00000711, - 0x71200000730, - 0x74d000007a6, - 0x7b1000007b2, - 0x7c0000007eb, - 0x7f4000007f6, - 0x7fa000007fb, - 0x7fe00000816, - 0x81a0000081b, - 0x82400000825, - 0x82800000829, - 0x8300000083f, - 0x84000000859, - 0x85e0000085f, - 0x8600000086b, - 0x8700000088f, - 0x8a0000008ca, - 0x200f00002010, - 0xfb1d0000fb1e, - 0xfb1f0000fb29, - 0xfb2a0000fb37, - 0xfb380000fb3d, - 0xfb3e0000fb3f, - 0xfb400000fb42, - 0xfb430000fb45, - 0xfb460000fbc3, - 0xfbd30000fd3e, - 0xfd500000fd90, - 0xfd920000fdc8, - 0xfdf00000fdfd, - 0xfe700000fe75, - 0xfe760000fefd, - 0x1080000010806, - 0x1080800010809, - 0x1080a00010836, - 0x1083700010839, - 0x1083c0001083d, - 0x1083f00010856, - 0x108570001089f, - 0x108a7000108b0, - 0x108e0000108f3, - 0x108f4000108f6, - 0x108fb0001091c, - 0x109200001093a, - 0x1093f00010940, - 0x10980000109b8, - 0x109bc000109d0, - 0x109d200010a01, - 0x10a1000010a14, - 0x10a1500010a18, - 0x10a1900010a36, - 0x10a4000010a49, - 0x10a5000010a59, - 0x10a6000010aa0, - 0x10ac000010ae5, - 0x10aeb00010af7, - 0x10b0000010b36, - 0x10b4000010b56, - 0x10b5800010b73, - 0x10b7800010b92, - 0x10b9900010b9d, - 0x10ba900010bb0, - 0x10c0000010c49, - 0x10c8000010cb3, - 0x10cc000010cf3, - 0x10cfa00010d24, - 0x10e8000010eaa, - 0x10ead00010eae, - 0x10eb000010eb2, - 0x10f0000010f28, - 0x10f3000010f46, - 0x10f5100010f5a, - 0x10f7000010f82, - 0x10f8600010f8a, - 0x10fb000010fcc, - 0x10fe000010ff7, - 0x1e8000001e8c5, - 0x1e8c70001e8d0, - 0x1e9000001e944, - 0x1e94b0001e94c, - 0x1e9500001e95a, - 0x1e95e0001e960, - 0x1ec710001ecb5, - 0x1ed010001ed3e, - 0x1ee000001ee04, - 0x1ee050001ee20, - 0x1ee210001ee23, - 0x1ee240001ee25, - 0x1ee270001ee28, - 0x1ee290001ee33, - 0x1ee340001ee38, - 0x1ee390001ee3a, - 0x1ee3b0001ee3c, - 0x1ee420001ee43, - 0x1ee470001ee48, - 0x1ee490001ee4a, - 0x1ee4b0001ee4c, - 0x1ee4d0001ee50, - 0x1ee510001ee53, - 0x1ee540001ee55, - 0x1ee570001ee58, - 0x1ee590001ee5a, - 0x1ee5b0001ee5c, - 0x1ee5d0001ee5e, - 0x1ee5f0001ee60, - 0x1ee610001ee63, - 0x1ee640001ee65, - 0x1ee670001ee6b, - 0x1ee6c0001ee73, - 0x1ee740001ee78, - 0x1ee790001ee7d, - 0x1ee7e0001ee7f, - 0x1ee800001ee8a, - 0x1ee8b0001ee9c, - 0x1eea10001eea4, - 0x1eea50001eeaa, - 0x1eeab0001eebc, - ], - "AN" => [ - 0x60000000606, - 0x6600000066a, - 0x66b0000066d, - 0x6dd000006de, - 0x89000000892, - 0x8e2000008e3, - 0x10d3000010d3a, - 0x10e6000010e7f, - ], - }.freeze - end -end diff --git a/lib/uri/idna/data/joining_types.rb b/lib/uri/idna/data/joining_types.rb new file mode 100644 index 0000000..d92833f --- /dev/null +++ b/lib/uri/idna/data/joining_types.rb @@ -0,0 +1,839 @@ +# frozen_string_literal: true + +# This file is automatically generated by bin/generate +# Unicode version 15.1.0 + +module URI + module IDNA + JOINING_TYPES = { + "\u0600" => 85, + "\u0601" => 85, + "\u0602" => 85, + "\u0603" => 85, + "\u0604" => 85, + "\u0605" => 85, + "\u0608" => 85, + "\u060B" => 85, + "\u0620" => 68, + "\u0621" => 85, + "\u0622" => 82, + "\u0623" => 82, + "\u0624" => 82, + "\u0625" => 82, + "\u0626" => 68, + "\u0627" => 82, + "\u0628" => 68, + "\u0629" => 82, + "\u062A" => 68, + "\u062B" => 68, + "\u062C" => 68, + "\u062D" => 68, + "\u062E" => 68, + "\u062F" => 82, + "\u0630" => 82, + "\u0631" => 82, + "\u0632" => 82, + "\u0633" => 68, + "\u0634" => 68, + "\u0635" => 68, + "\u0636" => 68, + "\u0637" => 68, + "\u0638" => 68, + "\u0639" => 68, + "\u063A" => 68, + "\u063B" => 68, + "\u063C" => 68, + "\u063D" => 68, + "\u063E" => 68, + "\u063F" => 68, + "\u0640" => 67, + "\u0641" => 68, + "\u0642" => 68, + "\u0643" => 68, + "\u0644" => 68, + "\u0645" => 68, + "\u0646" => 68, + "\u0647" => 68, + "\u0648" => 82, + "\u0649" => 68, + "\u064A" => 68, + "\u066E" => 68, + "\u066F" => 68, + "\u0671" => 82, + "\u0672" => 82, + "\u0673" => 82, + "\u0674" => 85, + "\u0675" => 82, + "\u0676" => 82, + "\u0677" => 82, + "\u0678" => 68, + "\u0679" => 68, + "\u067A" => 68, + "\u067B" => 68, + "\u067C" => 68, + "\u067D" => 68, + "\u067E" => 68, + "\u067F" => 68, + "\u0680" => 68, + "\u0681" => 68, + "\u0682" => 68, + "\u0683" => 68, + "\u0684" => 68, + "\u0685" => 68, + "\u0686" => 68, + "\u0687" => 68, + "\u0688" => 82, + "\u0689" => 82, + "\u068A" => 82, + "\u068B" => 82, + "\u068C" => 82, + "\u068D" => 82, + "\u068E" => 82, + "\u068F" => 82, + "\u0690" => 82, + "\u0691" => 82, + "\u0692" => 82, + "\u0693" => 82, + "\u0694" => 82, + "\u0695" => 82, + "\u0696" => 82, + "\u0697" => 82, + "\u0698" => 82, + "\u0699" => 82, + "\u069A" => 68, + "\u069B" => 68, + "\u069C" => 68, + "\u069D" => 68, + "\u069E" => 68, + "\u069F" => 68, + "\u06A0" => 68, + "\u06A1" => 68, + "\u06A2" => 68, + "\u06A3" => 68, + "\u06A4" => 68, + "\u06A5" => 68, + "\u06A6" => 68, + "\u06A7" => 68, + "\u06A8" => 68, + "\u06A9" => 68, + "\u06AA" => 68, + "\u06AB" => 68, + "\u06AC" => 68, + "\u06AD" => 68, + "\u06AE" => 68, + "\u06AF" => 68, + "\u06B0" => 68, + "\u06B1" => 68, + "\u06B2" => 68, + "\u06B3" => 68, + "\u06B4" => 68, + "\u06B5" => 68, + "\u06B6" => 68, + "\u06B7" => 68, + "\u06B8" => 68, + "\u06B9" => 68, + "\u06BA" => 68, + "\u06BB" => 68, + "\u06BC" => 68, + "\u06BD" => 68, + "\u06BE" => 68, + "\u06BF" => 68, + "\u06C0" => 82, + "\u06C1" => 68, + "\u06C2" => 68, + "\u06C3" => 82, + "\u06C4" => 82, + "\u06C5" => 82, + "\u06C6" => 82, + "\u06C7" => 82, + "\u06C8" => 82, + "\u06C9" => 82, + "\u06CA" => 82, + "\u06CB" => 82, + "\u06CC" => 68, + "\u06CD" => 82, + "\u06CE" => 68, + "\u06CF" => 82, + "\u06D0" => 68, + "\u06D1" => 68, + "\u06D2" => 82, + "\u06D3" => 82, + "\u06D5" => 82, + "\u06DD" => 85, + "\u06EE" => 82, + "\u06EF" => 82, + "\u06FA" => 68, + "\u06FB" => 68, + "\u06FC" => 68, + "\u06FF" => 68, + "\u070F" => 84, + "\u0710" => 82, + "\u0712" => 68, + "\u0713" => 68, + "\u0714" => 68, + "\u0715" => 82, + "\u0716" => 82, + "\u0717" => 82, + "\u0718" => 82, + "\u0719" => 82, + "\u071A" => 68, + "\u071B" => 68, + "\u071C" => 68, + "\u071D" => 68, + "\u071E" => 82, + "\u071F" => 68, + "\u0720" => 68, + "\u0721" => 68, + "\u0722" => 68, + "\u0723" => 68, + "\u0724" => 68, + "\u0725" => 68, + "\u0726" => 68, + "\u0727" => 68, + "\u0728" => 82, + "\u0729" => 68, + "\u072A" => 82, + "\u072B" => 68, + "\u072C" => 82, + "\u072D" => 68, + "\u072E" => 68, + "\u072F" => 82, + "\u074D" => 82, + "\u074E" => 68, + "\u074F" => 68, + "\u0750" => 68, + "\u0751" => 68, + "\u0752" => 68, + "\u0753" => 68, + "\u0754" => 68, + "\u0755" => 68, + "\u0756" => 68, + "\u0757" => 68, + "\u0758" => 68, + "\u0759" => 82, + "\u075A" => 82, + "\u075B" => 82, + "\u075C" => 68, + "\u075D" => 68, + "\u075E" => 68, + "\u075F" => 68, + "\u0760" => 68, + "\u0761" => 68, + "\u0762" => 68, + "\u0763" => 68, + "\u0764" => 68, + "\u0765" => 68, + "\u0766" => 68, + "\u0767" => 68, + "\u0768" => 68, + "\u0769" => 68, + "\u076A" => 68, + "\u076B" => 82, + "\u076C" => 82, + "\u076D" => 68, + "\u076E" => 68, + "\u076F" => 68, + "\u0770" => 68, + "\u0771" => 82, + "\u0772" => 68, + "\u0773" => 82, + "\u0774" => 82, + "\u0775" => 68, + "\u0776" => 68, + "\u0777" => 68, + "\u0778" => 82, + "\u0779" => 82, + "\u077A" => 68, + "\u077B" => 68, + "\u077C" => 68, + "\u077D" => 68, + "\u077E" => 68, + "\u077F" => 68, + "\u07CA" => 68, + "\u07CB" => 68, + "\u07CC" => 68, + "\u07CD" => 68, + "\u07CE" => 68, + "\u07CF" => 68, + "\u07D0" => 68, + "\u07D1" => 68, + "\u07D2" => 68, + "\u07D3" => 68, + "\u07D4" => 68, + "\u07D5" => 68, + "\u07D6" => 68, + "\u07D7" => 68, + "\u07D8" => 68, + "\u07D9" => 68, + "\u07DA" => 68, + "\u07DB" => 68, + "\u07DC" => 68, + "\u07DD" => 68, + "\u07DE" => 68, + "\u07DF" => 68, + "\u07E0" => 68, + "\u07E1" => 68, + "\u07E2" => 68, + "\u07E3" => 68, + "\u07E4" => 68, + "\u07E5" => 68, + "\u07E6" => 68, + "\u07E7" => 68, + "\u07E8" => 68, + "\u07E9" => 68, + "\u07EA" => 68, + "\u07FA" => 67, + "\u0840" => 82, + "\u0841" => 68, + "\u0842" => 68, + "\u0843" => 68, + "\u0844" => 68, + "\u0845" => 68, + "\u0846" => 82, + "\u0847" => 82, + "\u0848" => 68, + "\u0849" => 82, + "\u084A" => 68, + "\u084B" => 68, + "\u084C" => 68, + "\u084D" => 68, + "\u084E" => 68, + "\u084F" => 68, + "\u0850" => 68, + "\u0851" => 68, + "\u0852" => 68, + "\u0853" => 68, + "\u0854" => 82, + "\u0855" => 68, + "\u0856" => 82, + "\u0857" => 82, + "\u0858" => 82, + "\u0860" => 68, + "\u0861" => 85, + "\u0862" => 68, + "\u0863" => 68, + "\u0864" => 68, + "\u0865" => 68, + "\u0866" => 85, + "\u0867" => 82, + "\u0868" => 68, + "\u0869" => 82, + "\u086A" => 82, + "\u0870" => 82, + "\u0871" => 82, + "\u0872" => 82, + "\u0873" => 82, + "\u0874" => 82, + "\u0875" => 82, + "\u0876" => 82, + "\u0877" => 82, + "\u0878" => 82, + "\u0879" => 82, + "\u087A" => 82, + "\u087B" => 82, + "\u087C" => 82, + "\u087D" => 82, + "\u087E" => 82, + "\u087F" => 82, + "\u0880" => 82, + "\u0881" => 82, + "\u0882" => 82, + "\u0883" => 67, + "\u0884" => 67, + "\u0885" => 67, + "\u0886" => 68, + "\u0887" => 85, + "\u0888" => 85, + "\u0889" => 68, + "\u088A" => 68, + "\u088B" => 68, + "\u088C" => 68, + "\u088D" => 68, + "\u088E" => 82, + "\u0890" => 85, + "\u0891" => 85, + "\u08A0" => 68, + "\u08A1" => 68, + "\u08A2" => 68, + "\u08A3" => 68, + "\u08A4" => 68, + "\u08A5" => 68, + "\u08A6" => 68, + "\u08A7" => 68, + "\u08A8" => 68, + "\u08A9" => 68, + "\u08AA" => 82, + "\u08AB" => 82, + "\u08AC" => 82, + "\u08AD" => 85, + "\u08AE" => 82, + "\u08AF" => 68, + "\u08B0" => 68, + "\u08B1" => 82, + "\u08B2" => 82, + "\u08B3" => 68, + "\u08B4" => 68, + "\u08B5" => 68, + "\u08B6" => 68, + "\u08B7" => 68, + "\u08B8" => 68, + "\u08B9" => 82, + "\u08BA" => 68, + "\u08BB" => 68, + "\u08BC" => 68, + "\u08BD" => 68, + "\u08BE" => 68, + "\u08BF" => 68, + "\u08C0" => 68, + "\u08C1" => 68, + "\u08C2" => 68, + "\u08C3" => 68, + "\u08C4" => 68, + "\u08C5" => 68, + "\u08C6" => 68, + "\u08C7" => 68, + "\u08C8" => 68, + "\u08E2" => 85, + "\u1806" => 85, + "\u1807" => 68, + "\u180A" => 67, + "\u180E" => 85, + "\u1820" => 68, + "\u1821" => 68, + "\u1822" => 68, + "\u1823" => 68, + "\u1824" => 68, + "\u1825" => 68, + "\u1826" => 68, + "\u1827" => 68, + "\u1828" => 68, + "\u1829" => 68, + "\u182A" => 68, + "\u182B" => 68, + "\u182C" => 68, + "\u182D" => 68, + "\u182E" => 68, + "\u182F" => 68, + "\u1830" => 68, + "\u1831" => 68, + "\u1832" => 68, + "\u1833" => 68, + "\u1834" => 68, + "\u1835" => 68, + "\u1836" => 68, + "\u1837" => 68, + "\u1838" => 68, + "\u1839" => 68, + "\u183A" => 68, + "\u183B" => 68, + "\u183C" => 68, + "\u183D" => 68, + "\u183E" => 68, + "\u183F" => 68, + "\u1840" => 68, + "\u1841" => 68, + "\u1842" => 68, + "\u1843" => 68, + "\u1844" => 68, + "\u1845" => 68, + "\u1846" => 68, + "\u1847" => 68, + "\u1848" => 68, + "\u1849" => 68, + "\u184A" => 68, + "\u184B" => 68, + "\u184C" => 68, + "\u184D" => 68, + "\u184E" => 68, + "\u184F" => 68, + "\u1850" => 68, + "\u1851" => 68, + "\u1852" => 68, + "\u1853" => 68, + "\u1854" => 68, + "\u1855" => 68, + "\u1856" => 68, + "\u1857" => 68, + "\u1858" => 68, + "\u1859" => 68, + "\u185A" => 68, + "\u185B" => 68, + "\u185C" => 68, + "\u185D" => 68, + "\u185E" => 68, + "\u185F" => 68, + "\u1860" => 68, + "\u1861" => 68, + "\u1862" => 68, + "\u1863" => 68, + "\u1864" => 68, + "\u1865" => 68, + "\u1866" => 68, + "\u1867" => 68, + "\u1868" => 68, + "\u1869" => 68, + "\u186A" => 68, + "\u186B" => 68, + "\u186C" => 68, + "\u186D" => 68, + "\u186E" => 68, + "\u186F" => 68, + "\u1870" => 68, + "\u1871" => 68, + "\u1872" => 68, + "\u1873" => 68, + "\u1874" => 68, + "\u1875" => 68, + "\u1876" => 68, + "\u1877" => 68, + "\u1878" => 68, + "\u1880" => 85, + "\u1881" => 85, + "\u1882" => 85, + "\u1883" => 85, + "\u1884" => 85, + "\u1885" => 84, + "\u1886" => 84, + "\u1887" => 68, + "\u1888" => 68, + "\u1889" => 68, + "\u188A" => 68, + "\u188B" => 68, + "\u188C" => 68, + "\u188D" => 68, + "\u188E" => 68, + "\u188F" => 68, + "\u1890" => 68, + "\u1891" => 68, + "\u1892" => 68, + "\u1893" => 68, + "\u1894" => 68, + "\u1895" => 68, + "\u1896" => 68, + "\u1897" => 68, + "\u1898" => 68, + "\u1899" => 68, + "\u189A" => 68, + "\u189B" => 68, + "\u189C" => 68, + "\u189D" => 68, + "\u189E" => 68, + "\u189F" => 68, + "\u18A0" => 68, + "\u18A1" => 68, + "\u18A2" => 68, + "\u18A3" => 68, + "\u18A4" => 68, + "\u18A5" => 68, + "\u18A6" => 68, + "\u18A7" => 68, + "\u18A8" => 68, + "\u18AA" => 68, + "\u200C" => 85, + "\u200D" => 67, + "\u202F" => 85, + "\u2066" => 85, + "\u2067" => 85, + "\u2068" => 85, + "\u2069" => 85, + "\uA840" => 68, + "\uA841" => 68, + "\uA842" => 68, + "\uA843" => 68, + "\uA844" => 68, + "\uA845" => 68, + "\uA846" => 68, + "\uA847" => 68, + "\uA848" => 68, + "\uA849" => 68, + "\uA84A" => 68, + "\uA84B" => 68, + "\uA84C" => 68, + "\uA84D" => 68, + "\uA84E" => 68, + "\uA84F" => 68, + "\uA850" => 68, + "\uA851" => 68, + "\uA852" => 68, + "\uA853" => 68, + "\uA854" => 68, + "\uA855" => 68, + "\uA856" => 68, + "\uA857" => 68, + "\uA858" => 68, + "\uA859" => 68, + "\uA85A" => 68, + "\uA85B" => 68, + "\uA85C" => 68, + "\uA85D" => 68, + "\uA85E" => 68, + "\uA85F" => 68, + "\uA860" => 68, + "\uA861" => 68, + "\uA862" => 68, + "\uA863" => 68, + "\uA864" => 68, + "\uA865" => 68, + "\uA866" => 68, + "\uA867" => 68, + "\uA868" => 68, + "\uA869" => 68, + "\uA86A" => 68, + "\uA86B" => 68, + "\uA86C" => 68, + "\uA86D" => 68, + "\uA86E" => 68, + "\uA86F" => 68, + "\uA870" => 68, + "\uA871" => 68, + "\uA872" => 76, + "\uA873" => 85, + "\u{10AC0}" => 68, + "\u{10AC1}" => 68, + "\u{10AC2}" => 68, + "\u{10AC3}" => 68, + "\u{10AC4}" => 68, + "\u{10AC5}" => 82, + "\u{10AC6}" => 85, + "\u{10AC7}" => 82, + "\u{10AC8}" => 85, + "\u{10AC9}" => 82, + "\u{10ACA}" => 82, + "\u{10ACB}" => 85, + "\u{10ACC}" => 85, + "\u{10ACD}" => 76, + "\u{10ACE}" => 82, + "\u{10ACF}" => 82, + "\u{10AD0}" => 82, + "\u{10AD1}" => 82, + "\u{10AD2}" => 82, + "\u{10AD3}" => 68, + "\u{10AD4}" => 68, + "\u{10AD5}" => 68, + "\u{10AD6}" => 68, + "\u{10AD7}" => 76, + "\u{10AD8}" => 68, + "\u{10AD9}" => 68, + "\u{10ADA}" => 68, + "\u{10ADB}" => 68, + "\u{10ADC}" => 68, + "\u{10ADD}" => 82, + "\u{10ADE}" => 68, + "\u{10ADF}" => 68, + "\u{10AE0}" => 68, + "\u{10AE1}" => 82, + "\u{10AE2}" => 85, + "\u{10AE3}" => 85, + "\u{10AE4}" => 82, + "\u{10AEB}" => 68, + "\u{10AEC}" => 68, + "\u{10AED}" => 68, + "\u{10AEE}" => 68, + "\u{10AEF}" => 82, + "\u{10B80}" => 68, + "\u{10B81}" => 82, + "\u{10B82}" => 68, + "\u{10B83}" => 82, + "\u{10B84}" => 82, + "\u{10B85}" => 82, + "\u{10B86}" => 68, + "\u{10B87}" => 68, + "\u{10B88}" => 68, + "\u{10B89}" => 82, + "\u{10B8A}" => 68, + "\u{10B8B}" => 68, + "\u{10B8C}" => 82, + "\u{10B8D}" => 68, + "\u{10B8E}" => 82, + "\u{10B8F}" => 82, + "\u{10B90}" => 68, + "\u{10B91}" => 82, + "\u{10BA9}" => 82, + "\u{10BAA}" => 82, + "\u{10BAB}" => 82, + "\u{10BAC}" => 82, + "\u{10BAD}" => 68, + "\u{10BAE}" => 68, + "\u{10BAF}" => 85, + "\u{10D00}" => 76, + "\u{10D01}" => 68, + "\u{10D02}" => 68, + "\u{10D03}" => 68, + "\u{10D04}" => 68, + "\u{10D05}" => 68, + "\u{10D06}" => 68, + "\u{10D07}" => 68, + "\u{10D08}" => 68, + "\u{10D09}" => 68, + "\u{10D0A}" => 68, + "\u{10D0B}" => 68, + "\u{10D0C}" => 68, + "\u{10D0D}" => 68, + "\u{10D0E}" => 68, + "\u{10D0F}" => 68, + "\u{10D10}" => 68, + "\u{10D11}" => 68, + "\u{10D12}" => 68, + "\u{10D13}" => 68, + "\u{10D14}" => 68, + "\u{10D15}" => 68, + "\u{10D16}" => 68, + "\u{10D17}" => 68, + "\u{10D18}" => 68, + "\u{10D19}" => 68, + "\u{10D1A}" => 68, + "\u{10D1B}" => 68, + "\u{10D1C}" => 68, + "\u{10D1D}" => 68, + "\u{10D1E}" => 68, + "\u{10D1F}" => 68, + "\u{10D20}" => 68, + "\u{10D21}" => 68, + "\u{10D22}" => 82, + "\u{10D23}" => 68, + "\u{10F30}" => 68, + "\u{10F31}" => 68, + "\u{10F32}" => 68, + "\u{10F33}" => 82, + "\u{10F34}" => 68, + "\u{10F35}" => 68, + "\u{10F36}" => 68, + "\u{10F37}" => 68, + "\u{10F38}" => 68, + "\u{10F39}" => 68, + "\u{10F3A}" => 68, + "\u{10F3B}" => 68, + "\u{10F3C}" => 68, + "\u{10F3D}" => 68, + "\u{10F3E}" => 68, + "\u{10F3F}" => 68, + "\u{10F40}" => 68, + "\u{10F41}" => 68, + "\u{10F42}" => 68, + "\u{10F43}" => 68, + "\u{10F44}" => 68, + "\u{10F45}" => 85, + "\u{10F51}" => 68, + "\u{10F52}" => 68, + "\u{10F53}" => 68, + "\u{10F54}" => 82, + "\u{10F70}" => 68, + "\u{10F71}" => 68, + "\u{10F72}" => 68, + "\u{10F73}" => 68, + "\u{10F74}" => 82, + "\u{10F75}" => 82, + "\u{10F76}" => 68, + "\u{10F77}" => 68, + "\u{10F78}" => 68, + "\u{10F79}" => 68, + "\u{10F7A}" => 68, + "\u{10F7B}" => 68, + "\u{10F7C}" => 68, + "\u{10F7D}" => 68, + "\u{10F7E}" => 68, + "\u{10F7F}" => 68, + "\u{10F80}" => 68, + "\u{10F81}" => 68, + "\u{10FB0}" => 68, + "\u{10FB1}" => 85, + "\u{10FB2}" => 68, + "\u{10FB3}" => 68, + "\u{10FB4}" => 82, + "\u{10FB5}" => 82, + "\u{10FB6}" => 82, + "\u{10FB7}" => 85, + "\u{10FB8}" => 68, + "\u{10FB9}" => 82, + "\u{10FBA}" => 82, + "\u{10FBB}" => 68, + "\u{10FBC}" => 68, + "\u{10FBD}" => 82, + "\u{10FBE}" => 68, + "\u{10FBF}" => 68, + "\u{10FC0}" => 85, + "\u{10FC1}" => 68, + "\u{10FC2}" => 82, + "\u{10FC3}" => 82, + "\u{10FC4}" => 68, + "\u{10FC5}" => 85, + "\u{10FC6}" => 85, + "\u{10FC7}" => 85, + "\u{10FC8}" => 85, + "\u{10FC9}" => 82, + "\u{10FCA}" => 68, + "\u{10FCB}" => 76, + "\u{110BD}" => 85, + "\u{110CD}" => 85, + "\u{1E900}" => 68, + "\u{1E901}" => 68, + "\u{1E902}" => 68, + "\u{1E903}" => 68, + "\u{1E904}" => 68, + "\u{1E905}" => 68, + "\u{1E906}" => 68, + "\u{1E907}" => 68, + "\u{1E908}" => 68, + "\u{1E909}" => 68, + "\u{1E90A}" => 68, + "\u{1E90B}" => 68, + "\u{1E90C}" => 68, + "\u{1E90D}" => 68, + "\u{1E90E}" => 68, + "\u{1E90F}" => 68, + "\u{1E910}" => 68, + "\u{1E911}" => 68, + "\u{1E912}" => 68, + "\u{1E913}" => 68, + "\u{1E914}" => 68, + "\u{1E915}" => 68, + "\u{1E916}" => 68, + "\u{1E917}" => 68, + "\u{1E918}" => 68, + "\u{1E919}" => 68, + "\u{1E91A}" => 68, + "\u{1E91B}" => 68, + "\u{1E91C}" => 68, + "\u{1E91D}" => 68, + "\u{1E91E}" => 68, + "\u{1E91F}" => 68, + "\u{1E920}" => 68, + "\u{1E921}" => 68, + "\u{1E922}" => 68, + "\u{1E923}" => 68, + "\u{1E924}" => 68, + "\u{1E925}" => 68, + "\u{1E926}" => 68, + "\u{1E927}" => 68, + "\u{1E928}" => 68, + "\u{1E929}" => 68, + "\u{1E92A}" => 68, + "\u{1E92B}" => 68, + "\u{1E92C}" => 68, + "\u{1E92D}" => 68, + "\u{1E92E}" => 68, + "\u{1E92F}" => 68, + "\u{1E930}" => 68, + "\u{1E931}" => 68, + "\u{1E932}" => 68, + "\u{1E933}" => 68, + "\u{1E934}" => 68, + "\u{1E935}" => 68, + "\u{1E936}" => 68, + "\u{1E937}" => 68, + "\u{1E938}" => 68, + "\u{1E939}" => 68, + "\u{1E93A}" => 68, + "\u{1E93B}" => 68, + "\u{1E93C}" => 68, + "\u{1E93D}" => 68, + "\u{1E93E}" => 68, + "\u{1E93F}" => 68, + "\u{1E940}" => 68, + "\u{1E941}" => 68, + "\u{1E942}" => 68, + "\u{1E943}" => 68, + "\u{1E94B}" => 84, + }.freeze + end +end diff --git a/lib/uri/idna/data/leading_combiners.rb b/lib/uri/idna/data/leading_combiners.rb new file mode 100644 index 0000000..472b7c4 --- /dev/null +++ b/lib/uri/idna/data/leading_combiners.rb @@ -0,0 +1,321 @@ +# frozen_string_literal: true + +# This file is automatically generated by bin/generate +# Unicode version 15.1.0 + +module URI + module IDNA + LEADING_COMBINERS = "["\ + "\u0300-\u036F"\ + "\u0483-\u0489"\ + "\u0591-\u05BD"\ + "\u05BF"\ + "\u05C1\u05C2"\ + "\u05C4\u05C5"\ + "\u05C7"\ + "\u0610-\u061A"\ + "\u064B-\u065F"\ + "\u0670"\ + "\u06D6-\u06DC"\ + "\u06DF-\u06E4"\ + "\u06E7\u06E8"\ + "\u06EA-\u06ED"\ + "\u0711"\ + "\u0730-\u074A"\ + "\u07A6-\u07B0"\ + "\u07EB-\u07F3"\ + "\u07FD"\ + "\u0816-\u0819"\ + "\u081B-\u0823"\ + "\u0825-\u0827"\ + "\u0829-\u082D"\ + "\u0859-\u085B"\ + "\u0898-\u089F"\ + "\u08CA-\u08E1"\ + "\u08E3-\u0903"\ + "\u093A-\u093C"\ + "\u093E-\u094F"\ + "\u0951-\u0957"\ + "\u0962\u0963"\ + "\u0981-\u0983"\ + "\u09BC"\ + "\u09BE-\u09C4"\ + "\u09C7\u09C8"\ + "\u09CB-\u09CD"\ + "\u09D7"\ + "\u09E2\u09E3"\ + "\u09FE"\ + "\u0A01-\u0A03"\ + "\u0A3C"\ + "\u0A3E-\u0A42"\ + "\u0A47\u0A48"\ + "\u0A4B-\u0A4D"\ + "\u0A51"\ + "\u0A70\u0A71"\ + "\u0A75"\ + "\u0A81-\u0A83"\ + "\u0ABC"\ + "\u0ABE-\u0AC5"\ + "\u0AC7-\u0AC9"\ + "\u0ACB-\u0ACD"\ + "\u0AE2\u0AE3"\ + "\u0AFA-\u0AFF"\ + "\u0B01-\u0B03"\ + "\u0B3C"\ + "\u0B3E-\u0B44"\ + "\u0B47\u0B48"\ + "\u0B4B-\u0B4D"\ + "\u0B55-\u0B57"\ + "\u0B62\u0B63"\ + "\u0B82"\ + "\u0BBE-\u0BC2"\ + "\u0BC6-\u0BC8"\ + "\u0BCA-\u0BCD"\ + "\u0BD7"\ + "\u0C00-\u0C04"\ + "\u0C3C"\ + "\u0C3E-\u0C44"\ + "\u0C46-\u0C48"\ + "\u0C4A-\u0C4D"\ + "\u0C55\u0C56"\ + "\u0C62\u0C63"\ + "\u0C81-\u0C83"\ + "\u0CBC"\ + "\u0CBE-\u0CC4"\ + "\u0CC6-\u0CC8"\ + "\u0CCA-\u0CCD"\ + "\u0CD5\u0CD6"\ + "\u0CE2\u0CE3"\ + "\u0CF3"\ + "\u0D00-\u0D03"\ + "\u0D3B\u0D3C"\ + "\u0D3E-\u0D44"\ + "\u0D46-\u0D48"\ + "\u0D4A-\u0D4D"\ + "\u0D57"\ + "\u0D62\u0D63"\ + "\u0D81-\u0D83"\ + "\u0DCA"\ + "\u0DCF-\u0DD4"\ + "\u0DD6"\ + "\u0DD8-\u0DDF"\ + "\u0DF2\u0DF3"\ + "\u0E31"\ + "\u0E34-\u0E3A"\ + "\u0E47-\u0E4E"\ + "\u0EB1"\ + "\u0EB4-\u0EBC"\ + "\u0EC8-\u0ECE"\ + "\u0F18\u0F19"\ + "\u0F35"\ + "\u0F37"\ + "\u0F39"\ + "\u0F3E\u0F3F"\ + "\u0F71-\u0F84"\ + "\u0F86\u0F87"\ + "\u0F8D-\u0F97"\ + "\u0F99-\u0FBC"\ + "\u0FC6"\ + "\u102B-\u103E"\ + "\u1056-\u1059"\ + "\u105E-\u1060"\ + "\u1062-\u1064"\ + "\u1067-\u106D"\ + "\u1071-\u1074"\ + "\u1082-\u108D"\ + "\u108F"\ + "\u109A-\u109D"\ + "\u135D-\u135F"\ + "\u1712-\u1715"\ + "\u1732-\u1734"\ + "\u1752\u1753"\ + "\u1772\u1773"\ + "\u17B4-\u17D3"\ + "\u17DD"\ + "\u180B-\u180D"\ + "\u180F"\ + "\u1885\u1886"\ + "\u18A9"\ + "\u1920-\u192B"\ + "\u1930-\u193B"\ + "\u1A17-\u1A1B"\ + "\u1A55-\u1A5E"\ + "\u1A60-\u1A7C"\ + "\u1A7F"\ + "\u1AB0-\u1ACE"\ + "\u1B00-\u1B04"\ + "\u1B34-\u1B44"\ + "\u1B6B-\u1B73"\ + "\u1B80-\u1B82"\ + "\u1BA1-\u1BAD"\ + "\u1BE6-\u1BF3"\ + "\u1C24-\u1C37"\ + "\u1CD0-\u1CD2"\ + "\u1CD4-\u1CE8"\ + "\u1CED"\ + "\u1CF4"\ + "\u1CF7-\u1CF9"\ + "\u1DC0-\u1DFF"\ + "\u20D0-\u20F0"\ + "\u2CEF-\u2CF1"\ + "\u2D7F"\ + "\u2DE0-\u2DFF"\ + "\u302A-\u302F"\ + "\u3099\u309A"\ + "\uA66F-\uA672"\ + "\uA674-\uA67D"\ + "\uA69E\uA69F"\ + "\uA6F0\uA6F1"\ + "\uA802"\ + "\uA806"\ + "\uA80B"\ + "\uA823-\uA827"\ + "\uA82C"\ + "\uA880\uA881"\ + "\uA8B4-\uA8C5"\ + "\uA8E0-\uA8F1"\ + "\uA8FF"\ + "\uA926-\uA92D"\ + "\uA947-\uA953"\ + "\uA980-\uA983"\ + "\uA9B3-\uA9C0"\ + "\uA9E5"\ + "\uAA29-\uAA36"\ + "\uAA43"\ + "\uAA4C\uAA4D"\ + "\uAA7B-\uAA7D"\ + "\uAAB0"\ + "\uAAB2-\uAAB4"\ + "\uAAB7\uAAB8"\ + "\uAABE\uAABF"\ + "\uAAC1"\ + "\uAAEB-\uAAEF"\ + "\uAAF5\uAAF6"\ + "\uABE3-\uABEA"\ + "\uABEC\uABED"\ + "\uFB1E"\ + "\uFE00-\uFE0F"\ + "\uFE20-\uFE2F"\ + "\u{101FD}"\ + "\u{102E0}"\ + "\u{10376}-\u{1037A}"\ + "\u{10A01}-\u{10A03}"\ + "\u{10A05}\u{10A06}"\ + "\u{10A0C}-\u{10A0F}"\ + "\u{10A38}-\u{10A3A}"\ + "\u{10A3F}"\ + "\u{10AE5}\u{10AE6}"\ + "\u{10D24}-\u{10D27}"\ + "\u{10EAB}\u{10EAC}"\ + "\u{10EFD}-\u{10EFF}"\ + "\u{10F46}-\u{10F50}"\ + "\u{10F82}-\u{10F85}"\ + "\u{11000}-\u{11002}"\ + "\u{11038}-\u{11046}"\ + "\u{11070}"\ + "\u{11073}\u{11074}"\ + "\u{1107F}-\u{11082}"\ + "\u{110B0}-\u{110BA}"\ + "\u{110C2}"\ + "\u{11100}-\u{11102}"\ + "\u{11127}-\u{11134}"\ + "\u{11145}\u{11146}"\ + "\u{11173}"\ + "\u{11180}-\u{11182}"\ + "\u{111B3}-\u{111C0}"\ + "\u{111C9}-\u{111CC}"\ + "\u{111CE}\u{111CF}"\ + "\u{1122C}-\u{11237}"\ + "\u{1123E}"\ + "\u{11241}"\ + "\u{112DF}-\u{112EA}"\ + "\u{11300}-\u{11303}"\ + "\u{1133B}\u{1133C}"\ + "\u{1133E}-\u{11344}"\ + "\u{11347}\u{11348}"\ + "\u{1134B}-\u{1134D}"\ + "\u{11357}"\ + "\u{11362}\u{11363}"\ + "\u{11366}-\u{1136C}"\ + "\u{11370}-\u{11374}"\ + "\u{11435}-\u{11446}"\ + "\u{1145E}"\ + "\u{114B0}-\u{114C3}"\ + "\u{115AF}-\u{115B5}"\ + "\u{115B8}-\u{115C0}"\ + "\u{115DC}\u{115DD}"\ + "\u{11630}-\u{11640}"\ + "\u{116AB}-\u{116B7}"\ + "\u{1171D}-\u{1172B}"\ + "\u{1182C}-\u{1183A}"\ + "\u{11930}-\u{11935}"\ + "\u{11937}\u{11938}"\ + "\u{1193B}-\u{1193E}"\ + "\u{11940}"\ + "\u{11942}\u{11943}"\ + "\u{119D1}-\u{119D7}"\ + "\u{119DA}-\u{119E0}"\ + "\u{119E4}"\ + "\u{11A01}-\u{11A0A}"\ + "\u{11A33}-\u{11A39}"\ + "\u{11A3B}-\u{11A3E}"\ + "\u{11A47}"\ + "\u{11A51}-\u{11A5B}"\ + "\u{11A8A}-\u{11A99}"\ + "\u{11C2F}-\u{11C36}"\ + "\u{11C38}-\u{11C3F}"\ + "\u{11C92}-\u{11CA7}"\ + "\u{11CA9}-\u{11CB6}"\ + "\u{11D31}-\u{11D36}"\ + "\u{11D3A}"\ + "\u{11D3C}\u{11D3D}"\ + "\u{11D3F}-\u{11D45}"\ + "\u{11D47}"\ + "\u{11D8A}-\u{11D8E}"\ + "\u{11D90}\u{11D91}"\ + "\u{11D93}-\u{11D97}"\ + "\u{11EF3}-\u{11EF6}"\ + "\u{11F00}\u{11F01}"\ + "\u{11F03}"\ + "\u{11F34}-\u{11F3A}"\ + "\u{11F3E}-\u{11F42}"\ + "\u{13440}"\ + "\u{13447}-\u{13455}"\ + "\u{16AF0}-\u{16AF4}"\ + "\u{16B30}-\u{16B36}"\ + "\u{16F4F}"\ + "\u{16F51}-\u{16F87}"\ + "\u{16F8F}-\u{16F92}"\ + "\u{16FE4}"\ + "\u{16FF0}\u{16FF1}"\ + "\u{1BC9D}\u{1BC9E}"\ + "\u{1CF00}-\u{1CF2D}"\ + "\u{1CF30}-\u{1CF46}"\ + "\u{1D165}-\u{1D169}"\ + "\u{1D16D}-\u{1D172}"\ + "\u{1D17B}-\u{1D182}"\ + "\u{1D185}-\u{1D18B}"\ + "\u{1D1AA}-\u{1D1AD}"\ + "\u{1D242}-\u{1D244}"\ + "\u{1DA00}-\u{1DA36}"\ + "\u{1DA3B}-\u{1DA6C}"\ + "\u{1DA75}"\ + "\u{1DA84}"\ + "\u{1DA9B}-\u{1DA9F}"\ + "\u{1DAA1}-\u{1DAAF}"\ + "\u{1E000}-\u{1E006}"\ + "\u{1E008}-\u{1E018}"\ + "\u{1E01B}-\u{1E021}"\ + "\u{1E023}\u{1E024}"\ + "\u{1E026}-\u{1E02A}"\ + "\u{1E08F}"\ + "\u{1E130}-\u{1E136}"\ + "\u{1E2AE}"\ + "\u{1E2EC}-\u{1E2EF}"\ + "\u{1E4EC}-\u{1E4EF}"\ + "\u{1E8D0}-\u{1E8D6}"\ + "\u{1E944}-\u{1E94A}"\ + "\u{E0100}-\u{E01EF}"\ + "]" + end +end diff --git a/lib/uri/idna/data/scripts.rb b/lib/uri/idna/data/scripts.rb new file mode 100644 index 0000000..3f0a420 --- /dev/null +++ b/lib/uri/idna/data/scripts.rb @@ -0,0 +1,108 @@ +# frozen_string_literal: true + +# This file is automatically generated by bin/generate +# Unicode version 15.1.0 + +module URI + module IDNA + SCRIPTS = { + "Greek" => "["\ + "\u0370-\u0373"\ + "\u0375-\u0377"\ + "\u037A-\u037D"\ + "\u037F"\ + "\u0384"\ + "\u0386"\ + "\u0388-\u038A"\ + "\u038C"\ + "\u038E-\u03A1"\ + "\u03A3-\u03E1"\ + "\u03F0-\u03FF"\ + "\u1D26-\u1D2A"\ + "\u1D5D-\u1D61"\ + "\u1D66-\u1D6A"\ + "\u1DBF"\ + "\u1F00-\u1F15"\ + "\u1F18-\u1F1D"\ + "\u1F20-\u1F45"\ + "\u1F48-\u1F4D"\ + "\u1F50-\u1F57"\ + "\u1F59"\ + "\u1F5B"\ + "\u1F5D"\ + "\u1F5F-\u1F7D"\ + "\u1F80-\u1FB4"\ + "\u1FB6-\u1FC4"\ + "\u1FC6-\u1FD3"\ + "\u1FD6-\u1FDB"\ + "\u1FDD-\u1FEF"\ + "\u1FF2-\u1FF4"\ + "\u1FF6-\u1FFE"\ + "\u2126"\ + "\uAB65"\ + "\u{10140}-\u{1018E}"\ + "\u{101A0}"\ + "\u{1D200}-\u{1D245}"\ + "]", + "Han" => "["\ + "\u2E80-\u2E99"\ + "\u2E9B-\u2EF3"\ + "\u2F00-\u2FD5"\ + "\u3005"\ + "\u3007"\ + "\u3021-\u3029"\ + "\u3038-\u303B"\ + "\u3400-\u4DBF"\ + "\u4E00-\u9FFF"\ + "\uF900-\uFA6D"\ + "\uFA70-\uFAD9"\ + "\u{16FE2}\u{16FE3}"\ + "\u{16FF0}\u{16FF1}"\ + "\u{20000}-\u{2A6DF}"\ + "\u{2A700}-\u{2B739}"\ + "\u{2B740}-\u{2B81D}"\ + "\u{2B820}-\u{2CEA1}"\ + "\u{2CEB0}-\u{2EBE0}"\ + "\u{2EBF0}-\u{2EE5D}"\ + "\u{2F800}-\u{2FA1D}"\ + "\u{30000}-\u{3134A}"\ + "\u{31350}-\u{323AF}"\ + "]", + "Hebrew" => "["\ + "\u0591-\u05C7"\ + "\u05D0-\u05EA"\ + "\u05EF-\u05F4"\ + "\uFB1D-\uFB36"\ + "\uFB38-\uFB3C"\ + "\uFB3E"\ + "\uFB40\uFB41"\ + "\uFB43\uFB44"\ + "\uFB46-\uFB4F"\ + "]", + "Hiragana" => "["\ + "\u3041-\u3096"\ + "\u309D-\u309F"\ + "\u{1B001}-\u{1B11F}"\ + "\u{1B132}"\ + "\u{1B150}-\u{1B152}"\ + "\u{1F200}"\ + "]", + "Katakana" => "["\ + "\u30A1-\u30FA"\ + "\u30FD-\u30FF"\ + "\u31F0-\u31FF"\ + "\u32D0-\u32FE"\ + "\u3300-\u3357"\ + "\uFF66-\uFF6F"\ + "\uFF71-\uFF9D"\ + "\u{1AFF0}-\u{1AFF3}"\ + "\u{1AFF5}-\u{1AFFB}"\ + "\u{1AFFD}\u{1AFFE}"\ + "\u{1B000}"\ + "\u{1B120}-\u{1B122}"\ + "\u{1B155}"\ + "\u{1B164}-\u{1B167}"\ + "]", + }.freeze + end +end diff --git a/lib/uri/idna/data/unicode_version.rb b/lib/uri/idna/data/unicode_version.rb new file mode 100644 index 0000000..5402c90 --- /dev/null +++ b/lib/uri/idna/data/unicode_version.rb @@ -0,0 +1,10 @@ +# frozen_string_literal: true + +# This file is automatically generated by bin/generate +# Unicode version 15.1.0 + +module URI + module IDNA + UNICODE_VERSION = "15.1.0" + end +end diff --git a/lib/uri/idna/data/uts46.rb b/lib/uri/idna/data/uts46.rb index 1b5f186..7ee0856 100644 --- a/lib/uri/idna/data/uts46.rb +++ b/lib/uri/idna/data/uts46.rb @@ -5,8184 +5,8464 @@ module URI module IDNA - # IDNA Mapping Table from UTS46. - UTS46_DATA = [ - [0x0, "3"], - [0x1, "3"], - [0x2, "3"], - [0x3, "3"], - [0x4, "3"], - [0x5, "3"], - [0x6, "3"], - [0x7, "3"], - [0x8, "3"], - [0x9, "3"], - [0xA, "3"], - [0xB, "3"], - [0xC, "3"], - [0xD, "3"], - [0xE, "3"], - [0xF, "3"], - [0x10, "3"], - [0x11, "3"], - [0x12, "3"], - [0x13, "3"], - [0x14, "3"], - [0x15, "3"], - [0x16, "3"], - [0x17, "3"], - [0x18, "3"], - [0x19, "3"], - [0x1A, "3"], - [0x1B, "3"], - [0x1C, "3"], - [0x1D, "3"], - [0x1E, "3"], - [0x1F, "3"], - [0x20, "3"], - [0x21, "3"], - [0x22, "3"], - [0x23, "3"], - [0x24, "3"], - [0x25, "3"], - [0x26, "3"], - [0x27, "3"], - [0x28, "3"], - [0x29, "3"], - [0x2A, "3"], - [0x2B, "3"], - [0x2C, "3"], - [0x2D, "V"], - [0x2E, "V"], - [0x2F, "3"], - [0x30, "V"], - [0x31, "V"], - [0x32, "V"], - [0x33, "V"], - [0x34, "V"], - [0x35, "V"], - [0x36, "V"], - [0x37, "V"], - [0x38, "V"], - [0x39, "V"], - [0x3A, "3"], - [0x3B, "3"], - [0x3C, "3"], - [0x3D, "3"], - [0x3E, "3"], - [0x3F, "3"], - [0x40, "3"], - [0x41, "M", [0x0061]], - [0x42, "M", [0x0062]], - [0x43, "M", [0x0063]], - [0x44, "M", [0x0064]], - [0x45, "M", [0x0065]], - [0x46, "M", [0x0066]], - [0x47, "M", [0x0067]], - [0x48, "M", [0x0068]], - [0x49, "M", [0x0069]], - [0x4A, "M", [0x006A]], - [0x4B, "M", [0x006B]], - [0x4C, "M", [0x006C]], - [0x4D, "M", [0x006D]], - [0x4E, "M", [0x006E]], - [0x4F, "M", [0x006F]], - [0x50, "M", [0x0070]], - [0x51, "M", [0x0071]], - [0x52, "M", [0x0072]], - [0x53, "M", [0x0073]], - [0x54, "M", [0x0074]], - [0x55, "M", [0x0075]], - [0x56, "M", [0x0076]], - [0x57, "M", [0x0077]], - [0x58, "M", [0x0078]], - [0x59, "M", [0x0079]], - [0x5A, "M", [0x007A]], - [0x5B, "3"], - [0x5C, "3"], - [0x5D, "3"], - [0x5E, "3"], - [0x5F, "3"], - [0x60, "3"], - [0x61, "V"], - [0x62, "V"], - [0x63, "V"], - [0x64, "V"], - [0x65, "V"], - [0x66, "V"], - [0x67, "V"], - [0x68, "V"], - [0x69, "V"], - [0x6A, "V"], - [0x6B, "V"], - [0x6C, "V"], - [0x6D, "V"], - [0x6E, "V"], - [0x6F, "V"], - [0x70, "V"], - [0x71, "V"], - [0x72, "V"], - [0x73, "V"], - [0x74, "V"], - [0x75, "V"], - [0x76, "V"], - [0x77, "V"], - [0x78, "V"], - [0x79, "V"], - [0x7A, "V"], - [0x7B, "3"], - [0x7C, "3"], - [0x7D, "3"], - [0x7E, "3"], - [0x7F, "3"], - [0x80, "X"], - [0x81, "X"], - [0x82, "X"], - [0x83, "X"], - [0x84, "X"], - [0x85, "X"], - [0x86, "X"], - [0x87, "X"], - [0x88, "X"], - [0x89, "X"], - [0x8A, "X"], - [0x8B, "X"], - [0x8C, "X"], - [0x8D, "X"], - [0x8E, "X"], - [0x8F, "X"], - [0x90, "X"], - [0x91, "X"], - [0x92, "X"], - [0x93, "X"], - [0x94, "X"], - [0x95, "X"], - [0x96, "X"], - [0x97, "X"], - [0x98, "X"], - [0x99, "X"], - [0x9A, "X"], - [0x9B, "X"], - [0x9C, "X"], - [0x9D, "X"], - [0x9E, "X"], - [0x9F, "X"], - [0xA0, "3", [0x0020]], - [0xA1, "V"], - [0xA2, "V"], - [0xA3, "V"], - [0xA4, "V"], - [0xA5, "V"], - [0xA6, "V"], - [0xA7, "V"], - [0xA8, "3", [0x0020, 0x0308]], - [0xA9, "V"], - [0xAA, "M", [0x0061]], - [0xAB, "V"], - [0xAC, "V"], - [0xAD, "I"], - [0xAE, "V"], - [0xAF, "3", [0x0020, 0x0304]], - [0xB0, "V"], - [0xB1, "V"], - [0xB2, "M", [0x0032]], - [0xB3, "M", [0x0033]], - [0xB4, "3", [0x0020, 0x0301]], - [0xB5, "M", [0x03BC]], - [0xB6, "V"], - [0xB7, "V"], - [0xB8, "3", [0x0020, 0x0327]], - [0xB9, "M", [0x0031]], - [0xBA, "M", [0x006F]], - [0xBB, "V"], - [0xBC, "M", [0x0031, 0x2044, 0x0034]], - [0xBD, "M", [0x0031, 0x2044, 0x0032]], - [0xBE, "M", [0x0033, 0x2044, 0x0034]], - [0xBF, "V"], - [0xC0, "M", [0x00E0]], - [0xC1, "M", [0x00E1]], - [0xC2, "M", [0x00E2]], - [0xC3, "M", [0x00E3]], - [0xC4, "M", [0x00E4]], - [0xC5, "M", [0x00E5]], - [0xC6, "M", [0x00E6]], - [0xC7, "M", [0x00E7]], - [0xC8, "M", [0x00E8]], - [0xC9, "M", [0x00E9]], - [0xCA, "M", [0x00EA]], - [0xCB, "M", [0x00EB]], - [0xCC, "M", [0x00EC]], - [0xCD, "M", [0x00ED]], - [0xCE, "M", [0x00EE]], - [0xCF, "M", [0x00EF]], - [0xD0, "M", [0x00F0]], - [0xD1, "M", [0x00F1]], - [0xD2, "M", [0x00F2]], - [0xD3, "M", [0x00F3]], - [0xD4, "M", [0x00F4]], - [0xD5, "M", [0x00F5]], - [0xD6, "M", [0x00F6]], - [0xD7, "V"], - [0xD8, "M", [0x00F8]], - [0xD9, "M", [0x00F9]], - [0xDA, "M", [0x00FA]], - [0xDB, "M", [0x00FB]], - [0xDC, "M", [0x00FC]], - [0xDD, "M", [0x00FD]], - [0xDE, "M", [0x00FE]], - [0xDF, "D", [0x0073, 0x0073]], - [0xE0, "V"], - [0xE1, "V"], - [0xE2, "V"], - [0xE3, "V"], - [0xE4, "V"], - [0xE5, "V"], - [0xE6, "V"], - [0xE7, "V"], - [0xE8, "V"], - [0xE9, "V"], - [0xEA, "V"], - [0xEB, "V"], - [0xEC, "V"], - [0xED, "V"], - [0xEE, "V"], - [0xEF, "V"], - [0xF0, "V"], - [0xF1, "V"], - [0xF2, "V"], - [0xF3, "V"], - [0xF4, "V"], - [0xF5, "V"], - [0xF6, "V"], - [0xF7, "V"], - [0xF8, "V"], - [0xF9, "V"], - [0xFA, "V"], - [0xFB, "V"], - [0xFC, "V"], - [0xFD, "V"], - [0xFE, "V"], - [0xFF, "V"], - [0x100, "M", [0x0101]], - [0x101, "V"], - [0x102, "M", [0x0103]], - [0x103, "V"], - [0x104, "M", [0x0105]], - [0x105, "V"], - [0x106, "M", [0x0107]], - [0x107, "V"], - [0x108, "M", [0x0109]], - [0x109, "V"], - [0x10A, "M", [0x010B]], - [0x10B, "V"], - [0x10C, "M", [0x010D]], - [0x10D, "V"], - [0x10E, "M", [0x010F]], - [0x10F, "V"], - [0x110, "M", [0x0111]], - [0x111, "V"], - [0x112, "M", [0x0113]], - [0x113, "V"], - [0x114, "M", [0x0115]], - [0x115, "V"], - [0x116, "M", [0x0117]], - [0x117, "V"], - [0x118, "M", [0x0119]], - [0x119, "V"], - [0x11A, "M", [0x011B]], - [0x11B, "V"], - [0x11C, "M", [0x011D]], - [0x11D, "V"], - [0x11E, "M", [0x011F]], - [0x11F, "V"], - [0x120, "M", [0x0121]], - [0x121, "V"], - [0x122, "M", [0x0123]], - [0x123, "V"], - [0x124, "M", [0x0125]], - [0x125, "V"], - [0x126, "M", [0x0127]], - [0x127, "V"], - [0x128, "M", [0x0129]], - [0x129, "V"], - [0x12A, "M", [0x012B]], - [0x12B, "V"], - [0x12C, "M", [0x012D]], - [0x12D, "V"], - [0x12E, "M", [0x012F]], - [0x12F, "V"], - [0x130, "M", [0x0069, 0x0307]], - [0x131, "V"], - [0x132, "M", [0x0069, 0x006A]], - [0x134, "M", [0x0135]], - [0x135, "V"], - [0x136, "M", [0x0137]], - [0x137, "V"], - [0x139, "M", [0x013A]], - [0x13A, "V"], - [0x13B, "M", [0x013C]], - [0x13C, "V"], - [0x13D, "M", [0x013E]], - [0x13E, "V"], - [0x13F, "M", [0x006C, 0x00B7]], - [0x141, "M", [0x0142]], - [0x142, "V"], - [0x143, "M", [0x0144]], - [0x144, "V"], - [0x145, "M", [0x0146]], - [0x146, "V"], - [0x147, "M", [0x0148]], - [0x148, "V"], - [0x149, "M", [0x02BC, 0x006E]], - [0x14A, "M", [0x014B]], - [0x14B, "V"], - [0x14C, "M", [0x014D]], - [0x14D, "V"], - [0x14E, "M", [0x014F]], - [0x14F, "V"], - [0x150, "M", [0x0151]], - [0x151, "V"], - [0x152, "M", [0x0153]], - [0x153, "V"], - [0x154, "M", [0x0155]], - [0x155, "V"], - [0x156, "M", [0x0157]], - [0x157, "V"], - [0x158, "M", [0x0159]], - [0x159, "V"], - [0x15A, "M", [0x015B]], - [0x15B, "V"], - [0x15C, "M", [0x015D]], - [0x15D, "V"], - [0x15E, "M", [0x015F]], - [0x15F, "V"], - [0x160, "M", [0x0161]], - [0x161, "V"], - [0x162, "M", [0x0163]], - [0x163, "V"], - [0x164, "M", [0x0165]], - [0x165, "V"], - [0x166, "M", [0x0167]], - [0x167, "V"], - [0x168, "M", [0x0169]], - [0x169, "V"], - [0x16A, "M", [0x016B]], - [0x16B, "V"], - [0x16C, "M", [0x016D]], - [0x16D, "V"], - [0x16E, "M", [0x016F]], - [0x16F, "V"], - [0x170, "M", [0x0171]], - [0x171, "V"], - [0x172, "M", [0x0173]], - [0x173, "V"], - [0x174, "M", [0x0175]], - [0x175, "V"], - [0x176, "M", [0x0177]], - [0x177, "V"], - [0x178, "M", [0x00FF]], - [0x179, "M", [0x017A]], - [0x17A, "V"], - [0x17B, "M", [0x017C]], - [0x17C, "V"], - [0x17D, "M", [0x017E]], - [0x17E, "V"], - [0x17F, "M", [0x0073]], - [0x180, "V"], - [0x181, "M", [0x0253]], - [0x182, "M", [0x0183]], - [0x183, "V"], - [0x184, "M", [0x0185]], - [0x185, "V"], - [0x186, "M", [0x0254]], - [0x187, "M", [0x0188]], - [0x188, "V"], - [0x189, "M", [0x0256]], - [0x18A, "M", [0x0257]], - [0x18B, "M", [0x018C]], - [0x18C, "V"], - [0x18E, "M", [0x01DD]], - [0x18F, "M", [0x0259]], - [0x190, "M", [0x025B]], - [0x191, "M", [0x0192]], - [0x192, "V"], - [0x193, "M", [0x0260]], - [0x194, "M", [0x0263]], - [0x195, "V"], - [0x196, "M", [0x0269]], - [0x197, "M", [0x0268]], - [0x198, "M", [0x0199]], - [0x199, "V"], - [0x19C, "M", [0x026F]], - [0x19D, "M", [0x0272]], - [0x19E, "V"], - [0x19F, "M", [0x0275]], - [0x1A0, "M", [0x01A1]], - [0x1A1, "V"], - [0x1A2, "M", [0x01A3]], - [0x1A3, "V"], - [0x1A4, "M", [0x01A5]], - [0x1A5, "V"], - [0x1A6, "M", [0x0280]], - [0x1A7, "M", [0x01A8]], - [0x1A8, "V"], - [0x1A9, "M", [0x0283]], - [0x1AA, "V"], - [0x1AC, "M", [0x01AD]], - [0x1AD, "V"], - [0x1AE, "M", [0x0288]], - [0x1AF, "M", [0x01B0]], - [0x1B0, "V"], - [0x1B1, "M", [0x028A]], - [0x1B2, "M", [0x028B]], - [0x1B3, "M", [0x01B4]], - [0x1B4, "V"], - [0x1B5, "M", [0x01B6]], - [0x1B6, "V"], - [0x1B7, "M", [0x0292]], - [0x1B8, "M", [0x01B9]], - [0x1B9, "V"], - [0x1BC, "M", [0x01BD]], - [0x1BD, "V"], - [0x1C4, "M", [0x0064, 0x017E]], - [0x1C7, "M", [0x006C, 0x006A]], - [0x1CA, "M", [0x006E, 0x006A]], - [0x1CD, "M", [0x01CE]], - [0x1CE, "V"], - [0x1CF, "M", [0x01D0]], - [0x1D0, "V"], - [0x1D1, "M", [0x01D2]], - [0x1D2, "V"], - [0x1D3, "M", [0x01D4]], - [0x1D4, "V"], - [0x1D5, "M", [0x01D6]], - [0x1D6, "V"], - [0x1D7, "M", [0x01D8]], - [0x1D8, "V"], - [0x1D9, "M", [0x01DA]], - [0x1DA, "V"], - [0x1DB, "M", [0x01DC]], - [0x1DC, "V"], - [0x1DE, "M", [0x01DF]], - [0x1DF, "V"], - [0x1E0, "M", [0x01E1]], - [0x1E1, "V"], - [0x1E2, "M", [0x01E3]], - [0x1E3, "V"], - [0x1E4, "M", [0x01E5]], - [0x1E5, "V"], - [0x1E6, "M", [0x01E7]], - [0x1E7, "V"], - [0x1E8, "M", [0x01E9]], - [0x1E9, "V"], - [0x1EA, "M", [0x01EB]], - [0x1EB, "V"], - [0x1EC, "M", [0x01ED]], - [0x1ED, "V"], - [0x1EE, "M", [0x01EF]], - [0x1EF, "V"], - [0x1F1, "M", [0x0064, 0x007A]], - [0x1F4, "M", [0x01F5]], - [0x1F5, "V"], - [0x1F6, "M", [0x0195]], - [0x1F7, "M", [0x01BF]], - [0x1F8, "M", [0x01F9]], - [0x1F9, "V"], - [0x1FA, "M", [0x01FB]], - [0x1FB, "V"], - [0x1FC, "M", [0x01FD]], - [0x1FD, "V"], - [0x1FE, "M", [0x01FF]], - [0x1FF, "V"], - [0x200, "M", [0x0201]], - [0x201, "V"], - [0x202, "M", [0x0203]], - [0x203, "V"], - [0x204, "M", [0x0205]], - [0x205, "V"], - [0x206, "M", [0x0207]], - [0x207, "V"], - [0x208, "M", [0x0209]], - [0x209, "V"], - [0x20A, "M", [0x020B]], - [0x20B, "V"], - [0x20C, "M", [0x020D]], - [0x20D, "V"], - [0x20E, "M", [0x020F]], - [0x20F, "V"], - [0x210, "M", [0x0211]], - [0x211, "V"], - [0x212, "M", [0x0213]], - [0x213, "V"], - [0x214, "M", [0x0215]], - [0x215, "V"], - [0x216, "M", [0x0217]], - [0x217, "V"], - [0x218, "M", [0x0219]], - [0x219, "V"], - [0x21A, "M", [0x021B]], - [0x21B, "V"], - [0x21C, "M", [0x021D]], - [0x21D, "V"], - [0x21E, "M", [0x021F]], - [0x21F, "V"], - [0x220, "M", [0x019E]], - [0x221, "V"], - [0x222, "M", [0x0223]], - [0x223, "V"], - [0x224, "M", [0x0225]], - [0x225, "V"], - [0x226, "M", [0x0227]], - [0x227, "V"], - [0x228, "M", [0x0229]], - [0x229, "V"], - [0x22A, "M", [0x022B]], - [0x22B, "V"], - [0x22C, "M", [0x022D]], - [0x22D, "V"], - [0x22E, "M", [0x022F]], - [0x22F, "V"], - [0x230, "M", [0x0231]], - [0x231, "V"], - [0x232, "M", [0x0233]], - [0x233, "V"], - [0x23A, "M", [0x2C65]], - [0x23B, "M", [0x023C]], - [0x23C, "V"], - [0x23D, "M", [0x019A]], - [0x23E, "M", [0x2C66]], - [0x23F, "V"], - [0x241, "M", [0x0242]], - [0x242, "V"], - [0x243, "M", [0x0180]], - [0x244, "M", [0x0289]], - [0x245, "M", [0x028C]], - [0x246, "M", [0x0247]], - [0x247, "V"], - [0x248, "M", [0x0249]], - [0x249, "V"], - [0x24A, "M", [0x024B]], - [0x24B, "V"], - [0x24C, "M", [0x024D]], - [0x24D, "V"], - [0x24E, "M", [0x024F]], - [0x24F, "V"], - [0x2B0, "M", [0x0068]], - [0x2B1, "M", [0x0266]], - [0x2B2, "M", [0x006A]], - [0x2B3, "M", [0x0072]], - [0x2B4, "M", [0x0279]], - [0x2B5, "M", [0x027B]], - [0x2B6, "M", [0x0281]], - [0x2B7, "M", [0x0077]], - [0x2B8, "M", [0x0079]], - [0x2B9, "V"], - [0x2D8, "3", [0x0020, 0x0306]], - [0x2D9, "3", [0x0020, 0x0307]], - [0x2DA, "3", [0x0020, 0x030A]], - [0x2DB, "3", [0x0020, 0x0328]], - [0x2DC, "3", [0x0020, 0x0303]], - [0x2DD, "3", [0x0020, 0x030B]], - [0x2DE, "V"], - [0x2E0, "M", [0x0263]], - [0x2E1, "M", [0x006C]], - [0x2E2, "M", [0x0073]], - [0x2E3, "M", [0x0078]], - [0x2E4, "M", [0x0295]], - [0x2E5, "V"], - [0x340, "M", [0x0300]], - [0x341, "M", [0x0301]], - [0x342, "V"], - [0x343, "M", [0x0313]], - [0x344, "M", [0x0308, 0x0301]], - [0x345, "M", [0x03B9]], - [0x346, "V"], - [0x34F, "I"], - [0x350, "V"], - [0x370, "M", [0x0371]], - [0x371, "V"], - [0x372, "M", [0x0373]], - [0x373, "V"], - [0x374, "M", [0x02B9]], - [0x375, "V"], - [0x376, "M", [0x0377]], - [0x377, "V"], - [0x378, "X"], - [0x37A, "3", [0x0020, 0x03B9]], - [0x37B, "V"], - [0x37E, "3", [0x003B]], - [0x37F, "M", [0x03F3]], - [0x380, "X"], - [0x384, "3", [0x0020, 0x0301]], - [0x385, "3", [0x0020, 0x0308, 0x0301]], - [0x386, "M", [0x03AC]], - [0x387, "M", [0x00B7]], - [0x388, "M", [0x03AD]], - [0x389, "M", [0x03AE]], - [0x38A, "M", [0x03AF]], - [0x38B, "X"], - [0x38C, "M", [0x03CC]], - [0x38D, "X"], - [0x38E, "M", [0x03CD]], - [0x38F, "M", [0x03CE]], - [0x390, "V"], - [0x391, "M", [0x03B1]], - [0x392, "M", [0x03B2]], - [0x393, "M", [0x03B3]], - [0x394, "M", [0x03B4]], - [0x395, "M", [0x03B5]], - [0x396, "M", [0x03B6]], - [0x397, "M", [0x03B7]], - [0x398, "M", [0x03B8]], - [0x399, "M", [0x03B9]], - [0x39A, "M", [0x03BA]], - [0x39B, "M", [0x03BB]], - [0x39C, "M", [0x03BC]], - [0x39D, "M", [0x03BD]], - [0x39E, "M", [0x03BE]], - [0x39F, "M", [0x03BF]], - [0x3A0, "M", [0x03C0]], - [0x3A1, "M", [0x03C1]], - [0x3A2, "X"], - [0x3A3, "M", [0x03C3]], - [0x3A4, "M", [0x03C4]], - [0x3A5, "M", [0x03C5]], - [0x3A6, "M", [0x03C6]], - [0x3A7, "M", [0x03C7]], - [0x3A8, "M", [0x03C8]], - [0x3A9, "M", [0x03C9]], - [0x3AA, "M", [0x03CA]], - [0x3AB, "M", [0x03CB]], - [0x3AC, "V"], - [0x3C2, "D", [0x03C3]], - [0x3C3, "V"], - [0x3CF, "M", [0x03D7]], - [0x3D0, "M", [0x03B2]], - [0x3D1, "M", [0x03B8]], - [0x3D2, "M", [0x03C5]], - [0x3D3, "M", [0x03CD]], - [0x3D4, "M", [0x03CB]], - [0x3D5, "M", [0x03C6]], - [0x3D6, "M", [0x03C0]], - [0x3D7, "V"], - [0x3D8, "M", [0x03D9]], - [0x3D9, "V"], - [0x3DA, "M", [0x03DB]], - [0x3DB, "V"], - [0x3DC, "M", [0x03DD]], - [0x3DD, "V"], - [0x3DE, "M", [0x03DF]], - [0x3DF, "V"], - [0x3E0, "M", [0x03E1]], - [0x3E1, "V"], - [0x3E2, "M", [0x03E3]], - [0x3E3, "V"], - [0x3E4, "M", [0x03E5]], - [0x3E5, "V"], - [0x3E6, "M", [0x03E7]], - [0x3E7, "V"], - [0x3E8, "M", [0x03E9]], - [0x3E9, "V"], - [0x3EA, "M", [0x03EB]], - [0x3EB, "V"], - [0x3EC, "M", [0x03ED]], - [0x3ED, "V"], - [0x3EE, "M", [0x03EF]], - [0x3EF, "V"], - [0x3F0, "M", [0x03BA]], - [0x3F1, "M", [0x03C1]], - [0x3F2, "M", [0x03C3]], - [0x3F3, "V"], - [0x3F4, "M", [0x03B8]], - [0x3F5, "M", [0x03B5]], - [0x3F6, "V"], - [0x3F7, "M", [0x03F8]], - [0x3F8, "V"], - [0x3F9, "M", [0x03C3]], - [0x3FA, "M", [0x03FB]], - [0x3FB, "V"], - [0x3FD, "M", [0x037B]], - [0x3FE, "M", [0x037C]], - [0x3FF, "M", [0x037D]], - [0x400, "M", [0x0450]], - [0x401, "M", [0x0451]], - [0x402, "M", [0x0452]], - [0x403, "M", [0x0453]], - [0x404, "M", [0x0454]], - [0x405, "M", [0x0455]], - [0x406, "M", [0x0456]], - [0x407, "M", [0x0457]], - [0x408, "M", [0x0458]], - [0x409, "M", [0x0459]], - [0x40A, "M", [0x045A]], - [0x40B, "M", [0x045B]], - [0x40C, "M", [0x045C]], - [0x40D, "M", [0x045D]], - [0x40E, "M", [0x045E]], - [0x40F, "M", [0x045F]], - [0x410, "M", [0x0430]], - [0x411, "M", [0x0431]], - [0x412, "M", [0x0432]], - [0x413, "M", [0x0433]], - [0x414, "M", [0x0434]], - [0x415, "M", [0x0435]], - [0x416, "M", [0x0436]], - [0x417, "M", [0x0437]], - [0x418, "M", [0x0438]], - [0x419, "M", [0x0439]], - [0x41A, "M", [0x043A]], - [0x41B, "M", [0x043B]], - [0x41C, "M", [0x043C]], - [0x41D, "M", [0x043D]], - [0x41E, "M", [0x043E]], - [0x41F, "M", [0x043F]], - [0x420, "M", [0x0440]], - [0x421, "M", [0x0441]], - [0x422, "M", [0x0442]], - [0x423, "M", [0x0443]], - [0x424, "M", [0x0444]], - [0x425, "M", [0x0445]], - [0x426, "M", [0x0446]], - [0x427, "M", [0x0447]], - [0x428, "M", [0x0448]], - [0x429, "M", [0x0449]], - [0x42A, "M", [0x044A]], - [0x42B, "M", [0x044B]], - [0x42C, "M", [0x044C]], - [0x42D, "M", [0x044D]], - [0x42E, "M", [0x044E]], - [0x42F, "M", [0x044F]], - [0x430, "V"], - [0x460, "M", [0x0461]], - [0x461, "V"], - [0x462, "M", [0x0463]], - [0x463, "V"], - [0x464, "M", [0x0465]], - [0x465, "V"], - [0x466, "M", [0x0467]], - [0x467, "V"], - [0x468, "M", [0x0469]], - [0x469, "V"], - [0x46A, "M", [0x046B]], - [0x46B, "V"], - [0x46C, "M", [0x046D]], - [0x46D, "V"], - [0x46E, "M", [0x046F]], - [0x46F, "V"], - [0x470, "M", [0x0471]], - [0x471, "V"], - [0x472, "M", [0x0473]], - [0x473, "V"], - [0x474, "M", [0x0475]], - [0x475, "V"], - [0x476, "M", [0x0477]], - [0x477, "V"], - [0x478, "M", [0x0479]], - [0x479, "V"], - [0x47A, "M", [0x047B]], - [0x47B, "V"], - [0x47C, "M", [0x047D]], - [0x47D, "V"], - [0x47E, "M", [0x047F]], - [0x47F, "V"], - [0x480, "M", [0x0481]], - [0x481, "V"], - [0x48A, "M", [0x048B]], - [0x48B, "V"], - [0x48C, "M", [0x048D]], - [0x48D, "V"], - [0x48E, "M", [0x048F]], - [0x48F, "V"], - [0x490, "M", [0x0491]], - [0x491, "V"], - [0x492, "M", [0x0493]], - [0x493, "V"], - [0x494, "M", [0x0495]], - [0x495, "V"], - [0x496, "M", [0x0497]], - [0x497, "V"], - [0x498, "M", [0x0499]], - [0x499, "V"], - [0x49A, "M", [0x049B]], - [0x49B, "V"], - [0x49C, "M", [0x049D]], - [0x49D, "V"], - [0x49E, "M", [0x049F]], - [0x49F, "V"], - [0x4A0, "M", [0x04A1]], - [0x4A1, "V"], - [0x4A2, "M", [0x04A3]], - [0x4A3, "V"], - [0x4A4, "M", [0x04A5]], - [0x4A5, "V"], - [0x4A6, "M", [0x04A7]], - [0x4A7, "V"], - [0x4A8, "M", [0x04A9]], - [0x4A9, "V"], - [0x4AA, "M", [0x04AB]], - [0x4AB, "V"], - [0x4AC, "M", [0x04AD]], - [0x4AD, "V"], - [0x4AE, "M", [0x04AF]], - [0x4AF, "V"], - [0x4B0, "M", [0x04B1]], - [0x4B1, "V"], - [0x4B2, "M", [0x04B3]], - [0x4B3, "V"], - [0x4B4, "M", [0x04B5]], - [0x4B5, "V"], - [0x4B6, "M", [0x04B7]], - [0x4B7, "V"], - [0x4B8, "M", [0x04B9]], - [0x4B9, "V"], - [0x4BA, "M", [0x04BB]], - [0x4BB, "V"], - [0x4BC, "M", [0x04BD]], - [0x4BD, "V"], - [0x4BE, "M", [0x04BF]], - [0x4BF, "V"], - [0x4C0, "X"], - [0x4C1, "M", [0x04C2]], - [0x4C2, "V"], - [0x4C3, "M", [0x04C4]], - [0x4C4, "V"], - [0x4C5, "M", [0x04C6]], - [0x4C6, "V"], - [0x4C7, "M", [0x04C8]], - [0x4C8, "V"], - [0x4C9, "M", [0x04CA]], - [0x4CA, "V"], - [0x4CB, "M", [0x04CC]], - [0x4CC, "V"], - [0x4CD, "M", [0x04CE]], - [0x4CE, "V"], - [0x4D0, "M", [0x04D1]], - [0x4D1, "V"], - [0x4D2, "M", [0x04D3]], - [0x4D3, "V"], - [0x4D4, "M", [0x04D5]], - [0x4D5, "V"], - [0x4D6, "M", [0x04D7]], - [0x4D7, "V"], - [0x4D8, "M", [0x04D9]], - [0x4D9, "V"], - [0x4DA, "M", [0x04DB]], - [0x4DB, "V"], - [0x4DC, "M", [0x04DD]], - [0x4DD, "V"], - [0x4DE, "M", [0x04DF]], - [0x4DF, "V"], - [0x4E0, "M", [0x04E1]], - [0x4E1, "V"], - [0x4E2, "M", [0x04E3]], - [0x4E3, "V"], - [0x4E4, "M", [0x04E5]], - [0x4E5, "V"], - [0x4E6, "M", [0x04E7]], - [0x4E7, "V"], - [0x4E8, "M", [0x04E9]], - [0x4E9, "V"], - [0x4EA, "M", [0x04EB]], - [0x4EB, "V"], - [0x4EC, "M", [0x04ED]], - [0x4ED, "V"], - [0x4EE, "M", [0x04EF]], - [0x4EF, "V"], - [0x4F0, "M", [0x04F1]], - [0x4F1, "V"], - [0x4F2, "M", [0x04F3]], - [0x4F3, "V"], - [0x4F4, "M", [0x04F5]], - [0x4F5, "V"], - [0x4F6, "M", [0x04F7]], - [0x4F7, "V"], - [0x4F8, "M", [0x04F9]], - [0x4F9, "V"], - [0x4FA, "M", [0x04FB]], - [0x4FB, "V"], - [0x4FC, "M", [0x04FD]], - [0x4FD, "V"], - [0x4FE, "M", [0x04FF]], - [0x4FF, "V"], - [0x500, "M", [0x0501]], - [0x501, "V"], - [0x502, "M", [0x0503]], - [0x503, "V"], - [0x504, "M", [0x0505]], - [0x505, "V"], - [0x506, "M", [0x0507]], - [0x507, "V"], - [0x508, "M", [0x0509]], - [0x509, "V"], - [0x50A, "M", [0x050B]], - [0x50B, "V"], - [0x50C, "M", [0x050D]], - [0x50D, "V"], - [0x50E, "M", [0x050F]], - [0x50F, "V"], - [0x510, "M", [0x0511]], - [0x511, "V"], - [0x512, "M", [0x0513]], - [0x513, "V"], - [0x514, "M", [0x0515]], - [0x515, "V"], - [0x516, "M", [0x0517]], - [0x517, "V"], - [0x518, "M", [0x0519]], - [0x519, "V"], - [0x51A, "M", [0x051B]], - [0x51B, "V"], - [0x51C, "M", [0x051D]], - [0x51D, "V"], - [0x51E, "M", [0x051F]], - [0x51F, "V"], - [0x520, "M", [0x0521]], - [0x521, "V"], - [0x522, "M", [0x0523]], - [0x523, "V"], - [0x524, "M", [0x0525]], - [0x525, "V"], - [0x526, "M", [0x0527]], - [0x527, "V"], - [0x528, "M", [0x0529]], - [0x529, "V"], - [0x52A, "M", [0x052B]], - [0x52B, "V"], - [0x52C, "M", [0x052D]], - [0x52D, "V"], - [0x52E, "M", [0x052F]], - [0x52F, "V"], - [0x530, "X"], - [0x531, "M", [0x0561]], - [0x532, "M", [0x0562]], - [0x533, "M", [0x0563]], - [0x534, "M", [0x0564]], - [0x535, "M", [0x0565]], - [0x536, "M", [0x0566]], - [0x537, "M", [0x0567]], - [0x538, "M", [0x0568]], - [0x539, "M", [0x0569]], - [0x53A, "M", [0x056A]], - [0x53B, "M", [0x056B]], - [0x53C, "M", [0x056C]], - [0x53D, "M", [0x056D]], - [0x53E, "M", [0x056E]], - [0x53F, "M", [0x056F]], - [0x540, "M", [0x0570]], - [0x541, "M", [0x0571]], - [0x542, "M", [0x0572]], - [0x543, "M", [0x0573]], - [0x544, "M", [0x0574]], - [0x545, "M", [0x0575]], - [0x546, "M", [0x0576]], - [0x547, "M", [0x0577]], - [0x548, "M", [0x0578]], - [0x549, "M", [0x0579]], - [0x54A, "M", [0x057A]], - [0x54B, "M", [0x057B]], - [0x54C, "M", [0x057C]], - [0x54D, "M", [0x057D]], - [0x54E, "M", [0x057E]], - [0x54F, "M", [0x057F]], - [0x550, "M", [0x0580]], - [0x551, "M", [0x0581]], - [0x552, "M", [0x0582]], - [0x553, "M", [0x0583]], - [0x554, "M", [0x0584]], - [0x555, "M", [0x0585]], - [0x556, "M", [0x0586]], - [0x557, "X"], - [0x559, "V"], - [0x587, "M", [0x0565, 0x0582]], - [0x588, "V"], - [0x58B, "X"], - [0x58D, "V"], - [0x590, "X"], - [0x591, "V"], - [0x5C8, "X"], - [0x5D0, "V"], - [0x5EB, "X"], - [0x5EF, "V"], - [0x5F5, "X"], - [0x606, "V"], - [0x61C, "X"], - [0x61D, "V"], - [0x675, "M", [0x0627, 0x0674]], - [0x676, "M", [0x0648, 0x0674]], - [0x677, "M", [0x06C7, 0x0674]], - [0x678, "M", [0x064A, 0x0674]], - [0x679, "V"], - [0x6DD, "X"], - [0x6DE, "V"], - [0x70E, "X"], - [0x710, "V"], - [0x74B, "X"], - [0x74D, "V"], - [0x7B2, "X"], - [0x7C0, "V"], - [0x7FB, "X"], - [0x7FD, "V"], - [0x82E, "X"], - [0x830, "V"], - [0x83F, "X"], - [0x840, "V"], - [0x85C, "X"], - [0x85E, "V"], - [0x85F, "X"], - [0x860, "V"], - [0x86B, "X"], - [0x870, "V"], - [0x88F, "X"], - [0x898, "V"], - [0x8E2, "X"], - [0x8E3, "V"], - [0x958, "M", [0x0915, 0x093C]], - [0x959, "M", [0x0916, 0x093C]], - [0x95A, "M", [0x0917, 0x093C]], - [0x95B, "M", [0x091C, 0x093C]], - [0x95C, "M", [0x0921, 0x093C]], - [0x95D, "M", [0x0922, 0x093C]], - [0x95E, "M", [0x092B, 0x093C]], - [0x95F, "M", [0x092F, 0x093C]], - [0x960, "V"], - [0x984, "X"], - [0x985, "V"], - [0x98D, "X"], - [0x98F, "V"], - [0x991, "X"], - [0x993, "V"], - [0x9A9, "X"], - [0x9AA, "V"], - [0x9B1, "X"], - [0x9B2, "V"], - [0x9B3, "X"], - [0x9B6, "V"], - [0x9BA, "X"], - [0x9BC, "V"], - [0x9C5, "X"], - [0x9C7, "V"], - [0x9C9, "X"], - [0x9CB, "V"], - [0x9CF, "X"], - [0x9D7, "V"], - [0x9D8, "X"], - [0x9DC, "M", [0x09A1, 0x09BC]], - [0x9DD, "M", [0x09A2, 0x09BC]], - [0x9DE, "X"], - [0x9DF, "M", [0x09AF, 0x09BC]], - [0x9E0, "V"], - [0x9E4, "X"], - [0x9E6, "V"], - [0x9FF, "X"], - [0xA01, "V"], - [0xA04, "X"], - [0xA05, "V"], - [0xA0B, "X"], - [0xA0F, "V"], - [0xA11, "X"], - [0xA13, "V"], - [0xA29, "X"], - [0xA2A, "V"], - [0xA31, "X"], - [0xA32, "V"], - [0xA33, "M", [0x0A32, 0x0A3C]], - [0xA34, "X"], - [0xA35, "V"], - [0xA36, "M", [0x0A38, 0x0A3C]], - [0xA37, "X"], - [0xA38, "V"], - [0xA3A, "X"], - [0xA3C, "V"], - [0xA3D, "X"], - [0xA3E, "V"], - [0xA43, "X"], - [0xA47, "V"], - [0xA49, "X"], - [0xA4B, "V"], - [0xA4E, "X"], - [0xA51, "V"], - [0xA52, "X"], - [0xA59, "M", [0x0A16, 0x0A3C]], - [0xA5A, "M", [0x0A17, 0x0A3C]], - [0xA5B, "M", [0x0A1C, 0x0A3C]], - [0xA5C, "V"], - [0xA5D, "X"], - [0xA5E, "M", [0x0A2B, 0x0A3C]], - [0xA5F, "X"], - [0xA66, "V"], - [0xA77, "X"], - [0xA81, "V"], - [0xA84, "X"], - [0xA85, "V"], - [0xA8E, "X"], - [0xA8F, "V"], - [0xA92, "X"], - [0xA93, "V"], - [0xAA9, "X"], - [0xAAA, "V"], - [0xAB1, "X"], - [0xAB2, "V"], - [0xAB4, "X"], - [0xAB5, "V"], - [0xABA, "X"], - [0xABC, "V"], - [0xAC6, "X"], - [0xAC7, "V"], - [0xACA, "X"], - [0xACB, "V"], - [0xACE, "X"], - [0xAD0, "V"], - [0xAD1, "X"], - [0xAE0, "V"], - [0xAE4, "X"], - [0xAE6, "V"], - [0xAF2, "X"], - [0xAF9, "V"], - [0xB00, "X"], - [0xB01, "V"], - [0xB04, "X"], - [0xB05, "V"], - [0xB0D, "X"], - [0xB0F, "V"], - [0xB11, "X"], - [0xB13, "V"], - [0xB29, "X"], - [0xB2A, "V"], - [0xB31, "X"], - [0xB32, "V"], - [0xB34, "X"], - [0xB35, "V"], - [0xB3A, "X"], - [0xB3C, "V"], - [0xB45, "X"], - [0xB47, "V"], - [0xB49, "X"], - [0xB4B, "V"], - [0xB4E, "X"], - [0xB55, "V"], - [0xB58, "X"], - [0xB5C, "M", [0x0B21, 0x0B3C]], - [0xB5D, "M", [0x0B22, 0x0B3C]], - [0xB5E, "X"], - [0xB5F, "V"], - [0xB64, "X"], - [0xB66, "V"], - [0xB78, "X"], - [0xB82, "V"], - [0xB84, "X"], - [0xB85, "V"], - [0xB8B, "X"], - [0xB8E, "V"], - [0xB91, "X"], - [0xB92, "V"], - [0xB96, "X"], - [0xB99, "V"], - [0xB9B, "X"], - [0xB9C, "V"], - [0xB9D, "X"], - [0xB9E, "V"], - [0xBA0, "X"], - [0xBA3, "V"], - [0xBA5, "X"], - [0xBA8, "V"], - [0xBAB, "X"], - [0xBAE, "V"], - [0xBBA, "X"], - [0xBBE, "V"], - [0xBC3, "X"], - [0xBC6, "V"], - [0xBC9, "X"], - [0xBCA, "V"], - [0xBCE, "X"], - [0xBD0, "V"], - [0xBD1, "X"], - [0xBD7, "V"], - [0xBD8, "X"], - [0xBE6, "V"], - [0xBFB, "X"], - [0xC00, "V"], - [0xC0D, "X"], - [0xC0E, "V"], - [0xC11, "X"], - [0xC12, "V"], - [0xC29, "X"], - [0xC2A, "V"], - [0xC3A, "X"], - [0xC3C, "V"], - [0xC45, "X"], - [0xC46, "V"], - [0xC49, "X"], - [0xC4A, "V"], - [0xC4E, "X"], - [0xC55, "V"], - [0xC57, "X"], - [0xC58, "V"], - [0xC5B, "X"], - [0xC5D, "V"], - [0xC5E, "X"], - [0xC60, "V"], - [0xC64, "X"], - [0xC66, "V"], - [0xC70, "X"], - [0xC77, "V"], - [0xC8D, "X"], - [0xC8E, "V"], - [0xC91, "X"], - [0xC92, "V"], - [0xCA9, "X"], - [0xCAA, "V"], - [0xCB4, "X"], - [0xCB5, "V"], - [0xCBA, "X"], - [0xCBC, "V"], - [0xCC5, "X"], - [0xCC6, "V"], - [0xCC9, "X"], - [0xCCA, "V"], - [0xCCE, "X"], - [0xCD5, "V"], - [0xCD7, "X"], - [0xCDD, "V"], - [0xCDF, "X"], - [0xCE0, "V"], - [0xCE4, "X"], - [0xCE6, "V"], - [0xCF0, "X"], - [0xCF1, "V"], - [0xCF4, "X"], - [0xD00, "V"], - [0xD0D, "X"], - [0xD0E, "V"], - [0xD11, "X"], - [0xD12, "V"], - [0xD45, "X"], - [0xD46, "V"], - [0xD49, "X"], - [0xD4A, "V"], - [0xD50, "X"], - [0xD54, "V"], - [0xD64, "X"], - [0xD66, "V"], - [0xD80, "X"], - [0xD81, "V"], - [0xD84, "X"], - [0xD85, "V"], - [0xD97, "X"], - [0xD9A, "V"], - [0xDB2, "X"], - [0xDB3, "V"], - [0xDBC, "X"], - [0xDBD, "V"], - [0xDBE, "X"], - [0xDC0, "V"], - [0xDC7, "X"], - [0xDCA, "V"], - [0xDCB, "X"], - [0xDCF, "V"], - [0xDD5, "X"], - [0xDD6, "V"], - [0xDD7, "X"], - [0xDD8, "V"], - [0xDE0, "X"], - [0xDE6, "V"], - [0xDF0, "X"], - [0xDF2, "V"], - [0xDF5, "X"], - [0xE01, "V"], - [0xE33, "M", [0x0E4D, 0x0E32]], - [0xE34, "V"], - [0xE3B, "X"], - [0xE3F, "V"], - [0xE5C, "X"], - [0xE81, "V"], - [0xE83, "X"], - [0xE84, "V"], - [0xE85, "X"], - [0xE86, "V"], - [0xE8B, "X"], - [0xE8C, "V"], - [0xEA4, "X"], - [0xEA5, "V"], - [0xEA6, "X"], - [0xEA7, "V"], - [0xEB3, "M", [0x0ECD, 0x0EB2]], - [0xEB4, "V"], - [0xEBE, "X"], - [0xEC0, "V"], - [0xEC5, "X"], - [0xEC6, "V"], - [0xEC7, "X"], - [0xEC8, "V"], - [0xECF, "X"], - [0xED0, "V"], - [0xEDA, "X"], - [0xEDC, "M", [0x0EAB, 0x0E99]], - [0xEDD, "M", [0x0EAB, 0x0EA1]], - [0xEDE, "V"], - [0xEE0, "X"], - [0xF00, "V"], - [0xF0C, "M", [0x0F0B]], - [0xF0D, "V"], - [0xF43, "M", [0x0F42, 0x0FB7]], - [0xF44, "V"], - [0xF48, "X"], - [0xF49, "V"], - [0xF4D, "M", [0x0F4C, 0x0FB7]], - [0xF4E, "V"], - [0xF52, "M", [0x0F51, 0x0FB7]], - [0xF53, "V"], - [0xF57, "M", [0x0F56, 0x0FB7]], - [0xF58, "V"], - [0xF5C, "M", [0x0F5B, 0x0FB7]], - [0xF5D, "V"], - [0xF69, "M", [0x0F40, 0x0FB5]], - [0xF6A, "V"], - [0xF6D, "X"], - [0xF71, "V"], - [0xF73, "M", [0x0F71, 0x0F72]], - [0xF74, "V"], - [0xF75, "M", [0x0F71, 0x0F74]], - [0xF76, "M", [0x0FB2, 0x0F80]], - [0xF77, "M", [0x0FB2, 0x0F71, 0x0F80]], - [0xF78, "M", [0x0FB3, 0x0F80]], - [0xF79, "M", [0x0FB3, 0x0F71, 0x0F80]], - [0xF7A, "V"], - [0xF81, "M", [0x0F71, 0x0F80]], - [0xF82, "V"], - [0xF93, "M", [0x0F92, 0x0FB7]], - [0xF94, "V"], - [0xF98, "X"], - [0xF99, "V"], - [0xF9D, "M", [0x0F9C, 0x0FB7]], - [0xF9E, "V"], - [0xFA2, "M", [0x0FA1, 0x0FB7]], - [0xFA3, "V"], - [0xFA7, "M", [0x0FA6, 0x0FB7]], - [0xFA8, "V"], - [0xFAC, "M", [0x0FAB, 0x0FB7]], - [0xFAD, "V"], - [0xFB9, "M", [0x0F90, 0x0FB5]], - [0xFBA, "V"], - [0xFBD, "X"], - [0xFBE, "V"], - [0xFCD, "X"], - [0xFCE, "V"], - [0xFDB, "X"], - [0x1000, "V"], - [0x10A0, "X"], - [0x10C7, "M", [0x2D27]], - [0x10C8, "X"], - [0x10CD, "M", [0x2D2D]], - [0x10CE, "X"], - [0x10D0, "V"], - [0x10FC, "M", [0x10DC]], - [0x10FD, "V"], - [0x115F, "X"], - [0x1161, "V"], - [0x1249, "X"], - [0x124A, "V"], - [0x124E, "X"], - [0x1250, "V"], - [0x1257, "X"], - [0x1258, "V"], - [0x1259, "X"], - [0x125A, "V"], - [0x125E, "X"], - [0x1260, "V"], - [0x1289, "X"], - [0x128A, "V"], - [0x128E, "X"], - [0x1290, "V"], - [0x12B1, "X"], - [0x12B2, "V"], - [0x12B6, "X"], - [0x12B8, "V"], - [0x12BF, "X"], - [0x12C0, "V"], - [0x12C1, "X"], - [0x12C2, "V"], - [0x12C6, "X"], - [0x12C8, "V"], - [0x12D7, "X"], - [0x12D8, "V"], - [0x1311, "X"], - [0x1312, "V"], - [0x1316, "X"], - [0x1318, "V"], - [0x135B, "X"], - [0x135D, "V"], - [0x137D, "X"], - [0x1380, "V"], - [0x139A, "X"], - [0x13A0, "V"], - [0x13F6, "X"], - [0x13F8, "M", [0x13F0]], - [0x13F9, "M", [0x13F1]], - [0x13FA, "M", [0x13F2]], - [0x13FB, "M", [0x13F3]], - [0x13FC, "M", [0x13F4]], - [0x13FD, "M", [0x13F5]], - [0x13FE, "X"], - [0x1400, "V"], - [0x1680, "X"], - [0x1681, "V"], - [0x169D, "X"], - [0x16A0, "V"], - [0x16F9, "X"], - [0x1700, "V"], - [0x1716, "X"], - [0x171F, "V"], - [0x1737, "X"], - [0x1740, "V"], - [0x1754, "X"], - [0x1760, "V"], - [0x176D, "X"], - [0x176E, "V"], - [0x1771, "X"], - [0x1772, "V"], - [0x1774, "X"], - [0x1780, "V"], - [0x17B4, "X"], - [0x17B6, "V"], - [0x17DE, "X"], - [0x17E0, "V"], - [0x17EA, "X"], - [0x17F0, "V"], - [0x17FA, "X"], - [0x1800, "V"], - [0x1806, "X"], - [0x1807, "V"], - [0x180B, "I"], - [0x180E, "X"], - [0x180F, "I"], - [0x1810, "V"], - [0x181A, "X"], - [0x1820, "V"], - [0x1879, "X"], - [0x1880, "V"], - [0x18AB, "X"], - [0x18B0, "V"], - [0x18F6, "X"], - [0x1900, "V"], - [0x191F, "X"], - [0x1920, "V"], - [0x192C, "X"], - [0x1930, "V"], - [0x193C, "X"], - [0x1940, "V"], - [0x1941, "X"], - [0x1944, "V"], - [0x196E, "X"], - [0x1970, "V"], - [0x1975, "X"], - [0x1980, "V"], - [0x19AC, "X"], - [0x19B0, "V"], - [0x19CA, "X"], - [0x19D0, "V"], - [0x19DB, "X"], - [0x19DE, "V"], - [0x1A1C, "X"], - [0x1A1E, "V"], - [0x1A5F, "X"], - [0x1A60, "V"], - [0x1A7D, "X"], - [0x1A7F, "V"], - [0x1A8A, "X"], - [0x1A90, "V"], - [0x1A9A, "X"], - [0x1AA0, "V"], - [0x1AAE, "X"], - [0x1AB0, "V"], - [0x1ACF, "X"], - [0x1B00, "V"], - [0x1B4D, "X"], - [0x1B50, "V"], - [0x1B7F, "X"], - [0x1B80, "V"], - [0x1BF4, "X"], - [0x1BFC, "V"], - [0x1C38, "X"], - [0x1C3B, "V"], - [0x1C4A, "X"], - [0x1C4D, "V"], - [0x1C80, "M", [0x0432]], - [0x1C81, "M", [0x0434]], - [0x1C82, "M", [0x043E]], - [0x1C83, "M", [0x0441]], - [0x1C84, "M", [0x0442]], - [0x1C86, "M", [0x044A]], - [0x1C87, "M", [0x0463]], - [0x1C88, "M", [0xA64B]], - [0x1C89, "X"], - [0x1C90, "M", [0x10D0]], - [0x1C91, "M", [0x10D1]], - [0x1C92, "M", [0x10D2]], - [0x1C93, "M", [0x10D3]], - [0x1C94, "M", [0x10D4]], - [0x1C95, "M", [0x10D5]], - [0x1C96, "M", [0x10D6]], - [0x1C97, "M", [0x10D7]], - [0x1C98, "M", [0x10D8]], - [0x1C99, "M", [0x10D9]], - [0x1C9A, "M", [0x10DA]], - [0x1C9B, "M", [0x10DB]], - [0x1C9C, "M", [0x10DC]], - [0x1C9D, "M", [0x10DD]], - [0x1C9E, "M", [0x10DE]], - [0x1C9F, "M", [0x10DF]], - [0x1CA0, "M", [0x10E0]], - [0x1CA1, "M", [0x10E1]], - [0x1CA2, "M", [0x10E2]], - [0x1CA3, "M", [0x10E3]], - [0x1CA4, "M", [0x10E4]], - [0x1CA5, "M", [0x10E5]], - [0x1CA6, "M", [0x10E6]], - [0x1CA7, "M", [0x10E7]], - [0x1CA8, "M", [0x10E8]], - [0x1CA9, "M", [0x10E9]], - [0x1CAA, "M", [0x10EA]], - [0x1CAB, "M", [0x10EB]], - [0x1CAC, "M", [0x10EC]], - [0x1CAD, "M", [0x10ED]], - [0x1CAE, "M", [0x10EE]], - [0x1CAF, "M", [0x10EF]], - [0x1CB0, "M", [0x10F0]], - [0x1CB1, "M", [0x10F1]], - [0x1CB2, "M", [0x10F2]], - [0x1CB3, "M", [0x10F3]], - [0x1CB4, "M", [0x10F4]], - [0x1CB5, "M", [0x10F5]], - [0x1CB6, "M", [0x10F6]], - [0x1CB7, "M", [0x10F7]], - [0x1CB8, "M", [0x10F8]], - [0x1CB9, "M", [0x10F9]], - [0x1CBA, "M", [0x10FA]], - [0x1CBB, "X"], - [0x1CBD, "M", [0x10FD]], - [0x1CBE, "M", [0x10FE]], - [0x1CBF, "M", [0x10FF]], - [0x1CC0, "V"], - [0x1CC8, "X"], - [0x1CD0, "V"], - [0x1CFB, "X"], - [0x1D00, "V"], - [0x1D2C, "M", [0x0061]], - [0x1D2D, "M", [0x00E6]], - [0x1D2E, "M", [0x0062]], - [0x1D2F, "V"], - [0x1D30, "M", [0x0064]], - [0x1D31, "M", [0x0065]], - [0x1D32, "M", [0x01DD]], - [0x1D33, "M", [0x0067]], - [0x1D34, "M", [0x0068]], - [0x1D35, "M", [0x0069]], - [0x1D36, "M", [0x006A]], - [0x1D37, "M", [0x006B]], - [0x1D38, "M", [0x006C]], - [0x1D39, "M", [0x006D]], - [0x1D3A, "M", [0x006E]], - [0x1D3B, "V"], - [0x1D3C, "M", [0x006F]], - [0x1D3D, "M", [0x0223]], - [0x1D3E, "M", [0x0070]], - [0x1D3F, "M", [0x0072]], - [0x1D40, "M", [0x0074]], - [0x1D41, "M", [0x0075]], - [0x1D42, "M", [0x0077]], - [0x1D43, "M", [0x0061]], - [0x1D44, "M", [0x0250]], - [0x1D45, "M", [0x0251]], - [0x1D46, "M", [0x1D02]], - [0x1D47, "M", [0x0062]], - [0x1D48, "M", [0x0064]], - [0x1D49, "M", [0x0065]], - [0x1D4A, "M", [0x0259]], - [0x1D4B, "M", [0x025B]], - [0x1D4C, "M", [0x025C]], - [0x1D4D, "M", [0x0067]], - [0x1D4E, "V"], - [0x1D4F, "M", [0x006B]], - [0x1D50, "M", [0x006D]], - [0x1D51, "M", [0x014B]], - [0x1D52, "M", [0x006F]], - [0x1D53, "M", [0x0254]], - [0x1D54, "M", [0x1D16]], - [0x1D55, "M", [0x1D17]], - [0x1D56, "M", [0x0070]], - [0x1D57, "M", [0x0074]], - [0x1D58, "M", [0x0075]], - [0x1D59, "M", [0x1D1D]], - [0x1D5A, "M", [0x026F]], - [0x1D5B, "M", [0x0076]], - [0x1D5C, "M", [0x1D25]], - [0x1D5D, "M", [0x03B2]], - [0x1D5E, "M", [0x03B3]], - [0x1D5F, "M", [0x03B4]], - [0x1D60, "M", [0x03C6]], - [0x1D61, "M", [0x03C7]], - [0x1D62, "M", [0x0069]], - [0x1D63, "M", [0x0072]], - [0x1D64, "M", [0x0075]], - [0x1D65, "M", [0x0076]], - [0x1D66, "M", [0x03B2]], - [0x1D67, "M", [0x03B3]], - [0x1D68, "M", [0x03C1]], - [0x1D69, "M", [0x03C6]], - [0x1D6A, "M", [0x03C7]], - [0x1D6B, "V"], - [0x1D78, "M", [0x043D]], - [0x1D79, "V"], - [0x1D9B, "M", [0x0252]], - [0x1D9C, "M", [0x0063]], - [0x1D9D, "M", [0x0255]], - [0x1D9E, "M", [0x00F0]], - [0x1D9F, "M", [0x025C]], - [0x1DA0, "M", [0x0066]], - [0x1DA1, "M", [0x025F]], - [0x1DA2, "M", [0x0261]], - [0x1DA3, "M", [0x0265]], - [0x1DA4, "M", [0x0268]], - [0x1DA5, "M", [0x0269]], - [0x1DA6, "M", [0x026A]], - [0x1DA7, "M", [0x1D7B]], - [0x1DA8, "M", [0x029D]], - [0x1DA9, "M", [0x026D]], - [0x1DAA, "M", [0x1D85]], - [0x1DAB, "M", [0x029F]], - [0x1DAC, "M", [0x0271]], - [0x1DAD, "M", [0x0270]], - [0x1DAE, "M", [0x0272]], - [0x1DAF, "M", [0x0273]], - [0x1DB0, "M", [0x0274]], - [0x1DB1, "M", [0x0275]], - [0x1DB2, "M", [0x0278]], - [0x1DB3, "M", [0x0282]], - [0x1DB4, "M", [0x0283]], - [0x1DB5, "M", [0x01AB]], - [0x1DB6, "M", [0x0289]], - [0x1DB7, "M", [0x028A]], - [0x1DB8, "M", [0x1D1C]], - [0x1DB9, "M", [0x028B]], - [0x1DBA, "M", [0x028C]], - [0x1DBB, "M", [0x007A]], - [0x1DBC, "M", [0x0290]], - [0x1DBD, "M", [0x0291]], - [0x1DBE, "M", [0x0292]], - [0x1DBF, "M", [0x03B8]], - [0x1DC0, "V"], - [0x1E00, "M", [0x1E01]], - [0x1E01, "V"], - [0x1E02, "M", [0x1E03]], - [0x1E03, "V"], - [0x1E04, "M", [0x1E05]], - [0x1E05, "V"], - [0x1E06, "M", [0x1E07]], - [0x1E07, "V"], - [0x1E08, "M", [0x1E09]], - [0x1E09, "V"], - [0x1E0A, "M", [0x1E0B]], - [0x1E0B, "V"], - [0x1E0C, "M", [0x1E0D]], - [0x1E0D, "V"], - [0x1E0E, "M", [0x1E0F]], - [0x1E0F, "V"], - [0x1E10, "M", [0x1E11]], - [0x1E11, "V"], - [0x1E12, "M", [0x1E13]], - [0x1E13, "V"], - [0x1E14, "M", [0x1E15]], - [0x1E15, "V"], - [0x1E16, "M", [0x1E17]], - [0x1E17, "V"], - [0x1E18, "M", [0x1E19]], - [0x1E19, "V"], - [0x1E1A, "M", [0x1E1B]], - [0x1E1B, "V"], - [0x1E1C, "M", [0x1E1D]], - [0x1E1D, "V"], - [0x1E1E, "M", [0x1E1F]], - [0x1E1F, "V"], - [0x1E20, "M", [0x1E21]], - [0x1E21, "V"], - [0x1E22, "M", [0x1E23]], - [0x1E23, "V"], - [0x1E24, "M", [0x1E25]], - [0x1E25, "V"], - [0x1E26, "M", [0x1E27]], - [0x1E27, "V"], - [0x1E28, "M", [0x1E29]], - [0x1E29, "V"], - [0x1E2A, "M", [0x1E2B]], - [0x1E2B, "V"], - [0x1E2C, "M", [0x1E2D]], - [0x1E2D, "V"], - [0x1E2E, "M", [0x1E2F]], - [0x1E2F, "V"], - [0x1E30, "M", [0x1E31]], - [0x1E31, "V"], - [0x1E32, "M", [0x1E33]], - [0x1E33, "V"], - [0x1E34, "M", [0x1E35]], - [0x1E35, "V"], - [0x1E36, "M", [0x1E37]], - [0x1E37, "V"], - [0x1E38, "M", [0x1E39]], - [0x1E39, "V"], - [0x1E3A, "M", [0x1E3B]], - [0x1E3B, "V"], - [0x1E3C, "M", [0x1E3D]], - [0x1E3D, "V"], - [0x1E3E, "M", [0x1E3F]], - [0x1E3F, "V"], - [0x1E40, "M", [0x1E41]], - [0x1E41, "V"], - [0x1E42, "M", [0x1E43]], - [0x1E43, "V"], - [0x1E44, "M", [0x1E45]], - [0x1E45, "V"], - [0x1E46, "M", [0x1E47]], - [0x1E47, "V"], - [0x1E48, "M", [0x1E49]], - [0x1E49, "V"], - [0x1E4A, "M", [0x1E4B]], - [0x1E4B, "V"], - [0x1E4C, "M", [0x1E4D]], - [0x1E4D, "V"], - [0x1E4E, "M", [0x1E4F]], - [0x1E4F, "V"], - [0x1E50, "M", [0x1E51]], - [0x1E51, "V"], - [0x1E52, "M", [0x1E53]], - [0x1E53, "V"], - [0x1E54, "M", [0x1E55]], - [0x1E55, "V"], - [0x1E56, "M", [0x1E57]], - [0x1E57, "V"], - [0x1E58, "M", [0x1E59]], - [0x1E59, "V"], - [0x1E5A, "M", [0x1E5B]], - [0x1E5B, "V"], - [0x1E5C, "M", [0x1E5D]], - [0x1E5D, "V"], - [0x1E5E, "M", [0x1E5F]], - [0x1E5F, "V"], - [0x1E60, "M", [0x1E61]], - [0x1E61, "V"], - [0x1E62, "M", [0x1E63]], - [0x1E63, "V"], - [0x1E64, "M", [0x1E65]], - [0x1E65, "V"], - [0x1E66, "M", [0x1E67]], - [0x1E67, "V"], - [0x1E68, "M", [0x1E69]], - [0x1E69, "V"], - [0x1E6A, "M", [0x1E6B]], - [0x1E6B, "V"], - [0x1E6C, "M", [0x1E6D]], - [0x1E6D, "V"], - [0x1E6E, "M", [0x1E6F]], - [0x1E6F, "V"], - [0x1E70, "M", [0x1E71]], - [0x1E71, "V"], - [0x1E72, "M", [0x1E73]], - [0x1E73, "V"], - [0x1E74, "M", [0x1E75]], - [0x1E75, "V"], - [0x1E76, "M", [0x1E77]], - [0x1E77, "V"], - [0x1E78, "M", [0x1E79]], - [0x1E79, "V"], - [0x1E7A, "M", [0x1E7B]], - [0x1E7B, "V"], - [0x1E7C, "M", [0x1E7D]], - [0x1E7D, "V"], - [0x1E7E, "M", [0x1E7F]], - [0x1E7F, "V"], - [0x1E80, "M", [0x1E81]], - [0x1E81, "V"], - [0x1E82, "M", [0x1E83]], - [0x1E83, "V"], - [0x1E84, "M", [0x1E85]], - [0x1E85, "V"], - [0x1E86, "M", [0x1E87]], - [0x1E87, "V"], - [0x1E88, "M", [0x1E89]], - [0x1E89, "V"], - [0x1E8A, "M", [0x1E8B]], - [0x1E8B, "V"], - [0x1E8C, "M", [0x1E8D]], - [0x1E8D, "V"], - [0x1E8E, "M", [0x1E8F]], - [0x1E8F, "V"], - [0x1E90, "M", [0x1E91]], - [0x1E91, "V"], - [0x1E92, "M", [0x1E93]], - [0x1E93, "V"], - [0x1E94, "M", [0x1E95]], - [0x1E95, "V"], - [0x1E9A, "M", [0x0061, 0x02BE]], - [0x1E9B, "M", [0x1E61]], - [0x1E9C, "V"], - [0x1E9E, "M", [0x00DF]], - [0x1E9F, "V"], - [0x1EA0, "M", [0x1EA1]], - [0x1EA1, "V"], - [0x1EA2, "M", [0x1EA3]], - [0x1EA3, "V"], - [0x1EA4, "M", [0x1EA5]], - [0x1EA5, "V"], - [0x1EA6, "M", [0x1EA7]], - [0x1EA7, "V"], - [0x1EA8, "M", [0x1EA9]], - [0x1EA9, "V"], - [0x1EAA, "M", [0x1EAB]], - [0x1EAB, "V"], - [0x1EAC, "M", [0x1EAD]], - [0x1EAD, "V"], - [0x1EAE, "M", [0x1EAF]], - [0x1EAF, "V"], - [0x1EB0, "M", [0x1EB1]], - [0x1EB1, "V"], - [0x1EB2, "M", [0x1EB3]], - [0x1EB3, "V"], - [0x1EB4, "M", [0x1EB5]], - [0x1EB5, "V"], - [0x1EB6, "M", [0x1EB7]], - [0x1EB7, "V"], - [0x1EB8, "M", [0x1EB9]], - [0x1EB9, "V"], - [0x1EBA, "M", [0x1EBB]], - [0x1EBB, "V"], - [0x1EBC, "M", [0x1EBD]], - [0x1EBD, "V"], - [0x1EBE, "M", [0x1EBF]], - [0x1EBF, "V"], - [0x1EC0, "M", [0x1EC1]], - [0x1EC1, "V"], - [0x1EC2, "M", [0x1EC3]], - [0x1EC3, "V"], - [0x1EC4, "M", [0x1EC5]], - [0x1EC5, "V"], - [0x1EC6, "M", [0x1EC7]], - [0x1EC7, "V"], - [0x1EC8, "M", [0x1EC9]], - [0x1EC9, "V"], - [0x1ECA, "M", [0x1ECB]], - [0x1ECB, "V"], - [0x1ECC, "M", [0x1ECD]], - [0x1ECD, "V"], - [0x1ECE, "M", [0x1ECF]], - [0x1ECF, "V"], - [0x1ED0, "M", [0x1ED1]], - [0x1ED1, "V"], - [0x1ED2, "M", [0x1ED3]], - [0x1ED3, "V"], - [0x1ED4, "M", [0x1ED5]], - [0x1ED5, "V"], - [0x1ED6, "M", [0x1ED7]], - [0x1ED7, "V"], - [0x1ED8, "M", [0x1ED9]], - [0x1ED9, "V"], - [0x1EDA, "M", [0x1EDB]], - [0x1EDB, "V"], - [0x1EDC, "M", [0x1EDD]], - [0x1EDD, "V"], - [0x1EDE, "M", [0x1EDF]], - [0x1EDF, "V"], - [0x1EE0, "M", [0x1EE1]], - [0x1EE1, "V"], - [0x1EE2, "M", [0x1EE3]], - [0x1EE3, "V"], - [0x1EE4, "M", [0x1EE5]], - [0x1EE5, "V"], - [0x1EE6, "M", [0x1EE7]], - [0x1EE7, "V"], - [0x1EE8, "M", [0x1EE9]], - [0x1EE9, "V"], - [0x1EEA, "M", [0x1EEB]], - [0x1EEB, "V"], - [0x1EEC, "M", [0x1EED]], - [0x1EED, "V"], - [0x1EEE, "M", [0x1EEF]], - [0x1EEF, "V"], - [0x1EF0, "M", [0x1EF1]], - [0x1EF1, "V"], - [0x1EF2, "M", [0x1EF3]], - [0x1EF3, "V"], - [0x1EF4, "M", [0x1EF5]], - [0x1EF5, "V"], - [0x1EF6, "M", [0x1EF7]], - [0x1EF7, "V"], - [0x1EF8, "M", [0x1EF9]], - [0x1EF9, "V"], - [0x1EFA, "M", [0x1EFB]], - [0x1EFB, "V"], - [0x1EFC, "M", [0x1EFD]], - [0x1EFD, "V"], - [0x1EFE, "M", [0x1EFF]], - [0x1EFF, "V"], - [0x1F08, "M", [0x1F00]], - [0x1F09, "M", [0x1F01]], - [0x1F0A, "M", [0x1F02]], - [0x1F0B, "M", [0x1F03]], - [0x1F0C, "M", [0x1F04]], - [0x1F0D, "M", [0x1F05]], - [0x1F0E, "M", [0x1F06]], - [0x1F0F, "M", [0x1F07]], - [0x1F10, "V"], - [0x1F16, "X"], - [0x1F18, "M", [0x1F10]], - [0x1F19, "M", [0x1F11]], - [0x1F1A, "M", [0x1F12]], - [0x1F1B, "M", [0x1F13]], - [0x1F1C, "M", [0x1F14]], - [0x1F1D, "M", [0x1F15]], - [0x1F1E, "X"], - [0x1F20, "V"], - [0x1F28, "M", [0x1F20]], - [0x1F29, "M", [0x1F21]], - [0x1F2A, "M", [0x1F22]], - [0x1F2B, "M", [0x1F23]], - [0x1F2C, "M", [0x1F24]], - [0x1F2D, "M", [0x1F25]], - [0x1F2E, "M", [0x1F26]], - [0x1F2F, "M", [0x1F27]], - [0x1F30, "V"], - [0x1F38, "M", [0x1F30]], - [0x1F39, "M", [0x1F31]], - [0x1F3A, "M", [0x1F32]], - [0x1F3B, "M", [0x1F33]], - [0x1F3C, "M", [0x1F34]], - [0x1F3D, "M", [0x1F35]], - [0x1F3E, "M", [0x1F36]], - [0x1F3F, "M", [0x1F37]], - [0x1F40, "V"], - [0x1F46, "X"], - [0x1F48, "M", [0x1F40]], - [0x1F49, "M", [0x1F41]], - [0x1F4A, "M", [0x1F42]], - [0x1F4B, "M", [0x1F43]], - [0x1F4C, "M", [0x1F44]], - [0x1F4D, "M", [0x1F45]], - [0x1F4E, "X"], - [0x1F50, "V"], - [0x1F58, "X"], - [0x1F59, "M", [0x1F51]], - [0x1F5A, "X"], - [0x1F5B, "M", [0x1F53]], - [0x1F5C, "X"], - [0x1F5D, "M", [0x1F55]], - [0x1F5E, "X"], - [0x1F5F, "M", [0x1F57]], - [0x1F60, "V"], - [0x1F68, "M", [0x1F60]], - [0x1F69, "M", [0x1F61]], - [0x1F6A, "M", [0x1F62]], - [0x1F6B, "M", [0x1F63]], - [0x1F6C, "M", [0x1F64]], - [0x1F6D, "M", [0x1F65]], - [0x1F6E, "M", [0x1F66]], - [0x1F6F, "M", [0x1F67]], - [0x1F70, "V"], - [0x1F71, "M", [0x03AC]], - [0x1F72, "V"], - [0x1F73, "M", [0x03AD]], - [0x1F74, "V"], - [0x1F75, "M", [0x03AE]], - [0x1F76, "V"], - [0x1F77, "M", [0x03AF]], - [0x1F78, "V"], - [0x1F79, "M", [0x03CC]], - [0x1F7A, "V"], - [0x1F7B, "M", [0x03CD]], - [0x1F7C, "V"], - [0x1F7D, "M", [0x03CE]], - [0x1F7E, "X"], - [0x1F80, "M", [0x1F00, 0x03B9]], - [0x1F81, "M", [0x1F01, 0x03B9]], - [0x1F82, "M", [0x1F02, 0x03B9]], - [0x1F83, "M", [0x1F03, 0x03B9]], - [0x1F84, "M", [0x1F04, 0x03B9]], - [0x1F85, "M", [0x1F05, 0x03B9]], - [0x1F86, "M", [0x1F06, 0x03B9]], - [0x1F87, "M", [0x1F07, 0x03B9]], - [0x1F88, "M", [0x1F00, 0x03B9]], - [0x1F89, "M", [0x1F01, 0x03B9]], - [0x1F8A, "M", [0x1F02, 0x03B9]], - [0x1F8B, "M", [0x1F03, 0x03B9]], - [0x1F8C, "M", [0x1F04, 0x03B9]], - [0x1F8D, "M", [0x1F05, 0x03B9]], - [0x1F8E, "M", [0x1F06, 0x03B9]], - [0x1F8F, "M", [0x1F07, 0x03B9]], - [0x1F90, "M", [0x1F20, 0x03B9]], - [0x1F91, "M", [0x1F21, 0x03B9]], - [0x1F92, "M", [0x1F22, 0x03B9]], - [0x1F93, "M", [0x1F23, 0x03B9]], - [0x1F94, "M", [0x1F24, 0x03B9]], - [0x1F95, "M", [0x1F25, 0x03B9]], - [0x1F96, "M", [0x1F26, 0x03B9]], - [0x1F97, "M", [0x1F27, 0x03B9]], - [0x1F98, "M", [0x1F20, 0x03B9]], - [0x1F99, "M", [0x1F21, 0x03B9]], - [0x1F9A, "M", [0x1F22, 0x03B9]], - [0x1F9B, "M", [0x1F23, 0x03B9]], - [0x1F9C, "M", [0x1F24, 0x03B9]], - [0x1F9D, "M", [0x1F25, 0x03B9]], - [0x1F9E, "M", [0x1F26, 0x03B9]], - [0x1F9F, "M", [0x1F27, 0x03B9]], - [0x1FA0, "M", [0x1F60, 0x03B9]], - [0x1FA1, "M", [0x1F61, 0x03B9]], - [0x1FA2, "M", [0x1F62, 0x03B9]], - [0x1FA3, "M", [0x1F63, 0x03B9]], - [0x1FA4, "M", [0x1F64, 0x03B9]], - [0x1FA5, "M", [0x1F65, 0x03B9]], - [0x1FA6, "M", [0x1F66, 0x03B9]], - [0x1FA7, "M", [0x1F67, 0x03B9]], - [0x1FA8, "M", [0x1F60, 0x03B9]], - [0x1FA9, "M", [0x1F61, 0x03B9]], - [0x1FAA, "M", [0x1F62, 0x03B9]], - [0x1FAB, "M", [0x1F63, 0x03B9]], - [0x1FAC, "M", [0x1F64, 0x03B9]], - [0x1FAD, "M", [0x1F65, 0x03B9]], - [0x1FAE, "M", [0x1F66, 0x03B9]], - [0x1FAF, "M", [0x1F67, 0x03B9]], - [0x1FB0, "V"], - [0x1FB2, "M", [0x1F70, 0x03B9]], - [0x1FB3, "M", [0x03B1, 0x03B9]], - [0x1FB4, "M", [0x03AC, 0x03B9]], - [0x1FB5, "X"], - [0x1FB6, "V"], - [0x1FB7, "M", [0x1FB6, 0x03B9]], - [0x1FB8, "M", [0x1FB0]], - [0x1FB9, "M", [0x1FB1]], - [0x1FBA, "M", [0x1F70]], - [0x1FBB, "M", [0x03AC]], - [0x1FBC, "M", [0x03B1, 0x03B9]], - [0x1FBD, "3", [0x0020, 0x0313]], - [0x1FBE, "M", [0x03B9]], - [0x1FBF, "3", [0x0020, 0x0313]], - [0x1FC0, "3", [0x0020, 0x0342]], - [0x1FC1, "3", [0x0020, 0x0308, 0x0342]], - [0x1FC2, "M", [0x1F74, 0x03B9]], - [0x1FC3, "M", [0x03B7, 0x03B9]], - [0x1FC4, "M", [0x03AE, 0x03B9]], - [0x1FC5, "X"], - [0x1FC6, "V"], - [0x1FC7, "M", [0x1FC6, 0x03B9]], - [0x1FC8, "M", [0x1F72]], - [0x1FC9, "M", [0x03AD]], - [0x1FCA, "M", [0x1F74]], - [0x1FCB, "M", [0x03AE]], - [0x1FCC, "M", [0x03B7, 0x03B9]], - [0x1FCD, "3", [0x0020, 0x0313, 0x0300]], - [0x1FCE, "3", [0x0020, 0x0313, 0x0301]], - [0x1FCF, "3", [0x0020, 0x0313, 0x0342]], - [0x1FD0, "V"], - [0x1FD3, "M", [0x0390]], - [0x1FD4, "X"], - [0x1FD6, "V"], - [0x1FD8, "M", [0x1FD0]], - [0x1FD9, "M", [0x1FD1]], - [0x1FDA, "M", [0x1F76]], - [0x1FDB, "M", [0x03AF]], - [0x1FDC, "X"], - [0x1FDD, "3", [0x0020, 0x0314, 0x0300]], - [0x1FDE, "3", [0x0020, 0x0314, 0x0301]], - [0x1FDF, "3", [0x0020, 0x0314, 0x0342]], - [0x1FE0, "V"], - [0x1FE3, "M", [0x03B0]], - [0x1FE4, "V"], - [0x1FE8, "M", [0x1FE0]], - [0x1FE9, "M", [0x1FE1]], - [0x1FEA, "M", [0x1F7A]], - [0x1FEB, "M", [0x03CD]], - [0x1FEC, "M", [0x1FE5]], - [0x1FED, "3", [0x0020, 0x0308, 0x0300]], - [0x1FEE, "3", [0x0020, 0x0308, 0x0301]], - [0x1FEF, "3", [0x0060]], - [0x1FF0, "X"], - [0x1FF2, "M", [0x1F7C, 0x03B9]], - [0x1FF3, "M", [0x03C9, 0x03B9]], - [0x1FF4, "M", [0x03CE, 0x03B9]], - [0x1FF5, "X"], - [0x1FF6, "V"], - [0x1FF7, "M", [0x1FF6, 0x03B9]], - [0x1FF8, "M", [0x1F78]], - [0x1FF9, "M", [0x03CC]], - [0x1FFA, "M", [0x1F7C]], - [0x1FFB, "M", [0x03CE]], - [0x1FFC, "M", [0x03C9, 0x03B9]], - [0x1FFD, "3", [0x0020, 0x0301]], - [0x1FFE, "3", [0x0020, 0x0314]], - [0x1FFF, "X"], - [0x2000, "3", [0x0020]], - [0x200B, "I"], - [0x200C, "D", []], - [0x200E, "X"], - [0x2010, "V"], - [0x2011, "M", [0x2010]], - [0x2012, "V"], - [0x2017, "3", [0x0020, 0x0333]], - [0x2018, "V"], - [0x2024, "X"], - [0x2027, "V"], - [0x2028, "X"], - [0x202F, "3", [0x0020]], - [0x2030, "V"], - [0x2033, "M", [0x2032, 0x2032]], - [0x2034, "M", [0x2032, 0x2032, 0x2032]], - [0x2035, "V"], - [0x2036, "M", [0x2035, 0x2035]], - [0x2037, "M", [0x2035, 0x2035, 0x2035]], - [0x2038, "V"], - [0x203C, "3", [0x0021, 0x0021]], - [0x203D, "V"], - [0x203E, "3", [0x0020, 0x0305]], - [0x203F, "V"], - [0x2047, "3", [0x003F, 0x003F]], - [0x2048, "3", [0x003F, 0x0021]], - [0x2049, "3", [0x0021, 0x003F]], - [0x204A, "V"], - [0x2057, "M", [0x2032, 0x2032, 0x2032, 0x2032]], - [0x2058, "V"], - [0x205F, "3", [0x0020]], - [0x2060, "I"], - [0x2061, "X"], - [0x2064, "I"], - [0x2065, "X"], - [0x2070, "M", [0x0030]], - [0x2071, "M", [0x0069]], - [0x2072, "X"], - [0x2074, "M", [0x0034]], - [0x2075, "M", [0x0035]], - [0x2076, "M", [0x0036]], - [0x2077, "M", [0x0037]], - [0x2078, "M", [0x0038]], - [0x2079, "M", [0x0039]], - [0x207A, "3", [0x002B]], - [0x207B, "M", [0x2212]], - [0x207C, "3", [0x003D]], - [0x207D, "3", [0x0028]], - [0x207E, "3", [0x0029]], - [0x207F, "M", [0x006E]], - [0x2080, "M", [0x0030]], - [0x2081, "M", [0x0031]], - [0x2082, "M", [0x0032]], - [0x2083, "M", [0x0033]], - [0x2084, "M", [0x0034]], - [0x2085, "M", [0x0035]], - [0x2086, "M", [0x0036]], - [0x2087, "M", [0x0037]], - [0x2088, "M", [0x0038]], - [0x2089, "M", [0x0039]], - [0x208A, "3", [0x002B]], - [0x208B, "M", [0x2212]], - [0x208C, "3", [0x003D]], - [0x208D, "3", [0x0028]], - [0x208E, "3", [0x0029]], - [0x208F, "X"], - [0x2090, "M", [0x0061]], - [0x2091, "M", [0x0065]], - [0x2092, "M", [0x006F]], - [0x2093, "M", [0x0078]], - [0x2094, "M", [0x0259]], - [0x2095, "M", [0x0068]], - [0x2096, "M", [0x006B]], - [0x2097, "M", [0x006C]], - [0x2098, "M", [0x006D]], - [0x2099, "M", [0x006E]], - [0x209A, "M", [0x0070]], - [0x209B, "M", [0x0073]], - [0x209C, "M", [0x0074]], - [0x209D, "X"], - [0x20A0, "V"], - [0x20A8, "M", [0x0072, 0x0073]], - [0x20A9, "V"], - [0x20C1, "X"], - [0x20D0, "V"], - [0x20F1, "X"], - [0x2100, "3", [0x0061, 0x002F, 0x0063]], - [0x2101, "3", [0x0061, 0x002F, 0x0073]], - [0x2102, "M", [0x0063]], - [0x2103, "M", [0x00B0, 0x0063]], - [0x2104, "V"], - [0x2105, "3", [0x0063, 0x002F, 0x006F]], - [0x2106, "3", [0x0063, 0x002F, 0x0075]], - [0x2107, "M", [0x025B]], - [0x2108, "V"], - [0x2109, "M", [0x00B0, 0x0066]], - [0x210A, "M", [0x0067]], - [0x210B, "M", [0x0068]], - [0x210F, "M", [0x0127]], - [0x2110, "M", [0x0069]], - [0x2112, "M", [0x006C]], - [0x2114, "V"], - [0x2115, "M", [0x006E]], - [0x2116, "M", [0x006E, 0x006F]], - [0x2117, "V"], - [0x2119, "M", [0x0070]], - [0x211A, "M", [0x0071]], - [0x211B, "M", [0x0072]], - [0x211E, "V"], - [0x2120, "M", [0x0073, 0x006D]], - [0x2121, "M", [0x0074, 0x0065, 0x006C]], - [0x2122, "M", [0x0074, 0x006D]], - [0x2123, "V"], - [0x2124, "M", [0x007A]], - [0x2125, "V"], - [0x2126, "M", [0x03C9]], - [0x2127, "V"], - [0x2128, "M", [0x007A]], - [0x2129, "V"], - [0x212A, "M", [0x006B]], - [0x212B, "M", [0x00E5]], - [0x212C, "M", [0x0062]], - [0x212D, "M", [0x0063]], - [0x212E, "V"], - [0x212F, "M", [0x0065]], - [0x2131, "M", [0x0066]], - [0x2132, "X"], - [0x2133, "M", [0x006D]], - [0x2134, "M", [0x006F]], - [0x2135, "M", [0x05D0]], - [0x2136, "M", [0x05D1]], - [0x2137, "M", [0x05D2]], - [0x2138, "M", [0x05D3]], - [0x2139, "M", [0x0069]], - [0x213A, "V"], - [0x213B, "M", [0x0066, 0x0061, 0x0078]], - [0x213C, "M", [0x03C0]], - [0x213D, "M", [0x03B3]], - [0x213F, "M", [0x03C0]], - [0x2140, "M", [0x2211]], - [0x2141, "V"], - [0x2145, "M", [0x0064]], - [0x2147, "M", [0x0065]], - [0x2148, "M", [0x0069]], - [0x2149, "M", [0x006A]], - [0x214A, "V"], - [0x2150, "M", [0x0031, 0x2044, 0x0037]], - [0x2151, "M", [0x0031, 0x2044, 0x0039]], - [0x2152, "M", [0x0031, 0x2044, 0x0031, 0x0030]], - [0x2153, "M", [0x0031, 0x2044, 0x0033]], - [0x2154, "M", [0x0032, 0x2044, 0x0033]], - [0x2155, "M", [0x0031, 0x2044, 0x0035]], - [0x2156, "M", [0x0032, 0x2044, 0x0035]], - [0x2157, "M", [0x0033, 0x2044, 0x0035]], - [0x2158, "M", [0x0034, 0x2044, 0x0035]], - [0x2159, "M", [0x0031, 0x2044, 0x0036]], - [0x215A, "M", [0x0035, 0x2044, 0x0036]], - [0x215B, "M", [0x0031, 0x2044, 0x0038]], - [0x215C, "M", [0x0033, 0x2044, 0x0038]], - [0x215D, "M", [0x0035, 0x2044, 0x0038]], - [0x215E, "M", [0x0037, 0x2044, 0x0038]], - [0x215F, "M", [0x0031, 0x2044]], - [0x2160, "M", [0x0069]], - [0x2161, "M", [0x0069, 0x0069]], - [0x2162, "M", [0x0069, 0x0069, 0x0069]], - [0x2163, "M", [0x0069, 0x0076]], - [0x2164, "M", [0x0076]], - [0x2165, "M", [0x0076, 0x0069]], - [0x2166, "M", [0x0076, 0x0069, 0x0069]], - [0x2167, "M", [0x0076, 0x0069, 0x0069, 0x0069]], - [0x2168, "M", [0x0069, 0x0078]], - [0x2169, "M", [0x0078]], - [0x216A, "M", [0x0078, 0x0069]], - [0x216B, "M", [0x0078, 0x0069, 0x0069]], - [0x216C, "M", [0x006C]], - [0x216D, "M", [0x0063]], - [0x216E, "M", [0x0064]], - [0x216F, "M", [0x006D]], - [0x2170, "M", [0x0069]], - [0x2171, "M", [0x0069, 0x0069]], - [0x2172, "M", [0x0069, 0x0069, 0x0069]], - [0x2173, "M", [0x0069, 0x0076]], - [0x2174, "M", [0x0076]], - [0x2175, "M", [0x0076, 0x0069]], - [0x2176, "M", [0x0076, 0x0069, 0x0069]], - [0x2177, "M", [0x0076, 0x0069, 0x0069, 0x0069]], - [0x2178, "M", [0x0069, 0x0078]], - [0x2179, "M", [0x0078]], - [0x217A, "M", [0x0078, 0x0069]], - [0x217B, "M", [0x0078, 0x0069, 0x0069]], - [0x217C, "M", [0x006C]], - [0x217D, "M", [0x0063]], - [0x217E, "M", [0x0064]], - [0x217F, "M", [0x006D]], - [0x2180, "V"], - [0x2183, "X"], - [0x2184, "V"], - [0x2189, "M", [0x0030, 0x2044, 0x0033]], - [0x218A, "V"], - [0x218C, "X"], - [0x2190, "V"], - [0x222C, "M", [0x222B, 0x222B]], - [0x222D, "M", [0x222B, 0x222B, 0x222B]], - [0x222E, "V"], - [0x222F, "M", [0x222E, 0x222E]], - [0x2230, "M", [0x222E, 0x222E, 0x222E]], - [0x2231, "V"], - [0x2329, "M", [0x3008]], - [0x232A, "M", [0x3009]], - [0x232B, "V"], - [0x2427, "X"], - [0x2440, "V"], - [0x244B, "X"], - [0x2460, "M", [0x0031]], - [0x2461, "M", [0x0032]], - [0x2462, "M", [0x0033]], - [0x2463, "M", [0x0034]], - [0x2464, "M", [0x0035]], - [0x2465, "M", [0x0036]], - [0x2466, "M", [0x0037]], - [0x2467, "M", [0x0038]], - [0x2468, "M", [0x0039]], - [0x2469, "M", [0x0031, 0x0030]], - [0x246A, "M", [0x0031, 0x0031]], - [0x246B, "M", [0x0031, 0x0032]], - [0x246C, "M", [0x0031, 0x0033]], - [0x246D, "M", [0x0031, 0x0034]], - [0x246E, "M", [0x0031, 0x0035]], - [0x246F, "M", [0x0031, 0x0036]], - [0x2470, "M", [0x0031, 0x0037]], - [0x2471, "M", [0x0031, 0x0038]], - [0x2472, "M", [0x0031, 0x0039]], - [0x2473, "M", [0x0032, 0x0030]], - [0x2474, "3", [0x0028, 0x0031, 0x0029]], - [0x2475, "3", [0x0028, 0x0032, 0x0029]], - [0x2476, "3", [0x0028, 0x0033, 0x0029]], - [0x2477, "3", [0x0028, 0x0034, 0x0029]], - [0x2478, "3", [0x0028, 0x0035, 0x0029]], - [0x2479, "3", [0x0028, 0x0036, 0x0029]], - [0x247A, "3", [0x0028, 0x0037, 0x0029]], - [0x247B, "3", [0x0028, 0x0038, 0x0029]], - [0x247C, "3", [0x0028, 0x0039, 0x0029]], - [0x247D, "3", [0x0028, 0x0031, 0x0030, 0x0029]], - [0x247E, "3", [0x0028, 0x0031, 0x0031, 0x0029]], - [0x247F, "3", [0x0028, 0x0031, 0x0032, 0x0029]], - [0x2480, "3", [0x0028, 0x0031, 0x0033, 0x0029]], - [0x2481, "3", [0x0028, 0x0031, 0x0034, 0x0029]], - [0x2482, "3", [0x0028, 0x0031, 0x0035, 0x0029]], - [0x2483, "3", [0x0028, 0x0031, 0x0036, 0x0029]], - [0x2484, "3", [0x0028, 0x0031, 0x0037, 0x0029]], - [0x2485, "3", [0x0028, 0x0031, 0x0038, 0x0029]], - [0x2486, "3", [0x0028, 0x0031, 0x0039, 0x0029]], - [0x2487, "3", [0x0028, 0x0032, 0x0030, 0x0029]], - [0x2488, "X"], - [0x249C, "3", [0x0028, 0x0061, 0x0029]], - [0x249D, "3", [0x0028, 0x0062, 0x0029]], - [0x249E, "3", [0x0028, 0x0063, 0x0029]], - [0x249F, "3", [0x0028, 0x0064, 0x0029]], - [0x24A0, "3", [0x0028, 0x0065, 0x0029]], - [0x24A1, "3", [0x0028, 0x0066, 0x0029]], - [0x24A2, "3", [0x0028, 0x0067, 0x0029]], - [0x24A3, "3", [0x0028, 0x0068, 0x0029]], - [0x24A4, "3", [0x0028, 0x0069, 0x0029]], - [0x24A5, "3", [0x0028, 0x006A, 0x0029]], - [0x24A6, "3", [0x0028, 0x006B, 0x0029]], - [0x24A7, "3", [0x0028, 0x006C, 0x0029]], - [0x24A8, "3", [0x0028, 0x006D, 0x0029]], - [0x24A9, "3", [0x0028, 0x006E, 0x0029]], - [0x24AA, "3", [0x0028, 0x006F, 0x0029]], - [0x24AB, "3", [0x0028, 0x0070, 0x0029]], - [0x24AC, "3", [0x0028, 0x0071, 0x0029]], - [0x24AD, "3", [0x0028, 0x0072, 0x0029]], - [0x24AE, "3", [0x0028, 0x0073, 0x0029]], - [0x24AF, "3", [0x0028, 0x0074, 0x0029]], - [0x24B0, "3", [0x0028, 0x0075, 0x0029]], - [0x24B1, "3", [0x0028, 0x0076, 0x0029]], - [0x24B2, "3", [0x0028, 0x0077, 0x0029]], - [0x24B3, "3", [0x0028, 0x0078, 0x0029]], - [0x24B4, "3", [0x0028, 0x0079, 0x0029]], - [0x24B5, "3", [0x0028, 0x007A, 0x0029]], - [0x24B6, "M", [0x0061]], - [0x24B7, "M", [0x0062]], - [0x24B8, "M", [0x0063]], - [0x24B9, "M", [0x0064]], - [0x24BA, "M", [0x0065]], - [0x24BB, "M", [0x0066]], - [0x24BC, "M", [0x0067]], - [0x24BD, "M", [0x0068]], - [0x24BE, "M", [0x0069]], - [0x24BF, "M", [0x006A]], - [0x24C0, "M", [0x006B]], - [0x24C1, "M", [0x006C]], - [0x24C2, "M", [0x006D]], - [0x24C3, "M", [0x006E]], - [0x24C4, "M", [0x006F]], - [0x24C5, "M", [0x0070]], - [0x24C6, "M", [0x0071]], - [0x24C7, "M", [0x0072]], - [0x24C8, "M", [0x0073]], - [0x24C9, "M", [0x0074]], - [0x24CA, "M", [0x0075]], - [0x24CB, "M", [0x0076]], - [0x24CC, "M", [0x0077]], - [0x24CD, "M", [0x0078]], - [0x24CE, "M", [0x0079]], - [0x24CF, "M", [0x007A]], - [0x24D0, "M", [0x0061]], - [0x24D1, "M", [0x0062]], - [0x24D2, "M", [0x0063]], - [0x24D3, "M", [0x0064]], - [0x24D4, "M", [0x0065]], - [0x24D5, "M", [0x0066]], - [0x24D6, "M", [0x0067]], - [0x24D7, "M", [0x0068]], - [0x24D8, "M", [0x0069]], - [0x24D9, "M", [0x006A]], - [0x24DA, "M", [0x006B]], - [0x24DB, "M", [0x006C]], - [0x24DC, "M", [0x006D]], - [0x24DD, "M", [0x006E]], - [0x24DE, "M", [0x006F]], - [0x24DF, "M", [0x0070]], - [0x24E0, "M", [0x0071]], - [0x24E1, "M", [0x0072]], - [0x24E2, "M", [0x0073]], - [0x24E3, "M", [0x0074]], - [0x24E4, "M", [0x0075]], - [0x24E5, "M", [0x0076]], - [0x24E6, "M", [0x0077]], - [0x24E7, "M", [0x0078]], - [0x24E8, "M", [0x0079]], - [0x24E9, "M", [0x007A]], - [0x24EA, "M", [0x0030]], - [0x24EB, "V"], - [0x2A0C, "M", [0x222B, 0x222B, 0x222B, 0x222B]], - [0x2A0D, "V"], - [0x2A74, "3", [0x003A, 0x003A, 0x003D]], - [0x2A75, "3", [0x003D, 0x003D]], - [0x2A76, "3", [0x003D, 0x003D, 0x003D]], - [0x2A77, "V"], - [0x2ADC, "M", [0x2ADD, 0x0338]], - [0x2ADD, "V"], - [0x2B74, "X"], - [0x2B76, "V"], - [0x2B96, "X"], - [0x2B97, "V"], - [0x2C00, "M", [0x2C30]], - [0x2C01, "M", [0x2C31]], - [0x2C02, "M", [0x2C32]], - [0x2C03, "M", [0x2C33]], - [0x2C04, "M", [0x2C34]], - [0x2C05, "M", [0x2C35]], - [0x2C06, "M", [0x2C36]], - [0x2C07, "M", [0x2C37]], - [0x2C08, "M", [0x2C38]], - [0x2C09, "M", [0x2C39]], - [0x2C0A, "M", [0x2C3A]], - [0x2C0B, "M", [0x2C3B]], - [0x2C0C, "M", [0x2C3C]], - [0x2C0D, "M", [0x2C3D]], - [0x2C0E, "M", [0x2C3E]], - [0x2C0F, "M", [0x2C3F]], - [0x2C10, "M", [0x2C40]], - [0x2C11, "M", [0x2C41]], - [0x2C12, "M", [0x2C42]], - [0x2C13, "M", [0x2C43]], - [0x2C14, "M", [0x2C44]], - [0x2C15, "M", [0x2C45]], - [0x2C16, "M", [0x2C46]], - [0x2C17, "M", [0x2C47]], - [0x2C18, "M", [0x2C48]], - [0x2C19, "M", [0x2C49]], - [0x2C1A, "M", [0x2C4A]], - [0x2C1B, "M", [0x2C4B]], - [0x2C1C, "M", [0x2C4C]], - [0x2C1D, "M", [0x2C4D]], - [0x2C1E, "M", [0x2C4E]], - [0x2C1F, "M", [0x2C4F]], - [0x2C20, "M", [0x2C50]], - [0x2C21, "M", [0x2C51]], - [0x2C22, "M", [0x2C52]], - [0x2C23, "M", [0x2C53]], - [0x2C24, "M", [0x2C54]], - [0x2C25, "M", [0x2C55]], - [0x2C26, "M", [0x2C56]], - [0x2C27, "M", [0x2C57]], - [0x2C28, "M", [0x2C58]], - [0x2C29, "M", [0x2C59]], - [0x2C2A, "M", [0x2C5A]], - [0x2C2B, "M", [0x2C5B]], - [0x2C2C, "M", [0x2C5C]], - [0x2C2D, "M", [0x2C5D]], - [0x2C2E, "M", [0x2C5E]], - [0x2C2F, "M", [0x2C5F]], - [0x2C30, "V"], - [0x2C60, "M", [0x2C61]], - [0x2C61, "V"], - [0x2C62, "M", [0x026B]], - [0x2C63, "M", [0x1D7D]], - [0x2C64, "M", [0x027D]], - [0x2C65, "V"], - [0x2C67, "M", [0x2C68]], - [0x2C68, "V"], - [0x2C69, "M", [0x2C6A]], - [0x2C6A, "V"], - [0x2C6B, "M", [0x2C6C]], - [0x2C6C, "V"], - [0x2C6D, "M", [0x0251]], - [0x2C6E, "M", [0x0271]], - [0x2C6F, "M", [0x0250]], - [0x2C70, "M", [0x0252]], - [0x2C71, "V"], - [0x2C72, "M", [0x2C73]], - [0x2C73, "V"], - [0x2C75, "M", [0x2C76]], - [0x2C76, "V"], - [0x2C7C, "M", [0x006A]], - [0x2C7D, "M", [0x0076]], - [0x2C7E, "M", [0x023F]], - [0x2C7F, "M", [0x0240]], - [0x2C80, "M", [0x2C81]], - [0x2C81, "V"], - [0x2C82, "M", [0x2C83]], - [0x2C83, "V"], - [0x2C84, "M", [0x2C85]], - [0x2C85, "V"], - [0x2C86, "M", [0x2C87]], - [0x2C87, "V"], - [0x2C88, "M", [0x2C89]], - [0x2C89, "V"], - [0x2C8A, "M", [0x2C8B]], - [0x2C8B, "V"], - [0x2C8C, "M", [0x2C8D]], - [0x2C8D, "V"], - [0x2C8E, "M", [0x2C8F]], - [0x2C8F, "V"], - [0x2C90, "M", [0x2C91]], - [0x2C91, "V"], - [0x2C92, "M", [0x2C93]], - [0x2C93, "V"], - [0x2C94, "M", [0x2C95]], - [0x2C95, "V"], - [0x2C96, "M", [0x2C97]], - [0x2C97, "V"], - [0x2C98, "M", [0x2C99]], - [0x2C99, "V"], - [0x2C9A, "M", [0x2C9B]], - [0x2C9B, "V"], - [0x2C9C, "M", [0x2C9D]], - [0x2C9D, "V"], - [0x2C9E, "M", [0x2C9F]], - [0x2C9F, "V"], - [0x2CA0, "M", [0x2CA1]], - [0x2CA1, "V"], - [0x2CA2, "M", [0x2CA3]], - [0x2CA3, "V"], - [0x2CA4, "M", [0x2CA5]], - [0x2CA5, "V"], - [0x2CA6, "M", [0x2CA7]], - [0x2CA7, "V"], - [0x2CA8, "M", [0x2CA9]], - [0x2CA9, "V"], - [0x2CAA, "M", [0x2CAB]], - [0x2CAB, "V"], - [0x2CAC, "M", [0x2CAD]], - [0x2CAD, "V"], - [0x2CAE, "M", [0x2CAF]], - [0x2CAF, "V"], - [0x2CB0, "M", [0x2CB1]], - [0x2CB1, "V"], - [0x2CB2, "M", [0x2CB3]], - [0x2CB3, "V"], - [0x2CB4, "M", [0x2CB5]], - [0x2CB5, "V"], - [0x2CB6, "M", [0x2CB7]], - [0x2CB7, "V"], - [0x2CB8, "M", [0x2CB9]], - [0x2CB9, "V"], - [0x2CBA, "M", [0x2CBB]], - [0x2CBB, "V"], - [0x2CBC, "M", [0x2CBD]], - [0x2CBD, "V"], - [0x2CBE, "M", [0x2CBF]], - [0x2CBF, "V"], - [0x2CC0, "M", [0x2CC1]], - [0x2CC1, "V"], - [0x2CC2, "M", [0x2CC3]], - [0x2CC3, "V"], - [0x2CC4, "M", [0x2CC5]], - [0x2CC5, "V"], - [0x2CC6, "M", [0x2CC7]], - [0x2CC7, "V"], - [0x2CC8, "M", [0x2CC9]], - [0x2CC9, "V"], - [0x2CCA, "M", [0x2CCB]], - [0x2CCB, "V"], - [0x2CCC, "M", [0x2CCD]], - [0x2CCD, "V"], - [0x2CCE, "M", [0x2CCF]], - [0x2CCF, "V"], - [0x2CD0, "M", [0x2CD1]], - [0x2CD1, "V"], - [0x2CD2, "M", [0x2CD3]], - [0x2CD3, "V"], - [0x2CD4, "M", [0x2CD5]], - [0x2CD5, "V"], - [0x2CD6, "M", [0x2CD7]], - [0x2CD7, "V"], - [0x2CD8, "M", [0x2CD9]], - [0x2CD9, "V"], - [0x2CDA, "M", [0x2CDB]], - [0x2CDB, "V"], - [0x2CDC, "M", [0x2CDD]], - [0x2CDD, "V"], - [0x2CDE, "M", [0x2CDF]], - [0x2CDF, "V"], - [0x2CE0, "M", [0x2CE1]], - [0x2CE1, "V"], - [0x2CE2, "M", [0x2CE3]], - [0x2CE3, "V"], - [0x2CEB, "M", [0x2CEC]], - [0x2CEC, "V"], - [0x2CED, "M", [0x2CEE]], - [0x2CEE, "V"], - [0x2CF2, "M", [0x2CF3]], - [0x2CF3, "V"], - [0x2CF4, "X"], - [0x2CF9, "V"], - [0x2D26, "X"], - [0x2D27, "V"], - [0x2D28, "X"], - [0x2D2D, "V"], - [0x2D2E, "X"], - [0x2D30, "V"], - [0x2D68, "X"], - [0x2D6F, "M", [0x2D61]], - [0x2D70, "V"], - [0x2D71, "X"], - [0x2D7F, "V"], - [0x2D97, "X"], - [0x2DA0, "V"], - [0x2DA7, "X"], - [0x2DA8, "V"], - [0x2DAF, "X"], - [0x2DB0, "V"], - [0x2DB7, "X"], - [0x2DB8, "V"], - [0x2DBF, "X"], - [0x2DC0, "V"], - [0x2DC7, "X"], - [0x2DC8, "V"], - [0x2DCF, "X"], - [0x2DD0, "V"], - [0x2DD7, "X"], - [0x2DD8, "V"], - [0x2DDF, "X"], - [0x2DE0, "V"], - [0x2E5E, "X"], - [0x2E80, "V"], - [0x2E9A, "X"], - [0x2E9B, "V"], - [0x2E9F, "M", [0x6BCD]], - [0x2EA0, "V"], - [0x2EF3, "M", [0x9F9F]], - [0x2EF4, "X"], - [0x2F00, "M", [0x4E00]], - [0x2F01, "M", [0x4E28]], - [0x2F02, "M", [0x4E36]], - [0x2F03, "M", [0x4E3F]], - [0x2F04, "M", [0x4E59]], - [0x2F05, "M", [0x4E85]], - [0x2F06, "M", [0x4E8C]], - [0x2F07, "M", [0x4EA0]], - [0x2F08, "M", [0x4EBA]], - [0x2F09, "M", [0x513F]], - [0x2F0A, "M", [0x5165]], - [0x2F0B, "M", [0x516B]], - [0x2F0C, "M", [0x5182]], - [0x2F0D, "M", [0x5196]], - [0x2F0E, "M", [0x51AB]], - [0x2F0F, "M", [0x51E0]], - [0x2F10, "M", [0x51F5]], - [0x2F11, "M", [0x5200]], - [0x2F12, "M", [0x529B]], - [0x2F13, "M", [0x52F9]], - [0x2F14, "M", [0x5315]], - [0x2F15, "M", [0x531A]], - [0x2F16, "M", [0x5338]], - [0x2F17, "M", [0x5341]], - [0x2F18, "M", [0x535C]], - [0x2F19, "M", [0x5369]], - [0x2F1A, "M", [0x5382]], - [0x2F1B, "M", [0x53B6]], - [0x2F1C, "M", [0x53C8]], - [0x2F1D, "M", [0x53E3]], - [0x2F1E, "M", [0x56D7]], - [0x2F1F, "M", [0x571F]], - [0x2F20, "M", [0x58EB]], - [0x2F21, "M", [0x5902]], - [0x2F22, "M", [0x590A]], - [0x2F23, "M", [0x5915]], - [0x2F24, "M", [0x5927]], - [0x2F25, "M", [0x5973]], - [0x2F26, "M", [0x5B50]], - [0x2F27, "M", [0x5B80]], - [0x2F28, "M", [0x5BF8]], - [0x2F29, "M", [0x5C0F]], - [0x2F2A, "M", [0x5C22]], - [0x2F2B, "M", [0x5C38]], - [0x2F2C, "M", [0x5C6E]], - [0x2F2D, "M", [0x5C71]], - [0x2F2E, "M", [0x5DDB]], - [0x2F2F, "M", [0x5DE5]], - [0x2F30, "M", [0x5DF1]], - [0x2F31, "M", [0x5DFE]], - [0x2F32, "M", [0x5E72]], - [0x2F33, "M", [0x5E7A]], - [0x2F34, "M", [0x5E7F]], - [0x2F35, "M", [0x5EF4]], - [0x2F36, "M", [0x5EFE]], - [0x2F37, "M", [0x5F0B]], - [0x2F38, "M", [0x5F13]], - [0x2F39, "M", [0x5F50]], - [0x2F3A, "M", [0x5F61]], - [0x2F3B, "M", [0x5F73]], - [0x2F3C, "M", [0x5FC3]], - [0x2F3D, "M", [0x6208]], - [0x2F3E, "M", [0x6236]], - [0x2F3F, "M", [0x624B]], - [0x2F40, "M", [0x652F]], - [0x2F41, "M", [0x6534]], - [0x2F42, "M", [0x6587]], - [0x2F43, "M", [0x6597]], - [0x2F44, "M", [0x65A4]], - [0x2F45, "M", [0x65B9]], - [0x2F46, "M", [0x65E0]], - [0x2F47, "M", [0x65E5]], - [0x2F48, "M", [0x66F0]], - [0x2F49, "M", [0x6708]], - [0x2F4A, "M", [0x6728]], - [0x2F4B, "M", [0x6B20]], - [0x2F4C, "M", [0x6B62]], - [0x2F4D, "M", [0x6B79]], - [0x2F4E, "M", [0x6BB3]], - [0x2F4F, "M", [0x6BCB]], - [0x2F50, "M", [0x6BD4]], - [0x2F51, "M", [0x6BDB]], - [0x2F52, "M", [0x6C0F]], - [0x2F53, "M", [0x6C14]], - [0x2F54, "M", [0x6C34]], - [0x2F55, "M", [0x706B]], - [0x2F56, "M", [0x722A]], - [0x2F57, "M", [0x7236]], - [0x2F58, "M", [0x723B]], - [0x2F59, "M", [0x723F]], - [0x2F5A, "M", [0x7247]], - [0x2F5B, "M", [0x7259]], - [0x2F5C, "M", [0x725B]], - [0x2F5D, "M", [0x72AC]], - [0x2F5E, "M", [0x7384]], - [0x2F5F, "M", [0x7389]], - [0x2F60, "M", [0x74DC]], - [0x2F61, "M", [0x74E6]], - [0x2F62, "M", [0x7518]], - [0x2F63, "M", [0x751F]], - [0x2F64, "M", [0x7528]], - [0x2F65, "M", [0x7530]], - [0x2F66, "M", [0x758B]], - [0x2F67, "M", [0x7592]], - [0x2F68, "M", [0x7676]], - [0x2F69, "M", [0x767D]], - [0x2F6A, "M", [0x76AE]], - [0x2F6B, "M", [0x76BF]], - [0x2F6C, "M", [0x76EE]], - [0x2F6D, "M", [0x77DB]], - [0x2F6E, "M", [0x77E2]], - [0x2F6F, "M", [0x77F3]], - [0x2F70, "M", [0x793A]], - [0x2F71, "M", [0x79B8]], - [0x2F72, "M", [0x79BE]], - [0x2F73, "M", [0x7A74]], - [0x2F74, "M", [0x7ACB]], - [0x2F75, "M", [0x7AF9]], - [0x2F76, "M", [0x7C73]], - [0x2F77, "M", [0x7CF8]], - [0x2F78, "M", [0x7F36]], - [0x2F79, "M", [0x7F51]], - [0x2F7A, "M", [0x7F8A]], - [0x2F7B, "M", [0x7FBD]], - [0x2F7C, "M", [0x8001]], - [0x2F7D, "M", [0x800C]], - [0x2F7E, "M", [0x8012]], - [0x2F7F, "M", [0x8033]], - [0x2F80, "M", [0x807F]], - [0x2F81, "M", [0x8089]], - [0x2F82, "M", [0x81E3]], - [0x2F83, "M", [0x81EA]], - [0x2F84, "M", [0x81F3]], - [0x2F85, "M", [0x81FC]], - [0x2F86, "M", [0x820C]], - [0x2F87, "M", [0x821B]], - [0x2F88, "M", [0x821F]], - [0x2F89, "M", [0x826E]], - [0x2F8A, "M", [0x8272]], - [0x2F8B, "M", [0x8278]], - [0x2F8C, "M", [0x864D]], - [0x2F8D, "M", [0x866B]], - [0x2F8E, "M", [0x8840]], - [0x2F8F, "M", [0x884C]], - [0x2F90, "M", [0x8863]], - [0x2F91, "M", [0x897E]], - [0x2F92, "M", [0x898B]], - [0x2F93, "M", [0x89D2]], - [0x2F94, "M", [0x8A00]], - [0x2F95, "M", [0x8C37]], - [0x2F96, "M", [0x8C46]], - [0x2F97, "M", [0x8C55]], - [0x2F98, "M", [0x8C78]], - [0x2F99, "M", [0x8C9D]], - [0x2F9A, "M", [0x8D64]], - [0x2F9B, "M", [0x8D70]], - [0x2F9C, "M", [0x8DB3]], - [0x2F9D, "M", [0x8EAB]], - [0x2F9E, "M", [0x8ECA]], - [0x2F9F, "M", [0x8F9B]], - [0x2FA0, "M", [0x8FB0]], - [0x2FA1, "M", [0x8FB5]], - [0x2FA2, "M", [0x9091]], - [0x2FA3, "M", [0x9149]], - [0x2FA4, "M", [0x91C6]], - [0x2FA5, "M", [0x91CC]], - [0x2FA6, "M", [0x91D1]], - [0x2FA7, "M", [0x9577]], - [0x2FA8, "M", [0x9580]], - [0x2FA9, "M", [0x961C]], - [0x2FAA, "M", [0x96B6]], - [0x2FAB, "M", [0x96B9]], - [0x2FAC, "M", [0x96E8]], - [0x2FAD, "M", [0x9751]], - [0x2FAE, "M", [0x975E]], - [0x2FAF, "M", [0x9762]], - [0x2FB0, "M", [0x9769]], - [0x2FB1, "M", [0x97CB]], - [0x2FB2, "M", [0x97ED]], - [0x2FB3, "M", [0x97F3]], - [0x2FB4, "M", [0x9801]], - [0x2FB5, "M", [0x98A8]], - [0x2FB6, "M", [0x98DB]], - [0x2FB7, "M", [0x98DF]], - [0x2FB8, "M", [0x9996]], - [0x2FB9, "M", [0x9999]], - [0x2FBA, "M", [0x99AC]], - [0x2FBB, "M", [0x9AA8]], - [0x2FBC, "M", [0x9AD8]], - [0x2FBD, "M", [0x9ADF]], - [0x2FBE, "M", [0x9B25]], - [0x2FBF, "M", [0x9B2F]], - [0x2FC0, "M", [0x9B32]], - [0x2FC1, "M", [0x9B3C]], - [0x2FC2, "M", [0x9B5A]], - [0x2FC3, "M", [0x9CE5]], - [0x2FC4, "M", [0x9E75]], - [0x2FC5, "M", [0x9E7F]], - [0x2FC6, "M", [0x9EA5]], - [0x2FC7, "M", [0x9EBB]], - [0x2FC8, "M", [0x9EC3]], - [0x2FC9, "M", [0x9ECD]], - [0x2FCA, "M", [0x9ED1]], - [0x2FCB, "M", [0x9EF9]], - [0x2FCC, "M", [0x9EFD]], - [0x2FCD, "M", [0x9F0E]], - [0x2FCE, "M", [0x9F13]], - [0x2FCF, "M", [0x9F20]], - [0x2FD0, "M", [0x9F3B]], - [0x2FD1, "M", [0x9F4A]], - [0x2FD2, "M", [0x9F52]], - [0x2FD3, "M", [0x9F8D]], - [0x2FD4, "M", [0x9F9C]], - [0x2FD5, "M", [0x9FA0]], - [0x2FD6, "X"], - [0x3000, "3", [0x0020]], - [0x3001, "V"], - [0x3002, "M", [0x002E]], - [0x3003, "V"], - [0x3036, "M", [0x3012]], - [0x3037, "V"], - [0x3038, "M", [0x5341]], - [0x3039, "M", [0x5344]], - [0x303A, "M", [0x5345]], - [0x303B, "V"], - [0x3040, "X"], - [0x3041, "V"], - [0x3097, "X"], - [0x3099, "V"], - [0x309B, "3", [0x0020, 0x3099]], - [0x309C, "3", [0x0020, 0x309A]], - [0x309D, "V"], - [0x309F, "M", [0x3088, 0x308A]], - [0x30A0, "V"], - [0x30FF, "M", [0x30B3, 0x30C8]], - [0x3100, "X"], - [0x3105, "V"], - [0x3130, "X"], - [0x3131, "M", [0x1100]], - [0x3132, "M", [0x1101]], - [0x3133, "M", [0x11AA]], - [0x3134, "M", [0x1102]], - [0x3135, "M", [0x11AC]], - [0x3136, "M", [0x11AD]], - [0x3137, "M", [0x1103]], - [0x3138, "M", [0x1104]], - [0x3139, "M", [0x1105]], - [0x313A, "M", [0x11B0]], - [0x313B, "M", [0x11B1]], - [0x313C, "M", [0x11B2]], - [0x313D, "M", [0x11B3]], - [0x313E, "M", [0x11B4]], - [0x313F, "M", [0x11B5]], - [0x3140, "M", [0x111A]], - [0x3141, "M", [0x1106]], - [0x3142, "M", [0x1107]], - [0x3143, "M", [0x1108]], - [0x3144, "M", [0x1121]], - [0x3145, "M", [0x1109]], - [0x3146, "M", [0x110A]], - [0x3147, "M", [0x110B]], - [0x3148, "M", [0x110C]], - [0x3149, "M", [0x110D]], - [0x314A, "M", [0x110E]], - [0x314B, "M", [0x110F]], - [0x314C, "M", [0x1110]], - [0x314D, "M", [0x1111]], - [0x314E, "M", [0x1112]], - [0x314F, "M", [0x1161]], - [0x3150, "M", [0x1162]], - [0x3151, "M", [0x1163]], - [0x3152, "M", [0x1164]], - [0x3153, "M", [0x1165]], - [0x3154, "M", [0x1166]], - [0x3155, "M", [0x1167]], - [0x3156, "M", [0x1168]], - [0x3157, "M", [0x1169]], - [0x3158, "M", [0x116A]], - [0x3159, "M", [0x116B]], - [0x315A, "M", [0x116C]], - [0x315B, "M", [0x116D]], - [0x315C, "M", [0x116E]], - [0x315D, "M", [0x116F]], - [0x315E, "M", [0x1170]], - [0x315F, "M", [0x1171]], - [0x3160, "M", [0x1172]], - [0x3161, "M", [0x1173]], - [0x3162, "M", [0x1174]], - [0x3163, "M", [0x1175]], - [0x3164, "X"], - [0x3165, "M", [0x1114]], - [0x3166, "M", [0x1115]], - [0x3167, "M", [0x11C7]], - [0x3168, "M", [0x11C8]], - [0x3169, "M", [0x11CC]], - [0x316A, "M", [0x11CE]], - [0x316B, "M", [0x11D3]], - [0x316C, "M", [0x11D7]], - [0x316D, "M", [0x11D9]], - [0x316E, "M", [0x111C]], - [0x316F, "M", [0x11DD]], - [0x3170, "M", [0x11DF]], - [0x3171, "M", [0x111D]], - [0x3172, "M", [0x111E]], - [0x3173, "M", [0x1120]], - [0x3174, "M", [0x1122]], - [0x3175, "M", [0x1123]], - [0x3176, "M", [0x1127]], - [0x3177, "M", [0x1129]], - [0x3178, "M", [0x112B]], - [0x3179, "M", [0x112C]], - [0x317A, "M", [0x112D]], - [0x317B, "M", [0x112E]], - [0x317C, "M", [0x112F]], - [0x317D, "M", [0x1132]], - [0x317E, "M", [0x1136]], - [0x317F, "M", [0x1140]], - [0x3180, "M", [0x1147]], - [0x3181, "M", [0x114C]], - [0x3182, "M", [0x11F1]], - [0x3183, "M", [0x11F2]], - [0x3184, "M", [0x1157]], - [0x3185, "M", [0x1158]], - [0x3186, "M", [0x1159]], - [0x3187, "M", [0x1184]], - [0x3188, "M", [0x1185]], - [0x3189, "M", [0x1188]], - [0x318A, "M", [0x1191]], - [0x318B, "M", [0x1192]], - [0x318C, "M", [0x1194]], - [0x318D, "M", [0x119E]], - [0x318E, "M", [0x11A1]], - [0x318F, "X"], - [0x3190, "V"], - [0x3192, "M", [0x4E00]], - [0x3193, "M", [0x4E8C]], - [0x3194, "M", [0x4E09]], - [0x3195, "M", [0x56DB]], - [0x3196, "M", [0x4E0A]], - [0x3197, "M", [0x4E2D]], - [0x3198, "M", [0x4E0B]], - [0x3199, "M", [0x7532]], - [0x319A, "M", [0x4E59]], - [0x319B, "M", [0x4E19]], - [0x319C, "M", [0x4E01]], - [0x319D, "M", [0x5929]], - [0x319E, "M", [0x5730]], - [0x319F, "M", [0x4EBA]], - [0x31A0, "V"], - [0x31E4, "X"], - [0x31F0, "V"], - [0x3200, "3", [0x0028, 0x1100, 0x0029]], - [0x3201, "3", [0x0028, 0x1102, 0x0029]], - [0x3202, "3", [0x0028, 0x1103, 0x0029]], - [0x3203, "3", [0x0028, 0x1105, 0x0029]], - [0x3204, "3", [0x0028, 0x1106, 0x0029]], - [0x3205, "3", [0x0028, 0x1107, 0x0029]], - [0x3206, "3", [0x0028, 0x1109, 0x0029]], - [0x3207, "3", [0x0028, 0x110B, 0x0029]], - [0x3208, "3", [0x0028, 0x110C, 0x0029]], - [0x3209, "3", [0x0028, 0x110E, 0x0029]], - [0x320A, "3", [0x0028, 0x110F, 0x0029]], - [0x320B, "3", [0x0028, 0x1110, 0x0029]], - [0x320C, "3", [0x0028, 0x1111, 0x0029]], - [0x320D, "3", [0x0028, 0x1112, 0x0029]], - [0x320E, "3", [0x0028, 0xAC00, 0x0029]], - [0x320F, "3", [0x0028, 0xB098, 0x0029]], - [0x3210, "3", [0x0028, 0xB2E4, 0x0029]], - [0x3211, "3", [0x0028, 0xB77C, 0x0029]], - [0x3212, "3", [0x0028, 0xB9C8, 0x0029]], - [0x3213, "3", [0x0028, 0xBC14, 0x0029]], - [0x3214, "3", [0x0028, 0xC0AC, 0x0029]], - [0x3215, "3", [0x0028, 0xC544, 0x0029]], - [0x3216, "3", [0x0028, 0xC790, 0x0029]], - [0x3217, "3", [0x0028, 0xCC28, 0x0029]], - [0x3218, "3", [0x0028, 0xCE74, 0x0029]], - [0x3219, "3", [0x0028, 0xD0C0, 0x0029]], - [0x321A, "3", [0x0028, 0xD30C, 0x0029]], - [0x321B, "3", [0x0028, 0xD558, 0x0029]], - [0x321C, "3", [0x0028, 0xC8FC, 0x0029]], - [0x321D, "3", [0x0028, 0xC624, 0xC804, 0x0029]], - [0x321E, "3", [0x0028, 0xC624, 0xD6C4, 0x0029]], - [0x321F, "X"], - [0x3220, "3", [0x0028, 0x4E00, 0x0029]], - [0x3221, "3", [0x0028, 0x4E8C, 0x0029]], - [0x3222, "3", [0x0028, 0x4E09, 0x0029]], - [0x3223, "3", [0x0028, 0x56DB, 0x0029]], - [0x3224, "3", [0x0028, 0x4E94, 0x0029]], - [0x3225, "3", [0x0028, 0x516D, 0x0029]], - [0x3226, "3", [0x0028, 0x4E03, 0x0029]], - [0x3227, "3", [0x0028, 0x516B, 0x0029]], - [0x3228, "3", [0x0028, 0x4E5D, 0x0029]], - [0x3229, "3", [0x0028, 0x5341, 0x0029]], - [0x322A, "3", [0x0028, 0x6708, 0x0029]], - [0x322B, "3", [0x0028, 0x706B, 0x0029]], - [0x322C, "3", [0x0028, 0x6C34, 0x0029]], - [0x322D, "3", [0x0028, 0x6728, 0x0029]], - [0x322E, "3", [0x0028, 0x91D1, 0x0029]], - [0x322F, "3", [0x0028, 0x571F, 0x0029]], - [0x3230, "3", [0x0028, 0x65E5, 0x0029]], - [0x3231, "3", [0x0028, 0x682A, 0x0029]], - [0x3232, "3", [0x0028, 0x6709, 0x0029]], - [0x3233, "3", [0x0028, 0x793E, 0x0029]], - [0x3234, "3", [0x0028, 0x540D, 0x0029]], - [0x3235, "3", [0x0028, 0x7279, 0x0029]], - [0x3236, "3", [0x0028, 0x8CA1, 0x0029]], - [0x3237, "3", [0x0028, 0x795D, 0x0029]], - [0x3238, "3", [0x0028, 0x52B4, 0x0029]], - [0x3239, "3", [0x0028, 0x4EE3, 0x0029]], - [0x323A, "3", [0x0028, 0x547C, 0x0029]], - [0x323B, "3", [0x0028, 0x5B66, 0x0029]], - [0x323C, "3", [0x0028, 0x76E3, 0x0029]], - [0x323D, "3", [0x0028, 0x4F01, 0x0029]], - [0x323E, "3", [0x0028, 0x8CC7, 0x0029]], - [0x323F, "3", [0x0028, 0x5354, 0x0029]], - [0x3240, "3", [0x0028, 0x796D, 0x0029]], - [0x3241, "3", [0x0028, 0x4F11, 0x0029]], - [0x3242, "3", [0x0028, 0x81EA, 0x0029]], - [0x3243, "3", [0x0028, 0x81F3, 0x0029]], - [0x3244, "M", [0x554F]], - [0x3245, "M", [0x5E7C]], - [0x3246, "M", [0x6587]], - [0x3247, "M", [0x7B8F]], - [0x3248, "V"], - [0x3250, "M", [0x0070, 0x0074, 0x0065]], - [0x3251, "M", [0x0032, 0x0031]], - [0x3252, "M", [0x0032, 0x0032]], - [0x3253, "M", [0x0032, 0x0033]], - [0x3254, "M", [0x0032, 0x0034]], - [0x3255, "M", [0x0032, 0x0035]], - [0x3256, "M", [0x0032, 0x0036]], - [0x3257, "M", [0x0032, 0x0037]], - [0x3258, "M", [0x0032, 0x0038]], - [0x3259, "M", [0x0032, 0x0039]], - [0x325A, "M", [0x0033, 0x0030]], - [0x325B, "M", [0x0033, 0x0031]], - [0x325C, "M", [0x0033, 0x0032]], - [0x325D, "M", [0x0033, 0x0033]], - [0x325E, "M", [0x0033, 0x0034]], - [0x325F, "M", [0x0033, 0x0035]], - [0x3260, "M", [0x1100]], - [0x3261, "M", [0x1102]], - [0x3262, "M", [0x1103]], - [0x3263, "M", [0x1105]], - [0x3264, "M", [0x1106]], - [0x3265, "M", [0x1107]], - [0x3266, "M", [0x1109]], - [0x3267, "M", [0x110B]], - [0x3268, "M", [0x110C]], - [0x3269, "M", [0x110E]], - [0x326A, "M", [0x110F]], - [0x326B, "M", [0x1110]], - [0x326C, "M", [0x1111]], - [0x326D, "M", [0x1112]], - [0x326E, "M", [0xAC00]], - [0x326F, "M", [0xB098]], - [0x3270, "M", [0xB2E4]], - [0x3271, "M", [0xB77C]], - [0x3272, "M", [0xB9C8]], - [0x3273, "M", [0xBC14]], - [0x3274, "M", [0xC0AC]], - [0x3275, "M", [0xC544]], - [0x3276, "M", [0xC790]], - [0x3277, "M", [0xCC28]], - [0x3278, "M", [0xCE74]], - [0x3279, "M", [0xD0C0]], - [0x327A, "M", [0xD30C]], - [0x327B, "M", [0xD558]], - [0x327C, "M", [0xCC38, 0xACE0]], - [0x327D, "M", [0xC8FC, 0xC758]], - [0x327E, "M", [0xC6B0]], - [0x327F, "V"], - [0x3280, "M", [0x4E00]], - [0x3281, "M", [0x4E8C]], - [0x3282, "M", [0x4E09]], - [0x3283, "M", [0x56DB]], - [0x3284, "M", [0x4E94]], - [0x3285, "M", [0x516D]], - [0x3286, "M", [0x4E03]], - [0x3287, "M", [0x516B]], - [0x3288, "M", [0x4E5D]], - [0x3289, "M", [0x5341]], - [0x328A, "M", [0x6708]], - [0x328B, "M", [0x706B]], - [0x328C, "M", [0x6C34]], - [0x328D, "M", [0x6728]], - [0x328E, "M", [0x91D1]], - [0x328F, "M", [0x571F]], - [0x3290, "M", [0x65E5]], - [0x3291, "M", [0x682A]], - [0x3292, "M", [0x6709]], - [0x3293, "M", [0x793E]], - [0x3294, "M", [0x540D]], - [0x3295, "M", [0x7279]], - [0x3296, "M", [0x8CA1]], - [0x3297, "M", [0x795D]], - [0x3298, "M", [0x52B4]], - [0x3299, "M", [0x79D8]], - [0x329A, "M", [0x7537]], - [0x329B, "M", [0x5973]], - [0x329C, "M", [0x9069]], - [0x329D, "M", [0x512A]], - [0x329E, "M", [0x5370]], - [0x329F, "M", [0x6CE8]], - [0x32A0, "M", [0x9805]], - [0x32A1, "M", [0x4F11]], - [0x32A2, "M", [0x5199]], - [0x32A3, "M", [0x6B63]], - [0x32A4, "M", [0x4E0A]], - [0x32A5, "M", [0x4E2D]], - [0x32A6, "M", [0x4E0B]], - [0x32A7, "M", [0x5DE6]], - [0x32A8, "M", [0x53F3]], - [0x32A9, "M", [0x533B]], - [0x32AA, "M", [0x5B97]], - [0x32AB, "M", [0x5B66]], - [0x32AC, "M", [0x76E3]], - [0x32AD, "M", [0x4F01]], - [0x32AE, "M", [0x8CC7]], - [0x32AF, "M", [0x5354]], - [0x32B0, "M", [0x591C]], - [0x32B1, "M", [0x0033, 0x0036]], - [0x32B2, "M", [0x0033, 0x0037]], - [0x32B3, "M", [0x0033, 0x0038]], - [0x32B4, "M", [0x0033, 0x0039]], - [0x32B5, "M", [0x0034, 0x0030]], - [0x32B6, "M", [0x0034, 0x0031]], - [0x32B7, "M", [0x0034, 0x0032]], - [0x32B8, "M", [0x0034, 0x0033]], - [0x32B9, "M", [0x0034, 0x0034]], - [0x32BA, "M", [0x0034, 0x0035]], - [0x32BB, "M", [0x0034, 0x0036]], - [0x32BC, "M", [0x0034, 0x0037]], - [0x32BD, "M", [0x0034, 0x0038]], - [0x32BE, "M", [0x0034, 0x0039]], - [0x32BF, "M", [0x0035, 0x0030]], - [0x32C0, "M", [0x0031, 0x6708]], - [0x32C1, "M", [0x0032, 0x6708]], - [0x32C2, "M", [0x0033, 0x6708]], - [0x32C3, "M", [0x0034, 0x6708]], - [0x32C4, "M", [0x0035, 0x6708]], - [0x32C5, "M", [0x0036, 0x6708]], - [0x32C6, "M", [0x0037, 0x6708]], - [0x32C7, "M", [0x0038, 0x6708]], - [0x32C8, "M", [0x0039, 0x6708]], - [0x32C9, "M", [0x0031, 0x0030, 0x6708]], - [0x32CA, "M", [0x0031, 0x0031, 0x6708]], - [0x32CB, "M", [0x0031, 0x0032, 0x6708]], - [0x32CC, "M", [0x0068, 0x0067]], - [0x32CD, "M", [0x0065, 0x0072, 0x0067]], - [0x32CE, "M", [0x0065, 0x0076]], - [0x32CF, "M", [0x006C, 0x0074, 0x0064]], - [0x32D0, "M", [0x30A2]], - [0x32D1, "M", [0x30A4]], - [0x32D2, "M", [0x30A6]], - [0x32D3, "M", [0x30A8]], - [0x32D4, "M", [0x30AA]], - [0x32D5, "M", [0x30AB]], - [0x32D6, "M", [0x30AD]], - [0x32D7, "M", [0x30AF]], - [0x32D8, "M", [0x30B1]], - [0x32D9, "M", [0x30B3]], - [0x32DA, "M", [0x30B5]], - [0x32DB, "M", [0x30B7]], - [0x32DC, "M", [0x30B9]], - [0x32DD, "M", [0x30BB]], - [0x32DE, "M", [0x30BD]], - [0x32DF, "M", [0x30BF]], - [0x32E0, "M", [0x30C1]], - [0x32E1, "M", [0x30C4]], - [0x32E2, "M", [0x30C6]], - [0x32E3, "M", [0x30C8]], - [0x32E4, "M", [0x30CA]], - [0x32E5, "M", [0x30CB]], - [0x32E6, "M", [0x30CC]], - [0x32E7, "M", [0x30CD]], - [0x32E8, "M", [0x30CE]], - [0x32E9, "M", [0x30CF]], - [0x32EA, "M", [0x30D2]], - [0x32EB, "M", [0x30D5]], - [0x32EC, "M", [0x30D8]], - [0x32ED, "M", [0x30DB]], - [0x32EE, "M", [0x30DE]], - [0x32EF, "M", [0x30DF]], - [0x32F0, "M", [0x30E0]], - [0x32F1, "M", [0x30E1]], - [0x32F2, "M", [0x30E2]], - [0x32F3, "M", [0x30E4]], - [0x32F4, "M", [0x30E6]], - [0x32F5, "M", [0x30E8]], - [0x32F6, "M", [0x30E9]], - [0x32F7, "M", [0x30EA]], - [0x32F8, "M", [0x30EB]], - [0x32F9, "M", [0x30EC]], - [0x32FA, "M", [0x30ED]], - [0x32FB, "M", [0x30EF]], - [0x32FC, "M", [0x30F0]], - [0x32FD, "M", [0x30F1]], - [0x32FE, "M", [0x30F2]], - [0x32FF, "M", [0x4EE4, 0x548C]], - [0x3300, "M", [0x30A2, 0x30D1, 0x30FC, 0x30C8]], - [0x3301, "M", [0x30A2, 0x30EB, 0x30D5, 0x30A1]], - [0x3302, "M", [0x30A2, 0x30F3, 0x30DA, 0x30A2]], - [0x3303, "M", [0x30A2, 0x30FC, 0x30EB]], - [0x3304, "M", [0x30A4, 0x30CB, 0x30F3, 0x30B0]], - [0x3305, "M", [0x30A4, 0x30F3, 0x30C1]], - [0x3306, "M", [0x30A6, 0x30A9, 0x30F3]], - [0x3307, "M", [0x30A8, 0x30B9, 0x30AF, 0x30FC, 0x30C9]], - [0x3308, "M", [0x30A8, 0x30FC, 0x30AB, 0x30FC]], - [0x3309, "M", [0x30AA, 0x30F3, 0x30B9]], - [0x330A, "M", [0x30AA, 0x30FC, 0x30E0]], - [0x330B, "M", [0x30AB, 0x30A4, 0x30EA]], - [0x330C, "M", [0x30AB, 0x30E9, 0x30C3, 0x30C8]], - [0x330D, "M", [0x30AB, 0x30ED, 0x30EA, 0x30FC]], - [0x330E, "M", [0x30AC, 0x30ED, 0x30F3]], - [0x330F, "M", [0x30AC, 0x30F3, 0x30DE]], - [0x3310, "M", [0x30AE, 0x30AC]], - [0x3311, "M", [0x30AE, 0x30CB, 0x30FC]], - [0x3312, "M", [0x30AD, 0x30E5, 0x30EA, 0x30FC]], - [0x3313, "M", [0x30AE, 0x30EB, 0x30C0, 0x30FC]], - [0x3314, "M", [0x30AD, 0x30ED]], - [0x3315, "M", [0x30AD, 0x30ED, 0x30B0, 0x30E9, 0x30E0]], - [0x3316, "M", [0x30AD, 0x30ED, 0x30E1, 0x30FC, 0x30C8, 0x30EB]], - [0x3317, "M", [0x30AD, 0x30ED, 0x30EF, 0x30C3, 0x30C8]], - [0x3318, "M", [0x30B0, 0x30E9, 0x30E0]], - [0x3319, "M", [0x30B0, 0x30E9, 0x30E0, 0x30C8, 0x30F3]], - [0x331A, "M", [0x30AF, 0x30EB, 0x30BC, 0x30A4, 0x30ED]], - [0x331B, "M", [0x30AF, 0x30ED, 0x30FC, 0x30CD]], - [0x331C, "M", [0x30B1, 0x30FC, 0x30B9]], - [0x331D, "M", [0x30B3, 0x30EB, 0x30CA]], - [0x331E, "M", [0x30B3, 0x30FC, 0x30DD]], - [0x331F, "M", [0x30B5, 0x30A4, 0x30AF, 0x30EB]], - [0x3320, "M", [0x30B5, 0x30F3, 0x30C1, 0x30FC, 0x30E0]], - [0x3321, "M", [0x30B7, 0x30EA, 0x30F3, 0x30B0]], - [0x3322, "M", [0x30BB, 0x30F3, 0x30C1]], - [0x3323, "M", [0x30BB, 0x30F3, 0x30C8]], - [0x3324, "M", [0x30C0, 0x30FC, 0x30B9]], - [0x3325, "M", [0x30C7, 0x30B7]], - [0x3326, "M", [0x30C9, 0x30EB]], - [0x3327, "M", [0x30C8, 0x30F3]], - [0x3328, "M", [0x30CA, 0x30CE]], - [0x3329, "M", [0x30CE, 0x30C3, 0x30C8]], - [0x332A, "M", [0x30CF, 0x30A4, 0x30C4]], - [0x332B, "M", [0x30D1, 0x30FC, 0x30BB, 0x30F3, 0x30C8]], - [0x332C, "M", [0x30D1, 0x30FC, 0x30C4]], - [0x332D, "M", [0x30D0, 0x30FC, 0x30EC, 0x30EB]], - [0x332E, "M", [0x30D4, 0x30A2, 0x30B9, 0x30C8, 0x30EB]], - [0x332F, "M", [0x30D4, 0x30AF, 0x30EB]], - [0x3330, "M", [0x30D4, 0x30B3]], - [0x3331, "M", [0x30D3, 0x30EB]], - [0x3332, "M", [0x30D5, 0x30A1, 0x30E9, 0x30C3, 0x30C9]], - [0x3333, "M", [0x30D5, 0x30A3, 0x30FC, 0x30C8]], - [0x3334, "M", [0x30D6, 0x30C3, 0x30B7, 0x30A7, 0x30EB]], - [0x3335, "M", [0x30D5, 0x30E9, 0x30F3]], - [0x3336, "M", [0x30D8, 0x30AF, 0x30BF, 0x30FC, 0x30EB]], - [0x3337, "M", [0x30DA, 0x30BD]], - [0x3338, "M", [0x30DA, 0x30CB, 0x30D2]], - [0x3339, "M", [0x30D8, 0x30EB, 0x30C4]], - [0x333A, "M", [0x30DA, 0x30F3, 0x30B9]], - [0x333B, "M", [0x30DA, 0x30FC, 0x30B8]], - [0x333C, "M", [0x30D9, 0x30FC, 0x30BF]], - [0x333D, "M", [0x30DD, 0x30A4, 0x30F3, 0x30C8]], - [0x333E, "M", [0x30DC, 0x30EB, 0x30C8]], - [0x333F, "M", [0x30DB, 0x30F3]], - [0x3340, "M", [0x30DD, 0x30F3, 0x30C9]], - [0x3341, "M", [0x30DB, 0x30FC, 0x30EB]], - [0x3342, "M", [0x30DB, 0x30FC, 0x30F3]], - [0x3343, "M", [0x30DE, 0x30A4, 0x30AF, 0x30ED]], - [0x3344, "M", [0x30DE, 0x30A4, 0x30EB]], - [0x3345, "M", [0x30DE, 0x30C3, 0x30CF]], - [0x3346, "M", [0x30DE, 0x30EB, 0x30AF]], - [0x3347, "M", [0x30DE, 0x30F3, 0x30B7, 0x30E7, 0x30F3]], - [0x3348, "M", [0x30DF, 0x30AF, 0x30ED, 0x30F3]], - [0x3349, "M", [0x30DF, 0x30EA]], - [0x334A, "M", [0x30DF, 0x30EA, 0x30D0, 0x30FC, 0x30EB]], - [0x334B, "M", [0x30E1, 0x30AC]], - [0x334C, "M", [0x30E1, 0x30AC, 0x30C8, 0x30F3]], - [0x334D, "M", [0x30E1, 0x30FC, 0x30C8, 0x30EB]], - [0x334E, "M", [0x30E4, 0x30FC, 0x30C9]], - [0x334F, "M", [0x30E4, 0x30FC, 0x30EB]], - [0x3350, "M", [0x30E6, 0x30A2, 0x30F3]], - [0x3351, "M", [0x30EA, 0x30C3, 0x30C8, 0x30EB]], - [0x3352, "M", [0x30EA, 0x30E9]], - [0x3353, "M", [0x30EB, 0x30D4, 0x30FC]], - [0x3354, "M", [0x30EB, 0x30FC, 0x30D6, 0x30EB]], - [0x3355, "M", [0x30EC, 0x30E0]], - [0x3356, "M", [0x30EC, 0x30F3, 0x30C8, 0x30B2, 0x30F3]], - [0x3357, "M", [0x30EF, 0x30C3, 0x30C8]], - [0x3358, "M", [0x0030, 0x70B9]], - [0x3359, "M", [0x0031, 0x70B9]], - [0x335A, "M", [0x0032, 0x70B9]], - [0x335B, "M", [0x0033, 0x70B9]], - [0x335C, "M", [0x0034, 0x70B9]], - [0x335D, "M", [0x0035, 0x70B9]], - [0x335E, "M", [0x0036, 0x70B9]], - [0x335F, "M", [0x0037, 0x70B9]], - [0x3360, "M", [0x0038, 0x70B9]], - [0x3361, "M", [0x0039, 0x70B9]], - [0x3362, "M", [0x0031, 0x0030, 0x70B9]], - [0x3363, "M", [0x0031, 0x0031, 0x70B9]], - [0x3364, "M", [0x0031, 0x0032, 0x70B9]], - [0x3365, "M", [0x0031, 0x0033, 0x70B9]], - [0x3366, "M", [0x0031, 0x0034, 0x70B9]], - [0x3367, "M", [0x0031, 0x0035, 0x70B9]], - [0x3368, "M", [0x0031, 0x0036, 0x70B9]], - [0x3369, "M", [0x0031, 0x0037, 0x70B9]], - [0x336A, "M", [0x0031, 0x0038, 0x70B9]], - [0x336B, "M", [0x0031, 0x0039, 0x70B9]], - [0x336C, "M", [0x0032, 0x0030, 0x70B9]], - [0x336D, "M", [0x0032, 0x0031, 0x70B9]], - [0x336E, "M", [0x0032, 0x0032, 0x70B9]], - [0x336F, "M", [0x0032, 0x0033, 0x70B9]], - [0x3370, "M", [0x0032, 0x0034, 0x70B9]], - [0x3371, "M", [0x0068, 0x0070, 0x0061]], - [0x3372, "M", [0x0064, 0x0061]], - [0x3373, "M", [0x0061, 0x0075]], - [0x3374, "M", [0x0062, 0x0061, 0x0072]], - [0x3375, "M", [0x006F, 0x0076]], - [0x3376, "M", [0x0070, 0x0063]], - [0x3377, "M", [0x0064, 0x006D]], - [0x3378, "M", [0x0064, 0x006D, 0x0032]], - [0x3379, "M", [0x0064, 0x006D, 0x0033]], - [0x337A, "M", [0x0069, 0x0075]], - [0x337B, "M", [0x5E73, 0x6210]], - [0x337C, "M", [0x662D, 0x548C]], - [0x337D, "M", [0x5927, 0x6B63]], - [0x337E, "M", [0x660E, 0x6CBB]], - [0x337F, "M", [0x682A, 0x5F0F, 0x4F1A, 0x793E]], - [0x3380, "M", [0x0070, 0x0061]], - [0x3381, "M", [0x006E, 0x0061]], - [0x3382, "M", [0x03BC, 0x0061]], - [0x3383, "M", [0x006D, 0x0061]], - [0x3384, "M", [0x006B, 0x0061]], - [0x3385, "M", [0x006B, 0x0062]], - [0x3386, "M", [0x006D, 0x0062]], - [0x3387, "M", [0x0067, 0x0062]], - [0x3388, "M", [0x0063, 0x0061, 0x006C]], - [0x3389, "M", [0x006B, 0x0063, 0x0061, 0x006C]], - [0x338A, "M", [0x0070, 0x0066]], - [0x338B, "M", [0x006E, 0x0066]], - [0x338C, "M", [0x03BC, 0x0066]], - [0x338D, "M", [0x03BC, 0x0067]], - [0x338E, "M", [0x006D, 0x0067]], - [0x338F, "M", [0x006B, 0x0067]], - [0x3390, "M", [0x0068, 0x007A]], - [0x3391, "M", [0x006B, 0x0068, 0x007A]], - [0x3392, "M", [0x006D, 0x0068, 0x007A]], - [0x3393, "M", [0x0067, 0x0068, 0x007A]], - [0x3394, "M", [0x0074, 0x0068, 0x007A]], - [0x3395, "M", [0x03BC, 0x006C]], - [0x3396, "M", [0x006D, 0x006C]], - [0x3397, "M", [0x0064, 0x006C]], - [0x3398, "M", [0x006B, 0x006C]], - [0x3399, "M", [0x0066, 0x006D]], - [0x339A, "M", [0x006E, 0x006D]], - [0x339B, "M", [0x03BC, 0x006D]], - [0x339C, "M", [0x006D, 0x006D]], - [0x339D, "M", [0x0063, 0x006D]], - [0x339E, "M", [0x006B, 0x006D]], - [0x339F, "M", [0x006D, 0x006D, 0x0032]], - [0x33A0, "M", [0x0063, 0x006D, 0x0032]], - [0x33A1, "M", [0x006D, 0x0032]], - [0x33A2, "M", [0x006B, 0x006D, 0x0032]], - [0x33A3, "M", [0x006D, 0x006D, 0x0033]], - [0x33A4, "M", [0x0063, 0x006D, 0x0033]], - [0x33A5, "M", [0x006D, 0x0033]], - [0x33A6, "M", [0x006B, 0x006D, 0x0033]], - [0x33A7, "M", [0x006D, 0x2215, 0x0073]], - [0x33A8, "M", [0x006D, 0x2215, 0x0073, 0x0032]], - [0x33A9, "M", [0x0070, 0x0061]], - [0x33AA, "M", [0x006B, 0x0070, 0x0061]], - [0x33AB, "M", [0x006D, 0x0070, 0x0061]], - [0x33AC, "M", [0x0067, 0x0070, 0x0061]], - [0x33AD, "M", [0x0072, 0x0061, 0x0064]], - [0x33AE, "M", [0x0072, 0x0061, 0x0064, 0x2215, 0x0073]], - [0x33AF, "M", [0x0072, 0x0061, 0x0064, 0x2215, 0x0073, 0x0032]], - [0x33B0, "M", [0x0070, 0x0073]], - [0x33B1, "M", [0x006E, 0x0073]], - [0x33B2, "M", [0x03BC, 0x0073]], - [0x33B3, "M", [0x006D, 0x0073]], - [0x33B4, "M", [0x0070, 0x0076]], - [0x33B5, "M", [0x006E, 0x0076]], - [0x33B6, "M", [0x03BC, 0x0076]], - [0x33B7, "M", [0x006D, 0x0076]], - [0x33B8, "M", [0x006B, 0x0076]], - [0x33B9, "M", [0x006D, 0x0076]], - [0x33BA, "M", [0x0070, 0x0077]], - [0x33BB, "M", [0x006E, 0x0077]], - [0x33BC, "M", [0x03BC, 0x0077]], - [0x33BD, "M", [0x006D, 0x0077]], - [0x33BE, "M", [0x006B, 0x0077]], - [0x33BF, "M", [0x006D, 0x0077]], - [0x33C0, "M", [0x006B, 0x03C9]], - [0x33C1, "M", [0x006D, 0x03C9]], - [0x33C2, "X"], - [0x33C3, "M", [0x0062, 0x0071]], - [0x33C4, "M", [0x0063, 0x0063]], - [0x33C5, "M", [0x0063, 0x0064]], - [0x33C6, "M", [0x0063, 0x2215, 0x006B, 0x0067]], - [0x33C7, "X"], - [0x33C8, "M", [0x0064, 0x0062]], - [0x33C9, "M", [0x0067, 0x0079]], - [0x33CA, "M", [0x0068, 0x0061]], - [0x33CB, "M", [0x0068, 0x0070]], - [0x33CC, "M", [0x0069, 0x006E]], - [0x33CD, "M", [0x006B, 0x006B]], - [0x33CE, "M", [0x006B, 0x006D]], - [0x33CF, "M", [0x006B, 0x0074]], - [0x33D0, "M", [0x006C, 0x006D]], - [0x33D1, "M", [0x006C, 0x006E]], - [0x33D2, "M", [0x006C, 0x006F, 0x0067]], - [0x33D3, "M", [0x006C, 0x0078]], - [0x33D4, "M", [0x006D, 0x0062]], - [0x33D5, "M", [0x006D, 0x0069, 0x006C]], - [0x33D6, "M", [0x006D, 0x006F, 0x006C]], - [0x33D7, "M", [0x0070, 0x0068]], - [0x33D8, "X"], - [0x33D9, "M", [0x0070, 0x0070, 0x006D]], - [0x33DA, "M", [0x0070, 0x0072]], - [0x33DB, "M", [0x0073, 0x0072]], - [0x33DC, "M", [0x0073, 0x0076]], - [0x33DD, "M", [0x0077, 0x0062]], - [0x33DE, "M", [0x0076, 0x2215, 0x006D]], - [0x33DF, "M", [0x0061, 0x2215, 0x006D]], - [0x33E0, "M", [0x0031, 0x65E5]], - [0x33E1, "M", [0x0032, 0x65E5]], - [0x33E2, "M", [0x0033, 0x65E5]], - [0x33E3, "M", [0x0034, 0x65E5]], - [0x33E4, "M", [0x0035, 0x65E5]], - [0x33E5, "M", [0x0036, 0x65E5]], - [0x33E6, "M", [0x0037, 0x65E5]], - [0x33E7, "M", [0x0038, 0x65E5]], - [0x33E8, "M", [0x0039, 0x65E5]], - [0x33E9, "M", [0x0031, 0x0030, 0x65E5]], - [0x33EA, "M", [0x0031, 0x0031, 0x65E5]], - [0x33EB, "M", [0x0031, 0x0032, 0x65E5]], - [0x33EC, "M", [0x0031, 0x0033, 0x65E5]], - [0x33ED, "M", [0x0031, 0x0034, 0x65E5]], - [0x33EE, "M", [0x0031, 0x0035, 0x65E5]], - [0x33EF, "M", [0x0031, 0x0036, 0x65E5]], - [0x33F0, "M", [0x0031, 0x0037, 0x65E5]], - [0x33F1, "M", [0x0031, 0x0038, 0x65E5]], - [0x33F2, "M", [0x0031, 0x0039, 0x65E5]], - [0x33F3, "M", [0x0032, 0x0030, 0x65E5]], - [0x33F4, "M", [0x0032, 0x0031, 0x65E5]], - [0x33F5, "M", [0x0032, 0x0032, 0x65E5]], - [0x33F6, "M", [0x0032, 0x0033, 0x65E5]], - [0x33F7, "M", [0x0032, 0x0034, 0x65E5]], - [0x33F8, "M", [0x0032, 0x0035, 0x65E5]], - [0x33F9, "M", [0x0032, 0x0036, 0x65E5]], - [0x33FA, "M", [0x0032, 0x0037, 0x65E5]], - [0x33FB, "M", [0x0032, 0x0038, 0x65E5]], - [0x33FC, "M", [0x0032, 0x0039, 0x65E5]], - [0x33FD, "M", [0x0033, 0x0030, 0x65E5]], - [0x33FE, "M", [0x0033, 0x0031, 0x65E5]], - [0x33FF, "M", [0x0067, 0x0061, 0x006C]], - [0x3400, "V"], - [0xA48D, "X"], - [0xA490, "V"], - [0xA4C7, "X"], - [0xA4D0, "V"], - [0xA62C, "X"], - [0xA640, "M", [0xA641]], - [0xA641, "V"], - [0xA642, "M", [0xA643]], - [0xA643, "V"], - [0xA644, "M", [0xA645]], - [0xA645, "V"], - [0xA646, "M", [0xA647]], - [0xA647, "V"], - [0xA648, "M", [0xA649]], - [0xA649, "V"], - [0xA64A, "M", [0xA64B]], - [0xA64B, "V"], - [0xA64C, "M", [0xA64D]], - [0xA64D, "V"], - [0xA64E, "M", [0xA64F]], - [0xA64F, "V"], - [0xA650, "M", [0xA651]], - [0xA651, "V"], - [0xA652, "M", [0xA653]], - [0xA653, "V"], - [0xA654, "M", [0xA655]], - [0xA655, "V"], - [0xA656, "M", [0xA657]], - [0xA657, "V"], - [0xA658, "M", [0xA659]], - [0xA659, "V"], - [0xA65A, "M", [0xA65B]], - [0xA65B, "V"], - [0xA65C, "M", [0xA65D]], - [0xA65D, "V"], - [0xA65E, "M", [0xA65F]], - [0xA65F, "V"], - [0xA660, "M", [0xA661]], - [0xA661, "V"], - [0xA662, "M", [0xA663]], - [0xA663, "V"], - [0xA664, "M", [0xA665]], - [0xA665, "V"], - [0xA666, "M", [0xA667]], - [0xA667, "V"], - [0xA668, "M", [0xA669]], - [0xA669, "V"], - [0xA66A, "M", [0xA66B]], - [0xA66B, "V"], - [0xA66C, "M", [0xA66D]], - [0xA66D, "V"], - [0xA680, "M", [0xA681]], - [0xA681, "V"], - [0xA682, "M", [0xA683]], - [0xA683, "V"], - [0xA684, "M", [0xA685]], - [0xA685, "V"], - [0xA686, "M", [0xA687]], - [0xA687, "V"], - [0xA688, "M", [0xA689]], - [0xA689, "V"], - [0xA68A, "M", [0xA68B]], - [0xA68B, "V"], - [0xA68C, "M", [0xA68D]], - [0xA68D, "V"], - [0xA68E, "M", [0xA68F]], - [0xA68F, "V"], - [0xA690, "M", [0xA691]], - [0xA691, "V"], - [0xA692, "M", [0xA693]], - [0xA693, "V"], - [0xA694, "M", [0xA695]], - [0xA695, "V"], - [0xA696, "M", [0xA697]], - [0xA697, "V"], - [0xA698, "M", [0xA699]], - [0xA699, "V"], - [0xA69A, "M", [0xA69B]], - [0xA69B, "V"], - [0xA69C, "M", [0x044A]], - [0xA69D, "M", [0x044C]], - [0xA69E, "V"], - [0xA6F8, "X"], - [0xA700, "V"], - [0xA722, "M", [0xA723]], - [0xA723, "V"], - [0xA724, "M", [0xA725]], - [0xA725, "V"], - [0xA726, "M", [0xA727]], - [0xA727, "V"], - [0xA728, "M", [0xA729]], - [0xA729, "V"], - [0xA72A, "M", [0xA72B]], - [0xA72B, "V"], - [0xA72C, "M", [0xA72D]], - [0xA72D, "V"], - [0xA72E, "M", [0xA72F]], - [0xA72F, "V"], - [0xA732, "M", [0xA733]], - [0xA733, "V"], - [0xA734, "M", [0xA735]], - [0xA735, "V"], - [0xA736, "M", [0xA737]], - [0xA737, "V"], - [0xA738, "M", [0xA739]], - [0xA739, "V"], - [0xA73A, "M", [0xA73B]], - [0xA73B, "V"], - [0xA73C, "M", [0xA73D]], - [0xA73D, "V"], - [0xA73E, "M", [0xA73F]], - [0xA73F, "V"], - [0xA740, "M", [0xA741]], - [0xA741, "V"], - [0xA742, "M", [0xA743]], - [0xA743, "V"], - [0xA744, "M", [0xA745]], - [0xA745, "V"], - [0xA746, "M", [0xA747]], - [0xA747, "V"], - [0xA748, "M", [0xA749]], - [0xA749, "V"], - [0xA74A, "M", [0xA74B]], - [0xA74B, "V"], - [0xA74C, "M", [0xA74D]], - [0xA74D, "V"], - [0xA74E, "M", [0xA74F]], - [0xA74F, "V"], - [0xA750, "M", [0xA751]], - [0xA751, "V"], - [0xA752, "M", [0xA753]], - [0xA753, "V"], - [0xA754, "M", [0xA755]], - [0xA755, "V"], - [0xA756, "M", [0xA757]], - [0xA757, "V"], - [0xA758, "M", [0xA759]], - [0xA759, "V"], - [0xA75A, "M", [0xA75B]], - [0xA75B, "V"], - [0xA75C, "M", [0xA75D]], - [0xA75D, "V"], - [0xA75E, "M", [0xA75F]], - [0xA75F, "V"], - [0xA760, "M", [0xA761]], - [0xA761, "V"], - [0xA762, "M", [0xA763]], - [0xA763, "V"], - [0xA764, "M", [0xA765]], - [0xA765, "V"], - [0xA766, "M", [0xA767]], - [0xA767, "V"], - [0xA768, "M", [0xA769]], - [0xA769, "V"], - [0xA76A, "M", [0xA76B]], - [0xA76B, "V"], - [0xA76C, "M", [0xA76D]], - [0xA76D, "V"], - [0xA76E, "M", [0xA76F]], - [0xA76F, "V"], - [0xA770, "M", [0xA76F]], - [0xA771, "V"], - [0xA779, "M", [0xA77A]], - [0xA77A, "V"], - [0xA77B, "M", [0xA77C]], - [0xA77C, "V"], - [0xA77D, "M", [0x1D79]], - [0xA77E, "M", [0xA77F]], - [0xA77F, "V"], - [0xA780, "M", [0xA781]], - [0xA781, "V"], - [0xA782, "M", [0xA783]], - [0xA783, "V"], - [0xA784, "M", [0xA785]], - [0xA785, "V"], - [0xA786, "M", [0xA787]], - [0xA787, "V"], - [0xA78B, "M", [0xA78C]], - [0xA78C, "V"], - [0xA78D, "M", [0x0265]], - [0xA78E, "V"], - [0xA790, "M", [0xA791]], - [0xA791, "V"], - [0xA792, "M", [0xA793]], - [0xA793, "V"], - [0xA796, "M", [0xA797]], - [0xA797, "V"], - [0xA798, "M", [0xA799]], - [0xA799, "V"], - [0xA79A, "M", [0xA79B]], - [0xA79B, "V"], - [0xA79C, "M", [0xA79D]], - [0xA79D, "V"], - [0xA79E, "M", [0xA79F]], - [0xA79F, "V"], - [0xA7A0, "M", [0xA7A1]], - [0xA7A1, "V"], - [0xA7A2, "M", [0xA7A3]], - [0xA7A3, "V"], - [0xA7A4, "M", [0xA7A5]], - [0xA7A5, "V"], - [0xA7A6, "M", [0xA7A7]], - [0xA7A7, "V"], - [0xA7A8, "M", [0xA7A9]], - [0xA7A9, "V"], - [0xA7AA, "M", [0x0266]], - [0xA7AB, "M", [0x025C]], - [0xA7AC, "M", [0x0261]], - [0xA7AD, "M", [0x026C]], - [0xA7AE, "M", [0x026A]], - [0xA7AF, "V"], - [0xA7B0, "M", [0x029E]], - [0xA7B1, "M", [0x0287]], - [0xA7B2, "M", [0x029D]], - [0xA7B3, "M", [0xAB53]], - [0xA7B4, "M", [0xA7B5]], - [0xA7B5, "V"], - [0xA7B6, "M", [0xA7B7]], - [0xA7B7, "V"], - [0xA7B8, "M", [0xA7B9]], - [0xA7B9, "V"], - [0xA7BA, "M", [0xA7BB]], - [0xA7BB, "V"], - [0xA7BC, "M", [0xA7BD]], - [0xA7BD, "V"], - [0xA7BE, "M", [0xA7BF]], - [0xA7BF, "V"], - [0xA7C0, "M", [0xA7C1]], - [0xA7C1, "V"], - [0xA7C2, "M", [0xA7C3]], - [0xA7C3, "V"], - [0xA7C4, "M", [0xA794]], - [0xA7C5, "M", [0x0282]], - [0xA7C6, "M", [0x1D8E]], - [0xA7C7, "M", [0xA7C8]], - [0xA7C8, "V"], - [0xA7C9, "M", [0xA7CA]], - [0xA7CA, "V"], - [0xA7CB, "X"], - [0xA7D0, "M", [0xA7D1]], - [0xA7D1, "V"], - [0xA7D2, "X"], - [0xA7D3, "V"], - [0xA7D4, "X"], - [0xA7D5, "V"], - [0xA7D6, "M", [0xA7D7]], - [0xA7D7, "V"], - [0xA7D8, "M", [0xA7D9]], - [0xA7D9, "V"], - [0xA7DA, "X"], - [0xA7F2, "M", [0x0063]], - [0xA7F3, "M", [0x0066]], - [0xA7F4, "M", [0x0071]], - [0xA7F5, "M", [0xA7F6]], - [0xA7F6, "V"], - [0xA7F8, "M", [0x0127]], - [0xA7F9, "M", [0x0153]], - [0xA7FA, "V"], - [0xA82D, "X"], - [0xA830, "V"], - [0xA83A, "X"], - [0xA840, "V"], - [0xA878, "X"], - [0xA880, "V"], - [0xA8C6, "X"], - [0xA8CE, "V"], - [0xA8DA, "X"], - [0xA8E0, "V"], - [0xA954, "X"], - [0xA95F, "V"], - [0xA97D, "X"], - [0xA980, "V"], - [0xA9CE, "X"], - [0xA9CF, "V"], - [0xA9DA, "X"], - [0xA9DE, "V"], - [0xA9FF, "X"], - [0xAA00, "V"], - [0xAA37, "X"], - [0xAA40, "V"], - [0xAA4E, "X"], - [0xAA50, "V"], - [0xAA5A, "X"], - [0xAA5C, "V"], - [0xAAC3, "X"], - [0xAADB, "V"], - [0xAAF7, "X"], - [0xAB01, "V"], - [0xAB07, "X"], - [0xAB09, "V"], - [0xAB0F, "X"], - [0xAB11, "V"], - [0xAB17, "X"], - [0xAB20, "V"], - [0xAB27, "X"], - [0xAB28, "V"], - [0xAB2F, "X"], - [0xAB30, "V"], - [0xAB5C, "M", [0xA727]], - [0xAB5D, "M", [0xAB37]], - [0xAB5E, "M", [0x026B]], - [0xAB5F, "M", [0xAB52]], - [0xAB60, "V"], - [0xAB69, "M", [0x028D]], - [0xAB6A, "V"], - [0xAB6C, "X"], - [0xAB70, "M", [0x13A0]], - [0xAB71, "M", [0x13A1]], - [0xAB72, "M", [0x13A2]], - [0xAB73, "M", [0x13A3]], - [0xAB74, "M", [0x13A4]], - [0xAB75, "M", [0x13A5]], - [0xAB76, "M", [0x13A6]], - [0xAB77, "M", [0x13A7]], - [0xAB78, "M", [0x13A8]], - [0xAB79, "M", [0x13A9]], - [0xAB7A, "M", [0x13AA]], - [0xAB7B, "M", [0x13AB]], - [0xAB7C, "M", [0x13AC]], - [0xAB7D, "M", [0x13AD]], - [0xAB7E, "M", [0x13AE]], - [0xAB7F, "M", [0x13AF]], - [0xAB80, "M", [0x13B0]], - [0xAB81, "M", [0x13B1]], - [0xAB82, "M", [0x13B2]], - [0xAB83, "M", [0x13B3]], - [0xAB84, "M", [0x13B4]], - [0xAB85, "M", [0x13B5]], - [0xAB86, "M", [0x13B6]], - [0xAB87, "M", [0x13B7]], - [0xAB88, "M", [0x13B8]], - [0xAB89, "M", [0x13B9]], - [0xAB8A, "M", [0x13BA]], - [0xAB8B, "M", [0x13BB]], - [0xAB8C, "M", [0x13BC]], - [0xAB8D, "M", [0x13BD]], - [0xAB8E, "M", [0x13BE]], - [0xAB8F, "M", [0x13BF]], - [0xAB90, "M", [0x13C0]], - [0xAB91, "M", [0x13C1]], - [0xAB92, "M", [0x13C2]], - [0xAB93, "M", [0x13C3]], - [0xAB94, "M", [0x13C4]], - [0xAB95, "M", [0x13C5]], - [0xAB96, "M", [0x13C6]], - [0xAB97, "M", [0x13C7]], - [0xAB98, "M", [0x13C8]], - [0xAB99, "M", [0x13C9]], - [0xAB9A, "M", [0x13CA]], - [0xAB9B, "M", [0x13CB]], - [0xAB9C, "M", [0x13CC]], - [0xAB9D, "M", [0x13CD]], - [0xAB9E, "M", [0x13CE]], - [0xAB9F, "M", [0x13CF]], - [0xABA0, "M", [0x13D0]], - [0xABA1, "M", [0x13D1]], - [0xABA2, "M", [0x13D2]], - [0xABA3, "M", [0x13D3]], - [0xABA4, "M", [0x13D4]], - [0xABA5, "M", [0x13D5]], - [0xABA6, "M", [0x13D6]], - [0xABA7, "M", [0x13D7]], - [0xABA8, "M", [0x13D8]], - [0xABA9, "M", [0x13D9]], - [0xABAA, "M", [0x13DA]], - [0xABAB, "M", [0x13DB]], - [0xABAC, "M", [0x13DC]], - [0xABAD, "M", [0x13DD]], - [0xABAE, "M", [0x13DE]], - [0xABAF, "M", [0x13DF]], - [0xABB0, "M", [0x13E0]], - [0xABB1, "M", [0x13E1]], - [0xABB2, "M", [0x13E2]], - [0xABB3, "M", [0x13E3]], - [0xABB4, "M", [0x13E4]], - [0xABB5, "M", [0x13E5]], - [0xABB6, "M", [0x13E6]], - [0xABB7, "M", [0x13E7]], - [0xABB8, "M", [0x13E8]], - [0xABB9, "M", [0x13E9]], - [0xABBA, "M", [0x13EA]], - [0xABBB, "M", [0x13EB]], - [0xABBC, "M", [0x13EC]], - [0xABBD, "M", [0x13ED]], - [0xABBE, "M", [0x13EE]], - [0xABBF, "M", [0x13EF]], - [0xABC0, "V"], - [0xABEE, "X"], - [0xABF0, "V"], - [0xABFA, "X"], - [0xAC00, "V"], - [0xD7A4, "X"], - [0xD7B0, "V"], - [0xD7C7, "X"], - [0xD7CB, "V"], - [0xD7FC, "X"], - [0xF900, "M", [0x8C48]], - [0xF901, "M", [0x66F4]], - [0xF902, "M", [0x8ECA]], - [0xF903, "M", [0x8CC8]], - [0xF904, "M", [0x6ED1]], - [0xF905, "M", [0x4E32]], - [0xF906, "M", [0x53E5]], - [0xF907, "M", [0x9F9C]], - [0xF909, "M", [0x5951]], - [0xF90A, "M", [0x91D1]], - [0xF90B, "M", [0x5587]], - [0xF90C, "M", [0x5948]], - [0xF90D, "M", [0x61F6]], - [0xF90E, "M", [0x7669]], - [0xF90F, "M", [0x7F85]], - [0xF910, "M", [0x863F]], - [0xF911, "M", [0x87BA]], - [0xF912, "M", [0x88F8]], - [0xF913, "M", [0x908F]], - [0xF914, "M", [0x6A02]], - [0xF915, "M", [0x6D1B]], - [0xF916, "M", [0x70D9]], - [0xF917, "M", [0x73DE]], - [0xF918, "M", [0x843D]], - [0xF919, "M", [0x916A]], - [0xF91A, "M", [0x99F1]], - [0xF91B, "M", [0x4E82]], - [0xF91C, "M", [0x5375]], - [0xF91D, "M", [0x6B04]], - [0xF91E, "M", [0x721B]], - [0xF91F, "M", [0x862D]], - [0xF920, "M", [0x9E1E]], - [0xF921, "M", [0x5D50]], - [0xF922, "M", [0x6FEB]], - [0xF923, "M", [0x85CD]], - [0xF924, "M", [0x8964]], - [0xF925, "M", [0x62C9]], - [0xF926, "M", [0x81D8]], - [0xF927, "M", [0x881F]], - [0xF928, "M", [0x5ECA]], - [0xF929, "M", [0x6717]], - [0xF92A, "M", [0x6D6A]], - [0xF92B, "M", [0x72FC]], - [0xF92C, "M", [0x90CE]], - [0xF92D, "M", [0x4F86]], - [0xF92E, "M", [0x51B7]], - [0xF92F, "M", [0x52DE]], - [0xF930, "M", [0x64C4]], - [0xF931, "M", [0x6AD3]], - [0xF932, "M", [0x7210]], - [0xF933, "M", [0x76E7]], - [0xF934, "M", [0x8001]], - [0xF935, "M", [0x8606]], - [0xF936, "M", [0x865C]], - [0xF937, "M", [0x8DEF]], - [0xF938, "M", [0x9732]], - [0xF939, "M", [0x9B6F]], - [0xF93A, "M", [0x9DFA]], - [0xF93B, "M", [0x788C]], - [0xF93C, "M", [0x797F]], - [0xF93D, "M", [0x7DA0]], - [0xF93E, "M", [0x83C9]], - [0xF93F, "M", [0x9304]], - [0xF940, "M", [0x9E7F]], - [0xF941, "M", [0x8AD6]], - [0xF942, "M", [0x58DF]], - [0xF943, "M", [0x5F04]], - [0xF944, "M", [0x7C60]], - [0xF945, "M", [0x807E]], - [0xF946, "M", [0x7262]], - [0xF947, "M", [0x78CA]], - [0xF948, "M", [0x8CC2]], - [0xF949, "M", [0x96F7]], - [0xF94A, "M", [0x58D8]], - [0xF94B, "M", [0x5C62]], - [0xF94C, "M", [0x6A13]], - [0xF94D, "M", [0x6DDA]], - [0xF94E, "M", [0x6F0F]], - [0xF94F, "M", [0x7D2F]], - [0xF950, "M", [0x7E37]], - [0xF951, "M", [0x964B]], - [0xF952, "M", [0x52D2]], - [0xF953, "M", [0x808B]], - [0xF954, "M", [0x51DC]], - [0xF955, "M", [0x51CC]], - [0xF956, "M", [0x7A1C]], - [0xF957, "M", [0x7DBE]], - [0xF958, "M", [0x83F1]], - [0xF959, "M", [0x9675]], - [0xF95A, "M", [0x8B80]], - [0xF95B, "M", [0x62CF]], - [0xF95C, "M", [0x6A02]], - [0xF95D, "M", [0x8AFE]], - [0xF95E, "M", [0x4E39]], - [0xF95F, "M", [0x5BE7]], - [0xF960, "M", [0x6012]], - [0xF961, "M", [0x7387]], - [0xF962, "M", [0x7570]], - [0xF963, "M", [0x5317]], - [0xF964, "M", [0x78FB]], - [0xF965, "M", [0x4FBF]], - [0xF966, "M", [0x5FA9]], - [0xF967, "M", [0x4E0D]], - [0xF968, "M", [0x6CCC]], - [0xF969, "M", [0x6578]], - [0xF96A, "M", [0x7D22]], - [0xF96B, "M", [0x53C3]], - [0xF96C, "M", [0x585E]], - [0xF96D, "M", [0x7701]], - [0xF96E, "M", [0x8449]], - [0xF96F, "M", [0x8AAA]], - [0xF970, "M", [0x6BBA]], - [0xF971, "M", [0x8FB0]], - [0xF972, "M", [0x6C88]], - [0xF973, "M", [0x62FE]], - [0xF974, "M", [0x82E5]], - [0xF975, "M", [0x63A0]], - [0xF976, "M", [0x7565]], - [0xF977, "M", [0x4EAE]], - [0xF978, "M", [0x5169]], - [0xF979, "M", [0x51C9]], - [0xF97A, "M", [0x6881]], - [0xF97B, "M", [0x7CE7]], - [0xF97C, "M", [0x826F]], - [0xF97D, "M", [0x8AD2]], - [0xF97E, "M", [0x91CF]], - [0xF97F, "M", [0x52F5]], - [0xF980, "M", [0x5442]], - [0xF981, "M", [0x5973]], - [0xF982, "M", [0x5EEC]], - [0xF983, "M", [0x65C5]], - [0xF984, "M", [0x6FFE]], - [0xF985, "M", [0x792A]], - [0xF986, "M", [0x95AD]], - [0xF987, "M", [0x9A6A]], - [0xF988, "M", [0x9E97]], - [0xF989, "M", [0x9ECE]], - [0xF98A, "M", [0x529B]], - [0xF98B, "M", [0x66C6]], - [0xF98C, "M", [0x6B77]], - [0xF98D, "M", [0x8F62]], - [0xF98E, "M", [0x5E74]], - [0xF98F, "M", [0x6190]], - [0xF990, "M", [0x6200]], - [0xF991, "M", [0x649A]], - [0xF992, "M", [0x6F23]], - [0xF993, "M", [0x7149]], - [0xF994, "M", [0x7489]], - [0xF995, "M", [0x79CA]], - [0xF996, "M", [0x7DF4]], - [0xF997, "M", [0x806F]], - [0xF998, "M", [0x8F26]], - [0xF999, "M", [0x84EE]], - [0xF99A, "M", [0x9023]], - [0xF99B, "M", [0x934A]], - [0xF99C, "M", [0x5217]], - [0xF99D, "M", [0x52A3]], - [0xF99E, "M", [0x54BD]], - [0xF99F, "M", [0x70C8]], - [0xF9A0, "M", [0x88C2]], - [0xF9A1, "M", [0x8AAA]], - [0xF9A2, "M", [0x5EC9]], - [0xF9A3, "M", [0x5FF5]], - [0xF9A4, "M", [0x637B]], - [0xF9A5, "M", [0x6BAE]], - [0xF9A6, "M", [0x7C3E]], - [0xF9A7, "M", [0x7375]], - [0xF9A8, "M", [0x4EE4]], - [0xF9A9, "M", [0x56F9]], - [0xF9AA, "M", [0x5BE7]], - [0xF9AB, "M", [0x5DBA]], - [0xF9AC, "M", [0x601C]], - [0xF9AD, "M", [0x73B2]], - [0xF9AE, "M", [0x7469]], - [0xF9AF, "M", [0x7F9A]], - [0xF9B0, "M", [0x8046]], - [0xF9B1, "M", [0x9234]], - [0xF9B2, "M", [0x96F6]], - [0xF9B3, "M", [0x9748]], - [0xF9B4, "M", [0x9818]], - [0xF9B5, "M", [0x4F8B]], - [0xF9B6, "M", [0x79AE]], - [0xF9B7, "M", [0x91B4]], - [0xF9B8, "M", [0x96B8]], - [0xF9B9, "M", [0x60E1]], - [0xF9BA, "M", [0x4E86]], - [0xF9BB, "M", [0x50DA]], - [0xF9BC, "M", [0x5BEE]], - [0xF9BD, "M", [0x5C3F]], - [0xF9BE, "M", [0x6599]], - [0xF9BF, "M", [0x6A02]], - [0xF9C0, "M", [0x71CE]], - [0xF9C1, "M", [0x7642]], - [0xF9C2, "M", [0x84FC]], - [0xF9C3, "M", [0x907C]], - [0xF9C4, "M", [0x9F8D]], - [0xF9C5, "M", [0x6688]], - [0xF9C6, "M", [0x962E]], - [0xF9C7, "M", [0x5289]], - [0xF9C8, "M", [0x677B]], - [0xF9C9, "M", [0x67F3]], - [0xF9CA, "M", [0x6D41]], - [0xF9CB, "M", [0x6E9C]], - [0xF9CC, "M", [0x7409]], - [0xF9CD, "M", [0x7559]], - [0xF9CE, "M", [0x786B]], - [0xF9CF, "M", [0x7D10]], - [0xF9D0, "M", [0x985E]], - [0xF9D1, "M", [0x516D]], - [0xF9D2, "M", [0x622E]], - [0xF9D3, "M", [0x9678]], - [0xF9D4, "M", [0x502B]], - [0xF9D5, "M", [0x5D19]], - [0xF9D6, "M", [0x6DEA]], - [0xF9D7, "M", [0x8F2A]], - [0xF9D8, "M", [0x5F8B]], - [0xF9D9, "M", [0x6144]], - [0xF9DA, "M", [0x6817]], - [0xF9DB, "M", [0x7387]], - [0xF9DC, "M", [0x9686]], - [0xF9DD, "M", [0x5229]], - [0xF9DE, "M", [0x540F]], - [0xF9DF, "M", [0x5C65]], - [0xF9E0, "M", [0x6613]], - [0xF9E1, "M", [0x674E]], - [0xF9E2, "M", [0x68A8]], - [0xF9E3, "M", [0x6CE5]], - [0xF9E4, "M", [0x7406]], - [0xF9E5, "M", [0x75E2]], - [0xF9E6, "M", [0x7F79]], - [0xF9E7, "M", [0x88CF]], - [0xF9E8, "M", [0x88E1]], - [0xF9E9, "M", [0x91CC]], - [0xF9EA, "M", [0x96E2]], - [0xF9EB, "M", [0x533F]], - [0xF9EC, "M", [0x6EBA]], - [0xF9ED, "M", [0x541D]], - [0xF9EE, "M", [0x71D0]], - [0xF9EF, "M", [0x7498]], - [0xF9F0, "M", [0x85FA]], - [0xF9F1, "M", [0x96A3]], - [0xF9F2, "M", [0x9C57]], - [0xF9F3, "M", [0x9E9F]], - [0xF9F4, "M", [0x6797]], - [0xF9F5, "M", [0x6DCB]], - [0xF9F6, "M", [0x81E8]], - [0xF9F7, "M", [0x7ACB]], - [0xF9F8, "M", [0x7B20]], - [0xF9F9, "M", [0x7C92]], - [0xF9FA, "M", [0x72C0]], - [0xF9FB, "M", [0x7099]], - [0xF9FC, "M", [0x8B58]], - [0xF9FD, "M", [0x4EC0]], - [0xF9FE, "M", [0x8336]], - [0xF9FF, "M", [0x523A]], - [0xFA00, "M", [0x5207]], - [0xFA01, "M", [0x5EA6]], - [0xFA02, "M", [0x62D3]], - [0xFA03, "M", [0x7CD6]], - [0xFA04, "M", [0x5B85]], - [0xFA05, "M", [0x6D1E]], - [0xFA06, "M", [0x66B4]], - [0xFA07, "M", [0x8F3B]], - [0xFA08, "M", [0x884C]], - [0xFA09, "M", [0x964D]], - [0xFA0A, "M", [0x898B]], - [0xFA0B, "M", [0x5ED3]], - [0xFA0C, "M", [0x5140]], - [0xFA0D, "M", [0x55C0]], - [0xFA0E, "V"], - [0xFA10, "M", [0x585A]], - [0xFA11, "V"], - [0xFA12, "M", [0x6674]], - [0xFA13, "V"], - [0xFA15, "M", [0x51DE]], - [0xFA16, "M", [0x732A]], - [0xFA17, "M", [0x76CA]], - [0xFA18, "M", [0x793C]], - [0xFA19, "M", [0x795E]], - [0xFA1A, "M", [0x7965]], - [0xFA1B, "M", [0x798F]], - [0xFA1C, "M", [0x9756]], - [0xFA1D, "M", [0x7CBE]], - [0xFA1E, "M", [0x7FBD]], - [0xFA1F, "V"], - [0xFA20, "M", [0x8612]], - [0xFA21, "V"], - [0xFA22, "M", [0x8AF8]], - [0xFA23, "V"], - [0xFA25, "M", [0x9038]], - [0xFA26, "M", [0x90FD]], - [0xFA27, "V"], - [0xFA2A, "M", [0x98EF]], - [0xFA2B, "M", [0x98FC]], - [0xFA2C, "M", [0x9928]], - [0xFA2D, "M", [0x9DB4]], - [0xFA2E, "M", [0x90DE]], - [0xFA2F, "M", [0x96B7]], - [0xFA30, "M", [0x4FAE]], - [0xFA31, "M", [0x50E7]], - [0xFA32, "M", [0x514D]], - [0xFA33, "M", [0x52C9]], - [0xFA34, "M", [0x52E4]], - [0xFA35, "M", [0x5351]], - [0xFA36, "M", [0x559D]], - [0xFA37, "M", [0x5606]], - [0xFA38, "M", [0x5668]], - [0xFA39, "M", [0x5840]], - [0xFA3A, "M", [0x58A8]], - [0xFA3B, "M", [0x5C64]], - [0xFA3C, "M", [0x5C6E]], - [0xFA3D, "M", [0x6094]], - [0xFA3E, "M", [0x6168]], - [0xFA3F, "M", [0x618E]], - [0xFA40, "M", [0x61F2]], - [0xFA41, "M", [0x654F]], - [0xFA42, "M", [0x65E2]], - [0xFA43, "M", [0x6691]], - [0xFA44, "M", [0x6885]], - [0xFA45, "M", [0x6D77]], - [0xFA46, "M", [0x6E1A]], - [0xFA47, "M", [0x6F22]], - [0xFA48, "M", [0x716E]], - [0xFA49, "M", [0x722B]], - [0xFA4A, "M", [0x7422]], - [0xFA4B, "M", [0x7891]], - [0xFA4C, "M", [0x793E]], - [0xFA4D, "M", [0x7949]], - [0xFA4E, "M", [0x7948]], - [0xFA4F, "M", [0x7950]], - [0xFA50, "M", [0x7956]], - [0xFA51, "M", [0x795D]], - [0xFA52, "M", [0x798D]], - [0xFA53, "M", [0x798E]], - [0xFA54, "M", [0x7A40]], - [0xFA55, "M", [0x7A81]], - [0xFA56, "M", [0x7BC0]], - [0xFA57, "M", [0x7DF4]], - [0xFA58, "M", [0x7E09]], - [0xFA59, "M", [0x7E41]], - [0xFA5A, "M", [0x7F72]], - [0xFA5B, "M", [0x8005]], - [0xFA5C, "M", [0x81ED]], - [0xFA5D, "M", [0x8279]], - [0xFA5F, "M", [0x8457]], - [0xFA60, "M", [0x8910]], - [0xFA61, "M", [0x8996]], - [0xFA62, "M", [0x8B01]], - [0xFA63, "M", [0x8B39]], - [0xFA64, "M", [0x8CD3]], - [0xFA65, "M", [0x8D08]], - [0xFA66, "M", [0x8FB6]], - [0xFA67, "M", [0x9038]], - [0xFA68, "M", [0x96E3]], - [0xFA69, "M", [0x97FF]], - [0xFA6A, "M", [0x983B]], - [0xFA6B, "M", [0x6075]], - [0xFA6C, "M", [0x242EE]], - [0xFA6D, "M", [0x8218]], - [0xFA6E, "X"], - [0xFA70, "M", [0x4E26]], - [0xFA71, "M", [0x51B5]], - [0xFA72, "M", [0x5168]], - [0xFA73, "M", [0x4F80]], - [0xFA74, "M", [0x5145]], - [0xFA75, "M", [0x5180]], - [0xFA76, "M", [0x52C7]], - [0xFA77, "M", [0x52FA]], - [0xFA78, "M", [0x559D]], - [0xFA79, "M", [0x5555]], - [0xFA7A, "M", [0x5599]], - [0xFA7B, "M", [0x55E2]], - [0xFA7C, "M", [0x585A]], - [0xFA7D, "M", [0x58B3]], - [0xFA7E, "M", [0x5944]], - [0xFA7F, "M", [0x5954]], - [0xFA80, "M", [0x5A62]], - [0xFA81, "M", [0x5B28]], - [0xFA82, "M", [0x5ED2]], - [0xFA83, "M", [0x5ED9]], - [0xFA84, "M", [0x5F69]], - [0xFA85, "M", [0x5FAD]], - [0xFA86, "M", [0x60D8]], - [0xFA87, "M", [0x614E]], - [0xFA88, "M", [0x6108]], - [0xFA89, "M", [0x618E]], - [0xFA8A, "M", [0x6160]], - [0xFA8B, "M", [0x61F2]], - [0xFA8C, "M", [0x6234]], - [0xFA8D, "M", [0x63C4]], - [0xFA8E, "M", [0x641C]], - [0xFA8F, "M", [0x6452]], - [0xFA90, "M", [0x6556]], - [0xFA91, "M", [0x6674]], - [0xFA92, "M", [0x6717]], - [0xFA93, "M", [0x671B]], - [0xFA94, "M", [0x6756]], - [0xFA95, "M", [0x6B79]], - [0xFA96, "M", [0x6BBA]], - [0xFA97, "M", [0x6D41]], - [0xFA98, "M", [0x6EDB]], - [0xFA99, "M", [0x6ECB]], - [0xFA9A, "M", [0x6F22]], - [0xFA9B, "M", [0x701E]], - [0xFA9C, "M", [0x716E]], - [0xFA9D, "M", [0x77A7]], - [0xFA9E, "M", [0x7235]], - [0xFA9F, "M", [0x72AF]], - [0xFAA0, "M", [0x732A]], - [0xFAA1, "M", [0x7471]], - [0xFAA2, "M", [0x7506]], - [0xFAA3, "M", [0x753B]], - [0xFAA4, "M", [0x761D]], - [0xFAA5, "M", [0x761F]], - [0xFAA6, "M", [0x76CA]], - [0xFAA7, "M", [0x76DB]], - [0xFAA8, "M", [0x76F4]], - [0xFAA9, "M", [0x774A]], - [0xFAAA, "M", [0x7740]], - [0xFAAB, "M", [0x78CC]], - [0xFAAC, "M", [0x7AB1]], - [0xFAAD, "M", [0x7BC0]], - [0xFAAE, "M", [0x7C7B]], - [0xFAAF, "M", [0x7D5B]], - [0xFAB0, "M", [0x7DF4]], - [0xFAB1, "M", [0x7F3E]], - [0xFAB2, "M", [0x8005]], - [0xFAB3, "M", [0x8352]], - [0xFAB4, "M", [0x83EF]], - [0xFAB5, "M", [0x8779]], - [0xFAB6, "M", [0x8941]], - [0xFAB7, "M", [0x8986]], - [0xFAB8, "M", [0x8996]], - [0xFAB9, "M", [0x8ABF]], - [0xFABA, "M", [0x8AF8]], - [0xFABB, "M", [0x8ACB]], - [0xFABC, "M", [0x8B01]], - [0xFABD, "M", [0x8AFE]], - [0xFABE, "M", [0x8AED]], - [0xFABF, "M", [0x8B39]], - [0xFAC0, "M", [0x8B8A]], - [0xFAC1, "M", [0x8D08]], - [0xFAC2, "M", [0x8F38]], - [0xFAC3, "M", [0x9072]], - [0xFAC4, "M", [0x9199]], - [0xFAC5, "M", [0x9276]], - [0xFAC6, "M", [0x967C]], - [0xFAC7, "M", [0x96E3]], - [0xFAC8, "M", [0x9756]], - [0xFAC9, "M", [0x97DB]], - [0xFACA, "M", [0x97FF]], - [0xFACB, "M", [0x980B]], - [0xFACC, "M", [0x983B]], - [0xFACD, "M", [0x9B12]], - [0xFACE, "M", [0x9F9C]], - [0xFACF, "M", [0x2284A]], - [0xFAD0, "M", [0x22844]], - [0xFAD1, "M", [0x233D5]], - [0xFAD2, "M", [0x3B9D]], - [0xFAD3, "M", [0x4018]], - [0xFAD4, "M", [0x4039]], - [0xFAD5, "M", [0x25249]], - [0xFAD6, "M", [0x25CD0]], - [0xFAD7, "M", [0x27ED3]], - [0xFAD8, "M", [0x9F43]], - [0xFAD9, "M", [0x9F8E]], - [0xFADA, "X"], - [0xFB00, "M", [0x0066, 0x0066]], - [0xFB01, "M", [0x0066, 0x0069]], - [0xFB02, "M", [0x0066, 0x006C]], - [0xFB03, "M", [0x0066, 0x0066, 0x0069]], - [0xFB04, "M", [0x0066, 0x0066, 0x006C]], - [0xFB05, "M", [0x0073, 0x0074]], - [0xFB07, "X"], - [0xFB13, "M", [0x0574, 0x0576]], - [0xFB14, "M", [0x0574, 0x0565]], - [0xFB15, "M", [0x0574, 0x056B]], - [0xFB16, "M", [0x057E, 0x0576]], - [0xFB17, "M", [0x0574, 0x056D]], - [0xFB18, "X"], - [0xFB1D, "M", [0x05D9, 0x05B4]], - [0xFB1E, "V"], - [0xFB1F, "M", [0x05F2, 0x05B7]], - [0xFB20, "M", [0x05E2]], - [0xFB21, "M", [0x05D0]], - [0xFB22, "M", [0x05D3]], - [0xFB23, "M", [0x05D4]], - [0xFB24, "M", [0x05DB]], - [0xFB25, "M", [0x05DC]], - [0xFB26, "M", [0x05DD]], - [0xFB27, "M", [0x05E8]], - [0xFB28, "M", [0x05EA]], - [0xFB29, "3", [0x002B]], - [0xFB2A, "M", [0x05E9, 0x05C1]], - [0xFB2B, "M", [0x05E9, 0x05C2]], - [0xFB2C, "M", [0x05E9, 0x05BC, 0x05C1]], - [0xFB2D, "M", [0x05E9, 0x05BC, 0x05C2]], - [0xFB2E, "M", [0x05D0, 0x05B7]], - [0xFB2F, "M", [0x05D0, 0x05B8]], - [0xFB30, "M", [0x05D0, 0x05BC]], - [0xFB31, "M", [0x05D1, 0x05BC]], - [0xFB32, "M", [0x05D2, 0x05BC]], - [0xFB33, "M", [0x05D3, 0x05BC]], - [0xFB34, "M", [0x05D4, 0x05BC]], - [0xFB35, "M", [0x05D5, 0x05BC]], - [0xFB36, "M", [0x05D6, 0x05BC]], - [0xFB37, "X"], - [0xFB38, "M", [0x05D8, 0x05BC]], - [0xFB39, "M", [0x05D9, 0x05BC]], - [0xFB3A, "M", [0x05DA, 0x05BC]], - [0xFB3B, "M", [0x05DB, 0x05BC]], - [0xFB3C, "M", [0x05DC, 0x05BC]], - [0xFB3D, "X"], - [0xFB3E, "M", [0x05DE, 0x05BC]], - [0xFB3F, "X"], - [0xFB40, "M", [0x05E0, 0x05BC]], - [0xFB41, "M", [0x05E1, 0x05BC]], - [0xFB42, "X"], - [0xFB43, "M", [0x05E3, 0x05BC]], - [0xFB44, "M", [0x05E4, 0x05BC]], - [0xFB45, "X"], - [0xFB46, "M", [0x05E6, 0x05BC]], - [0xFB47, "M", [0x05E7, 0x05BC]], - [0xFB48, "M", [0x05E8, 0x05BC]], - [0xFB49, "M", [0x05E9, 0x05BC]], - [0xFB4A, "M", [0x05EA, 0x05BC]], - [0xFB4B, "M", [0x05D5, 0x05B9]], - [0xFB4C, "M", [0x05D1, 0x05BF]], - [0xFB4D, "M", [0x05DB, 0x05BF]], - [0xFB4E, "M", [0x05E4, 0x05BF]], - [0xFB4F, "M", [0x05D0, 0x05DC]], - [0xFB50, "M", [0x0671]], - [0xFB52, "M", [0x067B]], - [0xFB56, "M", [0x067E]], - [0xFB5A, "M", [0x0680]], - [0xFB5E, "M", [0x067A]], - [0xFB62, "M", [0x067F]], - [0xFB66, "M", [0x0679]], - [0xFB6A, "M", [0x06A4]], - [0xFB6E, "M", [0x06A6]], - [0xFB72, "M", [0x0684]], - [0xFB76, "M", [0x0683]], - [0xFB7A, "M", [0x0686]], - [0xFB7E, "M", [0x0687]], - [0xFB82, "M", [0x068D]], - [0xFB84, "M", [0x068C]], - [0xFB86, "M", [0x068E]], - [0xFB88, "M", [0x0688]], - [0xFB8A, "M", [0x0698]], - [0xFB8C, "M", [0x0691]], - [0xFB8E, "M", [0x06A9]], - [0xFB92, "M", [0x06AF]], - [0xFB96, "M", [0x06B3]], - [0xFB9A, "M", [0x06B1]], - [0xFB9E, "M", [0x06BA]], - [0xFBA0, "M", [0x06BB]], - [0xFBA4, "M", [0x06C0]], - [0xFBA6, "M", [0x06C1]], - [0xFBAA, "M", [0x06BE]], - [0xFBAE, "M", [0x06D2]], - [0xFBB0, "M", [0x06D3]], - [0xFBB2, "V"], - [0xFBC3, "X"], - [0xFBD3, "M", [0x06AD]], - [0xFBD7, "M", [0x06C7]], - [0xFBD9, "M", [0x06C6]], - [0xFBDB, "M", [0x06C8]], - [0xFBDD, "M", [0x06C7, 0x0674]], - [0xFBDE, "M", [0x06CB]], - [0xFBE0, "M", [0x06C5]], - [0xFBE2, "M", [0x06C9]], - [0xFBE4, "M", [0x06D0]], - [0xFBE8, "M", [0x0649]], - [0xFBEA, "M", [0x0626, 0x0627]], - [0xFBEC, "M", [0x0626, 0x06D5]], - [0xFBEE, "M", [0x0626, 0x0648]], - [0xFBF0, "M", [0x0626, 0x06C7]], - [0xFBF2, "M", [0x0626, 0x06C6]], - [0xFBF4, "M", [0x0626, 0x06C8]], - [0xFBF6, "M", [0x0626, 0x06D0]], - [0xFBF9, "M", [0x0626, 0x0649]], - [0xFBFC, "M", [0x06CC]], - [0xFC00, "M", [0x0626, 0x062C]], - [0xFC01, "M", [0x0626, 0x062D]], - [0xFC02, "M", [0x0626, 0x0645]], - [0xFC03, "M", [0x0626, 0x0649]], - [0xFC04, "M", [0x0626, 0x064A]], - [0xFC05, "M", [0x0628, 0x062C]], - [0xFC06, "M", [0x0628, 0x062D]], - [0xFC07, "M", [0x0628, 0x062E]], - [0xFC08, "M", [0x0628, 0x0645]], - [0xFC09, "M", [0x0628, 0x0649]], - [0xFC0A, "M", [0x0628, 0x064A]], - [0xFC0B, "M", [0x062A, 0x062C]], - [0xFC0C, "M", [0x062A, 0x062D]], - [0xFC0D, "M", [0x062A, 0x062E]], - [0xFC0E, "M", [0x062A, 0x0645]], - [0xFC0F, "M", [0x062A, 0x0649]], - [0xFC10, "M", [0x062A, 0x064A]], - [0xFC11, "M", [0x062B, 0x062C]], - [0xFC12, "M", [0x062B, 0x0645]], - [0xFC13, "M", [0x062B, 0x0649]], - [0xFC14, "M", [0x062B, 0x064A]], - [0xFC15, "M", [0x062C, 0x062D]], - [0xFC16, "M", [0x062C, 0x0645]], - [0xFC17, "M", [0x062D, 0x062C]], - [0xFC18, "M", [0x062D, 0x0645]], - [0xFC19, "M", [0x062E, 0x062C]], - [0xFC1A, "M", [0x062E, 0x062D]], - [0xFC1B, "M", [0x062E, 0x0645]], - [0xFC1C, "M", [0x0633, 0x062C]], - [0xFC1D, "M", [0x0633, 0x062D]], - [0xFC1E, "M", [0x0633, 0x062E]], - [0xFC1F, "M", [0x0633, 0x0645]], - [0xFC20, "M", [0x0635, 0x062D]], - [0xFC21, "M", [0x0635, 0x0645]], - [0xFC22, "M", [0x0636, 0x062C]], - [0xFC23, "M", [0x0636, 0x062D]], - [0xFC24, "M", [0x0636, 0x062E]], - [0xFC25, "M", [0x0636, 0x0645]], - [0xFC26, "M", [0x0637, 0x062D]], - [0xFC27, "M", [0x0637, 0x0645]], - [0xFC28, "M", [0x0638, 0x0645]], - [0xFC29, "M", [0x0639, 0x062C]], - [0xFC2A, "M", [0x0639, 0x0645]], - [0xFC2B, "M", [0x063A, 0x062C]], - [0xFC2C, "M", [0x063A, 0x0645]], - [0xFC2D, "M", [0x0641, 0x062C]], - [0xFC2E, "M", [0x0641, 0x062D]], - [0xFC2F, "M", [0x0641, 0x062E]], - [0xFC30, "M", [0x0641, 0x0645]], - [0xFC31, "M", [0x0641, 0x0649]], - [0xFC32, "M", [0x0641, 0x064A]], - [0xFC33, "M", [0x0642, 0x062D]], - [0xFC34, "M", [0x0642, 0x0645]], - [0xFC35, "M", [0x0642, 0x0649]], - [0xFC36, "M", [0x0642, 0x064A]], - [0xFC37, "M", [0x0643, 0x0627]], - [0xFC38, "M", [0x0643, 0x062C]], - [0xFC39, "M", [0x0643, 0x062D]], - [0xFC3A, "M", [0x0643, 0x062E]], - [0xFC3B, "M", [0x0643, 0x0644]], - [0xFC3C, "M", [0x0643, 0x0645]], - [0xFC3D, "M", [0x0643, 0x0649]], - [0xFC3E, "M", [0x0643, 0x064A]], - [0xFC3F, "M", [0x0644, 0x062C]], - [0xFC40, "M", [0x0644, 0x062D]], - [0xFC41, "M", [0x0644, 0x062E]], - [0xFC42, "M", [0x0644, 0x0645]], - [0xFC43, "M", [0x0644, 0x0649]], - [0xFC44, "M", [0x0644, 0x064A]], - [0xFC45, "M", [0x0645, 0x062C]], - [0xFC46, "M", [0x0645, 0x062D]], - [0xFC47, "M", [0x0645, 0x062E]], - [0xFC48, "M", [0x0645, 0x0645]], - [0xFC49, "M", [0x0645, 0x0649]], - [0xFC4A, "M", [0x0645, 0x064A]], - [0xFC4B, "M", [0x0646, 0x062C]], - [0xFC4C, "M", [0x0646, 0x062D]], - [0xFC4D, "M", [0x0646, 0x062E]], - [0xFC4E, "M", [0x0646, 0x0645]], - [0xFC4F, "M", [0x0646, 0x0649]], - [0xFC50, "M", [0x0646, 0x064A]], - [0xFC51, "M", [0x0647, 0x062C]], - [0xFC52, "M", [0x0647, 0x0645]], - [0xFC53, "M", [0x0647, 0x0649]], - [0xFC54, "M", [0x0647, 0x064A]], - [0xFC55, "M", [0x064A, 0x062C]], - [0xFC56, "M", [0x064A, 0x062D]], - [0xFC57, "M", [0x064A, 0x062E]], - [0xFC58, "M", [0x064A, 0x0645]], - [0xFC59, "M", [0x064A, 0x0649]], - [0xFC5A, "M", [0x064A, 0x064A]], - [0xFC5B, "M", [0x0630, 0x0670]], - [0xFC5C, "M", [0x0631, 0x0670]], - [0xFC5D, "M", [0x0649, 0x0670]], - [0xFC5E, "3", [0x0020, 0x064C, 0x0651]], - [0xFC5F, "3", [0x0020, 0x064D, 0x0651]], - [0xFC60, "3", [0x0020, 0x064E, 0x0651]], - [0xFC61, "3", [0x0020, 0x064F, 0x0651]], - [0xFC62, "3", [0x0020, 0x0650, 0x0651]], - [0xFC63, "3", [0x0020, 0x0651, 0x0670]], - [0xFC64, "M", [0x0626, 0x0631]], - [0xFC65, "M", [0x0626, 0x0632]], - [0xFC66, "M", [0x0626, 0x0645]], - [0xFC67, "M", [0x0626, 0x0646]], - [0xFC68, "M", [0x0626, 0x0649]], - [0xFC69, "M", [0x0626, 0x064A]], - [0xFC6A, "M", [0x0628, 0x0631]], - [0xFC6B, "M", [0x0628, 0x0632]], - [0xFC6C, "M", [0x0628, 0x0645]], - [0xFC6D, "M", [0x0628, 0x0646]], - [0xFC6E, "M", [0x0628, 0x0649]], - [0xFC6F, "M", [0x0628, 0x064A]], - [0xFC70, "M", [0x062A, 0x0631]], - [0xFC71, "M", [0x062A, 0x0632]], - [0xFC72, "M", [0x062A, 0x0645]], - [0xFC73, "M", [0x062A, 0x0646]], - [0xFC74, "M", [0x062A, 0x0649]], - [0xFC75, "M", [0x062A, 0x064A]], - [0xFC76, "M", [0x062B, 0x0631]], - [0xFC77, "M", [0x062B, 0x0632]], - [0xFC78, "M", [0x062B, 0x0645]], - [0xFC79, "M", [0x062B, 0x0646]], - [0xFC7A, "M", [0x062B, 0x0649]], - [0xFC7B, "M", [0x062B, 0x064A]], - [0xFC7C, "M", [0x0641, 0x0649]], - [0xFC7D, "M", [0x0641, 0x064A]], - [0xFC7E, "M", [0x0642, 0x0649]], - [0xFC7F, "M", [0x0642, 0x064A]], - [0xFC80, "M", [0x0643, 0x0627]], - [0xFC81, "M", [0x0643, 0x0644]], - [0xFC82, "M", [0x0643, 0x0645]], - [0xFC83, "M", [0x0643, 0x0649]], - [0xFC84, "M", [0x0643, 0x064A]], - [0xFC85, "M", [0x0644, 0x0645]], - [0xFC86, "M", [0x0644, 0x0649]], - [0xFC87, "M", [0x0644, 0x064A]], - [0xFC88, "M", [0x0645, 0x0627]], - [0xFC89, "M", [0x0645, 0x0645]], - [0xFC8A, "M", [0x0646, 0x0631]], - [0xFC8B, "M", [0x0646, 0x0632]], - [0xFC8C, "M", [0x0646, 0x0645]], - [0xFC8D, "M", [0x0646, 0x0646]], - [0xFC8E, "M", [0x0646, 0x0649]], - [0xFC8F, "M", [0x0646, 0x064A]], - [0xFC90, "M", [0x0649, 0x0670]], - [0xFC91, "M", [0x064A, 0x0631]], - [0xFC92, "M", [0x064A, 0x0632]], - [0xFC93, "M", [0x064A, 0x0645]], - [0xFC94, "M", [0x064A, 0x0646]], - [0xFC95, "M", [0x064A, 0x0649]], - [0xFC96, "M", [0x064A, 0x064A]], - [0xFC97, "M", [0x0626, 0x062C]], - [0xFC98, "M", [0x0626, 0x062D]], - [0xFC99, "M", [0x0626, 0x062E]], - [0xFC9A, "M", [0x0626, 0x0645]], - [0xFC9B, "M", [0x0626, 0x0647]], - [0xFC9C, "M", [0x0628, 0x062C]], - [0xFC9D, "M", [0x0628, 0x062D]], - [0xFC9E, "M", [0x0628, 0x062E]], - [0xFC9F, "M", [0x0628, 0x0645]], - [0xFCA0, "M", [0x0628, 0x0647]], - [0xFCA1, "M", [0x062A, 0x062C]], - [0xFCA2, "M", [0x062A, 0x062D]], - [0xFCA3, "M", [0x062A, 0x062E]], - [0xFCA4, "M", [0x062A, 0x0645]], - [0xFCA5, "M", [0x062A, 0x0647]], - [0xFCA6, "M", [0x062B, 0x0645]], - [0xFCA7, "M", [0x062C, 0x062D]], - [0xFCA8, "M", [0x062C, 0x0645]], - [0xFCA9, "M", [0x062D, 0x062C]], - [0xFCAA, "M", [0x062D, 0x0645]], - [0xFCAB, "M", [0x062E, 0x062C]], - [0xFCAC, "M", [0x062E, 0x0645]], - [0xFCAD, "M", [0x0633, 0x062C]], - [0xFCAE, "M", [0x0633, 0x062D]], - [0xFCAF, "M", [0x0633, 0x062E]], - [0xFCB0, "M", [0x0633, 0x0645]], - [0xFCB1, "M", [0x0635, 0x062D]], - [0xFCB2, "M", [0x0635, 0x062E]], - [0xFCB3, "M", [0x0635, 0x0645]], - [0xFCB4, "M", [0x0636, 0x062C]], - [0xFCB5, "M", [0x0636, 0x062D]], - [0xFCB6, "M", [0x0636, 0x062E]], - [0xFCB7, "M", [0x0636, 0x0645]], - [0xFCB8, "M", [0x0637, 0x062D]], - [0xFCB9, "M", [0x0638, 0x0645]], - [0xFCBA, "M", [0x0639, 0x062C]], - [0xFCBB, "M", [0x0639, 0x0645]], - [0xFCBC, "M", [0x063A, 0x062C]], - [0xFCBD, "M", [0x063A, 0x0645]], - [0xFCBE, "M", [0x0641, 0x062C]], - [0xFCBF, "M", [0x0641, 0x062D]], - [0xFCC0, "M", [0x0641, 0x062E]], - [0xFCC1, "M", [0x0641, 0x0645]], - [0xFCC2, "M", [0x0642, 0x062D]], - [0xFCC3, "M", [0x0642, 0x0645]], - [0xFCC4, "M", [0x0643, 0x062C]], - [0xFCC5, "M", [0x0643, 0x062D]], - [0xFCC6, "M", [0x0643, 0x062E]], - [0xFCC7, "M", [0x0643, 0x0644]], - [0xFCC8, "M", [0x0643, 0x0645]], - [0xFCC9, "M", [0x0644, 0x062C]], - [0xFCCA, "M", [0x0644, 0x062D]], - [0xFCCB, "M", [0x0644, 0x062E]], - [0xFCCC, "M", [0x0644, 0x0645]], - [0xFCCD, "M", [0x0644, 0x0647]], - [0xFCCE, "M", [0x0645, 0x062C]], - [0xFCCF, "M", [0x0645, 0x062D]], - [0xFCD0, "M", [0x0645, 0x062E]], - [0xFCD1, "M", [0x0645, 0x0645]], - [0xFCD2, "M", [0x0646, 0x062C]], - [0xFCD3, "M", [0x0646, 0x062D]], - [0xFCD4, "M", [0x0646, 0x062E]], - [0xFCD5, "M", [0x0646, 0x0645]], - [0xFCD6, "M", [0x0646, 0x0647]], - [0xFCD7, "M", [0x0647, 0x062C]], - [0xFCD8, "M", [0x0647, 0x0645]], - [0xFCD9, "M", [0x0647, 0x0670]], - [0xFCDA, "M", [0x064A, 0x062C]], - [0xFCDB, "M", [0x064A, 0x062D]], - [0xFCDC, "M", [0x064A, 0x062E]], - [0xFCDD, "M", [0x064A, 0x0645]], - [0xFCDE, "M", [0x064A, 0x0647]], - [0xFCDF, "M", [0x0626, 0x0645]], - [0xFCE0, "M", [0x0626, 0x0647]], - [0xFCE1, "M", [0x0628, 0x0645]], - [0xFCE2, "M", [0x0628, 0x0647]], - [0xFCE3, "M", [0x062A, 0x0645]], - [0xFCE4, "M", [0x062A, 0x0647]], - [0xFCE5, "M", [0x062B, 0x0645]], - [0xFCE6, "M", [0x062B, 0x0647]], - [0xFCE7, "M", [0x0633, 0x0645]], - [0xFCE8, "M", [0x0633, 0x0647]], - [0xFCE9, "M", [0x0634, 0x0645]], - [0xFCEA, "M", [0x0634, 0x0647]], - [0xFCEB, "M", [0x0643, 0x0644]], - [0xFCEC, "M", [0x0643, 0x0645]], - [0xFCED, "M", [0x0644, 0x0645]], - [0xFCEE, "M", [0x0646, 0x0645]], - [0xFCEF, "M", [0x0646, 0x0647]], - [0xFCF0, "M", [0x064A, 0x0645]], - [0xFCF1, "M", [0x064A, 0x0647]], - [0xFCF2, "M", [0x0640, 0x064E, 0x0651]], - [0xFCF3, "M", [0x0640, 0x064F, 0x0651]], - [0xFCF4, "M", [0x0640, 0x0650, 0x0651]], - [0xFCF5, "M", [0x0637, 0x0649]], - [0xFCF6, "M", [0x0637, 0x064A]], - [0xFCF7, "M", [0x0639, 0x0649]], - [0xFCF8, "M", [0x0639, 0x064A]], - [0xFCF9, "M", [0x063A, 0x0649]], - [0xFCFA, "M", [0x063A, 0x064A]], - [0xFCFB, "M", [0x0633, 0x0649]], - [0xFCFC, "M", [0x0633, 0x064A]], - [0xFCFD, "M", [0x0634, 0x0649]], - [0xFCFE, "M", [0x0634, 0x064A]], - [0xFCFF, "M", [0x062D, 0x0649]], - [0xFD00, "M", [0x062D, 0x064A]], - [0xFD01, "M", [0x062C, 0x0649]], - [0xFD02, "M", [0x062C, 0x064A]], - [0xFD03, "M", [0x062E, 0x0649]], - [0xFD04, "M", [0x062E, 0x064A]], - [0xFD05, "M", [0x0635, 0x0649]], - [0xFD06, "M", [0x0635, 0x064A]], - [0xFD07, "M", [0x0636, 0x0649]], - [0xFD08, "M", [0x0636, 0x064A]], - [0xFD09, "M", [0x0634, 0x062C]], - [0xFD0A, "M", [0x0634, 0x062D]], - [0xFD0B, "M", [0x0634, 0x062E]], - [0xFD0C, "M", [0x0634, 0x0645]], - [0xFD0D, "M", [0x0634, 0x0631]], - [0xFD0E, "M", [0x0633, 0x0631]], - [0xFD0F, "M", [0x0635, 0x0631]], - [0xFD10, "M", [0x0636, 0x0631]], - [0xFD11, "M", [0x0637, 0x0649]], - [0xFD12, "M", [0x0637, 0x064A]], - [0xFD13, "M", [0x0639, 0x0649]], - [0xFD14, "M", [0x0639, 0x064A]], - [0xFD15, "M", [0x063A, 0x0649]], - [0xFD16, "M", [0x063A, 0x064A]], - [0xFD17, "M", [0x0633, 0x0649]], - [0xFD18, "M", [0x0633, 0x064A]], - [0xFD19, "M", [0x0634, 0x0649]], - [0xFD1A, "M", [0x0634, 0x064A]], - [0xFD1B, "M", [0x062D, 0x0649]], - [0xFD1C, "M", [0x062D, 0x064A]], - [0xFD1D, "M", [0x062C, 0x0649]], - [0xFD1E, "M", [0x062C, 0x064A]], - [0xFD1F, "M", [0x062E, 0x0649]], - [0xFD20, "M", [0x062E, 0x064A]], - [0xFD21, "M", [0x0635, 0x0649]], - [0xFD22, "M", [0x0635, 0x064A]], - [0xFD23, "M", [0x0636, 0x0649]], - [0xFD24, "M", [0x0636, 0x064A]], - [0xFD25, "M", [0x0634, 0x062C]], - [0xFD26, "M", [0x0634, 0x062D]], - [0xFD27, "M", [0x0634, 0x062E]], - [0xFD28, "M", [0x0634, 0x0645]], - [0xFD29, "M", [0x0634, 0x0631]], - [0xFD2A, "M", [0x0633, 0x0631]], - [0xFD2B, "M", [0x0635, 0x0631]], - [0xFD2C, "M", [0x0636, 0x0631]], - [0xFD2D, "M", [0x0634, 0x062C]], - [0xFD2E, "M", [0x0634, 0x062D]], - [0xFD2F, "M", [0x0634, 0x062E]], - [0xFD30, "M", [0x0634, 0x0645]], - [0xFD31, "M", [0x0633, 0x0647]], - [0xFD32, "M", [0x0634, 0x0647]], - [0xFD33, "M", [0x0637, 0x0645]], - [0xFD34, "M", [0x0633, 0x062C]], - [0xFD35, "M", [0x0633, 0x062D]], - [0xFD36, "M", [0x0633, 0x062E]], - [0xFD37, "M", [0x0634, 0x062C]], - [0xFD38, "M", [0x0634, 0x062D]], - [0xFD39, "M", [0x0634, 0x062E]], - [0xFD3A, "M", [0x0637, 0x0645]], - [0xFD3B, "M", [0x0638, 0x0645]], - [0xFD3C, "M", [0x0627, 0x064B]], - [0xFD3E, "V"], - [0xFD50, "M", [0x062A, 0x062C, 0x0645]], - [0xFD51, "M", [0x062A, 0x062D, 0x062C]], - [0xFD53, "M", [0x062A, 0x062D, 0x0645]], - [0xFD54, "M", [0x062A, 0x062E, 0x0645]], - [0xFD55, "M", [0x062A, 0x0645, 0x062C]], - [0xFD56, "M", [0x062A, 0x0645, 0x062D]], - [0xFD57, "M", [0x062A, 0x0645, 0x062E]], - [0xFD58, "M", [0x062C, 0x0645, 0x062D]], - [0xFD5A, "M", [0x062D, 0x0645, 0x064A]], - [0xFD5B, "M", [0x062D, 0x0645, 0x0649]], - [0xFD5C, "M", [0x0633, 0x062D, 0x062C]], - [0xFD5D, "M", [0x0633, 0x062C, 0x062D]], - [0xFD5E, "M", [0x0633, 0x062C, 0x0649]], - [0xFD5F, "M", [0x0633, 0x0645, 0x062D]], - [0xFD61, "M", [0x0633, 0x0645, 0x062C]], - [0xFD62, "M", [0x0633, 0x0645, 0x0645]], - [0xFD64, "M", [0x0635, 0x062D, 0x062D]], - [0xFD66, "M", [0x0635, 0x0645, 0x0645]], - [0xFD67, "M", [0x0634, 0x062D, 0x0645]], - [0xFD69, "M", [0x0634, 0x062C, 0x064A]], - [0xFD6A, "M", [0x0634, 0x0645, 0x062E]], - [0xFD6C, "M", [0x0634, 0x0645, 0x0645]], - [0xFD6E, "M", [0x0636, 0x062D, 0x0649]], - [0xFD6F, "M", [0x0636, 0x062E, 0x0645]], - [0xFD71, "M", [0x0637, 0x0645, 0x062D]], - [0xFD73, "M", [0x0637, 0x0645, 0x0645]], - [0xFD74, "M", [0x0637, 0x0645, 0x064A]], - [0xFD75, "M", [0x0639, 0x062C, 0x0645]], - [0xFD76, "M", [0x0639, 0x0645, 0x0645]], - [0xFD78, "M", [0x0639, 0x0645, 0x0649]], - [0xFD79, "M", [0x063A, 0x0645, 0x0645]], - [0xFD7A, "M", [0x063A, 0x0645, 0x064A]], - [0xFD7B, "M", [0x063A, 0x0645, 0x0649]], - [0xFD7C, "M", [0x0641, 0x062E, 0x0645]], - [0xFD7E, "M", [0x0642, 0x0645, 0x062D]], - [0xFD7F, "M", [0x0642, 0x0645, 0x0645]], - [0xFD80, "M", [0x0644, 0x062D, 0x0645]], - [0xFD81, "M", [0x0644, 0x062D, 0x064A]], - [0xFD82, "M", [0x0644, 0x062D, 0x0649]], - [0xFD83, "M", [0x0644, 0x062C, 0x062C]], - [0xFD85, "M", [0x0644, 0x062E, 0x0645]], - [0xFD87, "M", [0x0644, 0x0645, 0x062D]], - [0xFD89, "M", [0x0645, 0x062D, 0x062C]], - [0xFD8A, "M", [0x0645, 0x062D, 0x0645]], - [0xFD8B, "M", [0x0645, 0x062D, 0x064A]], - [0xFD8C, "M", [0x0645, 0x062C, 0x062D]], - [0xFD8D, "M", [0x0645, 0x062C, 0x0645]], - [0xFD8E, "M", [0x0645, 0x062E, 0x062C]], - [0xFD8F, "M", [0x0645, 0x062E, 0x0645]], - [0xFD90, "X"], - [0xFD92, "M", [0x0645, 0x062C, 0x062E]], - [0xFD93, "M", [0x0647, 0x0645, 0x062C]], - [0xFD94, "M", [0x0647, 0x0645, 0x0645]], - [0xFD95, "M", [0x0646, 0x062D, 0x0645]], - [0xFD96, "M", [0x0646, 0x062D, 0x0649]], - [0xFD97, "M", [0x0646, 0x062C, 0x0645]], - [0xFD99, "M", [0x0646, 0x062C, 0x0649]], - [0xFD9A, "M", [0x0646, 0x0645, 0x064A]], - [0xFD9B, "M", [0x0646, 0x0645, 0x0649]], - [0xFD9C, "M", [0x064A, 0x0645, 0x0645]], - [0xFD9E, "M", [0x0628, 0x062E, 0x064A]], - [0xFD9F, "M", [0x062A, 0x062C, 0x064A]], - [0xFDA0, "M", [0x062A, 0x062C, 0x0649]], - [0xFDA1, "M", [0x062A, 0x062E, 0x064A]], - [0xFDA2, "M", [0x062A, 0x062E, 0x0649]], - [0xFDA3, "M", [0x062A, 0x0645, 0x064A]], - [0xFDA4, "M", [0x062A, 0x0645, 0x0649]], - [0xFDA5, "M", [0x062C, 0x0645, 0x064A]], - [0xFDA6, "M", [0x062C, 0x062D, 0x0649]], - [0xFDA7, "M", [0x062C, 0x0645, 0x0649]], - [0xFDA8, "M", [0x0633, 0x062E, 0x0649]], - [0xFDA9, "M", [0x0635, 0x062D, 0x064A]], - [0xFDAA, "M", [0x0634, 0x062D, 0x064A]], - [0xFDAB, "M", [0x0636, 0x062D, 0x064A]], - [0xFDAC, "M", [0x0644, 0x062C, 0x064A]], - [0xFDAD, "M", [0x0644, 0x0645, 0x064A]], - [0xFDAE, "M", [0x064A, 0x062D, 0x064A]], - [0xFDAF, "M", [0x064A, 0x062C, 0x064A]], - [0xFDB0, "M", [0x064A, 0x0645, 0x064A]], - [0xFDB1, "M", [0x0645, 0x0645, 0x064A]], - [0xFDB2, "M", [0x0642, 0x0645, 0x064A]], - [0xFDB3, "M", [0x0646, 0x062D, 0x064A]], - [0xFDB4, "M", [0x0642, 0x0645, 0x062D]], - [0xFDB5, "M", [0x0644, 0x062D, 0x0645]], - [0xFDB6, "M", [0x0639, 0x0645, 0x064A]], - [0xFDB7, "M", [0x0643, 0x0645, 0x064A]], - [0xFDB8, "M", [0x0646, 0x062C, 0x062D]], - [0xFDB9, "M", [0x0645, 0x062E, 0x064A]], - [0xFDBA, "M", [0x0644, 0x062C, 0x0645]], - [0xFDBB, "M", [0x0643, 0x0645, 0x0645]], - [0xFDBC, "M", [0x0644, 0x062C, 0x0645]], - [0xFDBD, "M", [0x0646, 0x062C, 0x062D]], - [0xFDBE, "M", [0x062C, 0x062D, 0x064A]], - [0xFDBF, "M", [0x062D, 0x062C, 0x064A]], - [0xFDC0, "M", [0x0645, 0x062C, 0x064A]], - [0xFDC1, "M", [0x0641, 0x0645, 0x064A]], - [0xFDC2, "M", [0x0628, 0x062D, 0x064A]], - [0xFDC3, "M", [0x0643, 0x0645, 0x0645]], - [0xFDC4, "M", [0x0639, 0x062C, 0x0645]], - [0xFDC5, "M", [0x0635, 0x0645, 0x0645]], - [0xFDC6, "M", [0x0633, 0x062E, 0x064A]], - [0xFDC7, "M", [0x0646, 0x062C, 0x064A]], - [0xFDC8, "X"], - [0xFDCF, "V"], - [0xFDD0, "X"], - [0xFDF0, "M", [0x0635, 0x0644, 0x06D2]], - [0xFDF1, "M", [0x0642, 0x0644, 0x06D2]], - [0xFDF2, "M", [0x0627, 0x0644, 0x0644, 0x0647]], - [0xFDF3, "M", [0x0627, 0x0643, 0x0628, 0x0631]], - [0xFDF4, "M", [0x0645, 0x062D, 0x0645, 0x062F]], - [0xFDF5, "M", [0x0635, 0x0644, 0x0639, 0x0645]], - [0xFDF6, "M", [0x0631, 0x0633, 0x0648, 0x0644]], - [0xFDF7, "M", [0x0639, 0x0644, 0x064A, 0x0647]], - [0xFDF8, "M", [0x0648, 0x0633, 0x0644, 0x0645]], - [0xFDF9, "M", [0x0635, 0x0644, 0x0649]], - [0xFDFA, "3", [0x0635, 0x0644, 0x0649, 0x0020, 0x0627, 0x0644, 0x0644, 0x0647, 0x0020, 0x0639, 0x0644, 0x064A, 0x0647, 0x0020, 0x0648, 0x0633, 0x0644, 0x0645]], - [0xFDFB, "3", [0x062C, 0x0644, 0x0020, 0x062C, 0x0644, 0x0627, 0x0644, 0x0647]], - [0xFDFC, "M", [0x0631, 0x06CC, 0x0627, 0x0644]], - [0xFDFD, "V"], - [0xFE00, "I"], - [0xFE10, "3", [0x002C]], - [0xFE11, "M", [0x3001]], - [0xFE12, "X"], - [0xFE13, "3", [0x003A]], - [0xFE14, "3", [0x003B]], - [0xFE15, "3", [0x0021]], - [0xFE16, "3", [0x003F]], - [0xFE17, "M", [0x3016]], - [0xFE18, "M", [0x3017]], - [0xFE19, "X"], - [0xFE20, "V"], - [0xFE30, "X"], - [0xFE31, "M", [0x2014]], - [0xFE32, "M", [0x2013]], - [0xFE33, "3", [0x005F]], - [0xFE35, "3", [0x0028]], - [0xFE36, "3", [0x0029]], - [0xFE37, "3", [0x007B]], - [0xFE38, "3", [0x007D]], - [0xFE39, "M", [0x3014]], - [0xFE3A, "M", [0x3015]], - [0xFE3B, "M", [0x3010]], - [0xFE3C, "M", [0x3011]], - [0xFE3D, "M", [0x300A]], - [0xFE3E, "M", [0x300B]], - [0xFE3F, "M", [0x3008]], - [0xFE40, "M", [0x3009]], - [0xFE41, "M", [0x300C]], - [0xFE42, "M", [0x300D]], - [0xFE43, "M", [0x300E]], - [0xFE44, "M", [0x300F]], - [0xFE45, "V"], - [0xFE47, "3", [0x005B]], - [0xFE48, "3", [0x005D]], - [0xFE49, "3", [0x0020, 0x0305]], - [0xFE4D, "3", [0x005F]], - [0xFE50, "3", [0x002C]], - [0xFE51, "M", [0x3001]], - [0xFE52, "X"], - [0xFE54, "3", [0x003B]], - [0xFE55, "3", [0x003A]], - [0xFE56, "3", [0x003F]], - [0xFE57, "3", [0x0021]], - [0xFE58, "M", [0x2014]], - [0xFE59, "3", [0x0028]], - [0xFE5A, "3", [0x0029]], - [0xFE5B, "3", [0x007B]], - [0xFE5C, "3", [0x007D]], - [0xFE5D, "M", [0x3014]], - [0xFE5E, "M", [0x3015]], - [0xFE5F, "3", [0x0023]], - [0xFE60, "3", [0x0026]], - [0xFE61, "3", [0x002A]], - [0xFE62, "3", [0x002B]], - [0xFE63, "M", [0x002D]], - [0xFE64, "3", [0x003C]], - [0xFE65, "3", [0x003E]], - [0xFE66, "3", [0x003D]], - [0xFE67, "X"], - [0xFE68, "3", [0x005C]], - [0xFE69, "3", [0x0024]], - [0xFE6A, "3", [0x0025]], - [0xFE6B, "3", [0x0040]], - [0xFE6C, "X"], - [0xFE70, "3", [0x0020, 0x064B]], - [0xFE71, "M", [0x0640, 0x064B]], - [0xFE72, "3", [0x0020, 0x064C]], - [0xFE73, "V"], - [0xFE74, "3", [0x0020, 0x064D]], - [0xFE75, "X"], - [0xFE76, "3", [0x0020, 0x064E]], - [0xFE77, "M", [0x0640, 0x064E]], - [0xFE78, "3", [0x0020, 0x064F]], - [0xFE79, "M", [0x0640, 0x064F]], - [0xFE7A, "3", [0x0020, 0x0650]], - [0xFE7B, "M", [0x0640, 0x0650]], - [0xFE7C, "3", [0x0020, 0x0651]], - [0xFE7D, "M", [0x0640, 0x0651]], - [0xFE7E, "3", [0x0020, 0x0652]], - [0xFE7F, "M", [0x0640, 0x0652]], - [0xFE80, "M", [0x0621]], - [0xFE81, "M", [0x0622]], - [0xFE83, "M", [0x0623]], - [0xFE85, "M", [0x0624]], - [0xFE87, "M", [0x0625]], - [0xFE89, "M", [0x0626]], - [0xFE8D, "M", [0x0627]], - [0xFE8F, "M", [0x0628]], - [0xFE93, "M", [0x0629]], - [0xFE95, "M", [0x062A]], - [0xFE99, "M", [0x062B]], - [0xFE9D, "M", [0x062C]], - [0xFEA1, "M", [0x062D]], - [0xFEA5, "M", [0x062E]], - [0xFEA9, "M", [0x062F]], - [0xFEAB, "M", [0x0630]], - [0xFEAD, "M", [0x0631]], - [0xFEAF, "M", [0x0632]], - [0xFEB1, "M", [0x0633]], - [0xFEB5, "M", [0x0634]], - [0xFEB9, "M", [0x0635]], - [0xFEBD, "M", [0x0636]], - [0xFEC1, "M", [0x0637]], - [0xFEC5, "M", [0x0638]], - [0xFEC9, "M", [0x0639]], - [0xFECD, "M", [0x063A]], - [0xFED1, "M", [0x0641]], - [0xFED5, "M", [0x0642]], - [0xFED9, "M", [0x0643]], - [0xFEDD, "M", [0x0644]], - [0xFEE1, "M", [0x0645]], - [0xFEE5, "M", [0x0646]], - [0xFEE9, "M", [0x0647]], - [0xFEED, "M", [0x0648]], - [0xFEEF, "M", [0x0649]], - [0xFEF1, "M", [0x064A]], - [0xFEF5, "M", [0x0644, 0x0622]], - [0xFEF7, "M", [0x0644, 0x0623]], - [0xFEF9, "M", [0x0644, 0x0625]], - [0xFEFB, "M", [0x0644, 0x0627]], - [0xFEFD, "X"], - [0xFEFF, "I"], - [0xFF00, "X"], - [0xFF01, "3", [0x0021]], - [0xFF02, "3", [0x0022]], - [0xFF03, "3", [0x0023]], - [0xFF04, "3", [0x0024]], - [0xFF05, "3", [0x0025]], - [0xFF06, "3", [0x0026]], - [0xFF07, "3", [0x0027]], - [0xFF08, "3", [0x0028]], - [0xFF09, "3", [0x0029]], - [0xFF0A, "3", [0x002A]], - [0xFF0B, "3", [0x002B]], - [0xFF0C, "3", [0x002C]], - [0xFF0D, "M", [0x002D]], - [0xFF0E, "M", [0x002E]], - [0xFF0F, "3", [0x002F]], - [0xFF10, "M", [0x0030]], - [0xFF11, "M", [0x0031]], - [0xFF12, "M", [0x0032]], - [0xFF13, "M", [0x0033]], - [0xFF14, "M", [0x0034]], - [0xFF15, "M", [0x0035]], - [0xFF16, "M", [0x0036]], - [0xFF17, "M", [0x0037]], - [0xFF18, "M", [0x0038]], - [0xFF19, "M", [0x0039]], - [0xFF1A, "3", [0x003A]], - [0xFF1B, "3", [0x003B]], - [0xFF1C, "3", [0x003C]], - [0xFF1D, "3", [0x003D]], - [0xFF1E, "3", [0x003E]], - [0xFF1F, "3", [0x003F]], - [0xFF20, "3", [0x0040]], - [0xFF21, "M", [0x0061]], - [0xFF22, "M", [0x0062]], - [0xFF23, "M", [0x0063]], - [0xFF24, "M", [0x0064]], - [0xFF25, "M", [0x0065]], - [0xFF26, "M", [0x0066]], - [0xFF27, "M", [0x0067]], - [0xFF28, "M", [0x0068]], - [0xFF29, "M", [0x0069]], - [0xFF2A, "M", [0x006A]], - [0xFF2B, "M", [0x006B]], - [0xFF2C, "M", [0x006C]], - [0xFF2D, "M", [0x006D]], - [0xFF2E, "M", [0x006E]], - [0xFF2F, "M", [0x006F]], - [0xFF30, "M", [0x0070]], - [0xFF31, "M", [0x0071]], - [0xFF32, "M", [0x0072]], - [0xFF33, "M", [0x0073]], - [0xFF34, "M", [0x0074]], - [0xFF35, "M", [0x0075]], - [0xFF36, "M", [0x0076]], - [0xFF37, "M", [0x0077]], - [0xFF38, "M", [0x0078]], - [0xFF39, "M", [0x0079]], - [0xFF3A, "M", [0x007A]], - [0xFF3B, "3", [0x005B]], - [0xFF3C, "3", [0x005C]], - [0xFF3D, "3", [0x005D]], - [0xFF3E, "3", [0x005E]], - [0xFF3F, "3", [0x005F]], - [0xFF40, "3", [0x0060]], - [0xFF41, "M", [0x0061]], - [0xFF42, "M", [0x0062]], - [0xFF43, "M", [0x0063]], - [0xFF44, "M", [0x0064]], - [0xFF45, "M", [0x0065]], - [0xFF46, "M", [0x0066]], - [0xFF47, "M", [0x0067]], - [0xFF48, "M", [0x0068]], - [0xFF49, "M", [0x0069]], - [0xFF4A, "M", [0x006A]], - [0xFF4B, "M", [0x006B]], - [0xFF4C, "M", [0x006C]], - [0xFF4D, "M", [0x006D]], - [0xFF4E, "M", [0x006E]], - [0xFF4F, "M", [0x006F]], - [0xFF50, "M", [0x0070]], - [0xFF51, "M", [0x0071]], - [0xFF52, "M", [0x0072]], - [0xFF53, "M", [0x0073]], - [0xFF54, "M", [0x0074]], - [0xFF55, "M", [0x0075]], - [0xFF56, "M", [0x0076]], - [0xFF57, "M", [0x0077]], - [0xFF58, "M", [0x0078]], - [0xFF59, "M", [0x0079]], - [0xFF5A, "M", [0x007A]], - [0xFF5B, "3", [0x007B]], - [0xFF5C, "3", [0x007C]], - [0xFF5D, "3", [0x007D]], - [0xFF5E, "3", [0x007E]], - [0xFF5F, "M", [0x2985]], - [0xFF60, "M", [0x2986]], - [0xFF61, "M", [0x002E]], - [0xFF62, "M", [0x300C]], - [0xFF63, "M", [0x300D]], - [0xFF64, "M", [0x3001]], - [0xFF65, "M", [0x30FB]], - [0xFF66, "M", [0x30F2]], - [0xFF67, "M", [0x30A1]], - [0xFF68, "M", [0x30A3]], - [0xFF69, "M", [0x30A5]], - [0xFF6A, "M", [0x30A7]], - [0xFF6B, "M", [0x30A9]], - [0xFF6C, "M", [0x30E3]], - [0xFF6D, "M", [0x30E5]], - [0xFF6E, "M", [0x30E7]], - [0xFF6F, "M", [0x30C3]], - [0xFF70, "M", [0x30FC]], - [0xFF71, "M", [0x30A2]], - [0xFF72, "M", [0x30A4]], - [0xFF73, "M", [0x30A6]], - [0xFF74, "M", [0x30A8]], - [0xFF75, "M", [0x30AA]], - [0xFF76, "M", [0x30AB]], - [0xFF77, "M", [0x30AD]], - [0xFF78, "M", [0x30AF]], - [0xFF79, "M", [0x30B1]], - [0xFF7A, "M", [0x30B3]], - [0xFF7B, "M", [0x30B5]], - [0xFF7C, "M", [0x30B7]], - [0xFF7D, "M", [0x30B9]], - [0xFF7E, "M", [0x30BB]], - [0xFF7F, "M", [0x30BD]], - [0xFF80, "M", [0x30BF]], - [0xFF81, "M", [0x30C1]], - [0xFF82, "M", [0x30C4]], - [0xFF83, "M", [0x30C6]], - [0xFF84, "M", [0x30C8]], - [0xFF85, "M", [0x30CA]], - [0xFF86, "M", [0x30CB]], - [0xFF87, "M", [0x30CC]], - [0xFF88, "M", [0x30CD]], - [0xFF89, "M", [0x30CE]], - [0xFF8A, "M", [0x30CF]], - [0xFF8B, "M", [0x30D2]], - [0xFF8C, "M", [0x30D5]], - [0xFF8D, "M", [0x30D8]], - [0xFF8E, "M", [0x30DB]], - [0xFF8F, "M", [0x30DE]], - [0xFF90, "M", [0x30DF]], - [0xFF91, "M", [0x30E0]], - [0xFF92, "M", [0x30E1]], - [0xFF93, "M", [0x30E2]], - [0xFF94, "M", [0x30E4]], - [0xFF95, "M", [0x30E6]], - [0xFF96, "M", [0x30E8]], - [0xFF97, "M", [0x30E9]], - [0xFF98, "M", [0x30EA]], - [0xFF99, "M", [0x30EB]], - [0xFF9A, "M", [0x30EC]], - [0xFF9B, "M", [0x30ED]], - [0xFF9C, "M", [0x30EF]], - [0xFF9D, "M", [0x30F3]], - [0xFF9E, "M", [0x3099]], - [0xFF9F, "M", [0x309A]], - [0xFFA0, "X"], - [0xFFA1, "M", [0x1100]], - [0xFFA2, "M", [0x1101]], - [0xFFA3, "M", [0x11AA]], - [0xFFA4, "M", [0x1102]], - [0xFFA5, "M", [0x11AC]], - [0xFFA6, "M", [0x11AD]], - [0xFFA7, "M", [0x1103]], - [0xFFA8, "M", [0x1104]], - [0xFFA9, "M", [0x1105]], - [0xFFAA, "M", [0x11B0]], - [0xFFAB, "M", [0x11B1]], - [0xFFAC, "M", [0x11B2]], - [0xFFAD, "M", [0x11B3]], - [0xFFAE, "M", [0x11B4]], - [0xFFAF, "M", [0x11B5]], - [0xFFB0, "M", [0x111A]], - [0xFFB1, "M", [0x1106]], - [0xFFB2, "M", [0x1107]], - [0xFFB3, "M", [0x1108]], - [0xFFB4, "M", [0x1121]], - [0xFFB5, "M", [0x1109]], - [0xFFB6, "M", [0x110A]], - [0xFFB7, "M", [0x110B]], - [0xFFB8, "M", [0x110C]], - [0xFFB9, "M", [0x110D]], - [0xFFBA, "M", [0x110E]], - [0xFFBB, "M", [0x110F]], - [0xFFBC, "M", [0x1110]], - [0xFFBD, "M", [0x1111]], - [0xFFBE, "M", [0x1112]], - [0xFFBF, "X"], - [0xFFC2, "M", [0x1161]], - [0xFFC3, "M", [0x1162]], - [0xFFC4, "M", [0x1163]], - [0xFFC5, "M", [0x1164]], - [0xFFC6, "M", [0x1165]], - [0xFFC7, "M", [0x1166]], - [0xFFC8, "X"], - [0xFFCA, "M", [0x1167]], - [0xFFCB, "M", [0x1168]], - [0xFFCC, "M", [0x1169]], - [0xFFCD, "M", [0x116A]], - [0xFFCE, "M", [0x116B]], - [0xFFCF, "M", [0x116C]], - [0xFFD0, "X"], - [0xFFD2, "M", [0x116D]], - [0xFFD3, "M", [0x116E]], - [0xFFD4, "M", [0x116F]], - [0xFFD5, "M", [0x1170]], - [0xFFD6, "M", [0x1171]], - [0xFFD7, "M", [0x1172]], - [0xFFD8, "X"], - [0xFFDA, "M", [0x1173]], - [0xFFDB, "M", [0x1174]], - [0xFFDC, "M", [0x1175]], - [0xFFDD, "X"], - [0xFFE0, "M", [0x00A2]], - [0xFFE1, "M", [0x00A3]], - [0xFFE2, "M", [0x00AC]], - [0xFFE3, "3", [0x0020, 0x0304]], - [0xFFE4, "M", [0x00A6]], - [0xFFE5, "M", [0x00A5]], - [0xFFE6, "M", [0x20A9]], - [0xFFE7, "X"], - [0xFFE8, "M", [0x2502]], - [0xFFE9, "M", [0x2190]], - [0xFFEA, "M", [0x2191]], - [0xFFEB, "M", [0x2192]], - [0xFFEC, "M", [0x2193]], - [0xFFED, "M", [0x25A0]], - [0xFFEE, "M", [0x25CB]], - [0xFFEF, "X"], - [0x10000, "V"], - [0x1000C, "X"], - [0x1000D, "V"], - [0x10027, "X"], - [0x10028, "V"], - [0x1003B, "X"], - [0x1003C, "V"], - [0x1003E, "X"], - [0x1003F, "V"], - [0x1004E, "X"], - [0x10050, "V"], - [0x1005E, "X"], - [0x10080, "V"], - [0x100FB, "X"], - [0x10100, "V"], - [0x10103, "X"], - [0x10107, "V"], - [0x10134, "X"], - [0x10137, "V"], - [0x1018F, "X"], - [0x10190, "V"], - [0x1019D, "X"], - [0x101A0, "V"], - [0x101A1, "X"], - [0x101D0, "V"], - [0x101FE, "X"], - [0x10280, "V"], - [0x1029D, "X"], - [0x102A0, "V"], - [0x102D1, "X"], - [0x102E0, "V"], - [0x102FC, "X"], - [0x10300, "V"], - [0x10324, "X"], - [0x1032D, "V"], - [0x1034B, "X"], - [0x10350, "V"], - [0x1037B, "X"], - [0x10380, "V"], - [0x1039E, "X"], - [0x1039F, "V"], - [0x103C4, "X"], - [0x103C8, "V"], - [0x103D6, "X"], - [0x10400, "M", [0x10428]], - [0x10401, "M", [0x10429]], - [0x10402, "M", [0x1042A]], - [0x10403, "M", [0x1042B]], - [0x10404, "M", [0x1042C]], - [0x10405, "M", [0x1042D]], - [0x10406, "M", [0x1042E]], - [0x10407, "M", [0x1042F]], - [0x10408, "M", [0x10430]], - [0x10409, "M", [0x10431]], - [0x1040A, "M", [0x10432]], - [0x1040B, "M", [0x10433]], - [0x1040C, "M", [0x10434]], - [0x1040D, "M", [0x10435]], - [0x1040E, "M", [0x10436]], - [0x1040F, "M", [0x10437]], - [0x10410, "M", [0x10438]], - [0x10411, "M", [0x10439]], - [0x10412, "M", [0x1043A]], - [0x10413, "M", [0x1043B]], - [0x10414, "M", [0x1043C]], - [0x10415, "M", [0x1043D]], - [0x10416, "M", [0x1043E]], - [0x10417, "M", [0x1043F]], - [0x10418, "M", [0x10440]], - [0x10419, "M", [0x10441]], - [0x1041A, "M", [0x10442]], - [0x1041B, "M", [0x10443]], - [0x1041C, "M", [0x10444]], - [0x1041D, "M", [0x10445]], - [0x1041E, "M", [0x10446]], - [0x1041F, "M", [0x10447]], - [0x10420, "M", [0x10448]], - [0x10421, "M", [0x10449]], - [0x10422, "M", [0x1044A]], - [0x10423, "M", [0x1044B]], - [0x10424, "M", [0x1044C]], - [0x10425, "M", [0x1044D]], - [0x10426, "M", [0x1044E]], - [0x10427, "M", [0x1044F]], - [0x10428, "V"], - [0x1049E, "X"], - [0x104A0, "V"], - [0x104AA, "X"], - [0x104B0, "M", [0x104D8]], - [0x104B1, "M", [0x104D9]], - [0x104B2, "M", [0x104DA]], - [0x104B3, "M", [0x104DB]], - [0x104B4, "M", [0x104DC]], - [0x104B5, "M", [0x104DD]], - [0x104B6, "M", [0x104DE]], - [0x104B7, "M", [0x104DF]], - [0x104B8, "M", [0x104E0]], - [0x104B9, "M", [0x104E1]], - [0x104BA, "M", [0x104E2]], - [0x104BB, "M", [0x104E3]], - [0x104BC, "M", [0x104E4]], - [0x104BD, "M", [0x104E5]], - [0x104BE, "M", [0x104E6]], - [0x104BF, "M", [0x104E7]], - [0x104C0, "M", [0x104E8]], - [0x104C1, "M", [0x104E9]], - [0x104C2, "M", [0x104EA]], - [0x104C3, "M", [0x104EB]], - [0x104C4, "M", [0x104EC]], - [0x104C5, "M", [0x104ED]], - [0x104C6, "M", [0x104EE]], - [0x104C7, "M", [0x104EF]], - [0x104C8, "M", [0x104F0]], - [0x104C9, "M", [0x104F1]], - [0x104CA, "M", [0x104F2]], - [0x104CB, "M", [0x104F3]], - [0x104CC, "M", [0x104F4]], - [0x104CD, "M", [0x104F5]], - [0x104CE, "M", [0x104F6]], - [0x104CF, "M", [0x104F7]], - [0x104D0, "M", [0x104F8]], - [0x104D1, "M", [0x104F9]], - [0x104D2, "M", [0x104FA]], - [0x104D3, "M", [0x104FB]], - [0x104D4, "X"], - [0x104D8, "V"], - [0x104FC, "X"], - [0x10500, "V"], - [0x10528, "X"], - [0x10530, "V"], - [0x10564, "X"], - [0x1056F, "V"], - [0x10570, "M", [0x10597]], - [0x10571, "M", [0x10598]], - [0x10572, "M", [0x10599]], - [0x10573, "M", [0x1059A]], - [0x10574, "M", [0x1059B]], - [0x10575, "M", [0x1059C]], - [0x10576, "M", [0x1059D]], - [0x10577, "M", [0x1059E]], - [0x10578, "M", [0x1059F]], - [0x10579, "M", [0x105A0]], - [0x1057A, "M", [0x105A1]], - [0x1057B, "X"], - [0x1057C, "M", [0x105A3]], - [0x1057D, "M", [0x105A4]], - [0x1057E, "M", [0x105A5]], - [0x1057F, "M", [0x105A6]], - [0x10580, "M", [0x105A7]], - [0x10581, "M", [0x105A8]], - [0x10582, "M", [0x105A9]], - [0x10583, "M", [0x105AA]], - [0x10584, "M", [0x105AB]], - [0x10585, "M", [0x105AC]], - [0x10586, "M", [0x105AD]], - [0x10587, "M", [0x105AE]], - [0x10588, "M", [0x105AF]], - [0x10589, "M", [0x105B0]], - [0x1058A, "M", [0x105B1]], - [0x1058B, "X"], - [0x1058C, "M", [0x105B3]], - [0x1058D, "M", [0x105B4]], - [0x1058E, "M", [0x105B5]], - [0x1058F, "M", [0x105B6]], - [0x10590, "M", [0x105B7]], - [0x10591, "M", [0x105B8]], - [0x10592, "M", [0x105B9]], - [0x10593, "X"], - [0x10594, "M", [0x105BB]], - [0x10595, "M", [0x105BC]], - [0x10596, "X"], - [0x10597, "V"], - [0x105A2, "X"], - [0x105A3, "V"], - [0x105B2, "X"], - [0x105B3, "V"], - [0x105BA, "X"], - [0x105BB, "V"], - [0x105BD, "X"], - [0x10600, "V"], - [0x10737, "X"], - [0x10740, "V"], - [0x10756, "X"], - [0x10760, "V"], - [0x10768, "X"], - [0x10780, "V"], - [0x10781, "M", [0x02D0]], - [0x10782, "M", [0x02D1]], - [0x10783, "M", [0x00E6]], - [0x10784, "M", [0x0299]], - [0x10785, "M", [0x0253]], - [0x10786, "X"], - [0x10787, "M", [0x02A3]], - [0x10788, "M", [0xAB66]], - [0x10789, "M", [0x02A5]], - [0x1078A, "M", [0x02A4]], - [0x1078B, "M", [0x0256]], - [0x1078C, "M", [0x0257]], - [0x1078D, "M", [0x1D91]], - [0x1078E, "M", [0x0258]], - [0x1078F, "M", [0x025E]], - [0x10790, "M", [0x02A9]], - [0x10791, "M", [0x0264]], - [0x10792, "M", [0x0262]], - [0x10793, "M", [0x0260]], - [0x10794, "M", [0x029B]], - [0x10795, "M", [0x0127]], - [0x10796, "M", [0x029C]], - [0x10797, "M", [0x0267]], - [0x10798, "M", [0x0284]], - [0x10799, "M", [0x02AA]], - [0x1079A, "M", [0x02AB]], - [0x1079B, "M", [0x026C]], - [0x1079C, "M", [0x1DF04]], - [0x1079D, "M", [0xA78E]], - [0x1079E, "M", [0x026E]], - [0x1079F, "M", [0x1DF05]], - [0x107A0, "M", [0x028E]], - [0x107A1, "M", [0x1DF06]], - [0x107A2, "M", [0x00F8]], - [0x107A3, "M", [0x0276]], - [0x107A4, "M", [0x0277]], - [0x107A5, "M", [0x0071]], - [0x107A6, "M", [0x027A]], - [0x107A7, "M", [0x1DF08]], - [0x107A8, "M", [0x027D]], - [0x107A9, "M", [0x027E]], - [0x107AA, "M", [0x0280]], - [0x107AB, "M", [0x02A8]], - [0x107AC, "M", [0x02A6]], - [0x107AD, "M", [0xAB67]], - [0x107AE, "M", [0x02A7]], - [0x107AF, "M", [0x0288]], - [0x107B0, "M", [0x2C71]], - [0x107B1, "X"], - [0x107B2, "M", [0x028F]], - [0x107B3, "M", [0x02A1]], - [0x107B4, "M", [0x02A2]], - [0x107B5, "M", [0x0298]], - [0x107B6, "M", [0x01C0]], - [0x107B7, "M", [0x01C1]], - [0x107B8, "M", [0x01C2]], - [0x107B9, "M", [0x1DF0A]], - [0x107BA, "M", [0x1DF1E]], - [0x107BB, "X"], - [0x10800, "V"], - [0x10806, "X"], - [0x10808, "V"], - [0x10809, "X"], - [0x1080A, "V"], - [0x10836, "X"], - [0x10837, "V"], - [0x10839, "X"], - [0x1083C, "V"], - [0x1083D, "X"], - [0x1083F, "V"], - [0x10856, "X"], - [0x10857, "V"], - [0x1089F, "X"], - [0x108A7, "V"], - [0x108B0, "X"], - [0x108E0, "V"], - [0x108F3, "X"], - [0x108F4, "V"], - [0x108F6, "X"], - [0x108FB, "V"], - [0x1091C, "X"], - [0x1091F, "V"], - [0x1093A, "X"], - [0x1093F, "V"], - [0x10940, "X"], - [0x10980, "V"], - [0x109B8, "X"], - [0x109BC, "V"], - [0x109D0, "X"], - [0x109D2, "V"], - [0x10A04, "X"], - [0x10A05, "V"], - [0x10A07, "X"], - [0x10A0C, "V"], - [0x10A14, "X"], - [0x10A15, "V"], - [0x10A18, "X"], - [0x10A19, "V"], - [0x10A36, "X"], - [0x10A38, "V"], - [0x10A3B, "X"], - [0x10A3F, "V"], - [0x10A49, "X"], - [0x10A50, "V"], - [0x10A59, "X"], - [0x10A60, "V"], - [0x10AA0, "X"], - [0x10AC0, "V"], - [0x10AE7, "X"], - [0x10AEB, "V"], - [0x10AF7, "X"], - [0x10B00, "V"], - [0x10B36, "X"], - [0x10B39, "V"], - [0x10B56, "X"], - [0x10B58, "V"], - [0x10B73, "X"], - [0x10B78, "V"], - [0x10B92, "X"], - [0x10B99, "V"], - [0x10B9D, "X"], - [0x10BA9, "V"], - [0x10BB0, "X"], - [0x10C00, "V"], - [0x10C49, "X"], - [0x10C80, "M", [0x10CC0]], - [0x10C81, "M", [0x10CC1]], - [0x10C82, "M", [0x10CC2]], - [0x10C83, "M", [0x10CC3]], - [0x10C84, "M", [0x10CC4]], - [0x10C85, "M", [0x10CC5]], - [0x10C86, "M", [0x10CC6]], - [0x10C87, "M", [0x10CC7]], - [0x10C88, "M", [0x10CC8]], - [0x10C89, "M", [0x10CC9]], - [0x10C8A, "M", [0x10CCA]], - [0x10C8B, "M", [0x10CCB]], - [0x10C8C, "M", [0x10CCC]], - [0x10C8D, "M", [0x10CCD]], - [0x10C8E, "M", [0x10CCE]], - [0x10C8F, "M", [0x10CCF]], - [0x10C90, "M", [0x10CD0]], - [0x10C91, "M", [0x10CD1]], - [0x10C92, "M", [0x10CD2]], - [0x10C93, "M", [0x10CD3]], - [0x10C94, "M", [0x10CD4]], - [0x10C95, "M", [0x10CD5]], - [0x10C96, "M", [0x10CD6]], - [0x10C97, "M", [0x10CD7]], - [0x10C98, "M", [0x10CD8]], - [0x10C99, "M", [0x10CD9]], - [0x10C9A, "M", [0x10CDA]], - [0x10C9B, "M", [0x10CDB]], - [0x10C9C, "M", [0x10CDC]], - [0x10C9D, "M", [0x10CDD]], - [0x10C9E, "M", [0x10CDE]], - [0x10C9F, "M", [0x10CDF]], - [0x10CA0, "M", [0x10CE0]], - [0x10CA1, "M", [0x10CE1]], - [0x10CA2, "M", [0x10CE2]], - [0x10CA3, "M", [0x10CE3]], - [0x10CA4, "M", [0x10CE4]], - [0x10CA5, "M", [0x10CE5]], - [0x10CA6, "M", [0x10CE6]], - [0x10CA7, "M", [0x10CE7]], - [0x10CA8, "M", [0x10CE8]], - [0x10CA9, "M", [0x10CE9]], - [0x10CAA, "M", [0x10CEA]], - [0x10CAB, "M", [0x10CEB]], - [0x10CAC, "M", [0x10CEC]], - [0x10CAD, "M", [0x10CED]], - [0x10CAE, "M", [0x10CEE]], - [0x10CAF, "M", [0x10CEF]], - [0x10CB0, "M", [0x10CF0]], - [0x10CB1, "M", [0x10CF1]], - [0x10CB2, "M", [0x10CF2]], - [0x10CB3, "X"], - [0x10CC0, "V"], - [0x10CF3, "X"], - [0x10CFA, "V"], - [0x10D28, "X"], - [0x10D30, "V"], - [0x10D3A, "X"], - [0x10E60, "V"], - [0x10E7F, "X"], - [0x10E80, "V"], - [0x10EAA, "X"], - [0x10EAB, "V"], - [0x10EAE, "X"], - [0x10EB0, "V"], - [0x10EB2, "X"], - [0x10EFD, "V"], - [0x10F28, "X"], - [0x10F30, "V"], - [0x10F5A, "X"], - [0x10F70, "V"], - [0x10F8A, "X"], - [0x10FB0, "V"], - [0x10FCC, "X"], - [0x10FE0, "V"], - [0x10FF7, "X"], - [0x11000, "V"], - [0x1104E, "X"], - [0x11052, "V"], - [0x11076, "X"], - [0x1107F, "V"], - [0x110BD, "X"], - [0x110BE, "V"], - [0x110C3, "X"], - [0x110D0, "V"], - [0x110E9, "X"], - [0x110F0, "V"], - [0x110FA, "X"], - [0x11100, "V"], - [0x11135, "X"], - [0x11136, "V"], - [0x11148, "X"], - [0x11150, "V"], - [0x11177, "X"], - [0x11180, "V"], - [0x111E0, "X"], - [0x111E1, "V"], - [0x111F5, "X"], - [0x11200, "V"], - [0x11212, "X"], - [0x11213, "V"], - [0x11242, "X"], - [0x11280, "V"], - [0x11287, "X"], - [0x11288, "V"], - [0x11289, "X"], - [0x1128A, "V"], - [0x1128E, "X"], - [0x1128F, "V"], - [0x1129E, "X"], - [0x1129F, "V"], - [0x112AA, "X"], - [0x112B0, "V"], - [0x112EB, "X"], - [0x112F0, "V"], - [0x112FA, "X"], - [0x11300, "V"], - [0x11304, "X"], - [0x11305, "V"], - [0x1130D, "X"], - [0x1130F, "V"], - [0x11311, "X"], - [0x11313, "V"], - [0x11329, "X"], - [0x1132A, "V"], - [0x11331, "X"], - [0x11332, "V"], - [0x11334, "X"], - [0x11335, "V"], - [0x1133A, "X"], - [0x1133B, "V"], - [0x11345, "X"], - [0x11347, "V"], - [0x11349, "X"], - [0x1134B, "V"], - [0x1134E, "X"], - [0x11350, "V"], - [0x11351, "X"], - [0x11357, "V"], - [0x11358, "X"], - [0x1135D, "V"], - [0x11364, "X"], - [0x11366, "V"], - [0x1136D, "X"], - [0x11370, "V"], - [0x11375, "X"], - [0x11400, "V"], - [0x1145C, "X"], - [0x1145D, "V"], - [0x11462, "X"], - [0x11480, "V"], - [0x114C8, "X"], - [0x114D0, "V"], - [0x114DA, "X"], - [0x11580, "V"], - [0x115B6, "X"], - [0x115B8, "V"], - [0x115DE, "X"], - [0x11600, "V"], - [0x11645, "X"], - [0x11650, "V"], - [0x1165A, "X"], - [0x11660, "V"], - [0x1166D, "X"], - [0x11680, "V"], - [0x116BA, "X"], - [0x116C0, "V"], - [0x116CA, "X"], - [0x11700, "V"], - [0x1171B, "X"], - [0x1171D, "V"], - [0x1172C, "X"], - [0x11730, "V"], - [0x11747, "X"], - [0x11800, "V"], - [0x1183C, "X"], - [0x118A0, "M", [0x118C0]], - [0x118A1, "M", [0x118C1]], - [0x118A2, "M", [0x118C2]], - [0x118A3, "M", [0x118C3]], - [0x118A4, "M", [0x118C4]], - [0x118A5, "M", [0x118C5]], - [0x118A6, "M", [0x118C6]], - [0x118A7, "M", [0x118C7]], - [0x118A8, "M", [0x118C8]], - [0x118A9, "M", [0x118C9]], - [0x118AA, "M", [0x118CA]], - [0x118AB, "M", [0x118CB]], - [0x118AC, "M", [0x118CC]], - [0x118AD, "M", [0x118CD]], - [0x118AE, "M", [0x118CE]], - [0x118AF, "M", [0x118CF]], - [0x118B0, "M", [0x118D0]], - [0x118B1, "M", [0x118D1]], - [0x118B2, "M", [0x118D2]], - [0x118B3, "M", [0x118D3]], - [0x118B4, "M", [0x118D4]], - [0x118B5, "M", [0x118D5]], - [0x118B6, "M", [0x118D6]], - [0x118B7, "M", [0x118D7]], - [0x118B8, "M", [0x118D8]], - [0x118B9, "M", [0x118D9]], - [0x118BA, "M", [0x118DA]], - [0x118BB, "M", [0x118DB]], - [0x118BC, "M", [0x118DC]], - [0x118BD, "M", [0x118DD]], - [0x118BE, "M", [0x118DE]], - [0x118BF, "M", [0x118DF]], - [0x118C0, "V"], - [0x118F3, "X"], - [0x118FF, "V"], - [0x11907, "X"], - [0x11909, "V"], - [0x1190A, "X"], - [0x1190C, "V"], - [0x11914, "X"], - [0x11915, "V"], - [0x11917, "X"], - [0x11918, "V"], - [0x11936, "X"], - [0x11937, "V"], - [0x11939, "X"], - [0x1193B, "V"], - [0x11947, "X"], - [0x11950, "V"], - [0x1195A, "X"], - [0x119A0, "V"], - [0x119A8, "X"], - [0x119AA, "V"], - [0x119D8, "X"], - [0x119DA, "V"], - [0x119E5, "X"], - [0x11A00, "V"], - [0x11A48, "X"], - [0x11A50, "V"], - [0x11AA3, "X"], - [0x11AB0, "V"], - [0x11AF9, "X"], - [0x11B00, "V"], - [0x11B0A, "X"], - [0x11C00, "V"], - [0x11C09, "X"], - [0x11C0A, "V"], - [0x11C37, "X"], - [0x11C38, "V"], - [0x11C46, "X"], - [0x11C50, "V"], - [0x11C6D, "X"], - [0x11C70, "V"], - [0x11C90, "X"], - [0x11C92, "V"], - [0x11CA8, "X"], - [0x11CA9, "V"], - [0x11CB7, "X"], - [0x11D00, "V"], - [0x11D07, "X"], - [0x11D08, "V"], - [0x11D0A, "X"], - [0x11D0B, "V"], - [0x11D37, "X"], - [0x11D3A, "V"], - [0x11D3B, "X"], - [0x11D3C, "V"], - [0x11D3E, "X"], - [0x11D3F, "V"], - [0x11D48, "X"], - [0x11D50, "V"], - [0x11D5A, "X"], - [0x11D60, "V"], - [0x11D66, "X"], - [0x11D67, "V"], - [0x11D69, "X"], - [0x11D6A, "V"], - [0x11D8F, "X"], - [0x11D90, "V"], - [0x11D92, "X"], - [0x11D93, "V"], - [0x11D99, "X"], - [0x11DA0, "V"], - [0x11DAA, "X"], - [0x11EE0, "V"], - [0x11EF9, "X"], - [0x11F00, "V"], - [0x11F11, "X"], - [0x11F12, "V"], - [0x11F3B, "X"], - [0x11F3E, "V"], - [0x11F5A, "X"], - [0x11FB0, "V"], - [0x11FB1, "X"], - [0x11FC0, "V"], - [0x11FF2, "X"], - [0x11FFF, "V"], - [0x1239A, "X"], - [0x12400, "V"], - [0x1246F, "X"], - [0x12470, "V"], - [0x12475, "X"], - [0x12480, "V"], - [0x12544, "X"], - [0x12F90, "V"], - [0x12FF3, "X"], - [0x13000, "V"], - [0x13430, "X"], - [0x13440, "V"], - [0x13456, "X"], - [0x14400, "V"], - [0x14647, "X"], - [0x16800, "V"], - [0x16A39, "X"], - [0x16A40, "V"], - [0x16A5F, "X"], - [0x16A60, "V"], - [0x16A6A, "X"], - [0x16A6E, "V"], - [0x16ABF, "X"], - [0x16AC0, "V"], - [0x16ACA, "X"], - [0x16AD0, "V"], - [0x16AEE, "X"], - [0x16AF0, "V"], - [0x16AF6, "X"], - [0x16B00, "V"], - [0x16B46, "X"], - [0x16B50, "V"], - [0x16B5A, "X"], - [0x16B5B, "V"], - [0x16B62, "X"], - [0x16B63, "V"], - [0x16B78, "X"], - [0x16B7D, "V"], - [0x16B90, "X"], - [0x16E40, "M", [0x16E60]], - [0x16E41, "M", [0x16E61]], - [0x16E42, "M", [0x16E62]], - [0x16E43, "M", [0x16E63]], - [0x16E44, "M", [0x16E64]], - [0x16E45, "M", [0x16E65]], - [0x16E46, "M", [0x16E66]], - [0x16E47, "M", [0x16E67]], - [0x16E48, "M", [0x16E68]], - [0x16E49, "M", [0x16E69]], - [0x16E4A, "M", [0x16E6A]], - [0x16E4B, "M", [0x16E6B]], - [0x16E4C, "M", [0x16E6C]], - [0x16E4D, "M", [0x16E6D]], - [0x16E4E, "M", [0x16E6E]], - [0x16E4F, "M", [0x16E6F]], - [0x16E50, "M", [0x16E70]], - [0x16E51, "M", [0x16E71]], - [0x16E52, "M", [0x16E72]], - [0x16E53, "M", [0x16E73]], - [0x16E54, "M", [0x16E74]], - [0x16E55, "M", [0x16E75]], - [0x16E56, "M", [0x16E76]], - [0x16E57, "M", [0x16E77]], - [0x16E58, "M", [0x16E78]], - [0x16E59, "M", [0x16E79]], - [0x16E5A, "M", [0x16E7A]], - [0x16E5B, "M", [0x16E7B]], - [0x16E5C, "M", [0x16E7C]], - [0x16E5D, "M", [0x16E7D]], - [0x16E5E, "M", [0x16E7E]], - [0x16E5F, "M", [0x16E7F]], - [0x16E60, "V"], - [0x16E9B, "X"], - [0x16F00, "V"], - [0x16F4B, "X"], - [0x16F4F, "V"], - [0x16F88, "X"], - [0x16F8F, "V"], - [0x16FA0, "X"], - [0x16FE0, "V"], - [0x16FE5, "X"], - [0x16FF0, "V"], - [0x16FF2, "X"], - [0x17000, "V"], - [0x187F8, "X"], - [0x18800, "V"], - [0x18CD6, "X"], - [0x18D00, "V"], - [0x18D09, "X"], - [0x1AFF0, "V"], - [0x1AFF4, "X"], - [0x1AFF5, "V"], - [0x1AFFC, "X"], - [0x1AFFD, "V"], - [0x1AFFF, "X"], - [0x1B000, "V"], - [0x1B123, "X"], - [0x1B132, "V"], - [0x1B133, "X"], - [0x1B150, "V"], - [0x1B153, "X"], - [0x1B155, "V"], - [0x1B156, "X"], - [0x1B164, "V"], - [0x1B168, "X"], - [0x1B170, "V"], - [0x1B2FC, "X"], - [0x1BC00, "V"], - [0x1BC6B, "X"], - [0x1BC70, "V"], - [0x1BC7D, "X"], - [0x1BC80, "V"], - [0x1BC89, "X"], - [0x1BC90, "V"], - [0x1BC9A, "X"], - [0x1BC9C, "V"], - [0x1BCA0, "I"], - [0x1BCA4, "X"], - [0x1CF00, "V"], - [0x1CF2E, "X"], - [0x1CF30, "V"], - [0x1CF47, "X"], - [0x1CF50, "V"], - [0x1CFC4, "X"], - [0x1D000, "V"], - [0x1D0F6, "X"], - [0x1D100, "V"], - [0x1D127, "X"], - [0x1D129, "V"], - [0x1D15E, "M", [0x1D157, 0x1D165]], - [0x1D15F, "M", [0x1D158, 0x1D165]], - [0x1D160, "M", [0x1D158, 0x1D165, 0x1D16E]], - [0x1D161, "M", [0x1D158, 0x1D165, 0x1D16F]], - [0x1D162, "M", [0x1D158, 0x1D165, 0x1D170]], - [0x1D163, "M", [0x1D158, 0x1D165, 0x1D171]], - [0x1D164, "M", [0x1D158, 0x1D165, 0x1D172]], - [0x1D165, "V"], - [0x1D173, "X"], - [0x1D17B, "V"], - [0x1D1BB, "M", [0x1D1B9, 0x1D165]], - [0x1D1BC, "M", [0x1D1BA, 0x1D165]], - [0x1D1BD, "M", [0x1D1B9, 0x1D165, 0x1D16E]], - [0x1D1BE, "M", [0x1D1BA, 0x1D165, 0x1D16E]], - [0x1D1BF, "M", [0x1D1B9, 0x1D165, 0x1D16F]], - [0x1D1C0, "M", [0x1D1BA, 0x1D165, 0x1D16F]], - [0x1D1C1, "V"], - [0x1D1EB, "X"], - [0x1D200, "V"], - [0x1D246, "X"], - [0x1D2C0, "V"], - [0x1D2D4, "X"], - [0x1D2E0, "V"], - [0x1D2F4, "X"], - [0x1D300, "V"], - [0x1D357, "X"], - [0x1D360, "V"], - [0x1D379, "X"], - [0x1D400, "M", [0x0061]], - [0x1D401, "M", [0x0062]], - [0x1D402, "M", [0x0063]], - [0x1D403, "M", [0x0064]], - [0x1D404, "M", [0x0065]], - [0x1D405, "M", [0x0066]], - [0x1D406, "M", [0x0067]], - [0x1D407, "M", [0x0068]], - [0x1D408, "M", [0x0069]], - [0x1D409, "M", [0x006A]], - [0x1D40A, "M", [0x006B]], - [0x1D40B, "M", [0x006C]], - [0x1D40C, "M", [0x006D]], - [0x1D40D, "M", [0x006E]], - [0x1D40E, "M", [0x006F]], - [0x1D40F, "M", [0x0070]], - [0x1D410, "M", [0x0071]], - [0x1D411, "M", [0x0072]], - [0x1D412, "M", [0x0073]], - [0x1D413, "M", [0x0074]], - [0x1D414, "M", [0x0075]], - [0x1D415, "M", [0x0076]], - [0x1D416, "M", [0x0077]], - [0x1D417, "M", [0x0078]], - [0x1D418, "M", [0x0079]], - [0x1D419, "M", [0x007A]], - [0x1D41A, "M", [0x0061]], - [0x1D41B, "M", [0x0062]], - [0x1D41C, "M", [0x0063]], - [0x1D41D, "M", [0x0064]], - [0x1D41E, "M", [0x0065]], - [0x1D41F, "M", [0x0066]], - [0x1D420, "M", [0x0067]], - [0x1D421, "M", [0x0068]], - [0x1D422, "M", [0x0069]], - [0x1D423, "M", [0x006A]], - [0x1D424, "M", [0x006B]], - [0x1D425, "M", [0x006C]], - [0x1D426, "M", [0x006D]], - [0x1D427, "M", [0x006E]], - [0x1D428, "M", [0x006F]], - [0x1D429, "M", [0x0070]], - [0x1D42A, "M", [0x0071]], - [0x1D42B, "M", [0x0072]], - [0x1D42C, "M", [0x0073]], - [0x1D42D, "M", [0x0074]], - [0x1D42E, "M", [0x0075]], - [0x1D42F, "M", [0x0076]], - [0x1D430, "M", [0x0077]], - [0x1D431, "M", [0x0078]], - [0x1D432, "M", [0x0079]], - [0x1D433, "M", [0x007A]], - [0x1D434, "M", [0x0061]], - [0x1D435, "M", [0x0062]], - [0x1D436, "M", [0x0063]], - [0x1D437, "M", [0x0064]], - [0x1D438, "M", [0x0065]], - [0x1D439, "M", [0x0066]], - [0x1D43A, "M", [0x0067]], - [0x1D43B, "M", [0x0068]], - [0x1D43C, "M", [0x0069]], - [0x1D43D, "M", [0x006A]], - [0x1D43E, "M", [0x006B]], - [0x1D43F, "M", [0x006C]], - [0x1D440, "M", [0x006D]], - [0x1D441, "M", [0x006E]], - [0x1D442, "M", [0x006F]], - [0x1D443, "M", [0x0070]], - [0x1D444, "M", [0x0071]], - [0x1D445, "M", [0x0072]], - [0x1D446, "M", [0x0073]], - [0x1D447, "M", [0x0074]], - [0x1D448, "M", [0x0075]], - [0x1D449, "M", [0x0076]], - [0x1D44A, "M", [0x0077]], - [0x1D44B, "M", [0x0078]], - [0x1D44C, "M", [0x0079]], - [0x1D44D, "M", [0x007A]], - [0x1D44E, "M", [0x0061]], - [0x1D44F, "M", [0x0062]], - [0x1D450, "M", [0x0063]], - [0x1D451, "M", [0x0064]], - [0x1D452, "M", [0x0065]], - [0x1D453, "M", [0x0066]], - [0x1D454, "M", [0x0067]], - [0x1D455, "X"], - [0x1D456, "M", [0x0069]], - [0x1D457, "M", [0x006A]], - [0x1D458, "M", [0x006B]], - [0x1D459, "M", [0x006C]], - [0x1D45A, "M", [0x006D]], - [0x1D45B, "M", [0x006E]], - [0x1D45C, "M", [0x006F]], - [0x1D45D, "M", [0x0070]], - [0x1D45E, "M", [0x0071]], - [0x1D45F, "M", [0x0072]], - [0x1D460, "M", [0x0073]], - [0x1D461, "M", [0x0074]], - [0x1D462, "M", [0x0075]], - [0x1D463, "M", [0x0076]], - [0x1D464, "M", [0x0077]], - [0x1D465, "M", [0x0078]], - [0x1D466, "M", [0x0079]], - [0x1D467, "M", [0x007A]], - [0x1D468, "M", [0x0061]], - [0x1D469, "M", [0x0062]], - [0x1D46A, "M", [0x0063]], - [0x1D46B, "M", [0x0064]], - [0x1D46C, "M", [0x0065]], - [0x1D46D, "M", [0x0066]], - [0x1D46E, "M", [0x0067]], - [0x1D46F, "M", [0x0068]], - [0x1D470, "M", [0x0069]], - [0x1D471, "M", [0x006A]], - [0x1D472, "M", [0x006B]], - [0x1D473, "M", [0x006C]], - [0x1D474, "M", [0x006D]], - [0x1D475, "M", [0x006E]], - [0x1D476, "M", [0x006F]], - [0x1D477, "M", [0x0070]], - [0x1D478, "M", [0x0071]], - [0x1D479, "M", [0x0072]], - [0x1D47A, "M", [0x0073]], - [0x1D47B, "M", [0x0074]], - [0x1D47C, "M", [0x0075]], - [0x1D47D, "M", [0x0076]], - [0x1D47E, "M", [0x0077]], - [0x1D47F, "M", [0x0078]], - [0x1D480, "M", [0x0079]], - [0x1D481, "M", [0x007A]], - [0x1D482, "M", [0x0061]], - [0x1D483, "M", [0x0062]], - [0x1D484, "M", [0x0063]], - [0x1D485, "M", [0x0064]], - [0x1D486, "M", [0x0065]], - [0x1D487, "M", [0x0066]], - [0x1D488, "M", [0x0067]], - [0x1D489, "M", [0x0068]], - [0x1D48A, "M", [0x0069]], - [0x1D48B, "M", [0x006A]], - [0x1D48C, "M", [0x006B]], - [0x1D48D, "M", [0x006C]], - [0x1D48E, "M", [0x006D]], - [0x1D48F, "M", [0x006E]], - [0x1D490, "M", [0x006F]], - [0x1D491, "M", [0x0070]], - [0x1D492, "M", [0x0071]], - [0x1D493, "M", [0x0072]], - [0x1D494, "M", [0x0073]], - [0x1D495, "M", [0x0074]], - [0x1D496, "M", [0x0075]], - [0x1D497, "M", [0x0076]], - [0x1D498, "M", [0x0077]], - [0x1D499, "M", [0x0078]], - [0x1D49A, "M", [0x0079]], - [0x1D49B, "M", [0x007A]], - [0x1D49C, "M", [0x0061]], - [0x1D49D, "X"], - [0x1D49E, "M", [0x0063]], - [0x1D49F, "M", [0x0064]], - [0x1D4A0, "X"], - [0x1D4A2, "M", [0x0067]], - [0x1D4A3, "X"], - [0x1D4A5, "M", [0x006A]], - [0x1D4A6, "M", [0x006B]], - [0x1D4A7, "X"], - [0x1D4A9, "M", [0x006E]], - [0x1D4AA, "M", [0x006F]], - [0x1D4AB, "M", [0x0070]], - [0x1D4AC, "M", [0x0071]], - [0x1D4AD, "X"], - [0x1D4AE, "M", [0x0073]], - [0x1D4AF, "M", [0x0074]], - [0x1D4B0, "M", [0x0075]], - [0x1D4B1, "M", [0x0076]], - [0x1D4B2, "M", [0x0077]], - [0x1D4B3, "M", [0x0078]], - [0x1D4B4, "M", [0x0079]], - [0x1D4B5, "M", [0x007A]], - [0x1D4B6, "M", [0x0061]], - [0x1D4B7, "M", [0x0062]], - [0x1D4B8, "M", [0x0063]], - [0x1D4B9, "M", [0x0064]], - [0x1D4BA, "X"], - [0x1D4BB, "M", [0x0066]], - [0x1D4BC, "X"], - [0x1D4BD, "M", [0x0068]], - [0x1D4BE, "M", [0x0069]], - [0x1D4BF, "M", [0x006A]], - [0x1D4C0, "M", [0x006B]], - [0x1D4C1, "M", [0x006C]], - [0x1D4C2, "M", [0x006D]], - [0x1D4C3, "M", [0x006E]], - [0x1D4C4, "X"], - [0x1D4C5, "M", [0x0070]], - [0x1D4C6, "M", [0x0071]], - [0x1D4C7, "M", [0x0072]], - [0x1D4C8, "M", [0x0073]], - [0x1D4C9, "M", [0x0074]], - [0x1D4CA, "M", [0x0075]], - [0x1D4CB, "M", [0x0076]], - [0x1D4CC, "M", [0x0077]], - [0x1D4CD, "M", [0x0078]], - [0x1D4CE, "M", [0x0079]], - [0x1D4CF, "M", [0x007A]], - [0x1D4D0, "M", [0x0061]], - [0x1D4D1, "M", [0x0062]], - [0x1D4D2, "M", [0x0063]], - [0x1D4D3, "M", [0x0064]], - [0x1D4D4, "M", [0x0065]], - [0x1D4D5, "M", [0x0066]], - [0x1D4D6, "M", [0x0067]], - [0x1D4D7, "M", [0x0068]], - [0x1D4D8, "M", [0x0069]], - [0x1D4D9, "M", [0x006A]], - [0x1D4DA, "M", [0x006B]], - [0x1D4DB, "M", [0x006C]], - [0x1D4DC, "M", [0x006D]], - [0x1D4DD, "M", [0x006E]], - [0x1D4DE, "M", [0x006F]], - [0x1D4DF, "M", [0x0070]], - [0x1D4E0, "M", [0x0071]], - [0x1D4E1, "M", [0x0072]], - [0x1D4E2, "M", [0x0073]], - [0x1D4E3, "M", [0x0074]], - [0x1D4E4, "M", [0x0075]], - [0x1D4E5, "M", [0x0076]], - [0x1D4E6, "M", [0x0077]], - [0x1D4E7, "M", [0x0078]], - [0x1D4E8, "M", [0x0079]], - [0x1D4E9, "M", [0x007A]], - [0x1D4EA, "M", [0x0061]], - [0x1D4EB, "M", [0x0062]], - [0x1D4EC, "M", [0x0063]], - [0x1D4ED, "M", [0x0064]], - [0x1D4EE, "M", [0x0065]], - [0x1D4EF, "M", [0x0066]], - [0x1D4F0, "M", [0x0067]], - [0x1D4F1, "M", [0x0068]], - [0x1D4F2, "M", [0x0069]], - [0x1D4F3, "M", [0x006A]], - [0x1D4F4, "M", [0x006B]], - [0x1D4F5, "M", [0x006C]], - [0x1D4F6, "M", [0x006D]], - [0x1D4F7, "M", [0x006E]], - [0x1D4F8, "M", [0x006F]], - [0x1D4F9, "M", [0x0070]], - [0x1D4FA, "M", [0x0071]], - [0x1D4FB, "M", [0x0072]], - [0x1D4FC, "M", [0x0073]], - [0x1D4FD, "M", [0x0074]], - [0x1D4FE, "M", [0x0075]], - [0x1D4FF, "M", [0x0076]], - [0x1D500, "M", [0x0077]], - [0x1D501, "M", [0x0078]], - [0x1D502, "M", [0x0079]], - [0x1D503, "M", [0x007A]], - [0x1D504, "M", [0x0061]], - [0x1D505, "M", [0x0062]], - [0x1D506, "X"], - [0x1D507, "M", [0x0064]], - [0x1D508, "M", [0x0065]], - [0x1D509, "M", [0x0066]], - [0x1D50A, "M", [0x0067]], - [0x1D50B, "X"], - [0x1D50D, "M", [0x006A]], - [0x1D50E, "M", [0x006B]], - [0x1D50F, "M", [0x006C]], - [0x1D510, "M", [0x006D]], - [0x1D511, "M", [0x006E]], - [0x1D512, "M", [0x006F]], - [0x1D513, "M", [0x0070]], - [0x1D514, "M", [0x0071]], - [0x1D515, "X"], - [0x1D516, "M", [0x0073]], - [0x1D517, "M", [0x0074]], - [0x1D518, "M", [0x0075]], - [0x1D519, "M", [0x0076]], - [0x1D51A, "M", [0x0077]], - [0x1D51B, "M", [0x0078]], - [0x1D51C, "M", [0x0079]], - [0x1D51D, "X"], - [0x1D51E, "M", [0x0061]], - [0x1D51F, "M", [0x0062]], - [0x1D520, "M", [0x0063]], - [0x1D521, "M", [0x0064]], - [0x1D522, "M", [0x0065]], - [0x1D523, "M", [0x0066]], - [0x1D524, "M", [0x0067]], - [0x1D525, "M", [0x0068]], - [0x1D526, "M", [0x0069]], - [0x1D527, "M", [0x006A]], - [0x1D528, "M", [0x006B]], - [0x1D529, "M", [0x006C]], - [0x1D52A, "M", [0x006D]], - [0x1D52B, "M", [0x006E]], - [0x1D52C, "M", [0x006F]], - [0x1D52D, "M", [0x0070]], - [0x1D52E, "M", [0x0071]], - [0x1D52F, "M", [0x0072]], - [0x1D530, "M", [0x0073]], - [0x1D531, "M", [0x0074]], - [0x1D532, "M", [0x0075]], - [0x1D533, "M", [0x0076]], - [0x1D534, "M", [0x0077]], - [0x1D535, "M", [0x0078]], - [0x1D536, "M", [0x0079]], - [0x1D537, "M", [0x007A]], - [0x1D538, "M", [0x0061]], - [0x1D539, "M", [0x0062]], - [0x1D53A, "X"], - [0x1D53B, "M", [0x0064]], - [0x1D53C, "M", [0x0065]], - [0x1D53D, "M", [0x0066]], - [0x1D53E, "M", [0x0067]], - [0x1D53F, "X"], - [0x1D540, "M", [0x0069]], - [0x1D541, "M", [0x006A]], - [0x1D542, "M", [0x006B]], - [0x1D543, "M", [0x006C]], - [0x1D544, "M", [0x006D]], - [0x1D545, "X"], - [0x1D546, "M", [0x006F]], - [0x1D547, "X"], - [0x1D54A, "M", [0x0073]], - [0x1D54B, "M", [0x0074]], - [0x1D54C, "M", [0x0075]], - [0x1D54D, "M", [0x0076]], - [0x1D54E, "M", [0x0077]], - [0x1D54F, "M", [0x0078]], - [0x1D550, "M", [0x0079]], - [0x1D551, "X"], - [0x1D552, "M", [0x0061]], - [0x1D553, "M", [0x0062]], - [0x1D554, "M", [0x0063]], - [0x1D555, "M", [0x0064]], - [0x1D556, "M", [0x0065]], - [0x1D557, "M", [0x0066]], - [0x1D558, "M", [0x0067]], - [0x1D559, "M", [0x0068]], - [0x1D55A, "M", [0x0069]], - [0x1D55B, "M", [0x006A]], - [0x1D55C, "M", [0x006B]], - [0x1D55D, "M", [0x006C]], - [0x1D55E, "M", [0x006D]], - [0x1D55F, "M", [0x006E]], - [0x1D560, "M", [0x006F]], - [0x1D561, "M", [0x0070]], - [0x1D562, "M", [0x0071]], - [0x1D563, "M", [0x0072]], - [0x1D564, "M", [0x0073]], - [0x1D565, "M", [0x0074]], - [0x1D566, "M", [0x0075]], - [0x1D567, "M", [0x0076]], - [0x1D568, "M", [0x0077]], - [0x1D569, "M", [0x0078]], - [0x1D56A, "M", [0x0079]], - [0x1D56B, "M", [0x007A]], - [0x1D56C, "M", [0x0061]], - [0x1D56D, "M", [0x0062]], - [0x1D56E, "M", [0x0063]], - [0x1D56F, "M", [0x0064]], - [0x1D570, "M", [0x0065]], - [0x1D571, "M", [0x0066]], - [0x1D572, "M", [0x0067]], - [0x1D573, "M", [0x0068]], - [0x1D574, "M", [0x0069]], - [0x1D575, "M", [0x006A]], - [0x1D576, "M", [0x006B]], - [0x1D577, "M", [0x006C]], - [0x1D578, "M", [0x006D]], - [0x1D579, "M", [0x006E]], - [0x1D57A, "M", [0x006F]], - [0x1D57B, "M", [0x0070]], - [0x1D57C, "M", [0x0071]], - [0x1D57D, "M", [0x0072]], - [0x1D57E, "M", [0x0073]], - [0x1D57F, "M", [0x0074]], - [0x1D580, "M", [0x0075]], - [0x1D581, "M", [0x0076]], - [0x1D582, "M", [0x0077]], - [0x1D583, "M", [0x0078]], - [0x1D584, "M", [0x0079]], - [0x1D585, "M", [0x007A]], - [0x1D586, "M", [0x0061]], - [0x1D587, "M", [0x0062]], - [0x1D588, "M", [0x0063]], - [0x1D589, "M", [0x0064]], - [0x1D58A, "M", [0x0065]], - [0x1D58B, "M", [0x0066]], - [0x1D58C, "M", [0x0067]], - [0x1D58D, "M", [0x0068]], - [0x1D58E, "M", [0x0069]], - [0x1D58F, "M", [0x006A]], - [0x1D590, "M", [0x006B]], - [0x1D591, "M", [0x006C]], - [0x1D592, "M", [0x006D]], - [0x1D593, "M", [0x006E]], - [0x1D594, "M", [0x006F]], - [0x1D595, "M", [0x0070]], - [0x1D596, "M", [0x0071]], - [0x1D597, "M", [0x0072]], - [0x1D598, "M", [0x0073]], - [0x1D599, "M", [0x0074]], - [0x1D59A, "M", [0x0075]], - [0x1D59B, "M", [0x0076]], - [0x1D59C, "M", [0x0077]], - [0x1D59D, "M", [0x0078]], - [0x1D59E, "M", [0x0079]], - [0x1D59F, "M", [0x007A]], - [0x1D5A0, "M", [0x0061]], - [0x1D5A1, "M", [0x0062]], - [0x1D5A2, "M", [0x0063]], - [0x1D5A3, "M", [0x0064]], - [0x1D5A4, "M", [0x0065]], - [0x1D5A5, "M", [0x0066]], - [0x1D5A6, "M", [0x0067]], - [0x1D5A7, "M", [0x0068]], - [0x1D5A8, "M", [0x0069]], - [0x1D5A9, "M", [0x006A]], - [0x1D5AA, "M", [0x006B]], - [0x1D5AB, "M", [0x006C]], - [0x1D5AC, "M", [0x006D]], - [0x1D5AD, "M", [0x006E]], - [0x1D5AE, "M", [0x006F]], - [0x1D5AF, "M", [0x0070]], - [0x1D5B0, "M", [0x0071]], - [0x1D5B1, "M", [0x0072]], - [0x1D5B2, "M", [0x0073]], - [0x1D5B3, "M", [0x0074]], - [0x1D5B4, "M", [0x0075]], - [0x1D5B5, "M", [0x0076]], - [0x1D5B6, "M", [0x0077]], - [0x1D5B7, "M", [0x0078]], - [0x1D5B8, "M", [0x0079]], - [0x1D5B9, "M", [0x007A]], - [0x1D5BA, "M", [0x0061]], - [0x1D5BB, "M", [0x0062]], - [0x1D5BC, "M", [0x0063]], - [0x1D5BD, "M", [0x0064]], - [0x1D5BE, "M", [0x0065]], - [0x1D5BF, "M", [0x0066]], - [0x1D5C0, "M", [0x0067]], - [0x1D5C1, "M", [0x0068]], - [0x1D5C2, "M", [0x0069]], - [0x1D5C3, "M", [0x006A]], - [0x1D5C4, "M", [0x006B]], - [0x1D5C5, "M", [0x006C]], - [0x1D5C6, "M", [0x006D]], - [0x1D5C7, "M", [0x006E]], - [0x1D5C8, "M", [0x006F]], - [0x1D5C9, "M", [0x0070]], - [0x1D5CA, "M", [0x0071]], - [0x1D5CB, "M", [0x0072]], - [0x1D5CC, "M", [0x0073]], - [0x1D5CD, "M", [0x0074]], - [0x1D5CE, "M", [0x0075]], - [0x1D5CF, "M", [0x0076]], - [0x1D5D0, "M", [0x0077]], - [0x1D5D1, "M", [0x0078]], - [0x1D5D2, "M", [0x0079]], - [0x1D5D3, "M", [0x007A]], - [0x1D5D4, "M", [0x0061]], - [0x1D5D5, "M", [0x0062]], - [0x1D5D6, "M", [0x0063]], - [0x1D5D7, "M", [0x0064]], - [0x1D5D8, "M", [0x0065]], - [0x1D5D9, "M", [0x0066]], - [0x1D5DA, "M", [0x0067]], - [0x1D5DB, "M", [0x0068]], - [0x1D5DC, "M", [0x0069]], - [0x1D5DD, "M", [0x006A]], - [0x1D5DE, "M", [0x006B]], - [0x1D5DF, "M", [0x006C]], - [0x1D5E0, "M", [0x006D]], - [0x1D5E1, "M", [0x006E]], - [0x1D5E2, "M", [0x006F]], - [0x1D5E3, "M", [0x0070]], - [0x1D5E4, "M", [0x0071]], - [0x1D5E5, "M", [0x0072]], - [0x1D5E6, "M", [0x0073]], - [0x1D5E7, "M", [0x0074]], - [0x1D5E8, "M", [0x0075]], - [0x1D5E9, "M", [0x0076]], - [0x1D5EA, "M", [0x0077]], - [0x1D5EB, "M", [0x0078]], - [0x1D5EC, "M", [0x0079]], - [0x1D5ED, "M", [0x007A]], - [0x1D5EE, "M", [0x0061]], - [0x1D5EF, "M", [0x0062]], - [0x1D5F0, "M", [0x0063]], - [0x1D5F1, "M", [0x0064]], - [0x1D5F2, "M", [0x0065]], - [0x1D5F3, "M", [0x0066]], - [0x1D5F4, "M", [0x0067]], - [0x1D5F5, "M", [0x0068]], - [0x1D5F6, "M", [0x0069]], - [0x1D5F7, "M", [0x006A]], - [0x1D5F8, "M", [0x006B]], - [0x1D5F9, "M", [0x006C]], - [0x1D5FA, "M", [0x006D]], - [0x1D5FB, "M", [0x006E]], - [0x1D5FC, "M", [0x006F]], - [0x1D5FD, "M", [0x0070]], - [0x1D5FE, "M", [0x0071]], - [0x1D5FF, "M", [0x0072]], - [0x1D600, "M", [0x0073]], - [0x1D601, "M", [0x0074]], - [0x1D602, "M", [0x0075]], - [0x1D603, "M", [0x0076]], - [0x1D604, "M", [0x0077]], - [0x1D605, "M", [0x0078]], - [0x1D606, "M", [0x0079]], - [0x1D607, "M", [0x007A]], - [0x1D608, "M", [0x0061]], - [0x1D609, "M", [0x0062]], - [0x1D60A, "M", [0x0063]], - [0x1D60B, "M", [0x0064]], - [0x1D60C, "M", [0x0065]], - [0x1D60D, "M", [0x0066]], - [0x1D60E, "M", [0x0067]], - [0x1D60F, "M", [0x0068]], - [0x1D610, "M", [0x0069]], - [0x1D611, "M", [0x006A]], - [0x1D612, "M", [0x006B]], - [0x1D613, "M", [0x006C]], - [0x1D614, "M", [0x006D]], - [0x1D615, "M", [0x006E]], - [0x1D616, "M", [0x006F]], - [0x1D617, "M", [0x0070]], - [0x1D618, "M", [0x0071]], - [0x1D619, "M", [0x0072]], - [0x1D61A, "M", [0x0073]], - [0x1D61B, "M", [0x0074]], - [0x1D61C, "M", [0x0075]], - [0x1D61D, "M", [0x0076]], - [0x1D61E, "M", [0x0077]], - [0x1D61F, "M", [0x0078]], - [0x1D620, "M", [0x0079]], - [0x1D621, "M", [0x007A]], - [0x1D622, "M", [0x0061]], - [0x1D623, "M", [0x0062]], - [0x1D624, "M", [0x0063]], - [0x1D625, "M", [0x0064]], - [0x1D626, "M", [0x0065]], - [0x1D627, "M", [0x0066]], - [0x1D628, "M", [0x0067]], - [0x1D629, "M", [0x0068]], - [0x1D62A, "M", [0x0069]], - [0x1D62B, "M", [0x006A]], - [0x1D62C, "M", [0x006B]], - [0x1D62D, "M", [0x006C]], - [0x1D62E, "M", [0x006D]], - [0x1D62F, "M", [0x006E]], - [0x1D630, "M", [0x006F]], - [0x1D631, "M", [0x0070]], - [0x1D632, "M", [0x0071]], - [0x1D633, "M", [0x0072]], - [0x1D634, "M", [0x0073]], - [0x1D635, "M", [0x0074]], - [0x1D636, "M", [0x0075]], - [0x1D637, "M", [0x0076]], - [0x1D638, "M", [0x0077]], - [0x1D639, "M", [0x0078]], - [0x1D63A, "M", [0x0079]], - [0x1D63B, "M", [0x007A]], - [0x1D63C, "M", [0x0061]], - [0x1D63D, "M", [0x0062]], - [0x1D63E, "M", [0x0063]], - [0x1D63F, "M", [0x0064]], - [0x1D640, "M", [0x0065]], - [0x1D641, "M", [0x0066]], - [0x1D642, "M", [0x0067]], - [0x1D643, "M", [0x0068]], - [0x1D644, "M", [0x0069]], - [0x1D645, "M", [0x006A]], - [0x1D646, "M", [0x006B]], - [0x1D647, "M", [0x006C]], - [0x1D648, "M", [0x006D]], - [0x1D649, "M", [0x006E]], - [0x1D64A, "M", [0x006F]], - [0x1D64B, "M", [0x0070]], - [0x1D64C, "M", [0x0071]], - [0x1D64D, "M", [0x0072]], - [0x1D64E, "M", [0x0073]], - [0x1D64F, "M", [0x0074]], - [0x1D650, "M", [0x0075]], - [0x1D651, "M", [0x0076]], - [0x1D652, "M", [0x0077]], - [0x1D653, "M", [0x0078]], - [0x1D654, "M", [0x0079]], - [0x1D655, "M", [0x007A]], - [0x1D656, "M", [0x0061]], - [0x1D657, "M", [0x0062]], - [0x1D658, "M", [0x0063]], - [0x1D659, "M", [0x0064]], - [0x1D65A, "M", [0x0065]], - [0x1D65B, "M", [0x0066]], - [0x1D65C, "M", [0x0067]], - [0x1D65D, "M", [0x0068]], - [0x1D65E, "M", [0x0069]], - [0x1D65F, "M", [0x006A]], - [0x1D660, "M", [0x006B]], - [0x1D661, "M", [0x006C]], - [0x1D662, "M", [0x006D]], - [0x1D663, "M", [0x006E]], - [0x1D664, "M", [0x006F]], - [0x1D665, "M", [0x0070]], - [0x1D666, "M", [0x0071]], - [0x1D667, "M", [0x0072]], - [0x1D668, "M", [0x0073]], - [0x1D669, "M", [0x0074]], - [0x1D66A, "M", [0x0075]], - [0x1D66B, "M", [0x0076]], - [0x1D66C, "M", [0x0077]], - [0x1D66D, "M", [0x0078]], - [0x1D66E, "M", [0x0079]], - [0x1D66F, "M", [0x007A]], - [0x1D670, "M", [0x0061]], - [0x1D671, "M", [0x0062]], - [0x1D672, "M", [0x0063]], - [0x1D673, "M", [0x0064]], - [0x1D674, "M", [0x0065]], - [0x1D675, "M", [0x0066]], - [0x1D676, "M", [0x0067]], - [0x1D677, "M", [0x0068]], - [0x1D678, "M", [0x0069]], - [0x1D679, "M", [0x006A]], - [0x1D67A, "M", [0x006B]], - [0x1D67B, "M", [0x006C]], - [0x1D67C, "M", [0x006D]], - [0x1D67D, "M", [0x006E]], - [0x1D67E, "M", [0x006F]], - [0x1D67F, "M", [0x0070]], - [0x1D680, "M", [0x0071]], - [0x1D681, "M", [0x0072]], - [0x1D682, "M", [0x0073]], - [0x1D683, "M", [0x0074]], - [0x1D684, "M", [0x0075]], - [0x1D685, "M", [0x0076]], - [0x1D686, "M", [0x0077]], - [0x1D687, "M", [0x0078]], - [0x1D688, "M", [0x0079]], - [0x1D689, "M", [0x007A]], - [0x1D68A, "M", [0x0061]], - [0x1D68B, "M", [0x0062]], - [0x1D68C, "M", [0x0063]], - [0x1D68D, "M", [0x0064]], - [0x1D68E, "M", [0x0065]], - [0x1D68F, "M", [0x0066]], - [0x1D690, "M", [0x0067]], - [0x1D691, "M", [0x0068]], - [0x1D692, "M", [0x0069]], - [0x1D693, "M", [0x006A]], - [0x1D694, "M", [0x006B]], - [0x1D695, "M", [0x006C]], - [0x1D696, "M", [0x006D]], - [0x1D697, "M", [0x006E]], - [0x1D698, "M", [0x006F]], - [0x1D699, "M", [0x0070]], - [0x1D69A, "M", [0x0071]], - [0x1D69B, "M", [0x0072]], - [0x1D69C, "M", [0x0073]], - [0x1D69D, "M", [0x0074]], - [0x1D69E, "M", [0x0075]], - [0x1D69F, "M", [0x0076]], - [0x1D6A0, "M", [0x0077]], - [0x1D6A1, "M", [0x0078]], - [0x1D6A2, "M", [0x0079]], - [0x1D6A3, "M", [0x007A]], - [0x1D6A4, "M", [0x0131]], - [0x1D6A5, "M", [0x0237]], - [0x1D6A6, "X"], - [0x1D6A8, "M", [0x03B1]], - [0x1D6A9, "M", [0x03B2]], - [0x1D6AA, "M", [0x03B3]], - [0x1D6AB, "M", [0x03B4]], - [0x1D6AC, "M", [0x03B5]], - [0x1D6AD, "M", [0x03B6]], - [0x1D6AE, "M", [0x03B7]], - [0x1D6AF, "M", [0x03B8]], - [0x1D6B0, "M", [0x03B9]], - [0x1D6B1, "M", [0x03BA]], - [0x1D6B2, "M", [0x03BB]], - [0x1D6B3, "M", [0x03BC]], - [0x1D6B4, "M", [0x03BD]], - [0x1D6B5, "M", [0x03BE]], - [0x1D6B6, "M", [0x03BF]], - [0x1D6B7, "M", [0x03C0]], - [0x1D6B8, "M", [0x03C1]], - [0x1D6B9, "M", [0x03B8]], - [0x1D6BA, "M", [0x03C3]], - [0x1D6BB, "M", [0x03C4]], - [0x1D6BC, "M", [0x03C5]], - [0x1D6BD, "M", [0x03C6]], - [0x1D6BE, "M", [0x03C7]], - [0x1D6BF, "M", [0x03C8]], - [0x1D6C0, "M", [0x03C9]], - [0x1D6C1, "M", [0x2207]], - [0x1D6C2, "M", [0x03B1]], - [0x1D6C3, "M", [0x03B2]], - [0x1D6C4, "M", [0x03B3]], - [0x1D6C5, "M", [0x03B4]], - [0x1D6C6, "M", [0x03B5]], - [0x1D6C7, "M", [0x03B6]], - [0x1D6C8, "M", [0x03B7]], - [0x1D6C9, "M", [0x03B8]], - [0x1D6CA, "M", [0x03B9]], - [0x1D6CB, "M", [0x03BA]], - [0x1D6CC, "M", [0x03BB]], - [0x1D6CD, "M", [0x03BC]], - [0x1D6CE, "M", [0x03BD]], - [0x1D6CF, "M", [0x03BE]], - [0x1D6D0, "M", [0x03BF]], - [0x1D6D1, "M", [0x03C0]], - [0x1D6D2, "M", [0x03C1]], - [0x1D6D3, "M", [0x03C3]], - [0x1D6D5, "M", [0x03C4]], - [0x1D6D6, "M", [0x03C5]], - [0x1D6D7, "M", [0x03C6]], - [0x1D6D8, "M", [0x03C7]], - [0x1D6D9, "M", [0x03C8]], - [0x1D6DA, "M", [0x03C9]], - [0x1D6DB, "M", [0x2202]], - [0x1D6DC, "M", [0x03B5]], - [0x1D6DD, "M", [0x03B8]], - [0x1D6DE, "M", [0x03BA]], - [0x1D6DF, "M", [0x03C6]], - [0x1D6E0, "M", [0x03C1]], - [0x1D6E1, "M", [0x03C0]], - [0x1D6E2, "M", [0x03B1]], - [0x1D6E3, "M", [0x03B2]], - [0x1D6E4, "M", [0x03B3]], - [0x1D6E5, "M", [0x03B4]], - [0x1D6E6, "M", [0x03B5]], - [0x1D6E7, "M", [0x03B6]], - [0x1D6E8, "M", [0x03B7]], - [0x1D6E9, "M", [0x03B8]], - [0x1D6EA, "M", [0x03B9]], - [0x1D6EB, "M", [0x03BA]], - [0x1D6EC, "M", [0x03BB]], - [0x1D6ED, "M", [0x03BC]], - [0x1D6EE, "M", [0x03BD]], - [0x1D6EF, "M", [0x03BE]], - [0x1D6F0, "M", [0x03BF]], - [0x1D6F1, "M", [0x03C0]], - [0x1D6F2, "M", [0x03C1]], - [0x1D6F3, "M", [0x03B8]], - [0x1D6F4, "M", [0x03C3]], - [0x1D6F5, "M", [0x03C4]], - [0x1D6F6, "M", [0x03C5]], - [0x1D6F7, "M", [0x03C6]], - [0x1D6F8, "M", [0x03C7]], - [0x1D6F9, "M", [0x03C8]], - [0x1D6FA, "M", [0x03C9]], - [0x1D6FB, "M", [0x2207]], - [0x1D6FC, "M", [0x03B1]], - [0x1D6FD, "M", [0x03B2]], - [0x1D6FE, "M", [0x03B3]], - [0x1D6FF, "M", [0x03B4]], - [0x1D700, "M", [0x03B5]], - [0x1D701, "M", [0x03B6]], - [0x1D702, "M", [0x03B7]], - [0x1D703, "M", [0x03B8]], - [0x1D704, "M", [0x03B9]], - [0x1D705, "M", [0x03BA]], - [0x1D706, "M", [0x03BB]], - [0x1D707, "M", [0x03BC]], - [0x1D708, "M", [0x03BD]], - [0x1D709, "M", [0x03BE]], - [0x1D70A, "M", [0x03BF]], - [0x1D70B, "M", [0x03C0]], - [0x1D70C, "M", [0x03C1]], - [0x1D70D, "M", [0x03C3]], - [0x1D70F, "M", [0x03C4]], - [0x1D710, "M", [0x03C5]], - [0x1D711, "M", [0x03C6]], - [0x1D712, "M", [0x03C7]], - [0x1D713, "M", [0x03C8]], - [0x1D714, "M", [0x03C9]], - [0x1D715, "M", [0x2202]], - [0x1D716, "M", [0x03B5]], - [0x1D717, "M", [0x03B8]], - [0x1D718, "M", [0x03BA]], - [0x1D719, "M", [0x03C6]], - [0x1D71A, "M", [0x03C1]], - [0x1D71B, "M", [0x03C0]], - [0x1D71C, "M", [0x03B1]], - [0x1D71D, "M", [0x03B2]], - [0x1D71E, "M", [0x03B3]], - [0x1D71F, "M", [0x03B4]], - [0x1D720, "M", [0x03B5]], - [0x1D721, "M", [0x03B6]], - [0x1D722, "M", [0x03B7]], - [0x1D723, "M", [0x03B8]], - [0x1D724, "M", [0x03B9]], - [0x1D725, "M", [0x03BA]], - [0x1D726, "M", [0x03BB]], - [0x1D727, "M", [0x03BC]], - [0x1D728, "M", [0x03BD]], - [0x1D729, "M", [0x03BE]], - [0x1D72A, "M", [0x03BF]], - [0x1D72B, "M", [0x03C0]], - [0x1D72C, "M", [0x03C1]], - [0x1D72D, "M", [0x03B8]], - [0x1D72E, "M", [0x03C3]], - [0x1D72F, "M", [0x03C4]], - [0x1D730, "M", [0x03C5]], - [0x1D731, "M", [0x03C6]], - [0x1D732, "M", [0x03C7]], - [0x1D733, "M", [0x03C8]], - [0x1D734, "M", [0x03C9]], - [0x1D735, "M", [0x2207]], - [0x1D736, "M", [0x03B1]], - [0x1D737, "M", [0x03B2]], - [0x1D738, "M", [0x03B3]], - [0x1D739, "M", [0x03B4]], - [0x1D73A, "M", [0x03B5]], - [0x1D73B, "M", [0x03B6]], - [0x1D73C, "M", [0x03B7]], - [0x1D73D, "M", [0x03B8]], - [0x1D73E, "M", [0x03B9]], - [0x1D73F, "M", [0x03BA]], - [0x1D740, "M", [0x03BB]], - [0x1D741, "M", [0x03BC]], - [0x1D742, "M", [0x03BD]], - [0x1D743, "M", [0x03BE]], - [0x1D744, "M", [0x03BF]], - [0x1D745, "M", [0x03C0]], - [0x1D746, "M", [0x03C1]], - [0x1D747, "M", [0x03C3]], - [0x1D749, "M", [0x03C4]], - [0x1D74A, "M", [0x03C5]], - [0x1D74B, "M", [0x03C6]], - [0x1D74C, "M", [0x03C7]], - [0x1D74D, "M", [0x03C8]], - [0x1D74E, "M", [0x03C9]], - [0x1D74F, "M", [0x2202]], - [0x1D750, "M", [0x03B5]], - [0x1D751, "M", [0x03B8]], - [0x1D752, "M", [0x03BA]], - [0x1D753, "M", [0x03C6]], - [0x1D754, "M", [0x03C1]], - [0x1D755, "M", [0x03C0]], - [0x1D756, "M", [0x03B1]], - [0x1D757, "M", [0x03B2]], - [0x1D758, "M", [0x03B3]], - [0x1D759, "M", [0x03B4]], - [0x1D75A, "M", [0x03B5]], - [0x1D75B, "M", [0x03B6]], - [0x1D75C, "M", [0x03B7]], - [0x1D75D, "M", [0x03B8]], - [0x1D75E, "M", [0x03B9]], - [0x1D75F, "M", [0x03BA]], - [0x1D760, "M", [0x03BB]], - [0x1D761, "M", [0x03BC]], - [0x1D762, "M", [0x03BD]], - [0x1D763, "M", [0x03BE]], - [0x1D764, "M", [0x03BF]], - [0x1D765, "M", [0x03C0]], - [0x1D766, "M", [0x03C1]], - [0x1D767, "M", [0x03B8]], - [0x1D768, "M", [0x03C3]], - [0x1D769, "M", [0x03C4]], - [0x1D76A, "M", [0x03C5]], - [0x1D76B, "M", [0x03C6]], - [0x1D76C, "M", [0x03C7]], - [0x1D76D, "M", [0x03C8]], - [0x1D76E, "M", [0x03C9]], - [0x1D76F, "M", [0x2207]], - [0x1D770, "M", [0x03B1]], - [0x1D771, "M", [0x03B2]], - [0x1D772, "M", [0x03B3]], - [0x1D773, "M", [0x03B4]], - [0x1D774, "M", [0x03B5]], - [0x1D775, "M", [0x03B6]], - [0x1D776, "M", [0x03B7]], - [0x1D777, "M", [0x03B8]], - [0x1D778, "M", [0x03B9]], - [0x1D779, "M", [0x03BA]], - [0x1D77A, "M", [0x03BB]], - [0x1D77B, "M", [0x03BC]], - [0x1D77C, "M", [0x03BD]], - [0x1D77D, "M", [0x03BE]], - [0x1D77E, "M", [0x03BF]], - [0x1D77F, "M", [0x03C0]], - [0x1D780, "M", [0x03C1]], - [0x1D781, "M", [0x03C3]], - [0x1D783, "M", [0x03C4]], - [0x1D784, "M", [0x03C5]], - [0x1D785, "M", [0x03C6]], - [0x1D786, "M", [0x03C7]], - [0x1D787, "M", [0x03C8]], - [0x1D788, "M", [0x03C9]], - [0x1D789, "M", [0x2202]], - [0x1D78A, "M", [0x03B5]], - [0x1D78B, "M", [0x03B8]], - [0x1D78C, "M", [0x03BA]], - [0x1D78D, "M", [0x03C6]], - [0x1D78E, "M", [0x03C1]], - [0x1D78F, "M", [0x03C0]], - [0x1D790, "M", [0x03B1]], - [0x1D791, "M", [0x03B2]], - [0x1D792, "M", [0x03B3]], - [0x1D793, "M", [0x03B4]], - [0x1D794, "M", [0x03B5]], - [0x1D795, "M", [0x03B6]], - [0x1D796, "M", [0x03B7]], - [0x1D797, "M", [0x03B8]], - [0x1D798, "M", [0x03B9]], - [0x1D799, "M", [0x03BA]], - [0x1D79A, "M", [0x03BB]], - [0x1D79B, "M", [0x03BC]], - [0x1D79C, "M", [0x03BD]], - [0x1D79D, "M", [0x03BE]], - [0x1D79E, "M", [0x03BF]], - [0x1D79F, "M", [0x03C0]], - [0x1D7A0, "M", [0x03C1]], - [0x1D7A1, "M", [0x03B8]], - [0x1D7A2, "M", [0x03C3]], - [0x1D7A3, "M", [0x03C4]], - [0x1D7A4, "M", [0x03C5]], - [0x1D7A5, "M", [0x03C6]], - [0x1D7A6, "M", [0x03C7]], - [0x1D7A7, "M", [0x03C8]], - [0x1D7A8, "M", [0x03C9]], - [0x1D7A9, "M", [0x2207]], - [0x1D7AA, "M", [0x03B1]], - [0x1D7AB, "M", [0x03B2]], - [0x1D7AC, "M", [0x03B3]], - [0x1D7AD, "M", [0x03B4]], - [0x1D7AE, "M", [0x03B5]], - [0x1D7AF, "M", [0x03B6]], - [0x1D7B0, "M", [0x03B7]], - [0x1D7B1, "M", [0x03B8]], - [0x1D7B2, "M", [0x03B9]], - [0x1D7B3, "M", [0x03BA]], - [0x1D7B4, "M", [0x03BB]], - [0x1D7B5, "M", [0x03BC]], - [0x1D7B6, "M", [0x03BD]], - [0x1D7B7, "M", [0x03BE]], - [0x1D7B8, "M", [0x03BF]], - [0x1D7B9, "M", [0x03C0]], - [0x1D7BA, "M", [0x03C1]], - [0x1D7BB, "M", [0x03C3]], - [0x1D7BD, "M", [0x03C4]], - [0x1D7BE, "M", [0x03C5]], - [0x1D7BF, "M", [0x03C6]], - [0x1D7C0, "M", [0x03C7]], - [0x1D7C1, "M", [0x03C8]], - [0x1D7C2, "M", [0x03C9]], - [0x1D7C3, "M", [0x2202]], - [0x1D7C4, "M", [0x03B5]], - [0x1D7C5, "M", [0x03B8]], - [0x1D7C6, "M", [0x03BA]], - [0x1D7C7, "M", [0x03C6]], - [0x1D7C8, "M", [0x03C1]], - [0x1D7C9, "M", [0x03C0]], - [0x1D7CA, "M", [0x03DD]], - [0x1D7CC, "X"], - [0x1D7CE, "M", [0x0030]], - [0x1D7CF, "M", [0x0031]], - [0x1D7D0, "M", [0x0032]], - [0x1D7D1, "M", [0x0033]], - [0x1D7D2, "M", [0x0034]], - [0x1D7D3, "M", [0x0035]], - [0x1D7D4, "M", [0x0036]], - [0x1D7D5, "M", [0x0037]], - [0x1D7D6, "M", [0x0038]], - [0x1D7D7, "M", [0x0039]], - [0x1D7D8, "M", [0x0030]], - [0x1D7D9, "M", [0x0031]], - [0x1D7DA, "M", [0x0032]], - [0x1D7DB, "M", [0x0033]], - [0x1D7DC, "M", [0x0034]], - [0x1D7DD, "M", [0x0035]], - [0x1D7DE, "M", [0x0036]], - [0x1D7DF, "M", [0x0037]], - [0x1D7E0, "M", [0x0038]], - [0x1D7E1, "M", [0x0039]], - [0x1D7E2, "M", [0x0030]], - [0x1D7E3, "M", [0x0031]], - [0x1D7E4, "M", [0x0032]], - [0x1D7E5, "M", [0x0033]], - [0x1D7E6, "M", [0x0034]], - [0x1D7E7, "M", [0x0035]], - [0x1D7E8, "M", [0x0036]], - [0x1D7E9, "M", [0x0037]], - [0x1D7EA, "M", [0x0038]], - [0x1D7EB, "M", [0x0039]], - [0x1D7EC, "M", [0x0030]], - [0x1D7ED, "M", [0x0031]], - [0x1D7EE, "M", [0x0032]], - [0x1D7EF, "M", [0x0033]], - [0x1D7F0, "M", [0x0034]], - [0x1D7F1, "M", [0x0035]], - [0x1D7F2, "M", [0x0036]], - [0x1D7F3, "M", [0x0037]], - [0x1D7F4, "M", [0x0038]], - [0x1D7F5, "M", [0x0039]], - [0x1D7F6, "M", [0x0030]], - [0x1D7F7, "M", [0x0031]], - [0x1D7F8, "M", [0x0032]], - [0x1D7F9, "M", [0x0033]], - [0x1D7FA, "M", [0x0034]], - [0x1D7FB, "M", [0x0035]], - [0x1D7FC, "M", [0x0036]], - [0x1D7FD, "M", [0x0037]], - [0x1D7FE, "M", [0x0038]], - [0x1D7FF, "M", [0x0039]], - [0x1D800, "V"], - [0x1DA8C, "X"], - [0x1DA9B, "V"], - [0x1DAA0, "X"], - [0x1DAA1, "V"], - [0x1DAB0, "X"], - [0x1DF00, "V"], - [0x1DF1F, "X"], - [0x1DF25, "V"], - [0x1DF2B, "X"], - [0x1E000, "V"], - [0x1E007, "X"], - [0x1E008, "V"], - [0x1E019, "X"], - [0x1E01B, "V"], - [0x1E022, "X"], - [0x1E023, "V"], - [0x1E025, "X"], - [0x1E026, "V"], - [0x1E02B, "X"], - [0x1E030, "M", [0x0430]], - [0x1E031, "M", [0x0431]], - [0x1E032, "M", [0x0432]], - [0x1E033, "M", [0x0433]], - [0x1E034, "M", [0x0434]], - [0x1E035, "M", [0x0435]], - [0x1E036, "M", [0x0436]], - [0x1E037, "M", [0x0437]], - [0x1E038, "M", [0x0438]], - [0x1E039, "M", [0x043A]], - [0x1E03A, "M", [0x043B]], - [0x1E03B, "M", [0x043C]], - [0x1E03C, "M", [0x043E]], - [0x1E03D, "M", [0x043F]], - [0x1E03E, "M", [0x0440]], - [0x1E03F, "M", [0x0441]], - [0x1E040, "M", [0x0442]], - [0x1E041, "M", [0x0443]], - [0x1E042, "M", [0x0444]], - [0x1E043, "M", [0x0445]], - [0x1E044, "M", [0x0446]], - [0x1E045, "M", [0x0447]], - [0x1E046, "M", [0x0448]], - [0x1E047, "M", [0x044B]], - [0x1E048, "M", [0x044D]], - [0x1E049, "M", [0x044E]], - [0x1E04A, "M", [0xA689]], - [0x1E04B, "M", [0x04D9]], - [0x1E04C, "M", [0x0456]], - [0x1E04D, "M", [0x0458]], - [0x1E04E, "M", [0x04E9]], - [0x1E04F, "M", [0x04AF]], - [0x1E050, "M", [0x04CF]], - [0x1E051, "M", [0x0430]], - [0x1E052, "M", [0x0431]], - [0x1E053, "M", [0x0432]], - [0x1E054, "M", [0x0433]], - [0x1E055, "M", [0x0434]], - [0x1E056, "M", [0x0435]], - [0x1E057, "M", [0x0436]], - [0x1E058, "M", [0x0437]], - [0x1E059, "M", [0x0438]], - [0x1E05A, "M", [0x043A]], - [0x1E05B, "M", [0x043B]], - [0x1E05C, "M", [0x043E]], - [0x1E05D, "M", [0x043F]], - [0x1E05E, "M", [0x0441]], - [0x1E05F, "M", [0x0443]], - [0x1E060, "M", [0x0444]], - [0x1E061, "M", [0x0445]], - [0x1E062, "M", [0x0446]], - [0x1E063, "M", [0x0447]], - [0x1E064, "M", [0x0448]], - [0x1E065, "M", [0x044A]], - [0x1E066, "M", [0x044B]], - [0x1E067, "M", [0x0491]], - [0x1E068, "M", [0x0456]], - [0x1E069, "M", [0x0455]], - [0x1E06A, "M", [0x045F]], - [0x1E06B, "M", [0x04AB]], - [0x1E06C, "M", [0xA651]], - [0x1E06D, "M", [0x04B1]], - [0x1E06E, "X"], - [0x1E08F, "V"], - [0x1E090, "X"], - [0x1E100, "V"], - [0x1E12D, "X"], - [0x1E130, "V"], - [0x1E13E, "X"], - [0x1E140, "V"], - [0x1E14A, "X"], - [0x1E14E, "V"], - [0x1E150, "X"], - [0x1E290, "V"], - [0x1E2AF, "X"], - [0x1E2C0, "V"], - [0x1E2FA, "X"], - [0x1E2FF, "V"], - [0x1E300, "X"], - [0x1E4D0, "V"], - [0x1E4FA, "X"], - [0x1E7E0, "V"], - [0x1E7E7, "X"], - [0x1E7E8, "V"], - [0x1E7EC, "X"], - [0x1E7ED, "V"], - [0x1E7EF, "X"], - [0x1E7F0, "V"], - [0x1E7FF, "X"], - [0x1E800, "V"], - [0x1E8C5, "X"], - [0x1E8C7, "V"], - [0x1E8D7, "X"], - [0x1E900, "M", [0x1E922]], - [0x1E901, "M", [0x1E923]], - [0x1E902, "M", [0x1E924]], - [0x1E903, "M", [0x1E925]], - [0x1E904, "M", [0x1E926]], - [0x1E905, "M", [0x1E927]], - [0x1E906, "M", [0x1E928]], - [0x1E907, "M", [0x1E929]], - [0x1E908, "M", [0x1E92A]], - [0x1E909, "M", [0x1E92B]], - [0x1E90A, "M", [0x1E92C]], - [0x1E90B, "M", [0x1E92D]], - [0x1E90C, "M", [0x1E92E]], - [0x1E90D, "M", [0x1E92F]], - [0x1E90E, "M", [0x1E930]], - [0x1E90F, "M", [0x1E931]], - [0x1E910, "M", [0x1E932]], - [0x1E911, "M", [0x1E933]], - [0x1E912, "M", [0x1E934]], - [0x1E913, "M", [0x1E935]], - [0x1E914, "M", [0x1E936]], - [0x1E915, "M", [0x1E937]], - [0x1E916, "M", [0x1E938]], - [0x1E917, "M", [0x1E939]], - [0x1E918, "M", [0x1E93A]], - [0x1E919, "M", [0x1E93B]], - [0x1E91A, "M", [0x1E93C]], - [0x1E91B, "M", [0x1E93D]], - [0x1E91C, "M", [0x1E93E]], - [0x1E91D, "M", [0x1E93F]], - [0x1E91E, "M", [0x1E940]], - [0x1E91F, "M", [0x1E941]], - [0x1E920, "M", [0x1E942]], - [0x1E921, "M", [0x1E943]], - [0x1E922, "V"], - [0x1E94C, "X"], - [0x1E950, "V"], - [0x1E95A, "X"], - [0x1E95E, "V"], - [0x1E960, "X"], - [0x1EC71, "V"], - [0x1ECB5, "X"], - [0x1ED01, "V"], - [0x1ED3E, "X"], - [0x1EE00, "M", [0x0627]], - [0x1EE01, "M", [0x0628]], - [0x1EE02, "M", [0x062C]], - [0x1EE03, "M", [0x062F]], - [0x1EE04, "X"], - [0x1EE05, "M", [0x0648]], - [0x1EE06, "M", [0x0632]], - [0x1EE07, "M", [0x062D]], - [0x1EE08, "M", [0x0637]], - [0x1EE09, "M", [0x064A]], - [0x1EE0A, "M", [0x0643]], - [0x1EE0B, "M", [0x0644]], - [0x1EE0C, "M", [0x0645]], - [0x1EE0D, "M", [0x0646]], - [0x1EE0E, "M", [0x0633]], - [0x1EE0F, "M", [0x0639]], - [0x1EE10, "M", [0x0641]], - [0x1EE11, "M", [0x0635]], - [0x1EE12, "M", [0x0642]], - [0x1EE13, "M", [0x0631]], - [0x1EE14, "M", [0x0634]], - [0x1EE15, "M", [0x062A]], - [0x1EE16, "M", [0x062B]], - [0x1EE17, "M", [0x062E]], - [0x1EE18, "M", [0x0630]], - [0x1EE19, "M", [0x0636]], - [0x1EE1A, "M", [0x0638]], - [0x1EE1B, "M", [0x063A]], - [0x1EE1C, "M", [0x066E]], - [0x1EE1D, "M", [0x06BA]], - [0x1EE1E, "M", [0x06A1]], - [0x1EE1F, "M", [0x066F]], - [0x1EE20, "X"], - [0x1EE21, "M", [0x0628]], - [0x1EE22, "M", [0x062C]], - [0x1EE23, "X"], - [0x1EE24, "M", [0x0647]], - [0x1EE25, "X"], - [0x1EE27, "M", [0x062D]], - [0x1EE28, "X"], - [0x1EE29, "M", [0x064A]], - [0x1EE2A, "M", [0x0643]], - [0x1EE2B, "M", [0x0644]], - [0x1EE2C, "M", [0x0645]], - [0x1EE2D, "M", [0x0646]], - [0x1EE2E, "M", [0x0633]], - [0x1EE2F, "M", [0x0639]], - [0x1EE30, "M", [0x0641]], - [0x1EE31, "M", [0x0635]], - [0x1EE32, "M", [0x0642]], - [0x1EE33, "X"], - [0x1EE34, "M", [0x0634]], - [0x1EE35, "M", [0x062A]], - [0x1EE36, "M", [0x062B]], - [0x1EE37, "M", [0x062E]], - [0x1EE38, "X"], - [0x1EE39, "M", [0x0636]], - [0x1EE3A, "X"], - [0x1EE3B, "M", [0x063A]], - [0x1EE3C, "X"], - [0x1EE42, "M", [0x062C]], - [0x1EE43, "X"], - [0x1EE47, "M", [0x062D]], - [0x1EE48, "X"], - [0x1EE49, "M", [0x064A]], - [0x1EE4A, "X"], - [0x1EE4B, "M", [0x0644]], - [0x1EE4C, "X"], - [0x1EE4D, "M", [0x0646]], - [0x1EE4E, "M", [0x0633]], - [0x1EE4F, "M", [0x0639]], - [0x1EE50, "X"], - [0x1EE51, "M", [0x0635]], - [0x1EE52, "M", [0x0642]], - [0x1EE53, "X"], - [0x1EE54, "M", [0x0634]], - [0x1EE55, "X"], - [0x1EE57, "M", [0x062E]], - [0x1EE58, "X"], - [0x1EE59, "M", [0x0636]], - [0x1EE5A, "X"], - [0x1EE5B, "M", [0x063A]], - [0x1EE5C, "X"], - [0x1EE5D, "M", [0x06BA]], - [0x1EE5E, "X"], - [0x1EE5F, "M", [0x066F]], - [0x1EE60, "X"], - [0x1EE61, "M", [0x0628]], - [0x1EE62, "M", [0x062C]], - [0x1EE63, "X"], - [0x1EE64, "M", [0x0647]], - [0x1EE65, "X"], - [0x1EE67, "M", [0x062D]], - [0x1EE68, "M", [0x0637]], - [0x1EE69, "M", [0x064A]], - [0x1EE6A, "M", [0x0643]], - [0x1EE6B, "X"], - [0x1EE6C, "M", [0x0645]], - [0x1EE6D, "M", [0x0646]], - [0x1EE6E, "M", [0x0633]], - [0x1EE6F, "M", [0x0639]], - [0x1EE70, "M", [0x0641]], - [0x1EE71, "M", [0x0635]], - [0x1EE72, "M", [0x0642]], - [0x1EE73, "X"], - [0x1EE74, "M", [0x0634]], - [0x1EE75, "M", [0x062A]], - [0x1EE76, "M", [0x062B]], - [0x1EE77, "M", [0x062E]], - [0x1EE78, "X"], - [0x1EE79, "M", [0x0636]], - [0x1EE7A, "M", [0x0638]], - [0x1EE7B, "M", [0x063A]], - [0x1EE7C, "M", [0x066E]], - [0x1EE7D, "X"], - [0x1EE7E, "M", [0x06A1]], - [0x1EE7F, "X"], - [0x1EE80, "M", [0x0627]], - [0x1EE81, "M", [0x0628]], - [0x1EE82, "M", [0x062C]], - [0x1EE83, "M", [0x062F]], - [0x1EE84, "M", [0x0647]], - [0x1EE85, "M", [0x0648]], - [0x1EE86, "M", [0x0632]], - [0x1EE87, "M", [0x062D]], - [0x1EE88, "M", [0x0637]], - [0x1EE89, "M", [0x064A]], - [0x1EE8A, "X"], - [0x1EE8B, "M", [0x0644]], - [0x1EE8C, "M", [0x0645]], - [0x1EE8D, "M", [0x0646]], - [0x1EE8E, "M", [0x0633]], - [0x1EE8F, "M", [0x0639]], - [0x1EE90, "M", [0x0641]], - [0x1EE91, "M", [0x0635]], - [0x1EE92, "M", [0x0642]], - [0x1EE93, "M", [0x0631]], - [0x1EE94, "M", [0x0634]], - [0x1EE95, "M", [0x062A]], - [0x1EE96, "M", [0x062B]], - [0x1EE97, "M", [0x062E]], - [0x1EE98, "M", [0x0630]], - [0x1EE99, "M", [0x0636]], - [0x1EE9A, "M", [0x0638]], - [0x1EE9B, "M", [0x063A]], - [0x1EE9C, "X"], - [0x1EEA1, "M", [0x0628]], - [0x1EEA2, "M", [0x062C]], - [0x1EEA3, "M", [0x062F]], - [0x1EEA4, "X"], - [0x1EEA5, "M", [0x0648]], - [0x1EEA6, "M", [0x0632]], - [0x1EEA7, "M", [0x062D]], - [0x1EEA8, "M", [0x0637]], - [0x1EEA9, "M", [0x064A]], - [0x1EEAA, "X"], - [0x1EEAB, "M", [0x0644]], - [0x1EEAC, "M", [0x0645]], - [0x1EEAD, "M", [0x0646]], - [0x1EEAE, "M", [0x0633]], - [0x1EEAF, "M", [0x0639]], - [0x1EEB0, "M", [0x0641]], - [0x1EEB1, "M", [0x0635]], - [0x1EEB2, "M", [0x0642]], - [0x1EEB3, "M", [0x0631]], - [0x1EEB4, "M", [0x0634]], - [0x1EEB5, "M", [0x062A]], - [0x1EEB6, "M", [0x062B]], - [0x1EEB7, "M", [0x062E]], - [0x1EEB8, "M", [0x0630]], - [0x1EEB9, "M", [0x0636]], - [0x1EEBA, "M", [0x0638]], - [0x1EEBB, "M", [0x063A]], - [0x1EEBC, "X"], - [0x1EEF0, "V"], - [0x1EEF2, "X"], - [0x1F000, "V"], - [0x1F02C, "X"], - [0x1F030, "V"], - [0x1F094, "X"], - [0x1F0A0, "V"], - [0x1F0AF, "X"], - [0x1F0B1, "V"], - [0x1F0C0, "X"], - [0x1F0C1, "V"], - [0x1F0D0, "X"], - [0x1F0D1, "V"], - [0x1F0F6, "X"], - [0x1F101, "3", [0x0030, 0x002C]], - [0x1F102, "3", [0x0031, 0x002C]], - [0x1F103, "3", [0x0032, 0x002C]], - [0x1F104, "3", [0x0033, 0x002C]], - [0x1F105, "3", [0x0034, 0x002C]], - [0x1F106, "3", [0x0035, 0x002C]], - [0x1F107, "3", [0x0036, 0x002C]], - [0x1F108, "3", [0x0037, 0x002C]], - [0x1F109, "3", [0x0038, 0x002C]], - [0x1F10A, "3", [0x0039, 0x002C]], - [0x1F10B, "V"], - [0x1F110, "3", [0x0028, 0x0061, 0x0029]], - [0x1F111, "3", [0x0028, 0x0062, 0x0029]], - [0x1F112, "3", [0x0028, 0x0063, 0x0029]], - [0x1F113, "3", [0x0028, 0x0064, 0x0029]], - [0x1F114, "3", [0x0028, 0x0065, 0x0029]], - [0x1F115, "3", [0x0028, 0x0066, 0x0029]], - [0x1F116, "3", [0x0028, 0x0067, 0x0029]], - [0x1F117, "3", [0x0028, 0x0068, 0x0029]], - [0x1F118, "3", [0x0028, 0x0069, 0x0029]], - [0x1F119, "3", [0x0028, 0x006A, 0x0029]], - [0x1F11A, "3", [0x0028, 0x006B, 0x0029]], - [0x1F11B, "3", [0x0028, 0x006C, 0x0029]], - [0x1F11C, "3", [0x0028, 0x006D, 0x0029]], - [0x1F11D, "3", [0x0028, 0x006E, 0x0029]], - [0x1F11E, "3", [0x0028, 0x006F, 0x0029]], - [0x1F11F, "3", [0x0028, 0x0070, 0x0029]], - [0x1F120, "3", [0x0028, 0x0071, 0x0029]], - [0x1F121, "3", [0x0028, 0x0072, 0x0029]], - [0x1F122, "3", [0x0028, 0x0073, 0x0029]], - [0x1F123, "3", [0x0028, 0x0074, 0x0029]], - [0x1F124, "3", [0x0028, 0x0075, 0x0029]], - [0x1F125, "3", [0x0028, 0x0076, 0x0029]], - [0x1F126, "3", [0x0028, 0x0077, 0x0029]], - [0x1F127, "3", [0x0028, 0x0078, 0x0029]], - [0x1F128, "3", [0x0028, 0x0079, 0x0029]], - [0x1F129, "3", [0x0028, 0x007A, 0x0029]], - [0x1F12A, "M", [0x3014, 0x0073, 0x3015]], - [0x1F12B, "M", [0x0063]], - [0x1F12C, "M", [0x0072]], - [0x1F12D, "M", [0x0063, 0x0064]], - [0x1F12E, "M", [0x0077, 0x007A]], - [0x1F12F, "V"], - [0x1F130, "M", [0x0061]], - [0x1F131, "M", [0x0062]], - [0x1F132, "M", [0x0063]], - [0x1F133, "M", [0x0064]], - [0x1F134, "M", [0x0065]], - [0x1F135, "M", [0x0066]], - [0x1F136, "M", [0x0067]], - [0x1F137, "M", [0x0068]], - [0x1F138, "M", [0x0069]], - [0x1F139, "M", [0x006A]], - [0x1F13A, "M", [0x006B]], - [0x1F13B, "M", [0x006C]], - [0x1F13C, "M", [0x006D]], - [0x1F13D, "M", [0x006E]], - [0x1F13E, "M", [0x006F]], - [0x1F13F, "M", [0x0070]], - [0x1F140, "M", [0x0071]], - [0x1F141, "M", [0x0072]], - [0x1F142, "M", [0x0073]], - [0x1F143, "M", [0x0074]], - [0x1F144, "M", [0x0075]], - [0x1F145, "M", [0x0076]], - [0x1F146, "M", [0x0077]], - [0x1F147, "M", [0x0078]], - [0x1F148, "M", [0x0079]], - [0x1F149, "M", [0x007A]], - [0x1F14A, "M", [0x0068, 0x0076]], - [0x1F14B, "M", [0x006D, 0x0076]], - [0x1F14C, "M", [0x0073, 0x0064]], - [0x1F14D, "M", [0x0073, 0x0073]], - [0x1F14E, "M", [0x0070, 0x0070, 0x0076]], - [0x1F14F, "M", [0x0077, 0x0063]], - [0x1F150, "V"], - [0x1F16A, "M", [0x006D, 0x0063]], - [0x1F16B, "M", [0x006D, 0x0064]], - [0x1F16C, "M", [0x006D, 0x0072]], - [0x1F16D, "V"], - [0x1F190, "M", [0x0064, 0x006A]], - [0x1F191, "V"], - [0x1F1AE, "X"], - [0x1F1E6, "V"], - [0x1F200, "M", [0x307B, 0x304B]], - [0x1F201, "M", [0x30B3, 0x30B3]], - [0x1F202, "M", [0x30B5]], - [0x1F203, "X"], - [0x1F210, "M", [0x624B]], - [0x1F211, "M", [0x5B57]], - [0x1F212, "M", [0x53CC]], - [0x1F213, "M", [0x30C7]], - [0x1F214, "M", [0x4E8C]], - [0x1F215, "M", [0x591A]], - [0x1F216, "M", [0x89E3]], - [0x1F217, "M", [0x5929]], - [0x1F218, "M", [0x4EA4]], - [0x1F219, "M", [0x6620]], - [0x1F21A, "M", [0x7121]], - [0x1F21B, "M", [0x6599]], - [0x1F21C, "M", [0x524D]], - [0x1F21D, "M", [0x5F8C]], - [0x1F21E, "M", [0x518D]], - [0x1F21F, "M", [0x65B0]], - [0x1F220, "M", [0x521D]], - [0x1F221, "M", [0x7D42]], - [0x1F222, "M", [0x751F]], - [0x1F223, "M", [0x8CA9]], - [0x1F224, "M", [0x58F0]], - [0x1F225, "M", [0x5439]], - [0x1F226, "M", [0x6F14]], - [0x1F227, "M", [0x6295]], - [0x1F228, "M", [0x6355]], - [0x1F229, "M", [0x4E00]], - [0x1F22A, "M", [0x4E09]], - [0x1F22B, "M", [0x904A]], - [0x1F22C, "M", [0x5DE6]], - [0x1F22D, "M", [0x4E2D]], - [0x1F22E, "M", [0x53F3]], - [0x1F22F, "M", [0x6307]], - [0x1F230, "M", [0x8D70]], - [0x1F231, "M", [0x6253]], - [0x1F232, "M", [0x7981]], - [0x1F233, "M", [0x7A7A]], - [0x1F234, "M", [0x5408]], - [0x1F235, "M", [0x6E80]], - [0x1F236, "M", [0x6709]], - [0x1F237, "M", [0x6708]], - [0x1F238, "M", [0x7533]], - [0x1F239, "M", [0x5272]], - [0x1F23A, "M", [0x55B6]], - [0x1F23B, "M", [0x914D]], - [0x1F23C, "X"], - [0x1F240, "M", [0x3014, 0x672C, 0x3015]], - [0x1F241, "M", [0x3014, 0x4E09, 0x3015]], - [0x1F242, "M", [0x3014, 0x4E8C, 0x3015]], - [0x1F243, "M", [0x3014, 0x5B89, 0x3015]], - [0x1F244, "M", [0x3014, 0x70B9, 0x3015]], - [0x1F245, "M", [0x3014, 0x6253, 0x3015]], - [0x1F246, "M", [0x3014, 0x76D7, 0x3015]], - [0x1F247, "M", [0x3014, 0x52DD, 0x3015]], - [0x1F248, "M", [0x3014, 0x6557, 0x3015]], - [0x1F249, "X"], - [0x1F250, "M", [0x5F97]], - [0x1F251, "M", [0x53EF]], - [0x1F252, "X"], - [0x1F260, "V"], - [0x1F266, "X"], - [0x1F300, "V"], - [0x1F6D8, "X"], - [0x1F6DC, "V"], - [0x1F6ED, "X"], - [0x1F6F0, "V"], - [0x1F6FD, "X"], - [0x1F700, "V"], - [0x1F777, "X"], - [0x1F77B, "V"], - [0x1F7DA, "X"], - [0x1F7E0, "V"], - [0x1F7EC, "X"], - [0x1F7F0, "V"], - [0x1F7F1, "X"], - [0x1F800, "V"], - [0x1F80C, "X"], - [0x1F810, "V"], - [0x1F848, "X"], - [0x1F850, "V"], - [0x1F85A, "X"], - [0x1F860, "V"], - [0x1F888, "X"], - [0x1F890, "V"], - [0x1F8AE, "X"], - [0x1F8B0, "V"], - [0x1F8B2, "X"], - [0x1F900, "V"], - [0x1FA54, "X"], - [0x1FA60, "V"], - [0x1FA6E, "X"], - [0x1FA70, "V"], - [0x1FA7D, "X"], - [0x1FA80, "V"], - [0x1FA89, "X"], - [0x1FA90, "V"], - [0x1FABE, "X"], - [0x1FABF, "V"], - [0x1FAC6, "X"], - [0x1FACE, "V"], - [0x1FADC, "X"], - [0x1FAE0, "V"], - [0x1FAE9, "X"], - [0x1FAF0, "V"], - [0x1FAF9, "X"], - [0x1FB00, "V"], - [0x1FB93, "X"], - [0x1FB94, "V"], - [0x1FBCB, "X"], - [0x1FBF0, "M", [0x0030]], - [0x1FBF1, "M", [0x0031]], - [0x1FBF2, "M", [0x0032]], - [0x1FBF3, "M", [0x0033]], - [0x1FBF4, "M", [0x0034]], - [0x1FBF5, "M", [0x0035]], - [0x1FBF6, "M", [0x0036]], - [0x1FBF7, "M", [0x0037]], - [0x1FBF8, "M", [0x0038]], - [0x1FBF9, "M", [0x0039]], - [0x1FBFA, "X"], - [0x20000, "V"], - [0x2A6E0, "X"], - [0x2A700, "V"], - [0x2B73A, "X"], - [0x2B740, "V"], - [0x2B81E, "X"], - [0x2B820, "V"], - [0x2CEA2, "X"], - [0x2CEB0, "V"], - [0x2EBE1, "X"], - [0x2EBF0, "V"], - [0x2EE5E, "X"], - [0x2F800, "M", [0x4E3D]], - [0x2F801, "M", [0x4E38]], - [0x2F802, "M", [0x4E41]], - [0x2F803, "M", [0x20122]], - [0x2F804, "M", [0x4F60]], - [0x2F805, "M", [0x4FAE]], - [0x2F806, "M", [0x4FBB]], - [0x2F807, "M", [0x5002]], - [0x2F808, "M", [0x507A]], - [0x2F809, "M", [0x5099]], - [0x2F80A, "M", [0x50E7]], - [0x2F80B, "M", [0x50CF]], - [0x2F80C, "M", [0x349E]], - [0x2F80D, "M", [0x2063A]], - [0x2F80E, "M", [0x514D]], - [0x2F80F, "M", [0x5154]], - [0x2F810, "M", [0x5164]], - [0x2F811, "M", [0x5177]], - [0x2F812, "M", [0x2051C]], - [0x2F813, "M", [0x34B9]], - [0x2F814, "M", [0x5167]], - [0x2F815, "M", [0x518D]], - [0x2F816, "M", [0x2054B]], - [0x2F817, "M", [0x5197]], - [0x2F818, "M", [0x51A4]], - [0x2F819, "M", [0x4ECC]], - [0x2F81A, "M", [0x51AC]], - [0x2F81B, "M", [0x51B5]], - [0x2F81C, "M", [0x291DF]], - [0x2F81D, "M", [0x51F5]], - [0x2F81E, "M", [0x5203]], - [0x2F81F, "M", [0x34DF]], - [0x2F820, "M", [0x523B]], - [0x2F821, "M", [0x5246]], - [0x2F822, "M", [0x5272]], - [0x2F823, "M", [0x5277]], - [0x2F824, "M", [0x3515]], - [0x2F825, "M", [0x52C7]], - [0x2F826, "M", [0x52C9]], - [0x2F827, "M", [0x52E4]], - [0x2F828, "M", [0x52FA]], - [0x2F829, "M", [0x5305]], - [0x2F82A, "M", [0x5306]], - [0x2F82B, "M", [0x5317]], - [0x2F82C, "M", [0x5349]], - [0x2F82D, "M", [0x5351]], - [0x2F82E, "M", [0x535A]], - [0x2F82F, "M", [0x5373]], - [0x2F830, "M", [0x537D]], - [0x2F831, "M", [0x537F]], - [0x2F834, "M", [0x20A2C]], - [0x2F835, "M", [0x7070]], - [0x2F836, "M", [0x53CA]], - [0x2F837, "M", [0x53DF]], - [0x2F838, "M", [0x20B63]], - [0x2F839, "M", [0x53EB]], - [0x2F83A, "M", [0x53F1]], - [0x2F83B, "M", [0x5406]], - [0x2F83C, "M", [0x549E]], - [0x2F83D, "M", [0x5438]], - [0x2F83E, "M", [0x5448]], - [0x2F83F, "M", [0x5468]], - [0x2F840, "M", [0x54A2]], - [0x2F841, "M", [0x54F6]], - [0x2F842, "M", [0x5510]], - [0x2F843, "M", [0x5553]], - [0x2F844, "M", [0x5563]], - [0x2F845, "M", [0x5584]], - [0x2F847, "M", [0x5599]], - [0x2F848, "M", [0x55AB]], - [0x2F849, "M", [0x55B3]], - [0x2F84A, "M", [0x55C2]], - [0x2F84B, "M", [0x5716]], - [0x2F84C, "M", [0x5606]], - [0x2F84D, "M", [0x5717]], - [0x2F84E, "M", [0x5651]], - [0x2F84F, "M", [0x5674]], - [0x2F850, "M", [0x5207]], - [0x2F851, "M", [0x58EE]], - [0x2F852, "M", [0x57CE]], - [0x2F853, "M", [0x57F4]], - [0x2F854, "M", [0x580D]], - [0x2F855, "M", [0x578B]], - [0x2F856, "M", [0x5832]], - [0x2F857, "M", [0x5831]], - [0x2F858, "M", [0x58AC]], - [0x2F859, "M", [0x214E4]], - [0x2F85A, "M", [0x58F2]], - [0x2F85B, "M", [0x58F7]], - [0x2F85C, "M", [0x5906]], - [0x2F85D, "M", [0x591A]], - [0x2F85E, "M", [0x5922]], - [0x2F85F, "M", [0x5962]], - [0x2F860, "M", [0x216A8]], - [0x2F861, "M", [0x216EA]], - [0x2F862, "M", [0x59EC]], - [0x2F863, "M", [0x5A1B]], - [0x2F864, "M", [0x5A27]], - [0x2F865, "M", [0x59D8]], - [0x2F866, "M", [0x5A66]], - [0x2F867, "M", [0x36EE]], - [0x2F868, "X"], - [0x2F869, "M", [0x5B08]], - [0x2F86A, "M", [0x5B3E]], - [0x2F86C, "M", [0x219C8]], - [0x2F86D, "M", [0x5BC3]], - [0x2F86E, "M", [0x5BD8]], - [0x2F86F, "M", [0x5BE7]], - [0x2F870, "M", [0x5BF3]], - [0x2F871, "M", [0x21B18]], - [0x2F872, "M", [0x5BFF]], - [0x2F873, "M", [0x5C06]], - [0x2F874, "X"], - [0x2F875, "M", [0x5C22]], - [0x2F876, "M", [0x3781]], - [0x2F877, "M", [0x5C60]], - [0x2F878, "M", [0x5C6E]], - [0x2F879, "M", [0x5CC0]], - [0x2F87A, "M", [0x5C8D]], - [0x2F87B, "M", [0x21DE4]], - [0x2F87C, "M", [0x5D43]], - [0x2F87D, "M", [0x21DE6]], - [0x2F87E, "M", [0x5D6E]], - [0x2F87F, "M", [0x5D6B]], - [0x2F880, "M", [0x5D7C]], - [0x2F881, "M", [0x5DE1]], - [0x2F882, "M", [0x5DE2]], - [0x2F883, "M", [0x382F]], - [0x2F884, "M", [0x5DFD]], - [0x2F885, "M", [0x5E28]], - [0x2F886, "M", [0x5E3D]], - [0x2F887, "M", [0x5E69]], - [0x2F888, "M", [0x3862]], - [0x2F889, "M", [0x22183]], - [0x2F88A, "M", [0x387C]], - [0x2F88B, "M", [0x5EB0]], - [0x2F88C, "M", [0x5EB3]], - [0x2F88D, "M", [0x5EB6]], - [0x2F88E, "M", [0x5ECA]], - [0x2F88F, "M", [0x2A392]], - [0x2F890, "M", [0x5EFE]], - [0x2F891, "M", [0x22331]], - [0x2F893, "M", [0x8201]], - [0x2F894, "M", [0x5F22]], - [0x2F896, "M", [0x38C7]], - [0x2F897, "M", [0x232B8]], - [0x2F898, "M", [0x261DA]], - [0x2F899, "M", [0x5F62]], - [0x2F89A, "M", [0x5F6B]], - [0x2F89B, "M", [0x38E3]], - [0x2F89C, "M", [0x5F9A]], - [0x2F89D, "M", [0x5FCD]], - [0x2F89E, "M", [0x5FD7]], - [0x2F89F, "M", [0x5FF9]], - [0x2F8A0, "M", [0x6081]], - [0x2F8A1, "M", [0x393A]], - [0x2F8A2, "M", [0x391C]], - [0x2F8A3, "M", [0x6094]], - [0x2F8A4, "M", [0x226D4]], - [0x2F8A5, "M", [0x60C7]], - [0x2F8A6, "M", [0x6148]], - [0x2F8A7, "M", [0x614C]], - [0x2F8A8, "M", [0x614E]], - [0x2F8A9, "M", [0x614C]], - [0x2F8AA, "M", [0x617A]], - [0x2F8AB, "M", [0x618E]], - [0x2F8AC, "M", [0x61B2]], - [0x2F8AD, "M", [0x61A4]], - [0x2F8AE, "M", [0x61AF]], - [0x2F8AF, "M", [0x61DE]], - [0x2F8B0, "M", [0x61F2]], - [0x2F8B1, "M", [0x61F6]], - [0x2F8B2, "M", [0x6210]], - [0x2F8B3, "M", [0x621B]], - [0x2F8B4, "M", [0x625D]], - [0x2F8B5, "M", [0x62B1]], - [0x2F8B6, "M", [0x62D4]], - [0x2F8B7, "M", [0x6350]], - [0x2F8B8, "M", [0x22B0C]], - [0x2F8B9, "M", [0x633D]], - [0x2F8BA, "M", [0x62FC]], - [0x2F8BB, "M", [0x6368]], - [0x2F8BC, "M", [0x6383]], - [0x2F8BD, "M", [0x63E4]], - [0x2F8BE, "M", [0x22BF1]], - [0x2F8BF, "M", [0x6422]], - [0x2F8C0, "M", [0x63C5]], - [0x2F8C1, "M", [0x63A9]], - [0x2F8C2, "M", [0x3A2E]], - [0x2F8C3, "M", [0x6469]], - [0x2F8C4, "M", [0x647E]], - [0x2F8C5, "M", [0x649D]], - [0x2F8C6, "M", [0x6477]], - [0x2F8C7, "M", [0x3A6C]], - [0x2F8C8, "M", [0x654F]], - [0x2F8C9, "M", [0x656C]], - [0x2F8CA, "M", [0x2300A]], - [0x2F8CB, "M", [0x65E3]], - [0x2F8CC, "M", [0x66F8]], - [0x2F8CD, "M", [0x6649]], - [0x2F8CE, "M", [0x3B19]], - [0x2F8CF, "M", [0x6691]], - [0x2F8D0, "M", [0x3B08]], - [0x2F8D1, "M", [0x3AE4]], - [0x2F8D2, "M", [0x5192]], - [0x2F8D3, "M", [0x5195]], - [0x2F8D4, "M", [0x6700]], - [0x2F8D5, "M", [0x669C]], - [0x2F8D6, "M", [0x80AD]], - [0x2F8D7, "M", [0x43D9]], - [0x2F8D8, "M", [0x6717]], - [0x2F8D9, "M", [0x671B]], - [0x2F8DA, "M", [0x6721]], - [0x2F8DB, "M", [0x675E]], - [0x2F8DC, "M", [0x6753]], - [0x2F8DD, "M", [0x233C3]], - [0x2F8DE, "M", [0x3B49]], - [0x2F8DF, "M", [0x67FA]], - [0x2F8E0, "M", [0x6785]], - [0x2F8E1, "M", [0x6852]], - [0x2F8E2, "M", [0x6885]], - [0x2F8E3, "M", [0x2346D]], - [0x2F8E4, "M", [0x688E]], - [0x2F8E5, "M", [0x681F]], - [0x2F8E6, "M", [0x6914]], - [0x2F8E7, "M", [0x3B9D]], - [0x2F8E8, "M", [0x6942]], - [0x2F8E9, "M", [0x69A3]], - [0x2F8EA, "M", [0x69EA]], - [0x2F8EB, "M", [0x6AA8]], - [0x2F8EC, "M", [0x236A3]], - [0x2F8ED, "M", [0x6ADB]], - [0x2F8EE, "M", [0x3C18]], - [0x2F8EF, "M", [0x6B21]], - [0x2F8F0, "M", [0x238A7]], - [0x2F8F1, "M", [0x6B54]], - [0x2F8F2, "M", [0x3C4E]], - [0x2F8F3, "M", [0x6B72]], - [0x2F8F4, "M", [0x6B9F]], - [0x2F8F5, "M", [0x6BBA]], - [0x2F8F6, "M", [0x6BBB]], - [0x2F8F7, "M", [0x23A8D]], - [0x2F8F8, "M", [0x21D0B]], - [0x2F8F9, "M", [0x23AFA]], - [0x2F8FA, "M", [0x6C4E]], - [0x2F8FB, "M", [0x23CBC]], - [0x2F8FC, "M", [0x6CBF]], - [0x2F8FD, "M", [0x6CCD]], - [0x2F8FE, "M", [0x6C67]], - [0x2F8FF, "M", [0x6D16]], - [0x2F900, "M", [0x6D3E]], - [0x2F901, "M", [0x6D77]], - [0x2F902, "M", [0x6D41]], - [0x2F903, "M", [0x6D69]], - [0x2F904, "M", [0x6D78]], - [0x2F905, "M", [0x6D85]], - [0x2F906, "M", [0x23D1E]], - [0x2F907, "M", [0x6D34]], - [0x2F908, "M", [0x6E2F]], - [0x2F909, "M", [0x6E6E]], - [0x2F90A, "M", [0x3D33]], - [0x2F90B, "M", [0x6ECB]], - [0x2F90C, "M", [0x6EC7]], - [0x2F90D, "M", [0x23ED1]], - [0x2F90E, "M", [0x6DF9]], - [0x2F90F, "M", [0x6F6E]], - [0x2F910, "M", [0x23F5E]], - [0x2F911, "M", [0x23F8E]], - [0x2F912, "M", [0x6FC6]], - [0x2F913, "M", [0x7039]], - [0x2F914, "M", [0x701E]], - [0x2F915, "M", [0x701B]], - [0x2F916, "M", [0x3D96]], - [0x2F917, "M", [0x704A]], - [0x2F918, "M", [0x707D]], - [0x2F919, "M", [0x7077]], - [0x2F91A, "M", [0x70AD]], - [0x2F91B, "M", [0x20525]], - [0x2F91C, "M", [0x7145]], - [0x2F91D, "M", [0x24263]], - [0x2F91E, "M", [0x719C]], - [0x2F91F, "X"], - [0x2F920, "M", [0x7228]], - [0x2F921, "M", [0x7235]], - [0x2F922, "M", [0x7250]], - [0x2F923, "M", [0x24608]], - [0x2F924, "M", [0x7280]], - [0x2F925, "M", [0x7295]], - [0x2F926, "M", [0x24735]], - [0x2F927, "M", [0x24814]], - [0x2F928, "M", [0x737A]], - [0x2F929, "M", [0x738B]], - [0x2F92A, "M", [0x3EAC]], - [0x2F92B, "M", [0x73A5]], - [0x2F92C, "M", [0x3EB8]], - [0x2F92E, "M", [0x7447]], - [0x2F92F, "M", [0x745C]], - [0x2F930, "M", [0x7471]], - [0x2F931, "M", [0x7485]], - [0x2F932, "M", [0x74CA]], - [0x2F933, "M", [0x3F1B]], - [0x2F934, "M", [0x7524]], - [0x2F935, "M", [0x24C36]], - [0x2F936, "M", [0x753E]], - [0x2F937, "M", [0x24C92]], - [0x2F938, "M", [0x7570]], - [0x2F939, "M", [0x2219F]], - [0x2F93A, "M", [0x7610]], - [0x2F93B, "M", [0x24FA1]], - [0x2F93C, "M", [0x24FB8]], - [0x2F93D, "M", [0x25044]], - [0x2F93E, "M", [0x3FFC]], - [0x2F93F, "M", [0x4008]], - [0x2F940, "M", [0x76F4]], - [0x2F941, "M", [0x250F3]], - [0x2F942, "M", [0x250F2]], - [0x2F943, "M", [0x25119]], - [0x2F944, "M", [0x25133]], - [0x2F945, "M", [0x771E]], - [0x2F946, "M", [0x771F]], - [0x2F948, "M", [0x774A]], - [0x2F949, "M", [0x4039]], - [0x2F94A, "M", [0x778B]], - [0x2F94B, "M", [0x4046]], - [0x2F94C, "M", [0x4096]], - [0x2F94D, "M", [0x2541D]], - [0x2F94E, "M", [0x784E]], - [0x2F94F, "M", [0x788C]], - [0x2F950, "M", [0x78CC]], - [0x2F951, "M", [0x40E3]], - [0x2F952, "M", [0x25626]], - [0x2F953, "M", [0x7956]], - [0x2F954, "M", [0x2569A]], - [0x2F955, "M", [0x256C5]], - [0x2F956, "M", [0x798F]], - [0x2F957, "M", [0x79EB]], - [0x2F958, "M", [0x412F]], - [0x2F959, "M", [0x7A40]], - [0x2F95A, "M", [0x7A4A]], - [0x2F95B, "M", [0x7A4F]], - [0x2F95C, "M", [0x2597C]], - [0x2F95D, "M", [0x25AA7]], - [0x2F95F, "X"], - [0x2F960, "M", [0x4202]], - [0x2F961, "M", [0x25BAB]], - [0x2F962, "M", [0x7BC6]], - [0x2F963, "M", [0x7BC9]], - [0x2F964, "M", [0x4227]], - [0x2F965, "M", [0x25C80]], - [0x2F966, "M", [0x7CD2]], - [0x2F967, "M", [0x42A0]], - [0x2F968, "M", [0x7CE8]], - [0x2F969, "M", [0x7CE3]], - [0x2F96A, "M", [0x7D00]], - [0x2F96B, "M", [0x25F86]], - [0x2F96C, "M", [0x7D63]], - [0x2F96D, "M", [0x4301]], - [0x2F96E, "M", [0x7DC7]], - [0x2F96F, "M", [0x7E02]], - [0x2F970, "M", [0x7E45]], - [0x2F971, "M", [0x4334]], - [0x2F972, "M", [0x26228]], - [0x2F973, "M", [0x26247]], - [0x2F974, "M", [0x4359]], - [0x2F975, "M", [0x262D9]], - [0x2F976, "M", [0x7F7A]], - [0x2F977, "M", [0x2633E]], - [0x2F978, "M", [0x7F95]], - [0x2F979, "M", [0x7FFA]], - [0x2F97A, "M", [0x8005]], - [0x2F97B, "M", [0x264DA]], - [0x2F97C, "M", [0x26523]], - [0x2F97D, "M", [0x8060]], - [0x2F97E, "M", [0x265A8]], - [0x2F97F, "M", [0x8070]], - [0x2F980, "M", [0x2335F]], - [0x2F981, "M", [0x43D5]], - [0x2F982, "M", [0x80B2]], - [0x2F983, "M", [0x8103]], - [0x2F984, "M", [0x440B]], - [0x2F985, "M", [0x813E]], - [0x2F986, "M", [0x5AB5]], - [0x2F987, "M", [0x267A7]], - [0x2F988, "M", [0x267B5]], - [0x2F989, "M", [0x23393]], - [0x2F98A, "M", [0x2339C]], - [0x2F98B, "M", [0x8201]], - [0x2F98C, "M", [0x8204]], - [0x2F98D, "M", [0x8F9E]], - [0x2F98E, "M", [0x446B]], - [0x2F98F, "M", [0x8291]], - [0x2F990, "M", [0x828B]], - [0x2F991, "M", [0x829D]], - [0x2F992, "M", [0x52B3]], - [0x2F993, "M", [0x82B1]], - [0x2F994, "M", [0x82B3]], - [0x2F995, "M", [0x82BD]], - [0x2F996, "M", [0x82E6]], - [0x2F997, "M", [0x26B3C]], - [0x2F998, "M", [0x82E5]], - [0x2F999, "M", [0x831D]], - [0x2F99A, "M", [0x8363]], - [0x2F99B, "M", [0x83AD]], - [0x2F99C, "M", [0x8323]], - [0x2F99D, "M", [0x83BD]], - [0x2F99E, "M", [0x83E7]], - [0x2F99F, "M", [0x8457]], - [0x2F9A0, "M", [0x8353]], - [0x2F9A1, "M", [0x83CA]], - [0x2F9A2, "M", [0x83CC]], - [0x2F9A3, "M", [0x83DC]], - [0x2F9A4, "M", [0x26C36]], - [0x2F9A5, "M", [0x26D6B]], - [0x2F9A6, "M", [0x26CD5]], - [0x2F9A7, "M", [0x452B]], - [0x2F9A8, "M", [0x84F1]], - [0x2F9A9, "M", [0x84F3]], - [0x2F9AA, "M", [0x8516]], - [0x2F9AB, "M", [0x273CA]], - [0x2F9AC, "M", [0x8564]], - [0x2F9AD, "M", [0x26F2C]], - [0x2F9AE, "M", [0x455D]], - [0x2F9AF, "M", [0x4561]], - [0x2F9B0, "M", [0x26FB1]], - [0x2F9B1, "M", [0x270D2]], - [0x2F9B2, "M", [0x456B]], - [0x2F9B3, "M", [0x8650]], - [0x2F9B4, "M", [0x865C]], - [0x2F9B5, "M", [0x8667]], - [0x2F9B6, "M", [0x8669]], - [0x2F9B7, "M", [0x86A9]], - [0x2F9B8, "M", [0x8688]], - [0x2F9B9, "M", [0x870E]], - [0x2F9BA, "M", [0x86E2]], - [0x2F9BB, "M", [0x8779]], - [0x2F9BC, "M", [0x8728]], - [0x2F9BD, "M", [0x876B]], - [0x2F9BE, "M", [0x8786]], - [0x2F9BF, "X"], - [0x2F9C0, "M", [0x87E1]], - [0x2F9C1, "M", [0x8801]], - [0x2F9C2, "M", [0x45F9]], - [0x2F9C3, "M", [0x8860]], - [0x2F9C4, "M", [0x8863]], - [0x2F9C5, "M", [0x27667]], - [0x2F9C6, "M", [0x88D7]], - [0x2F9C7, "M", [0x88DE]], - [0x2F9C8, "M", [0x4635]], - [0x2F9C9, "M", [0x88FA]], - [0x2F9CA, "M", [0x34BB]], - [0x2F9CB, "M", [0x278AE]], - [0x2F9CC, "M", [0x27966]], - [0x2F9CD, "M", [0x46BE]], - [0x2F9CE, "M", [0x46C7]], - [0x2F9CF, "M", [0x8AA0]], - [0x2F9D0, "M", [0x8AED]], - [0x2F9D1, "M", [0x8B8A]], - [0x2F9D2, "M", [0x8C55]], - [0x2F9D3, "M", [0x27CA8]], - [0x2F9D4, "M", [0x8CAB]], - [0x2F9D5, "M", [0x8CC1]], - [0x2F9D6, "M", [0x8D1B]], - [0x2F9D7, "M", [0x8D77]], - [0x2F9D8, "M", [0x27F2F]], - [0x2F9D9, "M", [0x20804]], - [0x2F9DA, "M", [0x8DCB]], - [0x2F9DB, "M", [0x8DBC]], - [0x2F9DC, "M", [0x8DF0]], - [0x2F9DD, "M", [0x208DE]], - [0x2F9DE, "M", [0x8ED4]], - [0x2F9DF, "M", [0x8F38]], - [0x2F9E0, "M", [0x285D2]], - [0x2F9E1, "M", [0x285ED]], - [0x2F9E2, "M", [0x9094]], - [0x2F9E3, "M", [0x90F1]], - [0x2F9E4, "M", [0x9111]], - [0x2F9E5, "M", [0x2872E]], - [0x2F9E6, "M", [0x911B]], - [0x2F9E7, "M", [0x9238]], - [0x2F9E8, "M", [0x92D7]], - [0x2F9E9, "M", [0x92D8]], - [0x2F9EA, "M", [0x927C]], - [0x2F9EB, "M", [0x93F9]], - [0x2F9EC, "M", [0x9415]], - [0x2F9ED, "M", [0x28BFA]], - [0x2F9EE, "M", [0x958B]], - [0x2F9EF, "M", [0x4995]], - [0x2F9F0, "M", [0x95B7]], - [0x2F9F1, "M", [0x28D77]], - [0x2F9F2, "M", [0x49E6]], - [0x2F9F3, "M", [0x96C3]], - [0x2F9F4, "M", [0x5DB2]], - [0x2F9F5, "M", [0x9723]], - [0x2F9F6, "M", [0x29145]], - [0x2F9F7, "M", [0x2921A]], - [0x2F9F8, "M", [0x4A6E]], - [0x2F9F9, "M", [0x4A76]], - [0x2F9FA, "M", [0x97E0]], - [0x2F9FB, "M", [0x2940A]], - [0x2F9FC, "M", [0x4AB2]], - [0x2F9FD, "M", [0x29496]], - [0x2F9FE, "M", [0x980B]], - [0x2FA00, "M", [0x9829]], - [0x2FA01, "M", [0x295B6]], - [0x2FA02, "M", [0x98E2]], - [0x2FA03, "M", [0x4B33]], - [0x2FA04, "M", [0x9929]], - [0x2FA05, "M", [0x99A7]], - [0x2FA06, "M", [0x99C2]], - [0x2FA07, "M", [0x99FE]], - [0x2FA08, "M", [0x4BCE]], - [0x2FA09, "M", [0x29B30]], - [0x2FA0A, "M", [0x9B12]], - [0x2FA0B, "M", [0x9C40]], - [0x2FA0C, "M", [0x9CFD]], - [0x2FA0D, "M", [0x4CCE]], - [0x2FA0E, "M", [0x4CED]], - [0x2FA0F, "M", [0x9D67]], - [0x2FA10, "M", [0x2A0CE]], - [0x2FA11, "M", [0x4CF8]], - [0x2FA12, "M", [0x2A105]], - [0x2FA13, "M", [0x2A20E]], - [0x2FA14, "M", [0x2A291]], - [0x2FA15, "M", [0x9EBB]], - [0x2FA16, "M", [0x4D56]], - [0x2FA17, "M", [0x9EF9]], - [0x2FA18, "M", [0x9EFE]], - [0x2FA19, "M", [0x9F05]], - [0x2FA1A, "M", [0x9F0F]], - [0x2FA1B, "M", [0x9F16]], - [0x2FA1C, "M", [0x9F3B]], - [0x2FA1D, "M", [0x2A600]], - [0x2FA1E, "X"], - [0x30000, "V"], - [0x3134B, "X"], - [0x31350, "V"], - [0x323B0, "X"], - [0xE0100, "I"], - [0xE01F0, "X"], - ].freeze + REPLACEMENTS = { + "A" => "a", + "B" => "b", + "C" => "c", + "D" => "d", + "E" => "e", + "F" => "f", + "G" => "g", + "H" => "h", + "I" => "i", + "J" => "j", + "K" => "k", + "L" => "l", + "M" => "m", + "N" => "n", + "O" => "o", + "P" => "p", + "Q" => "q", + "R" => "r", + "S" => "s", + "T" => "t", + "U" => "u", + "V" => "v", + "W" => "w", + "X" => "x", + "Y" => "y", + "Z" => "z", + "\u00A0" => " ", + "\u00A8" => " \u0308", + "\u00AA" => "a", + "\u00AF" => " \u0304", + "\u00B2" => "2", + "\u00B3" => "3", + "\u00B4" => " \u0301", + "\u00B5" => "\u03BC", + "\u00B8" => " \u0327", + "\u00B9" => "1", + "\u00BA" => "o", + "\u00BC" => "1\u20444", + "\u00BD" => "1\u20442", + "\u00BE" => "3\u20444", + "\u00C0" => "\u00E0", + "\u00C1" => "\u00E1", + "\u00C2" => "\u00E2", + "\u00C3" => "\u00E3", + "\u00C4" => "\u00E4", + "\u00C5" => "\u00E5", + "\u00C6" => "\u00E6", + "\u00C7" => "\u00E7", + "\u00C8" => "\u00E8", + "\u00C9" => "\u00E9", + "\u00CA" => "\u00EA", + "\u00CB" => "\u00EB", + "\u00CC" => "\u00EC", + "\u00CD" => "\u00ED", + "\u00CE" => "\u00EE", + "\u00CF" => "\u00EF", + "\u00D0" => "\u00F0", + "\u00D1" => "\u00F1", + "\u00D2" => "\u00F2", + "\u00D3" => "\u00F3", + "\u00D4" => "\u00F4", + "\u00D5" => "\u00F5", + "\u00D6" => "\u00F6", + "\u00D8" => "\u00F8", + "\u00D9" => "\u00F9", + "\u00DA" => "\u00FA", + "\u00DB" => "\u00FB", + "\u00DC" => "\u00FC", + "\u00DD" => "\u00FD", + "\u00DE" => "\u00FE", + "\u00DF" => "ss", + "\u0100" => "\u0101", + "\u0102" => "\u0103", + "\u0104" => "\u0105", + "\u0106" => "\u0107", + "\u0108" => "\u0109", + "\u010A" => "\u010B", + "\u010C" => "\u010D", + "\u010E" => "\u010F", + "\u0110" => "\u0111", + "\u0112" => "\u0113", + "\u0114" => "\u0115", + "\u0116" => "\u0117", + "\u0118" => "\u0119", + "\u011A" => "\u011B", + "\u011C" => "\u011D", + "\u011E" => "\u011F", + "\u0120" => "\u0121", + "\u0122" => "\u0123", + "\u0124" => "\u0125", + "\u0126" => "\u0127", + "\u0128" => "\u0129", + "\u012A" => "\u012B", + "\u012C" => "\u012D", + "\u012E" => "\u012F", + "\u0130" => "i\u0307", + "\u0132" => "ij", + "\u0133" => "ij", + "\u0134" => "\u0135", + "\u0136" => "\u0137", + "\u0139" => "\u013A", + "\u013B" => "\u013C", + "\u013D" => "\u013E", + "\u013F" => "l\u00B7", + "\u0140" => "l\u00B7", + "\u0141" => "\u0142", + "\u0143" => "\u0144", + "\u0145" => "\u0146", + "\u0147" => "\u0148", + "\u0149" => "\u02BCn", + "\u014A" => "\u014B", + "\u014C" => "\u014D", + "\u014E" => "\u014F", + "\u0150" => "\u0151", + "\u0152" => "\u0153", + "\u0154" => "\u0155", + "\u0156" => "\u0157", + "\u0158" => "\u0159", + "\u015A" => "\u015B", + "\u015C" => "\u015D", + "\u015E" => "\u015F", + "\u0160" => "\u0161", + "\u0162" => "\u0163", + "\u0164" => "\u0165", + "\u0166" => "\u0167", + "\u0168" => "\u0169", + "\u016A" => "\u016B", + "\u016C" => "\u016D", + "\u016E" => "\u016F", + "\u0170" => "\u0171", + "\u0172" => "\u0173", + "\u0174" => "\u0175", + "\u0176" => "\u0177", + "\u0178" => "\u00FF", + "\u0179" => "\u017A", + "\u017B" => "\u017C", + "\u017D" => "\u017E", + "\u017F" => "s", + "\u0181" => "\u0253", + "\u0182" => "\u0183", + "\u0184" => "\u0185", + "\u0186" => "\u0254", + "\u0187" => "\u0188", + "\u0189" => "\u0256", + "\u018A" => "\u0257", + "\u018B" => "\u018C", + "\u018E" => "\u01DD", + "\u018F" => "\u0259", + "\u0190" => "\u025B", + "\u0191" => "\u0192", + "\u0193" => "\u0260", + "\u0194" => "\u0263", + "\u0196" => "\u0269", + "\u0197" => "\u0268", + "\u0198" => "\u0199", + "\u019C" => "\u026F", + "\u019D" => "\u0272", + "\u019F" => "\u0275", + "\u01A0" => "\u01A1", + "\u01A2" => "\u01A3", + "\u01A4" => "\u01A5", + "\u01A6" => "\u0280", + "\u01A7" => "\u01A8", + "\u01A9" => "\u0283", + "\u01AC" => "\u01AD", + "\u01AE" => "\u0288", + "\u01AF" => "\u01B0", + "\u01B1" => "\u028A", + "\u01B2" => "\u028B", + "\u01B3" => "\u01B4", + "\u01B5" => "\u01B6", + "\u01B7" => "\u0292", + "\u01B8" => "\u01B9", + "\u01BC" => "\u01BD", + "\u01C4" => "d\u017E", + "\u01C5" => "d\u017E", + "\u01C6" => "d\u017E", + "\u01C7" => "lj", + "\u01C8" => "lj", + "\u01C9" => "lj", + "\u01CA" => "nj", + "\u01CB" => "nj", + "\u01CC" => "nj", + "\u01CD" => "\u01CE", + "\u01CF" => "\u01D0", + "\u01D1" => "\u01D2", + "\u01D3" => "\u01D4", + "\u01D5" => "\u01D6", + "\u01D7" => "\u01D8", + "\u01D9" => "\u01DA", + "\u01DB" => "\u01DC", + "\u01DE" => "\u01DF", + "\u01E0" => "\u01E1", + "\u01E2" => "\u01E3", + "\u01E4" => "\u01E5", + "\u01E6" => "\u01E7", + "\u01E8" => "\u01E9", + "\u01EA" => "\u01EB", + "\u01EC" => "\u01ED", + "\u01EE" => "\u01EF", + "\u01F1" => "dz", + "\u01F2" => "dz", + "\u01F3" => "dz", + "\u01F4" => "\u01F5", + "\u01F6" => "\u0195", + "\u01F7" => "\u01BF", + "\u01F8" => "\u01F9", + "\u01FA" => "\u01FB", + "\u01FC" => "\u01FD", + "\u01FE" => "\u01FF", + "\u0200" => "\u0201", + "\u0202" => "\u0203", + "\u0204" => "\u0205", + "\u0206" => "\u0207", + "\u0208" => "\u0209", + "\u020A" => "\u020B", + "\u020C" => "\u020D", + "\u020E" => "\u020F", + "\u0210" => "\u0211", + "\u0212" => "\u0213", + "\u0214" => "\u0215", + "\u0216" => "\u0217", + "\u0218" => "\u0219", + "\u021A" => "\u021B", + "\u021C" => "\u021D", + "\u021E" => "\u021F", + "\u0220" => "\u019E", + "\u0222" => "\u0223", + "\u0224" => "\u0225", + "\u0226" => "\u0227", + "\u0228" => "\u0229", + "\u022A" => "\u022B", + "\u022C" => "\u022D", + "\u022E" => "\u022F", + "\u0230" => "\u0231", + "\u0232" => "\u0233", + "\u023A" => "\u2C65", + "\u023B" => "\u023C", + "\u023D" => "\u019A", + "\u023E" => "\u2C66", + "\u0241" => "\u0242", + "\u0243" => "\u0180", + "\u0244" => "\u0289", + "\u0245" => "\u028C", + "\u0246" => "\u0247", + "\u0248" => "\u0249", + "\u024A" => "\u024B", + "\u024C" => "\u024D", + "\u024E" => "\u024F", + "\u02B0" => "h", + "\u02B1" => "\u0266", + "\u02B2" => "j", + "\u02B3" => "r", + "\u02B4" => "\u0279", + "\u02B5" => "\u027B", + "\u02B6" => "\u0281", + "\u02B7" => "w", + "\u02B8" => "y", + "\u02D8" => " \u0306", + "\u02D9" => " \u0307", + "\u02DA" => " \u030A", + "\u02DB" => " \u0328", + "\u02DC" => " \u0303", + "\u02DD" => " \u030B", + "\u02E0" => "\u0263", + "\u02E1" => "l", + "\u02E2" => "s", + "\u02E3" => "x", + "\u02E4" => "\u0295", + "\u0340" => "\u0300", + "\u0341" => "\u0301", + "\u0343" => "\u0313", + "\u0344" => "\u0308\u0301", + "\u0345" => "\u03B9", + "\u0370" => "\u0371", + "\u0372" => "\u0373", + "\u0374" => "\u02B9", + "\u0376" => "\u0377", + "\u037A" => " \u03B9", + "\u037E" => ";", + "\u037F" => "\u03F3", + "\u0384" => " \u0301", + "\u0385" => " \u0308\u0301", + "\u0386" => "\u03AC", + "\u0387" => "\u00B7", + "\u0388" => "\u03AD", + "\u0389" => "\u03AE", + "\u038A" => "\u03AF", + "\u038C" => "\u03CC", + "\u038E" => "\u03CD", + "\u038F" => "\u03CE", + "\u0391" => "\u03B1", + "\u0392" => "\u03B2", + "\u0393" => "\u03B3", + "\u0394" => "\u03B4", + "\u0395" => "\u03B5", + "\u0396" => "\u03B6", + "\u0397" => "\u03B7", + "\u0398" => "\u03B8", + "\u0399" => "\u03B9", + "\u039A" => "\u03BA", + "\u039B" => "\u03BB", + "\u039C" => "\u03BC", + "\u039D" => "\u03BD", + "\u039E" => "\u03BE", + "\u039F" => "\u03BF", + "\u03A0" => "\u03C0", + "\u03A1" => "\u03C1", + "\u03A3" => "\u03C3", + "\u03A4" => "\u03C4", + "\u03A5" => "\u03C5", + "\u03A6" => "\u03C6", + "\u03A7" => "\u03C7", + "\u03A8" => "\u03C8", + "\u03A9" => "\u03C9", + "\u03AA" => "\u03CA", + "\u03AB" => "\u03CB", + "\u03C2" => "\u03C3", + "\u03CF" => "\u03D7", + "\u03D0" => "\u03B2", + "\u03D1" => "\u03B8", + "\u03D2" => "\u03C5", + "\u03D3" => "\u03CD", + "\u03D4" => "\u03CB", + "\u03D5" => "\u03C6", + "\u03D6" => "\u03C0", + "\u03D8" => "\u03D9", + "\u03DA" => "\u03DB", + "\u03DC" => "\u03DD", + "\u03DE" => "\u03DF", + "\u03E0" => "\u03E1", + "\u03E2" => "\u03E3", + "\u03E4" => "\u03E5", + "\u03E6" => "\u03E7", + "\u03E8" => "\u03E9", + "\u03EA" => "\u03EB", + "\u03EC" => "\u03ED", + "\u03EE" => "\u03EF", + "\u03F0" => "\u03BA", + "\u03F1" => "\u03C1", + "\u03F2" => "\u03C3", + "\u03F4" => "\u03B8", + "\u03F5" => "\u03B5", + "\u03F7" => "\u03F8", + "\u03F9" => "\u03C3", + "\u03FA" => "\u03FB", + "\u03FD" => "\u037B", + "\u03FE" => "\u037C", + "\u03FF" => "\u037D", + "\u0400" => "\u0450", + "\u0401" => "\u0451", + "\u0402" => "\u0452", + "\u0403" => "\u0453", + "\u0404" => "\u0454", + "\u0405" => "\u0455", + "\u0406" => "\u0456", + "\u0407" => "\u0457", + "\u0408" => "\u0458", + "\u0409" => "\u0459", + "\u040A" => "\u045A", + "\u040B" => "\u045B", + "\u040C" => "\u045C", + "\u040D" => "\u045D", + "\u040E" => "\u045E", + "\u040F" => "\u045F", + "\u0410" => "\u0430", + "\u0411" => "\u0431", + "\u0412" => "\u0432", + "\u0413" => "\u0433", + "\u0414" => "\u0434", + "\u0415" => "\u0435", + "\u0416" => "\u0436", + "\u0417" => "\u0437", + "\u0418" => "\u0438", + "\u0419" => "\u0439", + "\u041A" => "\u043A", + "\u041B" => "\u043B", + "\u041C" => "\u043C", + "\u041D" => "\u043D", + "\u041E" => "\u043E", + "\u041F" => "\u043F", + "\u0420" => "\u0440", + "\u0421" => "\u0441", + "\u0422" => "\u0442", + "\u0423" => "\u0443", + "\u0424" => "\u0444", + "\u0425" => "\u0445", + "\u0426" => "\u0446", + "\u0427" => "\u0447", + "\u0428" => "\u0448", + "\u0429" => "\u0449", + "\u042A" => "\u044A", + "\u042B" => "\u044B", + "\u042C" => "\u044C", + "\u042D" => "\u044D", + "\u042E" => "\u044E", + "\u042F" => "\u044F", + "\u0460" => "\u0461", + "\u0462" => "\u0463", + "\u0464" => "\u0465", + "\u0466" => "\u0467", + "\u0468" => "\u0469", + "\u046A" => "\u046B", + "\u046C" => "\u046D", + "\u046E" => "\u046F", + "\u0470" => "\u0471", + "\u0472" => "\u0473", + "\u0474" => "\u0475", + "\u0476" => "\u0477", + "\u0478" => "\u0479", + "\u047A" => "\u047B", + "\u047C" => "\u047D", + "\u047E" => "\u047F", + "\u0480" => "\u0481", + "\u048A" => "\u048B", + "\u048C" => "\u048D", + "\u048E" => "\u048F", + "\u0490" => "\u0491", + "\u0492" => "\u0493", + "\u0494" => "\u0495", + "\u0496" => "\u0497", + "\u0498" => "\u0499", + "\u049A" => "\u049B", + "\u049C" => "\u049D", + "\u049E" => "\u049F", + "\u04A0" => "\u04A1", + "\u04A2" => "\u04A3", + "\u04A4" => "\u04A5", + "\u04A6" => "\u04A7", + "\u04A8" => "\u04A9", + "\u04AA" => "\u04AB", + "\u04AC" => "\u04AD", + "\u04AE" => "\u04AF", + "\u04B0" => "\u04B1", + "\u04B2" => "\u04B3", + "\u04B4" => "\u04B5", + "\u04B6" => "\u04B7", + "\u04B8" => "\u04B9", + "\u04BA" => "\u04BB", + "\u04BC" => "\u04BD", + "\u04BE" => "\u04BF", + "\u04C1" => "\u04C2", + "\u04C3" => "\u04C4", + "\u04C5" => "\u04C6", + "\u04C7" => "\u04C8", + "\u04C9" => "\u04CA", + "\u04CB" => "\u04CC", + "\u04CD" => "\u04CE", + "\u04D0" => "\u04D1", + "\u04D2" => "\u04D3", + "\u04D4" => "\u04D5", + "\u04D6" => "\u04D7", + "\u04D8" => "\u04D9", + "\u04DA" => "\u04DB", + "\u04DC" => "\u04DD", + "\u04DE" => "\u04DF", + "\u04E0" => "\u04E1", + "\u04E2" => "\u04E3", + "\u04E4" => "\u04E5", + "\u04E6" => "\u04E7", + "\u04E8" => "\u04E9", + "\u04EA" => "\u04EB", + "\u04EC" => "\u04ED", + "\u04EE" => "\u04EF", + "\u04F0" => "\u04F1", + "\u04F2" => "\u04F3", + "\u04F4" => "\u04F5", + "\u04F6" => "\u04F7", + "\u04F8" => "\u04F9", + "\u04FA" => "\u04FB", + "\u04FC" => "\u04FD", + "\u04FE" => "\u04FF", + "\u0500" => "\u0501", + "\u0502" => "\u0503", + "\u0504" => "\u0505", + "\u0506" => "\u0507", + "\u0508" => "\u0509", + "\u050A" => "\u050B", + "\u050C" => "\u050D", + "\u050E" => "\u050F", + "\u0510" => "\u0511", + "\u0512" => "\u0513", + "\u0514" => "\u0515", + "\u0516" => "\u0517", + "\u0518" => "\u0519", + "\u051A" => "\u051B", + "\u051C" => "\u051D", + "\u051E" => "\u051F", + "\u0520" => "\u0521", + "\u0522" => "\u0523", + "\u0524" => "\u0525", + "\u0526" => "\u0527", + "\u0528" => "\u0529", + "\u052A" => "\u052B", + "\u052C" => "\u052D", + "\u052E" => "\u052F", + "\u0531" => "\u0561", + "\u0532" => "\u0562", + "\u0533" => "\u0563", + "\u0534" => "\u0564", + "\u0535" => "\u0565", + "\u0536" => "\u0566", + "\u0537" => "\u0567", + "\u0538" => "\u0568", + "\u0539" => "\u0569", + "\u053A" => "\u056A", + "\u053B" => "\u056B", + "\u053C" => "\u056C", + "\u053D" => "\u056D", + "\u053E" => "\u056E", + "\u053F" => "\u056F", + "\u0540" => "\u0570", + "\u0541" => "\u0571", + "\u0542" => "\u0572", + "\u0543" => "\u0573", + "\u0544" => "\u0574", + "\u0545" => "\u0575", + "\u0546" => "\u0576", + "\u0547" => "\u0577", + "\u0548" => "\u0578", + "\u0549" => "\u0579", + "\u054A" => "\u057A", + "\u054B" => "\u057B", + "\u054C" => "\u057C", + "\u054D" => "\u057D", + "\u054E" => "\u057E", + "\u054F" => "\u057F", + "\u0550" => "\u0580", + "\u0551" => "\u0581", + "\u0552" => "\u0582", + "\u0553" => "\u0583", + "\u0554" => "\u0584", + "\u0555" => "\u0585", + "\u0556" => "\u0586", + "\u0587" => "\u0565\u0582", + "\u0675" => "\u0627\u0674", + "\u0676" => "\u0648\u0674", + "\u0677" => "\u06C7\u0674", + "\u0678" => "\u064A\u0674", + "\u0958" => "\u0915\u093C", + "\u0959" => "\u0916\u093C", + "\u095A" => "\u0917\u093C", + "\u095B" => "\u091C\u093C", + "\u095C" => "\u0921\u093C", + "\u095D" => "\u0922\u093C", + "\u095E" => "\u092B\u093C", + "\u095F" => "\u092F\u093C", + "\u09DC" => "\u09A1\u09BC", + "\u09DD" => "\u09A2\u09BC", + "\u09DF" => "\u09AF\u09BC", + "\u0A33" => "\u0A32\u0A3C", + "\u0A36" => "\u0A38\u0A3C", + "\u0A59" => "\u0A16\u0A3C", + "\u0A5A" => "\u0A17\u0A3C", + "\u0A5B" => "\u0A1C\u0A3C", + "\u0A5E" => "\u0A2B\u0A3C", + "\u0B5C" => "\u0B21\u0B3C", + "\u0B5D" => "\u0B22\u0B3C", + "\u0E33" => "\u0E4D\u0E32", + "\u0EB3" => "\u0ECD\u0EB2", + "\u0EDC" => "\u0EAB\u0E99", + "\u0EDD" => "\u0EAB\u0EA1", + "\u0F0C" => "\u0F0B", + "\u0F43" => "\u0F42\u0FB7", + "\u0F4D" => "\u0F4C\u0FB7", + "\u0F52" => "\u0F51\u0FB7", + "\u0F57" => "\u0F56\u0FB7", + "\u0F5C" => "\u0F5B\u0FB7", + "\u0F69" => "\u0F40\u0FB5", + "\u0F73" => "\u0F71\u0F72", + "\u0F75" => "\u0F71\u0F74", + "\u0F76" => "\u0FB2\u0F80", + "\u0F77" => "\u0FB2\u0F71\u0F80", + "\u0F78" => "\u0FB3\u0F80", + "\u0F79" => "\u0FB3\u0F71\u0F80", + "\u0F81" => "\u0F71\u0F80", + "\u0F93" => "\u0F92\u0FB7", + "\u0F9D" => "\u0F9C\u0FB7", + "\u0FA2" => "\u0FA1\u0FB7", + "\u0FA7" => "\u0FA6\u0FB7", + "\u0FAC" => "\u0FAB\u0FB7", + "\u0FB9" => "\u0F90\u0FB5", + "\u10C7" => "\u2D27", + "\u10CD" => "\u2D2D", + "\u10FC" => "\u10DC", + "\u13F8" => "\u13F0", + "\u13F9" => "\u13F1", + "\u13FA" => "\u13F2", + "\u13FB" => "\u13F3", + "\u13FC" => "\u13F4", + "\u13FD" => "\u13F5", + "\u1C80" => "\u0432", + "\u1C81" => "\u0434", + "\u1C82" => "\u043E", + "\u1C83" => "\u0441", + "\u1C84" => "\u0442", + "\u1C85" => "\u0442", + "\u1C86" => "\u044A", + "\u1C87" => "\u0463", + "\u1C88" => "\uA64B", + "\u1C90" => "\u10D0", + "\u1C91" => "\u10D1", + "\u1C92" => "\u10D2", + "\u1C93" => "\u10D3", + "\u1C94" => "\u10D4", + "\u1C95" => "\u10D5", + "\u1C96" => "\u10D6", + "\u1C97" => "\u10D7", + "\u1C98" => "\u10D8", + "\u1C99" => "\u10D9", + "\u1C9A" => "\u10DA", + "\u1C9B" => "\u10DB", + "\u1C9C" => "\u10DC", + "\u1C9D" => "\u10DD", + "\u1C9E" => "\u10DE", + "\u1C9F" => "\u10DF", + "\u1CA0" => "\u10E0", + "\u1CA1" => "\u10E1", + "\u1CA2" => "\u10E2", + "\u1CA3" => "\u10E3", + "\u1CA4" => "\u10E4", + "\u1CA5" => "\u10E5", + "\u1CA6" => "\u10E6", + "\u1CA7" => "\u10E7", + "\u1CA8" => "\u10E8", + "\u1CA9" => "\u10E9", + "\u1CAA" => "\u10EA", + "\u1CAB" => "\u10EB", + "\u1CAC" => "\u10EC", + "\u1CAD" => "\u10ED", + "\u1CAE" => "\u10EE", + "\u1CAF" => "\u10EF", + "\u1CB0" => "\u10F0", + "\u1CB1" => "\u10F1", + "\u1CB2" => "\u10F2", + "\u1CB3" => "\u10F3", + "\u1CB4" => "\u10F4", + "\u1CB5" => "\u10F5", + "\u1CB6" => "\u10F6", + "\u1CB7" => "\u10F7", + "\u1CB8" => "\u10F8", + "\u1CB9" => "\u10F9", + "\u1CBA" => "\u10FA", + "\u1CBD" => "\u10FD", + "\u1CBE" => "\u10FE", + "\u1CBF" => "\u10FF", + "\u1D2C" => "a", + "\u1D2D" => "\u00E6", + "\u1D2E" => "b", + "\u1D30" => "d", + "\u1D31" => "e", + "\u1D32" => "\u01DD", + "\u1D33" => "g", + "\u1D34" => "h", + "\u1D35" => "i", + "\u1D36" => "j", + "\u1D37" => "k", + "\u1D38" => "l", + "\u1D39" => "m", + "\u1D3A" => "n", + "\u1D3C" => "o", + "\u1D3D" => "\u0223", + "\u1D3E" => "p", + "\u1D3F" => "r", + "\u1D40" => "t", + "\u1D41" => "u", + "\u1D42" => "w", + "\u1D43" => "a", + "\u1D44" => "\u0250", + "\u1D45" => "\u0251", + "\u1D46" => "\u1D02", + "\u1D47" => "b", + "\u1D48" => "d", + "\u1D49" => "e", + "\u1D4A" => "\u0259", + "\u1D4B" => "\u025B", + "\u1D4C" => "\u025C", + "\u1D4D" => "g", + "\u1D4F" => "k", + "\u1D50" => "m", + "\u1D51" => "\u014B", + "\u1D52" => "o", + "\u1D53" => "\u0254", + "\u1D54" => "\u1D16", + "\u1D55" => "\u1D17", + "\u1D56" => "p", + "\u1D57" => "t", + "\u1D58" => "u", + "\u1D59" => "\u1D1D", + "\u1D5A" => "\u026F", + "\u1D5B" => "v", + "\u1D5C" => "\u1D25", + "\u1D5D" => "\u03B2", + "\u1D5E" => "\u03B3", + "\u1D5F" => "\u03B4", + "\u1D60" => "\u03C6", + "\u1D61" => "\u03C7", + "\u1D62" => "i", + "\u1D63" => "r", + "\u1D64" => "u", + "\u1D65" => "v", + "\u1D66" => "\u03B2", + "\u1D67" => "\u03B3", + "\u1D68" => "\u03C1", + "\u1D69" => "\u03C6", + "\u1D6A" => "\u03C7", + "\u1D78" => "\u043D", + "\u1D9B" => "\u0252", + "\u1D9C" => "c", + "\u1D9D" => "\u0255", + "\u1D9E" => "\u00F0", + "\u1D9F" => "\u025C", + "\u1DA0" => "f", + "\u1DA1" => "\u025F", + "\u1DA2" => "\u0261", + "\u1DA3" => "\u0265", + "\u1DA4" => "\u0268", + "\u1DA5" => "\u0269", + "\u1DA6" => "\u026A", + "\u1DA7" => "\u1D7B", + "\u1DA8" => "\u029D", + "\u1DA9" => "\u026D", + "\u1DAA" => "\u1D85", + "\u1DAB" => "\u029F", + "\u1DAC" => "\u0271", + "\u1DAD" => "\u0270", + "\u1DAE" => "\u0272", + "\u1DAF" => "\u0273", + "\u1DB0" => "\u0274", + "\u1DB1" => "\u0275", + "\u1DB2" => "\u0278", + "\u1DB3" => "\u0282", + "\u1DB4" => "\u0283", + "\u1DB5" => "\u01AB", + "\u1DB6" => "\u0289", + "\u1DB7" => "\u028A", + "\u1DB8" => "\u1D1C", + "\u1DB9" => "\u028B", + "\u1DBA" => "\u028C", + "\u1DBB" => "z", + "\u1DBC" => "\u0290", + "\u1DBD" => "\u0291", + "\u1DBE" => "\u0292", + "\u1DBF" => "\u03B8", + "\u1E00" => "\u1E01", + "\u1E02" => "\u1E03", + "\u1E04" => "\u1E05", + "\u1E06" => "\u1E07", + "\u1E08" => "\u1E09", + "\u1E0A" => "\u1E0B", + "\u1E0C" => "\u1E0D", + "\u1E0E" => "\u1E0F", + "\u1E10" => "\u1E11", + "\u1E12" => "\u1E13", + "\u1E14" => "\u1E15", + "\u1E16" => "\u1E17", + "\u1E18" => "\u1E19", + "\u1E1A" => "\u1E1B", + "\u1E1C" => "\u1E1D", + "\u1E1E" => "\u1E1F", + "\u1E20" => "\u1E21", + "\u1E22" => "\u1E23", + "\u1E24" => "\u1E25", + "\u1E26" => "\u1E27", + "\u1E28" => "\u1E29", + "\u1E2A" => "\u1E2B", + "\u1E2C" => "\u1E2D", + "\u1E2E" => "\u1E2F", + "\u1E30" => "\u1E31", + "\u1E32" => "\u1E33", + "\u1E34" => "\u1E35", + "\u1E36" => "\u1E37", + "\u1E38" => "\u1E39", + "\u1E3A" => "\u1E3B", + "\u1E3C" => "\u1E3D", + "\u1E3E" => "\u1E3F", + "\u1E40" => "\u1E41", + "\u1E42" => "\u1E43", + "\u1E44" => "\u1E45", + "\u1E46" => "\u1E47", + "\u1E48" => "\u1E49", + "\u1E4A" => "\u1E4B", + "\u1E4C" => "\u1E4D", + "\u1E4E" => "\u1E4F", + "\u1E50" => "\u1E51", + "\u1E52" => "\u1E53", + "\u1E54" => "\u1E55", + "\u1E56" => "\u1E57", + "\u1E58" => "\u1E59", + "\u1E5A" => "\u1E5B", + "\u1E5C" => "\u1E5D", + "\u1E5E" => "\u1E5F", + "\u1E60" => "\u1E61", + "\u1E62" => "\u1E63", + "\u1E64" => "\u1E65", + "\u1E66" => "\u1E67", + "\u1E68" => "\u1E69", + "\u1E6A" => "\u1E6B", + "\u1E6C" => "\u1E6D", + "\u1E6E" => "\u1E6F", + "\u1E70" => "\u1E71", + "\u1E72" => "\u1E73", + "\u1E74" => "\u1E75", + "\u1E76" => "\u1E77", + "\u1E78" => "\u1E79", + "\u1E7A" => "\u1E7B", + "\u1E7C" => "\u1E7D", + "\u1E7E" => "\u1E7F", + "\u1E80" => "\u1E81", + "\u1E82" => "\u1E83", + "\u1E84" => "\u1E85", + "\u1E86" => "\u1E87", + "\u1E88" => "\u1E89", + "\u1E8A" => "\u1E8B", + "\u1E8C" => "\u1E8D", + "\u1E8E" => "\u1E8F", + "\u1E90" => "\u1E91", + "\u1E92" => "\u1E93", + "\u1E94" => "\u1E95", + "\u1E9A" => "a\u02BE", + "\u1E9B" => "\u1E61", + "\u1E9E" => "\u00DF", + "\u1EA0" => "\u1EA1", + "\u1EA2" => "\u1EA3", + "\u1EA4" => "\u1EA5", + "\u1EA6" => "\u1EA7", + "\u1EA8" => "\u1EA9", + "\u1EAA" => "\u1EAB", + "\u1EAC" => "\u1EAD", + "\u1EAE" => "\u1EAF", + "\u1EB0" => "\u1EB1", + "\u1EB2" => "\u1EB3", + "\u1EB4" => "\u1EB5", + "\u1EB6" => "\u1EB7", + "\u1EB8" => "\u1EB9", + "\u1EBA" => "\u1EBB", + "\u1EBC" => "\u1EBD", + "\u1EBE" => "\u1EBF", + "\u1EC0" => "\u1EC1", + "\u1EC2" => "\u1EC3", + "\u1EC4" => "\u1EC5", + "\u1EC6" => "\u1EC7", + "\u1EC8" => "\u1EC9", + "\u1ECA" => "\u1ECB", + "\u1ECC" => "\u1ECD", + "\u1ECE" => "\u1ECF", + "\u1ED0" => "\u1ED1", + "\u1ED2" => "\u1ED3", + "\u1ED4" => "\u1ED5", + "\u1ED6" => "\u1ED7", + "\u1ED8" => "\u1ED9", + "\u1EDA" => "\u1EDB", + "\u1EDC" => "\u1EDD", + "\u1EDE" => "\u1EDF", + "\u1EE0" => "\u1EE1", + "\u1EE2" => "\u1EE3", + "\u1EE4" => "\u1EE5", + "\u1EE6" => "\u1EE7", + "\u1EE8" => "\u1EE9", + "\u1EEA" => "\u1EEB", + "\u1EEC" => "\u1EED", + "\u1EEE" => "\u1EEF", + "\u1EF0" => "\u1EF1", + "\u1EF2" => "\u1EF3", + "\u1EF4" => "\u1EF5", + "\u1EF6" => "\u1EF7", + "\u1EF8" => "\u1EF9", + "\u1EFA" => "\u1EFB", + "\u1EFC" => "\u1EFD", + "\u1EFE" => "\u1EFF", + "\u1F08" => "\u1F00", + "\u1F09" => "\u1F01", + "\u1F0A" => "\u1F02", + "\u1F0B" => "\u1F03", + "\u1F0C" => "\u1F04", + "\u1F0D" => "\u1F05", + "\u1F0E" => "\u1F06", + "\u1F0F" => "\u1F07", + "\u1F18" => "\u1F10", + "\u1F19" => "\u1F11", + "\u1F1A" => "\u1F12", + "\u1F1B" => "\u1F13", + "\u1F1C" => "\u1F14", + "\u1F1D" => "\u1F15", + "\u1F28" => "\u1F20", + "\u1F29" => "\u1F21", + "\u1F2A" => "\u1F22", + "\u1F2B" => "\u1F23", + "\u1F2C" => "\u1F24", + "\u1F2D" => "\u1F25", + "\u1F2E" => "\u1F26", + "\u1F2F" => "\u1F27", + "\u1F38" => "\u1F30", + "\u1F39" => "\u1F31", + "\u1F3A" => "\u1F32", + "\u1F3B" => "\u1F33", + "\u1F3C" => "\u1F34", + "\u1F3D" => "\u1F35", + "\u1F3E" => "\u1F36", + "\u1F3F" => "\u1F37", + "\u1F48" => "\u1F40", + "\u1F49" => "\u1F41", + "\u1F4A" => "\u1F42", + "\u1F4B" => "\u1F43", + "\u1F4C" => "\u1F44", + "\u1F4D" => "\u1F45", + "\u1F59" => "\u1F51", + "\u1F5B" => "\u1F53", + "\u1F5D" => "\u1F55", + "\u1F5F" => "\u1F57", + "\u1F68" => "\u1F60", + "\u1F69" => "\u1F61", + "\u1F6A" => "\u1F62", + "\u1F6B" => "\u1F63", + "\u1F6C" => "\u1F64", + "\u1F6D" => "\u1F65", + "\u1F6E" => "\u1F66", + "\u1F6F" => "\u1F67", + "\u1F71" => "\u03AC", + "\u1F73" => "\u03AD", + "\u1F75" => "\u03AE", + "\u1F77" => "\u03AF", + "\u1F79" => "\u03CC", + "\u1F7B" => "\u03CD", + "\u1F7D" => "\u03CE", + "\u1F80" => "\u1F00\u03B9", + "\u1F81" => "\u1F01\u03B9", + "\u1F82" => "\u1F02\u03B9", + "\u1F83" => "\u1F03\u03B9", + "\u1F84" => "\u1F04\u03B9", + "\u1F85" => "\u1F05\u03B9", + "\u1F86" => "\u1F06\u03B9", + "\u1F87" => "\u1F07\u03B9", + "\u1F88" => "\u1F00\u03B9", + "\u1F89" => "\u1F01\u03B9", + "\u1F8A" => "\u1F02\u03B9", + "\u1F8B" => "\u1F03\u03B9", + "\u1F8C" => "\u1F04\u03B9", + "\u1F8D" => "\u1F05\u03B9", + "\u1F8E" => "\u1F06\u03B9", + "\u1F8F" => "\u1F07\u03B9", + "\u1F90" => "\u1F20\u03B9", + "\u1F91" => "\u1F21\u03B9", + "\u1F92" => "\u1F22\u03B9", + "\u1F93" => "\u1F23\u03B9", + "\u1F94" => "\u1F24\u03B9", + "\u1F95" => "\u1F25\u03B9", + "\u1F96" => "\u1F26\u03B9", + "\u1F97" => "\u1F27\u03B9", + "\u1F98" => "\u1F20\u03B9", + "\u1F99" => "\u1F21\u03B9", + "\u1F9A" => "\u1F22\u03B9", + "\u1F9B" => "\u1F23\u03B9", + "\u1F9C" => "\u1F24\u03B9", + "\u1F9D" => "\u1F25\u03B9", + "\u1F9E" => "\u1F26\u03B9", + "\u1F9F" => "\u1F27\u03B9", + "\u1FA0" => "\u1F60\u03B9", + "\u1FA1" => "\u1F61\u03B9", + "\u1FA2" => "\u1F62\u03B9", + "\u1FA3" => "\u1F63\u03B9", + "\u1FA4" => "\u1F64\u03B9", + "\u1FA5" => "\u1F65\u03B9", + "\u1FA6" => "\u1F66\u03B9", + "\u1FA7" => "\u1F67\u03B9", + "\u1FA8" => "\u1F60\u03B9", + "\u1FA9" => "\u1F61\u03B9", + "\u1FAA" => "\u1F62\u03B9", + "\u1FAB" => "\u1F63\u03B9", + "\u1FAC" => "\u1F64\u03B9", + "\u1FAD" => "\u1F65\u03B9", + "\u1FAE" => "\u1F66\u03B9", + "\u1FAF" => "\u1F67\u03B9", + "\u1FB2" => "\u1F70\u03B9", + "\u1FB3" => "\u03B1\u03B9", + "\u1FB4" => "\u03AC\u03B9", + "\u1FB7" => "\u1FB6\u03B9", + "\u1FB8" => "\u1FB0", + "\u1FB9" => "\u1FB1", + "\u1FBA" => "\u1F70", + "\u1FBB" => "\u03AC", + "\u1FBC" => "\u03B1\u03B9", + "\u1FBD" => " \u0313", + "\u1FBE" => "\u03B9", + "\u1FBF" => " \u0313", + "\u1FC0" => " \u0342", + "\u1FC1" => " \u0308\u0342", + "\u1FC2" => "\u1F74\u03B9", + "\u1FC3" => "\u03B7\u03B9", + "\u1FC4" => "\u03AE\u03B9", + "\u1FC7" => "\u1FC6\u03B9", + "\u1FC8" => "\u1F72", + "\u1FC9" => "\u03AD", + "\u1FCA" => "\u1F74", + "\u1FCB" => "\u03AE", + "\u1FCC" => "\u03B7\u03B9", + "\u1FCD" => " \u0313\u0300", + "\u1FCE" => " \u0313\u0301", + "\u1FCF" => " \u0313\u0342", + "\u1FD3" => "\u0390", + "\u1FD8" => "\u1FD0", + "\u1FD9" => "\u1FD1", + "\u1FDA" => "\u1F76", + "\u1FDB" => "\u03AF", + "\u1FDD" => " \u0314\u0300", + "\u1FDE" => " \u0314\u0301", + "\u1FDF" => " \u0314\u0342", + "\u1FE3" => "\u03B0", + "\u1FE8" => "\u1FE0", + "\u1FE9" => "\u1FE1", + "\u1FEA" => "\u1F7A", + "\u1FEB" => "\u03CD", + "\u1FEC" => "\u1FE5", + "\u1FED" => " \u0308\u0300", + "\u1FEE" => " \u0308\u0301", + "\u1FEF" => "`", + "\u1FF2" => "\u1F7C\u03B9", + "\u1FF3" => "\u03C9\u03B9", + "\u1FF4" => "\u03CE\u03B9", + "\u1FF7" => "\u1FF6\u03B9", + "\u1FF8" => "\u1F78", + "\u1FF9" => "\u03CC", + "\u1FFA" => "\u1F7C", + "\u1FFB" => "\u03CE", + "\u1FFC" => "\u03C9\u03B9", + "\u1FFD" => " \u0301", + "\u1FFE" => " \u0314", + "\u2000" => " ", + "\u2001" => " ", + "\u2002" => " ", + "\u2003" => " ", + "\u2004" => " ", + "\u2005" => " ", + "\u2006" => " ", + "\u2007" => " ", + "\u2008" => " ", + "\u2009" => " ", + "\u200A" => " ", + "\u200C" => "", + "\u200D" => "", + "\u2011" => "\u2010", + "\u2017" => " \u0333", + "\u202F" => " ", + "\u2033" => "\u2032\u2032", + "\u2034" => "\u2032\u2032\u2032", + "\u2036" => "\u2035\u2035", + "\u2037" => "\u2035\u2035\u2035", + "\u203C" => "!!", + "\u203E" => " \u0305", + "\u2047" => "??", + "\u2048" => "?!", + "\u2049" => "!?", + "\u2057" => "\u2032\u2032\u2032\u2032", + "\u205F" => " ", + "\u2070" => "0", + "\u2071" => "i", + "\u2074" => "4", + "\u2075" => "5", + "\u2076" => "6", + "\u2077" => "7", + "\u2078" => "8", + "\u2079" => "9", + "\u207A" => "+", + "\u207B" => "\u2212", + "\u207C" => "=", + "\u207D" => "(", + "\u207E" => ")", + "\u207F" => "n", + "\u2080" => "0", + "\u2081" => "1", + "\u2082" => "2", + "\u2083" => "3", + "\u2084" => "4", + "\u2085" => "5", + "\u2086" => "6", + "\u2087" => "7", + "\u2088" => "8", + "\u2089" => "9", + "\u208A" => "+", + "\u208B" => "\u2212", + "\u208C" => "=", + "\u208D" => "(", + "\u208E" => ")", + "\u2090" => "a", + "\u2091" => "e", + "\u2092" => "o", + "\u2093" => "x", + "\u2094" => "\u0259", + "\u2095" => "h", + "\u2096" => "k", + "\u2097" => "l", + "\u2098" => "m", + "\u2099" => "n", + "\u209A" => "p", + "\u209B" => "s", + "\u209C" => "t", + "\u20A8" => "rs", + "\u2100" => "a/c", + "\u2101" => "a/s", + "\u2102" => "c", + "\u2103" => "\u00B0c", + "\u2105" => "c/o", + "\u2106" => "c/u", + "\u2107" => "\u025B", + "\u2109" => "\u00B0f", + "\u210A" => "g", + "\u210B" => "h", + "\u210C" => "h", + "\u210D" => "h", + "\u210E" => "h", + "\u210F" => "\u0127", + "\u2110" => "i", + "\u2111" => "i", + "\u2112" => "l", + "\u2113" => "l", + "\u2115" => "n", + "\u2116" => "no", + "\u2119" => "p", + "\u211A" => "q", + "\u211B" => "r", + "\u211C" => "r", + "\u211D" => "r", + "\u2120" => "sm", + "\u2121" => "tel", + "\u2122" => "tm", + "\u2124" => "z", + "\u2126" => "\u03C9", + "\u2128" => "z", + "\u212A" => "k", + "\u212B" => "\u00E5", + "\u212C" => "b", + "\u212D" => "c", + "\u212F" => "e", + "\u2130" => "e", + "\u2131" => "f", + "\u2133" => "m", + "\u2134" => "o", + "\u2135" => "\u05D0", + "\u2136" => "\u05D1", + "\u2137" => "\u05D2", + "\u2138" => "\u05D3", + "\u2139" => "i", + "\u213B" => "fax", + "\u213C" => "\u03C0", + "\u213D" => "\u03B3", + "\u213E" => "\u03B3", + "\u213F" => "\u03C0", + "\u2140" => "\u2211", + "\u2145" => "d", + "\u2146" => "d", + "\u2147" => "e", + "\u2148" => "i", + "\u2149" => "j", + "\u2150" => "1\u20447", + "\u2151" => "1\u20449", + "\u2152" => "1\u204410", + "\u2153" => "1\u20443", + "\u2154" => "2\u20443", + "\u2155" => "1\u20445", + "\u2156" => "2\u20445", + "\u2157" => "3\u20445", + "\u2158" => "4\u20445", + "\u2159" => "1\u20446", + "\u215A" => "5\u20446", + "\u215B" => "1\u20448", + "\u215C" => "3\u20448", + "\u215D" => "5\u20448", + "\u215E" => "7\u20448", + "\u215F" => "1\u2044", + "\u2160" => "i", + "\u2161" => "ii", + "\u2162" => "iii", + "\u2163" => "iv", + "\u2164" => "v", + "\u2165" => "vi", + "\u2166" => "vii", + "\u2167" => "viii", + "\u2168" => "ix", + "\u2169" => "x", + "\u216A" => "xi", + "\u216B" => "xii", + "\u216C" => "l", + "\u216D" => "c", + "\u216E" => "d", + "\u216F" => "m", + "\u2170" => "i", + "\u2171" => "ii", + "\u2172" => "iii", + "\u2173" => "iv", + "\u2174" => "v", + "\u2175" => "vi", + "\u2176" => "vii", + "\u2177" => "viii", + "\u2178" => "ix", + "\u2179" => "x", + "\u217A" => "xi", + "\u217B" => "xii", + "\u217C" => "l", + "\u217D" => "c", + "\u217E" => "d", + "\u217F" => "m", + "\u2189" => "0\u20443", + "\u222C" => "\u222B\u222B", + "\u222D" => "\u222B\u222B\u222B", + "\u222F" => "\u222E\u222E", + "\u2230" => "\u222E\u222E\u222E", + "\u2329" => "\u3008", + "\u232A" => "\u3009", + "\u2460" => "1", + "\u2461" => "2", + "\u2462" => "3", + "\u2463" => "4", + "\u2464" => "5", + "\u2465" => "6", + "\u2466" => "7", + "\u2467" => "8", + "\u2468" => "9", + "\u2469" => "10", + "\u246A" => "11", + "\u246B" => "12", + "\u246C" => "13", + "\u246D" => "14", + "\u246E" => "15", + "\u246F" => "16", + "\u2470" => "17", + "\u2471" => "18", + "\u2472" => "19", + "\u2473" => "20", + "\u2474" => "(1)", + "\u2475" => "(2)", + "\u2476" => "(3)", + "\u2477" => "(4)", + "\u2478" => "(5)", + "\u2479" => "(6)", + "\u247A" => "(7)", + "\u247B" => "(8)", + "\u247C" => "(9)", + "\u247D" => "(10)", + "\u247E" => "(11)", + "\u247F" => "(12)", + "\u2480" => "(13)", + "\u2481" => "(14)", + "\u2482" => "(15)", + "\u2483" => "(16)", + "\u2484" => "(17)", + "\u2485" => "(18)", + "\u2486" => "(19)", + "\u2487" => "(20)", + "\u249C" => "(a)", + "\u249D" => "(b)", + "\u249E" => "(c)", + "\u249F" => "(d)", + "\u24A0" => "(e)", + "\u24A1" => "(f)", + "\u24A2" => "(g)", + "\u24A3" => "(h)", + "\u24A4" => "(i)", + "\u24A5" => "(j)", + "\u24A6" => "(k)", + "\u24A7" => "(l)", + "\u24A8" => "(m)", + "\u24A9" => "(n)", + "\u24AA" => "(o)", + "\u24AB" => "(p)", + "\u24AC" => "(q)", + "\u24AD" => "(r)", + "\u24AE" => "(s)", + "\u24AF" => "(t)", + "\u24B0" => "(u)", + "\u24B1" => "(v)", + "\u24B2" => "(w)", + "\u24B3" => "(x)", + "\u24B4" => "(y)", + "\u24B5" => "(z)", + "\u24B6" => "a", + "\u24B7" => "b", + "\u24B8" => "c", + "\u24B9" => "d", + "\u24BA" => "e", + "\u24BB" => "f", + "\u24BC" => "g", + "\u24BD" => "h", + "\u24BE" => "i", + "\u24BF" => "j", + "\u24C0" => "k", + "\u24C1" => "l", + "\u24C2" => "m", + "\u24C3" => "n", + "\u24C4" => "o", + "\u24C5" => "p", + "\u24C6" => "q", + "\u24C7" => "r", + "\u24C8" => "s", + "\u24C9" => "t", + "\u24CA" => "u", + "\u24CB" => "v", + "\u24CC" => "w", + "\u24CD" => "x", + "\u24CE" => "y", + "\u24CF" => "z", + "\u24D0" => "a", + "\u24D1" => "b", + "\u24D2" => "c", + "\u24D3" => "d", + "\u24D4" => "e", + "\u24D5" => "f", + "\u24D6" => "g", + "\u24D7" => "h", + "\u24D8" => "i", + "\u24D9" => "j", + "\u24DA" => "k", + "\u24DB" => "l", + "\u24DC" => "m", + "\u24DD" => "n", + "\u24DE" => "o", + "\u24DF" => "p", + "\u24E0" => "q", + "\u24E1" => "r", + "\u24E2" => "s", + "\u24E3" => "t", + "\u24E4" => "u", + "\u24E5" => "v", + "\u24E6" => "w", + "\u24E7" => "x", + "\u24E8" => "y", + "\u24E9" => "z", + "\u24EA" => "0", + "\u2A0C" => "\u222B\u222B\u222B\u222B", + "\u2A74" => "::=", + "\u2A75" => "==", + "\u2A76" => "===", + "\u2ADC" => "\u2ADD\u0338", + "\u2C00" => "\u2C30", + "\u2C01" => "\u2C31", + "\u2C02" => "\u2C32", + "\u2C03" => "\u2C33", + "\u2C04" => "\u2C34", + "\u2C05" => "\u2C35", + "\u2C06" => "\u2C36", + "\u2C07" => "\u2C37", + "\u2C08" => "\u2C38", + "\u2C09" => "\u2C39", + "\u2C0A" => "\u2C3A", + "\u2C0B" => "\u2C3B", + "\u2C0C" => "\u2C3C", + "\u2C0D" => "\u2C3D", + "\u2C0E" => "\u2C3E", + "\u2C0F" => "\u2C3F", + "\u2C10" => "\u2C40", + "\u2C11" => "\u2C41", + "\u2C12" => "\u2C42", + "\u2C13" => "\u2C43", + "\u2C14" => "\u2C44", + "\u2C15" => "\u2C45", + "\u2C16" => "\u2C46", + "\u2C17" => "\u2C47", + "\u2C18" => "\u2C48", + "\u2C19" => "\u2C49", + "\u2C1A" => "\u2C4A", + "\u2C1B" => "\u2C4B", + "\u2C1C" => "\u2C4C", + "\u2C1D" => "\u2C4D", + "\u2C1E" => "\u2C4E", + "\u2C1F" => "\u2C4F", + "\u2C20" => "\u2C50", + "\u2C21" => "\u2C51", + "\u2C22" => "\u2C52", + "\u2C23" => "\u2C53", + "\u2C24" => "\u2C54", + "\u2C25" => "\u2C55", + "\u2C26" => "\u2C56", + "\u2C27" => "\u2C57", + "\u2C28" => "\u2C58", + "\u2C29" => "\u2C59", + "\u2C2A" => "\u2C5A", + "\u2C2B" => "\u2C5B", + "\u2C2C" => "\u2C5C", + "\u2C2D" => "\u2C5D", + "\u2C2E" => "\u2C5E", + "\u2C2F" => "\u2C5F", + "\u2C60" => "\u2C61", + "\u2C62" => "\u026B", + "\u2C63" => "\u1D7D", + "\u2C64" => "\u027D", + "\u2C67" => "\u2C68", + "\u2C69" => "\u2C6A", + "\u2C6B" => "\u2C6C", + "\u2C6D" => "\u0251", + "\u2C6E" => "\u0271", + "\u2C6F" => "\u0250", + "\u2C70" => "\u0252", + "\u2C72" => "\u2C73", + "\u2C75" => "\u2C76", + "\u2C7C" => "j", + "\u2C7D" => "v", + "\u2C7E" => "\u023F", + "\u2C7F" => "\u0240", + "\u2C80" => "\u2C81", + "\u2C82" => "\u2C83", + "\u2C84" => "\u2C85", + "\u2C86" => "\u2C87", + "\u2C88" => "\u2C89", + "\u2C8A" => "\u2C8B", + "\u2C8C" => "\u2C8D", + "\u2C8E" => "\u2C8F", + "\u2C90" => "\u2C91", + "\u2C92" => "\u2C93", + "\u2C94" => "\u2C95", + "\u2C96" => "\u2C97", + "\u2C98" => "\u2C99", + "\u2C9A" => "\u2C9B", + "\u2C9C" => "\u2C9D", + "\u2C9E" => "\u2C9F", + "\u2CA0" => "\u2CA1", + "\u2CA2" => "\u2CA3", + "\u2CA4" => "\u2CA5", + "\u2CA6" => "\u2CA7", + "\u2CA8" => "\u2CA9", + "\u2CAA" => "\u2CAB", + "\u2CAC" => "\u2CAD", + "\u2CAE" => "\u2CAF", + "\u2CB0" => "\u2CB1", + "\u2CB2" => "\u2CB3", + "\u2CB4" => "\u2CB5", + "\u2CB6" => "\u2CB7", + "\u2CB8" => "\u2CB9", + "\u2CBA" => "\u2CBB", + "\u2CBC" => "\u2CBD", + "\u2CBE" => "\u2CBF", + "\u2CC0" => "\u2CC1", + "\u2CC2" => "\u2CC3", + "\u2CC4" => "\u2CC5", + "\u2CC6" => "\u2CC7", + "\u2CC8" => "\u2CC9", + "\u2CCA" => "\u2CCB", + "\u2CCC" => "\u2CCD", + "\u2CCE" => "\u2CCF", + "\u2CD0" => "\u2CD1", + "\u2CD2" => "\u2CD3", + "\u2CD4" => "\u2CD5", + "\u2CD6" => "\u2CD7", + "\u2CD8" => "\u2CD9", + "\u2CDA" => "\u2CDB", + "\u2CDC" => "\u2CDD", + "\u2CDE" => "\u2CDF", + "\u2CE0" => "\u2CE1", + "\u2CE2" => "\u2CE3", + "\u2CEB" => "\u2CEC", + "\u2CED" => "\u2CEE", + "\u2CF2" => "\u2CF3", + "\u2D6F" => "\u2D61", + "\u2E9F" => "\u6BCD", + "\u2EF3" => "\u9F9F", + "\u2F00" => "\u4E00", + "\u2F01" => "\u4E28", + "\u2F02" => "\u4E36", + "\u2F03" => "\u4E3F", + "\u2F04" => "\u4E59", + "\u2F05" => "\u4E85", + "\u2F06" => "\u4E8C", + "\u2F07" => "\u4EA0", + "\u2F08" => "\u4EBA", + "\u2F09" => "\u513F", + "\u2F0A" => "\u5165", + "\u2F0B" => "\u516B", + "\u2F0C" => "\u5182", + "\u2F0D" => "\u5196", + "\u2F0E" => "\u51AB", + "\u2F0F" => "\u51E0", + "\u2F10" => "\u51F5", + "\u2F11" => "\u5200", + "\u2F12" => "\u529B", + "\u2F13" => "\u52F9", + "\u2F14" => "\u5315", + "\u2F15" => "\u531A", + "\u2F16" => "\u5338", + "\u2F17" => "\u5341", + "\u2F18" => "\u535C", + "\u2F19" => "\u5369", + "\u2F1A" => "\u5382", + "\u2F1B" => "\u53B6", + "\u2F1C" => "\u53C8", + "\u2F1D" => "\u53E3", + "\u2F1E" => "\u56D7", + "\u2F1F" => "\u571F", + "\u2F20" => "\u58EB", + "\u2F21" => "\u5902", + "\u2F22" => "\u590A", + "\u2F23" => "\u5915", + "\u2F24" => "\u5927", + "\u2F25" => "\u5973", + "\u2F26" => "\u5B50", + "\u2F27" => "\u5B80", + "\u2F28" => "\u5BF8", + "\u2F29" => "\u5C0F", + "\u2F2A" => "\u5C22", + "\u2F2B" => "\u5C38", + "\u2F2C" => "\u5C6E", + "\u2F2D" => "\u5C71", + "\u2F2E" => "\u5DDB", + "\u2F2F" => "\u5DE5", + "\u2F30" => "\u5DF1", + "\u2F31" => "\u5DFE", + "\u2F32" => "\u5E72", + "\u2F33" => "\u5E7A", + "\u2F34" => "\u5E7F", + "\u2F35" => "\u5EF4", + "\u2F36" => "\u5EFE", + "\u2F37" => "\u5F0B", + "\u2F38" => "\u5F13", + "\u2F39" => "\u5F50", + "\u2F3A" => "\u5F61", + "\u2F3B" => "\u5F73", + "\u2F3C" => "\u5FC3", + "\u2F3D" => "\u6208", + "\u2F3E" => "\u6236", + "\u2F3F" => "\u624B", + "\u2F40" => "\u652F", + "\u2F41" => "\u6534", + "\u2F42" => "\u6587", + "\u2F43" => "\u6597", + "\u2F44" => "\u65A4", + "\u2F45" => "\u65B9", + "\u2F46" => "\u65E0", + "\u2F47" => "\u65E5", + "\u2F48" => "\u66F0", + "\u2F49" => "\u6708", + "\u2F4A" => "\u6728", + "\u2F4B" => "\u6B20", + "\u2F4C" => "\u6B62", + "\u2F4D" => "\u6B79", + "\u2F4E" => "\u6BB3", + "\u2F4F" => "\u6BCB", + "\u2F50" => "\u6BD4", + "\u2F51" => "\u6BDB", + "\u2F52" => "\u6C0F", + "\u2F53" => "\u6C14", + "\u2F54" => "\u6C34", + "\u2F55" => "\u706B", + "\u2F56" => "\u722A", + "\u2F57" => "\u7236", + "\u2F58" => "\u723B", + "\u2F59" => "\u723F", + "\u2F5A" => "\u7247", + "\u2F5B" => "\u7259", + "\u2F5C" => "\u725B", + "\u2F5D" => "\u72AC", + "\u2F5E" => "\u7384", + "\u2F5F" => "\u7389", + "\u2F60" => "\u74DC", + "\u2F61" => "\u74E6", + "\u2F62" => "\u7518", + "\u2F63" => "\u751F", + "\u2F64" => "\u7528", + "\u2F65" => "\u7530", + "\u2F66" => "\u758B", + "\u2F67" => "\u7592", + "\u2F68" => "\u7676", + "\u2F69" => "\u767D", + "\u2F6A" => "\u76AE", + "\u2F6B" => "\u76BF", + "\u2F6C" => "\u76EE", + "\u2F6D" => "\u77DB", + "\u2F6E" => "\u77E2", + "\u2F6F" => "\u77F3", + "\u2F70" => "\u793A", + "\u2F71" => "\u79B8", + "\u2F72" => "\u79BE", + "\u2F73" => "\u7A74", + "\u2F74" => "\u7ACB", + "\u2F75" => "\u7AF9", + "\u2F76" => "\u7C73", + "\u2F77" => "\u7CF8", + "\u2F78" => "\u7F36", + "\u2F79" => "\u7F51", + "\u2F7A" => "\u7F8A", + "\u2F7B" => "\u7FBD", + "\u2F7C" => "\u8001", + "\u2F7D" => "\u800C", + "\u2F7E" => "\u8012", + "\u2F7F" => "\u8033", + "\u2F80" => "\u807F", + "\u2F81" => "\u8089", + "\u2F82" => "\u81E3", + "\u2F83" => "\u81EA", + "\u2F84" => "\u81F3", + "\u2F85" => "\u81FC", + "\u2F86" => "\u820C", + "\u2F87" => "\u821B", + "\u2F88" => "\u821F", + "\u2F89" => "\u826E", + "\u2F8A" => "\u8272", + "\u2F8B" => "\u8278", + "\u2F8C" => "\u864D", + "\u2F8D" => "\u866B", + "\u2F8E" => "\u8840", + "\u2F8F" => "\u884C", + "\u2F90" => "\u8863", + "\u2F91" => "\u897E", + "\u2F92" => "\u898B", + "\u2F93" => "\u89D2", + "\u2F94" => "\u8A00", + "\u2F95" => "\u8C37", + "\u2F96" => "\u8C46", + "\u2F97" => "\u8C55", + "\u2F98" => "\u8C78", + "\u2F99" => "\u8C9D", + "\u2F9A" => "\u8D64", + "\u2F9B" => "\u8D70", + "\u2F9C" => "\u8DB3", + "\u2F9D" => "\u8EAB", + "\u2F9E" => "\u8ECA", + "\u2F9F" => "\u8F9B", + "\u2FA0" => "\u8FB0", + "\u2FA1" => "\u8FB5", + "\u2FA2" => "\u9091", + "\u2FA3" => "\u9149", + "\u2FA4" => "\u91C6", + "\u2FA5" => "\u91CC", + "\u2FA6" => "\u91D1", + "\u2FA7" => "\u9577", + "\u2FA8" => "\u9580", + "\u2FA9" => "\u961C", + "\u2FAA" => "\u96B6", + "\u2FAB" => "\u96B9", + "\u2FAC" => "\u96E8", + "\u2FAD" => "\u9751", + "\u2FAE" => "\u975E", + "\u2FAF" => "\u9762", + "\u2FB0" => "\u9769", + "\u2FB1" => "\u97CB", + "\u2FB2" => "\u97ED", + "\u2FB3" => "\u97F3", + "\u2FB4" => "\u9801", + "\u2FB5" => "\u98A8", + "\u2FB6" => "\u98DB", + "\u2FB7" => "\u98DF", + "\u2FB8" => "\u9996", + "\u2FB9" => "\u9999", + "\u2FBA" => "\u99AC", + "\u2FBB" => "\u9AA8", + "\u2FBC" => "\u9AD8", + "\u2FBD" => "\u9ADF", + "\u2FBE" => "\u9B25", + "\u2FBF" => "\u9B2F", + "\u2FC0" => "\u9B32", + "\u2FC1" => "\u9B3C", + "\u2FC2" => "\u9B5A", + "\u2FC3" => "\u9CE5", + "\u2FC4" => "\u9E75", + "\u2FC5" => "\u9E7F", + "\u2FC6" => "\u9EA5", + "\u2FC7" => "\u9EBB", + "\u2FC8" => "\u9EC3", + "\u2FC9" => "\u9ECD", + "\u2FCA" => "\u9ED1", + "\u2FCB" => "\u9EF9", + "\u2FCC" => "\u9EFD", + "\u2FCD" => "\u9F0E", + "\u2FCE" => "\u9F13", + "\u2FCF" => "\u9F20", + "\u2FD0" => "\u9F3B", + "\u2FD1" => "\u9F4A", + "\u2FD2" => "\u9F52", + "\u2FD3" => "\u9F8D", + "\u2FD4" => "\u9F9C", + "\u2FD5" => "\u9FA0", + "\u3000" => " ", + "\u3002" => ".", + "\u3036" => "\u3012", + "\u3038" => "\u5341", + "\u3039" => "\u5344", + "\u303A" => "\u5345", + "\u309B" => " \u3099", + "\u309C" => " \u309A", + "\u309F" => "\u3088\u308A", + "\u30FF" => "\u30B3\u30C8", + "\u3131" => "\u1100", + "\u3132" => "\u1101", + "\u3133" => "\u11AA", + "\u3134" => "\u1102", + "\u3135" => "\u11AC", + "\u3136" => "\u11AD", + "\u3137" => "\u1103", + "\u3138" => "\u1104", + "\u3139" => "\u1105", + "\u313A" => "\u11B0", + "\u313B" => "\u11B1", + "\u313C" => "\u11B2", + "\u313D" => "\u11B3", + "\u313E" => "\u11B4", + "\u313F" => "\u11B5", + "\u3140" => "\u111A", + "\u3141" => "\u1106", + "\u3142" => "\u1107", + "\u3143" => "\u1108", + "\u3144" => "\u1121", + "\u3145" => "\u1109", + "\u3146" => "\u110A", + "\u3147" => "\u110B", + "\u3148" => "\u110C", + "\u3149" => "\u110D", + "\u314A" => "\u110E", + "\u314B" => "\u110F", + "\u314C" => "\u1110", + "\u314D" => "\u1111", + "\u314E" => "\u1112", + "\u314F" => "\u1161", + "\u3150" => "\u1162", + "\u3151" => "\u1163", + "\u3152" => "\u1164", + "\u3153" => "\u1165", + "\u3154" => "\u1166", + "\u3155" => "\u1167", + "\u3156" => "\u1168", + "\u3157" => "\u1169", + "\u3158" => "\u116A", + "\u3159" => "\u116B", + "\u315A" => "\u116C", + "\u315B" => "\u116D", + "\u315C" => "\u116E", + "\u315D" => "\u116F", + "\u315E" => "\u1170", + "\u315F" => "\u1171", + "\u3160" => "\u1172", + "\u3161" => "\u1173", + "\u3162" => "\u1174", + "\u3163" => "\u1175", + "\u3165" => "\u1114", + "\u3166" => "\u1115", + "\u3167" => "\u11C7", + "\u3168" => "\u11C8", + "\u3169" => "\u11CC", + "\u316A" => "\u11CE", + "\u316B" => "\u11D3", + "\u316C" => "\u11D7", + "\u316D" => "\u11D9", + "\u316E" => "\u111C", + "\u316F" => "\u11DD", + "\u3170" => "\u11DF", + "\u3171" => "\u111D", + "\u3172" => "\u111E", + "\u3173" => "\u1120", + "\u3174" => "\u1122", + "\u3175" => "\u1123", + "\u3176" => "\u1127", + "\u3177" => "\u1129", + "\u3178" => "\u112B", + "\u3179" => "\u112C", + "\u317A" => "\u112D", + "\u317B" => "\u112E", + "\u317C" => "\u112F", + "\u317D" => "\u1132", + "\u317E" => "\u1136", + "\u317F" => "\u1140", + "\u3180" => "\u1147", + "\u3181" => "\u114C", + "\u3182" => "\u11F1", + "\u3183" => "\u11F2", + "\u3184" => "\u1157", + "\u3185" => "\u1158", + "\u3186" => "\u1159", + "\u3187" => "\u1184", + "\u3188" => "\u1185", + "\u3189" => "\u1188", + "\u318A" => "\u1191", + "\u318B" => "\u1192", + "\u318C" => "\u1194", + "\u318D" => "\u119E", + "\u318E" => "\u11A1", + "\u3192" => "\u4E00", + "\u3193" => "\u4E8C", + "\u3194" => "\u4E09", + "\u3195" => "\u56DB", + "\u3196" => "\u4E0A", + "\u3197" => "\u4E2D", + "\u3198" => "\u4E0B", + "\u3199" => "\u7532", + "\u319A" => "\u4E59", + "\u319B" => "\u4E19", + "\u319C" => "\u4E01", + "\u319D" => "\u5929", + "\u319E" => "\u5730", + "\u319F" => "\u4EBA", + "\u3200" => "(\u1100)", + "\u3201" => "(\u1102)", + "\u3202" => "(\u1103)", + "\u3203" => "(\u1105)", + "\u3204" => "(\u1106)", + "\u3205" => "(\u1107)", + "\u3206" => "(\u1109)", + "\u3207" => "(\u110B)", + "\u3208" => "(\u110C)", + "\u3209" => "(\u110E)", + "\u320A" => "(\u110F)", + "\u320B" => "(\u1110)", + "\u320C" => "(\u1111)", + "\u320D" => "(\u1112)", + "\u320E" => "(\uAC00)", + "\u320F" => "(\uB098)", + "\u3210" => "(\uB2E4)", + "\u3211" => "(\uB77C)", + "\u3212" => "(\uB9C8)", + "\u3213" => "(\uBC14)", + "\u3214" => "(\uC0AC)", + "\u3215" => "(\uC544)", + "\u3216" => "(\uC790)", + "\u3217" => "(\uCC28)", + "\u3218" => "(\uCE74)", + "\u3219" => "(\uD0C0)", + "\u321A" => "(\uD30C)", + "\u321B" => "(\uD558)", + "\u321C" => "(\uC8FC)", + "\u321D" => "(\uC624\uC804)", + "\u321E" => "(\uC624\uD6C4)", + "\u3220" => "(\u4E00)", + "\u3221" => "(\u4E8C)", + "\u3222" => "(\u4E09)", + "\u3223" => "(\u56DB)", + "\u3224" => "(\u4E94)", + "\u3225" => "(\u516D)", + "\u3226" => "(\u4E03)", + "\u3227" => "(\u516B)", + "\u3228" => "(\u4E5D)", + "\u3229" => "(\u5341)", + "\u322A" => "(\u6708)", + "\u322B" => "(\u706B)", + "\u322C" => "(\u6C34)", + "\u322D" => "(\u6728)", + "\u322E" => "(\u91D1)", + "\u322F" => "(\u571F)", + "\u3230" => "(\u65E5)", + "\u3231" => "(\u682A)", + "\u3232" => "(\u6709)", + "\u3233" => "(\u793E)", + "\u3234" => "(\u540D)", + "\u3235" => "(\u7279)", + "\u3236" => "(\u8CA1)", + "\u3237" => "(\u795D)", + "\u3238" => "(\u52B4)", + "\u3239" => "(\u4EE3)", + "\u323A" => "(\u547C)", + "\u323B" => "(\u5B66)", + "\u323C" => "(\u76E3)", + "\u323D" => "(\u4F01)", + "\u323E" => "(\u8CC7)", + "\u323F" => "(\u5354)", + "\u3240" => "(\u796D)", + "\u3241" => "(\u4F11)", + "\u3242" => "(\u81EA)", + "\u3243" => "(\u81F3)", + "\u3244" => "\u554F", + "\u3245" => "\u5E7C", + "\u3246" => "\u6587", + "\u3247" => "\u7B8F", + "\u3250" => "pte", + "\u3251" => "21", + "\u3252" => "22", + "\u3253" => "23", + "\u3254" => "24", + "\u3255" => "25", + "\u3256" => "26", + "\u3257" => "27", + "\u3258" => "28", + "\u3259" => "29", + "\u325A" => "30", + "\u325B" => "31", + "\u325C" => "32", + "\u325D" => "33", + "\u325E" => "34", + "\u325F" => "35", + "\u3260" => "\u1100", + "\u3261" => "\u1102", + "\u3262" => "\u1103", + "\u3263" => "\u1105", + "\u3264" => "\u1106", + "\u3265" => "\u1107", + "\u3266" => "\u1109", + "\u3267" => "\u110B", + "\u3268" => "\u110C", + "\u3269" => "\u110E", + "\u326A" => "\u110F", + "\u326B" => "\u1110", + "\u326C" => "\u1111", + "\u326D" => "\u1112", + "\u326E" => "\uAC00", + "\u326F" => "\uB098", + "\u3270" => "\uB2E4", + "\u3271" => "\uB77C", + "\u3272" => "\uB9C8", + "\u3273" => "\uBC14", + "\u3274" => "\uC0AC", + "\u3275" => "\uC544", + "\u3276" => "\uC790", + "\u3277" => "\uCC28", + "\u3278" => "\uCE74", + "\u3279" => "\uD0C0", + "\u327A" => "\uD30C", + "\u327B" => "\uD558", + "\u327C" => "\uCC38\uACE0", + "\u327D" => "\uC8FC\uC758", + "\u327E" => "\uC6B0", + "\u3280" => "\u4E00", + "\u3281" => "\u4E8C", + "\u3282" => "\u4E09", + "\u3283" => "\u56DB", + "\u3284" => "\u4E94", + "\u3285" => "\u516D", + "\u3286" => "\u4E03", + "\u3287" => "\u516B", + "\u3288" => "\u4E5D", + "\u3289" => "\u5341", + "\u328A" => "\u6708", + "\u328B" => "\u706B", + "\u328C" => "\u6C34", + "\u328D" => "\u6728", + "\u328E" => "\u91D1", + "\u328F" => "\u571F", + "\u3290" => "\u65E5", + "\u3291" => "\u682A", + "\u3292" => "\u6709", + "\u3293" => "\u793E", + "\u3294" => "\u540D", + "\u3295" => "\u7279", + "\u3296" => "\u8CA1", + "\u3297" => "\u795D", + "\u3298" => "\u52B4", + "\u3299" => "\u79D8", + "\u329A" => "\u7537", + "\u329B" => "\u5973", + "\u329C" => "\u9069", + "\u329D" => "\u512A", + "\u329E" => "\u5370", + "\u329F" => "\u6CE8", + "\u32A0" => "\u9805", + "\u32A1" => "\u4F11", + "\u32A2" => "\u5199", + "\u32A3" => "\u6B63", + "\u32A4" => "\u4E0A", + "\u32A5" => "\u4E2D", + "\u32A6" => "\u4E0B", + "\u32A7" => "\u5DE6", + "\u32A8" => "\u53F3", + "\u32A9" => "\u533B", + "\u32AA" => "\u5B97", + "\u32AB" => "\u5B66", + "\u32AC" => "\u76E3", + "\u32AD" => "\u4F01", + "\u32AE" => "\u8CC7", + "\u32AF" => "\u5354", + "\u32B0" => "\u591C", + "\u32B1" => "36", + "\u32B2" => "37", + "\u32B3" => "38", + "\u32B4" => "39", + "\u32B5" => "40", + "\u32B6" => "41", + "\u32B7" => "42", + "\u32B8" => "43", + "\u32B9" => "44", + "\u32BA" => "45", + "\u32BB" => "46", + "\u32BC" => "47", + "\u32BD" => "48", + "\u32BE" => "49", + "\u32BF" => "50", + "\u32C0" => "1\u6708", + "\u32C1" => "2\u6708", + "\u32C2" => "3\u6708", + "\u32C3" => "4\u6708", + "\u32C4" => "5\u6708", + "\u32C5" => "6\u6708", + "\u32C6" => "7\u6708", + "\u32C7" => "8\u6708", + "\u32C8" => "9\u6708", + "\u32C9" => "10\u6708", + "\u32CA" => "11\u6708", + "\u32CB" => "12\u6708", + "\u32CC" => "hg", + "\u32CD" => "erg", + "\u32CE" => "ev", + "\u32CF" => "ltd", + "\u32D0" => "\u30A2", + "\u32D1" => "\u30A4", + "\u32D2" => "\u30A6", + "\u32D3" => "\u30A8", + "\u32D4" => "\u30AA", + "\u32D5" => "\u30AB", + "\u32D6" => "\u30AD", + "\u32D7" => "\u30AF", + "\u32D8" => "\u30B1", + "\u32D9" => "\u30B3", + "\u32DA" => "\u30B5", + "\u32DB" => "\u30B7", + "\u32DC" => "\u30B9", + "\u32DD" => "\u30BB", + "\u32DE" => "\u30BD", + "\u32DF" => "\u30BF", + "\u32E0" => "\u30C1", + "\u32E1" => "\u30C4", + "\u32E2" => "\u30C6", + "\u32E3" => "\u30C8", + "\u32E4" => "\u30CA", + "\u32E5" => "\u30CB", + "\u32E6" => "\u30CC", + "\u32E7" => "\u30CD", + "\u32E8" => "\u30CE", + "\u32E9" => "\u30CF", + "\u32EA" => "\u30D2", + "\u32EB" => "\u30D5", + "\u32EC" => "\u30D8", + "\u32ED" => "\u30DB", + "\u32EE" => "\u30DE", + "\u32EF" => "\u30DF", + "\u32F0" => "\u30E0", + "\u32F1" => "\u30E1", + "\u32F2" => "\u30E2", + "\u32F3" => "\u30E4", + "\u32F4" => "\u30E6", + "\u32F5" => "\u30E8", + "\u32F6" => "\u30E9", + "\u32F7" => "\u30EA", + "\u32F8" => "\u30EB", + "\u32F9" => "\u30EC", + "\u32FA" => "\u30ED", + "\u32FB" => "\u30EF", + "\u32FC" => "\u30F0", + "\u32FD" => "\u30F1", + "\u32FE" => "\u30F2", + "\u32FF" => "\u4EE4\u548C", + "\u3300" => "\u30A2\u30D1\u30FC\u30C8", + "\u3301" => "\u30A2\u30EB\u30D5\u30A1", + "\u3302" => "\u30A2\u30F3\u30DA\u30A2", + "\u3303" => "\u30A2\u30FC\u30EB", + "\u3304" => "\u30A4\u30CB\u30F3\u30B0", + "\u3305" => "\u30A4\u30F3\u30C1", + "\u3306" => "\u30A6\u30A9\u30F3", + "\u3307" => "\u30A8\u30B9\u30AF\u30FC\u30C9", + "\u3308" => "\u30A8\u30FC\u30AB\u30FC", + "\u3309" => "\u30AA\u30F3\u30B9", + "\u330A" => "\u30AA\u30FC\u30E0", + "\u330B" => "\u30AB\u30A4\u30EA", + "\u330C" => "\u30AB\u30E9\u30C3\u30C8", + "\u330D" => "\u30AB\u30ED\u30EA\u30FC", + "\u330E" => "\u30AC\u30ED\u30F3", + "\u330F" => "\u30AC\u30F3\u30DE", + "\u3310" => "\u30AE\u30AC", + "\u3311" => "\u30AE\u30CB\u30FC", + "\u3312" => "\u30AD\u30E5\u30EA\u30FC", + "\u3313" => "\u30AE\u30EB\u30C0\u30FC", + "\u3314" => "\u30AD\u30ED", + "\u3315" => "\u30AD\u30ED\u30B0\u30E9\u30E0", + "\u3316" => "\u30AD\u30ED\u30E1\u30FC\u30C8\u30EB", + "\u3317" => "\u30AD\u30ED\u30EF\u30C3\u30C8", + "\u3318" => "\u30B0\u30E9\u30E0", + "\u3319" => "\u30B0\u30E9\u30E0\u30C8\u30F3", + "\u331A" => "\u30AF\u30EB\u30BC\u30A4\u30ED", + "\u331B" => "\u30AF\u30ED\u30FC\u30CD", + "\u331C" => "\u30B1\u30FC\u30B9", + "\u331D" => "\u30B3\u30EB\u30CA", + "\u331E" => "\u30B3\u30FC\u30DD", + "\u331F" => "\u30B5\u30A4\u30AF\u30EB", + "\u3320" => "\u30B5\u30F3\u30C1\u30FC\u30E0", + "\u3321" => "\u30B7\u30EA\u30F3\u30B0", + "\u3322" => "\u30BB\u30F3\u30C1", + "\u3323" => "\u30BB\u30F3\u30C8", + "\u3324" => "\u30C0\u30FC\u30B9", + "\u3325" => "\u30C7\u30B7", + "\u3326" => "\u30C9\u30EB", + "\u3327" => "\u30C8\u30F3", + "\u3328" => "\u30CA\u30CE", + "\u3329" => "\u30CE\u30C3\u30C8", + "\u332A" => "\u30CF\u30A4\u30C4", + "\u332B" => "\u30D1\u30FC\u30BB\u30F3\u30C8", + "\u332C" => "\u30D1\u30FC\u30C4", + "\u332D" => "\u30D0\u30FC\u30EC\u30EB", + "\u332E" => "\u30D4\u30A2\u30B9\u30C8\u30EB", + "\u332F" => "\u30D4\u30AF\u30EB", + "\u3330" => "\u30D4\u30B3", + "\u3331" => "\u30D3\u30EB", + "\u3332" => "\u30D5\u30A1\u30E9\u30C3\u30C9", + "\u3333" => "\u30D5\u30A3\u30FC\u30C8", + "\u3334" => "\u30D6\u30C3\u30B7\u30A7\u30EB", + "\u3335" => "\u30D5\u30E9\u30F3", + "\u3336" => "\u30D8\u30AF\u30BF\u30FC\u30EB", + "\u3337" => "\u30DA\u30BD", + "\u3338" => "\u30DA\u30CB\u30D2", + "\u3339" => "\u30D8\u30EB\u30C4", + "\u333A" => "\u30DA\u30F3\u30B9", + "\u333B" => "\u30DA\u30FC\u30B8", + "\u333C" => "\u30D9\u30FC\u30BF", + "\u333D" => "\u30DD\u30A4\u30F3\u30C8", + "\u333E" => "\u30DC\u30EB\u30C8", + "\u333F" => "\u30DB\u30F3", + "\u3340" => "\u30DD\u30F3\u30C9", + "\u3341" => "\u30DB\u30FC\u30EB", + "\u3342" => "\u30DB\u30FC\u30F3", + "\u3343" => "\u30DE\u30A4\u30AF\u30ED", + "\u3344" => "\u30DE\u30A4\u30EB", + "\u3345" => "\u30DE\u30C3\u30CF", + "\u3346" => "\u30DE\u30EB\u30AF", + "\u3347" => "\u30DE\u30F3\u30B7\u30E7\u30F3", + "\u3348" => "\u30DF\u30AF\u30ED\u30F3", + "\u3349" => "\u30DF\u30EA", + "\u334A" => "\u30DF\u30EA\u30D0\u30FC\u30EB", + "\u334B" => "\u30E1\u30AC", + "\u334C" => "\u30E1\u30AC\u30C8\u30F3", + "\u334D" => "\u30E1\u30FC\u30C8\u30EB", + "\u334E" => "\u30E4\u30FC\u30C9", + "\u334F" => "\u30E4\u30FC\u30EB", + "\u3350" => "\u30E6\u30A2\u30F3", + "\u3351" => "\u30EA\u30C3\u30C8\u30EB", + "\u3352" => "\u30EA\u30E9", + "\u3353" => "\u30EB\u30D4\u30FC", + "\u3354" => "\u30EB\u30FC\u30D6\u30EB", + "\u3355" => "\u30EC\u30E0", + "\u3356" => "\u30EC\u30F3\u30C8\u30B2\u30F3", + "\u3357" => "\u30EF\u30C3\u30C8", + "\u3358" => "0\u70B9", + "\u3359" => "1\u70B9", + "\u335A" => "2\u70B9", + "\u335B" => "3\u70B9", + "\u335C" => "4\u70B9", + "\u335D" => "5\u70B9", + "\u335E" => "6\u70B9", + "\u335F" => "7\u70B9", + "\u3360" => "8\u70B9", + "\u3361" => "9\u70B9", + "\u3362" => "10\u70B9", + "\u3363" => "11\u70B9", + "\u3364" => "12\u70B9", + "\u3365" => "13\u70B9", + "\u3366" => "14\u70B9", + "\u3367" => "15\u70B9", + "\u3368" => "16\u70B9", + "\u3369" => "17\u70B9", + "\u336A" => "18\u70B9", + "\u336B" => "19\u70B9", + "\u336C" => "20\u70B9", + "\u336D" => "21\u70B9", + "\u336E" => "22\u70B9", + "\u336F" => "23\u70B9", + "\u3370" => "24\u70B9", + "\u3371" => "hpa", + "\u3372" => "da", + "\u3373" => "au", + "\u3374" => "bar", + "\u3375" => "ov", + "\u3376" => "pc", + "\u3377" => "dm", + "\u3378" => "dm2", + "\u3379" => "dm3", + "\u337A" => "iu", + "\u337B" => "\u5E73\u6210", + "\u337C" => "\u662D\u548C", + "\u337D" => "\u5927\u6B63", + "\u337E" => "\u660E\u6CBB", + "\u337F" => "\u682A\u5F0F\u4F1A\u793E", + "\u3380" => "pa", + "\u3381" => "na", + "\u3382" => "\u03BCa", + "\u3383" => "ma", + "\u3384" => "ka", + "\u3385" => "kb", + "\u3386" => "mb", + "\u3387" => "gb", + "\u3388" => "cal", + "\u3389" => "kcal", + "\u338A" => "pf", + "\u338B" => "nf", + "\u338C" => "\u03BCf", + "\u338D" => "\u03BCg", + "\u338E" => "mg", + "\u338F" => "kg", + "\u3390" => "hz", + "\u3391" => "khz", + "\u3392" => "mhz", + "\u3393" => "ghz", + "\u3394" => "thz", + "\u3395" => "\u03BCl", + "\u3396" => "ml", + "\u3397" => "dl", + "\u3398" => "kl", + "\u3399" => "fm", + "\u339A" => "nm", + "\u339B" => "\u03BCm", + "\u339C" => "mm", + "\u339D" => "cm", + "\u339E" => "km", + "\u339F" => "mm2", + "\u33A0" => "cm2", + "\u33A1" => "m2", + "\u33A2" => "km2", + "\u33A3" => "mm3", + "\u33A4" => "cm3", + "\u33A5" => "m3", + "\u33A6" => "km3", + "\u33A7" => "m\u2215s", + "\u33A8" => "m\u2215s2", + "\u33A9" => "pa", + "\u33AA" => "kpa", + "\u33AB" => "mpa", + "\u33AC" => "gpa", + "\u33AD" => "rad", + "\u33AE" => "rad\u2215s", + "\u33AF" => "rad\u2215s2", + "\u33B0" => "ps", + "\u33B1" => "ns", + "\u33B2" => "\u03BCs", + "\u33B3" => "ms", + "\u33B4" => "pv", + "\u33B5" => "nv", + "\u33B6" => "\u03BCv", + "\u33B7" => "mv", + "\u33B8" => "kv", + "\u33B9" => "mv", + "\u33BA" => "pw", + "\u33BB" => "nw", + "\u33BC" => "\u03BCw", + "\u33BD" => "mw", + "\u33BE" => "kw", + "\u33BF" => "mw", + "\u33C0" => "k\u03C9", + "\u33C1" => "m\u03C9", + "\u33C3" => "bq", + "\u33C4" => "cc", + "\u33C5" => "cd", + "\u33C6" => "c\u2215kg", + "\u33C8" => "db", + "\u33C9" => "gy", + "\u33CA" => "ha", + "\u33CB" => "hp", + "\u33CC" => "in", + "\u33CD" => "kk", + "\u33CE" => "km", + "\u33CF" => "kt", + "\u33D0" => "lm", + "\u33D1" => "ln", + "\u33D2" => "log", + "\u33D3" => "lx", + "\u33D4" => "mb", + "\u33D5" => "mil", + "\u33D6" => "mol", + "\u33D7" => "ph", + "\u33D9" => "ppm", + "\u33DA" => "pr", + "\u33DB" => "sr", + "\u33DC" => "sv", + "\u33DD" => "wb", + "\u33DE" => "v\u2215m", + "\u33DF" => "a\u2215m", + "\u33E0" => "1\u65E5", + "\u33E1" => "2\u65E5", + "\u33E2" => "3\u65E5", + "\u33E3" => "4\u65E5", + "\u33E4" => "5\u65E5", + "\u33E5" => "6\u65E5", + "\u33E6" => "7\u65E5", + "\u33E7" => "8\u65E5", + "\u33E8" => "9\u65E5", + "\u33E9" => "10\u65E5", + "\u33EA" => "11\u65E5", + "\u33EB" => "12\u65E5", + "\u33EC" => "13\u65E5", + "\u33ED" => "14\u65E5", + "\u33EE" => "15\u65E5", + "\u33EF" => "16\u65E5", + "\u33F0" => "17\u65E5", + "\u33F1" => "18\u65E5", + "\u33F2" => "19\u65E5", + "\u33F3" => "20\u65E5", + "\u33F4" => "21\u65E5", + "\u33F5" => "22\u65E5", + "\u33F6" => "23\u65E5", + "\u33F7" => "24\u65E5", + "\u33F8" => "25\u65E5", + "\u33F9" => "26\u65E5", + "\u33FA" => "27\u65E5", + "\u33FB" => "28\u65E5", + "\u33FC" => "29\u65E5", + "\u33FD" => "30\u65E5", + "\u33FE" => "31\u65E5", + "\u33FF" => "gal", + "\uA640" => "\uA641", + "\uA642" => "\uA643", + "\uA644" => "\uA645", + "\uA646" => "\uA647", + "\uA648" => "\uA649", + "\uA64A" => "\uA64B", + "\uA64C" => "\uA64D", + "\uA64E" => "\uA64F", + "\uA650" => "\uA651", + "\uA652" => "\uA653", + "\uA654" => "\uA655", + "\uA656" => "\uA657", + "\uA658" => "\uA659", + "\uA65A" => "\uA65B", + "\uA65C" => "\uA65D", + "\uA65E" => "\uA65F", + "\uA660" => "\uA661", + "\uA662" => "\uA663", + "\uA664" => "\uA665", + "\uA666" => "\uA667", + "\uA668" => "\uA669", + "\uA66A" => "\uA66B", + "\uA66C" => "\uA66D", + "\uA680" => "\uA681", + "\uA682" => "\uA683", + "\uA684" => "\uA685", + "\uA686" => "\uA687", + "\uA688" => "\uA689", + "\uA68A" => "\uA68B", + "\uA68C" => "\uA68D", + "\uA68E" => "\uA68F", + "\uA690" => "\uA691", + "\uA692" => "\uA693", + "\uA694" => "\uA695", + "\uA696" => "\uA697", + "\uA698" => "\uA699", + "\uA69A" => "\uA69B", + "\uA69C" => "\u044A", + "\uA69D" => "\u044C", + "\uA722" => "\uA723", + "\uA724" => "\uA725", + "\uA726" => "\uA727", + "\uA728" => "\uA729", + "\uA72A" => "\uA72B", + "\uA72C" => "\uA72D", + "\uA72E" => "\uA72F", + "\uA732" => "\uA733", + "\uA734" => "\uA735", + "\uA736" => "\uA737", + "\uA738" => "\uA739", + "\uA73A" => "\uA73B", + "\uA73C" => "\uA73D", + "\uA73E" => "\uA73F", + "\uA740" => "\uA741", + "\uA742" => "\uA743", + "\uA744" => "\uA745", + "\uA746" => "\uA747", + "\uA748" => "\uA749", + "\uA74A" => "\uA74B", + "\uA74C" => "\uA74D", + "\uA74E" => "\uA74F", + "\uA750" => "\uA751", + "\uA752" => "\uA753", + "\uA754" => "\uA755", + "\uA756" => "\uA757", + "\uA758" => "\uA759", + "\uA75A" => "\uA75B", + "\uA75C" => "\uA75D", + "\uA75E" => "\uA75F", + "\uA760" => "\uA761", + "\uA762" => "\uA763", + "\uA764" => "\uA765", + "\uA766" => "\uA767", + "\uA768" => "\uA769", + "\uA76A" => "\uA76B", + "\uA76C" => "\uA76D", + "\uA76E" => "\uA76F", + "\uA770" => "\uA76F", + "\uA779" => "\uA77A", + "\uA77B" => "\uA77C", + "\uA77D" => "\u1D79", + "\uA77E" => "\uA77F", + "\uA780" => "\uA781", + "\uA782" => "\uA783", + "\uA784" => "\uA785", + "\uA786" => "\uA787", + "\uA78B" => "\uA78C", + "\uA78D" => "\u0265", + "\uA790" => "\uA791", + "\uA792" => "\uA793", + "\uA796" => "\uA797", + "\uA798" => "\uA799", + "\uA79A" => "\uA79B", + "\uA79C" => "\uA79D", + "\uA79E" => "\uA79F", + "\uA7A0" => "\uA7A1", + "\uA7A2" => "\uA7A3", + "\uA7A4" => "\uA7A5", + "\uA7A6" => "\uA7A7", + "\uA7A8" => "\uA7A9", + "\uA7AA" => "\u0266", + "\uA7AB" => "\u025C", + "\uA7AC" => "\u0261", + "\uA7AD" => "\u026C", + "\uA7AE" => "\u026A", + "\uA7B0" => "\u029E", + "\uA7B1" => "\u0287", + "\uA7B2" => "\u029D", + "\uA7B3" => "\uAB53", + "\uA7B4" => "\uA7B5", + "\uA7B6" => "\uA7B7", + "\uA7B8" => "\uA7B9", + "\uA7BA" => "\uA7BB", + "\uA7BC" => "\uA7BD", + "\uA7BE" => "\uA7BF", + "\uA7C0" => "\uA7C1", + "\uA7C2" => "\uA7C3", + "\uA7C4" => "\uA794", + "\uA7C5" => "\u0282", + "\uA7C6" => "\u1D8E", + "\uA7C7" => "\uA7C8", + "\uA7C9" => "\uA7CA", + "\uA7D0" => "\uA7D1", + "\uA7D6" => "\uA7D7", + "\uA7D8" => "\uA7D9", + "\uA7F2" => "c", + "\uA7F3" => "f", + "\uA7F4" => "q", + "\uA7F5" => "\uA7F6", + "\uA7F8" => "\u0127", + "\uA7F9" => "\u0153", + "\uAB5C" => "\uA727", + "\uAB5D" => "\uAB37", + "\uAB5E" => "\u026B", + "\uAB5F" => "\uAB52", + "\uAB69" => "\u028D", + "\uAB70" => "\u13A0", + "\uAB71" => "\u13A1", + "\uAB72" => "\u13A2", + "\uAB73" => "\u13A3", + "\uAB74" => "\u13A4", + "\uAB75" => "\u13A5", + "\uAB76" => "\u13A6", + "\uAB77" => "\u13A7", + "\uAB78" => "\u13A8", + "\uAB79" => "\u13A9", + "\uAB7A" => "\u13AA", + "\uAB7B" => "\u13AB", + "\uAB7C" => "\u13AC", + "\uAB7D" => "\u13AD", + "\uAB7E" => "\u13AE", + "\uAB7F" => "\u13AF", + "\uAB80" => "\u13B0", + "\uAB81" => "\u13B1", + "\uAB82" => "\u13B2", + "\uAB83" => "\u13B3", + "\uAB84" => "\u13B4", + "\uAB85" => "\u13B5", + "\uAB86" => "\u13B6", + "\uAB87" => "\u13B7", + "\uAB88" => "\u13B8", + "\uAB89" => "\u13B9", + "\uAB8A" => "\u13BA", + "\uAB8B" => "\u13BB", + "\uAB8C" => "\u13BC", + "\uAB8D" => "\u13BD", + "\uAB8E" => "\u13BE", + "\uAB8F" => "\u13BF", + "\uAB90" => "\u13C0", + "\uAB91" => "\u13C1", + "\uAB92" => "\u13C2", + "\uAB93" => "\u13C3", + "\uAB94" => "\u13C4", + "\uAB95" => "\u13C5", + "\uAB96" => "\u13C6", + "\uAB97" => "\u13C7", + "\uAB98" => "\u13C8", + "\uAB99" => "\u13C9", + "\uAB9A" => "\u13CA", + "\uAB9B" => "\u13CB", + "\uAB9C" => "\u13CC", + "\uAB9D" => "\u13CD", + "\uAB9E" => "\u13CE", + "\uAB9F" => "\u13CF", + "\uABA0" => "\u13D0", + "\uABA1" => "\u13D1", + "\uABA2" => "\u13D2", + "\uABA3" => "\u13D3", + "\uABA4" => "\u13D4", + "\uABA5" => "\u13D5", + "\uABA6" => "\u13D6", + "\uABA7" => "\u13D7", + "\uABA8" => "\u13D8", + "\uABA9" => "\u13D9", + "\uABAA" => "\u13DA", + "\uABAB" => "\u13DB", + "\uABAC" => "\u13DC", + "\uABAD" => "\u13DD", + "\uABAE" => "\u13DE", + "\uABAF" => "\u13DF", + "\uABB0" => "\u13E0", + "\uABB1" => "\u13E1", + "\uABB2" => "\u13E2", + "\uABB3" => "\u13E3", + "\uABB4" => "\u13E4", + "\uABB5" => "\u13E5", + "\uABB6" => "\u13E6", + "\uABB7" => "\u13E7", + "\uABB8" => "\u13E8", + "\uABB9" => "\u13E9", + "\uABBA" => "\u13EA", + "\uABBB" => "\u13EB", + "\uABBC" => "\u13EC", + "\uABBD" => "\u13ED", + "\uABBE" => "\u13EE", + "\uABBF" => "\u13EF", + "\uF900" => "\u8C48", + "\uF901" => "\u66F4", + "\uF902" => "\u8ECA", + "\uF903" => "\u8CC8", + "\uF904" => "\u6ED1", + "\uF905" => "\u4E32", + "\uF906" => "\u53E5", + "\uF907" => "\u9F9C", + "\uF908" => "\u9F9C", + "\uF909" => "\u5951", + "\uF90A" => "\u91D1", + "\uF90B" => "\u5587", + "\uF90C" => "\u5948", + "\uF90D" => "\u61F6", + "\uF90E" => "\u7669", + "\uF90F" => "\u7F85", + "\uF910" => "\u863F", + "\uF911" => "\u87BA", + "\uF912" => "\u88F8", + "\uF913" => "\u908F", + "\uF914" => "\u6A02", + "\uF915" => "\u6D1B", + "\uF916" => "\u70D9", + "\uF917" => "\u73DE", + "\uF918" => "\u843D", + "\uF919" => "\u916A", + "\uF91A" => "\u99F1", + "\uF91B" => "\u4E82", + "\uF91C" => "\u5375", + "\uF91D" => "\u6B04", + "\uF91E" => "\u721B", + "\uF91F" => "\u862D", + "\uF920" => "\u9E1E", + "\uF921" => "\u5D50", + "\uF922" => "\u6FEB", + "\uF923" => "\u85CD", + "\uF924" => "\u8964", + "\uF925" => "\u62C9", + "\uF926" => "\u81D8", + "\uF927" => "\u881F", + "\uF928" => "\u5ECA", + "\uF929" => "\u6717", + "\uF92A" => "\u6D6A", + "\uF92B" => "\u72FC", + "\uF92C" => "\u90CE", + "\uF92D" => "\u4F86", + "\uF92E" => "\u51B7", + "\uF92F" => "\u52DE", + "\uF930" => "\u64C4", + "\uF931" => "\u6AD3", + "\uF932" => "\u7210", + "\uF933" => "\u76E7", + "\uF934" => "\u8001", + "\uF935" => "\u8606", + "\uF936" => "\u865C", + "\uF937" => "\u8DEF", + "\uF938" => "\u9732", + "\uF939" => "\u9B6F", + "\uF93A" => "\u9DFA", + "\uF93B" => "\u788C", + "\uF93C" => "\u797F", + "\uF93D" => "\u7DA0", + "\uF93E" => "\u83C9", + "\uF93F" => "\u9304", + "\uF940" => "\u9E7F", + "\uF941" => "\u8AD6", + "\uF942" => "\u58DF", + "\uF943" => "\u5F04", + "\uF944" => "\u7C60", + "\uF945" => "\u807E", + "\uF946" => "\u7262", + "\uF947" => "\u78CA", + "\uF948" => "\u8CC2", + "\uF949" => "\u96F7", + "\uF94A" => "\u58D8", + "\uF94B" => "\u5C62", + "\uF94C" => "\u6A13", + "\uF94D" => "\u6DDA", + "\uF94E" => "\u6F0F", + "\uF94F" => "\u7D2F", + "\uF950" => "\u7E37", + "\uF951" => "\u964B", + "\uF952" => "\u52D2", + "\uF953" => "\u808B", + "\uF954" => "\u51DC", + "\uF955" => "\u51CC", + "\uF956" => "\u7A1C", + "\uF957" => "\u7DBE", + "\uF958" => "\u83F1", + "\uF959" => "\u9675", + "\uF95A" => "\u8B80", + "\uF95B" => "\u62CF", + "\uF95C" => "\u6A02", + "\uF95D" => "\u8AFE", + "\uF95E" => "\u4E39", + "\uF95F" => "\u5BE7", + "\uF960" => "\u6012", + "\uF961" => "\u7387", + "\uF962" => "\u7570", + "\uF963" => "\u5317", + "\uF964" => "\u78FB", + "\uF965" => "\u4FBF", + "\uF966" => "\u5FA9", + "\uF967" => "\u4E0D", + "\uF968" => "\u6CCC", + "\uF969" => "\u6578", + "\uF96A" => "\u7D22", + "\uF96B" => "\u53C3", + "\uF96C" => "\u585E", + "\uF96D" => "\u7701", + "\uF96E" => "\u8449", + "\uF96F" => "\u8AAA", + "\uF970" => "\u6BBA", + "\uF971" => "\u8FB0", + "\uF972" => "\u6C88", + "\uF973" => "\u62FE", + "\uF974" => "\u82E5", + "\uF975" => "\u63A0", + "\uF976" => "\u7565", + "\uF977" => "\u4EAE", + "\uF978" => "\u5169", + "\uF979" => "\u51C9", + "\uF97A" => "\u6881", + "\uF97B" => "\u7CE7", + "\uF97C" => "\u826F", + "\uF97D" => "\u8AD2", + "\uF97E" => "\u91CF", + "\uF97F" => "\u52F5", + "\uF980" => "\u5442", + "\uF981" => "\u5973", + "\uF982" => "\u5EEC", + "\uF983" => "\u65C5", + "\uF984" => "\u6FFE", + "\uF985" => "\u792A", + "\uF986" => "\u95AD", + "\uF987" => "\u9A6A", + "\uF988" => "\u9E97", + "\uF989" => "\u9ECE", + "\uF98A" => "\u529B", + "\uF98B" => "\u66C6", + "\uF98C" => "\u6B77", + "\uF98D" => "\u8F62", + "\uF98E" => "\u5E74", + "\uF98F" => "\u6190", + "\uF990" => "\u6200", + "\uF991" => "\u649A", + "\uF992" => "\u6F23", + "\uF993" => "\u7149", + "\uF994" => "\u7489", + "\uF995" => "\u79CA", + "\uF996" => "\u7DF4", + "\uF997" => "\u806F", + "\uF998" => "\u8F26", + "\uF999" => "\u84EE", + "\uF99A" => "\u9023", + "\uF99B" => "\u934A", + "\uF99C" => "\u5217", + "\uF99D" => "\u52A3", + "\uF99E" => "\u54BD", + "\uF99F" => "\u70C8", + "\uF9A0" => "\u88C2", + "\uF9A1" => "\u8AAA", + "\uF9A2" => "\u5EC9", + "\uF9A3" => "\u5FF5", + "\uF9A4" => "\u637B", + "\uF9A5" => "\u6BAE", + "\uF9A6" => "\u7C3E", + "\uF9A7" => "\u7375", + "\uF9A8" => "\u4EE4", + "\uF9A9" => "\u56F9", + "\uF9AA" => "\u5BE7", + "\uF9AB" => "\u5DBA", + "\uF9AC" => "\u601C", + "\uF9AD" => "\u73B2", + "\uF9AE" => "\u7469", + "\uF9AF" => "\u7F9A", + "\uF9B0" => "\u8046", + "\uF9B1" => "\u9234", + "\uF9B2" => "\u96F6", + "\uF9B3" => "\u9748", + "\uF9B4" => "\u9818", + "\uF9B5" => "\u4F8B", + "\uF9B6" => "\u79AE", + "\uF9B7" => "\u91B4", + "\uF9B8" => "\u96B8", + "\uF9B9" => "\u60E1", + "\uF9BA" => "\u4E86", + "\uF9BB" => "\u50DA", + "\uF9BC" => "\u5BEE", + "\uF9BD" => "\u5C3F", + "\uF9BE" => "\u6599", + "\uF9BF" => "\u6A02", + "\uF9C0" => "\u71CE", + "\uF9C1" => "\u7642", + "\uF9C2" => "\u84FC", + "\uF9C3" => "\u907C", + "\uF9C4" => "\u9F8D", + "\uF9C5" => "\u6688", + "\uF9C6" => "\u962E", + "\uF9C7" => "\u5289", + "\uF9C8" => "\u677B", + "\uF9C9" => "\u67F3", + "\uF9CA" => "\u6D41", + "\uF9CB" => "\u6E9C", + "\uF9CC" => "\u7409", + "\uF9CD" => "\u7559", + "\uF9CE" => "\u786B", + "\uF9CF" => "\u7D10", + "\uF9D0" => "\u985E", + "\uF9D1" => "\u516D", + "\uF9D2" => "\u622E", + "\uF9D3" => "\u9678", + "\uF9D4" => "\u502B", + "\uF9D5" => "\u5D19", + "\uF9D6" => "\u6DEA", + "\uF9D7" => "\u8F2A", + "\uF9D8" => "\u5F8B", + "\uF9D9" => "\u6144", + "\uF9DA" => "\u6817", + "\uF9DB" => "\u7387", + "\uF9DC" => "\u9686", + "\uF9DD" => "\u5229", + "\uF9DE" => "\u540F", + "\uF9DF" => "\u5C65", + "\uF9E0" => "\u6613", + "\uF9E1" => "\u674E", + "\uF9E2" => "\u68A8", + "\uF9E3" => "\u6CE5", + "\uF9E4" => "\u7406", + "\uF9E5" => "\u75E2", + "\uF9E6" => "\u7F79", + "\uF9E7" => "\u88CF", + "\uF9E8" => "\u88E1", + "\uF9E9" => "\u91CC", + "\uF9EA" => "\u96E2", + "\uF9EB" => "\u533F", + "\uF9EC" => "\u6EBA", + "\uF9ED" => "\u541D", + "\uF9EE" => "\u71D0", + "\uF9EF" => "\u7498", + "\uF9F0" => "\u85FA", + "\uF9F1" => "\u96A3", + "\uF9F2" => "\u9C57", + "\uF9F3" => "\u9E9F", + "\uF9F4" => "\u6797", + "\uF9F5" => "\u6DCB", + "\uF9F6" => "\u81E8", + "\uF9F7" => "\u7ACB", + "\uF9F8" => "\u7B20", + "\uF9F9" => "\u7C92", + "\uF9FA" => "\u72C0", + "\uF9FB" => "\u7099", + "\uF9FC" => "\u8B58", + "\uF9FD" => "\u4EC0", + "\uF9FE" => "\u8336", + "\uF9FF" => "\u523A", + "\uFA00" => "\u5207", + "\uFA01" => "\u5EA6", + "\uFA02" => "\u62D3", + "\uFA03" => "\u7CD6", + "\uFA04" => "\u5B85", + "\uFA05" => "\u6D1E", + "\uFA06" => "\u66B4", + "\uFA07" => "\u8F3B", + "\uFA08" => "\u884C", + "\uFA09" => "\u964D", + "\uFA0A" => "\u898B", + "\uFA0B" => "\u5ED3", + "\uFA0C" => "\u5140", + "\uFA0D" => "\u55C0", + "\uFA10" => "\u585A", + "\uFA12" => "\u6674", + "\uFA15" => "\u51DE", + "\uFA16" => "\u732A", + "\uFA17" => "\u76CA", + "\uFA18" => "\u793C", + "\uFA19" => "\u795E", + "\uFA1A" => "\u7965", + "\uFA1B" => "\u798F", + "\uFA1C" => "\u9756", + "\uFA1D" => "\u7CBE", + "\uFA1E" => "\u7FBD", + "\uFA20" => "\u8612", + "\uFA22" => "\u8AF8", + "\uFA25" => "\u9038", + "\uFA26" => "\u90FD", + "\uFA2A" => "\u98EF", + "\uFA2B" => "\u98FC", + "\uFA2C" => "\u9928", + "\uFA2D" => "\u9DB4", + "\uFA2E" => "\u90DE", + "\uFA2F" => "\u96B7", + "\uFA30" => "\u4FAE", + "\uFA31" => "\u50E7", + "\uFA32" => "\u514D", + "\uFA33" => "\u52C9", + "\uFA34" => "\u52E4", + "\uFA35" => "\u5351", + "\uFA36" => "\u559D", + "\uFA37" => "\u5606", + "\uFA38" => "\u5668", + "\uFA39" => "\u5840", + "\uFA3A" => "\u58A8", + "\uFA3B" => "\u5C64", + "\uFA3C" => "\u5C6E", + "\uFA3D" => "\u6094", + "\uFA3E" => "\u6168", + "\uFA3F" => "\u618E", + "\uFA40" => "\u61F2", + "\uFA41" => "\u654F", + "\uFA42" => "\u65E2", + "\uFA43" => "\u6691", + "\uFA44" => "\u6885", + "\uFA45" => "\u6D77", + "\uFA46" => "\u6E1A", + "\uFA47" => "\u6F22", + "\uFA48" => "\u716E", + "\uFA49" => "\u722B", + "\uFA4A" => "\u7422", + "\uFA4B" => "\u7891", + "\uFA4C" => "\u793E", + "\uFA4D" => "\u7949", + "\uFA4E" => "\u7948", + "\uFA4F" => "\u7950", + "\uFA50" => "\u7956", + "\uFA51" => "\u795D", + "\uFA52" => "\u798D", + "\uFA53" => "\u798E", + "\uFA54" => "\u7A40", + "\uFA55" => "\u7A81", + "\uFA56" => "\u7BC0", + "\uFA57" => "\u7DF4", + "\uFA58" => "\u7E09", + "\uFA59" => "\u7E41", + "\uFA5A" => "\u7F72", + "\uFA5B" => "\u8005", + "\uFA5C" => "\u81ED", + "\uFA5D" => "\u8279", + "\uFA5E" => "\u8279", + "\uFA5F" => "\u8457", + "\uFA60" => "\u8910", + "\uFA61" => "\u8996", + "\uFA62" => "\u8B01", + "\uFA63" => "\u8B39", + "\uFA64" => "\u8CD3", + "\uFA65" => "\u8D08", + "\uFA66" => "\u8FB6", + "\uFA67" => "\u9038", + "\uFA68" => "\u96E3", + "\uFA69" => "\u97FF", + "\uFA6A" => "\u983B", + "\uFA6B" => "\u6075", + "\uFA6C" => "\u{242EE}", + "\uFA6D" => "\u8218", + "\uFA70" => "\u4E26", + "\uFA71" => "\u51B5", + "\uFA72" => "\u5168", + "\uFA73" => "\u4F80", + "\uFA74" => "\u5145", + "\uFA75" => "\u5180", + "\uFA76" => "\u52C7", + "\uFA77" => "\u52FA", + "\uFA78" => "\u559D", + "\uFA79" => "\u5555", + "\uFA7A" => "\u5599", + "\uFA7B" => "\u55E2", + "\uFA7C" => "\u585A", + "\uFA7D" => "\u58B3", + "\uFA7E" => "\u5944", + "\uFA7F" => "\u5954", + "\uFA80" => "\u5A62", + "\uFA81" => "\u5B28", + "\uFA82" => "\u5ED2", + "\uFA83" => "\u5ED9", + "\uFA84" => "\u5F69", + "\uFA85" => "\u5FAD", + "\uFA86" => "\u60D8", + "\uFA87" => "\u614E", + "\uFA88" => "\u6108", + "\uFA89" => "\u618E", + "\uFA8A" => "\u6160", + "\uFA8B" => "\u61F2", + "\uFA8C" => "\u6234", + "\uFA8D" => "\u63C4", + "\uFA8E" => "\u641C", + "\uFA8F" => "\u6452", + "\uFA90" => "\u6556", + "\uFA91" => "\u6674", + "\uFA92" => "\u6717", + "\uFA93" => "\u671B", + "\uFA94" => "\u6756", + "\uFA95" => "\u6B79", + "\uFA96" => "\u6BBA", + "\uFA97" => "\u6D41", + "\uFA98" => "\u6EDB", + "\uFA99" => "\u6ECB", + "\uFA9A" => "\u6F22", + "\uFA9B" => "\u701E", + "\uFA9C" => "\u716E", + "\uFA9D" => "\u77A7", + "\uFA9E" => "\u7235", + "\uFA9F" => "\u72AF", + "\uFAA0" => "\u732A", + "\uFAA1" => "\u7471", + "\uFAA2" => "\u7506", + "\uFAA3" => "\u753B", + "\uFAA4" => "\u761D", + "\uFAA5" => "\u761F", + "\uFAA6" => "\u76CA", + "\uFAA7" => "\u76DB", + "\uFAA8" => "\u76F4", + "\uFAA9" => "\u774A", + "\uFAAA" => "\u7740", + "\uFAAB" => "\u78CC", + "\uFAAC" => "\u7AB1", + "\uFAAD" => "\u7BC0", + "\uFAAE" => "\u7C7B", + "\uFAAF" => "\u7D5B", + "\uFAB0" => "\u7DF4", + "\uFAB1" => "\u7F3E", + "\uFAB2" => "\u8005", + "\uFAB3" => "\u8352", + "\uFAB4" => "\u83EF", + "\uFAB5" => "\u8779", + "\uFAB6" => "\u8941", + "\uFAB7" => "\u8986", + "\uFAB8" => "\u8996", + "\uFAB9" => "\u8ABF", + "\uFABA" => "\u8AF8", + "\uFABB" => "\u8ACB", + "\uFABC" => "\u8B01", + "\uFABD" => "\u8AFE", + "\uFABE" => "\u8AED", + "\uFABF" => "\u8B39", + "\uFAC0" => "\u8B8A", + "\uFAC1" => "\u8D08", + "\uFAC2" => "\u8F38", + "\uFAC3" => "\u9072", + "\uFAC4" => "\u9199", + "\uFAC5" => "\u9276", + "\uFAC6" => "\u967C", + "\uFAC7" => "\u96E3", + "\uFAC8" => "\u9756", + "\uFAC9" => "\u97DB", + "\uFACA" => "\u97FF", + "\uFACB" => "\u980B", + "\uFACC" => "\u983B", + "\uFACD" => "\u9B12", + "\uFACE" => "\u9F9C", + "\uFACF" => "\u{2284A}", + "\uFAD0" => "\u{22844}", + "\uFAD1" => "\u{233D5}", + "\uFAD2" => "\u3B9D", + "\uFAD3" => "\u4018", + "\uFAD4" => "\u4039", + "\uFAD5" => "\u{25249}", + "\uFAD6" => "\u{25CD0}", + "\uFAD7" => "\u{27ED3}", + "\uFAD8" => "\u9F43", + "\uFAD9" => "\u9F8E", + "\uFB00" => "ff", + "\uFB01" => "fi", + "\uFB02" => "fl", + "\uFB03" => "ffi", + "\uFB04" => "ffl", + "\uFB05" => "st", + "\uFB06" => "st", + "\uFB13" => "\u0574\u0576", + "\uFB14" => "\u0574\u0565", + "\uFB15" => "\u0574\u056B", + "\uFB16" => "\u057E\u0576", + "\uFB17" => "\u0574\u056D", + "\uFB1D" => "\u05D9\u05B4", + "\uFB1F" => "\u05F2\u05B7", + "\uFB20" => "\u05E2", + "\uFB21" => "\u05D0", + "\uFB22" => "\u05D3", + "\uFB23" => "\u05D4", + "\uFB24" => "\u05DB", + "\uFB25" => "\u05DC", + "\uFB26" => "\u05DD", + "\uFB27" => "\u05E8", + "\uFB28" => "\u05EA", + "\uFB29" => "+", + "\uFB2A" => "\u05E9\u05C1", + "\uFB2B" => "\u05E9\u05C2", + "\uFB2C" => "\u05E9\u05BC\u05C1", + "\uFB2D" => "\u05E9\u05BC\u05C2", + "\uFB2E" => "\u05D0\u05B7", + "\uFB2F" => "\u05D0\u05B8", + "\uFB30" => "\u05D0\u05BC", + "\uFB31" => "\u05D1\u05BC", + "\uFB32" => "\u05D2\u05BC", + "\uFB33" => "\u05D3\u05BC", + "\uFB34" => "\u05D4\u05BC", + "\uFB35" => "\u05D5\u05BC", + "\uFB36" => "\u05D6\u05BC", + "\uFB38" => "\u05D8\u05BC", + "\uFB39" => "\u05D9\u05BC", + "\uFB3A" => "\u05DA\u05BC", + "\uFB3B" => "\u05DB\u05BC", + "\uFB3C" => "\u05DC\u05BC", + "\uFB3E" => "\u05DE\u05BC", + "\uFB40" => "\u05E0\u05BC", + "\uFB41" => "\u05E1\u05BC", + "\uFB43" => "\u05E3\u05BC", + "\uFB44" => "\u05E4\u05BC", + "\uFB46" => "\u05E6\u05BC", + "\uFB47" => "\u05E7\u05BC", + "\uFB48" => "\u05E8\u05BC", + "\uFB49" => "\u05E9\u05BC", + "\uFB4A" => "\u05EA\u05BC", + "\uFB4B" => "\u05D5\u05B9", + "\uFB4C" => "\u05D1\u05BF", + "\uFB4D" => "\u05DB\u05BF", + "\uFB4E" => "\u05E4\u05BF", + "\uFB4F" => "\u05D0\u05DC", + "\uFB50" => "\u0671", + "\uFB51" => "\u0671", + "\uFB52" => "\u067B", + "\uFB53" => "\u067B", + "\uFB54" => "\u067B", + "\uFB55" => "\u067B", + "\uFB56" => "\u067E", + "\uFB57" => "\u067E", + "\uFB58" => "\u067E", + "\uFB59" => "\u067E", + "\uFB5A" => "\u0680", + "\uFB5B" => "\u0680", + "\uFB5C" => "\u0680", + "\uFB5D" => "\u0680", + "\uFB5E" => "\u067A", + "\uFB5F" => "\u067A", + "\uFB60" => "\u067A", + "\uFB61" => "\u067A", + "\uFB62" => "\u067F", + "\uFB63" => "\u067F", + "\uFB64" => "\u067F", + "\uFB65" => "\u067F", + "\uFB66" => "\u0679", + "\uFB67" => "\u0679", + "\uFB68" => "\u0679", + "\uFB69" => "\u0679", + "\uFB6A" => "\u06A4", + "\uFB6B" => "\u06A4", + "\uFB6C" => "\u06A4", + "\uFB6D" => "\u06A4", + "\uFB6E" => "\u06A6", + "\uFB6F" => "\u06A6", + "\uFB70" => "\u06A6", + "\uFB71" => "\u06A6", + "\uFB72" => "\u0684", + "\uFB73" => "\u0684", + "\uFB74" => "\u0684", + "\uFB75" => "\u0684", + "\uFB76" => "\u0683", + "\uFB77" => "\u0683", + "\uFB78" => "\u0683", + "\uFB79" => "\u0683", + "\uFB7A" => "\u0686", + "\uFB7B" => "\u0686", + "\uFB7C" => "\u0686", + "\uFB7D" => "\u0686", + "\uFB7E" => "\u0687", + "\uFB7F" => "\u0687", + "\uFB80" => "\u0687", + "\uFB81" => "\u0687", + "\uFB82" => "\u068D", + "\uFB83" => "\u068D", + "\uFB84" => "\u068C", + "\uFB85" => "\u068C", + "\uFB86" => "\u068E", + "\uFB87" => "\u068E", + "\uFB88" => "\u0688", + "\uFB89" => "\u0688", + "\uFB8A" => "\u0698", + "\uFB8B" => "\u0698", + "\uFB8C" => "\u0691", + "\uFB8D" => "\u0691", + "\uFB8E" => "\u06A9", + "\uFB8F" => "\u06A9", + "\uFB90" => "\u06A9", + "\uFB91" => "\u06A9", + "\uFB92" => "\u06AF", + "\uFB93" => "\u06AF", + "\uFB94" => "\u06AF", + "\uFB95" => "\u06AF", + "\uFB96" => "\u06B3", + "\uFB97" => "\u06B3", + "\uFB98" => "\u06B3", + "\uFB99" => "\u06B3", + "\uFB9A" => "\u06B1", + "\uFB9B" => "\u06B1", + "\uFB9C" => "\u06B1", + "\uFB9D" => "\u06B1", + "\uFB9E" => "\u06BA", + "\uFB9F" => "\u06BA", + "\uFBA0" => "\u06BB", + "\uFBA1" => "\u06BB", + "\uFBA2" => "\u06BB", + "\uFBA3" => "\u06BB", + "\uFBA4" => "\u06C0", + "\uFBA5" => "\u06C0", + "\uFBA6" => "\u06C1", + "\uFBA7" => "\u06C1", + "\uFBA8" => "\u06C1", + "\uFBA9" => "\u06C1", + "\uFBAA" => "\u06BE", + "\uFBAB" => "\u06BE", + "\uFBAC" => "\u06BE", + "\uFBAD" => "\u06BE", + "\uFBAE" => "\u06D2", + "\uFBAF" => "\u06D2", + "\uFBB0" => "\u06D3", + "\uFBB1" => "\u06D3", + "\uFBD3" => "\u06AD", + "\uFBD4" => "\u06AD", + "\uFBD5" => "\u06AD", + "\uFBD6" => "\u06AD", + "\uFBD7" => "\u06C7", + "\uFBD8" => "\u06C7", + "\uFBD9" => "\u06C6", + "\uFBDA" => "\u06C6", + "\uFBDB" => "\u06C8", + "\uFBDC" => "\u06C8", + "\uFBDD" => "\u06C7\u0674", + "\uFBDE" => "\u06CB", + "\uFBDF" => "\u06CB", + "\uFBE0" => "\u06C5", + "\uFBE1" => "\u06C5", + "\uFBE2" => "\u06C9", + "\uFBE3" => "\u06C9", + "\uFBE4" => "\u06D0", + "\uFBE5" => "\u06D0", + "\uFBE6" => "\u06D0", + "\uFBE7" => "\u06D0", + "\uFBE8" => "\u0649", + "\uFBE9" => "\u0649", + "\uFBEA" => "\u0626\u0627", + "\uFBEB" => "\u0626\u0627", + "\uFBEC" => "\u0626\u06D5", + "\uFBED" => "\u0626\u06D5", + "\uFBEE" => "\u0626\u0648", + "\uFBEF" => "\u0626\u0648", + "\uFBF0" => "\u0626\u06C7", + "\uFBF1" => "\u0626\u06C7", + "\uFBF2" => "\u0626\u06C6", + "\uFBF3" => "\u0626\u06C6", + "\uFBF4" => "\u0626\u06C8", + "\uFBF5" => "\u0626\u06C8", + "\uFBF6" => "\u0626\u06D0", + "\uFBF7" => "\u0626\u06D0", + "\uFBF8" => "\u0626\u06D0", + "\uFBF9" => "\u0626\u0649", + "\uFBFA" => "\u0626\u0649", + "\uFBFB" => "\u0626\u0649", + "\uFBFC" => "\u06CC", + "\uFBFD" => "\u06CC", + "\uFBFE" => "\u06CC", + "\uFBFF" => "\u06CC", + "\uFC00" => "\u0626\u062C", + "\uFC01" => "\u0626\u062D", + "\uFC02" => "\u0626\u0645", + "\uFC03" => "\u0626\u0649", + "\uFC04" => "\u0626\u064A", + "\uFC05" => "\u0628\u062C", + "\uFC06" => "\u0628\u062D", + "\uFC07" => "\u0628\u062E", + "\uFC08" => "\u0628\u0645", + "\uFC09" => "\u0628\u0649", + "\uFC0A" => "\u0628\u064A", + "\uFC0B" => "\u062A\u062C", + "\uFC0C" => "\u062A\u062D", + "\uFC0D" => "\u062A\u062E", + "\uFC0E" => "\u062A\u0645", + "\uFC0F" => "\u062A\u0649", + "\uFC10" => "\u062A\u064A", + "\uFC11" => "\u062B\u062C", + "\uFC12" => "\u062B\u0645", + "\uFC13" => "\u062B\u0649", + "\uFC14" => "\u062B\u064A", + "\uFC15" => "\u062C\u062D", + "\uFC16" => "\u062C\u0645", + "\uFC17" => "\u062D\u062C", + "\uFC18" => "\u062D\u0645", + "\uFC19" => "\u062E\u062C", + "\uFC1A" => "\u062E\u062D", + "\uFC1B" => "\u062E\u0645", + "\uFC1C" => "\u0633\u062C", + "\uFC1D" => "\u0633\u062D", + "\uFC1E" => "\u0633\u062E", + "\uFC1F" => "\u0633\u0645", + "\uFC20" => "\u0635\u062D", + "\uFC21" => "\u0635\u0645", + "\uFC22" => "\u0636\u062C", + "\uFC23" => "\u0636\u062D", + "\uFC24" => "\u0636\u062E", + "\uFC25" => "\u0636\u0645", + "\uFC26" => "\u0637\u062D", + "\uFC27" => "\u0637\u0645", + "\uFC28" => "\u0638\u0645", + "\uFC29" => "\u0639\u062C", + "\uFC2A" => "\u0639\u0645", + "\uFC2B" => "\u063A\u062C", + "\uFC2C" => "\u063A\u0645", + "\uFC2D" => "\u0641\u062C", + "\uFC2E" => "\u0641\u062D", + "\uFC2F" => "\u0641\u062E", + "\uFC30" => "\u0641\u0645", + "\uFC31" => "\u0641\u0649", + "\uFC32" => "\u0641\u064A", + "\uFC33" => "\u0642\u062D", + "\uFC34" => "\u0642\u0645", + "\uFC35" => "\u0642\u0649", + "\uFC36" => "\u0642\u064A", + "\uFC37" => "\u0643\u0627", + "\uFC38" => "\u0643\u062C", + "\uFC39" => "\u0643\u062D", + "\uFC3A" => "\u0643\u062E", + "\uFC3B" => "\u0643\u0644", + "\uFC3C" => "\u0643\u0645", + "\uFC3D" => "\u0643\u0649", + "\uFC3E" => "\u0643\u064A", + "\uFC3F" => "\u0644\u062C", + "\uFC40" => "\u0644\u062D", + "\uFC41" => "\u0644\u062E", + "\uFC42" => "\u0644\u0645", + "\uFC43" => "\u0644\u0649", + "\uFC44" => "\u0644\u064A", + "\uFC45" => "\u0645\u062C", + "\uFC46" => "\u0645\u062D", + "\uFC47" => "\u0645\u062E", + "\uFC48" => "\u0645\u0645", + "\uFC49" => "\u0645\u0649", + "\uFC4A" => "\u0645\u064A", + "\uFC4B" => "\u0646\u062C", + "\uFC4C" => "\u0646\u062D", + "\uFC4D" => "\u0646\u062E", + "\uFC4E" => "\u0646\u0645", + "\uFC4F" => "\u0646\u0649", + "\uFC50" => "\u0646\u064A", + "\uFC51" => "\u0647\u062C", + "\uFC52" => "\u0647\u0645", + "\uFC53" => "\u0647\u0649", + "\uFC54" => "\u0647\u064A", + "\uFC55" => "\u064A\u062C", + "\uFC56" => "\u064A\u062D", + "\uFC57" => "\u064A\u062E", + "\uFC58" => "\u064A\u0645", + "\uFC59" => "\u064A\u0649", + "\uFC5A" => "\u064A\u064A", + "\uFC5B" => "\u0630\u0670", + "\uFC5C" => "\u0631\u0670", + "\uFC5D" => "\u0649\u0670", + "\uFC5E" => " \u064C\u0651", + "\uFC5F" => " \u064D\u0651", + "\uFC60" => " \u064E\u0651", + "\uFC61" => " \u064F\u0651", + "\uFC62" => " \u0650\u0651", + "\uFC63" => " \u0651\u0670", + "\uFC64" => "\u0626\u0631", + "\uFC65" => "\u0626\u0632", + "\uFC66" => "\u0626\u0645", + "\uFC67" => "\u0626\u0646", + "\uFC68" => "\u0626\u0649", + "\uFC69" => "\u0626\u064A", + "\uFC6A" => "\u0628\u0631", + "\uFC6B" => "\u0628\u0632", + "\uFC6C" => "\u0628\u0645", + "\uFC6D" => "\u0628\u0646", + "\uFC6E" => "\u0628\u0649", + "\uFC6F" => "\u0628\u064A", + "\uFC70" => "\u062A\u0631", + "\uFC71" => "\u062A\u0632", + "\uFC72" => "\u062A\u0645", + "\uFC73" => "\u062A\u0646", + "\uFC74" => "\u062A\u0649", + "\uFC75" => "\u062A\u064A", + "\uFC76" => "\u062B\u0631", + "\uFC77" => "\u062B\u0632", + "\uFC78" => "\u062B\u0645", + "\uFC79" => "\u062B\u0646", + "\uFC7A" => "\u062B\u0649", + "\uFC7B" => "\u062B\u064A", + "\uFC7C" => "\u0641\u0649", + "\uFC7D" => "\u0641\u064A", + "\uFC7E" => "\u0642\u0649", + "\uFC7F" => "\u0642\u064A", + "\uFC80" => "\u0643\u0627", + "\uFC81" => "\u0643\u0644", + "\uFC82" => "\u0643\u0645", + "\uFC83" => "\u0643\u0649", + "\uFC84" => "\u0643\u064A", + "\uFC85" => "\u0644\u0645", + "\uFC86" => "\u0644\u0649", + "\uFC87" => "\u0644\u064A", + "\uFC88" => "\u0645\u0627", + "\uFC89" => "\u0645\u0645", + "\uFC8A" => "\u0646\u0631", + "\uFC8B" => "\u0646\u0632", + "\uFC8C" => "\u0646\u0645", + "\uFC8D" => "\u0646\u0646", + "\uFC8E" => "\u0646\u0649", + "\uFC8F" => "\u0646\u064A", + "\uFC90" => "\u0649\u0670", + "\uFC91" => "\u064A\u0631", + "\uFC92" => "\u064A\u0632", + "\uFC93" => "\u064A\u0645", + "\uFC94" => "\u064A\u0646", + "\uFC95" => "\u064A\u0649", + "\uFC96" => "\u064A\u064A", + "\uFC97" => "\u0626\u062C", + "\uFC98" => "\u0626\u062D", + "\uFC99" => "\u0626\u062E", + "\uFC9A" => "\u0626\u0645", + "\uFC9B" => "\u0626\u0647", + "\uFC9C" => "\u0628\u062C", + "\uFC9D" => "\u0628\u062D", + "\uFC9E" => "\u0628\u062E", + "\uFC9F" => "\u0628\u0645", + "\uFCA0" => "\u0628\u0647", + "\uFCA1" => "\u062A\u062C", + "\uFCA2" => "\u062A\u062D", + "\uFCA3" => "\u062A\u062E", + "\uFCA4" => "\u062A\u0645", + "\uFCA5" => "\u062A\u0647", + "\uFCA6" => "\u062B\u0645", + "\uFCA7" => "\u062C\u062D", + "\uFCA8" => "\u062C\u0645", + "\uFCA9" => "\u062D\u062C", + "\uFCAA" => "\u062D\u0645", + "\uFCAB" => "\u062E\u062C", + "\uFCAC" => "\u062E\u0645", + "\uFCAD" => "\u0633\u062C", + "\uFCAE" => "\u0633\u062D", + "\uFCAF" => "\u0633\u062E", + "\uFCB0" => "\u0633\u0645", + "\uFCB1" => "\u0635\u062D", + "\uFCB2" => "\u0635\u062E", + "\uFCB3" => "\u0635\u0645", + "\uFCB4" => "\u0636\u062C", + "\uFCB5" => "\u0636\u062D", + "\uFCB6" => "\u0636\u062E", + "\uFCB7" => "\u0636\u0645", + "\uFCB8" => "\u0637\u062D", + "\uFCB9" => "\u0638\u0645", + "\uFCBA" => "\u0639\u062C", + "\uFCBB" => "\u0639\u0645", + "\uFCBC" => "\u063A\u062C", + "\uFCBD" => "\u063A\u0645", + "\uFCBE" => "\u0641\u062C", + "\uFCBF" => "\u0641\u062D", + "\uFCC0" => "\u0641\u062E", + "\uFCC1" => "\u0641\u0645", + "\uFCC2" => "\u0642\u062D", + "\uFCC3" => "\u0642\u0645", + "\uFCC4" => "\u0643\u062C", + "\uFCC5" => "\u0643\u062D", + "\uFCC6" => "\u0643\u062E", + "\uFCC7" => "\u0643\u0644", + "\uFCC8" => "\u0643\u0645", + "\uFCC9" => "\u0644\u062C", + "\uFCCA" => "\u0644\u062D", + "\uFCCB" => "\u0644\u062E", + "\uFCCC" => "\u0644\u0645", + "\uFCCD" => "\u0644\u0647", + "\uFCCE" => "\u0645\u062C", + "\uFCCF" => "\u0645\u062D", + "\uFCD0" => "\u0645\u062E", + "\uFCD1" => "\u0645\u0645", + "\uFCD2" => "\u0646\u062C", + "\uFCD3" => "\u0646\u062D", + "\uFCD4" => "\u0646\u062E", + "\uFCD5" => "\u0646\u0645", + "\uFCD6" => "\u0646\u0647", + "\uFCD7" => "\u0647\u062C", + "\uFCD8" => "\u0647\u0645", + "\uFCD9" => "\u0647\u0670", + "\uFCDA" => "\u064A\u062C", + "\uFCDB" => "\u064A\u062D", + "\uFCDC" => "\u064A\u062E", + "\uFCDD" => "\u064A\u0645", + "\uFCDE" => "\u064A\u0647", + "\uFCDF" => "\u0626\u0645", + "\uFCE0" => "\u0626\u0647", + "\uFCE1" => "\u0628\u0645", + "\uFCE2" => "\u0628\u0647", + "\uFCE3" => "\u062A\u0645", + "\uFCE4" => "\u062A\u0647", + "\uFCE5" => "\u062B\u0645", + "\uFCE6" => "\u062B\u0647", + "\uFCE7" => "\u0633\u0645", + "\uFCE8" => "\u0633\u0647", + "\uFCE9" => "\u0634\u0645", + "\uFCEA" => "\u0634\u0647", + "\uFCEB" => "\u0643\u0644", + "\uFCEC" => "\u0643\u0645", + "\uFCED" => "\u0644\u0645", + "\uFCEE" => "\u0646\u0645", + "\uFCEF" => "\u0646\u0647", + "\uFCF0" => "\u064A\u0645", + "\uFCF1" => "\u064A\u0647", + "\uFCF2" => "\u0640\u064E\u0651", + "\uFCF3" => "\u0640\u064F\u0651", + "\uFCF4" => "\u0640\u0650\u0651", + "\uFCF5" => "\u0637\u0649", + "\uFCF6" => "\u0637\u064A", + "\uFCF7" => "\u0639\u0649", + "\uFCF8" => "\u0639\u064A", + "\uFCF9" => "\u063A\u0649", + "\uFCFA" => "\u063A\u064A", + "\uFCFB" => "\u0633\u0649", + "\uFCFC" => "\u0633\u064A", + "\uFCFD" => "\u0634\u0649", + "\uFCFE" => "\u0634\u064A", + "\uFCFF" => "\u062D\u0649", + "\uFD00" => "\u062D\u064A", + "\uFD01" => "\u062C\u0649", + "\uFD02" => "\u062C\u064A", + "\uFD03" => "\u062E\u0649", + "\uFD04" => "\u062E\u064A", + "\uFD05" => "\u0635\u0649", + "\uFD06" => "\u0635\u064A", + "\uFD07" => "\u0636\u0649", + "\uFD08" => "\u0636\u064A", + "\uFD09" => "\u0634\u062C", + "\uFD0A" => "\u0634\u062D", + "\uFD0B" => "\u0634\u062E", + "\uFD0C" => "\u0634\u0645", + "\uFD0D" => "\u0634\u0631", + "\uFD0E" => "\u0633\u0631", + "\uFD0F" => "\u0635\u0631", + "\uFD10" => "\u0636\u0631", + "\uFD11" => "\u0637\u0649", + "\uFD12" => "\u0637\u064A", + "\uFD13" => "\u0639\u0649", + "\uFD14" => "\u0639\u064A", + "\uFD15" => "\u063A\u0649", + "\uFD16" => "\u063A\u064A", + "\uFD17" => "\u0633\u0649", + "\uFD18" => "\u0633\u064A", + "\uFD19" => "\u0634\u0649", + "\uFD1A" => "\u0634\u064A", + "\uFD1B" => "\u062D\u0649", + "\uFD1C" => "\u062D\u064A", + "\uFD1D" => "\u062C\u0649", + "\uFD1E" => "\u062C\u064A", + "\uFD1F" => "\u062E\u0649", + "\uFD20" => "\u062E\u064A", + "\uFD21" => "\u0635\u0649", + "\uFD22" => "\u0635\u064A", + "\uFD23" => "\u0636\u0649", + "\uFD24" => "\u0636\u064A", + "\uFD25" => "\u0634\u062C", + "\uFD26" => "\u0634\u062D", + "\uFD27" => "\u0634\u062E", + "\uFD28" => "\u0634\u0645", + "\uFD29" => "\u0634\u0631", + "\uFD2A" => "\u0633\u0631", + "\uFD2B" => "\u0635\u0631", + "\uFD2C" => "\u0636\u0631", + "\uFD2D" => "\u0634\u062C", + "\uFD2E" => "\u0634\u062D", + "\uFD2F" => "\u0634\u062E", + "\uFD30" => "\u0634\u0645", + "\uFD31" => "\u0633\u0647", + "\uFD32" => "\u0634\u0647", + "\uFD33" => "\u0637\u0645", + "\uFD34" => "\u0633\u062C", + "\uFD35" => "\u0633\u062D", + "\uFD36" => "\u0633\u062E", + "\uFD37" => "\u0634\u062C", + "\uFD38" => "\u0634\u062D", + "\uFD39" => "\u0634\u062E", + "\uFD3A" => "\u0637\u0645", + "\uFD3B" => "\u0638\u0645", + "\uFD3C" => "\u0627\u064B", + "\uFD3D" => "\u0627\u064B", + "\uFD50" => "\u062A\u062C\u0645", + "\uFD51" => "\u062A\u062D\u062C", + "\uFD52" => "\u062A\u062D\u062C", + "\uFD53" => "\u062A\u062D\u0645", + "\uFD54" => "\u062A\u062E\u0645", + "\uFD55" => "\u062A\u0645\u062C", + "\uFD56" => "\u062A\u0645\u062D", + "\uFD57" => "\u062A\u0645\u062E", + "\uFD58" => "\u062C\u0645\u062D", + "\uFD59" => "\u062C\u0645\u062D", + "\uFD5A" => "\u062D\u0645\u064A", + "\uFD5B" => "\u062D\u0645\u0649", + "\uFD5C" => "\u0633\u062D\u062C", + "\uFD5D" => "\u0633\u062C\u062D", + "\uFD5E" => "\u0633\u062C\u0649", + "\uFD5F" => "\u0633\u0645\u062D", + "\uFD60" => "\u0633\u0645\u062D", + "\uFD61" => "\u0633\u0645\u062C", + "\uFD62" => "\u0633\u0645\u0645", + "\uFD63" => "\u0633\u0645\u0645", + "\uFD64" => "\u0635\u062D\u062D", + "\uFD65" => "\u0635\u062D\u062D", + "\uFD66" => "\u0635\u0645\u0645", + "\uFD67" => "\u0634\u062D\u0645", + "\uFD68" => "\u0634\u062D\u0645", + "\uFD69" => "\u0634\u062C\u064A", + "\uFD6A" => "\u0634\u0645\u062E", + "\uFD6B" => "\u0634\u0645\u062E", + "\uFD6C" => "\u0634\u0645\u0645", + "\uFD6D" => "\u0634\u0645\u0645", + "\uFD6E" => "\u0636\u062D\u0649", + "\uFD6F" => "\u0636\u062E\u0645", + "\uFD70" => "\u0636\u062E\u0645", + "\uFD71" => "\u0637\u0645\u062D", + "\uFD72" => "\u0637\u0645\u062D", + "\uFD73" => "\u0637\u0645\u0645", + "\uFD74" => "\u0637\u0645\u064A", + "\uFD75" => "\u0639\u062C\u0645", + "\uFD76" => "\u0639\u0645\u0645", + "\uFD77" => "\u0639\u0645\u0645", + "\uFD78" => "\u0639\u0645\u0649", + "\uFD79" => "\u063A\u0645\u0645", + "\uFD7A" => "\u063A\u0645\u064A", + "\uFD7B" => "\u063A\u0645\u0649", + "\uFD7C" => "\u0641\u062E\u0645", + "\uFD7D" => "\u0641\u062E\u0645", + "\uFD7E" => "\u0642\u0645\u062D", + "\uFD7F" => "\u0642\u0645\u0645", + "\uFD80" => "\u0644\u062D\u0645", + "\uFD81" => "\u0644\u062D\u064A", + "\uFD82" => "\u0644\u062D\u0649", + "\uFD83" => "\u0644\u062C\u062C", + "\uFD84" => "\u0644\u062C\u062C", + "\uFD85" => "\u0644\u062E\u0645", + "\uFD86" => "\u0644\u062E\u0645", + "\uFD87" => "\u0644\u0645\u062D", + "\uFD88" => "\u0644\u0645\u062D", + "\uFD89" => "\u0645\u062D\u062C", + "\uFD8A" => "\u0645\u062D\u0645", + "\uFD8B" => "\u0645\u062D\u064A", + "\uFD8C" => "\u0645\u062C\u062D", + "\uFD8D" => "\u0645\u062C\u0645", + "\uFD8E" => "\u0645\u062E\u062C", + "\uFD8F" => "\u0645\u062E\u0645", + "\uFD92" => "\u0645\u062C\u062E", + "\uFD93" => "\u0647\u0645\u062C", + "\uFD94" => "\u0647\u0645\u0645", + "\uFD95" => "\u0646\u062D\u0645", + "\uFD96" => "\u0646\u062D\u0649", + "\uFD97" => "\u0646\u062C\u0645", + "\uFD98" => "\u0646\u062C\u0645", + "\uFD99" => "\u0646\u062C\u0649", + "\uFD9A" => "\u0646\u0645\u064A", + "\uFD9B" => "\u0646\u0645\u0649", + "\uFD9C" => "\u064A\u0645\u0645", + "\uFD9D" => "\u064A\u0645\u0645", + "\uFD9E" => "\u0628\u062E\u064A", + "\uFD9F" => "\u062A\u062C\u064A", + "\uFDA0" => "\u062A\u062C\u0649", + "\uFDA1" => "\u062A\u062E\u064A", + "\uFDA2" => "\u062A\u062E\u0649", + "\uFDA3" => "\u062A\u0645\u064A", + "\uFDA4" => "\u062A\u0645\u0649", + "\uFDA5" => "\u062C\u0645\u064A", + "\uFDA6" => "\u062C\u062D\u0649", + "\uFDA7" => "\u062C\u0645\u0649", + "\uFDA8" => "\u0633\u062E\u0649", + "\uFDA9" => "\u0635\u062D\u064A", + "\uFDAA" => "\u0634\u062D\u064A", + "\uFDAB" => "\u0636\u062D\u064A", + "\uFDAC" => "\u0644\u062C\u064A", + "\uFDAD" => "\u0644\u0645\u064A", + "\uFDAE" => "\u064A\u062D\u064A", + "\uFDAF" => "\u064A\u062C\u064A", + "\uFDB0" => "\u064A\u0645\u064A", + "\uFDB1" => "\u0645\u0645\u064A", + "\uFDB2" => "\u0642\u0645\u064A", + "\uFDB3" => "\u0646\u062D\u064A", + "\uFDB4" => "\u0642\u0645\u062D", + "\uFDB5" => "\u0644\u062D\u0645", + "\uFDB6" => "\u0639\u0645\u064A", + "\uFDB7" => "\u0643\u0645\u064A", + "\uFDB8" => "\u0646\u062C\u062D", + "\uFDB9" => "\u0645\u062E\u064A", + "\uFDBA" => "\u0644\u062C\u0645", + "\uFDBB" => "\u0643\u0645\u0645", + "\uFDBC" => "\u0644\u062C\u0645", + "\uFDBD" => "\u0646\u062C\u062D", + "\uFDBE" => "\u062C\u062D\u064A", + "\uFDBF" => "\u062D\u062C\u064A", + "\uFDC0" => "\u0645\u062C\u064A", + "\uFDC1" => "\u0641\u0645\u064A", + "\uFDC2" => "\u0628\u062D\u064A", + "\uFDC3" => "\u0643\u0645\u0645", + "\uFDC4" => "\u0639\u062C\u0645", + "\uFDC5" => "\u0635\u0645\u0645", + "\uFDC6" => "\u0633\u062E\u064A", + "\uFDC7" => "\u0646\u062C\u064A", + "\uFDF0" => "\u0635\u0644\u06D2", + "\uFDF1" => "\u0642\u0644\u06D2", + "\uFDF2" => "\u0627\u0644\u0644\u0647", + "\uFDF3" => "\u0627\u0643\u0628\u0631", + "\uFDF4" => "\u0645\u062D\u0645\u062F", + "\uFDF5" => "\u0635\u0644\u0639\u0645", + "\uFDF6" => "\u0631\u0633\u0648\u0644", + "\uFDF7" => "\u0639\u0644\u064A\u0647", + "\uFDF8" => "\u0648\u0633\u0644\u0645", + "\uFDF9" => "\u0635\u0644\u0649", + "\uFDFA" => "\u0635\u0644\u0649 \u0627\u0644\u0644\u0647 \u0639\u0644\u064A\u0647 \u0648\u0633\u0644\u0645", + "\uFDFB" => "\u062C\u0644 \u062C\u0644\u0627\u0644\u0647", + "\uFDFC" => "\u0631\u06CC\u0627\u0644", + "\uFE10" => ",", + "\uFE11" => "\u3001", + "\uFE13" => ":", + "\uFE14" => ";", + "\uFE15" => "!", + "\uFE16" => "?", + "\uFE17" => "\u3016", + "\uFE18" => "\u3017", + "\uFE31" => "\u2014", + "\uFE32" => "\u2013", + "\uFE33" => "_", + "\uFE34" => "_", + "\uFE35" => "(", + "\uFE36" => ")", + "\uFE37" => "{", + "\uFE38" => "}", + "\uFE39" => "\u3014", + "\uFE3A" => "\u3015", + "\uFE3B" => "\u3010", + "\uFE3C" => "\u3011", + "\uFE3D" => "\u300A", + "\uFE3E" => "\u300B", + "\uFE3F" => "\u3008", + "\uFE40" => "\u3009", + "\uFE41" => "\u300C", + "\uFE42" => "\u300D", + "\uFE43" => "\u300E", + "\uFE44" => "\u300F", + "\uFE47" => "\\[", + "\uFE48" => "]", + "\uFE49" => " \u0305", + "\uFE4A" => " \u0305", + "\uFE4B" => " \u0305", + "\uFE4C" => " \u0305", + "\uFE4D" => "_", + "\uFE4E" => "_", + "\uFE4F" => "_", + "\uFE50" => ",", + "\uFE51" => "\u3001", + "\uFE54" => ";", + "\uFE55" => ":", + "\uFE56" => "?", + "\uFE57" => "!", + "\uFE58" => "\u2014", + "\uFE59" => "(", + "\uFE5A" => ")", + "\uFE5B" => "{", + "\uFE5C" => "}", + "\uFE5D" => "\u3014", + "\uFE5E" => "\u3015", + "\uFE5F" => "#", + "\uFE60" => "&", + "\uFE61" => "*", + "\uFE62" => "+", + "\uFE63" => "-", + "\uFE64" => "<", + "\uFE65" => ">", + "\uFE66" => "=", + "\uFE68" => "\\", + "\uFE69" => "$", + "\uFE6A" => "%", + "\uFE6B" => "@", + "\uFE70" => " \u064B", + "\uFE71" => "\u0640\u064B", + "\uFE72" => " \u064C", + "\uFE74" => " \u064D", + "\uFE76" => " \u064E", + "\uFE77" => "\u0640\u064E", + "\uFE78" => " \u064F", + "\uFE79" => "\u0640\u064F", + "\uFE7A" => " \u0650", + "\uFE7B" => "\u0640\u0650", + "\uFE7C" => " \u0651", + "\uFE7D" => "\u0640\u0651", + "\uFE7E" => " \u0652", + "\uFE7F" => "\u0640\u0652", + "\uFE80" => "\u0621", + "\uFE81" => "\u0622", + "\uFE82" => "\u0622", + "\uFE83" => "\u0623", + "\uFE84" => "\u0623", + "\uFE85" => "\u0624", + "\uFE86" => "\u0624", + "\uFE87" => "\u0625", + "\uFE88" => "\u0625", + "\uFE89" => "\u0626", + "\uFE8A" => "\u0626", + "\uFE8B" => "\u0626", + "\uFE8C" => "\u0626", + "\uFE8D" => "\u0627", + "\uFE8E" => "\u0627", + "\uFE8F" => "\u0628", + "\uFE90" => "\u0628", + "\uFE91" => "\u0628", + "\uFE92" => "\u0628", + "\uFE93" => "\u0629", + "\uFE94" => "\u0629", + "\uFE95" => "\u062A", + "\uFE96" => "\u062A", + "\uFE97" => "\u062A", + "\uFE98" => "\u062A", + "\uFE99" => "\u062B", + "\uFE9A" => "\u062B", + "\uFE9B" => "\u062B", + "\uFE9C" => "\u062B", + "\uFE9D" => "\u062C", + "\uFE9E" => "\u062C", + "\uFE9F" => "\u062C", + "\uFEA0" => "\u062C", + "\uFEA1" => "\u062D", + "\uFEA2" => "\u062D", + "\uFEA3" => "\u062D", + "\uFEA4" => "\u062D", + "\uFEA5" => "\u062E", + "\uFEA6" => "\u062E", + "\uFEA7" => "\u062E", + "\uFEA8" => "\u062E", + "\uFEA9" => "\u062F", + "\uFEAA" => "\u062F", + "\uFEAB" => "\u0630", + "\uFEAC" => "\u0630", + "\uFEAD" => "\u0631", + "\uFEAE" => "\u0631", + "\uFEAF" => "\u0632", + "\uFEB0" => "\u0632", + "\uFEB1" => "\u0633", + "\uFEB2" => "\u0633", + "\uFEB3" => "\u0633", + "\uFEB4" => "\u0633", + "\uFEB5" => "\u0634", + "\uFEB6" => "\u0634", + "\uFEB7" => "\u0634", + "\uFEB8" => "\u0634", + "\uFEB9" => "\u0635", + "\uFEBA" => "\u0635", + "\uFEBB" => "\u0635", + "\uFEBC" => "\u0635", + "\uFEBD" => "\u0636", + "\uFEBE" => "\u0636", + "\uFEBF" => "\u0636", + "\uFEC0" => "\u0636", + "\uFEC1" => "\u0637", + "\uFEC2" => "\u0637", + "\uFEC3" => "\u0637", + "\uFEC4" => "\u0637", + "\uFEC5" => "\u0638", + "\uFEC6" => "\u0638", + "\uFEC7" => "\u0638", + "\uFEC8" => "\u0638", + "\uFEC9" => "\u0639", + "\uFECA" => "\u0639", + "\uFECB" => "\u0639", + "\uFECC" => "\u0639", + "\uFECD" => "\u063A", + "\uFECE" => "\u063A", + "\uFECF" => "\u063A", + "\uFED0" => "\u063A", + "\uFED1" => "\u0641", + "\uFED2" => "\u0641", + "\uFED3" => "\u0641", + "\uFED4" => "\u0641", + "\uFED5" => "\u0642", + "\uFED6" => "\u0642", + "\uFED7" => "\u0642", + "\uFED8" => "\u0642", + "\uFED9" => "\u0643", + "\uFEDA" => "\u0643", + "\uFEDB" => "\u0643", + "\uFEDC" => "\u0643", + "\uFEDD" => "\u0644", + "\uFEDE" => "\u0644", + "\uFEDF" => "\u0644", + "\uFEE0" => "\u0644", + "\uFEE1" => "\u0645", + "\uFEE2" => "\u0645", + "\uFEE3" => "\u0645", + "\uFEE4" => "\u0645", + "\uFEE5" => "\u0646", + "\uFEE6" => "\u0646", + "\uFEE7" => "\u0646", + "\uFEE8" => "\u0646", + "\uFEE9" => "\u0647", + "\uFEEA" => "\u0647", + "\uFEEB" => "\u0647", + "\uFEEC" => "\u0647", + "\uFEED" => "\u0648", + "\uFEEE" => "\u0648", + "\uFEEF" => "\u0649", + "\uFEF0" => "\u0649", + "\uFEF1" => "\u064A", + "\uFEF2" => "\u064A", + "\uFEF3" => "\u064A", + "\uFEF4" => "\u064A", + "\uFEF5" => "\u0644\u0622", + "\uFEF6" => "\u0644\u0622", + "\uFEF7" => "\u0644\u0623", + "\uFEF8" => "\u0644\u0623", + "\uFEF9" => "\u0644\u0625", + "\uFEFA" => "\u0644\u0625", + "\uFEFB" => "\u0644\u0627", + "\uFEFC" => "\u0644\u0627", + "\uFF01" => "!", + "\uFF02" => "\"", + "\uFF03" => "#", + "\uFF04" => "$", + "\uFF05" => "%", + "\uFF06" => "&", + "\uFF07" => "'", + "\uFF08" => "(", + "\uFF09" => ")", + "\uFF0A" => "*", + "\uFF0B" => "+", + "\uFF0C" => ",", + "\uFF0D" => "-", + "\uFF0E" => ".", + "\uFF0F" => "/", + "\uFF10" => "0", + "\uFF11" => "1", + "\uFF12" => "2", + "\uFF13" => "3", + "\uFF14" => "4", + "\uFF15" => "5", + "\uFF16" => "6", + "\uFF17" => "7", + "\uFF18" => "8", + "\uFF19" => "9", + "\uFF1A" => ":", + "\uFF1B" => ";", + "\uFF1C" => "<", + "\uFF1D" => "=", + "\uFF1E" => ">", + "\uFF1F" => "?", + "\uFF20" => "@", + "\uFF21" => "a", + "\uFF22" => "b", + "\uFF23" => "c", + "\uFF24" => "d", + "\uFF25" => "e", + "\uFF26" => "f", + "\uFF27" => "g", + "\uFF28" => "h", + "\uFF29" => "i", + "\uFF2A" => "j", + "\uFF2B" => "k", + "\uFF2C" => "l", + "\uFF2D" => "m", + "\uFF2E" => "n", + "\uFF2F" => "o", + "\uFF30" => "p", + "\uFF31" => "q", + "\uFF32" => "r", + "\uFF33" => "s", + "\uFF34" => "t", + "\uFF35" => "u", + "\uFF36" => "v", + "\uFF37" => "w", + "\uFF38" => "x", + "\uFF39" => "y", + "\uFF3A" => "z", + "\uFF3B" => "\\[", + "\uFF3C" => "\\", + "\uFF3D" => "]", + "\uFF3E" => "^", + "\uFF3F" => "_", + "\uFF40" => "`", + "\uFF41" => "a", + "\uFF42" => "b", + "\uFF43" => "c", + "\uFF44" => "d", + "\uFF45" => "e", + "\uFF46" => "f", + "\uFF47" => "g", + "\uFF48" => "h", + "\uFF49" => "i", + "\uFF4A" => "j", + "\uFF4B" => "k", + "\uFF4C" => "l", + "\uFF4D" => "m", + "\uFF4E" => "n", + "\uFF4F" => "o", + "\uFF50" => "p", + "\uFF51" => "q", + "\uFF52" => "r", + "\uFF53" => "s", + "\uFF54" => "t", + "\uFF55" => "u", + "\uFF56" => "v", + "\uFF57" => "w", + "\uFF58" => "x", + "\uFF59" => "y", + "\uFF5A" => "z", + "\uFF5B" => "{", + "\uFF5C" => "|", + "\uFF5D" => "}", + "\uFF5E" => "~", + "\uFF5F" => "\u2985", + "\uFF60" => "\u2986", + "\uFF61" => ".", + "\uFF62" => "\u300C", + "\uFF63" => "\u300D", + "\uFF64" => "\u3001", + "\uFF65" => "\u30FB", + "\uFF66" => "\u30F2", + "\uFF67" => "\u30A1", + "\uFF68" => "\u30A3", + "\uFF69" => "\u30A5", + "\uFF6A" => "\u30A7", + "\uFF6B" => "\u30A9", + "\uFF6C" => "\u30E3", + "\uFF6D" => "\u30E5", + "\uFF6E" => "\u30E7", + "\uFF6F" => "\u30C3", + "\uFF70" => "\u30FC", + "\uFF71" => "\u30A2", + "\uFF72" => "\u30A4", + "\uFF73" => "\u30A6", + "\uFF74" => "\u30A8", + "\uFF75" => "\u30AA", + "\uFF76" => "\u30AB", + "\uFF77" => "\u30AD", + "\uFF78" => "\u30AF", + "\uFF79" => "\u30B1", + "\uFF7A" => "\u30B3", + "\uFF7B" => "\u30B5", + "\uFF7C" => "\u30B7", + "\uFF7D" => "\u30B9", + "\uFF7E" => "\u30BB", + "\uFF7F" => "\u30BD", + "\uFF80" => "\u30BF", + "\uFF81" => "\u30C1", + "\uFF82" => "\u30C4", + "\uFF83" => "\u30C6", + "\uFF84" => "\u30C8", + "\uFF85" => "\u30CA", + "\uFF86" => "\u30CB", + "\uFF87" => "\u30CC", + "\uFF88" => "\u30CD", + "\uFF89" => "\u30CE", + "\uFF8A" => "\u30CF", + "\uFF8B" => "\u30D2", + "\uFF8C" => "\u30D5", + "\uFF8D" => "\u30D8", + "\uFF8E" => "\u30DB", + "\uFF8F" => "\u30DE", + "\uFF90" => "\u30DF", + "\uFF91" => "\u30E0", + "\uFF92" => "\u30E1", + "\uFF93" => "\u30E2", + "\uFF94" => "\u30E4", + "\uFF95" => "\u30E6", + "\uFF96" => "\u30E8", + "\uFF97" => "\u30E9", + "\uFF98" => "\u30EA", + "\uFF99" => "\u30EB", + "\uFF9A" => "\u30EC", + "\uFF9B" => "\u30ED", + "\uFF9C" => "\u30EF", + "\uFF9D" => "\u30F3", + "\uFF9E" => "\u3099", + "\uFF9F" => "\u309A", + "\uFFA1" => "\u1100", + "\uFFA2" => "\u1101", + "\uFFA3" => "\u11AA", + "\uFFA4" => "\u1102", + "\uFFA5" => "\u11AC", + "\uFFA6" => "\u11AD", + "\uFFA7" => "\u1103", + "\uFFA8" => "\u1104", + "\uFFA9" => "\u1105", + "\uFFAA" => "\u11B0", + "\uFFAB" => "\u11B1", + "\uFFAC" => "\u11B2", + "\uFFAD" => "\u11B3", + "\uFFAE" => "\u11B4", + "\uFFAF" => "\u11B5", + "\uFFB0" => "\u111A", + "\uFFB1" => "\u1106", + "\uFFB2" => "\u1107", + "\uFFB3" => "\u1108", + "\uFFB4" => "\u1121", + "\uFFB5" => "\u1109", + "\uFFB6" => "\u110A", + "\uFFB7" => "\u110B", + "\uFFB8" => "\u110C", + "\uFFB9" => "\u110D", + "\uFFBA" => "\u110E", + "\uFFBB" => "\u110F", + "\uFFBC" => "\u1110", + "\uFFBD" => "\u1111", + "\uFFBE" => "\u1112", + "\uFFC2" => "\u1161", + "\uFFC3" => "\u1162", + "\uFFC4" => "\u1163", + "\uFFC5" => "\u1164", + "\uFFC6" => "\u1165", + "\uFFC7" => "\u1166", + "\uFFCA" => "\u1167", + "\uFFCB" => "\u1168", + "\uFFCC" => "\u1169", + "\uFFCD" => "\u116A", + "\uFFCE" => "\u116B", + "\uFFCF" => "\u116C", + "\uFFD2" => "\u116D", + "\uFFD3" => "\u116E", + "\uFFD4" => "\u116F", + "\uFFD5" => "\u1170", + "\uFFD6" => "\u1171", + "\uFFD7" => "\u1172", + "\uFFDA" => "\u1173", + "\uFFDB" => "\u1174", + "\uFFDC" => "\u1175", + "\uFFE0" => "\u00A2", + "\uFFE1" => "\u00A3", + "\uFFE2" => "\u00AC", + "\uFFE3" => " \u0304", + "\uFFE4" => "\u00A6", + "\uFFE5" => "\u00A5", + "\uFFE6" => "\u20A9", + "\uFFE8" => "\u2502", + "\uFFE9" => "\u2190", + "\uFFEA" => "\u2191", + "\uFFEB" => "\u2192", + "\uFFEC" => "\u2193", + "\uFFED" => "\u25A0", + "\uFFEE" => "\u25CB", + "\u{10400}" => "\u{10428}", + "\u{10401}" => "\u{10429}", + "\u{10402}" => "\u{1042A}", + "\u{10403}" => "\u{1042B}", + "\u{10404}" => "\u{1042C}", + "\u{10405}" => "\u{1042D}", + "\u{10406}" => "\u{1042E}", + "\u{10407}" => "\u{1042F}", + "\u{10408}" => "\u{10430}", + "\u{10409}" => "\u{10431}", + "\u{1040A}" => "\u{10432}", + "\u{1040B}" => "\u{10433}", + "\u{1040C}" => "\u{10434}", + "\u{1040D}" => "\u{10435}", + "\u{1040E}" => "\u{10436}", + "\u{1040F}" => "\u{10437}", + "\u{10410}" => "\u{10438}", + "\u{10411}" => "\u{10439}", + "\u{10412}" => "\u{1043A}", + "\u{10413}" => "\u{1043B}", + "\u{10414}" => "\u{1043C}", + "\u{10415}" => "\u{1043D}", + "\u{10416}" => "\u{1043E}", + "\u{10417}" => "\u{1043F}", + "\u{10418}" => "\u{10440}", + "\u{10419}" => "\u{10441}", + "\u{1041A}" => "\u{10442}", + "\u{1041B}" => "\u{10443}", + "\u{1041C}" => "\u{10444}", + "\u{1041D}" => "\u{10445}", + "\u{1041E}" => "\u{10446}", + "\u{1041F}" => "\u{10447}", + "\u{10420}" => "\u{10448}", + "\u{10421}" => "\u{10449}", + "\u{10422}" => "\u{1044A}", + "\u{10423}" => "\u{1044B}", + "\u{10424}" => "\u{1044C}", + "\u{10425}" => "\u{1044D}", + "\u{10426}" => "\u{1044E}", + "\u{10427}" => "\u{1044F}", + "\u{104B0}" => "\u{104D8}", + "\u{104B1}" => "\u{104D9}", + "\u{104B2}" => "\u{104DA}", + "\u{104B3}" => "\u{104DB}", + "\u{104B4}" => "\u{104DC}", + "\u{104B5}" => "\u{104DD}", + "\u{104B6}" => "\u{104DE}", + "\u{104B7}" => "\u{104DF}", + "\u{104B8}" => "\u{104E0}", + "\u{104B9}" => "\u{104E1}", + "\u{104BA}" => "\u{104E2}", + "\u{104BB}" => "\u{104E3}", + "\u{104BC}" => "\u{104E4}", + "\u{104BD}" => "\u{104E5}", + "\u{104BE}" => "\u{104E6}", + "\u{104BF}" => "\u{104E7}", + "\u{104C0}" => "\u{104E8}", + "\u{104C1}" => "\u{104E9}", + "\u{104C2}" => "\u{104EA}", + "\u{104C3}" => "\u{104EB}", + "\u{104C4}" => "\u{104EC}", + "\u{104C5}" => "\u{104ED}", + "\u{104C6}" => "\u{104EE}", + "\u{104C7}" => "\u{104EF}", + "\u{104C8}" => "\u{104F0}", + "\u{104C9}" => "\u{104F1}", + "\u{104CA}" => "\u{104F2}", + "\u{104CB}" => "\u{104F3}", + "\u{104CC}" => "\u{104F4}", + "\u{104CD}" => "\u{104F5}", + "\u{104CE}" => "\u{104F6}", + "\u{104CF}" => "\u{104F7}", + "\u{104D0}" => "\u{104F8}", + "\u{104D1}" => "\u{104F9}", + "\u{104D2}" => "\u{104FA}", + "\u{104D3}" => "\u{104FB}", + "\u{10570}" => "\u{10597}", + "\u{10571}" => "\u{10598}", + "\u{10572}" => "\u{10599}", + "\u{10573}" => "\u{1059A}", + "\u{10574}" => "\u{1059B}", + "\u{10575}" => "\u{1059C}", + "\u{10576}" => "\u{1059D}", + "\u{10577}" => "\u{1059E}", + "\u{10578}" => "\u{1059F}", + "\u{10579}" => "\u{105A0}", + "\u{1057A}" => "\u{105A1}", + "\u{1057C}" => "\u{105A3}", + "\u{1057D}" => "\u{105A4}", + "\u{1057E}" => "\u{105A5}", + "\u{1057F}" => "\u{105A6}", + "\u{10580}" => "\u{105A7}", + "\u{10581}" => "\u{105A8}", + "\u{10582}" => "\u{105A9}", + "\u{10583}" => "\u{105AA}", + "\u{10584}" => "\u{105AB}", + "\u{10585}" => "\u{105AC}", + "\u{10586}" => "\u{105AD}", + "\u{10587}" => "\u{105AE}", + "\u{10588}" => "\u{105AF}", + "\u{10589}" => "\u{105B0}", + "\u{1058A}" => "\u{105B1}", + "\u{1058C}" => "\u{105B3}", + "\u{1058D}" => "\u{105B4}", + "\u{1058E}" => "\u{105B5}", + "\u{1058F}" => "\u{105B6}", + "\u{10590}" => "\u{105B7}", + "\u{10591}" => "\u{105B8}", + "\u{10592}" => "\u{105B9}", + "\u{10594}" => "\u{105BB}", + "\u{10595}" => "\u{105BC}", + "\u{10781}" => "\u02D0", + "\u{10782}" => "\u02D1", + "\u{10783}" => "\u00E6", + "\u{10784}" => "\u0299", + "\u{10785}" => "\u0253", + "\u{10787}" => "\u02A3", + "\u{10788}" => "\uAB66", + "\u{10789}" => "\u02A5", + "\u{1078A}" => "\u02A4", + "\u{1078B}" => "\u0256", + "\u{1078C}" => "\u0257", + "\u{1078D}" => "\u1D91", + "\u{1078E}" => "\u0258", + "\u{1078F}" => "\u025E", + "\u{10790}" => "\u02A9", + "\u{10791}" => "\u0264", + "\u{10792}" => "\u0262", + "\u{10793}" => "\u0260", + "\u{10794}" => "\u029B", + "\u{10795}" => "\u0127", + "\u{10796}" => "\u029C", + "\u{10797}" => "\u0267", + "\u{10798}" => "\u0284", + "\u{10799}" => "\u02AA", + "\u{1079A}" => "\u02AB", + "\u{1079B}" => "\u026C", + "\u{1079C}" => "\u{1DF04}", + "\u{1079D}" => "\uA78E", + "\u{1079E}" => "\u026E", + "\u{1079F}" => "\u{1DF05}", + "\u{107A0}" => "\u028E", + "\u{107A1}" => "\u{1DF06}", + "\u{107A2}" => "\u00F8", + "\u{107A3}" => "\u0276", + "\u{107A4}" => "\u0277", + "\u{107A5}" => "q", + "\u{107A6}" => "\u027A", + "\u{107A7}" => "\u{1DF08}", + "\u{107A8}" => "\u027D", + "\u{107A9}" => "\u027E", + "\u{107AA}" => "\u0280", + "\u{107AB}" => "\u02A8", + "\u{107AC}" => "\u02A6", + "\u{107AD}" => "\uAB67", + "\u{107AE}" => "\u02A7", + "\u{107AF}" => "\u0288", + "\u{107B0}" => "\u2C71", + "\u{107B2}" => "\u028F", + "\u{107B3}" => "\u02A1", + "\u{107B4}" => "\u02A2", + "\u{107B5}" => "\u0298", + "\u{107B6}" => "\u01C0", + "\u{107B7}" => "\u01C1", + "\u{107B8}" => "\u01C2", + "\u{107B9}" => "\u{1DF0A}", + "\u{107BA}" => "\u{1DF1E}", + "\u{10C80}" => "\u{10CC0}", + "\u{10C81}" => "\u{10CC1}", + "\u{10C82}" => "\u{10CC2}", + "\u{10C83}" => "\u{10CC3}", + "\u{10C84}" => "\u{10CC4}", + "\u{10C85}" => "\u{10CC5}", + "\u{10C86}" => "\u{10CC6}", + "\u{10C87}" => "\u{10CC7}", + "\u{10C88}" => "\u{10CC8}", + "\u{10C89}" => "\u{10CC9}", + "\u{10C8A}" => "\u{10CCA}", + "\u{10C8B}" => "\u{10CCB}", + "\u{10C8C}" => "\u{10CCC}", + "\u{10C8D}" => "\u{10CCD}", + "\u{10C8E}" => "\u{10CCE}", + "\u{10C8F}" => "\u{10CCF}", + "\u{10C90}" => "\u{10CD0}", + "\u{10C91}" => "\u{10CD1}", + "\u{10C92}" => "\u{10CD2}", + "\u{10C93}" => "\u{10CD3}", + "\u{10C94}" => "\u{10CD4}", + "\u{10C95}" => "\u{10CD5}", + "\u{10C96}" => "\u{10CD6}", + "\u{10C97}" => "\u{10CD7}", + "\u{10C98}" => "\u{10CD8}", + "\u{10C99}" => "\u{10CD9}", + "\u{10C9A}" => "\u{10CDA}", + "\u{10C9B}" => "\u{10CDB}", + "\u{10C9C}" => "\u{10CDC}", + "\u{10C9D}" => "\u{10CDD}", + "\u{10C9E}" => "\u{10CDE}", + "\u{10C9F}" => "\u{10CDF}", + "\u{10CA0}" => "\u{10CE0}", + "\u{10CA1}" => "\u{10CE1}", + "\u{10CA2}" => "\u{10CE2}", + "\u{10CA3}" => "\u{10CE3}", + "\u{10CA4}" => "\u{10CE4}", + "\u{10CA5}" => "\u{10CE5}", + "\u{10CA6}" => "\u{10CE6}", + "\u{10CA7}" => "\u{10CE7}", + "\u{10CA8}" => "\u{10CE8}", + "\u{10CA9}" => "\u{10CE9}", + "\u{10CAA}" => "\u{10CEA}", + "\u{10CAB}" => "\u{10CEB}", + "\u{10CAC}" => "\u{10CEC}", + "\u{10CAD}" => "\u{10CED}", + "\u{10CAE}" => "\u{10CEE}", + "\u{10CAF}" => "\u{10CEF}", + "\u{10CB0}" => "\u{10CF0}", + "\u{10CB1}" => "\u{10CF1}", + "\u{10CB2}" => "\u{10CF2}", + "\u{118A0}" => "\u{118C0}", + "\u{118A1}" => "\u{118C1}", + "\u{118A2}" => "\u{118C2}", + "\u{118A3}" => "\u{118C3}", + "\u{118A4}" => "\u{118C4}", + "\u{118A5}" => "\u{118C5}", + "\u{118A6}" => "\u{118C6}", + "\u{118A7}" => "\u{118C7}", + "\u{118A8}" => "\u{118C8}", + "\u{118A9}" => "\u{118C9}", + "\u{118AA}" => "\u{118CA}", + "\u{118AB}" => "\u{118CB}", + "\u{118AC}" => "\u{118CC}", + "\u{118AD}" => "\u{118CD}", + "\u{118AE}" => "\u{118CE}", + "\u{118AF}" => "\u{118CF}", + "\u{118B0}" => "\u{118D0}", + "\u{118B1}" => "\u{118D1}", + "\u{118B2}" => "\u{118D2}", + "\u{118B3}" => "\u{118D3}", + "\u{118B4}" => "\u{118D4}", + "\u{118B5}" => "\u{118D5}", + "\u{118B6}" => "\u{118D6}", + "\u{118B7}" => "\u{118D7}", + "\u{118B8}" => "\u{118D8}", + "\u{118B9}" => "\u{118D9}", + "\u{118BA}" => "\u{118DA}", + "\u{118BB}" => "\u{118DB}", + "\u{118BC}" => "\u{118DC}", + "\u{118BD}" => "\u{118DD}", + "\u{118BE}" => "\u{118DE}", + "\u{118BF}" => "\u{118DF}", + "\u{16E40}" => "\u{16E60}", + "\u{16E41}" => "\u{16E61}", + "\u{16E42}" => "\u{16E62}", + "\u{16E43}" => "\u{16E63}", + "\u{16E44}" => "\u{16E64}", + "\u{16E45}" => "\u{16E65}", + "\u{16E46}" => "\u{16E66}", + "\u{16E47}" => "\u{16E67}", + "\u{16E48}" => "\u{16E68}", + "\u{16E49}" => "\u{16E69}", + "\u{16E4A}" => "\u{16E6A}", + "\u{16E4B}" => "\u{16E6B}", + "\u{16E4C}" => "\u{16E6C}", + "\u{16E4D}" => "\u{16E6D}", + "\u{16E4E}" => "\u{16E6E}", + "\u{16E4F}" => "\u{16E6F}", + "\u{16E50}" => "\u{16E70}", + "\u{16E51}" => "\u{16E71}", + "\u{16E52}" => "\u{16E72}", + "\u{16E53}" => "\u{16E73}", + "\u{16E54}" => "\u{16E74}", + "\u{16E55}" => "\u{16E75}", + "\u{16E56}" => "\u{16E76}", + "\u{16E57}" => "\u{16E77}", + "\u{16E58}" => "\u{16E78}", + "\u{16E59}" => "\u{16E79}", + "\u{16E5A}" => "\u{16E7A}", + "\u{16E5B}" => "\u{16E7B}", + "\u{16E5C}" => "\u{16E7C}", + "\u{16E5D}" => "\u{16E7D}", + "\u{16E5E}" => "\u{16E7E}", + "\u{16E5F}" => "\u{16E7F}", + "\u{1D15E}" => "\u{1D157}\u{1D165}", + "\u{1D15F}" => "\u{1D158}\u{1D165}", + "\u{1D160}" => "\u{1D158}\u{1D165}\u{1D16E}", + "\u{1D161}" => "\u{1D158}\u{1D165}\u{1D16F}", + "\u{1D162}" => "\u{1D158}\u{1D165}\u{1D170}", + "\u{1D163}" => "\u{1D158}\u{1D165}\u{1D171}", + "\u{1D164}" => "\u{1D158}\u{1D165}\u{1D172}", + "\u{1D1BB}" => "\u{1D1B9}\u{1D165}", + "\u{1D1BC}" => "\u{1D1BA}\u{1D165}", + "\u{1D1BD}" => "\u{1D1B9}\u{1D165}\u{1D16E}", + "\u{1D1BE}" => "\u{1D1BA}\u{1D165}\u{1D16E}", + "\u{1D1BF}" => "\u{1D1B9}\u{1D165}\u{1D16F}", + "\u{1D1C0}" => "\u{1D1BA}\u{1D165}\u{1D16F}", + "\u{1D400}" => "a", + "\u{1D401}" => "b", + "\u{1D402}" => "c", + "\u{1D403}" => "d", + "\u{1D404}" => "e", + "\u{1D405}" => "f", + "\u{1D406}" => "g", + "\u{1D407}" => "h", + "\u{1D408}" => "i", + "\u{1D409}" => "j", + "\u{1D40A}" => "k", + "\u{1D40B}" => "l", + "\u{1D40C}" => "m", + "\u{1D40D}" => "n", + "\u{1D40E}" => "o", + "\u{1D40F}" => "p", + "\u{1D410}" => "q", + "\u{1D411}" => "r", + "\u{1D412}" => "s", + "\u{1D413}" => "t", + "\u{1D414}" => "u", + "\u{1D415}" => "v", + "\u{1D416}" => "w", + "\u{1D417}" => "x", + "\u{1D418}" => "y", + "\u{1D419}" => "z", + "\u{1D41A}" => "a", + "\u{1D41B}" => "b", + "\u{1D41C}" => "c", + "\u{1D41D}" => "d", + "\u{1D41E}" => "e", + "\u{1D41F}" => "f", + "\u{1D420}" => "g", + "\u{1D421}" => "h", + "\u{1D422}" => "i", + "\u{1D423}" => "j", + "\u{1D424}" => "k", + "\u{1D425}" => "l", + "\u{1D426}" => "m", + "\u{1D427}" => "n", + "\u{1D428}" => "o", + "\u{1D429}" => "p", + "\u{1D42A}" => "q", + "\u{1D42B}" => "r", + "\u{1D42C}" => "s", + "\u{1D42D}" => "t", + "\u{1D42E}" => "u", + "\u{1D42F}" => "v", + "\u{1D430}" => "w", + "\u{1D431}" => "x", + "\u{1D432}" => "y", + "\u{1D433}" => "z", + "\u{1D434}" => "a", + "\u{1D435}" => "b", + "\u{1D436}" => "c", + "\u{1D437}" => "d", + "\u{1D438}" => "e", + "\u{1D439}" => "f", + "\u{1D43A}" => "g", + "\u{1D43B}" => "h", + "\u{1D43C}" => "i", + "\u{1D43D}" => "j", + "\u{1D43E}" => "k", + "\u{1D43F}" => "l", + "\u{1D440}" => "m", + "\u{1D441}" => "n", + "\u{1D442}" => "o", + "\u{1D443}" => "p", + "\u{1D444}" => "q", + "\u{1D445}" => "r", + "\u{1D446}" => "s", + "\u{1D447}" => "t", + "\u{1D448}" => "u", + "\u{1D449}" => "v", + "\u{1D44A}" => "w", + "\u{1D44B}" => "x", + "\u{1D44C}" => "y", + "\u{1D44D}" => "z", + "\u{1D44E}" => "a", + "\u{1D44F}" => "b", + "\u{1D450}" => "c", + "\u{1D451}" => "d", + "\u{1D452}" => "e", + "\u{1D453}" => "f", + "\u{1D454}" => "g", + "\u{1D456}" => "i", + "\u{1D457}" => "j", + "\u{1D458}" => "k", + "\u{1D459}" => "l", + "\u{1D45A}" => "m", + "\u{1D45B}" => "n", + "\u{1D45C}" => "o", + "\u{1D45D}" => "p", + "\u{1D45E}" => "q", + "\u{1D45F}" => "r", + "\u{1D460}" => "s", + "\u{1D461}" => "t", + "\u{1D462}" => "u", + "\u{1D463}" => "v", + "\u{1D464}" => "w", + "\u{1D465}" => "x", + "\u{1D466}" => "y", + "\u{1D467}" => "z", + "\u{1D468}" => "a", + "\u{1D469}" => "b", + "\u{1D46A}" => "c", + "\u{1D46B}" => "d", + "\u{1D46C}" => "e", + "\u{1D46D}" => "f", + "\u{1D46E}" => "g", + "\u{1D46F}" => "h", + "\u{1D470}" => "i", + "\u{1D471}" => "j", + "\u{1D472}" => "k", + "\u{1D473}" => "l", + "\u{1D474}" => "m", + "\u{1D475}" => "n", + "\u{1D476}" => "o", + "\u{1D477}" => "p", + "\u{1D478}" => "q", + "\u{1D479}" => "r", + "\u{1D47A}" => "s", + "\u{1D47B}" => "t", + "\u{1D47C}" => "u", + "\u{1D47D}" => "v", + "\u{1D47E}" => "w", + "\u{1D47F}" => "x", + "\u{1D480}" => "y", + "\u{1D481}" => "z", + "\u{1D482}" => "a", + "\u{1D483}" => "b", + "\u{1D484}" => "c", + "\u{1D485}" => "d", + "\u{1D486}" => "e", + "\u{1D487}" => "f", + "\u{1D488}" => "g", + "\u{1D489}" => "h", + "\u{1D48A}" => "i", + "\u{1D48B}" => "j", + "\u{1D48C}" => "k", + "\u{1D48D}" => "l", + "\u{1D48E}" => "m", + "\u{1D48F}" => "n", + "\u{1D490}" => "o", + "\u{1D491}" => "p", + "\u{1D492}" => "q", + "\u{1D493}" => "r", + "\u{1D494}" => "s", + "\u{1D495}" => "t", + "\u{1D496}" => "u", + "\u{1D497}" => "v", + "\u{1D498}" => "w", + "\u{1D499}" => "x", + "\u{1D49A}" => "y", + "\u{1D49B}" => "z", + "\u{1D49C}" => "a", + "\u{1D49E}" => "c", + "\u{1D49F}" => "d", + "\u{1D4A2}" => "g", + "\u{1D4A5}" => "j", + "\u{1D4A6}" => "k", + "\u{1D4A9}" => "n", + "\u{1D4AA}" => "o", + "\u{1D4AB}" => "p", + "\u{1D4AC}" => "q", + "\u{1D4AE}" => "s", + "\u{1D4AF}" => "t", + "\u{1D4B0}" => "u", + "\u{1D4B1}" => "v", + "\u{1D4B2}" => "w", + "\u{1D4B3}" => "x", + "\u{1D4B4}" => "y", + "\u{1D4B5}" => "z", + "\u{1D4B6}" => "a", + "\u{1D4B7}" => "b", + "\u{1D4B8}" => "c", + "\u{1D4B9}" => "d", + "\u{1D4BB}" => "f", + "\u{1D4BD}" => "h", + "\u{1D4BE}" => "i", + "\u{1D4BF}" => "j", + "\u{1D4C0}" => "k", + "\u{1D4C1}" => "l", + "\u{1D4C2}" => "m", + "\u{1D4C3}" => "n", + "\u{1D4C5}" => "p", + "\u{1D4C6}" => "q", + "\u{1D4C7}" => "r", + "\u{1D4C8}" => "s", + "\u{1D4C9}" => "t", + "\u{1D4CA}" => "u", + "\u{1D4CB}" => "v", + "\u{1D4CC}" => "w", + "\u{1D4CD}" => "x", + "\u{1D4CE}" => "y", + "\u{1D4CF}" => "z", + "\u{1D4D0}" => "a", + "\u{1D4D1}" => "b", + "\u{1D4D2}" => "c", + "\u{1D4D3}" => "d", + "\u{1D4D4}" => "e", + "\u{1D4D5}" => "f", + "\u{1D4D6}" => "g", + "\u{1D4D7}" => "h", + "\u{1D4D8}" => "i", + "\u{1D4D9}" => "j", + "\u{1D4DA}" => "k", + "\u{1D4DB}" => "l", + "\u{1D4DC}" => "m", + "\u{1D4DD}" => "n", + "\u{1D4DE}" => "o", + "\u{1D4DF}" => "p", + "\u{1D4E0}" => "q", + "\u{1D4E1}" => "r", + "\u{1D4E2}" => "s", + "\u{1D4E3}" => "t", + "\u{1D4E4}" => "u", + "\u{1D4E5}" => "v", + "\u{1D4E6}" => "w", + "\u{1D4E7}" => "x", + "\u{1D4E8}" => "y", + "\u{1D4E9}" => "z", + "\u{1D4EA}" => "a", + "\u{1D4EB}" => "b", + "\u{1D4EC}" => "c", + "\u{1D4ED}" => "d", + "\u{1D4EE}" => "e", + "\u{1D4EF}" => "f", + "\u{1D4F0}" => "g", + "\u{1D4F1}" => "h", + "\u{1D4F2}" => "i", + "\u{1D4F3}" => "j", + "\u{1D4F4}" => "k", + "\u{1D4F5}" => "l", + "\u{1D4F6}" => "m", + "\u{1D4F7}" => "n", + "\u{1D4F8}" => "o", + "\u{1D4F9}" => "p", + "\u{1D4FA}" => "q", + "\u{1D4FB}" => "r", + "\u{1D4FC}" => "s", + "\u{1D4FD}" => "t", + "\u{1D4FE}" => "u", + "\u{1D4FF}" => "v", + "\u{1D500}" => "w", + "\u{1D501}" => "x", + "\u{1D502}" => "y", + "\u{1D503}" => "z", + "\u{1D504}" => "a", + "\u{1D505}" => "b", + "\u{1D507}" => "d", + "\u{1D508}" => "e", + "\u{1D509}" => "f", + "\u{1D50A}" => "g", + "\u{1D50D}" => "j", + "\u{1D50E}" => "k", + "\u{1D50F}" => "l", + "\u{1D510}" => "m", + "\u{1D511}" => "n", + "\u{1D512}" => "o", + "\u{1D513}" => "p", + "\u{1D514}" => "q", + "\u{1D516}" => "s", + "\u{1D517}" => "t", + "\u{1D518}" => "u", + "\u{1D519}" => "v", + "\u{1D51A}" => "w", + "\u{1D51B}" => "x", + "\u{1D51C}" => "y", + "\u{1D51E}" => "a", + "\u{1D51F}" => "b", + "\u{1D520}" => "c", + "\u{1D521}" => "d", + "\u{1D522}" => "e", + "\u{1D523}" => "f", + "\u{1D524}" => "g", + "\u{1D525}" => "h", + "\u{1D526}" => "i", + "\u{1D527}" => "j", + "\u{1D528}" => "k", + "\u{1D529}" => "l", + "\u{1D52A}" => "m", + "\u{1D52B}" => "n", + "\u{1D52C}" => "o", + "\u{1D52D}" => "p", + "\u{1D52E}" => "q", + "\u{1D52F}" => "r", + "\u{1D530}" => "s", + "\u{1D531}" => "t", + "\u{1D532}" => "u", + "\u{1D533}" => "v", + "\u{1D534}" => "w", + "\u{1D535}" => "x", + "\u{1D536}" => "y", + "\u{1D537}" => "z", + "\u{1D538}" => "a", + "\u{1D539}" => "b", + "\u{1D53B}" => "d", + "\u{1D53C}" => "e", + "\u{1D53D}" => "f", + "\u{1D53E}" => "g", + "\u{1D540}" => "i", + "\u{1D541}" => "j", + "\u{1D542}" => "k", + "\u{1D543}" => "l", + "\u{1D544}" => "m", + "\u{1D546}" => "o", + "\u{1D54A}" => "s", + "\u{1D54B}" => "t", + "\u{1D54C}" => "u", + "\u{1D54D}" => "v", + "\u{1D54E}" => "w", + "\u{1D54F}" => "x", + "\u{1D550}" => "y", + "\u{1D552}" => "a", + "\u{1D553}" => "b", + "\u{1D554}" => "c", + "\u{1D555}" => "d", + "\u{1D556}" => "e", + "\u{1D557}" => "f", + "\u{1D558}" => "g", + "\u{1D559}" => "h", + "\u{1D55A}" => "i", + "\u{1D55B}" => "j", + "\u{1D55C}" => "k", + "\u{1D55D}" => "l", + "\u{1D55E}" => "m", + "\u{1D55F}" => "n", + "\u{1D560}" => "o", + "\u{1D561}" => "p", + "\u{1D562}" => "q", + "\u{1D563}" => "r", + "\u{1D564}" => "s", + "\u{1D565}" => "t", + "\u{1D566}" => "u", + "\u{1D567}" => "v", + "\u{1D568}" => "w", + "\u{1D569}" => "x", + "\u{1D56A}" => "y", + "\u{1D56B}" => "z", + "\u{1D56C}" => "a", + "\u{1D56D}" => "b", + "\u{1D56E}" => "c", + "\u{1D56F}" => "d", + "\u{1D570}" => "e", + "\u{1D571}" => "f", + "\u{1D572}" => "g", + "\u{1D573}" => "h", + "\u{1D574}" => "i", + "\u{1D575}" => "j", + "\u{1D576}" => "k", + "\u{1D577}" => "l", + "\u{1D578}" => "m", + "\u{1D579}" => "n", + "\u{1D57A}" => "o", + "\u{1D57B}" => "p", + "\u{1D57C}" => "q", + "\u{1D57D}" => "r", + "\u{1D57E}" => "s", + "\u{1D57F}" => "t", + "\u{1D580}" => "u", + "\u{1D581}" => "v", + "\u{1D582}" => "w", + "\u{1D583}" => "x", + "\u{1D584}" => "y", + "\u{1D585}" => "z", + "\u{1D586}" => "a", + "\u{1D587}" => "b", + "\u{1D588}" => "c", + "\u{1D589}" => "d", + "\u{1D58A}" => "e", + "\u{1D58B}" => "f", + "\u{1D58C}" => "g", + "\u{1D58D}" => "h", + "\u{1D58E}" => "i", + "\u{1D58F}" => "j", + "\u{1D590}" => "k", + "\u{1D591}" => "l", + "\u{1D592}" => "m", + "\u{1D593}" => "n", + "\u{1D594}" => "o", + "\u{1D595}" => "p", + "\u{1D596}" => "q", + "\u{1D597}" => "r", + "\u{1D598}" => "s", + "\u{1D599}" => "t", + "\u{1D59A}" => "u", + "\u{1D59B}" => "v", + "\u{1D59C}" => "w", + "\u{1D59D}" => "x", + "\u{1D59E}" => "y", + "\u{1D59F}" => "z", + "\u{1D5A0}" => "a", + "\u{1D5A1}" => "b", + "\u{1D5A2}" => "c", + "\u{1D5A3}" => "d", + "\u{1D5A4}" => "e", + "\u{1D5A5}" => "f", + "\u{1D5A6}" => "g", + "\u{1D5A7}" => "h", + "\u{1D5A8}" => "i", + "\u{1D5A9}" => "j", + "\u{1D5AA}" => "k", + "\u{1D5AB}" => "l", + "\u{1D5AC}" => "m", + "\u{1D5AD}" => "n", + "\u{1D5AE}" => "o", + "\u{1D5AF}" => "p", + "\u{1D5B0}" => "q", + "\u{1D5B1}" => "r", + "\u{1D5B2}" => "s", + "\u{1D5B3}" => "t", + "\u{1D5B4}" => "u", + "\u{1D5B5}" => "v", + "\u{1D5B6}" => "w", + "\u{1D5B7}" => "x", + "\u{1D5B8}" => "y", + "\u{1D5B9}" => "z", + "\u{1D5BA}" => "a", + "\u{1D5BB}" => "b", + "\u{1D5BC}" => "c", + "\u{1D5BD}" => "d", + "\u{1D5BE}" => "e", + "\u{1D5BF}" => "f", + "\u{1D5C0}" => "g", + "\u{1D5C1}" => "h", + "\u{1D5C2}" => "i", + "\u{1D5C3}" => "j", + "\u{1D5C4}" => "k", + "\u{1D5C5}" => "l", + "\u{1D5C6}" => "m", + "\u{1D5C7}" => "n", + "\u{1D5C8}" => "o", + "\u{1D5C9}" => "p", + "\u{1D5CA}" => "q", + "\u{1D5CB}" => "r", + "\u{1D5CC}" => "s", + "\u{1D5CD}" => "t", + "\u{1D5CE}" => "u", + "\u{1D5CF}" => "v", + "\u{1D5D0}" => "w", + "\u{1D5D1}" => "x", + "\u{1D5D2}" => "y", + "\u{1D5D3}" => "z", + "\u{1D5D4}" => "a", + "\u{1D5D5}" => "b", + "\u{1D5D6}" => "c", + "\u{1D5D7}" => "d", + "\u{1D5D8}" => "e", + "\u{1D5D9}" => "f", + "\u{1D5DA}" => "g", + "\u{1D5DB}" => "h", + "\u{1D5DC}" => "i", + "\u{1D5DD}" => "j", + "\u{1D5DE}" => "k", + "\u{1D5DF}" => "l", + "\u{1D5E0}" => "m", + "\u{1D5E1}" => "n", + "\u{1D5E2}" => "o", + "\u{1D5E3}" => "p", + "\u{1D5E4}" => "q", + "\u{1D5E5}" => "r", + "\u{1D5E6}" => "s", + "\u{1D5E7}" => "t", + "\u{1D5E8}" => "u", + "\u{1D5E9}" => "v", + "\u{1D5EA}" => "w", + "\u{1D5EB}" => "x", + "\u{1D5EC}" => "y", + "\u{1D5ED}" => "z", + "\u{1D5EE}" => "a", + "\u{1D5EF}" => "b", + "\u{1D5F0}" => "c", + "\u{1D5F1}" => "d", + "\u{1D5F2}" => "e", + "\u{1D5F3}" => "f", + "\u{1D5F4}" => "g", + "\u{1D5F5}" => "h", + "\u{1D5F6}" => "i", + "\u{1D5F7}" => "j", + "\u{1D5F8}" => "k", + "\u{1D5F9}" => "l", + "\u{1D5FA}" => "m", + "\u{1D5FB}" => "n", + "\u{1D5FC}" => "o", + "\u{1D5FD}" => "p", + "\u{1D5FE}" => "q", + "\u{1D5FF}" => "r", + "\u{1D600}" => "s", + "\u{1D601}" => "t", + "\u{1D602}" => "u", + "\u{1D603}" => "v", + "\u{1D604}" => "w", + "\u{1D605}" => "x", + "\u{1D606}" => "y", + "\u{1D607}" => "z", + "\u{1D608}" => "a", + "\u{1D609}" => "b", + "\u{1D60A}" => "c", + "\u{1D60B}" => "d", + "\u{1D60C}" => "e", + "\u{1D60D}" => "f", + "\u{1D60E}" => "g", + "\u{1D60F}" => "h", + "\u{1D610}" => "i", + "\u{1D611}" => "j", + "\u{1D612}" => "k", + "\u{1D613}" => "l", + "\u{1D614}" => "m", + "\u{1D615}" => "n", + "\u{1D616}" => "o", + "\u{1D617}" => "p", + "\u{1D618}" => "q", + "\u{1D619}" => "r", + "\u{1D61A}" => "s", + "\u{1D61B}" => "t", + "\u{1D61C}" => "u", + "\u{1D61D}" => "v", + "\u{1D61E}" => "w", + "\u{1D61F}" => "x", + "\u{1D620}" => "y", + "\u{1D621}" => "z", + "\u{1D622}" => "a", + "\u{1D623}" => "b", + "\u{1D624}" => "c", + "\u{1D625}" => "d", + "\u{1D626}" => "e", + "\u{1D627}" => "f", + "\u{1D628}" => "g", + "\u{1D629}" => "h", + "\u{1D62A}" => "i", + "\u{1D62B}" => "j", + "\u{1D62C}" => "k", + "\u{1D62D}" => "l", + "\u{1D62E}" => "m", + "\u{1D62F}" => "n", + "\u{1D630}" => "o", + "\u{1D631}" => "p", + "\u{1D632}" => "q", + "\u{1D633}" => "r", + "\u{1D634}" => "s", + "\u{1D635}" => "t", + "\u{1D636}" => "u", + "\u{1D637}" => "v", + "\u{1D638}" => "w", + "\u{1D639}" => "x", + "\u{1D63A}" => "y", + "\u{1D63B}" => "z", + "\u{1D63C}" => "a", + "\u{1D63D}" => "b", + "\u{1D63E}" => "c", + "\u{1D63F}" => "d", + "\u{1D640}" => "e", + "\u{1D641}" => "f", + "\u{1D642}" => "g", + "\u{1D643}" => "h", + "\u{1D644}" => "i", + "\u{1D645}" => "j", + "\u{1D646}" => "k", + "\u{1D647}" => "l", + "\u{1D648}" => "m", + "\u{1D649}" => "n", + "\u{1D64A}" => "o", + "\u{1D64B}" => "p", + "\u{1D64C}" => "q", + "\u{1D64D}" => "r", + "\u{1D64E}" => "s", + "\u{1D64F}" => "t", + "\u{1D650}" => "u", + "\u{1D651}" => "v", + "\u{1D652}" => "w", + "\u{1D653}" => "x", + "\u{1D654}" => "y", + "\u{1D655}" => "z", + "\u{1D656}" => "a", + "\u{1D657}" => "b", + "\u{1D658}" => "c", + "\u{1D659}" => "d", + "\u{1D65A}" => "e", + "\u{1D65B}" => "f", + "\u{1D65C}" => "g", + "\u{1D65D}" => "h", + "\u{1D65E}" => "i", + "\u{1D65F}" => "j", + "\u{1D660}" => "k", + "\u{1D661}" => "l", + "\u{1D662}" => "m", + "\u{1D663}" => "n", + "\u{1D664}" => "o", + "\u{1D665}" => "p", + "\u{1D666}" => "q", + "\u{1D667}" => "r", + "\u{1D668}" => "s", + "\u{1D669}" => "t", + "\u{1D66A}" => "u", + "\u{1D66B}" => "v", + "\u{1D66C}" => "w", + "\u{1D66D}" => "x", + "\u{1D66E}" => "y", + "\u{1D66F}" => "z", + "\u{1D670}" => "a", + "\u{1D671}" => "b", + "\u{1D672}" => "c", + "\u{1D673}" => "d", + "\u{1D674}" => "e", + "\u{1D675}" => "f", + "\u{1D676}" => "g", + "\u{1D677}" => "h", + "\u{1D678}" => "i", + "\u{1D679}" => "j", + "\u{1D67A}" => "k", + "\u{1D67B}" => "l", + "\u{1D67C}" => "m", + "\u{1D67D}" => "n", + "\u{1D67E}" => "o", + "\u{1D67F}" => "p", + "\u{1D680}" => "q", + "\u{1D681}" => "r", + "\u{1D682}" => "s", + "\u{1D683}" => "t", + "\u{1D684}" => "u", + "\u{1D685}" => "v", + "\u{1D686}" => "w", + "\u{1D687}" => "x", + "\u{1D688}" => "y", + "\u{1D689}" => "z", + "\u{1D68A}" => "a", + "\u{1D68B}" => "b", + "\u{1D68C}" => "c", + "\u{1D68D}" => "d", + "\u{1D68E}" => "e", + "\u{1D68F}" => "f", + "\u{1D690}" => "g", + "\u{1D691}" => "h", + "\u{1D692}" => "i", + "\u{1D693}" => "j", + "\u{1D694}" => "k", + "\u{1D695}" => "l", + "\u{1D696}" => "m", + "\u{1D697}" => "n", + "\u{1D698}" => "o", + "\u{1D699}" => "p", + "\u{1D69A}" => "q", + "\u{1D69B}" => "r", + "\u{1D69C}" => "s", + "\u{1D69D}" => "t", + "\u{1D69E}" => "u", + "\u{1D69F}" => "v", + "\u{1D6A0}" => "w", + "\u{1D6A1}" => "x", + "\u{1D6A2}" => "y", + "\u{1D6A3}" => "z", + "\u{1D6A4}" => "\u0131", + "\u{1D6A5}" => "\u0237", + "\u{1D6A8}" => "\u03B1", + "\u{1D6A9}" => "\u03B2", + "\u{1D6AA}" => "\u03B3", + "\u{1D6AB}" => "\u03B4", + "\u{1D6AC}" => "\u03B5", + "\u{1D6AD}" => "\u03B6", + "\u{1D6AE}" => "\u03B7", + "\u{1D6AF}" => "\u03B8", + "\u{1D6B0}" => "\u03B9", + "\u{1D6B1}" => "\u03BA", + "\u{1D6B2}" => "\u03BB", + "\u{1D6B3}" => "\u03BC", + "\u{1D6B4}" => "\u03BD", + "\u{1D6B5}" => "\u03BE", + "\u{1D6B6}" => "\u03BF", + "\u{1D6B7}" => "\u03C0", + "\u{1D6B8}" => "\u03C1", + "\u{1D6B9}" => "\u03B8", + "\u{1D6BA}" => "\u03C3", + "\u{1D6BB}" => "\u03C4", + "\u{1D6BC}" => "\u03C5", + "\u{1D6BD}" => "\u03C6", + "\u{1D6BE}" => "\u03C7", + "\u{1D6BF}" => "\u03C8", + "\u{1D6C0}" => "\u03C9", + "\u{1D6C1}" => "\u2207", + "\u{1D6C2}" => "\u03B1", + "\u{1D6C3}" => "\u03B2", + "\u{1D6C4}" => "\u03B3", + "\u{1D6C5}" => "\u03B4", + "\u{1D6C6}" => "\u03B5", + "\u{1D6C7}" => "\u03B6", + "\u{1D6C8}" => "\u03B7", + "\u{1D6C9}" => "\u03B8", + "\u{1D6CA}" => "\u03B9", + "\u{1D6CB}" => "\u03BA", + "\u{1D6CC}" => "\u03BB", + "\u{1D6CD}" => "\u03BC", + "\u{1D6CE}" => "\u03BD", + "\u{1D6CF}" => "\u03BE", + "\u{1D6D0}" => "\u03BF", + "\u{1D6D1}" => "\u03C0", + "\u{1D6D2}" => "\u03C1", + "\u{1D6D3}" => "\u03C3", + "\u{1D6D4}" => "\u03C3", + "\u{1D6D5}" => "\u03C4", + "\u{1D6D6}" => "\u03C5", + "\u{1D6D7}" => "\u03C6", + "\u{1D6D8}" => "\u03C7", + "\u{1D6D9}" => "\u03C8", + "\u{1D6DA}" => "\u03C9", + "\u{1D6DB}" => "\u2202", + "\u{1D6DC}" => "\u03B5", + "\u{1D6DD}" => "\u03B8", + "\u{1D6DE}" => "\u03BA", + "\u{1D6DF}" => "\u03C6", + "\u{1D6E0}" => "\u03C1", + "\u{1D6E1}" => "\u03C0", + "\u{1D6E2}" => "\u03B1", + "\u{1D6E3}" => "\u03B2", + "\u{1D6E4}" => "\u03B3", + "\u{1D6E5}" => "\u03B4", + "\u{1D6E6}" => "\u03B5", + "\u{1D6E7}" => "\u03B6", + "\u{1D6E8}" => "\u03B7", + "\u{1D6E9}" => "\u03B8", + "\u{1D6EA}" => "\u03B9", + "\u{1D6EB}" => "\u03BA", + "\u{1D6EC}" => "\u03BB", + "\u{1D6ED}" => "\u03BC", + "\u{1D6EE}" => "\u03BD", + "\u{1D6EF}" => "\u03BE", + "\u{1D6F0}" => "\u03BF", + "\u{1D6F1}" => "\u03C0", + "\u{1D6F2}" => "\u03C1", + "\u{1D6F3}" => "\u03B8", + "\u{1D6F4}" => "\u03C3", + "\u{1D6F5}" => "\u03C4", + "\u{1D6F6}" => "\u03C5", + "\u{1D6F7}" => "\u03C6", + "\u{1D6F8}" => "\u03C7", + "\u{1D6F9}" => "\u03C8", + "\u{1D6FA}" => "\u03C9", + "\u{1D6FB}" => "\u2207", + "\u{1D6FC}" => "\u03B1", + "\u{1D6FD}" => "\u03B2", + "\u{1D6FE}" => "\u03B3", + "\u{1D6FF}" => "\u03B4", + "\u{1D700}" => "\u03B5", + "\u{1D701}" => "\u03B6", + "\u{1D702}" => "\u03B7", + "\u{1D703}" => "\u03B8", + "\u{1D704}" => "\u03B9", + "\u{1D705}" => "\u03BA", + "\u{1D706}" => "\u03BB", + "\u{1D707}" => "\u03BC", + "\u{1D708}" => "\u03BD", + "\u{1D709}" => "\u03BE", + "\u{1D70A}" => "\u03BF", + "\u{1D70B}" => "\u03C0", + "\u{1D70C}" => "\u03C1", + "\u{1D70D}" => "\u03C3", + "\u{1D70E}" => "\u03C3", + "\u{1D70F}" => "\u03C4", + "\u{1D710}" => "\u03C5", + "\u{1D711}" => "\u03C6", + "\u{1D712}" => "\u03C7", + "\u{1D713}" => "\u03C8", + "\u{1D714}" => "\u03C9", + "\u{1D715}" => "\u2202", + "\u{1D716}" => "\u03B5", + "\u{1D717}" => "\u03B8", + "\u{1D718}" => "\u03BA", + "\u{1D719}" => "\u03C6", + "\u{1D71A}" => "\u03C1", + "\u{1D71B}" => "\u03C0", + "\u{1D71C}" => "\u03B1", + "\u{1D71D}" => "\u03B2", + "\u{1D71E}" => "\u03B3", + "\u{1D71F}" => "\u03B4", + "\u{1D720}" => "\u03B5", + "\u{1D721}" => "\u03B6", + "\u{1D722}" => "\u03B7", + "\u{1D723}" => "\u03B8", + "\u{1D724}" => "\u03B9", + "\u{1D725}" => "\u03BA", + "\u{1D726}" => "\u03BB", + "\u{1D727}" => "\u03BC", + "\u{1D728}" => "\u03BD", + "\u{1D729}" => "\u03BE", + "\u{1D72A}" => "\u03BF", + "\u{1D72B}" => "\u03C0", + "\u{1D72C}" => "\u03C1", + "\u{1D72D}" => "\u03B8", + "\u{1D72E}" => "\u03C3", + "\u{1D72F}" => "\u03C4", + "\u{1D730}" => "\u03C5", + "\u{1D731}" => "\u03C6", + "\u{1D732}" => "\u03C7", + "\u{1D733}" => "\u03C8", + "\u{1D734}" => "\u03C9", + "\u{1D735}" => "\u2207", + "\u{1D736}" => "\u03B1", + "\u{1D737}" => "\u03B2", + "\u{1D738}" => "\u03B3", + "\u{1D739}" => "\u03B4", + "\u{1D73A}" => "\u03B5", + "\u{1D73B}" => "\u03B6", + "\u{1D73C}" => "\u03B7", + "\u{1D73D}" => "\u03B8", + "\u{1D73E}" => "\u03B9", + "\u{1D73F}" => "\u03BA", + "\u{1D740}" => "\u03BB", + "\u{1D741}" => "\u03BC", + "\u{1D742}" => "\u03BD", + "\u{1D743}" => "\u03BE", + "\u{1D744}" => "\u03BF", + "\u{1D745}" => "\u03C0", + "\u{1D746}" => "\u03C1", + "\u{1D747}" => "\u03C3", + "\u{1D748}" => "\u03C3", + "\u{1D749}" => "\u03C4", + "\u{1D74A}" => "\u03C5", + "\u{1D74B}" => "\u03C6", + "\u{1D74C}" => "\u03C7", + "\u{1D74D}" => "\u03C8", + "\u{1D74E}" => "\u03C9", + "\u{1D74F}" => "\u2202", + "\u{1D750}" => "\u03B5", + "\u{1D751}" => "\u03B8", + "\u{1D752}" => "\u03BA", + "\u{1D753}" => "\u03C6", + "\u{1D754}" => "\u03C1", + "\u{1D755}" => "\u03C0", + "\u{1D756}" => "\u03B1", + "\u{1D757}" => "\u03B2", + "\u{1D758}" => "\u03B3", + "\u{1D759}" => "\u03B4", + "\u{1D75A}" => "\u03B5", + "\u{1D75B}" => "\u03B6", + "\u{1D75C}" => "\u03B7", + "\u{1D75D}" => "\u03B8", + "\u{1D75E}" => "\u03B9", + "\u{1D75F}" => "\u03BA", + "\u{1D760}" => "\u03BB", + "\u{1D761}" => "\u03BC", + "\u{1D762}" => "\u03BD", + "\u{1D763}" => "\u03BE", + "\u{1D764}" => "\u03BF", + "\u{1D765}" => "\u03C0", + "\u{1D766}" => "\u03C1", + "\u{1D767}" => "\u03B8", + "\u{1D768}" => "\u03C3", + "\u{1D769}" => "\u03C4", + "\u{1D76A}" => "\u03C5", + "\u{1D76B}" => "\u03C6", + "\u{1D76C}" => "\u03C7", + "\u{1D76D}" => "\u03C8", + "\u{1D76E}" => "\u03C9", + "\u{1D76F}" => "\u2207", + "\u{1D770}" => "\u03B1", + "\u{1D771}" => "\u03B2", + "\u{1D772}" => "\u03B3", + "\u{1D773}" => "\u03B4", + "\u{1D774}" => "\u03B5", + "\u{1D775}" => "\u03B6", + "\u{1D776}" => "\u03B7", + "\u{1D777}" => "\u03B8", + "\u{1D778}" => "\u03B9", + "\u{1D779}" => "\u03BA", + "\u{1D77A}" => "\u03BB", + "\u{1D77B}" => "\u03BC", + "\u{1D77C}" => "\u03BD", + "\u{1D77D}" => "\u03BE", + "\u{1D77E}" => "\u03BF", + "\u{1D77F}" => "\u03C0", + "\u{1D780}" => "\u03C1", + "\u{1D781}" => "\u03C3", + "\u{1D782}" => "\u03C3", + "\u{1D783}" => "\u03C4", + "\u{1D784}" => "\u03C5", + "\u{1D785}" => "\u03C6", + "\u{1D786}" => "\u03C7", + "\u{1D787}" => "\u03C8", + "\u{1D788}" => "\u03C9", + "\u{1D789}" => "\u2202", + "\u{1D78A}" => "\u03B5", + "\u{1D78B}" => "\u03B8", + "\u{1D78C}" => "\u03BA", + "\u{1D78D}" => "\u03C6", + "\u{1D78E}" => "\u03C1", + "\u{1D78F}" => "\u03C0", + "\u{1D790}" => "\u03B1", + "\u{1D791}" => "\u03B2", + "\u{1D792}" => "\u03B3", + "\u{1D793}" => "\u03B4", + "\u{1D794}" => "\u03B5", + "\u{1D795}" => "\u03B6", + "\u{1D796}" => "\u03B7", + "\u{1D797}" => "\u03B8", + "\u{1D798}" => "\u03B9", + "\u{1D799}" => "\u03BA", + "\u{1D79A}" => "\u03BB", + "\u{1D79B}" => "\u03BC", + "\u{1D79C}" => "\u03BD", + "\u{1D79D}" => "\u03BE", + "\u{1D79E}" => "\u03BF", + "\u{1D79F}" => "\u03C0", + "\u{1D7A0}" => "\u03C1", + "\u{1D7A1}" => "\u03B8", + "\u{1D7A2}" => "\u03C3", + "\u{1D7A3}" => "\u03C4", + "\u{1D7A4}" => "\u03C5", + "\u{1D7A5}" => "\u03C6", + "\u{1D7A6}" => "\u03C7", + "\u{1D7A7}" => "\u03C8", + "\u{1D7A8}" => "\u03C9", + "\u{1D7A9}" => "\u2207", + "\u{1D7AA}" => "\u03B1", + "\u{1D7AB}" => "\u03B2", + "\u{1D7AC}" => "\u03B3", + "\u{1D7AD}" => "\u03B4", + "\u{1D7AE}" => "\u03B5", + "\u{1D7AF}" => "\u03B6", + "\u{1D7B0}" => "\u03B7", + "\u{1D7B1}" => "\u03B8", + "\u{1D7B2}" => "\u03B9", + "\u{1D7B3}" => "\u03BA", + "\u{1D7B4}" => "\u03BB", + "\u{1D7B5}" => "\u03BC", + "\u{1D7B6}" => "\u03BD", + "\u{1D7B7}" => "\u03BE", + "\u{1D7B8}" => "\u03BF", + "\u{1D7B9}" => "\u03C0", + "\u{1D7BA}" => "\u03C1", + "\u{1D7BB}" => "\u03C3", + "\u{1D7BC}" => "\u03C3", + "\u{1D7BD}" => "\u03C4", + "\u{1D7BE}" => "\u03C5", + "\u{1D7BF}" => "\u03C6", + "\u{1D7C0}" => "\u03C7", + "\u{1D7C1}" => "\u03C8", + "\u{1D7C2}" => "\u03C9", + "\u{1D7C3}" => "\u2202", + "\u{1D7C4}" => "\u03B5", + "\u{1D7C5}" => "\u03B8", + "\u{1D7C6}" => "\u03BA", + "\u{1D7C7}" => "\u03C6", + "\u{1D7C8}" => "\u03C1", + "\u{1D7C9}" => "\u03C0", + "\u{1D7CA}" => "\u03DD", + "\u{1D7CB}" => "\u03DD", + "\u{1D7CE}" => "0", + "\u{1D7CF}" => "1", + "\u{1D7D0}" => "2", + "\u{1D7D1}" => "3", + "\u{1D7D2}" => "4", + "\u{1D7D3}" => "5", + "\u{1D7D4}" => "6", + "\u{1D7D5}" => "7", + "\u{1D7D6}" => "8", + "\u{1D7D7}" => "9", + "\u{1D7D8}" => "0", + "\u{1D7D9}" => "1", + "\u{1D7DA}" => "2", + "\u{1D7DB}" => "3", + "\u{1D7DC}" => "4", + "\u{1D7DD}" => "5", + "\u{1D7DE}" => "6", + "\u{1D7DF}" => "7", + "\u{1D7E0}" => "8", + "\u{1D7E1}" => "9", + "\u{1D7E2}" => "0", + "\u{1D7E3}" => "1", + "\u{1D7E4}" => "2", + "\u{1D7E5}" => "3", + "\u{1D7E6}" => "4", + "\u{1D7E7}" => "5", + "\u{1D7E8}" => "6", + "\u{1D7E9}" => "7", + "\u{1D7EA}" => "8", + "\u{1D7EB}" => "9", + "\u{1D7EC}" => "0", + "\u{1D7ED}" => "1", + "\u{1D7EE}" => "2", + "\u{1D7EF}" => "3", + "\u{1D7F0}" => "4", + "\u{1D7F1}" => "5", + "\u{1D7F2}" => "6", + "\u{1D7F3}" => "7", + "\u{1D7F4}" => "8", + "\u{1D7F5}" => "9", + "\u{1D7F6}" => "0", + "\u{1D7F7}" => "1", + "\u{1D7F8}" => "2", + "\u{1D7F9}" => "3", + "\u{1D7FA}" => "4", + "\u{1D7FB}" => "5", + "\u{1D7FC}" => "6", + "\u{1D7FD}" => "7", + "\u{1D7FE}" => "8", + "\u{1D7FF}" => "9", + "\u{1E030}" => "\u0430", + "\u{1E031}" => "\u0431", + "\u{1E032}" => "\u0432", + "\u{1E033}" => "\u0433", + "\u{1E034}" => "\u0434", + "\u{1E035}" => "\u0435", + "\u{1E036}" => "\u0436", + "\u{1E037}" => "\u0437", + "\u{1E038}" => "\u0438", + "\u{1E039}" => "\u043A", + "\u{1E03A}" => "\u043B", + "\u{1E03B}" => "\u043C", + "\u{1E03C}" => "\u043E", + "\u{1E03D}" => "\u043F", + "\u{1E03E}" => "\u0440", + "\u{1E03F}" => "\u0441", + "\u{1E040}" => "\u0442", + "\u{1E041}" => "\u0443", + "\u{1E042}" => "\u0444", + "\u{1E043}" => "\u0445", + "\u{1E044}" => "\u0446", + "\u{1E045}" => "\u0447", + "\u{1E046}" => "\u0448", + "\u{1E047}" => "\u044B", + "\u{1E048}" => "\u044D", + "\u{1E049}" => "\u044E", + "\u{1E04A}" => "\uA689", + "\u{1E04B}" => "\u04D9", + "\u{1E04C}" => "\u0456", + "\u{1E04D}" => "\u0458", + "\u{1E04E}" => "\u04E9", + "\u{1E04F}" => "\u04AF", + "\u{1E050}" => "\u04CF", + "\u{1E051}" => "\u0430", + "\u{1E052}" => "\u0431", + "\u{1E053}" => "\u0432", + "\u{1E054}" => "\u0433", + "\u{1E055}" => "\u0434", + "\u{1E056}" => "\u0435", + "\u{1E057}" => "\u0436", + "\u{1E058}" => "\u0437", + "\u{1E059}" => "\u0438", + "\u{1E05A}" => "\u043A", + "\u{1E05B}" => "\u043B", + "\u{1E05C}" => "\u043E", + "\u{1E05D}" => "\u043F", + "\u{1E05E}" => "\u0441", + "\u{1E05F}" => "\u0443", + "\u{1E060}" => "\u0444", + "\u{1E061}" => "\u0445", + "\u{1E062}" => "\u0446", + "\u{1E063}" => "\u0447", + "\u{1E064}" => "\u0448", + "\u{1E065}" => "\u044A", + "\u{1E066}" => "\u044B", + "\u{1E067}" => "\u0491", + "\u{1E068}" => "\u0456", + "\u{1E069}" => "\u0455", + "\u{1E06A}" => "\u045F", + "\u{1E06B}" => "\u04AB", + "\u{1E06C}" => "\uA651", + "\u{1E06D}" => "\u04B1", + "\u{1E900}" => "\u{1E922}", + "\u{1E901}" => "\u{1E923}", + "\u{1E902}" => "\u{1E924}", + "\u{1E903}" => "\u{1E925}", + "\u{1E904}" => "\u{1E926}", + "\u{1E905}" => "\u{1E927}", + "\u{1E906}" => "\u{1E928}", + "\u{1E907}" => "\u{1E929}", + "\u{1E908}" => "\u{1E92A}", + "\u{1E909}" => "\u{1E92B}", + "\u{1E90A}" => "\u{1E92C}", + "\u{1E90B}" => "\u{1E92D}", + "\u{1E90C}" => "\u{1E92E}", + "\u{1E90D}" => "\u{1E92F}", + "\u{1E90E}" => "\u{1E930}", + "\u{1E90F}" => "\u{1E931}", + "\u{1E910}" => "\u{1E932}", + "\u{1E911}" => "\u{1E933}", + "\u{1E912}" => "\u{1E934}", + "\u{1E913}" => "\u{1E935}", + "\u{1E914}" => "\u{1E936}", + "\u{1E915}" => "\u{1E937}", + "\u{1E916}" => "\u{1E938}", + "\u{1E917}" => "\u{1E939}", + "\u{1E918}" => "\u{1E93A}", + "\u{1E919}" => "\u{1E93B}", + "\u{1E91A}" => "\u{1E93C}", + "\u{1E91B}" => "\u{1E93D}", + "\u{1E91C}" => "\u{1E93E}", + "\u{1E91D}" => "\u{1E93F}", + "\u{1E91E}" => "\u{1E940}", + "\u{1E91F}" => "\u{1E941}", + "\u{1E920}" => "\u{1E942}", + "\u{1E921}" => "\u{1E943}", + "\u{1EE00}" => "\u0627", + "\u{1EE01}" => "\u0628", + "\u{1EE02}" => "\u062C", + "\u{1EE03}" => "\u062F", + "\u{1EE05}" => "\u0648", + "\u{1EE06}" => "\u0632", + "\u{1EE07}" => "\u062D", + "\u{1EE08}" => "\u0637", + "\u{1EE09}" => "\u064A", + "\u{1EE0A}" => "\u0643", + "\u{1EE0B}" => "\u0644", + "\u{1EE0C}" => "\u0645", + "\u{1EE0D}" => "\u0646", + "\u{1EE0E}" => "\u0633", + "\u{1EE0F}" => "\u0639", + "\u{1EE10}" => "\u0641", + "\u{1EE11}" => "\u0635", + "\u{1EE12}" => "\u0642", + "\u{1EE13}" => "\u0631", + "\u{1EE14}" => "\u0634", + "\u{1EE15}" => "\u062A", + "\u{1EE16}" => "\u062B", + "\u{1EE17}" => "\u062E", + "\u{1EE18}" => "\u0630", + "\u{1EE19}" => "\u0636", + "\u{1EE1A}" => "\u0638", + "\u{1EE1B}" => "\u063A", + "\u{1EE1C}" => "\u066E", + "\u{1EE1D}" => "\u06BA", + "\u{1EE1E}" => "\u06A1", + "\u{1EE1F}" => "\u066F", + "\u{1EE21}" => "\u0628", + "\u{1EE22}" => "\u062C", + "\u{1EE24}" => "\u0647", + "\u{1EE27}" => "\u062D", + "\u{1EE29}" => "\u064A", + "\u{1EE2A}" => "\u0643", + "\u{1EE2B}" => "\u0644", + "\u{1EE2C}" => "\u0645", + "\u{1EE2D}" => "\u0646", + "\u{1EE2E}" => "\u0633", + "\u{1EE2F}" => "\u0639", + "\u{1EE30}" => "\u0641", + "\u{1EE31}" => "\u0635", + "\u{1EE32}" => "\u0642", + "\u{1EE34}" => "\u0634", + "\u{1EE35}" => "\u062A", + "\u{1EE36}" => "\u062B", + "\u{1EE37}" => "\u062E", + "\u{1EE39}" => "\u0636", + "\u{1EE3B}" => "\u063A", + "\u{1EE42}" => "\u062C", + "\u{1EE47}" => "\u062D", + "\u{1EE49}" => "\u064A", + "\u{1EE4B}" => "\u0644", + "\u{1EE4D}" => "\u0646", + "\u{1EE4E}" => "\u0633", + "\u{1EE4F}" => "\u0639", + "\u{1EE51}" => "\u0635", + "\u{1EE52}" => "\u0642", + "\u{1EE54}" => "\u0634", + "\u{1EE57}" => "\u062E", + "\u{1EE59}" => "\u0636", + "\u{1EE5B}" => "\u063A", + "\u{1EE5D}" => "\u06BA", + "\u{1EE5F}" => "\u066F", + "\u{1EE61}" => "\u0628", + "\u{1EE62}" => "\u062C", + "\u{1EE64}" => "\u0647", + "\u{1EE67}" => "\u062D", + "\u{1EE68}" => "\u0637", + "\u{1EE69}" => "\u064A", + "\u{1EE6A}" => "\u0643", + "\u{1EE6C}" => "\u0645", + "\u{1EE6D}" => "\u0646", + "\u{1EE6E}" => "\u0633", + "\u{1EE6F}" => "\u0639", + "\u{1EE70}" => "\u0641", + "\u{1EE71}" => "\u0635", + "\u{1EE72}" => "\u0642", + "\u{1EE74}" => "\u0634", + "\u{1EE75}" => "\u062A", + "\u{1EE76}" => "\u062B", + "\u{1EE77}" => "\u062E", + "\u{1EE79}" => "\u0636", + "\u{1EE7A}" => "\u0638", + "\u{1EE7B}" => "\u063A", + "\u{1EE7C}" => "\u066E", + "\u{1EE7E}" => "\u06A1", + "\u{1EE80}" => "\u0627", + "\u{1EE81}" => "\u0628", + "\u{1EE82}" => "\u062C", + "\u{1EE83}" => "\u062F", + "\u{1EE84}" => "\u0647", + "\u{1EE85}" => "\u0648", + "\u{1EE86}" => "\u0632", + "\u{1EE87}" => "\u062D", + "\u{1EE88}" => "\u0637", + "\u{1EE89}" => "\u064A", + "\u{1EE8B}" => "\u0644", + "\u{1EE8C}" => "\u0645", + "\u{1EE8D}" => "\u0646", + "\u{1EE8E}" => "\u0633", + "\u{1EE8F}" => "\u0639", + "\u{1EE90}" => "\u0641", + "\u{1EE91}" => "\u0635", + "\u{1EE92}" => "\u0642", + "\u{1EE93}" => "\u0631", + "\u{1EE94}" => "\u0634", + "\u{1EE95}" => "\u062A", + "\u{1EE96}" => "\u062B", + "\u{1EE97}" => "\u062E", + "\u{1EE98}" => "\u0630", + "\u{1EE99}" => "\u0636", + "\u{1EE9A}" => "\u0638", + "\u{1EE9B}" => "\u063A", + "\u{1EEA1}" => "\u0628", + "\u{1EEA2}" => "\u062C", + "\u{1EEA3}" => "\u062F", + "\u{1EEA5}" => "\u0648", + "\u{1EEA6}" => "\u0632", + "\u{1EEA7}" => "\u062D", + "\u{1EEA8}" => "\u0637", + "\u{1EEA9}" => "\u064A", + "\u{1EEAB}" => "\u0644", + "\u{1EEAC}" => "\u0645", + "\u{1EEAD}" => "\u0646", + "\u{1EEAE}" => "\u0633", + "\u{1EEAF}" => "\u0639", + "\u{1EEB0}" => "\u0641", + "\u{1EEB1}" => "\u0635", + "\u{1EEB2}" => "\u0642", + "\u{1EEB3}" => "\u0631", + "\u{1EEB4}" => "\u0634", + "\u{1EEB5}" => "\u062A", + "\u{1EEB6}" => "\u062B", + "\u{1EEB7}" => "\u062E", + "\u{1EEB8}" => "\u0630", + "\u{1EEB9}" => "\u0636", + "\u{1EEBA}" => "\u0638", + "\u{1EEBB}" => "\u063A", + "\u{1F101}" => "0,", + "\u{1F102}" => "1,", + "\u{1F103}" => "2,", + "\u{1F104}" => "3,", + "\u{1F105}" => "4,", + "\u{1F106}" => "5,", + "\u{1F107}" => "6,", + "\u{1F108}" => "7,", + "\u{1F109}" => "8,", + "\u{1F10A}" => "9,", + "\u{1F110}" => "(a)", + "\u{1F111}" => "(b)", + "\u{1F112}" => "(c)", + "\u{1F113}" => "(d)", + "\u{1F114}" => "(e)", + "\u{1F115}" => "(f)", + "\u{1F116}" => "(g)", + "\u{1F117}" => "(h)", + "\u{1F118}" => "(i)", + "\u{1F119}" => "(j)", + "\u{1F11A}" => "(k)", + "\u{1F11B}" => "(l)", + "\u{1F11C}" => "(m)", + "\u{1F11D}" => "(n)", + "\u{1F11E}" => "(o)", + "\u{1F11F}" => "(p)", + "\u{1F120}" => "(q)", + "\u{1F121}" => "(r)", + "\u{1F122}" => "(s)", + "\u{1F123}" => "(t)", + "\u{1F124}" => "(u)", + "\u{1F125}" => "(v)", + "\u{1F126}" => "(w)", + "\u{1F127}" => "(x)", + "\u{1F128}" => "(y)", + "\u{1F129}" => "(z)", + "\u{1F12A}" => "\u3014s\u3015", + "\u{1F12B}" => "c", + "\u{1F12C}" => "r", + "\u{1F12D}" => "cd", + "\u{1F12E}" => "wz", + "\u{1F130}" => "a", + "\u{1F131}" => "b", + "\u{1F132}" => "c", + "\u{1F133}" => "d", + "\u{1F134}" => "e", + "\u{1F135}" => "f", + "\u{1F136}" => "g", + "\u{1F137}" => "h", + "\u{1F138}" => "i", + "\u{1F139}" => "j", + "\u{1F13A}" => "k", + "\u{1F13B}" => "l", + "\u{1F13C}" => "m", + "\u{1F13D}" => "n", + "\u{1F13E}" => "o", + "\u{1F13F}" => "p", + "\u{1F140}" => "q", + "\u{1F141}" => "r", + "\u{1F142}" => "s", + "\u{1F143}" => "t", + "\u{1F144}" => "u", + "\u{1F145}" => "v", + "\u{1F146}" => "w", + "\u{1F147}" => "x", + "\u{1F148}" => "y", + "\u{1F149}" => "z", + "\u{1F14A}" => "hv", + "\u{1F14B}" => "mv", + "\u{1F14C}" => "sd", + "\u{1F14D}" => "ss", + "\u{1F14E}" => "ppv", + "\u{1F14F}" => "wc", + "\u{1F16A}" => "mc", + "\u{1F16B}" => "md", + "\u{1F16C}" => "mr", + "\u{1F190}" => "dj", + "\u{1F200}" => "\u307B\u304B", + "\u{1F201}" => "\u30B3\u30B3", + "\u{1F202}" => "\u30B5", + "\u{1F210}" => "\u624B", + "\u{1F211}" => "\u5B57", + "\u{1F212}" => "\u53CC", + "\u{1F213}" => "\u30C7", + "\u{1F214}" => "\u4E8C", + "\u{1F215}" => "\u591A", + "\u{1F216}" => "\u89E3", + "\u{1F217}" => "\u5929", + "\u{1F218}" => "\u4EA4", + "\u{1F219}" => "\u6620", + "\u{1F21A}" => "\u7121", + "\u{1F21B}" => "\u6599", + "\u{1F21C}" => "\u524D", + "\u{1F21D}" => "\u5F8C", + "\u{1F21E}" => "\u518D", + "\u{1F21F}" => "\u65B0", + "\u{1F220}" => "\u521D", + "\u{1F221}" => "\u7D42", + "\u{1F222}" => "\u751F", + "\u{1F223}" => "\u8CA9", + "\u{1F224}" => "\u58F0", + "\u{1F225}" => "\u5439", + "\u{1F226}" => "\u6F14", + "\u{1F227}" => "\u6295", + "\u{1F228}" => "\u6355", + "\u{1F229}" => "\u4E00", + "\u{1F22A}" => "\u4E09", + "\u{1F22B}" => "\u904A", + "\u{1F22C}" => "\u5DE6", + "\u{1F22D}" => "\u4E2D", + "\u{1F22E}" => "\u53F3", + "\u{1F22F}" => "\u6307", + "\u{1F230}" => "\u8D70", + "\u{1F231}" => "\u6253", + "\u{1F232}" => "\u7981", + "\u{1F233}" => "\u7A7A", + "\u{1F234}" => "\u5408", + "\u{1F235}" => "\u6E80", + "\u{1F236}" => "\u6709", + "\u{1F237}" => "\u6708", + "\u{1F238}" => "\u7533", + "\u{1F239}" => "\u5272", + "\u{1F23A}" => "\u55B6", + "\u{1F23B}" => "\u914D", + "\u{1F240}" => "\u3014\u672C\u3015", + "\u{1F241}" => "\u3014\u4E09\u3015", + "\u{1F242}" => "\u3014\u4E8C\u3015", + "\u{1F243}" => "\u3014\u5B89\u3015", + "\u{1F244}" => "\u3014\u70B9\u3015", + "\u{1F245}" => "\u3014\u6253\u3015", + "\u{1F246}" => "\u3014\u76D7\u3015", + "\u{1F247}" => "\u3014\u52DD\u3015", + "\u{1F248}" => "\u3014\u6557\u3015", + "\u{1F250}" => "\u5F97", + "\u{1F251}" => "\u53EF", + "\u{1FBF0}" => "0", + "\u{1FBF1}" => "1", + "\u{1FBF2}" => "2", + "\u{1FBF3}" => "3", + "\u{1FBF4}" => "4", + "\u{1FBF5}" => "5", + "\u{1FBF6}" => "6", + "\u{1FBF7}" => "7", + "\u{1FBF8}" => "8", + "\u{1FBF9}" => "9", + "\u{2F800}" => "\u4E3D", + "\u{2F801}" => "\u4E38", + "\u{2F802}" => "\u4E41", + "\u{2F803}" => "\u{20122}", + "\u{2F804}" => "\u4F60", + "\u{2F805}" => "\u4FAE", + "\u{2F806}" => "\u4FBB", + "\u{2F807}" => "\u5002", + "\u{2F808}" => "\u507A", + "\u{2F809}" => "\u5099", + "\u{2F80A}" => "\u50E7", + "\u{2F80B}" => "\u50CF", + "\u{2F80C}" => "\u349E", + "\u{2F80D}" => "\u{2063A}", + "\u{2F80E}" => "\u514D", + "\u{2F80F}" => "\u5154", + "\u{2F810}" => "\u5164", + "\u{2F811}" => "\u5177", + "\u{2F812}" => "\u{2051C}", + "\u{2F813}" => "\u34B9", + "\u{2F814}" => "\u5167", + "\u{2F815}" => "\u518D", + "\u{2F816}" => "\u{2054B}", + "\u{2F817}" => "\u5197", + "\u{2F818}" => "\u51A4", + "\u{2F819}" => "\u4ECC", + "\u{2F81A}" => "\u51AC", + "\u{2F81B}" => "\u51B5", + "\u{2F81C}" => "\u{291DF}", + "\u{2F81D}" => "\u51F5", + "\u{2F81E}" => "\u5203", + "\u{2F81F}" => "\u34DF", + "\u{2F820}" => "\u523B", + "\u{2F821}" => "\u5246", + "\u{2F822}" => "\u5272", + "\u{2F823}" => "\u5277", + "\u{2F824}" => "\u3515", + "\u{2F825}" => "\u52C7", + "\u{2F826}" => "\u52C9", + "\u{2F827}" => "\u52E4", + "\u{2F828}" => "\u52FA", + "\u{2F829}" => "\u5305", + "\u{2F82A}" => "\u5306", + "\u{2F82B}" => "\u5317", + "\u{2F82C}" => "\u5349", + "\u{2F82D}" => "\u5351", + "\u{2F82E}" => "\u535A", + "\u{2F82F}" => "\u5373", + "\u{2F830}" => "\u537D", + "\u{2F831}" => "\u537F", + "\u{2F832}" => "\u537F", + "\u{2F833}" => "\u537F", + "\u{2F834}" => "\u{20A2C}", + "\u{2F835}" => "\u7070", + "\u{2F836}" => "\u53CA", + "\u{2F837}" => "\u53DF", + "\u{2F838}" => "\u{20B63}", + "\u{2F839}" => "\u53EB", + "\u{2F83A}" => "\u53F1", + "\u{2F83B}" => "\u5406", + "\u{2F83C}" => "\u549E", + "\u{2F83D}" => "\u5438", + "\u{2F83E}" => "\u5448", + "\u{2F83F}" => "\u5468", + "\u{2F840}" => "\u54A2", + "\u{2F841}" => "\u54F6", + "\u{2F842}" => "\u5510", + "\u{2F843}" => "\u5553", + "\u{2F844}" => "\u5563", + "\u{2F845}" => "\u5584", + "\u{2F846}" => "\u5584", + "\u{2F847}" => "\u5599", + "\u{2F848}" => "\u55AB", + "\u{2F849}" => "\u55B3", + "\u{2F84A}" => "\u55C2", + "\u{2F84B}" => "\u5716", + "\u{2F84C}" => "\u5606", + "\u{2F84D}" => "\u5717", + "\u{2F84E}" => "\u5651", + "\u{2F84F}" => "\u5674", + "\u{2F850}" => "\u5207", + "\u{2F851}" => "\u58EE", + "\u{2F852}" => "\u57CE", + "\u{2F853}" => "\u57F4", + "\u{2F854}" => "\u580D", + "\u{2F855}" => "\u578B", + "\u{2F856}" => "\u5832", + "\u{2F857}" => "\u5831", + "\u{2F858}" => "\u58AC", + "\u{2F859}" => "\u{214E4}", + "\u{2F85A}" => "\u58F2", + "\u{2F85B}" => "\u58F7", + "\u{2F85C}" => "\u5906", + "\u{2F85D}" => "\u591A", + "\u{2F85E}" => "\u5922", + "\u{2F85F}" => "\u5962", + "\u{2F860}" => "\u{216A8}", + "\u{2F861}" => "\u{216EA}", + "\u{2F862}" => "\u59EC", + "\u{2F863}" => "\u5A1B", + "\u{2F864}" => "\u5A27", + "\u{2F865}" => "\u59D8", + "\u{2F866}" => "\u5A66", + "\u{2F867}" => "\u36EE", + "\u{2F869}" => "\u5B08", + "\u{2F86A}" => "\u5B3E", + "\u{2F86B}" => "\u5B3E", + "\u{2F86C}" => "\u{219C8}", + "\u{2F86D}" => "\u5BC3", + "\u{2F86E}" => "\u5BD8", + "\u{2F86F}" => "\u5BE7", + "\u{2F870}" => "\u5BF3", + "\u{2F871}" => "\u{21B18}", + "\u{2F872}" => "\u5BFF", + "\u{2F873}" => "\u5C06", + "\u{2F875}" => "\u5C22", + "\u{2F876}" => "\u3781", + "\u{2F877}" => "\u5C60", + "\u{2F878}" => "\u5C6E", + "\u{2F879}" => "\u5CC0", + "\u{2F87A}" => "\u5C8D", + "\u{2F87B}" => "\u{21DE4}", + "\u{2F87C}" => "\u5D43", + "\u{2F87D}" => "\u{21DE6}", + "\u{2F87E}" => "\u5D6E", + "\u{2F87F}" => "\u5D6B", + "\u{2F880}" => "\u5D7C", + "\u{2F881}" => "\u5DE1", + "\u{2F882}" => "\u5DE2", + "\u{2F883}" => "\u382F", + "\u{2F884}" => "\u5DFD", + "\u{2F885}" => "\u5E28", + "\u{2F886}" => "\u5E3D", + "\u{2F887}" => "\u5E69", + "\u{2F888}" => "\u3862", + "\u{2F889}" => "\u{22183}", + "\u{2F88A}" => "\u387C", + "\u{2F88B}" => "\u5EB0", + "\u{2F88C}" => "\u5EB3", + "\u{2F88D}" => "\u5EB6", + "\u{2F88E}" => "\u5ECA", + "\u{2F88F}" => "\u{2A392}", + "\u{2F890}" => "\u5EFE", + "\u{2F891}" => "\u{22331}", + "\u{2F892}" => "\u{22331}", + "\u{2F893}" => "\u8201", + "\u{2F894}" => "\u5F22", + "\u{2F895}" => "\u5F22", + "\u{2F896}" => "\u38C7", + "\u{2F897}" => "\u{232B8}", + "\u{2F898}" => "\u{261DA}", + "\u{2F899}" => "\u5F62", + "\u{2F89A}" => "\u5F6B", + "\u{2F89B}" => "\u38E3", + "\u{2F89C}" => "\u5F9A", + "\u{2F89D}" => "\u5FCD", + "\u{2F89E}" => "\u5FD7", + "\u{2F89F}" => "\u5FF9", + "\u{2F8A0}" => "\u6081", + "\u{2F8A1}" => "\u393A", + "\u{2F8A2}" => "\u391C", + "\u{2F8A3}" => "\u6094", + "\u{2F8A4}" => "\u{226D4}", + "\u{2F8A5}" => "\u60C7", + "\u{2F8A6}" => "\u6148", + "\u{2F8A7}" => "\u614C", + "\u{2F8A8}" => "\u614E", + "\u{2F8A9}" => "\u614C", + "\u{2F8AA}" => "\u617A", + "\u{2F8AB}" => "\u618E", + "\u{2F8AC}" => "\u61B2", + "\u{2F8AD}" => "\u61A4", + "\u{2F8AE}" => "\u61AF", + "\u{2F8AF}" => "\u61DE", + "\u{2F8B0}" => "\u61F2", + "\u{2F8B1}" => "\u61F6", + "\u{2F8B2}" => "\u6210", + "\u{2F8B3}" => "\u621B", + "\u{2F8B4}" => "\u625D", + "\u{2F8B5}" => "\u62B1", + "\u{2F8B6}" => "\u62D4", + "\u{2F8B7}" => "\u6350", + "\u{2F8B8}" => "\u{22B0C}", + "\u{2F8B9}" => "\u633D", + "\u{2F8BA}" => "\u62FC", + "\u{2F8BB}" => "\u6368", + "\u{2F8BC}" => "\u6383", + "\u{2F8BD}" => "\u63E4", + "\u{2F8BE}" => "\u{22BF1}", + "\u{2F8BF}" => "\u6422", + "\u{2F8C0}" => "\u63C5", + "\u{2F8C1}" => "\u63A9", + "\u{2F8C2}" => "\u3A2E", + "\u{2F8C3}" => "\u6469", + "\u{2F8C4}" => "\u647E", + "\u{2F8C5}" => "\u649D", + "\u{2F8C6}" => "\u6477", + "\u{2F8C7}" => "\u3A6C", + "\u{2F8C8}" => "\u654F", + "\u{2F8C9}" => "\u656C", + "\u{2F8CA}" => "\u{2300A}", + "\u{2F8CB}" => "\u65E3", + "\u{2F8CC}" => "\u66F8", + "\u{2F8CD}" => "\u6649", + "\u{2F8CE}" => "\u3B19", + "\u{2F8CF}" => "\u6691", + "\u{2F8D0}" => "\u3B08", + "\u{2F8D1}" => "\u3AE4", + "\u{2F8D2}" => "\u5192", + "\u{2F8D3}" => "\u5195", + "\u{2F8D4}" => "\u6700", + "\u{2F8D5}" => "\u669C", + "\u{2F8D6}" => "\u80AD", + "\u{2F8D7}" => "\u43D9", + "\u{2F8D8}" => "\u6717", + "\u{2F8D9}" => "\u671B", + "\u{2F8DA}" => "\u6721", + "\u{2F8DB}" => "\u675E", + "\u{2F8DC}" => "\u6753", + "\u{2F8DD}" => "\u{233C3}", + "\u{2F8DE}" => "\u3B49", + "\u{2F8DF}" => "\u67FA", + "\u{2F8E0}" => "\u6785", + "\u{2F8E1}" => "\u6852", + "\u{2F8E2}" => "\u6885", + "\u{2F8E3}" => "\u{2346D}", + "\u{2F8E4}" => "\u688E", + "\u{2F8E5}" => "\u681F", + "\u{2F8E6}" => "\u6914", + "\u{2F8E7}" => "\u3B9D", + "\u{2F8E8}" => "\u6942", + "\u{2F8E9}" => "\u69A3", + "\u{2F8EA}" => "\u69EA", + "\u{2F8EB}" => "\u6AA8", + "\u{2F8EC}" => "\u{236A3}", + "\u{2F8ED}" => "\u6ADB", + "\u{2F8EE}" => "\u3C18", + "\u{2F8EF}" => "\u6B21", + "\u{2F8F0}" => "\u{238A7}", + "\u{2F8F1}" => "\u6B54", + "\u{2F8F2}" => "\u3C4E", + "\u{2F8F3}" => "\u6B72", + "\u{2F8F4}" => "\u6B9F", + "\u{2F8F5}" => "\u6BBA", + "\u{2F8F6}" => "\u6BBB", + "\u{2F8F7}" => "\u{23A8D}", + "\u{2F8F8}" => "\u{21D0B}", + "\u{2F8F9}" => "\u{23AFA}", + "\u{2F8FA}" => "\u6C4E", + "\u{2F8FB}" => "\u{23CBC}", + "\u{2F8FC}" => "\u6CBF", + "\u{2F8FD}" => "\u6CCD", + "\u{2F8FE}" => "\u6C67", + "\u{2F8FF}" => "\u6D16", + "\u{2F900}" => "\u6D3E", + "\u{2F901}" => "\u6D77", + "\u{2F902}" => "\u6D41", + "\u{2F903}" => "\u6D69", + "\u{2F904}" => "\u6D78", + "\u{2F905}" => "\u6D85", + "\u{2F906}" => "\u{23D1E}", + "\u{2F907}" => "\u6D34", + "\u{2F908}" => "\u6E2F", + "\u{2F909}" => "\u6E6E", + "\u{2F90A}" => "\u3D33", + "\u{2F90B}" => "\u6ECB", + "\u{2F90C}" => "\u6EC7", + "\u{2F90D}" => "\u{23ED1}", + "\u{2F90E}" => "\u6DF9", + "\u{2F90F}" => "\u6F6E", + "\u{2F910}" => "\u{23F5E}", + "\u{2F911}" => "\u{23F8E}", + "\u{2F912}" => "\u6FC6", + "\u{2F913}" => "\u7039", + "\u{2F914}" => "\u701E", + "\u{2F915}" => "\u701B", + "\u{2F916}" => "\u3D96", + "\u{2F917}" => "\u704A", + "\u{2F918}" => "\u707D", + "\u{2F919}" => "\u7077", + "\u{2F91A}" => "\u70AD", + "\u{2F91B}" => "\u{20525}", + "\u{2F91C}" => "\u7145", + "\u{2F91D}" => "\u{24263}", + "\u{2F91E}" => "\u719C", + "\u{2F920}" => "\u7228", + "\u{2F921}" => "\u7235", + "\u{2F922}" => "\u7250", + "\u{2F923}" => "\u{24608}", + "\u{2F924}" => "\u7280", + "\u{2F925}" => "\u7295", + "\u{2F926}" => "\u{24735}", + "\u{2F927}" => "\u{24814}", + "\u{2F928}" => "\u737A", + "\u{2F929}" => "\u738B", + "\u{2F92A}" => "\u3EAC", + "\u{2F92B}" => "\u73A5", + "\u{2F92C}" => "\u3EB8", + "\u{2F92D}" => "\u3EB8", + "\u{2F92E}" => "\u7447", + "\u{2F92F}" => "\u745C", + "\u{2F930}" => "\u7471", + "\u{2F931}" => "\u7485", + "\u{2F932}" => "\u74CA", + "\u{2F933}" => "\u3F1B", + "\u{2F934}" => "\u7524", + "\u{2F935}" => "\u{24C36}", + "\u{2F936}" => "\u753E", + "\u{2F937}" => "\u{24C92}", + "\u{2F938}" => "\u7570", + "\u{2F939}" => "\u{2219F}", + "\u{2F93A}" => "\u7610", + "\u{2F93B}" => "\u{24FA1}", + "\u{2F93C}" => "\u{24FB8}", + "\u{2F93D}" => "\u{25044}", + "\u{2F93E}" => "\u3FFC", + "\u{2F93F}" => "\u4008", + "\u{2F940}" => "\u76F4", + "\u{2F941}" => "\u{250F3}", + "\u{2F942}" => "\u{250F2}", + "\u{2F943}" => "\u{25119}", + "\u{2F944}" => "\u{25133}", + "\u{2F945}" => "\u771E", + "\u{2F946}" => "\u771F", + "\u{2F947}" => "\u771F", + "\u{2F948}" => "\u774A", + "\u{2F949}" => "\u4039", + "\u{2F94A}" => "\u778B", + "\u{2F94B}" => "\u4046", + "\u{2F94C}" => "\u4096", + "\u{2F94D}" => "\u{2541D}", + "\u{2F94E}" => "\u784E", + "\u{2F94F}" => "\u788C", + "\u{2F950}" => "\u78CC", + "\u{2F951}" => "\u40E3", + "\u{2F952}" => "\u{25626}", + "\u{2F953}" => "\u7956", + "\u{2F954}" => "\u{2569A}", + "\u{2F955}" => "\u{256C5}", + "\u{2F956}" => "\u798F", + "\u{2F957}" => "\u79EB", + "\u{2F958}" => "\u412F", + "\u{2F959}" => "\u7A40", + "\u{2F95A}" => "\u7A4A", + "\u{2F95B}" => "\u7A4F", + "\u{2F95C}" => "\u{2597C}", + "\u{2F95D}" => "\u{25AA7}", + "\u{2F95E}" => "\u{25AA7}", + "\u{2F960}" => "\u4202", + "\u{2F961}" => "\u{25BAB}", + "\u{2F962}" => "\u7BC6", + "\u{2F963}" => "\u7BC9", + "\u{2F964}" => "\u4227", + "\u{2F965}" => "\u{25C80}", + "\u{2F966}" => "\u7CD2", + "\u{2F967}" => "\u42A0", + "\u{2F968}" => "\u7CE8", + "\u{2F969}" => "\u7CE3", + "\u{2F96A}" => "\u7D00", + "\u{2F96B}" => "\u{25F86}", + "\u{2F96C}" => "\u7D63", + "\u{2F96D}" => "\u4301", + "\u{2F96E}" => "\u7DC7", + "\u{2F96F}" => "\u7E02", + "\u{2F970}" => "\u7E45", + "\u{2F971}" => "\u4334", + "\u{2F972}" => "\u{26228}", + "\u{2F973}" => "\u{26247}", + "\u{2F974}" => "\u4359", + "\u{2F975}" => "\u{262D9}", + "\u{2F976}" => "\u7F7A", + "\u{2F977}" => "\u{2633E}", + "\u{2F978}" => "\u7F95", + "\u{2F979}" => "\u7FFA", + "\u{2F97A}" => "\u8005", + "\u{2F97B}" => "\u{264DA}", + "\u{2F97C}" => "\u{26523}", + "\u{2F97D}" => "\u8060", + "\u{2F97E}" => "\u{265A8}", + "\u{2F97F}" => "\u8070", + "\u{2F980}" => "\u{2335F}", + "\u{2F981}" => "\u43D5", + "\u{2F982}" => "\u80B2", + "\u{2F983}" => "\u8103", + "\u{2F984}" => "\u440B", + "\u{2F985}" => "\u813E", + "\u{2F986}" => "\u5AB5", + "\u{2F987}" => "\u{267A7}", + "\u{2F988}" => "\u{267B5}", + "\u{2F989}" => "\u{23393}", + "\u{2F98A}" => "\u{2339C}", + "\u{2F98B}" => "\u8201", + "\u{2F98C}" => "\u8204", + "\u{2F98D}" => "\u8F9E", + "\u{2F98E}" => "\u446B", + "\u{2F98F}" => "\u8291", + "\u{2F990}" => "\u828B", + "\u{2F991}" => "\u829D", + "\u{2F992}" => "\u52B3", + "\u{2F993}" => "\u82B1", + "\u{2F994}" => "\u82B3", + "\u{2F995}" => "\u82BD", + "\u{2F996}" => "\u82E6", + "\u{2F997}" => "\u{26B3C}", + "\u{2F998}" => "\u82E5", + "\u{2F999}" => "\u831D", + "\u{2F99A}" => "\u8363", + "\u{2F99B}" => "\u83AD", + "\u{2F99C}" => "\u8323", + "\u{2F99D}" => "\u83BD", + "\u{2F99E}" => "\u83E7", + "\u{2F99F}" => "\u8457", + "\u{2F9A0}" => "\u8353", + "\u{2F9A1}" => "\u83CA", + "\u{2F9A2}" => "\u83CC", + "\u{2F9A3}" => "\u83DC", + "\u{2F9A4}" => "\u{26C36}", + "\u{2F9A5}" => "\u{26D6B}", + "\u{2F9A6}" => "\u{26CD5}", + "\u{2F9A7}" => "\u452B", + "\u{2F9A8}" => "\u84F1", + "\u{2F9A9}" => "\u84F3", + "\u{2F9AA}" => "\u8516", + "\u{2F9AB}" => "\u{273CA}", + "\u{2F9AC}" => "\u8564", + "\u{2F9AD}" => "\u{26F2C}", + "\u{2F9AE}" => "\u455D", + "\u{2F9AF}" => "\u4561", + "\u{2F9B0}" => "\u{26FB1}", + "\u{2F9B1}" => "\u{270D2}", + "\u{2F9B2}" => "\u456B", + "\u{2F9B3}" => "\u8650", + "\u{2F9B4}" => "\u865C", + "\u{2F9B5}" => "\u8667", + "\u{2F9B6}" => "\u8669", + "\u{2F9B7}" => "\u86A9", + "\u{2F9B8}" => "\u8688", + "\u{2F9B9}" => "\u870E", + "\u{2F9BA}" => "\u86E2", + "\u{2F9BB}" => "\u8779", + "\u{2F9BC}" => "\u8728", + "\u{2F9BD}" => "\u876B", + "\u{2F9BE}" => "\u8786", + "\u{2F9C0}" => "\u87E1", + "\u{2F9C1}" => "\u8801", + "\u{2F9C2}" => "\u45F9", + "\u{2F9C3}" => "\u8860", + "\u{2F9C4}" => "\u8863", + "\u{2F9C5}" => "\u{27667}", + "\u{2F9C6}" => "\u88D7", + "\u{2F9C7}" => "\u88DE", + "\u{2F9C8}" => "\u4635", + "\u{2F9C9}" => "\u88FA", + "\u{2F9CA}" => "\u34BB", + "\u{2F9CB}" => "\u{278AE}", + "\u{2F9CC}" => "\u{27966}", + "\u{2F9CD}" => "\u46BE", + "\u{2F9CE}" => "\u46C7", + "\u{2F9CF}" => "\u8AA0", + "\u{2F9D0}" => "\u8AED", + "\u{2F9D1}" => "\u8B8A", + "\u{2F9D2}" => "\u8C55", + "\u{2F9D3}" => "\u{27CA8}", + "\u{2F9D4}" => "\u8CAB", + "\u{2F9D5}" => "\u8CC1", + "\u{2F9D6}" => "\u8D1B", + "\u{2F9D7}" => "\u8D77", + "\u{2F9D8}" => "\u{27F2F}", + "\u{2F9D9}" => "\u{20804}", + "\u{2F9DA}" => "\u8DCB", + "\u{2F9DB}" => "\u8DBC", + "\u{2F9DC}" => "\u8DF0", + "\u{2F9DD}" => "\u{208DE}", + "\u{2F9DE}" => "\u8ED4", + "\u{2F9DF}" => "\u8F38", + "\u{2F9E0}" => "\u{285D2}", + "\u{2F9E1}" => "\u{285ED}", + "\u{2F9E2}" => "\u9094", + "\u{2F9E3}" => "\u90F1", + "\u{2F9E4}" => "\u9111", + "\u{2F9E5}" => "\u{2872E}", + "\u{2F9E6}" => "\u911B", + "\u{2F9E7}" => "\u9238", + "\u{2F9E8}" => "\u92D7", + "\u{2F9E9}" => "\u92D8", + "\u{2F9EA}" => "\u927C", + "\u{2F9EB}" => "\u93F9", + "\u{2F9EC}" => "\u9415", + "\u{2F9ED}" => "\u{28BFA}", + "\u{2F9EE}" => "\u958B", + "\u{2F9EF}" => "\u4995", + "\u{2F9F0}" => "\u95B7", + "\u{2F9F1}" => "\u{28D77}", + "\u{2F9F2}" => "\u49E6", + "\u{2F9F3}" => "\u96C3", + "\u{2F9F4}" => "\u5DB2", + "\u{2F9F5}" => "\u9723", + "\u{2F9F6}" => "\u{29145}", + "\u{2F9F7}" => "\u{2921A}", + "\u{2F9F8}" => "\u4A6E", + "\u{2F9F9}" => "\u4A76", + "\u{2F9FA}" => "\u97E0", + "\u{2F9FB}" => "\u{2940A}", + "\u{2F9FC}" => "\u4AB2", + "\u{2F9FD}" => "\u{29496}", + "\u{2F9FE}" => "\u980B", + "\u{2F9FF}" => "\u980B", + "\u{2FA00}" => "\u9829", + "\u{2FA01}" => "\u{295B6}", + "\u{2FA02}" => "\u98E2", + "\u{2FA03}" => "\u4B33", + "\u{2FA04}" => "\u9929", + "\u{2FA05}" => "\u99A7", + "\u{2FA06}" => "\u99C2", + "\u{2FA07}" => "\u99FE", + "\u{2FA08}" => "\u4BCE", + "\u{2FA09}" => "\u{29B30}", + "\u{2FA0A}" => "\u9B12", + "\u{2FA0B}" => "\u9C40", + "\u{2FA0C}" => "\u9CFD", + "\u{2FA0D}" => "\u4CCE", + "\u{2FA0E}" => "\u4CED", + "\u{2FA0F}" => "\u9D67", + "\u{2FA10}" => "\u{2A0CE}", + "\u{2FA11}" => "\u4CF8", + "\u{2FA12}" => "\u{2A105}", + "\u{2FA13}" => "\u{2A20E}", + "\u{2FA14}" => "\u{2A291}", + "\u{2FA15}" => "\u9EBB", + "\u{2FA16}" => "\u4D56", + "\u{2FA17}" => "\u9EF9", + "\u{2FA18}" => "\u9EFE", + "\u{2FA19}" => "\u9F05", + "\u{2FA1A}" => "\u9F0F", + "\u{2FA1B}" => "\u9F16", + "\u{2FA1C}" => "\u9F3B", + "\u{2FA1D}" => "\u{2A600}", + }.freeze + + REGEX_V_STRING = "["\ + "-."\ + "0-9"\ + "a-z"\ + "\u00A1-\u00A7"\ + "\u00A9"\ + "\u00AB\u00AC"\ + "\u00AE"\ + "\u00B0\u00B1"\ + "\u00B6\u00B7"\ + "\u00BB"\ + "\u00BF"\ + "\u00D7"\ + "\u00E0-\u00FF"\ + "\u0101"\ + "\u0103"\ + "\u0105"\ + "\u0107"\ + "\u0109"\ + "\u010B"\ + "\u010D"\ + "\u010F"\ + "\u0111"\ + "\u0113"\ + "\u0115"\ + "\u0117"\ + "\u0119"\ + "\u011B"\ + "\u011D"\ + "\u011F"\ + "\u0121"\ + "\u0123"\ + "\u0125"\ + "\u0127"\ + "\u0129"\ + "\u012B"\ + "\u012D"\ + "\u012F"\ + "\u0131"\ + "\u0135"\ + "\u0137\u0138"\ + "\u013A"\ + "\u013C"\ + "\u013E"\ + "\u0142"\ + "\u0144"\ + "\u0146"\ + "\u0148"\ + "\u014B"\ + "\u014D"\ + "\u014F"\ + "\u0151"\ + "\u0153"\ + "\u0155"\ + "\u0157"\ + "\u0159"\ + "\u015B"\ + "\u015D"\ + "\u015F"\ + "\u0161"\ + "\u0163"\ + "\u0165"\ + "\u0167"\ + "\u0169"\ + "\u016B"\ + "\u016D"\ + "\u016F"\ + "\u0171"\ + "\u0173"\ + "\u0175"\ + "\u0177"\ + "\u017A"\ + "\u017C"\ + "\u017E"\ + "\u0180"\ + "\u0183"\ + "\u0185"\ + "\u0188"\ + "\u018C\u018D"\ + "\u0192"\ + "\u0195"\ + "\u0199-\u019B"\ + "\u019E"\ + "\u01A1"\ + "\u01A3"\ + "\u01A5"\ + "\u01A8"\ + "\u01AA\u01AB"\ + "\u01AD"\ + "\u01B0"\ + "\u01B4"\ + "\u01B6"\ + "\u01B9-\u01BB"\ + "\u01BD-\u01C3"\ + "\u01CE"\ + "\u01D0"\ + "\u01D2"\ + "\u01D4"\ + "\u01D6"\ + "\u01D8"\ + "\u01DA"\ + "\u01DC\u01DD"\ + "\u01DF"\ + "\u01E1"\ + "\u01E3"\ + "\u01E5"\ + "\u01E7"\ + "\u01E9"\ + "\u01EB"\ + "\u01ED"\ + "\u01EF\u01F0"\ + "\u01F5"\ + "\u01F9"\ + "\u01FB"\ + "\u01FD"\ + "\u01FF"\ + "\u0201"\ + "\u0203"\ + "\u0205"\ + "\u0207"\ + "\u0209"\ + "\u020B"\ + "\u020D"\ + "\u020F"\ + "\u0211"\ + "\u0213"\ + "\u0215"\ + "\u0217"\ + "\u0219"\ + "\u021B"\ + "\u021D"\ + "\u021F"\ + "\u0221"\ + "\u0223"\ + "\u0225"\ + "\u0227"\ + "\u0229"\ + "\u022B"\ + "\u022D"\ + "\u022F"\ + "\u0231"\ + "\u0233-\u0239"\ + "\u023C"\ + "\u023F\u0240"\ + "\u0242"\ + "\u0247"\ + "\u0249"\ + "\u024B"\ + "\u024D"\ + "\u024F-\u02AF"\ + "\u02B9-\u02D7"\ + "\u02DE\u02DF"\ + "\u02E5-\u033F"\ + "\u0342"\ + "\u0346-\u034E"\ + "\u0350-\u036F"\ + "\u0371"\ + "\u0373"\ + "\u0375"\ + "\u0377"\ + "\u037B-\u037D"\ + "\u0390"\ + "\u03AC-\u03C1"\ + "\u03C3-\u03CE"\ + "\u03D7"\ + "\u03D9"\ + "\u03DB"\ + "\u03DD"\ + "\u03DF"\ + "\u03E1"\ + "\u03E3"\ + "\u03E5"\ + "\u03E7"\ + "\u03E9"\ + "\u03EB"\ + "\u03ED"\ + "\u03EF"\ + "\u03F3"\ + "\u03F6"\ + "\u03F8"\ + "\u03FB\u03FC"\ + "\u0430-\u045F"\ + "\u0461"\ + "\u0463"\ + "\u0465"\ + "\u0467"\ + "\u0469"\ + "\u046B"\ + "\u046D"\ + "\u046F"\ + "\u0471"\ + "\u0473"\ + "\u0475"\ + "\u0477"\ + "\u0479"\ + "\u047B"\ + "\u047D"\ + "\u047F"\ + "\u0481-\u0489"\ + "\u048B"\ + "\u048D"\ + "\u048F"\ + "\u0491"\ + "\u0493"\ + "\u0495"\ + "\u0497"\ + "\u0499"\ + "\u049B"\ + "\u049D"\ + "\u049F"\ + "\u04A1"\ + "\u04A3"\ + "\u04A5"\ + "\u04A7"\ + "\u04A9"\ + "\u04AB"\ + "\u04AD"\ + "\u04AF"\ + "\u04B1"\ + "\u04B3"\ + "\u04B5"\ + "\u04B7"\ + "\u04B9"\ + "\u04BB"\ + "\u04BD"\ + "\u04BF"\ + "\u04C2"\ + "\u04C4"\ + "\u04C6"\ + "\u04C8"\ + "\u04CA"\ + "\u04CC"\ + "\u04CE\u04CF"\ + "\u04D1"\ + "\u04D3"\ + "\u04D5"\ + "\u04D7"\ + "\u04D9"\ + "\u04DB"\ + "\u04DD"\ + "\u04DF"\ + "\u04E1"\ + "\u04E3"\ + "\u04E5"\ + "\u04E7"\ + "\u04E9"\ + "\u04EB"\ + "\u04ED"\ + "\u04EF"\ + "\u04F1"\ + "\u04F3"\ + "\u04F5"\ + "\u04F7"\ + "\u04F9"\ + "\u04FB"\ + "\u04FD"\ + "\u04FF"\ + "\u0501"\ + "\u0503"\ + "\u0505"\ + "\u0507"\ + "\u0509"\ + "\u050B"\ + "\u050D"\ + "\u050F"\ + "\u0511"\ + "\u0513"\ + "\u0515"\ + "\u0517"\ + "\u0519"\ + "\u051B"\ + "\u051D"\ + "\u051F"\ + "\u0521"\ + "\u0523"\ + "\u0525"\ + "\u0527"\ + "\u0529"\ + "\u052B"\ + "\u052D"\ + "\u052F"\ + "\u0559-\u0586"\ + "\u0588-\u058A"\ + "\u058D-\u058F"\ + "\u0591-\u05C7"\ + "\u05D0-\u05EA"\ + "\u05EF-\u05F4"\ + "\u0606-\u061B"\ + "\u061D-\u0674"\ + "\u0679-\u06DC"\ + "\u06DE-\u070D"\ + "\u0710-\u074A"\ + "\u074D-\u07B1"\ + "\u07C0-\u07FA"\ + "\u07FD-\u082D"\ + "\u0830-\u083E"\ + "\u0840-\u085B"\ + "\u085E"\ + "\u0860-\u086A"\ + "\u0870-\u088E"\ + "\u0898-\u08E1"\ + "\u08E3-\u0957"\ + "\u0960-\u0983"\ + "\u0985-\u098C"\ + "\u098F\u0990"\ + "\u0993-\u09A8"\ + "\u09AA-\u09B0"\ + "\u09B2"\ + "\u09B6-\u09B9"\ + "\u09BC-\u09C4"\ + "\u09C7\u09C8"\ + "\u09CB-\u09CE"\ + "\u09D7"\ + "\u09E0-\u09E3"\ + "\u09E6-\u09FE"\ + "\u0A01-\u0A03"\ + "\u0A05-\u0A0A"\ + "\u0A0F\u0A10"\ + "\u0A13-\u0A28"\ + "\u0A2A-\u0A30"\ + "\u0A32"\ + "\u0A35"\ + "\u0A38\u0A39"\ + "\u0A3C"\ + "\u0A3E-\u0A42"\ + "\u0A47\u0A48"\ + "\u0A4B-\u0A4D"\ + "\u0A51"\ + "\u0A5C"\ + "\u0A66-\u0A76"\ + "\u0A81-\u0A83"\ + "\u0A85-\u0A8D"\ + "\u0A8F-\u0A91"\ + "\u0A93-\u0AA8"\ + "\u0AAA-\u0AB0"\ + "\u0AB2\u0AB3"\ + "\u0AB5-\u0AB9"\ + "\u0ABC-\u0AC5"\ + "\u0AC7-\u0AC9"\ + "\u0ACB-\u0ACD"\ + "\u0AD0"\ + "\u0AE0-\u0AE3"\ + "\u0AE6-\u0AF1"\ + "\u0AF9-\u0AFF"\ + "\u0B01-\u0B03"\ + "\u0B05-\u0B0C"\ + "\u0B0F\u0B10"\ + "\u0B13-\u0B28"\ + "\u0B2A-\u0B30"\ + "\u0B32\u0B33"\ + "\u0B35-\u0B39"\ + "\u0B3C-\u0B44"\ + "\u0B47\u0B48"\ + "\u0B4B-\u0B4D"\ + "\u0B55-\u0B57"\ + "\u0B5F-\u0B63"\ + "\u0B66-\u0B77"\ + "\u0B82\u0B83"\ + "\u0B85-\u0B8A"\ + "\u0B8E-\u0B90"\ + "\u0B92-\u0B95"\ + "\u0B99\u0B9A"\ + "\u0B9C"\ + "\u0B9E\u0B9F"\ + "\u0BA3\u0BA4"\ + "\u0BA8-\u0BAA"\ + "\u0BAE-\u0BB9"\ + "\u0BBE-\u0BC2"\ + "\u0BC6-\u0BC8"\ + "\u0BCA-\u0BCD"\ + "\u0BD0"\ + "\u0BD7"\ + "\u0BE6-\u0BFA"\ + "\u0C00-\u0C0C"\ + "\u0C0E-\u0C10"\ + "\u0C12-\u0C28"\ + "\u0C2A-\u0C39"\ + "\u0C3C-\u0C44"\ + "\u0C46-\u0C48"\ + "\u0C4A-\u0C4D"\ + "\u0C55\u0C56"\ + "\u0C58-\u0C5A"\ + "\u0C5D"\ + "\u0C60-\u0C63"\ + "\u0C66-\u0C6F"\ + "\u0C77-\u0C8C"\ + "\u0C8E-\u0C90"\ + "\u0C92-\u0CA8"\ + "\u0CAA-\u0CB3"\ + "\u0CB5-\u0CB9"\ + "\u0CBC-\u0CC4"\ + "\u0CC6-\u0CC8"\ + "\u0CCA-\u0CCD"\ + "\u0CD5\u0CD6"\ + "\u0CDD\u0CDE"\ + "\u0CE0-\u0CE3"\ + "\u0CE6-\u0CEF"\ + "\u0CF1-\u0CF3"\ + "\u0D00-\u0D0C"\ + "\u0D0E-\u0D10"\ + "\u0D12-\u0D44"\ + "\u0D46-\u0D48"\ + "\u0D4A-\u0D4F"\ + "\u0D54-\u0D63"\ + "\u0D66-\u0D7F"\ + "\u0D81-\u0D83"\ + "\u0D85-\u0D96"\ + "\u0D9A-\u0DB1"\ + "\u0DB3-\u0DBB"\ + "\u0DBD"\ + "\u0DC0-\u0DC6"\ + "\u0DCA"\ + "\u0DCF-\u0DD4"\ + "\u0DD6"\ + "\u0DD8-\u0DDF"\ + "\u0DE6-\u0DEF"\ + "\u0DF2-\u0DF4"\ + "\u0E01-\u0E32"\ + "\u0E34-\u0E3A"\ + "\u0E3F-\u0E5B"\ + "\u0E81\u0E82"\ + "\u0E84"\ + "\u0E86-\u0E8A"\ + "\u0E8C-\u0EA3"\ + "\u0EA5"\ + "\u0EA7-\u0EB2"\ + "\u0EB4-\u0EBD"\ + "\u0EC0-\u0EC4"\ + "\u0EC6"\ + "\u0EC8-\u0ECE"\ + "\u0ED0-\u0ED9"\ + "\u0EDE\u0EDF"\ + "\u0F00-\u0F0B"\ + "\u0F0D-\u0F42"\ + "\u0F44-\u0F47"\ + "\u0F49-\u0F4C"\ + "\u0F4E-\u0F51"\ + "\u0F53-\u0F56"\ + "\u0F58-\u0F5B"\ + "\u0F5D-\u0F68"\ + "\u0F6A-\u0F6C"\ + "\u0F71\u0F72"\ + "\u0F74"\ + "\u0F7A-\u0F80"\ + "\u0F82-\u0F92"\ + "\u0F94-\u0F97"\ + "\u0F99-\u0F9C"\ + "\u0F9E-\u0FA1"\ + "\u0FA3-\u0FA6"\ + "\u0FA8-\u0FAB"\ + "\u0FAD-\u0FB8"\ + "\u0FBA-\u0FBC"\ + "\u0FBE-\u0FCC"\ + "\u0FCE-\u0FDA"\ + "\u1000-\u109F"\ + "\u10D0-\u10FB"\ + "\u10FD-\u115E"\ + "\u1161-\u1248"\ + "\u124A-\u124D"\ + "\u1250-\u1256"\ + "\u1258"\ + "\u125A-\u125D"\ + "\u1260-\u1288"\ + "\u128A-\u128D"\ + "\u1290-\u12B0"\ + "\u12B2-\u12B5"\ + "\u12B8-\u12BE"\ + "\u12C0"\ + "\u12C2-\u12C5"\ + "\u12C8-\u12D6"\ + "\u12D8-\u1310"\ + "\u1312-\u1315"\ + "\u1318-\u135A"\ + "\u135D-\u137C"\ + "\u1380-\u1399"\ + "\u13A0-\u13F5"\ + "\u1400-\u167F"\ + "\u1681-\u169C"\ + "\u16A0-\u16F8"\ + "\u1700-\u1715"\ + "\u171F-\u1736"\ + "\u1740-\u1753"\ + "\u1760-\u176C"\ + "\u176E-\u1770"\ + "\u1772\u1773"\ + "\u1780-\u17B3"\ + "\u17B6-\u17DD"\ + "\u17E0-\u17E9"\ + "\u17F0-\u17F9"\ + "\u1800-\u1805"\ + "\u1807-\u180A"\ + "\u1810-\u1819"\ + "\u1820-\u1878"\ + "\u1880-\u18AA"\ + "\u18B0-\u18F5"\ + "\u1900-\u191E"\ + "\u1920-\u192B"\ + "\u1930-\u193B"\ + "\u1940"\ + "\u1944-\u196D"\ + "\u1970-\u1974"\ + "\u1980-\u19AB"\ + "\u19B0-\u19C9"\ + "\u19D0-\u19DA"\ + "\u19DE-\u1A1B"\ + "\u1A1E-\u1A5E"\ + "\u1A60-\u1A7C"\ + "\u1A7F-\u1A89"\ + "\u1A90-\u1A99"\ + "\u1AA0-\u1AAD"\ + "\u1AB0-\u1ACE"\ + "\u1B00-\u1B4C"\ + "\u1B50-\u1B7E"\ + "\u1B80-\u1BF3"\ + "\u1BFC-\u1C37"\ + "\u1C3B-\u1C49"\ + "\u1C4D-\u1C7F"\ + "\u1CC0-\u1CC7"\ + "\u1CD0-\u1CFA"\ + "\u1D00-\u1D2B"\ + "\u1D2F"\ + "\u1D3B"\ + "\u1D4E"\ + "\u1D6B-\u1D77"\ + "\u1D79-\u1D9A"\ + "\u1DC0-\u1DFF"\ + "\u1E01"\ + "\u1E03"\ + "\u1E05"\ + "\u1E07"\ + "\u1E09"\ + "\u1E0B"\ + "\u1E0D"\ + "\u1E0F"\ + "\u1E11"\ + "\u1E13"\ + "\u1E15"\ + "\u1E17"\ + "\u1E19"\ + "\u1E1B"\ + "\u1E1D"\ + "\u1E1F"\ + "\u1E21"\ + "\u1E23"\ + "\u1E25"\ + "\u1E27"\ + "\u1E29"\ + "\u1E2B"\ + "\u1E2D"\ + "\u1E2F"\ + "\u1E31"\ + "\u1E33"\ + "\u1E35"\ + "\u1E37"\ + "\u1E39"\ + "\u1E3B"\ + "\u1E3D"\ + "\u1E3F"\ + "\u1E41"\ + "\u1E43"\ + "\u1E45"\ + "\u1E47"\ + "\u1E49"\ + "\u1E4B"\ + "\u1E4D"\ + "\u1E4F"\ + "\u1E51"\ + "\u1E53"\ + "\u1E55"\ + "\u1E57"\ + "\u1E59"\ + "\u1E5B"\ + "\u1E5D"\ + "\u1E5F"\ + "\u1E61"\ + "\u1E63"\ + "\u1E65"\ + "\u1E67"\ + "\u1E69"\ + "\u1E6B"\ + "\u1E6D"\ + "\u1E6F"\ + "\u1E71"\ + "\u1E73"\ + "\u1E75"\ + "\u1E77"\ + "\u1E79"\ + "\u1E7B"\ + "\u1E7D"\ + "\u1E7F"\ + "\u1E81"\ + "\u1E83"\ + "\u1E85"\ + "\u1E87"\ + "\u1E89"\ + "\u1E8B"\ + "\u1E8D"\ + "\u1E8F"\ + "\u1E91"\ + "\u1E93"\ + "\u1E95-\u1E99"\ + "\u1E9C\u1E9D"\ + "\u1E9F"\ + "\u1EA1"\ + "\u1EA3"\ + "\u1EA5"\ + "\u1EA7"\ + "\u1EA9"\ + "\u1EAB"\ + "\u1EAD"\ + "\u1EAF"\ + "\u1EB1"\ + "\u1EB3"\ + "\u1EB5"\ + "\u1EB7"\ + "\u1EB9"\ + "\u1EBB"\ + "\u1EBD"\ + "\u1EBF"\ + "\u1EC1"\ + "\u1EC3"\ + "\u1EC5"\ + "\u1EC7"\ + "\u1EC9"\ + "\u1ECB"\ + "\u1ECD"\ + "\u1ECF"\ + "\u1ED1"\ + "\u1ED3"\ + "\u1ED5"\ + "\u1ED7"\ + "\u1ED9"\ + "\u1EDB"\ + "\u1EDD"\ + "\u1EDF"\ + "\u1EE1"\ + "\u1EE3"\ + "\u1EE5"\ + "\u1EE7"\ + "\u1EE9"\ + "\u1EEB"\ + "\u1EED"\ + "\u1EEF"\ + "\u1EF1"\ + "\u1EF3"\ + "\u1EF5"\ + "\u1EF7"\ + "\u1EF9"\ + "\u1EFB"\ + "\u1EFD"\ + "\u1EFF-\u1F07"\ + "\u1F10-\u1F15"\ + "\u1F20-\u1F27"\ + "\u1F30-\u1F37"\ + "\u1F40-\u1F45"\ + "\u1F50-\u1F57"\ + "\u1F60-\u1F67"\ + "\u1F70"\ + "\u1F72"\ + "\u1F74"\ + "\u1F76"\ + "\u1F78"\ + "\u1F7A"\ + "\u1F7C"\ + "\u1FB0\u1FB1"\ + "\u1FB6"\ + "\u1FC6"\ + "\u1FD0-\u1FD2"\ + "\u1FD6\u1FD7"\ + "\u1FE0-\u1FE2"\ + "\u1FE4-\u1FE7"\ + "\u1FF6"\ + "\u2010"\ + "\u2012-\u2016"\ + "\u2018-\u2023"\ + "\u2027"\ + "\u2030-\u2032"\ + "\u2035"\ + "\u2038-\u203B"\ + "\u203D"\ + "\u203F-\u2046"\ + "\u204A-\u2056"\ + "\u2058-\u205E"\ + "\u20A0-\u20A7"\ + "\u20A9-\u20C0"\ + "\u20D0-\u20F0"\ + "\u2104"\ + "\u2108"\ + "\u2114"\ + "\u2117\u2118"\ + "\u211E\u211F"\ + "\u2123"\ + "\u2125"\ + "\u2127"\ + "\u2129"\ + "\u212E"\ + "\u213A"\ + "\u2141-\u2144"\ + "\u214A-\u214F"\ + "\u2180-\u2182"\ + "\u2184-\u2188"\ + "\u218A\u218B"\ + "\u2190-\u222B"\ + "\u222E"\ + "\u2231-\u2328"\ + "\u232B-\u2426"\ + "\u2440-\u244A"\ + "\u24EB-\u2A0B"\ + "\u2A0D-\u2A73"\ + "\u2A77-\u2ADB"\ + "\u2ADD-\u2B73"\ + "\u2B76-\u2B95"\ + "\u2B97-\u2BFF"\ + "\u2C30-\u2C5F"\ + "\u2C61"\ + "\u2C65\u2C66"\ + "\u2C68"\ + "\u2C6A"\ + "\u2C6C"\ + "\u2C71"\ + "\u2C73\u2C74"\ + "\u2C76-\u2C7B"\ + "\u2C81"\ + "\u2C83"\ + "\u2C85"\ + "\u2C87"\ + "\u2C89"\ + "\u2C8B"\ + "\u2C8D"\ + "\u2C8F"\ + "\u2C91"\ + "\u2C93"\ + "\u2C95"\ + "\u2C97"\ + "\u2C99"\ + "\u2C9B"\ + "\u2C9D"\ + "\u2C9F"\ + "\u2CA1"\ + "\u2CA3"\ + "\u2CA5"\ + "\u2CA7"\ + "\u2CA9"\ + "\u2CAB"\ + "\u2CAD"\ + "\u2CAF"\ + "\u2CB1"\ + "\u2CB3"\ + "\u2CB5"\ + "\u2CB7"\ + "\u2CB9"\ + "\u2CBB"\ + "\u2CBD"\ + "\u2CBF"\ + "\u2CC1"\ + "\u2CC3"\ + "\u2CC5"\ + "\u2CC7"\ + "\u2CC9"\ + "\u2CCB"\ + "\u2CCD"\ + "\u2CCF"\ + "\u2CD1"\ + "\u2CD3"\ + "\u2CD5"\ + "\u2CD7"\ + "\u2CD9"\ + "\u2CDB"\ + "\u2CDD"\ + "\u2CDF"\ + "\u2CE1"\ + "\u2CE3-\u2CEA"\ + "\u2CEC"\ + "\u2CEE-\u2CF1"\ + "\u2CF3"\ + "\u2CF9-\u2D25"\ + "\u2D27"\ + "\u2D2D"\ + "\u2D30-\u2D67"\ + "\u2D70"\ + "\u2D7F-\u2D96"\ + "\u2DA0-\u2DA6"\ + "\u2DA8-\u2DAE"\ + "\u2DB0-\u2DB6"\ + "\u2DB8-\u2DBE"\ + "\u2DC0-\u2DC6"\ + "\u2DC8-\u2DCE"\ + "\u2DD0-\u2DD6"\ + "\u2DD8-\u2DDE"\ + "\u2DE0-\u2E5D"\ + "\u2E80-\u2E99"\ + "\u2E9B-\u2E9E"\ + "\u2EA0-\u2EF2"\ + "\u3001"\ + "\u3003-\u3035"\ + "\u3037"\ + "\u303B-\u303F"\ + "\u3041-\u3096"\ + "\u3099\u309A"\ + "\u309D\u309E"\ + "\u30A0-\u30FE"\ + "\u3105-\u312F"\ + "\u3190\u3191"\ + "\u31A0-\u31E3"\ + "\u31F0-\u31FF"\ + "\u3248-\u324F"\ + "\u327F"\ + "\u3400-\uA48C"\ + "\uA490-\uA4C6"\ + "\uA4D0-\uA62B"\ + "\uA641"\ + "\uA643"\ + "\uA645"\ + "\uA647"\ + "\uA649"\ + "\uA64B"\ + "\uA64D"\ + "\uA64F"\ + "\uA651"\ + "\uA653"\ + "\uA655"\ + "\uA657"\ + "\uA659"\ + "\uA65B"\ + "\uA65D"\ + "\uA65F"\ + "\uA661"\ + "\uA663"\ + "\uA665"\ + "\uA667"\ + "\uA669"\ + "\uA66B"\ + "\uA66D-\uA67F"\ + "\uA681"\ + "\uA683"\ + "\uA685"\ + "\uA687"\ + "\uA689"\ + "\uA68B"\ + "\uA68D"\ + "\uA68F"\ + "\uA691"\ + "\uA693"\ + "\uA695"\ + "\uA697"\ + "\uA699"\ + "\uA69B"\ + "\uA69E-\uA6F7"\ + "\uA700-\uA721"\ + "\uA723"\ + "\uA725"\ + "\uA727"\ + "\uA729"\ + "\uA72B"\ + "\uA72D"\ + "\uA72F-\uA731"\ + "\uA733"\ + "\uA735"\ + "\uA737"\ + "\uA739"\ + "\uA73B"\ + "\uA73D"\ + "\uA73F"\ + "\uA741"\ + "\uA743"\ + "\uA745"\ + "\uA747"\ + "\uA749"\ + "\uA74B"\ + "\uA74D"\ + "\uA74F"\ + "\uA751"\ + "\uA753"\ + "\uA755"\ + "\uA757"\ + "\uA759"\ + "\uA75B"\ + "\uA75D"\ + "\uA75F"\ + "\uA761"\ + "\uA763"\ + "\uA765"\ + "\uA767"\ + "\uA769"\ + "\uA76B"\ + "\uA76D"\ + "\uA76F"\ + "\uA771-\uA778"\ + "\uA77A"\ + "\uA77C"\ + "\uA77F"\ + "\uA781"\ + "\uA783"\ + "\uA785"\ + "\uA787-\uA78A"\ + "\uA78C"\ + "\uA78E\uA78F"\ + "\uA791"\ + "\uA793-\uA795"\ + "\uA797"\ + "\uA799"\ + "\uA79B"\ + "\uA79D"\ + "\uA79F"\ + "\uA7A1"\ + "\uA7A3"\ + "\uA7A5"\ + "\uA7A7"\ + "\uA7A9"\ + "\uA7AF"\ + "\uA7B5"\ + "\uA7B7"\ + "\uA7B9"\ + "\uA7BB"\ + "\uA7BD"\ + "\uA7BF"\ + "\uA7C1"\ + "\uA7C3"\ + "\uA7C8"\ + "\uA7CA"\ + "\uA7D1"\ + "\uA7D3"\ + "\uA7D5"\ + "\uA7D7"\ + "\uA7D9"\ + "\uA7F6\uA7F7"\ + "\uA7FA-\uA82C"\ + "\uA830-\uA839"\ + "\uA840-\uA877"\ + "\uA880-\uA8C5"\ + "\uA8CE-\uA8D9"\ + "\uA8E0-\uA953"\ + "\uA95F-\uA97C"\ + "\uA980-\uA9CD"\ + "\uA9CF-\uA9D9"\ + "\uA9DE-\uA9FE"\ + "\uAA00-\uAA36"\ + "\uAA40-\uAA4D"\ + "\uAA50-\uAA59"\ + "\uAA5C-\uAAC2"\ + "\uAADB-\uAAF6"\ + "\uAB01-\uAB06"\ + "\uAB09-\uAB0E"\ + "\uAB11-\uAB16"\ + "\uAB20-\uAB26"\ + "\uAB28-\uAB2E"\ + "\uAB30-\uAB5B"\ + "\uAB60-\uAB68"\ + "\uAB6A\uAB6B"\ + "\uABC0-\uABED"\ + "\uABF0-\uABF9"\ + "\uAC00-\uD7A3"\ + "\uD7B0-\uD7C6"\ + "\uD7CB-\uD7FB"\ + "\uFA0E\uFA0F"\ + "\uFA11"\ + "\uFA13\uFA14"\ + "\uFA1F"\ + "\uFA21"\ + "\uFA23\uFA24"\ + "\uFA27-\uFA29"\ + "\uFB1E"\ + "\uFBB2-\uFBC2"\ + "\uFD3E-\uFD4F"\ + "\uFDCF"\ + "\uFDFD-\uFDFF"\ + "\uFE20-\uFE2F"\ + "\uFE45\uFE46"\ + "\uFE73"\ + "\u{10000}-\u{1000B}"\ + "\u{1000D}-\u{10026}"\ + "\u{10028}-\u{1003A}"\ + "\u{1003C}\u{1003D}"\ + "\u{1003F}-\u{1004D}"\ + "\u{10050}-\u{1005D}"\ + "\u{10080}-\u{100FA}"\ + "\u{10100}-\u{10102}"\ + "\u{10107}-\u{10133}"\ + "\u{10137}-\u{1018E}"\ + "\u{10190}-\u{1019C}"\ + "\u{101A0}"\ + "\u{101D0}-\u{101FD}"\ + "\u{10280}-\u{1029C}"\ + "\u{102A0}-\u{102D0}"\ + "\u{102E0}-\u{102FB}"\ + "\u{10300}-\u{10323}"\ + "\u{1032D}-\u{1034A}"\ + "\u{10350}-\u{1037A}"\ + "\u{10380}-\u{1039D}"\ + "\u{1039F}-\u{103C3}"\ + "\u{103C8}-\u{103D5}"\ + "\u{10428}-\u{1049D}"\ + "\u{104A0}-\u{104A9}"\ + "\u{104D8}-\u{104FB}"\ + "\u{10500}-\u{10527}"\ + "\u{10530}-\u{10563}"\ + "\u{1056F}"\ + "\u{10597}-\u{105A1}"\ + "\u{105A3}-\u{105B1}"\ + "\u{105B3}-\u{105B9}"\ + "\u{105BB}\u{105BC}"\ + "\u{10600}-\u{10736}"\ + "\u{10740}-\u{10755}"\ + "\u{10760}-\u{10767}"\ + "\u{10780}"\ + "\u{10800}-\u{10805}"\ + "\u{10808}"\ + "\u{1080A}-\u{10835}"\ + "\u{10837}\u{10838}"\ + "\u{1083C}"\ + "\u{1083F}-\u{10855}"\ + "\u{10857}-\u{1089E}"\ + "\u{108A7}-\u{108AF}"\ + "\u{108E0}-\u{108F2}"\ + "\u{108F4}\u{108F5}"\ + "\u{108FB}-\u{1091B}"\ + "\u{1091F}-\u{10939}"\ + "\u{1093F}"\ + "\u{10980}-\u{109B7}"\ + "\u{109BC}-\u{109CF}"\ + "\u{109D2}-\u{10A03}"\ + "\u{10A05}\u{10A06}"\ + "\u{10A0C}-\u{10A13}"\ + "\u{10A15}-\u{10A17}"\ + "\u{10A19}-\u{10A35}"\ + "\u{10A38}-\u{10A3A}"\ + "\u{10A3F}-\u{10A48}"\ + "\u{10A50}-\u{10A58}"\ + "\u{10A60}-\u{10A9F}"\ + "\u{10AC0}-\u{10AE6}"\ + "\u{10AEB}-\u{10AF6}"\ + "\u{10B00}-\u{10B35}"\ + "\u{10B39}-\u{10B55}"\ + "\u{10B58}-\u{10B72}"\ + "\u{10B78}-\u{10B91}"\ + "\u{10B99}-\u{10B9C}"\ + "\u{10BA9}-\u{10BAF}"\ + "\u{10C00}-\u{10C48}"\ + "\u{10CC0}-\u{10CF2}"\ + "\u{10CFA}-\u{10D27}"\ + "\u{10D30}-\u{10D39}"\ + "\u{10E60}-\u{10E7E}"\ + "\u{10E80}-\u{10EA9}"\ + "\u{10EAB}-\u{10EAD}"\ + "\u{10EB0}\u{10EB1}"\ + "\u{10EFD}-\u{10F27}"\ + "\u{10F30}-\u{10F59}"\ + "\u{10F70}-\u{10F89}"\ + "\u{10FB0}-\u{10FCB}"\ + "\u{10FE0}-\u{10FF6}"\ + "\u{11000}-\u{1104D}"\ + "\u{11052}-\u{11075}"\ + "\u{1107F}-\u{110BC}"\ + "\u{110BE}-\u{110C2}"\ + "\u{110D0}-\u{110E8}"\ + "\u{110F0}-\u{110F9}"\ + "\u{11100}-\u{11134}"\ + "\u{11136}-\u{11147}"\ + "\u{11150}-\u{11176}"\ + "\u{11180}-\u{111DF}"\ + "\u{111E1}-\u{111F4}"\ + "\u{11200}-\u{11211}"\ + "\u{11213}-\u{11241}"\ + "\u{11280}-\u{11286}"\ + "\u{11288}"\ + "\u{1128A}-\u{1128D}"\ + "\u{1128F}-\u{1129D}"\ + "\u{1129F}-\u{112A9}"\ + "\u{112B0}-\u{112EA}"\ + "\u{112F0}-\u{112F9}"\ + "\u{11300}-\u{11303}"\ + "\u{11305}-\u{1130C}"\ + "\u{1130F}\u{11310}"\ + "\u{11313}-\u{11328}"\ + "\u{1132A}-\u{11330}"\ + "\u{11332}\u{11333}"\ + "\u{11335}-\u{11339}"\ + "\u{1133B}-\u{11344}"\ + "\u{11347}\u{11348}"\ + "\u{1134B}-\u{1134D}"\ + "\u{11350}"\ + "\u{11357}"\ + "\u{1135D}-\u{11363}"\ + "\u{11366}-\u{1136C}"\ + "\u{11370}-\u{11374}"\ + "\u{11400}-\u{1145B}"\ + "\u{1145D}-\u{11461}"\ + "\u{11480}-\u{114C7}"\ + "\u{114D0}-\u{114D9}"\ + "\u{11580}-\u{115B5}"\ + "\u{115B8}-\u{115DD}"\ + "\u{11600}-\u{11644}"\ + "\u{11650}-\u{11659}"\ + "\u{11660}-\u{1166C}"\ + "\u{11680}-\u{116B9}"\ + "\u{116C0}-\u{116C9}"\ + "\u{11700}-\u{1171A}"\ + "\u{1171D}-\u{1172B}"\ + "\u{11730}-\u{11746}"\ + "\u{11800}-\u{1183B}"\ + "\u{118C0}-\u{118F2}"\ + "\u{118FF}-\u{11906}"\ + "\u{11909}"\ + "\u{1190C}-\u{11913}"\ + "\u{11915}\u{11916}"\ + "\u{11918}-\u{11935}"\ + "\u{11937}\u{11938}"\ + "\u{1193B}-\u{11946}"\ + "\u{11950}-\u{11959}"\ + "\u{119A0}-\u{119A7}"\ + "\u{119AA}-\u{119D7}"\ + "\u{119DA}-\u{119E4}"\ + "\u{11A00}-\u{11A47}"\ + "\u{11A50}-\u{11AA2}"\ + "\u{11AB0}-\u{11AF8}"\ + "\u{11B00}-\u{11B09}"\ + "\u{11C00}-\u{11C08}"\ + "\u{11C0A}-\u{11C36}"\ + "\u{11C38}-\u{11C45}"\ + "\u{11C50}-\u{11C6C}"\ + "\u{11C70}-\u{11C8F}"\ + "\u{11C92}-\u{11CA7}"\ + "\u{11CA9}-\u{11CB6}"\ + "\u{11D00}-\u{11D06}"\ + "\u{11D08}\u{11D09}"\ + "\u{11D0B}-\u{11D36}"\ + "\u{11D3A}"\ + "\u{11D3C}\u{11D3D}"\ + "\u{11D3F}-\u{11D47}"\ + "\u{11D50}-\u{11D59}"\ + "\u{11D60}-\u{11D65}"\ + "\u{11D67}\u{11D68}"\ + "\u{11D6A}-\u{11D8E}"\ + "\u{11D90}\u{11D91}"\ + "\u{11D93}-\u{11D98}"\ + "\u{11DA0}-\u{11DA9}"\ + "\u{11EE0}-\u{11EF8}"\ + "\u{11F00}-\u{11F10}"\ + "\u{11F12}-\u{11F3A}"\ + "\u{11F3E}-\u{11F59}"\ + "\u{11FB0}"\ + "\u{11FC0}-\u{11FF1}"\ + "\u{11FFF}-\u{12399}"\ + "\u{12400}-\u{1246E}"\ + "\u{12470}-\u{12474}"\ + "\u{12480}-\u{12543}"\ + "\u{12F90}-\u{12FF2}"\ + "\u{13000}-\u{1342F}"\ + "\u{13440}-\u{13455}"\ + "\u{14400}-\u{14646}"\ + "\u{16800}-\u{16A38}"\ + "\u{16A40}-\u{16A5E}"\ + "\u{16A60}-\u{16A69}"\ + "\u{16A6E}-\u{16ABE}"\ + "\u{16AC0}-\u{16AC9}"\ + "\u{16AD0}-\u{16AED}"\ + "\u{16AF0}-\u{16AF5}"\ + "\u{16B00}-\u{16B45}"\ + "\u{16B50}-\u{16B59}"\ + "\u{16B5B}-\u{16B61}"\ + "\u{16B63}-\u{16B77}"\ + "\u{16B7D}-\u{16B8F}"\ + "\u{16E60}-\u{16E9A}"\ + "\u{16F00}-\u{16F4A}"\ + "\u{16F4F}-\u{16F87}"\ + "\u{16F8F}-\u{16F9F}"\ + "\u{16FE0}-\u{16FE4}"\ + "\u{16FF0}\u{16FF1}"\ + "\u{17000}-\u{187F7}"\ + "\u{18800}-\u{18CD5}"\ + "\u{18D00}-\u{18D08}"\ + "\u{1AFF0}-\u{1AFF3}"\ + "\u{1AFF5}-\u{1AFFB}"\ + "\u{1AFFD}\u{1AFFE}"\ + "\u{1B000}-\u{1B122}"\ + "\u{1B132}"\ + "\u{1B150}-\u{1B152}"\ + "\u{1B155}"\ + "\u{1B164}-\u{1B167}"\ + "\u{1B170}-\u{1B2FB}"\ + "\u{1BC00}-\u{1BC6A}"\ + "\u{1BC70}-\u{1BC7C}"\ + "\u{1BC80}-\u{1BC88}"\ + "\u{1BC90}-\u{1BC99}"\ + "\u{1BC9C}-\u{1BC9F}"\ + "\u{1CF00}-\u{1CF2D}"\ + "\u{1CF30}-\u{1CF46}"\ + "\u{1CF50}-\u{1CFC3}"\ + "\u{1D000}-\u{1D0F5}"\ + "\u{1D100}-\u{1D126}"\ + "\u{1D129}-\u{1D15D}"\ + "\u{1D165}-\u{1D172}"\ + "\u{1D17B}-\u{1D1BA}"\ + "\u{1D1C1}-\u{1D1EA}"\ + "\u{1D200}-\u{1D245}"\ + "\u{1D2C0}-\u{1D2D3}"\ + "\u{1D2E0}-\u{1D2F3}"\ + "\u{1D300}-\u{1D356}"\ + "\u{1D360}-\u{1D378}"\ + "\u{1D800}-\u{1DA8B}"\ + "\u{1DA9B}-\u{1DA9F}"\ + "\u{1DAA1}-\u{1DAAF}"\ + "\u{1DF00}-\u{1DF1E}"\ + "\u{1DF25}-\u{1DF2A}"\ + "\u{1E000}-\u{1E006}"\ + "\u{1E008}-\u{1E018}"\ + "\u{1E01B}-\u{1E021}"\ + "\u{1E023}\u{1E024}"\ + "\u{1E026}-\u{1E02A}"\ + "\u{1E08F}"\ + "\u{1E100}-\u{1E12C}"\ + "\u{1E130}-\u{1E13D}"\ + "\u{1E140}-\u{1E149}"\ + "\u{1E14E}\u{1E14F}"\ + "\u{1E290}-\u{1E2AE}"\ + "\u{1E2C0}-\u{1E2F9}"\ + "\u{1E2FF}"\ + "\u{1E4D0}-\u{1E4F9}"\ + "\u{1E7E0}-\u{1E7E6}"\ + "\u{1E7E8}-\u{1E7EB}"\ + "\u{1E7ED}\u{1E7EE}"\ + "\u{1E7F0}-\u{1E7FE}"\ + "\u{1E800}-\u{1E8C4}"\ + "\u{1E8C7}-\u{1E8D6}"\ + "\u{1E922}-\u{1E94B}"\ + "\u{1E950}-\u{1E959}"\ + "\u{1E95E}\u{1E95F}"\ + "\u{1EC71}-\u{1ECB4}"\ + "\u{1ED01}-\u{1ED3D}"\ + "\u{1EEF0}\u{1EEF1}"\ + "\u{1F000}-\u{1F02B}"\ + "\u{1F030}-\u{1F093}"\ + "\u{1F0A0}-\u{1F0AE}"\ + "\u{1F0B1}-\u{1F0BF}"\ + "\u{1F0C1}-\u{1F0CF}"\ + "\u{1F0D1}-\u{1F0F5}"\ + "\u{1F10B}-\u{1F10F}"\ + "\u{1F12F}"\ + "\u{1F150}-\u{1F169}"\ + "\u{1F16D}-\u{1F18F}"\ + "\u{1F191}-\u{1F1AD}"\ + "\u{1F1E6}-\u{1F1FF}"\ + "\u{1F260}-\u{1F265}"\ + "\u{1F300}-\u{1F6D7}"\ + "\u{1F6DC}-\u{1F6EC}"\ + "\u{1F6F0}-\u{1F6FC}"\ + "\u{1F700}-\u{1F776}"\ + "\u{1F77B}-\u{1F7D9}"\ + "\u{1F7E0}-\u{1F7EB}"\ + "\u{1F7F0}"\ + "\u{1F800}-\u{1F80B}"\ + "\u{1F810}-\u{1F847}"\ + "\u{1F850}-\u{1F859}"\ + "\u{1F860}-\u{1F887}"\ + "\u{1F890}-\u{1F8AD}"\ + "\u{1F8B0}\u{1F8B1}"\ + "\u{1F900}-\u{1FA53}"\ + "\u{1FA60}-\u{1FA6D}"\ + "\u{1FA70}-\u{1FA7C}"\ + "\u{1FA80}-\u{1FA88}"\ + "\u{1FA90}-\u{1FABD}"\ + "\u{1FABF}-\u{1FAC5}"\ + "\u{1FACE}-\u{1FADB}"\ + "\u{1FAE0}-\u{1FAE8}"\ + "\u{1FAF0}-\u{1FAF8}"\ + "\u{1FB00}-\u{1FB92}"\ + "\u{1FB94}-\u{1FBCA}"\ + "\u{20000}-\u{2A6DF}"\ + "\u{2A700}-\u{2B739}"\ + "\u{2B740}-\u{2B81D}"\ + "\u{2B820}-\u{2CEA1}"\ + "\u{2CEB0}-\u{2EBE0}"\ + "\u{2EBF0}-\u{2EE5D}"\ + "\u{30000}-\u{3134A}"\ + "\u{31350}-\u{323AF}"\ + "]" + + REGEX_M_STRING = "["\ + "A-Z"\ + "\u00AA"\ + "\u00B2\u00B3"\ + "\u00B5"\ + "\u00B9\u00BA"\ + "\u00BC-\u00BE"\ + "\u00C0-\u00D6"\ + "\u00D8-\u00DE"\ + "\u0100"\ + "\u0102"\ + "\u0104"\ + "\u0106"\ + "\u0108"\ + "\u010A"\ + "\u010C"\ + "\u010E"\ + "\u0110"\ + "\u0112"\ + "\u0114"\ + "\u0116"\ + "\u0118"\ + "\u011A"\ + "\u011C"\ + "\u011E"\ + "\u0120"\ + "\u0122"\ + "\u0124"\ + "\u0126"\ + "\u0128"\ + "\u012A"\ + "\u012C"\ + "\u012E"\ + "\u0130"\ + "\u0132-\u0134"\ + "\u0136"\ + "\u0139"\ + "\u013B"\ + "\u013D"\ + "\u013F-\u0141"\ + "\u0143"\ + "\u0145"\ + "\u0147"\ + "\u0149\u014A"\ + "\u014C"\ + "\u014E"\ + "\u0150"\ + "\u0152"\ + "\u0154"\ + "\u0156"\ + "\u0158"\ + "\u015A"\ + "\u015C"\ + "\u015E"\ + "\u0160"\ + "\u0162"\ + "\u0164"\ + "\u0166"\ + "\u0168"\ + "\u016A"\ + "\u016C"\ + "\u016E"\ + "\u0170"\ + "\u0172"\ + "\u0174"\ + "\u0176"\ + "\u0178\u0179"\ + "\u017B"\ + "\u017D"\ + "\u017F"\ + "\u0181\u0182"\ + "\u0184"\ + "\u0186\u0187"\ + "\u0189-\u018B"\ + "\u018E-\u0191"\ + "\u0193\u0194"\ + "\u0196-\u0198"\ + "\u019C\u019D"\ + "\u019F\u01A0"\ + "\u01A2"\ + "\u01A4"\ + "\u01A6\u01A7"\ + "\u01A9"\ + "\u01AC"\ + "\u01AE\u01AF"\ + "\u01B1-\u01B3"\ + "\u01B5"\ + "\u01B7\u01B8"\ + "\u01BC"\ + "\u01C4-\u01CD"\ + "\u01CF"\ + "\u01D1"\ + "\u01D3"\ + "\u01D5"\ + "\u01D7"\ + "\u01D9"\ + "\u01DB"\ + "\u01DE"\ + "\u01E0"\ + "\u01E2"\ + "\u01E4"\ + "\u01E6"\ + "\u01E8"\ + "\u01EA"\ + "\u01EC"\ + "\u01EE"\ + "\u01F1-\u01F4"\ + "\u01F6-\u01F8"\ + "\u01FA"\ + "\u01FC"\ + "\u01FE"\ + "\u0200"\ + "\u0202"\ + "\u0204"\ + "\u0206"\ + "\u0208"\ + "\u020A"\ + "\u020C"\ + "\u020E"\ + "\u0210"\ + "\u0212"\ + "\u0214"\ + "\u0216"\ + "\u0218"\ + "\u021A"\ + "\u021C"\ + "\u021E"\ + "\u0220"\ + "\u0222"\ + "\u0224"\ + "\u0226"\ + "\u0228"\ + "\u022A"\ + "\u022C"\ + "\u022E"\ + "\u0230"\ + "\u0232"\ + "\u023A\u023B"\ + "\u023D\u023E"\ + "\u0241"\ + "\u0243-\u0246"\ + "\u0248"\ + "\u024A"\ + "\u024C"\ + "\u024E"\ + "\u02B0-\u02B8"\ + "\u02E0-\u02E4"\ + "\u0340\u0341"\ + "\u0343-\u0345"\ + "\u0370"\ + "\u0372"\ + "\u0374"\ + "\u0376"\ + "\u037F"\ + "\u0386-\u038A"\ + "\u038C"\ + "\u038E\u038F"\ + "\u0391-\u03A1"\ + "\u03A3-\u03AB"\ + "\u03CF-\u03D6"\ + "\u03D8"\ + "\u03DA"\ + "\u03DC"\ + "\u03DE"\ + "\u03E0"\ + "\u03E2"\ + "\u03E4"\ + "\u03E6"\ + "\u03E8"\ + "\u03EA"\ + "\u03EC"\ + "\u03EE"\ + "\u03F0-\u03F2"\ + "\u03F4\u03F5"\ + "\u03F7"\ + "\u03F9\u03FA"\ + "\u03FD-\u042F"\ + "\u0460"\ + "\u0462"\ + "\u0464"\ + "\u0466"\ + "\u0468"\ + "\u046A"\ + "\u046C"\ + "\u046E"\ + "\u0470"\ + "\u0472"\ + "\u0474"\ + "\u0476"\ + "\u0478"\ + "\u047A"\ + "\u047C"\ + "\u047E"\ + "\u0480"\ + "\u048A"\ + "\u048C"\ + "\u048E"\ + "\u0490"\ + "\u0492"\ + "\u0494"\ + "\u0496"\ + "\u0498"\ + "\u049A"\ + "\u049C"\ + "\u049E"\ + "\u04A0"\ + "\u04A2"\ + "\u04A4"\ + "\u04A6"\ + "\u04A8"\ + "\u04AA"\ + "\u04AC"\ + "\u04AE"\ + "\u04B0"\ + "\u04B2"\ + "\u04B4"\ + "\u04B6"\ + "\u04B8"\ + "\u04BA"\ + "\u04BC"\ + "\u04BE"\ + "\u04C1"\ + "\u04C3"\ + "\u04C5"\ + "\u04C7"\ + "\u04C9"\ + "\u04CB"\ + "\u04CD"\ + "\u04D0"\ + "\u04D2"\ + "\u04D4"\ + "\u04D6"\ + "\u04D8"\ + "\u04DA"\ + "\u04DC"\ + "\u04DE"\ + "\u04E0"\ + "\u04E2"\ + "\u04E4"\ + "\u04E6"\ + "\u04E8"\ + "\u04EA"\ + "\u04EC"\ + "\u04EE"\ + "\u04F0"\ + "\u04F2"\ + "\u04F4"\ + "\u04F6"\ + "\u04F8"\ + "\u04FA"\ + "\u04FC"\ + "\u04FE"\ + "\u0500"\ + "\u0502"\ + "\u0504"\ + "\u0506"\ + "\u0508"\ + "\u050A"\ + "\u050C"\ + "\u050E"\ + "\u0510"\ + "\u0512"\ + "\u0514"\ + "\u0516"\ + "\u0518"\ + "\u051A"\ + "\u051C"\ + "\u051E"\ + "\u0520"\ + "\u0522"\ + "\u0524"\ + "\u0526"\ + "\u0528"\ + "\u052A"\ + "\u052C"\ + "\u052E"\ + "\u0531-\u0556"\ + "\u0587"\ + "\u0675-\u0678"\ + "\u0958-\u095F"\ + "\u09DC\u09DD"\ + "\u09DF"\ + "\u0A33"\ + "\u0A36"\ + "\u0A59-\u0A5B"\ + "\u0A5E"\ + "\u0B5C\u0B5D"\ + "\u0E33"\ + "\u0EB3"\ + "\u0EDC\u0EDD"\ + "\u0F0C"\ + "\u0F43"\ + "\u0F4D"\ + "\u0F52"\ + "\u0F57"\ + "\u0F5C"\ + "\u0F69"\ + "\u0F73"\ + "\u0F75-\u0F79"\ + "\u0F81"\ + "\u0F93"\ + "\u0F9D"\ + "\u0FA2"\ + "\u0FA7"\ + "\u0FAC"\ + "\u0FB9"\ + "\u10C7"\ + "\u10CD"\ + "\u10FC"\ + "\u13F8-\u13FD"\ + "\u1C80-\u1C88"\ + "\u1C90-\u1CBA"\ + "\u1CBD-\u1CBF"\ + "\u1D2C-\u1D2E"\ + "\u1D30-\u1D3A"\ + "\u1D3C-\u1D4D"\ + "\u1D4F-\u1D6A"\ + "\u1D78"\ + "\u1D9B-\u1DBF"\ + "\u1E00"\ + "\u1E02"\ + "\u1E04"\ + "\u1E06"\ + "\u1E08"\ + "\u1E0A"\ + "\u1E0C"\ + "\u1E0E"\ + "\u1E10"\ + "\u1E12"\ + "\u1E14"\ + "\u1E16"\ + "\u1E18"\ + "\u1E1A"\ + "\u1E1C"\ + "\u1E1E"\ + "\u1E20"\ + "\u1E22"\ + "\u1E24"\ + "\u1E26"\ + "\u1E28"\ + "\u1E2A"\ + "\u1E2C"\ + "\u1E2E"\ + "\u1E30"\ + "\u1E32"\ + "\u1E34"\ + "\u1E36"\ + "\u1E38"\ + "\u1E3A"\ + "\u1E3C"\ + "\u1E3E"\ + "\u1E40"\ + "\u1E42"\ + "\u1E44"\ + "\u1E46"\ + "\u1E48"\ + "\u1E4A"\ + "\u1E4C"\ + "\u1E4E"\ + "\u1E50"\ + "\u1E52"\ + "\u1E54"\ + "\u1E56"\ + "\u1E58"\ + "\u1E5A"\ + "\u1E5C"\ + "\u1E5E"\ + "\u1E60"\ + "\u1E62"\ + "\u1E64"\ + "\u1E66"\ + "\u1E68"\ + "\u1E6A"\ + "\u1E6C"\ + "\u1E6E"\ + "\u1E70"\ + "\u1E72"\ + "\u1E74"\ + "\u1E76"\ + "\u1E78"\ + "\u1E7A"\ + "\u1E7C"\ + "\u1E7E"\ + "\u1E80"\ + "\u1E82"\ + "\u1E84"\ + "\u1E86"\ + "\u1E88"\ + "\u1E8A"\ + "\u1E8C"\ + "\u1E8E"\ + "\u1E90"\ + "\u1E92"\ + "\u1E94"\ + "\u1E9A\u1E9B"\ + "\u1E9E"\ + "\u1EA0"\ + "\u1EA2"\ + "\u1EA4"\ + "\u1EA6"\ + "\u1EA8"\ + "\u1EAA"\ + "\u1EAC"\ + "\u1EAE"\ + "\u1EB0"\ + "\u1EB2"\ + "\u1EB4"\ + "\u1EB6"\ + "\u1EB8"\ + "\u1EBA"\ + "\u1EBC"\ + "\u1EBE"\ + "\u1EC0"\ + "\u1EC2"\ + "\u1EC4"\ + "\u1EC6"\ + "\u1EC8"\ + "\u1ECA"\ + "\u1ECC"\ + "\u1ECE"\ + "\u1ED0"\ + "\u1ED2"\ + "\u1ED4"\ + "\u1ED6"\ + "\u1ED8"\ + "\u1EDA"\ + "\u1EDC"\ + "\u1EDE"\ + "\u1EE0"\ + "\u1EE2"\ + "\u1EE4"\ + "\u1EE6"\ + "\u1EE8"\ + "\u1EEA"\ + "\u1EEC"\ + "\u1EEE"\ + "\u1EF0"\ + "\u1EF2"\ + "\u1EF4"\ + "\u1EF6"\ + "\u1EF8"\ + "\u1EFA"\ + "\u1EFC"\ + "\u1EFE"\ + "\u1F08-\u1F0F"\ + "\u1F18-\u1F1D"\ + "\u1F28-\u1F2F"\ + "\u1F38-\u1F3F"\ + "\u1F48-\u1F4D"\ + "\u1F59"\ + "\u1F5B"\ + "\u1F5D"\ + "\u1F5F"\ + "\u1F68-\u1F6F"\ + "\u1F71"\ + "\u1F73"\ + "\u1F75"\ + "\u1F77"\ + "\u1F79"\ + "\u1F7B"\ + "\u1F7D"\ + "\u1F80-\u1FAF"\ + "\u1FB2-\u1FB4"\ + "\u1FB7-\u1FBC"\ + "\u1FBE"\ + "\u1FC2-\u1FC4"\ + "\u1FC7-\u1FCC"\ + "\u1FD3"\ + "\u1FD8-\u1FDB"\ + "\u1FE3"\ + "\u1FE8-\u1FEC"\ + "\u1FF2-\u1FF4"\ + "\u1FF7-\u1FFC"\ + "\u2011"\ + "\u2033\u2034"\ + "\u2036\u2037"\ + "\u2057"\ + "\u2070\u2071"\ + "\u2074-\u2079"\ + "\u207B"\ + "\u207F-\u2089"\ + "\u208B"\ + "\u2090-\u209C"\ + "\u20A8"\ + "\u2102\u2103"\ + "\u2107"\ + "\u2109-\u2113"\ + "\u2115\u2116"\ + "\u2119-\u211D"\ + "\u2120-\u2122"\ + "\u2124"\ + "\u2126"\ + "\u2128"\ + "\u212A-\u212D"\ + "\u212F-\u2131"\ + "\u2133-\u2139"\ + "\u213B-\u2140"\ + "\u2145-\u2149"\ + "\u2150-\u217F"\ + "\u2189"\ + "\u222C\u222D"\ + "\u222F\u2230"\ + "\u2329\u232A"\ + "\u2460-\u2473"\ + "\u24B6-\u24EA"\ + "\u2A0C"\ + "\u2ADC"\ + "\u2C00-\u2C2F"\ + "\u2C60"\ + "\u2C62-\u2C64"\ + "\u2C67"\ + "\u2C69"\ + "\u2C6B"\ + "\u2C6D-\u2C70"\ + "\u2C72"\ + "\u2C75"\ + "\u2C7C-\u2C80"\ + "\u2C82"\ + "\u2C84"\ + "\u2C86"\ + "\u2C88"\ + "\u2C8A"\ + "\u2C8C"\ + "\u2C8E"\ + "\u2C90"\ + "\u2C92"\ + "\u2C94"\ + "\u2C96"\ + "\u2C98"\ + "\u2C9A"\ + "\u2C9C"\ + "\u2C9E"\ + "\u2CA0"\ + "\u2CA2"\ + "\u2CA4"\ + "\u2CA6"\ + "\u2CA8"\ + "\u2CAA"\ + "\u2CAC"\ + "\u2CAE"\ + "\u2CB0"\ + "\u2CB2"\ + "\u2CB4"\ + "\u2CB6"\ + "\u2CB8"\ + "\u2CBA"\ + "\u2CBC"\ + "\u2CBE"\ + "\u2CC0"\ + "\u2CC2"\ + "\u2CC4"\ + "\u2CC6"\ + "\u2CC8"\ + "\u2CCA"\ + "\u2CCC"\ + "\u2CCE"\ + "\u2CD0"\ + "\u2CD2"\ + "\u2CD4"\ + "\u2CD6"\ + "\u2CD8"\ + "\u2CDA"\ + "\u2CDC"\ + "\u2CDE"\ + "\u2CE0"\ + "\u2CE2"\ + "\u2CEB"\ + "\u2CED"\ + "\u2CF2"\ + "\u2D6F"\ + "\u2E9F"\ + "\u2EF3"\ + "\u2F00-\u2FD5"\ + "\u3002"\ + "\u3036"\ + "\u3038-\u303A"\ + "\u309F"\ + "\u30FF"\ + "\u3131-\u3163"\ + "\u3165-\u318E"\ + "\u3192-\u319F"\ + "\u3244-\u3247"\ + "\u3250-\u327E"\ + "\u3280-\u33C1"\ + "\u33C3-\u33C6"\ + "\u33C8-\u33D7"\ + "\u33D9-\u33FF"\ + "\uA640"\ + "\uA642"\ + "\uA644"\ + "\uA646"\ + "\uA648"\ + "\uA64A"\ + "\uA64C"\ + "\uA64E"\ + "\uA650"\ + "\uA652"\ + "\uA654"\ + "\uA656"\ + "\uA658"\ + "\uA65A"\ + "\uA65C"\ + "\uA65E"\ + "\uA660"\ + "\uA662"\ + "\uA664"\ + "\uA666"\ + "\uA668"\ + "\uA66A"\ + "\uA66C"\ + "\uA680"\ + "\uA682"\ + "\uA684"\ + "\uA686"\ + "\uA688"\ + "\uA68A"\ + "\uA68C"\ + "\uA68E"\ + "\uA690"\ + "\uA692"\ + "\uA694"\ + "\uA696"\ + "\uA698"\ + "\uA69A"\ + "\uA69C\uA69D"\ + "\uA722"\ + "\uA724"\ + "\uA726"\ + "\uA728"\ + "\uA72A"\ + "\uA72C"\ + "\uA72E"\ + "\uA732"\ + "\uA734"\ + "\uA736"\ + "\uA738"\ + "\uA73A"\ + "\uA73C"\ + "\uA73E"\ + "\uA740"\ + "\uA742"\ + "\uA744"\ + "\uA746"\ + "\uA748"\ + "\uA74A"\ + "\uA74C"\ + "\uA74E"\ + "\uA750"\ + "\uA752"\ + "\uA754"\ + "\uA756"\ + "\uA758"\ + "\uA75A"\ + "\uA75C"\ + "\uA75E"\ + "\uA760"\ + "\uA762"\ + "\uA764"\ + "\uA766"\ + "\uA768"\ + "\uA76A"\ + "\uA76C"\ + "\uA76E"\ + "\uA770"\ + "\uA779"\ + "\uA77B"\ + "\uA77D\uA77E"\ + "\uA780"\ + "\uA782"\ + "\uA784"\ + "\uA786"\ + "\uA78B"\ + "\uA78D"\ + "\uA790"\ + "\uA792"\ + "\uA796"\ + "\uA798"\ + "\uA79A"\ + "\uA79C"\ + "\uA79E"\ + "\uA7A0"\ + "\uA7A2"\ + "\uA7A4"\ + "\uA7A6"\ + "\uA7A8"\ + "\uA7AA-\uA7AE"\ + "\uA7B0-\uA7B4"\ + "\uA7B6"\ + "\uA7B8"\ + "\uA7BA"\ + "\uA7BC"\ + "\uA7BE"\ + "\uA7C0"\ + "\uA7C2"\ + "\uA7C4-\uA7C7"\ + "\uA7C9"\ + "\uA7D0"\ + "\uA7D6"\ + "\uA7D8"\ + "\uA7F2-\uA7F5"\ + "\uA7F8\uA7F9"\ + "\uAB5C-\uAB5F"\ + "\uAB69"\ + "\uAB70-\uABBF"\ + "\uF900-\uFA0D"\ + "\uFA10"\ + "\uFA12"\ + "\uFA15-\uFA1E"\ + "\uFA20"\ + "\uFA22"\ + "\uFA25\uFA26"\ + "\uFA2A-\uFA6D"\ + "\uFA70-\uFAD9"\ + "\uFB00-\uFB06"\ + "\uFB13-\uFB17"\ + "\uFB1D"\ + "\uFB1F-\uFB28"\ + "\uFB2A-\uFB36"\ + "\uFB38-\uFB3C"\ + "\uFB3E"\ + "\uFB40\uFB41"\ + "\uFB43\uFB44"\ + "\uFB46-\uFBB1"\ + "\uFBD3-\uFC5D"\ + "\uFC64-\uFD3D"\ + "\uFD50-\uFD8F"\ + "\uFD92-\uFDC7"\ + "\uFDF0-\uFDF9"\ + "\uFDFC"\ + "\uFE11"\ + "\uFE17\uFE18"\ + "\uFE31\uFE32"\ + "\uFE39-\uFE44"\ + "\uFE51"\ + "\uFE58"\ + "\uFE5D\uFE5E"\ + "\uFE63"\ + "\uFE71"\ + "\uFE77"\ + "\uFE79"\ + "\uFE7B"\ + "\uFE7D"\ + "\uFE7F-\uFEFC"\ + "\uFF0D\uFF0E"\ + "\uFF10-\uFF19"\ + "\uFF21-\uFF3A"\ + "\uFF41-\uFF5A"\ + "\uFF5F-\uFF9F"\ + "\uFFA1-\uFFBE"\ + "\uFFC2-\uFFC7"\ + "\uFFCA-\uFFCF"\ + "\uFFD2-\uFFD7"\ + "\uFFDA-\uFFDC"\ + "\uFFE0-\uFFE2"\ + "\uFFE4-\uFFE6"\ + "\uFFE8-\uFFEE"\ + "\u{10400}-\u{10427}"\ + "\u{104B0}-\u{104D3}"\ + "\u{10570}-\u{1057A}"\ + "\u{1057C}-\u{1058A}"\ + "\u{1058C}-\u{10592}"\ + "\u{10594}\u{10595}"\ + "\u{10781}-\u{10785}"\ + "\u{10787}-\u{107B0}"\ + "\u{107B2}-\u{107BA}"\ + "\u{10C80}-\u{10CB2}"\ + "\u{118A0}-\u{118BF}"\ + "\u{16E40}-\u{16E5F}"\ + "\u{1D15E}-\u{1D164}"\ + "\u{1D1BB}-\u{1D1C0}"\ + "\u{1D400}-\u{1D454}"\ + "\u{1D456}-\u{1D49C}"\ + "\u{1D49E}\u{1D49F}"\ + "\u{1D4A2}"\ + "\u{1D4A5}\u{1D4A6}"\ + "\u{1D4A9}-\u{1D4AC}"\ + "\u{1D4AE}-\u{1D4B9}"\ + "\u{1D4BB}"\ + "\u{1D4BD}-\u{1D4C3}"\ + "\u{1D4C5}-\u{1D505}"\ + "\u{1D507}-\u{1D50A}"\ + "\u{1D50D}-\u{1D514}"\ + "\u{1D516}-\u{1D51C}"\ + "\u{1D51E}-\u{1D539}"\ + "\u{1D53B}-\u{1D53E}"\ + "\u{1D540}-\u{1D544}"\ + "\u{1D546}"\ + "\u{1D54A}-\u{1D550}"\ + "\u{1D552}-\u{1D6A5}"\ + "\u{1D6A8}-\u{1D7CB}"\ + "\u{1D7CE}-\u{1D7FF}"\ + "\u{1E030}-\u{1E06D}"\ + "\u{1E900}-\u{1E921}"\ + "\u{1EE00}-\u{1EE03}"\ + "\u{1EE05}-\u{1EE1F}"\ + "\u{1EE21}\u{1EE22}"\ + "\u{1EE24}"\ + "\u{1EE27}"\ + "\u{1EE29}-\u{1EE32}"\ + "\u{1EE34}-\u{1EE37}"\ + "\u{1EE39}"\ + "\u{1EE3B}"\ + "\u{1EE42}"\ + "\u{1EE47}"\ + "\u{1EE49}"\ + "\u{1EE4B}"\ + "\u{1EE4D}-\u{1EE4F}"\ + "\u{1EE51}\u{1EE52}"\ + "\u{1EE54}"\ + "\u{1EE57}"\ + "\u{1EE59}"\ + "\u{1EE5B}"\ + "\u{1EE5D}"\ + "\u{1EE5F}"\ + "\u{1EE61}\u{1EE62}"\ + "\u{1EE64}"\ + "\u{1EE67}-\u{1EE6A}"\ + "\u{1EE6C}-\u{1EE72}"\ + "\u{1EE74}-\u{1EE77}"\ + "\u{1EE79}-\u{1EE7C}"\ + "\u{1EE7E}"\ + "\u{1EE80}-\u{1EE89}"\ + "\u{1EE8B}-\u{1EE9B}"\ + "\u{1EEA1}-\u{1EEA3}"\ + "\u{1EEA5}-\u{1EEA9}"\ + "\u{1EEAB}-\u{1EEBB}"\ + "\u{1F12A}-\u{1F12E}"\ + "\u{1F130}-\u{1F14F}"\ + "\u{1F16A}-\u{1F16C}"\ + "\u{1F190}"\ + "\u{1F200}-\u{1F202}"\ + "\u{1F210}-\u{1F23B}"\ + "\u{1F240}-\u{1F248}"\ + "\u{1F250}\u{1F251}"\ + "\u{1FBF0}-\u{1FBF9}"\ + "\u{2F800}-\u{2F867}"\ + "\u{2F869}-\u{2F873}"\ + "\u{2F875}-\u{2F91E}"\ + "\u{2F920}-\u{2F95E}"\ + "\u{2F960}-\u{2F9BE}"\ + "\u{2F9C0}-\u{2FA1D}"\ + "]" + + REGEX_I_STRING = "["\ + "\u00AD"\ + "\u034F"\ + "\u180B-\u180D"\ + "\u180F"\ + "\u200B"\ + "\u2060"\ + "\u2064"\ + "\uFE00-\uFE0F"\ + "\uFEFF"\ + "\u{1BCA0}-\u{1BCA3}"\ + "\u{E0100}-\u{E01EF}"\ + "]" + + REGEX_D_STRING = "["\ + "\u00DF"\ + "\u03C2"\ + "\u200C\u200D"\ + "]" + + REGEX_STD3_V_STRING = "["\ + "\u0000-,"\ + "/"\ + ":-@"\ + "\\[-`"\ + "{-\u007F"\ + "]" + + REGEX_STD3_M_STRING = "["\ + "\u00A0"\ + "\u00A8"\ + "\u00AF"\ + "\u00B4"\ + "\u00B8"\ + "\u02D8-\u02DD"\ + "\u037A"\ + "\u037E"\ + "\u0384\u0385"\ + "\u1FBD"\ + "\u1FBF-\u1FC1"\ + "\u1FCD-\u1FCF"\ + "\u1FDD-\u1FDF"\ + "\u1FED-\u1FEF"\ + "\u1FFD\u1FFE"\ + "\u2000-\u200A"\ + "\u2017"\ + "\u202F"\ + "\u203C"\ + "\u203E"\ + "\u2047-\u2049"\ + "\u205F"\ + "\u207A"\ + "\u207C-\u207E"\ + "\u208A"\ + "\u208C-\u208E"\ + "\u2100\u2101"\ + "\u2105\u2106"\ + "\u2474-\u2487"\ + "\u249C-\u24B5"\ + "\u2A74-\u2A76"\ + "\u3000"\ + "\u309B\u309C"\ + "\u3200-\u321E"\ + "\u3220-\u3243"\ + "\uFB29"\ + "\uFC5E-\uFC63"\ + "\uFDFA\uFDFB"\ + "\uFE10"\ + "\uFE13-\uFE16"\ + "\uFE33-\uFE38"\ + "\uFE47-\uFE50"\ + "\uFE54-\uFE57"\ + "\uFE59-\uFE5C"\ + "\uFE5F-\uFE62"\ + "\uFE64-\uFE66"\ + "\uFE68-\uFE6B"\ + "\uFE70"\ + "\uFE72"\ + "\uFE74"\ + "\uFE76"\ + "\uFE78"\ + "\uFE7A"\ + "\uFE7C"\ + "\uFE7E"\ + "\uFF01-\uFF0C"\ + "\uFF0F"\ + "\uFF1A-\uFF20"\ + "\uFF3B-\uFF40"\ + "\uFF5B-\uFF5E"\ + "\uFFE3"\ + "\u{1F101}-\u{1F10A}"\ + "\u{1F110}-\u{1F129}"\ + "]" end end diff --git a/lib/uri/idna/data/virama_combining_classes.rb b/lib/uri/idna/data/virama_combining_classes.rb new file mode 100644 index 0000000..b5adfbb --- /dev/null +++ b/lib/uri/idna/data/virama_combining_classes.rb @@ -0,0 +1,67 @@ +# frozen_string_literal: true + +# This file is automatically generated by bin/generate +# Unicode version 15.1.0 + +module URI + module IDNA + VIRAMA_COMBINING_CLASSES = "["\ + "\u094D"\ + "\u09CD"\ + "\u0A4D"\ + "\u0ACD"\ + "\u0B4D"\ + "\u0BCD"\ + "\u0C4D"\ + "\u0CCD"\ + "\u0D3B\u0D3C"\ + "\u0D4D"\ + "\u0DCA"\ + "\u0E3A"\ + "\u0EBA"\ + "\u0F84"\ + "\u1039\u103A"\ + "\u1714\u1715"\ + "\u1734"\ + "\u17D2"\ + "\u1A60"\ + "\u1B44"\ + "\u1BAA\u1BAB"\ + "\u1BF2\u1BF3"\ + "\u2D7F"\ + "\uA806"\ + "\uA82C"\ + "\uA8C4"\ + "\uA953"\ + "\uA9C0"\ + "\uAAF6"\ + "\uABED"\ + "\u{10A3F}"\ + "\u{11046}"\ + "\u{11070}"\ + "\u{1107F}"\ + "\u{110B9}"\ + "\u{11133}\u{11134}"\ + "\u{111C0}"\ + "\u{11235}"\ + "\u{112EA}"\ + "\u{1134D}"\ + "\u{11442}"\ + "\u{114C2}"\ + "\u{115BF}"\ + "\u{1163F}"\ + "\u{116B6}"\ + "\u{1172B}"\ + "\u{11839}"\ + "\u{1193D}\u{1193E}"\ + "\u{119E0}"\ + "\u{11A34}"\ + "\u{11A47}"\ + "\u{11A99}"\ + "\u{11C3F}"\ + "\u{11D44}\u{11D45}"\ + "\u{11D97}"\ + "\u{11F41}\u{11F42}"\ + "]" + end +end diff --git a/lib/uri/idna/idna2008/processing.rb b/lib/uri/idna/idna2008/processing.rb index e9f19cc..5b1a7bb 100644 --- a/lib/uri/idna/idna2008/processing.rb +++ b/lib/uri/idna/idna2008/processing.rb @@ -1,17 +1,21 @@ # frozen_string_literal: true require_relative "options" +require_relative "../validation/contextj" +require_relative "../validation/contexto" +require_relative "../validation/idna_permitted" +require_relative "../validation/leading_combining" module URI module IDNA module IDNA2008 class Processing < BaseProcessing - private - - def options_class + def self.options_class Options end + private + def validate(label) return if label.empty? @@ -21,35 +25,16 @@ def validate(label) else Validation::Label.check_ace_prefix(label) end - Validation::Label.check_leading_combining(label) if options.leading_combining? - - label.each_codepoint.with_index do |cp, pos| - begin - next if Validation::Codepoint.check_contextj(label, cp, pos) - rescue InvalidCodepointContextError => e - next unless options.check_joiners? - - raise e - end - - begin - next if Validation::Codepoint.check_contexto(label, cp, pos) - rescue InvalidCodepointContextError => e - next unless options.check_others? - - raise e - end - - Validation::Codepoint.check_idna_validity(label, cp, pos) - end + Validation::LeadingCombining.call(label) if options.leading_combining? + Validation::ContextJ.call(label) if options.check_joiners? + Validation::ContextO.call(label) if options.check_others? + Validation::IDNAPermitted.call(label) Validation::Bidi.call(label) if check_bidi? end def punycode_decode(label) return label unless label.start_with?(ACE_PREFIX) - raise Error, "A-label must not end with a hyphen" if label[-1] == "-" - super end end @@ -95,9 +80,9 @@ def call Validation::Label.check_length(a_ulabel) if options.verify_dns_length? - if alabel && ulabel && (a_ulabel != alabel) && (a_ulabel != alabel) + if alabel && ulabel && a_ulabel != alabel raise Error, - "Provided alabel #{alabel.inspect} doesn't match de-punycoded ulabel #{u_alabel.inspect}" + "Provided alabel #{alabel.inspect} doesn't match de-punycoded ulabel #{a_ulabel.inspect}" end a_ulabel diff --git a/lib/uri/idna/intranges.rb b/lib/uri/idna/intranges.rb deleted file mode 100644 index 440f675..0000000 --- a/lib/uri/idna/intranges.rb +++ /dev/null @@ -1,57 +0,0 @@ -# frozen_string_literal: true - -module URI - module IDNA - module Intranges - class << self - def from_list(list) - sorted_list = list.sort - ranges = [] - last_write = -1 - sorted_list.each_with_index do |value, i| - next if value + 1 == sorted_list[i + 1] - - ranges << encode_range(sorted_list[last_write + 1], sorted_list[i] + 1) - last_write = i - end - ranges - end - - def contain?(int, ranges) - tuple = encode_range(int, 0) - pos = ranges.bsearch_index { |x| x > tuple } || ranges.length - # we could be immediately ahead of a tuple (start, end) - # with start < int_ <= end - if pos > 0 - r = ranges[pos - 1] - left = decode_left(r) - right = decode_right(r) - return true if left <= int && int < right - end - # or we could be immediately behind a tuple (int_, end) - if pos < ranges.length - left = decode_left(ranges[pos]) - return true if left == int - end - false - end - - private - - def encode_range(start, finish) - (start << 32) | finish - end - - MASK = ((1 << 32) - 1) - - def decode_right(r) - r & MASK - end - - def decode_left(r) - r >> 32 - end - end - end - end -end diff --git a/lib/uri/idna/punycode.rb b/lib/uri/idna/punycode.rb index c12fd29..bd24a34 100644 --- a/lib/uri/idna/punycode.rb +++ b/lib/uri/idna/punycode.rb @@ -13,6 +13,7 @@ class << self DAMP = 700 INITIAL_BIAS = 72 INITIAL_N = 0x80 + ADAPT_THRESHOLD = ((BASE - TMIN) * TMAX) / 2 DELIMITER = 0x2D MAXINT = 0x7FFFFFFF @@ -30,7 +31,9 @@ def decode_digit(cp) end def encode_digit(d) - d + 22 + 75 * (d < 26 ? 1 : 0) + return d + 22 if d >= 26 + + d + 97 end def adapt(delta, num_points, first_time) @@ -38,7 +41,7 @@ def adapt(delta, num_points, first_time) delta += (delta / num_points) k = 0 - while delta > (((BASE - TMIN) * TMAX) / 2) + while delta > ADAPT_THRESHOLD delta /= BASE - TMIN k += BASE end @@ -47,18 +50,17 @@ def adapt(delta, num_points, first_time) def encode(input) input = input.codepoints - output = [] n = INITIAL_N delta = 0 bias = INITIAL_BIAS - input.each { |cp| output << cp if cp < 0x80 } + output = input.select { |cp| cp < 0x80 } h = b = output.length output << DELIMITER if b > 0 - - while h < input.length + input_length = input.length + while h < input_length m = MAXINT input.each do |cp| m = cp if cp >= n && cp < m @@ -116,15 +118,15 @@ def decode(input) b = input.rindex(DELIMITER) || 0 - 0.upto(b - 1) do |idx| - cp = input[idx] + input[0, b].each do |cp| raise PunycodeError, "Invalid input" unless cp < 0x80 output << cp end inc = b > 0 ? b + 1 : 0 - while inc < input.length + input_length = input.length + while inc < input_length old_i = i w = 1 k = BASE diff --git a/lib/uri/idna/uts46/mapping.rb b/lib/uri/idna/uts46/mapping.rb index 4cf5ca3..2636b82 100644 --- a/lib/uri/idna/uts46/mapping.rb +++ b/lib/uri/idna/uts46/mapping.rb @@ -8,52 +8,54 @@ module UTS46 # https://www.unicode.org/reports/tr46/#IDNA_Mapping_Table module Mapping class << self + STATUS_D_REGEX = Regexp.new(REGEX_D_STRING, Regexp::EXTENDED).freeze + REGEX_STD3_M_REGEX = Regexp.new(REGEX_STD3_M_STRING, Regexp::EXTENDED).freeze + + MAP_REGEX = Regexp.new("#{REGEX_M_STRING}|#{REGEX_I_STRING}").freeze + REGEX_NOT_V = Regexp.new("[^#{REGEX_V_STRING}]").freeze + REGEX_NOT_VD = Regexp.new("[^#{REGEX_V_STRING}|#{REGEX_D_STRING}]").freeze + REGEX_NOT_V3 = Regexp.new("[^#{REGEX_V_STRING}|#{REGEX_STD3_M_STRING}|#{REGEX_STD3_V_STRING}]").freeze + REGEX_NOT_VD3 = Regexp.new( + "[^#{REGEX_V_STRING}|#{REGEX_D_STRING}|#{REGEX_STD3_M_STRING}|#{REGEX_STD3_V_STRING}]", + ).freeze + def call(domain_name, transitional_processing: false, use_std3_ascii_rules: true) - output = [] - domain_name.each_codepoint do |codepoint| - _, status, replacement = status(codepoint) - case status - when "V", "X" # valid, disallowed - output << codepoint - when "M" # mapped - output += if transitional_processing && codepoint == 7838 - [115, 115] - else - replacement - end - when "D" # deviation - if transitional_processing - output += replacement - else - output << codepoint - end - when "3" # disallowed_STD3_valid, disallowed_STD3_mapped - if use_std3_ascii_rules || !replacement - output << codepoint - else - output += replacement - end - when "I" # ignored - next + return domain_name.downcase if domain_name.ascii_only? + + output = domain_name.gsub(MAP_REGEX) do |match| + if transitional_processing && match == "\u1E9E" + "ss" + else + REPLACEMENTS[match] end end - output.pack("U*").unicode_normalize!(:nfc) + output.gsub!(STATUS_D_REGEX, REPLACEMENTS) if transitional_processing + output.gsub!(REGEX_STD3_M_REGEX, REPLACEMENTS) unless use_std3_ascii_rules + + output.ascii_only? ? output : output.unicode_normalize!(:nfc) end - def validate_status(label, cp, pos, transitional_processing:, use_std3_ascii_rules:) - _, status, = status(cp) - return if status == "V" - return if !transitional_processing && status == "D" - return if !use_std3_ascii_rules && status == "3" + def validate_label_status(label, transitional_processing:, use_std3_ascii_rules:) + regex = + if transitional_processing && use_std3_ascii_rules + REGEX_NOT_V + elsif transitional_processing + REGEX_NOT_V3 + elsif use_std3_ascii_rules + REGEX_NOT_VD + else + REGEX_NOT_VD3 + end + + return unless (pos = label.index(regex)) - raise InvalidCodepointError, Validation::Codepoint.cp_error_message(label, cp, pos) + raise InvalidCodepointError, error_message(label, pos) end - def status(codepoint) - return UTS46_DATA[codepoint] if codepoint < 256 + private - index = (UTS46_DATA.bsearch_index { |x| x[0] > codepoint } || UTS46_DATA.length) - 1 - UTS46_DATA[index] || [] + def error_message(label, pos) + format("Codepoint U+%04X at position %d of %p not allowed in UTS46", label[pos].ord, pos + 1, label) end end end diff --git a/lib/uri/idna/uts46/processing.rb b/lib/uri/idna/uts46/processing.rb index 37b44ca..282614a 100644 --- a/lib/uri/idna/uts46/processing.rb +++ b/lib/uri/idna/uts46/processing.rb @@ -2,12 +2,18 @@ require_relative "mapping" require_relative "options" +require_relative "../validation/contextj" +require_relative "../validation/leading_combining" module URI module IDNA module UTS46 # https://www.unicode.org/reports/tr46/#Processing class Processing < BaseProcessing + def self.options_class + Options + end + def initialize(domain_name, **options) super @domain_name = Mapping.call( @@ -40,10 +46,6 @@ def call private - def options_class - Options - end - # https://www.unicode.org/reports/tr46/#Validity_Criteria def validate(label, transitional_processing: options.transitional_processing?) return if label.empty? @@ -56,16 +58,13 @@ def validate(label, transitional_processing: options.transitional_processing?) Validation::Label.check_ace_prefix(label) end Validation::Label.check_dot(label) - Validation::Label.check_leading_combining(label) - - label.each_codepoint.with_index do |cp, pos| - Mapping.validate_status( - label, cp, pos, - transitional_processing: transitional_processing, use_std3_ascii_rules: options.use_std3_ascii_rules? - ) - - Validation::Codepoint.check_contextj(label, cp, pos) if options.check_joiners? - end + Validation::LeadingCombining.call(label) + Mapping.validate_label_status( + label, + transitional_processing: transitional_processing, + use_std3_ascii_rules: options.use_std3_ascii_rules?, + ) + Validation::ContextJ.call(label) if options.check_joiners? Validation::Bidi.call(label) if check_bidi? end end @@ -76,7 +75,7 @@ class ToUnicode < Processing # https://www.unicode.org/reports/tr46/#ToASCII class ToASCII < Processing - def options_class + def self.options_class ToASCIIOptions end diff --git a/lib/uri/idna/validation/bidi.rb b/lib/uri/idna/validation/bidi.rb index 7992691..0374e9f 100644 --- a/lib/uri/idna/validation/bidi.rb +++ b/lib/uri/idna/validation/bidi.rb @@ -1,5 +1,7 @@ # frozen_string_literal: true +require_relative "../data/bidi_classes" + module URI module IDNA module Validation @@ -8,55 +10,46 @@ module Validation # https://datatracker.ietf.org/doc/html/rfc5893#section-2 module Bidi class << self + BIDI_R1_RTL = Regexp.new(BIDI_CLASSES["RTL"]).freeze + BIDI_R1_LTR = Regexp.new(BIDI_CLASSES["L"]).freeze + BIDI_R2 = Regexp.new("#{BIDI_CLASSES['L']}|#{BIDI_CLASSES['UNUSED']}").freeze + BIDI_R3 = Regexp.new( + "(?:#{"#{BIDI_CLASSES['RTL']}|#{BIDI_CLASSES['AN']}|#{BIDI_CLASSES['EN']}"})#{BIDI_CLASSES['NSM']}*\\z", + ).freeze + BIDI_R4_EN = Regexp.new(BIDI_CLASSES["EN"]).freeze + BIDI_R4_AN = Regexp.new(BIDI_CLASSES["AN"]).freeze + BIDI_R5 = Regexp.new("#{BIDI_CLASSES['RTL']}|#{BIDI_CLASSES['AN']}").freeze + BIDI_R6 = Regexp.new("(?:#{"#{BIDI_CLASSES['L']}|#{BIDI_CLASSES['EN']}"})#{BIDI_CLASSES['NSM']}*\\z").freeze + def call(label) # Bidi rule 1 - if bidi_class(label[0].ord, "RTL") - rtl = true - elsif bidi_class(label[0].ord, "L") + if BIDI_R1_LTR.match?(label[0]) rtl = false + elsif BIDI_R1_RTL.match?(label[0]) + rtl = true else raise BidiError, "First codepoint in label #{label} must be directionality L, R or AL" end - valid_ending = false - number_type = nil - label.each_codepoint.with_index do |cp, pos| - if rtl - # Bidi rule 2 - if bidi_class(cp, "L") || bidi_class(cp, "UNUSED") - raise BidiError, "Invalid direction for codepoint at position #{pos + 1} in a right-to-left label" - end - - # Bidi rule 3 - direction = bidi_class(cp, "RTL") || bidi_class(cp, "EN") || bidi_class(cp, "AN") - if direction - valid_ending = true - elsif !bidi_class(cp, "NSM") - valid_ending = false - end - # Bidi rule 4 - if %w[EN AN].include?(direction) - number_type ||= direction - raise BidiError, "Can not mix numeral types in a right-to-left label" if number_type != direction - end - else - # Bidi rule 5 - if bidi_class(cp, "RTL") || bidi_class(cp, "AN") - raise BidiError, "Invalid direction for codepoint at position #{pos + 1} in a left-to-right label" - end - - # Bidi rule 6 - if bidi_class(cp, "L") || bidi_class(cp, "EN") - valid_ending = true - elsif !bidi_class(cp, "NSM") - valid_ending = false - end + if rtl + # Bidi rule 2 + if (pos = label.index(BIDI_R2)) + raise BidiError, "Invalid direction for codepoint at position #{pos + 1} in a right-to-left label" end + # Bidi rule 3 + raise BidiError, "Label ends with illegal codepoint directionality" unless label.match?(BIDI_R3) + # Bidi rule 4 + if label.match?(BIDI_R4_EN) && label.match?(BIDI_R4_AN) + raise BidiError, "Can not mix numeral types in a right-to-left label" + end + else + # Bidi rule 5 + if (pos = label.index(BIDI_R5)) + raise BidiError, "Invalid direction for codepoint at position #{pos + 1} in a left-to-right label" + end + # Bidi rule 6 + raise BidiError, "Label ends with illegal codepoint directionality" unless label.match?(BIDI_R6) end - - raise BidiError, "Label ends with illegal codepoint directionality" unless valid_ending - - true end # https://www.rfc-editor.org/rfc/rfc5891.html#section-4.2.3.4 @@ -71,22 +64,11 @@ def check?(domain) end next if label.ascii_only? - label.each_codepoint do |cp| - next if cp < 256 - return true if bidi_class(cp, "RTL") || bidi_class(cp, "AN") - end + return true if label.match?(BIDI_R5) end false end - - private - - def bidi_class(codepoint, bidi_class) - return bidi_class if Intranges.contain?(codepoint, BIDI_CLASSES[bidi_class]) - - false - end end end end diff --git a/lib/uri/idna/validation/codepoint.rb b/lib/uri/idna/validation/codepoint.rb deleted file mode 100644 index e6de480..0000000 --- a/lib/uri/idna/validation/codepoint.rb +++ /dev/null @@ -1,128 +0,0 @@ -# frozen_string_literal: true - -require_relative "../intranges" -require_relative "../data/idna" - -module URI - module IDNA - module Validation - module Codepoint - class << self - # https://datatracker.ietf.org/doc/html/rfc5891#section-4.2.2 - def check_idna_validity(label, cp, pos) - return true if codepoint?(cp, "PVALID") - - raise InvalidCodepointError, cp_error_message(label, cp, pos) - end - - # https://datatracker.ietf.org/doc/html/rfc5892 - def check_contextj(label, cp, pos) - return false if cp < 256 - return false unless codepoint?(cp, "CONTEXTJ") - return true if valid_contextj?(label, cp, pos) - - raise InvalidCodepointContextError, cp_error_message(label, cp, pos) - end - - # https://datatracker.ietf.org/doc/html/rfc5892 - def check_contexto(label, cp, pos) - return false if cp < 183 - return false unless codepoint?(cp, "CONTEXTO") - return true if valid_contexto?(label, cp, pos) - - raise InvalidCodepointContextError, cp_error_message(label, cp, pos) - end - - def cp_error_message(label, cp, pos) - format("Codepoint U+%04X at position %d of %p not allowed", cp, pos + 1, label) - end - - private - - def valid_contexto?(label, cp, pos) - case cp - # https://datatracker.ietf.org/doc/html/rfc5892#appendix-A.3 - when 0x00b7 - pos > 0 && pos < label.length - 1 ? (label[pos - 1].ord == 0x006c && label[pos + 1].ord == 0x006c) : false - # https://datatracker.ietf.org/doc/html/rfc5892#appendix-A.4 - when 0x0375 - pos < label.length - 1 ? script?(label[pos + 1].ord, "Greek") : false - # https://datatracker.ietf.org/doc/html/rfc5892#appendix-A.5 - # https://datatracker.ietf.org/doc/html/rfc5892#appendix-A.6 - when 0x05f3, 0x05f4 - pos > 0 ? script?(label[pos - 1].ord, "Hebrew") : false - # https://datatracker.ietf.org/doc/html/rfc5892#appendix-A.7 - when 0x30fb - label.each_codepoint do |codepoint| - next if codepoint == 0x30fb - return true if script?(codepoint, - "Hiragana") || script?(codepoint, "Katakana") || script?(codepoint, "Han") - end - false - # https://datatracker.ietf.org/doc/html/rfc5892#appendix-A.8 - when 0x0660..0x0669 - label.each_codepoint do |codepoint| - return false if codepoint >= 0x06f0 && codepoint <= 0x06f9 - end - true - # https://datatracker.ietf.org/doc/html/rfc5892#appendix-A.9 - when 0x06f0..0x06f9 - label.each_codepoint do |codepoint| - return false if codepoint >= 0x0660 && codepoint <= 0x0669 - end - true - else - false - end - end - - def valid_contextj?(label, cp, pos) - case cp - # https://datatracker.ietf.org/doc/html/rfc5892#appendix-A.1 - when 0x200c - return true if pos > 0 && virama_combining_class?(label[pos - 1].ord) - - ok = false - (pos - 1).downto(0) do |i| - joining_type = JOINING_TYPES[label[i].ord] - next if joining_type == 0x54 - - if [0x4c, 0x44].include?(joining_type) - ok = true - break - end - end - return false unless ok - - (pos + 1).upto(label.length - 1) do |i| - joining_type = JOINING_TYPES[label[i].ord] - next if joining_type == 0x54 - return true if [0x52, 0x44].include?(joining_type) - end - # https://datatracker.ietf.org/doc/html/rfc5892#appendix-A.2 - when 0x200d - return virama_combining_class?(label[pos - 1].ord) if pos > 0 - end - false - end - - def script?(cp, script) - return false if cp < 256 - - Intranges.contain?(cp, SCRIPTS[script]) - end - - def virama_combining_class?(cp) - return false if cp < 256 - - Intranges.contain?(cp, VIRAMA_COMBINING_CLASSES) - end - - def codepoint?(cp, class_name) - Intranges.contain?(cp, CODEPOINT_CLASSES[class_name]) - end - end - end - end - end -end diff --git a/lib/uri/idna/validation/contextj.rb b/lib/uri/idna/validation/contextj.rb new file mode 100644 index 0000000..48a7f0c --- /dev/null +++ b/lib/uri/idna/validation/contextj.rb @@ -0,0 +1,62 @@ +# frozen_string_literal: true + +require_relative "../data/codepoint_classes" +require_relative "../data/joining_types" +require_relative "../data/virama_combining_classes" + +module URI + module IDNA + module Validation + # https://datatracker.ietf.org/doc/html/rfc5892 + module ContextJ + class << self + CONTEXTJ_REGEX = Regexp.new("[#{CODEPOINT_CLASSES['CONTEXTJ']}]").freeze + + def call(label) + return if label.ascii_only? + + offset = 0 + while (pos = label.index(CONTEXTJ_REGEX, offset)) + raise InvalidCodepointContextError, error_message(label, pos) unless valid_contextj?(label, pos) + + offset = pos + 1 + end + end + + private + + def valid_contextj?(label, pos) + case label[pos] + # https://datatracker.ietf.org/doc/html/rfc5892#appendix-A.1 + when "\u200c" + return true if pos > 0 && VIRAMA_COMBINING_CLASSES.match?(label[pos - 1]) + + ok = false + (pos - 1).downto(0) do |i| + joining_type = JOINING_TYPES[label[i]] + if [0x4c, 0x44].include?(joining_type) + ok = true + break + end + end + return false unless ok + + (pos + 1).upto(label.length - 1) do |i| + joining_type = JOINING_TYPES[label[i]] + return true if [0x52, 0x44].include?(joining_type) + end + # https://datatracker.ietf.org/doc/html/rfc5892#appendix-A.2 + when "\u200d" + return VIRAMA_COMBINING_CLASSES.match?(label[pos - 1]) if pos > 0 + end + false + end + + def error_message(label, pos) + format("ContextJ codepoint U+%04X at position %d of %p not allowed", label[pos].ord, pos + 1, label) + end + end + end + end + end +end diff --git a/lib/uri/idna/validation/contexto.rb b/lib/uri/idna/validation/contexto.rb new file mode 100644 index 0000000..a01edf3 --- /dev/null +++ b/lib/uri/idna/validation/contexto.rb @@ -0,0 +1,61 @@ +# frozen_string_literal: true + +require_relative "../data/codepoint_classes" +require_relative "../data/scripts" + +module URI + module IDNA + module Validation + # https://datatracker.ietf.org/doc/html/rfc5892 + module ContextO + class << self + CONTEXTO_REGEX = Regexp.new("[#{CODEPOINT_CLASSES['CONTEXTO']}]").freeze + CONTEXTO_A4_REGEX = Regexp.new(SCRIPTS["Greek"]) + CONTEXTO_A5_REGEX = Regexp.new(SCRIPTS["Hebrew"]) + CONTEXTO_A7_REGEX = Regexp.new("#{SCRIPTS['Hiragana']}|#{SCRIPTS['Katakana']}|#{SCRIPTS['Han']}").freeze + CONTEXTO_A8_REGEX = /[\u06F0-\u06F9]/.freeze + CONTEXTO_A9_REGEX = /[\u0660-\u0669]/.freeze + + def call(label) + offset = 0 + while (pos = label.index(CONTEXTO_REGEX, offset)) + raise InvalidCodepointContextError, error_message(label, pos) unless valid_contexto?(label, pos) + + offset = pos + 1 + end + end + + private + + def valid_contexto?(label, pos) + case label[pos] + # https://datatracker.ietf.org/doc/html/rfc5892#appendix-A.3 + when "\u00b7" + pos > 0 && pos < label.length - 1 ? (label[pos - 1] == "\u006c" && label[pos + 1] == "\u006c") : false + # https://datatracker.ietf.org/doc/html/rfc5892#appendix-A.4 + when "\u0375" + pos < label.length - 1 ? CONTEXTO_A4_REGEX.match?(label[pos + 1]) : false + # https://datatracker.ietf.org/doc/html/rfc5892#appendix-A.5 + # https://datatracker.ietf.org/doc/html/rfc5892#appendix-A.6 + when "\u05f3", "\u05f4" + pos > 0 ? CONTEXTO_A5_REGEX.match?(label[pos - 1]) : false + # https://datatracker.ietf.org/doc/html/rfc5892#appendix-A.7 + when "\u30fb" + CONTEXTO_A7_REGEX.match?(label) + # https://datatracker.ietf.org/doc/html/rfc5892#appendix-A.8 + when "\u0660".."\u0669" + !CONTEXTO_A8_REGEX.match?(label) + # https://datatracker.ietf.org/doc/html/rfc5892#appendix-A.9 + when "\u06f0".."\u06f9" + !CONTEXTO_A9_REGEX.match?(label) + end + end + + def error_message(label, pos) + format("ContextO codepoint U+%04X at position %d of %p not allowed", label[pos].ord, pos + 1, label) + end + end + end + end + end +end diff --git a/lib/uri/idna/validation/idna_permitted.rb b/lib/uri/idna/validation/idna_permitted.rb new file mode 100644 index 0000000..3f7cc76 --- /dev/null +++ b/lib/uri/idna/validation/idna_permitted.rb @@ -0,0 +1,30 @@ +# frozen_string_literal: true + +require_relative "../data/codepoint_classes" + +module URI + module IDNA + module Validation + module IDNAPermitted + class << self + IDNA_REGEX = Regexp.new( + "[^(#{CODEPOINT_CLASSES['PVALID']}|#{CODEPOINT_CLASSES['CONTEXTJ']}|#{CODEPOINT_CLASSES['CONTEXTO']})]", + ).freeze + + # https://datatracker.ietf.org/doc/html/rfc5891#section-4.2.2 + def call(label) + return unless (pos = label.index(IDNA_REGEX)) + + raise InvalidCodepointError, error_message(label, pos) + end + + private + + def error_message(label, pos) + format("Codepoint U+%04X at position %d of %p not allowed in IDNA2008", label[pos].ord, pos + 1, label) + end + end + end + end + end +end diff --git a/lib/uri/idna/validation/label.rb b/lib/uri/idna/validation/label.rb index b9932be..53858bb 100644 --- a/lib/uri/idna/validation/label.rb +++ b/lib/uri/idna/validation/label.rb @@ -1,8 +1,5 @@ # frozen_string_literal: true -require_relative "../intranges" -require_relative "../data/idna" - module URI module IDNA module Validation @@ -11,7 +8,7 @@ class << self # 4.1. Input to IDNA Registration # https://datatracker.ietf.org/doc/html/rfc5891#section-4.1 def check_nfc(label) - return if label.unicode_normalized?(:nfc) + return if label.ascii_only? || label.unicode_normalized?(:nfc) raise Error, "Label must be in Unicode Normalization Form NFC" end @@ -38,16 +35,6 @@ def check_ace_prefix(label) raise Error, "Label must not begin with `xn--`" end - # 4.2.3.2. Leading Combining Marks - # https://datatracker.ietf.org/doc/html/rfc5891#section-4.2.3.2 - def check_leading_combining(label) - cp = label[0].ord - return if cp < 256 - return unless Intranges.contain?(cp, INITIAL_COMBINERS) - - raise Error, "Label begins with an illegal combining character" - end - def check_dot(label) raise Error, "Label must not contain a U+002E ( . ) FULL STOP" if label.include?(".") end diff --git a/lib/uri/idna/validation/leading_combining.rb b/lib/uri/idna/validation/leading_combining.rb new file mode 100644 index 0000000..45d5cf7 --- /dev/null +++ b/lib/uri/idna/validation/leading_combining.rb @@ -0,0 +1,23 @@ +# frozen_string_literal: true + +require_relative "../data/leading_combiners" + +module URI + module IDNA + module Validation + # 4.2.3.2. Leading Combining Marks + # https://datatracker.ietf.org/doc/html/rfc5891#section-4.2.3.2 + module LeadingCombining + class << self + LEADING_COMBINERS_REGEX = Regexp.new(LEADING_COMBINERS).freeze + + def call(label) + return unless label[0].match?(LEADING_COMBINERS_REGEX) + + raise Error, "Label begins with an illegal combining character" + end + end + end + end + end +end diff --git a/spec/spec_helper.rb b/spec/spec_helper.rb index 0f2cbf2..b211759 100644 --- a/spec/spec_helper.rb +++ b/spec/spec_helper.rb @@ -13,3 +13,15 @@ c.syntax = :expect end end + +RSpec.shared_examples "valid" do |input| + it "does not raise an error for '#{input}'" do + expect { described_class.call(input) }.not_to raise_error + end +end + +RSpec.shared_examples "invalid" do |input| + it "raises an error for '#{input}'" do + expect { described_class.call(input) }.to raise_error(URI::IDNA::Error) + end +end diff --git a/spec/uri/idna/idna2008/lookup_spec.rb b/spec/uri/idna/idna2008/lookup_spec.rb index 1a60559..5d3e943 100644 --- a/spec/uri/idna/idna2008/lookup_spec.rb +++ b/spec/uri/idna/idna2008/lookup_spec.rb @@ -199,6 +199,16 @@ end end + context "with upcased punycode" do + let(:alabel) { "xn--HELLO.jp" } + let(:ulabel) { "xn--HELLO.jp" } + + it "raises an error" do + expect { call }.to raise_error(URI::IDNA::Error) + expect { call_ulabel }.to raise_error(URI::IDNA::Error) + end + end + describe "Test cases from RFCs" do tests = [ ["all-ascii.com", "all-ascii.com"], diff --git a/spec/uri/idna/idna2008/registration_spec.rb b/spec/uri/idna/idna2008/registration_spec.rb index 0ab58fb..c32bd9a 100644 --- a/spec/uri/idna/idna2008/registration_spec.rb +++ b/spec/uri/idna/idna2008/registration_spec.rb @@ -239,6 +239,15 @@ end end + context "with unmatched alabel and ulabel" do + let(:alabel) { "hello.com" } + let(:ulabel) { "example.hello.com" } + + it "raises an error" do + expect { call }.to raise_error(URI::IDNA::Error) + end + end + describe "Test cases from RFCs" do tests = [ [nil, "all-ascii", "all-ascii"], diff --git a/spec/uri/idna/punycode_spec.rb b/spec/uri/idna/punycode_spec.rb index f617697..4a715d0 100644 --- a/spec/uri/idna/punycode_spec.rb +++ b/spec/uri/idna/punycode_spec.rb @@ -111,5 +111,12 @@ expect(URI::IDNA::Punycode.decode(encoded)).to eq(decoded) end end + + context "with upcased digits" do + it "returns same result" do + encoded = "d9juau41awczczp" + expect(URI::IDNA::Punycode.decode(encoded.upcase)).to eq(URI::IDNA::Punycode.decode(encoded)) + end + end end end diff --git a/spec/uri/idna/uts46/to_ascii_spec.rb b/spec/uri/idna/uts46/to_ascii_spec.rb index ff90a59..7fbb205 100644 --- a/spec/uri/idna/uts46/to_ascii_spec.rb +++ b/spec/uri/idna/uts46/to_ascii_spec.rb @@ -186,4 +186,21 @@ end end end + + context "with multiple flags" do + let(:domain) { "Bl_oß.de" } + let(:ascii_domain) { "bl_oss.de" } + + it "raises an error" do + expect { call }.to raise_error(URI::IDNA::Error) + end + + context "with use_std3_ascii_rules: false, transitional_processing: true" do + let(:options) { { use_std3_ascii_rules: false, transitional_processing: true } } + + it "returns the domain" do + expect(call).to eq(ascii_domain) + end + end + end end diff --git a/spec/uri/idna/validation/bidi_spec.rb b/spec/uri/idna/validation/bidi_spec.rb new file mode 100644 index 0000000..471e94d --- /dev/null +++ b/spec/uri/idna/validation/bidi_spec.rb @@ -0,0 +1,79 @@ +# frozen_string_literal: true + +require "spec_helper" +require "uri/idna/validation/bidi" + +RSpec.describe URI::IDNA::Validation::Bidi do + l = "\u0061" + r = "\u05d0" + al = "\u0627" + an = "\u0660" + en = "\u0030" + es = "\u002d" + cs = "\u002c" + et = "\u0024" + on = "\u0021" + bn = "\u200c" + nsm = "\u0610" + ws = "\u0020" + + describe "RFC 5893 Rule 1" do + it_behaves_like "valid", l + it_behaves_like "valid", r + it_behaves_like "valid", al + it_behaves_like "invalid", an + end + + describe "RFC 5893 Rule 2" do + it_behaves_like "valid", r + al + it_behaves_like "valid", r + al + it_behaves_like "valid", r + an + it_behaves_like "valid", r + en + it_behaves_like "valid", r + es + al + it_behaves_like "valid", r + cs + al + it_behaves_like "valid", r + et + al + it_behaves_like "valid", r + on + al + it_behaves_like "valid", r + bn + al + it_behaves_like "valid", r + nsm + it_behaves_like "invalid", r + l + it_behaves_like "invalid", r + ws + end + + describe "RFC 5893 Rule 3" do + it_behaves_like "valid", r + al + it_behaves_like "valid", r + en + it_behaves_like "valid", r + an + it_behaves_like "valid", r + nsm + it_behaves_like "valid", r + nsm + nsm + it_behaves_like "invalid", r + on + end + + describe "RFC 5893 Rule 4" do + it_behaves_like "valid", r + en + it_behaves_like "valid", r + an + it_behaves_like "invalid", r + en + an + it_behaves_like "invalid", r + an + en + end + + describe "RFC 5893 Rule 5" do + it_behaves_like "valid", l + en + it_behaves_like "valid", l + es + l + it_behaves_like "valid", l + cs + l + it_behaves_like "valid", l + et + l + it_behaves_like "valid", l + on + l + it_behaves_like "valid", l + bn + l + it_behaves_like "valid", l + nsm + it_behaves_like "invalid", l + r + it_behaves_like "invalid", l + al + it_behaves_like "invalid", an + l + end + + describe "RFC 5893 Rule 6" do + it_behaves_like "valid", l + l + it_behaves_like "valid", l + en + it_behaves_like "valid", l + en + nsm + it_behaves_like "valid", l + en + nsm + nsm + it_behaves_like "invalid", l + cs + it_behaves_like "invalid", l + cs + nsm + end +end diff --git a/spec/uri/idna/validation/contextj_spec.rb b/spec/uri/idna/validation/contextj_spec.rb new file mode 100644 index 0000000..7bb775e --- /dev/null +++ b/spec/uri/idna/validation/contextj_spec.rb @@ -0,0 +1,39 @@ +# frozen_string_literal: true + +require "spec_helper" +require "uri/idna/validation/contextj" + +RSpec.describe URI::IDNA::Validation::ContextJ do + latin = "\u0061" + zwnj = "\u200c" + zwj = "\u200d" + virama = "\u094d" + jt_0x4c = "\uA872" + jt_0x44 = "\u0620" + jt_0x55 = "\u0621" + jt_0x52 = "\u0622" + jt_0x54 = "\u070F" + + describe "RFC 5892 Appendix A.1 (Zero Width Non-Joiner)" do + it_behaves_like "valid", virama + zwnj + it_behaves_like "valid", jt_0x4c + zwnj + jt_0x52 + it_behaves_like "valid", jt_0x4c + zwnj + jt_0x44 + it_behaves_like "valid", jt_0x44 + zwnj + jt_0x52 + it_behaves_like "valid", jt_0x44 + zwnj + jt_0x54 + jt_0x52 + it_behaves_like "valid", jt_0x44 + jt_0x54 + zwnj + jt_0x52 + it_behaves_like "invalid", zwnj + it_behaves_like "invalid", latin + zwnj + it_behaves_like "invalid", jt_0x44 + zwnj + latin + it_behaves_like "invalid", jt_0x4c + zwnj + latin + it_behaves_like "invalid", jt_0x44 + zwnj + jt_0x54 + it_behaves_like "invalid", jt_0x54 + zwnj + jt_0x52 + it_behaves_like "invalid", jt_0x55 + zwnj + jt_0x52 + it_behaves_like "invalid", jt_0x4c + zwnj + jt_0x55 + end + + describe "RFC 5892 Appendix A.2 (Zero Width Joiner)" do + it_behaves_like "valid", virama + zwj + it_behaves_like "invalid", zwj + it_behaves_like "invalid", latin + zwj + end +end diff --git a/spec/uri/idna/validation/contexto_spec.rb b/spec/uri/idna/validation/contexto_spec.rb new file mode 100644 index 0000000..3a1f246 --- /dev/null +++ b/spec/uri/idna/validation/contexto_spec.rb @@ -0,0 +1,70 @@ +# frozen_string_literal: true + +require "spec_helper" +require "uri/idna/validation/contexto" + +RSpec.describe URI::IDNA::Validation::ContextO do + latin = "\u0061" + hebrew = "\u05d0" + arabic_digit = "\u0660" + ext_arabic_digit = "\u06f0" + + describe "RFC 5892 Rule A.3 (Middle Dot)" do + latin_l = "\u006c" + latin_middle_dot = "\u00b7" + + it_behaves_like "valid", latin_l + latin_middle_dot + latin_l + it_behaves_like "invalid", latin_middle_dot + latin_l + it_behaves_like "invalid", latin_l + latin_middle_dot + it_behaves_like "invalid", latin_middle_dot + it_behaves_like "invalid", latin_l + latin_middle_dot + latin + end + + describe "RFC 5892 Rule A.4 (Greek Lower Numeral Sign)" do + greek = "\u03b1" + glns = "\u0375" + + it_behaves_like "valid", glns + greek + it_behaves_like "invalid", glns + latin + it_behaves_like "invalid", glns + it_behaves_like "invalid", greek + glns + end + + describe "RFC 5892 Rule A.5 (Hebrew Punctuation Geresh)" do + geresh = "\u05f3" + + it_behaves_like "valid", hebrew + geresh + it_behaves_like "invalid", latin + geresh + end + + describe "RFC 5892 Rule A.6 (Hebrew Punctuation Gershayim)" do + gershayim = "\u05f4" + + it_behaves_like "valid", hebrew + gershayim + it_behaves_like "invalid", latin + gershayim + end + + describe "RFC 5892 Rule A.7 (Katakana Middle Dot)" do + katakana_middle_dot = "\u30fb" + hiragana = "\u3041" + katakana = "\u30a1" + han = "\u6f22" + + it_behaves_like "valid", katakana + katakana_middle_dot + katakana + it_behaves_like "valid", hiragana + katakana_middle_dot + hiragana + it_behaves_like "valid", han + katakana_middle_dot + han + it_behaves_like "valid", han + katakana_middle_dot + latin + it_behaves_like "valid", han + katakana_middle_dot + hebrew + it_behaves_like "invalid", latin + katakana_middle_dot + latin + end + + describe "RFC 5892 Rule A.8 (Arabic-Indic Digits)" do + it_behaves_like "valid", arabic_digit + arabic_digit + it_behaves_like "invalid", arabic_digit + ext_arabic_digit + end + + describe "RFC 5892 Rule A.9 (Extended Arabic-Indic Digits)" do + it_behaves_like "valid", ext_arabic_digit + ext_arabic_digit + it_behaves_like "invalid", ext_arabic_digit + arabic_digit + end +end diff --git a/spec/uri/idna/validation/idna_permitted_spec.rb b/spec/uri/idna/validation/idna_permitted_spec.rb new file mode 100644 index 0000000..24d93bb --- /dev/null +++ b/spec/uri/idna/validation/idna_permitted_spec.rb @@ -0,0 +1,20 @@ +# frozen_string_literal: true + +require "spec_helper" +require "uri/idna/validation/idna_permitted" + +RSpec.describe URI::IDNA::Validation::IDNAPermitted do + rtl = "\u05d0" + latin = "\u0061" + arabic_digit = "\u0660" + zwnj = "\u200c" + hebrew = "\u05d0" + symbol = "\u0021" + latin_upcase = "\u0041" + non_ascii_upcase = "\u0102" + + it_behaves_like "valid", rtl + latin + arabic_digit + zwnj + hebrew + it_behaves_like "invalid", latin + symbol + latin + it_behaves_like "invalid", latin + latin_upcase + it_behaves_like "invalid", non_ascii_upcase + latin +end diff --git a/spec/uri/idna/validation/label_spec.rb b/spec/uri/idna/validation/label_spec.rb new file mode 100644 index 0000000..679f519 --- /dev/null +++ b/spec/uri/idna/validation/label_spec.rb @@ -0,0 +1,156 @@ +# frozen_string_literal: true + +require "spec_helper" +require "uri/idna/validation/label" + +RSpec.describe URI::IDNA::Validation::Label do + describe ".check_nfc" do + subject(:check_nfc) { described_class.check_nfc(label) } + + let(:label) { "a" } + + it "doesn't raise an error" do + expect { check_nfc }.not_to raise_error + end + + context "when label is not in NFC" do + let(:label) { "a\u0301" } + + it "raises an error" do + expect { check_nfc }.to raise_error(URI::IDNA::Error) + end + end + end + + describe ".check_hyphen34" do + subject(:check_hyphen34) { described_class.check_hyphen34(label) } + + let(:label) { "a--b" } + + it "doesn't raise an error" do + expect { check_hyphen34 }.not_to raise_error + end + + context "when label contains a hyphen in the third and fourth positions" do + let(:label) { "ab--b" } + + it "raises an error" do + expect { check_hyphen34 }.to raise_error(URI::IDNA::Error) + end + end + end + + describe ".check_hyphen_sides" do + subject(:check_hyphen_sides) { described_class.check_hyphen_sides(label) } + + let(:label) { "a-b" } + + it "doesn't raise an error" do + expect { check_hyphen_sides }.not_to raise_error + end + + context "when label begins with a hyphen" do + let(:label) { "-ab" } + + it "raises an error" do + expect { check_hyphen_sides }.to raise_error(URI::IDNA::Error) + end + end + + context "when label ends with a hyphen" do + let(:label) { "ab-" } + + it "raises an error" do + expect { check_hyphen_sides }.to raise_error(URI::IDNA::Error) + end + end + end + + describe ".check_ace_prefix" do + subject(:check_ace_prefix) { described_class.check_ace_prefix(label) } + + let(:label) { "xf--a" } + + it "doesn't raise an error" do + expect { check_ace_prefix }.not_to raise_error + end + + context "when label begins with `xn--`" do + let(:label) { "xn--ab" } + + it "raises an error" do + expect { check_ace_prefix }.to raise_error(URI::IDNA::Error) + end + end + end + + describe ".check_dot" do + subject(:check_dot) { described_class.check_dot(label) } + + let(:label) { "a" } + + it "doesn't raise an error" do + expect { check_dot }.not_to raise_error + end + + context "when label contains a dot" do + let(:label) { "a.b" } + + it "raises an error" do + expect { check_dot }.to raise_error(URI::IDNA::Error) + end + end + end + + describe ".check_length" do + subject(:check_length) { described_class.check_length(label) } + + let(:label) { "a" * 63 } + + it "doesn't raise an error" do + expect { check_length }.not_to raise_error + end + + context "when label is too long" do + let(:label) { "a" * 64 } + + it "raises an error" do + expect { check_length }.to raise_error(URI::IDNA::Error) + end + end + end + + describe ".check_domain_length" do + subject(:check_domain_length) { described_class.check_domain_length(domain_name) } + + let(:domain_name) { "a" * 253 } + + it "doesn't raise an error" do + expect { check_domain_length }.not_to raise_error + end + + context "when domain is too long" do + let(:domain_name) { "a" * 254 } + + it "raises an error" do + expect { check_domain_length }.to raise_error(URI::IDNA::Error) + end + end + + context "with trailing dot" do + let(:domain_name) { "#{'a' * 253}." } + + it "doesn't raise an error" do + expect { check_domain_length }.not_to raise_error + end + + context "when domain is too long" do + let(:domain_name) { "#{'a' * 254}." } + + it "raises an error" do + expect { check_domain_length }.to raise_error(URI::IDNA::Error) + end + end + end + end +end diff --git a/spec/uri/idna/validation/leading_combining_spec.rb b/spec/uri/idna/validation/leading_combining_spec.rb new file mode 100644 index 0000000..3fa1a11 --- /dev/null +++ b/spec/uri/idna/validation/leading_combining_spec.rb @@ -0,0 +1,13 @@ +# frozen_string_literal: true + +require "spec_helper" +require "uri/idna/validation/leading_combining" + +RSpec.describe URI::IDNA::Validation::LeadingCombining do + m = "\u0300" + a = "\u0061" + + it_behaves_like "valid", a + it_behaves_like "valid", a + m + it_behaves_like "invalid", m + a +end diff --git a/spec/uri/idna_spec.rb b/spec/uri/idna_spec.rb new file mode 100644 index 0000000..0098692 --- /dev/null +++ b/spec/uri/idna_spec.rb @@ -0,0 +1,200 @@ +# frozen_string_literal: true + +require "spec_helper" + +RSpec.describe URI::IDNA do + describe ".lookup" do + subject(:lookup) { described_class.lookup(input, **options) } + + let(:options) { {} } + let(:input) { "ハロー・ワールド.jp" } + let(:result) { "xn--gdkl8fhk5egc.jp" } + + it { is_expected.to eq(result) } + + context "when the input is already ASCII" do + let(:input) { result } + + it { is_expected.to eq(result) } + end + + context "when the input is not a valid domain" do + let(:input) { "34--hyphens.com" } + + it "raises an error" do + expect { lookup }.to raise_error(URI::IDNA::Error) + end + end + + context "with options" do + let(:input) { "34--hyphens.com" } + let(:options) { { check_hyphens: false } } + + it { is_expected.to eq(input) } + end + end + + describe ".register" do + subject(:register) { described_class.register(alabel: alabel, ulabel: ulabel, **options) } + + let(:options) { {} } + let(:result) { "xn--gdkl8fhk5egc.jp" } + let(:alabel) { result } + let(:ulabel) { "ハロー・ワールド.jp" } + + it { is_expected.to eq(result) } + + context "when only alabel is provided" do + let(:ulabel) { nil } + + it { is_expected.to eq(result) } + end + + context "when only ulabel is provided" do + let(:alabel) { nil } + + it { is_expected.to eq(result) } + end + + context "when the input is not a valid domain" do + let(:alabel) { "34--hyphens.com" } + let(:ulabel) { "34--hyphens.com" } + + it "raises an error" do + expect { register }.to raise_error(URI::IDNA::Error) + end + end + + context "with options" do + let(:alabel) { "34--hyphens.com" } + let(:ulabel) { "34--hyphens.com" } + let(:options) { { check_hyphens: false } } + + it { is_expected.to eq(alabel) } + end + end + + describe ".to_unicode" do + subject(:to_unicode) { described_class.to_unicode(input, **options) } + + let(:options) { {} } + let(:input) { "xn--gdkl8fhk5egc.jp" } + let(:result) { "ハロー・ワールド.jp" } + + it { is_expected.to eq(result) } + + context "when the input is already Unicode" do + let(:input) { result } + + it { is_expected.to eq(result) } + end + + context "when the input is not a valid domain" do + let(:input) { "34--hyphens.com" } + + it "raises an error" do + expect { to_unicode }.to raise_error(URI::IDNA::Error) + end + end + + context "with options" do + let(:input) { "34--hyphens.com" } + let(:options) { { check_hyphens: false } } + + it { is_expected.to eq(input) } + end + end + + describe ".to_ascii" do + subject(:to_ascii) { described_class.to_ascii(input, **options) } + + let(:options) { {} } + let(:input) { "ハロー・ワールド.jp" } + let(:result) { "xn--gdkl8fhk5egc.jp" } + + it { is_expected.to eq(result) } + + context "when the input is already ASCII" do + let(:input) { result } + + it { is_expected.to eq(result) } + end + + context "when the input is not a valid domain" do + let(:input) { "34--hyphens.com" } + + it "raises an error" do + expect { to_ascii }.to raise_error(URI::IDNA::Error) + end + end + + context "with options" do + let(:input) { "34--hyphens.com" } + let(:options) { { check_hyphens: false } } + + it { is_expected.to eq(input) } + end + end + + describe ".whatwg_to_unicode" do + subject(:whatwg_to_unicode) { described_class.whatwg_to_unicode(input, **options) } + + let(:options) { {} } + let(:input) { "xn--gdkl8fhk5egc.jp" } + let(:result) { "ハロー・ワールド.jp" } + + it { is_expected.to eq(result) } + + context "when the input is already Unicode" do + let(:input) { result } + + it { is_expected.to eq(result) } + end + + context "when the input is not a valid domain" do + let(:input) { "under_scored.com" } + + it "raises an error" do + expect { whatwg_to_unicode }.to raise_error(URI::IDNA::Error) + end + end + + context "with options" do + let(:input) { "under_scored.com" } + let(:options) { { be_strict: false } } + + it { is_expected.to eq(input) } + end + end + + describe ".whatwg_to_ascii" do + subject(:whatwg_to_ascii) { described_class.whatwg_to_ascii(input, **options) } + + let(:options) { {} } + let(:input) { "ハロー・ワールド.jp" } + let(:result) { "xn--gdkl8fhk5egc.jp" } + + it { is_expected.to eq(result) } + + context "when the input is already ASCII" do + let(:input) { result } + + it { is_expected.to eq(result) } + end + + context "when the input is not a valid domain" do + let(:input) { "under_scored.com" } + + it "raises an error" do + expect { whatwg_to_ascii }.to raise_error(URI::IDNA::Error) + end + end + + context "with options" do + let(:input) { "under_scored.com" } + let(:options) { { be_strict: false } } + + it { is_expected.to eq(input) } + end + end +end diff --git a/tasks/base_generator.rb b/tasks/base_generator.rb new file mode 100644 index 0000000..f246d1f --- /dev/null +++ b/tasks/base_generator.rb @@ -0,0 +1,37 @@ +# frozen_string_literal: true + +require "erb" + +class BaseGenerator + attr_reader :ucdata, :template_name + + def initialize(ucdata, template_name = nil) + @ucdata = ucdata + @template_name = template_name + end + + def render(name = nil) + template = File.join(__dir__, "templates", (name || template_name)) + erb = ERB.new(File.read(template), trim_mode: "-") + + erb.result(binding) + end + alias to_s render + + private + + def regex_string(values) + values + .slice_when { |i, j| i.value + 1 != j.value } + .each do |slice| + case slice.size + when 1 + yield slice.first.to_utf8 + when 2 + yield slice.first.to_utf8 + slice.last.to_utf8 + else + yield "#{slice.first.to_utf8}-#{slice.last.to_utf8}" + end + end + end +end diff --git a/tasks/code_point.rb b/tasks/code_point.rb index 47647f3..45e555c 100644 --- a/tasks/code_point.rb +++ b/tasks/code_point.rb @@ -57,6 +57,16 @@ def inspect "U+%04X" % value end + def to_utf8 + if value > 0xFFFF + "\\u{#{value.to_s(16).upcase}}" + elsif value >= 0x7f || value < 0x20 + "\\u#{value.to_s(16).upcase.rjust(4, '0')}" + else + value.chr.sub(/[\\"]/, "\\\\\\\&").sub("[", "\\\\\\\\[") + end + end + def casefold(s) s.unpack("U*").map { |x| ucdata.ucd_cf[x] || x }.flatten.pack("U*") end diff --git a/tasks/idna.rake b/tasks/idna.rake index 8a32fd0..216d66f 100644 --- a/tasks/idna.rake +++ b/tasks/idna.rake @@ -2,11 +2,26 @@ require_relative "code_point" require_relative "unicode_data" +require_relative "idna_generator" +require_relative "scripts_generator" +require_relative "uts46_generator" namespace :idna do desc "Generate data files for IDNA" task :generate, [:version] do - generate_data_files + dest_dir = ENV.fetch("DEST_DIR", ".") + FileUtils.mkdir_p(dest_dir) + + File.write(File.join(dest_dir, "joining_types.rb"), BaseGenerator.new(ucdata, "joining_types.erb")) + File.write(File.join(dest_dir, "unicode_version.rb"), BaseGenerator.new(ucdata, "unicode_version.erb")) + File.write(File.join(dest_dir, "scripts.rb"), ScriptsGenerator.new(ucdata, "scripts.erb")) + File.write(File.join(dest_dir, "uts46.rb"), UTS46Generator.new(ucdata, "uts46.erb")) + + generator = IDNAGenerator.new(ucdata) + File.write(File.join(dest_dir, "bidi_classes.rb"), generator.render("bidi_classes.erb")) + File.write(File.join(dest_dir, "codepoint_classes.rb"), generator.render("codepoint_classes.erb")) + File.write(File.join(dest_dir, "leading_combiners.rb"), generator.render("leading_combiners.erb")) + File.write(File.join(dest_dir, "virama_combining_classes.rb"), generator.render("virama_combining_classes.erb")) end desc "Inspect code point data: bundle exec rake 'idna:inspect[U+FFFF]'" @@ -17,13 +32,12 @@ namespace :idna do exit! end - codepoint = result[:cp].to_i(16) - puts CodePoint.new(codepoint, ucdata: ucdata).diagnose + puts CodePoint.new(result[:cp].hex, ucdata: ucdata).diagnose end desc "Update UTS46 test suite data file" task :update_uts46_test_suite do - require_relative "../lib/uri/idna/data/idna" + require_relative "../lib/uri/idna/data/unicode_version" filename = "IdnaTestV2.txt" version = ENV.fetch("VERSION", URI::IDNA::UNICODE_VERSION) @@ -34,24 +48,8 @@ namespace :idna do end end -def generate_data_files - require_relative "idna_data" - require_relative "uts46_data" - - dest_dir = ENV.fetch("DEST_DIR", ".") - FileUtils.mkdir_p(dest_dir) - target_filename = File.join(dest_dir, "idna.rb") - File.open(target_filename, "w") do |f| - IDNAData.new(ucdata).each_entry { |l| f.puts l } - end - target_filename = File.join(dest_dir, "uts46.rb") - File.open(target_filename, "w") do |f| - UTS46Data.new(ucdata).each_entry { |l| f.puts l } - end -end - def ucdata - cache = ENV["CACHE_DIR"] || "tmp" - cache = nil if ENV["NO_CACHE"] - UnicodeData.new(ENV.fetch("VERSION", RbConfig::CONFIG["UNICODE_VERSION"]), cache) + cache = ENV["NO_CACHE"] ? nil : ENV["CACHE_DIR"] || "tmp" + version = ENV.fetch("VERSION", RbConfig::CONFIG["UNICODE_VERSION"]) + UnicodeData.new(version, cache) end diff --git a/tasks/idna_data.rb b/tasks/idna_data.rb deleted file mode 100644 index b847bfb..0000000 --- a/tasks/idna_data.rb +++ /dev/null @@ -1,129 +0,0 @@ -# frozen_string_literal: true - -require_relative "../lib/uri/idna/intranges" - -class IDNAData - SCRIPTS = %w[Greek Han Hebrew Hiragana Katakana].freeze - - BIDI_MAPPING = { - "R" => "RTL", - "AL" => "RTL", - "L" => "L", - "EN" => "EN", - "AN" => "AN", - "NSM" => "NSM", - "ES" => "OTHER", - "CS" => "OTHER", - "ET" => "OTHER", - "ON" => "OTHER", - "BN" => "OTHER", - }.freeze - - def initialize(ucdata) - @ucdata = ucdata - @data = prepare_data - end - - attr_reader :ucdata - - include Enumerable - - def each - yield "# frozen_string_literal: true\n\n" - yield "# This file is automatically generated by bin/generate" - yield "# Unicode version #{ucdata.version}\n\n" - yield "module URI" - yield " module IDNA" - - yield " UNICODE_VERSION = \"#{ucdata.version}\"" - - scripts { |l| yield " #{l}" } - joining_types { |l| yield " #{l}" } - codepoint_classes { |l| yield " #{l}" } - initial_combiners { |l| yield " #{l}" } - virama_combining_classes { |l| yield " #{l}" } - bidi_classes { |l| yield " #{l}" } - - yield " end" - yield "end" - end - - private - - def initial_combiners(&block) - yield "INITIAL_COMBINERS = [" - optimised_list(@data[:combiners], &block) - yield "].freeze" - end - - def virama_combining_classes(&block) - yield "VIRAMA_COMBINING_CLASSES = [" - optimised_list(@data[:virama_combining_classes], &block) - yield "].freeze" - end - - def joining_types - yield "JOINING_TYPES = {" - ucdata.codepoints do |cp| - yield " 0x#{cp.value.to_s(16)} => #{cp.joining_type.ord}," if cp.joining_type - end - yield "}.freeze" - end - - def bidi_classes - yield "BIDI_CLASSES = {" - @data[:bidi_classes].each do |bidi_class, values| - yield " \"#{bidi_class}\" => [" - optimised_list(values) { |l| yield " #{l}" } - yield " ]," - end - yield "}.freeze" - end - - def codepoint_classes - yield "CODEPOINT_CLASSES = {" - @data[:codepoint_classes].each do |status, values| - yield " \"#{status}\" => [" - optimised_list(values) { |l| yield " #{l}" } - yield " ]," - end - yield "}.freeze" - end - - def scripts - yield "SCRIPTS = {" - SCRIPTS.each do |script| - yield " \"#{script}\" => [" - optimised_list(ucdata.ucd_s[script]) { |l| yield " #{l}" } - yield " ]," - end - yield "}.freeze" - end - - def prepare_data - data = { bidi_classes: {}, codepoint_classes: {}, combiners: [], virama_combining_classes: [] } - ucdata.codepoints do |cp| - bidi_class = BIDI_MAPPING[cp.bidi_class] || "UNUSED" - data[:bidi_classes][bidi_class] ||= [] - data[:bidi_classes][bidi_class] << cp.value - - status = cp.idna2008_status - unless %w[UNASSIGNED DISALLOWED].include?(status) - data[:codepoint_classes][status] ||= [] - data[:codepoint_classes][status] << cp.value - end - - data[:combiners] << cp.value if cp.general_category&.start_with?("M") - - data[:virama_combining_classes] << cp.value if cp.combining_class == "9" - end - - data - end - - def optimised_list(d) - URI::IDNA::Intranges.from_list(d).each do |value| - yield " 0x#{value.to_s(16)}," - end - end -end diff --git a/tasks/idna_generator.rb b/tasks/idna_generator.rb new file mode 100644 index 0000000..f1d0280 --- /dev/null +++ b/tasks/idna_generator.rb @@ -0,0 +1,41 @@ +# frozen_string_literal: true + +require_relative "base_generator" + +class IDNAGenerator < BaseGenerator + BIDI_MAPPING = { + "R" => "RTL", + "AL" => "RTL", + "L" => "L", + "EN" => "EN", + "AN" => "AN", + "NSM" => "NSM", + "ES" => "OTHER", + "CS" => "OTHER", + "ET" => "OTHER", + "ON" => "OTHER", + "BN" => "OTHER", + }.freeze + + def data + @data ||= { bidi_classes: {}, codepoint_classes: {}, combiners: [], virama_combining_classes: [] }.tap do |hash| + ucdata.codepoints do |cp| + next unless [cp.value].pack("U").valid_encoding? + + bidi_class = BIDI_MAPPING[cp.bidi_class] || "UNUSED" + hash[:bidi_classes][bidi_class] ||= [] + hash[:bidi_classes][bidi_class] << cp + + status = cp.idna2008_status + unless %w[UNASSIGNED DISALLOWED].include?(status) + hash[:codepoint_classes][status] ||= [] + hash[:codepoint_classes][status] << cp + end + + hash[:combiners] << cp if cp.general_category&.start_with?("M") + + hash[:virama_combining_classes] << cp if cp.combining_class == "9" + end + end + end +end diff --git a/tasks/scripts_generator.rb b/tasks/scripts_generator.rb new file mode 100644 index 0000000..7227b20 --- /dev/null +++ b/tasks/scripts_generator.rb @@ -0,0 +1,9 @@ +# frozen_string_literal: true + +require_relative "base_generator" + +class ScriptsGenerator < BaseGenerator + def scripts + %w[Greek Han Hebrew Hiragana Katakana] + end +end diff --git a/tasks/templates/bidi_classes.erb b/tasks/templates/bidi_classes.erb new file mode 100644 index 0000000..9453fc4 --- /dev/null +++ b/tasks/templates/bidi_classes.erb @@ -0,0 +1,18 @@ +# frozen_string_literal: true + +# This file is automatically generated by bin/generate +# Unicode version <%= ucdata.version %> + +module URI + module IDNA + BIDI_CLASSES = { +<% data[:bidi_classes].filter {|cls| cls != "OTHER"}.each do |bidi_class, values| -%> + "<%= bidi_class %>" => "["\ +<% regex_string(values) do |k| -%> + "<%= k %>"\ +<% end -%> + "]", +<% end -%> + }.freeze + end +end diff --git a/tasks/templates/codepoint_classes.erb b/tasks/templates/codepoint_classes.erb new file mode 100644 index 0000000..87a514c --- /dev/null +++ b/tasks/templates/codepoint_classes.erb @@ -0,0 +1,18 @@ +# frozen_string_literal: true + +# This file is automatically generated by bin/generate +# Unicode version <%= ucdata.version %> + +module URI + module IDNA + CODEPOINT_CLASSES = { +<% data[:codepoint_classes].each do |cp_class, values| -%> + "<%= cp_class %>" => "["\ +<% regex_string(values) do |k| -%> + "<%= k %>"\ +<% end -%> + "]", +<% end -%> + }.freeze + end +end diff --git a/tasks/templates/joining_types.erb b/tasks/templates/joining_types.erb new file mode 100644 index 0000000..22a7c01 --- /dev/null +++ b/tasks/templates/joining_types.erb @@ -0,0 +1,14 @@ +# frozen_string_literal: true + +# This file is automatically generated by bin/generate +# Unicode version <%= ucdata.version %> + +module URI + module IDNA + JOINING_TYPES = { +<% ucdata.codepoints.filter(&:joining_type).each do |cp| -%> + "<%= cp.to_utf8 %>" => <%= cp.joining_type.ord %>, +<% end -%> + }.freeze + end +end diff --git a/tasks/templates/leading_combiners.erb b/tasks/templates/leading_combiners.erb new file mode 100644 index 0000000..68f8c72 --- /dev/null +++ b/tasks/templates/leading_combiners.erb @@ -0,0 +1,14 @@ +# frozen_string_literal: true + +# This file is automatically generated by bin/generate +# Unicode version <%= ucdata.version %> + +module URI + module IDNA + LEADING_COMBINERS = "["\ +<% regex_string(data[:combiners]) do |k| -%> + "<%= k %>"\ +<% end -%> + "]" + end +end diff --git a/tasks/templates/scripts.erb b/tasks/templates/scripts.erb new file mode 100644 index 0000000..24266a9 --- /dev/null +++ b/tasks/templates/scripts.erb @@ -0,0 +1,18 @@ +# frozen_string_literal: true + +# This file is automatically generated by bin/generate +# Unicode version <%= ucdata.version %> + +module URI + module IDNA + SCRIPTS = { +<% scripts.each do |script| -%> + "<%= script %>" => "["\ +<% regex_string(ucdata.ucd_s[script].map { |i| CodePoint.new(i, ucdata: ucdata) }) do |k| -%> + "<%= k %>"\ +<% end -%> + "]", +<% end -%> + }.freeze + end +end diff --git a/tasks/templates/unicode_version.erb b/tasks/templates/unicode_version.erb new file mode 100644 index 0000000..ee14260 --- /dev/null +++ b/tasks/templates/unicode_version.erb @@ -0,0 +1,10 @@ +# frozen_string_literal: true + +# This file is automatically generated by bin/generate +# Unicode version <%= ucdata.version %> + +module URI + module IDNA + UNICODE_VERSION = "<%= ucdata.version %>" + end +end diff --git a/tasks/templates/uts46.erb b/tasks/templates/uts46.erb new file mode 100644 index 0000000..b9e4d90 --- /dev/null +++ b/tasks/templates/uts46.erb @@ -0,0 +1,50 @@ +# frozen_string_literal: true + +# This file is automatically generated by bin/generate +# Unicode version <%= ucdata.version %> + +module URI + module IDNA + REPLACEMENTS = { +<% replacements do |k, v| -%> + "<%= k %>" => "<%= v %>", +<% end -%> + }.freeze + + REGEX_V_STRING = "["\ +<% status_regex_string("valid") do |k| -%> + "<%= k %>"\ +<% end -%> + "]" + + REGEX_M_STRING = "["\ +<% status_regex_string("mapped") do |k| -%> + "<%= k %>"\ +<% end -%> + "]" + + REGEX_I_STRING = "["\ +<% status_regex_string("ignored") do |k| -%> + "<%= k %>"\ +<% end -%> + "]" + + REGEX_D_STRING = "["\ +<% status_regex_string("deviation") do |k| -%> + "<%= k %>"\ +<% end -%> + "]" + + REGEX_STD3_V_STRING = "["\ +<% status_regex_string("disallowed_STD3_valid") do |k| -%> + "<%= k %>"\ +<% end -%> + "]" + + REGEX_STD3_M_STRING = "["\ +<% status_regex_string("disallowed_STD3_mapped") do |k| -%> + "<%= k %>"\ +<% end -%> + "]" + end +end diff --git a/tasks/templates/virama_combining_classes.erb b/tasks/templates/virama_combining_classes.erb new file mode 100644 index 0000000..7821fb0 --- /dev/null +++ b/tasks/templates/virama_combining_classes.erb @@ -0,0 +1,14 @@ +# frozen_string_literal: true + +# This file is automatically generated by bin/generate +# Unicode version <%= ucdata.version %> + +module URI + module IDNA + VIRAMA_COMBINING_CLASSES = "["\ +<% regex_string(data[:virama_combining_classes]) do |k| -%> + "<%= k %>"\ +<% end -%> + "]" + end +end diff --git a/tasks/unicode_data.rb b/tasks/unicode_data.rb index 6d846d8..9bc4396 100644 --- a/tasks/unicode_data.rb +++ b/tasks/unicode_data.rb @@ -27,6 +27,8 @@ def initialize(version, cache) end def codepoints + return enum_for(:codepoints) unless block_given? + (0..@max).each do |i| yield CodePoint.new(i, ucdata: self) end @@ -88,7 +90,7 @@ def load_case_folding @ucd_cf = {} ucdfile("CaseFolding.txt").each do |cp, fields| cp.each do |i| - @ucd_cf[i] = fields[1].split(" ").map { |x| x.to_i(16) } if %w[C F].include?(fields[0]) + @ucd_cf[i] = fields[1].split(" ").map(&:hex) if %w[C F].include?(fields[0]) end end end @@ -156,10 +158,10 @@ def read_data_file(io) codepoint, *fields = line.split(/\s*;\s*/, -1) codepoint = if codepoint.include?("..") - left, right = codepoint.split("..").map { |value| value.to_i(16) } + left, right = codepoint.split("..").map(&:hex) left..right else - [codepoint.to_i(16)] + [codepoint.hex] end result[codepoint] ||= [] result[codepoint] += fields diff --git a/tasks/uts46_data.rb b/tasks/uts46_data.rb deleted file mode 100644 index 38eef5d..0000000 --- a/tasks/uts46_data.rb +++ /dev/null @@ -1,59 +0,0 @@ -# frozen_string_literal: true - -class UTS46Data - UTS46_STATUSES = { - "valid" => ["V", false], - "ignored" => ["I", false], - "mapped" => ["M", true], - "deviation" => ["D", true], - "disallowed" => ["X", false], - "disallowed_STD3_valid" => ["3", false], - "disallowed_STD3_mapped" => ["3", true], - }.freeze - - def initialize(ucdata) - @ucdata = ucdata - end - - attr_reader :ucdata - - include Enumerable - - def each - yield "# frozen_string_literal: true\n\n" - yield "# This file is automatically generated by bin/generate" - yield "# Unicode version #{ucdata.version}\n\n" - yield "module URI" - yield " module IDNA" - yield " # IDNA Mapping Table from UTS46." - - yield " UTS46_DATA = [" - ranges { |l| yield " #{l}," } - yield " ].freeze" - yield " end" - yield "end" - end - - private - - def ranges - last = [nil, nil] - ucdata.codepoints do |cp| - fields = cp.uts46_data - next unless fields - - status, mapping = UTS46_STATUSES[fields[0]] - - mapping = mapping ? fields[1].split.map { |point| "0x#{point}" } : nil - - next if cp.value > 255 && last == [status, mapping] - - last = [status, mapping] - if mapping - yield "[0x#{cp.value.to_s(16).upcase}, \"#{status}\", [#{mapping.join(', ')}]]" - else - yield "[0x#{cp.value.to_s(16).upcase}, \"#{status}\"]" - end - end - end -end diff --git a/tasks/uts46_generator.rb b/tasks/uts46_generator.rb new file mode 100644 index 0000000..ef6500c --- /dev/null +++ b/tasks/uts46_generator.rb @@ -0,0 +1,25 @@ +# frozen_string_literal: true + +require_relative "base_generator" + +class UTS46Generator < BaseGenerator + UTS46_MAPPED_STATUSES = %w[mapped deviation disallowed_STD3_mapped].freeze + + private + + def replacements + ucdata.codepoints do |cp| + status_name, mapping_value = cp.uts46_data + next unless mapping_value + next unless UTS46_MAPPED_STATUSES.include?(status_name) + + mapping = mapping_value.split.map { |point| CodePoint.new(point.hex, ucdata: ucdata).to_utf8 }.join + + yield cp.to_utf8, mapping + end + end + + def status_regex_string(status, &block) + regex_string(ucdata.codepoints.filter { |cp| cp.uts46_data[0] == status }, &block) + end +end