PostgreSQL Source Code  git master
unicode_normprops_table.h File Reference
Include dependency graph for unicode_normprops_table.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  pg_unicode_normprops
 
struct  pg_unicode_norminfo
 

Typedefs

typedef int(* qc_hash_func) (const void *key)
 

Functions

static int NFC_QC_hash_func (const void *key)
 
static int NFKC_QC_hash_func (const void *key)
 

Variables

static const pg_unicode_normprops UnicodeNormProps_NFC_QC []
 
static const pg_unicode_norminfo UnicodeNormInfo_NFC_QC
 
static const pg_unicode_normprops UnicodeNormProps_NFKC_QC []
 
static const pg_unicode_norminfo UnicodeNormInfo_NFKC_QC
 

Typedef Documentation

◆ qc_hash_func

typedef int(* qc_hash_func) (const void *key)

Definition at line 16 of file unicode_normprops_table.h.

Function Documentation

◆ NFC_QC_hash_func()

static int NFC_QC_hash_func ( const void *  key)
static

Definition at line 1262 of file unicode_normprops_table.h.

1263 {
1264  static const int16 h[2463] = {
1265  0, -2717, 0, 221, 1293, 223, 1295, 225,
1266  226, 241, 0, 229, 230, 231, 0, 0,
1267  0, 0, 0, 0, 0, 0, 0, 0,
1268  0, 0, 0, 0, 0, 0, 0, 0,
1269  -386, 0, 0, 0, 0, 0, 0, 0,
1270  -163, 0, 0, 0, 0, 0, 0, 0,
1271  0, 0, 0, 0, 0, 0, 0, 0,
1272  0, 0, 0, 0, 0, 0, 0, 0,
1273  -246, -175, 1260, 0, 0, 0, -174, -173,
1274  0, -172, 0, 0, 0, 0, 0, 0,
1275  1049, 0, 300, 301, 1071, 0, 1071, 0,
1276  1071, 1071, 1057, 0, 0, 0, 0, 1061,
1277  0, -1053, 1664, 0, 2956, 0, 0, -13,
1278  0, 0, 0, 0, 2156, 0, 0, 0,
1279  0, 0, 0, 0, 71, 0, 1082, 0,
1280  1083, 1083, 0, 1084, 0, 0, 0, 0,
1281  0, 0, 0, 0, 0, 0, 0, 0,
1282  0, 0, 0, 0, 0, 359, 360, 361,
1283  -1091, 363, -762, -130, -129, -128, -127, -126,
1284  137, -124, -708, -707, -706, -120, -185, -705,
1285  -117, -184, -1307, -114, -113, -112, -111, 0,
1286  386, 387, 388, 389, -90, 391, 171, 172,
1287  394, -94, -183, 397, 398, 399, -98, -225,
1288  402, -1019, -636, -1019, -225, 407, 408, 409,
1289  410, 411, 674, 413, -171, -170, -169, 417,
1290  352, -168, 420, 353, -770, 423, 424, 425,
1291  426, 427, 428, 32767, 239, 239, 239, 239,
1292  239, 239, 239, 239, 239, 239, 239, 239,
1293  239, 239, 32767, 32767, 237, 32767, 236, 32767,
1294  32767, 234, 234, 234, 234, 617, 234, 234,
1295  234, -2483, 234, -1430, 1526, -1430, 1527, 47,
1296  48, 471, 230, 32767, 32767, 32767, 227, 227,
1297  227, 227, 227, 227, 227, 227, 227, 227,
1298  227, 227, 227, 227, 227, 227, 227, 227,
1299  -159, 227, 227, 227, 227, 227, 227, 227,
1300  64, 227, 227, 227, 227, 227, 227, 227,
1301  227, 227, 227, 227, 227, 227, 227, 227,
1302  227, 227, 227, 227, 227, 227, 227, 227,
1303  -19, 52, 1487, 227, 227, 227, 53, 54,
1304  227, 55, 227, 227, 227, 227, 227, 227,
1305  1276, 227, -989, 32767, 1296, 225, 1296, 225,
1306  1296, 1296, 1282, 225, 225, 225, 225, 1286,
1307  225, -828, 1889, 225, 3181, 225, 225, 212,
1308  225, 225, 225, 225, 2381, 225, 225, 225,
1309  225, 225, 225, 225, 296, 225, 1307, 225,
1310  1308, 1308, 225, 1309, 225, 225, 225, 225,
1311  225, 225, 225, 225, 225, 225, 225, 225,
1312  225, 225, 225, 225, 225, 584, 585, 586,
1313  -866, 588, -537, 95, 96, 97, 98, 99,
1314  362, 101, -483, -482, -481, 105, 40, -480,
1315  108, 41, -1082, 111, 112, 113, 114, 225,
1316  611, 612, 613, 614, 135, 616, 396, 397,
1317  619, 131, 42, 622, 623, 624, 127, 0,
1318  627, -794, -411, -794, 0, 632, 32767, 32767,
1319  32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767,
1320  -272, 32767, 32767, 32767, 0, 32767, 32767, 32767,
1321  32767, 32767, -166, -165, 32767, 32767, 32767, 32767,
1322  -164, 0, 0, 0, 0, 0, 0, 0,
1323  0, 0, 0, 0, 0, 0, 0, 0,
1324  0, 0, 0, 0, 0, 0, 0, 0,
1325  0, 0, 0, 0, 32767, 32767, 32767, 32767,
1326  32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767,
1327  32767, 32767, 397, 32767, 396, 32767, 32767, 32767,
1328  32767, 32767, 32767, 32767, 32767, 32767, 32767, 386,
1329  0, 386, 386, 386, 386, 386, 386, 386,
1330  223, 386, 386, 386, 32767, 385, 385, 385,
1331  385, 385, 32767, 384, 32767, 383, 383, 32767,
1332  382, 382, 32767, 381, 381, 381, 381, 381,
1333  135, 206, 1641, 381, 32767, 32767, 32767, 32767,
1334  32767, 32767, -160, 32767, 32767, 32767, 32767, 32767,
1335  32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767,
1336  32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767,
1337  32767, 32767, 32767, 1148, 32767, 32767, 32767, 32767,
1338  32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767,
1339  32767, 32767, 32767, 32767, 32767, 32767, 32767, 0,
1340  32767, 32767, 32767, 0, 0, 32767, 32767, 32767,
1341  32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767,
1342  32767, -257, 32767, 32767, 32767, 32767, 32767, 32767,
1343  32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767,
1344  32767, 32767, 32767, 32767, -910, -910, 32767, 32767,
1345  0, 32767, 0, 32767, 0, 32767, 0, 32767,
1346  147, 32767, 0, 32767, 0, 32767, 32767, 32767,
1347  32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767,
1348  32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767,
1349  32767, 32767, 0, 32767, 32767, 32767, 32767, 32767,
1350  32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767,
1351  32767, 32767, 32767, 143, 32767, 144, 32767, 145,
1352  32767, 146, 32767, 0, 32767, 148, 32767, 149,
1353  32767, 32767, 32767, -160, 32767, 32767, 32767, 32767,
1354  32767, 32767, 15, 32767, 32767, 0, 32767, 32767,
1355  32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767,
1356  145, 32767, 144, 32767, 32767, 32767, 32767, 32767,
1357  32767, 32767, 0, 32767, 32767, 32767, 32767, 32767,
1358  32767, 32767, 0, -148, 32767, 32767, 32767, 32767,
1359  32767, 32767, 2009, 32767, 32767, 32767, 32767, 32767,
1360  32767, 32767, 0, 32767, 32767, 135, -918, 32767,
1361  151, 32767, 32767, 0, 1, 2, 3, 4,
1362  133, 5, 6, 7, 8, 9, 10, 11,
1363  32767, 32767, -1248, 32767, 13, 154, 188, 188,
1364  32767, 32767, 32767, 32767, 32767, 155, 16, 32767,
1365  32767, 32767, 32767, 32767, 32767, -1853, -1054, 18,
1366  -1052, -1051, -1036, 22, 32767, 157, 32767, 28,
1367  23, 1077, 673, 25, -2930, 0, 32767, 32767,
1368  32767, 32767, 32767, 27, 32767, 155, 32767, 154,
1369  32767, 32767, -62, 28, -42, 30, -1051, 32,
1370  -1050, 32767, 32767, 32767, 32767, 32767, 32767, 32767,
1371  32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767,
1372  32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767,
1373  32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767,
1374  32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767,
1375  32767, 32767, 32767, 32767, 32767, 32767, 32767, 34,
1376  32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767,
1377  32767, 129, 32767, 32767, 32767, 32767, 32767, 32767,
1378  32767, 32767, 672, 32767, 32767, 32767, 32767, 32767,
1379  32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767,
1380  32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767,
1381  32767, 32767, 32767, 32767, 32767, 32767, 0, 32767,
1382  32767, 32767, 32767, 32767, -156, 32767, 32767, 32767,
1383  32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767,
1384  32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767,
1385  32767, 32767, 32767, 32767, 32767, -155, 32767, 32767,
1386  32767, 0, 0, 32767, 32767, 32767, 32767, 32767,
1387  32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767,
1388  32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767,
1389  32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767,
1390  32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767,
1391  32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767,
1392  32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767,
1393  32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767,
1394  32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767,
1395  32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767,
1396  32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767,
1397  32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767,
1398  32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767,
1399  32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767,
1400  73, 32767, 32767, 32767, 32767, 74, 32767, 32767,
1401  32767, 32767, 32767, 32767, 32767, 32767, 32767, 675,
1402  32767, 32767, 32767, 32767, 32767, 75, 32767, 32767,
1403  32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767,
1404  32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767,
1405  32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767,
1406  32767, 32767, 165, 32767, 32767, 32767, 166, 167,
1407  32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767,
1408  32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767,
1409  32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767,
1410  32767, 32767, 170, 32767, 32767, 32767, 32767, 32767,
1411  32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767,
1412  32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767,
1413  32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767,
1414  32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767,
1415  32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767,
1416  32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767,
1417  32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767,
1418  32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767,
1419  32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767,
1420  32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767,
1421  32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767,
1422  32767, 689, 690, 691, 692, 693, 694, 695,
1423  696, 697, 698, 699, 700, 701, 702, 703,
1424  704, 705, 706, 707, 708, 709, 710, 711,
1425  712, 713, 714, 715, 716, 717, 718, 719,
1426  720, 721, 722, -304, -303, -302, -301, -300,
1427  -299, -298, -297, 930, -295, -294, -293, -292,
1428  -291, -290, -289, -288, -287, -286, -285, -284,
1429  -283, -282, -281, -280, -279, -278, -277, -276,
1430  -275, 753, 754, 755, 646, 757, -712, -1765,
1431  952, -712, 2244, -712, 2245, 765, 766, 767,
1432  768, 125, 770, 771, 772, 773, 774, 775,
1433  603, 777, 778, 779, 780, 781, 782, 783,
1434  784, 2011, 786, 787, 788, 789, 790, 791,
1435  792, 793, 794, 795, 796, 797, 798, 799,
1436  800, 801, 802, 803, 804, 805, 806, 603,
1437  603, 809, 603, 811, 603, 603, 814, 815,
1438  816, 817, 435, 819, 820, 821, 3539, 823,
1439  603, -468, 603, -468, 603, 603, 589, 831,
1440  603, 603, 603, 835, 836, 837, 838, 839,
1441  840, 841, 842, 843, 844, 845, 846, 847,
1442  848, 849, 850, 851, 852, 1239, 854, 855,
1443  856, 857, 858, 859, 860, 1024, 862, 863,
1444  864, 865, 866, 867, 868, 869, 870, 871,
1445  872, 873, 874, 875, 876, 877, 878, 879,
1446  880, 881, 882, 883, 884, 1131, 1061, -373,
1447  888, 889, 890, 1065, 1065, 893, 1066, 895,
1448  896, 897, 898, 899, 900, -148, 902, 603,
1449  603, -166, 906, -164, 908, -162, -161, -146,
1450  912, 913, 914, 915, -145, 917, 1971, -745,
1451  920, -2035, 922, 923, 937, 925, 926, 927,
1452  928, -1227, 930, 931, 932, 933, 934, 935,
1453  936, 866, 938, -143, 940, -142, -141, 943,
1454  -140, 32767, 945, 946, 947, 948, 949, 950,
1455  951, 952, 953, 954, 955, 956, 957, 958,
1456  959, 960, 961, -65, -64, -63, -62, -61,
1457  -60, -59, -58, 1169, -56, -55, -54, -53,
1458  -52, -51, -50, -49, -48, -47, -46, -45,
1459  -44, -43, -42, -41, -40, -39, -38, -37,
1460  -36, 992, 993, 994, 885, 996, -473, -1526,
1461  1191, -473, 2483, -473, 2484, 1004, 1005, 1006,
1462  1007, 364, 1009, 1010, 1011, 1012, 1013, 1014,
1463  842, 1016, 1017, 1018, 1019, 1020, 1021, 1022,
1464  1023, 2250, 1025, 1026, 1027, 1028, 1029, 1030,
1465  1031, 1032, 1033, 1034, 1035, 1036, 1037, 1038,
1466  1039, 1040, 1041, 1042, 1043, 1044, 1045, 842,
1467  842, 1048, 842, 1050, 842, 842, 1053, 1054,
1468  1055, 1056, 674, 1058, 1059, 1060, 3778, 1062,
1469  842, -229, 842, -229, 842, 842, 828, 1070,
1470  842, 842, 842, 1074, 1075, 1076, 1077, 1078,
1471  1079, 1080, 1081, 1082, 1083, 1084, 1085, 1086,
1472  1087, 1088, 1089, 1090, 1091, 1478, 1093, 1094,
1473  1095, 1096, 1097, 1098, 1099, 1263, 1101, 1102,
1474  1103, 1104, 1105, 1106, 1107, 1108, 1109, 1110,
1475  1111, 1112, 1113, 1114, 1115, 1116, 1117, 1118,
1476  1119, 1120, 1121, 1122, 1123, 1370, 1300, -134,
1477  1127, 1128, 1129, 1304, 1304, 1132, 1305, 1134,
1478  1135, 1136, 1137, 1138, 1139, 91, 1141, 842,
1479  842, 73, 1145, 75, 1147, 77, 78, 93,
1480  1151, 1152, 1153, 1154, 94, 1156, 2210, -506,
1481  1159, -1796, 1161, 1162, 1176, 1164, 1165, 1166,
1482  1167, -988, 1169, 1170, 1171, 1172, 1173, 1174,
1483  1175, 1105, 1177, 96, 1179, 97, 98, 1182,
1484  99, 1184, 1185, 1186, 1187, 1188, 1189, 1190,
1485  1191, 1192, 1193, 1194, 1195, 1196, 1197, 1198,
1486  1199, 1200, 0, 174, 175, 176, 177, 178,
1487  179, 180, 181, 1408, 183, 184, 185, 186,
1488  187, 188, 189, 190, 191, 192, 193, 194,
1489  195, 196, 197, 198, 199, 200, 201, 202,
1490  203, 0, 0, 206, 0, 208, 0, 0,
1491  211, 212, 213, 214, -168, 216, 217, 218,
1492  2936, 220, 0, -1071, 0, -1071, 0, 0,
1493  -14, 228, 0, 0, 0, 232, 233, 234,
1494  235, 236, 237, 238, 239, 240, 241, 242,
1495  243, 244, 245, 246, 247, 248, 249, 636,
1496  251, 252, 253, 254, 255, 256, 257, 421,
1497  259, 260, 261, 262, 263, 264, 265, 266,
1498  267, 268, 269, 270, 271, 272, 273, 274,
1499  275, 276, 277, 278, 279, 280, 281, 528,
1500  458, -976, 285, 286, 287, 462, 462, 290,
1501  463, 292, 293, 294, 295, 296, 297, -751,
1502  299, 0, 0, -769, 303, -767, 305, -765,
1503  -764, -749, 309, 310, 311, 312, -748, 314,
1504  1368, -1348, 317, -2638, 319, 320, 334, 322,
1505  323, 324, 325, -1830, 327, 328, 329, 330,
1506  331, 332, 333, 263, 335, -746, 337, -745,
1507  -744, 340, -743, 342, 343, 344, 345, 346,
1508  347, 348, 349, 350, 351, 352, 353, 354,
1509  355, 356, 357, 358, 0, 0, 0, 1453,
1510  0, 1126, 495, 495, 495, 495, 495, 233,
1511  495, 1080, 1080, 1080, 495, 561, 1082, 495,
1512  563, 1687, 495, 495, 495, 495, 385, 0,
1513  0, 0, 0, 480, 0, 221, 221, 0,
1514  489, 579, 0, 0, 0, 498, 626, 0,
1515  1422, 1040, 1424, 631, 0, 0, 0, 0,
1516  0, -262, 0, 585, 585, 585, 0, 66,
1517  587, 0, 68, 1192, 0, 0, 0, 0,
1518  0, 0, 32767, 32767, 32767, 32767, 669, 32767,
1519  32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767,
1520  32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767,
1521  32767, 32767, 32767, 32767, 32767, 32767, 32767, 670,
1522  32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767,
1523  32767, 32767, 142, 32767, 32767, 32767, 32767, 32767,
1524  32767, 32767, 115, 116, 117, 118, 119, 120,
1525  121, 122, 123, 124, 125, 126, 127, 128,
1526  129, 130, 131, 132, 133, 134, 135, 136,
1527  137, 138, 139, 140, 141, 32767, 32767, 32767,
1528  32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767,
1529  32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767,
1530  32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767,
1531  32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767,
1532  32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767,
1533  32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767,
1534  32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767,
1535  32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767,
1536  32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767,
1537  32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767,
1538  32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767,
1539  32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767,
1540  32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767,
1541  32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767,
1542  32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767,
1543  32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767,
1544  32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767,
1545  32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767,
1546  32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767,
1547  32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767,
1548  32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767,
1549  32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767,
1550  32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767,
1551  32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767,
1552  32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767,
1553  32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767,
1554  32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767,
1555  32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767,
1556  32767, 32767, 32767, 0, 0, 0, 0, 0,
1557  0, 0, 0, 0, 0, 0, 0, 0,
1558  0, 0, 0, 0, 0, 0, 0, 0,
1559  0, 0, 0, 0, 0, 0, 0, 0,
1560  0, 0, 0, 0, 0, 1027, 1027, 1027,
1561  1027, 1027, 1027, 1027, 1027, -199, 1027, 1027,
1562  1027, 1027, 1027, 1027, 1027, 1027, 1027, 1027,
1563  1027, 1027, 1027, 1027, 1027, 1027, 1027, 1027,
1564  1027, 1027, 1027, 0, 0, 0, 110, 0,
1565  1470, 2524, -192, 1473, -1482, 1475, -1481, 0,
1566  0, 0, 0, 644, 0, 0, 0, 0,
1567  0, 0, 173, 0, 0, 0, 0, 0,
1568  0, 0, 0, -1226, 0, 0, 0, 0,
1569  0, 0, 0, 0, 0, 0, 0, 0,
1570  0, 0, 0, 0, 0, 0, 0, 0,
1571  0, 204, 205, 0, 207, 0, 209, 210,
1572  0, 0, 0, 0, 383, 0, 0
1573  };
1574 
1575  const unsigned char *k = (const unsigned char *) key;
1576  size_t keylen = 4;
1577  uint32 a = 0;
1578  uint32 b = 0;
1579 
1580  while (keylen--)
1581  {
1582  unsigned char c = *k++;
1583 
1584  a = a * 257 + c;
1585  b = b * 17 + c;
1586  }
1587  return h[a % 2463] + h[b % 2463];
1588 }
signed short int16
Definition: c.h:428
char * c
unsigned int uint32
Definition: c.h:441

