Files
bind9/contrib/idn/mdnkit/lib/nameprepdata.c
2001-06-09 00:30:55 +00:00

1695 lines
72 KiB
C

/* $Id: nameprepdata.c,v 1.1 2001/06/09 00:30:19 tale Exp $ */
/* $-Id: generate_nameprep_data.pl,v 1.2 2001/03/05 09:04:36 ishisone Exp -$ */
/*
* Do not edit this file!
* This file is generated from NAMEPREP specification.
*/
#define MAP_BITS_0 9
#define MAP_BITS_1 7
#define MAP_BITS_2 5
#define PROH_BITS_0 7
#define PROH_BITS_1 7
#define PROH_BITS_2 7
#define UNAS_BITS_0 7
#define UNAS_BITS_1 7
#define UNAS_BITS_2 7
static unsigned short nameprep_id02_map_imap[] = {
272, 400, 528, 656, 784, 784, 784, 784,
784, 784, 784, 784, 784, 784, 784, 912,
784, 784, 784, 784, 784, 784, 784, 784,
784, 784, 784, 784, 784, 784, 784, 784,
784, 784, 784, 784, 784, 784, 784, 784,
784, 784, 784, 784, 784, 784, 784, 784,
784, 784, 784, 784, 784, 784, 784, 784,
784, 784, 784, 784, 784, 784, 784, 784,
784, 784, 784, 784, 784, 784, 784, 784,
784, 784, 784, 784, 784, 784, 784, 784,
784, 784, 784, 784, 784, 784, 784, 784,
784, 784, 784, 784, 784, 784, 784, 784,
784, 784, 784, 784, 784, 784, 784, 784,
784, 784, 784, 784, 784, 784, 784, 784,
784, 784, 784, 784, 784, 784, 784, 784,
784, 784, 784, 784, 784, 784, 784, 784,
784, 784, 784, 784, 784, 784, 784, 784,
784, 784, 784, 784, 784, 784, 784, 784,
784, 784, 784, 784, 784, 784, 784, 784,
784, 784, 784, 784, 784, 784, 784, 784,
784, 784, 784, 784, 784, 784, 784, 784,
784, 784, 784, 784, 784, 784, 784, 784,
784, 784, 784, 784, 784, 784, 784, 784,
784, 784, 784, 784, 784, 784, 784, 784,
784, 784, 784, 784, 784, 784, 784, 784,
784, 784, 784, 784, 784, 784, 784, 784,
784, 784, 784, 784, 784, 784, 784, 784,
784, 784, 784, 784, 784, 784, 784, 784,
784, 784, 784, 784, 784, 784, 784, 784,
784, 784, 784, 784, 784, 784, 784, 784,
784, 784, 784, 784, 784, 784, 784, 784,
784, 784, 784, 784, 784, 784, 784, 784,
784, 784, 784, 784, 784, 784, 784, 784,
784, 784, 784, 784, 784, 784, 784, 784,
0, 0, 1, 0, 0, 2, 3, 0,
4, 5, 6, 7, 8, 9, 10, 11,
12, 13, 0, 0, 0, 0, 0, 0,
0, 0, 14, 15, 16, 17, 18, 19,
20, 21, 0, 22, 23, 24, 25, 26,
0, 27, 28, 0, 29, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
30, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
31, 32, 33, 34, 35, 36, 37, 38,
39, 40, 41, 42, 43, 44, 45, 46,
47, 0, 0, 0, 0, 48, 0, 0,
49, 50, 0, 51, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 52, 53, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 54, 55, 56, 57, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
58, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 59,
0, 60, 0, 0, 0, 0, 0, 0,
};
static struct {
unsigned short tbl[32];
} nameprep_id02_map_table[] = {
{{
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
}},
{{
0, 1, 3, 5, 7, 9, 11, 13, 15, 17, 19,
21, 23, 25, 27, 29, 31, 33, 35, 37, 39, 41,
43, 45, 47, 49, 51, 0, 0, 0, 0, 0,
}},
{{
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 53, 0, 0, 0, 0, 0, 0, 0, 54,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
}},
{{
57, 60, 63, 66, 69, 72, 75, 78, 81, 84, 87,
90, 93, 96, 99, 102, 105, 108, 111, 114, 117, 120,
123, 0, 126, 129, 132, 135, 138, 141, 144, 147,
}},
{{
150, 0, 153, 0, 156, 0, 159, 0, 162, 0, 165,
0, 168, 0, 171, 0, 174, 0, 177, 0, 180, 0,
183, 0, 186, 0, 189, 0, 192, 0, 195, 0,
}},
{{
198, 0, 201, 0, 204, 0, 207, 0, 210, 0, 213,
0, 216, 0, 219, 0, 17, 17, 222, 0, 225, 0,
228, 0, 0, 231, 0, 234, 0, 237, 0, 240,
}},
{{
0, 243, 0, 246, 0, 249, 0, 252, 0, 255, 259,
0, 262, 0, 265, 0, 268, 0, 271, 0, 274, 0,
277, 0, 280, 0, 283, 0, 286, 0, 289, 0,
}},
{{
292, 0, 295, 0, 298, 0, 301, 0, 304, 0, 307,
0, 310, 0, 313, 0, 316, 0, 319, 0, 322, 0,
325, 0, 328, 331, 0, 334, 0, 337, 0, 37,
}},
{{
0, 340, 343, 0, 346, 0, 349, 352, 0, 355, 358,
361, 0, 0, 364, 367, 370, 373, 0, 376, 379, 0,
382, 385, 388, 0, 0, 0, 391, 394, 0, 397,
}},
{{
400, 0, 403, 0, 406, 0, 409, 412, 0, 415, 0,
0, 418, 0, 421, 424, 0, 427, 430, 433, 0, 436,
0, 439, 442, 0, 0, 0, 445, 0, 0, 0,
}},
{{
0, 0, 0, 0, 448, 448, 0, 451, 451, 0, 454,
454, 0, 457, 0, 460, 0, 463, 0, 466, 0, 469,
0, 472, 0, 475, 0, 478, 0, 0, 481, 0,
}},
{{
484, 0, 487, 0, 490, 0, 493, 0, 496, 0, 499,
0, 502, 0, 505, 0, 508, 512, 512, 0, 515, 0,
518, 521, 524, 0, 527, 0, 530, 0, 533, 0,
}},
{{
536, 0, 539, 0, 542, 0, 545, 0, 548, 0, 551,
0, 554, 0, 557, 0, 560, 0, 563, 0, 566, 0,
569, 0, 572, 0, 575, 0, 578, 0, 581, 0,
}},
{{
0, 0, 584, 0, 587, 0, 590, 0, 593, 0, 596,
0, 599, 0, 602, 0, 605, 0, 608, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
}},
{{
0, 0, 0, 0, 0, 611, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
}},
{{
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 614, 0, 0, 0, 0, 0,
}},
{{
0, 0, 0, 0, 0, 0, 618, 0, 621, 624, 627,
0, 630, 0, 633, 636, 639, 646, 649, 652, 655, 658,
661, 664, 667, 611, 670, 673, 54, 676, 679, 682,
}},
{{
685, 688, 0, 691, 694, 697, 700, 703, 706, 709, 712,
715, 0, 0, 0, 0, 718, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
}},
{{
0, 0, 691, 691, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 649, 667, 697, 633, 715, 700,
685, 0, 0, 0, 725, 0, 728, 0, 731, 0,
}},
{{
734, 0, 737, 0, 740, 0, 743, 0, 746, 0, 749,
0, 752, 0, 755, 0, 670, 688, 691, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
}},
{{
758, 761, 764, 767, 770, 773, 776, 779, 782, 785, 788,
791, 794, 797, 800, 803, 806, 809, 812, 815, 818, 821,
824, 827, 830, 833, 836, 839, 842, 845, 848, 851,
}},
{{
854, 857, 860, 863, 866, 869, 872, 875, 878, 881, 884,
887, 890, 893, 896, 899, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
}},
{{
902, 0, 905, 0, 908, 0, 911, 0, 914, 0, 917,
0, 920, 0, 923, 0, 926, 0, 929, 0, 932, 0,
935, 0, 938, 0, 941, 0, 944, 0, 947, 0,
}},
{{
950, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 953, 0, 956, 0, 959, 0, 962, 0, 965, 0,
968, 0, 971, 0, 974, 0, 977, 0, 980, 0,
}},
{{
983, 0, 986, 0, 989, 0, 992, 0, 995, 0, 998,
0, 1001, 0, 1004, 0, 1007, 0, 1010, 0, 1013, 0,
1016, 0, 1019, 0, 1022, 0, 1025, 0, 1028, 0,
}},
{{
0, 1031, 0, 1034, 0, 0, 0, 1037, 0, 0, 0,
1040, 0, 0, 0, 0, 1043, 0, 1046, 0, 1049, 0,
1052, 0, 1055, 0, 1058, 0, 1061, 0, 1064, 0,
}},
{{
1067, 0, 1070, 0, 1073, 0, 1076, 0, 1079, 0, 1082,
0, 1085, 0, 1088, 0, 1091, 0, 1094, 0, 1097, 0,
0, 0, 1100, 0, 0, 0, 0, 0, 0, 0,
}},
{{
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 1103, 1106, 1109, 1112, 1115,
1118, 1121, 1124, 1127, 1130, 1133, 1136, 1139, 1142, 1145,
}},
{{
1148, 1151, 1154, 1157, 1160, 1163, 1166, 1169, 1172, 1175, 1178,
1181, 1184, 1187, 1190, 1193, 1196, 1199, 1202, 1205, 1208, 1211,
1214, 0, 0, 0, 0, 0, 0, 0, 0, 0,
}},
{{
0, 0, 0, 0, 0, 0, 0, 1217, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
}},
{{
0, 0, 0, 0, 0, 0, 53, 0, 0, 0, 0,
53, 53, 53, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
}},
{{
1222, 0, 1226, 0, 1230, 0, 1234, 0, 1238, 0, 1242,
0, 1246, 0, 1250, 0, 1254, 0, 1258, 0, 1262, 0,
1266, 0, 1270, 0, 1274, 0, 1278, 0, 1282, 0,
}},
{{
1286, 0, 1290, 0, 1294, 0, 1298, 0, 1302, 0, 1306,
0, 1310, 0, 1314, 0, 1318, 0, 1322, 0, 1326, 0,
1330, 0, 1334, 0, 1338, 0, 1342, 0, 1346, 0,
}},
{{
1350, 0, 1354, 0, 1358, 0, 1362, 0, 1366, 0, 1370,
0, 1374, 0, 1378, 0, 1382, 0, 1386, 0, 1390, 0,
1394, 0, 1398, 0, 1402, 0, 1406, 0, 1410, 0,
}},
{{
1414, 0, 1418, 0, 1422, 0, 1426, 0, 1430, 0, 1434,
0, 1438, 0, 1442, 0, 1446, 0, 1450, 0, 1454, 0,
1458, 0, 1462, 0, 1466, 0, 1470, 0, 1474, 0,
}},
{{
1478, 0, 1482, 0, 1486, 0, 1490, 0, 1494, 0, 1498,
0, 1502, 0, 1506, 0, 1510, 0, 1514, 0, 1518, 0,
1522, 1526, 1530, 1534, 1538, 1414, 0, 0, 0, 0,
}},
{{
1542, 0, 1546, 0, 1550, 0, 1554, 0, 1558, 0, 1562,
0, 1566, 0, 1570, 0, 1574, 0, 1578, 0, 1582, 0,
1586, 0, 1590, 0, 1594, 0, 1598, 0, 1602, 0,
}},
{{
1606, 0, 1610, 0, 1614, 0, 1618, 0, 1622, 0, 1626,
0, 1630, 0, 1634, 0, 1638, 0, 1642, 0, 1646, 0,
1650, 0, 1654, 0, 1658, 0, 1662, 0, 1666, 0,
}},
{{
1670, 0, 1674, 0, 1678, 0, 1682, 0, 1686, 0, 1690,
0, 1694, 0, 1698, 0, 1702, 0, 1706, 0, 1710, 0,
1714, 0, 1718, 0, 0, 0, 0, 0, 0, 0,
}},
{{
0, 0, 0, 0, 0, 0, 0, 0, 1722, 1726, 1730,
1734, 1738, 1742, 1746, 1750, 0, 0, 0, 0, 0, 0,
0, 0, 1754, 1758, 1762, 1766, 1770, 1774, 0, 0,
}},
{{
0, 0, 0, 0, 0, 0, 0, 0, 1778, 1782, 1786,
1790, 1794, 1798, 1802, 1806, 0, 0, 0, 0, 0, 0,
0, 0, 1810, 1814, 1818, 1822, 1826, 1830, 1834, 1838,
}},
{{
0, 0, 0, 0, 0, 0, 0, 0, 1842, 1846, 1850,
1854, 1858, 1862, 0, 0, 1866, 0, 1871, 0, 1878, 0,
1885, 0, 0, 1892, 0, 1896, 0, 1900, 0, 1904,
}},
{{
0, 0, 0, 0, 0, 0, 0, 0, 1908, 1912, 1916,
1920, 1924, 1928, 1932, 1936, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
}},
{{
1940, 1946, 1952, 1958, 1964, 1970, 1976, 1982, 1940, 1946, 1952,
1958, 1964, 1970, 1976, 1982, 1988, 1994, 2000, 2006, 2012, 2018,
2024, 2030, 1988, 1994, 2000, 2006, 2012, 2018, 2024, 2030,
}},
{{
2036, 2042, 2048, 2054, 2060, 2066, 2072, 2078, 2036, 2042, 2048,
2054, 2060, 2066, 2072, 2078, 0, 0, 2084, 2090, 2095, 0,
2100, 2105, 2112, 2116, 2120, 2124, 2090, 0, 611, 0,
}},
{{
0, 0, 2128, 2134, 2139, 0, 2144, 2149, 2156, 2160, 2164,
2168, 2134, 0, 0, 0, 0, 0, 2172, 639, 0, 0,
2179, 2184, 2191, 2195, 2199, 2203, 0, 0, 0, 0,
}},
{{
0, 0, 2207, 718, 2214, 0, 2219, 2224, 2231, 2235, 2239,
2243, 2247, 0, 0, 0, 0, 0, 2251, 2257, 2262, 0,
2267, 2272, 2279, 2283, 2287, 2291, 2257, 0, 0, 0,
}},
{{
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
53, 53, 53, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
}},
{{
0, 0, 0, 0, 0, 0, 0, 0, 2295, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
}},
{{
0, 0, 5, 2298, 0, 0, 0, 370, 0, 2302, 0,
15, 15, 15, 0, 0, 17, 17, 23, 0, 0, 27,
2306, 0, 0, 31, 33, 35, 35, 35, 0, 0,
}},
{{
2309, 2312, 2316, 0, 51, 0, 709, 0, 51, 0, 21,
72, 3, 5, 0, 0, 9, 11, 0, 25, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
}},
{{
2319, 2323, 2327, 2331, 2335, 2339, 2343, 2347, 2351, 2355, 2359,
2363, 2367, 2371, 2375, 2379, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
}},
{{
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2383, 2387, 2391, 2395, 2399, 2403, 2407, 2411, 2415, 2419,
}},
{{
2423, 2427, 2431, 2435, 2439, 2443, 2447, 2451, 2455, 2459, 2463,
2467, 2471, 2475, 2479, 2483, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
}},
{{
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 2487, 0, 2491, 0, 2494,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
}},
{{
2497, 2500, 2503, 2507, 2510, 2513, 2516, 2519, 0, 0, 2522,
2525, 2528, 0, 0, 0, 2532, 2535, 2539, 2543, 2547, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
}},
{{
0, 0, 0, 0, 0, 0, 0, 0, 0, 2497, 2551,
2555, 2559, 0, 0, 0, 0, 0, 0, 0, 2563, 2566,
2569, 2573, 2576, 2573, 2579, 2582, 2585, 2589, 2592, 2589,
}},
{{
2595, 2599, 0, 2603, 0, 0, 2606, 2613, 2617, 2620, 0,
2623, 0, 2626, 2629, 0, 0, 0, 0, 0, 0, 0,
0, 2632, 0, 2635, 2639, 0, 2642, 2645, 0, 0,
}},
{{
2648, 2651, 2654, 2657, 2661, 2665, 2665, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 2668, 2673, 2678,
2683, 2688, 0, 0, 0, 0, 0, 0, 0, 0,
}},
{{
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 53,
}},
{{
0, 2693, 2697, 2701, 2705, 2709, 2713, 2717, 2721, 2725, 2729,
2733, 2737, 2741, 2745, 2749, 2753, 2757, 2761, 2765, 2769, 2773,
2777, 2781, 2785, 2789, 2793, 0, 0, 0, 0, 0,
}},
};
static unsigned char nameprep_id02_map_data[] = {
0, 97, 0, 98, 0, 99, 0, 100, 0, 101, 0, 102,
0, 103, 0, 104, 0, 105, 0, 106, 0, 107, 0, 108,
0, 109, 0, 110, 0, 111, 0, 112, 0, 113, 0, 114,
0, 115, 0, 116, 0, 117, 0, 118, 0, 119, 0, 120,
0, 121, 0, 122, 0, 0, 206, 188, 0, 195, 160, 0,
195, 161, 0, 195, 162, 0, 195, 163, 0, 195, 164, 0,
195, 165, 0, 195, 166, 0, 195, 167, 0, 195, 168, 0,
195, 169, 0, 195, 170, 0, 195, 171, 0, 195, 172, 0,
195, 173, 0, 195, 174, 0, 195, 175, 0, 195, 176, 0,
195, 177, 0, 195, 178, 0, 195, 179, 0, 195, 180, 0,
195, 181, 0, 195, 182, 0, 195, 184, 0, 195, 185, 0,
195, 186, 0, 195, 187, 0, 195, 188, 0, 195, 189, 0,
195, 190, 0, 115, 115, 0, 196, 129, 0, 196, 131, 0,
196, 133, 0, 196, 135, 0, 196, 137, 0, 196, 139, 0,
196, 141, 0, 196, 143, 0, 196, 145, 0, 196, 147, 0,
196, 149, 0, 196, 151, 0, 196, 153, 0, 196, 155, 0,
196, 157, 0, 196, 159, 0, 196, 161, 0, 196, 163, 0,
196, 165, 0, 196, 167, 0, 196, 169, 0, 196, 171, 0,
196, 173, 0, 196, 175, 0, 196, 179, 0, 196, 181, 0,
196, 183, 0, 196, 186, 0, 196, 188, 0, 196, 190, 0,
197, 128, 0, 197, 130, 0, 197, 132, 0, 197, 134, 0,
197, 136, 0, 202, 188, 110, 0, 197, 139, 0, 197, 141,
0, 197, 143, 0, 197, 145, 0, 197, 147, 0, 197, 149,
0, 197, 151, 0, 197, 153, 0, 197, 155, 0, 197, 157,
0, 197, 159, 0, 197, 161, 0, 197, 163, 0, 197, 165,
0, 197, 167, 0, 197, 169, 0, 197, 171, 0, 197, 173,
0, 197, 175, 0, 197, 177, 0, 197, 179, 0, 197, 181,
0, 197, 183, 0, 195, 191, 0, 197, 186, 0, 197, 188,
0, 197, 190, 0, 201, 147, 0, 198, 131, 0, 198, 133,
0, 201, 148, 0, 198, 136, 0, 201, 150, 0, 201, 151,
0, 198, 140, 0, 199, 157, 0, 201, 153, 0, 201, 155,
0, 198, 146, 0, 201, 160, 0, 201, 163, 0, 201, 169,
0, 201, 168, 0, 198, 153, 0, 201, 175, 0, 201, 178,
0, 201, 181, 0, 198, 161, 0, 198, 163, 0, 198, 165,
0, 202, 128, 0, 198, 168, 0, 202, 131, 0, 198, 173,
0, 202, 136, 0, 198, 176, 0, 202, 138, 0, 202, 139,
0, 198, 180, 0, 198, 182, 0, 202, 146, 0, 198, 185,
0, 198, 189, 0, 199, 134, 0, 199, 137, 0, 199, 140,
0, 199, 142, 0, 199, 144, 0, 199, 146, 0, 199, 148,
0, 199, 150, 0, 199, 152, 0, 199, 154, 0, 199, 156,
0, 199, 159, 0, 199, 161, 0, 199, 163, 0, 199, 165,
0, 199, 167, 0, 199, 169, 0, 199, 171, 0, 199, 173,
0, 199, 175, 0, 106, 204, 140, 0, 199, 179, 0, 199,
181, 0, 198, 149, 0, 198, 191, 0, 199, 185, 0, 199,
187, 0, 199, 189, 0, 199, 191, 0, 200, 129, 0, 200,
131, 0, 200, 133, 0, 200, 135, 0, 200, 137, 0, 200,
139, 0, 200, 141, 0, 200, 143, 0, 200, 145, 0, 200,
147, 0, 200, 149, 0, 200, 151, 0, 200, 153, 0, 200,
155, 0, 200, 157, 0, 200, 159, 0, 200, 163, 0, 200,
165, 0, 200, 167, 0, 200, 169, 0, 200, 171, 0, 200,
173, 0, 200, 175, 0, 200, 177, 0, 200, 179, 0, 206,
185, 0, 32, 206, 185, 0, 206, 172, 0, 206, 173, 0,
206, 174, 0, 206, 175, 0, 207, 140, 0, 207, 141, 0,
207, 142, 0, 206, 185, 204, 136, 204, 129, 0, 206, 177,
0, 206, 178, 0, 206, 179, 0, 206, 180, 0, 206, 181,
0, 206, 182, 0, 206, 183, 0, 206, 184, 0, 206, 186,
0, 206, 187, 0, 206, 189, 0, 206, 190, 0, 206, 191,
0, 207, 128, 0, 207, 129, 0, 207, 130, 0, 207, 132,
0, 207, 133, 0, 207, 134, 0, 207, 135, 0, 207, 136,
0, 207, 137, 0, 207, 138, 0, 207, 139, 0, 207, 133,
204, 136, 204, 129, 0, 207, 155, 0, 207, 157, 0, 207,
159, 0, 207, 161, 0, 207, 163, 0, 207, 165, 0, 207,
167, 0, 207, 169, 0, 207, 171, 0, 207, 173, 0, 207,
175, 0, 209, 144, 0, 209, 145, 0, 209, 146, 0, 209,
147, 0, 209, 148, 0, 209, 149, 0, 209, 150, 0, 209,
151, 0, 209, 152, 0, 209, 153, 0, 209, 154, 0, 209,
155, 0, 209, 156, 0, 209, 157, 0, 209, 158, 0, 209,
159, 0, 208, 176, 0, 208, 177, 0, 208, 178, 0, 208,
179, 0, 208, 180, 0, 208, 181, 0, 208, 182, 0, 208,
183, 0, 208, 184, 0, 208, 185, 0, 208, 186, 0, 208,
187, 0, 208, 188, 0, 208, 189, 0, 208, 190, 0, 208,
191, 0, 209, 128, 0, 209, 129, 0, 209, 130, 0, 209,
131, 0, 209, 132, 0, 209, 133, 0, 209, 134, 0, 209,
135, 0, 209, 136, 0, 209, 137, 0, 209, 138, 0, 209,
139, 0, 209, 140, 0, 209, 141, 0, 209, 142, 0, 209,
143, 0, 209, 161, 0, 209, 163, 0, 209, 165, 0, 209,
167, 0, 209, 169, 0, 209, 171, 0, 209, 173, 0, 209,
175, 0, 209, 177, 0, 209, 179, 0, 209, 181, 0, 209,
183, 0, 209, 185, 0, 209, 187, 0, 209, 189, 0, 209,
191, 0, 210, 129, 0, 210, 141, 0, 210, 143, 0, 210,
145, 0, 210, 147, 0, 210, 149, 0, 210, 151, 0, 210,
153, 0, 210, 155, 0, 210, 157, 0, 210, 159, 0, 210,
161, 0, 210, 163, 0, 210, 165, 0, 210, 167, 0, 210,
169, 0, 210, 171, 0, 210, 173, 0, 210, 175, 0, 210,
177, 0, 210, 179, 0, 210, 181, 0, 210, 183, 0, 210,
185, 0, 210, 187, 0, 210, 189, 0, 210, 191, 0, 211,
130, 0, 211, 132, 0, 211, 136, 0, 211, 140, 0, 211,
145, 0, 211, 147, 0, 211, 149, 0, 211, 151, 0, 211,
153, 0, 211, 155, 0, 211, 157, 0, 211, 159, 0, 211,
161, 0, 211, 163, 0, 211, 165, 0, 211, 167, 0, 211,
169, 0, 211, 171, 0, 211, 173, 0, 211, 175, 0, 211,
177, 0, 211, 179, 0, 211, 181, 0, 211, 185, 0, 213,
161, 0, 213, 162, 0, 213, 163, 0, 213, 164, 0, 213,
165, 0, 213, 166, 0, 213, 167, 0, 213, 168, 0, 213,
169, 0, 213, 170, 0, 213, 171, 0, 213, 172, 0, 213,
173, 0, 213, 174, 0, 213, 175, 0, 213, 176, 0, 213,
177, 0, 213, 178, 0, 213, 179, 0, 213, 180, 0, 213,
181, 0, 213, 182, 0, 213, 183, 0, 213, 184, 0, 213,
185, 0, 213, 186, 0, 213, 187, 0, 213, 188, 0, 213,
189, 0, 213, 190, 0, 213, 191, 0, 214, 128, 0, 214,
129, 0, 214, 130, 0, 214, 131, 0, 214, 132, 0, 214,
133, 0, 214, 134, 0, 213, 165, 214, 130, 0, 225, 184,
129, 0, 225, 184, 131, 0, 225, 184, 133, 0, 225, 184,
135, 0, 225, 184, 137, 0, 225, 184, 139, 0, 225, 184,
141, 0, 225, 184, 143, 0, 225, 184, 145, 0, 225, 184,
147, 0, 225, 184, 149, 0, 225, 184, 151, 0, 225, 184,
153, 0, 225, 184, 155, 0, 225, 184, 157, 0, 225, 184,
159, 0, 225, 184, 161, 0, 225, 184, 163, 0, 225, 184,
165, 0, 225, 184, 167, 0, 225, 184, 169, 0, 225, 184,
171, 0, 225, 184, 173, 0, 225, 184, 175, 0, 225, 184,
177, 0, 225, 184, 179, 0, 225, 184, 181, 0, 225, 184,
183, 0, 225, 184, 185, 0, 225, 184, 187, 0, 225, 184,
189, 0, 225, 184, 191, 0, 225, 185, 129, 0, 225, 185,
131, 0, 225, 185, 133, 0, 225, 185, 135, 0, 225, 185,
137, 0, 225, 185, 139, 0, 225, 185, 141, 0, 225, 185,
143, 0, 225, 185, 145, 0, 225, 185, 147, 0, 225, 185,
149, 0, 225, 185, 151, 0, 225, 185, 153, 0, 225, 185,
155, 0, 225, 185, 157, 0, 225, 185, 159, 0, 225, 185,
161, 0, 225, 185, 163, 0, 225, 185, 165, 0, 225, 185,
167, 0, 225, 185, 169, 0, 225, 185, 171, 0, 225, 185,
173, 0, 225, 185, 175, 0, 225, 185, 177, 0, 225, 185,
179, 0, 225, 185, 181, 0, 225, 185, 183, 0, 225, 185,
185, 0, 225, 185, 187, 0, 225, 185, 189, 0, 225, 185,
191, 0, 225, 186, 129, 0, 225, 186, 131, 0, 225, 186,
133, 0, 225, 186, 135, 0, 225, 186, 137, 0, 225, 186,
139, 0, 225, 186, 141, 0, 225, 186, 143, 0, 225, 186,
145, 0, 225, 186, 147, 0, 225, 186, 149, 0, 104, 204,
177, 0, 116, 204, 136, 0, 119, 204, 138, 0, 121, 204,
138, 0, 97, 202, 190, 0, 225, 186, 161, 0, 225, 186,
163, 0, 225, 186, 165, 0, 225, 186, 167, 0, 225, 186,
169, 0, 225, 186, 171, 0, 225, 186, 173, 0, 225, 186,
175, 0, 225, 186, 177, 0, 225, 186, 179, 0, 225, 186,
181, 0, 225, 186, 183, 0, 225, 186, 185, 0, 225, 186,
187, 0, 225, 186, 189, 0, 225, 186, 191, 0, 225, 187,
129, 0, 225, 187, 131, 0, 225, 187, 133, 0, 225, 187,
135, 0, 225, 187, 137, 0, 225, 187, 139, 0, 225, 187,
141, 0, 225, 187, 143, 0, 225, 187, 145, 0, 225, 187,
147, 0, 225, 187, 149, 0, 225, 187, 151, 0, 225, 187,
153, 0, 225, 187, 155, 0, 225, 187, 157, 0, 225, 187,
159, 0, 225, 187, 161, 0, 225, 187, 163, 0, 225, 187,
165, 0, 225, 187, 167, 0, 225, 187, 169, 0, 225, 187,
171, 0, 225, 187, 173, 0, 225, 187, 175, 0, 225, 187,
177, 0, 225, 187, 179, 0, 225, 187, 181, 0, 225, 187,
183, 0, 225, 187, 185, 0, 225, 188, 128, 0, 225, 188,
129, 0, 225, 188, 130, 0, 225, 188, 131, 0, 225, 188,
132, 0, 225, 188, 133, 0, 225, 188, 134, 0, 225, 188,
135, 0, 225, 188, 144, 0, 225, 188, 145, 0, 225, 188,
146, 0, 225, 188, 147, 0, 225, 188, 148, 0, 225, 188,
149, 0, 225, 188, 160, 0, 225, 188, 161, 0, 225, 188,
162, 0, 225, 188, 163, 0, 225, 188, 164, 0, 225, 188,
165, 0, 225, 188, 166, 0, 225, 188, 167, 0, 225, 188,
176, 0, 225, 188, 177, 0, 225, 188, 178, 0, 225, 188,
179, 0, 225, 188, 180, 0, 225, 188, 181, 0, 225, 188,
182, 0, 225, 188, 183, 0, 225, 189, 128, 0, 225, 189,
129, 0, 225, 189, 130, 0, 225, 189, 131, 0, 225, 189,
132, 0, 225, 189, 133, 0, 207, 133, 204, 147, 0, 207,
133, 204, 147, 204, 128, 0, 207, 133, 204, 147, 204, 129,
0, 207, 133, 204, 147, 205, 130, 0, 225, 189, 145, 0,
225, 189, 147, 0, 225, 189, 149, 0, 225, 189, 151, 0,
225, 189, 160, 0, 225, 189, 161, 0, 225, 189, 162, 0,
225, 189, 163, 0, 225, 189, 164, 0, 225, 189, 165, 0,
225, 189, 166, 0, 225, 189, 167, 0, 225, 188, 128, 206,
185, 0, 225, 188, 129, 206, 185, 0, 225, 188, 130, 206,
185, 0, 225, 188, 131, 206, 185, 0, 225, 188, 132, 206,
185, 0, 225, 188, 133, 206, 185, 0, 225, 188, 134, 206,
185, 0, 225, 188, 135, 206, 185, 0, 225, 188, 160, 206,
185, 0, 225, 188, 161, 206, 185, 0, 225, 188, 162, 206,
185, 0, 225, 188, 163, 206, 185, 0, 225, 188, 164, 206,
185, 0, 225, 188, 165, 206, 185, 0, 225, 188, 166, 206,
185, 0, 225, 188, 167, 206, 185, 0, 225, 189, 160, 206,
185, 0, 225, 189, 161, 206, 185, 0, 225, 189, 162, 206,
185, 0, 225, 189, 163, 206, 185, 0, 225, 189, 164, 206,
185, 0, 225, 189, 165, 206, 185, 0, 225, 189, 166, 206,
185, 0, 225, 189, 167, 206, 185, 0, 225, 189, 176, 206,
185, 0, 206, 177, 206, 185, 0, 206, 172, 206, 185, 0,
206, 177, 205, 130, 0, 206, 177, 205, 130, 206, 185, 0,
225, 190, 176, 0, 225, 190, 177, 0, 225, 189, 176, 0,
225, 189, 177, 0, 225, 189, 180, 206, 185, 0, 206, 183,
206, 185, 0, 206, 174, 206, 185, 0, 206, 183, 205, 130,
0, 206, 183, 205, 130, 206, 185, 0, 225, 189, 178, 0,
225, 189, 179, 0, 225, 189, 180, 0, 225, 189, 181, 0,
206, 185, 204, 136, 204, 128, 0, 206, 185, 205, 130, 0,
206, 185, 204, 136, 205, 130, 0, 225, 191, 144, 0, 225,
191, 145, 0, 225, 189, 182, 0, 225, 189, 183, 0, 207,
133, 204, 136, 204, 128, 0, 207, 129, 204, 147, 0, 207,
133, 205, 130, 0, 207, 133, 204, 136, 205, 130, 0, 225,
191, 160, 0, 225, 191, 161, 0, 225, 189, 186, 0, 225,
189, 187, 0, 225, 191, 165, 0, 225, 189, 188, 206, 185,
0, 207, 137, 206, 185, 0, 207, 142, 206, 185, 0, 207,
137, 205, 130, 0, 207, 137, 205, 130, 206, 185, 0, 225,
189, 184, 0, 225, 189, 185, 0, 225, 189, 188, 0, 225,
189, 189, 0, 114, 115, 0, 194, 176, 99, 0, 194, 176,
102, 0, 110, 111, 0, 115, 109, 0, 116, 101, 108, 0,
116, 109, 0, 226, 133, 176, 0, 226, 133, 177, 0, 226,
133, 178, 0, 226, 133, 179, 0, 226, 133, 180, 0, 226,
133, 181, 0, 226, 133, 182, 0, 226, 133, 183, 0, 226,
133, 184, 0, 226, 133, 185, 0, 226, 133, 186, 0, 226,
133, 187, 0, 226, 133, 188, 0, 226, 133, 189, 0, 226,
133, 190, 0, 226, 133, 191, 0, 226, 147, 144, 0, 226,
147, 145, 0, 226, 147, 146, 0, 226, 147, 147, 0, 226,
147, 148, 0, 226, 147, 149, 0, 226, 147, 150, 0, 226,
147, 151, 0, 226, 147, 152, 0, 226, 147, 153, 0, 226,
147, 154, 0, 226, 147, 155, 0, 226, 147, 156, 0, 226,
147, 157, 0, 226, 147, 158, 0, 226, 147, 159, 0, 226,
147, 160, 0, 226, 147, 161, 0, 226, 147, 162, 0, 226,
147, 163, 0, 226, 147, 164, 0, 226, 147, 165, 0, 226,
147, 166, 0, 226, 147, 167, 0, 226, 147, 168, 0, 226,
147, 169, 0, 104, 112, 97, 0, 97, 117, 0, 111, 118,
0, 112, 97, 0, 110, 97, 0, 206, 188, 97, 0, 109,
97, 0, 107, 97, 0, 107, 98, 0, 109, 98, 0, 103,
98, 0, 112, 102, 0, 110, 102, 0, 206, 188, 102, 0,
104, 122, 0, 107, 104, 122, 0, 109, 104, 122, 0, 103,
104, 122, 0, 116, 104, 122, 0, 107, 112, 97, 0, 109,
112, 97, 0, 103, 112, 97, 0, 112, 118, 0, 110, 118,
0, 206, 188, 118, 0, 109, 118, 0, 107, 118, 0, 112,
119, 0, 110, 119, 0, 206, 188, 119, 0, 109, 119, 0,
107, 119, 0, 107, 207, 137, 0, 109, 207, 137, 0, 98,
113, 0, 99, 226, 136, 149, 107, 103, 0, 99, 111, 46,
0, 100, 98, 0, 103, 121, 0, 104, 112, 0, 107, 107,
0, 107, 109, 0, 112, 104, 0, 112, 112, 109, 0, 112,
114, 0, 115, 118, 0, 119, 98, 0, 102, 102, 0, 102,
105, 0, 102, 108, 0, 102, 102, 105, 0, 102, 102, 108,
0, 115, 116, 0, 213, 180, 213, 182, 0, 213, 180, 213,
165, 0, 213, 180, 213, 171, 0, 213, 190, 213, 182, 0,
213, 180, 213, 173, 0, 239, 189, 129, 0, 239, 189, 130,
0, 239, 189, 131, 0, 239, 189, 132, 0, 239, 189, 133,
0, 239, 189, 134, 0, 239, 189, 135, 0, 239, 189, 136,
0, 239, 189, 137, 0, 239, 189, 138, 0, 239, 189, 139,
0, 239, 189, 140, 0, 239, 189, 141, 0, 239, 189, 142,
0, 239, 189, 143, 0, 239, 189, 144, 0, 239, 189, 145,
0, 239, 189, 146, 0, 239, 189, 147, 0, 239, 189, 148,
0, 239, 189, 149, 0, 239, 189, 150, 0, 239, 189, 151,
0, 239, 189, 152, 0, 239, 189, 153, 0, 239, 189, 154,
0,
};
static unsigned short nameprep_id02_prohibited_imap[] = {
68, 196, 196, 324, 196, 196, 196, 452,
196, 196, 196, 452, 196, 196, 196, 452,
196, 196, 196, 452, 196, 196, 196, 452,
196, 196, 196, 452, 196, 196, 196, 452,
196, 196, 196, 452, 196, 196, 196, 452,
196, 196, 196, 452, 196, 196, 196, 452,
196, 196, 196, 452, 196, 196, 196, 452,
196, 196, 196, 452, 580, 580, 580, 580,
580, 580, 580, 580, 0, 1, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2,
2, 3, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 4, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 5, 3, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 6, 6, 6, 6,
6, 6, 6, 6, 6, 6, 6, 6,
6, 6, 6, 6, 6, 6, 6, 6,
6, 6, 6, 6, 6, 6, 6, 6,
6, 6, 6, 6, 6, 6, 6, 6,
6, 6, 6, 6, 6, 6, 6, 6,
6, 6, 6, 6, 6, 6, 6, 6,
6, 6, 6, 6, 6, 6, 6, 6,
6, 6, 6, 6, 6, 6, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 7, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 8, 6, 6, 6, 6,
6, 6, 6, 6, 6, 6, 6, 6,
6, 6, 6, 6, 6, 6, 6, 6,
6, 6, 6, 6, 6, 6, 6, 6,
6, 6, 6, 6, 6, 6, 6, 6,
6, 6, 6, 6, 6, 6, 6, 6,
6, 6, 6, 6, 6, 6, 6, 6,
6, 6, 6, 6, 6, 6, 6, 6,
6, 6, 6, 6, 6, 6, 6, 6,
6, 6, 6, 6, 6, 6, 6, 6,
6, 6, 6, 6, 6, 6, 6, 6,
6, 6, 6, 6, 6, 6, 6, 6,
6, 6, 6, 6, 6, 6, 6, 6,
6, 6, 6, 6, 6, 6, 6, 6,
6, 6, 6, 6, 6, 6, 6, 6,
6, 6, 6, 6, 6, 6, 6, 6,
6, 6, 6, 6,
};
static struct {
unsigned char bm[16];
} nameprep_id02_prohibited_bitmap[] = {
{{
255,255,255,255,255,223, 0,252, 1, 0, 0,248, 1, 0, 0,248,
}},
{{
255,255,255,255, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
}},
{{
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
}},
{{
1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
}},
{{
255,207, 0, 0, 0,255, 0, 0, 0, 0, 0, 0, 0,252, 0, 0,
}},
{{
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,255,255,
}},
{{
255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
}},
{{
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,254,
}},
{{
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,192,
}},
};
static unsigned short nameprep_id02_unassigned_imap[] = {
68, 196, 324, 452, 580, 580, 580, 708,
580, 580, 580, 708, 580, 580, 580, 708,
580, 580, 580, 708, 580, 580, 580, 708,
580, 580, 580, 708, 580, 580, 580, 708,
580, 580, 580, 708, 580, 580, 580, 708,
580, 580, 580, 708, 580, 580, 580, 708,
580, 580, 580, 708, 580, 580, 580, 708,
580, 580, 580, 708, 836, 836, 836, 836,
836, 836, 836, 836, 0, 0, 0, 0,
1, 2, 3, 4, 0, 5, 6, 7,
8, 9, 10, 11, 12, 12, 13, 14,
15, 16, 17, 18, 19, 20, 21, 22,
23, 24, 25, 26, 27, 28, 29, 30,
31, 32, 33, 34, 35, 0, 0, 0,
36, 37, 12, 38, 39, 40, 12, 12,
12, 12, 12, 12, 12, 12, 12, 12,
0, 41, 42, 43, 44, 45, 46, 47,
0, 48, 49, 50, 51, 52, 0, 53,
54, 12, 55, 56, 0, 0, 12, 12,
12, 12, 12, 12, 12, 12, 12, 12,
12, 57, 0, 58, 59, 60, 61, 62,
63, 64, 65, 66, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 67,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 68, 0, 0, 0, 0,
0, 0, 0, 0, 0, 69, 12, 12,
12, 12, 12, 12, 12, 12, 12, 12,
12, 12, 12, 12, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 70, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
71, 12, 72, 73, 0, 0, 74, 75,
76, 77, 78, 79, 12, 12, 12, 12,
12, 12, 12, 12, 12, 12, 12, 12,
12, 12, 12, 12, 12, 12, 12, 12,
12, 12, 12, 12, 12, 12, 12, 12,
12, 12, 12, 12, 12, 12, 12, 12,
12, 12, 12, 12, 12, 12, 12, 12,
12, 12, 12, 12, 12, 12, 12, 12,
12, 12, 12, 12, 12, 12, 12, 12,
12, 12, 12, 12, 12, 12, 12, 12,
12, 12, 12, 12, 12, 12, 12, 12,
12, 12, 12, 12, 12, 12, 12, 12,
12, 12, 12, 12, 12, 12, 12, 12,
12, 12, 12, 12, 12, 12, 12, 12,
12, 12, 12, 12, 12, 12, 12, 12,
12, 12, 12, 12, 12, 12, 12, 12,
12, 12, 12, 12, 12, 12, 12, 12,
12, 12, 12, 12, 12, 12, 12, 12,
12, 12, 12, 12, 12, 12, 12, 12,
12, 12, 12, 12, 12, 12, 12, 12,
12, 12, 12, 12, 12, 12, 12, 12,
12, 12, 12, 12, 12, 12, 12, 12,
12, 12, 12, 12, 12, 12, 12, 12,
12, 12, 12, 12, 12, 12, 12, 12,
12, 12, 12, 12, 12, 12, 12, 12,
12, 12, 12, 12, 12, 12, 12, 12,
12, 12, 12, 12, 12, 12, 12, 12,
12, 12, 12, 12, 12, 12, 12, 12,
12, 12, 12, 12, 12, 12, 12, 12,
12, 12, 12, 12, 12, 12, 12, 12,
12, 12, 12, 12, 12, 12, 12, 12,
12, 12, 12, 12, 12, 12, 12, 12,
12, 12, 12, 12, 12, 12, 12, 12,
12, 12, 12, 80, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0,
};
static struct {
unsigned char bm[16];
} nameprep_id02_unassigned_bitmap[] = {
{{
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
}},
{{
0, 0, 0, 0, 3, 0,240,255,255,255, 0, 0, 0, 0, 0, 0,
}},
{{
0, 0, 0, 0, 0,192, 0, 0, 0, 0, 0, 0, 0,128,255,255,
}},
{{
0, 0, 0, 0, 0, 0, 0, 0, 0,128,255,255,248,255,207,187,
}},
{{
15, 40, 0, 0, 4, 0, 0, 0, 0,128, 0, 3, 0, 0,240,255,
}},
{{
128, 12, 0, 0, 0, 0, 0, 0, 96,230, 0, 0, 0, 0,192,252,
}},
{{
255,255,255,255,255,255, 1, 0, 0, 0,128, 1, 1, 0, 0, 0,
}},
{{
0,249, 1, 0, 4, 0, 0, 4,224,255, 0, 0, 0,248,224,255,
}},
{{
255,239,255,119, 1, 0, 0,248, 0, 0,192,255, 0,192, 0, 0,
}},
{{
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,192, 0,128,
}},
{{
0, 64, 0, 0, 0,224, 0, 0, 0,248,255,255,255,255,255,255,
}},
{{
0, 0, 0, 0, 0, 0,254,255,255,255,255,255,255,255,255,255,
}},
{{
255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
}},
{{
17, 0, 0, 0, 0, 0, 0, 12, 0,192,224, 0, 0, 0,254,255,
}},
{{
17, 96, 6, 0, 0, 2, 58, 44, 96,198,127, 79, 48, 0, 0,248,
}},
{{
27,120, 6, 0, 0, 2,146, 44,120,198,255,161, 63, 0,224,255,
}},
{{
17, 80, 4, 0, 0, 2, 18, 12, 64,196,254,255, 62, 0,255,255,
}},
{{
17, 96, 6, 0, 0, 2, 50, 12,112,198, 63, 79, 60, 0,254,255,
}},
{{
19, 56,194, 41,231, 56, 64, 60, 56,194,127,255,127, 0,248,255,
}},
{{
17, 32, 2, 0, 0, 2, 16, 60, 32,194,159,255, 60, 0,255,255,
}},
{{
19, 32, 2, 0, 0, 2, 16, 60, 32,194,159,191, 60, 0,255,255,
}},
{{
19, 32, 2, 0, 0, 2, 0, 60, 48,194,127,255, 60, 0,255,255,
}},
{{
19, 0,128, 3, 0, 0, 4,208,128,123,160, 0,255,255,227,255,
}},
{{
1, 0, 0, 0, 0, 0, 0,120, 0, 0, 0,240,255,255,255,255,
}},
{{
105,218, 15, 1, 81, 19, 0,196,160,192, 0,204,255,255,255,255,
}},
{{
0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,248, 1, 0,
}},
{{
0,240, 0, 1, 0, 0, 0, 32, 0, 96,255,255,255,255,255,255,
}},
{{
0, 0, 0, 0, 4, 9, 56,252, 0, 0, 0,252,255,255,255,255,
}},
{{
255,255,255,255, 0, 0, 0, 0,192,255, 0, 0, 0, 0,128,247,
}},
{{
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,124, 0, 0, 0, 0,
}},
{{
0, 0, 0, 0,248, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,252,
}},
{{
128, 0, 0, 0, 0, 0, 0, 0,128,194,128,194, 0, 0, 0, 0,
}},
{{
128,194, 0, 0, 0,128,194,128,194,128,128, 0, 0,128, 0, 0,
}},
{{
0,128,194,128, 0, 0, 0, 0,128, 0, 0,248, 1, 0, 0,224,
}},
{{
255,255,255,255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,224,255,
}},
{{
1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
}},
{{
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128,255,
}},
{{
0, 0, 0,224, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,254,255,
}},
{{
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,224, 0,252,255,255,
}},
{{
0,128, 0,252, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,255,
}},
{{
0, 0, 0, 0, 0,252,255,255,255,255,255,255,255,255,255,255,
}},
{{
0, 0, 0,240, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,252,
}},
{{
0, 0,192,192, 0, 0, 0, 0,192,192, 0, 85, 0, 0, 0,192,
}},
{{
0, 0, 0, 0, 0, 0, 32, 0, 32, 0, 48, 16, 0, 0, 35,128,
}},
{{
0, 0, 0, 0, 0, 0, 0, 0,128,192,255,255,255, 3, 14, 0,
}},
{{
0,128,255,255, 0, 0,255,255,255,255, 0, 0,240,255,255,255,
}},
{{
0, 0, 0, 0, 0, 0, 0,248,255,255, 7, 0, 0, 0, 0, 0,
}},
{{
240,255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,240,255,
}},
{{
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,252,255,
}},
{{
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16,
}},
{{
0, 0, 0,248,255,255,255,255,255,255,255,255,255,255,255,255,
}},
{{
0, 0, 0, 0,128,255,255,255, 0,248,255,255, 0, 0, 0, 0,
}},
{{
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,248,255,255,
}},
{{
0, 0,192,255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,255,
}},
{{
0, 0,240, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,252,255,
}},
{{
33, 12, 0, 0, 0, 1, 0, 0, 0, 80,184,128, 1,255, 63, 0,
}},
{{
0, 0,224, 0, 0, 0, 1,128,255,255,255,255,255,255,255,255,
}},
{{
0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,240,255,
}},
{{
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,192,255,255,255, 0,240,
}},
{{
0, 0, 0, 0, 0, 0, 0, 56, 1, 0, 0, 0, 0, 0, 0, 0,
}},
{{
0, 0,224,129, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128,
}},
{{
31, 0, 0, 0, 0,224, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
}},
{{
0,128, 0, 0, 0, 0, 0,255,255,255,255,255,255,255,255,255,
}},
{{
0, 0, 0,224, 0, 0, 0, 0,240,255,255,255, 0, 0, 0,112,
}},
{{
0, 0, 0, 0, 0, 0,254,255, 0,240, 0, 0, 0, 0, 0,128,
}},
{{
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 7,
}},
{{
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,192, 0, 0, 0,128,
}},
{{
0, 0, 0, 0, 0, 0,192,255,255,255,255,255,255,255,255,255,
}},
{{
0, 0, 0, 0,192,255,255,255,255,255,255,255,255,255,255,255,
}},
{{
0,224, 0, 0, 12, 0, 16, 0,162,255,255,255,255,255,255,255,
}},
{{
0, 0, 0, 0,240,255,255,255,255,255,255,255,255,255,255,255,
}},
{{
0, 0, 0, 0, 0,192,255,255,255,255,255,255,255,255,255,255,
}},
{{
128,255, 7, 31, 0, 0,128,160, 36, 0, 0, 0, 0, 0, 0, 0,
}},
{{
0, 0, 0, 0, 0, 0,252,255,255,255, 7, 0, 0, 0, 0, 0,
}},
{{
0, 0, 0, 0, 0, 0, 0, 0,255,255, 0, 0, 0, 0, 0, 0,
}},
{{
0, 0, 3, 0, 0, 0, 0, 0, 0,255, 0, 0, 0, 0, 0,240,
}},
{{
255,255,255,255,240,255, 0, 0,224, 1, 8, 0,128,240, 40, 0,
}},
{{
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 96,
}},
{{
1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 1, 0, 0, 0,
}},
{{
0, 0, 0, 0, 0, 0, 0,128, 3, 3, 3,227,128,128,255, 1,
}},
{{
255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, 63,
}},
};
#define nameprep_id03_map_imap nameprep_id02_map_imap
#define nameprep_id03_map_table nameprep_id02_map_table
#define nameprep_id03_map_data nameprep_id02_map_data
static unsigned short nameprep_id03_prohibited_imap[] = {
68, 196, 196, 324, 196, 196, 196, 452,
196, 196, 196, 452, 196, 196, 196, 452,
196, 196, 196, 452, 196, 196, 196, 452,
196, 196, 196, 452, 196, 196, 196, 452,
196, 196, 196, 452, 196, 196, 196, 452,
196, 196, 196, 452, 196, 196, 196, 452,
196, 196, 196, 452, 196, 196, 196, 452,
196, 196, 196, 452, 580, 580, 580, 580,
580, 580, 580, 580, 0, 1, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2,
2, 3, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 4, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 5, 6, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 7, 7, 7, 7,
7, 7, 7, 7, 7, 7, 7, 7,
7, 7, 7, 7, 7, 7, 7, 7,
7, 7, 7, 7, 7, 7, 7, 7,
7, 7, 7, 7, 7, 7, 7, 7,
7, 7, 7, 7, 7, 7, 7, 7,
7, 7, 7, 7, 7, 7, 7, 7,
7, 7, 7, 7, 7, 7, 7, 7,
7, 7, 7, 7, 7, 7, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 8, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 9, 7, 7, 7, 7,
7, 7, 7, 7, 7, 7, 7, 7,
7, 7, 7, 7, 7, 7, 7, 7,
7, 7, 7, 7, 7, 7, 7, 7,
7, 7, 7, 7, 7, 7, 7, 7,
7, 7, 7, 7, 7, 7, 7, 7,
7, 7, 7, 7, 7, 7, 7, 7,
7, 7, 7, 7, 7, 7, 7, 7,
7, 7, 7, 7, 7, 7, 7, 7,
7, 7, 7, 7, 7, 7, 7, 7,
7, 7, 7, 7, 7, 7, 7, 7,
7, 7, 7, 7, 7, 7, 7, 7,
7, 7, 7, 7, 7, 7, 7, 7,
7, 7, 7, 7, 7, 7, 7, 7,
7, 7, 7, 7, 7, 7, 7, 7,
7, 7, 7, 7, 7, 7, 7, 7,
7, 7, 7, 7,
};
static struct {
unsigned char bm[16];
} nameprep_id03_prohibited_bitmap[] = {
{{
255,255,255,255,255,223, 0,252, 1, 0, 0,248, 1, 0, 0,248,
}},
{{
255,255,255,255, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
}},
{{
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
}},
{{
1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
}},
{{
255,207, 0, 0, 0,255, 0, 0, 0, 0, 0, 0, 0,252, 0, 0,
}},
{{
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,255,255,
}},
{{
5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
}},
{{
255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
}},
{{
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,254,
}},
{{
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,192,
}},
};
static unsigned short nameprep_id03_unassigned_imap[] = {
68, 196, 324, 452, 580, 580, 580, 708,
580, 580, 580, 708, 580, 580, 580, 708,
580, 580, 580, 708, 580, 580, 580, 708,
580, 580, 580, 708, 580, 580, 580, 708,
580, 580, 580, 708, 580, 580, 580, 708,
580, 580, 580, 708, 580, 580, 580, 708,
580, 580, 580, 708, 580, 580, 580, 708,
580, 580, 580, 708, 836, 836, 836, 836,
836, 836, 836, 836, 0, 0, 0, 0,
1, 2, 3, 4, 0, 5, 6, 7,
8, 9, 10, 11, 12, 12, 13, 14,
15, 16, 17, 18, 19, 20, 21, 22,
23, 24, 25, 26, 27, 28, 29, 30,
31, 32, 33, 34, 35, 0, 0, 0,
36, 37, 12, 38, 39, 40, 12, 12,
12, 12, 12, 12, 12, 12, 12, 12,
0, 41, 42, 43, 44, 45, 46, 47,
0, 48, 49, 50, 51, 52, 0, 53,
54, 12, 55, 56, 0, 0, 12, 12,
12, 12, 12, 12, 12, 12, 12, 12,
12, 57, 0, 58, 59, 60, 61, 62,
63, 64, 65, 66, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 67,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 68, 0, 0, 0, 0,
0, 0, 0, 0, 0, 69, 12, 12,
12, 12, 12, 12, 12, 12, 12, 12,
12, 12, 12, 12, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 70, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
71, 12, 72, 73, 0, 0, 74, 75,
76, 77, 78, 79, 12, 12, 12, 12,
12, 12, 12, 12, 12, 12, 12, 12,
12, 12, 12, 12, 12, 12, 12, 12,
12, 12, 12, 12, 12, 12, 12, 12,
12, 12, 12, 12, 12, 12, 12, 12,
12, 12, 12, 12, 12, 12, 12, 12,
12, 12, 12, 12, 12, 12, 12, 12,
12, 12, 12, 12, 12, 12, 12, 12,
12, 12, 12, 12, 12, 12, 12, 12,
12, 12, 12, 12, 12, 12, 12, 12,
12, 12, 12, 12, 12, 12, 12, 12,
12, 12, 12, 12, 12, 12, 12, 12,
12, 12, 12, 12, 12, 12, 12, 12,
12, 12, 12, 12, 12, 12, 12, 12,
12, 12, 12, 12, 12, 12, 12, 12,
12, 12, 12, 12, 12, 12, 12, 12,
12, 12, 12, 12, 12, 12, 12, 12,
12, 12, 12, 12, 12, 12, 12, 12,
12, 12, 12, 12, 12, 12, 12, 12,
12, 12, 12, 12, 12, 12, 12, 12,
12, 12, 12, 12, 12, 12, 12, 12,
12, 12, 12, 12, 12, 12, 12, 12,
12, 12, 12, 12, 12, 12, 12, 12,
12, 12, 12, 12, 12, 12, 12, 12,
12, 12, 12, 12, 12, 12, 12, 12,
12, 12, 12, 12, 12, 12, 12, 12,
12, 12, 12, 12, 12, 12, 12, 12,
12, 12, 12, 12, 12, 12, 12, 12,
12, 12, 12, 12, 12, 12, 12, 12,
12, 12, 12, 12, 12, 12, 12, 12,
12, 12, 12, 12, 12, 12, 12, 12,
12, 12, 12, 12, 12, 12, 12, 12,
12, 12, 12, 80, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0,
};
static struct {
unsigned char bm[16];
} nameprep_id03_unassigned_bitmap[] = {
{{
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
}},
{{
0, 0, 0, 0, 3, 0,240,255,255,255, 0, 0, 0, 0, 0, 0,
}},
{{
0, 0, 0, 0, 0,192, 0, 0, 0, 0, 0, 0, 0,128,255,255,
}},
{{
0, 0, 0, 0, 0, 0, 0, 0, 0,128,255,255,248,255,207,187,
}},
{{
15, 40, 0, 0, 4, 0, 0, 0, 0,128, 0, 3, 0, 0,240,255,
}},
{{
128, 12, 0, 0, 0, 0, 0, 0, 96,230, 0, 0, 0, 0,192,252,
}},
{{
255,255,255,255,255,255, 1, 0, 0, 0,128, 1, 1, 0, 0, 0,
}},
{{
0,249, 1, 0, 4, 0, 0, 4,224,255, 0, 0, 0,248,224,255,
}},
{{
255,239,255,119, 1, 0, 0,248, 0, 0,192,255, 0,192, 0, 0,
}},
{{
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,192, 0,128,
}},
{{
0, 64, 0, 0, 0,224, 0, 0, 0,248,255,255,255,255,255,255,
}},
{{
0, 0, 0, 0, 0, 0,254,255,255,255,255,255,255,255,255,255,
}},
{{
255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
}},
{{
17, 0, 0, 0, 0, 0, 0, 12, 0,192,224, 0, 0, 0,254,255,
}},
{{
17, 96, 6, 0, 0, 2, 58, 44, 96,198,127, 79, 48, 0, 0,248,
}},
{{
27,120, 6, 0, 0, 2,146, 44,120,198,255,161, 63, 0,224,255,
}},
{{
17, 80, 4, 0, 0, 2, 18, 12, 64,196,254,255, 62, 0,255,255,
}},
{{
17, 96, 6, 0, 0, 2, 50, 12,112,198, 63, 79, 60, 0,254,255,
}},
{{
19, 56,194, 41,231, 56, 64, 60, 56,194,127,255,127, 0,248,255,
}},
{{
17, 32, 2, 0, 0, 2, 16, 60, 32,194,159,255, 60, 0,255,255,
}},
{{
19, 32, 2, 0, 0, 2, 16, 60, 32,194,159,191, 60, 0,255,255,
}},
{{
19, 32, 2, 0, 0, 2, 0, 60, 48,194,127,255, 60, 0,255,255,
}},
{{
19, 0,128, 3, 0, 0, 4,208,128,123,160, 0,255,255,227,255,
}},
{{
1, 0, 0, 0, 0, 0, 0,120, 0, 0, 0,240,255,255,255,255,
}},
{{
105,218, 15, 1, 81, 19, 0,196,160,192, 0,204,255,255,255,255,
}},
{{
0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,248, 1, 0,
}},
{{
0,240, 0, 1, 0, 0, 0, 32, 0, 96,255,255,255,255,255,255,
}},
{{
0, 0, 0, 0, 4, 9, 56,252, 0, 0, 0,252,255,255,255,255,
}},
{{
255,255,255,255, 0, 0, 0, 0,192,255, 0, 0, 0, 0,128,247,
}},
{{
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,124, 0, 0, 0, 0,
}},
{{
0, 0, 0, 0,248, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,252,
}},
{{
128, 0, 0, 0, 0, 0, 0, 0,128,194,128,194, 0, 0, 0, 0,
}},
{{
128,194, 0, 0, 0,128,194,128,194,128,128, 0, 0,128, 0, 0,
}},
{{
0,128,194,128, 0, 0, 0, 0,128, 0, 0,248, 1, 0, 0,224,
}},
{{
255,255,255,255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,224,255,
}},
{{
1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
}},
{{
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128,255,
}},
{{
0, 0, 0,224, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,254,255,
}},
{{
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,224, 0,252,255,255,
}},
{{
0,128, 0,252, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,255,
}},
{{
0, 0, 0, 0, 0,252,255,255,255,255,255,255,255,255,255,255,
}},
{{
0, 0, 0,240, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,252,
}},
{{
0, 0,192,192, 0, 0, 0, 0,192,192, 0, 85, 0, 0, 0,192,
}},
{{
0, 0, 0, 0, 0, 0, 32, 0, 32, 0, 48, 16, 0, 0, 35,128,
}},
{{
0, 0, 0, 0, 0, 0, 0, 0,128,192,255,255,255, 3, 14, 0,
}},
{{
0,128,255,255, 0, 0,255,255,255,255, 0, 0,240,255,255,255,
}},
{{
0, 0, 0, 0, 0, 0, 0,248,255,255, 7, 0, 0, 0, 0, 0,
}},
{{
240,255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,240,255,
}},
{{
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,252,255,
}},
{{
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16,
}},
{{
0, 0, 0,248,255,255,255,255,255,255,255,255,255,255,255,255,
}},
{{
0, 0, 0, 0,128,255,255,255, 0,248,255,255, 0, 0, 0, 0,
}},
{{
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,248,255,255,
}},
{{
0, 0,192,255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,255,
}},
{{
0, 0,240, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,252,255,
}},
{{
33, 12, 0, 0, 0, 1, 0, 0, 0, 80,184,128, 1,255, 63, 0,
}},
{{
0, 0,224, 0, 0, 0, 1,128,255,255,255,255,255,255,255,255,
}},
{{
0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,240,255,
}},
{{
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,192,255,255,255, 0,240,
}},
{{
0, 0, 0, 0, 0, 0, 0, 56, 1, 0, 0, 0, 0, 0, 0, 0,
}},
{{
0, 0,224,129, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128,
}},
{{
31, 0, 0, 0, 0,224, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
}},
{{
0,128, 0, 0, 0, 0, 0,255,255,255,255,255,255,255,255,255,
}},
{{
0, 0, 0,224, 0, 0, 0, 0,240,255,255,255, 0, 0, 0,112,
}},
{{
0, 0, 0, 0, 0, 0,254,255, 0,240, 0, 0, 0, 0, 0,128,
}},
{{
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 7,
}},
{{
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,192, 0, 0, 0,128,
}},
{{
0, 0, 0, 0, 0, 0,192,255,255,255,255,255,255,255,255,255,
}},
{{
0, 0, 0, 0,192,255,255,255,255,255,255,255,255,255,255,255,
}},
{{
0,224, 0, 0, 12, 0, 16, 0,162,255,255,255,255,255,255,255,
}},
{{
0, 0, 0, 0,240,255,255,255,255,255,255,255,255,255,255,255,
}},
{{
0, 0, 0, 0, 0,192,255,255,255,255,255,255,255,255,255,255,
}},
{{
128,255, 7, 31, 0, 0,128,160, 36, 0, 0, 0, 0, 0, 0, 0,
}},
{{
0, 0, 0, 0, 0, 0,252,255,255,255, 7, 0, 0, 0, 0, 0,
}},
{{
0, 0, 0, 0, 0, 0, 0, 0,255,255, 0, 0, 0, 0, 0, 0,
}},
{{
0, 0, 3, 0, 0, 0, 0, 0, 0,255,255,255,255,255, 0,240,
}},
{{
255,255,255,255,240,255, 0, 0,224, 1, 8, 0,128,240, 40, 0,
}},
{{
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 96,
}},
{{
1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 1, 0, 0, 0,
}},
{{
0, 0, 0, 0, 0, 0, 0,128, 3, 3, 3,227,128,128,255, 1,
}},
{{
255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, 63,
}},
};