source: icGREP/icgrep-devel/icgrep/UCD/DerivedAge.h @ 6194

Last change on this file since 6194 was 6192, checked in by cameron, 7 months ago

Updates for Unicode 11.0 plus Emoji properties

File size: 82.4 KB
Line 
1#ifndef DERIVEDAGE_H
2#define DERIVEDAGE_H
3/*
4 *  Copyright (c) 2018 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 AGE_ns {
18    const unsigned independent_prop_values = 21;
19    /** Code Point Ranges for Unassigned
20    [0378, 0379], [0380, 0383], [038b, 038b], [038d, 038d], [03a2, 03a2],
21    [0530, 0530], [0557, 0558], [058b, 058c], [0590, 0590], [05c8, 05cf],
22    [05eb, 05ee], [05f5, 05ff], [061d, 061d], [070e, 070e], [074b, 074c],
23    [07b2, 07bf], [07fb, 07fc], [082e, 082f], [083f, 083f], [085c, 085d],
24    [085f, 085f], [086b, 089f], [08b5, 08b5], [08be, 08d2], [0984, 0984],
25    [098d, 098e], [0991, 0992], [09a9, 09a9], [09b1, 09b1], [09b3, 09b5],
26    [09ba, 09bb], [09c5, 09c6], [09c9, 09ca], [09cf, 09d6], [09d8, 09db],
27    [09de, 09de], [09e4, 09e5], [09ff, 0a00], [0a04, 0a04], [0a0b, 0a0e],
28    [0a11, 0a12], [0a29, 0a29], [0a31, 0a31], [0a34, 0a34], [0a37, 0a37],
29    [0a3a, 0a3b], [0a3d, 0a3d], [0a43, 0a46], [0a49, 0a4a], [0a4e, 0a50],
30    [0a52, 0a58], [0a5d, 0a5d], [0a5f, 0a65], [0a77, 0a80], [0a84, 0a84],
31    [0a8e, 0a8e], [0a92, 0a92], [0aa9, 0aa9], [0ab1, 0ab1], [0ab4, 0ab4],
32    [0aba, 0abb], [0ac6, 0ac6], [0aca, 0aca], [0ace, 0acf], [0ad1, 0adf],
33    [0ae4, 0ae5], [0af2, 0af8], [0b00, 0b00], [0b04, 0b04], [0b0d, 0b0e],
34    [0b11, 0b12], [0b29, 0b29], [0b31, 0b31], [0b34, 0b34], [0b3a, 0b3b],
35    [0b45, 0b46], [0b49, 0b4a], [0b4e, 0b55], [0b58, 0b5b], [0b5e, 0b5e],
36    [0b64, 0b65], [0b78, 0b81], [0b84, 0b84], [0b8b, 0b8d], [0b91, 0b91],
37    [0b96, 0b98], [0b9b, 0b9b], [0b9d, 0b9d], [0ba0, 0ba2], [0ba5, 0ba7],
38    [0bab, 0bad], [0bba, 0bbd], [0bc3, 0bc5], [0bc9, 0bc9], [0bce, 0bcf],
39    [0bd1, 0bd6], [0bd8, 0be5], [0bfb, 0bff], [0c0d, 0c0d], [0c11, 0c11],
40    [0c29, 0c29], [0c3a, 0c3c], [0c45, 0c45], [0c49, 0c49], [0c4e, 0c54],
41    [0c57, 0c57], [0c5b, 0c5f], [0c64, 0c65], [0c70, 0c77], [0c8d, 0c8d],
42    [0c91, 0c91], [0ca9, 0ca9], [0cb4, 0cb4], [0cba, 0cbb], [0cc5, 0cc5],
43    [0cc9, 0cc9], [0cce, 0cd4], [0cd7, 0cdd], [0cdf, 0cdf], [0ce4, 0ce5],
44    [0cf0, 0cf0], [0cf3, 0cff], [0d04, 0d04], [0d0d, 0d0d], [0d11, 0d11],
45    [0d45, 0d45], [0d49, 0d49], [0d50, 0d53], [0d64, 0d65], [0d80, 0d81],
46    [0d84, 0d84], [0d97, 0d99], [0db2, 0db2], [0dbc, 0dbc], [0dbe, 0dbf],
47    [0dc7, 0dc9], [0dcb, 0dce], [0dd5, 0dd5], [0dd7, 0dd7], [0de0, 0de5],
48    [0df0, 0df1], [0df5, 0e00], [0e3b, 0e3e], [0e5c, 0e80], [0e83, 0e83],
49    [0e85, 0e86], [0e89, 0e89], [0e8b, 0e8c], [0e8e, 0e93], [0e98, 0e98],
50    [0ea0, 0ea0], [0ea4, 0ea4], [0ea6, 0ea6], [0ea8, 0ea9], [0eac, 0eac],
51    [0eba, 0eba], [0ebe, 0ebf], [0ec5, 0ec5], [0ec7, 0ec7], [0ece, 0ecf],
52    [0eda, 0edb], [0ee0, 0eff], [0f48, 0f48], [0f6d, 0f70], [0f98, 0f98],
53    [0fbd, 0fbd], [0fcd, 0fcd], [0fdb, 0fff], [10c6, 10c6], [10c8, 10cc],
54    [10ce, 10cf], [1249, 1249], [124e, 124f], [1257, 1257], [1259, 1259],
55    [125e, 125f], [1289, 1289], [128e, 128f], [12b1, 12b1], [12b6, 12b7],
56    [12bf, 12bf], [12c1, 12c1], [12c6, 12c7], [12d7, 12d7], [1311, 1311],
57    [1316, 1317], [135b, 135c], [137d, 137f], [139a, 139f], [13f6, 13f7],
58    [13fe, 13ff], [169d, 169f], [16f9, 16ff], [170d, 170d], [1715, 171f],
59    [1737, 173f], [1754, 175f], [176d, 176d], [1771, 1771], [1774, 177f],
60    [17de, 17df], [17ea, 17ef], [17fa, 17ff], [180f, 180f], [181a, 181f],
61    [1879, 187f], [18ab, 18af], [18f6, 18ff], [191f, 191f], [192c, 192f],
62    [193c, 193f], [1941, 1943], [196e, 196f], [1975, 197f], [19ac, 19af],
63    [19ca, 19cf], [19db, 19dd], [1a1c, 1a1d], [1a5f, 1a5f], [1a7d, 1a7e],
64    [1a8a, 1a8f], [1a9a, 1a9f], [1aae, 1aaf], [1abf, 1aff], [1b4c, 1b4f],
65    [1b7d, 1b7f], [1bf4, 1bfb], [1c38, 1c3a], [1c4a, 1c4c], [1c89, 1c8f],
66    [1cbb, 1cbc], [1cc8, 1ccf], [1cfa, 1cff], [1dfa, 1dfa], [1f16, 1f17],
67    [1f1e, 1f1f], [1f46, 1f47], [1f4e, 1f4f], [1f58, 1f58], [1f5a, 1f5a],
68    [1f5c, 1f5c], [1f5e, 1f5e], [1f7e, 1f7f], [1fb5, 1fb5], [1fc5, 1fc5],
69    [1fd4, 1fd5], [1fdc, 1fdc], [1ff0, 1ff1], [1ff5, 1ff5], [1fff, 1fff],
70    [2065, 2065], [2072, 2073], [208f, 208f], [209d, 209f], [20c0, 20cf],
71    [20f1, 20ff], [218c, 218f], [2427, 243f], [244b, 245f], [2b74, 2b75],
72    [2b96, 2b97], [2bc9, 2bc9], [2bff, 2bff], [2c2f, 2c2f], [2c5f, 2c5f],
73    [2cf4, 2cf8], [2d26, 2d26], [2d28, 2d2c], [2d2e, 2d2f], [2d68, 2d6e],
74    [2d71, 2d7e], [2d97, 2d9f], [2da7, 2da7], [2daf, 2daf], [2db7, 2db7],
75    [2dbf, 2dbf], [2dc7, 2dc7], [2dcf, 2dcf], [2dd7, 2dd7], [2ddf, 2ddf],
76    [2e4f, 2e7f], [2e9a, 2e9a], [2ef4, 2eff], [2fd6, 2fef], [2ffc, 2fff],
77    [3040, 3040], [3097, 3098], [3100, 3104], [3130, 3130], [318f, 318f],
78    [31bb, 31bf], [31e4, 31ef], [321f, 321f], [32ff, 32ff], [4db6, 4dbf],
79    [9ff0, 9fff], [a48d, a48f], [a4c7, a4cf], [a62c, a63f], [a6f8, a6ff],
80    [a7ba, a7f6], [a82c, a82f], [a83a, a83f], [a878, a87f], [a8c6, a8cd],
81    [a8da, a8df], [a954, a95e], [a97d, a97f], [a9ce, a9ce], [a9da, a9dd],
82    [a9ff, a9ff], [aa37, aa3f], [aa4e, aa4f], [aa5a, aa5b], [aac3, aada],
83    [aaf7, ab00], [ab07, ab08], [ab0f, ab10], [ab17, ab1f], [ab27, ab27],
84    [ab2f, ab2f], [ab66, ab6f], [abee, abef], [abfa, abff], [d7a4, d7af],
85    [d7c7, d7ca], [d7fc, d7ff], [fa6e, fa6f], [fada, faff], [fb07, fb12],
86    [fb18, fb1c], [fb37, fb37], [fb3d, fb3d], [fb3f, fb3f], [fb42, fb42],
87    [fb45, fb45], [fbc2, fbd2], [fd40, fd4f], [fd90, fd91], [fdc8, fdcf],
88    [fdfe, fdff], [fe1a, fe1f], [fe53, fe53], [fe67, fe67], [fe6c, fe6f],
89    [fe75, fe75], [fefd, fefe], [ff00, ff00], [ffbf, ffc1], [ffc8, ffc9],
90    [ffd0, ffd1], [ffd8, ffd9], [ffdd, ffdf], [ffe7, ffe7], [ffef, fff8],
91    [1000c, 1000c], [10027, 10027], [1003b, 1003b], [1003e, 1003e],
92    [1004e, 1004f], [1005e, 1007f], [100fb, 100ff], [10103, 10106],
93    [10134, 10136], [1018f, 1018f], [1019c, 1019f], [101a1, 101cf],
94    [101fe, 1027f], [1029d, 1029f], [102d1, 102df], [102fc, 102ff],
95    [10324, 1032c], [1034b, 1034f], [1037b, 1037f], [1039e, 1039e],
96    [103c4, 103c7], [103d6, 103ff], [1049e, 1049f], [104aa, 104af],
97    [104d4, 104d7], [104fc, 104ff], [10528, 1052f], [10564, 1056e],
98    [10570, 105ff], [10737, 1073f], [10756, 1075f], [10768, 107ff],
99    [10806, 10807], [10809, 10809], [10836, 10836], [10839, 1083b],
100    [1083d, 1083e], [10856, 10856], [1089f, 108a6], [108b0, 108df],
101    [108f3, 108f3], [108f6, 108fa], [1091c, 1091e], [1093a, 1093e],
102    [10940, 1097f], [109b8, 109bb], [109d0, 109d1], [10a04, 10a04],
103    [10a07, 10a0b], [10a14, 10a14], [10a18, 10a18], [10a36, 10a37],
104    [10a3b, 10a3e], [10a49, 10a4f], [10a59, 10a5f], [10aa0, 10abf],
105    [10ae7, 10aea], [10af7, 10aff], [10b36, 10b38], [10b56, 10b57],
106    [10b73, 10b77], [10b92, 10b98], [10b9d, 10ba8], [10bb0, 10bff],
107    [10c49, 10c7f], [10cb3, 10cbf], [10cf3, 10cf9], [10d28, 10d2f],
108    [10d3a, 10e5f], [10e7f, 10eff], [10f28, 10f2f], [10f5a, 10fff],
109    [1104e, 11051], [11070, 1107e], [110c2, 110cc], [110ce, 110cf],
110    [110e9, 110ef], [110fa, 110ff], [11135, 11135], [11147, 1114f],
111    [11177, 1117f], [111ce, 111cf], [111e0, 111e0], [111f5, 111ff],
112    [11212, 11212], [1123f, 1127f], [11287, 11287], [11289, 11289],
113    [1128e, 1128e], [1129e, 1129e], [112aa, 112af], [112eb, 112ef],
114    [112fa, 112ff], [11304, 11304], [1130d, 1130e], [11311, 11312],
115    [11329, 11329], [11331, 11331], [11334, 11334], [1133a, 1133a],
116    [11345, 11346], [11349, 1134a], [1134e, 1134f], [11351, 11356],
117    [11358, 1135c], [11364, 11365], [1136d, 1136f], [11375, 113ff],
118    [1145a, 1145a], [1145c, 1145c], [1145f, 1147f], [114c8, 114cf],
119    [114da, 1157f], [115b6, 115b7], [115de, 115ff], [11645, 1164f],
120    [1165a, 1165f], [1166d, 1167f], [116b8, 116bf], [116ca, 116ff],
121    [1171b, 1171c], [1172c, 1172f], [11740, 117ff], [1183c, 1189f],
122    [118f3, 118fe], [11900, 119ff], [11a48, 11a4f], [11a84, 11a85],
123    [11aa3, 11abf], [11af9, 11bff], [11c09, 11c09], [11c37, 11c37],
124    [11c46, 11c4f], [11c6d, 11c6f], [11c90, 11c91], [11ca8, 11ca8],
125    [11cb7, 11cff], [11d07, 11d07], [11d0a, 11d0a], [11d37, 11d39],
126    [11d3b, 11d3b], [11d3e, 11d3e], [11d48, 11d4f], [11d5a, 11d5f],
127    [11d66, 11d66], [11d69, 11d69], [11d8f, 11d8f], [11d92, 11d92],
128    [11d99, 11d9f], [11daa, 11edf], [11ef9, 11fff], [1239a, 123ff],
129    [1246f, 1246f], [12475, 1247f], [12544, 12fff], [1342f, 143ff],
130    [14647, 167ff], [16a39, 16a3f], [16a5f, 16a5f], [16a6a, 16a6d],
131    [16a70, 16acf], [16aee, 16aef], [16af6, 16aff], [16b46, 16b4f],
132    [16b5a, 16b5a], [16b62, 16b62], [16b78, 16b7c], [16b90, 16e3f],
133    [16e9b, 16eff], [16f45, 16f4f], [16f7f, 16f8e], [16fa0, 16fdf],
134    [16fe2, 16fff], [187f2, 187ff], [18af3, 1afff], [1b11f, 1b16f],
135    [1b2fc, 1bbff], [1bc6b, 1bc6f], [1bc7d, 1bc7f], [1bc89, 1bc8f],
136    [1bc9a, 1bc9b], [1bca4, 1cfff], [1d0f6, 1d0ff], [1d127, 1d128],
137    [1d1e9, 1d1ff], [1d246, 1d2df], [1d2f4, 1d2ff], [1d357, 1d35f],
138    [1d379, 1d3ff], [1d455, 1d455], [1d49d, 1d49d], [1d4a0, 1d4a1],
139    [1d4a3, 1d4a4], [1d4a7, 1d4a8], [1d4ad, 1d4ad], [1d4ba, 1d4ba],
140    [1d4bc, 1d4bc], [1d4c4, 1d4c4], [1d506, 1d506], [1d50b, 1d50c],
141    [1d515, 1d515], [1d51d, 1d51d], [1d53a, 1d53a], [1d53f, 1d53f],
142    [1d545, 1d545], [1d547, 1d549], [1d551, 1d551], [1d6a6, 1d6a7],
143    [1d7cc, 1d7cd], [1da8c, 1da9a], [1daa0, 1daa0], [1dab0, 1dfff],
144    [1e007, 1e007], [1e019, 1e01a], [1e022, 1e022], [1e025, 1e025],
145    [1e02b, 1e7ff], [1e8c5, 1e8c6], [1e8d7, 1e8ff], [1e94b, 1e94f],
146    [1e95a, 1e95d], [1e960, 1ec70], [1ecb5, 1edff], [1ee04, 1ee04],
147    [1ee20, 1ee20], [1ee23, 1ee23], [1ee25, 1ee26], [1ee28, 1ee28],
148    [1ee33, 1ee33], [1ee38, 1ee38], [1ee3a, 1ee3a], [1ee3c, 1ee41],
149    [1ee43, 1ee46], [1ee48, 1ee48], [1ee4a, 1ee4a], [1ee4c, 1ee4c],
150    [1ee50, 1ee50], [1ee53, 1ee53], [1ee55, 1ee56], [1ee58, 1ee58],
151    [1ee5a, 1ee5a], [1ee5c, 1ee5c], [1ee5e, 1ee5e], [1ee60, 1ee60],
152    [1ee63, 1ee63], [1ee65, 1ee66], [1ee6b, 1ee6b], [1ee73, 1ee73],
153    [1ee78, 1ee78], [1ee7d, 1ee7d], [1ee7f, 1ee7f], [1ee8a, 1ee8a],
154    [1ee9c, 1eea0], [1eea4, 1eea4], [1eeaa, 1eeaa], [1eebc, 1eeef],
155    [1eef2, 1efff], [1f02c, 1f02f], [1f094, 1f09f], [1f0af, 1f0b0],
156    [1f0c0, 1f0c0], [1f0d0, 1f0d0], [1f0f6, 1f0ff], [1f10d, 1f10f],
157    [1f16c, 1f16f], [1f1ad, 1f1e5], [1f203, 1f20f], [1f23c, 1f23f],
158    [1f249, 1f24f], [1f252, 1f25f], [1f266, 1f2ff], [1f6d5, 1f6df],
159    [1f6ed, 1f6ef], [1f6fa, 1f6ff], [1f774, 1f77f], [1f7d9, 1f7ff],
160    [1f80c, 1f80f], [1f848, 1f84f], [1f85a, 1f85f], [1f888, 1f88f],
161    [1f8ae, 1f8ff], [1f90c, 1f90f], [1f93f, 1f93f], [1f971, 1f972],
162    [1f977, 1f979], [1f97b, 1f97b], [1f9a3, 1f9af], [1f9ba, 1f9bf],
163    [1f9c3, 1f9cf], [1fa00, 1fa5f], [1fa6e, 1fffd], [2a6d7, 2a6ff],
164    [2b735, 2b73f], [2b81e, 2b81f], [2cea2, 2ceaf], [2ebe1, 2f7ff],
165    [2fa1e, 2fffd], [30000, 3fffd], [40000, 4fffd], [50000, 5fffd],
166    [60000, 6fffd], [70000, 7fffd], [80000, 8fffd], [90000, 9fffd],
167    [a0000, afffd], [b0000, bfffd], [c0000, cfffd], [d0000, dfffd],
168    [e0000, e0000], [e0002, e001f], [e0080, e00ff], [e01f0, efffd]**/
169
170
171    namespace {
172    const static UnicodeSet::run_t __unassigned_Set_runs[] = {
173    {Empty, 27}, {Mixed, 3}, {Empty, 11}, {Mixed, 2}, {Empty, 1},
174    {Mixed, 1}, {Empty, 1}, {Mixed, 3}, {Empty, 7}, {Mixed, 1}, {Empty, 1},
175    {Mixed, 1}, {Empty, 2}, {Mixed, 1}, {Empty, 1}, {Mixed, 1}, {Empty, 1},
176    {Mixed, 3}, {Full, 1}, {Mixed, 2}, {Empty, 5}, {Mixed, 29}, {Empty, 1},
177    {Mixed, 9}, {Full, 1}, {Mixed, 3}, {Full, 1}, {Empty, 2}, {Mixed, 5},
178    {Full, 1}, {Empty, 6}, {Mixed, 1}, {Empty, 11}, {Mixed, 1}, {Empty, 1},
179    {Mixed, 3}, {Empty, 1}, {Mixed, 1}, {Empty, 1}, {Mixed, 3}, {Empty, 2},
180    {Mixed, 1}, {Empty, 20}, {Mixed, 1}, {Empty, 2}, {Mixed, 5}, {Empty, 2},
181    {Mixed, 3}, {Empty, 2}, {Mixed, 1}, {Empty, 1}, {Mixed, 1}, {Empty, 1},
182    {Mixed, 5}, {Empty, 1}, {Mixed, 2}, {Empty, 1}, {Mixed, 1}, {Empty, 1},
183    {Mixed, 4}, {Full, 2}, {Empty, 2}, {Mixed, 2}, {Empty, 3}, {Mixed, 1},
184    {Empty, 1}, {Mixed, 2}, {Empty, 1}, {Mixed, 4}, {Empty, 7}, {Mixed, 1},
185    {Empty, 8}, {Mixed, 1}, {Empty, 1}, {Mixed, 2}, {Empty, 1}, {Mixed, 3},
186    {Empty, 3}, {Mixed, 2}, {Empty, 1}, {Mixed, 2}, {Empty, 4}, {Mixed, 1},
187    {Empty, 20}, {Mixed, 2}, {Empty, 56}, {Mixed, 2}, {Empty, 1},
188    {Mixed, 2}, {Empty, 1}, {Mixed, 2}, {Empty, 4}, {Mixed, 1}, {Empty, 1},
189    {Mixed, 1}, {Empty, 1}, {Mixed, 4}, {Empty, 3}, {Mixed, 1}, {Full, 1},
190    {Mixed, 1}, {Empty, 2}, {Mixed, 1}, {Empty, 6}, {Mixed, 2}, {Empty, 2},
191    {Mixed, 1}, {Empty, 1}, {Mixed, 1}, {Empty, 3}, {Mixed, 2}, {Empty, 2},
192    {Mixed, 2}, {Empty, 1}, {Mixed, 2}, {Empty, 6}, {Mixed, 1},
193    {Empty, 213}, {Mixed, 1}, {Empty, 657}, {Mixed, 1}, {Empty, 36},
194    {Mixed, 1}, {Empty, 1}, {Mixed, 1}, {Empty, 10}, {Mixed, 1}, {Empty, 5},
195    {Mixed, 1}, {Empty, 5}, {Mixed, 1}, {Full, 1}, {Mixed, 1}, {Empty, 1},
196    {Mixed, 1}, {Empty, 1}, {Mixed, 1}, {Empty, 2}, {Mixed, 1}, {Empty, 3},
197    {Mixed, 2}, {Empty, 2}, {Mixed, 2}, {Empty, 1}, {Mixed, 2}, {Empty, 3},
198    {Mixed, 4}, {Empty, 1}, {Mixed, 1}, {Empty, 3}, {Mixed, 1},
199    {Empty, 349}, {Mixed, 3}, {Empty, 275}, {Mixed, 1}, {Empty, 2},
200    {Mixed, 1}, {Full, 1}, {Mixed, 3}, {Empty, 3}, {Mixed, 1}, {Empty, 11},
201    {Mixed, 1}, {Empty, 1}, {Mixed, 1}, {Empty, 1}, {Mixed, 3}, {Empty, 1},
202    {Mixed, 2}, {Empty, 3}, {Mixed, 2}, {Empty, 4}, {Mixed, 6}, {Full, 1},
203    {Empty, 3}, {Mixed, 3}, {Empty, 2}, {Mixed, 4}, {Full, 4}, {Mixed, 1},
204    {Empty, 1}, {Mixed, 2}, {Empty, 1}, {Mixed, 4}, {Empty, 1}, {Mixed, 1},
205    {Full, 1}, {Empty, 4}, {Mixed, 4}, {Empty, 1}, {Mixed, 1}, {Empty, 1},
206    {Mixed, 1}, {Full, 4}, {Empty, 9}, {Mixed, 3}, {Full, 4}, {Mixed, 3},
207    {Empty, 1}, {Mixed, 2}, {Full, 1}, {Mixed, 3}, {Full, 2}, {Empty, 1},
208    {Mixed, 2}, {Empty, 1}, {Mixed, 3}, {Empty, 2}, {Full, 1}, {Empty, 1},
209    {Mixed, 1}, {Empty, 1}, {Mixed, 5}, {Full, 2}, {Empty, 2}, {Mixed, 1},
210    {Full, 1}, {Empty, 1}, {Mixed, 1}, {Empty, 1}, {Mixed, 1}, {Empty, 1},
211    {Mixed, 1}, {Full, 9}, {Mixed, 1}, {Full, 4}, {Empty, 1}, {Mixed, 2},
212    {Full, 5}, {Empty, 2}, {Mixed, 2}, {Empty, 2}, {Mixed, 2}, {Empty, 1},
213    {Mixed, 3}, {Empty, 2}, {Mixed, 4}, {Full, 2}, {Mixed, 2}, {Empty, 1},
214    {Mixed, 5}, {Full, 4}, {Empty, 2}, {Mixed, 1}, {Full, 1}, {Empty, 2},
215    {Mixed, 1}, {Full, 5}, {Empty, 1}, {Mixed, 2}, {Full, 1}, {Empty, 2},
216    {Mixed, 2}, {Empty, 1}, {Mixed, 2}, {Full, 1}, {Mixed, 2}, {Full, 6},
217    {Empty, 1}, {Mixed, 1}, {Full, 3}, {Empty, 2}, {Mixed, 1}, {Full, 8},
218    {Empty, 2}, {Mixed, 1}, {Empty, 1}, {Mixed, 2}, {Empty, 1}, {Mixed, 1},
219    {Full, 8}, {Mixed, 6}, {Full, 2}, {Mixed, 6}, {Full, 9}, {Mixed, 1},
220    {Full, 8}, {Empty, 28}, {Mixed, 1}, {Full, 3}, {Empty, 3}, {Mixed, 1},
221    {Empty, 6}, {Mixed, 1}, {Full, 85}, {Empty, 33}, {Mixed, 1},
222    {Full, 126}, {Empty, 18}, {Mixed, 1}, {Full, 269}, {Empty, 17},
223    {Mixed, 3}, {Full, 2}, {Mixed, 2}, {Empty, 2}, {Mixed, 3}, {Full, 21},
224    {Empty, 2}, {Mixed, 1}, {Full, 3}, {Empty, 2}, {Mixed, 3}, {Full, 2},
225    {Mixed, 1}, {Empty, 191}, {Mixed, 1}, {Empty, 23}, {Mixed, 1},
226    {Full, 296}, {Empty, 8}, {Mixed, 1}, {Full, 2}, {Mixed, 1}, {Empty, 11},
227    {Mixed, 1}, {Full, 72}, {Empty, 3}, {Mixed, 3}, {Full, 154}, {Empty, 7},
228    {Mixed, 1}, {Empty, 1}, {Mixed, 1}, {Empty, 5}, {Mixed, 1}, {Empty, 2},
229    {Mixed, 1}, {Full, 4}, {Mixed, 1}, {Empty, 2}, {Mixed, 2}, {Full, 4},
230    {Empty, 2}, {Mixed, 1}, {Empty, 1}, {Mixed, 3}, {Empty, 1}, {Mixed, 3},
231    {Empty, 10}, {Mixed, 1}, {Empty, 8}, {Mixed, 1}, {Empty, 21},
232    {Mixed, 2}, {Full, 42}, {Mixed, 2}, {Full, 62}, {Empty, 6}, {Mixed, 1},
233    {Full, 1}, {Empty, 2}, {Mixed, 1}, {Full, 24}, {Mixed, 1}, {Empty, 1},
234    {Mixed, 1}, {Full, 10}, {Mixed, 6}, {Full, 1}, {Mixed, 1}, {Full, 8},
235    {Empty, 1}, {Mixed, 1}, {Empty, 2}, {Mixed, 5}, {Empty, 2}, {Mixed, 1},
236    {Empty, 1}, {Mixed, 1}, {Full, 1}, {Mixed, 5}, {Full, 4}, {Empty, 30},
237    {Mixed, 2}, {Empty, 3}, {Mixed, 1}, {Empty, 2}, {Mixed, 1}, {Full, 1},
238    {Mixed, 1}, {Empty, 1}, {Mixed, 1}, {Empty, 1}, {Mixed, 2}, {Full, 2},
239    {Mixed, 2}, {Empty, 1}, {Mixed, 1}, {Empty, 1}, {Mixed, 2}, {Empty, 1},
240    {Full, 3}, {Mixed, 1}, {Full, 43}, {Mixed, 1}, {Empty, 1334},
241    {Mixed, 1}, {Full, 1}, {Empty, 129}, {Mixed, 1}, {Empty, 6}, {Mixed, 1},
242    {Empty, 180}, {Mixed, 1}, {Empty, 233}, {Mixed, 1}, {Full, 96},
243    {Empty, 16}, {Mixed, 1}, {Full, 46}, {Mixed, 1}, {Full, 2047},
244    {Mixed, 1}, {Full, 2047}, {Mixed, 1}, {Full, 2047}, {Mixed, 1},
245    {Full, 2047}, {Mixed, 1}, {Full, 2047}, {Mixed, 1}, {Full, 2047},
246    {Mixed, 1}, {Full, 2047}, {Mixed, 1}, {Full, 2047}, {Mixed, 1},
247    {Full, 2047}, {Mixed, 1}, {Full, 2047}, {Mixed, 1}, {Full, 2047},
248    {Mixed, 2}, {Empty, 3}, {Full, 4}, {Empty, 7}, {Mixed, 1}, {Full, 2031},
249    {Mixed, 1}, {Empty, 4096}};
250    const static UnicodeSet::bitquad_t  __unassigned_Set_quads[] = {
251    0x03000000, 0x0000280f, 0x00000004, 0x00010000, 0x01800000, 0x00011800,
252    0x0000ff00, 0xffe07800, 0x20000000, 0x00004000, 0x00001800, 0xfffc0000,
253    0x18000000, 0x8000c000, 0xb0000000, 0xfffff800, 0xc0200000, 0x0007ffff,
254    0x00066010, 0x0c3a0200, 0x4f7f8660, 0x80000030, 0x00067811, 0x2c920200,
255    0xa1fdc678, 0xff80003f, 0x00044011, 0x0c120200, 0xfffec440, 0x01fc0030,
256    0x00066011, 0x0c120200, 0x4f3fc660, 0xff000030, 0x29c23813, 0x3c0038e7,
257    0xff7ec238, 0xf800003f, 0x00022000, 0x1c000200, 0xf89fc220, 0x00ff0030,
258    0x00022000, 0x0c100200, 0xbf9fc220, 0xfff90030, 0x00022010, 0x000f0220,
259    0x00000030, 0x03800013, 0xd0040000, 0x00a07b80, 0xffe3003f, 0x00000001,
260    0x78000000, 0xf0000000, 0x010fda69, 0xc4001351, 0x0c00c0a0, 0x00000100,
261    0x0001e000, 0x01000000, 0x20000000, 0xf8002000, 0x0000df40, 0xc280c200,
262    0x0000c200, 0x80c20000, 0x008000c2, 0x00c20000, 0x18000000, 0xe0000000,
263    0xfc000000, 0xc0c00000, 0xe0000000, 0xfe000000, 0xffe02000, 0xff800000,
264    0xfff00000, 0xfff22000, 0xc0000000, 0xfc00fc00, 0xfc008000, 0xfe000000,
265    0x0000f800, 0xffc00000, 0x80000000, 0xf000f000, 0x0000000e, 0xffe0c000,
266    0x0000f000, 0x3800fc00, 0x30000000, 0x80000000, 0x60000000, 0xfc00fc00,
267    0x8000c000, 0x0000f000, 0xe0000000, 0x0ff00000, 0x07000000, 0x00001c00,
268    0x0000fe00, 0x18000000, 0x0000ff00, 0xfc000000, 0x04000000, 0xc0c00000,
269    0x5500c0c0, 0xc0000000, 0x00200000, 0x10300020, 0x80230000, 0x000c0020,
270    0xe0008000, 0x0000ffff, 0xfffe0000, 0x0000f000, 0xffffff80, 0xfffff800,
271    0x00300000, 0x00c00000, 0x00000200, 0x80000000, 0x00008000, 0x80000000,
272    0x01f00000, 0x0000df40, 0x7ffe7f00, 0xff800000, 0x80808080, 0x80808080,
273    0xffff8000, 0x04000000, 0xfff00000, 0xffc00000, 0xf000ffff, 0x00000001,
274    0x01800000, 0x0000001f, 0x00010000, 0x00008000, 0xf8000000, 0x0000fff0,
275    0x80000000, 0x80000000, 0xffc00000, 0xffff0000, 0x0000e000, 0x0000ff80,
276    0xfffff000, 0xff000000, 0xfc000000, 0x007fffff, 0xfc00f000, 0xff000000,
277    0xfc003fc0, 0x7ff00000, 0xe0000000, 0x3c004000, 0x80000000, 0xff800000,
278    0x0c00c000, 0x07fffff8, 0xff800000, 0xff818181, 0x00008080, 0x0000ffc0,
279    0xfc00c000, 0x0000fff0, 0x00000780, 0xf0000000, 0x0000c000, 0xfc000000,
280    0x1f07ff80, 0xa0800000, 0x00000024, 0x0007fffc, 0x0000ffff, 0x00030000,
281    0x0000ff00, 0xc0000000, 0xfc000000, 0x00080000, 0x0020f080, 0x60000000,
282    0x00000001, 0x80000000, 0xe3030303, 0x01ff8080, 0x00001000, 0x48000080,
283    0xc000c000, 0xf8000000, 0x00000078, 0x00700000, 0xf0008000, 0xfffffffe,
284    0x0000ffff, 0xc0000000, 0xe0000000, 0xfffe0000, 0xf0000000, 0x00001ff0,
285    0x0000f800, 0xf8000000, 0x40000000, 0xffc000f0, 0xc0000000, 0x0000fc00,
286    0x00f00000, 0xf0000000, 0x0000ff00, 0xffff7ff0, 0xff800000, 0xffc00000,
287    0xffffff00, 0x000002c0, 0x6e400000, 0x00400000, 0x80000000, 0xffff007f,
288    0x07c80000, 0x70000000, 0x7c000000, 0x0f000000, 0x00030000, 0x01100f90,
289    0x78c00000, 0xfe00fe00, 0xff800780, 0x01c00000, 0x00c00000, 0x00f80000,
290    0xe1fc0000, 0xffff01ff, 0xfffffe00, 0xfff80000, 0x03f80000, 0xfc00ff00,
291    0x80000000, 0x0000ff00, 0xfc000000, 0x0003c000, 0x7fff0000, 0x0000dffc,
292    0xfc00fe00, 0x00200000, 0x0000ff80, 0xff800000, 0x0000c000, 0xffe00001,
293    0x00040000, 0x80000000, 0x40004280, 0x0000fc00, 0xfc00f800, 0x00066010,
294    0x04120200, 0x1f7ec660, 0xffe0e030, 0x94000000, 0xfc00ff00, 0x00c00000,
295    0xc0000000, 0xfc00ffe0, 0xffffe000, 0xff000000, 0xfffffc00, 0x18000000,
296    0x0000f000, 0xf0000000, 0x7ff80000, 0x0000ff00, 0x00000030, 0xfffffff8,
297    0xfe000000, 0x00000200, 0x00800000, 0x0000ffc0, 0x0000e000, 0x00030000,
298    0xff800100, 0x00000480, 0x4b800000, 0xfc00ff00, 0x00000240, 0xfe048000,
299    0xfffffc00, 0xfe000000, 0xfc000000, 0xffe08000, 0xfffffff0, 0xffff8000,
300    0xffffff80, 0xfe000000, 0x80000000, 0xffff3c00, 0x0000ffff, 0xffc0c000,
301    0x0400ffc0, 0x1f000004, 0xffff0000, 0xf8000000, 0x0000ffe0, 0x80000000,
302    0x00007fff, 0xfffffffc, 0xfffc0000, 0xfff80000, 0x80000000, 0x0000ffff,
303    0xf0000000, 0xe000f800, 0x0c00fe00, 0xfffffff0, 0xffc00000, 0x00000180,
304    0xfffffe00, 0xffffffc0, 0xfff00000, 0xff800000, 0xfe000000, 0x00200000,
305    0x20000000, 0x1400219b, 0x00000010, 0x20201840, 0x84000000, 0x000203a0,
306    0x000000c0, 0x00003000, 0x07fff000, 0xffff0001, 0x06000080, 0xfffff824,
307    0xff800060, 0x3c00f800, 0x0001ffff, 0xffe00000, 0x00000010, 0xf5080169,
308    0x5569157b, 0xa1080869, 0xf0000400, 0xf0000411, 0xfffcffff, 0x0000f000,
309    0xfff00000, 0x00018000, 0x00010001, 0xffc00000, 0x0000e000, 0x0000f000,
310    0xffffe000, 0x0000003f, 0x0000fff8, 0xf0000000, 0xfffcfe00, 0xffffffc0,
311    0xffe00000, 0xfc00e000, 0xfff00000, 0xfe000000, 0x0000f000, 0xfc00ff00,
312    0x0000ff00, 0xffffc000, 0x0000f000, 0x80000000, 0x0b860000, 0xfc00fff8,
313    0x0000fff8, 0xffffc000, 0x3fffffff, 0xff800000, 0xffe00000, 0xc0000000,
314    0x0000fffc, 0xfffffffe, 0xc0000000, 0x3fffffff, 0x3fffffff, 0x3fffffff,
315    0x3fffffff, 0x3fffffff, 0x3fffffff, 0x3fffffff, 0x3fffffff, 0x3fffffff,
316    0x3fffffff, 0x3fffffff, 0x3fffffff, 0xfffffffd, 0xffff0000, 0x3fffffff};
317    }
318
319    const static UnicodeSet unassigned_Set{const_cast<UnicodeSet::run_t *>(__unassigned_Set_runs), 441, 0, const_cast<UnicodeSet::bitquad_t *>(__unassigned_Set_quads), 396, 0};
320
321    /** Code Point Ranges for V1_1
322    [0000, 01f5], [01fa, 0217], [0250, 02a8], [02b0, 02de], [02e0, 02e9],
323    [0300, 0345], [0360, 0361], [0374, 0375], [037a, 037a], [037e, 037e],
324    [0384, 038a], [038c, 038c], [038e, 03a1], [03a3, 03ce], [03d0, 03d6],
325    [03da, 03da], [03dc, 03dc], [03de, 03de], [03e0, 03e0], [03e2, 03f3],
326    [0401, 040c], [040e, 044f], [0451, 045c], [045e, 0486], [0490, 04c4],
327    [04c7, 04c8], [04cb, 04cc], [04d0, 04eb], [04ee, 04f5], [04f8, 04f9],
328    [0531, 0556], [0559, 055f], [0561, 0587], [0589, 0589], [05b0, 05b9],
329    [05bb, 05c3], [05d0, 05ea], [05f0, 05f4], [060c, 060c], [061b, 061b],
330    [061f, 061f], [0621, 063a], [0640, 0652], [0660, 066d], [0670, 06b7],
331    [06ba, 06be], [06c0, 06ce], [06d0, 06ed], [06f0, 06f9], [0901, 0903],
332    [0905, 0939], [093c, 094d], [0950, 0954], [0958, 0970], [0981, 0983],
333    [0985, 098c], [098f, 0990], [0993, 09a8], [09aa, 09b0], [09b2, 09b2],
334    [09b6, 09b9], [09bc, 09bc], [09be, 09c4], [09c7, 09c8], [09cb, 09cd],
335    [09d7, 09d7], [09dc, 09dd], [09df, 09e3], [09e6, 09fa], [0a02, 0a02],
336    [0a05, 0a0a], [0a0f, 0a10], [0a13, 0a28], [0a2a, 0a30], [0a32, 0a33],
337    [0a35, 0a36], [0a38, 0a39], [0a3c, 0a3c], [0a3e, 0a42], [0a47, 0a48],
338    [0a4b, 0a4d], [0a59, 0a5c], [0a5e, 0a5e], [0a66, 0a74], [0a81, 0a83],
339    [0a85, 0a8b], [0a8d, 0a8d], [0a8f, 0a91], [0a93, 0aa8], [0aaa, 0ab0],
340    [0ab2, 0ab3], [0ab5, 0ab9], [0abc, 0ac5], [0ac7, 0ac9], [0acb, 0acd],
341    [0ad0, 0ad0], [0ae0, 0ae0], [0ae6, 0aef], [0b01, 0b03], [0b05, 0b0c],
342    [0b0f, 0b10], [0b13, 0b28], [0b2a, 0b30], [0b32, 0b33], [0b36, 0b39],
343    [0b3c, 0b43], [0b47, 0b48], [0b4b, 0b4d], [0b56, 0b57], [0b5c, 0b5d],
344    [0b5f, 0b61], [0b66, 0b70], [0b82, 0b83], [0b85, 0b8a], [0b8e, 0b90],
345    [0b92, 0b95], [0b99, 0b9a], [0b9c, 0b9c], [0b9e, 0b9f], [0ba3, 0ba4],
346    [0ba8, 0baa], [0bae, 0bb5], [0bb7, 0bb9], [0bbe, 0bc2], [0bc6, 0bc8],
347    [0bca, 0bcd], [0bd7, 0bd7], [0be7, 0bf2], [0c01, 0c03], [0c05, 0c0c],
348    [0c0e, 0c10], [0c12, 0c28], [0c2a, 0c33], [0c35, 0c39], [0c3e, 0c44],
349    [0c46, 0c48], [0c4a, 0c4d], [0c55, 0c56], [0c60, 0c61], [0c66, 0c6f],
350    [0c82, 0c83], [0c85, 0c8c], [0c8e, 0c90], [0c92, 0ca8], [0caa, 0cb3],
351    [0cb5, 0cb9], [0cbe, 0cc4], [0cc6, 0cc8], [0cca, 0ccd], [0cd5, 0cd6],
352    [0cde, 0cde], [0ce0, 0ce1], [0ce6, 0cef], [0d02, 0d03], [0d05, 0d0c],
353    [0d0e, 0d10], [0d12, 0d28], [0d2a, 0d39], [0d3e, 0d43], [0d46, 0d48],
354    [0d4a, 0d4d], [0d57, 0d57], [0d60, 0d61], [0d66, 0d6f], [0e01, 0e3a],
355    [0e3f, 0e5b], [0e81, 0e82], [0e84, 0e84], [0e87, 0e88], [0e8a, 0e8a],
356    [0e8d, 0e8d], [0e94, 0e97], [0e99, 0e9f], [0ea1, 0ea3], [0ea5, 0ea5],
357    [0ea7, 0ea7], [0eaa, 0eab], [0ead, 0eb9], [0ebb, 0ebd], [0ec0, 0ec4],
358    [0ec6, 0ec6], [0ec8, 0ecd], [0ed0, 0ed9], [0edc, 0edd], [10a0, 10c5],
359    [10d0, 10f6], [10fb, 10fb], [1100, 1159], [115f, 11a2], [11a8, 11f9],
360    [1e00, 1e9a], [1ea0, 1ef9], [1f00, 1f15], [1f18, 1f1d], [1f20, 1f45],
361    [1f48, 1f4d], [1f50, 1f57], [1f59, 1f59], [1f5b, 1f5b], [1f5d, 1f5d],
362    [1f5f, 1f7d], [1f80, 1fb4], [1fb6, 1fc4], [1fc6, 1fd3], [1fd6, 1fdb],
363    [1fdd, 1fef], [1ff2, 1ff4], [1ff6, 1ffe], [2000, 202e], [2030, 2046],
364    [206a, 2070], [2074, 208e], [20a0, 20aa], [20d0, 20e1], [2100, 2138],
365    [2153, 2182], [2190, 21ea], [2200, 22f1], [2300, 2300], [2302, 237a],
366    [2400, 2424], [2440, 244a], [2460, 24ea], [2500, 2595], [25a0, 25ef],
367    [2600, 2613], [261a, 266f], [2701, 2704], [2706, 2709], [270c, 2727],
368    [2729, 274b], [274d, 274d], [274f, 2752], [2756, 2756], [2758, 275e],
369    [2761, 2767], [2776, 2794], [2798, 27af], [27b1, 27be], [3000, 3037],
370    [303f, 303f], [3041, 3094], [3099, 309e], [30a1, 30fe], [3105, 312c],
371    [3131, 318e], [3190, 319f], [3200, 321c], [3220, 3243], [3260, 327b],
372    [327f, 32b0], [32c0, 32cb], [32d0, 32fe], [3300, 3376], [337b, 33dd],
373    [33e0, 33fe], [4e00, 9fa5], [e000, fa2d], [fb00, fb06], [fb13, fb17],
374    [fb1e, fb36], [fb38, fb3c], [fb3e, fb3e], [fb40, fb41], [fb43, fb44],
375    [fb46, fbb1], [fbd3, fd3f], [fd50, fd8f], [fd92, fdc7], [fdf0, fdfb],
376    [fe20, fe23], [fe30, fe44], [fe49, fe52], [fe54, fe66], [fe68, fe6b],
377    [fe70, fe72], [fe74, fe74], [fe76, fefc], [feff, feff], [ff01, ff5e],
378    [ff61, ffbe], [ffc2, ffc7], [ffca, ffcf], [ffd2, ffd7], [ffda, ffdc],
379    [ffe0, ffe6], [ffe8, ffee], [fffd, ffff]**/
380
381
382    namespace {
383    const static UnicodeSet::run_t __v1_1_Set_runs[] = {
384    {Full, 15}, {Mixed, 2}, {Empty, 1}, {Mixed, 1}, {Full, 2}, {Mixed, 3},
385    {Full, 2}, {Mixed, 7}, {Full, 1}, {Mixed, 1}, {Full, 1}, {Mixed, 1},
386    {Full, 1}, {Mixed, 2}, {Empty, 1}, {Mixed, 11}, {Full, 1}, {Mixed, 3},
387    {Empty, 16}, {Mixed, 36}, {Empty, 4}, {Mixed, 3}, {Empty, 1},
388    {Mixed, 3}, {Empty, 14}, {Full, 1}, {Mixed, 2}, {Full, 2}, {Mixed, 1},
389    {Full, 2}, {Mixed, 1}, {Full, 1}, {Mixed, 1}, {Empty, 96}, {Full, 4},
390    {Mixed, 1}, {Full, 2}, {Mixed, 2}, {Full, 1}, {Mixed, 2}, {Full, 1},
391    {Mixed, 3}, {Full, 1}, {Mixed, 7}, {Full, 1}, {Mixed, 2}, {Full, 1},
392    {Mixed, 1}, {Full, 2}, {Mixed, 1}, {Full, 7}, {Mixed, 2}, {Full, 2},
393    {Mixed, 1}, {Empty, 4}, {Full, 1}, {Mixed, 2}, {Full, 4}, {Mixed, 1},
394    {Full, 4}, {Mixed, 1}, {Full, 2}, {Mixed, 2}, {Full, 2}, {Mixed, 1},
395    {Empty, 4}, {Mixed, 6}, {Empty, 66}, {Full, 1}, {Mixed, 2}, {Full, 1},
396    {Mixed, 2}, {Full, 1}, {Mixed, 3}, {Full, 2}, {Mixed, 1}, {Empty, 3},
397    {Mixed, 1}, {Full, 1}, {Mixed, 2}, {Full, 1}, {Mixed, 3}, {Full, 3},
398    {Mixed, 1}, {Full, 2}, {Mixed, 2}, {Empty, 208}, {Full, 653},
399    {Mixed, 1}, {Empty, 514}, {Full, 209}, {Mixed, 1}, {Empty, 6},
400    {Mixed, 3}, {Full, 2}, {Mixed, 2}, {Full, 11}, {Mixed, 1}, {Full, 1},
401    {Mixed, 1}, {Full, 1}, {Mixed, 2}, {Empty, 1}, {Mixed, 3}, {Full, 3},
402    {Mixed, 2}, {Full, 1}, {Mixed, 2}, {Full, 1}, {Mixed, 3},
403    {Empty, 32768}};
404    const static UnicodeSet::bitquad_t  __v1_1_Set_quads[] = {
405    0xfc3fffff, 0x00ffffff, 0xffff0000, 0xffff01ff, 0x7fffffff, 0x000003ff,
406    0x0000003f, 0x44300003, 0xffffd7f0, 0xfffffffb, 0x547f7fff, 0x000ffffd,
407    0xffffdffe, 0xdffeffff, 0xffff007f, 0xffff199f, 0x033fcfff, 0xfffe0000,
408    0xfe7fffff, 0xfffffffe, 0x000002ff, 0xfbff0000, 0xffff000f, 0x001f07ff,
409    0x88001000, 0x07fffffe, 0x0007ffff, 0xffff3fff, 0x7cffffff, 0xffff7fff,
410    0x03ff3fff, 0xffffffee, 0xf3ffffff, 0xff1f3fff, 0x0001ffff, 0xfff99fee,
411    0xd3c5fdff, 0xb080399f, 0x07ffffcf, 0xfff987e4, 0xd36dfdff, 0x5e003987,
412    0x001fffc0, 0xfffbafee, 0xf3edfdff, 0x00013bbf, 0x0000ffc1, 0xfff99fee,
413    0xf3cdfdff, 0xb0c0398f, 0x0001ffc3, 0xd63dc7ec, 0xc3bfc718, 0x00803dc7,
414    0x0007ff80, 0xfffddfee, 0xc3effdff, 0x00603ddf, 0x0000ffc3, 0xfffddfec,
415    0xc3effdff, 0x40603ddf, 0x0000ffc3, 0xfffddfec, 0xc3fffdff, 0x00803dcf,
416    0x0000ffc3, 0xfffffffe, 0x87ffffff, 0x0fffffff, 0xfef02596, 0x3bffecae,
417    0x33ff3f5f, 0xffff003f, 0x087fffff, 0x83ffffff, 0xffffff07, 0x03ffffff,
418    0x07ffffff, 0x03ffffff, 0x3f3fffff, 0xaaff3f3f, 0x3fffffff, 0xffdfffff,
419    0xefcfffdf, 0x7fdcffff, 0xffff7fff, 0x0000007f, 0xfff1fc00, 0x00007fff,
420    0x000007ff, 0xffff0000, 0x00000003, 0x01ffffff, 0xfff80000, 0xffff0007,
421    0x000007ff, 0x0003ffff, 0xfffffffd, 0x07ffffff, 0x0000001f, 0x000007ff,
422    0x000007ff, 0x003fffff, 0x0000ffff, 0xfc0fffff, 0x0000ffff, 0xfffff3de,
423    0xfffffeff, 0x7f47afff, 0xffc000fe, 0xff1fffff, 0x7ffeffff, 0x80ffffff,
424    0xfffffffe, 0x7e1fffff, 0xfffffffe, 0x7fffffff, 0xffffffe0, 0xfffe1fff,
425    0xffff7fff, 0x1fffffff, 0x0000000f, 0x8fffffff, 0x0001ffff, 0xffff0fff,
426    0x7fffffff, 0xf87fffff, 0x3fffffff, 0x7fffffff, 0x0000003f, 0x00003fff,
427    0xc0f8007f, 0x5f7fffff, 0xffffffdb, 0x0003ffff, 0xfff80000, 0xffff0000,
428    0xfffcffff, 0x000000ff, 0x0fff0000, 0xffff000f, 0xfff7fe1f, 0xffd70f7f,
429    0x9fffffff, 0xfffffffe, 0x7fffffff, 0xfffffffe, 0x7fffffff, 0x1cfcfcfc,
430    0xe0007f7f};
431    }
432
433    const static UnicodeSet v1_1_Set{const_cast<UnicodeSet::run_t *>(__v1_1_Set_runs), 111, 0, const_cast<UnicodeSet::bitquad_t *>(__v1_1_Set_quads), 151, 0};
434
435    /** Code Point Ranges for V2_0
436    [0591, 05a1], [05a3, 05af], [05c4, 05c4], [0f00, 0f47], [0f49, 0f69],
437    [0f71, 0f8b], [0f90, 0f95], [0f97, 0f97], [0f99, 0fad], [0fb1, 0fb7],
438    [0fb9, 0fb9], [1e9b, 1e9b], [20ab, 20ab], [ac00, d7a3], [d800, dfff],
439    [1fffe, 1ffff], [2fffe, 2ffff], [3fffe, 3ffff], [4fffe, 4ffff],
440    [5fffe, 5ffff], [6fffe, 6ffff], [7fffe, 7ffff], [8fffe, 8ffff],
441    [9fffe, 9ffff], [afffe, affff], [bfffe, bffff], [cfffe, cffff],
442    [dfffe, dffff], [efffe, 10ffff]**/
443
444
445    namespace {
446    const static UnicodeSet::run_t __v2_0_Set_runs[] = {
447    {Empty, 44}, {Mixed, 3}, {Empty, 73}, {Full, 2}, {Mixed, 4},
448    {Empty, 118}, {Mixed, 1}, {Empty, 16}, {Mixed, 1}, {Empty, 1114},
449    {Full, 349}, {Mixed, 1}, {Empty, 2}, {Full, 64}, {Empty, 2303},
450    {Mixed, 1}, {Empty, 2047}, {Mixed, 1}, {Empty, 2047}, {Mixed, 1},
451    {Empty, 2047}, {Mixed, 1}, {Empty, 2047}, {Mixed, 1}, {Empty, 2047},
452    {Mixed, 1}, {Empty, 2047}, {Mixed, 1}, {Empty, 2047}, {Mixed, 1},
453    {Empty, 2047}, {Mixed, 1}, {Empty, 2047}, {Mixed, 1}, {Empty, 2047},
454    {Mixed, 1}, {Empty, 2047}, {Mixed, 1}, {Empty, 2047}, {Mixed, 1},
455    {Empty, 2047}, {Mixed, 1}, {Full, 4096}};
456    const static UnicodeSet::bitquad_t  __v2_0_Set_quads[] = {
457    0xfffe0000, 0x0000fffb, 0x00000010, 0xfffffeff, 0xfffe03ff, 0xfebf0fff,
458    0x02fe3fff, 0x08000000, 0x00000800, 0x0000000f, 0xc0000000, 0xc0000000,
459    0xc0000000, 0xc0000000, 0xc0000000, 0xc0000000, 0xc0000000, 0xc0000000,
460    0xc0000000, 0xc0000000, 0xc0000000, 0xc0000000, 0xc0000000, 0xc0000000};
461    }
462
463    const static UnicodeSet v2_0_Set{const_cast<UnicodeSet::run_t *>(__v2_0_Set_runs), 43, 0, const_cast<UnicodeSet::bitquad_t *>(__v2_0_Set_quads), 24, 0};
464
465    /** Code Point Ranges for V2_1
466    [20ac, 20ac], [fffc, fffc]**/
467
468
469    namespace {
470    const static UnicodeSet::run_t __v2_1_Set_runs[] = {
471    {Empty, 261}, {Mixed, 1}, {Empty, 1785}, {Mixed, 1}, {Empty, 32768}};
472    const static UnicodeSet::bitquad_t  __v2_1_Set_quads[] = {
473    0x00001000, 0x10000000};
474    }
475
476    const static UnicodeSet v2_1_Set{const_cast<UnicodeSet::run_t *>(__v2_1_Set_runs), 5, 0, const_cast<UnicodeSet::bitquad_t *>(__v2_1_Set_quads), 2, 0};
477
478    /** Code Point Ranges for V3_0
479    [01f6, 01f9], [0218, 021f], [0222, 0233], [02a9, 02ad], [02df, 02df],
480    [02ea, 02ee], [0346, 034e], [0362, 0362], [03d7, 03d7], [03db, 03db],
481    [03dd, 03dd], [03df, 03df], [03e1, 03e1], [0400, 0400], [040d, 040d],
482    [0450, 0450], [045d, 045d], [0488, 0489], [048c, 048f], [04ec, 04ed],
483    [058a, 058a], [0653, 0655], [06b8, 06b9], [06bf, 06bf], [06cf, 06cf],
484    [06fa, 06fe], [0700, 070d], [070f, 072c], [0730, 074a], [0780, 07b0],
485    [0d82, 0d83], [0d85, 0d96], [0d9a, 0db1], [0db3, 0dbb], [0dbd, 0dbd],
486    [0dc0, 0dc6], [0dca, 0dca], [0dcf, 0dd4], [0dd6, 0dd6], [0dd8, 0ddf],
487    [0df2, 0df4], [0f6a, 0f6a], [0f96, 0f96], [0fae, 0fb0], [0fb8, 0fb8],
488    [0fba, 0fbc], [0fbe, 0fcc], [0fcf, 0fcf], [1000, 1021], [1023, 1027],
489    [1029, 102a], [102c, 1032], [1036, 1039], [1040, 1059], [1200, 1206],
490    [1208, 1246], [1248, 1248], [124a, 124d], [1250, 1256], [1258, 1258],
491    [125a, 125d], [1260, 1286], [1288, 1288], [128a, 128d], [1290, 12ae],
492    [12b0, 12b0], [12b2, 12b5], [12b8, 12be], [12c0, 12c0], [12c2, 12c5],
493    [12c8, 12ce], [12d0, 12d6], [12d8, 12ee], [12f0, 130e], [1310, 1310],
494    [1312, 1315], [1318, 131e], [1320, 1346], [1348, 135a], [1361, 137c],
495    [13a0, 13f4], [1401, 1676], [1680, 169c], [16a0, 16f0], [1780, 17dc],
496    [17e0, 17e9], [1800, 180e], [1810, 1819], [1820, 1877], [1880, 18a9],
497    [202f, 202f], [2048, 204d], [20ad, 20af], [20e2, 20e3], [2139, 213a],
498    [2183, 2183], [21eb, 21f3], [2301, 2301], [237b, 237b], [237d, 239a],
499    [2425, 2426], [25f0, 25f7], [2619, 2619], [2670, 2671], [2800, 28ff],
500    [2e80, 2e99], [2e9b, 2ef3], [2f00, 2fd5], [2ff0, 2ffb], [3038, 303a],
501    [303e, 303e], [31a0, 31b7], [3400, 4db5], [a000, a48c], [a490, a4a1],
502    [a4a4, a4b3], [a4b5, a4c0], [a4c2, a4c4], [a4c6, a4c6], [fb1d, fb1d],
503    [fff9, fffb]**/
504
505
506    namespace {
507    const static UnicodeSet::run_t __v3_0_Set_runs[] = {
508    {Empty, 15}, {Mixed, 3}, {Empty, 3}, {Mixed, 3}, {Empty, 2}, {Mixed, 2},
509    {Empty, 2}, {Mixed, 3}, {Empty, 1}, {Mixed, 1}, {Empty, 1}, {Mixed, 1},
510    {Empty, 2}, {Mixed, 1}, {Empty, 4}, {Mixed, 1}, {Empty, 5}, {Mixed, 1},
511    {Empty, 2}, {Mixed, 6}, {Empty, 1}, {Full, 1}, {Mixed, 1}, {Empty, 46},
512    {Mixed, 4}, {Empty, 11}, {Mixed, 4}, {Empty, 1}, {Full, 1}, {Mixed, 2},
513    {Empty, 13}, {Mixed, 1}, {Full, 1}, {Mixed, 1}, {Full, 1}, {Mixed, 5},
514    {Full, 1}, {Mixed, 2}, {Empty, 1}, {Full, 2}, {Mixed, 2}, {Full, 18},
515    {Mixed, 2}, {Full, 2}, {Mixed, 1}, {Empty, 4}, {Full, 2}, {Mixed, 3},
516    {Full, 2}, {Mixed, 1}, {Full, 1}, {Mixed, 1}, {Empty, 59}, {Mixed, 2},
517    {Empty, 2}, {Mixed, 1}, {Empty, 1}, {Mixed, 1}, {Empty, 1}, {Mixed, 1},
518    {Empty, 2}, {Mixed, 1}, {Empty, 2}, {Mixed, 1}, {Empty, 8}, {Mixed, 1},
519    {Empty, 2}, {Mixed, 2}, {Empty, 4}, {Mixed, 1}, {Empty, 13}, {Mixed, 2},
520    {Empty, 2}, {Mixed, 1}, {Empty, 12}, {Full, 8}, {Empty, 44}, {Mixed, 1},
521    {Full, 2}, {Mixed, 1}, {Full, 6}, {Mixed, 2}, {Empty, 1}, {Mixed, 1},
522    {Empty, 11}, {Mixed, 1}, {Empty, 18}, {Full, 205}, {Mixed, 1},
523    {Empty, 658}, {Full, 36}, {Mixed, 3}, {Empty, 689}, {Mixed, 1},
524    {Empty, 38}, {Mixed, 1}, {Empty, 32768}};
525    const static UnicodeSet::bitquad_t  __v3_0_Set_quads[] = {
526    0x03c00000, 0xff000000, 0x000ffffc, 0x00003e00, 0x80000000, 0x00007c00,
527    0x00007fc0, 0x00000004, 0xa8800000, 0x00000002, 0x00002001, 0x20010000,
528    0x0000f300, 0x00003000, 0x00000400, 0x00380000, 0x83000000, 0x00008000,
529    0x7c000000, 0xffffbfff, 0xffff1fff, 0x000007ff, 0x0001ffff, 0xfc7fffec,
530    0x2ffbffff, 0xff5f847f, 0x001c0000, 0x00000400, 0x00400000, 0xdd01c000,
531    0x00009fff, 0x03c7f6fb, 0x03ffffff, 0xffffff7f, 0x3d7f3d7f, 0xffff3d7f,
532    0x7f3d7fff, 0xff7f7f3d, 0xffff7fff, 0x7f3d7fff, 0x07ffff7f, 0x1ffffffe,
533    0x001fffff, 0xfffffffe, 0x007fffff, 0x1fffffff, 0x0001ffff, 0x1fffffff,
534    0x000003ff, 0x03ff7fff, 0x00ffffff, 0x000003ff, 0x00008000, 0x00003f00,
535    0x0000e000, 0x0000000c, 0x06000000, 0x00000008, 0x000ff800, 0x00000002,
536    0xe8000000, 0x07ffffff, 0x00000060, 0x00ff0000, 0x02000000, 0x00030000,
537    0xfbffffff, 0x000fffff, 0x003fffff, 0x0fff0000, 0x47000000, 0x00ffffff,
538    0x003fffff, 0xffff1fff, 0xffeffff3, 0x0000005d, 0x20000000, 0x0e000000};
539    }
540
541    const static UnicodeSet v3_0_Set{const_cast<UnicodeSet::run_t *>(__v3_0_Set_runs), 97, 0, const_cast<UnicodeSet::bitquad_t *>(__v3_0_Set_quads), 78, 0};
542
543    /** Code Point Ranges for V3_1
544    [03f4, 03f5], [fdd0, fdef], [10300, 1031e], [10320, 10323],
545    [10330, 1034a], [10400, 10425], [10428, 1044d], [1d000, 1d0f5],
546    [1d100, 1d126], [1d12a, 1d1dd], [1d400, 1d454], [1d456, 1d49c],
547    [1d49e, 1d49f], [1d4a2, 1d4a2], [1d4a5, 1d4a6], [1d4a9, 1d4ac],
548    [1d4ae, 1d4b9], [1d4bb, 1d4bb], [1d4bd, 1d4c0], [1d4c2, 1d4c3],
549    [1d4c5, 1d505], [1d507, 1d50a], [1d50d, 1d514], [1d516, 1d51c],
550    [1d51e, 1d539], [1d53b, 1d53e], [1d540, 1d544], [1d546, 1d546],
551    [1d54a, 1d550], [1d552, 1d6a3], [1d6a8, 1d7c9], [1d7ce, 1d7ff],
552    [20000, 2a6d6], [2f800, 2fa1d], [e0001, e0001], [e0020, e007f]**/
553
554
555    namespace {
556    const static UnicodeSet::run_t __v3_1_Set_runs[] = {
557    {Empty, 31}, {Mixed, 1}, {Empty, 1998}, {Mixed, 2}, {Empty, 40},
558    {Mixed, 3}, {Empty, 5}, {Full, 1}, {Mixed, 2}, {Empty, 1629}, {Full, 7},
559    {Mixed, 1}, {Full, 1}, {Mixed, 1}, {Full, 4}, {Mixed, 1}, {Empty, 17},
560    {Full, 2}, {Mixed, 1}, {Full, 1}, {Mixed, 3}, {Full, 1}, {Mixed, 3},
561    {Full, 10}, {Mixed, 1}, {Full, 8}, {Mixed, 1}, {Full, 1}, {Empty, 320},
562    {Full, 1334}, {Mixed, 1}, {Empty, 649}, {Full, 16}, {Mixed, 1},
563    {Empty, 22575}, {Mixed, 1}, {Full, 3}, {Empty, 6140}};
564    const static UnicodeSet::bitquad_t  __v3_1_Set_quads[] = {
565    0x00300000, 0xffff0000, 0x0000ffff, 0x7fffffff, 0xffff000f, 0x000007ff,
566    0xffffff3f, 0x00003fff, 0x003fffff, 0xfffffc7f, 0x3fffffff, 0xffdfffff,
567    0xdfffffff, 0xebffde64, 0xffffffed, 0xdfdfe7bf, 0x7bffffff, 0xfffdfc5f,
568    0xffffff0f, 0xffffc3ff, 0x007fffff, 0x3fffffff, 0x00000002};
569    }
570
571    const static UnicodeSet v3_1_Set{const_cast<UnicodeSet::run_t *>(__v3_1_Set_runs), 38, 0, const_cast<UnicodeSet::bitquad_t *>(__v3_1_Set_quads), 23, 0};
572
573    /** Code Point Ranges for V3_2
574    [0220, 0220], [034f, 034f], [0363, 036f], [03d8, 03d9], [03f6, 03f6],
575    [048a, 048b], [04c5, 04c6], [04c9, 04ca], [04cd, 04ce], [0500, 050f],
576    [066e, 066f], [07b1, 07b1], [10f7, 10f8], [1700, 170c], [170e, 1714],
577    [1720, 1736], [1740, 1753], [1760, 176c], [176e, 1770], [1772, 1773],
578    [2047, 2047], [204e, 2052], [2057, 2057], [205f, 2063], [2071, 2071],
579    [20b0, 20b1], [20e4, 20ea], [213d, 214b], [21f4, 21ff], [22f2, 22ff],
580    [237c, 237c], [239b, 23ce], [24eb, 24fe], [2596, 259f], [25f8, 25ff],
581    [2616, 2617], [2672, 267d], [2680, 2689], [2768, 2775], [27d0, 27eb],
582    [27f0, 27ff], [2900, 2aff], [303b, 303d], [3095, 3096], [309f, 30a0],
583    [30ff, 30ff], [31f0, 31ff], [3251, 325f], [32b1, 32bf], [a4a2, a4a3],
584    [a4b4, a4b4], [a4c1, a4c1], [a4c5, a4c5], [fa30, fa6a], [fdfc, fdfc],
585    [fe00, fe0f], [fe45, fe46], [fe73, fe73], [ff5f, ff60]**/
586
587
588    namespace {
589    const static UnicodeSet::run_t __v3_2_Set_runs[] = {
590    {Empty, 17}, {Mixed, 1}, {Empty, 8}, {Mixed, 2}, {Empty, 2}, {Mixed, 2},
591    {Empty, 4}, {Mixed, 1}, {Empty, 1}, {Mixed, 1}, {Empty, 1}, {Mixed, 1},
592    {Empty, 10}, {Mixed, 1}, {Empty, 9}, {Mixed, 1}, {Empty, 73},
593    {Mixed, 1}, {Empty, 48}, {Mixed, 4}, {Empty, 70}, {Mixed, 2},
594    {Empty, 1}, {Mixed, 1}, {Empty, 1}, {Mixed, 1}, {Empty, 1}, {Mixed, 2},
595    {Empty, 4}, {Mixed, 1}, {Empty, 7}, {Mixed, 1}, {Empty, 3}, {Mixed, 2},
596    {Full, 1}, {Mixed, 1}, {Empty, 8}, {Mixed, 1}, {Empty, 4}, {Mixed, 1},
597    {Empty, 2}, {Mixed, 2}, {Empty, 2}, {Mixed, 2}, {Empty, 6}, {Mixed, 1},
598    {Empty, 2}, {Mixed, 2}, {Empty, 8}, {Full, 16}, {Empty, 41}, {Mixed, 1},
599    {Empty, 2}, {Mixed, 2}, {Empty, 1}, {Mixed, 1}, {Empty, 7}, {Mixed, 1},
600    {Empty, 2}, {Mixed, 1}, {Empty, 2}, {Mixed, 1}, {Empty, 911},
601    {Mixed, 2}, {Empty, 682}, {Mixed, 1}, {Full, 1}, {Mixed, 1},
602    {Empty, 27}, {Mixed, 2}, {Empty, 1}, {Mixed, 2}, {Empty, 6}, {Mixed, 2},
603    {Empty, 32772}};
604    const static UnicodeSet::bitquad_t  __v3_2_Set_quads[] = {
605    0x00000001, 0x00008000, 0x0000fff8, 0x03000000, 0x00400000, 0x00000c00,
606    0x00006660, 0x0000ffff, 0x0000c000, 0x00020000, 0x01800000, 0x001fdfff,
607    0x007fffff, 0x000fffff, 0x000ddfff, 0x8087c080, 0x0002000f, 0x00030000,
608    0x000007f0, 0xe0000000, 0x00000fff, 0xfff00000, 0xfffc0000, 0x10000000,
609    0xf8000000, 0x00007fff, 0x7ffff800, 0xffc00000, 0xff000000, 0x00c00000,
610    0x3ffc0000, 0x000003ff, 0x003fff00, 0xffff0000, 0xffff0fff, 0x38000000,
611    0x80600000, 0x00000001, 0x80000000, 0xffff0000, 0xfffe0000, 0xfffe0000,
612    0x0010000c, 0x00000022, 0xffff0000, 0x000007ff, 0x10000000, 0x0000ffff,
613    0x00000060, 0x00080000, 0x80000000, 0x00000001};
614    }
615
616    const static UnicodeSet v3_2_Set{const_cast<UnicodeSet::run_t *>(__v3_2_Set_runs), 75, 0, const_cast<UnicodeSet::bitquad_t *>(__v3_2_Set_quads), 52, 0};
617
618    /** Code Point Ranges for V4_0
619    [0221, 0221], [0234, 0236], [02ae, 02af], [02ef, 02ff], [0350, 0357],
620    [035d, 035f], [03f7, 03fb], [0600, 0603], [060d, 0615], [0656, 0658],
621    [06ee, 06ef], [06ff, 06ff], [072d, 072f], [074d, 074f], [0904, 0904],
622    [09bd, 09bd], [0a01, 0a01], [0a03, 0a03], [0a8c, 0a8c], [0ae1, 0ae3],
623    [0af1, 0af1], [0b35, 0b35], [0b71, 0b71], [0bf3, 0bfa], [0cbc, 0cbd],
624    [17dd, 17dd], [17f0, 17f9], [1900, 191c], [1920, 192b], [1930, 193b],
625    [1940, 1940], [1944, 196d], [1970, 1974], [19e0, 19ff], [1d00, 1d6b],
626    [2053, 2054], [213b, 213b], [23cf, 23d0], [24ff, 24ff], [2614, 2615],
627    [268a, 2691], [26a0, 26a1], [2b00, 2b0d], [321d, 321e], [3250, 3250],
628    [327c, 327d], [32cc, 32cf], [3377, 337a], [33de, 33df], [33ff, 33ff],
629    [4dc0, 4dff], [fdfd, fdfd], [fe47, fe48], [10000, 1000b],
630    [1000d, 10026], [10028, 1003a], [1003c, 1003d], [1003f, 1004d],
631    [10050, 1005d], [10080, 100fa], [10100, 10102], [10107, 10133],
632    [10137, 1013f], [10380, 1039d], [1039f, 1039f], [10426, 10427],
633    [1044e, 1049d], [104a0, 104a9], [10800, 10805], [10808, 10808],
634    [1080a, 10835], [10837, 10838], [1083c, 1083c], [1083f, 1083f],
635    [1d300, 1d356], [1d4c1, 1d4c1], [e0100, e01ef]**/
636
637
638    namespace {
639    const static UnicodeSet::run_t __v4_0_Set_runs[] = {
640    {Empty, 17}, {Mixed, 1}, {Empty, 3}, {Mixed, 1}, {Empty, 1}, {Mixed, 1},
641    {Empty, 2}, {Mixed, 1}, {Empty, 4}, {Mixed, 1}, {Empty, 16}, {Mixed, 1},
642    {Empty, 1}, {Mixed, 1}, {Empty, 4}, {Mixed, 1}, {Empty, 1}, {Mixed, 2},
643    {Empty, 13}, {Mixed, 1}, {Empty, 4}, {Mixed, 1}, {Empty, 2}, {Mixed, 1},
644    {Empty, 3}, {Mixed, 1}, {Empty, 2}, {Mixed, 1}, {Empty, 1}, {Mixed, 1},
645    {Empty, 1}, {Mixed, 1}, {Empty, 3}, {Mixed, 1}, {Empty, 5}, {Mixed, 1},
646    {Empty, 88}, {Mixed, 2}, {Empty, 8}, {Mixed, 4}, {Empty, 3}, {Full, 1},
647    {Empty, 24}, {Full, 3}, {Mixed, 1}, {Empty, 22}, {Mixed, 1}, {Empty, 6},
648    {Mixed, 1}, {Empty, 20}, {Mixed, 1}, {Empty, 8}, {Mixed, 1}, {Empty, 8},
649    {Mixed, 1}, {Empty, 3}, {Mixed, 2}, {Empty, 34}, {Mixed, 1},
650    {Empty, 55}, {Mixed, 1}, {Empty, 1}, {Mixed, 2}, {Empty, 2}, {Mixed, 1},
651    {Empty, 4}, {Mixed, 1}, {Empty, 2}, {Mixed, 2}, {Empty, 206}, {Full, 2},
652    {Empty, 1407}, {Mixed, 1}, {Empty, 2}, {Mixed, 1}, {Empty, 13},
653    {Mixed, 3}, {Empty, 1}, {Full, 3}, {Mixed, 3}, {Empty, 18}, {Mixed, 1},
654    {Empty, 4}, {Mixed, 2}, {Full, 1}, {Mixed, 2}, {Empty, 26}, {Mixed, 2},
655    {Empty, 1622}, {Full, 2}, {Mixed, 1}, {Empty, 11}, {Mixed, 1},
656    {Empty, 24929}, {Full, 7}, {Mixed, 1}, {Empty, 6128}};
657    const static UnicodeSet::bitquad_t  __v4_0_Set_quads[] = {
658    0x00700002, 0x0000c000, 0xffff8000, 0xe0ff0000, 0x0f800000, 0x003fe00f,
659    0x01c00000, 0x8000c000, 0x0000e000, 0x0000e000, 0x00000010, 0x20000000,
660    0x0000000a, 0x00001000, 0x0002000e, 0x00200000, 0x00020000, 0x07f80000,
661    0x30000000, 0x20000000, 0x03ff0000, 0x1fffffff, 0x0fff0fff, 0xfffffff1,
662    0x001f3fff, 0x00000fff, 0x00180000, 0x08000000, 0x00018000, 0x80000000,
663    0x00300000, 0x0003fc00, 0x00000003, 0x00003fff, 0x60000000, 0x00010000,
664    0x30000000, 0x0000f000, 0x07800000, 0xc0000000, 0x80000000, 0x20000000,
665    0x00000180, 0xffffefff, 0xb7ffff7f, 0x3fff3fff, 0x07ffffff, 0xffffff87,
666    0xff8fffff, 0xbfffffff, 0x000000c0, 0xffffc000, 0x3fffffff, 0x000003ff,
667    0xfffffd3f, 0x91bfffff, 0x007fffff, 0x00000002, 0x0000ffff};
668    }
669
670    const static UnicodeSet v4_0_Set{const_cast<UnicodeSet::run_t *>(__v4_0_Set_runs), 97, 0, const_cast<UnicodeSet::bitquad_t *>(__v4_0_Set_quads), 59, 0};
671
672    /** Code Point Ranges for V4_1
673    [0237, 0241], [0358, 035c], [03fc, 03ff], [04f6, 04f7], [05a2, 05a2],
674    [05c5, 05c7], [060b, 060b], [061e, 061e], [0659, 065e], [0750, 076d],
675    [097d, 097d], [09ce, 09ce], [0bb6, 0bb6], [0be6, 0be6], [0fd0, 0fd1],
676    [10f9, 10fa], [10fc, 10fc], [1207, 1207], [1247, 1247], [1287, 1287],
677    [12af, 12af], [12cf, 12cf], [12ef, 12ef], [130f, 130f], [131f, 131f],
678    [1347, 1347], [135f, 1360], [1380, 1399], [1980, 19a9], [19b0, 19c9],
679    [19d0, 19d9], [19de, 19df], [1a00, 1a1b], [1a1e, 1a1f], [1d6c, 1dc3],
680    [2055, 2056], [2058, 205e], [2090, 2094], [20b2, 20b5], [20eb, 20eb],
681    [213c, 213c], [214c, 214c], [23d1, 23db], [2618, 2618], [267e, 267f],
682    [2692, 269c], [26a2, 26b1], [27c0, 27c6], [2b0e, 2b13], [2c00, 2c2e],
683    [2c30, 2c5e], [2c80, 2cea], [2cf9, 2d25], [2d30, 2d65], [2d6f, 2d6f],
684    [2d80, 2d96], [2da0, 2da6], [2da8, 2dae], [2db0, 2db6], [2db8, 2dbe],
685    [2dc0, 2dc6], [2dc8, 2dce], [2dd0, 2dd6], [2dd8, 2dde], [2e00, 2e17],
686    [2e1c, 2e1d], [31c0, 31cf], [327e, 327e], [9fa6, 9fbb], [a700, a716],
687    [a800, a82b], [fa70, fad9], [fe10, fe19], [10140, 1018a],
688    [103a0, 103c3], [103c8, 103d5], [10a00, 10a03], [10a05, 10a06],
689    [10a0c, 10a13], [10a15, 10a17], [10a19, 10a33], [10a38, 10a3a],
690    [10a3f, 10a47], [10a50, 10a58], [1d200, 1d245], [1d6a4, 1d6a5]**/
691
692
693    namespace {
694    const static UnicodeSet::run_t __v4_1_Set_runs[] = {
695    {Empty, 17}, {Mixed, 2}, {Empty, 7}, {Mixed, 1}, {Empty, 4}, {Mixed, 1},
696    {Empty, 7}, {Mixed, 1}, {Empty, 5}, {Mixed, 2}, {Empty, 1}, {Mixed, 1},
697    {Empty, 1}, {Mixed, 1}, {Empty, 7}, {Mixed, 2}, {Empty, 15}, {Mixed, 1},
698    {Empty, 2}, {Mixed, 1}, {Empty, 14}, {Mixed, 1}, {Empty, 1}, {Mixed, 1},
699    {Empty, 30}, {Mixed, 1}, {Empty, 8}, {Mixed, 1}, {Empty, 8}, {Mixed, 1},
700    {Empty, 1}, {Mixed, 1}, {Empty, 1}, {Mixed, 5}, {Empty, 1}, {Mixed, 3},
701    {Empty, 47}, {Full, 1}, {Mixed, 2}, {Empty, 1}, {Mixed, 1}, {Empty, 26},
702    {Mixed, 1}, {Full, 2}, {Mixed, 1}, {Empty, 19}, {Mixed, 1}, {Empty, 1},
703    {Mixed, 2}, {Empty, 1}, {Mixed, 1}, {Empty, 1}, {Mixed, 2}, {Empty, 19},
704    {Mixed, 1}, {Empty, 17}, {Mixed, 1}, {Empty, 2}, {Mixed, 3}, {Empty, 8},
705    {Mixed, 1}, {Empty, 25}, {Mixed, 1}, {Empty, 7}, {Full, 1}, {Mixed, 2},
706    {Empty, 1}, {Full, 3}, {Mixed, 1}, {Full, 1}, {Mixed, 1}, {Full, 1},
707    {Mixed, 4}, {Empty, 1}, {Mixed, 1}, {Empty, 29}, {Mixed, 1}, {Empty, 4},
708    {Mixed, 1}, {Empty, 873}, {Mixed, 1}, {Empty, 58}, {Mixed, 1},
709    {Empty, 7}, {Full, 1}, {Mixed, 1}, {Empty, 657}, {Mixed, 1}, {Full, 2},
710    {Mixed, 1}, {Empty, 25}, {Mixed, 1}, {Empty, 25}, {Full, 2}, {Mixed, 1},
711    {Empty, 16}, {Full, 1}, {Mixed, 1}, {Empty, 49}, {Mixed, 3},
712    {Empty, 1597}, {Full, 2}, {Mixed, 1}, {Empty, 34}, {Mixed, 1},
713    {Empty, 31050}};
714    const static UnicodeSet::bitquad_t  __v4_1_Set_quads[] = {
715    0xff800000, 0x00000003, 0x1f000000, 0xf0000000, 0x00c00000, 0x00000004,
716    0x000000e0, 0x40000800, 0x7e000000, 0xffff0000, 0x00003fff, 0x20000000,
717    0x00004000, 0x00400000, 0x00000040, 0x00030000, 0x16000000, 0x00000080,
718    0x00000080, 0x00000080, 0x00008000, 0x00008000, 0x00008000, 0x80008000,
719    0x80000080, 0x00000001, 0x03ffffff, 0xffff03ff, 0xc3ff03ff, 0xcfffffff,
720    0xfffff000, 0x0000000f, 0x7f600000, 0x001f0000, 0x003c0000, 0x00000800,
721    0x10000000, 0x00001000, 0x0ffe0000, 0x01000000, 0xc0000000, 0x1ffc0000,
722    0x0003fffc, 0x0000007f, 0x000fc000, 0xffff7fff, 0x7fffffff, 0xfe0007ff,
723    0xffff003f, 0x0000803f, 0x007fffff, 0x7f7f7f7f, 0x7f7f7f7f, 0x30ffffff,
724    0x0000ffff, 0x40000000, 0x0fffffc0, 0x007fffff, 0x00000fff, 0xffff0000,
725    0x03ffffff, 0x03ff0000, 0x000007ff, 0x003fff0f, 0xfeeff06f, 0x870fffff,
726    0x01ff00ff, 0x0000003f, 0x00000030};
727    }
728
729    const static UnicodeSet v4_1_Set{const_cast<UnicodeSet::run_t *>(__v4_1_Set_runs), 106, 0, const_cast<UnicodeSet::bitquad_t *>(__v4_1_Set_quads), 69, 0};
730
731    /** Code Point Ranges for V5_0
732    [0242, 024f], [037b, 037d], [04cf, 04cf], [04fa, 04ff], [0510, 0513],
733    [05ba, 05ba], [07c0, 07fa], [097b, 097c], [097e, 097f], [0ce2, 0ce3],
734    [0cf1, 0cf2], [1b00, 1b4b], [1b50, 1b7c], [1dc4, 1dca], [1dfe, 1dff],
735    [20ec, 20ef], [214d, 214e], [2184, 2184], [23dc, 23e7], [26b2, 26b2],
736    [27c7, 27ca], [2b14, 2b1a], [2b20, 2b23], [2c60, 2c6c], [2c74, 2c77],
737    [a717, a71a], [a720, a721], [a840, a877], [10900, 10919],
738    [1091f, 1091f], [12000, 1236e], [12400, 12462], [12470, 12473],
739    [1d360, 1d371], [1d7ca, 1d7cb]**/
740
741
742    namespace {
743    const static UnicodeSet::run_t __v5_0_Set_runs[] = {
744    {Empty, 18}, {Mixed, 1}, {Empty, 8}, {Mixed, 1}, {Empty, 10},
745    {Mixed, 3}, {Empty, 4}, {Mixed, 1}, {Empty, 16}, {Full, 1}, {Mixed, 1},
746    {Empty, 11}, {Mixed, 1}, {Empty, 27}, {Mixed, 1}, {Empty, 112},
747    {Full, 2}, {Mixed, 2}, {Empty, 18}, {Mixed, 2}, {Empty, 23}, {Mixed, 1},
748    {Empty, 2}, {Mixed, 1}, {Empty, 1}, {Mixed, 1}, {Empty, 17}, {Mixed, 2},
749    {Empty, 21}, {Mixed, 1}, {Empty, 8}, {Mixed, 1}, {Empty, 25},
750    {Mixed, 2}, {Empty, 9}, {Mixed, 1}, {Empty, 980}, {Mixed, 2},
751    {Empty, 8}, {Full, 1}, {Mixed, 1}, {Empty, 772}, {Mixed, 1},
752    {Empty, 183}, {Full, 27}, {Mixed, 1}, {Empty, 4}, {Full, 3}, {Mixed, 1},
753    {Empty, 1399}, {Mixed, 1}, {Empty, 34}, {Mixed, 1}, {Empty, 31041}};
754    const static UnicodeSet::bitquad_t  __v5_0_Set_quads[] = {
755    0x0000fffc, 0x38000000, 0x00008000, 0xfc000000, 0x000f0000, 0x04000000,
756    0x07ffffff, 0xd8000000, 0x0006000c, 0xffff0fff, 0x1fffffff, 0x000007f0,
757    0xc0000000, 0x0000f000, 0x00006000, 0x00000010, 0xf0000000, 0x000000ff,
758    0x00040000, 0x00000780, 0x07f00000, 0x0000000f, 0x00f01fff, 0x07800000,
759    0x00000003, 0x00ffffff, 0x83ffffff, 0x00007fff, 0x000f0007, 0x0003ffff,
760    0x00000c00};
761    }
762
763    const static UnicodeSet v5_0_Set{const_cast<UnicodeSet::run_t *>(__v5_0_Set_runs), 54, 0, const_cast<UnicodeSet::bitquad_t *>(__v5_0_Set_quads), 31, 0};
764
765    /** Code Point Ranges for V5_1
766    [0370, 0373], [0376, 0377], [03cf, 03cf], [0487, 0487], [0514, 0523],
767    [0606, 060a], [0616, 061a], [063b, 063f], [076e, 077f], [0971, 0972],
768    [0a51, 0a51], [0a75, 0a75], [0b44, 0b44], [0b62, 0b63], [0bd0, 0bd0],
769    [0c3d, 0c3d], [0c58, 0c59], [0c62, 0c63], [0c78, 0c7f], [0d3d, 0d3d],
770    [0d44, 0d44], [0d62, 0d63], [0d70, 0d75], [0d79, 0d7f], [0f6b, 0f6c],
771    [0fce, 0fce], [0fd2, 0fd4], [1022, 1022], [1028, 1028], [102b, 102b],
772    [1033, 1035], [103a, 103f], [105a, 1099], [109e, 109f], [18aa, 18aa],
773    [1b80, 1baa], [1bae, 1bb9], [1c00, 1c37], [1c3b, 1c49], [1c4d, 1c7f],
774    [1dcb, 1de6], [1e9c, 1e9f], [1efa, 1eff], [2064, 2064], [20f0, 20f0],
775    [214f, 214f], [2185, 2188], [269d, 269d], [26b3, 26bc], [26c0, 26c3],
776    [27cc, 27cc], [27ec, 27ef], [2b1b, 2b1f], [2b24, 2b4c], [2b50, 2b54],
777    [2c6d, 2c6f], [2c71, 2c73], [2c78, 2c7d], [2de0, 2dff], [2e18, 2e1b],
778    [2e1e, 2e30], [312d, 312d], [31d0, 31e3], [9fbc, 9fc3], [a500, a62b],
779    [a640, a65f], [a662, a673], [a67c, a697], [a71b, a71f], [a722, a78c],
780    [a7fb, a7ff], [a880, a8c4], [a8ce, a8d9], [a900, a953], [a95f, a95f],
781    [aa00, aa36], [aa40, aa4d], [aa50, aa59], [aa5c, aa5f], [fe24, fe26],
782    [10190, 1019b], [101d0, 101fd], [10280, 1029c], [102a0, 102d0],
783    [10920, 10939], [1093f, 1093f], [1d129, 1d129], [1f000, 1f02b],
784    [1f030, 1f093]**/
785
786
787    namespace {
788    const static UnicodeSet::run_t __v5_1_Set_runs[] = {
789    {Empty, 27}, {Mixed, 1}, {Empty, 2}, {Mixed, 1}, {Empty, 5}, {Mixed, 1},
790    {Empty, 3}, {Mixed, 2}, {Empty, 6}, {Mixed, 2}, {Empty, 9}, {Mixed, 1},
791    {Empty, 15}, {Mixed, 1}, {Empty, 6}, {Mixed, 2}, {Empty, 6}, {Mixed, 2},
792    {Empty, 2}, {Mixed, 1}, {Empty, 2}, {Mixed, 3}, {Empty, 5}, {Mixed, 3},
793    {Empty, 15}, {Mixed, 1}, {Empty, 2}, {Mixed, 1}, {Empty, 2}, {Mixed, 2},
794    {Full, 1}, {Mixed, 1}, {Empty, 64}, {Mixed, 1}, {Empty, 22}, {Full, 1},
795    {Mixed, 1}, {Empty, 2}, {Full, 1}, {Mixed, 2}, {Full, 1}, {Empty, 10},
796    {Mixed, 2}, {Empty, 4}, {Mixed, 1}, {Empty, 2}, {Mixed, 1}, {Empty, 11},
797    {Mixed, 1}, {Empty, 3}, {Mixed, 1}, {Empty, 2}, {Mixed, 1}, {Empty, 1},
798    {Mixed, 1}, {Empty, 39}, {Mixed, 3}, {Empty, 7}, {Mixed, 2},
799    {Empty, 24}, {Mixed, 3}, {Empty, 8}, {Mixed, 1}, {Empty, 11}, {Full, 1},
800    {Mixed, 2}, {Empty, 23}, {Mixed, 1}, {Empty, 4}, {Mixed, 2},
801    {Empty, 877}, {Mixed, 2}, {Empty, 41}, {Full, 9}, {Mixed, 1}, {Full, 1},
802    {Mixed, 2}, {Empty, 3}, {Mixed, 2}, {Full, 2}, {Mixed, 1}, {Empty, 2},
803    {Mixed, 1}, {Empty, 4}, {Full, 2}, {Mixed, 1}, {Empty, 1}, {Full, 2},
804    {Mixed, 1}, {Empty, 5}, {Full, 1}, {Mixed, 2}, {Empty, 670}, {Mixed, 1},
805    {Empty, 26}, {Mixed, 1}, {Empty, 1}, {Mixed, 2}, {Empty, 4}, {Mixed, 1},
806    {Full, 1}, {Mixed, 1}, {Empty, 50}, {Mixed, 1}, {Empty, 1599},
807    {Mixed, 1}, {Empty, 246}, {Full, 1}, {Mixed, 1}, {Full, 2}, {Mixed, 1},
808    {Empty, 30843}};
809    const static UnicodeSet::bitquad_t  __v5_1_Set_quads[] = {
810    0x00cf0000, 0x00008000, 0x00000080, 0xfff00000, 0x0000000f, 0x07c007c0,
811    0xf8000000, 0xffffc000, 0x00060000, 0x00020000, 0x00200000, 0x00000010,
812    0x0000000c, 0x00010000, 0x20000000, 0x03000000, 0xff00000c, 0x20000000,
813    0x00000010, 0xfe3f000c, 0x00001800, 0x001c4000, 0xfc380904, 0xfc000000,
814    0xc3ffffff, 0x00000400, 0x03ffc7ff, 0xf8ffffff, 0xffffe3ff, 0xfffff800,
815    0x0000007f, 0xf0000000, 0xfc000000, 0x00000010, 0x00010000, 0x00008000,
816    0x000001e0, 0x20000000, 0x1ff80000, 0x0000000f, 0x00001000, 0x0000f000,
817    0xf8000000, 0xfffffff0, 0x001f1fff, 0x3f0ee000, 0xcf000000, 0x0001ffff,
818    0x00002000, 0xffff0000, 0x0000000f, 0xf0000000, 0x0000000f, 0x00000fff,
819    0xf00ffffc, 0x00ffffff, 0xf8000000, 0xfffffffc, 0x00001fff, 0xf8000000,
820    0x03ffc01f, 0x800fffff, 0x007fffff, 0xf3ff3fff, 0x00000070, 0x0fff0000,
821    0xffff0000, 0x3fffffff, 0x1fffffff, 0x0001ffff, 0x83ffffff, 0x00000200,
822    0xffff0fff, 0x000fffff};
823    }
824
825    const static UnicodeSet v5_1_Set{const_cast<UnicodeSet::run_t *>(__v5_1_Set_runs), 112, 0, const_cast<UnicodeSet::bitquad_t *>(__v5_1_Set_quads), 74, 0};
826
827    /** Code Point Ranges for V5_2
828    [0524, 0525], [0800, 082d], [0830, 083e], [0900, 0900], [094e, 094e],
829    [0955, 0955], [0979, 097a], [09fb, 09fb], [0fd5, 0fd8], [109a, 109d],
830    [115a, 115e], [11a3, 11a7], [11fa, 11ff], [1400, 1400], [1677, 167f],
831    [18b0, 18f5], [19aa, 19ab], [19da, 19da], [1a20, 1a5e], [1a60, 1a7c],
832    [1a7f, 1a89], [1a90, 1a99], [1aa0, 1aad], [1cd0, 1cf2], [1dfd, 1dfd],
833    [20b6, 20b8], [2150, 2152], [2189, 2189], [23e8, 23e8], [269e, 269f],
834    [26bd, 26bf], [26c4, 26cd], [26cf, 26e1], [26e3, 26e3], [26e8, 26ff],
835    [2757, 2757], [2b55, 2b59], [2c70, 2c70], [2c7e, 2c7f], [2ceb, 2cf1],
836    [2e31, 2e31], [3244, 324f], [9fc4, 9fcb], [a4d0, a4ff], [a6a0, a6f7],
837    [a830, a839], [a8e0, a8fb], [a960, a97c], [a980, a9cd], [a9cf, a9d9],
838    [a9de, a9df], [aa60, aa7b], [aa80, aac2], [aadb, aadf], [abc0, abed],
839    [abf0, abf9], [d7b0, d7c6], [d7cb, d7fb], [fa6b, fa6d], [10840, 10855],
840    [10857, 1085f], [1091a, 1091b], [10a60, 10a7f], [10b00, 10b35],
841    [10b39, 10b55], [10b58, 10b72], [10b78, 10b7f], [10c00, 10c48],
842    [10e60, 10e7e], [11080, 110c1], [13000, 1342e], [1f100, 1f10a],
843    [1f110, 1f12e], [1f131, 1f131], [1f13d, 1f13d], [1f13f, 1f13f],
844    [1f142, 1f142], [1f146, 1f146], [1f14a, 1f14e], [1f157, 1f157],
845    [1f15f, 1f15f], [1f179, 1f179], [1f17b, 1f17c], [1f17f, 1f17f],
846    [1f18a, 1f18d], [1f190, 1f190], [1f200, 1f200], [1f210, 1f231],
847    [1f240, 1f248], [2a700, 2b734]**/
848
849
850    namespace {
851    const static UnicodeSet::run_t __v5_2_Set_runs[] = {
852    {Empty, 41}, {Mixed, 1}, {Empty, 22}, {Full, 1}, {Mixed, 1}, {Empty, 6},
853    {Mixed, 1}, {Empty, 1}, {Mixed, 2}, {Empty, 3}, {Mixed, 1}, {Empty, 46},
854    {Mixed, 1}, {Empty, 5}, {Mixed, 1}, {Empty, 5}, {Mixed, 1}, {Empty, 2},
855    {Mixed, 1}, {Empty, 1}, {Mixed, 1}, {Empty, 16}, {Mixed, 1},
856    {Empty, 18}, {Mixed, 1}, {Empty, 17}, {Mixed, 1}, {Full, 1}, {Mixed, 1},
857    {Empty, 5}, {Mixed, 2}, {Empty, 2}, {Full, 1}, {Mixed, 4}, {Empty, 16},
858    {Mixed, 2}, {Empty, 7}, {Mixed, 1}, {Empty, 21}, {Mixed, 1}, {Empty, 4},
859    {Mixed, 1}, {Empty, 1}, {Mixed, 1}, {Empty, 18}, {Mixed, 1},
860    {Empty, 20}, {Mixed, 4}, {Empty, 2}, {Mixed, 1}, {Empty, 31},
861    {Mixed, 1}, {Empty, 8}, {Mixed, 1}, {Empty, 3}, {Mixed, 1}, {Empty, 9},
862    {Mixed, 1}, {Empty, 32}, {Mixed, 1}, {Empty, 875}, {Mixed, 1},
863    {Empty, 39}, {Mixed, 1}, {Full, 1}, {Empty, 13}, {Full, 2}, {Mixed, 1},
864    {Empty, 9}, {Mixed, 1}, {Empty, 5}, {Mixed, 1}, {Empty, 3}, {Mixed, 1},
865    {Full, 2}, {Mixed, 1}, {Empty, 4}, {Mixed, 1}, {Full, 2}, {Mixed, 1},
866    {Empty, 7}, {Full, 1}, {Mixed, 1}, {Empty, 349}, {Mixed, 3},
867    {Empty, 275}, {Mixed, 1}, {Empty, 110}, {Mixed, 1}, {Empty, 5},
868    {Mixed, 1}, {Empty, 10}, {Full, 1}, {Empty, 4}, {Full, 1}, {Mixed, 3},
869    {Empty, 4}, {Full, 2}, {Mixed, 1}, {Empty, 16}, {Mixed, 1}, {Empty, 16},
870    {Full, 2}, {Mixed, 1}, {Empty, 249}, {Full, 33}, {Mixed, 1},
871    {Empty, 1510}, {Mixed, 5}, {Empty, 3}, {Mixed, 3}, {Empty, 1445},
872    {Full, 129}, {Mixed, 1}, {Empty, 29254}};
873    const static UnicodeSet::bitquad_t  __v5_2_Set_quads[] = {
874    0x00000030, 0x7fff3fff, 0x00000001, 0x00204000, 0x06000000, 0x08000000,
875    0x01e00000, 0x3c000000, 0x7c000000, 0x000000f8, 0xfc000000, 0x00000001,
876    0xff800000, 0xffff0000, 0x003fffff, 0x00000c00, 0x04000000, 0x7fffffff,
877    0x9fffffff, 0x03ff03ff, 0x00003fff, 0xffff0000, 0x0007ffff, 0x20000000,
878    0x01c00000, 0x00070000, 0x00000200, 0x00000100, 0xc0000000, 0xe0000000,
879    0xffffbff0, 0xffffff0b, 0x00800000, 0x03e00000, 0xc0010000, 0x0003f800,
880    0x00020000, 0x0000fff0, 0x00000ff0, 0xffff0000, 0x00ffffff, 0x03ff0000,
881    0x0fffffff, 0x1fffffff, 0xc3ffbfff, 0x0fffffff, 0xf8000007, 0x03ff3fff,
882    0xffff0000, 0xfffff87f, 0x0fffffff, 0x00003800, 0xffbfffff, 0x0c000000,
883    0xfe3fffff, 0xff3fffff, 0xff07ffff, 0x000001ff, 0x7fffffff, 0x00000003,
884    0x00007fff, 0xffff07ff, 0xa0027fff, 0x80807c44, 0x9a000000, 0x00013c00,
885    0xffff0001, 0x0003ffff, 0x000001ff, 0x001fffff};
886    }
887
888    const static UnicodeSet v5_2_Set{const_cast<UnicodeSet::run_t *>(__v5_2_Set_runs), 115, 0, const_cast<UnicodeSet::bitquad_t *>(__v5_2_Set_quads), 70, 0};
889
890    /** Code Point Ranges for V6_0
891    [0526, 0527], [0620, 0620], [065f, 065f], [0840, 085b], [085e, 085e],
892    [093a, 093b], [094f, 094f], [0956, 0957], [0973, 0977], [0b72, 0b77],
893    [0d29, 0d29], [0d3a, 0d3a], [0d4e, 0d4e], [0f8c, 0f8f], [0fd9, 0fda],
894    [135d, 135e], [1bc0, 1bf3], [1bfc, 1bff], [1dfc, 1dfc], [2095, 209c],
895    [20b9, 20b9], [23e9, 23f3], [26ce, 26ce], [26e2, 26e2], [26e4, 26e7],
896    [2705, 2705], [270a, 270b], [2728, 2728], [274c, 274c], [274e, 274e],
897    [2753, 2755], [275f, 2760], [2795, 2797], [27b0, 27b0], [27bf, 27bf],
898    [27ce, 27cf], [2d70, 2d70], [2d7f, 2d7f], [31b8, 31ba], [a660, a661],
899    [a78d, a78e], [a790, a791], [a7a0, a7a9], [a7fa, a7fa], [ab01, ab06],
900    [ab09, ab0e], [ab11, ab16], [ab20, ab26], [ab28, ab2e], [fbb2, fbc1],
901    [11000, 1104d], [11052, 1106f], [16800, 16a38], [1b000, 1b001],
902    [1f0a0, 1f0ae], [1f0b1, 1f0be], [1f0c1, 1f0cf], [1f0d1, 1f0df],
903    [1f130, 1f130], [1f132, 1f13c], [1f13e, 1f13e], [1f140, 1f141],
904    [1f143, 1f145], [1f147, 1f149], [1f14f, 1f156], [1f158, 1f15e],
905    [1f160, 1f169], [1f170, 1f178], [1f17a, 1f17a], [1f17d, 1f17e],
906    [1f180, 1f189], [1f18e, 1f18f], [1f191, 1f19a], [1f1e6, 1f1ff],
907    [1f201, 1f202], [1f232, 1f23a], [1f250, 1f251], [1f300, 1f320],
908    [1f330, 1f335], [1f337, 1f37c], [1f380, 1f393], [1f3a0, 1f3c4],
909    [1f3c6, 1f3ca], [1f3e0, 1f3f0], [1f400, 1f43e], [1f440, 1f440],
910    [1f442, 1f4f7], [1f4f9, 1f4fc], [1f500, 1f53d], [1f550, 1f567],
911    [1f5fb, 1f5ff], [1f601, 1f610], [1f612, 1f614], [1f616, 1f616],
912    [1f618, 1f618], [1f61a, 1f61a], [1f61c, 1f61e], [1f620, 1f625],
913    [1f628, 1f62b], [1f62d, 1f62d], [1f630, 1f633], [1f635, 1f640],
914    [1f645, 1f64f], [1f680, 1f6c5], [1f700, 1f773], [2b740, 2b81d]**/
915
916
917    namespace {
918    const static UnicodeSet::run_t __v6_0_Set_runs[] = {
919    {Empty, 41}, {Mixed, 1}, {Empty, 7}, {Mixed, 2}, {Empty, 15},
920    {Mixed, 1}, {Empty, 6}, {Mixed, 3}, {Empty, 15}, {Mixed, 1},
921    {Empty, 13}, {Mixed, 2}, {Empty, 17}, {Mixed, 1}, {Empty, 1},
922    {Mixed, 1}, {Empty, 27}, {Mixed, 1}, {Empty, 67}, {Full, 1}, {Mixed, 1},
923    {Empty, 15}, {Mixed, 1}, {Empty, 20}, {Mixed, 2}, {Empty, 25},
924    {Mixed, 1}, {Empty, 22}, {Mixed, 9}, {Empty, 44}, {Mixed, 1},
925    {Empty, 33}, {Mixed, 1}, {Empty, 933}, {Mixed, 1}, {Empty, 8},
926    {Mixed, 2}, {Empty, 1}, {Mixed, 1}, {Empty, 24}, {Mixed, 2},
927    {Empty, 643}, {Mixed, 2}, {Empty, 161}, {Full, 2}, {Mixed, 2},
928    {Empty, 700}, {Full, 17}, {Mixed, 1}, {Empty, 558}, {Mixed, 1},
929    {Empty, 516}, {Mixed, 2}, {Empty, 2}, {Mixed, 4}, {Empty, 2},
930    {Mixed, 4}, {Empty, 5}, {Full, 1}, {Mixed, 1}, {Full, 1}, {Mixed, 2},
931    {Full, 1}, {Mixed, 2}, {Full, 1}, {Mixed, 2}, {Full, 4}, {Mixed, 1},
932    {Full, 1}, {Mixed, 3}, {Empty, 3}, {Mixed, 4}, {Empty, 1}, {Full, 2},
933    {Mixed, 1}, {Empty, 1}, {Full, 3}, {Mixed, 1}, {Empty, 1534}, {Full, 6},
934    {Mixed, 1}, {Empty, 29247}};
935    const static UnicodeSet::bitquad_t  __v6_0_Set_quads[] = {
936    0x000000c0, 0x00000001, 0x80000000, 0x4fffffff, 0x0c000000, 0x00c08000,
937    0x00f80000, 0x00fc0000, 0x04000200, 0x00004000, 0x0000f000, 0x06000000,
938    0x60000000, 0xf00fffff, 0x10000000, 0x1fe00000, 0x02000000, 0x000ffe00,
939    0x00004000, 0x000000f4, 0x00000c20, 0x00000100, 0x80385000, 0x00000001,
940    0x00e00000, 0x80010000, 0x0000c000, 0x80010000, 0x07000000, 0x00000003,
941    0x00036000, 0x000003ff, 0x04000000, 0x007e7e7e, 0x00007f7f, 0xfffc0000,
942    0x00000003, 0xfffc3fff, 0x0000ffff, 0x01ffffff, 0x00000003, 0x7ffe7fff,
943    0xfffefffe, 0x5ffd0000, 0x7f7f83bb, 0x65ff03ff, 0x07fec3ff, 0xffffffc0,
944    0x00000006, 0x07fc0000, 0x00030000, 0xffbf0001, 0x1fffffff, 0x000fffff,
945    0x000007df, 0x0001ffff, 0x7fffffff, 0xfffffffd, 0x1effffff, 0x3fffffff,
946    0xffff0000, 0x000000ff, 0xf8000000, 0x755dfffe, 0xffef2f3f, 0x0000ffe1,
947    0x0000003f, 0x000fffff, 0x3fffffff};
948    }
949
950    const static UnicodeSet v6_0_Set{const_cast<UnicodeSet::run_t *>(__v6_0_Set_runs), 82, 0, const_cast<UnicodeSet::bitquad_t *>(__v6_0_Set_quads), 69, 0};
951
952    /** Code Point Ranges for V6_1
953    [058f, 058f], [0604, 0604], [08a0, 08a0], [08a2, 08ac], [08e4, 08fe],
954    [0af0, 0af0], [0ede, 0edf], [10c7, 10c7], [10cd, 10cd], [10fd, 10ff],
955    [1bab, 1bad], [1bba, 1bbf], [1cc0, 1cc7], [1cf3, 1cf6], [27cb, 27cb],
956    [27cd, 27cd], [2cf2, 2cf3], [2d27, 2d27], [2d2d, 2d2d], [2d66, 2d67],
957    [2e32, 2e3b], [9fcc, 9fcc], [a674, a67b], [a69f, a69f], [a792, a793],
958    [a7aa, a7aa], [a7f8, a7f9], [aae0, aaf6], [fa2e, fa2f], [10980, 109b7],
959    [109be, 109bf], [110d0, 110e8], [110f0, 110f9], [11100, 11134],
960    [11136, 11143], [11180, 111c8], [111d0, 111d9], [11680, 116b7],
961    [116c0, 116c9], [16f00, 16f44], [16f50, 16f7e], [16f8f, 16f9f],
962    [1ee00, 1ee03], [1ee05, 1ee1f], [1ee21, 1ee22], [1ee24, 1ee24],
963    [1ee27, 1ee27], [1ee29, 1ee32], [1ee34, 1ee37], [1ee39, 1ee39],
964    [1ee3b, 1ee3b], [1ee42, 1ee42], [1ee47, 1ee47], [1ee49, 1ee49],
965    [1ee4b, 1ee4b], [1ee4d, 1ee4f], [1ee51, 1ee52], [1ee54, 1ee54],
966    [1ee57, 1ee57], [1ee59, 1ee59], [1ee5b, 1ee5b], [1ee5d, 1ee5d],
967    [1ee5f, 1ee5f], [1ee61, 1ee62], [1ee64, 1ee64], [1ee67, 1ee6a],
968    [1ee6c, 1ee72], [1ee74, 1ee77], [1ee79, 1ee7c], [1ee7e, 1ee7e],
969    [1ee80, 1ee89], [1ee8b, 1ee9b], [1eea1, 1eea3], [1eea5, 1eea9],
970    [1eeab, 1eebb], [1eef0, 1eef1], [1f16a, 1f16b], [1f540, 1f543],
971    [1f600, 1f600], [1f611, 1f611], [1f615, 1f615], [1f617, 1f617],
972    [1f619, 1f619], [1f61b, 1f61b], [1f61f, 1f61f], [1f626, 1f627],
973    [1f62c, 1f62c], [1f62e, 1f62f], [1f634, 1f634]**/
974
975
976    namespace {
977    const static UnicodeSet::run_t __v6_1_Set_runs[] = {
978    {Empty, 44}, {Mixed, 1}, {Empty, 3}, {Mixed, 1}, {Empty, 20},
979    {Mixed, 1}, {Empty, 1}, {Mixed, 1}, {Empty, 15}, {Mixed, 1},
980    {Empty, 30}, {Mixed, 1}, {Empty, 15}, {Mixed, 2}, {Empty, 85},
981    {Mixed, 1}, {Empty, 8}, {Mixed, 2}, {Empty, 86}, {Mixed, 1},
982    {Empty, 40}, {Mixed, 1}, {Empty, 1}, {Mixed, 1}, {Empty, 1}, {Mixed, 1},
983    {Empty, 5}, {Mixed, 1}, {Empty, 908}, {Mixed, 1}, {Empty, 52},
984    {Mixed, 2}, {Empty, 7}, {Mixed, 2}, {Empty, 1}, {Mixed, 1}, {Empty, 23},
985    {Mixed, 1}, {Empty, 633}, {Mixed, 1}, {Empty, 122}, {Full, 1},
986    {Mixed, 1}, {Empty, 56}, {Mixed, 2}, {Full, 1}, {Mixed, 2}, {Empty, 1},
987    {Full, 2}, {Mixed, 1}, {Empty, 37}, {Full, 1}, {Mixed, 2}, {Empty, 705},
988    {Full, 2}, {Mixed, 3}, {Empty, 1011}, {Mixed, 6}, {Empty, 1},
989    {Mixed, 1}, {Empty, 19}, {Mixed, 1}, {Empty, 30}, {Mixed, 1},
990    {Empty, 5}, {Mixed, 2}, {Empty, 30798}};
991    const static UnicodeSet::bitquad_t  __v6_1_Set_quads[] = {
992    0x00008000, 0x00000010, 0x00001ffd, 0x7ffffff0, 0x00010000, 0xc0000000,
993    0x00002080, 0xe0000000, 0xfc003800, 0x000000ff, 0x00780000, 0x00002800,
994    0x000c0000, 0x00002080, 0x000000c0, 0x0ffc0000, 0x00001000, 0x0ff00000,
995    0x80000000, 0x000c0000, 0x00000400, 0x03000000, 0x007fffff, 0x0000c000,
996    0xc0ffffff, 0xffff0000, 0x03ff01ff, 0xffdfffff, 0x0000000f, 0x03ff01ff,
997    0x00ffffff, 0x000003ff, 0xffff001f, 0x7fffffff, 0xffff8000, 0xffffffef,
998    0x0af7fe96, 0xaa96ea84, 0x5ef7f796, 0x0ffffbff, 0x0ffffbee, 0x00030000,
999    0x00000c00, 0x0000000f, 0x8aa20001, 0x0010d0c0};
1000    }
1001
1002    const static UnicodeSet v6_1_Set{const_cast<UnicodeSet::run_t *>(__v6_1_Set_runs), 67, 0, const_cast<UnicodeSet::bitquad_t *>(__v6_1_Set_quads), 46, 0};
1003
1004    /** Code Point Ranges for V6_2
1005    [20ba, 20ba]**/
1006
1007
1008    namespace {
1009    const static UnicodeSet::run_t __v6_2_Set_runs[] = {
1010    {Empty, 261}, {Mixed, 1}, {Empty, 34554}};
1011    const static UnicodeSet::bitquad_t  __v6_2_Set_quads[] = {
1012    0x04000000};
1013    }
1014
1015    const static UnicodeSet v6_2_Set{const_cast<UnicodeSet::run_t *>(__v6_2_Set_runs), 3, 0, const_cast<UnicodeSet::bitquad_t *>(__v6_2_Set_quads), 1, 0};
1016
1017    /** Code Point Ranges for V6_3
1018    [061c, 061c], [2066, 2069]**/
1019
1020
1021    namespace {
1022    const static UnicodeSet::run_t __v6_3_Set_runs[] = {
1023    {Empty, 48}, {Mixed, 1}, {Empty, 210}, {Mixed, 1}, {Empty, 34556}};
1024    const static UnicodeSet::bitquad_t  __v6_3_Set_quads[] = {
1025    0x10000000, 0x000003c0};
1026    }
1027
1028    const static UnicodeSet v6_3_Set{const_cast<UnicodeSet::run_t *>(__v6_3_Set_runs), 5, 0, const_cast<UnicodeSet::bitquad_t *>(__v6_3_Set_quads), 2, 0};
1029
1030    /** Code Point Ranges for V7_0
1031    [037f, 037f], [0528, 052f], [058d, 058e], [0605, 0605], [08a1, 08a1],
1032    [08ad, 08b2], [08ff, 08ff], [0978, 0978], [0980, 0980], [0c00, 0c00],
1033    [0c34, 0c34], [0c81, 0c81], [0d01, 0d01], [0de6, 0def], [16f1, 16f8],
1034    [191d, 191e], [1ab0, 1abe], [1cf8, 1cf9], [1de7, 1df5], [20bb, 20bd],
1035    [23f4, 23fa], [2700, 2700], [2b4d, 2b4f], [2b5a, 2b73], [2b76, 2b95],
1036    [2b98, 2bb9], [2bbd, 2bc8], [2bca, 2bd1], [2e3c, 2e42], [a698, a69d],
1037    [a794, a79f], [a7ab, a7ad], [a7b0, a7b1], [a7f7, a7f7], [a9e0, a9fe],
1038    [aa7c, aa7f], [ab30, ab5f], [ab64, ab65], [fe27, fe2d], [1018b, 1018c],
1039    [101a0, 101a0], [102e0, 102fb], [1031f, 1031f], [10350, 1037a],
1040    [10500, 10527], [10530, 10563], [1056f, 1056f], [10600, 10736],
1041    [10740, 10755], [10760, 10767], [10860, 1089e], [108a7, 108af],
1042    [10a80, 10a9f], [10ac0, 10ae6], [10aeb, 10af6], [10b80, 10b91],
1043    [10b99, 10b9c], [10ba9, 10baf], [1107f, 1107f], [11150, 11176],
1044    [111cd, 111cd], [111da, 111da], [111e1, 111f4], [11200, 11211],
1045    [11213, 1123d], [112b0, 112ea], [112f0, 112f9], [11301, 11303],
1046    [11305, 1130c], [1130f, 11310], [11313, 11328], [1132a, 11330],
1047    [11332, 11333], [11335, 11339], [1133c, 11344], [11347, 11348],
1048    [1134b, 1134d], [11357, 11357], [1135d, 11363], [11366, 1136c],
1049    [11370, 11374], [11480, 114c7], [114d0, 114d9], [11580, 115b5],
1050    [115b8, 115c9], [11600, 11644], [11650, 11659], [118a0, 118f2],
1051    [118ff, 118ff], [11ac0, 11af8], [1236f, 12398], [12463, 1246e],
1052    [12474, 12474], [16a40, 16a5e], [16a60, 16a69], [16a6e, 16a6f],
1053    [16ad0, 16aed], [16af0, 16af5], [16b00, 16b45], [16b50, 16b59],
1054    [16b5b, 16b61], [16b63, 16b77], [16b7d, 16b8f], [1bc00, 1bc6a],
1055    [1bc70, 1bc7c], [1bc80, 1bc88], [1bc90, 1bc99], [1bc9c, 1bca3],
1056    [1e800, 1e8c4], [1e8c7, 1e8d6], [1f0bf, 1f0bf], [1f0e0, 1f0f5],
1057    [1f10b, 1f10c], [1f321, 1f32c], [1f336, 1f336], [1f37d, 1f37d],
1058    [1f394, 1f39f], [1f3c5, 1f3c5], [1f3cb, 1f3ce], [1f3d4, 1f3df],
1059    [1f3f1, 1f3f7], [1f43f, 1f43f], [1f441, 1f441], [1f4f8, 1f4f8],
1060    [1f4fd, 1f4fe], [1f53e, 1f53f], [1f544, 1f54a], [1f568, 1f579],
1061    [1f57b, 1f5a3], [1f5a5, 1f5fa], [1f641, 1f642], [1f650, 1f67f],
1062    [1f6c6, 1f6cf], [1f6e0, 1f6ec], [1f6f0, 1f6f3], [1f780, 1f7d4],
1063    [1f800, 1f80b], [1f810, 1f847], [1f850, 1f859], [1f860, 1f887],
1064    [1f890, 1f8ad]**/
1065
1066
1067    namespace {
1068    const static UnicodeSet::run_t __v7_0_Set_runs[] = {
1069    {Empty, 27}, {Mixed, 1}, {Empty, 13}, {Mixed, 1}, {Empty, 2},
1070    {Mixed, 1}, {Empty, 3}, {Mixed, 1}, {Empty, 20}, {Mixed, 1}, {Empty, 1},
1071    {Mixed, 1}, {Empty, 3}, {Mixed, 2}, {Empty, 19}, {Mixed, 2}, {Empty, 2},
1072    {Mixed, 1}, {Empty, 3}, {Mixed, 1}, {Empty, 6}, {Mixed, 1}, {Empty, 71},
1073    {Mixed, 1}, {Empty, 16}, {Mixed, 1}, {Empty, 12}, {Mixed, 1},
1074    {Empty, 17}, {Mixed, 1}, {Empty, 7}, {Mixed, 1}, {Empty, 21},
1075    {Mixed, 1}, {Empty, 25}, {Mixed, 1}, {Empty, 24}, {Mixed, 1},
1076    {Empty, 33}, {Mixed, 5}, {Empty, 18}, {Mixed, 2}, {Empty, 961},
1077    {Mixed, 1}, {Empty, 7}, {Mixed, 2}, {Empty, 1}, {Mixed, 1}, {Empty, 15},
1078    {Mixed, 1}, {Empty, 3}, {Mixed, 1}, {Empty, 5}, {Mixed, 1}, {Full, 1},
1079    {Mixed, 1}, {Empty, 661}, {Mixed, 1}, {Empty, 26}, {Mixed, 2},
1080    {Empty, 9}, {Mixed, 2}, {Empty, 1}, {Mixed, 2}, {Empty, 12}, {Full, 1},
1081    {Mixed, 1}, {Full, 1}, {Mixed, 1}, {Empty, 4}, {Full, 9}, {Mixed, 3},
1082    {Empty, 7}, {Full, 1}, {Mixed, 2}, {Empty, 14}, {Full, 1}, {Empty, 1},
1083    {Full, 1}, {Mixed, 1}, {Empty, 4}, {Mixed, 2}, {Empty, 37}, {Mixed, 1},
1084    {Empty, 6}, {Mixed, 2}, {Empty, 2}, {Mixed, 4}, {Empty, 3}, {Mixed, 1},
1085    {Full, 1}, {Mixed, 5}, {Empty, 8}, {Full, 2}, {Mixed, 1}, {Empty, 5},
1086    {Full, 1}, {Mixed, 2}, {Empty, 1}, {Full, 2}, {Mixed, 1}, {Empty, 18},
1087    {Full, 2}, {Mixed, 1}, {Empty, 14}, {Full, 1}, {Mixed, 1}, {Empty, 67},
1088    {Mixed, 2}, {Empty, 6}, {Mixed, 1}, {Empty, 558}, {Mixed, 2},
1089    {Empty, 2}, {Mixed, 2}, {Full, 2}, {Mixed, 3}, {Empty, 643}, {Full, 3},
1090    {Mixed, 3}, {Empty, 346}, {Full, 6}, {Mixed, 1}, {Empty, 62},
1091    {Mixed, 1}, {Empty, 1}, {Mixed, 2}, {Empty, 16}, {Mixed, 1}, {Empty, 1},
1092    {Mixed, 2}, {Empty, 1}, {Mixed, 2}, {Empty, 1}, {Mixed, 2}, {Empty, 4},
1093    {Mixed, 1}, {Empty, 1}, {Mixed, 3}, {Full, 1}, {Mixed, 1}, {Full, 1},
1094    {Mixed, 1}, {Empty, 2}, {Mixed, 1}, {Full, 1}, {Empty, 2}, {Mixed, 2},
1095    {Empty, 4}, {Full, 2}, {Mixed, 1}, {Empty, 1}, {Mixed, 1}, {Full, 1},
1096    {Mixed, 1}, {Full, 1}, {Mixed, 2}, {Empty, 30778}};
1097    const static UnicodeSet::bitquad_t  __v7_0_Set_quads[] = {
1098    0x80000000, 0x0000ff00, 0x00006000, 0x00000020, 0x0007e002, 0x80000000,
1099    0x01000000, 0x00000001, 0x00000001, 0x00100000, 0x00000002, 0x00000002,
1100    0x0000ffc0, 0x01fe0000, 0x60000000, 0x7fff0000, 0x03000000, 0x003fff80,
1101    0x38000000, 0x07f00000, 0x00000001, 0xfc00e000, 0xffcfffff, 0xff3fffff,
1102    0xe3ffffff, 0x0003fdff, 0xf0000000, 0x00000007, 0x3f000000, 0xfff00000,
1103    0x00033800, 0x00800000, 0x7fffffff, 0xf0000000, 0xffff0000, 0x00000030,
1104    0x00003f80, 0x00001800, 0x00000001, 0x0fffffff, 0x80000000, 0xffff0000,
1105    0x07ffffff, 0xffff00ff, 0x0000800f, 0x007fffff, 0x003fffff, 0x000000ff,
1106    0x7fffffff, 0x0000ff80, 0x007ff87f, 0x1e03ffff, 0x0000fe00, 0x80000000,
1107    0xffff0000, 0x007fffff, 0x04002000, 0x001ffffe, 0xfffbffff, 0x3fffffff,
1108    0xffff0000, 0x03ff07ff, 0xfff99fee, 0xf3edfdff, 0xe080399f, 0x001f1fcf,
1109    0x03ff00ff, 0xff3fffff, 0x000003ff, 0x03ff001f, 0x8007ffff, 0x01ffffff,
1110    0xffff8000, 0x01ffffff, 0x00107ff8, 0x7fffffff, 0x0000c3ff, 0xffff0000,
1111    0x003f3fff, 0xfbff003f, 0xe0fffffb, 0x0000ffff, 0x1fff07ff, 0xf3ff01ff,
1112    0x0000000f, 0x007fff9f, 0x80000000, 0x003fffff, 0x00001800, 0x00401ffe,
1113    0x20000000, 0xfff00000, 0xfff07820, 0x00fe0000, 0x80000000, 0x00000002,
1114    0x61000000, 0xc0000000, 0x000007f0, 0xfbffff00, 0xffffffef, 0x07ffffff,
1115    0xffff0006, 0x0000ffc0, 0x000f1fff, 0x001fffff, 0xffff0fff, 0x03ff00ff,
1116    0xffff00ff, 0x00003fff};
1117    }
1118
1119    const static UnicodeSet v7_0_Set{const_cast<UnicodeSet::run_t *>(__v7_0_Set_runs), 158, 0, const_cast<UnicodeSet::bitquad_t *>(__v7_0_Set_quads), 110, 0};
1120
1121    /** Code Point Ranges for V8_0
1122    [08b3, 08b4], [08e3, 08e3], [0af9, 0af9], [0c5a, 0c5a], [0d5f, 0d5f],
1123    [13f5, 13f5], [13f8, 13fd], [20be, 20be], [218a, 218b], [2bec, 2bef],
1124    [9fcd, 9fd5], [a69e, a69e], [a78f, a78f], [a7b2, a7b7], [a8fc, a8fd],
1125    [ab60, ab63], [ab70, abbf], [fe2e, fe2f], [108e0, 108f2],
1126    [108f4, 108f5], [108fb, 108ff], [109bc, 109bd], [109c0, 109cf],
1127    [109d2, 109ff], [10c80, 10cb2], [10cc0, 10cf2], [10cfa, 10cff],
1128    [111c9, 111cc], [111db, 111df], [11280, 11286], [11288, 11288],
1129    [1128a, 1128d], [1128f, 1129d], [1129f, 112a9], [11300, 11300],
1130    [11350, 11350], [115ca, 115dd], [11700, 11719], [1171d, 1172b],
1131    [11730, 1173f], [12399, 12399], [12480, 12543], [14400, 14646],
1132    [1d1de, 1d1e8], [1d800, 1da8b], [1da9b, 1da9f], [1daa1, 1daaf],
1133    [1f32d, 1f32f], [1f37e, 1f37f], [1f3cf, 1f3d3], [1f3f8, 1f3ff],
1134    [1f4ff, 1f4ff], [1f54b, 1f54f], [1f643, 1f644], [1f6d0, 1f6d0],
1135    [1f910, 1f918], [1f980, 1f984], [1f9c0, 1f9c0], [2b820, 2cea1]**/
1136
1137
1138    namespace {
1139    const static UnicodeSet::run_t __v8_0_Set_runs[] = {
1140    {Empty, 69}, {Mixed, 1}, {Empty, 1}, {Mixed, 1}, {Empty, 15},
1141    {Mixed, 1}, {Empty, 10}, {Mixed, 1}, {Empty, 7}, {Mixed, 1},
1142    {Empty, 52}, {Mixed, 1}, {Empty, 101}, {Mixed, 1}, {Empty, 6},
1143    {Mixed, 1}, {Empty, 82}, {Mixed, 1}, {Empty, 926}, {Mixed, 1},
1144    {Empty, 53}, {Mixed, 1}, {Empty, 7}, {Mixed, 2}, {Empty, 9}, {Mixed, 1},
1145    {Empty, 19}, {Mixed, 1}, {Full, 2}, {Empty, 659}, {Mixed, 1},
1146    {Empty, 85}, {Mixed, 1}, {Empty, 5}, {Mixed, 2}, {Full, 1}, {Empty, 20},
1147    {Full, 1}, {Mixed, 1}, {Full, 1}, {Mixed, 1}, {Empty, 38}, {Mixed, 1},
1148    {Empty, 5}, {Mixed, 2}, {Empty, 2}, {Mixed, 1}, {Empty, 1}, {Mixed, 1},
1149    {Empty, 19}, {Mixed, 1}, {Empty, 9}, {Mixed, 2}, {Empty, 98},
1150    {Mixed, 1}, {Empty, 7}, {Full, 6}, {Mixed, 1}, {Empty, 245}, {Full, 18},
1151    {Mixed, 1}, {Empty, 1115}, {Mixed, 2}, {Empty, 48}, {Full, 20},
1152    {Mixed, 2}, {Empty, 195}, {Mixed, 1}, {Empty, 1}, {Mixed, 1},
1153    {Empty, 2}, {Mixed, 2}, {Empty, 7}, {Mixed, 1}, {Empty, 2}, {Mixed, 1},
1154    {Empty, 7}, {Mixed, 1}, {Empty, 3}, {Mixed, 1}, {Empty, 17}, {Mixed, 1},
1155    {Empty, 3}, {Mixed, 1}, {Empty, 1}, {Mixed, 1}, {Empty, 1522},
1156    {Full, 180}, {Mixed, 1}, {Empty, 29066}};
1157    const static UnicodeSet::bitquad_t  __v8_0_Set_quads[] = {
1158    0x00180000, 0x00000008, 0x02000000, 0x04000000, 0x80000000, 0x3f200000,
1159    0x40000000, 0x00000c00, 0x0000f000, 0x003fe000, 0x40000000, 0x00008000,
1160    0x00fc0000, 0x30000000, 0xffff000f, 0x0000c000, 0xf837ffff, 0x30000000,
1161    0xfffcffff, 0x0007ffff, 0xfc07ffff, 0xf8001e00, 0xbfffbd7f, 0x000003ff,
1162    0x00000001, 0x00010000, 0x3ffffc00, 0xe3ffffff, 0xffff0fff, 0x02000000,
1163    0x0000000f, 0x0000007f, 0xc0000000, 0x000001ff, 0xf8000fff, 0x0000fffe,
1164    0x0000e000, 0xc0000000, 0x000f8000, 0xff000000, 0x80000000, 0x0000f800,
1165    0x00000018, 0x00010000, 0x01ff0000, 0x0000001f, 0x00000001, 0x00000003};
1166    }
1167
1168    const static UnicodeSet v8_0_Set{const_cast<UnicodeSet::run_t *>(__v8_0_Set_runs), 90, 0, const_cast<UnicodeSet::bitquad_t *>(__v8_0_Set_quads), 48, 0};
1169
1170    /** Code Point Ranges for V9_0
1171    [08b6, 08bd], [08d4, 08e2], [0c80, 0c80], [0d4f, 0d4f], [0d54, 0d56],
1172    [0d58, 0d5e], [0d76, 0d78], [1c80, 1c88], [1dfb, 1dfb], [23fb, 23fe],
1173    [2e43, 2e44], [a7ae, a7ae], [a8c5, a8c5], [1018d, 1018e],
1174    [104b0, 104d3], [104d8, 104fb], [1123e, 1123e], [11400, 11459],
1175    [1145b, 1145b], [1145d, 1145d], [11660, 1166c], [11c00, 11c08],
1176    [11c0a, 11c36], [11c38, 11c45], [11c50, 11c6c], [11c70, 11c8f],
1177    [11c92, 11ca7], [11ca9, 11cb6], [16fe0, 16fe0], [17000, 187ec],
1178    [18800, 18af2], [1e000, 1e006], [1e008, 1e018], [1e01b, 1e021],
1179    [1e023, 1e024], [1e026, 1e02a], [1e900, 1e94a], [1e950, 1e959],
1180    [1e95e, 1e95f], [1f19b, 1f1ac], [1f23b, 1f23b], [1f57a, 1f57a],
1181    [1f5a4, 1f5a4], [1f6d1, 1f6d2], [1f6f4, 1f6f6], [1f919, 1f91e],
1182    [1f920, 1f927], [1f930, 1f930], [1f933, 1f93e], [1f940, 1f94b],
1183    [1f950, 1f95e], [1f985, 1f991]**/
1184
1185
1186    namespace {
1187    const static UnicodeSet::run_t __v9_0_Set_runs[] = {
1188    {Empty, 69}, {Mixed, 3}, {Empty, 28}, {Mixed, 1}, {Empty, 5},
1189    {Mixed, 2}, {Empty, 120}, {Mixed, 1}, {Empty, 10}, {Mixed, 1},
1190    {Empty, 47}, {Mixed, 1}, {Empty, 82}, {Mixed, 1}, {Empty, 970},
1191    {Mixed, 1}, {Empty, 8}, {Mixed, 1}, {Empty, 709}, {Mixed, 1},
1192    {Empty, 24}, {Mixed, 3}, {Empty, 105}, {Mixed, 1}, {Empty, 14},
1193    {Full, 2}, {Mixed, 1}, {Empty, 16}, {Mixed, 1}, {Empty, 44}, {Mixed, 6},
1194    {Empty, 665}, {Mixed, 1}, {Full, 191}, {Mixed, 1}, {Full, 23},
1195    {Mixed, 1}, {Empty, 680}, {Mixed, 2}, {Empty, 70}, {Full, 2},
1196    {Mixed, 1}, {Empty, 65}, {Mixed, 2}, {Empty, 3}, {Mixed, 1},
1197    {Empty, 25}, {Mixed, 1}, {Empty, 1}, {Mixed, 1}, {Empty, 8}, {Mixed, 2},
1198    {Empty, 16}, {Mixed, 3}, {Empty, 1}, {Mixed, 1}, {Empty, 30771}};
1199    const static UnicodeSet::bitquad_t  __v9_0_Set_quads[] = {
1200    0x3fc00000, 0xfff00000, 0x00000007, 0x00000001, 0x7f708000, 0x01c00000,
1201    0x000001ff, 0x08000000, 0x78000000, 0x00000018, 0x00004000, 0x00000020,
1202    0x00006000, 0xffff0000, 0xff0fffff, 0x0fffffff, 0x40000000, 0x2bffffff,
1203    0x00001fff, 0xfffffdff, 0xff7fffff, 0xffff003f, 0xffff1fff, 0xfffcffff,
1204    0x007ffeff, 0x00000001, 0x00001fff, 0x0007ffff, 0xf9ffff7f, 0x000007db,
1205    0xc3ff07ff, 0xf8000000, 0x00001fff, 0x08000000, 0x04000000, 0x00000010,
1206    0x00060000, 0x00700000, 0x7e000000, 0x7ff900ff, 0x7fff0fff, 0x0003ffe0};
1207    }
1208
1209    const static UnicodeSet v9_0_Set{const_cast<UnicodeSet::run_t *>(__v9_0_Set_runs), 57, 0, const_cast<UnicodeSet::bitquad_t *>(__v9_0_Set_quads), 42, 0};
1210
1211    /** Code Point Ranges for V10_0
1212    [0860, 086a], [09fc, 09fd], [0afa, 0aff], [0d00, 0d00], [0d3b, 0d3c],
1213    [1cf7, 1cf7], [1df6, 1df9], [20bf, 20bf], [23ff, 23ff], [2bd2, 2bd2],
1214    [2e45, 2e49], [312e, 312e], [9fd6, 9fea], [1032d, 1032f],
1215    [11a00, 11a47], [11a50, 11a83], [11a86, 11a9c], [11a9e, 11aa2],
1216    [11d00, 11d06], [11d08, 11d09], [11d0b, 11d36], [11d3a, 11d3a],
1217    [11d3c, 11d3d], [11d3f, 11d47], [11d50, 11d59], [16fe1, 16fe1],
1218    [1b002, 1b11e], [1b170, 1b2fb], [1f260, 1f265], [1f6d3, 1f6d4],
1219    [1f6f7, 1f6f8], [1f900, 1f90b], [1f91f, 1f91f], [1f928, 1f92f],
1220    [1f931, 1f932], [1f94c, 1f94c], [1f95f, 1f96b], [1f992, 1f997],
1221    [1f9d0, 1f9e6], [2ceb0, 2ebe0]**/
1222
1223
1224    namespace {
1225    const static UnicodeSet::run_t __v10_0_Set_runs[] = {
1226    {Empty, 67}, {Mixed, 1}, {Empty, 11}, {Mixed, 1}, {Empty, 7},
1227    {Mixed, 1}, {Empty, 16}, {Mixed, 2}, {Empty, 125}, {Mixed, 1},
1228    {Empty, 7}, {Mixed, 1}, {Empty, 21}, {Mixed, 1}, {Empty, 25},
1229    {Mixed, 1}, {Empty, 62}, {Mixed, 1}, {Empty, 19}, {Mixed, 1},
1230    {Empty, 22}, {Mixed, 1}, {Empty, 884}, {Mixed, 2}, {Empty, 793},
1231    {Mixed, 1}, {Empty, 182}, {Full, 2}, {Mixed, 1}, {Full, 1}, {Mixed, 2},
1232    {Empty, 18}, {Mixed, 3}, {Empty, 660}, {Mixed, 1}, {Empty, 512},
1233    {Mixed, 1}, {Full, 7}, {Mixed, 1}, {Empty, 2}, {Mixed, 1}, {Full, 11},
1234    {Mixed, 1}, {Empty, 507}, {Mixed, 1}, {Empty, 34}, {Mixed, 2},
1235    {Empty, 16}, {Mixed, 5}, {Empty, 1}, {Mixed, 2}, {Empty, 1701},
1236    {Mixed, 1}, {Full, 233}, {Mixed, 1}, {Empty, 28832}};
1237    const static UnicodeSet::bitquad_t  __v10_0_Set_quads[] = {
1238    0x000007ff, 0x30000000, 0xfc000000, 0x00000001, 0x18000000, 0x00800000,
1239    0x03c00000, 0x80000000, 0x80000000, 0x00040000, 0x000003e0, 0x00004000,
1240    0xffc00000, 0x000007ff, 0x0000e000, 0xffff00ff, 0xdfffffcf, 0x00000007,
1241    0xfffffb7f, 0xb47fffff, 0x03ff00ff, 0x00000002, 0xfffffffc, 0x7fffffff,
1242    0xffff0000, 0x0fffffff, 0x0000003f, 0x00180000, 0x01800000, 0x80000fff,
1243    0x0006ff00, 0x80001000, 0x00000fff, 0x00fc0000, 0xffff0000, 0x0000007f,
1244    0xffff0000, 0x00000001};
1245    }
1246
1247    const static UnicodeSet v10_0_Set{const_cast<UnicodeSet::run_t *>(__v10_0_Set_runs), 56, 0, const_cast<UnicodeSet::bitquad_t *>(__v10_0_Set_quads), 38, 0};
1248
1249    /** Code Point Ranges for V11_0
1250    [0560, 0560], [0588, 0588], [05ef, 05ef], [07fd, 07ff], [08d3, 08d3],
1251    [09fe, 09fe], [0a76, 0a76], [0c04, 0c04], [0c84, 0c84], [1878, 1878],
1252    [1c90, 1cba], [1cbd, 1cbf], [2bba, 2bbc], [2bd3, 2beb], [2bf0, 2bfe],
1253    [2e4a, 2e4e], [312f, 312f], [9feb, 9fef], [a7af, a7af], [a7b8, a7b9],
1254    [a8fe, a8ff], [10a34, 10a35], [10a48, 10a48], [10d00, 10d27],
1255    [10d30, 10d39], [10f00, 10f27], [10f30, 10f59], [110cd, 110cd],
1256    [11144, 11146], [1133b, 1133b], [1145e, 1145e], [1171a, 1171a],
1257    [11800, 1183b], [11a9d, 11a9d], [11d60, 11d65], [11d67, 11d68],
1258    [11d6a, 11d8e], [11d90, 11d91], [11d93, 11d98], [11da0, 11da9],
1259    [11ee0, 11ef8], [16e40, 16e9a], [187ed, 187f1], [1d2e0, 1d2f3],
1260    [1d372, 1d378], [1ec71, 1ecb4], [1f12f, 1f12f], [1f6f9, 1f6f9],
1261    [1f7d5, 1f7d8], [1f94d, 1f94f], [1f96c, 1f970], [1f973, 1f976],
1262    [1f97a, 1f97a], [1f97c, 1f97f], [1f998, 1f9a2], [1f9b0, 1f9b9],
1263    [1f9c1, 1f9c2], [1f9e7, 1f9ff], [1fa60, 1fa6d]**/
1264
1265
1266    namespace {
1267    const static UnicodeSet::run_t __v11_0_Set_runs[] = {
1268    {Empty, 43}, {Mixed, 2}, {Empty, 2}, {Mixed, 1}, {Empty, 15},
1269    {Mixed, 1}, {Empty, 6}, {Mixed, 1}, {Empty, 8}, {Mixed, 1}, {Empty, 3},
1270    {Mixed, 1}, {Empty, 12}, {Mixed, 1}, {Empty, 3}, {Mixed, 1},
1271    {Empty, 94}, {Mixed, 1}, {Empty, 32}, {Mixed, 2}, {Empty, 119},
1272    {Mixed, 3}, {Empty, 18}, {Mixed, 1}, {Empty, 22}, {Mixed, 1},
1273    {Empty, 885}, {Mixed, 1}, {Empty, 61}, {Mixed, 1}, {Empty, 9},
1274    {Mixed, 1}, {Empty, 777}, {Mixed, 2}, {Empty, 21}, {Full, 1},
1275    {Mixed, 1}, {Empty, 14}, {Full, 1}, {Mixed, 2}, {Empty, 11}, {Mixed, 1},
1276    {Empty, 3}, {Mixed, 1}, {Empty, 14}, {Mixed, 1}, {Empty, 8}, {Mixed, 1},
1277    {Empty, 21}, {Mixed, 1}, {Empty, 7}, {Full, 1}, {Mixed, 1}, {Empty, 18},
1278    {Mixed, 1}, {Empty, 22}, {Mixed, 3}, {Empty, 9}, {Mixed, 1},
1279    {Empty, 634}, {Full, 2}, {Mixed, 1}, {Empty, 202}, {Mixed, 1},
1280    {Empty, 599}, {Mixed, 1}, {Empty, 3}, {Mixed, 1}, {Empty, 199},
1281    {Mixed, 1}, {Full, 1}, {Mixed, 1}, {Empty, 35}, {Mixed, 1}, {Empty, 45},
1282    {Mixed, 1}, {Empty, 6}, {Mixed, 1}, {Empty, 11}, {Mixed, 6}, {Empty, 3},
1283    {Mixed, 1}, {Empty, 30764}};
1284    const static UnicodeSet::bitquad_t  __v11_0_Set_quads[] = {
1285    0x00000001, 0x00000100, 0x00008000, 0xe0000000, 0x00080000, 0x40000000,
1286    0x00400000, 0x00000010, 0x00000010, 0x01000000, 0xffff0000, 0xe7ffffff,
1287    0x1c000000, 0xfff80000, 0x7fff0fff, 0x00007c00, 0x00008000, 0x0000f800,
1288    0x03008000, 0xc0000000, 0x00300000, 0x00000100, 0x03ff00ff, 0xffff00ff,
1289    0x03ffffff, 0x00002000, 0x00000070, 0x08000000, 0x40000000, 0x04000000,
1290    0x0fffffff, 0x20000000, 0xfffffdbf, 0x01fb7fff, 0x000003ff, 0x01ffffff,
1291    0x07ffffff, 0x0003e000, 0x000fffff, 0x01fc0000, 0xfffe0000, 0x001fffff,
1292    0x00008000, 0x02000000, 0x01e00000, 0x0000e000, 0xf479f000, 0xff000000,
1293    0x03ff0007, 0x00000006, 0xffffff80, 0x00003fff};
1294    }
1295
1296    const static UnicodeSet v11_0_Set{const_cast<UnicodeSet::run_t *>(__v11_0_Set_runs), 83, 0, const_cast<UnicodeSet::bitquad_t *>(__v11_0_Set_quads), 52, 0};
1297
1298    static EnumeratedPropertyObject property_object
1299        {age,
1300        AGE_ns::independent_prop_values,
1301        std::move(AGE_ns::enum_names),
1302        std::move(AGE_ns::value_names),
1303        std::move(AGE_ns::aliases_only_map),{
1304        &unassigned_Set, &v1_1_Set, &v2_0_Set, &v2_1_Set, &v3_0_Set,
1305        &v3_1_Set, &v3_2_Set, &v4_0_Set, &v4_1_Set, &v5_0_Set, &v5_1_Set,
1306        &v5_2_Set, &v6_0_Set, &v6_1_Set, &v6_2_Set, &v6_3_Set, &v7_0_Set,
1307        &v8_0_Set, &v9_0_Set, &v10_0_Set, &v11_0_Set
1308        }};
1309    }
1310}
1311
1312#endif
Note: See TracBrowser for help on using the repository browser.