1
2// GENERATED BY make_unicode_casefold.py; DO NOT EDIT.
3// make_unicode_casefold.py >unicode_casefold.cc
4
5#include "re2/unicode_casefold.h"
6
7namespace re2 {
8
9
10// 1381 groups, 2792 pairs, 356 ranges
11const CaseFold unicode_casefold[] = {
12 { 65, 90, 32 },
13 { 97, 106, -32 },
14 { 107, 107, 8383 },
15 { 108, 114, -32 },
16 { 115, 115, 268 },
17 { 116, 122, -32 },
18 { 181, 181, 743 },
19 { 192, 214, 32 },
20 { 216, 222, 32 },
21 { 223, 223, 7615 },
22 { 224, 228, -32 },
23 { 229, 229, 8262 },
24 { 230, 246, -32 },
25 { 248, 254, -32 },
26 { 255, 255, 121 },
27 { 256, 303, EvenOdd },
28 { 306, 311, EvenOdd },
29 { 313, 328, OddEven },
30 { 330, 375, EvenOdd },
31 { 376, 376, -121 },
32 { 377, 382, OddEven },
33 { 383, 383, -300 },
34 { 384, 384, 195 },
35 { 385, 385, 210 },
36 { 386, 389, EvenOdd },
37 { 390, 390, 206 },
38 { 391, 392, OddEven },
39 { 393, 394, 205 },
40 { 395, 396, OddEven },
41 { 398, 398, 79 },
42 { 399, 399, 202 },
43 { 400, 400, 203 },
44 { 401, 402, OddEven },
45 { 403, 403, 205 },
46 { 404, 404, 207 },
47 { 405, 405, 97 },
48 { 406, 406, 211 },
49 { 407, 407, 209 },
50 { 408, 409, EvenOdd },
51 { 410, 410, 163 },
52 { 412, 412, 211 },
53 { 413, 413, 213 },
54 { 414, 414, 130 },
55 { 415, 415, 214 },
56 { 416, 421, EvenOdd },
57 { 422, 422, 218 },
58 { 423, 424, OddEven },
59 { 425, 425, 218 },
60 { 428, 429, EvenOdd },
61 { 430, 430, 218 },
62 { 431, 432, OddEven },
63 { 433, 434, 217 },
64 { 435, 438, OddEven },
65 { 439, 439, 219 },
66 { 440, 441, EvenOdd },
67 { 444, 445, EvenOdd },
68 { 447, 447, 56 },
69 { 452, 452, EvenOdd },
70 { 453, 453, OddEven },
71 { 454, 454, -2 },
72 { 455, 455, OddEven },
73 { 456, 456, EvenOdd },
74 { 457, 457, -2 },
75 { 458, 458, EvenOdd },
76 { 459, 459, OddEven },
77 { 460, 460, -2 },
78 { 461, 476, OddEven },
79 { 477, 477, -79 },
80 { 478, 495, EvenOdd },
81 { 497, 497, OddEven },
82 { 498, 498, EvenOdd },
83 { 499, 499, -2 },
84 { 500, 501, EvenOdd },
85 { 502, 502, -97 },
86 { 503, 503, -56 },
87 { 504, 543, EvenOdd },
88 { 544, 544, -130 },
89 { 546, 563, EvenOdd },
90 { 570, 570, 10795 },
91 { 571, 572, OddEven },
92 { 573, 573, -163 },
93 { 574, 574, 10792 },
94 { 575, 576, 10815 },
95 { 577, 578, OddEven },
96 { 579, 579, -195 },
97 { 580, 580, 69 },
98 { 581, 581, 71 },
99 { 582, 591, EvenOdd },
100 { 592, 592, 10783 },
101 { 593, 593, 10780 },
102 { 594, 594, 10782 },
103 { 595, 595, -210 },
104 { 596, 596, -206 },
105 { 598, 599, -205 },
106 { 601, 601, -202 },
107 { 603, 603, -203 },
108 { 604, 604, 42319 },
109 { 608, 608, -205 },
110 { 609, 609, 42315 },
111 { 611, 611, -207 },
112 { 613, 613, 42280 },
113 { 614, 614, 42308 },
114 { 616, 616, -209 },
115 { 617, 617, -211 },
116 { 618, 618, 42308 },
117 { 619, 619, 10743 },
118 { 620, 620, 42305 },
119 { 623, 623, -211 },
120 { 625, 625, 10749 },
121 { 626, 626, -213 },
122 { 629, 629, -214 },
123 { 637, 637, 10727 },
124 { 640, 640, -218 },
125 { 642, 642, 42307 },
126 { 643, 643, -218 },
127 { 647, 647, 42282 },
128 { 648, 648, -218 },
129 { 649, 649, -69 },
130 { 650, 651, -217 },
131 { 652, 652, -71 },
132 { 658, 658, -219 },
133 { 669, 669, 42261 },
134 { 670, 670, 42258 },
135 { 837, 837, 84 },
136 { 880, 883, EvenOdd },
137 { 886, 887, EvenOdd },
138 { 891, 893, 130 },
139 { 895, 895, 116 },
140 { 902, 902, 38 },
141 { 904, 906, 37 },
142 { 908, 908, 64 },
143 { 910, 911, 63 },
144 { 913, 929, 32 },
145 { 931, 931, 31 },
146 { 932, 939, 32 },
147 { 940, 940, -38 },
148 { 941, 943, -37 },
149 { 945, 945, -32 },
150 { 946, 946, 30 },
151 { 947, 948, -32 },
152 { 949, 949, 64 },
153 { 950, 951, -32 },
154 { 952, 952, 25 },
155 { 953, 953, 7173 },
156 { 954, 954, 54 },
157 { 955, 955, -32 },
158 { 956, 956, -775 },
159 { 957, 959, -32 },
160 { 960, 960, 22 },
161 { 961, 961, 48 },
162 { 962, 962, EvenOdd },
163 { 963, 965, -32 },
164 { 966, 966, 15 },
165 { 967, 968, -32 },
166 { 969, 969, 7517 },
167 { 970, 971, -32 },
168 { 972, 972, -64 },
169 { 973, 974, -63 },
170 { 975, 975, 8 },
171 { 976, 976, -62 },
172 { 977, 977, 35 },
173 { 981, 981, -47 },
174 { 982, 982, -54 },
175 { 983, 983, -8 },
176 { 984, 1007, EvenOdd },
177 { 1008, 1008, -86 },
178 { 1009, 1009, -80 },
179 { 1010, 1010, 7 },
180 { 1011, 1011, -116 },
181 { 1012, 1012, -92 },
182 { 1013, 1013, -96 },
183 { 1015, 1016, OddEven },
184 { 1017, 1017, -7 },
185 { 1018, 1019, EvenOdd },
186 { 1021, 1023, -130 },
187 { 1024, 1039, 80 },
188 { 1040, 1071, 32 },
189 { 1072, 1073, -32 },
190 { 1074, 1074, 6222 },
191 { 1075, 1075, -32 },
192 { 1076, 1076, 6221 },
193 { 1077, 1085, -32 },
194 { 1086, 1086, 6212 },
195 { 1087, 1088, -32 },
196 { 1089, 1090, 6210 },
197 { 1091, 1097, -32 },
198 { 1098, 1098, 6204 },
199 { 1099, 1103, -32 },
200 { 1104, 1119, -80 },
201 { 1120, 1122, EvenOdd },
202 { 1123, 1123, 6180 },
203 { 1124, 1153, EvenOdd },
204 { 1162, 1215, EvenOdd },
205 { 1216, 1216, 15 },
206 { 1217, 1230, OddEven },
207 { 1231, 1231, -15 },
208 { 1232, 1327, EvenOdd },
209 { 1329, 1366, 48 },
210 { 1377, 1414, -48 },
211 { 4256, 4293, 7264 },
212 { 4295, 4295, 7264 },
213 { 4301, 4301, 7264 },
214 { 4304, 4346, 3008 },
215 { 4349, 4351, 3008 },
216 { 5024, 5103, 38864 },
217 { 5104, 5109, 8 },
218 { 5112, 5117, -8 },
219 { 7296, 7296, -6254 },
220 { 7297, 7297, -6253 },
221 { 7298, 7298, -6244 },
222 { 7299, 7299, -6242 },
223 { 7300, 7300, EvenOdd },
224 { 7301, 7301, -6243 },
225 { 7302, 7302, -6236 },
226 { 7303, 7303, -6181 },
227 { 7304, 7304, 35266 },
228 { 7312, 7354, -3008 },
229 { 7357, 7359, -3008 },
230 { 7545, 7545, 35332 },
231 { 7549, 7549, 3814 },
232 { 7566, 7566, 35384 },
233 { 7680, 7776, EvenOdd },
234 { 7777, 7777, 58 },
235 { 7778, 7829, EvenOdd },
236 { 7835, 7835, -59 },
237 { 7838, 7838, -7615 },
238 { 7840, 7935, EvenOdd },
239 { 7936, 7943, 8 },
240 { 7944, 7951, -8 },
241 { 7952, 7957, 8 },
242 { 7960, 7965, -8 },
243 { 7968, 7975, 8 },
244 { 7976, 7983, -8 },
245 { 7984, 7991, 8 },
246 { 7992, 7999, -8 },
247 { 8000, 8005, 8 },
248 { 8008, 8013, -8 },
249 { 8017, 8017, 8 },
250 { 8019, 8019, 8 },
251 { 8021, 8021, 8 },
252 { 8023, 8023, 8 },
253 { 8025, 8025, -8 },
254 { 8027, 8027, -8 },
255 { 8029, 8029, -8 },
256 { 8031, 8031, -8 },
257 { 8032, 8039, 8 },
258 { 8040, 8047, -8 },
259 { 8048, 8049, 74 },
260 { 8050, 8053, 86 },
261 { 8054, 8055, 100 },
262 { 8056, 8057, 128 },
263 { 8058, 8059, 112 },
264 { 8060, 8061, 126 },
265 { 8064, 8071, 8 },
266 { 8072, 8079, -8 },
267 { 8080, 8087, 8 },
268 { 8088, 8095, -8 },
269 { 8096, 8103, 8 },
270 { 8104, 8111, -8 },
271 { 8112, 8113, 8 },
272 { 8115, 8115, 9 },
273 { 8120, 8121, -8 },
274 { 8122, 8123, -74 },
275 { 8124, 8124, -9 },
276 { 8126, 8126, -7289 },
277 { 8131, 8131, 9 },
278 { 8136, 8139, -86 },
279 { 8140, 8140, -9 },
280 { 8144, 8145, 8 },
281 { 8152, 8153, -8 },
282 { 8154, 8155, -100 },
283 { 8160, 8161, 8 },
284 { 8165, 8165, 7 },
285 { 8168, 8169, -8 },
286 { 8170, 8171, -112 },
287 { 8172, 8172, -7 },
288 { 8179, 8179, 9 },
289 { 8184, 8185, -128 },
290 { 8186, 8187, -126 },
291 { 8188, 8188, -9 },
292 { 8486, 8486, -7549 },
293 { 8490, 8490, -8415 },
294 { 8491, 8491, -8294 },
295 { 8498, 8498, 28 },
296 { 8526, 8526, -28 },
297 { 8544, 8559, 16 },
298 { 8560, 8575, -16 },
299 { 8579, 8580, OddEven },
300 { 9398, 9423, 26 },
301 { 9424, 9449, -26 },
302 { 11264, 11310, 48 },
303 { 11312, 11358, -48 },
304 { 11360, 11361, EvenOdd },
305 { 11362, 11362, -10743 },
306 { 11363, 11363, -3814 },
307 { 11364, 11364, -10727 },
308 { 11365, 11365, -10795 },
309 { 11366, 11366, -10792 },
310 { 11367, 11372, OddEven },
311 { 11373, 11373, -10780 },
312 { 11374, 11374, -10749 },
313 { 11375, 11375, -10783 },
314 { 11376, 11376, -10782 },
315 { 11378, 11379, EvenOdd },
316 { 11381, 11382, OddEven },
317 { 11390, 11391, -10815 },
318 { 11392, 11491, EvenOdd },
319 { 11499, 11502, OddEven },
320 { 11506, 11507, EvenOdd },
321 { 11520, 11557, -7264 },
322 { 11559, 11559, -7264 },
323 { 11565, 11565, -7264 },
324 { 42560, 42570, EvenOdd },
325 { 42571, 42571, -35267 },
326 { 42572, 42605, EvenOdd },
327 { 42624, 42651, EvenOdd },
328 { 42786, 42799, EvenOdd },
329 { 42802, 42863, EvenOdd },
330 { 42873, 42876, OddEven },
331 { 42877, 42877, -35332 },
332 { 42878, 42887, EvenOdd },
333 { 42891, 42892, OddEven },
334 { 42893, 42893, -42280 },
335 { 42896, 42899, EvenOdd },
336 { 42900, 42900, 48 },
337 { 42902, 42921, EvenOdd },
338 { 42922, 42922, -42308 },
339 { 42923, 42923, -42319 },
340 { 42924, 42924, -42315 },
341 { 42925, 42925, -42305 },
342 { 42926, 42926, -42308 },
343 { 42928, 42928, -42258 },
344 { 42929, 42929, -42282 },
345 { 42930, 42930, -42261 },
346 { 42931, 42931, 928 },
347 { 42932, 42943, EvenOdd },
348 { 42946, 42947, EvenOdd },
349 { 42948, 42948, -48 },
350 { 42949, 42949, -42307 },
351 { 42950, 42950, -35384 },
352 { 43859, 43859, -928 },
353 { 43888, 43967, -38864 },
354 { 65313, 65338, 32 },
355 { 65345, 65370, -32 },
356 { 66560, 66599, 40 },
357 { 66600, 66639, -40 },
358 { 66736, 66771, 40 },
359 { 66776, 66811, -40 },
360 { 68736, 68786, 64 },
361 { 68800, 68850, -64 },
362 { 71840, 71871, 32 },
363 { 71872, 71903, -32 },
364 { 93760, 93791, 32 },
365 { 93792, 93823, -32 },
366 { 125184, 125217, 34 },
367 { 125218, 125251, -34 },
368};
369const int num_unicode_casefold = 356;
370
371// 1381 groups, 1411 pairs, 198 ranges
372const CaseFold unicode_tolower[] = {
373 { 65, 90, 32 },
374 { 181, 181, 775 },
375 { 192, 214, 32 },
376 { 216, 222, 32 },
377 { 256, 302, EvenOddSkip },
378 { 306, 310, EvenOddSkip },
379 { 313, 327, OddEvenSkip },
380 { 330, 374, EvenOddSkip },
381 { 376, 376, -121 },
382 { 377, 381, OddEvenSkip },
383 { 383, 383, -268 },
384 { 385, 385, 210 },
385 { 386, 388, EvenOddSkip },
386 { 390, 390, 206 },
387 { 391, 391, OddEven },
388 { 393, 394, 205 },
389 { 395, 395, OddEven },
390 { 398, 398, 79 },
391 { 399, 399, 202 },
392 { 400, 400, 203 },
393 { 401, 401, OddEven },
394 { 403, 403, 205 },
395 { 404, 404, 207 },
396 { 406, 406, 211 },
397 { 407, 407, 209 },
398 { 408, 408, EvenOdd },
399 { 412, 412, 211 },
400 { 413, 413, 213 },
401 { 415, 415, 214 },
402 { 416, 420, EvenOddSkip },
403 { 422, 422, 218 },
404 { 423, 423, OddEven },
405 { 425, 425, 218 },
406 { 428, 428, EvenOdd },
407 { 430, 430, 218 },
408 { 431, 431, OddEven },
409 { 433, 434, 217 },
410 { 435, 437, OddEvenSkip },
411 { 439, 439, 219 },
412 { 440, 440, EvenOdd },
413 { 444, 444, EvenOdd },
414 { 452, 452, 2 },
415 { 453, 453, OddEven },
416 { 455, 455, 2 },
417 { 456, 456, EvenOdd },
418 { 458, 458, 2 },
419 { 459, 475, OddEvenSkip },
420 { 478, 494, EvenOddSkip },
421 { 497, 497, 2 },
422 { 498, 500, EvenOddSkip },
423 { 502, 502, -97 },
424 { 503, 503, -56 },
425 { 504, 542, EvenOddSkip },
426 { 544, 544, -130 },
427 { 546, 562, EvenOddSkip },
428 { 570, 570, 10795 },
429 { 571, 571, OddEven },
430 { 573, 573, -163 },
431 { 574, 574, 10792 },
432 { 577, 577, OddEven },
433 { 579, 579, -195 },
434 { 580, 580, 69 },
435 { 581, 581, 71 },
436 { 582, 590, EvenOddSkip },
437 { 837, 837, 116 },
438 { 880, 882, EvenOddSkip },
439 { 886, 886, EvenOdd },
440 { 895, 895, 116 },
441 { 902, 902, 38 },
442 { 904, 906, 37 },
443 { 908, 908, 64 },
444 { 910, 911, 63 },
445 { 913, 929, 32 },
446 { 931, 939, 32 },
447 { 962, 962, EvenOdd },
448 { 975, 975, 8 },
449 { 976, 976, -30 },
450 { 977, 977, -25 },
451 { 981, 981, -15 },
452 { 982, 982, -22 },
453 { 984, 1006, EvenOddSkip },
454 { 1008, 1008, -54 },
455 { 1009, 1009, -48 },
456 { 1012, 1012, -60 },
457 { 1013, 1013, -64 },
458 { 1015, 1015, OddEven },
459 { 1017, 1017, -7 },
460 { 1018, 1018, EvenOdd },
461 { 1021, 1023, -130 },
462 { 1024, 1039, 80 },
463 { 1040, 1071, 32 },
464 { 1120, 1152, EvenOddSkip },
465 { 1162, 1214, EvenOddSkip },
466 { 1216, 1216, 15 },
467 { 1217, 1229, OddEvenSkip },
468 { 1232, 1326, EvenOddSkip },
469 { 1329, 1366, 48 },
470 { 4256, 4293, 7264 },
471 { 4295, 4295, 7264 },
472 { 4301, 4301, 7264 },
473 { 5112, 5117, -8 },
474 { 7296, 7296, -6222 },
475 { 7297, 7297, -6221 },
476 { 7298, 7298, -6212 },
477 { 7299, 7300, -6210 },
478 { 7301, 7301, -6211 },
479 { 7302, 7302, -6204 },
480 { 7303, 7303, -6180 },
481 { 7304, 7304, 35267 },
482 { 7312, 7354, -3008 },
483 { 7357, 7359, -3008 },
484 { 7680, 7828, EvenOddSkip },
485 { 7835, 7835, -58 },
486 { 7838, 7838, -7615 },
487 { 7840, 7934, EvenOddSkip },
488 { 7944, 7951, -8 },
489 { 7960, 7965, -8 },
490 { 7976, 7983, -8 },
491 { 7992, 7999, -8 },
492 { 8008, 8013, -8 },
493 { 8025, 8025, -8 },
494 { 8027, 8027, -8 },
495 { 8029, 8029, -8 },
496 { 8031, 8031, -8 },
497 { 8040, 8047, -8 },
498 { 8072, 8079, -8 },
499 { 8088, 8095, -8 },
500 { 8104, 8111, -8 },
501 { 8120, 8121, -8 },
502 { 8122, 8123, -74 },
503 { 8124, 8124, -9 },
504 { 8126, 8126, -7173 },
505 { 8136, 8139, -86 },
506 { 8140, 8140, -9 },
507 { 8152, 8153, -8 },
508 { 8154, 8155, -100 },
509 { 8168, 8169, -8 },
510 { 8170, 8171, -112 },
511 { 8172, 8172, -7 },
512 { 8184, 8185, -128 },
513 { 8186, 8187, -126 },
514 { 8188, 8188, -9 },
515 { 8486, 8486, -7517 },
516 { 8490, 8490, -8383 },
517 { 8491, 8491, -8262 },
518 { 8498, 8498, 28 },
519 { 8544, 8559, 16 },
520 { 8579, 8579, OddEven },
521 { 9398, 9423, 26 },
522 { 11264, 11310, 48 },
523 { 11360, 11360, EvenOdd },
524 { 11362, 11362, -10743 },
525 { 11363, 11363, -3814 },
526 { 11364, 11364, -10727 },
527 { 11367, 11371, OddEvenSkip },
528 { 11373, 11373, -10780 },
529 { 11374, 11374, -10749 },
530 { 11375, 11375, -10783 },
531 { 11376, 11376, -10782 },
532 { 11378, 11378, EvenOdd },
533 { 11381, 11381, OddEven },
534 { 11390, 11391, -10815 },
535 { 11392, 11490, EvenOddSkip },
536 { 11499, 11501, OddEvenSkip },
537 { 11506, 11506, EvenOdd },
538 { 42560, 42604, EvenOddSkip },
539 { 42624, 42650, EvenOddSkip },
540 { 42786, 42798, EvenOddSkip },
541 { 42802, 42862, EvenOddSkip },
542 { 42873, 42875, OddEvenSkip },
543 { 42877, 42877, -35332 },
544 { 42878, 42886, EvenOddSkip },
545 { 42891, 42891, OddEven },
546 { 42893, 42893, -42280 },
547 { 42896, 42898, EvenOddSkip },
548 { 42902, 42920, EvenOddSkip },
549 { 42922, 42922, -42308 },
550 { 42923, 42923, -42319 },
551 { 42924, 42924, -42315 },
552 { 42925, 42925, -42305 },
553 { 42926, 42926, -42308 },
554 { 42928, 42928, -42258 },
555 { 42929, 42929, -42282 },
556 { 42930, 42930, -42261 },
557 { 42931, 42931, 928 },
558 { 42932, 42942, EvenOddSkip },
559 { 42946, 42946, EvenOdd },
560 { 42948, 42948, -48 },
561 { 42949, 42949, -42307 },
562 { 42950, 42950, -35384 },
563 { 43888, 43967, -38864 },
564 { 65313, 65338, 32 },
565 { 66560, 66599, 40 },
566 { 66736, 66771, 40 },
567 { 68736, 68786, 64 },
568 { 71840, 71871, 32 },
569 { 93760, 93791, 32 },
570 { 125184, 125217, 34 },
571};
572const int num_unicode_tolower = 198;
573
574
575
576} // namespace re2
577
578
579