aboutsummaryrefslogtreecommitdiffstats
path: root/capstone/arch/X86/X86Lookup16_reduce.inc
diff options
context:
space:
mode:
Diffstat (limited to 'capstone/arch/X86/X86Lookup16_reduce.inc')
-rw-r--r--capstone/arch/X86/X86Lookup16_reduce.inc2308
1 files changed, 2308 insertions, 0 deletions
diff --git a/capstone/arch/X86/X86Lookup16_reduce.inc b/capstone/arch/X86/X86Lookup16_reduce.inc
new file mode 100644
index 000000000..3b474cf3e
--- /dev/null
+++ b/capstone/arch/X86/X86Lookup16_reduce.inc
@@ -0,0 +1,2308 @@
+typedef struct x86_op_id_pair {
+ uint16_t first;
+ uint16_t second;
+} x86_op_id_pair;
+
+static const x86_op_id_pair x86_16_bit_eq_tbl[] = {
+ { 139, 130 },
+ { 140, 131 },
+ { 141, 132 },
+ { 142, 133 },
+ { 143, 134 },
+ { 144, 135 },
+ { 145, 136 },
+ { 146, 137 },
+ { 147, 138 },
+ { 148, 130 },
+ { 150, 132 },
+ { 151, 133 },
+ { 153, 135 },
+ { 154, 136 },
+ { 155, 137 },
+ { 156, 138 },
+ { 179, 170 },
+ { 180, 171 },
+ { 181, 172 },
+ { 182, 173 },
+ { 183, 174 },
+ { 184, 175 },
+ { 185, 176 },
+ { 186, 177 },
+ { 187, 178 },
+ { 188, 170 },
+ { 190, 172 },
+ { 191, 173 },
+ { 193, 175 },
+ { 194, 176 },
+ { 195, 177 },
+ { 196, 178 },
+ { 219, 210 },
+ { 220, 211 },
+ { 221, 212 },
+ { 222, 213 },
+ { 223, 214 },
+ { 224, 215 },
+ { 225, 216 },
+ { 226, 217 },
+ { 227, 218 },
+ { 228, 210 },
+ { 230, 212 },
+ { 231, 213 },
+ { 233, 215 },
+ { 234, 216 },
+ { 235, 217 },
+ { 236, 218 },
+ { 301, 300 },
+ { 304, 302 },
+ { 305, 303 },
+ { 306, 302 },
+ { 307, 303 },
+ { 310, 308 },
+ { 311, 309 },
+ { 312, 308 },
+ { 313, 309 },
+ { 321, 317 },
+ { 322, 318 },
+ { 323, 319 },
+ { 324, 320 },
+ { 325, 317 },
+ { 326, 318 },
+ { 327, 319 },
+ { 328, 320 },
+ { 333, 329 },
+ { 334, 330 },
+ { 335, 331 },
+ { 336, 332 },
+ { 337, 329 },
+ { 338, 330 },
+ { 339, 331 },
+ { 340, 332 },
+ { 345, 341 },
+ { 346, 342 },
+ { 347, 343 },
+ { 348, 344 },
+ { 349, 341 },
+ { 350, 342 },
+ { 351, 343 },
+ { 352, 344 },
+ { 357, 353 },
+ { 358, 354 },
+ { 359, 355 },
+ { 360, 356 },
+ { 361, 353 },
+ { 362, 354 },
+ { 363, 355 },
+ { 364, 356 },
+ { 373, 369 },
+ { 374, 370 },
+ { 375, 371 },
+ { 376, 372 },
+ { 377, 369 },
+ { 378, 370 },
+ { 380, 371 },
+ { 381, 372 },
+ { 383, 382 },
+ { 389, 547 },
+ { 401, 399 },
+ { 402, 400 },
+ { 403, 399 },
+ { 404, 400 },
+ { 407, 405 },
+ { 408, 406 },
+ { 409, 405 },
+ { 410, 406 },
+ { 413, 411 },
+ { 414, 412 },
+ { 415, 411 },
+ { 416, 412 },
+ { 419, 417 },
+ { 420, 418 },
+ { 421, 417 },
+ { 422, 418 },
+ { 425, 423 },
+ { 426, 424 },
+ { 427, 423 },
+ { 428, 424 },
+ { 431, 429 },
+ { 432, 430 },
+ { 433, 429 },
+ { 434, 430 },
+ { 437, 435 },
+ { 438, 436 },
+ { 439, 435 },
+ { 440, 436 },
+ { 443, 441 },
+ { 444, 442 },
+ { 445, 441 },
+ { 446, 442 },
+ { 449, 447 },
+ { 450, 448 },
+ { 451, 447 },
+ { 452, 448 },
+ { 455, 453 },
+ { 456, 454 },
+ { 457, 453 },
+ { 458, 454 },
+ { 461, 459 },
+ { 462, 460 },
+ { 463, 459 },
+ { 464, 460 },
+ { 467, 465 },
+ { 468, 466 },
+ { 469, 465 },
+ { 470, 466 },
+ { 473, 471 },
+ { 474, 472 },
+ { 475, 471 },
+ { 476, 472 },
+ { 479, 477 },
+ { 480, 478 },
+ { 481, 477 },
+ { 482, 478 },
+ { 485, 483 },
+ { 486, 484 },
+ { 487, 483 },
+ { 488, 484 },
+ { 491, 489 },
+ { 492, 490 },
+ { 493, 489 },
+ { 494, 490 },
+ { 504, 495 },
+ { 505, 496 },
+ { 506, 497 },
+ { 507, 498 },
+ { 508, 499 },
+ { 509, 500 },
+ { 510, 501 },
+ { 511, 502 },
+ { 512, 503 },
+ { 513, 495 },
+ { 515, 497 },
+ { 516, 498 },
+ { 518, 500 },
+ { 519, 501 },
+ { 520, 502 },
+ { 521, 503 },
+ { 532, 534 },
+ { 533, 534 },
+ { 538, 536 },
+ { 539, 537 },
+ { 540, 536 },
+ { 541, 537 },
+ { 555, 552 },
+ { 556, 553 },
+ { 557, 554 },
+ { 558, 552 },
+ { 559, 553 },
+ { 564, 562 },
+ { 565, 563 },
+ { 566, 562 },
+ { 567, 563 },
+ { 575, 573 },
+ { 576, 574 },
+ { 580, 578 },
+ { 581, 579 },
+ { 588, 586 },
+ { 589, 587 },
+ { 590, 586 },
+ { 591, 587 },
+ { 602, 594 },
+ { 603, 595 },
+ { 604, 596 },
+ { 605, 597 },
+ { 606, 598 },
+ { 607, 599 },
+ { 608, 600 },
+ { 609, 601 },
+ { 610, 594 },
+ { 611, 595 },
+ { 612, 596 },
+ { 614, 598 },
+ { 615, 599 },
+ { 617, 601 },
+ { 622, 620 },
+ { 623, 621 },
+ { 629, 626 },
+ { 630, 627 },
+ { 631, 628 },
+ { 632, 626 },
+ { 633, 627 },
+ { 639, 640 },
+ { 643, 642 },
+ { 656, 655 },
+ { 657, 655 },
+ { 691, 687 },
+ { 692, 688 },
+ { 693, 689 },
+ { 694, 690 },
+ { 695, 687 },
+ { 696, 688 },
+ { 697, 689 },
+ { 698, 690 },
+ { 727, 725 },
+ { 728, 726 },
+ { 729, 725 },
+ { 730, 726 },
+ { 732, 731 },
+ { 734, 733 },
+ { 736, 733 },
+ { 740, 739 },
+ { 742, 741 },
+ { 743, 741 },
+ { 745, 744 },
+ { 746, 744 },
+ { 748, 747 },
+ { 749, 747 },
+ { 751, 750 },
+ { 752, 750 },
+ { 761, 763 },
+ { 762, 763 },
+ { 767, 769 },
+ { 768, 769 },
+ { 770, 772 },
+ { 771, 772 },
+ { 775, 773 },
+ { 776, 774 },
+ { 777, 773 },
+ { 778, 774 },
+ { 780, 779 },
+ { 781, 779 },
+ { 794, 792 },
+ { 795, 793 },
+ { 796, 792 },
+ { 797, 793 },
+ { 801, 800 },
+ { 802, 800 },
+ { 807, 806 },
+ { 808, 806 },
+ { 817, 800 },
+ { 818, 800 },
+ { 818, 801 },
+ { 818, 817 },
+ { 819, 800 },
+ { 819, 802 },
+ { 819, 817 },
+ { 822, 803 },
+ { 823, 804 },
+ { 824, 806 },
+ { 825, 806 },
+ { 825, 807 },
+ { 825, 824 },
+ { 826, 806 },
+ { 826, 808 },
+ { 826, 824 },
+ { 829, 809 },
+ { 830, 810 },
+ { 831, 811 },
+ { 832, 812 },
+ { 833, 813 },
+ { 834, 814 },
+ { 835, 816 },
+ { 836, 800 },
+ { 836, 801 },
+ { 837, 800 },
+ { 837, 802 },
+ { 841, 804 },
+ { 842, 806 },
+ { 842, 807 },
+ { 843, 806 },
+ { 843, 808 },
+ { 846, 809 },
+ { 848, 811 },
+ { 849, 812 },
+ { 850, 813 },
+ { 851, 814 },
+ { 852, 816 },
+ { 854, 853 },
+ { 855, 853 },
+ { 860, 859 },
+ { 861, 859 },
+ { 871, 869 },
+ { 872, 870 },
+ { 873, 869 },
+ { 874, 870 },
+ { 876, 875 },
+ { 877, 875 },
+ { 881, 883 },
+ { 882, 883 },
+ { 888, 884 },
+ { 889, 885 },
+ { 891, 886 },
+ { 892, 887 },
+ { 894, 884 },
+ { 895, 884 },
+ { 895, 894 },
+ { 896, 885 },
+ { 897, 886 },
+ { 898, 886 },
+ { 898, 897 },
+ { 899, 887 },
+ { 904, 900 },
+ { 905, 901 },
+ { 907, 902 },
+ { 908, 903 },
+ { 910, 900 },
+ { 911, 901 },
+ { 912, 902 },
+ { 913, 903 },
+ { 916, 914 },
+ { 917, 915 },
+ { 918, 914 },
+ { 919, 915 },
+ { 929, 927 },
+ { 930, 928 },
+ { 931, 927 },
+ { 932, 928 },
+ { 936, 938 },
+ { 940, 942 },
+ { 944, 946 },
+ { 948, 950 },
+ { 953, 960 },
+ { 954, 961 },
+ { 955, 963 },
+ { 956, 964 },
+ { 957, 965 },
+ { 958, 960 },
+ { 959, 965 },
+ { 968, 966 },
+ { 969, 967 },
+ { 970, 966 },
+ { 971, 967 },
+ { 983, 974 },
+ { 984, 975 },
+ { 985, 976 },
+ { 986, 977 },
+ { 987, 978 },
+ { 988, 979 },
+ { 989, 980 },
+ { 990, 981 },
+ { 991, 982 },
+ { 992, 974 },
+ { 994, 976 },
+ { 995, 977 },
+ { 997, 979 },
+ { 998, 980 },
+ { 999, 981 },
+ { 1000, 982 },
+ { 1012, 1010 },
+ { 1013, 1011 },
+ { 1017, 1018 },
+ { 1031, 1028 },
+ { 1032, 1029 },
+ { 1033, 1030 },
+ { 1034, 1028 },
+ { 1035, 1029 },
+ { 1036, 1030 },
+ { 1038, 1037 },
+ { 1040, 1039 },
+ { 1042, 1041 },
+ { 1044, 1043 },
+ { 1045, 1043 },
+ { 1047, 1046 },
+ { 1048, 1046 },
+ { 1050, 1049 },
+ { 1051, 1049 },
+ { 1053, 1052 },
+ { 1062, 1058 },
+ { 1063, 1059 },
+ { 1064, 1060 },
+ { 1065, 1061 },
+ { 1067, 1058 },
+ { 1068, 1059 },
+ { 1069, 1060 },
+ { 1070, 1061 },
+ { 1072, 1071 },
+ { 1074, 1073 },
+ { 1076, 1075 },
+ { 1078, 1077 },
+ { 1080, 1079 },
+ { 1081, 1079 },
+ { 1083, 1082 },
+ { 1084, 1082 },
+ { 1086, 1085 },
+ { 1087, 1085 },
+ { 1089, 1088 },
+ { 1091, 1090 },
+ { 1098, 1092 },
+ { 1099, 1093 },
+ { 1100, 1094 },
+ { 1101, 1095 },
+ { 1102, 1096 },
+ { 1103, 1097 },
+ { 1104, 1092 },
+ { 1105, 1093 },
+ { 1106, 1094 },
+ { 1107, 1095 },
+ { 1108, 1096 },
+ { 1109, 1097 },
+ { 1122, 1116 },
+ { 1123, 1117 },
+ { 1124, 1118 },
+ { 1125, 1119 },
+ { 1126, 1120 },
+ { 1127, 1121 },
+ { 1128, 1116 },
+ { 1129, 1117 },
+ { 1130, 1118 },
+ { 1131, 1119 },
+ { 1132, 1120 },
+ { 1133, 1121 },
+ { 1150, 1149 },
+ { 1151, 1149 },
+ { 1153, 1152 },
+ { 1154, 1152 },
+ { 1161, 1163 },
+ { 1162, 1163 },
+ { 1164, 1166 },
+ { 1165, 1166 },
+ { 1174, 1168 },
+ { 1175, 1169 },
+ { 1176, 1170 },
+ { 1177, 1171 },
+ { 1178, 1172 },
+ { 1179, 1173 },
+ { 1180, 1168 },
+ { 1181, 1169 },
+ { 1182, 1170 },
+ { 1183, 1171 },
+ { 1184, 1172 },
+ { 1185, 1173 },
+ { 1198, 1192 },
+ { 1199, 1193 },
+ { 1200, 1194 },
+ { 1201, 1195 },
+ { 1202, 1196 },
+ { 1203, 1197 },
+ { 1204, 1192 },
+ { 1205, 1193 },
+ { 1206, 1194 },
+ { 1207, 1195 },
+ { 1208, 1196 },
+ { 1209, 1197 },
+ { 1229, 1223 },
+ { 1230, 1224 },
+ { 1231, 1225 },
+ { 1232, 1226 },
+ { 1233, 1227 },
+ { 1234, 1228 },
+ { 1235, 1223 },
+ { 1236, 1224 },
+ { 1237, 1225 },
+ { 1238, 1226 },
+ { 1239, 1227 },
+ { 1240, 1228 },
+ { 1254, 1248 },
+ { 1255, 1249 },
+ { 1256, 1250 },
+ { 1257, 1251 },
+ { 1258, 1252 },
+ { 1259, 1253 },
+ { 1260, 1248 },
+ { 1261, 1249 },
+ { 1262, 1250 },
+ { 1263, 1251 },
+ { 1264, 1252 },
+ { 1265, 1253 },
+ { 1286, 1277 },
+ { 1287, 1278 },
+ { 1288, 1279 },
+ { 1289, 1280 },
+ { 1290, 1281 },
+ { 1291, 1282 },
+ { 1292, 1283 },
+ { 1293, 1284 },
+ { 1294, 1285 },
+ { 1295, 1277 },
+ { 1297, 1279 },
+ { 1298, 1280 },
+ { 1300, 1282 },
+ { 1301, 1283 },
+ { 1302, 1284 },
+ { 1303, 1285 },
+ { 1314, 1316 },
+ { 1315, 1316 },
+ { 1351, 1350 },
+ { 1352, 1350 },
+ { 1359, 1353 },
+ { 1360, 1354 },
+ { 1361, 1355 },
+ { 1362, 1356 },
+ { 1363, 1357 },
+ { 1364, 1358 },
+ { 1365, 1353 },
+ { 1366, 1354 },
+ { 1367, 1355 },
+ { 1368, 1356 },
+ { 1369, 1357 },
+ { 1370, 1358 },
+ { 1381, 1377 },
+ { 1382, 1378 },
+ { 1383, 1379 },
+ { 1384, 1380 },
+ { 1385, 1377 },
+ { 1386, 1378 },
+ { 1387, 1379 },
+ { 1388, 1380 },
+ { 1399, 1393 },
+ { 1400, 1394 },
+ { 1401, 1395 },
+ { 1402, 1396 },
+ { 1403, 1397 },
+ { 1404, 1398 },
+ { 1405, 1393 },
+ { 1406, 1394 },
+ { 1407, 1395 },
+ { 1408, 1396 },
+ { 1409, 1397 },
+ { 1410, 1398 },
+ { 1421, 1417 },
+ { 1422, 1418 },
+ { 1423, 1419 },
+ { 1424, 1420 },
+ { 1425, 1417 },
+ { 1426, 1418 },
+ { 1427, 1419 },
+ { 1428, 1420 },
+ { 1434, 1433 },
+ { 1435, 1433 },
+ { 1439, 1438 },
+ { 1440, 1438 },
+ { 1445, 1444 },
+ { 1446, 1444 },
+ { 1453, 1455 },
+ { 1454, 1455 },
+ { 1457, 1456 },
+ { 1458, 1456 },
+ { 1469, 1460 },
+ { 1470, 1461 },
+ { 1471, 1462 },
+ { 1472, 1463 },
+ { 1473, 1464 },
+ { 1474, 1465 },
+ { 1475, 1466 },
+ { 1476, 1467 },
+ { 1477, 1468 },
+ { 1478, 1460 },
+ { 1480, 1462 },
+ { 1481, 1463 },
+ { 1483, 1465 },
+ { 1484, 1466 },
+ { 1485, 1467 },
+ { 1486, 1468 },
+ { 1514, 1507 },
+ { 1515, 1508 },
+ { 1516, 1509 },
+ { 1517, 1510 },
+ { 1518, 1511 },
+ { 1519, 1512 },
+ { 1520, 1513 },
+ { 1521, 1507 },
+ { 1524, 1510 },
+ { 1527, 1513 },
+ { 1538, 1536 },
+ { 1539, 1537 },
+ { 1540, 1536 },
+ { 1541, 1537 },
+ { 1550, 1549 },
+ { 1551, 1549 },
+ { 1595, 1593 },
+ { 1596, 1594 },
+ { 1597, 1593 },
+ { 1598, 1594 },
+ { 1604, 1601 },
+ { 1605, 1602 },
+ { 1606, 1603 },
+ { 1607, 1601 },
+ { 1608, 1602 },
+ { 1609, 1603 },
+ { 1628, 1619 },
+ { 1629, 1620 },
+ { 1630, 1621 },
+ { 1631, 1622 },
+ { 1632, 1623 },
+ { 1633, 1624 },
+ { 1634, 1625 },
+ { 1635, 1626 },
+ { 1636, 1627 },
+ { 1637, 1619 },
+ { 1639, 1621 },
+ { 1640, 1622 },
+ { 1642, 1624 },
+ { 1643, 1625 },
+ { 1644, 1626 },
+ { 1645, 1627 },
+};
+
+static const uint16_t x86_16_bit_eq_lookup[] = {
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 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,
+ 2,
+ 3,
+ 4,
+ 5,
+ 6,
+ 7,
+ 8,
+ 9,
+ 10,
+ 0,
+ 11,
+ 12,
+ 0,
+ 13,
+ 14,
+ 15,
+ 16,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 17,
+ 18,
+ 19,
+ 20,
+ 21,
+ 22,
+ 23,
+ 24,
+ 25,
+ 26,
+ 0,
+ 27,
+ 28,
+ 0,
+ 29,
+ 30,
+ 31,
+ 32,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 33,
+ 34,
+ 35,
+ 36,
+ 37,
+ 38,
+ 39,
+ 40,
+ 41,
+ 42,
+ 0,
+ 43,
+ 44,
+ 0,
+ 45,
+ 46,
+ 47,
+ 48,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 49,
+ 0,
+ 0,
+ 50,
+ 51,
+ 52,
+ 53,
+ 0,
+ 0,
+ 54,
+ 55,
+ 56,
+ 57,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 58,
+ 59,
+ 60,
+ 61,
+ 62,
+ 63,
+ 64,
+ 65,
+ 0,
+ 0,
+ 0,
+ 0,
+ 66,
+ 67,
+ 68,
+ 69,
+ 70,
+ 71,
+ 72,
+ 73,
+ 0,
+ 0,
+ 0,
+ 0,
+ 74,
+ 75,
+ 76,
+ 77,
+ 78,
+ 79,
+ 80,
+ 81,
+ 0,
+ 0,
+ 0,
+ 0,
+ 82,
+ 83,
+ 84,
+ 85,
+ 86,
+ 87,
+ 88,
+ 89,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 90,
+ 91,
+ 92,
+ 93,
+ 94,
+ 95,
+ 0,
+ 96,
+ 97,
+ 0,
+ 98,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 99,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 100,
+ 101,
+ 102,
+ 103,
+ 0,
+ 0,
+ 104,
+ 105,
+ 106,
+ 107,
+ 0,
+ 0,
+ 108,
+ 109,
+ 110,
+ 111,
+ 0,
+ 0,
+ 112,
+ 113,
+ 114,
+ 115,
+ 0,
+ 0,
+ 116,
+ 117,
+ 118,
+ 119,
+ 0,
+ 0,
+ 120,
+ 121,
+ 122,
+ 123,
+ 0,
+ 0,
+ 124,
+ 125,
+ 126,
+ 127,
+ 0,
+ 0,
+ 128,
+ 129,
+ 130,
+ 131,
+ 0,
+ 0,
+ 132,
+ 133,
+ 134,
+ 135,
+ 0,
+ 0,
+ 136,
+ 137,
+ 138,
+ 139,
+ 0,
+ 0,
+ 140,
+ 141,
+ 142,
+ 143,
+ 0,
+ 0,
+ 144,
+ 145,
+ 146,
+ 147,
+ 0,
+ 0,
+ 148,
+ 149,
+ 150,
+ 151,
+ 0,
+ 0,
+ 152,
+ 153,
+ 154,
+ 155,
+ 0,
+ 0,
+ 156,
+ 157,
+ 158,
+ 159,
+ 0,
+ 0,
+ 160,
+ 161,
+ 162,
+ 163,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 164,
+ 165,
+ 166,
+ 167,
+ 168,
+ 169,
+ 170,
+ 171,
+ 172,
+ 173,
+ 0,
+ 174,
+ 175,
+ 0,
+ 176,
+ 177,
+ 178,
+ 179,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 180,
+ 181,
+ 0,
+ 0,
+ 0,
+ 0,
+ 182,
+ 183,
+ 184,
+ 185,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 186,
+ 187,
+ 188,
+ 189,
+ 190,
+ 0,
+ 0,
+ 0,
+ 0,
+ 191,
+ 192,
+ 193,
+ 194,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 195,
+ 196,
+ 0,
+ 0,
+ 0,
+ 197,
+ 198,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 199,
+ 200,
+ 201,
+ 202,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 203,
+ 204,
+ 205,
+ 206,
+ 207,
+ 208,
+ 209,
+ 210,
+ 211,
+ 212,
+ 213,
+ 0,
+ 214,
+ 215,
+ 0,
+ 216,
+ 0,
+ 0,
+ 0,
+ 0,
+ 217,
+ 218,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 219,
+ 220,
+ 221,
+ 222,
+ 223,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 224,
+ 0,
+ 0,
+ 0,
+ 225,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 226,
+ 227,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 228,
+ 229,
+ 230,
+ 231,
+ 232,
+ 233,
+ 234,
+ 235,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 236,
+ 237,
+ 238,
+ 239,
+ 0,
+ 240,
+ 0,
+ 241,
+ 0,
+ 242,
+ 0,
+ 0,
+ 0,
+ 243,
+ 0,
+ 244,
+ 245,
+ 0,
+ 246,
+ 247,
+ 0,
+ 248,
+ 249,
+ 0,
+ 250,
+ 251,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 252,
+ 253,
+ 0,
+ 0,
+ 0,
+ 0,
+ 254,
+ 255,
+ 0,
+ 256,
+ 257,
+ 0,
+ 0,
+ 0,
+ 258,
+ 259,
+ 260,
+ 261,
+ 0,
+ 262,
+ 263,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 264,
+ 265,
+ 266,
+ 267,
+ 0,
+ 0,
+ 0,
+ 268,
+ 269,
+ 0,
+ 0,
+ 0,
+ 0,
+ 270,
+ 271,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 272,
+ 273,
+ 276,
+ 0,
+ 0,
+ 279,
+ 280,
+ 281,
+ 282,
+ 285,
+ 0,
+ 0,
+ 288,
+ 289,
+ 290,
+ 291,
+ 292,
+ 293,
+ 294,
+ 295,
+ 297,
+ 0,
+ 0,
+ 0,
+ 299,
+ 300,
+ 302,
+ 0,
+ 0,
+ 304,
+ 0,
+ 305,
+ 306,
+ 307,
+ 308,
+ 309,
+ 0,
+ 310,
+ 311,
+ 0,
+ 0,
+ 0,
+ 0,
+ 312,
+ 313,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 314,
+ 315,
+ 316,
+ 317,
+ 0,
+ 318,
+ 319,
+ 0,
+ 0,
+ 0,
+ 320,
+ 321,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 322,
+ 323,
+ 0,
+ 324,
+ 325,
+ 0,
+ 326,
+ 327,
+ 329,
+ 330,
+ 331,
+ 333,
+ 0,
+ 0,
+ 0,
+ 0,
+ 334,
+ 335,
+ 0,
+ 336,
+ 337,
+ 0,
+ 338,
+ 339,
+ 340,
+ 341,
+ 0,
+ 0,
+ 342,
+ 343,
+ 344,
+ 345,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 346,
+ 347,
+ 348,
+ 349,
+ 0,
+ 0,
+ 0,
+ 350,
+ 0,
+ 0,
+ 0,
+ 351,
+ 0,
+ 0,
+ 0,
+ 352,
+ 0,
+ 0,
+ 0,
+ 353,
+ 0,
+ 0,
+ 0,
+ 0,
+ 354,
+ 355,
+ 356,
+ 357,
+ 358,
+ 359,
+ 360,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 361,
+ 362,
+ 363,
+ 364,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 365,
+ 366,
+ 367,
+ 368,
+ 369,
+ 370,
+ 371,
+ 372,
+ 373,
+ 374,
+ 0,
+ 375,
+ 376,
+ 0,
+ 377,
+ 378,
+ 379,
+ 380,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 381,
+ 382,
+ 0,
+ 0,
+ 0,
+ 383,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 384,
+ 385,
+ 386,
+ 387,
+ 388,
+ 389,
+ 0,
+ 390,
+ 0,
+ 391,
+ 0,
+ 392,
+ 0,
+ 393,
+ 394,
+ 0,
+ 395,
+ 396,
+ 0,
+ 397,
+ 398,
+ 0,
+ 399,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 400,
+ 401,
+ 402,
+ 403,
+ 0,
+ 404,
+ 405,
+ 406,
+ 407,
+ 0,
+ 408,
+ 0,
+ 409,
+ 0,
+ 410,
+ 0,
+ 411,
+ 0,
+ 412,
+ 413,
+ 0,
+ 414,
+ 415,
+ 0,
+ 416,
+ 417,
+ 0,
+ 418,
+ 0,
+ 419,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 420,
+ 421,
+ 422,
+ 423,
+ 424,
+ 425,
+ 426,
+ 427,
+ 428,
+ 429,
+ 430,
+ 431,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 432,
+ 433,
+ 434,
+ 435,
+ 436,
+ 437,
+ 438,
+ 439,
+ 440,
+ 441,
+ 442,
+ 443,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 444,
+ 445,
+ 0,
+ 446,
+ 447,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 448,
+ 449,
+ 0,
+ 450,
+ 451,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 452,
+ 453,
+ 454,
+ 455,
+ 456,
+ 457,
+ 458,
+ 459,
+ 460,
+ 461,
+ 462,
+ 463,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 464,
+ 465,
+ 466,
+ 467,
+ 468,
+ 469,
+ 470,
+ 471,
+ 472,
+ 473,
+ 474,
+ 475,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 476,
+ 477,
+ 478,
+ 479,
+ 480,
+ 481,
+ 482,
+ 483,
+ 484,
+ 485,
+ 486,
+ 487,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 488,
+ 489,
+ 490,
+ 491,
+ 492,
+ 493,
+ 494,
+ 495,
+ 496,
+ 497,
+ 498,
+ 499,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 500,
+ 501,
+ 502,
+ 503,
+ 504,
+ 505,
+ 506,
+ 507,
+ 508,
+ 509,
+ 0,
+ 510,
+ 511,
+ 0,
+ 512,
+ 513,
+ 514,
+ 515,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 516,
+ 517,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 518,
+ 519,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 520,
+ 521,
+ 522,
+ 523,
+ 524,
+ 525,
+ 526,
+ 527,
+ 528,
+ 529,
+ 530,
+ 531,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 532,
+ 533,
+ 534,
+ 535,
+ 536,
+ 537,
+ 538,
+ 539,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 540,
+ 541,
+ 542,
+ 543,
+ 544,
+ 545,
+ 546,
+ 547,
+ 548,
+ 549,
+ 550,
+ 551,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 552,
+ 553,
+ 554,
+ 555,
+ 556,
+ 557,
+ 558,
+ 559,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 560,
+ 561,
+ 0,
+ 0,
+ 0,
+ 562,
+ 563,
+ 0,
+ 0,
+ 0,
+ 0,
+ 564,
+ 565,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 566,
+ 567,
+ 0,
+ 0,
+ 568,
+ 569,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 570,
+ 571,
+ 572,
+ 573,
+ 574,
+ 575,
+ 576,
+ 577,
+ 578,
+ 579,
+ 0,
+ 580,
+ 581,
+ 0,
+ 582,
+ 583,
+ 584,
+ 585,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 586,
+ 587,
+ 588,
+ 589,
+ 590,
+ 591,
+ 592,
+ 593,
+ 0,
+ 0,
+ 594,
+ 0,
+ 0,
+ 595,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 596,
+ 597,
+ 598,
+ 599,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 600,
+ 601,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 602,
+ 603,
+ 604,
+ 605,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 606,
+ 607,
+ 608,
+ 609,
+ 610,
+ 611,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 612,
+ 613,
+ 614,
+ 615,
+ 616,
+ 617,
+ 618,
+ 619,
+ 620,
+ 621,
+ 0,
+ 622,
+ 623,
+ 0,
+ 624,
+ 625,
+ 626,
+ 627,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+};