source: icGREP/icgrep-devel/icgrep/UCD/ScriptExtensions.h @ 5670

Last change on this file since 5670 was 5660, checked in by cameron, 22 months ago

UCD corrections and additional properties

File size: 77.8 KB
Line 
1#ifndef SCRIPTEXTENSIONS_H
2#define SCRIPTEXTENSIONS_H
3/*
4 *  Copyright (c) 2017 International Characters, Inc.
5 *  This software is licensed to the public under the Open Software License 3.0.
6 *  icgrep is a trademark of International Characters, Inc.
7 *
8 *  This file is generated by UCD_properties.py - manual edits may be lost.
9 */
10
11#include "PropertyAliases.h"
12#include "PropertyObjects.h"
13#include "PropertyValueAliases.h"
14#include "unicode_set.h"
15
16namespace UCD {
17    namespace SCX_ns {
18        /** Code Point Ranges for Zzzz
19        [0378, 0379], [0380, 0383], [038b, 038b], [038d, 038d],
20        [03a2, 03a2], [0530, 0530], [0557, 0558], [0560, 0560],
21        [0588, 0588], [058b, 058c], [0590, 0590], [05c8, 05cf],
22        [05eb, 05ef], [05f5, 05ff], [061d, 061d], [070e, 070e],
23        [074b, 074c], [07b2, 07bf], [07fb, 07ff], [082e, 082f],
24        [083f, 083f], [085c, 085d], [085f, 089f], [08b5, 08b5],
25        [08be, 08d3], [0984, 0984], [098d, 098e], [0991, 0992],
26        [09a9, 09a9], [09b1, 09b1], [09b3, 09b5], [09ba, 09bb],
27        [09c5, 09c6], [09c9, 09ca], [09cf, 09d6], [09d8, 09db],
28        [09de, 09de], [09e4, 09e5], [09fc, 0a00], [0a04, 0a04],
29        [0a0b, 0a0e], [0a11, 0a12], [0a29, 0a29], [0a31, 0a31],
30        [0a34, 0a34], [0a37, 0a37], [0a3a, 0a3b], [0a3d, 0a3d],
31        [0a43, 0a46], [0a49, 0a4a], [0a4e, 0a50], [0a52, 0a58],
32        [0a5d, 0a5d], [0a5f, 0a65], [0a76, 0a80], [0a84, 0a84],
33        [0a8e, 0a8e], [0a92, 0a92], [0aa9, 0aa9], [0ab1, 0ab1],
34        [0ab4, 0ab4], [0aba, 0abb], [0ac6, 0ac6], [0aca, 0aca],
35        [0ace, 0acf], [0ad1, 0adf], [0ae4, 0ae5], [0af2, 0af8],
36        [0afa, 0b00], [0b04, 0b04], [0b0d, 0b0e], [0b11, 0b12],
37        [0b29, 0b29], [0b31, 0b31], [0b34, 0b34], [0b3a, 0b3b],
38        [0b45, 0b46], [0b49, 0b4a], [0b4e, 0b55], [0b58, 0b5b],
39        [0b5e, 0b5e], [0b64, 0b65], [0b78, 0b81], [0b84, 0b84],
40        [0b8b, 0b8d], [0b91, 0b91], [0b96, 0b98], [0b9b, 0b9b],
41        [0b9d, 0b9d], [0ba0, 0ba2], [0ba5, 0ba7], [0bab, 0bad],
42        [0bba, 0bbd], [0bc3, 0bc5], [0bc9, 0bc9], [0bce, 0bcf],
43        [0bd1, 0bd6], [0bd8, 0be5], [0bfb, 0bff], [0c04, 0c04],
44        [0c0d, 0c0d], [0c11, 0c11], [0c29, 0c29], [0c3a, 0c3c],
45        [0c45, 0c45], [0c49, 0c49], [0c4e, 0c54], [0c57, 0c57],
46        [0c5b, 0c5f], [0c64, 0c65], [0c70, 0c77], [0c84, 0c84],
47        [0c8d, 0c8d], [0c91, 0c91], [0ca9, 0ca9], [0cb4, 0cb4],
48        [0cba, 0cbb], [0cc5, 0cc5], [0cc9, 0cc9], [0cce, 0cd4],
49        [0cd7, 0cdd], [0cdf, 0cdf], [0ce4, 0ce5], [0cf0, 0cf0],
50        [0cf3, 0d00], [0d04, 0d04], [0d0d, 0d0d], [0d11, 0d11],
51        [0d3b, 0d3c], [0d45, 0d45], [0d49, 0d49], [0d50, 0d53],
52        [0d64, 0d65], [0d80, 0d81], [0d84, 0d84], [0d97, 0d99],
53        [0db2, 0db2], [0dbc, 0dbc], [0dbe, 0dbf], [0dc7, 0dc9],
54        [0dcb, 0dce], [0dd5, 0dd5], [0dd7, 0dd7], [0de0, 0de5],
55        [0df0, 0df1], [0df5, 0e00], [0e3b, 0e3e], [0e5c, 0e80],
56        [0e83, 0e83], [0e85, 0e86], [0e89, 0e89], [0e8b, 0e8c],
57        [0e8e, 0e93], [0e98, 0e98], [0ea0, 0ea0], [0ea4, 0ea4],
58        [0ea6, 0ea6], [0ea8, 0ea9], [0eac, 0eac], [0eba, 0eba],
59        [0ebe, 0ebf], [0ec5, 0ec5], [0ec7, 0ec7], [0ece, 0ecf],
60        [0eda, 0edb], [0ee0, 0eff], [0f48, 0f48], [0f6d, 0f70],
61        [0f98, 0f98], [0fbd, 0fbd], [0fcd, 0fcd], [0fdb, 0fff],
62        [10c6, 10c6], [10c8, 10cc], [10ce, 10cf], [1249, 1249],
63        [124e, 124f], [1257, 1257], [1259, 1259], [125e, 125f],
64        [1289, 1289], [128e, 128f], [12b1, 12b1], [12b6, 12b7],
65        [12bf, 12bf], [12c1, 12c1], [12c6, 12c7], [12d7, 12d7],
66        [1311, 1311], [1316, 1317], [135b, 135c], [137d, 137f],
67        [139a, 139f], [13f6, 13f7], [13fe, 13ff], [169d, 169f],
68        [16f9, 16ff], [170d, 170d], [1715, 171f], [1737, 173f],
69        [1754, 175f], [176d, 176d], [1771, 1771], [1774, 177f],
70        [17de, 17df], [17ea, 17ef], [17fa, 17ff], [180f, 180f],
71        [181a, 181f], [1878, 187f], [18ab, 18af], [18f6, 18ff],
72        [191f, 191f], [192c, 192f], [193c, 193f], [1941, 1943],
73        [196e, 196f], [1975, 197f], [19ac, 19af], [19ca, 19cf],
74        [19db, 19dd], [1a1c, 1a1d], [1a5f, 1a5f], [1a7d, 1a7e],
75        [1a8a, 1a8f], [1a9a, 1a9f], [1aae, 1aaf], [1abf, 1aff],
76        [1b4c, 1b4f], [1b7d, 1b7f], [1bf4, 1bfb], [1c38, 1c3a],
77        [1c4a, 1c4c], [1c89, 1cbf], [1cc8, 1ccf], [1cf7, 1cf7],
78        [1cfa, 1cff], [1df6, 1dfa], [1f16, 1f17], [1f1e, 1f1f],
79        [1f46, 1f47], [1f4e, 1f4f], [1f58, 1f58], [1f5a, 1f5a],
80        [1f5c, 1f5c], [1f5e, 1f5e], [1f7e, 1f7f], [1fb5, 1fb5],
81        [1fc5, 1fc5], [1fd4, 1fd5], [1fdc, 1fdc], [1ff0, 1ff1],
82        [1ff5, 1ff5], [1fff, 1fff], [2065, 2065], [2072, 2073],
83        [208f, 208f], [209d, 209f], [20bf, 20cf], [20f1, 20ff],
84        [218c, 218f], [23ff, 23ff], [2427, 243f], [244b, 245f],
85        [2b74, 2b75], [2b96, 2b97], [2bba, 2bbc], [2bc9, 2bc9],
86        [2bd2, 2beb], [2bf0, 2bff], [2c2f, 2c2f], [2c5f, 2c5f],
87        [2cf4, 2cf8], [2d26, 2d26], [2d28, 2d2c], [2d2e, 2d2f],
88        [2d68, 2d6e], [2d71, 2d7e], [2d97, 2d9f], [2da7, 2da7],
89        [2daf, 2daf], [2db7, 2db7], [2dbf, 2dbf], [2dc7, 2dc7],
90        [2dcf, 2dcf], [2dd7, 2dd7], [2ddf, 2ddf], [2e45, 2e7f],
91        [2e9a, 2e9a], [2ef4, 2eff], [2fd6, 2fef], [2ffc, 2fff],
92        [3040, 3040], [3097, 3098], [3100, 3104], [312e, 3130],
93        [318f, 318f], [31bb, 31bf], [31e4, 31ef], [321f, 321f],
94        [32ff, 32ff], [4db6, 4dbf], [9fd6, 9fff], [a48d, a48f],
95        [a4c7, a4cf], [a62c, a63f], [a6f8, a6ff], [a7af, a7af],
96        [a7b8, a7f6], [a82c, a82f], [a83a, a83f], [a878, a87f],
97        [a8c6, a8cd], [a8da, a8df], [a8fe, a8ff], [a954, a95e],
98        [a97d, a97f], [a9ce, a9ce], [a9da, a9dd], [a9ff, a9ff],
99        [aa37, aa3f], [aa4e, aa4f], [aa5a, aa5b], [aac3, aada],
100        [aaf7, ab00], [ab07, ab08], [ab0f, ab10], [ab17, ab1f],
101        [ab27, ab27], [ab2f, ab2f], [ab66, ab6f], [abee, abef],
102        [abfa, abff], [d7a4, d7af], [d7c7, d7ca], [d7fc, f8ff],
103        [fa6e, fa6f], [fada, faff], [fb07, fb12], [fb18, fb1c],
104        [fb37, fb37], [fb3d, fb3d], [fb3f, fb3f], [fb42, fb42],
105        [fb45, fb45], [fbc2, fbd2], [fd40, fd4f], [fd90, fd91],
106        [fdc8, fdef], [fdfe, fdff], [fe1a, fe1f], [fe53, fe53],
107        [fe67, fe67], [fe6c, fe6f], [fe75, fe75], [fefd, fefe],
108        [ff00, ff00], [ffbf, ffc1], [ffc8, ffc9], [ffd0, ffd1],
109        [ffd8, ffd9], [ffdd, ffdf], [ffe7, ffe7], [ffef, fff8],
110        [fffe, ffff], [1000c, 1000c], [10027, 10027], [1003b, 1003b],
111        [1003e, 1003e], [1004e, 1004f], [1005e, 1007f], [100fb, 100ff],
112        [10103, 10106], [10134, 10136], [1018f, 1018f], [1019c, 1019f],
113        [101a1, 101cf], [101fe, 1027f], [1029d, 1029f], [102d1, 102df],
114        [102fc, 102ff], [10324, 1032f], [1034b, 1034f], [1037b, 1037f],
115        [1039e, 1039e], [103c4, 103c7], [103d6, 103ff], [1049e, 1049f],
116        [104aa, 104af], [104d4, 104d7], [104fc, 104ff], [10528, 1052f],
117        [10564, 1056e], [10570, 105ff], [10737, 1073f], [10756, 1075f],
118        [10768, 107ff], [10806, 10807], [10809, 10809], [10836, 10836],
119        [10839, 1083b], [1083d, 1083e], [10856, 10856], [1089f, 108a6],
120        [108b0, 108df], [108f3, 108f3], [108f6, 108fa], [1091c, 1091e],
121        [1093a, 1093e], [10940, 1097f], [109b8, 109bb], [109d0, 109d1],
122        [10a04, 10a04], [10a07, 10a0b], [10a14, 10a14], [10a18, 10a18],
123        [10a34, 10a37], [10a3b, 10a3e], [10a48, 10a4f], [10a59, 10a5f],
124        [10aa0, 10abf], [10ae7, 10aea], [10af7, 10aff], [10b36, 10b38],
125        [10b56, 10b57], [10b73, 10b77], [10b92, 10b98], [10b9d, 10ba8],
126        [10bb0, 10bff], [10c49, 10c7f], [10cb3, 10cbf], [10cf3, 10cf9],
127        [10d00, 10e5f], [10e7f, 10fff], [1104e, 11051], [11070, 1107e],
128        [110c2, 110cf], [110e9, 110ef], [110fa, 110ff], [11135, 11135],
129        [11144, 1114f], [11177, 1117f], [111ce, 111cf], [111e0, 111e0],
130        [111f5, 111ff], [11212, 11212], [1123f, 1127f], [11287, 11287],
131        [11289, 11289], [1128e, 1128e], [1129e, 1129e], [112aa, 112af],
132        [112eb, 112ef], [112fa, 112ff], [11304, 11304], [1130d, 1130e],
133        [11311, 11312], [11329, 11329], [11331, 11331], [11334, 11334],
134        [1133a, 1133b], [11345, 11346], [11349, 1134a], [1134e, 1134f],
135        [11351, 11356], [11358, 1135c], [11364, 11365], [1136d, 1136f],
136        [11375, 113ff], [1145a, 1145a], [1145c, 1145c], [1145e, 1147f],
137        [114c8, 114cf], [114da, 1157f], [115b6, 115b7], [115de, 115ff],
138        [11645, 1164f], [1165a, 1165f], [1166d, 1167f], [116b8, 116bf],
139        [116ca, 116ff], [1171a, 1171c], [1172c, 1172f], [11740, 1189f],
140        [118f3, 118fe], [11900, 11abf], [11af9, 11bff], [11c09, 11c09],
141        [11c37, 11c37], [11c46, 11c4f], [11c6d, 11c6f], [11c90, 11c91],
142        [11ca8, 11ca8], [11cb7, 11fff], [1239a, 123ff], [1246f, 1246f],
143        [12475, 1247f], [12544, 12fff], [1342f, 143ff], [14647, 167ff],
144        [16a39, 16a3f], [16a5f, 16a5f], [16a6a, 16a6d], [16a70, 16acf],
145        [16aee, 16aef], [16af6, 16aff], [16b46, 16b4f], [16b5a, 16b5a],
146        [16b62, 16b62], [16b78, 16b7c], [16b90, 16eff], [16f45, 16f4f],
147        [16f7f, 16f8e], [16fa0, 16fdf], [16fe1, 16fff], [187ed, 187ff],
148        [18af3, 1afff], [1b002, 1bbff], [1bc6b, 1bc6f], [1bc7d, 1bc7f],
149        [1bc89, 1bc8f], [1bc9a, 1bc9b], [1bca4, 1cfff], [1d0f6, 1d0ff],
150        [1d127, 1d128], [1d1e9, 1d1ff], [1d246, 1d2ff], [1d357, 1d35f],
151        [1d372, 1d3ff], [1d455, 1d455], [1d49d, 1d49d], [1d4a0, 1d4a1],
152        [1d4a3, 1d4a4], [1d4a7, 1d4a8], [1d4ad, 1d4ad], [1d4ba, 1d4ba],
153        [1d4bc, 1d4bc], [1d4c4, 1d4c4], [1d506, 1d506], [1d50b, 1d50c],
154        [1d515, 1d515], [1d51d, 1d51d], [1d53a, 1d53a], [1d53f, 1d53f],
155        [1d545, 1d545], [1d547, 1d549], [1d551, 1d551], [1d6a6, 1d6a7],
156        [1d7cc, 1d7cd], [1da8c, 1da9a], [1daa0, 1daa0], [1dab0, 1dfff],
157        [1e007, 1e007], [1e019, 1e01a], [1e022, 1e022], [1e025, 1e025],
158        [1e02b, 1e7ff], [1e8c5, 1e8c6], [1e8d7, 1e8ff], [1e94b, 1e94f],
159        [1e95a, 1e95d], [1e960, 1edff], [1ee04, 1ee04], [1ee20, 1ee20],
160        [1ee23, 1ee23], [1ee25, 1ee26], [1ee28, 1ee28], [1ee33, 1ee33],
161        [1ee38, 1ee38], [1ee3a, 1ee3a], [1ee3c, 1ee41], [1ee43, 1ee46],
162        [1ee48, 1ee48], [1ee4a, 1ee4a], [1ee4c, 1ee4c], [1ee50, 1ee50],
163        [1ee53, 1ee53], [1ee55, 1ee56], [1ee58, 1ee58], [1ee5a, 1ee5a],
164        [1ee5c, 1ee5c], [1ee5e, 1ee5e], [1ee60, 1ee60], [1ee63, 1ee63],
165        [1ee65, 1ee66], [1ee6b, 1ee6b], [1ee73, 1ee73], [1ee78, 1ee78],
166        [1ee7d, 1ee7d], [1ee7f, 1ee7f], [1ee8a, 1ee8a], [1ee9c, 1eea0],
167        [1eea4, 1eea4], [1eeaa, 1eeaa], [1eebc, 1eeef], [1eef2, 1efff],
168        [1f02c, 1f02f], [1f094, 1f09f], [1f0af, 1f0b0], [1f0c0, 1f0c0],
169        [1f0d0, 1f0d0], [1f0f6, 1f0ff], [1f10d, 1f10f], [1f12f, 1f12f],
170        [1f16c, 1f16f], [1f1ad, 1f1e5], [1f203, 1f20f], [1f23c, 1f23f],
171        [1f249, 1f24f], [1f252, 1f2ff], [1f6d3, 1f6df], [1f6ed, 1f6ef],
172        [1f6f7, 1f6ff], [1f774, 1f77f], [1f7d5, 1f7ff], [1f80c, 1f80f],
173        [1f848, 1f84f], [1f85a, 1f85f], [1f888, 1f88f], [1f8ae, 1f90f],
174        [1f91f, 1f91f], [1f928, 1f92f], [1f931, 1f932], [1f93f, 1f93f],
175        [1f94c, 1f94f], [1f95f, 1f97f], [1f992, 1f9bf], [1f9c1, 1ffff],
176        [2a6d7, 2a6ff], [2b735, 2b73f], [2b81e, 2b81f], [2cea2, 2f7ff],
177        [2fa1e, e0000], [e0002, e001f], [e0080, e00ff], [e01f0, 10ffff]**/
178        const UnicodeSet zzzz_Ext
179            {{{Empty, 27}, {Mixed, 3}, {Empty, 11}, {Mixed, 4}, {Empty, 1},
180              {Mixed, 3}, {Empty, 7}, {Mixed, 1}, {Empty, 1}, {Mixed, 1},
181              {Empty, 2}, {Mixed, 1}, {Empty, 1}, {Mixed, 1}, {Empty, 1},
182              {Mixed, 2}, {Full, 2}, {Mixed, 2}, {Empty, 5}, {Mixed, 39},
183              {Full, 1}, {Mixed, 3}, {Full, 1}, {Empty, 2}, {Mixed, 5},
184              {Full, 1}, {Empty, 6}, {Mixed, 1}, {Empty, 11}, {Mixed, 1},
185              {Empty, 1}, {Mixed, 3}, {Empty, 1}, {Mixed, 1}, {Empty, 1},
186              {Mixed, 3}, {Empty, 2}, {Mixed, 1}, {Empty, 20}, {Mixed, 1},
187              {Empty, 2}, {Mixed, 5}, {Empty, 2}, {Mixed, 3}, {Empty, 2},
188              {Mixed, 1}, {Empty, 1}, {Mixed, 1}, {Empty, 1}, {Mixed, 5},
189              {Empty, 1}, {Mixed, 2}, {Empty, 1}, {Mixed, 1}, {Empty, 1},
190              {Mixed, 4}, {Full, 2}, {Empty, 2}, {Mixed, 2}, {Empty, 3},
191              {Mixed, 1}, {Empty, 1}, {Mixed, 2}, {Empty, 1}, {Mixed, 1},
192              {Full, 1}, {Mixed, 2}, {Empty, 7}, {Mixed, 1}, {Empty, 8},
193              {Mixed, 1}, {Empty, 1}, {Mixed, 2}, {Empty, 1}, {Mixed, 3},
194              {Empty, 3}, {Mixed, 5}, {Empty, 4}, {Mixed, 1}, {Empty, 18},
195              {Mixed, 1}, {Empty, 1}, {Mixed, 2}, {Empty, 56}, {Mixed, 5},
196              {Empty, 1}, {Mixed, 2}, {Empty, 4}, {Mixed, 1}, {Empty, 1},
197              {Mixed, 1}, {Empty, 1}, {Mixed, 4}, {Empty, 3}, {Mixed, 1},
198              {Full, 1}, {Mixed, 1}, {Empty, 2}, {Mixed, 1}, {Empty, 6},
199              {Mixed, 2}, {Empty, 2}, {Mixed, 1}, {Empty, 1}, {Mixed, 1},
200              {Empty, 3}, {Mixed, 2}, {Empty, 2}, {Mixed, 2}, {Empty, 1},
201              {Mixed, 2}, {Empty, 6}, {Mixed, 1}, {Empty, 213}, {Mixed, 1},
202              {Empty, 656}, {Mixed, 1}, {Full, 1}, {Empty, 36}, {Mixed, 1},
203              {Empty, 1}, {Mixed, 1}, {Empty, 10}, {Mixed, 1}, {Empty, 5},
204              {Mixed, 1}, {Empty, 5}, {Mixed, 1}, {Full, 1}, {Mixed, 1},
205              {Empty, 1}, {Mixed, 1}, {Empty, 1}, {Mixed, 1}, {Empty, 2},
206              {Mixed, 2}, {Empty, 2}, {Mixed, 2}, {Empty, 2}, {Mixed, 2},
207              {Empty, 1}, {Mixed, 2}, {Empty, 3}, {Mixed, 4}, {Empty, 1},
208              {Mixed, 1}, {Empty, 3}, {Mixed, 1}, {Empty, 349}, {Mixed, 3},
209              {Full, 264}, {Empty, 11}, {Mixed, 1}, {Empty, 2}, {Mixed, 1},
210              {Full, 1}, {Mixed, 3}, {Empty, 3}, {Mixed, 1}, {Empty, 11},
211              {Mixed, 1}, {Empty, 1}, {Mixed, 1}, {Empty, 1}, {Mixed, 3},
212              {Empty, 1}, {Mixed, 2}, {Empty, 3}, {Mixed, 2}, {Empty, 4},
213              {Mixed, 6}, {Full, 1}, {Empty, 3}, {Mixed, 3}, {Empty, 2},
214              {Mixed, 4}, {Full, 4}, {Mixed, 1}, {Empty, 1}, {Mixed, 2},
215              {Empty, 1}, {Mixed, 4}, {Empty, 1}, {Mixed, 1}, {Full, 1},
216              {Empty, 4}, {Mixed, 4}, {Empty, 1}, {Mixed, 1}, {Empty, 1},
217              {Mixed, 1}, {Full, 4}, {Empty, 9}, {Mixed, 3}, {Full, 4},
218              {Mixed, 3}, {Empty, 1}, {Mixed, 2}, {Full, 1}, {Mixed, 3},
219              {Full, 2}, {Empty, 1}, {Mixed, 2}, {Empty, 1}, {Mixed, 3},
220              {Empty, 2}, {Full, 1}, {Empty, 1}, {Mixed, 1}, {Empty, 1},
221              {Mixed, 5}, {Full, 2}, {Empty, 2}, {Mixed, 1}, {Full, 1},
222              {Empty, 1}, {Mixed, 1}, {Empty, 1}, {Mixed, 1}, {Full, 11},
223              {Mixed, 1}, {Full, 12}, {Empty, 2}, {Mixed, 2}, {Empty, 2},
224              {Mixed, 2}, {Empty, 1}, {Mixed, 3}, {Empty, 2}, {Mixed, 4},
225              {Full, 2}, {Mixed, 2}, {Empty, 1}, {Mixed, 5}, {Full, 4},
226              {Empty, 2}, {Mixed, 1}, {Full, 1}, {Empty, 2}, {Mixed, 1},
227              {Full, 5}, {Empty, 1}, {Mixed, 2}, {Full, 1}, {Empty, 2},
228              {Mixed, 2}, {Empty, 1}, {Mixed, 2}, {Full, 1}, {Mixed, 2},
229              {Full, 11}, {Empty, 2}, {Mixed, 1}, {Full, 14}, {Empty, 1},
230              {Mixed, 1}, {Full, 8}, {Mixed, 6}, {Full, 26}, {Empty, 28},
231              {Mixed, 1}, {Full, 3}, {Empty, 3}, {Mixed, 1}, {Empty, 6},
232              {Mixed, 1}, {Full, 85}, {Empty, 33}, {Mixed, 1}, {Full, 126},
233              {Empty, 18}, {Mixed, 1}, {Full, 269}, {Empty, 17}, {Mixed, 3},
234              {Full, 2}, {Mixed, 2}, {Empty, 2}, {Mixed, 3}, {Full, 27},
235              {Empty, 2}, {Mixed, 3}, {Full, 2}, {Mixed, 1}, {Empty, 191},
236              {Mixed, 1}, {Empty, 23}, {Mixed, 1}, {Full, 296}, {Mixed, 1},
237              {Full, 95}, {Empty, 3}, {Mixed, 3}, {Full, 154}, {Empty, 7},
238              {Mixed, 1}, {Empty, 1}, {Mixed, 1}, {Empty, 5}, {Mixed, 1},
239              {Empty, 2}, {Mixed, 1}, {Full, 5}, {Empty, 2}, {Mixed, 2},
240              {Full, 4}, {Empty, 2}, {Mixed, 1}, {Empty, 1}, {Mixed, 3},
241              {Empty, 1}, {Mixed, 3}, {Empty, 10}, {Mixed, 1}, {Empty, 8},
242              {Mixed, 1}, {Empty, 21}, {Mixed, 2}, {Full, 42}, {Mixed, 2},
243              {Full, 62}, {Empty, 6}, {Mixed, 1}, {Full, 1}, {Empty, 2},
244              {Mixed, 1}, {Full, 37}, {Mixed, 6}, {Full, 1}, {Mixed, 1},
245              {Full, 8}, {Empty, 1}, {Mixed, 1}, {Empty, 2}, {Mixed, 6},
246              {Empty, 1}, {Mixed, 1}, {Empty, 1}, {Mixed, 1}, {Full, 1},
247              {Mixed, 4}, {Full, 5}, {Empty, 30}, {Mixed, 2}, {Empty, 3},
248              {Mixed, 1}, {Empty, 2}, {Mixed, 1}, {Full, 1}, {Mixed, 1},
249              {Empty, 1}, {Mixed, 1}, {Empty, 1}, {Mixed, 2}, {Full, 2},
250              {Mixed, 3}, {Full, 1}, {Mixed, 1}, {Full, 1}, {Mixed, 1},
251              {Full, 49}, {Empty, 1334}, {Mixed, 1}, {Full, 1},
252              {Empty, 129}, {Mixed, 1}, {Empty, 6}, {Mixed, 1},
253              {Empty, 180}, {Mixed, 1}, {Full, 330}, {Empty, 16},
254              {Mixed, 1}, {Full, 22575}, {Mixed, 1}, {Empty, 3}, {Full, 4},
255              {Empty, 7}, {Mixed, 1}, {Full, 6128}},
256             {0x03000000, 0x0000280f, 0x00000004, 0x00010000, 0x01800000,
257              0x00000001, 0x00011900, 0x0000ff00, 0xffe0f800, 0x20000000,
258              0x00004000, 0x00001800, 0xfffc0000, 0xf8000000, 0x8000c000,
259              0xb0000000, 0xc0200000, 0x000fffff, 0x00066010, 0x0c3a0200,
260              0x4f7f8660, 0xf0000030, 0x00067811, 0x2c920200, 0xa1fdc678,
261              0xffc0003f, 0x00044011, 0x0c120200, 0xfffec440, 0xfdfc0030,
262              0x00066011, 0x0c120200, 0x4f3fc660, 0xff000030, 0x29c23813,
263              0x3c0038e7, 0xff7ec238, 0xf800003f, 0x00022010, 0x1c000200,
264              0xf89fc220, 0x00ff0030, 0x00022010, 0x0c100200, 0xbf9fc220,
265              0xfff90030, 0x00022011, 0x18000000, 0x000f0220, 0x00000030,
266              0x03800013, 0xd0040000, 0x00a07b80, 0xffe3003f, 0x00000001,
267              0x78000000, 0xf0000000, 0x010fda69, 0xc4001351, 0x0c00c0a0,
268              0x00000100, 0x0001e000, 0x01000000, 0x20000000, 0xf8002000,
269              0x0000df40, 0xc280c200, 0x0000c200, 0x80c20000, 0x008000c2,
270              0x00c20000, 0x18000000, 0xe0000000, 0xfc000000, 0xc0c00000,
271              0xe0000000, 0xfe000000, 0xffe02000, 0xff800000, 0xfff00000,
272              0xfff22000, 0xc0000000, 0xfc00fc00, 0xfc008000, 0xff000000,
273              0x0000f800, 0xffc00000, 0x80000000, 0xf000f000, 0x0000000e,
274              0xffe0c000, 0x0000f000, 0x3800fc00, 0x30000000, 0x80000000,
275              0x60000000, 0xfc00fc00, 0x8000c000, 0x0000f000, 0xe0000000,
276              0x0ff00000, 0x07000000, 0x00001c00, 0xfffffe00, 0x0000ff00,
277              0xfc800000, 0x07c00000, 0xc0c00000, 0x5500c0c0, 0xc0000000,
278              0x00200000, 0x10300020, 0x80230000, 0x000c0020, 0xe0008000,
279              0x80000000, 0x0000ffff, 0xfffe0000, 0x0000f000, 0x80000000,
280              0xffffff80, 0xfffff800, 0x00300000, 0x00c00000, 0x1c000000,
281              0xfffc0200, 0xffff0fff, 0x00008000, 0x80000000, 0x01f00000,
282              0x0000df40, 0x7ffe7f00, 0xff800000, 0x80808080, 0x80808080,
283              0xffffffe0, 0x04000000, 0xfff00000, 0xffc00000, 0xf000ffff,
284              0x00000001, 0x01800000, 0x0000001f, 0x0001c000, 0x00008000,
285              0xf8000000, 0x0000fff0, 0x80000000, 0x80000000, 0xffc00000,
286              0xffc00000, 0x0000e000, 0x0000ff80, 0xfffff000, 0xff000000,
287              0xff008000, 0x007fffff, 0xfc00f000, 0xff000000, 0xfc003fc0,
288              0xc0000000, 0x7ff00000, 0xe0000000, 0x3c004000, 0x80000000,
289              0xff800000, 0x0c00c000, 0x07fffff8, 0xff800000, 0xff818181,
290              0x00008080, 0x0000ffc0, 0xfc00c000, 0x0000fff0, 0x00000780,
291              0xf0000000, 0x0000c000, 0xfc000000, 0x1f07ff80, 0xa0800000,
292              0x00000024, 0x0007fffc, 0x0000ffff, 0x00030000, 0xffffff00,
293              0xc000ffff, 0xfc000000, 0x00080000, 0x0020f080, 0x60000000,
294              0x00000001, 0x80000000, 0xe3030303, 0xc1ff8080, 0x00001000,
295              0x48000080, 0xc000c000, 0xf8000000, 0x00000078, 0x00700000,
296              0xf0008000, 0xfffffffe, 0x0000ffff, 0xc0000000, 0xe0000000,
297              0xfffe0000, 0xf0000000, 0x0000fff0, 0x0000f800, 0xf8000000,
298              0x40000000, 0xffc000f0, 0xc0000000, 0x0000fc00, 0x00f00000,
299              0xf0000000, 0x0000ff00, 0xffff7ff0, 0xff800000, 0xffc00000,
300              0xffffff00, 0x000002c0, 0x6e400000, 0x00400000, 0x80000000,
301              0xffff007f, 0x07c80000, 0x70000000, 0x7c000000, 0x0f000000,
302              0x00030000, 0x01100f90, 0x78f00000, 0xfe00ff00, 0xff800780,
303              0x01c00000, 0x00c00000, 0x00f80000, 0xe1fc0000, 0xffff01ff,
304              0xfffffe00, 0xfff80000, 0x03f80000, 0x80000000, 0x0003c000,
305              0x7fff0000, 0x0000fffc, 0xfc00fe00, 0x00200000, 0x0000fff0,
306              0xff800000, 0x0000c000, 0xffe00001, 0x00040000, 0x80000000,
307              0x40004280, 0x0000fc00, 0xfc00f800, 0x00066010, 0x0c120200,
308              0x1f7ec660, 0xffe0e030, 0xd4000000, 0xfc00ff00, 0x00c00000,
309              0xc0000000, 0xfc00ffe0, 0xffffe000, 0xff000000, 0xfffffc00,
310              0x1c000000, 0x0000f000, 0x7ff80000, 0xfe000000, 0x00000200,
311              0x00800000, 0x0000ffc0, 0x0000e000, 0x00030000, 0xff800100,
312              0xfc000000, 0xffe08000, 0xfffffff0, 0xffff8000, 0xffffff80,
313              0xfe000000, 0x80000000, 0xffff3c00, 0x0000ffff, 0xffc0c000,
314              0x0400ffc0, 0x1f000004, 0xffff0000, 0x0000ffe0, 0x80000000,
315              0x00007fff, 0xfffffffe, 0xffffe000, 0xfff80000, 0xfffffffc,
316              0xe000f800, 0x0c00fe00, 0xfffffff0, 0xffc00000, 0x00000180,
317              0xfffffe00, 0xffffffc0, 0xff800000, 0xfffc0000, 0x00200000,
318              0x20000000, 0x1400219b, 0x00000010, 0x20201840, 0x84000000,
319              0x000203a0, 0x000000c0, 0x00003000, 0x07fff000, 0xffff0001,
320              0x06000080, 0xfffff824, 0xff800060, 0x3c00f800, 0x00000010,
321              0xf5080169, 0x5569157b, 0xa1080869, 0xf0000400, 0xf0000411,
322              0xfffcffff, 0x0000f000, 0xfff00000, 0x00018000, 0x00010001,
323              0xffc00000, 0x0000e000, 0x00008000, 0x0000f000, 0xffffe000,
324              0x0000003f, 0x0000fff8, 0xf0000000, 0xfffcfe00, 0xfff80000,
325              0xff80e000, 0xfff00000, 0xffe00000, 0x0000f000, 0xfc00ff00,
326              0x0000ff00, 0xffffc000, 0x8000ffff, 0x8006ff00, 0x8000f000,
327              0xfffc0000, 0xfffffffe, 0xff800000, 0xffe00000, 0xc0000000,
328              0xfffffffc, 0xc0000000, 0xfffffffd, 0xffff0000}};
329        /** Code Point Ranges for Zyyy
330        [0000, 0040], [005b, 0060], [007b, 00a9], [00ab, 00b9],
331        [00bb, 00bf], [00d7, 00d7], [00f7, 00f7], [02b9, 02df],
332        [02e5, 02e9], [02ec, 02ff], [0374, 0374], [037e, 037e],
333        [0385, 0385], [0387, 0387], [0605, 0605], [061c, 061c],
334        [06dd, 06dd], [08e2, 08e2], [0e3f, 0e3f], [0fd5, 0fd8],
335        [16eb, 16ed], [2000, 200b], [200e, 2064], [2066, 2070],
336        [2074, 207e], [2080, 208e], [20a0, 20be], [2100, 2125],
337        [2127, 2129], [212c, 2131], [2133, 214d], [214f, 215f],
338        [2189, 218b], [2190, 23fe], [2400, 2426], [2440, 244a],
339        [2460, 27ff], [2900, 2b73], [2b76, 2b95], [2b98, 2bb9],
340        [2bbd, 2bc8], [2bca, 2bd1], [2bec, 2bef], [2e00, 2e42],
341        [2e44, 2e44], [2ff0, 2ffb], [3000, 3000], [3004, 3004],
342        [3012, 3012], [3020, 3020], [3036, 3036], [3248, 325f],
343        [327f, 327f], [32b1, 32bf], [32cc, 32cf], [3371, 337a],
344        [3380, 33df], [33ff, 33ff], [4dc0, 4dff], [a700, a721],
345        [a788, a78a], [ab5b, ab5b], [fd3e, fd3f], [fe10, fe19],
346        [fe30, fe44], [fe47, fe52], [fe54, fe66], [fe68, fe6b],
347        [feff, feff], [ff01, ff20], [ff3b, ff40], [ff5b, ff60],
348        [ffe0, ffe6], [ffe8, ffee], [fff9, fffd], [10190, 1019b],
349        [101d0, 101fc], [1d000, 1d0f5], [1d100, 1d126], [1d129, 1d166],
350        [1d16a, 1d17a], [1d183, 1d184], [1d18c, 1d1a9], [1d1ae, 1d1e8],
351        [1d300, 1d356], [1d400, 1d454], [1d456, 1d49c], [1d49e, 1d49f],
352        [1d4a2, 1d4a2], [1d4a5, 1d4a6], [1d4a9, 1d4ac], [1d4ae, 1d4b9],
353        [1d4bb, 1d4bb], [1d4bd, 1d4c3], [1d4c5, 1d505], [1d507, 1d50a],
354        [1d50d, 1d514], [1d516, 1d51c], [1d51e, 1d539], [1d53b, 1d53e],
355        [1d540, 1d544], [1d546, 1d546], [1d54a, 1d550], [1d552, 1d6a5],
356        [1d6a8, 1d7cb], [1d7ce, 1d7ff], [1f000, 1f02b], [1f030, 1f093],
357        [1f0a0, 1f0ae], [1f0b1, 1f0bf], [1f0c1, 1f0cf], [1f0d1, 1f0f5],
358        [1f100, 1f10c], [1f110, 1f12e], [1f130, 1f16b], [1f170, 1f1ac],
359        [1f1e6, 1f1ff], [1f201, 1f202], [1f210, 1f23b], [1f240, 1f248],
360        [1f300, 1f6d2], [1f6e0, 1f6ec], [1f6f0, 1f6f6], [1f700, 1f773],
361        [1f780, 1f7d4], [1f800, 1f80b], [1f810, 1f847], [1f850, 1f859],
362        [1f860, 1f887], [1f890, 1f8ad], [1f910, 1f91e], [1f920, 1f927],
363        [1f930, 1f930], [1f933, 1f93e], [1f940, 1f94b], [1f950, 1f95e],
364        [1f980, 1f991], [1f9c0, 1f9c0], [e0001, e0001], [e0020, e007f]**/
365        const UnicodeSet zyyy_Ext
366            {{{Full, 2}, {Mixed, 2}, {Full, 1}, {Mixed, 3}, {Empty, 13},
367              {Mixed, 1}, {Full, 1}, {Mixed, 1}, {Empty, 3}, {Mixed, 2},
368              {Empty, 19}, {Mixed, 1}, {Empty, 5}, {Mixed, 1}, {Empty, 16},
369              {Mixed, 1}, {Empty, 41}, {Mixed, 1}, {Empty, 12}, {Mixed, 1},
370              {Empty, 56}, {Mixed, 1}, {Empty, 72}, {Mixed, 1}, {Full, 2},
371              {Mixed, 3}, {Empty, 2}, {Full, 1}, {Mixed, 2}, {Empty, 1},
372              {Mixed, 1}, {Full, 18}, {Mixed, 1}, {Full, 1}, {Mixed, 2},
373              {Full, 29}, {Empty, 8}, {Full, 19}, {Mixed, 5}, {Empty, 16},
374              {Full, 2}, {Mixed, 1}, {Empty, 12}, {Mixed, 3}, {Empty, 16},
375              {Mixed, 2}, {Empty, 1}, {Mixed, 2}, {Empty, 4}, {Mixed, 1},
376              {Full, 3}, {Mixed, 1}, {Empty, 206}, {Full, 2}, {Empty, 712},
377              {Full, 1}, {Mixed, 1}, {Empty, 2}, {Mixed, 1}, {Empty, 29},
378              {Mixed, 1}, {Empty, 654}, {Mixed, 1}, {Empty, 6}, {Mixed, 4},
379              {Empty, 3}, {Mixed, 5}, {Empty, 3}, {Mixed, 1}, {Empty, 12},
380              {Mixed, 1}, {Empty, 1}, {Mixed, 2}, {Empty, 1648}, {Full, 7},
381              {Mixed, 1}, {Full, 1}, {Mixed, 1}, {Full, 1}, {Mixed, 3},
382              {Full, 1}, {Mixed, 1}, {Empty, 8}, {Full, 2}, {Mixed, 1},
383              {Empty, 5}, {Full, 2}, {Mixed, 1}, {Full, 1}, {Mixed, 3},
384              {Full, 1}, {Mixed, 3}, {Full, 10}, {Mixed, 1}, {Full, 8},
385              {Mixed, 1}, {Full, 1}, {Empty, 192}, {Full, 1}, {Mixed, 1},
386              {Full, 2}, {Mixed, 6}, {Full, 1}, {Mixed, 1}, {Full, 1},
387              {Mixed, 1}, {Empty, 1}, {Mixed, 4}, {Empty, 5}, {Full, 30},
388              {Mixed, 2}, {Full, 3}, {Mixed, 1}, {Full, 2}, {Mixed, 1},
389              {Empty, 1}, {Mixed, 1}, {Full, 1}, {Mixed, 1}, {Full, 1},
390              {Mixed, 2}, {Empty, 2}, {Mixed, 3}, {Empty, 1}, {Mixed, 1},
391              {Empty, 1}, {Mixed, 1}, {Empty, 24625}, {Mixed, 1}, {Full, 3},
392              {Empty, 6140}},
393             {0xf8000001, 0xf8000001, 0xfbfffbff, 0x00800000, 0x00800000,
394              0xfe000000, 0xfffff3e0, 0x40100000, 0x000000a0, 0x10000020,
395              0x20000000, 0x00000004, 0x80000000, 0x01e00000, 0x00003800,
396              0xffffcfff, 0x7ff1ffdf, 0x00007fff, 0x7fffffff, 0xfffbf3bf,
397              0xffffbfff, 0xffff0e00, 0x7fffffff, 0x0000007f, 0x000007ff,
398              0xffcfffff, 0xff3fffff, 0xe3ffffff, 0x0003fdff, 0x0000f000,
399              0x00000017, 0x0fff0000, 0x00040011, 0x00400001, 0xffffff00,
400              0x80000000, 0xfffe0000, 0x0000f000, 0x07fe0000, 0x80000000,
401              0x00000003, 0x00000700, 0x08000000, 0xc0000000, 0x03ff0000,
402              0xffff0000, 0xfff7ff9f, 0x00000f7f, 0x80000000, 0xfffffffe,
403              0xf8000001, 0xf8000001, 0x00000001, 0x3e007f7f, 0x0fff0000,
404              0xffff0000, 0x1fffffff, 0x003fffff, 0xfffffe7f, 0x07fffc7f,
405              0xfffff018, 0xffffc3ff, 0x000001ff, 0x007fffff, 0xffdfffff,
406              0xdfffffff, 0xebffde64, 0xffffffef, 0xdfdfe7bf, 0x7bffffff,
407              0xfffdfc5f, 0xffffff3f, 0xffffcfff, 0xffff0fff, 0x000fffff,
408              0xfffe7fff, 0xfffefffe, 0x003fffff, 0xffff1fff, 0xffff7fff,
409              0xffff0fff, 0x00001fff, 0xffffffc0, 0xffff0006, 0x0fffffff,
410              0x000001ff, 0x0007ffff, 0x007f1fff, 0x000fffff, 0x001fffff,
411              0xffff0fff, 0x03ff00ff, 0xffff00ff, 0x00003fff, 0x7fff0000,
412              0x7ff900ff, 0x7fff0fff, 0x0003ffff, 0x00000001, 0x00000002}};
413        /** Code Point Ranges for Latn
414        [0041, 005a], [0061, 007a], [00aa, 00aa], [00ba, 00ba],
415        [00c0, 00d6], [00d8, 00f6], [00f8, 02b8], [02e0, 02e4],
416        [0363, 036f], [0485, 0486], [0951, 0952], [10fb, 10fb],
417        [1d00, 1d25], [1d2c, 1d5c], [1d62, 1d65], [1d6b, 1d77],
418        [1d79, 1dbe], [1e00, 1eff], [2071, 2071], [207f, 207f],
419        [2090, 209c], [20f0, 20f0], [212a, 212b], [2132, 2132],
420        [214e, 214e], [2160, 2188], [2c60, 2c7f], [a722, a787],
421        [a78b, a7ae], [a7b0, a7b7], [a7f7, a7ff], [a92e, a92e],
422        [ab30, ab5a], [ab5c, ab64], [fb00, fb06], [ff21, ff3a],
423        [ff41, ff5a]**/
424        const UnicodeSet latn_Ext
425            {{{Empty, 2}, {Mixed, 2}, {Empty, 1}, {Mixed, 3}, {Full, 13},
426              {Mixed, 1}, {Empty, 1}, {Mixed, 1}, {Empty, 3}, {Mixed, 1},
427              {Empty, 8}, {Mixed, 1}, {Empty, 37}, {Mixed, 1}, {Empty, 60},
428              {Mixed, 1}, {Empty, 96}, {Full, 1}, {Mixed, 3}, {Full, 1},
429              {Mixed, 1}, {Empty, 2}, {Full, 8}, {Empty, 11}, {Mixed, 2},
430              {Empty, 2}, {Mixed, 1}, {Empty, 1}, {Mixed, 2}, {Full, 1},
431              {Mixed, 1}, {Empty, 86}, {Full, 1}, {Empty, 981}, {Mixed, 1},
432              {Full, 2}, {Mixed, 2}, {Empty, 1}, {Mixed, 1}, {Empty, 9},
433              {Mixed, 1}, {Empty, 15}, {Mixed, 3}, {Empty, 636}, {Mixed, 1},
434              {Empty, 32}, {Mixed, 2}, {Empty, 32773}},
435             {0x07fffffe, 0x07fffffe, 0x04000400, 0xff7fffff, 0xff7fffff,
436              0x01ffffff, 0x0000001f, 0x0000fff8, 0x00000060, 0x00060000,
437              0x08000000, 0xfffff03f, 0x1fffffff, 0xfefff83c, 0x7fffffff,
438              0x80020000, 0x1fff0000, 0x00010000, 0x00040c00, 0x00004000,
439              0x000001ff, 0xfffffffc, 0xfffff8ff, 0x00ff7fff, 0xff800000,
440              0x00004000, 0xffff0000, 0xf7ffffff, 0x0000001f, 0x0000007f,
441              0x07fffffe, 0x07fffffe}};
442        /** Code Point Ranges for Grek
443        [0342, 0342], [0345, 0345], [0370, 0373], [0375, 0377],
444        [037a, 037d], [037f, 037f], [0384, 0384], [0386, 0386],
445        [0388, 038a], [038c, 038c], [038e, 03a1], [03a3, 03e1],
446        [03f0, 03ff], [1d26, 1d2a], [1d5d, 1d61], [1d66, 1d6a],
447        [1dbf, 1dc1], [1f00, 1f15], [1f18, 1f1d], [1f20, 1f45],
448        [1f48, 1f4d], [1f50, 1f57], [1f59, 1f59], [1f5b, 1f5b],
449        [1f5d, 1f5d], [1f5f, 1f7d], [1f80, 1fb4], [1fb6, 1fc4],
450        [1fc6, 1fd3], [1fd6, 1fdb], [1fdd, 1fef], [1ff2, 1ff4],
451        [1ff6, 1ffe], [2126, 2126], [ab65, ab65], [10140, 1018e],
452        [101a0, 101a0], [1d200, 1d245]**/
453        const UnicodeSet grek_Ext
454            {{{Empty, 26}, {Mixed, 4}, {Full, 1}, {Mixed, 1}, {Empty, 201},
455              {Mixed, 3}, {Empty, 1}, {Mixed, 2}, {Empty, 9}, {Mixed, 1},
456              {Full, 1}, {Mixed, 2}, {Full, 1}, {Mixed, 3}, {Empty, 9},
457              {Mixed, 1}, {Empty, 1105}, {Mixed, 1}, {Empty, 686},
458              {Full, 2}, {Mixed, 2}, {Empty, 1666}, {Full, 2}, {Mixed, 1},
459              {Empty, 31085}},
460             {0x00000024, 0xbcef0000, 0xffffd750, 0xfffffffb, 0xffff0003,
461              0x000007c0, 0xe0000000, 0x000007c3, 0x80000000, 0x00000003,
462              0x3f3fffff, 0xaaff3f3f, 0x3fffffff, 0xffdfffff, 0xefcfffdf,
463              0x7fdcffff, 0x00000040, 0x00000020, 0x00007fff, 0x00000001,
464              0x0000003f}};
465        /** Code Point Ranges for Cyrl
466        [0400, 052f], [1c80, 1c88], [1d2b, 1d2b], [1d78, 1d78],
467        [2de0, 2dff], [2e43, 2e43], [a640, a69f], [fe2e, fe2f]**/
468        const UnicodeSet cyrl_Ext
469            {{{Empty, 32}, {Full, 9}, {Mixed, 1}, {Empty, 186}, {Mixed, 1},
470              {Empty, 4}, {Mixed, 1}, {Empty, 1}, {Mixed, 1}, {Empty, 131},
471              {Full, 1}, {Empty, 2}, {Mixed, 1}, {Empty, 959}, {Full, 3},
472              {Empty, 700}, {Mixed, 1}, {Empty, 32782}},
473             {0x0000ffff, 0x000001ff, 0x00000800, 0x01000000, 0x00000008,
474              0x0000c000}};
475        /** Code Point Ranges for Armn
476        [0531, 0556], [0559, 055f], [0561, 0587], [0589, 058a],
477        [058d, 058f], [fb13, fb17]**/
478        const UnicodeSet armn_Ext
479            {{{Empty, 41}, {Mixed, 4}, {Empty, 1963}, {Mixed, 1},
480              {Empty, 32807}},
481             {0xfffe0000, 0xfe7fffff, 0xfffffffe, 0x0000e6ff, 0x00f80000}};
482        /** Code Point Ranges for Hebr
483        [0591, 05c7], [05d0, 05ea], [05f0, 05f4], [fb1d, fb36],
484        [fb38, fb3c], [fb3e, fb3e], [fb40, fb41], [fb43, fb44],
485        [fb46, fb4f]**/
486        const UnicodeSet hebr_Ext
487            {{{Empty, 44}, {Mixed, 1}, {Full, 1}, {Mixed, 2}, {Empty, 1960},
488              {Mixed, 3}, {Empty, 32805}},
489             {0xfffe0000, 0xffff00ff, 0x001f07ff, 0xe0000000, 0x5f7fffff,
490              0x0000ffdb}};
491        /** Code Point Ranges for Arab
492        [0600, 0604], [0606, 061b], [061e, 06dc], [06de, 06ff],
493        [0750, 077f], [08a0, 08b4], [08b6, 08bd], [08d4, 08e1],
494        [08e3, 08ff], [fb50, fbc1], [fbd3, fd3d], [fd50, fd8f],
495        [fd92, fdc7], [fdf0, fdfd], [fe70, fe74], [fe76, fefc],
496        [102e0, 102fb], [10e60, 10e7e], [1ee00, 1ee03], [1ee05, 1ee1f],
497        [1ee21, 1ee22], [1ee24, 1ee24], [1ee27, 1ee27], [1ee29, 1ee32],
498        [1ee34, 1ee37], [1ee39, 1ee39], [1ee3b, 1ee3b], [1ee42, 1ee42],
499        [1ee47, 1ee47], [1ee49, 1ee49], [1ee4b, 1ee4b], [1ee4d, 1ee4f],
500        [1ee51, 1ee52], [1ee54, 1ee54], [1ee57, 1ee57], [1ee59, 1ee59],
501        [1ee5b, 1ee5b], [1ee5d, 1ee5d], [1ee5f, 1ee5f], [1ee61, 1ee62],
502        [1ee64, 1ee64], [1ee67, 1ee6a], [1ee6c, 1ee72], [1ee74, 1ee77],
503        [1ee79, 1ee7c], [1ee7e, 1ee7e], [1ee80, 1ee89], [1ee8b, 1ee9b],
504        [1eea1, 1eea3], [1eea5, 1eea9], [1eeab, 1eebb], [1eef0, 1eef1]**/
505        const UnicodeSet arab_Ext
506            {{{Empty, 48}, {Mixed, 1}, {Full, 5}, {Mixed, 1}, {Full, 1},
507              {Empty, 2}, {Mixed, 1}, {Full, 1}, {Empty, 9}, {Mixed, 3},
508              {Empty, 1938}, {Mixed, 1}, {Full, 3}, {Mixed, 1}, {Full, 10},
509              {Mixed, 2}, {Full, 1}, {Mixed, 1}, {Full, 1}, {Mixed, 2},
510              {Empty, 3}, {Mixed, 1}, {Full, 3}, {Mixed, 1}, {Empty, 31},
511              {Mixed, 1}, {Empty, 91}, {Mixed, 1}, {Empty, 1788},
512              {Mixed, 6}, {Empty, 1}, {Mixed, 1}, {Empty, 30856}},
513             {0xcfffffdf, 0xdfffffff, 0xffff0000, 0x3fdfffff, 0xfff00000,
514              0xfffffffb, 0xffff0000, 0xfff80003, 0x3fffffff, 0xffff0000,
515              0xfffcffff, 0x000000ff, 0x3fff0000, 0xffdf0000, 0x1fffffff,
516              0x0fffffff, 0x7fffffff, 0xffffffef, 0x0af7fe96, 0xaa96ea84,
517              0x5ef7f796, 0x0ffffbff, 0x0ffffbee, 0x00030000}};
518        /** Code Point Ranges for Syrc
519        [060c, 060c], [061b, 061b], [061f, 061f], [0640, 0640],
520        [064b, 0655], [0670, 0670], [0700, 070d], [070f, 074a],
521        [074d, 074f]**/
522        const UnicodeSet syrc_Ext
523            {{{Empty, 48}, {Mixed, 1}, {Empty, 1}, {Mixed, 2}, {Empty, 4},
524              {Mixed, 1}, {Full, 1}, {Mixed, 1}, {Empty, 34757}},
525             {0x88001000, 0x003ff801, 0x00010000, 0xffffbfff, 0x0000e7ff}};
526        /** Code Point Ranges for Thaa
527        [060c, 060c], [061b, 061b], [061f, 061f], [0660, 0669],
528        [0780, 07b1], [fdf2, fdf2], [fdfd, fdfd]**/
529        const UnicodeSet thaa_Ext
530            {{{Empty, 48}, {Mixed, 1}, {Empty, 2}, {Mixed, 1}, {Empty, 8},
531              {Full, 1}, {Mixed, 1}, {Empty, 1969}, {Mixed, 1},
532              {Empty, 32784}},
533             {0x88001000, 0x000003ff, 0x0003ffff, 0x20040000}};
534        /** Code Point Ranges for Deva
535        [0900, 097f], [1cd0, 1cf6], [1cf8, 1cf9], [20f0, 20f0],
536        [a830, a839], [a8e0, a8fd]**/
537        const UnicodeSet deva_Ext
538            {{{Empty, 72}, {Full, 4}, {Empty, 154}, {Mixed, 2}, {Empty, 31},
539              {Mixed, 1}, {Empty, 1081}, {Mixed, 1}, {Empty, 5}, {Mixed, 1},
540              {Empty, 33464}},
541             {0xffff0000, 0x037fffff, 0x00010000, 0x03ff0000, 0x3fffffff}};
542        /** Code Point Ranges for Beng
543        [0951, 0952], [0964, 0965], [0980, 0983], [0985, 098c],
544        [098f, 0990], [0993, 09a8], [09aa, 09b0], [09b2, 09b2],
545        [09b6, 09b9], [09bc, 09c4], [09c7, 09c8], [09cb, 09ce],
546        [09d7, 09d7], [09dc, 09dd], [09df, 09e3], [09e6, 09fb],
547        [a8f1, a8f1]**/
548        const UnicodeSet beng_Ext
549            {{{Empty, 74}, {Mixed, 6}, {Empty, 1271}, {Mixed, 1},
550              {Empty, 33464}},
551             {0x00060000, 0x00000030, 0xfff99fef, 0xf3c5fdff, 0xb080799f,
552              0x0fffffcf, 0x00020000}};
553        /** Code Point Ranges for Guru
554        [0951, 0952], [0964, 0965], [0a01, 0a03], [0a05, 0a0a],
555        [0a0f, 0a10], [0a13, 0a28], [0a2a, 0a30], [0a32, 0a33],
556        [0a35, 0a36], [0a38, 0a39], [0a3c, 0a3c], [0a3e, 0a42],
557        [0a47, 0a48], [0a4b, 0a4d], [0a51, 0a51], [0a59, 0a5c],
558        [0a5e, 0a5e], [0a66, 0a75], [a830, a839]**/
559        const UnicodeSet guru_Ext
560            {{{Empty, 74}, {Mixed, 2}, {Empty, 4}, {Mixed, 4},
561              {Empty, 1261}, {Mixed, 1}, {Empty, 33470}},
562             {0x00060000, 0x00000030, 0xfff987ee, 0xd36dfdff, 0x5e023987,
563              0x003fffc0, 0x03ff0000}};
564        /** Code Point Ranges for Gujr
565        [0951, 0952], [0964, 0965], [0a81, 0a83], [0a85, 0a8d],
566        [0a8f, 0a91], [0a93, 0aa8], [0aaa, 0ab0], [0ab2, 0ab3],
567        [0ab5, 0ab9], [0abc, 0ac5], [0ac7, 0ac9], [0acb, 0acd],
568        [0ad0, 0ad0], [0ae0, 0ae3], [0ae6, 0af1], [0af9, 0af9],
569        [a830, a839]**/
570        const UnicodeSet gujr_Ext
571            {{{Empty, 74}, {Mixed, 2}, {Empty, 8}, {Mixed, 4},
572              {Empty, 1257}, {Mixed, 1}, {Empty, 33470}},
573             {0x00060000, 0x00000030, 0xfffbbfee, 0xf3edfdff, 0x00013bbf,
574              0x0203ffcf, 0x03ff0000}};
575        /** Code Point Ranges for Orya
576        [0951, 0952], [0964, 0965], [0b01, 0b03], [0b05, 0b0c],
577        [0b0f, 0b10], [0b13, 0b28], [0b2a, 0b30], [0b32, 0b33],
578        [0b35, 0b39], [0b3c, 0b44], [0b47, 0b48], [0b4b, 0b4d],
579        [0b56, 0b57], [0b5c, 0b5d], [0b5f, 0b63], [0b66, 0b77]**/
580        const UnicodeSet orya_Ext
581            {{{Empty, 74}, {Mixed, 2}, {Empty, 12}, {Mixed, 4},
582              {Empty, 34724}},
583             {0x00060000, 0x00000030, 0xfff99fee, 0xf3edfdff, 0xb0c0399f,
584              0x00ffffcf}};
585        /** Code Point Ranges for Taml
586        [0951, 0952], [0964, 0965], [0b82, 0b83], [0b85, 0b8a],
587        [0b8e, 0b90], [0b92, 0b95], [0b99, 0b9a], [0b9c, 0b9c],
588        [0b9e, 0b9f], [0ba3, 0ba4], [0ba8, 0baa], [0bae, 0bb9],
589        [0bbe, 0bc2], [0bc6, 0bc8], [0bca, 0bcd], [0bd0, 0bd0],
590        [0bd7, 0bd7], [0be6, 0bfa], [1cda, 1cda], [a8f3, a8f3],
591        [11303, 11303], [1133c, 1133c]**/
592        const UnicodeSet taml_Ext
593            {{{Empty, 74}, {Mixed, 2}, {Empty, 16}, {Mixed, 4},
594              {Empty, 134}, {Mixed, 1}, {Empty, 1120}, {Mixed, 1},
595              {Empty, 848}, {Mixed, 2}, {Empty, 32614}},
596             {0x00060000, 0x00000030, 0xd63dc7ec, 0xc3ffc718, 0x00813dc7,
597              0x07ffffc0, 0x04000000, 0x00080000, 0x00000008, 0x10000000}};
598        /** Code Point Ranges for Telu
599        [0951, 0952], [0964, 0965], [0c00, 0c03], [0c05, 0c0c],
600        [0c0e, 0c10], [0c12, 0c28], [0c2a, 0c39], [0c3d, 0c44],
601        [0c46, 0c48], [0c4a, 0c4d], [0c55, 0c56], [0c58, 0c5a],
602        [0c60, 0c63], [0c66, 0c6f], [0c78, 0c7f], [1cda, 1cda]**/
603        const UnicodeSet telu_Ext
604            {{{Empty, 74}, {Mixed, 2}, {Empty, 20}, {Mixed, 4},
605              {Empty, 130}, {Mixed, 1}, {Empty, 34585}},
606             {0x00060000, 0x00000030, 0xfffddfef, 0xe3fffdff, 0x07603ddf,
607              0xff00ffcf, 0x04000000}};
608        /** Code Point Ranges for Knda
609        [0951, 0952], [0964, 0965], [0c80, 0c83], [0c85, 0c8c],
610        [0c8e, 0c90], [0c92, 0ca8], [0caa, 0cb3], [0cb5, 0cb9],
611        [0cbc, 0cc4], [0cc6, 0cc8], [0cca, 0ccd], [0cd5, 0cd6],
612        [0cde, 0cde], [0ce0, 0ce3], [0ce6, 0cef], [0cf1, 0cf2],
613        [1cda, 1cda], [1cf5, 1cf5], [a830, a835]**/
614        const UnicodeSet knda_Ext
615            {{{Empty, 74}, {Mixed, 2}, {Empty, 24}, {Mixed, 4},
616              {Empty, 126}, {Mixed, 2}, {Empty, 1113}, {Mixed, 1},
617              {Empty, 33470}},
618             {0x00060000, 0x00000030, 0xfffddfef, 0xf3effdff, 0x40603ddf,
619              0x0006ffcf, 0x04000000, 0x00200000, 0x003f0000}};
620        /** Code Point Ranges for Mlym
621        [0951, 0952], [0964, 0965], [0d01, 0d03], [0d05, 0d0c],
622        [0d0e, 0d10], [0d12, 0d3a], [0d3d, 0d44], [0d46, 0d48],
623        [0d4a, 0d4f], [0d54, 0d63], [0d66, 0d7f], [1cda, 1cda]**/
624        const UnicodeSet mlym_Ext
625            {{{Empty, 74}, {Mixed, 2}, {Empty, 28}, {Mixed, 4},
626              {Empty, 122}, {Mixed, 1}, {Empty, 34585}},
627             {0x00060000, 0x00000030, 0xfffddfee, 0xe7ffffff, 0xfff0fddf,
628              0xffffffcf, 0x04000000}};
629        /** Code Point Ranges for Sinh
630        [0964, 0965], [0d82, 0d83], [0d85, 0d96], [0d9a, 0db1],
631        [0db3, 0dbb], [0dbd, 0dbd], [0dc0, 0dc6], [0dca, 0dca],
632        [0dcf, 0dd4], [0dd6, 0dd6], [0dd8, 0ddf], [0de6, 0def],
633        [0df2, 0df4], [111e1, 111f4]**/
634        const UnicodeSet sinh_Ext
635            {{{Empty, 75}, {Mixed, 1}, {Empty, 32}, {Mixed, 4},
636              {Empty, 2079}, {Mixed, 1}, {Empty, 32624}},
637             {0x00000030, 0xfc7fffec, 0x2ffbffff, 0xff5f847f, 0x001cffc0,
638              0x001ffffe}};
639        /** Code Point Ranges for Thai
640        [0e01, 0e3a], [0e40, 0e5b]**/
641        const UnicodeSet thai_Ext
642            {{{Empty, 112}, {Mixed, 3}, {Empty, 34701}},
643             {0xfffffffe, 0x07ffffff, 0x0fffffff}};
644        /** Code Point Ranges for Laoo
645        [0e81, 0e82], [0e84, 0e84], [0e87, 0e88], [0e8a, 0e8a],
646        [0e8d, 0e8d], [0e94, 0e97], [0e99, 0e9f], [0ea1, 0ea3],
647        [0ea5, 0ea5], [0ea7, 0ea7], [0eaa, 0eab], [0ead, 0eb9],
648        [0ebb, 0ebd], [0ec0, 0ec4], [0ec6, 0ec6], [0ec8, 0ecd],
649        [0ed0, 0ed9], [0edc, 0edf]**/
650        const UnicodeSet laoo_Ext
651            {{{Empty, 116}, {Mixed, 3}, {Empty, 34697}},
652             {0xfef02596, 0x3bffecae, 0xf3ff3f5f}};
653        /** Code Point Ranges for Tibt
654        [0f00, 0f47], [0f49, 0f6c], [0f71, 0f97], [0f99, 0fbc],
655        [0fbe, 0fcc], [0fce, 0fd4], [0fd9, 0fda]**/
656        const UnicodeSet tibt_Ext
657            {{{Empty, 120}, {Full, 2}, {Mixed, 5}, {Empty, 34689}},
658             {0xfffffeff, 0xfffe1fff, 0xfeffffff, 0xdfffffff, 0x061fdfff}};
659        /** Code Point Ranges for Mymr
660        [1000, 109f], [a92e, a92e], [a9e0, a9fe], [aa60, aa7f]**/
661        const UnicodeSet mymr_Ext
662            {{{Empty, 128}, {Full, 5}, {Empty, 1220}, {Mixed, 1},
663              {Empty, 5}, {Mixed, 1}, {Empty, 3}, {Full, 1}, {Empty, 33452}},
664             {0x00004000, 0x7fffffff}};
665        /** Code Point Ranges for Geor
666        [0589, 0589], [10a0, 10c5], [10c7, 10c7], [10cd, 10cd],
667        [10d0, 10ff], [2d00, 2d25], [2d27, 2d27], [2d2d, 2d2d]**/
668        const UnicodeSet geor_Ext
669            {{{Empty, 44}, {Mixed, 1}, {Empty, 88}, {Full, 1}, {Mixed, 1},
670              {Full, 1}, {Empty, 224}, {Full, 1}, {Mixed, 1},
671              {Empty, 34454}},
672             {0x00000200, 0xffff20bf, 0x000020bf}};
673        /** Code Point Ranges for Hang
674        [1100, 11ff], [3001, 3003], [3008, 3011], [3013, 301f],
675        [302e, 3030], [3037, 3037], [30fb, 30fb], [3131, 318e],
676        [3200, 321e], [3260, 327e], [a960, a97c], [ac00, d7a3],
677        [d7b0, d7c6], [d7cb, d7fb], [fe45, fe46], [ff61, ff65],
678        [ffa0, ffbe], [ffc2, ffc7], [ffca, ffcf], [ffd2, ffd7],
679        [ffda, ffdc]**/
680        const UnicodeSet hang_Ext
681            {{{Empty, 136}, {Full, 8}, {Empty, 240}, {Mixed, 2}, {Empty, 5},
682              {Mixed, 1}, {Empty, 1}, {Mixed, 1}, {Full, 2}, {Mixed, 1},
683              {Empty, 3}, {Mixed, 1}, {Empty, 2}, {Mixed, 1}, {Empty, 951},
684              {Mixed, 1}, {Empty, 20}, {Full, 349}, {Mixed, 3},
685              {Empty, 306}, {Mixed, 1}, {Empty, 8}, {Mixed, 1}, {Empty, 1},
686              {Mixed, 2}, {Empty, 32769}},
687             {0xfffbff0e, 0x0081c000, 0x08000000, 0xfffe0000, 0x00007fff,
688              0x7fffffff, 0x7fffffff, 0x1fffffff, 0xffff000f, 0xfffff87f,
689              0x0fffffff, 0x00000060, 0x0000003e, 0x7fffffff, 0x1cfcfcfc}};
690        /** Code Point Ranges for Ethi
691        [1200, 1248], [124a, 124d], [1250, 1256], [1258, 1258],
692        [125a, 125d], [1260, 1288], [128a, 128d], [1290, 12b0],
693        [12b2, 12b5], [12b8, 12be], [12c0, 12c0], [12c2, 12c5],
694        [12c8, 12d6], [12d8, 1310], [1312, 1315], [1318, 135a],
695        [135d, 137c], [1380, 1399], [2d80, 2d96], [2da0, 2da6],
696        [2da8, 2dae], [2db0, 2db6], [2db8, 2dbe], [2dc0, 2dc6],
697        [2dc8, 2dce], [2dd0, 2dd6], [2dd8, 2dde], [ab01, ab06],
698        [ab09, ab0e], [ab11, ab16], [ab20, ab26], [ab28, ab2e]**/
699        const UnicodeSet ethi_Ext
700            {{{Empty, 144}, {Full, 2}, {Mixed, 1}, {Full, 1}, {Mixed, 3},
701              {Full, 1}, {Mixed, 1}, {Full, 1}, {Mixed, 3}, {Empty, 207},
702              {Mixed, 3}, {Empty, 1001}, {Mixed, 2}, {Empty, 33446}},
703             {0x3d7f3dff, 0xffff3dff, 0x7f3dffff, 0xff7fff3d, 0xff3dffff,
704              0xe7ffffff, 0x1fffffff, 0x03ffffff, 0x007fffff, 0x7f7f7f7f,
705              0x7f7f7f7f, 0x007e7e7e, 0x00007f7f}};
706        /** Code Point Ranges for Cher
707        [13a0, 13f5], [13f8, 13fd], [ab70, abbf]**/
708        const UnicodeSet cher_Ext
709            {{{Empty, 157}, {Full, 2}, {Mixed, 1}, {Empty, 1211},
710              {Mixed, 1}, {Full, 2}, {Empty, 33442}},
711             {0x3f3fffff, 0xffff0000}};
712        /** Code Point Ranges for Cans
713        [1400, 167f], [18b0, 18f5]**/
714        const UnicodeSet cans_Ext
715            {{{Empty, 160}, {Full, 20}, {Empty, 17}, {Mixed, 1}, {Full, 1},
716              {Mixed, 1}, {Empty, 34616}},
717             {0xffff0000, 0x003fffff}};
718        /** Code Point Ranges for Ogam
719        [1680, 169c]**/
720        const UnicodeSet ogam_Ext
721            {{{Empty, 180}, {Mixed, 1}, {Empty, 34635}},
722             {0x1fffffff}};
723        /** Code Point Ranges for Runr
724        [16a0, 16ea], [16ee, 16f8]**/
725        const UnicodeSet runr_Ext
726            {{{Empty, 181}, {Full, 2}, {Mixed, 1}, {Empty, 34632}},
727             {0x01ffc7ff}};
728        /** Code Point Ranges for Khmr
729        [1780, 17dd], [17e0, 17e9], [17f0, 17f9], [19e0, 19ff]**/
730        const UnicodeSet khmr_Ext
731            {{{Empty, 188}, {Full, 2}, {Mixed, 2}, {Empty, 15}, {Full, 1},
732              {Empty, 34608}},
733             {0x3fffffff, 0x03ff03ff}};
734        /** Code Point Ranges for Mong
735        [1800, 180e], [1810, 1819], [1820, 1877], [1880, 18aa],
736        [11660, 1166c]**/
737        const UnicodeSet mong_Ext
738            {{{Empty, 192}, {Mixed, 1}, {Full, 2}, {Mixed, 1}, {Full, 1},
739              {Mixed, 1}, {Empty, 2029}, {Mixed, 1}, {Empty, 32588}},
740             {0x03ff7fff, 0x00ffffff, 0x000007ff, 0x00001fff}};
741        /** Code Point Ranges for Hira
742        [3001, 3003], [3008, 3011], [3013, 301f], [3030, 3035],
743        [3037, 3037], [303c, 303d], [3041, 3096], [3099, 30a0],
744        [30fb, 30fc], [fe45, fe46], [ff61, ff65], [ff70, ff70],
745        [ff9e, ff9f], [1b001, 1b001], [1f200, 1f200]**/
746        const UnicodeSet hira_Ext
747            {{{Empty, 384}, {Mixed, 3}, {Full, 1}, {Mixed, 2}, {Empty, 1},
748              {Mixed, 1}, {Empty, 1642}, {Mixed, 1}, {Empty, 8}, {Mixed, 2},
749              {Empty, 1411}, {Mixed, 1}, {Empty, 527}, {Mixed, 1},
750              {Empty, 30831}},
751             {0xfffbff0e, 0x30bf0000, 0xfffffffe, 0xfe7fffff, 0x00000001,
752              0x18000000, 0x00000060, 0x0001003e, 0xc0000000, 0x00000002,
753              0x00000001}};
754        /** Code Point Ranges for Kana
755        [3001, 3003], [3008, 3011], [3013, 301f], [3030, 3035],
756        [3037, 3037], [303c, 303d], [3099, 309c], [30a0, 30ff],
757        [31f0, 31ff], [32d0, 32fe], [3300, 3357], [fe45, fe46],
758        [ff61, ff9f], [1b000, 1b000]**/
759        const UnicodeSet kana_Ext
760            {{{Empty, 384}, {Mixed, 2}, {Empty, 2}, {Mixed, 1}, {Full, 3},
761              {Empty, 7}, {Mixed, 1}, {Empty, 6}, {Mixed, 2}, {Full, 2},
762              {Mixed, 1}, {Empty, 1623}, {Mixed, 1}, {Empty, 8}, {Mixed, 1},
763              {Full, 1}, {Empty, 1411}, {Mixed, 1}, {Empty, 31359}},
764             {0xfffbff0e, 0x30bf0000, 0x1e000000, 0xffff0000, 0xffff0000,
765              0x7fffffff, 0x00ffffff, 0x00000060, 0xfffffffe, 0x00000001}};
766        /** Code Point Ranges for Bopo
767        [02ea, 02eb], [3001, 3003], [3008, 3011], [3013, 301f],
768        [302a, 302d], [3030, 3030], [3037, 3037], [30fb, 30fb],
769        [3105, 312d], [31a0, 31ba], [fe45, fe46], [ff61, ff65]**/
770        const UnicodeSet bopo_Ext
771            {{{Empty, 23}, {Mixed, 1}, {Empty, 360}, {Mixed, 2}, {Empty, 5},
772              {Mixed, 3}, {Empty, 3}, {Mixed, 1}, {Empty, 1636}, {Mixed, 1},
773              {Empty, 8}, {Mixed, 1}, {Empty, 32772}},
774             {0x00000c00, 0xfffbff0e, 0x00813c00, 0x08000000, 0xffffffe0,
775              0x00003fff, 0x07ffffff, 0x00000060, 0x0000003e}};
776        /** Code Point Ranges for Hani
777        [2e80, 2e99], [2e9b, 2ef3], [2f00, 2fd5], [3001, 3003],
778        [3005, 3011], [3013, 301f], [3021, 302d], [3030, 3030],
779        [3037, 303f], [30fb, 30fb], [3190, 319f], [31c0, 31e3],
780        [3220, 3247], [3280, 32b0], [32c0, 32cb], [3358, 3370],
781        [337b, 337f], [33e0, 33fe], [3400, 4db5], [4e00, 9fd5],
782        [f900, fa6d], [fa70, fad9], [fe45, fe46], [ff61, ff65],
783        [1d360, 1d371], [1f250, 1f251], [20000, 2a6d6], [2a700, 2b734],
784        [2b740, 2b81d], [2b820, 2cea1], [2f800, 2fa1d]**/
785        const UnicodeSet hani_Ext
786            {{{Empty, 372}, {Mixed, 1}, {Full, 2}, {Mixed, 1}, {Full, 6},
787              {Mixed, 1}, {Empty, 1}, {Mixed, 2}, {Empty, 5}, {Mixed, 1},
788              {Empty, 4}, {Mixed, 1}, {Empty, 1}, {Full, 1}, {Mixed, 1},
789              {Empty, 1}, {Full, 1}, {Mixed, 1}, {Empty, 1}, {Full, 1},
790              {Mixed, 2}, {Empty, 3}, {Mixed, 2}, {Empty, 3}, {Mixed, 1},
791              {Full, 205}, {Mixed, 1}, {Empty, 2}, {Full, 654}, {Mixed, 1},
792              {Empty, 713}, {Full, 11}, {Mixed, 1}, {Full, 2}, {Mixed, 1},
793              {Empty, 27}, {Mixed, 1}, {Empty, 8}, {Mixed, 1},
794              {Empty, 1695}, {Mixed, 1}, {Empty, 246}, {Mixed, 1},
795              {Empty, 109}, {Full, 1334}, {Mixed, 1}, {Empty, 1},
796              {Full, 129}, {Mixed, 1}, {Full, 6}, {Mixed, 1}, {Full, 180},
797              {Mixed, 1}, {Empty, 330}, {Full, 16}, {Mixed, 1},
798              {Empty, 28719}},
799             {0xfbffffff, 0x000fffff, 0x003fffff, 0xfffbffee, 0xff813ffe,
800              0x08000000, 0xffff0000, 0x0000000f, 0x000000ff, 0x0001ffff,
801              0x00000fff, 0xff000000, 0xf801ffff, 0x7fffffff, 0x003fffff,
802              0x003fffff, 0xffff3fff, 0x03ffffff, 0x00000060, 0x0000003e,
803              0x0003ffff, 0x00030000, 0x007fffff, 0x001fffff, 0x3fffffff,
804              0x00000003, 0x3fffffff}};
805        /** Code Point Ranges for Yiii
806        [3001, 3002], [3008, 3011], [3014, 301b], [30fb, 30fb],
807        [a000, a48c], [a490, a4c6], [ff61, ff65]**/
808        const UnicodeSet yiii_Ext
809            {{{Empty, 384}, {Mixed, 1}, {Empty, 6}, {Mixed, 1},
810              {Empty, 888}, {Full, 36}, {Mixed, 1}, {Full, 1}, {Mixed, 1},
811              {Empty, 724}, {Mixed, 1}, {Empty, 32772}},
812             {0x0ff3ff06, 0x08000000, 0xffff1fff, 0x0000007f, 0x0000003e}};
813        /** Code Point Ranges for Ital
814        [10300, 10323]**/
815        const UnicodeSet ital_Ext
816            {{{Empty, 2072}, {Full, 1}, {Mixed, 1}, {Empty, 32742}},
817             {0x0000000f}};
818        /** Code Point Ranges for Goth
819        [10330, 1034a]**/
820        const UnicodeSet goth_Ext
821            {{{Empty, 2073}, {Mixed, 2}, {Empty, 32741}},
822             {0xffff0000, 0x000007ff}};
823        /** Code Point Ranges for Dsrt
824        [10400, 1044f]**/
825        const UnicodeSet dsrt_Ext
826            {{{Empty, 2080}, {Full, 2}, {Mixed, 1}, {Empty, 32733}},
827             {0x0000ffff}};
828        /** Code Point Ranges for Zinh
829        [0300, 0341], [0343, 0344], [0346, 0362], [1ab0, 1abe],
830        [1dc2, 1df5], [1dfb, 1dff], [200c, 200d], [20d0, 20ef],
831        [fe00, fe0f], [fe20, fe2d], [101fd, 101fd], [1d167, 1d169],
832        [1d17b, 1d182], [1d185, 1d18b], [1d1aa, 1d1ad], [e0100, e01ef]**/
833        const UnicodeSet zinh_Ext
834            {{{Empty, 24}, {Full, 2}, {Mixed, 2}, {Empty, 185}, {Mixed, 1},
835              {Empty, 24}, {Mixed, 2}, {Empty, 16}, {Mixed, 1}, {Empty, 5},
836              {Mixed, 2}, {Empty, 1768}, {Mixed, 2}, {Empty, 29},
837              {Mixed, 1}, {Empty, 1659}, {Mixed, 3}, {Empty, 24954},
838              {Full, 7}, {Mixed, 1}, {Empty, 6128}},
839             {0xffffffdb, 0x00000007, 0x7fff0000, 0xfffffffc, 0xf83fffff,
840              0x00003000, 0xffff0000, 0x0000ffff, 0x0000ffff, 0x00003fff,
841              0x20000000, 0xf8000380, 0x00000fe7, 0x00003c00, 0x0000ffff}};
842        /** Code Point Ranges for Tglg
843        [1700, 170c], [170e, 1714], [1735, 1736]**/
844        const UnicodeSet tglg_Ext
845            {{{Empty, 184}, {Mixed, 2}, {Empty, 34630}},
846             {0x001fdfff, 0x00600000}};
847        /** Code Point Ranges for Hano
848        [1720, 1736]**/
849        const UnicodeSet hano_Ext
850            {{{Empty, 185}, {Mixed, 1}, {Empty, 34630}},
851             {0x007fffff}};
852        /** Code Point Ranges for Buhd
853        [1735, 1736], [1740, 1753]**/
854        const UnicodeSet buhd_Ext
855            {{{Empty, 185}, {Mixed, 2}, {Empty, 34629}},
856             {0x00600000, 0x000fffff}};
857        /** Code Point Ranges for Tagb
858        [1735, 1736], [1760, 176c], [176e, 1770], [1772, 1773]**/
859        const UnicodeSet tagb_Ext
860            {{{Empty, 185}, {Mixed, 1}, {Empty, 1}, {Mixed, 1},
861              {Empty, 34628}},
862             {0x00600000, 0x000ddfff}};
863        /** Code Point Ranges for Limb
864        [0965, 0965], [1900, 191e], [1920, 192b], [1930, 193b],
865        [1940, 1940], [1944, 194f]**/
866        const UnicodeSet limb_Ext
867            {{{Empty, 75}, {Mixed, 1}, {Empty, 124}, {Mixed, 3},
868              {Empty, 34613}},
869             {0x00000020, 0x7fffffff, 0x0fff0fff, 0x0000fff1}};
870        /** Code Point Ranges for Tale
871        [1040, 1049], [1950, 196d], [1970, 1974]**/
872        const UnicodeSet tale_Ext
873            {{{Empty, 130}, {Mixed, 1}, {Empty, 71}, {Mixed, 2},
874              {Empty, 34612}},
875             {0x000003ff, 0xffff0000, 0x001f3fff}};
876        /** Code Point Ranges for Linb
877        [10000, 1000b], [1000d, 10026], [10028, 1003a], [1003c, 1003d],
878        [1003f, 1004d], [10050, 1005d], [10080, 100fa], [10100, 10102],
879        [10107, 10133], [10137, 1013f]**/
880        const UnicodeSet linb_Ext
881            {{{Empty, 2048}, {Mixed, 3}, {Empty, 1}, {Full, 3}, {Mixed, 3},
882              {Empty, 32758}},
883             {0xffffefff, 0xb7ffff7f, 0x3fff3fff, 0x07ffffff, 0xffffff87,
884              0xff8fffff}};
885        /** Code Point Ranges for Ugar
886        [10380, 1039d], [1039f, 1039f]**/
887        const UnicodeSet ugar_Ext
888            {{{Empty, 2076}, {Mixed, 1}, {Empty, 32739}},
889             {0xbfffffff}};
890        /** Code Point Ranges for Shaw
891        [10450, 1047f]**/
892        const UnicodeSet shaw_Ext
893            {{{Empty, 2082}, {Mixed, 1}, {Full, 1}, {Empty, 32732}},
894             {0xffff0000}};
895        /** Code Point Ranges for Osma
896        [10480, 1049d], [104a0, 104a9]**/
897        const UnicodeSet osma_Ext
898            {{{Empty, 2084}, {Mixed, 2}, {Empty, 32730}},
899             {0x3fffffff, 0x000003ff}};
900        /** Code Point Ranges for Cprt
901        [10100, 10102], [10107, 10133], [10137, 1013f], [10800, 10805],
902        [10808, 10808], [1080a, 10835], [10837, 10838], [1083c, 1083c],
903        [1083f, 1083f]**/
904        const UnicodeSet cprt_Ext
905            {{{Empty, 2056}, {Mixed, 2}, {Empty, 54}, {Mixed, 2},
906              {Empty, 32702}},
907             {0xffffff87, 0xff8fffff, 0xfffffd3f, 0x91bfffff}};
908        /** Code Point Ranges for Brai
909        [2800, 28ff]**/
910        const UnicodeSet brai_Ext
911            {{{Empty, 320}, {Full, 8}, {Empty, 34488}},
912             {}};
913        /** Code Point Ranges for Bugi
914        [1a00, 1a1b], [1a1e, 1a1f], [a9cf, a9cf]**/
915        const UnicodeSet bugi_Ext
916            {{{Empty, 208}, {Mixed, 1}, {Empty, 1149}, {Mixed, 1},
917              {Empty, 33457}},
918             {0xcfffffff, 0x00008000}};
919        /** Code Point Ranges for Copt
920        [03e2, 03ef], [2c80, 2cf3], [2cf9, 2cff], [102e0, 102fb]**/
921        const UnicodeSet copt_Ext
922            {{{Empty, 31}, {Mixed, 1}, {Empty, 324}, {Full, 3}, {Mixed, 1},
923              {Empty, 1711}, {Mixed, 1}, {Empty, 32744}},
924             {0x0000fffc, 0xfe0fffff, 0x0fffffff}};
925        /** Code Point Ranges for Talu
926        [1980, 19ab], [19b0, 19c9], [19d0, 19da], [19de, 19df]**/
927        const UnicodeSet talu_Ext
928            {{{Empty, 204}, {Full, 1}, {Mixed, 2}, {Empty, 34609}},
929             {0xffff0fff, 0xc7ff03ff}};
930        /** Code Point Ranges for Glag
931        [0484, 0484], [0487, 0487], [2c00, 2c2e], [2c30, 2c5e],
932        [2e43, 2e43], [a66f, a66f], [1e000, 1e006], [1e008, 1e018],
933        [1e01b, 1e021], [1e023, 1e024], [1e026, 1e02a]**/
934        const UnicodeSet glag_Ext
935            {{{Empty, 36}, {Mixed, 1}, {Empty, 315}, {Full, 1}, {Mixed, 2},
936              {Empty, 15}, {Mixed, 1}, {Empty, 960}, {Mixed, 1},
937              {Empty, 2508}, {Mixed, 2}, {Empty, 30974}},
938             {0x00000090, 0xffff7fff, 0x7fffffff, 0x00000008, 0x00008000,
939              0xf9ffff7f, 0x000007db}};
940        /** Code Point Ranges for Tfng
941        [2d30, 2d67], [2d6f, 2d70], [2d7f, 2d7f]**/
942        const UnicodeSet tfng_Ext
943            {{{Empty, 361}, {Mixed, 1}, {Full, 1}, {Mixed, 1},
944              {Empty, 34452}},
945             {0xffff0000, 0x800180ff}};
946        /** Code Point Ranges for Sylo
947        [0964, 0965], [09e6, 09ef], [a800, a82b]**/
948        const UnicodeSet sylo_Ext
949            {{{Empty, 75}, {Mixed, 1}, {Empty, 3}, {Mixed, 1},
950              {Empty, 1264}, {Full, 1}, {Mixed, 1}, {Empty, 33470}},
951             {0x00000030, 0x0000ffc0, 0x00000fff}};
952        /** Code Point Ranges for Xpeo
953        [103a0, 103c3], [103c8, 103d5]**/
954        const UnicodeSet xpeo_Ext
955            {{{Empty, 2077}, {Full, 1}, {Mixed, 1}, {Empty, 32737}},
956             {0x003fff0f}};
957        /** Code Point Ranges for Khar
958        [10a00, 10a03], [10a05, 10a06], [10a0c, 10a13], [10a15, 10a17],
959        [10a19, 10a33], [10a38, 10a3a], [10a3f, 10a47], [10a50, 10a58]**/
960        const UnicodeSet khar_Ext
961            {{{Empty, 2128}, {Mixed, 3}, {Empty, 32685}},
962             {0xfeeff06f, 0x870fffff, 0x01ff00ff}};
963        /** Code Point Ranges for Bali
964        [1b00, 1b4b], [1b50, 1b7c]**/
965        const UnicodeSet bali_Ext
966            {{{Empty, 216}, {Full, 2}, {Mixed, 2}, {Empty, 34596}},
967             {0xffff0fff, 0x1fffffff}};
968        /** Code Point Ranges for Xsux
969        [12000, 12399], [12400, 1246e], [12470, 12474], [12480, 12543]**/
970        const UnicodeSet xsux_Ext
971            {{{Empty, 2304}, {Full, 28}, {Mixed, 1}, {Empty, 3}, {Full, 3},
972              {Mixed, 1}, {Full, 6}, {Mixed, 1}, {Empty, 32469}},
973             {0x03ffffff, 0x001f7fff, 0x0000000f}};
974        /** Code Point Ranges for Phnx
975        [10900, 1091b], [1091f, 1091f]**/
976        const UnicodeSet phnx_Ext
977            {{{Empty, 2120}, {Mixed, 1}, {Empty, 32695}},
978             {0x8fffffff}};
979        /** Code Point Ranges for Phag
980        [1802, 1803], [1805, 1805], [a840, a877]**/
981        const UnicodeSet phag_Ext
982            {{{Empty, 192}, {Mixed, 1}, {Empty, 1153}, {Full, 1},
983              {Mixed, 1}, {Empty, 33468}},
984             {0x0000002c, 0x00ffffff}};
985        /** Code Point Ranges for Nkoo
986        [07c0, 07fa]**/
987        const UnicodeSet nkoo_Ext
988            {{{Empty, 62}, {Full, 1}, {Mixed, 1}, {Empty, 34752}},
989             {0x07ffffff}};
990        /** Code Point Ranges for Sund
991        [1b80, 1bbf], [1cc0, 1cc7]**/
992        const UnicodeSet sund_Ext
993            {{{Empty, 220}, {Full, 2}, {Empty, 8}, {Mixed, 1},
994              {Empty, 34585}},
995             {0x000000ff}};
996        /** Code Point Ranges for Lepc
997        [1c00, 1c37], [1c3b, 1c49], [1c4d, 1c4f]**/
998        const UnicodeSet lepc_Ext
999            {{{Empty, 224}, {Full, 1}, {Mixed, 2}, {Empty, 34589}},
1000             {0xf8ffffff, 0x0000e3ff}};
1001        /** Code Point Ranges for Olck
1002        [1c50, 1c7f]**/
1003        const UnicodeSet olck_Ext
1004            {{{Empty, 226}, {Mixed, 1}, {Full, 1}, {Empty, 34588}},
1005             {0xffff0000}};
1006        /** Code Point Ranges for Vaii
1007        [a500, a62b]**/
1008        const UnicodeSet vaii_Ext
1009            {{{Empty, 1320}, {Full, 9}, {Mixed, 1}, {Empty, 33486}},
1010             {0x00000fff}};
1011        /** Code Point Ranges for Saur
1012        [a880, a8c5], [a8ce, a8d9]**/
1013        const UnicodeSet saur_Ext
1014            {{{Empty, 1348}, {Full, 2}, {Mixed, 1}, {Empty, 33465}},
1015             {0x03ffc03f}};
1016        /** Code Point Ranges for Kali
1017        [a900, a92f]**/
1018        const UnicodeSet kali_Ext
1019            {{{Empty, 1352}, {Full, 1}, {Mixed, 1}, {Empty, 33462}},
1020             {0x0000ffff}};
1021        /** Code Point Ranges for Rjng
1022        [a930, a953], [a95f, a95f]**/
1023        const UnicodeSet rjng_Ext
1024            {{{Empty, 1353}, {Mixed, 2}, {Empty, 33461}},
1025             {0xffff0000, 0x800fffff}};
1026        /** Code Point Ranges for Lyci
1027        [10280, 1029c]**/
1028        const UnicodeSet lyci_Ext
1029            {{{Empty, 2068}, {Mixed, 1}, {Empty, 32747}},
1030             {0x1fffffff}};
1031        /** Code Point Ranges for Cari
1032        [102a0, 102d0]**/
1033        const UnicodeSet cari_Ext
1034            {{{Empty, 2069}, {Full, 1}, {Mixed, 1}, {Empty, 32745}},
1035             {0x0001ffff}};
1036        /** Code Point Ranges for Lydi
1037        [10920, 10939], [1093f, 1093f]**/
1038        const UnicodeSet lydi_Ext
1039            {{{Empty, 2121}, {Mixed, 1}, {Empty, 32694}},
1040             {0x83ffffff}};
1041        /** Code Point Ranges for Cham
1042        [aa00, aa36], [aa40, aa4d], [aa50, aa59], [aa5c, aa5f]**/
1043        const UnicodeSet cham_Ext
1044            {{{Empty, 1360}, {Full, 1}, {Mixed, 2}, {Empty, 33453}},
1045             {0x007fffff, 0xf3ff3fff}};
1046        /** Code Point Ranges for Lana
1047        [1a20, 1a5e], [1a60, 1a7c], [1a7f, 1a89], [1a90, 1a99],
1048        [1aa0, 1aad]**/
1049        const UnicodeSet lana_Ext
1050            {{{Empty, 209}, {Full, 1}, {Mixed, 4}, {Empty, 34602}},
1051             {0x7fffffff, 0x9fffffff, 0x03ff03ff, 0x00003fff}};
1052        /** Code Point Ranges for Tavt
1053        [aa80, aac2], [aadb, aadf]**/
1054        const UnicodeSet tavt_Ext
1055            {{{Empty, 1364}, {Full, 2}, {Mixed, 1}, {Empty, 33449}},
1056             {0xf8000007}};
1057        /** Code Point Ranges for Avst
1058        [10b00, 10b35], [10b39, 10b3f]**/
1059        const UnicodeSet avst_Ext
1060            {{{Empty, 2136}, {Full, 1}, {Mixed, 1}, {Empty, 32678}},
1061             {0xfe3fffff}};
1062        /** Code Point Ranges for Egyp
1063        [13000, 1342e]**/
1064        const UnicodeSet egyp_Ext
1065            {{{Empty, 2432}, {Full, 33}, {Mixed, 1}, {Empty, 32350}},
1066             {0x00007fff}};
1067        /** Code Point Ranges for Samr
1068        [0800, 082d], [0830, 083e]**/
1069        const UnicodeSet samr_Ext
1070            {{{Empty, 64}, {Full, 1}, {Mixed, 1}, {Empty, 34750}},
1071             {0x7fff3fff}};
1072        /** Code Point Ranges for Lisu
1073        [a4d0, a4ff]**/
1074        const UnicodeSet lisu_Ext
1075            {{{Empty, 1318}, {Mixed, 1}, {Full, 1}, {Empty, 33496}},
1076             {0xffff0000}};
1077        /** Code Point Ranges for Bamu
1078        [a6a0, a6f7], [16800, 16a38]**/
1079        const UnicodeSet bamu_Ext
1080            {{{Empty, 1333}, {Full, 2}, {Mixed, 1}, {Empty, 1544},
1081              {Full, 17}, {Mixed, 1}, {Empty, 31918}},
1082             {0x00ffffff, 0x01ffffff}};
1083        /** Code Point Ranges for Java
1084        [a980, a9cd], [a9cf, a9d9], [a9de, a9df]**/
1085        const UnicodeSet java_Ext
1086            {{{Empty, 1356}, {Full, 2}, {Mixed, 1}, {Empty, 33457}},
1087             {0xc3ffbfff}};
1088        /** Code Point Ranges for Mtei
1089        [aae0, aaf6], [abc0, abed], [abf0, abf9]**/
1090        const UnicodeSet mtei_Ext
1091            {{{Empty, 1367}, {Mixed, 1}, {Empty, 6}, {Full, 1}, {Mixed, 1},
1092              {Empty, 33440}},
1093             {0x007fffff, 0x03ff3fff}};
1094        /** Code Point Ranges for Armi
1095        [10840, 10855], [10857, 1085f]**/
1096        const UnicodeSet armi_Ext
1097            {{{Empty, 2114}, {Mixed, 1}, {Empty, 32701}},
1098             {0xffbfffff}};
1099        /** Code Point Ranges for Sarb
1100        [10a60, 10a7f]**/
1101        const UnicodeSet sarb_Ext
1102            {{{Empty, 2131}, {Full, 1}, {Empty, 32684}},
1103             {}};
1104        /** Code Point Ranges for Prti
1105        [10b40, 10b55], [10b58, 10b5f]**/
1106        const UnicodeSet prti_Ext
1107            {{{Empty, 2138}, {Mixed, 1}, {Empty, 32677}},
1108             {0xff3fffff}};
1109        /** Code Point Ranges for Phli
1110        [10b60, 10b72], [10b78, 10b7f]**/
1111        const UnicodeSet phli_Ext
1112            {{{Empty, 2139}, {Mixed, 1}, {Empty, 32676}},
1113             {0xff07ffff}};
1114        /** Code Point Ranges for Orkh
1115        [10c00, 10c48]**/
1116        const UnicodeSet orkh_Ext
1117            {{{Empty, 2144}, {Full, 2}, {Mixed, 1}, {Empty, 32669}},
1118             {0x000001ff}};
1119        /** Code Point Ranges for Kthi
1120        [0966, 096f], [a830, a839], [11080, 110c1]**/
1121        const UnicodeSet kthi_Ext
1122            {{{Empty, 75}, {Mixed, 1}, {Empty, 1269}, {Mixed, 1},
1123              {Empty, 834}, {Full, 2}, {Mixed, 1}, {Empty, 32633}},
1124             {0x0000ffc0, 0x03ff0000, 0x00000003}};
1125        /** Code Point Ranges for Batk
1126        [1bc0, 1bf3], [1bfc, 1bff]**/
1127        const UnicodeSet batk_Ext
1128            {{{Empty, 222}, {Full, 1}, {Mixed, 1}, {Empty, 34592}},
1129             {0xf00fffff}};
1130        /** Code Point Ranges for Brah
1131        [11000, 1104d], [11052, 1106f], [1107f, 1107f]**/
1132        const UnicodeSet brah_Ext
1133            {{{Empty, 2176}, {Full, 2}, {Mixed, 2}, {Empty, 32636}},
1134             {0xfffc3fff, 0x8000ffff}};
1135        /** Code Point Ranges for Mand
1136        [0640, 0640], [0840, 085b], [085e, 085e]**/
1137        const UnicodeSet mand_Ext
1138            {{{Empty, 50}, {Mixed, 1}, {Empty, 15}, {Mixed, 1},
1139              {Empty, 34749}},
1140             {0x00000001, 0x4fffffff}};
1141        /** Code Point Ranges for Cakm
1142        [09e6, 09ef], [1040, 1049], [11100, 11134], [11136, 11143]**/
1143        const UnicodeSet cakm_Ext
1144            {{{Empty, 79}, {Mixed, 1}, {Empty, 50}, {Mixed, 1},
1145              {Empty, 2053}, {Full, 1}, {Mixed, 2}, {Empty, 32629}},
1146             {0x0000ffc0, 0x000003ff, 0xffdfffff, 0x0000000f}};
1147        /** Code Point Ranges for Merc
1148        [109a0, 109b7], [109bc, 109cf], [109d2, 109ff]**/
1149        const UnicodeSet merc_Ext
1150            {{{Empty, 2125}, {Mixed, 2}, {Full, 1}, {Empty, 32688}},
1151             {0xf0ffffff, 0xfffcffff}};
1152        /** Code Point Ranges for Mero
1153        [10980, 1099f]**/
1154        const UnicodeSet mero_Ext
1155            {{{Empty, 2124}, {Full, 1}, {Empty, 32691}},
1156             {}};
1157        /** Code Point Ranges for Plrd
1158        [16f00, 16f44], [16f50, 16f7e], [16f8f, 16f9f]**/
1159        const UnicodeSet plrd_Ext
1160            {{{Empty, 2936}, {Full, 2}, {Mixed, 3}, {Empty, 31875}},
1161             {0xffff001f, 0x7fffffff, 0xffff8000}};
1162        /** Code Point Ranges for Shrd
1163        [0951, 0951], [1cd7, 1cd7], [1cd9, 1cd9], [1cdc, 1cdd],
1164        [1ce0, 1ce0], [11180, 111cd], [111d0, 111df]**/
1165        const UnicodeSet shrd_Ext
1166            {{{Empty, 74}, {Mixed, 1}, {Empty, 155}, {Mixed, 2},
1167              {Empty, 1956}, {Full, 2}, {Mixed, 1}, {Empty, 32625}},
1168             {0x00020000, 0x32800000, 0x00000001, 0xffff3fff}};
1169        /** Code Point Ranges for Sora
1170        [110d0, 110e8], [110f0, 110f9]**/
1171        const UnicodeSet sora_Ext
1172            {{{Empty, 2182}, {Mixed, 2}, {Empty, 32632}},
1173             {0xffff0000, 0x03ff01ff}};
1174        /** Code Point Ranges for Takr
1175        [0964, 0965], [a830, a839], [11680, 116b7], [116c0, 116c9]**/
1176        const UnicodeSet takr_Ext
1177            {{{Empty, 75}, {Mixed, 1}, {Empty, 1269}, {Mixed, 1},
1178              {Empty, 882}, {Full, 1}, {Mixed, 2}, {Empty, 32585}},
1179             {0x00000030, 0x03ff0000, 0x00ffffff, 0x000003ff}};
1180        /** Code Point Ranges for Aghb
1181        [10530, 10563], [1056f, 1056f]**/
1182        const UnicodeSet aghb_Ext
1183            {{{Empty, 2089}, {Mixed, 1}, {Full, 1}, {Mixed, 1},
1184              {Empty, 32724}},
1185             {0xffff0000, 0x0000800f}};
1186        /** Code Point Ranges for Bass
1187        [16ad0, 16aed], [16af0, 16af5]**/
1188        const UnicodeSet bass_Ext
1189            {{{Empty, 2902}, {Mixed, 2}, {Empty, 31912}},
1190             {0xffff0000, 0x003f3fff}};
1191        /** Code Point Ranges for Dupl
1192        [1bc00, 1bc6a], [1bc70, 1bc7c], [1bc80, 1bc88], [1bc90, 1bc99],
1193        [1bc9c, 1bca3]**/
1194        const UnicodeSet dupl_Ext
1195            {{{Empty, 3552}, {Full, 3}, {Mixed, 3}, {Empty, 31258}},
1196             {0x1fff07ff, 0xf3ff01ff, 0x0000000f}};
1197        /** Code Point Ranges for Elba
1198        [10500, 10527]**/
1199        const UnicodeSet elba_Ext
1200            {{{Empty, 2088}, {Full, 1}, {Mixed, 1}, {Empty, 32726}},
1201             {0x000000ff}};
1202        /** Code Point Ranges for Gran
1203        [0951, 0952], [0964, 0965], [0baa, 0baa], [0bb5, 0bb5],
1204        [0be6, 0bf2], [1cd0, 1cd0], [1cd2, 1cd3], [1cf2, 1cf4],
1205        [1cf8, 1cf9], [20f0, 20f0], [11300, 11303], [11305, 1130c],
1206        [1130f, 11310], [11313, 11328], [1132a, 11330], [11332, 11333],
1207        [11335, 11339], [1133c, 11344], [11347, 11348], [1134b, 1134d],
1208        [11350, 11350], [11357, 11357], [1135d, 11363], [11366, 1136c],
1209        [11370, 11374]**/
1210        const UnicodeSet gran_Ext
1211            {{{Empty, 74}, {Mixed, 2}, {Empty, 17}, {Mixed, 1}, {Empty, 1},
1212              {Mixed, 1}, {Empty, 134}, {Mixed, 2}, {Empty, 31}, {Mixed, 1},
1213              {Empty, 1936}, {Mixed, 4}, {Empty, 32612}},
1214             {0x00060000, 0x00000030, 0x00200400, 0x0007ffc0, 0x000d0000,
1215              0x031c0000, 0x00010000, 0xfff99fef, 0xf3edfdff, 0xe081399f,
1216              0x001f1fcf}};
1217        /** Code Point Ranges for Hmng
1218        [16b00, 16b45], [16b50, 16b59], [16b5b, 16b61], [16b63, 16b77],
1219        [16b7d, 16b8f]**/
1220        const UnicodeSet hmng_Ext
1221            {{{Empty, 2904}, {Full, 2}, {Mixed, 3}, {Empty, 31907}},
1222             {0xfbff003f, 0xe0fffffb, 0x0000ffff}};
1223        /** Code Point Ranges for Khoj
1224        [0ae6, 0aef], [11200, 11211], [11213, 1123e]**/
1225        const UnicodeSet khoj_Ext
1226            {{{Empty, 87}, {Mixed, 1}, {Empty, 2104}, {Mixed, 2},
1227              {Empty, 32622}},
1228             {0x0000ffc0, 0xfffbffff, 0x7fffffff}};
1229        /** Code Point Ranges for Lina
1230        [10107, 10133], [10600, 10736], [10740, 10755], [10760, 10767]**/
1231        const UnicodeSet lina_Ext
1232            {{{Empty, 2056}, {Mixed, 2}, {Empty, 38}, {Full, 9}, {Mixed, 3},
1233              {Empty, 32708}},
1234             {0xffffff80, 0x000fffff, 0x007fffff, 0x003fffff, 0x000000ff}};
1235        /** Code Point Ranges for Mahj
1236        [0964, 096f], [a830, a839], [11150, 11176]**/
1237        const UnicodeSet mahj_Ext
1238            {{{Empty, 75}, {Mixed, 1}, {Empty, 1269}, {Mixed, 1},
1239              {Empty, 840}, {Mixed, 2}, {Empty, 32628}},
1240             {0x0000fff0, 0x03ff0000, 0xffff0000, 0x007fffff}};
1241        /** Code Point Ranges for Mani
1242        [0640, 0640], [10ac0, 10ae6], [10aeb, 10af6]**/
1243        const UnicodeSet mani_Ext
1244            {{{Empty, 50}, {Mixed, 1}, {Empty, 2083}, {Full, 1}, {Mixed, 1},
1245              {Empty, 32680}},
1246             {0x00000001, 0x007ff87f}};
1247        /** Code Point Ranges for Mend
1248        [1e800, 1e8c4], [1e8c7, 1e8d6]**/
1249        const UnicodeSet mend_Ext
1250            {{{Empty, 3904}, {Full, 6}, {Mixed, 1}, {Empty, 30905}},
1251             {0x007fff9f}};
1252        /** Code Point Ranges for Modi
1253        [a830, a839], [11600, 11644], [11650, 11659]**/
1254        const UnicodeSet modi_Ext
1255            {{{Empty, 1345}, {Mixed, 1}, {Empty, 878}, {Full, 2},
1256              {Mixed, 1}, {Empty, 32589}},
1257             {0x03ff0000, 0x03ff001f}};
1258        /** Code Point Ranges for Mroo
1259        [16a40, 16a5e], [16a60, 16a69], [16a6e, 16a6f]**/
1260        const UnicodeSet mroo_Ext
1261            {{{Empty, 2898}, {Mixed, 2}, {Empty, 31916}},
1262             {0x7fffffff, 0x0000c3ff}};
1263        /** Code Point Ranges for Narb
1264        [10a80, 10a9f]**/
1265        const UnicodeSet narb_Ext
1266            {{{Empty, 2132}, {Full, 1}, {Empty, 32683}},
1267             {}};
1268        /** Code Point Ranges for Nbat
1269        [10880, 1089e], [108a7, 108af]**/
1270        const UnicodeSet nbat_Ext
1271            {{{Empty, 2116}, {Mixed, 2}, {Empty, 32698}},
1272             {0x7fffffff, 0x0000ff80}};
1273        /** Code Point Ranges for Palm
1274        [10860, 1087f]**/
1275        const UnicodeSet palm_Ext
1276            {{{Empty, 2115}, {Full, 1}, {Empty, 32700}},
1277             {}};
1278        /** Code Point Ranges for Pauc
1279        [11ac0, 11af8]**/
1280        const UnicodeSet pauc_Ext
1281            {{{Empty, 2262}, {Full, 1}, {Mixed, 1}, {Empty, 32552}},
1282             {0x01ffffff}};
1283        /** Code Point Ranges for Perm
1284        [0483, 0483], [10350, 1037a]**/
1285        const UnicodeSet perm_Ext
1286            {{{Empty, 36}, {Mixed, 1}, {Empty, 2037}, {Mixed, 2},
1287              {Empty, 32740}},
1288             {0x00000008, 0xffff0000, 0x07ffffff}};
1289        /** Code Point Ranges for Phlp
1290        [0640, 0640], [10b80, 10b91], [10b99, 10b9c], [10ba9, 10baf]**/
1291        const UnicodeSet phlp_Ext
1292            {{{Empty, 50}, {Mixed, 1}, {Empty, 2089}, {Mixed, 2},
1293              {Empty, 32674}},
1294             {0x00000001, 0x1e03ffff, 0x0000fe00}};
1295        /** Code Point Ranges for Sidd
1296        [11580, 115b5], [115b8, 115dd]**/
1297        const UnicodeSet sidd_Ext
1298            {{{Empty, 2220}, {Full, 1}, {Mixed, 2}, {Empty, 32593}},
1299             {0xff3fffff, 0x3fffffff}};
1300        /** Code Point Ranges for Sind
1301        [0964, 0965], [a830, a839], [112b0, 112ea], [112f0, 112f9]**/
1302        const UnicodeSet sind_Ext
1303            {{{Empty, 75}, {Mixed, 1}, {Empty, 1269}, {Mixed, 1},
1304              {Empty, 851}, {Mixed, 1}, {Full, 1}, {Mixed, 1},
1305              {Empty, 32616}},
1306             {0x00000030, 0x03ff0000, 0xffff0000, 0x03ff07ff}};
1307        /** Code Point Ranges for Tirh
1308        [0964, 0965], [a830, a839], [11480, 114c7], [114d0, 114d9]**/
1309        const UnicodeSet tirh_Ext
1310            {{{Empty, 75}, {Mixed, 1}, {Empty, 1269}, {Mixed, 1},
1311              {Empty, 866}, {Full, 2}, {Mixed, 1}, {Empty, 32601}},
1312             {0x00000030, 0x03ff0000, 0x03ff00ff}};
1313        /** Code Point Ranges for Wara
1314        [118a0, 118f2], [118ff, 118ff]**/
1315        const UnicodeSet wara_Ext
1316            {{{Empty, 2245}, {Full, 2}, {Mixed, 1}, {Empty, 32568}},
1317             {0x8007ffff}};
1318        /** Code Point Ranges for Ahom
1319        [11700, 11719], [1171d, 1172b], [11730, 1173f]**/
1320        const UnicodeSet ahom_Ext
1321            {{{Empty, 2232}, {Mixed, 2}, {Empty, 32582}},
1322             {0xe3ffffff, 0xffff0fff}};
1323        /** Code Point Ranges for Hluw
1324        [14400, 14646]**/
1325        const UnicodeSet hluw_Ext
1326            {{{Empty, 2592}, {Full, 18}, {Mixed, 1}, {Empty, 32205}},
1327             {0x0000007f}};
1328        /** Code Point Ranges for Hatr
1329        [108e0, 108f2], [108f4, 108f5], [108fb, 108ff]**/
1330        const UnicodeSet hatr_Ext
1331            {{{Empty, 2119}, {Mixed, 1}, {Empty, 32696}},
1332             {0xf837ffff}};
1333        /** Code Point Ranges for Mult
1334        [0a66, 0a6f], [11280, 11286], [11288, 11288], [1128a, 1128d],
1335        [1128f, 1129d], [1129f, 112a9]**/
1336        const UnicodeSet mult_Ext
1337            {{{Empty, 83}, {Mixed, 1}, {Empty, 2112}, {Mixed, 2},
1338              {Empty, 32618}},
1339             {0x0000ffc0, 0xbfffbd7f, 0x000003ff}};
1340        /** Code Point Ranges for Hung
1341        [10c80, 10cb2], [10cc0, 10cf2], [10cfa, 10cff]**/
1342        const UnicodeSet hung_Ext
1343            {{{Empty, 2148}, {Full, 1}, {Mixed, 1}, {Full, 1}, {Mixed, 1},
1344              {Empty, 32664}},
1345             {0x0007ffff, 0xfc07ffff}};
1346        /** Code Point Ranges for Sgnw
1347        [1d800, 1da8b], [1da9b, 1da9f], [1daa1, 1daaf]**/
1348        const UnicodeSet sgnw_Ext
1349            {{{Empty, 3776}, {Full, 20}, {Mixed, 2}, {Empty, 31018}},
1350             {0xf8000fff, 0x0000fffe}};
1351        /** Code Point Ranges for Adlm
1352        [0640, 0640], [1e900, 1e94a], [1e950, 1e959], [1e95e, 1e95f]**/
1353        const UnicodeSet adlm_Ext
1354            {{{Empty, 50}, {Mixed, 1}, {Empty, 3861}, {Full, 2}, {Mixed, 1},
1355              {Empty, 30901}},
1356             {0x00000001, 0xc3ff07ff}};
1357        /** Code Point Ranges for Bhks
1358        [11c00, 11c08], [11c0a, 11c36], [11c38, 11c45], [11c50, 11c6c]**/
1359        const UnicodeSet bhks_Ext
1360            {{{Empty, 2272}, {Mixed, 4}, {Empty, 32540}},
1361             {0xfffffdff, 0xff7fffff, 0xffff003f, 0x00001fff}};
1362        /** Code Point Ranges for Marc
1363        [11c70, 11c8f], [11c92, 11ca7], [11ca9, 11cb6]**/
1364        const UnicodeSet marc_Ext
1365            {{{Empty, 2275}, {Mixed, 3}, {Empty, 32538}},
1366             {0xffff0000, 0xfffcffff, 0x007ffeff}};
1367        /** Code Point Ranges for Newa
1368        [11400, 11459], [1145b, 1145b], [1145d, 1145d]**/
1369        const UnicodeSet newa_Ext
1370            {{{Empty, 2208}, {Full, 2}, {Mixed, 1}, {Empty, 32605}},
1371             {0x2bffffff}};
1372        /** Code Point Ranges for Osge
1373        [104b0, 104d3], [104d8, 104fb]**/
1374        const UnicodeSet osge_Ext
1375            {{{Empty, 2085}, {Mixed, 3}, {Empty, 32728}},
1376             {0xffff0000, 0xff0fffff, 0x0fffffff}};
1377        /** Code Point Ranges for Tang
1378        [16fe0, 16fe0], [17000, 187ec], [18800, 18af2]**/
1379        const UnicodeSet tang_Ext
1380            {{{Empty, 2943}, {Mixed, 1}, {Full, 191}, {Mixed, 1},
1381              {Full, 23}, {Mixed, 1}, {Empty, 31656}},
1382             {0x00000001, 0x00001fff, 0x0007ffff}};
1383        /** Code Point Ranges for Hrkt
1384        **/
1385        const UnicodeSet hrkt_Ext
1386            {{{Empty, 34816}},
1387             {}};
1388        static ExtensionPropertyObject property_object
1389       {scx,
1390        UCD::sc,
1391       {&zzzz_Ext, &zyyy_Ext, &latn_Ext, &grek_Ext, &cyrl_Ext, &armn_Ext,
1392        &hebr_Ext, &arab_Ext, &syrc_Ext, &thaa_Ext, &deva_Ext, &beng_Ext,
1393        &guru_Ext, &gujr_Ext, &orya_Ext, &taml_Ext, &telu_Ext, &knda_Ext,
1394        &mlym_Ext, &sinh_Ext, &thai_Ext, &laoo_Ext, &tibt_Ext, &mymr_Ext,
1395        &geor_Ext, &hang_Ext, &ethi_Ext, &cher_Ext, &cans_Ext, &ogam_Ext,
1396        &runr_Ext, &khmr_Ext, &mong_Ext, &hira_Ext, &kana_Ext, &bopo_Ext,
1397        &hani_Ext, &yiii_Ext, &ital_Ext, &goth_Ext, &dsrt_Ext, &zinh_Ext,
1398        &tglg_Ext, &hano_Ext, &buhd_Ext, &tagb_Ext, &limb_Ext, &tale_Ext,
1399        &linb_Ext, &ugar_Ext, &shaw_Ext, &osma_Ext, &cprt_Ext, &brai_Ext,
1400        &bugi_Ext, &copt_Ext, &talu_Ext, &glag_Ext, &tfng_Ext, &sylo_Ext,
1401        &xpeo_Ext, &khar_Ext, &bali_Ext, &xsux_Ext, &phnx_Ext, &phag_Ext,
1402        &nkoo_Ext, &sund_Ext, &lepc_Ext, &olck_Ext, &vaii_Ext, &saur_Ext,
1403        &kali_Ext, &rjng_Ext, &lyci_Ext, &cari_Ext, &lydi_Ext, &cham_Ext,
1404        &lana_Ext, &tavt_Ext, &avst_Ext, &egyp_Ext, &samr_Ext, &lisu_Ext,
1405        &bamu_Ext, &java_Ext, &mtei_Ext, &armi_Ext, &sarb_Ext, &prti_Ext,
1406        &phli_Ext, &orkh_Ext, &kthi_Ext, &batk_Ext, &brah_Ext, &mand_Ext,
1407        &cakm_Ext, &merc_Ext, &mero_Ext, &plrd_Ext, &shrd_Ext, &sora_Ext,
1408        &takr_Ext, &aghb_Ext, &bass_Ext, &dupl_Ext, &elba_Ext, &gran_Ext,
1409        &hmng_Ext, &khoj_Ext, &lina_Ext, &mahj_Ext, &mani_Ext, &mend_Ext,
1410        &modi_Ext, &mroo_Ext, &narb_Ext, &nbat_Ext, &palm_Ext, &pauc_Ext,
1411        &perm_Ext, &phlp_Ext, &sidd_Ext, &sind_Ext, &tirh_Ext, &wara_Ext,
1412        &ahom_Ext, &hluw_Ext, &hatr_Ext, &mult_Ext, &hung_Ext, &sgnw_Ext,
1413        &adlm_Ext, &bhks_Ext, &marc_Ext, &newa_Ext, &osge_Ext, &tang_Ext,
1414        &hrkt_Ext
1415        }};
1416    }
1417}
1418
1419#endif
Note: See TracBrowser for help on using the repository browser.