Revision control
Copy as Markdown
Other Tools
// Generated by update_unicode.py DO NOT MODIFY
// Unicode version: 14.0.0
const FLAG_ID_START: u8 = 1;
const FLAG_ID_CONTINUE: u8 = 2;
pub struct CharInfo {
flags: u8,
}
impl CharInfo {
pub fn is_id_start(&self) -> bool {
self.flags & FLAG_ID_START != 0
}
pub fn is_id_continue(&self) -> bool {
self.flags & FLAG_ID_CONTINUE != 0
}
}
pub const CHAR_INFO_TABLE: &'static [CharInfo] = &[
CharInfo { flags: 0 },
CharInfo { flags: 2 },
CharInfo { flags: 3 },
];
pub const INDEX1: &'static [u8] = &[
0, 0, 0, 1, 2, 3, 2, 4, 0, 0, 5, 6, 7, 8, 7, 8, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 9, 10, 11, 0, 12, 12, 12, 12, 12, 12, 12, 13, 14, 7, 15, 7,
7, 7, 7, 16, 7, 7, 7, 7, 7, 7, 7, 7, 17, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 2, 7, 18, 7, 7, 19, 20,
12, 21, 22, 7, 23, 24, 0, 25, 7, 7, 26, 12, 27, 28, 7, 7, 7, 7, 7, 29, 30, 31, 0, 32, 7, 12,
33, 7, 7, 7, 7, 7, 34, 35, 36, 7, 26, 37, 7, 38, 39, 0, 7, 40, 4, 7, 41, 42, 7, 7, 43, 12, 44,
12, 45, 7, 7, 46, 12, 47, 48, 2, 49, 50, 51, 52, 53, 54, 48, 55, 56, 50, 51, 57, 58, 59, 60,
61, 62, 15, 51, 63, 64, 65, 48, 66, 67, 50, 51, 63, 68, 69, 48, 70, 71, 72, 73, 74, 75, 76, 60,
0, 77, 78, 51, 79, 80, 81, 48, 0, 82, 78, 51, 83, 80, 84, 48, 85, 86, 78, 7, 87, 88, 89, 48,
90, 91, 92, 7, 93, 94, 95, 60, 96, 2, 7, 7, 97, 98, 1, 0, 0, 99, 7, 100, 101, 102, 103, 0, 0,
65, 104, 1, 105, 106, 7, 107, 20, 108, 109, 12, 110, 111, 0, 0, 0, 7, 7, 26, 112, 1, 113, 114,
115, 116, 117, 7, 7, 118, 7, 7, 119, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
7, 120, 121, 7, 7, 120, 7, 7, 122, 123, 8, 7, 7, 7, 123, 7, 7, 7, 124, 125, 126, 7, 0, 7, 7, 7,
7, 7, 127, 2, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 128, 7, 2, 4, 7, 7, 7, 7, 129, 19, 7, 130, 7, 131, 7, 132, 133,
134, 7, 7, 7, 135, 12, 136, 1, 0, 137, 1, 7, 7, 7, 7, 7, 19, 7, 7, 138, 7, 7, 7, 7, 139, 7,
140, 141, 141, 60, 7, 142, 143, 7, 7, 144, 7, 145, 25, 0, 0, 7, 146, 7, 7, 7, 147, 12, 148, 1,
1, 149, 21, 150, 0, 0, 0, 151, 7, 7, 135, 152, 1, 153, 154, 155, 7, 156, 36, 7, 7, 34, 154, 7,
7, 135, 157, 158, 36, 7, 142, 19, 7, 7, 159, 0, 160, 161, 162, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
7, 12, 12, 12, 12, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 127, 7, 7, 127, 163, 7,
142, 7, 7, 7, 164, 165, 166, 107, 165, 0, 0, 0, 167, 168, 169, 0, 170, 0, 107, 0, 0, 0, 110,
171, 168, 172, 173, 174, 175, 176, 0, 7, 7, 19, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 7, 7, 7, 7, 7, 7, 7, 7,
7, 7, 7, 7, 7, 177, 178, 7, 7, 118, 7, 7, 7, 179, 167, 7, 180, 181, 181, 181, 181, 12, 12, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
182, 0, 183, 184, 2, 7, 7, 7, 7, 185, 2, 7, 7, 7, 7, 119, 186, 7, 7, 2, 7, 7, 7, 7, 140, 0, 7,
7, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
7, 0, 0, 0, 0, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 107, 0, 0, 0, 0, 7, 7, 142, 7, 7, 7, 7, 7, 7, 7, 7, 7,
7, 7, 7, 7, 7, 7, 7, 107, 7, 187, 0, 7, 7, 188, 189, 7, 190, 7, 7, 7, 7, 7, 126, 0, 191, 192,
7, 7, 7, 7, 7, 193, 7, 7, 7, 4, 194, 0, 192, 195, 7, 196, 0, 7, 7, 7, 197, 198, 7, 7, 135, 199,
1, 12, 200, 36, 7, 201, 7, 202, 154, 7, 107, 45, 7, 7, 203, 204, 1, 205, 206, 7, 7, 207, 208,
209, 1, 7, 210, 7, 7, 7, 211, 212, 213, 26, 214, 215, 216, 181, 7, 7, 119, 145, 7, 7, 7, 7, 7,
7, 7, 217, 1, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
197, 7, 218, 7, 7, 144, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 7, 7, 7, 7, 7, 7, 7,
7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 142, 7, 7, 7, 7, 7, 7, 145, 0, 0, 180, 219, 51, 220,
221, 7, 7, 7, 7, 7, 7, 10, 0, 222, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
7, 142, 0, 7, 7, 7, 7, 192, 7, 7, 223, 0, 0, 144, 12, 0, 12, 224, 225, 0, 0, 226, 7, 7, 7, 7,
7, 7, 7, 107, 0, 1, 2, 3, 2, 4, 227, 7, 7, 7, 7, 140, 228, 229, 0, 0,
];
pub const INDEX2: &'static [u8] = &[
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0,
0, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 0, 0, 0, 0, 1,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 2, 0, 1, 0, 0, 2, 0, 0, 0, 0, 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 0, 0, 0, 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 2, 2, 2, 2, 0, 0, 0, 0, 0, 0, 0, 2, 0, 2, 0,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 0, 2, 2, 0, 0, 2, 2, 2, 2, 0, 2,
0, 0, 0, 0, 0, 0, 2, 1, 2, 2, 2, 0, 2, 0, 2, 2, 2, 2, 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 0, 1, 1, 1, 1, 1, 0, 0, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 0, 0, 2, 0, 0, 0, 0, 0, 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, 0, 0, 0, 0, 0, 0, 0,
0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1,
0, 1, 1, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 0, 0, 0, 0, 2,
2, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 2, 2,
1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 0, 2, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1,
1, 1, 1, 1, 1, 2, 2, 1, 1, 0, 1, 1, 1, 1, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 0, 0, 2,
2, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 2, 2, 2,
2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 2, 2, 0, 0, 0, 0, 2, 0, 0, 1, 0, 0,
2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 2, 1, 1, 1, 1, 1, 0, 0,
2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 0, 0, 0, 0, 2, 2, 2, 2, 2, 2, 2, 2, 0, 2, 2, 2, 2, 2, 2, 0,
0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1,
1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 2, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 0, 2, 2, 2, 2, 2, 2, 2, 2, 0, 0, 2,
2, 0, 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 0, 2, 2, 2, 2, 2, 2,
2, 0, 2, 0, 0, 0, 2, 2, 2, 2, 0, 0, 1, 2, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 0, 0, 1, 1, 1, 2, 0,
0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 2, 2, 0, 2, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 1, 0,
0, 1, 1, 1, 0, 2, 2, 2, 2, 2, 2, 0, 0, 0, 0, 2, 2, 0, 2, 2, 0, 2, 2, 0, 2, 2, 0, 0, 1, 0, 1, 1,
1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 0, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 2, 2, 2, 2, 0, 2, 0,
0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 1, 1, 1, 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, 0, 2, 2, 0, 2, 2, 0, 2, 2, 2, 2, 2, 0, 0, 1, 2, 1, 1,
1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 0, 1, 1, 1, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 0, 2, 2, 2, 2, 2, 2, 2, 2, 0, 0, 2,
1, 1, 1, 1, 1, 0, 0, 1, 1, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 2, 2, 0, 2,
0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 0, 2, 2, 2, 2, 2, 2, 0, 0, 0, 2, 2,
2, 0, 2, 2, 2, 2, 0, 0, 0, 2, 2, 0, 2, 0, 2, 2, 0, 0, 0, 2, 2, 0, 0, 0, 2, 2, 2, 0, 0, 0, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 1, 1, 1, 0, 1, 1, 1, 1, 0, 0,
2, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 0, 2, 2,
2, 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 0, 0, 1, 2, 1, 1,
1, 1, 1, 1, 1, 0, 1, 1, 1, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 2, 2, 2, 0, 0, 2, 0, 0,
2, 1, 1, 1, 0, 2, 2, 2, 2, 2, 2, 2, 2, 0, 2, 2, 2, 2, 2, 2, 0, 2, 2, 2, 2, 2, 0, 0, 1, 2, 1, 1,
0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 2, 2, 0, 0, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 2, 1, 1,
1, 1, 1, 1, 1, 0, 1, 1, 1, 0, 1, 1, 1, 1, 2, 0, 0, 0, 0, 0, 2, 2, 2, 1, 0, 0, 0, 0, 0, 0, 0, 2,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 2, 2, 2, 2, 2, 0, 1, 1, 1, 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 0, 0, 0, 2, 2, 2, 2, 2, 2, 2, 2, 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, 0, 2, 0, 0,
2, 2, 2, 2, 2, 2, 2, 0, 0, 0, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1,
0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 1, 2, 2, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 2, 2, 0, 2, 0, 2, 2, 2, 2, 2, 0, 2, 2, 2, 2,
2, 2, 2, 2, 0, 2, 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 0, 0,
2, 2, 2, 2, 2, 0, 2, 0, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 2, 2, 2, 2,
0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 1, 1,
2, 2, 2, 2, 2, 2, 2, 2, 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 0, 0, 0,
1, 1, 1, 1, 1, 0, 1, 1, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 2, 2, 2, 2, 1, 1,
1, 2, 1, 1, 1, 2, 2, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0,
2, 2, 2, 2, 2, 2, 0, 2, 0, 0, 0, 0, 0, 2, 0, 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 0, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 0, 2, 2, 2, 2, 0, 0, 2, 2, 2, 2, 2, 2, 2, 0, 2, 0, 2, 2, 2, 2, 0, 0,
2, 0, 2, 2, 2, 2, 0, 0, 2, 2, 2, 2, 2, 2, 2, 0, 2, 0, 2, 2, 2, 2, 0, 0, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1,
1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 2, 2, 2, 2, 2, 0, 0, 2, 2, 2, 2, 2, 2, 0, 0,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 0, 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 0, 0, 0, 2, 2,
2, 2, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 2, 2, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2, 2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 0, 2, 2,
2, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 0, 0, 0, 2, 0, 0, 0, 0, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1,
2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 2, 0, 0, 0, 0, 0, 2, 2, 2, 2, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 0, 0, 2, 2, 2, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 0, 0, 0, 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 0, 0, 0, 0, 0, 0,
2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 0, 0, 0, 0, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1,
1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 0, 0, 2, 2, 2,
1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 1, 2, 2,
2, 2, 2, 2, 1, 2, 2, 1, 1, 1, 2, 0, 0, 0, 0, 0, 2, 2, 2, 2, 2, 2, 2, 2, 0, 2, 0, 2, 0, 2, 0, 2,
2, 2, 2, 2, 2, 0, 2, 2, 2, 2, 2, 2, 2, 0, 2, 0, 0, 0, 2, 2, 2, 0, 2, 2, 2, 2, 2, 2, 2, 0, 0, 0,
2, 2, 2, 2, 0, 0, 2, 2, 2, 2, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 1, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
0, 0, 2, 0, 0, 0, 0, 2, 0, 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 0, 2, 0, 0, 2, 2, 2, 2, 2, 2, 0, 0,
0, 0, 0, 0, 2, 0, 2, 0, 2, 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 0, 0, 2, 2, 2, 2,
0, 0, 0, 0, 0, 2, 2, 2, 2, 2, 0, 0, 0, 0, 2, 0, 2, 2, 2, 2, 2, 0, 0, 0, 0, 0, 0, 2, 2, 2, 2, 1,
1, 1, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 2, 2, 2, 2, 2, 2, 2, 0, 0, 0, 0, 0, 0, 0, 2,
2, 2, 2, 2, 2, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 2, 2, 2, 2, 2, 2, 0, 2, 2, 2, 2, 2, 2, 2, 0,
0, 0, 0, 0, 0, 2, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1,
0, 2, 2, 2, 2, 2, 0, 0, 2, 2, 2, 2, 2, 0, 0, 0, 2, 2, 2, 2, 2, 2, 2, 0, 0, 1, 1, 2, 2, 2, 2, 2,
0, 0, 0, 0, 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 0, 0, 0, 0,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 2, 2, 2, 2, 2, 2, 2, 2, 2,
0, 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 0, 0, 2, 2, 2, 2, 2,
2, 2, 0, 2, 0, 2, 2, 2, 2, 2, 0, 0, 0, 0, 0, 0, 2, 2, 1, 2, 2, 2, 1, 2, 2, 2, 2, 1, 2, 2, 2, 2,
2, 2, 2, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 2, 2, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1, 1, 2, 2, 2, 2, 2, 2, 0, 0, 0, 2, 0, 2, 2, 1, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0,
2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 2, 2, 2, 2, 2, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 2, 2, 1, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 0, 0,
2, 2, 2, 2, 2, 2, 2, 0, 0, 0, 2, 1, 1, 1, 2, 2, 1, 2, 1, 1, 1, 2, 2, 1, 1, 2, 2, 2, 2, 2, 1, 1,
2, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 2, 2, 0, 0,
0, 0, 2, 2, 2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 2, 2, 2, 2, 2, 0, 0, 2, 2, 2, 2, 2, 2, 0,
0, 2, 2, 2, 2, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 0, 0,
2, 2, 2, 2, 2, 2, 2, 0, 0, 0, 0, 2, 2, 2, 2, 2, 0, 0, 0, 2, 2, 2, 2, 2, 0, 0, 0, 0, 0, 2, 1, 2,
2, 2, 2, 2, 2, 2, 2, 0, 2, 2, 2, 2, 2, 0, 2, 0, 2, 2, 0, 2, 2, 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
0, 0, 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
2, 2, 2, 2, 2, 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 0, 0, 0, 0, 0, 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
0, 0, 2, 2, 2, 2, 2, 2, 0, 0, 2, 2, 2, 2, 2, 2, 0, 0, 2, 2, 2, 2, 2, 2, 0, 0, 2, 2, 2, 0, 0, 0,
];
const SHIFT: usize = 4;
pub fn char_info(c: char) -> &'static CharInfo {
let code = c as usize;
let index = INDEX1[code >> SHIFT] as usize;
let index = INDEX2[(index << SHIFT) + (code & ((1 << SHIFT) - 1))] as usize;
&CHAR_INFO_TABLE[index]
}
pub const IS_ID_START_TABLE: &'static [bool] = &[
false, false, false, false, false, false, false, false, false, false, false, false, false,
false, false, false, false, false, false, false, false, false, false, false, false, false,
false, false, false, false, false, false, false, false, false, false, false, false, false,
false, false, false, false, false, false, false, false, false, false, false, false, false,
false, false, false, false, false, false, false, false, false, false, false, false, false,
true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true,
true, true, true, true, true, true, true, true, true, true, false, false, false, false, false,
false, true, true, true, true, true, true, true, true, true, true, true, true, true, true,
true, true, true, true, true, true, true, true, true, true, true, true, false, false, false,
false, false,
];
pub const IS_ID_CONTINUE_TABLE: &'static [bool] = &[
false, false, false, false, false, false, false, false, false, false, false, false, false,
false, false, false, false, false, false, false, false, false, false, false, false, false,
false, false, false, false, false, false, false, false, false, false, false, false, false,
false, false, false, false, false, false, false, false, false, true, true, true, true, true,
true, true, true, true, true, false, false, false, false, false, false, false, true, true,
true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true,
true, true, true, true, true, true, true, true, false, false, false, false, true, false, true,
true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true,
true, true, true, true, true, true, true, true, true, false, false, false, false, false,
];
pub fn is_id_start_non_bmp(c: char) -> bool {
if c >= '\u{10000}' && c <= '\u{1000B}' {
return true;
}
if c >= '\u{1000D}' && c <= '\u{10026}' {
return true;
}
if c >= '\u{10028}' && c <= '\u{1003A}' {
return true;
}
if c >= '\u{1003C}' && c <= '\u{1003D}' {
return true;
}
if c >= '\u{1003F}' && c <= '\u{1004D}' {
return true;
}
if c >= '\u{10050}' && c <= '\u{1005D}' {
return true;
}
if c >= '\u{10080}' && c <= '\u{100FA}' {
return true;
}
if c >= '\u{10140}' && c <= '\u{10174}' {
return true;
}
if c >= '\u{10280}' && c <= '\u{1029C}' {
return true;
}
if c >= '\u{102A0}' && c <= '\u{102D0}' {
return true;
}
if c >= '\u{10300}' && c <= '\u{1031F}' {
return true;
}
if c >= '\u{1032D}' && c <= '\u{1034A}' {
return true;
}
if c >= '\u{10350}' && c <= '\u{10375}' {
return true;
}
if c >= '\u{10380}' && c <= '\u{1039D}' {
return true;
}
if c >= '\u{103A0}' && c <= '\u{103C3}' {
return true;
}
if c >= '\u{103C8}' && c <= '\u{103CF}' {
return true;
}
if c >= '\u{103D1}' && c <= '\u{103D5}' {
return true;
}
if c >= '\u{10400}' && c <= '\u{1049D}' {
return true;
}
if c >= '\u{104B0}' && c <= '\u{104D3}' {
return true;
}
if c >= '\u{104D8}' && c <= '\u{104FB}' {
return true;
}
if c >= '\u{10500}' && c <= '\u{10527}' {
return true;
}
if c >= '\u{10530}' && c <= '\u{10563}' {
return true;
}
if c >= '\u{10570}' && c <= '\u{1057A}' {
return true;
}
if c >= '\u{1057C}' && c <= '\u{1058A}' {
return true;
}
if c >= '\u{1058C}' && c <= '\u{10592}' {
return true;
}
if c >= '\u{10594}' && c <= '\u{10595}' {
return true;
}
if c >= '\u{10597}' && c <= '\u{105A1}' {
return true;
}
if c >= '\u{105A3}' && c <= '\u{105B1}' {
return true;
}
if c >= '\u{105B3}' && c <= '\u{105B9}' {
return true;
}
if c >= '\u{105BB}' && c <= '\u{105BC}' {
return true;
}
if c >= '\u{10600}' && c <= '\u{10736}' {
return true;
}
if c >= '\u{10740}' && c <= '\u{10755}' {
return true;
}
if c >= '\u{10760}' && c <= '\u{10767}' {
return true;
}
if c >= '\u{10780}' && c <= '\u{10785}' {
return true;
}
if c >= '\u{10787}' && c <= '\u{107B0}' {
return true;
}
if c >= '\u{107B2}' && c <= '\u{107BA}' {
return true;
}
if c >= '\u{10800}' && c <= '\u{10805}' {
return true;
}
if c >= '\u{10808}' && c <= '\u{10808}' {
return true;
}
if c >= '\u{1080A}' && c <= '\u{10835}' {
return true;
}
if c >= '\u{10837}' && c <= '\u{10838}' {
return true;
}
if c >= '\u{1083C}' && c <= '\u{1083C}' {
return true;
}
if c >= '\u{1083F}' && c <= '\u{10855}' {
return true;
}
if c >= '\u{10860}' && c <= '\u{10876}' {
return true;
}
if c >= '\u{10880}' && c <= '\u{1089E}' {
return true;
}
if c >= '\u{108E0}' && c <= '\u{108F2}' {
return true;
}
if c >= '\u{108F4}' && c <= '\u{108F5}' {
return true;
}
if c >= '\u{10900}' && c <= '\u{10915}' {
return true;
}
if c >= '\u{10920}' && c <= '\u{10939}' {
return true;
}
if c >= '\u{10980}' && c <= '\u{109B7}' {
return true;
}
if c >= '\u{109BE}' && c <= '\u{109BF}' {
return true;
}
if c >= '\u{10A00}' && c <= '\u{10A00}' {
return true;
}
if c >= '\u{10A10}' && c <= '\u{10A13}' {
return true;
}
if c >= '\u{10A15}' && c <= '\u{10A17}' {
return true;
}
if c >= '\u{10A19}' && c <= '\u{10A35}' {
return true;
}
if c >= '\u{10A60}' && c <= '\u{10A7C}' {
return true;
}
if c >= '\u{10A80}' && c <= '\u{10A9C}' {
return true;
}
if c >= '\u{10AC0}' && c <= '\u{10AC7}' {
return true;
}
if c >= '\u{10AC9}' && c <= '\u{10AE4}' {
return true;
}
if c >= '\u{10B00}' && c <= '\u{10B35}' {
return true;
}
if c >= '\u{10B40}' && c <= '\u{10B55}' {
return true;
}
if c >= '\u{10B60}' && c <= '\u{10B72}' {
return true;
}
if c >= '\u{10B80}' && c <= '\u{10B91}' {
return true;
}
if c >= '\u{10C00}' && c <= '\u{10C48}' {
return true;
}
if c >= '\u{10C80}' && c <= '\u{10CB2}' {
return true;
}
if c >= '\u{10CC0}' && c <= '\u{10CF2}' {
return true;
}
if c >= '\u{10D00}' && c <= '\u{10D23}' {
return true;
}
if c >= '\u{10E80}' && c <= '\u{10EA9}' {
return true;
}
if c >= '\u{10EB0}' && c <= '\u{10EB1}' {
return true;
}
if c >= '\u{10F00}' && c <= '\u{10F1C}' {
return true;
}
if c >= '\u{10F27}' && c <= '\u{10F27}' {
return true;
}
if c >= '\u{10F30}' && c <= '\u{10F45}' {
return true;
}
if c >= '\u{10F70}' && c <= '\u{10F81}' {
return true;
}
if c >= '\u{10FB0}' && c <= '\u{10FC4}' {
return true;
}
if c >= '\u{10FE0}' && c <= '\u{10FF6}' {
return true;
}
if c >= '\u{11003}' && c <= '\u{11037}' {
return true;
}
if c >= '\u{11071}' && c <= '\u{11072}' {
return true;
}
if c >= '\u{11075}' && c <= '\u{11075}' {
return true;
}
if c >= '\u{11083}' && c <= '\u{110AF}' {
return true;
}
if c >= '\u{110D0}' && c <= '\u{110E8}' {
return true;
}
if c >= '\u{11103}' && c <= '\u{11126}' {
return true;
}
if c >= '\u{11144}' && c <= '\u{11144}' {
return true;
}
if c >= '\u{11147}' && c <= '\u{11147}' {
return true;
}
if c >= '\u{11150}' && c <= '\u{11172}' {
return true;
}
if c >= '\u{11176}' && c <= '\u{11176}' {
return true;
}
if c >= '\u{11183}' && c <= '\u{111B2}' {
return true;
}
if c >= '\u{111C1}' && c <= '\u{111C4}' {
return true;
}
if c >= '\u{111DA}' && c <= '\u{111DA}' {
return true;
}
if c >= '\u{111DC}' && c <= '\u{111DC}' {
return true;
}
if c >= '\u{11200}' && c <= '\u{11211}' {
return true;
}
if c >= '\u{11213}' && c <= '\u{1122B}' {
return true;
}
if c >= '\u{11280}' && c <= '\u{11286}' {
return true;
}
if c >= '\u{11288}' && c <= '\u{11288}' {
return true;
}
if c >= '\u{1128A}' && c <= '\u{1128D}' {
return true;
}
if c >= '\u{1128F}' && c <= '\u{1129D}' {
return true;
}
if c >= '\u{1129F}' && c <= '\u{112A8}' {
return true;
}
if c >= '\u{112B0}' && c <= '\u{112DE}' {
return true;
}
if c >= '\u{11305}' && c <= '\u{1130C}' {
return true;
}
if c >= '\u{1130F}' && c <= '\u{11310}' {
return true;
}
if c >= '\u{11313}' && c <= '\u{11328}' {
return true;
}
if c >= '\u{1132A}' && c <= '\u{11330}' {
return true;
}
if c >= '\u{11332}' && c <= '\u{11333}' {
return true;
}
if c >= '\u{11335}' && c <= '\u{11339}' {
return true;
}
if c >= '\u{1133D}' && c <= '\u{1133D}' {
return true;
}
if c >= '\u{11350}' && c <= '\u{11350}' {
return true;
}
if c >= '\u{1135D}' && c <= '\u{11361}' {
return true;
}
if c >= '\u{11400}' && c <= '\u{11434}' {
return true;
}
if c >= '\u{11447}' && c <= '\u{1144A}' {
return true;
}
if c >= '\u{1145F}' && c <= '\u{11461}' {
return true;
}
if c >= '\u{11480}' && c <= '\u{114AF}' {
return true;
}
if c >= '\u{114C4}' && c <= '\u{114C5}' {
return true;
}
if c >= '\u{114C7}' && c <= '\u{114C7}' {
return true;
}
if c >= '\u{11580}' && c <= '\u{115AE}' {
return true;
}
if c >= '\u{115D8}' && c <= '\u{115DB}' {
return true;
}
if c >= '\u{11600}' && c <= '\u{1162F}' {
return true;
}
if c >= '\u{11644}' && c <= '\u{11644}' {
return true;
}
if c >= '\u{11680}' && c <= '\u{116AA}' {
return true;
}
if c >= '\u{116B8}' && c <= '\u{116B8}' {
return true;
}
if c >= '\u{11700}' && c <= '\u{1171A}' {
return true;
}
if c >= '\u{11740}' && c <= '\u{11746}' {
return true;
}
if c >= '\u{11800}' && c <= '\u{1182B}' {
return true;
}
if c >= '\u{118A0}' && c <= '\u{118DF}' {
return true;
}
if c >= '\u{118FF}' && c <= '\u{11906}' {
return true;
}
if c >= '\u{11909}' && c <= '\u{11909}' {
return true;
}
if c >= '\u{1190C}' && c <= '\u{11913}' {
return true;
}
if c >= '\u{11915}' && c <= '\u{11916}' {
return true;
}
if c >= '\u{11918}' && c <= '\u{1192F}' {
return true;
}
if c >= '\u{1193F}' && c <= '\u{1193F}' {
return true;
}
if c >= '\u{11941}' && c <= '\u{11941}' {
return true;
}
if c >= '\u{119A0}' && c <= '\u{119A7}' {
return true;
}
if c >= '\u{119AA}' && c <= '\u{119D0}' {
return true;
}
if c >= '\u{119E1}' && c <= '\u{119E1}' {
return true;
}
if c >= '\u{119E3}' && c <= '\u{119E3}' {
return true;
}
if c >= '\u{11A00}' && c <= '\u{11A00}' {
return true;
}
if c >= '\u{11A0B}' && c <= '\u{11A32}' {
return true;
}
if c >= '\u{11A3A}' && c <= '\u{11A3A}' {
return true;
}
if c >= '\u{11A50}' && c <= '\u{11A50}' {
return true;
}
if c >= '\u{11A5C}' && c <= '\u{11A89}' {
return true;
}
if c >= '\u{11A9D}' && c <= '\u{11A9D}' {
return true;
}
if c >= '\u{11AB0}' && c <= '\u{11AF8}' {
return true;
}
if c >= '\u{11C00}' && c <= '\u{11C08}' {
return true;
}
if c >= '\u{11C0A}' && c <= '\u{11C2E}' {
return true;
}
if c >= '\u{11C40}' && c <= '\u{11C40}' {
return true;
}
if c >= '\u{11C72}' && c <= '\u{11C8F}' {
return true;
}
if c >= '\u{11D00}' && c <= '\u{11D06}' {
return true;
}
if c >= '\u{11D08}' && c <= '\u{11D09}' {
return true;
}
if c >= '\u{11D0B}' && c <= '\u{11D30}' {
return true;
}
if c >= '\u{11D46}' && c <= '\u{11D46}' {
return true;
}
if c >= '\u{11D60}' && c <= '\u{11D65}' {
return true;
}
if c >= '\u{11D67}' && c <= '\u{11D68}' {
return true;
}
if c >= '\u{11D6A}' && c <= '\u{11D89}' {
return true;
}
if c >= '\u{11D98}' && c <= '\u{11D98}' {
return true;
}
if c >= '\u{11EE0}' && c <= '\u{11EF2}' {
return true;
}
if c >= '\u{11FB0}' && c <= '\u{11FB0}' {
return true;
}
if c >= '\u{12000}' && c <= '\u{12399}' {
return true;
}
if c >= '\u{12400}' && c <= '\u{1246E}' {
return true;
}
if c >= '\u{12480}' && c <= '\u{12543}' {
return true;
}
if c >= '\u{12F90}' && c <= '\u{12FF0}' {
return true;
}
if c >= '\u{13000}' && c <= '\u{1342E}' {
return true;
}
if c >= '\u{14400}' && c <= '\u{14646}' {
return true;
}
if c >= '\u{16800}' && c <= '\u{16A38}' {
return true;
}
if c >= '\u{16A40}' && c <= '\u{16A5E}' {
return true;
}
if c >= '\u{16A70}' && c <= '\u{16ABE}' {
return true;
}
if c >= '\u{16AD0}' && c <= '\u{16AED}' {
return true;
}
if c >= '\u{16B00}' && c <= '\u{16B2F}' {
return true;
}
if c >= '\u{16B40}' && c <= '\u{16B43}' {
return true;
}
if c >= '\u{16B63}' && c <= '\u{16B77}' {
return true;
}
if c >= '\u{16B7D}' && c <= '\u{16B8F}' {
return true;
}
if c >= '\u{16E40}' && c <= '\u{16E7F}' {
return true;
}
if c >= '\u{16F00}' && c <= '\u{16F4A}' {
return true;
}
if c >= '\u{16F50}' && c <= '\u{16F50}' {
return true;
}
if c >= '\u{16F93}' && c <= '\u{16F9F}' {
return true;
}
if c >= '\u{16FE0}' && c <= '\u{16FE1}' {
return true;
}
if c >= '\u{16FE3}' && c <= '\u{16FE3}' {
return true;
}
if c >= '\u{17000}' && c <= '\u{187F7}' {
return true;
}
if c >= '\u{18800}' && c <= '\u{18CD5}' {
return true;
}
if c >= '\u{18D00}' && c <= '\u{18D08}' {
return true;
}
if c >= '\u{1AFF0}' && c <= '\u{1AFF3}' {
return true;
}
if c >= '\u{1AFF5}' && c <= '\u{1AFFB}' {
return true;
}
if c >= '\u{1AFFD}' && c <= '\u{1AFFE}' {
return true;
}
if c >= '\u{1B000}' && c <= '\u{1B122}' {
return true;
}
if c >= '\u{1B150}' && c <= '\u{1B152}' {
return true;
}
if c >= '\u{1B164}' && c <= '\u{1B167}' {
return true;
}
if c >= '\u{1B170}' && c <= '\u{1B2FB}' {
return true;
}
if c >= '\u{1BC00}' && c <= '\u{1BC6A}' {
return true;
}
if c >= '\u{1BC70}' && c <= '\u{1BC7C}' {
return true;
}
if c >= '\u{1BC80}' && c <= '\u{1BC88}' {
return true;
}
if c >= '\u{1BC90}' && c <= '\u{1BC99}' {
return true;
}
if c >= '\u{1D400}' && c <= '\u{1D454}' {
return true;
}
if c >= '\u{1D456}' && c <= '\u{1D49C}' {
return true;
}
if c >= '\u{1D49E}' && c <= '\u{1D49F}' {
return true;
}
if c >= '\u{1D4A2}' && c <= '\u{1D4A2}' {
return true;
}
if c >= '\u{1D4A5}' && c <= '\u{1D4A6}' {
return true;
}
if c >= '\u{1D4A9}' && c <= '\u{1D4AC}' {
return true;
}
if c >= '\u{1D4AE}' && c <= '\u{1D4B9}' {
return true;
}
if c >= '\u{1D4BB}' && c <= '\u{1D4BB}' {
return true;
}
if c >= '\u{1D4BD}' && c <= '\u{1D4C3}' {
return true;
}
if c >= '\u{1D4C5}' && c <= '\u{1D505}' {
return true;
}
if c >= '\u{1D507}' && c <= '\u{1D50A}' {
return true;
}
if c >= '\u{1D50D}' && c <= '\u{1D514}' {
return true;
}
if c >= '\u{1D516}' && c <= '\u{1D51C}' {
return true;
}
if c >= '\u{1D51E}' && c <= '\u{1D539}' {
return true;
}
if c >= '\u{1D53B}' && c <= '\u{1D53E}' {
return true;
}
if c >= '\u{1D540}' && c <= '\u{1D544}' {
return true;
}
if c >= '\u{1D546}' && c <= '\u{1D546}' {
return true;
}
if c >= '\u{1D54A}' && c <= '\u{1D550}' {
return true;
}
if c >= '\u{1D552}' && c <= '\u{1D6A5}' {
return true;
}
if c >= '\u{1D6A8}' && c <= '\u{1D6C0}' {
return true;
}
if c >= '\u{1D6C2}' && c <= '\u{1D6DA}' {
return true;
}
if c >= '\u{1D6DC}' && c <= '\u{1D6FA}' {
return true;
}
if c >= '\u{1D6FC}' && c <= '\u{1D714}' {
return true;
}
if c >= '\u{1D716}' && c <= '\u{1D734}' {
return true;
}
if c >= '\u{1D736}' && c <= '\u{1D74E}' {
return true;
}
if c >= '\u{1D750}' && c <= '\u{1D76E}' {
return true;
}
if c >= '\u{1D770}' && c <= '\u{1D788}' {
return true;
}
if c >= '\u{1D78A}' && c <= '\u{1D7A8}' {
return true;
}
if c >= '\u{1D7AA}' && c <= '\u{1D7C2}' {
return true;
}
if c >= '\u{1D7C4}' && c <= '\u{1D7CB}' {
return true;
}
if c >= '\u{1DF00}' && c <= '\u{1DF1E}' {
return true;
}
if c >= '\u{1E100}' && c <= '\u{1E12C}' {
return true;
}
if c >= '\u{1E137}' && c <= '\u{1E13D}' {
return true;
}
if c >= '\u{1E14E}' && c <= '\u{1E14E}' {
return true;
}
if c >= '\u{1E290}' && c <= '\u{1E2AD}' {
return true;
}
if c >= '\u{1E2C0}' && c <= '\u{1E2EB}' {
return true;
}
if c >= '\u{1E7E0}' && c <= '\u{1E7E6}' {
return true;
}
if c >= '\u{1E7E8}' && c <= '\u{1E7EB}' {
return true;
}
if c >= '\u{1E7ED}' && c <= '\u{1E7EE}' {
return true;
}
if c >= '\u{1E7F0}' && c <= '\u{1E7FE}' {
return true;
}
if c >= '\u{1E800}' && c <= '\u{1E8C4}' {
return true;
}
if c >= '\u{1E900}' && c <= '\u{1E943}' {
return true;
}
if c >= '\u{1E94B}' && c <= '\u{1E94B}' {
return true;
}
if c >= '\u{1EE00}' && c <= '\u{1EE03}' {
return true;
}
if c >= '\u{1EE05}' && c <= '\u{1EE1F}' {
return true;
}
if c >= '\u{1EE21}' && c <= '\u{1EE22}' {
return true;
}
if c >= '\u{1EE24}' && c <= '\u{1EE24}' {
return true;
}
if c >= '\u{1EE27}' && c <= '\u{1EE27}' {
return true;
}
if c >= '\u{1EE29}' && c <= '\u{1EE32}' {
return true;
}
if c >= '\u{1EE34}' && c <= '\u{1EE37}' {
return true;
}
if c >= '\u{1EE39}' && c <= '\u{1EE39}' {
return true;
}
if c >= '\u{1EE3B}' && c <= '\u{1EE3B}' {
return true;
}
if c >= '\u{1EE42}' && c <= '\u{1EE42}' {
return true;
}
if c >= '\u{1EE47}' && c <= '\u{1EE47}' {
return true;
}
if c >= '\u{1EE49}' && c <= '\u{1EE49}' {
return true;
}
if c >= '\u{1EE4B}' && c <= '\u{1EE4B}' {
return true;
}
if c >= '\u{1EE4D}' && c <= '\u{1EE4F}' {
return true;
}
if c >= '\u{1EE51}' && c <= '\u{1EE52}' {
return true;
}
if c >= '\u{1EE54}' && c <= '\u{1EE54}' {
return true;
}
if c >= '\u{1EE57}' && c <= '\u{1EE57}' {
return true;
}
if c >= '\u{1EE59}' && c <= '\u{1EE59}' {
return true;
}
if c >= '\u{1EE5B}' && c <= '\u{1EE5B}' {
return true;
}
if c >= '\u{1EE5D}' && c <= '\u{1EE5D}' {
return true;
}
if c >= '\u{1EE5F}' && c <= '\u{1EE5F}' {
return true;
}
if c >= '\u{1EE61}' && c <= '\u{1EE62}' {
return true;
}
if c >= '\u{1EE64}' && c <= '\u{1EE64}' {
return true;
}
if c >= '\u{1EE67}' && c <= '\u{1EE6A}' {
return true;
}
if c >= '\u{1EE6C}' && c <= '\u{1EE72}' {
return true;
}
if c >= '\u{1EE74}' && c <= '\u{1EE77}' {
return true;
}
if c >= '\u{1EE79}' && c <= '\u{1EE7C}' {
return true;
}
if c >= '\u{1EE7E}' && c <= '\u{1EE7E}' {
return true;
}
if c >= '\u{1EE80}' && c <= '\u{1EE89}' {
return true;
}
if c >= '\u{1EE8B}' && c <= '\u{1EE9B}' {
return true;
}
if c >= '\u{1EEA1}' && c <= '\u{1EEA3}' {
return true;
}
if c >= '\u{1EEA5}' && c <= '\u{1EEA9}' {
return true;
}
if c >= '\u{1EEAB}' && c <= '\u{1EEBB}' {
return true;
}
if c >= '\u{20000}' && c <= '\u{2A6DF}' {
return true;
}
if c >= '\u{2A700}' && c <= '\u{2B738}' {
return true;
}
if c >= '\u{2B740}' && c <= '\u{2B81D}' {
return true;
}
if c >= '\u{2B820}' && c <= '\u{2CEA1}' {
return true;
}
if c >= '\u{2CEB0}' && c <= '\u{2EBE0}' {
return true;
}
if c >= '\u{2F800}' && c <= '\u{2FA1D}' {
return true;
}
if c >= '\u{30000}' && c <= '\u{3134A}' {
return true;
}
false
}
pub fn is_id_continue_non_bmp(c: char) -> bool {
if c >= '\u{10000}' && c <= '\u{1000B}' {
return true;
}
if c >= '\u{1000D}' && c <= '\u{10026}' {
return true;
}
if c >= '\u{10028}' && c <= '\u{1003A}' {
return true;
}
if c >= '\u{1003C}' && c <= '\u{1003D}' {
return true;
}
if c >= '\u{1003F}' && c <= '\u{1004D}' {
return true;
}
if c >= '\u{10050}' && c <= '\u{1005D}' {
return true;
}
if c >= '\u{10080}' && c <= '\u{100FA}' {
return true;
}
if c >= '\u{10140}' && c <= '\u{10174}' {
return true;
}
if c >= '\u{101FD}' && c <= '\u{101FD}' {
return true;
}
if c >= '\u{10280}' && c <= '\u{1029C}' {
return true;
}
if c >= '\u{102A0}' && c <= '\u{102D0}' {
return true;
}
if c >= '\u{102E0}' && c <= '\u{102E0}' {
return true;
}
if c >= '\u{10300}' && c <= '\u{1031F}' {
return true;
}
if c >= '\u{1032D}' && c <= '\u{1034A}' {
return true;
}
if c >= '\u{10350}' && c <= '\u{1037A}' {
return true;
}
if c >= '\u{10380}' && c <= '\u{1039D}' {
return true;
}
if c >= '\u{103A0}' && c <= '\u{103C3}' {
return true;
}
if c >= '\u{103C8}' && c <= '\u{103CF}' {
return true;
}
if c >= '\u{103D1}' && c <= '\u{103D5}' {
return true;
}
if c >= '\u{10400}' && c <= '\u{1049D}' {
return true;
}
if c >= '\u{104A0}' && c <= '\u{104A9}' {
return true;
}
if c >= '\u{104B0}' && c <= '\u{104D3}' {
return true;
}
if c >= '\u{104D8}' && c <= '\u{104FB}' {
return true;
}
if c >= '\u{10500}' && c <= '\u{10527}' {
return true;
}
if c >= '\u{10530}' && c <= '\u{10563}' {
return true;
}
if c >= '\u{10570}' && c <= '\u{1057A}' {
return true;
}
if c >= '\u{1057C}' && c <= '\u{1058A}' {
return true;
}
if c >= '\u{1058C}' && c <= '\u{10592}' {
return true;
}
if c >= '\u{10594}' && c <= '\u{10595}' {
return true;
}
if c >= '\u{10597}' && c <= '\u{105A1}' {
return true;
}
if c >= '\u{105A3}' && c <= '\u{105B1}' {
return true;
}
if c >= '\u{105B3}' && c <= '\u{105B9}' {
return true;
}
if c >= '\u{105BB}' && c <= '\u{105BC}' {
return true;
}
if c >= '\u{10600}' && c <= '\u{10736}' {
return true;
}
if c >= '\u{10740}' && c <= '\u{10755}' {
return true;
}
if c >= '\u{10760}' && c <= '\u{10767}' {
return true;
}
if c >= '\u{10780}' && c <= '\u{10785}' {
return true;
}
if c >= '\u{10787}' && c <= '\u{107B0}' {
return true;
}
if c >= '\u{107B2}' && c <= '\u{107BA}' {
return true;
}
if c >= '\u{10800}' && c <= '\u{10805}' {
return true;
}
if c >= '\u{10808}' && c <= '\u{10808}' {
return true;
}
if c >= '\u{1080A}' && c <= '\u{10835}' {
return true;
}
if c >= '\u{10837}' && c <= '\u{10838}' {
return true;
}
if c >= '\u{1083C}' && c <= '\u{1083C}' {
return true;
}
if c >= '\u{1083F}' && c <= '\u{10855}' {
return true;
}
if c >= '\u{10860}' && c <= '\u{10876}' {
return true;
}
if c >= '\u{10880}' && c <= '\u{1089E}' {
return true;
}
if c >= '\u{108E0}' && c <= '\u{108F2}' {
return true;
}
if c >= '\u{108F4}' && c <= '\u{108F5}' {
return true;
}
if c >= '\u{10900}' && c <= '\u{10915}' {
return true;
}
if c >= '\u{10920}' && c <= '\u{10939}' {
return true;
}
if c >= '\u{10980}' && c <= '\u{109B7}' {
return true;
}
if c >= '\u{109BE}' && c <= '\u{109BF}' {
return true;
}
if c >= '\u{10A00}' && c <= '\u{10A03}' {
return true;
}
if c >= '\u{10A05}' && c <= '\u{10A06}' {
return true;
}
if c >= '\u{10A0C}' && c <= '\u{10A13}' {
return true;
}
if c >= '\u{10A15}' && c <= '\u{10A17}' {
return true;
}
if c >= '\u{10A19}' && c <= '\u{10A35}' {
return true;
}
if c >= '\u{10A38}' && c <= '\u{10A3A}' {
return true;
}
if c >= '\u{10A3F}' && c <= '\u{10A3F}' {
return true;
}
if c >= '\u{10A60}' && c <= '\u{10A7C}' {
return true;
}
if c >= '\u{10A80}' && c <= '\u{10A9C}' {
return true;
}
if c >= '\u{10AC0}' && c <= '\u{10AC7}' {
return true;
}
if c >= '\u{10AC9}' && c <= '\u{10AE6}' {
return true;
}
if c >= '\u{10B00}' && c <= '\u{10B35}' {
return true;
}
if c >= '\u{10B40}' && c <= '\u{10B55}' {
return true;
}
if c >= '\u{10B60}' && c <= '\u{10B72}' {
return true;
}
if c >= '\u{10B80}' && c <= '\u{10B91}' {
return true;
}
if c >= '\u{10C00}' && c <= '\u{10C48}' {
return true;
}
if c >= '\u{10C80}' && c <= '\u{10CB2}' {
return true;
}
if c >= '\u{10CC0}' && c <= '\u{10CF2}' {
return true;
}
if c >= '\u{10D00}' && c <= '\u{10D27}' {
return true;
}
if c >= '\u{10D30}' && c <= '\u{10D39}' {
return true;
}
if c >= '\u{10E80}' && c <= '\u{10EA9}' {
return true;
}
if c >= '\u{10EAB}' && c <= '\u{10EAC}' {
return true;
}
if c >= '\u{10EB0}' && c <= '\u{10EB1}' {
return true;
}
if c >= '\u{10F00}' && c <= '\u{10F1C}' {
return true;
}
if c >= '\u{10F27}' && c <= '\u{10F27}' {
return true;
}
if c >= '\u{10F30}' && c <= '\u{10F50}' {
return true;
}
if c >= '\u{10F70}' && c <= '\u{10F85}' {
return true;
}
if c >= '\u{10FB0}' && c <= '\u{10FC4}' {
return true;
}
if c >= '\u{10FE0}' && c <= '\u{10FF6}' {
return true;
}
if c >= '\u{11000}' && c <= '\u{11046}' {
return true;
}
if c >= '\u{11066}' && c <= '\u{11075}' {
return true;
}
if c >= '\u{1107F}' && c <= '\u{110BA}' {
return true;
}
if c >= '\u{110C2}' && c <= '\u{110C2}' {
return true;
}
if c >= '\u{110D0}' && c <= '\u{110E8}' {
return true;
}
if c >= '\u{110F0}' && c <= '\u{110F9}' {
return true;
}
if c >= '\u{11100}' && c <= '\u{11134}' {
return true;
}
if c >= '\u{11136}' && c <= '\u{1113F}' {
return true;
}
if c >= '\u{11144}' && c <= '\u{11147}' {
return true;
}
if c >= '\u{11150}' && c <= '\u{11173}' {
return true;
}
if c >= '\u{11176}' && c <= '\u{11176}' {
return true;
}
if c >= '\u{11180}' && c <= '\u{111C4}' {
return true;
}
if c >= '\u{111C9}' && c <= '\u{111CC}' {
return true;
}
if c >= '\u{111CE}' && c <= '\u{111DA}' {
return true;
}
if c >= '\u{111DC}' && c <= '\u{111DC}' {
return true;
}
if c >= '\u{11200}' && c <= '\u{11211}' {
return true;
}
if c >= '\u{11213}' && c <= '\u{11237}' {
return true;
}
if c >= '\u{1123E}' && c <= '\u{1123E}' {
return true;
}
if c >= '\u{11280}' && c <= '\u{11286}' {
return true;
}
if c >= '\u{11288}' && c <= '\u{11288}' {
return true;
}
if c >= '\u{1128A}' && c <= '\u{1128D}' {
return true;
}
if c >= '\u{1128F}' && c <= '\u{1129D}' {
return true;
}
if c >= '\u{1129F}' && c <= '\u{112A8}' {
return true;
}
if c >= '\u{112B0}' && c <= '\u{112EA}' {
return true;
}
if c >= '\u{112F0}' && c <= '\u{112F9}' {
return true;
}
if c >= '\u{11300}' && c <= '\u{11303}' {
return true;
}
if c >= '\u{11305}' && c <= '\u{1130C}' {
return true;
}
if c >= '\u{1130F}' && c <= '\u{11310}' {
return true;
}
if c >= '\u{11313}' && c <= '\u{11328}' {
return true;
}
if c >= '\u{1132A}' && c <= '\u{11330}' {
return true;
}
if c >= '\u{11332}' && c <= '\u{11333}' {
return true;
}
if c >= '\u{11335}' && c <= '\u{11339}' {
return true;
}
if c >= '\u{1133B}' && c <= '\u{11344}' {
return true;
}
if c >= '\u{11347}' && c <= '\u{11348}' {
return true;
}
if c >= '\u{1134B}' && c <= '\u{1134D}' {
return true;
}
if c >= '\u{11350}' && c <= '\u{11350}' {
return true;
}
if c >= '\u{11357}' && c <= '\u{11357}' {
return true;
}
if c >= '\u{1135D}' && c <= '\u{11363}' {
return true;
}
if c >= '\u{11366}' && c <= '\u{1136C}' {
return true;
}
if c >= '\u{11370}' && c <= '\u{11374}' {
return true;
}
if c >= '\u{11400}' && c <= '\u{1144A}' {
return true;
}
if c >= '\u{11450}' && c <= '\u{11459}' {
return true;
}
if c >= '\u{1145E}' && c <= '\u{11461}' {
return true;
}
if c >= '\u{11480}' && c <= '\u{114C5}' {
return true;
}
if c >= '\u{114C7}' && c <= '\u{114C7}' {
return true;
}
if c >= '\u{114D0}' && c <= '\u{114D9}' {
return true;
}
if c >= '\u{11580}' && c <= '\u{115B5}' {
return true;
}
if c >= '\u{115B8}' && c <= '\u{115C0}' {
return true;
}
if c >= '\u{115D8}' && c <= '\u{115DD}' {
return true;
}
if c >= '\u{11600}' && c <= '\u{11640}' {
return true;
}
if c >= '\u{11644}' && c <= '\u{11644}' {
return true;
}
if c >= '\u{11650}' && c <= '\u{11659}' {
return true;
}
if c >= '\u{11680}' && c <= '\u{116B8}' {
return true;
}
if c >= '\u{116C0}' && c <= '\u{116C9}' {
return true;
}
if c >= '\u{11700}' && c <= '\u{1171A}' {
return true;
}
if c >= '\u{1171D}' && c <= '\u{1172B}' {
return true;
}
if c >= '\u{11730}' && c <= '\u{11739}' {
return true;
}
if c >= '\u{11740}' && c <= '\u{11746}' {
return true;
}
if c >= '\u{11800}' && c <= '\u{1183A}' {
return true;
}
if c >= '\u{118A0}' && c <= '\u{118E9}' {
return true;
}
if c >= '\u{118FF}' && c <= '\u{11906}' {
return true;
}
if c >= '\u{11909}' && c <= '\u{11909}' {
return true;
}
if c >= '\u{1190C}' && c <= '\u{11913}' {
return true;
}
if c >= '\u{11915}' && c <= '\u{11916}' {
return true;
}
if c >= '\u{11918}' && c <= '\u{11935}' {
return true;
}
if c >= '\u{11937}' && c <= '\u{11938}' {
return true;
}
if c >= '\u{1193B}' && c <= '\u{11943}' {
return true;
}
if c >= '\u{11950}' && c <= '\u{11959}' {
return true;
}
if c >= '\u{119A0}' && c <= '\u{119A7}' {
return true;
}
if c >= '\u{119AA}' && c <= '\u{119D7}' {
return true;
}
if c >= '\u{119DA}' && c <= '\u{119E1}' {
return true;
}
if c >= '\u{119E3}' && c <= '\u{119E4}' {
return true;
}
if c >= '\u{11A00}' && c <= '\u{11A3E}' {
return true;
}
if c >= '\u{11A47}' && c <= '\u{11A47}' {
return true;
}
if c >= '\u{11A50}' && c <= '\u{11A99}' {
return true;
}
if c >= '\u{11A9D}' && c <= '\u{11A9D}' {
return true;
}
if c >= '\u{11AB0}' && c <= '\u{11AF8}' {
return true;
}
if c >= '\u{11C00}' && c <= '\u{11C08}' {
return true;
}
if c >= '\u{11C0A}' && c <= '\u{11C36}' {
return true;
}
if c >= '\u{11C38}' && c <= '\u{11C40}' {
return true;
}
if c >= '\u{11C50}' && c <= '\u{11C59}' {
return true;
}
if c >= '\u{11C72}' && c <= '\u{11C8F}' {
return true;
}
if c >= '\u{11C92}' && c <= '\u{11CA7}' {
return true;
}
if c >= '\u{11CA9}' && c <= '\u{11CB6}' {
return true;
}
if c >= '\u{11D00}' && c <= '\u{11D06}' {
return true;
}
if c >= '\u{11D08}' && c <= '\u{11D09}' {
return true;
}
if c >= '\u{11D0B}' && c <= '\u{11D36}' {
return true;
}
if c >= '\u{11D3A}' && c <= '\u{11D3A}' {
return true;
}
if c >= '\u{11D3C}' && c <= '\u{11D3D}' {
return true;
}
if c >= '\u{11D3F}' && c <= '\u{11D47}' {
return true;
}
if c >= '\u{11D50}' && c <= '\u{11D59}' {
return true;
}
if c >= '\u{11D60}' && c <= '\u{11D65}' {
return true;
}
if c >= '\u{11D67}' && c <= '\u{11D68}' {
return true;
}
if c >= '\u{11D6A}' && c <= '\u{11D8E}' {
return true;
}
if c >= '\u{11D90}' && c <= '\u{11D91}' {
return true;
}
if c >= '\u{11D93}' && c <= '\u{11D98}' {
return true;
}
if c >= '\u{11DA0}' && c <= '\u{11DA9}' {
return true;
}
if c >= '\u{11EE0}' && c <= '\u{11EF6}' {
return true;
}
if c >= '\u{11FB0}' && c <= '\u{11FB0}' {
return true;
}
if c >= '\u{12000}' && c <= '\u{12399}' {
return true;
}
if c >= '\u{12400}' && c <= '\u{1246E}' {
return true;
}
if c >= '\u{12480}' && c <= '\u{12543}' {
return true;
}
if c >= '\u{12F90}' && c <= '\u{12FF0}' {
return true;
}
if c >= '\u{13000}' && c <= '\u{1342E}' {
return true;
}
if c >= '\u{14400}' && c <= '\u{14646}' {
return true;
}
if c >= '\u{16800}' && c <= '\u{16A38}' {
return true;
}
if c >= '\u{16A40}' && c <= '\u{16A5E}' {
return true;
}
if c >= '\u{16A60}' && c <= '\u{16A69}' {
return true;
}
if c >= '\u{16A70}' && c <= '\u{16ABE}' {
return true;
}
if c >= '\u{16AC0}' && c <= '\u{16AC9}' {
return true;
}
if c >= '\u{16AD0}' && c <= '\u{16AED}' {
return true;
}
if c >= '\u{16AF0}' && c <= '\u{16AF4}' {
return true;
}
if c >= '\u{16B00}' && c <= '\u{16B36}' {
return true;
}
if c >= '\u{16B40}' && c <= '\u{16B43}' {
return true;
}
if c >= '\u{16B50}' && c <= '\u{16B59}' {
return true;
}
if c >= '\u{16B63}' && c <= '\u{16B77}' {
return true;
}
if c >= '\u{16B7D}' && c <= '\u{16B8F}' {
return true;
}
if c >= '\u{16E40}' && c <= '\u{16E7F}' {
return true;
}
if c >= '\u{16F00}' && c <= '\u{16F4A}' {
return true;
}
if c >= '\u{16F4F}' && c <= '\u{16F87}' {
return true;
}
if c >= '\u{16F8F}' && c <= '\u{16F9F}' {
return true;
}
if c >= '\u{16FE0}' && c <= '\u{16FE1}' {
return true;
}
if c >= '\u{16FE3}' && c <= '\u{16FE4}' {
return true;
}
if c >= '\u{16FF0}' && c <= '\u{16FF1}' {
return true;
}
if c >= '\u{17000}' && c <= '\u{187F7}' {
return true;
}
if c >= '\u{18800}' && c <= '\u{18CD5}' {
return true;
}
if c >= '\u{18D00}' && c <= '\u{18D08}' {
return true;
}
if c >= '\u{1AFF0}' && c <= '\u{1AFF3}' {
return true;
}
if c >= '\u{1AFF5}' && c <= '\u{1AFFB}' {
return true;
}
if c >= '\u{1AFFD}' && c <= '\u{1AFFE}' {
return true;
}
if c >= '\u{1B000}' && c <= '\u{1B122}' {
return true;
}
if c >= '\u{1B150}' && c <= '\u{1B152}' {
return true;
}
if c >= '\u{1B164}' && c <= '\u{1B167}' {
return true;
}
if c >= '\u{1B170}' && c <= '\u{1B2FB}' {
return true;
}
if c >= '\u{1BC00}' && c <= '\u{1BC6A}' {
return true;
}
if c >= '\u{1BC70}' && c <= '\u{1BC7C}' {
return true;
}
if c >= '\u{1BC80}' && c <= '\u{1BC88}' {
return true;
}
if c >= '\u{1BC90}' && c <= '\u{1BC99}' {
return true;
}
if c >= '\u{1BC9D}' && c <= '\u{1BC9E}' {
return true;
}
if c >= '\u{1CF00}' && c <= '\u{1CF2D}' {
return true;
}
if c >= '\u{1CF30}' && c <= '\u{1CF46}' {
return true;
}
if c >= '\u{1D165}' && c <= '\u{1D169}' {
return true;
}
if c >= '\u{1D16D}' && c <= '\u{1D172}' {
return true;
}
if c >= '\u{1D17B}' && c <= '\u{1D182}' {
return true;
}
if c >= '\u{1D185}' && c <= '\u{1D18B}' {
return true;
}
if c >= '\u{1D1AA}' && c <= '\u{1D1AD}' {
return true;
}
if c >= '\u{1D242}' && c <= '\u{1D244}' {
return true;
}
if c >= '\u{1D400}' && c <= '\u{1D454}' {
return true;
}
if c >= '\u{1D456}' && c <= '\u{1D49C}' {
return true;
}
if c >= '\u{1D49E}' && c <= '\u{1D49F}' {
return true;
}
if c >= '\u{1D4A2}' && c <= '\u{1D4A2}' {
return true;
}
if c >= '\u{1D4A5}' && c <= '\u{1D4A6}' {
return true;
}
if c >= '\u{1D4A9}' && c <= '\u{1D4AC}' {
return true;
}
if c >= '\u{1D4AE}' && c <= '\u{1D4B9}' {
return true;
}
if c >= '\u{1D4BB}' && c <= '\u{1D4BB}' {
return true;
}
if c >= '\u{1D4BD}' && c <= '\u{1D4C3}' {
return true;
}
if c >= '\u{1D4C5}' && c <= '\u{1D505}' {
return true;
}
if c >= '\u{1D507}' && c <= '\u{1D50A}' {
return true;
}
if c >= '\u{1D50D}' && c <= '\u{1D514}' {
return true;
}
if c >= '\u{1D516}' && c <= '\u{1D51C}' {
return true;
}
if c >= '\u{1D51E}' && c <= '\u{1D539}' {
return true;
}
if c >= '\u{1D53B}' && c <= '\u{1D53E}' {
return true;
}
if c >= '\u{1D540}' && c <= '\u{1D544}' {
return true;
}
if c >= '\u{1D546}' && c <= '\u{1D546}' {
return true;
}
if c >= '\u{1D54A}' && c <= '\u{1D550}' {
return true;
}
if c >= '\u{1D552}' && c <= '\u{1D6A5}' {
return true;
}
if c >= '\u{1D6A8}' && c <= '\u{1D6C0}' {
return true;
}
if c >= '\u{1D6C2}' && c <= '\u{1D6DA}' {
return true;
}
if c >= '\u{1D6DC}' && c <= '\u{1D6FA}' {
return true;
}
if c >= '\u{1D6FC}' && c <= '\u{1D714}' {
return true;
}
if c >= '\u{1D716}' && c <= '\u{1D734}' {
return true;
}
if c >= '\u{1D736}' && c <= '\u{1D74E}' {
return true;
}
if c >= '\u{1D750}' && c <= '\u{1D76E}' {
return true;
}
if c >= '\u{1D770}' && c <= '\u{1D788}' {
return true;
}
if c >= '\u{1D78A}' && c <= '\u{1D7A8}' {
return true;
}
if c >= '\u{1D7AA}' && c <= '\u{1D7C2}' {
return true;
}
if c >= '\u{1D7C4}' && c <= '\u{1D7CB}' {
return true;
}
if c >= '\u{1D7CE}' && c <= '\u{1D7FF}' {
return true;
}
if c >= '\u{1DA00}' && c <= '\u{1DA36}' {
return true;
}
if c >= '\u{1DA3B}' && c <= '\u{1DA6C}' {
return true;
}
if c >= '\u{1DA75}' && c <= '\u{1DA75}' {
return true;
}
if c >= '\u{1DA84}' && c <= '\u{1DA84}' {
return true;
}
if c >= '\u{1DA9B}' && c <= '\u{1DA9F}' {
return true;
}
if c >= '\u{1DAA1}' && c <= '\u{1DAAF}' {
return true;
}
if c >= '\u{1DF00}' && c <= '\u{1DF1E}' {
return true;
}
if c >= '\u{1E000}' && c <= '\u{1E006}' {
return true;
}
if c >= '\u{1E008}' && c <= '\u{1E018}' {
return true;
}
if c >= '\u{1E01B}' && c <= '\u{1E021}' {
return true;
}
if c >= '\u{1E023}' && c <= '\u{1E024}' {
return true;
}
if c >= '\u{1E026}' && c <= '\u{1E02A}' {
return true;
}
if c >= '\u{1E100}' && c <= '\u{1E12C}' {
return true;
}
if c >= '\u{1E130}' && c <= '\u{1E13D}' {
return true;
}
if c >= '\u{1E140}' && c <= '\u{1E149}' {
return true;
}
if c >= '\u{1E14E}' && c <= '\u{1E14E}' {
return true;
}
if c >= '\u{1E290}' && c <= '\u{1E2AE}' {
return true;
}
if c >= '\u{1E2C0}' && c <= '\u{1E2F9}' {
return true;
}
if c >= '\u{1E7E0}' && c <= '\u{1E7E6}' {
return true;
}
if c >= '\u{1E7E8}' && c <= '\u{1E7EB}' {
return true;
}
if c >= '\u{1E7ED}' && c <= '\u{1E7EE}' {
return true;
}
if c >= '\u{1E7F0}' && c <= '\u{1E7FE}' {
return true;
}
if c >= '\u{1E800}' && c <= '\u{1E8C4}' {
return true;
}
if c >= '\u{1E8D0}' && c <= '\u{1E8D6}' {
return true;
}
if c >= '\u{1E900}' && c <= '\u{1E94B}' {
return true;
}
if c >= '\u{1E950}' && c <= '\u{1E959}' {
return true;
}
if c >= '\u{1EE00}' && c <= '\u{1EE03}' {
return true;
}
if c >= '\u{1EE05}' && c <= '\u{1EE1F}' {
return true;
}
if c >= '\u{1EE21}' && c <= '\u{1EE22}' {
return true;
}
if c >= '\u{1EE24}' && c <= '\u{1EE24}' {
return true;
}
if c >= '\u{1EE27}' && c <= '\u{1EE27}' {
return true;
}
if c >= '\u{1EE29}' && c <= '\u{1EE32}' {
return true;
}
if c >= '\u{1EE34}' && c <= '\u{1EE37}' {
return true;
}
if c >= '\u{1EE39}' && c <= '\u{1EE39}' {
return true;
}
if c >= '\u{1EE3B}' && c <= '\u{1EE3B}' {
return true;
}
if c >= '\u{1EE42}' && c <= '\u{1EE42}' {
return true;
}
if c >= '\u{1EE47}' && c <= '\u{1EE47}' {
return true;
}
if c >= '\u{1EE49}' && c <= '\u{1EE49}' {
return true;
}
if c >= '\u{1EE4B}' && c <= '\u{1EE4B}' {
return true;
}
if c >= '\u{1EE4D}' && c <= '\u{1EE4F}' {
return true;
}
if c >= '\u{1EE51}' && c <= '\u{1EE52}' {
return true;
}
if c >= '\u{1EE54}' && c <= '\u{1EE54}' {
return true;
}
if c >= '\u{1EE57}' && c <= '\u{1EE57}' {
return true;
}
if c >= '\u{1EE59}' && c <= '\u{1EE59}' {
return true;
}
if c >= '\u{1EE5B}' && c <= '\u{1EE5B}' {
return true;
}
if c >= '\u{1EE5D}' && c <= '\u{1EE5D}' {
return true;
}
if c >= '\u{1EE5F}' && c <= '\u{1EE5F}' {
return true;
}
if c >= '\u{1EE61}' && c <= '\u{1EE62}' {
return true;
}
if c >= '\u{1EE64}' && c <= '\u{1EE64}' {
return true;
}
if c >= '\u{1EE67}' && c <= '\u{1EE6A}' {
return true;
}
if c >= '\u{1EE6C}' && c <= '\u{1EE72}' {
return true;
}
if c >= '\u{1EE74}' && c <= '\u{1EE77}' {
return true;
}
if c >= '\u{1EE79}' && c <= '\u{1EE7C}' {
return true;
}
if c >= '\u{1EE7E}' && c <= '\u{1EE7E}' {
return true;
}
if c >= '\u{1EE80}' && c <= '\u{1EE89}' {
return true;
}
if c >= '\u{1EE8B}' && c <= '\u{1EE9B}' {
return true;
}
if c >= '\u{1EEA1}' && c <= '\u{1EEA3}' {
return true;
}
if c >= '\u{1EEA5}' && c <= '\u{1EEA9}' {
return true;
}
if c >= '\u{1EEAB}' && c <= '\u{1EEBB}' {
return true;
}
if c >= '\u{1FBF0}' && c <= '\u{1FBF9}' {
return true;
}
if c >= '\u{20000}' && c <= '\u{2A6DF}' {
return true;
}
if c >= '\u{2A700}' && c <= '\u{2B738}' {
return true;
}
if c >= '\u{2B740}' && c <= '\u{2B81D}' {
return true;
}
if c >= '\u{2B820}' && c <= '\u{2CEA1}' {
return true;
}
if c >= '\u{2CEB0}' && c <= '\u{2EBE0}' {
return true;
}
if c >= '\u{2F800}' && c <= '\u{2FA1D}' {
return true;
}
if c >= '\u{30000}' && c <= '\u{3134A}' {
return true;
}
if c >= '\u{E0100}' && c <= '\u{E01EF}' {
return true;
}
false
}