REDRIVER2/src_rebuild/EMULATOR/LIBGTE.C
2020-05-20 19:48:19 +06:00

4602 lines
222 KiB
C
Raw Blame History

#include "LIBGTE.H"
#include <stdio.h>
#include "EMULATOR.H"
#include "EMULATOR_PRIVATE.H"
#include <assert.h>
#include "LIBMATH.H"
#include "INLINE_C.H"
#define ONE 4096
#define FIXED(a) ((a) / ONE)
// LUT for cos and sin
// 8192 entries, even entry = Sin, odd entry = Cos
// take TR angle (between 0 and 65535), shift R by 3 (to get between 0 and 8191), and with 8190 (to get between 0 and 8190)
// if you want Cos, add 1 to the index
// you then get value between -4096 and 4096, which you can divide by 4096f to get between -1 and 1
short rcossin_tbl[8192] =
{
0x0000, 0x1000, 0x0006, 0x1000, 0x000D, 0x1000, 0x0013, 0x1000, 0x0019, 0x1000,
0x001F, 0x1000, 0x0026, 0x1000, 0x002C, 0x1000, 0x0032, 0x1000, 0x0039, 0x1000,
0x003F, 0x1000, 0x0045, 0x0FFF, 0x004B, 0x0FFF, 0x0052, 0x0FFF, 0x0058, 0x0FFF,
0x005E, 0x0FFF, 0x0065, 0x0FFF, 0x006B, 0x0FFF, 0x0071, 0x0FFE, 0x0077, 0x0FFE,
0x007E, 0x0FFE, 0x0084, 0x0FFE, 0x008A, 0x0FFE, 0x0090, 0x0FFD, 0x0097, 0x0FFD,
0x009D, 0x0FFD, 0x00A3, 0x0FFD, 0x00AA, 0x0FFC, 0x00B0, 0x0FFC, 0x00B6, 0x0FFC,
0x00BC, 0x0FFC, 0x00C3, 0x0FFB, 0x00C9, 0x0FFB, 0x00CF, 0x0FFB, 0x00D6, 0x0FFA,
0x00DC, 0x0FFA, 0x00E2, 0x0FFA, 0x00E8, 0x0FF9, 0x00EF, 0x0FF9, 0x00F5, 0x0FF9,
0x00FB, 0x0FF8, 0x0101, 0x0FF8, 0x0108, 0x0FF8, 0x010E, 0x0FF7, 0x0114, 0x0FF7,
0x011B, 0x0FF6, 0x0121, 0x0FF6, 0x0127, 0x0FF5, 0x012D, 0x0FF5, 0x0134, 0x0FF4,
0x013A, 0x0FF4, 0x0140, 0x0FF3, 0x0146, 0x0FF3, 0x014D, 0x0FF2, 0x0153, 0x0FF2,
0x0159, 0x0FF1, 0x015F, 0x0FF1, 0x0166, 0x0FF0, 0x016C, 0x0FF0, 0x0172, 0x0FEF,
0x0178, 0x0FEF, 0x017F, 0x0FEE, 0x0185, 0x0FED, 0x018B, 0x0FED, 0x0191, 0x0FEC,
0x0198, 0x0FEC, 0x019E, 0x0FEB, 0x01A4, 0x0FEA, 0x01AA, 0x0FEA, 0x01B1, 0x0FE9,
0x01B7, 0x0FE8, 0x01BD, 0x0FE8, 0x01C3, 0x0FE7, 0x01CA, 0x0FE6, 0x01D0, 0x0FE6,
0x01D6, 0x0FE5, 0x01DC, 0x0FE4, 0x01E3, 0x0FE3, 0x01E9, 0x0FE3, 0x01EF, 0x0FE2,
0x01F5, 0x0FE1, 0x01FC, 0x0FE0, 0x0202, 0x0FE0, 0x0208, 0x0FDF, 0x020E, 0x0FDE,
0x0215, 0x0FDD, 0x021B, 0x0FDC, 0x0221, 0x0FDC, 0x0227, 0x0FDB, 0x022D, 0x0FDA,
0x0234, 0x0FD9, 0x023A, 0x0FD8, 0x0240, 0x0FD7, 0x0246, 0x0FD6, 0x024D, 0x0FD5,
0x0253, 0x0FD5, 0x0259, 0x0FD4, 0x025F, 0x0FD3, 0x0265, 0x0FD2, 0x026C, 0x0FD1,
0x0272, 0x0FD0, 0x0278, 0x0FCF, 0x027E, 0x0FCE, 0x0284, 0x0FCD, 0x028B, 0x0FCC,
0x0291, 0x0FCB, 0x0297, 0x0FCA, 0x029D, 0x0FC9, 0x02A3, 0x0FC8, 0x02AA, 0x0FC7,
0x02B0, 0x0FC6, 0x02B6, 0x0FC5, 0x02BC, 0x0FC4, 0x02C2, 0x0FC3, 0x02C9, 0x0FC2,
0x02CF, 0x0FC0, 0x02D5, 0x0FBF, 0x02DB, 0x0FBE, 0x02E1, 0x0FBD, 0x02E8, 0x0FBC,
0x02EE, 0x0FBB, 0x02F4, 0x0FBA, 0x02FA, 0x0FB8, 0x0300, 0x0FB7, 0x0306, 0x0FB6,
0x030D, 0x0FB5, 0x0313, 0x0FB4, 0x0319, 0x0FB3, 0x031F, 0x0FB1, 0x0325, 0x0FB0,
0x032B, 0x0FAF, 0x0332, 0x0FAE, 0x0338, 0x0FAC, 0x033E, 0x0FAB, 0x0344, 0x0FAA,
0x034A, 0x0FA8, 0x0350, 0x0FA7, 0x0356, 0x0FA6, 0x035D, 0x0FA5, 0x0363, 0x0FA3,
0x0369, 0x0FA2, 0x036F, 0x0FA1, 0x0375, 0x0F9F, 0x037B, 0x0F9E, 0x0381, 0x0F9C,
0x0388, 0x0F9B, 0x038E, 0x0F9A, 0x0394, 0x0F98, 0x039A, 0x0F97, 0x03A0, 0x0F95,
0x03A6, 0x0F94, 0x03AC, 0x0F93, 0x03B2, 0x0F91, 0x03B9, 0x0F90, 0x03BF, 0x0F8E,
0x03C5, 0x0F8D, 0x03CB, 0x0F8B, 0x03D1, 0x0F8A, 0x03D7, 0x0F88, 0x03DD, 0x0F87,
0x03E3, 0x0F85, 0x03E9, 0x0F84, 0x03EF, 0x0F82, 0x03F6, 0x0F81, 0x03FC, 0x0F7F,
0x0402, 0x0F7D, 0x0408, 0x0F7C, 0x040E, 0x0F7A, 0x0414, 0x0F79, 0x041A, 0x0F77,
0x0420, 0x0F76, 0x0426, 0x0F74, 0x042C, 0x0F72, 0x0432, 0x0F71, 0x0438, 0x0F6F,
0x043E, 0x0F6D, 0x0444, 0x0F6C, 0x044B, 0x0F6A, 0x0451, 0x0F68, 0x0457, 0x0F67,
0x045D, 0x0F65, 0x0463, 0x0F63, 0x0469, 0x0F61, 0x046F, 0x0F60, 0x0475, 0x0F5E,
0x047B, 0x0F5C, 0x0481, 0x0F5A, 0x0487, 0x0F59, 0x048D, 0x0F57, 0x0493, 0x0F55,
0x0499, 0x0F53, 0x049F, 0x0F51, 0x04A5, 0x0F50, 0x04AB, 0x0F4E, 0x04B1, 0x0F4C,
0x04B7, 0x0F4A, 0x04BD, 0x0F48, 0x04C3, 0x0F46, 0x04C9, 0x0F45, 0x04CF, 0x0F43,
0x04D5, 0x0F41, 0x04DB, 0x0F3F, 0x04E1, 0x0F3D, 0x04E7, 0x0F3B, 0x04ED, 0x0F39,
0x04F3, 0x0F37, 0x04F9, 0x0F35, 0x04FF, 0x0F33, 0x0505, 0x0F31, 0x050B, 0x0F2F,
0x0511, 0x0F2D, 0x0517, 0x0F2B, 0x051D, 0x0F29, 0x0523, 0x0F27, 0x0529, 0x0F25,
0x052F, 0x0F23, 0x0534, 0x0F21, 0x053A, 0x0F1F, 0x0540, 0x0F1D, 0x0546, 0x0F1B,
0x054C, 0x0F19, 0x0552, 0x0F17, 0x0558, 0x0F15, 0x055E, 0x0F13, 0x0564, 0x0F11,
0x056A, 0x0F0E, 0x0570, 0x0F0C, 0x0576, 0x0F0A, 0x057C, 0x0F08, 0x0581, 0x0F06,
0x0587, 0x0F04, 0x058D, 0x0F02, 0x0593, 0x0EFF, 0x0599, 0x0EFD, 0x059F, 0x0EFB,
0x05A5, 0x0EF9, 0x05AB, 0x0EF7, 0x05B1, 0x0EF4, 0x05B6, 0x0EF2, 0x05BC, 0x0EF0,
0x05C2, 0x0EEE, 0x05C8, 0x0EEB, 0x05CE, 0x0EE9, 0x05D4, 0x0EE7, 0x05DA, 0x0EE4,
0x05DF, 0x0EE2, 0x05E5, 0x0EE0, 0x05EB, 0x0EDD, 0x05F1, 0x0EDB, 0x05F7, 0x0ED9,
0x05FD, 0x0ED6, 0x0602, 0x0ED4, 0x0608, 0x0ED2, 0x060E, 0x0ECF, 0x0614, 0x0ECD,
0x061A, 0x0ECB, 0x061F, 0x0EC8, 0x0625, 0x0EC6, 0x062B, 0x0EC3, 0x0631, 0x0EC1,
0x0637, 0x0EBF, 0x063C, 0x0EBC, 0x0642, 0x0EBA, 0x0648, 0x0EB7, 0x064E, 0x0EB5,
0x0654, 0x0EB2, 0x0659, 0x0EB0, 0x065F, 0x0EAD, 0x0665, 0x0EAB, 0x066B, 0x0EA8,
0x0670, 0x0EA6, 0x0676, 0x0EA3, 0x067C, 0x0EA1, 0x0682, 0x0E9E, 0x0687, 0x0E9B,
0x068D, 0x0E99, 0x0693, 0x0E96, 0x0699, 0x0E94, 0x069E, 0x0E91, 0x06A4, 0x0E8F,
0x06AA, 0x0E8C, 0x06AF, 0x0E89, 0x06B5, 0x0E87, 0x06BB, 0x0E84, 0x06C1, 0x0E81,
0x06C6, 0x0E7F, 0x06CC, 0x0E7C, 0x06D2, 0x0E79, 0x06D7, 0x0E77, 0x06DD, 0x0E74,
0x06E3, 0x0E71, 0x06E8, 0x0E6F, 0x06EE, 0x0E6C, 0x06F4, 0x0E69, 0x06F9, 0x0E66,
0x06FF, 0x0E64, 0x0705, 0x0E61, 0x070A, 0x0E5E, 0x0710, 0x0E5B, 0x0715, 0x0E59,
0x071B, 0x0E56, 0x0721, 0x0E53, 0x0726, 0x0E50, 0x072C, 0x0E4D, 0x0732, 0x0E4B,
0x0737, 0x0E48, 0x073D, 0x0E45, 0x0742, 0x0E42, 0x0748, 0x0E3F, 0x074E, 0x0E3C,
0x0753, 0x0E3A, 0x0759, 0x0E37, 0x075E, 0x0E34, 0x0764, 0x0E31, 0x076A, 0x0E2E,
0x076F, 0x0E2B, 0x0775, 0x0E28, 0x077A, 0x0E25, 0x0780, 0x0E22, 0x0785, 0x0E1F,
0x078B, 0x0E1C, 0x0790, 0x0E19, 0x0796, 0x0E16, 0x079B, 0x0E13, 0x07A1, 0x0E10,
0x07A6, 0x0E0D, 0x07AC, 0x0E0A, 0x07B2, 0x0E07, 0x07B7, 0x0E04, 0x07BD, 0x0E01,
0x07C2, 0x0DFE, 0x07C8, 0x0DFB, 0x07CD, 0x0DF8, 0x07D2, 0x0DF5, 0x07D8, 0x0DF2,
0x07DD, 0x0DEF, 0x07E3, 0x0DEC, 0x07E8, 0x0DE9, 0x07EE, 0x0DE6, 0x07F3, 0x0DE3,
0x07F9, 0x0DDF, 0x07FE, 0x0DDC, 0x0804, 0x0DD9, 0x0809, 0x0DD6, 0x080E, 0x0DD3,
0x0814, 0x0DD0, 0x0819, 0x0DCC, 0x081F, 0x0DC9, 0x0824, 0x0DC6, 0x082A, 0x0DC3,
0x082F, 0x0DC0, 0x0834, 0x0DBC, 0x083A, 0x0DB9, 0x083F, 0x0DB6, 0x0845, 0x0DB3,
0x084A, 0x0DB0, 0x084F, 0x0DAC, 0x0855, 0x0DA9, 0x085A, 0x0DA6, 0x085F, 0x0DA2,
0x0865, 0x0D9F, 0x086A, 0x0D9C, 0x086F, 0x0D99, 0x0875, 0x0D95, 0x087A, 0x0D92,
0x087F, 0x0D8F, 0x0885, 0x0D8B, 0x088A, 0x0D88, 0x088F, 0x0D85, 0x0895, 0x0D81,
0x089A, 0x0D7E, 0x089F, 0x0D7A, 0x08A5, 0x0D77, 0x08AA, 0x0D74, 0x08AF, 0x0D70,
0x08B4, 0x0D6D, 0x08BA, 0x0D69, 0x08BF, 0x0D66, 0x08C4, 0x0D62, 0x08C9, 0x0D5F,
0x08CF, 0x0D5C, 0x08D4, 0x0D58, 0x08D9, 0x0D55, 0x08DE, 0x0D51, 0x08E4, 0x0D4E,
0x08E9, 0x0D4A, 0x08EE, 0x0D47, 0x08F3, 0x0D43, 0x08F8, 0x0D40, 0x08FE, 0x0D3C,
0x0903, 0x0D39, 0x0908, 0x0D35, 0x090D, 0x0D32, 0x0912, 0x0D2E, 0x0918, 0x0D2A,
0x091D, 0x0D27, 0x0922, 0x0D23, 0x0927, 0x0D20, 0x092C, 0x0D1C, 0x0931, 0x0D18,
0x0937, 0x0D15, 0x093C, 0x0D11, 0x0941, 0x0D0E, 0x0946, 0x0D0A, 0x094B, 0x0D06,
0x0950, 0x0D03, 0x0955, 0x0CFF, 0x095A, 0x0CFB, 0x095F, 0x0CF8, 0x0965, 0x0CF4,
0x096A, 0x0CF0, 0x096F, 0x0CED, 0x0974, 0x0CE9, 0x0979, 0x0CE5, 0x097E, 0x0CE1,
0x0983, 0x0CDE, 0x0988, 0x0CDA, 0x098D, 0x0CD6, 0x0992, 0x0CD2, 0x0997, 0x0CCF,
0x099C, 0x0CCB, 0x09A1, 0x0CC7, 0x09A6, 0x0CC3, 0x09AB, 0x0CC0, 0x09B0, 0x0CBC,
0x09B5, 0x0CB8, 0x09BA, 0x0CB4, 0x09BF, 0x0CB0, 0x09C4, 0x0CAC, 0x09C9, 0x0CA9,
0x09CE, 0x0CA5, 0x09D3, 0x0CA1, 0x09D8, 0x0C9D, 0x09DD, 0x0C99, 0x09E2, 0x0C95,
0x09E7, 0x0C91, 0x09EC, 0x0C8E, 0x09F1, 0x0C8A, 0x09F6, 0x0C86, 0x09FB, 0x0C82,
0x09FF, 0x0C7E, 0x0A04, 0x0C7A, 0x0A09, 0x0C76, 0x0A0E, 0x0C72, 0x0A13, 0x0C6E,
0x0A18, 0x0C6A, 0x0A1D, 0x0C66, 0x0A22, 0x0C62, 0x0A26, 0x0C5E, 0x0A2B, 0x0C5A,
0x0A30, 0x0C56, 0x0A35, 0x0C52, 0x0A3A, 0x0C4E, 0x0A3F, 0x0C4A, 0x0A44, 0x0C46,
0x0A48, 0x0C42, 0x0A4D, 0x0C3E, 0x0A52, 0x0C3A, 0x0A57, 0x0C36, 0x0A5C, 0x0C32,
0x0A60, 0x0C2E, 0x0A65, 0x0C2A, 0x0A6A, 0x0C26, 0x0A6F, 0x0C22, 0x0A73, 0x0C1E,
0x0A78, 0x0C19, 0x0A7D, 0x0C15, 0x0A82, 0x0C11, 0x0A86, 0x0C0D, 0x0A8B, 0x0C09,
0x0A90, 0x0C05, 0x0A95, 0x0C01, 0x0A99, 0x0BFC, 0x0A9E, 0x0BF8, 0x0AA3, 0x0BF4,
0x0AA7, 0x0BF0, 0x0AAC, 0x0BEC, 0x0AB1, 0x0BE8, 0x0AB5, 0x0BE3, 0x0ABA, 0x0BDF,
0x0ABF, 0x0BDB, 0x0AC3, 0x0BD7, 0x0AC8, 0x0BD2, 0x0ACD, 0x0BCE, 0x0AD1, 0x0BCA,
0x0AD6, 0x0BC6, 0x0ADB, 0x0BC1, 0x0ADF, 0x0BBD, 0x0AE4, 0x0BB9, 0x0AE8, 0x0BB5,
0x0AED, 0x0BB0, 0x0AF2, 0x0BAC, 0x0AF6, 0x0BA8, 0x0AFB, 0x0BA3, 0x0AFF, 0x0B9F,
0x0B04, 0x0B9B, 0x0B08, 0x0B97, 0x0B0D, 0x0B92, 0x0B11, 0x0B8E, 0x0B16, 0x0B89,
0x0B1B, 0x0B85, 0x0B1F, 0x0B81, 0x0B24, 0x0B7C, 0x0B28, 0x0B78, 0x0B2D, 0x0B74,
0x0B31, 0x0B6F, 0x0B36, 0x0B6B, 0x0B3A, 0x0B66, 0x0B3E, 0x0B62, 0x0B43, 0x0B5E,
0x0B47, 0x0B59, 0x0B4C, 0x0B55, 0x0B50, 0x0B50, 0x0B55, 0x0B4C, 0x0B59, 0x0B47,
0x0B5E, 0x0B43, 0x0B62, 0x0B3E, 0x0B66, 0x0B3A, 0x0B6B, 0x0B36, 0x0B6F, 0x0B31,
0x0B74, 0x0B2D, 0x0B78, 0x0B28, 0x0B7C, 0x0B24, 0x0B81, 0x0B1F, 0x0B85, 0x0B1B,
0x0B89, 0x0B16, 0x0B8E, 0x0B11, 0x0B92, 0x0B0D, 0x0B97, 0x0B08, 0x0B9B, 0x0B04,
0x0B9F, 0x0AFF, 0x0BA3, 0x0AFB, 0x0BA8, 0x0AF6, 0x0BAC, 0x0AF2, 0x0BB0, 0x0AED,
0x0BB5, 0x0AE8, 0x0BB9, 0x0AE4, 0x0BBD, 0x0ADF, 0x0BC1, 0x0ADB, 0x0BC6, 0x0AD6,
0x0BCA, 0x0AD1, 0x0BCE, 0x0ACD, 0x0BD2, 0x0AC8, 0x0BD7, 0x0AC3, 0x0BDB, 0x0ABF,
0x0BDF, 0x0ABA, 0x0BE3, 0x0AB5, 0x0BE8, 0x0AB1, 0x0BEC, 0x0AAC, 0x0BF0, 0x0AA7,
0x0BF4, 0x0AA3, 0x0BF8, 0x0A9E, 0x0BFC, 0x0A99, 0x0C01, 0x0A95, 0x0C05, 0x0A90,
0x0C09, 0x0A8B, 0x0C0D, 0x0A86, 0x0C11, 0x0A82, 0x0C15, 0x0A7D, 0x0C19, 0x0A78,
0x0C1E, 0x0A73, 0x0C22, 0x0A6F, 0x0C26, 0x0A6A, 0x0C2A, 0x0A65, 0x0C2E, 0x0A60,
0x0C32, 0x0A5C, 0x0C36, 0x0A57, 0x0C3A, 0x0A52, 0x0C3E, 0x0A4D, 0x0C42, 0x0A48,
0x0C46, 0x0A44, 0x0C4A, 0x0A3F, 0x0C4E, 0x0A3A, 0x0C52, 0x0A35, 0x0C56, 0x0A30,
0x0C5A, 0x0A2B, 0x0C5E, 0x0A26, 0x0C62, 0x0A22, 0x0C66, 0x0A1D, 0x0C6A, 0x0A18,
0x0C6E, 0x0A13, 0x0C72, 0x0A0E, 0x0C76, 0x0A09, 0x0C7A, 0x0A04, 0x0C7E, 0x09FF,
0x0C82, 0x09FB, 0x0C86, 0x09F6, 0x0C8A, 0x09F1, 0x0C8E, 0x09EC, 0x0C91, 0x09E7,
0x0C95, 0x09E2, 0x0C99, 0x09DD, 0x0C9D, 0x09D8, 0x0CA1, 0x09D3, 0x0CA5, 0x09CE,
0x0CA9, 0x09C9, 0x0CAC, 0x09C4, 0x0CB0, 0x09BF, 0x0CB4, 0x09BA, 0x0CB8, 0x09B5,
0x0CBC, 0x09B0, 0x0CC0, 0x09AB, 0x0CC3, 0x09A6, 0x0CC7, 0x09A1, 0x0CCB, 0x099C,
0x0CCF, 0x0997, 0x0CD2, 0x0992, 0x0CD6, 0x098D, 0x0CDA, 0x0988, 0x0CDE, 0x0983,
0x0CE1, 0x097E, 0x0CE5, 0x0979, 0x0CE9, 0x0974, 0x0CED, 0x096F, 0x0CF0, 0x096A,
0x0CF4, 0x0965, 0x0CF8, 0x095F, 0x0CFB, 0x095A, 0x0CFF, 0x0955, 0x0D03, 0x0950,
0x0D06, 0x094B, 0x0D0A, 0x0946, 0x0D0E, 0x0941, 0x0D11, 0x093C, 0x0D15, 0x0937,
0x0D18, 0x0931, 0x0D1C, 0x092C, 0x0D20, 0x0927, 0x0D23, 0x0922, 0x0D27, 0x091D,
0x0D2A, 0x0918, 0x0D2E, 0x0912, 0x0D32, 0x090D, 0x0D35, 0x0908, 0x0D39, 0x0903,
0x0D3C, 0x08FE, 0x0D40, 0x08F8, 0x0D43, 0x08F3, 0x0D47, 0x08EE, 0x0D4A, 0x08E9,
0x0D4E, 0x08E4, 0x0D51, 0x08DE, 0x0D55, 0x08D9, 0x0D58, 0x08D4, 0x0D5C, 0x08CF,
0x0D5F, 0x08C9, 0x0D62, 0x08C4, 0x0D66, 0x08BF, 0x0D69, 0x08BA, 0x0D6D, 0x08B4,
0x0D70, 0x08AF, 0x0D74, 0x08AA, 0x0D77, 0x08A5, 0x0D7A, 0x089F, 0x0D7E, 0x089A,
0x0D81, 0x0895, 0x0D85, 0x088F, 0x0D88, 0x088A, 0x0D8B, 0x0885, 0x0D8F, 0x087F,
0x0D92, 0x087A, 0x0D95, 0x0875, 0x0D99, 0x086F, 0x0D9C, 0x086A, 0x0D9F, 0x0865,
0x0DA2, 0x085F, 0x0DA6, 0x085A, 0x0DA9, 0x0855, 0x0DAC, 0x084F, 0x0DB0, 0x084A,
0x0DB3, 0x0845, 0x0DB6, 0x083F, 0x0DB9, 0x083A, 0x0DBC, 0x0834, 0x0DC0, 0x082F,
0x0DC3, 0x082A, 0x0DC6, 0x0824, 0x0DC9, 0x081F, 0x0DCC, 0x0819, 0x0DD0, 0x0814,
0x0DD3, 0x080E, 0x0DD6, 0x0809, 0x0DD9, 0x0804, 0x0DDC, 0x07FE, 0x0DDF, 0x07F9,
0x0DE3, 0x07F3, 0x0DE6, 0x07EE, 0x0DE9, 0x07E8, 0x0DEC, 0x07E3, 0x0DEF, 0x07DD,
0x0DF2, 0x07D8, 0x0DF5, 0x07D2, 0x0DF8, 0x07CD, 0x0DFB, 0x07C8, 0x0DFE, 0x07C2,
0x0E01, 0x07BD, 0x0E04, 0x07B7, 0x0E07, 0x07B2, 0x0E0A, 0x07AC, 0x0E0D, 0x07A6,
0x0E10, 0x07A1, 0x0E13, 0x079B, 0x0E16, 0x0796, 0x0E19, 0x0790, 0x0E1C, 0x078B,
0x0E1F, 0x0785, 0x0E22, 0x0780, 0x0E25, 0x077A, 0x0E28, 0x0775, 0x0E2B, 0x076F,
0x0E2E, 0x076A, 0x0E31, 0x0764, 0x0E34, 0x075E, 0x0E37, 0x0759, 0x0E3A, 0x0753,
0x0E3C, 0x074E, 0x0E3F, 0x0748, 0x0E42, 0x0742, 0x0E45, 0x073D, 0x0E48, 0x0737,
0x0E4B, 0x0732, 0x0E4D, 0x072C, 0x0E50, 0x0726, 0x0E53, 0x0721, 0x0E56, 0x071B,
0x0E59, 0x0715, 0x0E5B, 0x0710, 0x0E5E, 0x070A, 0x0E61, 0x0705, 0x0E64, 0x06FF,
0x0E66, 0x06F9, 0x0E69, 0x06F4, 0x0E6C, 0x06EE, 0x0E6F, 0x06E8, 0x0E71, 0x06E3,
0x0E74, 0x06DD, 0x0E77, 0x06D7, 0x0E79, 0x06D2, 0x0E7C, 0x06CC, 0x0E7F, 0x06C6,
0x0E81, 0x06C1, 0x0E84, 0x06BB, 0x0E87, 0x06B5, 0x0E89, 0x06AF, 0x0E8C, 0x06AA,
0x0E8F, 0x06A4, 0x0E91, 0x069E, 0x0E94, 0x0699, 0x0E96, 0x0693, 0x0E99, 0x068D,
0x0E9B, 0x0687, 0x0E9E, 0x0682, 0x0EA1, 0x067C, 0x0EA3, 0x0676, 0x0EA6, 0x0670,
0x0EA8, 0x066B, 0x0EAB, 0x0665, 0x0EAD, 0x065F, 0x0EB0, 0x0659, 0x0EB2, 0x0654,
0x0EB5, 0x064E, 0x0EB7, 0x0648, 0x0EBA, 0x0642, 0x0EBC, 0x063C, 0x0EBF, 0x0637,
0x0EC1, 0x0631, 0x0EC3, 0x062B, 0x0EC6, 0x0625, 0x0EC8, 0x061F, 0x0ECB, 0x061A,
0x0ECD, 0x0614, 0x0ECF, 0x060E, 0x0ED2, 0x0608, 0x0ED4, 0x0602, 0x0ED6, 0x05FD,
0x0ED9, 0x05F7, 0x0EDB, 0x05F1, 0x0EDD, 0x05EB, 0x0EE0, 0x05E5, 0x0EE2, 0x05DF,
0x0EE4, 0x05DA, 0x0EE7, 0x05D4, 0x0EE9, 0x05CE, 0x0EEB, 0x05C8, 0x0EEE, 0x05C2,
0x0EF0, 0x05BC, 0x0EF2, 0x05B6, 0x0EF4, 0x05B1, 0x0EF7, 0x05AB, 0x0EF9, 0x05A5,
0x0EFB, 0x059F, 0x0EFD, 0x0599, 0x0EFF, 0x0593, 0x0F02, 0x058D, 0x0F04, 0x0587,
0x0F06, 0x0581, 0x0F08, 0x057C, 0x0F0A, 0x0576, 0x0F0C, 0x0570, 0x0F0E, 0x056A,
0x0F11, 0x0564, 0x0F13, 0x055E, 0x0F15, 0x0558, 0x0F17, 0x0552, 0x0F19, 0x054C,
0x0F1B, 0x0546, 0x0F1D, 0x0540, 0x0F1F, 0x053A, 0x0F21, 0x0534, 0x0F23, 0x052F,
0x0F25, 0x0529, 0x0F27, 0x0523, 0x0F29, 0x051D, 0x0F2B, 0x0517, 0x0F2D, 0x0511,
0x0F2F, 0x050B, 0x0F31, 0x0505, 0x0F33, 0x04FF, 0x0F35, 0x04F9, 0x0F37, 0x04F3,
0x0F39, 0x04ED, 0x0F3B, 0x04E7, 0x0F3D, 0x04E1, 0x0F3F, 0x04DB, 0x0F41, 0x04D5,
0x0F43, 0x04CF, 0x0F45, 0x04C9, 0x0F46, 0x04C3, 0x0F48, 0x04BD, 0x0F4A, 0x04B7,
0x0F4C, 0x04B1, 0x0F4E, 0x04AB, 0x0F50, 0x04A5, 0x0F51, 0x049F, 0x0F53, 0x0499,
0x0F55, 0x0493, 0x0F57, 0x048D, 0x0F59, 0x0487, 0x0F5A, 0x0481, 0x0F5C, 0x047B,
0x0F5E, 0x0475, 0x0F60, 0x046F, 0x0F61, 0x0469, 0x0F63, 0x0463, 0x0F65, 0x045D,
0x0F67, 0x0457, 0x0F68, 0x0451, 0x0F6A, 0x044B, 0x0F6C, 0x0444, 0x0F6D, 0x043E,
0x0F6F, 0x0438, 0x0F71, 0x0432, 0x0F72, 0x042C, 0x0F74, 0x0426, 0x0F76, 0x0420,
0x0F77, 0x041A, 0x0F79, 0x0414, 0x0F7A, 0x040E, 0x0F7C, 0x0408, 0x0F7D, 0x0402,
0x0F7F, 0x03FC, 0x0F81, 0x03F6, 0x0F82, 0x03EF, 0x0F84, 0x03E9, 0x0F85, 0x03E3,
0x0F87, 0x03DD, 0x0F88, 0x03D7, 0x0F8A, 0x03D1, 0x0F8B, 0x03CB, 0x0F8D, 0x03C5,
0x0F8E, 0x03BF, 0x0F90, 0x03B9, 0x0F91, 0x03B2, 0x0F93, 0x03AC, 0x0F94, 0x03A6,
0x0F95, 0x03A0, 0x0F97, 0x039A, 0x0F98, 0x0394, 0x0F9A, 0x038E, 0x0F9B, 0x0388,
0x0F9C, 0x0381, 0x0F9E, 0x037B, 0x0F9F, 0x0375, 0x0FA1, 0x036F, 0x0FA2, 0x0369,
0x0FA3, 0x0363, 0x0FA5, 0x035D, 0x0FA6, 0x0356, 0x0FA7, 0x0350, 0x0FA8, 0x034A,
0x0FAA, 0x0344, 0x0FAB, 0x033E, 0x0FAC, 0x0338, 0x0FAE, 0x0332, 0x0FAF, 0x032B,
0x0FB0, 0x0325, 0x0FB1, 0x031F, 0x0FB3, 0x0319, 0x0FB4, 0x0313, 0x0FB5, 0x030D,
0x0FB6, 0x0306, 0x0FB7, 0x0300, 0x0FB8, 0x02FA, 0x0FBA, 0x02F4, 0x0FBB, 0x02EE,
0x0FBC, 0x02E8, 0x0FBD, 0x02E1, 0x0FBE, 0x02DB, 0x0FBF, 0x02D5, 0x0FC0, 0x02CF,
0x0FC2, 0x02C9, 0x0FC3, 0x02C2, 0x0FC4, 0x02BC, 0x0FC5, 0x02B6, 0x0FC6, 0x02B0,
0x0FC7, 0x02AA, 0x0FC8, 0x02A3, 0x0FC9, 0x029D, 0x0FCA, 0x0297, 0x0FCB, 0x0291,
0x0FCC, 0x028B, 0x0FCD, 0x0284, 0x0FCE, 0x027E, 0x0FCF, 0x0278, 0x0FD0, 0x0272,
0x0FD1, 0x026C, 0x0FD2, 0x0265, 0x0FD3, 0x025F, 0x0FD4, 0x0259, 0x0FD5, 0x0253,
0x0FD5, 0x024D, 0x0FD6, 0x0246, 0x0FD7, 0x0240, 0x0FD8, 0x023A, 0x0FD9, 0x0234,
0x0FDA, 0x022D, 0x0FDB, 0x0227, 0x0FDC, 0x0221, 0x0FDC, 0x021B, 0x0FDD, 0x0215,
0x0FDE, 0x020E, 0x0FDF, 0x0208, 0x0FE0, 0x0202, 0x0FE0, 0x01FC, 0x0FE1, 0x01F5,
0x0FE2, 0x01EF, 0x0FE3, 0x01E9, 0x0FE3, 0x01E3, 0x0FE4, 0x01DC, 0x0FE5, 0x01D6,
0x0FE6, 0x01D0, 0x0FE6, 0x01CA, 0x0FE7, 0x01C3, 0x0FE8, 0x01BD, 0x0FE8, 0x01B7,
0x0FE9, 0x01B1, 0x0FEA, 0x01AA, 0x0FEA, 0x01A4, 0x0FEB, 0x019E, 0x0FEC, 0x0198,
0x0FEC, 0x0191, 0x0FED, 0x018B, 0x0FED, 0x0185, 0x0FEE, 0x017F, 0x0FEF, 0x0178,
0x0FEF, 0x0172, 0x0FF0, 0x016C, 0x0FF0, 0x0166, 0x0FF1, 0x015F, 0x0FF1, 0x0159,
0x0FF2, 0x0153, 0x0FF2, 0x014D, 0x0FF3, 0x0146, 0x0FF3, 0x0140, 0x0FF4, 0x013A,
0x0FF4, 0x0134, 0x0FF5, 0x012D, 0x0FF5, 0x0127, 0x0FF6, 0x0121, 0x0FF6, 0x011B,
0x0FF7, 0x0114, 0x0FF7, 0x010E, 0x0FF8, 0x0108, 0x0FF8, 0x0101, 0x0FF8, 0x00FB,
0x0FF9, 0x00F5, 0x0FF9, 0x00EF, 0x0FF9, 0x00E8, 0x0FFA, 0x00E2, 0x0FFA, 0x00DC,
0x0FFA, 0x00D6, 0x0FFB, 0x00CF, 0x0FFB, 0x00C9, 0x0FFB, 0x00C3, 0x0FFC, 0x00BC,
0x0FFC, 0x00B6, 0x0FFC, 0x00B0, 0x0FFC, 0x00AA, 0x0FFD, 0x00A3, 0x0FFD, 0x009D,
0x0FFD, 0x0097, 0x0FFD, 0x0090, 0x0FFE, 0x008A, 0x0FFE, 0x0084, 0x0FFE, 0x007E,
0x0FFE, 0x0077, 0x0FFE, 0x0071, 0x0FFF, 0x006B, 0x0FFF, 0x0065, 0x0FFF, 0x005E,
0x0FFF, 0x0058, 0x0FFF, 0x0052, 0x0FFF, 0x004B, 0x0FFF, 0x0045, 0x1000, 0x003F,
0x1000, 0x0039, 0x1000, 0x0032, 0x1000, 0x002C, 0x1000, 0x0026, 0x1000, 0x001F,
0x1000, 0x0019, 0x1000, 0x0013, 0x1000, 0x000D, 0x1000, 0x0006, 0x1000, 0x0000,
0x1000, 0xFFFA, 0x1000, 0xFFF3, 0x1000, 0xFFED, 0x1000, 0xFFE7, 0x1000, 0xFFE1,
0x1000, 0xFFDA, 0x1000, 0xFFD4, 0x1000, 0xFFCE, 0x1000, 0xFFC7, 0x1000, 0xFFC1,
0x0FFF, 0xFFBB, 0x0FFF, 0xFFB5, 0x0FFF, 0xFFAE, 0x0FFF, 0xFFA8, 0x0FFF, 0xFFA2,
0x0FFF, 0xFF9B, 0x0FFF, 0xFF95, 0x0FFE, 0xFF8F, 0x0FFE, 0xFF89, 0x0FFE, 0xFF82,
0x0FFE, 0xFF7C, 0x0FFE, 0xFF76, 0x0FFD, 0xFF70, 0x0FFD, 0xFF69, 0x0FFD, 0xFF63,
0x0FFD, 0xFF5D, 0x0FFC, 0xFF56, 0x0FFC, 0xFF50, 0x0FFC, 0xFF4A, 0x0FFC, 0xFF44,
0x0FFB, 0xFF3D, 0x0FFB, 0xFF37, 0x0FFB, 0xFF31, 0x0FFA, 0xFF2A, 0x0FFA, 0xFF24,
0x0FFA, 0xFF1E, 0x0FF9, 0xFF18, 0x0FF9, 0xFF11, 0x0FF9, 0xFF0B, 0x0FF8, 0xFF05,
0x0FF8, 0xFEFF, 0x0FF8, 0xFEF8, 0x0FF7, 0xFEF2, 0x0FF7, 0xFEEC, 0x0FF6, 0xFEE5,
0x0FF6, 0xFEDF, 0x0FF5, 0xFED9, 0x0FF5, 0xFED3, 0x0FF4, 0xFECC, 0x0FF4, 0xFEC6,
0x0FF3, 0xFEC0, 0x0FF3, 0xFEBA, 0x0FF2, 0xFEB3, 0x0FF2, 0xFEAD, 0x0FF1, 0xFEA7,
0x0FF1, 0xFEA1, 0x0FF0, 0xFE9A, 0x0FF0, 0xFE94, 0x0FEF, 0xFE8E, 0x0FEF, 0xFE88,
0x0FEE, 0xFE81, 0x0FED, 0xFE7B, 0x0FED, 0xFE75, 0x0FEC, 0xFE6F, 0x0FEC, 0xFE68,
0x0FEB, 0xFE62, 0x0FEA, 0xFE5C, 0x0FEA, 0xFE56, 0x0FE9, 0xFE4F, 0x0FE8, 0xFE49,
0x0FE8, 0xFE43, 0x0FE7, 0xFE3D, 0x0FE6, 0xFE36, 0x0FE6, 0xFE30, 0x0FE5, 0xFE2A,
0x0FE4, 0xFE24, 0x0FE3, 0xFE1D, 0x0FE3, 0xFE17, 0x0FE2, 0xFE11, 0x0FE1, 0xFE0B,
0x0FE0, 0xFE04, 0x0FE0, 0xFDFE, 0x0FDF, 0xFDF8, 0x0FDE, 0xFDF2, 0x0FDD, 0xFDEB,
0x0FDC, 0xFDE5, 0x0FDC, 0xFDDF, 0x0FDB, 0xFDD9, 0x0FDA, 0xFDD3, 0x0FD9, 0xFDCC,
0x0FD8, 0xFDC6, 0x0FD7, 0xFDC0, 0x0FD6, 0xFDBA, 0x0FD5, 0xFDB3, 0x0FD5, 0xFDAD,
0x0FD4, 0xFDA7, 0x0FD3, 0xFDA1, 0x0FD2, 0xFD9B, 0x0FD1, 0xFD94, 0x0FD0, 0xFD8E,
0x0FCF, 0xFD88, 0x0FCE, 0xFD82, 0x0FCD, 0xFD7C, 0x0FCC, 0xFD75, 0x0FCB, 0xFD6F,
0x0FCA, 0xFD69, 0x0FC9, 0xFD63, 0x0FC8, 0xFD5D, 0x0FC7, 0xFD56, 0x0FC6, 0xFD50,
0x0FC5, 0xFD4A, 0x0FC4, 0xFD44, 0x0FC3, 0xFD3E, 0x0FC2, 0xFD37, 0x0FC0, 0xFD31,
0x0FBF, 0xFD2B, 0x0FBE, 0xFD25, 0x0FBD, 0xFD1F, 0x0FBC, 0xFD18, 0x0FBB, 0xFD12,
0x0FBA, 0xFD0C, 0x0FB8, 0xFD06, 0x0FB7, 0xFD00, 0x0FB6, 0xFCFA, 0x0FB5, 0xFCF3,
0x0FB4, 0xFCED, 0x0FB3, 0xFCE7, 0x0FB1, 0xFCE1, 0x0FB0, 0xFCDB, 0x0FAF, 0xFCD5,
0x0FAE, 0xFCCE, 0x0FAC, 0xFCC8, 0x0FAB, 0xFCC2, 0x0FAA, 0xFCBC, 0x0FA8, 0xFCB6,
0x0FA7, 0xFCB0, 0x0FA6, 0xFCAA, 0x0FA5, 0xFCA3, 0x0FA3, 0xFC9D, 0x0FA2, 0xFC97,
0x0FA1, 0xFC91, 0x0F9F, 0xFC8B, 0x0F9E, 0xFC85, 0x0F9C, 0xFC7F, 0x0F9B, 0xFC78,
0x0F9A, 0xFC72, 0x0F98, 0xFC6C, 0x0F97, 0xFC66, 0x0F95, 0xFC60, 0x0F94, 0xFC5A,
0x0F93, 0xFC54, 0x0F91, 0xFC4E, 0x0F90, 0xFC47, 0x0F8E, 0xFC41, 0x0F8D, 0xFC3B,
0x0F8B, 0xFC35, 0x0F8A, 0xFC2F, 0x0F88, 0xFC29, 0x0F87, 0xFC23, 0x0F85, 0xFC1D,
0x0F84, 0xFC17, 0x0F82, 0xFC11, 0x0F81, 0xFC0A, 0x0F7F, 0xFC04, 0x0F7D, 0xFBFE,
0x0F7C, 0xFBF8, 0x0F7A, 0xFBF2, 0x0F79, 0xFBEC, 0x0F77, 0xFBE6, 0x0F76, 0xFBE0,
0x0F74, 0xFBDA, 0x0F72, 0xFBD4, 0x0F71, 0xFBCE, 0x0F6F, 0xFBC8, 0x0F6D, 0xFBC2,
0x0F6C, 0xFBBC, 0x0F6A, 0xFBB5, 0x0F68, 0xFBAF, 0x0F67, 0xFBA9, 0x0F65, 0xFBA3,
0x0F63, 0xFB9D, 0x0F61, 0xFB97, 0x0F60, 0xFB91, 0x0F5E, 0xFB8B, 0x0F5C, 0xFB85,
0x0F5A, 0xFB7F, 0x0F59, 0xFB79, 0x0F57, 0xFB73, 0x0F55, 0xFB6D, 0x0F53, 0xFB67,
0x0F51, 0xFB61, 0x0F50, 0xFB5B, 0x0F4E, 0xFB55, 0x0F4C, 0xFB4F, 0x0F4A, 0xFB49,
0x0F48, 0xFB43, 0x0F46, 0xFB3D, 0x0F45, 0xFB37, 0x0F43, 0xFB31, 0x0F41, 0xFB2B,
0x0F3F, 0xFB25, 0x0F3D, 0xFB1F, 0x0F3B, 0xFB19, 0x0F39, 0xFB13, 0x0F37, 0xFB0D,
0x0F35, 0xFB07, 0x0F33, 0xFB01, 0x0F31, 0xFAFB, 0x0F2F, 0xFAF5, 0x0F2D, 0xFAEF,
0x0F2B, 0xFAE9, 0x0F29, 0xFAE3, 0x0F27, 0xFADD, 0x0F25, 0xFAD7, 0x0F23, 0xFAD1,
0x0F21, 0xFACC, 0x0F1F, 0xFAC6, 0x0F1D, 0xFAC0, 0x0F1B, 0xFABA, 0x0F19, 0xFAB4,
0x0F17, 0xFAAE, 0x0F15, 0xFAA8, 0x0F13, 0xFAA2, 0x0F11, 0xFA9C, 0x0F0E, 0xFA96,
0x0F0C, 0xFA90, 0x0F0A, 0xFA8A, 0x0F08, 0xFA84, 0x0F06, 0xFA7F, 0x0F04, 0xFA79,
0x0F02, 0xFA73, 0x0EFF, 0xFA6D, 0x0EFD, 0xFA67, 0x0EFB, 0xFA61, 0x0EF9, 0xFA5B,
0x0EF7, 0xFA55, 0x0EF4, 0xFA4F, 0x0EF2, 0xFA4A, 0x0EF0, 0xFA44, 0x0EEE, 0xFA3E,
0x0EEB, 0xFA38, 0x0EE9, 0xFA32, 0x0EE7, 0xFA2C, 0x0EE4, 0xFA26, 0x0EE2, 0xFA21,
0x0EE0, 0xFA1B, 0x0EDD, 0xFA15, 0x0EDB, 0xFA0F, 0x0ED9, 0xFA09, 0x0ED6, 0xFA03,
0x0ED4, 0xF9FE, 0x0ED2, 0xF9F8, 0x0ECF, 0xF9F2, 0x0ECD, 0xF9EC, 0x0ECB, 0xF9E6,
0x0EC8, 0xF9E1, 0x0EC6, 0xF9DB, 0x0EC3, 0xF9D5, 0x0EC1, 0xF9CF, 0x0EBF, 0xF9C9,
0x0EBC, 0xF9C4, 0x0EBA, 0xF9BE, 0x0EB7, 0xF9B8, 0x0EB5, 0xF9B2, 0x0EB2, 0xF9AC,
0x0EB0, 0xF9A7, 0x0EAD, 0xF9A1, 0x0EAB, 0xF99B, 0x0EA8, 0xF995, 0x0EA6, 0xF990,
0x0EA3, 0xF98A, 0x0EA1, 0xF984, 0x0E9E, 0xF97E, 0x0E9B, 0xF979, 0x0E99, 0xF973,
0x0E96, 0xF96D, 0x0E94, 0xF967, 0x0E91, 0xF962, 0x0E8F, 0xF95C, 0x0E8C, 0xF956,
0x0E89, 0xF951, 0x0E87, 0xF94B, 0x0E84, 0xF945, 0x0E81, 0xF93F, 0x0E7F, 0xF93A,
0x0E7C, 0xF934, 0x0E79, 0xF92E, 0x0E77, 0xF929, 0x0E74, 0xF923, 0x0E71, 0xF91D,
0x0E6F, 0xF918, 0x0E6C, 0xF912, 0x0E69, 0xF90C, 0x0E66, 0xF907, 0x0E64, 0xF901,
0x0E61, 0xF8FB, 0x0E5E, 0xF8F6, 0x0E5B, 0xF8F0, 0x0E59, 0xF8EB, 0x0E56, 0xF8E5,
0x0E53, 0xF8DF, 0x0E50, 0xF8DA, 0x0E4D, 0xF8D4, 0x0E4B, 0xF8CE, 0x0E48, 0xF8C9,
0x0E45, 0xF8C3, 0x0E42, 0xF8BE, 0x0E3F, 0xF8B8, 0x0E3C, 0xF8B2, 0x0E3A, 0xF8AD,
0x0E37, 0xF8A7, 0x0E34, 0xF8A2, 0x0E31, 0xF89C, 0x0E2E, 0xF896, 0x0E2B, 0xF891,
0x0E28, 0xF88B, 0x0E25, 0xF886, 0x0E22, 0xF880, 0x0E1F, 0xF87B, 0x0E1C, 0xF875,
0x0E19, 0xF870, 0x0E16, 0xF86A, 0x0E13, 0xF865, 0x0E10, 0xF85F, 0x0E0D, 0xF85A,
0x0E0A, 0xF854, 0x0E07, 0xF84E, 0x0E04, 0xF849, 0x0E01, 0xF843, 0x0DFE, 0xF83E,
0x0DFB, 0xF838, 0x0DF8, 0xF833, 0x0DF5, 0xF82E, 0x0DF2, 0xF828, 0x0DEF, 0xF823,
0x0DEC, 0xF81D, 0x0DE9, 0xF818, 0x0DE6, 0xF812, 0x0DE3, 0xF80D, 0x0DDF, 0xF807,
0x0DDC, 0xF802, 0x0DD9, 0xF7FC, 0x0DD6, 0xF7F7, 0x0DD3, 0xF7F2, 0x0DD0, 0xF7EC,
0x0DCC, 0xF7E7, 0x0DC9, 0xF7E1, 0x0DC6, 0xF7DC, 0x0DC3, 0xF7D6, 0x0DC0, 0xF7D1,
0x0DBC, 0xF7CC, 0x0DB9, 0xF7C6, 0x0DB6, 0xF7C1, 0x0DB3, 0xF7BB, 0x0DB0, 0xF7B6,
0x0DAC, 0xF7B1, 0x0DA9, 0xF7AB, 0x0DA6, 0xF7A6, 0x0DA2, 0xF7A1, 0x0D9F, 0xF79B,
0x0D9C, 0xF796, 0x0D99, 0xF791, 0x0D95, 0xF78B, 0x0D92, 0xF786, 0x0D8F, 0xF781,
0x0D8B, 0xF77B, 0x0D88, 0xF776, 0x0D85, 0xF771, 0x0D81, 0xF76B, 0x0D7E, 0xF766,
0x0D7A, 0xF761, 0x0D77, 0xF75B, 0x0D74, 0xF756, 0x0D70, 0xF751, 0x0D6D, 0xF74C,
0x0D69, 0xF746, 0x0D66, 0xF741, 0x0D62, 0xF73C, 0x0D5F, 0xF737, 0x0D5C, 0xF731,
0x0D58, 0xF72C, 0x0D55, 0xF727, 0x0D51, 0xF722, 0x0D4E, 0xF71C, 0x0D4A, 0xF717,
0x0D47, 0xF712, 0x0D43, 0xF70D, 0x0D40, 0xF708, 0x0D3C, 0xF702, 0x0D39, 0xF6FD,
0x0D35, 0xF6F8, 0x0D32, 0xF6F3, 0x0D2E, 0xF6EE, 0x0D2A, 0xF6E8, 0x0D27, 0xF6E3,
0x0D23, 0xF6DE, 0x0D20, 0xF6D9, 0x0D1C, 0xF6D4, 0x0D18, 0xF6CF, 0x0D15, 0xF6C9,
0x0D11, 0xF6C4, 0x0D0E, 0xF6BF, 0x0D0A, 0xF6BA, 0x0D06, 0xF6B5, 0x0D03, 0xF6B0,
0x0CFF, 0xF6AB, 0x0CFB, 0xF6A6, 0x0CF8, 0xF6A1, 0x0CF4, 0xF69B, 0x0CF0, 0xF696,
0x0CED, 0xF691, 0x0CE9, 0xF68C, 0x0CE5, 0xF687, 0x0CE1, 0xF682, 0x0CDE, 0xF67D,
0x0CDA, 0xF678, 0x0CD6, 0xF673, 0x0CD2, 0xF66E, 0x0CCF, 0xF669, 0x0CCB, 0xF664,
0x0CC7, 0xF65F, 0x0CC3, 0xF65A, 0x0CC0, 0xF655, 0x0CBC, 0xF650, 0x0CB8, 0xF64B,
0x0CB4, 0xF646, 0x0CB0, 0xF641, 0x0CAC, 0xF63C, 0x0CA9, 0xF637, 0x0CA5, 0xF632,
0x0CA1, 0xF62D, 0x0C9D, 0xF628, 0x0C99, 0xF623, 0x0C95, 0xF61E, 0x0C91, 0xF619,
0x0C8E, 0xF614, 0x0C8A, 0xF60F, 0x0C86, 0xF60A, 0x0C82, 0xF605, 0x0C7E, 0xF601,
0x0C7A, 0xF5FC, 0x0C76, 0xF5F7, 0x0C72, 0xF5F2, 0x0C6E, 0xF5ED, 0x0C6A, 0xF5E8,
0x0C66, 0xF5E3, 0x0C62, 0xF5DE, 0x0C5E, 0xF5DA, 0x0C5A, 0xF5D5, 0x0C56, 0xF5D0,
0x0C52, 0xF5CB, 0x0C4E, 0xF5C6, 0x0C4A, 0xF5C1, 0x0C46, 0xF5BC, 0x0C42, 0xF5B8,
0x0C3E, 0xF5B3, 0x0C3A, 0xF5AE, 0x0C36, 0xF5A9, 0x0C32, 0xF5A4, 0x0C2E, 0xF5A0,
0x0C2A, 0xF59B, 0x0C26, 0xF596, 0x0C22, 0xF591, 0x0C1E, 0xF58D, 0x0C19, 0xF588,
0x0C15, 0xF583, 0x0C11, 0xF57E, 0x0C0D, 0xF57A, 0x0C09, 0xF575, 0x0C05, 0xF570,
0x0C01, 0xF56B, 0x0BFC, 0xF567, 0x0BF8, 0xF562, 0x0BF4, 0xF55D, 0x0BF0, 0xF559,
0x0BEC, 0xF554, 0x0BE8, 0xF54F, 0x0BE3, 0xF54B, 0x0BDF, 0xF546, 0x0BDB, 0xF541,
0x0BD7, 0xF53D, 0x0BD2, 0xF538, 0x0BCE, 0xF533, 0x0BCA, 0xF52F, 0x0BC6, 0xF52A,
0x0BC1, 0xF525, 0x0BBD, 0xF521, 0x0BB9, 0xF51C, 0x0BB5, 0xF518, 0x0BB0, 0xF513,
0x0BAC, 0xF50E, 0x0BA8, 0xF50A, 0x0BA3, 0xF505, 0x0B9F, 0xF501, 0x0B9B, 0xF4FC,
0x0B97, 0xF4F8, 0x0B92, 0xF4F3, 0x0B8E, 0xF4EF, 0x0B89, 0xF4EA, 0x0B85, 0xF4E5,
0x0B81, 0xF4E1, 0x0B7C, 0xF4DC, 0x0B78, 0xF4D8, 0x0B74, 0xF4D3, 0x0B6F, 0xF4CF,
0x0B6B, 0xF4CA, 0x0B66, 0xF4C6, 0x0B62, 0xF4C2, 0x0B5E, 0xF4BD, 0x0B59, 0xF4B9,
0x0B55, 0xF4B4, 0x0B50, 0xF4B0, 0x0B4C, 0xF4AB, 0x0B47, 0xF4A7, 0x0B43, 0xF4A2,
0x0B3E, 0xF49E, 0x0B3A, 0xF49A, 0x0B36, 0xF495, 0x0B31, 0xF491, 0x0B2D, 0xF48C,
0x0B28, 0xF488, 0x0B24, 0xF484, 0x0B1F, 0xF47F, 0x0B1B, 0xF47B, 0x0B16, 0xF477,
0x0B11, 0xF472, 0x0B0D, 0xF46E, 0x0B08, 0xF469, 0x0B04, 0xF465, 0x0AFF, 0xF461,
0x0AFB, 0xF45D, 0x0AF6, 0xF458, 0x0AF2, 0xF454, 0x0AED, 0xF450, 0x0AE8, 0xF44B,
0x0AE4, 0xF447, 0x0ADF, 0xF443, 0x0ADB, 0xF43F, 0x0AD6, 0xF43A, 0x0AD1, 0xF436,
0x0ACD, 0xF432, 0x0AC8, 0xF42E, 0x0AC3, 0xF429, 0x0ABF, 0xF425, 0x0ABA, 0xF421,
0x0AB5, 0xF41D, 0x0AB1, 0xF418, 0x0AAC, 0xF414, 0x0AA7, 0xF410, 0x0AA3, 0xF40C,
0x0A9E, 0xF408, 0x0A99, 0xF404, 0x0A95, 0xF3FF, 0x0A90, 0xF3FB, 0x0A8B, 0xF3F7,
0x0A86, 0xF3F3, 0x0A82, 0xF3EF, 0x0A7D, 0xF3EB, 0x0A78, 0xF3E7, 0x0A73, 0xF3E2,
0x0A6F, 0xF3DE, 0x0A6A, 0xF3DA, 0x0A65, 0xF3D6, 0x0A60, 0xF3D2, 0x0A5C, 0xF3CE,
0x0A57, 0xF3CA, 0x0A52, 0xF3C6, 0x0A4D, 0xF3C2, 0x0A48, 0xF3BE, 0x0A44, 0xF3BA,
0x0A3F, 0xF3B6, 0x0A3A, 0xF3B2, 0x0A35, 0xF3AE, 0x0A30, 0xF3AA, 0x0A2B, 0xF3A6,
0x0A26, 0xF3A2, 0x0A22, 0xF39E, 0x0A1D, 0xF39A, 0x0A18, 0xF396, 0x0A13, 0xF392,
0x0A0E, 0xF38E, 0x0A09, 0xF38A, 0x0A04, 0xF386, 0x09FF, 0xF382, 0x09FB, 0xF37E,
0x09F6, 0xF37A, 0x09F1, 0xF376, 0x09EC, 0xF372, 0x09E7, 0xF36F, 0x09E2, 0xF36B,
0x09DD, 0xF367, 0x09D8, 0xF363, 0x09D3, 0xF35F, 0x09CE, 0xF35B, 0x09C9, 0xF357,
0x09C4, 0xF354, 0x09BF, 0xF350, 0x09BA, 0xF34C, 0x09B5, 0xF348, 0x09B0, 0xF344,
0x09AB, 0xF340, 0x09A6, 0xF33D, 0x09A1, 0xF339, 0x099C, 0xF335, 0x0997, 0xF331,
0x0992, 0xF32E, 0x098D, 0xF32A, 0x0988, 0xF326, 0x0983, 0xF322, 0x097E, 0xF31F,
0x0979, 0xF31B, 0x0974, 0xF317, 0x096F, 0xF313, 0x096A, 0xF310, 0x0965, 0xF30C,
0x095F, 0xF308, 0x095A, 0xF305, 0x0955, 0xF301, 0x0950, 0xF2FD, 0x094B, 0xF2FA,
0x0946, 0xF2F6, 0x0941, 0xF2F2, 0x093C, 0xF2EF, 0x0937, 0xF2EB, 0x0931, 0xF2E8,
0x092C, 0xF2E4, 0x0927, 0xF2E0, 0x0922, 0xF2DD, 0x091D, 0xF2D9, 0x0918, 0xF2D6,
0x0912, 0xF2D2, 0x090D, 0xF2CE, 0x0908, 0xF2CB, 0x0903, 0xF2C7, 0x08FE, 0xF2C4,
0x08F8, 0xF2C0, 0x08F3, 0xF2BD, 0x08EE, 0xF2B9, 0x08E9, 0xF2B6, 0x08E4, 0xF2B2,
0x08DE, 0xF2AF, 0x08D9, 0xF2AB, 0x08D4, 0xF2A8, 0x08CF, 0xF2A4, 0x08C9, 0xF2A1,
0x08C4, 0xF29E, 0x08BF, 0xF29A, 0x08BA, 0xF297, 0x08B4, 0xF293, 0x08AF, 0xF290,
0x08AA, 0xF28C, 0x08A5, 0xF289, 0x089F, 0xF286, 0x089A, 0xF282, 0x0895, 0xF27F,
0x088F, 0xF27B, 0x088A, 0xF278, 0x0885, 0xF275, 0x087F, 0xF271, 0x087A, 0xF26E,
0x0875, 0xF26B, 0x086F, 0xF267, 0x086A, 0xF264, 0x0865, 0xF261, 0x085F, 0xF25E,
0x085A, 0xF25A, 0x0855, 0xF257, 0x084F, 0xF254, 0x084A, 0xF250, 0x0845, 0xF24D,
0x083F, 0xF24A, 0x083A, 0xF247, 0x0834, 0xF244, 0x082F, 0xF240, 0x082A, 0xF23D,
0x0824, 0xF23A, 0x081F, 0xF237, 0x0819, 0xF234, 0x0814, 0xF230, 0x080E, 0xF22D,
0x0809, 0xF22A, 0x0804, 0xF227, 0x07FE, 0xF224, 0x07F9, 0xF221, 0x07F3, 0xF21D,
0x07EE, 0xF21A, 0x07E8, 0xF217, 0x07E3, 0xF214, 0x07DD, 0xF211, 0x07D8, 0xF20E,
0x07D2, 0xF20B, 0x07CD, 0xF208, 0x07C8, 0xF205, 0x07C2, 0xF202, 0x07BD, 0xF1FF,
0x07B7, 0xF1FC, 0x07B2, 0xF1F9, 0x07AC, 0xF1F6, 0x07A6, 0xF1F3, 0x07A1, 0xF1F0,
0x079B, 0xF1ED, 0x0796, 0xF1EA, 0x0790, 0xF1E7, 0x078B, 0xF1E4, 0x0785, 0xF1E1,
0x0780, 0xF1DE, 0x077A, 0xF1DB, 0x0775, 0xF1D8, 0x076F, 0xF1D5, 0x076A, 0xF1D2,
0x0764, 0xF1CF, 0x075E, 0xF1CC, 0x0759, 0xF1C9, 0x0753, 0xF1C6, 0x074E, 0xF1C4,
0x0748, 0xF1C1, 0x0742, 0xF1BE, 0x073D, 0xF1BB, 0x0737, 0xF1B8, 0x0732, 0xF1B5,
0x072C, 0xF1B3, 0x0726, 0xF1B0, 0x0721, 0xF1AD, 0x071B, 0xF1AA, 0x0715, 0xF1A7,
0x0710, 0xF1A5, 0x070A, 0xF1A2, 0x0705, 0xF19F, 0x06FF, 0xF19C, 0x06F9, 0xF19A,
0x06F4, 0xF197, 0x06EE, 0xF194, 0x06E8, 0xF191, 0x06E3, 0xF18F, 0x06DD, 0xF18C,
0x06D7, 0xF189, 0x06D2, 0xF187, 0x06CC, 0xF184, 0x06C6, 0xF181, 0x06C1, 0xF17F,
0x06BB, 0xF17C, 0x06B5, 0xF179, 0x06AF, 0xF177, 0x06AA, 0xF174, 0x06A4, 0xF171,
0x069E, 0xF16F, 0x0699, 0xF16C, 0x0693, 0xF16A, 0x068D, 0xF167, 0x0687, 0xF165,
0x0682, 0xF162, 0x067C, 0xF15F, 0x0676, 0xF15D, 0x0670, 0xF15A, 0x066B, 0xF158,
0x0665, 0xF155, 0x065F, 0xF153, 0x0659, 0xF150, 0x0654, 0xF14E, 0x064E, 0xF14B,
0x0648, 0xF149, 0x0642, 0xF146, 0x063C, 0xF144, 0x0637, 0xF141, 0x0631, 0xF13F,
0x062B, 0xF13D, 0x0625, 0xF13A, 0x061F, 0xF138, 0x061A, 0xF135, 0x0614, 0xF133,
0x060E, 0xF131, 0x0608, 0xF12E, 0x0602, 0xF12C, 0x05FD, 0xF12A, 0x05F7, 0xF127,
0x05F1, 0xF125, 0x05EB, 0xF123, 0x05E5, 0xF120, 0x05DF, 0xF11E, 0x05DA, 0xF11C,
0x05D4, 0xF119, 0x05CE, 0xF117, 0x05C8, 0xF115, 0x05C2, 0xF112, 0x05BC, 0xF110,
0x05B6, 0xF10E, 0x05B1, 0xF10C, 0x05AB, 0xF109, 0x05A5, 0xF107, 0x059F, 0xF105,
0x0599, 0xF103, 0x0593, 0xF101, 0x058D, 0xF0FE, 0x0587, 0xF0FC, 0x0581, 0xF0FA,
0x057C, 0xF0F8, 0x0576, 0xF0F6, 0x0570, 0xF0F4, 0x056A, 0xF0F2, 0x0564, 0xF0EF,
0x055E, 0xF0ED, 0x0558, 0xF0EB, 0x0552, 0xF0E9, 0x054C, 0xF0E7, 0x0546, 0xF0E5,
0x0540, 0xF0E3, 0x053A, 0xF0E1, 0x0534, 0xF0DF, 0x052F, 0xF0DD, 0x0529, 0xF0DB,
0x0523, 0xF0D9, 0x051D, 0xF0D7, 0x0517, 0xF0D5, 0x0511, 0xF0D3, 0x050B, 0xF0D1,
0x0505, 0xF0CF, 0x04FF, 0xF0CD, 0x04F9, 0xF0CB, 0x04F3, 0xF0C9, 0x04ED, 0xF0C7,
0x04E7, 0xF0C5, 0x04E1, 0xF0C3, 0x04DB, 0xF0C1, 0x04D5, 0xF0BF, 0x04CF, 0xF0BD,
0x04C9, 0xF0BB, 0x04C3, 0xF0BA, 0x04BD, 0xF0B8, 0x04B7, 0xF0B6, 0x04B1, 0xF0B4,
0x04AB, 0xF0B2, 0x04A5, 0xF0B0, 0x049F, 0xF0AF, 0x0499, 0xF0AD, 0x0493, 0xF0AB,
0x048D, 0xF0A9, 0x0487, 0xF0A7, 0x0481, 0xF0A6, 0x047B, 0xF0A4, 0x0475, 0xF0A2,
0x046F, 0xF0A0, 0x0469, 0xF09F, 0x0463, 0xF09D, 0x045D, 0xF09B, 0x0457, 0xF099,
0x0451, 0xF098, 0x044B, 0xF096, 0x0444, 0xF094, 0x043E, 0xF093, 0x0438, 0xF091,
0x0432, 0xF08F, 0x042C, 0xF08E, 0x0426, 0xF08C, 0x0420, 0xF08A, 0x041A, 0xF089,
0x0414, 0xF087, 0x040E, 0xF086, 0x0408, 0xF084, 0x0402, 0xF083, 0x03FC, 0xF081,
0x03F6, 0xF07F, 0x03EF, 0xF07E, 0x03E9, 0xF07C, 0x03E3, 0xF07B, 0x03DD, 0xF079,
0x03D7, 0xF078, 0x03D1, 0xF076, 0x03CB, 0xF075, 0x03C5, 0xF073, 0x03BF, 0xF072,
0x03B9, 0xF070, 0x03B2, 0xF06F, 0x03AC, 0xF06D, 0x03A6, 0xF06C, 0x03A0, 0xF06B,
0x039A, 0xF069, 0x0394, 0xF068, 0x038E, 0xF066, 0x0388, 0xF065, 0x0381, 0xF064,
0x037B, 0xF062, 0x0375, 0xF061, 0x036F, 0xF05F, 0x0369, 0xF05E, 0x0363, 0xF05D,
0x035D, 0xF05B, 0x0356, 0xF05A, 0x0350, 0xF059, 0x034A, 0xF058, 0x0344, 0xF056,
0x033E, 0xF055, 0x0338, 0xF054, 0x0332, 0xF052, 0x032B, 0xF051, 0x0325, 0xF050,
0x031F, 0xF04F, 0x0319, 0xF04D, 0x0313, 0xF04C, 0x030D, 0xF04B, 0x0306, 0xF04A,
0x0300, 0xF049, 0x02FA, 0xF048, 0x02F4, 0xF046, 0x02EE, 0xF045, 0x02E8, 0xF044,
0x02E1, 0xF043, 0x02DB, 0xF042, 0x02D5, 0xF041, 0x02CF, 0xF040, 0x02C9, 0xF03E,
0x02C2, 0xF03D, 0x02BC, 0xF03C, 0x02B6, 0xF03B, 0x02B0, 0xF03A, 0x02AA, 0xF039,
0x02A3, 0xF038, 0x029D, 0xF037, 0x0297, 0xF036, 0x0291, 0xF035, 0x028B, 0xF034,
0x0284, 0xF033, 0x027E, 0xF032, 0x0278, 0xF031, 0x0272, 0xF030, 0x026C, 0xF02F,
0x0265, 0xF02E, 0x025F, 0xF02D, 0x0259, 0xF02C, 0x0253, 0xF02B, 0x024D, 0xF02B,
0x0246, 0xF02A, 0x0240, 0xF029, 0x023A, 0xF028, 0x0234, 0xF027, 0x022D, 0xF026,
0x0227, 0xF025, 0x0221, 0xF024, 0x021B, 0xF024, 0x0215, 0xF023, 0x020E, 0xF022,
0x0208, 0xF021, 0x0202, 0xF020, 0x01FC, 0xF020, 0x01F5, 0xF01F, 0x01EF, 0xF01E,
0x01E9, 0xF01D, 0x01E3, 0xF01D, 0x01DC, 0xF01C, 0x01D6, 0xF01B, 0x01D0, 0xF01A,
0x01CA, 0xF01A, 0x01C3, 0xF019, 0x01BD, 0xF018, 0x01B7, 0xF018, 0x01B1, 0xF017,
0x01AA, 0xF016, 0x01A4, 0xF016, 0x019E, 0xF015, 0x0198, 0xF014, 0x0191, 0xF014,
0x018B, 0xF013, 0x0185, 0xF013, 0x017F, 0xF012, 0x0178, 0xF011, 0x0172, 0xF011,
0x016C, 0xF010, 0x0166, 0xF010, 0x015F, 0xF00F, 0x0159, 0xF00F, 0x0153, 0xF00E,
0x014D, 0xF00E, 0x0146, 0xF00D, 0x0140, 0xF00D, 0x013A, 0xF00C, 0x0134, 0xF00C,
0x012D, 0xF00B, 0x0127, 0xF00B, 0x0121, 0xF00A, 0x011B, 0xF00A, 0x0114, 0xF009,
0x010E, 0xF009, 0x0108, 0xF008, 0x0101, 0xF008, 0x00FB, 0xF008, 0x00F5, 0xF007,
0x00EF, 0xF007, 0x00E8, 0xF007, 0x00E2, 0xF006, 0x00DC, 0xF006, 0x00D6, 0xF006,
0x00CF, 0xF005, 0x00C9, 0xF005, 0x00C3, 0xF005, 0x00BC, 0xF004, 0x00B6, 0xF004,
0x00B0, 0xF004, 0x00AA, 0xF004, 0x00A3, 0xF003, 0x009D, 0xF003, 0x0097, 0xF003,
0x0090, 0xF003, 0x008A, 0xF002, 0x0084, 0xF002, 0x007E, 0xF002, 0x0077, 0xF002,
0x0071, 0xF002, 0x006B, 0xF001, 0x0065, 0xF001, 0x005E, 0xF001, 0x0058, 0xF001,
0x0052, 0xF001, 0x004B, 0xF001, 0x0045, 0xF001, 0x003F, 0xF000, 0x0039, 0xF000,
0x0032, 0xF000, 0x002C, 0xF000, 0x0026, 0xF000, 0x001F, 0xF000, 0x0019, 0xF000,
0x0013, 0xF000, 0x000D, 0xF000, 0x0006, 0xF000, 0x0000, 0xF000, 0xFFFA, 0xF000,
0xFFF3, 0xF000, 0xFFED, 0xF000, 0xFFE7, 0xF000, 0xFFE1, 0xF000, 0xFFDA, 0xF000,
0xFFD4, 0xF000, 0xFFCE, 0xF000, 0xFFC7, 0xF000, 0xFFC1, 0xF000, 0xFFBB, 0xF001,
0xFFB5, 0xF001, 0xFFAE, 0xF001, 0xFFA8, 0xF001, 0xFFA2, 0xF001, 0xFF9B, 0xF001,
0xFF95, 0xF001, 0xFF8F, 0xF002, 0xFF89, 0xF002, 0xFF82, 0xF002, 0xFF7C, 0xF002,
0xFF76, 0xF002, 0xFF70, 0xF003, 0xFF69, 0xF003, 0xFF63, 0xF003, 0xFF5D, 0xF003,
0xFF56, 0xF004, 0xFF50, 0xF004, 0xFF4A, 0xF004, 0xFF44, 0xF004, 0xFF3D, 0xF005,
0xFF37, 0xF005, 0xFF31, 0xF005, 0xFF2A, 0xF006, 0xFF24, 0xF006, 0xFF1E, 0xF006,
0xFF18, 0xF007, 0xFF11, 0xF007, 0xFF0B, 0xF007, 0xFF05, 0xF008, 0xFEFF, 0xF008,
0xFEF8, 0xF008, 0xFEF2, 0xF009, 0xFEEC, 0xF009, 0xFEE5, 0xF00A, 0xFEDF, 0xF00A,
0xFED9, 0xF00B, 0xFED3, 0xF00B, 0xFECC, 0xF00C, 0xFEC6, 0xF00C, 0xFEC0, 0xF00D,
0xFEBA, 0xF00D, 0xFEB3, 0xF00E, 0xFEAD, 0xF00E, 0xFEA7, 0xF00F, 0xFEA1, 0xF00F,
0xFE9A, 0xF010, 0xFE94, 0xF010, 0xFE8E, 0xF011, 0xFE88, 0xF011, 0xFE81, 0xF012,
0xFE7B, 0xF013, 0xFE75, 0xF013, 0xFE6F, 0xF014, 0xFE68, 0xF014, 0xFE62, 0xF015,
0xFE5C, 0xF016, 0xFE56, 0xF016, 0xFE4F, 0xF017, 0xFE49, 0xF018, 0xFE43, 0xF018,
0xFE3D, 0xF019, 0xFE36, 0xF01A, 0xFE30, 0xF01A, 0xFE2A, 0xF01B, 0xFE24, 0xF01C,
0xFE1D, 0xF01D, 0xFE17, 0xF01D, 0xFE11, 0xF01E, 0xFE0B, 0xF01F, 0xFE04, 0xF020,
0xFDFE, 0xF020, 0xFDF8, 0xF021, 0xFDF2, 0xF022, 0xFDEB, 0xF023, 0xFDE5, 0xF024,
0xFDDF, 0xF024, 0xFDD9, 0xF025, 0xFDD3, 0xF026, 0xFDCC, 0xF027, 0xFDC6, 0xF028,
0xFDC0, 0xF029, 0xFDBA, 0xF02A, 0xFDB3, 0xF02B, 0xFDAD, 0xF02B, 0xFDA7, 0xF02C,
0xFDA1, 0xF02D, 0xFD9B, 0xF02E, 0xFD94, 0xF02F, 0xFD8E, 0xF030, 0xFD88, 0xF031,
0xFD82, 0xF032, 0xFD7C, 0xF033, 0xFD75, 0xF034, 0xFD6F, 0xF035, 0xFD69, 0xF036,
0xFD63, 0xF037, 0xFD5D, 0xF038, 0xFD56, 0xF039, 0xFD50, 0xF03A, 0xFD4A, 0xF03B,
0xFD44, 0xF03C, 0xFD3E, 0xF03D, 0xFD37, 0xF03E, 0xFD31, 0xF040, 0xFD2B, 0xF041,
0xFD25, 0xF042, 0xFD1F, 0xF043, 0xFD18, 0xF044, 0xFD12, 0xF045, 0xFD0C, 0xF046,
0xFD06, 0xF048, 0xFD00, 0xF049, 0xFCFA, 0xF04A, 0xFCF3, 0xF04B, 0xFCED, 0xF04C,
0xFCE7, 0xF04D, 0xFCE1, 0xF04F, 0xFCDB, 0xF050, 0xFCD5, 0xF051, 0xFCCE, 0xF052,
0xFCC8, 0xF054, 0xFCC2, 0xF055, 0xFCBC, 0xF056, 0xFCB6, 0xF058, 0xFCB0, 0xF059,
0xFCAA, 0xF05A, 0xFCA3, 0xF05B, 0xFC9D, 0xF05D, 0xFC97, 0xF05E, 0xFC91, 0xF05F,
0xFC8B, 0xF061, 0xFC85, 0xF062, 0xFC7F, 0xF064, 0xFC78, 0xF065, 0xFC72, 0xF066,
0xFC6C, 0xF068, 0xFC66, 0xF069, 0xFC60, 0xF06B, 0xFC5A, 0xF06C, 0xFC54, 0xF06D,
0xFC4E, 0xF06F, 0xFC47, 0xF070, 0xFC41, 0xF072, 0xFC3B, 0xF073, 0xFC35, 0xF075,
0xFC2F, 0xF076, 0xFC29, 0xF078, 0xFC23, 0xF079, 0xFC1D, 0xF07B, 0xFC17, 0xF07C,
0xFC11, 0xF07E, 0xFC0A, 0xF07F, 0xFC04, 0xF081, 0xFBFE, 0xF083, 0xFBF8, 0xF084,
0xFBF2, 0xF086, 0xFBEC, 0xF087, 0xFBE6, 0xF089, 0xFBE0, 0xF08A, 0xFBDA, 0xF08C,
0xFBD4, 0xF08E, 0xFBCE, 0xF08F, 0xFBC8, 0xF091, 0xFBC2, 0xF093, 0xFBBC, 0xF094,
0xFBB5, 0xF096, 0xFBAF, 0xF098, 0xFBA9, 0xF099, 0xFBA3, 0xF09B, 0xFB9D, 0xF09D,
0xFB97, 0xF09F, 0xFB91, 0xF0A0, 0xFB8B, 0xF0A2, 0xFB85, 0xF0A4, 0xFB7F, 0xF0A6,
0xFB79, 0xF0A7, 0xFB73, 0xF0A9, 0xFB6D, 0xF0AB, 0xFB67, 0xF0AD, 0xFB61, 0xF0AF,
0xFB5B, 0xF0B0, 0xFB55, 0xF0B2, 0xFB4F, 0xF0B4, 0xFB49, 0xF0B6, 0xFB43, 0xF0B8,
0xFB3D, 0xF0BA, 0xFB37, 0xF0BB, 0xFB31, 0xF0BD, 0xFB2B, 0xF0BF, 0xFB25, 0xF0C1,
0xFB1F, 0xF0C3, 0xFB19, 0xF0C5, 0xFB13, 0xF0C7, 0xFB0D, 0xF0C9, 0xFB07, 0xF0CB,
0xFB01, 0xF0CD, 0xFAFB, 0xF0CF, 0xFAF5, 0xF0D1, 0xFAEF, 0xF0D3, 0xFAE9, 0xF0D5,
0xFAE3, 0xF0D7, 0xFADD, 0xF0D9, 0xFAD7, 0xF0DB, 0xFAD1, 0xF0DD, 0xFACC, 0xF0DF,
0xFAC6, 0xF0E1, 0xFAC0, 0xF0E3, 0xFABA, 0xF0E5, 0xFAB4, 0xF0E7, 0xFAAE, 0xF0E9,
0xFAA8, 0xF0EB, 0xFAA2, 0xF0ED, 0xFA9C, 0xF0EF, 0xFA96, 0xF0F2, 0xFA90, 0xF0F4,
0xFA8A, 0xF0F6, 0xFA84, 0xF0F8, 0xFA7F, 0xF0FA, 0xFA79, 0xF0FC, 0xFA73, 0xF0FE,
0xFA6D, 0xF101, 0xFA67, 0xF103, 0xFA61, 0xF105, 0xFA5B, 0xF107, 0xFA55, 0xF109,
0xFA4F, 0xF10C, 0xFA4A, 0xF10E, 0xFA44, 0xF110, 0xFA3E, 0xF112, 0xFA38, 0xF115,
0xFA32, 0xF117, 0xFA2C, 0xF119, 0xFA26, 0xF11C, 0xFA21, 0xF11E, 0xFA1B, 0xF120,
0xFA15, 0xF123, 0xFA0F, 0xF125, 0xFA09, 0xF127, 0xFA03, 0xF12A, 0xF9FE, 0xF12C,
0xF9F8, 0xF12E, 0xF9F2, 0xF131, 0xF9EC, 0xF133, 0xF9E6, 0xF135, 0xF9E1, 0xF138,
0xF9DB, 0xF13A, 0xF9D5, 0xF13D, 0xF9CF, 0xF13F, 0xF9C9, 0xF141, 0xF9C4, 0xF144,
0xF9BE, 0xF146, 0xF9B8, 0xF149, 0xF9B2, 0xF14B, 0xF9AC, 0xF14E, 0xF9A7, 0xF150,
0xF9A1, 0xF153, 0xF99B, 0xF155, 0xF995, 0xF158, 0xF990, 0xF15A, 0xF98A, 0xF15D,
0xF984, 0xF15F, 0xF97E, 0xF162, 0xF979, 0xF165, 0xF973, 0xF167, 0xF96D, 0xF16A,
0xF967, 0xF16C, 0xF962, 0xF16F, 0xF95C, 0xF171, 0xF956, 0xF174, 0xF951, 0xF177,
0xF94B, 0xF179, 0xF945, 0xF17C, 0xF93F, 0xF17F, 0xF93A, 0xF181, 0xF934, 0xF184,
0xF92E, 0xF187, 0xF929, 0xF189, 0xF923, 0xF18C, 0xF91D, 0xF18F, 0xF918, 0xF191,
0xF912, 0xF194, 0xF90C, 0xF197, 0xF907, 0xF19A, 0xF901, 0xF19C, 0xF8FB, 0xF19F,
0xF8F6, 0xF1A2, 0xF8F0, 0xF1A5, 0xF8EB, 0xF1A7, 0xF8E5, 0xF1AA, 0xF8DF, 0xF1AD,
0xF8DA, 0xF1B0, 0xF8D4, 0xF1B3, 0xF8CE, 0xF1B5, 0xF8C9, 0xF1B8, 0xF8C3, 0xF1BB,
0xF8BE, 0xF1BE, 0xF8B8, 0xF1C1, 0xF8B2, 0xF1C4, 0xF8AD, 0xF1C6, 0xF8A7, 0xF1C9,
0xF8A2, 0xF1CC, 0xF89C, 0xF1CF, 0xF896, 0xF1D2, 0xF891, 0xF1D5, 0xF88B, 0xF1D8,
0xF886, 0xF1DB, 0xF880, 0xF1DE, 0xF87B, 0xF1E1, 0xF875, 0xF1E4, 0xF870, 0xF1E7,
0xF86A, 0xF1EA, 0xF865, 0xF1ED, 0xF85F, 0xF1F0, 0xF85A, 0xF1F3, 0xF854, 0xF1F6,
0xF84E, 0xF1F9, 0xF849, 0xF1FC, 0xF843, 0xF1FF, 0xF83E, 0xF202, 0xF838, 0xF205,
0xF833, 0xF208, 0xF82E, 0xF20B, 0xF828, 0xF20E, 0xF823, 0xF211, 0xF81D, 0xF214,
0xF818, 0xF217, 0xF812, 0xF21A, 0xF80D, 0xF21D, 0xF807, 0xF221, 0xF802, 0xF224,
0xF7FC, 0xF227, 0xF7F7, 0xF22A, 0xF7F2, 0xF22D, 0xF7EC, 0xF230, 0xF7E7, 0xF234,
0xF7E1, 0xF237, 0xF7DC, 0xF23A, 0xF7D6, 0xF23D, 0xF7D1, 0xF240, 0xF7CC, 0xF244,
0xF7C6, 0xF247, 0xF7C1, 0xF24A, 0xF7BB, 0xF24D, 0xF7B6, 0xF250, 0xF7B1, 0xF254,
0xF7AB, 0xF257, 0xF7A6, 0xF25A, 0xF7A1, 0xF25E, 0xF79B, 0xF261, 0xF796, 0xF264,
0xF791, 0xF267, 0xF78B, 0xF26B, 0xF786, 0xF26E, 0xF781, 0xF271, 0xF77B, 0xF275,
0xF776, 0xF278, 0xF771, 0xF27B, 0xF76B, 0xF27F, 0xF766, 0xF282, 0xF761, 0xF286,
0xF75B, 0xF289, 0xF756, 0xF28C, 0xF751, 0xF290, 0xF74C, 0xF293, 0xF746, 0xF297,
0xF741, 0xF29A, 0xF73C, 0xF29E, 0xF737, 0xF2A1, 0xF731, 0xF2A4, 0xF72C, 0xF2A8,
0xF727, 0xF2AB, 0xF722, 0xF2AF, 0xF71C, 0xF2B2, 0xF717, 0xF2B6, 0xF712, 0xF2B9,
0xF70D, 0xF2BD, 0xF708, 0xF2C0, 0xF702, 0xF2C4, 0xF6FD, 0xF2C7, 0xF6F8, 0xF2CB,
0xF6F3, 0xF2CE, 0xF6EE, 0xF2D2, 0xF6E8, 0xF2D6, 0xF6E3, 0xF2D9, 0xF6DE, 0xF2DD,
0xF6D9, 0xF2E0, 0xF6D4, 0xF2E4, 0xF6CF, 0xF2E8, 0xF6C9, 0xF2EB, 0xF6C4, 0xF2EF,
0xF6BF, 0xF2F2, 0xF6BA, 0xF2F6, 0xF6B5, 0xF2FA, 0xF6B0, 0xF2FD, 0xF6AB, 0xF301,
0xF6A6, 0xF305, 0xF6A1, 0xF308, 0xF69B, 0xF30C, 0xF696, 0xF310, 0xF691, 0xF313,
0xF68C, 0xF317, 0xF687, 0xF31B, 0xF682, 0xF31F, 0xF67D, 0xF322, 0xF678, 0xF326,
0xF673, 0xF32A, 0xF66E, 0xF32E, 0xF669, 0xF331, 0xF664, 0xF335, 0xF65F, 0xF339,
0xF65A, 0xF33D, 0xF655, 0xF340, 0xF650, 0xF344, 0xF64B, 0xF348, 0xF646, 0xF34C,
0xF641, 0xF350, 0xF63C, 0xF354, 0xF637, 0xF357, 0xF632, 0xF35B, 0xF62D, 0xF35F,
0xF628, 0xF363, 0xF623, 0xF367, 0xF61E, 0xF36B, 0xF619, 0xF36F, 0xF614, 0xF372,
0xF60F, 0xF376, 0xF60A, 0xF37A, 0xF605, 0xF37E, 0xF601, 0xF382, 0xF5FC, 0xF386,
0xF5F7, 0xF38A, 0xF5F2, 0xF38E, 0xF5ED, 0xF392, 0xF5E8, 0xF396, 0xF5E3, 0xF39A,
0xF5DE, 0xF39E, 0xF5DA, 0xF3A2, 0xF5D5, 0xF3A6, 0xF5D0, 0xF3AA, 0xF5CB, 0xF3AE,
0xF5C6, 0xF3B2, 0xF5C1, 0xF3B6, 0xF5BC, 0xF3BA, 0xF5B8, 0xF3BE, 0xF5B3, 0xF3C2,
0xF5AE, 0xF3C6, 0xF5A9, 0xF3CA, 0xF5A4, 0xF3CE, 0xF5A0, 0xF3D2, 0xF59B, 0xF3D6,
0xF596, 0xF3DA, 0xF591, 0xF3DE, 0xF58D, 0xF3E2, 0xF588, 0xF3E7, 0xF583, 0xF3EB,
0xF57E, 0xF3EF, 0xF57A, 0xF3F3, 0xF575, 0xF3F7, 0xF570, 0xF3FB, 0xF56B, 0xF3FF,
0xF567, 0xF404, 0xF562, 0xF408, 0xF55D, 0xF40C, 0xF559, 0xF410, 0xF554, 0xF414,
0xF54F, 0xF418, 0xF54B, 0xF41D, 0xF546, 0xF421, 0xF541, 0xF425, 0xF53D, 0xF429,
0xF538, 0xF42E, 0xF533, 0xF432, 0xF52F, 0xF436, 0xF52A, 0xF43A, 0xF525, 0xF43F,
0xF521, 0xF443, 0xF51C, 0xF447, 0xF518, 0xF44B, 0xF513, 0xF450, 0xF50E, 0xF454,
0xF50A, 0xF458, 0xF505, 0xF45D, 0xF501, 0xF461, 0xF4FC, 0xF465, 0xF4F8, 0xF469,
0xF4F3, 0xF46E, 0xF4EF, 0xF472, 0xF4EA, 0xF477, 0xF4E5, 0xF47B, 0xF4E1, 0xF47F,
0xF4DC, 0xF484, 0xF4D8, 0xF488, 0xF4D3, 0xF48C, 0xF4CF, 0xF491, 0xF4CA, 0xF495,
0xF4C6, 0xF49A, 0xF4C2, 0xF49E, 0xF4BD, 0xF4A2, 0xF4B9, 0xF4A7, 0xF4B4, 0xF4AB,
0xF4B0, 0xF4B0, 0xF4AB, 0xF4B4, 0xF4A7, 0xF4B9, 0xF4A2, 0xF4BD, 0xF49E, 0xF4C2,
0xF49A, 0xF4C6, 0xF495, 0xF4CA, 0xF491, 0xF4CF, 0xF48C, 0xF4D3, 0xF488, 0xF4D8,
0xF484, 0xF4DC, 0xF47F, 0xF4E1, 0xF47B, 0xF4E5, 0xF477, 0xF4EA, 0xF472, 0xF4EF,
0xF46E, 0xF4F3, 0xF469, 0xF4F8, 0xF465, 0xF4FC, 0xF461, 0xF501, 0xF45D, 0xF505,
0xF458, 0xF50A, 0xF454, 0xF50E, 0xF450, 0xF513, 0xF44B, 0xF518, 0xF447, 0xF51C,
0xF443, 0xF521, 0xF43F, 0xF525, 0xF43A, 0xF52A, 0xF436, 0xF52F, 0xF432, 0xF533,
0xF42E, 0xF538, 0xF429, 0xF53D, 0xF425, 0xF541, 0xF421, 0xF546, 0xF41D, 0xF54B,
0xF418, 0xF54F, 0xF414, 0xF554, 0xF410, 0xF559, 0xF40C, 0xF55D, 0xF408, 0xF562,
0xF404, 0xF567, 0xF3FF, 0xF56B, 0xF3FB, 0xF570, 0xF3F7, 0xF575, 0xF3F3, 0xF57A,
0xF3EF, 0xF57E, 0xF3EB, 0xF583, 0xF3E7, 0xF588, 0xF3E2, 0xF58D, 0xF3DE, 0xF591,
0xF3DA, 0xF596, 0xF3D6, 0xF59B, 0xF3D2, 0xF5A0, 0xF3CE, 0xF5A4, 0xF3CA, 0xF5A9,
0xF3C6, 0xF5AE, 0xF3C2, 0xF5B3, 0xF3BE, 0xF5B8, 0xF3BA, 0xF5BC, 0xF3B6, 0xF5C1,
0xF3B2, 0xF5C6, 0xF3AE, 0xF5CB, 0xF3AA, 0xF5D0, 0xF3A6, 0xF5D5, 0xF3A2, 0xF5DA,
0xF39E, 0xF5DE, 0xF39A, 0xF5E3, 0xF396, 0xF5E8, 0xF392, 0xF5ED, 0xF38E, 0xF5F2,
0xF38A, 0xF5F7, 0xF386, 0xF5FC, 0xF382, 0xF601, 0xF37E, 0xF605, 0xF37A, 0xF60A,
0xF376, 0xF60F, 0xF372, 0xF614, 0xF36F, 0xF619, 0xF36B, 0xF61E, 0xF367, 0xF623,
0xF363, 0xF628, 0xF35F, 0xF62D, 0xF35B, 0xF632, 0xF357, 0xF637, 0xF354, 0xF63C,
0xF350, 0xF641, 0xF34C, 0xF646, 0xF348, 0xF64B, 0xF344, 0xF650, 0xF340, 0xF655,
0xF33D, 0xF65A, 0xF339, 0xF65F, 0xF335, 0xF664, 0xF331, 0xF669, 0xF32E, 0xF66E,
0xF32A, 0xF673, 0xF326, 0xF678, 0xF322, 0xF67D, 0xF31F, 0xF682, 0xF31B, 0xF687,
0xF317, 0xF68C, 0xF313, 0xF691, 0xF310, 0xF696, 0xF30C, 0xF69B, 0xF308, 0xF6A1,
0xF305, 0xF6A6, 0xF301, 0xF6AB, 0xF2FD, 0xF6B0, 0xF2FA, 0xF6B5, 0xF2F6, 0xF6BA,
0xF2F2, 0xF6BF, 0xF2EF, 0xF6C4, 0xF2EB, 0xF6C9, 0xF2E8, 0xF6CF, 0xF2E4, 0xF6D4,
0xF2E0, 0xF6D9, 0xF2DD, 0xF6DE, 0xF2D9, 0xF6E3, 0xF2D6, 0xF6E8, 0xF2D2, 0xF6EE,
0xF2CE, 0xF6F3, 0xF2CB, 0xF6F8, 0xF2C7, 0xF6FD, 0xF2C4, 0xF702, 0xF2C0, 0xF708,
0xF2BD, 0xF70D, 0xF2B9, 0xF712, 0xF2B6, 0xF717, 0xF2B2, 0xF71C, 0xF2AF, 0xF722,
0xF2AB, 0xF727, 0xF2A8, 0xF72C, 0xF2A4, 0xF731, 0xF2A1, 0xF737, 0xF29E, 0xF73C,
0xF29A, 0xF741, 0xF297, 0xF746, 0xF293, 0xF74C, 0xF290, 0xF751, 0xF28C, 0xF756,
0xF289, 0xF75B, 0xF286, 0xF761, 0xF282, 0xF766, 0xF27F, 0xF76B, 0xF27B, 0xF771,
0xF278, 0xF776, 0xF275, 0xF77B, 0xF271, 0xF781, 0xF26E, 0xF786, 0xF26B, 0xF78B,
0xF267, 0xF791, 0xF264, 0xF796, 0xF261, 0xF79B, 0xF25E, 0xF7A1, 0xF25A, 0xF7A6,
0xF257, 0xF7AB, 0xF254, 0xF7B1, 0xF250, 0xF7B6, 0xF24D, 0xF7BB, 0xF24A, 0xF7C1,
0xF247, 0xF7C6, 0xF244, 0xF7CC, 0xF240, 0xF7D1, 0xF23D, 0xF7D6, 0xF23A, 0xF7DC,
0xF237, 0xF7E1, 0xF234, 0xF7E7, 0xF230, 0xF7EC, 0xF22D, 0xF7F2, 0xF22A, 0xF7F7,
0xF227, 0xF7FC, 0xF224, 0xF802, 0xF221, 0xF807, 0xF21D, 0xF80D, 0xF21A, 0xF812,
0xF217, 0xF818, 0xF214, 0xF81D, 0xF211, 0xF823, 0xF20E, 0xF828, 0xF20B, 0xF82E,
0xF208, 0xF833, 0xF205, 0xF838, 0xF202, 0xF83E, 0xF1FF, 0xF843, 0xF1FC, 0xF849,
0xF1F9, 0xF84E, 0xF1F6, 0xF854, 0xF1F3, 0xF85A, 0xF1F0, 0xF85F, 0xF1ED, 0xF865,
0xF1EA, 0xF86A, 0xF1E7, 0xF870, 0xF1E4, 0xF875, 0xF1E1, 0xF87B, 0xF1DE, 0xF880,
0xF1DB, 0xF886, 0xF1D8, 0xF88B, 0xF1D5, 0xF891, 0xF1D2, 0xF896, 0xF1CF, 0xF89C,
0xF1CC, 0xF8A2, 0xF1C9, 0xF8A7, 0xF1C6, 0xF8AD, 0xF1C4, 0xF8B2, 0xF1C1, 0xF8B8,
0xF1BE, 0xF8BE, 0xF1BB, 0xF8C3, 0xF1B8, 0xF8C9, 0xF1B5, 0xF8CE, 0xF1B3, 0xF8D4,
0xF1B0, 0xF8DA, 0xF1AD, 0xF8DF, 0xF1AA, 0xF8E5, 0xF1A7, 0xF8EB, 0xF1A5, 0xF8F0,
0xF1A2, 0xF8F6, 0xF19F, 0xF8FB, 0xF19C, 0xF901, 0xF19A, 0xF907, 0xF197, 0xF90C,
0xF194, 0xF912, 0xF191, 0xF918, 0xF18F, 0xF91D, 0xF18C, 0xF923, 0xF189, 0xF929,
0xF187, 0xF92E, 0xF184, 0xF934, 0xF181, 0xF93A, 0xF17F, 0xF93F, 0xF17C, 0xF945,
0xF179, 0xF94B, 0xF177, 0xF951, 0xF174, 0xF956, 0xF171, 0xF95C, 0xF16F, 0xF962,
0xF16C, 0xF967, 0xF16A, 0xF96D, 0xF167, 0xF973, 0xF165, 0xF979, 0xF162, 0xF97E,
0xF15F, 0xF984, 0xF15D, 0xF98A, 0xF15A, 0xF990, 0xF158, 0xF995, 0xF155, 0xF99B,
0xF153, 0xF9A1, 0xF150, 0xF9A7, 0xF14E, 0xF9AC, 0xF14B, 0xF9B2, 0xF149, 0xF9B8,
0xF146, 0xF9BE, 0xF144, 0xF9C4, 0xF141, 0xF9C9, 0xF13F, 0xF9CF, 0xF13D, 0xF9D5,
0xF13A, 0xF9DB, 0xF138, 0xF9E1, 0xF135, 0xF9E6, 0xF133, 0xF9EC, 0xF131, 0xF9F2,
0xF12E, 0xF9F8, 0xF12C, 0xF9FE, 0xF12A, 0xFA03, 0xF127, 0xFA09, 0xF125, 0xFA0F,
0xF123, 0xFA15, 0xF120, 0xFA1B, 0xF11E, 0xFA21, 0xF11C, 0xFA26, 0xF119, 0xFA2C,
0xF117, 0xFA32, 0xF115, 0xFA38, 0xF112, 0xFA3E, 0xF110, 0xFA44, 0xF10E, 0xFA4A,
0xF10C, 0xFA4F, 0xF109, 0xFA55, 0xF107, 0xFA5B, 0xF105, 0xFA61, 0xF103, 0xFA67,
0xF101, 0xFA6D, 0xF0FE, 0xFA73, 0xF0FC, 0xFA79, 0xF0FA, 0xFA7F, 0xF0F8, 0xFA84,
0xF0F6, 0xFA8A, 0xF0F4, 0xFA90, 0xF0F2, 0xFA96, 0xF0EF, 0xFA9C, 0xF0ED, 0xFAA2,
0xF0EB, 0xFAA8, 0xF0E9, 0xFAAE, 0xF0E7, 0xFAB4, 0xF0E5, 0xFABA, 0xF0E3, 0xFAC0,
0xF0E1, 0xFAC6, 0xF0DF, 0xFACC, 0xF0DD, 0xFAD1, 0xF0DB, 0xFAD7, 0xF0D9, 0xFADD,
0xF0D7, 0xFAE3, 0xF0D5, 0xFAE9, 0xF0D3, 0xFAEF, 0xF0D1, 0xFAF5, 0xF0CF, 0xFAFB,
0xF0CD, 0xFB01, 0xF0CB, 0xFB07, 0xF0C9, 0xFB0D, 0xF0C7, 0xFB13, 0xF0C5, 0xFB19,
0xF0C3, 0xFB1F, 0xF0C1, 0xFB25, 0xF0BF, 0xFB2B, 0xF0BD, 0xFB31, 0xF0BB, 0xFB37,
0xF0BA, 0xFB3D, 0xF0B8, 0xFB43, 0xF0B6, 0xFB49, 0xF0B4, 0xFB4F, 0xF0B2, 0xFB55,
0xF0B0, 0xFB5B, 0xF0AF, 0xFB61, 0xF0AD, 0xFB67, 0xF0AB, 0xFB6D, 0xF0A9, 0xFB73,
0xF0A7, 0xFB79, 0xF0A6, 0xFB7F, 0xF0A4, 0xFB85, 0xF0A2, 0xFB8B, 0xF0A0, 0xFB91,
0xF09F, 0xFB97, 0xF09D, 0xFB9D, 0xF09B, 0xFBA3, 0xF099, 0xFBA9, 0xF098, 0xFBAF,
0xF096, 0xFBB5, 0xF094, 0xFBBC, 0xF093, 0xFBC2, 0xF091, 0xFBC8, 0xF08F, 0xFBCE,
0xF08E, 0xFBD4, 0xF08C, 0xFBDA, 0xF08A, 0xFBE0, 0xF089, 0xFBE6, 0xF087, 0xFBEC,
0xF086, 0xFBF2, 0xF084, 0xFBF8, 0xF083, 0xFBFE, 0xF081, 0xFC04, 0xF07F, 0xFC0A,
0xF07E, 0xFC11, 0xF07C, 0xFC17, 0xF07B, 0xFC1D, 0xF079, 0xFC23, 0xF078, 0xFC29,
0xF076, 0xFC2F, 0xF075, 0xFC35, 0xF073, 0xFC3B, 0xF072, 0xFC41, 0xF070, 0xFC47,
0xF06F, 0xFC4E, 0xF06D, 0xFC54, 0xF06C, 0xFC5A, 0xF06B, 0xFC60, 0xF069, 0xFC66,
0xF068, 0xFC6C, 0xF066, 0xFC72, 0xF065, 0xFC78, 0xF064, 0xFC7F, 0xF062, 0xFC85,
0xF061, 0xFC8B, 0xF05F, 0xFC91, 0xF05E, 0xFC97, 0xF05D, 0xFC9D, 0xF05B, 0xFCA3,
0xF05A, 0xFCAA, 0xF059, 0xFCB0, 0xF058, 0xFCB6, 0xF056, 0xFCBC, 0xF055, 0xFCC2,
0xF054, 0xFCC8, 0xF052, 0xFCCE, 0xF051, 0xFCD5, 0xF050, 0xFCDB, 0xF04F, 0xFCE1,
0xF04D, 0xFCE7, 0xF04C, 0xFCED, 0xF04B, 0xFCF3, 0xF04A, 0xFCFA, 0xF049, 0xFD00,
0xF048, 0xFD06, 0xF046, 0xFD0C, 0xF045, 0xFD12, 0xF044, 0xFD18, 0xF043, 0xFD1F,
0xF042, 0xFD25, 0xF041, 0xFD2B, 0xF040, 0xFD31, 0xF03E, 0xFD37, 0xF03D, 0xFD3E,
0xF03C, 0xFD44, 0xF03B, 0xFD4A, 0xF03A, 0xFD50, 0xF039, 0xFD56, 0xF038, 0xFD5D,
0xF037, 0xFD63, 0xF036, 0xFD69, 0xF035, 0xFD6F, 0xF034, 0xFD75, 0xF033, 0xFD7C,
0xF032, 0xFD82, 0xF031, 0xFD88, 0xF030, 0xFD8E, 0xF02F, 0xFD94, 0xF02E, 0xFD9B,
0xF02D, 0xFDA1, 0xF02C, 0xFDA7, 0xF02B, 0xFDAD, 0xF02B, 0xFDB3, 0xF02A, 0xFDBA,
0xF029, 0xFDC0, 0xF028, 0xFDC6, 0xF027, 0xFDCC, 0xF026, 0xFDD3, 0xF025, 0xFDD9,
0xF024, 0xFDDF, 0xF024, 0xFDE5, 0xF023, 0xFDEB, 0xF022, 0xFDF2, 0xF021, 0xFDF8,
0xF020, 0xFDFE, 0xF020, 0xFE04, 0xF01F, 0xFE0B, 0xF01E, 0xFE11, 0xF01D, 0xFE17,
0xF01D, 0xFE1D, 0xF01C, 0xFE24, 0xF01B, 0xFE2A, 0xF01A, 0xFE30, 0xF01A, 0xFE36,
0xF019, 0xFE3D, 0xF018, 0xFE43, 0xF018, 0xFE49, 0xF017, 0xFE4F, 0xF016, 0xFE56,
0xF016, 0xFE5C, 0xF015, 0xFE62, 0xF014, 0xFE68, 0xF014, 0xFE6F, 0xF013, 0xFE75,
0xF013, 0xFE7B, 0xF012, 0xFE81, 0xF011, 0xFE88, 0xF011, 0xFE8E, 0xF010, 0xFE94,
0xF010, 0xFE9A, 0xF00F, 0xFEA1, 0xF00F, 0xFEA7, 0xF00E, 0xFEAD, 0xF00E, 0xFEB3,
0xF00D, 0xFEBA, 0xF00D, 0xFEC0, 0xF00C, 0xFEC6, 0xF00C, 0xFECC, 0xF00B, 0xFED3,
0xF00B, 0xFED9, 0xF00A, 0xFEDF, 0xF00A, 0xFEE5, 0xF009, 0xFEEC, 0xF009, 0xFEF2,
0xF008, 0xFEF8, 0xF008, 0xFEFF, 0xF008, 0xFF05, 0xF007, 0xFF0B, 0xF007, 0xFF11,
0xF007, 0xFF18, 0xF006, 0xFF1E, 0xF006, 0xFF24, 0xF006, 0xFF2A, 0xF005, 0xFF31,
0xF005, 0xFF37, 0xF005, 0xFF3D, 0xF004, 0xFF44, 0xF004, 0xFF4A, 0xF004, 0xFF50,
0xF004, 0xFF56, 0xF003, 0xFF5D, 0xF003, 0xFF63, 0xF003, 0xFF69, 0xF003, 0xFF70,
0xF002, 0xFF76, 0xF002, 0xFF7C, 0xF002, 0xFF82, 0xF002, 0xFF89, 0xF002, 0xFF8F,
0xF001, 0xFF95, 0xF001, 0xFF9B, 0xF001, 0xFFA2, 0xF001, 0xFFA8, 0xF001, 0xFFAE,
0xF001, 0xFFB5, 0xF001, 0xFFBB, 0xF000, 0xFFC1, 0xF000, 0xFFC7, 0xF000, 0xFFCE,
0xF000, 0xFFD4, 0xF000, 0xFFDA, 0xF000, 0xFFE1, 0xF000, 0xFFE7, 0xF000, 0xFFED,
0xF000, 0xFFF3, 0xF000, 0xFFFA, 0xF000, 0x0000, 0xF000, 0x0006, 0xF000, 0x000D,
0xF000, 0x0013, 0xF000, 0x0019, 0xF000, 0x001F, 0xF000, 0x0026, 0xF000, 0x002C,
0xF000, 0x0032, 0xF000, 0x0039, 0xF000, 0x003F, 0xF001, 0x0045, 0xF001, 0x004B,
0xF001, 0x0052, 0xF001, 0x0058, 0xF001, 0x005E, 0xF001, 0x0065, 0xF001, 0x006B,
0xF002, 0x0071, 0xF002, 0x0077, 0xF002, 0x007E, 0xF002, 0x0084, 0xF002, 0x008A,
0xF003, 0x0090, 0xF003, 0x0097, 0xF003, 0x009D, 0xF003, 0x00A3, 0xF004, 0x00AA,
0xF004, 0x00B0, 0xF004, 0x00B6, 0xF004, 0x00BC, 0xF005, 0x00C3, 0xF005, 0x00C9,
0xF005, 0x00CF, 0xF006, 0x00D6, 0xF006, 0x00DC, 0xF006, 0x00E2, 0xF007, 0x00E8,
0xF007, 0x00EF, 0xF007, 0x00F5, 0xF008, 0x00FB, 0xF008, 0x0101, 0xF008, 0x0108,
0xF009, 0x010E, 0xF009, 0x0114, 0xF00A, 0x011B, 0xF00A, 0x0121, 0xF00B, 0x0127,
0xF00B, 0x012D, 0xF00C, 0x0134, 0xF00C, 0x013A, 0xF00D, 0x0140, 0xF00D, 0x0146,
0xF00E, 0x014D, 0xF00E, 0x0153, 0xF00F, 0x0159, 0xF00F, 0x015F, 0xF010, 0x0166,
0xF010, 0x016C, 0xF011, 0x0172, 0xF011, 0x0178, 0xF012, 0x017F, 0xF013, 0x0185,
0xF013, 0x018B, 0xF014, 0x0191, 0xF014, 0x0198, 0xF015, 0x019E, 0xF016, 0x01A4,
0xF016, 0x01AA, 0xF017, 0x01B1, 0xF018, 0x01B7, 0xF018, 0x01BD, 0xF019, 0x01C3,
0xF01A, 0x01CA, 0xF01A, 0x01D0, 0xF01B, 0x01D6, 0xF01C, 0x01DC, 0xF01D, 0x01E3,
0xF01D, 0x01E9, 0xF01E, 0x01EF, 0xF01F, 0x01F5, 0xF020, 0x01FC, 0xF020, 0x0202,
0xF021, 0x0208, 0xF022, 0x020E, 0xF023, 0x0215, 0xF024, 0x021B, 0xF024, 0x0221,
0xF025, 0x0227, 0xF026, 0x022D, 0xF027, 0x0234, 0xF028, 0x023A, 0xF029, 0x0240,
0xF02A, 0x0246, 0xF02B, 0x024D, 0xF02B, 0x0253, 0xF02C, 0x0259, 0xF02D, 0x025F,
0xF02E, 0x0265, 0xF02F, 0x026C, 0xF030, 0x0272, 0xF031, 0x0278, 0xF032, 0x027E,
0xF033, 0x0284, 0xF034, 0x028B, 0xF035, 0x0291, 0xF036, 0x0297, 0xF037, 0x029D,
0xF038, 0x02A3, 0xF039, 0x02AA, 0xF03A, 0x02B0, 0xF03B, 0x02B6, 0xF03C, 0x02BC,
0xF03D, 0x02C2, 0xF03E, 0x02C9, 0xF040, 0x02CF, 0xF041, 0x02D5, 0xF042, 0x02DB,
0xF043, 0x02E1, 0xF044, 0x02E8, 0xF045, 0x02EE, 0xF046, 0x02F4, 0xF048, 0x02FA,
0xF049, 0x0300, 0xF04A, 0x0306, 0xF04B, 0x030D, 0xF04C, 0x0313, 0xF04D, 0x0319,
0xF04F, 0x031F, 0xF050, 0x0325, 0xF051, 0x032B, 0xF052, 0x0332, 0xF054, 0x0338,
0xF055, 0x033E, 0xF056, 0x0344, 0xF058, 0x034A, 0xF059, 0x0350, 0xF05A, 0x0356,
0xF05B, 0x035D, 0xF05D, 0x0363, 0xF05E, 0x0369, 0xF05F, 0x036F, 0xF061, 0x0375,
0xF062, 0x037B, 0xF064, 0x0381, 0xF065, 0x0388, 0xF066, 0x038E, 0xF068, 0x0394,
0xF069, 0x039A, 0xF06B, 0x03A0, 0xF06C, 0x03A6, 0xF06D, 0x03AC, 0xF06F, 0x03B2,
0xF070, 0x03B9, 0xF072, 0x03BF, 0xF073, 0x03C5, 0xF075, 0x03CB, 0xF076, 0x03D1,
0xF078, 0x03D7, 0xF079, 0x03DD, 0xF07B, 0x03E3, 0xF07C, 0x03E9, 0xF07E, 0x03EF,
0xF07F, 0x03F6, 0xF081, 0x03FC, 0xF083, 0x0402, 0xF084, 0x0408, 0xF086, 0x040E,
0xF087, 0x0414, 0xF089, 0x041A, 0xF08A, 0x0420, 0xF08C, 0x0426, 0xF08E, 0x042C,
0xF08F, 0x0432, 0xF091, 0x0438, 0xF093, 0x043E, 0xF094, 0x0444, 0xF096, 0x044B,
0xF098, 0x0451, 0xF099, 0x0457, 0xF09B, 0x045D, 0xF09D, 0x0463, 0xF09F, 0x0469,
0xF0A0, 0x046F, 0xF0A2, 0x0475, 0xF0A4, 0x047B, 0xF0A6, 0x0481, 0xF0A7, 0x0487,
0xF0A9, 0x048D, 0xF0AB, 0x0493, 0xF0AD, 0x0499, 0xF0AF, 0x049F, 0xF0B0, 0x04A5,
0xF0B2, 0x04AB, 0xF0B4, 0x04B1, 0xF0B6, 0x04B7, 0xF0B8, 0x04BD, 0xF0BA, 0x04C3,
0xF0BB, 0x04C9, 0xF0BD, 0x04CF, 0xF0BF, 0x04D5, 0xF0C1, 0x04DB, 0xF0C3, 0x04E1,
0xF0C5, 0x04E7, 0xF0C7, 0x04ED, 0xF0C9, 0x04F3, 0xF0CB, 0x04F9, 0xF0CD, 0x04FF,
0xF0CF, 0x0505, 0xF0D1, 0x050B, 0xF0D3, 0x0511, 0xF0D5, 0x0517, 0xF0D7, 0x051D,
0xF0D9, 0x0523, 0xF0DB, 0x0529, 0xF0DD, 0x052F, 0xF0DF, 0x0534, 0xF0E1, 0x053A,
0xF0E3, 0x0540, 0xF0E5, 0x0546, 0xF0E7, 0x054C, 0xF0E9, 0x0552, 0xF0EB, 0x0558,
0xF0ED, 0x055E, 0xF0EF, 0x0564, 0xF0F2, 0x056A, 0xF0F4, 0x0570, 0xF0F6, 0x0576,
0xF0F8, 0x057C, 0xF0FA, 0x0581, 0xF0FC, 0x0587, 0xF0FE, 0x058D, 0xF101, 0x0593,
0xF103, 0x0599, 0xF105, 0x059F, 0xF107, 0x05A5, 0xF109, 0x05AB, 0xF10C, 0x05B1,
0xF10E, 0x05B6, 0xF110, 0x05BC, 0xF112, 0x05C2, 0xF115, 0x05C8, 0xF117, 0x05CE,
0xF119, 0x05D4, 0xF11C, 0x05DA, 0xF11E, 0x05DF, 0xF120, 0x05E5, 0xF123, 0x05EB,
0xF125, 0x05F1, 0xF127, 0x05F7, 0xF12A, 0x05FD, 0xF12C, 0x0602, 0xF12E, 0x0608,
0xF131, 0x060E, 0xF133, 0x0614, 0xF135, 0x061A, 0xF138, 0x061F, 0xF13A, 0x0625,
0xF13D, 0x062B, 0xF13F, 0x0631, 0xF141, 0x0637, 0xF144, 0x063C, 0xF146, 0x0642,
0xF149, 0x0648, 0xF14B, 0x064E, 0xF14E, 0x0654, 0xF150, 0x0659, 0xF153, 0x065F,
0xF155, 0x0665, 0xF158, 0x066B, 0xF15A, 0x0670, 0xF15D, 0x0676, 0xF15F, 0x067C,
0xF162, 0x0682, 0xF165, 0x0687, 0xF167, 0x068D, 0xF16A, 0x0693, 0xF16C, 0x0699,
0xF16F, 0x069E, 0xF171, 0x06A4, 0xF174, 0x06AA, 0xF177, 0x06AF, 0xF179, 0x06B5,
0xF17C, 0x06BB, 0xF17F, 0x06C1, 0xF181, 0x06C6, 0xF184, 0x06CC, 0xF187, 0x06D2,
0xF189, 0x06D7, 0xF18C, 0x06DD, 0xF18F, 0x06E3, 0xF191, 0x06E8, 0xF194, 0x06EE,
0xF197, 0x06F4, 0xF19A, 0x06F9, 0xF19C, 0x06FF, 0xF19F, 0x0705, 0xF1A2, 0x070A,
0xF1A5, 0x0710, 0xF1A7, 0x0715, 0xF1AA, 0x071B, 0xF1AD, 0x0721, 0xF1B0, 0x0726,
0xF1B3, 0x072C, 0xF1B5, 0x0732, 0xF1B8, 0x0737, 0xF1BB, 0x073D, 0xF1BE, 0x0742,
0xF1C1, 0x0748, 0xF1C4, 0x074E, 0xF1C6, 0x0753, 0xF1C9, 0x0759, 0xF1CC, 0x075E,
0xF1CF, 0x0764, 0xF1D2, 0x076A, 0xF1D5, 0x076F, 0xF1D8, 0x0775, 0xF1DB, 0x077A,
0xF1DE, 0x0780, 0xF1E1, 0x0785, 0xF1E4, 0x078B, 0xF1E7, 0x0790, 0xF1EA, 0x0796,
0xF1ED, 0x079B, 0xF1F0, 0x07A1, 0xF1F3, 0x07A6, 0xF1F6, 0x07AC, 0xF1F9, 0x07B2,
0xF1FC, 0x07B7, 0xF1FF, 0x07BD, 0xF202, 0x07C2, 0xF205, 0x07C8, 0xF208, 0x07CD,
0xF20B, 0x07D2, 0xF20E, 0x07D8, 0xF211, 0x07DD, 0xF214, 0x07E3, 0xF217, 0x07E8,
0xF21A, 0x07EE, 0xF21D, 0x07F3, 0xF221, 0x07F9, 0xF224, 0x07FE, 0xF227, 0x0804,
0xF22A, 0x0809, 0xF22D, 0x080E, 0xF230, 0x0814, 0xF234, 0x0819, 0xF237, 0x081F,
0xF23A, 0x0824, 0xF23D, 0x082A, 0xF240, 0x082F, 0xF244, 0x0834, 0xF247, 0x083A,
0xF24A, 0x083F, 0xF24D, 0x0845, 0xF250, 0x084A, 0xF254, 0x084F, 0xF257, 0x0855,
0xF25A, 0x085A, 0xF25E, 0x085F, 0xF261, 0x0865, 0xF264, 0x086A, 0xF267, 0x086F,
0xF26B, 0x0875, 0xF26E, 0x087A, 0xF271, 0x087F, 0xF275, 0x0885, 0xF278, 0x088A,
0xF27B, 0x088F, 0xF27F, 0x0895, 0xF282, 0x089A, 0xF286, 0x089F, 0xF289, 0x08A5,
0xF28C, 0x08AA, 0xF290, 0x08AF, 0xF293, 0x08B4, 0xF297, 0x08BA, 0xF29A, 0x08BF,
0xF29E, 0x08C4, 0xF2A1, 0x08C9, 0xF2A4, 0x08CF, 0xF2A8, 0x08D4, 0xF2AB, 0x08D9,
0xF2AF, 0x08DE, 0xF2B2, 0x08E4, 0xF2B6, 0x08E9, 0xF2B9, 0x08EE, 0xF2BD, 0x08F3,
0xF2C0, 0x08F8, 0xF2C4, 0x08FE, 0xF2C7, 0x0903, 0xF2CB, 0x0908, 0xF2CE, 0x090D,
0xF2D2, 0x0912, 0xF2D6, 0x0918, 0xF2D9, 0x091D, 0xF2DD, 0x0922, 0xF2E0, 0x0927,
0xF2E4, 0x092C, 0xF2E8, 0x0931, 0xF2EB, 0x0937, 0xF2EF, 0x093C, 0xF2F2, 0x0941,
0xF2F6, 0x0946, 0xF2FA, 0x094B, 0xF2FD, 0x0950, 0xF301, 0x0955, 0xF305, 0x095A,
0xF308, 0x095F, 0xF30C, 0x0965, 0xF310, 0x096A, 0xF313, 0x096F, 0xF317, 0x0974,
0xF31B, 0x0979, 0xF31F, 0x097E, 0xF322, 0x0983, 0xF326, 0x0988, 0xF32A, 0x098D,
0xF32E, 0x0992, 0xF331, 0x0997, 0xF335, 0x099C, 0xF339, 0x09A1, 0xF33D, 0x09A6,
0xF340, 0x09AB, 0xF344, 0x09B0, 0xF348, 0x09B5, 0xF34C, 0x09BA, 0xF350, 0x09BF,
0xF354, 0x09C4, 0xF357, 0x09C9, 0xF35B, 0x09CE, 0xF35F, 0x09D3, 0xF363, 0x09D8,
0xF367, 0x09DD, 0xF36B, 0x09E2, 0xF36F, 0x09E7, 0xF372, 0x09EC, 0xF376, 0x09F1,
0xF37A, 0x09F6, 0xF37E, 0x09FB, 0xF382, 0x09FF, 0xF386, 0x0A04, 0xF38A, 0x0A09,
0xF38E, 0x0A0E, 0xF392, 0x0A13, 0xF396, 0x0A18, 0xF39A, 0x0A1D, 0xF39E, 0x0A22,
0xF3A2, 0x0A26, 0xF3A6, 0x0A2B, 0xF3AA, 0x0A30, 0xF3AE, 0x0A35, 0xF3B2, 0x0A3A,
0xF3B6, 0x0A3F, 0xF3BA, 0x0A44, 0xF3BE, 0x0A48, 0xF3C2, 0x0A4D, 0xF3C6, 0x0A52,
0xF3CA, 0x0A57, 0xF3CE, 0x0A5C, 0xF3D2, 0x0A60, 0xF3D6, 0x0A65, 0xF3DA, 0x0A6A,
0xF3DE, 0x0A6F, 0xF3E2, 0x0A73, 0xF3E7, 0x0A78, 0xF3EB, 0x0A7D, 0xF3EF, 0x0A82,
0xF3F3, 0x0A86, 0xF3F7, 0x0A8B, 0xF3FB, 0x0A90, 0xF3FF, 0x0A95, 0xF404, 0x0A99,
0xF408, 0x0A9E, 0xF40C, 0x0AA3, 0xF410, 0x0AA7, 0xF414, 0x0AAC, 0xF418, 0x0AB1,
0xF41D, 0x0AB5, 0xF421, 0x0ABA, 0xF425, 0x0ABF, 0xF429, 0x0AC3, 0xF42E, 0x0AC8,
0xF432, 0x0ACD, 0xF436, 0x0AD1, 0xF43A, 0x0AD6, 0xF43F, 0x0ADB, 0xF443, 0x0ADF,
0xF447, 0x0AE4, 0xF44B, 0x0AE8, 0xF450, 0x0AED, 0xF454, 0x0AF2, 0xF458, 0x0AF6,
0xF45D, 0x0AFB, 0xF461, 0x0AFF, 0xF465, 0x0B04, 0xF469, 0x0B08, 0xF46E, 0x0B0D,
0xF472, 0x0B11, 0xF477, 0x0B16, 0xF47B, 0x0B1B, 0xF47F, 0x0B1F, 0xF484, 0x0B24,
0xF488, 0x0B28, 0xF48C, 0x0B2D, 0xF491, 0x0B31, 0xF495, 0x0B36, 0xF49A, 0x0B3A,
0xF49E, 0x0B3E, 0xF4A2, 0x0B43, 0xF4A7, 0x0B47, 0xF4AB, 0x0B4C, 0xF4B0, 0x0B50,
0xF4B4, 0x0B55, 0xF4B9, 0x0B59, 0xF4BD, 0x0B5E, 0xF4C2, 0x0B62, 0xF4C6, 0x0B66,
0xF4CA, 0x0B6B, 0xF4CF, 0x0B6F, 0xF4D3, 0x0B74, 0xF4D8, 0x0B78, 0xF4DC, 0x0B7C,
0xF4E1, 0x0B81, 0xF4E5, 0x0B85, 0xF4EA, 0x0B89, 0xF4EF, 0x0B8E, 0xF4F3, 0x0B92,
0xF4F8, 0x0B97, 0xF4FC, 0x0B9B, 0xF501, 0x0B9F, 0xF505, 0x0BA3, 0xF50A, 0x0BA8,
0xF50E, 0x0BAC, 0xF513, 0x0BB0, 0xF518, 0x0BB5, 0xF51C, 0x0BB9, 0xF521, 0x0BBD,
0xF525, 0x0BC1, 0xF52A, 0x0BC6, 0xF52F, 0x0BCA, 0xF533, 0x0BCE, 0xF538, 0x0BD2,
0xF53D, 0x0BD7, 0xF541, 0x0BDB, 0xF546, 0x0BDF, 0xF54B, 0x0BE3, 0xF54F, 0x0BE8,
0xF554, 0x0BEC, 0xF559, 0x0BF0, 0xF55D, 0x0BF4, 0xF562, 0x0BF8, 0xF567, 0x0BFC,
0xF56B, 0x0C01, 0xF570, 0x0C05, 0xF575, 0x0C09, 0xF57A, 0x0C0D, 0xF57E, 0x0C11,
0xF583, 0x0C15, 0xF588, 0x0C19, 0xF58D, 0x0C1E, 0xF591, 0x0C22, 0xF596, 0x0C26,
0xF59B, 0x0C2A, 0xF5A0, 0x0C2E, 0xF5A4, 0x0C32, 0xF5A9, 0x0C36, 0xF5AE, 0x0C3A,
0xF5B3, 0x0C3E, 0xF5B8, 0x0C42, 0xF5BC, 0x0C46, 0xF5C1, 0x0C4A, 0xF5C6, 0x0C4E,
0xF5CB, 0x0C52, 0xF5D0, 0x0C56, 0xF5D5, 0x0C5A, 0xF5DA, 0x0C5E, 0xF5DE, 0x0C62,
0xF5E3, 0x0C66, 0xF5E8, 0x0C6A, 0xF5ED, 0x0C6E, 0xF5F2, 0x0C72, 0xF5F7, 0x0C76,
0xF5FC, 0x0C7A, 0xF601, 0x0C7E, 0xF605, 0x0C82, 0xF60A, 0x0C86, 0xF60F, 0x0C8A,
0xF614, 0x0C8E, 0xF619, 0x0C91, 0xF61E, 0x0C95, 0xF623, 0x0C99, 0xF628, 0x0C9D,
0xF62D, 0x0CA1, 0xF632, 0x0CA5, 0xF637, 0x0CA9, 0xF63C, 0x0CAC, 0xF641, 0x0CB0,
0xF646, 0x0CB4, 0xF64B, 0x0CB8, 0xF650, 0x0CBC, 0xF655, 0x0CC0, 0xF65A, 0x0CC3,
0xF65F, 0x0CC7, 0xF664, 0x0CCB, 0xF669, 0x0CCF, 0xF66E, 0x0CD2, 0xF673, 0x0CD6,
0xF678, 0x0CDA, 0xF67D, 0x0CDE, 0xF682, 0x0CE1, 0xF687, 0x0CE5, 0xF68C, 0x0CE9,
0xF691, 0x0CED, 0xF696, 0x0CF0, 0xF69B, 0x0CF4, 0xF6A1, 0x0CF8, 0xF6A6, 0x0CFB,
0xF6AB, 0x0CFF, 0xF6B0, 0x0D03, 0xF6B5, 0x0D06, 0xF6BA, 0x0D0A, 0xF6BF, 0x0D0E,
0xF6C4, 0x0D11, 0xF6C9, 0x0D15, 0xF6CF, 0x0D18, 0xF6D4, 0x0D1C, 0xF6D9, 0x0D20,
0xF6DE, 0x0D23, 0xF6E3, 0x0D27, 0xF6E8, 0x0D2A, 0xF6EE, 0x0D2E, 0xF6F3, 0x0D32,
0xF6F8, 0x0D35, 0xF6FD, 0x0D39, 0xF702, 0x0D3C, 0xF708, 0x0D40, 0xF70D, 0x0D43,
0xF712, 0x0D47, 0xF717, 0x0D4A, 0xF71C, 0x0D4E, 0xF722, 0x0D51, 0xF727, 0x0D55,
0xF72C, 0x0D58, 0xF731, 0x0D5C, 0xF737, 0x0D5F, 0xF73C, 0x0D62, 0xF741, 0x0D66,
0xF746, 0x0D69, 0xF74C, 0x0D6D, 0xF751, 0x0D70, 0xF756, 0x0D74, 0xF75B, 0x0D77,
0xF761, 0x0D7A, 0xF766, 0x0D7E, 0xF76B, 0x0D81, 0xF771, 0x0D85, 0xF776, 0x0D88,
0xF77B, 0x0D8B, 0xF781, 0x0D8F, 0xF786, 0x0D92, 0xF78B, 0x0D95, 0xF791, 0x0D99,
0xF796, 0x0D9C, 0xF79B, 0x0D9F, 0xF7A1, 0x0DA2, 0xF7A6, 0x0DA6, 0xF7AB, 0x0DA9,
0xF7B1, 0x0DAC, 0xF7B6, 0x0DB0, 0xF7BB, 0x0DB3, 0xF7C1, 0x0DB6, 0xF7C6, 0x0DB9,
0xF7CC, 0x0DBC, 0xF7D1, 0x0DC0, 0xF7D6, 0x0DC3, 0xF7DC, 0x0DC6, 0xF7E1, 0x0DC9,
0xF7E7, 0x0DCC, 0xF7EC, 0x0DD0, 0xF7F2, 0x0DD3, 0xF7F7, 0x0DD6, 0xF7FC, 0x0DD9,
0xF802, 0x0DDC, 0xF807, 0x0DDF, 0xF80D, 0x0DE3, 0xF812, 0x0DE6, 0xF818, 0x0DE9,
0xF81D, 0x0DEC, 0xF823, 0x0DEF, 0xF828, 0x0DF2, 0xF82E, 0x0DF5, 0xF833, 0x0DF8,
0xF838, 0x0DFB, 0xF83E, 0x0DFE, 0xF843, 0x0E01, 0xF849, 0x0E04, 0xF84E, 0x0E07,
0xF854, 0x0E0A, 0xF85A, 0x0E0D, 0xF85F, 0x0E10, 0xF865, 0x0E13, 0xF86A, 0x0E16,
0xF870, 0x0E19, 0xF875, 0x0E1C, 0xF87B, 0x0E1F, 0xF880, 0x0E22, 0xF886, 0x0E25,
0xF88B, 0x0E28, 0xF891, 0x0E2B, 0xF896, 0x0E2E, 0xF89C, 0x0E31, 0xF8A2, 0x0E34,
0xF8A7, 0x0E37, 0xF8AD, 0x0E3A, 0xF8B2, 0x0E3C, 0xF8B8, 0x0E3F, 0xF8BE, 0x0E42,
0xF8C3, 0x0E45, 0xF8C9, 0x0E48, 0xF8CE, 0x0E4B, 0xF8D4, 0x0E4D, 0xF8DA, 0x0E50,
0xF8DF, 0x0E53, 0xF8E5, 0x0E56, 0xF8EB, 0x0E59, 0xF8F0, 0x0E5B, 0xF8F6, 0x0E5E,
0xF8FB, 0x0E61, 0xF901, 0x0E64, 0xF907, 0x0E66, 0xF90C, 0x0E69, 0xF912, 0x0E6C,
0xF918, 0x0E6F, 0xF91D, 0x0E71, 0xF923, 0x0E74, 0xF929, 0x0E77, 0xF92E, 0x0E79,
0xF934, 0x0E7C, 0xF93A, 0x0E7F, 0xF93F, 0x0E81, 0xF945, 0x0E84, 0xF94B, 0x0E87,
0xF951, 0x0E89, 0xF956, 0x0E8C, 0xF95C, 0x0E8F, 0xF962, 0x0E91, 0xF967, 0x0E94,
0xF96D, 0x0E96, 0xF973, 0x0E99, 0xF979, 0x0E9B, 0xF97E, 0x0E9E, 0xF984, 0x0EA1,
0xF98A, 0x0EA3, 0xF990, 0x0EA6, 0xF995, 0x0EA8, 0xF99B, 0x0EAB, 0xF9A1, 0x0EAD,
0xF9A7, 0x0EB0, 0xF9AC, 0x0EB2, 0xF9B2, 0x0EB5, 0xF9B8, 0x0EB7, 0xF9BE, 0x0EBA,
0xF9C4, 0x0EBC, 0xF9C9, 0x0EBF, 0xF9CF, 0x0EC1, 0xF9D5, 0x0EC3, 0xF9DB, 0x0EC6,
0xF9E1, 0x0EC8, 0xF9E6, 0x0ECB, 0xF9EC, 0x0ECD, 0xF9F2, 0x0ECF, 0xF9F8, 0x0ED2,
0xF9FE, 0x0ED4, 0xFA03, 0x0ED6, 0xFA09, 0x0ED9, 0xFA0F, 0x0EDB, 0xFA15, 0x0EDD,
0xFA1B, 0x0EE0, 0xFA21, 0x0EE2, 0xFA26, 0x0EE4, 0xFA2C, 0x0EE7, 0xFA32, 0x0EE9,
0xFA38, 0x0EEB, 0xFA3E, 0x0EEE, 0xFA44, 0x0EF0, 0xFA4A, 0x0EF2, 0xFA4F, 0x0EF4,
0xFA55, 0x0EF7, 0xFA5B, 0x0EF9, 0xFA61, 0x0EFB, 0xFA67, 0x0EFD, 0xFA6D, 0x0EFF,
0xFA73, 0x0F02, 0xFA79, 0x0F04, 0xFA7F, 0x0F06, 0xFA84, 0x0F08, 0xFA8A, 0x0F0A,
0xFA90, 0x0F0C, 0xFA96, 0x0F0E, 0xFA9C, 0x0F11, 0xFAA2, 0x0F13, 0xFAA8, 0x0F15,
0xFAAE, 0x0F17, 0xFAB4, 0x0F19, 0xFABA, 0x0F1B, 0xFAC0, 0x0F1D, 0xFAC6, 0x0F1F,
0xFACC, 0x0F21, 0xFAD1, 0x0F23, 0xFAD7, 0x0F25, 0xFADD, 0x0F27, 0xFAE3, 0x0F29,
0xFAE9, 0x0F2B, 0xFAEF, 0x0F2D, 0xFAF5, 0x0F2F, 0xFAFB, 0x0F31, 0xFB01, 0x0F33,
0xFB07, 0x0F35, 0xFB0D, 0x0F37, 0xFB13, 0x0F39, 0xFB19, 0x0F3B, 0xFB1F, 0x0F3D,
0xFB25, 0x0F3F, 0xFB2B, 0x0F41, 0xFB31, 0x0F43, 0xFB37, 0x0F45, 0xFB3D, 0x0F46,
0xFB43, 0x0F48, 0xFB49, 0x0F4A, 0xFB4F, 0x0F4C, 0xFB55, 0x0F4E, 0xFB5B, 0x0F50,
0xFB61, 0x0F51, 0xFB67, 0x0F53, 0xFB6D, 0x0F55, 0xFB73, 0x0F57, 0xFB79, 0x0F59,
0xFB7F, 0x0F5A, 0xFB85, 0x0F5C, 0xFB8B, 0x0F5E, 0xFB91, 0x0F60, 0xFB97, 0x0F61,
0xFB9D, 0x0F63, 0xFBA3, 0x0F65, 0xFBA9, 0x0F67, 0xFBAF, 0x0F68, 0xFBB5, 0x0F6A,
0xFBBC, 0x0F6C, 0xFBC2, 0x0F6D, 0xFBC8, 0x0F6F, 0xFBCE, 0x0F71, 0xFBD4, 0x0F72,
0xFBDA, 0x0F74, 0xFBE0, 0x0F76, 0xFBE6, 0x0F77, 0xFBEC, 0x0F79, 0xFBF2, 0x0F7A,
0xFBF8, 0x0F7C, 0xFBFE, 0x0F7D, 0xFC04, 0x0F7F, 0xFC0A, 0x0F81, 0xFC11, 0x0F82,
0xFC17, 0x0F84, 0xFC1D, 0x0F85, 0xFC23, 0x0F87, 0xFC29, 0x0F88, 0xFC2F, 0x0F8A,
0xFC35, 0x0F8B, 0xFC3B, 0x0F8D, 0xFC41, 0x0F8E, 0xFC47, 0x0F90, 0xFC4E, 0x0F91,
0xFC54, 0x0F93, 0xFC5A, 0x0F94, 0xFC60, 0x0F95, 0xFC66, 0x0F97, 0xFC6C, 0x0F98,
0xFC72, 0x0F9A, 0xFC78, 0x0F9B, 0xFC7F, 0x0F9C, 0xFC85, 0x0F9E, 0xFC8B, 0x0F9F,
0xFC91, 0x0FA1, 0xFC97, 0x0FA2, 0xFC9D, 0x0FA3, 0xFCA3, 0x0FA5, 0xFCAA, 0x0FA6,
0xFCB0, 0x0FA7, 0xFCB6, 0x0FA8, 0xFCBC, 0x0FAA, 0xFCC2, 0x0FAB, 0xFCC8, 0x0FAC,
0xFCCE, 0x0FAE, 0xFCD5, 0x0FAF, 0xFCDB, 0x0FB0, 0xFCE1, 0x0FB1, 0xFCE7, 0x0FB3,
0xFCED, 0x0FB4, 0xFCF3, 0x0FB5, 0xFCFA, 0x0FB6, 0xFD00, 0x0FB7, 0xFD06, 0x0FB8,
0xFD0C, 0x0FBA, 0xFD12, 0x0FBB, 0xFD18, 0x0FBC, 0xFD1F, 0x0FBD, 0xFD25, 0x0FBE,
0xFD2B, 0x0FBF, 0xFD31, 0x0FC0, 0xFD37, 0x0FC2, 0xFD3E, 0x0FC3, 0xFD44, 0x0FC4,
0xFD4A, 0x0FC5, 0xFD50, 0x0FC6, 0xFD56, 0x0FC7, 0xFD5D, 0x0FC8, 0xFD63, 0x0FC9,
0xFD69, 0x0FCA, 0xFD6F, 0x0FCB, 0xFD75, 0x0FCC, 0xFD7C, 0x0FCD, 0xFD82, 0x0FCE,
0xFD88, 0x0FCF, 0xFD8E, 0x0FD0, 0xFD94, 0x0FD1, 0xFD9B, 0x0FD2, 0xFDA1, 0x0FD3,
0xFDA7, 0x0FD4, 0xFDAD, 0x0FD5, 0xFDB3, 0x0FD5, 0xFDBA, 0x0FD6, 0xFDC0, 0x0FD7,
0xFDC6, 0x0FD8, 0xFDCC, 0x0FD9, 0xFDD3, 0x0FDA, 0xFDD9, 0x0FDB, 0xFDDF, 0x0FDC,
0xFDE5, 0x0FDC, 0xFDEB, 0x0FDD, 0xFDF2, 0x0FDE, 0xFDF8, 0x0FDF, 0xFDFE, 0x0FE0,
0xFE04, 0x0FE0, 0xFE0B, 0x0FE1, 0xFE11, 0x0FE2, 0xFE17, 0x0FE3, 0xFE1D, 0x0FE3,
0xFE24, 0x0FE4, 0xFE2A, 0x0FE5, 0xFE30, 0x0FE6, 0xFE36, 0x0FE6, 0xFE3D, 0x0FE7,
0xFE43, 0x0FE8, 0xFE49, 0x0FE8, 0xFE4F, 0x0FE9, 0xFE56, 0x0FEA, 0xFE5C, 0x0FEA,
0xFE62, 0x0FEB, 0xFE68, 0x0FEC, 0xFE6F, 0x0FEC, 0xFE75, 0x0FED, 0xFE7B, 0x0FED,
0xFE81, 0x0FEE, 0xFE88, 0x0FEF, 0xFE8E, 0x0FEF, 0xFE94, 0x0FF0, 0xFE9A, 0x0FF0,
0xFEA1, 0x0FF1, 0xFEA7, 0x0FF1, 0xFEAD, 0x0FF2, 0xFEB3, 0x0FF2, 0xFEBA, 0x0FF3,
0xFEC0, 0x0FF3, 0xFEC6, 0x0FF4, 0xFECC, 0x0FF4, 0xFED3, 0x0FF5, 0xFED9, 0x0FF5,
0xFEDF, 0x0FF6, 0xFEE5, 0x0FF6, 0xFEEC, 0x0FF7, 0xFEF2, 0x0FF7, 0xFEF8, 0x0FF8,
0xFEFF, 0x0FF8, 0xFF05, 0x0FF8, 0xFF0B, 0x0FF9, 0xFF11, 0x0FF9, 0xFF18, 0x0FF9,
0xFF1E, 0x0FFA, 0xFF24, 0x0FFA, 0xFF2A, 0x0FFA, 0xFF31, 0x0FFB, 0xFF37, 0x0FFB,
0xFF3D, 0x0FFB, 0xFF44, 0x0FFC, 0xFF4A, 0x0FFC, 0xFF50, 0x0FFC, 0xFF56, 0x0FFC,
0xFF5D, 0x0FFD, 0xFF63, 0x0FFD, 0xFF69, 0x0FFD, 0xFF70, 0x0FFD, 0xFF76, 0x0FFE,
0xFF7C, 0x0FFE, 0xFF82, 0x0FFE, 0xFF89, 0x0FFE, 0xFF8F, 0x0FFE, 0xFF95, 0x0FFF,
0xFF9B, 0x0FFF, 0xFFA2, 0x0FFF, 0xFFA8, 0x0FFF, 0xFFAE, 0x0FFF, 0xFFB5, 0x0FFF,
0xFFBB, 0x0FFF, 0xFFC1, 0x1000, 0xFFC7, 0x1000, 0xFFCE, 0x1000, 0xFFD4, 0x1000,
0xFFDA, 0x1000, 0xFFE1, 0x1000, 0xFFE7, 0x1000, 0xFFED, 0x1000, 0xFFF3, 0x1000,
0xFFFA, 0x1000,
};
#define WIDE_SCREEN (0)
#if defined(PGXP)
#define MAX_NUM_VERTICES 32768
//Index of last vertex added to vertex buffer
int pgxp_vertex_index = 0;
int pgxp_vertex_count = 0;
struct PGXPVertex pgxp_vertex_buffer[MAX_NUM_VERTICES];
#endif
GTERegisters gteRegs;
#define GTE_SF(op) ((op >> 19) & 1)
#define GTE_MX(op) ((op >> 17) & 3)
#define GTE_V(op) ((op >> 15) & 3)
#define GTE_CV(op) ((op >> 13) & 3)
#define GTE_LM(op) ((op >> 10) & 1)
#define GTE_FUNCT(op) (op & 63)
#define gteop(code) (code & 0x1ffffff)
/* Data Registers mtc2 mfc2 */
#define VX0 (gteRegs.CP2D.p[ 0 ].sw.l)
#define VY0 (gteRegs.CP2D.p[ 0 ].sw.h)
#define VZ0 (gteRegs.CP2D.p[ 1 ].sw.l)
#define VX1 (gteRegs.CP2D.p[ 2 ].w.l)
#define VY1 (gteRegs.CP2D.p[ 2 ].w.h)
#define VZ1 (gteRegs.CP2D.p[ 3 ].w.l)
#define VX2 (gteRegs.CP2D.p[ 4 ].w.l)
#define VY2 (gteRegs.CP2D.p[ 4 ].w.h)
#define VZ2 (gteRegs.CP2D.p[ 5 ].w.l)
#define R (gteRegs.CP2D.p[ 6 ].b.l)
#define G (gteRegs.CP2D.p[ 6 ].b.h)
#define B (gteRegs.CP2D.p[ 6 ].b.h2)
#define CODE (gteRegs.CP2D.p[ 6 ].b.h3)
#define OTZ (gteRegs.CP2D.p[ 7 ].w.l)
#define IR0 (gteRegs.CP2D.p[ 8 ].sw.l)
#define IR1 (gteRegs.CP2D.p[ 9 ].sw.l)
#define IR2 (gteRegs.CP2D.p[ 10 ].sw.l)
#define IR3 (gteRegs.CP2D.p[ 11 ].sw.l)
#define SXY0 (gteRegs.CP2D.p[ 12 ].d)
#define SX0 (gteRegs.CP2D.p[ 12 ].sw.l)
#define SY0 (gteRegs.CP2D.p[ 12 ].sw.h)
#define SXY1 (gteRegs.CP2D.p[ 13 ].d)
#define SX1 (gteRegs.CP2D.p[ 13 ].sw.l)
#define SY1 (gteRegs.CP2D.p[ 13 ].sw.h)
#define SXY2 (gteRegs.CP2D.p[ 14 ].d)
#define SX2 (gteRegs.CP2D.p[ 14 ].sw.l)
#define SY2 (gteRegs.CP2D.p[ 14 ].sw.h)
#define SXYP (gteRegs.CP2D.p[ 15 ].d)
#define SXP (gteRegs.CP2D.p[ 15 ].sw.l)
#define SYP (gteRegs.CP2D.p[ 15 ].sw.h)
#define SZ0 (gteRegs.CP2D.p[ 16 ].w.l)
#define SZ1 (gteRegs.CP2D.p[ 17 ].w.l)
#define SZ2 (gteRegs.CP2D.p[ 18 ].w.l)
#define SZ3 (gteRegs.CP2D.p[ 19 ].w.l)
#define RGB0 (gteRegs.CP2D.p[ 20 ].d)
#define R0 (gteRegs.CP2D.p[ 20 ].b.l)
#define G0 (gteRegs.CP2D.p[ 20 ].b.h)
#define B0 (gteRegs.CP2D.p[ 20 ].b.h2)
#define CD0 (gteRegs.CP2D.p[ 20 ].b.h3)
#define RGB1 (gteRegs.CP2D.p[ 21 ].d)
#define R1 (gteRegs.CP2D.p[ 21 ].b.l)
#define G1 (gteRegs.CP2D.p[ 21 ].b.h)
#define B1 (gteRegs.CP2D.p[ 21 ].b.h2)
#define CD1 (gteRegs.CP2D.p[ 21 ].b.h3)
#define RGB2 (gteRegs.CP2D.p[ 22 ].d)
#define R2 (gteRegs.CP2D.p[ 22 ].b.l)
#define G2 (gteRegs.CP2D.p[ 22 ].b.h)
#define B2 (gteRegs.CP2D.p[ 22 ].b.h2)
#define CD2 (gteRegs.CP2D.p[ 22 ].b.h3)
#define RES1 (gteRegs.CP2D.p[ 23 ].d)
#define MAC0 (gteRegs.CP2D.p[ 24 ].sd)
#define MAC1 (gteRegs.CP2D.p[ 25 ].sd)
#define MAC2 (gteRegs.CP2D.p[ 26 ].sd)
#define MAC3 (gteRegs.CP2D.p[ 27 ].sd)
#define IRGB (gteRegs.CP2D.p[ 28 ].d)
#define ORGB (gteRegs.CP2D.p[ 29 ].d)
#define LZCS (gteRegs.CP2D.p[ 30 ].d)
#define LZCR (gteRegs.CP2D.p[ 31 ].d)
/* Control Registers ctc2 cfc2*/
#define R11 (gteRegs.CP2C.p[ 0 ].sw.l)
#define R12 (gteRegs.CP2C.p[ 0 ].sw.h)
#define R13 (gteRegs.CP2C.p[ 1 ].sw.l)
#define R21 (gteRegs.CP2C.p[ 1 ].sw.h)
#define R22 (gteRegs.CP2C.p[ 2 ].sw.l)
#define R23 (gteRegs.CP2C.p[ 2 ].sw.h)
#define R31 (gteRegs.CP2C.p[ 3 ].sw.l)
#define R32 (gteRegs.CP2C.p[ 3 ].sw.h)
#define R33 (gteRegs.CP2C.p[ 4 ].sw.l)
#define TRX (gteRegs.CP2C.p[ 5 ].sd)
#define TRY (gteRegs.CP2C.p[ 6 ].sd)
#define TRZ (gteRegs.CP2C.p[ 7 ].sd)
#define L11 (gteRegs.CP2C.p[ 8 ].sw.l)
#define L12 (gteRegs.CP2C.p[ 8 ].sw.h)
#define L13 (gteRegs.CP2C.p[ 9 ].sw.l)
#define L21 (gteRegs.CP2C.p[ 9 ].sw.h)
#define L22 (gteRegs.CP2C.p[ 10 ].sw.l)
#define L23 (gteRegs.CP2C.p[ 10 ].sw.h)
#define L31 (gteRegs.CP2C.p[ 11 ].sw.l)
#define L32 (gteRegs.CP2C.p[ 11 ].sw.h)
#define L33 (gteRegs.CP2C.p[ 12 ].sw.l)
#define RBK (gteRegs.CP2C.p[ 13 ].sd)
#define GBK (gteRegs.CP2C.p[ 14 ].sd)
#define BBK (gteRegs.CP2C.p[ 15 ].sd)
#define LR1 (gteRegs.CP2C.p[ 16 ].sw.l)
#define LR2 (gteRegs.CP2C.p[ 16 ].sw.h)
#define LR3 (gteRegs.CP2C.p[ 17 ].sw.l)
#define LG1 (gteRegs.CP2C.p[ 17 ].sw.h)
#define LG2 (gteRegs.CP2C.p[ 18 ].sw.l)
#define LG3 (gteRegs.CP2C.p[ 18 ].sw.h)
#define LB1 (gteRegs.CP2C.p[ 19 ].sw.l)
#define LB2 (gteRegs.CP2C.p[ 19 ].sw.h)
#define LB3 (gteRegs.CP2C.p[ 20 ].sw.l)
#define RFC (gteRegs.CP2C.p[ 21 ].sd)
#define GFC (gteRegs.CP2C.p[ 22 ].sd)
#define BFC (gteRegs.CP2C.p[ 23 ].sd)
#define OFX (gteRegs.CP2C.p[ 24 ].sd)
#define OFY (gteRegs.CP2C.p[ 25 ].sd)
#define H (gteRegs.CP2C.p[ 26 ].sw.l)
#define DQA (gteRegs.CP2C.p[ 27 ].sw.l)
#define DQB (gteRegs.CP2C.p[ 28 ].sd)
#define ZSF3 (gteRegs.CP2C.p[ 29 ].sw.l)
#define ZSF4 (gteRegs.CP2C.p[ 30 ].sw.l)
#define FLAG (gteRegs.CP2C.p[ 31 ].d)
#define VX(n) (n < 3 ? gteRegs.CP2D.p[ n << 1 ].sw.l : IR1)
#define VY(n) (n < 3 ? gteRegs.CP2D.p[ n << 1 ].sw.h : IR2)
#define VZ(n) (n < 3 ? gteRegs.CP2D.p[ (n << 1) + 1 ].sw.l : IR3)
#define MX11(n) (n < 3 ? gteRegs.CP2C.p[ (n << 3) ].sw.l : -R << 4)
#define MX12(n) (n < 3 ? gteRegs.CP2C.p[ (n << 3) ].sw.h : R << 4)
#define MX13(n) (n < 3 ? gteRegs.CP2C.p[ (n << 3) + 1 ].sw.l : IR0)
#define MX21(n) (n < 3 ? gteRegs.CP2C.p[ (n << 3) + 1 ].sw.h : R13)
#define MX22(n) (n < 3 ? gteRegs.CP2C.p[ (n << 3) + 2 ].sw.l : R13)
#define MX23(n) (n < 3 ? gteRegs.CP2C.p[ (n << 3) + 2 ].sw.h : R13)
#define MX31(n) (n < 3 ? gteRegs.CP2C.p[ (n << 3) + 3 ].sw.l : R22)
#define MX32(n) (n < 3 ? gteRegs.CP2C.p[ (n << 3) + 3 ].sw.h : R22)
#define MX33(n) (n < 3 ? gteRegs.CP2C.p[ (n << 3) + 4 ].sw.l : R22)
#define CV1(n) (n < 3 ? gteRegs.CP2C.p[ (n << 3) + 5 ].sd : 0)
#define CV2(n) (n < 3 ? gteRegs.CP2C.p[ (n << 3) + 6 ].sd : 0)
#define CV3(n) (n < 3 ? gteRegs.CP2C.p[ (n << 3) + 7 ].sd : 0)
unsigned char ida_chars[] =
{
0x00, 0x00, 0x00, 0x10, 0x06, 0x00, 0x00, 0x10, 0x0D, 0x00,
0x00, 0x10, 0x13, 0x00, 0x00, 0x10, 0x19, 0x00, 0x00, 0x10,
0x1F, 0x00, 0x00, 0x10, 0x26, 0x00, 0x00, 0x10, 0x2C, 0x00,
0x00, 0x10, 0x32, 0x00, 0x00, 0x10, 0x39, 0x00, 0x00, 0x10,
0x3F, 0x00, 0x00, 0x10, 0x45, 0x00, 0xFF, 0x0F, 0x4B, 0x00,
0xFF, 0x0F, 0x52, 0x00, 0xFF, 0x0F, 0x58, 0x00, 0xFF, 0x0F,
0x5E, 0x00, 0xFF, 0x0F, 0x65, 0x00, 0xFF, 0x0F, 0x6B, 0x00,
0xFF, 0x0F, 0x71, 0x00, 0xFE, 0x0F, 0x77, 0x00, 0xFE, 0x0F,
0x7E, 0x00, 0xFE, 0x0F, 0x84, 0x00, 0xFE, 0x0F, 0x8A, 0x00,
0xFE, 0x0F, 0x90, 0x00, 0xFD, 0x0F, 0x97, 0x00, 0xFD, 0x0F,
0x9D, 0x00, 0xFD, 0x0F, 0xA3, 0x00, 0xFD, 0x0F, 0xAA, 0x00,
0xFC, 0x0F, 0xB0, 0x00, 0xFC, 0x0F, 0xB6, 0x00, 0xFC, 0x0F,
0xBC, 0x00, 0xFC, 0x0F, 0xC3, 0x00, 0xFB, 0x0F, 0xC9, 0x00,
0xFB, 0x0F, 0xCF, 0x00, 0xFB, 0x0F, 0xD6, 0x00, 0xFA, 0x0F,
0xDC, 0x00, 0xFA, 0x0F, 0xE2, 0x00, 0xFA, 0x0F, 0xE8, 0x00,
0xF9, 0x0F, 0xEF, 0x00, 0xF9, 0x0F, 0xF5, 0x00, 0xF9, 0x0F,
0xFB, 0x00, 0xF8, 0x0F, 0x01, 0x01, 0xF8, 0x0F, 0x08, 0x01,
0xF8, 0x0F, 0x0E, 0x01, 0xF7, 0x0F, 0x14, 0x01, 0xF7, 0x0F,
0x1B, 0x01, 0xF6, 0x0F, 0x21, 0x01, 0xF6, 0x0F, 0x27, 0x01,
0xF5, 0x0F, 0x2D, 0x01, 0xF5, 0x0F, 0x34, 0x01, 0xF4, 0x0F,
0x3A, 0x01, 0xF4, 0x0F, 0x40, 0x01, 0xF3, 0x0F, 0x46, 0x01,
0xF3, 0x0F, 0x4D, 0x01, 0xF2, 0x0F, 0x53, 0x01, 0xF2, 0x0F,
0x59, 0x01, 0xF1, 0x0F, 0x5F, 0x01, 0xF1, 0x0F, 0x66, 0x01,
0xF0, 0x0F, 0x6C, 0x01, 0xF0, 0x0F, 0x72, 0x01, 0xEF, 0x0F,
0x78, 0x01, 0xEF, 0x0F, 0x7F, 0x01, 0xEE, 0x0F, 0x85, 0x01,
0xED, 0x0F, 0x8B, 0x01, 0xED, 0x0F, 0x91, 0x01, 0xEC, 0x0F,
0x98, 0x01, 0xEC, 0x0F, 0x9E, 0x01, 0xEB, 0x0F, 0xA4, 0x01,
0xEA, 0x0F, 0xAA, 0x01, 0xEA, 0x0F, 0xB1, 0x01, 0xE9, 0x0F,
0xB7, 0x01, 0xE8, 0x0F, 0xBD, 0x01, 0xE8, 0x0F, 0xC3, 0x01,
0xE7, 0x0F, 0xCA, 0x01, 0xE6, 0x0F, 0xD0, 0x01, 0xE6, 0x0F,
0xD6, 0x01, 0xE5, 0x0F, 0xDC, 0x01, 0xE4, 0x0F, 0xE3, 0x01,
0xE3, 0x0F, 0xE9, 0x01, 0xE3, 0x0F, 0xEF, 0x01, 0xE2, 0x0F,
0xF5, 0x01, 0xE1, 0x0F, 0xFC, 0x01, 0xE0, 0x0F, 0x02, 0x02,
0xE0, 0x0F, 0x08, 0x02, 0xDF, 0x0F, 0x0E, 0x02, 0xDE, 0x0F,
0x15, 0x02, 0xDD, 0x0F, 0x1B, 0x02, 0xDC, 0x0F, 0x21, 0x02,
0xDC, 0x0F, 0x27, 0x02, 0xDB, 0x0F, 0x2D, 0x02, 0xDA, 0x0F,
0x34, 0x02, 0xD9, 0x0F, 0x3A, 0x02, 0xD8, 0x0F, 0x40, 0x02,
0xD7, 0x0F, 0x46, 0x02, 0xD6, 0x0F, 0x4D, 0x02, 0xD5, 0x0F,
0x53, 0x02, 0xD5, 0x0F, 0x59, 0x02, 0xD4, 0x0F, 0x5F, 0x02,
0xD3, 0x0F, 0x65, 0x02, 0xD2, 0x0F, 0x6C, 0x02, 0xD1, 0x0F,
0x72, 0x02, 0xD0, 0x0F, 0x78, 0x02, 0xCF, 0x0F, 0x7E, 0x02,
0xCE, 0x0F, 0x84, 0x02, 0xCD, 0x0F, 0x8B, 0x02, 0xCC, 0x0F,
0x91, 0x02, 0xCB, 0x0F, 0x97, 0x02, 0xCA, 0x0F, 0x9D, 0x02,
0xC9, 0x0F, 0xA3, 0x02, 0xC8, 0x0F, 0xAA, 0x02, 0xC7, 0x0F,
0xB0, 0x02, 0xC6, 0x0F, 0xB6, 0x02, 0xC5, 0x0F, 0xBC, 0x02,
0xC4, 0x0F, 0xC2, 0x02, 0xC3, 0x0F, 0xC9, 0x02, 0xC2, 0x0F,
0xCF, 0x02, 0xC0, 0x0F, 0xD5, 0x02, 0xBF, 0x0F, 0xDB, 0x02,
0xBE, 0x0F, 0xE1, 0x02, 0xBD, 0x0F, 0xE8, 0x02, 0xBC, 0x0F,
0xEE, 0x02, 0xBB, 0x0F, 0xF4, 0x02, 0xBA, 0x0F, 0xFA, 0x02,
0xB8, 0x0F, 0x00, 0x03, 0xB7, 0x0F, 0x06, 0x03, 0xB6, 0x0F,
0x0D, 0x03, 0xB5, 0x0F, 0x13, 0x03, 0xB4, 0x0F, 0x19, 0x03,
0xB3, 0x0F, 0x1F, 0x03, 0xB1, 0x0F, 0x25, 0x03, 0xB0, 0x0F,
0x2B, 0x03, 0xAF, 0x0F, 0x32, 0x03, 0xAE, 0x0F, 0x38, 0x03,
0xAC, 0x0F, 0x3E, 0x03, 0xAB, 0x0F, 0x44, 0x03, 0xAA, 0x0F,
0x4A, 0x03, 0xA8, 0x0F, 0x50, 0x03, 0xA7, 0x0F, 0x56, 0x03,
0xA6, 0x0F, 0x5D, 0x03, 0xA5, 0x0F, 0x63, 0x03, 0xA3, 0x0F,
0x69, 0x03, 0xA2, 0x0F, 0x6F, 0x03, 0xA1, 0x0F, 0x75, 0x03,
0x9F, 0x0F, 0x7B, 0x03, 0x9E, 0x0F, 0x81, 0x03, 0x9C, 0x0F,
0x88, 0x03, 0x9B, 0x0F, 0x8E, 0x03, 0x9A, 0x0F, 0x94, 0x03,
0x98, 0x0F, 0x9A, 0x03, 0x97, 0x0F, 0xA0, 0x03, 0x95, 0x0F,
0xA6, 0x03, 0x94, 0x0F, 0xAC, 0x03, 0x93, 0x0F, 0xB2, 0x03,
0x91, 0x0F, 0xB9, 0x03, 0x90, 0x0F, 0xBF, 0x03, 0x8E, 0x0F,
0xC5, 0x03, 0x8D, 0x0F, 0xCB, 0x03, 0x8B, 0x0F, 0xD1, 0x03,
0x8A, 0x0F, 0xD7, 0x03, 0x88, 0x0F, 0xDD, 0x03, 0x87, 0x0F,
0xE3, 0x03, 0x85, 0x0F, 0xE9, 0x03, 0x84, 0x0F, 0xEF, 0x03,
0x82, 0x0F, 0xF6, 0x03, 0x81, 0x0F, 0xFC, 0x03, 0x7F, 0x0F,
0x02, 0x04, 0x7D, 0x0F, 0x08, 0x04, 0x7C, 0x0F, 0x0E, 0x04,
0x7A, 0x0F, 0x14, 0x04, 0x79, 0x0F, 0x1A, 0x04, 0x77, 0x0F,
0x20, 0x04, 0x76, 0x0F, 0x26, 0x04, 0x74, 0x0F, 0x2C, 0x04,
0x72, 0x0F, 0x32, 0x04, 0x71, 0x0F, 0x38, 0x04, 0x6F, 0x0F,
0x3E, 0x04, 0x6D, 0x0F, 0x44, 0x04, 0x6C, 0x0F, 0x4B, 0x04,
0x6A, 0x0F, 0x51, 0x04, 0x68, 0x0F, 0x57, 0x04, 0x67, 0x0F,
0x5D, 0x04, 0x65, 0x0F, 0x63, 0x04, 0x63, 0x0F, 0x69, 0x04,
0x61, 0x0F, 0x6F, 0x04, 0x60, 0x0F, 0x75, 0x04, 0x5E, 0x0F,
0x7B, 0x04, 0x5C, 0x0F, 0x81, 0x04, 0x5A, 0x0F, 0x87, 0x04,
0x59, 0x0F, 0x8D, 0x04, 0x57, 0x0F, 0x93, 0x04, 0x55, 0x0F,
0x99, 0x04, 0x53, 0x0F, 0x9F, 0x04, 0x51, 0x0F, 0xA5, 0x04,
0x50, 0x0F, 0xAB, 0x04, 0x4E, 0x0F, 0xB1, 0x04, 0x4C, 0x0F,
0xB7, 0x04, 0x4A, 0x0F, 0xBD, 0x04, 0x48, 0x0F, 0xC3, 0x04,
0x46, 0x0F, 0xC9, 0x04, 0x45, 0x0F, 0xCF, 0x04, 0x43, 0x0F,
0xD5, 0x04, 0x41, 0x0F, 0xDB, 0x04, 0x3F, 0x0F, 0xE1, 0x04,
0x3D, 0x0F, 0xE7, 0x04, 0x3B, 0x0F, 0xED, 0x04, 0x39, 0x0F,
0xF3, 0x04, 0x37, 0x0F, 0xF9, 0x04, 0x35, 0x0F, 0xFF, 0x04,
0x33, 0x0F, 0x05, 0x05, 0x31, 0x0F, 0x0B, 0x05, 0x2F, 0x0F,
0x11, 0x05, 0x2D, 0x0F, 0x17, 0x05, 0x2B, 0x0F, 0x1D, 0x05,
0x29, 0x0F, 0x23, 0x05, 0x27, 0x0F, 0x29, 0x05, 0x25, 0x0F,
0x2F, 0x05, 0x23, 0x0F, 0x34, 0x05, 0x21, 0x0F, 0x3A, 0x05,
0x1F, 0x0F, 0x40, 0x05, 0x1D, 0x0F, 0x46, 0x05, 0x1B, 0x0F,
0x4C, 0x05, 0x19, 0x0F, 0x52, 0x05, 0x17, 0x0F, 0x58, 0x05,
0x15, 0x0F, 0x5E, 0x05, 0x13, 0x0F, 0x64, 0x05, 0x11, 0x0F,
0x6A, 0x05, 0x0E, 0x0F, 0x70, 0x05, 0x0C, 0x0F, 0x76, 0x05,
0x0A, 0x0F, 0x7C, 0x05, 0x08, 0x0F, 0x81, 0x05, 0x06, 0x0F,
0x87, 0x05, 0x04, 0x0F, 0x8D, 0x05, 0x02, 0x0F, 0x93, 0x05,
0xFF, 0x0E, 0x99, 0x05, 0xFD, 0x0E, 0x9F, 0x05, 0xFB, 0x0E,
0xA5, 0x05, 0xF9, 0x0E, 0xAB, 0x05, 0xF7, 0x0E, 0xB1, 0x05,
0xF4, 0x0E, 0xB6, 0x05, 0xF2, 0x0E, 0xBC, 0x05, 0xF0, 0x0E,
0xC2, 0x05, 0xEE, 0x0E, 0xC8, 0x05, 0xEB, 0x0E, 0xCE, 0x05,
0xE9, 0x0E, 0xD4, 0x05, 0xE7, 0x0E, 0xDA, 0x05, 0xE4, 0x0E,
0xDF, 0x05, 0xE2, 0x0E, 0xE5, 0x05, 0xE0, 0x0E, 0xEB, 0x05,
0xDD, 0x0E, 0xF1, 0x05, 0xDB, 0x0E, 0xF7, 0x05, 0xD9, 0x0E,
0xFD, 0x05, 0xD6, 0x0E, 0x02, 0x06, 0xD4, 0x0E, 0x08, 0x06,
0xD2, 0x0E, 0x0E, 0x06, 0xCF, 0x0E, 0x14, 0x06, 0xCD, 0x0E,
0x1A, 0x06, 0xCB, 0x0E, 0x1F, 0x06, 0xC8, 0x0E, 0x25, 0x06,
0xC6, 0x0E, 0x2B, 0x06, 0xC3, 0x0E, 0x31, 0x06, 0xC1, 0x0E,
0x37, 0x06, 0xBF, 0x0E, 0x3C, 0x06, 0xBC, 0x0E, 0x42, 0x06,
0xBA, 0x0E, 0x48, 0x06, 0xB7, 0x0E, 0x4E, 0x06, 0xB5, 0x0E,
0x54, 0x06, 0xB2, 0x0E, 0x59, 0x06, 0xB0, 0x0E, 0x5F, 0x06,
0xAD, 0x0E, 0x65, 0x06, 0xAB, 0x0E, 0x6B, 0x06, 0xA8, 0x0E,
0x70, 0x06, 0xA6, 0x0E, 0x76, 0x06, 0xA3, 0x0E, 0x7C, 0x06,
0xA1, 0x0E, 0x82, 0x06, 0x9E, 0x0E, 0x87, 0x06, 0x9B, 0x0E,
0x8D, 0x06, 0x99, 0x0E, 0x93, 0x06, 0x96, 0x0E, 0x99, 0x06,
0x94, 0x0E, 0x9E, 0x06, 0x91, 0x0E, 0xA4, 0x06, 0x8F, 0x0E,
0xAA, 0x06, 0x8C, 0x0E, 0xAF, 0x06, 0x89, 0x0E, 0xB5, 0x06,
0x87, 0x0E, 0xBB, 0x06, 0x84, 0x0E, 0xC1, 0x06, 0x81, 0x0E,
0xC6, 0x06, 0x7F, 0x0E, 0xCC, 0x06, 0x7C, 0x0E, 0xD2, 0x06,
0x79, 0x0E, 0xD7, 0x06, 0x77, 0x0E, 0xDD, 0x06, 0x74, 0x0E,
0xE3, 0x06, 0x71, 0x0E, 0xE8, 0x06, 0x6F, 0x0E, 0xEE, 0x06,
0x6C, 0x0E, 0xF4, 0x06, 0x69, 0x0E, 0xF9, 0x06, 0x66, 0x0E,
0xFF, 0x06, 0x64, 0x0E, 0x05, 0x07, 0x61, 0x0E, 0x0A, 0x07,
0x5E, 0x0E, 0x10, 0x07, 0x5B, 0x0E, 0x15, 0x07, 0x59, 0x0E,
0x1B, 0x07, 0x56, 0x0E, 0x21, 0x07, 0x53, 0x0E, 0x26, 0x07,
0x50, 0x0E, 0x2C, 0x07, 0x4D, 0x0E, 0x32, 0x07, 0x4B, 0x0E,
0x37, 0x07, 0x48, 0x0E, 0x3D, 0x07, 0x45, 0x0E, 0x42, 0x07,
0x42, 0x0E, 0x48, 0x07, 0x3F, 0x0E, 0x4E, 0x07, 0x3C, 0x0E,
0x53, 0x07, 0x3A, 0x0E, 0x59, 0x07, 0x37, 0x0E, 0x5E, 0x07,
0x34, 0x0E, 0x64, 0x07, 0x31, 0x0E, 0x6A, 0x07, 0x2E, 0x0E,
0x6F, 0x07, 0x2B, 0x0E, 0x75, 0x07, 0x28, 0x0E, 0x7A, 0x07,
0x25, 0x0E, 0x80, 0x07, 0x22, 0x0E, 0x85, 0x07, 0x1F, 0x0E,
0x8B, 0x07, 0x1C, 0x0E, 0x90, 0x07, 0x19, 0x0E, 0x96, 0x07,
0x16, 0x0E, 0x9B, 0x07, 0x13, 0x0E, 0xA1, 0x07, 0x10, 0x0E,
0xA6, 0x07, 0x0D, 0x0E, 0xAC, 0x07, 0x0A, 0x0E, 0xB2, 0x07,
0x07, 0x0E, 0xB7, 0x07, 0x04, 0x0E, 0xBD, 0x07, 0x01, 0x0E,
0xC2, 0x07, 0xFE, 0x0D, 0xC8, 0x07, 0xFB, 0x0D, 0xCD, 0x07,
0xF8, 0x0D, 0xD2, 0x07, 0xF5, 0x0D, 0xD8, 0x07, 0xF2, 0x0D,
0xDD, 0x07, 0xEF, 0x0D, 0xE3, 0x07, 0xEC, 0x0D, 0xE8, 0x07,
0xE9, 0x0D, 0xEE, 0x07, 0xE6, 0x0D, 0xF3, 0x07, 0xE3, 0x0D,
0xF9, 0x07, 0xDF, 0x0D, 0xFE, 0x07, 0xDC, 0x0D, 0x04, 0x08,
0xD9, 0x0D, 0x09, 0x08, 0xD6, 0x0D, 0x0E, 0x08, 0xD3, 0x0D,
0x14, 0x08, 0xD0, 0x0D, 0x19, 0x08, 0xCC, 0x0D, 0x1F, 0x08,
0xC9, 0x0D, 0x24, 0x08, 0xC6, 0x0D, 0x2A, 0x08, 0xC3, 0x0D,
0x2F, 0x08, 0xC0, 0x0D, 0x34, 0x08, 0xBC, 0x0D, 0x3A, 0x08,
0xB9, 0x0D, 0x3F, 0x08, 0xB6, 0x0D, 0x45, 0x08, 0xB3, 0x0D,
0x4A, 0x08, 0xB0, 0x0D, 0x4F, 0x08, 0xAC, 0x0D, 0x55, 0x08,
0xA9, 0x0D, 0x5A, 0x08, 0xA6, 0x0D, 0x5F, 0x08, 0xA2, 0x0D,
0x65, 0x08, 0x9F, 0x0D, 0x6A, 0x08, 0x9C, 0x0D, 0x6F, 0x08,
0x99, 0x0D, 0x75, 0x08, 0x95, 0x0D, 0x7A, 0x08, 0x92, 0x0D,
0x7F, 0x08, 0x8F, 0x0D, 0x85, 0x08, 0x8B, 0x0D, 0x8A, 0x08,
0x88, 0x0D, 0x8F, 0x08, 0x85, 0x0D, 0x95, 0x08, 0x81, 0x0D,
0x9A, 0x08, 0x7E, 0x0D, 0x9F, 0x08, 0x7A, 0x0D, 0xA5, 0x08,
0x77, 0x0D, 0xAA, 0x08, 0x74, 0x0D, 0xAF, 0x08, 0x70, 0x0D,
0xB4, 0x08, 0x6D, 0x0D, 0xBA, 0x08, 0x69, 0x0D, 0xBF, 0x08,
0x66, 0x0D, 0xC4, 0x08, 0x62, 0x0D, 0xC9, 0x08, 0x5F, 0x0D,
0xCF, 0x08, 0x5C, 0x0D, 0xD4, 0x08, 0x58, 0x0D, 0xD9, 0x08,
0x55, 0x0D, 0xDE, 0x08, 0x51, 0x0D, 0xE4, 0x08, 0x4E, 0x0D,
0xE9, 0x08, 0x4A, 0x0D, 0xEE, 0x08, 0x47, 0x0D, 0xF3, 0x08,
0x43, 0x0D, 0xF8, 0x08, 0x40, 0x0D, 0xFE, 0x08, 0x3C, 0x0D,
0x03, 0x09, 0x39, 0x0D, 0x08, 0x09, 0x35, 0x0D, 0x0D, 0x09,
0x32, 0x0D, 0x12, 0x09, 0x2E, 0x0D, 0x18, 0x09, 0x2A, 0x0D,
0x1D, 0x09, 0x27, 0x0D, 0x22, 0x09, 0x23, 0x0D, 0x27, 0x09,
0x20, 0x0D, 0x2C, 0x09, 0x1C, 0x0D, 0x31, 0x09, 0x18, 0x0D,
0x37, 0x09, 0x15, 0x0D, 0x3C, 0x09, 0x11, 0x0D, 0x41, 0x09,
0x0E, 0x0D, 0x46, 0x09, 0x0A, 0x0D, 0x4B, 0x09, 0x06, 0x0D,
0x50, 0x09, 0x03, 0x0D, 0x55, 0x09, 0xFF, 0x0C, 0x5A, 0x09,
0xFB, 0x0C, 0x5F, 0x09, 0xF8, 0x0C, 0x65, 0x09, 0xF4, 0x0C,
0x6A, 0x09, 0xF0, 0x0C, 0x6F, 0x09, 0xED, 0x0C, 0x74, 0x09,
0xE9, 0x0C, 0x79, 0x09, 0xE5, 0x0C, 0x7E, 0x09, 0xE1, 0x0C,
0x83, 0x09, 0xDE, 0x0C, 0x88, 0x09, 0xDA, 0x0C, 0x8D, 0x09,
0xD6, 0x0C, 0x92, 0x09, 0xD2, 0x0C, 0x97, 0x09, 0xCF, 0x0C,
0x9C, 0x09, 0xCB, 0x0C, 0xA1, 0x09, 0xC7, 0x0C, 0xA6, 0x09,
0xC3, 0x0C, 0xAB, 0x09, 0xC0, 0x0C, 0xB0, 0x09, 0xBC, 0x0C,
0xB5, 0x09, 0xB8, 0x0C, 0xBA, 0x09, 0xB4, 0x0C, 0xBF, 0x09,
0xB0, 0x0C, 0xC4, 0x09, 0xAC, 0x0C, 0xC9, 0x09, 0xA9, 0x0C,
0xCE, 0x09, 0xA5, 0x0C, 0xD3, 0x09, 0xA1, 0x0C, 0xD8, 0x09,
0x9D, 0x0C, 0xDD, 0x09, 0x99, 0x0C, 0xE2, 0x09, 0x95, 0x0C,
0xE7, 0x09, 0x91, 0x0C, 0xEC, 0x09, 0x8E, 0x0C, 0xF1, 0x09,
0x8A, 0x0C, 0xF6, 0x09, 0x86, 0x0C, 0xFB, 0x09, 0x82, 0x0C,
0xFF, 0x09, 0x7E, 0x0C, 0x04, 0x0A, 0x7A, 0x0C, 0x09, 0x0A,
0x76, 0x0C, 0x0E, 0x0A, 0x72, 0x0C, 0x13, 0x0A, 0x6E, 0x0C,
0x18, 0x0A, 0x6A, 0x0C, 0x1D, 0x0A, 0x66, 0x0C, 0x22, 0x0A,
0x62, 0x0C, 0x26, 0x0A, 0x5E, 0x0C, 0x2B, 0x0A, 0x5A, 0x0C,
0x30, 0x0A, 0x56, 0x0C, 0x35, 0x0A, 0x52, 0x0C, 0x3A, 0x0A,
0x4E, 0x0C, 0x3F, 0x0A, 0x4A, 0x0C, 0x44, 0x0A, 0x46, 0x0C,
0x48, 0x0A, 0x42, 0x0C, 0x4D, 0x0A, 0x3E, 0x0C, 0x52, 0x0A,
0x3A, 0x0C, 0x57, 0x0A, 0x36, 0x0C, 0x5C, 0x0A, 0x32, 0x0C,
0x60, 0x0A, 0x2E, 0x0C, 0x65, 0x0A, 0x2A, 0x0C, 0x6A, 0x0A,
0x26, 0x0C, 0x6F, 0x0A, 0x22, 0x0C, 0x73, 0x0A, 0x1E, 0x0C,
0x78, 0x0A, 0x19, 0x0C, 0x7D, 0x0A, 0x15, 0x0C, 0x82, 0x0A,
0x11, 0x0C, 0x86, 0x0A, 0x0D, 0x0C, 0x8B, 0x0A, 0x09, 0x0C,
0x90, 0x0A, 0x05, 0x0C, 0x95, 0x0A, 0x01, 0x0C, 0x99, 0x0A,
0xFC, 0x0B, 0x9E, 0x0A, 0xF8, 0x0B, 0xA3, 0x0A, 0xF4, 0x0B,
0xA7, 0x0A, 0xF0, 0x0B, 0xAC, 0x0A, 0xEC, 0x0B, 0xB1, 0x0A,
0xE8, 0x0B, 0xB5, 0x0A, 0xE3, 0x0B, 0xBA, 0x0A, 0xDF, 0x0B,
0xBF, 0x0A, 0xDB, 0x0B, 0xC3, 0x0A, 0xD7, 0x0B, 0xC8, 0x0A,
0xD2, 0x0B, 0xCD, 0x0A, 0xCE, 0x0B, 0xD1, 0x0A, 0xCA, 0x0B,
0xD6, 0x0A, 0xC6, 0x0B, 0xDB, 0x0A, 0xC1, 0x0B, 0xDF, 0x0A,
0xBD, 0x0B, 0xE4, 0x0A, 0xB9, 0x0B, 0xE8, 0x0A, 0xB5, 0x0B,
0xED, 0x0A, 0xB0, 0x0B, 0xF2, 0x0A, 0xAC, 0x0B, 0xF6, 0x0A,
0xA8, 0x0B, 0xFB, 0x0A, 0xA3, 0x0B, 0xFF, 0x0A, 0x9F, 0x0B,
0x04, 0x0B, 0x9B, 0x0B, 0x08, 0x0B, 0x97, 0x0B, 0x0D, 0x0B,
0x92, 0x0B, 0x11, 0x0B, 0x8E, 0x0B, 0x16, 0x0B, 0x89, 0x0B,
0x1B, 0x0B, 0x85, 0x0B, 0x1F, 0x0B, 0x81, 0x0B, 0x24, 0x0B,
0x7C, 0x0B, 0x28, 0x0B, 0x78, 0x0B, 0x2D, 0x0B, 0x74, 0x0B,
0x31, 0x0B, 0x6F, 0x0B, 0x36, 0x0B, 0x6B, 0x0B, 0x3A, 0x0B,
0x66, 0x0B, 0x3E, 0x0B, 0x62, 0x0B, 0x43, 0x0B, 0x5E, 0x0B,
0x47, 0x0B, 0x59, 0x0B, 0x4C, 0x0B, 0x55, 0x0B, 0x50, 0x0B,
0x50, 0x0B, 0x55, 0x0B, 0x4C, 0x0B, 0x59, 0x0B, 0x47, 0x0B,
0x5E, 0x0B, 0x43, 0x0B, 0x62, 0x0B, 0x3E, 0x0B, 0x66, 0x0B,
0x3A, 0x0B, 0x6B, 0x0B, 0x36, 0x0B, 0x6F, 0x0B, 0x31, 0x0B,
0x74, 0x0B, 0x2D, 0x0B, 0x78, 0x0B, 0x28, 0x0B, 0x7C, 0x0B,
0x24, 0x0B, 0x81, 0x0B, 0x1F, 0x0B, 0x85, 0x0B, 0x1B, 0x0B,
0x89, 0x0B, 0x16, 0x0B, 0x8E, 0x0B, 0x11, 0x0B, 0x92, 0x0B,
0x0D, 0x0B, 0x97, 0x0B, 0x08, 0x0B, 0x9B, 0x0B, 0x04, 0x0B,
0x9F, 0x0B, 0xFF, 0x0A, 0xA3, 0x0B, 0xFB, 0x0A, 0xA8, 0x0B,
0xF6, 0x0A, 0xAC, 0x0B, 0xF2, 0x0A, 0xB0, 0x0B, 0xED, 0x0A,
0xB5, 0x0B, 0xE8, 0x0A, 0xB9, 0x0B, 0xE4, 0x0A, 0xBD, 0x0B,
0xDF, 0x0A, 0xC1, 0x0B, 0xDB, 0x0A, 0xC6, 0x0B, 0xD6, 0x0A,
0xCA, 0x0B, 0xD1, 0x0A, 0xCE, 0x0B, 0xCD, 0x0A, 0xD2, 0x0B,
0xC8, 0x0A, 0xD7, 0x0B, 0xC3, 0x0A, 0xDB, 0x0B, 0xBF, 0x0A,
0xDF, 0x0B, 0xBA, 0x0A, 0xE3, 0x0B, 0xB5, 0x0A, 0xE8, 0x0B,
0xB1, 0x0A, 0xEC, 0x0B, 0xAC, 0x0A, 0xF0, 0x0B, 0xA7, 0x0A,
0xF4, 0x0B, 0xA3, 0x0A, 0xF8, 0x0B, 0x9E, 0x0A, 0xFC, 0x0B,
0x99, 0x0A, 0x01, 0x0C, 0x95, 0x0A, 0x05, 0x0C, 0x90, 0x0A,
0x09, 0x0C, 0x8B, 0x0A, 0x0D, 0x0C, 0x86, 0x0A, 0x11, 0x0C,
0x82, 0x0A, 0x15, 0x0C, 0x7D, 0x0A, 0x19, 0x0C, 0x78, 0x0A,
0x1E, 0x0C, 0x73, 0x0A, 0x22, 0x0C, 0x6F, 0x0A, 0x26, 0x0C,
0x6A, 0x0A, 0x2A, 0x0C, 0x65, 0x0A, 0x2E, 0x0C, 0x60, 0x0A,
0x32, 0x0C, 0x5C, 0x0A, 0x36, 0x0C, 0x57, 0x0A, 0x3A, 0x0C,
0x52, 0x0A, 0x3E, 0x0C, 0x4D, 0x0A, 0x42, 0x0C, 0x48, 0x0A,
0x46, 0x0C, 0x44, 0x0A, 0x4A, 0x0C, 0x3F, 0x0A, 0x4E, 0x0C,
0x3A, 0x0A, 0x52, 0x0C, 0x35, 0x0A, 0x56, 0x0C, 0x30, 0x0A,
0x5A, 0x0C, 0x2B, 0x0A, 0x5E, 0x0C, 0x26, 0x0A, 0x62, 0x0C,
0x22, 0x0A, 0x66, 0x0C, 0x1D, 0x0A, 0x6A, 0x0C, 0x18, 0x0A,
0x6E, 0x0C, 0x13, 0x0A, 0x72, 0x0C, 0x0E, 0x0A, 0x76, 0x0C,
0x09, 0x0A, 0x7A, 0x0C, 0x04, 0x0A, 0x7E, 0x0C, 0xFF, 0x09,
0x82, 0x0C, 0xFB, 0x09, 0x86, 0x0C, 0xF6, 0x09, 0x8A, 0x0C,
0xF1, 0x09, 0x8E, 0x0C, 0xEC, 0x09, 0x91, 0x0C, 0xE7, 0x09,
0x95, 0x0C, 0xE2, 0x09, 0x99, 0x0C, 0xDD, 0x09, 0x9D, 0x0C,
0xD8, 0x09, 0xA1, 0x0C, 0xD3, 0x09, 0xA5, 0x0C, 0xCE, 0x09,
0xA9, 0x0C, 0xC9, 0x09, 0xAC, 0x0C, 0xC4, 0x09, 0xB0, 0x0C,
0xBF, 0x09, 0xB4, 0x0C, 0xBA, 0x09, 0xB8, 0x0C, 0xB5, 0x09,
0xBC, 0x0C, 0xB0, 0x09, 0xC0, 0x0C, 0xAB, 0x09, 0xC3, 0x0C,
0xA6, 0x09, 0xC7, 0x0C, 0xA1, 0x09, 0xCB, 0x0C, 0x9C, 0x09,
0xCF, 0x0C, 0x97, 0x09, 0xD2, 0x0C, 0x92, 0x09, 0xD6, 0x0C,
0x8D, 0x09, 0xDA, 0x0C, 0x88, 0x09, 0xDE, 0x0C, 0x83, 0x09,
0xE1, 0x0C, 0x7E, 0x09, 0xE5, 0x0C, 0x79, 0x09, 0xE9, 0x0C,
0x74, 0x09, 0xED, 0x0C, 0x6F, 0x09, 0xF0, 0x0C, 0x6A, 0x09,
0xF4, 0x0C, 0x65, 0x09, 0xF8, 0x0C, 0x5F, 0x09, 0xFB, 0x0C,
0x5A, 0x09, 0xFF, 0x0C, 0x55, 0x09, 0x03, 0x0D, 0x50, 0x09,
0x06, 0x0D, 0x4B, 0x09, 0x0A, 0x0D, 0x46, 0x09, 0x0E, 0x0D,
0x41, 0x09, 0x11, 0x0D, 0x3C, 0x09, 0x15, 0x0D, 0x37, 0x09,
0x18, 0x0D, 0x31, 0x09, 0x1C, 0x0D, 0x2C, 0x09, 0x20, 0x0D,
0x27, 0x09, 0x23, 0x0D, 0x22, 0x09, 0x27, 0x0D, 0x1D, 0x09,
0x2A, 0x0D, 0x18, 0x09, 0x2E, 0x0D, 0x12, 0x09, 0x32, 0x0D,
0x0D, 0x09, 0x35, 0x0D, 0x08, 0x09, 0x39, 0x0D, 0x03, 0x09,
0x3C, 0x0D, 0xFE, 0x08, 0x40, 0x0D, 0xF8, 0x08, 0x43, 0x0D,
0xF3, 0x08, 0x47, 0x0D, 0xEE, 0x08, 0x4A, 0x0D, 0xE9, 0x08,
0x4E, 0x0D, 0xE4, 0x08, 0x51, 0x0D, 0xDE, 0x08, 0x55, 0x0D,
0xD9, 0x08, 0x58, 0x0D, 0xD4, 0x08, 0x5C, 0x0D, 0xCF, 0x08,
0x5F, 0x0D, 0xC9, 0x08, 0x62, 0x0D, 0xC4, 0x08, 0x66, 0x0D,
0xBF, 0x08, 0x69, 0x0D, 0xBA, 0x08, 0x6D, 0x0D, 0xB4, 0x08,
0x70, 0x0D, 0xAF, 0x08, 0x74, 0x0D, 0xAA, 0x08, 0x77, 0x0D,
0xA5, 0x08, 0x7A, 0x0D, 0x9F, 0x08, 0x7E, 0x0D, 0x9A, 0x08,
0x81, 0x0D, 0x95, 0x08, 0x85, 0x0D, 0x8F, 0x08, 0x88, 0x0D,
0x8A, 0x08, 0x8B, 0x0D, 0x85, 0x08, 0x8F, 0x0D, 0x7F, 0x08,
0x92, 0x0D, 0x7A, 0x08, 0x95, 0x0D, 0x75, 0x08, 0x99, 0x0D,
0x6F, 0x08, 0x9C, 0x0D, 0x6A, 0x08, 0x9F, 0x0D, 0x65, 0x08,
0xA2, 0x0D, 0x5F, 0x08, 0xA6, 0x0D, 0x5A, 0x08, 0xA9, 0x0D,
0x55, 0x08, 0xAC, 0x0D, 0x4F, 0x08, 0xB0, 0x0D, 0x4A, 0x08,
0xB3, 0x0D, 0x45, 0x08, 0xB6, 0x0D, 0x3F, 0x08, 0xB9, 0x0D,
0x3A, 0x08, 0xBC, 0x0D, 0x34, 0x08, 0xC0, 0x0D, 0x2F, 0x08,
0xC3, 0x0D, 0x2A, 0x08, 0xC6, 0x0D, 0x24, 0x08, 0xC9, 0x0D,
0x1F, 0x08, 0xCC, 0x0D, 0x19, 0x08, 0xD0, 0x0D, 0x14, 0x08,
0xD3, 0x0D, 0x0E, 0x08, 0xD6, 0x0D, 0x09, 0x08, 0xD9, 0x0D,
0x04, 0x08, 0xDC, 0x0D, 0xFE, 0x07, 0xDF, 0x0D, 0xF9, 0x07,
0xE3, 0x0D, 0xF3, 0x07, 0xE6, 0x0D, 0xEE, 0x07, 0xE9, 0x0D,
0xE8, 0x07, 0xEC, 0x0D, 0xE3, 0x07, 0xEF, 0x0D, 0xDD, 0x07,
0xF2, 0x0D, 0xD8, 0x07, 0xF5, 0x0D, 0xD2, 0x07, 0xF8, 0x0D,
0xCD, 0x07, 0xFB, 0x0D, 0xC8, 0x07, 0xFE, 0x0D, 0xC2, 0x07,
0x01, 0x0E, 0xBD, 0x07, 0x04, 0x0E, 0xB7, 0x07, 0x07, 0x0E,
0xB2, 0x07, 0x0A, 0x0E, 0xAC, 0x07, 0x0D, 0x0E, 0xA6, 0x07,
0x10, 0x0E, 0xA1, 0x07, 0x13, 0x0E, 0x9B, 0x07, 0x16, 0x0E,
0x96, 0x07, 0x19, 0x0E, 0x90, 0x07, 0x1C, 0x0E, 0x8B, 0x07,
0x1F, 0x0E, 0x85, 0x07, 0x22, 0x0E, 0x80, 0x07, 0x25, 0x0E,
0x7A, 0x07, 0x28, 0x0E, 0x75, 0x07, 0x2B, 0x0E, 0x6F, 0x07,
0x2E, 0x0E, 0x6A, 0x07, 0x31, 0x0E, 0x64, 0x07, 0x34, 0x0E,
0x5E, 0x07, 0x37, 0x0E, 0x59, 0x07, 0x3A, 0x0E, 0x53, 0x07,
0x3C, 0x0E, 0x4E, 0x07, 0x3F, 0x0E, 0x48, 0x07, 0x42, 0x0E,
0x42, 0x07, 0x45, 0x0E, 0x3D, 0x07, 0x48, 0x0E, 0x37, 0x07,
0x4B, 0x0E, 0x32, 0x07, 0x4D, 0x0E, 0x2C, 0x07, 0x50, 0x0E,
0x26, 0x07, 0x53, 0x0E, 0x21, 0x07, 0x56, 0x0E, 0x1B, 0x07,
0x59, 0x0E, 0x15, 0x07, 0x5B, 0x0E, 0x10, 0x07, 0x5E, 0x0E,
0x0A, 0x07, 0x61, 0x0E, 0x05, 0x07, 0x64, 0x0E, 0xFF, 0x06,
0x66, 0x0E, 0xF9, 0x06, 0x69, 0x0E, 0xF4, 0x06, 0x6C, 0x0E,
0xEE, 0x06, 0x6F, 0x0E, 0xE8, 0x06, 0x71, 0x0E, 0xE3, 0x06,
0x74, 0x0E, 0xDD, 0x06, 0x77, 0x0E, 0xD7, 0x06, 0x79, 0x0E,
0xD2, 0x06, 0x7C, 0x0E, 0xCC, 0x06, 0x7F, 0x0E, 0xC6, 0x06,
0x81, 0x0E, 0xC1, 0x06, 0x84, 0x0E, 0xBB, 0x06, 0x87, 0x0E,
0xB5, 0x06, 0x89, 0x0E, 0xAF, 0x06, 0x8C, 0x0E, 0xAA, 0x06,
0x8F, 0x0E, 0xA4, 0x06, 0x91, 0x0E, 0x9E, 0x06, 0x94, 0x0E,
0x99, 0x06, 0x96, 0x0E, 0x93, 0x06, 0x99, 0x0E, 0x8D, 0x06,
0x9B, 0x0E, 0x87, 0x06, 0x9E, 0x0E, 0x82, 0x06, 0xA1, 0x0E,
0x7C, 0x06, 0xA3, 0x0E, 0x76, 0x06, 0xA6, 0x0E, 0x70, 0x06,
0xA8, 0x0E, 0x6B, 0x06, 0xAB, 0x0E, 0x65, 0x06, 0xAD, 0x0E,
0x5F, 0x06, 0xB0, 0x0E, 0x59, 0x06, 0xB2, 0x0E, 0x54, 0x06,
0xB5, 0x0E, 0x4E, 0x06, 0xB7, 0x0E, 0x48, 0x06, 0xBA, 0x0E,
0x42, 0x06, 0xBC, 0x0E, 0x3C, 0x06, 0xBF, 0x0E, 0x37, 0x06,
0xC1, 0x0E, 0x31, 0x06, 0xC3, 0x0E, 0x2B, 0x06, 0xC6, 0x0E,
0x25, 0x06, 0xC8, 0x0E, 0x1F, 0x06, 0xCB, 0x0E, 0x1A, 0x06,
0xCD, 0x0E, 0x14, 0x06, 0xCF, 0x0E, 0x0E, 0x06, 0xD2, 0x0E,
0x08, 0x06, 0xD4, 0x0E, 0x02, 0x06, 0xD6, 0x0E, 0xFD, 0x05,
0xD9, 0x0E, 0xF7, 0x05, 0xDB, 0x0E, 0xF1, 0x05, 0xDD, 0x0E,
0xEB, 0x05, 0xE0, 0x0E, 0xE5, 0x05, 0xE2, 0x0E, 0xDF, 0x05,
0xE4, 0x0E, 0xDA, 0x05, 0xE7, 0x0E, 0xD4, 0x05, 0xE9, 0x0E,
0xCE, 0x05, 0xEB, 0x0E, 0xC8, 0x05, 0xEE, 0x0E, 0xC2, 0x05,
0xF0, 0x0E, 0xBC, 0x05, 0xF2, 0x0E, 0xB6, 0x05, 0xF4, 0x0E,
0xB1, 0x05, 0xF7, 0x0E, 0xAB, 0x05, 0xF9, 0x0E, 0xA5, 0x05,
0xFB, 0x0E, 0x9F, 0x05, 0xFD, 0x0E, 0x99, 0x05, 0xFF, 0x0E,
0x93, 0x05, 0x02, 0x0F, 0x8D, 0x05, 0x04, 0x0F, 0x87, 0x05,
0x06, 0x0F, 0x81, 0x05, 0x08, 0x0F, 0x7C, 0x05, 0x0A, 0x0F,
0x76, 0x05, 0x0C, 0x0F, 0x70, 0x05, 0x0E, 0x0F, 0x6A, 0x05,
0x11, 0x0F, 0x64, 0x05, 0x13, 0x0F, 0x5E, 0x05, 0x15, 0x0F,
0x58, 0x05, 0x17, 0x0F, 0x52, 0x05, 0x19, 0x0F, 0x4C, 0x05,
0x1B, 0x0F, 0x46, 0x05, 0x1D, 0x0F, 0x40, 0x05, 0x1F, 0x0F,
0x3A, 0x05, 0x21, 0x0F, 0x34, 0x05, 0x23, 0x0F, 0x2F, 0x05,
0x25, 0x0F, 0x29, 0x05, 0x27, 0x0F, 0x23, 0x05, 0x29, 0x0F,
0x1D, 0x05, 0x2B, 0x0F, 0x17, 0x05, 0x2D, 0x0F, 0x11, 0x05,
0x2F, 0x0F, 0x0B, 0x05, 0x31, 0x0F, 0x05, 0x05, 0x33, 0x0F,
0xFF, 0x04, 0x35, 0x0F, 0xF9, 0x04, 0x37, 0x0F, 0xF3, 0x04,
0x39, 0x0F, 0xED, 0x04, 0x3B, 0x0F, 0xE7, 0x04, 0x3D, 0x0F,
0xE1, 0x04, 0x3F, 0x0F, 0xDB, 0x04, 0x41, 0x0F, 0xD5, 0x04,
0x43, 0x0F, 0xCF, 0x04, 0x45, 0x0F, 0xC9, 0x04, 0x46, 0x0F,
0xC3, 0x04, 0x48, 0x0F, 0xBD, 0x04, 0x4A, 0x0F, 0xB7, 0x04,
0x4C, 0x0F, 0xB1, 0x04, 0x4E, 0x0F, 0xAB, 0x04, 0x50, 0x0F,
0xA5, 0x04, 0x51, 0x0F, 0x9F, 0x04, 0x53, 0x0F, 0x99, 0x04,
0x55, 0x0F, 0x93, 0x04, 0x57, 0x0F, 0x8D, 0x04, 0x59, 0x0F,
0x87, 0x04, 0x5A, 0x0F, 0x81, 0x04, 0x5C, 0x0F, 0x7B, 0x04,
0x5E, 0x0F, 0x75, 0x04, 0x60, 0x0F, 0x6F, 0x04, 0x61, 0x0F,
0x69, 0x04, 0x63, 0x0F, 0x63, 0x04, 0x65, 0x0F, 0x5D, 0x04,
0x67, 0x0F, 0x57, 0x04, 0x68, 0x0F, 0x51, 0x04, 0x6A, 0x0F,
0x4B, 0x04, 0x6C, 0x0F, 0x44, 0x04, 0x6D, 0x0F, 0x3E, 0x04,
0x6F, 0x0F, 0x38, 0x04, 0x71, 0x0F, 0x32, 0x04, 0x72, 0x0F,
0x2C, 0x04, 0x74, 0x0F, 0x26, 0x04, 0x76, 0x0F, 0x20, 0x04,
0x77, 0x0F, 0x1A, 0x04, 0x79, 0x0F, 0x14, 0x04, 0x7A, 0x0F,
0x0E, 0x04, 0x7C, 0x0F, 0x08, 0x04, 0x7D, 0x0F, 0x02, 0x04,
0x7F, 0x0F, 0xFC, 0x03, 0x81, 0x0F, 0xF6, 0x03, 0x82, 0x0F,
0xEF, 0x03, 0x84, 0x0F, 0xE9, 0x03, 0x85, 0x0F, 0xE3, 0x03,
0x87, 0x0F, 0xDD, 0x03, 0x88, 0x0F, 0xD7, 0x03, 0x8A, 0x0F,
0xD1, 0x03, 0x8B, 0x0F, 0xCB, 0x03, 0x8D, 0x0F, 0xC5, 0x03,
0x8E, 0x0F, 0xBF, 0x03, 0x90, 0x0F, 0xB9, 0x03, 0x91, 0x0F,
0xB2, 0x03, 0x93, 0x0F, 0xAC, 0x03, 0x94, 0x0F, 0xA6, 0x03,
0x95, 0x0F, 0xA0, 0x03, 0x97, 0x0F, 0x9A, 0x03, 0x98, 0x0F,
0x94, 0x03, 0x9A, 0x0F, 0x8E, 0x03, 0x9B, 0x0F, 0x88, 0x03,
0x9C, 0x0F, 0x81, 0x03, 0x9E, 0x0F, 0x7B, 0x03, 0x9F, 0x0F,
0x75, 0x03, 0xA1, 0x0F, 0x6F, 0x03, 0xA2, 0x0F, 0x69, 0x03,
0xA3, 0x0F, 0x63, 0x03, 0xA5, 0x0F, 0x5D, 0x03, 0xA6, 0x0F,
0x56, 0x03, 0xA7, 0x0F, 0x50, 0x03, 0xA8, 0x0F, 0x4A, 0x03,
0xAA, 0x0F, 0x44, 0x03, 0xAB, 0x0F, 0x3E, 0x03, 0xAC, 0x0F,
0x38, 0x03, 0xAE, 0x0F, 0x32, 0x03, 0xAF, 0x0F, 0x2B, 0x03,
0xB0, 0x0F, 0x25, 0x03, 0xB1, 0x0F, 0x1F, 0x03, 0xB3, 0x0F,
0x19, 0x03, 0xB4, 0x0F, 0x13, 0x03, 0xB5, 0x0F, 0x0D, 0x03,
0xB6, 0x0F, 0x06, 0x03, 0xB7, 0x0F, 0x00, 0x03, 0xB8, 0x0F,
0xFA, 0x02, 0xBA, 0x0F, 0xF4, 0x02, 0xBB, 0x0F, 0xEE, 0x02,
0xBC, 0x0F, 0xE8, 0x02, 0xBD, 0x0F, 0xE1, 0x02, 0xBE, 0x0F,
0xDB, 0x02, 0xBF, 0x0F, 0xD5, 0x02, 0xC0, 0x0F, 0xCF, 0x02,
0xC2, 0x0F, 0xC9, 0x02, 0xC3, 0x0F, 0xC2, 0x02, 0xC4, 0x0F,
0xBC, 0x02, 0xC5, 0x0F, 0xB6, 0x02, 0xC6, 0x0F, 0xB0, 0x02,
0xC7, 0x0F, 0xAA, 0x02, 0xC8, 0x0F, 0xA3, 0x02, 0xC9, 0x0F,
0x9D, 0x02, 0xCA, 0x0F, 0x97, 0x02, 0xCB, 0x0F, 0x91, 0x02,
0xCC, 0x0F, 0x8B, 0x02, 0xCD, 0x0F, 0x84, 0x02, 0xCE, 0x0F,
0x7E, 0x02, 0xCF, 0x0F, 0x78, 0x02, 0xD0, 0x0F, 0x72, 0x02,
0xD1, 0x0F, 0x6C, 0x02, 0xD2, 0x0F, 0x65, 0x02, 0xD3, 0x0F,
0x5F, 0x02, 0xD4, 0x0F, 0x59, 0x02, 0xD5, 0x0F, 0x53, 0x02,
0xD5, 0x0F, 0x4D, 0x02, 0xD6, 0x0F, 0x46, 0x02, 0xD7, 0x0F,
0x40, 0x02, 0xD8, 0x0F, 0x3A, 0x02, 0xD9, 0x0F, 0x34, 0x02,
0xDA, 0x0F, 0x2D, 0x02, 0xDB, 0x0F, 0x27, 0x02, 0xDC, 0x0F,
0x21, 0x02, 0xDC, 0x0F, 0x1B, 0x02, 0xDD, 0x0F, 0x15, 0x02,
0xDE, 0x0F, 0x0E, 0x02, 0xDF, 0x0F, 0x08, 0x02, 0xE0, 0x0F,
0x02, 0x02, 0xE0, 0x0F, 0xFC, 0x01, 0xE1, 0x0F, 0xF5, 0x01,
0xE2, 0x0F, 0xEF, 0x01, 0xE3, 0x0F, 0xE9, 0x01, 0xE3, 0x0F,
0xE3, 0x01, 0xE4, 0x0F, 0xDC, 0x01, 0xE5, 0x0F, 0xD6, 0x01,
0xE6, 0x0F, 0xD0, 0x01, 0xE6, 0x0F, 0xCA, 0x01, 0xE7, 0x0F,
0xC3, 0x01, 0xE8, 0x0F, 0xBD, 0x01, 0xE8, 0x0F, 0xB7, 0x01,
0xE9, 0x0F, 0xB1, 0x01, 0xEA, 0x0F, 0xAA, 0x01, 0xEA, 0x0F,
0xA4, 0x01, 0xEB, 0x0F, 0x9E, 0x01, 0xEC, 0x0F, 0x98, 0x01,
0xEC, 0x0F, 0x91, 0x01, 0xED, 0x0F, 0x8B, 0x01, 0xED, 0x0F,
0x85, 0x01, 0xEE, 0x0F, 0x7F, 0x01, 0xEF, 0x0F, 0x78, 0x01,
0xEF, 0x0F, 0x72, 0x01, 0xF0, 0x0F, 0x6C, 0x01, 0xF0, 0x0F,
0x66, 0x01, 0xF1, 0x0F, 0x5F, 0x01, 0xF1, 0x0F, 0x59, 0x01,
0xF2, 0x0F, 0x53, 0x01, 0xF2, 0x0F, 0x4D, 0x01, 0xF3, 0x0F,
0x46, 0x01, 0xF3, 0x0F, 0x40, 0x01, 0xF4, 0x0F, 0x3A, 0x01,
0xF4, 0x0F, 0x34, 0x01, 0xF5, 0x0F, 0x2D, 0x01, 0xF5, 0x0F,
0x27, 0x01, 0xF6, 0x0F, 0x21, 0x01, 0xF6, 0x0F, 0x1B, 0x01,
0xF7, 0x0F, 0x14, 0x01, 0xF7, 0x0F, 0x0E, 0x01, 0xF8, 0x0F,
0x08, 0x01, 0xF8, 0x0F, 0x01, 0x01, 0xF8, 0x0F, 0xFB, 0x00,
0xF9, 0x0F, 0xF5, 0x00, 0xF9, 0x0F, 0xEF, 0x00, 0xF9, 0x0F,
0xE8, 0x00, 0xFA, 0x0F, 0xE2, 0x00, 0xFA, 0x0F, 0xDC, 0x00,
0xFA, 0x0F, 0xD6, 0x00, 0xFB, 0x0F, 0xCF, 0x00, 0xFB, 0x0F,
0xC9, 0x00, 0xFB, 0x0F, 0xC3, 0x00, 0xFC, 0x0F, 0xBC, 0x00,
0xFC, 0x0F, 0xB6, 0x00, 0xFC, 0x0F, 0xB0, 0x00, 0xFC, 0x0F,
0xAA, 0x00, 0xFD, 0x0F, 0xA3, 0x00, 0xFD, 0x0F, 0x9D, 0x00,
0xFD, 0x0F, 0x97, 0x00, 0xFD, 0x0F, 0x90, 0x00, 0xFE, 0x0F,
0x8A, 0x00, 0xFE, 0x0F, 0x84, 0x00, 0xFE, 0x0F, 0x7E, 0x00,
0xFE, 0x0F, 0x77, 0x00, 0xFE, 0x0F, 0x71, 0x00, 0xFF, 0x0F,
0x6B, 0x00, 0xFF, 0x0F, 0x65, 0x00, 0xFF, 0x0F, 0x5E, 0x00,
0xFF, 0x0F, 0x58, 0x00, 0xFF, 0x0F, 0x52, 0x00, 0xFF, 0x0F,
0x4B, 0x00, 0xFF, 0x0F, 0x45, 0x00, 0x00, 0x10, 0x3F, 0x00,
0x00, 0x10, 0x39, 0x00, 0x00, 0x10, 0x32, 0x00, 0x00, 0x10,
0x2C, 0x00, 0x00, 0x10, 0x26, 0x00, 0x00, 0x10, 0x1F, 0x00,
0x00, 0x10, 0x19, 0x00, 0x00, 0x10, 0x13, 0x00, 0x00, 0x10,
0x0D, 0x00, 0x00, 0x10, 0x06, 0x00, 0x00, 0x10, 0x00, 0x00,
0x00, 0x10, 0xFA, 0xFF, 0x00, 0x10, 0xF3, 0xFF, 0x00, 0x10,
0xED, 0xFF, 0x00, 0x10, 0xE7, 0xFF, 0x00, 0x10, 0xE1, 0xFF,
0x00, 0x10, 0xDA, 0xFF, 0x00, 0x10, 0xD4, 0xFF, 0x00, 0x10,
0xCE, 0xFF, 0x00, 0x10, 0xC7, 0xFF, 0x00, 0x10, 0xC1, 0xFF,
0xFF, 0x0F, 0xBB, 0xFF, 0xFF, 0x0F, 0xB5, 0xFF, 0xFF, 0x0F,
0xAE, 0xFF, 0xFF, 0x0F, 0xA8, 0xFF, 0xFF, 0x0F, 0xA2, 0xFF,
0xFF, 0x0F, 0x9B, 0xFF, 0xFF, 0x0F, 0x95, 0xFF, 0xFE, 0x0F,
0x8F, 0xFF, 0xFE, 0x0F, 0x89, 0xFF, 0xFE, 0x0F, 0x82, 0xFF,
0xFE, 0x0F, 0x7C, 0xFF, 0xFE, 0x0F, 0x76, 0xFF, 0xFD, 0x0F,
0x70, 0xFF, 0xFD, 0x0F, 0x69, 0xFF, 0xFD, 0x0F, 0x63, 0xFF,
0xFD, 0x0F, 0x5D, 0xFF, 0xFC, 0x0F, 0x56, 0xFF, 0xFC, 0x0F,
0x50, 0xFF, 0xFC, 0x0F, 0x4A, 0xFF, 0xFC, 0x0F, 0x44, 0xFF,
0xFB, 0x0F, 0x3D, 0xFF, 0xFB, 0x0F, 0x37, 0xFF, 0xFB, 0x0F,
0x31, 0xFF, 0xFA, 0x0F, 0x2A, 0xFF, 0xFA, 0x0F, 0x24, 0xFF,
0xFA, 0x0F, 0x1E, 0xFF, 0xF9, 0x0F, 0x18, 0xFF, 0xF9, 0x0F,
0x11, 0xFF, 0xF9, 0x0F, 0x0B, 0xFF, 0xF8, 0x0F, 0x05, 0xFF,
0xF8, 0x0F, 0xFF, 0xFE, 0xF8, 0x0F, 0xF8, 0xFE, 0xF7, 0x0F,
0xF2, 0xFE, 0xF7, 0x0F, 0xEC, 0xFE, 0xF6, 0x0F, 0xE5, 0xFE,
0xF6, 0x0F, 0xDF, 0xFE, 0xF5, 0x0F, 0xD9, 0xFE, 0xF5, 0x0F,
0xD3, 0xFE, 0xF4, 0x0F, 0xCC, 0xFE, 0xF4, 0x0F, 0xC6, 0xFE,
0xF3, 0x0F, 0xC0, 0xFE, 0xF3, 0x0F, 0xBA, 0xFE, 0xF2, 0x0F,
0xB3, 0xFE, 0xF2, 0x0F, 0xAD, 0xFE, 0xF1, 0x0F, 0xA7, 0xFE,
0xF1, 0x0F, 0xA1, 0xFE, 0xF0, 0x0F, 0x9A, 0xFE, 0xF0, 0x0F,
0x94, 0xFE, 0xEF, 0x0F, 0x8E, 0xFE, 0xEF, 0x0F, 0x88, 0xFE,
0xEE, 0x0F, 0x81, 0xFE, 0xED, 0x0F, 0x7B, 0xFE, 0xED, 0x0F,
0x75, 0xFE, 0xEC, 0x0F, 0x6F, 0xFE, 0xEC, 0x0F, 0x68, 0xFE,
0xEB, 0x0F, 0x62, 0xFE, 0xEA, 0x0F, 0x5C, 0xFE, 0xEA, 0x0F,
0x56, 0xFE, 0xE9, 0x0F, 0x4F, 0xFE, 0xE8, 0x0F, 0x49, 0xFE,
0xE8, 0x0F, 0x43, 0xFE, 0xE7, 0x0F, 0x3D, 0xFE, 0xE6, 0x0F,
0x36, 0xFE, 0xE6, 0x0F, 0x30, 0xFE, 0xE5, 0x0F, 0x2A, 0xFE,
0xE4, 0x0F, 0x24, 0xFE, 0xE3, 0x0F, 0x1D, 0xFE, 0xE3, 0x0F,
0x17, 0xFE, 0xE2, 0x0F, 0x11, 0xFE, 0xE1, 0x0F, 0x0B, 0xFE,
0xE0, 0x0F, 0x04, 0xFE, 0xE0, 0x0F, 0xFE, 0xFD, 0xDF, 0x0F,
0xF8, 0xFD, 0xDE, 0x0F, 0xF2, 0xFD, 0xDD, 0x0F, 0xEB, 0xFD,
0xDC, 0x0F, 0xE5, 0xFD, 0xDC, 0x0F, 0xDF, 0xFD, 0xDB, 0x0F,
0xD9, 0xFD, 0xDA, 0x0F, 0xD3, 0xFD, 0xD9, 0x0F, 0xCC, 0xFD,
0xD8, 0x0F, 0xC6, 0xFD, 0xD7, 0x0F, 0xC0, 0xFD, 0xD6, 0x0F,
0xBA, 0xFD, 0xD5, 0x0F, 0xB3, 0xFD, 0xD5, 0x0F, 0xAD, 0xFD,
0xD4, 0x0F, 0xA7, 0xFD, 0xD3, 0x0F, 0xA1, 0xFD, 0xD2, 0x0F,
0x9B, 0xFD, 0xD1, 0x0F, 0x94, 0xFD, 0xD0, 0x0F, 0x8E, 0xFD,
0xCF, 0x0F, 0x88, 0xFD, 0xCE, 0x0F, 0x82, 0xFD, 0xCD, 0x0F,
0x7C, 0xFD, 0xCC, 0x0F, 0x75, 0xFD, 0xCB, 0x0F, 0x6F, 0xFD,
0xCA, 0x0F, 0x69, 0xFD, 0xC9, 0x0F, 0x63, 0xFD, 0xC8, 0x0F,
0x5D, 0xFD, 0xC7, 0x0F, 0x56, 0xFD, 0xC6, 0x0F, 0x50, 0xFD,
0xC5, 0x0F, 0x4A, 0xFD, 0xC4, 0x0F, 0x44, 0xFD, 0xC3, 0x0F,
0x3E, 0xFD, 0xC2, 0x0F, 0x37, 0xFD, 0xC0, 0x0F, 0x31, 0xFD,
0xBF, 0x0F, 0x2B, 0xFD, 0xBE, 0x0F, 0x25, 0xFD, 0xBD, 0x0F,
0x1F, 0xFD, 0xBC, 0x0F, 0x18, 0xFD, 0xBB, 0x0F, 0x12, 0xFD,
0xBA, 0x0F, 0x0C, 0xFD, 0xB8, 0x0F, 0x06, 0xFD, 0xB7, 0x0F,
0x00, 0xFD, 0xB6, 0x0F, 0xFA, 0xFC, 0xB5, 0x0F, 0xF3, 0xFC,
0xB4, 0x0F, 0xED, 0xFC, 0xB3, 0x0F, 0xE7, 0xFC, 0xB1, 0x0F,
0xE1, 0xFC, 0xB0, 0x0F, 0xDB, 0xFC, 0xAF, 0x0F, 0xD5, 0xFC,
0xAE, 0x0F, 0xCE, 0xFC, 0xAC, 0x0F, 0xC8, 0xFC, 0xAB, 0x0F,
0xC2, 0xFC, 0xAA, 0x0F, 0xBC, 0xFC, 0xA8, 0x0F, 0xB6, 0xFC,
0xA7, 0x0F, 0xB0, 0xFC, 0xA6, 0x0F, 0xAA, 0xFC, 0xA5, 0x0F,
0xA3, 0xFC, 0xA3, 0x0F, 0x9D, 0xFC, 0xA2, 0x0F, 0x97, 0xFC,
0xA1, 0x0F, 0x91, 0xFC, 0x9F, 0x0F, 0x8B, 0xFC, 0x9E, 0x0F,
0x85, 0xFC, 0x9C, 0x0F, 0x7F, 0xFC, 0x9B, 0x0F, 0x78, 0xFC,
0x9A, 0x0F, 0x72, 0xFC, 0x98, 0x0F, 0x6C, 0xFC, 0x97, 0x0F,
0x66, 0xFC, 0x95, 0x0F, 0x60, 0xFC, 0x94, 0x0F, 0x5A, 0xFC,
0x93, 0x0F, 0x54, 0xFC, 0x91, 0x0F, 0x4E, 0xFC, 0x90, 0x0F,
0x47, 0xFC, 0x8E, 0x0F, 0x41, 0xFC, 0x8D, 0x0F, 0x3B, 0xFC,
0x8B, 0x0F, 0x35, 0xFC, 0x8A, 0x0F, 0x2F, 0xFC, 0x88, 0x0F,
0x29, 0xFC, 0x87, 0x0F, 0x23, 0xFC, 0x85, 0x0F, 0x1D, 0xFC,
0x84, 0x0F, 0x17, 0xFC, 0x82, 0x0F, 0x11, 0xFC, 0x81, 0x0F,
0x0A, 0xFC, 0x7F, 0x0F, 0x04, 0xFC, 0x7D, 0x0F, 0xFE, 0xFB,
0x7C, 0x0F, 0xF8, 0xFB, 0x7A, 0x0F, 0xF2, 0xFB, 0x79, 0x0F,
0xEC, 0xFB, 0x77, 0x0F, 0xE6, 0xFB, 0x76, 0x0F, 0xE0, 0xFB,
0x74, 0x0F, 0xDA, 0xFB, 0x72, 0x0F, 0xD4, 0xFB, 0x71, 0x0F,
0xCE, 0xFB, 0x6F, 0x0F, 0xC8, 0xFB, 0x6D, 0x0F, 0xC2, 0xFB,
0x6C, 0x0F, 0xBC, 0xFB, 0x6A, 0x0F, 0xB5, 0xFB, 0x68, 0x0F,
0xAF, 0xFB, 0x67, 0x0F, 0xA9, 0xFB, 0x65, 0x0F, 0xA3, 0xFB,
0x63, 0x0F, 0x9D, 0xFB, 0x61, 0x0F, 0x97, 0xFB, 0x60, 0x0F,
0x91, 0xFB, 0x5E, 0x0F, 0x8B, 0xFB, 0x5C, 0x0F, 0x85, 0xFB,
0x5A, 0x0F, 0x7F, 0xFB, 0x59, 0x0F, 0x79, 0xFB, 0x57, 0x0F,
0x73, 0xFB, 0x55, 0x0F, 0x6D, 0xFB, 0x53, 0x0F, 0x67, 0xFB,
0x51, 0x0F, 0x61, 0xFB, 0x50, 0x0F, 0x5B, 0xFB, 0x4E, 0x0F,
0x55, 0xFB, 0x4C, 0x0F, 0x4F, 0xFB, 0x4A, 0x0F, 0x49, 0xFB,
0x48, 0x0F, 0x43, 0xFB, 0x46, 0x0F, 0x3D, 0xFB, 0x45, 0x0F,
0x37, 0xFB, 0x43, 0x0F, 0x31, 0xFB, 0x41, 0x0F, 0x2B, 0xFB,
0x3F, 0x0F, 0x25, 0xFB, 0x3D, 0x0F, 0x1F, 0xFB, 0x3B, 0x0F,
0x19, 0xFB, 0x39, 0x0F, 0x13, 0xFB, 0x37, 0x0F, 0x0D, 0xFB,
0x35, 0x0F, 0x07, 0xFB, 0x33, 0x0F, 0x01, 0xFB, 0x31, 0x0F,
0xFB, 0xFA, 0x2F, 0x0F, 0xF5, 0xFA, 0x2D, 0x0F, 0xEF, 0xFA,
0x2B, 0x0F, 0xE9, 0xFA, 0x29, 0x0F, 0xE3, 0xFA, 0x27, 0x0F,
0xDD, 0xFA, 0x25, 0x0F, 0xD7, 0xFA, 0x23, 0x0F, 0xD1, 0xFA,
0x21, 0x0F, 0xCC, 0xFA, 0x1F, 0x0F, 0xC6, 0xFA, 0x1D, 0x0F,
0xC0, 0xFA, 0x1B, 0x0F, 0xBA, 0xFA, 0x19, 0x0F, 0xB4, 0xFA,
0x17, 0x0F, 0xAE, 0xFA, 0x15, 0x0F, 0xA8, 0xFA, 0x13, 0x0F,
0xA2, 0xFA, 0x11, 0x0F, 0x9C, 0xFA, 0x0E, 0x0F, 0x96, 0xFA,
0x0C, 0x0F, 0x90, 0xFA, 0x0A, 0x0F, 0x8A, 0xFA, 0x08, 0x0F,
0x84, 0xFA, 0x06, 0x0F, 0x7F, 0xFA, 0x04, 0x0F, 0x79, 0xFA,
0x02, 0x0F, 0x73, 0xFA, 0xFF, 0x0E, 0x6D, 0xFA, 0xFD, 0x0E,
0x67, 0xFA, 0xFB, 0x0E, 0x61, 0xFA, 0xF9, 0x0E, 0x5B, 0xFA,
0xF7, 0x0E, 0x55, 0xFA, 0xF4, 0x0E, 0x4F, 0xFA, 0xF2, 0x0E,
0x4A, 0xFA, 0xF0, 0x0E, 0x44, 0xFA, 0xEE, 0x0E, 0x3E, 0xFA,
0xEB, 0x0E, 0x38, 0xFA, 0xE9, 0x0E, 0x32, 0xFA, 0xE7, 0x0E,
0x2C, 0xFA, 0xE4, 0x0E, 0x26, 0xFA, 0xE2, 0x0E, 0x21, 0xFA,
0xE0, 0x0E, 0x1B, 0xFA, 0xDD, 0x0E, 0x15, 0xFA, 0xDB, 0x0E,
0x0F, 0xFA, 0xD9, 0x0E, 0x09, 0xFA, 0xD6, 0x0E, 0x03, 0xFA,
0xD4, 0x0E, 0xFE, 0xF9, 0xD2, 0x0E, 0xF8, 0xF9, 0xCF, 0x0E,
0xF2, 0xF9, 0xCD, 0x0E, 0xEC, 0xF9, 0xCB, 0x0E, 0xE6, 0xF9,
0xC8, 0x0E, 0xE1, 0xF9, 0xC6, 0x0E, 0xDB, 0xF9, 0xC3, 0x0E,
0xD5, 0xF9, 0xC1, 0x0E, 0xCF, 0xF9, 0xBF, 0x0E, 0xC9, 0xF9,
0xBC, 0x0E, 0xC4, 0xF9, 0xBA, 0x0E, 0xBE, 0xF9, 0xB7, 0x0E,
0xB8, 0xF9, 0xB5, 0x0E, 0xB2, 0xF9, 0xB2, 0x0E, 0xAC, 0xF9,
0xB0, 0x0E, 0xA7, 0xF9, 0xAD, 0x0E, 0xA1, 0xF9, 0xAB, 0x0E,
0x9B, 0xF9, 0xA8, 0x0E, 0x95, 0xF9, 0xA6, 0x0E, 0x90, 0xF9,
0xA3, 0x0E, 0x8A, 0xF9, 0xA1, 0x0E, 0x84, 0xF9, 0x9E, 0x0E,
0x7E, 0xF9, 0x9B, 0x0E, 0x79, 0xF9, 0x99, 0x0E, 0x73, 0xF9,
0x96, 0x0E, 0x6D, 0xF9, 0x94, 0x0E, 0x67, 0xF9, 0x91, 0x0E,
0x62, 0xF9, 0x8F, 0x0E, 0x5C, 0xF9, 0x8C, 0x0E, 0x56, 0xF9,
0x89, 0x0E, 0x51, 0xF9, 0x87, 0x0E, 0x4B, 0xF9, 0x84, 0x0E,
0x45, 0xF9, 0x81, 0x0E, 0x3F, 0xF9, 0x7F, 0x0E, 0x3A, 0xF9,
0x7C, 0x0E, 0x34, 0xF9, 0x79, 0x0E, 0x2E, 0xF9, 0x77, 0x0E,
0x29, 0xF9, 0x74, 0x0E, 0x23, 0xF9, 0x71, 0x0E, 0x1D, 0xF9,
0x6F, 0x0E, 0x18, 0xF9, 0x6C, 0x0E, 0x12, 0xF9, 0x69, 0x0E,
0x0C, 0xF9, 0x66, 0x0E, 0x07, 0xF9, 0x64, 0x0E, 0x01, 0xF9,
0x61, 0x0E, 0xFB, 0xF8, 0x5E, 0x0E, 0xF6, 0xF8, 0x5B, 0x0E,
0xF0, 0xF8, 0x59, 0x0E, 0xEB, 0xF8, 0x56, 0x0E, 0xE5, 0xF8,
0x53, 0x0E, 0xDF, 0xF8, 0x50, 0x0E, 0xDA, 0xF8, 0x4D, 0x0E,
0xD4, 0xF8, 0x4B, 0x0E, 0xCE, 0xF8, 0x48, 0x0E, 0xC9, 0xF8,
0x45, 0x0E, 0xC3, 0xF8, 0x42, 0x0E, 0xBE, 0xF8, 0x3F, 0x0E,
0xB8, 0xF8, 0x3C, 0x0E, 0xB2, 0xF8, 0x3A, 0x0E, 0xAD, 0xF8,
0x37, 0x0E, 0xA7, 0xF8, 0x34, 0x0E, 0xA2, 0xF8, 0x31, 0x0E,
0x9C, 0xF8, 0x2E, 0x0E, 0x96, 0xF8, 0x2B, 0x0E, 0x91, 0xF8,
0x28, 0x0E, 0x8B, 0xF8, 0x25, 0x0E, 0x86, 0xF8, 0x22, 0x0E,
0x80, 0xF8, 0x1F, 0x0E, 0x7B, 0xF8, 0x1C, 0x0E, 0x75, 0xF8,
0x19, 0x0E, 0x70, 0xF8, 0x16, 0x0E, 0x6A, 0xF8, 0x13, 0x0E,
0x65, 0xF8, 0x10, 0x0E, 0x5F, 0xF8, 0x0D, 0x0E, 0x5A, 0xF8,
0x0A, 0x0E, 0x54, 0xF8, 0x07, 0x0E, 0x4E, 0xF8, 0x04, 0x0E,
0x49, 0xF8, 0x01, 0x0E, 0x43, 0xF8, 0xFE, 0x0D, 0x3E, 0xF8,
0xFB, 0x0D, 0x38, 0xF8, 0xF8, 0x0D, 0x33, 0xF8, 0xF5, 0x0D,
0x2E, 0xF8, 0xF2, 0x0D, 0x28, 0xF8, 0xEF, 0x0D, 0x23, 0xF8,
0xEC, 0x0D, 0x1D, 0xF8, 0xE9, 0x0D, 0x18, 0xF8, 0xE6, 0x0D,
0x12, 0xF8, 0xE3, 0x0D, 0x0D, 0xF8, 0xDF, 0x0D, 0x07, 0xF8,
0xDC, 0x0D, 0x02, 0xF8, 0xD9, 0x0D, 0xFC, 0xF7, 0xD6, 0x0D,
0xF7, 0xF7, 0xD3, 0x0D, 0xF2, 0xF7, 0xD0, 0x0D, 0xEC, 0xF7,
0xCC, 0x0D, 0xE7, 0xF7, 0xC9, 0x0D, 0xE1, 0xF7, 0xC6, 0x0D,
0xDC, 0xF7, 0xC3, 0x0D, 0xD6, 0xF7, 0xC0, 0x0D, 0xD1, 0xF7,
0xBC, 0x0D, 0xCC, 0xF7, 0xB9, 0x0D, 0xC6, 0xF7, 0xB6, 0x0D,
0xC1, 0xF7, 0xB3, 0x0D, 0xBB, 0xF7, 0xB0, 0x0D, 0xB6, 0xF7,
0xAC, 0x0D, 0xB1, 0xF7, 0xA9, 0x0D, 0xAB, 0xF7, 0xA6, 0x0D,
0xA6, 0xF7, 0xA2, 0x0D, 0xA1, 0xF7, 0x9F, 0x0D, 0x9B, 0xF7,
0x9C, 0x0D, 0x96, 0xF7, 0x99, 0x0D, 0x91, 0xF7, 0x95, 0x0D,
0x8B, 0xF7, 0x92, 0x0D, 0x86, 0xF7, 0x8F, 0x0D, 0x81, 0xF7,
0x8B, 0x0D, 0x7B, 0xF7, 0x88, 0x0D, 0x76, 0xF7, 0x85, 0x0D,
0x71, 0xF7, 0x81, 0x0D, 0x6B, 0xF7, 0x7E, 0x0D, 0x66, 0xF7,
0x7A, 0x0D, 0x61, 0xF7, 0x77, 0x0D, 0x5B, 0xF7, 0x74, 0x0D,
0x56, 0xF7, 0x70, 0x0D, 0x51, 0xF7, 0x6D, 0x0D, 0x4C, 0xF7,
0x69, 0x0D, 0x46, 0xF7, 0x66, 0x0D, 0x41, 0xF7, 0x62, 0x0D,
0x3C, 0xF7, 0x5F, 0x0D, 0x37, 0xF7, 0x5C, 0x0D, 0x31, 0xF7,
0x58, 0x0D, 0x2C, 0xF7, 0x55, 0x0D, 0x27, 0xF7, 0x51, 0x0D,
0x22, 0xF7, 0x4E, 0x0D, 0x1C, 0xF7, 0x4A, 0x0D, 0x17, 0xF7,
0x47, 0x0D, 0x12, 0xF7, 0x43, 0x0D, 0x0D, 0xF7, 0x40, 0x0D,
0x08, 0xF7, 0x3C, 0x0D, 0x02, 0xF7, 0x39, 0x0D, 0xFD, 0xF6,
0x35, 0x0D, 0xF8, 0xF6, 0x32, 0x0D, 0xF3, 0xF6, 0x2E, 0x0D,
0xEE, 0xF6, 0x2A, 0x0D, 0xE8, 0xF6, 0x27, 0x0D, 0xE3, 0xF6,
0x23, 0x0D, 0xDE, 0xF6, 0x20, 0x0D, 0xD9, 0xF6, 0x1C, 0x0D,
0xD4, 0xF6, 0x18, 0x0D, 0xCF, 0xF6, 0x15, 0x0D, 0xC9, 0xF6,
0x11, 0x0D, 0xC4, 0xF6, 0x0E, 0x0D, 0xBF, 0xF6, 0x0A, 0x0D,
0xBA, 0xF6, 0x06, 0x0D, 0xB5, 0xF6, 0x03, 0x0D, 0xB0, 0xF6,
0xFF, 0x0C, 0xAB, 0xF6, 0xFB, 0x0C, 0xA6, 0xF6, 0xF8, 0x0C,
0xA1, 0xF6, 0xF4, 0x0C, 0x9B, 0xF6, 0xF0, 0x0C, 0x96, 0xF6,
0xED, 0x0C, 0x91, 0xF6, 0xE9, 0x0C, 0x8C, 0xF6, 0xE5, 0x0C,
0x87, 0xF6, 0xE1, 0x0C, 0x82, 0xF6, 0xDE, 0x0C, 0x7D, 0xF6,
0xDA, 0x0C, 0x78, 0xF6, 0xD6, 0x0C, 0x73, 0xF6, 0xD2, 0x0C,
0x6E, 0xF6, 0xCF, 0x0C, 0x69, 0xF6, 0xCB, 0x0C, 0x64, 0xF6,
0xC7, 0x0C, 0x5F, 0xF6, 0xC3, 0x0C, 0x5A, 0xF6, 0xC0, 0x0C,
0x55, 0xF6, 0xBC, 0x0C, 0x50, 0xF6, 0xB8, 0x0C, 0x4B, 0xF6,
0xB4, 0x0C, 0x46, 0xF6, 0xB0, 0x0C, 0x41, 0xF6, 0xAC, 0x0C,
0x3C, 0xF6, 0xA9, 0x0C, 0x37, 0xF6, 0xA5, 0x0C, 0x32, 0xF6,
0xA1, 0x0C, 0x2D, 0xF6, 0x9D, 0x0C, 0x28, 0xF6, 0x99, 0x0C,
0x23, 0xF6, 0x95, 0x0C, 0x1E, 0xF6, 0x91, 0x0C, 0x19, 0xF6,
0x8E, 0x0C, 0x14, 0xF6, 0x8A, 0x0C, 0x0F, 0xF6, 0x86, 0x0C,
0x0A, 0xF6, 0x82, 0x0C, 0x05, 0xF6, 0x7E, 0x0C, 0x01, 0xF6,
0x7A, 0x0C, 0xFC, 0xF5, 0x76, 0x0C, 0xF7, 0xF5, 0x72, 0x0C,
0xF2, 0xF5, 0x6E, 0x0C, 0xED, 0xF5, 0x6A, 0x0C, 0xE8, 0xF5,
0x66, 0x0C, 0xE3, 0xF5, 0x62, 0x0C, 0xDE, 0xF5, 0x5E, 0x0C,
0xDA, 0xF5, 0x5A, 0x0C, 0xD5, 0xF5, 0x56, 0x0C, 0xD0, 0xF5,
0x52, 0x0C, 0xCB, 0xF5, 0x4E, 0x0C, 0xC6, 0xF5, 0x4A, 0x0C,
0xC1, 0xF5, 0x46, 0x0C, 0xBC, 0xF5, 0x42, 0x0C, 0xB8, 0xF5,
0x3E, 0x0C, 0xB3, 0xF5, 0x3A, 0x0C, 0xAE, 0xF5, 0x36, 0x0C,
0xA9, 0xF5, 0x32, 0x0C, 0xA4, 0xF5, 0x2E, 0x0C, 0xA0, 0xF5,
0x2A, 0x0C, 0x9B, 0xF5, 0x26, 0x0C, 0x96, 0xF5, 0x22, 0x0C,
0x91, 0xF5, 0x1E, 0x0C, 0x8D, 0xF5, 0x19, 0x0C, 0x88, 0xF5,
0x15, 0x0C, 0x83, 0xF5, 0x11, 0x0C, 0x7E, 0xF5, 0x0D, 0x0C,
0x7A, 0xF5, 0x09, 0x0C, 0x75, 0xF5, 0x05, 0x0C, 0x70, 0xF5,
0x01, 0x0C, 0x6B, 0xF5, 0xFC, 0x0B, 0x67, 0xF5, 0xF8, 0x0B,
0x62, 0xF5, 0xF4, 0x0B, 0x5D, 0xF5, 0xF0, 0x0B, 0x59, 0xF5,
0xEC, 0x0B, 0x54, 0xF5, 0xE8, 0x0B, 0x4F, 0xF5, 0xE3, 0x0B,
0x4B, 0xF5, 0xDF, 0x0B, 0x46, 0xF5, 0xDB, 0x0B, 0x41, 0xF5,
0xD7, 0x0B, 0x3D, 0xF5, 0xD2, 0x0B, 0x38, 0xF5, 0xCE, 0x0B,
0x33, 0xF5, 0xCA, 0x0B, 0x2F, 0xF5, 0xC6, 0x0B, 0x2A, 0xF5,
0xC1, 0x0B, 0x25, 0xF5, 0xBD, 0x0B, 0x21, 0xF5, 0xB9, 0x0B,
0x1C, 0xF5, 0xB5, 0x0B, 0x18, 0xF5, 0xB0, 0x0B, 0x13, 0xF5,
0xAC, 0x0B, 0x0E, 0xF5, 0xA8, 0x0B, 0x0A, 0xF5, 0xA3, 0x0B,
0x05, 0xF5, 0x9F, 0x0B, 0x01, 0xF5, 0x9B, 0x0B, 0xFC, 0xF4,
0x97, 0x0B, 0xF8, 0xF4, 0x92, 0x0B, 0xF3, 0xF4, 0x8E, 0x0B,
0xEF, 0xF4, 0x89, 0x0B, 0xEA, 0xF4, 0x85, 0x0B, 0xE5, 0xF4,
0x81, 0x0B, 0xE1, 0xF4, 0x7C, 0x0B, 0xDC, 0xF4, 0x78, 0x0B,
0xD8, 0xF4, 0x74, 0x0B, 0xD3, 0xF4, 0x6F, 0x0B, 0xCF, 0xF4,
0x6B, 0x0B, 0xCA, 0xF4, 0x66, 0x0B, 0xC6, 0xF4, 0x62, 0x0B,
0xC2, 0xF4, 0x5E, 0x0B, 0xBD, 0xF4, 0x59, 0x0B, 0xB9, 0xF4,
0x55, 0x0B, 0xB4, 0xF4, 0x50, 0x0B, 0xB0, 0xF4, 0x4C, 0x0B,
0xAB, 0xF4, 0x47, 0x0B, 0xA7, 0xF4, 0x43, 0x0B, 0xA2, 0xF4,
0x3E, 0x0B, 0x9E, 0xF4, 0x3A, 0x0B, 0x9A, 0xF4, 0x36, 0x0B,
0x95, 0xF4, 0x31, 0x0B, 0x91, 0xF4, 0x2D, 0x0B, 0x8C, 0xF4,
0x28, 0x0B, 0x88, 0xF4, 0x24, 0x0B, 0x84, 0xF4, 0x1F, 0x0B,
0x7F, 0xF4, 0x1B, 0x0B, 0x7B, 0xF4, 0x16, 0x0B, 0x77, 0xF4,
0x11, 0x0B, 0x72, 0xF4, 0x0D, 0x0B, 0x6E, 0xF4, 0x08, 0x0B,
0x69, 0xF4, 0x04, 0x0B, 0x65, 0xF4, 0xFF, 0x0A, 0x61, 0xF4,
0xFB, 0x0A, 0x5D, 0xF4, 0xF6, 0x0A, 0x58, 0xF4, 0xF2, 0x0A,
0x54, 0xF4, 0xED, 0x0A, 0x50, 0xF4, 0xE8, 0x0A, 0x4B, 0xF4,
0xE4, 0x0A, 0x47, 0xF4, 0xDF, 0x0A, 0x43, 0xF4, 0xDB, 0x0A,
0x3F, 0xF4, 0xD6, 0x0A, 0x3A, 0xF4, 0xD1, 0x0A, 0x36, 0xF4,
0xCD, 0x0A, 0x32, 0xF4, 0xC8, 0x0A, 0x2E, 0xF4, 0xC3, 0x0A,
0x29, 0xF4, 0xBF, 0x0A, 0x25, 0xF4, 0xBA, 0x0A, 0x21, 0xF4,
0xB5, 0x0A, 0x1D, 0xF4, 0xB1, 0x0A, 0x18, 0xF4, 0xAC, 0x0A,
0x14, 0xF4, 0xA7, 0x0A, 0x10, 0xF4, 0xA3, 0x0A, 0x0C, 0xF4,
0x9E, 0x0A, 0x08, 0xF4, 0x99, 0x0A, 0x04, 0xF4, 0x95, 0x0A,
0xFF, 0xF3, 0x90, 0x0A, 0xFB, 0xF3, 0x8B, 0x0A, 0xF7, 0xF3,
0x86, 0x0A, 0xF3, 0xF3, 0x82, 0x0A, 0xEF, 0xF3, 0x7D, 0x0A,
0xEB, 0xF3, 0x78, 0x0A, 0xE7, 0xF3, 0x73, 0x0A, 0xE2, 0xF3,
0x6F, 0x0A, 0xDE, 0xF3, 0x6A, 0x0A, 0xDA, 0xF3, 0x65, 0x0A,
0xD6, 0xF3, 0x60, 0x0A, 0xD2, 0xF3, 0x5C, 0x0A, 0xCE, 0xF3,
0x57, 0x0A, 0xCA, 0xF3, 0x52, 0x0A, 0xC6, 0xF3, 0x4D, 0x0A,
0xC2, 0xF3, 0x48, 0x0A, 0xBE, 0xF3, 0x44, 0x0A, 0xBA, 0xF3,
0x3F, 0x0A, 0xB6, 0xF3, 0x3A, 0x0A, 0xB2, 0xF3, 0x35, 0x0A,
0xAE, 0xF3, 0x30, 0x0A, 0xAA, 0xF3, 0x2B, 0x0A, 0xA6, 0xF3,
0x26, 0x0A, 0xA2, 0xF3, 0x22, 0x0A, 0x9E, 0xF3, 0x1D, 0x0A,
0x9A, 0xF3, 0x18, 0x0A, 0x96, 0xF3, 0x13, 0x0A, 0x92, 0xF3,
0x0E, 0x0A, 0x8E, 0xF3, 0x09, 0x0A, 0x8A, 0xF3, 0x04, 0x0A,
0x86, 0xF3, 0xFF, 0x09, 0x82, 0xF3, 0xFB, 0x09, 0x7E, 0xF3,
0xF6, 0x09, 0x7A, 0xF3, 0xF1, 0x09, 0x76, 0xF3, 0xEC, 0x09,
0x72, 0xF3, 0xE7, 0x09, 0x6F, 0xF3, 0xE2, 0x09, 0x6B, 0xF3,
0xDD, 0x09, 0x67, 0xF3, 0xD8, 0x09, 0x63, 0xF3, 0xD3, 0x09,
0x5F, 0xF3, 0xCE, 0x09, 0x5B, 0xF3, 0xC9, 0x09, 0x57, 0xF3,
0xC4, 0x09, 0x54, 0xF3, 0xBF, 0x09, 0x50, 0xF3, 0xBA, 0x09,
0x4C, 0xF3, 0xB5, 0x09, 0x48, 0xF3, 0xB0, 0x09, 0x44, 0xF3,
0xAB, 0x09, 0x40, 0xF3, 0xA6, 0x09, 0x3D, 0xF3, 0xA1, 0x09,
0x39, 0xF3, 0x9C, 0x09, 0x35, 0xF3, 0x97, 0x09, 0x31, 0xF3,
0x92, 0x09, 0x2E, 0xF3, 0x8D, 0x09, 0x2A, 0xF3, 0x88, 0x09,
0x26, 0xF3, 0x83, 0x09, 0x22, 0xF3, 0x7E, 0x09, 0x1F, 0xF3,
0x79, 0x09, 0x1B, 0xF3, 0x74, 0x09, 0x17, 0xF3, 0x6F, 0x09,
0x13, 0xF3, 0x6A, 0x09, 0x10, 0xF3, 0x65, 0x09, 0x0C, 0xF3,
0x5F, 0x09, 0x08, 0xF3, 0x5A, 0x09, 0x05, 0xF3, 0x55, 0x09,
0x01, 0xF3, 0x50, 0x09, 0xFD, 0xF2, 0x4B, 0x09, 0xFA, 0xF2,
0x46, 0x09, 0xF6, 0xF2, 0x41, 0x09, 0xF2, 0xF2, 0x3C, 0x09,
0xEF, 0xF2, 0x37, 0x09, 0xEB, 0xF2, 0x31, 0x09, 0xE8, 0xF2,
0x2C, 0x09, 0xE4, 0xF2, 0x27, 0x09, 0xE0, 0xF2, 0x22, 0x09,
0xDD, 0xF2, 0x1D, 0x09, 0xD9, 0xF2, 0x18, 0x09, 0xD6, 0xF2,
0x12, 0x09, 0xD2, 0xF2, 0x0D, 0x09, 0xCE, 0xF2, 0x08, 0x09,
0xCB, 0xF2, 0x03, 0x09, 0xC7, 0xF2, 0xFE, 0x08, 0xC4, 0xF2,
0xF8, 0x08, 0xC0, 0xF2, 0xF3, 0x08, 0xBD, 0xF2, 0xEE, 0x08,
0xB9, 0xF2, 0xE9, 0x08, 0xB6, 0xF2, 0xE4, 0x08, 0xB2, 0xF2,
0xDE, 0x08, 0xAF, 0xF2, 0xD9, 0x08, 0xAB, 0xF2, 0xD4, 0x08,
0xA8, 0xF2, 0xCF, 0x08, 0xA4, 0xF2, 0xC9, 0x08, 0xA1, 0xF2,
0xC4, 0x08, 0x9E, 0xF2, 0xBF, 0x08, 0x9A, 0xF2, 0xBA, 0x08,
0x97, 0xF2, 0xB4, 0x08, 0x93, 0xF2, 0xAF, 0x08, 0x90, 0xF2,
0xAA, 0x08, 0x8C, 0xF2, 0xA5, 0x08, 0x89, 0xF2, 0x9F, 0x08,
0x86, 0xF2, 0x9A, 0x08, 0x82, 0xF2, 0x95, 0x08, 0x7F, 0xF2,
0x8F, 0x08, 0x7B, 0xF2, 0x8A, 0x08, 0x78, 0xF2, 0x85, 0x08,
0x75, 0xF2, 0x7F, 0x08, 0x71, 0xF2, 0x7A, 0x08, 0x6E, 0xF2,
0x75, 0x08, 0x6B, 0xF2, 0x6F, 0x08, 0x67, 0xF2, 0x6A, 0x08,
0x64, 0xF2, 0x65, 0x08, 0x61, 0xF2, 0x5F, 0x08, 0x5E, 0xF2,
0x5A, 0x08, 0x5A, 0xF2, 0x55, 0x08, 0x57, 0xF2, 0x4F, 0x08,
0x54, 0xF2, 0x4A, 0x08, 0x50, 0xF2, 0x45, 0x08, 0x4D, 0xF2,
0x3F, 0x08, 0x4A, 0xF2, 0x3A, 0x08, 0x47, 0xF2, 0x34, 0x08,
0x44, 0xF2, 0x2F, 0x08, 0x40, 0xF2, 0x2A, 0x08, 0x3D, 0xF2,
0x24, 0x08, 0x3A, 0xF2, 0x1F, 0x08, 0x37, 0xF2, 0x19, 0x08,
0x34, 0xF2, 0x14, 0x08, 0x30, 0xF2, 0x0E, 0x08, 0x2D, 0xF2,
0x09, 0x08, 0x2A, 0xF2, 0x04, 0x08, 0x27, 0xF2, 0xFE, 0x07,
0x24, 0xF2, 0xF9, 0x07, 0x21, 0xF2, 0xF3, 0x07, 0x1D, 0xF2,
0xEE, 0x07, 0x1A, 0xF2, 0xE8, 0x07, 0x17, 0xF2, 0xE3, 0x07,
0x14, 0xF2, 0xDD, 0x07, 0x11, 0xF2, 0xD8, 0x07, 0x0E, 0xF2,
0xD2, 0x07, 0x0B, 0xF2, 0xCD, 0x07, 0x08, 0xF2, 0xC8, 0x07,
0x05, 0xF2, 0xC2, 0x07, 0x02, 0xF2, 0xBD, 0x07, 0xFF, 0xF1,
0xB7, 0x07, 0xFC, 0xF1, 0xB2, 0x07, 0xF9, 0xF1, 0xAC, 0x07,
0xF6, 0xF1, 0xA6, 0x07, 0xF3, 0xF1, 0xA1, 0x07, 0xF0, 0xF1,
0x9B, 0x07, 0xED, 0xF1, 0x96, 0x07, 0xEA, 0xF1, 0x90, 0x07,
0xE7, 0xF1, 0x8B, 0x07, 0xE4, 0xF1, 0x85, 0x07, 0xE1, 0xF1,
0x80, 0x07, 0xDE, 0xF1, 0x7A, 0x07, 0xDB, 0xF1, 0x75, 0x07,
0xD8, 0xF1, 0x6F, 0x07, 0xD5, 0xF1, 0x6A, 0x07, 0xD2, 0xF1,
0x64, 0x07, 0xCF, 0xF1, 0x5E, 0x07, 0xCC, 0xF1, 0x59, 0x07,
0xC9, 0xF1, 0x53, 0x07, 0xC6, 0xF1, 0x4E, 0x07, 0xC4, 0xF1,
0x48, 0x07, 0xC1, 0xF1, 0x42, 0x07, 0xBE, 0xF1, 0x3D, 0x07,
0xBB, 0xF1, 0x37, 0x07, 0xB8, 0xF1, 0x32, 0x07, 0xB5, 0xF1,
0x2C, 0x07, 0xB3, 0xF1, 0x26, 0x07, 0xB0, 0xF1, 0x21, 0x07,
0xAD, 0xF1, 0x1B, 0x07, 0xAA, 0xF1, 0x15, 0x07, 0xA7, 0xF1,
0x10, 0x07, 0xA5, 0xF1, 0x0A, 0x07, 0xA2, 0xF1, 0x05, 0x07,
0x9F, 0xF1, 0xFF, 0x06, 0x9C, 0xF1, 0xF9, 0x06, 0x9A, 0xF1,
0xF4, 0x06, 0x97, 0xF1, 0xEE, 0x06, 0x94, 0xF1, 0xE8, 0x06,
0x91, 0xF1, 0xE3, 0x06, 0x8F, 0xF1, 0xDD, 0x06, 0x8C, 0xF1,
0xD7, 0x06, 0x89, 0xF1, 0xD2, 0x06, 0x87, 0xF1, 0xCC, 0x06,
0x84, 0xF1, 0xC6, 0x06, 0x81, 0xF1, 0xC1, 0x06, 0x7F, 0xF1,
0xBB, 0x06, 0x7C, 0xF1, 0xB5, 0x06, 0x79, 0xF1, 0xAF, 0x06,
0x77, 0xF1, 0xAA, 0x06, 0x74, 0xF1, 0xA4, 0x06, 0x71, 0xF1,
0x9E, 0x06, 0x6F, 0xF1, 0x99, 0x06, 0x6C, 0xF1, 0x93, 0x06,
0x6A, 0xF1, 0x8D, 0x06, 0x67, 0xF1, 0x87, 0x06, 0x65, 0xF1,
0x82, 0x06, 0x62, 0xF1, 0x7C, 0x06, 0x5F, 0xF1, 0x76, 0x06,
0x5D, 0xF1, 0x70, 0x06, 0x5A, 0xF1, 0x6B, 0x06, 0x58, 0xF1,
0x65, 0x06, 0x55, 0xF1, 0x5F, 0x06, 0x53, 0xF1, 0x59, 0x06,
0x50, 0xF1, 0x54, 0x06, 0x4E, 0xF1, 0x4E, 0x06, 0x4B, 0xF1,
0x48, 0x06, 0x49, 0xF1, 0x42, 0x06, 0x46, 0xF1, 0x3C, 0x06,
0x44, 0xF1, 0x37, 0x06, 0x41, 0xF1, 0x31, 0x06, 0x3F, 0xF1,
0x2B, 0x06, 0x3D, 0xF1, 0x25, 0x06, 0x3A, 0xF1, 0x1F, 0x06,
0x38, 0xF1, 0x1A, 0x06, 0x35, 0xF1, 0x14, 0x06, 0x33, 0xF1,
0x0E, 0x06, 0x31, 0xF1, 0x08, 0x06, 0x2E, 0xF1, 0x02, 0x06,
0x2C, 0xF1, 0xFD, 0x05, 0x2A, 0xF1, 0xF7, 0x05, 0x27, 0xF1,
0xF1, 0x05, 0x25, 0xF1, 0xEB, 0x05, 0x23, 0xF1, 0xE5, 0x05,
0x20, 0xF1, 0xDF, 0x05, 0x1E, 0xF1, 0xDA, 0x05, 0x1C, 0xF1,
0xD4, 0x05, 0x19, 0xF1, 0xCE, 0x05, 0x17, 0xF1, 0xC8, 0x05,
0x15, 0xF1, 0xC2, 0x05, 0x12, 0xF1, 0xBC, 0x05, 0x10, 0xF1,
0xB6, 0x05, 0x0E, 0xF1, 0xB1, 0x05, 0x0C, 0xF1, 0xAB, 0x05,
0x09, 0xF1, 0xA5, 0x05, 0x07, 0xF1, 0x9F, 0x05, 0x05, 0xF1,
0x99, 0x05, 0x03, 0xF1, 0x93, 0x05, 0x01, 0xF1, 0x8D, 0x05,
0xFE, 0xF0, 0x87, 0x05, 0xFC, 0xF0, 0x81, 0x05, 0xFA, 0xF0,
0x7C, 0x05, 0xF8, 0xF0, 0x76, 0x05, 0xF6, 0xF0, 0x70, 0x05,
0xF4, 0xF0, 0x6A, 0x05, 0xF2, 0xF0, 0x64, 0x05, 0xEF, 0xF0,
0x5E, 0x05, 0xED, 0xF0, 0x58, 0x05, 0xEB, 0xF0, 0x52, 0x05,
0xE9, 0xF0, 0x4C, 0x05, 0xE7, 0xF0, 0x46, 0x05, 0xE5, 0xF0,
0x40, 0x05, 0xE3, 0xF0, 0x3A, 0x05, 0xE1, 0xF0, 0x34, 0x05,
0xDF, 0xF0, 0x2F, 0x05, 0xDD, 0xF0, 0x29, 0x05, 0xDB, 0xF0,
0x23, 0x05, 0xD9, 0xF0, 0x1D, 0x05, 0xD7, 0xF0, 0x17, 0x05,
0xD5, 0xF0, 0x11, 0x05, 0xD3, 0xF0, 0x0B, 0x05, 0xD1, 0xF0,
0x05, 0x05, 0xCF, 0xF0, 0xFF, 0x04, 0xCD, 0xF0, 0xF9, 0x04,
0xCB, 0xF0, 0xF3, 0x04, 0xC9, 0xF0, 0xED, 0x04, 0xC7, 0xF0,
0xE7, 0x04, 0xC5, 0xF0, 0xE1, 0x04, 0xC3, 0xF0, 0xDB, 0x04,
0xC1, 0xF0, 0xD5, 0x04, 0xBF, 0xF0, 0xCF, 0x04, 0xBD, 0xF0,
0xC9, 0x04, 0xBB, 0xF0, 0xC3, 0x04, 0xBA, 0xF0, 0xBD, 0x04,
0xB8, 0xF0, 0xB7, 0x04, 0xB6, 0xF0, 0xB1, 0x04, 0xB4, 0xF0,
0xAB, 0x04, 0xB2, 0xF0, 0xA5, 0x04, 0xB0, 0xF0, 0x9F, 0x04,
0xAF, 0xF0, 0x99, 0x04, 0xAD, 0xF0, 0x93, 0x04, 0xAB, 0xF0,
0x8D, 0x04, 0xA9, 0xF0, 0x87, 0x04, 0xA7, 0xF0, 0x81, 0x04,
0xA6, 0xF0, 0x7B, 0x04, 0xA4, 0xF0, 0x75, 0x04, 0xA2, 0xF0,
0x6F, 0x04, 0xA0, 0xF0, 0x69, 0x04, 0x9F, 0xF0, 0x63, 0x04,
0x9D, 0xF0, 0x5D, 0x04, 0x9B, 0xF0, 0x57, 0x04, 0x99, 0xF0,
0x51, 0x04, 0x98, 0xF0, 0x4B, 0x04, 0x96, 0xF0, 0x44, 0x04,
0x94, 0xF0, 0x3E, 0x04, 0x93, 0xF0, 0x38, 0x04, 0x91, 0xF0,
0x32, 0x04, 0x8F, 0xF0, 0x2C, 0x04, 0x8E, 0xF0, 0x26, 0x04,
0x8C, 0xF0, 0x20, 0x04, 0x8A, 0xF0, 0x1A, 0x04, 0x89, 0xF0,
0x14, 0x04, 0x87, 0xF0, 0x0E, 0x04, 0x86, 0xF0, 0x08, 0x04,
0x84, 0xF0, 0x02, 0x04, 0x83, 0xF0, 0xFC, 0x03, 0x81, 0xF0,
0xF6, 0x03, 0x7F, 0xF0, 0xEF, 0x03, 0x7E, 0xF0, 0xE9, 0x03,
0x7C, 0xF0, 0xE3, 0x03, 0x7B, 0xF0, 0xDD, 0x03, 0x79, 0xF0,
0xD7, 0x03, 0x78, 0xF0, 0xD1, 0x03, 0x76, 0xF0, 0xCB, 0x03,
0x75, 0xF0, 0xC5, 0x03, 0x73, 0xF0, 0xBF, 0x03, 0x72, 0xF0,
0xB9, 0x03, 0x70, 0xF0, 0xB2, 0x03, 0x6F, 0xF0, 0xAC, 0x03,
0x6D, 0xF0, 0xA6, 0x03, 0x6C, 0xF0, 0xA0, 0x03, 0x6B, 0xF0,
0x9A, 0x03, 0x69, 0xF0, 0x94, 0x03, 0x68, 0xF0, 0x8E, 0x03,
0x66, 0xF0, 0x88, 0x03, 0x65, 0xF0, 0x81, 0x03, 0x64, 0xF0,
0x7B, 0x03, 0x62, 0xF0, 0x75, 0x03, 0x61, 0xF0, 0x6F, 0x03,
0x5F, 0xF0, 0x69, 0x03, 0x5E, 0xF0, 0x63, 0x03, 0x5D, 0xF0,
0x5D, 0x03, 0x5B, 0xF0, 0x56, 0x03, 0x5A, 0xF0, 0x50, 0x03,
0x59, 0xF0, 0x4A, 0x03, 0x58, 0xF0, 0x44, 0x03, 0x56, 0xF0,
0x3E, 0x03, 0x55, 0xF0, 0x38, 0x03, 0x54, 0xF0, 0x32, 0x03,
0x52, 0xF0, 0x2B, 0x03, 0x51, 0xF0, 0x25, 0x03, 0x50, 0xF0,
0x1F, 0x03, 0x4F, 0xF0, 0x19, 0x03, 0x4D, 0xF0, 0x13, 0x03,
0x4C, 0xF0, 0x0D, 0x03, 0x4B, 0xF0, 0x06, 0x03, 0x4A, 0xF0,
0x00, 0x03, 0x49, 0xF0, 0xFA, 0x02, 0x48, 0xF0, 0xF4, 0x02,
0x46, 0xF0, 0xEE, 0x02, 0x45, 0xF0, 0xE8, 0x02, 0x44, 0xF0,
0xE1, 0x02, 0x43, 0xF0, 0xDB, 0x02, 0x42, 0xF0, 0xD5, 0x02,
0x41, 0xF0, 0xCF, 0x02, 0x40, 0xF0, 0xC9, 0x02, 0x3E, 0xF0,
0xC2, 0x02, 0x3D, 0xF0, 0xBC, 0x02, 0x3C, 0xF0, 0xB6, 0x02,
0x3B, 0xF0, 0xB0, 0x02, 0x3A, 0xF0, 0xAA, 0x02, 0x39, 0xF0,
0xA3, 0x02, 0x38, 0xF0, 0x9D, 0x02, 0x37, 0xF0, 0x97, 0x02,
0x36, 0xF0, 0x91, 0x02, 0x35, 0xF0, 0x8B, 0x02, 0x34, 0xF0,
0x84, 0x02, 0x33, 0xF0, 0x7E, 0x02, 0x32, 0xF0, 0x78, 0x02,
0x31, 0xF0, 0x72, 0x02, 0x30, 0xF0, 0x6C, 0x02, 0x2F, 0xF0,
0x65, 0x02, 0x2E, 0xF0, 0x5F, 0x02, 0x2D, 0xF0, 0x59, 0x02,
0x2C, 0xF0, 0x53, 0x02, 0x2B, 0xF0, 0x4D, 0x02, 0x2B, 0xF0,
0x46, 0x02, 0x2A, 0xF0, 0x40, 0x02, 0x29, 0xF0, 0x3A, 0x02,
0x28, 0xF0, 0x34, 0x02, 0x27, 0xF0, 0x2D, 0x02, 0x26, 0xF0,
0x27, 0x02, 0x25, 0xF0, 0x21, 0x02, 0x24, 0xF0, 0x1B, 0x02,
0x24, 0xF0, 0x15, 0x02, 0x23, 0xF0, 0x0E, 0x02, 0x22, 0xF0,
0x08, 0x02, 0x21, 0xF0, 0x02, 0x02, 0x20, 0xF0, 0xFC, 0x01,
0x20, 0xF0, 0xF5, 0x01, 0x1F, 0xF0, 0xEF, 0x01, 0x1E, 0xF0,
0xE9, 0x01, 0x1D, 0xF0, 0xE3, 0x01, 0x1D, 0xF0, 0xDC, 0x01,
0x1C, 0xF0, 0xD6, 0x01, 0x1B, 0xF0, 0xD0, 0x01, 0x1A, 0xF0,
0xCA, 0x01, 0x1A, 0xF0, 0xC3, 0x01, 0x19, 0xF0, 0xBD, 0x01,
0x18, 0xF0, 0xB7, 0x01, 0x18, 0xF0, 0xB1, 0x01, 0x17, 0xF0,
0xAA, 0x01, 0x16, 0xF0, 0xA4, 0x01, 0x16, 0xF0, 0x9E, 0x01,
0x15, 0xF0, 0x98, 0x01, 0x14, 0xF0, 0x91, 0x01, 0x14, 0xF0,
0x8B, 0x01, 0x13, 0xF0, 0x85, 0x01, 0x13, 0xF0, 0x7F, 0x01,
0x12, 0xF0, 0x78, 0x01, 0x11, 0xF0, 0x72, 0x01, 0x11, 0xF0,
0x6C, 0x01, 0x10, 0xF0, 0x66, 0x01, 0x10, 0xF0, 0x5F, 0x01,
0x0F, 0xF0, 0x59, 0x01, 0x0F, 0xF0, 0x53, 0x01, 0x0E, 0xF0,
0x4D, 0x01, 0x0E, 0xF0, 0x46, 0x01, 0x0D, 0xF0, 0x40, 0x01,
0x0D, 0xF0, 0x3A, 0x01, 0x0C, 0xF0, 0x34, 0x01, 0x0C, 0xF0,
0x2D, 0x01, 0x0B, 0xF0, 0x27, 0x01, 0x0B, 0xF0, 0x21, 0x01,
0x0A, 0xF0, 0x1B, 0x01, 0x0A, 0xF0, 0x14, 0x01, 0x09, 0xF0,
0x0E, 0x01, 0x09, 0xF0, 0x08, 0x01, 0x08, 0xF0, 0x01, 0x01,
0x08, 0xF0, 0xFB, 0x00, 0x08, 0xF0, 0xF5, 0x00, 0x07, 0xF0,
0xEF, 0x00, 0x07, 0xF0, 0xE8, 0x00, 0x07, 0xF0, 0xE2, 0x00,
0x06, 0xF0, 0xDC, 0x00, 0x06, 0xF0, 0xD6, 0x00, 0x06, 0xF0,
0xCF, 0x00, 0x05, 0xF0, 0xC9, 0x00, 0x05, 0xF0, 0xC3, 0x00,
0x05, 0xF0, 0xBC, 0x00, 0x04, 0xF0, 0xB6, 0x00, 0x04, 0xF0,
0xB0, 0x00, 0x04, 0xF0, 0xAA, 0x00, 0x04, 0xF0, 0xA3, 0x00,
0x03, 0xF0, 0x9D, 0x00, 0x03, 0xF0, 0x97, 0x00, 0x03, 0xF0,
0x90, 0x00, 0x03, 0xF0, 0x8A, 0x00, 0x02, 0xF0, 0x84, 0x00,
0x02, 0xF0, 0x7E, 0x00, 0x02, 0xF0, 0x77, 0x00, 0x02, 0xF0,
0x71, 0x00, 0x02, 0xF0, 0x6B, 0x00, 0x01, 0xF0, 0x65, 0x00,
0x01, 0xF0, 0x5E, 0x00, 0x01, 0xF0, 0x58, 0x00, 0x01, 0xF0,
0x52, 0x00, 0x01, 0xF0, 0x4B, 0x00, 0x01, 0xF0, 0x45, 0x00,
0x01, 0xF0, 0x3F, 0x00, 0x00, 0xF0, 0x39, 0x00, 0x00, 0xF0,
0x32, 0x00, 0x00, 0xF0, 0x2C, 0x00, 0x00, 0xF0, 0x26, 0x00,
0x00, 0xF0, 0x1F, 0x00, 0x00, 0xF0, 0x19, 0x00, 0x00, 0xF0,
0x13, 0x00, 0x00, 0xF0, 0x0D, 0x00, 0x00, 0xF0, 0x06, 0x00,
0x00, 0xF0, 0x00, 0x00, 0x00, 0xF0, 0xFA, 0xFF, 0x00, 0xF0,
0xF3, 0xFF, 0x00, 0xF0, 0xED, 0xFF, 0x00, 0xF0, 0xE7, 0xFF,
0x00, 0xF0, 0xE1, 0xFF, 0x00, 0xF0, 0xDA, 0xFF, 0x00, 0xF0,
0xD4, 0xFF, 0x00, 0xF0, 0xCE, 0xFF, 0x00, 0xF0, 0xC7, 0xFF,
0x00, 0xF0, 0xC1, 0xFF, 0x00, 0xF0, 0xBB, 0xFF, 0x01, 0xF0,
0xB5, 0xFF, 0x01, 0xF0, 0xAE, 0xFF, 0x01, 0xF0, 0xA8, 0xFF,
0x01, 0xF0, 0xA2, 0xFF, 0x01, 0xF0, 0x9B, 0xFF, 0x01, 0xF0,
0x95, 0xFF, 0x01, 0xF0, 0x8F, 0xFF, 0x02, 0xF0, 0x89, 0xFF,
0x02, 0xF0, 0x82, 0xFF, 0x02, 0xF0, 0x7C, 0xFF, 0x02, 0xF0,
0x76, 0xFF, 0x02, 0xF0, 0x70, 0xFF, 0x03, 0xF0, 0x69, 0xFF,
0x03, 0xF0, 0x63, 0xFF, 0x03, 0xF0, 0x5D, 0xFF, 0x03, 0xF0,
0x56, 0xFF, 0x04, 0xF0, 0x50, 0xFF, 0x04, 0xF0, 0x4A, 0xFF,
0x04, 0xF0, 0x44, 0xFF, 0x04, 0xF0, 0x3D, 0xFF, 0x05, 0xF0,
0x37, 0xFF, 0x05, 0xF0, 0x31, 0xFF, 0x05, 0xF0, 0x2A, 0xFF,
0x06, 0xF0, 0x24, 0xFF, 0x06, 0xF0, 0x1E, 0xFF, 0x06, 0xF0,
0x18, 0xFF, 0x07, 0xF0, 0x11, 0xFF, 0x07, 0xF0, 0x0B, 0xFF,
0x07, 0xF0, 0x05, 0xFF, 0x08, 0xF0, 0xFF, 0xFE, 0x08, 0xF0,
0xF8, 0xFE, 0x08, 0xF0, 0xF2, 0xFE, 0x09, 0xF0, 0xEC, 0xFE,
0x09, 0xF0, 0xE5, 0xFE, 0x0A, 0xF0, 0xDF, 0xFE, 0x0A, 0xF0,
0xD9, 0xFE, 0x0B, 0xF0, 0xD3, 0xFE, 0x0B, 0xF0, 0xCC, 0xFE,
0x0C, 0xF0, 0xC6, 0xFE, 0x0C, 0xF0, 0xC0, 0xFE, 0x0D, 0xF0,
0xBA, 0xFE, 0x0D, 0xF0, 0xB3, 0xFE, 0x0E, 0xF0, 0xAD, 0xFE,
0x0E, 0xF0, 0xA7, 0xFE, 0x0F, 0xF0, 0xA1, 0xFE, 0x0F, 0xF0,
0x9A, 0xFE, 0x10, 0xF0, 0x94, 0xFE, 0x10, 0xF0, 0x8E, 0xFE,
0x11, 0xF0, 0x88, 0xFE, 0x11, 0xF0, 0x81, 0xFE, 0x12, 0xF0,
0x7B, 0xFE, 0x13, 0xF0, 0x75, 0xFE, 0x13, 0xF0, 0x6F, 0xFE,
0x14, 0xF0, 0x68, 0xFE, 0x14, 0xF0, 0x62, 0xFE, 0x15, 0xF0,
0x5C, 0xFE, 0x16, 0xF0, 0x56, 0xFE, 0x16, 0xF0, 0x4F, 0xFE,
0x17, 0xF0, 0x49, 0xFE, 0x18, 0xF0, 0x43, 0xFE, 0x18, 0xF0,
0x3D, 0xFE, 0x19, 0xF0, 0x36, 0xFE, 0x1A, 0xF0, 0x30, 0xFE,
0x1A, 0xF0, 0x2A, 0xFE, 0x1B, 0xF0, 0x24, 0xFE, 0x1C, 0xF0,
0x1D, 0xFE, 0x1D, 0xF0, 0x17, 0xFE, 0x1D, 0xF0, 0x11, 0xFE,
0x1E, 0xF0, 0x0B, 0xFE, 0x1F, 0xF0, 0x04, 0xFE, 0x20, 0xF0,
0xFE, 0xFD, 0x20, 0xF0, 0xF8, 0xFD, 0x21, 0xF0, 0xF2, 0xFD,
0x22, 0xF0, 0xEB, 0xFD, 0x23, 0xF0, 0xE5, 0xFD, 0x24, 0xF0,
0xDF, 0xFD, 0x24, 0xF0, 0xD9, 0xFD, 0x25, 0xF0, 0xD3, 0xFD,
0x26, 0xF0, 0xCC, 0xFD, 0x27, 0xF0, 0xC6, 0xFD, 0x28, 0xF0,
0xC0, 0xFD, 0x29, 0xF0, 0xBA, 0xFD, 0x2A, 0xF0, 0xB3, 0xFD,
0x2B, 0xF0, 0xAD, 0xFD, 0x2B, 0xF0, 0xA7, 0xFD, 0x2C, 0xF0,
0xA1, 0xFD, 0x2D, 0xF0, 0x9B, 0xFD, 0x2E, 0xF0, 0x94, 0xFD,
0x2F, 0xF0, 0x8E, 0xFD, 0x30, 0xF0, 0x88, 0xFD, 0x31, 0xF0,
0x82, 0xFD, 0x32, 0xF0, 0x7C, 0xFD, 0x33, 0xF0, 0x75, 0xFD,
0x34, 0xF0, 0x6F, 0xFD, 0x35, 0xF0, 0x69, 0xFD, 0x36, 0xF0,
0x63, 0xFD, 0x37, 0xF0, 0x5D, 0xFD, 0x38, 0xF0, 0x56, 0xFD,
0x39, 0xF0, 0x50, 0xFD, 0x3A, 0xF0, 0x4A, 0xFD, 0x3B, 0xF0,
0x44, 0xFD, 0x3C, 0xF0, 0x3E, 0xFD, 0x3D, 0xF0, 0x37, 0xFD,
0x3E, 0xF0, 0x31, 0xFD, 0x40, 0xF0, 0x2B, 0xFD, 0x41, 0xF0,
0x25, 0xFD, 0x42, 0xF0, 0x1F, 0xFD, 0x43, 0xF0, 0x18, 0xFD,
0x44, 0xF0, 0x12, 0xFD, 0x45, 0xF0, 0x0C, 0xFD, 0x46, 0xF0,
0x06, 0xFD, 0x48, 0xF0, 0x00, 0xFD, 0x49, 0xF0, 0xFA, 0xFC,
0x4A, 0xF0, 0xF3, 0xFC, 0x4B, 0xF0, 0xED, 0xFC, 0x4C, 0xF0,
0xE7, 0xFC, 0x4D, 0xF0, 0xE1, 0xFC, 0x4F, 0xF0, 0xDB, 0xFC,
0x50, 0xF0, 0xD5, 0xFC, 0x51, 0xF0, 0xCE, 0xFC, 0x52, 0xF0,
0xC8, 0xFC, 0x54, 0xF0, 0xC2, 0xFC, 0x55, 0xF0, 0xBC, 0xFC,
0x56, 0xF0, 0xB6, 0xFC, 0x58, 0xF0, 0xB0, 0xFC, 0x59, 0xF0,
0xAA, 0xFC, 0x5A, 0xF0, 0xA3, 0xFC, 0x5B, 0xF0, 0x9D, 0xFC,
0x5D, 0xF0, 0x97, 0xFC, 0x5E, 0xF0, 0x91, 0xFC, 0x5F, 0xF0,
0x8B, 0xFC, 0x61, 0xF0, 0x85, 0xFC, 0x62, 0xF0, 0x7F, 0xFC,
0x64, 0xF0, 0x78, 0xFC, 0x65, 0xF0, 0x72, 0xFC, 0x66, 0xF0,
0x6C, 0xFC, 0x68, 0xF0, 0x66, 0xFC, 0x69, 0xF0, 0x60, 0xFC,
0x6B, 0xF0, 0x5A, 0xFC, 0x6C, 0xF0, 0x54, 0xFC, 0x6D, 0xF0,
0x4E, 0xFC, 0x6F, 0xF0, 0x47, 0xFC, 0x70, 0xF0, 0x41, 0xFC,
0x72, 0xF0, 0x3B, 0xFC, 0x73, 0xF0, 0x35, 0xFC, 0x75, 0xF0,
0x2F, 0xFC, 0x76, 0xF0, 0x29, 0xFC, 0x78, 0xF0, 0x23, 0xFC,
0x79, 0xF0, 0x1D, 0xFC, 0x7B, 0xF0, 0x17, 0xFC, 0x7C, 0xF0,
0x11, 0xFC, 0x7E, 0xF0, 0x0A, 0xFC, 0x7F, 0xF0, 0x04, 0xFC,
0x81, 0xF0, 0xFE, 0xFB, 0x83, 0xF0, 0xF8, 0xFB, 0x84, 0xF0,
0xF2, 0xFB, 0x86, 0xF0, 0xEC, 0xFB, 0x87, 0xF0, 0xE6, 0xFB,
0x89, 0xF0, 0xE0, 0xFB, 0x8A, 0xF0, 0xDA, 0xFB, 0x8C, 0xF0,
0xD4, 0xFB, 0x8E, 0xF0, 0xCE, 0xFB, 0x8F, 0xF0, 0xC8, 0xFB,
0x91, 0xF0, 0xC2, 0xFB, 0x93, 0xF0, 0xBC, 0xFB, 0x94, 0xF0,
0xB5, 0xFB, 0x96, 0xF0, 0xAF, 0xFB, 0x98, 0xF0, 0xA9, 0xFB,
0x99, 0xF0, 0xA3, 0xFB, 0x9B, 0xF0, 0x9D, 0xFB, 0x9D, 0xF0,
0x97, 0xFB, 0x9F, 0xF0, 0x91, 0xFB, 0xA0, 0xF0, 0x8B, 0xFB,
0xA2, 0xF0, 0x85, 0xFB, 0xA4, 0xF0, 0x7F, 0xFB, 0xA6, 0xF0,
0x79, 0xFB, 0xA7, 0xF0, 0x73, 0xFB, 0xA9, 0xF0, 0x6D, 0xFB,
0xAB, 0xF0, 0x67, 0xFB, 0xAD, 0xF0, 0x61, 0xFB, 0xAF, 0xF0,
0x5B, 0xFB, 0xB0, 0xF0, 0x55, 0xFB, 0xB2, 0xF0, 0x4F, 0xFB,
0xB4, 0xF0, 0x49, 0xFB, 0xB6, 0xF0, 0x43, 0xFB, 0xB8, 0xF0,
0x3D, 0xFB, 0xBA, 0xF0, 0x37, 0xFB, 0xBB, 0xF0, 0x31, 0xFB,
0xBD, 0xF0, 0x2B, 0xFB, 0xBF, 0xF0, 0x25, 0xFB, 0xC1, 0xF0,
0x1F, 0xFB, 0xC3, 0xF0, 0x19, 0xFB, 0xC5, 0xF0, 0x13, 0xFB,
0xC7, 0xF0, 0x0D, 0xFB, 0xC9, 0xF0, 0x07, 0xFB, 0xCB, 0xF0,
0x01, 0xFB, 0xCD, 0xF0, 0xFB, 0xFA, 0xCF, 0xF0, 0xF5, 0xFA,
0xD1, 0xF0, 0xEF, 0xFA, 0xD3, 0xF0, 0xE9, 0xFA, 0xD5, 0xF0,
0xE3, 0xFA, 0xD7, 0xF0, 0xDD, 0xFA, 0xD9, 0xF0, 0xD7, 0xFA,
0xDB, 0xF0, 0xD1, 0xFA, 0xDD, 0xF0, 0xCC, 0xFA, 0xDF, 0xF0,
0xC6, 0xFA, 0xE1, 0xF0, 0xC0, 0xFA, 0xE3, 0xF0, 0xBA, 0xFA,
0xE5, 0xF0, 0xB4, 0xFA, 0xE7, 0xF0, 0xAE, 0xFA, 0xE9, 0xF0,
0xA8, 0xFA, 0xEB, 0xF0, 0xA2, 0xFA, 0xED, 0xF0, 0x9C, 0xFA,
0xEF, 0xF0, 0x96, 0xFA, 0xF2, 0xF0, 0x90, 0xFA, 0xF4, 0xF0,
0x8A, 0xFA, 0xF6, 0xF0, 0x84, 0xFA, 0xF8, 0xF0, 0x7F, 0xFA,
0xFA, 0xF0, 0x79, 0xFA, 0xFC, 0xF0, 0x73, 0xFA, 0xFE, 0xF0,
0x6D, 0xFA, 0x01, 0xF1, 0x67, 0xFA, 0x03, 0xF1, 0x61, 0xFA,
0x05, 0xF1, 0x5B, 0xFA, 0x07, 0xF1, 0x55, 0xFA, 0x09, 0xF1,
0x4F, 0xFA, 0x0C, 0xF1, 0x4A, 0xFA, 0x0E, 0xF1, 0x44, 0xFA,
0x10, 0xF1, 0x3E, 0xFA, 0x12, 0xF1, 0x38, 0xFA, 0x15, 0xF1,
0x32, 0xFA, 0x17, 0xF1, 0x2C, 0xFA, 0x19, 0xF1, 0x26, 0xFA,
0x1C, 0xF1, 0x21, 0xFA, 0x1E, 0xF1, 0x1B, 0xFA, 0x20, 0xF1,
0x15, 0xFA, 0x23, 0xF1, 0x0F, 0xFA, 0x25, 0xF1, 0x09, 0xFA,
0x27, 0xF1, 0x03, 0xFA, 0x2A, 0xF1, 0xFE, 0xF9, 0x2C, 0xF1,
0xF8, 0xF9, 0x2E, 0xF1, 0xF2, 0xF9, 0x31, 0xF1, 0xEC, 0xF9,
0x33, 0xF1, 0xE6, 0xF9, 0x35, 0xF1, 0xE1, 0xF9, 0x38, 0xF1,
0xDB, 0xF9, 0x3A, 0xF1, 0xD5, 0xF9, 0x3D, 0xF1, 0xCF, 0xF9,
0x3F, 0xF1, 0xC9, 0xF9, 0x41, 0xF1, 0xC4, 0xF9, 0x44, 0xF1,
0xBE, 0xF9, 0x46, 0xF1, 0xB8, 0xF9, 0x49, 0xF1, 0xB2, 0xF9,
0x4B, 0xF1, 0xAC, 0xF9, 0x4E, 0xF1, 0xA7, 0xF9, 0x50, 0xF1,
0xA1, 0xF9, 0x53, 0xF1, 0x9B, 0xF9, 0x55, 0xF1, 0x95, 0xF9,
0x58, 0xF1, 0x90, 0xF9, 0x5A, 0xF1, 0x8A, 0xF9, 0x5D, 0xF1,
0x84, 0xF9, 0x5F, 0xF1, 0x7E, 0xF9, 0x62, 0xF1, 0x79, 0xF9,
0x65, 0xF1, 0x73, 0xF9, 0x67, 0xF1, 0x6D, 0xF9, 0x6A, 0xF1,
0x67, 0xF9, 0x6C, 0xF1, 0x62, 0xF9, 0x6F, 0xF1, 0x5C, 0xF9,
0x71, 0xF1, 0x56, 0xF9, 0x74, 0xF1, 0x51, 0xF9, 0x77, 0xF1,
0x4B, 0xF9, 0x79, 0xF1, 0x45, 0xF9, 0x7C, 0xF1, 0x3F, 0xF9,
0x7F, 0xF1, 0x3A, 0xF9, 0x81, 0xF1, 0x34, 0xF9, 0x84, 0xF1,
0x2E, 0xF9, 0x87, 0xF1, 0x29, 0xF9, 0x89, 0xF1, 0x23, 0xF9,
0x8C, 0xF1, 0x1D, 0xF9, 0x8F, 0xF1, 0x18, 0xF9, 0x91, 0xF1,
0x12, 0xF9, 0x94, 0xF1, 0x0C, 0xF9, 0x97, 0xF1, 0x07, 0xF9,
0x9A, 0xF1, 0x01, 0xF9, 0x9C, 0xF1, 0xFB, 0xF8, 0x9F, 0xF1,
0xF6, 0xF8, 0xA2, 0xF1, 0xF0, 0xF8, 0xA5, 0xF1, 0xEB, 0xF8,
0xA7, 0xF1, 0xE5, 0xF8, 0xAA, 0xF1, 0xDF, 0xF8, 0xAD, 0xF1,
0xDA, 0xF8, 0xB0, 0xF1, 0xD4, 0xF8, 0xB3, 0xF1, 0xCE, 0xF8,
0xB5, 0xF1, 0xC9, 0xF8, 0xB8, 0xF1, 0xC3, 0xF8, 0xBB, 0xF1,
0xBE, 0xF8, 0xBE, 0xF1, 0xB8, 0xF8, 0xC1, 0xF1, 0xB2, 0xF8,
0xC4, 0xF1, 0xAD, 0xF8, 0xC6, 0xF1, 0xA7, 0xF8, 0xC9, 0xF1,
0xA2, 0xF8, 0xCC, 0xF1, 0x9C, 0xF8, 0xCF, 0xF1, 0x96, 0xF8,
0xD2, 0xF1, 0x91, 0xF8, 0xD5, 0xF1, 0x8B, 0xF8, 0xD8, 0xF1,
0x86, 0xF8, 0xDB, 0xF1, 0x80, 0xF8, 0xDE, 0xF1, 0x7B, 0xF8,
0xE1, 0xF1, 0x75, 0xF8, 0xE4, 0xF1, 0x70, 0xF8, 0xE7, 0xF1,
0x6A, 0xF8, 0xEA, 0xF1, 0x65, 0xF8, 0xED, 0xF1, 0x5F, 0xF8,
0xF0, 0xF1, 0x5A, 0xF8, 0xF3, 0xF1, 0x54, 0xF8, 0xF6, 0xF1,
0x4E, 0xF8, 0xF9, 0xF1, 0x49, 0xF8, 0xFC, 0xF1, 0x43, 0xF8,
0xFF, 0xF1, 0x3E, 0xF8, 0x02, 0xF2, 0x38, 0xF8, 0x05, 0xF2,
0x33, 0xF8, 0x08, 0xF2, 0x2E, 0xF8, 0x0B, 0xF2, 0x28, 0xF8,
0x0E, 0xF2, 0x23, 0xF8, 0x11, 0xF2, 0x1D, 0xF8, 0x14, 0xF2,
0x18, 0xF8, 0x17, 0xF2, 0x12, 0xF8, 0x1A, 0xF2, 0x0D, 0xF8,
0x1D, 0xF2, 0x07, 0xF8, 0x21, 0xF2, 0x02, 0xF8, 0x24, 0xF2,
0xFC, 0xF7, 0x27, 0xF2, 0xF7, 0xF7, 0x2A, 0xF2, 0xF2, 0xF7,
0x2D, 0xF2, 0xEC, 0xF7, 0x30, 0xF2, 0xE7, 0xF7, 0x34, 0xF2,
0xE1, 0xF7, 0x37, 0xF2, 0xDC, 0xF7, 0x3A, 0xF2, 0xD6, 0xF7,
0x3D, 0xF2, 0xD1, 0xF7, 0x40, 0xF2, 0xCC, 0xF7, 0x44, 0xF2,
0xC6, 0xF7, 0x47, 0xF2, 0xC1, 0xF7, 0x4A, 0xF2, 0xBB, 0xF7,
0x4D, 0xF2, 0xB6, 0xF7, 0x50, 0xF2, 0xB1, 0xF7, 0x54, 0xF2,
0xAB, 0xF7, 0x57, 0xF2, 0xA6, 0xF7, 0x5A, 0xF2, 0xA1, 0xF7,
0x5E, 0xF2, 0x9B, 0xF7, 0x61, 0xF2, 0x96, 0xF7, 0x64, 0xF2,
0x91, 0xF7, 0x67, 0xF2, 0x8B, 0xF7, 0x6B, 0xF2, 0x86, 0xF7,
0x6E, 0xF2, 0x81, 0xF7, 0x71, 0xF2, 0x7B, 0xF7, 0x75, 0xF2,
0x76, 0xF7, 0x78, 0xF2, 0x71, 0xF7, 0x7B, 0xF2, 0x6B, 0xF7,
0x7F, 0xF2, 0x66, 0xF7, 0x82, 0xF2, 0x61, 0xF7, 0x86, 0xF2,
0x5B, 0xF7, 0x89, 0xF2, 0x56, 0xF7, 0x8C, 0xF2, 0x51, 0xF7,
0x90, 0xF2, 0x4C, 0xF7, 0x93, 0xF2, 0x46, 0xF7, 0x97, 0xF2,
0x41, 0xF7, 0x9A, 0xF2, 0x3C, 0xF7, 0x9E, 0xF2, 0x37, 0xF7,
0xA1, 0xF2, 0x31, 0xF7, 0xA4, 0xF2, 0x2C, 0xF7, 0xA8, 0xF2,
0x27, 0xF7, 0xAB, 0xF2, 0x22, 0xF7, 0xAF, 0xF2, 0x1C, 0xF7,
0xB2, 0xF2, 0x17, 0xF7, 0xB6, 0xF2, 0x12, 0xF7, 0xB9, 0xF2,
0x0D, 0xF7, 0xBD, 0xF2, 0x08, 0xF7, 0xC0, 0xF2, 0x02, 0xF7,
0xC4, 0xF2, 0xFD, 0xF6, 0xC7, 0xF2, 0xF8, 0xF6, 0xCB, 0xF2,
0xF3, 0xF6, 0xCE, 0xF2, 0xEE, 0xF6, 0xD2, 0xF2, 0xE8, 0xF6,
0xD6, 0xF2, 0xE3, 0xF6, 0xD9, 0xF2, 0xDE, 0xF6, 0xDD, 0xF2,
0xD9, 0xF6, 0xE0, 0xF2, 0xD4, 0xF6, 0xE4, 0xF2, 0xCF, 0xF6,
0xE8, 0xF2, 0xC9, 0xF6, 0xEB, 0xF2, 0xC4, 0xF6, 0xEF, 0xF2,
0xBF, 0xF6, 0xF2, 0xF2, 0xBA, 0xF6, 0xF6, 0xF2, 0xB5, 0xF6,
0xFA, 0xF2, 0xB0, 0xF6, 0xFD, 0xF2, 0xAB, 0xF6, 0x01, 0xF3,
0xA6, 0xF6, 0x05, 0xF3, 0xA1, 0xF6, 0x08, 0xF3, 0x9B, 0xF6,
0x0C, 0xF3, 0x96, 0xF6, 0x10, 0xF3, 0x91, 0xF6, 0x13, 0xF3,
0x8C, 0xF6, 0x17, 0xF3, 0x87, 0xF6, 0x1B, 0xF3, 0x82, 0xF6,
0x1F, 0xF3, 0x7D, 0xF6, 0x22, 0xF3, 0x78, 0xF6, 0x26, 0xF3,
0x73, 0xF6, 0x2A, 0xF3, 0x6E, 0xF6, 0x2E, 0xF3, 0x69, 0xF6,
0x31, 0xF3, 0x64, 0xF6, 0x35, 0xF3, 0x5F, 0xF6, 0x39, 0xF3,
0x5A, 0xF6, 0x3D, 0xF3, 0x55, 0xF6, 0x40, 0xF3, 0x50, 0xF6,
0x44, 0xF3, 0x4B, 0xF6, 0x48, 0xF3, 0x46, 0xF6, 0x4C, 0xF3,
0x41, 0xF6, 0x50, 0xF3, 0x3C, 0xF6, 0x54, 0xF3, 0x37, 0xF6,
0x57, 0xF3, 0x32, 0xF6, 0x5B, 0xF3, 0x2D, 0xF6, 0x5F, 0xF3,
0x28, 0xF6, 0x63, 0xF3, 0x23, 0xF6, 0x67, 0xF3, 0x1E, 0xF6,
0x6B, 0xF3, 0x19, 0xF6, 0x6F, 0xF3, 0x14, 0xF6, 0x72, 0xF3,
0x0F, 0xF6, 0x76, 0xF3, 0x0A, 0xF6, 0x7A, 0xF3, 0x05, 0xF6,
0x7E, 0xF3, 0x01, 0xF6, 0x82, 0xF3, 0xFC, 0xF5, 0x86, 0xF3,
0xF7, 0xF5, 0x8A, 0xF3, 0xF2, 0xF5, 0x8E, 0xF3, 0xED, 0xF5,
0x92, 0xF3, 0xE8, 0xF5, 0x96, 0xF3, 0xE3, 0xF5, 0x9A, 0xF3,
0xDE, 0xF5, 0x9E, 0xF3, 0xDA, 0xF5, 0xA2, 0xF3, 0xD5, 0xF5,
0xA6, 0xF3, 0xD0, 0xF5, 0xAA, 0xF3, 0xCB, 0xF5, 0xAE, 0xF3,
0xC6, 0xF5, 0xB2, 0xF3, 0xC1, 0xF5, 0xB6, 0xF3, 0xBC, 0xF5,
0xBA, 0xF3, 0xB8, 0xF5, 0xBE, 0xF3, 0xB3, 0xF5, 0xC2, 0xF3,
0xAE, 0xF5, 0xC6, 0xF3, 0xA9, 0xF5, 0xCA, 0xF3, 0xA4, 0xF5,
0xCE, 0xF3, 0xA0, 0xF5, 0xD2, 0xF3, 0x9B, 0xF5, 0xD6, 0xF3,
0x96, 0xF5, 0xDA, 0xF3, 0x91, 0xF5, 0xDE, 0xF3, 0x8D, 0xF5,
0xE2, 0xF3, 0x88, 0xF5, 0xE7, 0xF3, 0x83, 0xF5, 0xEB, 0xF3,
0x7E, 0xF5, 0xEF, 0xF3, 0x7A, 0xF5, 0xF3, 0xF3, 0x75, 0xF5,
0xF7, 0xF3, 0x70, 0xF5, 0xFB, 0xF3, 0x6B, 0xF5, 0xFF, 0xF3,
0x67, 0xF5, 0x04, 0xF4, 0x62, 0xF5, 0x08, 0xF4, 0x5D, 0xF5,
0x0C, 0xF4, 0x59, 0xF5, 0x10, 0xF4, 0x54, 0xF5, 0x14, 0xF4,
0x4F, 0xF5, 0x18, 0xF4, 0x4B, 0xF5, 0x1D, 0xF4, 0x46, 0xF5,
0x21, 0xF4, 0x41, 0xF5, 0x25, 0xF4, 0x3D, 0xF5, 0x29, 0xF4,
0x38, 0xF5, 0x2E, 0xF4, 0x33, 0xF5, 0x32, 0xF4, 0x2F, 0xF5,
0x36, 0xF4, 0x2A, 0xF5, 0x3A, 0xF4, 0x25, 0xF5, 0x3F, 0xF4,
0x21, 0xF5, 0x43, 0xF4, 0x1C, 0xF5, 0x47, 0xF4, 0x18, 0xF5,
0x4B, 0xF4, 0x13, 0xF5, 0x50, 0xF4, 0x0E, 0xF5, 0x54, 0xF4,
0x0A, 0xF5, 0x58, 0xF4, 0x05, 0xF5, 0x5D, 0xF4, 0x01, 0xF5,
0x61, 0xF4, 0xFC, 0xF4, 0x65, 0xF4, 0xF8, 0xF4, 0x69, 0xF4,
0xF3, 0xF4, 0x6E, 0xF4, 0xEF, 0xF4, 0x72, 0xF4, 0xEA, 0xF4,
0x77, 0xF4, 0xE5, 0xF4, 0x7B, 0xF4, 0xE1, 0xF4, 0x7F, 0xF4,
0xDC, 0xF4, 0x84, 0xF4, 0xD8, 0xF4, 0x88, 0xF4, 0xD3, 0xF4,
0x8C, 0xF4, 0xCF, 0xF4, 0x91, 0xF4, 0xCA, 0xF4, 0x95, 0xF4,
0xC6, 0xF4, 0x9A, 0xF4, 0xC2, 0xF4, 0x9E, 0xF4, 0xBD, 0xF4,
0xA2, 0xF4, 0xB9, 0xF4, 0xA7, 0xF4, 0xB4, 0xF4, 0xAB, 0xF4,
0xB0, 0xF4, 0xB0, 0xF4, 0xAB, 0xF4, 0xB4, 0xF4, 0xA7, 0xF4,
0xB9, 0xF4, 0xA2, 0xF4, 0xBD, 0xF4, 0x9E, 0xF4, 0xC2, 0xF4,
0x9A, 0xF4, 0xC6, 0xF4, 0x95, 0xF4, 0xCA, 0xF4, 0x91, 0xF4,
0xCF, 0xF4, 0x8C, 0xF4, 0xD3, 0xF4, 0x88, 0xF4, 0xD8, 0xF4,
0x84, 0xF4, 0xDC, 0xF4, 0x7F, 0xF4, 0xE1, 0xF4, 0x7B, 0xF4,
0xE5, 0xF4, 0x77, 0xF4, 0xEA, 0xF4, 0x72, 0xF4, 0xEF, 0xF4,
0x6E, 0xF4, 0xF3, 0xF4, 0x69, 0xF4, 0xF8, 0xF4, 0x65, 0xF4,
0xFC, 0xF4, 0x61, 0xF4, 0x01, 0xF5, 0x5D, 0xF4, 0x05, 0xF5,
0x58, 0xF4, 0x0A, 0xF5, 0x54, 0xF4, 0x0E, 0xF5, 0x50, 0xF4,
0x13, 0xF5, 0x4B, 0xF4, 0x18, 0xF5, 0x47, 0xF4, 0x1C, 0xF5,
0x43, 0xF4, 0x21, 0xF5, 0x3F, 0xF4, 0x25, 0xF5, 0x3A, 0xF4,
0x2A, 0xF5, 0x36, 0xF4, 0x2F, 0xF5, 0x32, 0xF4, 0x33, 0xF5,
0x2E, 0xF4, 0x38, 0xF5, 0x29, 0xF4, 0x3D, 0xF5, 0x25, 0xF4,
0x41, 0xF5, 0x21, 0xF4, 0x46, 0xF5, 0x1D, 0xF4, 0x4B, 0xF5,
0x18, 0xF4, 0x4F, 0xF5, 0x14, 0xF4, 0x54, 0xF5, 0x10, 0xF4,
0x59, 0xF5, 0x0C, 0xF4, 0x5D, 0xF5, 0x08, 0xF4, 0x62, 0xF5,
0x04, 0xF4, 0x67, 0xF5, 0xFF, 0xF3, 0x6B, 0xF5, 0xFB, 0xF3,
0x70, 0xF5, 0xF7, 0xF3, 0x75, 0xF5, 0xF3, 0xF3, 0x7A, 0xF5,
0xEF, 0xF3, 0x7E, 0xF5, 0xEB, 0xF3, 0x83, 0xF5, 0xE7, 0xF3,
0x88, 0xF5, 0xE2, 0xF3, 0x8D, 0xF5, 0xDE, 0xF3, 0x91, 0xF5,
0xDA, 0xF3, 0x96, 0xF5, 0xD6, 0xF3, 0x9B, 0xF5, 0xD2, 0xF3,
0xA0, 0xF5, 0xCE, 0xF3, 0xA4, 0xF5, 0xCA, 0xF3, 0xA9, 0xF5,
0xC6, 0xF3, 0xAE, 0xF5, 0xC2, 0xF3, 0xB3, 0xF5, 0xBE, 0xF3,
0xB8, 0xF5, 0xBA, 0xF3, 0xBC, 0xF5, 0xB6, 0xF3, 0xC1, 0xF5,
0xB2, 0xF3, 0xC6, 0xF5, 0xAE, 0xF3, 0xCB, 0xF5, 0xAA, 0xF3,
0xD0, 0xF5, 0xA6, 0xF3, 0xD5, 0xF5, 0xA2, 0xF3, 0xDA, 0xF5,
0x9E, 0xF3, 0xDE, 0xF5, 0x9A, 0xF3, 0xE3, 0xF5, 0x96, 0xF3,
0xE8, 0xF5, 0x92, 0xF3, 0xED, 0xF5, 0x8E, 0xF3, 0xF2, 0xF5,
0x8A, 0xF3, 0xF7, 0xF5, 0x86, 0xF3, 0xFC, 0xF5, 0x82, 0xF3,
0x01, 0xF6, 0x7E, 0xF3, 0x05, 0xF6, 0x7A, 0xF3, 0x0A, 0xF6,
0x76, 0xF3, 0x0F, 0xF6, 0x72, 0xF3, 0x14, 0xF6, 0x6F, 0xF3,
0x19, 0xF6, 0x6B, 0xF3, 0x1E, 0xF6, 0x67, 0xF3, 0x23, 0xF6,
0x63, 0xF3, 0x28, 0xF6, 0x5F, 0xF3, 0x2D, 0xF6, 0x5B, 0xF3,
0x32, 0xF6, 0x57, 0xF3, 0x37, 0xF6, 0x54, 0xF3, 0x3C, 0xF6,
0x50, 0xF3, 0x41, 0xF6, 0x4C, 0xF3, 0x46, 0xF6, 0x48, 0xF3,
0x4B, 0xF6, 0x44, 0xF3, 0x50, 0xF6, 0x40, 0xF3, 0x55, 0xF6,
0x3D, 0xF3, 0x5A, 0xF6, 0x39, 0xF3, 0x5F, 0xF6, 0x35, 0xF3,
0x64, 0xF6, 0x31, 0xF3, 0x69, 0xF6, 0x2E, 0xF3, 0x6E, 0xF6,
0x2A, 0xF3, 0x73, 0xF6, 0x26, 0xF3, 0x78, 0xF6, 0x22, 0xF3,
0x7D, 0xF6, 0x1F, 0xF3, 0x82, 0xF6, 0x1B, 0xF3, 0x87, 0xF6,
0x17, 0xF3, 0x8C, 0xF6, 0x13, 0xF3, 0x91, 0xF6, 0x10, 0xF3,
0x96, 0xF6, 0x0C, 0xF3, 0x9B, 0xF6, 0x08, 0xF3, 0xA1, 0xF6,
0x05, 0xF3, 0xA6, 0xF6, 0x01, 0xF3, 0xAB, 0xF6, 0xFD, 0xF2,
0xB0, 0xF6, 0xFA, 0xF2, 0xB5, 0xF6, 0xF6, 0xF2, 0xBA, 0xF6,
0xF2, 0xF2, 0xBF, 0xF6, 0xEF, 0xF2, 0xC4, 0xF6, 0xEB, 0xF2,
0xC9, 0xF6, 0xE8, 0xF2, 0xCF, 0xF6, 0xE4, 0xF2, 0xD4, 0xF6,
0xE0, 0xF2, 0xD9, 0xF6, 0xDD, 0xF2, 0xDE, 0xF6, 0xD9, 0xF2,
0xE3, 0xF6, 0xD6, 0xF2, 0xE8, 0xF6, 0xD2, 0xF2, 0xEE, 0xF6,
0xCE, 0xF2, 0xF3, 0xF6, 0xCB, 0xF2, 0xF8, 0xF6, 0xC7, 0xF2,
0xFD, 0xF6, 0xC4, 0xF2, 0x02, 0xF7, 0xC0, 0xF2, 0x08, 0xF7,
0xBD, 0xF2, 0x0D, 0xF7, 0xB9, 0xF2, 0x12, 0xF7, 0xB6, 0xF2,
0x17, 0xF7, 0xB2, 0xF2, 0x1C, 0xF7, 0xAF, 0xF2, 0x22, 0xF7,
0xAB, 0xF2, 0x27, 0xF7, 0xA8, 0xF2, 0x2C, 0xF7, 0xA4, 0xF2,
0x31, 0xF7, 0xA1, 0xF2, 0x37, 0xF7, 0x9E, 0xF2, 0x3C, 0xF7,
0x9A, 0xF2, 0x41, 0xF7, 0x97, 0xF2, 0x46, 0xF7, 0x93, 0xF2,
0x4C, 0xF7, 0x90, 0xF2, 0x51, 0xF7, 0x8C, 0xF2, 0x56, 0xF7,
0x89, 0xF2, 0x5B, 0xF7, 0x86, 0xF2, 0x61, 0xF7, 0x82, 0xF2,
0x66, 0xF7, 0x7F, 0xF2, 0x6B, 0xF7, 0x7B, 0xF2, 0x71, 0xF7,
0x78, 0xF2, 0x76, 0xF7, 0x75, 0xF2, 0x7B, 0xF7, 0x71, 0xF2,
0x81, 0xF7, 0x6E, 0xF2, 0x86, 0xF7, 0x6B, 0xF2, 0x8B, 0xF7,
0x67, 0xF2, 0x91, 0xF7, 0x64, 0xF2, 0x96, 0xF7, 0x61, 0xF2,
0x9B, 0xF7, 0x5E, 0xF2, 0xA1, 0xF7, 0x5A, 0xF2, 0xA6, 0xF7,
0x57, 0xF2, 0xAB, 0xF7, 0x54, 0xF2, 0xB1, 0xF7, 0x50, 0xF2,
0xB6, 0xF7, 0x4D, 0xF2, 0xBB, 0xF7, 0x4A, 0xF2, 0xC1, 0xF7,
0x47, 0xF2, 0xC6, 0xF7, 0x44, 0xF2, 0xCC, 0xF7, 0x40, 0xF2,
0xD1, 0xF7, 0x3D, 0xF2, 0xD6, 0xF7, 0x3A, 0xF2, 0xDC, 0xF7,
0x37, 0xF2, 0xE1, 0xF7, 0x34, 0xF2, 0xE7, 0xF7, 0x30, 0xF2,
0xEC, 0xF7, 0x2D, 0xF2, 0xF2, 0xF7, 0x2A, 0xF2, 0xF7, 0xF7,
0x27, 0xF2, 0xFC, 0xF7, 0x24, 0xF2, 0x02, 0xF8, 0x21, 0xF2,
0x07, 0xF8, 0x1D, 0xF2, 0x0D, 0xF8, 0x1A, 0xF2, 0x12, 0xF8,
0x17, 0xF2, 0x18, 0xF8, 0x14, 0xF2, 0x1D, 0xF8, 0x11, 0xF2,
0x23, 0xF8, 0x0E, 0xF2, 0x28, 0xF8, 0x0B, 0xF2, 0x2E, 0xF8,
0x08, 0xF2, 0x33, 0xF8, 0x05, 0xF2, 0x38, 0xF8, 0x02, 0xF2,
0x3E, 0xF8, 0xFF, 0xF1, 0x43, 0xF8, 0xFC, 0xF1, 0x49, 0xF8,
0xF9, 0xF1, 0x4E, 0xF8, 0xF6, 0xF1, 0x54, 0xF8, 0xF3, 0xF1,
0x5A, 0xF8, 0xF0, 0xF1, 0x5F, 0xF8, 0xED, 0xF1, 0x65, 0xF8,
0xEA, 0xF1, 0x6A, 0xF8, 0xE7, 0xF1, 0x70, 0xF8, 0xE4, 0xF1,
0x75, 0xF8, 0xE1, 0xF1, 0x7B, 0xF8, 0xDE, 0xF1, 0x80, 0xF8,
0xDB, 0xF1, 0x86, 0xF8, 0xD8, 0xF1, 0x8B, 0xF8, 0xD5, 0xF1,
0x91, 0xF8, 0xD2, 0xF1, 0x96, 0xF8, 0xCF, 0xF1, 0x9C, 0xF8,
0xCC, 0xF1, 0xA2, 0xF8, 0xC9, 0xF1, 0xA7, 0xF8, 0xC6, 0xF1,
0xAD, 0xF8, 0xC4, 0xF1, 0xB2, 0xF8, 0xC1, 0xF1, 0xB8, 0xF8,
0xBE, 0xF1, 0xBE, 0xF8, 0xBB, 0xF1, 0xC3, 0xF8, 0xB8, 0xF1,
0xC9, 0xF8, 0xB5, 0xF1, 0xCE, 0xF8, 0xB3, 0xF1, 0xD4, 0xF8,
0xB0, 0xF1, 0xDA, 0xF8, 0xAD, 0xF1, 0xDF, 0xF8, 0xAA, 0xF1,
0xE5, 0xF8, 0xA7, 0xF1, 0xEB, 0xF8, 0xA5, 0xF1, 0xF0, 0xF8,
0xA2, 0xF1, 0xF6, 0xF8, 0x9F, 0xF1, 0xFB, 0xF8, 0x9C, 0xF1,
0x01, 0xF9, 0x9A, 0xF1, 0x07, 0xF9, 0x97, 0xF1, 0x0C, 0xF9,
0x94, 0xF1, 0x12, 0xF9, 0x91, 0xF1, 0x18, 0xF9, 0x8F, 0xF1,
0x1D, 0xF9, 0x8C, 0xF1, 0x23, 0xF9, 0x89, 0xF1, 0x29, 0xF9,
0x87, 0xF1, 0x2E, 0xF9, 0x84, 0xF1, 0x34, 0xF9, 0x81, 0xF1,
0x3A, 0xF9, 0x7F, 0xF1, 0x3F, 0xF9, 0x7C, 0xF1, 0x45, 0xF9,
0x79, 0xF1, 0x4B, 0xF9, 0x77, 0xF1, 0x51, 0xF9, 0x74, 0xF1,
0x56, 0xF9, 0x71, 0xF1, 0x5C, 0xF9, 0x6F, 0xF1, 0x62, 0xF9,
0x6C, 0xF1, 0x67, 0xF9, 0x6A, 0xF1, 0x6D, 0xF9, 0x67, 0xF1,
0x73, 0xF9, 0x65, 0xF1, 0x79, 0xF9, 0x62, 0xF1, 0x7E, 0xF9,
0x5F, 0xF1, 0x84, 0xF9, 0x5D, 0xF1, 0x8A, 0xF9, 0x5A, 0xF1,
0x90, 0xF9, 0x58, 0xF1, 0x95, 0xF9, 0x55, 0xF1, 0x9B, 0xF9,
0x53, 0xF1, 0xA1, 0xF9, 0x50, 0xF1, 0xA7, 0xF9, 0x4E, 0xF1,
0xAC, 0xF9, 0x4B, 0xF1, 0xB2, 0xF9, 0x49, 0xF1, 0xB8, 0xF9,
0x46, 0xF1, 0xBE, 0xF9, 0x44, 0xF1, 0xC4, 0xF9, 0x41, 0xF1,
0xC9, 0xF9, 0x3F, 0xF1, 0xCF, 0xF9, 0x3D, 0xF1, 0xD5, 0xF9,
0x3A, 0xF1, 0xDB, 0xF9, 0x38, 0xF1, 0xE1, 0xF9, 0x35, 0xF1,
0xE6, 0xF9, 0x33, 0xF1, 0xEC, 0xF9, 0x31, 0xF1, 0xF2, 0xF9,
0x2E, 0xF1, 0xF8, 0xF9, 0x2C, 0xF1, 0xFE, 0xF9, 0x2A, 0xF1,
0x03, 0xFA, 0x27, 0xF1, 0x09, 0xFA, 0x25, 0xF1, 0x0F, 0xFA,
0x23, 0xF1, 0x15, 0xFA, 0x20, 0xF1, 0x1B, 0xFA, 0x1E, 0xF1,
0x21, 0xFA, 0x1C, 0xF1, 0x26, 0xFA, 0x19, 0xF1, 0x2C, 0xFA,
0x17, 0xF1, 0x32, 0xFA, 0x15, 0xF1, 0x38, 0xFA, 0x12, 0xF1,
0x3E, 0xFA, 0x10, 0xF1, 0x44, 0xFA, 0x0E, 0xF1, 0x4A, 0xFA,
0x0C, 0xF1, 0x4F, 0xFA, 0x09, 0xF1, 0x55, 0xFA, 0x07, 0xF1,
0x5B, 0xFA, 0x05, 0xF1, 0x61, 0xFA, 0x03, 0xF1, 0x67, 0xFA,
0x01, 0xF1, 0x6D, 0xFA, 0xFE, 0xF0, 0x73, 0xFA, 0xFC, 0xF0,
0x79, 0xFA, 0xFA, 0xF0, 0x7F, 0xFA, 0xF8, 0xF0, 0x84, 0xFA,
0xF6, 0xF0, 0x8A, 0xFA, 0xF4, 0xF0, 0x90, 0xFA, 0xF2, 0xF0,
0x96, 0xFA, 0xEF, 0xF0, 0x9C, 0xFA, 0xED, 0xF0, 0xA2, 0xFA,
0xEB, 0xF0, 0xA8, 0xFA, 0xE9, 0xF0, 0xAE, 0xFA, 0xE7, 0xF0,
0xB4, 0xFA, 0xE5, 0xF0, 0xBA, 0xFA, 0xE3, 0xF0, 0xC0, 0xFA,
0xE1, 0xF0, 0xC6, 0xFA, 0xDF, 0xF0, 0xCC, 0xFA, 0xDD, 0xF0,
0xD1, 0xFA, 0xDB, 0xF0, 0xD7, 0xFA, 0xD9, 0xF0, 0xDD, 0xFA,
0xD7, 0xF0, 0xE3, 0xFA, 0xD5, 0xF0, 0xE9, 0xFA, 0xD3, 0xF0,
0xEF, 0xFA, 0xD1, 0xF0, 0xF5, 0xFA, 0xCF, 0xF0, 0xFB, 0xFA,
0xCD, 0xF0, 0x01, 0xFB, 0xCB, 0xF0, 0x07, 0xFB, 0xC9, 0xF0,
0x0D, 0xFB, 0xC7, 0xF0, 0x13, 0xFB, 0xC5, 0xF0, 0x19, 0xFB,
0xC3, 0xF0, 0x1F, 0xFB, 0xC1, 0xF0, 0x25, 0xFB, 0xBF, 0xF0,
0x2B, 0xFB, 0xBD, 0xF0, 0x31, 0xFB, 0xBB, 0xF0, 0x37, 0xFB,
0xBA, 0xF0, 0x3D, 0xFB, 0xB8, 0xF0, 0x43, 0xFB, 0xB6, 0xF0,
0x49, 0xFB, 0xB4, 0xF0, 0x4F, 0xFB, 0xB2, 0xF0, 0x55, 0xFB,
0xB0, 0xF0, 0x5B, 0xFB, 0xAF, 0xF0, 0x61, 0xFB, 0xAD, 0xF0,
0x67, 0xFB, 0xAB, 0xF0, 0x6D, 0xFB, 0xA9, 0xF0, 0x73, 0xFB,
0xA7, 0xF0, 0x79, 0xFB, 0xA6, 0xF0, 0x7F, 0xFB, 0xA4, 0xF0,
0x85, 0xFB, 0xA2, 0xF0, 0x8B, 0xFB, 0xA0, 0xF0, 0x91, 0xFB,
0x9F, 0xF0, 0x97, 0xFB, 0x9D, 0xF0, 0x9D, 0xFB, 0x9B, 0xF0,
0xA3, 0xFB, 0x99, 0xF0, 0xA9, 0xFB, 0x98, 0xF0, 0xAF, 0xFB,
0x96, 0xF0, 0xB5, 0xFB, 0x94, 0xF0, 0xBC, 0xFB, 0x93, 0xF0,
0xC2, 0xFB, 0x91, 0xF0, 0xC8, 0xFB, 0x8F, 0xF0, 0xCE, 0xFB,
0x8E, 0xF0, 0xD4, 0xFB, 0x8C, 0xF0, 0xDA, 0xFB, 0x8A, 0xF0,
0xE0, 0xFB, 0x89, 0xF0, 0xE6, 0xFB, 0x87, 0xF0, 0xEC, 0xFB,
0x86, 0xF0, 0xF2, 0xFB, 0x84, 0xF0, 0xF8, 0xFB, 0x83, 0xF0,
0xFE, 0xFB, 0x81, 0xF0, 0x04, 0xFC, 0x7F, 0xF0, 0x0A, 0xFC,
0x7E, 0xF0, 0x11, 0xFC, 0x7C, 0xF0, 0x17, 0xFC, 0x7B, 0xF0,
0x1D, 0xFC, 0x79, 0xF0, 0x23, 0xFC, 0x78, 0xF0, 0x29, 0xFC,
0x76, 0xF0, 0x2F, 0xFC, 0x75, 0xF0, 0x35, 0xFC, 0x73, 0xF0,
0x3B, 0xFC, 0x72, 0xF0, 0x41, 0xFC, 0x70, 0xF0, 0x47, 0xFC,
0x6F, 0xF0, 0x4E, 0xFC, 0x6D, 0xF0, 0x54, 0xFC, 0x6C, 0xF0,
0x5A, 0xFC, 0x6B, 0xF0, 0x60, 0xFC, 0x69, 0xF0, 0x66, 0xFC,
0x68, 0xF0, 0x6C, 0xFC, 0x66, 0xF0, 0x72, 0xFC, 0x65, 0xF0,
0x78, 0xFC, 0x64, 0xF0, 0x7F, 0xFC, 0x62, 0xF0, 0x85, 0xFC,
0x61, 0xF0, 0x8B, 0xFC, 0x5F, 0xF0, 0x91, 0xFC, 0x5E, 0xF0,
0x97, 0xFC, 0x5D, 0xF0, 0x9D, 0xFC, 0x5B, 0xF0, 0xA3, 0xFC,
0x5A, 0xF0, 0xAA, 0xFC, 0x59, 0xF0, 0xB0, 0xFC, 0x58, 0xF0,
0xB6, 0xFC, 0x56, 0xF0, 0xBC, 0xFC, 0x55, 0xF0, 0xC2, 0xFC,
0x54, 0xF0, 0xC8, 0xFC, 0x52, 0xF0, 0xCE, 0xFC, 0x51, 0xF0,
0xD5, 0xFC, 0x50, 0xF0, 0xDB, 0xFC, 0x4F, 0xF0, 0xE1, 0xFC,
0x4D, 0xF0, 0xE7, 0xFC, 0x4C, 0xF0, 0xED, 0xFC, 0x4B, 0xF0,
0xF3, 0xFC, 0x4A, 0xF0, 0xFA, 0xFC, 0x49, 0xF0, 0x00, 0xFD,
0x48, 0xF0, 0x06, 0xFD, 0x46, 0xF0, 0x0C, 0xFD, 0x45, 0xF0,
0x12, 0xFD, 0x44, 0xF0, 0x18, 0xFD, 0x43, 0xF0, 0x1F, 0xFD,
0x42, 0xF0, 0x25, 0xFD, 0x41, 0xF0, 0x2B, 0xFD, 0x40, 0xF0,
0x31, 0xFD, 0x3E, 0xF0, 0x37, 0xFD, 0x3D, 0xF0, 0x3E, 0xFD,
0x3C, 0xF0, 0x44, 0xFD, 0x3B, 0xF0, 0x4A, 0xFD, 0x3A, 0xF0,
0x50, 0xFD, 0x39, 0xF0, 0x56, 0xFD, 0x38, 0xF0, 0x5D, 0xFD,
0x37, 0xF0, 0x63, 0xFD, 0x36, 0xF0, 0x69, 0xFD, 0x35, 0xF0,
0x6F, 0xFD, 0x34, 0xF0, 0x75, 0xFD, 0x33, 0xF0, 0x7C, 0xFD,
0x32, 0xF0, 0x82, 0xFD, 0x31, 0xF0, 0x88, 0xFD, 0x30, 0xF0,
0x8E, 0xFD, 0x2F, 0xF0, 0x94, 0xFD, 0x2E, 0xF0, 0x9B, 0xFD,
0x2D, 0xF0, 0xA1, 0xFD, 0x2C, 0xF0, 0xA7, 0xFD, 0x2B, 0xF0,
0xAD, 0xFD, 0x2B, 0xF0, 0xB3, 0xFD, 0x2A, 0xF0, 0xBA, 0xFD,
0x29, 0xF0, 0xC0, 0xFD, 0x28, 0xF0, 0xC6, 0xFD, 0x27, 0xF0,
0xCC, 0xFD, 0x26, 0xF0, 0xD3, 0xFD, 0x25, 0xF0, 0xD9, 0xFD,
0x24, 0xF0, 0xDF, 0xFD, 0x24, 0xF0, 0xE5, 0xFD, 0x23, 0xF0,
0xEB, 0xFD, 0x22, 0xF0, 0xF2, 0xFD, 0x21, 0xF0, 0xF8, 0xFD,
0x20, 0xF0, 0xFE, 0xFD, 0x20, 0xF0, 0x04, 0xFE, 0x1F, 0xF0,
0x0B, 0xFE, 0x1E, 0xF0, 0x11, 0xFE, 0x1D, 0xF0, 0x17, 0xFE,
0x1D, 0xF0, 0x1D, 0xFE, 0x1C, 0xF0, 0x24, 0xFE, 0x1B, 0xF0,
0x2A, 0xFE, 0x1A, 0xF0, 0x30, 0xFE, 0x1A, 0xF0, 0x36, 0xFE,
0x19, 0xF0, 0x3D, 0xFE, 0x18, 0xF0, 0x43, 0xFE, 0x18, 0xF0,
0x49, 0xFE, 0x17, 0xF0, 0x4F, 0xFE, 0x16, 0xF0, 0x56, 0xFE,
0x16, 0xF0, 0x5C, 0xFE, 0x15, 0xF0, 0x62, 0xFE, 0x14, 0xF0,
0x68, 0xFE, 0x14, 0xF0, 0x6F, 0xFE, 0x13, 0xF0, 0x75, 0xFE,
0x13, 0xF0, 0x7B, 0xFE, 0x12, 0xF0, 0x81, 0xFE, 0x11, 0xF0,
0x88, 0xFE, 0x11, 0xF0, 0x8E, 0xFE, 0x10, 0xF0, 0x94, 0xFE,
0x10, 0xF0, 0x9A, 0xFE, 0x0F, 0xF0, 0xA1, 0xFE, 0x0F, 0xF0,
0xA7, 0xFE, 0x0E, 0xF0, 0xAD, 0xFE, 0x0E, 0xF0, 0xB3, 0xFE,
0x0D, 0xF0, 0xBA, 0xFE, 0x0D, 0xF0, 0xC0, 0xFE, 0x0C, 0xF0,
0xC6, 0xFE, 0x0C, 0xF0, 0xCC, 0xFE, 0x0B, 0xF0, 0xD3, 0xFE,
0x0B, 0xF0, 0xD9, 0xFE, 0x0A, 0xF0, 0xDF, 0xFE, 0x0A, 0xF0,
0xE5, 0xFE, 0x09, 0xF0, 0xEC, 0xFE, 0x09, 0xF0, 0xF2, 0xFE,
0x08, 0xF0, 0xF8, 0xFE, 0x08, 0xF0, 0xFF, 0xFE, 0x08, 0xF0,
0x05, 0xFF, 0x07, 0xF0, 0x0B, 0xFF, 0x07, 0xF0, 0x11, 0xFF,
0x07, 0xF0, 0x18, 0xFF, 0x06, 0xF0, 0x1E, 0xFF, 0x06, 0xF0,
0x24, 0xFF, 0x06, 0xF0, 0x2A, 0xFF, 0x05, 0xF0, 0x31, 0xFF,
0x05, 0xF0, 0x37, 0xFF, 0x05, 0xF0, 0x3D, 0xFF, 0x04, 0xF0,
0x44, 0xFF, 0x04, 0xF0, 0x4A, 0xFF, 0x04, 0xF0, 0x50, 0xFF,
0x04, 0xF0, 0x56, 0xFF, 0x03, 0xF0, 0x5D, 0xFF, 0x03, 0xF0,
0x63, 0xFF, 0x03, 0xF0, 0x69, 0xFF, 0x03, 0xF0, 0x70, 0xFF,
0x02, 0xF0, 0x76, 0xFF, 0x02, 0xF0, 0x7C, 0xFF, 0x02, 0xF0,
0x82, 0xFF, 0x02, 0xF0, 0x89, 0xFF, 0x02, 0xF0, 0x8F, 0xFF,
0x01, 0xF0, 0x95, 0xFF, 0x01, 0xF0, 0x9B, 0xFF, 0x01, 0xF0,
0xA2, 0xFF, 0x01, 0xF0, 0xA8, 0xFF, 0x01, 0xF0, 0xAE, 0xFF,
0x01, 0xF0, 0xB5, 0xFF, 0x01, 0xF0, 0xBB, 0xFF, 0x00, 0xF0,
0xC1, 0xFF, 0x00, 0xF0, 0xC7, 0xFF, 0x00, 0xF0, 0xCE, 0xFF,
0x00, 0xF0, 0xD4, 0xFF, 0x00, 0xF0, 0xDA, 0xFF, 0x00, 0xF0,
0xE1, 0xFF, 0x00, 0xF0, 0xE7, 0xFF, 0x00, 0xF0, 0xED, 0xFF,
0x00, 0xF0, 0xF3, 0xFF, 0x00, 0xF0, 0xFA, 0xFF, 0x00, 0xF0,
0x00, 0x00, 0x00, 0xF0, 0x06, 0x00, 0x00, 0xF0, 0x0D, 0x00,
0x00, 0xF0, 0x13, 0x00, 0x00, 0xF0, 0x19, 0x00, 0x00, 0xF0,
0x1F, 0x00, 0x00, 0xF0, 0x26, 0x00, 0x00, 0xF0, 0x2C, 0x00,
0x00, 0xF0, 0x32, 0x00, 0x00, 0xF0, 0x39, 0x00, 0x00, 0xF0,
0x3F, 0x00, 0x01, 0xF0, 0x45, 0x00, 0x01, 0xF0, 0x4B, 0x00,
0x01, 0xF0, 0x52, 0x00, 0x01, 0xF0, 0x58, 0x00, 0x01, 0xF0,
0x5E, 0x00, 0x01, 0xF0, 0x65, 0x00, 0x01, 0xF0, 0x6B, 0x00,
0x02, 0xF0, 0x71, 0x00, 0x02, 0xF0, 0x77, 0x00, 0x02, 0xF0,
0x7E, 0x00, 0x02, 0xF0, 0x84, 0x00, 0x02, 0xF0, 0x8A, 0x00,
0x03, 0xF0, 0x90, 0x00, 0x03, 0xF0, 0x97, 0x00, 0x03, 0xF0,
0x9D, 0x00, 0x03, 0xF0, 0xA3, 0x00, 0x04, 0xF0, 0xAA, 0x00,
0x04, 0xF0, 0xB0, 0x00, 0x04, 0xF0, 0xB6, 0x00, 0x04, 0xF0,
0xBC, 0x00, 0x05, 0xF0, 0xC3, 0x00, 0x05, 0xF0, 0xC9, 0x00,
0x05, 0xF0, 0xCF, 0x00, 0x06, 0xF0, 0xD6, 0x00, 0x06, 0xF0,
0xDC, 0x00, 0x06, 0xF0, 0xE2, 0x00, 0x07, 0xF0, 0xE8, 0x00,
0x07, 0xF0, 0xEF, 0x00, 0x07, 0xF0, 0xF5, 0x00, 0x08, 0xF0,
0xFB, 0x00, 0x08, 0xF0, 0x01, 0x01, 0x08, 0xF0, 0x08, 0x01,
0x09, 0xF0, 0x0E, 0x01, 0x09, 0xF0, 0x14, 0x01, 0x0A, 0xF0,
0x1B, 0x01, 0x0A, 0xF0, 0x21, 0x01, 0x0B, 0xF0, 0x27, 0x01,
0x0B, 0xF0, 0x2D, 0x01, 0x0C, 0xF0, 0x34, 0x01, 0x0C, 0xF0,
0x3A, 0x01, 0x0D, 0xF0, 0x40, 0x01, 0x0D, 0xF0, 0x46, 0x01,
0x0E, 0xF0, 0x4D, 0x01, 0x0E, 0xF0, 0x53, 0x01, 0x0F, 0xF0,
0x59, 0x01, 0x0F, 0xF0, 0x5F, 0x01, 0x10, 0xF0, 0x66, 0x01,
0x10, 0xF0, 0x6C, 0x01, 0x11, 0xF0, 0x72, 0x01, 0x11, 0xF0,
0x78, 0x01, 0x12, 0xF0, 0x7F, 0x01, 0x13, 0xF0, 0x85, 0x01,
0x13, 0xF0, 0x8B, 0x01, 0x14, 0xF0, 0x91, 0x01, 0x14, 0xF0,
0x98, 0x01, 0x15, 0xF0, 0x9E, 0x01, 0x16, 0xF0, 0xA4, 0x01,
0x16, 0xF0, 0xAA, 0x01, 0x17, 0xF0, 0xB1, 0x01, 0x18, 0xF0,
0xB7, 0x01, 0x18, 0xF0, 0xBD, 0x01, 0x19, 0xF0, 0xC3, 0x01,
0x1A, 0xF0, 0xCA, 0x01, 0x1A, 0xF0, 0xD0, 0x01, 0x1B, 0xF0,
0xD6, 0x01, 0x1C, 0xF0, 0xDC, 0x01, 0x1D, 0xF0, 0xE3, 0x01,
0x1D, 0xF0, 0xE9, 0x01, 0x1E, 0xF0, 0xEF, 0x01, 0x1F, 0xF0,
0xF5, 0x01, 0x20, 0xF0, 0xFC, 0x01, 0x20, 0xF0, 0x02, 0x02,
0x21, 0xF0, 0x08, 0x02, 0x22, 0xF0, 0x0E, 0x02, 0x23, 0xF0,
0x15, 0x02, 0x24, 0xF0, 0x1B, 0x02, 0x24, 0xF0, 0x21, 0x02,
0x25, 0xF0, 0x27, 0x02, 0x26, 0xF0, 0x2D, 0x02, 0x27, 0xF0,
0x34, 0x02, 0x28, 0xF0, 0x3A, 0x02, 0x29, 0xF0, 0x40, 0x02,
0x2A, 0xF0, 0x46, 0x02, 0x2B, 0xF0, 0x4D, 0x02, 0x2B, 0xF0,
0x53, 0x02, 0x2C, 0xF0, 0x59, 0x02, 0x2D, 0xF0, 0x5F, 0x02,
0x2E, 0xF0, 0x65, 0x02, 0x2F, 0xF0, 0x6C, 0x02, 0x30, 0xF0,
0x72, 0x02, 0x31, 0xF0, 0x78, 0x02, 0x32, 0xF0, 0x7E, 0x02,
0x33, 0xF0, 0x84, 0x02, 0x34, 0xF0, 0x8B, 0x02, 0x35, 0xF0,
0x91, 0x02, 0x36, 0xF0, 0x97, 0x02, 0x37, 0xF0, 0x9D, 0x02,
0x38, 0xF0, 0xA3, 0x02, 0x39, 0xF0, 0xAA, 0x02, 0x3A, 0xF0,
0xB0, 0x02, 0x3B, 0xF0, 0xB6, 0x02, 0x3C, 0xF0, 0xBC, 0x02,
0x3D, 0xF0, 0xC2, 0x02, 0x3E, 0xF0, 0xC9, 0x02, 0x40, 0xF0,
0xCF, 0x02, 0x41, 0xF0, 0xD5, 0x02, 0x42, 0xF0, 0xDB, 0x02,
0x43, 0xF0, 0xE1, 0x02, 0x44, 0xF0, 0xE8, 0x02, 0x45, 0xF0,
0xEE, 0x02, 0x46, 0xF0, 0xF4, 0x02, 0x48, 0xF0, 0xFA, 0x02,
0x49, 0xF0, 0x00, 0x03, 0x4A, 0xF0, 0x06, 0x03, 0x4B, 0xF0,
0x0D, 0x03, 0x4C, 0xF0, 0x13, 0x03, 0x4D, 0xF0, 0x19, 0x03,
0x4F, 0xF0, 0x1F, 0x03, 0x50, 0xF0, 0x25, 0x03, 0x51, 0xF0,
0x2B, 0x03, 0x52, 0xF0, 0x32, 0x03, 0x54, 0xF0, 0x38, 0x03,
0x55, 0xF0, 0x3E, 0x03, 0x56, 0xF0, 0x44, 0x03, 0x58, 0xF0,
0x4A, 0x03, 0x59, 0xF0, 0x50, 0x03, 0x5A, 0xF0, 0x56, 0x03,
0x5B, 0xF0, 0x5D, 0x03, 0x5D, 0xF0, 0x63, 0x03, 0x5E, 0xF0,
0x69, 0x03, 0x5F, 0xF0, 0x6F, 0x03, 0x61, 0xF0, 0x75, 0x03,
0x62, 0xF0, 0x7B, 0x03, 0x64, 0xF0, 0x81, 0x03, 0x65, 0xF0,
0x88, 0x03, 0x66, 0xF0, 0x8E, 0x03, 0x68, 0xF0, 0x94, 0x03,
0x69, 0xF0, 0x9A, 0x03, 0x6B, 0xF0, 0xA0, 0x03, 0x6C, 0xF0,
0xA6, 0x03, 0x6D, 0xF0, 0xAC, 0x03, 0x6F, 0xF0, 0xB2, 0x03,
0x70, 0xF0, 0xB9, 0x03, 0x72, 0xF0, 0xBF, 0x03, 0x73, 0xF0,
0xC5, 0x03, 0x75, 0xF0, 0xCB, 0x03, 0x76, 0xF0, 0xD1, 0x03,
0x78, 0xF0, 0xD7, 0x03, 0x79, 0xF0, 0xDD, 0x03, 0x7B, 0xF0,
0xE3, 0x03, 0x7C, 0xF0, 0xE9, 0x03, 0x7E, 0xF0, 0xEF, 0x03,
0x7F, 0xF0, 0xF6, 0x03, 0x81, 0xF0, 0xFC, 0x03, 0x83, 0xF0,
0x02, 0x04, 0x84, 0xF0, 0x08, 0x04, 0x86, 0xF0, 0x0E, 0x04,
0x87, 0xF0, 0x14, 0x04, 0x89, 0xF0, 0x1A, 0x04, 0x8A, 0xF0,
0x20, 0x04, 0x8C, 0xF0, 0x26, 0x04, 0x8E, 0xF0, 0x2C, 0x04,
0x8F, 0xF0, 0x32, 0x04, 0x91, 0xF0, 0x38, 0x04, 0x93, 0xF0,
0x3E, 0x04, 0x94, 0xF0, 0x44, 0x04, 0x96, 0xF0, 0x4B, 0x04,
0x98, 0xF0, 0x51, 0x04, 0x99, 0xF0, 0x57, 0x04, 0x9B, 0xF0,
0x5D, 0x04, 0x9D, 0xF0, 0x63, 0x04, 0x9F, 0xF0, 0x69, 0x04,
0xA0, 0xF0, 0x6F, 0x04, 0xA2, 0xF0, 0x75, 0x04, 0xA4, 0xF0,
0x7B, 0x04, 0xA6, 0xF0, 0x81, 0x04, 0xA7, 0xF0, 0x87, 0x04,
0xA9, 0xF0, 0x8D, 0x04, 0xAB, 0xF0, 0x93, 0x04, 0xAD, 0xF0,
0x99, 0x04, 0xAF, 0xF0, 0x9F, 0x04, 0xB0, 0xF0, 0xA5, 0x04,
0xB2, 0xF0, 0xAB, 0x04, 0xB4, 0xF0, 0xB1, 0x04, 0xB6, 0xF0,
0xB7, 0x04, 0xB8, 0xF0, 0xBD, 0x04, 0xBA, 0xF0, 0xC3, 0x04,
0xBB, 0xF0, 0xC9, 0x04, 0xBD, 0xF0, 0xCF, 0x04, 0xBF, 0xF0,
0xD5, 0x04, 0xC1, 0xF0, 0xDB, 0x04, 0xC3, 0xF0, 0xE1, 0x04,
0xC5, 0xF0, 0xE7, 0x04, 0xC7, 0xF0, 0xED, 0x04, 0xC9, 0xF0,
0xF3, 0x04, 0xCB, 0xF0, 0xF9, 0x04, 0xCD, 0xF0, 0xFF, 0x04,
0xCF, 0xF0, 0x05, 0x05, 0xD1, 0xF0, 0x0B, 0x05, 0xD3, 0xF0,
0x11, 0x05, 0xD5, 0xF0, 0x17, 0x05, 0xD7, 0xF0, 0x1D, 0x05,
0xD9, 0xF0, 0x23, 0x05, 0xDB, 0xF0, 0x29, 0x05, 0xDD, 0xF0,
0x2F, 0x05, 0xDF, 0xF0, 0x34, 0x05, 0xE1, 0xF0, 0x3A, 0x05,
0xE3, 0xF0, 0x40, 0x05, 0xE5, 0xF0, 0x46, 0x05, 0xE7, 0xF0,
0x4C, 0x05, 0xE9, 0xF0, 0x52, 0x05, 0xEB, 0xF0, 0x58, 0x05,
0xED, 0xF0, 0x5E, 0x05, 0xEF, 0xF0, 0x64, 0x05, 0xF2, 0xF0,
0x6A, 0x05, 0xF4, 0xF0, 0x70, 0x05, 0xF6, 0xF0, 0x76, 0x05,
0xF8, 0xF0, 0x7C, 0x05, 0xFA, 0xF0, 0x81, 0x05, 0xFC, 0xF0,
0x87, 0x05, 0xFE, 0xF0, 0x8D, 0x05, 0x01, 0xF1, 0x93, 0x05,
0x03, 0xF1, 0x99, 0x05, 0x05, 0xF1, 0x9F, 0x05, 0x07, 0xF1,
0xA5, 0x05, 0x09, 0xF1, 0xAB, 0x05, 0x0C, 0xF1, 0xB1, 0x05,
0x0E, 0xF1, 0xB6, 0x05, 0x10, 0xF1, 0xBC, 0x05, 0x12, 0xF1,
0xC2, 0x05, 0x15, 0xF1, 0xC8, 0x05, 0x17, 0xF1, 0xCE, 0x05,
0x19, 0xF1, 0xD4, 0x05, 0x1C, 0xF1, 0xDA, 0x05, 0x1E, 0xF1,
0xDF, 0x05, 0x20, 0xF1, 0xE5, 0x05, 0x23, 0xF1, 0xEB, 0x05,
0x25, 0xF1, 0xF1, 0x05, 0x27, 0xF1, 0xF7, 0x05, 0x2A, 0xF1,
0xFD, 0x05, 0x2C, 0xF1, 0x02, 0x06, 0x2E, 0xF1, 0x08, 0x06,
0x31, 0xF1, 0x0E, 0x06, 0x33, 0xF1, 0x14, 0x06, 0x35, 0xF1,
0x1A, 0x06, 0x38, 0xF1, 0x1F, 0x06, 0x3A, 0xF1, 0x25, 0x06,
0x3D, 0xF1, 0x2B, 0x06, 0x3F, 0xF1, 0x31, 0x06, 0x41, 0xF1,
0x37, 0x06, 0x44, 0xF1, 0x3C, 0x06, 0x46, 0xF1, 0x42, 0x06,
0x49, 0xF1, 0x48, 0x06, 0x4B, 0xF1, 0x4E, 0x06, 0x4E, 0xF1,
0x54, 0x06, 0x50, 0xF1, 0x59, 0x06, 0x53, 0xF1, 0x5F, 0x06,
0x55, 0xF1, 0x65, 0x06, 0x58, 0xF1, 0x6B, 0x06, 0x5A, 0xF1,
0x70, 0x06, 0x5D, 0xF1, 0x76, 0x06, 0x5F, 0xF1, 0x7C, 0x06,
0x62, 0xF1, 0x82, 0x06, 0x65, 0xF1, 0x87, 0x06, 0x67, 0xF1,
0x8D, 0x06, 0x6A, 0xF1, 0x93, 0x06, 0x6C, 0xF1, 0x99, 0x06,
0x6F, 0xF1, 0x9E, 0x06, 0x71, 0xF1, 0xA4, 0x06, 0x74, 0xF1,
0xAA, 0x06, 0x77, 0xF1, 0xAF, 0x06, 0x79, 0xF1, 0xB5, 0x06,
0x7C, 0xF1, 0xBB, 0x06, 0x7F, 0xF1, 0xC1, 0x06, 0x81, 0xF1,
0xC6, 0x06, 0x84, 0xF1, 0xCC, 0x06, 0x87, 0xF1, 0xD2, 0x06,
0x89, 0xF1, 0xD7, 0x06, 0x8C, 0xF1, 0xDD, 0x06, 0x8F, 0xF1,
0xE3, 0x06, 0x91, 0xF1, 0xE8, 0x06, 0x94, 0xF1, 0xEE, 0x06,
0x97, 0xF1, 0xF4, 0x06, 0x9A, 0xF1, 0xF9, 0x06, 0x9C, 0xF1,
0xFF, 0x06, 0x9F, 0xF1, 0x05, 0x07, 0xA2, 0xF1, 0x0A, 0x07,
0xA5, 0xF1, 0x10, 0x07, 0xA7, 0xF1, 0x15, 0x07, 0xAA, 0xF1,
0x1B, 0x07, 0xAD, 0xF1, 0x21, 0x07, 0xB0, 0xF1, 0x26, 0x07,
0xB3, 0xF1, 0x2C, 0x07, 0xB5, 0xF1, 0x32, 0x07, 0xB8, 0xF1,
0x37, 0x07, 0xBB, 0xF1, 0x3D, 0x07, 0xBE, 0xF1, 0x42, 0x07,
0xC1, 0xF1, 0x48, 0x07, 0xC4, 0xF1, 0x4E, 0x07, 0xC6, 0xF1,
0x53, 0x07, 0xC9, 0xF1, 0x59, 0x07, 0xCC, 0xF1, 0x5E, 0x07,
0xCF, 0xF1, 0x64, 0x07, 0xD2, 0xF1, 0x6A, 0x07, 0xD5, 0xF1,
0x6F, 0x07, 0xD8, 0xF1, 0x75, 0x07, 0xDB, 0xF1, 0x7A, 0x07,
0xDE, 0xF1, 0x80, 0x07, 0xE1, 0xF1, 0x85, 0x07, 0xE4, 0xF1,
0x8B, 0x07, 0xE7, 0xF1, 0x90, 0x07, 0xEA, 0xF1, 0x96, 0x07,
0xED, 0xF1, 0x9B, 0x07, 0xF0, 0xF1, 0xA1, 0x07, 0xF3, 0xF1,
0xA6, 0x07, 0xF6, 0xF1, 0xAC, 0x07, 0xF9, 0xF1, 0xB2, 0x07,
0xFC, 0xF1, 0xB7, 0x07, 0xFF, 0xF1, 0xBD, 0x07, 0x02, 0xF2,
0xC2, 0x07, 0x05, 0xF2, 0xC8, 0x07, 0x08, 0xF2, 0xCD, 0x07,
0x0B, 0xF2, 0xD2, 0x07, 0x0E, 0xF2, 0xD8, 0x07, 0x11, 0xF2,
0xDD, 0x07, 0x14, 0xF2, 0xE3, 0x07, 0x17, 0xF2, 0xE8, 0x07,
0x1A, 0xF2, 0xEE, 0x07, 0x1D, 0xF2, 0xF3, 0x07, 0x21, 0xF2,
0xF9, 0x07, 0x24, 0xF2, 0xFE, 0x07, 0x27, 0xF2, 0x04, 0x08,
0x2A, 0xF2, 0x09, 0x08, 0x2D, 0xF2, 0x0E, 0x08, 0x30, 0xF2,
0x14, 0x08, 0x34, 0xF2, 0x19, 0x08, 0x37, 0xF2, 0x1F, 0x08,
0x3A, 0xF2, 0x24, 0x08, 0x3D, 0xF2, 0x2A, 0x08, 0x40, 0xF2,
0x2F, 0x08, 0x44, 0xF2, 0x34, 0x08, 0x47, 0xF2, 0x3A, 0x08,
0x4A, 0xF2, 0x3F, 0x08, 0x4D, 0xF2, 0x45, 0x08, 0x50, 0xF2,
0x4A, 0x08, 0x54, 0xF2, 0x4F, 0x08, 0x57, 0xF2, 0x55, 0x08,
0x5A, 0xF2, 0x5A, 0x08, 0x5E, 0xF2, 0x5F, 0x08, 0x61, 0xF2,
0x65, 0x08, 0x64, 0xF2, 0x6A, 0x08, 0x67, 0xF2, 0x6F, 0x08,
0x6B, 0xF2, 0x75, 0x08, 0x6E, 0xF2, 0x7A, 0x08, 0x71, 0xF2,
0x7F, 0x08, 0x75, 0xF2, 0x85, 0x08, 0x78, 0xF2, 0x8A, 0x08,
0x7B, 0xF2, 0x8F, 0x08, 0x7F, 0xF2, 0x95, 0x08, 0x82, 0xF2,
0x9A, 0x08, 0x86, 0xF2, 0x9F, 0x08, 0x89, 0xF2, 0xA5, 0x08,
0x8C, 0xF2, 0xAA, 0x08, 0x90, 0xF2, 0xAF, 0x08, 0x93, 0xF2,
0xB4, 0x08, 0x97, 0xF2, 0xBA, 0x08, 0x9A, 0xF2, 0xBF, 0x08,
0x9E, 0xF2, 0xC4, 0x08, 0xA1, 0xF2, 0xC9, 0x08, 0xA4, 0xF2,
0xCF, 0x08, 0xA8, 0xF2, 0xD4, 0x08, 0xAB, 0xF2, 0xD9, 0x08,
0xAF, 0xF2, 0xDE, 0x08, 0xB2, 0xF2, 0xE4, 0x08, 0xB6, 0xF2,
0xE9, 0x08, 0xB9, 0xF2, 0xEE, 0x08, 0xBD, 0xF2, 0xF3, 0x08,
0xC0, 0xF2, 0xF8, 0x08, 0xC4, 0xF2, 0xFE, 0x08, 0xC7, 0xF2,
0x03, 0x09, 0xCB, 0xF2, 0x08, 0x09, 0xCE, 0xF2, 0x0D, 0x09,
0xD2, 0xF2, 0x12, 0x09, 0xD6, 0xF2, 0x18, 0x09, 0xD9, 0xF2,
0x1D, 0x09, 0xDD, 0xF2, 0x22, 0x09, 0xE0, 0xF2, 0x27, 0x09,
0xE4, 0xF2, 0x2C, 0x09, 0xE8, 0xF2, 0x31, 0x09, 0xEB, 0xF2,
0x37, 0x09, 0xEF, 0xF2, 0x3C, 0x09, 0xF2, 0xF2, 0x41, 0x09,
0xF6, 0xF2, 0x46, 0x09, 0xFA, 0xF2, 0x4B, 0x09, 0xFD, 0xF2,
0x50, 0x09, 0x01, 0xF3, 0x55, 0x09, 0x05, 0xF3, 0x5A, 0x09,
0x08, 0xF3, 0x5F, 0x09, 0x0C, 0xF3, 0x65, 0x09, 0x10, 0xF3,
0x6A, 0x09, 0x13, 0xF3, 0x6F, 0x09, 0x17, 0xF3, 0x74, 0x09,
0x1B, 0xF3, 0x79, 0x09, 0x1F, 0xF3, 0x7E, 0x09, 0x22, 0xF3,
0x83, 0x09, 0x26, 0xF3, 0x88, 0x09, 0x2A, 0xF3, 0x8D, 0x09,
0x2E, 0xF3, 0x92, 0x09, 0x31, 0xF3, 0x97, 0x09, 0x35, 0xF3,
0x9C, 0x09, 0x39, 0xF3, 0xA1, 0x09, 0x3D, 0xF3, 0xA6, 0x09,
0x40, 0xF3, 0xAB, 0x09, 0x44, 0xF3, 0xB0, 0x09, 0x48, 0xF3,
0xB5, 0x09, 0x4C, 0xF3, 0xBA, 0x09, 0x50, 0xF3, 0xBF, 0x09,
0x54, 0xF3, 0xC4, 0x09, 0x57, 0xF3, 0xC9, 0x09, 0x5B, 0xF3,
0xCE, 0x09, 0x5F, 0xF3, 0xD3, 0x09, 0x63, 0xF3, 0xD8, 0x09,
0x67, 0xF3, 0xDD, 0x09, 0x6B, 0xF3, 0xE2, 0x09, 0x6F, 0xF3,
0xE7, 0x09, 0x72, 0xF3, 0xEC, 0x09, 0x76, 0xF3, 0xF1, 0x09,
0x7A, 0xF3, 0xF6, 0x09, 0x7E, 0xF3, 0xFB, 0x09, 0x82, 0xF3,
0xFF, 0x09, 0x86, 0xF3, 0x04, 0x0A, 0x8A, 0xF3, 0x09, 0x0A,
0x8E, 0xF3, 0x0E, 0x0A, 0x92, 0xF3, 0x13, 0x0A, 0x96, 0xF3,
0x18, 0x0A, 0x9A, 0xF3, 0x1D, 0x0A, 0x9E, 0xF3, 0x22, 0x0A,
0xA2, 0xF3, 0x26, 0x0A, 0xA6, 0xF3, 0x2B, 0x0A, 0xAA, 0xF3,
0x30, 0x0A, 0xAE, 0xF3, 0x35, 0x0A, 0xB2, 0xF3, 0x3A, 0x0A,
0xB6, 0xF3, 0x3F, 0x0A, 0xBA, 0xF3, 0x44, 0x0A, 0xBE, 0xF3,
0x48, 0x0A, 0xC2, 0xF3, 0x4D, 0x0A, 0xC6, 0xF3, 0x52, 0x0A,
0xCA, 0xF3, 0x57, 0x0A, 0xCE, 0xF3, 0x5C, 0x0A, 0xD2, 0xF3,
0x60, 0x0A, 0xD6, 0xF3, 0x65, 0x0A, 0xDA, 0xF3, 0x6A, 0x0A,
0xDE, 0xF3, 0x6F, 0x0A, 0xE2, 0xF3, 0x73, 0x0A, 0xE7, 0xF3,
0x78, 0x0A, 0xEB, 0xF3, 0x7D, 0x0A, 0xEF, 0xF3, 0x82, 0x0A,
0xF3, 0xF3, 0x86, 0x0A, 0xF7, 0xF3, 0x8B, 0x0A, 0xFB, 0xF3,
0x90, 0x0A, 0xFF, 0xF3, 0x95, 0x0A, 0x04, 0xF4, 0x99, 0x0A,
0x08, 0xF4, 0x9E, 0x0A, 0x0C, 0xF4, 0xA3, 0x0A, 0x10, 0xF4,
0xA7, 0x0A, 0x14, 0xF4, 0xAC, 0x0A, 0x18, 0xF4, 0xB1, 0x0A,
0x1D, 0xF4, 0xB5, 0x0A, 0x21, 0xF4, 0xBA, 0x0A, 0x25, 0xF4,
0xBF, 0x0A, 0x29, 0xF4, 0xC3, 0x0A, 0x2E, 0xF4, 0xC8, 0x0A,
0x32, 0xF4, 0xCD, 0x0A, 0x36, 0xF4, 0xD1, 0x0A, 0x3A, 0xF4,
0xD6, 0x0A, 0x3F, 0xF4, 0xDB, 0x0A, 0x43, 0xF4, 0xDF, 0x0A,
0x47, 0xF4, 0xE4, 0x0A, 0x4B, 0xF4, 0xE8, 0x0A, 0x50, 0xF4,
0xED, 0x0A, 0x54, 0xF4, 0xF2, 0x0A, 0x58, 0xF4, 0xF6, 0x0A,
0x5D, 0xF4, 0xFB, 0x0A, 0x61, 0xF4, 0xFF, 0x0A, 0x65, 0xF4,
0x04, 0x0B, 0x69, 0xF4, 0x08, 0x0B, 0x6E, 0xF4, 0x0D, 0x0B,
0x72, 0xF4, 0x11, 0x0B, 0x77, 0xF4, 0x16, 0x0B, 0x7B, 0xF4,
0x1B, 0x0B, 0x7F, 0xF4, 0x1F, 0x0B, 0x84, 0xF4, 0x24, 0x0B,
0x88, 0xF4, 0x28, 0x0B, 0x8C, 0xF4, 0x2D, 0x0B, 0x91, 0xF4,
0x31, 0x0B, 0x95, 0xF4, 0x36, 0x0B, 0x9A, 0xF4, 0x3A, 0x0B,
0x9E, 0xF4, 0x3E, 0x0B, 0xA2, 0xF4, 0x43, 0x0B, 0xA7, 0xF4,
0x47, 0x0B, 0xAB, 0xF4, 0x4C, 0x0B, 0xB0, 0xF4, 0x50, 0x0B,
0xB4, 0xF4, 0x55, 0x0B, 0xB9, 0xF4, 0x59, 0x0B, 0xBD, 0xF4,
0x5E, 0x0B, 0xC2, 0xF4, 0x62, 0x0B, 0xC6, 0xF4, 0x66, 0x0B,
0xCA, 0xF4, 0x6B, 0x0B, 0xCF, 0xF4, 0x6F, 0x0B, 0xD3, 0xF4,
0x74, 0x0B, 0xD8, 0xF4, 0x78, 0x0B, 0xDC, 0xF4, 0x7C, 0x0B,
0xE1, 0xF4, 0x81, 0x0B, 0xE5, 0xF4, 0x85, 0x0B, 0xEA, 0xF4,
0x89, 0x0B, 0xEF, 0xF4, 0x8E, 0x0B, 0xF3, 0xF4, 0x92, 0x0B,
0xF8, 0xF4, 0x97, 0x0B, 0xFC, 0xF4, 0x9B, 0x0B, 0x01, 0xF5,
0x9F, 0x0B, 0x05, 0xF5, 0xA3, 0x0B, 0x0A, 0xF5, 0xA8, 0x0B,
0x0E, 0xF5, 0xAC, 0x0B, 0x13, 0xF5, 0xB0, 0x0B, 0x18, 0xF5,
0xB5, 0x0B, 0x1C, 0xF5, 0xB9, 0x0B, 0x21, 0xF5, 0xBD, 0x0B,
0x25, 0xF5, 0xC1, 0x0B, 0x2A, 0xF5, 0xC6, 0x0B, 0x2F, 0xF5,
0xCA, 0x0B, 0x33, 0xF5, 0xCE, 0x0B, 0x38, 0xF5, 0xD2, 0x0B,
0x3D, 0xF5, 0xD7, 0x0B, 0x41, 0xF5, 0xDB, 0x0B, 0x46, 0xF5,
0xDF, 0x0B, 0x4B, 0xF5, 0xE3, 0x0B, 0x4F, 0xF5, 0xE8, 0x0B,
0x54, 0xF5, 0xEC, 0x0B, 0x59, 0xF5, 0xF0, 0x0B, 0x5D, 0xF5,
0xF4, 0x0B, 0x62, 0xF5, 0xF8, 0x0B, 0x67, 0xF5, 0xFC, 0x0B,
0x6B, 0xF5, 0x01, 0x0C, 0x70, 0xF5, 0x05, 0x0C, 0x75, 0xF5,
0x09, 0x0C, 0x7A, 0xF5, 0x0D, 0x0C, 0x7E, 0xF5, 0x11, 0x0C,
0x83, 0xF5, 0x15, 0x0C, 0x88, 0xF5, 0x19, 0x0C, 0x8D, 0xF5,
0x1E, 0x0C, 0x91, 0xF5, 0x22, 0x0C, 0x96, 0xF5, 0x26, 0x0C,
0x9B, 0xF5, 0x2A, 0x0C, 0xA0, 0xF5, 0x2E, 0x0C, 0xA4, 0xF5,
0x32, 0x0C, 0xA9, 0xF5, 0x36, 0x0C, 0xAE, 0xF5, 0x3A, 0x0C,
0xB3, 0xF5, 0x3E, 0x0C, 0xB8, 0xF5, 0x42, 0x0C, 0xBC, 0xF5,
0x46, 0x0C, 0xC1, 0xF5, 0x4A, 0x0C, 0xC6, 0xF5, 0x4E, 0x0C,
0xCB, 0xF5, 0x52, 0x0C, 0xD0, 0xF5, 0x56, 0x0C, 0xD5, 0xF5,
0x5A, 0x0C, 0xDA, 0xF5, 0x5E, 0x0C, 0xDE, 0xF5, 0x62, 0x0C,
0xE3, 0xF5, 0x66, 0x0C, 0xE8, 0xF5, 0x6A, 0x0C, 0xED, 0xF5,
0x6E, 0x0C, 0xF2, 0xF5, 0x72, 0x0C, 0xF7, 0xF5, 0x76, 0x0C,
0xFC, 0xF5, 0x7A, 0x0C, 0x01, 0xF6, 0x7E, 0x0C, 0x05, 0xF6,
0x82, 0x0C, 0x0A, 0xF6, 0x86, 0x0C, 0x0F, 0xF6, 0x8A, 0x0C,
0x14, 0xF6, 0x8E, 0x0C, 0x19, 0xF6, 0x91, 0x0C, 0x1E, 0xF6,
0x95, 0x0C, 0x23, 0xF6, 0x99, 0x0C, 0x28, 0xF6, 0x9D, 0x0C,
0x2D, 0xF6, 0xA1, 0x0C, 0x32, 0xF6, 0xA5, 0x0C, 0x37, 0xF6,
0xA9, 0x0C, 0x3C, 0xF6, 0xAC, 0x0C, 0x41, 0xF6, 0xB0, 0x0C,
0x46, 0xF6, 0xB4, 0x0C, 0x4B, 0xF6, 0xB8, 0x0C, 0x50, 0xF6,
0xBC, 0x0C, 0x55, 0xF6, 0xC0, 0x0C, 0x5A, 0xF6, 0xC3, 0x0C,
0x5F, 0xF6, 0xC7, 0x0C, 0x64, 0xF6, 0xCB, 0x0C, 0x69, 0xF6,
0xCF, 0x0C, 0x6E, 0xF6, 0xD2, 0x0C, 0x73, 0xF6, 0xD6, 0x0C,
0x78, 0xF6, 0xDA, 0x0C, 0x7D, 0xF6, 0xDE, 0x0C, 0x82, 0xF6,
0xE1, 0x0C, 0x87, 0xF6, 0xE5, 0x0C, 0x8C, 0xF6, 0xE9, 0x0C,
0x91, 0xF6, 0xED, 0x0C, 0x96, 0xF6, 0xF0, 0x0C, 0x9B, 0xF6,
0xF4, 0x0C, 0xA1, 0xF6, 0xF8, 0x0C, 0xA6, 0xF6, 0xFB, 0x0C,
0xAB, 0xF6, 0xFF, 0x0C, 0xB0, 0xF6, 0x03, 0x0D, 0xB5, 0xF6,
0x06, 0x0D, 0xBA, 0xF6, 0x0A, 0x0D, 0xBF, 0xF6, 0x0E, 0x0D,
0xC4, 0xF6, 0x11, 0x0D, 0xC9, 0xF6, 0x15, 0x0D, 0xCF, 0xF6,
0x18, 0x0D, 0xD4, 0xF6, 0x1C, 0x0D, 0xD9, 0xF6, 0x20, 0x0D,
0xDE, 0xF6, 0x23, 0x0D, 0xE3, 0xF6, 0x27, 0x0D, 0xE8, 0xF6,
0x2A, 0x0D, 0xEE, 0xF6, 0x2E, 0x0D, 0xF3, 0xF6, 0x32, 0x0D,
0xF8, 0xF6, 0x35, 0x0D, 0xFD, 0xF6, 0x39, 0x0D, 0x02, 0xF7,
0x3C, 0x0D, 0x08, 0xF7, 0x40, 0x0D, 0x0D, 0xF7, 0x43, 0x0D,
0x12, 0xF7, 0x47, 0x0D, 0x17, 0xF7, 0x4A, 0x0D, 0x1C, 0xF7,
0x4E, 0x0D, 0x22, 0xF7, 0x51, 0x0D, 0x27, 0xF7, 0x55, 0x0D,
0x2C, 0xF7, 0x58, 0x0D, 0x31, 0xF7, 0x5C, 0x0D, 0x37, 0xF7,
0x5F, 0x0D, 0x3C, 0xF7, 0x62, 0x0D, 0x41, 0xF7, 0x66, 0x0D,
0x46, 0xF7, 0x69, 0x0D, 0x4C, 0xF7, 0x6D, 0x0D, 0x51, 0xF7,
0x70, 0x0D, 0x56, 0xF7, 0x74, 0x0D, 0x5B, 0xF7, 0x77, 0x0D,
0x61, 0xF7, 0x7A, 0x0D, 0x66, 0xF7, 0x7E, 0x0D, 0x6B, 0xF7,
0x81, 0x0D, 0x71, 0xF7, 0x85, 0x0D, 0x76, 0xF7, 0x88, 0x0D,
0x7B, 0xF7, 0x8B, 0x0D, 0x81, 0xF7, 0x8F, 0x0D, 0x86, 0xF7,
0x92, 0x0D, 0x8B, 0xF7, 0x95, 0x0D, 0x91, 0xF7, 0x99, 0x0D,
0x96, 0xF7, 0x9C, 0x0D, 0x9B, 0xF7, 0x9F, 0x0D, 0xA1, 0xF7,
0xA2, 0x0D, 0xA6, 0xF7, 0xA6, 0x0D, 0xAB, 0xF7, 0xA9, 0x0D,
0xB1, 0xF7, 0xAC, 0x0D, 0xB6, 0xF7, 0xB0, 0x0D, 0xBB, 0xF7,
0xB3, 0x0D, 0xC1, 0xF7, 0xB6, 0x0D, 0xC6, 0xF7, 0xB9, 0x0D,
0xCC, 0xF7, 0xBC, 0x0D, 0xD1, 0xF7, 0xC0, 0x0D, 0xD6, 0xF7,
0xC3, 0x0D, 0xDC, 0xF7, 0xC6, 0x0D, 0xE1, 0xF7, 0xC9, 0x0D,
0xE7, 0xF7, 0xCC, 0x0D, 0xEC, 0xF7, 0xD0, 0x0D, 0xF2, 0xF7,
0xD3, 0x0D, 0xF7, 0xF7, 0xD6, 0x0D, 0xFC, 0xF7, 0xD9, 0x0D,
0x02, 0xF8, 0xDC, 0x0D, 0x07, 0xF8, 0xDF, 0x0D, 0x0D, 0xF8,
0xE3, 0x0D, 0x12, 0xF8, 0xE6, 0x0D, 0x18, 0xF8, 0xE9, 0x0D,
0x1D, 0xF8, 0xEC, 0x0D, 0x23, 0xF8, 0xEF, 0x0D, 0x28, 0xF8,
0xF2, 0x0D, 0x2E, 0xF8, 0xF5, 0x0D, 0x33, 0xF8, 0xF8, 0x0D,
0x38, 0xF8, 0xFB, 0x0D, 0x3E, 0xF8, 0xFE, 0x0D, 0x43, 0xF8,
0x01, 0x0E, 0x49, 0xF8, 0x04, 0x0E, 0x4E, 0xF8, 0x07, 0x0E,
0x54, 0xF8, 0x0A, 0x0E, 0x5A, 0xF8, 0x0D, 0x0E, 0x5F, 0xF8,
0x10, 0x0E, 0x65, 0xF8, 0x13, 0x0E, 0x6A, 0xF8, 0x16, 0x0E,
0x70, 0xF8, 0x19, 0x0E, 0x75, 0xF8, 0x1C, 0x0E, 0x7B, 0xF8,
0x1F, 0x0E, 0x80, 0xF8, 0x22, 0x0E, 0x86, 0xF8, 0x25, 0x0E,
0x8B, 0xF8, 0x28, 0x0E, 0x91, 0xF8, 0x2B, 0x0E, 0x96, 0xF8,
0x2E, 0x0E, 0x9C, 0xF8, 0x31, 0x0E, 0xA2, 0xF8, 0x34, 0x0E,
0xA7, 0xF8, 0x37, 0x0E, 0xAD, 0xF8, 0x3A, 0x0E, 0xB2, 0xF8,
0x3C, 0x0E, 0xB8, 0xF8, 0x3F, 0x0E, 0xBE, 0xF8, 0x42, 0x0E,
0xC3, 0xF8, 0x45, 0x0E, 0xC9, 0xF8, 0x48, 0x0E, 0xCE, 0xF8,
0x4B, 0x0E, 0xD4, 0xF8, 0x4D, 0x0E, 0xDA, 0xF8, 0x50, 0x0E,
0xDF, 0xF8, 0x53, 0x0E, 0xE5, 0xF8, 0x56, 0x0E, 0xEB, 0xF8,
0x59, 0x0E, 0xF0, 0xF8, 0x5B, 0x0E, 0xF6, 0xF8, 0x5E, 0x0E,
0xFB, 0xF8, 0x61, 0x0E, 0x01, 0xF9, 0x64, 0x0E, 0x07, 0xF9,
0x66, 0x0E, 0x0C, 0xF9, 0x69, 0x0E, 0x12, 0xF9, 0x6C, 0x0E,
0x18, 0xF9, 0x6F, 0x0E, 0x1D, 0xF9, 0x71, 0x0E, 0x23, 0xF9,
0x74, 0x0E, 0x29, 0xF9, 0x77, 0x0E, 0x2E, 0xF9, 0x79, 0x0E,
0x34, 0xF9, 0x7C, 0x0E, 0x3A, 0xF9, 0x7F, 0x0E, 0x3F, 0xF9,
0x81, 0x0E, 0x45, 0xF9, 0x84, 0x0E, 0x4B, 0xF9, 0x87, 0x0E,
0x51, 0xF9, 0x89, 0x0E, 0x56, 0xF9, 0x8C, 0x0E, 0x5C, 0xF9,
0x8F, 0x0E, 0x62, 0xF9, 0x91, 0x0E, 0x67, 0xF9, 0x94, 0x0E,
0x6D, 0xF9, 0x96, 0x0E, 0x73, 0xF9, 0x99, 0x0E, 0x79, 0xF9,
0x9B, 0x0E, 0x7E, 0xF9, 0x9E, 0x0E, 0x84, 0xF9, 0xA1, 0x0E,
0x8A, 0xF9, 0xA3, 0x0E, 0x90, 0xF9, 0xA6, 0x0E, 0x95, 0xF9,
0xA8, 0x0E, 0x9B, 0xF9, 0xAB, 0x0E, 0xA1, 0xF9, 0xAD, 0x0E,
0xA7, 0xF9, 0xB0, 0x0E, 0xAC, 0xF9, 0xB2, 0x0E, 0xB2, 0xF9,
0xB5, 0x0E, 0xB8, 0xF9, 0xB7, 0x0E, 0xBE, 0xF9, 0xBA, 0x0E,
0xC4, 0xF9, 0xBC, 0x0E, 0xC9, 0xF9, 0xBF, 0x0E, 0xCF, 0xF9,
0xC1, 0x0E, 0xD5, 0xF9, 0xC3, 0x0E, 0xDB, 0xF9, 0xC6, 0x0E,
0xE1, 0xF9, 0xC8, 0x0E, 0xE6, 0xF9, 0xCB, 0x0E, 0xEC, 0xF9,
0xCD, 0x0E, 0xF2, 0xF9, 0xCF, 0x0E, 0xF8, 0xF9, 0xD2, 0x0E,
0xFE, 0xF9, 0xD4, 0x0E, 0x03, 0xFA, 0xD6, 0x0E, 0x09, 0xFA,
0xD9, 0x0E, 0x0F, 0xFA, 0xDB, 0x0E, 0x15, 0xFA, 0xDD, 0x0E,
0x1B, 0xFA, 0xE0, 0x0E, 0x21, 0xFA, 0xE2, 0x0E, 0x26, 0xFA,
0xE4, 0x0E, 0x2C, 0xFA, 0xE7, 0x0E, 0x32, 0xFA, 0xE9, 0x0E,
0x38, 0xFA, 0xEB, 0x0E, 0x3E, 0xFA, 0xEE, 0x0E, 0x44, 0xFA,
0xF0, 0x0E, 0x4A, 0xFA, 0xF2, 0x0E, 0x4F, 0xFA, 0xF4, 0x0E,
0x55, 0xFA, 0xF7, 0x0E, 0x5B, 0xFA, 0xF9, 0x0E, 0x61, 0xFA,
0xFB, 0x0E, 0x67, 0xFA, 0xFD, 0x0E, 0x6D, 0xFA, 0xFF, 0x0E,
0x73, 0xFA, 0x02, 0x0F, 0x79, 0xFA, 0x04, 0x0F, 0x7F, 0xFA,
0x06, 0x0F, 0x84, 0xFA, 0x08, 0x0F, 0x8A, 0xFA, 0x0A, 0x0F,
0x90, 0xFA, 0x0C, 0x0F, 0x96, 0xFA, 0x0E, 0x0F, 0x9C, 0xFA,
0x11, 0x0F, 0xA2, 0xFA, 0x13, 0x0F, 0xA8, 0xFA, 0x15, 0x0F,
0xAE, 0xFA, 0x17, 0x0F, 0xB4, 0xFA, 0x19, 0x0F, 0xBA, 0xFA,
0x1B, 0x0F, 0xC0, 0xFA, 0x1D, 0x0F, 0xC6, 0xFA, 0x1F, 0x0F,
0xCC, 0xFA, 0x21, 0x0F, 0xD1, 0xFA, 0x23, 0x0F, 0xD7, 0xFA,
0x25, 0x0F, 0xDD, 0xFA, 0x27, 0x0F, 0xE3, 0xFA, 0x29, 0x0F,
0xE9, 0xFA, 0x2B, 0x0F, 0xEF, 0xFA, 0x2D, 0x0F, 0xF5, 0xFA,
0x2F, 0x0F, 0xFB, 0xFA, 0x31, 0x0F, 0x01, 0xFB, 0x33, 0x0F,
0x07, 0xFB, 0x35, 0x0F, 0x0D, 0xFB, 0x37, 0x0F, 0x13, 0xFB,
0x39, 0x0F, 0x19, 0xFB, 0x3B, 0x0F, 0x1F, 0xFB, 0x3D, 0x0F,
0x25, 0xFB, 0x3F, 0x0F, 0x2B, 0xFB, 0x41, 0x0F, 0x31, 0xFB,
0x43, 0x0F, 0x37, 0xFB, 0x45, 0x0F, 0x3D, 0xFB, 0x46, 0x0F,
0x43, 0xFB, 0x48, 0x0F, 0x49, 0xFB, 0x4A, 0x0F, 0x4F, 0xFB,
0x4C, 0x0F, 0x55, 0xFB, 0x4E, 0x0F, 0x5B, 0xFB, 0x50, 0x0F,
0x61, 0xFB, 0x51, 0x0F, 0x67, 0xFB, 0x53, 0x0F, 0x6D, 0xFB,
0x55, 0x0F, 0x73, 0xFB, 0x57, 0x0F, 0x79, 0xFB, 0x59, 0x0F,
0x7F, 0xFB, 0x5A, 0x0F, 0x85, 0xFB, 0x5C, 0x0F, 0x8B, 0xFB,
0x5E, 0x0F, 0x91, 0xFB, 0x60, 0x0F, 0x97, 0xFB, 0x61, 0x0F,
0x9D, 0xFB, 0x63, 0x0F, 0xA3, 0xFB, 0x65, 0x0F, 0xA9, 0xFB,
0x67, 0x0F, 0xAF, 0xFB, 0x68, 0x0F, 0xB5, 0xFB, 0x6A, 0x0F,
0xBC, 0xFB, 0x6C, 0x0F, 0xC2, 0xFB, 0x6D, 0x0F, 0xC8, 0xFB,
0x6F, 0x0F, 0xCE, 0xFB, 0x71, 0x0F, 0xD4, 0xFB, 0x72, 0x0F,
0xDA, 0xFB, 0x74, 0x0F, 0xE0, 0xFB, 0x76, 0x0F, 0xE6, 0xFB,
0x77, 0x0F, 0xEC, 0xFB, 0x79, 0x0F, 0xF2, 0xFB, 0x7A, 0x0F,
0xF8, 0xFB, 0x7C, 0x0F, 0xFE, 0xFB, 0x7D, 0x0F, 0x04, 0xFC,
0x7F, 0x0F, 0x0A, 0xFC, 0x81, 0x0F, 0x11, 0xFC, 0x82, 0x0F,
0x17, 0xFC, 0x84, 0x0F, 0x1D, 0xFC, 0x85, 0x0F, 0x23, 0xFC,
0x87, 0x0F, 0x29, 0xFC, 0x88, 0x0F, 0x2F, 0xFC, 0x8A, 0x0F,
0x35, 0xFC, 0x8B, 0x0F, 0x3B, 0xFC, 0x8D, 0x0F, 0x41, 0xFC,
0x8E, 0x0F, 0x47, 0xFC, 0x90, 0x0F, 0x4E, 0xFC, 0x91, 0x0F,
0x54, 0xFC, 0x93, 0x0F, 0x5A, 0xFC, 0x94, 0x0F, 0x60, 0xFC,
0x95, 0x0F, 0x66, 0xFC, 0x97, 0x0F, 0x6C, 0xFC, 0x98, 0x0F,
0x72, 0xFC, 0x9A, 0x0F, 0x78, 0xFC, 0x9B, 0x0F, 0x7F, 0xFC,
0x9C, 0x0F, 0x85, 0xFC, 0x9E, 0x0F, 0x8B, 0xFC, 0x9F, 0x0F,
0x91, 0xFC, 0xA1, 0x0F, 0x97, 0xFC, 0xA2, 0x0F, 0x9D, 0xFC,
0xA3, 0x0F, 0xA3, 0xFC, 0xA5, 0x0F, 0xAA, 0xFC, 0xA6, 0x0F,
0xB0, 0xFC, 0xA7, 0x0F, 0xB6, 0xFC, 0xA8, 0x0F, 0xBC, 0xFC,
0xAA, 0x0F, 0xC2, 0xFC, 0xAB, 0x0F, 0xC8, 0xFC, 0xAC, 0x0F,
0xCE, 0xFC, 0xAE, 0x0F, 0xD5, 0xFC, 0xAF, 0x0F, 0xDB, 0xFC,
0xB0, 0x0F, 0xE1, 0xFC, 0xB1, 0x0F, 0xE7, 0xFC, 0xB3, 0x0F,
0xED, 0xFC, 0xB4, 0x0F, 0xF3, 0xFC, 0xB5, 0x0F, 0xFA, 0xFC,
0xB6, 0x0F, 0x00, 0xFD, 0xB7, 0x0F, 0x06, 0xFD, 0xB8, 0x0F,
0x0C, 0xFD, 0xBA, 0x0F, 0x12, 0xFD, 0xBB, 0x0F, 0x18, 0xFD,
0xBC, 0x0F, 0x1F, 0xFD, 0xBD, 0x0F, 0x25, 0xFD, 0xBE, 0x0F,
0x2B, 0xFD, 0xBF, 0x0F, 0x31, 0xFD, 0xC0, 0x0F, 0x37, 0xFD,
0xC2, 0x0F, 0x3E, 0xFD, 0xC3, 0x0F, 0x44, 0xFD, 0xC4, 0x0F,
0x4A, 0xFD, 0xC5, 0x0F, 0x50, 0xFD, 0xC6, 0x0F, 0x56, 0xFD,
0xC7, 0x0F, 0x5D, 0xFD, 0xC8, 0x0F, 0x63, 0xFD, 0xC9, 0x0F,
0x69, 0xFD, 0xCA, 0x0F, 0x6F, 0xFD, 0xCB, 0x0F, 0x75, 0xFD,
0xCC, 0x0F, 0x7C, 0xFD, 0xCD, 0x0F, 0x82, 0xFD, 0xCE, 0x0F,
0x88, 0xFD, 0xCF, 0x0F, 0x8E, 0xFD, 0xD0, 0x0F, 0x94, 0xFD,
0xD1, 0x0F, 0x9B, 0xFD, 0xD2, 0x0F, 0xA1, 0xFD, 0xD3, 0x0F,
0xA7, 0xFD, 0xD4, 0x0F, 0xAD, 0xFD, 0xD5, 0x0F, 0xB3, 0xFD,
0xD5, 0x0F, 0xBA, 0xFD, 0xD6, 0x0F, 0xC0, 0xFD, 0xD7, 0x0F,
0xC6, 0xFD, 0xD8, 0x0F, 0xCC, 0xFD, 0xD9, 0x0F, 0xD3, 0xFD,
0xDA, 0x0F, 0xD9, 0xFD, 0xDB, 0x0F, 0xDF, 0xFD, 0xDC, 0x0F,
0xE5, 0xFD, 0xDC, 0x0F, 0xEB, 0xFD, 0xDD, 0x0F, 0xF2, 0xFD,
0xDE, 0x0F, 0xF8, 0xFD, 0xDF, 0x0F, 0xFE, 0xFD, 0xE0, 0x0F,
0x04, 0xFE, 0xE0, 0x0F, 0x0B, 0xFE, 0xE1, 0x0F, 0x11, 0xFE,
0xE2, 0x0F, 0x17, 0xFE, 0xE3, 0x0F, 0x1D, 0xFE, 0xE3, 0x0F,
0x24, 0xFE, 0xE4, 0x0F, 0x2A, 0xFE, 0xE5, 0x0F, 0x30, 0xFE,
0xE6, 0x0F, 0x36, 0xFE, 0xE6, 0x0F, 0x3D, 0xFE, 0xE7, 0x0F,
0x43, 0xFE, 0xE8, 0x0F, 0x49, 0xFE, 0xE8, 0x0F, 0x4F, 0xFE,
0xE9, 0x0F, 0x56, 0xFE, 0xEA, 0x0F, 0x5C, 0xFE, 0xEA, 0x0F,
0x62, 0xFE, 0xEB, 0x0F, 0x68, 0xFE, 0xEC, 0x0F, 0x6F, 0xFE,
0xEC, 0x0F, 0x75, 0xFE, 0xED, 0x0F, 0x7B, 0xFE, 0xED, 0x0F,
0x81, 0xFE, 0xEE, 0x0F, 0x88, 0xFE, 0xEF, 0x0F, 0x8E, 0xFE,
0xEF, 0x0F, 0x94, 0xFE, 0xF0, 0x0F, 0x9A, 0xFE, 0xF0, 0x0F,
0xA1, 0xFE, 0xF1, 0x0F, 0xA7, 0xFE, 0xF1, 0x0F, 0xAD, 0xFE,
0xF2, 0x0F, 0xB3, 0xFE, 0xF2, 0x0F, 0xBA, 0xFE, 0xF3, 0x0F,
0xC0, 0xFE, 0xF3, 0x0F, 0xC6, 0xFE, 0xF4, 0x0F, 0xCC, 0xFE,
0xF4, 0x0F, 0xD3, 0xFE, 0xF5, 0x0F, 0xD9, 0xFE, 0xF5, 0x0F,
0xDF, 0xFE, 0xF6, 0x0F, 0xE5, 0xFE, 0xF6, 0x0F, 0xEC, 0xFE,
0xF7, 0x0F, 0xF2, 0xFE, 0xF7, 0x0F, 0xF8, 0xFE, 0xF8, 0x0F,
0xFF, 0xFE, 0xF8, 0x0F, 0x05, 0xFF, 0xF8, 0x0F, 0x0B, 0xFF,
0xF9, 0x0F, 0x11, 0xFF, 0xF9, 0x0F, 0x18, 0xFF, 0xF9, 0x0F,
0x1E, 0xFF, 0xFA, 0x0F, 0x24, 0xFF, 0xFA, 0x0F, 0x2A, 0xFF,
0xFA, 0x0F, 0x31, 0xFF, 0xFB, 0x0F, 0x37, 0xFF, 0xFB, 0x0F,
0x3D, 0xFF, 0xFB, 0x0F, 0x44, 0xFF, 0xFC, 0x0F, 0x4A, 0xFF,
0xFC, 0x0F, 0x50, 0xFF, 0xFC, 0x0F, 0x56, 0xFF, 0xFC, 0x0F,
0x5D, 0xFF, 0xFD, 0x0F, 0x63, 0xFF, 0xFD, 0x0F, 0x69, 0xFF,
0xFD, 0x0F, 0x70, 0xFF, 0xFD, 0x0F, 0x76, 0xFF, 0xFE, 0x0F,
0x7C, 0xFF, 0xFE, 0x0F, 0x82, 0xFF, 0xFE, 0x0F, 0x89, 0xFF,
0xFE, 0x0F, 0x8F, 0xFF, 0xFE, 0x0F, 0x95, 0xFF, 0xFF, 0x0F,
0x9B, 0xFF, 0xFF, 0x0F, 0xA2, 0xFF, 0xFF, 0x0F, 0xA8, 0xFF,
0xFF, 0x0F, 0xAE, 0xFF, 0xFF, 0x0F, 0xB5, 0xFF, 0xFF, 0x0F,
0xBB, 0xFF, 0xFF, 0x0F, 0xC1, 0xFF, 0x00, 0x10, 0xC7, 0xFF,
0x00, 0x10, 0xCE, 0xFF, 0x00, 0x10, 0xD4, 0xFF, 0x00, 0x10,
0xDA, 0xFF, 0x00, 0x10, 0xE1, 0xFF, 0x00, 0x10, 0xE7, 0xFF,
0x00, 0x10, 0xED, 0xFF, 0x00, 0x10, 0xF3, 0xFF, 0x00, 0x10,
0xFA, 0xFF, 0x00, 0x10
};
short ratan_tbl[1025] = {
0x000, 0x001, 0x002, 0x002,
0x003, 0x003, 0x004, 0x005,
0x005, 0x006, 0x007, 0x007,
0x008, 0x009, 0x009, 0x00A,
0x00A, 0x00B, 0x00C, 0x00C,
0x00D, 0x00E, 0x00E, 0x00F,
0x010, 0x010, 0x011, 0x011,
0x012, 0x013, 0x013, 0x014,
0x015, 0x015, 0x016, 0x017,
0x017, 0x018, 0x018, 0x019,
0x01A, 0x01A, 0x01B, 0x01C,
0x01C, 0x01D, 0x01E, 0x01E,
0x01F, 0x01F, 0x020, 0x021,
0x021, 0x022, 0x023, 0x023,
0x024, 0x024, 0x025, 0x026,
0x026, 0x027, 0x028, 0x028,
0x029, 0x02A, 0x02A, 0x02B,
0x02B, 0x02C, 0x02D, 0x02D,
0x02E, 0x02F, 0x02F, 0x030,
0x031, 0x031, 0x032, 0x032,
0x033, 0x034, 0x034, 0x035,
0x036, 0x036, 0x037, 0x037,
0x038, 0x039, 0x039, 0x03A,
0x03B, 0x03B, 0x03C, 0x03D,
0x03D, 0x03E, 0x03E, 0x03F,
0x040, 0x040, 0x041, 0x042,
0x042, 0x043, 0x043, 0x044,
0x045, 0x045, 0x046, 0x047,
0x047, 0x048, 0x049, 0x049,
0x04A, 0x04A, 0x04B, 0x04C,
0x04C, 0x04D, 0x04E, 0x04E,
0x04F, 0x04F, 0x050, 0x051,
0x051, 0x052, 0x053, 0x053,
0x054, 0x054, 0x055, 0x056,
0x056, 0x057, 0x058, 0x058,
0x059, 0x059, 0x05A, 0x05B,
0x05B, 0x05C, 0x05D, 0x05D,
0x05E, 0x05E, 0x05F, 0x060,
0x060, 0x061, 0x062, 0x062,
0x063, 0x063, 0x064, 0x065,
0x065, 0x066, 0x067, 0x067,
0x068, 0x068, 0x069, 0x06A,
0x06A, 0x06B, 0x06B, 0x06C,
0x06D, 0x06D, 0x06E, 0x06F,
0x06F, 0x070, 0x070, 0x071,
0x072, 0x072, 0x073, 0x074,
0x074, 0x075, 0x075, 0x076,
0x077, 0x077, 0x078, 0x078,
0x079, 0x07A, 0x07A, 0x07B,
0x07C, 0x07C, 0x07D, 0x07D,
0x07E, 0x07F, 0x07F, 0x080,
0x080, 0x081, 0x082, 0x082,
0x083, 0x083, 0x084, 0x085,
0x085, 0x086, 0x087, 0x087,
0x088, 0x088, 0x089, 0x08A,
0x08A, 0x08B, 0x08B, 0x08C,
0x08D, 0x08D, 0x08E, 0x08E,
0x08F, 0x090, 0x090, 0x091,
0x091, 0x092, 0x093, 0x093,
0x094, 0x094, 0x095, 0x096,
0x096, 0x097, 0x098, 0x098,
0x099, 0x099, 0x09A, 0x09B,
0x09B, 0x09C, 0x09C, 0x09D,
0x09E, 0x09E, 0x09F, 0x09F,
0x0A0, 0x0A1, 0x0A1, 0x0A2,
0x0A2, 0x0A3, 0x0A4, 0x0A4,
0x0A5, 0x0A5, 0x0A6, 0x0A6,
0x0A7, 0x0A8, 0x0A8, 0x0A9,
0x0A9, 0x0AA, 0x0AB, 0x0AB,
0x0AC, 0x0AC, 0x0AD, 0x0AE,
0x0AE, 0x0AF, 0x0AF, 0x0B0,
0x0B1, 0x0B1, 0x0B2, 0x0B2,
0x0B3, 0x0B4, 0x0B4, 0x0B5,
0x0B5, 0x0B6, 0x0B6, 0x0B7,
0x0B8, 0x0B8, 0x0B9, 0x0B9,
0x0BA, 0x0BB, 0x0BB, 0x0BC,
0x0BC, 0x0BD, 0x0BE, 0x0BE,
0x0BF, 0x0BF, 0x0C0, 0x0C0,
0x0C1, 0x0C2, 0x0C2, 0x0C3,
0x0C3, 0x0C4, 0x0C5, 0x0C5,
0x0C6, 0x0C6, 0x0C7, 0x0C7,
0x0C8, 0x0C9, 0x0C9, 0x0CA,
0x0CA, 0x0CB, 0x0CB, 0x0CC,
0x0CD, 0x0CD, 0x0CE, 0x0CE,
0x0CF, 0x0CF, 0x0D0, 0x0D1,
0x0D1, 0x0D2, 0x0D2, 0x0D3,
0x0D3, 0x0D4, 0x0D5, 0x0D5,
0x0D6, 0x0D6, 0x0D7, 0x0D7,
0x0D8, 0x0D9, 0x0D9, 0x0DA,
0x0DA, 0x0DB, 0x0DB, 0x0DC,
0x0DD, 0x0DD, 0x0DE, 0x0DE,
0x0DF, 0x0DF, 0x0E0, 0x0E1,
0x0E1, 0x0E2, 0x0E2, 0x0E3,
0x0E3, 0x0E4, 0x0E4, 0x0E5,
0x0E6, 0x0E6, 0x0E7, 0x0E7,
0x0E8, 0x0E8, 0x0E9, 0x0EA,
0x0EA, 0x0EB, 0x0EB, 0x0EC,
0x0EC, 0x0ED, 0x0ED, 0x0EE,
0x0EF, 0x0EF, 0x0F0, 0x0F0,
0x0F1, 0x0F1, 0x0F2, 0x0F2,
0x0F3, 0x0F4, 0x0F4, 0x0F5,
0x0F5, 0x0F6, 0x0F6, 0x0F7,
0x0F7, 0x0F8, 0x0F8, 0x0F9,
0x0FA, 0x0FA, 0x0FB, 0x0FB,
0x0FC, 0x0FC, 0x0FD, 0x0FD,
0x0FE, 0x0FE, 0x0FF, 0x100,
0x100, 0x101, 0x101, 0x102,
0x102, 0x103, 0x103, 0x104,
0x104, 0x105, 0x106, 0x106,
0x107, 0x107, 0x108, 0x108,
0x109, 0x109, 0x10A, 0x10A,
0x10B, 0x10B, 0x10C, 0x10D,
0x10D, 0x10E, 0x10E, 0x10F,
0x10F, 0x110, 0x110, 0x111,
0x111, 0x112, 0x112, 0x113,
0x113, 0x114, 0x114, 0x115,
0x116, 0x116, 0x117, 0x117,
0x118, 0x118, 0x119, 0x119,
0x11A, 0x11A, 0x11B, 0x11B,
0x11C, 0x11C, 0x11D, 0x11D,
0x11E, 0x11E, 0x11F, 0x120,
0x120, 0x121, 0x121, 0x122,
0x122, 0x123, 0x123, 0x124,
0x124, 0x125, 0x125, 0x126,
0x126, 0x127, 0x127, 0x128,
0x128, 0x129, 0x129, 0x12A,
0x12A, 0x12B, 0x12B, 0x12C,
0x12C, 0x12D, 0x12D, 0x12E,
0x12E, 0x12F, 0x12F, 0x130,
0x130, 0x131, 0x131, 0x132,
0x133, 0x133, 0x134, 0x134,
0x135, 0x135, 0x136, 0x136,
0x137, 0x137, 0x138, 0x138,
0x139, 0x139, 0x13A, 0x13A,
0x13B, 0x13B, 0x13C, 0x13C,
0x13D, 0x13D, 0x13E, 0x13E,
0x13F, 0x13F, 0x140, 0x140,
0x141, 0x141, 0x142, 0x142,
0x142, 0x143, 0x143, 0x144,
0x144, 0x145, 0x145, 0x146,
0x146, 0x147, 0x147, 0x148,
0x148, 0x149, 0x149, 0x14A,
0x14A, 0x14B, 0x14B, 0x14C,
0x14C, 0x14D, 0x14D, 0x14E,
0x14E, 0x14F, 0x14F, 0x150,
0x150, 0x151, 0x151, 0x152,
0x152, 0x153, 0x153, 0x154,
0x154, 0x154, 0x155, 0x155,
0x156, 0x156, 0x157, 0x157,
0x158, 0x158, 0x159, 0x159,
0x15A, 0x15A, 0x15B, 0x15B,
0x15C, 0x15C, 0x15D, 0x15D,
0x15D, 0x15E, 0x15E, 0x15F,
0x15F, 0x160, 0x160, 0x161,
0x161, 0x162, 0x162, 0x163,
0x163, 0x164, 0x164, 0x164,
0x165, 0x165, 0x166, 0x166,
0x167, 0x167, 0x168, 0x168,
0x169, 0x169, 0x16A, 0x16A,
0x16A, 0x16B, 0x16B, 0x16C,
0x16C, 0x16D, 0x16D, 0x16E,
0x16E, 0x16F, 0x16F, 0x170,
0x170, 0x170, 0x171, 0x171,
0x172, 0x172, 0x173, 0x173,
0x174, 0x174, 0x174, 0x175,
0x175, 0x176, 0x176, 0x177,
0x177, 0x178, 0x178, 0x179,
0x179, 0x179, 0x17A, 0x17A,
0x17B, 0x17B, 0x17C, 0x17C,
0x17D, 0x17D, 0x17D, 0x17E,
0x17E, 0x17F, 0x17F, 0x180,
0x180, 0x181, 0x181, 0x181,
0x182, 0x182, 0x183, 0x183,
0x184, 0x184, 0x184, 0x185,
0x185, 0x186, 0x186, 0x187,
0x187, 0x187, 0x188, 0x188,
0x189, 0x189, 0x18A, 0x18A,
0x18B, 0x18B, 0x18B, 0x18C,
0x18C, 0x18D, 0x18D, 0x18E,
0x18E, 0x18E, 0x18F, 0x18F,
0x190, 0x190, 0x191, 0x191,
0x191, 0x192, 0x192, 0x193,
0x193, 0x193, 0x194, 0x194,
0x195, 0x195, 0x196, 0x196,
0x196, 0x197, 0x197, 0x198,
0x198, 0x199, 0x199, 0x199,
0x19A, 0x19A, 0x19B, 0x19B,
0x19B, 0x19C, 0x19C, 0x19D,
0x19D, 0x19D, 0x19E, 0x19E,
0x19F, 0x19F, 0x1A0, 0x1A0,
0x1A0, 0x1A1, 0x1A1, 0x1A2,
0x1A2, 0x1A2, 0x1A3, 0x1A3,
0x1A4, 0x1A4, 0x1A4, 0x1A5,
0x1A5, 0x1A6, 0x1A6, 0x1A6,
0x1A7, 0x1A7, 0x1A8, 0x1A8,
0x1A9, 0x1A9, 0x1A9, 0x1AA,
0x1AA, 0x1AB, 0x1AB, 0x1AB,
0x1AC, 0x1AC, 0x1AD, 0x1AD,
0x1AD, 0x1AE, 0x1AE, 0x1AF,
0x1AF, 0x1AF, 0x1B0, 0x1B0,
0x1B0, 0x1B1, 0x1B1, 0x1B2,
0x1B2, 0x1B2, 0x1B3, 0x1B3,
0x1B4, 0x1B4, 0x1B4, 0x1B5,
0x1B5, 0x1B6, 0x1B6, 0x1B6,
0x1B7, 0x1B7, 0x1B8, 0x1B8,
0x1B8, 0x1B9, 0x1B9, 0x1B9,
0x1BA, 0x1BA, 0x1BB, 0x1BB,
0x1BB, 0x1BC, 0x1BC, 0x1BD,
0x1BD, 0x1BD, 0x1BE, 0x1BE,
0x1BE, 0x1BF, 0x1BF, 0x1C0,
0x1C0, 0x1C0, 0x1C1, 0x1C1,
0x1C2, 0x1C2, 0x1C2, 0x1C3,
0x1C3, 0x1C3, 0x1C4, 0x1C4,
0x1C5, 0x1C5, 0x1C5, 0x1C6,
0x1C6, 0x1C6, 0x1C7, 0x1C7,
0x1C8, 0x1C8, 0x1C8, 0x1C9,
0x1C9, 0x1C9, 0x1CA, 0x1CA,
0x1CB, 0x1CB, 0x1CB, 0x1CC,
0x1CC, 0x1CC, 0x1CD, 0x1CD,
0x1CD, 0x1CE, 0x1CE, 0x1CF,
0x1CF, 0x1CF, 0x1D0, 0x1D0,
0x1D0, 0x1D1, 0x1D1, 0x1D1,
0x1D2, 0x1D2, 0x1D3, 0x1D3,
0x1D3, 0x1D4, 0x1D4, 0x1D4,
0x1D5, 0x1D5, 0x1D5, 0x1D6,
0x1D6, 0x1D7, 0x1D7, 0x1D7,
0x1D8, 0x1D8, 0x1D8, 0x1D9,
0x1D9, 0x1D9, 0x1DA, 0x1DA,
0x1DA, 0x1DB, 0x1DB, 0x1DC,
0x1DC, 0x1DC, 0x1DD, 0x1DD,
0x1DD, 0x1DE, 0x1DE, 0x1DE,
0x1DF, 0x1DF, 0x1DF, 0x1E0,
0x1E0, 0x1E0, 0x1E1, 0x1E1,
0x1E1, 0x1E2, 0x1E2, 0x1E3,
0x1E3, 0x1E3, 0x1E4, 0x1E4,
0x1E4, 0x1E5, 0x1E5, 0x1E5,
0x1E6, 0x1E6, 0x1E6, 0x1E7,
0x1E7, 0x1E7, 0x1E8, 0x1E8,
0x1E8, 0x1E9, 0x1E9, 0x1E9,
0x1EA, 0x1EA, 0x1EA, 0x1EB,
0x1EB, 0x1EB, 0x1EC, 0x1EC,
0x1EC, 0x1ED, 0x1ED, 0x1ED,
0x1EE, 0x1EE, 0x1EE, 0x1EF,
0x1EF, 0x1EF, 0x1F0, 0x1F0,
0x1F0, 0x1F1, 0x1F1, 0x1F1,
0x1F2, 0x1F2, 0x1F2, 0x1F3,
0x1F3, 0x1F3, 0x1F4, 0x1F4,
0x1F4, 0x1F5, 0x1F5, 0x1F5,
0x1F6, 0x1F6, 0x1F6, 0x1F7,
0x1F7, 0x1F7, 0x1F8, 0x1F8,
0x1F8, 0x1F9, 0x1F9, 0x1F9,
0x1FA, 0x1FA, 0x1FA, 0x1FB,
0x1FB, 0x1FB, 0x1FC, 0x1FC,
0x1FC, 0x1FD, 0x1FD, 0x1FD,
0x1FE, 0x1FE, 0x1FE, 0x1FF,
0x1FF, 0x1FF, 0x1FF, 0x200,
0x200
};
unsigned int* gte_rcossin_tbl = (unsigned int*)&ida_chars[0];///@FIXME convert to uint[];
#ifndef max
# define max(a, b) ((a) > (b) ? (a) : (b))
#endif
#ifndef min
# define min(a, b) ((a) < (b) ? (a) : (b))
#endif
void InitGeom()
{
//_patch_gte(); //Extern
#if 0
mfc0 $v0, SR
lui $v1, 0x4000
or $v0, $v1
mtc0 $v0, SR
#endif
ZSF3 = 341;
ZSF4 = 256;
H = 1000;
DQA = -98;
DQB = 340;
OFX = 0;
OFY = 0;
}
void SetGeomOffset(int ofx, int ofy)
{
OFX = ofx << 16;
OFY = ofy << 16;
}
void SetGeomScreen(int h)
{
H = h;
}
static int m_sf;
static long long m_mac0;
static long long m_mac3;
unsigned int gte_leadingzerocount(unsigned int lzcs) {
unsigned int lzcr = 0;
if ((lzcs & 0x80000000) == 0)
lzcs = ~lzcs;
while ((lzcs & 0x80000000) != 0) {
lzcr++;
lzcs <<= 1;
}
return lzcr;
}
int LIM(int value, int max, int min, unsigned int flag) {
if (value > max) {
FLAG |= flag;
return max;
}
else if (value < min) {
FLAG |= flag;
return min;
}
return value;
}
unsigned int MFC2(int reg)
{
switch (reg) {
case 1:
case 3:
case 5:
case 8:
case 9:
case 10:
case 11:
gteRegs.CP2D.p[reg].d = (int)gteRegs.CP2D.p[reg].sw.l;
break;
case 7:
case 16:
case 17:
case 18:
case 19:
gteRegs.CP2D.p[reg].d = (unsigned int)gteRegs.CP2D.p[reg].w.l;
break;
case 15:
gteRegs.CP2D.p[reg].d = SXY2;
break;
case 28:
case 29:
gteRegs.CP2D.p[reg].d = LIM(IR1 >> 7, 0x1f, 0, 0) | (LIM(IR2 >> 7, 0x1f, 0, 0) << 5) | (LIM(IR3 >> 7, 0x1f, 0, 0) << 10);
break;
}
return gteRegs.CP2D.p[reg].d;
}
int MFC2_S(int reg)
{
// FIXME: Is that modifiers should be signed too?
switch (reg) {
case 1:
case 3:
case 5:
case 8:
case 9:
case 10:
case 11:
gteRegs.CP2D.p[reg].d = (int)gteRegs.CP2D.p[reg].sw.l;
break;
case 7:
case 16:
case 17:
case 18:
case 19:
gteRegs.CP2D.p[reg].d = (unsigned int)gteRegs.CP2D.p[reg].w.l;
break;
case 15:
gteRegs.CP2D.p[reg].d = SXY2;
break;
case 28:
case 29:
gteRegs.CP2D.p[reg].d = LIM(IR1 >> 7, 0x1f, 0, 0) | (LIM(IR2 >> 7, 0x1f, 0, 0) << 5) | (LIM(IR3 >> 7, 0x1f, 0, 0) << 10);
break;
}
return gteRegs.CP2D.p[reg].sd;
}
void MTC2(unsigned int value, int reg) {
switch (reg) {
case 15:
SXY0 = SXY1;
SXY1 = SXY2;
SXY2 = value;
break;
case 28:
IR1 = (value & 0x1f) << 7;
IR2 = (value & 0x3e0) << 2;
IR3 = (value & 0x7c00) >> 3;
break;
case 30:
LZCR = gte_leadingzerocount(value);
break;
case 31:
return;
}
gteRegs.CP2D.p[reg].d = value;
}
void MTC2_S(int value, int reg) {
switch (reg) {
case 15:
SXY0 = SXY1;
SXY1 = SXY2;
SXY2 = value;
break;
case 28:
IR1 = (value & 0x1f) << 7;
IR2 = (value & 0x3e0) << 2;
IR3 = (value & 0x7c00) >> 3;
break;
case 30:
LZCR = gte_leadingzerocount(value);
break;
case 31:
return;
}
gteRegs.CP2D.p[reg].sd = value;
}
void CTC2(unsigned int value, int reg) {
switch (reg) {
case 4:
case 12:
case 20:
case 26:
case 27:
case 29:
case 30:
value = (int)(short)value;
break;
case 31:
value = value & 0x7ffff000;
if ((value & 0x7f87e000) != 0)
value |= 0x80000000;
break;
}
gteRegs.CP2C.p[reg].d = value;
}
void CTC2_S(int value, int reg) {
switch (reg) {
case 4:
case 12:
case 20:
case 26:
case 27:
case 29:
case 30:
value = (int)(short)value;
break;
case 31:
value = value & 0x7ffff000;
if ((value & 0x7f87e000) != 0)
value |= 0x80000000;
break;
}
gteRegs.CP2C.p[reg].sd = value;
}
unsigned int CFC2(int reg)
{
// TODO: correct functionality
return gteRegs.CP2C.p[reg].d;
}
int CFC2_S(int reg)
{
// TODO: correct functionality
return gteRegs.CP2C.p[reg].sd;
}
#define _oB_ (gteRegs.GPR.r[_Rs_] + _Imm_)
inline long long gte_shift(long long a, int sf) {
if (sf > 0)
return a >> 12;
else if (sf < 0)
return a << 12;
return a;
}
int BOUNDS(/*int44*/long long value, int max_flag, int min_flag) {
if (value/*.positive_overflow()*/ > (long long)0x7ffffffffff)
FLAG |= max_flag;
if (value/*.negative_overflow()*/ < (long long)-0x8000000000)
FLAG |= min_flag;
return int(gte_shift(value/*.value()*/, m_sf));
}
unsigned int gte_divide(unsigned short numerator, unsigned short denominator)
{
if (numerator < (denominator * 2))
{
static unsigned char table[] =
{
0xff, 0xfd, 0xfb, 0xf9, 0xf7, 0xf5, 0xf3, 0xf1, 0xef, 0xee, 0xec, 0xea, 0xe8, 0xe6, 0xe4, 0xe3,
0xe1, 0xdf, 0xdd, 0xdc, 0xda, 0xd8, 0xd6, 0xd5, 0xd3, 0xd1, 0xd0, 0xce, 0xcd, 0xcb, 0xc9, 0xc8,
0xc6, 0xc5, 0xc3, 0xc1, 0xc0, 0xbe, 0xbd, 0xbb, 0xba, 0xb8, 0xb7, 0xb5, 0xb4, 0xb2, 0xb1, 0xb0,
0xae, 0xad, 0xab, 0xaa, 0xa9, 0xa7, 0xa6, 0xa4, 0xa3, 0xa2, 0xa0, 0x9f, 0x9e, 0x9c, 0x9b, 0x9a,
0x99, 0x97, 0x96, 0x95, 0x94, 0x92, 0x91, 0x90, 0x8f, 0x8d, 0x8c, 0x8b, 0x8a, 0x89, 0x87, 0x86,
0x85, 0x84, 0x83, 0x82, 0x81, 0x7f, 0x7e, 0x7d, 0x7c, 0x7b, 0x7a, 0x79, 0x78, 0x77, 0x75, 0x74,
0x73, 0x72, 0x71, 0x70, 0x6f, 0x6e, 0x6d, 0x6c, 0x6b, 0x6a, 0x69, 0x68, 0x67, 0x66, 0x65, 0x64,
0x63, 0x62, 0x61, 0x60, 0x5f, 0x5e, 0x5d, 0x5d, 0x5c, 0x5b, 0x5a, 0x59, 0x58, 0x57, 0x56, 0x55,
0x54, 0x53, 0x53, 0x52, 0x51, 0x50, 0x4f, 0x4e, 0x4d, 0x4d, 0x4c, 0x4b, 0x4a, 0x49, 0x48, 0x48,
0x47, 0x46, 0x45, 0x44, 0x43, 0x43, 0x42, 0x41, 0x40, 0x3f, 0x3f, 0x3e, 0x3d, 0x3c, 0x3c, 0x3b,
0x3a, 0x39, 0x39, 0x38, 0x37, 0x36, 0x36, 0x35, 0x34, 0x33, 0x33, 0x32, 0x31, 0x31, 0x30, 0x2f,
0x2e, 0x2e, 0x2d, 0x2c, 0x2c, 0x2b, 0x2a, 0x2a, 0x29, 0x28, 0x28, 0x27, 0x26, 0x26, 0x25, 0x24,
0x24, 0x23, 0x22, 0x22, 0x21, 0x20, 0x20, 0x1f, 0x1e, 0x1e, 0x1d, 0x1d, 0x1c, 0x1b, 0x1b, 0x1a,
0x19, 0x19, 0x18, 0x18, 0x17, 0x16, 0x16, 0x15, 0x15, 0x14, 0x14, 0x13, 0x12, 0x12, 0x11, 0x11,
0x10, 0x0f, 0x0f, 0x0e, 0x0e, 0x0d, 0x0d, 0x0c, 0x0c, 0x0b, 0x0a, 0x0a, 0x09, 0x09, 0x08, 0x08,
0x07, 0x07, 0x06, 0x06, 0x05, 0x05, 0x04, 0x04, 0x03, 0x03, 0x02, 0x02, 0x01, 0x01, 0x00, 0x00,
0x00
};
int shift = gte_leadingzerocount(denominator) - 16;
int r1 = (denominator << shift) & 0x7fff;
int r2 = table[((r1 + 0x40) >> 7)] + 0x101;
int r3 = ((0x80 - (r2 * (r1 + 0x8000))) >> 8) & 0x1ffff;
unsigned int reciprocal = ((r2 * r3) + 0x80) >> 8;
return (unsigned int)((((unsigned long long)reciprocal * (numerator << shift)) + 0x8000) >> 16);
}
return 0xffffffff;
}
/* Setting bits 12 & 19-22 in FLAG does not set bit 31 */
int A1(/*int44*/long long a) { return BOUNDS(a, (1 << 31) | (1 << 30), (1 << 31) | (1 << 27)); }
int A2(/*int44*/long long a) { return BOUNDS(a, (1 << 31) | (1 << 29), (1 << 31) | (1 << 26)); }
int A3(/*int44*/long long a) { m_mac3 = a; return BOUNDS(a, (1 << 31) | (1 << 28), (1 << 31) | (1 << 25)); }
int Lm_B1(int a, int lm) { return LIM(a, 0x7fff, -0x8000 * !lm, (1 << 31) | (1 << 24)); }
int Lm_B2(int a, int lm) { return LIM(a, 0x7fff, -0x8000 * !lm, (1 << 31) | (1 << 23)); }
int Lm_B3(int a, int lm) { return LIM(a, 0x7fff, -0x8000 * !lm, (1 << 22)); }
int Lm_B3_sf(long long value, int sf, int lm) {
int value_sf = int(gte_shift(value, sf));
int value_12 = int(gte_shift(value, 1));
int max = 0x7fff;
int min = 0;
if (lm == 0)
min = -0x8000;
if (value_12 < -0x8000 || value_12 > 0x7fff)
FLAG |= (1 << 22);
if (value_sf > max)
return max;
else if (value_sf < min)
return min;
return value_sf;
}
int Lm_C1(int a) { return LIM(a, 0x00ff, 0x0000, (1 << 21)); }
int Lm_C2(int a) { return LIM(a, 0x00ff, 0x0000, (1 << 20)); }
int Lm_C3(int a) { return LIM(a, 0x00ff, 0x0000, (1 << 19)); }
int Lm_D(long long a, int sf) { return LIM(int(gte_shift(a, sf)), 0xffff, 0x0000, (1 << 31) | (1 << 18)); }
unsigned int Lm_E(unsigned int result) {
if (result == 0xffffffff) {
FLAG |= (1 << 31) | (1 << 17);
return 0x1ffff;
}
if (result > 0x1ffff)
return 0x1ffff;
return result;
}
long long F(long long a) {
m_mac0 = a;
if (a > 0x7fffffffLL)
FLAG |= (1 << 31) | (1 << 16);
if (a < -0x80000000LL)
FLAG |= (1 << 31) | (1 << 15);
return a;
}
int Lm_G1(long long a) {
if (a > 0x3ff) {
FLAG |= (1 << 31) | (1 << 14);
return 0x3ff;
}
if (a < -0x400) {
FLAG |= (1 << 31) | (1 << 14);
return -0x400;
}
return int(a);
}
int Lm_G2(long long a) {
if (a > 0x3ff) {
FLAG |= (1 << 31) | (1 << 13);
return 0x3ff;
}
if (a < -0x400) {
FLAG |= (1 << 31) | (1 << 13);
return -0x400;
}
return int(a);
}
int Lm_G1_ia(long long a) {
if (a > 0x3ffffff)
return 0x3ffffff;
if (a < -0x4000000)
return -0x4000000;
return int(a);
}
int Lm_G2_ia(long long a) {
if (a > 0x3ffffff)
return 0x3ffffff;
if (a < -0x4000000)
return -0x4000000;
return int(a);
}
int Lm_H(long long value, int sf) {
long long value_sf = gte_shift(value, sf);
int value_12 = int(gte_shift(value, 1));
int max = 0x1000;
int min = 0x0000;
if (value_sf < min || value_sf > max)
FLAG |= (1 << 12);
if (value_12 > max)
return max;
if (value_12 < min)
return min;
return value_12;
}
int docop2(int op) {
int v;
int lm;
int cv;
int mx;
int h_over_sz3 = 0;
lm = GTE_LM(gteop(op));
m_sf = GTE_SF(gteop(op));
FLAG = 0;
switch (GTE_FUNCT(gteop(op))) {
case 0x00:
case 0x01:
#ifdef GTE_LOG
GTELOG("%08x RTPS", op);
#endif
MAC1 = A1(/*int44*/(long long)((long long)TRX << 12) + (R11 * VX0) + (R12 * VY0) + (R13 * VZ0));
MAC2 = A2(/*int44*/(long long)((long long)TRY << 12) + (R21 * VX0) + (R22 * VY0) + (R23 * VZ0));
MAC3 = A3(/*int44*/(long long)((long long)TRZ << 12) + (R31 * VX0) + (R32 * VY0) + (R33 * VZ0));
IR1 = Lm_B1(MAC1, lm);
IR2 = Lm_B2(MAC2, lm);
IR3 = Lm_B3_sf(m_mac3, m_sf, lm);
SZ0 = SZ1;
SZ1 = SZ2;
SZ2 = SZ3;
SZ3 = Lm_D(m_mac3, 1);
h_over_sz3 = Lm_E(gte_divide(H, SZ3));
SXY0 = SXY1;
SXY1 = SXY2;
SX2 = int(Lm_G1(F((long long)OFX + ((long long)IR1 * h_over_sz3)) >> 16));
SY2 = int(Lm_G2(F((long long)OFY + ((long long)IR2 * h_over_sz3)) >> 16));
#if defined(PGXP)
pgxp_vertex_buffer[pgxp_vertex_index].originalSXY2 = SXY2;
pgxp_vertex_buffer[pgxp_vertex_index].x = (Lm_G1_ia((long long)OFX + (long long)(IR1 * h_over_sz3))) / (float)(1 << 16);
pgxp_vertex_buffer[pgxp_vertex_index].y = (Lm_G2_ia((long long)OFY + (long long)(IR2 * h_over_sz3))) / (float)(1 << 16);
pgxp_vertex_buffer[pgxp_vertex_index++].z = max(SZ3, H / 2) / (float)(1 << 16);
#endif
MAC0 = int(F((long long)DQB + ((long long)DQA * h_over_sz3)));
IR0 = Lm_H(m_mac0, 1);
return 1;
case 0x06:
#ifdef GTE_LOG
GTELOG("%08x NCLIP", op);
#endif
MAC0 = int(F((long long)(SX0 * SY1) + (SX1 * SY2) + (SX2 * SY0) - (SX0 * SY2) - (SX1 * SY0) - (SX2 * SY1)));
return 1;
case 0x0c:
#ifdef GTE_LOG
GTELOG("%08x OP", op);
#endif
MAC1 = A1((long long)(R22 * IR3) - (R33 * IR2));
MAC2 = A2((long long)(R33 * IR1) - (R11 * IR3));
MAC3 = A3((long long)(R11 * IR2) - (R22 * IR1));
IR1 = Lm_B1(MAC1, lm);
IR2 = Lm_B2(MAC2, lm);
IR3 = Lm_B3(MAC3, lm);
return 1;
case 0x10:
#ifdef GTE_LOG
GTELOG("%08x DPCS", op);
#endif
MAC1 = A1((R << 16) + (IR0 * Lm_B1(A1(((long long)RFC << 12) - (R << 16)), 0)));
MAC2 = A2((G << 16) + (IR0 * Lm_B2(A2(((long long)GFC << 12) - (G << 16)), 0)));
MAC3 = A3((B << 16) + (IR0 * Lm_B3(A3(((long long)BFC << 12) - (B << 16)), 0)));
IR1 = Lm_B1(MAC1, lm);
IR2 = Lm_B2(MAC2, lm);
IR3 = Lm_B3(MAC3, lm);
RGB0 = RGB1;
RGB1 = RGB2;
CD2 = CODE;
R2 = Lm_C1(MAC1 >> 4);
G2 = Lm_C2(MAC2 >> 4);
B2 = Lm_C3(MAC3 >> 4);
return 1;
case 0x11:
#ifdef GTE_LOG
GTELOG("%08x INTPL", op);
#endif
MAC1 = A1((IR1 << 12) + (IR0 * Lm_B1(A1(((long long)RFC << 12) - (IR1 << 12)), 0)));
MAC2 = A2((IR2 << 12) + (IR0 * Lm_B2(A2(((long long)GFC << 12) - (IR2 << 12)), 0)));
MAC3 = A3((IR3 << 12) + (IR0 * Lm_B3(A3(((long long)BFC << 12) - (IR3 << 12)), 0)));
IR1 = Lm_B1(MAC1, lm);
IR2 = Lm_B2(MAC2, lm);
IR3 = Lm_B3(MAC3, lm);
RGB0 = RGB1;
RGB1 = RGB2;
CD2 = CODE;
R2 = Lm_C1(MAC1 >> 4);
G2 = Lm_C2(MAC2 >> 4);
B2 = Lm_C3(MAC3 >> 4);
return 1;
case 0x12:
#ifdef GTE_LOG
GTELOG("%08x MVMVA", op);
#endif
mx = GTE_MX(gteop(op));
v = GTE_V(gteop(op));
cv = GTE_CV(gteop(op));
switch (cv) {
case 2:
MAC1 = A1((long long)(MX12(mx) * VY(v)) + (MX13(mx) * VZ(v)));
MAC2 = A2((long long)(MX22(mx) * VY(v)) + (MX23(mx) * VZ(v)));
MAC3 = A3((long long)(MX32(mx) * VY(v)) + (MX33(mx) * VZ(v)));
Lm_B1(A1(((long long)CV1(cv) << 12) + (MX11(mx) * VX(v))), 0);
Lm_B2(A2(((long long)CV2(cv) << 12) + (MX21(mx) * VX(v))), 0);
Lm_B3(A3(((long long)CV3(cv) << 12) + (MX31(mx) * VX(v))), 0);
break;
default:
MAC1 = A1(/*int44*/(long long)((long long)CV1(cv) << 12) + (MX11(mx) * VX(v)) + (MX12(mx) * VY(v)) + (MX13(mx) * VZ(v)));
MAC2 = A2(/*int44*/(long long)((long long)CV2(cv) << 12) + (MX21(mx) * VX(v)) + (MX22(mx) * VY(v)) + (MX23(mx) * VZ(v)));
MAC3 = A3(/*int44*/(long long)((long long)CV3(cv) << 12) + (MX31(mx) * VX(v)) + (MX32(mx) * VY(v)) + (MX33(mx) * VZ(v)));
break;
}
IR1 = Lm_B1(MAC1, lm);
IR2 = Lm_B2(MAC2, lm);
IR3 = Lm_B3(MAC3, lm);
return 1;
case 0x13:
#ifdef GTE_LOG
GTELOG("%08x NCDS", op);
#endif
MAC1 = A1((long long)(L11 * VX0) + (L12 * VY0) + (L13 * VZ0));
MAC2 = A2((long long)(L21 * VX0) + (L22 * VY0) + (L23 * VZ0));
MAC3 = A3((long long)(L31 * VX0) + (L32 * VY0) + (L33 * VZ0));
IR1 = Lm_B1(MAC1, lm);
IR2 = Lm_B2(MAC2, lm);
IR3 = Lm_B3(MAC3, lm);
MAC1 = A1(/*int44*/(long long)((long long)RBK << 12) + (LR1 * IR1) + (LR2 * IR2) + (LR3 * IR3));
MAC2 = A2(/*int44*/(long long)((long long)GBK << 12) + (LG1 * IR1) + (LG2 * IR2) + (LG3 * IR3));
MAC3 = A3(/*int44*/(long long)((long long)BBK << 12) + (LB1 * IR1) + (LB2 * IR2) + (LB3 * IR3));
IR1 = Lm_B1(MAC1, lm);
IR2 = Lm_B2(MAC2, lm);
IR3 = Lm_B3(MAC3, lm);
MAC1 = A1(((R << 4) * IR1) + (IR0 * Lm_B1(A1(((long long)RFC << 12) - ((R << 4) * IR1)), 0)));
MAC2 = A2(((G << 4) * IR2) + (IR0 * Lm_B2(A2(((long long)GFC << 12) - ((G << 4) * IR2)), 0)));
MAC3 = A3(((B << 4) * IR3) + (IR0 * Lm_B3(A3(((long long)BFC << 12) - ((B << 4) * IR3)), 0)));
IR1 = Lm_B1(MAC1, lm);
IR2 = Lm_B2(MAC2, lm);
IR3 = Lm_B3(MAC3, lm);
RGB0 = RGB1;
RGB1 = RGB2;
CD2 = CODE;
R2 = Lm_C1(MAC1 >> 4);
G2 = Lm_C2(MAC2 >> 4);
B2 = Lm_C3(MAC3 >> 4);
return 1;
case 0x14:
#ifdef GTE_LOG
GTELOG("%08x CDP", op);
#endif
MAC1 = A1(/*int44*/(long long)((long long)RBK << 12) + (LR1 * IR1) + (LR2 * IR2) + (LR3 * IR3));
MAC2 = A2(/*int44*/(long long)((long long)GBK << 12) + (LG1 * IR1) + (LG2 * IR2) + (LG3 * IR3));
MAC3 = A3(/*int44*/(long long)((long long)BBK << 12) + (LB1 * IR1) + (LB2 * IR2) + (LB3 * IR3));
IR1 = Lm_B1(MAC1, lm);
IR2 = Lm_B2(MAC2, lm);
IR3 = Lm_B3(MAC3, lm);
MAC1 = A1(((R << 4) * IR1) + (IR0 * Lm_B1(A1(((long long)RFC << 12) - ((R << 4) * IR1)), 0)));
MAC2 = A2(((G << 4) * IR2) + (IR0 * Lm_B2(A2(((long long)GFC << 12) - ((G << 4) * IR2)), 0)));
MAC3 = A3(((B << 4) * IR3) + (IR0 * Lm_B3(A3(((long long)BFC << 12) - ((B << 4) * IR3)), 0)));
IR1 = Lm_B1(MAC1, lm);
IR2 = Lm_B2(MAC2, lm);
IR3 = Lm_B3(MAC3, lm);
RGB0 = RGB1;
RGB1 = RGB2;
CD2 = CODE;
R2 = Lm_C1(MAC1 >> 4);
G2 = Lm_C2(MAC2 >> 4);
B2 = Lm_C3(MAC3 >> 4);
return 1;
case 0x16:
#ifdef GTE_LOG
GTELOG("%08x NCDT", op);
#endif
for (v = 0; v < 3; v++) {
MAC1 = A1((long long)(L11 * VX(v)) + (L12 * VY(v)) + (L13 * VZ(v)));
MAC2 = A2((long long)(L21 * VX(v)) + (L22 * VY(v)) + (L23 * VZ(v)));
MAC3 = A3((long long)(L31 * VX(v)) + (L32 * VY(v)) + (L33 * VZ(v)));
IR1 = Lm_B1(MAC1, lm);
IR2 = Lm_B2(MAC2, lm);
IR3 = Lm_B3(MAC3, lm);
MAC1 = A1(/*int44*/(long long)((long long)RBK << 12) + (LR1 * IR1) + (LR2 * IR2) + (LR3 * IR3));
MAC2 = A2(/*int44*/(long long)((long long)GBK << 12) + (LG1 * IR1) + (LG2 * IR2) + (LG3 * IR3));
MAC3 = A3(/*int44*/(long long)((long long)BBK << 12) + (LB1 * IR1) + (LB2 * IR2) + (LB3 * IR3));
IR1 = Lm_B1(MAC1, lm);
IR2 = Lm_B2(MAC2, lm);
IR3 = Lm_B3(MAC3, lm);
MAC1 = A1(((R << 4) * IR1) + (IR0 * Lm_B1(A1(((long long)RFC << 12) - ((R << 4) * IR1)), 0)));
MAC2 = A2(((G << 4) * IR2) + (IR0 * Lm_B2(A2(((long long)GFC << 12) - ((G << 4) * IR2)), 0)));
MAC3 = A3(((B << 4) * IR3) + (IR0 * Lm_B3(A3(((long long)BFC << 12) - ((B << 4) * IR3)), 0)));
IR1 = Lm_B1(MAC1, lm);
IR2 = Lm_B2(MAC2, lm);
IR3 = Lm_B3(MAC3, lm);
RGB0 = RGB1;
RGB1 = RGB2;
CD2 = CODE;
R2 = Lm_C1(MAC1 >> 4);
G2 = Lm_C2(MAC2 >> 4);
B2 = Lm_C3(MAC3 >> 4);
}
return 1;
case 0x1b:
#ifdef GTE_LOG
GTELOG("%08x NCCS", op);
#endif
MAC1 = A1((long long)(L11 * VX0) + (L12 * VY0) + (L13 * VZ0));
MAC2 = A2((long long)(L21 * VX0) + (L22 * VY0) + (L23 * VZ0));
MAC3 = A3((long long)(L31 * VX0) + (L32 * VY0) + (L33 * VZ0));
IR1 = Lm_B1(MAC1, lm);
IR2 = Lm_B2(MAC2, lm);
IR3 = Lm_B3(MAC3, lm);
MAC1 = A1(/*int44*/(long long)((long long)RBK << 12) + (LR1 * IR1) + (LR2 * IR2) + (LR3 * IR3));
MAC2 = A2(/*int44*/(long long)((long long)GBK << 12) + (LG1 * IR1) + (LG2 * IR2) + (LG3 * IR3));
MAC3 = A3(/*int44*/(long long)((long long)BBK << 12) + (LB1 * IR1) + (LB2 * IR2) + (LB3 * IR3));
IR1 = Lm_B1(MAC1, lm);
IR2 = Lm_B2(MAC2, lm);
IR3 = Lm_B3(MAC3, lm);
MAC1 = A1((R << 4) * IR1);
MAC2 = A2((G << 4) * IR2);
MAC3 = A3((B << 4) * IR3);
IR1 = Lm_B1(MAC1, lm);
IR2 = Lm_B2(MAC2, lm);
IR3 = Lm_B3(MAC3, lm);
RGB0 = RGB1;
RGB1 = RGB2;
CD2 = CODE;
R2 = Lm_C1(MAC1 >> 4);
G2 = Lm_C2(MAC2 >> 4);
B2 = Lm_C3(MAC3 >> 4);
return 1;
case 0x1c:
#ifdef GTE_LOG
GTELOG("%08x CC", op);
#endif
MAC1 = A1(/*int44*/(long long)(((long long)RBK) << 12) + (LR1 * IR1) + (LR2 * IR2) + (LR3 * IR3));
MAC2 = A2(/*int44*/(long long)(((long long)GBK) << 12) + (LG1 * IR1) + (LG2 * IR2) + (LG3 * IR3));
MAC3 = A3(/*int44*/(long long)(((long long)BBK) << 12) + (LB1 * IR1) + (LB2 * IR2) + (LB3 * IR3));
IR1 = Lm_B1(MAC1, lm);
IR2 = Lm_B2(MAC2, lm);
IR3 = Lm_B3(MAC3, lm);
MAC1 = A1((R << 4) * IR1);
MAC2 = A2((G << 4) * IR2);
MAC3 = A3((B << 4) * IR3);
IR1 = Lm_B1(MAC1, lm);
IR2 = Lm_B2(MAC2, lm);
IR3 = Lm_B3(MAC3, lm);
RGB0 = RGB1;
RGB1 = RGB2;
CD2 = CODE;
R2 = Lm_C1(MAC1 >> 4);
G2 = Lm_C2(MAC2 >> 4);
B2 = Lm_C3(MAC3 >> 4);
return 1;
case 0x1e:
#ifdef GTE_LOG
GTELOG("%08x NCS", op);
#endif
MAC1 = A1((long long)(L11 * VX0) + (L12 * VY0) + (L13 * VZ0));
MAC2 = A2((long long)(L21 * VX0) + (L22 * VY0) + (L23 * VZ0));
MAC3 = A3((long long)(L31 * VX0) + (L32 * VY0) + (L33 * VZ0));
IR1 = Lm_B1(MAC1, lm);
IR2 = Lm_B2(MAC2, lm);
IR3 = Lm_B3(MAC3, lm);
MAC1 = A1(/*int44*/(long long)((long long)RBK << 12) + (LR1 * IR1) + (LR2 * IR2) + (LR3 * IR3));
MAC2 = A2(/*int44*/(long long)((long long)GBK << 12) + (LG1 * IR1) + (LG2 * IR2) + (LG3 * IR3));
MAC3 = A3(/*int44*/(long long)((long long)BBK << 12) + (LB1 * IR1) + (LB2 * IR2) + (LB3 * IR3));
IR1 = Lm_B1(MAC1, lm);
IR2 = Lm_B2(MAC2, lm);
IR3 = Lm_B3(MAC3, lm);
RGB0 = RGB1;
RGB1 = RGB2;
CD2 = CODE;
R2 = Lm_C1(MAC1 >> 4);
G2 = Lm_C2(MAC2 >> 4);
B2 = Lm_C3(MAC3 >> 4);
return 1;
case 0x20:
#ifdef GTE_LOG
GTELOG("%08x NCT", op);
#endif
for (v = 0; v < 3; v++) {
MAC1 = A1((long long)(L11 * VX(v)) + (L12 * VY(v)) + (L13 * VZ(v)));
MAC2 = A2((long long)(L21 * VX(v)) + (L22 * VY(v)) + (L23 * VZ(v)));
MAC3 = A3((long long)(L31 * VX(v)) + (L32 * VY(v)) + (L33 * VZ(v)));
IR1 = Lm_B1(MAC1, lm);
IR2 = Lm_B2(MAC2, lm);
IR3 = Lm_B3(MAC3, lm);
MAC1 = A1(/*int44*/(long long)((long long)RBK << 12) + (LR1 * IR1) + (LR2 * IR2) + (LR3 * IR3));
MAC2 = A2(/*int44*/(long long)((long long)GBK << 12) + (LG1 * IR1) + (LG2 * IR2) + (LG3 * IR3));
MAC3 = A3(/*int44*/(long long)((long long)BBK << 12) + (LB1 * IR1) + (LB2 * IR2) + (LB3 * IR3));
IR1 = Lm_B1(MAC1, lm);
IR2 = Lm_B2(MAC2, lm);
IR3 = Lm_B3(MAC3, lm);
RGB0 = RGB1;
RGB1 = RGB2;
CD2 = CODE;
R2 = Lm_C1(MAC1 >> 4);
G2 = Lm_C2(MAC2 >> 4);
B2 = Lm_C3(MAC3 >> 4);
}
return 1;
case 0x28:
#ifdef GTE_LOG
GTELOG("%08x SQR", op);
#endif
MAC1 = A1(IR1 * IR1);
MAC2 = A2(IR2 * IR2);
MAC3 = A3(IR3 * IR3);
IR1 = Lm_B1(MAC1, lm);
IR2 = Lm_B2(MAC2, lm);
IR3 = Lm_B3(MAC3, lm);
return 1;
case 0x29:
#ifdef GTE_LOG
GTELOG("%08x DPCL", op);
#endif
MAC1 = A1(((R << 4) * IR1) + (IR0 * Lm_B1(A1(((long long)RFC << 12) - ((R << 4) * IR1)), 0)));
MAC2 = A2(((G << 4) * IR2) + (IR0 * Lm_B2(A2(((long long)GFC << 12) - ((G << 4) * IR2)), 0)));
MAC3 = A3(((B << 4) * IR3) + (IR0 * Lm_B3(A3(((long long)BFC << 12) - ((B << 4) * IR3)), 0)));
IR1 = Lm_B1(MAC1, lm);
IR2 = Lm_B2(MAC2, lm);
IR3 = Lm_B3(MAC3, lm);
RGB0 = RGB1;
RGB1 = RGB2;
CD2 = CODE;
R2 = Lm_C1(MAC1 >> 4);
G2 = Lm_C2(MAC2 >> 4);
B2 = Lm_C3(MAC3 >> 4);
return 1;
case 0x2a:
#ifdef GTE_LOG
GTELOG("%08x DPCT", op);
#endif
for (v = 0; v < 3; v++) {
MAC1 = A1((R0 << 16) + (IR0 * Lm_B1(A1(((long long)RFC << 12) - (R0 << 16)), 0)));
MAC2 = A2((G0 << 16) + (IR0 * Lm_B2(A2(((long long)GFC << 12) - (G0 << 16)), 0)));
MAC3 = A3((B0 << 16) + (IR0 * Lm_B3(A3(((long long)BFC << 12) - (B0 << 16)), 0)));
IR1 = Lm_B1(MAC1, lm);
IR2 = Lm_B2(MAC2, lm);
IR3 = Lm_B3(MAC3, lm);
RGB0 = RGB1;
RGB1 = RGB2;
CD2 = CODE;
R2 = Lm_C1(MAC1 >> 4);
G2 = Lm_C2(MAC2 >> 4);
B2 = Lm_C3(MAC3 >> 4);
}
return 1;
case 0x2d:
#ifdef GTE_LOG
GTELOG("%08x AVSZ3", op);
#endif
MAC0 = int(F((long long)(ZSF3 * SZ1) + (ZSF3 * SZ2) + (ZSF3 * SZ3)));
OTZ = Lm_D(m_mac0, 1);
return 1;
case 0x2e:
#ifdef GTE_LOG
GTELOG("%08x AVSZ4", op);
#endif
MAC0 = int(F((long long)(ZSF4 * SZ0) + (ZSF4 * SZ1) + (ZSF4 * SZ2) + (ZSF4 * SZ3)));
OTZ = Lm_D(m_mac0, 1);
return 1;
case 0x30:
#ifdef GTE_LOG
GTELOG("%08x RTPT", op);
#endif
for (v = 0; v < 3; v++) {
MAC1 = A1(/*int44*/(long long)((long long)TRX << 12) + (R11 * VX(v)) + (R12 * VY(v)) + (R13 * VZ(v)));
MAC2 = A2(/*int44*/(long long)((long long)TRY << 12) + (R21 * VX(v)) + (R22 * VY(v)) + (R23 * VZ(v)));
MAC3 = A3(/*int44*/(long long)((long long)TRZ << 12) + (R31 * VX(v)) + (R32 * VY(v)) + (R33 * VZ(v)));
IR1 = Lm_B1(MAC1, lm);
IR2 = Lm_B2(MAC2, lm);
IR3 = Lm_B3_sf(m_mac3, m_sf, lm);
SZ0 = SZ1;
SZ1 = SZ2;
SZ2 = SZ3;
SZ3 = Lm_D(m_mac3, 1);
h_over_sz3 = Lm_E(gte_divide(H, SZ3));
SXY0 = SXY1;
SXY1 = SXY2;
SX2 = Lm_G1(F((long long)OFX + ((long long)IR1 * h_over_sz3)) >> 16);
SY2 = Lm_G2(F((long long)OFY + ((long long)IR2 * h_over_sz3)) >> 16);
#if defined(PGXP)
pgxp_vertex_buffer[pgxp_vertex_index].originalSXY2 = SXY2;
pgxp_vertex_buffer[pgxp_vertex_index].x = Lm_G1_ia((long long)OFX + (long long)(IR1 * h_over_sz3)) / (float)(1 << 16);
pgxp_vertex_buffer[pgxp_vertex_index].y = Lm_G2_ia((long long)OFY + (long long)(IR2 * h_over_sz3)) / (float)(1 << 16);
pgxp_vertex_buffer[pgxp_vertex_index++].z = max(SZ3, H / 2) / (float)(1 << 16);
#endif
}
MAC0 = int(F((long long)DQB + ((long long)DQA * h_over_sz3)));
IR0 = Lm_H(m_mac0, 1);
return 1;
case 0x3d:
#ifdef GTE_LOG
GTELOG("%08x GPF", op);
#endif
MAC1 = A1(IR0 * IR1);
MAC2 = A2(IR0 * IR2);
MAC3 = A3(IR0 * IR3);
IR1 = Lm_B1(MAC1, lm);
IR2 = Lm_B2(MAC2, lm);
IR3 = Lm_B3(MAC3, lm);
RGB0 = RGB1;
RGB1 = RGB2;
CD2 = CODE;
R2 = Lm_C1(MAC1 >> 4);
G2 = Lm_C2(MAC2 >> 4);
B2 = Lm_C3(MAC3 >> 4);
return 1;
case 0x3e:
#ifdef GTE_LOG
GTELOG("%08x GPL", op);
#endif
MAC1 = A1(gte_shift(MAC1, -m_sf) + (IR0 * IR1));
MAC2 = A2(gte_shift(MAC2, -m_sf) + (IR0 * IR2));
MAC3 = A3(gte_shift(MAC3, -m_sf) + (IR0 * IR3));
IR1 = Lm_B1(MAC1, lm);
IR2 = Lm_B2(MAC2, lm);
IR3 = Lm_B3(MAC3, lm);
RGB0 = RGB1;
RGB1 = RGB2;
CD2 = CODE;
R2 = Lm_C1(MAC1 >> 4);
G2 = Lm_C2(MAC2 >> 4);
B2 = Lm_C3(MAC3 >> 4);
return 1;
case 0x3f:
#ifdef GTE_LOG
GTELOG("%08x NCCT", op);
#endif
for (v = 0; v < 3; v++) {
MAC1 = A1((long long)(L11 * VX(v)) + (L12 * VY(v)) + (L13 * VZ(v)));
MAC2 = A2((long long)(L21 * VX(v)) + (L22 * VY(v)) + (L23 * VZ(v)));
MAC3 = A3((long long)(L31 * VX(v)) + (L32 * VY(v)) + (L33 * VZ(v)));
IR1 = Lm_B1(MAC1, lm);
IR2 = Lm_B2(MAC2, lm);
IR3 = Lm_B3(MAC3, lm);
MAC1 = A1(/*int44*/(long long)((long long)RBK << 12) + (LR1 * IR1) + (LR2 * IR2) + (LR3 * IR3));
MAC2 = A2(/*int44*/(long long)((long long)GBK << 12) + (LG1 * IR1) + (LG2 * IR2) + (LG3 * IR3));
MAC3 = A3(/*int44*/(long long)((long long)BBK << 12) + (LB1 * IR1) + (LB2 * IR2) + (LB3 * IR3));
IR1 = Lm_B1(MAC1, lm);
IR2 = Lm_B2(MAC2, lm);
IR3 = Lm_B3(MAC3, lm);
MAC1 = A1((R << 4) * IR1);
MAC2 = A2((G << 4) * IR2);
MAC3 = A3((B << 4) * IR3);
IR1 = Lm_B1(MAC1, lm);
IR2 = Lm_B2(MAC2, lm);
IR3 = Lm_B3(MAC3, lm);
RGB0 = RGB1;
RGB1 = RGB2;
CD2 = CODE;
R2 = Lm_C1(MAC1 >> 4);
G2 = Lm_C2(MAC2 >> 4);
B2 = Lm_C3(MAC3 >> 4);
}
return 1;
}
return 0;
}
void SetRotMatrix(MATRIX* m)
{
R11 = m->m[0][0];
R12 = m->m[0][1];
R13 = m->m[0][2];
R21 = m->m[1][0];
R22 = m->m[1][1];
R23 = m->m[1][2];
R31 = m->m[2][0];
R32 = m->m[2][1];
R33 = m->m[2][2];
}
void SetLightMatrix(MATRIX* m)
{
L11 = m->m[0][0];
L12 = m->m[0][1];
L13 = m->m[0][2];
L21 = m->m[1][0];
L22 = m->m[1][1];
L23 = m->m[1][2];
L31 = m->m[2][0];
L32 = m->m[2][1];
L33 = m->m[2][2];
}
void SetColorMatrix(MATRIX* m)
{
LR1 = m->m[0][0];
LR2 = m->m[0][1];
LR3 = m->m[0][2];
LG1 = m->m[1][0];
LG2 = m->m[1][1];
LG3 = m->m[1][2];
LB1 = m->m[2][0];
LB2 = m->m[2][1];
LB3 = m->m[2][2];
}
void SetTransMatrix(MATRIX* m)
{
TRX = m->t[0];
TRY = m->t[1];
TRZ = m->t[2];
}
#define MAX_NUM_MATRICES 20
int matrixLevel = 0;
MATRIX stack[MAX_NUM_MATRICES];//unk_410
MATRIX* currentMatrix = &stack[0];//unk_40C
void PushMatrix()
{
if (matrixLevel < 20)
{
MATRIX* m = &stack[matrixLevel];//$t7
m->m[0][0] = R11;
m->m[0][1] = R12;
m->m[0][2] = R13;
m->m[1][0] = R21;
m->m[1][1] = R22;
m->m[1][2] = R23;
m->m[2][0] = R31;
m->m[2][1] = R32;
m->m[2][2] = R33;
m->t[0] = TRX;
m->t[1] = TRY;
m->t[2] = TRZ;
currentMatrix++;
matrixLevel++;
}
else
{
printf("Error: Can't push matrix,stack(max 20) is full!\n");
}
}
void PopMatrix()
{
if (matrixLevel > 0)
{
currentMatrix--;
matrixLevel--;
MATRIX* m = &stack[matrixLevel];//$t7
R11 = m->m[0][0];
R12 = m->m[0][1];
R13 = m->m[0][2];
R21 = m->m[1][0];
R22 = m->m[1][1];
R23 = m->m[1][2];
R31 = m->m[2][0];
R32 = m->m[2][1];
R33 = m->m[2][2];
TRX = m->t[0];
TRY = m->t[1];
TRZ = m->t[2];
}
else
{
printf("Error: Can't pop matrix,stack is empty!\n");
}
}
long RotTransPers(struct SVECTOR* v0, long* sxy, long* p, long* flag)
{
VX0 = v0->vx;
VY0 = v0->vy;
VZ0 = v0->vz;
docop2(0x180001);
sxy[0] = SXY2;
p[0] = IR0;
flag[0] = FLAG;
return SZ3 >> 2;
}
void RotTrans(struct SVECTOR* v0, VECTOR* v1, long* flag)
{
UNIMPLEMENTED();
}
void NormalColorDpq(struct SVECTOR* v0, struct CVECTOR* v1, long p, struct CVECTOR* v2)
{
UNIMPLEMENTED();
}
void NormalColorCol(struct SVECTOR* v0, struct CVECTOR* v1, struct CVECTOR* v2)
{
UNIMPLEMENTED();
}
long RotAverageNclip4(struct SVECTOR* v0, struct SVECTOR* v1, struct SVECTOR* v2, struct SVECTOR* v3, long* sxy0/*arg_10*/, long* sxy1/*arg_14*/, long* sxy2/*arg_18*/, long* sxy3/*arg_1C*/, long* p/*arg_20*/, long* otz/*arg_24*/, long* flag/*arg_28*/)
{
VX0 = v0->vx;
VY0 = v0->vy;
VZ0 = v0->vz;
VX1 = v1->vx;
VY1 = v1->vy;
VZ1 = v1->vz;
VX2 = v2->vx;
VY2 = v2->vy;
VZ2 = v2->vz;
docop2(0x280030);
flag[0] = FLAG;
docop2(0x1400006);
if (MAC0 > 0)
{
SXY0 = sxy0[0];
SXY1 = sxy1[0];
SXY2 = sxy2[0];
VX0 = v3->vx;
VY0 = v3->vy;
VZ0 = v3->vz;
docop2(0x180001);
sxy3[0] = SXY2;
p[0] = IR0;
flag[0] |= FLAG;
docop2(0x168002E);
otz[0] = OTZ;
}
return MAC0;
}
// TODO: to INLINE_C EMULATOR macros
MATRIX* MulMatrix0(MATRIX* m0, MATRIX* m1, MATRIX* m2)
{
#if 0
gte_MulMatrix0(m0, m1, m2);
#else
/* <20><><EFBFBD><EFBFBD><EFBFBD>ł<EFBFBD>m0==m2<6D>̎<EFBFBD><CC8E><EFBFBD><EFBFBD>o<EFBFBD>C */
int vx, vy, vz;
MATRIX tmp;
/* <20>̂<EFBFBD>m0<6D><30>tmp<6D>ɃR<C983>s<EFBFBD>[ */
if (m0 == m2) {
tmp = *m0; m0 = &tmp;
}
vx = m1->m[0][0];
vy = m1->m[1][0];
vz = m1->m[2][0];
m2->m[0][0] = FIXED(m0->m[0][0] * vx + m0->m[0][1] * vy + m0->m[0][2] * vz);
m2->m[1][0] = FIXED(m0->m[1][0] * vx + m0->m[1][1] * vy + m0->m[1][2] * vz);
m2->m[2][0] = FIXED(m0->m[2][0] * vx + m0->m[2][1] * vy + m0->m[2][2] * vz);
vx = m1->m[0][1];
vy = m1->m[1][1];
vz = m1->m[2][1];
m2->m[0][1] = FIXED(m0->m[0][0] * vx + m0->m[0][1] * vy + m0->m[0][2] * vz);
m2->m[1][1] = FIXED(m0->m[1][0] * vx + m0->m[1][1] * vy + m0->m[1][2] * vz);
m2->m[2][1] = FIXED(m0->m[2][0] * vx + m0->m[2][1] * vy + m0->m[2][2] * vz);
vx = m1->m[0][2];
vy = m1->m[1][2];
vz = m1->m[2][2];
m2->m[0][2] = FIXED(m0->m[0][0] * vx + m0->m[0][1] * vy + m0->m[0][2] * vz);
m2->m[1][2] = FIXED(m0->m[1][0] * vx + m0->m[1][1] * vy + m0->m[1][2] * vz);
m2->m[2][2] = FIXED(m0->m[2][0] * vx + m0->m[2][1] * vy + m0->m[2][2] * vz);
#endif
return m2;
}
MATRIX* MulMatrix(MATRIX* m0, MATRIX* m1)
{
UNIMPLEMENTED();
return NULL;
}
MATRIX* MulMatrix2(MATRIX* m0, MATRIX* m1)
{
UNIMPLEMENTED();
return NULL;
}
void SetBackColor(long rbk, long gbk, long bbk)
{
UNIMPLEMENTED();
}
void SetFarColor(long rfc, long gfc, long bfc)
{
UNIMPLEMENTED();
}
#define APPLYMATRIX(m,v0,v1) {\
int vx = v0->vx;\
int vy = v0->vy;\
int vz = v0->vz;\
v1->vx = FIXED(m->m[0][0]*vx + m->m[0][1]*vy + m->m[0][2]*vz );\
v1->vy = FIXED(m->m[1][0]*vx + m->m[1][1]*vy + m->m[1][2]*vz );\
v1->vz = FIXED(m->m[2][0]*vx + m->m[2][1]*vy + m->m[2][2]*vz );\
}
VECTOR *ApplyMatrix(MATRIX *m, SVECTOR *v0, VECTOR *v1)
{
APPLYMATRIX(m, v0, v1)
return v1;
}
VECTOR *ApplyRotMatrix(SVECTOR *v0, VECTOR *v1)
{
MATRIX temp;
gte_ReadRotMatrix(&temp);
MATRIX* m = &temp;
APPLYMATRIX(m, v0, v1);
return v1;
}
VECTOR *ApplyRotMatrixLV(VECTOR *v0, VECTOR *v1)
{
MATRIX temp;
gte_ReadRotMatrix(&temp);
MATRIX* m = &temp;
APPLYMATRIX(m, v0, v1);
return v1;
}
SVECTOR *ApplyMatrixSV(MATRIX *m, SVECTOR *v0, SVECTOR *v1)
{
APPLYMATRIX(m, v0, v1)
return v1;
}
VECTOR *ApplyMatrixLV(MATRIX *m, VECTOR *v0, VECTOR *v1)
{
APPLYMATRIX(m, v0, v1)
return v1;
}
MATRIX* RotMatrix(struct SVECTOR* r, MATRIX* m)
{
int c0,c1,c2;
int s0,s1,s2;
int s2p0,s2m0,c2p0,c2m0;
int s2c0,s2s0,c2c0,c2s0;
c0=rcos(r->vx);
c1=rcos(r->vy);
c2=rcos(r->vz);
s0=rsin(r->vx);
s1=rsin(r->vy);
s2=rsin(r->vz);
s2p0=rsin( r->vz + r->vx );
s2m0=rsin( r->vz - r->vx );
c2p0=rcos( r->vz + r->vx );
c2m0=rcos( r->vz - r->vx );
s2c0 = (s2p0+s2m0)/2;
c2s0 = (s2p0-s2m0)/2;
s2s0 = (c2m0-c2p0)/2;
c2c0 = (c2m0+c2p0)/2;
m->m[0][0]= FIXED(c2*c1);
m->m[1][0]= s2c0 + FIXED(c2s0*s1);
m->m[2][0]= s2s0 - FIXED(c2c0*s1);
m->m[0][1]= -FIXED(s2*c1);
m->m[1][1]= c2c0 - FIXED(s2s0*s1);
m->m[2][1]= c2s0 + FIXED(s2c0*s1);
m->m[0][2]= s1;
m->m[1][2]= -FIXED(c1*s0);
m->m[2][2]= FIXED(c1*c0);
return m;
}
MATRIX* RotMatrixYXZ(struct SVECTOR* r, MATRIX* m)
{
int iVar1;
int iVar2;
short sVar3;
uint uVar4;
int iVar5;
int iVar6;
int iVar7;
int iVar8;
uVar4 = (r->vx);
if ((int)uVar4 < 0)
{
iVar6 = *(int *)(rcossin_tbl + (-uVar4 & 0xfff) * 2);
sVar3 = (short)iVar6;
iVar5 = -(int)sVar3;
}
else
{
iVar6 = *(int *)(rcossin_tbl + (uVar4 & 0xfff) * 2);
iVar5 = (int)(short)iVar6;
sVar3 = -(short)iVar6;
}
iVar6 = iVar6 >> 0x10;
uVar4 = (r->vy);
if ((int)uVar4 < 0)
{
iVar7 = *(int *)(rcossin_tbl + (-uVar4 & 0xfff) * 2);
iVar1 = -(int)(short)iVar7;
}
else
{
iVar7 = *(int *)(rcossin_tbl + (uVar4 & 0xfff) * 2);
iVar1 = (int)(short)iVar7;
}
iVar7 = iVar7 >> 0x10;
uVar4 = (r->vz);
m->m[1][2] = sVar3;
m->m[0][2] = FIXED(iVar1 * iVar6);
sVar3 = FIXED(iVar7 * iVar6);
if ((int)uVar4 < 0)
{
m->m[2][2] = sVar3;
iVar8 = *(int *)(rcossin_tbl + (-uVar4 & 0xfff) * 2);
iVar2 = -(int)(short)iVar8;
}
else
{
m->m[2][2] = sVar3;
iVar8 = *(int *)(rcossin_tbl + (uVar4 & 0xfff) * 2);
iVar2 = (int)(short)iVar8;
}
iVar8 = iVar8 >> 0x10;
m->m[1][0] = FIXED(iVar2 * iVar6);
m->m[1][1] = FIXED(iVar8 * iVar6);
iVar6 = FIXED(iVar1 * iVar5);
m->m[0][0] = FIXED(iVar7 * iVar8) + FIXED(iVar6 * iVar2);
m->m[0][1] = FIXED(iVar6 * iVar8) - FIXED(iVar7 * iVar2);
iVar5 = FIXED(iVar7 * iVar5);
m->m[2][1] = FIXED(iVar1 * iVar2) + FIXED(iVar5 * iVar8);
m->m[2][0] = FIXED(iVar5 * iVar2) - FIXED(iVar1 * iVar8);
return m;
}
MATRIX* RotMatrixX(long r, MATRIX *m)
{
#if 0
short sVar1;
short sVar2;
short sVar3;
int iVar4;
int iVar5;
if (r < 0) {
iVar5 = *(int *)(rcossin_tbl + (-r & 0xfffU) * 2);
iVar4 = -(int)(short)iVar5;
}
else {
iVar5 = *(int *)(rcossin_tbl + (r & 0xfffU) * 2);
iVar4 = (int)(short)iVar5;
}
iVar5 = iVar5 >> 0x10;
sVar1 = m->m[1][0];
sVar2 = m->m[1][1];
sVar3 = m->m[1][2];
m->m[1][0] = (short)(iVar5 * sVar1 - iVar4 * m->m[2][0] >> 0xc);
m->m[1][1] = (short)(iVar5 * sVar2 - iVar4 * m->m[2][1] >> 0xc);
m->m[1][2] = (short)(iVar5 * sVar3 - iVar4 * m->m[2][2] >> 0xc);
m->m[2][0] = (short)(iVar4 * sVar1 + iVar5 * m->m[2][0] >> 0xc);
m->m[2][1] = (short)(iVar4 * sVar2 + iVar5 * m->m[2][1] >> 0xc);
m->m[2][2] = (short)(iVar4 * sVar3 + iVar5 * m->m[2][2] >> 0xc);
#else
int s0 = rsin(r);
int c0 = rcos(r);
int t1, t2;
t1 = m->m[1][0];
t2 = m->m[2][0];
m->m[1][0] = FIXED(t1*c0 - t2 * s0);
m->m[2][0] = FIXED(t1*s0 + t2 * c0);
t1 = m->m[1][1];
t2 = m->m[2][1];
m->m[1][1] = FIXED(t1*c0 - t2 * s0);
m->m[2][1] = FIXED(t1*s0 + t2 * c0);
t1 = m->m[1][2];
t2 = m->m[2][2];
m->m[1][2] = FIXED(t1*c0 - t2 * s0);
m->m[2][2] = FIXED(t1*s0 + t2 * c0);
#endif
return m;
}
MATRIX* RotMatrixY(long r, MATRIX *m)
{
#if 0
short sVar1;
short sVar2;
short sVar3;
short sVar4;
short sVar5;
short sVar6;
int iVar7;
int iVar8;
if (r < 0) {
iVar8 = *(int *)(rcossin_tbl + (-r & 0xfffU) * 2);
iVar7 = (int)(short)iVar8;
}
else {
iVar8 = *(int *)(rcossin_tbl + (r & 0xfffU) * 2);
iVar7 = -(int)(short)iVar8;
}
iVar8 = iVar8 >> 0x10;
sVar1 = m->m[0][0];
sVar2 = m->m[2][0];
sVar3 = m->m[0][1];
sVar4 = m->m[2][1];
sVar5 = m->m[0][2];
sVar6 = m->m[2][2];
m->m[0][0] = (iVar8 * sVar1 - iVar7 * sVar2 >> 0xc);
m->m[0][1] = (iVar8 * sVar3 - iVar7 * sVar4 >> 0xc);
m->m[0][2] = (iVar8 * sVar5 - iVar7 * sVar6 >> 0xc);
m->m[2][0] = (iVar7 * sVar1 + iVar8 * sVar2 >> 0xc);
m->m[2][1] = (iVar7 * sVar3 + iVar8 * sVar4 >> 0xc);
m->m[2][2] = (iVar7 * sVar5 + iVar8 * sVar6 >> 0xc);
#else
int s0 = rsin(r);
int c0 = rcos(r);
int t1, t2;
t1 = m->m[0][0];
t2 = m->m[2][0];
m->m[0][0] = FIXED(t1*c0 + t2 * s0);
m->m[2][0] = FIXED(-t1 * s0 + t2 * c0);
t1 = m->m[0][1];
t2 = m->m[2][1];
m->m[0][1] = FIXED(t1*c0 + t2 * s0);
m->m[2][1] = FIXED(-t1 * s0 + t2 * c0);
t1 = m->m[0][2];
t2 = m->m[2][2];
m->m[0][2] = FIXED(t1*c0 + t2 * s0);
m->m[2][2] = FIXED(-t1 * s0 + t2 * c0);
#endif
return m;
}
MATRIX* RotMatrixZ(long r, MATRIX *m)
{
#if 0
short sVar1;
short sVar2;
short sVar3;
short sVar4;
short sVar5;
short sVar6;
int iVar7;
int iVar8;
if (r < 0) {
iVar8 = *(int *)(rcossin_tbl + (-r & 0xfffU) * 2);
iVar7 = -(int)(short)iVar8;
}
else {
iVar8 = *(int *)(rcossin_tbl + (r & 0xfffU) * 2);
iVar7 = (int)(short)iVar8;
}
iVar8 = iVar8 >> 0x10;
sVar1 = m->m[0][0];
sVar2 = m->m[1][0];
sVar3 = m->m[0][1];
sVar4 = m->m[1][1];
sVar5 = m->m[0][2];
sVar6 = m->m[1][2];
m->m[0][0] = (iVar8 * sVar1 - iVar7 * sVar2 >> 0xc);
m->m[0][1] = (iVar8 * sVar3 - iVar7 * sVar4 >> 0xc);
m->m[0][2] = (iVar8 * sVar5 - iVar7 * sVar6 >> 0xc);
m->m[1][0] = (iVar7 * sVar1 + iVar8 * sVar2 >> 0xc);
m->m[1][1] = (iVar7 * sVar3 + iVar8 * sVar4 >> 0xc);
m->m[1][2] = (iVar7 * sVar5 + iVar8 * sVar6 >> 0xc);
#else
int s0 = rsin(r);
int c0 = rcos(r);
int t1,t2;
t1 = m->m[0][0];
t2 = m->m[1][0];
m->m[0][0] = FIXED(t1*c0 - t2*s0);
m->m[1][0] = FIXED(t1*s0 + t2*c0);
t1 = m->m[0][1];
t2 = m->m[1][1];
m->m[0][1] = FIXED(t1*c0 - t2*s0);
m->m[1][1] = FIXED(t1*s0 + t2*c0);
t1 = m->m[0][2];
t2 = m->m[1][2];
m->m[0][2] = FIXED(t1*c0 - t2*s0);
m->m[1][2] = FIXED(t1*s0 + t2*c0);
#endif
return m;
}
MATRIX* TransMatrix(MATRIX* m, VECTOR* v)
{
m->t[0] = v->vx;
m->t[1] = v->vy;
m->t[2] = v->vz;
return m;
}
MATRIX* ScaleMatrix(MATRIX* m, VECTOR* v)
{
m->m[0][0] = FIXED(m->m[0][0] * v->vx);
m->m[0][1] = FIXED(m->m[0][1] * v->vx);
m->m[0][2] = FIXED(m->m[0][2] * v->vx);
m->m[1][0] = FIXED(m->m[1][0] * v->vy);
m->m[1][1] = FIXED(m->m[1][1] * v->vy);
m->m[1][2] = FIXED(m->m[1][2] * v->vy);
m->m[2][0] = FIXED(m->m[2][0] * v->vz);
m->m[2][1] = FIXED(m->m[2][1] * v->vz);
m->m[2][2] = FIXED(m->m[2][2] * v->vz);
return m;
}
void SetDQA(int iDQA)
{
DQA = iDQA;
}
void SetDQB(int iDQB)
{
DQB = iDQB;
}
void SetFogNear(long a, long h)
{
//Error division by 0
assert(h != 0);
int depthQ = -(((a << 2) + a) << 6);
assert(h != -1 && depthQ != 0x8000);
SetDQA(depthQ / h);
SetDQB(20971520);
}
int isin(int x)
{
#define qN 10
#define qA 12
#define B 19900
#define C 3516
int c, x2, y;
c = x << (30 - qN); // Semi-circle info into carry.
x -= 1 << qN; // sine -> cosine calc
x = x << (31 - qN); // Mask with PI
x = x >> (31 - qN); // Note: SIGNED shift! (to qN)
x = x * x >> (2 * qN - 14); // x=x^2 To Q14
y = B - (x*C >> 14); // B - x^2*C
y = (1 << qA) - (x*y >> 16); // A - x^2*(B-x^2*C)
return c >= 0 ? y : -y;
}
int rsin(int a)
{
#if 0
return isin(a);
#else
if (a < 0)
return -rcossin_tbl[(-a & 0xfffU) * 2];
return rcossin_tbl[(a & 0xfffU) * 2];
#endif
}
int rcos(int a)
{
#if 0
return isin(a + 1024);
#else
if (a < 0)
return rcossin_tbl[(-a & 0xfffU) * 2 + 1];
return rcossin_tbl[(a & 0xfffU) * 2 + 1];
#endif
}
long ratan2(long y, long x)
{
#if 0 // don't use it
const double ONE_BY_2048 = 1.0 / 2048;
const double CONV = 2048.0 / M_PI;
float real = atan2(double(y) * ONE_BY_2048, double(x) * ONE_BY_2048);
return real * CONV;
#else
long v;
ulong ang;
bool xlt0 = x < 0;
bool ylt0 = y < 0;
if (x == 0 && y == 0)
return 0;
if (x < 0)
x = -x;
if (y < 0)
y = -y;
if (y < x)
{
if (((ulong)y & 0x7fe00000U) == 0)
ang = (y * 1024) / x;
else
ang = y / (x / 1024);
v = ratan_tbl[ang];
}
else
{
if(((ulong)x & 0x7fe00000U) == 0)
ang = (x * 1024) / y;
else
ang = x / (y / 1024);
v = 1024 - ratan_tbl[ang];
}
if (xlt0)
v = 2048 - v;
if (ylt0)
v = -v;
return v;
#endif
}
short SQRT[] = {
0x1000, 0x101f, 0x103f, 0x105e, 0x107e, 0x109c, 0x10bb, 0x10da,
0x10f8, 0x1116, 0x1134, 0x1152, 0x116f, 0x118c, 0x11a9, 0x11c6,
0x11e3, 0x1200, 0x121c, 0x1238, 0x1254, 0x1270, 0x128c, 0x12a7,
0x12c2, 0x12de, 0x12f9, 0x1314, 0x132e, 0x1349, 0x1364, 0x137e,
0x1398, 0x13b2, 0x13cc, 0x13e6, 0x1400, 0x1419, 0x1432, 0x144c,
0x1465, 0x147e, 0x1497, 0x14b0, 0x14c8, 0x14e1, 0x14f9, 0x1512,
0x152a, 0x1542, 0x155a, 0x1572, 0x158a, 0x15a2, 0x15b9, 0x15d1,
0x15e8, 0x1600, 0x1617, 0x162e, 0x1645, 0x165c, 0x1673, 0x1689,
0x16a0, 0x16b7, 0x16cd, 0x16e4, 0x16fa, 0x1710, 0x1726, 0x173c,
0x1752, 0x1768, 0x177e, 0x1794, 0x17aa, 0x17bf, 0x17d5, 0x17ea,
0x1800, 0x1815, 0x182a, 0x183f, 0x1854, 0x1869, 0x187e, 0x1893,
0x18a8, 0x18bd, 0x18d1, 0x18e6, 0x18fa, 0x190f, 0x1923, 0x1938,
0x194c, 0x1960, 0x1974, 0x1988, 0x199c, 0x19b0, 0x19c4, 0x19d8,
0x19ec, 0x1a00, 0x1a13, 0x1a27, 0x1a3a, 0x1a4e, 0x1a61, 0x1a75,
0x1a88, 0x1a9b, 0x1aae, 0x1ac2, 0xa1d5, 0x1ae8, 0x1afb, 0x1b0e,
0x1b21, 0x1b33, 0x1b46, 0x1b59, 0x1b6c, 0x1b7e, 0x1b91, 0x1ba3,
0x1bb6, 0x1bc8, 0x1bdb, 0x1bed, 0x1c00, 0x1c12, 0x1c24, 0x1c36,
0x1c48, 0x1c5a, 0x1c6c, 0x1c7e, 0x1c90, 0x1ca2, 0x1cb4, 0x1cc6,
0x1cd8, 0x1ce9, 0x1cfb, 0x1d0d, 0x1d1e, 0x1d30, 0x1d41, 0x1d53,
0x1d64, 0x1d76, 0x1d87, 0x1d98, 0x1daa, 0x1dbb, 0x1dcc, 0x1ddd,
0x1dee, 0x1e00, 0x1e11, 0x1e22, 0x1e33, 0x1e43, 0x1e54, 0x1e65,
0x1e76, 0x1e87, 0x1e98, 0x1ea8, 0x1eb9, 0x1eca, 0x1eda, 0x1eeb,
0x1efb, 0x1f0c, 0x1f1c, 0x1f2d, 0x1f3d, 0x1f4e, 0x1f5e, 0x1f6e,
0x1f7e, 0x1f8f, 0x1f9f, 0x1faf, 0x1fbf, 0x1fcf, 0x1fdf, 0x1fef
};
long SquareRoot0(long a)
{
#if 1
return sqrtl(a);
#else
// THIS SQUARE ROOT SEEMS TO BE BUGGED
int v0, v1, t0, t1, t2, t3, t4;
v0 = gte_leadingzerocount(a);
if (v0 != 32)
{
t0 = v0 & 1;
v1 = -2;
t2 = v0 & v1;
t1 = 31 - t2;
t1 -= t2;
t1 >>= 1;
t3 = t2 - 24;
if (t3 < 0)
{
t3 = 24 - t2;
t4 = a >> t3;
}
else
{
t4 = a << t3;
}
return (SQRT[t4 - 64] << t1) >> 12;
}
return 0;
#endif
}