ref: 4dc8cff4fd04e8536f5577522ecb95032064f295
dir: /3rd/utf/runetotypedata/
static int _upperdata[1756] = { 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,743, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32, 0,-32,-32,-32,-32,-32,-32,-32,121,0,-1,0,-1,0,-1,0, -1,0,-1,0,-1,0,-1,0,-1,0,-232,0,-1,0,-1,0, -1,0,0,-1,0,-1,0,-1,0,-1,0,-1,0,0,-1,0, -1,0,-1,0,-1,0,-1,0,-1,0,-1,0,-1,0,0,-1, 0,-1,0,-1,-300,195,0,0,-1,0,-1,0,0,-1,0,0, 0,-1,0,0,0,-1,0,0,97,0,0,0,-1,163,0,0, 0,130,0,-1,0,-1,0,-1,0,0,-1,0,0,0,0,-1, 0,0,0,-1,0,-1,0,0,-1,0,0,0,-1,0,56,0, 0,0,0,0,-1,-2,0,-1,-2,0,-1,-2,0,-1,0,-1, 0,-1,0,-1,0,-1,0,-1,0,-1,-79,0,-1,0,-1,0, -1,0,-1,0,-1,0,-1,0,-1,0,-1,0,0,-1,-2,0, -1,0,0,0,-1,0,-1,0,-1,0,-1,0,-1,0,-1,0, -1,0,-1,0,0,0,-1,0,-1,0,-1,0,-1,0,-1,0, -1,0,-1,0,0,0,0,0,0,0,0,-1,0,0,10815,0, -1,0,0,0,0,-1,0,-1,0,-1,0,-1,0,-1,10783,10780, 10782,-210,-206,0,-205,-205,0,-202,0,-203,42319,0,0,0,-205,42315, 0,-207,0,42280,42308,0,-209,-211,42308,10743,42305,0,0,-211,0,10749, -213,0,0,-214,0,0,0,0,0,0,0,10727,0,0,-218,0, 42307,-218,0,0,0,42282,-218,-69,-217,-217,-71,0,0,0,-219,0, 0,0,0,0,0,0,0,0,0,42261,42258,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,84,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,-1,0,-1,0, 0,0,-1,0,0,0,130,130,130,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,-38,-37,-37,-37,0,-32,-32, -32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-31,-32,-32, -32,-32,-32,-32,-32,-32,-32,-64,-63,-63,0,-62,-57,0,0,0, -47,-54,-8,0,-1,0,-1,0,-1,0,-1,0,-1,0,-1,0, -1,0,-1,-86,-80,7,-116,0,-96,0,0,-1,0,0,-1,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-32, -32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-80, -80,-80,-80,-80,-80,-80,-80,-80,-80,-80,-80,-80,-80,-80,-80,0, -1,0,-1,0,-1,0,-1,0,-1,0,-1,0,-1,0,-1,0, 0,0,0,0,0,0,0,0,-1,0,-1,0,-1,0,-1,0, -1,0,-1,0,-1,0,-1,0,0,-1,0,-1,0,-1,0,-1, 0,-1,0,-1,0,-1,-15,0,-1,0,-1,0,-1,0,-1,0, -1,0,-1,0,-1,0,-1,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,-48,-48,-48,-48,-48,-48,-48,-48,-48, -48,-48,-48,-48,-48,-48,-48,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,3008,3008,3008,3008,3008,3008,3008,3008,3008, 3008,3008,3008,3008,3008,3008,3008,0,0,3008,3008,3008,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,-8,-8,-8,-8, -8,-8,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,-6254,-6253,-6244,-6242,-6242,-6243,-6236,-6181,35266,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,35332,0,0,0,3814, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,35384,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1, 0,-1,0,-1,0,-1,0,-1,0,-1,0,-1,0,-1,0,0, 0,0,0,-59,0,0,0,0,-1,0,-1,0,-1,0,-1,0, -1,0,-1,0,-1,0,-1,8,8,8,8,8,8,8,8,0, 0,0,0,0,0,0,0,0,0,8,8,8,8,8,8,8, 8,0,0,0,0,0,0,0,0,0,0,8,0,8,0,8, 0,8,0,0,0,0,0,0,0,0,8,8,8,8,8,8, 8,8,0,0,0,0,0,0,0,0,74,74,86,86,86,86, 100,100,128,128,112,112,126,126,0,0,8,8,8,8,8,8, 8,8,0,0,0,0,0,0,0,0,8,8,0,9,0,0, 0,0,0,0,0,0,0,0,-7205,0,0,0,9,0,0,0, 0,0,0,0,0,0,0,0,0,8,8,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,8,8,0,0,0,7,0, 0,0,0,0,0,0,0,0,0,9,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,-28,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,-16,-16,-16,-16,-16, -16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,0,0,0,0,-1, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48, 0,-1,0,0,0,-10795,-10792,0,-1,0,-1,0,-1,0,0,0, -1,0,0,-1,0,0,0,0,0,0,0,0,0,-1,0,-1, 0,-1,0,-1,0,-1,0,-1,0,-1,0,-1,0,0,0,0, 0,0,0,0,-1,0,-1,0,0,0,-1,0,0,0,0,0, 0,0,0,0,0,0,0,-7264,-7264,-7264,-7264,-7264,-7264,-7264,-7264,-7264, -7264,-7264,-7264,-7264,-7264,-7264,-7264,0,-7264,0,0,0,0,0,-7264,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1, 0,-1,0,-1,0,-1,0,-1,0,-1,0,-1,0,-1,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,0, -1,0,-1,0,-1,0,-1,0,-1,0,-1,0,-1,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,-1,0,-1, 0,-1,0,-1,0,-1,0,-1,0,-1,0,-1,0,0,0,0, 0,0,0,0,0,0,-1,0,-1,0,0,-1,0,-1,0,-1, 0,-1,0,0,0,0,-1,0,0,0,-1,0,-1,48,0,0, -1,0,-1,0,-1,0,-1,0,-1,0,0,0,0,0,0,-1, 0,-1,0,-1,0,-1,0,-1,0,-1,0,0,0,0,-1,0, -1,0,0,0,0,0,-1,0,-1,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,-1,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,-928,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,-38864,-38864,-38864,-38864,-38864, -38864,-38864,-38864,-38864,-38864,-38864,-38864,-38864,-38864,-38864,-38864,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,-32,-32,-32,-32,-32, -32,-32,-32,-32,-32,-32,-32,-32,-32,-32,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,-40,-40,-40,-40,-40,-40, -40,-40,-40,-40,-40,-40,-40,-40,-40,-40,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,-40,-40,-40,-40,-40,-40, -40,-40,-40,-40,-40,-40,-40,-40,-40,-40,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,-39,-39,-39,-39,-39,-39, -39,-39,-39,0,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39, -39,0,-39,-39,-39,-39,-39,-39,-39,0,-39,-39,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,-64,-64,-64,-64, -64,-64,-64,-64,-64,-64,-64,-64,-64,-64,-64,-64,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,-32,-32,-32,-32, -32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,-32,-32,-32,-32, -32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,-34,-34,-34,-34, -34,-34,-34,-34,-34,-34,-34,-34,-34,-34,-34,-34,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0, }; static uint16_t _upperidx2[1595] = { 0,0,0,0,0,0,15,20,31,31,31,42,48,48,64,73, 89,89,89,105,115,125,125,133,149,163,178,191,207,221,235,251, 259,259,275,287,302,318,334,350,366,380,395,395,395,395,395,395, 395,395,395,395,406,412,412,427,441,441,445,461,475,491,499,515, 527,527,527,543,543,559,575,575,589,599,599,599,615,631,631,631, 631,631,631,647,647,647,662,663,672,679,679,679,679,679,679,679, 679,679,679,679,679,679,679,679,679,679,679,679,679,679,679,679, 679,679,679,679,679,679,679,679,679,679,679,679,679,679,679,679, 679,679,679,679,679,679,679,679,679,679,679,679,679,679,679,679, 679,679,679,679,679,679,679,679,679,679,679,679,679,679,679,679, 679,679,679,679,679,679,679,679,679,679,679,679,679,679,679,679, 679,679,679,679,679,679,679,679,679,679,679,679,679,679,679,679, 679,679,679,679,679,679,679,679,679,679,679,679,679,679,679,679, 679,679,679,679,679,679,679,679,679,695,695,700,716,716,716,716, 716,716,716,716,716,716,716,716,716,716,716,716,716,716,716,716, 716,716,716,716,716,716,716,716,716,716,716,716,716,716,716,716, 716,716,716,716,716,716,716,716,716,716,716,724,738,738,738,738, 738,738,738,738,738,738,738,738,738,738,738,738,738,738,738,738, 738,738,738,738,738,738,738,738,738,738,738,738,738,738,738,738, 738,738,738,738,738,738,738,738,738,738,738,738,738,738,738,738, 738,738,738,738,738,738,738,738,738,738,738,738,738,738,738,738, 738,738,738,738,754,763,763,763,763,763,763,763,763,763,763,763, 763,763,763,770,784,799,799,799,799,799,799,799,814,814,814,814, 814,814,814,814,814,824,839,839,839,839,839,839,855,857,873,873, 875,890,906,922,938,938,938,954,969,985,1001,1014,1018,1018,1018,1018, 1018,1018,1018,1018,1018,1018,1018,1018,1018,1018,1018,1018,1018,1018,1018,1018, 1020,1035,1035,1051,1067,1072,1072,1072,1072,1072,1072,1072,1072,1072,1072,1072, 1072,1072,1072,1072,1072,1072,1072,1072,1072,1072,1072,1072,1072,1072,1072,1072, 1072,1072,1072,1072,1072,1072,1072,1072,1072,1072,1072,1072,1072,1072,1072,1072, 1072,1072,1072,1072,1072,1072,1072,1072,1072,1088,1094,1104,1104,1104,1104,1104, 1104,1104,1104,1104,1104,1104,1104,1104,1104,1104,1104,1104,1104,1104,1104,1104, 1104,1104,1104,1104,1104,1104,1104,1104,1104,1104,1104,1104,1104,1104,1104,1104, 1104,1104,1104,1104,1104,1104,1104,1104,1104,1104,1104,1104,1104,1104,1104,1104, 1104,1104,1104,1104,1104,1104,1104,1104,1104,1104,1104,1104,1104,1104,1120,1120, 1120,1136,1149,1164,1164,1164,1164,1164,1164,1176,1191,1207,1207,1217,1231,1231, 1231,1231,1231,1231,1231,1231,1231,1231,1231,1231,1231,1231,1231,1231,1231,1231, 1231,1231,1231,1231,1231,1231,1231,1231,1231,1231,1231,1231,1231,1231,1231,1231, 1231,1231,1231,1231,1231,1231,1231,1231,1231,1231,1231,1231,1231,1231,1231,1231, 1231,1231,1231,1231,1231,1231,1231,1231,1231,1231,1231,1231,1231,1231,1231,1231, 1231,1231,1231,1231,1231,1231,1231,1231,1231,1231,1231,1231,1231,1231,1231,1231, 1231,1231,1231,1231,1231,1231,1231,1231,1231,1231,1231,1231,1231,1231,1231,1231, 1231,1231,1231,1231,1231,1231,1231,1231,1231,1231,1231,1231,1231,1231,1231,1231, 1231,1231,1231,1231,1231,1231,1231,1231,1231,1231,1231,1231,1231,1231,1246,1246, 1248,1262,1277,1281,1293,1293,1293,1293,1293,1293,1293,1293,1306,1306,1308,1308, 1308,1324,1338,1353,1359,1370,1382,1391,1401,1411,1418,1418,1418,1418,1418,1418, 1418,1418,1418,1418,1418,1418,1418,1418,1418,1418,1418,1418,1418,1418,1418,1418, 1418,1418,1418,1418,1418,1418,1418,1418,1418,1418,1418,1418,1418,1418,1418,1418, 1418,1418,1418,1418,1418,1418,1418,1418,1418,1418,1418,1418,1418,1418,1418,1431, 1435,1451,1451,1451,1451,1451,1467,1467,1467,1467,1467,1467,1467,1467,1467,1467, 1467,1467,1467,1467,1467,1467,1467,1467,1467,1467,1467,1467,1467,1467,1467,1467, 1467,1467,1467,1467,1467,1467,1467,1467,1467,1467,1467,1467,1467,1467,1467,1467, 1467,1467,1467,1467,1467,1467,1467,1467,1467,1467,1467,1467,1467,1467,1467,1467, 1467,1467,1467,1467,1467,1467,1467,1467,1467,1467,1467,1467,1467,1467,1467,1467, 1467,1467,1467,1467,1467,1467,1467,1467,1467,1467,1467,1467,1467,1467,1467,1467, 1467,1467,1467,1467,1467,1467,1467,1467,1467,1467,1467,1467,1467,1467,1467,1467, 1467,1467,1467,1467,1467,1467,1467,1467,1467,1467,1467,1467,1467,1467,1467,1467, 1467,1467,1467,1467,1467,1467,1482,1487,1498,1498,1498,1498,1498,1498,1498,1498, 1498,1498,1498,1498,1498,1498,1498,1498,1498,1498,1498,1498,1498,1498,1498,1498, 1498,1498,1498,1498,1498,1498,1498,1498,1498,1498,1498,1498,1498,1498,1498,1498, 1498,1498,1498,1498,1498,1498,1498,1498,1498,1498,1498,1498,1498,1498,1498,1498, 1498,1498,1498,1498,1498,1498,1498,1498,1498,1498,1506,1514,1514,1530,1530,1530, 1530,1530,1530,1530,1530,1538,1546,1550,1562,1562,1562,1562,1562,1562,1562,1562, 1562,1571,1585,1599,1612,1612,1612,1612,1612,1612,1612,1612,1612,1612,1612,1612, 1612,1612,1612,1612,1612,1612,1612,1612,1612,1612,1612,1612,1612,1612,1612,1612, 1612,1612,1612,1612,1612,1612,1612,1612,1612,1612,1612,1612,1612,1612,1612,1612, 1612,1612,1612,1612,1612,1612,1612,1612,1612,1612,1612,1612,1612,1612,1612,1612, 1612,1612,1612,1612,1612,1612,1612,1612,1612,1612,1612,1612,1612,1612,1612,1612, 1628,1628,1628,1641,1644,1644,1644,1644,1644,1644,1644,1644,1644,1644,1644,1644, 1644,1644,1644,1644,1644,1644,1644,1644,1644,1644,1644,1644,1644,1644,1644,1644, 1644,1644,1644,1644,1644,1644,1644,1644,1644,1644,1644,1644,1644,1644,1644,1644, 1644,1644,1644,1644,1644,1644,1644,1644,1644,1644,1644,1644,1644,1644,1644,1644, 1644,1644,1644,1644,1644,1644,1644,1644,1644,1644,1644,1644,1644,1644,1644,1644, 1644,1644,1644,1644,1644,1644,1644,1644,1644,1644,1644,1644,1644,1644,1644,1644, 1644,1644,1644,1644,1644,1644,1644,1644,1644,1644,1644,1644,1644,1644,1644,1644, 1644,1644,1644,1644,1644,1644,1644,1644,1644,1644,1644,1644,1644,1644,1644,1644, 1644,1644,1644,1644,1660,1660,1676,1676,1676,1676,1676,1676,1676,1676,1676,1676, 1676,1676,1676,1676,1676,1676,1676,1676,1676,1676,1676,1676,1676,1676,1676,1676, 1676,1676,1676,1676,1676,1676,1676,1676,1676,1676,1676,1676,1676,1676,1676,1676, 1676,1676,1676,1676,1676,1676,1676,1676,1676,1676,1676,1676,1676,1676,1676,1676, 1676,1676,1676,1676,1676,1676,1676,1676,1676,1676,1676,1676,1676,1676,1676,1676, 1676,1676,1676,1676,1676,1676,1676,1676,1676,1676,1676,1676,1676,1676,1676,1676, 1676,1676,1676,1676,1676,1676,1676,1676,1676,1676,1676,1676,1676,1676,1676,1676, 1676,1676,1676,1676,1676,1676,1676,1676,1676,1676,1676,1676,1676,1676,1676,1676, 1676,1676,1676,1676,1676,1676,1692,1692,1708,1708,1708,1708,1708,1708,1708,1708, 1708,1708,1708,1708,1708,1708,1708,1708,1708,1708,1708,1708,1708,1708,1708,1708, 1708,1708,1708,1708,1708,1708,1708,1708,1708,1708,1708,1708,1708,1708,1708,1708, 1708,1708,1708,1708,1708,1708,1708,1708,1708,1708,1708,1708,1708,1708,1708,1708, 1708,1708,1708,1708,1708,1708,1708,1708,1708,1708,1708,1708,1708,1708,1708,1708, 1708,1708,1708,1708,1708,1708,1708,1708,1708,1708,1708,1708,1708,1708,1708,1708, 1708,1708,1708,1708,1708,1708,1708,1708,1708,1708,1708,1708,1708,1708,1708,1708, 1708,1708,1708,1708,1708,1708,1708,1708,1708,1708,1708,1708,1708,1708,1708,1708, 1708,1708,1708,1708,1708,1708,1708,1708,1722,1724,1736,1740,1740,1740,1740,1740, 1740,1740,1740,1740,1740,1740,1740,1740,1740,1740,1740,1740,1740,1740,1740,1740, 1740,1740,1740,1740,1740,1740,1740,1740,1740,1740,1740,1740,1740,1740,1740,1740, 1740,1740,1740,1740,1740,1740,1740,1740,1740,1740,1740,1740,1740,1740,1740,1740, 1740,1740,1740,1740,1740,1740,1740,1740,1740,1740,1740,1740,1740,1740,1740,1740, 1740,1740,1740,1740,1740,1740,1740,1740,1740,1740,1740,1740,1740,1740,1740,1740, 1740,1740,1740,1740,1740,1740,1740,1740,1740,1740,1740,1740,1740,1740,1740,1740, 1740,1740,1740,1740,1740,1740,1740,1740,1740,1740,1740,1740,1740,1740,1740,1740, 1740,1740,1740,1740,1740,1740,1740,1740,1740,1740,1740, }; static uint16_t _upperidx1[1024] = { 0,89,204,268,396,475,558,558,558,558,558,558,558,558,558,558, 558,558,558,558,586,714,774,774,774,774,774,774,774,774,774,786, 904,996,1076,1192,1206,1206,1206,1206,1206,1206,1206,1206,1206,1232,1336,1336, 1336,1336,1336,1336,1336,1336,1336,1336,1336,1336,1336,1336,1336,1446,1467,1467, 1467,1467,1467,1467,1467,1467,1467,1467,1467,1467,1467,1467,1467,1467,1467,1467, 1467,1467,1467,1467,1467,1467,1467,1467,1467,1467,1467,1467,1467,1467,1467,1467, 1467,1467,1467,1467,1467,1467,1467,1467,1467,1467,1467,1467,1467,1467,1467,1467, 1467,1467,1467,1467,1467,1467,1467,1467,1467,1467,1467,1467,1467,1467,1467,1467, 1467,1467,1467,1467,1467,1467,1467,1467,1467,1467,1467,1467,1467,1467,1467,1467, 1467,1467,1467,1467,1467,1467,1467,1467,1467,1467,1467,1467,1467,1467,1467,1467, 1467,1467,1467,1467,1467,1467,1467,1467,1467,1467,1467,1467,1467,1467,1467,1467, 1467,1467,1467,1467,1467,1467,1467,1467,1467,1467,1467,1467,1467,1467,1467,1467, 1467,1467,1467,1467,1467,1467,1467,1467,1467,1467,1467,1467,1467,1467,1467,1467, 1467,1467,1467,1467,1467,1467,1467,1467,1467,1467,1467,1467,1467,1467,1467,1467, 1467,1467,1467,1467,1467,1467,1467,1467,1467,1467,1467,1467,1467,1467,1467,1467, 1467,1467,1467,1467,1467,1467,1467,1467,1467,1467,1467,1467,1467,1467,1467,1467, 1467,1467,1467,1467,1467,1467,1467,1467,1467,1467,1467,1467,1467,1467,1467,1467, 1467,1467,1467,1467,1467,1467,1467,1467,1467,1467,1467,1467,1467,1467,1467,1467, 1467,1467,1467,1467,1467,1467,1467,1467,1467,1467,1467,1467,1467,1467,1467,1467, 1467,1467,1467,1467,1467,1467,1467,1467,1467,1467,1467,1467,1467,1467,1467,1467, 1467,1467,1467,1467,1467,1467,1467,1467,1467,1467,1467,1467,1467,1467,1467,1467, 1467,1467,1467,1467,1467,1467,1467,1467,1467,1467,1467,1467,1467,1467,1467,1467, 1467,1467,1467,1467,1467,1467,1467,1467,1467,1467,1467,1467,1467,1467,1467,1467, 1467,1467,1467,1467,1467,1467,1467,1467,1467,1467,1467,1467,1467,1467,1467,1467, 1467,1467,1467,1467,1467,1467,1467,1467,1467,1467,1467,1467,1467,1467,1467,1467, 1467,1467,1467,1467,1467,1467,1467,1467,1467,1467,1467,1467,1467,1467,1467,1467, 1467,1467,1467,1467,1467,1467,1467,1467,1467,1467,1467,1467,1467,1467,1467,1467, 1467,1467,1467,1467,1467,1467,1467,1467,1467,1467,1467,1467,1467,1467,1467,1467, 1467,1467,1467,1467,1467,1467,1467,1467,1467,1467,1467,1467,1467,1467,1467,1467, 1467,1467,1467,1467,1467,1467,1467,1467,1467,1467,1467,1467,1467,1467,1467,1467, 1467,1467,1467,1467,1467,1467,1467,1467,1467,1467,1467,1467,1467,1467,1467,1467, 1467,1467,1467,1467,1467,1467,1467,1467,1467,1467,1467,1467,1467,1467,1467,1467, 1467,1467,1467,1467,1467,1467,1467,1467,1467,1467,1467,1467,1467,1467,1467,1467, 1467,1467,1467,1467,1467,1467,1467,1467,1467,1467,1467,1467,1467,1467,1467,1467, 1467,1467,1467,1467,1467,1467,1467,1467,1467,1467,1467,1467,1467,1467,1467,1467, 1467,1467,1467,1467,1467,1467,1467,1467,1467,1467,1467,1467,1467,1467,1467,1467, 1467,1467,1467,1467,1467,1467,1467,1467,1467,1467,1467,1467,1467,1467,1467,1467, 1467,1467,1467,1467,1467,1467,1467,1467,1467,1467,1467,1467,1467,1467,1467,1467, 1467,1467,1467,1467,1467,1467,1467,1467,1467,1467,1467,1467,1467,1467,1467,1467, 1467,1467,1467,1467,1467,1467,1467,1467,1467,1467,1467,1467,1467,1467,1467,1467, 1467,1467,1467,1467,1467,1467,1467,1467,1467,1467,1467,1467,1467,1467,1467,1467, 1467,1467,1467,1467,1467,1467,1467,1467,1467,1467,1467,1467,1467,1467,1467,1467, 1467,1467,1467,1467,1467,1467,1467,1467,1467,1467,1467,1467,1467,1467,1467,1467, 1467,1467,1467,1467,1467,1467,1467,1467,1467,1467,1467,1467,1467,1467,1467,1467, 1467,1467,1467,1467,1467,1467,1467,1467,1467,1467,1467,1467,1467,1467,1467,1467, 1467,1467,1467,1467,1467,1467,1467,1467,1467,1467,1467,1467,1467,1467,1467,1467, 1467,1467,1467,1467,1467,1467,1467,1467,1467,1467,1467,1467,1467,1467,1467,1467, 1467,1467,1467,1467,1467,1467,1467,1467,1467,1467,1467,1467,1467,1467,1467,1467, 1467,1467,1467,1467,1467,1467,1467,1467,1467,1467,1467,1467,1467,1467,1467,1467, 1467,1467,1467,1467,1467,1467,1467,1467,1467,1467,1467,1467,1467,1467,1467,1467, 1467,1467,1467,1467,1467,1467,1467,1467,1467,1467,1467,1467,1467,1467,1467,1467, 1467,1467,1467,1467,1467,1467,1467,1467,1467,1467,1467,1467,1467,1467,1467,1467, 1467,1467,1467,1467,1467,1467,1467,1467,1467,1467,1467,1467,1467,1467,1467,1467, 1467,1467,1467,1467,1467,1467,1467,1467,1467,1467,1467,1467,1467,1467,1467,1467, 1467,1467,1467,1467,1467,1467,1467,1467,1467,1467,1467,1467,1467,1467,1467,1467, 1467,1467,1467,1467,1467,1467,1467,1467,1467,1467,1467,1467,1467,1467,1467,1467, 1467,1467,1467,1467,1467,1467,1467,1467,1467,1467,1467,1467,1467,1467,1467,1467, 1467,1467,1467,1467,1467,1467,1467,1467,1467,1467,1467,1467,1467,1467,1467,1467, 1467,1467,1467,1467,1467,1467,1467,1467,1467,1467,1467,1467,1467,1467,1467,1467, 1467,1467,1467,1467,1467,1467,1467,1467,1467,1467,1467,1467,1467,1467,1467,1467, 1467,1467,1467,1467,1467,1467,1467,1467,1467,1467,1467,1467,1467,1467,1467,1467, 1467,1467,1467,1467,1467,1467,1467,1467,1467,1467,1467,1467,1467,1467,1467,1467, 1467,1467,1467,1467,1467,1467,1467,1467,1467,1467,1467,1467,1467,1467,1467,1467, 1467,1467,1467,1467,1467,1467,1467,1467,1467,1467,1467,1467,1467,1467,1467,1467, }; #define upperindex1(x) (((x)>>(4+7))&0x3FF) #define upperindex2(x) (((x)>>4)&0x7F) #define upperoffset(x) ((x)&0xF) #define upperlkup(x) (_upperdata[_upperidx2[_upperidx1[upperindex1(x)] + upperindex2(x)] + upperoffset(x)] ) static int _lowerdata[1620] = { 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32, 32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,0, 32,32,32,32,32,32,32,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,1,0,1,0,1,0,1,0,1, 0,1,0,1,0,1,0,-199,0,1,0,1,0,1,0,0, 1,0,1,0,1,0,1,0,0,1,0,1,0,1,0,1, 0,1,0,1,0,1,0,1,0,-121,1,0,1,0,1,0, 0,210,1,0,1,0,206,1,0,205,205,1,0,0,79,202, 203,1,0,205,207,0,211,209,1,0,0,0,211,213,0,214, 1,0,1,0,1,0,218,1,0,218,0,0,1,0,218,1, 0,217,217,1,0,1,0,219,1,0,0,0,1,0,0,0, 0,2,1,0,2,1,0,2,1,0,1,0,1,0,1,0, 1,0,1,0,1,0,0,1,0,1,0,1,0,1,0,1, 0,1,0,1,0,1,0,2,1,0,1,0,-97,-56,1,0, 1,0,1,0,1,0,1,0,1,0,1,0,1,0,-130,0, 1,0,1,0,1,0,1,0,1,0,1,0,1,0,0,0, 0,0,0,0,10795,1,0,-163,10792,0,1,0,-195,69,71,1, 0,1,0,1,0,1,0,1,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,1,0,1,0,0,0,1,0, 0,0,0,0,0,0,0,116,0,0,0,0,0,0,38,0, 37,37,37,0,64,0,63,63,0,32,32,32,32,32,32,32, 32,32,32,32,32,32,32,32,0,32,32,32,32,32,32,32, 32,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,8,0,0,0,0,0,0,0,0,1,0,1,0,1, 0,1,0,1,0,1,0,1,0,1,0,0,0,0,-60,0, 0,1,0,-7,1,0,0,-130,-130,-130,80,80,80,80,80,80, 80,80,80,80,80,80,80,80,80,80,32,32,32,32,32,32, 32,32,32,32,32,32,32,32,32,32,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,1,0,1,0,1,0, 1,0,1,0,1,0,1,0,1,0,0,0,0,0,0,0, 0,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0, 1,0,15,1,0,1,0,1,0,1,0,1,0,1,0,1, 0,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0, 1,0,48,48,48,48,48,48,48,48,48,48,48,48,48,48, 48,48,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,7264,7264,7264,7264,7264,7264,7264,7264,7264,7264,7264,7264,7264,7264, 7264,7264,0,7264,0,0,0,0,0,7264,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,38864,38864,38864,38864,38864,38864, 38864,38864,38864,38864,38864,38864,38864,38864,38864,38864,8,8,8,8,8,8, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -3008,-3008,-3008,-3008,-3008,-3008,-3008,-3008,-3008,-3008,-3008,-3008,-3008,-3008,-3008,-3008, 0,0,-3008,-3008,-3008,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,1,0,1,0,1,0,1,0,1,0,1, 0,1,0,1,0,0,0,0,0,0,0,0,0,-7615,0,1, 0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,0, 0,0,0,0,0,0,-8,-8,-8,-8,-8,-8,-8,-8,0,0, 0,0,0,0,0,0,-8,-8,-8,-8,-8,-8,0,0,0,0, 0,0,0,0,-8,-8,-8,-8,-8,-8,-8,-8,0,0,0,0, 0,0,0,0,-8,-8,-8,-8,-8,-8,0,0,0,0,0,0, 0,0,0,-8,0,-8,0,-8,0,-8,0,0,0,0,0,0, 0,0,-8,-8,-8,-8,-8,-8,-8,-8,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,-8,-8,-8,-8,-8,-8, -8,-8,0,0,0,0,0,0,0,0,-8,-8,-74,-74,-9,0, 0,0,0,0,0,0,0,-86,-86,-86,-86,-9,0,0,0,0, 0,0,0,0,-8,-8,-100,-100,0,0,0,0,0,0,0,0, -8,-8,-112,-112,-7,0,0,0,0,0,0,0,0,-128,-128,-126, -126,-9,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,-7517,0,0,0,-8383,-8262,0,0,0,0,28,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,16,16,16, 16,16,16,16,16,16,16,16,16,16,16,16,16,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,26,26, 26,26,26,26,26,26,26,26,26,26,26,26,26,26,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,48,48, 48,48,48,48,48,48,48,48,48,48,48,48,48,48,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0, -10743,-3814,-10727,0,0,1,0,1,0,1,0,-10780,-10749,-10783,-10782,0, 1,0,0,1,0,0,0,0,0,0,0,0,-10815,-10815,1,0, 1,0,1,0,1,0,1,0,1,0,1,0,1,0,0,0, 0,0,0,0,0,1,0,1,0,0,1,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,1,0,1,0,1, 0,1,0,1,0,1,0,1,0,1,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,1,0,1,0,1,0, 1,0,1,0,1,0,1,0,1,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,1,0,1,0,1,0,1, 0,1,0,1,0,1,0,1,0,0,0,0,0,0,0,0, 0,1,0,1,0,-35332,1,0,1,0,1,0,1,0,0,0, 0,1,0,-42280,0,0,1,0,1,0,0,0,1,0,1,0, 1,0,1,0,1,0,-42308,-42319,-42315,-42305,-42308,0,-42258,-42282,-42261,928, 1,0,1,0,1,0,1,0,1,0,1,0,-48,-42307,-35384,1, 0,1,0,0,0,0,0,0,1,0,0,0,0,0,1,0, 1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,32,32,32,32,32,32,32,32,32,32,32,32,32,32, 32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40, 40,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40, 40,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,39,39,39,39,39,39,39,39,39,39,39,0,39,39,39, 39,0,39,39,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,64,64,64,64,64,64,64,64,64,64,64,64, 64,64,64,64,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,32,32,32,32,32,32,32,32,32,32,32,32, 32,32,32,32,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,32,32,32,32,32,32,32,32,32,32,32,32, 32,32,32,32,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,34,34,34,34,34,34,34,34,34,34,34,34, 34,34,34,34,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0, }; static uint16_t _loweridx2[1524] = { 0,0,0,0,15,20,31,31,31,31,31,31,47,56,71,71, 87,87,87,103,111,121,121,129,144,160,176,192,205,217,231,246, 254,254,270,282,297,312,312,312,312,312,312,312,312,312,312,312, 312,312,312,312,312,312,312,328,344,360,374,386,387,403,411,426, 442,458,458,474,474,474,490,490,504,514,514,514,530,546,546,546, 546,546,546,561,562,571,578,578,578,578,578,578,578,578,578,578, 578,578,578,578,578,578,578,578,578,578,578,578,578,578,578,578, 578,578,578,578,578,578,578,578,578,578,578,578,578,578,578,578, 578,578,578,578,578,578,578,578,578,578,578,578,578,578,578,578, 578,578,578,578,578,578,578,578,578,578,578,578,578,578,578,578, 578,578,578,578,578,578,578,578,578,578,578,578,578,578,578,578, 578,578,578,578,578,578,578,578,578,578,578,578,578,578,578,578, 578,578,578,578,578,578,578,578,578,578,578,578,578,578,578,578, 578,578,578,578,578,578,594,594,604,618,618,618,618,618,618,618, 618,618,618,618,618,618,618,618,618,618,618,618,618,618,618,618, 618,618,618,618,618,618,618,618,618,618,618,618,618,618,618,618, 618,618,618,618,618,618,634,634,634,634,634,650,656,656,656,656, 656,656,656,656,656,656,656,656,656,656,656,656,656,656,656,656, 656,656,656,656,656,656,656,656,656,656,656,656,656,656,656,656, 656,656,656,656,656,656,656,656,656,656,656,656,656,656,656,656, 656,656,656,656,656,656,656,656,656,656,656,656,656,656,656,656, 656,656,656,656,656,672,672,677,693,693,693,693,693,693,693,693, 693,693,693,693,693,693,693,693,693,693,693,693,709,709,709,709, 709,709,709,709,709,719,735,735,735,735,735,735,750,766,780,780, 796,810,826,842,850,850,850,866,879,892,904,917,930,930,930,930, 930,930,930,930,930,930,930,930,930,930,930,930,930,930,940,954, 957,957,973,989,1002,1006,1006,1006,1006,1006,1006,1006,1006,1006,1006,1006, 1006,1006,1006,1006,1006,1006,1006,1006,1006,1006,1006,1006,1006,1006,1006,1006, 1006,1006,1006,1006,1006,1006,1006,1006,1006,1006,1006,1006,1006,1006,1006,1006, 1006,1006,1006,1006,1006,1006,1006,1016,1022,1038,1038,1038,1038,1038,1038,1038, 1038,1038,1038,1038,1038,1038,1038,1038,1038,1038,1038,1038,1038,1038,1038,1038, 1038,1038,1038,1038,1038,1038,1038,1038,1038,1038,1038,1038,1038,1038,1038,1038, 1038,1038,1038,1038,1038,1038,1038,1038,1038,1038,1038,1038,1038,1038,1038,1038, 1038,1038,1038,1038,1038,1038,1038,1038,1038,1054,1054,1054,1070,1070,1070,1086, 1102,1118,1118,1118,1118,1118,1118,1130,1144,1147,1147,1147,1147,1147,1147,1147, 1147,1147,1147,1147,1147,1147,1147,1147,1147,1147,1147,1147,1147,1147,1147,1147, 1147,1147,1147,1147,1147,1147,1147,1147,1147,1147,1147,1147,1147,1147,1147,1147, 1147,1147,1147,1147,1147,1147,1147,1147,1147,1147,1147,1147,1147,1147,1147,1147, 1147,1147,1147,1147,1147,1147,1147,1147,1147,1147,1147,1147,1147,1147,1147,1147, 1147,1147,1147,1147,1147,1147,1147,1147,1147,1147,1147,1147,1147,1147,1147,1147, 1147,1147,1147,1147,1147,1147,1147,1147,1147,1147,1147,1147,1147,1147,1147,1147, 1147,1147,1147,1147,1147,1147,1147,1147,1147,1147,1147,1147,1147,1147,1147,1147, 1147,1147,1147,1147,1147,1147,1147,1147,1147,1163,1163,1165,1178,1194,1198,1209, 1209,1209,1209,1209,1209,1209,1209,1223,1223,1225,1225,1225,1240,1254,1270,1276, 1292,1304,1320,1329,1340,1346,1346,1346,1346,1346,1346,1346,1346,1346,1346,1346, 1346,1346,1346,1346,1346,1346,1346,1346,1346,1346,1346,1346,1346,1346,1346,1346, 1346,1346,1346,1346,1346,1346,1346,1346,1346,1346,1346,1346,1346,1346,1346,1346, 1346,1346,1346,1346,1346,1346,1346,1346,1346,1346,1346,1346,1346,1346,1346,1346, 1346,1346,1346,1346,1346,1346,1346,1346,1346,1346,1346,1346,1346,1346,1346,1346, 1346,1346,1346,1346,1346,1346,1346,1346,1346,1346,1346,1346,1346,1346,1346,1346, 1346,1346,1346,1346,1346,1346,1346,1346,1346,1346,1346,1346,1346,1346,1346,1346, 1346,1346,1346,1346,1346,1346,1346,1346,1346,1346,1346,1346,1346,1346,1346,1346, 1346,1346,1346,1346,1346,1361,1366,1377,1377,1377,1377,1377,1377,1377,1377,1377, 1377,1377,1377,1377,1377,1377,1377,1377,1377,1377,1377,1377,1377,1377,1377,1377, 1377,1377,1377,1377,1377,1377,1377,1377,1377,1377,1377,1377,1377,1377,1377,1377, 1377,1377,1377,1377,1377,1377,1377,1377,1377,1377,1377,1377,1377,1377,1377,1377, 1377,1377,1377,1377,1377,1377,1377,1393,1393,1401,1409,1409,1409,1409,1409,1409, 1409,1409,1425,1425,1437,1441,1441,1441,1441,1441,1441,1441,1441,1441,1457,1457, 1470,1476,1476,1476,1476,1476,1476,1476,1476,1476,1476,1476,1476,1476,1476,1476, 1476,1476,1476,1476,1476,1476,1476,1476,1476,1476,1476,1476,1476,1476,1476,1476, 1476,1476,1476,1476,1476,1476,1476,1476,1476,1476,1476,1476,1476,1476,1476,1476, 1476,1476,1476,1476,1476,1476,1476,1476,1476,1476,1476,1476,1476,1476,1476,1476, 1476,1476,1476,1476,1476,1476,1476,1476,1476,1492,1492,1492,1505,1508,1508,1508, 1508,1508,1508,1508,1508,1508,1508,1508,1508,1508,1508,1508,1508,1508,1508,1508, 1508,1508,1508,1508,1508,1508,1508,1508,1508,1508,1508,1508,1508,1508,1508,1508, 1508,1508,1508,1508,1508,1508,1508,1508,1508,1508,1508,1508,1508,1508,1508,1508, 1508,1508,1508,1508,1508,1508,1508,1508,1508,1508,1508,1508,1508,1508,1508,1508, 1508,1508,1508,1508,1508,1508,1508,1508,1508,1508,1508,1508,1508,1508,1508,1508, 1508,1508,1508,1508,1508,1508,1508,1508,1508,1508,1508,1508,1508,1508,1508,1508, 1508,1508,1508,1508,1508,1508,1508,1508,1508,1508,1508,1508,1508,1508,1508,1508, 1508,1508,1508,1508,1508,1508,1508,1508,1508,1508,1508,1508,1508,1524,1524,1540, 1540,1540,1540,1540,1540,1540,1540,1540,1540,1540,1540,1540,1540,1540,1540,1540, 1540,1540,1540,1540,1540,1540,1540,1540,1540,1540,1540,1540,1540,1540,1540,1540, 1540,1540,1540,1540,1540,1540,1540,1540,1540,1540,1540,1540,1540,1540,1540,1540, 1540,1540,1540,1540,1540,1540,1540,1540,1540,1540,1540,1540,1540,1540,1540,1540, 1540,1540,1540,1540,1540,1540,1540,1540,1540,1540,1540,1540,1540,1540,1540,1540, 1540,1540,1540,1540,1540,1540,1540,1540,1540,1540,1540,1540,1540,1540,1540,1540, 1540,1540,1540,1540,1540,1540,1540,1540,1540,1540,1540,1540,1540,1540,1540,1540, 1540,1540,1540,1540,1540,1540,1540,1540,1540,1540,1540,1540,1540,1540,1540,1556, 1556,1572,1572,1572,1572,1572,1572,1572,1572,1572,1572,1572,1572,1572,1572,1572, 1572,1572,1572,1572,1572,1572,1572,1572,1572,1572,1572,1572,1572,1572,1572,1572, 1572,1572,1572,1572,1572,1572,1572,1572,1572,1572,1572,1572,1572,1572,1572,1572, 1572,1572,1572,1572,1572,1572,1572,1572,1572,1572,1572,1572,1572,1572,1572,1572, 1572,1572,1572,1572,1572,1572,1572,1572,1572,1572,1572,1572,1572,1572,1572,1572, 1572,1572,1572,1572,1572,1572,1572,1572,1572,1572,1572,1572,1572,1572,1572,1572, 1572,1572,1572,1572,1572,1572,1572,1572,1572,1572,1572,1572,1572,1572,1572,1572, 1572,1572,1572,1572,1572,1572,1572,1572,1572,1572,1572,1572,1572,1572,1572,1572, 1572,1588,1588,1602,1604,1604,1604,1604,1604,1604,1604,1604,1604,1604,1604,1604, 1604,1604,1604,1604,1604,1604,1604,1604,1604,1604,1604,1604,1604,1604,1604,1604, 1604,1604,1604,1604,1604,1604,1604,1604,1604,1604,1604,1604,1604,1604,1604,1604, 1604,1604,1604,1604,1604,1604,1604,1604,1604,1604,1604,1604,1604,1604,1604,1604, 1604,1604,1604,1604,1604,1604,1604,1604,1604,1604,1604,1604,1604,1604,1604,1604, 1604,1604,1604,1604,1604,1604,1604,1604,1604,1604,1604,1604,1604,1604,1604,1604, 1604,1604,1604,1604,1604,1604,1604,1604,1604,1604,1604,1604,1604,1604,1604,1604, 1604,1604,1604,1604,1604,1604,1604,1604,1604,1604,1604,1604,1604,1604,1604,1604, 1604,1604,1604,1604, }; static uint16_t _loweridx1[1024] = { 0,86,204,268,396,473,553,553,553,553,553,553,553,553,553,553, 553,553,553,553,581,709,709,709,709,709,709,709,709,709,709,723, 839,929,1005,1123,1135,1135,1135,1135,1135,1135,1135,1135,1135,1163,1265,1265, 1265,1265,1265,1265,1265,1265,1265,1265,1265,1265,1265,1265,1265,1377,1396,1396, 1396,1396,1396,1396,1396,1396,1396,1396,1396,1396,1396,1396,1396,1396,1396,1396, 1396,1396,1396,1396,1396,1396,1396,1396,1396,1396,1396,1396,1396,1396,1396,1396, 1396,1396,1396,1396,1396,1396,1396,1396,1396,1396,1396,1396,1396,1396,1396,1396, 1396,1396,1396,1396,1396,1396,1396,1396,1396,1396,1396,1396,1396,1396,1396,1396, 1396,1396,1396,1396,1396,1396,1396,1396,1396,1396,1396,1396,1396,1396,1396,1396, 1396,1396,1396,1396,1396,1396,1396,1396,1396,1396,1396,1396,1396,1396,1396,1396, 1396,1396,1396,1396,1396,1396,1396,1396,1396,1396,1396,1396,1396,1396,1396,1396, 1396,1396,1396,1396,1396,1396,1396,1396,1396,1396,1396,1396,1396,1396,1396,1396, 1396,1396,1396,1396,1396,1396,1396,1396,1396,1396,1396,1396,1396,1396,1396,1396, 1396,1396,1396,1396,1396,1396,1396,1396,1396,1396,1396,1396,1396,1396,1396,1396, 1396,1396,1396,1396,1396,1396,1396,1396,1396,1396,1396,1396,1396,1396,1396,1396, 1396,1396,1396,1396,1396,1396,1396,1396,1396,1396,1396,1396,1396,1396,1396,1396, 1396,1396,1396,1396,1396,1396,1396,1396,1396,1396,1396,1396,1396,1396,1396,1396, 1396,1396,1396,1396,1396,1396,1396,1396,1396,1396,1396,1396,1396,1396,1396,1396, 1396,1396,1396,1396,1396,1396,1396,1396,1396,1396,1396,1396,1396,1396,1396,1396, 1396,1396,1396,1396,1396,1396,1396,1396,1396,1396,1396,1396,1396,1396,1396,1396, 1396,1396,1396,1396,1396,1396,1396,1396,1396,1396,1396,1396,1396,1396,1396,1396, 1396,1396,1396,1396,1396,1396,1396,1396,1396,1396,1396,1396,1396,1396,1396,1396, 1396,1396,1396,1396,1396,1396,1396,1396,1396,1396,1396,1396,1396,1396,1396,1396, 1396,1396,1396,1396,1396,1396,1396,1396,1396,1396,1396,1396,1396,1396,1396,1396, 1396,1396,1396,1396,1396,1396,1396,1396,1396,1396,1396,1396,1396,1396,1396,1396, 1396,1396,1396,1396,1396,1396,1396,1396,1396,1396,1396,1396,1396,1396,1396,1396, 1396,1396,1396,1396,1396,1396,1396,1396,1396,1396,1396,1396,1396,1396,1396,1396, 1396,1396,1396,1396,1396,1396,1396,1396,1396,1396,1396,1396,1396,1396,1396,1396, 1396,1396,1396,1396,1396,1396,1396,1396,1396,1396,1396,1396,1396,1396,1396,1396, 1396,1396,1396,1396,1396,1396,1396,1396,1396,1396,1396,1396,1396,1396,1396,1396, 1396,1396,1396,1396,1396,1396,1396,1396,1396,1396,1396,1396,1396,1396,1396,1396, 1396,1396,1396,1396,1396,1396,1396,1396,1396,1396,1396,1396,1396,1396,1396,1396, 1396,1396,1396,1396,1396,1396,1396,1396,1396,1396,1396,1396,1396,1396,1396,1396, 1396,1396,1396,1396,1396,1396,1396,1396,1396,1396,1396,1396,1396,1396,1396,1396, 1396,1396,1396,1396,1396,1396,1396,1396,1396,1396,1396,1396,1396,1396,1396,1396, 1396,1396,1396,1396,1396,1396,1396,1396,1396,1396,1396,1396,1396,1396,1396,1396, 1396,1396,1396,1396,1396,1396,1396,1396,1396,1396,1396,1396,1396,1396,1396,1396, 1396,1396,1396,1396,1396,1396,1396,1396,1396,1396,1396,1396,1396,1396,1396,1396, 1396,1396,1396,1396,1396,1396,1396,1396,1396,1396,1396,1396,1396,1396,1396,1396, 1396,1396,1396,1396,1396,1396,1396,1396,1396,1396,1396,1396,1396,1396,1396,1396, 1396,1396,1396,1396,1396,1396,1396,1396,1396,1396,1396,1396,1396,1396,1396,1396, 1396,1396,1396,1396,1396,1396,1396,1396,1396,1396,1396,1396,1396,1396,1396,1396, 1396,1396,1396,1396,1396,1396,1396,1396,1396,1396,1396,1396,1396,1396,1396,1396, 1396,1396,1396,1396,1396,1396,1396,1396,1396,1396,1396,1396,1396,1396,1396,1396, 1396,1396,1396,1396,1396,1396,1396,1396,1396,1396,1396,1396,1396,1396,1396,1396, 1396,1396,1396,1396,1396,1396,1396,1396,1396,1396,1396,1396,1396,1396,1396,1396, 1396,1396,1396,1396,1396,1396,1396,1396,1396,1396,1396,1396,1396,1396,1396,1396, 1396,1396,1396,1396,1396,1396,1396,1396,1396,1396,1396,1396,1396,1396,1396,1396, 1396,1396,1396,1396,1396,1396,1396,1396,1396,1396,1396,1396,1396,1396,1396,1396, 1396,1396,1396,1396,1396,1396,1396,1396,1396,1396,1396,1396,1396,1396,1396,1396, 1396,1396,1396,1396,1396,1396,1396,1396,1396,1396,1396,1396,1396,1396,1396,1396, 1396,1396,1396,1396,1396,1396,1396,1396,1396,1396,1396,1396,1396,1396,1396,1396, 1396,1396,1396,1396,1396,1396,1396,1396,1396,1396,1396,1396,1396,1396,1396,1396, 1396,1396,1396,1396,1396,1396,1396,1396,1396,1396,1396,1396,1396,1396,1396,1396, 1396,1396,1396,1396,1396,1396,1396,1396,1396,1396,1396,1396,1396,1396,1396,1396, 1396,1396,1396,1396,1396,1396,1396,1396,1396,1396,1396,1396,1396,1396,1396,1396, 1396,1396,1396,1396,1396,1396,1396,1396,1396,1396,1396,1396,1396,1396,1396,1396, 1396,1396,1396,1396,1396,1396,1396,1396,1396,1396,1396,1396,1396,1396,1396,1396, 1396,1396,1396,1396,1396,1396,1396,1396,1396,1396,1396,1396,1396,1396,1396,1396, 1396,1396,1396,1396,1396,1396,1396,1396,1396,1396,1396,1396,1396,1396,1396,1396, 1396,1396,1396,1396,1396,1396,1396,1396,1396,1396,1396,1396,1396,1396,1396,1396, 1396,1396,1396,1396,1396,1396,1396,1396,1396,1396,1396,1396,1396,1396,1396,1396, 1396,1396,1396,1396,1396,1396,1396,1396,1396,1396,1396,1396,1396,1396,1396,1396, 1396,1396,1396,1396,1396,1396,1396,1396,1396,1396,1396,1396,1396,1396,1396,1396, }; #define lowerindex1(x) (((x)>>(4+7))&0x3FF) #define lowerindex2(x) (((x)>>4)&0x7F) #define loweroffset(x) ((x)&0xF) #define lowerlkup(x) (_lowerdata[_loweridx2[_loweridx1[lowerindex1(x)] + lowerindex2(x)] + loweroffset(x)] ) static int _titledata[1717] = { 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,743, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32, 0,-32,-32,-32,-32,-32,-32,-32,121,0,-1,0,-1,0,-1,0, -1,0,-1,0,-1,0,-1,0,-1,0,-232,0,-1,0,-1,0, -1,0,0,-1,0,-1,0,-1,0,-1,0,-1,0,0,-1,0, -1,0,-1,0,-1,0,-1,0,-1,0,-1,0,-1,0,0,-1, 0,-1,0,-1,-300,195,0,0,-1,0,-1,0,0,-1,0,0, 0,-1,0,0,0,-1,0,0,97,0,0,0,-1,163,0,0, 0,130,0,-1,0,-1,0,-1,0,0,-1,0,0,0,0,-1, 0,0,0,-1,0,-1,0,0,-1,0,0,0,-1,0,56,0, 0,0,0,1,0,-1,1,0,-1,1,0,-1,0,-1,0,-1, 0,-1,0,-1,0,-1,0,-1,-79,0,-1,0,-1,0,-1,0, -1,0,-1,0,-1,0,-1,0,-1,0,1,0,-1,0,-1,0, 0,0,-1,0,-1,0,-1,0,-1,0,-1,0,-1,0,-1,0, -1,0,0,0,-1,0,-1,0,-1,0,-1,0,-1,0,-1,0, -1,0,0,0,0,0,0,0,0,-1,0,0,10815,0,-1,0, 0,0,0,-1,0,-1,0,-1,0,-1,0,-1,10783,10780,10782,-210, -206,0,-205,-205,0,-202,0,-203,42319,0,0,0,-205,42315,0,-207, 0,42280,42308,0,-209,-211,42308,10743,42305,0,0,-211,0,10749,-213,0, 0,-214,0,0,0,0,0,0,0,10727,0,0,-218,0,42307,-218, 0,0,0,42282,-218,-69,-217,-217,-71,0,0,0,-219,0,0,0, 0,0,0,0,0,0,0,42261,42258,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,84,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,-1,0,-1,0,0,0, -1,0,0,0,130,130,130,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,-38,-37,-37,-37,0,-32,-32,-32,-32, -32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-31,-32,-32,-32,-32, -32,-32,-32,-32,-32,-64,-63,-63,0,-62,-57,0,0,0,-47,-54, -8,0,-1,0,-1,0,-1,0,-1,0,-1,0,-1,0,-1,0, -1,-86,-80,7,-116,0,-96,0,0,-1,0,0,-1,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,-32,-32,-32, -32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-80,-80,-80, -80,-80,-80,-80,-80,-80,-80,-80,-80,-80,-80,-80,-80,0,-1,0, -1,0,-1,0,-1,0,-1,0,-1,0,-1,0,-1,0,0,0, 0,0,0,0,0,0,-1,0,-1,0,-1,0,-1,0,-1,0, -1,0,-1,0,-1,0,0,-1,0,-1,0,-1,0,-1,0,-1, 0,-1,0,-1,-15,0,-1,0,-1,0,-1,0,-1,0,-1,0, -1,0,-1,0,-1,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48, -48,-48,-48,-48,-48,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,-8,-8,-8,-8,-8,-8,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,-6254,-6253,-6244,-6242,-6242, -6243,-6236,-6181,35266,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,35332,0,0,0,3814,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,35384,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,-1,0,-1,0,-1,0,-1,0, -1,0,-1,0,-1,0,-1,0,0,0,0,0,-59,0,0,0, 0,-1,0,-1,0,-1,0,-1,0,-1,0,-1,0,-1,0,-1, 8,8,8,8,8,8,8,8,0,0,0,0,0,0,0,0, 0,0,8,8,8,8,8,8,8,8,0,0,0,0,0,0, 0,0,0,0,8,0,8,0,8,0,8,0,0,0,0,0, 0,0,0,8,8,8,8,8,8,8,8,0,0,0,0,0, 0,0,0,74,74,86,86,86,86,100,100,128,128,112,112,126, 126,0,0,8,8,8,8,8,8,8,8,0,0,0,0,0, 0,0,0,8,8,0,9,0,0,0,0,0,0,0,0,0, 0,-7205,0,0,0,9,0,0,0,0,0,0,0,0,0,0, 0,0,8,8,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,8,8,0,0,0,7,0,0,0,0,0,0,0,0, 0,0,9,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,-28,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16, -16,-16,-16,-16,0,0,0,0,-1,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,-26,-26,-26,-26,-26,-26,-26, -26,-26,-26,-26,-26,-26,-26,-26,-26,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,-48,-48,-48,-48,-48,-48,-48, -48,-48,-48,-48,-48,-48,-48,-48,-48,0,-1,0,0,0,-10795,-10792, 0,-1,0,-1,0,-1,0,0,0,-1,0,0,-1,0,0,0, 0,0,0,0,0,0,-1,0,-1,0,-1,0,-1,0,-1,0, -1,0,-1,0,-1,0,0,0,0,0,0,0,0,-1,0,-1, 0,0,0,-1,0,0,0,0,0,0,0,0,0,0,0,0, -7264,-7264,-7264,-7264,-7264,-7264,-7264,-7264,-7264,-7264,-7264,-7264,-7264,-7264,-7264,-7264, 0,-7264,0,0,0,0,0,-7264,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,-1,0,-1,0,-1,0,-1,0, -1,0,-1,0,-1,0,-1,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,-1,0,-1,0,-1,0,-1,0,-1, 0,-1,0,-1,0,-1,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,-1,0,-1,0,-1,0,-1,0,-1,0, -1,0,-1,0,-1,0,0,0,0,0,0,0,0,0,0,-1, 0,-1,0,0,-1,0,-1,0,-1,0,-1,0,0,0,0,-1, 0,0,0,-1,0,-1,48,0,0,-1,0,-1,0,-1,0,-1, 0,-1,0,0,0,0,0,0,-1,0,-1,0,-1,0,-1,0, -1,0,-1,0,0,0,0,-1,0,-1,0,0,0,0,0,-1, 0,-1,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,-1,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,-928,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,-38864,-38864,-38864,-38864,-38864,-38864,-38864,-38864,-38864,-38864,-38864,-38864, -38864,-38864,-38864,-38864,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32, -32,-32,-32,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40, -40,-40,-40,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40, -40,-40,-40,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,-39,-39,-39,-39,-39,-39,-39,-39,-39,0,-39,-39,-39, -39,-39,-39,-39,-39,-39,-39,-39,-39,-39,0,-39,-39,-39,-39,-39, -39,-39,0,-39,-39,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,-64,-64,-64,-64,-64,-64,-64,-64,-64,-64,-64, -64,-64,-64,-64,-64,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32, -32,-32,-32,-32,-32,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32, -32,-32,-32,-32,-32,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,-34,-34,-34,-34,-34,-34,-34,-34,-34,-34,-34, -34,-34,-34,-34,-34,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0, }; static uint16_t _titleidx2[1545] = { 0,0,0,0,0,0,15,20,31,31,31,42,48,48,64,73, 89,89,89,105,115,125,125,133,149,163,178,191,207,219,233,249, 257,257,273,285,300,316,332,348,364,378,393,393,393,393,393,393, 393,393,393,393,404,410,410,425,439,439,443,459,473,489,497,513, 525,525,525,541,541,557,573,573,587,597,597,597,613,629,629,629, 629,629,629,645,645,645,660,661,670,677,677,677,677,677,677,677, 677,677,677,677,677,677,677,677,677,677,677,677,677,677,677,677, 677,677,677,677,677,677,677,677,677,677,677,677,677,677,677,677, 677,677,677,677,677,677,677,677,677,677,677,677,677,677,677,677, 677,677,677,677,677,677,677,677,677,677,677,677,677,677,677,677, 677,677,677,677,677,677,677,677,677,677,677,677,677,677,677,677, 677,677,677,677,677,677,677,677,677,677,677,677,677,677,677,677, 677,677,677,677,677,677,677,677,677,677,677,677,677,677,677,677, 677,677,677,677,677,677,677,677,677,685,699,699,699,699,699,699, 699,699,699,699,699,699,699,699,699,699,699,699,699,699,699,699, 699,699,699,699,699,699,699,699,699,699,699,699,699,699,699,699, 699,699,699,699,699,699,699,699,699,699,699,699,699,699,699,699, 699,699,699,699,699,699,699,699,699,699,699,699,699,699,699,699, 699,699,715,724,724,724,724,724,724,724,724,724,724,724,724,724, 724,731,745,760,760,760,760,760,760,760,775,775,775,775,775,775, 775,775,775,785,800,800,800,800,800,800,816,818,834,834,836,851, 867,883,899,899,899,915,930,946,962,975,979,979,979,979,979,979, 979,979,979,979,979,979,979,979,979,979,979,979,979,979,981,996, 996,1012,1028,1033,1033,1033,1033,1033,1033,1033,1033,1033,1033,1033,1033,1033, 1033,1033,1033,1033,1033,1033,1033,1033,1033,1033,1033,1033,1033,1033,1033,1033, 1033,1033,1033,1033,1033,1033,1033,1033,1033,1033,1033,1033,1033,1033,1033,1033, 1033,1033,1033,1033,1033,1033,1033,1049,1055,1065,1065,1065,1065,1065,1065,1065, 1065,1065,1065,1065,1065,1065,1065,1065,1065,1065,1065,1065,1065,1065,1065,1065, 1065,1065,1065,1065,1065,1065,1065,1065,1065,1065,1065,1065,1065,1065,1065,1065, 1065,1065,1065,1065,1065,1065,1065,1065,1065,1065,1065,1065,1065,1065,1065,1065, 1065,1065,1065,1065,1065,1065,1065,1065,1065,1065,1065,1065,1081,1081,1081,1097, 1110,1125,1125,1125,1125,1125,1125,1137,1152,1168,1168,1178,1192,1192,1192,1192, 1192,1192,1192,1192,1192,1192,1192,1192,1192,1192,1192,1192,1192,1192,1192,1192, 1192,1192,1192,1192,1192,1192,1192,1192,1192,1192,1192,1192,1192,1192,1192,1192, 1192,1192,1192,1192,1192,1192,1192,1192,1192,1192,1192,1192,1192,1192,1192,1192, 1192,1192,1192,1192,1192,1192,1192,1192,1192,1192,1192,1192,1192,1192,1192,1192, 1192,1192,1192,1192,1192,1192,1192,1192,1192,1192,1192,1192,1192,1192,1192,1192, 1192,1192,1192,1192,1192,1192,1192,1192,1192,1192,1192,1192,1192,1192,1192,1192, 1192,1192,1192,1192,1192,1192,1192,1192,1192,1192,1192,1192,1192,1192,1192,1192, 1192,1192,1192,1192,1192,1192,1192,1192,1192,1192,1192,1192,1207,1207,1209,1223, 1238,1242,1254,1254,1254,1254,1254,1254,1254,1254,1267,1267,1269,1269,1269,1285, 1299,1314,1320,1331,1343,1352,1362,1372,1379,1379,1379,1379,1379,1379,1379,1379, 1379,1379,1379,1379,1379,1379,1379,1379,1379,1379,1379,1379,1379,1379,1379,1379, 1379,1379,1379,1379,1379,1379,1379,1379,1379,1379,1379,1379,1379,1379,1379,1379, 1379,1379,1379,1379,1379,1379,1379,1379,1379,1379,1379,1379,1379,1392,1396,1412, 1412,1412,1412,1412,1428,1428,1428,1428,1428,1428,1428,1428,1428,1428,1428,1428, 1428,1428,1428,1428,1428,1428,1428,1428,1428,1428,1428,1428,1428,1428,1428,1428, 1428,1428,1428,1428,1428,1428,1428,1428,1428,1428,1428,1428,1428,1428,1428,1428, 1428,1428,1428,1428,1428,1428,1428,1428,1428,1428,1428,1428,1428,1428,1428,1428, 1428,1428,1428,1428,1428,1428,1428,1428,1428,1428,1428,1428,1428,1428,1428,1428, 1428,1428,1428,1428,1428,1428,1428,1428,1428,1428,1428,1428,1428,1428,1428,1428, 1428,1428,1428,1428,1428,1428,1428,1428,1428,1428,1428,1428,1428,1428,1428,1428, 1428,1428,1428,1428,1428,1428,1428,1428,1428,1428,1428,1428,1428,1428,1428,1428, 1428,1428,1428,1428,1443,1448,1459,1459,1459,1459,1459,1459,1459,1459,1459,1459, 1459,1459,1459,1459,1459,1459,1459,1459,1459,1459,1459,1459,1459,1459,1459,1459, 1459,1459,1459,1459,1459,1459,1459,1459,1459,1459,1459,1459,1459,1459,1459,1459, 1459,1459,1459,1459,1459,1459,1459,1459,1459,1459,1459,1459,1459,1459,1459,1459, 1459,1459,1459,1459,1459,1459,1459,1459,1467,1475,1475,1491,1491,1491,1491,1491, 1491,1491,1491,1499,1507,1511,1523,1523,1523,1523,1523,1523,1523,1523,1523,1532, 1546,1560,1573,1573,1573,1573,1573,1573,1573,1573,1573,1573,1573,1573,1573,1573, 1573,1573,1573,1573,1573,1573,1573,1573,1573,1573,1573,1573,1573,1573,1573,1573, 1573,1573,1573,1573,1573,1573,1573,1573,1573,1573,1573,1573,1573,1573,1573,1573, 1573,1573,1573,1573,1573,1573,1573,1573,1573,1573,1573,1573,1573,1573,1573,1573, 1573,1573,1573,1573,1573,1573,1573,1573,1573,1573,1573,1573,1573,1573,1589,1589, 1589,1602,1605,1605,1605,1605,1605,1605,1605,1605,1605,1605,1605,1605,1605,1605, 1605,1605,1605,1605,1605,1605,1605,1605,1605,1605,1605,1605,1605,1605,1605,1605, 1605,1605,1605,1605,1605,1605,1605,1605,1605,1605,1605,1605,1605,1605,1605,1605, 1605,1605,1605,1605,1605,1605,1605,1605,1605,1605,1605,1605,1605,1605,1605,1605, 1605,1605,1605,1605,1605,1605,1605,1605,1605,1605,1605,1605,1605,1605,1605,1605, 1605,1605,1605,1605,1605,1605,1605,1605,1605,1605,1605,1605,1605,1605,1605,1605, 1605,1605,1605,1605,1605,1605,1605,1605,1605,1605,1605,1605,1605,1605,1605,1605, 1605,1605,1605,1605,1605,1605,1605,1605,1605,1605,1605,1605,1605,1605,1605,1605, 1605,1605,1621,1621,1637,1637,1637,1637,1637,1637,1637,1637,1637,1637,1637,1637, 1637,1637,1637,1637,1637,1637,1637,1637,1637,1637,1637,1637,1637,1637,1637,1637, 1637,1637,1637,1637,1637,1637,1637,1637,1637,1637,1637,1637,1637,1637,1637,1637, 1637,1637,1637,1637,1637,1637,1637,1637,1637,1637,1637,1637,1637,1637,1637,1637, 1637,1637,1637,1637,1637,1637,1637,1637,1637,1637,1637,1637,1637,1637,1637,1637, 1637,1637,1637,1637,1637,1637,1637,1637,1637,1637,1637,1637,1637,1637,1637,1637, 1637,1637,1637,1637,1637,1637,1637,1637,1637,1637,1637,1637,1637,1637,1637,1637, 1637,1637,1637,1637,1637,1637,1637,1637,1637,1637,1637,1637,1637,1637,1637,1637, 1637,1637,1637,1637,1653,1653,1669,1669,1669,1669,1669,1669,1669,1669,1669,1669, 1669,1669,1669,1669,1669,1669,1669,1669,1669,1669,1669,1669,1669,1669,1669,1669, 1669,1669,1669,1669,1669,1669,1669,1669,1669,1669,1669,1669,1669,1669,1669,1669, 1669,1669,1669,1669,1669,1669,1669,1669,1669,1669,1669,1669,1669,1669,1669,1669, 1669,1669,1669,1669,1669,1669,1669,1669,1669,1669,1669,1669,1669,1669,1669,1669, 1669,1669,1669,1669,1669,1669,1669,1669,1669,1669,1669,1669,1669,1669,1669,1669, 1669,1669,1669,1669,1669,1669,1669,1669,1669,1669,1669,1669,1669,1669,1669,1669, 1669,1669,1669,1669,1669,1669,1669,1669,1669,1669,1669,1669,1669,1669,1669,1669, 1669,1669,1669,1669,1669,1669,1683,1685,1697,1701,1701,1701,1701,1701,1701,1701, 1701,1701,1701,1701,1701,1701,1701,1701,1701,1701,1701,1701,1701,1701,1701,1701, 1701,1701,1701,1701,1701,1701,1701,1701,1701,1701,1701,1701,1701,1701,1701,1701, 1701,1701,1701,1701,1701,1701,1701,1701,1701,1701,1701,1701,1701,1701,1701,1701, 1701,1701,1701,1701,1701,1701,1701,1701,1701,1701,1701,1701,1701,1701,1701,1701, 1701,1701,1701,1701,1701,1701,1701,1701,1701,1701,1701,1701,1701,1701,1701,1701, 1701,1701,1701,1701,1701,1701,1701,1701,1701,1701,1701,1701,1701,1701,1701,1701, 1701,1701,1701,1701,1701,1701,1701,1701,1701,1701,1701,1701,1701,1701,1701,1701, 1701,1701,1701,1701,1701,1701,1701,1701,1701, }; static uint16_t _titleidx1[1024] = { 0,89,154,218,346,425,508,508,508,508,508,508,508,508,508,508, 508,508,508,508,536,664,724,724,724,724,724,724,724,724,724,736, 854,946,1026,1142,1156,1156,1156,1156,1156,1156,1156,1156,1156,1182,1286,1286, 1286,1286,1286,1286,1286,1286,1286,1286,1286,1286,1286,1286,1286,1396,1417,1417, 1417,1417,1417,1417,1417,1417,1417,1417,1417,1417,1417,1417,1417,1417,1417,1417, 1417,1417,1417,1417,1417,1417,1417,1417,1417,1417,1417,1417,1417,1417,1417,1417, 1417,1417,1417,1417,1417,1417,1417,1417,1417,1417,1417,1417,1417,1417,1417,1417, 1417,1417,1417,1417,1417,1417,1417,1417,1417,1417,1417,1417,1417,1417,1417,1417, 1417,1417,1417,1417,1417,1417,1417,1417,1417,1417,1417,1417,1417,1417,1417,1417, 1417,1417,1417,1417,1417,1417,1417,1417,1417,1417,1417,1417,1417,1417,1417,1417, 1417,1417,1417,1417,1417,1417,1417,1417,1417,1417,1417,1417,1417,1417,1417,1417, 1417,1417,1417,1417,1417,1417,1417,1417,1417,1417,1417,1417,1417,1417,1417,1417, 1417,1417,1417,1417,1417,1417,1417,1417,1417,1417,1417,1417,1417,1417,1417,1417, 1417,1417,1417,1417,1417,1417,1417,1417,1417,1417,1417,1417,1417,1417,1417,1417, 1417,1417,1417,1417,1417,1417,1417,1417,1417,1417,1417,1417,1417,1417,1417,1417, 1417,1417,1417,1417,1417,1417,1417,1417,1417,1417,1417,1417,1417,1417,1417,1417, 1417,1417,1417,1417,1417,1417,1417,1417,1417,1417,1417,1417,1417,1417,1417,1417, 1417,1417,1417,1417,1417,1417,1417,1417,1417,1417,1417,1417,1417,1417,1417,1417, 1417,1417,1417,1417,1417,1417,1417,1417,1417,1417,1417,1417,1417,1417,1417,1417, 1417,1417,1417,1417,1417,1417,1417,1417,1417,1417,1417,1417,1417,1417,1417,1417, 1417,1417,1417,1417,1417,1417,1417,1417,1417,1417,1417,1417,1417,1417,1417,1417, 1417,1417,1417,1417,1417,1417,1417,1417,1417,1417,1417,1417,1417,1417,1417,1417, 1417,1417,1417,1417,1417,1417,1417,1417,1417,1417,1417,1417,1417,1417,1417,1417, 1417,1417,1417,1417,1417,1417,1417,1417,1417,1417,1417,1417,1417,1417,1417,1417, 1417,1417,1417,1417,1417,1417,1417,1417,1417,1417,1417,1417,1417,1417,1417,1417, 1417,1417,1417,1417,1417,1417,1417,1417,1417,1417,1417,1417,1417,1417,1417,1417, 1417,1417,1417,1417,1417,1417,1417,1417,1417,1417,1417,1417,1417,1417,1417,1417, 1417,1417,1417,1417,1417,1417,1417,1417,1417,1417,1417,1417,1417,1417,1417,1417, 1417,1417,1417,1417,1417,1417,1417,1417,1417,1417,1417,1417,1417,1417,1417,1417, 1417,1417,1417,1417,1417,1417,1417,1417,1417,1417,1417,1417,1417,1417,1417,1417, 1417,1417,1417,1417,1417,1417,1417,1417,1417,1417,1417,1417,1417,1417,1417,1417, 1417,1417,1417,1417,1417,1417,1417,1417,1417,1417,1417,1417,1417,1417,1417,1417, 1417,1417,1417,1417,1417,1417,1417,1417,1417,1417,1417,1417,1417,1417,1417,1417, 1417,1417,1417,1417,1417,1417,1417,1417,1417,1417,1417,1417,1417,1417,1417,1417, 1417,1417,1417,1417,1417,1417,1417,1417,1417,1417,1417,1417,1417,1417,1417,1417, 1417,1417,1417,1417,1417,1417,1417,1417,1417,1417,1417,1417,1417,1417,1417,1417, 1417,1417,1417,1417,1417,1417,1417,1417,1417,1417,1417,1417,1417,1417,1417,1417, 1417,1417,1417,1417,1417,1417,1417,1417,1417,1417,1417,1417,1417,1417,1417,1417, 1417,1417,1417,1417,1417,1417,1417,1417,1417,1417,1417,1417,1417,1417,1417,1417, 1417,1417,1417,1417,1417,1417,1417,1417,1417,1417,1417,1417,1417,1417,1417,1417, 1417,1417,1417,1417,1417,1417,1417,1417,1417,1417,1417,1417,1417,1417,1417,1417, 1417,1417,1417,1417,1417,1417,1417,1417,1417,1417,1417,1417,1417,1417,1417,1417, 1417,1417,1417,1417,1417,1417,1417,1417,1417,1417,1417,1417,1417,1417,1417,1417, 1417,1417,1417,1417,1417,1417,1417,1417,1417,1417,1417,1417,1417,1417,1417,1417, 1417,1417,1417,1417,1417,1417,1417,1417,1417,1417,1417,1417,1417,1417,1417,1417, 1417,1417,1417,1417,1417,1417,1417,1417,1417,1417,1417,1417,1417,1417,1417,1417, 1417,1417,1417,1417,1417,1417,1417,1417,1417,1417,1417,1417,1417,1417,1417,1417, 1417,1417,1417,1417,1417,1417,1417,1417,1417,1417,1417,1417,1417,1417,1417,1417, 1417,1417,1417,1417,1417,1417,1417,1417,1417,1417,1417,1417,1417,1417,1417,1417, 1417,1417,1417,1417,1417,1417,1417,1417,1417,1417,1417,1417,1417,1417,1417,1417, 1417,1417,1417,1417,1417,1417,1417,1417,1417,1417,1417,1417,1417,1417,1417,1417, 1417,1417,1417,1417,1417,1417,1417,1417,1417,1417,1417,1417,1417,1417,1417,1417, 1417,1417,1417,1417,1417,1417,1417,1417,1417,1417,1417,1417,1417,1417,1417,1417, 1417,1417,1417,1417,1417,1417,1417,1417,1417,1417,1417,1417,1417,1417,1417,1417, 1417,1417,1417,1417,1417,1417,1417,1417,1417,1417,1417,1417,1417,1417,1417,1417, 1417,1417,1417,1417,1417,1417,1417,1417,1417,1417,1417,1417,1417,1417,1417,1417, 1417,1417,1417,1417,1417,1417,1417,1417,1417,1417,1417,1417,1417,1417,1417,1417, 1417,1417,1417,1417,1417,1417,1417,1417,1417,1417,1417,1417,1417,1417,1417,1417, 1417,1417,1417,1417,1417,1417,1417,1417,1417,1417,1417,1417,1417,1417,1417,1417, 1417,1417,1417,1417,1417,1417,1417,1417,1417,1417,1417,1417,1417,1417,1417,1417, 1417,1417,1417,1417,1417,1417,1417,1417,1417,1417,1417,1417,1417,1417,1417,1417, 1417,1417,1417,1417,1417,1417,1417,1417,1417,1417,1417,1417,1417,1417,1417,1417, 1417,1417,1417,1417,1417,1417,1417,1417,1417,1417,1417,1417,1417,1417,1417,1417, 1417,1417,1417,1417,1417,1417,1417,1417,1417,1417,1417,1417,1417,1417,1417,1417, }; #define titleindex1(x) (((x)>>(4+7))&0x3FF) #define titleindex2(x) (((x)>>4)&0x7F) #define titleoffset(x) ((x)&0xF) #define titlelkup(x) (_titledata[_titleidx2[_titleidx1[titleindex1(x)] + titleindex2(x)] + titleoffset(x)] )