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