1 /*
2 * ModSecurity for Apache 2.x, http://www.modsecurity.org/
3 * Copyright (c) 2004-2013 Trustwave Holdings, Inc. (http://www.trustwave.com/)
4 *
5 * You may not use this file except in compliance with
6 * the License.  You may obtain a copy of the License at
7 *
8 *     http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * If any of the files related to licensing are missing or if you have any
11 * other questions related to licensing please contact Trustwave Holdings, Inc.
12 * directly using the email address security@modsecurity.org.
13 */
14 
15 
16 #ifndef UTF8TABLES_H_
17 #define UTF8TABLES_H_
18 
19 /**
20  * This include file is used by acmp.c only; it's not included anywhere else.
21  */
22 
23 typedef long acmp_utf8_char_t;
24 
25 static const char utf8_seq_lengths[256] = {
26     1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,
27     1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,
28     1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,
29     1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,
30     1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,
31     1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,
32     1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,
33     1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,
34     1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,
35     1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,
36     1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,
37     1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,
38     2,2,2,2,2,2,2,2, 2,2,2,2,2,2,2,2,
39     2,2,2,2,2,2,2,2, 2,2,2,2,2,2,2,2,
40     3,3,3,3,3,3,3,3, 3,3,3,3,3,3,3,3,
41     4,4,4,4,4,4,4,4, 5,5,5,5,6,6,6,6,
42 };
43 
44 static const acmp_utf8_char_t utf8_offsets[6] = {
45     0x00000000UL, 0x00003080UL, 0x000E2080UL,
46     0x03C82080UL, 0xFA082080UL, 0x82082080UL
47 };
48 
49 /**
50  * How many element pairs are there in utf8_lcase_map
51  */
52 #define UTF8_LCASEMAP_LEN 759
53 
54 /**
55  * Table mapping is from PHP's mbstring extension, maps uppercase
56  */
57 static const acmp_utf8_char_t utf8_lcase_map[UTF8_LCASEMAP_LEN * 2] = {
58     0x00000061, 0x00000041,
59     0x00000062, 0x00000042,
60     0x00000063, 0x00000043,
61     0x00000064, 0x00000044,
62     0x00000065, 0x00000045,
63     0x00000066, 0x00000046,
64     0x00000067, 0x00000047,
65     0x00000068, 0x00000048,
66     0x00000069, 0x00000049,
67     0x0000006a, 0x0000004a,
68     0x0000006b, 0x0000004b,
69     0x0000006c, 0x0000004c,
70     0x0000006d, 0x0000004d,
71     0x0000006e, 0x0000004e,
72     0x0000006f, 0x0000004f,
73     0x00000070, 0x00000050,
74     0x00000071, 0x00000051,
75     0x00000072, 0x00000052,
76     0x00000073, 0x00000053,
77     0x00000074, 0x00000054,
78     0x00000075, 0x00000055,
79     0x00000076, 0x00000056,
80     0x00000077, 0x00000057,
81     0x00000078, 0x00000058,
82     0x00000079, 0x00000059,
83     0x0000007a, 0x0000005a,
84     0x000000b5, 0x0000039c,
85     0x000000e0, 0x000000c0,
86     0x000000e1, 0x000000c1,
87     0x000000e2, 0x000000c2,
88     0x000000e3, 0x000000c3,
89     0x000000e4, 0x000000c4,
90     0x000000e5, 0x000000c5,
91     0x000000e6, 0x000000c6,
92     0x000000e7, 0x000000c7,
93     0x000000e8, 0x000000c8,
94     0x000000e9, 0x000000c9,
95     0x000000ea, 0x000000ca,
96     0x000000eb, 0x000000cb,
97     0x000000ec, 0x000000cc,
98     0x000000ed, 0x000000cd,
99     0x000000ee, 0x000000ce,
100     0x000000ef, 0x000000cf,
101     0x000000f0, 0x000000d0,
102     0x000000f1, 0x000000d1,
103     0x000000f2, 0x000000d2,
104     0x000000f3, 0x000000d3,
105     0x000000f4, 0x000000d4,
106     0x000000f5, 0x000000d5,
107     0x000000f6, 0x000000d6,
108     0x000000f8, 0x000000d8,
109     0x000000f9, 0x000000d9,
110     0x000000fa, 0x000000da,
111     0x000000fb, 0x000000db,
112     0x000000fc, 0x000000dc,
113     0x000000fd, 0x000000dd,
114     0x000000fe, 0x000000de,
115     0x000000ff, 0x00000178,
116     0x00000101, 0x00000100,
117     0x00000103, 0x00000102,
118     0x00000105, 0x00000104,
119     0x00000107, 0x00000106,
120     0x00000109, 0x00000108,
121     0x0000010b, 0x0000010a,
122     0x0000010d, 0x0000010c,
123     0x0000010f, 0x0000010e,
124     0x00000111, 0x00000110,
125     0x00000113, 0x00000112,
126     0x00000115, 0x00000114,
127     0x00000117, 0x00000116,
128     0x00000119, 0x00000118,
129     0x0000011b, 0x0000011a,
130     0x0000011d, 0x0000011c,
131     0x0000011f, 0x0000011e,
132     0x00000121, 0x00000120,
133     0x00000123, 0x00000122,
134     0x00000125, 0x00000124,
135     0x00000127, 0x00000126,
136     0x00000129, 0x00000128,
137     0x0000012b, 0x0000012a,
138     0x0000012d, 0x0000012c,
139     0x0000012f, 0x0000012e,
140     0x00000131, 0x00000049,
141     0x00000133, 0x00000132,
142     0x00000135, 0x00000134,
143     0x00000137, 0x00000136,
144     0x0000013a, 0x00000139,
145     0x0000013c, 0x0000013b,
146     0x0000013e, 0x0000013d,
147     0x00000140, 0x0000013f,
148     0x00000142, 0x00000141,
149     0x00000144, 0x00000143,
150     0x00000146, 0x00000145,
151     0x00000148, 0x00000147,
152     0x0000014b, 0x0000014a,
153     0x0000014d, 0x0000014c,
154     0x0000014f, 0x0000014e,
155     0x00000151, 0x00000150,
156     0x00000153, 0x00000152,
157     0x00000155, 0x00000154,
158     0x00000157, 0x00000156,
159     0x00000159, 0x00000158,
160     0x0000015b, 0x0000015a,
161     0x0000015d, 0x0000015c,
162     0x0000015f, 0x0000015e,
163     0x00000161, 0x00000160,
164     0x00000163, 0x00000162,
165     0x00000165, 0x00000164,
166     0x00000167, 0x00000166,
167     0x00000169, 0x00000168,
168     0x0000016b, 0x0000016a,
169     0x0000016d, 0x0000016c,
170     0x0000016f, 0x0000016e,
171     0x00000171, 0x00000170,
172     0x00000173, 0x00000172,
173     0x00000175, 0x00000174,
174     0x00000177, 0x00000176,
175     0x0000017a, 0x00000179,
176     0x0000017c, 0x0000017b,
177     0x0000017e, 0x0000017d,
178     0x0000017f, 0x00000053,
179     0x00000183, 0x00000182,
180     0x00000185, 0x00000184,
181     0x00000188, 0x00000187,
182     0x0000018c, 0x0000018b,
183     0x00000192, 0x00000191,
184     0x00000195, 0x000001f6,
185     0x00000199, 0x00000198,
186     0x0000019e, 0x00000220,
187     0x000001a1, 0x000001a0,
188     0x000001a3, 0x000001a2,
189     0x000001a5, 0x000001a4,
190     0x000001a8, 0x000001a7,
191     0x000001ad, 0x000001ac,
192     0x000001b0, 0x000001af,
193     0x000001b4, 0x000001b3,
194     0x000001b6, 0x000001b5,
195     0x000001b9, 0x000001b8,
196     0x000001bd, 0x000001bc,
197     0x000001bf, 0x000001f7,
198     0x000001c6, 0x000001c4,
199     0x000001c9, 0x000001c7,
200     0x000001cc, 0x000001ca,
201     0x000001ce, 0x000001cd,
202     0x000001d0, 0x000001cf,
203     0x000001d2, 0x000001d1,
204     0x000001d4, 0x000001d3,
205     0x000001d6, 0x000001d5,
206     0x000001d8, 0x000001d7,
207     0x000001da, 0x000001d9,
208     0x000001dc, 0x000001db,
209     0x000001dd, 0x0000018e,
210     0x000001df, 0x000001de,
211     0x000001e1, 0x000001e0,
212     0x000001e3, 0x000001e2,
213     0x000001e5, 0x000001e4,
214     0x000001e7, 0x000001e6,
215     0x000001e9, 0x000001e8,
216     0x000001eb, 0x000001ea,
217     0x000001ed, 0x000001ec,
218     0x000001ef, 0x000001ee,
219     0x000001f3, 0x000001f1,
220     0x000001f5, 0x000001f4,
221     0x000001f9, 0x000001f8,
222     0x000001fb, 0x000001fa,
223     0x000001fd, 0x000001fc,
224     0x000001ff, 0x000001fe,
225     0x00000201, 0x00000200,
226     0x00000203, 0x00000202,
227     0x00000205, 0x00000204,
228     0x00000207, 0x00000206,
229     0x00000209, 0x00000208,
230     0x0000020b, 0x0000020a,
231     0x0000020d, 0x0000020c,
232     0x0000020f, 0x0000020e,
233     0x00000211, 0x00000210,
234     0x00000213, 0x00000212,
235     0x00000215, 0x00000214,
236     0x00000217, 0x00000216,
237     0x00000219, 0x00000218,
238     0x0000021b, 0x0000021a,
239     0x0000021d, 0x0000021c,
240     0x0000021f, 0x0000021e,
241     0x00000223, 0x00000222,
242     0x00000225, 0x00000224,
243     0x00000227, 0x00000226,
244     0x00000229, 0x00000228,
245     0x0000022b, 0x0000022a,
246     0x0000022d, 0x0000022c,
247     0x0000022f, 0x0000022e,
248     0x00000231, 0x00000230,
249     0x00000233, 0x00000232,
250     0x00000253, 0x00000181,
251     0x00000254, 0x00000186,
252     0x00000256, 0x00000189,
253     0x00000257, 0x0000018a,
254     0x00000259, 0x0000018f,
255     0x0000025b, 0x00000190,
256     0x00000260, 0x00000193,
257     0x00000263, 0x00000194,
258     0x00000268, 0x00000197,
259     0x00000269, 0x00000196,
260     0x0000026f, 0x0000019c,
261     0x00000272, 0x0000019d,
262     0x00000275, 0x0000019f,
263     0x00000280, 0x000001a6,
264     0x00000283, 0x000001a9,
265     0x00000288, 0x000001ae,
266     0x0000028a, 0x000001b1,
267     0x0000028b, 0x000001b2,
268     0x00000292, 0x000001b7,
269     0x00000345, 0x00000399,
270     0x000003ac, 0x00000386,
271     0x000003ad, 0x00000388,
272     0x000003ae, 0x00000389,
273     0x000003af, 0x0000038a,
274     0x000003b1, 0x00000391,
275     0x000003b2, 0x00000392,
276     0x000003b3, 0x00000393,
277     0x000003b4, 0x00000394,
278     0x000003b5, 0x00000395,
279     0x000003b6, 0x00000396,
280     0x000003b7, 0x00000397,
281     0x000003b8, 0x00000398,
282     0x000003b9, 0x00000399,
283     0x000003ba, 0x0000039a,
284     0x000003bb, 0x0000039b,
285     0x000003bc, 0x0000039c,
286     0x000003bd, 0x0000039d,
287     0x000003be, 0x0000039e,
288     0x000003bf, 0x0000039f,
289     0x000003c0, 0x000003a0,
290     0x000003c1, 0x000003a1,
291     0x000003c2, 0x000003a3,
292     0x000003c3, 0x000003a3,
293     0x000003c4, 0x000003a4,
294     0x000003c5, 0x000003a5,
295     0x000003c6, 0x000003a6,
296     0x000003c7, 0x000003a7,
297     0x000003c8, 0x000003a8,
298     0x000003c9, 0x000003a9,
299     0x000003ca, 0x000003aa,
300     0x000003cb, 0x000003ab,
301     0x000003cc, 0x0000038c,
302     0x000003cd, 0x0000038e,
303     0x000003ce, 0x0000038f,
304     0x000003d0, 0x00000392,
305     0x000003d1, 0x00000398,
306     0x000003d5, 0x000003a6,
307     0x000003d6, 0x000003a0,
308     0x000003d9, 0x000003d8,
309     0x000003db, 0x000003da,
310     0x000003dd, 0x000003dc,
311     0x000003df, 0x000003de,
312     0x000003e1, 0x000003e0,
313     0x000003e3, 0x000003e2,
314     0x000003e5, 0x000003e4,
315     0x000003e7, 0x000003e6,
316     0x000003e9, 0x000003e8,
317     0x000003eb, 0x000003ea,
318     0x000003ed, 0x000003ec,
319     0x000003ef, 0x000003ee,
320     0x000003f0, 0x0000039a,
321     0x000003f1, 0x000003a1,
322     0x000003f2, 0x000003a3,
323     0x000003f5, 0x00000395,
324     0x00000430, 0x00000410,
325     0x00000431, 0x00000411,
326     0x00000432, 0x00000412,
327     0x00000433, 0x00000413,
328     0x00000434, 0x00000414,
329     0x00000435, 0x00000415,
330     0x00000436, 0x00000416,
331     0x00000437, 0x00000417,
332     0x00000438, 0x00000418,
333     0x00000439, 0x00000419,
334     0x0000043a, 0x0000041a,
335     0x0000043b, 0x0000041b,
336     0x0000043c, 0x0000041c,
337     0x0000043d, 0x0000041d,
338     0x0000043e, 0x0000041e,
339     0x0000043f, 0x0000041f,
340     0x00000440, 0x00000420,
341     0x00000441, 0x00000421,
342     0x00000442, 0x00000422,
343     0x00000443, 0x00000423,
344     0x00000444, 0x00000424,
345     0x00000445, 0x00000425,
346     0x00000446, 0x00000426,
347     0x00000447, 0x00000427,
348     0x00000448, 0x00000428,
349     0x00000449, 0x00000429,
350     0x0000044a, 0x0000042a,
351     0x0000044b, 0x0000042b,
352     0x0000044c, 0x0000042c,
353     0x0000044d, 0x0000042d,
354     0x0000044e, 0x0000042e,
355     0x0000044f, 0x0000042f,
356     0x00000450, 0x00000400,
357     0x00000451, 0x00000401,
358     0x00000452, 0x00000402,
359     0x00000453, 0x00000403,
360     0x00000454, 0x00000404,
361     0x00000455, 0x00000405,
362     0x00000456, 0x00000406,
363     0x00000457, 0x00000407,
364     0x00000458, 0x00000408,
365     0x00000459, 0x00000409,
366     0x0000045a, 0x0000040a,
367     0x0000045b, 0x0000040b,
368     0x0000045c, 0x0000040c,
369     0x0000045d, 0x0000040d,
370     0x0000045e, 0x0000040e,
371     0x0000045f, 0x0000040f,
372     0x00000461, 0x00000460,
373     0x00000463, 0x00000462,
374     0x00000465, 0x00000464,
375     0x00000467, 0x00000466,
376     0x00000469, 0x00000468,
377     0x0000046b, 0x0000046a,
378     0x0000046d, 0x0000046c,
379     0x0000046f, 0x0000046e,
380     0x00000471, 0x00000470,
381     0x00000473, 0x00000472,
382     0x00000475, 0x00000474,
383     0x00000477, 0x00000476,
384     0x00000479, 0x00000478,
385     0x0000047b, 0x0000047a,
386     0x0000047d, 0x0000047c,
387     0x0000047f, 0x0000047e,
388     0x00000481, 0x00000480,
389     0x0000048b, 0x0000048a,
390     0x0000048d, 0x0000048c,
391     0x0000048f, 0x0000048e,
392     0x00000491, 0x00000490,
393     0x00000493, 0x00000492,
394     0x00000495, 0x00000494,
395     0x00000497, 0x00000496,
396     0x00000499, 0x00000498,
397     0x0000049b, 0x0000049a,
398     0x0000049d, 0x0000049c,
399     0x0000049f, 0x0000049e,
400     0x000004a1, 0x000004a0,
401     0x000004a3, 0x000004a2,
402     0x000004a5, 0x000004a4,
403     0x000004a7, 0x000004a6,
404     0x000004a9, 0x000004a8,
405     0x000004ab, 0x000004aa,
406     0x000004ad, 0x000004ac,
407     0x000004af, 0x000004ae,
408     0x000004b1, 0x000004b0,
409     0x000004b3, 0x000004b2,
410     0x000004b5, 0x000004b4,
411     0x000004b7, 0x000004b6,
412     0x000004b9, 0x000004b8,
413     0x000004bb, 0x000004ba,
414     0x000004bd, 0x000004bc,
415     0x000004bf, 0x000004be,
416     0x000004c2, 0x000004c1,
417     0x000004c4, 0x000004c3,
418     0x000004c6, 0x000004c5,
419     0x000004c8, 0x000004c7,
420     0x000004ca, 0x000004c9,
421     0x000004cc, 0x000004cb,
422     0x000004ce, 0x000004cd,
423     0x000004d1, 0x000004d0,
424     0x000004d3, 0x000004d2,
425     0x000004d5, 0x000004d4,
426     0x000004d7, 0x000004d6,
427     0x000004d9, 0x000004d8,
428     0x000004db, 0x000004da,
429     0x000004dd, 0x000004dc,
430     0x000004df, 0x000004de,
431     0x000004e1, 0x000004e0,
432     0x000004e3, 0x000004e2,
433     0x000004e5, 0x000004e4,
434     0x000004e7, 0x000004e6,
435     0x000004e9, 0x000004e8,
436     0x000004eb, 0x000004ea,
437     0x000004ed, 0x000004ec,
438     0x000004ef, 0x000004ee,
439     0x000004f1, 0x000004f0,
440     0x000004f3, 0x000004f2,
441     0x000004f5, 0x000004f4,
442     0x000004f9, 0x000004f8,
443     0x00000501, 0x00000500,
444     0x00000503, 0x00000502,
445     0x00000505, 0x00000504,
446     0x00000507, 0x00000506,
447     0x00000509, 0x00000508,
448     0x0000050b, 0x0000050a,
449     0x0000050d, 0x0000050c,
450     0x0000050f, 0x0000050e,
451     0x00000561, 0x00000531,
452     0x00000562, 0x00000532,
453     0x00000563, 0x00000533,
454     0x00000564, 0x00000534,
455     0x00000565, 0x00000535,
456     0x00000566, 0x00000536,
457     0x00000567, 0x00000537,
458     0x00000568, 0x00000538,
459     0x00000569, 0x00000539,
460     0x0000056a, 0x0000053a,
461     0x0000056b, 0x0000053b,
462     0x0000056c, 0x0000053c,
463     0x0000056d, 0x0000053d,
464     0x0000056e, 0x0000053e,
465     0x0000056f, 0x0000053f,
466     0x00000570, 0x00000540,
467     0x00000571, 0x00000541,
468     0x00000572, 0x00000542,
469     0x00000573, 0x00000543,
470     0x00000574, 0x00000544,
471     0x00000575, 0x00000545,
472     0x00000576, 0x00000546,
473     0x00000577, 0x00000547,
474     0x00000578, 0x00000548,
475     0x00000579, 0x00000549,
476     0x0000057a, 0x0000054a,
477     0x0000057b, 0x0000054b,
478     0x0000057c, 0x0000054c,
479     0x0000057d, 0x0000054d,
480     0x0000057e, 0x0000054e,
481     0x0000057f, 0x0000054f,
482     0x00000580, 0x00000550,
483     0x00000581, 0x00000551,
484     0x00000582, 0x00000552,
485     0x00000583, 0x00000553,
486     0x00000584, 0x00000554,
487     0x00000585, 0x00000555,
488     0x00000586, 0x00000556,
489     0x00001e01, 0x00001e00,
490     0x00001e03, 0x00001e02,
491     0x00001e05, 0x00001e04,
492     0x00001e07, 0x00001e06,
493     0x00001e09, 0x00001e08,
494     0x00001e0b, 0x00001e0a,
495     0x00001e0d, 0x00001e0c,
496     0x00001e0f, 0x00001e0e,
497     0x00001e11, 0x00001e10,
498     0x00001e13, 0x00001e12,
499     0x00001e15, 0x00001e14,
500     0x00001e17, 0x00001e16,
501     0x00001e19, 0x00001e18,
502     0x00001e1b, 0x00001e1a,
503     0x00001e1d, 0x00001e1c,
504     0x00001e1f, 0x00001e1e,
505     0x00001e21, 0x00001e20,
506     0x00001e23, 0x00001e22,
507     0x00001e25, 0x00001e24,
508     0x00001e27, 0x00001e26,
509     0x00001e29, 0x00001e28,
510     0x00001e2b, 0x00001e2a,
511     0x00001e2d, 0x00001e2c,
512     0x00001e2f, 0x00001e2e,
513     0x00001e31, 0x00001e30,
514     0x00001e33, 0x00001e32,
515     0x00001e35, 0x00001e34,
516     0x00001e37, 0x00001e36,
517     0x00001e39, 0x00001e38,
518     0x00001e3b, 0x00001e3a,
519     0x00001e3d, 0x00001e3c,
520     0x00001e3f, 0x00001e3e,
521     0x00001e41, 0x00001e40,
522     0x00001e43, 0x00001e42,
523     0x00001e45, 0x00001e44,
524     0x00001e47, 0x00001e46,
525     0x00001e49, 0x00001e48,
526     0x00001e4b, 0x00001e4a,
527     0x00001e4d, 0x00001e4c,
528     0x00001e4f, 0x00001e4e,
529     0x00001e51, 0x00001e50,
530     0x00001e53, 0x00001e52,
531     0x00001e55, 0x00001e54,
532     0x00001e57, 0x00001e56,
533     0x00001e59, 0x00001e58,
534     0x00001e5b, 0x00001e5a,
535     0x00001e5d, 0x00001e5c,
536     0x00001e5f, 0x00001e5e,
537     0x00001e61, 0x00001e60,
538     0x00001e63, 0x00001e62,
539     0x00001e65, 0x00001e64,
540     0x00001e67, 0x00001e66,
541     0x00001e69, 0x00001e68,
542     0x00001e6b, 0x00001e6a,
543     0x00001e6d, 0x00001e6c,
544     0x00001e6f, 0x00001e6e,
545     0x00001e71, 0x00001e70,
546     0x00001e73, 0x00001e72,
547     0x00001e75, 0x00001e74,
548     0x00001e77, 0x00001e76,
549     0x00001e79, 0x00001e78,
550     0x00001e7b, 0x00001e7a,
551     0x00001e7d, 0x00001e7c,
552     0x00001e7f, 0x00001e7e,
553     0x00001e81, 0x00001e80,
554     0x00001e83, 0x00001e82,
555     0x00001e85, 0x00001e84,
556     0x00001e87, 0x00001e86,
557     0x00001e89, 0x00001e88,
558     0x00001e8b, 0x00001e8a,
559     0x00001e8d, 0x00001e8c,
560     0x00001e8f, 0x00001e8e,
561     0x00001e91, 0x00001e90,
562     0x00001e93, 0x00001e92,
563     0x00001e95, 0x00001e94,
564     0x00001e9b, 0x00001e60,
565     0x00001ea1, 0x00001ea0,
566     0x00001ea3, 0x00001ea2,
567     0x00001ea5, 0x00001ea4,
568     0x00001ea7, 0x00001ea6,
569     0x00001ea9, 0x00001ea8,
570     0x00001eab, 0x00001eaa,
571     0x00001ead, 0x00001eac,
572     0x00001eaf, 0x00001eae,
573     0x00001eb1, 0x00001eb0,
574     0x00001eb3, 0x00001eb2,
575     0x00001eb5, 0x00001eb4,
576     0x00001eb7, 0x00001eb6,
577     0x00001eb9, 0x00001eb8,
578     0x00001ebb, 0x00001eba,
579     0x00001ebd, 0x00001ebc,
580     0x00001ebf, 0x00001ebe,
581     0x00001ec1, 0x00001ec0,
582     0x00001ec3, 0x00001ec2,
583     0x00001ec5, 0x00001ec4,
584     0x00001ec7, 0x00001ec6,
585     0x00001ec9, 0x00001ec8,
586     0x00001ecb, 0x00001eca,
587     0x00001ecd, 0x00001ecc,
588     0x00001ecf, 0x00001ece,
589     0x00001ed1, 0x00001ed0,
590     0x00001ed3, 0x00001ed2,
591     0x00001ed5, 0x00001ed4,
592     0x00001ed7, 0x00001ed6,
593     0x00001ed9, 0x00001ed8,
594     0x00001edb, 0x00001eda,
595     0x00001edd, 0x00001edc,
596     0x00001edf, 0x00001ede,
597     0x00001ee1, 0x00001ee0,
598     0x00001ee3, 0x00001ee2,
599     0x00001ee5, 0x00001ee4,
600     0x00001ee7, 0x00001ee6,
601     0x00001ee9, 0x00001ee8,
602     0x00001eeb, 0x00001eea,
603     0x00001eed, 0x00001eec,
604     0x00001eef, 0x00001eee,
605     0x00001ef1, 0x00001ef0,
606     0x00001ef3, 0x00001ef2,
607     0x00001ef5, 0x00001ef4,
608     0x00001ef7, 0x00001ef6,
609     0x00001ef9, 0x00001ef8,
610     0x00001f00, 0x00001f08,
611     0x00001f01, 0x00001f09,
612     0x00001f02, 0x00001f0a,
613     0x00001f03, 0x00001f0b,
614     0x00001f04, 0x00001f0c,
615     0x00001f05, 0x00001f0d,
616     0x00001f06, 0x00001f0e,
617     0x00001f07, 0x00001f0f,
618     0x00001f10, 0x00001f18,
619     0x00001f11, 0x00001f19,
620     0x00001f12, 0x00001f1a,
621     0x00001f13, 0x00001f1b,
622     0x00001f14, 0x00001f1c,
623     0x00001f15, 0x00001f1d,
624     0x00001f20, 0x00001f28,
625     0x00001f21, 0x00001f29,
626     0x00001f22, 0x00001f2a,
627     0x00001f23, 0x00001f2b,
628     0x00001f24, 0x00001f2c,
629     0x00001f25, 0x00001f2d,
630     0x00001f26, 0x00001f2e,
631     0x00001f27, 0x00001f2f,
632     0x00001f30, 0x00001f38,
633     0x00001f31, 0x00001f39,
634     0x00001f32, 0x00001f3a,
635     0x00001f33, 0x00001f3b,
636     0x00001f34, 0x00001f3c,
637     0x00001f35, 0x00001f3d,
638     0x00001f36, 0x00001f3e,
639     0x00001f37, 0x00001f3f,
640     0x00001f40, 0x00001f48,
641     0x00001f41, 0x00001f49,
642     0x00001f42, 0x00001f4a,
643     0x00001f43, 0x00001f4b,
644     0x00001f44, 0x00001f4c,
645     0x00001f45, 0x00001f4d,
646     0x00001f51, 0x00001f59,
647     0x00001f53, 0x00001f5b,
648     0x00001f55, 0x00001f5d,
649     0x00001f57, 0x00001f5f,
650     0x00001f60, 0x00001f68,
651     0x00001f61, 0x00001f69,
652     0x00001f62, 0x00001f6a,
653     0x00001f63, 0x00001f6b,
654     0x00001f64, 0x00001f6c,
655     0x00001f65, 0x00001f6d,
656     0x00001f66, 0x00001f6e,
657     0x00001f67, 0x00001f6f,
658     0x00001f70, 0x00001fba,
659     0x00001f71, 0x00001fbb,
660     0x00001f72, 0x00001fc8,
661     0x00001f73, 0x00001fc9,
662     0x00001f74, 0x00001fca,
663     0x00001f75, 0x00001fcb,
664     0x00001f76, 0x00001fda,
665     0x00001f77, 0x00001fdb,
666     0x00001f78, 0x00001ff8,
667     0x00001f79, 0x00001ff9,
668     0x00001f7a, 0x00001fea,
669     0x00001f7b, 0x00001feb,
670     0x00001f7c, 0x00001ffa,
671     0x00001f7d, 0x00001ffb,
672     0x00001f80, 0x00001f88,
673     0x00001f81, 0x00001f89,
674     0x00001f82, 0x00001f8a,
675     0x00001f83, 0x00001f8b,
676     0x00001f84, 0x00001f8c,
677     0x00001f85, 0x00001f8d,
678     0x00001f86, 0x00001f8e,
679     0x00001f87, 0x00001f8f,
680     0x00001f90, 0x00001f98,
681     0x00001f91, 0x00001f99,
682     0x00001f92, 0x00001f9a,
683     0x00001f93, 0x00001f9b,
684     0x00001f94, 0x00001f9c,
685     0x00001f95, 0x00001f9d,
686     0x00001f96, 0x00001f9e,
687     0x00001f97, 0x00001f9f,
688     0x00001fa0, 0x00001fa8,
689     0x00001fa1, 0x00001fa9,
690     0x00001fa2, 0x00001faa,
691     0x00001fa3, 0x00001fab,
692     0x00001fa4, 0x00001fac,
693     0x00001fa5, 0x00001fad,
694     0x00001fa6, 0x00001fae,
695     0x00001fa7, 0x00001faf,
696     0x00001fb0, 0x00001fb8,
697     0x00001fb1, 0x00001fb9,
698     0x00001fb3, 0x00001fbc,
699     0x00001fbe, 0x00000399,
700     0x00001fc3, 0x00001fcc,
701     0x00001fd0, 0x00001fd8,
702     0x00001fd1, 0x00001fd9,
703     0x00001fe0, 0x00001fe8,
704     0x00001fe1, 0x00001fe9,
705     0x00001fe5, 0x00001fec,
706     0x00001ff3, 0x00001ffc,
707     0x00002170, 0x00002160,
708     0x00002171, 0x00002161,
709     0x00002172, 0x00002162,
710     0x00002173, 0x00002163,
711     0x00002174, 0x00002164,
712     0x00002175, 0x00002165,
713     0x00002176, 0x00002166,
714     0x00002177, 0x00002167,
715     0x00002178, 0x00002168,
716     0x00002179, 0x00002169,
717     0x0000217a, 0x0000216a,
718     0x0000217b, 0x0000216b,
719     0x0000217c, 0x0000216c,
720     0x0000217d, 0x0000216d,
721     0x0000217e, 0x0000216e,
722     0x0000217f, 0x0000216f,
723     0x000024d0, 0x000024b6,
724     0x000024d1, 0x000024b7,
725     0x000024d2, 0x000024b8,
726     0x000024d3, 0x000024b9,
727     0x000024d4, 0x000024ba,
728     0x000024d5, 0x000024bb,
729     0x000024d6, 0x000024bc,
730     0x000024d7, 0x000024bd,
731     0x000024d8, 0x000024be,
732     0x000024d9, 0x000024bf,
733     0x000024da, 0x000024c0,
734     0x000024db, 0x000024c1,
735     0x000024dc, 0x000024c2,
736     0x000024dd, 0x000024c3,
737     0x000024de, 0x000024c4,
738     0x000024df, 0x000024c5,
739     0x000024e0, 0x000024c6,
740     0x000024e1, 0x000024c7,
741     0x000024e2, 0x000024c8,
742     0x000024e3, 0x000024c9,
743     0x000024e4, 0x000024ca,
744     0x000024e5, 0x000024cb,
745     0x000024e6, 0x000024cc,
746     0x000024e7, 0x000024cd,
747     0x000024e8, 0x000024ce,
748     0x000024e9, 0x000024cf,
749     0x0000ff41, 0x0000ff21,
750     0x0000ff42, 0x0000ff22,
751     0x0000ff43, 0x0000ff23,
752     0x0000ff44, 0x0000ff24,
753     0x0000ff45, 0x0000ff25,
754     0x0000ff46, 0x0000ff26,
755     0x0000ff47, 0x0000ff27,
756     0x0000ff48, 0x0000ff28,
757     0x0000ff49, 0x0000ff29,
758     0x0000ff4a, 0x0000ff2a,
759     0x0000ff4b, 0x0000ff2b,
760     0x0000ff4c, 0x0000ff2c,
761     0x0000ff4d, 0x0000ff2d,
762     0x0000ff4e, 0x0000ff2e,
763     0x0000ff4f, 0x0000ff2f,
764     0x0000ff50, 0x0000ff30,
765     0x0000ff51, 0x0000ff31,
766     0x0000ff52, 0x0000ff32,
767     0x0000ff53, 0x0000ff33,
768     0x0000ff54, 0x0000ff34,
769     0x0000ff55, 0x0000ff35,
770     0x0000ff56, 0x0000ff36,
771     0x0000ff57, 0x0000ff37,
772     0x0000ff58, 0x0000ff38,
773     0x0000ff59, 0x0000ff39,
774     0x0000ff5a, 0x0000ff3a,
775     0x00010428, 0x00010400,
776     0x00010429, 0x00010401,
777     0x0001042a, 0x00010402,
778     0x0001042b, 0x00010403,
779     0x0001042c, 0x00010404,
780     0x0001042d, 0x00010405,
781     0x0001042e, 0x00010406,
782     0x0001042f, 0x00010407,
783     0x00010430, 0x00010408,
784     0x00010431, 0x00010409,
785     0x00010432, 0x0001040a,
786     0x00010433, 0x0001040b,
787     0x00010434, 0x0001040c,
788     0x00010435, 0x0001040d,
789     0x00010436, 0x0001040e,
790     0x00010437, 0x0001040f,
791     0x00010438, 0x00010410,
792     0x00010439, 0x00010411,
793     0x0001043a, 0x00010412,
794     0x0001043b, 0x00010413,
795     0x0001043c, 0x00010414,
796     0x0001043d, 0x00010415,
797     0x0001043e, 0x00010416,
798     0x0001043f, 0x00010417,
799     0x00010440, 0x00010418,
800     0x00010441, 0x00010419,
801     0x00010442, 0x0001041a,
802     0x00010443, 0x0001041b,
803     0x00010444, 0x0001041c,
804     0x00010445, 0x0001041d,
805     0x00010446, 0x0001041e,
806     0x00010447, 0x0001041f,
807     0x00010448, 0x00010420,
808     0x00010449, 0x00010421,
809     0x0001044a, 0x00010422,
810     0x0001044b, 0x00010423,
811     0x0001044c, 0x00010424,
812     0x0001044d, 0x00010425,
813 };
814 
815 #endif /*UTF8TABLES_H_*/
816