◆ NFKC_QC_hash_func()

static int NFKC_QC_hash_func ( const void *  key)
static

Definition at line 6520 of file unicode_normprops_table.h.

6521 {
6522  static const int16 h[9837] = {
6523  -2472, -2472, -2472, -2472, -2472, -2472, -2472, -2472,
6524  -2472, -2472, -2472, -2472, -2472, -2472, -2472, -2472,
6525  -2472, -2472, -2472, -2472, -2472, -2472, -2472, -2472,
6526  -2472, -2472, -2472, -2472, -2472, 32767, 32767, 32767,
6527  -2475, -2475, -2475, -2475, -2475, -2475, -2475, -2475,
6528  -2475, -2475, -2475, -2475, -2475, -2475, 32767, 32767,
6529  32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767,
6530  32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767,
6531  32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767,
6532  32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767,
6533  32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767,
6534  32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767,
6535  32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767,
6536  32767, 865, 865, 865, 865, 865, 865, 865,
6537  865, 865, 865, 865, -2255, 32767, -5207, 32767,
6538  -5207, 860, 860, 860, 860, 860, 860, 860,
6539  860, 860, 4250, 861, 861, 861, 3339, 3339,
6540  3339, 3339, 3339, 3339, 3339, 3339, 3339, 3339,
6541  3339, 3339, 3339, 3339, 3339, 3339, 3339, 3339,
6542  32767, 3338, 3338, 3338, 3338, 3338, 3338, 3338,
6543  3338, 3338, 3338, 3338, 3338, 3338, 3338, 3338,
6544  3338, 3338, 3338, 3338, 3338, 3338, 3338, 3338,
6545  3338, 3338, 3338, 3338, 3338, 3338, 3338, 3338,
6546  3338, 9, 10, 32767, 11, 12, 0, 32767,
6547  0, 2913, 2914, 2915, 2916, 32767, 32767, 32767,
6548  32767, 32767, 32767, 32767, 2917, 32767, 2918, -100,
6549  2919, 2920, 2921, 840, 840, 840, 2922, 0,
6550  0, 0, 0, 0, 2206, 0, 2923, 0,
6551  2924, 2925, 2926, 0, 0, 0, -2590, 0,
6552  0, 0, 0, 0, 0, 0, 2934, 0,
6553  2474, 2931, 2932, 0, 0, 0, 0, 0,
6554  14, 805, 0, 0, 2933, 0, 2934, 0,
6555  2935, 2936, 0, 0, 0, 16, 17, 0,
6556  0, 0, 0, 0, 0, 0, 0, 18,
6557  0, 0, 0, 0, 0, 0, 0, 0,
6558  0, 0, 0, 0, 0, 0, 0, 0,
6559  0, 0, 0, 0, 0, 0, 0, 0,
6560  0, 0, 0, 0, 0, 0, 0, 0,
6561  0, 0, 0, 0, -790, 0, 0, 0,
6562  0, 0, 0, 0, 0, 0, 0, 0,
6563  0, 0, -1675, 0, 0, 19, 0, -1679,
6564  0, 0, 0, 0, 0, 0, 0, 0,
6565  0, 0, 0, 0, 0, 0, 0, -1694,
6566  0, 0, 0, 0, 0, 0, 0, 0,
6567  0, 0, 0, 0, 0, 0, 0, 0,
6568  0, 0, 0, 0, 0, 0, 0, 0,
6569  0, 0, 0, 0, 0, 0, 0, 0,
6570  0, 0, 0, 0, 0, 0, 0, 0,
6571  0, 0, 0, 0, 0, 0, 0, 0,
6572  0, 0, 20, 21, 22, 23, 24, 25,
6573  26, 27, 28, 0, 0, 0, 0, 0,
6574  0, 0, 0, 0, 0, 0, 0, 0,
6575  0, 0, 0, 0, 0, 0, 0, 0,
6576  0, 0, 0, 0, 0, 0, 0, 0,
6577  0, 0, 0, 0, 0, 0, 0, 0,
6578  0, 0, 0, 0, 0, 0, 0, 0,
6579  0, 0, 0, 0, 0, 0, 0, 0,
6580  0, 0, 0, 0, 0, 0, 32767, 32767,
6581  32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767,
6582  32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767,
6583  32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767,
6584  32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767,
6585  32767, 32767, 29, 30, 31, 32767, 32767, 32767,
6586  32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767,
6587  32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767,
6588  32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767,
6589  32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767,
6590  32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767,
6591  32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767,
6592  32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767,
6593  32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767,
6594  32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767,
6595  32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767,
6596  32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767,
6597  32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767,
6598  32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767,
6599  32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767,
6600  32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767,
6601  32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767,
6602  32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767,
6603  32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767,
6604  32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767,
6605  32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767,
6606  32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767,
6607  32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767,
6608  32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767,
6609  32767, 32767, 724, 2668, 724, 4350, -2633, -2633,
6610  2533, 2534, 2535, 32767, 32767, 32767, 32767, 32767,
6611  32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767,
6612  32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767,
6613  32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767,
6614  32767, 32767, 2518, 2519, 2520, 1431, 45, 46,
6615  32767, 32767, 47, 48, 49, 50, 51, 32767,
6616  32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767,
6617  32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767,
6618  32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767,
6619  32767, 32767, 32767, -3011, 53, -1125, -3010, -3010,
6620  32767, -3334, -1123, -3011, 60, 61, 62, 63,
6621  32767, 32767, 64, 32767, 65, 32767, 66, 67,
6622  32767, 32767, 32767, 32767, 32767, 32767, 2268, 32767,
6623  32767, 32767, 32767, 32767, 32767, 32767, 69, 70,
6624  71, 72, 73, 74, 32767, 32767, 32767, 32767,
6625  75, 76, 32767, 77, 281, 32767, 32767, 32767,
6626  32767, 32767, 32767, 811, 32767, 32767, 32767, 32767,
6627  32767, 32767, 32767, 1341, 1342, 1343, 1344, 1345,
6628  1346, 32767, 32767, 32767, 32767, 32767, 32767, 32767,
6629  32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767,
6630  32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767,
6631  32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767,
6632  32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767,
6633  32767, 32767, 32767, 32767, 32767, 32767, 32767, 86,
6634  32767, 32767, 32767, 32767, 32767, 4550, 32767, 32767,
6635  32767, 1135, 32767, 32767, 32767, 32767, 32767, 1130,
6636  3016, 32767, 3017, 32767, 32767, 32767, 32767, 32767,
6637  32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767,
6638  32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767,
6639  32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767,
6640  32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767,
6641  32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767,
6642  32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767,
6643  32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767,
6644  32767, 677, 32767, 32767, 32767, 32767, 32767, 32767,
6645  32767, 32767, 32767, 2858, 2859, 651, 2861, -438,
6646  2863, 2864, 32767, 32767, 32767, 32767, 32767, 32767,
6647  32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767,
6648  32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767,
6649  32767, 32767, 32767, -5305, -5305, -5305, 32767, -5306,
6650  -5306, 32767, 32767, 32767, 2871, 32767, 32767, 32767,
6651  32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767,
6652  32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767,
6653  32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767,
6654  32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767,
6655  32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767,
6656  32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767,
6657  32767, 3022, 3023, 680, 32767, 32767, 32767, 32767,
6658  32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767,
6659  32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767,
6660  32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767,
6661  32767, -272, 32767, 32767, 32767, 32767, 32767, 32767,
6662  32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767,
6663  32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767,
6664  32767, 32767, 32767, 32767, 32767, 4308, 4309, 4310,
6665  32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767,
6666  32767, 32767, 32767, 32767, 32767, 4311, 4312, 4313,
6667  4314, 4315, 4316, 4317, 4318, 4319, 4320, 4321,
6668  4322, 4323, 4324, 4325, 4326, 4307, 4307, 4307,
6669  4307, 4307, 4307, 4307, 4307, 4307, 4336, 4337,
6670  4338, 4339, 4340, 4341, 4342, 4343, 4344, 4345,
6671  4346, 4347, 4348, 4349, 4350, 4351, 4352, 4353,
6672  4354, 32767, 32767, 32767, 32767, 4355, 4356, 4357,
6673  4358, 4359, 4360, 4361, 4362, 4363, 32767, 32767,
6674  32767, 32767, 32767, 32767, 32767, 4364, 4365, 32767,
6675  32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767,
6676  32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767,
6677  32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767,
6678  32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767,
6679  32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767,
6680  32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767,
6681  32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767,
6682  32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767,
6683  32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767,
6684  32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767,
6685  32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767,
6686  32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767,
6687  32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767,
6688  32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767,
6689  0, 0, 0, 0, 0, 0, 0, 0,
6690  0, 0, 2202, 0, 0, 0, 59, 0,
6691  0, 35, 0, 0, 0, 3549, 0, 0,
6692  0, 0, 0, 3394, 0, 0, 3399, 0,
6693  0, 0, 0, 0, 0, 0, 0, 2012,
6694  0, 0, 0, 0, 87, 2022, 0, 7490,
6695  0, 0, 0, 0, 0, 0, 0, 0,
6696  0, 0, 0, 0, 0, 0, 0, 0,
6697  2255, 0, 2256, 2256, 2256, 0, 0, 0,
6698  0, 0, 0, 0, 0, 0, 0, 0,
6699  0, 0, 0, 0, 0, 32767, 0, 0,
6700  0, 0, 0, 0, -1759, 0, 0, 0,
6701  0, 0, 0, 0, 0, 0, 0, 0,
6702  0, 0, 0, 0, 0, 0, 0, 0,
6703  0, 0, 0, 0, 0, 0, 0, 0,
6704  0, 0, 0, 0, 0, 0, 0, 0,
6705  0, 0, 0, 0, 4767, 0, 0, 4772,
6706  0, 0, 0, 0, 0, 0, 0, 0,
6707  0, 0, 0, 0, 0, 0, 0, 0,
6708  0, 0, 0, 0, 0, 32767, 5977, 0,
6709  892, 32767, 0, 32767, 32767, 0, 0, 32767,
6710  32767, 2344, 4834, 4835, 4836, 32767, 0, 4840,
6711  0, 0, 0, 0, 0, 0, 0, 0,
6712  0, 0, 32767, 0, 32767, 0, 0, 0,
6713  0, 0, 0, 0, 32767, 0, 0, 0,
6714  0, 0, 0, 0, 0, 0, 0, 0,
6715  0, 0, 0, 0, 0, 0, 0, 0,
6716  0, 0, 0, 0, 0, 0, 0, 0,
6717  0, 0, 0, 0, 0, 0, 0, 0,
6718  0, 0, 0, 0, 0, 0, 0, 0,
6719  0, 0, 0, 0, 0, 0, 0, 0,
6720  0, 0, 0, 0, 0, 0, 0, 0,
6721  32767, 32767, 0, 32767, 0, 0, 0, 32767,
6722  32767, 32767, 32767, 3261, 3262, 32767, 3007, 32767,
6723  32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767,
6724  32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767,
6725  32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767,
6726  32767, 106, 107, 108, 32767, 32767, 32767, 32767,
6727  32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767,
6728  32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767,
6729  32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767,
6730  32767, 32767, 32767, 109, 110, 111, 112, 32767,
6731  32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767,
6732  32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767,
6733  32767, 32767, 32767, 32767, 32767, 0, 0, -2344,
6734  -2344, 0, 32767, 0, 32767, 32767, 32767, 32767,
6735  32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767,
6736  32767, 32767, -1642, 1469, -1641, 1469, -1640, 1469,
6737  1469, 1457, 1469, 1469, 1469, -4254, -4254, -4254,
6738  -4254, -4254, -4254, -4254, -4254, -4254, -4254, -4254,
6739  -4254, -4254, -4254, -4254, -4254, -4254, -3359, -4254,
6740  -4254, -4254, -4254, -4254, -4254, -4254, -4254, -4254,
6741  -4254, -4254, -4254, -4254, -4254, -4254, -4254, -4254,
6742  -4254, -4254, -4254, -4254, -4254, -4254, -4254, -4254,
6743  -4254, -4254, -4254, -4254, -4254, -4254, -4254, -4254,
6744  -4254, -4254, -4254, -4254, -4254, -4254, -4254, -4103,
6745  -1478, 0, -4254, -4254, -4254, -4254, -4254, -4254,
6746  -4254, -4254, -4254, -2433, -4254, -4254, -4254, -3658,
6747  -4254, -4254, -4254, -4254, -4254, -4254, -4254, -4254,
6748  -4254, -4254, 0, -4253, -4253, -4253, -4253, -4253,
6749  -4253, -4253, -4253, -4253, -678, -677, -676, -675,
6750  -674, -673, -672, -4253, 314, -4253, -4253, -4253,
6751  -4253, -4253, -4253, -4253, -4253, -4253, -4253, -4253,
6752  -4253, 0, 0, 0, 0, 0, 0, 0,
6753  0, 0, 0, 0, 0, 32767, 32767, 32767,
6754  32767, 32767, 32767, 32767, 1464, 1465, 1466, 1467,
6755  1468, 1469, 0, 32767, 32767, 32767, 32767, 32767,
6756  32767, 32767, 32767, 32767, 32767, 32767, 32767, 0,
6757  0, 0, 0, 0, 32767, 32767, 32767, 32767,
6758  32767, 0, 32767, 0, 0, 0, 0, 0,
6759  0, 0, 0, 0, 0, 0, 0, 0,
6760  0, 0, 0, 0, 0, 0, 0, 0,
6761  0, 827, 828, 829, -2469, -2469, -260, 0,
6762  0, 32767, 0, 32767, 0, 0, 32767, 0,
6763  0, 32767, 0, 0, 0, 0, 0, 0,
6764  0, 0, 0, 0, 0, 0, 0, 0,
6765  0, 0, 0, 0, 0, 0, 0, 0,
6766  0, 0, 0, 0, 0, 0, 0, 0,
6767  3575, 3576, 3577, 3578, 3579, 3580, 3581, 0,
6768  4567, 0, 0, 0, 0, 0, 0, 0,
6769  0, 0, 0, 0, 0, 0, 0, 0,
6770  0, 0, 0, 2201, 4411, 0, 0, 0,
6771  0, 0, 0, 0, 0, 0, 0, 0,
6772  0, 0, 0, 0, 0, 0, 0, 0,
6773  0, 0, 0, 0, -3338, 0, 0, 0,
6774  0, 0, 0, 0, -3337, 0, -3336, 0,
6775  0, 0, 0, -3335, 0, 0, -3334, -3333,
6776  -3332, -3331, 0, 0, -3330, 0, 0, 32767,
6777  0, 0, 13, 32767, 32767, 32767, 32767, 32767,
6778  32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767,
6779  32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767,
6780  32767, 32767, 32767, 32767, 32767, 32767, 32767, 0,
6781  0, 0, 0, 0, 0, 0, 0, 0,
6782  0, 0, 0, 0, 0, 0, 0, 0,
6783  0, 0, 0, 0, 0, 0, 0, 0,
6784  0, 0, 0, 0, 0, 0, 0, 0,
6785  0, 0, 0, 0, 0, 0, 0, 0,
6786  0, 0, 0, 0, 32767, 32767, 32767, 32767,
6787  32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767,
6788  32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767,
6789  32767, 32767, 32767, 32767, 32767, 32767, 32767, 3073,
6790  32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767,
6791  -2556, 32767, 32767, 32767, 32767, 32767, 32767, 32767,
6792  32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767,
6793  3074, 32767, 32767, 32767, 32767, 32767, 32767, 32767,
6794  32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767,
6795  32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767,
6796  32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767,
6797  32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767,
6798  32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767,
6799  32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767,
6800  32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767,
6801  32767, 32767, 32767, 32767, 2355, 32767, 32767, 32767,
6802  32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767,
6803  32767, 32767, -488, -488, -488, -302, -3067, -3067,
6804  -3067, -3067, -488, -488, -488, -488, 2999, -488,
6805  2999, -488, -488, -488, -3067, -3067, -3067, -488,
6806  -488, -3067, -3067, -3067, -488, -488, -488, 2463,
6807  -488, -488, -488, -301, 2465, -488, 2466, 2467,
6808  -3600, -493, -3599, -488, -3598, -488, -3597, -488,
6809  -488, -500, -488, -488, -488, -488, -488, 2470,
6810  2471, 2472, -488, -488, -254, -488, -488, -488,
6811  -488, -488, -104, -488, -488, -488, -102, -101,
6812  -100, -99, -98, -97, -96, -95, -94, -93,
6813  -92, -488, -488, -488, -488, -488, -488, -488,
6814  -488, -488, -2194, -2194, -2194, -2194, -2194, -2194,
6815  -2194, -2194, -2194, -2194, 5211, 3269, 5213, 3269,
6816  6895, -88, -88, 5078, 5079, 5080, 1773, -92,
6817  -92, 1773, 1773, 1773, 1773, 1773, 1773, 5072,
6818  5073, 2865, 5075, 1776, 5077, 5078, 1778, 1778,
6819  6942, 6943, 1778, 1778, 1778, 5086, 6952, 6953,
6820  5089, 5090, 5091, 5092, 5093, 5094, 5095, 5096,
6821  4007, 5098, 2333, 2334, 2335, 2336, 2337, -3066,
6822  -3066, -3066, 2341, -3066, -3066, 2344, 2345, 2346,
6823  5114, 317, 2349, 848, 849, 850, 2353, 852,
6824  853, 854, 855, 856, 857, 858, 859, 860,
6825  861, 692, 692, 692, 692, 692, 692, 692,
6826  692, 692, 692, 692, 692, 692, 692, 692,
6827  692, 692, 692, 692, 692, 692, 692, 692,
6828  692, 692, 692, 692, 692, 692, 692, 692,
6829  692, 692, 692, 692, 692, 692, 692, 692,
6830  32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767,
6831  32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767,
6832  32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767,
6833  32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767,
6834  32767, 3093, 3094, 3095, 3096, 3097, 3098, 3099,
6835  3100, 3101, 3102, 901, 3104, 3105, 3106, 3048,
6836  3108, 3109, 3075, 3111, 3112, 3113, -435, 3115,
6837  3116, 3117, 3118, 3119, -274, 3121, 3122, -276,
6838  3124, 3125, 3126, 3127, 3128, 3129, 3130, 3131,
6839  1120, 3133, 3134, 3135, 3136, 3050, 1116, 3139,
6840  -4350, 3141, 3142, 3143, 3144, 3145, 3146, 3147,
6841  3148, 3149, 3150, 3151, 3152, 3153, 3154, 3155,
6842  3156, 902, 3158, 903, 904, 905, 3162, 3163,
6843  3164, 3165, 3166, 3167, 3168, 3169, 3170, 3171,
6844  3172, 3173, 3174, 3175, 3176, 3177, 32767, 3178,
6845  3179, 3180, 3181, 3182, 3183, 4943, 3185, 3186,
6846  3187, 3188, 3189, 3190, 3191, 3192, 3193, 3194,
6847  3195, 3196, 3197, 3198, 3199, 3200, 3201, 3202,
6848  3203, 3204, 3205, 3206, 3207, 3208, 3209, 3210,
6849  3211, 3212, 3213, 3214, 3215, 3216, 3217, 3218,
6850  3219, 3220, 3221, 3222, 3223, -1543, 3225, 3226,
6851  -1545, 3228, 3229, 3230, 3231, 3232, 3233, 3234,
6852  3235, 3236, 3237, 3238, 3239, 3240, 3241, 3242,
6853  3243, 3244, 3245, 3246, 3247, 3248, -1251, -2728,
6854  3250, 32767, 32767, 3251, 906, 907, 3252, 3253,
6855  32767, 32767, 910, -1579, -1579, -1579, 32767, 3258,
6856  -1581, 3260, 3261, 3262, 3263, 3264, 3265, 3266,
6857  3267, 3268, 3269, 32767, 3270, 32767, 3271, 3272,
6858  3273, 3274, 3275, 3276, 3277, 32767, 3278, 3279,
6859  3280, 3281, 3282, 3283, 3284, 3285, 3286, 3287,
6860  3288, 3289, 3290, 3291, 3292, 3293, 3294, 3295,
6861  3296, 3297, 3298, 3299, 3300, 3301, 3302, 3303,
6862  3304, 3305, 3306, 3307, 3308, 3309, 3310, 3311,
6863  3312, 3313, 3314, 3315, 3316, 3317, 3318, 3319,
6864  3320, 3321, 3322, 3323, 3324, 3325, 3326, 3327,
6865  3328, 3329, 3330, 3331, 3332, 3333, 3334, 3335,
6866  3336, 32767, 3337, 3338, 3339, 3340, 3341, 3342,
6867  0, 3343, 3344, 3345, 3346, 32767, 32767, 3347,
6868  3348, 3349, 3350, 3351, 3352, 3353, 3354, 32767,
6869  3355, 3356, 3357, 3358, 3359, 3360, 3361, 32767,
6870  3362, 3363, 3364, 3365, 3366, 3367, 3368, 3369,
6871  3370, 3371, 3372, 3373, 3374, 3375, 3376, 3377,
6872  3378, 3379, 3380, 3381, 3382, 3383, 3384, 3385,
6873  3386, 3387, 3388, 3389, 0, 3390, 3391, 3392,
6874  915, 916, 917, 918, 919, 920, 921, 922,
6875  923, 924, 925, 926, 927, 928, 929, 930,
6876  931, 932, 933, 934, 935, 936, 937, 938,
6877  939, 940, 941, 942, 943, 944, 945, 946,
6878  947, 948, 949, 950, 951, 952, 953, 954,
6879  955, 956, 957, 958, 959, 960, 961, 962,
6880  963, 964, 965, 966, 967, 968, 969, 970,
6881  971, 972, 973, 974, 975, 976, 3449, 3450,
6882  3451, 3452, 3453, 3454, 3455, 3456, 3457, 3458,
6883  3459, 3460, 3461, 3462, 3463, 3464, 3465, 3466,
6884  3467, 3468, 3469, 3470, 3471, 3472, 3473, 3474,
6885  3475, 3476, 3477, 3478, 3479, 3480, 3481, 3482,
6886  3483, 3484, 3485, 3486, 3487, 3488, 3489, 3490,
6887  3491, 3492, 3493, 3494, 3495, 3496, 3497, 3498,
6888  3499, 3500, 3501, 3502, 3503, 3504, 3505, 3506,
6889  3507, 3508, 3509, 3510, 3511, 3512, 3513, 3514,
6890  3515, 3516, 3517, 3518, 3519, 3520, 3521, 3522,
6891  3523, 3524, 3525, 3526, 3527, 3528, 3529, 3530,
6892  3531, 3532, 3533, 3534, 3535, 3536, 3537, 3538,
6893  3539, 3540, 3541, 3542, 3543, 3544, 3545, 3546,
6894  3547, 3548, 3549, 3550, 3551, 3552, 3553, 3554,
6895  3555, 3556, 3557, 3558, 3559, 3560, 3561, 3562,
6896  3563, 3564, 3565, 3566, 3567, 3568, 3569, 3570,
6897  3571, 3572, 3573, 3574, 3575, 3576, 3577, 6056,
6898  6057, 6058, 32767, 3581, 3582, 3583, 3584, 3585,
6899  4157, 4158, 4159, 3589, 4162, -4510, -1558, -1557,
6900  -1556, -1742, -4507, -1553, -4506, -4506, 1562, -1544,
6901  1563, -1547, 1564, -1545, 1565, -1543, -1542, -1529,
6902  -1540, -1539, -1538, -1537, -1536, -4493, -4493, -4493,
6903  -1532, -1531, -1764, -1529, 3622, -1528, -1527, -1526,
6904  -1909, -1524, -1523, -1522, -1907, -1907, -1907, -1907,
6905  -1907, -1907, -1907, -1907, -1907, -1907, -1907, -1510,
6906  -1509, 1071, 1072, 1073, 1074, 1075, 1076, 1077,
6907  1078, 1079, 1080, 1081, 1082, 1083, 1084, 1085,
6908  1086, 1087, 1088, 1089, 1090, 3663, 3664, 3665,
6909  3666, 3667, 3668, 3669, 3670, 3671, 3672, 3673,
6910  3674, 1095, 1096, 1097, 1098, 1099, 1100, 1101,
6911  3682, 1103, 3684, 1105, 3686, 3687, 3688, 1109,
6912  1110, 1111, 3692, 1113, 1114, 1115, 1116, 1117,
6913  1118, 1119, 3700, 1121, 3702, 3703, 3704, 1125,
6914  1126, 1127, -1809, -1809, -1809, -1809, -1809, -1809,
6915  3720, 3721, 3722, 3717, 3718, 3719, 3720, 1140,
6916  1141, 1142, 1143, -1802, 1145, 1146, 1147, 1148,
6917  3730, -1797, 3732, 1152, 3734, 3735, 1155, 1156,
6918  3738, 3739, 3740, 3741, 3742, 3743, -1785, -1785,
6919  -1785, -1779, -1324, 1168, 1169, 1170, 1171, 1172,
6920  3752, 3753, 1175, 1176, 1177, 992, 3758, 3759,
6921  3760, 3761, 1183, 1184, 1185, 1186, -2300, 1188,
6922  -2298, 1190, 1191, 1192, 3772, 3773, 3774, 1196,
6923  1197, 3777, 3778, 3779, 1201, 1202, 1203, -1747,
6924  1205, 1206, 1207, 1021, -1744, 1210, -1743, -1743,
6925  4325, 1219, 4326, 1216, 4327, 1218, 4328, 1220,
6926  1221, 1234, 1223, 1224, 1225, 1226, 1227, -1730,
6927  -1730, -1730, 1231, 1232, 999, 1234, 1235, 1236,
6928  1237, 1238, 855, 1240, 1241, 1242, 857, 857,
6929  857, 857, 857, 857, 857, 857, 857, 857,
6930  857, 1254, 1255, 1256, 1257, 1258, 1259, 1260,
6931  1261, 1262, 2969, 2970, 2971, 2972, 2973, 2974,
6932  2975, 2976, 2977, 2978, -4426, -2483, -4426, -2481,
6933  -6106, 878, 879, -4286, -4286, -4286, -978, 888,
6934  889, -975, -974, -973, -972, -971, -970, -4268,
6935  -4268, -2059, -4268, -968, -4268, -4268, -967, -966,
6936  -6129, -6129, -963, -962, -961, -4268, -6133, -6133,
6937  -4268, -4268, -4268, -4268, -4268, -4268, -4268, -4268,
6938  -3178, -4268, -1502, -1502, -1502, -1502, -1502, 3902,
6939  3903, 3904, -1502, 3906, 3907, -1502, -1502, -1502,
6940  -4269, 529, -1502, 0, 0, 0, -1502, 0,
6941  0, 0, 0, 0, 0, 0, 0, 0,
6942  0, 170, 171, 172, 173, 174, 175, 176,
6943  177, 178, 179, 180, 181, 182, 183, 184,
6944  185, 186, 187, 188, 189, 190, 191, 192,
6945  193, 194, 195, 196, 197, 198, 199, 200,
6946  201, 202, 203, 204, 205, 206, 207, 208,
6947  209, 210, 211, 212, 213, 214, 215, 216,
6948  217, 218, 219, -3194, 221, 222, 223, 224,
6949  -1657, 226, 227, -1657, 229, 230, -1655, 555,
6950  -1655, 234, 235, 236, 732, 238, 239, 240,
6951  241, 242, 243, -1655, 245, 246, 247, 248,
6952  -1655, 250, -1655, 252, -1655, -1655, -1655, -1655,
6953  -1655, -1655, 259, -1655, -1655, -1655, -1655, 264,
6954  -1655, 266, -1655, 268, -1655, -3620, 271, 272,
6955  -1655, 274, 275, -1655, 277, -1655, -1655, 280,
6956  -1655, 282, 5746, 5747, 5748, 5749, -1655, 288,
6957  -1655, 290, -3335, 3649, 3650, -1515, -1515, -1515,
6958  1793, 3659, 3660, 1796, 1797, 1798, 1799, 1800,
6959  1801, -1497, -1497, 712, -1497, 1803, -1497, -1497,
6960  1804, 1805, -3358, -3358, 1808, 1809, 1810, -1497,
6961  -3362, -3362, -1497, -1497, -1497, -1497, -1497, -1497,
6962  -1497, -1497, -407, -1497, -1497, -1497, -1497, -1497,
6963  -1497, 3667, 3668, -1497, -1497, -1497, 1811, 3677,
6964  3678, 32767, 1814, 32767, 1815, 32767, 32767, 1816,
6965  1817, 32767, 32767, 32767, 1818, 1819, 1820, 1821,
6966  -3342, -3342, 1824, 1825, 1826, 1827, 1828, 1829,
6967  1830, 1831, 1832, 1833, 1834, 1835, 1836, 1837,
6968  1838, 1839, 1840, 1841, 1842, 1843, 1844, 1845,
6969  1846, 1847, 1848, 1849, 1850, 1851, 1852, 1853,
6970  1854, 1855, 1856, 1857, 1858, 1859, 1860, 1861,
6971  1862, 1863, 1864, 1865, 1866, 1867, 1868, 1869,
6972  1870, 1871, 1872, 1873, 1874, 1875, 1876, -1537,
6973  1878, 1879, 1880, 1881, 0, 1883, 1884, 0,
6974  529, 0, 0, 2210, 0, 1889, 1890, 1891,
6975  2387, 1893, 1894, 1895, 1896, 1897, 1898, 0,
6976  1900, 1901, 1902, 1903, 0, 1905, 0, 1907,
6977  0, 0, 0, 0, 0, 0, 1914, 0,
6978  0, 0, 0, 1919, 0, 1921, 0, 1923,
6979  0, -1965, 1926, 1927, 0, 1929, 1930, 0,
6980  1932, 0, 0, 1935, 0, 1937, 7401, 7402,
6981  7403, 7404, 0, 1943, 0, 1945, 1946, 0,
6982  1948, 0, 0, 1951, 1952, 1953, 1954, 0,
6983  1956, 1957, 1958, 1959, 1960, 1961, 1962, 0,
6984  1964, 1965, 1966, 1967, 0, 1969, 1970, 1971,
6985  1972, 0, 1974, 0, 1976, 1977, 1978, 1979,
6986  1980, 1981, 1982, 1983, 1984, 1985, 0, 1987,
6987  1988, 1989, 1990, 1991, 566, 566, 566, 5141,
6988  5142, 566, 566, 566, 566, 566, 566, 566,
6989  0, 0, 0, 0, 0, 0, 0, 0,
6990  0, 0, 8673, 5722, 5722, 5722, 0, 8676,
6991  5723, 8677, 8678, 2611, 5718, 2612, 5723, 2613,
6992  5723, 2614, 5723, 5723, 5711, 5723, 5723, 5723,
6993  0, 0, 0, 0, 0, 0, 0, 0,
6994  0, 0, 0, 0, 0, 0, 0, 0,
6995  0, 895, 0, 0, 0, 0, 0, 0,
6996  0, 0, 0, 0, 0, 0, 0, 0,
6997  0, 0, 0, 0, 0, 0, 0, 0,
6998  0, 0, 0, 0, 0, 0, 0, 0,
6999  0, 0, 0, 0, 0, 0, 0, 0,
7000  0, 0, 151, 2776, 4254, 0, 0, 0,
7001  0, 0, 0, 0, 0, 0, 1821, 0,
7002  0, 0, 596, 0, 0, 0, 0, 0,
7003  0, 0, 0, 0, 0, 32767, 32767, 32767,
7004  32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767,
7005  32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767,
7006  32767, 32767, 32767, -2856, 32767, 32767, 32767, 32767,
7007  32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767,
7008  32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767,
7009  32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767,
7010  32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767,
7011  32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767,
7012  32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767,
7013  32767, 32767, -2901, 32767, 32767, 32767, 32767, 32767,
7014  32767, 32767, 32767, 32767, -1025, 32767, 32767, 32767,
7015  32767, -2910, 32767, 32767, 32767, 32767, 157, 32767,
7016  32767, 32767, 32767, 158, 32767, 32767, 32767, 32767,
7017  32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767,
7018  2359, 32767, 32767, 32767, 32767, 32767, 32767, 32767,
7019  32767, 32767, 160, 32767, 161, 162, 163, 164,
7020  165, 32767, 32767, 32767, 32767, 32767, 32767, 32767,
7021  898, 32767, 32767, 32767, 32767, 32767, 32767, 32767,
7022  32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767,
7023  32767, 32767, 1428, 32767, 32767, 32767, 32767, 32767,
7024  32767, 32767, 32767, 32767, 1254, 32767, 32767, 32767,
7025  32767, 1250, 32767, 32767, 32767, 32767, 1246, 32767,
7026  32767, 32767, 32767, 1243, 32767, 32767, 32767, 32767,
7027  32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767,
7028  1231, 32767, 32767, 32767, 32767, 32767, 32767, 32767,
7029  32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767,
7030  32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767,
7031  32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767,
7032  32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767,
7033  32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767,
7034  32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767,
7035  32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767,
7036  32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767,
7037  32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767,
7038  32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767,
7039  32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767,
7040  32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767,
7041  32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767,
7042  32767, 32767, 32767, 32767, 32767, 32767, 1842, 32767,
7043  32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767,
7044  32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767,
7045  32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767,
7046  32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767,
7047  32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767,
7048  3177, 1235, 32767, 32767, 32767, 32767, 32767, 32767,
7049  32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767,
7050  32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767,
7051  32767, 32767, 32767, 32767, 32767, 32767, 32767, -4323,
7052  32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767,
7053  32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767,
7054  32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767,
7055  32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767,
7056  32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767,
7057  32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767,
7058  32767, 32767, 32767, 32767, 0, 32767, 32767, 32767,
7059  32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767,
7060  32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767,
7061  32767, 32767, 32767, 32767, 32767, 0, 32767, 32767,
7062  32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767,
7063  32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767,
7064  32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767,
7065  32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767,
7066  32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767,
7067  32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767,
7068  32767, 32767, 32767, 32767, 174, 32767, 32767, 32767,
7069  32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767,
7070  32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767,
7071  32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767,
7072  32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767,
7073  32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767,
7074  32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767,
7075  32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767,
7076  32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767,
7077  32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767,
7078  32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767,
7079  32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767,
7080  32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767,
7081  32767, 32767, 1830, -112, 1832, -112, 3514, -3469,
7082  -3469, 1697, 1698, 1699, -1608, -3473, -3473, -1608,
7083  -1608, -1608, -1608, -1608, -1608, 1691, 1692, 32767,
7084  32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767,
7085  32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767,
7086  32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767,
7087  32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767,
7088  32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767,
7089  32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767,
7090  32767, -1623, -1623, -1623, 3541, 3542, -1623, -1623,
7091  -1623, -1623, -1623, -1623, -1623, -1623, -1623, -1623,
7092  -1623, -1623, -1623, -1623, -1623, -1623, -1623, -1623,
7093  -1623, -1623, -1623, -1623, 32767, 32767, 32767, 32767,
7094  32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767,
7095  32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767,
7096  32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767,
7097  32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767,
7098  32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767,
7099  32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767,
7100  32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767,
7101  32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767,
7102  32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767,
7103  32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767,
7104  32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767,
7105  32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767,
7106  32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767,
7107  32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767,
7108  32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767,
7109  32767, 32767, 32767, -766, 2253, 2254, 2255, 32767,
7110  32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767,
7111  1531, 32767, 32767, 32767, 32767, 32767, 32767, 32767,
7112  32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767,
7113  32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767,
7114  32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767,
7115  32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767,
7116  32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767,
7117  32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767,
7118  32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767,
7119  32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767,
7120  32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767,
7121  32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767,
7122  32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767,
7123  32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767,
7124  32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767,
7125  32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767,
7126  32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767,
7127  32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767,
7128  32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767,
7129  32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767,
7130  32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767,
7131  32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767,
7132  32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767,
7133  32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767,
7134  32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767,
7135  32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767,
7136  32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767,
7137  32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767,
7138  32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767,
7139  32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767,
7140  32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767,
7141  32767, 32767, 0, 0, 32767, 0, 0, 32767,
7142  32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767,
7143  32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767,
7144  32767, 32767, 32767, -173, -173, -173, -173, -173,
7145  -173, -173, -173, -173, -173, -173, -173, 3241,
7146  -173, -173, -173, -173, 1709, -173, -173, 1712,
7147  -173, -173, 1713, -496, 1715, -173, -173, -173,
7148  -668, -173, -173, -173, -173, -173, -173, 1726,
7149  -173, -173, -173, -173, 1731, -173, 1733, -173,
7150  1735, 1736, 1737, 1738, 1739, 1740, -173, 1742,
7151  1743, 1744, 1745, -173, 1747, -173, 1749, -173,
7152  1751, 3717, -173, -173, 1755, -173, -173, 1758,
7153  -173, 1760, 1761, -173, 1763, -173, -5636, -5636,
7154  -5636, -5636, 1769, -173, 1771, -173, 3453, -3530,
7155  -3530, 1636, 1637, 1638, -1669, -3534, -3534, -1669,
7156  -1669, -1669, -1669, -1669, -1669, 1630, 1631, -577,
7157  1633, -1666, 1635, 1636, -1664, -1664, 3500, 3501,
7158  -1664, -1664, -1664, 1644, 3510, 3511, 1647, 1648,
7159  1649, 1650, 1651, 1652, 1653, 1654, 565, 1656,
7160  1657, 1658, 1659, 1660, 1661, -3502, -3502, 1664,
7161  1665, 1666, 1667, 1668, 1669, 1670, 1671, 1672,
7162  1673, 1674, 1675, 1676, 1677, 1678, 1679, 1680,
7163  1681, 1682, 1683, 1684, 1685, 1686, 1687, 1688,
7164  1689, 1690, 1691, 1692, 1693, 1694, 1695, 1696,
7165  1697, 1698, 1699, 1700, 1701, 1702, 1703, 1704,
7166  1705, 1706, 1707, 1708, 1709, 1710, 1711, 1712,
7167  1713, 1714, 1715, 1716, -1697, 1718, 1719, 1720,
7168  1721, -160, 1723, 1724, -160, 1726, 1727, -158,
7169  2052, -158, 1731, 1732, 1733, 2229, 1735, 1736,
7170  1737, 1738, 1739, 1740, -158, 1742, 1743, 1744,
7171  1745, -158, 1747, -158, 1749, -158, -158, -158,
7172  -158, -158, -158, 1756, -158, -158, -158, -158,
7173  1761, -158, 1763, -158, 1765, -158, -2123, 1768,
7174  1769, -158, 1771, 1772, -158, 1774, -158, -158,
7175  1777, -158, 1779, 7243, 7244, 7245, 7246, -158,
7176  1785, -158, 1787, -1838, 5146, 5147, -18, -18,
7177  -18, 3290, 5156, 5157, 3293, 3294, 3295, 3296,
7178  3297, 3298, 0, 0, 2209, 0, 3300, 0,
7179  0, 3301, 3302, -1861, -1861, 3305, 3306, 3307,
7180  0, -1865, -1865, 0, 0, 0, 0, 0,
7181  0, 0, 0, 1090, 0, 0, 0, 0,
7182  0, 0, 5164, 5165, 0, 0, 0, 0,
7183  0, 0, 0, 0, 0, 0, 0, 0,
7184  0, 0, 0, 0, 0, 0, 0, 0,
7185  0, 0, 0, 0, 0, 0, 0, 0,
7186  0, 0, 0, 0, 0, 0, 0, 0,
7187  0, 0, 0, 0, 0, 0, 0, 0,
7188  0, 0, 0, 0, 0, 0, 0, 0,
7189  0, 3414, 0, 0, 0, 0, 1882, 0,
7190  0, 1885, 0, 0, 1886, -323, 1888, 0,
7191  0, 0, -495, 0, 0, 0, 0, 0,
7192  0, 1899, 0, 0, 0, 0, 1904, 0,
7193  1906, 0, 1908, 1909, 1910, 1911, 1912, 1913,
7194  0, 1915, 1916, 1917, 1918, 0, 1920, 0,
7195  1922, 0, 1924, 3890, 0, 0, 1928, 0,
7196  0, 1931, 0, 1933, 1934, 0, 1936, 0,
7197  -5463, -5463, -5463, -5463, 1942, 0, 1944, 0,
7198  0, 1947, 0, 1949, 1950, 0, 0, 0,
7199  0, 1955, 0, 0, 0, 0, 0, 0,
7200  0, 1963, 0, 0, 0, 0, 1968, 0,
7201  0, 0, 0, 1973, 0, 1975, 0, 0,
7202  0, 0, 0, 0, 0, 0, 0, 0,
7203  1986, 0, 0, 0, 0, 0, 0, 0,
7204  0, 0, 0, 0, 0, 0, 0, 0,
7205  0, 0, 0, 0, 0, 0, 0, 0,
7206  0, 0, 0, 0, 0, 0, 0, 0,
7207  0, 0, 0, 527, 527, 527, 527, 0,
7208  528, 528, 528, 528, 528, 528, 528, 528,
7209  528, 528, 528, 1998, 32767, 32767, 32767, 32767,
7210  32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767,
7211  1999, 2000, 2001, 2002, 2003, 32767, 32767, 32767,
7212  32767, 32767, 2004, 32767, 2005, 2006, 2007, 2008,
7213  2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016,
7214  2017, 2018, 2019, 2020, 2021, 2022, 2023, 2024,
7215  2025, 2026, 1200, 1200, 32767, 4498, 4499, 2291,
7216  2032, 2033, 32767, 2034, 32767, 2035, 2036, 32767,
7217  2037, 2038, 32767, 2039, 2040, 2041, 2042, 2043,
7218  2044, 2045, 2046, 2047, 2048, 2049, 2050, 2051,
7219  2052, 2053, 2054, 2055, 2056, 2057, 2058, 2059,
7220  2060, 2061, 2062, 2063, 2064, 2065, 2066, 2067,
7221  2068, -1506, -1506, -1506, -1506, -1506, -1506, -1506,
7222  2076, -2490, 2078, 2079, 2080, 2081, 2082, 2083,
7223  2084, 2085, 2086, 2087, 2088, 2089, 2090, 2091,
7224  2092, 2093, 2094, 2095, -105, -2314, 2098, 2099,
7225  2100, 2101, 2102, 2103, 2104, 2105, 2106, 2107,
7226  2108, 2109, 2110, 2111, 2112, 2113, 2114, 2115,
7227  2116, 2117, 2118, 2119, 2120, 5459, 2122, 2123,
7228  2124, 2125, 2126, 2127, 2128, 5466, 2130, 5467,
7229  2132, 2133, 2134, 2135, 5471, 2137, 2138, 5473,
7230  5473, 5473, 5473, 2143, 2144, 5475, 2146, 32767,
7231  32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767,
7232  32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767,
7233  32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767,
7234  32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767,
7235  2147, 2148, 2149, 2150, 2151, 2152, 2153, 2154,
7236  2155, 2156, 2157, 2158, 2159, 2160, 2161, 2162,
7237  2163, 2164, 2165, 2166, 2167, 2168, 2169, 2170,
7238  2171, 2172, 2173, 2174, 2175, 2176, 2177, 2178,
7239  2179, 2180, 2181, 2182, 2183, 2184, 2185, 2186,
7240  2187, 2188, 2189, 2190, 2191, 32767, -726, 2293,
7241  -725, -725, -725, 1357, 1358, 1359, -722, 2201,
7242  2202, 2203, 2204, 2205, 0, 2207, -715, 2209,
7243  -714, -714, -714, 2213, 2214, 2215, 4806, 2217,
7244  2218, 2219, 2220, 2221, 2222, 2223, -710, 2225,
7245  -248, -704, -704, 2229, 2230, 2231, 2232, 2233,
7246  2220, 1430, 2236, 2237, -695, 2239, -694, 2241,
7247  -693, -693, 2244, 2245, 2246, 2231, 2231, 2249,
7248  2250, 2251, 2252, 2253, 2254, 2255, 2256, 2239,
7249  2258, 2259, 2260, 2261, 2262, 2263, 2264, 2265,
7250  2266, 2267, 2268, 2269, 2270, 2271, 2272, 2273,
7251  2274, 2275, 2276, 2277, 2278, 2279, 2280, 2281,
7252  2282, 2283, 2284, 2285, 2286, 2287, 2288, 2289,
7253  2290, 2291, 2292, 2293, 3084, 2295, 2296, 2297,
7254  2298, 2299, 2300, 2301, 2302, 2303, 2304, 2305,
7255  2306, 2307, 3983, 2309, 2310, 2292, 2312, 3992,
7256  2314, 2315, 2316, 2317, 2318, 2319, 2320, 2321,
7257  2322, 2323, 2324, 2325, 2326, 2327, 2328, 4023,
7258  2330, 2331, 2332, 2333, 2334, 2335, 2336, 2337,
7259  2338, 2339, 2340, 2341, 2342, 2343, 2344, 2345,
7260  2346, 2347, 2348, 2349, 2350, 2351, 2352, 2353,
7261  2354, 2355, 2356, 2357, 2358, 2359, 2360, 2361,
7262  2362, 2363, 2364, 2365, 2366, 2367, 2368, 2369,
7263  2370, 2371, 2372, 2373, 2374, 2375, 2376, 2377,
7264  2378, 2379, 2360, 2360, 2360, 2360, 2360, 2360,
7265  2360, 2360, 2360, 2389, 2390, 2391, 2392, 2393,
7266  2394, 2395, 2396, 2397, 2398, 2399, 2400, 2401,
7267  2402, 2403, 2404, 2405, 2406, 2407, 2408, 2409,
7268  2410, 2411, 2412, 2413, 2414, 2415, 2416, 2417,
7269  2418, 2419, 2420, 2421, 2422, 2423, 2424, 2425,
7270  2426, 2427, 2428, 2429, 2430, 2431, 2432, 2433,
7271  2434, 2435, 2436, 2437, 2438, 2439, 2440, 2441,
7272  2442, 2443, 2444, 2445, 2446, 2447, 32767, 2448,
7273  2449, 2450, 2451, 2452, 2453, 2454, 2455, 2456,
7274  2457, 2458, 2459, 2460, 2461, 2462, 2463, 2464,
7275  2465, 2466, 2467, 2468, 2469, 2470, 2471, 2472,
7276  2473, 2474, 2475, 2476, 2477, 2478, 2479, 2480,
7277  2481, 2482, 2483, 2484, 2485, 2486, 2487, 2488,
7278  2489, 2490, 2491, 2492, 2493, 2494, 2495, 2496,
7279  2497, 2498, 2499, 2500, 2501, 2502, 2503, 2504,
7280  2505, 2506, 2507, 2508, 2509, 32767, 32767, 32767,
7281  32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767,
7282  32767, 32767, 32767, 32767, 32767, 32767, 32767, 2510,
7283  2511, 2512, 2513, 3266, 3266, 3266, 3266, 2518,
7284  3267, 3267, 3267, 2522, 3268, 3268, 3268, 3268,
7285  3268, 3268, 3268, 6682, 3268, 3268, 3268, 2534,
7286  5151, 3269, 2537, 2538, 3271, 3271, 5157, 2948,
7287  5159, 2544, 2545, 3273, 2778, 3273, 2549, 3274,
7288  2551, 3275, 2553, 5175, 2555, 3277, 3277, 3277,
7289  5181, 2560, 5184, 3278, 5186, 2564, 5189, 5190,
7290  5191, 5192, 3279, 5194, 5195, 2572, 5198, 32767,
7291  32767, 3278, 5200, 3278, 2577, 2578, 2579, 2580,
7292  5210, 3282, 3282, 5213, 3282, 2586, 2587, 2588,
7293  2589, 2590, 2591, -2175, -2175, -2175, 5230, 3288,
7294  5232, 3288, 6914, -69, -69, 5097, 5098, 5099,
7295  1792, -73, -73, 1792, 1792, 1792, 1792, 1792,
7296  1792, 5091, 5092, 2884, 5094, 1795, 5096, 5097,
7297  1797, 1797, 6961, 6962, 1797, 1797, 1797, 32767,
7298  32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767,
7299  32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767,
7300  32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767,
7301  32767, 32767, 32767, 2578, 2578, 2578, 2578, 2578,
7302  2578, 872, 872, 872, 872, 872, 872, 872,
7303  872, 872, 872, 8277, 6335, 8279, 6335, 9961,
7304  2978, 2978, 8144, 8145, 8146, 4839, 2974, 2974,
7305  4839, 4839, 4839, 4839, 4839, 4839, 8138, 8139,
7306  5931, 8141, 4842, 8143, 8144, 4844, 4844, 10008,
7307  10009, 4844, 4844, 4844, 8152, 10018, 10019, 8155,
7308  8156, 8157, 8158, 8159, 8160, 8161, 8162, 7073,
7309  8164, 5399, 5400, 5401, 5402, 5403, 0, 0,
7310  0, 5407, 0, 0, 5410, 5411, 5412, 8180,
7311  3383, 5415, 3914, 3915, 3916, 5419, 3918, 3919,
7312  3920, 3921, 3922, 3923, 3924, 3925, 3926, 3927,
7313  3758, 3758, 3758, 3758, 3758, 3758, 3758, 3758,
7314  3758, 3758, 3758, 3758, 3758, 3758, 3758, 3758,
7315  3758, 3758, 3758, 3758, 3758, 3758, 3758, 3758,
7316  3758, 3758, 3758, 3758, 3758, 3758, 3758, 3758,
7317  3758, 3758, 3758, 3758, 3758, 3758, 3758, 3758,
7318  3758, 3758, 3758, 3758, 3758, 3758, 3758, 3758,
7319  3758, 3758, 7172, 3758, 3758, 3758, 3758, 5640,
7320  3758, 3758, 5643, 3758, 3758, 5644, 3435, 5646,
7321  3758, 3758, 3758, 3263, 3758, 3758, 3758, 3758,
7322  3758, 3758, 5657, 3758, 3758, 3758, 3758, 5662,
7323  3758, 5664, 3758, 5666, 5667, 5668, 5669, 5670,
7324  5671, 3758, 5673, 5674, 5675, 5676, 3758, 5678,
7325  3758, 5680, 3758, 5682, 7648, 3758, 3758, 5686,
7326  3758, 3758, 5689, 3758, 5691, 5692, 3758, -1707,
7327  -1707, -1707, -1707, -1707, -1707, 5698, 3756, 5700,
7328  3756, 7382, 399, 399, 5565, 5566, 5567, 2260,
7329  395, 395, 2260, 2260, 2260, 2260, 2260, 2260,
7330  5559, 5560, 3352, 5562, 2263, 5564, 5565, 2265,
7331  2265, 7429, 7430, 2265, 2265, 2265, 5573, 7439,
7332  7440, 5576, 5577, 5578, 5579, 5580, 5581, 5582,
7333  5583, 4494, 5585, 2820, 2821, 2822, 2823, 2824,
7334  -2579, -2579, -2579, 2828, -2579, -2579, 2831, 2832,
7335  2833, 5601, 804, 2836, 1335, 1336, 1337, 2840,
7336  1339, 1340, 1341, 1342, 1343, 1344, 1345, 1346,
7337  1347, 1348, 1179, 1179, 1179, 1179, 1179, 1179,
7338  1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179,
7339  1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179,
7340  1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179,
7341  1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179,
7342  1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179,
7343  1179, 1179, 1179, 1179, 4593, 1179, 1179, 1179,
7344  1179, 3061, 1179, 1179, 3064, 1179, 1179, 3065,
7345  856, 3067, 1179, 1179, 1179, 684, 1179, 1179,
7346  1179, 1179, 1179, 1179, 3078, 1179, 1179, 1179,
7347  1179, 3083, 1179, 3085, 1179, 3087, 3088, 3089,
7348  3090, 3091, 3092, 1179, 3094, 3095, 3096, 3097,
7349  1179, 3099, 1179, 3101, 1179, 3103, 5069, 1179,
7350  1179, 3107, 1179, 1179, 3110, 1179, 3112, 3113,
7351  1179, 3115, 1179, -4284, -4284, -4284, -4284, 3121,
7352  1179, 3123, 1179, 4805, -2178, -2178, 2988, 2989,
7353  2990, -317, -2182, -2182, -317, -317, -317, -317,
7354  -317, -317, 2982, 2983, 775, 2985, -314, 2987,
7355  2988, -312, -312, 4852, 4853, -312, -312, -312,
7356  2996, 4862, 4863, 2999, 3000, 3001, 3002, 3003,
7357  3004, 3005, 3006, 1917, 3008, 3009, 3010, 3011,
7358  3012, 3013, -2150, -2150, 3016, 3017, 3018, 3019,
7359  3020, 3021, 3022, 3023, 3024, 3025, 3026, 3027,
7360  3028, 3029, 3030, 3031, 3032, 3033, 3034, 3035,
7361  32767, 32767, 32767, 3036, 3037, 3038, 3039, 3040,
7362  3041, 32767, 32767, 3042, 3043, 3044, 3045, 3046,
7363  3047, 32767, 32767, 3048, 3049, 3050, 3051, 3052,
7364  3053, 32767, 32767, 3054, 3055, 3056, 32767, 32767,
7365  32767, -357, 3058, 3059, 3060, 3061, 1180, 3063,
7366  0, 1179, 3065, 3066, 1181, 3391, 1181, 3070,
7367  0, 0, 0, 0, 32767, 0, 0, 32767,
7368  0, 32767, 0, 0, -4973, 32767, 32767, -7368,
7369  -2202, -2201, -2200, -5507, -7372, -7372, -5507, -5507,
7370  -5507, 32767, 0, 0, 0, 0, 0, 0,
7371  0, 0, 0, 32767, 0, 0, 32767, 0,
7372  -203, -2234, -732, -732, -732, -2234, -732, -732,
7373  -2763, -1261, -1261, -1261, -2763, -1261, -1261, -1261,
7374  -1261, -1261, -1261, -1261, -1261, -1261, -1261, -1091,
7375  -1090, -1089, -1088, -1087, 32767, 32767, -1086, -1085,
7376  -1084, -1083, -1082, -1081, -1080, -1079, -1078, -1077,
7377  -1076, -1075, 32767, -1074, -1073, -1072, -1071, -1070,
7378  -1069, -1068, -1067, -1066, -1065, -1064, -1063, -1062,
7379  -1061, -1060, -1059, -1058, -1057, -1056, 32767, -1055,
7380  -1054, -1053, -1052, 0, 32767, 32767, 32767, -1051,
7381  -1050, -4463, 32767, -1048, 32767, -1047, -2928, -1045,
7382  -1044, -2928, -1042, -1041, -2926, -716, -2926, -1037,
7383  -1036, -1035, -539, -1033, -1032, -1031, -1030, -1029,
7384  -1028, -2926, -1026, -1025, -1024, -1023, -2926, -1021,
7385  -2926, -1019, -2926, -2926, -2926, -2926, -2926, -2926,
7386  -1012, -2926, -2926, -2926, -2926, -1007, -2926, -1005,
7387  -2926, -1003, -2926, -4891, -1000, -999, -2926, -997,
7388  -996, -2926, -994, -2926, -2926, -991, 4475, 4476,
7389  4477, 4478, 4479, 4480, -2924, -981, -2924, -979,
7390  -4604, 2380, 2381, -2784, -2784, -2784, 524, 2390,
7391  2391, 527, 528, 529, 530, 531, 532, -2766,
7392  -2766, -557, -2766, 534, -2766, -2766, 535, 536,
7393  -4627, -4627, 539, 540, 541, -2766, -4631, -4631,
7394  -2766, -2766, -2766, -2766, -2766, -2766, -2766, -2766,
7395  -1676, -2766, 0, 0, 0, 0, 0, 5404,
7396  5405, 5406, 0, 5408, 5409, 0, 0, 0,
7397  -2767, 2031, 0, 1502, 1502, 1502, 0, 1502,
7398  1502, 1502, 1502, 1502, 32767, 32767, 32767, 32767,
7399  32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767,
7400  32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767,
7401  32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767,
7402  32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767,
7403  32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767,
7404  32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767,
7405  32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767,
7406  32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767,
7407  32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767,
7408  32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767,
7409  32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767,
7410  32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767,
7411  32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767,
7412  32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767,
7413  32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767,
7414  32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767,
7415  32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767,
7416  32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767,
7417  32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767,
7418  32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767,
7419  32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767,
7420  32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767,
7421  32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767,
7422  32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767,
7423  32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767,
7424  32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767,
7425  32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767,
7426  32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767,
7427  32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767,
7428  32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767,
7429  32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767,
7430  32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767,
7431  32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767,
7432  32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767,
7433  32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767,
7434  32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767,
7435  32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767,
7436  32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767,
7437  32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767,
7438  32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767,
7439  32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767,
7440  32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767,
7441  32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767,
7442  32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767,
7443  32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767,
7444  32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767,
7445  32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767,
7446  32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767,
7447  32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767,
7448  32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767,
7449  32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767,
7450  32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767,
7451  32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767,
7452  32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767,
7453  32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767,
7454  32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767,
7455  32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767,
7456  32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767,
7457  32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767,
7458  32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767,
7459  32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767,
7460  32767, 224, 225, 226, 32767, 227, 228, 229,
7461  230, 231, 232, 233, 234, 235, 236, 67,
7462  32767, 66, 66, 66, 66, 66, 66, 66,
7463  66, 66, 66, 66, 66, 66, 66, 66,
7464  66, 66, 66, 32767, 65, 65, 65, 65,
7465  65, 65, 65, 65, 65, 65, 65, 65,
7466  65, 65, 65, 65, 65, 65, 65, 65,
7467  65, 65, 65, 65, 65, 65, 65, 65,
7468  32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767,
7469  32767, 32767, 32767, 32767, 32767, -271, 32767, 32767,
7470  32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767,
7471  32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767,
7472  32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767,
7473  32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767,
7474  1940, 18, 1942, 3908, 18, 18, 1946, 18,
7475  18, 1949, 18, 1951, 1952, 18, 1954, 18,
7476  -5445, -5445, -5445, -5445, 1960, 18, 1962, 18,
7477  3644, -3339, -3339, 1827, 1828, 1829, -1478, -3343,
7478  -3343, -1478, -1478, -1478, -1478, 32767, 32767, 32767,
7479  32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767,
7480  32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767,
7481  32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767,
7482  32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767,
7483  32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767,
7484  32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767,
7485  32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767,
7486  32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767,
7487  32767, 32767, 32767, 32767, 32767, 0, 0, 0,
7488  0, 32767, 0, 0, 0, 0, 0, 0,
7489  0, 0, 0, 0, 0, 0, 1340, 1341,
7490  1342, 1343, 1344, 1345, 1346, 1347, 1348, 1349,
7491  -2064, 1351, 1352, 1353, 1354, 32767, 1355, 1356,
7492  32767, 0, 32767, 32767, 1679, 32767, 1357, 1358,
7493  1359, 1855, 1361, 1362, 1363, 1364, 1365, 1366,
7494  32767, 1367, 1368, 1369, 1370, 32767, 1371, 32767,
7495  1372, 32767, 32767, 32767, 32767, 32767, 32767, 1373,
7496  32767, 32767, 32767, 32767, 1374, 32767, 1375, 32767,
7497  1376, 32767, -2513, 1378, 1379, 32767, 1380, 1381,
7498  32767, 1382, 32767, 32767, 1383, 32767, 1384, 32767,
7499  6848, 32767, 6849, 32767, 1387, 32767, 1388, 1389,
7500  32767, 1390, 32767, 32767, 1391, 1392, 1393, 1394,
7501  32767, 1395, 1396, 1397, 1398, 1399, 1400, 1401,
7502  32767, 1402, 1403, 1404, 1405, 32767, 1406, 1407,
7503  1408, 1409, 32767, 1410, 32767, 1411, 1412, 1413,
7504  1414, 1415, 1416, 1417, 1418, 1419, 1420, 32767,
7505  1421, 1422, 1423, 1424, 1425, 0, 0, 0,
7506  4575, 4576, 0, 0, 0, 0, 0, 0,
7507  0, 0, 0, 0, 0, 0, -571, -571,
7508  -571, 0, -572, 8101, 5150, 5150, 5150, 5337,
7509  8103, 5150, 8104, 8105, 2038, 5145, 2039, 5150,
7510  2040, 5150, 2041, 5150, 5150, 5138, 5150, 5150,
7511  5150, 5150, 5150, 8108, 8109, 8110, 5150, 5150,
7512  5384, 5150, 0, 5151, 5151, 5151, 5535, 5151,
7513  5151, 5151, 5537, 5538, 5539, 5540, 5541, 5542,
7514  5543, 5544, 5545, 5546, 5547, 5151, 5151, 2572,
7515  2572, 2572, 2572, 2572, 2572, 2572, 2572, 2572,
7516  2572, 2572, 2572, 2572, 2572, 2572, 2572, 2572,
7517  2572, 2572, 2572, 0, 0, 0, 0, 0,
7518  0, 0, 0, 0, 0, 0, 0, 2580,
7519  2580, 2580, 2580, 2580, 2580, 2580, 0, 2580,
7520  0, 2580, 0, 0, 0, 2580, 2580, 2580,
7521  0, 2580, 2580, 2580, 2580, 2580, 2580, 2580,
7522  0, 2580, 0, 0, 0, 2580, 2580, 2580,
7523  5517, 5518, 5519, 5520, 5521, 5522, -6, -6,
7524  -6, 0, 0, 0, 0, 2581, 2581, 2581,
7525  2581, 5527, 2581, 2581, 2581, 2581, 0, 5528,
7526  0, 2581, 0, 0, 2581, 2581, 0, 0,
7527  0, 0, 0, 0, 5529, 5530, 5531, 32767,
7528  32767, 2579, 2579, 2579, 2579, 2579, 0, 0,
7529  2579, 2579, 2579, 2765, 0, 0, 0, 0,
7530  2579, 2579, 2579, 2579, 6066, 2579, 6066, 2579,
7531  2579, 2579, 0, 0, 0, 2579, 2579, 0,
7532  0, 0, 2579, 2579, 2579, 5530, 2579, 2579,
7533  2579, 2766, 5532, 2579, 5533, 5534, -533, 2574,
7534  -532, 2579, -531, 2579, -530, 2579, 2579, 2567,
7535  2579, 2579, 2579, 2579, 2579, 5537, 5538, 5539,
7536  2579, 2579, 2813, 2579, 2579, 2579, 2579, 2579,
7537  2963, 2579, 2579, 2579, 2965, 2966, 2967, 2968,
7538  2969, 2970, 2971, 2972, 2973, 2974, 2975, 2579,
7539  2579, 0, 0, 0, 0, 0, 0, 0,
7540  0, 0, 0, 0, 0, 0, 0, 0,
7541  0, 0, 0, 0, 0, 32767, 32767, 32767,
7542  32767, 32767, 331, 32767, 332, -2580, -2580, -2580,
7543  -2580, 0, 0, 0, 0, 0, 0, 0,
7544  -2580, 0, -2580, 0, -2580, -2580, -2580, 0,
7545  0, 0, -2580, 0, 0, 0, 0, 0,
7546  0, 0, -2580, 0, -2580, -2580, -2580, 0,
7547  0, 0, 2937, 2938, 2939, 2940, 2941, 2942,
7548  -2586, -2586, -2586, -2580, -2125, -2581, -2581, 0,
7549  0, 0, 0, 2946, 0, 0, 0, 0,
7550  -2581, 2947, -2581, 0, -2581, -2581, 0, 0,
7551  -2581, -2581, -2581, -2581, -2581, -2581, 2948, 2949,
7552  2950, 2945, 2491, 0, 0, 0, 0, 0,
7553  -2579, -2579, 0, 0, 0, 186, -2579, -2579,
7554  -2579, -2579, 0, 0, 0, 0, 3487, 0,
7555  3487, 0, 0, 0, -2579, -2579, -2579, 0,
7556  0, -2579, -2579, -2579, 0, 0, 0, 2951,
7557  0, 0, 0, 187, 2953, 0, 2954, 2955,
7558  -3112, -5, -3111, 0, -3110, 0, -3109, 0,
7559  0, -12, 0, 0, 0, 0, 0, 2958,
7560  2959, 2960, 0, 0, 234, 0, 0, 0,
7561  0, 0, 384, 0, 0, 0, 386, 387,
7562  388, 389, 390, 391, 392, 393, 394, 395,
7563  396, 0, 0, 0, 0, 0, 0, 0,
7564  0, 0, -1706, -1706, -1706, 0, 0, 0,
7565  0, 385, 0, 0, 0, 0, 0, 0,
7566  0, 0, 0, 0, 0, 0, 0, 397,
7567  398, 399, 400, 401, 402, 403, 404, 405,
7568  2112, 2113, 2114, 409, 410, 411, 412, 32767,
7569  413, 414, 415, 416, 417, 418, 419, 420,
7570  421, 422, 423, 424, 425, 32767, 32767, 32767,
7571  32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767,
7572  -1688, 32767, 32767, 32767, 32767, 0, 0, 0,
7573  0, 0, 0, 0, 0, 0, 0, 0,
7574  0, 0, 0, 0, 0, 0, 0, 0,
7575  0, 0, 0, 0, 0, 0, 0, 0,
7576  0, 0, 0, 0, 0, 0, 0, 0,
7577  0, 0, 0, 0, 0, 0, 0, 0,
7578  0, 0, 0, 0, 0, 0, 0, 0,
7579  0, 0, 0, 0, 0, 0, 0, 0,
7580  0, 0, 0, 32767, 32767, 32767, 32767, 32767,
7581  32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767,
7582  32767, 32767, 32767, 32767, 32767, 0, 0, 0,
7583  0, -752, -751, -750, -749, 0, -748, -747,
7584  -746, 0, -745, -744, -743, -742, -741, -740,
7585  -739, -4152, -737, -736, -735, 0, -2616, -733,
7586  0, 0, -732, -731, -2616, -406, -2616, 0,
7587  0, -727, -231, -725, 0, -724, 0, -723,
7588  0, -2621, 0, -721, -720, -719, -2622, 0,
7589  -2623, -716, -2623, 0, -2624, -2624, -2624, -2624,
7590  -710, -2624, -2624, 0, -2625, -706, -2625, -704,
7591  -2625, -702, 0, 0, 0, 0, -2629, -700,
7592  -699, -2629, -697, 0, 0, 0, 0, 0,
7593  0, 4767, 4768, 4769, -2635, -692, -2635, -690,
7594  -4315, 2669, 2670, -2495, -2495, -2495, 813, 2679,
7595  2680, 816, 817, 818, 819, 820, 821, -2477,
7596  -2477, -268, -2477, 823, -2477, -2477, 824, 825,
7597  -4338, -4338, 828, 829, 830, -2477, -4342, -4342,
7598  -2477, -2477, -2477, -2477, -2477, -2477, -2477, -2477,
7599  -1387, 0, 0, 32767, 32767, 0, 0, 0,
7600  0, 0, -2486, 32767, 32767, 32767, 32767, 32767,
7601  32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767,
7602  32767, 32767, 32767, 32767, 32767, 1756, 1757, 1758,
7603  1759, -5645, -3702, -5645, -3700, -7325, -341, -340,
7604  -5505, -5505, 32767, 32767, 32767, 32767, 32767, 32767,
7605  32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767,
7606  32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767,
7607  32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767,
7608  32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767,
7609  32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767,
7610  32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767,
7611  32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767,
7612  32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767,
7613  32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767,
7614  32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767,
7615  32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767,
7616  32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767,
7617  32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767,
7618  32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767,
7619  32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767,
7620  32767, 32767, 32767, 32767, 32767, 32767, 532, 533,
7621  32767, 534, 535, 32767, 32767, 32767, 32767, 32767,
7622  32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767,
7623  32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767,
7624  32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767,
7625  32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767,
7626  32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767,
7627  32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767,
7628  32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767,
7629  32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767,
7630  32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767,
7631  32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767,
7632  32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767,
7633  32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767,
7634  32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767,
7635  32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767,
7636  32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767,
7637  32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767,
7638  32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767,
7639  32767, 32767, 32767, -781, 1084, 1084, 1084, 1084,
7640  1084, 1084, 4383, 4384, 2176, 4386, 1087, 4388,
7641  4389, 1089, 1089, 6253, 6254, 1089, 1089, 1089,
7642  4397, 6263, 6264, 4400, 4401, 4402, 4403, 4404,
7643  4405, 4406, 4407, 3318, 4409, 4410, 4411, 4412,
7644  4413, 4414, -749, -749, 4417, 4418, 4419, 4420,
7645  4421, 4422, 4423, 4424, 4425, 4426, 4427, 4428,
7646  4429, 4430, 4431, 4432, 4433, 4434, 4435, 4436,
7647  4437, 4438, 4439, 4440, 4441, 4442, 4443, 4444,
7648  4445, 4446, 4447, 4448, 4449, 4450, 4451, 4452,
7649  4453, 4454, 4455, 4456, 4457, 4458, 4459, 4460,
7650  4461, 4462, 4463, 4464, 4465, 4466, 4467, 4468,
7651  4469, 1056, 4471, 4472, 4473, 4474, 2593, 4476,
7652  4477, 2593, 4479, 4480, 2595, 4805, 2595, 4484,
7653  4485, 4486, 4982, 4488, 4489, 4490, 4491, 4492,
7654  4493, 2595, 4495, 4496, 4497, 4498, 2595, 4500,
7655  2595, 4502, 2595, 2595, 2595, 2595, 2595, 2595,
7656  4509, 2595, 2595, 2595, 2595, 4514, 2595, 4516,
7657  2595, 4518, 2595, 630, 4521, 4522, 2595, 4524,
7658  4525, 2595, 4527, 2595, 2595, 4530, 2595, 4532,
7659  9996, 9997, 9998, 9999, 2595, 4538, 2595, 4540,
7660  4541, 2595, 4543, 2595, 2595, 4546, 4547, 4548,
7661  4549, 2595, 4551, 4552, 4553, 4554, 4555, 4556,
7662  4557, 2595, 4559, 4560, 4561, 4562, 2595, 4564,
7663  4565, 4566, 4567, 2595, 4569, 2595, 4571, 4572,
7664  4573, 4574, 4575, 4576, 4577, 4578, 4579, 4580,
7665  2595, 4582, 4583, 4584, 4585, 4586, 4587, 4588,
7666  4589, 4590, 4591, 4592, 4593, 4594, 4595, 4596,
7667  4597, 4598, 4599, 4600, 4601, 4602, 4603, 4604,
7668  4605, 4606, 4607, 4608, 4609, 4610, 4611, 4612,
7669  4613, 4614, 4615, 4089, 4090, 4091, 4092, 4620,
7670  4093, 4094, 4095, 4096, 4097, 4098, 4099, 4100,
7671  4101, 4102, 4103, 4104, 2765, 2765, 2765, 2765,
7672  2765, 2765, 2765, 2765, 2765, 2765, 6179, 2765,
7673  2765, 2765, 2765, 4647, 2765, 2765, 4650, 4122,
7674  4652, 4653, 2444, 4655, 2767, 2767, 2767, 2272,
7675  2767, 2767, 2767, 2767, 2767, 2767, 4666, 2767,
7676  2767, 2767, 2767, 4671, 2767, 4673, 2767, 4675,
7677  4676, 4677, 4678, 4679, 4680, 2767, 4682, 4683,
7678  4684, 4685, 2767, 4687, 2767, 4689, 2767, 4691,
7679  6657, 2767, 2767, 4695, 2767, 2767, 4698, 2767,
7680  4700, 4701, 2767, 4703, 2767, -2696, -2696, -2696,
7681  -2696, 4709, 2767, 4711, 2767, 2767, 4714, 2767,
7682  4716, 4717, 2767, 2767, 2767, 2767, 4722, 2767,
7683  2767, 2767, 2767, 2767, 2767, 2767, 4730, 2767,
7684  2767, 2767, 2767, 4735, 2767, 2767, 2767, 2767,
7685  4740, 2767, 4742, 2767, 2767, 2767, 2767, 2767,
7686  2767, 2767, 2767, 2767, 2767, 4753, 2767, 2767,
7687  2767, 2767, 2767, 4193, 4194, 4195, -379, -379,
7688  4198, 4199, 4200, 4201, 4202, 4203, 4204, 4771,
7689  4772, 4773, 4774, 4775, 4776, 4777, 4778, 4779,
7690  4780, -3892, -940, -939, -938, 4785, -3890, -936,
7691  -3889, -3889, 2179, -927, 2180, -930, 2181, -928,
7692  2182, -926, -925, -912, -923, -922, -921, 4803,
7693  4804, 4805, 4806, 4807, 4808, 4809, 4810, 4811,
7694  4812, 4813, 4814, 4815, 4816, 4817, 4818, 4819,
7695  3925, 4821, 4822, 4823, 4824, 4825, 4826, 4827,
7696  4828, 4829, 4830, 4831, 4832, 4833, 4834, 4835,
7697  4836, 4837, 4838, 4839, 4840, 4841, 4842, 4843,
7698  4844, 4845, 4846, 4847, 4848, 4849, 4850, 4851,
7699  4852, 4853, 4854, 4855, 4856, 4857, 4858, 4859,
7700  4860, 4710, 2086, 609, 4864, 4865, 4866, 4867,
7701  4868, 4869, 4870, 4871, 4872, 3052, 4874, 4875,
7702  4876, 4281, 4878, 4879, 4880, 4881, 4882, 4883,
7703  4884, 4885, 4886, 4887, 634, 4888, 4889, 4890,
7704  4891, 4892, 4893, 4894, 4895, 4896, 1322, 1322,
7705  1322, 1322, 1322, 1322, 1322, 4904, 338, 4906,
7706  4907, 4908, 4909, 4910, 4911, 4912, 4913, 4914,
7707  4915, 4916, 4917, 665, 666, 667, 668, 669,
7708  670, 671, 672, 673, 674, 675, 676, 32767,
7709  32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767,
7710  32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767,
7711  32767, 32767, 32767, 32767, 32767, 32767, 32767, 32767,
7712  32767, 32767, 32767, 32767, 32767, 32767, 32767, 0,
7713  0, 0, 0, 0, 0, 32767, 0, 0,
7714  0, 0, 32767, 32767, 0, 0, 0, 0,
7715  0, 0, 0, 0, 32767, 0, 0, 0,
7716  0, 0, 0, 0, 32767, 0, 0, 0,
7717  0, 0, 0, 0, 0, 0, 0, 0,
7718  0, 0, 0, 0, 0, 0, 0, 0,
7719  0, 0, 0, 0, 0, 0, 0, 0,
7720  0, 32767, 0, 0, 0, 2478, 32767, 2477,
7721  2477, 2477, 2477, 2477, 32767, 2476, 32767, 32767,
7722  32767, 2473, 2473, 2473, 2473, 2473, 2473, 2473,
7723  32767, 2472, 2472, 2472, 2472, 2472, 2472, 2472,
7724  2472, 2472, 2472, 2472, 2472, 2472, 2472, 2472,
7725  2472, 2472, 2472, 2472, 2472, 2472, 2472, 2472,
7726  2472, 2472, 2472, 2472, 2472, 2472, 2472, 2472,
7727  2472, 2472, 2472, 2472, 2472, 2472, 2472, 2472,
7728  2472, 2472, 2472, 0, 0, 0, 0, 0,
7729  0, 0, 0, 0, 0, 0, 0, 0,
7730  0, 0, 0, 0, 0, 0, 0, 0,
7731  0, 0, 0, 0, 0, 0, 0, 0,
7732  0, 0, 0, 0, 0, 0, 0, 0,
7733  0, 0, 0, 0, 0, 0, 0, 0,
7734  0, 0, 0, 0, 0, 0, 0, 0,
7735  0, 0, 0, 0, 0, 0, 0, 0,
7736  0, 0, 0, 0, 0, 0, 0, 0,
7737  0, 0, 0, 0, 0, 0, 0, 0,
7738  0, 0, 0, 0, 0, 0, 0, 0,
7739  0, 0, 0, 0, 0, 0, 0, 0,
7740  0, 0, 0, 0, 0, 0, 0, 0,
7741  0, 0, 0, 0, 0, 0, 0, 0,
7742  0, 0, 0, 0, 0, 0, 0, 0,
7743  0, 0, 0, 0, 0, 0, 0, 0,
7744  0, 0, 0, 0, -2478, -2478, -2478, 0,
7745  0, 0, 0, 0, 0, 0, 0, 0,
7746  0, 0, 0, 0, 0, 0, 0, 0,
7747  0, 0, 0, 0, 0, 0, 0, 0,
7748  0, 0, 0, 0, 0, 0, 0, 0,
7749  0, 0, 0, 0, 0, 0, 0, 0,
7750  0, 0, 0, 0, 0, 0, 0, 0,
7751  0, 0, 0, 0, 0, 0, 0, 0,
7752  0, 0, 0, 0, 0
7753  };
7754 
7755  const unsigned char *k = (const unsigned char *) key;
7756  size_t keylen = 4;
7757  uint32 a = 0;
7758  uint32 b = 1;
7759 
7760  while (keylen--)
7761  {
7762  unsigned char c = *k++;
7763 
7764  a = a * 257 + c;
7765  b = b * 8191 + c;
7766  }
7767  return h[a % 9837] + h[b % 9837];
7768 }
signed short int16
Definition: c.h:428
char * c
unsigned int uint32
Definition: c.h:441

Variable Documentation

◆ UnicodeNormInfo_NFC_QC

const pg_unicode_norminfo UnicodeNormInfo_NFC_QC
static
Initial value:
= {
1231
}
static int NFC_QC_hash_func(const void *key)
static const pg_unicode_normprops UnicodeNormProps_NFC_QC[]

Definition at line 1591 of file unicode_normprops_table.h.

Referenced by qc_is_allowed().

◆ UnicodeNormInfo_NFKC_QC

const pg_unicode_norminfo UnicodeNormInfo_NFKC_QC
static
Initial value:
= {
4918
}
static int NFKC_QC_hash_func(const void *key)
static const pg_unicode_normprops UnicodeNormProps_NFKC_QC[]

Definition at line 7771 of file unicode_normprops_table.h.

Referenced by qc_is_allowed().

◆ UnicodeNormProps_NFC_QC

const pg_unicode_normprops UnicodeNormProps_NFC_QC[]
static

Definition at line 26 of file unicode_normprops_table.h.

◆ UnicodeNormProps_NFKC_QC

const pg_unicode_normprops UnicodeNormProps_NFKC_QC[]
static

Definition at line 1597 of file unicode_normprops_table.h.