unicode_character_database/
property_bool.rs

1// DO NOT EDIT THIS FILE. IT WAS AUTOMATICALLY GENERATED BY:
2//
3//   ucd-generate property-bool ./tables
4//
5// Unicode version: 14.0.0.
6//
7// ucd-generate 0.2.10 is available on crates.io.
8
9pub const BY_NAME: &'static [(&'static str, &'static [(u32, u32)])] = &[
10  ("ASCII_Hex_Digit", ASCII_HEX_DIGIT), ("Alphabetic", ALPHABETIC),
11  ("Bidi_Control", BIDI_CONTROL), ("Bidi_Mirrored", BIDI_MIRRORED),
12  ("Case_Ignorable", CASE_IGNORABLE), ("Cased", CASED),
13  ("Changes_When_Casefolded", CHANGES_WHEN_CASEFOLDED),
14  ("Changes_When_Casemapped", CHANGES_WHEN_CASEMAPPED),
15  ("Changes_When_Lowercased", CHANGES_WHEN_LOWERCASED),
16  ("Changes_When_Titlecased", CHANGES_WHEN_TITLECASED),
17  ("Changes_When_Uppercased", CHANGES_WHEN_UPPERCASED), ("Dash", DASH),
18  ("Default_Ignorable_Code_Point", DEFAULT_IGNORABLE_CODE_POINT),
19  ("Deprecated", DEPRECATED), ("Diacritic", DIACRITIC), ("Emoji", EMOJI),
20  ("Emoji_Component", EMOJI_COMPONENT), ("Emoji_Modifier", EMOJI_MODIFIER),
21  ("Emoji_Modifier_Base", EMOJI_MODIFIER_BASE),
22  ("Emoji_Presentation", EMOJI_PRESENTATION),
23  ("Extended_Pictographic", EXTENDED_PICTOGRAPHIC), ("Extender", EXTENDER),
24  ("Grapheme_Base", GRAPHEME_BASE), ("Grapheme_Extend", GRAPHEME_EXTEND),
25  ("Grapheme_Link", GRAPHEME_LINK), ("Hex_Digit", HEX_DIGIT),
26  ("Hyphen", HYPHEN), ("IDS_Binary_Operator", IDS_BINARY_OPERATOR),
27  ("IDS_Trinary_Operator", IDS_TRINARY_OPERATOR),
28  ("ID_Continue", ID_CONTINUE), ("ID_Start", ID_START),
29  ("Ideographic", IDEOGRAPHIC), ("Join_Control", JOIN_CONTROL),
30  ("Logical_Order_Exception", LOGICAL_ORDER_EXCEPTION),
31  ("Lowercase", LOWERCASE), ("Math", MATH),
32  ("Noncharacter_Code_Point", NONCHARACTER_CODE_POINT),
33  ("Other_Alphabetic", OTHER_ALPHABETIC),
34  ("Other_Default_Ignorable_Code_Point", OTHER_DEFAULT_IGNORABLE_CODE_POINT),
35  ("Other_Grapheme_Extend", OTHER_GRAPHEME_EXTEND),
36  ("Other_ID_Continue", OTHER_ID_CONTINUE),
37  ("Other_ID_Start", OTHER_ID_START), ("Other_Lowercase", OTHER_LOWERCASE),
38  ("Other_Math", OTHER_MATH), ("Other_Uppercase", OTHER_UPPERCASE),
39  ("Pattern_Syntax", PATTERN_SYNTAX),
40  ("Pattern_White_Space", PATTERN_WHITE_SPACE),
41  ("Prepended_Concatenation_Mark", PREPENDED_CONCATENATION_MARK),
42  ("Quotation_Mark", QUOTATION_MARK), ("Radical", RADICAL),
43  ("Regional_Indicator", REGIONAL_INDICATOR),
44  ("Sentence_Terminal", SENTENCE_TERMINAL), ("Soft_Dotted", SOFT_DOTTED),
45  ("Terminal_Punctuation", TERMINAL_PUNCTUATION),
46  ("Unified_Ideograph", UNIFIED_IDEOGRAPH), ("Uppercase", UPPERCASE),
47  ("Variation_Selector", VARIATION_SELECTOR), ("White_Space", WHITE_SPACE),
48  ("XID_Continue", XID_CONTINUE), ("XID_Start", XID_START),
49];
50
51pub const ASCII_HEX_DIGIT: &'static [(u32, u32)] = &[
52  (48, 57), (65, 70), (97, 102),
53];
54
55pub const ALPHABETIC: &'static [(u32, u32)] = &[
56  (65, 90), (97, 122), (170, 170), (181, 181), (186, 186), (192, 214),
57  (216, 246), (248, 705), (710, 721), (736, 740), (748, 748), (750, 750),
58  (837, 837), (880, 884), (886, 887), (890, 893), (895, 895), (902, 902),
59  (904, 906), (908, 908), (910, 929), (931, 1013), (1015, 1153), (1162, 1327),
60  (1329, 1366), (1369, 1369), (1376, 1416), (1456, 1469), (1471, 1471),
61  (1473, 1474), (1476, 1477), (1479, 1479), (1488, 1514), (1519, 1522),
62  (1552, 1562), (1568, 1623), (1625, 1631), (1646, 1747), (1749, 1756),
63  (1761, 1768), (1773, 1775), (1786, 1788), (1791, 1791), (1808, 1855),
64  (1869, 1969), (1994, 2026), (2036, 2037), (2042, 2042), (2048, 2071),
65  (2074, 2092), (2112, 2136), (2144, 2154), (2160, 2183), (2185, 2190),
66  (2208, 2249), (2260, 2271), (2275, 2281), (2288, 2363), (2365, 2380),
67  (2382, 2384), (2389, 2403), (2417, 2435), (2437, 2444), (2447, 2448),
68  (2451, 2472), (2474, 2480), (2482, 2482), (2486, 2489), (2493, 2500),
69  (2503, 2504), (2507, 2508), (2510, 2510), (2519, 2519), (2524, 2525),
70  (2527, 2531), (2544, 2545), (2556, 2556), (2561, 2563), (2565, 2570),
71  (2575, 2576), (2579, 2600), (2602, 2608), (2610, 2611), (2613, 2614),
72  (2616, 2617), (2622, 2626), (2631, 2632), (2635, 2636), (2641, 2641),
73  (2649, 2652), (2654, 2654), (2672, 2677), (2689, 2691), (2693, 2701),
74  (2703, 2705), (2707, 2728), (2730, 2736), (2738, 2739), (2741, 2745),
75  (2749, 2757), (2759, 2761), (2763, 2764), (2768, 2768), (2784, 2787),
76  (2809, 2812), (2817, 2819), (2821, 2828), (2831, 2832), (2835, 2856),
77  (2858, 2864), (2866, 2867), (2869, 2873), (2877, 2884), (2887, 2888),
78  (2891, 2892), (2902, 2903), (2908, 2909), (2911, 2915), (2929, 2929),
79  (2946, 2947), (2949, 2954), (2958, 2960), (2962, 2965), (2969, 2970),
80  (2972, 2972), (2974, 2975), (2979, 2980), (2984, 2986), (2990, 3001),
81  (3006, 3010), (3014, 3016), (3018, 3020), (3024, 3024), (3031, 3031),
82  (3072, 3075), (3077, 3084), (3086, 3088), (3090, 3112), (3114, 3129),
83  (3133, 3140), (3142, 3144), (3146, 3148), (3157, 3158), (3160, 3162),
84  (3165, 3165), (3168, 3171), (3200, 3203), (3205, 3212), (3214, 3216),
85  (3218, 3240), (3242, 3251), (3253, 3257), (3261, 3268), (3270, 3272),
86  (3274, 3276), (3285, 3286), (3293, 3294), (3296, 3299), (3313, 3314),
87  (3328, 3340), (3342, 3344), (3346, 3386), (3389, 3396), (3398, 3400),
88  (3402, 3404), (3406, 3406), (3412, 3415), (3423, 3427), (3450, 3455),
89  (3457, 3459), (3461, 3478), (3482, 3505), (3507, 3515), (3517, 3517),
90  (3520, 3526), (3535, 3540), (3542, 3542), (3544, 3551), (3570, 3571),
91  (3585, 3642), (3648, 3654), (3661, 3661), (3713, 3714), (3716, 3716),
92  (3718, 3722), (3724, 3747), (3749, 3749), (3751, 3769), (3771, 3773),
93  (3776, 3780), (3782, 3782), (3789, 3789), (3804, 3807), (3840, 3840),
94  (3904, 3911), (3913, 3948), (3953, 3969), (3976, 3991), (3993, 4028),
95  (4096, 4150), (4152, 4152), (4155, 4159), (4176, 4239), (4250, 4253),
96  (4256, 4293), (4295, 4295), (4301, 4301), (4304, 4346), (4348, 4680),
97  (4682, 4685), (4688, 4694), (4696, 4696), (4698, 4701), (4704, 4744),
98  (4746, 4749), (4752, 4784), (4786, 4789), (4792, 4798), (4800, 4800),
99  (4802, 4805), (4808, 4822), (4824, 4880), (4882, 4885), (4888, 4954),
100  (4992, 5007), (5024, 5109), (5112, 5117), (5121, 5740), (5743, 5759),
101  (5761, 5786), (5792, 5866), (5870, 5880), (5888, 5907), (5919, 5939),
102  (5952, 5971), (5984, 5996), (5998, 6000), (6002, 6003), (6016, 6067),
103  (6070, 6088), (6103, 6103), (6108, 6108), (6176, 6264), (6272, 6314),
104  (6320, 6389), (6400, 6430), (6432, 6443), (6448, 6456), (6480, 6509),
105  (6512, 6516), (6528, 6571), (6576, 6601), (6656, 6683), (6688, 6750),
106  (6753, 6772), (6823, 6823), (6847, 6848), (6860, 6862), (6912, 6963),
107  (6965, 6979), (6981, 6988), (7040, 7081), (7084, 7087), (7098, 7141),
108  (7143, 7153), (7168, 7222), (7245, 7247), (7258, 7293), (7296, 7304),
109  (7312, 7354), (7357, 7359), (7401, 7404), (7406, 7411), (7413, 7414),
110  (7418, 7418), (7424, 7615), (7655, 7668), (7680, 7957), (7960, 7965),
111  (7968, 8005), (8008, 8013), (8016, 8023), (8025, 8025), (8027, 8027),
112  (8029, 8029), (8031, 8061), (8064, 8116), (8118, 8124), (8126, 8126),
113  (8130, 8132), (8134, 8140), (8144, 8147), (8150, 8155), (8160, 8172),
114  (8178, 8180), (8182, 8188), (8305, 8305), (8319, 8319), (8336, 8348),
115  (8450, 8450), (8455, 8455), (8458, 8467), (8469, 8469), (8473, 8477),
116  (8484, 8484), (8486, 8486), (8488, 8488), (8490, 8493), (8495, 8505),
117  (8508, 8511), (8517, 8521), (8526, 8526), (8544, 8584), (9398, 9449),
118  (11264, 11492), (11499, 11502), (11506, 11507), (11520, 11557),
119  (11559, 11559), (11565, 11565), (11568, 11623), (11631, 11631),
120  (11648, 11670), (11680, 11686), (11688, 11694), (11696, 11702),
121  (11704, 11710), (11712, 11718), (11720, 11726), (11728, 11734),
122  (11736, 11742), (11744, 11775), (11823, 11823), (12293, 12295),
123  (12321, 12329), (12337, 12341), (12344, 12348), (12353, 12438),
124  (12445, 12447), (12449, 12538), (12540, 12543), (12549, 12591),
125  (12593, 12686), (12704, 12735), (12784, 12799), (13312, 19903),
126  (19968, 42124), (42192, 42237), (42240, 42508), (42512, 42527),
127  (42538, 42539), (42560, 42606), (42612, 42619), (42623, 42735),
128  (42775, 42783), (42786, 42888), (42891, 42954), (42960, 42961),
129  (42963, 42963), (42965, 42969), (42994, 43013), (43015, 43047),
130  (43072, 43123), (43136, 43203), (43205, 43205), (43250, 43255),
131  (43259, 43259), (43261, 43263), (43274, 43306), (43312, 43346),
132  (43360, 43388), (43392, 43442), (43444, 43455), (43471, 43471),
133  (43488, 43503), (43514, 43518), (43520, 43574), (43584, 43597),
134  (43616, 43638), (43642, 43710), (43712, 43712), (43714, 43714),
135  (43739, 43741), (43744, 43759), (43762, 43765), (43777, 43782),
136  (43785, 43790), (43793, 43798), (43808, 43814), (43816, 43822),
137  (43824, 43866), (43868, 43881), (43888, 44010), (44032, 55203),
138  (55216, 55238), (55243, 55291), (63744, 64109), (64112, 64217),
139  (64256, 64262), (64275, 64279), (64285, 64296), (64298, 64310),
140  (64312, 64316), (64318, 64318), (64320, 64321), (64323, 64324),
141  (64326, 64433), (64467, 64829), (64848, 64911), (64914, 64967),
142  (65008, 65019), (65136, 65140), (65142, 65276), (65313, 65338),
143  (65345, 65370), (65382, 65470), (65474, 65479), (65482, 65487),
144  (65490, 65495), (65498, 65500), (65536, 65547), (65549, 65574),
145  (65576, 65594), (65596, 65597), (65599, 65613), (65616, 65629),
146  (65664, 65786), (65856, 65908), (66176, 66204), (66208, 66256),
147  (66304, 66335), (66349, 66378), (66384, 66426), (66432, 66461),
148  (66464, 66499), (66504, 66511), (66513, 66517), (66560, 66717),
149  (66736, 66771), (66776, 66811), (66816, 66855), (66864, 66915),
150  (66928, 66938), (66940, 66954), (66956, 66962), (66964, 66965),
151  (66967, 66977), (66979, 66993), (66995, 67001), (67003, 67004),
152  (67072, 67382), (67392, 67413), (67424, 67431), (67456, 67461),
153  (67463, 67504), (67506, 67514), (67584, 67589), (67592, 67592),
154  (67594, 67637), (67639, 67640), (67644, 67644), (67647, 67669),
155  (67680, 67702), (67712, 67742), (67808, 67826), (67828, 67829),
156  (67840, 67861), (67872, 67897), (67968, 68023), (68030, 68031),
157  (68096, 68099), (68101, 68102), (68108, 68115), (68117, 68119),
158  (68121, 68149), (68192, 68220), (68224, 68252), (68288, 68295),
159  (68297, 68324), (68352, 68405), (68416, 68437), (68448, 68466),
160  (68480, 68497), (68608, 68680), (68736, 68786), (68800, 68850),
161  (68864, 68903), (69248, 69289), (69291, 69292), (69296, 69297),
162  (69376, 69404), (69415, 69415), (69424, 69445), (69488, 69505),
163  (69552, 69572), (69600, 69622), (69632, 69701), (69745, 69749),
164  (69762, 69816), (69826, 69826), (69840, 69864), (69888, 69938),
165  (69956, 69959), (69968, 70002), (70006, 70006), (70016, 70079),
166  (70081, 70084), (70094, 70095), (70106, 70106), (70108, 70108),
167  (70144, 70161), (70163, 70196), (70199, 70199), (70206, 70206),
168  (70272, 70278), (70280, 70280), (70282, 70285), (70287, 70301),
169  (70303, 70312), (70320, 70376), (70400, 70403), (70405, 70412),
170  (70415, 70416), (70419, 70440), (70442, 70448), (70450, 70451),
171  (70453, 70457), (70461, 70468), (70471, 70472), (70475, 70476),
172  (70480, 70480), (70487, 70487), (70493, 70499), (70656, 70721),
173  (70723, 70725), (70727, 70730), (70751, 70753), (70784, 70849),
174  (70852, 70853), (70855, 70855), (71040, 71093), (71096, 71102),
175  (71128, 71133), (71168, 71230), (71232, 71232), (71236, 71236),
176  (71296, 71349), (71352, 71352), (71424, 71450), (71453, 71466),
177  (71488, 71494), (71680, 71736), (71840, 71903), (71935, 71942),
178  (71945, 71945), (71948, 71955), (71957, 71958), (71960, 71989),
179  (71991, 71992), (71995, 71996), (71999, 72002), (72096, 72103),
180  (72106, 72151), (72154, 72159), (72161, 72161), (72163, 72164),
181  (72192, 72242), (72245, 72254), (72272, 72343), (72349, 72349),
182  (72368, 72440), (72704, 72712), (72714, 72758), (72760, 72766),
183  (72768, 72768), (72818, 72847), (72850, 72871), (72873, 72886),
184  (72960, 72966), (72968, 72969), (72971, 73014), (73018, 73018),
185  (73020, 73021), (73023, 73025), (73027, 73027), (73030, 73031),
186  (73056, 73061), (73063, 73064), (73066, 73102), (73104, 73105),
187  (73107, 73110), (73112, 73112), (73440, 73462), (73648, 73648),
188  (73728, 74649), (74752, 74862), (74880, 75075), (77712, 77808),
189  (77824, 78894), (82944, 83526), (92160, 92728), (92736, 92766),
190  (92784, 92862), (92880, 92909), (92928, 92975), (92992, 92995),
191  (93027, 93047), (93053, 93071), (93760, 93823), (93952, 94026),
192  (94031, 94087), (94095, 94111), (94176, 94177), (94179, 94179),
193  (94192, 94193), (94208, 100343), (100352, 101589), (101632, 101640),
194  (110576, 110579), (110581, 110587), (110589, 110590), (110592, 110882),
195  (110928, 110930), (110948, 110951), (110960, 111355), (113664, 113770),
196  (113776, 113788), (113792, 113800), (113808, 113817), (113822, 113822),
197  (119808, 119892), (119894, 119964), (119966, 119967), (119970, 119970),
198  (119973, 119974), (119977, 119980), (119982, 119993), (119995, 119995),
199  (119997, 120003), (120005, 120069), (120071, 120074), (120077, 120084),
200  (120086, 120092), (120094, 120121), (120123, 120126), (120128, 120132),
201  (120134, 120134), (120138, 120144), (120146, 120485), (120488, 120512),
202  (120514, 120538), (120540, 120570), (120572, 120596), (120598, 120628),
203  (120630, 120654), (120656, 120686), (120688, 120712), (120714, 120744),
204  (120746, 120770), (120772, 120779), (122624, 122654), (122880, 122886),
205  (122888, 122904), (122907, 122913), (122915, 122916), (122918, 122922),
206  (123136, 123180), (123191, 123197), (123214, 123214), (123536, 123565),
207  (123584, 123627), (124896, 124902), (124904, 124907), (124909, 124910),
208  (124912, 124926), (124928, 125124), (125184, 125251), (125255, 125255),
209  (125259, 125259), (126464, 126467), (126469, 126495), (126497, 126498),
210  (126500, 126500), (126503, 126503), (126505, 126514), (126516, 126519),
211  (126521, 126521), (126523, 126523), (126530, 126530), (126535, 126535),
212  (126537, 126537), (126539, 126539), (126541, 126543), (126545, 126546),
213  (126548, 126548), (126551, 126551), (126553, 126553), (126555, 126555),
214  (126557, 126557), (126559, 126559), (126561, 126562), (126564, 126564),
215  (126567, 126570), (126572, 126578), (126580, 126583), (126585, 126588),
216  (126590, 126590), (126592, 126601), (126603, 126619), (126625, 126627),
217  (126629, 126633), (126635, 126651), (127280, 127305), (127312, 127337),
218  (127344, 127369), (131072, 173791), (173824, 177976), (177984, 178205),
219  (178208, 183969), (183984, 191456), (194560, 195101), (196608, 201546),
220];
221
222pub const BIDI_CONTROL: &'static [(u32, u32)] = &[
223  (1564, 1564), (8206, 8207), (8234, 8238), (8294, 8297),
224];
225
226pub const BIDI_MIRRORED: &'static [(u32, u32)] = &[
227  (40, 41), (60, 60), (62, 62), (91, 91), (93, 93), (123, 123), (125, 125),
228  (171, 171), (187, 187), (3898, 3901), (5787, 5788), (8249, 8250),
229  (8261, 8262), (8317, 8318), (8333, 8334), (8512, 8512), (8705, 8708),
230  (8712, 8717), (8721, 8721), (8725, 8726), (8730, 8733), (8735, 8738),
231  (8740, 8740), (8742, 8742), (8747, 8755), (8761, 8761), (8763, 8780),
232  (8786, 8789), (8799, 8800), (8802, 8802), (8804, 8811), (8814, 8844),
233  (8847, 8850), (8856, 8856), (8866, 8867), (8870, 8888), (8894, 8895),
234  (8905, 8909), (8912, 8913), (8918, 8941), (8944, 8959), (8968, 8971),
235  (8992, 8993), (9001, 9002), (10088, 10101), (10176, 10176), (10179, 10182),
236  (10184, 10185), (10187, 10189), (10195, 10198), (10204, 10206),
237  (10210, 10223), (10627, 10648), (10651, 10656), (10658, 10671),
238  (10680, 10680), (10688, 10693), (10697, 10697), (10702, 10706),
239  (10708, 10709), (10712, 10716), (10721, 10721), (10723, 10725),
240  (10728, 10729), (10740, 10745), (10748, 10749), (10762, 10780),
241  (10782, 10785), (10788, 10788), (10790, 10790), (10793, 10793),
242  (10795, 10798), (10804, 10805), (10812, 10814), (10839, 10840),
243  (10852, 10853), (10858, 10861), (10863, 10864), (10867, 10868),
244  (10873, 10915), (10918, 10925), (10927, 10966), (10972, 10972),
245  (10974, 10974), (10978, 10982), (10988, 10990), (10995, 10995),
246  (10999, 11003), (11005, 11005), (11262, 11262), (11778, 11781),
247  (11785, 11786), (11788, 11789), (11804, 11805), (11808, 11817),
248  (11861, 11868), (12296, 12305), (12308, 12315), (65113, 65118),
249  (65124, 65125), (65288, 65289), (65308, 65308), (65310, 65310),
250  (65339, 65339), (65341, 65341), (65371, 65371), (65373, 65373),
251  (65375, 65376), (65378, 65379), (120539, 120539), (120597, 120597),
252  (120655, 120655), (120713, 120713), (120771, 120771),
253];
254
255pub const CASE_IGNORABLE: &'static [(u32, u32)] = &[
256  (39, 39), (46, 46), (58, 58), (94, 94), (96, 96), (168, 168), (173, 173),
257  (175, 175), (180, 180), (183, 184), (688, 879), (884, 885), (890, 890),
258  (900, 901), (903, 903), (1155, 1161), (1369, 1369), (1375, 1375),
259  (1425, 1469), (1471, 1471), (1473, 1474), (1476, 1477), (1479, 1479),
260  (1524, 1524), (1536, 1541), (1552, 1562), (1564, 1564), (1600, 1600),
261  (1611, 1631), (1648, 1648), (1750, 1757), (1759, 1768), (1770, 1773),
262  (1807, 1807), (1809, 1809), (1840, 1866), (1958, 1968), (2027, 2037),
263  (2042, 2042), (2045, 2045), (2070, 2093), (2137, 2139), (2184, 2184),
264  (2192, 2193), (2200, 2207), (2249, 2306), (2362, 2362), (2364, 2364),
265  (2369, 2376), (2381, 2381), (2385, 2391), (2402, 2403), (2417, 2417),
266  (2433, 2433), (2492, 2492), (2497, 2500), (2509, 2509), (2530, 2531),
267  (2558, 2558), (2561, 2562), (2620, 2620), (2625, 2626), (2631, 2632),
268  (2635, 2637), (2641, 2641), (2672, 2673), (2677, 2677), (2689, 2690),
269  (2748, 2748), (2753, 2757), (2759, 2760), (2765, 2765), (2786, 2787),
270  (2810, 2815), (2817, 2817), (2876, 2876), (2879, 2879), (2881, 2884),
271  (2893, 2893), (2901, 2902), (2914, 2915), (2946, 2946), (3008, 3008),
272  (3021, 3021), (3072, 3072), (3076, 3076), (3132, 3132), (3134, 3136),
273  (3142, 3144), (3146, 3149), (3157, 3158), (3170, 3171), (3201, 3201),
274  (3260, 3260), (3263, 3263), (3270, 3270), (3276, 3277), (3298, 3299),
275  (3328, 3329), (3387, 3388), (3393, 3396), (3405, 3405), (3426, 3427),
276  (3457, 3457), (3530, 3530), (3538, 3540), (3542, 3542), (3633, 3633),
277  (3636, 3642), (3654, 3662), (3761, 3761), (3764, 3772), (3782, 3782),
278  (3784, 3789), (3864, 3865), (3893, 3893), (3895, 3895), (3897, 3897),
279  (3953, 3966), (3968, 3972), (3974, 3975), (3981, 3991), (3993, 4028),
280  (4038, 4038), (4141, 4144), (4146, 4151), (4153, 4154), (4157, 4158),
281  (4184, 4185), (4190, 4192), (4209, 4212), (4226, 4226), (4229, 4230),
282  (4237, 4237), (4253, 4253), (4348, 4348), (4957, 4959), (5906, 5908),
283  (5938, 5939), (5970, 5971), (6002, 6003), (6068, 6069), (6071, 6077),
284  (6086, 6086), (6089, 6099), (6103, 6103), (6109, 6109), (6155, 6159),
285  (6211, 6211), (6277, 6278), (6313, 6313), (6432, 6434), (6439, 6440),
286  (6450, 6450), (6457, 6459), (6679, 6680), (6683, 6683), (6742, 6742),
287  (6744, 6750), (6752, 6752), (6754, 6754), (6757, 6764), (6771, 6780),
288  (6783, 6783), (6823, 6823), (6832, 6862), (6912, 6915), (6964, 6964),
289  (6966, 6970), (6972, 6972), (6978, 6978), (7019, 7027), (7040, 7041),
290  (7074, 7077), (7080, 7081), (7083, 7085), (7142, 7142), (7144, 7145),
291  (7149, 7149), (7151, 7153), (7212, 7219), (7222, 7223), (7288, 7293),
292  (7376, 7378), (7380, 7392), (7394, 7400), (7405, 7405), (7412, 7412),
293  (7416, 7417), (7468, 7530), (7544, 7544), (7579, 7679), (8125, 8125),
294  (8127, 8129), (8141, 8143), (8157, 8159), (8173, 8175), (8189, 8190),
295  (8203, 8207), (8216, 8217), (8228, 8228), (8231, 8231), (8234, 8238),
296  (8288, 8292), (8294, 8303), (8305, 8305), (8319, 8319), (8336, 8348),
297  (8400, 8432), (11388, 11389), (11503, 11505), (11631, 11631),
298  (11647, 11647), (11744, 11775), (11823, 11823), (12293, 12293),
299  (12330, 12333), (12337, 12341), (12347, 12347), (12441, 12446),
300  (12540, 12542), (40981, 40981), (42232, 42237), (42508, 42508),
301  (42607, 42610), (42612, 42621), (42623, 42623), (42652, 42655),
302  (42736, 42737), (42752, 42785), (42864, 42864), (42888, 42890),
303  (42994, 42996), (43000, 43001), (43010, 43010), (43014, 43014),
304  (43019, 43019), (43045, 43046), (43052, 43052), (43204, 43205),
305  (43232, 43249), (43263, 43263), (43302, 43309), (43335, 43345),
306  (43392, 43394), (43443, 43443), (43446, 43449), (43452, 43453),
307  (43471, 43471), (43493, 43494), (43561, 43566), (43569, 43570),
308  (43573, 43574), (43587, 43587), (43596, 43596), (43632, 43632),
309  (43644, 43644), (43696, 43696), (43698, 43700), (43703, 43704),
310  (43710, 43711), (43713, 43713), (43741, 43741), (43756, 43757),
311  (43763, 43764), (43766, 43766), (43867, 43871), (43881, 43883),
312  (44005, 44005), (44008, 44008), (44013, 44013), (64286, 64286),
313  (64434, 64450), (65024, 65039), (65043, 65043), (65056, 65071),
314  (65106, 65106), (65109, 65109), (65279, 65279), (65287, 65287),
315  (65294, 65294), (65306, 65306), (65342, 65342), (65344, 65344),
316  (65392, 65392), (65438, 65439), (65507, 65507), (65529, 65531),
317  (66045, 66045), (66272, 66272), (66422, 66426), (67456, 67461),
318  (67463, 67504), (67506, 67514), (68097, 68099), (68101, 68102),
319  (68108, 68111), (68152, 68154), (68159, 68159), (68325, 68326),
320  (68900, 68903), (69291, 69292), (69446, 69456), (69506, 69509),
321  (69633, 69633), (69688, 69702), (69744, 69744), (69747, 69748),
322  (69759, 69761), (69811, 69814), (69817, 69818), (69821, 69821),
323  (69826, 69826), (69837, 69837), (69888, 69890), (69927, 69931),
324  (69933, 69940), (70003, 70003), (70016, 70017), (70070, 70078),
325  (70089, 70092), (70095, 70095), (70191, 70193), (70196, 70196),
326  (70198, 70199), (70206, 70206), (70367, 70367), (70371, 70378),
327  (70400, 70401), (70459, 70460), (70464, 70464), (70502, 70508),
328  (70512, 70516), (70712, 70719), (70722, 70724), (70726, 70726),
329  (70750, 70750), (70835, 70840), (70842, 70842), (70847, 70848),
330  (70850, 70851), (71090, 71093), (71100, 71101), (71103, 71104),
331  (71132, 71133), (71219, 71226), (71229, 71229), (71231, 71232),
332  (71339, 71339), (71341, 71341), (71344, 71349), (71351, 71351),
333  (71453, 71455), (71458, 71461), (71463, 71467), (71727, 71735),
334  (71737, 71738), (71995, 71996), (71998, 71998), (72003, 72003),
335  (72148, 72151), (72154, 72155), (72160, 72160), (72193, 72202),
336  (72243, 72248), (72251, 72254), (72263, 72263), (72273, 72278),
337  (72281, 72283), (72330, 72342), (72344, 72345), (72752, 72758),
338  (72760, 72765), (72767, 72767), (72850, 72871), (72874, 72880),
339  (72882, 72883), (72885, 72886), (73009, 73014), (73018, 73018),
340  (73020, 73021), (73023, 73029), (73031, 73031), (73104, 73105),
341  (73109, 73109), (73111, 73111), (73459, 73460), (78896, 78904),
342  (92912, 92916), (92976, 92982), (92992, 92995), (94031, 94031),
343  (94095, 94111), (94176, 94177), (94179, 94180), (110576, 110579),
344  (110581, 110587), (110589, 110590), (113821, 113822), (113824, 113827),
345  (118528, 118573), (118576, 118598), (119143, 119145), (119155, 119170),
346  (119173, 119179), (119210, 119213), (119362, 119364), (121344, 121398),
347  (121403, 121452), (121461, 121461), (121476, 121476), (121499, 121503),
348  (121505, 121519), (122880, 122886), (122888, 122904), (122907, 122913),
349  (122915, 122916), (122918, 122922), (123184, 123197), (123566, 123566),
350  (123628, 123631), (125136, 125142), (125252, 125259), (127995, 127999),
351  (917505, 917505), (917536, 917631), (917760, 917999),
352];
353
354pub const CASED: &'static [(u32, u32)] = &[
355  (65, 90), (97, 122), (170, 170), (181, 181), (186, 186), (192, 214),
356  (216, 246), (248, 442), (444, 447), (452, 659), (661, 696), (704, 705),
357  (736, 740), (837, 837), (880, 883), (886, 887), (890, 893), (895, 895),
358  (902, 902), (904, 906), (908, 908), (910, 929), (931, 1013), (1015, 1153),
359  (1162, 1327), (1329, 1366), (1376, 1416), (4256, 4293), (4295, 4295),
360  (4301, 4301), (4304, 4346), (4349, 4351), (5024, 5109), (5112, 5117),
361  (7296, 7304), (7312, 7354), (7357, 7359), (7424, 7615), (7680, 7957),
362  (7960, 7965), (7968, 8005), (8008, 8013), (8016, 8023), (8025, 8025),
363  (8027, 8027), (8029, 8029), (8031, 8061), (8064, 8116), (8118, 8124),
364  (8126, 8126), (8130, 8132), (8134, 8140), (8144, 8147), (8150, 8155),
365  (8160, 8172), (8178, 8180), (8182, 8188), (8305, 8305), (8319, 8319),
366  (8336, 8348), (8450, 8450), (8455, 8455), (8458, 8467), (8469, 8469),
367  (8473, 8477), (8484, 8484), (8486, 8486), (8488, 8488), (8490, 8493),
368  (8495, 8500), (8505, 8505), (8508, 8511), (8517, 8521), (8526, 8526),
369  (8544, 8575), (8579, 8580), (9398, 9449), (11264, 11492), (11499, 11502),
370  (11506, 11507), (11520, 11557), (11559, 11559), (11565, 11565),
371  (42560, 42605), (42624, 42653), (42786, 42887), (42891, 42894),
372  (42896, 42954), (42960, 42961), (42963, 42963), (42965, 42969),
373  (42997, 42998), (43000, 43002), (43824, 43866), (43868, 43880),
374  (43888, 43967), (64256, 64262), (64275, 64279), (65313, 65338),
375  (65345, 65370), (66560, 66639), (66736, 66771), (66776, 66811),
376  (66928, 66938), (66940, 66954), (66956, 66962), (66964, 66965),
377  (66967, 66977), (66979, 66993), (66995, 67001), (67003, 67004),
378  (67456, 67456), (67459, 67461), (67463, 67504), (67506, 67514),
379  (68736, 68786), (68800, 68850), (71840, 71903), (93760, 93823),
380  (119808, 119892), (119894, 119964), (119966, 119967), (119970, 119970),
381  (119973, 119974), (119977, 119980), (119982, 119993), (119995, 119995),
382  (119997, 120003), (120005, 120069), (120071, 120074), (120077, 120084),
383  (120086, 120092), (120094, 120121), (120123, 120126), (120128, 120132),
384  (120134, 120134), (120138, 120144), (120146, 120485), (120488, 120512),
385  (120514, 120538), (120540, 120570), (120572, 120596), (120598, 120628),
386  (120630, 120654), (120656, 120686), (120688, 120712), (120714, 120744),
387  (120746, 120770), (120772, 120779), (122624, 122633), (122635, 122654),
388  (125184, 125251), (127280, 127305), (127312, 127337), (127344, 127369),
389];
390
391pub const CHANGES_WHEN_CASEFOLDED: &'static [(u32, u32)] = &[
392  (65, 90), (181, 181), (192, 214), (216, 223), (256, 256), (258, 258),
393  (260, 260), (262, 262), (264, 264), (266, 266), (268, 268), (270, 270),
394  (272, 272), (274, 274), (276, 276), (278, 278), (280, 280), (282, 282),
395  (284, 284), (286, 286), (288, 288), (290, 290), (292, 292), (294, 294),
396  (296, 296), (298, 298), (300, 300), (302, 302), (304, 304), (306, 306),
397  (308, 308), (310, 310), (313, 313), (315, 315), (317, 317), (319, 319),
398  (321, 321), (323, 323), (325, 325), (327, 327), (329, 330), (332, 332),
399  (334, 334), (336, 336), (338, 338), (340, 340), (342, 342), (344, 344),
400  (346, 346), (348, 348), (350, 350), (352, 352), (354, 354), (356, 356),
401  (358, 358), (360, 360), (362, 362), (364, 364), (366, 366), (368, 368),
402  (370, 370), (372, 372), (374, 374), (376, 377), (379, 379), (381, 381),
403  (383, 383), (385, 386), (388, 388), (390, 391), (393, 395), (398, 401),
404  (403, 404), (406, 408), (412, 413), (415, 416), (418, 418), (420, 420),
405  (422, 423), (425, 425), (428, 428), (430, 431), (433, 435), (437, 437),
406  (439, 440), (444, 444), (452, 453), (455, 456), (458, 459), (461, 461),
407  (463, 463), (465, 465), (467, 467), (469, 469), (471, 471), (473, 473),
408  (475, 475), (478, 478), (480, 480), (482, 482), (484, 484), (486, 486),
409  (488, 488), (490, 490), (492, 492), (494, 494), (497, 498), (500, 500),
410  (502, 504), (506, 506), (508, 508), (510, 510), (512, 512), (514, 514),
411  (516, 516), (518, 518), (520, 520), (522, 522), (524, 524), (526, 526),
412  (528, 528), (530, 530), (532, 532), (534, 534), (536, 536), (538, 538),
413  (540, 540), (542, 542), (544, 544), (546, 546), (548, 548), (550, 550),
414  (552, 552), (554, 554), (556, 556), (558, 558), (560, 560), (562, 562),
415  (570, 571), (573, 574), (577, 577), (579, 582), (584, 584), (586, 586),
416  (588, 588), (590, 590), (837, 837), (880, 880), (882, 882), (886, 886),
417  (895, 895), (902, 902), (904, 906), (908, 908), (910, 911), (913, 929),
418  (931, 939), (962, 962), (975, 977), (981, 982), (984, 984), (986, 986),
419  (988, 988), (990, 990), (992, 992), (994, 994), (996, 996), (998, 998),
420  (1000, 1000), (1002, 1002), (1004, 1004), (1006, 1006), (1008, 1009),
421  (1012, 1013), (1015, 1015), (1017, 1018), (1021, 1071), (1120, 1120),
422  (1122, 1122), (1124, 1124), (1126, 1126), (1128, 1128), (1130, 1130),
423  (1132, 1132), (1134, 1134), (1136, 1136), (1138, 1138), (1140, 1140),
424  (1142, 1142), (1144, 1144), (1146, 1146), (1148, 1148), (1150, 1150),
425  (1152, 1152), (1162, 1162), (1164, 1164), (1166, 1166), (1168, 1168),
426  (1170, 1170), (1172, 1172), (1174, 1174), (1176, 1176), (1178, 1178),
427  (1180, 1180), (1182, 1182), (1184, 1184), (1186, 1186), (1188, 1188),
428  (1190, 1190), (1192, 1192), (1194, 1194), (1196, 1196), (1198, 1198),
429  (1200, 1200), (1202, 1202), (1204, 1204), (1206, 1206), (1208, 1208),
430  (1210, 1210), (1212, 1212), (1214, 1214), (1216, 1217), (1219, 1219),
431  (1221, 1221), (1223, 1223), (1225, 1225), (1227, 1227), (1229, 1229),
432  (1232, 1232), (1234, 1234), (1236, 1236), (1238, 1238), (1240, 1240),
433  (1242, 1242), (1244, 1244), (1246, 1246), (1248, 1248), (1250, 1250),
434  (1252, 1252), (1254, 1254), (1256, 1256), (1258, 1258), (1260, 1260),
435  (1262, 1262), (1264, 1264), (1266, 1266), (1268, 1268), (1270, 1270),
436  (1272, 1272), (1274, 1274), (1276, 1276), (1278, 1278), (1280, 1280),
437  (1282, 1282), (1284, 1284), (1286, 1286), (1288, 1288), (1290, 1290),
438  (1292, 1292), (1294, 1294), (1296, 1296), (1298, 1298), (1300, 1300),
439  (1302, 1302), (1304, 1304), (1306, 1306), (1308, 1308), (1310, 1310),
440  (1312, 1312), (1314, 1314), (1316, 1316), (1318, 1318), (1320, 1320),
441  (1322, 1322), (1324, 1324), (1326, 1326), (1329, 1366), (1415, 1415),
442  (4256, 4293), (4295, 4295), (4301, 4301), (5112, 5117), (7296, 7304),
443  (7312, 7354), (7357, 7359), (7680, 7680), (7682, 7682), (7684, 7684),
444  (7686, 7686), (7688, 7688), (7690, 7690), (7692, 7692), (7694, 7694),
445  (7696, 7696), (7698, 7698), (7700, 7700), (7702, 7702), (7704, 7704),
446  (7706, 7706), (7708, 7708), (7710, 7710), (7712, 7712), (7714, 7714),
447  (7716, 7716), (7718, 7718), (7720, 7720), (7722, 7722), (7724, 7724),
448  (7726, 7726), (7728, 7728), (7730, 7730), (7732, 7732), (7734, 7734),
449  (7736, 7736), (7738, 7738), (7740, 7740), (7742, 7742), (7744, 7744),
450  (7746, 7746), (7748, 7748), (7750, 7750), (7752, 7752), (7754, 7754),
451  (7756, 7756), (7758, 7758), (7760, 7760), (7762, 7762), (7764, 7764),
452  (7766, 7766), (7768, 7768), (7770, 7770), (7772, 7772), (7774, 7774),
453  (7776, 7776), (7778, 7778), (7780, 7780), (7782, 7782), (7784, 7784),
454  (7786, 7786), (7788, 7788), (7790, 7790), (7792, 7792), (7794, 7794),
455  (7796, 7796), (7798, 7798), (7800, 7800), (7802, 7802), (7804, 7804),
456  (7806, 7806), (7808, 7808), (7810, 7810), (7812, 7812), (7814, 7814),
457  (7816, 7816), (7818, 7818), (7820, 7820), (7822, 7822), (7824, 7824),
458  (7826, 7826), (7828, 7828), (7834, 7835), (7838, 7838), (7840, 7840),
459  (7842, 7842), (7844, 7844), (7846, 7846), (7848, 7848), (7850, 7850),
460  (7852, 7852), (7854, 7854), (7856, 7856), (7858, 7858), (7860, 7860),
461  (7862, 7862), (7864, 7864), (7866, 7866), (7868, 7868), (7870, 7870),
462  (7872, 7872), (7874, 7874), (7876, 7876), (7878, 7878), (7880, 7880),
463  (7882, 7882), (7884, 7884), (7886, 7886), (7888, 7888), (7890, 7890),
464  (7892, 7892), (7894, 7894), (7896, 7896), (7898, 7898), (7900, 7900),
465  (7902, 7902), (7904, 7904), (7906, 7906), (7908, 7908), (7910, 7910),
466  (7912, 7912), (7914, 7914), (7916, 7916), (7918, 7918), (7920, 7920),
467  (7922, 7922), (7924, 7924), (7926, 7926), (7928, 7928), (7930, 7930),
468  (7932, 7932), (7934, 7934), (7944, 7951), (7960, 7965), (7976, 7983),
469  (7992, 7999), (8008, 8013), (8025, 8025), (8027, 8027), (8029, 8029),
470  (8031, 8031), (8040, 8047), (8064, 8111), (8114, 8116), (8119, 8124),
471  (8130, 8132), (8135, 8140), (8152, 8155), (8168, 8172), (8178, 8180),
472  (8183, 8188), (8486, 8486), (8490, 8491), (8498, 8498), (8544, 8559),
473  (8579, 8579), (9398, 9423), (11264, 11311), (11360, 11360), (11362, 11364),
474  (11367, 11367), (11369, 11369), (11371, 11371), (11373, 11376),
475  (11378, 11378), (11381, 11381), (11390, 11392), (11394, 11394),
476  (11396, 11396), (11398, 11398), (11400, 11400), (11402, 11402),
477  (11404, 11404), (11406, 11406), (11408, 11408), (11410, 11410),
478  (11412, 11412), (11414, 11414), (11416, 11416), (11418, 11418),
479  (11420, 11420), (11422, 11422), (11424, 11424), (11426, 11426),
480  (11428, 11428), (11430, 11430), (11432, 11432), (11434, 11434),
481  (11436, 11436), (11438, 11438), (11440, 11440), (11442, 11442),
482  (11444, 11444), (11446, 11446), (11448, 11448), (11450, 11450),
483  (11452, 11452), (11454, 11454), (11456, 11456), (11458, 11458),
484  (11460, 11460), (11462, 11462), (11464, 11464), (11466, 11466),
485  (11468, 11468), (11470, 11470), (11472, 11472), (11474, 11474),
486  (11476, 11476), (11478, 11478), (11480, 11480), (11482, 11482),
487  (11484, 11484), (11486, 11486), (11488, 11488), (11490, 11490),
488  (11499, 11499), (11501, 11501), (11506, 11506), (42560, 42560),
489  (42562, 42562), (42564, 42564), (42566, 42566), (42568, 42568),
490  (42570, 42570), (42572, 42572), (42574, 42574), (42576, 42576),
491  (42578, 42578), (42580, 42580), (42582, 42582), (42584, 42584),
492  (42586, 42586), (42588, 42588), (42590, 42590), (42592, 42592),
493  (42594, 42594), (42596, 42596), (42598, 42598), (42600, 42600),
494  (42602, 42602), (42604, 42604), (42624, 42624), (42626, 42626),
495  (42628, 42628), (42630, 42630), (42632, 42632), (42634, 42634),
496  (42636, 42636), (42638, 42638), (42640, 42640), (42642, 42642),
497  (42644, 42644), (42646, 42646), (42648, 42648), (42650, 42650),
498  (42786, 42786), (42788, 42788), (42790, 42790), (42792, 42792),
499  (42794, 42794), (42796, 42796), (42798, 42798), (42802, 42802),
500  (42804, 42804), (42806, 42806), (42808, 42808), (42810, 42810),
501  (42812, 42812), (42814, 42814), (42816, 42816), (42818, 42818),
502  (42820, 42820), (42822, 42822), (42824, 42824), (42826, 42826),
503  (42828, 42828), (42830, 42830), (42832, 42832), (42834, 42834),
504  (42836, 42836), (42838, 42838), (42840, 42840), (42842, 42842),
505  (42844, 42844), (42846, 42846), (42848, 42848), (42850, 42850),
506  (42852, 42852), (42854, 42854), (42856, 42856), (42858, 42858),
507  (42860, 42860), (42862, 42862), (42873, 42873), (42875, 42875),
508  (42877, 42878), (42880, 42880), (42882, 42882), (42884, 42884),
509  (42886, 42886), (42891, 42891), (42893, 42893), (42896, 42896),
510  (42898, 42898), (42902, 42902), (42904, 42904), (42906, 42906),
511  (42908, 42908), (42910, 42910), (42912, 42912), (42914, 42914),
512  (42916, 42916), (42918, 42918), (42920, 42920), (42922, 42926),
513  (42928, 42932), (42934, 42934), (42936, 42936), (42938, 42938),
514  (42940, 42940), (42942, 42942), (42944, 42944), (42946, 42946),
515  (42948, 42951), (42953, 42953), (42960, 42960), (42966, 42966),
516  (42968, 42968), (42997, 42997), (43888, 43967), (64256, 64262),
517  (64275, 64279), (65313, 65338), (66560, 66599), (66736, 66771),
518  (66928, 66938), (66940, 66954), (66956, 66962), (66964, 66965),
519  (68736, 68786), (71840, 71871), (93760, 93791), (125184, 125217),
520];
521
522pub const CHANGES_WHEN_CASEMAPPED: &'static [(u32, u32)] = &[
523  (65, 90), (97, 122), (181, 181), (192, 214), (216, 246), (248, 311),
524  (313, 396), (398, 410), (412, 425), (428, 441), (444, 445), (447, 447),
525  (452, 544), (546, 563), (570, 596), (598, 599), (601, 601), (603, 604),
526  (608, 609), (611, 611), (613, 614), (616, 620), (623, 623), (625, 626),
527  (629, 629), (637, 637), (640, 640), (642, 643), (647, 652), (658, 658),
528  (669, 670), (837, 837), (880, 883), (886, 887), (891, 893), (895, 895),
529  (902, 902), (904, 906), (908, 908), (910, 929), (931, 977), (981, 1013),
530  (1015, 1019), (1021, 1153), (1162, 1327), (1329, 1366), (1377, 1415),
531  (4256, 4293), (4295, 4295), (4301, 4301), (4304, 4346), (4349, 4351),
532  (5024, 5109), (5112, 5117), (7296, 7304), (7312, 7354), (7357, 7359),
533  (7545, 7545), (7549, 7549), (7566, 7566), (7680, 7835), (7838, 7838),
534  (7840, 7957), (7960, 7965), (7968, 8005), (8008, 8013), (8016, 8023),
535  (8025, 8025), (8027, 8027), (8029, 8029), (8031, 8061), (8064, 8116),
536  (8118, 8124), (8126, 8126), (8130, 8132), (8134, 8140), (8144, 8147),
537  (8150, 8155), (8160, 8172), (8178, 8180), (8182, 8188), (8486, 8486),
538  (8490, 8491), (8498, 8498), (8526, 8526), (8544, 8575), (8579, 8580),
539  (9398, 9449), (11264, 11376), (11378, 11379), (11381, 11382),
540  (11390, 11491), (11499, 11502), (11506, 11507), (11520, 11557),
541  (11559, 11559), (11565, 11565), (42560, 42605), (42624, 42651),
542  (42786, 42799), (42802, 42863), (42873, 42887), (42891, 42893),
543  (42896, 42900), (42902, 42926), (42928, 42954), (42960, 42961),
544  (42966, 42969), (42997, 42998), (43859, 43859), (43888, 43967),
545  (64256, 64262), (64275, 64279), (65313, 65338), (65345, 65370),
546  (66560, 66639), (66736, 66771), (66776, 66811), (66928, 66938),
547  (66940, 66954), (66956, 66962), (66964, 66965), (66967, 66977),
548  (66979, 66993), (66995, 67001), (67003, 67004), (68736, 68786),
549  (68800, 68850), (71840, 71903), (93760, 93823), (125184, 125251),
550];
551
552pub const CHANGES_WHEN_LOWERCASED: &'static [(u32, u32)] = &[
553  (65, 90), (192, 214), (216, 222), (256, 256), (258, 258), (260, 260),
554  (262, 262), (264, 264), (266, 266), (268, 268), (270, 270), (272, 272),
555  (274, 274), (276, 276), (278, 278), (280, 280), (282, 282), (284, 284),
556  (286, 286), (288, 288), (290, 290), (292, 292), (294, 294), (296, 296),
557  (298, 298), (300, 300), (302, 302), (304, 304), (306, 306), (308, 308),
558  (310, 310), (313, 313), (315, 315), (317, 317), (319, 319), (321, 321),
559  (323, 323), (325, 325), (327, 327), (330, 330), (332, 332), (334, 334),
560  (336, 336), (338, 338), (340, 340), (342, 342), (344, 344), (346, 346),
561  (348, 348), (350, 350), (352, 352), (354, 354), (356, 356), (358, 358),
562  (360, 360), (362, 362), (364, 364), (366, 366), (368, 368), (370, 370),
563  (372, 372), (374, 374), (376, 377), (379, 379), (381, 381), (385, 386),
564  (388, 388), (390, 391), (393, 395), (398, 401), (403, 404), (406, 408),
565  (412, 413), (415, 416), (418, 418), (420, 420), (422, 423), (425, 425),
566  (428, 428), (430, 431), (433, 435), (437, 437), (439, 440), (444, 444),
567  (452, 453), (455, 456), (458, 459), (461, 461), (463, 463), (465, 465),
568  (467, 467), (469, 469), (471, 471), (473, 473), (475, 475), (478, 478),
569  (480, 480), (482, 482), (484, 484), (486, 486), (488, 488), (490, 490),
570  (492, 492), (494, 494), (497, 498), (500, 500), (502, 504), (506, 506),
571  (508, 508), (510, 510), (512, 512), (514, 514), (516, 516), (518, 518),
572  (520, 520), (522, 522), (524, 524), (526, 526), (528, 528), (530, 530),
573  (532, 532), (534, 534), (536, 536), (538, 538), (540, 540), (542, 542),
574  (544, 544), (546, 546), (548, 548), (550, 550), (552, 552), (554, 554),
575  (556, 556), (558, 558), (560, 560), (562, 562), (570, 571), (573, 574),
576  (577, 577), (579, 582), (584, 584), (586, 586), (588, 588), (590, 590),
577  (880, 880), (882, 882), (886, 886), (895, 895), (902, 902), (904, 906),
578  (908, 908), (910, 911), (913, 929), (931, 939), (975, 975), (984, 984),
579  (986, 986), (988, 988), (990, 990), (992, 992), (994, 994), (996, 996),
580  (998, 998), (1000, 1000), (1002, 1002), (1004, 1004), (1006, 1006),
581  (1012, 1012), (1015, 1015), (1017, 1018), (1021, 1071), (1120, 1120),
582  (1122, 1122), (1124, 1124), (1126, 1126), (1128, 1128), (1130, 1130),
583  (1132, 1132), (1134, 1134), (1136, 1136), (1138, 1138), (1140, 1140),
584  (1142, 1142), (1144, 1144), (1146, 1146), (1148, 1148), (1150, 1150),
585  (1152, 1152), (1162, 1162), (1164, 1164), (1166, 1166), (1168, 1168),
586  (1170, 1170), (1172, 1172), (1174, 1174), (1176, 1176), (1178, 1178),
587  (1180, 1180), (1182, 1182), (1184, 1184), (1186, 1186), (1188, 1188),
588  (1190, 1190), (1192, 1192), (1194, 1194), (1196, 1196), (1198, 1198),
589  (1200, 1200), (1202, 1202), (1204, 1204), (1206, 1206), (1208, 1208),
590  (1210, 1210), (1212, 1212), (1214, 1214), (1216, 1217), (1219, 1219),
591  (1221, 1221), (1223, 1223), (1225, 1225), (1227, 1227), (1229, 1229),
592  (1232, 1232), (1234, 1234), (1236, 1236), (1238, 1238), (1240, 1240),
593  (1242, 1242), (1244, 1244), (1246, 1246), (1248, 1248), (1250, 1250),
594  (1252, 1252), (1254, 1254), (1256, 1256), (1258, 1258), (1260, 1260),
595  (1262, 1262), (1264, 1264), (1266, 1266), (1268, 1268), (1270, 1270),
596  (1272, 1272), (1274, 1274), (1276, 1276), (1278, 1278), (1280, 1280),
597  (1282, 1282), (1284, 1284), (1286, 1286), (1288, 1288), (1290, 1290),
598  (1292, 1292), (1294, 1294), (1296, 1296), (1298, 1298), (1300, 1300),
599  (1302, 1302), (1304, 1304), (1306, 1306), (1308, 1308), (1310, 1310),
600  (1312, 1312), (1314, 1314), (1316, 1316), (1318, 1318), (1320, 1320),
601  (1322, 1322), (1324, 1324), (1326, 1326), (1329, 1366), (4256, 4293),
602  (4295, 4295), (4301, 4301), (5024, 5109), (7312, 7354), (7357, 7359),
603  (7680, 7680), (7682, 7682), (7684, 7684), (7686, 7686), (7688, 7688),
604  (7690, 7690), (7692, 7692), (7694, 7694), (7696, 7696), (7698, 7698),
605  (7700, 7700), (7702, 7702), (7704, 7704), (7706, 7706), (7708, 7708),
606  (7710, 7710), (7712, 7712), (7714, 7714), (7716, 7716), (7718, 7718),
607  (7720, 7720), (7722, 7722), (7724, 7724), (7726, 7726), (7728, 7728),
608  (7730, 7730), (7732, 7732), (7734, 7734), (7736, 7736), (7738, 7738),
609  (7740, 7740), (7742, 7742), (7744, 7744), (7746, 7746), (7748, 7748),
610  (7750, 7750), (7752, 7752), (7754, 7754), (7756, 7756), (7758, 7758),
611  (7760, 7760), (7762, 7762), (7764, 7764), (7766, 7766), (7768, 7768),
612  (7770, 7770), (7772, 7772), (7774, 7774), (7776, 7776), (7778, 7778),
613  (7780, 7780), (7782, 7782), (7784, 7784), (7786, 7786), (7788, 7788),
614  (7790, 7790), (7792, 7792), (7794, 7794), (7796, 7796), (7798, 7798),
615  (7800, 7800), (7802, 7802), (7804, 7804), (7806, 7806), (7808, 7808),
616  (7810, 7810), (7812, 7812), (7814, 7814), (7816, 7816), (7818, 7818),
617  (7820, 7820), (7822, 7822), (7824, 7824), (7826, 7826), (7828, 7828),
618  (7838, 7838), (7840, 7840), (7842, 7842), (7844, 7844), (7846, 7846),
619  (7848, 7848), (7850, 7850), (7852, 7852), (7854, 7854), (7856, 7856),
620  (7858, 7858), (7860, 7860), (7862, 7862), (7864, 7864), (7866, 7866),
621  (7868, 7868), (7870, 7870), (7872, 7872), (7874, 7874), (7876, 7876),
622  (7878, 7878), (7880, 7880), (7882, 7882), (7884, 7884), (7886, 7886),
623  (7888, 7888), (7890, 7890), (7892, 7892), (7894, 7894), (7896, 7896),
624  (7898, 7898), (7900, 7900), (7902, 7902), (7904, 7904), (7906, 7906),
625  (7908, 7908), (7910, 7910), (7912, 7912), (7914, 7914), (7916, 7916),
626  (7918, 7918), (7920, 7920), (7922, 7922), (7924, 7924), (7926, 7926),
627  (7928, 7928), (7930, 7930), (7932, 7932), (7934, 7934), (7944, 7951),
628  (7960, 7965), (7976, 7983), (7992, 7999), (8008, 8013), (8025, 8025),
629  (8027, 8027), (8029, 8029), (8031, 8031), (8040, 8047), (8072, 8079),
630  (8088, 8095), (8104, 8111), (8120, 8124), (8136, 8140), (8152, 8155),
631  (8168, 8172), (8184, 8188), (8486, 8486), (8490, 8491), (8498, 8498),
632  (8544, 8559), (8579, 8579), (9398, 9423), (11264, 11311), (11360, 11360),
633  (11362, 11364), (11367, 11367), (11369, 11369), (11371, 11371),
634  (11373, 11376), (11378, 11378), (11381, 11381), (11390, 11392),
635  (11394, 11394), (11396, 11396), (11398, 11398), (11400, 11400),
636  (11402, 11402), (11404, 11404), (11406, 11406), (11408, 11408),
637  (11410, 11410), (11412, 11412), (11414, 11414), (11416, 11416),
638  (11418, 11418), (11420, 11420), (11422, 11422), (11424, 11424),
639  (11426, 11426), (11428, 11428), (11430, 11430), (11432, 11432),
640  (11434, 11434), (11436, 11436), (11438, 11438), (11440, 11440),
641  (11442, 11442), (11444, 11444), (11446, 11446), (11448, 11448),
642  (11450, 11450), (11452, 11452), (11454, 11454), (11456, 11456),
643  (11458, 11458), (11460, 11460), (11462, 11462), (11464, 11464),
644  (11466, 11466), (11468, 11468), (11470, 11470), (11472, 11472),
645  (11474, 11474), (11476, 11476), (11478, 11478), (11480, 11480),
646  (11482, 11482), (11484, 11484), (11486, 11486), (11488, 11488),
647  (11490, 11490), (11499, 11499), (11501, 11501), (11506, 11506),
648  (42560, 42560), (42562, 42562), (42564, 42564), (42566, 42566),
649  (42568, 42568), (42570, 42570), (42572, 42572), (42574, 42574),
650  (42576, 42576), (42578, 42578), (42580, 42580), (42582, 42582),
651  (42584, 42584), (42586, 42586), (42588, 42588), (42590, 42590),
652  (42592, 42592), (42594, 42594), (42596, 42596), (42598, 42598),
653  (42600, 42600), (42602, 42602), (42604, 42604), (42624, 42624),
654  (42626, 42626), (42628, 42628), (42630, 42630), (42632, 42632),
655  (42634, 42634), (42636, 42636), (42638, 42638), (42640, 42640),
656  (42642, 42642), (42644, 42644), (42646, 42646), (42648, 42648),
657  (42650, 42650), (42786, 42786), (42788, 42788), (42790, 42790),
658  (42792, 42792), (42794, 42794), (42796, 42796), (42798, 42798),
659  (42802, 42802), (42804, 42804), (42806, 42806), (42808, 42808),
660  (42810, 42810), (42812, 42812), (42814, 42814), (42816, 42816),
661  (42818, 42818), (42820, 42820), (42822, 42822), (42824, 42824),
662  (42826, 42826), (42828, 42828), (42830, 42830), (42832, 42832),
663  (42834, 42834), (42836, 42836), (42838, 42838), (42840, 42840),
664  (42842, 42842), (42844, 42844), (42846, 42846), (42848, 42848),
665  (42850, 42850), (42852, 42852), (42854, 42854), (42856, 42856),
666  (42858, 42858), (42860, 42860), (42862, 42862), (42873, 42873),
667  (42875, 42875), (42877, 42878), (42880, 42880), (42882, 42882),
668  (42884, 42884), (42886, 42886), (42891, 42891), (42893, 42893),
669  (42896, 42896), (42898, 42898), (42902, 42902), (42904, 42904),
670  (42906, 42906), (42908, 42908), (42910, 42910), (42912, 42912),
671  (42914, 42914), (42916, 42916), (42918, 42918), (42920, 42920),
672  (42922, 42926), (42928, 42932), (42934, 42934), (42936, 42936),
673  (42938, 42938), (42940, 42940), (42942, 42942), (42944, 42944),
674  (42946, 42946), (42948, 42951), (42953, 42953), (42960, 42960),
675  (42966, 42966), (42968, 42968), (42997, 42997), (65313, 65338),
676  (66560, 66599), (66736, 66771), (66928, 66938), (66940, 66954),
677  (66956, 66962), (66964, 66965), (68736, 68786), (71840, 71871),
678  (93760, 93791), (125184, 125217),
679];
680
681pub const CHANGES_WHEN_TITLECASED: &'static [(u32, u32)] = &[
682  (97, 122), (181, 181), (223, 246), (248, 255), (257, 257), (259, 259),
683  (261, 261), (263, 263), (265, 265), (267, 267), (269, 269), (271, 271),
684  (273, 273), (275, 275), (277, 277), (279, 279), (281, 281), (283, 283),
685  (285, 285), (287, 287), (289, 289), (291, 291), (293, 293), (295, 295),
686  (297, 297), (299, 299), (301, 301), (303, 303), (305, 305), (307, 307),
687  (309, 309), (311, 311), (314, 314), (316, 316), (318, 318), (320, 320),
688  (322, 322), (324, 324), (326, 326), (328, 329), (331, 331), (333, 333),
689  (335, 335), (337, 337), (339, 339), (341, 341), (343, 343), (345, 345),
690  (347, 347), (349, 349), (351, 351), (353, 353), (355, 355), (357, 357),
691  (359, 359), (361, 361), (363, 363), (365, 365), (367, 367), (369, 369),
692  (371, 371), (373, 373), (375, 375), (378, 378), (380, 380), (382, 384),
693  (387, 387), (389, 389), (392, 392), (396, 396), (402, 402), (405, 405),
694  (409, 410), (414, 414), (417, 417), (419, 419), (421, 421), (424, 424),
695  (429, 429), (432, 432), (436, 436), (438, 438), (441, 441), (445, 445),
696  (447, 447), (452, 452), (454, 455), (457, 458), (460, 460), (462, 462),
697  (464, 464), (466, 466), (468, 468), (470, 470), (472, 472), (474, 474),
698  (476, 477), (479, 479), (481, 481), (483, 483), (485, 485), (487, 487),
699  (489, 489), (491, 491), (493, 493), (495, 497), (499, 499), (501, 501),
700  (505, 505), (507, 507), (509, 509), (511, 511), (513, 513), (515, 515),
701  (517, 517), (519, 519), (521, 521), (523, 523), (525, 525), (527, 527),
702  (529, 529), (531, 531), (533, 533), (535, 535), (537, 537), (539, 539),
703  (541, 541), (543, 543), (547, 547), (549, 549), (551, 551), (553, 553),
704  (555, 555), (557, 557), (559, 559), (561, 561), (563, 563), (572, 572),
705  (575, 576), (578, 578), (583, 583), (585, 585), (587, 587), (589, 589),
706  (591, 596), (598, 599), (601, 601), (603, 604), (608, 609), (611, 611),
707  (613, 614), (616, 620), (623, 623), (625, 626), (629, 629), (637, 637),
708  (640, 640), (642, 643), (647, 652), (658, 658), (669, 670), (837, 837),
709  (881, 881), (883, 883), (887, 887), (891, 893), (912, 912), (940, 974),
710  (976, 977), (981, 983), (985, 985), (987, 987), (989, 989), (991, 991),
711  (993, 993), (995, 995), (997, 997), (999, 999), (1001, 1001), (1003, 1003),
712  (1005, 1005), (1007, 1011), (1013, 1013), (1016, 1016), (1019, 1019),
713  (1072, 1119), (1121, 1121), (1123, 1123), (1125, 1125), (1127, 1127),
714  (1129, 1129), (1131, 1131), (1133, 1133), (1135, 1135), (1137, 1137),
715  (1139, 1139), (1141, 1141), (1143, 1143), (1145, 1145), (1147, 1147),
716  (1149, 1149), (1151, 1151), (1153, 1153), (1163, 1163), (1165, 1165),
717  (1167, 1167), (1169, 1169), (1171, 1171), (1173, 1173), (1175, 1175),
718  (1177, 1177), (1179, 1179), (1181, 1181), (1183, 1183), (1185, 1185),
719  (1187, 1187), (1189, 1189), (1191, 1191), (1193, 1193), (1195, 1195),
720  (1197, 1197), (1199, 1199), (1201, 1201), (1203, 1203), (1205, 1205),
721  (1207, 1207), (1209, 1209), (1211, 1211), (1213, 1213), (1215, 1215),
722  (1218, 1218), (1220, 1220), (1222, 1222), (1224, 1224), (1226, 1226),
723  (1228, 1228), (1230, 1231), (1233, 1233), (1235, 1235), (1237, 1237),
724  (1239, 1239), (1241, 1241), (1243, 1243), (1245, 1245), (1247, 1247),
725  (1249, 1249), (1251, 1251), (1253, 1253), (1255, 1255), (1257, 1257),
726  (1259, 1259), (1261, 1261), (1263, 1263), (1265, 1265), (1267, 1267),
727  (1269, 1269), (1271, 1271), (1273, 1273), (1275, 1275), (1277, 1277),
728  (1279, 1279), (1281, 1281), (1283, 1283), (1285, 1285), (1287, 1287),
729  (1289, 1289), (1291, 1291), (1293, 1293), (1295, 1295), (1297, 1297),
730  (1299, 1299), (1301, 1301), (1303, 1303), (1305, 1305), (1307, 1307),
731  (1309, 1309), (1311, 1311), (1313, 1313), (1315, 1315), (1317, 1317),
732  (1319, 1319), (1321, 1321), (1323, 1323), (1325, 1325), (1327, 1327),
733  (1377, 1415), (5112, 5117), (7296, 7304), (7545, 7545), (7549, 7549),
734  (7566, 7566), (7681, 7681), (7683, 7683), (7685, 7685), (7687, 7687),
735  (7689, 7689), (7691, 7691), (7693, 7693), (7695, 7695), (7697, 7697),
736  (7699, 7699), (7701, 7701), (7703, 7703), (7705, 7705), (7707, 7707),
737  (7709, 7709), (7711, 7711), (7713, 7713), (7715, 7715), (7717, 7717),
738  (7719, 7719), (7721, 7721), (7723, 7723), (7725, 7725), (7727, 7727),
739  (7729, 7729), (7731, 7731), (7733, 7733), (7735, 7735), (7737, 7737),
740  (7739, 7739), (7741, 7741), (7743, 7743), (7745, 7745), (7747, 7747),
741  (7749, 7749), (7751, 7751), (7753, 7753), (7755, 7755), (7757, 7757),
742  (7759, 7759), (7761, 7761), (7763, 7763), (7765, 7765), (7767, 7767),
743  (7769, 7769), (7771, 7771), (7773, 7773), (7775, 7775), (7777, 7777),
744  (7779, 7779), (7781, 7781), (7783, 7783), (7785, 7785), (7787, 7787),
745  (7789, 7789), (7791, 7791), (7793, 7793), (7795, 7795), (7797, 7797),
746  (7799, 7799), (7801, 7801), (7803, 7803), (7805, 7805), (7807, 7807),
747  (7809, 7809), (7811, 7811), (7813, 7813), (7815, 7815), (7817, 7817),
748  (7819, 7819), (7821, 7821), (7823, 7823), (7825, 7825), (7827, 7827),
749  (7829, 7835), (7841, 7841), (7843, 7843), (7845, 7845), (7847, 7847),
750  (7849, 7849), (7851, 7851), (7853, 7853), (7855, 7855), (7857, 7857),
751  (7859, 7859), (7861, 7861), (7863, 7863), (7865, 7865), (7867, 7867),
752  (7869, 7869), (7871, 7871), (7873, 7873), (7875, 7875), (7877, 7877),
753  (7879, 7879), (7881, 7881), (7883, 7883), (7885, 7885), (7887, 7887),
754  (7889, 7889), (7891, 7891), (7893, 7893), (7895, 7895), (7897, 7897),
755  (7899, 7899), (7901, 7901), (7903, 7903), (7905, 7905), (7907, 7907),
756  (7909, 7909), (7911, 7911), (7913, 7913), (7915, 7915), (7917, 7917),
757  (7919, 7919), (7921, 7921), (7923, 7923), (7925, 7925), (7927, 7927),
758  (7929, 7929), (7931, 7931), (7933, 7933), (7935, 7943), (7952, 7957),
759  (7968, 7975), (7984, 7991), (8000, 8005), (8016, 8023), (8032, 8039),
760  (8048, 8061), (8064, 8071), (8080, 8087), (8096, 8103), (8112, 8116),
761  (8118, 8119), (8126, 8126), (8130, 8132), (8134, 8135), (8144, 8147),
762  (8150, 8151), (8160, 8167), (8178, 8180), (8182, 8183), (8526, 8526),
763  (8560, 8575), (8580, 8580), (9424, 9449), (11312, 11359), (11361, 11361),
764  (11365, 11366), (11368, 11368), (11370, 11370), (11372, 11372),
765  (11379, 11379), (11382, 11382), (11393, 11393), (11395, 11395),
766  (11397, 11397), (11399, 11399), (11401, 11401), (11403, 11403),
767  (11405, 11405), (11407, 11407), (11409, 11409), (11411, 11411),
768  (11413, 11413), (11415, 11415), (11417, 11417), (11419, 11419),
769  (11421, 11421), (11423, 11423), (11425, 11425), (11427, 11427),
770  (11429, 11429), (11431, 11431), (11433, 11433), (11435, 11435),
771  (11437, 11437), (11439, 11439), (11441, 11441), (11443, 11443),
772  (11445, 11445), (11447, 11447), (11449, 11449), (11451, 11451),
773  (11453, 11453), (11455, 11455), (11457, 11457), (11459, 11459),
774  (11461, 11461), (11463, 11463), (11465, 11465), (11467, 11467),
775  (11469, 11469), (11471, 11471), (11473, 11473), (11475, 11475),
776  (11477, 11477), (11479, 11479), (11481, 11481), (11483, 11483),
777  (11485, 11485), (11487, 11487), (11489, 11489), (11491, 11491),
778  (11500, 11500), (11502, 11502), (11507, 11507), (11520, 11557),
779  (11559, 11559), (11565, 11565), (42561, 42561), (42563, 42563),
780  (42565, 42565), (42567, 42567), (42569, 42569), (42571, 42571),
781  (42573, 42573), (42575, 42575), (42577, 42577), (42579, 42579),
782  (42581, 42581), (42583, 42583), (42585, 42585), (42587, 42587),
783  (42589, 42589), (42591, 42591), (42593, 42593), (42595, 42595),
784  (42597, 42597), (42599, 42599), (42601, 42601), (42603, 42603),
785  (42605, 42605), (42625, 42625), (42627, 42627), (42629, 42629),
786  (42631, 42631), (42633, 42633), (42635, 42635), (42637, 42637),
787  (42639, 42639), (42641, 42641), (42643, 42643), (42645, 42645),
788  (42647, 42647), (42649, 42649), (42651, 42651), (42787, 42787),
789  (42789, 42789), (42791, 42791), (42793, 42793), (42795, 42795),
790  (42797, 42797), (42799, 42799), (42803, 42803), (42805, 42805),
791  (42807, 42807), (42809, 42809), (42811, 42811), (42813, 42813),
792  (42815, 42815), (42817, 42817), (42819, 42819), (42821, 42821),
793  (42823, 42823), (42825, 42825), (42827, 42827), (42829, 42829),
794  (42831, 42831), (42833, 42833), (42835, 42835), (42837, 42837),
795  (42839, 42839), (42841, 42841), (42843, 42843), (42845, 42845),
796  (42847, 42847), (42849, 42849), (42851, 42851), (42853, 42853),
797  (42855, 42855), (42857, 42857), (42859, 42859), (42861, 42861),
798  (42863, 42863), (42874, 42874), (42876, 42876), (42879, 42879),
799  (42881, 42881), (42883, 42883), (42885, 42885), (42887, 42887),
800  (42892, 42892), (42897, 42897), (42899, 42900), (42903, 42903),
801  (42905, 42905), (42907, 42907), (42909, 42909), (42911, 42911),
802  (42913, 42913), (42915, 42915), (42917, 42917), (42919, 42919),
803  (42921, 42921), (42933, 42933), (42935, 42935), (42937, 42937),
804  (42939, 42939), (42941, 42941), (42943, 42943), (42945, 42945),
805  (42947, 42947), (42952, 42952), (42954, 42954), (42961, 42961),
806  (42967, 42967), (42969, 42969), (42998, 42998), (43859, 43859),
807  (43888, 43967), (64256, 64262), (64275, 64279), (65345, 65370),
808  (66600, 66639), (66776, 66811), (66967, 66977), (66979, 66993),
809  (66995, 67001), (67003, 67004), (68800, 68850), (71872, 71903),
810  (93792, 93823), (125218, 125251),
811];
812
813pub const CHANGES_WHEN_UPPERCASED: &'static [(u32, u32)] = &[
814  (97, 122), (181, 181), (223, 246), (248, 255), (257, 257), (259, 259),
815  (261, 261), (263, 263), (265, 265), (267, 267), (269, 269), (271, 271),
816  (273, 273), (275, 275), (277, 277), (279, 279), (281, 281), (283, 283),
817  (285, 285), (287, 287), (289, 289), (291, 291), (293, 293), (295, 295),
818  (297, 297), (299, 299), (301, 301), (303, 303), (305, 305), (307, 307),
819  (309, 309), (311, 311), (314, 314), (316, 316), (318, 318), (320, 320),
820  (322, 322), (324, 324), (326, 326), (328, 329), (331, 331), (333, 333),
821  (335, 335), (337, 337), (339, 339), (341, 341), (343, 343), (345, 345),
822  (347, 347), (349, 349), (351, 351), (353, 353), (355, 355), (357, 357),
823  (359, 359), (361, 361), (363, 363), (365, 365), (367, 367), (369, 369),
824  (371, 371), (373, 373), (375, 375), (378, 378), (380, 380), (382, 384),
825  (387, 387), (389, 389), (392, 392), (396, 396), (402, 402), (405, 405),
826  (409, 410), (414, 414), (417, 417), (419, 419), (421, 421), (424, 424),
827  (429, 429), (432, 432), (436, 436), (438, 438), (441, 441), (445, 445),
828  (447, 447), (453, 454), (456, 457), (459, 460), (462, 462), (464, 464),
829  (466, 466), (468, 468), (470, 470), (472, 472), (474, 474), (476, 477),
830  (479, 479), (481, 481), (483, 483), (485, 485), (487, 487), (489, 489),
831  (491, 491), (493, 493), (495, 496), (498, 499), (501, 501), (505, 505),
832  (507, 507), (509, 509), (511, 511), (513, 513), (515, 515), (517, 517),
833  (519, 519), (521, 521), (523, 523), (525, 525), (527, 527), (529, 529),
834  (531, 531), (533, 533), (535, 535), (537, 537), (539, 539), (541, 541),
835  (543, 543), (547, 547), (549, 549), (551, 551), (553, 553), (555, 555),
836  (557, 557), (559, 559), (561, 561), (563, 563), (572, 572), (575, 576),
837  (578, 578), (583, 583), (585, 585), (587, 587), (589, 589), (591, 596),
838  (598, 599), (601, 601), (603, 604), (608, 609), (611, 611), (613, 614),
839  (616, 620), (623, 623), (625, 626), (629, 629), (637, 637), (640, 640),
840  (642, 643), (647, 652), (658, 658), (669, 670), (837, 837), (881, 881),
841  (883, 883), (887, 887), (891, 893), (912, 912), (940, 974), (976, 977),
842  (981, 983), (985, 985), (987, 987), (989, 989), (991, 991), (993, 993),
843  (995, 995), (997, 997), (999, 999), (1001, 1001), (1003, 1003),
844  (1005, 1005), (1007, 1011), (1013, 1013), (1016, 1016), (1019, 1019),
845  (1072, 1119), (1121, 1121), (1123, 1123), (1125, 1125), (1127, 1127),
846  (1129, 1129), (1131, 1131), (1133, 1133), (1135, 1135), (1137, 1137),
847  (1139, 1139), (1141, 1141), (1143, 1143), (1145, 1145), (1147, 1147),
848  (1149, 1149), (1151, 1151), (1153, 1153), (1163, 1163), (1165, 1165),
849  (1167, 1167), (1169, 1169), (1171, 1171), (1173, 1173), (1175, 1175),
850  (1177, 1177), (1179, 1179), (1181, 1181), (1183, 1183), (1185, 1185),
851  (1187, 1187), (1189, 1189), (1191, 1191), (1193, 1193), (1195, 1195),
852  (1197, 1197), (1199, 1199), (1201, 1201), (1203, 1203), (1205, 1205),
853  (1207, 1207), (1209, 1209), (1211, 1211), (1213, 1213), (1215, 1215),
854  (1218, 1218), (1220, 1220), (1222, 1222), (1224, 1224), (1226, 1226),
855  (1228, 1228), (1230, 1231), (1233, 1233), (1235, 1235), (1237, 1237),
856  (1239, 1239), (1241, 1241), (1243, 1243), (1245, 1245), (1247, 1247),
857  (1249, 1249), (1251, 1251), (1253, 1253), (1255, 1255), (1257, 1257),
858  (1259, 1259), (1261, 1261), (1263, 1263), (1265, 1265), (1267, 1267),
859  (1269, 1269), (1271, 1271), (1273, 1273), (1275, 1275), (1277, 1277),
860  (1279, 1279), (1281, 1281), (1283, 1283), (1285, 1285), (1287, 1287),
861  (1289, 1289), (1291, 1291), (1293, 1293), (1295, 1295), (1297, 1297),
862  (1299, 1299), (1301, 1301), (1303, 1303), (1305, 1305), (1307, 1307),
863  (1309, 1309), (1311, 1311), (1313, 1313), (1315, 1315), (1317, 1317),
864  (1319, 1319), (1321, 1321), (1323, 1323), (1325, 1325), (1327, 1327),
865  (1377, 1415), (4304, 4346), (4349, 4351), (5112, 5117), (7296, 7304),
866  (7545, 7545), (7549, 7549), (7566, 7566), (7681, 7681), (7683, 7683),
867  (7685, 7685), (7687, 7687), (7689, 7689), (7691, 7691), (7693, 7693),
868  (7695, 7695), (7697, 7697), (7699, 7699), (7701, 7701), (7703, 7703),
869  (7705, 7705), (7707, 7707), (7709, 7709), (7711, 7711), (7713, 7713),
870  (7715, 7715), (7717, 7717), (7719, 7719), (7721, 7721), (7723, 7723),
871  (7725, 7725), (7727, 7727), (7729, 7729), (7731, 7731), (7733, 7733),
872  (7735, 7735), (7737, 7737), (7739, 7739), (7741, 7741), (7743, 7743),
873  (7745, 7745), (7747, 7747), (7749, 7749), (7751, 7751), (7753, 7753),
874  (7755, 7755), (7757, 7757), (7759, 7759), (7761, 7761), (7763, 7763),
875  (7765, 7765), (7767, 7767), (7769, 7769), (7771, 7771), (7773, 7773),
876  (7775, 7775), (7777, 7777), (7779, 7779), (7781, 7781), (7783, 7783),
877  (7785, 7785), (7787, 7787), (7789, 7789), (7791, 7791), (7793, 7793),
878  (7795, 7795), (7797, 7797), (7799, 7799), (7801, 7801), (7803, 7803),
879  (7805, 7805), (7807, 7807), (7809, 7809), (7811, 7811), (7813, 7813),
880  (7815, 7815), (7817, 7817), (7819, 7819), (7821, 7821), (7823, 7823),
881  (7825, 7825), (7827, 7827), (7829, 7835), (7841, 7841), (7843, 7843),
882  (7845, 7845), (7847, 7847), (7849, 7849), (7851, 7851), (7853, 7853),
883  (7855, 7855), (7857, 7857), (7859, 7859), (7861, 7861), (7863, 7863),
884  (7865, 7865), (7867, 7867), (7869, 7869), (7871, 7871), (7873, 7873),
885  (7875, 7875), (7877, 7877), (7879, 7879), (7881, 7881), (7883, 7883),
886  (7885, 7885), (7887, 7887), (7889, 7889), (7891, 7891), (7893, 7893),
887  (7895, 7895), (7897, 7897), (7899, 7899), (7901, 7901), (7903, 7903),
888  (7905, 7905), (7907, 7907), (7909, 7909), (7911, 7911), (7913, 7913),
889  (7915, 7915), (7917, 7917), (7919, 7919), (7921, 7921), (7923, 7923),
890  (7925, 7925), (7927, 7927), (7929, 7929), (7931, 7931), (7933, 7933),
891  (7935, 7943), (7952, 7957), (7968, 7975), (7984, 7991), (8000, 8005),
892  (8016, 8023), (8032, 8039), (8048, 8061), (8064, 8116), (8118, 8119),
893  (8124, 8124), (8126, 8126), (8130, 8132), (8134, 8135), (8140, 8140),
894  (8144, 8147), (8150, 8151), (8160, 8167), (8178, 8180), (8182, 8183),
895  (8188, 8188), (8526, 8526), (8560, 8575), (8580, 8580), (9424, 9449),
896  (11312, 11359), (11361, 11361), (11365, 11366), (11368, 11368),
897  (11370, 11370), (11372, 11372), (11379, 11379), (11382, 11382),
898  (11393, 11393), (11395, 11395), (11397, 11397), (11399, 11399),
899  (11401, 11401), (11403, 11403), (11405, 11405), (11407, 11407),
900  (11409, 11409), (11411, 11411), (11413, 11413), (11415, 11415),
901  (11417, 11417), (11419, 11419), (11421, 11421), (11423, 11423),
902  (11425, 11425), (11427, 11427), (11429, 11429), (11431, 11431),
903  (11433, 11433), (11435, 11435), (11437, 11437), (11439, 11439),
904  (11441, 11441), (11443, 11443), (11445, 11445), (11447, 11447),
905  (11449, 11449), (11451, 11451), (11453, 11453), (11455, 11455),
906  (11457, 11457), (11459, 11459), (11461, 11461), (11463, 11463),
907  (11465, 11465), (11467, 11467), (11469, 11469), (11471, 11471),
908  (11473, 11473), (11475, 11475), (11477, 11477), (11479, 11479),
909  (11481, 11481), (11483, 11483), (11485, 11485), (11487, 11487),
910  (11489, 11489), (11491, 11491), (11500, 11500), (11502, 11502),
911  (11507, 11507), (11520, 11557), (11559, 11559), (11565, 11565),
912  (42561, 42561), (42563, 42563), (42565, 42565), (42567, 42567),
913  (42569, 42569), (42571, 42571), (42573, 42573), (42575, 42575),
914  (42577, 42577), (42579, 42579), (42581, 42581), (42583, 42583),
915  (42585, 42585), (42587, 42587), (42589, 42589), (42591, 42591),
916  (42593, 42593), (42595, 42595), (42597, 42597), (42599, 42599),
917  (42601, 42601), (42603, 42603), (42605, 42605), (42625, 42625),
918  (42627, 42627), (42629, 42629), (42631, 42631), (42633, 42633),
919  (42635, 42635), (42637, 42637), (42639, 42639), (42641, 42641),
920  (42643, 42643), (42645, 42645), (42647, 42647), (42649, 42649),
921  (42651, 42651), (42787, 42787), (42789, 42789), (42791, 42791),
922  (42793, 42793), (42795, 42795), (42797, 42797), (42799, 42799),
923  (42803, 42803), (42805, 42805), (42807, 42807), (42809, 42809),
924  (42811, 42811), (42813, 42813), (42815, 42815), (42817, 42817),
925  (42819, 42819), (42821, 42821), (42823, 42823), (42825, 42825),
926  (42827, 42827), (42829, 42829), (42831, 42831), (42833, 42833),
927  (42835, 42835), (42837, 42837), (42839, 42839), (42841, 42841),
928  (42843, 42843), (42845, 42845), (42847, 42847), (42849, 42849),
929  (42851, 42851), (42853, 42853), (42855, 42855), (42857, 42857),
930  (42859, 42859), (42861, 42861), (42863, 42863), (42874, 42874),
931  (42876, 42876), (42879, 42879), (42881, 42881), (42883, 42883),
932  (42885, 42885), (42887, 42887), (42892, 42892), (42897, 42897),
933  (42899, 42900), (42903, 42903), (42905, 42905), (42907, 42907),
934  (42909, 42909), (42911, 42911), (42913, 42913), (42915, 42915),
935  (42917, 42917), (42919, 42919), (42921, 42921), (42933, 42933),
936  (42935, 42935), (42937, 42937), (42939, 42939), (42941, 42941),
937  (42943, 42943), (42945, 42945), (42947, 42947), (42952, 42952),
938  (42954, 42954), (42961, 42961), (42967, 42967), (42969, 42969),
939  (42998, 42998), (43859, 43859), (43888, 43967), (64256, 64262),
940  (64275, 64279), (65345, 65370), (66600, 66639), (66776, 66811),
941  (66967, 66977), (66979, 66993), (66995, 67001), (67003, 67004),
942  (68800, 68850), (71872, 71903), (93792, 93823), (125218, 125251),
943];
944
945pub const DASH: &'static [(u32, u32)] = &[
946  (45, 45), (1418, 1418), (1470, 1470), (5120, 5120), (6150, 6150),
947  (8208, 8213), (8275, 8275), (8315, 8315), (8331, 8331), (8722, 8722),
948  (11799, 11799), (11802, 11802), (11834, 11835), (11840, 11840),
949  (11869, 11869), (12316, 12316), (12336, 12336), (12448, 12448),
950  (65073, 65074), (65112, 65112), (65123, 65123), (65293, 65293),
951  (69293, 69293),
952];
953
954pub const DEFAULT_IGNORABLE_CODE_POINT: &'static [(u32, u32)] = &[
955  (173, 173), (847, 847), (1564, 1564), (4447, 4448), (6068, 6069),
956  (6155, 6159), (8203, 8207), (8234, 8238), (8288, 8303), (12644, 12644),
957  (65024, 65039), (65279, 65279), (65440, 65440), (65520, 65528),
958  (113824, 113827), (119155, 119162), (917504, 921599),
959];
960
961pub const DEPRECATED: &'static [(u32, u32)] = &[
962  (329, 329), (1651, 1651), (3959, 3959), (3961, 3961), (6051, 6052),
963  (8298, 8303), (9001, 9002), (917505, 917505),
964];
965
966pub const DIACRITIC: &'static [(u32, u32)] = &[
967  (94, 94), (96, 96), (168, 168), (175, 175), (180, 180), (183, 184),
968  (688, 846), (848, 855), (861, 866), (884, 885), (890, 890), (900, 901),
969  (1155, 1159), (1369, 1369), (1425, 1441), (1443, 1469), (1471, 1471),
970  (1473, 1474), (1476, 1476), (1611, 1618), (1623, 1624), (1759, 1760),
971  (1765, 1766), (1770, 1772), (1840, 1866), (1958, 1968), (2027, 2037),
972  (2072, 2073), (2200, 2207), (2249, 2258), (2275, 2302), (2364, 2364),
973  (2381, 2381), (2385, 2388), (2417, 2417), (2492, 2492), (2509, 2509),
974  (2620, 2620), (2637, 2637), (2748, 2748), (2765, 2765), (2813, 2815),
975  (2876, 2876), (2893, 2893), (2901, 2901), (3021, 3021), (3132, 3132),
976  (3149, 3149), (3260, 3260), (3277, 3277), (3387, 3388), (3405, 3405),
977  (3530, 3530), (3655, 3660), (3662, 3662), (3770, 3770), (3784, 3788),
978  (3864, 3865), (3893, 3893), (3895, 3895), (3897, 3897), (3902, 3903),
979  (3970, 3972), (3974, 3975), (4038, 4038), (4151, 4151), (4153, 4154),
980  (4195, 4196), (4201, 4205), (4231, 4237), (4239, 4239), (4250, 4251),
981  (4957, 4959), (5908, 5909), (6089, 6099), (6109, 6109), (6457, 6459),
982  (6773, 6780), (6783, 6783), (6832, 6846), (6849, 6859), (6964, 6964),
983  (6980, 6980), (7019, 7027), (7082, 7083), (7222, 7223), (7288, 7293),
984  (7376, 7400), (7405, 7405), (7412, 7412), (7415, 7417), (7468, 7530),
985  (7620, 7631), (7669, 7679), (8125, 8125), (8127, 8129), (8141, 8143),
986  (8157, 8159), (8173, 8175), (8189, 8190), (11503, 11505), (11823, 11823),
987  (12330, 12335), (12441, 12444), (12540, 12540), (42607, 42607),
988  (42620, 42621), (42623, 42623), (42652, 42653), (42736, 42737),
989  (42752, 42785), (42888, 42890), (43000, 43001), (43204, 43204),
990  (43232, 43249), (43307, 43310), (43347, 43347), (43443, 43443),
991  (43456, 43456), (43493, 43493), (43643, 43645), (43711, 43714),
992  (43766, 43766), (43867, 43871), (43881, 43883), (44012, 44013),
993  (64286, 64286), (65056, 65071), (65342, 65342), (65344, 65344),
994  (65392, 65392), (65438, 65439), (65507, 65507), (66272, 66272),
995  (67456, 67461), (67463, 67504), (67506, 67514), (68325, 68326),
996  (68898, 68903), (69446, 69456), (69506, 69509), (69702, 69702),
997  (69744, 69744), (69817, 69818), (69939, 69940), (70003, 70003),
998  (70080, 70080), (70090, 70092), (70197, 70198), (70377, 70378),
999  (70460, 70460), (70477, 70477), (70502, 70508), (70512, 70516),
1000  (70722, 70722), (70726, 70726), (70850, 70851), (71103, 71104),
1001  (71231, 71231), (71350, 71351), (71467, 71467), (71737, 71738),
1002  (71997, 71998), (72003, 72003), (72160, 72160), (72244, 72244),
1003  (72263, 72263), (72345, 72345), (72767, 72767), (73026, 73026),
1004  (73028, 73029), (73111, 73111), (92912, 92916), (92976, 92982),
1005  (94095, 94111), (94192, 94193), (110576, 110579), (110581, 110587),
1006  (110589, 110590), (118528, 118573), (118576, 118598), (119143, 119145),
1007  (119149, 119154), (119163, 119170), (119173, 119179), (119210, 119213),
1008  (123184, 123190), (123566, 123566), (123628, 123631), (125136, 125142),
1009  (125252, 125254), (125256, 125258),
1010];
1011
1012pub const EMOJI: &'static [(u32, u32)] = &[
1013  (35, 35), (42, 42), (48, 57), (169, 169), (174, 174), (8252, 8252),
1014  (8265, 8265), (8482, 8482), (8505, 8505), (8596, 8601), (8617, 8618),
1015  (8986, 8987), (9000, 9000), (9167, 9167), (9193, 9203), (9208, 9210),
1016  (9410, 9410), (9642, 9643), (9654, 9654), (9664, 9664), (9723, 9726),
1017  (9728, 9732), (9742, 9742), (9745, 9745), (9748, 9749), (9752, 9752),
1018  (9757, 9757), (9760, 9760), (9762, 9763), (9766, 9766), (9770, 9770),
1019  (9774, 9775), (9784, 9786), (9792, 9792), (9794, 9794), (9800, 9811),
1020  (9823, 9824), (9827, 9827), (9829, 9830), (9832, 9832), (9851, 9851),
1021  (9854, 9855), (9874, 9879), (9881, 9881), (9883, 9884), (9888, 9889),
1022  (9895, 9895), (9898, 9899), (9904, 9905), (9917, 9918), (9924, 9925),
1023  (9928, 9928), (9934, 9935), (9937, 9937), (9939, 9940), (9961, 9962),
1024  (9968, 9973), (9975, 9978), (9981, 9981), (9986, 9986), (9989, 9989),
1025  (9992, 9997), (9999, 9999), (10002, 10002), (10004, 10004), (10006, 10006),
1026  (10013, 10013), (10017, 10017), (10024, 10024), (10035, 10036),
1027  (10052, 10052), (10055, 10055), (10060, 10060), (10062, 10062),
1028  (10067, 10069), (10071, 10071), (10083, 10084), (10133, 10135),
1029  (10145, 10145), (10160, 10160), (10175, 10175), (10548, 10549),
1030  (11013, 11015), (11035, 11036), (11088, 11088), (11093, 11093),
1031  (12336, 12336), (12349, 12349), (12951, 12951), (12953, 12953),
1032  (126980, 126980), (127183, 127183), (127344, 127345), (127358, 127359),
1033  (127374, 127374), (127377, 127386), (127462, 127487), (127489, 127490),
1034  (127514, 127514), (127535, 127535), (127538, 127546), (127568, 127569),
1035  (127744, 127777), (127780, 127891), (127894, 127895), (127897, 127899),
1036  (127902, 127984), (127987, 127989), (127991, 128253), (128255, 128317),
1037  (128329, 128334), (128336, 128359), (128367, 128368), (128371, 128378),
1038  (128391, 128391), (128394, 128397), (128400, 128400), (128405, 128406),
1039  (128420, 128421), (128424, 128424), (128433, 128434), (128444, 128444),
1040  (128450, 128452), (128465, 128467), (128476, 128478), (128481, 128481),
1041  (128483, 128483), (128488, 128488), (128495, 128495), (128499, 128499),
1042  (128506, 128591), (128640, 128709), (128715, 128722), (128725, 128727),
1043  (128733, 128741), (128745, 128745), (128747, 128748), (128752, 128752),
1044  (128755, 128764), (128992, 129003), (129008, 129008), (129292, 129338),
1045  (129340, 129349), (129351, 129535), (129648, 129652), (129656, 129660),
1046  (129664, 129670), (129680, 129708), (129712, 129722), (129728, 129733),
1047  (129744, 129753), (129760, 129767), (129776, 129782),
1048];
1049
1050pub const EMOJI_COMPONENT: &'static [(u32, u32)] = &[
1051  (35, 35), (42, 42), (48, 57), (8205, 8205), (8419, 8419), (65039, 65039),
1052  (127462, 127487), (127995, 127999), (129456, 129459), (917536, 917631),
1053];
1054
1055pub const EMOJI_MODIFIER: &'static [(u32, u32)] = &[
1056  (127995, 127999),
1057];
1058
1059pub const EMOJI_MODIFIER_BASE: &'static [(u32, u32)] = &[
1060  (9757, 9757), (9977, 9977), (9994, 9997), (127877, 127877),
1061  (127938, 127940), (127943, 127943), (127946, 127948), (128066, 128067),
1062  (128070, 128080), (128102, 128120), (128124, 128124), (128129, 128131),
1063  (128133, 128135), (128143, 128143), (128145, 128145), (128170, 128170),
1064  (128372, 128373), (128378, 128378), (128400, 128400), (128405, 128406),
1065  (128581, 128583), (128587, 128591), (128675, 128675), (128692, 128694),
1066  (128704, 128704), (128716, 128716), (129292, 129292), (129295, 129295),
1067  (129304, 129311), (129318, 129318), (129328, 129337), (129340, 129342),
1068  (129399, 129399), (129461, 129462), (129464, 129465), (129467, 129467),
1069  (129485, 129487), (129489, 129501), (129731, 129733), (129776, 129782),
1070];
1071
1072pub const EMOJI_PRESENTATION: &'static [(u32, u32)] = &[
1073  (8986, 8987), (9193, 9196), (9200, 9200), (9203, 9203), (9725, 9726),
1074  (9748, 9749), (9800, 9811), (9855, 9855), (9875, 9875), (9889, 9889),
1075  (9898, 9899), (9917, 9918), (9924, 9925), (9934, 9934), (9940, 9940),
1076  (9962, 9962), (9970, 9971), (9973, 9973), (9978, 9978), (9981, 9981),
1077  (9989, 9989), (9994, 9995), (10024, 10024), (10060, 10060), (10062, 10062),
1078  (10067, 10069), (10071, 10071), (10133, 10135), (10160, 10160),
1079  (10175, 10175), (11035, 11036), (11088, 11088), (11093, 11093),
1080  (126980, 126980), (127183, 127183), (127374, 127374), (127377, 127386),
1081  (127462, 127487), (127489, 127489), (127514, 127514), (127535, 127535),
1082  (127538, 127542), (127544, 127546), (127568, 127569), (127744, 127776),
1083  (127789, 127797), (127799, 127868), (127870, 127891), (127904, 127946),
1084  (127951, 127955), (127968, 127984), (127988, 127988), (127992, 128062),
1085  (128064, 128064), (128066, 128252), (128255, 128317), (128331, 128334),
1086  (128336, 128359), (128378, 128378), (128405, 128406), (128420, 128420),
1087  (128507, 128591), (128640, 128709), (128716, 128716), (128720, 128722),
1088  (128725, 128727), (128733, 128735), (128747, 128748), (128756, 128764),
1089  (128992, 129003), (129008, 129008), (129292, 129338), (129340, 129349),
1090  (129351, 129535), (129648, 129652), (129656, 129660), (129664, 129670),
1091  (129680, 129708), (129712, 129722), (129728, 129733), (129744, 129753),
1092  (129760, 129767), (129776, 129782),
1093];
1094
1095pub const EXTENDED_PICTOGRAPHIC: &'static [(u32, u32)] = &[
1096  (169, 169), (174, 174), (8252, 8252), (8265, 8265), (8482, 8482),
1097  (8505, 8505), (8596, 8601), (8617, 8618), (8986, 8987), (9000, 9000),
1098  (9096, 9096), (9167, 9167), (9193, 9203), (9208, 9210), (9410, 9410),
1099  (9642, 9643), (9654, 9654), (9664, 9664), (9723, 9726), (9728, 9733),
1100  (9735, 9746), (9748, 9861), (9872, 9989), (9992, 10002), (10004, 10004),
1101  (10006, 10006), (10013, 10013), (10017, 10017), (10024, 10024),
1102  (10035, 10036), (10052, 10052), (10055, 10055), (10060, 10060),
1103  (10062, 10062), (10067, 10069), (10071, 10071), (10083, 10087),
1104  (10133, 10135), (10145, 10145), (10160, 10160), (10175, 10175),
1105  (10548, 10549), (11013, 11015), (11035, 11036), (11088, 11088),
1106  (11093, 11093), (12336, 12336), (12349, 12349), (12951, 12951),
1107  (12953, 12953), (126976, 127231), (127245, 127247), (127279, 127279),
1108  (127340, 127345), (127358, 127359), (127374, 127374), (127377, 127386),
1109  (127405, 127461), (127489, 127503), (127514, 127514), (127535, 127535),
1110  (127538, 127546), (127548, 127551), (127561, 127994), (128000, 128317),
1111  (128326, 128591), (128640, 128767), (128884, 128895), (128981, 129023),
1112  (129036, 129039), (129096, 129103), (129114, 129119), (129160, 129167),
1113  (129198, 129279), (129292, 129338), (129340, 129349), (129351, 129791),
1114  (130048, 131069),
1115];
1116
1117pub const EXTENDER: &'static [(u32, u32)] = &[
1118  (183, 183), (720, 721), (1600, 1600), (2042, 2042), (2901, 2901),
1119  (3654, 3654), (3782, 3782), (6154, 6154), (6211, 6211), (6823, 6823),
1120  (7222, 7222), (7291, 7291), (12293, 12293), (12337, 12341), (12445, 12446),
1121  (12540, 12542), (40981, 40981), (42508, 42508), (43471, 43471),
1122  (43494, 43494), (43632, 43632), (43741, 43741), (43763, 43764),
1123  (65392, 65392), (67457, 67458), (70493, 70493), (71110, 71112),
1124  (72344, 72344), (92994, 92995), (94176, 94177), (94179, 94179),
1125  (123196, 123197), (125252, 125254),
1126];
1127
1128pub const GRAPHEME_BASE: &'static [(u32, u32)] = &[
1129  (32, 126), (160, 172), (174, 767), (880, 887), (890, 895), (900, 906),
1130  (908, 908), (910, 929), (931, 1154), (1162, 1327), (1329, 1366),
1131  (1369, 1418), (1421, 1423), (1470, 1470), (1472, 1472), (1475, 1475),
1132  (1478, 1478), (1488, 1514), (1519, 1524), (1542, 1551), (1563, 1563),
1133  (1565, 1610), (1632, 1647), (1649, 1749), (1758, 1758), (1765, 1766),
1134  (1769, 1769), (1774, 1805), (1808, 1808), (1810, 1839), (1869, 1957),
1135  (1969, 1969), (1984, 2026), (2036, 2042), (2046, 2069), (2074, 2074),
1136  (2084, 2084), (2088, 2088), (2096, 2110), (2112, 2136), (2142, 2142),
1137  (2144, 2154), (2160, 2190), (2208, 2249), (2307, 2361), (2363, 2363),
1138  (2365, 2368), (2377, 2380), (2382, 2384), (2392, 2401), (2404, 2432),
1139  (2434, 2435), (2437, 2444), (2447, 2448), (2451, 2472), (2474, 2480),
1140  (2482, 2482), (2486, 2489), (2493, 2493), (2495, 2496), (2503, 2504),
1141  (2507, 2508), (2510, 2510), (2524, 2525), (2527, 2529), (2534, 2557),
1142  (2563, 2563), (2565, 2570), (2575, 2576), (2579, 2600), (2602, 2608),
1143  (2610, 2611), (2613, 2614), (2616, 2617), (2622, 2624), (2649, 2652),
1144  (2654, 2654), (2662, 2671), (2674, 2676), (2678, 2678), (2691, 2691),
1145  (2693, 2701), (2703, 2705), (2707, 2728), (2730, 2736), (2738, 2739),
1146  (2741, 2745), (2749, 2752), (2761, 2761), (2763, 2764), (2768, 2768),
1147  (2784, 2785), (2790, 2801), (2809, 2809), (2818, 2819), (2821, 2828),
1148  (2831, 2832), (2835, 2856), (2858, 2864), (2866, 2867), (2869, 2873),
1149  (2877, 2877), (2880, 2880), (2887, 2888), (2891, 2892), (2908, 2909),
1150  (2911, 2913), (2918, 2935), (2947, 2947), (2949, 2954), (2958, 2960),
1151  (2962, 2965), (2969, 2970), (2972, 2972), (2974, 2975), (2979, 2980),
1152  (2984, 2986), (2990, 3001), (3007, 3007), (3009, 3010), (3014, 3016),
1153  (3018, 3020), (3024, 3024), (3046, 3066), (3073, 3075), (3077, 3084),
1154  (3086, 3088), (3090, 3112), (3114, 3129), (3133, 3133), (3137, 3140),
1155  (3160, 3162), (3165, 3165), (3168, 3169), (3174, 3183), (3191, 3200),
1156  (3202, 3212), (3214, 3216), (3218, 3240), (3242, 3251), (3253, 3257),
1157  (3261, 3262), (3264, 3265), (3267, 3268), (3271, 3272), (3274, 3275),
1158  (3293, 3294), (3296, 3297), (3302, 3311), (3313, 3314), (3330, 3340),
1159  (3342, 3344), (3346, 3386), (3389, 3389), (3391, 3392), (3398, 3400),
1160  (3402, 3404), (3406, 3407), (3412, 3414), (3416, 3425), (3430, 3455),
1161  (3458, 3459), (3461, 3478), (3482, 3505), (3507, 3515), (3517, 3517),
1162  (3520, 3526), (3536, 3537), (3544, 3550), (3558, 3567), (3570, 3572),
1163  (3585, 3632), (3634, 3635), (3647, 3654), (3663, 3675), (3713, 3714),
1164  (3716, 3716), (3718, 3722), (3724, 3747), (3749, 3749), (3751, 3760),
1165  (3762, 3763), (3773, 3773), (3776, 3780), (3782, 3782), (3792, 3801),
1166  (3804, 3807), (3840, 3863), (3866, 3892), (3894, 3894), (3896, 3896),
1167  (3898, 3911), (3913, 3948), (3967, 3967), (3973, 3973), (3976, 3980),
1168  (4030, 4037), (4039, 4044), (4046, 4058), (4096, 4140), (4145, 4145),
1169  (4152, 4152), (4155, 4156), (4159, 4183), (4186, 4189), (4193, 4208),
1170  (4213, 4225), (4227, 4228), (4231, 4236), (4238, 4252), (4254, 4293),
1171  (4295, 4295), (4301, 4301), (4304, 4680), (4682, 4685), (4688, 4694),
1172  (4696, 4696), (4698, 4701), (4704, 4744), (4746, 4749), (4752, 4784),
1173  (4786, 4789), (4792, 4798), (4800, 4800), (4802, 4805), (4808, 4822),
1174  (4824, 4880), (4882, 4885), (4888, 4954), (4960, 4988), (4992, 5017),
1175  (5024, 5109), (5112, 5117), (5120, 5788), (5792, 5880), (5888, 5905),
1176  (5909, 5909), (5919, 5937), (5940, 5942), (5952, 5969), (5984, 5996),
1177  (5998, 6000), (6016, 6067), (6070, 6070), (6078, 6085), (6087, 6088),
1178  (6100, 6108), (6112, 6121), (6128, 6137), (6144, 6154), (6160, 6169),
1179  (6176, 6264), (6272, 6276), (6279, 6312), (6314, 6314), (6320, 6389),
1180  (6400, 6430), (6435, 6438), (6441, 6443), (6448, 6449), (6451, 6456),
1181  (6464, 6464), (6468, 6509), (6512, 6516), (6528, 6571), (6576, 6601),
1182  (6608, 6618), (6622, 6678), (6681, 6682), (6686, 6741), (6743, 6743),
1183  (6753, 6753), (6755, 6756), (6765, 6770), (6784, 6793), (6800, 6809),
1184  (6816, 6829), (6916, 6963), (6971, 6971), (6973, 6977), (6979, 6988),
1185  (6992, 7018), (7028, 7038), (7042, 7073), (7078, 7079), (7082, 7082),
1186  (7086, 7141), (7143, 7143), (7146, 7148), (7150, 7150), (7154, 7155),
1187  (7164, 7211), (7220, 7221), (7227, 7241), (7245, 7304), (7312, 7354),
1188  (7357, 7367), (7379, 7379), (7393, 7393), (7401, 7404), (7406, 7411),
1189  (7413, 7415), (7418, 7418), (7424, 7615), (7680, 7957), (7960, 7965),
1190  (7968, 8005), (8008, 8013), (8016, 8023), (8025, 8025), (8027, 8027),
1191  (8029, 8029), (8031, 8061), (8064, 8116), (8118, 8132), (8134, 8147),
1192  (8150, 8155), (8157, 8175), (8178, 8180), (8182, 8190), (8192, 8202),
1193  (8208, 8231), (8239, 8287), (8304, 8305), (8308, 8334), (8336, 8348),
1194  (8352, 8384), (8448, 8587), (8592, 9254), (9280, 9290), (9312, 11123),
1195  (11126, 11157), (11159, 11502), (11506, 11507), (11513, 11557),
1196  (11559, 11559), (11565, 11565), (11568, 11623), (11631, 11632),
1197  (11648, 11670), (11680, 11686), (11688, 11694), (11696, 11702),
1198  (11704, 11710), (11712, 11718), (11720, 11726), (11728, 11734),
1199  (11736, 11742), (11776, 11869), (11904, 11929), (11931, 12019),
1200  (12032, 12245), (12272, 12283), (12288, 12329), (12336, 12351),
1201  (12353, 12438), (12443, 12543), (12549, 12591), (12593, 12686),
1202  (12688, 12771), (12784, 12830), (12832, 42124), (42128, 42182),
1203  (42192, 42539), (42560, 42606), (42611, 42611), (42622, 42653),
1204  (42656, 42735), (42738, 42743), (42752, 42954), (42960, 42961),
1205  (42963, 42963), (42965, 42969), (42994, 43009), (43011, 43013),
1206  (43015, 43018), (43020, 43044), (43047, 43051), (43056, 43065),
1207  (43072, 43127), (43136, 43203), (43214, 43225), (43250, 43262),
1208  (43264, 43301), (43310, 43334), (43346, 43347), (43359, 43388),
1209  (43395, 43442), (43444, 43445), (43450, 43451), (43454, 43469),
1210  (43471, 43481), (43486, 43492), (43494, 43518), (43520, 43560),
1211  (43567, 43568), (43571, 43572), (43584, 43586), (43588, 43595),
1212  (43597, 43597), (43600, 43609), (43612, 43643), (43645, 43695),
1213  (43697, 43697), (43701, 43702), (43705, 43709), (43712, 43712),
1214  (43714, 43714), (43739, 43755), (43758, 43765), (43777, 43782),
1215  (43785, 43790), (43793, 43798), (43808, 43814), (43816, 43822),
1216  (43824, 43883), (43888, 44004), (44006, 44007), (44009, 44012),
1217  (44016, 44025), (44032, 55203), (55216, 55238), (55243, 55291),
1218  (63744, 64109), (64112, 64217), (64256, 64262), (64275, 64279),
1219  (64285, 64285), (64287, 64310), (64312, 64316), (64318, 64318),
1220  (64320, 64321), (64323, 64324), (64326, 64450), (64467, 64911),
1221  (64914, 64967), (64975, 64975), (65008, 65023), (65040, 65049),
1222  (65072, 65106), (65108, 65126), (65128, 65131), (65136, 65140),
1223  (65142, 65276), (65281, 65437), (65440, 65470), (65474, 65479),
1224  (65482, 65487), (65490, 65495), (65498, 65500), (65504, 65510),
1225  (65512, 65518), (65532, 65533), (65536, 65547), (65549, 65574),
1226  (65576, 65594), (65596, 65597), (65599, 65613), (65616, 65629),
1227  (65664, 65786), (65792, 65794), (65799, 65843), (65847, 65934),
1228  (65936, 65948), (65952, 65952), (66000, 66044), (66176, 66204),
1229  (66208, 66256), (66273, 66299), (66304, 66339), (66349, 66378),
1230  (66384, 66421), (66432, 66461), (66463, 66499), (66504, 66517),
1231  (66560, 66717), (66720, 66729), (66736, 66771), (66776, 66811),
1232  (66816, 66855), (66864, 66915), (66927, 66938), (66940, 66954),
1233  (66956, 66962), (66964, 66965), (66967, 66977), (66979, 66993),
1234  (66995, 67001), (67003, 67004), (67072, 67382), (67392, 67413),
1235  (67424, 67431), (67456, 67461), (67463, 67504), (67506, 67514),
1236  (67584, 67589), (67592, 67592), (67594, 67637), (67639, 67640),
1237  (67644, 67644), (67647, 67669), (67671, 67742), (67751, 67759),
1238  (67808, 67826), (67828, 67829), (67835, 67867), (67871, 67897),
1239  (67903, 67903), (67968, 68023), (68028, 68047), (68050, 68096),
1240  (68112, 68115), (68117, 68119), (68121, 68149), (68160, 68168),
1241  (68176, 68184), (68192, 68255), (68288, 68324), (68331, 68342),
1242  (68352, 68405), (68409, 68437), (68440, 68466), (68472, 68497),
1243  (68505, 68508), (68521, 68527), (68608, 68680), (68736, 68786),
1244  (68800, 68850), (68858, 68899), (68912, 68921), (69216, 69246),
1245  (69248, 69289), (69293, 69293), (69296, 69297), (69376, 69415),
1246  (69424, 69445), (69457, 69465), (69488, 69505), (69510, 69513),
1247  (69552, 69579), (69600, 69622), (69632, 69632), (69634, 69687),
1248  (69703, 69709), (69714, 69743), (69745, 69746), (69749, 69749),
1249  (69762, 69810), (69815, 69816), (69819, 69820), (69822, 69825),
1250  (69840, 69864), (69872, 69881), (69891, 69926), (69932, 69932),
1251  (69942, 69959), (69968, 70002), (70004, 70006), (70018, 70069),
1252  (70079, 70088), (70093, 70094), (70096, 70111), (70113, 70132),
1253  (70144, 70161), (70163, 70190), (70194, 70195), (70197, 70197),
1254  (70200, 70205), (70272, 70278), (70280, 70280), (70282, 70285),
1255  (70287, 70301), (70303, 70313), (70320, 70366), (70368, 70370),
1256  (70384, 70393), (70402, 70403), (70405, 70412), (70415, 70416),
1257  (70419, 70440), (70442, 70448), (70450, 70451), (70453, 70457),
1258  (70461, 70461), (70463, 70463), (70465, 70468), (70471, 70472),
1259  (70475, 70477), (70480, 70480), (70493, 70499), (70656, 70711),
1260  (70720, 70721), (70725, 70725), (70727, 70747), (70749, 70749),
1261  (70751, 70753), (70784, 70831), (70833, 70834), (70841, 70841),
1262  (70843, 70844), (70846, 70846), (70849, 70849), (70852, 70855),
1263  (70864, 70873), (71040, 71086), (71088, 71089), (71096, 71099),
1264  (71102, 71102), (71105, 71131), (71168, 71218), (71227, 71228),
1265  (71230, 71230), (71233, 71236), (71248, 71257), (71264, 71276),
1266  (71296, 71338), (71340, 71340), (71342, 71343), (71350, 71350),
1267  (71352, 71353), (71360, 71369), (71424, 71450), (71456, 71457),
1268  (71462, 71462), (71472, 71494), (71680, 71726), (71736, 71736),
1269  (71739, 71739), (71840, 71922), (71935, 71942), (71945, 71945),
1270  (71948, 71955), (71957, 71958), (71960, 71983), (71985, 71989),
1271  (71991, 71992), (71997, 71997), (71999, 72002), (72004, 72006),
1272  (72016, 72025), (72096, 72103), (72106, 72147), (72156, 72159),
1273  (72161, 72164), (72192, 72192), (72203, 72242), (72249, 72250),
1274  (72255, 72262), (72272, 72272), (72279, 72280), (72284, 72329),
1275  (72343, 72343), (72346, 72354), (72368, 72440), (72704, 72712),
1276  (72714, 72751), (72766, 72766), (72768, 72773), (72784, 72812),
1277  (72816, 72847), (72873, 72873), (72881, 72881), (72884, 72884),
1278  (72960, 72966), (72968, 72969), (72971, 73008), (73030, 73030),
1279  (73040, 73049), (73056, 73061), (73063, 73064), (73066, 73102),
1280  (73107, 73108), (73110, 73110), (73112, 73112), (73120, 73129),
1281  (73440, 73458), (73461, 73464), (73648, 73648), (73664, 73713),
1282  (73727, 74649), (74752, 74862), (74864, 74868), (74880, 75075),
1283  (77712, 77810), (77824, 78894), (82944, 83526), (92160, 92728),
1284  (92736, 92766), (92768, 92777), (92782, 92862), (92864, 92873),
1285  (92880, 92909), (92917, 92917), (92928, 92975), (92983, 92997),
1286  (93008, 93017), (93019, 93025), (93027, 93047), (93053, 93071),
1287  (93760, 93850), (93952, 94026), (94032, 94087), (94099, 94111),
1288  (94176, 94179), (94192, 94193), (94208, 100343), (100352, 101589),
1289  (101632, 101640), (110576, 110579), (110581, 110587), (110589, 110590),
1290  (110592, 110882), (110928, 110930), (110948, 110951), (110960, 111355),
1291  (113664, 113770), (113776, 113788), (113792, 113800), (113808, 113817),
1292  (113820, 113820), (113823, 113823), (118608, 118723), (118784, 119029),
1293  (119040, 119078), (119081, 119140), (119142, 119142), (119146, 119149),
1294  (119171, 119172), (119180, 119209), (119214, 119274), (119296, 119361),
1295  (119365, 119365), (119520, 119539), (119552, 119638), (119648, 119672),
1296  (119808, 119892), (119894, 119964), (119966, 119967), (119970, 119970),
1297  (119973, 119974), (119977, 119980), (119982, 119993), (119995, 119995),
1298  (119997, 120003), (120005, 120069), (120071, 120074), (120077, 120084),
1299  (120086, 120092), (120094, 120121), (120123, 120126), (120128, 120132),
1300  (120134, 120134), (120138, 120144), (120146, 120485), (120488, 120779),
1301  (120782, 121343), (121399, 121402), (121453, 121460), (121462, 121475),
1302  (121477, 121483), (122624, 122654), (123136, 123180), (123191, 123197),
1303  (123200, 123209), (123214, 123215), (123536, 123565), (123584, 123627),
1304  (123632, 123641), (123647, 123647), (124896, 124902), (124904, 124907),
1305  (124909, 124910), (124912, 124926), (124928, 125124), (125127, 125135),
1306  (125184, 125251), (125259, 125259), (125264, 125273), (125278, 125279),
1307  (126065, 126132), (126209, 126269), (126464, 126467), (126469, 126495),
1308  (126497, 126498), (126500, 126500), (126503, 126503), (126505, 126514),
1309  (126516, 126519), (126521, 126521), (126523, 126523), (126530, 126530),
1310  (126535, 126535), (126537, 126537), (126539, 126539), (126541, 126543),
1311  (126545, 126546), (126548, 126548), (126551, 126551), (126553, 126553),
1312  (126555, 126555), (126557, 126557), (126559, 126559), (126561, 126562),
1313  (126564, 126564), (126567, 126570), (126572, 126578), (126580, 126583),
1314  (126585, 126588), (126590, 126590), (126592, 126601), (126603, 126619),
1315  (126625, 126627), (126629, 126633), (126635, 126651), (126704, 126705),
1316  (126976, 127019), (127024, 127123), (127136, 127150), (127153, 127167),
1317  (127169, 127183), (127185, 127221), (127232, 127405), (127462, 127490),
1318  (127504, 127547), (127552, 127560), (127568, 127569), (127584, 127589),
1319  (127744, 128727), (128733, 128748), (128752, 128764), (128768, 128883),
1320  (128896, 128984), (128992, 129003), (129008, 129008), (129024, 129035),
1321  (129040, 129095), (129104, 129113), (129120, 129159), (129168, 129197),
1322  (129200, 129201), (129280, 129619), (129632, 129645), (129648, 129652),
1323  (129656, 129660), (129664, 129670), (129680, 129708), (129712, 129722),
1324  (129728, 129733), (129744, 129753), (129760, 129767), (129776, 129782),
1325  (129792, 129938), (129940, 129994), (130032, 130041), (131072, 173791),
1326  (173824, 177976), (177984, 178205), (178208, 183969), (183984, 191456),
1327  (194560, 195101), (196608, 201546),
1328];
1329
1330pub const GRAPHEME_EXTEND: &'static [(u32, u32)] = &[
1331  (768, 879), (1155, 1161), (1425, 1469), (1471, 1471), (1473, 1474),
1332  (1476, 1477), (1479, 1479), (1552, 1562), (1611, 1631), (1648, 1648),
1333  (1750, 1756), (1759, 1764), (1767, 1768), (1770, 1773), (1809, 1809),
1334  (1840, 1866), (1958, 1968), (2027, 2035), (2045, 2045), (2070, 2073),
1335  (2075, 2083), (2085, 2087), (2089, 2093), (2137, 2139), (2200, 2207),
1336  (2250, 2273), (2275, 2306), (2362, 2362), (2364, 2364), (2369, 2376),
1337  (2381, 2381), (2385, 2391), (2402, 2403), (2433, 2433), (2492, 2492),
1338  (2494, 2494), (2497, 2500), (2509, 2509), (2519, 2519), (2530, 2531),
1339  (2558, 2558), (2561, 2562), (2620, 2620), (2625, 2626), (2631, 2632),
1340  (2635, 2637), (2641, 2641), (2672, 2673), (2677, 2677), (2689, 2690),
1341  (2748, 2748), (2753, 2757), (2759, 2760), (2765, 2765), (2786, 2787),
1342  (2810, 2815), (2817, 2817), (2876, 2876), (2878, 2879), (2881, 2884),
1343  (2893, 2893), (2901, 2903), (2914, 2915), (2946, 2946), (3006, 3006),
1344  (3008, 3008), (3021, 3021), (3031, 3031), (3072, 3072), (3076, 3076),
1345  (3132, 3132), (3134, 3136), (3142, 3144), (3146, 3149), (3157, 3158),
1346  (3170, 3171), (3201, 3201), (3260, 3260), (3263, 3263), (3266, 3266),
1347  (3270, 3270), (3276, 3277), (3285, 3286), (3298, 3299), (3328, 3329),
1348  (3387, 3388), (3390, 3390), (3393, 3396), (3405, 3405), (3415, 3415),
1349  (3426, 3427), (3457, 3457), (3530, 3530), (3535, 3535), (3538, 3540),
1350  (3542, 3542), (3551, 3551), (3633, 3633), (3636, 3642), (3655, 3662),
1351  (3761, 3761), (3764, 3772), (3784, 3789), (3864, 3865), (3893, 3893),
1352  (3895, 3895), (3897, 3897), (3953, 3966), (3968, 3972), (3974, 3975),
1353  (3981, 3991), (3993, 4028), (4038, 4038), (4141, 4144), (4146, 4151),
1354  (4153, 4154), (4157, 4158), (4184, 4185), (4190, 4192), (4209, 4212),
1355  (4226, 4226), (4229, 4230), (4237, 4237), (4253, 4253), (4957, 4959),
1356  (5906, 5908), (5938, 5939), (5970, 5971), (6002, 6003), (6068, 6069),
1357  (6071, 6077), (6086, 6086), (6089, 6099), (6109, 6109), (6155, 6157),
1358  (6159, 6159), (6277, 6278), (6313, 6313), (6432, 6434), (6439, 6440),
1359  (6450, 6450), (6457, 6459), (6679, 6680), (6683, 6683), (6742, 6742),
1360  (6744, 6750), (6752, 6752), (6754, 6754), (6757, 6764), (6771, 6780),
1361  (6783, 6783), (6832, 6862), (6912, 6915), (6964, 6970), (6972, 6972),
1362  (6978, 6978), (7019, 7027), (7040, 7041), (7074, 7077), (7080, 7081),
1363  (7083, 7085), (7142, 7142), (7144, 7145), (7149, 7149), (7151, 7153),
1364  (7212, 7219), (7222, 7223), (7376, 7378), (7380, 7392), (7394, 7400),
1365  (7405, 7405), (7412, 7412), (7416, 7417), (7616, 7679), (8204, 8204),
1366  (8400, 8432), (11503, 11505), (11647, 11647), (11744, 11775),
1367  (12330, 12335), (12441, 12442), (42607, 42610), (42612, 42621),
1368  (42654, 42655), (42736, 42737), (43010, 43010), (43014, 43014),
1369  (43019, 43019), (43045, 43046), (43052, 43052), (43204, 43205),
1370  (43232, 43249), (43263, 43263), (43302, 43309), (43335, 43345),
1371  (43392, 43394), (43443, 43443), (43446, 43449), (43452, 43453),
1372  (43493, 43493), (43561, 43566), (43569, 43570), (43573, 43574),
1373  (43587, 43587), (43596, 43596), (43644, 43644), (43696, 43696),
1374  (43698, 43700), (43703, 43704), (43710, 43711), (43713, 43713),
1375  (43756, 43757), (43766, 43766), (44005, 44005), (44008, 44008),
1376  (44013, 44013), (64286, 64286), (65024, 65039), (65056, 65071),
1377  (65438, 65439), (66045, 66045), (66272, 66272), (66422, 66426),
1378  (68097, 68099), (68101, 68102), (68108, 68111), (68152, 68154),
1379  (68159, 68159), (68325, 68326), (68900, 68903), (69291, 69292),
1380  (69446, 69456), (69506, 69509), (69633, 69633), (69688, 69702),
1381  (69744, 69744), (69747, 69748), (69759, 69761), (69811, 69814),
1382  (69817, 69818), (69826, 69826), (69888, 69890), (69927, 69931),
1383  (69933, 69940), (70003, 70003), (70016, 70017), (70070, 70078),
1384  (70089, 70092), (70095, 70095), (70191, 70193), (70196, 70196),
1385  (70198, 70199), (70206, 70206), (70367, 70367), (70371, 70378),
1386  (70400, 70401), (70459, 70460), (70462, 70462), (70464, 70464),
1387  (70487, 70487), (70502, 70508), (70512, 70516), (70712, 70719),
1388  (70722, 70724), (70726, 70726), (70750, 70750), (70832, 70832),
1389  (70835, 70840), (70842, 70842), (70845, 70845), (70847, 70848),
1390  (70850, 70851), (71087, 71087), (71090, 71093), (71100, 71101),
1391  (71103, 71104), (71132, 71133), (71219, 71226), (71229, 71229),
1392  (71231, 71232), (71339, 71339), (71341, 71341), (71344, 71349),
1393  (71351, 71351), (71453, 71455), (71458, 71461), (71463, 71467),
1394  (71727, 71735), (71737, 71738), (71984, 71984), (71995, 71996),
1395  (71998, 71998), (72003, 72003), (72148, 72151), (72154, 72155),
1396  (72160, 72160), (72193, 72202), (72243, 72248), (72251, 72254),
1397  (72263, 72263), (72273, 72278), (72281, 72283), (72330, 72342),
1398  (72344, 72345), (72752, 72758), (72760, 72765), (72767, 72767),
1399  (72850, 72871), (72874, 72880), (72882, 72883), (72885, 72886),
1400  (73009, 73014), (73018, 73018), (73020, 73021), (73023, 73029),
1401  (73031, 73031), (73104, 73105), (73109, 73109), (73111, 73111),
1402  (73459, 73460), (92912, 92916), (92976, 92982), (94031, 94031),
1403  (94095, 94098), (94180, 94180), (113821, 113822), (118528, 118573),
1404  (118576, 118598), (119141, 119141), (119143, 119145), (119150, 119154),
1405  (119163, 119170), (119173, 119179), (119210, 119213), (119362, 119364),
1406  (121344, 121398), (121403, 121452), (121461, 121461), (121476, 121476),
1407  (121499, 121503), (121505, 121519), (122880, 122886), (122888, 122904),
1408  (122907, 122913), (122915, 122916), (122918, 122922), (123184, 123190),
1409  (123566, 123566), (123628, 123631), (125136, 125142), (125252, 125258),
1410  (917536, 917631), (917760, 917999),
1411];
1412
1413pub const GRAPHEME_LINK: &'static [(u32, u32)] = &[
1414  (2381, 2381), (2509, 2509), (2637, 2637), (2765, 2765), (2893, 2893),
1415  (3021, 3021), (3149, 3149), (3277, 3277), (3387, 3388), (3405, 3405),
1416  (3530, 3530), (3642, 3642), (3770, 3770), (3972, 3972), (4153, 4154),
1417  (5908, 5909), (5940, 5940), (6098, 6098), (6752, 6752), (6980, 6980),
1418  (7082, 7083), (7154, 7155), (11647, 11647), (43014, 43014), (43052, 43052),
1419  (43204, 43204), (43347, 43347), (43456, 43456), (43766, 43766),
1420  (44013, 44013), (68159, 68159), (69702, 69702), (69744, 69744),
1421  (69759, 69759), (69817, 69817), (69939, 69940), (70080, 70080),
1422  (70197, 70197), (70378, 70378), (70477, 70477), (70722, 70722),
1423  (70850, 70850), (71103, 71103), (71231, 71231), (71350, 71350),
1424  (71467, 71467), (71737, 71737), (71997, 71998), (72160, 72160),
1425  (72244, 72244), (72263, 72263), (72345, 72345), (72767, 72767),
1426  (73028, 73029), (73111, 73111),
1427];
1428
1429pub const HEX_DIGIT: &'static [(u32, u32)] = &[
1430  (48, 57), (65, 70), (97, 102), (65296, 65305), (65313, 65318),
1431  (65345, 65350),
1432];
1433
1434pub const HYPHEN: &'static [(u32, u32)] = &[
1435  (45, 45), (173, 173), (1418, 1418), (6150, 6150), (8208, 8209),
1436  (11799, 11799), (12539, 12539), (65123, 65123), (65293, 65293),
1437  (65381, 65381),
1438];
1439
1440pub const IDS_BINARY_OPERATOR: &'static [(u32, u32)] = &[
1441  (12272, 12273), (12276, 12283),
1442];
1443
1444pub const IDS_TRINARY_OPERATOR: &'static [(u32, u32)] = &[
1445  (12274, 12275),
1446];
1447
1448pub const ID_CONTINUE: &'static [(u32, u32)] = &[
1449  (48, 57), (65, 90), (95, 95), (97, 122), (170, 170), (181, 181), (183, 183),
1450  (186, 186), (192, 214), (216, 246), (248, 705), (710, 721), (736, 740),
1451  (748, 748), (750, 750), (768, 884), (886, 887), (890, 893), (895, 895),
1452  (902, 906), (908, 908), (910, 929), (931, 1013), (1015, 1153), (1155, 1159),
1453  (1162, 1327), (1329, 1366), (1369, 1369), (1376, 1416), (1425, 1469),
1454  (1471, 1471), (1473, 1474), (1476, 1477), (1479, 1479), (1488, 1514),
1455  (1519, 1522), (1552, 1562), (1568, 1641), (1646, 1747), (1749, 1756),
1456  (1759, 1768), (1770, 1788), (1791, 1791), (1808, 1866), (1869, 1969),
1457  (1984, 2037), (2042, 2042), (2045, 2045), (2048, 2093), (2112, 2139),
1458  (2144, 2154), (2160, 2183), (2185, 2190), (2200, 2273), (2275, 2403),
1459  (2406, 2415), (2417, 2435), (2437, 2444), (2447, 2448), (2451, 2472),
1460  (2474, 2480), (2482, 2482), (2486, 2489), (2492, 2500), (2503, 2504),
1461  (2507, 2510), (2519, 2519), (2524, 2525), (2527, 2531), (2534, 2545),
1462  (2556, 2556), (2558, 2558), (2561, 2563), (2565, 2570), (2575, 2576),
1463  (2579, 2600), (2602, 2608), (2610, 2611), (2613, 2614), (2616, 2617),
1464  (2620, 2620), (2622, 2626), (2631, 2632), (2635, 2637), (2641, 2641),
1465  (2649, 2652), (2654, 2654), (2662, 2677), (2689, 2691), (2693, 2701),
1466  (2703, 2705), (2707, 2728), (2730, 2736), (2738, 2739), (2741, 2745),
1467  (2748, 2757), (2759, 2761), (2763, 2765), (2768, 2768), (2784, 2787),
1468  (2790, 2799), (2809, 2815), (2817, 2819), (2821, 2828), (2831, 2832),
1469  (2835, 2856), (2858, 2864), (2866, 2867), (2869, 2873), (2876, 2884),
1470  (2887, 2888), (2891, 2893), (2901, 2903), (2908, 2909), (2911, 2915),
1471  (2918, 2927), (2929, 2929), (2946, 2947), (2949, 2954), (2958, 2960),
1472  (2962, 2965), (2969, 2970), (2972, 2972), (2974, 2975), (2979, 2980),
1473  (2984, 2986), (2990, 3001), (3006, 3010), (3014, 3016), (3018, 3021),
1474  (3024, 3024), (3031, 3031), (3046, 3055), (3072, 3084), (3086, 3088),
1475  (3090, 3112), (3114, 3129), (3132, 3140), (3142, 3144), (3146, 3149),
1476  (3157, 3158), (3160, 3162), (3165, 3165), (3168, 3171), (3174, 3183),
1477  (3200, 3203), (3205, 3212), (3214, 3216), (3218, 3240), (3242, 3251),
1478  (3253, 3257), (3260, 3268), (3270, 3272), (3274, 3277), (3285, 3286),
1479  (3293, 3294), (3296, 3299), (3302, 3311), (3313, 3314), (3328, 3340),
1480  (3342, 3344), (3346, 3396), (3398, 3400), (3402, 3406), (3412, 3415),
1481  (3423, 3427), (3430, 3439), (3450, 3455), (3457, 3459), (3461, 3478),
1482  (3482, 3505), (3507, 3515), (3517, 3517), (3520, 3526), (3530, 3530),
1483  (3535, 3540), (3542, 3542), (3544, 3551), (3558, 3567), (3570, 3571),
1484  (3585, 3642), (3648, 3662), (3664, 3673), (3713, 3714), (3716, 3716),
1485  (3718, 3722), (3724, 3747), (3749, 3749), (3751, 3773), (3776, 3780),
1486  (3782, 3782), (3784, 3789), (3792, 3801), (3804, 3807), (3840, 3840),
1487  (3864, 3865), (3872, 3881), (3893, 3893), (3895, 3895), (3897, 3897),
1488  (3902, 3911), (3913, 3948), (3953, 3972), (3974, 3991), (3993, 4028),
1489  (4038, 4038), (4096, 4169), (4176, 4253), (4256, 4293), (4295, 4295),
1490  (4301, 4301), (4304, 4346), (4348, 4680), (4682, 4685), (4688, 4694),
1491  (4696, 4696), (4698, 4701), (4704, 4744), (4746, 4749), (4752, 4784),
1492  (4786, 4789), (4792, 4798), (4800, 4800), (4802, 4805), (4808, 4822),
1493  (4824, 4880), (4882, 4885), (4888, 4954), (4957, 4959), (4969, 4977),
1494  (4992, 5007), (5024, 5109), (5112, 5117), (5121, 5740), (5743, 5759),
1495  (5761, 5786), (5792, 5866), (5870, 5880), (5888, 5909), (5919, 5940),
1496  (5952, 5971), (5984, 5996), (5998, 6000), (6002, 6003), (6016, 6099),
1497  (6103, 6103), (6108, 6109), (6112, 6121), (6155, 6157), (6159, 6169),
1498  (6176, 6264), (6272, 6314), (6320, 6389), (6400, 6430), (6432, 6443),
1499  (6448, 6459), (6470, 6509), (6512, 6516), (6528, 6571), (6576, 6601),
1500  (6608, 6618), (6656, 6683), (6688, 6750), (6752, 6780), (6783, 6793),
1501  (6800, 6809), (6823, 6823), (6832, 6845), (6847, 6862), (6912, 6988),
1502  (6992, 7001), (7019, 7027), (7040, 7155), (7168, 7223), (7232, 7241),
1503  (7245, 7293), (7296, 7304), (7312, 7354), (7357, 7359), (7376, 7378),
1504  (7380, 7418), (7424, 7957), (7960, 7965), (7968, 8005), (8008, 8013),
1505  (8016, 8023), (8025, 8025), (8027, 8027), (8029, 8029), (8031, 8061),
1506  (8064, 8116), (8118, 8124), (8126, 8126), (8130, 8132), (8134, 8140),
1507  (8144, 8147), (8150, 8155), (8160, 8172), (8178, 8180), (8182, 8188),
1508  (8255, 8256), (8276, 8276), (8305, 8305), (8319, 8319), (8336, 8348),
1509  (8400, 8412), (8417, 8417), (8421, 8432), (8450, 8450), (8455, 8455),
1510  (8458, 8467), (8469, 8469), (8472, 8477), (8484, 8484), (8486, 8486),
1511  (8488, 8488), (8490, 8505), (8508, 8511), (8517, 8521), (8526, 8526),
1512  (8544, 8584), (11264, 11492), (11499, 11507), (11520, 11557),
1513  (11559, 11559), (11565, 11565), (11568, 11623), (11631, 11631),
1514  (11647, 11670), (11680, 11686), (11688, 11694), (11696, 11702),
1515  (11704, 11710), (11712, 11718), (11720, 11726), (11728, 11734),
1516  (11736, 11742), (11744, 11775), (12293, 12295), (12321, 12335),
1517  (12337, 12341), (12344, 12348), (12353, 12438), (12441, 12447),
1518  (12449, 12538), (12540, 12543), (12549, 12591), (12593, 12686),
1519  (12704, 12735), (12784, 12799), (13312, 19903), (19968, 42124),
1520  (42192, 42237), (42240, 42508), (42512, 42539), (42560, 42607),
1521  (42612, 42621), (42623, 42737), (42775, 42783), (42786, 42888),
1522  (42891, 42954), (42960, 42961), (42963, 42963), (42965, 42969),
1523  (42994, 43047), (43052, 43052), (43072, 43123), (43136, 43205),
1524  (43216, 43225), (43232, 43255), (43259, 43259), (43261, 43309),
1525  (43312, 43347), (43360, 43388), (43392, 43456), (43471, 43481),
1526  (43488, 43518), (43520, 43574), (43584, 43597), (43600, 43609),
1527  (43616, 43638), (43642, 43714), (43739, 43741), (43744, 43759),
1528  (43762, 43766), (43777, 43782), (43785, 43790), (43793, 43798),
1529  (43808, 43814), (43816, 43822), (43824, 43866), (43868, 43881),
1530  (43888, 44010), (44012, 44013), (44016, 44025), (44032, 55203),
1531  (55216, 55238), (55243, 55291), (63744, 64109), (64112, 64217),
1532  (64256, 64262), (64275, 64279), (64285, 64296), (64298, 64310),
1533  (64312, 64316), (64318, 64318), (64320, 64321), (64323, 64324),
1534  (64326, 64433), (64467, 64829), (64848, 64911), (64914, 64967),
1535  (65008, 65019), (65024, 65039), (65056, 65071), (65075, 65076),
1536  (65101, 65103), (65136, 65140), (65142, 65276), (65296, 65305),
1537  (65313, 65338), (65343, 65343), (65345, 65370), (65382, 65470),
1538  (65474, 65479), (65482, 65487), (65490, 65495), (65498, 65500),
1539  (65536, 65547), (65549, 65574), (65576, 65594), (65596, 65597),
1540  (65599, 65613), (65616, 65629), (65664, 65786), (65856, 65908),
1541  (66045, 66045), (66176, 66204), (66208, 66256), (66272, 66272),
1542  (66304, 66335), (66349, 66378), (66384, 66426), (66432, 66461),
1543  (66464, 66499), (66504, 66511), (66513, 66517), (66560, 66717),
1544  (66720, 66729), (66736, 66771), (66776, 66811), (66816, 66855),
1545  (66864, 66915), (66928, 66938), (66940, 66954), (66956, 66962),
1546  (66964, 66965), (66967, 66977), (66979, 66993), (66995, 67001),
1547  (67003, 67004), (67072, 67382), (67392, 67413), (67424, 67431),
1548  (67456, 67461), (67463, 67504), (67506, 67514), (67584, 67589),
1549  (67592, 67592), (67594, 67637), (67639, 67640), (67644, 67644),
1550  (67647, 67669), (67680, 67702), (67712, 67742), (67808, 67826),
1551  (67828, 67829), (67840, 67861), (67872, 67897), (67968, 68023),
1552  (68030, 68031), (68096, 68099), (68101, 68102), (68108, 68115),
1553  (68117, 68119), (68121, 68149), (68152, 68154), (68159, 68159),
1554  (68192, 68220), (68224, 68252), (68288, 68295), (68297, 68326),
1555  (68352, 68405), (68416, 68437), (68448, 68466), (68480, 68497),
1556  (68608, 68680), (68736, 68786), (68800, 68850), (68864, 68903),
1557  (68912, 68921), (69248, 69289), (69291, 69292), (69296, 69297),
1558  (69376, 69404), (69415, 69415), (69424, 69456), (69488, 69509),
1559  (69552, 69572), (69600, 69622), (69632, 69702), (69734, 69749),
1560  (69759, 69818), (69826, 69826), (69840, 69864), (69872, 69881),
1561  (69888, 69940), (69942, 69951), (69956, 69959), (69968, 70003),
1562  (70006, 70006), (70016, 70084), (70089, 70092), (70094, 70106),
1563  (70108, 70108), (70144, 70161), (70163, 70199), (70206, 70206),
1564  (70272, 70278), (70280, 70280), (70282, 70285), (70287, 70301),
1565  (70303, 70312), (70320, 70378), (70384, 70393), (70400, 70403),
1566  (70405, 70412), (70415, 70416), (70419, 70440), (70442, 70448),
1567  (70450, 70451), (70453, 70457), (70459, 70468), (70471, 70472),
1568  (70475, 70477), (70480, 70480), (70487, 70487), (70493, 70499),
1569  (70502, 70508), (70512, 70516), (70656, 70730), (70736, 70745),
1570  (70750, 70753), (70784, 70853), (70855, 70855), (70864, 70873),
1571  (71040, 71093), (71096, 71104), (71128, 71133), (71168, 71232),
1572  (71236, 71236), (71248, 71257), (71296, 71352), (71360, 71369),
1573  (71424, 71450), (71453, 71467), (71472, 71481), (71488, 71494),
1574  (71680, 71738), (71840, 71913), (71935, 71942), (71945, 71945),
1575  (71948, 71955), (71957, 71958), (71960, 71989), (71991, 71992),
1576  (71995, 72003), (72016, 72025), (72096, 72103), (72106, 72151),
1577  (72154, 72161), (72163, 72164), (72192, 72254), (72263, 72263),
1578  (72272, 72345), (72349, 72349), (72368, 72440), (72704, 72712),
1579  (72714, 72758), (72760, 72768), (72784, 72793), (72818, 72847),
1580  (72850, 72871), (72873, 72886), (72960, 72966), (72968, 72969),
1581  (72971, 73014), (73018, 73018), (73020, 73021), (73023, 73031),
1582  (73040, 73049), (73056, 73061), (73063, 73064), (73066, 73102),
1583  (73104, 73105), (73107, 73112), (73120, 73129), (73440, 73462),
1584  (73648, 73648), (73728, 74649), (74752, 74862), (74880, 75075),
1585  (77712, 77808), (77824, 78894), (82944, 83526), (92160, 92728),
1586  (92736, 92766), (92768, 92777), (92784, 92862), (92864, 92873),
1587  (92880, 92909), (92912, 92916), (92928, 92982), (92992, 92995),
1588  (93008, 93017), (93027, 93047), (93053, 93071), (93760, 93823),
1589  (93952, 94026), (94031, 94087), (94095, 94111), (94176, 94177),
1590  (94179, 94180), (94192, 94193), (94208, 100343), (100352, 101589),
1591  (101632, 101640), (110576, 110579), (110581, 110587), (110589, 110590),
1592  (110592, 110882), (110928, 110930), (110948, 110951), (110960, 111355),
1593  (113664, 113770), (113776, 113788), (113792, 113800), (113808, 113817),
1594  (113821, 113822), (118528, 118573), (118576, 118598), (119141, 119145),
1595  (119149, 119154), (119163, 119170), (119173, 119179), (119210, 119213),
1596  (119362, 119364), (119808, 119892), (119894, 119964), (119966, 119967),
1597  (119970, 119970), (119973, 119974), (119977, 119980), (119982, 119993),
1598  (119995, 119995), (119997, 120003), (120005, 120069), (120071, 120074),
1599  (120077, 120084), (120086, 120092), (120094, 120121), (120123, 120126),
1600  (120128, 120132), (120134, 120134), (120138, 120144), (120146, 120485),
1601  (120488, 120512), (120514, 120538), (120540, 120570), (120572, 120596),
1602  (120598, 120628), (120630, 120654), (120656, 120686), (120688, 120712),
1603  (120714, 120744), (120746, 120770), (120772, 120779), (120782, 120831),
1604  (121344, 121398), (121403, 121452), (121461, 121461), (121476, 121476),
1605  (121499, 121503), (121505, 121519), (122624, 122654), (122880, 122886),
1606  (122888, 122904), (122907, 122913), (122915, 122916), (122918, 122922),
1607  (123136, 123180), (123184, 123197), (123200, 123209), (123214, 123214),
1608  (123536, 123566), (123584, 123641), (124896, 124902), (124904, 124907),
1609  (124909, 124910), (124912, 124926), (124928, 125124), (125136, 125142),
1610  (125184, 125259), (125264, 125273), (126464, 126467), (126469, 126495),
1611  (126497, 126498), (126500, 126500), (126503, 126503), (126505, 126514),
1612  (126516, 126519), (126521, 126521), (126523, 126523), (126530, 126530),
1613  (126535, 126535), (126537, 126537), (126539, 126539), (126541, 126543),
1614  (126545, 126546), (126548, 126548), (126551, 126551), (126553, 126553),
1615  (126555, 126555), (126557, 126557), (126559, 126559), (126561, 126562),
1616  (126564, 126564), (126567, 126570), (126572, 126578), (126580, 126583),
1617  (126585, 126588), (126590, 126590), (126592, 126601), (126603, 126619),
1618  (126625, 126627), (126629, 126633), (126635, 126651), (130032, 130041),
1619  (131072, 173791), (173824, 177976), (177984, 178205), (178208, 183969),
1620  (183984, 191456), (194560, 195101), (196608, 201546), (917760, 917999),
1621];
1622
1623pub const ID_START: &'static [(u32, u32)] = &[
1624  (65, 90), (97, 122), (170, 170), (181, 181), (186, 186), (192, 214),
1625  (216, 246), (248, 705), (710, 721), (736, 740), (748, 748), (750, 750),
1626  (880, 884), (886, 887), (890, 893), (895, 895), (902, 902), (904, 906),
1627  (908, 908), (910, 929), (931, 1013), (1015, 1153), (1162, 1327),
1628  (1329, 1366), (1369, 1369), (1376, 1416), (1488, 1514), (1519, 1522),
1629  (1568, 1610), (1646, 1647), (1649, 1747), (1749, 1749), (1765, 1766),
1630  (1774, 1775), (1786, 1788), (1791, 1791), (1808, 1808), (1810, 1839),
1631  (1869, 1957), (1969, 1969), (1994, 2026), (2036, 2037), (2042, 2042),
1632  (2048, 2069), (2074, 2074), (2084, 2084), (2088, 2088), (2112, 2136),
1633  (2144, 2154), (2160, 2183), (2185, 2190), (2208, 2249), (2308, 2361),
1634  (2365, 2365), (2384, 2384), (2392, 2401), (2417, 2432), (2437, 2444),
1635  (2447, 2448), (2451, 2472), (2474, 2480), (2482, 2482), (2486, 2489),
1636  (2493, 2493), (2510, 2510), (2524, 2525), (2527, 2529), (2544, 2545),
1637  (2556, 2556), (2565, 2570), (2575, 2576), (2579, 2600), (2602, 2608),
1638  (2610, 2611), (2613, 2614), (2616, 2617), (2649, 2652), (2654, 2654),
1639  (2674, 2676), (2693, 2701), (2703, 2705), (2707, 2728), (2730, 2736),
1640  (2738, 2739), (2741, 2745), (2749, 2749), (2768, 2768), (2784, 2785),
1641  (2809, 2809), (2821, 2828), (2831, 2832), (2835, 2856), (2858, 2864),
1642  (2866, 2867), (2869, 2873), (2877, 2877), (2908, 2909), (2911, 2913),
1643  (2929, 2929), (2947, 2947), (2949, 2954), (2958, 2960), (2962, 2965),
1644  (2969, 2970), (2972, 2972), (2974, 2975), (2979, 2980), (2984, 2986),
1645  (2990, 3001), (3024, 3024), (3077, 3084), (3086, 3088), (3090, 3112),
1646  (3114, 3129), (3133, 3133), (3160, 3162), (3165, 3165), (3168, 3169),
1647  (3200, 3200), (3205, 3212), (3214, 3216), (3218, 3240), (3242, 3251),
1648  (3253, 3257), (3261, 3261), (3293, 3294), (3296, 3297), (3313, 3314),
1649  (3332, 3340), (3342, 3344), (3346, 3386), (3389, 3389), (3406, 3406),
1650  (3412, 3414), (3423, 3425), (3450, 3455), (3461, 3478), (3482, 3505),
1651  (3507, 3515), (3517, 3517), (3520, 3526), (3585, 3632), (3634, 3635),
1652  (3648, 3654), (3713, 3714), (3716, 3716), (3718, 3722), (3724, 3747),
1653  (3749, 3749), (3751, 3760), (3762, 3763), (3773, 3773), (3776, 3780),
1654  (3782, 3782), (3804, 3807), (3840, 3840), (3904, 3911), (3913, 3948),
1655  (3976, 3980), (4096, 4138), (4159, 4159), (4176, 4181), (4186, 4189),
1656  (4193, 4193), (4197, 4198), (4206, 4208), (4213, 4225), (4238, 4238),
1657  (4256, 4293), (4295, 4295), (4301, 4301), (4304, 4346), (4348, 4680),
1658  (4682, 4685), (4688, 4694), (4696, 4696), (4698, 4701), (4704, 4744),
1659  (4746, 4749), (4752, 4784), (4786, 4789), (4792, 4798), (4800, 4800),
1660  (4802, 4805), (4808, 4822), (4824, 4880), (4882, 4885), (4888, 4954),
1661  (4992, 5007), (5024, 5109), (5112, 5117), (5121, 5740), (5743, 5759),
1662  (5761, 5786), (5792, 5866), (5870, 5880), (5888, 5905), (5919, 5937),
1663  (5952, 5969), (5984, 5996), (5998, 6000), (6016, 6067), (6103, 6103),
1664  (6108, 6108), (6176, 6264), (6272, 6312), (6314, 6314), (6320, 6389),
1665  (6400, 6430), (6480, 6509), (6512, 6516), (6528, 6571), (6576, 6601),
1666  (6656, 6678), (6688, 6740), (6823, 6823), (6917, 6963), (6981, 6988),
1667  (7043, 7072), (7086, 7087), (7098, 7141), (7168, 7203), (7245, 7247),
1668  (7258, 7293), (7296, 7304), (7312, 7354), (7357, 7359), (7401, 7404),
1669  (7406, 7411), (7413, 7414), (7418, 7418), (7424, 7615), (7680, 7957),
1670  (7960, 7965), (7968, 8005), (8008, 8013), (8016, 8023), (8025, 8025),
1671  (8027, 8027), (8029, 8029), (8031, 8061), (8064, 8116), (8118, 8124),
1672  (8126, 8126), (8130, 8132), (8134, 8140), (8144, 8147), (8150, 8155),
1673  (8160, 8172), (8178, 8180), (8182, 8188), (8305, 8305), (8319, 8319),
1674  (8336, 8348), (8450, 8450), (8455, 8455), (8458, 8467), (8469, 8469),
1675  (8472, 8477), (8484, 8484), (8486, 8486), (8488, 8488), (8490, 8505),
1676  (8508, 8511), (8517, 8521), (8526, 8526), (8544, 8584), (11264, 11492),
1677  (11499, 11502), (11506, 11507), (11520, 11557), (11559, 11559),
1678  (11565, 11565), (11568, 11623), (11631, 11631), (11648, 11670),
1679  (11680, 11686), (11688, 11694), (11696, 11702), (11704, 11710),
1680  (11712, 11718), (11720, 11726), (11728, 11734), (11736, 11742),
1681  (12293, 12295), (12321, 12329), (12337, 12341), (12344, 12348),
1682  (12353, 12438), (12443, 12447), (12449, 12538), (12540, 12543),
1683  (12549, 12591), (12593, 12686), (12704, 12735), (12784, 12799),
1684  (13312, 19903), (19968, 42124), (42192, 42237), (42240, 42508),
1685  (42512, 42527), (42538, 42539), (42560, 42606), (42623, 42653),
1686  (42656, 42735), (42775, 42783), (42786, 42888), (42891, 42954),
1687  (42960, 42961), (42963, 42963), (42965, 42969), (42994, 43009),
1688  (43011, 43013), (43015, 43018), (43020, 43042), (43072, 43123),
1689  (43138, 43187), (43250, 43255), (43259, 43259), (43261, 43262),
1690  (43274, 43301), (43312, 43334), (43360, 43388), (43396, 43442),
1691  (43471, 43471), (43488, 43492), (43494, 43503), (43514, 43518),
1692  (43520, 43560), (43584, 43586), (43588, 43595), (43616, 43638),
1693  (43642, 43642), (43646, 43695), (43697, 43697), (43701, 43702),
1694  (43705, 43709), (43712, 43712), (43714, 43714), (43739, 43741),
1695  (43744, 43754), (43762, 43764), (43777, 43782), (43785, 43790),
1696  (43793, 43798), (43808, 43814), (43816, 43822), (43824, 43866),
1697  (43868, 43881), (43888, 44002), (44032, 55203), (55216, 55238),
1698  (55243, 55291), (63744, 64109), (64112, 64217), (64256, 64262),
1699  (64275, 64279), (64285, 64285), (64287, 64296), (64298, 64310),
1700  (64312, 64316), (64318, 64318), (64320, 64321), (64323, 64324),
1701  (64326, 64433), (64467, 64829), (64848, 64911), (64914, 64967),
1702  (65008, 65019), (65136, 65140), (65142, 65276), (65313, 65338),
1703  (65345, 65370), (65382, 65470), (65474, 65479), (65482, 65487),
1704  (65490, 65495), (65498, 65500), (65536, 65547), (65549, 65574),
1705  (65576, 65594), (65596, 65597), (65599, 65613), (65616, 65629),
1706  (65664, 65786), (65856, 65908), (66176, 66204), (66208, 66256),
1707  (66304, 66335), (66349, 66378), (66384, 66421), (66432, 66461),
1708  (66464, 66499), (66504, 66511), (66513, 66517), (66560, 66717),
1709  (66736, 66771), (66776, 66811), (66816, 66855), (66864, 66915),
1710  (66928, 66938), (66940, 66954), (66956, 66962), (66964, 66965),
1711  (66967, 66977), (66979, 66993), (66995, 67001), (67003, 67004),
1712  (67072, 67382), (67392, 67413), (67424, 67431), (67456, 67461),
1713  (67463, 67504), (67506, 67514), (67584, 67589), (67592, 67592),
1714  (67594, 67637), (67639, 67640), (67644, 67644), (67647, 67669),
1715  (67680, 67702), (67712, 67742), (67808, 67826), (67828, 67829),
1716  (67840, 67861), (67872, 67897), (67968, 68023), (68030, 68031),
1717  (68096, 68096), (68112, 68115), (68117, 68119), (68121, 68149),
1718  (68192, 68220), (68224, 68252), (68288, 68295), (68297, 68324),
1719  (68352, 68405), (68416, 68437), (68448, 68466), (68480, 68497),
1720  (68608, 68680), (68736, 68786), (68800, 68850), (68864, 68899),
1721  (69248, 69289), (69296, 69297), (69376, 69404), (69415, 69415),
1722  (69424, 69445), (69488, 69505), (69552, 69572), (69600, 69622),
1723  (69635, 69687), (69745, 69746), (69749, 69749), (69763, 69807),
1724  (69840, 69864), (69891, 69926), (69956, 69956), (69959, 69959),
1725  (69968, 70002), (70006, 70006), (70019, 70066), (70081, 70084),
1726  (70106, 70106), (70108, 70108), (70144, 70161), (70163, 70187),
1727  (70272, 70278), (70280, 70280), (70282, 70285), (70287, 70301),
1728  (70303, 70312), (70320, 70366), (70405, 70412), (70415, 70416),
1729  (70419, 70440), (70442, 70448), (70450, 70451), (70453, 70457),
1730  (70461, 70461), (70480, 70480), (70493, 70497), (70656, 70708),
1731  (70727, 70730), (70751, 70753), (70784, 70831), (70852, 70853),
1732  (70855, 70855), (71040, 71086), (71128, 71131), (71168, 71215),
1733  (71236, 71236), (71296, 71338), (71352, 71352), (71424, 71450),
1734  (71488, 71494), (71680, 71723), (71840, 71903), (71935, 71942),
1735  (71945, 71945), (71948, 71955), (71957, 71958), (71960, 71983),
1736  (71999, 71999), (72001, 72001), (72096, 72103), (72106, 72144),
1737  (72161, 72161), (72163, 72163), (72192, 72192), (72203, 72242),
1738  (72250, 72250), (72272, 72272), (72284, 72329), (72349, 72349),
1739  (72368, 72440), (72704, 72712), (72714, 72750), (72768, 72768),
1740  (72818, 72847), (72960, 72966), (72968, 72969), (72971, 73008),
1741  (73030, 73030), (73056, 73061), (73063, 73064), (73066, 73097),
1742  (73112, 73112), (73440, 73458), (73648, 73648), (73728, 74649),
1743  (74752, 74862), (74880, 75075), (77712, 77808), (77824, 78894),
1744  (82944, 83526), (92160, 92728), (92736, 92766), (92784, 92862),
1745  (92880, 92909), (92928, 92975), (92992, 92995), (93027, 93047),
1746  (93053, 93071), (93760, 93823), (93952, 94026), (94032, 94032),
1747  (94099, 94111), (94176, 94177), (94179, 94179), (94208, 100343),
1748  (100352, 101589), (101632, 101640), (110576, 110579), (110581, 110587),
1749  (110589, 110590), (110592, 110882), (110928, 110930), (110948, 110951),
1750  (110960, 111355), (113664, 113770), (113776, 113788), (113792, 113800),
1751  (113808, 113817), (119808, 119892), (119894, 119964), (119966, 119967),
1752  (119970, 119970), (119973, 119974), (119977, 119980), (119982, 119993),
1753  (119995, 119995), (119997, 120003), (120005, 120069), (120071, 120074),
1754  (120077, 120084), (120086, 120092), (120094, 120121), (120123, 120126),
1755  (120128, 120132), (120134, 120134), (120138, 120144), (120146, 120485),
1756  (120488, 120512), (120514, 120538), (120540, 120570), (120572, 120596),
1757  (120598, 120628), (120630, 120654), (120656, 120686), (120688, 120712),
1758  (120714, 120744), (120746, 120770), (120772, 120779), (122624, 122654),
1759  (123136, 123180), (123191, 123197), (123214, 123214), (123536, 123565),
1760  (123584, 123627), (124896, 124902), (124904, 124907), (124909, 124910),
1761  (124912, 124926), (124928, 125124), (125184, 125251), (125259, 125259),
1762  (126464, 126467), (126469, 126495), (126497, 126498), (126500, 126500),
1763  (126503, 126503), (126505, 126514), (126516, 126519), (126521, 126521),
1764  (126523, 126523), (126530, 126530), (126535, 126535), (126537, 126537),
1765  (126539, 126539), (126541, 126543), (126545, 126546), (126548, 126548),
1766  (126551, 126551), (126553, 126553), (126555, 126555), (126557, 126557),
1767  (126559, 126559), (126561, 126562), (126564, 126564), (126567, 126570),
1768  (126572, 126578), (126580, 126583), (126585, 126588), (126590, 126590),
1769  (126592, 126601), (126603, 126619), (126625, 126627), (126629, 126633),
1770  (126635, 126651), (131072, 173791), (173824, 177976), (177984, 178205),
1771  (178208, 183969), (183984, 191456), (194560, 195101), (196608, 201546),
1772];
1773
1774pub const IDEOGRAPHIC: &'static [(u32, u32)] = &[
1775  (12294, 12295), (12321, 12329), (12344, 12346), (13312, 19903),
1776  (19968, 40959), (63744, 64109), (64112, 64217), (94180, 94180),
1777  (94208, 100343), (100352, 101589), (101632, 101640), (110960, 111355),
1778  (131072, 173791), (173824, 177976), (177984, 178205), (178208, 183969),
1779  (183984, 191456), (194560, 195101), (196608, 201546),
1780];
1781
1782pub const JOIN_CONTROL: &'static [(u32, u32)] = &[
1783  (8204, 8205),
1784];
1785
1786pub const LOGICAL_ORDER_EXCEPTION: &'static [(u32, u32)] = &[
1787  (3648, 3652), (3776, 3780), (6581, 6583), (6586, 6586), (43701, 43702),
1788  (43705, 43705), (43707, 43708),
1789];
1790
1791pub const LOWERCASE: &'static [(u32, u32)] = &[
1792  (97, 122), (170, 170), (181, 181), (186, 186), (223, 246), (248, 255),
1793  (257, 257), (259, 259), (261, 261), (263, 263), (265, 265), (267, 267),
1794  (269, 269), (271, 271), (273, 273), (275, 275), (277, 277), (279, 279),
1795  (281, 281), (283, 283), (285, 285), (287, 287), (289, 289), (291, 291),
1796  (293, 293), (295, 295), (297, 297), (299, 299), (301, 301), (303, 303),
1797  (305, 305), (307, 307), (309, 309), (311, 312), (314, 314), (316, 316),
1798  (318, 318), (320, 320), (322, 322), (324, 324), (326, 326), (328, 329),
1799  (331, 331), (333, 333), (335, 335), (337, 337), (339, 339), (341, 341),
1800  (343, 343), (345, 345), (347, 347), (349, 349), (351, 351), (353, 353),
1801  (355, 355), (357, 357), (359, 359), (361, 361), (363, 363), (365, 365),
1802  (367, 367), (369, 369), (371, 371), (373, 373), (375, 375), (378, 378),
1803  (380, 380), (382, 384), (387, 387), (389, 389), (392, 392), (396, 397),
1804  (402, 402), (405, 405), (409, 411), (414, 414), (417, 417), (419, 419),
1805  (421, 421), (424, 424), (426, 427), (429, 429), (432, 432), (436, 436),
1806  (438, 438), (441, 442), (445, 447), (454, 454), (457, 457), (460, 460),
1807  (462, 462), (464, 464), (466, 466), (468, 468), (470, 470), (472, 472),
1808  (474, 474), (476, 477), (479, 479), (481, 481), (483, 483), (485, 485),
1809  (487, 487), (489, 489), (491, 491), (493, 493), (495, 496), (499, 499),
1810  (501, 501), (505, 505), (507, 507), (509, 509), (511, 511), (513, 513),
1811  (515, 515), (517, 517), (519, 519), (521, 521), (523, 523), (525, 525),
1812  (527, 527), (529, 529), (531, 531), (533, 533), (535, 535), (537, 537),
1813  (539, 539), (541, 541), (543, 543), (545, 545), (547, 547), (549, 549),
1814  (551, 551), (553, 553), (555, 555), (557, 557), (559, 559), (561, 561),
1815  (563, 569), (572, 572), (575, 576), (578, 578), (583, 583), (585, 585),
1816  (587, 587), (589, 589), (591, 659), (661, 696), (704, 705), (736, 740),
1817  (837, 837), (881, 881), (883, 883), (887, 887), (890, 893), (912, 912),
1818  (940, 974), (976, 977), (981, 983), (985, 985), (987, 987), (989, 989),
1819  (991, 991), (993, 993), (995, 995), (997, 997), (999, 999), (1001, 1001),
1820  (1003, 1003), (1005, 1005), (1007, 1011), (1013, 1013), (1016, 1016),
1821  (1019, 1020), (1072, 1119), (1121, 1121), (1123, 1123), (1125, 1125),
1822  (1127, 1127), (1129, 1129), (1131, 1131), (1133, 1133), (1135, 1135),
1823  (1137, 1137), (1139, 1139), (1141, 1141), (1143, 1143), (1145, 1145),
1824  (1147, 1147), (1149, 1149), (1151, 1151), (1153, 1153), (1163, 1163),
1825  (1165, 1165), (1167, 1167), (1169, 1169), (1171, 1171), (1173, 1173),
1826  (1175, 1175), (1177, 1177), (1179, 1179), (1181, 1181), (1183, 1183),
1827  (1185, 1185), (1187, 1187), (1189, 1189), (1191, 1191), (1193, 1193),
1828  (1195, 1195), (1197, 1197), (1199, 1199), (1201, 1201), (1203, 1203),
1829  (1205, 1205), (1207, 1207), (1209, 1209), (1211, 1211), (1213, 1213),
1830  (1215, 1215), (1218, 1218), (1220, 1220), (1222, 1222), (1224, 1224),
1831  (1226, 1226), (1228, 1228), (1230, 1231), (1233, 1233), (1235, 1235),
1832  (1237, 1237), (1239, 1239), (1241, 1241), (1243, 1243), (1245, 1245),
1833  (1247, 1247), (1249, 1249), (1251, 1251), (1253, 1253), (1255, 1255),
1834  (1257, 1257), (1259, 1259), (1261, 1261), (1263, 1263), (1265, 1265),
1835  (1267, 1267), (1269, 1269), (1271, 1271), (1273, 1273), (1275, 1275),
1836  (1277, 1277), (1279, 1279), (1281, 1281), (1283, 1283), (1285, 1285),
1837  (1287, 1287), (1289, 1289), (1291, 1291), (1293, 1293), (1295, 1295),
1838  (1297, 1297), (1299, 1299), (1301, 1301), (1303, 1303), (1305, 1305),
1839  (1307, 1307), (1309, 1309), (1311, 1311), (1313, 1313), (1315, 1315),
1840  (1317, 1317), (1319, 1319), (1321, 1321), (1323, 1323), (1325, 1325),
1841  (1327, 1327), (1376, 1416), (4304, 4346), (4349, 4351), (5112, 5117),
1842  (7296, 7304), (7424, 7615), (7681, 7681), (7683, 7683), (7685, 7685),
1843  (7687, 7687), (7689, 7689), (7691, 7691), (7693, 7693), (7695, 7695),
1844  (7697, 7697), (7699, 7699), (7701, 7701), (7703, 7703), (7705, 7705),
1845  (7707, 7707), (7709, 7709), (7711, 7711), (7713, 7713), (7715, 7715),
1846  (7717, 7717), (7719, 7719), (7721, 7721), (7723, 7723), (7725, 7725),
1847  (7727, 7727), (7729, 7729), (7731, 7731), (7733, 7733), (7735, 7735),
1848  (7737, 7737), (7739, 7739), (7741, 7741), (7743, 7743), (7745, 7745),
1849  (7747, 7747), (7749, 7749), (7751, 7751), (7753, 7753), (7755, 7755),
1850  (7757, 7757), (7759, 7759), (7761, 7761), (7763, 7763), (7765, 7765),
1851  (7767, 7767), (7769, 7769), (7771, 7771), (7773, 7773), (7775, 7775),
1852  (7777, 7777), (7779, 7779), (7781, 7781), (7783, 7783), (7785, 7785),
1853  (7787, 7787), (7789, 7789), (7791, 7791), (7793, 7793), (7795, 7795),
1854  (7797, 7797), (7799, 7799), (7801, 7801), (7803, 7803), (7805, 7805),
1855  (7807, 7807), (7809, 7809), (7811, 7811), (7813, 7813), (7815, 7815),
1856  (7817, 7817), (7819, 7819), (7821, 7821), (7823, 7823), (7825, 7825),
1857  (7827, 7827), (7829, 7837), (7839, 7839), (7841, 7841), (7843, 7843),
1858  (7845, 7845), (7847, 7847), (7849, 7849), (7851, 7851), (7853, 7853),
1859  (7855, 7855), (7857, 7857), (7859, 7859), (7861, 7861), (7863, 7863),
1860  (7865, 7865), (7867, 7867), (7869, 7869), (7871, 7871), (7873, 7873),
1861  (7875, 7875), (7877, 7877), (7879, 7879), (7881, 7881), (7883, 7883),
1862  (7885, 7885), (7887, 7887), (7889, 7889), (7891, 7891), (7893, 7893),
1863  (7895, 7895), (7897, 7897), (7899, 7899), (7901, 7901), (7903, 7903),
1864  (7905, 7905), (7907, 7907), (7909, 7909), (7911, 7911), (7913, 7913),
1865  (7915, 7915), (7917, 7917), (7919, 7919), (7921, 7921), (7923, 7923),
1866  (7925, 7925), (7927, 7927), (7929, 7929), (7931, 7931), (7933, 7933),
1867  (7935, 7943), (7952, 7957), (7968, 7975), (7984, 7991), (8000, 8005),
1868  (8016, 8023), (8032, 8039), (8048, 8061), (8064, 8071), (8080, 8087),
1869  (8096, 8103), (8112, 8116), (8118, 8119), (8126, 8126), (8130, 8132),
1870  (8134, 8135), (8144, 8147), (8150, 8151), (8160, 8167), (8178, 8180),
1871  (8182, 8183), (8305, 8305), (8319, 8319), (8336, 8348), (8458, 8458),
1872  (8462, 8463), (8467, 8467), (8495, 8495), (8500, 8500), (8505, 8505),
1873  (8508, 8509), (8518, 8521), (8526, 8526), (8560, 8575), (8580, 8580),
1874  (9424, 9449), (11312, 11359), (11361, 11361), (11365, 11366),
1875  (11368, 11368), (11370, 11370), (11372, 11372), (11377, 11377),
1876  (11379, 11380), (11382, 11389), (11393, 11393), (11395, 11395),
1877  (11397, 11397), (11399, 11399), (11401, 11401), (11403, 11403),
1878  (11405, 11405), (11407, 11407), (11409, 11409), (11411, 11411),
1879  (11413, 11413), (11415, 11415), (11417, 11417), (11419, 11419),
1880  (11421, 11421), (11423, 11423), (11425, 11425), (11427, 11427),
1881  (11429, 11429), (11431, 11431), (11433, 11433), (11435, 11435),
1882  (11437, 11437), (11439, 11439), (11441, 11441), (11443, 11443),
1883  (11445, 11445), (11447, 11447), (11449, 11449), (11451, 11451),
1884  (11453, 11453), (11455, 11455), (11457, 11457), (11459, 11459),
1885  (11461, 11461), (11463, 11463), (11465, 11465), (11467, 11467),
1886  (11469, 11469), (11471, 11471), (11473, 11473), (11475, 11475),
1887  (11477, 11477), (11479, 11479), (11481, 11481), (11483, 11483),
1888  (11485, 11485), (11487, 11487), (11489, 11489), (11491, 11492),
1889  (11500, 11500), (11502, 11502), (11507, 11507), (11520, 11557),
1890  (11559, 11559), (11565, 11565), (42561, 42561), (42563, 42563),
1891  (42565, 42565), (42567, 42567), (42569, 42569), (42571, 42571),
1892  (42573, 42573), (42575, 42575), (42577, 42577), (42579, 42579),
1893  (42581, 42581), (42583, 42583), (42585, 42585), (42587, 42587),
1894  (42589, 42589), (42591, 42591), (42593, 42593), (42595, 42595),
1895  (42597, 42597), (42599, 42599), (42601, 42601), (42603, 42603),
1896  (42605, 42605), (42625, 42625), (42627, 42627), (42629, 42629),
1897  (42631, 42631), (42633, 42633), (42635, 42635), (42637, 42637),
1898  (42639, 42639), (42641, 42641), (42643, 42643), (42645, 42645),
1899  (42647, 42647), (42649, 42649), (42651, 42653), (42787, 42787),
1900  (42789, 42789), (42791, 42791), (42793, 42793), (42795, 42795),
1901  (42797, 42797), (42799, 42801), (42803, 42803), (42805, 42805),
1902  (42807, 42807), (42809, 42809), (42811, 42811), (42813, 42813),
1903  (42815, 42815), (42817, 42817), (42819, 42819), (42821, 42821),
1904  (42823, 42823), (42825, 42825), (42827, 42827), (42829, 42829),
1905  (42831, 42831), (42833, 42833), (42835, 42835), (42837, 42837),
1906  (42839, 42839), (42841, 42841), (42843, 42843), (42845, 42845),
1907  (42847, 42847), (42849, 42849), (42851, 42851), (42853, 42853),
1908  (42855, 42855), (42857, 42857), (42859, 42859), (42861, 42861),
1909  (42863, 42872), (42874, 42874), (42876, 42876), (42879, 42879),
1910  (42881, 42881), (42883, 42883), (42885, 42885), (42887, 42887),
1911  (42892, 42892), (42894, 42894), (42897, 42897), (42899, 42901),
1912  (42903, 42903), (42905, 42905), (42907, 42907), (42909, 42909),
1913  (42911, 42911), (42913, 42913), (42915, 42915), (42917, 42917),
1914  (42919, 42919), (42921, 42921), (42927, 42927), (42933, 42933),
1915  (42935, 42935), (42937, 42937), (42939, 42939), (42941, 42941),
1916  (42943, 42943), (42945, 42945), (42947, 42947), (42952, 42952),
1917  (42954, 42954), (42961, 42961), (42963, 42963), (42965, 42965),
1918  (42967, 42967), (42969, 42969), (42998, 42998), (43000, 43002),
1919  (43824, 43866), (43868, 43880), (43888, 43967), (64256, 64262),
1920  (64275, 64279), (65345, 65370), (66600, 66639), (66776, 66811),
1921  (66967, 66977), (66979, 66993), (66995, 67001), (67003, 67004),
1922  (67456, 67456), (67459, 67461), (67463, 67504), (67506, 67514),
1923  (68800, 68850), (71872, 71903), (93792, 93823), (119834, 119859),
1924  (119886, 119892), (119894, 119911), (119938, 119963), (119990, 119993),
1925  (119995, 119995), (119997, 120003), (120005, 120015), (120042, 120067),
1926  (120094, 120119), (120146, 120171), (120198, 120223), (120250, 120275),
1927  (120302, 120327), (120354, 120379), (120406, 120431), (120458, 120485),
1928  (120514, 120538), (120540, 120545), (120572, 120596), (120598, 120603),
1929  (120630, 120654), (120656, 120661), (120688, 120712), (120714, 120719),
1930  (120746, 120770), (120772, 120777), (120779, 120779), (122624, 122633),
1931  (122635, 122654), (125218, 125251),
1932];
1933
1934pub const MATH: &'static [(u32, u32)] = &[
1935  (43, 43), (60, 62), (94, 94), (124, 124), (126, 126), (172, 172),
1936  (177, 177), (215, 215), (247, 247), (976, 978), (981, 981), (1008, 1009),
1937  (1012, 1014), (1542, 1544), (8214, 8214), (8242, 8244), (8256, 8256),
1938  (8260, 8260), (8274, 8274), (8289, 8292), (8314, 8318), (8330, 8334),
1939  (8400, 8412), (8417, 8417), (8421, 8422), (8427, 8431), (8450, 8450),
1940  (8455, 8455), (8458, 8467), (8469, 8469), (8472, 8477), (8484, 8484),
1941  (8488, 8489), (8492, 8493), (8495, 8497), (8499, 8504), (8508, 8521),
1942  (8523, 8523), (8592, 8615), (8617, 8622), (8624, 8625), (8630, 8631),
1943  (8636, 8667), (8669, 8669), (8676, 8677), (8692, 8959), (8968, 8971),
1944  (8992, 8993), (9084, 9084), (9115, 9141), (9143, 9143), (9168, 9168),
1945  (9180, 9186), (9632, 9633), (9646, 9655), (9660, 9665), (9670, 9671),
1946  (9674, 9675), (9679, 9683), (9698, 9698), (9700, 9700), (9703, 9708),
1947  (9720, 9727), (9733, 9734), (9792, 9792), (9794, 9794), (9824, 9827),
1948  (9837, 9839), (10176, 10239), (10496, 11007), (11056, 11076),
1949  (11079, 11084), (64297, 64297), (65121, 65126), (65128, 65128),
1950  (65291, 65291), (65308, 65310), (65340, 65340), (65342, 65342),
1951  (65372, 65372), (65374, 65374), (65506, 65506), (65513, 65516),
1952  (119808, 119892), (119894, 119964), (119966, 119967), (119970, 119970),
1953  (119973, 119974), (119977, 119980), (119982, 119993), (119995, 119995),
1954  (119997, 120003), (120005, 120069), (120071, 120074), (120077, 120084),
1955  (120086, 120092), (120094, 120121), (120123, 120126), (120128, 120132),
1956  (120134, 120134), (120138, 120144), (120146, 120485), (120488, 120779),
1957  (120782, 120831), (126464, 126467), (126469, 126495), (126497, 126498),
1958  (126500, 126500), (126503, 126503), (126505, 126514), (126516, 126519),
1959  (126521, 126521), (126523, 126523), (126530, 126530), (126535, 126535),
1960  (126537, 126537), (126539, 126539), (126541, 126543), (126545, 126546),
1961  (126548, 126548), (126551, 126551), (126553, 126553), (126555, 126555),
1962  (126557, 126557), (126559, 126559), (126561, 126562), (126564, 126564),
1963  (126567, 126570), (126572, 126578), (126580, 126583), (126585, 126588),
1964  (126590, 126590), (126592, 126601), (126603, 126619), (126625, 126627),
1965  (126629, 126633), (126635, 126651), (126704, 126705),
1966];
1967
1968pub const NONCHARACTER_CODE_POINT: &'static [(u32, u32)] = &[
1969  (64976, 65007), (65534, 65535), (131070, 131071), (196606, 196607),
1970  (262142, 262143), (327678, 327679), (393214, 393215), (458750, 458751),
1971  (524286, 524287), (589822, 589823), (655358, 655359), (720894, 720895),
1972  (786430, 786431), (851966, 851967), (917502, 917503), (983038, 983039),
1973  (1048574, 1048575), (1114110, 1114111),
1974];
1975
1976pub const OTHER_ALPHABETIC: &'static [(u32, u32)] = &[
1977  (837, 837), (1456, 1469), (1471, 1471), (1473, 1474), (1476, 1477),
1978  (1479, 1479), (1552, 1562), (1611, 1623), (1625, 1631), (1648, 1648),
1979  (1750, 1756), (1761, 1764), (1767, 1768), (1773, 1773), (1809, 1809),
1980  (1840, 1855), (1958, 1968), (2070, 2071), (2075, 2083), (2085, 2087),
1981  (2089, 2092), (2260, 2271), (2275, 2281), (2288, 2307), (2362, 2363),
1982  (2366, 2380), (2382, 2383), (2389, 2391), (2402, 2403), (2433, 2435),
1983  (2494, 2500), (2503, 2504), (2507, 2508), (2519, 2519), (2530, 2531),
1984  (2561, 2563), (2622, 2626), (2631, 2632), (2635, 2636), (2641, 2641),
1985  (2672, 2673), (2677, 2677), (2689, 2691), (2750, 2757), (2759, 2761),
1986  (2763, 2764), (2786, 2787), (2810, 2812), (2817, 2819), (2878, 2884),
1987  (2887, 2888), (2891, 2892), (2902, 2903), (2914, 2915), (2946, 2946),
1988  (3006, 3010), (3014, 3016), (3018, 3020), (3031, 3031), (3072, 3075),
1989  (3134, 3140), (3142, 3144), (3146, 3148), (3157, 3158), (3170, 3171),
1990  (3201, 3203), (3262, 3268), (3270, 3272), (3274, 3276), (3285, 3286),
1991  (3298, 3299), (3328, 3331), (3390, 3396), (3398, 3400), (3402, 3404),
1992  (3415, 3415), (3426, 3427), (3457, 3459), (3535, 3540), (3542, 3542),
1993  (3544, 3551), (3570, 3571), (3633, 3633), (3636, 3642), (3661, 3661),
1994  (3761, 3761), (3764, 3769), (3771, 3772), (3789, 3789), (3953, 3969),
1995  (3981, 3991), (3993, 4028), (4139, 4150), (4152, 4152), (4155, 4158),
1996  (4182, 4185), (4190, 4192), (4194, 4196), (4199, 4205), (4209, 4212),
1997  (4226, 4237), (4239, 4239), (4250, 4253), (5906, 5907), (5938, 5939),
1998  (5970, 5971), (6002, 6003), (6070, 6088), (6277, 6278), (6313, 6313),
1999  (6432, 6443), (6448, 6456), (6679, 6683), (6741, 6750), (6753, 6772),
2000  (6847, 6848), (6860, 6862), (6912, 6916), (6965, 6979), (7040, 7042),
2001  (7073, 7081), (7084, 7085), (7143, 7153), (7204, 7222), (7655, 7668),
2002  (9398, 9449), (11744, 11775), (42612, 42619), (42654, 42655),
2003  (43010, 43010), (43019, 43019), (43043, 43047), (43136, 43137),
2004  (43188, 43203), (43205, 43205), (43263, 43263), (43302, 43306),
2005  (43335, 43346), (43392, 43395), (43444, 43455), (43493, 43493),
2006  (43561, 43574), (43587, 43587), (43596, 43597), (43643, 43645),
2007  (43696, 43696), (43698, 43700), (43703, 43704), (43710, 43710),
2008  (43755, 43759), (43765, 43765), (44003, 44010), (64286, 64286),
2009  (66422, 66426), (68097, 68099), (68101, 68102), (68108, 68111),
2010  (68900, 68903), (69291, 69292), (69632, 69634), (69688, 69701),
2011  (69747, 69748), (69762, 69762), (69808, 69816), (69826, 69826),
2012  (69888, 69890), (69927, 69938), (69957, 69958), (70016, 70018),
2013  (70067, 70079), (70094, 70095), (70188, 70196), (70199, 70199),
2014  (70206, 70206), (70367, 70376), (70400, 70403), (70462, 70468),
2015  (70471, 70472), (70475, 70476), (70487, 70487), (70498, 70499),
2016  (70709, 70721), (70723, 70725), (70832, 70849), (71087, 71093),
2017  (71096, 71102), (71132, 71133), (71216, 71230), (71232, 71232),
2018  (71339, 71349), (71453, 71466), (71724, 71736), (71984, 71989),
2019  (71991, 71992), (71995, 71996), (72000, 72000), (72002, 72002),
2020  (72145, 72151), (72154, 72159), (72164, 72164), (72193, 72202),
2021  (72245, 72249), (72251, 72254), (72273, 72283), (72330, 72343),
2022  (72751, 72758), (72760, 72766), (72850, 72871), (72873, 72886),
2023  (73009, 73014), (73018, 73018), (73020, 73021), (73023, 73025),
2024  (73027, 73027), (73031, 73031), (73098, 73102), (73104, 73105),
2025  (73107, 73110), (73459, 73462), (94031, 94031), (94033, 94087),
2026  (94095, 94098), (94192, 94193), (113822, 113822), (122880, 122886),
2027  (122888, 122904), (122907, 122913), (122915, 122916), (122918, 122922),
2028  (125255, 125255), (127280, 127305), (127312, 127337), (127344, 127369),
2029];
2030
2031pub const OTHER_DEFAULT_IGNORABLE_CODE_POINT: &'static [(u32, u32)] = &[
2032  (847, 847), (4447, 4448), (6068, 6069), (8293, 8293), (12644, 12644),
2033  (65440, 65440), (65520, 65528), (917504, 917504), (917506, 917535),
2034  (917632, 917759), (918000, 921599),
2035];
2036
2037pub const OTHER_GRAPHEME_EXTEND: &'static [(u32, u32)] = &[
2038  (2494, 2494), (2519, 2519), (2878, 2878), (2903, 2903), (3006, 3006),
2039  (3031, 3031), (3266, 3266), (3285, 3286), (3390, 3390), (3415, 3415),
2040  (3535, 3535), (3551, 3551), (6965, 6965), (8204, 8204), (12334, 12335),
2041  (65438, 65439), (70462, 70462), (70487, 70487), (70832, 70832),
2042  (70845, 70845), (71087, 71087), (71984, 71984), (119141, 119141),
2043  (119150, 119154), (917536, 917631),
2044];
2045
2046pub const OTHER_ID_CONTINUE: &'static [(u32, u32)] = &[
2047  (183, 183), (903, 903), (4969, 4977), (6618, 6618),
2048];
2049
2050pub const OTHER_ID_START: &'static [(u32, u32)] = &[
2051  (6277, 6278), (8472, 8472), (8494, 8494), (12443, 12444),
2052];
2053
2054pub const OTHER_LOWERCASE: &'static [(u32, u32)] = &[
2055  (170, 170), (186, 186), (688, 696), (704, 705), (736, 740), (837, 837),
2056  (890, 890), (7468, 7530), (7544, 7544), (7579, 7615), (8305, 8305),
2057  (8319, 8319), (8336, 8348), (8560, 8575), (9424, 9449), (11388, 11389),
2058  (42652, 42653), (42864, 42864), (43000, 43001), (43868, 43871),
2059  (67456, 67456), (67459, 67461), (67463, 67504), (67506, 67514),
2060];
2061
2062pub const OTHER_MATH: &'static [(u32, u32)] = &[
2063  (94, 94), (976, 978), (981, 981), (1008, 1009), (1012, 1013), (8214, 8214),
2064  (8242, 8244), (8256, 8256), (8289, 8292), (8317, 8318), (8333, 8334),
2065  (8400, 8412), (8417, 8417), (8421, 8422), (8427, 8431), (8450, 8450),
2066  (8455, 8455), (8458, 8467), (8469, 8469), (8473, 8477), (8484, 8484),
2067  (8488, 8489), (8492, 8493), (8495, 8497), (8499, 8504), (8508, 8511),
2068  (8517, 8521), (8597, 8601), (8604, 8607), (8609, 8610), (8612, 8613),
2069  (8615, 8615), (8617, 8621), (8624, 8625), (8630, 8631), (8636, 8653),
2070  (8656, 8657), (8659, 8659), (8661, 8667), (8669, 8669), (8676, 8677),
2071  (8968, 8971), (9140, 9141), (9143, 9143), (9168, 9168), (9186, 9186),
2072  (9632, 9633), (9646, 9654), (9660, 9664), (9670, 9671), (9674, 9675),
2073  (9679, 9683), (9698, 9698), (9700, 9700), (9703, 9708), (9733, 9734),
2074  (9792, 9792), (9794, 9794), (9824, 9827), (9837, 9838), (10181, 10182),
2075  (10214, 10223), (10627, 10648), (10712, 10715), (10748, 10749),
2076  (65121, 65121), (65123, 65123), (65128, 65128), (65340, 65340),
2077  (65342, 65342), (119808, 119892), (119894, 119964), (119966, 119967),
2078  (119970, 119970), (119973, 119974), (119977, 119980), (119982, 119993),
2079  (119995, 119995), (119997, 120003), (120005, 120069), (120071, 120074),
2080  (120077, 120084), (120086, 120092), (120094, 120121), (120123, 120126),
2081  (120128, 120132), (120134, 120134), (120138, 120144), (120146, 120485),
2082  (120488, 120512), (120514, 120538), (120540, 120570), (120572, 120596),
2083  (120598, 120628), (120630, 120654), (120656, 120686), (120688, 120712),
2084  (120714, 120744), (120746, 120770), (120772, 120779), (120782, 120831),
2085  (126464, 126467), (126469, 126495), (126497, 126498), (126500, 126500),
2086  (126503, 126503), (126505, 126514), (126516, 126519), (126521, 126521),
2087  (126523, 126523), (126530, 126530), (126535, 126535), (126537, 126537),
2088  (126539, 126539), (126541, 126543), (126545, 126546), (126548, 126548),
2089  (126551, 126551), (126553, 126553), (126555, 126555), (126557, 126557),
2090  (126559, 126559), (126561, 126562), (126564, 126564), (126567, 126570),
2091  (126572, 126578), (126580, 126583), (126585, 126588), (126590, 126590),
2092  (126592, 126601), (126603, 126619), (126625, 126627), (126629, 126633),
2093  (126635, 126651),
2094];
2095
2096pub const OTHER_UPPERCASE: &'static [(u32, u32)] = &[
2097  (8544, 8559), (9398, 9423), (127280, 127305), (127312, 127337),
2098  (127344, 127369),
2099];
2100
2101pub const PATTERN_SYNTAX: &'static [(u32, u32)] = &[
2102  (33, 47), (58, 64), (91, 94), (96, 96), (123, 126), (161, 167), (169, 169),
2103  (171, 172), (174, 174), (176, 177), (182, 182), (187, 187), (191, 191),
2104  (215, 215), (247, 247), (8208, 8231), (8240, 8254), (8257, 8275),
2105  (8277, 8286), (8592, 9311), (9472, 10101), (10132, 11263), (11776, 11903),
2106  (12289, 12291), (12296, 12320), (12336, 12336), (64830, 64831),
2107  (65093, 65094),
2108];
2109
2110pub const PATTERN_WHITE_SPACE: &'static [(u32, u32)] = &[
2111  (9, 13), (32, 32), (133, 133), (8206, 8207), (8232, 8233),
2112];
2113
2114pub const PREPENDED_CONCATENATION_MARK: &'static [(u32, u32)] = &[
2115  (1536, 1541), (1757, 1757), (1807, 1807), (2192, 2193), (2274, 2274),
2116  (69821, 69821), (69837, 69837),
2117];
2118
2119pub const QUOTATION_MARK: &'static [(u32, u32)] = &[
2120  (34, 34), (39, 39), (171, 171), (187, 187), (8216, 8223), (8249, 8250),
2121  (11842, 11842), (12300, 12303), (12317, 12319), (65089, 65092),
2122  (65282, 65282), (65287, 65287), (65378, 65379),
2123];
2124
2125pub const RADICAL: &'static [(u32, u32)] = &[
2126  (11904, 11929), (11931, 12019), (12032, 12245),
2127];
2128
2129pub const REGIONAL_INDICATOR: &'static [(u32, u32)] = &[
2130  (127462, 127487),
2131];
2132
2133pub const SENTENCE_TERMINAL: &'static [(u32, u32)] = &[
2134  (33, 33), (46, 46), (63, 63), (1417, 1417), (1565, 1567), (1748, 1748),
2135  (1792, 1794), (2041, 2041), (2103, 2103), (2105, 2105), (2109, 2110),
2136  (2404, 2405), (4170, 4171), (4962, 4962), (4967, 4968), (5742, 5742),
2137  (5941, 5942), (6147, 6147), (6153, 6153), (6468, 6469), (6824, 6827),
2138  (7002, 7003), (7006, 7007), (7037, 7038), (7227, 7228), (7294, 7295),
2139  (8252, 8253), (8263, 8265), (11822, 11822), (11836, 11836), (11859, 11860),
2140  (12290, 12290), (42239, 42239), (42510, 42511), (42739, 42739),
2141  (42743, 42743), (43126, 43127), (43214, 43215), (43311, 43311),
2142  (43464, 43465), (43613, 43615), (43760, 43761), (44011, 44011),
2143  (65106, 65106), (65110, 65111), (65281, 65281), (65294, 65294),
2144  (65311, 65311), (65377, 65377), (68182, 68183), (69461, 69465),
2145  (69510, 69513), (69703, 69704), (69822, 69825), (69953, 69955),
2146  (70085, 70086), (70093, 70093), (70110, 70111), (70200, 70201),
2147  (70203, 70204), (70313, 70313), (70731, 70732), (71106, 71107),
2148  (71113, 71127), (71233, 71234), (71484, 71486), (72004, 72004),
2149  (72006, 72006), (72258, 72259), (72347, 72348), (72769, 72770),
2150  (73463, 73464), (92782, 92783), (92917, 92917), (92983, 92984),
2151  (92996, 92996), (93848, 93848), (113823, 113823), (121480, 121480),
2152];
2153
2154pub const SOFT_DOTTED: &'static [(u32, u32)] = &[
2155  (105, 106), (303, 303), (585, 585), (616, 616), (669, 669), (690, 690),
2156  (1011, 1011), (1110, 1110), (1112, 1112), (7522, 7522), (7574, 7574),
2157  (7588, 7588), (7592, 7592), (7725, 7725), (7883, 7883), (8305, 8305),
2158  (8520, 8521), (11388, 11388), (119842, 119843), (119894, 119895),
2159  (119946, 119947), (119998, 119999), (120050, 120051), (120102, 120103),
2160  (120154, 120155), (120206, 120207), (120258, 120259), (120310, 120311),
2161  (120362, 120363), (120414, 120415), (120466, 120467), (122650, 122650),
2162];
2163
2164pub const TERMINAL_PUNCTUATION: &'static [(u32, u32)] = &[
2165  (33, 33), (44, 44), (46, 46), (58, 59), (63, 63), (894, 894), (903, 903),
2166  (1417, 1417), (1475, 1475), (1548, 1548), (1563, 1563), (1565, 1567),
2167  (1748, 1748), (1792, 1802), (1804, 1804), (2040, 2041), (2096, 2110),
2168  (2142, 2142), (2404, 2405), (3674, 3675), (3848, 3848), (3853, 3858),
2169  (4170, 4171), (4961, 4968), (5742, 5742), (5867, 5869), (5941, 5942),
2170  (6100, 6102), (6106, 6106), (6146, 6149), (6152, 6153), (6468, 6469),
2171  (6824, 6827), (7002, 7003), (7005, 7007), (7037, 7038), (7227, 7231),
2172  (7294, 7295), (8252, 8253), (8263, 8265), (11822, 11822), (11836, 11836),
2173  (11841, 11841), (11852, 11852), (11854, 11855), (11859, 11860),
2174  (12289, 12290), (42238, 42239), (42509, 42511), (42739, 42743),
2175  (43126, 43127), (43214, 43215), (43311, 43311), (43463, 43465),
2176  (43613, 43615), (43743, 43743), (43760, 43761), (44011, 44011),
2177  (65104, 65106), (65108, 65111), (65281, 65281), (65292, 65292),
2178  (65294, 65294), (65306, 65307), (65311, 65311), (65377, 65377),
2179  (65380, 65380), (66463, 66463), (66512, 66512), (67671, 67671),
2180  (67871, 67871), (68182, 68183), (68336, 68341), (68410, 68415),
2181  (68505, 68508), (69461, 69465), (69510, 69513), (69703, 69709),
2182  (69822, 69825), (69953, 69955), (70085, 70086), (70093, 70093),
2183  (70110, 70111), (70200, 70204), (70313, 70313), (70731, 70733),
2184  (70746, 70747), (71106, 71109), (71113, 71127), (71233, 71234),
2185  (71484, 71486), (72004, 72004), (72006, 72006), (72258, 72259),
2186  (72347, 72348), (72353, 72354), (72769, 72771), (72817, 72817),
2187  (73463, 73464), (74864, 74868), (92782, 92783), (92917, 92917),
2188  (92983, 92985), (92996, 92996), (93847, 93848), (113823, 113823),
2189  (121479, 121482),
2190];
2191
2192pub const UNIFIED_IDEOGRAPH: &'static [(u32, u32)] = &[
2193  (13312, 19903), (19968, 40959), (64014, 64015), (64017, 64017),
2194  (64019, 64020), (64031, 64031), (64033, 64033), (64035, 64036),
2195  (64039, 64041), (131072, 173791), (173824, 177976), (177984, 178205),
2196  (178208, 183969), (183984, 191456), (196608, 201546),
2197];
2198
2199pub const UPPERCASE: &'static [(u32, u32)] = &[
2200  (65, 90), (192, 214), (216, 222), (256, 256), (258, 258), (260, 260),
2201  (262, 262), (264, 264), (266, 266), (268, 268), (270, 270), (272, 272),
2202  (274, 274), (276, 276), (278, 278), (280, 280), (282, 282), (284, 284),
2203  (286, 286), (288, 288), (290, 290), (292, 292), (294, 294), (296, 296),
2204  (298, 298), (300, 300), (302, 302), (304, 304), (306, 306), (308, 308),
2205  (310, 310), (313, 313), (315, 315), (317, 317), (319, 319), (321, 321),
2206  (323, 323), (325, 325), (327, 327), (330, 330), (332, 332), (334, 334),
2207  (336, 336), (338, 338), (340, 340), (342, 342), (344, 344), (346, 346),
2208  (348, 348), (350, 350), (352, 352), (354, 354), (356, 356), (358, 358),
2209  (360, 360), (362, 362), (364, 364), (366, 366), (368, 368), (370, 370),
2210  (372, 372), (374, 374), (376, 377), (379, 379), (381, 381), (385, 386),
2211  (388, 388), (390, 391), (393, 395), (398, 401), (403, 404), (406, 408),
2212  (412, 413), (415, 416), (418, 418), (420, 420), (422, 423), (425, 425),
2213  (428, 428), (430, 431), (433, 435), (437, 437), (439, 440), (444, 444),
2214  (452, 452), (455, 455), (458, 458), (461, 461), (463, 463), (465, 465),
2215  (467, 467), (469, 469), (471, 471), (473, 473), (475, 475), (478, 478),
2216  (480, 480), (482, 482), (484, 484), (486, 486), (488, 488), (490, 490),
2217  (492, 492), (494, 494), (497, 497), (500, 500), (502, 504), (506, 506),
2218  (508, 508), (510, 510), (512, 512), (514, 514), (516, 516), (518, 518),
2219  (520, 520), (522, 522), (524, 524), (526, 526), (528, 528), (530, 530),
2220  (532, 532), (534, 534), (536, 536), (538, 538), (540, 540), (542, 542),
2221  (544, 544), (546, 546), (548, 548), (550, 550), (552, 552), (554, 554),
2222  (556, 556), (558, 558), (560, 560), (562, 562), (570, 571), (573, 574),
2223  (577, 577), (579, 582), (584, 584), (586, 586), (588, 588), (590, 590),
2224  (880, 880), (882, 882), (886, 886), (895, 895), (902, 902), (904, 906),
2225  (908, 908), (910, 911), (913, 929), (931, 939), (975, 975), (978, 980),
2226  (984, 984), (986, 986), (988, 988), (990, 990), (992, 992), (994, 994),
2227  (996, 996), (998, 998), (1000, 1000), (1002, 1002), (1004, 1004),
2228  (1006, 1006), (1012, 1012), (1015, 1015), (1017, 1018), (1021, 1071),
2229  (1120, 1120), (1122, 1122), (1124, 1124), (1126, 1126), (1128, 1128),
2230  (1130, 1130), (1132, 1132), (1134, 1134), (1136, 1136), (1138, 1138),
2231  (1140, 1140), (1142, 1142), (1144, 1144), (1146, 1146), (1148, 1148),
2232  (1150, 1150), (1152, 1152), (1162, 1162), (1164, 1164), (1166, 1166),
2233  (1168, 1168), (1170, 1170), (1172, 1172), (1174, 1174), (1176, 1176),
2234  (1178, 1178), (1180, 1180), (1182, 1182), (1184, 1184), (1186, 1186),
2235  (1188, 1188), (1190, 1190), (1192, 1192), (1194, 1194), (1196, 1196),
2236  (1198, 1198), (1200, 1200), (1202, 1202), (1204, 1204), (1206, 1206),
2237  (1208, 1208), (1210, 1210), (1212, 1212), (1214, 1214), (1216, 1217),
2238  (1219, 1219), (1221, 1221), (1223, 1223), (1225, 1225), (1227, 1227),
2239  (1229, 1229), (1232, 1232), (1234, 1234), (1236, 1236), (1238, 1238),
2240  (1240, 1240), (1242, 1242), (1244, 1244), (1246, 1246), (1248, 1248),
2241  (1250, 1250), (1252, 1252), (1254, 1254), (1256, 1256), (1258, 1258),
2242  (1260, 1260), (1262, 1262), (1264, 1264), (1266, 1266), (1268, 1268),
2243  (1270, 1270), (1272, 1272), (1274, 1274), (1276, 1276), (1278, 1278),
2244  (1280, 1280), (1282, 1282), (1284, 1284), (1286, 1286), (1288, 1288),
2245  (1290, 1290), (1292, 1292), (1294, 1294), (1296, 1296), (1298, 1298),
2246  (1300, 1300), (1302, 1302), (1304, 1304), (1306, 1306), (1308, 1308),
2247  (1310, 1310), (1312, 1312), (1314, 1314), (1316, 1316), (1318, 1318),
2248  (1320, 1320), (1322, 1322), (1324, 1324), (1326, 1326), (1329, 1366),
2249  (4256, 4293), (4295, 4295), (4301, 4301), (5024, 5109), (7312, 7354),
2250  (7357, 7359), (7680, 7680), (7682, 7682), (7684, 7684), (7686, 7686),
2251  (7688, 7688), (7690, 7690), (7692, 7692), (7694, 7694), (7696, 7696),
2252  (7698, 7698), (7700, 7700), (7702, 7702), (7704, 7704), (7706, 7706),
2253  (7708, 7708), (7710, 7710), (7712, 7712), (7714, 7714), (7716, 7716),
2254  (7718, 7718), (7720, 7720), (7722, 7722), (7724, 7724), (7726, 7726),
2255  (7728, 7728), (7730, 7730), (7732, 7732), (7734, 7734), (7736, 7736),
2256  (7738, 7738), (7740, 7740), (7742, 7742), (7744, 7744), (7746, 7746),
2257  (7748, 7748), (7750, 7750), (7752, 7752), (7754, 7754), (7756, 7756),
2258  (7758, 7758), (7760, 7760), (7762, 7762), (7764, 7764), (7766, 7766),
2259  (7768, 7768), (7770, 7770), (7772, 7772), (7774, 7774), (7776, 7776),
2260  (7778, 7778), (7780, 7780), (7782, 7782), (7784, 7784), (7786, 7786),
2261  (7788, 7788), (7790, 7790), (7792, 7792), (7794, 7794), (7796, 7796),
2262  (7798, 7798), (7800, 7800), (7802, 7802), (7804, 7804), (7806, 7806),
2263  (7808, 7808), (7810, 7810), (7812, 7812), (7814, 7814), (7816, 7816),
2264  (7818, 7818), (7820, 7820), (7822, 7822), (7824, 7824), (7826, 7826),
2265  (7828, 7828), (7838, 7838), (7840, 7840), (7842, 7842), (7844, 7844),
2266  (7846, 7846), (7848, 7848), (7850, 7850), (7852, 7852), (7854, 7854),
2267  (7856, 7856), (7858, 7858), (7860, 7860), (7862, 7862), (7864, 7864),
2268  (7866, 7866), (7868, 7868), (7870, 7870), (7872, 7872), (7874, 7874),
2269  (7876, 7876), (7878, 7878), (7880, 7880), (7882, 7882), (7884, 7884),
2270  (7886, 7886), (7888, 7888), (7890, 7890), (7892, 7892), (7894, 7894),
2271  (7896, 7896), (7898, 7898), (7900, 7900), (7902, 7902), (7904, 7904),
2272  (7906, 7906), (7908, 7908), (7910, 7910), (7912, 7912), (7914, 7914),
2273  (7916, 7916), (7918, 7918), (7920, 7920), (7922, 7922), (7924, 7924),
2274  (7926, 7926), (7928, 7928), (7930, 7930), (7932, 7932), (7934, 7934),
2275  (7944, 7951), (7960, 7965), (7976, 7983), (7992, 7999), (8008, 8013),
2276  (8025, 8025), (8027, 8027), (8029, 8029), (8031, 8031), (8040, 8047),
2277  (8120, 8123), (8136, 8139), (8152, 8155), (8168, 8172), (8184, 8187),
2278  (8450, 8450), (8455, 8455), (8459, 8461), (8464, 8466), (8469, 8469),
2279  (8473, 8477), (8484, 8484), (8486, 8486), (8488, 8488), (8490, 8493),
2280  (8496, 8499), (8510, 8511), (8517, 8517), (8544, 8559), (8579, 8579),
2281  (9398, 9423), (11264, 11311), (11360, 11360), (11362, 11364),
2282  (11367, 11367), (11369, 11369), (11371, 11371), (11373, 11376),
2283  (11378, 11378), (11381, 11381), (11390, 11392), (11394, 11394),
2284  (11396, 11396), (11398, 11398), (11400, 11400), (11402, 11402),
2285  (11404, 11404), (11406, 11406), (11408, 11408), (11410, 11410),
2286  (11412, 11412), (11414, 11414), (11416, 11416), (11418, 11418),
2287  (11420, 11420), (11422, 11422), (11424, 11424), (11426, 11426),
2288  (11428, 11428), (11430, 11430), (11432, 11432), (11434, 11434),
2289  (11436, 11436), (11438, 11438), (11440, 11440), (11442, 11442),
2290  (11444, 11444), (11446, 11446), (11448, 11448), (11450, 11450),
2291  (11452, 11452), (11454, 11454), (11456, 11456), (11458, 11458),
2292  (11460, 11460), (11462, 11462), (11464, 11464), (11466, 11466),
2293  (11468, 11468), (11470, 11470), (11472, 11472), (11474, 11474),
2294  (11476, 11476), (11478, 11478), (11480, 11480), (11482, 11482),
2295  (11484, 11484), (11486, 11486), (11488, 11488), (11490, 11490),
2296  (11499, 11499), (11501, 11501), (11506, 11506), (42560, 42560),
2297  (42562, 42562), (42564, 42564), (42566, 42566), (42568, 42568),
2298  (42570, 42570), (42572, 42572), (42574, 42574), (42576, 42576),
2299  (42578, 42578), (42580, 42580), (42582, 42582), (42584, 42584),
2300  (42586, 42586), (42588, 42588), (42590, 42590), (42592, 42592),
2301  (42594, 42594), (42596, 42596), (42598, 42598), (42600, 42600),
2302  (42602, 42602), (42604, 42604), (42624, 42624), (42626, 42626),
2303  (42628, 42628), (42630, 42630), (42632, 42632), (42634, 42634),
2304  (42636, 42636), (42638, 42638), (42640, 42640), (42642, 42642),
2305  (42644, 42644), (42646, 42646), (42648, 42648), (42650, 42650),
2306  (42786, 42786), (42788, 42788), (42790, 42790), (42792, 42792),
2307  (42794, 42794), (42796, 42796), (42798, 42798), (42802, 42802),
2308  (42804, 42804), (42806, 42806), (42808, 42808), (42810, 42810),
2309  (42812, 42812), (42814, 42814), (42816, 42816), (42818, 42818),
2310  (42820, 42820), (42822, 42822), (42824, 42824), (42826, 42826),
2311  (42828, 42828), (42830, 42830), (42832, 42832), (42834, 42834),
2312  (42836, 42836), (42838, 42838), (42840, 42840), (42842, 42842),
2313  (42844, 42844), (42846, 42846), (42848, 42848), (42850, 42850),
2314  (42852, 42852), (42854, 42854), (42856, 42856), (42858, 42858),
2315  (42860, 42860), (42862, 42862), (42873, 42873), (42875, 42875),
2316  (42877, 42878), (42880, 42880), (42882, 42882), (42884, 42884),
2317  (42886, 42886), (42891, 42891), (42893, 42893), (42896, 42896),
2318  (42898, 42898), (42902, 42902), (42904, 42904), (42906, 42906),
2319  (42908, 42908), (42910, 42910), (42912, 42912), (42914, 42914),
2320  (42916, 42916), (42918, 42918), (42920, 42920), (42922, 42926),
2321  (42928, 42932), (42934, 42934), (42936, 42936), (42938, 42938),
2322  (42940, 42940), (42942, 42942), (42944, 42944), (42946, 42946),
2323  (42948, 42951), (42953, 42953), (42960, 42960), (42966, 42966),
2324  (42968, 42968), (42997, 42997), (65313, 65338), (66560, 66599),
2325  (66736, 66771), (66928, 66938), (66940, 66954), (66956, 66962),
2326  (66964, 66965), (68736, 68786), (71840, 71871), (93760, 93791),
2327  (119808, 119833), (119860, 119885), (119912, 119937), (119964, 119964),
2328  (119966, 119967), (119970, 119970), (119973, 119974), (119977, 119980),
2329  (119982, 119989), (120016, 120041), (120068, 120069), (120071, 120074),
2330  (120077, 120084), (120086, 120092), (120120, 120121), (120123, 120126),
2331  (120128, 120132), (120134, 120134), (120138, 120144), (120172, 120197),
2332  (120224, 120249), (120276, 120301), (120328, 120353), (120380, 120405),
2333  (120432, 120457), (120488, 120512), (120546, 120570), (120604, 120628),
2334  (120662, 120686), (120720, 120744), (120778, 120778), (125184, 125217),
2335  (127280, 127305), (127312, 127337), (127344, 127369),
2336];
2337
2338pub const VARIATION_SELECTOR: &'static [(u32, u32)] = &[
2339  (6155, 6157), (6159, 6159), (65024, 65039), (917760, 917999),
2340];
2341
2342pub const WHITE_SPACE: &'static [(u32, u32)] = &[
2343  (9, 13), (32, 32), (133, 133), (160, 160), (5760, 5760), (8192, 8202),
2344  (8232, 8233), (8239, 8239), (8287, 8287), (12288, 12288),
2345];
2346
2347pub const XID_CONTINUE: &'static [(u32, u32)] = &[
2348  (48, 57), (65, 90), (95, 95), (97, 122), (170, 170), (181, 181), (183, 183),
2349  (186, 186), (192, 214), (216, 246), (248, 705), (710, 721), (736, 740),
2350  (748, 748), (750, 750), (768, 884), (886, 887), (891, 893), (895, 895),
2351  (902, 906), (908, 908), (910, 929), (931, 1013), (1015, 1153), (1155, 1159),
2352  (1162, 1327), (1329, 1366), (1369, 1369), (1376, 1416), (1425, 1469),
2353  (1471, 1471), (1473, 1474), (1476, 1477), (1479, 1479), (1488, 1514),
2354  (1519, 1522), (1552, 1562), (1568, 1641), (1646, 1747), (1749, 1756),
2355  (1759, 1768), (1770, 1788), (1791, 1791), (1808, 1866), (1869, 1969),
2356  (1984, 2037), (2042, 2042), (2045, 2045), (2048, 2093), (2112, 2139),
2357  (2144, 2154), (2160, 2183), (2185, 2190), (2200, 2273), (2275, 2403),
2358  (2406, 2415), (2417, 2435), (2437, 2444), (2447, 2448), (2451, 2472),
2359  (2474, 2480), (2482, 2482), (2486, 2489), (2492, 2500), (2503, 2504),
2360  (2507, 2510), (2519, 2519), (2524, 2525), (2527, 2531), (2534, 2545),
2361  (2556, 2556), (2558, 2558), (2561, 2563), (2565, 2570), (2575, 2576),
2362  (2579, 2600), (2602, 2608), (2610, 2611), (2613, 2614), (2616, 2617),
2363  (2620, 2620), (2622, 2626), (2631, 2632), (2635, 2637), (2641, 2641),
2364  (2649, 2652), (2654, 2654), (2662, 2677), (2689, 2691), (2693, 2701),
2365  (2703, 2705), (2707, 2728), (2730, 2736), (2738, 2739), (2741, 2745),
2366  (2748, 2757), (2759, 2761), (2763, 2765), (2768, 2768), (2784, 2787),
2367  (2790, 2799), (2809, 2815), (2817, 2819), (2821, 2828), (2831, 2832),
2368  (2835, 2856), (2858, 2864), (2866, 2867), (2869, 2873), (2876, 2884),
2369  (2887, 2888), (2891, 2893), (2901, 2903), (2908, 2909), (2911, 2915),
2370  (2918, 2927), (2929, 2929), (2946, 2947), (2949, 2954), (2958, 2960),
2371  (2962, 2965), (2969, 2970), (2972, 2972), (2974, 2975), (2979, 2980),
2372  (2984, 2986), (2990, 3001), (3006, 3010), (3014, 3016), (3018, 3021),
2373  (3024, 3024), (3031, 3031), (3046, 3055), (3072, 3084), (3086, 3088),
2374  (3090, 3112), (3114, 3129), (3132, 3140), (3142, 3144), (3146, 3149),
2375  (3157, 3158), (3160, 3162), (3165, 3165), (3168, 3171), (3174, 3183),
2376  (3200, 3203), (3205, 3212), (3214, 3216), (3218, 3240), (3242, 3251),
2377  (3253, 3257), (3260, 3268), (3270, 3272), (3274, 3277), (3285, 3286),
2378  (3293, 3294), (3296, 3299), (3302, 3311), (3313, 3314), (3328, 3340),
2379  (3342, 3344), (3346, 3396), (3398, 3400), (3402, 3406), (3412, 3415),
2380  (3423, 3427), (3430, 3439), (3450, 3455), (3457, 3459), (3461, 3478),
2381  (3482, 3505), (3507, 3515), (3517, 3517), (3520, 3526), (3530, 3530),
2382  (3535, 3540), (3542, 3542), (3544, 3551), (3558, 3567), (3570, 3571),
2383  (3585, 3642), (3648, 3662), (3664, 3673), (3713, 3714), (3716, 3716),
2384  (3718, 3722), (3724, 3747), (3749, 3749), (3751, 3773), (3776, 3780),
2385  (3782, 3782), (3784, 3789), (3792, 3801), (3804, 3807), (3840, 3840),
2386  (3864, 3865), (3872, 3881), (3893, 3893), (3895, 3895), (3897, 3897),
2387  (3902, 3911), (3913, 3948), (3953, 3972), (3974, 3991), (3993, 4028),
2388  (4038, 4038), (4096, 4169), (4176, 4253), (4256, 4293), (4295, 4295),
2389  (4301, 4301), (4304, 4346), (4348, 4680), (4682, 4685), (4688, 4694),
2390  (4696, 4696), (4698, 4701), (4704, 4744), (4746, 4749), (4752, 4784),
2391  (4786, 4789), (4792, 4798), (4800, 4800), (4802, 4805), (4808, 4822),
2392  (4824, 4880), (4882, 4885), (4888, 4954), (4957, 4959), (4969, 4977),
2393  (4992, 5007), (5024, 5109), (5112, 5117), (5121, 5740), (5743, 5759),
2394  (5761, 5786), (5792, 5866), (5870, 5880), (5888, 5909), (5919, 5940),
2395  (5952, 5971), (5984, 5996), (5998, 6000), (6002, 6003), (6016, 6099),
2396  (6103, 6103), (6108, 6109), (6112, 6121), (6155, 6157), (6159, 6169),
2397  (6176, 6264), (6272, 6314), (6320, 6389), (6400, 6430), (6432, 6443),
2398  (6448, 6459), (6470, 6509), (6512, 6516), (6528, 6571), (6576, 6601),
2399  (6608, 6618), (6656, 6683), (6688, 6750), (6752, 6780), (6783, 6793),
2400  (6800, 6809), (6823, 6823), (6832, 6845), (6847, 6862), (6912, 6988),
2401  (6992, 7001), (7019, 7027), (7040, 7155), (7168, 7223), (7232, 7241),
2402  (7245, 7293), (7296, 7304), (7312, 7354), (7357, 7359), (7376, 7378),
2403  (7380, 7418), (7424, 7957), (7960, 7965), (7968, 8005), (8008, 8013),
2404  (8016, 8023), (8025, 8025), (8027, 8027), (8029, 8029), (8031, 8061),
2405  (8064, 8116), (8118, 8124), (8126, 8126), (8130, 8132), (8134, 8140),
2406  (8144, 8147), (8150, 8155), (8160, 8172), (8178, 8180), (8182, 8188),
2407  (8255, 8256), (8276, 8276), (8305, 8305), (8319, 8319), (8336, 8348),
2408  (8400, 8412), (8417, 8417), (8421, 8432), (8450, 8450), (8455, 8455),
2409  (8458, 8467), (8469, 8469), (8472, 8477), (8484, 8484), (8486, 8486),
2410  (8488, 8488), (8490, 8505), (8508, 8511), (8517, 8521), (8526, 8526),
2411  (8544, 8584), (11264, 11492), (11499, 11507), (11520, 11557),
2412  (11559, 11559), (11565, 11565), (11568, 11623), (11631, 11631),
2413  (11647, 11670), (11680, 11686), (11688, 11694), (11696, 11702),
2414  (11704, 11710), (11712, 11718), (11720, 11726), (11728, 11734),
2415  (11736, 11742), (11744, 11775), (12293, 12295), (12321, 12335),
2416  (12337, 12341), (12344, 12348), (12353, 12438), (12441, 12442),
2417  (12445, 12447), (12449, 12538), (12540, 12543), (12549, 12591),
2418  (12593, 12686), (12704, 12735), (12784, 12799), (13312, 19903),
2419  (19968, 42124), (42192, 42237), (42240, 42508), (42512, 42539),
2420  (42560, 42607), (42612, 42621), (42623, 42737), (42775, 42783),
2421  (42786, 42888), (42891, 42954), (42960, 42961), (42963, 42963),
2422  (42965, 42969), (42994, 43047), (43052, 43052), (43072, 43123),
2423  (43136, 43205), (43216, 43225), (43232, 43255), (43259, 43259),
2424  (43261, 43309), (43312, 43347), (43360, 43388), (43392, 43456),
2425  (43471, 43481), (43488, 43518), (43520, 43574), (43584, 43597),
2426  (43600, 43609), (43616, 43638), (43642, 43714), (43739, 43741),
2427  (43744, 43759), (43762, 43766), (43777, 43782), (43785, 43790),
2428  (43793, 43798), (43808, 43814), (43816, 43822), (43824, 43866),
2429  (43868, 43881), (43888, 44010), (44012, 44013), (44016, 44025),
2430  (44032, 55203), (55216, 55238), (55243, 55291), (63744, 64109),
2431  (64112, 64217), (64256, 64262), (64275, 64279), (64285, 64296),
2432  (64298, 64310), (64312, 64316), (64318, 64318), (64320, 64321),
2433  (64323, 64324), (64326, 64433), (64467, 64605), (64612, 64829),
2434  (64848, 64911), (64914, 64967), (65008, 65017), (65024, 65039),
2435  (65056, 65071), (65075, 65076), (65101, 65103), (65137, 65137),
2436  (65139, 65139), (65143, 65143), (65145, 65145), (65147, 65147),
2437  (65149, 65149), (65151, 65276), (65296, 65305), (65313, 65338),
2438  (65343, 65343), (65345, 65370), (65382, 65470), (65474, 65479),
2439  (65482, 65487), (65490, 65495), (65498, 65500), (65536, 65547),
2440  (65549, 65574), (65576, 65594), (65596, 65597), (65599, 65613),
2441  (65616, 65629), (65664, 65786), (65856, 65908), (66045, 66045),
2442  (66176, 66204), (66208, 66256), (66272, 66272), (66304, 66335),
2443  (66349, 66378), (66384, 66426), (66432, 66461), (66464, 66499),
2444  (66504, 66511), (66513, 66517), (66560, 66717), (66720, 66729),
2445  (66736, 66771), (66776, 66811), (66816, 66855), (66864, 66915),
2446  (66928, 66938), (66940, 66954), (66956, 66962), (66964, 66965),
2447  (66967, 66977), (66979, 66993), (66995, 67001), (67003, 67004),
2448  (67072, 67382), (67392, 67413), (67424, 67431), (67456, 67461),
2449  (67463, 67504), (67506, 67514), (67584, 67589), (67592, 67592),
2450  (67594, 67637), (67639, 67640), (67644, 67644), (67647, 67669),
2451  (67680, 67702), (67712, 67742), (67808, 67826), (67828, 67829),
2452  (67840, 67861), (67872, 67897), (67968, 68023), (68030, 68031),
2453  (68096, 68099), (68101, 68102), (68108, 68115), (68117, 68119),
2454  (68121, 68149), (68152, 68154), (68159, 68159), (68192, 68220),
2455  (68224, 68252), (68288, 68295), (68297, 68326), (68352, 68405),
2456  (68416, 68437), (68448, 68466), (68480, 68497), (68608, 68680),
2457  (68736, 68786), (68800, 68850), (68864, 68903), (68912, 68921),
2458  (69248, 69289), (69291, 69292), (69296, 69297), (69376, 69404),
2459  (69415, 69415), (69424, 69456), (69488, 69509), (69552, 69572),
2460  (69600, 69622), (69632, 69702), (69734, 69749), (69759, 69818),
2461  (69826, 69826), (69840, 69864), (69872, 69881), (69888, 69940),
2462  (69942, 69951), (69956, 69959), (69968, 70003), (70006, 70006),
2463  (70016, 70084), (70089, 70092), (70094, 70106), (70108, 70108),
2464  (70144, 70161), (70163, 70199), (70206, 70206), (70272, 70278),
2465  (70280, 70280), (70282, 70285), (70287, 70301), (70303, 70312),
2466  (70320, 70378), (70384, 70393), (70400, 70403), (70405, 70412),
2467  (70415, 70416), (70419, 70440), (70442, 70448), (70450, 70451),
2468  (70453, 70457), (70459, 70468), (70471, 70472), (70475, 70477),
2469  (70480, 70480), (70487, 70487), (70493, 70499), (70502, 70508),
2470  (70512, 70516), (70656, 70730), (70736, 70745), (70750, 70753),
2471  (70784, 70853), (70855, 70855), (70864, 70873), (71040, 71093),
2472  (71096, 71104), (71128, 71133), (71168, 71232), (71236, 71236),
2473  (71248, 71257), (71296, 71352), (71360, 71369), (71424, 71450),
2474  (71453, 71467), (71472, 71481), (71488, 71494), (71680, 71738),
2475  (71840, 71913), (71935, 71942), (71945, 71945), (71948, 71955),
2476  (71957, 71958), (71960, 71989), (71991, 71992), (71995, 72003),
2477  (72016, 72025), (72096, 72103), (72106, 72151), (72154, 72161),
2478  (72163, 72164), (72192, 72254), (72263, 72263), (72272, 72345),
2479  (72349, 72349), (72368, 72440), (72704, 72712), (72714, 72758),
2480  (72760, 72768), (72784, 72793), (72818, 72847), (72850, 72871),
2481  (72873, 72886), (72960, 72966), (72968, 72969), (72971, 73014),
2482  (73018, 73018), (73020, 73021), (73023, 73031), (73040, 73049),
2483  (73056, 73061), (73063, 73064), (73066, 73102), (73104, 73105),
2484  (73107, 73112), (73120, 73129), (73440, 73462), (73648, 73648),
2485  (73728, 74649), (74752, 74862), (74880, 75075), (77712, 77808),
2486  (77824, 78894), (82944, 83526), (92160, 92728), (92736, 92766),
2487  (92768, 92777), (92784, 92862), (92864, 92873), (92880, 92909),
2488  (92912, 92916), (92928, 92982), (92992, 92995), (93008, 93017),
2489  (93027, 93047), (93053, 93071), (93760, 93823), (93952, 94026),
2490  (94031, 94087), (94095, 94111), (94176, 94177), (94179, 94180),
2491  (94192, 94193), (94208, 100343), (100352, 101589), (101632, 101640),
2492  (110576, 110579), (110581, 110587), (110589, 110590), (110592, 110882),
2493  (110928, 110930), (110948, 110951), (110960, 111355), (113664, 113770),
2494  (113776, 113788), (113792, 113800), (113808, 113817), (113821, 113822),
2495  (118528, 118573), (118576, 118598), (119141, 119145), (119149, 119154),
2496  (119163, 119170), (119173, 119179), (119210, 119213), (119362, 119364),
2497  (119808, 119892), (119894, 119964), (119966, 119967), (119970, 119970),
2498  (119973, 119974), (119977, 119980), (119982, 119993), (119995, 119995),
2499  (119997, 120003), (120005, 120069), (120071, 120074), (120077, 120084),
2500  (120086, 120092), (120094, 120121), (120123, 120126), (120128, 120132),
2501  (120134, 120134), (120138, 120144), (120146, 120485), (120488, 120512),
2502  (120514, 120538), (120540, 120570), (120572, 120596), (120598, 120628),
2503  (120630, 120654), (120656, 120686), (120688, 120712), (120714, 120744),
2504  (120746, 120770), (120772, 120779), (120782, 120831), (121344, 121398),
2505  (121403, 121452), (121461, 121461), (121476, 121476), (121499, 121503),
2506  (121505, 121519), (122624, 122654), (122880, 122886), (122888, 122904),
2507  (122907, 122913), (122915, 122916), (122918, 122922), (123136, 123180),
2508  (123184, 123197), (123200, 123209), (123214, 123214), (123536, 123566),
2509  (123584, 123641), (124896, 124902), (124904, 124907), (124909, 124910),
2510  (124912, 124926), (124928, 125124), (125136, 125142), (125184, 125259),
2511  (125264, 125273), (126464, 126467), (126469, 126495), (126497, 126498),
2512  (126500, 126500), (126503, 126503), (126505, 126514), (126516, 126519),
2513  (126521, 126521), (126523, 126523), (126530, 126530), (126535, 126535),
2514  (126537, 126537), (126539, 126539), (126541, 126543), (126545, 126546),
2515  (126548, 126548), (126551, 126551), (126553, 126553), (126555, 126555),
2516  (126557, 126557), (126559, 126559), (126561, 126562), (126564, 126564),
2517  (126567, 126570), (126572, 126578), (126580, 126583), (126585, 126588),
2518  (126590, 126590), (126592, 126601), (126603, 126619), (126625, 126627),
2519  (126629, 126633), (126635, 126651), (130032, 130041), (131072, 173791),
2520  (173824, 177976), (177984, 178205), (178208, 183969), (183984, 191456),
2521  (194560, 195101), (196608, 201546), (917760, 917999),
2522];
2523
2524pub const XID_START: &'static [(u32, u32)] = &[
2525  (65, 90), (97, 122), (170, 170), (181, 181), (186, 186), (192, 214),
2526  (216, 246), (248, 705), (710, 721), (736, 740), (748, 748), (750, 750),
2527  (880, 884), (886, 887), (891, 893), (895, 895), (902, 902), (904, 906),
2528  (908, 908), (910, 929), (931, 1013), (1015, 1153), (1162, 1327),
2529  (1329, 1366), (1369, 1369), (1376, 1416), (1488, 1514), (1519, 1522),
2530  (1568, 1610), (1646, 1647), (1649, 1747), (1749, 1749), (1765, 1766),
2531  (1774, 1775), (1786, 1788), (1791, 1791), (1808, 1808), (1810, 1839),
2532  (1869, 1957), (1969, 1969), (1994, 2026), (2036, 2037), (2042, 2042),
2533  (2048, 2069), (2074, 2074), (2084, 2084), (2088, 2088), (2112, 2136),
2534  (2144, 2154), (2160, 2183), (2185, 2190), (2208, 2249), (2308, 2361),
2535  (2365, 2365), (2384, 2384), (2392, 2401), (2417, 2432), (2437, 2444),
2536  (2447, 2448), (2451, 2472), (2474, 2480), (2482, 2482), (2486, 2489),
2537  (2493, 2493), (2510, 2510), (2524, 2525), (2527, 2529), (2544, 2545),
2538  (2556, 2556), (2565, 2570), (2575, 2576), (2579, 2600), (2602, 2608),
2539  (2610, 2611), (2613, 2614), (2616, 2617), (2649, 2652), (2654, 2654),
2540  (2674, 2676), (2693, 2701), (2703, 2705), (2707, 2728), (2730, 2736),
2541  (2738, 2739), (2741, 2745), (2749, 2749), (2768, 2768), (2784, 2785),
2542  (2809, 2809), (2821, 2828), (2831, 2832), (2835, 2856), (2858, 2864),
2543  (2866, 2867), (2869, 2873), (2877, 2877), (2908, 2909), (2911, 2913),
2544  (2929, 2929), (2947, 2947), (2949, 2954), (2958, 2960), (2962, 2965),
2545  (2969, 2970), (2972, 2972), (2974, 2975), (2979, 2980), (2984, 2986),
2546  (2990, 3001), (3024, 3024), (3077, 3084), (3086, 3088), (3090, 3112),
2547  (3114, 3129), (3133, 3133), (3160, 3162), (3165, 3165), (3168, 3169),
2548  (3200, 3200), (3205, 3212), (3214, 3216), (3218, 3240), (3242, 3251),
2549  (3253, 3257), (3261, 3261), (3293, 3294), (3296, 3297), (3313, 3314),
2550  (3332, 3340), (3342, 3344), (3346, 3386), (3389, 3389), (3406, 3406),
2551  (3412, 3414), (3423, 3425), (3450, 3455), (3461, 3478), (3482, 3505),
2552  (3507, 3515), (3517, 3517), (3520, 3526), (3585, 3632), (3634, 3634),
2553  (3648, 3654), (3713, 3714), (3716, 3716), (3718, 3722), (3724, 3747),
2554  (3749, 3749), (3751, 3760), (3762, 3762), (3773, 3773), (3776, 3780),
2555  (3782, 3782), (3804, 3807), (3840, 3840), (3904, 3911), (3913, 3948),
2556  (3976, 3980), (4096, 4138), (4159, 4159), (4176, 4181), (4186, 4189),
2557  (4193, 4193), (4197, 4198), (4206, 4208), (4213, 4225), (4238, 4238),
2558  (4256, 4293), (4295, 4295), (4301, 4301), (4304, 4346), (4348, 4680),
2559  (4682, 4685), (4688, 4694), (4696, 4696), (4698, 4701), (4704, 4744),
2560  (4746, 4749), (4752, 4784), (4786, 4789), (4792, 4798), (4800, 4800),
2561  (4802, 4805), (4808, 4822), (4824, 4880), (4882, 4885), (4888, 4954),
2562  (4992, 5007), (5024, 5109), (5112, 5117), (5121, 5740), (5743, 5759),
2563  (5761, 5786), (5792, 5866), (5870, 5880), (5888, 5905), (5919, 5937),
2564  (5952, 5969), (5984, 5996), (5998, 6000), (6016, 6067), (6103, 6103),
2565  (6108, 6108), (6176, 6264), (6272, 6312), (6314, 6314), (6320, 6389),
2566  (6400, 6430), (6480, 6509), (6512, 6516), (6528, 6571), (6576, 6601),
2567  (6656, 6678), (6688, 6740), (6823, 6823), (6917, 6963), (6981, 6988),
2568  (7043, 7072), (7086, 7087), (7098, 7141), (7168, 7203), (7245, 7247),
2569  (7258, 7293), (7296, 7304), (7312, 7354), (7357, 7359), (7401, 7404),
2570  (7406, 7411), (7413, 7414), (7418, 7418), (7424, 7615), (7680, 7957),
2571  (7960, 7965), (7968, 8005), (8008, 8013), (8016, 8023), (8025, 8025),
2572  (8027, 8027), (8029, 8029), (8031, 8061), (8064, 8116), (8118, 8124),
2573  (8126, 8126), (8130, 8132), (8134, 8140), (8144, 8147), (8150, 8155),
2574  (8160, 8172), (8178, 8180), (8182, 8188), (8305, 8305), (8319, 8319),
2575  (8336, 8348), (8450, 8450), (8455, 8455), (8458, 8467), (8469, 8469),
2576  (8472, 8477), (8484, 8484), (8486, 8486), (8488, 8488), (8490, 8505),
2577  (8508, 8511), (8517, 8521), (8526, 8526), (8544, 8584), (11264, 11492),
2578  (11499, 11502), (11506, 11507), (11520, 11557), (11559, 11559),
2579  (11565, 11565), (11568, 11623), (11631, 11631), (11648, 11670),
2580  (11680, 11686), (11688, 11694), (11696, 11702), (11704, 11710),
2581  (11712, 11718), (11720, 11726), (11728, 11734), (11736, 11742),
2582  (12293, 12295), (12321, 12329), (12337, 12341), (12344, 12348),
2583  (12353, 12438), (12445, 12447), (12449, 12538), (12540, 12543),
2584  (12549, 12591), (12593, 12686), (12704, 12735), (12784, 12799),
2585  (13312, 19903), (19968, 42124), (42192, 42237), (42240, 42508),
2586  (42512, 42527), (42538, 42539), (42560, 42606), (42623, 42653),
2587  (42656, 42735), (42775, 42783), (42786, 42888), (42891, 42954),
2588  (42960, 42961), (42963, 42963), (42965, 42969), (42994, 43009),
2589  (43011, 43013), (43015, 43018), (43020, 43042), (43072, 43123),
2590  (43138, 43187), (43250, 43255), (43259, 43259), (43261, 43262),
2591  (43274, 43301), (43312, 43334), (43360, 43388), (43396, 43442),
2592  (43471, 43471), (43488, 43492), (43494, 43503), (43514, 43518),
2593  (43520, 43560), (43584, 43586), (43588, 43595), (43616, 43638),
2594  (43642, 43642), (43646, 43695), (43697, 43697), (43701, 43702),
2595  (43705, 43709), (43712, 43712), (43714, 43714), (43739, 43741),
2596  (43744, 43754), (43762, 43764), (43777, 43782), (43785, 43790),
2597  (43793, 43798), (43808, 43814), (43816, 43822), (43824, 43866),
2598  (43868, 43881), (43888, 44002), (44032, 55203), (55216, 55238),
2599  (55243, 55291), (63744, 64109), (64112, 64217), (64256, 64262),
2600  (64275, 64279), (64285, 64285), (64287, 64296), (64298, 64310),
2601  (64312, 64316), (64318, 64318), (64320, 64321), (64323, 64324),
2602  (64326, 64433), (64467, 64605), (64612, 64829), (64848, 64911),
2603  (64914, 64967), (65008, 65017), (65137, 65137), (65139, 65139),
2604  (65143, 65143), (65145, 65145), (65147, 65147), (65149, 65149),
2605  (65151, 65276), (65313, 65338), (65345, 65370), (65382, 65437),
2606  (65440, 65470), (65474, 65479), (65482, 65487), (65490, 65495),
2607  (65498, 65500), (65536, 65547), (65549, 65574), (65576, 65594),
2608  (65596, 65597), (65599, 65613), (65616, 65629), (65664, 65786),
2609  (65856, 65908), (66176, 66204), (66208, 66256), (66304, 66335),
2610  (66349, 66378), (66384, 66421), (66432, 66461), (66464, 66499),
2611  (66504, 66511), (66513, 66517), (66560, 66717), (66736, 66771),
2612  (66776, 66811), (66816, 66855), (66864, 66915), (66928, 66938),
2613  (66940, 66954), (66956, 66962), (66964, 66965), (66967, 66977),
2614  (66979, 66993), (66995, 67001), (67003, 67004), (67072, 67382),
2615  (67392, 67413), (67424, 67431), (67456, 67461), (67463, 67504),
2616  (67506, 67514), (67584, 67589), (67592, 67592), (67594, 67637),
2617  (67639, 67640), (67644, 67644), (67647, 67669), (67680, 67702),
2618  (67712, 67742), (67808, 67826), (67828, 67829), (67840, 67861),
2619  (67872, 67897), (67968, 68023), (68030, 68031), (68096, 68096),
2620  (68112, 68115), (68117, 68119), (68121, 68149), (68192, 68220),
2621  (68224, 68252), (68288, 68295), (68297, 68324), (68352, 68405),
2622  (68416, 68437), (68448, 68466), (68480, 68497), (68608, 68680),
2623  (68736, 68786), (68800, 68850), (68864, 68899), (69248, 69289),
2624  (69296, 69297), (69376, 69404), (69415, 69415), (69424, 69445),
2625  (69488, 69505), (69552, 69572), (69600, 69622), (69635, 69687),
2626  (69745, 69746), (69749, 69749), (69763, 69807), (69840, 69864),
2627  (69891, 69926), (69956, 69956), (69959, 69959), (69968, 70002),
2628  (70006, 70006), (70019, 70066), (70081, 70084), (70106, 70106),
2629  (70108, 70108), (70144, 70161), (70163, 70187), (70272, 70278),
2630  (70280, 70280), (70282, 70285), (70287, 70301), (70303, 70312),
2631  (70320, 70366), (70405, 70412), (70415, 70416), (70419, 70440),
2632  (70442, 70448), (70450, 70451), (70453, 70457), (70461, 70461),
2633  (70480, 70480), (70493, 70497), (70656, 70708), (70727, 70730),
2634  (70751, 70753), (70784, 70831), (70852, 70853), (70855, 70855),
2635  (71040, 71086), (71128, 71131), (71168, 71215), (71236, 71236),
2636  (71296, 71338), (71352, 71352), (71424, 71450), (71488, 71494),
2637  (71680, 71723), (71840, 71903), (71935, 71942), (71945, 71945),
2638  (71948, 71955), (71957, 71958), (71960, 71983), (71999, 71999),
2639  (72001, 72001), (72096, 72103), (72106, 72144), (72161, 72161),
2640  (72163, 72163), (72192, 72192), (72203, 72242), (72250, 72250),
2641  (72272, 72272), (72284, 72329), (72349, 72349), (72368, 72440),
2642  (72704, 72712), (72714, 72750), (72768, 72768), (72818, 72847),
2643  (72960, 72966), (72968, 72969), (72971, 73008), (73030, 73030),
2644  (73056, 73061), (73063, 73064), (73066, 73097), (73112, 73112),
2645  (73440, 73458), (73648, 73648), (73728, 74649), (74752, 74862),
2646  (74880, 75075), (77712, 77808), (77824, 78894), (82944, 83526),
2647  (92160, 92728), (92736, 92766), (92784, 92862), (92880, 92909),
2648  (92928, 92975), (92992, 92995), (93027, 93047), (93053, 93071),
2649  (93760, 93823), (93952, 94026), (94032, 94032), (94099, 94111),
2650  (94176, 94177), (94179, 94179), (94208, 100343), (100352, 101589),
2651  (101632, 101640), (110576, 110579), (110581, 110587), (110589, 110590),
2652  (110592, 110882), (110928, 110930), (110948, 110951), (110960, 111355),
2653  (113664, 113770), (113776, 113788), (113792, 113800), (113808, 113817),
2654  (119808, 119892), (119894, 119964), (119966, 119967), (119970, 119970),
2655  (119973, 119974), (119977, 119980), (119982, 119993), (119995, 119995),
2656  (119997, 120003), (120005, 120069), (120071, 120074), (120077, 120084),
2657  (120086, 120092), (120094, 120121), (120123, 120126), (120128, 120132),
2658  (120134, 120134), (120138, 120144), (120146, 120485), (120488, 120512),
2659  (120514, 120538), (120540, 120570), (120572, 120596), (120598, 120628),
2660  (120630, 120654), (120656, 120686), (120688, 120712), (120714, 120744),
2661  (120746, 120770), (120772, 120779), (122624, 122654), (123136, 123180),
2662  (123191, 123197), (123214, 123214), (123536, 123565), (123584, 123627),
2663  (124896, 124902), (124904, 124907), (124909, 124910), (124912, 124926),
2664  (124928, 125124), (125184, 125251), (125259, 125259), (126464, 126467),
2665  (126469, 126495), (126497, 126498), (126500, 126500), (126503, 126503),
2666  (126505, 126514), (126516, 126519), (126521, 126521), (126523, 126523),
2667  (126530, 126530), (126535, 126535), (126537, 126537), (126539, 126539),
2668  (126541, 126543), (126545, 126546), (126548, 126548), (126551, 126551),
2669  (126553, 126553), (126555, 126555), (126557, 126557), (126559, 126559),
2670  (126561, 126562), (126564, 126564), (126567, 126570), (126572, 126578),
2671  (126580, 126583), (126585, 126588), (126590, 126590), (126592, 126601),
2672  (126603, 126619), (126625, 126627), (126629, 126633), (126635, 126651),
2673  (131072, 173791), (173824, 177976), (177984, 178205), (178208, 183969),
2674  (183984, 191456), (194560, 195101), (196608, 201546),
2675];