diff options
author | Joel Galenson <jgalenson@google.com> | 2021-04-06 14:24:47 +0000 |
---|---|---|
committer | Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com> | 2021-04-06 14:24:47 +0000 |
commit | 60bb1e2a2aa5c7cea99caa58da10510123c15bec (patch) | |
tree | 6cf67f388b2026d22db8ec12233d2d42fd2af0c5 | |
parent | 315348d44101a40274ce9c66387e5ea503cbdb5f (diff) | |
parent | 3894828fa213999bbdf3fd40c86181a7c35ae11c (diff) | |
download | idna-60bb1e2a2aa5c7cea99caa58da10510123c15bec.tar.gz |
Upgrade rust/crates/idna to 0.2.2 am: c87e8a2c29 am: eb620b6e1c am: 3894828fa2
Original change: https://android-review.googlesource.com/c/platform/external/rust/crates/idna/+/1662677
Change-Id: I8d9cdf6b5adee73592bfbf199aea0cd02d40cf6c
-rw-r--r-- | .cargo_vcs_info.json | 2 | ||||
-rw-r--r-- | Android.bp | 1 | ||||
-rw-r--r-- | Cargo.toml | 4 | ||||
-rw-r--r-- | Cargo.toml.orig | 4 | ||||
-rw-r--r-- | METADATA | 8 | ||||
-rw-r--r-- | TEST_MAPPING | 8 | ||||
-rw-r--r-- | src/make_uts46_mapping_table.py | 34 | ||||
-rw-r--r-- | src/uts46.rs | 64 | ||||
-rw-r--r-- | src/uts46_mapping_table.rs | 5761 | ||||
-rw-r--r-- | tests/punycode.rs | 16 | ||||
-rw-r--r-- | tests/unit.rs | 17 |
11 files changed, 2395 insertions, 3524 deletions
diff --git a/.cargo_vcs_info.json b/.cargo_vcs_info.json index 76a0740..9926491 100644 --- a/.cargo_vcs_info.json +++ b/.cargo_vcs_info.json @@ -1,5 +1,5 @@ { "git": { - "sha1": "3628c22324691f98753c54bcd4bc0d61c4ffef65" + "sha1": "5e929762c9319f4f5b8d0311c920a9069d3d2e10" } } @@ -1,4 +1,5 @@ // This file is generated by cargo2android.py --run --device --dependencies --patch=patches/Android.bp.patch. +// Do not modify this file as changes will be overridden on upgrade. package { default_applicable_licenses: ["external_rust_crates_idna_license"], @@ -13,7 +13,7 @@ [package] edition = "2018" name = "idna" -version = "0.2.1" +version = "0.2.2" authors = ["The rust-url developers"] autotests = false description = "IDNA (Internationalizing Domain Names in Applications) and Punycode." @@ -40,7 +40,7 @@ version = "0.1" version = "0.3" [dependencies.unicode-normalization] -version = "0.1.5" +version = "0.1.17" [dev-dependencies.assert_matches] version = "1.3" diff --git a/Cargo.toml.orig b/Cargo.toml.orig index d831811..8aba16d 100644 --- a/Cargo.toml.orig +++ b/Cargo.toml.orig @@ -1,6 +1,6 @@ [package] name = "idna" -version = "0.2.1" +version = "0.2.2" authors = ["The rust-url developers"] description = "IDNA (Internationalizing Domain Names in Applications) and Punycode." repository = "https://github.com/servo/rust-url/" @@ -26,7 +26,7 @@ serde_json = "1.0" [dependencies] unicode-bidi = "0.3" -unicode-normalization = "0.1.5" +unicode-normalization = "0.1.17" matches = "0.1" [[bench]] @@ -7,13 +7,13 @@ third_party { } url { type: ARCHIVE - value: "https://static.crates.io/crates/idna/idna-0.2.1.crate" + value: "https://static.crates.io/crates/idna/idna-0.2.2.crate" } - version: "0.2.1" + version: "0.2.2" license_type: NOTICE last_upgrade_date { year: 2021 - month: 2 - day: 9 + month: 4 + day: 1 } } diff --git a/TEST_MAPPING b/TEST_MAPPING index 871b501..5da7ae4 100644 --- a/TEST_MAPPING +++ b/TEST_MAPPING @@ -2,10 +2,16 @@ { "presubmit": [ { - "name": "quiche_device_test_src_lib" + "name": "url_device_test_tests_unit" + }, + { + "name": "url_device_test_tests_data" }, { "name": "url_device_test_src_lib" + }, + { + "name": "quiche_device_test_src_lib" } ] } diff --git a/src/make_uts46_mapping_table.py b/src/make_uts46_mapping_table.py index 27f1328..4f72bbd 100644 --- a/src/make_uts46_mapping_table.py +++ b/src/make_uts46_mapping_table.py @@ -78,6 +78,12 @@ for line in txt: unicode_str = u''.join(char(c) for c in fields[2].strip().split(' ')) elif mapping == "Deviation": unicode_str = u'' + + if len(fields) > 3: + assert fields[3].strip() in ('NV8', 'XV8'), fields[3] + assert mapping == 'Valid', mapping + mapping = 'DisallowedIdna2008' + ranges.append((first, last, mapping, unicode_str)) def mergeable_key(r): @@ -86,7 +92,7 @@ def mergeable_key(r): # These types have associated data, so we should not merge them. if mapping in ('Mapped', 'Deviation', 'DisallowedStd3Mapped'): return r - assert mapping in ('Valid', 'Ignored', 'Disallowed', 'DisallowedStd3Valid') + assert mapping in ('Valid', 'Ignored', 'Disallowed', 'DisallowedStd3Valid', 'DisallowedIdna2008') return mapping grouped_ranges = itertools.groupby(ranges, key=mergeable_key) @@ -116,11 +122,7 @@ for (k, g) in grouped_ranges: # Assert we're seeing the surrogate case here. assert last_char == 0xd7ff assert next_char == 0xe000 - first = group[0][0] - last = group[-1][1] - mapping = group[0][2] - unicode_str = group[0][3] - optimized_ranges.append((first, last, mapping, unicode_str)) + optimized_ranges.append((group[0][0], group[-1][1]) + group[0][2:]) def is_single_char_range(r): (first, last, _, _) = r @@ -148,30 +150,22 @@ def merge_single_char_ranges(ranges): optimized_ranges = list(merge_single_char_ranges(optimized_ranges)) - -print("static TABLE: &[Range] = &[") - -for ranges in optimized_ranges: - first = ranges[0][0] - last = ranges[-1][1] - print(" Range { from: '%s', to: '%s', }," % (escape_char(char(first)), - escape_char(char(last)))) - -print("];\n") - -print("static INDEX_TABLE: &[u16] = &[") - SINGLE_MARKER = 1 << 15 +print("static TABLE: &[(char, u16)] = &[") + offset = 0 for ranges in optimized_ranges: assert offset < SINGLE_MARKER block_len = len(ranges) single = SINGLE_MARKER if block_len == 1 else 0 - print(" %s," % (offset | single)) + index = offset | single offset += block_len + start = escape_char(char(ranges[0][0])) + print(" ('%s', %s)," % (start, index)) + print("];\n") print("static MAPPING_TABLE: &[Mapping] = &[") diff --git a/src/uts46.rs b/src/uts46.rs index 5501a65..0b7d27a 100644 --- a/src/uts46.rs +++ b/src/uts46.rs @@ -11,7 +11,6 @@ use self::Mapping::*; use crate::punycode; -use std::cmp::Ordering::{Equal, Greater, Less}; use std::{error::Error as StdError, fmt}; use unicode_bidi::{bidi_class, BidiClass}; use unicode_normalization::char::is_combining_mark; @@ -48,38 +47,26 @@ enum Mapping { Disallowed, DisallowedStd3Valid, DisallowedStd3Mapped(StringTableSlice), -} - -struct Range { - from: char, - to: char, + DisallowedIdna2008, } fn find_char(codepoint: char) -> &'static Mapping { - let r = TABLE.binary_search_by(|ref range| { - if codepoint > range.to { - Less - } else if codepoint < range.from { - Greater - } else { - Equal - } - }); - r.ok() - .map(|i| { - const SINGLE_MARKER: u16 = 1 << 15; + let idx = match TABLE.binary_search_by_key(&codepoint, |&val| val.0) { + Ok(idx) => idx, + Err(idx) => idx - 1, + }; - let x = INDEX_TABLE[i]; - let single = (x & SINGLE_MARKER) != 0; - let offset = !SINGLE_MARKER & x; + const SINGLE_MARKER: u16 = 1 << 15; - if single { - &MAPPING_TABLE[offset as usize] - } else { - &MAPPING_TABLE[(offset + (codepoint as u16 - TABLE[i].from as u16)) as usize] - } - }) - .unwrap() + let (base, x) = TABLE[idx]; + let single = (x & SINGLE_MARKER) != 0; + let offset = !SINGLE_MARKER & x; + + if single { + &MAPPING_TABLE[offset as usize] + } else { + &MAPPING_TABLE[(offset + (codepoint as u16 - base as u16)) as usize] + } } struct Mapper<'a> { @@ -140,6 +127,12 @@ impl<'a> Iterator for Mapper<'a> { self.slice = Some(decode_slice(slice).chars()); continue; } + Mapping::DisallowedIdna2008 => { + if self.config.use_idna_2008_rules { + self.errors.disallowed_in_idna_2008 = true; + } + codepoint + } }); } } @@ -310,7 +303,7 @@ fn check_validity(label: &str, config: Config, errors: &mut Errors) { // V6: Check against Mapping Table if label.chars().any(|c| match *find_char(c) { - Mapping::Valid => false, + Mapping::Valid | Mapping::DisallowedIdna2008 => false, Mapping::Deviation(_) => config.transitional_processing, Mapping::DisallowedStd3Valid => config.use_std3_ascii_rules, _ => true, @@ -510,6 +503,7 @@ pub struct Config { transitional_processing: bool, verify_dns_length: bool, check_hyphens: bool, + use_idna_2008_rules: bool, } /// The defaults are that of https://url.spec.whatwg.org/#idna @@ -524,6 +518,7 @@ impl Default for Config { // Only use for to_ascii, not to_unicode verify_dns_length: false, + use_idna_2008_rules: false, } } } @@ -553,6 +548,12 @@ impl Config { self } + #[inline] + pub fn use_idna_2008_rules(mut self, value: bool) -> Self { + self.use_idna_2008_rules = value; + self + } + /// http://www.unicode.org/reports/tr46/#ToASCII pub fn to_ascii(self, domain: &str) -> Result<String, Errors> { let mut result = String::new(); @@ -599,6 +600,7 @@ pub struct Errors { disallowed_character: bool, too_long_for_dns: bool, too_short_for_dns: bool, + disallowed_in_idna_2008: bool, } impl Errors { @@ -615,6 +617,7 @@ impl Errors { disallowed_character, too_long_for_dns, too_short_for_dns, + disallowed_in_idna_2008, } = *self; punycode || check_hyphens @@ -627,6 +630,7 @@ impl Errors { || disallowed_character || too_long_for_dns || too_short_for_dns + || disallowed_in_idna_2008 } } @@ -644,6 +648,7 @@ impl fmt::Debug for Errors { disallowed_character, too_long_for_dns, too_short_for_dns, + disallowed_in_idna_2008, } = *self; let fields = [ @@ -661,6 +666,7 @@ impl fmt::Debug for Errors { ("disallowed_character", disallowed_character), ("too_long_for_dns", too_long_for_dns), ("too_short_for_dns", too_short_for_dns), + ("disallowed_in_idna_2008", disallowed_in_idna_2008), ]; let mut empty = true; diff --git a/src/uts46_mapping_table.rs b/src/uts46_mapping_table.rs index 3d1d0c1..7eb2aad 100644 --- a/src/uts46_mapping_table.rs +++ b/src/uts46_mapping_table.rs @@ -8,3310 +8,1889 @@ // Generated by make_idna_table.py -static TABLE: &[Range] = &[ - Range { from: '\u{0}', to: '\u{2c}', }, - Range { from: '\u{2d}', to: '\u{2e}', }, - Range { from: '\u{2f}', to: '\u{2f}', }, - Range { from: '\u{30}', to: '\u{39}', }, - Range { from: '\u{3a}', to: '\u{40}', }, - Range { from: '\u{41}', to: '\u{5a}', }, - Range { from: '\u{5b}', to: '\u{60}', }, - Range { from: '\u{61}', to: '\u{7a}', }, - Range { from: '\u{7b}', to: '\u{7f}', }, - Range { from: '\u{80}', to: '\u{9f}', }, - Range { from: '\u{a0}', to: '\u{a0}', }, - Range { from: '\u{a1}', to: '\u{a7}', }, - Range { from: '\u{a8}', to: '\u{aa}', }, - Range { from: '\u{ab}', to: '\u{ac}', }, - Range { from: '\u{ad}', to: '\u{af}', }, - Range { from: '\u{b0}', to: '\u{b1}', }, - Range { from: '\u{b2}', to: '\u{b5}', }, - Range { from: '\u{b6}', to: '\u{b7}', }, - Range { from: '\u{b8}', to: '\u{df}', }, - Range { from: '\u{e0}', to: '\u{ff}', }, - Range { from: '\u{100}', to: '\u{131}', }, - Range { from: '\u{132}', to: '\u{133}', }, - Range { from: '\u{134}', to: '\u{136}', }, - Range { from: '\u{137}', to: '\u{138}', }, - Range { from: '\u{139}', to: '\u{13e}', }, - Range { from: '\u{13f}', to: '\u{140}', }, - Range { from: '\u{141}', to: '\u{18b}', }, - Range { from: '\u{18c}', to: '\u{18d}', }, - Range { from: '\u{18e}', to: '\u{198}', }, - Range { from: '\u{199}', to: '\u{19b}', }, - Range { from: '\u{19c}', to: '\u{1a9}', }, - Range { from: '\u{1aa}', to: '\u{1ab}', }, - Range { from: '\u{1ac}', to: '\u{1b8}', }, - Range { from: '\u{1b9}', to: '\u{1bb}', }, - Range { from: '\u{1bc}', to: '\u{1bc}', }, - Range { from: '\u{1bd}', to: '\u{1c3}', }, - Range { from: '\u{1c4}', to: '\u{1c6}', }, - Range { from: '\u{1c7}', to: '\u{1c9}', }, - Range { from: '\u{1ca}', to: '\u{1cc}', }, - Range { from: '\u{1cd}', to: '\u{1db}', }, - Range { from: '\u{1dc}', to: '\u{1dd}', }, - Range { from: '\u{1de}', to: '\u{1ee}', }, - Range { from: '\u{1ef}', to: '\u{1f0}', }, - Range { from: '\u{1f1}', to: '\u{1f3}', }, - Range { from: '\u{1f4}', to: '\u{232}', }, - Range { from: '\u{233}', to: '\u{239}', }, - Range { from: '\u{23a}', to: '\u{23e}', }, - Range { from: '\u{23f}', to: '\u{240}', }, - Range { from: '\u{241}', to: '\u{24e}', }, - Range { from: '\u{24f}', to: '\u{2af}', }, - Range { from: '\u{2b0}', to: '\u{2b8}', }, - Range { from: '\u{2b9}', to: '\u{2d7}', }, - Range { from: '\u{2d8}', to: '\u{2dd}', }, - Range { from: '\u{2de}', to: '\u{2df}', }, - Range { from: '\u{2e0}', to: '\u{2e4}', }, - Range { from: '\u{2e5}', to: '\u{33f}', }, - Range { from: '\u{340}', to: '\u{345}', }, - Range { from: '\u{346}', to: '\u{34e}', }, - Range { from: '\u{34f}', to: '\u{34f}', }, - Range { from: '\u{350}', to: '\u{36f}', }, - Range { from: '\u{370}', to: '\u{377}', }, - Range { from: '\u{378}', to: '\u{379}', }, - Range { from: '\u{37a}', to: '\u{37a}', }, - Range { from: '\u{37b}', to: '\u{37d}', }, - Range { from: '\u{37e}', to: '\u{37f}', }, - Range { from: '\u{380}', to: '\u{383}', }, - Range { from: '\u{384}', to: '\u{3ab}', }, - Range { from: '\u{3ac}', to: '\u{3c1}', }, - Range { from: '\u{3c2}', to: '\u{3c2}', }, - Range { from: '\u{3c3}', to: '\u{3ce}', }, - Range { from: '\u{3cf}', to: '\u{3fa}', }, - Range { from: '\u{3fb}', to: '\u{3fc}', }, - Range { from: '\u{3fd}', to: '\u{42f}', }, - Range { from: '\u{430}', to: '\u{45f}', }, - Range { from: '\u{460}', to: '\u{480}', }, - Range { from: '\u{481}', to: '\u{489}', }, - Range { from: '\u{48a}', to: '\u{4cd}', }, - Range { from: '\u{4ce}', to: '\u{4cf}', }, - Range { from: '\u{4d0}', to: '\u{556}', }, - Range { from: '\u{557}', to: '\u{558}', }, - Range { from: '\u{559}', to: '\u{586}', }, - Range { from: '\u{587}', to: '\u{587}', }, - Range { from: '\u{588}', to: '\u{58a}', }, - Range { from: '\u{58b}', to: '\u{58c}', }, - Range { from: '\u{58d}', to: '\u{58f}', }, - Range { from: '\u{590}', to: '\u{590}', }, - Range { from: '\u{591}', to: '\u{5c7}', }, - Range { from: '\u{5c8}', to: '\u{5cf}', }, - Range { from: '\u{5d0}', to: '\u{5ea}', }, - Range { from: '\u{5eb}', to: '\u{5ee}', }, - Range { from: '\u{5ef}', to: '\u{5f4}', }, - Range { from: '\u{5f5}', to: '\u{605}', }, - Range { from: '\u{606}', to: '\u{61b}', }, - Range { from: '\u{61c}', to: '\u{61d}', }, - Range { from: '\u{61e}', to: '\u{674}', }, - Range { from: '\u{675}', to: '\u{678}', }, - Range { from: '\u{679}', to: '\u{6dc}', }, - Range { from: '\u{6dd}', to: '\u{6dd}', }, - Range { from: '\u{6de}', to: '\u{70d}', }, - Range { from: '\u{70e}', to: '\u{70f}', }, - Range { from: '\u{710}', to: '\u{74a}', }, - Range { from: '\u{74b}', to: '\u{74c}', }, - Range { from: '\u{74d}', to: '\u{7b1}', }, - Range { from: '\u{7b2}', to: '\u{7bf}', }, - Range { from: '\u{7c0}', to: '\u{7fa}', }, - Range { from: '\u{7fb}', to: '\u{7fc}', }, - Range { from: '\u{7fd}', to: '\u{82d}', }, - Range { from: '\u{82e}', to: '\u{82f}', }, - Range { from: '\u{830}', to: '\u{83e}', }, - Range { from: '\u{83f}', to: '\u{83f}', }, - Range { from: '\u{840}', to: '\u{85b}', }, - Range { from: '\u{85c}', to: '\u{85d}', }, - Range { from: '\u{85e}', to: '\u{85f}', }, - Range { from: '\u{860}', to: '\u{86a}', }, - Range { from: '\u{86b}', to: '\u{89f}', }, - Range { from: '\u{8a0}', to: '\u{8b4}', }, - Range { from: '\u{8b5}', to: '\u{8b5}', }, - Range { from: '\u{8b6}', to: '\u{8c7}', }, - Range { from: '\u{8c8}', to: '\u{8d2}', }, - Range { from: '\u{8d3}', to: '\u{8e1}', }, - Range { from: '\u{8e2}', to: '\u{8e2}', }, - Range { from: '\u{8e3}', to: '\u{957}', }, - Range { from: '\u{958}', to: '\u{95f}', }, - Range { from: '\u{960}', to: '\u{983}', }, - Range { from: '\u{984}', to: '\u{984}', }, - Range { from: '\u{985}', to: '\u{98c}', }, - Range { from: '\u{98d}', to: '\u{98e}', }, - Range { from: '\u{98f}', to: '\u{990}', }, - Range { from: '\u{991}', to: '\u{992}', }, - Range { from: '\u{993}', to: '\u{9a8}', }, - Range { from: '\u{9a9}', to: '\u{9a9}', }, - Range { from: '\u{9aa}', to: '\u{9b0}', }, - Range { from: '\u{9b1}', to: '\u{9b2}', }, - Range { from: '\u{9b3}', to: '\u{9b5}', }, - Range { from: '\u{9b6}', to: '\u{9b9}', }, - Range { from: '\u{9ba}', to: '\u{9bb}', }, - Range { from: '\u{9bc}', to: '\u{9c4}', }, - Range { from: '\u{9c5}', to: '\u{9c6}', }, - Range { from: '\u{9c7}', to: '\u{9c8}', }, - Range { from: '\u{9c9}', to: '\u{9ca}', }, - Range { from: '\u{9cb}', to: '\u{9ce}', }, - Range { from: '\u{9cf}', to: '\u{9d6}', }, - Range { from: '\u{9d7}', to: '\u{9d7}', }, - Range { from: '\u{9d8}', to: '\u{9db}', }, - Range { from: '\u{9dc}', to: '\u{9df}', }, - Range { from: '\u{9e0}', to: '\u{9e3}', }, - Range { from: '\u{9e4}', to: '\u{9e5}', }, - Range { from: '\u{9e6}', to: '\u{9fe}', }, - Range { from: '\u{9ff}', to: '\u{a00}', }, - Range { from: '\u{a01}', to: '\u{a03}', }, - Range { from: '\u{a04}', to: '\u{a04}', }, - Range { from: '\u{a05}', to: '\u{a0a}', }, - Range { from: '\u{a0b}', to: '\u{a0e}', }, - Range { from: '\u{a0f}', to: '\u{a10}', }, - Range { from: '\u{a11}', to: '\u{a12}', }, - Range { from: '\u{a13}', to: '\u{a28}', }, - Range { from: '\u{a29}', to: '\u{a29}', }, - Range { from: '\u{a2a}', to: '\u{a30}', }, - Range { from: '\u{a31}', to: '\u{a37}', }, - Range { from: '\u{a38}', to: '\u{a39}', }, - Range { from: '\u{a3a}', to: '\u{a3b}', }, - Range { from: '\u{a3c}', to: '\u{a3d}', }, - Range { from: '\u{a3e}', to: '\u{a42}', }, - Range { from: '\u{a43}', to: '\u{a46}', }, - Range { from: '\u{a47}', to: '\u{a48}', }, - Range { from: '\u{a49}', to: '\u{a4a}', }, - Range { from: '\u{a4b}', to: '\u{a4d}', }, - Range { from: '\u{a4e}', to: '\u{a50}', }, - Range { from: '\u{a51}', to: '\u{a51}', }, - Range { from: '\u{a52}', to: '\u{a58}', }, - Range { from: '\u{a59}', to: '\u{a5e}', }, - Range { from: '\u{a5f}', to: '\u{a65}', }, - Range { from: '\u{a66}', to: '\u{a76}', }, - Range { from: '\u{a77}', to: '\u{a80}', }, - Range { from: '\u{a81}', to: '\u{a83}', }, - Range { from: '\u{a84}', to: '\u{a84}', }, - Range { from: '\u{a85}', to: '\u{a8d}', }, - Range { from: '\u{a8e}', to: '\u{a8e}', }, - Range { from: '\u{a8f}', to: '\u{a91}', }, - Range { from: '\u{a92}', to: '\u{a92}', }, - Range { from: '\u{a93}', to: '\u{aa8}', }, - Range { from: '\u{aa9}', to: '\u{aa9}', }, - Range { from: '\u{aaa}', to: '\u{ab0}', }, - Range { from: '\u{ab1}', to: '\u{ab1}', }, - Range { from: '\u{ab2}', to: '\u{ab3}', }, - Range { from: '\u{ab4}', to: '\u{ab4}', }, - Range { from: '\u{ab5}', to: '\u{ab9}', }, - Range { from: '\u{aba}', to: '\u{abb}', }, - Range { from: '\u{abc}', to: '\u{ac5}', }, - Range { from: '\u{ac6}', to: '\u{ac6}', }, - Range { from: '\u{ac7}', to: '\u{ac9}', }, - Range { from: '\u{aca}', to: '\u{aca}', }, - Range { from: '\u{acb}', to: '\u{acd}', }, - Range { from: '\u{ace}', to: '\u{acf}', }, - Range { from: '\u{ad0}', to: '\u{ad0}', }, - Range { from: '\u{ad1}', to: '\u{adf}', }, - Range { from: '\u{ae0}', to: '\u{ae3}', }, - Range { from: '\u{ae4}', to: '\u{ae5}', }, - Range { from: '\u{ae6}', to: '\u{af1}', }, - Range { from: '\u{af2}', to: '\u{af8}', }, - Range { from: '\u{af9}', to: '\u{aff}', }, - Range { from: '\u{b00}', to: '\u{b00}', }, - Range { from: '\u{b01}', to: '\u{b03}', }, - Range { from: '\u{b04}', to: '\u{b04}', }, - Range { from: '\u{b05}', to: '\u{b0c}', }, - Range { from: '\u{b0d}', to: '\u{b0e}', }, - Range { from: '\u{b0f}', to: '\u{b10}', }, - Range { from: '\u{b11}', to: '\u{b12}', }, - Range { from: '\u{b13}', to: '\u{b28}', }, - Range { from: '\u{b29}', to: '\u{b29}', }, - Range { from: '\u{b2a}', to: '\u{b30}', }, - Range { from: '\u{b31}', to: '\u{b31}', }, - Range { from: '\u{b32}', to: '\u{b33}', }, - Range { from: '\u{b34}', to: '\u{b34}', }, - Range { from: '\u{b35}', to: '\u{b39}', }, - Range { from: '\u{b3a}', to: '\u{b3b}', }, - Range { from: '\u{b3c}', to: '\u{b44}', }, - Range { from: '\u{b45}', to: '\u{b46}', }, - Range { from: '\u{b47}', to: '\u{b48}', }, - Range { from: '\u{b49}', to: '\u{b4a}', }, - Range { from: '\u{b4b}', to: '\u{b4d}', }, - Range { from: '\u{b4e}', to: '\u{b54}', }, - Range { from: '\u{b55}', to: '\u{b57}', }, - Range { from: '\u{b58}', to: '\u{b5b}', }, - Range { from: '\u{b5c}', to: '\u{b5e}', }, - Range { from: '\u{b5f}', to: '\u{b63}', }, - Range { from: '\u{b64}', to: '\u{b65}', }, - Range { from: '\u{b66}', to: '\u{b77}', }, - Range { from: '\u{b78}', to: '\u{b81}', }, - Range { from: '\u{b82}', to: '\u{b83}', }, - Range { from: '\u{b84}', to: '\u{b84}', }, - Range { from: '\u{b85}', to: '\u{b8a}', }, - Range { from: '\u{b8b}', to: '\u{b8d}', }, - Range { from: '\u{b8e}', to: '\u{b90}', }, - Range { from: '\u{b91}', to: '\u{b91}', }, - Range { from: '\u{b92}', to: '\u{b95}', }, - Range { from: '\u{b96}', to: '\u{b98}', }, - Range { from: '\u{b99}', to: '\u{b9a}', }, - Range { from: '\u{b9b}', to: '\u{b9d}', }, - Range { from: '\u{b9e}', to: '\u{b9f}', }, - Range { from: '\u{ba0}', to: '\u{ba2}', }, - Range { from: '\u{ba3}', to: '\u{ba4}', }, - Range { from: '\u{ba5}', to: '\u{ba7}', }, - Range { from: '\u{ba8}', to: '\u{baa}', }, - Range { from: '\u{bab}', to: '\u{bad}', }, - Range { from: '\u{bae}', to: '\u{bb9}', }, - Range { from: '\u{bba}', to: '\u{bbd}', }, - Range { from: '\u{bbe}', to: '\u{bc2}', }, - Range { from: '\u{bc3}', to: '\u{bc5}', }, - Range { from: '\u{bc6}', to: '\u{bc8}', }, - Range { from: '\u{bc9}', to: '\u{bc9}', }, - Range { from: '\u{bca}', to: '\u{bcd}', }, - Range { from: '\u{bce}', to: '\u{bcf}', }, - Range { from: '\u{bd0}', to: '\u{bd0}', }, - Range { from: '\u{bd1}', to: '\u{bd6}', }, - Range { from: '\u{bd7}', to: '\u{bd7}', }, - Range { from: '\u{bd8}', to: '\u{be5}', }, - Range { from: '\u{be6}', to: '\u{bfa}', }, - Range { from: '\u{bfb}', to: '\u{bff}', }, - Range { from: '\u{c00}', to: '\u{c0c}', }, - Range { from: '\u{c0d}', to: '\u{c0d}', }, - Range { from: '\u{c0e}', to: '\u{c10}', }, - Range { from: '\u{c11}', to: '\u{c11}', }, - Range { from: '\u{c12}', to: '\u{c28}', }, - Range { from: '\u{c29}', to: '\u{c29}', }, - Range { from: '\u{c2a}', to: '\u{c39}', }, - Range { from: '\u{c3a}', to: '\u{c3c}', }, - Range { from: '\u{c3d}', to: '\u{c44}', }, - Range { from: '\u{c45}', to: '\u{c45}', }, - Range { from: '\u{c46}', to: '\u{c48}', }, - Range { from: '\u{c49}', to: '\u{c49}', }, - Range { from: '\u{c4a}', to: '\u{c4d}', }, - Range { from: '\u{c4e}', to: '\u{c54}', }, - Range { from: '\u{c55}', to: '\u{c56}', }, - Range { from: '\u{c57}', to: '\u{c57}', }, - Range { from: '\u{c58}', to: '\u{c5a}', }, - Range { from: '\u{c5b}', to: '\u{c5f}', }, - Range { from: '\u{c60}', to: '\u{c63}', }, - Range { from: '\u{c64}', to: '\u{c65}', }, - Range { from: '\u{c66}', to: '\u{c6f}', }, - Range { from: '\u{c70}', to: '\u{c76}', }, - Range { from: '\u{c77}', to: '\u{c8c}', }, - Range { from: '\u{c8d}', to: '\u{c8d}', }, - Range { from: '\u{c8e}', to: '\u{c90}', }, - Range { from: '\u{c91}', to: '\u{c91}', }, - Range { from: '\u{c92}', to: '\u{ca8}', }, - Range { from: '\u{ca9}', to: '\u{ca9}', }, - Range { from: '\u{caa}', to: '\u{cb3}', }, - Range { from: '\u{cb4}', to: '\u{cb4}', }, - Range { from: '\u{cb5}', to: '\u{cb9}', }, - Range { from: '\u{cba}', to: '\u{cbb}', }, - Range { from: '\u{cbc}', to: '\u{cc4}', }, - Range { from: '\u{cc5}', to: '\u{cc5}', }, - Range { from: '\u{cc6}', to: '\u{cc8}', }, - Range { from: '\u{cc9}', to: '\u{cc9}', }, - Range { from: '\u{cca}', to: '\u{ccd}', }, - Range { from: '\u{cce}', to: '\u{cd4}', }, - Range { from: '\u{cd5}', to: '\u{cd6}', }, - Range { from: '\u{cd7}', to: '\u{cdd}', }, - Range { from: '\u{cde}', to: '\u{cdf}', }, - Range { from: '\u{ce0}', to: '\u{ce3}', }, - Range { from: '\u{ce4}', to: '\u{ce5}', }, - Range { from: '\u{ce6}', to: '\u{cef}', }, - Range { from: '\u{cf0}', to: '\u{cf0}', }, - Range { from: '\u{cf1}', to: '\u{cf2}', }, - Range { from: '\u{cf3}', to: '\u{cff}', }, - Range { from: '\u{d00}', to: '\u{d0c}', }, - Range { from: '\u{d0d}', to: '\u{d0d}', }, - Range { from: '\u{d0e}', to: '\u{d10}', }, - Range { from: '\u{d11}', to: '\u{d11}', }, - Range { from: '\u{d12}', to: '\u{d44}', }, - Range { from: '\u{d45}', to: '\u{d45}', }, - Range { from: '\u{d46}', to: '\u{d48}', }, - Range { from: '\u{d49}', to: '\u{d49}', }, - Range { from: '\u{d4a}', to: '\u{d4f}', }, - Range { from: '\u{d50}', to: '\u{d53}', }, - Range { from: '\u{d54}', to: '\u{d63}', }, - Range { from: '\u{d64}', to: '\u{d65}', }, - Range { from: '\u{d66}', to: '\u{d7f}', }, - Range { from: '\u{d80}', to: '\u{d80}', }, - Range { from: '\u{d81}', to: '\u{d83}', }, - Range { from: '\u{d84}', to: '\u{d84}', }, - Range { from: '\u{d85}', to: '\u{d96}', }, - Range { from: '\u{d97}', to: '\u{d99}', }, - Range { from: '\u{d9a}', to: '\u{db1}', }, - Range { from: '\u{db2}', to: '\u{db2}', }, - Range { from: '\u{db3}', to: '\u{dbb}', }, - Range { from: '\u{dbc}', to: '\u{dbd}', }, - Range { from: '\u{dbe}', to: '\u{dbf}', }, - Range { from: '\u{dc0}', to: '\u{dc6}', }, - Range { from: '\u{dc7}', to: '\u{dc9}', }, - Range { from: '\u{dca}', to: '\u{dca}', }, - Range { from: '\u{dcb}', to: '\u{dce}', }, - Range { from: '\u{dcf}', to: '\u{dd4}', }, - Range { from: '\u{dd5}', to: '\u{dd7}', }, - Range { from: '\u{dd8}', to: '\u{ddf}', }, - Range { from: '\u{de0}', to: '\u{de5}', }, - Range { from: '\u{de6}', to: '\u{def}', }, - Range { from: '\u{df0}', to: '\u{df1}', }, - Range { from: '\u{df2}', to: '\u{df4}', }, - Range { from: '\u{df5}', to: '\u{e00}', }, - Range { from: '\u{e01}', to: '\u{e32}', }, - Range { from: '\u{e33}', to: '\u{e33}', }, - Range { from: '\u{e34}', to: '\u{e3a}', }, - Range { from: '\u{e3b}', to: '\u{e3e}', }, - Range { from: '\u{e3f}', to: '\u{e5b}', }, - Range { from: '\u{e5c}', to: '\u{e80}', }, - Range { from: '\u{e81}', to: '\u{e82}', }, - Range { from: '\u{e83}', to: '\u{e85}', }, - Range { from: '\u{e86}', to: '\u{e8a}', }, - Range { from: '\u{e8b}', to: '\u{e8b}', }, - Range { from: '\u{e8c}', to: '\u{ea3}', }, - Range { from: '\u{ea4}', to: '\u{ea6}', }, - Range { from: '\u{ea7}', to: '\u{eb2}', }, - Range { from: '\u{eb3}', to: '\u{eb3}', }, - Range { from: '\u{eb4}', to: '\u{ebd}', }, - Range { from: '\u{ebe}', to: '\u{ebf}', }, - Range { from: '\u{ec0}', to: '\u{ec4}', }, - Range { from: '\u{ec5}', to: '\u{ec7}', }, - Range { from: '\u{ec8}', to: '\u{ecd}', }, - Range { from: '\u{ece}', to: '\u{ecf}', }, - Range { from: '\u{ed0}', to: '\u{ed9}', }, - Range { from: '\u{eda}', to: '\u{edb}', }, - Range { from: '\u{edc}', to: '\u{edd}', }, - Range { from: '\u{ede}', to: '\u{edf}', }, - Range { from: '\u{ee0}', to: '\u{eff}', }, - Range { from: '\u{f00}', to: '\u{f0b}', }, - Range { from: '\u{f0c}', to: '\u{f0c}', }, - Range { from: '\u{f0d}', to: '\u{f42}', }, - Range { from: '\u{f43}', to: '\u{f43}', }, - Range { from: '\u{f44}', to: '\u{f47}', }, - Range { from: '\u{f48}', to: '\u{f48}', }, - Range { from: '\u{f49}', to: '\u{f4c}', }, - Range { from: '\u{f4d}', to: '\u{f4d}', }, - Range { from: '\u{f4e}', to: '\u{f51}', }, - Range { from: '\u{f52}', to: '\u{f52}', }, - Range { from: '\u{f53}', to: '\u{f56}', }, - Range { from: '\u{f57}', to: '\u{f57}', }, - Range { from: '\u{f58}', to: '\u{f5b}', }, - Range { from: '\u{f5c}', to: '\u{f5c}', }, - Range { from: '\u{f5d}', to: '\u{f68}', }, - Range { from: '\u{f69}', to: '\u{f69}', }, - Range { from: '\u{f6a}', to: '\u{f6c}', }, - Range { from: '\u{f6d}', to: '\u{f70}', }, - Range { from: '\u{f71}', to: '\u{f72}', }, - Range { from: '\u{f73}', to: '\u{f79}', }, - Range { from: '\u{f7a}', to: '\u{f80}', }, - Range { from: '\u{f81}', to: '\u{f81}', }, - Range { from: '\u{f82}', to: '\u{f92}', }, - Range { from: '\u{f93}', to: '\u{f93}', }, - Range { from: '\u{f94}', to: '\u{f97}', }, - Range { from: '\u{f98}', to: '\u{f98}', }, - Range { from: '\u{f99}', to: '\u{f9c}', }, - Range { from: '\u{f9d}', to: '\u{f9d}', }, - Range { from: '\u{f9e}', to: '\u{fa1}', }, - Range { from: '\u{fa2}', to: '\u{fa2}', }, - Range { from: '\u{fa3}', to: '\u{fa6}', }, - Range { from: '\u{fa7}', to: '\u{fa7}', }, - Range { from: '\u{fa8}', to: '\u{fab}', }, - Range { from: '\u{fac}', to: '\u{fac}', }, - Range { from: '\u{fad}', to: '\u{fb8}', }, - Range { from: '\u{fb9}', to: '\u{fb9}', }, - Range { from: '\u{fba}', to: '\u{fbc}', }, - Range { from: '\u{fbd}', to: '\u{fbd}', }, - Range { from: '\u{fbe}', to: '\u{fcc}', }, - Range { from: '\u{fcd}', to: '\u{fcd}', }, - Range { from: '\u{fce}', to: '\u{fda}', }, - Range { from: '\u{fdb}', to: '\u{fff}', }, - Range { from: '\u{1000}', to: '\u{109f}', }, - Range { from: '\u{10a0}', to: '\u{10c6}', }, - Range { from: '\u{10c7}', to: '\u{10c7}', }, - Range { from: '\u{10c8}', to: '\u{10cc}', }, - Range { from: '\u{10cd}', to: '\u{10cd}', }, - Range { from: '\u{10ce}', to: '\u{10cf}', }, - Range { from: '\u{10d0}', to: '\u{10fb}', }, - Range { from: '\u{10fc}', to: '\u{10fc}', }, - Range { from: '\u{10fd}', to: '\u{115e}', }, - Range { from: '\u{115f}', to: '\u{1160}', }, - Range { from: '\u{1161}', to: '\u{1248}', }, - Range { from: '\u{1249}', to: '\u{1249}', }, - Range { from: '\u{124a}', to: '\u{124d}', }, - Range { from: '\u{124e}', to: '\u{124f}', }, - Range { from: '\u{1250}', to: '\u{1256}', }, - Range { from: '\u{1257}', to: '\u{1259}', }, - Range { from: '\u{125a}', to: '\u{125d}', }, - Range { from: '\u{125e}', to: '\u{125f}', }, - Range { from: '\u{1260}', to: '\u{1288}', }, - Range { from: '\u{1289}', to: '\u{1289}', }, - Range { from: '\u{128a}', to: '\u{128d}', }, - Range { from: '\u{128e}', to: '\u{128f}', }, - Range { from: '\u{1290}', to: '\u{12b0}', }, - Range { from: '\u{12b1}', to: '\u{12b1}', }, - Range { from: '\u{12b2}', to: '\u{12b5}', }, - Range { from: '\u{12b6}', to: '\u{12b7}', }, - Range { from: '\u{12b8}', to: '\u{12be}', }, - Range { from: '\u{12bf}', to: '\u{12c1}', }, - Range { from: '\u{12c2}', to: '\u{12c5}', }, - Range { from: '\u{12c6}', to: '\u{12c7}', }, - Range { from: '\u{12c8}', to: '\u{12d6}', }, - Range { from: '\u{12d7}', to: '\u{12d7}', }, - Range { from: '\u{12d8}', to: '\u{1310}', }, - Range { from: '\u{1311}', to: '\u{1311}', }, - Range { from: '\u{1312}', to: '\u{1315}', }, - Range { from: '\u{1316}', to: '\u{1317}', }, - Range { from: '\u{1318}', to: '\u{135a}', }, - Range { from: '\u{135b}', to: '\u{135c}', }, - Range { from: '\u{135d}', to: '\u{137c}', }, - Range { from: '\u{137d}', to: '\u{137f}', }, - Range { from: '\u{1380}', to: '\u{1399}', }, - Range { from: '\u{139a}', to: '\u{139f}', }, - Range { from: '\u{13a0}', to: '\u{13f5}', }, - Range { from: '\u{13f6}', to: '\u{13f7}', }, - Range { from: '\u{13f8}', to: '\u{13fd}', }, - Range { from: '\u{13fe}', to: '\u{13ff}', }, - Range { from: '\u{1400}', to: '\u{167f}', }, - Range { from: '\u{1680}', to: '\u{1680}', }, - Range { from: '\u{1681}', to: '\u{169c}', }, - Range { from: '\u{169d}', to: '\u{169f}', }, - Range { from: '\u{16a0}', to: '\u{16f8}', }, - Range { from: '\u{16f9}', to: '\u{16ff}', }, - Range { from: '\u{1700}', to: '\u{170c}', }, - Range { from: '\u{170d}', to: '\u{170d}', }, - Range { from: '\u{170e}', to: '\u{1714}', }, - Range { from: '\u{1715}', to: '\u{171f}', }, - Range { from: '\u{1720}', to: '\u{1736}', }, - Range { from: '\u{1737}', to: '\u{173f}', }, - Range { from: '\u{1740}', to: '\u{1753}', }, - Range { from: '\u{1754}', to: '\u{175f}', }, - Range { from: '\u{1760}', to: '\u{176c}', }, - Range { from: '\u{176d}', to: '\u{176d}', }, - Range { from: '\u{176e}', to: '\u{1770}', }, - Range { from: '\u{1771}', to: '\u{1771}', }, - Range { from: '\u{1772}', to: '\u{1773}', }, - Range { from: '\u{1774}', to: '\u{177f}', }, - Range { from: '\u{1780}', to: '\u{17b3}', }, - Range { from: '\u{17b4}', to: '\u{17b5}', }, - Range { from: '\u{17b6}', to: '\u{17dd}', }, - Range { from: '\u{17de}', to: '\u{17df}', }, - Range { from: '\u{17e0}', to: '\u{17e9}', }, - Range { from: '\u{17ea}', to: '\u{17ef}', }, - Range { from: '\u{17f0}', to: '\u{17f9}', }, - Range { from: '\u{17fa}', to: '\u{17ff}', }, - Range { from: '\u{1800}', to: '\u{1805}', }, - Range { from: '\u{1806}', to: '\u{1806}', }, - Range { from: '\u{1807}', to: '\u{180a}', }, - Range { from: '\u{180b}', to: '\u{180d}', }, - Range { from: '\u{180e}', to: '\u{180f}', }, - Range { from: '\u{1810}', to: '\u{1819}', }, - Range { from: '\u{181a}', to: '\u{181f}', }, - Range { from: '\u{1820}', to: '\u{1878}', }, - Range { from: '\u{1879}', to: '\u{187f}', }, - Range { from: '\u{1880}', to: '\u{18aa}', }, - Range { from: '\u{18ab}', to: '\u{18af}', }, - Range { from: '\u{18b0}', to: '\u{18f5}', }, - Range { from: '\u{18f6}', to: '\u{18ff}', }, - Range { from: '\u{1900}', to: '\u{191e}', }, - Range { from: '\u{191f}', to: '\u{191f}', }, - Range { from: '\u{1920}', to: '\u{192b}', }, - Range { from: '\u{192c}', to: '\u{192f}', }, - Range { from: '\u{1930}', to: '\u{193b}', }, - Range { from: '\u{193c}', to: '\u{193f}', }, - Range { from: '\u{1940}', to: '\u{1940}', }, - Range { from: '\u{1941}', to: '\u{1943}', }, - Range { from: '\u{1944}', to: '\u{196d}', }, - Range { from: '\u{196e}', to: '\u{196f}', }, - Range { from: '\u{1970}', to: '\u{1974}', }, - Range { from: '\u{1975}', to: '\u{197f}', }, - Range { from: '\u{1980}', to: '\u{19ab}', }, - Range { from: '\u{19ac}', to: '\u{19af}', }, - Range { from: '\u{19b0}', to: '\u{19c9}', }, - Range { from: '\u{19ca}', to: '\u{19cf}', }, - Range { from: '\u{19d0}', to: '\u{19da}', }, - Range { from: '\u{19db}', to: '\u{19dd}', }, - Range { from: '\u{19de}', to: '\u{1a1b}', }, - Range { from: '\u{1a1c}', to: '\u{1a1d}', }, - Range { from: '\u{1a1e}', to: '\u{1a5e}', }, - Range { from: '\u{1a5f}', to: '\u{1a5f}', }, - Range { from: '\u{1a60}', to: '\u{1a7c}', }, - Range { from: '\u{1a7d}', to: '\u{1a7e}', }, - Range { from: '\u{1a7f}', to: '\u{1a89}', }, - Range { from: '\u{1a8a}', to: '\u{1a8f}', }, - Range { from: '\u{1a90}', to: '\u{1a99}', }, - Range { from: '\u{1a9a}', to: '\u{1a9f}', }, - Range { from: '\u{1aa0}', to: '\u{1aad}', }, - Range { from: '\u{1aae}', to: '\u{1aaf}', }, - Range { from: '\u{1ab0}', to: '\u{1ac0}', }, - Range { from: '\u{1ac1}', to: '\u{1aff}', }, - Range { from: '\u{1b00}', to: '\u{1b4b}', }, - Range { from: '\u{1b4c}', to: '\u{1b4f}', }, - Range { from: '\u{1b50}', to: '\u{1b7c}', }, - Range { from: '\u{1b7d}', to: '\u{1b7f}', }, - Range { from: '\u{1b80}', to: '\u{1bf3}', }, - Range { from: '\u{1bf4}', to: '\u{1bfb}', }, - Range { from: '\u{1bfc}', to: '\u{1c37}', }, - Range { from: '\u{1c38}', to: '\u{1c3a}', }, - Range { from: '\u{1c3b}', to: '\u{1c49}', }, - Range { from: '\u{1c4a}', to: '\u{1c4c}', }, - Range { from: '\u{1c4d}', to: '\u{1c7f}', }, - Range { from: '\u{1c80}', to: '\u{1c83}', }, - Range { from: '\u{1c84}', to: '\u{1c85}', }, - Range { from: '\u{1c86}', to: '\u{1c88}', }, - Range { from: '\u{1c89}', to: '\u{1c8f}', }, - Range { from: '\u{1c90}', to: '\u{1cba}', }, - Range { from: '\u{1cbb}', to: '\u{1cbc}', }, - Range { from: '\u{1cbd}', to: '\u{1cbf}', }, - Range { from: '\u{1cc0}', to: '\u{1cc7}', }, - Range { from: '\u{1cc8}', to: '\u{1ccf}', }, - Range { from: '\u{1cd0}', to: '\u{1cfa}', }, - Range { from: '\u{1cfb}', to: '\u{1cff}', }, - Range { from: '\u{1d00}', to: '\u{1d2b}', }, - Range { from: '\u{1d2c}', to: '\u{1d6a}', }, - Range { from: '\u{1d6b}', to: '\u{1d77}', }, - Range { from: '\u{1d78}', to: '\u{1d78}', }, - Range { from: '\u{1d79}', to: '\u{1d9a}', }, - Range { from: '\u{1d9b}', to: '\u{1dbf}', }, - Range { from: '\u{1dc0}', to: '\u{1df9}', }, - Range { from: '\u{1dfa}', to: '\u{1dfa}', }, - Range { from: '\u{1dfb}', to: '\u{1dff}', }, - Range { from: '\u{1e00}', to: '\u{1e94}', }, - Range { from: '\u{1e95}', to: '\u{1e99}', }, - Range { from: '\u{1e9a}', to: '\u{1e9b}', }, - Range { from: '\u{1e9c}', to: '\u{1e9d}', }, - Range { from: '\u{1e9e}', to: '\u{1efe}', }, - Range { from: '\u{1eff}', to: '\u{1f07}', }, - Range { from: '\u{1f08}', to: '\u{1f0f}', }, - Range { from: '\u{1f10}', to: '\u{1f15}', }, - Range { from: '\u{1f16}', to: '\u{1f17}', }, - Range { from: '\u{1f18}', to: '\u{1f1d}', }, - Range { from: '\u{1f1e}', to: '\u{1f1f}', }, - Range { from: '\u{1f20}', to: '\u{1f27}', }, - Range { from: '\u{1f28}', to: '\u{1f2f}', }, - Range { from: '\u{1f30}', to: '\u{1f37}', }, - Range { from: '\u{1f38}', to: '\u{1f3f}', }, - Range { from: '\u{1f40}', to: '\u{1f45}', }, - Range { from: '\u{1f46}', to: '\u{1f47}', }, - Range { from: '\u{1f48}', to: '\u{1f4d}', }, - Range { from: '\u{1f4e}', to: '\u{1f4f}', }, - Range { from: '\u{1f50}', to: '\u{1f57}', }, - Range { from: '\u{1f58}', to: '\u{1f5f}', }, - Range { from: '\u{1f60}', to: '\u{1f67}', }, - Range { from: '\u{1f68}', to: '\u{1f7d}', }, - Range { from: '\u{1f7e}', to: '\u{1f7f}', }, - Range { from: '\u{1f80}', to: '\u{1faf}', }, - Range { from: '\u{1fb0}', to: '\u{1fb1}', }, - Range { from: '\u{1fb2}', to: '\u{1fcf}', }, - Range { from: '\u{1fd0}', to: '\u{1fd2}', }, - Range { from: '\u{1fd3}', to: '\u{1fd3}', }, - Range { from: '\u{1fd4}', to: '\u{1fd5}', }, - Range { from: '\u{1fd6}', to: '\u{1fd7}', }, - Range { from: '\u{1fd8}', to: '\u{1fdf}', }, - Range { from: '\u{1fe0}', to: '\u{1fe2}', }, - Range { from: '\u{1fe3}', to: '\u{1fe3}', }, - Range { from: '\u{1fe4}', to: '\u{1fe7}', }, - Range { from: '\u{1fe8}', to: '\u{1fef}', }, - Range { from: '\u{1ff0}', to: '\u{1ff1}', }, - Range { from: '\u{1ff2}', to: '\u{1fff}', }, - Range { from: '\u{2000}', to: '\u{200a}', }, - Range { from: '\u{200b}', to: '\u{200b}', }, - Range { from: '\u{200c}', to: '\u{200d}', }, - Range { from: '\u{200e}', to: '\u{200f}', }, - Range { from: '\u{2010}', to: '\u{2011}', }, - Range { from: '\u{2012}', to: '\u{2016}', }, - Range { from: '\u{2017}', to: '\u{2017}', }, - Range { from: '\u{2018}', to: '\u{2023}', }, - Range { from: '\u{2024}', to: '\u{2026}', }, - Range { from: '\u{2027}', to: '\u{2027}', }, - Range { from: '\u{2028}', to: '\u{202e}', }, - Range { from: '\u{202f}', to: '\u{202f}', }, - Range { from: '\u{2030}', to: '\u{2032}', }, - Range { from: '\u{2033}', to: '\u{2037}', }, - Range { from: '\u{2038}', to: '\u{203b}', }, - Range { from: '\u{203c}', to: '\u{203e}', }, - Range { from: '\u{203f}', to: '\u{2046}', }, - Range { from: '\u{2047}', to: '\u{2049}', }, - Range { from: '\u{204a}', to: '\u{2056}', }, - Range { from: '\u{2057}', to: '\u{2057}', }, - Range { from: '\u{2058}', to: '\u{205e}', }, - Range { from: '\u{205f}', to: '\u{2060}', }, - Range { from: '\u{2061}', to: '\u{2063}', }, - Range { from: '\u{2064}', to: '\u{2064}', }, - Range { from: '\u{2065}', to: '\u{206f}', }, - Range { from: '\u{2070}', to: '\u{2071}', }, - Range { from: '\u{2072}', to: '\u{2073}', }, - Range { from: '\u{2074}', to: '\u{209c}', }, - Range { from: '\u{209d}', to: '\u{209f}', }, - Range { from: '\u{20a0}', to: '\u{20a7}', }, - Range { from: '\u{20a8}', to: '\u{20a8}', }, - Range { from: '\u{20a9}', to: '\u{20bf}', }, - Range { from: '\u{20c0}', to: '\u{20cf}', }, - Range { from: '\u{20d0}', to: '\u{20f0}', }, - Range { from: '\u{20f1}', to: '\u{20ff}', }, - Range { from: '\u{2100}', to: '\u{210a}', }, - Range { from: '\u{210b}', to: '\u{210e}', }, - Range { from: '\u{210f}', to: '\u{210f}', }, - Range { from: '\u{2110}', to: '\u{2111}', }, - Range { from: '\u{2112}', to: '\u{2113}', }, - Range { from: '\u{2114}', to: '\u{2116}', }, - Range { from: '\u{2117}', to: '\u{2118}', }, - Range { from: '\u{2119}', to: '\u{211a}', }, - Range { from: '\u{211b}', to: '\u{211d}', }, - Range { from: '\u{211e}', to: '\u{211f}', }, - Range { from: '\u{2120}', to: '\u{212e}', }, - Range { from: '\u{212f}', to: '\u{2130}', }, - Range { from: '\u{2131}', to: '\u{213c}', }, - Range { from: '\u{213d}', to: '\u{213e}', }, - Range { from: '\u{213f}', to: '\u{2140}', }, - Range { from: '\u{2141}', to: '\u{2144}', }, - Range { from: '\u{2145}', to: '\u{2146}', }, - Range { from: '\u{2147}', to: '\u{2149}', }, - Range { from: '\u{214a}', to: '\u{214f}', }, - Range { from: '\u{2150}', to: '\u{217f}', }, - Range { from: '\u{2180}', to: '\u{2182}', }, - Range { from: '\u{2183}', to: '\u{2183}', }, - Range { from: '\u{2184}', to: '\u{2188}', }, - Range { from: '\u{2189}', to: '\u{2189}', }, - Range { from: '\u{218a}', to: '\u{218b}', }, - Range { from: '\u{218c}', to: '\u{218f}', }, - Range { from: '\u{2190}', to: '\u{222b}', }, - Range { from: '\u{222c}', to: '\u{2230}', }, - Range { from: '\u{2231}', to: '\u{225f}', }, - Range { from: '\u{2260}', to: '\u{2260}', }, - Range { from: '\u{2261}', to: '\u{226d}', }, - Range { from: '\u{226e}', to: '\u{226f}', }, - Range { from: '\u{2270}', to: '\u{2328}', }, - Range { from: '\u{2329}', to: '\u{232a}', }, - Range { from: '\u{232b}', to: '\u{2426}', }, - Range { from: '\u{2427}', to: '\u{243f}', }, - Range { from: '\u{2440}', to: '\u{244a}', }, - Range { from: '\u{244b}', to: '\u{245f}', }, - Range { from: '\u{2460}', to: '\u{2487}', }, - Range { from: '\u{2488}', to: '\u{249b}', }, - Range { from: '\u{249c}', to: '\u{24ea}', }, - Range { from: '\u{24eb}', to: '\u{2a0b}', }, - Range { from: '\u{2a0c}', to: '\u{2a0c}', }, - Range { from: '\u{2a0d}', to: '\u{2a73}', }, - Range { from: '\u{2a74}', to: '\u{2a76}', }, - Range { from: '\u{2a77}', to: '\u{2adb}', }, - Range { from: '\u{2adc}', to: '\u{2adc}', }, - Range { from: '\u{2add}', to: '\u{2b73}', }, - Range { from: '\u{2b74}', to: '\u{2b75}', }, - Range { from: '\u{2b76}', to: '\u{2b95}', }, - Range { from: '\u{2b96}', to: '\u{2b96}', }, - Range { from: '\u{2b97}', to: '\u{2bff}', }, - Range { from: '\u{2c00}', to: '\u{2c2f}', }, - Range { from: '\u{2c30}', to: '\u{2c5e}', }, - Range { from: '\u{2c5f}', to: '\u{2c64}', }, - Range { from: '\u{2c65}', to: '\u{2c66}', }, - Range { from: '\u{2c67}', to: '\u{2c72}', }, - Range { from: '\u{2c73}', to: '\u{2c74}', }, - Range { from: '\u{2c75}', to: '\u{2c75}', }, - Range { from: '\u{2c76}', to: '\u{2c7b}', }, - Range { from: '\u{2c7c}', to: '\u{2ce2}', }, - Range { from: '\u{2ce3}', to: '\u{2cea}', }, - Range { from: '\u{2ceb}', to: '\u{2ced}', }, - Range { from: '\u{2cee}', to: '\u{2cf1}', }, - Range { from: '\u{2cf2}', to: '\u{2cf3}', }, - Range { from: '\u{2cf4}', to: '\u{2cf8}', }, - Range { from: '\u{2cf9}', to: '\u{2d25}', }, - Range { from: '\u{2d26}', to: '\u{2d27}', }, - Range { from: '\u{2d28}', to: '\u{2d2c}', }, - Range { from: '\u{2d2d}', to: '\u{2d2d}', }, - Range { from: '\u{2d2e}', to: '\u{2d2f}', }, - Range { from: '\u{2d30}', to: '\u{2d67}', }, - Range { from: '\u{2d68}', to: '\u{2d6e}', }, - Range { from: '\u{2d6f}', to: '\u{2d70}', }, - Range { from: '\u{2d71}', to: '\u{2d7e}', }, - Range { from: '\u{2d7f}', to: '\u{2d96}', }, - Range { from: '\u{2d97}', to: '\u{2d9f}', }, - Range { from: '\u{2da0}', to: '\u{2da6}', }, - Range { from: '\u{2da7}', to: '\u{2da7}', }, - Range { from: '\u{2da8}', to: '\u{2dae}', }, - Range { from: '\u{2daf}', to: '\u{2daf}', }, - Range { from: '\u{2db0}', to: '\u{2db6}', }, - Range { from: '\u{2db7}', to: '\u{2db7}', }, - Range { from: '\u{2db8}', to: '\u{2dbe}', }, - Range { from: '\u{2dbf}', to: '\u{2dbf}', }, - Range { from: '\u{2dc0}', to: '\u{2dc6}', }, - Range { from: '\u{2dc7}', to: '\u{2dc7}', }, - Range { from: '\u{2dc8}', to: '\u{2dce}', }, - Range { from: '\u{2dcf}', to: '\u{2dcf}', }, - Range { from: '\u{2dd0}', to: '\u{2dd6}', }, - Range { from: '\u{2dd7}', to: '\u{2dd7}', }, - Range { from: '\u{2dd8}', to: '\u{2dde}', }, - Range { from: '\u{2ddf}', to: '\u{2ddf}', }, - Range { from: '\u{2de0}', to: '\u{2e52}', }, - Range { from: '\u{2e53}', to: '\u{2e7f}', }, - Range { from: '\u{2e80}', to: '\u{2e99}', }, - Range { from: '\u{2e9a}', to: '\u{2e9a}', }, - Range { from: '\u{2e9b}', to: '\u{2e9e}', }, - Range { from: '\u{2e9f}', to: '\u{2e9f}', }, - Range { from: '\u{2ea0}', to: '\u{2ef2}', }, - Range { from: '\u{2ef3}', to: '\u{2ef3}', }, - Range { from: '\u{2ef4}', to: '\u{2eff}', }, - Range { from: '\u{2f00}', to: '\u{2fd5}', }, - Range { from: '\u{2fd6}', to: '\u{2fff}', }, - Range { from: '\u{3000}', to: '\u{3002}', }, - Range { from: '\u{3003}', to: '\u{3035}', }, - Range { from: '\u{3036}', to: '\u{303a}', }, - Range { from: '\u{303b}', to: '\u{303f}', }, - Range { from: '\u{3040}', to: '\u{3040}', }, - Range { from: '\u{3041}', to: '\u{3096}', }, - Range { from: '\u{3097}', to: '\u{3098}', }, - Range { from: '\u{3099}', to: '\u{309a}', }, - Range { from: '\u{309b}', to: '\u{309c}', }, - Range { from: '\u{309d}', to: '\u{309e}', }, - Range { from: '\u{309f}', to: '\u{309f}', }, - Range { from: '\u{30a0}', to: '\u{30fe}', }, - Range { from: '\u{30ff}', to: '\u{30ff}', }, - Range { from: '\u{3100}', to: '\u{3104}', }, - Range { from: '\u{3105}', to: '\u{312f}', }, - Range { from: '\u{3130}', to: '\u{318f}', }, - Range { from: '\u{3190}', to: '\u{3191}', }, - Range { from: '\u{3192}', to: '\u{319f}', }, - Range { from: '\u{31a0}', to: '\u{31e3}', }, - Range { from: '\u{31e4}', to: '\u{31ef}', }, - Range { from: '\u{31f0}', to: '\u{31ff}', }, - Range { from: '\u{3200}', to: '\u{3247}', }, - Range { from: '\u{3248}', to: '\u{324f}', }, - Range { from: '\u{3250}', to: '\u{33ff}', }, - Range { from: '\u{3400}', to: '\u{9ffc}', }, - Range { from: '\u{9ffd}', to: '\u{9fff}', }, - Range { from: '\u{a000}', to: '\u{a48c}', }, - Range { from: '\u{a48d}', to: '\u{a48f}', }, - Range { from: '\u{a490}', to: '\u{a4c6}', }, - Range { from: '\u{a4c7}', to: '\u{a4cf}', }, - Range { from: '\u{a4d0}', to: '\u{a62b}', }, - Range { from: '\u{a62c}', to: '\u{a63f}', }, - Range { from: '\u{a640}', to: '\u{a66c}', }, - Range { from: '\u{a66d}', to: '\u{a67f}', }, - Range { from: '\u{a680}', to: '\u{a69d}', }, - Range { from: '\u{a69e}', to: '\u{a6f7}', }, - Range { from: '\u{a6f8}', to: '\u{a6ff}', }, - Range { from: '\u{a700}', to: '\u{a721}', }, - Range { from: '\u{a722}', to: '\u{a72e}', }, - Range { from: '\u{a72f}', to: '\u{a731}', }, - Range { from: '\u{a732}', to: '\u{a770}', }, - Range { from: '\u{a771}', to: '\u{a778}', }, - Range { from: '\u{a779}', to: '\u{a786}', }, - Range { from: '\u{a787}', to: '\u{a78a}', }, - Range { from: '\u{a78b}', to: '\u{a78d}', }, - Range { from: '\u{a78e}', to: '\u{a78f}', }, - Range { from: '\u{a790}', to: '\u{a792}', }, - Range { from: '\u{a793}', to: '\u{a795}', }, - Range { from: '\u{a796}', to: '\u{a7bf}', }, - Range { from: '\u{a7c0}', to: '\u{a7c1}', }, - Range { from: '\u{a7c2}', to: '\u{a7ca}', }, - Range { from: '\u{a7cb}', to: '\u{a7f4}', }, - Range { from: '\u{a7f5}', to: '\u{a7f5}', }, - Range { from: '\u{a7f6}', to: '\u{a7f7}', }, - Range { from: '\u{a7f8}', to: '\u{a7f9}', }, - Range { from: '\u{a7fa}', to: '\u{a82c}', }, - Range { from: '\u{a82d}', to: '\u{a82f}', }, - Range { from: '\u{a830}', to: '\u{a839}', }, - Range { from: '\u{a83a}', to: '\u{a83f}', }, - Range { from: '\u{a840}', to: '\u{a877}', }, - Range { from: '\u{a878}', to: '\u{a87f}', }, - Range { from: '\u{a880}', to: '\u{a8c5}', }, - Range { from: '\u{a8c6}', to: '\u{a8cd}', }, - Range { from: '\u{a8ce}', to: '\u{a8d9}', }, - Range { from: '\u{a8da}', to: '\u{a8df}', }, - Range { from: '\u{a8e0}', to: '\u{a953}', }, - Range { from: '\u{a954}', to: '\u{a95e}', }, - Range { from: '\u{a95f}', to: '\u{a97c}', }, - Range { from: '\u{a97d}', to: '\u{a97f}', }, - Range { from: '\u{a980}', to: '\u{a9cd}', }, - Range { from: '\u{a9ce}', to: '\u{a9ce}', }, - Range { from: '\u{a9cf}', to: '\u{a9d9}', }, - Range { from: '\u{a9da}', to: '\u{a9dd}', }, - Range { from: '\u{a9de}', to: '\u{a9fe}', }, - Range { from: '\u{a9ff}', to: '\u{a9ff}', }, - Range { from: '\u{aa00}', to: '\u{aa36}', }, - Range { from: '\u{aa37}', to: '\u{aa3f}', }, - Range { from: '\u{aa40}', to: '\u{aa4d}', }, - Range { from: '\u{aa4e}', to: '\u{aa4f}', }, - Range { from: '\u{aa50}', to: '\u{aa59}', }, - Range { from: '\u{aa5a}', to: '\u{aa5b}', }, - Range { from: '\u{aa5c}', to: '\u{aac2}', }, - Range { from: '\u{aac3}', to: '\u{aada}', }, - Range { from: '\u{aadb}', to: '\u{aaf6}', }, - Range { from: '\u{aaf7}', to: '\u{ab00}', }, - Range { from: '\u{ab01}', to: '\u{ab06}', }, - Range { from: '\u{ab07}', to: '\u{ab08}', }, - Range { from: '\u{ab09}', to: '\u{ab0e}', }, - Range { from: '\u{ab0f}', to: '\u{ab10}', }, - Range { from: '\u{ab11}', to: '\u{ab16}', }, - Range { from: '\u{ab17}', to: '\u{ab1f}', }, - Range { from: '\u{ab20}', to: '\u{ab26}', }, - Range { from: '\u{ab27}', to: '\u{ab27}', }, - Range { from: '\u{ab28}', to: '\u{ab2e}', }, - Range { from: '\u{ab2f}', to: '\u{ab2f}', }, - Range { from: '\u{ab30}', to: '\u{ab5b}', }, - Range { from: '\u{ab5c}', to: '\u{ab5f}', }, - Range { from: '\u{ab60}', to: '\u{ab68}', }, - Range { from: '\u{ab69}', to: '\u{ab69}', }, - Range { from: '\u{ab6a}', to: '\u{ab6b}', }, - Range { from: '\u{ab6c}', to: '\u{ab6f}', }, - Range { from: '\u{ab70}', to: '\u{abbf}', }, - Range { from: '\u{abc0}', to: '\u{abed}', }, - Range { from: '\u{abee}', to: '\u{abef}', }, - Range { from: '\u{abf0}', to: '\u{abf9}', }, - Range { from: '\u{abfa}', to: '\u{abff}', }, - Range { from: '\u{ac00}', to: '\u{d7a3}', }, - Range { from: '\u{d7a4}', to: '\u{d7af}', }, - Range { from: '\u{d7b0}', to: '\u{d7c6}', }, - Range { from: '\u{d7c7}', to: '\u{d7ca}', }, - Range { from: '\u{d7cb}', to: '\u{d7fb}', }, - Range { from: '\u{d7fc}', to: '\u{f8ff}', }, - Range { from: '\u{f900}', to: '\u{f906}', }, - Range { from: '\u{f907}', to: '\u{f908}', }, - Range { from: '\u{f909}', to: '\u{fa0d}', }, - Range { from: '\u{fa0e}', to: '\u{fa0f}', }, - Range { from: '\u{fa10}', to: '\u{fa12}', }, - Range { from: '\u{fa13}', to: '\u{fa14}', }, - Range { from: '\u{fa15}', to: '\u{fa22}', }, - Range { from: '\u{fa23}', to: '\u{fa24}', }, - Range { from: '\u{fa25}', to: '\u{fa26}', }, - Range { from: '\u{fa27}', to: '\u{fa29}', }, - Range { from: '\u{fa2a}', to: '\u{fa5c}', }, - Range { from: '\u{fa5d}', to: '\u{fa5e}', }, - Range { from: '\u{fa5f}', to: '\u{fa6d}', }, - Range { from: '\u{fa6e}', to: '\u{fa6f}', }, - Range { from: '\u{fa70}', to: '\u{fad9}', }, - Range { from: '\u{fada}', to: '\u{faff}', }, - Range { from: '\u{fb00}', to: '\u{fb04}', }, - Range { from: '\u{fb05}', to: '\u{fb06}', }, - Range { from: '\u{fb07}', to: '\u{fb12}', }, - Range { from: '\u{fb13}', to: '\u{fb17}', }, - Range { from: '\u{fb18}', to: '\u{fb1c}', }, - Range { from: '\u{fb1d}', to: '\u{fb4f}', }, - Range { from: '\u{fb50}', to: '\u{fb51}', }, - Range { from: '\u{fb52}', to: '\u{fb55}', }, - Range { from: '\u{fb56}', to: '\u{fb59}', }, - Range { from: '\u{fb5a}', to: '\u{fb5d}', }, - Range { from: '\u{fb5e}', to: '\u{fb61}', }, - Range { from: '\u{fb62}', to: '\u{fb65}', }, - Range { from: '\u{fb66}', to: '\u{fb69}', }, - Range { from: '\u{fb6a}', to: '\u{fb6d}', }, - Range { from: '\u{fb6e}', to: '\u{fb71}', }, - Range { from: '\u{fb72}', to: '\u{fb75}', }, - Range { from: '\u{fb76}', to: '\u{fb79}', }, - Range { from: '\u{fb7a}', to: '\u{fb7d}', }, - Range { from: '\u{fb7e}', to: '\u{fb81}', }, - Range { from: '\u{fb82}', to: '\u{fb83}', }, - Range { from: '\u{fb84}', to: '\u{fb85}', }, - Range { from: '\u{fb86}', to: '\u{fb87}', }, - Range { from: '\u{fb88}', to: '\u{fb89}', }, - Range { from: '\u{fb8a}', to: '\u{fb8b}', }, - Range { from: '\u{fb8c}', to: '\u{fb8d}', }, - Range { from: '\u{fb8e}', to: '\u{fb91}', }, - Range { from: '\u{fb92}', to: '\u{fb95}', }, - Range { from: '\u{fb96}', to: '\u{fb99}', }, - Range { from: '\u{fb9a}', to: '\u{fb9d}', }, - Range { from: '\u{fb9e}', to: '\u{fb9f}', }, - Range { from: '\u{fba0}', to: '\u{fba3}', }, - Range { from: '\u{fba4}', to: '\u{fba5}', }, - Range { from: '\u{fba6}', to: '\u{fba9}', }, - Range { from: '\u{fbaa}', to: '\u{fbad}', }, - Range { from: '\u{fbae}', to: '\u{fbaf}', }, - Range { from: '\u{fbb0}', to: '\u{fbb1}', }, - Range { from: '\u{fbb2}', to: '\u{fbc1}', }, - Range { from: '\u{fbc2}', to: '\u{fbd2}', }, - Range { from: '\u{fbd3}', to: '\u{fbd6}', }, - Range { from: '\u{fbd7}', to: '\u{fbd8}', }, - Range { from: '\u{fbd9}', to: '\u{fbda}', }, - Range { from: '\u{fbdb}', to: '\u{fbdc}', }, - Range { from: '\u{fbdd}', to: '\u{fbdd}', }, - Range { from: '\u{fbde}', to: '\u{fbdf}', }, - Range { from: '\u{fbe0}', to: '\u{fbe1}', }, - Range { from: '\u{fbe2}', to: '\u{fbe3}', }, - Range { from: '\u{fbe4}', to: '\u{fbe7}', }, - Range { from: '\u{fbe8}', to: '\u{fbe9}', }, - Range { from: '\u{fbea}', to: '\u{fbeb}', }, - Range { from: '\u{fbec}', to: '\u{fbed}', }, - Range { from: '\u{fbee}', to: '\u{fbef}', }, - Range { from: '\u{fbf0}', to: '\u{fbf1}', }, - Range { from: '\u{fbf2}', to: '\u{fbf3}', }, - Range { from: '\u{fbf4}', to: '\u{fbf5}', }, - Range { from: '\u{fbf6}', to: '\u{fbf8}', }, - Range { from: '\u{fbf9}', to: '\u{fbfb}', }, - Range { from: '\u{fbfc}', to: '\u{fbff}', }, - Range { from: '\u{fc00}', to: '\u{fd3b}', }, - Range { from: '\u{fd3c}', to: '\u{fd3d}', }, - Range { from: '\u{fd3e}', to: '\u{fd3f}', }, - Range { from: '\u{fd40}', to: '\u{fd4f}', }, - Range { from: '\u{fd50}', to: '\u{fd50}', }, - Range { from: '\u{fd51}', to: '\u{fd52}', }, - Range { from: '\u{fd53}', to: '\u{fd57}', }, - Range { from: '\u{fd58}', to: '\u{fd59}', }, - Range { from: '\u{fd5a}', to: '\u{fd5e}', }, - Range { from: '\u{fd5f}', to: '\u{fd60}', }, - Range { from: '\u{fd61}', to: '\u{fd61}', }, - Range { from: '\u{fd62}', to: '\u{fd63}', }, - Range { from: '\u{fd64}', to: '\u{fd65}', }, - Range { from: '\u{fd66}', to: '\u{fd66}', }, - Range { from: '\u{fd67}', to: '\u{fd68}', }, - Range { from: '\u{fd69}', to: '\u{fd69}', }, - Range { from: '\u{fd6a}', to: '\u{fd6b}', }, - Range { from: '\u{fd6c}', to: '\u{fd6d}', }, - Range { from: '\u{fd6e}', to: '\u{fd6e}', }, - Range { from: '\u{fd6f}', to: '\u{fd70}', }, - Range { from: '\u{fd71}', to: '\u{fd72}', }, - Range { from: '\u{fd73}', to: '\u{fd75}', }, - Range { from: '\u{fd76}', to: '\u{fd77}', }, - Range { from: '\u{fd78}', to: '\u{fd7b}', }, - Range { from: '\u{fd7c}', to: '\u{fd7d}', }, - Range { from: '\u{fd7e}', to: '\u{fd82}', }, - Range { from: '\u{fd83}', to: '\u{fd84}', }, - Range { from: '\u{fd85}', to: '\u{fd86}', }, - Range { from: '\u{fd87}', to: '\u{fd88}', }, - Range { from: '\u{fd89}', to: '\u{fd8f}', }, - Range { from: '\u{fd90}', to: '\u{fd91}', }, - Range { from: '\u{fd92}', to: '\u{fd96}', }, - Range { from: '\u{fd97}', to: '\u{fd98}', }, - Range { from: '\u{fd99}', to: '\u{fd9b}', }, - Range { from: '\u{fd9c}', to: '\u{fd9d}', }, - Range { from: '\u{fd9e}', to: '\u{fdc7}', }, - Range { from: '\u{fdc8}', to: '\u{fdef}', }, - Range { from: '\u{fdf0}', to: '\u{fdfd}', }, - Range { from: '\u{fdfe}', to: '\u{fdff}', }, - Range { from: '\u{fe00}', to: '\u{fe0f}', }, - Range { from: '\u{fe10}', to: '\u{fe18}', }, - Range { from: '\u{fe19}', to: '\u{fe1f}', }, - Range { from: '\u{fe20}', to: '\u{fe2f}', }, - Range { from: '\u{fe30}', to: '\u{fe32}', }, - Range { from: '\u{fe33}', to: '\u{fe34}', }, - Range { from: '\u{fe35}', to: '\u{fe44}', }, - Range { from: '\u{fe45}', to: '\u{fe46}', }, - Range { from: '\u{fe47}', to: '\u{fe48}', }, - Range { from: '\u{fe49}', to: '\u{fe4c}', }, - Range { from: '\u{fe4d}', to: '\u{fe4f}', }, - Range { from: '\u{fe50}', to: '\u{fe51}', }, - Range { from: '\u{fe52}', to: '\u{fe53}', }, - Range { from: '\u{fe54}', to: '\u{fe6b}', }, - Range { from: '\u{fe6c}', to: '\u{fe6f}', }, - Range { from: '\u{fe70}', to: '\u{fe80}', }, - Range { from: '\u{fe81}', to: '\u{fe82}', }, - Range { from: '\u{fe83}', to: '\u{fe84}', }, - Range { from: '\u{fe85}', to: '\u{fe86}', }, - Range { from: '\u{fe87}', to: '\u{fe88}', }, - Range { from: '\u{fe89}', to: '\u{fe8c}', }, - Range { from: '\u{fe8d}', to: '\u{fe8e}', }, - Range { from: '\u{fe8f}', to: '\u{fe92}', }, - Range { from: '\u{fe93}', to: '\u{fe94}', }, - Range { from: '\u{fe95}', to: '\u{fe98}', }, - Range { from: '\u{fe99}', to: '\u{fe9c}', }, - Range { from: '\u{fe9d}', to: '\u{fea0}', }, - Range { from: '\u{fea1}', to: '\u{fea4}', }, - Range { from: '\u{fea5}', to: '\u{fea8}', }, - Range { from: '\u{fea9}', to: '\u{feaa}', }, - Range { from: '\u{feab}', to: '\u{feac}', }, - Range { from: '\u{fead}', to: '\u{feae}', }, - Range { from: '\u{feaf}', to: '\u{feb0}', }, - Range { from: '\u{feb1}', to: '\u{feb4}', }, - Range { from: '\u{feb5}', to: '\u{feb8}', }, - Range { from: '\u{feb9}', to: '\u{febc}', }, - Range { from: '\u{febd}', to: '\u{fec0}', }, - Range { from: '\u{fec1}', to: '\u{fec4}', }, - Range { from: '\u{fec5}', to: '\u{fec8}', }, - Range { from: '\u{fec9}', to: '\u{fecc}', }, - Range { from: '\u{fecd}', to: '\u{fed0}', }, - Range { from: '\u{fed1}', to: '\u{fed4}', }, - Range { from: '\u{fed5}', to: '\u{fed8}', }, - Range { from: '\u{fed9}', to: '\u{fedc}', }, - Range { from: '\u{fedd}', to: '\u{fee0}', }, - Range { from: '\u{fee1}', to: '\u{fee4}', }, - Range { from: '\u{fee5}', to: '\u{fee8}', }, - Range { from: '\u{fee9}', to: '\u{feec}', }, - Range { from: '\u{feed}', to: '\u{feee}', }, - Range { from: '\u{feef}', to: '\u{fef0}', }, - Range { from: '\u{fef1}', to: '\u{fef4}', }, - Range { from: '\u{fef5}', to: '\u{fef6}', }, - Range { from: '\u{fef7}', to: '\u{fef8}', }, - Range { from: '\u{fef9}', to: '\u{fefa}', }, - Range { from: '\u{fefb}', to: '\u{fefc}', }, - Range { from: '\u{fefd}', to: '\u{fefe}', }, - Range { from: '\u{feff}', to: '\u{ffbe}', }, - Range { from: '\u{ffbf}', to: '\u{ffc1}', }, - Range { from: '\u{ffc2}', to: '\u{ffc7}', }, - Range { from: '\u{ffc8}', to: '\u{ffc9}', }, - Range { from: '\u{ffca}', to: '\u{ffcf}', }, - Range { from: '\u{ffd0}', to: '\u{ffd1}', }, - Range { from: '\u{ffd2}', to: '\u{ffd7}', }, - Range { from: '\u{ffd8}', to: '\u{ffd9}', }, - Range { from: '\u{ffda}', to: '\u{ffdc}', }, - Range { from: '\u{ffdd}', to: '\u{ffdf}', }, - Range { from: '\u{ffe0}', to: '\u{ffee}', }, - Range { from: '\u{ffef}', to: '\u{ffff}', }, - Range { from: '\u{10000}', to: '\u{1000b}', }, - Range { from: '\u{1000c}', to: '\u{1000c}', }, - Range { from: '\u{1000d}', to: '\u{10026}', }, - Range { from: '\u{10027}', to: '\u{10027}', }, - Range { from: '\u{10028}', to: '\u{1003a}', }, - Range { from: '\u{1003b}', to: '\u{1003b}', }, - Range { from: '\u{1003c}', to: '\u{1003d}', }, - Range { from: '\u{1003e}', to: '\u{1003e}', }, - Range { from: '\u{1003f}', to: '\u{1004d}', }, - Range { from: '\u{1004e}', to: '\u{1004f}', }, - Range { from: '\u{10050}', to: '\u{1005d}', }, - Range { from: '\u{1005e}', to: '\u{1007f}', }, - Range { from: '\u{10080}', to: '\u{100fa}', }, - Range { from: '\u{100fb}', to: '\u{100ff}', }, - Range { from: '\u{10100}', to: '\u{10102}', }, - Range { from: '\u{10103}', to: '\u{10106}', }, - Range { from: '\u{10107}', to: '\u{10133}', }, - Range { from: '\u{10134}', to: '\u{10136}', }, - Range { from: '\u{10137}', to: '\u{1018e}', }, - Range { from: '\u{1018f}', to: '\u{1018f}', }, - Range { from: '\u{10190}', to: '\u{1019c}', }, - Range { from: '\u{1019d}', to: '\u{1019f}', }, - Range { from: '\u{101a0}', to: '\u{101a0}', }, - Range { from: '\u{101a1}', to: '\u{101cf}', }, - Range { from: '\u{101d0}', to: '\u{101fd}', }, - Range { from: '\u{101fe}', to: '\u{1027f}', }, - Range { from: '\u{10280}', to: '\u{1029c}', }, - Range { from: '\u{1029d}', to: '\u{1029f}', }, - Range { from: '\u{102a0}', to: '\u{102d0}', }, - Range { from: '\u{102d1}', to: '\u{102df}', }, - Range { from: '\u{102e0}', to: '\u{102fb}', }, - Range { from: '\u{102fc}', to: '\u{102ff}', }, - Range { from: '\u{10300}', to: '\u{10323}', }, - Range { from: '\u{10324}', to: '\u{1032c}', }, - Range { from: '\u{1032d}', to: '\u{1034a}', }, - Range { from: '\u{1034b}', to: '\u{1034f}', }, - Range { from: '\u{10350}', to: '\u{1037a}', }, - Range { from: '\u{1037b}', to: '\u{1037f}', }, - Range { from: '\u{10380}', to: '\u{1039d}', }, - Range { from: '\u{1039e}', to: '\u{1039e}', }, - Range { from: '\u{1039f}', to: '\u{103c3}', }, - Range { from: '\u{103c4}', to: '\u{103c7}', }, - Range { from: '\u{103c8}', to: '\u{103d5}', }, - Range { from: '\u{103d6}', to: '\u{103ff}', }, - Range { from: '\u{10400}', to: '\u{10427}', }, - Range { from: '\u{10428}', to: '\u{1049d}', }, - Range { from: '\u{1049e}', to: '\u{1049f}', }, - Range { from: '\u{104a0}', to: '\u{104a9}', }, - Range { from: '\u{104aa}', to: '\u{104af}', }, - Range { from: '\u{104b0}', to: '\u{104d3}', }, - Range { from: '\u{104d4}', to: '\u{104d7}', }, - Range { from: '\u{104d8}', to: '\u{104fb}', }, - Range { from: '\u{104fc}', to: '\u{104ff}', }, - Range { from: '\u{10500}', to: '\u{10527}', }, - Range { from: '\u{10528}', to: '\u{1052f}', }, - Range { from: '\u{10530}', to: '\u{10563}', }, - Range { from: '\u{10564}', to: '\u{1056e}', }, - Range { from: '\u{1056f}', to: '\u{1056f}', }, - Range { from: '\u{10570}', to: '\u{105ff}', }, - Range { from: '\u{10600}', to: '\u{10736}', }, - Range { from: '\u{10737}', to: '\u{1073f}', }, - Range { from: '\u{10740}', to: '\u{10755}', }, - Range { from: '\u{10756}', to: '\u{1075f}', }, - Range { from: '\u{10760}', to: '\u{10767}', }, - Range { from: '\u{10768}', to: '\u{107ff}', }, - Range { from: '\u{10800}', to: '\u{10805}', }, - Range { from: '\u{10806}', to: '\u{10807}', }, - Range { from: '\u{10808}', to: '\u{10809}', }, - Range { from: '\u{1080a}', to: '\u{10835}', }, - Range { from: '\u{10836}', to: '\u{10836}', }, - Range { from: '\u{10837}', to: '\u{10838}', }, - Range { from: '\u{10839}', to: '\u{1083b}', }, - Range { from: '\u{1083c}', to: '\u{1083c}', }, - Range { from: '\u{1083d}', to: '\u{1083e}', }, - Range { from: '\u{1083f}', to: '\u{10855}', }, - Range { from: '\u{10856}', to: '\u{10856}', }, - Range { from: '\u{10857}', to: '\u{1089e}', }, - Range { from: '\u{1089f}', to: '\u{108a6}', }, - Range { from: '\u{108a7}', to: '\u{108af}', }, - Range { from: '\u{108b0}', to: '\u{108df}', }, - Range { from: '\u{108e0}', to: '\u{108f2}', }, - Range { from: '\u{108f3}', to: '\u{108f3}', }, - Range { from: '\u{108f4}', to: '\u{108f5}', }, - Range { from: '\u{108f6}', to: '\u{108fa}', }, - Range { from: '\u{108fb}', to: '\u{1091b}', }, - Range { from: '\u{1091c}', to: '\u{1091e}', }, - Range { from: '\u{1091f}', to: '\u{10939}', }, - Range { from: '\u{1093a}', to: '\u{1093e}', }, - Range { from: '\u{1093f}', to: '\u{1093f}', }, - Range { from: '\u{10940}', to: '\u{1097f}', }, - Range { from: '\u{10980}', to: '\u{109b7}', }, - Range { from: '\u{109b8}', to: '\u{109bb}', }, - Range { from: '\u{109bc}', to: '\u{109cf}', }, - Range { from: '\u{109d0}', to: '\u{109d1}', }, - Range { from: '\u{109d2}', to: '\u{10a03}', }, - Range { from: '\u{10a04}', to: '\u{10a04}', }, - Range { from: '\u{10a05}', to: '\u{10a06}', }, - Range { from: '\u{10a07}', to: '\u{10a0b}', }, - Range { from: '\u{10a0c}', to: '\u{10a13}', }, - Range { from: '\u{10a14}', to: '\u{10a14}', }, - Range { from: '\u{10a15}', to: '\u{10a17}', }, - Range { from: '\u{10a18}', to: '\u{10a18}', }, - Range { from: '\u{10a19}', to: '\u{10a35}', }, - Range { from: '\u{10a36}', to: '\u{10a37}', }, - Range { from: '\u{10a38}', to: '\u{10a3a}', }, - Range { from: '\u{10a3b}', to: '\u{10a3e}', }, - Range { from: '\u{10a3f}', to: '\u{10a48}', }, - Range { from: '\u{10a49}', to: '\u{10a4f}', }, - Range { from: '\u{10a50}', to: '\u{10a58}', }, - Range { from: '\u{10a59}', to: '\u{10a5f}', }, - Range { from: '\u{10a60}', to: '\u{10a9f}', }, - Range { from: '\u{10aa0}', to: '\u{10abf}', }, - Range { from: '\u{10ac0}', to: '\u{10ae6}', }, - Range { from: '\u{10ae7}', to: '\u{10aea}', }, - Range { from: '\u{10aeb}', to: '\u{10af6}', }, - Range { from: '\u{10af7}', to: '\u{10aff}', }, - Range { from: '\u{10b00}', to: '\u{10b35}', }, - Range { from: '\u{10b36}', to: '\u{10b38}', }, - Range { from: '\u{10b39}', to: '\u{10b55}', }, - Range { from: '\u{10b56}', to: '\u{10b57}', }, - Range { from: '\u{10b58}', to: '\u{10b72}', }, - Range { from: '\u{10b73}', to: '\u{10b77}', }, - Range { from: '\u{10b78}', to: '\u{10b91}', }, - Range { from: '\u{10b92}', to: '\u{10b98}', }, - Range { from: '\u{10b99}', to: '\u{10b9c}', }, - Range { from: '\u{10b9d}', to: '\u{10ba8}', }, - Range { from: '\u{10ba9}', to: '\u{10baf}', }, - Range { from: '\u{10bb0}', to: '\u{10bff}', }, - Range { from: '\u{10c00}', to: '\u{10c48}', }, - Range { from: '\u{10c49}', to: '\u{10c7f}', }, - Range { from: '\u{10c80}', to: '\u{10cb2}', }, - Range { from: '\u{10cb3}', to: '\u{10cbf}', }, - Range { from: '\u{10cc0}', to: '\u{10cf2}', }, - Range { from: '\u{10cf3}', to: '\u{10cf9}', }, - Range { from: '\u{10cfa}', to: '\u{10d27}', }, - Range { from: '\u{10d28}', to: '\u{10d2f}', }, - Range { from: '\u{10d30}', to: '\u{10d39}', }, - Range { from: '\u{10d3a}', to: '\u{10e5f}', }, - Range { from: '\u{10e60}', to: '\u{10e7e}', }, - Range { from: '\u{10e7f}', to: '\u{10e7f}', }, - Range { from: '\u{10e80}', to: '\u{10ea9}', }, - Range { from: '\u{10eaa}', to: '\u{10eaa}', }, - Range { from: '\u{10eab}', to: '\u{10ead}', }, - Range { from: '\u{10eae}', to: '\u{10eaf}', }, - Range { from: '\u{10eb0}', to: '\u{10eb1}', }, - Range { from: '\u{10eb2}', to: '\u{10eff}', }, - Range { from: '\u{10f00}', to: '\u{10f27}', }, - Range { from: '\u{10f28}', to: '\u{10f2f}', }, - Range { from: '\u{10f30}', to: '\u{10f59}', }, - Range { from: '\u{10f5a}', to: '\u{10faf}', }, - Range { from: '\u{10fb0}', to: '\u{10fcb}', }, - Range { from: '\u{10fcc}', to: '\u{10fdf}', }, - Range { from: '\u{10fe0}', to: '\u{10ff6}', }, - Range { from: '\u{10ff7}', to: '\u{10fff}', }, - Range { from: '\u{11000}', to: '\u{1104d}', }, - Range { from: '\u{1104e}', to: '\u{11051}', }, - Range { from: '\u{11052}', to: '\u{1106f}', }, - Range { from: '\u{11070}', to: '\u{1107e}', }, - Range { from: '\u{1107f}', to: '\u{110bc}', }, - Range { from: '\u{110bd}', to: '\u{110bd}', }, - Range { from: '\u{110be}', to: '\u{110c1}', }, - Range { from: '\u{110c2}', to: '\u{110cf}', }, - Range { from: '\u{110d0}', to: '\u{110e8}', }, - Range { from: '\u{110e9}', to: '\u{110ef}', }, - Range { from: '\u{110f0}', to: '\u{110f9}', }, - Range { from: '\u{110fa}', to: '\u{110ff}', }, - Range { from: '\u{11100}', to: '\u{11134}', }, - Range { from: '\u{11135}', to: '\u{11135}', }, - Range { from: '\u{11136}', to: '\u{11147}', }, - Range { from: '\u{11148}', to: '\u{1114f}', }, - Range { from: '\u{11150}', to: '\u{11176}', }, - Range { from: '\u{11177}', to: '\u{1117f}', }, - Range { from: '\u{11180}', to: '\u{111df}', }, - Range { from: '\u{111e0}', to: '\u{111e0}', }, - Range { from: '\u{111e1}', to: '\u{111f4}', }, - Range { from: '\u{111f5}', to: '\u{111ff}', }, - Range { from: '\u{11200}', to: '\u{11211}', }, - Range { from: '\u{11212}', to: '\u{11212}', }, - Range { from: '\u{11213}', to: '\u{1123e}', }, - Range { from: '\u{1123f}', to: '\u{1127f}', }, - Range { from: '\u{11280}', to: '\u{11286}', }, - Range { from: '\u{11287}', to: '\u{11289}', }, - Range { from: '\u{1128a}', to: '\u{1128d}', }, - Range { from: '\u{1128e}', to: '\u{1128e}', }, - Range { from: '\u{1128f}', to: '\u{1129d}', }, - Range { from: '\u{1129e}', to: '\u{1129e}', }, - Range { from: '\u{1129f}', to: '\u{112a9}', }, - Range { from: '\u{112aa}', to: '\u{112af}', }, - Range { from: '\u{112b0}', to: '\u{112ea}', }, - Range { from: '\u{112eb}', to: '\u{112ef}', }, - Range { from: '\u{112f0}', to: '\u{112f9}', }, - Range { from: '\u{112fa}', to: '\u{112ff}', }, - Range { from: '\u{11300}', to: '\u{11303}', }, - Range { from: '\u{11304}', to: '\u{11304}', }, - Range { from: '\u{11305}', to: '\u{1130c}', }, - Range { from: '\u{1130d}', to: '\u{1130e}', }, - Range { from: '\u{1130f}', to: '\u{11310}', }, - Range { from: '\u{11311}', to: '\u{11312}', }, - Range { from: '\u{11313}', to: '\u{11328}', }, - Range { from: '\u{11329}', to: '\u{11329}', }, - Range { from: '\u{1132a}', to: '\u{11330}', }, - Range { from: '\u{11331}', to: '\u{11331}', }, - Range { from: '\u{11332}', to: '\u{11333}', }, - Range { from: '\u{11334}', to: '\u{11334}', }, - Range { from: '\u{11335}', to: '\u{11339}', }, - Range { from: '\u{1133a}', to: '\u{1133a}', }, - Range { from: '\u{1133b}', to: '\u{11344}', }, - Range { from: '\u{11345}', to: '\u{11346}', }, - Range { from: '\u{11347}', to: '\u{11348}', }, - Range { from: '\u{11349}', to: '\u{1134a}', }, - Range { from: '\u{1134b}', to: '\u{1134d}', }, - Range { from: '\u{1134e}', to: '\u{1134f}', }, - Range { from: '\u{11350}', to: '\u{11350}', }, - Range { from: '\u{11351}', to: '\u{11356}', }, - Range { from: '\u{11357}', to: '\u{11357}', }, - Range { from: '\u{11358}', to: '\u{1135c}', }, - Range { from: '\u{1135d}', to: '\u{11363}', }, - Range { from: '\u{11364}', to: '\u{11365}', }, - Range { from: '\u{11366}', to: '\u{1136c}', }, - Range { from: '\u{1136d}', to: '\u{1136f}', }, - Range { from: '\u{11370}', to: '\u{11374}', }, - Range { from: '\u{11375}', to: '\u{113ff}', }, - Range { from: '\u{11400}', to: '\u{1145b}', }, - Range { from: '\u{1145c}', to: '\u{1145c}', }, - Range { from: '\u{1145d}', to: '\u{11461}', }, - Range { from: '\u{11462}', to: '\u{1147f}', }, - Range { from: '\u{11480}', to: '\u{114c7}', }, - Range { from: '\u{114c8}', to: '\u{114cf}', }, - Range { from: '\u{114d0}', to: '\u{114d9}', }, - Range { from: '\u{114da}', to: '\u{1157f}', }, - Range { from: '\u{11580}', to: '\u{115b5}', }, - Range { from: '\u{115b6}', to: '\u{115b7}', }, - Range { from: '\u{115b8}', to: '\u{115dd}', }, - Range { from: '\u{115de}', to: '\u{115ff}', }, - Range { from: '\u{11600}', to: '\u{11644}', }, - Range { from: '\u{11645}', to: '\u{1164f}', }, - Range { from: '\u{11650}', to: '\u{11659}', }, - Range { from: '\u{1165a}', to: '\u{1165f}', }, - Range { from: '\u{11660}', to: '\u{1166c}', }, - Range { from: '\u{1166d}', to: '\u{1167f}', }, - Range { from: '\u{11680}', to: '\u{116b8}', }, - Range { from: '\u{116b9}', to: '\u{116bf}', }, - Range { from: '\u{116c0}', to: '\u{116c9}', }, - Range { from: '\u{116ca}', to: '\u{116ff}', }, - Range { from: '\u{11700}', to: '\u{1171a}', }, - Range { from: '\u{1171b}', to: '\u{1171c}', }, - Range { from: '\u{1171d}', to: '\u{1172b}', }, - Range { from: '\u{1172c}', to: '\u{1172f}', }, - Range { from: '\u{11730}', to: '\u{1173f}', }, - Range { from: '\u{11740}', to: '\u{117ff}', }, - Range { from: '\u{11800}', to: '\u{1183b}', }, - Range { from: '\u{1183c}', to: '\u{1189f}', }, - Range { from: '\u{118a0}', to: '\u{118bf}', }, - Range { from: '\u{118c0}', to: '\u{118f2}', }, - Range { from: '\u{118f3}', to: '\u{118fe}', }, - Range { from: '\u{118ff}', to: '\u{11906}', }, - Range { from: '\u{11907}', to: '\u{11908}', }, - Range { from: '\u{11909}', to: '\u{11909}', }, - Range { from: '\u{1190a}', to: '\u{1190b}', }, - Range { from: '\u{1190c}', to: '\u{11913}', }, - Range { from: '\u{11914}', to: '\u{11914}', }, - Range { from: '\u{11915}', to: '\u{11916}', }, - Range { from: '\u{11917}', to: '\u{11917}', }, - Range { from: '\u{11918}', to: '\u{11935}', }, - Range { from: '\u{11936}', to: '\u{11936}', }, - Range { from: '\u{11937}', to: '\u{11938}', }, - Range { from: '\u{11939}', to: '\u{1193a}', }, - Range { from: '\u{1193b}', to: '\u{11946}', }, - Range { from: '\u{11947}', to: '\u{1194f}', }, - Range { from: '\u{11950}', to: '\u{11959}', }, - Range { from: '\u{1195a}', to: '\u{1199f}', }, - Range { from: '\u{119a0}', to: '\u{119a7}', }, - Range { from: '\u{119a8}', to: '\u{119a9}', }, - Range { from: '\u{119aa}', to: '\u{119d7}', }, - Range { from: '\u{119d8}', to: '\u{119d9}', }, - Range { from: '\u{119da}', to: '\u{119e4}', }, - Range { from: '\u{119e5}', to: '\u{119ff}', }, - Range { from: '\u{11a00}', to: '\u{11a47}', }, - Range { from: '\u{11a48}', to: '\u{11a4f}', }, - Range { from: '\u{11a50}', to: '\u{11aa2}', }, - Range { from: '\u{11aa3}', to: '\u{11abf}', }, - Range { from: '\u{11ac0}', to: '\u{11af8}', }, - Range { from: '\u{11af9}', to: '\u{11bff}', }, - Range { from: '\u{11c00}', to: '\u{11c08}', }, - Range { from: '\u{11c09}', to: '\u{11c09}', }, - Range { from: '\u{11c0a}', to: '\u{11c36}', }, - Range { from: '\u{11c37}', to: '\u{11c37}', }, - Range { from: '\u{11c38}', to: '\u{11c45}', }, - Range { from: '\u{11c46}', to: '\u{11c4f}', }, - Range { from: '\u{11c50}', to: '\u{11c6c}', }, - Range { from: '\u{11c6d}', to: '\u{11c6f}', }, - Range { from: '\u{11c70}', to: '\u{11c8f}', }, - Range { from: '\u{11c90}', to: '\u{11c91}', }, - Range { from: '\u{11c92}', to: '\u{11ca7}', }, - Range { from: '\u{11ca8}', to: '\u{11ca8}', }, - Range { from: '\u{11ca9}', to: '\u{11cb6}', }, - Range { from: '\u{11cb7}', to: '\u{11cff}', }, - Range { from: '\u{11d00}', to: '\u{11d06}', }, - Range { from: '\u{11d07}', to: '\u{11d07}', }, - Range { from: '\u{11d08}', to: '\u{11d09}', }, - Range { from: '\u{11d0a}', to: '\u{11d0a}', }, - Range { from: '\u{11d0b}', to: '\u{11d36}', }, - Range { from: '\u{11d37}', to: '\u{11d39}', }, - Range { from: '\u{11d3a}', to: '\u{11d3b}', }, - Range { from: '\u{11d3c}', to: '\u{11d3d}', }, - Range { from: '\u{11d3e}', to: '\u{11d3e}', }, - Range { from: '\u{11d3f}', to: '\u{11d47}', }, - Range { from: '\u{11d48}', to: '\u{11d4f}', }, - Range { from: '\u{11d50}', to: '\u{11d59}', }, - Range { from: '\u{11d5a}', to: '\u{11d5f}', }, - Range { from: '\u{11d60}', to: '\u{11d65}', }, - Range { from: '\u{11d66}', to: '\u{11d66}', }, - Range { from: '\u{11d67}', to: '\u{11d68}', }, - Range { from: '\u{11d69}', to: '\u{11d69}', }, - Range { from: '\u{11d6a}', to: '\u{11d8e}', }, - Range { from: '\u{11d8f}', to: '\u{11d8f}', }, - Range { from: '\u{11d90}', to: '\u{11d91}', }, - Range { from: '\u{11d92}', to: '\u{11d92}', }, - Range { from: '\u{11d93}', to: '\u{11d98}', }, - Range { from: '\u{11d99}', to: '\u{11d9f}', }, - Range { from: '\u{11da0}', to: '\u{11da9}', }, - Range { from: '\u{11daa}', to: '\u{11edf}', }, - Range { from: '\u{11ee0}', to: '\u{11ef8}', }, - Range { from: '\u{11ef9}', to: '\u{11faf}', }, - Range { from: '\u{11fb0}', to: '\u{11fb0}', }, - Range { from: '\u{11fb1}', to: '\u{11fbf}', }, - Range { from: '\u{11fc0}', to: '\u{11ff1}', }, - Range { from: '\u{11ff2}', to: '\u{11ffe}', }, - Range { from: '\u{11fff}', to: '\u{12399}', }, - Range { from: '\u{1239a}', to: '\u{123ff}', }, - Range { from: '\u{12400}', to: '\u{1246e}', }, - Range { from: '\u{1246f}', to: '\u{1246f}', }, - Range { from: '\u{12470}', to: '\u{12474}', }, - Range { from: '\u{12475}', to: '\u{1247f}', }, - Range { from: '\u{12480}', to: '\u{12543}', }, - Range { from: '\u{12544}', to: '\u{12fff}', }, - Range { from: '\u{13000}', to: '\u{1342e}', }, - Range { from: '\u{1342f}', to: '\u{143ff}', }, - Range { from: '\u{14400}', to: '\u{14646}', }, - Range { from: '\u{14647}', to: '\u{167ff}', }, - Range { from: '\u{16800}', to: '\u{16a38}', }, - Range { from: '\u{16a39}', to: '\u{16a3f}', }, - Range { from: '\u{16a40}', to: '\u{16a5e}', }, - Range { from: '\u{16a5f}', to: '\u{16a5f}', }, - Range { from: '\u{16a60}', to: '\u{16a69}', }, - Range { from: '\u{16a6a}', to: '\u{16a6d}', }, - Range { from: '\u{16a6e}', to: '\u{16a6f}', }, - Range { from: '\u{16a70}', to: '\u{16acf}', }, - Range { from: '\u{16ad0}', to: '\u{16aed}', }, - Range { from: '\u{16aee}', to: '\u{16aef}', }, - Range { from: '\u{16af0}', to: '\u{16af5}', }, - Range { from: '\u{16af6}', to: '\u{16aff}', }, - Range { from: '\u{16b00}', to: '\u{16b45}', }, - Range { from: '\u{16b46}', to: '\u{16b4f}', }, - Range { from: '\u{16b50}', to: '\u{16b59}', }, - Range { from: '\u{16b5a}', to: '\u{16b5a}', }, - Range { from: '\u{16b5b}', to: '\u{16b61}', }, - Range { from: '\u{16b62}', to: '\u{16b62}', }, - Range { from: '\u{16b63}', to: '\u{16b77}', }, - Range { from: '\u{16b78}', to: '\u{16b7c}', }, - Range { from: '\u{16b7d}', to: '\u{16b8f}', }, - Range { from: '\u{16b90}', to: '\u{16e3f}', }, - Range { from: '\u{16e40}', to: '\u{16e5f}', }, - Range { from: '\u{16e60}', to: '\u{16e9a}', }, - Range { from: '\u{16e9b}', to: '\u{16eff}', }, - Range { from: '\u{16f00}', to: '\u{16f4a}', }, - Range { from: '\u{16f4b}', to: '\u{16f4e}', }, - Range { from: '\u{16f4f}', to: '\u{16f87}', }, - Range { from: '\u{16f88}', to: '\u{16f8e}', }, - Range { from: '\u{16f8f}', to: '\u{16f9f}', }, - Range { from: '\u{16fa0}', to: '\u{16fdf}', }, - Range { from: '\u{16fe0}', to: '\u{16fe4}', }, - Range { from: '\u{16fe5}', to: '\u{16fef}', }, - Range { from: '\u{16ff0}', to: '\u{16ff1}', }, - Range { from: '\u{16ff2}', to: '\u{16fff}', }, - Range { from: '\u{17000}', to: '\u{187f7}', }, - Range { from: '\u{187f8}', to: '\u{187ff}', }, - Range { from: '\u{18800}', to: '\u{18cd5}', }, - Range { from: '\u{18cd6}', to: '\u{18cff}', }, - Range { from: '\u{18d00}', to: '\u{18d08}', }, - Range { from: '\u{18d09}', to: '\u{1afff}', }, - Range { from: '\u{1b000}', to: '\u{1b11e}', }, - Range { from: '\u{1b11f}', to: '\u{1b14f}', }, - Range { from: '\u{1b150}', to: '\u{1b152}', }, - Range { from: '\u{1b153}', to: '\u{1b163}', }, - Range { from: '\u{1b164}', to: '\u{1b167}', }, - Range { from: '\u{1b168}', to: '\u{1b16f}', }, - Range { from: '\u{1b170}', to: '\u{1b2fb}', }, - Range { from: '\u{1b2fc}', to: '\u{1bbff}', }, - Range { from: '\u{1bc00}', to: '\u{1bc6a}', }, - Range { from: '\u{1bc6b}', to: '\u{1bc6f}', }, - Range { from: '\u{1bc70}', to: '\u{1bc7c}', }, - Range { from: '\u{1bc7d}', to: '\u{1bc7f}', }, - Range { from: '\u{1bc80}', to: '\u{1bc88}', }, - Range { from: '\u{1bc89}', to: '\u{1bc8f}', }, - Range { from: '\u{1bc90}', to: '\u{1bc99}', }, - Range { from: '\u{1bc9a}', to: '\u{1bc9b}', }, - Range { from: '\u{1bc9c}', to: '\u{1bc9f}', }, - Range { from: '\u{1bca0}', to: '\u{1bca3}', }, - Range { from: '\u{1bca4}', to: '\u{1cfff}', }, - Range { from: '\u{1d000}', to: '\u{1d0f5}', }, - Range { from: '\u{1d0f6}', to: '\u{1d0ff}', }, - Range { from: '\u{1d100}', to: '\u{1d126}', }, - Range { from: '\u{1d127}', to: '\u{1d128}', }, - Range { from: '\u{1d129}', to: '\u{1d15d}', }, - Range { from: '\u{1d15e}', to: '\u{1d164}', }, - Range { from: '\u{1d165}', to: '\u{1d172}', }, - Range { from: '\u{1d173}', to: '\u{1d17a}', }, - Range { from: '\u{1d17b}', to: '\u{1d1ba}', }, - Range { from: '\u{1d1bb}', to: '\u{1d1c0}', }, - Range { from: '\u{1d1c1}', to: '\u{1d1e8}', }, - Range { from: '\u{1d1e9}', to: '\u{1d1ff}', }, - Range { from: '\u{1d200}', to: '\u{1d245}', }, - Range { from: '\u{1d246}', to: '\u{1d2df}', }, - Range { from: '\u{1d2e0}', to: '\u{1d2f3}', }, - Range { from: '\u{1d2f4}', to: '\u{1d2ff}', }, - Range { from: '\u{1d300}', to: '\u{1d356}', }, - Range { from: '\u{1d357}', to: '\u{1d35f}', }, - Range { from: '\u{1d360}', to: '\u{1d378}', }, - Range { from: '\u{1d379}', to: '\u{1d3ff}', }, - Range { from: '\u{1d400}', to: '\u{1d49f}', }, - Range { from: '\u{1d4a0}', to: '\u{1d4a1}', }, - Range { from: '\u{1d4a2}', to: '\u{1d4a2}', }, - Range { from: '\u{1d4a3}', to: '\u{1d4a4}', }, - Range { from: '\u{1d4a5}', to: '\u{1d4a6}', }, - Range { from: '\u{1d4a7}', to: '\u{1d4a8}', }, - Range { from: '\u{1d4a9}', to: '\u{1d50a}', }, - Range { from: '\u{1d50b}', to: '\u{1d50c}', }, - Range { from: '\u{1d50d}', to: '\u{1d546}', }, - Range { from: '\u{1d547}', to: '\u{1d549}', }, - Range { from: '\u{1d54a}', to: '\u{1d6a5}', }, - Range { from: '\u{1d6a6}', to: '\u{1d6a7}', }, - Range { from: '\u{1d6a8}', to: '\u{1d6d2}', }, - Range { from: '\u{1d6d3}', to: '\u{1d6d4}', }, - Range { from: '\u{1d6d5}', to: '\u{1d70c}', }, - Range { from: '\u{1d70d}', to: '\u{1d70e}', }, - Range { from: '\u{1d70f}', to: '\u{1d746}', }, - Range { from: '\u{1d747}', to: '\u{1d748}', }, - Range { from: '\u{1d749}', to: '\u{1d780}', }, - Range { from: '\u{1d781}', to: '\u{1d782}', }, - Range { from: '\u{1d783}', to: '\u{1d7ba}', }, - Range { from: '\u{1d7bb}', to: '\u{1d7bc}', }, - Range { from: '\u{1d7bd}', to: '\u{1d7c9}', }, - Range { from: '\u{1d7ca}', to: '\u{1d7cb}', }, - Range { from: '\u{1d7cc}', to: '\u{1d7cd}', }, - Range { from: '\u{1d7ce}', to: '\u{1d7ff}', }, - Range { from: '\u{1d800}', to: '\u{1da8b}', }, - Range { from: '\u{1da8c}', to: '\u{1da9a}', }, - Range { from: '\u{1da9b}', to: '\u{1da9f}', }, - Range { from: '\u{1daa0}', to: '\u{1daa0}', }, - Range { from: '\u{1daa1}', to: '\u{1daaf}', }, - Range { from: '\u{1dab0}', to: '\u{1dfff}', }, - Range { from: '\u{1e000}', to: '\u{1e006}', }, - Range { from: '\u{1e007}', to: '\u{1e007}', }, - Range { from: '\u{1e008}', to: '\u{1e018}', }, - Range { from: '\u{1e019}', to: '\u{1e01a}', }, - Range { from: '\u{1e01b}', to: '\u{1e021}', }, - Range { from: '\u{1e022}', to: '\u{1e022}', }, - Range { from: '\u{1e023}', to: '\u{1e024}', }, - Range { from: '\u{1e025}', to: '\u{1e025}', }, - Range { from: '\u{1e026}', to: '\u{1e02a}', }, - Range { from: '\u{1e02b}', to: '\u{1e0ff}', }, - Range { from: '\u{1e100}', to: '\u{1e12c}', }, - Range { from: '\u{1e12d}', to: '\u{1e12f}', }, - Range { from: '\u{1e130}', to: '\u{1e13d}', }, - Range { from: '\u{1e13e}', to: '\u{1e13f}', }, - Range { from: '\u{1e140}', to: '\u{1e149}', }, - Range { from: '\u{1e14a}', to: '\u{1e14d}', }, - Range { from: '\u{1e14e}', to: '\u{1e14f}', }, - Range { from: '\u{1e150}', to: '\u{1e2bf}', }, - Range { from: '\u{1e2c0}', to: '\u{1e2f9}', }, - Range { from: '\u{1e2fa}', to: '\u{1e2fe}', }, - Range { from: '\u{1e2ff}', to: '\u{1e2ff}', }, - Range { from: '\u{1e300}', to: '\u{1e7ff}', }, - Range { from: '\u{1e800}', to: '\u{1e8c4}', }, - Range { from: '\u{1e8c5}', to: '\u{1e8c6}', }, - Range { from: '\u{1e8c7}', to: '\u{1e8d6}', }, - Range { from: '\u{1e8d7}', to: '\u{1e8ff}', }, - Range { from: '\u{1e900}', to: '\u{1e921}', }, - Range { from: '\u{1e922}', to: '\u{1e94b}', }, - Range { from: '\u{1e94c}', to: '\u{1e94f}', }, - Range { from: '\u{1e950}', to: '\u{1e959}', }, - Range { from: '\u{1e95a}', to: '\u{1e95d}', }, - Range { from: '\u{1e95e}', to: '\u{1e95f}', }, - Range { from: '\u{1e960}', to: '\u{1ec70}', }, - Range { from: '\u{1ec71}', to: '\u{1ecb4}', }, - Range { from: '\u{1ecb5}', to: '\u{1ed00}', }, - Range { from: '\u{1ed01}', to: '\u{1ed3d}', }, - Range { from: '\u{1ed3e}', to: '\u{1edff}', }, - Range { from: '\u{1ee00}', to: '\u{1ee24}', }, - Range { from: '\u{1ee25}', to: '\u{1ee26}', }, - Range { from: '\u{1ee27}', to: '\u{1ee3b}', }, - Range { from: '\u{1ee3c}', to: '\u{1ee41}', }, - Range { from: '\u{1ee42}', to: '\u{1ee42}', }, - Range { from: '\u{1ee43}', to: '\u{1ee46}', }, - Range { from: '\u{1ee47}', to: '\u{1ee54}', }, - Range { from: '\u{1ee55}', to: '\u{1ee56}', }, - Range { from: '\u{1ee57}', to: '\u{1ee64}', }, - Range { from: '\u{1ee65}', to: '\u{1ee66}', }, - Range { from: '\u{1ee67}', to: '\u{1ee9b}', }, - Range { from: '\u{1ee9c}', to: '\u{1eea0}', }, - Range { from: '\u{1eea1}', to: '\u{1eebb}', }, - Range { from: '\u{1eebc}', to: '\u{1eeef}', }, - Range { from: '\u{1eef0}', to: '\u{1eef1}', }, - Range { from: '\u{1eef2}', to: '\u{1efff}', }, - Range { from: '\u{1f000}', to: '\u{1f02b}', }, - Range { from: '\u{1f02c}', to: '\u{1f02f}', }, - Range { from: '\u{1f030}', to: '\u{1f093}', }, - Range { from: '\u{1f094}', to: '\u{1f09f}', }, - Range { from: '\u{1f0a0}', to: '\u{1f0ae}', }, - Range { from: '\u{1f0af}', to: '\u{1f0b0}', }, - Range { from: '\u{1f0b1}', to: '\u{1f0bf}', }, - Range { from: '\u{1f0c0}', to: '\u{1f0c0}', }, - Range { from: '\u{1f0c1}', to: '\u{1f0cf}', }, - Range { from: '\u{1f0d0}', to: '\u{1f0d0}', }, - Range { from: '\u{1f0d1}', to: '\u{1f0f5}', }, - Range { from: '\u{1f0f6}', to: '\u{1f100}', }, - Range { from: '\u{1f101}', to: '\u{1f10a}', }, - Range { from: '\u{1f10b}', to: '\u{1f10f}', }, - Range { from: '\u{1f110}', to: '\u{1f14f}', }, - Range { from: '\u{1f150}', to: '\u{1f169}', }, - Range { from: '\u{1f16a}', to: '\u{1f16c}', }, - Range { from: '\u{1f16d}', to: '\u{1f18f}', }, - Range { from: '\u{1f190}', to: '\u{1f190}', }, - Range { from: '\u{1f191}', to: '\u{1f1ad}', }, - Range { from: '\u{1f1ae}', to: '\u{1f1e5}', }, - Range { from: '\u{1f1e6}', to: '\u{1f1ff}', }, - Range { from: '\u{1f200}', to: '\u{1f202}', }, - Range { from: '\u{1f203}', to: '\u{1f20f}', }, - Range { from: '\u{1f210}', to: '\u{1f23b}', }, - Range { from: '\u{1f23c}', to: '\u{1f23f}', }, - Range { from: '\u{1f240}', to: '\u{1f248}', }, - Range { from: '\u{1f249}', to: '\u{1f24f}', }, - Range { from: '\u{1f250}', to: '\u{1f251}', }, - Range { from: '\u{1f252}', to: '\u{1f25f}', }, - Range { from: '\u{1f260}', to: '\u{1f265}', }, - Range { from: '\u{1f266}', to: '\u{1f2ff}', }, - Range { from: '\u{1f300}', to: '\u{1f6d7}', }, - Range { from: '\u{1f6d8}', to: '\u{1f6df}', }, - Range { from: '\u{1f6e0}', to: '\u{1f6ec}', }, - Range { from: '\u{1f6ed}', to: '\u{1f6ef}', }, - Range { from: '\u{1f6f0}', to: '\u{1f6fc}', }, - Range { from: '\u{1f6fd}', to: '\u{1f6ff}', }, - Range { from: '\u{1f700}', to: '\u{1f773}', }, - Range { from: '\u{1f774}', to: '\u{1f77f}', }, - Range { from: '\u{1f780}', to: '\u{1f7d8}', }, - Range { from: '\u{1f7d9}', to: '\u{1f7df}', }, - Range { from: '\u{1f7e0}', to: '\u{1f7eb}', }, - Range { from: '\u{1f7ec}', to: '\u{1f7ff}', }, - Range { from: '\u{1f800}', to: '\u{1f80b}', }, - Range { from: '\u{1f80c}', to: '\u{1f80f}', }, - Range { from: '\u{1f810}', to: '\u{1f847}', }, - Range { from: '\u{1f848}', to: '\u{1f84f}', }, - Range { from: '\u{1f850}', to: '\u{1f859}', }, - Range { from: '\u{1f85a}', to: '\u{1f85f}', }, - Range { from: '\u{1f860}', to: '\u{1f887}', }, - Range { from: '\u{1f888}', to: '\u{1f88f}', }, - Range { from: '\u{1f890}', to: '\u{1f8ad}', }, - Range { from: '\u{1f8ae}', to: '\u{1f8af}', }, - Range { from: '\u{1f8b0}', to: '\u{1f8b1}', }, - Range { from: '\u{1f8b2}', to: '\u{1f8ff}', }, - Range { from: '\u{1f900}', to: '\u{1f978}', }, - Range { from: '\u{1f979}', to: '\u{1f979}', }, - Range { from: '\u{1f97a}', to: '\u{1f9cb}', }, - Range { from: '\u{1f9cc}', to: '\u{1f9cc}', }, - Range { from: '\u{1f9cd}', to: '\u{1fa53}', }, - Range { from: '\u{1fa54}', to: '\u{1fa5f}', }, - Range { from: '\u{1fa60}', to: '\u{1fa6d}', }, - Range { from: '\u{1fa6e}', to: '\u{1fa6f}', }, - Range { from: '\u{1fa70}', to: '\u{1fa74}', }, - Range { from: '\u{1fa75}', to: '\u{1fa77}', }, - Range { from: '\u{1fa78}', to: '\u{1fa7a}', }, - Range { from: '\u{1fa7b}', to: '\u{1fa7f}', }, - Range { from: '\u{1fa80}', to: '\u{1fa86}', }, - Range { from: '\u{1fa87}', to: '\u{1fa8f}', }, - Range { from: '\u{1fa90}', to: '\u{1faa8}', }, - Range { from: '\u{1faa9}', to: '\u{1faaf}', }, - Range { from: '\u{1fab0}', to: '\u{1fab6}', }, - Range { from: '\u{1fab7}', to: '\u{1fabf}', }, - Range { from: '\u{1fac0}', to: '\u{1fac2}', }, - Range { from: '\u{1fac3}', to: '\u{1facf}', }, - Range { from: '\u{1fad0}', to: '\u{1fad6}', }, - Range { from: '\u{1fad7}', to: '\u{1faff}', }, - Range { from: '\u{1fb00}', to: '\u{1fb92}', }, - Range { from: '\u{1fb93}', to: '\u{1fb93}', }, - Range { from: '\u{1fb94}', to: '\u{1fbca}', }, - Range { from: '\u{1fbcb}', to: '\u{1fbef}', }, - Range { from: '\u{1fbf0}', to: '\u{1fbf9}', }, - Range { from: '\u{1fbfa}', to: '\u{1ffff}', }, - Range { from: '\u{20000}', to: '\u{2a6dd}', }, - Range { from: '\u{2a6de}', to: '\u{2a6ff}', }, - Range { from: '\u{2a700}', to: '\u{2b734}', }, - Range { from: '\u{2b735}', to: '\u{2b73f}', }, - Range { from: '\u{2b740}', to: '\u{2b81d}', }, - Range { from: '\u{2b81e}', to: '\u{2b81f}', }, - Range { from: '\u{2b820}', to: '\u{2cea1}', }, - Range { from: '\u{2cea2}', to: '\u{2ceaf}', }, - Range { from: '\u{2ceb0}', to: '\u{2ebe0}', }, - Range { from: '\u{2ebe1}', to: '\u{2f7ff}', }, - Range { from: '\u{2f800}', to: '\u{2f830}', }, - Range { from: '\u{2f831}', to: '\u{2f833}', }, - Range { from: '\u{2f834}', to: '\u{2f844}', }, - Range { from: '\u{2f845}', to: '\u{2f846}', }, - Range { from: '\u{2f847}', to: '\u{2f869}', }, - Range { from: '\u{2f86a}', to: '\u{2f86b}', }, - Range { from: '\u{2f86c}', to: '\u{2f890}', }, - Range { from: '\u{2f891}', to: '\u{2f892}', }, - Range { from: '\u{2f893}', to: '\u{2f893}', }, - Range { from: '\u{2f894}', to: '\u{2f895}', }, - Range { from: '\u{2f896}', to: '\u{2f92b}', }, - Range { from: '\u{2f92c}', to: '\u{2f92d}', }, - Range { from: '\u{2f92e}', to: '\u{2f945}', }, - Range { from: '\u{2f946}', to: '\u{2f947}', }, - Range { from: '\u{2f948}', to: '\u{2f95c}', }, - Range { from: '\u{2f95d}', to: '\u{2f95e}', }, - Range { from: '\u{2f95f}', to: '\u{2f9fd}', }, - Range { from: '\u{2f9fe}', to: '\u{2f9ff}', }, - Range { from: '\u{2fa00}', to: '\u{2fa1d}', }, - Range { from: '\u{2fa1e}', to: '\u{2ffff}', }, - Range { from: '\u{30000}', to: '\u{3134a}', }, - Range { from: '\u{3134b}', to: '\u{e00ff}', }, - Range { from: '\u{e0100}', to: '\u{e01ef}', }, - Range { from: '\u{e01f0}', to: '\u{10ffff}', }, -]; - -static INDEX_TABLE: &[u16] = &[ - 32768, - 32769, - 32770, - 32771, - 32772, - 5, - 32799, - 32800, - 32801, - 32802, - 32803, - 32804, - 37, - 32808, - 41, - 32812, - 45, - 32817, - 50, - 32858, - 91, - 32909, - 142, - 32913, - 146, - 32920, - 153, - 32996, - 229, - 33008, - 241, - 33023, - 256, - 33037, - 33038, - 33039, - 33040, - 33041, - 33042, - 275, - 33058, - 291, - 33076, - 33077, - 310, - 33141, - 374, - 33147, - 380, - 33162, - 395, - 33172, - 405, - 33179, - 412, - 33185, - 418, - 33192, - 33193, - 33194, - 427, - 33203, - 33204, - 33205, - 438, - 33208, - 441, - 33249, - 33250, - 33251, - 484, - 33296, - 529, - 33348, - 581, - 33382, - 615, - 33451, - 684, - 33587, - 33588, - 33589, - 33590, - 33591, - 33592, - 33593, - 33594, - 33595, - 33596, - 33597, - 33598, - 33599, - 33600, - 33601, - 33602, - 835, - 33607, - 33608, - 33609, - 33610, - 33611, - 33612, - 33613, - 33614, - 33615, - 33616, - 33617, - 33618, - 33619, - 33620, - 33621, - 33622, - 855, - 33625, - 33626, - 33627, - 33628, - 33629, - 33630, - 33631, - 33632, - 33633, - 866, - 33642, - 33643, - 33644, - 33645, - 33646, - 33647, - 33648, - 33649, - 33650, - 883, - 33653, - 33654, - 33655, - 33656, - 33657, - 33658, - 33659, - 33660, - 33661, - 33662, - 33663, - 896, - 33668, - 33669, - 33670, - 33671, - 33672, - 33673, - 33674, - 33675, - 33676, - 33677, - 33678, - 33679, - 33680, - 913, - 33688, - 33689, - 922, - 33692, - 33693, - 33694, - 33695, - 33696, - 33697, - 33698, - 33699, - 932, - 33706, - 33707, - 33708, - 33709, - 33710, - 33711, - 33712, - 33713, - 33714, - 33715, - 33716, - 33717, - 33718, - 33719, - 33720, - 33721, - 33722, - 33723, - 33724, - 33725, - 33726, - 33727, - 33728, - 33729, - 33730, - 33731, - 33732, - 33733, - 33734, - 33735, - 33736, - 33737, - 33738, - 33739, - 33740, - 33741, - 33742, - 33743, - 33744, - 33745, - 33746, - 33747, - 33748, - 33749, - 33750, - 33751, - 33752, - 33753, - 33754, - 33755, - 33756, - 33757, - 33758, - 991, - 33762, - 33763, - 33764, - 33765, - 33766, - 33767, - 33768, - 33769, - 33770, - 33771, - 33772, - 33773, - 33774, - 1007, - 33778, - 33779, - 33780, - 33781, - 33782, - 33783, - 33784, - 33785, - 33786, - 33787, - 33788, - 33789, - 33790, - 33791, - 33792, - 33793, - 33794, - 33795, - 33796, - 33797, - 33798, - 33799, - 33800, - 33801, - 33802, - 33803, - 33804, - 33805, - 33806, - 33807, - 33808, - 33809, - 33810, - 33811, - 33812, - 33813, - 33814, - 33815, - 33816, - 33817, - 33818, - 33819, - 33820, - 33821, - 33822, - 33823, - 33824, - 33825, - 33826, - 33827, - 33828, - 33829, - 33830, - 33831, - 33832, - 33833, - 33834, - 33835, - 33836, - 33837, - 1070, - 33840, - 33841, - 33842, - 33843, - 33844, - 33845, - 33846, - 33847, - 33848, - 33849, - 33850, - 33851, - 33852, - 33853, - 33854, - 33855, - 33856, - 33857, - 33858, - 33859, - 33860, - 33861, - 33862, - 33863, - 33864, - 33865, - 33866, - 1099, - 33869, - 33870, - 33871, - 33872, - 33873, - 33874, - 1107, - 33878, - 33879, - 33880, - 33881, - 33882, - 33883, - 33884, - 33885, - 33886, - 33887, - 33888, - 33889, - 33890, - 1123, - 33894, - 33895, - 33896, - 1129, - 33900, - 33901, - 33902, - 33903, - 33904, - 1137, - 33908, - 33909, - 33910, - 33911, - 1144, - 33914, - 33915, - 33916, - 33917, - 33918, - 33919, - 33920, - 33921, - 33922, - 33923, - 33924, - 33925, - 33926, - 33927, - 33928, - 33929, - 33930, - 33931, - 33932, - 33933, - 33934, - 1167, - 33942, - 33943, - 33944, - 33945, - 33946, - 33947, - 33948, - 33949, - 33950, - 33951, - 33952, - 33953, - 33954, - 33955, - 33956, - 33957, - 33958, - 33959, - 33960, - 33961, - 33962, - 33963, - 33964, - 33965, - 33966, - 33967, - 33968, - 33969, - 33970, - 33971, - 33972, - 33973, - 33974, - 33975, - 33976, - 33977, - 33978, - 1211, - 33982, - 33983, - 33984, - 33985, - 33986, - 33987, - 33988, - 33989, - 33990, - 33991, - 33992, - 1225, - 33996, - 33997, - 33998, - 33999, - 34000, - 34001, - 34002, - 34003, - 34004, - 34005, - 34006, - 34007, - 34008, - 34009, - 34010, - 34011, - 1244, - 34018, - 34019, - 34020, - 34021, - 34022, - 34023, - 34024, - 34025, - 34026, - 34027, - 34028, - 34029, - 34030, - 34031, - 34032, - 34033, - 34034, - 34035, - 34036, - 34037, - 34038, - 34039, - 34040, - 34041, - 34042, - 34043, - 34044, - 34045, - 34046, - 34047, - 34048, - 34049, - 34050, - 34051, - 34052, - 34053, - 34054, - 34055, - 34056, - 34057, - 34058, - 34059, - 34060, - 34061, - 34062, - 34063, - 34064, - 34065, - 34066, - 34067, - 34068, - 34069, - 34070, - 34071, - 34072, - 34073, - 34074, - 34075, - 34076, - 34077, - 34078, - 34079, - 34080, - 34081, - 34082, - 34083, - 34084, - 34085, - 34086, - 34087, - 34088, - 34089, - 34090, - 34091, - 34092, - 34093, - 34094, - 34095, - 34096, - 34097, - 34098, - 34099, - 34100, - 34101, - 34102, - 1335, - 34107, - 1340, - 34111, - 1344, - 34155, - 1388, - 34159, - 34160, - 34161, - 34162, - 34163, - 1396, - 34227, - 34228, - 34229, - 1462, - 34267, - 34268, - 34269, - 1502, - 34419, - 1652, - 34422, - 1655, - 34520, - 1753, - 34529, - 34530, - 1763, - 34537, - 34538, - 1771, - 34547, - 1780, - 34556, - 34557, - 1790, - 34564, - 34565, - 1798, - 34574, - 1807, - 34597, - 1830, - 34646, - 1879, - 34677, - 34678, - 34679, - 34680, - 1913, - 34689, - 34690, - 34691, - 1924, - 34700, - 1933, - 34715, - 34716, - 34717, - 34718, - 1951, - 34721, - 34722, - 34723, - 34724, - 34725, - 34726, - 34727, - 34728, - 1961, - 34734, - 1967, - 34738, - 1971, - 34742, - 34743, - 34744, - 1977, - 34747, - 34748, - 34749, - 1982, - 34752, - 1985, - 34794, - 34795, - 34796, - 34797, - 34798, - 34799, - 34800, - 2033, - 34812, - 34813, - 34814, - 34815, - 2048, - 34819, - 2052, - 34822, - 34823, - 2056, - 34839, - 2072, - 34852, - 2085, - 34855, - 34856, - 2089, - 34860, - 2093, - 34909, - 34910, - 34911, - 34912, - 34913, - 34914, - 34915, - 2148, - 34921, - 34922, - 34923, - 34924, - 34925, - 2158, - 34928, - 34929, - 34930, - 34931, - 2164, - 34972, - 2205, - 35052, - 35053, - 35054, - 2287, - 35058, - 35059, - 35060, - 35061, - 35062, - 35063, - 35064, - 2297, - 35113, - 2346, - 35120, - 2353, - 35133, - 35134, - 35135, - 2368, - 35239, - 2472, - 35243, - 2476, - 35246, - 35247, - 2480, - 35250, - 35251, - 35252, - 35253, - 35254, - 2487, - 35257, - 35258, - 35259, - 35260, - 35261, - 35262, - 35263, - 35264, - 35265, - 35266, - 35267, - 35268, - 35269, - 35270, - 35271, - 35272, - 35273, - 35274, - 35275, - 35276, - 35277, - 35278, - 35279, - 35280, - 35281, - 35282, - 35283, - 35284, - 2517, - 35499, - 2732, - 35503, - 2736, - 35509, - 35510, - 35511, - 35512, - 35513, - 2746, - 35516, - 35517, - 35518, - 35519, - 35520, - 35521, - 2754, - 35618, - 2851, - 35633, - 35634, - 35635, - 2868, - 35708, - 2941, - 36141, - 36142, - 36143, - 36144, - 36145, - 36146, - 36147, - 36148, - 3381, - 36194, - 3427, - 36225, - 36226, - 36227, - 3460, - 36241, - 3474, - 36305, - 3538, - 36320, - 3553, - 36324, - 3557, - 36328, - 3561, - 36371, - 3604, - 36381, - 36382, - 36383, - 3616, - 36386, - 36387, - 36388, - 36389, - 36390, - 36391, - 36392, - 36393, - 36394, - 36395, - 36396, - 36397, - 36398, - 36399, - 36400, - 36401, - 36402, - 36403, - 36404, - 36405, - 36406, - 36407, - 36408, - 36409, - 36410, - 36411, - 36412, - 36413, - 36414, - 36415, - 36416, - 36417, - 36418, - 36419, - 36420, - 36421, - 36422, - 36423, - 36424, - 36425, - 36426, - 3659, - 36431, - 36432, - 36433, - 36434, - 3667, - 36515, - 36516, - 36517, - 36518, - 36519, - 36520, - 36521, - 36522, - 36523, - 36524, - 3757, - 36532, - 3765, - 36794, - 4027, - 36798, - 4031, - 36813, - 4046, - 36816, - 4049, - 36868, - 4101, - 36884, - 4117, - 36991, - 4224, - 36997, - 36998, - 4231, - 37004, - 4237, - 37056, - 37057, - 37058, - 37059, - 37060, - 37061, - 37062, - 37063, - 37064, - 37065, - 37066, - 37067, - 37068, - 37069, - 37070, - 37071, - 37072, - 37073, - 37074, - 37075, - 37076, - 37077, - 37078, - 37079, - 37080, - 37081, - 37082, - 37083, - 37084, - 37085, - 37086, - 37087, - 37088, - 37089, - 37090, - 37091, - 37092, - 37093, - 37094, - 37095, - 37096, - 37097, - 37098, - 37099, - 37100, - 37101, - 37102, - 37103, - 37104, - 37105, - 37106, - 4339, - 37423, - 37424, - 37425, - 37426, - 37427, - 4660, - 37433, - 4666, - 37439, - 37440, - 37441, - 37442, - 37443, - 37444, - 37445, - 37446, - 37447, - 37448, - 37449, - 37450, - 4683, - 37454, - 4687, - 37459, - 4692, - 37465, - 37466, - 37467, - 4700, - 37475, - 4708, - 37481, - 4714, - 37485, - 4718, - 37528, - 4761, - 37543, - 37544, - 4777, - 37554, - 37555, - 4788, - 37559, - 4792, - 37576, - 4809, - 37579, - 37580, - 4813, - 37583, - 4816, - 37608, - 4841, - 37626, - 37627, - 37628, - 37629, - 37630, - 37631, - 37632, - 37633, - 37634, - 37635, - 37636, - 37637, - 37638, - 37639, - 37640, - 37641, - 37642, - 37643, - 37644, - 37645, - 37646, - 37647, - 37648, - 37649, - 37650, - 37651, - 37652, - 37653, - 37654, - 37655, - 37656, - 37657, - 37658, - 37659, - 37660, - 37661, - 37662, - 37663, - 37664, - 37665, - 4898, - 37858, - 5091, - 37865, - 5098, - 37872, - 5105, - 37879, - 5112, - 37883, - 5116, - 37899, - 37900, - 37901, - 37902, - 37903, - 37904, - 37905, - 37906, - 37907, - 37908, - 37909, - 37910, - 37911, - 37912, - 37913, - 37914, - 37915, - 37916, - 37917, - 37918, - 37919, - 37920, - 37921, - 37922, - 37923, - 37924, - 37925, - 37926, - 37927, - 37928, - 37929, - 37930, - 37931, - 37932, - 37933, - 37934, - 37935, - 37936, - 37937, - 37938, - 37939, - 37940, - 37941, - 37942, - 37943, - 5176, - 37984, - 37985, - 37986, - 37987, - 5220, - 38024, - 38025, - 38026, - 38027, - 38028, - 38029, - 38030, - 38031, - 38032, - 38033, - 38034, - 38035, - 38036, - 38037, - 38038, - 38039, - 38040, - 5273, - 38043, - 38044, - 38045, - 38046, - 38047, - 38048, - 38049, - 38050, - 38051, - 38052, - 38053, - 38054, - 38055, - 38056, - 38057, - 38058, - 38059, - 38060, - 38061, - 38062, - 38063, - 38064, - 38065, - 38066, - 38067, - 38068, - 38069, - 38070, - 38071, - 38072, - 38073, - 38074, - 38075, - 38076, - 38077, - 38078, - 38079, - 38080, - 38081, - 38082, - 38083, - 38084, - 38085, - 38086, - 38087, - 38088, - 38089, - 38090, - 38091, - 38092, - 38093, - 38094, - 38095, - 38096, - 38097, - 38098, - 38099, - 38100, - 38101, - 38102, - 38103, - 38104, - 5337, - 38156, - 38157, - 38158, - 38159, - 38160, - 38161, - 38162, - 38163, - 38164, - 38165, - 38166, - 38167, - 38168, - 38169, - 38170, - 38171, - 38172, - 38173, - 38174, - 38175, - 38176, - 38177, - 38178, - 38179, - 38180, - 38181, - 38182, - 38183, - 38184, - 38185, - 38186, - 38187, - 38188, - 38189, - 38190, - 38191, - 38192, - 38193, - 38194, - 38195, - 38196, - 38197, - 38198, - 38199, - 38200, - 38201, - 38202, - 38203, - 38204, - 38205, - 5438, - 38209, - 38210, - 38211, - 38212, - 38213, - 38214, - 38215, - 38216, - 38217, - 38218, - 38219, - 38220, - 38221, - 38222, - 38223, - 38224, - 38225, - 38226, - 38227, - 38228, - 38229, - 38230, - 38231, - 38232, - 38233, - 38234, - 38235, - 38236, - 38237, - 38238, - 38239, - 38240, - 38241, - 38242, - 38243, - 38244, - 38245, - 38246, - 38247, - 38248, - 38249, - 38250, - 38251, - 38252, - 38253, - 38254, - 38255, - 38256, - 38257, - 38258, - 38259, - 38260, - 38261, - 38262, - 38263, - 38264, - 38265, - 38266, - 38267, - 38268, - 38269, - 38270, - 38271, - 38272, - 38273, - 38274, - 38275, - 38276, - 38277, - 38278, - 5511, - 38311, - 38312, - 38313, - 38314, - 38315, - 38316, - 38317, - 38318, - 38319, - 38320, - 38321, - 38322, - 38323, - 38324, - 38325, - 38326, - 38327, - 38328, - 38329, - 38330, - 38331, - 38332, - 38333, - 38334, - 38335, - 38336, - 38337, - 38338, - 38339, - 38340, - 38341, - 38342, - 38343, - 38344, - 38345, - 38346, - 38347, - 38348, - 38349, - 38350, - 38351, - 38352, - 38353, - 38354, - 38355, - 38356, - 38357, - 38358, - 38359, - 38360, - 5593, - 38363, - 38364, - 38365, - 38366, - 38367, - 38368, - 38369, - 38370, - 38371, - 38372, - 38373, - 38374, - 38375, - 38376, - 38377, - 38378, - 38379, - 38380, - 38381, - 38382, - 38383, - 38384, - 38385, - 38386, - 38387, - 38388, - 38389, - 38390, - 38391, - 38392, - 38393, - 38394, - 38395, - 38396, - 38397, - 38398, - 38399, - 38400, - 38401, - 38402, - 38403, - 38404, - 38405, - 38406, - 38407, - 38408, - 38409, - 38410, - 38411, - 38412, - 38413, - 38414, - 38415, - 38416, - 38417, - 38418, - 38419, - 38420, - 5653, - 38453, - 38454, - 38455, - 38456, - 38457, - 38458, - 38459, - 38460, - 38461, - 38462, - 38463, - 38464, - 38465, - 38466, - 38467, - 38468, - 38469, - 38470, - 38471, - 38472, - 38473, - 38474, - 38475, - 38476, - 38477, - 38478, - 38479, - 38480, - 38481, - 38482, - 38483, - 38484, - 38485, - 38486, - 38487, - 38488, - 38489, - 38490, - 38491, - 38492, - 38493, - 38494, - 5727, - 38502, - 38503, - 38504, - 5737, - 38511, - 38512, - 38513, - 38514, - 38515, - 38516, - 38517, - 38518, - 38519, - 38520, - 5753, - 38681, - 38682, - 38683, - 5916, - 38686, - 5919, - 38785, - 6018, - 38844, - 6077, - 39193, - 6426, - 39237, - 6470, - 39294, - 6527, - 39351, - 6584, - 39408, - 6641, - 39465, - 6698, - 39479, - 39480, - 6713, - 39531, - 39532, - 39533, - 39534, - 39535, - 39536, - 39537, - 39538, - 39539, - 39540, - 39541, - 39542, - 39543, - 39544, - 39545, - 39546, - 39547, - 39548, - 39549, - 39550, - 39551, - 39552, - 39553, - 39554, - 39555, - 39556, - 39557, - 39558, - 39559, - 39560, - 39561, - 39562, - 6795, - 39597, - 39598, - 39599, - 39600, - 39601, - 39602, - 39603, - 39604, - 39605, - 39606, - 6839, - 39644, - 6877, - 39666, - 39667, - 39668, - 6901, - 39683, - 6916, - 39698, - 6931, - 39752, - 6985, - 39780, - 39781, - 39782, - 39783, - 39784, - 39785, - 39786, - 39787, - 39788, - 39789, - 39790, - 39791, - 39792, - 39793, - 39794, - 7027, - 39805, - 7038, - 39870, - 7103, - 39874, - 39875, - 39876, - 39877, - 39878, - 7111, - 39882, - 7115, - 39927, - 7160, - 39937, - 7170, - 39940, - 39941, - 39942, - 39943, - 39944, - 39945, - 39946, - 39947, - 39948, - 39949, - 39950, - 39951, - 39952, - 39953, - 39954, - 39955, - 39956, - 39957, - 39958, - 39959, - 39960, - 39961, - 39962, - 39963, - 39964, - 39965, - 39966, - 39967, - 39968, - 39969, - 39970, - 39971, - 39972, - 39973, - 39974, - 39975, - 39976, - 39977, - 39978, - 39979, - 39980, - 39981, - 39982, - 39983, - 39984, - 39985, - 39986, - 39987, - 39988, - 39989, - 39990, - 39991, - 39992, - 7225, - 40003, - 40004, - 40005, - 40006, - 40007, - 40008, - 40009, - 40010, - 40011, - 40012, - 40013, - 7246, - 40063, - 7296, - 40081, - 7314, - 40117, - 7350, - 40155, - 40156, - 40157, - 7390, - 40308, - 7541, - 40333, - 7566, - 40355, - 7588, - 40515, - 7748, - 40546, - 40547, - 40548, - 40549, - 40550, +static TABLE: &[(char, u16)] = &[ + ('\u{0}', 32768), + ('\u{2d}', 32769), + ('\u{2f}', 32770), + ('\u{30}', 32771), + ('\u{3a}', 32772), + ('\u{41}', 5), + ('\u{5b}', 32799), + ('\u{61}', 32800), + ('\u{7b}', 32801), + ('\u{80}', 32802), + ('\u{a0}', 32803), + ('\u{a1}', 32804), + ('\u{a8}', 37), + ('\u{ab}', 32808), + ('\u{ad}', 41), + ('\u{b0}', 32812), + ('\u{b2}', 45), + ('\u{e0}', 32859), + ('\u{f7}', 32860), + ('\u{f8}', 32861), + ('\u{100}', 94), + ('\u{132}', 32912), + ('\u{134}', 145), + ('\u{137}', 32916), + ('\u{139}', 149), + ('\u{13f}', 32923), + ('\u{141}', 156), + ('\u{18c}', 32999), + ('\u{18e}', 232), + ('\u{199}', 33011), + ('\u{19c}', 244), + ('\u{1aa}', 33026), + ('\u{1ac}', 259), + ('\u{1b9}', 33040), + ('\u{1bc}', 33041), + ('\u{1bd}', 33042), + ('\u{1c4}', 33043), + ('\u{1c7}', 33044), + ('\u{1ca}', 33045), + ('\u{1cd}', 278), + ('\u{1dc}', 33061), + ('\u{1de}', 294), + ('\u{1ef}', 33079), + ('\u{1f1}', 33080), + ('\u{1f4}', 313), + ('\u{233}', 33144), + ('\u{23a}', 377), + ('\u{23f}', 33150), + ('\u{241}', 383), + ('\u{24f}', 33165), + ('\u{2b0}', 398), + ('\u{2b9}', 33175), + ('\u{2c2}', 33176), + ('\u{2c6}', 33177), + ('\u{2d2}', 33178), + ('\u{2d8}', 411), + ('\u{2de}', 33185), + ('\u{2e0}', 418), + ('\u{2e5}', 33191), + ('\u{2ec}', 424), + ('\u{2ef}', 33195), + ('\u{300}', 33196), + ('\u{340}', 429), + ('\u{346}', 33203), + ('\u{34f}', 33204), + ('\u{350}', 33205), + ('\u{370}', 438), + ('\u{378}', 33214), + ('\u{37a}', 33215), + ('\u{37b}', 33216), + ('\u{37e}', 449), + ('\u{380}', 33219), + ('\u{384}', 452), + ('\u{3ac}', 33260), + ('\u{3c2}', 33261), + ('\u{3c3}', 33262), + ('\u{3cf}', 495), + ('\u{3fb}', 33307), + ('\u{3fd}', 540), + ('\u{430}', 33359), + ('\u{460}', 592), + ('\u{483}', 33395), + ('\u{488}', 33396), + ('\u{48a}', 629), + ('\u{4ce}', 33465), + ('\u{4d0}', 698), + ('\u{557}', 33601), + ('\u{559}', 33602), + ('\u{55a}', 33603), + ('\u{560}', 33604), + ('\u{587}', 837), + ('\u{589}', 33607), + ('\u{58b}', 33608), + ('\u{58d}', 33609), + ('\u{590}', 33610), + ('\u{591}', 33611), + ('\u{5be}', 844), + ('\u{5c1}', 33615), + ('\u{5c3}', 33616), + ('\u{5c4}', 33617), + ('\u{5c6}', 850), + ('\u{5c8}', 33620), + ('\u{5d0}', 33621), + ('\u{5eb}', 33622), + ('\u{5ef}', 33623), + ('\u{5f5}', 33624), + ('\u{606}', 33625), + ('\u{610}', 33626), + ('\u{61b}', 33627), + ('\u{61c}', 33628), + ('\u{61e}', 33629), + ('\u{620}', 33630), + ('\u{640}', 33631), + ('\u{641}', 33632), + ('\u{66a}', 33633), + ('\u{66e}', 33634), + ('\u{675}', 867), + ('\u{679}', 33639), + ('\u{6d4}', 33640), + ('\u{6d5}', 33641), + ('\u{6dd}', 874), + ('\u{6df}', 33644), + ('\u{6e9}', 33645), + ('\u{6ea}', 33646), + ('\u{700}', 33647), + ('\u{70e}', 33648), + ('\u{710}', 33649), + ('\u{74b}', 33650), + ('\u{74d}', 33651), + ('\u{7b2}', 33652), + ('\u{7c0}', 33653), + ('\u{7f6}', 33654), + ('\u{7fb}', 33655), + ('\u{7fd}', 33656), + ('\u{7fe}', 33657), + ('\u{800}', 33658), + ('\u{82e}', 33659), + ('\u{830}', 33660), + ('\u{83f}', 33661), + ('\u{840}', 33662), + ('\u{85c}', 33663), + ('\u{85e}', 896), + ('\u{860}', 33666), + ('\u{86b}', 33667), + ('\u{8a0}', 33668), + ('\u{8b5}', 33669), + ('\u{8b6}', 33670), + ('\u{8c8}', 33671), + ('\u{8d3}', 33672), + ('\u{8e2}', 33673), + ('\u{8e3}', 33674), + ('\u{958}', 907), + ('\u{960}', 33683), + ('\u{964}', 33684), + ('\u{966}', 33685), + ('\u{970}', 33686), + ('\u{971}', 33687), + ('\u{984}', 33688), + ('\u{985}', 33689), + ('\u{98d}', 33690), + ('\u{98f}', 33691), + ('\u{991}', 33692), + ('\u{993}', 33693), + ('\u{9a9}', 33694), + ('\u{9aa}', 33695), + ('\u{9b1}', 928), + ('\u{9b3}', 33698), + ('\u{9b6}', 33699), + ('\u{9ba}', 33700), + ('\u{9bc}', 33701), + ('\u{9c5}', 33702), + ('\u{9c7}', 33703), + ('\u{9c9}', 33704), + ('\u{9cb}', 33705), + ('\u{9cf}', 33706), + ('\u{9d7}', 33707), + ('\u{9d8}', 33708), + ('\u{9dc}', 941), + ('\u{9e0}', 33713), + ('\u{9e4}', 33714), + ('\u{9e6}', 33715), + ('\u{9f2}', 33716), + ('\u{9fc}', 949), + ('\u{9ff}', 33720), + ('\u{a01}', 33721), + ('\u{a04}', 33722), + ('\u{a05}', 33723), + ('\u{a0b}', 33724), + ('\u{a0f}', 33725), + ('\u{a11}', 33726), + ('\u{a13}', 33727), + ('\u{a29}', 33728), + ('\u{a2a}', 33729), + ('\u{a31}', 962), + ('\u{a38}', 33737), + ('\u{a3a}', 33738), + ('\u{a3c}', 971), + ('\u{a3e}', 33741), + ('\u{a43}', 33742), + ('\u{a47}', 33743), + ('\u{a49}', 33744), + ('\u{a4b}', 33745), + ('\u{a4e}', 33746), + ('\u{a51}', 33747), + ('\u{a52}', 33748), + ('\u{a59}', 981), + ('\u{a5f}', 33755), + ('\u{a66}', 33756), + ('\u{a76}', 33757), + ('\u{a77}', 33758), + ('\u{a81}', 33759), + ('\u{a84}', 33760), + ('\u{a85}', 33761), + ('\u{a8e}', 33762), + ('\u{a8f}', 33763), + ('\u{a92}', 33764), + ('\u{a93}', 33765), + ('\u{aa9}', 33766), + ('\u{aaa}', 33767), + ('\u{ab1}', 33768), + ('\u{ab2}', 33769), + ('\u{ab4}', 33770), + ('\u{ab5}', 33771), + ('\u{aba}', 33772), + ('\u{abc}', 33773), + ('\u{ac6}', 33774), + ('\u{ac7}', 33775), + ('\u{aca}', 33776), + ('\u{acb}', 33777), + ('\u{ace}', 33778), + ('\u{ad0}', 33779), + ('\u{ad1}', 33780), + ('\u{ae0}', 33781), + ('\u{ae4}', 33782), + ('\u{ae6}', 33783), + ('\u{af0}', 33784), + ('\u{af2}', 33785), + ('\u{af9}', 33786), + ('\u{b00}', 33787), + ('\u{b01}', 33788), + ('\u{b04}', 33789), + ('\u{b05}', 33790), + ('\u{b0d}', 33791), + ('\u{b0f}', 33792), + ('\u{b11}', 33793), + ('\u{b13}', 33794), + ('\u{b29}', 33795), + ('\u{b2a}', 33796), + ('\u{b31}', 33797), + ('\u{b32}', 33798), + ('\u{b34}', 33799), + ('\u{b35}', 33800), + ('\u{b3a}', 33801), + ('\u{b3c}', 33802), + ('\u{b45}', 33803), + ('\u{b47}', 33804), + ('\u{b49}', 33805), + ('\u{b4b}', 33806), + ('\u{b4e}', 33807), + ('\u{b55}', 33808), + ('\u{b58}', 33809), + ('\u{b5c}', 1042), + ('\u{b5f}', 33813), + ('\u{b64}', 33814), + ('\u{b66}', 33815), + ('\u{b70}', 1048), + ('\u{b72}', 33818), + ('\u{b78}', 33819), + ('\u{b82}', 33820), + ('\u{b84}', 33821), + ('\u{b85}', 33822), + ('\u{b8b}', 33823), + ('\u{b8e}', 33824), + ('\u{b91}', 33825), + ('\u{b92}', 33826), + ('\u{b96}', 33827), + ('\u{b99}', 33828), + ('\u{b9b}', 1061), + ('\u{b9e}', 33832), + ('\u{ba0}', 33833), + ('\u{ba3}', 33834), + ('\u{ba5}', 33835), + ('\u{ba8}', 33836), + ('\u{bab}', 33837), + ('\u{bae}', 33838), + ('\u{bba}', 33839), + ('\u{bbe}', 33840), + ('\u{bc3}', 33841), + ('\u{bc6}', 33842), + ('\u{bc9}', 33843), + ('\u{bca}', 33844), + ('\u{bce}', 33845), + ('\u{bd0}', 33846), + ('\u{bd1}', 33847), + ('\u{bd7}', 33848), + ('\u{bd8}', 33849), + ('\u{be6}', 33850), + ('\u{bf0}', 33851), + ('\u{bfb}', 33852), + ('\u{c00}', 33853), + ('\u{c0d}', 33854), + ('\u{c0e}', 33855), + ('\u{c11}', 33856), + ('\u{c12}', 33857), + ('\u{c29}', 33858), + ('\u{c2a}', 33859), + ('\u{c3a}', 33860), + ('\u{c3d}', 33861), + ('\u{c45}', 33862), + ('\u{c46}', 33863), + ('\u{c49}', 33864), + ('\u{c4a}', 33865), + ('\u{c4e}', 33866), + ('\u{c55}', 33867), + ('\u{c57}', 33868), + ('\u{c58}', 33869), + ('\u{c5b}', 33870), + ('\u{c60}', 33871), + ('\u{c64}', 33872), + ('\u{c66}', 33873), + ('\u{c70}', 33874), + ('\u{c77}', 33875), + ('\u{c80}', 33876), + ('\u{c84}', 33877), + ('\u{c85}', 33878), + ('\u{c8d}', 33879), + ('\u{c8e}', 33880), + ('\u{c91}', 33881), + ('\u{c92}', 33882), + ('\u{ca9}', 33883), + ('\u{caa}', 33884), + ('\u{cb4}', 33885), + ('\u{cb5}', 33886), + ('\u{cba}', 33887), + ('\u{cbc}', 33888), + ('\u{cc5}', 33889), + ('\u{cc6}', 33890), + ('\u{cc9}', 33891), + ('\u{cca}', 33892), + ('\u{cce}', 33893), + ('\u{cd5}', 33894), + ('\u{cd7}', 33895), + ('\u{cde}', 1128), + ('\u{ce0}', 33898), + ('\u{ce4}', 33899), + ('\u{ce6}', 33900), + ('\u{cf0}', 33901), + ('\u{cf1}', 33902), + ('\u{cf3}', 33903), + ('\u{d00}', 33904), + ('\u{d0d}', 33905), + ('\u{d0e}', 33906), + ('\u{d11}', 33907), + ('\u{d12}', 33908), + ('\u{d45}', 33909), + ('\u{d46}', 33910), + ('\u{d49}', 33911), + ('\u{d4a}', 33912), + ('\u{d4f}', 33913), + ('\u{d50}', 33914), + ('\u{d54}', 33915), + ('\u{d58}', 33916), + ('\u{d5f}', 33917), + ('\u{d64}', 33918), + ('\u{d66}', 33919), + ('\u{d70}', 33920), + ('\u{d7a}', 33921), + ('\u{d80}', 33922), + ('\u{d81}', 33923), + ('\u{d84}', 33924), + ('\u{d85}', 33925), + ('\u{d97}', 33926), + ('\u{d9a}', 33927), + ('\u{db2}', 33928), + ('\u{db3}', 33929), + ('\u{dbc}', 1162), + ('\u{dbe}', 33932), + ('\u{dc0}', 33933), + ('\u{dc7}', 33934), + ('\u{dca}', 33935), + ('\u{dcb}', 33936), + ('\u{dcf}', 33937), + ('\u{dd5}', 1170), + ('\u{dd8}', 33941), + ('\u{de0}', 33942), + ('\u{de6}', 33943), + ('\u{df0}', 33944), + ('\u{df2}', 33945), + ('\u{df4}', 33946), + ('\u{df5}', 33947), + ('\u{e01}', 33948), + ('\u{e33}', 33949), + ('\u{e34}', 33950), + ('\u{e3b}', 33951), + ('\u{e3f}', 33952), + ('\u{e40}', 33953), + ('\u{e4f}', 33954), + ('\u{e50}', 33955), + ('\u{e5a}', 33956), + ('\u{e5c}', 33957), + ('\u{e81}', 33958), + ('\u{e83}', 1191), + ('\u{e86}', 33962), + ('\u{e8b}', 33963), + ('\u{e8c}', 33964), + ('\u{ea4}', 1197), + ('\u{ea7}', 33968), + ('\u{eb3}', 33969), + ('\u{eb4}', 33970), + ('\u{ebe}', 33971), + ('\u{ec0}', 33972), + ('\u{ec5}', 1205), + ('\u{ec8}', 33976), + ('\u{ece}', 33977), + ('\u{ed0}', 33978), + ('\u{eda}', 33979), + ('\u{edc}', 1212), + ('\u{ede}', 33982), + ('\u{ee0}', 33983), + ('\u{f00}', 33984), + ('\u{f01}', 33985), + ('\u{f0b}', 1218), + ('\u{f0d}', 33988), + ('\u{f18}', 33989), + ('\u{f1a}', 33990), + ('\u{f20}', 33991), + ('\u{f2a}', 33992), + ('\u{f35}', 1225), + ('\u{f3a}', 33998), + ('\u{f3e}', 33999), + ('\u{f43}', 34000), + ('\u{f44}', 34001), + ('\u{f48}', 34002), + ('\u{f49}', 34003), + ('\u{f4d}', 34004), + ('\u{f4e}', 34005), + ('\u{f52}', 34006), + ('\u{f53}', 34007), + ('\u{f57}', 34008), + ('\u{f58}', 34009), + ('\u{f5c}', 34010), + ('\u{f5d}', 34011), + ('\u{f69}', 34012), + ('\u{f6a}', 34013), + ('\u{f6d}', 34014), + ('\u{f71}', 34015), + ('\u{f73}', 1248), + ('\u{f7a}', 34023), + ('\u{f81}', 34024), + ('\u{f82}', 34025), + ('\u{f85}', 34026), + ('\u{f86}', 34027), + ('\u{f93}', 34028), + ('\u{f94}', 34029), + ('\u{f98}', 34030), + ('\u{f99}', 34031), + ('\u{f9d}', 34032), + ('\u{f9e}', 34033), + ('\u{fa2}', 34034), + ('\u{fa3}', 34035), + ('\u{fa7}', 34036), + ('\u{fa8}', 34037), + ('\u{fac}', 34038), + ('\u{fad}', 34039), + ('\u{fb9}', 34040), + ('\u{fba}', 34041), + ('\u{fbd}', 34042), + ('\u{fbe}', 34043), + ('\u{fc6}', 34044), + ('\u{fc7}', 34045), + ('\u{fcd}', 34046), + ('\u{fce}', 34047), + ('\u{fdb}', 34048), + ('\u{1000}', 34049), + ('\u{104a}', 34050), + ('\u{1050}', 34051), + ('\u{109e}', 34052), + ('\u{10a0}', 34053), + ('\u{10c7}', 34054), + ('\u{10c8}', 34055), + ('\u{10cd}', 34056), + ('\u{10ce}', 34057), + ('\u{10d0}', 34058), + ('\u{10fb}', 1291), + ('\u{10fd}', 34061), + ('\u{1100}', 34062), + ('\u{115f}', 34063), + ('\u{1161}', 34064), + ('\u{1200}', 34065), + ('\u{1249}', 34066), + ('\u{124a}', 34067), + ('\u{124e}', 34068), + ('\u{1250}', 34069), + ('\u{1257}', 1302), + ('\u{125a}', 34073), + ('\u{125e}', 34074), + ('\u{1260}', 34075), + ('\u{1289}', 34076), + ('\u{128a}', 34077), + ('\u{128e}', 34078), + ('\u{1290}', 34079), + ('\u{12b1}', 34080), + ('\u{12b2}', 34081), + ('\u{12b6}', 34082), + ('\u{12b8}', 34083), + ('\u{12bf}', 1316), + ('\u{12c2}', 34087), + ('\u{12c6}', 34088), + ('\u{12c8}', 34089), + ('\u{12d7}', 34090), + ('\u{12d8}', 34091), + ('\u{1311}', 34092), + ('\u{1312}', 34093), + ('\u{1316}', 34094), + ('\u{1318}', 34095), + ('\u{135b}', 34096), + ('\u{135d}', 34097), + ('\u{1360}', 34098), + ('\u{137d}', 34099), + ('\u{1380}', 34100), + ('\u{1390}', 34101), + ('\u{139a}', 34102), + ('\u{13a0}', 34103), + ('\u{13f6}', 34104), + ('\u{13f8}', 1337), + ('\u{13fe}', 34111), + ('\u{1400}', 34112), + ('\u{1401}', 34113), + ('\u{166d}', 34114), + ('\u{166f}', 34115), + ('\u{1680}', 34116), + ('\u{1681}', 34117), + ('\u{169b}', 34118), + ('\u{169d}', 34119), + ('\u{16a0}', 34120), + ('\u{16eb}', 34121), + ('\u{16f1}', 34122), + ('\u{16f9}', 34123), + ('\u{1700}', 34124), + ('\u{170d}', 34125), + ('\u{170e}', 34126), + ('\u{1715}', 34127), + ('\u{1720}', 34128), + ('\u{1735}', 34129), + ('\u{1737}', 34130), + ('\u{1740}', 34131), + ('\u{1754}', 34132), + ('\u{1760}', 34133), + ('\u{176d}', 34134), + ('\u{176e}', 34135), + ('\u{1771}', 34136), + ('\u{1772}', 34137), + ('\u{1774}', 34138), + ('\u{1780}', 34139), + ('\u{17b4}', 34140), + ('\u{17b6}', 34141), + ('\u{17d4}', 34142), + ('\u{17d7}', 34143), + ('\u{17d8}', 34144), + ('\u{17dc}', 34145), + ('\u{17de}', 34146), + ('\u{17e0}', 34147), + ('\u{17ea}', 34148), + ('\u{17f0}', 34149), + ('\u{17fa}', 34150), + ('\u{1800}', 34151), + ('\u{1806}', 34152), + ('\u{1807}', 34153), + ('\u{180b}', 34154), + ('\u{180e}', 34155), + ('\u{1810}', 34156), + ('\u{181a}', 34157), + ('\u{1820}', 34158), + ('\u{1879}', 34159), + ('\u{1880}', 34160), + ('\u{18ab}', 34161), + ('\u{18b0}', 34162), + ('\u{18f6}', 34163), + ('\u{1900}', 34164), + ('\u{191f}', 34165), + ('\u{1920}', 34166), + ('\u{192c}', 34167), + ('\u{1930}', 34168), + ('\u{193c}', 34169), + ('\u{1940}', 34170), + ('\u{1941}', 34171), + ('\u{1944}', 34172), + ('\u{1946}', 34173), + ('\u{196e}', 34174), + ('\u{1970}', 34175), + ('\u{1975}', 34176), + ('\u{1980}', 34177), + ('\u{19ac}', 34178), + ('\u{19b0}', 34179), + ('\u{19ca}', 34180), + ('\u{19d0}', 34181), + ('\u{19da}', 34182), + ('\u{19db}', 34183), + ('\u{19de}', 34184), + ('\u{1a00}', 34185), + ('\u{1a1c}', 34186), + ('\u{1a1e}', 34187), + ('\u{1a20}', 34188), + ('\u{1a5f}', 34189), + ('\u{1a60}', 34190), + ('\u{1a7d}', 34191), + ('\u{1a7f}', 34192), + ('\u{1a8a}', 34193), + ('\u{1a90}', 34194), + ('\u{1a9a}', 34195), + ('\u{1aa0}', 34196), + ('\u{1aa7}', 34197), + ('\u{1aa8}', 34198), + ('\u{1aae}', 34199), + ('\u{1ab0}', 34200), + ('\u{1abe}', 34201), + ('\u{1abf}', 34202), + ('\u{1ac1}', 34203), + ('\u{1b00}', 34204), + ('\u{1b4c}', 34205), + ('\u{1b50}', 34206), + ('\u{1b5a}', 34207), + ('\u{1b6b}', 34208), + ('\u{1b74}', 34209), + ('\u{1b7d}', 34210), + ('\u{1b80}', 34211), + ('\u{1bf4}', 34212), + ('\u{1bfc}', 34213), + ('\u{1c00}', 34214), + ('\u{1c38}', 34215), + ('\u{1c3b}', 34216), + ('\u{1c40}', 34217), + ('\u{1c4a}', 34218), + ('\u{1c4d}', 34219), + ('\u{1c7e}', 34220), + ('\u{1c80}', 1453), + ('\u{1c84}', 34225), + ('\u{1c86}', 1458), + ('\u{1c89}', 34229), + ('\u{1c90}', 1462), + ('\u{1cbb}', 34273), + ('\u{1cbd}', 1506), + ('\u{1cc0}', 34277), + ('\u{1cc8}', 34278), + ('\u{1cd0}', 34279), + ('\u{1cd3}', 34280), + ('\u{1cd4}', 34281), + ('\u{1cfb}', 34282), + ('\u{1d00}', 34283), + ('\u{1d2c}', 1516), + ('\u{1d6b}', 34347), + ('\u{1d78}', 34348), + ('\u{1d79}', 34349), + ('\u{1d9b}', 1582), + ('\u{1dc0}', 34387), + ('\u{1dfa}', 34388), + ('\u{1dfb}', 34389), + ('\u{1e00}', 1622), + ('\u{1e95}', 34539), + ('\u{1e9a}', 1772), + ('\u{1e9c}', 34542), + ('\u{1e9e}', 1775), + ('\u{1eff}', 34640), + ('\u{1f08}', 1873), + ('\u{1f10}', 34649), + ('\u{1f16}', 34650), + ('\u{1f18}', 1883), + ('\u{1f1e}', 34657), + ('\u{1f20}', 34658), + ('\u{1f28}', 1891), + ('\u{1f30}', 34667), + ('\u{1f38}', 1900), + ('\u{1f40}', 34676), + ('\u{1f46}', 34677), + ('\u{1f48}', 1910), + ('\u{1f4e}', 34684), + ('\u{1f50}', 34685), + ('\u{1f58}', 1918), + ('\u{1f60}', 34694), + ('\u{1f68}', 1927), + ('\u{1f7e}', 34717), + ('\u{1f80}', 1950), + ('\u{1fb0}', 34766), + ('\u{1fb2}', 1999), + ('\u{1fd0}', 34797), + ('\u{1fd3}', 34798), + ('\u{1fd4}', 34799), + ('\u{1fd6}', 34800), + ('\u{1fd8}', 2033), + ('\u{1fe0}', 34809), + ('\u{1fe3}', 34810), + ('\u{1fe4}', 34811), + ('\u{1fe8}', 2044), + ('\u{1ff0}', 34820), + ('\u{1ff2}', 2053), + ('\u{2000}', 34835), + ('\u{200b}', 34836), + ('\u{200c}', 34837), + ('\u{200e}', 34838), + ('\u{2010}', 2071), + ('\u{2012}', 34841), + ('\u{2017}', 34842), + ('\u{2018}', 34843), + ('\u{2024}', 34844), + ('\u{2027}', 34845), + ('\u{2028}', 34846), + ('\u{202f}', 34847), + ('\u{2030}', 34848), + ('\u{2033}', 2081), + ('\u{2038}', 34854), + ('\u{203c}', 2087), + ('\u{203f}', 34858), + ('\u{2047}', 2091), + ('\u{204a}', 34862), + ('\u{2057}', 34863), + ('\u{2058}', 34864), + ('\u{205f}', 2097), + ('\u{2061}', 34867), + ('\u{2064}', 34868), + ('\u{2065}', 34869), + ('\u{2070}', 2102), + ('\u{2072}', 34872), + ('\u{2074}', 2105), + ('\u{209d}', 34914), + ('\u{20a0}', 34915), + ('\u{20a8}', 34916), + ('\u{20a9}', 34917), + ('\u{20c0}', 34918), + ('\u{20d0}', 34919), + ('\u{20f1}', 34920), + ('\u{2100}', 2153), + ('\u{210b}', 34932), + ('\u{210f}', 34933), + ('\u{2110}', 34934), + ('\u{2112}', 34935), + ('\u{2114}', 2168), + ('\u{2117}', 34939), + ('\u{2119}', 2172), + ('\u{211b}', 34942), + ('\u{211e}', 34943), + ('\u{2120}', 2176), + ('\u{212f}', 34959), + ('\u{2131}', 2192), + ('\u{213d}', 34972), + ('\u{213f}', 2205), + ('\u{2141}', 34975), + ('\u{2145}', 34976), + ('\u{2147}', 2209), + ('\u{214a}', 34980), + ('\u{214e}', 2213), + ('\u{2180}', 35031), + ('\u{2183}', 2264), + ('\u{2185}', 35034), + ('\u{2189}', 35035), + ('\u{218a}', 35036), + ('\u{218c}', 35037), + ('\u{2190}', 35038), + ('\u{222c}', 2271), + ('\u{2231}', 35044), + ('\u{2260}', 35045), + ('\u{2261}', 35046), + ('\u{226e}', 35047), + ('\u{2270}', 35048), + ('\u{2329}', 2281), + ('\u{232b}', 35051), + ('\u{2427}', 35052), + ('\u{2440}', 35053), + ('\u{244b}', 35054), + ('\u{2460}', 2287), + ('\u{2488}', 35095), + ('\u{249c}', 2328), + ('\u{24eb}', 35175), + ('\u{2a0c}', 35176), + ('\u{2a0d}', 35177), + ('\u{2a74}', 2410), + ('\u{2a77}', 35181), + ('\u{2adc}', 35182), + ('\u{2add}', 35183), + ('\u{2b74}', 35184), + ('\u{2b76}', 35185), + ('\u{2b96}', 35186), + ('\u{2b97}', 35187), + ('\u{2c00}', 2420), + ('\u{2c30}', 35236), + ('\u{2c5f}', 2469), + ('\u{2c65}', 35243), + ('\u{2c67}', 2476), + ('\u{2c73}', 35256), + ('\u{2c75}', 35257), + ('\u{2c76}', 35258), + ('\u{2c7c}', 2491), + ('\u{2ce3}', 35362), + ('\u{2ce5}', 35363), + ('\u{2ceb}', 2596), + ('\u{2cee}', 35367), + ('\u{2cf2}', 2600), + ('\u{2cf4}', 35370), + ('\u{2cf9}', 35371), + ('\u{2d00}', 35372), + ('\u{2d26}', 2605), + ('\u{2d28}', 35375), + ('\u{2d2d}', 35376), + ('\u{2d2e}', 35377), + ('\u{2d30}', 35378), + ('\u{2d68}', 35379), + ('\u{2d6f}', 2612), + ('\u{2d71}', 35382), + ('\u{2d7f}', 35383), + ('\u{2d97}', 35384), + ('\u{2da0}', 35385), + ('\u{2da7}', 35386), + ('\u{2da8}', 35387), + ('\u{2daf}', 35388), + ('\u{2db0}', 35389), + ('\u{2db7}', 35390), + ('\u{2db8}', 35391), + ('\u{2dbf}', 35392), + ('\u{2dc0}', 35393), + ('\u{2dc7}', 35394), + ('\u{2dc8}', 35395), + ('\u{2dcf}', 35396), + ('\u{2dd0}', 35397), + ('\u{2dd7}', 35398), + ('\u{2dd8}', 35399), + ('\u{2ddf}', 35400), + ('\u{2de0}', 35401), + ('\u{2e00}', 35402), + ('\u{2e2f}', 35403), + ('\u{2e30}', 35404), + ('\u{2e53}', 35405), + ('\u{2e80}', 35406), + ('\u{2e9a}', 35407), + ('\u{2e9b}', 35408), + ('\u{2e9f}', 35409), + ('\u{2ea0}', 35410), + ('\u{2ef3}', 35411), + ('\u{2ef4}', 35412), + ('\u{2f00}', 2645), + ('\u{2fd6}', 35627), + ('\u{3000}', 2860), + ('\u{3003}', 35631), + ('\u{3005}', 35632), + ('\u{3008}', 35633), + ('\u{302a}', 35634), + ('\u{302e}', 35635), + ('\u{3036}', 2868), + ('\u{303d}', 35643), + ('\u{3040}', 35644), + ('\u{3041}', 35645), + ('\u{3097}', 35646), + ('\u{3099}', 35647), + ('\u{309b}', 2880), + ('\u{309d}', 35650), + ('\u{309f}', 2883), + ('\u{30a1}', 35653), + ('\u{30ff}', 35654), + ('\u{3100}', 35655), + ('\u{3105}', 35656), + ('\u{3130}', 2889), + ('\u{3190}', 35753), + ('\u{3192}', 2986), + ('\u{31a0}', 35768), + ('\u{31c0}', 35769), + ('\u{31e4}', 35770), + ('\u{31f0}', 35771), + ('\u{3200}', 3004), + ('\u{3248}', 35844), + ('\u{3250}', 3077), + ('\u{3400}', 36277), + ('\u{4dc0}', 36278), + ('\u{4e00}', 36279), + ('\u{9ffd}', 36280), + ('\u{a000}', 36281), + ('\u{a48d}', 36282), + ('\u{a490}', 36283), + ('\u{a4c7}', 36284), + ('\u{a4d0}', 36285), + ('\u{a4fe}', 36286), + ('\u{a500}', 36287), + ('\u{a60d}', 36288), + ('\u{a610}', 36289), + ('\u{a62c}', 36290), + ('\u{a640}', 3523), + ('\u{a66d}', 36336), + ('\u{a670}', 36337), + ('\u{a674}', 36338), + ('\u{a67e}', 3571), + ('\u{a69e}', 36371), + ('\u{a6e6}', 36372), + ('\u{a6f0}', 36373), + ('\u{a6f2}', 36374), + ('\u{a6f8}', 36375), + ('\u{a700}', 36376), + ('\u{a717}', 36377), + ('\u{a720}', 36378), + ('\u{a722}', 3611), + ('\u{a72f}', 36392), + ('\u{a732}', 3625), + ('\u{a771}', 36456), + ('\u{a779}', 3689), + ('\u{a787}', 36471), + ('\u{a789}', 36472), + ('\u{a78b}', 3705), + ('\u{a78e}', 36476), + ('\u{a790}', 3709), + ('\u{a793}', 36480), + ('\u{a796}', 3713), + ('\u{a7c0}', 36523), + ('\u{a7c2}', 3756), + ('\u{a7cb}', 36533), + ('\u{a7f5}', 36534), + ('\u{a7f6}', 36535), + ('\u{a7f8}', 3768), + ('\u{a7fa}', 36538), + ('\u{a828}', 36539), + ('\u{a82c}', 36540), + ('\u{a82d}', 36541), + ('\u{a830}', 36542), + ('\u{a83a}', 36543), + ('\u{a840}', 36544), + ('\u{a874}', 36545), + ('\u{a878}', 36546), + ('\u{a880}', 36547), + ('\u{a8c6}', 36548), + ('\u{a8ce}', 36549), + ('\u{a8d0}', 36550), + ('\u{a8da}', 36551), + ('\u{a8e0}', 36552), + ('\u{a8f8}', 36553), + ('\u{a8fb}', 3786), + ('\u{a8fd}', 36556), + ('\u{a92e}', 36557), + ('\u{a930}', 36558), + ('\u{a954}', 36559), + ('\u{a95f}', 36560), + ('\u{a97d}', 36561), + ('\u{a980}', 36562), + ('\u{a9c1}', 36563), + ('\u{a9ce}', 36564), + ('\u{a9cf}', 36565), + ('\u{a9da}', 36566), + ('\u{a9de}', 36567), + ('\u{a9e0}', 36568), + ('\u{a9ff}', 36569), + ('\u{aa00}', 36570), + ('\u{aa37}', 36571), + ('\u{aa40}', 36572), + ('\u{aa4e}', 36573), + ('\u{aa50}', 36574), + ('\u{aa5a}', 36575), + ('\u{aa5c}', 36576), + ('\u{aa60}', 36577), + ('\u{aa77}', 36578), + ('\u{aa7a}', 36579), + ('\u{aac3}', 36580), + ('\u{aadb}', 36581), + ('\u{aade}', 36582), + ('\u{aae0}', 36583), + ('\u{aaf0}', 36584), + ('\u{aaf2}', 36585), + ('\u{aaf7}', 36586), + ('\u{ab01}', 36587), + ('\u{ab07}', 36588), + ('\u{ab09}', 36589), + ('\u{ab0f}', 36590), + ('\u{ab11}', 36591), + ('\u{ab17}', 36592), + ('\u{ab20}', 36593), + ('\u{ab27}', 36594), + ('\u{ab28}', 36595), + ('\u{ab2f}', 36596), + ('\u{ab30}', 36597), + ('\u{ab5b}', 3830), + ('\u{ab60}', 36603), + ('\u{ab69}', 36604), + ('\u{ab6a}', 36605), + ('\u{ab6c}', 36606), + ('\u{ab70}', 3839), + ('\u{abc0}', 36687), + ('\u{abeb}', 36688), + ('\u{abec}', 36689), + ('\u{abee}', 36690), + ('\u{abf0}', 36691), + ('\u{abfa}', 36692), + ('\u{ac00}', 36693), + ('\u{d7a4}', 36694), + ('\u{d7b0}', 36695), + ('\u{d7c7}', 36696), + ('\u{d7cb}', 36697), + ('\u{d7fc}', 36698), + ('\u{f900}', 3931), + ('\u{f907}', 36706), + ('\u{f909}', 3939), + ('\u{fa0e}', 36968), + ('\u{fa10}', 4201), + ('\u{fa13}', 36972), + ('\u{fa15}', 4205), + ('\u{fa23}', 36987), + ('\u{fa25}', 4220), + ('\u{fa27}', 36990), + ('\u{fa2a}', 4223), + ('\u{fa5d}', 37042), + ('\u{fa5f}', 4275), + ('\u{fa6e}', 37058), + ('\u{fa70}', 4291), + ('\u{fada}', 37165), + ('\u{fb00}', 4398), + ('\u{fb05}', 37171), + ('\u{fb07}', 37172), + ('\u{fb13}', 4405), + ('\u{fb18}', 37178), + ('\u{fb1d}', 4411), + ('\u{fb50}', 37230), + ('\u{fb52}', 37231), + ('\u{fb56}', 37232), + ('\u{fb5a}', 37233), + ('\u{fb5e}', 37234), + ('\u{fb62}', 37235), + ('\u{fb66}', 37236), + ('\u{fb6a}', 37237), + ('\u{fb6e}', 37238), + ('\u{fb72}', 37239), + ('\u{fb76}', 37240), + ('\u{fb7a}', 37241), + ('\u{fb7e}', 37242), + ('\u{fb82}', 37243), + ('\u{fb84}', 37244), + ('\u{fb86}', 37245), + ('\u{fb88}', 37246), + ('\u{fb8a}', 37247), + ('\u{fb8c}', 37248), + ('\u{fb8e}', 37249), + ('\u{fb92}', 37250), + ('\u{fb96}', 37251), + ('\u{fb9a}', 37252), + ('\u{fb9e}', 37253), + ('\u{fba0}', 37254), + ('\u{fba4}', 37255), + ('\u{fba6}', 37256), + ('\u{fbaa}', 37257), + ('\u{fbae}', 37258), + ('\u{fbb0}', 37259), + ('\u{fbb2}', 37260), + ('\u{fbc2}', 37261), + ('\u{fbd3}', 37262), + ('\u{fbd7}', 37263), + ('\u{fbd9}', 37264), + ('\u{fbdb}', 37265), + ('\u{fbdd}', 37266), + ('\u{fbde}', 37267), + ('\u{fbe0}', 37268), + ('\u{fbe2}', 37269), + ('\u{fbe4}', 37270), + ('\u{fbe8}', 37271), + ('\u{fbea}', 37272), + ('\u{fbec}', 37273), + ('\u{fbee}', 37274), + ('\u{fbf0}', 37275), + ('\u{fbf2}', 37276), + ('\u{fbf4}', 37277), + ('\u{fbf6}', 37278), + ('\u{fbf9}', 37279), + ('\u{fbfc}', 37280), + ('\u{fc00}', 4513), + ('\u{fd3c}', 37597), + ('\u{fd3e}', 37598), + ('\u{fd40}', 37599), + ('\u{fd50}', 37600), + ('\u{fd51}', 37601), + ('\u{fd53}', 4834), + ('\u{fd58}', 37607), + ('\u{fd5a}', 4840), + ('\u{fd5f}', 37613), + ('\u{fd61}', 37614), + ('\u{fd62}', 37615), + ('\u{fd64}', 37616), + ('\u{fd66}', 37617), + ('\u{fd67}', 37618), + ('\u{fd69}', 37619), + ('\u{fd6a}', 37620), + ('\u{fd6c}', 37621), + ('\u{fd6e}', 37622), + ('\u{fd6f}', 37623), + ('\u{fd71}', 37624), + ('\u{fd73}', 4857), + ('\u{fd76}', 37628), + ('\u{fd78}', 4861), + ('\u{fd7c}', 37633), + ('\u{fd7e}', 4866), + ('\u{fd83}', 37639), + ('\u{fd85}', 37640), + ('\u{fd87}', 37641), + ('\u{fd89}', 4874), + ('\u{fd90}', 37649), + ('\u{fd92}', 4882), + ('\u{fd97}', 37655), + ('\u{fd99}', 4888), + ('\u{fd9c}', 37659), + ('\u{fd9e}', 4892), + ('\u{fdc8}', 37702), + ('\u{fdf0}', 4935), + ('\u{fdfe}', 37717), + ('\u{fe00}', 37718), + ('\u{fe10}', 4951), + ('\u{fe19}', 37728), + ('\u{fe20}', 37729), + ('\u{fe30}', 4962), + ('\u{fe33}', 37733), + ('\u{fe35}', 4966), + ('\u{fe45}', 37750), + ('\u{fe47}', 4983), + ('\u{fe49}', 37753), + ('\u{fe4d}', 37754), + ('\u{fe50}', 4987), + ('\u{fe52}', 37757), + ('\u{fe54}', 4990), + ('\u{fe6c}', 37782), + ('\u{fe70}', 5015), + ('\u{fe81}', 37800), + ('\u{fe83}', 37801), + ('\u{fe85}', 37802), + ('\u{fe87}', 37803), + ('\u{fe89}', 37804), + ('\u{fe8d}', 37805), + ('\u{fe8f}', 37806), + ('\u{fe93}', 37807), + ('\u{fe95}', 37808), + ('\u{fe99}', 37809), + ('\u{fe9d}', 37810), + ('\u{fea1}', 37811), + ('\u{fea5}', 37812), + ('\u{fea9}', 37813), + ('\u{feab}', 37814), + ('\u{fead}', 37815), + ('\u{feaf}', 37816), + ('\u{feb1}', 37817), + ('\u{feb5}', 37818), + ('\u{feb9}', 37819), + ('\u{febd}', 37820), + ('\u{fec1}', 37821), + ('\u{fec5}', 37822), + ('\u{fec9}', 37823), + ('\u{fecd}', 37824), + ('\u{fed1}', 37825), + ('\u{fed5}', 37826), + ('\u{fed9}', 37827), + ('\u{fedd}', 37828), + ('\u{fee1}', 37829), + ('\u{fee5}', 37830), + ('\u{fee9}', 37831), + ('\u{feed}', 37832), + ('\u{feef}', 37833), + ('\u{fef1}', 37834), + ('\u{fef5}', 37835), + ('\u{fef7}', 37836), + ('\u{fef9}', 37837), + ('\u{fefb}', 37838), + ('\u{fefd}', 37839), + ('\u{feff}', 5072), + ('\u{ffbf}', 38032), + ('\u{ffc2}', 5265), + ('\u{ffc8}', 38039), + ('\u{ffca}', 5272), + ('\u{ffd0}', 38046), + ('\u{ffd2}', 5279), + ('\u{ffd8}', 38053), + ('\u{ffda}', 5286), + ('\u{ffdd}', 38057), + ('\u{ffe0}', 5290), + ('\u{ffef}', 38073), + ('\u{10000}', 38074), + ('\u{1000c}', 38075), + ('\u{1000d}', 38076), + ('\u{10027}', 38077), + ('\u{10028}', 38078), + ('\u{1003b}', 38079), + ('\u{1003c}', 38080), + ('\u{1003e}', 38081), + ('\u{1003f}', 38082), + ('\u{1004e}', 38083), + ('\u{10050}', 38084), + ('\u{1005e}', 38085), + ('\u{10080}', 38086), + ('\u{100fb}', 38087), + ('\u{10100}', 38088), + ('\u{10103}', 38089), + ('\u{10107}', 38090), + ('\u{10134}', 38091), + ('\u{10137}', 38092), + ('\u{1018f}', 38093), + ('\u{10190}', 38094), + ('\u{1019d}', 38095), + ('\u{101a0}', 38096), + ('\u{101a1}', 38097), + ('\u{101d0}', 38098), + ('\u{101fd}', 38099), + ('\u{101fe}', 38100), + ('\u{10280}', 38101), + ('\u{1029d}', 38102), + ('\u{102a0}', 38103), + ('\u{102d1}', 38104), + ('\u{102e0}', 38105), + ('\u{102e1}', 38106), + ('\u{102fc}', 38107), + ('\u{10300}', 38108), + ('\u{10320}', 38109), + ('\u{10324}', 38110), + ('\u{1032d}', 38111), + ('\u{10341}', 38112), + ('\u{10342}', 38113), + ('\u{1034a}', 38114), + ('\u{1034b}', 38115), + ('\u{10350}', 38116), + ('\u{1037b}', 38117), + ('\u{10380}', 38118), + ('\u{1039e}', 5351), + ('\u{103a0}', 38121), + ('\u{103c4}', 38122), + ('\u{103c8}', 38123), + ('\u{103d0}', 38124), + ('\u{103d6}', 38125), + ('\u{10400}', 5358), + ('\u{10428}', 38166), + ('\u{1049e}', 38167), + ('\u{104a0}', 38168), + ('\u{104aa}', 38169), + ('\u{104b0}', 5402), + ('\u{104d4}', 38206), + ('\u{104d8}', 38207), + ('\u{104fc}', 38208), + ('\u{10500}', 38209), + ('\u{10528}', 38210), + ('\u{10530}', 38211), + ('\u{10564}', 38212), + ('\u{1056f}', 38213), + ('\u{10570}', 38214), + ('\u{10600}', 38215), + ('\u{10737}', 38216), + ('\u{10740}', 38217), + ('\u{10756}', 38218), + ('\u{10760}', 38219), + ('\u{10768}', 38220), + ('\u{10800}', 38221), + ('\u{10806}', 38222), + ('\u{10808}', 5455), + ('\u{1080a}', 38225), + ('\u{10836}', 38226), + ('\u{10837}', 38227), + ('\u{10839}', 38228), + ('\u{1083c}', 38229), + ('\u{1083d}', 38230), + ('\u{1083f}', 38231), + ('\u{10856}', 38232), + ('\u{10857}', 38233), + ('\u{10860}', 38234), + ('\u{10877}', 38235), + ('\u{10880}', 38236), + ('\u{1089f}', 38237), + ('\u{108a7}', 38238), + ('\u{108b0}', 38239), + ('\u{108e0}', 38240), + ('\u{108f3}', 38241), + ('\u{108f4}', 38242), + ('\u{108f6}', 38243), + ('\u{108fb}', 38244), + ('\u{10900}', 38245), + ('\u{10916}', 38246), + ('\u{1091c}', 38247), + ('\u{1091f}', 38248), + ('\u{10920}', 38249), + ('\u{1093a}', 38250), + ('\u{1093f}', 38251), + ('\u{10940}', 38252), + ('\u{10980}', 38253), + ('\u{109b8}', 38254), + ('\u{109bc}', 38255), + ('\u{109be}', 38256), + ('\u{109c0}', 38257), + ('\u{109d0}', 38258), + ('\u{109d2}', 38259), + ('\u{10a00}', 38260), + ('\u{10a04}', 38261), + ('\u{10a05}', 38262), + ('\u{10a07}', 38263), + ('\u{10a0c}', 38264), + ('\u{10a14}', 38265), + ('\u{10a15}', 38266), + ('\u{10a18}', 38267), + ('\u{10a19}', 38268), + ('\u{10a36}', 38269), + ('\u{10a38}', 38270), + ('\u{10a3b}', 38271), + ('\u{10a3f}', 38272), + ('\u{10a40}', 38273), + ('\u{10a49}', 38274), + ('\u{10a50}', 38275), + ('\u{10a59}', 38276), + ('\u{10a60}', 38277), + ('\u{10a7d}', 38278), + ('\u{10a80}', 38279), + ('\u{10a9d}', 38280), + ('\u{10aa0}', 38281), + ('\u{10ac0}', 38282), + ('\u{10ac8}', 38283), + ('\u{10ac9}', 38284), + ('\u{10ae7}', 38285), + ('\u{10aeb}', 38286), + ('\u{10af7}', 38287), + ('\u{10b00}', 38288), + ('\u{10b36}', 38289), + ('\u{10b39}', 38290), + ('\u{10b40}', 38291), + ('\u{10b56}', 38292), + ('\u{10b58}', 38293), + ('\u{10b60}', 38294), + ('\u{10b73}', 38295), + ('\u{10b78}', 38296), + ('\u{10b80}', 38297), + ('\u{10b92}', 38298), + ('\u{10b99}', 38299), + ('\u{10b9d}', 38300), + ('\u{10ba9}', 38301), + ('\u{10bb0}', 38302), + ('\u{10c00}', 38303), + ('\u{10c49}', 38304), + ('\u{10c80}', 5537), + ('\u{10cb3}', 38356), + ('\u{10cc0}', 38357), + ('\u{10cf3}', 38358), + ('\u{10cfa}', 38359), + ('\u{10d00}', 38360), + ('\u{10d28}', 38361), + ('\u{10d30}', 38362), + ('\u{10d3a}', 38363), + ('\u{10e60}', 38364), + ('\u{10e7f}', 38365), + ('\u{10e80}', 38366), + ('\u{10eaa}', 38367), + ('\u{10eab}', 38368), + ('\u{10ead}', 38369), + ('\u{10eae}', 38370), + ('\u{10eb0}', 38371), + ('\u{10eb2}', 38372), + ('\u{10f00}', 38373), + ('\u{10f1d}', 38374), + ('\u{10f27}', 38375), + ('\u{10f28}', 38376), + ('\u{10f30}', 38377), + ('\u{10f51}', 38378), + ('\u{10f5a}', 38379), + ('\u{10fb0}', 38380), + ('\u{10fc5}', 38381), + ('\u{10fcc}', 38382), + ('\u{10fe0}', 38383), + ('\u{10ff7}', 38384), + ('\u{11000}', 38385), + ('\u{11047}', 38386), + ('\u{1104e}', 38387), + ('\u{11052}', 38388), + ('\u{11066}', 38389), + ('\u{11070}', 38390), + ('\u{1107f}', 38391), + ('\u{110bb}', 38392), + ('\u{110bd}', 38393), + ('\u{110be}', 38394), + ('\u{110c2}', 38395), + ('\u{110d0}', 38396), + ('\u{110e9}', 38397), + ('\u{110f0}', 38398), + ('\u{110fa}', 38399), + ('\u{11100}', 38400), + ('\u{11135}', 38401), + ('\u{11136}', 38402), + ('\u{11140}', 38403), + ('\u{11144}', 38404), + ('\u{11148}', 38405), + ('\u{11150}', 38406), + ('\u{11174}', 38407), + ('\u{11176}', 38408), + ('\u{11177}', 38409), + ('\u{11180}', 38410), + ('\u{111c5}', 38411), + ('\u{111c9}', 38412), + ('\u{111cd}', 38413), + ('\u{111ce}', 38414), + ('\u{111db}', 5647), + ('\u{111dd}', 38417), + ('\u{111e0}', 38418), + ('\u{111e1}', 38419), + ('\u{111f5}', 38420), + ('\u{11200}', 38421), + ('\u{11212}', 38422), + ('\u{11213}', 38423), + ('\u{11238}', 38424), + ('\u{1123e}', 38425), + ('\u{1123f}', 38426), + ('\u{11280}', 38427), + ('\u{11287}', 5660), + ('\u{1128a}', 38431), + ('\u{1128e}', 38432), + ('\u{1128f}', 38433), + ('\u{1129e}', 38434), + ('\u{1129f}', 38435), + ('\u{112a9}', 38436), + ('\u{112aa}', 38437), + ('\u{112b0}', 38438), + ('\u{112eb}', 38439), + ('\u{112f0}', 38440), + ('\u{112fa}', 38441), + ('\u{11300}', 38442), + ('\u{11304}', 38443), + ('\u{11305}', 38444), + ('\u{1130d}', 38445), + ('\u{1130f}', 38446), + ('\u{11311}', 38447), + ('\u{11313}', 38448), + ('\u{11329}', 38449), + ('\u{1132a}', 38450), + ('\u{11331}', 38451), + ('\u{11332}', 38452), + ('\u{11334}', 38453), + ('\u{11335}', 38454), + ('\u{1133a}', 38455), + ('\u{1133b}', 38456), + ('\u{11345}', 38457), + ('\u{11347}', 38458), + ('\u{11349}', 38459), + ('\u{1134b}', 38460), + ('\u{1134e}', 38461), + ('\u{11350}', 38462), + ('\u{11351}', 38463), + ('\u{11357}', 38464), + ('\u{11358}', 38465), + ('\u{1135d}', 38466), + ('\u{11364}', 38467), + ('\u{11366}', 38468), + ('\u{1136d}', 38469), + ('\u{11370}', 38470), + ('\u{11375}', 38471), + ('\u{11400}', 38472), + ('\u{1144b}', 38473), + ('\u{11450}', 38474), + ('\u{1145a}', 38475), + ('\u{1145c}', 5708), + ('\u{1145e}', 38478), + ('\u{11462}', 38479), + ('\u{11480}', 38480), + ('\u{114c6}', 5713), + ('\u{114c8}', 38483), + ('\u{114d0}', 38484), + ('\u{114da}', 38485), + ('\u{11580}', 38486), + ('\u{115b6}', 38487), + ('\u{115b8}', 38488), + ('\u{115c1}', 38489), + ('\u{115d8}', 38490), + ('\u{115de}', 38491), + ('\u{11600}', 38492), + ('\u{11641}', 38493), + ('\u{11644}', 38494), + ('\u{11645}', 38495), + ('\u{11650}', 38496), + ('\u{1165a}', 38497), + ('\u{11660}', 38498), + ('\u{1166d}', 38499), + ('\u{11680}', 38500), + ('\u{116b9}', 38501), + ('\u{116c0}', 38502), + ('\u{116ca}', 38503), + ('\u{11700}', 38504), + ('\u{1171b}', 38505), + ('\u{1171d}', 38506), + ('\u{1172c}', 38507), + ('\u{11730}', 38508), + ('\u{1173a}', 38509), + ('\u{11740}', 38510), + ('\u{11800}', 38511), + ('\u{1183b}', 38512), + ('\u{1183c}', 38513), + ('\u{118a0}', 5746), + ('\u{118c0}', 38546), + ('\u{118ea}', 38547), + ('\u{118f3}', 38548), + ('\u{118ff}', 38549), + ('\u{11907}', 38550), + ('\u{11909}', 38551), + ('\u{1190a}', 38552), + ('\u{1190c}', 38553), + ('\u{11914}', 38554), + ('\u{11915}', 38555), + ('\u{11917}', 38556), + ('\u{11918}', 38557), + ('\u{11936}', 38558), + ('\u{11937}', 38559), + ('\u{11939}', 38560), + ('\u{1193b}', 38561), + ('\u{11944}', 38562), + ('\u{11947}', 38563), + ('\u{11950}', 38564), + ('\u{1195a}', 38565), + ('\u{119a0}', 38566), + ('\u{119a8}', 38567), + ('\u{119aa}', 38568), + ('\u{119d8}', 38569), + ('\u{119da}', 38570), + ('\u{119e2}', 38571), + ('\u{119e3}', 38572), + ('\u{119e5}', 38573), + ('\u{11a00}', 38574), + ('\u{11a3f}', 38575), + ('\u{11a47}', 38576), + ('\u{11a48}', 38577), + ('\u{11a50}', 38578), + ('\u{11a9a}', 38579), + ('\u{11a9d}', 38580), + ('\u{11a9e}', 38581), + ('\u{11aa3}', 38582), + ('\u{11ac0}', 38583), + ('\u{11af9}', 38584), + ('\u{11c00}', 38585), + ('\u{11c09}', 38586), + ('\u{11c0a}', 38587), + ('\u{11c37}', 38588), + ('\u{11c38}', 38589), + ('\u{11c41}', 38590), + ('\u{11c46}', 38591), + ('\u{11c50}', 38592), + ('\u{11c5a}', 38593), + ('\u{11c6d}', 38594), + ('\u{11c70}', 38595), + ('\u{11c72}', 38596), + ('\u{11c90}', 38597), + ('\u{11c92}', 38598), + ('\u{11ca8}', 38599), + ('\u{11ca9}', 38600), + ('\u{11cb7}', 38601), + ('\u{11d00}', 38602), + ('\u{11d07}', 38603), + ('\u{11d08}', 38604), + ('\u{11d0a}', 38605), + ('\u{11d0b}', 38606), + ('\u{11d37}', 38607), + ('\u{11d3a}', 5840), + ('\u{11d3c}', 38610), + ('\u{11d3e}', 38611), + ('\u{11d3f}', 38612), + ('\u{11d48}', 38613), + ('\u{11d50}', 38614), + ('\u{11d5a}', 38615), + ('\u{11d60}', 38616), + ('\u{11d66}', 38617), + ('\u{11d67}', 38618), + ('\u{11d69}', 38619), + ('\u{11d6a}', 38620), + ('\u{11d8f}', 38621), + ('\u{11d90}', 38622), + ('\u{11d92}', 38623), + ('\u{11d93}', 38624), + ('\u{11d99}', 38625), + ('\u{11da0}', 38626), + ('\u{11daa}', 38627), + ('\u{11ee0}', 38628), + ('\u{11ef7}', 38629), + ('\u{11ef9}', 38630), + ('\u{11fb0}', 38631), + ('\u{11fb1}', 38632), + ('\u{11fc0}', 38633), + ('\u{11ff2}', 38634), + ('\u{11fff}', 38635), + ('\u{12000}', 38636), + ('\u{1239a}', 38637), + ('\u{12400}', 38638), + ('\u{1246f}', 38639), + ('\u{12470}', 38640), + ('\u{12475}', 38641), + ('\u{12480}', 38642), + ('\u{12544}', 38643), + ('\u{13000}', 38644), + ('\u{1342f}', 38645), + ('\u{14400}', 38646), + ('\u{14647}', 38647), + ('\u{16800}', 38648), + ('\u{16a39}', 38649), + ('\u{16a40}', 38650), + ('\u{16a5f}', 38651), + ('\u{16a60}', 38652), + ('\u{16a6a}', 38653), + ('\u{16a6e}', 38654), + ('\u{16a70}', 38655), + ('\u{16ad0}', 38656), + ('\u{16aee}', 38657), + ('\u{16af0}', 38658), + ('\u{16af5}', 38659), + ('\u{16af6}', 38660), + ('\u{16b00}', 38661), + ('\u{16b37}', 38662), + ('\u{16b40}', 38663), + ('\u{16b44}', 38664), + ('\u{16b46}', 38665), + ('\u{16b50}', 38666), + ('\u{16b5a}', 38667), + ('\u{16b5b}', 38668), + ('\u{16b62}', 38669), + ('\u{16b63}', 38670), + ('\u{16b78}', 38671), + ('\u{16b7d}', 38672), + ('\u{16b90}', 38673), + ('\u{16e40}', 5906), + ('\u{16e60}', 38706), + ('\u{16e80}', 38707), + ('\u{16e9b}', 38708), + ('\u{16f00}', 38709), + ('\u{16f4b}', 38710), + ('\u{16f4f}', 38711), + ('\u{16f88}', 38712), + ('\u{16f8f}', 38713), + ('\u{16fa0}', 38714), + ('\u{16fe0}', 38715), + ('\u{16fe2}', 38716), + ('\u{16fe3}', 38717), + ('\u{16fe5}', 38718), + ('\u{16ff0}', 38719), + ('\u{16ff2}', 38720), + ('\u{17000}', 38721), + ('\u{187f8}', 38722), + ('\u{18800}', 38723), + ('\u{18cd6}', 38724), + ('\u{18d00}', 38725), + ('\u{18d09}', 38726), + ('\u{1b000}', 38727), + ('\u{1b11f}', 38728), + ('\u{1b150}', 38729), + ('\u{1b153}', 38730), + ('\u{1b164}', 38731), + ('\u{1b168}', 38732), + ('\u{1b170}', 38733), + ('\u{1b2fc}', 38734), + ('\u{1bc00}', 38735), + ('\u{1bc6b}', 38736), + ('\u{1bc70}', 38737), + ('\u{1bc7d}', 38738), + ('\u{1bc80}', 38739), + ('\u{1bc89}', 38740), + ('\u{1bc90}', 38741), + ('\u{1bc9a}', 38742), + ('\u{1bc9c}', 38743), + ('\u{1bc9d}', 38744), + ('\u{1bc9f}', 38745), + ('\u{1bca0}', 38746), + ('\u{1bca4}', 38747), + ('\u{1d000}', 38748), + ('\u{1d0f6}', 38749), + ('\u{1d100}', 38750), + ('\u{1d127}', 38751), + ('\u{1d129}', 38752), + ('\u{1d15e}', 5985), + ('\u{1d165}', 38760), + ('\u{1d173}', 38761), + ('\u{1d17b}', 38762), + ('\u{1d1bb}', 5995), + ('\u{1d1c1}', 38769), + ('\u{1d1e9}', 38770), + ('\u{1d200}', 38771), + ('\u{1d246}', 38772), + ('\u{1d2e0}', 38773), + ('\u{1d2f4}', 38774), + ('\u{1d300}', 38775), + ('\u{1d357}', 38776), + ('\u{1d360}', 38777), + ('\u{1d379}', 38778), + ('\u{1d400}', 6011), + ('\u{1d4a0}', 38939), + ('\u{1d4a2}', 38940), + ('\u{1d4a3}', 38941), + ('\u{1d4a5}', 6174), + ('\u{1d4a7}', 38944), + ('\u{1d4a9}', 6177), + ('\u{1d50b}', 39043), + ('\u{1d50d}', 6276), + ('\u{1d547}', 39102), + ('\u{1d54a}', 6335), + ('\u{1d6a6}', 39451), + ('\u{1d6a8}', 6684), + ('\u{1d6d3}', 39495), + ('\u{1d6d5}', 6728), + ('\u{1d70d}', 39552), + ('\u{1d70f}', 6785), + ('\u{1d747}', 39609), + ('\u{1d749}', 6842), + ('\u{1d781}', 39666), + ('\u{1d783}', 6899), + ('\u{1d7bb}', 39723), + ('\u{1d7bd}', 6956), + ('\u{1d7ca}', 39737), + ('\u{1d7cc}', 39738), + ('\u{1d7ce}', 6971), + ('\u{1d800}', 39789), + ('\u{1da00}', 39790), + ('\u{1da37}', 39791), + ('\u{1da3b}', 39792), + ('\u{1da6d}', 39793), + ('\u{1da75}', 39794), + ('\u{1da76}', 39795), + ('\u{1da84}', 39796), + ('\u{1da85}', 39797), + ('\u{1da8c}', 39798), + ('\u{1da9b}', 39799), + ('\u{1daa0}', 39800), + ('\u{1daa1}', 39801), + ('\u{1dab0}', 39802), + ('\u{1e000}', 39803), + ('\u{1e007}', 39804), + ('\u{1e008}', 39805), + ('\u{1e019}', 39806), + ('\u{1e01b}', 39807), + ('\u{1e022}', 39808), + ('\u{1e023}', 39809), + ('\u{1e025}', 39810), + ('\u{1e026}', 39811), + ('\u{1e02b}', 39812), + ('\u{1e100}', 39813), + ('\u{1e12d}', 39814), + ('\u{1e130}', 39815), + ('\u{1e13e}', 39816), + ('\u{1e140}', 39817), + ('\u{1e14a}', 39818), + ('\u{1e14e}', 7051), + ('\u{1e150}', 39821), + ('\u{1e2c0}', 39822), + ('\u{1e2fa}', 39823), + ('\u{1e2ff}', 39824), + ('\u{1e300}', 39825), + ('\u{1e800}', 39826), + ('\u{1e8c5}', 39827), + ('\u{1e8c7}', 39828), + ('\u{1e8d0}', 39829), + ('\u{1e8d7}', 39830), + ('\u{1e900}', 7063), + ('\u{1e922}', 39865), + ('\u{1e94c}', 39866), + ('\u{1e950}', 39867), + ('\u{1e95a}', 39868), + ('\u{1e95e}', 39869), + ('\u{1e960}', 39870), + ('\u{1ec71}', 39871), + ('\u{1ecb5}', 39872), + ('\u{1ed01}', 39873), + ('\u{1ed3e}', 39874), + ('\u{1ee00}', 7107), + ('\u{1ee25}', 39912), + ('\u{1ee27}', 7145), + ('\u{1ee3c}', 39934), + ('\u{1ee42}', 39935), + ('\u{1ee43}', 39936), + ('\u{1ee47}', 7169), + ('\u{1ee55}', 39951), + ('\u{1ee57}', 7184), + ('\u{1ee65}', 39966), + ('\u{1ee67}', 7199), + ('\u{1ee9c}', 40020), + ('\u{1eea1}', 7253), + ('\u{1eebc}', 40048), + ('\u{1eef0}', 40049), + ('\u{1eef2}', 40050), + ('\u{1f000}', 40051), + ('\u{1f02c}', 40052), + ('\u{1f030}', 40053), + ('\u{1f094}', 40054), + ('\u{1f0a0}', 40055), + ('\u{1f0af}', 40056), + ('\u{1f0b1}', 40057), + ('\u{1f0c0}', 40058), + ('\u{1f0c1}', 40059), + ('\u{1f0d0}', 40060), + ('\u{1f0d1}', 40061), + ('\u{1f0f6}', 40062), + ('\u{1f101}', 7295), + ('\u{1f10b}', 40073), + ('\u{1f110}', 7306), + ('\u{1f150}', 40138), + ('\u{1f16a}', 7371), + ('\u{1f16d}', 40142), + ('\u{1f190}', 40143), + ('\u{1f191}', 40144), + ('\u{1f1ae}', 40145), + ('\u{1f1e6}', 40146), + ('\u{1f200}', 7379), + ('\u{1f203}', 40150), + ('\u{1f210}', 7383), + ('\u{1f23c}', 40195), + ('\u{1f240}', 7428), + ('\u{1f249}', 40205), + ('\u{1f250}', 7438), + ('\u{1f252}', 40208), + ('\u{1f260}', 40209), + ('\u{1f266}', 40210), + ('\u{1f300}', 40211), + ('\u{1f6d8}', 40212), + ('\u{1f6e0}', 40213), + ('\u{1f6ed}', 40214), + ('\u{1f6f0}', 40215), + ('\u{1f6fd}', 40216), + ('\u{1f700}', 40217), + ('\u{1f774}', 40218), + ('\u{1f780}', 40219), + ('\u{1f7d9}', 40220), + ('\u{1f7e0}', 40221), + ('\u{1f7ec}', 40222), + ('\u{1f800}', 40223), + ('\u{1f80c}', 40224), + ('\u{1f810}', 40225), + ('\u{1f848}', 40226), + ('\u{1f850}', 40227), + ('\u{1f85a}', 40228), + ('\u{1f860}', 40229), + ('\u{1f888}', 40230), + ('\u{1f890}', 40231), + ('\u{1f8ae}', 40232), + ('\u{1f8b0}', 40233), + ('\u{1f8b2}', 40234), + ('\u{1f900}', 40235), + ('\u{1f979}', 40236), + ('\u{1f97a}', 40237), + ('\u{1f9cc}', 40238), + ('\u{1f9cd}', 40239), + ('\u{1fa54}', 40240), + ('\u{1fa60}', 40241), + ('\u{1fa6e}', 40242), + ('\u{1fa70}', 40243), + ('\u{1fa75}', 40244), + ('\u{1fa78}', 40245), + ('\u{1fa7b}', 40246), + ('\u{1fa80}', 40247), + ('\u{1fa87}', 40248), + ('\u{1fa90}', 40249), + ('\u{1faa9}', 40250), + ('\u{1fab0}', 40251), + ('\u{1fab7}', 40252), + ('\u{1fac0}', 40253), + ('\u{1fac3}', 40254), + ('\u{1fad0}', 40255), + ('\u{1fad7}', 40256), + ('\u{1fb00}', 40257), + ('\u{1fb93}', 40258), + ('\u{1fb94}', 40259), + ('\u{1fbcb}', 40260), + ('\u{1fbf0}', 7493), + ('\u{1fbfa}', 40271), + ('\u{20000}', 40272), + ('\u{2a6de}', 40273), + ('\u{2a700}', 40274), + ('\u{2b735}', 40275), + ('\u{2b740}', 40276), + ('\u{2b81e}', 40277), + ('\u{2b820}', 40278), + ('\u{2cea2}', 40279), + ('\u{2ceb0}', 40280), + ('\u{2ebe1}', 40281), + ('\u{2f800}', 7514), + ('\u{2f831}', 40331), + ('\u{2f834}', 7564), + ('\u{2f845}', 40349), + ('\u{2f847}', 7582), + ('\u{2f86a}', 40385), + ('\u{2f86c}', 7618), + ('\u{2f891}', 40423), + ('\u{2f893}', 40424), + ('\u{2f894}', 40425), + ('\u{2f896}', 7658), + ('\u{2f92c}', 40576), + ('\u{2f92e}', 7809), + ('\u{2f946}', 40601), + ('\u{2f948}', 7834), + ('\u{2f95d}', 40623), + ('\u{2f95f}', 7856), + ('\u{2f9fe}', 40783), + ('\u{2fa00}', 8016), + ('\u{2fa1e}', 40814), + ('\u{30000}', 40815), + ('\u{3134b}', 40816), + ('\u{e0100}', 40817), + ('\u{e01f0}', 40818), ]; static MAPPING_TABLE: &[Mapping] = &[ @@ -3351,28 +1930,29 @@ static MAPPING_TABLE: &[Mapping] = &[ DisallowedStd3Valid, Disallowed, DisallowedStd3Mapped(StringTableSlice { byte_start_lo: 26, byte_start_hi: 0, byte_len: 1 }), - Valid, + DisallowedIdna2008, DisallowedStd3Mapped(StringTableSlice { byte_start_lo: 27, byte_start_hi: 0, byte_len: 3 }), - Valid, + DisallowedIdna2008, Mapped(StringTableSlice { byte_start_lo: 0, byte_start_hi: 0, byte_len: 1 }), - Valid, + DisallowedIdna2008, Ignored, - Valid, + DisallowedIdna2008, DisallowedStd3Mapped(StringTableSlice { byte_start_lo: 30, byte_start_hi: 0, byte_len: 3 }), - Valid, + DisallowedIdna2008, Mapped(StringTableSlice { byte_start_lo: 33, byte_start_hi: 0, byte_len: 1 }), Mapped(StringTableSlice { byte_start_lo: 34, byte_start_hi: 0, byte_len: 1 }), DisallowedStd3Mapped(StringTableSlice { byte_start_lo: 35, byte_start_hi: 0, byte_len: 3 }), Mapped(StringTableSlice { byte_start_lo: 38, byte_start_hi: 0, byte_len: 2 }), + DisallowedIdna2008, Valid, DisallowedStd3Mapped(StringTableSlice { byte_start_lo: 40, byte_start_hi: 0, byte_len: 3 }), Mapped(StringTableSlice { byte_start_lo: 43, byte_start_hi: 0, byte_len: 1 }), Mapped(StringTableSlice { byte_start_lo: 14, byte_start_hi: 0, byte_len: 1 }), - Valid, + DisallowedIdna2008, Mapped(StringTableSlice { byte_start_lo: 44, byte_start_hi: 0, byte_len: 5 }), Mapped(StringTableSlice { byte_start_lo: 49, byte_start_hi: 0, byte_len: 5 }), Mapped(StringTableSlice { byte_start_lo: 54, byte_start_hi: 0, byte_len: 5 }), - Valid, + DisallowedIdna2008, Mapped(StringTableSlice { byte_start_lo: 59, byte_start_hi: 0, byte_len: 2 }), Mapped(StringTableSlice { byte_start_lo: 61, byte_start_hi: 0, byte_len: 2 }), Mapped(StringTableSlice { byte_start_lo: 63, byte_start_hi: 0, byte_len: 2 }), @@ -3396,7 +1976,7 @@ static MAPPING_TABLE: &[Mapping] = &[ Mapped(StringTableSlice { byte_start_lo: 99, byte_start_hi: 0, byte_len: 2 }), Mapped(StringTableSlice { byte_start_lo: 101, byte_start_hi: 0, byte_len: 2 }), Mapped(StringTableSlice { byte_start_lo: 103, byte_start_hi: 0, byte_len: 2 }), - Valid, + DisallowedIdna2008, Mapped(StringTableSlice { byte_start_lo: 105, byte_start_hi: 0, byte_len: 2 }), Mapped(StringTableSlice { byte_start_lo: 107, byte_start_hi: 0, byte_len: 2 }), Mapped(StringTableSlice { byte_start_lo: 109, byte_start_hi: 0, byte_len: 2 }), @@ -3406,6 +1986,8 @@ static MAPPING_TABLE: &[Mapping] = &[ Mapped(StringTableSlice { byte_start_lo: 117, byte_start_hi: 0, byte_len: 2 }), Deviation(StringTableSlice { byte_start_lo: 119, byte_start_hi: 0, byte_len: 2 }), Valid, + DisallowedIdna2008, + Valid, Mapped(StringTableSlice { byte_start_lo: 121, byte_start_hi: 0, byte_len: 2 }), Valid, Mapped(StringTableSlice { byte_start_lo: 123, byte_start_hi: 0, byte_len: 2 }), @@ -3720,18 +2302,26 @@ static MAPPING_TABLE: &[Mapping] = &[ Mapped(StringTableSlice { byte_start_lo: 22, byte_start_hi: 0, byte_len: 1 }), Mapped(StringTableSlice { byte_start_lo: 24, byte_start_hi: 0, byte_len: 1 }), Valid, + DisallowedIdna2008, + Valid, + DisallowedIdna2008, DisallowedStd3Mapped(StringTableSlice { byte_start_lo: 213, byte_start_hi: 1, byte_len: 3 }), DisallowedStd3Mapped(StringTableSlice { byte_start_lo: 216, byte_start_hi: 1, byte_len: 3 }), DisallowedStd3Mapped(StringTableSlice { byte_start_lo: 219, byte_start_hi: 1, byte_len: 3 }), DisallowedStd3Mapped(StringTableSlice { byte_start_lo: 222, byte_start_hi: 1, byte_len: 3 }), DisallowedStd3Mapped(StringTableSlice { byte_start_lo: 225, byte_start_hi: 1, byte_len: 3 }), DisallowedStd3Mapped(StringTableSlice { byte_start_lo: 228, byte_start_hi: 1, byte_len: 3 }), - Valid, + DisallowedIdna2008, Mapped(StringTableSlice { byte_start_lo: 22, byte_start_hi: 1, byte_len: 2 }), Mapped(StringTableSlice { byte_start_lo: 11, byte_start_hi: 0, byte_len: 1 }), Mapped(StringTableSlice { byte_start_lo: 18, byte_start_hi: 0, byte_len: 1 }), Mapped(StringTableSlice { byte_start_lo: 23, byte_start_hi: 0, byte_len: 1 }), Mapped(StringTableSlice { byte_start_lo: 231, byte_start_hi: 1, byte_len: 2 }), + DisallowedIdna2008, + Valid, + DisallowedIdna2008, + Valid, + DisallowedIdna2008, Valid, Mapped(StringTableSlice { byte_start_lo: 233, byte_start_hi: 1, byte_len: 2 }), Mapped(StringTableSlice { byte_start_lo: 235, byte_start_hi: 1, byte_len: 2 }), @@ -3838,7 +2428,7 @@ static MAPPING_TABLE: &[Mapping] = &[ Valid, Mapped(StringTableSlice { byte_start_lo: 38, byte_start_hi: 2, byte_len: 2 }), Mapped(StringTableSlice { byte_start_lo: 32, byte_start_hi: 2, byte_len: 2 }), - Valid, + DisallowedIdna2008, Mapped(StringTableSlice { byte_start_lo: 98, byte_start_hi: 2, byte_len: 2 }), Valid, Mapped(StringTableSlice { byte_start_lo: 54, byte_start_hi: 2, byte_len: 2 }), @@ -3930,6 +2520,9 @@ static MAPPING_TABLE: &[Mapping] = &[ Valid, Mapped(StringTableSlice { byte_start_lo: 236, byte_start_hi: 2, byte_len: 2 }), Valid, + DisallowedIdna2008, + Valid, + DisallowedIdna2008, Mapped(StringTableSlice { byte_start_lo: 238, byte_start_hi: 2, byte_len: 2 }), Valid, Mapped(StringTableSlice { byte_start_lo: 240, byte_start_hi: 2, byte_len: 2 }), @@ -4136,42 +2729,69 @@ static MAPPING_TABLE: &[Mapping] = &[ Mapped(StringTableSlice { byte_start_lo: 220, byte_start_hi: 3, byte_len: 2 }), Disallowed, Valid, + DisallowedIdna2008, + Valid, Mapped(StringTableSlice { byte_start_lo: 222, byte_start_hi: 3, byte_len: 4 }), Valid, + DisallowedIdna2008, Disallowed, - Valid, + DisallowedIdna2008, Disallowed, Valid, + DisallowedIdna2008, + Valid, + DisallowedIdna2008, + Valid, + DisallowedIdna2008, + Valid, + DisallowedIdna2008, + Valid, Disallowed, Valid, Disallowed, Valid, Disallowed, + DisallowedIdna2008, Valid, + DisallowedIdna2008, Disallowed, + DisallowedIdna2008, + Valid, + DisallowedIdna2008, + Valid, + DisallowedIdna2008, Valid, Mapped(StringTableSlice { byte_start_lo: 226, byte_start_hi: 3, byte_len: 4 }), Mapped(StringTableSlice { byte_start_lo: 230, byte_start_hi: 3, byte_len: 4 }), Mapped(StringTableSlice { byte_start_lo: 234, byte_start_hi: 3, byte_len: 4 }), Mapped(StringTableSlice { byte_start_lo: 238, byte_start_hi: 3, byte_len: 4 }), Valid, - Disallowed, + DisallowedIdna2008, Valid, Disallowed, + DisallowedIdna2008, Valid, - Disallowed, + DisallowedIdna2008, Valid, + DisallowedIdna2008, Disallowed, Valid, Disallowed, Valid, Disallowed, Valid, + DisallowedIdna2008, Disallowed, Valid, + DisallowedIdna2008, + Valid, + Disallowed, + DisallowedIdna2008, Disallowed, Valid, Disallowed, + DisallowedIdna2008, + Disallowed, Valid, Disallowed, Valid, @@ -4190,6 +2810,10 @@ static MAPPING_TABLE: &[Mapping] = &[ Mapped(StringTableSlice { byte_start_lo: 22, byte_start_hi: 4, byte_len: 6 }), Mapped(StringTableSlice { byte_start_lo: 28, byte_start_hi: 4, byte_len: 6 }), Valid, + DisallowedIdna2008, + Valid, + DisallowedIdna2008, + Valid, Disallowed, Valid, Disallowed, @@ -4218,6 +2842,10 @@ static MAPPING_TABLE: &[Mapping] = &[ Valid, Disallowed, Valid, + DisallowedIdna2008, + Valid, + DisallowedIdna2008, + Valid, Disallowed, Valid, Disallowed, @@ -4255,6 +2883,7 @@ static MAPPING_TABLE: &[Mapping] = &[ Mapped(StringTableSlice { byte_start_lo: 82, byte_start_hi: 4, byte_len: 6 }), Disallowed, Valid, + DisallowedIdna2008, Disallowed, Valid, Disallowed, @@ -4281,6 +2910,7 @@ static MAPPING_TABLE: &[Mapping] = &[ Valid, Disallowed, Valid, + DisallowedIdna2008, Disallowed, Valid, Disallowed, @@ -4312,6 +2942,9 @@ static MAPPING_TABLE: &[Mapping] = &[ Valid, Disallowed, Valid, + DisallowedIdna2008, + Valid, + DisallowedIdna2008, Disallowed, Valid, Disallowed, @@ -4344,6 +2977,7 @@ static MAPPING_TABLE: &[Mapping] = &[ Valid, Disallowed, Valid, + DisallowedIdna2008, Disallowed, Valid, Disallowed, @@ -4367,6 +3001,9 @@ static MAPPING_TABLE: &[Mapping] = &[ Disallowed, Valid, Disallowed, + DisallowedIdna2008, + Valid, + DisallowedIdna2008, Valid, Disallowed, Valid, @@ -4402,10 +3039,15 @@ static MAPPING_TABLE: &[Mapping] = &[ Valid, Disallowed, Valid, + DisallowedIdna2008, Disallowed, Valid, + DisallowedIdna2008, + Valid, Disallowed, Valid, + DisallowedIdna2008, + Valid, Disallowed, Valid, Disallowed, @@ -4430,12 +3072,17 @@ static MAPPING_TABLE: &[Mapping] = &[ Valid, Disallowed, Valid, + DisallowedIdna2008, Disallowed, Valid, Mapped(StringTableSlice { byte_start_lo: 100, byte_start_hi: 4, byte_len: 6 }), Valid, Disallowed, + DisallowedIdna2008, Valid, + DisallowedIdna2008, + Valid, + DisallowedIdna2008, Disallowed, Valid, Disallowed, @@ -4464,7 +3111,20 @@ static MAPPING_TABLE: &[Mapping] = &[ Valid, Disallowed, Valid, + DisallowedIdna2008, + Valid, Mapped(StringTableSlice { byte_start_lo: 124, byte_start_hi: 4, byte_len: 3 }), + DisallowedIdna2008, + Valid, + DisallowedIdna2008, + Valid, + DisallowedIdna2008, + Valid, + DisallowedIdna2008, + Valid, + DisallowedIdna2008, + Valid, + DisallowedIdna2008, Valid, Mapped(StringTableSlice { byte_start_lo: 127, byte_start_hi: 4, byte_len: 6 }), Valid, @@ -4492,6 +3152,8 @@ static MAPPING_TABLE: &[Mapping] = &[ Valid, Mapped(StringTableSlice { byte_start_lo: 205, byte_start_hi: 4, byte_len: 6 }), Valid, + DisallowedIdna2008, + Valid, Mapped(StringTableSlice { byte_start_lo: 211, byte_start_hi: 4, byte_len: 6 }), Valid, Disallowed, @@ -4507,20 +3169,28 @@ static MAPPING_TABLE: &[Mapping] = &[ Mapped(StringTableSlice { byte_start_lo: 241, byte_start_hi: 4, byte_len: 6 }), Valid, Disallowed, + DisallowedIdna2008, Valid, + DisallowedIdna2008, Disallowed, - Valid, + DisallowedIdna2008, Disallowed, Valid, + DisallowedIdna2008, + Valid, + DisallowedIdna2008, Disallowed, Mapped(StringTableSlice { byte_start_lo: 247, byte_start_hi: 4, byte_len: 3 }), Disallowed, Mapped(StringTableSlice { byte_start_lo: 250, byte_start_hi: 4, byte_len: 3 }), Disallowed, Valid, + DisallowedIdna2008, Mapped(StringTableSlice { byte_start_lo: 253, byte_start_hi: 4, byte_len: 3 }), Valid, + DisallowedIdna2008, Disallowed, + DisallowedIdna2008, Valid, Disallowed, Valid, @@ -4554,8 +3224,10 @@ static MAPPING_TABLE: &[Mapping] = &[ Valid, Disallowed, Valid, + DisallowedIdna2008, Disallowed, Valid, + DisallowedIdna2008, Disallowed, Valid, Disallowed, @@ -4566,14 +3238,16 @@ static MAPPING_TABLE: &[Mapping] = &[ Mapped(StringTableSlice { byte_start_lo: 12, byte_start_hi: 5, byte_len: 3 }), Mapped(StringTableSlice { byte_start_lo: 15, byte_start_hi: 5, byte_len: 3 }), Disallowed, + DisallowedIdna2008, Valid, - Disallowed, + DisallowedIdna2008, Valid, Disallowed, Valid, + DisallowedIdna2008, Disallowed, Valid, - Disallowed, + DisallowedIdna2008, Valid, Disallowed, Valid, @@ -4581,6 +3255,7 @@ static MAPPING_TABLE: &[Mapping] = &[ Valid, Disallowed, Valid, + DisallowedIdna2008, Disallowed, Valid, Disallowed, @@ -4593,10 +3268,18 @@ static MAPPING_TABLE: &[Mapping] = &[ Valid, Disallowed, Valid, - Disallowed, + DisallowedIdna2008, + Valid, + DisallowedIdna2008, Valid, Disallowed, Valid, + Disallowed, + DisallowedIdna2008, + Disallowed, + DisallowedIdna2008, + Disallowed, + DisallowedIdna2008, Ignored, Disallowed, Valid, @@ -4613,8 +3296,9 @@ static MAPPING_TABLE: &[Mapping] = &[ Disallowed, Valid, Disallowed, - Valid, + DisallowedIdna2008, Disallowed, + DisallowedIdna2008, Valid, Disallowed, Valid, @@ -4624,9 +3308,12 @@ static MAPPING_TABLE: &[Mapping] = &[ Valid, Disallowed, Valid, + DisallowedIdna2008, Disallowed, + DisallowedIdna2008, Valid, Disallowed, + DisallowedIdna2008, Valid, Disallowed, Valid, @@ -4635,21 +3322,31 @@ static MAPPING_TABLE: &[Mapping] = &[ Disallowed, Valid, Disallowed, + DisallowedIdna2008, Valid, + DisallowedIdna2008, Disallowed, Valid, + DisallowedIdna2008, + Valid, Disallowed, Valid, Disallowed, Valid, + DisallowedIdna2008, + Valid, + DisallowedIdna2008, Disallowed, Valid, Disallowed, + DisallowedIdna2008, Valid, Disallowed, + DisallowedIdna2008, Valid, Disallowed, Valid, + DisallowedIdna2008, Mapped(StringTableSlice { byte_start_lo: 144, byte_start_hi: 2, byte_len: 2 }), Mapped(StringTableSlice { byte_start_lo: 148, byte_start_hi: 2, byte_len: 2 }), Mapped(StringTableSlice { byte_start_lo: 168, byte_start_hi: 2, byte_len: 2 }), @@ -4706,9 +3403,11 @@ static MAPPING_TABLE: &[Mapping] = &[ Mapped(StringTableSlice { byte_start_lo: 147, byte_start_hi: 5, byte_len: 3 }), Mapped(StringTableSlice { byte_start_lo: 150, byte_start_hi: 5, byte_len: 3 }), Mapped(StringTableSlice { byte_start_lo: 153, byte_start_hi: 5, byte_len: 3 }), - Valid, + DisallowedIdna2008, Disallowed, Valid, + DisallowedIdna2008, + Valid, Disallowed, Valid, Mapped(StringTableSlice { byte_start_lo: 0, byte_start_hi: 0, byte_len: 1 }), @@ -5266,32 +3965,32 @@ static MAPPING_TABLE: &[Mapping] = &[ Ignored, Deviation(StringTableSlice { byte_start_lo: 240, byte_start_hi: 8, byte_len: 0 }), Disallowed, - Valid, + DisallowedIdna2008, Mapped(StringTableSlice { byte_start_lo: 240, byte_start_hi: 8, byte_len: 3 }), - Valid, + DisallowedIdna2008, DisallowedStd3Mapped(StringTableSlice { byte_start_lo: 243, byte_start_hi: 8, byte_len: 3 }), - Valid, + DisallowedIdna2008, Disallowed, - Valid, + DisallowedIdna2008, Disallowed, DisallowedStd3Mapped(StringTableSlice { byte_start_lo: 26, byte_start_hi: 0, byte_len: 1 }), - Valid, + DisallowedIdna2008, Mapped(StringTableSlice { byte_start_lo: 246, byte_start_hi: 8, byte_len: 6 }), Mapped(StringTableSlice { byte_start_lo: 252, byte_start_hi: 8, byte_len: 9 }), - Valid, + DisallowedIdna2008, Mapped(StringTableSlice { byte_start_lo: 5, byte_start_hi: 9, byte_len: 6 }), Mapped(StringTableSlice { byte_start_lo: 11, byte_start_hi: 9, byte_len: 9 }), - Valid, + DisallowedIdna2008, DisallowedStd3Mapped(StringTableSlice { byte_start_lo: 20, byte_start_hi: 9, byte_len: 2 }), - Valid, + DisallowedIdna2008, DisallowedStd3Mapped(StringTableSlice { byte_start_lo: 22, byte_start_hi: 9, byte_len: 3 }), - Valid, + DisallowedIdna2008, DisallowedStd3Mapped(StringTableSlice { byte_start_lo: 25, byte_start_hi: 9, byte_len: 2 }), DisallowedStd3Mapped(StringTableSlice { byte_start_lo: 27, byte_start_hi: 9, byte_len: 2 }), DisallowedStd3Mapped(StringTableSlice { byte_start_lo: 29, byte_start_hi: 9, byte_len: 2 }), - Valid, + DisallowedIdna2008, Mapped(StringTableSlice { byte_start_lo: 31, byte_start_hi: 9, byte_len: 12 }), - Valid, + DisallowedIdna2008, DisallowedStd3Mapped(StringTableSlice { byte_start_lo: 26, byte_start_hi: 0, byte_len: 1 }), Ignored, Disallowed, @@ -5342,50 +4041,50 @@ static MAPPING_TABLE: &[Mapping] = &[ Mapped(StringTableSlice { byte_start_lo: 18, byte_start_hi: 0, byte_len: 1 }), Mapped(StringTableSlice { byte_start_lo: 19, byte_start_hi: 0, byte_len: 1 }), Disallowed, - Valid, + DisallowedIdna2008, Mapped(StringTableSlice { byte_start_lo: 57, byte_start_hi: 9, byte_len: 2 }), - Valid, + DisallowedIdna2008, Disallowed, - Valid, + DisallowedIdna2008, Disallowed, DisallowedStd3Mapped(StringTableSlice { byte_start_lo: 59, byte_start_hi: 9, byte_len: 3 }), DisallowedStd3Mapped(StringTableSlice { byte_start_lo: 62, byte_start_hi: 9, byte_len: 3 }), Mapped(StringTableSlice { byte_start_lo: 2, byte_start_hi: 0, byte_len: 1 }), Mapped(StringTableSlice { byte_start_lo: 65, byte_start_hi: 9, byte_len: 3 }), - Valid, + DisallowedIdna2008, DisallowedStd3Mapped(StringTableSlice { byte_start_lo: 68, byte_start_hi: 9, byte_len: 3 }), DisallowedStd3Mapped(StringTableSlice { byte_start_lo: 71, byte_start_hi: 9, byte_len: 3 }), Mapped(StringTableSlice { byte_start_lo: 16, byte_start_hi: 1, byte_len: 2 }), - Valid, + DisallowedIdna2008, Mapped(StringTableSlice { byte_start_lo: 74, byte_start_hi: 9, byte_len: 3 }), Mapped(StringTableSlice { byte_start_lo: 6, byte_start_hi: 0, byte_len: 1 }), Mapped(StringTableSlice { byte_start_lo: 7, byte_start_hi: 0, byte_len: 1 }), Mapped(StringTableSlice { byte_start_lo: 159, byte_start_hi: 0, byte_len: 2 }), Mapped(StringTableSlice { byte_start_lo: 8, byte_start_hi: 0, byte_len: 1 }), Mapped(StringTableSlice { byte_start_lo: 11, byte_start_hi: 0, byte_len: 1 }), - Valid, + DisallowedIdna2008, Mapped(StringTableSlice { byte_start_lo: 13, byte_start_hi: 0, byte_len: 1 }), Mapped(StringTableSlice { byte_start_lo: 77, byte_start_hi: 9, byte_len: 2 }), - Valid, + DisallowedIdna2008, Mapped(StringTableSlice { byte_start_lo: 15, byte_start_hi: 0, byte_len: 1 }), Mapped(StringTableSlice { byte_start_lo: 16, byte_start_hi: 0, byte_len: 1 }), Mapped(StringTableSlice { byte_start_lo: 17, byte_start_hi: 0, byte_len: 1 }), - Valid, + DisallowedIdna2008, Mapped(StringTableSlice { byte_start_lo: 79, byte_start_hi: 9, byte_len: 2 }), Mapped(StringTableSlice { byte_start_lo: 81, byte_start_hi: 9, byte_len: 3 }), Mapped(StringTableSlice { byte_start_lo: 84, byte_start_hi: 9, byte_len: 2 }), - Valid, + DisallowedIdna2008, Mapped(StringTableSlice { byte_start_lo: 25, byte_start_hi: 0, byte_len: 1 }), - Valid, + DisallowedIdna2008, Mapped(StringTableSlice { byte_start_lo: 66, byte_start_hi: 2, byte_len: 2 }), - Valid, + DisallowedIdna2008, Mapped(StringTableSlice { byte_start_lo: 25, byte_start_hi: 0, byte_len: 1 }), - Valid, + DisallowedIdna2008, Mapped(StringTableSlice { byte_start_lo: 10, byte_start_hi: 0, byte_len: 1 }), Mapped(StringTableSlice { byte_start_lo: 69, byte_start_hi: 0, byte_len: 2 }), Mapped(StringTableSlice { byte_start_lo: 1, byte_start_hi: 0, byte_len: 1 }), Mapped(StringTableSlice { byte_start_lo: 2, byte_start_hi: 0, byte_len: 1 }), - Valid, + DisallowedIdna2008, Mapped(StringTableSlice { byte_start_lo: 4, byte_start_hi: 0, byte_len: 1 }), Mapped(StringTableSlice { byte_start_lo: 5, byte_start_hi: 0, byte_len: 1 }), Disallowed, @@ -5396,18 +4095,20 @@ static MAPPING_TABLE: &[Mapping] = &[ Mapped(StringTableSlice { byte_start_lo: 90, byte_start_hi: 9, byte_len: 2 }), Mapped(StringTableSlice { byte_start_lo: 92, byte_start_hi: 9, byte_len: 2 }), Mapped(StringTableSlice { byte_start_lo: 8, byte_start_hi: 0, byte_len: 1 }), - Valid, + DisallowedIdna2008, Mapped(StringTableSlice { byte_start_lo: 94, byte_start_hi: 9, byte_len: 3 }), Mapped(StringTableSlice { byte_start_lo: 50, byte_start_hi: 2, byte_len: 2 }), Mapped(StringTableSlice { byte_start_lo: 28, byte_start_hi: 2, byte_len: 2 }), Mapped(StringTableSlice { byte_start_lo: 50, byte_start_hi: 2, byte_len: 2 }), Mapped(StringTableSlice { byte_start_lo: 97, byte_start_hi: 9, byte_len: 3 }), - Valid, + DisallowedIdna2008, Mapped(StringTableSlice { byte_start_lo: 3, byte_start_hi: 0, byte_len: 1 }), Mapped(StringTableSlice { byte_start_lo: 4, byte_start_hi: 0, byte_len: 1 }), Mapped(StringTableSlice { byte_start_lo: 8, byte_start_hi: 0, byte_len: 1 }), Mapped(StringTableSlice { byte_start_lo: 9, byte_start_hi: 0, byte_len: 1 }), + DisallowedIdna2008, Valid, + DisallowedIdna2008, Mapped(StringTableSlice { byte_start_lo: 100, byte_start_hi: 9, byte_len: 5 }), Mapped(StringTableSlice { byte_start_lo: 105, byte_start_hi: 9, byte_len: 5 }), Mapped(StringTableSlice { byte_start_lo: 110, byte_start_hi: 9, byte_len: 6 }), @@ -5456,28 +4157,29 @@ static MAPPING_TABLE: &[Mapping] = &[ Mapped(StringTableSlice { byte_start_lo: 2, byte_start_hi: 0, byte_len: 1 }), Mapped(StringTableSlice { byte_start_lo: 3, byte_start_hi: 0, byte_len: 1 }), Mapped(StringTableSlice { byte_start_lo: 12, byte_start_hi: 0, byte_len: 1 }), - Valid, + DisallowedIdna2008, Disallowed, Valid, + DisallowedIdna2008, Mapped(StringTableSlice { byte_start_lo: 203, byte_start_hi: 9, byte_len: 5 }), - Valid, + DisallowedIdna2008, Disallowed, - Valid, + DisallowedIdna2008, Mapped(StringTableSlice { byte_start_lo: 208, byte_start_hi: 9, byte_len: 6 }), Mapped(StringTableSlice { byte_start_lo: 214, byte_start_hi: 9, byte_len: 9 }), - Valid, + DisallowedIdna2008, Mapped(StringTableSlice { byte_start_lo: 223, byte_start_hi: 9, byte_len: 6 }), Mapped(StringTableSlice { byte_start_lo: 229, byte_start_hi: 9, byte_len: 9 }), - Valid, + DisallowedIdna2008, DisallowedStd3Valid, - Valid, + DisallowedIdna2008, DisallowedStd3Valid, - Valid, + DisallowedIdna2008, Mapped(StringTableSlice { byte_start_lo: 238, byte_start_hi: 9, byte_len: 3 }), Mapped(StringTableSlice { byte_start_lo: 241, byte_start_hi: 9, byte_len: 3 }), - Valid, + DisallowedIdna2008, Disallowed, - Valid, + DisallowedIdna2008, Disallowed, Mapped(StringTableSlice { byte_start_lo: 43, byte_start_hi: 0, byte_len: 1 }), Mapped(StringTableSlice { byte_start_lo: 33, byte_start_hi: 0, byte_len: 1 }), @@ -5599,19 +4301,19 @@ static MAPPING_TABLE: &[Mapping] = &[ Mapped(StringTableSlice { byte_start_lo: 24, byte_start_hi: 0, byte_len: 1 }), Mapped(StringTableSlice { byte_start_lo: 25, byte_start_hi: 0, byte_len: 1 }), Mapped(StringTableSlice { byte_start_lo: 43, byte_start_hi: 9, byte_len: 1 }), - Valid, + DisallowedIdna2008, Mapped(StringTableSlice { byte_start_lo: 159, byte_start_hi: 10, byte_len: 12 }), - Valid, + DisallowedIdna2008, DisallowedStd3Mapped(StringTableSlice { byte_start_lo: 171, byte_start_hi: 10, byte_len: 3 }), DisallowedStd3Mapped(StringTableSlice { byte_start_lo: 174, byte_start_hi: 10, byte_len: 2 }), DisallowedStd3Mapped(StringTableSlice { byte_start_lo: 176, byte_start_hi: 10, byte_len: 3 }), - Valid, + DisallowedIdna2008, Mapped(StringTableSlice { byte_start_lo: 179, byte_start_hi: 10, byte_len: 5 }), - Valid, + DisallowedIdna2008, Disallowed, - Valid, + DisallowedIdna2008, Disallowed, - Valid, + DisallowedIdna2008, Mapped(StringTableSlice { byte_start_lo: 184, byte_start_hi: 10, byte_len: 3 }), Mapped(StringTableSlice { byte_start_lo: 187, byte_start_hi: 10, byte_len: 3 }), Mapped(StringTableSlice { byte_start_lo: 190, byte_start_hi: 10, byte_len: 3 }), @@ -5787,6 +4489,7 @@ static MAPPING_TABLE: &[Mapping] = &[ Valid, Mapped(StringTableSlice { byte_start_lo: 245, byte_start_hi: 11, byte_len: 3 }), Valid, + DisallowedIdna2008, Mapped(StringTableSlice { byte_start_lo: 248, byte_start_hi: 11, byte_len: 3 }), Valid, Mapped(StringTableSlice { byte_start_lo: 251, byte_start_hi: 11, byte_len: 3 }), @@ -5794,6 +4497,7 @@ static MAPPING_TABLE: &[Mapping] = &[ Mapped(StringTableSlice { byte_start_lo: 254, byte_start_hi: 11, byte_len: 3 }), Valid, Disallowed, + DisallowedIdna2008, Valid, Disallowed, Valid, @@ -5803,7 +4507,7 @@ static MAPPING_TABLE: &[Mapping] = &[ Valid, Disallowed, Mapped(StringTableSlice { byte_start_lo: 1, byte_start_hi: 12, byte_len: 3 }), - Valid, + DisallowedIdna2008, Disallowed, Valid, Disallowed, @@ -5824,12 +4528,15 @@ static MAPPING_TABLE: &[Mapping] = &[ Valid, Disallowed, Valid, - Disallowed, + DisallowedIdna2008, Valid, + DisallowedIdna2008, Disallowed, - Valid, + DisallowedIdna2008, + Disallowed, + DisallowedIdna2008, Mapped(StringTableSlice { byte_start_lo: 4, byte_start_hi: 12, byte_len: 3 }), - Valid, + DisallowedIdna2008, Mapped(StringTableSlice { byte_start_lo: 7, byte_start_hi: 12, byte_len: 3 }), Disallowed, Mapped(StringTableSlice { byte_start_lo: 10, byte_start_hi: 12, byte_len: 3 }), @@ -6048,15 +4755,21 @@ static MAPPING_TABLE: &[Mapping] = &[ Mapped(StringTableSlice { byte_start_lo: 137, byte_start_hi: 14, byte_len: 3 }), Disallowed, DisallowedStd3Mapped(StringTableSlice { byte_start_lo: 26, byte_start_hi: 0, byte_len: 1 }), - Valid, + DisallowedIdna2008, Mapped(StringTableSlice { byte_start_lo: 140, byte_start_hi: 14, byte_len: 1 }), + DisallowedIdna2008, Valid, - Mapped(StringTableSlice { byte_start_lo: 141, byte_start_hi: 14, byte_len: 3 }), + DisallowedIdna2008, Valid, + DisallowedIdna2008, + Mapped(StringTableSlice { byte_start_lo: 141, byte_start_hi: 14, byte_len: 3 }), + DisallowedIdna2008, Mapped(StringTableSlice { byte_start_lo: 79, byte_start_hi: 12, byte_len: 3 }), Mapped(StringTableSlice { byte_start_lo: 144, byte_start_hi: 14, byte_len: 3 }), Mapped(StringTableSlice { byte_start_lo: 147, byte_start_hi: 14, byte_len: 3 }), + DisallowedIdna2008, Valid, + DisallowedIdna2008, Disallowed, Valid, Disallowed, @@ -6065,6 +4778,7 @@ static MAPPING_TABLE: &[Mapping] = &[ DisallowedStd3Mapped(StringTableSlice { byte_start_lo: 154, byte_start_hi: 14, byte_len: 4 }), Valid, Mapped(StringTableSlice { byte_start_lo: 158, byte_start_hi: 14, byte_len: 6 }), + DisallowedIdna2008, Valid, Mapped(StringTableSlice { byte_start_lo: 164, byte_start_hi: 14, byte_len: 6 }), Disallowed, @@ -6165,7 +4879,7 @@ static MAPPING_TABLE: &[Mapping] = &[ Mapped(StringTableSlice { byte_start_lo: 187, byte_start_hi: 15, byte_len: 3 }), Mapped(StringTableSlice { byte_start_lo: 190, byte_start_hi: 15, byte_len: 3 }), Disallowed, - Valid, + DisallowedIdna2008, Mapped(StringTableSlice { byte_start_lo: 10, byte_start_hi: 12, byte_len: 3 }), Mapped(StringTableSlice { byte_start_lo: 28, byte_start_hi: 12, byte_len: 3 }), Mapped(StringTableSlice { byte_start_lo: 193, byte_start_hi: 15, byte_len: 3 }), @@ -6181,6 +4895,7 @@ static MAPPING_TABLE: &[Mapping] = &[ Mapped(StringTableSlice { byte_start_lo: 220, byte_start_hi: 15, byte_len: 3 }), Mapped(StringTableSlice { byte_start_lo: 34, byte_start_hi: 12, byte_len: 3 }), Valid, + DisallowedIdna2008, Disallowed, Valid, DisallowedStd3Mapped(StringTableSlice { byte_start_lo: 223, byte_start_hi: 15, byte_len: 5 }), @@ -6255,7 +4970,7 @@ static MAPPING_TABLE: &[Mapping] = &[ Mapped(StringTableSlice { byte_start_lo: 55, byte_start_hi: 17, byte_len: 3 }), Mapped(StringTableSlice { byte_start_lo: 208, byte_start_hi: 12, byte_len: 3 }), Mapped(StringTableSlice { byte_start_lo: 58, byte_start_hi: 17, byte_len: 3 }), - Valid, + DisallowedIdna2008, Mapped(StringTableSlice { byte_start_lo: 61, byte_start_hi: 17, byte_len: 3 }), Mapped(StringTableSlice { byte_start_lo: 64, byte_start_hi: 17, byte_len: 2 }), Mapped(StringTableSlice { byte_start_lo: 66, byte_start_hi: 17, byte_len: 2 }), @@ -6303,7 +5018,7 @@ static MAPPING_TABLE: &[Mapping] = &[ Mapped(StringTableSlice { byte_start_lo: 136, byte_start_hi: 17, byte_len: 6 }), Mapped(StringTableSlice { byte_start_lo: 142, byte_start_hi: 17, byte_len: 6 }), Mapped(StringTableSlice { byte_start_lo: 148, byte_start_hi: 17, byte_len: 3 }), - Valid, + DisallowedIdna2008, Mapped(StringTableSlice { byte_start_lo: 10, byte_start_hi: 12, byte_len: 3 }), Mapped(StringTableSlice { byte_start_lo: 28, byte_start_hi: 12, byte_len: 3 }), Mapped(StringTableSlice { byte_start_lo: 193, byte_start_hi: 15, byte_len: 3 }), @@ -6689,11 +5404,17 @@ static MAPPING_TABLE: &[Mapping] = &[ Mapped(StringTableSlice { byte_start_lo: 150, byte_start_hi: 24, byte_len: 5 }), Mapped(StringTableSlice { byte_start_lo: 155, byte_start_hi: 24, byte_len: 3 }), Valid, - Disallowed, + DisallowedIdna2008, Valid, Disallowed, Valid, Disallowed, + DisallowedIdna2008, + Disallowed, + Valid, + DisallowedIdna2008, + Valid, + DisallowedIdna2008, Valid, Disallowed, Mapped(StringTableSlice { byte_start_lo: 158, byte_start_hi: 24, byte_len: 3 }), @@ -6742,6 +5463,10 @@ static MAPPING_TABLE: &[Mapping] = &[ Valid, Mapped(StringTableSlice { byte_start_lo: 221, byte_start_hi: 24, byte_len: 3 }), Valid, + DisallowedIdna2008, + Valid, + DisallowedIdna2008, + Valid, Mapped(StringTableSlice { byte_start_lo: 224, byte_start_hi: 24, byte_len: 3 }), Valid, Mapped(StringTableSlice { byte_start_lo: 227, byte_start_hi: 24, byte_len: 3 }), @@ -6773,8 +5498,13 @@ static MAPPING_TABLE: &[Mapping] = &[ Mapped(StringTableSlice { byte_start_lo: 192, byte_start_hi: 2, byte_len: 2 }), Mapped(StringTableSlice { byte_start_lo: 196, byte_start_hi: 2, byte_len: 2 }), Valid, + DisallowedIdna2008, + Valid, + DisallowedIdna2008, Disallowed, + DisallowedIdna2008, Valid, + DisallowedIdna2008, Mapped(StringTableSlice { byte_start_lo: 10, byte_start_hi: 25, byte_len: 3 }), Valid, Mapped(StringTableSlice { byte_start_lo: 13, byte_start_hi: 25, byte_len: 3 }), @@ -6868,6 +5598,7 @@ static MAPPING_TABLE: &[Mapping] = &[ Valid, Mapped(StringTableSlice { byte_start_lo: 145, byte_start_hi: 25, byte_len: 3 }), Valid, + DisallowedIdna2008, Mapped(StringTableSlice { byte_start_lo: 148, byte_start_hi: 25, byte_len: 3 }), Valid, Mapped(StringTableSlice { byte_start_lo: 185, byte_start_hi: 5, byte_len: 2 }), @@ -6934,23 +5665,35 @@ static MAPPING_TABLE: &[Mapping] = &[ Mapped(StringTableSlice { byte_start_lo: 159, byte_start_hi: 0, byte_len: 2 }), Mapped(StringTableSlice { byte_start_lo: 206, byte_start_hi: 0, byte_len: 2 }), Valid, - Disallowed, + DisallowedIdna2008, Valid, Disallowed, - Valid, + DisallowedIdna2008, Disallowed, Valid, + DisallowedIdna2008, Disallowed, Valid, Disallowed, + DisallowedIdna2008, Valid, Disallowed, Valid, + DisallowedIdna2008, + Valid, + DisallowedIdna2008, + Valid, + DisallowedIdna2008, + Valid, + Disallowed, + DisallowedIdna2008, Disallowed, Valid, + DisallowedIdna2008, Disallowed, Valid, Disallowed, + DisallowedIdna2008, Valid, Disallowed, Valid, @@ -6959,9 +5702,16 @@ static MAPPING_TABLE: &[Mapping] = &[ Disallowed, Valid, Disallowed, + DisallowedIdna2008, + Valid, + DisallowedIdna2008, Valid, Disallowed, Valid, + DisallowedIdna2008, + Valid, + DisallowedIdna2008, + Valid, Disallowed, Valid, Disallowed, @@ -6974,13 +5724,14 @@ static MAPPING_TABLE: &[Mapping] = &[ Valid, Disallowed, Valid, + DisallowedIdna2008, Mapped(StringTableSlice { byte_start_lo: 16, byte_start_hi: 25, byte_len: 3 }), Mapped(StringTableSlice { byte_start_lo: 232, byte_start_hi: 25, byte_len: 3 }), Mapped(StringTableSlice { byte_start_lo: 72, byte_start_hi: 11, byte_len: 2 }), Mapped(StringTableSlice { byte_start_lo: 235, byte_start_hi: 25, byte_len: 3 }), Valid, Mapped(StringTableSlice { byte_start_lo: 238, byte_start_hi: 25, byte_len: 2 }), - Valid, + DisallowedIdna2008, Disallowed, Mapped(StringTableSlice { byte_start_lo: 240, byte_start_hi: 25, byte_len: 3 }), Mapped(StringTableSlice { byte_start_lo: 243, byte_start_hi: 25, byte_len: 3 }), @@ -7063,14 +5814,16 @@ static MAPPING_TABLE: &[Mapping] = &[ Mapped(StringTableSlice { byte_start_lo: 218, byte_start_hi: 26, byte_len: 3 }), Mapped(StringTableSlice { byte_start_lo: 221, byte_start_hi: 26, byte_len: 3 }), Valid, - Disallowed, + DisallowedIdna2008, Valid, Disallowed, Valid, Disallowed, Valid, Disallowed, - Valid, + DisallowedIdna2008, + Disallowed, + DisallowedIdna2008, Disallowed, Mapped(StringTableSlice { byte_start_lo: 224, byte_start_hi: 26, byte_len: 3 }), Mapped(StringTableSlice { byte_start_lo: 227, byte_start_hi: 26, byte_len: 3 }), @@ -7633,7 +6386,7 @@ static MAPPING_TABLE: &[Mapping] = &[ Mapped(StringTableSlice { byte_start_lo: 159, byte_start_hi: 32, byte_len: 2 }), Mapped(StringTableSlice { byte_start_lo: 161, byte_start_hi: 32, byte_len: 2 }), Mapped(StringTableSlice { byte_start_lo: 163, byte_start_hi: 32, byte_len: 2 }), - Valid, + DisallowedIdna2008, Disallowed, Mapped(StringTableSlice { byte_start_lo: 165, byte_start_hi: 32, byte_len: 2 }), Mapped(StringTableSlice { byte_start_lo: 167, byte_start_hi: 32, byte_len: 2 }), @@ -7971,7 +6724,7 @@ static MAPPING_TABLE: &[Mapping] = &[ Mapped(StringTableSlice { byte_start_lo: 113, byte_start_hi: 33, byte_len: 4 }), Mapped(StringTableSlice { byte_start_lo: 117, byte_start_hi: 33, byte_len: 4 }), Mapped(StringTableSlice { byte_start_lo: 105, byte_start_hi: 35, byte_len: 4 }), - Valid, + DisallowedIdna2008, Disallowed, Mapped(StringTableSlice { byte_start_lo: 109, byte_start_hi: 35, byte_len: 6 }), Mapped(StringTableSlice { byte_start_lo: 115, byte_start_hi: 35, byte_len: 6 }), @@ -8089,7 +6842,7 @@ static MAPPING_TABLE: &[Mapping] = &[ DisallowedStd3Mapped(StringTableSlice { byte_start_lo: 235, byte_start_hi: 37, byte_len: 33 }), DisallowedStd3Mapped(StringTableSlice { byte_start_lo: 12, byte_start_hi: 38, byte_len: 15 }), Mapped(StringTableSlice { byte_start_lo: 27, byte_start_hi: 38, byte_len: 8 }), - Valid, + DisallowedIdna2008, Disallowed, Ignored, DisallowedStd3Mapped(StringTableSlice { byte_start_lo: 35, byte_start_hi: 38, byte_len: 1 }), @@ -8123,7 +6876,7 @@ static MAPPING_TABLE: &[Mapping] = &[ Mapped(StringTableSlice { byte_start_lo: 78, byte_start_hi: 38, byte_len: 3 }), Mapped(StringTableSlice { byte_start_lo: 81, byte_start_hi: 38, byte_len: 3 }), Mapped(StringTableSlice { byte_start_lo: 84, byte_start_hi: 38, byte_len: 3 }), - Valid, + DisallowedIdna2008, DisallowedStd3Mapped(StringTableSlice { byte_start_lo: 87, byte_start_hi: 38, byte_len: 1 }), DisallowedStd3Mapped(StringTableSlice { byte_start_lo: 88, byte_start_hi: 38, byte_len: 1 }), DisallowedStd3Mapped(StringTableSlice { byte_start_lo: 22, byte_start_hi: 9, byte_len: 3 }), @@ -8461,16 +7214,17 @@ static MAPPING_TABLE: &[Mapping] = &[ Disallowed, Valid, Disallowed, - Valid, + DisallowedIdna2008, Disallowed, - Valid, + DisallowedIdna2008, Disallowed, - Valid, + DisallowedIdna2008, Disallowed, - Valid, + DisallowedIdna2008, Disallowed, - Valid, + DisallowedIdna2008, Disallowed, + DisallowedIdna2008, Valid, Disallowed, Valid, @@ -8478,18 +7232,25 @@ static MAPPING_TABLE: &[Mapping] = &[ Valid, Disallowed, Valid, + DisallowedIdna2008, Disallowed, Valid, + DisallowedIdna2008, Disallowed, Valid, + DisallowedIdna2008, + Valid, + DisallowedIdna2008, Disallowed, Valid, Disallowed, Valid, Disallowed, + DisallowedIdna2008, Valid, Disallowed, Valid, + DisallowedIdna2008, Disallowed, Mapped(StringTableSlice { byte_start_lo: 65, byte_start_hi: 39, byte_len: 4 }), Mapped(StringTableSlice { byte_start_lo: 69, byte_start_hi: 39, byte_len: 4 }), @@ -8578,7 +7339,7 @@ static MAPPING_TABLE: &[Mapping] = &[ Disallowed, Valid, Disallowed, - Valid, + DisallowedIdna2008, Disallowed, Valid, Disallowed, @@ -8598,26 +7359,33 @@ static MAPPING_TABLE: &[Mapping] = &[ Disallowed, Valid, Disallowed, + DisallowedIdna2008, Valid, - Disallowed, + DisallowedIdna2008, Valid, Disallowed, - Valid, + DisallowedIdna2008, Disallowed, Valid, Disallowed, Valid, Disallowed, + DisallowedIdna2008, Valid, + DisallowedIdna2008, Disallowed, + DisallowedIdna2008, Valid, Disallowed, - Valid, + DisallowedIdna2008, Disallowed, Valid, Disallowed, + DisallowedIdna2008, Valid, + DisallowedIdna2008, Disallowed, + DisallowedIdna2008, Valid, Disallowed, Valid, @@ -8631,25 +7399,36 @@ static MAPPING_TABLE: &[Mapping] = &[ Valid, Disallowed, Valid, + DisallowedIdna2008, Disallowed, - Valid, + DisallowedIdna2008, Disallowed, Valid, - Disallowed, + DisallowedIdna2008, Valid, + DisallowedIdna2008, Disallowed, Valid, - Disallowed, + DisallowedIdna2008, Valid, Disallowed, + DisallowedIdna2008, + Disallowed, Valid, Disallowed, + DisallowedIdna2008, Valid, Disallowed, + DisallowedIdna2008, Valid, Disallowed, + DisallowedIdna2008, Valid, Disallowed, + DisallowedIdna2008, + Disallowed, + DisallowedIdna2008, + Disallowed, Valid, Disallowed, Mapped(StringTableSlice { byte_start_lo: 113, byte_start_hi: 40, byte_len: 4 }), @@ -8706,35 +7485,42 @@ static MAPPING_TABLE: &[Mapping] = &[ Disallowed, Valid, Disallowed, + DisallowedIdna2008, Valid, Disallowed, Valid, Disallowed, - Valid, + DisallowedIdna2008, Disallowed, Valid, Disallowed, Valid, + DisallowedIdna2008, Disallowed, Valid, Disallowed, Valid, - Disallowed, + DisallowedIdna2008, Valid, Disallowed, Valid, + DisallowedIdna2008, Disallowed, Valid, + DisallowedIdna2008, Disallowed, Valid, Disallowed, Valid, + DisallowedIdna2008, Disallowed, + DisallowedIdna2008, Valid, Disallowed, Valid, + DisallowedIdna2008, Disallowed, - Valid, + DisallowedIdna2008, Disallowed, Valid, Disallowed, @@ -8743,16 +7529,29 @@ static MAPPING_TABLE: &[Mapping] = &[ Valid, Disallowed, Valid, - Disallowed, + DisallowedIdna2008, Valid, Disallowed, Valid, + DisallowedIdna2008, + Valid, Disallowed, Valid, + DisallowedIdna2008, + Valid, + DisallowedIdna2008, + Valid, + DisallowedIdna2008, + Valid, + DisallowedIdna2008, + Disallowed, + DisallowedIdna2008, Disallowed, Valid, Disallowed, Valid, + DisallowedIdna2008, + Valid, Disallowed, Valid, Disallowed, @@ -8763,6 +7562,7 @@ static MAPPING_TABLE: &[Mapping] = &[ Valid, Disallowed, Valid, + DisallowedIdna2008, Disallowed, Valid, Disallowed, @@ -8799,21 +7599,33 @@ static MAPPING_TABLE: &[Mapping] = &[ Valid, Disallowed, Valid, + DisallowedIdna2008, + Valid, + DisallowedIdna2008, Disallowed, + DisallowedIdna2008, Valid, Disallowed, Valid, + DisallowedIdna2008, + Valid, Disallowed, Valid, Disallowed, Valid, Disallowed, Valid, + DisallowedIdna2008, + Valid, Disallowed, Valid, + DisallowedIdna2008, + Valid, Disallowed, Valid, Disallowed, + DisallowedIdna2008, + Disallowed, Valid, Disallowed, Valid, @@ -8823,8 +7635,10 @@ static MAPPING_TABLE: &[Mapping] = &[ Valid, Disallowed, Valid, + DisallowedIdna2008, Disallowed, Valid, + DisallowedIdna2008, Disallowed, Mapped(StringTableSlice { byte_start_lo: 61, byte_start_hi: 41, byte_len: 4 }), Mapped(StringTableSlice { byte_start_lo: 65, byte_start_hi: 41, byte_len: 4 }), @@ -8859,6 +7673,7 @@ static MAPPING_TABLE: &[Mapping] = &[ Mapped(StringTableSlice { byte_start_lo: 181, byte_start_hi: 41, byte_len: 4 }), Mapped(StringTableSlice { byte_start_lo: 185, byte_start_hi: 41, byte_len: 4 }), Valid, + DisallowedIdna2008, Disallowed, Valid, Disallowed, @@ -8873,6 +7688,7 @@ static MAPPING_TABLE: &[Mapping] = &[ Valid, Disallowed, Valid, + DisallowedIdna2008, Disallowed, Valid, Disallowed, @@ -8881,16 +7697,17 @@ static MAPPING_TABLE: &[Mapping] = &[ Valid, Disallowed, Valid, - Disallowed, + DisallowedIdna2008, Valid, Disallowed, Valid, - Disallowed, + DisallowedIdna2008, Valid, Disallowed, Valid, - Disallowed, + DisallowedIdna2008, Valid, + DisallowedIdna2008, Disallowed, Valid, Disallowed, @@ -8899,9 +7716,12 @@ static MAPPING_TABLE: &[Mapping] = &[ Valid, Disallowed, Valid, + DisallowedIdna2008, Disallowed, Valid, + DisallowedIdna2008, Disallowed, + DisallowedIdna2008, Valid, Disallowed, Valid, @@ -8935,14 +7755,18 @@ static MAPPING_TABLE: &[Mapping] = &[ Valid, Disallowed, Valid, + DisallowedIdna2008, Disallowed, Valid, Disallowed, - Valid, + DisallowedIdna2008, Disallowed, + DisallowedIdna2008, Valid, Disallowed, - Valid, + DisallowedIdna2008, + Disallowed, + DisallowedIdna2008, Disallowed, Valid, Disallowed, @@ -8956,14 +7780,22 @@ static MAPPING_TABLE: &[Mapping] = &[ Disallowed, Valid, Disallowed, + DisallowedIdna2008, + Disallowed, Valid, Disallowed, Valid, + DisallowedIdna2008, Disallowed, Valid, + DisallowedIdna2008, + Valid, + DisallowedIdna2008, Disallowed, Valid, Disallowed, + DisallowedIdna2008, + Disallowed, Valid, Disallowed, Valid, @@ -9001,6 +7833,7 @@ static MAPPING_TABLE: &[Mapping] = &[ Mapped(StringTableSlice { byte_start_lo: 53, byte_start_hi: 42, byte_len: 4 }), Mapped(StringTableSlice { byte_start_lo: 57, byte_start_hi: 42, byte_len: 4 }), Valid, + DisallowedIdna2008, Disallowed, Valid, Disallowed, @@ -9009,6 +7842,8 @@ static MAPPING_TABLE: &[Mapping] = &[ Valid, Disallowed, Valid, + DisallowedIdna2008, + Valid, Disallowed, Valid, Disallowed, @@ -9034,14 +7869,16 @@ static MAPPING_TABLE: &[Mapping] = &[ Disallowed, Valid, Disallowed, + DisallowedIdna2008, Valid, + DisallowedIdna2008, Ignored, Disallowed, - Valid, + DisallowedIdna2008, Disallowed, - Valid, + DisallowedIdna2008, Disallowed, - Valid, + DisallowedIdna2008, Mapped(StringTableSlice { byte_start_lo: 61, byte_start_hi: 42, byte_len: 8 }), Mapped(StringTableSlice { byte_start_lo: 69, byte_start_hi: 42, byte_len: 8 }), Mapped(StringTableSlice { byte_start_lo: 77, byte_start_hi: 42, byte_len: 12 }), @@ -9049,24 +7886,24 @@ static MAPPING_TABLE: &[Mapping] = &[ Mapped(StringTableSlice { byte_start_lo: 101, byte_start_hi: 42, byte_len: 12 }), Mapped(StringTableSlice { byte_start_lo: 113, byte_start_hi: 42, byte_len: 12 }), Mapped(StringTableSlice { byte_start_lo: 125, byte_start_hi: 42, byte_len: 12 }), - Valid, + DisallowedIdna2008, Disallowed, - Valid, + DisallowedIdna2008, Mapped(StringTableSlice { byte_start_lo: 137, byte_start_hi: 42, byte_len: 8 }), Mapped(StringTableSlice { byte_start_lo: 145, byte_start_hi: 42, byte_len: 8 }), Mapped(StringTableSlice { byte_start_lo: 153, byte_start_hi: 42, byte_len: 12 }), Mapped(StringTableSlice { byte_start_lo: 165, byte_start_hi: 42, byte_len: 12 }), Mapped(StringTableSlice { byte_start_lo: 177, byte_start_hi: 42, byte_len: 12 }), Mapped(StringTableSlice { byte_start_lo: 189, byte_start_hi: 42, byte_len: 12 }), - Valid, + DisallowedIdna2008, Disallowed, - Valid, + DisallowedIdna2008, Disallowed, - Valid, + DisallowedIdna2008, Disallowed, - Valid, + DisallowedIdna2008, Disallowed, - Valid, + DisallowedIdna2008, Disallowed, Mapped(StringTableSlice { byte_start_lo: 0, byte_start_hi: 0, byte_len: 1 }), Mapped(StringTableSlice { byte_start_lo: 1, byte_start_hi: 0, byte_len: 1 }), @@ -10078,9 +8915,15 @@ static MAPPING_TABLE: &[Mapping] = &[ Mapped(StringTableSlice { byte_start_lo: 47, byte_start_hi: 9, byte_len: 1 }), Mapped(StringTableSlice { byte_start_lo: 48, byte_start_hi: 9, byte_len: 1 }), Mapped(StringTableSlice { byte_start_lo: 49, byte_start_hi: 9, byte_len: 1 }), + DisallowedIdna2008, Valid, - Disallowed, + DisallowedIdna2008, + Valid, + DisallowedIdna2008, + Valid, + DisallowedIdna2008, Valid, + DisallowedIdna2008, Disallowed, Valid, Disallowed, @@ -10103,11 +8946,15 @@ static MAPPING_TABLE: &[Mapping] = &[ Valid, Disallowed, Valid, + DisallowedIdna2008, Disallowed, Valid, Disallowed, + DisallowedIdna2008, + Disallowed, Valid, Disallowed, + DisallowedIdna2008, Valid, Disallowed, Mapped(StringTableSlice { byte_start_lo: 211, byte_start_hi: 42, byte_len: 4 }), @@ -10148,11 +8995,11 @@ static MAPPING_TABLE: &[Mapping] = &[ Disallowed, Valid, Disallowed, - Valid, + DisallowedIdna2008, Disallowed, - Valid, + DisallowedIdna2008, Disallowed, - Valid, + DisallowedIdna2008, Disallowed, Mapped(StringTableSlice { byte_start_lo: 159, byte_start_hi: 38, byte_len: 2 }), Mapped(StringTableSlice { byte_start_lo: 161, byte_start_hi: 38, byte_len: 2 }), @@ -10328,19 +9175,19 @@ static MAPPING_TABLE: &[Mapping] = &[ Mapped(StringTableSlice { byte_start_lo: 193, byte_start_hi: 38, byte_len: 2 }), Mapped(StringTableSlice { byte_start_lo: 197, byte_start_hi: 38, byte_len: 2 }), Disallowed, - Valid, + DisallowedIdna2008, Disallowed, - Valid, + DisallowedIdna2008, Disallowed, - Valid, + DisallowedIdna2008, Disallowed, - Valid, + DisallowedIdna2008, Disallowed, - Valid, + DisallowedIdna2008, Disallowed, - Valid, + DisallowedIdna2008, Disallowed, - Valid, + DisallowedIdna2008, Disallowed, DisallowedStd3Mapped(StringTableSlice { byte_start_lo: 97, byte_start_hi: 43, byte_len: 2 }), DisallowedStd3Mapped(StringTableSlice { byte_start_lo: 99, byte_start_hi: 43, byte_len: 2 }), @@ -10352,7 +9199,7 @@ static MAPPING_TABLE: &[Mapping] = &[ DisallowedStd3Mapped(StringTableSlice { byte_start_lo: 111, byte_start_hi: 43, byte_len: 2 }), DisallowedStd3Mapped(StringTableSlice { byte_start_lo: 113, byte_start_hi: 43, byte_len: 2 }), DisallowedStd3Mapped(StringTableSlice { byte_start_lo: 115, byte_start_hi: 43, byte_len: 2 }), - Valid, + DisallowedIdna2008, DisallowedStd3Mapped(StringTableSlice { byte_start_lo: 81, byte_start_hi: 10, byte_len: 3 }), DisallowedStd3Mapped(StringTableSlice { byte_start_lo: 84, byte_start_hi: 10, byte_len: 3 }), DisallowedStd3Mapped(StringTableSlice { byte_start_lo: 87, byte_start_hi: 10, byte_len: 3 }), @@ -10384,7 +9231,7 @@ static MAPPING_TABLE: &[Mapping] = &[ Mapped(StringTableSlice { byte_start_lo: 17, byte_start_hi: 0, byte_len: 1 }), Mapped(StringTableSlice { byte_start_lo: 205, byte_start_hi: 23, byte_len: 2 }), Mapped(StringTableSlice { byte_start_lo: 124, byte_start_hi: 43, byte_len: 2 }), - Valid, + DisallowedIdna2008, Mapped(StringTableSlice { byte_start_lo: 0, byte_start_hi: 0, byte_len: 1 }), Mapped(StringTableSlice { byte_start_lo: 1, byte_start_hi: 0, byte_len: 1 }), Mapped(StringTableSlice { byte_start_lo: 2, byte_start_hi: 0, byte_len: 1 }), @@ -10417,15 +9264,15 @@ static MAPPING_TABLE: &[Mapping] = &[ Mapped(StringTableSlice { byte_start_lo: 119, byte_start_hi: 0, byte_len: 2 }), Mapped(StringTableSlice { byte_start_lo: 130, byte_start_hi: 43, byte_len: 3 }), Mapped(StringTableSlice { byte_start_lo: 133, byte_start_hi: 43, byte_len: 2 }), - Valid, + DisallowedIdna2008, Mapped(StringTableSlice { byte_start_lo: 135, byte_start_hi: 43, byte_len: 2 }), Mapped(StringTableSlice { byte_start_lo: 137, byte_start_hi: 43, byte_len: 2 }), Mapped(StringTableSlice { byte_start_lo: 139, byte_start_hi: 43, byte_len: 2 }), - Valid, + DisallowedIdna2008, Mapped(StringTableSlice { byte_start_lo: 141, byte_start_hi: 43, byte_len: 2 }), - Valid, + DisallowedIdna2008, Disallowed, - Valid, + DisallowedIdna2008, Mapped(StringTableSlice { byte_start_lo: 143, byte_start_hi: 43, byte_len: 6 }), Mapped(StringTableSlice { byte_start_lo: 149, byte_start_hi: 43, byte_len: 6 }), Mapped(StringTableSlice { byte_start_lo: 112, byte_start_hi: 18, byte_len: 3 }), @@ -10488,57 +9335,57 @@ static MAPPING_TABLE: &[Mapping] = &[ Mapped(StringTableSlice { byte_start_lo: 73, byte_start_hi: 44, byte_len: 3 }), Mapped(StringTableSlice { byte_start_lo: 76, byte_start_hi: 44, byte_len: 3 }), Disallowed, - Valid, + DisallowedIdna2008, Disallowed, - Valid, + DisallowedIdna2008, Disallowed, - Valid, + DisallowedIdna2008, Disallowed, - Valid, + DisallowedIdna2008, Disallowed, - Valid, + DisallowedIdna2008, Disallowed, - Valid, + DisallowedIdna2008, Disallowed, - Valid, + DisallowedIdna2008, Disallowed, - Valid, + DisallowedIdna2008, Disallowed, - Valid, + DisallowedIdna2008, Disallowed, - Valid, + DisallowedIdna2008, Disallowed, - Valid, + DisallowedIdna2008, Disallowed, - Valid, + DisallowedIdna2008, Disallowed, - Valid, + DisallowedIdna2008, Disallowed, - Valid, + DisallowedIdna2008, Disallowed, - Valid, + DisallowedIdna2008, Disallowed, - Valid, + DisallowedIdna2008, Disallowed, - Valid, + DisallowedIdna2008, Disallowed, - Valid, + DisallowedIdna2008, Disallowed, - Valid, + DisallowedIdna2008, Disallowed, - Valid, + DisallowedIdna2008, Disallowed, - Valid, + DisallowedIdna2008, Disallowed, - Valid, + DisallowedIdna2008, Disallowed, - Valid, + DisallowedIdna2008, Disallowed, - Valid, + DisallowedIdna2008, Disallowed, - Valid, + DisallowedIdna2008, Disallowed, - Valid, + DisallowedIdna2008, Disallowed, Mapped(StringTableSlice { byte_start_lo: 43, byte_start_hi: 9, byte_len: 1 }), Mapped(StringTableSlice { byte_start_lo: 43, byte_start_hi: 0, byte_len: 1 }), diff --git a/tests/punycode.rs b/tests/punycode.rs index 357a621..c0123c6 100644 --- a/tests/punycode.rs +++ b/tests/punycode.rs @@ -19,10 +19,10 @@ fn one_test(decoded: &str, encoded: &str) { let result = result.into_iter().collect::<String>(); assert!( result == decoded, - format!( - "Incorrect decoding of \"{}\":\n \"{}\"\n!= \"{}\"\n", - encoded, result, decoded - ) + "Incorrect decoding of \"{}\":\n \"{}\"\n!= \"{}\"\n", + encoded, + result, + decoded ) } } @@ -31,10 +31,10 @@ fn one_test(decoded: &str, encoded: &str) { None => panic!("Encoding {} failed.", decoded), Some(result) => assert!( result == encoded, - format!( - "Incorrect encoding of \"{}\":\n \"{}\"\n!= \"{}\"\n", - decoded, result, encoded - ) + "Incorrect encoding of \"{}\":\n \"{}\"\n!= \"{}\"\n", + decoded, + result, + encoded ), } } diff --git a/tests/unit.rs b/tests/unit.rs index a9aa375..84a9d54 100644 --- a/tests/unit.rs +++ b/tests/unit.rs @@ -114,3 +114,20 @@ fn test_v8_bidi_rules() { // Bidi chars may be punycode-encoded assert!(config.to_ascii("xn--0ca24w").is_err()); } + +#[test] +fn emoji_domains() { + // HOT BEVERAGE is allowed here... + let config = idna::Config::default() + .verify_dns_length(true) + .use_std3_ascii_rules(true); + assert_eq!(config.to_ascii("☕.com").unwrap(), "xn--53h.com"); + + // ... but not here + let config = idna::Config::default() + .verify_dns_length(true) + .use_std3_ascii_rules(true) + .use_idna_2008_rules(true); + let error = format!("{:?}", config.to_ascii("☕.com").unwrap_err()); + assert!(error.contains("disallowed_in_idna_2008")); +} |