From 10d7ab1fb217c01030a0b637f9a571c1faf61ede Mon Sep 17 00:00:00 2001 From: Shamus Hammons Date: Sat, 23 Feb 2013 12:46:20 -0600 Subject: [PATCH] Removed some cruft and nonstandard int/uint types, added M series BIOS. --- jaguarcore.mak | 1 + src/blitter.cpp | 990 ++++----- src/blitter.h | 18 +- src/cdintf.cpp | 18 +- src/cdintf.h | 16 +- src/cdrom.cpp | 66 +- src/cdrom.h | 12 +- src/cry2rgb.h | 6 +- src/dac.cpp | 27 +- src/dac.h | 8 +- src/dsp.cpp | 528 ++--- src/dsp.h | 27 +- src/eeprom.cpp | 46 +- src/eeprom.h | 10 +- src/event.cpp | 2 +- src/event.h | 4 +- src/file.cpp | 32 +- src/file.h | 12 +- src/filedb.cpp | 6 +- src/filedb.h | 8 +- src/gpu.cpp | 330 +-- src/gpu.h | 20 +- src/gui/app.cpp | 1 - src/gui/debug/opbrowser.cpp | 35 +- src/gui/filepicker.cpp | 2 +- src/gui/filepicker.h | 1 - src/gui/filethread.cpp | 12 +- src/gui/filethread.h | 4 +- src/gui/mainwin.cpp | 38 +- src/gui/virtualjaguar.qrc | 1 + src/jagbios.cpp | 2 + src/jagbios2.cpp | 4104 +++++++++++++++++++++++++++++++++++ src/jagbios2.h | 6 + src/jagdasm.cpp | 10 +- src/jaguar.cpp | 156 +- src/jaguar.h | 28 +- src/jerry.cpp | 48 +- src/jerry.h | 16 +- src/joystick.cpp | 287 +-- src/joystick.h | 14 +- src/log.cpp | 5 +- src/memory.cpp | 277 ++- src/memory.h | 89 +- src/mmu.cpp | 50 +- src/mmu.h | 16 +- src/op.cpp | 532 ++--- src/op.h | 19 +- src/settings.cpp | 109 +- src/settings.h | 21 +- src/tom.cpp | 244 +-- src/tom.h | 42 +- src/types.h | 22 - src/virtualjaguar.cpp | 216 -- 53 files changed, 6035 insertions(+), 2559 deletions(-) create mode 100644 src/jagbios2.cpp create mode 100644 src/jagbios2.h delete mode 100644 src/types.h delete mode 100644 src/virtualjaguar.cpp diff --git a/jaguarcore.mak b/jaguarcore.mak index 0c94a5c..8d7971d 100644 --- a/jaguarcore.mak +++ b/jaguarcore.mak @@ -77,6 +77,7 @@ OBJS := \ obj/filedb.o \ obj/gpu.o \ obj/jagbios.o \ + obj/jagbios2.o \ obj/jagcdbios.o \ obj/jagdevcdbios.o \ obj/jagstub1bios.o \ diff --git a/src/blitter.cpp b/src/blitter.cpp index 1396099..59880a0 100644 --- a/src/blitter.cpp +++ b/src/blitter.cpp @@ -44,60 +44,60 @@ extern int jaguar_active_memory_dumps; // Local global variables int start_logging = 0; -uint8 blitter_working = 0; +uint8_t blitter_working = 0; // Blitter register RAM (most of it is hidden from the user) -static uint8 blitter_ram[0x100]; +static uint8_t blitter_ram[0x100]; // Other crapola bool specialLog = false; extern int effect_start; extern int blit_start_log; -void BlitterMidsummer(uint32 cmd); +void BlitterMidsummer(uint32_t cmd); void BlitterMidsummer2(void); -#define REG(A) (((uint32)blitter_ram[(A)] << 24) | ((uint32)blitter_ram[(A)+1] << 16) \ - | ((uint32)blitter_ram[(A)+2] << 8) | (uint32)blitter_ram[(A)+3]) +#define REG(A) (((uint32_t)blitter_ram[(A)] << 24) | ((uint32_t)blitter_ram[(A)+1] << 16) \ + | ((uint32_t)blitter_ram[(A)+2] << 8) | (uint32_t)blitter_ram[(A)+3]) #define WREG(A,D) (blitter_ram[(A)] = ((D)>>24)&0xFF, blitter_ram[(A)+1] = ((D)>>16)&0xFF, \ blitter_ram[(A)+2] = ((D)>>8)&0xFF, blitter_ram[(A)+3] = (D)&0xFF) // Blitter registers (offsets from F02200) -#define A1_BASE ((uint32)0x00) -#define A1_FLAGS ((uint32)0x04) -#define A1_CLIP ((uint32)0x08) // Height and width values for clipping -#define A1_PIXEL ((uint32)0x0C) // Integer part of the pixel (Y.i and X.i) -#define A1_STEP ((uint32)0x10) // Integer part of the step -#define A1_FSTEP ((uint32)0x14) // Fractional part of the step -#define A1_FPIXEL ((uint32)0x18) // Fractional part of the pixel (Y.f and X.f) -#define A1_INC ((uint32)0x1C) // Integer part of the increment -#define A1_FINC ((uint32)0x20) // Fractional part of the increment -#define A2_BASE ((uint32)0x24) -#define A2_FLAGS ((uint32)0x28) -#define A2_MASK ((uint32)0x2C) // Modulo values for x and y (M.y and M.x) -#define A2_PIXEL ((uint32)0x30) // Integer part of the pixel (no fractional part for A2) -#define A2_STEP ((uint32)0x34) // Integer part of the step (no fractional part for A2) -#define COMMAND ((uint32)0x38) -#define PIXLINECOUNTER ((uint32)0x3C) // Inner & outer loop values -#define SRCDATA ((uint32)0x40) -#define DSTDATA ((uint32)0x48) -#define DSTZ ((uint32)0x50) -#define SRCZINT ((uint32)0x58) -#define SRCZFRAC ((uint32)0x60) -#define PATTERNDATA ((uint32)0x68) -#define INTENSITYINC ((uint32)0x70) -#define ZINC ((uint32)0x74) -#define COLLISIONCTRL ((uint32)0x78) -#define PHRASEINT0 ((uint32)0x7C) -#define PHRASEINT1 ((uint32)0x80) -#define PHRASEINT2 ((uint32)0x84) -#define PHRASEINT3 ((uint32)0x88) -#define PHRASEZ0 ((uint32)0x8C) -#define PHRASEZ1 ((uint32)0x90) -#define PHRASEZ2 ((uint32)0x94) -#define PHRASEZ3 ((uint32)0x98) +#define A1_BASE ((uint32_t)0x00) +#define A1_FLAGS ((uint32_t)0x04) +#define A1_CLIP ((uint32_t)0x08) // Height and width values for clipping +#define A1_PIXEL ((uint32_t)0x0C) // Integer part of the pixel (Y.i and X.i) +#define A1_STEP ((uint32_t)0x10) // Integer part of the step +#define A1_FSTEP ((uint32_t)0x14) // Fractional part of the step +#define A1_FPIXEL ((uint32_t)0x18) // Fractional part of the pixel (Y.f and X.f) +#define A1_INC ((uint32_t)0x1C) // Integer part of the increment +#define A1_FINC ((uint32_t)0x20) // Fractional part of the increment +#define A2_BASE ((uint32_t)0x24) +#define A2_FLAGS ((uint32_t)0x28) +#define A2_MASK ((uint32_t)0x2C) // Modulo values for x and y (M.y and M.x) +#define A2_PIXEL ((uint32_t)0x30) // Integer part of the pixel (no fractional part for A2) +#define A2_STEP ((uint32_t)0x34) // Integer part of the step (no fractional part for A2) +#define COMMAND ((uint32_t)0x38) +#define PIXLINECOUNTER ((uint32_t)0x3C) // Inner & outer loop values +#define SRCDATA ((uint32_t)0x40) +#define DSTDATA ((uint32_t)0x48) +#define DSTZ ((uint32_t)0x50) +#define SRCZINT ((uint32_t)0x58) +#define SRCZFRAC ((uint32_t)0x60) +#define PATTERNDATA ((uint32_t)0x68) +#define INTENSITYINC ((uint32_t)0x70) +#define ZINC ((uint32_t)0x74) +#define COLLISIONCTRL ((uint32_t)0x78) +#define PHRASEINT0 ((uint32_t)0x7C) +#define PHRASEINT1 ((uint32_t)0x80) +#define PHRASEINT2 ((uint32_t)0x84) +#define PHRASEINT3 ((uint32_t)0x88) +#define PHRASEZ0 ((uint32_t)0x8C) +#define PHRASEZ1 ((uint32_t)0x90) +#define PHRASEZ2 ((uint32_t)0x94) +#define PHRASEZ3 ((uint32_t)0x98) // Blitter command bits @@ -160,34 +160,34 @@ void BlitterMidsummer2(void); //Put 'em back, once we fix the problem!!! [KO] // 1 bpp pixel read #define PIXEL_SHIFT_1(a) (((~a##_x) >> 16) & 7) -#define PIXEL_OFFSET_1(a) (((((uint32)a##_y >> 16) * a##_width / 8) + (((uint32)a##_x >> 19) & ~7)) * (1 + a##_pitch) + (((uint32)a##_x >> 19) & 7)) +#define PIXEL_OFFSET_1(a) (((((uint32_t)a##_y >> 16) * a##_width / 8) + (((uint32_t)a##_x >> 19) & ~7)) * (1 + a##_pitch) + (((uint32_t)a##_x >> 19) & 7)) #define READ_PIXEL_1(a) ((JaguarReadByte(a##_addr+PIXEL_OFFSET_1(a), BLITTER) >> PIXEL_SHIFT_1(a)) & 0x01) //#define READ_PIXEL_1(a) ((JaguarReadByte(a##_addr+PIXEL_OFFSET_1(a)) >> PIXEL_SHIFT_1(a)) & 0x01) // 2 bpp pixel read #define PIXEL_SHIFT_2(a) (((~a##_x) >> 15) & 6) -#define PIXEL_OFFSET_2(a) (((((uint32)a##_y >> 16) * a##_width / 4) + (((uint32)a##_x >> 18) & ~7)) * (1 + a##_pitch) + (((uint32)a##_x >> 18) & 7)) +#define PIXEL_OFFSET_2(a) (((((uint32_t)a##_y >> 16) * a##_width / 4) + (((uint32_t)a##_x >> 18) & ~7)) * (1 + a##_pitch) + (((uint32_t)a##_x >> 18) & 7)) #define READ_PIXEL_2(a) ((JaguarReadByte(a##_addr+PIXEL_OFFSET_2(a), BLITTER) >> PIXEL_SHIFT_2(a)) & 0x03) //#define READ_PIXEL_2(a) ((JaguarReadByte(a##_addr+PIXEL_OFFSET_2(a)) >> PIXEL_SHIFT_2(a)) & 0x03) // 4 bpp pixel read #define PIXEL_SHIFT_4(a) (((~a##_x) >> 14) & 4) -#define PIXEL_OFFSET_4(a) (((((uint32)a##_y >> 16) * (a##_width/2)) + (((uint32)a##_x >> 17) & ~7)) * (1 + a##_pitch) + (((uint32)a##_x >> 17) & 7)) +#define PIXEL_OFFSET_4(a) (((((uint32_t)a##_y >> 16) * (a##_width/2)) + (((uint32_t)a##_x >> 17) & ~7)) * (1 + a##_pitch) + (((uint32_t)a##_x >> 17) & 7)) #define READ_PIXEL_4(a) ((JaguarReadByte(a##_addr+PIXEL_OFFSET_4(a), BLITTER) >> PIXEL_SHIFT_4(a)) & 0x0f) //#define READ_PIXEL_4(a) ((JaguarReadByte(a##_addr+PIXEL_OFFSET_4(a)) >> PIXEL_SHIFT_4(a)) & 0x0f) // 8 bpp pixel read -#define PIXEL_OFFSET_8(a) (((((uint32)a##_y >> 16) * a##_width) + (((uint32)a##_x >> 16) & ~7)) * (1 + a##_pitch) + (((uint32)a##_x >> 16) & 7)) +#define PIXEL_OFFSET_8(a) (((((uint32_t)a##_y >> 16) * a##_width) + (((uint32_t)a##_x >> 16) & ~7)) * (1 + a##_pitch) + (((uint32_t)a##_x >> 16) & 7)) #define READ_PIXEL_8(a) (JaguarReadByte(a##_addr+PIXEL_OFFSET_8(a), BLITTER)) //#define READ_PIXEL_8(a) (JaguarReadByte(a##_addr+PIXEL_OFFSET_8(a))) // 16 bpp pixel read -#define PIXEL_OFFSET_16(a) (((((uint32)a##_y >> 16) * a##_width) + (((uint32)a##_x >> 16) & ~3)) * (1 + a##_pitch) + (((uint32)a##_x >> 16) & 3)) +#define PIXEL_OFFSET_16(a) (((((uint32_t)a##_y >> 16) * a##_width) + (((uint32_t)a##_x >> 16) & ~3)) * (1 + a##_pitch) + (((uint32_t)a##_x >> 16) & 3)) #define READ_PIXEL_16(a) (JaguarReadWord(a##_addr+(PIXEL_OFFSET_16(a)<<1), BLITTER)) //#define READ_PIXEL_16(a) (JaguarReadWord(a##_addr+(PIXEL_OFFSET_16(a)<<1))) // 32 bpp pixel read -#define PIXEL_OFFSET_32(a) (((((uint32)a##_y >> 16) * a##_width) + (((uint32)a##_x >> 16) & ~1)) * (1 + a##_pitch) + (((uint32)a##_x >> 16) & 1)) +#define PIXEL_OFFSET_32(a) (((((uint32_t)a##_y >> 16) * a##_width) + (((uint32_t)a##_x >> 16) & ~1)) * (1 + a##_pitch) + (((uint32_t)a##_x >> 16) & 1)) #define READ_PIXEL_32(a) (JaguarReadLong(a##_addr+(PIXEL_OFFSET_32(a)<<2), BLITTER)) //#define READ_PIXEL_32(a) (JaguarReadLong(a##_addr+(PIXEL_OFFSET_32(a)<<2))) @@ -216,22 +216,22 @@ void BlitterMidsummer2(void); #define WRITE_ZDATA(a,f,d) WRITE_ZDATA_16(a,d); // 1 bpp r data read -#define READ_RDATA_1(r,a,p) ((p) ? ((REG(r+(((uint32)a##_x >> 19) & 0x04))) >> (((uint32)a##_x >> 16) & 0x1F)) & 0x0001 : (REG(r) & 0x0001)) +#define READ_RDATA_1(r,a,p) ((p) ? ((REG(r+(((uint32_t)a##_x >> 19) & 0x04))) >> (((uint32_t)a##_x >> 16) & 0x1F)) & 0x0001 : (REG(r) & 0x0001)) // 2 bpp r data read -#define READ_RDATA_2(r,a,p) ((p) ? ((REG(r+(((uint32)a##_x >> 18) & 0x04))) >> (((uint32)a##_x >> 15) & 0x3E)) & 0x0003 : (REG(r) & 0x0003)) +#define READ_RDATA_2(r,a,p) ((p) ? ((REG(r+(((uint32_t)a##_x >> 18) & 0x04))) >> (((uint32_t)a##_x >> 15) & 0x3E)) & 0x0003 : (REG(r) & 0x0003)) // 4 bpp r data read -#define READ_RDATA_4(r,a,p) ((p) ? ((REG(r+(((uint32)a##_x >> 17) & 0x04))) >> (((uint32)a##_x >> 14) & 0x28)) & 0x000F : (REG(r) & 0x000F)) +#define READ_RDATA_4(r,a,p) ((p) ? ((REG(r+(((uint32_t)a##_x >> 17) & 0x04))) >> (((uint32_t)a##_x >> 14) & 0x28)) & 0x000F : (REG(r) & 0x000F)) // 8 bpp r data read -#define READ_RDATA_8(r,a,p) ((p) ? ((REG(r+(((uint32)a##_x >> 16) & 0x04))) >> (((uint32)a##_x >> 13) & 0x18)) & 0x00FF : (REG(r) & 0x00FF)) +#define READ_RDATA_8(r,a,p) ((p) ? ((REG(r+(((uint32_t)a##_x >> 16) & 0x04))) >> (((uint32_t)a##_x >> 13) & 0x18)) & 0x00FF : (REG(r) & 0x00FF)) // 16 bpp r data read -#define READ_RDATA_16(r,a,p) ((p) ? ((REG(r+(((uint32)a##_x >> 15) & 0x04))) >> (((uint32)a##_x >> 12) & 0x10)) & 0xFFFF : (REG(r) & 0xFFFF)) +#define READ_RDATA_16(r,a,p) ((p) ? ((REG(r+(((uint32_t)a##_x >> 15) & 0x04))) >> (((uint32_t)a##_x >> 12) & 0x10)) & 0xFFFF : (REG(r) & 0xFFFF)) // 32 bpp r data read -#define READ_RDATA_32(r,a,p) ((p) ? REG(r+(((uint32)a##_x >> 14) & 0x04)) : REG(r)) +#define READ_RDATA_32(r,a,p) ((p) ? REG(r+(((uint32_t)a##_x >> 14) & 0x04)) : REG(r)) // register data read #define READ_RDATA(r,a,f,p) (\ @@ -285,7 +285,7 @@ void BlitterMidsummer2(void); // as a floating point bit pattern being followed by a number of zeroes. So, e.g., 001101 translates to // 1.01 (the "1." being implied) x (2 ^ 3) or 1010 -> 10 in base 10 (i.e., 1.01 with the decimal place // being shifted to the right 3 places). -/*static uint32 blitter_scanline_width[48] = +/*static uint32_t blitter_scanline_width[48] = { 0, 0, 0, 0, // Note: This would really translate to 1, 1, 1, 1 2, 0, 0, 0, @@ -301,62 +301,62 @@ void BlitterMidsummer2(void); 2048, 2560, 3072, 3584 };//*/ -//static uint8 * tom_ram_8; -//static uint8 * paletteRam; -static uint8 src; -static uint8 dst; -static uint8 misc; -static uint8 a1ctl; -static uint8 mode; -static uint8 ity; -static uint8 zop; -static uint8 op; -static uint8 ctrl; -static uint32 a1_addr; -static uint32 a2_addr; -static int32 a1_zoffs; -static int32 a2_zoffs; -static uint32 xadd_a1_control; -static uint32 xadd_a2_control; -static int32 a1_pitch; -static int32 a2_pitch; -static uint32 n_pixels; -static uint32 n_lines; -static int32 a1_x; -static int32 a1_y; -static int32 a1_width; -static int32 a2_x; -static int32 a2_y; -static int32 a2_width; -static int32 a2_mask_x; -static int32 a2_mask_y; -static int32 a1_xadd; -static int32 a1_yadd; -static int32 a2_xadd; -static int32 a2_yadd; -static uint8 a1_phrase_mode; -static uint8 a2_phrase_mode; -static int32 a1_step_x = 0; -static int32 a1_step_y = 0; -static int32 a2_step_x = 0; -static int32 a2_step_y = 0; -static uint32 outer_loop; -static uint32 inner_loop; -static uint32 a2_psize; -static uint32 a1_psize; -static uint32 gouraud_add; -//static uint32 gouraud_data; -//static uint16 gint[4]; -//static uint16 gfrac[4]; -//static uint8 gcolour[4]; +//static uint8_t * tom_ram_8; +//static uint8_t * paletteRam; +static uint8_t src; +static uint8_t dst; +static uint8_t misc; +static uint8_t a1ctl; +static uint8_t mode; +static uint8_t ity; +static uint8_t zop; +static uint8_t op; +static uint8_t ctrl; +static uint32_t a1_addr; +static uint32_t a2_addr; +static int32_t a1_zoffs; +static int32_t a2_zoffs; +static uint32_t xadd_a1_control; +static uint32_t xadd_a2_control; +static int32_t a1_pitch; +static int32_t a2_pitch; +static uint32_t n_pixels; +static uint32_t n_lines; +static int32_t a1_x; +static int32_t a1_y; +static int32_t a1_width; +static int32_t a2_x; +static int32_t a2_y; +static int32_t a2_width; +static int32_t a2_mask_x; +static int32_t a2_mask_y; +static int32_t a1_xadd; +static int32_t a1_yadd; +static int32_t a2_xadd; +static int32_t a2_yadd; +static uint8_t a1_phrase_mode; +static uint8_t a2_phrase_mode; +static int32_t a1_step_x = 0; +static int32_t a1_step_y = 0; +static int32_t a2_step_x = 0; +static int32_t a2_step_y = 0; +static uint32_t outer_loop; +static uint32_t inner_loop; +static uint32_t a2_psize; +static uint32_t a1_psize; +static uint32_t gouraud_add; +//static uint32_t gouraud_data; +//static uint16_t gint[4]; +//static uint16_t gfrac[4]; +//static uint8_t gcolour[4]; static int gd_i[4]; static int gd_c[4]; static int gd_ia, gd_ca; static int colour_index = 0; -static int32 zadd; -static uint32 z_i[4]; +static int32_t zadd; +static uint32_t z_i[4]; -static int32 a1_clip_x, a1_clip_y; +static int32_t a1_clip_x, a1_clip_y; // In the spirit of "get it right first, *then* optimize" I've taken the liberty // of removing all the unnecessary code caching. If it turns out to be a good way @@ -365,7 +365,7 @@ static int32 a1_clip_x, a1_clip_y; // // Generic blit handler // -void blitter_generic(uint32 cmd) +void blitter_generic(uint32_t cmd) { /* Blit! (0018FA70 <- 008DDC40) count: 2 x 13, A1/2_FLAGS: 00014218/00013C18 [cmd: 1401060C] @@ -381,9 +381,9 @@ Blit! (0018FA70 <- 008DDC40) count: 2 x 13, A1/2_FLAGS: 00014218/00013C18 [cmd: /*if (cmd == 0x1401060C && blit_start_log) specialLog = true;//*/ //Testing only! -//uint32 logGo = ((cmd == 0x01800E01 && REG(A1_BASE) == 0x898000) ? 1 : 0); - uint32 srcdata, srczdata, dstdata, dstzdata, writedata, inhibit; - uint32 bppSrc = (DSTA2 ? 1 << ((REG(A1_FLAGS) >> 3) & 0x07) : 1 << ((REG(A2_FLAGS) >> 3) & 0x07)); +//uint32_t logGo = ((cmd == 0x01800E01 && REG(A1_BASE) == 0x898000) ? 1 : 0); + uint32_t srcdata, srczdata, dstdata, dstzdata, writedata, inhibit; + uint32_t bppSrc = (DSTA2 ? 1 << ((REG(A1_FLAGS) >> 3) & 0x07) : 1 << ((REG(A2_FLAGS) >> 3) & 0x07)); if (specialLog) { @@ -404,7 +404,7 @@ if (specialLog) { WriteLog(" A1_X/Y = %08X/%08X, A2_X/Y = %08X/%08X\n", a1_x, a1_y, a2_x, a2_y); } - uint32 a1_start = a1_x, a2_start = a2_x, bitPos = 0; + uint32_t a1_start = a1_x, a2_start = a2_x, bitPos = 0; //Kludge for Hover Strike... //I wonder if this kludge is in conjunction with the SRCENX down below... @@ -497,7 +497,7 @@ if (specialLog) //and *then* we can do the bit stepping from there the way it's *supposed* to be done... !!! FIX !!! //[DONE] { - uint32 pixShift = (~bitPos) & (bppSrc - 1); + uint32_t pixShift = (~bitPos) & (bppSrc - 1); srcdata = (srcdata >> pixShift) & 0x01; bitPos++; @@ -578,7 +578,7 @@ Blit! (000B8250 <- 0012C3A0) count: 16 x 1, A1/2_FLAGS: 00014420/00012000 [cmd: /* if (srcdata == READ_RDATA(PATTERNDATA, a2, REG(A2_FLAGS), a2_phrase_mode)) // if (srcdata != READ_RDATA(PATTERNDATA, a2, REG(A2_FLAGS), a2_phrase_mode)) inhibit = 1;//*/ -/* uint32 A2bpp = 1 << ((REG(A2_FLAGS) >> 3) & 0x07); +/* uint32_t A2bpp = 1 << ((REG(A2_FLAGS) >> 3) & 0x07); if (A2bpp == 1 || A2bpp == 16 || A2bpp == 8) inhibit = (srcdata == 0 ? 1: 0); // inhibit = !srcdata; @@ -659,16 +659,16 @@ Blit! (00098D90 <- 0081DDC0) count: 320 x 287, A1/2_FLAGS: 00004220/00004020 [cm if (!TOPBEN) { //This is correct now, but slow... - int16 s = (srcdata & 0xFF) | (srcdata & 0x80 ? 0xFF00 : 0x0000), + int16_t s = (srcdata & 0xFF) | (srcdata & 0x80 ? 0xFF00 : 0x0000), d = dstdata & 0xFF; - int16 sum = s + d; + int16_t sum = s + d; if (sum < 0) writedata = 0x00; else if (sum > 0xFF) writedata = 0xFF; else - writedata = (uint32)sum; + writedata = (uint32_t)sum; } //This doesn't seem right... Looks like it would muck up the low byte... !!! FIX !!! @@ -722,8 +722,8 @@ Blit! (00098D90 <- 0081DDC0) count: 320 x 287, A1/2_FLAGS: 00004220/00004020 [cm { /*if (((REG(A1_FLAGS) >> 3) & 0x07) == 5) { - uint32 offset = a1_addr+(PIXEL_OFFSET_32(a1)<<2); -// (((((uint32)a##_y >> 16) * a##_width) + (((uint32)a##_x >> 16) & ~1)) * (1 + a##_pitch) + (((uint32)a##_x >> 16) & 1)) + uint32_t offset = a1_addr+(PIXEL_OFFSET_32(a1)<<2); +// (((((uint32_t)a##_y >> 16) * a##_width) + (((uint32_t)a##_x >> 16) & ~1)) * (1 + a##_pitch) + (((uint32_t)a##_x >> 16) & 1)) if ((offset >= 0x1FF020 && offset <= 0x1FF03F) || (offset >= 0x1FF820 && offset <= 0x1FF83F)) WriteLog("32bpp pixel write: A1 Phrase mode --> "); }//*/ @@ -792,7 +792,7 @@ Blit! (00098D90 <- 0081DDC0) count: 320 x 287, A1/2_FLAGS: 00004220/00004020 [cm // AvP: This is causing blocks to be written instead of bit patterns... // Works now... // NOTE: We really should separate out the BCOMPEN & DCOMPEN stuff! -/* uint32 A1bpp = 1 << ((REG(A1_FLAGS) >> 3) & 0x07); +/* uint32_t A1bpp = 1 << ((REG(A1_FLAGS) >> 3) & 0x07); if (A1bpp == 1 || A1bpp == 16 || A1bpp == 8) inhibit = (srcdata == 0 ? 1: 0); else @@ -878,8 +878,8 @@ Blit! (00098D90 <- 0081DDC0) count: 320 x 287, A1/2_FLAGS: 00004220/00004020 [cm { /*if (logGo) { - uint32 offset = a2_addr+(PIXEL_OFFSET_16(a2)<<1); -// (((((uint32)a##_y >> 16) * a##_width) + (((uint32)a##_x >> 16) & ~1)) * (1 + a##_pitch) + (((uint32)a##_x >> 16) & 1)) + uint32_t offset = a2_addr+(PIXEL_OFFSET_16(a2)<<1); +// (((((uint32_t)a##_y >> 16) * a##_width) + (((uint32_t)a##_x >> 16) & ~1)) * (1 + a##_pitch) + (((uint32_t)a##_x >> 16) & 1)) WriteLog("[%08X:%04X] ", offset, writedata); }//*/ // write to the destination @@ -923,13 +923,13 @@ Blit! (00098D90 <- 0081DDC0) count: 320 x 287, A1/2_FLAGS: 00004220/00004020 [cm gd_i[colour_index] += gd_ia; //Hmm, this doesn't seem to do anything... //But it is correct according to the JTRM...! -if ((int32)gd_i[colour_index] < 0) +if ((int32_t)gd_i[colour_index] < 0) gd_i[colour_index] = 0; if (gd_i[colour_index] > 0x00FFFFFF) gd_i[colour_index] = 0x00FFFFFF;//*/ gd_c[colour_index] += gd_ca; -if ((int32)gd_c[colour_index] < 0) +if ((int32_t)gd_c[colour_index] < 0) gd_c[colour_index] = 0; if (gd_c[colour_index] > 0x000000FF) gd_c[colour_index] = 0x000000FF;//*/ @@ -989,17 +989,17 @@ Lesse, with pre-add we'd have: { // Bump the pointer to the next phrase boundary // Even though it works, this is crappy... Clean it up! - uint32 size = 64 / a1_psize; + uint32_t size = 64 / a1_psize; // Crappy kludge... ('aligning' source to destination) if (a2_phrase_mode && DSTA2) { - uint32 extra = (a2_start >> 16) % size; + uint32_t extra = (a2_start >> 16) % size; a1_x += extra << 16; } - uint32 newx = (a1_x >> 16) / size; - uint32 newxrem = (a1_x >> 16) % size; + uint32_t newx = (a1_x >> 16) / size; + uint32_t newxrem = (a1_x >> 16) % size; a1_x &= 0x0000FFFF; a1_x |= (((newx + (newxrem == 0 ? 0 : 1)) * size) & 0xFFFF) << 16; }//*/ @@ -1007,16 +1007,16 @@ Lesse, with pre-add we'd have: { // Bump the pointer to the next phrase boundary // Even though it works, this is crappy... Clean it up! - uint32 size = 64 / a1_psize; + uint32_t size = 64 / a1_psize; // Crappy kludge... ('aligning' source to destination) if (a2_phrase_mode && DSTA2) { - uint32 extra = (a2_start >> 16) % size; + uint32_t extra = (a2_start >> 16) % size; a1_x += extra << 16; } - uint32 pixelSize = (size - 1) << 16; + uint32_t pixelSize = (size - 1) << 16; a1_x = (a1_x + pixelSize) & ~pixelSize; } @@ -1024,18 +1024,18 @@ Lesse, with pre-add we'd have: { // Bump the pointer to the next phrase boundary // Even though it works, this is crappy... Clean it up! - uint32 size = 64 / a2_psize; + uint32_t size = 64 / a2_psize; // Crappy kludge... ('aligning' source to destination) // Prolly should do this for A1 channel as well... [DONE] if (a1_phrase_mode && !DSTA2) { - uint32 extra = (a1_start >> 16) % size; + uint32_t extra = (a1_start >> 16) % size; a2_x += extra << 16; } - uint32 newx = (a2_x >> 16) / size; - uint32 newxrem = (a2_x >> 16) % size; + uint32_t newx = (a2_x >> 16) / size; + uint32_t newxrem = (a2_x >> 16) % size; a2_x &= 0x0000FFFF; a2_x |= (((newx + (newxrem == 0 ? 0 : 1)) * size) & 0xFFFF) << 16; }//*/ @@ -1043,17 +1043,17 @@ Lesse, with pre-add we'd have: { // Bump the pointer to the next phrase boundary // Even though it works, this is crappy... Clean it up! - uint32 size = 64 / a2_psize; + uint32_t size = 64 / a2_psize; // Crappy kludge... ('aligning' source to destination) // Prolly should do this for A1 channel as well... [DONE] if (a1_phrase_mode && !DSTA2) { - uint32 extra = (a1_start >> 16) % size; + uint32_t extra = (a1_start >> 16) % size; a2_x += extra << 16; } - uint32 pixelSize = (size - 1) << 16; + uint32_t pixelSize = (size - 1) << 16; a2_x = (a2_x + pixelSize) & ~pixelSize; } @@ -1074,7 +1074,7 @@ Lesse, with pre-add we'd have: specialLog = false; } -void blitter_blit(uint32 cmd) +void blitter_blit(uint32_t cmd) { //Apparently this is doing *something*, just not sure exactly what... /*if (cmd == 0x41802E01) @@ -1084,7 +1084,7 @@ void blitter_blit(uint32 cmd) WriteLog("Is: %08X\n", cmd); }//*/ - uint32 pitchValue[4] = { 0, 1, 3, 2 }; + uint32_t pitchValue[4] = { 0, 1, 3, 2 }; colour_index = 0; src = cmd & 0x07; dst = (cmd >> 3) & 0x07; @@ -1125,7 +1125,7 @@ void blitter_blit(uint32 cmd) // a1_width = blitter_scanline_width[((REG(A1_FLAGS) & 0x00007E00) >> 9)]; // According to JTRM, this must give a *whole number* of phrases in the current // pixel size (this means the lookup above is WRONG)... !!! FIX !!! - uint32 m = (REG(A1_FLAGS) >> 9) & 0x03, e = (REG(A1_FLAGS) >> 11) & 0x0F; + uint32_t m = (REG(A1_FLAGS) >> 9) & 0x03, e = (REG(A1_FLAGS) >> 11) & 0x0F; a1_width = ((0x04 | m) << e) >> 2;//*/ a2_x = (REG(A2_PIXEL) & 0x0000FFFF) << 16; @@ -1188,7 +1188,7 @@ void blitter_blit(uint32 cmd) // A1 -> pitch: 1 phrases, depth: 16bpp, z-off: 0, width: 128 (1C), addctl: XADDINC YADD1 XSIGNADD YSIGNADD // A2 -> pitch: 1 phrases, depth: 16bpp, z-off: 0, width: 320 (21), addctl: XADD0 YADD1 XSIGNADD YSIGNADD //if (YADD1_A1 && YADD1_A2 && xadd_a2_control == XADD0 && xadd_a1_control == XADDINC)// && -// uint32 a1f = REG(A1_FLAGS), a2f = REG(A2_FLAGS); +// uint32_t a1f = REG(A1_FLAGS), a2f = REG(A2_FLAGS); //Ok, so this ISN'T it... Prolly the XADDPHR code above that's doing it... //if (REG(A1_FLAGS) == 0x00073820 && REG(A2_FLAGS) == 0x00064220 && cmd == 0x41802801) // A1 x/y: 14368/7, A2 x/y: 150/36 @@ -1278,20 +1278,20 @@ WriteLog("BLIT: Asked to use invalid bit combo (XADDINC) for A2...\n"); if (GOURD || GOURZ || SRCSHADE) { gd_c[0] = blitter_ram[PATTERNDATA + 6]; - gd_i[0] = ((uint32)blitter_ram[PATTERNDATA + 7] << 16) - | ((uint32)blitter_ram[SRCDATA + 6] << 8) | blitter_ram[SRCDATA + 7]; + gd_i[0] = ((uint32_t)blitter_ram[PATTERNDATA + 7] << 16) + | ((uint32_t)blitter_ram[SRCDATA + 6] << 8) | blitter_ram[SRCDATA + 7]; gd_c[1] = blitter_ram[PATTERNDATA + 4]; - gd_i[1] = ((uint32)blitter_ram[PATTERNDATA + 5] << 16) - | ((uint32)blitter_ram[SRCDATA + 4] << 8) | blitter_ram[SRCDATA + 5]; + gd_i[1] = ((uint32_t)blitter_ram[PATTERNDATA + 5] << 16) + | ((uint32_t)blitter_ram[SRCDATA + 4] << 8) | blitter_ram[SRCDATA + 5]; gd_c[2] = blitter_ram[PATTERNDATA + 2]; - gd_i[2] = ((uint32)blitter_ram[PATTERNDATA + 3] << 16) - | ((uint32)blitter_ram[SRCDATA + 2] << 8) | blitter_ram[SRCDATA + 3]; + gd_i[2] = ((uint32_t)blitter_ram[PATTERNDATA + 3] << 16) + | ((uint32_t)blitter_ram[SRCDATA + 2] << 8) | blitter_ram[SRCDATA + 3]; gd_c[3] = blitter_ram[PATTERNDATA + 0]; - gd_i[3] = ((uint32)blitter_ram[PATTERNDATA + 1] << 16) - | ((uint32)blitter_ram[SRCDATA + 0] << 8) | blitter_ram[SRCDATA + 1]; + gd_i[3] = ((uint32_t)blitter_ram[PATTERNDATA + 1] << 16) + | ((uint32_t)blitter_ram[SRCDATA + 0] << 8) | blitter_ram[SRCDATA + 1]; gouraud_add = REG(INTENSITYINC); @@ -1473,17 +1473,17 @@ if (blit_start_log) char * bppStr[8] = { "1bpp\0", "2bpp\0", "4bpp\0", "8bpp\0", "16bpp\0", "32bpp\0", "???\0", "!!!\0" }; char * opStr[16] = { "LFU_CLEAR", "LFU_NSAND", "LFU_NSAD", "LFU_NOTS", "LFU_SAND", "LFU_NOTD", "LFU_N_SXORD", "LFU_NSORND", "LFU_SAD", "LFU_XOR", "LFU_D", "LFU_NSORD", "LFU_REPLACE", "LFU_SORND", "LFU_SORD", "LFU_ONE" }; - uint32 /*src = cmd & 0x07, dst = (cmd >> 3) & 0x07, misc = (cmd >> 6) & 0x03, + uint32_t /*src = cmd & 0x07, dst = (cmd >> 3) & 0x07, misc = (cmd >> 6) & 0x03, a1ctl = (cmd >> 8) & 0x07,*/ mode = (cmd >> 11) & 0x07/*, ity = (cmd >> 14) & 0x0F, zop = (cmd >> 18) & 0x07, op = (cmd >> 21) & 0x0F, ctrl = (cmd >> 25) & 0x3F*/; - uint32 a1f = REG(A1_FLAGS), a2f = REG(A2_FLAGS); - uint32 p1 = a1f & 0x07, p2 = a2f & 0x07, + uint32_t a1f = REG(A1_FLAGS), a2f = REG(A2_FLAGS); + uint32_t p1 = a1f & 0x07, p2 = a2f & 0x07, d1 = (a1f >> 3) & 0x07, d2 = (a2f >> 3) & 0x07, zo1 = (a1f >> 6) & 0x07, zo2 = (a2f >> 6) & 0x07, w1 = (a1f >> 9) & 0x3F, w2 = (a2f >> 9) & 0x3F, ac1 = (a1f >> 16) & 0x1F, ac2 = (a2f >> 16) & 0x1F; - uint32 iw1 = ((0x04 | (w1 & 0x03)) << ((w1 & 0x3C) >> 2)) >> 2; - uint32 iw2 = ((0x04 | (w2 & 0x03)) << ((w2 & 0x3C) >> 2)) >> 2; + uint32_t iw1 = ((0x04 | (w1 & 0x03)) << ((w1 & 0x3C) >> 2)) >> 2; + uint32_t iw2 = ((0x04 | (w2 & 0x03)) << ((w2 & 0x3C) >> 2)) >> 2; WriteLog("Blit! (%08X %s %08X) count: %d x %d, A1/2_FLAGS: %08X/%08X [cmd: %08X]\n", a1_addr, (mode&0x01 ? "->" : "<-"), a2_addr, n_pixels, n_lines, a1f, a2f, cmd); // WriteLog(" CMD -> src: %d, dst: %d, misc: %d, a1ctl: %d, mode: %d, ity: %1X, z-op: %d, op: %1X, ctrl: %02X\n", src, dst, misc, a1ctl, mode, ity, zop, op, ctrl); @@ -1552,7 +1552,7 @@ void BlitterDone(void) WriteLog("BLIT: Done.\n"); } -uint8 BlitterReadByte(uint32 offset, uint32 who/*=UNKNOWN*/) +uint8_t BlitterReadByte(uint32_t offset, uint32_t who/*=UNKNOWN*/) { offset &= 0xFF; @@ -1583,18 +1583,18 @@ uint8 BlitterReadByte(uint32 offset, uint32 who/*=UNKNOWN*/) } //Crappy! -uint16 BlitterReadWord(uint32 offset, uint32 who/*=UNKNOWN*/) +uint16_t BlitterReadWord(uint32_t offset, uint32_t who/*=UNKNOWN*/) { - return ((uint16)BlitterReadByte(offset, who) << 8) | (uint16)BlitterReadByte(offset+1, who); + return ((uint16_t)BlitterReadByte(offset, who) << 8) | (uint16_t)BlitterReadByte(offset+1, who); } //Crappy! -uint32 BlitterReadLong(uint32 offset, uint32 who/*=UNKNOWN*/) +uint32_t BlitterReadLong(uint32_t offset, uint32_t who/*=UNKNOWN*/) { return (BlitterReadWord(offset, who) << 16) | BlitterReadWord(offset+2, who); } -void BlitterWriteByte(uint32 offset, uint8 data, uint32 who/*=UNKNOWN*/) +void BlitterWriteByte(uint32_t offset, uint8_t data, uint32_t who/*=UNKNOWN*/) { /*if (offset & 0xFF == 0x7B) WriteLog("--> Wrote to B_STOP: value -> %02X\n", data);*/ @@ -1680,7 +1680,7 @@ void BlitterWriteByte(uint32 offset, uint8 data, uint32 who/*=UNKNOWN*/) blitter_ram[offset] = data; } -void BlitterWriteWord(uint32 offset, uint16 data, uint32 who/*=UNKNOWN*/) +void BlitterWriteWord(uint32_t offset, uint16_t data, uint32_t who/*=UNKNOWN*/) { /*if (((offset & 0xFF) >= PATTERNDATA) && ((offset & 0xFF) < PATTERNDATA + 8)) { @@ -1727,7 +1727,7 @@ if (blit_start_log) } //F02278,9,A,B -void BlitterWriteLong(uint32 offset, uint32 data, uint32 who/*=UNKNOWN*/) +void BlitterWriteLong(uint32_t offset, uint32_t data, uint32_t who/*=UNKNOWN*/) { /*if (((offset & 0xFF) >= PATTERNDATA) && ((offset & 0xFF) < PATTERNDATA + 8)) { @@ -1751,11 +1751,11 @@ void LogBlit(void) { const char * opStr[16] = { "LFU_CLEAR", "LFU_NSAND", "LFU_NSAD", "LFU_NOTS", "LFU_SAND", "LFU_NOTD", "LFU_N_SXORD", "LFU_NSORND", "LFU_SAD", "LFU_XOR", "LFU_D", "LFU_NSORD", "LFU_REPLACE", "LFU_SORND", "LFU_SORD", "LFU_ONE" }; - uint32 cmd = GET32(blitter_ram, 0x38); - uint32 m = (REG(A1_FLAGS) >> 9) & 0x03, e = (REG(A1_FLAGS) >> 11) & 0x0F; - uint32 a1_width = ((0x04 | m) << e) >> 2; + uint32_t cmd = GET32(blitter_ram, 0x38); + uint32_t m = (REG(A1_FLAGS) >> 9) & 0x03, e = (REG(A1_FLAGS) >> 11) & 0x0F; + uint32_t a1_width = ((0x04 | m) << e) >> 2; m = (REG(A2_FLAGS) >> 9) & 0x03, e = (REG(A2_FLAGS) >> 11) & 0x0F; - uint32 a2_width = ((0x04 | m) << e) >> 2; + uint32_t a2_width = ((0x04 | m) << e) >> 2; WriteLog("Blit!\n"); WriteLog(" COMMAND = %08X\n", cmd); @@ -1784,11 +1784,11 @@ void LogBlit(void) REG(A1_FLAGS) & 0x00003, (REG(A1_FLAGS) & 0x00038) >> 3, (REG(A1_FLAGS) & 0x001C0) >> 6, a1_width, (REG(A1_FLAGS) & 0x30000) >> 16); WriteLog(" a1_clip = %u, %u (%08X)\n", GET16(blitter_ram, A1_CLIP + 2), GET16(blitter_ram, A1_CLIP + 0), GET32(blitter_ram, A1_CLIP)); - WriteLog(" a1_pixel = %d, %d (%08X)\n", (int16)GET16(blitter_ram, A1_PIXEL + 2), (int16)GET16(blitter_ram, A1_PIXEL + 0), GET32(blitter_ram, A1_PIXEL)); - WriteLog(" a1_step = %d, %d (%08X)\n", (int16)GET16(blitter_ram, A1_STEP + 2), (int16)GET16(blitter_ram, A1_STEP + 0), GET32(blitter_ram, A1_STEP)); + WriteLog(" a1_pixel = %d, %d (%08X)\n", (int16_t)GET16(blitter_ram, A1_PIXEL + 2), (int16_t)GET16(blitter_ram, A1_PIXEL + 0), GET32(blitter_ram, A1_PIXEL)); + WriteLog(" a1_step = %d, %d (%08X)\n", (int16_t)GET16(blitter_ram, A1_STEP + 2), (int16_t)GET16(blitter_ram, A1_STEP + 0), GET32(blitter_ram, A1_STEP)); WriteLog(" a1_fstep = %u, %u (%08X)\n", GET16(blitter_ram, A1_FSTEP + 2), GET16(blitter_ram, A1_FSTEP + 0), GET32(blitter_ram, A1_FSTEP)); WriteLog(" a1_fpixel= %u, %u (%08X)\n", GET16(blitter_ram, A1_FPIXEL + 2), GET16(blitter_ram, A1_FPIXEL + 0), GET32(blitter_ram, A1_FPIXEL)); - WriteLog(" a1_inc = %d, %d (%08X)\n", (int16)GET16(blitter_ram, A1_INC + 2), (int16)GET16(blitter_ram, A1_INC + 0), GET32(blitter_ram, A1_INC)); + WriteLog(" a1_inc = %d, %d (%08X)\n", (int16_t)GET16(blitter_ram, A1_INC + 2), (int16_t)GET16(blitter_ram, A1_INC + 0), GET32(blitter_ram, A1_INC)); WriteLog(" a1_finc = %u, %u (%08X)\n", GET16(blitter_ram, A1_FINC + 2), GET16(blitter_ram, A1_FINC + 0), GET32(blitter_ram, A1_FINC)); WriteLog(" a2_base = %08X\n", REG(A2_BASE)); @@ -1817,8 +1817,8 @@ void LogBlit(void) REG(A2_FLAGS) & 0x00003, (REG(A2_FLAGS) & 0x00038) >> 3, (REG(A2_FLAGS) & 0x001C0) >> 6, a2_width, (REG(A2_FLAGS) & 0x30000) >> 16); WriteLog(" a2_mask = %u, %u (%08X)\n", GET16(blitter_ram, A2_MASK + 2), GET16(blitter_ram, A2_MASK + 0), GET32(blitter_ram, A2_MASK)); - WriteLog(" a2_pixel = %d, %d (%08X)\n", (int16)GET16(blitter_ram, A2_PIXEL + 2), (int16)GET16(blitter_ram, A2_PIXEL + 0), GET32(blitter_ram, A2_PIXEL)); - WriteLog(" a2_step = %d, %d (%08X)\n", (int16)GET16(blitter_ram, A2_STEP + 2), (int16)GET16(blitter_ram, A2_STEP + 0), GET32(blitter_ram, A2_STEP)); + WriteLog(" a2_pixel = %d, %d (%08X)\n", (int16_t)GET16(blitter_ram, A2_PIXEL + 2), (int16_t)GET16(blitter_ram, A2_PIXEL + 0), GET32(blitter_ram, A2_PIXEL)); + WriteLog(" a2_step = %d, %d (%08X)\n", (int16_t)GET16(blitter_ram, A2_STEP + 2), (int16_t)GET16(blitter_ram, A2_STEP + 0), GET32(blitter_ram, A2_STEP)); WriteLog(" count = %d x %d\n", GET16(blitter_ram, PIXLINECOUNTER + 2), GET16(blitter_ram, PIXLINECOUNTER)); @@ -1861,20 +1861,20 @@ void LogBlit(void) #define TXTEXT (false) #define POLYGON (false) -void BlitterMidsummer(uint32 cmd) +void BlitterMidsummer(uint32_t cmd) { #ifdef LOG_BLITS LogBlit(); #endif -uint32 outer_loop, inner_loop, a1_addr, a2_addr; -int32 a1_x, a1_y, a2_x, a2_y, a1_width, a2_width; -uint8 a1_phrase_mode, a2_phrase_mode; +uint32_t outer_loop, inner_loop, a1_addr, a2_addr; +int32_t a1_x, a1_y, a2_x, a2_y, a1_width, a2_width; +uint8_t a1_phrase_mode, a2_phrase_mode; a1_addr = REG(A1_BASE) & 0xFFFFFFF8; a2_addr = REG(A2_BASE) & 0xFFFFFFF8; a1_x = (REG(A1_PIXEL) << 16) | (REG(A1_FPIXEL) & 0xFFFF); a1_y = (REG(A1_PIXEL) & 0xFFFF0000) | (REG(A1_FPIXEL) >> 16); - uint32 m = (REG(A1_FLAGS) >> 9) & 0x03, e = (REG(A1_FLAGS) >> 11) & 0x0F; + uint32_t m = (REG(A1_FLAGS) >> 9) & 0x03, e = (REG(A1_FLAGS) >> 11) & 0x0F; a1_width = ((0x04 | m) << e) >> 2;//*/ a2_x = (REG(A2_PIXEL) & 0x0000FFFF) << 16; a2_y = (REG(A2_PIXEL) & 0xFFFF0000); @@ -1903,14 +1903,14 @@ if (cmd != 0x00010200 && cmd != 0x01800001 && cmd != 0x01800005 LogBlit(); }//*/ - uint64 srcData = GET64(blitter_ram, SRCDATA), srcXtraData, + uint64_t srcData = GET64(blitter_ram, SRCDATA), srcXtraData, dstData = GET64(blitter_ram, DSTDATA), writeData; - uint32 srcAddr, dstAddr; - uint8 bitCount, a1PixelSize, a2PixelSize; + uint32_t srcAddr, dstAddr; + uint8_t bitCount, a1PixelSize, a2PixelSize; // JTRM says phrase mode only works for 8BPP or higher, so let's try this... - uint32 phraseOffset[8] = { 8, 8, 8, 8, 4, 2, 0, 0 }; - uint8 pixelShift[8] = { 3, 2, 1, 0, 1, 2, 0, 0 }; + uint32_t phraseOffset[8] = { 8, 8, 8, 8, 4, 2, 0, 0 }; + uint8_t pixelShift[8] = { 3, 2, 1, 0, 1, 2, 0, 0 }; a1PixelSize = (blitter_ram[A1_FLAGS + 3] >> 3) & 0x07; a2PixelSize = (blitter_ram[A2_FLAGS + 3] >> 3) & 0x07; @@ -2077,10 +2077,10 @@ sread: // Source data read } else*/ { -// uint32 pixAddr = ((DSTA2 ? a1_x : a2_x) >> 16) +// uint32_t pixAddr = ((DSTA2 ? a1_x : a2_x) >> 16) // + (((DSTA2 ? a1_y : a2_y) >> 16) * (DSTA2 ? a1_width : a2_width)); - int32 pixAddr = (int16)((DSTA2 ? a1_x : a2_x) >> 16) - + ((int16)((DSTA2 ? a1_y : a2_y) >> 16) * (DSTA2 ? a1_width : a2_width)); + int32_t pixAddr = (int16_t)((DSTA2 ? a1_x : a2_x) >> 16) + + ((int16_t)((DSTA2 ? a1_y : a2_y) >> 16) * (DSTA2 ? a1_width : a2_width)); if ((DSTA2 ? a1PixelSize : a2PixelSize) < 3) pixAddr >>= pixelShift[(DSTA2 ? a1PixelSize : a2PixelSize)]; @@ -2094,8 +2094,8 @@ sread: // Source data read if ((DSTA2 ? a1_phrase_mode : a2_phrase_mode) == 1) { - srcData = ((uint64)JaguarReadLong(srcAddr, BLITTER) << 32) - | (uint64)JaguarReadLong(srcAddr + 4, BLITTER); + srcData = ((uint64_t)JaguarReadLong(srcAddr, BLITTER) << 32) + | (uint64_t)JaguarReadLong(srcAddr + 4, BLITTER); } else { @@ -2116,7 +2116,7 @@ sread: // Source data read #ifdef LOG_BLITTER_MEMORY_ACCESSES if (logBlit) - WriteLog("BLITTER: srcAddr=%08X, srcData=%08X %08X\n", srcAddr, (uint32)(srcData >> 32), (uint32)(srcData & 0xFFFFFFFF)); + WriteLog("BLITTER: srcAddr=%08X, srcData=%08X %08X\n", srcAddr, (uint32_t)(srcData >> 32), (uint32_t)(srcData & 0xFFFFFFFF)); #endif if (SRCENZ) @@ -2158,10 +2158,10 @@ if STEP dstAddr = (DSTA2 ? a2_addr : a1_addr); { -// uint32 pixAddr = ((DSTA2 ? a2_x : a1_x) >> 16) +// uint32_t pixAddr = ((DSTA2 ? a2_x : a1_x) >> 16) // + (((DSTA2 ? a2_y : a1_y) >> 16) * (DSTA2 ? a2_width : a1_width)); - int32 pixAddr = (int16)((DSTA2 ? a2_x : a1_x) >> 16) - + ((int16)((DSTA2 ? a2_y : a1_y) >> 16) * (DSTA2 ? a2_width : a1_width)); + int32_t pixAddr = (int16_t)((DSTA2 ? a2_x : a1_x) >> 16) + + ((int16_t)((DSTA2 ? a2_y : a1_y) >> 16) * (DSTA2 ? a2_width : a1_width)); if ((DSTA2 ? a2PixelSize : a1PixelSize) < 3) pixAddr >>= pixelShift[(DSTA2 ? a2PixelSize : a1PixelSize)]; @@ -2175,8 +2175,8 @@ if STEP if ((DSTA2 ? a2_phrase_mode : a1_phrase_mode) == 1) { - dstData = ((uint64)JaguarReadLong(srcAddr, BLITTER) << 32) - | (uint64)JaguarReadLong(srcAddr + 4, BLITTER); + dstData = ((uint64_t)JaguarReadLong(srcAddr, BLITTER) << 32) + | (uint64_t)JaguarReadLong(srcAddr + 4, BLITTER); } else { @@ -2197,7 +2197,7 @@ if STEP #ifdef LOG_BLITTER_MEMORY_ACCESSES if (logBlit) - WriteLog("BLITTER (dread): dstAddr=%08X, dstData=%08X %08X\n", dstAddr, (uint32)(dstData >> 32), (uint32)(dstData & 0xFFFFFFFF)); + WriteLog("BLITTER (dread): dstAddr=%08X, dstData=%08X %08X\n", dstAddr, (uint32_t)(dstData >> 32), (uint32_t)(dstData & 0xFFFFFFFF)); #endif if (DSTENZ) @@ -2266,7 +2266,7 @@ Blit! if (CLIPA1) { - uint16 x = a1_x >> 16, y = a1_y >> 16; + uint16_t x = a1_x >> 16, y = a1_y >> 16; if (x >= GET16(blitter_ram, A1_CLIP + 2) || y >= GET16(blitter_ram, A1_CLIP)) goto inhibitWrite; @@ -2322,10 +2322,10 @@ Blit! { /* dstAddr += ((DSTA2 ? a2_x : a1_x) >> 16) + (((DSTA2 ? a2_y : a1_y) >> 16) * (DSTA2 ? a2_width : a1_width));*/ -// uint32 pixAddr = ((DSTA2 ? a2_x : a1_x) >> 16) +// uint32_t pixAddr = ((DSTA2 ? a2_x : a1_x) >> 16) // + (((DSTA2 ? a2_y : a1_y) >> 16) * (DSTA2 ? a2_width : a1_width)); - int32 pixAddr = (int16)((DSTA2 ? a2_x : a1_x) >> 16) - + ((int16)((DSTA2 ? a2_y : a1_y) >> 16) * (DSTA2 ? a2_width : a1_width)); + int32_t pixAddr = (int16_t)((DSTA2 ? a2_x : a1_x) >> 16) + + ((int16_t)((DSTA2 ? a2_y : a1_y) >> 16) * (DSTA2 ? a2_width : a1_width)); if ((DSTA2 ? a2PixelSize : a1PixelSize) < 3) pixAddr >>= pixelShift[(DSTA2 ? a2PixelSize : a1PixelSize)]; @@ -2361,7 +2361,7 @@ Blit! #ifdef LOG_BLITTER_MEMORY_ACCESSES if (logBlit) - WriteLog("BLITTER: dstAddr=%08X, writeData=%08X %08X\n", dstAddr, (uint32)(writeData >> 32), (uint32)(writeData & 0xFFFFFFFF)); + WriteLog("BLITTER: dstAddr=%08X, writeData=%08X %08X\n", dstAddr, (uint32_t)(writeData >> 32), (uint32_t)(writeData & 0xFFFFFFFF)); #endif inhibitWrite://Should this go here? or on the other side of the X/Y incrementing? @@ -2503,18 +2503,18 @@ a1fupdate A1 step fraction is added to A1 pointer fraction goto a1update */ /* -#define A1_PIXEL ((uint32)0x0C) // Integer part of the pixel (Y.i and X.i) -#define A1_STEP ((uint32)0x10) // Integer part of the step -#define A1_FSTEP ((uint32)0x14) // Fractional part of the step -#define A1_FPIXEL ((uint32)0x18) // Fractional part of the pixel (Y.f and X.f) +#define A1_PIXEL ((uint32_t)0x0C) // Integer part of the pixel (Y.i and X.i) +#define A1_STEP ((uint32_t)0x10) // Integer part of the step +#define A1_FSTEP ((uint32_t)0x14) // Fractional part of the step +#define A1_FPIXEL ((uint32_t)0x18) // Fractional part of the pixel (Y.f and X.f) */ // This is all kinda murky. All we have are the Midsummer docs to give us any guidance, // and it's incomplete or filled with errors (like above). Aarrrgggghhhhh! //This isn't right. Is it? I don't think the fractional parts are signed... -// a1_x += (int32)((int16)GET16(blitter_ram, A1_FSTEP + 2)); -// a1_y += (int32)((int16)GET16(blitter_ram, A1_FSTEP + 0)); +// a1_x += (int32_t)((int16_t)GET16(blitter_ram, A1_FSTEP + 2)); +// a1_y += (int32_t)((int16_t)GET16(blitter_ram, A1_FSTEP + 0)); a1_x += GET16(blitter_ram, A1_FSTEP + 2); a1_y += GET16(blitter_ram, A1_FSTEP + 0); @@ -2538,8 +2538,8 @@ else if UPDA2 goto a2update else if DATINIT goto init_if else restart inner */ - a1_x += (int32)(GET16(blitter_ram, A1_STEP + 2) << 16); - a1_y += (int32)(GET16(blitter_ram, A1_STEP + 0) << 16); + a1_x += (int32_t)(GET16(blitter_ram, A1_STEP + 2) << 16); + a1_y += (int32_t)(GET16(blitter_ram, A1_STEP + 0) << 16); //kill this, for now... @@ -2582,8 +2582,8 @@ a2update A2 step is added to the A2 pointer if DATINIT goto init_if else restart inner */ - a2_x += (int32)(GET16(blitter_ram, A2_STEP + 2) << 16); - a2_y += (int32)(GET16(blitter_ram, A2_STEP + 0) << 16); + a2_x += (int32_t)(GET16(blitter_ram, A2_STEP + 2) << 16); + a2_y += (int32_t)(GET16(blitter_ram, A2_STEP + 0) << 16); if (DATINIT) @@ -2653,32 +2653,32 @@ blitter_done: #ifdef USE_MIDSUMMER_BLITTER_MKII -void ADDRGEN(uint32 &, uint32 &, bool, bool, - uint16, uint16, uint32, uint8, uint8, uint8, uint8, - uint16, uint16, uint32, uint8, uint8, uint8, uint8); -void ADDARRAY(uint16 * addq, uint8 daddasel, uint8 daddbsel, uint8 daddmode, - uint64 dstd, uint32 iinc, uint8 initcin[], uint64 initinc, uint16 initpix, - uint32 istep, uint64 patd, uint64 srcd, uint64 srcz1, uint64 srcz2, - uint32 zinc, uint32 zstep); -void ADD16SAT(uint16 &r, uint8 &co, uint16 a, uint16 b, uint8 cin, bool sat, bool eightbit, bool hicinh); -void ADDAMUX(int16 &adda_x, int16 &adda_y, uint8 addasel, int16 a1_step_x, int16 a1_step_y, - int16 a1_stepf_x, int16 a1_stepf_y, int16 a2_step_x, int16 a2_step_y, - int16 a1_inc_x, int16 a1_inc_y, int16 a1_incf_x, int16 a1_incf_y, uint8 adda_xconst, +void ADDRGEN(uint32_t &, uint32_t &, bool, bool, + uint16_t, uint16_t, uint32_t, uint8_t, uint8_t, uint8_t, uint8_t, + uint16_t, uint16_t, uint32_t, uint8_t, uint8_t, uint8_t, uint8_t); +void ADDARRAY(uint16_t * addq, uint8_t daddasel, uint8_t daddbsel, uint8_t daddmode, + uint64_t dstd, uint32_t iinc, uint8_t initcin[], uint64_t initinc, uint16_t initpix, + uint32_t istep, uint64_t patd, uint64_t srcd, uint64_t srcz1, uint64_t srcz2, + uint32_t zinc, uint32_t zstep); +void ADD16SAT(uint16_t &r, uint8_t &co, uint16_t a, uint16_t b, uint8_t cin, bool sat, bool eightbit, bool hicinh); +void ADDAMUX(int16_t &adda_x, int16_t &adda_y, uint8_t addasel, int16_t a1_step_x, int16_t a1_step_y, + int16_t a1_stepf_x, int16_t a1_stepf_y, int16_t a2_step_x, int16_t a2_step_y, + int16_t a1_inc_x, int16_t a1_inc_y, int16_t a1_incf_x, int16_t a1_incf_y, uint8_t adda_xconst, bool adda_yconst, bool addareg, bool suba_x, bool suba_y); -void ADDBMUX(int16 &addb_x, int16 &addb_y, uint8 addbsel, int16 a1_x, int16 a1_y, - int16 a2_x, int16 a2_y, int16 a1_frac_x, int16 a1_frac_y); -void DATAMUX(int16 &data_x, int16 &data_y, uint32 gpu_din, int16 addq_x, int16 addq_y, bool addqsel); -void ADDRADD(int16 &addq_x, int16 &addq_y, bool a1fracldi, - uint16 adda_x, uint16 adda_y, uint16 addb_x, uint16 addb_y, uint8 modx, bool suba_x, bool suba_y); -void DATA(uint64 &wdata, uint8 &dcomp, uint8 &zcomp, bool &nowrite, - bool big_pix, bool cmpdst, uint8 daddasel, uint8 daddbsel, uint8 daddmode, bool daddq_sel, uint8 data_sel, - uint8 dbinh, uint8 dend, uint8 dstart, uint64 dstd, uint32 iinc, uint8 lfu_func, uint64 &patd, bool patdadd, - bool phrase_mode, uint64 srcd, bool srcdread, bool srczread, bool srcz2add, uint8 zmode, - bool bcompen, bool bkgwren, bool dcompen, uint8 icount, uint8 pixsize, - uint64 &srcz, uint64 dstz, uint32 zinc); -void COMP_CTRL(uint8 &dbinh, bool &nowrite, - bool bcompen, bool big_pix, bool bkgwren, uint8 dcomp, bool dcompen, uint8 icount, - uint8 pixsize, bool phrase_mode, uint8 srcd, uint8 zcomp); +void ADDBMUX(int16_t &addb_x, int16_t &addb_y, uint8_t addbsel, int16_t a1_x, int16_t a1_y, + int16_t a2_x, int16_t a2_y, int16_t a1_frac_x, int16_t a1_frac_y); +void DATAMUX(int16_t &data_x, int16_t &data_y, uint32_t gpu_din, int16_t addq_x, int16_t addq_y, bool addqsel); +void ADDRADD(int16_t &addq_x, int16_t &addq_y, bool a1fracldi, + uint16_t adda_x, uint16_t adda_y, uint16_t addb_x, uint16_t addb_y, uint8_t modx, bool suba_x, bool suba_y); +void DATA(uint64_t &wdata, uint8_t &dcomp, uint8_t &zcomp, bool &nowrite, + bool big_pix, bool cmpdst, uint8_t daddasel, uint8_t daddbsel, uint8_t daddmode, bool daddq_sel, uint8_t data_sel, + uint8_t dbinh, uint8_t dend, uint8_t dstart, uint64_t dstd, uint32_t iinc, uint8_t lfu_func, uint64_t &patd, bool patdadd, + bool phrase_mode, uint64_t srcd, bool srcdread, bool srczread, bool srcz2add, uint8_t zmode, + bool bcompen, bool bkgwren, bool dcompen, uint8_t icount, uint8_t pixsize, + uint64_t &srcz, uint64_t dstz, uint32_t zinc); +void COMP_CTRL(uint8_t &dbinh, bool &nowrite, + bool bcompen, bool big_pix, bool bkgwren, uint8_t dcomp, bool dcompen, uint8_t icount, + uint8_t pixsize, bool phrase_mode, uint8_t srcd, uint8_t zcomp); #define VERBOSE_BLITTER_LOGGING bool logBlit = false; @@ -2692,7 +2692,7 @@ void BlitterMidsummer2(void) //Will remove stuff that isn't in Jaguar I once fully described (stuff like texture won't //be described here at all)... - uint32 cmd = GET32(blitter_ram, COMMAND); + uint32_t cmd = GET32(blitter_ram, COMMAND); logBlit = false; if ( @@ -2795,7 +2795,7 @@ if (cmd == 0x00011040 patdsel = (PATDSEL), adddsel = (ADDDSEL), cmpdst = (CMPDST), bcompen = (BCOMPEN), dcompen = (DCOMPEN), bkgwren = (BKGWREN), srcshade = (SRCSHADE); - uint8 zmode = (cmd & 0x01C0000) >> 18, lfufunc = (cmd & 0x1E00000) >> 21; + uint8_t zmode = (cmd & 0x01C0000) >> 18, lfufunc = (cmd & 0x1E00000) >> 21; //Missing: BUSHI //Where to find various lines: // clip_a1 -> inner @@ -2852,57 +2852,57 @@ fflush(stdout); // Various registers set up by user - uint16 ocount = GET16(blitter_ram, PIXLINECOUNTER); - uint8 a1_pitch = blitter_ram[A1_FLAGS + 3] & 0x03; - uint8 a2_pitch = blitter_ram[A2_FLAGS + 3] & 0x03; - uint8 a1_pixsize = (blitter_ram[A1_FLAGS + 3] & 0x38) >> 3; - uint8 a2_pixsize = (blitter_ram[A2_FLAGS + 3] & 0x38) >> 3; - uint8 a1_zoffset = (GET16(blitter_ram, A1_FLAGS + 2) >> 6) & 0x07; - uint8 a2_zoffset = (GET16(blitter_ram, A2_FLAGS + 2) >> 6) & 0x07; - uint8 a1_width = (blitter_ram[A1_FLAGS + 2] >> 1) & 0x3F; - uint8 a2_width = (blitter_ram[A2_FLAGS + 2] >> 1) & 0x3F; + uint16_t ocount = GET16(blitter_ram, PIXLINECOUNTER); + uint8_t a1_pitch = blitter_ram[A1_FLAGS + 3] & 0x03; + uint8_t a2_pitch = blitter_ram[A2_FLAGS + 3] & 0x03; + uint8_t a1_pixsize = (blitter_ram[A1_FLAGS + 3] & 0x38) >> 3; + uint8_t a2_pixsize = (blitter_ram[A2_FLAGS + 3] & 0x38) >> 3; + uint8_t a1_zoffset = (GET16(blitter_ram, A1_FLAGS + 2) >> 6) & 0x07; + uint8_t a2_zoffset = (GET16(blitter_ram, A2_FLAGS + 2) >> 6) & 0x07; + uint8_t a1_width = (blitter_ram[A1_FLAGS + 2] >> 1) & 0x3F; + uint8_t a2_width = (blitter_ram[A2_FLAGS + 2] >> 1) & 0x3F; bool a2_mask = blitter_ram[A2_FLAGS + 2] & 0x80; - uint8 a1addx = blitter_ram[A1_FLAGS + 1] & 0x03, a2addx = blitter_ram[A2_FLAGS + 1] & 0x03; + uint8_t a1addx = blitter_ram[A1_FLAGS + 1] & 0x03, a2addx = blitter_ram[A2_FLAGS + 1] & 0x03; bool a1addy = blitter_ram[A1_FLAGS + 1] & 0x04, a2addy = blitter_ram[A2_FLAGS + 1] & 0x04; bool a1xsign = blitter_ram[A1_FLAGS + 1] & 0x08, a2xsign = blitter_ram[A2_FLAGS + 1] & 0x08; bool a1ysign = blitter_ram[A1_FLAGS + 1] & 0x10, a2ysign = blitter_ram[A2_FLAGS + 1] & 0x10; - uint32 a1_base = GET32(blitter_ram, A1_BASE) & 0xFFFFFFF8; // Phrase aligned by ignoring bottom 3 bits - uint32 a2_base = GET32(blitter_ram, A2_BASE) & 0xFFFFFFF8; - - uint16 a1_win_x = GET16(blitter_ram, A1_CLIP + 2) & 0x7FFF; - uint16 a1_win_y = GET16(blitter_ram, A1_CLIP + 0) & 0x7FFF; - int16 a1_x = (int16)GET16(blitter_ram, A1_PIXEL + 2); - int16 a1_y = (int16)GET16(blitter_ram, A1_PIXEL + 0); - int16 a1_step_x = (int16)GET16(blitter_ram, A1_STEP + 2); - int16 a1_step_y = (int16)GET16(blitter_ram, A1_STEP + 0); - uint16 a1_stepf_x = GET16(blitter_ram, A1_FSTEP + 2); - uint16 a1_stepf_y = GET16(blitter_ram, A1_FSTEP + 0); - uint16 a1_frac_x = GET16(blitter_ram, A1_FPIXEL + 2); - uint16 a1_frac_y = GET16(blitter_ram, A1_FPIXEL + 0); - int16 a1_inc_x = (int16)GET16(blitter_ram, A1_INC + 2); - int16 a1_inc_y = (int16)GET16(blitter_ram, A1_INC + 0); - uint16 a1_incf_x = GET16(blitter_ram, A1_FINC + 2); - uint16 a1_incf_y = GET16(blitter_ram, A1_FINC + 0); - - int16 a2_x = (int16)GET16(blitter_ram, A2_PIXEL + 2); - int16 a2_y = (int16)GET16(blitter_ram, A2_PIXEL + 0); - uint16 a2_mask_x = GET16(blitter_ram, A2_MASK + 2); - uint16 a2_mask_y = GET16(blitter_ram, A2_MASK + 0); - int16 a2_step_x = (int16)GET16(blitter_ram, A2_STEP + 2); - int16 a2_step_y = (int16)GET16(blitter_ram, A2_STEP + 0); - - uint64 srcd1 = GET64(blitter_ram, SRCDATA); - uint64 srcd2 = 0; - uint64 dstd = GET64(blitter_ram, DSTDATA); - uint64 patd = GET64(blitter_ram, PATTERNDATA); - uint32 iinc = GET32(blitter_ram, INTENSITYINC); - uint64 srcz1 = GET64(blitter_ram, SRCZINT); - uint64 srcz2 = GET64(blitter_ram, SRCZFRAC); - uint64 dstz = GET64(blitter_ram, DSTZ); - uint32 zinc = GET32(blitter_ram, ZINC); - uint32 collision = GET32(blitter_ram, COLLISIONCTRL);// 0=RESUME, 1=ABORT, 2=STOPEN - - uint8 pixsize = (dsta2 ? a2_pixsize : a1_pixsize); // From ACONTROL + uint32_t a1_base = GET32(blitter_ram, A1_BASE) & 0xFFFFFFF8; // Phrase aligned by ignoring bottom 3 bits + uint32_t a2_base = GET32(blitter_ram, A2_BASE) & 0xFFFFFFF8; + + uint16_t a1_win_x = GET16(blitter_ram, A1_CLIP + 2) & 0x7FFF; + uint16_t a1_win_y = GET16(blitter_ram, A1_CLIP + 0) & 0x7FFF; + int16_t a1_x = (int16_t)GET16(blitter_ram, A1_PIXEL + 2); + int16_t a1_y = (int16_t)GET16(blitter_ram, A1_PIXEL + 0); + int16_t a1_step_x = (int16_t)GET16(blitter_ram, A1_STEP + 2); + int16_t a1_step_y = (int16_t)GET16(blitter_ram, A1_STEP + 0); + uint16_t a1_stepf_x = GET16(blitter_ram, A1_FSTEP + 2); + uint16_t a1_stepf_y = GET16(blitter_ram, A1_FSTEP + 0); + uint16_t a1_frac_x = GET16(blitter_ram, A1_FPIXEL + 2); + uint16_t a1_frac_y = GET16(blitter_ram, A1_FPIXEL + 0); + int16_t a1_inc_x = (int16_t)GET16(blitter_ram, A1_INC + 2); + int16_t a1_inc_y = (int16_t)GET16(blitter_ram, A1_INC + 0); + uint16_t a1_incf_x = GET16(blitter_ram, A1_FINC + 2); + uint16_t a1_incf_y = GET16(blitter_ram, A1_FINC + 0); + + int16_t a2_x = (int16_t)GET16(blitter_ram, A2_PIXEL + 2); + int16_t a2_y = (int16_t)GET16(blitter_ram, A2_PIXEL + 0); + uint16_t a2_mask_x = GET16(blitter_ram, A2_MASK + 2); + uint16_t a2_mask_y = GET16(blitter_ram, A2_MASK + 0); + int16_t a2_step_x = (int16_t)GET16(blitter_ram, A2_STEP + 2); + int16_t a2_step_y = (int16_t)GET16(blitter_ram, A2_STEP + 0); + + uint64_t srcd1 = GET64(blitter_ram, SRCDATA); + uint64_t srcd2 = 0; + uint64_t dstd = GET64(blitter_ram, DSTDATA); + uint64_t patd = GET64(blitter_ram, PATTERNDATA); + uint32_t iinc = GET32(blitter_ram, INTENSITYINC); + uint64_t srcz1 = GET64(blitter_ram, SRCZINT); + uint64_t srcz2 = GET64(blitter_ram, SRCZFRAC); + uint64_t dstz = GET64(blitter_ram, DSTZ); + uint32_t zinc = GET32(blitter_ram, ZINC); + uint32_t collision = GET32(blitter_ram, COLLISIONCTRL);// 0=RESUME, 1=ABORT, 2=STOPEN + + uint8_t pixsize = (dsta2 ? a2_pixsize : a1_pixsize); // From ACONTROL //Testing Trevor McFur--I *think* it's the circle on the lower RHS of the screen... /*logBlit = false; @@ -3020,9 +3020,9 @@ Flags: UPDA1 PATDSEL if (logBlit) { printf(" a1_base = %08X, a2_base = %08X\n", a1_base, a2_base); -printf(" a1_x = %04X, a1_y = %04X, a1_frac_x = %04X, a1_frac_y = %04X, a2_x = %04X, a2_y = %04X\n", (uint16)a1_x, (uint16)a1_y, a1_frac_x, a1_frac_y, (uint16)a2_x, (uint16)a2_y); -printf(" a1_step_x = %04X, a1_step_y = %04X, a1_stepf_x = %04X, a1_stepf_y = %04X, a2_step_x = %04X, a2_step_y = %04X\n", (uint16)a1_step_x, (uint16)a1_step_y, a1_stepf_x, a1_stepf_y, (uint16)a2_step_x, (uint16)a2_step_y); -printf(" a1_inc_x = %04X, a1_inc_y = %04X, a1_incf_x = %04X, a1_incf_y = %04X\n", (uint16)a1_inc_x, (uint16)a1_inc_y, a1_incf_x, a1_incf_y); +printf(" a1_x = %04X, a1_y = %04X, a1_frac_x = %04X, a1_frac_y = %04X, a2_x = %04X, a2_y = %04X\n", (uint16_t)a1_x, (uint16_t)a1_y, a1_frac_x, a1_frac_y, (uint16_t)a2_x, (uint16_t)a2_y); +printf(" a1_step_x = %04X, a1_step_y = %04X, a1_stepf_x = %04X, a1_stepf_y = %04X, a2_step_x = %04X, a2_step_y = %04X\n", (uint16_t)a1_step_x, (uint16_t)a1_step_y, a1_stepf_x, a1_stepf_y, (uint16_t)a2_step_x, (uint16_t)a2_step_y); +printf(" a1_inc_x = %04X, a1_inc_y = %04X, a1_incf_x = %04X, a1_incf_y = %04X\n", (uint16_t)a1_inc_x, (uint16_t)a1_inc_y, a1_incf_x, a1_incf_y); printf(" a1_win_x = %04X, a1_win_y = %04X, a2_mask_x = %04X, a2_mask_y = %04X\n", a1_win_x, a1_win_y, a2_mask_x, a2_mask_y); char x_add_str[4][4] = { "phr", "1", "0", "inc" }; printf(" a2_mask=%s a1add=%s%s/%s%s a2add=%s%s/%s%s\n", (a2_mask ? "T" : "F"), (a1xsign ? "-" : "+"), x_add_str[a1addx], @@ -3030,13 +3030,13 @@ printf(" a2_mask=%s a1add=%s%s/%s%s a2add=%s%s/%s%s\n", (a2_mask ? "T" : "F"), (a2ysign ? "-" : "+"), (a2addy ? "1" : "0")); printf(" a1_pixsize = %u, a2_pixsize = %u\n", a1_pixsize, a2_pixsize); printf(" srcd=%08X%08X dstd=%08X%08X patd=%08X%08X iinc=%08X\n", - (uint32)(srcd1 >> 32), (uint32)(srcd1 & 0xFFFFFFFF), - (uint32)(dstd >> 32), (uint32)(dstd & 0xFFFFFFFF), - (uint32)(patd >> 32), (uint32)(patd & 0xFFFFFFFF), iinc); + (uint32_t)(srcd1 >> 32), (uint32_t)(srcd1 & 0xFFFFFFFF), + (uint32_t)(dstd >> 32), (uint32_t)(dstd & 0xFFFFFFFF), + (uint32_t)(patd >> 32), (uint32_t)(patd & 0xFFFFFFFF), iinc); printf(" srcz1=%08X%08X srcz2=%08X%08X dstz=%08X%08X zinc=%08X, coll=%X\n", - (uint32)(srcz1 >> 32), (uint32)(srcz1 & 0xFFFFFFFF), - (uint32)(srcz2 >> 32), (uint32)(srcz2 & 0xFFFFFFFF), - (uint32)(dstz >> 32), (uint32)(dstz & 0xFFFFFFFF), zinc, collision); + (uint32_t)(srcz1 >> 32), (uint32_t)(srcz1 & 0xFFFFFFFF), + (uint32_t)(srcz2 >> 32), (uint32_t)(srcz2 & 0xFFFFFFFF), + (uint32_t)(dstz >> 32), (uint32_t)(dstz & 0xFFFFFFFF), zinc, collision); } #endif @@ -3054,7 +3054,7 @@ fflush(stdout); // Stopgap vars to simulate various lines - uint16 a1FracCInX = 0, a1FracCInY = 0; + uint16_t a1FracCInX = 0, a1FracCInY = 0; while (true) { @@ -3233,7 +3233,7 @@ printf(" Entering INNER state...\n"); fflush(stdout); } #endif - uint16 icount = GET16(blitter_ram, PIXLINECOUNTER + 2); + uint16_t icount = GET16(blitter_ram, PIXLINECOUNTER + 2); bool idle_inner = true, step = true, sreadx = false, szreadx = false, sread = false, szread = false, dread = false, dzread = false, dwrite = false, dzwrite = false; bool inner0 = false; @@ -3244,7 +3244,7 @@ fflush(stdout); bool textext = false, txtread = false; //other stuff -uint8 srcshift = 0; +uint8_t srcshift = 0; bool sshftld = true; // D flipflop (D -> Q): instart -> sshftld //NOTE: sshftld probably is only asserted at the beginning of the inner loop. !!! FIX !!! /* @@ -3467,7 +3467,7 @@ bit 0 = /a2update . ( a1fupdate The /a2update term on bits 0 and 1 is redundant. Now look-ahead based */ - uint8 addasel = (a1fupdate || (a1_add && a1addx == 3) ? 0x01 : 0x00); + uint8_t addasel = (a1fupdate || (a1_add && a1addx == 3) ? 0x01 : 0x00); addasel |= (a1_add && a1addx == 3 ? 0x02 : 0x00); addasel |= (a2update ? 0x04 : 0x00); /* Address adder input A X constant selection @@ -3482,7 +3482,7 @@ for A1 similarly for A2 JLH: Also, 11 will likewise set the value to 111 */ - uint8 a1_xconst = 6 - a1_pixsize, a2_xconst = 6 - a2_pixsize; + uint8_t a1_xconst = 6 - a1_pixsize, a2_xconst = 6 - a2_pixsize; if (a1addx == 1) a1_xconst = 0; @@ -3494,7 +3494,7 @@ JLH: Also, 11 will likewise set the value to 111 else if (a2addx & 0x02) a2_xconst = 7; - uint8 adda_xconst = (a2_add ? a2_xconst : a1_xconst); + uint8_t adda_xconst = (a2_add ? a2_xconst : a1_xconst); /* Address adder input A Y constant selection 22 June 94 - This was erroneous, because only the a1addy bit was reflected here. Therefore, the selection has to be controlled by a bug fix bit. @@ -3530,7 +3530,7 @@ Bit 0 = a2update + a2_add + a1update . a1_stepld + a2update . a2_stepld */ - uint8 addbsel = (a2update || a2_add || (a1fupdate && a1_stepld) + uint8_t addbsel = (a2update || a2_add || (a1fupdate && a1_stepld) || (a1update && a1_stepld) || (a2update && a2_stepld) ? 0x01 : 0x00); addbsel |= (a1fupdate || (a1_add && a1addx == 3) || (a1fupdate && a1_stepld) || (a1update && a1_stepld) || (a2update && a2_stepld) ? 0x02 : 0x00); @@ -3546,9 +3546,9 @@ it is being updated by one phrase Masking is enabled for a1 when a1addx[0..1] is 00, and the value is 6 - the pixel size (again!) */ - uint8 maska1 = (a1_add && a1addx == 0 ? 6 - a1_pixsize : 0); - uint8 maska2 = (a2_add && a2addx == 0 ? 6 - a2_pixsize : 0); - uint8 modx = (a2_add ? maska2 : maska1); + uint8_t maska1 = (a1_add && a1addx == 0 ? 6 - a1_pixsize : 0); + uint8_t maska2 = (a2_add && a2addx == 0 ? 6 - a2_pixsize : 0); + uint8_t modx = (a2_add ? maska2 : maska1); /* Generate load strobes for the increment updates */ /*A1pldt := NAN2 (a1pldt, atick[1], a1_add); @@ -3588,7 +3588,7 @@ Bit 1 = dzwrite . gourz . (atick[0] + atick[1]) Bit 2 = (gourd + gourz) . /(init_if + init_ii + init_zf + init_zi) + dwrite . srcshade */ -uint8 daddasel = ((dwrite && gourd) || (dzwrite && gourz) || istepadd || zstepfadd +uint8_t daddasel = ((dwrite && gourd) || (dzwrite && gourz) || istepadd || zstepfadd || init_if || init_ii || init_zf || init_zi ? 0x01 : 0x00); daddasel |= ((dzwrite && gourz) || zstepadd || zstepfadd ? 0x02 : 0x00); daddasel |= (((gourd || gourz) && !(init_if || init_ii || init_zf || init_zi)) @@ -3620,7 +3620,7 @@ Bit 2 = dwrite . gourd . (atick[0] + atick[1]) + istepadd + istepfadd + zstepadd + zstepfadd Bit 3 = istepadd + istepfadd + zstepadd + zstepfadd */ -uint8 daddbsel = ((dwrite && gourd) || (dzwrite && gourz) || (dwrite && srcshade) +uint8_t daddbsel = ((dwrite && gourd) || (dzwrite && gourz) || (dwrite && srcshade) || istepadd || zstepadd || init_if || init_ii || init_zf || init_zi ? 0x01 : 0x00); daddbsel |= ((dzwrite && gourz) || zstepadd || zstepfadd ? 0x02 : 0x00); daddbsel |= ((dwrite && gourd) || (dzwrite && gourz) || (dwrite && srcshade) @@ -3668,7 +3668,7 @@ Bit 2 = /gourd . /gourz + istepadd . ext_int + init_ii . ext_int */ -uint8 daddmode = ((dzwrite && gourz) || (dwrite && gourd && !topnen && !topben && !ext_int) +uint8_t daddmode = ((dzwrite && gourz) || (dwrite && gourd && !topnen && !topben && !ext_int) || (dwrite && gourd && topnen && topben && !ext_int) || zstepadd || (istepadd && !topnen && !topben && !ext_int) || (istepadd && topnen && topben && !ext_int) || (!gourd && !gourz && !topnen && !topben) @@ -3720,10 +3720,10 @@ Bit 0 = /patdsel . /adddsel Bit 1 = adddsel + dzwrite1d */ -uint8 data_sel = ((!patdsel && !adddsel) || dzwrite ? 0x01 : 0x00) +uint8_t data_sel = ((!patdsel && !adddsel) || dzwrite ? 0x01 : 0x00) | (adddsel || dzwrite ? 0x02 : 0x00); -uint32 address, pixAddr; +uint32_t address, pixAddr; ADDRGEN(address, pixAddr, gena2i, zaddr, a1_x, a1_y, a1_base, a1_pitch, a1_pixsize, a1_width, a1_zoffset, a2_x, a2_y, a2_base, a2_pitch, a2_pixsize, a2_width, a2_zoffset); @@ -3750,12 +3750,12 @@ phrase of the destination X pointer, in pixels. Source shifting is disabled when srcen is not set. */ -uint8 dstxp = (dsta2 ? a2_x : a1_x) & 0x3F; -uint8 srcxp = (dsta2 ? a1_x : a2_x) & 0x3F; -uint8 shftv = ((dstxp - srcxp) << pixsize) & 0x3F; +uint8_t dstxp = (dsta2 ? a2_x : a1_x) & 0x3F; +uint8_t srcxp = (dsta2 ? a1_x : a2_x) & 0x3F; +uint8_t shftv = ((dstxp - srcxp) << pixsize) & 0x3F; /* The phrase mode alignment count is given by the phrase offset of the first pixel, for bit to byte expansion */ -uint8 pobb = 0; +uint8_t pobb = 0; if (pixsize == 3) pobb = dstxp & 0x07; @@ -3765,8 +3765,8 @@ if (pixsize == 5) pobb = dstxp & 0x01; bool pobbsel = phrase_mode && bcompen; -uint8 loshd = (pobbsel ? pobb : shftv) & 0x07; -uint8 shfti = (srcen || pobbsel ? (sshftld ? loshd : srcshift & 0x07) : 0); +uint8_t loshd = (pobbsel ? pobb : shftv) & 0x07; +uint8_t shfti = (srcen || pobbsel ? (sshftld ? loshd : srcshift & 0x07) : 0); /* Enable for high bits is srcen . phrase_mode */ shfti |= (srcen && phrase_mode ? (sshftld ? shftv & 0x38 : srcshift & 0x38) : 0); srcshift = shfti; @@ -3781,13 +3781,13 @@ printf(" Entering SREADX state..."); fflush(stdout); } #endif -//uint32 srcAddr, pixAddr; +//uint32_t srcAddr, pixAddr; //ADDRGEN(srcAddr, pixAddr, gena2i, zaddr, // a1_x, a1_y, a1_base, a1_pitch, a1_pixsize, a1_width, a1_zoffset, // a2_x, a2_y, a2_base, a2_pitch, a2_pixsize, a2_width, a2_zoffset); srcd2 = srcd1; - srcd1 = ((uint64)JaguarReadLong(address + 0, BLITTER) << 32) - | (uint64)JaguarReadLong(address + 4, BLITTER); + srcd1 = ((uint64_t)JaguarReadLong(address + 0, BLITTER) << 32) + | (uint64_t)JaguarReadLong(address + 4, BLITTER); //Kludge to take pixel size into account... //Hmm. If we're not in phrase mode, this is most likely NOT going to be used... //Actually, it would be--because of BCOMPEN expansion, for example... @@ -3809,7 +3809,7 @@ if (!phrase_mode) if (logBlit) { printf(" Source extra read address/pix address: %08X/%1X [%08X%08X]\n", address, pixAddr, - (uint32)(srcd1 >> 32), (uint32)(srcd1 & 0xFFFFFFFF)); + (uint32_t)(srcd1 >> 32), (uint32_t)(srcd1 & 0xFFFFFFFF)); fflush(stdout); } #endif @@ -3825,12 +3825,12 @@ fflush(stdout); } #endif srcz2 = srcz1; - srcz1 = ((uint64)JaguarReadLong(address, BLITTER) << 32) | (uint64)JaguarReadLong(address + 4, BLITTER); + srcz1 = ((uint64_t)JaguarReadLong(address, BLITTER) << 32) | (uint64_t)JaguarReadLong(address + 4, BLITTER); #ifdef VERBOSE_BLITTER_LOGGING if (logBlit) { printf(" Src Z extra read address/pix address: %08X/%1X [%08X%08X]\n", address, pixAddr, - (uint32)(dstz >> 32), (uint32)(dstz & 0xFFFFFFFF)); + (uint32_t)(dstz >> 32), (uint32_t)(dstz & 0xFFFFFFFF)); fflush(stdout); } #endif @@ -3846,12 +3846,12 @@ printf(" Entering SREAD state..."); fflush(stdout); } #endif -//uint32 srcAddr, pixAddr; +//uint32_t srcAddr, pixAddr; //ADDRGEN(srcAddr, pixAddr, gena2i, zaddr, // a1_x, a1_y, a1_base, a1_pitch, a1_pixsize, a1_width, a1_zoffset, // a2_x, a2_y, a2_base, a2_pitch, a2_pixsize, a2_width, a2_zoffset); srcd2 = srcd1; -srcd1 = ((uint64)JaguarReadLong(address, BLITTER) << 32) | (uint64)JaguarReadLong(address + 4, BLITTER); +srcd1 = ((uint64_t)JaguarReadLong(address, BLITTER) << 32) | (uint64_t)JaguarReadLong(address + 4, BLITTER); //Kludge to take pixel size into account... if (!phrase_mode) { @@ -3871,7 +3871,7 @@ if (!phrase_mode) if (logBlit) { printf(" Source read address/pix address: %08X/%1X [%08X%08X]\n", address, pixAddr, - (uint32)(srcd1 >> 32), (uint32)(srcd1 & 0xFFFFFFFF)); + (uint32_t)(srcd1 >> 32), (uint32_t)(srcd1 & 0xFFFFFFFF)); fflush(stdout); } #endif @@ -3887,7 +3887,7 @@ fflush(stdout); } #endif srcz2 = srcz1; - srcz1 = ((uint64)JaguarReadLong(address, BLITTER) << 32) | (uint64)JaguarReadLong(address + 4, BLITTER); + srcz1 = ((uint64_t)JaguarReadLong(address, BLITTER) << 32) | (uint64_t)JaguarReadLong(address + 4, BLITTER); //Kludge to take pixel size into account... I believe that it only has to take 16BPP mode into account. Not sure tho. if (!phrase_mode && pixsize == 4) srcz1 >>= 48; @@ -3896,7 +3896,7 @@ if (!phrase_mode && pixsize == 4) if (logBlit) { printf(" Src Z read address/pix address: %08X/%1X [%08X%08X]\n", address, pixAddr, - (uint32)(dstz >> 32), (uint32)(dstz & 0xFFFFFFFF)); + (uint32_t)(dstz >> 32), (uint32_t)(dstz & 0xFFFFFFFF)); fflush(stdout); } #endif @@ -3911,11 +3911,11 @@ printf(" Entering DREAD state..."); fflush(stdout); } #endif -//uint32 dstAddr, pixAddr; +//uint32_t dstAddr, pixAddr; //ADDRGEN(dstAddr, pixAddr, gena2i, zaddr, // a1_x, a1_y, a1_base, a1_pitch, a1_pixsize, a1_width, a1_zoffset, // a2_x, a2_y, a2_base, a2_pitch, a2_pixsize, a2_width, a2_zoffset); -dstd = ((uint64)JaguarReadLong(address, BLITTER) << 32) | (uint64)JaguarReadLong(address + 4, BLITTER); +dstd = ((uint64_t)JaguarReadLong(address, BLITTER) << 32) | (uint64_t)JaguarReadLong(address + 4, BLITTER); //Kludge to take pixel size into account... if (!phrase_mode) { @@ -3930,7 +3930,7 @@ if (!phrase_mode) if (logBlit) { printf(" Dest read address/pix address: %08X/%1X [%08X%08X]\n", address, pixAddr, - (uint32)(dstd >> 32), (uint32)(dstd & 0xFFFFFFFF)); + (uint32_t)(dstd >> 32), (uint32_t)(dstd & 0xFFFFFFFF)); fflush(stdout); } #endif @@ -3946,7 +3946,7 @@ if (logBlit) fflush(stdout); } #endif - dstz = ((uint64)JaguarReadLong(address, BLITTER) << 32) | (uint64)JaguarReadLong(address + 4, BLITTER); + dstz = ((uint64_t)JaguarReadLong(address, BLITTER) << 32) | (uint64_t)JaguarReadLong(address + 4, BLITTER); //Kludge to take pixel size into account... I believe that it only has to take 16BPP mode into account. Not sure tho. if (!phrase_mode && pixsize == 4) dstz >>= 48; @@ -3955,7 +3955,7 @@ if (!phrase_mode && pixsize == 4) if (logBlit) { printf(" Dest Z read address/pix address: %08X/%1X [%08X%08X]\n", address, pixAddr, - (uint32)(dstz >> 32), (uint32)(dstz & 0xFFFFFFFF)); + (uint32_t)(dstz >> 32), (uint32_t)(dstz & 0xFFFFFFFF)); fflush(stdout); } #endif @@ -3963,9 +3963,9 @@ if (logBlit) // These vars should probably go further up in the code... !!! FIX !!! // We can't preassign these unless they're static... -//uint64 srcz = 0; // These are assigned to shut up stupid compiler warnings--dwrite is ALWAYS asserted +//uint64_t srcz = 0; // These are assigned to shut up stupid compiler warnings--dwrite is ALWAYS asserted //bool winhibit = false; -uint64 srcz; +uint64_t srcz; bool winhibit; //NOTE: SRCSHADE requires GOURZ to be set to work properly--another Jaguar I bug if (dwrite) @@ -3979,14 +3979,14 @@ fflush(stdout); #endif //Counter is done on the dwrite state...! (We'll do it first, since it affects dstart/dend calculations.) //Here's the voodoo for figuring the correct amount of pixels in phrase mode (or not): - int8 inct = -((dsta2 ? a2_x : a1_x) & 0x07); // From INNER_CNT - uint8 inc = 0; + int8_t inct = -((dsta2 ? a2_x : a1_x) & 0x07); // From INNER_CNT + uint8_t inc = 0; inc = (!phrase_mode || (phrase_mode && (inct & 0x01)) ? 0x01 : 0x00); inc |= (phrase_mode && (((pixsize == 3 || pixsize == 4) && (inct & 0x02)) || pixsize == 5 && !(inct & 0x01)) ? 0x02 : 0x00); inc |= (phrase_mode && ((pixsize == 3 && (inct & 0x04)) || (pixsize == 4 && !(inct & 0x03))) ? 0x04 : 0x00); inc |= (phrase_mode && pixsize == 3 && !(inct & 0x07) ? 0x08 : 0x00); - uint16 oldicount = icount; // Save icount to detect underflow... + uint16_t oldicount = icount; // Save icount to detect underflow... icount -= inc; if (icount == 0 || ((icount & 0x8000) && !(oldicount & 0x8000))) @@ -3997,7 +3997,7 @@ fflush(stdout); //Start & end write mask computations... //********************************************************************************* -uint8 dstart = 0; +uint8_t dstart = 0; if (pixsize == 3) dstart = (dstxp & 0x07) << 3; @@ -4009,12 +4009,12 @@ if (pixsize == 5) dstart = (phrase_mode ? dstart : pixAddr & 0x07); //This is the other Jaguar I bug... Normally, should ALWAYS select a1_x here. -uint16 dstxwr = (dsta2 ? a2_x : a1_x) & 0x7FFE; -uint16 pseq = dstxwr ^ (a1_win_x & 0x7FFE); +uint16_t dstxwr = (dsta2 ? a2_x : a1_x) & 0x7FFE; +uint16_t pseq = dstxwr ^ (a1_win_x & 0x7FFE); pseq = (pixsize == 5 ? pseq : pseq & 0x7FFC); pseq = ((pixsize & 0x06) == 4 ? pseq : pseq & 0x7FF8); bool penden = clip_a1 && (pseq == 0); -uint8 window_mask = 0; +uint8_t window_mask = 0; if (pixsize == 3) window_mask = (a1_win_x & 0x07) << 3; @@ -4050,7 +4050,7 @@ NOTE! This doesn't fix the problem because inner0 is asserted too late to help h /* The mask to be used if within one phrase of the end of the inner loop, similarly */ -uint8 inner_mask = 0; +uint8_t inner_mask = 0; if (pixsize == 3) inner_mask = (icount & 0x07) << 3; @@ -4064,12 +4064,12 @@ if (!inner0) the inner mask, where is all cases 000 means 1000. */ window_mask = (window_mask == 0 ? 0x40 : window_mask); inner_mask = (inner_mask == 0 ? 0x40 : inner_mask); -uint8 emask = (window_mask > inner_mask ? inner_mask : window_mask); +uint8_t emask = (window_mask > inner_mask ? inner_mask : window_mask); /* The mask to be used for the pixel size, to which must be added the bit offset */ -uint8 pma = pixAddr + (1 << pixsize); +uint8_t pma = pixAddr + (1 << pixsize); /* Select the mask */ -uint8 dend = (phrase_mode ? emask : pma); +uint8_t dend = (phrase_mode ? emask : pma); /* The cycle width in phrase mode is normally one phrase. However, at the start and end it may be narrower. The start and end masks @@ -4081,9 +4081,9 @@ are used to generate this. The width is given by: This is only used for writes in phrase mode. Start and end from the address level of the pipeline are used. */ -uint8 pwidth = (((dend | dstart) & 0x07) == 0 ? 0x08 : (dend - dstart) & 0x07); +uint8_t pwidth = (((dend | dstart) & 0x07) == 0 ? 0x08 : (dend - dstart) & 0x07); -//uint32 dstAddr, pixAddr; +//uint32_t dstAddr, pixAddr; //ADDRGEN(dstAddr, pixAddr, gena2i, zaddr, // a1_x, a1_y, a1_base, a1_pitch, a1_pixsize, a1_width, a1_zoffset, // a2_x, a2_y, a2_base, a2_pitch, a2_pixsize, a2_width, a2_zoffset); @@ -4098,7 +4098,7 @@ if (logBlit) //More testing... This is almost certainly wrong, but how else does this work??? //Seems to kinda work... But still, this doesn't seem to make any sense! if (phrase_mode && !dsten) - dstd = ((uint64)JaguarReadLong(address, BLITTER) << 32) | (uint64)JaguarReadLong(address + 4, BLITTER); + dstd = ((uint64_t)JaguarReadLong(address, BLITTER) << 32) | (uint64_t)JaguarReadLong(address + 4, BLITTER); //Testing only... for now... //This is wrong because the write data is a combination of srcd and dstd--either run @@ -4108,7 +4108,7 @@ if (phrase_mode && !dsten) //Now it does! // srcd2 = xxxx xxxx 0123 4567, srcd = 8901 2345 xxxx xxxx, srcshift = $20 (32) -uint64 srcd = (srcd2 << (64 - srcshift)) | (srcd1 >> srcshift); +uint64_t srcd = (srcd2 << (64 - srcshift)) | (srcd1 >> srcshift); //bleh, ugly ugly ugly if (srcshift == 0) srcd = srcd1; @@ -4131,30 +4131,30 @@ Odd. It's equating 0 with 0... Even though ZMODE is $04 (less than)! if (gourz) { /* -void ADDARRAY(uint16 * addq, uint8 daddasel, uint8 daddbsel, uint8 daddmode, - uint64 dstd, uint32 iinc, uint8 initcin[], uint64 initinc, uint16 initpix, - uint32 istep, uint64 patd, uint64 srcd, uint64 srcz1, uint64 srcz2, - uint32 zinc, uint32 zstep) +void ADDARRAY(uint16_t * addq, uint8_t daddasel, uint8_t daddbsel, uint8_t daddmode, + uint64_t dstd, uint32_t iinc, uint8_t initcin[], uint64_t initinc, uint16_t initpix, + uint32_t istep, uint64_t patd, uint64_t srcd, uint64_t srcz1, uint64_t srcz2, + uint32_t zinc, uint32_t zstep) */ - uint16 addq[4]; - uint8 initcin[4] = { 0, 0, 0, 0 }; + uint16_t addq[4]; + uint8_t initcin[4] = { 0, 0, 0, 0 }; ADDARRAY(addq, 7/*daddasel*/, 6/*daddbsel*/, 0/*daddmode*/, 0, 0, initcin, 0, 0, 0, 0, 0, srcz1, srcz2, zinc, 0); - srcz2 = ((uint64)addq[3] << 48) | ((uint64)addq[2] << 32) | ((uint64)addq[1] << 16) | (uint64)addq[0]; + srcz2 = ((uint64_t)addq[3] << 48) | ((uint64_t)addq[2] << 32) | ((uint64_t)addq[1] << 16) | (uint64_t)addq[0]; ADDARRAY(addq, 6/*daddasel*/, 7/*daddbsel*/, 1/*daddmode*/, 0, 0, initcin, 0, 0, 0, 0, 0, srcz1, srcz2, zinc, 0); - srcz1 = ((uint64)addq[3] << 48) | ((uint64)addq[2] << 32) | ((uint64)addq[1] << 16) | (uint64)addq[0]; + srcz1 = ((uint64_t)addq[3] << 48) | ((uint64_t)addq[2] << 32) | ((uint64_t)addq[1] << 16) | (uint64_t)addq[0]; #if 0//def VERBOSE_BLITTER_LOGGING if (logBlit) { printf("\n[srcz1=%08X%08X, srcz2=%08X%08X, zinc=%08X", - (uint32)(srcz1 >> 32), (uint32)(srcz1 & 0xFFFFFFFF), - (uint32)(srcz2 >> 32), (uint32)(srcz2 & 0xFFFFFFFF), zinc); + (uint32_t)(srcz1 >> 32), (uint32_t)(srcz1 & 0xFFFFFFFF), + (uint32_t)(srcz2 >> 32), (uint32_t)(srcz2 & 0xFFFFFFFF), zinc); fflush(stdout); } #endif } -uint8 zSrcShift = srcshift & 0x30; +uint8_t zSrcShift = srcshift & 0x30; srcz = (srcz2 << (64 - zSrcShift)) | (srcz1 >> zSrcShift); //bleh, ugly ugly ugly if (zSrcShift == 0) @@ -4163,7 +4163,7 @@ if (zSrcShift == 0) #if 0//def VERBOSE_BLITTER_LOGGING if (logBlit) { - printf(" srcz=%08X%08X]\n", (uint32)(srcz >> 32), (uint32)(srcz & 0xFFFFFFFF)); + printf(" srcz=%08X%08X]\n", (uint32_t)(srcz >> 32), (uint32_t)(srcz & 0xFFFFFFFF)); fflush(stdout); } #endif @@ -4178,10 +4178,10 @@ if (srcshade) //NOTE: This is basically doubling the work done by DATA--since this is what // ADDARRAY is loaded with when srschshade is enabled... !!! FIX !!! // Also note that it doesn't work properly unless GOURZ is set--there's the clue! - uint16 addq[4]; - uint8 initcin[4] = { 0, 0, 0, 0 }; + uint16_t addq[4]; + uint8_t initcin[4] = { 0, 0, 0, 0 }; ADDARRAY(addq, 4/*daddasel*/, 5/*daddbsel*/, 7/*daddmode*/, dstd, iinc, initcin, 0, 0, 0, patd, srcd, 0, 0, 0, 0); - srcd = ((uint64)addq[3] << 48) | ((uint64)addq[2] << 32) | ((uint64)addq[1] << 16) | (uint64)addq[0]; + srcd = ((uint64_t)addq[3] << 48) | ((uint64_t)addq[2] << 32) | ((uint64_t)addq[1] << 16) | (uint64_t)addq[0]; } //Seems to work... Not 100% sure tho. //end try this @@ -4192,10 +4192,10 @@ if (srcshade) //Seems the carry out is lost again... !!! FIX !!! [DONE--see below] if (patfadd) { - uint16 addq[4]; - uint8 initcin[4] = { 0, 0, 0, 0 }; + uint16_t addq[4]; + uint8_t initcin[4] = { 0, 0, 0, 0 }; ADDARRAY(addq, 4/*daddasel*/, 4/*daddbsel*/, 0/*daddmode*/, dstd, iinc, initcin, 0, 0, 0, patd, srcd, 0, 0, 0, 0); - srcd1 = ((uint64)addq[3] << 48) | ((uint64)addq[2] << 32) | ((uint64)addq[1] << 16) | (uint64)addq[0]; + srcd1 = ((uint64_t)addq[3] << 48) | ((uint64_t)addq[2] << 32) | ((uint64_t)addq[1] << 16) | (uint64_t)addq[0]; } //Note that we still don't take atick[0] & [1] into account here, so this will skip half of the data needed... !!! FIX !!! @@ -4203,8 +4203,8 @@ if (patfadd) //Also, should do srcshift on the z value in phrase mode... !!! FIX !!! [DONE] //As well as add a srcz variable we can set external to this state... !!! FIX !!! [DONE] -uint64 wdata; -uint8 dcomp, zcomp; +uint64_t wdata; +uint8_t dcomp, zcomp; DATA(wdata, dcomp, zcomp, winhibit, true, cmpdst, daddasel, daddbsel, daddmode, daddq_sel, data_sel, 0/*dbinh*/, dend, dstart, dstd, iinc, lfufunc, patd, patdadd, @@ -4317,8 +4317,8 @@ if (!winhibit) #ifdef VERBOSE_BLITTER_LOGGING if (logBlit) { - printf(" [%08X%08X]%s", (uint32)(wdata >> 32), (uint32)(wdata & 0xFFFFFFFF), (winhibit ? "[X]" : "")); - printf(" (icount=%04X, inc=%u)\n", icount, (uint16)inc); + printf(" [%08X%08X]%s", (uint32_t)(wdata >> 32), (uint32_t)(wdata & 0xFFFFFFFF), (winhibit ? "[X]" : "")); + printf(" (icount=%04X, inc=%u)\n", icount, (uint16_t)inc); printf(" [dstart=%X dend=%X pwidth=%X srcshift=%X]", dstart, dend, pwidth, srcshift); printf("[daas=%X dabs=%X dam=%X ds=%X daq=%s]\n", daddasel, daddbsel, daddmode, data_sel, (daddq_sel ? "T" : "F")); fflush(stdout); @@ -4340,7 +4340,7 @@ if (logBlit) { printf(" Entering DZWRITE state..."); printf(" Dest Z write address/pix address: %08X/%1X [%08X%08X]\n", address, pixAddr, - (uint32)(srcz >> 32), (uint32)(srcz & 0xFFFFFFFF)); + (uint32_t)(srcz >> 32), (uint32_t)(srcz & 0xFFFFFFFF)); fflush(stdout); } #endif @@ -4365,7 +4365,7 @@ if (!winhibit) #ifdef VERBOSE_BLITTER_LOGGING if (logBlit) { -// printf(" [%08X%08X]\n", (uint32)(srcz >> 32), (uint32)(srcz & 0xFFFFFFFF)); +// printf(" [%08X%08X]\n", (uint32_t)(srcz >> 32), (uint32_t)(srcz & 0xFFFFFFFF)); // fflush(stdout); //printf(" [dstart=%X dend=%X pwidth=%X srcshift=%X]", dstart, dend, pwidth, srcshift); printf(" [dstart=? dend=? pwidth=? srcshift=%X]", srcshift); @@ -4445,7 +4445,7 @@ printf(" Entering A1_ADD state [a1_x=%04X, a1_y=%04X, addasel=%X, addbsel=%X, m fflush(stdout); } #endif -int16 adda_x, adda_y, addb_x, addb_y, data_x, data_y, addq_x, addq_y; +int16_t adda_x, adda_y, addb_x, addb_y, data_x, data_y, addq_x, addq_y; ADDAMUX(adda_x, adda_y, addasel, a1_step_x, a1_step_y, a1_stepf_x, a1_stepf_y, a2_step_x, a2_step_y, a1_inc_x, a1_inc_y, a1_incf_x, a1_incf_y, adda_xconst, adda_yconst, addareg, suba_x, suba_y); ADDBMUX(addb_x, addb_y, addbsel, a1_x, a1_y, a2_x, a2_y, a1_frac_x, a1_frac_y); @@ -4492,16 +4492,16 @@ printf(" Entering A2_ADD state [a2_x=%04X, a2_y=%04X, addasel=%X, addbsel=%X, m fflush(stdout); } #endif -//void ADDAMUX(int16 &adda_x, int16 &adda_y, uint8 addasel, int16 a1_step_x, int16 a1_step_y, -// int16 a1_stepf_x, int16 a1_stepf_y, int16 a2_step_x, int16 a2_step_y, -// int16 a1_inc_x, int16 a1_inc_y, int16 a1_incf_x, int16 a1_incf_y, uint8 adda_xconst, +//void ADDAMUX(int16_t &adda_x, int16_t &adda_y, uint8_t addasel, int16_t a1_step_x, int16_t a1_step_y, +// int16_t a1_stepf_x, int16_t a1_stepf_y, int16_t a2_step_x, int16_t a2_step_y, +// int16_t a1_inc_x, int16_t a1_inc_y, int16_t a1_incf_x, int16_t a1_incf_y, uint8_t adda_xconst, // bool adda_yconst, bool addareg, bool suba_x, bool suba_y) -//void ADDBMUX(int16 &addb_x, int16 &addb_y, uint8 addbsel, int16 a1_x, int16 a1_y, -// int16 a2_x, int16 a2_y, int16 a1_frac_x, int16 a1_frac_y) -//void ADDRADD(int16 &addq_x, int16 &addq_y, bool a1fracldi, -// int16 adda_x, int16 adda_y, int16 addb_x, int16 addb_y, uint8 modx, bool suba_x, bool suba_y) -//void DATAMUX(int16 &data_x, int16 &data_y, uint32 gpu_din, int16 addq_x, int16 addq_y, bool addqsel) -int16 adda_x, adda_y, addb_x, addb_y, data_x, data_y, addq_x, addq_y; +//void ADDBMUX(int16_t &addb_x, int16_t &addb_y, uint8_t addbsel, int16_t a1_x, int16_t a1_y, +// int16_t a2_x, int16_t a2_y, int16_t a1_frac_x, int16_t a1_frac_y) +//void ADDRADD(int16_t &addq_x, int16_t &addq_y, bool a1fracldi, +// int16_t adda_x, int16_t adda_y, int16_t addb_x, int16_t addb_y, uint8_t modx, bool suba_x, bool suba_y) +//void DATAMUX(int16_t &data_x, int16_t &data_y, uint32_t gpu_din, int16_t addq_x, int16_t addq_y, bool addqsel) +int16_t adda_x, adda_y, addb_x, addb_y, data_x, data_y, addq_x, addq_y; ADDAMUX(adda_x, adda_y, addasel, a1_step_x, a1_step_y, a1_stepf_x, a1_stepf_y, a2_step_x, a2_step_y, a1_inc_x, a1_inc_y, a1_incf_x, a1_incf_y, adda_xconst, adda_yconst, addareg, suba_x, suba_y); ADDBMUX(addb_x, addb_y, addbsel, a1_x, a1_y, a2_x, a2_y, a1_frac_x, a1_frac_y); @@ -4615,12 +4615,12 @@ printf(" Entering A1FUPDATE state...\n"); fflush(stdout); } #endif - uint32 a1_frac_xt = (uint32)a1_frac_x + (uint32)a1_stepf_x; - uint32 a1_frac_yt = (uint32)a1_frac_y + (uint32)a1_stepf_y; + uint32_t a1_frac_xt = (uint32_t)a1_frac_x + (uint32_t)a1_stepf_x; + uint32_t a1_frac_yt = (uint32_t)a1_frac_y + (uint32_t)a1_stepf_y; a1FracCInX = a1_frac_xt >> 16; a1FracCInY = a1_frac_yt >> 16; - a1_frac_x = (uint16)(a1_frac_xt & 0xFFFF); - a1_frac_y = (uint16)(a1_frac_yt & 0xFFFF); + a1_frac_x = (uint16_t)(a1_frac_xt & 0xFFFF); + a1_frac_y = (uint16_t)(a1_frac_yt & 0xFFFF); } if (a1update) @@ -4704,12 +4704,12 @@ if (logBlit) } /* - int16 a1_x = (int16)GET16(blitter_ram, A1_PIXEL + 2); - int16 a1_y = (int16)GET16(blitter_ram, A1_PIXEL + 0); - uint16 a1_frac_x = GET16(blitter_ram, A1_FPIXEL + 2); - uint16 a1_frac_y = GET16(blitter_ram, A1_FPIXEL + 0); - int16 a2_x = (int16)GET16(blitter_ram, A2_PIXEL + 2); - int16 a2_y = (int16)GET16(blitter_ram, A2_PIXEL + 0); + int16_t a1_x = (int16_t)GET16(blitter_ram, A1_PIXEL + 2); + int16_t a1_y = (int16_t)GET16(blitter_ram, A1_PIXEL + 0); + uint16_t a1_frac_x = GET16(blitter_ram, A1_FPIXEL + 2); + uint16_t a1_frac_y = GET16(blitter_ram, A1_FPIXEL + 0); + int16_t a2_x = (int16_t)GET16(blitter_ram, A2_PIXEL + 2); + int16_t a2_y = (int16_t)GET16(blitter_ram, A2_PIXEL + 0); Seems that the ending a1_x should be written between blits, but it doesn't seem to be... @@ -4774,36 +4774,36 @@ INT21/ a2_base :IN); */ -void ADDRGEN(uint32 &address, uint32 &pixa, bool gena2, bool zaddr, - uint16 a1_x, uint16 a1_y, uint32 a1_base, uint8 a1_pitch, uint8 a1_pixsize, uint8 a1_width, uint8 a1_zoffset, - uint16 a2_x, uint16 a2_y, uint32 a2_base, uint8 a2_pitch, uint8 a2_pixsize, uint8 a2_width, uint8 a2_zoffset) +void ADDRGEN(uint32_t &address, uint32_t &pixa, bool gena2, bool zaddr, + uint16_t a1_x, uint16_t a1_y, uint32_t a1_base, uint8_t a1_pitch, uint8_t a1_pixsize, uint8_t a1_width, uint8_t a1_zoffset, + uint16_t a2_x, uint16_t a2_y, uint32_t a2_base, uint8_t a2_pitch, uint8_t a2_pixsize, uint8_t a2_width, uint8_t a2_zoffset) { -// uint16 x = (gena2 ? a2_x : a1_x) & 0x7FFF; - uint16 x = (gena2 ? a2_x : a1_x) & 0xFFFF; // Actually uses all 16 bits to generate address...! - uint16 y = (gena2 ? a2_y : a1_y) & 0x0FFF; - uint8 width = (gena2 ? a2_width : a1_width); - uint8 pixsize = (gena2 ? a2_pixsize : a1_pixsize); - uint8 pitch = (gena2 ? a2_pitch : a1_pitch); - uint32 base = (gena2 ? a2_base : a1_base) >> 3;//Only upper 21 bits are passed around the bus? Seems like it... - uint8 zoffset = (gena2 ? a2_zoffset : a1_zoffset); +// uint16_t x = (gena2 ? a2_x : a1_x) & 0x7FFF; + uint16_t x = (gena2 ? a2_x : a1_x) & 0xFFFF; // Actually uses all 16 bits to generate address...! + uint16_t y = (gena2 ? a2_y : a1_y) & 0x0FFF; + uint8_t width = (gena2 ? a2_width : a1_width); + uint8_t pixsize = (gena2 ? a2_pixsize : a1_pixsize); + uint8_t pitch = (gena2 ? a2_pitch : a1_pitch); + uint32_t base = (gena2 ? a2_base : a1_base) >> 3;//Only upper 21 bits are passed around the bus? Seems like it... + uint8_t zoffset = (gena2 ? a2_zoffset : a1_zoffset); - uint32 ytm = ((uint32)y << 2) + (width & 0x02 ? (uint32)y << 1 : 0) + (width & 0x01 ? (uint32)y : 0); + uint32_t ytm = ((uint32_t)y << 2) + (width & 0x02 ? (uint32_t)y << 1 : 0) + (width & 0x01 ? (uint32_t)y : 0); - uint32 ya = (ytm << (width >> 2)) >> 2; + uint32_t ya = (ytm << (width >> 2)) >> 2; - uint32 pa = ya + x; + uint32_t pa = ya + x; /*uint32*/ pixa = pa << pixsize; - uint8 pt = ((pitch & 0x01) && !(pitch & 0x02) ? 0x01 : 0x00) + uint8_t pt = ((pitch & 0x01) && !(pitch & 0x02) ? 0x01 : 0x00) | (!(pitch & 0x01) && (pitch & 0x02) ? 0x02 : 0x00); -// uint32 phradr = pixa << pt; - uint32 phradr = (pixa >> 6) << pt; - uint32 shup = (pitch == 0x03 ? (pixa >> 6) : 0); +// uint32_t phradr = pixa << pt; + uint32_t phradr = (pixa >> 6) << pt; + uint32_t shup = (pitch == 0x03 ? (pixa >> 6) : 0); - uint8 za = (zaddr ? zoffset : 0) & 0x03; -// uint32 addr = za + (phradr & 0x07) + (shup << 1) + base; - uint32 addr = za + phradr + (shup << 1) + base; + uint8_t za = (zaddr ? zoffset : 0) & 0x03; +// uint32_t addr = za + (phradr & 0x07) + (shup << 1) + base; + uint32_t addr = za + phradr + (shup << 1) + base; /*uint32*/ address = ((pixa & 0x38) >> 3) | ((addr & 0x1FFFFF) << 3); #if 0//def VERBOSE_BLITTER_LOGGING if (logBlit) @@ -4997,13 +4997,13 @@ INT32/ zinc INT32/ zstep :IN); */ -void ADDARRAY(uint16 * addq, uint8 daddasel, uint8 daddbsel, uint8 daddmode, - uint64 dstd, uint32 iinc, uint8 initcin[], uint64 initinc, uint16 initpix, - uint32 istep, uint64 patd, uint64 srcd, uint64 srcz1, uint64 srcz2, - uint32 zinc, uint32 zstep) +void ADDARRAY(uint16_t * addq, uint8_t daddasel, uint8_t daddbsel, uint8_t daddmode, + uint64_t dstd, uint32_t iinc, uint8_t initcin[], uint64_t initinc, uint16_t initpix, + uint32_t istep, uint64_t patd, uint64_t srcd, uint64_t srcz1, uint64_t srcz2, + uint32_t zinc, uint32_t zstep) { - uint32 initpix2 = ((uint32)initpix << 16) | initpix; - uint32 addalo[8], addahi[8]; + uint32_t initpix2 = ((uint32_t)initpix << 16) | initpix; + uint32_t addalo[8], addahi[8]; addalo[0] = dstd & 0xFFFFFFFF; addalo[1] = initpix2; addalo[2] = 0; @@ -5020,13 +5020,13 @@ void ADDARRAY(uint16 * addq, uint8 daddasel, uint8 daddbsel, uint8 daddmode, addahi[5] = patd >> 32; addahi[6] = srcz1 >> 32; addahi[7] = srcz2 >> 32; - uint16 adda[4]; + uint16_t adda[4]; adda[0] = addalo[daddasel] & 0xFFFF; adda[1] = addalo[daddasel] >> 16; adda[2] = addahi[daddasel] & 0xFFFF; adda[3] = addahi[daddasel] >> 16; - uint16 wordmux[8]; + uint16_t wordmux[8]; wordmux[0] = iinc & 0xFFFF; wordmux[1] = iinc >> 16; wordmux[2] = zinc & 0xFFFF; @@ -5035,8 +5035,8 @@ void ADDARRAY(uint16 * addq, uint8 daddasel, uint8 daddbsel, uint8 daddmode, wordmux[5] = istep >> 16;; wordmux[6] = zstep & 0xFFFF; wordmux[7] = zstep >> 16;; - uint16 word = wordmux[((daddbsel & 0x08) >> 1) | (daddbsel & 0x03)]; - uint16 addb[4]; + uint16_t word = wordmux[((daddbsel & 0x08) >> 1) | (daddbsel & 0x03)]; + uint16_t addb[4]; bool dbsel2 = daddbsel & 0x04; bool iincsel = (daddbsel & 0x01) && !(daddbsel & 0x04); @@ -5055,10 +5055,10 @@ void ADDARRAY(uint16 * addq, uint8 daddasel, uint8 daddbsel, uint8 daddmode, else addb[0] = addb[1] = addb[2] = addb[3] = 0; - uint8 cinsel = (daddmode >= 1 && daddmode <= 4 ? 1 : 0); + uint8_t cinsel = (daddmode >= 1 && daddmode <= 4 ? 1 : 0); -static uint8 co[4];//These are preserved between calls... - uint8 cin[4]; +static uint8_t co[4];//These are preserved between calls... + uint8_t cin[4]; for(int i=0; i<4; i++) cin[i] = initcin[i] | (co[i] & cinsel); @@ -5085,17 +5085,17 @@ INT16/ b hicinh :IN); */ -void ADD16SAT(uint16 &r, uint8 &co, uint16 a, uint16 b, uint8 cin, bool sat, bool eightbit, bool hicinh) +void ADD16SAT(uint16_t &r, uint8_t &co, uint16_t a, uint16_t b, uint8_t cin, bool sat, bool eightbit, bool hicinh) { /*if (logBlit) { printf("--> [sat=%s 8b=%s hicinh=%s] %04X + %04X (+ %u) = ", (sat ? "T" : "F"), (eightbit ? "T" : "F"), (hicinh ? "T" : "F"), a, b, cin); fflush(stdout); }*/ - uint8 carry[4]; - uint32 qt = (a & 0xFF) + (b & 0xFF) + cin; + uint8_t carry[4]; + uint32_t qt = (a & 0xFF) + (b & 0xFF) + cin; carry[0] = (qt & 0x0100 ? 1 : 0); - uint16 q = qt & 0x00FF; + uint16_t q = qt & 0x00FF; carry[1] = (carry[0] && !eightbit ? carry[0] : 0); qt = (a & 0x0F00) + (b & 0x0F00) + (carry[1] << 8); carry[2] = (qt & 0x1000 ? 1 : 0); @@ -5105,8 +5105,8 @@ void ADD16SAT(uint16 &r, uint8 &co, uint16 a, uint16 b, uint8 cin, bool sat, boo co = (qt & 0x10000 ? 1 : 0); q |= qt & 0xF000; - uint8 btop = (eightbit ? (b & 0x0080) >> 7 : (b & 0x8000) >> 15); - uint8 ctop = (eightbit ? carry[0] : co); + uint8_t btop = (eightbit ? (b & 0x0080) >> 7 : (b & 0x8000) >> 15); + uint8_t ctop = (eightbit ? carry[0] : co); bool saturate = sat && (btop ^ ctop); bool hisaturate = saturate && !eightbit; @@ -5173,9 +5173,9 @@ INT16/ a1_incf_y suba_x suba_y :IN); */ -void ADDAMUX(int16 &adda_x, int16 &adda_y, uint8 addasel, int16 a1_step_x, int16 a1_step_y, - int16 a1_stepf_x, int16 a1_stepf_y, int16 a2_step_x, int16 a2_step_y, - int16 a1_inc_x, int16 a1_inc_y, int16 a1_incf_x, int16 a1_incf_y, uint8 adda_xconst, +void ADDAMUX(int16_t &adda_x, int16_t &adda_y, uint8_t addasel, int16_t a1_step_x, int16_t a1_step_y, + int16_t a1_stepf_x, int16_t a1_stepf_y, int16_t a2_step_x, int16_t a2_step_y, + int16_t a1_inc_x, int16_t a1_inc_y, int16_t a1_incf_x, int16_t a1_incf_y, uint8_t adda_xconst, bool adda_yconst, bool addareg, bool suba_x, bool suba_y) { @@ -5195,11 +5195,11 @@ Addart_y := MX4 (addart_y, a1_step_y, a1_stepf_y, a1_inc_y, a1_incf_y, addaselb[ Addar_y := MX2 (addar_y, addart_y, a2_step_y, addaselb[2]);*/ ////////////////////////////////////// C++ CODE ////////////////////////////////////// - int16 xterm[4], yterm[4]; + int16_t xterm[4], yterm[4]; xterm[0] = a1_step_x, xterm[1] = a1_stepf_x, xterm[2] = a1_inc_x, xterm[3] = a1_incf_x; yterm[0] = a1_step_y, yterm[1] = a1_stepf_y, yterm[2] = a1_inc_y, yterm[3] = a1_incf_y; - int16 addar_x = (addasel & 0x04 ? a2_step_x : xterm[addasel & 0x03]); - int16 addar_y = (addasel & 0x04 ? a2_step_y : yterm[addasel & 0x03]); + int16_t addar_x = (addasel & 0x04 ? a2_step_x : xterm[addasel & 0x03]); + int16_t addar_y = (addasel & 0x04 ? a2_step_y : yterm[addasel & 0x03]); ////////////////////////////////////////////////////////////////////////////////////// /* Generate a constant value - this is a power of 2 in the range @@ -5214,8 +5214,8 @@ Addac_x := JOIN (addac_x, addac_x[0..6], zero, zero, zero, zero, zero, zero, ze Addac_y := JOIN (addac_y, adda_yconst, zero, zero, zero, zero, zero, zero, zero, zero, zero, zero, zero, zero, zero, zero, zero);*/ ////////////////////////////////////// C++ CODE ////////////////////////////////////// - int16 addac_x = (adda_xconst == 0x07 ? 0 : 1 << adda_xconst); - int16 addac_y = (adda_yconst ? 0x01 : 0); + int16_t addac_x = (adda_xconst == 0x07 ? 0 : 1 << adda_xconst); + int16_t addac_y = (adda_yconst ? 0x01 : 0); ////////////////////////////////////////////////////////////////////////////////////// /* Select between constant value and register value */ @@ -5223,8 +5223,8 @@ Addac_y := JOIN (addac_y, adda_yconst, zero, zero, zero, zero, zero, zero, zero /*Addas_x := MX2 (addas_x, addac_x, addar_x, addareg); Addas_y := MX2 (addas_y, addac_y, addar_y, addareg);*/ ////////////////////////////////////// C++ CODE ////////////////////////////////////// - int16 addas_x = (addareg ? addar_x : addac_x); - int16 addas_y = (addareg ? addar_y : addac_y); + int16_t addas_x = (addareg ? addar_x : addac_x); + int16_t addas_y = (addareg ? addar_y : addac_y); ////////////////////////////////////////////////////////////////////////////////////// /* Complement these values (complement flag gives adder carry in)*/ @@ -5265,8 +5265,8 @@ INT16/ a1_frac_y :IN); INT16/ zero16 :LOCAL; BEGIN*/ -void ADDBMUX(int16 &addb_x, int16 &addb_y, uint8 addbsel, int16 a1_x, int16 a1_y, - int16 a2_x, int16 a2_y, int16 a1_frac_x, int16 a1_frac_y) +void ADDBMUX(int16_t &addb_x, int16_t &addb_y, uint8_t addbsel, int16_t a1_x, int16_t a1_y, + int16_t a2_x, int16_t a2_y, int16_t a1_frac_x, int16_t a1_frac_y) { /*Zero := TIE0 (zero); @@ -5276,7 +5276,7 @@ Addbselb[0-1] := BUF8 (addbselb[0-1], addbsel[0-1]); Addb_x := MX4 (addb_x, a1_x, a2_x, a1_frac_x, zero16, addbselb[0..1]); Addb_y := MX4 (addb_y, a1_y, a2_y, a1_frac_y, zero16, addbselb[0..1]);*/ ////////////////////////////////////// C++ CODE ////////////////////////////////////// - int16 xterm[4], yterm[4]; + int16_t xterm[4], yterm[4]; xterm[0] = a1_x, xterm[1] = a2_x, xterm[2] = a1_frac_x, xterm[3] = 0; yterm[0] = a1_y, yterm[1] = a2_y, yterm[2] = a1_frac_y, yterm[3] = 0; addb_x = xterm[addbsel & 0x03]; @@ -5304,7 +5304,7 @@ INT16/ addq_y INT16/ gpu_lo, gpu_hi :LOCAL; BEGIN*/ -void DATAMUX(int16 &data_x, int16 &data_y, uint32 gpu_din, int16 addq_x, int16 addq_y, bool addqsel) +void DATAMUX(int16_t &data_x, int16_t &data_y, uint32_t gpu_din, int16_t addq_x, int16_t addq_y, bool addqsel) { /*Gpu_lo := JOIN (gpu_lo, gpu_din{0..15}); Gpu_hi := JOIN (gpu_hi, gpu_din{16..31}); @@ -5313,8 +5313,8 @@ Addqselb := BUF8 (addqselb, addqsel); Data_x := MX2 (data_x, gpu_lo, addq_x, addqselb); Data_y := MX2 (data_y, gpu_hi, addq_y, addqselb);*/ ////////////////////////////////////// C++ CODE ////////////////////////////////////// - data_x = (addqsel ? addq_x : (int16)(gpu_din & 0xFFFF)); - data_y = (addqsel ? addq_y : (int16)(gpu_din >> 16)); + data_x = (addqsel ? addq_x : (int16_t)(gpu_din & 0xFFFF)); + data_y = (addqsel ? addq_y : (int16_t)(gpu_din >> 16)); ////////////////////////////////////////////////////////////////////////////////////// //END; @@ -5360,8 +5360,8 @@ INT16/ addb_y BEGIN Zero := TIE0 (zero);*/ -void ADDRADD(int16 &addq_x, int16 &addq_y, bool a1fracldi, - uint16 adda_x, uint16 adda_y, uint16 addb_x, uint16 addb_y, uint8 modx, bool suba_x, bool suba_y) +void ADDRADD(int16_t &addq_x, int16_t &addq_y, bool a1fracldi, + uint16_t adda_x, uint16_t adda_y, uint16_t addb_x, uint16_t addb_y, uint8_t modx, bool suba_x, bool suba_y) { /* Perform the addition */ @@ -5381,11 +5381,11 @@ Ci_y := EO (ci_y, cyt[1], suba_y);*/ ////////////////////////////////////// C++ CODE ////////////////////////////////////// //I'm sure the following will generate a bunch of warnings, but will have to do for now. - static uint16 co_x = 0, co_y = 0; // Carry out has to propogate between function calls... - uint16 ci_x = co_x ^ (suba_x ? 1 : 0); - uint16 ci_y = co_y ^ (suba_y ? 1 : 0); - uint32 addqt_x = adda_x + addb_x + ci_x; - uint32 addqt_y = adda_y + addb_y + ci_y; + static uint16_t co_x = 0, co_y = 0; // Carry out has to propogate between function calls... + uint16_t ci_x = co_x ^ (suba_x ? 1 : 0); + uint16_t ci_y = co_y ^ (suba_y ? 1 : 0); + uint32_t addqt_x = adda_x + addb_x + ci_x; + uint32_t addqt_y = adda_y + addb_y + ci_y; co_x = ((addqt_x & 0x10000) && a1fracldi ? 1 : 0); co_y = ((addqt_y & 0x10000) && a1fracldi ? 1 : 0); ////////////////////////////////////////////////////////////////////////////////////// @@ -5402,7 +5402,7 @@ Addq_x := JOIN (addq_x, addq_x[0..5], addqt_x[6..15]); Addq_y := JOIN (addq_y, addq_y[0..15]);*/ ////////////////////////////////////// C++ CODE ////////////////////////////////////// - int16 mask[8] = { 0xFFFF, 0xFFFE, 0xFFFC, 0xFFF8, 0xFFF0, 0xFFE0, 0xFFC0, 0x0000 }; + int16_t mask[8] = { 0xFFFF, 0xFFFE, 0xFFFC, 0xFFF8, 0xFFF0, 0xFFE0, 0xFFC0, 0x0000 }; addq_x = addqt_x & mask[modx]; addq_y = addqt_y & 0xFFFF; ////////////////////////////////////////////////////////////////////////////////////// @@ -5478,12 +5478,12 @@ INT32/ gpu_din // GPU data bus :IN); */ -void DATA(uint64 &wdata, uint8 &dcomp, uint8 &zcomp, bool &nowrite, - bool big_pix, bool cmpdst, uint8 daddasel, uint8 daddbsel, uint8 daddmode, bool daddq_sel, uint8 data_sel, - uint8 dbinh, uint8 dend, uint8 dstart, uint64 dstd, uint32 iinc, uint8 lfu_func, uint64 &patd, bool patdadd, - bool phrase_mode, uint64 srcd, bool srcdread, bool srczread, bool srcz2add, uint8 zmode, - bool bcompen, bool bkgwren, bool dcompen, uint8 icount, uint8 pixsize, - uint64 &srcz, uint64 dstz, uint32 zinc) +void DATA(uint64_t &wdata, uint8_t &dcomp, uint8_t &zcomp, bool &nowrite, + bool big_pix, bool cmpdst, uint8_t daddasel, uint8_t daddbsel, uint8_t daddmode, bool daddq_sel, uint8_t data_sel, + uint8_t dbinh, uint8_t dend, uint8_t dstart, uint64_t dstd, uint32_t iinc, uint8_t lfu_func, uint64_t &patd, bool patdadd, + bool phrase_mode, uint64_t srcd, bool srcdread, bool srczread, bool srcz2add, uint8_t zmode, + bool bcompen, bool bkgwren, bool dcompen, uint8_t icount, uint8_t pixsize, + uint64_t &srcz, uint64_t dstz, uint32_t zinc) { /* Stuff we absolutely *need* to have passed in/out: @@ -5529,12 +5529,12 @@ Patdhi := JOIN (patdhi, patd[32..63]);*/ /*Lfu := LFU (lfu[0..1], srcdlo, srcdhi, dstdlo, dstdhi, lfu_func[0..3]);*/ ////////////////////////////////////// C++ CODE ////////////////////////////////////// - uint64 funcmask[2] = { 0, 0xFFFFFFFFFFFFFFFFLL }; - uint64 func0 = funcmask[lfu_func & 0x01]; - uint64 func1 = funcmask[(lfu_func >> 1) & 0x01]; - uint64 func2 = funcmask[(lfu_func >> 2) & 0x01]; - uint64 func3 = funcmask[(lfu_func >> 3) & 0x01]; - uint64 lfu = (~srcd & ~dstd & func0) | (~srcd & dstd & func1) | (srcd & ~dstd & func2) | (srcd & dstd & func3); + uint64_t funcmask[2] = { 0, 0xFFFFFFFFFFFFFFFFLL }; + uint64_t func0 = funcmask[lfu_func & 0x01]; + uint64_t func1 = funcmask[(lfu_func >> 1) & 0x01]; + uint64_t func2 = funcmask[(lfu_func >> 2) & 0x01]; + uint64_t func3 = funcmask[(lfu_func >> 3) & 0x01]; + uint64_t lfu = (~srcd & ~dstd & func0) | (~srcd & dstd & func1) | (srcd & ~dstd & func2) | (srcd & dstd & func3); ////////////////////////////////////////////////////////////////////////////////////// // Increment and Step Registers @@ -5551,7 +5551,7 @@ Zstep := JOIN (zstep, zstep[0..31]);*/ /*Datacomp := DATACOMP (dcomp[0..7], cmpdst, dstdlo, dstdhi, patdlo, patdhi, srcdlo, srcdhi);*/ ////////////////////////////////////// C++ CODE ////////////////////////////////////// dcomp = 0; - uint64 cmpd = patd ^ (cmpdst ? dstd : srcd); + uint64_t cmpd = patd ^ (cmpdst ? dstd : srcd); if ((cmpd & 0x00000000000000FFLL) == 0) dcomp |= 0x01; @@ -5612,7 +5612,7 @@ with srcshift bits 4 & 5 selecting the start position // We'll do the comparison/bit/byte inhibits here, since that's they way it happens // in the real thing (dcomp goes out to COMP_CTRL and back into DATA through dbinh)... #if 1 - uint8 dbinht; + uint8_t dbinht; // bool nowrite; COMP_CTRL(dbinht, nowrite, bcompen, true/*big_pix*/, bkgwren, dcomp, dcompen, icount, pixsize, phrase_mode, srcd & 0xFF, zcomp); @@ -5642,13 +5642,13 @@ if (logBlit) /*Addarray := ADDARRAY (addq[0..3], clk, daddasel[0..2], daddbsel[0..3], daddmode[0..2], dstdlo, dstdhi, iinc, initcin[0..3], initinc[0..63], initpix[0..15], istep, patdv[0..1], srcdlo, srcdhi, srcz1[0..1], srcz2[0..1], reset\, zinc, zstep);*/ -/*void ADDARRAY(uint16 * addq, uint8 daddasel, uint8 daddbsel, uint8 daddmode, - uint64 dstd, uint32 iinc, uint8 initcin[], uint64 initinc, uint16 initpix, - uint32 istep, uint64 patd, uint64 srcd, uint64 srcz1, uint64 srcz2, - uint32 zinc, uint32 zstep)*/ +/*void ADDARRAY(uint16_t * addq, uint8_t daddasel, uint8_t daddbsel, uint8_t daddmode, + uint64_t dstd, uint32_t iinc, uint8_t initcin[], uint64_t initinc, uint16_t initpix, + uint32_t istep, uint64_t patd, uint64_t srcd, uint64_t srcz1, uint64_t srcz2, + uint32_t zinc, uint32_t zstep)*/ ////////////////////////////////////// C++ CODE ////////////////////////////////////// - uint16 addq[4]; - uint8 initcin[4] = { 0, 0, 0, 0 }; + uint16_t addq[4]; + uint8_t initcin[4] = { 0, 0, 0, 0 }; ADDARRAY(addq, daddasel, daddbsel, daddmode, dstd, iinc, initcin, 0, 0, 0, patd, srcd, 0, 0, 0, 0); //This is normally done asynchronously above (thru local_data) when in patdadd mode... @@ -5656,7 +5656,7 @@ if (logBlit) //But it's causing some serious fuck-ups in T2K now... !!! FIX !!! [DONE--???] //Weird! It doesn't anymore...! if (patdadd) - patd = ((uint64)addq[3] << 48) | ((uint64)addq[2] << 32) | ((uint64)addq[1] << 16) | (uint64)addq[0]; + patd = ((uint64_t)addq[3] << 48) | ((uint64_t)addq[2] << 32) | ((uint64_t)addq[1] << 16) | (uint64_t)addq[0]; ////////////////////////////////////////////////////////////////////////////////////// // Local data bus multiplexer @@ -5714,15 +5714,15 @@ Ecoarse := DECL38E (e_coarse\[0..7], dend[3..5], edis\); E_coarse[0] := INV1 (e_coarse[0], e_coarse\[0]); Efine := DECL38E (unused[0], e_fine\[1..7], dend[0..2], e_coarse[0]);*/ ////////////////////////////////////// C++ CODE ////////////////////////////////////// - uint8 decl38e[2][8] = { { 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF }, + uint8_t decl38e[2][8] = { { 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF }, { 0xFE, 0xFD, 0xFB, 0xF7, 0xEF, 0xDF, 0xBF, 0x7F } }; - uint8 dech38[8] = { 0x01, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x80 }; - uint8 dech38el[2][8] = { { 0x01, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x80 }, + uint8_t dech38[8] = { 0x01, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x80 }; + uint8_t dech38el[2][8] = { { 0x01, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x80 }, { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 } }; int en = (dend & 0x3F ? 1 : 0); - uint8 e_coarse = decl38e[en][(dend & 0x38) >> 3]; // Actually, this is e_coarse inverted... - uint8 e_fine = decl38e[(e_coarse & 0x01) ^ 0x01][dend & 0x07]; + uint8_t e_coarse = decl38e[en][(dend & 0x38) >> 3]; // Actually, this is e_coarse inverted... + uint8_t e_fine = decl38e[(e_coarse & 0x01) ^ 0x01][dend & 0x07]; e_fine &= 0xFE; ////////////////////////////////////////////////////////////////////////////////////// @@ -5730,14 +5730,14 @@ Efine := DECL38E (unused[0], e_fine\[1..7], dend[0..2], e_coarse[0]);*/ Sfen\ := INV1 (sfen\, s_coarse[0]); Sfine := DECH38EL (s_fine[0..7], dstart[0..2], sfen\);*/ ////////////////////////////////////// C++ CODE ////////////////////////////////////// - uint8 s_coarse = dech38[(dstart & 0x38) >> 3]; - uint8 s_fine = dech38el[(s_coarse & 0x01) ^ 0x01][dstart & 0x07]; + uint8_t s_coarse = dech38[(dstart & 0x38) >> 3]; + uint8_t s_fine = dech38el[(s_coarse & 0x01) ^ 0x01][dstart & 0x07]; ////////////////////////////////////////////////////////////////////////////////////// /*Maskt[0] := BUF1 (maskt[0], s_fine[0]); Maskt[1-7] := OAN1P (maskt[1-7], maskt[0-6], s_fine[1-7], e_fine\[1-7]);*/ ////////////////////////////////////// C++ CODE ////////////////////////////////////// - uint16 maskt = s_fine & 0x0001; + uint16_t maskt = s_fine & 0x0001; maskt |= (((maskt & 0x0001) || (s_fine & 0x02)) && (e_fine & 0x02) ? 0x0002 : 0x0000); maskt |= (((maskt & 0x0002) || (s_fine & 0x04)) && (e_fine & 0x04) ? 0x0004 : 0x0000); maskt |= (((maskt & 0x0004) || (s_fine & 0x08)) && (e_fine & 0x08) ? 0x0008 : 0x0000); @@ -5788,7 +5788,7 @@ Masku[14] := MX2 (masku[14], maskt[14], maskt[0], mir_byte);*/ ////////////////////////////////////// C++ CODE ////////////////////////////////////// bool mir_bit = true/*big_pix*/ && !phrase_mode; bool mir_byte = true/*big_pix*/ && phrase_mode; - uint16 masku = maskt; + uint16_t masku = maskt; if (mir_bit) { @@ -5831,8 +5831,8 @@ inhibit terms can override these */ /*Mask[0-7] := AN2 (mask[0-7], masku[0-7], dbinh\[0]); Mask[8-14] := AN2H (mask[8-14], masku[8-14], dbinh\[1-7]);*/ ////////////////////////////////////// C++ CODE ////////////////////////////////////// - uint16 mask = masku & (!(dbinh & 0x01) ? 0xFFFF : 0xFF00); - mask &= ~(((uint16)dbinh & 0x00FE) << 7); + uint16_t mask = masku & (!(dbinh & 0x01) ? 0xFFFF : 0xFF00); + mask &= ~(((uint16_t)dbinh & 0x00FE) << 7); ////////////////////////////////////////////////////////////////////////////////////// /*Addql[0] := JOIN (addql[0], addq[0..1]); @@ -5843,12 +5843,12 @@ Dsel1b[0-1] := BUF8 (dsel1b[0-1], data_sel[1]); Ddatlo := MX4 (ddatlo, patd[0], lfu[0], addql[0], zero32, dsel0b[0], dsel1b[0]); Ddathi := MX4 (ddathi, patd[1], lfu[1], addql[1], zero32, dsel0b[1], dsel1b[1]);*/ ////////////////////////////////////// C++ CODE ////////////////////////////////////// - uint64 dmux[4]; + uint64_t dmux[4]; dmux[0] = patd; dmux[1] = lfu; - dmux[2] = ((uint64)addq[3] << 48) | ((uint64)addq[2] << 32) | ((uint64)addq[1] << 16) | (uint64)addq[0]; + dmux[2] = ((uint64_t)addq[3] << 48) | ((uint64_t)addq[2] << 32) | ((uint64_t)addq[1] << 16) | (uint64_t)addq[0]; dmux[3] = 0; - uint64 ddat = dmux[data_sel]; + uint64_t ddat = dmux[data_sel]; ////////////////////////////////////////////////////////////////////////////////////// /*Zed_sel := AN2 (zed_sel, data_sel[0..1]); @@ -5874,13 +5874,13 @@ Dat[56-63] := MX4 (dat[56-63], dstdhi{24-31}, ddathi{24-31}, dstzhi{24-31}, srcz /*if (logBlit) { printf("\n[ddat=%08X%08X dstd=%08X%08X wdata=%08X%08X mask=%04X]\n", - (uint32)(ddat >> 32), (uint32)(ddat & 0xFFFFFFFF), - (uint32)(dstd >> 32), (uint32)(dstd & 0xFFFFFFFF), - (uint32)(wdata >> 32), (uint32)(wdata & 0xFFFFFFFF), mask); + (uint32_t)(ddat >> 32), (uint32_t)(ddat & 0xFFFFFFFF), + (uint32_t)(dstd >> 32), (uint32_t)(dstd & 0xFFFFFFFF), + (uint32_t)(wdata >> 32), (uint32_t)(wdata & 0xFFFFFFFF), mask); fflush(stdout); }//*/ //This is a crappy way of handling this, but it should work for now... - uint64 zwdata; + uint64_t zwdata; zwdata = ((srcz & mask) | (dstz & ~mask)) & 0x00000000000000FFLL; zwdata |= (mask & 0x0100 ? srcz : dstz) & 0x000000000000FF00LL; zwdata |= (mask & 0x0200 ? srcz : dstz) & 0x0000000000FF0000LL; @@ -5892,9 +5892,9 @@ Dat[56-63] := MX4 (dat[56-63], dstdhi{24-31}, ddathi{24-31}, dstzhi{24-31}, srcz if (logBlit) { printf("\n[srcz=%08X%08X dstz=%08X%08X zwdata=%08X%08X mask=%04X]\n", - (uint32)(srcz >> 32), (uint32)(srcz & 0xFFFFFFFF), - (uint32)(dstz >> 32), (uint32)(dstz & 0xFFFFFFFF), - (uint32)(zwdata >> 32), (uint32)(zwdata & 0xFFFFFFFF), mask); + (uint32_t)(srcz >> 32), (uint32_t)(srcz & 0xFFFFFFFF), + (uint32_t)(dstz >> 32), (uint32_t)(dstz & 0xFFFFFFFF), + (uint32_t)(zwdata >> 32), (uint32_t)(zwdata & 0xFFFFFFFF), mask); fflush(stdout); }//*/ srcz = zwdata; @@ -5957,9 +5957,9 @@ pipe-lining the comparator inputs where appropriate. step_inner // inner loop advance zcomp[0..3] // output of word zed comparators :IN);*/ -void COMP_CTRL(uint8 &dbinh, bool &nowrite, - bool bcompen, bool big_pix, bool bkgwren, uint8 dcomp, bool dcompen, uint8 icount, - uint8 pixsize, bool phrase_mode, uint8 srcd, uint8 zcomp) +void COMP_CTRL(uint8_t &dbinh, bool &nowrite, + bool bcompen, bool big_pix, bool bkgwren, uint8_t dcomp, bool dcompen, uint8_t icount, + uint8_t pixsize, bool phrase_mode, uint8_t srcd, uint8_t zcomp) { //BEGIN @@ -5992,8 +5992,8 @@ if (logBlit) fflush(stdout); } #endif - uint8 bcompselt = (big_pix ? ~icount : icount) & 0x07; - uint8 bitmask[8] = { 0x80, 0x40, 0x20, 0x10, 0x08, 0x04, 0x02, 0x01 }; + uint8_t bcompselt = (big_pix ? ~icount : icount) & 0x07; + uint8_t bitmask[8] = { 0x80, 0x40, 0x20, 0x10, 0x08, 0x04, 0x02, 0x01 }; bool bcompbit = srcd & bitmask[bcompselt]; ////////////////////////////////////////////////////////////////////////////////////// diff --git a/src/blitter.h b/src/blitter.h index 5c3febb..d57e866 100644 --- a/src/blitter.h +++ b/src/blitter.h @@ -12,17 +12,17 @@ void BlitterInit(void); void BlitterReset(void); void BlitterDone(void); -uint8 BlitterReadByte(uint32, uint32 who = UNKNOWN); -uint16 BlitterReadWord(uint32, uint32 who = UNKNOWN); -uint32 BlitterReadLong(uint32, uint32 who = UNKNOWN); -void BlitterWriteByte(uint32, uint8, uint32 who = UNKNOWN); -void BlitterWriteWord(uint32, uint16, uint32 who = UNKNOWN); -void BlitterWriteLong(uint32, uint32, uint32 who = UNKNOWN); +uint8_t BlitterReadByte(uint32_t, uint32_t who = UNKNOWN); +uint16_t BlitterReadWord(uint32_t, uint32_t who = UNKNOWN); +uint32_t BlitterReadLong(uint32_t, uint32_t who = UNKNOWN); +void BlitterWriteByte(uint32_t, uint8_t, uint32_t who = UNKNOWN); +void BlitterWriteWord(uint32_t, uint16_t, uint32_t who = UNKNOWN); +void BlitterWriteLong(uint32_t, uint32_t, uint32_t who = UNKNOWN); -uint32 blitter_reg_read(uint32 offset); -void blitter_reg_write(uint32 offset, uint32 data); +uint32_t blitter_reg_read(uint32_t offset); +void blitter_reg_write(uint32_t offset, uint32_t data); -extern uint8 blitter_working; +extern uint8_t blitter_working; //For testing only... void LogBlit(void); diff --git a/src/cdintf.cpp b/src/cdintf.cpp index 1f0993b..45b6be2 100644 --- a/src/cdintf.cpp +++ b/src/cdintf.cpp @@ -88,7 +88,7 @@ void CDIntfDone(void) #endif } -bool CDIntfReadBlock(uint32 sector, uint8 * buffer) +bool CDIntfReadBlock(uint32_t sector, uint8_t * buffer) { #warning "!!! FIX !!! CDIntfReadBlock not implemented!" // !!! FIX !!! @@ -96,7 +96,7 @@ bool CDIntfReadBlock(uint32 sector, uint8 * buffer) return false; } -uint32 CDIntfGetNumSessions(void) +uint32_t CDIntfGetNumSessions(void) { #warning "!!! FIX !!! CDIntfGetNumSessions not implemented!" // !!! FIX !!! @@ -104,14 +104,14 @@ uint32 CDIntfGetNumSessions(void) return 2; } -void CDIntfSelectDrive(uint32 driveNum) +void CDIntfSelectDrive(uint32_t driveNum) { #warning "!!! FIX !!! CDIntfSelectDrive not implemented!" // !!! FIX !!! WriteLog("CDINTF: SelectDrive unimplemented!\n"); } -uint32 CDIntfGetCurrentDrive(void) +uint32_t CDIntfGetCurrentDrive(void) { #warning "!!! FIX !!! CDIntfGetCurrentDrive not implemented!" // !!! FIX !!! @@ -119,22 +119,22 @@ uint32 CDIntfGetCurrentDrive(void) return 0; } -const uint8 * CDIntfGetDriveName(uint32 driveNum) +const uint8_t * CDIntfGetDriveName(uint32_t driveNum) { #warning "!!! FIX !!! CDIntfGetDriveName driveNum is currently ignored!" // driveNum is currently ignored... !!! FIX !!! #ifdef HAVE_LIB_CDIO - uint8 * driveName = (uint8 *)cdio_get_default_device(cdioPtr); + uint8_t * driveName = (uint8_t *)cdio_get_default_device(cdioPtr); WriteLog("CDINTF: The drive name for the current driver is %s.\n", driveName); return driveName; #else - return (uint8 *)"NONE"; + return (uint8_t *)"NONE"; #endif } -uint8 CDIntfGetSessionInfo(uint32 session, uint32 offset) +uint8_t CDIntfGetSessionInfo(uint32_t session, uint32_t offset) { #warning "!!! FIX !!! CDIntfGetSessionInfo not implemented!" // !!! FIX !!! @@ -142,7 +142,7 @@ uint8 CDIntfGetSessionInfo(uint32 session, uint32 offset) return 0xFF; } -uint8 CDIntfGetTrackInfo(uint32 track, uint32 offset) +uint8_t CDIntfGetTrackInfo(uint32_t track, uint32_t offset) { #warning "!!! FIX !!! CDIntfTrackInfo not implemented!" // !!! FIX !!! diff --git a/src/cdintf.h b/src/cdintf.h index 020af47..530f3a8 100644 --- a/src/cdintf.h +++ b/src/cdintf.h @@ -7,16 +7,16 @@ #ifndef __CDINTF_H__ #define __CDINTF_H__ -#include "types.h" +#include bool CDIntfInit(void); void CDIntfDone(void); -bool CDIntfReadBlock(uint32, uint8 *); -uint32 CDIntfGetNumSessions(void); -void CDIntfSelectDrive(uint32); -uint32 CDIntfGetCurrentDrive(void); -const uint8 * CDIntfGetDriveName(uint32); -uint8 CDIntfGetSessionInfo(uint32, uint32); -uint8 CDIntfGetTrackInfo(uint32, uint32); +bool CDIntfReadBlock(uint32_t, uint8_t *); +uint32_t CDIntfGetNumSessions(void); +void CDIntfSelectDrive(uint32_t); +uint32_t CDIntfGetCurrentDrive(void); +const uint8_t * CDIntfGetDriveName(uint32_t); +uint8_t CDIntfGetSessionInfo(uint32_t, uint32_t); +uint8_t CDIntfGetTrackInfo(uint32_t, uint32_t); #endif // __CDINTF_H__ diff --git a/src/cdrom.cpp b/src/cdrom.cpp index 60522ca..b6279f9 100644 --- a/src/cdrom.cpp +++ b/src/cdrom.cpp @@ -130,8 +130,8 @@ $185 - Returns 16-bit value // Private function prototypes -static void CDROMBusWrite(uint16); -static uint16 CDROMBusRead(void); +static void CDROMBusWrite(uint16_t); +static uint16_t CDROMBusRead(void); #define BUTCH 0x00 // base of Butch == interrupt control register, R/W #define DSCNTRL BUTCH + 0x04 // DSA control register, R/W @@ -150,12 +150,12 @@ const char * BReg[12] = { "BUTCH", "DSCNTRL", "DS_DATA", "???", "I2CNTRL", "SBCN //extern const char * whoName[9]; -static uint8 cdRam[0x100]; -static uint16 cdCmd = 0, cdPtr = 0; +static uint8_t cdRam[0x100]; +static uint16_t cdCmd = 0, cdPtr = 0; static bool haveCDGoodness; -static uint32 min, sec, frm, block; -static uint8 cdBuf[2352 + 96]; -static uint32 cdBufPtr = 2352; +static uint32_t min, sec, frm, block; +static uint8_t cdBuf[2352 + 96]; +static uint32_t cdBufPtr = 2352; //Also need to set up (save/restore) the CD's NVRAM @@ -165,8 +165,8 @@ void CDROMInit(void) haveCDGoodness = CDIntfInit(); //GetRawTOC(); -/*uint8 buf[2448]; -uint32 sec = 18667 - 150; +/*uint8_t buf[2448]; +uint32_t sec = 18667 - 150; memset(buf, 0, 2448); if (!CDIntfReadBlock(sec, buf)) { @@ -199,7 +199,7 @@ for(int i=0; i<6; i++) WriteLog("\nP subchannel data: "); for(int i=0; i<96; i+=8) { - uint8 b = 0; + uint8_t b = 0; for(int j=0; j<8; j++) b |= ((buf[2352 + i + j] & 0x80) >> 7) << (7 - j); @@ -208,7 +208,7 @@ for(int i=0; i<96; i+=8) WriteLog("\nQ subchannel data: "); for(int i=0; i<96; i+=8) { - uint8 b = 0; + uint8_t b = 0; for(int j=0; j<8; j++) b |= ((buf[2352 + i + j] & 0x40) >> 6) << (7 - j); @@ -235,16 +235,16 @@ void CDROMDone(void) // interrupts are handled as they're generated--instead of the current // scheme where they're handled on scanline boundaries. // -void BUTCHExec(uint32 cycles) +void BUTCHExec(uint32_t cycles) { #if 1 // We're chickening out for now... return; #else -// extern uint8 * jerry_ram_8; // Hmm. +// extern uint8_t * jerry_ram_8; // Hmm. // For now, we just do the FIFO interrupt. Timing is also likely to be WRONG as well. - uint32 cdState = GET32(cdRam, BUTCH); + uint32_t cdState = GET32(cdRam, BUTCH); if (!(cdState & 0x01)) // No BUTCH interrupts enabled return; @@ -266,7 +266,7 @@ return; // CD-ROM memory access functions // -uint8 CDROMReadByte(uint32 offset, uint32 who/*=UNKNOWN*/) +uint8_t CDROMReadByte(uint32_t offset, uint32_t who/*=UNKNOWN*/) { #ifdef CDROM_LOG if ((offset & 0xFF) < 12 * 4) @@ -276,16 +276,16 @@ uint8 CDROMReadByte(uint32 offset, uint32 who/*=UNKNOWN*/) return cdRam[offset & 0xFF]; } -static uint8 trackNum = 1, minTrack, maxTrack; -//static uint8 minutes[16] = { 0, 0, 2, 5, 7, 10, 12, 15, 17, 20, 22, 25, 27, 30, 32, 35 }; -//static uint8 seconds[16] = { 0, 0, 30, 0, 30, 0, 30, 0, 30, 0, 30, 0, 30, 0, 30, 0 }; -//static uint8 frames[16] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }; -//static uint16 sd = 0; -uint16 CDROMReadWord(uint32 offset, uint32 who/*=UNKNOWN*/) +static uint8_t trackNum = 1, minTrack, maxTrack; +//static uint8_t minutes[16] = { 0, 0, 2, 5, 7, 10, 12, 15, 17, 20, 22, 25, 27, 30, 32, 35 }; +//static uint8_t seconds[16] = { 0, 0, 30, 0, 30, 0, 30, 0, 30, 0, 30, 0, 30, 0, 30, 0 }; +//static uint8_t frames[16] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }; +//static uint16_t sd = 0; +uint16_t CDROMReadWord(uint32_t offset, uint32_t who/*=UNKNOWN*/) { offset &= 0xFF; - uint16 data = 0x0000; + uint16_t data = 0x0000; if (offset == BUTCH) data = 0x0000; @@ -561,7 +561,7 @@ if (offset == 0x2E) return data; } -void CDROMWriteByte(uint32 offset, uint8 data, uint32 who/*=UNKNOWN*/) +void CDROMWriteByte(uint32_t offset, uint8_t data, uint32_t who/*=UNKNOWN*/) { offset &= 0xFF; cdRam[offset] = data; @@ -573,7 +573,7 @@ void CDROMWriteByte(uint32 offset, uint8 data, uint32 who/*=UNKNOWN*/) #endif } -void CDROMWriteWord(uint32 offset, uint16 data, uint32 who/*=UNKNOWN*/) +void CDROMWriteWord(uint32_t offset, uint16_t data, uint32_t who/*=UNKNOWN*/) { offset &= 0xFF; SET16(cdRam, offset, data); @@ -634,7 +634,7 @@ void CDROMWriteWord(uint32 offset, uint16 data, uint32 who/*=UNKNOWN*/) else if ((data & 0xFF00) == 0x7000) // Set oversampling rate { // 1 = none, 2 = 2x, 3 = 4x, 4 = 8x - uint32 rates[5] = { 0, 1, 2, 4, 8 }; + uint32_t rates[5] = { 0, 1, 2, 4, 8 }; WriteLog("CDROM: Setting oversample rate to %uX\n", rates[(data & 0xFF)]); } else @@ -658,14 +658,14 @@ void CDROMWriteWord(uint32 offset, uint16 data, uint32 who/*=UNKNOWN*/) enum ButchState { ST_INIT, ST_RISING, ST_FALLING }; static ButchState currentState = ST_INIT; -static uint16 counter = 0; +static uint16_t counter = 0; static bool cmdTx = false; -static uint16 busCmd; -static uint16 rxData, txData; -static uint16 rxDataBit; +static uint16_t busCmd; +static uint16_t rxData, txData; +static uint16_t rxDataBit; static bool firstTime = false; -static void CDROMBusWrite(uint16 data) +static void CDROMBusWrite(uint16_t data) { //This is kinda lame. What we should do is check for a 0->1 transition on either bits 0 or 1... //!!! FIX !!! @@ -750,7 +750,7 @@ static void CDROMBusWrite(uint16 data) } } -static uint16 CDROMBusRead(void) +static uint16_t CDROMBusRead(void) { // It seems the counter == 0 simply waits for a single bit acknowledge-- !!! FIX !!! // Or does it? Hmm. It still "pumps" 16 bits through above, so how is this special? @@ -780,8 +780,8 @@ static uint16 CDROMBusRead(void) // This simulates a read from BUTCH over the SSI to JERRY. Uses real reading! // //temp, until I can fix my CD image... Argh! -static uint8 cdBuf2[2532 + 96], cdBuf3[2532 + 96]; -uint16 GetWordFromButchSSI(uint32 offset, uint32 who/*= UNKNOWN*/) +static uint8_t cdBuf2[2532 + 96], cdBuf3[2532 + 96]; +uint16_t GetWordFromButchSSI(uint32_t offset, uint32_t who/*= UNKNOWN*/) { bool go = ((offset & 0x0F) == 0x0A || (offset & 0x0F) == 0x0E ? true : false); diff --git a/src/cdrom.h b/src/cdrom.h index 963a02a..c7d32b2 100644 --- a/src/cdrom.h +++ b/src/cdrom.h @@ -12,15 +12,15 @@ void CDROMInit(void); void CDROMReset(void); void CDROMDone(void); -void BUTCHExec(uint32 cycles); +void BUTCHExec(uint32_t cycles); -uint8 CDROMReadByte(uint32 offset, uint32 who = UNKNOWN); -uint16 CDROMReadWord(uint32 offset, uint32 who = UNKNOWN); -void CDROMWriteByte(uint32 offset, uint8 data, uint32 who = UNKNOWN); -void CDROMWriteWord(uint32 offset, uint16 data, uint32 who = UNKNOWN); +uint8_t CDROMReadByte(uint32_t offset, uint32_t who = UNKNOWN); +uint16_t CDROMReadWord(uint32_t offset, uint32_t who = UNKNOWN); +void CDROMWriteByte(uint32_t offset, uint8_t data, uint32_t who = UNKNOWN); +void CDROMWriteWord(uint32_t offset, uint16_t data, uint32_t who = UNKNOWN); bool ButchIsReadyToSend(void); -uint16 GetWordFromButchSSI(uint32 offset, uint32 who = UNKNOWN); +uint16_t GetWordFromButchSSI(uint32_t offset, uint32_t who = UNKNOWN); void SetSSIWordsXmittedFromButch(void); #endif // __CDROM_H__ diff --git a/src/cry2rgb.h b/src/cry2rgb.h index abf0cdd..636b45d 100644 --- a/src/cry2rgb.h +++ b/src/cry2rgb.h @@ -1,7 +1,7 @@ // // Red Color Values for CrY<->RGB Color Conversion // -uint8 redcv[16][16] = { +uint8_t redcv[16][16] = { // 0 1 2 3 4 5 6 7 8 9 A B C D E F // ---------------------------------------------------------------------- { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, // 0 @@ -25,7 +25,7 @@ uint8 redcv[16][16] = { // // Green Color Values for CrY<->RGB Color Conversion // -uint8 greencv[16][16] = { +uint8_t greencv[16][16] = { // 0 1 2 3 4 5 6 7 8 9 A B C D E F // ---------------------------------------------------------------------- { 0, 17, 34, 51,68, 85, 102,119,136,153,170,187,204,221,238,255}, // 0 @@ -49,7 +49,7 @@ uint8 greencv[16][16] = { // // Blue Color Values for CrY<->RGB Color Conversion // -uint8 bluecv[16][16] = { +uint8_t bluecv[16][16] = { // 0 1 2 3 4 5 6 7 8 9 A B C D E F // ---------------------------------------------------------------------- { 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255}, // 0 diff --git a/src/dac.cpp b/src/dac.cpp index 6a60906..b7a7810 100644 --- a/src/dac.cpp +++ b/src/dac.cpp @@ -19,10 +19,6 @@ // work correctly...! Perhaps just need to set up SSI stuff so BUTCH doesn't get // confused... -// ALSO: Need to implement some form of proper locking to replace the clusterfuck -// that is the current spinlock implementation. Since the DSP is a separate -// entity, could we get away with running it in the sound IRQ? - // After testing on a real Jaguar, it seems clear that the I2S interrupt drives // the audio subsystem. So while you can drive the audio at a *slower* rate than // set by SCLK, you can't drive it any *faster*. Also note, that if the I2S @@ -75,14 +71,14 @@ // Global variables // These are defined in memory.h/cpp -//uint16 lrxd, rrxd; // I2S ports (into Jaguar) +//uint16_t lrxd, rrxd; // I2S ports (into Jaguar) // Local variables static SDL_AudioSpec desired; static bool SDLSoundInitialized; -static uint8 SCLKFrequencyDivider = 19; // Default is roughly 22 KHz (20774 Hz in NTSC mode) -/*static*/ uint16 serialMode = 0; +static uint8_t SCLKFrequencyDivider = 19; // Default is roughly 22 KHz (20774 Hz in NTSC mode) +/*static*/ uint16_t serialMode = 0; // Private function prototypes @@ -265,15 +261,15 @@ int GetCalculatedFrequency(void) // // LTXD/RTXD/SCLK/SMODE ($F1A148/4C/50/54) // -void DACWriteByte(uint32 offset, uint8 data, uint32 who/*= UNKNOWN*/) +void DACWriteByte(uint32_t offset, uint8_t data, uint32_t who/*= UNKNOWN*/) { WriteLog("DAC: %s writing BYTE %02X at %08X\n", whoName[who], data, offset); if (offset == SCLK + 3) - DACWriteWord(offset - 3, (uint16)data); + DACWriteWord(offset - 3, (uint16_t)data); } -void DACWriteWord(uint32 offset, uint16 data, uint32 who/*= UNKNOWN*/) +void DACWriteWord(uint32_t offset, uint16_t data, uint32_t who/*= UNKNOWN*/) { if (offset == LTXD + 2) { @@ -287,8 +283,8 @@ void DACWriteWord(uint32 offset, uint16 data, uint32 who/*= UNKNOWN*/) { WriteLog("DAC: Writing %u to SCLK...\n", data); - if ((uint8)data != SCLKFrequencyDivider) - SCLKFrequencyDivider = (uint8)data; + if ((uint8_t)data != SCLKFrequencyDivider) + SCLKFrequencyDivider = (uint8_t)data; } else if (offset == SMODE + 2) { @@ -305,15 +301,15 @@ void DACWriteWord(uint32 offset, uint16 data, uint32 who/*= UNKNOWN*/) // // LRXD/RRXD/SSTAT ($F1A148/4C/50) // -uint8 DACReadByte(uint32 offset, uint32 who/*= UNKNOWN*/) +uint8_t DACReadByte(uint32_t offset, uint32_t who/*= UNKNOWN*/) { // WriteLog("DAC: %s reading byte from %08X\n", whoName[who], offset); return 0xFF; } -//static uint16 fakeWord = 0; -uint16 DACReadWord(uint32 offset, uint32 who/*= UNKNOWN*/) +//static uint16_t fakeWord = 0; +uint16_t DACReadWord(uint32_t offset, uint32_t who/*= UNKNOWN*/) { // WriteLog("DAC: %s reading word from %08X\n", whoName[who], offset); // return 0xFFFF; @@ -332,3 +328,4 @@ uint16 DACReadWord(uint32 offset, uint32 who/*= UNKNOWN*/) return 0xFFFF; // May need SSTAT as well... (but may be a Jaguar II only feature) } + diff --git a/src/dac.h b/src/dac.h index 1cfc8b1..8149ff0 100644 --- a/src/dac.h +++ b/src/dac.h @@ -15,9 +15,9 @@ void DACDone(void); // DAC memory access -void DACWriteByte(uint32 offset, uint8 data, uint32 who = UNKNOWN); -void DACWriteWord(uint32 offset, uint16 data, uint32 who = UNKNOWN); -uint8 DACReadByte(uint32 offset, uint32 who = UNKNOWN); -uint16 DACReadWord(uint32 offset, uint32 who = UNKNOWN); +void DACWriteByte(uint32_t offset, uint8_t data, uint32_t who = UNKNOWN); +void DACWriteWord(uint32_t offset, uint16_t data, uint32_t who = UNKNOWN); +uint8_t DACReadByte(uint32_t offset, uint32_t who = UNKNOWN); +uint16_t DACReadWord(uint32_t offset, uint32_t who = UNKNOWN); #endif // __DAC_H__ diff --git a/src/dsp.cpp b/src/dsp.cpp index f39449b..6e6902c 100644 --- a/src/dsp.cpp +++ b/src/dsp.cpp @@ -171,15 +171,15 @@ const bool affectsScoreboard[64] = struct PipelineStage { - uint16 instruction; - uint8 opcode, operand1, operand2; - uint32 reg1, reg2, areg1, areg2; - uint32 result; - uint8 writebackRegister; + uint16_t instruction; + uint8_t opcode, operand1, operand2; + uint32_t reg1, reg2, areg1, areg2; + uint32_t result; + uint8_t writebackRegister; // General memory store... - uint32 address; - uint32 value; - uint8 type; + uint32_t address; + uint32_t value; + uint8_t type; }; #define TYPE_BYTE 0 @@ -189,9 +189,9 @@ struct PipelineStage #ifndef NEW_SCOREBOARD bool scoreboard[32]; #else -uint8 scoreboard[32]; +uint8_t scoreboard[32]; #endif -uint8 plPtrFetch, plPtrRead, plPtrExec, plPtrWrite; +uint8_t plPtrFetch, plPtrRead, plPtrExec, plPtrWrite; PipelineStage pipeline[4]; bool IMASKCleared = false; @@ -243,7 +243,7 @@ bool IMASKCleared = false; #define VERSION 0x0F000 #define INT_LAT5 0x10000 -extern uint32 jaguar_mainRom_crc32; +extern uint32_t jaguar_mainRom_crc32; // Is opcode 62 *really* a NOP? Seems like it... static void dsp_opcode_abs(void); @@ -311,7 +311,7 @@ static void dsp_opcode_subqmod(void); static void dsp_opcode_subqt(void); static void dsp_opcode_illegal(void); -uint8 dsp_opcode_cycles[64] = +uint8_t dsp_opcode_cycles[64] = { 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, @@ -326,7 +326,7 @@ uint8 dsp_opcode_cycles[64] = //This is wrong, wrong, WRONG, but it seems to work for the time being... //(That is, it fixes Flip Out which relies on GPU timing rather than semaphores. Bad developers! Bad!) //What's needed here is a way to take pipeline effects into account (including pipeline stalls!)... -/*uint8 dsp_opcode_cycles[64] = +/*uint8_t dsp_opcode_cycles[64] = { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, @@ -358,7 +358,7 @@ void (* dsp_opcode[64])() = dsp_opcode_store_r14_ri, dsp_opcode_store_r15_ri, dsp_opcode_illegal, dsp_opcode_addqmod, }; -uint32 dsp_opcode_use[65]; +uint32_t dsp_opcode_use[65]; const char * dsp_opcode_str[65]= { @@ -381,22 +381,22 @@ const char * dsp_opcode_str[65]= "STALL" }; -uint32 dsp_pc; -static uint64 dsp_acc; // 40 bit register, NOT 32! -static uint32 dsp_remain; -static uint32 dsp_modulo; -static uint32 dsp_flags; -static uint32 dsp_matrix_control; -static uint32 dsp_pointer_to_matrix; -static uint32 dsp_data_organization; -uint32 dsp_control; -static uint32 dsp_div_control; -static uint8 dsp_flag_z, dsp_flag_n, dsp_flag_c; -static uint32 * dsp_reg = NULL, * dsp_alternate_reg = NULL; -uint32 dsp_reg_bank_0[32], dsp_reg_bank_1[32]; - -static uint32 dsp_opcode_first_parameter; -static uint32 dsp_opcode_second_parameter; +uint32_t dsp_pc; +static uint64_t dsp_acc; // 40 bit register, NOT 32! +static uint32_t dsp_remain; +static uint32_t dsp_modulo; +static uint32_t dsp_flags; +static uint32_t dsp_matrix_control; +static uint32_t dsp_pointer_to_matrix; +static uint32_t dsp_data_organization; +uint32_t dsp_control; +static uint32_t dsp_div_control; +static uint8_t dsp_flag_z, dsp_flag_n, dsp_flag_c; +static uint32_t * dsp_reg = NULL, * dsp_alternate_reg = NULL; +uint32_t dsp_reg_bank_0[32], dsp_reg_bank_1[32]; + +static uint32_t dsp_opcode_first_parameter; +static uint32_t dsp_opcode_second_parameter; #define DSP_RUNNING (dsp_control & 0x01) @@ -411,35 +411,35 @@ static uint32 dsp_opcode_second_parameter; #define CLR_ZN (dsp_flag_z = dsp_flag_n = 0) #define CLR_ZNC (dsp_flag_z = dsp_flag_n = dsp_flag_c = 0) #define SET_Z(r) (dsp_flag_z = ((r) == 0)) -#define SET_N(r) (dsp_flag_n = (((uint32)(r) >> 31) & 0x01)) -#define SET_C_ADD(a,b) (dsp_flag_c = ((uint32)(b) > (uint32)(~(a)))) -#define SET_C_SUB(a,b) (dsp_flag_c = ((uint32)(b) > (uint32)(a))) +#define SET_N(r) (dsp_flag_n = (((uint32_t)(r) >> 31) & 0x01)) +#define SET_C_ADD(a,b) (dsp_flag_c = ((uint32_t)(b) > (uint32_t)(~(a)))) +#define SET_C_SUB(a,b) (dsp_flag_c = ((uint32_t)(b) > (uint32_t)(a))) #define SET_ZN(r) SET_N(r); SET_Z(r) #define SET_ZNC_ADD(a,b,r) SET_N(r); SET_Z(r); SET_C_ADD(a,b) #define SET_ZNC_SUB(a,b,r) SET_N(r); SET_Z(r); SET_C_SUB(a,b) -uint32 dsp_convert_zero[32] = { +uint32_t dsp_convert_zero[32] = { 32, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31 }; -uint8 dsp_branch_condition_table[32 * 8]; -static uint16 mirror_table[65536]; -static uint8 dsp_ram_8[0x2000]; +uint8_t dsp_branch_condition_table[32 * 8]; +static uint16_t mirror_table[65536]; +static uint8_t dsp_ram_8[0x2000]; #define BRANCH_CONDITION(x) dsp_branch_condition_table[(x) + ((jaguar_flags & 7) << 5)] -static uint32 dsp_in_exec = 0; -static uint32 dsp_releaseTimeSlice_flag = 0; +static uint32_t dsp_in_exec = 0; +static uint32_t dsp_releaseTimeSlice_flag = 0; FILE * dsp_fp; #ifdef DSP_DEBUG_CC // Comparison core vars (used only for core comparison! :-) -static uint64 count = 0; -static uint8 ram1[0x2000], ram2[0x2000]; -static uint32 regs1[64], regs2[64]; -static uint32 ctrl1[14], ctrl2[14]; +static uint64_t count = 0; +static uint8_t ram1[0x2000], ram2[0x2000]; +static uint32_t regs1[64], regs2[64]; +static uint32_t ctrl1[14], ctrl2[14]; #endif // Private function prototypes @@ -500,7 +500,7 @@ void dsp_build_branch_condition_table(void) } } -uint8 DSPReadByte(uint32 offset, uint32 who/*=UNKNOWN*/) +uint8_t DSPReadByte(uint32_t offset, uint32_t who/*=UNKNOWN*/) { if (offset >= 0xF1A000 && offset <= 0xF1A0FF) WriteLog("DSP: ReadByte--Attempt to read from DSP register file by %s!\n", whoName[who]); @@ -518,7 +518,7 @@ uint8 DSPReadByte(uint32 offset, uint32 who/*=UNKNOWN*/) if (offset >= DSP_CONTROL_RAM_BASE && offset <= (DSP_CONTROL_RAM_BASE + 0x1F)) { - uint32 data = DSPReadLong(offset & 0xFFFFFFFC, who); + uint32_t data = DSPReadLong(offset & 0xFFFFFFFC, who); if ((offset&0x03)==0) return(data>>24); @@ -536,7 +536,7 @@ uint8 DSPReadByte(uint32 offset, uint32 who/*=UNKNOWN*/) return JaguarReadByte(offset, who); } -uint16 DSPReadWord(uint32 offset, uint32 who/*=UNKNOWN*/) +uint16_t DSPReadWord(uint32_t offset, uint32_t who/*=UNKNOWN*/) { if (offset >= 0xF1A000 && offset <= 0xF1A0FF) WriteLog("DSP: ReadWord--Attempt to read from DSP register file by %s!\n", whoName[who]); @@ -546,13 +546,13 @@ uint16 DSPReadWord(uint32 offset, uint32 who/*=UNKNOWN*/) if (offset >= DSP_WORK_RAM_BASE && offset <= DSP_WORK_RAM_BASE+0x1FFF) { offset -= DSP_WORK_RAM_BASE; -/* uint16 data = (((uint16)dsp_ram_8[offset])<<8)|((uint16)dsp_ram_8[offset+1]); +/* uint16_t data = (((uint16_t)dsp_ram_8[offset])<<8)|((uint16_t)dsp_ram_8[offset+1]); return data;*/ return GET16(dsp_ram_8, offset); } else if ((offset>=DSP_CONTROL_RAM_BASE)&&(offset= 0xF1A000 && offset <= 0xF1A0FF) WriteLog("DSP: ReadLong--Attempt to read from DSP register file by %s!\n", whoName[who]); @@ -598,7 +598,7 @@ uint32 DSPReadLong(uint32 offset, uint32 who/*=UNKNOWN*/) case 0x18: return dsp_modulo; case 0x1C: return dsp_remain; case 0x20: - return (int32)((int8)(dsp_acc >> 32)); // Top 8 bits of 40-bit accumulator, sign extended + return (int32_t)((int8_t)(dsp_acc >> 32)); // Top 8 bits of 40-bit accumulator, sign extended } // unaligned long read-- !!! FIX !!! return 0xFFFFFFFF; @@ -607,7 +607,7 @@ uint32 DSPReadLong(uint32 offset, uint32 who/*=UNKNOWN*/) return JaguarReadLong(offset, who); } -void DSPWriteByte(uint32 offset, uint8 data, uint32 who/*=UNKNOWN*/) +void DSPWriteByte(uint32_t offset, uint8_t data, uint32_t who/*=UNKNOWN*/) { if (offset >= 0xF1A000 && offset <= 0xF1A0FF) WriteLog("DSP: WriteByte--Attempt to write to DSP register file by %s!\n", whoName[who]); @@ -626,7 +626,7 @@ void DSPWriteByte(uint32 offset, uint8 data, uint32 who/*=UNKNOWN*/) } if ((offset >= DSP_CONTROL_RAM_BASE) && (offset < DSP_CONTROL_RAM_BASE+0x20)) { - uint32 reg = offset & 0x1C; + uint32_t reg = offset & 0x1C; int bytenum = offset & 0x03; if ((reg >= 0x1C) && (reg <= 0x1F)) @@ -634,7 +634,7 @@ void DSPWriteByte(uint32 offset, uint8 data, uint32 who/*=UNKNOWN*/) else { //This looks funky. !!! FIX !!! - uint32 old_data = DSPReadLong(offset&0xFFFFFFC, who); + uint32_t old_data = DSPReadLong(offset&0xFFFFFFC, who); bytenum = 3 - bytenum; // convention motorola !!! old_data = (old_data & (~(0xFF << (bytenum << 3)))) | (data << (bytenum << 3)); DSPWriteLong(offset & 0xFFFFFFC, old_data, who); @@ -646,7 +646,7 @@ void DSPWriteByte(uint32 offset, uint8 data, uint32 who/*=UNKNOWN*/) JaguarWriteByte(offset, data, who); } -void DSPWriteWord(uint32 offset, uint16 data, uint32 who/*=UNKNOWN*/) +void DSPWriteWord(uint32_t offset, uint16_t data, uint32_t who/*=UNKNOWN*/) { if (offset >= 0xF1A000 && offset <= 0xF1A0FF) WriteLog("DSP: WriteWord--Attempt to write to DSP register file by %s!\n", whoName[who]); @@ -691,7 +691,7 @@ SET16(ram2, offset, data); } else { - uint32 old_data = DSPReadLong(offset & 0xFFFFFFC, who); + uint32_t old_data = DSPReadLong(offset & 0xFFFFFFC, who); if (offset & 0x03) old_data = (old_data & 0xFFFF0000) | (data & 0xFFFF); @@ -708,7 +708,7 @@ SET16(ram2, offset, data); } //bool badWrite = false; -void DSPWriteLong(uint32 offset, uint32 data, uint32 who/*=UNKNOWN*/) +void DSPWriteLong(uint32_t offset, uint32_t data, uint32_t who/*=UNKNOWN*/) { if (offset >= 0xF1A000 && offset <= 0xF1A0FF) WriteLog("DSP: WriteLong--Attempt to write to DSP register file by %s!\n", whoName[who]); @@ -820,10 +820,10 @@ SET32(ram2, offset, data); char buffer[512]; WriteLog("\n---[DSP code at 00F1B97C]---------------------------\n"); - uint32 j = 0xF1B97C;//0x1AC200; + uint32_t j = 0xF1B97C;//0x1AC200; while (j <= 0xF1BE08)//0x1AC68C) { - uint32 oldj = j; + uint32_t oldj = j; j += dasmjag(JAGUAR_DSP, buffer, j); // WriteLog("\t%08X: %s\n", oldj+0xD6F77C, buffer); WriteLog("\t%08X: %s\n", oldj, buffer); @@ -861,7 +861,7 @@ if (who != DSP) WriteLog("Write to DSP CTRL by %s: %08X (DSP PC=$%08X)\n", whoName[who], data, dsp_pc); //#endif bool wasRunning = DSP_RUNNING; -// uint32 dsp_was_running = DSP_RUNNING; +// uint32_t dsp_was_running = DSP_RUNNING; // Check for DSP -> CPU interrupt if (data & CPUINT) { @@ -897,7 +897,7 @@ WriteLog("Write to DSP CTRL by %s: %08X (DSP PC=$%08X)\n", whoName[who], data, d } // Protect writes to VERSION and the interrupt latches... - uint32 mask = VERSION | INT_LAT0 | INT_LAT1 | INT_LAT2 | INT_LAT3 | INT_LAT4 | INT_LAT5; + uint32_t mask = VERSION | INT_LAT0 | INT_LAT1 | INT_LAT2 | INT_LAT3 | INT_LAT4 | INT_LAT5; dsp_control = (dsp_control & mask) | (data & ~mask); //CC only! #ifdef DSP_DEBUG_CC @@ -991,7 +991,7 @@ void DSPHandleIRQs(void) return; // Get the active interrupt bits (latches) & interrupt mask (enables) - uint32 bits = ((dsp_control >> 10) & 0x20) | ((dsp_control >> 6) & 0x1F), + uint32_t bits = ((dsp_control >> 10) & 0x20) | ((dsp_control >> 6) & 0x1F), mask = ((dsp_flags >> 11) & 0x20) | ((dsp_flags >> 4) & 0x1F); // WriteLog("dsp: bits=%.2x mask=%.2x\n",bits,mask); @@ -1158,7 +1158,7 @@ DSPUpdateRegisterBanks(); return; // Get the active interrupt bits (latches) & interrupt mask (enables) - uint32 bits = ((dsp_control >> 10) & 0x20) | ((dsp_control >> 6) & 0x1F), + uint32_t bits = ((dsp_control >> 10) & 0x20) | ((dsp_control >> 6) & 0x1F), mask = ((dsp_flags >> 11) & 0x20) | ((dsp_flags >> 4) & 0x1F); // WriteLog("dsp: bits=%.2x mask=%.2x\n",bits,mask); @@ -1238,7 +1238,7 @@ ctrl1[0] = regs1[30] = dsp_pc; void DSPSetIRQLine(int irqline, int state) { //NOTE: This doesn't take INT_LAT5 into account. !!! FIX !!! - uint32 mask = INT_LAT0 << irqline; + uint32_t mask = INT_LAT0 << irqline; dsp_control &= ~mask; // Clear the latch bit //CC only! #ifdef DSP_DEBUG_CC @@ -1274,8 +1274,8 @@ bool DSPIsRunning(void) void DSPInit(void) { // memory_malloc_secure((void **)&dsp_ram_8, 0x2000, "DSP work RAM"); -// memory_malloc_secure((void **)&dsp_reg_bank_0, 32 * sizeof(int32), "DSP bank 0 regs"); -// memory_malloc_secure((void **)&dsp_reg_bank_1, 32 * sizeof(int32), "DSP bank 1 regs"); +// memory_malloc_secure((void **)&dsp_reg_bank_0, 32 * sizeof(int32_t), "DSP bank 0 regs"); +// memory_malloc_secure((void **)&dsp_reg_bank_1, 32 * sizeof(int32_t), "DSP bank 1 regs"); dsp_build_branch_condition_table(); DSPReset(); @@ -1308,9 +1308,9 @@ void DSPReset(void) dsp_reset_stats(); // memset(dsp_ram_8, 0xFF, 0x2000); // Contents of local RAM are quasi-stable; we simulate this by randomizing RAM contents - for(uint32 i=0; i<8192; i+=4) + for(uint32_t i=0; i<8192; i+=4) { - *((uint32 *)(&dsp_ram_8[i])) = rand(); + *((uint32_t *)(&dsp_ram_8[i])) = rand(); } } @@ -1319,11 +1319,11 @@ void DSPDumpDisassembly(void) char buffer[512]; WriteLog("\n---[DSP code at 00F1B000]---------------------------\n"); - uint32 j = 0xF1B000; + uint32_t j = 0xF1B000; while (j <= 0xF1CFFF) { - uint32 oldj = j; + uint32_t oldj = j; j += dasmjag(JAGUAR_DSP, buffer, j); WriteLog("\t%08X: %s\n", oldj, buffer); } @@ -1400,7 +1400,7 @@ void DSPDone(void) while (j <= 0xF1CFFF) { - uint32 oldj = j; + uint32_t oldj = j; j += dasmjag(JAGUAR_DSP, buffer, j); WriteLog("\t%08X: %s\n", oldj, buffer); }//*/ @@ -1420,8 +1420,8 @@ void DSPDone(void) // DSP comparison core... // #ifdef DSP_DEBUG_CC -static uint16 lastExec; -void DSPExecComp(int32 cycles) +static uint16_t lastExec; +void DSPExecComp(int32_t cycles) { while (cycles > 0 && DSP_RUNNING) { @@ -1446,10 +1446,10 @@ void DSPExecComp(int32 cycles) DSPUpdateRegisterBanks(); // Decrement cycles based on non-pipelined core... - uint16 instr1 = DSPReadWord(dsp_pc, DSP); + uint16_t instr1 = DSPReadWord(dsp_pc, DSP); cycles -= dsp_opcode_cycles[instr1 >> 10]; -//WriteLog("\tAbout to execute non-pipelined core on tick #%u (DSP_PC=%08X)...\n", (uint32)count, dsp_pc); +//WriteLog("\tAbout to execute non-pipelined core on tick #%u (DSP_PC=%08X)...\n", (uint32_t)count, dsp_pc); DSPExec(1); // Do *one* instruction // Save vars @@ -1491,7 +1491,7 @@ DSPUpdateRegisterBanks(); dsp_flag_c = ctrl2[13]; DSPUpdateRegisterBanks(); -//WriteLog("\tAbout to execute pipelined core on tick #%u (DSP_PC=%08X)...\n", (uint32)count, dsp_pc); +//WriteLog("\tAbout to execute pipelined core on tick #%u (DSP_PC=%08X)...\n", (uint32_t)count, dsp_pc); DSPExecP2(1); // Do *one* instruction // Save vars @@ -1517,7 +1517,7 @@ DSPUpdateRegisterBanks(); { // WriteLog("\nCores diverged at instruction tick #%u!\nAttemping to synchronize...\n\n", count); -// uint32 ppc = ctrl2[0] - (pipeline[plPtrExec].opcode == 38 ? 6 : (pipeline[plPtrExec].opcode == PIPELINE_STALL ? 0 : 2)) - (pipeline[plPtrWrite].opcode == 38 ? 6 : (pipeline[plPtrWrite].opcode == PIPELINE_STALL ? 0 : 2)); +// uint32_t ppc = ctrl2[0] - (pipeline[plPtrExec].opcode == 38 ? 6 : (pipeline[plPtrExec].opcode == PIPELINE_STALL ? 0 : 2)) - (pipeline[plPtrWrite].opcode == 38 ? 6 : (pipeline[plPtrWrite].opcode == PIPELINE_STALL ? 0 : 2)); //WriteLog("[DSP_PC1=%08X, DSP_PC2=%08X]\n", ctrl1[0], ppc); // if (ctrl1[0] < ppc) // P ran ahead of NP //How to test this crap??? @@ -1574,7 +1574,7 @@ for(int k=0; k<2; k++) instr1 = DSPReadWord(dsp_pc, DSP); cycles -= dsp_opcode_cycles[instr1 >> 10]; -//WriteLog("\tAbout to execute non-pipelined core on tick #%u (DSP_PC=%08X)...\n", (uint32)count, dsp_pc); +//WriteLog("\tAbout to execute non-pipelined core on tick #%u (DSP_PC=%08X)...\n", (uint32_t)count, dsp_pc); DSPExec(1); // Do *one* instruction } @@ -1620,8 +1620,8 @@ for(int k=0; k<2; k++) // DSP execution core // //static bool R20Set = false, tripwire = false; -//static uint32 pcQueue[32], ptrPCQ = 0; -void DSPExec(int32 cycles) +//static uint32_t pcQueue[32], ptrPCQ = 0; +void DSPExec(int32_t cycles) { #ifdef DSP_SINGLE_STEPPING if (dsp_control & 0x18) @@ -1637,7 +1637,7 @@ void DSPExec(int32 cycles) while (cycles > 0 && DSP_RUNNING) { -/*extern uint32 totalFrames; +/*extern uint32_t totalFrames; //F1B2F6: LOAD (R14+$04), R24 [NCZ:001, R14+$04=00F20018, R24=FFFFFFFF] -> Jaguar: Unknown word read at 00F20018 by DSP (M68K PC=00E32E) //-> 43 + 1 + 24 -> $2B + $01 + $18 -> 101011 00001 11000 -> 1010 1100 0011 1000 -> AC38 //C470 -> 1100 0100 0111 0000 -> 110001 00011 10000 -> 49, 3, 16 -> STORE R16, (R14+$0C) @@ -1676,8 +1676,8 @@ if (dsp_pc == 0xF1B092) doDSPDis = true; pcQueue[ptrPCQ++] = dsp_pc; ptrPCQ %= 32;*/ - uint16 opcode = DSPReadWord(dsp_pc, DSP); - uint32 index = opcode >> 10; + uint16_t opcode = DSPReadWord(dsp_pc, DSP); + uint32_t index = opcode >> 10; dsp_opcode_first_parameter = (opcode >> 5) & 0x1F; dsp_opcode_second_parameter = opcode & 0x1F; dsp_pc += 2; @@ -1738,7 +1738,7 @@ const char * condition[32] = dsp_flag_z=dsp_flag_z?1:0; dsp_flag_n=dsp_flag_n?1:0;*/ // KLUDGE: Used by BRANCH_CONDITION - uint32 jaguar_flags = (dsp_flag_n << 2) | (dsp_flag_c << 1) | dsp_flag_z; + uint32_t jaguar_flags = (dsp_flag_n << 2) | (dsp_flag_c << 1) | dsp_flag_z; if (BRANCH_CONDITION(IMM_2)) { @@ -1746,7 +1746,7 @@ const char * condition[32] = if (doDSPDis) WriteLog("Branched!\n"); #endif - uint32 delayed_pc = RM; + uint32_t delayed_pc = RM; DSPExec(1); dsp_pc = delayed_pc; } @@ -1773,7 +1773,7 @@ const char * condition[32] = dsp_flag_z=dsp_flag_z?1:0; dsp_flag_n=dsp_flag_n?1:0;*/ // KLUDGE: Used by BRANCH_CONDITION - uint32 jaguar_flags = (dsp_flag_n << 2) | (dsp_flag_c << 1) | dsp_flag_z; + uint32_t jaguar_flags = (dsp_flag_n << 2) | (dsp_flag_c << 1) | dsp_flag_z; if (BRANCH_CONDITION(IMM_2)) { @@ -1781,8 +1781,8 @@ const char * condition[32] = if (doDSPDis) WriteLog("Branched!\n"); #endif - int32 offset = (IMM_1 & 0x10 ? 0xFFFFFFF0 | IMM_1 : IMM_1); // Sign extend IMM_1 - int32 delayed_pc = dsp_pc + (offset * 2); + int32_t offset = (IMM_1 & 0x10 ? 0xFFFFFFF0 | IMM_1 : IMM_1); // Sign extend IMM_1 + int32_t delayed_pc = dsp_pc + (offset * 2); DSPExec(1); dsp_pc = delayed_pc; } @@ -1799,7 +1799,7 @@ static void dsp_opcode_add(void) if (doDSPDis) WriteLog("%06X: ADD R%02u, R%02u [NCZ:%u%u%u, R%02u=%08X, R%02u=%08X] -> ", dsp_pc-2, IMM_1, IMM_2, dsp_flag_n, dsp_flag_c, dsp_flag_z, IMM_1, RM, IMM_2, RN); #endif - uint32 res = RN + RM; + uint32_t res = RN + RM; SET_ZNC_ADD(RN, RM, res); RN = res; #ifdef DSP_DIS_ADD @@ -1814,8 +1814,8 @@ static void dsp_opcode_addc(void) if (doDSPDis) WriteLog("%06X: ADDC R%02u, R%02u [NCZ:%u%u%u, R%02u=%08X, R%02u=%08X] -> ", dsp_pc-2, IMM_1, IMM_2, dsp_flag_n, dsp_flag_c, dsp_flag_z, IMM_1, RM, IMM_2, RN); #endif - uint32 res = RN + RM + dsp_flag_c; - uint32 carry = dsp_flag_c; + uint32_t res = RN + RM + dsp_flag_c; + uint32_t carry = dsp_flag_c; // SET_ZNC_ADD(RN, RM, res); //???BUG??? Yes! SET_ZNC_ADD(RN + carry, RM, res); // SET_ZNC_ADD(RN, RM + carry, res); @@ -1832,8 +1832,8 @@ static void dsp_opcode_addq(void) if (doDSPDis) WriteLog("%06X: ADDQ #%u, R%02u [NCZ:%u%u%u, R%02u=%08X] -> ", dsp_pc-2, dsp_convert_zero[IMM_1], IMM_2, dsp_flag_n, dsp_flag_c, dsp_flag_z, IMM_2, RN); #endif - uint32 r1 = dsp_convert_zero[IMM_1]; - uint32 res = RN + r1; + uint32_t r1 = dsp_convert_zero[IMM_1]; + uint32_t res = RN + r1; CLR_ZNC; SET_ZNC_ADD(RN, r1, res); RN = res; #ifdef DSP_DIS_ADDQ @@ -1848,7 +1848,7 @@ static void dsp_opcode_sub(void) if (doDSPDis) WriteLog("%06X: SUB R%02u, R%02u [NCZ:%u%u%u, R%02u=%08X, R%02u=%08X] -> ", dsp_pc-2, IMM_1, IMM_2, dsp_flag_n, dsp_flag_c, dsp_flag_z, IMM_1, RM, IMM_2, RN); #endif - uint32 res = RN - RM; + uint32_t res = RN - RM; SET_ZNC_SUB(RN, RM, res); RN = res; #ifdef DSP_DIS_SUB @@ -1863,8 +1863,8 @@ static void dsp_opcode_subc(void) if (doDSPDis) WriteLog("%06X: SUBC R%02u, R%02u [NCZ:%u%u%u, R%02u=%08X, R%02u=%08X] -> ", dsp_pc-2, IMM_1, IMM_2, dsp_flag_n, dsp_flag_c, dsp_flag_z, IMM_1, RM, IMM_2, RN); #endif - uint32 res = RN - RM - dsp_flag_c; - uint32 borrow = dsp_flag_c; + uint32_t res = RN - RM - dsp_flag_c; + uint32_t borrow = dsp_flag_c; SET_ZNC_SUB(RN - borrow, RM, res); RN = res; #ifdef DSP_DIS_SUBC @@ -1879,8 +1879,8 @@ static void dsp_opcode_subq(void) if (doDSPDis) WriteLog("%06X: SUBQ #%u, R%02u [NCZ:%u%u%u, R%02u=%08X] -> ", dsp_pc-2, dsp_convert_zero[IMM_1], IMM_2, dsp_flag_n, dsp_flag_c, dsp_flag_z, IMM_2, RN); #endif - uint32 r1 = dsp_convert_zero[IMM_1]; - uint32 res = RN - r1; + uint32_t r1 = dsp_convert_zero[IMM_1]; + uint32_t res = RN - r1; SET_ZNC_SUB(RN, r1, res); RN = res; #ifdef DSP_DIS_SUBQ @@ -1895,7 +1895,7 @@ static void dsp_opcode_cmp(void) if (doDSPDis) WriteLog("%06X: CMP R%02u, R%02u [NCZ:%u%u%u, R%02u=%08X, R%02u=%08X] -> ", dsp_pc-2, IMM_1, IMM_2, dsp_flag_n, dsp_flag_c, dsp_flag_z, IMM_1, RM, IMM_2, RN); #endif - uint32 res = RN - RM; + uint32_t res = RN - RM; SET_ZNC_SUB(RN, RM, res); #ifdef DSP_DIS_CMP if (doDSPDis) @@ -1905,14 +1905,14 @@ static void dsp_opcode_cmp(void) static void dsp_opcode_cmpq(void) { - static int32 sqtable[32] = + static int32_t sqtable[32] = { 0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,-16,-15,-14,-13,-12,-11,-10,-9,-8,-7,-6,-5,-4,-3,-2,-1 }; #ifdef DSP_DIS_CMPQ if (doDSPDis) WriteLog("%06X: CMPQ #%d, R%02u [NCZ:%u%u%u, R%02u=%08X] -> ", dsp_pc-2, sqtable[IMM_1], IMM_2, dsp_flag_n, dsp_flag_c, dsp_flag_z, IMM_2, RN); #endif - uint32 r1 = sqtable[IMM_1 & 0x1F]; // I like this better -> (INT8)(jaguar.op >> 2) >> 3; - uint32 res = RN - r1; + uint32_t r1 = sqtable[IMM_1 & 0x1F]; // I like this better -> (INT8)(jaguar.op >> 2) >> 3; + uint32_t res = RN - r1; SET_ZNC_SUB(RN, r1, res); #ifdef DSP_DIS_CMPQ if (doDSPDis) @@ -2197,10 +2197,10 @@ static void dsp_opcode_movei(void) { #ifdef DSP_DIS_MOVEI if (doDSPDis) - WriteLog("%06X: MOVEI #$%08X, R%02u [NCZ:%u%u%u, R%02u=%08X] -> ", dsp_pc-2, (uint32)DSPReadWord(dsp_pc) | ((uint32)DSPReadWord(dsp_pc + 2) << 16), IMM_2, dsp_flag_n, dsp_flag_c, dsp_flag_z, IMM_2, RN); + WriteLog("%06X: MOVEI #$%08X, R%02u [NCZ:%u%u%u, R%02u=%08X] -> ", dsp_pc-2, (uint32_t)DSPReadWord(dsp_pc) | ((uint32_t)DSPReadWord(dsp_pc + 2) << 16), IMM_2, dsp_flag_n, dsp_flag_c, dsp_flag_z, IMM_2, RN); #endif // This instruction is followed by 32-bit value in LSW / MSW format... - RN = (uint32)DSPReadWord(dsp_pc, DSP) | ((uint32)DSPReadWord(dsp_pc + 2, DSP) << 16); + RN = (uint32_t)DSPReadWord(dsp_pc, DSP) | ((uint32_t)DSPReadWord(dsp_pc + 2, DSP) << 16); dsp_pc += 4; #ifdef DSP_DIS_MOVEI if (doDSPDis) @@ -2264,9 +2264,9 @@ static void dsp_opcode_resmac(void) { #ifdef DSP_DIS_RESMAC if (doDSPDis) - WriteLog("%06X: RESMAC R%02u [NCZ:%u%u%u, R%02u=%08X, DSP_ACC=%02X%08X] -> ", dsp_pc-2, IMM_2, dsp_flag_n, dsp_flag_c, dsp_flag_z, IMM_2, RN, (uint8)(dsp_acc >> 32), (uint32)(dsp_acc & 0xFFFFFFFF)); + WriteLog("%06X: RESMAC R%02u [NCZ:%u%u%u, R%02u=%08X, DSP_ACC=%02X%08X] -> ", dsp_pc-2, IMM_2, dsp_flag_n, dsp_flag_c, dsp_flag_z, IMM_2, RN, (uint8_t)(dsp_acc >> 32), (uint32_t)(dsp_acc & 0xFFFFFFFF)); #endif - RN = (uint32)dsp_acc; + RN = (uint32_t)dsp_acc; #ifdef DSP_DIS_RESMAC if (doDSPDis) WriteLog("[NCZ:%u%u%u, R%02u=%08X]\n", dsp_flag_n, dsp_flag_c, dsp_flag_z, IMM_2, RN); @@ -2279,7 +2279,7 @@ static void dsp_opcode_imult(void) if (doDSPDis) WriteLog("%06X: IMULT R%02u, R%02u [NCZ:%u%u%u, R%02u=%08X, R%02u=%08X] -> ", dsp_pc-2, IMM_1, IMM_2, dsp_flag_n, dsp_flag_c, dsp_flag_z, IMM_1, RM, IMM_2, RN); #endif - RN = (int16)RN * (int16)RM; + RN = (int16_t)RN * (int16_t)RM; SET_ZN(RN); #ifdef DSP_DIS_IMULT if (doDSPDis) @@ -2293,7 +2293,7 @@ static void dsp_opcode_mult(void) if (doDSPDis) WriteLog("%06X: MULT R%02u, R%02u [NCZ:%u%u%u, R%02u=%08X, R%02u=%08X] -> ", dsp_pc-2, IMM_1, IMM_2, dsp_flag_n, dsp_flag_c, dsp_flag_z, IMM_1, RM, IMM_2, RN); #endif - RN = (uint16)RM * (uint16)RN; + RN = (uint16_t)RM * (uint16_t)RN; SET_ZN(RN); #ifdef DSP_DIS_MULT if (doDSPDis) @@ -2307,7 +2307,7 @@ static void dsp_opcode_bclr(void) if (doDSPDis) WriteLog("%06X: BCLR #%u, R%02u [NCZ:%u%u%u, R%02u=%08X] -> ", dsp_pc-2, IMM_1, IMM_2, dsp_flag_n, dsp_flag_c, dsp_flag_z, IMM_2, RN); #endif - uint32 res = RN & ~(1 << IMM_1); + uint32_t res = RN & ~(1 << IMM_1); RN = res; SET_ZN(res); #ifdef DSP_DIS_BCLR @@ -2335,7 +2335,7 @@ static void dsp_opcode_bset(void) if (doDSPDis) WriteLog("%06X: BSET #%u, R%02u [NCZ:%u%u%u, R%02u=%08X] -> ", dsp_pc-2, IMM_1, IMM_2, dsp_flag_n, dsp_flag_c, dsp_flag_z, IMM_2, RN); #endif - uint32 res = RN | (1 << IMM_1); + uint32_t res = RN | (1 << IMM_1); RN = res; SET_ZN(res); #ifdef DSP_DIS_BSET @@ -2376,25 +2376,25 @@ static void dsp_opcode_imacn(void) if (doDSPDis) WriteLog("%06X: IMACN R%02u, R%02u [NCZ:%u%u%u, R%02u=%08X, R%02u=%08X] -> ", dsp_pc-2, IMM_1, IMM_2, dsp_flag_n, dsp_flag_c, dsp_flag_z, IMM_1, RM, IMM_2, RN); #endif - int32 res = (int16)RM * (int16)RN; - dsp_acc += (int64)res; + int32_t res = (int16_t)RM * (int16_t)RN; + dsp_acc += (int64_t)res; //Should we AND the result to fit into 40 bits here??? #ifdef DSP_DIS_IMACN if (doDSPDis) - WriteLog("[NCZ:%u%u%u, DSP_ACC=%02X%08X]\n", dsp_flag_n, dsp_flag_c, dsp_flag_z, (uint8)(dsp_acc >> 32), (uint32)(dsp_acc & 0xFFFFFFFF)); + WriteLog("[NCZ:%u%u%u, DSP_ACC=%02X%08X]\n", dsp_flag_n, dsp_flag_c, dsp_flag_z, (uint8_t)(dsp_acc >> 32), (uint32_t)(dsp_acc & 0xFFFFFFFF)); #endif } static void dsp_opcode_mtoi(void) { - RN = (((int32)RM >> 8) & 0xFF800000) | (RM & 0x007FFFFF); + RN = (((int32_t)RM >> 8) & 0xFF800000) | (RM & 0x007FFFFF); SET_ZN(RN); } static void dsp_opcode_normi(void) { - uint32 _Rm = RM; - uint32 res = 0; + uint32_t _Rm = RM; + uint32_t res = 0; if (_Rm) { @@ -2416,20 +2416,20 @@ static void dsp_opcode_normi(void) static void dsp_opcode_mmult(void) { int count = dsp_matrix_control&0x0f; - uint32 addr = dsp_pointer_to_matrix; // in the dsp ram - int64 accum = 0; - uint32 res; + uint32_t addr = dsp_pointer_to_matrix; // in the dsp ram + int64_t accum = 0; + uint32_t res; if (!(dsp_matrix_control & 0x10)) { for (int i = 0; i < count; i++) { - int16 a; + int16_t a; if (i&0x01) - a=(int16)((dsp_alternate_reg[dsp_opcode_first_parameter + (i>>1)]>>16)&0xffff); + a=(int16_t)((dsp_alternate_reg[dsp_opcode_first_parameter + (i>>1)]>>16)&0xffff); else - a=(int16)(dsp_alternate_reg[dsp_opcode_first_parameter + (i>>1)]&0xffff); - int16 b=((int16)DSPReadWord(addr + 2, DSP)); + a=(int16_t)(dsp_alternate_reg[dsp_opcode_first_parameter + (i>>1)]&0xffff); + int16_t b=((int16_t)DSPReadWord(addr + 2, DSP)); accum += a*b; addr += 4; } @@ -2438,17 +2438,17 @@ static void dsp_opcode_mmult(void) { for (int i = 0; i < count; i++) { - int16 a; + int16_t a; if (i&0x01) - a=(int16)((dsp_alternate_reg[dsp_opcode_first_parameter + (i>>1)]>>16)&0xffff); + a=(int16_t)((dsp_alternate_reg[dsp_opcode_first_parameter + (i>>1)]>>16)&0xffff); else - a=(int16)(dsp_alternate_reg[dsp_opcode_first_parameter + (i>>1)]&0xffff); - int16 b=((int16)DSPReadWord(addr + 2, DSP)); + a=(int16_t)(dsp_alternate_reg[dsp_opcode_first_parameter + (i>>1)]&0xffff); + int16_t b=((int16_t)DSPReadWord(addr + 2, DSP)); accum += a*b; addr += 4 * count; } } - RN = res = (int32)accum; + RN = res = (int32_t)accum; // carry flag to do //NOTE: The flags are set based upon the last add/multiply done... SET_ZN(RN); @@ -2460,8 +2460,8 @@ static void dsp_opcode_abs(void) if (doDSPDis) WriteLog("%06X: ABS R%02u [NCZ:%u%u%u, R%02u=%08X] -> ", dsp_pc-2, IMM_2, dsp_flag_n, dsp_flag_c, dsp_flag_z, IMM_2, RN); #endif - uint32 _Rn = RN; - uint32 res; + uint32_t _Rn = RN; + uint32_t res; if (_Rn == 0x80000000) dsp_flag_n = 1; @@ -2479,17 +2479,17 @@ static void dsp_opcode_abs(void) static void dsp_opcode_div(void) { - uint32 _Rm=RM; - uint32 _Rn=RN; + uint32_t _Rm=RM; + uint32_t _Rn=RN; if (_Rm) { if (dsp_div_control & 1) { - dsp_remain = (((uint64)_Rn) << 16) % _Rm; + dsp_remain = (((uint64_t)_Rn) << 16) % _Rm; if (dsp_remain&0x80000000) dsp_remain-=_Rm; - RN = (((uint64)_Rn) << 16) / _Rm; + RN = (((uint64_t)_Rn) << 16) / _Rm; } else { @@ -2510,12 +2510,12 @@ static void dsp_opcode_imultn(void) WriteLog("%06X: IMULTN R%02u, R%02u [NCZ:%u%u%u, R%02u=%08X, R%02u=%08X] -> ", dsp_pc-2, IMM_1, IMM_2, dsp_flag_n, dsp_flag_c, dsp_flag_z, IMM_1, RM, IMM_2, RN); #endif // This is OK, since this multiply won't overflow 32 bits... - int32 res = (int32)((int16)RN * (int16)RM); - dsp_acc = (int64)res; + int32_t res = (int32_t)((int16_t)RN * (int16_t)RM); + dsp_acc = (int64_t)res; SET_ZN(res); #ifdef DSP_DIS_IMULTN if (doDSPDis) - WriteLog("[NCZ:%u%u%u, DSP_ACC=%02X%08X]\n", dsp_flag_n, dsp_flag_c, dsp_flag_z, (uint8)(dsp_acc >> 32), (uint32)(dsp_acc & 0xFFFFFFFF)); + WriteLog("[NCZ:%u%u%u, DSP_ACC=%02X%08X]\n", dsp_flag_n, dsp_flag_c, dsp_flag_z, (uint8_t)(dsp_acc >> 32), (uint32_t)(dsp_acc & 0xFFFFFFFF)); #endif } @@ -2525,7 +2525,7 @@ static void dsp_opcode_neg(void) if (doDSPDis) WriteLog("%06X: NEG R%02u [NCZ:%u%u%u, R%02u=%08X] -> ", dsp_pc-2, IMM_2, dsp_flag_n, dsp_flag_c, dsp_flag_z, IMM_2, RN); #endif - uint32 res = -RN; + uint32_t res = -RN; SET_ZNC_SUB(0, RN, res); RN = res; #ifdef DSP_DIS_NEG @@ -2541,8 +2541,8 @@ static void dsp_opcode_shlq(void) WriteLog("%06X: SHLQ #%u, R%02u [NCZ:%u%u%u, R%02u=%08X] -> ", dsp_pc-2, 32 - IMM_1, IMM_2, dsp_flag_n, dsp_flag_c, dsp_flag_z, IMM_2, RN); #endif // NB: This instruction is the *only* one that does (32 - immediate data). - int32 r1 = 32 - IMM_1; - uint32 res = RN << r1; + int32_t r1 = 32 - IMM_1; + uint32_t res = RN << r1; SET_ZN(res); dsp_flag_c = (RN >> 31) & 1; RN = res; #ifdef DSP_DIS_SHLQ @@ -2557,8 +2557,8 @@ static void dsp_opcode_shrq(void) if (doDSPDis) WriteLog("%06X: SHRQ #%u, R%02u [NCZ:%u%u%u, R%02u=%08X] -> ", dsp_pc-2, dsp_convert_zero[IMM_1], IMM_2, dsp_flag_n, dsp_flag_c, dsp_flag_z, IMM_2, RN); #endif - int32 r1 = dsp_convert_zero[IMM_1]; - uint32 res = RN >> r1; + int32_t r1 = dsp_convert_zero[IMM_1]; + uint32_t res = RN >> r1; SET_ZN(res); dsp_flag_c = RN & 1; RN = res; #ifdef DSP_DIS_SHRQ @@ -2573,8 +2573,8 @@ static void dsp_opcode_ror(void) if (doDSPDis) WriteLog("%06X: ROR R%02u, R%02u [NCZ:%u%u%u, R%02u=%08X, R%02u=%08X] -> ", dsp_pc-2, IMM_1, IMM_2, dsp_flag_n, dsp_flag_c, dsp_flag_z, IMM_1, RM, IMM_2, RN); #endif - uint32 r1 = RM & 0x1F; - uint32 res = (RN >> r1) | (RN << (32 - r1)); + uint32_t r1 = RM & 0x1F; + uint32_t res = (RN >> r1) | (RN << (32 - r1)); SET_ZN(res); dsp_flag_c = (RN >> 31) & 1; RN = res; #ifdef DSP_DIS_ROR @@ -2589,9 +2589,9 @@ static void dsp_opcode_rorq(void) if (doDSPDis) WriteLog("%06X: RORQ #%u, R%02u [NCZ:%u%u%u, R%02u=%08X] -> ", dsp_pc-2, dsp_convert_zero[IMM_1], IMM_2, dsp_flag_n, dsp_flag_c, dsp_flag_z, IMM_2, RN); #endif - uint32 r1 = dsp_convert_zero[IMM_1 & 0x1F]; - uint32 r2 = RN; - uint32 res = (r2 >> r1) | (r2 << (32 - r1)); + uint32_t r1 = dsp_convert_zero[IMM_1 & 0x1F]; + uint32_t r2 = RN; + uint32_t res = (r2 >> r1) | (r2 << (32 - r1)); RN = res; SET_ZN(res); dsp_flag_c = (r2 >> 31) & 0x01; #ifdef DSP_DIS_RORQ @@ -2602,12 +2602,12 @@ static void dsp_opcode_rorq(void) static void dsp_opcode_sha(void) { - int32 sRm=(int32)RM; - uint32 _Rn=RN; + int32_t sRm=(int32_t)RM; + uint32_t _Rn=RN; if (sRm<0) { - uint32 shift=-sRm; + uint32_t shift=-sRm; if (shift>=32) shift=32; dsp_flag_c=(_Rn&0x80000000)>>31; while (shift) @@ -2618,12 +2618,12 @@ static void dsp_opcode_sha(void) } else { - uint32 shift=sRm; + uint32_t shift=sRm; if (shift>=32) shift=32; dsp_flag_c=_Rn&0x1; while (shift) { - _Rn=((int32)_Rn)>>1; + _Rn=((int32_t)_Rn)>>1; shift--; } } @@ -2637,7 +2637,7 @@ static void dsp_opcode_sharq(void) if (doDSPDis) WriteLog("%06X: SHARQ #%u, R%02u [NCZ:%u%u%u, R%02u=%08X] -> ", dsp_pc-2, dsp_convert_zero[IMM_1], IMM_2, dsp_flag_n, dsp_flag_c, dsp_flag_z, IMM_2, RN); #endif - uint32 res = (int32)RN >> dsp_convert_zero[IMM_1]; + uint32_t res = (int32_t)RN >> dsp_convert_zero[IMM_1]; SET_ZN(res); dsp_flag_c = RN & 0x01; RN = res; #ifdef DSP_DIS_SHARQ @@ -2648,12 +2648,12 @@ static void dsp_opcode_sharq(void) static void dsp_opcode_sh(void) { - int32 sRm=(int32)RM; - uint32 _Rn=RN; + int32_t sRm=(int32_t)RM; + uint32_t _Rn=RN; if (sRm<0) { - uint32 shift=(-sRm); + uint32_t shift=(-sRm); if (shift>=32) shift=32; dsp_flag_c=(_Rn&0x80000000)>>31; while (shift) @@ -2664,7 +2664,7 @@ static void dsp_opcode_sh(void) } else { - uint32 shift=sRm; + uint32_t shift=sRm; if (shift>=32) shift=32; dsp_flag_c=_Rn&0x1; while (shift) @@ -2683,9 +2683,9 @@ void dsp_opcode_addqmod(void) if (doDSPDis) WriteLog("%06X: ADDQMOD #%u, R%02u [NCZ:%u%u%u, R%02u=%08X, DSP_MOD=%08X] -> ", dsp_pc-2, dsp_convert_zero[IMM_1], IMM_2, dsp_flag_n, dsp_flag_c, dsp_flag_z, IMM_2, RN, dsp_modulo); #endif - uint32 r1 = dsp_convert_zero[IMM_1]; - uint32 r2 = RN; - uint32 res = r2 + r1; + uint32_t r1 = dsp_convert_zero[IMM_1]; + uint32_t r2 = RN; + uint32_t res = r2 + r1; res = (res & (~dsp_modulo)) | (r2 & dsp_modulo); RN = res; SET_ZNC_ADD(r2, r1, res); @@ -2697,9 +2697,9 @@ void dsp_opcode_addqmod(void) void dsp_opcode_subqmod(void) { - uint32 r1 = dsp_convert_zero[IMM_1]; - uint32 r2 = RN; - uint32 res = r2 - r1; + uint32_t r1 = dsp_convert_zero[IMM_1]; + uint32_t r2 = RN; + uint32_t res = r2 - r1; res = (res & (~dsp_modulo)) | (r2 & dsp_modulo); RN = res; @@ -2708,24 +2708,24 @@ void dsp_opcode_subqmod(void) void dsp_opcode_mirror(void) { - uint32 r1 = RN; + uint32_t r1 = RN; RN = (mirror_table[r1 & 0xFFFF] << 16) | mirror_table[r1 >> 16]; SET_ZN(RN); } void dsp_opcode_sat32s(void) { - int32 r2 = (uint32)RN; - int32 temp = dsp_acc >> 32; - uint32 res = (temp < -1) ? (int32)0x80000000 : (temp > 0) ? (int32)0x7FFFFFFF : r2; + int32_t r2 = (uint32_t)RN; + int32_t temp = dsp_acc >> 32; + uint32_t res = (temp < -1) ? (int32_t)0x80000000 : (temp > 0) ? (int32_t)0x7FFFFFFF : r2; RN = res; SET_ZN(res); } void dsp_opcode_sat16s(void) { - int32 r2 = RN; - uint32 res = (r2 < -32768) ? -32768 : (r2 > 32767) ? 32767 : r2; + int32_t r2 = RN; + uint32_t res = (r2 < -32768) ? -32768 : (r2 > 32767) ? 32767 : r2; RN = res; SET_ZN(res); } @@ -2880,7 +2880,7 @@ void FlushDSPPipeline(void) // // New pipelined DSP execution core // -/*void DSPExecP(int32 cycles) +/*void DSPExecP(int32_t cycles) { // bool inhibitFetch = false; @@ -2906,8 +2906,8 @@ WriteLog("\n"); pipeline[plPtrFetch].operand1 = (pipeline[plPtrFetch].instruction >> 5) & 0x1F; pipeline[plPtrFetch].operand2 = pipeline[plPtrFetch].instruction & 0x1F; if (pipeline[plPtrFetch].opcode == 38) - pipeline[plPtrFetch].result = (uint32)DSPReadWord(dsp_pc + 2, DSP) - | ((uint32)DSPReadWord(dsp_pc + 4, DSP) << 16); + pipeline[plPtrFetch].result = (uint32_t)DSPReadWord(dsp_pc + 2, DSP) + | ((uint32_t)DSPReadWord(dsp_pc + 4, DSP) << 16); // } // else // inhibitFetch = false; @@ -3141,19 +3141,19 @@ F1B016: NOP [NCZ:001] F1B1FC: MOVEI #$00F1A100, R01 [NCZ:001, R01=00F1A100] -> [NCZ:001, R01=00F1A100] */ -uint32 pcQueue1[0x400]; -uint32 pcQPtr1 = 0; -static uint32 prevR1; +uint32_t pcQueue1[0x400]; +uint32_t pcQPtr1 = 0; +static uint32_t prevR1; //Let's try a 3 stage pipeline.... //Looks like 3 stage is correct, otherwise bad things happen... -void DSPExecP2(int32 cycles) +void DSPExecP2(int32_t cycles) { dsp_releaseTimeSlice_flag = 0; dsp_in_exec++; while (cycles > 0 && DSP_RUNNING) { -/*extern uint32 totalFrames; +/*extern uint32_t totalFrames; //F1B2F6: LOAD (R14+$04), R24 [NCZ:001, R14+$04=00F20018, R24=FFFFFFFF] -> Jaguar: Unknown word read at 00F20018 by DSP (M68K PC=00E32E) //-> 43 + 1 + 24 -> $2B + $01 + $18 -> 101011 00001 11000 -> 1010 1100 0011 1000 -> AC38 //C470 -> 1100 0100 0111 0000 -> 110001 00011 10000 -> 49, 3, 16 -> STORE R16, (R14+$0C) @@ -3231,8 +3231,8 @@ WriteLog("\n"); pipeline[plPtrRead].operand1 = (pipeline[plPtrRead].instruction >> 5) & 0x1F; pipeline[plPtrRead].operand2 = pipeline[plPtrRead].instruction & 0x1F; if (pipeline[plPtrRead].opcode == 38) - pipeline[plPtrRead].result = (uint32)DSPReadWord(dsp_pc + 2, DSP) - | ((uint32)DSPReadWord(dsp_pc + 4, DSP) << 16); + pipeline[plPtrRead].result = (uint32_t)DSPReadWord(dsp_pc + 2, DSP) + | ((uint32_t)DSPReadWord(dsp_pc + 4, DSP) << 16); #ifdef DSP_DEBUG_PL2 if (doDSPDis) { @@ -3399,7 +3399,7 @@ WriteLog("\n"); /* //#define DSP_DEBUG_PL3 //Let's try a 2 stage pipeline.... -void DSPExecP3(int32 cycles) +void DSPExecP3(int32_t cycles) { dsp_releaseTimeSlice_flag = 0; dsp_in_exec++; @@ -3423,8 +3423,8 @@ WriteLog("\n"); pipeline[plPtrRead].operand1 = (pipeline[plPtrRead].instruction >> 5) & 0x1F; pipeline[plPtrRead].operand2 = pipeline[plPtrRead].instruction & 0x1F; if (pipeline[plPtrRead].opcode == 38) - pipeline[plPtrRead].result = (uint32)DSPReadWord(dsp_pc + 2, DSP) - | ((uint32)DSPReadWord(dsp_pc + 4, DSP) << 16); + pipeline[plPtrRead].result = (uint32_t)DSPReadWord(dsp_pc + 2, DSP) + | ((uint32_t)DSPReadWord(dsp_pc + 4, DSP) << 16); #ifdef DSP_DEBUG_PL3 WriteLog("DSPExecP: Fetching instruction (%04X) from DSP_PC = %08X...\n", pipeline[plPtrRead].instruction, dsp_pc); WriteLog("DSPExecP: Pipeline status (after stage 1a)...\n"); @@ -3525,7 +3525,7 @@ static void DSP_abs(void) if (doDSPDis) WriteLog("%06X: ABS R%02u [NCZ:%u%u%u, R%02u=%08X] -> ", DSP_PPC, PIMM2, dsp_flag_n, dsp_flag_c, dsp_flag_z, PIMM2, PRN); #endif - uint32 _Rn = PRN; + uint32_t _Rn = PRN; if (_Rn == 0x80000000) dsp_flag_n = 1; @@ -3547,7 +3547,7 @@ static void DSP_add(void) if (doDSPDis) WriteLog("%06X: ADD R%02u, R%02u [NCZ:%u%u%u, R%02u=%08X, R%02u=%08X] -> ", DSP_PPC, PIMM1, PIMM2, dsp_flag_n, dsp_flag_c, dsp_flag_z, PIMM1, PRM, PIMM2, PRN); #endif - uint32 res = PRN + PRM; + uint32_t res = PRN + PRM; SET_ZNC_ADD(PRN, PRM, res); PRES = res; #ifdef DSP_DIS_ADD @@ -3562,8 +3562,8 @@ static void DSP_addc(void) if (doDSPDis) WriteLog("%06X: ADDC R%02u, R%02u [NCZ:%u%u%u, R%02u=%08X, R%02u=%08X] -> ", DSP_PPC, PIMM1, PIMM2, dsp_flag_n, dsp_flag_c, dsp_flag_z, PIMM1, PRM, PIMM2, PRN); #endif - uint32 res = PRN + PRM + dsp_flag_c; - uint32 carry = dsp_flag_c; + uint32_t res = PRN + PRM + dsp_flag_c; + uint32_t carry = dsp_flag_c; // SET_ZNC_ADD(PRN, PRM, res); //???BUG??? Yes! SET_ZNC_ADD(PRN + carry, PRM, res); // SET_ZNC_ADD(PRN, PRM + carry, res); @@ -3580,8 +3580,8 @@ static void DSP_addq(void) if (doDSPDis) WriteLog("%06X: ADDQ #%u, R%02u [NCZ:%u%u%u, R%02u=%08X] -> ", DSP_PPC, dsp_convert_zero[PIMM1], PIMM2, dsp_flag_n, dsp_flag_c, dsp_flag_z, PIMM2, PRN); #endif - uint32 r1 = dsp_convert_zero[PIMM1]; - uint32 res = PRN + r1; + uint32_t r1 = dsp_convert_zero[PIMM1]; + uint32_t res = PRN + r1; CLR_ZNC; SET_ZNC_ADD(PRN, r1, res); PRES = res; #ifdef DSP_DIS_ADDQ @@ -3596,9 +3596,9 @@ static void DSP_addqmod(void) if (doDSPDis) WriteLog("%06X: ADDQMOD #%u, R%02u [NCZ:%u%u%u, R%02u=%08X, DSP_MOD=%08X] -> ", DSP_PPC, dsp_convert_zero[PIMM1], PIMM2, dsp_flag_n, dsp_flag_c, dsp_flag_z, PIMM2, PRN, dsp_modulo); #endif - uint32 r1 = dsp_convert_zero[PIMM1]; - uint32 r2 = PRN; - uint32 res = r2 + r1; + uint32_t r1 = dsp_convert_zero[PIMM1]; + uint32_t r2 = PRN; + uint32_t res = r2 + r1; res = (res & (~dsp_modulo)) | (r2 & dsp_modulo); PRES = res; SET_ZNC_ADD(r2, r1, res); @@ -3683,7 +3683,7 @@ static void DSP_cmp(void) if (doDSPDis) WriteLog("%06X: CMP R%02u, R%02u [NCZ:%u%u%u, R%02u=%08X, R%02u=%08X] -> ", DSP_PPC, PIMM1, PIMM2, dsp_flag_n, dsp_flag_c, dsp_flag_z, PIMM1, PRM, PIMM2, PRN); #endif - uint32 res = PRN - PRM; + uint32_t res = PRN - PRM; SET_ZNC_SUB(PRN, PRM, res); NO_WRITEBACK; #ifdef DSP_DIS_CMP @@ -3694,14 +3694,14 @@ static void DSP_cmp(void) static void DSP_cmpq(void) { - static int32 sqtable[32] = + static int32_t sqtable[32] = { 0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,-16,-15,-14,-13,-12,-11,-10,-9,-8,-7,-6,-5,-4,-3,-2,-1 }; #ifdef DSP_DIS_CMPQ if (doDSPDis) WriteLog("%06X: CMPQ #%d, R%02u [NCZ:%u%u%u, R%02u=%08X] -> ", DSP_PPC, sqtable[PIMM1], PIMM2, dsp_flag_n, dsp_flag_c, dsp_flag_z, PIMM2, PRN); #endif - uint32 r1 = sqtable[PIMM1 & 0x1F]; // I like this better -> (INT8)(jaguar.op >> 2) >> 3; - uint32 res = PRN - r1; + uint32_t r1 = sqtable[PIMM1 & 0x1F]; // I like this better -> (INT8)(jaguar.op >> 2) >> 3; + uint32_t res = PRN - r1; SET_ZNC_SUB(PRN, r1, res); NO_WRITEBACK; #ifdef DSP_DIS_CMPQ @@ -3712,16 +3712,16 @@ static void DSP_cmpq(void) static void DSP_div(void) { - uint32 _Rm = PRM, _Rn = PRN; + uint32_t _Rm = PRM, _Rn = PRN; if (_Rm) { if (dsp_div_control & 1) { - dsp_remain = (((uint64)_Rn) << 16) % _Rm; + dsp_remain = (((uint64_t)_Rn) << 16) % _Rm; if (dsp_remain & 0x80000000) dsp_remain -= _Rm; - PRES = (((uint64)_Rn) << 16) / _Rm; + PRES = (((uint64_t)_Rn) << 16) / _Rm; } else { @@ -3741,13 +3741,13 @@ static void DSP_imacn(void) if (doDSPDis) WriteLog("%06X: IMACN R%02u, R%02u [NCZ:%u%u%u, R%02u=%08X, R%02u=%08X] -> ", DSP_PPC, PIMM1, PIMM2, dsp_flag_n, dsp_flag_c, dsp_flag_z, PIMM1, PRM, PIMM2, PRN); #endif - int32 res = (int16)PRM * (int16)PRN; - dsp_acc += (int64)res; + int32_t res = (int16_t)PRM * (int16_t)PRN; + dsp_acc += (int64_t)res; //Should we AND the result to fit into 40 bits here??? NO_WRITEBACK; #ifdef DSP_DIS_IMACN if (doDSPDis) - WriteLog("[NCZ:%u%u%u, DSP_ACC=%02X%08X]\n", dsp_flag_n, dsp_flag_c, dsp_flag_z, (uint8)(dsp_acc >> 32), (uint32)(dsp_acc & 0xFFFFFFFF)); + WriteLog("[NCZ:%u%u%u, DSP_ACC=%02X%08X]\n", dsp_flag_n, dsp_flag_c, dsp_flag_z, (uint8_t)(dsp_acc >> 32), (uint32_t)(dsp_acc & 0xFFFFFFFF)); #endif } @@ -3757,7 +3757,7 @@ static void DSP_imult(void) if (doDSPDis) WriteLog("%06X: IMULT R%02u, R%02u [NCZ:%u%u%u, R%02u=%08X, R%02u=%08X] -> ", DSP_PPC, PIMM1, PIMM2, dsp_flag_n, dsp_flag_c, dsp_flag_z, PIMM1, PRM, PIMM2, PRN); #endif - PRES = (int16)PRN * (int16)PRM; + PRES = (int16_t)PRN * (int16_t)PRM; SET_ZN(PRES); #ifdef DSP_DIS_IMULT if (doDSPDis) @@ -3772,13 +3772,13 @@ static void DSP_imultn(void) WriteLog("%06X: IMULTN R%02u, R%02u [NCZ:%u%u%u, R%02u=%08X, R%02u=%08X] -> ", DSP_PPC, PIMM1, PIMM2, dsp_flag_n, dsp_flag_c, dsp_flag_z, PIMM1, PRM, PIMM2, PRN); #endif // This is OK, since this multiply won't overflow 32 bits... - int32 res = (int32)((int16)PRN * (int16)PRM); - dsp_acc = (int64)res; + int32_t res = (int32_t)((int16_t)PRN * (int16_t)PRM); + dsp_acc = (int64_t)res; SET_ZN(res); NO_WRITEBACK; #ifdef DSP_DIS_IMULTN if (doDSPDis) - WriteLog("[NCZ:%u%u%u, DSP_ACC=%02X%08X]\n", dsp_flag_n, dsp_flag_c, dsp_flag_z, (uint8)(dsp_acc >> 32), (uint32)(dsp_acc & 0xFFFFFFFF)); + WriteLog("[NCZ:%u%u%u, DSP_ACC=%02X%08X]\n", dsp_flag_n, dsp_flag_c, dsp_flag_z, (uint8_t)(dsp_acc >> 32), (uint32_t)(dsp_acc & 0xFFFFFFFF)); #endif } @@ -3809,7 +3809,7 @@ const char * condition[32] = WriteLog("%06X: JR %s, %06X [NCZ:%u%u%u] ", DSP_PPC, condition[PIMM2], DSP_PPC+((PIMM1 & 0x10 ? 0xFFFFFFF0 | PIMM1 : PIMM1) * 2)+2, dsp_flag_n, dsp_flag_c, dsp_flag_z); #endif // KLUDGE: Used by BRANCH_CONDITION macro - uint32 jaguar_flags = (dsp_flag_n << 2) | (dsp_flag_c << 1) | dsp_flag_z; + uint32_t jaguar_flags = (dsp_flag_n << 2) | (dsp_flag_c << 1) | dsp_flag_z; if (BRANCH_CONDITION(PIMM2)) { @@ -3817,9 +3817,9 @@ const char * condition[32] = if (doDSPDis) WriteLog("Branched!\n"); #endif - int32 offset = (PIMM1 & 0x10 ? 0xFFFFFFF0 | PIMM1 : PIMM1); // Sign extend PIMM1 + int32_t offset = (PIMM1 & 0x10 ? 0xFFFFFFF0 | PIMM1 : PIMM1); // Sign extend PIMM1 //Account for pipeline effects... - uint32 newPC = dsp_pc + (offset * 2) - (pipeline[plPtrRead].opcode == 38 ? 6 : (pipeline[plPtrRead].opcode == PIPELINE_STALL ? 0 : 2)); + uint32_t newPC = dsp_pc + (offset * 2) - (pipeline[plPtrRead].opcode == 38 ? 6 : (pipeline[plPtrRead].opcode == PIPELINE_STALL ? 0 : 2)); //WriteLog(" --> Old PC: %08X, new PC: %08X\n", dsp_pc, newPC); // Now that we've branched, we have to make sure that the following instruction @@ -3876,7 +3876,7 @@ const char * condition[32] = // remove this crap. if (pipeline[plPtrExec].opcode == PIPELINE_STALL) { - uint16 instruction = DSPReadWord(dsp_pc, DSP); + uint16_t instruction = DSPReadWord(dsp_pc, DSP); pipeline[plPtrExec].opcode = instruction >> 10; pipeline[plPtrExec].operand1 = (instruction >> 5) & 0x1F; pipeline[plPtrExec].operand2 = instruction & 0x1F; @@ -3918,7 +3918,7 @@ const char * condition[32] = WriteLog("%06X: JUMP %s, (R%02u) [NCZ:%u%u%u, R%02u=%08X] ", DSP_PPC, condition[PIMM2], PIMM1, dsp_flag_n, dsp_flag_c, dsp_flag_z, PIMM1, PRM); #endif // KLUDGE: Used by BRANCH_CONDITION macro - uint32 jaguar_flags = (dsp_flag_n << 2) | (dsp_flag_c << 1) | dsp_flag_z; + uint32_t jaguar_flags = (dsp_flag_n << 2) | (dsp_flag_c << 1) | dsp_flag_z; if (BRANCH_CONDITION(PIMM2)) { @@ -3926,7 +3926,7 @@ const char * condition[32] = if (doDSPDis) WriteLog("Branched!\n"); #endif - uint32 PCSave = PRM; + uint32_t PCSave = PRM; // Now that we've branched, we have to make sure that the following instruction // is executed atomically with this one and then flush the pipeline before setting // the new PC. @@ -3982,7 +3982,7 @@ const char * condition[32] = // remove this crap. if (pipeline[plPtrExec].opcode == PIPELINE_STALL) { - uint16 instruction = DSPReadWord(dsp_pc, DSP); + uint16_t instruction = DSPReadWord(dsp_pc, DSP); pipeline[plPtrExec].opcode = instruction >> 10; pipeline[plPtrExec].operand1 = (instruction >> 5) & 0x1F; pipeline[plPtrExec].operand2 = instruction & 0x1F; @@ -4137,7 +4137,7 @@ static void DSP_load_r15_r(void) static void DSP_mirror(void) { - uint32 r1 = PRN; + uint32_t r1 = PRN; PRES = (mirror_table[r1 & 0xFFFF] << 16) | mirror_table[r1 >> 16]; SET_ZN(PRES); } @@ -4145,20 +4145,20 @@ static void DSP_mirror(void) static void DSP_mmult(void) { int count = dsp_matrix_control&0x0f; - uint32 addr = dsp_pointer_to_matrix; // in the dsp ram - int64 accum = 0; - uint32 res; + uint32_t addr = dsp_pointer_to_matrix; // in the dsp ram + int64_t accum = 0; + uint32_t res; if (!(dsp_matrix_control & 0x10)) { for (int i = 0; i < count; i++) { - int16 a; + int16_t a; if (i&0x01) - a=(int16)((dsp_alternate_reg[dsp_opcode_first_parameter + (i>>1)]>>16)&0xffff); + a=(int16_t)((dsp_alternate_reg[dsp_opcode_first_parameter + (i>>1)]>>16)&0xffff); else - a=(int16)(dsp_alternate_reg[dsp_opcode_first_parameter + (i>>1)]&0xffff); - int16 b=((int16)DSPReadWord(addr + 2, DSP)); + a=(int16_t)(dsp_alternate_reg[dsp_opcode_first_parameter + (i>>1)]&0xffff); + int16_t b=((int16_t)DSPReadWord(addr + 2, DSP)); accum += a*b; addr += 4; } @@ -4167,18 +4167,18 @@ static void DSP_mmult(void) { for (int i = 0; i < count; i++) { - int16 a; + int16_t a; if (i&0x01) - a=(int16)((dsp_alternate_reg[dsp_opcode_first_parameter + (i>>1)]>>16)&0xffff); + a=(int16_t)((dsp_alternate_reg[dsp_opcode_first_parameter + (i>>1)]>>16)&0xffff); else - a=(int16)(dsp_alternate_reg[dsp_opcode_first_parameter + (i>>1)]&0xffff); - int16 b=((int16)DSPReadWord(addr + 2, DSP)); + a=(int16_t)(dsp_alternate_reg[dsp_opcode_first_parameter + (i>>1)]&0xffff); + int16_t b=((int16_t)DSPReadWord(addr + 2, DSP)); accum += a*b; addr += 4 * count; } } - PRES = res = (int32)accum; + PRES = res = (int32_t)accum; // carry flag to do //NOTE: The flags are set based upon the last add/multiply done... SET_ZN(PRES); @@ -4220,7 +4220,7 @@ static void DSP_movei(void) WriteLog("%06X: MOVEI #$%08X, R%02u [NCZ:%u%u%u, R%02u=%08X] -> ", DSP_PPC, PRES, PIMM2, dsp_flag_n, dsp_flag_c, dsp_flag_z, PIMM2, PRN); #endif // // This instruction is followed by 32-bit value in LSW / MSW format... -// PRES = (uint32)DSPReadWord(dsp_pc, DSP) | ((uint32)DSPReadWord(dsp_pc + 2, DSP) << 16); +// PRES = (uint32_t)DSPReadWord(dsp_pc, DSP) | ((uint32_t)DSPReadWord(dsp_pc + 2, DSP) << 16); // dsp_pc += 4; #ifdef DSP_DIS_MOVEI if (doDSPDis) @@ -4276,7 +4276,7 @@ static void DSP_moveta(void) static void DSP_mtoi(void) { - PRES = (((int32)PRM >> 8) & 0xFF800000) | (PRM & 0x007FFFFF); + PRES = (((int32_t)PRM >> 8) & 0xFF800000) | (PRM & 0x007FFFFF); SET_ZN(PRES); } @@ -4286,7 +4286,7 @@ static void DSP_mult(void) if (doDSPDis) WriteLog("%06X: MULT R%02u, R%02u [NCZ:%u%u%u, R%02u=%08X, R%02u=%08X] -> ", DSP_PPC, PIMM1, PIMM2, dsp_flag_n, dsp_flag_c, dsp_flag_z, PIMM1, PRM, PIMM2, PRN); #endif - PRES = (uint16)PRM * (uint16)PRN; + PRES = (uint16_t)PRM * (uint16_t)PRN; SET_ZN(PRES); #ifdef DSP_DIS_MULT if (doDSPDis) @@ -4300,7 +4300,7 @@ static void DSP_neg(void) if (doDSPDis) WriteLog("%06X: NEG R%02u [NCZ:%u%u%u, R%02u=%08X] -> ", DSP_PPC, PIMM2, dsp_flag_n, dsp_flag_c, dsp_flag_z, PIMM2, PRN); #endif - uint32 res = -PRN; + uint32_t res = -PRN; SET_ZNC_SUB(0, PRN, res); PRES = res; #ifdef DSP_DIS_NEG @@ -4320,8 +4320,8 @@ static void DSP_nop(void) static void DSP_normi(void) { - uint32 _Rm = PRM; - uint32 res = 0; + uint32_t _Rm = PRM; + uint32_t res = 0; if (_Rm) { @@ -4372,9 +4372,9 @@ static void DSP_resmac(void) { #ifdef DSP_DIS_RESMAC if (doDSPDis) - WriteLog("%06X: RESMAC R%02u [NCZ:%u%u%u, R%02u=%08X, DSP_ACC=%02X%08X] -> ", DSP_PPC, PIMM2, dsp_flag_n, dsp_flag_c, dsp_flag_z, PIMM2, PRN, (uint8)(dsp_acc >> 32), (uint32)(dsp_acc & 0xFFFFFFFF)); + WriteLog("%06X: RESMAC R%02u [NCZ:%u%u%u, R%02u=%08X, DSP_ACC=%02X%08X] -> ", DSP_PPC, PIMM2, dsp_flag_n, dsp_flag_c, dsp_flag_z, PIMM2, PRN, (uint8_t)(dsp_acc >> 32), (uint32_t)(dsp_acc & 0xFFFFFFFF)); #endif - PRES = (uint32)dsp_acc; + PRES = (uint32_t)dsp_acc; #ifdef DSP_DIS_RESMAC if (doDSPDis) WriteLog("[NCZ:%u%u%u, R%02u=%08X]\n", dsp_flag_n, dsp_flag_c, dsp_flag_z, PIMM2, PRN); @@ -4387,8 +4387,8 @@ static void DSP_ror(void) if (doDSPDis) WriteLog("%06X: ROR R%02u, R%02u [NCZ:%u%u%u, R%02u=%08X, R%02u=%08X] -> ", DSP_PPC, PIMM1, PIMM2, dsp_flag_n, dsp_flag_c, dsp_flag_z, PIMM1, PRM, PIMM2, PRN); #endif - uint32 r1 = PRM & 0x1F; - uint32 res = (PRN >> r1) | (PRN << (32 - r1)); + uint32_t r1 = PRM & 0x1F; + uint32_t res = (PRN >> r1) | (PRN << (32 - r1)); SET_ZN(res); dsp_flag_c = (PRN >> 31) & 1; PRES = res; #ifdef DSP_DIS_ROR @@ -4403,9 +4403,9 @@ static void DSP_rorq(void) if (doDSPDis) WriteLog("%06X: RORQ #%u, R%02u [NCZ:%u%u%u, R%02u=%08X] -> ", DSP_PPC, dsp_convert_zero[PIMM1], PIMM2, dsp_flag_n, dsp_flag_c, dsp_flag_z, PIMM2, PRN); #endif - uint32 r1 = dsp_convert_zero[PIMM1 & 0x1F]; - uint32 r2 = PRN; - uint32 res = (r2 >> r1) | (r2 << (32 - r1)); + uint32_t r1 = dsp_convert_zero[PIMM1 & 0x1F]; + uint32_t r2 = PRN; + uint32_t res = (r2 >> r1) | (r2 << (32 - r1)); PRES = res; SET_ZN(res); dsp_flag_c = (r2 >> 31) & 0x01; #ifdef DSP_DIS_RORQ @@ -4416,29 +4416,29 @@ static void DSP_rorq(void) static void DSP_sat16s(void) { - int32 r2 = PRN; - uint32 res = (r2 < -32768) ? -32768 : (r2 > 32767) ? 32767 : r2; + int32_t r2 = PRN; + uint32_t res = (r2 < -32768) ? -32768 : (r2 > 32767) ? 32767 : r2; PRES = res; SET_ZN(res); } static void DSP_sat32s(void) { - int32 r2 = (uint32)PRN; - int32 temp = dsp_acc >> 32; - uint32 res = (temp < -1) ? (int32)0x80000000 : (temp > 0) ? (int32)0x7FFFFFFF : r2; + int32_t r2 = (uint32_t)PRN; + int32_t temp = dsp_acc >> 32; + uint32_t res = (temp < -1) ? (int32_t)0x80000000 : (temp > 0) ? (int32_t)0x7FFFFFFF : r2; PRES = res; SET_ZN(res); } static void DSP_sh(void) { - int32 sRm = (int32)PRM; - uint32 _Rn = PRN; + int32_t sRm = (int32_t)PRM; + uint32_t _Rn = PRN; if (sRm < 0) { - uint32 shift = -sRm; + uint32_t shift = -sRm; if (shift >= 32) shift = 32; @@ -4453,7 +4453,7 @@ static void DSP_sh(void) } else { - uint32 shift = sRm; + uint32_t shift = sRm; if (shift >= 32) shift = 32; @@ -4473,12 +4473,12 @@ static void DSP_sh(void) static void DSP_sha(void) { - int32 sRm = (int32)PRM; - uint32 _Rn = PRN; + int32_t sRm = (int32_t)PRM; + uint32_t _Rn = PRN; if (sRm < 0) { - uint32 shift = -sRm; + uint32_t shift = -sRm; if (shift >= 32) shift = 32; @@ -4493,7 +4493,7 @@ static void DSP_sha(void) } else { - uint32 shift = sRm; + uint32_t shift = sRm; if (shift >= 32) shift = 32; @@ -4502,7 +4502,7 @@ static void DSP_sha(void) while (shift) { - _Rn = ((int32)_Rn) >> 1; + _Rn = ((int32_t)_Rn) >> 1; shift--; } } @@ -4517,7 +4517,7 @@ static void DSP_sharq(void) if (doDSPDis) WriteLog("%06X: SHARQ #%u, R%02u [NCZ:%u%u%u, R%02u=%08X] -> ", DSP_PPC, dsp_convert_zero[PIMM1], PIMM2, dsp_flag_n, dsp_flag_c, dsp_flag_z, PIMM2, PRN); #endif - uint32 res = (int32)PRN >> dsp_convert_zero[PIMM1]; + uint32_t res = (int32_t)PRN >> dsp_convert_zero[PIMM1]; SET_ZN(res); dsp_flag_c = PRN & 0x01; PRES = res; #ifdef DSP_DIS_SHARQ @@ -4532,8 +4532,8 @@ static void DSP_shlq(void) if (doDSPDis) WriteLog("%06X: SHLQ #%u, R%02u [NCZ:%u%u%u, R%02u=%08X] -> ", DSP_PPC, 32 - PIMM1, PIMM2, dsp_flag_n, dsp_flag_c, dsp_flag_z, PIMM2, PRN); #endif - int32 r1 = 32 - PIMM1; - uint32 res = PRN << r1; + int32_t r1 = 32 - PIMM1; + uint32_t res = PRN << r1; SET_ZN(res); dsp_flag_c = (PRN >> 31) & 1; PRES = res; #ifdef DSP_DIS_SHLQ @@ -4548,8 +4548,8 @@ static void DSP_shrq(void) if (doDSPDis) WriteLog("%06X: SHRQ #%u, R%02u [NCZ:%u%u%u, R%02u=%08X] -> ", DSP_PPC, dsp_convert_zero[PIMM1], PIMM2, dsp_flag_n, dsp_flag_c, dsp_flag_z, PIMM2, PRN); #endif - int32 r1 = dsp_convert_zero[PIMM1]; - uint32 res = PRN >> r1; + int32_t r1 = dsp_convert_zero[PIMM1]; + uint32_t res = PRN >> r1; SET_ZN(res); dsp_flag_c = PRN & 1; PRES = res; #ifdef DSP_DIS_SHRQ @@ -4705,7 +4705,7 @@ static void DSP_sub(void) if (doDSPDis) WriteLog("%06X: SUB R%02u, R%02u [NCZ:%u%u%u, R%02u=%08X, R%02u=%08X] -> ", DSP_PPC, PIMM1, PIMM2, dsp_flag_n, dsp_flag_c, dsp_flag_z, PIMM1, PRM, PIMM2, PRN); #endif - uint32 res = PRN - PRM; + uint32_t res = PRN - PRM; SET_ZNC_SUB(PRN, PRM, res); PRES = res; #ifdef DSP_DIS_SUB @@ -4720,8 +4720,8 @@ static void DSP_subc(void) if (doDSPDis) WriteLog("%06X: SUBC R%02u, R%02u [NCZ:%u%u%u, R%02u=%08X, R%02u=%08X] -> ", DSP_PPC, PIMM1, PIMM2, dsp_flag_n, dsp_flag_c, dsp_flag_z, PIMM1, PRM, PIMM2, PRN); #endif - uint32 res = PRN - PRM - dsp_flag_c; - uint32 borrow = dsp_flag_c; + uint32_t res = PRN - PRM - dsp_flag_c; + uint32_t borrow = dsp_flag_c; SET_ZNC_SUB(PRN - borrow, PRM, res); PRES = res; #ifdef DSP_DIS_SUBC @@ -4736,8 +4736,8 @@ static void DSP_subq(void) if (doDSPDis) WriteLog("%06X: SUBQ #%u, R%02u [NCZ:%u%u%u, R%02u=%08X] -> ", DSP_PPC, dsp_convert_zero[PIMM1], PIMM2, dsp_flag_n, dsp_flag_c, dsp_flag_z, PIMM2, PRN); #endif - uint32 r1 = dsp_convert_zero[PIMM1]; - uint32 res = PRN - r1; + uint32_t r1 = dsp_convert_zero[PIMM1]; + uint32_t res = PRN - r1; SET_ZNC_SUB(PRN, r1, res); PRES = res; #ifdef DSP_DIS_SUBQ @@ -4748,9 +4748,9 @@ static void DSP_subq(void) static void DSP_subqmod(void) { - uint32 r1 = dsp_convert_zero[PIMM1]; - uint32 r2 = PRN; - uint32 res = r2 - r1; + uint32_t r1 = dsp_convert_zero[PIMM1]; + uint32_t r2 = PRN; + uint32_t res = r2 - r1; res = (res & (~dsp_modulo)) | (r2 & dsp_modulo); PRES = res; SET_ZNC_SUB(r2, r1, res); diff --git a/src/dsp.h b/src/dsp.h index 935c6e6..e1d77dd 100644 --- a/src/dsp.h +++ b/src/dsp.h @@ -1,11 +1,10 @@ // -// DSP.H +// dsp.h // #ifndef __DSP_H__ #define __DSP_H__ -//#include "types.h" #include "memory.h" #define DSP_CONTROL_RAM_BASE 0x00F1A100 @@ -13,29 +12,29 @@ void DSPInit(void); void DSPReset(void); -void DSPExec(int32); +void DSPExec(int32_t); void DSPDone(void); void DSPUpdateRegisterBanks(void); void DSPHandleIRQs(void); void DSPSetIRQLine(int irqline, int state); -uint8 DSPReadByte(uint32 offset, uint32 who = UNKNOWN); -uint16 DSPReadWord(uint32 offset, uint32 who = UNKNOWN); -uint32 DSPReadLong(uint32 offset, uint32 who = UNKNOWN); -void DSPWriteByte(uint32 offset, uint8 data, uint32 who = UNKNOWN); -void DSPWriteWord(uint32 offset, uint16 data, uint32 who = UNKNOWN); -void DSPWriteLong(uint32 offset, uint32 data, uint32 who = UNKNOWN); +uint8_t DSPReadByte(uint32_t offset, uint32_t who = UNKNOWN); +uint16_t DSPReadWord(uint32_t offset, uint32_t who = UNKNOWN); +uint32_t DSPReadLong(uint32_t offset, uint32_t who = UNKNOWN); +void DSPWriteByte(uint32_t offset, uint8_t data, uint32_t who = UNKNOWN); +void DSPWriteWord(uint32_t offset, uint16_t data, uint32_t who = UNKNOWN); +void DSPWriteLong(uint32_t offset, uint32_t data, uint32_t who = UNKNOWN); void DSPReleaseTimeslice(void); bool DSPIsRunning(void); -void DSPExecP(int32 cycles); -void DSPExecP2(int32 cycles); -//void DSPExecP3(int32 cycles); -void DSPExecComp(int32 cycles); +void DSPExecP(int32_t cycles); +void DSPExecP2(int32_t cycles); +//void DSPExecP3(int32_t cycles); +void DSPExecComp(int32_t cycles); // Exported vars extern bool doDSPDis; -extern uint32 dsp_reg_bank_0[], dsp_reg_bank_1[]; +extern uint32_t dsp_reg_bank_0[], dsp_reg_bank_1[]; // DSP interrupt numbers (in $F1A100, bits 4-8 & 16) diff --git a/src/eeprom.cpp b/src/eeprom.cpp index bba94af..485a2a1 100644 --- a/src/eeprom.cpp +++ b/src/eeprom.cpp @@ -23,16 +23,16 @@ #define eeprom_LOG -static uint16 eeprom_ram[64]; +static uint16_t eeprom_ram[64]; // // Private function prototypes // static void EEPROMSave(void); -static void eeprom_set_di(uint32 state); -static void eeprom_set_cs(uint32 state); -static uint32 eeprom_get_do(void); +static void eeprom_set_di(uint32_t state); +static void eeprom_set_cs(uint32_t state); +static uint32_t eeprom_get_do(void); enum { EE_STATE_START = 1, EE_STATE_OP_A, EE_STATE_OP_B, EE_STATE_0, EE_STATE_1, EE_STATE_2, EE_STATE_3, EE_STATE_0_0, EE_READ_ADDRESS, EE_STATE_0_0_0, @@ -41,15 +41,15 @@ enum { EE_STATE_START = 1, EE_STATE_OP_A, EE_STATE_OP_B, EE_STATE_0, EE_STATE_1, // Local global variables -static uint16 jerry_ee_state = EE_STATE_START; -static uint16 jerry_ee_op = 0; -static uint16 jerry_ee_rstate = 0; -static uint16 jerry_ee_address_data = 0; -static uint16 jerry_ee_address_cnt = 6; -static uint16 jerry_ee_data = 0; -static uint16 jerry_ee_data_cnt = 16; -static uint16 jerry_writes_enabled = 0; -static uint16 jerry_ee_direct_jump = 0; +static uint16_t jerry_ee_state = EE_STATE_START; +static uint16_t jerry_ee_op = 0; +static uint16_t jerry_ee_rstate = 0; +static uint16_t jerry_ee_address_data = 0; +static uint16_t jerry_ee_address_cnt = 6; +static uint16_t jerry_ee_data = 0; +static uint16_t jerry_ee_data_cnt = 16; +static uint16_t jerry_writes_enabled = 0; +static uint16_t jerry_ee_direct_jump = 0; static char eeprom_filename[MAX_PATH]; static bool foundEEPROM = false; @@ -72,7 +72,7 @@ void EepromInit(void) void EepromReset(void) { if (!foundEEPROM) - memset(eeprom_ram, 0xFF, 64 * sizeof(uint16)); + memset(eeprom_ram, 0xFF, 64 * sizeof(uint16_t)); } void EepromDone(void) @@ -94,7 +94,7 @@ static void EEPROMSave(void) fclose(fp); } -uint8 EepromReadByte(uint32 offset) +uint8_t EepromReadByte(uint32_t offset) { switch (offset) { @@ -111,12 +111,12 @@ uint8 EepromReadByte(uint32 offset) return 0x00; } -uint16 EepromReadWord(uint32 offset) +uint16_t EepromReadWord(uint32_t offset) { - return ((uint16)EepromReadByte(offset + 0) << 8) | EepromReadByte(offset + 1); + return ((uint16_t)EepromReadByte(offset + 0) << 8) | EepromReadByte(offset + 1); } -void EepromWriteByte(uint32 offset, uint8 data) +void EepromWriteByte(uint32_t offset, uint8_t data) { switch (offset) { @@ -132,13 +132,13 @@ void EepromWriteByte(uint32 offset, uint8 data) } } -void EepromWriteWord(uint32 offset, uint16 data) +void EepromWriteWord(uint32_t offset, uint16_t data) { EepromWriteByte(offset + 0, (data >> 8) & 0xFF); EepromWriteByte(offset + 1, data & 0xFF); } -static void eeprom_set_di(uint32 data) +static void eeprom_set_di(uint32_t data) { // WriteLog("eeprom: di=%i\n",data); // WriteLog("eeprom: state %i\n",jerry_ee_state); @@ -299,7 +299,7 @@ static void eeprom_set_di(uint32 data) } } -static void eeprom_set_cs(uint32 state) +static void eeprom_set_cs(uint32_t state) { // WriteLog("eeprom: cs=%i\n",state); jerry_ee_state = EE_STATE_START; @@ -312,9 +312,9 @@ static void eeprom_set_cs(uint32 state) jerry_writes_enabled = 1; } -static uint32 eeprom_get_do(void) +static uint32_t eeprom_get_do(void) { - uint16 data = 1; + uint16_t data = 1; switch (jerry_ee_state) { diff --git a/src/eeprom.h b/src/eeprom.h index 02b92c2..0cb41c4 100644 --- a/src/eeprom.h +++ b/src/eeprom.h @@ -5,16 +5,16 @@ #ifndef __EEPROM_H__ #define __EEPROM_H__ -#include "types.h" +#include void EepromInit(void); void EepromReset(void); void EepromDone(void); void EepromUpdate(void); -uint8 EepromReadByte(uint32 offset); -uint16 EepromReadWord(uint32 offset); -void EepromWriteByte(uint32 offset, uint8 data); -void EepromWriteWord(uint32 offset, uint16 data); +uint8_t EepromReadByte(uint32_t offset); +uint16_t EepromReadWord(uint32_t offset); +void EepromWriteByte(uint32_t offset, uint8_t data); +void EepromWriteWord(uint32_t offset, uint16_t data); #endif // __EEPROM_H__ diff --git a/src/event.cpp b/src/event.cpp index a923f37..6951d16 100644 --- a/src/event.cpp +++ b/src/event.cpp @@ -19,8 +19,8 @@ #include "event.h" +#include #include "log.h" -#include "types.h" //#define EVENT_LIST_SIZE 512 diff --git a/src/event.h b/src/event.h index ae6ab38..ff976c9 100644 --- a/src/event.h +++ b/src/event.h @@ -19,8 +19,8 @@ enum { EVENT_MAIN, EVENT_JERRY }; #define HORIZ_PERIOD_IN_USEC_NTSC 63.555555555 #define HORIZ_PERIOD_IN_USEC_PAL 64.0 -#define USEC_TO_RISC_CYCLES(u) (uint32)(((u) / RISC_CYCLE_IN_USEC) + 0.5) -#define USEC_TO_M68K_CYCLES(u) (uint32)(((u) / M68K_CYCLE_IN_USEC) + 0.5) +#define USEC_TO_RISC_CYCLES(u) (uint32_t)(((u) / RISC_CYCLE_IN_USEC) + 0.5) +#define USEC_TO_M68K_CYCLES(u) (uint32_t)(((u) / M68K_CYCLE_IN_USEC) + 0.5) void InitializeEventList(void); void SetCallbackTime(void (* callback)(void), double time, int type = EVENT_MAIN); diff --git a/src/file.cpp b/src/file.cpp index ac81a06..06c6822 100644 --- a/src/file.cpp +++ b/src/file.cpp @@ -32,7 +32,7 @@ static int gzfilelength(gzFile gd); static bool CheckExtension(const char * filename, const char * ext); -//static int ParseFileType(uint8 header1, uint8 header2, uint32 size); +//static int ParseFileType(uint8_t header1, uint8_t header2, uint32_t size); // Private variables/enums @@ -40,12 +40,12 @@ static bool CheckExtension(const char * filename, const char * ext); // // Generic ROM loading // -uint32 JaguarLoadROM(uint8 * &rom, char * path) +uint32_t JaguarLoadROM(uint8_t * &rom, char * path) { // We really should have some kind of sanity checking for the ROM size here to prevent // a buffer overflow... !!! FIX !!! #warning "!!! FIX !!! Should have sanity checking for ROM size to prevent buffer overflow!" - uint32 romSize = 0; + uint32_t romSize = 0; WriteLog("JaguarLoadROM: Attempting to load file '%s'...", path); char * ext = strrchr(path, '.'); @@ -93,7 +93,7 @@ uint32 JaguarLoadROM(uint8 * &rom, char * path) } romSize = gzfilelength(fp); - rom = new uint8[romSize]; + rom = new uint8_t[romSize]; gzseek(fp, 0, SEEK_SET); gzread(fp, rom, romSize); gzclose(fp); @@ -112,7 +112,7 @@ uint32 JaguarLoadROM(uint8 * &rom, char * path) // bool JaguarLoadFile(char * path) { - uint8 * buffer = NULL; + uint8_t * buffer = NULL; jaguarROMSize = JaguarLoadROM(buffer, path); if (jaguarROMSize == 0) @@ -159,7 +159,7 @@ WriteLog("FILE: Cartridge run address is reported as $%X...\n", jaguarRunAddress else if (fileType == JST_ABS_TYPE1) { // For ABS type 1, run address == load address - uint32 loadAddress = GET32(buffer, 0x16), + uint32_t loadAddress = GET32(buffer, 0x16), codeSize = GET32(buffer, 0x02) + GET32(buffer, 0x06); WriteLog("FILE: Setting up homebrew (ABS-1)... Run address: %08X, length: %08X\n", loadAddress, codeSize); memcpy(jagMemSpace + loadAddress, buffer + 0x24, codeSize); @@ -169,7 +169,7 @@ WriteLog("FILE: Cartridge run address is reported as $%X...\n", jaguarRunAddress } else if (fileType == JST_ABS_TYPE2) { - uint32 loadAddress = GET32(buffer, 0x28), runAddress = GET32(buffer, 0x24), + uint32_t loadAddress = GET32(buffer, 0x28), runAddress = GET32(buffer, 0x24), codeSize = GET32(buffer, 0x18) + GET32(buffer, 0x1C); WriteLog("FILE: Setting up homebrew (ABS-2)... Run address: %08X, length: %08X\n", runAddress, codeSize); memcpy(jagMemSpace + loadAddress, buffer + 0xA8, codeSize); @@ -218,7 +218,7 @@ WriteLog("FILE: Cartridge run address is reported as $%X...\n", jaguarRunAddress // { // Still need to do some checking here for type 2 vs. type 3. This assumes 3 // Also, JAGR vs. JAGL (word command size vs. long command size) - uint32 loadAddress = GET32(buffer, 0x22), runAddress = GET32(buffer, 0x2A); + uint32_t loadAddress = GET32(buffer, 0x22), runAddress = GET32(buffer, 0x2A); WriteLog("FILE: Setting up homebrew (Jag Server)... Run address: $%X, length: $%X\n", runAddress, jaguarROMSize - 0x2E); memcpy(jagMemSpace + loadAddress, buffer + 0x2E, jaguarROMSize - 0x2E); delete[] buffer; @@ -262,7 +262,7 @@ SET16(jaguarMainRAM, 0x1000, 0x60FE); // Here: bra Here // bool AlpineLoadFile(char * path) { - uint8 * buffer = NULL; + uint8_t * buffer = NULL; jaguarROMSize = JaguarLoadROM(buffer, path); if (jaguarROMSize == 0) @@ -324,7 +324,7 @@ static int gzfilelength(gzFile gd) // // Compare extension to passed in filename. If equal, return true; otherwise false. // -static bool CheckExtension(const uint8 * filename, const char * ext) +static bool CheckExtension(const uint8_t * filename, const char * ext) { // Sanity checking... if ((filename == NULL) || (ext == NULL)) @@ -345,7 +345,7 @@ static bool CheckExtension(const uint8 * filename, const char * ext) // NOTE: If the thing we're looking for is found, it allocates it in the passed in buffer. // Which means we have to deallocate it later. // -uint32 GetFileFromZIP(const char * zipFile, FileType type, uint8 * &buffer) +uint32_t GetFileFromZIP(const char * zipFile, FileType type, uint8_t * &buffer) { // NOTE: We could easily check for this by discarding anything that's larger than the RAM/ROM // size of the Jaguar console. @@ -400,13 +400,13 @@ uint32 GetFileFromZIP(const char * zipFile, FileType type, uint8 * &buffer) fseek(zip, ze.compressedSize, SEEK_CUR); } - uint32 fileSize = 0; + uint32_t fileSize = 0; if (found) { WriteLog("FILE: Uncompressing..."); // Insert file size sanity check here... - buffer = new uint8[ze.uncompressedSize]; + buffer = new uint8_t[ze.uncompressedSize]; // if (readuncompresszip(zip, ze.compressedSize, buffer) == 0) // if (UncompressFileFromZIP(zip, ze.compressedSize, buffer) == 0) @@ -470,7 +470,7 @@ uint32_t GetFileDBIdentityFromZIP(const char * zipFile) } -bool FindFileInZIPWithCRC32(const char * zipFile, uint32 crc) +bool FindFileInZIPWithCRC32(const char * zipFile, uint32_t crc) { FILE * zip = fopen(zipFile, "rb"); @@ -502,7 +502,7 @@ bool FindFileInZIPWithCRC32(const char * zipFile, uint32 crc) // // Parse the file type based upon file size and/or headers. // -uint32 ParseFileType(uint8_t * buffer, uint32 size) +uint32_t ParseFileType(uint8_t * buffer, uint32_t size) { // Check headers first... @@ -543,7 +543,7 @@ uint32 ParseFileType(uint8_t * buffer, uint32 size) // // Check for universal header // -bool HasUniversalHeader(uint8 * rom, uint32 romSize) +bool HasUniversalHeader(uint8_t * rom, uint32_t romSize) { // Sanity check if (romSize < 8192) diff --git a/src/file.h b/src/file.h index 0bb4e6e..f66798f 100644 --- a/src/file.h +++ b/src/file.h @@ -7,7 +7,7 @@ #ifndef __FILE_H__ #define __FILE_H__ -#include "types.h" +#include #ifdef __cplusplus extern "C" { @@ -17,14 +17,14 @@ enum FileType { FT_SOFTWARE=0, FT_EEPROM, FT_LABEL, FT_BOXART, FT_OVERLAY }; // JST = Jaguar Software Type enum { JST_NONE = 0, JST_ROM, JST_ALPINE, JST_ABS_TYPE1, JST_ABS_TYPE2, JST_JAGSERVER, JST_WTFOMGBBQ }; -uint32 JaguarLoadROM(uint8 * &rom, char * path); +uint32_t JaguarLoadROM(uint8_t * &rom, char * path); bool JaguarLoadFile(char * path); bool AlpineLoadFile(char * path); -uint32 GetFileFromZIP(const char * zipFile, FileType type, uint8 * &buffer); +uint32_t GetFileFromZIP(const char * zipFile, FileType type, uint8_t * &buffer); uint32_t GetFileDBIdentityFromZIP(const char * zipFile); -bool FindFileInZIPWithCRC32(const char * zipFile, uint32 crc); -uint32 ParseFileType(uint8_t * buffer, uint32 size); -bool HasUniversalHeader(uint8 * rom, uint32 romSize); +bool FindFileInZIPWithCRC32(const char * zipFile, uint32_t crc); +uint32_t ParseFileType(uint8_t * buffer, uint32_t size); +bool HasUniversalHeader(uint8_t * rom, uint32_t romSize); #ifdef __cplusplus } diff --git a/src/filedb.cpp b/src/filedb.cpp index fe499f9..e1deee3 100644 --- a/src/filedb.cpp +++ b/src/filedb.cpp @@ -17,10 +17,10 @@ #if 0 struct RomIdentifier { - const uint32 crc32; + const uint32_t crc32; const char name[128]; -// const uint8 compatibility; - const uint32 flags; +// const uint8_t compatibility; + const uint32_t flags; }; enum FileFlags { FF_ROM=1, FF_ALPINE=2, FF_BIOS=4, FF_REQ_DSP=8, FF_REQ_BIOS=16, FF_NON_WORKING=32, FF_BAD_DUMP=64, FF_VERIFIED=128 }; diff --git a/src/filedb.h b/src/filedb.h index fe90896..f28f5e7 100644 --- a/src/filedb.h +++ b/src/filedb.h @@ -5,7 +5,7 @@ #ifndef __FILEDB_H__ #define __FILEDB_H__ -#include "types.h" +#include // Useful enumerations @@ -15,10 +15,10 @@ enum FileFlags { FF_ROM=0x01, FF_ALPINE=0x02, FF_BIOS=0x04, FF_REQ_DSP=0x08, FF_ struct RomIdentifier { - const uint32 crc32; + const uint32_t crc32; const char name[128]; -// const uint8 compatibility; - const uint32 flags; +// const uint8_t compatibility; + const uint32_t flags; }; // So other stuff can pull this in... diff --git a/src/gpu.cpp b/src/gpu.cpp index e5855fe..b83051c 100644 --- a/src/gpu.cpp +++ b/src/gpu.cpp @@ -250,7 +250,7 @@ static void gpu_opcode_sat24(void); static void gpu_opcode_pack(void); // This is wrong, since it doesn't take pipeline effects into account. !!! FIX !!! -/*uint8 gpu_opcode_cycles[64] = +/*uint8_t gpu_opcode_cycles[64] = { 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, @@ -265,7 +265,7 @@ static void gpu_opcode_pack(void); //This is wrong, wrong, WRONG, but it seems to work for the time being... //(That is, it fixes Flip Out which relies on GPU timing rather than semaphores. Bad developers! Bad!) //What's needed here is a way to take pipeline effects into account (including pipeline stalls!)... -/*uint8 gpu_opcode_cycles[64] = +/*uint8_t gpu_opcode_cycles[64] = { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, @@ -276,7 +276,7 @@ static void gpu_opcode_pack(void); 1, 1, 1, 1, 1, 1, 4, 1, 1, 1, 3, 3, 1, 1, 1, 1 };//*/ -uint8 gpu_opcode_cycles[64] = +uint8_t gpu_opcode_cycles[64] = { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, @@ -308,29 +308,29 @@ void (*gpu_opcode[64])()= gpu_opcode_store_r14_ri, gpu_opcode_store_r15_ri, gpu_opcode_sat24, gpu_opcode_pack, }; -static uint8 gpu_ram_8[0x1000]; -uint32 gpu_pc; -static uint32 gpu_acc; -static uint32 gpu_remain; -static uint32 gpu_hidata; -static uint32 gpu_flags; -static uint32 gpu_matrix_control; -static uint32 gpu_pointer_to_matrix; -static uint32 gpu_data_organization; -static uint32 gpu_control; -static uint32 gpu_div_control; +static uint8_t gpu_ram_8[0x1000]; +uint32_t gpu_pc; +static uint32_t gpu_acc; +static uint32_t gpu_remain; +static uint32_t gpu_hidata; +static uint32_t gpu_flags; +static uint32_t gpu_matrix_control; +static uint32_t gpu_pointer_to_matrix; +static uint32_t gpu_data_organization; +static uint32_t gpu_control; +static uint32_t gpu_div_control; // There is a distinct advantage to having these separated out--there's no need to clear // a bit before writing a result. I.e., if the result of an operation leaves a zero in // the carry flag, you don't have to zero gpu_flag_c before you can write that zero! -static uint8 gpu_flag_z, gpu_flag_n, gpu_flag_c; -uint32 gpu_reg_bank_0[32]; -uint32 gpu_reg_bank_1[32]; -static uint32 * gpu_reg; -static uint32 * gpu_alternate_reg; +static uint8_t gpu_flag_z, gpu_flag_n, gpu_flag_c; +uint32_t gpu_reg_bank_0[32]; +uint32_t gpu_reg_bank_1[32]; +static uint32_t * gpu_reg; +static uint32_t * gpu_alternate_reg; -static uint32 gpu_instruction; -static uint32 gpu_opcode_first_parameter; -static uint32 gpu_opcode_second_parameter; +static uint32_t gpu_instruction; +static uint32_t gpu_opcode_first_parameter; +static uint32_t gpu_opcode_second_parameter; #define GPU_RUNNING (gpu_control & 0x01) @@ -342,7 +342,7 @@ static uint32 gpu_opcode_second_parameter; #define IMM_2 gpu_opcode_second_parameter #define SET_FLAG_Z(r) (gpu_flag_z = ((r) == 0)); -#define SET_FLAG_N(r) (gpu_flag_n = (((uint32)(r) >> 31) & 0x01)); +#define SET_FLAG_N(r) (gpu_flag_n = (((uint32_t)(r) >> 31) & 0x01)); #define RESET_FLAG_Z() gpu_flag_z = 0; #define RESET_FLAG_N() gpu_flag_n = 0; @@ -352,20 +352,20 @@ static uint32 gpu_opcode_second_parameter; #define CLR_ZN (gpu_flag_z = gpu_flag_n = 0) #define CLR_ZNC (gpu_flag_z = gpu_flag_n = gpu_flag_c = 0) #define SET_Z(r) (gpu_flag_z = ((r) == 0)) -#define SET_N(r) (gpu_flag_n = (((uint32)(r) >> 31) & 0x01)) -#define SET_C_ADD(a,b) (gpu_flag_c = ((uint32)(b) > (uint32)(~(a)))) -#define SET_C_SUB(a,b) (gpu_flag_c = ((uint32)(b) > (uint32)(a))) +#define SET_N(r) (gpu_flag_n = (((uint32_t)(r) >> 31) & 0x01)) +#define SET_C_ADD(a,b) (gpu_flag_c = ((uint32_t)(b) > (uint32_t)(~(a)))) +#define SET_C_SUB(a,b) (gpu_flag_c = ((uint32_t)(b) > (uint32_t)(a))) #define SET_ZN(r) SET_N(r); SET_Z(r) #define SET_ZNC_ADD(a,b,r) SET_N(r); SET_Z(r); SET_C_ADD(a,b) #define SET_ZNC_SUB(a,b,r) SET_N(r); SET_Z(r); SET_C_SUB(a,b) -uint32 gpu_convert_zero[32] = +uint32_t gpu_convert_zero[32] = { 32,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31 }; -uint8 * branch_condition_table = 0; +uint8_t * branch_condition_table = 0; #define BRANCH_CONDITION(x) branch_condition_table[(x) + ((jaguar_flags & 7) << 5)] -uint32 gpu_opcode_use[64]; +uint32_t gpu_opcode_use[64]; const char * gpu_opcode_str[64]= { @@ -387,15 +387,15 @@ const char * gpu_opcode_str[64]= "store_r14_ri", "store_r15_ri", "sat24", "pack", }; -static uint32 gpu_in_exec = 0; -static uint32 gpu_releaseTimeSlice_flag = 0; +static uint32_t gpu_in_exec = 0; +static uint32_t gpu_releaseTimeSlice_flag = 0; void GPUReleaseTimeslice(void) { gpu_releaseTimeSlice_flag = 1; } -uint32 GPUGetPC(void) +uint32_t GPUGetPC(void) { return gpu_pc; } @@ -404,7 +404,7 @@ void build_branch_condition_table(void) { if (!branch_condition_table) { - branch_condition_table = (uint8 *)malloc(32 * 8 * sizeof(branch_condition_table[0])); + branch_condition_table = (uint8_t *)malloc(32 * 8 * sizeof(branch_condition_table[0])); if (branch_condition_table) { @@ -435,7 +435,7 @@ void build_branch_condition_table(void) // // GPU byte access (read) // -uint8 GPUReadByte(uint32 offset, uint32 who/*=UNKNOWN*/) +uint8_t GPUReadByte(uint32_t offset, uint32_t who/*=UNKNOWN*/) { if (offset >= 0xF02000 && offset <= 0xF020FF) WriteLog("GPU: ReadByte--Attempt to read from GPU register file by %s!\n", whoName[who]); @@ -444,7 +444,7 @@ uint8 GPUReadByte(uint32 offset, uint32 who/*=UNKNOWN*/) return gpu_ram_8[offset & 0xFFF]; else if ((offset >= GPU_CONTROL_RAM_BASE) && (offset < GPU_CONTROL_RAM_BASE+0x20)) { - uint32 data = GPUReadLong(offset & 0xFFFFFFFC, who); + uint32_t data = GPUReadLong(offset & 0xFFFFFFFC, who); if ((offset & 0x03) == 0) return data >> 24; @@ -462,7 +462,7 @@ uint8 GPUReadByte(uint32 offset, uint32 who/*=UNKNOWN*/) // // GPU word access (read) // -uint16 GPUReadWord(uint32 offset, uint32 who/*=UNKNOWN*/) +uint16_t GPUReadWord(uint32_t offset, uint32_t who/*=UNKNOWN*/) { if (offset >= 0xF02000 && offset <= 0xF020FF) WriteLog("GPU: ReadWord--Attempt to read from GPU register file by %s!\n", whoName[who]); @@ -470,7 +470,7 @@ uint16 GPUReadWord(uint32 offset, uint32 who/*=UNKNOWN*/) if ((offset >= GPU_WORK_RAM_BASE) && (offset < GPU_WORK_RAM_BASE+0x1000)) { offset &= 0xFFF; - uint16 data = ((uint16)gpu_ram_8[offset] << 8) | (uint16)gpu_ram_8[offset+1]; + uint16_t data = ((uint16_t)gpu_ram_8[offset] << 8) | (uint16_t)gpu_ram_8[offset+1]; return data; } else if ((offset >= GPU_CONTROL_RAM_BASE) && (offset < GPU_CONTROL_RAM_BASE+0x20)) @@ -480,7 +480,7 @@ uint16 GPUReadWord(uint32 offset, uint32 who/*=UNKNOWN*/) if (offset & 0x01) // Catch cases 1 & 3... (unaligned read) return (GPUReadByte(offset, who) << 8) | GPUReadByte(offset+1, who); - uint32 data = GPUReadLong(offset & 0xFFFFFFFC, who); + uint32_t data = GPUReadLong(offset & 0xFFFFFFFC, who); if (offset & 0x02) // Cases 0 & 2... return data & 0xFFFF; @@ -498,12 +498,12 @@ uint16 GPUReadWord(uint32 offset, uint32 who/*=UNKNOWN*/) // // GPU dword access (read) // -uint32 GPUReadLong(uint32 offset, uint32 who/*=UNKNOWN*/) +uint32_t GPUReadLong(uint32_t offset, uint32_t who/*=UNKNOWN*/) { if (offset >= 0xF02000 && offset <= 0xF020FF) { WriteLog("GPU: ReadLong--Attempt to read from GPU register file (%X) by %s!\n", offset, whoName[who]); - uint32 reg = (offset & 0xFC) >> 2; + uint32_t reg = (offset & 0xFC) >> 2; return (reg < 32 ? gpu_reg_bank_0[reg] : gpu_reg_bank_1[reg - 32]); } @@ -511,8 +511,8 @@ uint32 GPUReadLong(uint32 offset, uint32 who/*=UNKNOWN*/) if ((offset >= GPU_WORK_RAM_BASE) && (offset <= GPU_WORK_RAM_BASE + 0x0FFC)) { offset &= 0xFFF; - return ((uint32)gpu_ram_8[offset] << 24) | ((uint32)gpu_ram_8[offset+1] << 16) - | ((uint32)gpu_ram_8[offset+2] << 8) | (uint32)gpu_ram_8[offset+3];//*/ + return ((uint32_t)gpu_ram_8[offset] << 24) | ((uint32_t)gpu_ram_8[offset+1] << 16) + | ((uint32_t)gpu_ram_8[offset+2] << 8) | (uint32_t)gpu_ram_8[offset+3];//*/ // return GET32(gpu_ram_8, offset); } // else if ((offset >= GPU_CONTROL_RAM_BASE) && (offset < GPU_CONTROL_RAM_BASE+0x20)) @@ -562,7 +562,7 @@ uint32 GPUReadLong(uint32 offset, uint32 who/*=UNKNOWN*/) // // GPU byte access (write) // -void GPUWriteByte(uint32 offset, uint8 data, uint32 who/*=UNKNOWN*/) +void GPUWriteByte(uint32_t offset, uint8_t data, uint32_t who/*=UNKNOWN*/) { if (offset >= 0xF02000 && offset <= 0xF020FF) WriteLog("GPU: WriteByte--Attempt to write to GPU register file by %s!\n", whoName[who]); @@ -581,7 +581,7 @@ void GPUWriteByte(uint32 offset, uint8 data, uint32 who/*=UNKNOWN*/) } else if ((offset >= GPU_CONTROL_RAM_BASE) && (offset <= GPU_CONTROL_RAM_BASE + 0x1F)) { - uint32 reg = offset & 0x1C; + uint32_t reg = offset & 0x1C; int bytenum = offset & 0x03; //This is definitely wrong! @@ -589,7 +589,7 @@ void GPUWriteByte(uint32 offset, uint8 data, uint32 who/*=UNKNOWN*/) gpu_div_control = (gpu_div_control & (~(0xFF << (bytenum << 3)))) | (data << (bytenum << 3)); else { - uint32 old_data = GPUReadLong(offset & 0xFFFFFFC, who); + uint32_t old_data = GPUReadLong(offset & 0xFFFFFFC, who); bytenum = 3 - bytenum; // convention motorola !!! old_data = (old_data & (~(0xFF << (bytenum << 3)))) | (data << (bytenum << 3)); GPUWriteLong(offset & 0xFFFFFFC, old_data, who); @@ -603,7 +603,7 @@ void GPUWriteByte(uint32 offset, uint8 data, uint32 who/*=UNKNOWN*/) // // GPU word access (write) // -void GPUWriteWord(uint32 offset, uint16 data, uint32 who/*=UNKNOWN*/) +void GPUWriteWord(uint32_t offset, uint16_t data, uint32_t who/*=UNKNOWN*/) { if (offset >= 0xF02000 && offset <= 0xF020FF) WriteLog("GPU: WriteWord--Attempt to write to GPU register file by %s!\n", whoName[who]); @@ -650,7 +650,7 @@ void GPUWriteWord(uint32 offset, uint16 data, uint32 who/*=UNKNOWN*/) else { //WriteLog("[GPU W16:%08X,%04X]", offset, data); - uint32 old_data = GPUReadLong(offset & 0xFFFFFFC, who); + uint32_t old_data = GPUReadLong(offset & 0xFFFFFFC, who); if (offset & 0x02) old_data = (old_data & 0xFFFF0000) | (data & 0xFFFF); @@ -678,7 +678,7 @@ void GPUWriteWord(uint32 offset, uint16 data, uint32 who/*=UNKNOWN*/) // // GPU dword access (write) // -void GPUWriteLong(uint32 offset, uint32 data, uint32 who/*=UNKNOWN*/) +void GPUWriteLong(uint32_t offset, uint32_t data, uint32_t who/*=UNKNOWN*/) { if (offset >= 0xF02000 && offset <= 0xF020FF) WriteLog("GPU: WriteLong--Attempt to write to GPU register file by %s!\n", whoName[who]); @@ -745,7 +745,7 @@ WriteLog("GPU: %s setting GPU PC to %08X %s\n", whoName[who], gpu_pc, (GPU_RUNNI break; case 0x14: { -// uint32 gpu_was_running = GPU_RUNNING; +// uint32_t gpu_was_running = GPU_RUNNING; data &= ~0xF7C0; // Disable writes to INT_LAT0-4 & TOM version number // check for GPU -> CPU interrupt @@ -826,13 +826,13 @@ static bool finished = false; if (GPU_RUNNING && effect_start5 && gpu_pc == 0xF035D8) { // Let's do a dump of $6528! -/* uint32 numItems = JaguarReadWord(0x6BD6); +/* uint32_t numItems = JaguarReadWord(0x6BD6); WriteLog("\nDump of $6528: %u items.\n\n", numItems); for(int i=0; i ", 0x6528+i, JaguarReadLong(0x6528+i), JaguarReadLong(0x6528+i+4), JaguarReadLong(0x6528+i+8)); - uint16 link = JaguarReadWord(0x6528+i+8+2); + uint16_t link = JaguarReadWord(0x6528+i+8+2); for(int j=0; j<40; j+=4) WriteLog("%08X ", JaguarReadLong(link + j)); WriteLog("\n"); @@ -842,7 +842,7 @@ if (GPU_RUNNING && effect_start5 && gpu_pc == 0xF035D8) //This isn't working the way it should! !!! FIX !!! //Err, actually, it is. // NOW, it works right! Problem solved!!! It's a blitter bug! -/* uint32 src = 0x4D54, dst = 0xF03000, width = 10 * 4; +/* uint32_t src = 0x4D54, dst = 0xF03000, width = 10 * 4; for(int y=0; y<127; y++) { for(int x=0; x<2; x++) @@ -944,7 +944,7 @@ void GPUHandleIRQs(void) return; // Get the interrupt latch & enable bits - uint32 bits = (gpu_control >> 6) & 0x1F, mask = (gpu_flags >> 4) & 0x1F; + uint32_t bits = (gpu_control >> 6) & 0x1F, mask = (gpu_flags >> 4) & 0x1F; // Bail out if latched interrupts aren't enabled bits &= mask; @@ -952,7 +952,7 @@ void GPUHandleIRQs(void) return; // Determine which interrupt to service - uint32 which = 0; //Isn't there a #pragma to disable this warning??? + uint32_t which = 0; //Isn't there a #pragma to disable this warning??? if (bits & 0x01) which = 0; if (bits & 0x02) @@ -988,7 +988,7 @@ void GPUSetIRQLine(int irqline, int state) if (start_logging) WriteLog("GPU: Setting GPU IRQ line #%i\n", irqline); - uint32 mask = 0x0040 << irqline; + uint32_t mask = 0x0040 << irqline; gpu_control &= ~mask; // Clear the interrupt latch if (state) @@ -1005,8 +1005,8 @@ void GPUSetIRQLine(int irqline, int state) void GPUInit(void) { // memory_malloc_secure((void **)&gpu_ram_8, 0x1000, "GPU work RAM"); -// memory_malloc_secure((void **)&gpu_reg_bank_0, 32 * sizeof(int32), "GPU bank 0 regs"); -// memory_malloc_secure((void **)&gpu_reg_bank_1, 32 * sizeof(int32), "GPU bank 1 regs"); +// memory_malloc_secure((void **)&gpu_reg_bank_0, 32 * sizeof(int32_t), "GPU bank 0 regs"); +// memory_malloc_secure((void **)&gpu_reg_bank_1, 32 * sizeof(int32_t), "GPU bank 1 regs"); build_branch_condition_table(); @@ -1046,14 +1046,14 @@ void GPUReset(void) GPUResetStats(); } -uint32 GPUReadPC(void) +uint32_t GPUReadPC(void) { return gpu_pc; } void GPUResetStats(void) { - for(uint32 i=0; i<64; i++) + for(uint32_t i=0; i<64; i++) gpu_opcode_use[i] = 0; WriteLog("--> GPU stats were reset!\n"); } @@ -1063,10 +1063,10 @@ void GPUDumpDisassembly(void) char buffer[512]; WriteLog("\n---[GPU code at 00F03000]---------------------------\n"); - uint32 j = 0xF03000; + uint32_t j = 0xF03000; while (j <= 0xF03FFF) { - uint32 oldj = j; + uint32_t oldj = j; j += dasmjag(JAGUAR_GPU, buffer, j); WriteLog("\t%08X: %s\n", oldj, buffer); } @@ -1108,7 +1108,7 @@ void GPUDone(void) WriteLog("GPU: Stopped at PC=%08X (GPU %s running)\n", (unsigned int)gpu_pc, GPU_RUNNING ? "was" : "wasn't"); // Get the interrupt latch & enable bits - uint8 bits = (gpu_control >> 6) & 0x1F, mask = (gpu_flags >> 4) & 0x1F; + uint8_t bits = (gpu_control >> 6) & 0x1F, mask = (gpu_flags >> 4) & 0x1F; WriteLog("GPU: Latch bits = %02X, enable bits = %02X\n", bits, mask); GPUDumpRegisters(); @@ -1133,7 +1133,7 @@ void GPUDone(void) static int testCount = 1; static int len = 0; static bool tripwire = false; -void GPUExec(int32 cycles) +void GPUExec(int32_t cycles) { if (!GPU_RUNNING) return; @@ -1156,14 +1156,14 @@ if (gpu_ram_8[0x054] == 0x98 && gpu_ram_8[0x055] == 0x0A && gpu_ram_8[0x056] == { if (gpu_pc == 0xF03000) { - extern uint32 starCount; + extern uint32_t starCount; starCount = 0; /* WriteLog("GPU: Starting starfield generator... Dump of [R03=%08X]:\n", gpu_reg_bank_0[03]); - uint32 base = gpu_reg_bank_0[3]; - for(uint32 i=0; i<0x100; i+=16) + uint32_t base = gpu_reg_bank_0[3]; + for(uint32_t i=0; i<0x100; i+=16) { WriteLog("%02X: ", i); - for(uint32 j=0; j<16; j++) + for(uint32_t j=0; j<16; j++) { WriteLog("%02X ", JaguarReadByte(base + i + j)); } @@ -1189,8 +1189,8 @@ if (gpu_ram_8[0x054] == 0x98 && gpu_ram_8[0x055] == 0x0A && gpu_ram_8[0x056] == gpu_flag_z = (gpu_flag_z ? 1 : 0); gpu_flag_n = (gpu_flag_n ? 1 : 0);*/ - uint16 opcode = GPUReadWord(gpu_pc, GPU); - uint32 index = opcode >> 10; + uint16_t opcode = GPUReadWord(gpu_pc, GPU); + uint32_t index = opcode >> 10; gpu_instruction = opcode; // Added for GPU #3... gpu_opcode_first_parameter = (opcode >> 5) & 0x1F; gpu_opcode_second_parameter = opcode & 0x1F; @@ -1384,7 +1384,7 @@ const char * condition[32] = gpu_flag_z = (gpu_flag_z ? 1 : 0); gpu_flag_n = (gpu_flag_n ? 1 : 0);*/ // KLUDGE: Used by BRANCH_CONDITION - uint32 jaguar_flags = (gpu_flag_n << 2) | (gpu_flag_c << 1) | gpu_flag_z; + uint32_t jaguar_flags = (gpu_flag_n << 2) | (gpu_flag_c << 1) | gpu_flag_z; if (BRANCH_CONDITION(IMM_2)) { @@ -1394,10 +1394,10 @@ const char * condition[32] = #endif if (gpu_start_log) WriteLog(" --> JUMP: Branch taken.\n"); - uint32 delayed_pc = RM; + uint32_t delayed_pc = RM; GPUExec(1); gpu_pc = delayed_pc; -/* uint16 opcode = GPUReadWord(gpu_pc, GPU); +/* uint16_t opcode = GPUReadWord(gpu_pc, GPU); gpu_opcode_first_parameter = (opcode >> 5) & 0x1F; gpu_opcode_second_parameter = opcode & 0x1F; @@ -1424,8 +1424,8 @@ const char * condition[32] = #endif /* if (CONDITION(jaguar.op & 31)) { - int32 r1 = (INT8)((jaguar.op >> 2) & 0xF8) >> 2; - uint32 newpc = jaguar.PC + r1; + int32_t r1 = (INT8)((jaguar.op >> 2) & 0xF8) >> 2; + uint32_t newpc = jaguar.PC + r1; CALL_MAME_DEBUG; jaguar.op = ROPCODE(jaguar.PC); jaguar.PC = newpc; @@ -1438,7 +1438,7 @@ const char * condition[32] = gpu_flag_c = (gpu_flag_c ? 1 : 0); gpu_flag_z = (gpu_flag_z ? 1 : 0);*/ // KLUDGE: Used by BRANCH_CONDITION - uint32 jaguar_flags = (gpu_flag_n << 2) | (gpu_flag_c << 1) | gpu_flag_z; + uint32_t jaguar_flags = (gpu_flag_n << 2) | (gpu_flag_c << 1) | gpu_flag_z; if (BRANCH_CONDITION(IMM_2)) { @@ -1448,11 +1448,11 @@ const char * condition[32] = #endif if (gpu_start_log) WriteLog(" --> JR: Branch taken.\n"); - int32 offset = (IMM_1 & 0x10 ? 0xFFFFFFF0 | IMM_1 : IMM_1); // Sign extend IMM_1 - int32 delayed_pc = gpu_pc + (offset * 2); + int32_t offset = (IMM_1 & 0x10 ? 0xFFFFFFF0 | IMM_1 : IMM_1); // Sign extend IMM_1 + int32_t delayed_pc = gpu_pc + (offset * 2); GPUExec(1); gpu_pc = delayed_pc; -/* uint16 opcode = GPUReadWord(gpu_pc, GPU); +/* uint16_t opcode = GPUReadWord(gpu_pc, GPU); gpu_opcode_first_parameter = (opcode >> 5) & 0x1F; gpu_opcode_second_parameter = opcode & 0x1F; @@ -1472,7 +1472,7 @@ static void gpu_opcode_add(void) if (doGPUDis) WriteLog("%06X: ADD R%02u, R%02u [NCZ:%u%u%u, R%02u=%08X, R%02u=%08X] -> ", gpu_pc-2, IMM_1, IMM_2, gpu_flag_n, gpu_flag_c, gpu_flag_z, IMM_1, RM, IMM_2, RN); #endif - uint32 res = RN + RM; + uint32_t res = RN + RM; CLR_ZNC; SET_ZNC_ADD(RN, RM, res); RN = res; #ifdef GPU_DIS_ADD @@ -1488,14 +1488,14 @@ static void gpu_opcode_addc(void) WriteLog("%06X: ADDC R%02u, R%02u [NCZ:%u%u%u, R%02u=%08X, R%02u=%08X] -> ", gpu_pc-2, IMM_1, IMM_2, gpu_flag_n, gpu_flag_c, gpu_flag_z, IMM_1, RM, IMM_2, RN); #endif /* int dreg = jaguar.op & 31; - uint32 r1 = jaguar.r[(jaguar.op >> 5) & 31]; - uint32 r2 = jaguar.r[dreg]; - uint32 res = r2 + r1 + ((jaguar.FLAGS >> 1) & 1); + uint32_t r1 = jaguar.r[(jaguar.op >> 5) & 31]; + uint32_t r2 = jaguar.r[dreg]; + uint32_t res = r2 + r1 + ((jaguar.FLAGS >> 1) & 1); jaguar.r[dreg] = res; CLR_ZNC; SET_ZNC_ADD(r2,r1,res);*/ - uint32 res = RN + RM + gpu_flag_c; - uint32 carry = gpu_flag_c; + uint32_t res = RN + RM + gpu_flag_c; + uint32_t carry = gpu_flag_c; // SET_ZNC_ADD(RN, RM, res); //???BUG??? Yes! SET_ZNC_ADD(RN + carry, RM, res); // SET_ZNC_ADD(RN, RM + carry, res); @@ -1512,8 +1512,8 @@ static void gpu_opcode_addq(void) if (doGPUDis) WriteLog("%06X: ADDQ #%u, R%02u [NCZ:%u%u%u, R%02u=%08X] -> ", gpu_pc-2, gpu_convert_zero[IMM_1], IMM_2, gpu_flag_n, gpu_flag_c, gpu_flag_z, IMM_2, RN); #endif - uint32 r1 = gpu_convert_zero[IMM_1]; - uint32 res = RN + r1; + uint32_t r1 = gpu_convert_zero[IMM_1]; + uint32_t res = RN + r1; CLR_ZNC; SET_ZNC_ADD(RN, r1, res); RN = res; #ifdef GPU_DIS_ADDQ @@ -1541,7 +1541,7 @@ static void gpu_opcode_sub(void) if (doGPUDis) WriteLog("%06X: SUB R%02u, R%02u [NCZ:%u%u%u, R%02u=%08X, R%02u=%08X] -> ", gpu_pc-2, IMM_1, IMM_2, gpu_flag_n, gpu_flag_c, gpu_flag_z, IMM_1, RM, IMM_2, RN); #endif - uint32 res = RN - RM; + uint32_t res = RN - RM; SET_ZNC_SUB(RN, RM, res); RN = res; #ifdef GPU_DIS_SUB @@ -1556,8 +1556,8 @@ static void gpu_opcode_subc(void) if (doGPUDis) WriteLog("%06X: SUBC R%02u, R%02u [NCZ:%u%u%u, R%02u=%08X, R%02u=%08X] -> ", gpu_pc-2, IMM_1, IMM_2, gpu_flag_n, gpu_flag_c, gpu_flag_z, IMM_1, RM, IMM_2, RN); #endif - uint32 res = RN - RM - gpu_flag_c; - uint32 borrow = gpu_flag_c; + uint32_t res = RN - RM - gpu_flag_c; + uint32_t borrow = gpu_flag_c; // SET_ZNC_SUB(RN, RM, res); //???BUG??? YES!!! //No matter how you do it, there is a problem. With below, it's 0-0 with carry, //and the one below it it's FFFFFFFF - FFFFFFFF with carry... !!! FIX !!! @@ -1573,7 +1573,7 @@ static void gpu_opcode_subc(void) N = 5, M = 3, 3 - 5 = -2, C = 1... Or, in our case: N = 0, M = 1, 0 - 1 = -1, C = 0! -#define SET_C_SUB(a,b) (gpu_flag_c = ((uint32)(b) > (uint32)(a))) +#define SET_C_SUB(a,b) (gpu_flag_c = ((uint32_t)(b) > (uint32_t)(a))) #define SET_ZN(r) SET_N(r); SET_Z(r) #define SET_ZNC_ADD(a,b,r) SET_N(r); SET_Z(r); SET_C_ADD(a,b) #define SET_ZNC_SUB(a,b,r) SET_N(r); SET_Z(r); SET_C_SUB(a,b) @@ -1584,8 +1584,8 @@ static void gpu_opcode_subq(void) if (doGPUDis) WriteLog("%06X: SUBQ #%u, R%02u [NCZ:%u%u%u, R%02u=%08X] -> ", gpu_pc-2, gpu_convert_zero[IMM_1], IMM_2, gpu_flag_n, gpu_flag_c, gpu_flag_z, IMM_2, RN); #endif - uint32 r1 = gpu_convert_zero[IMM_1]; - uint32 res = RN - r1; + uint32_t r1 = gpu_convert_zero[IMM_1]; + uint32_t res = RN - r1; SET_ZNC_SUB(RN, r1, res); RN = res; #ifdef GPU_DIS_SUBQ @@ -1613,7 +1613,7 @@ static void gpu_opcode_cmp(void) if (doGPUDis) WriteLog("%06X: CMP R%02u, R%02u [NCZ:%u%u%u, R%02u=%08X, R%02u=%08X] -> ", gpu_pc-2, IMM_1, IMM_2, gpu_flag_n, gpu_flag_c, gpu_flag_z, IMM_1, RM, IMM_2, RN); #endif - uint32 res = RN - RM; + uint32_t res = RN - RM; SET_ZNC_SUB(RN, RM, res); #ifdef GPU_DIS_CMP if (doGPUDis) @@ -1623,14 +1623,14 @@ static void gpu_opcode_cmp(void) static void gpu_opcode_cmpq(void) { - static int32 sqtable[32] = + static int32_t sqtable[32] = { 0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,-16,-15,-14,-13,-12,-11,-10,-9,-8,-7,-6,-5,-4,-3,-2,-1 }; #ifdef GPU_DIS_CMPQ if (doGPUDis) WriteLog("%06X: CMPQ #%d, R%02u [NCZ:%u%u%u, R%02u=%08X] -> ", gpu_pc-2, sqtable[IMM_1], IMM_2, gpu_flag_n, gpu_flag_c, gpu_flag_z, IMM_2, RN); #endif - uint32 r1 = sqtable[IMM_1 & 0x1F]; // I like this better -> (INT8)(jaguar.op >> 2) >> 3; - uint32 res = RN - r1; + uint32_t r1 = sqtable[IMM_1 & 0x1F]; // I like this better -> (INT8)(jaguar.op >> 2) >> 3; + uint32_t res = RN - r1; SET_ZNC_SUB(RN, r1, res); #ifdef GPU_DIS_CMPQ if (doGPUDis) @@ -1715,7 +1715,7 @@ static void gpu_opcode_sat8(void) if (doGPUDis) WriteLog("%06X: SAT8 R%02u [NCZ:%u%u%u, R%02u=%08X] -> ", gpu_pc-2, IMM_2, gpu_flag_n, gpu_flag_c, gpu_flag_z, IMM_2, RN); #endif - RN = ((int32)RN < 0 ? 0 : (RN > 0xFF ? 0xFF : RN)); + RN = ((int32_t)RN < 0 ? 0 : (RN > 0xFF ? 0xFF : RN)); SET_ZN(RN); #ifdef GPU_DIS_SAT8 if (doGPUDis) @@ -1725,13 +1725,13 @@ static void gpu_opcode_sat8(void) static void gpu_opcode_sat16(void) { - RN = ((int32)RN < 0 ? 0 : (RN > 0xFFFF ? 0xFFFF : RN)); + RN = ((int32_t)RN < 0 ? 0 : (RN > 0xFFFF ? 0xFFFF : RN)); SET_ZN(RN); } static void gpu_opcode_sat24(void) { - RN = ((int32)RN < 0 ? 0 : (RN > 0xFFFFFF ? 0xFFFFFF : RN)); + RN = ((int32_t)RN < 0 ? 0 : (RN > 0xFFFFFF ? 0xFFFFFF : RN)); SET_ZN(RN); } @@ -1742,7 +1742,7 @@ static void gpu_opcode_store_r14_indexed(void) WriteLog("%06X: STORE R%02u, (R14+$%02X) [NCZ:%u%u%u, R%02u=%08X, R14+$%02X=%08X]\n", gpu_pc-2, IMM_2, gpu_convert_zero[IMM_1] << 2, gpu_flag_n, gpu_flag_c, gpu_flag_z, IMM_2, RN, gpu_convert_zero[IMM_1] << 2, gpu_reg[14]+(gpu_convert_zero[IMM_1] << 2)); #endif #ifdef GPU_CORRECT_ALIGNMENT - uint32 address = gpu_reg[14] + (gpu_convert_zero[IMM_1] << 2); + uint32_t address = gpu_reg[14] + (gpu_convert_zero[IMM_1] << 2); if (address >= 0xF03000 && address <= 0xF03FFF) GPUWriteLong(address & 0xFFFFFFFC, RN, GPU); @@ -1760,7 +1760,7 @@ static void gpu_opcode_store_r15_indexed(void) WriteLog("%06X: STORE R%02u, (R15+$%02X) [NCZ:%u%u%u, R%02u=%08X, R15+$%02X=%08X]\n", gpu_pc-2, IMM_2, gpu_convert_zero[IMM_1] << 2, gpu_flag_n, gpu_flag_c, gpu_flag_z, IMM_2, RN, gpu_convert_zero[IMM_1] << 2, gpu_reg[15]+(gpu_convert_zero[IMM_1] << 2)); #endif #ifdef GPU_CORRECT_ALIGNMENT - uint32 address = gpu_reg[15] + (gpu_convert_zero[IMM_1] << 2); + uint32_t address = gpu_reg[15] + (gpu_convert_zero[IMM_1] << 2); if (address >= 0xF03000 && address <= 0xF03FFF) GPUWriteLong(address & 0xFFFFFFFC, RN, GPU); @@ -1778,7 +1778,7 @@ static void gpu_opcode_load_r14_ri(void) WriteLog("%06X: LOAD (R14+R%02u), R%02u [NCZ:%u%u%u, R14+R%02u=%08X, R%02u=%08X] -> ", gpu_pc-2, IMM_1, IMM_2, gpu_flag_n, gpu_flag_c, gpu_flag_z, IMM_1, RM+gpu_reg[14], IMM_2, RN); #endif #ifdef GPU_CORRECT_ALIGNMENT - uint32 address = gpu_reg[14] + RM; + uint32_t address = gpu_reg[14] + RM; if (address >= 0xF03000 && address <= 0xF03FFF) RN = GPUReadLong(address & 0xFFFFFFFC, GPU); @@ -1800,7 +1800,7 @@ static void gpu_opcode_load_r15_ri(void) WriteLog("%06X: LOAD (R15+R%02u), R%02u [NCZ:%u%u%u, R15+R%02u=%08X, R%02u=%08X] -> ", gpu_pc-2, IMM_1, IMM_2, gpu_flag_n, gpu_flag_c, gpu_flag_z, IMM_1, RM+gpu_reg[15], IMM_2, RN); #endif #ifdef GPU_CORRECT_ALIGNMENT - uint32 address = gpu_reg[15] + RM; + uint32_t address = gpu_reg[15] + RM; if (address >= 0xF03000 && address <= 0xF03FFF) RN = GPUReadLong(address & 0xFFFFFFFC, GPU); @@ -1822,7 +1822,7 @@ static void gpu_opcode_store_r14_ri(void) WriteLog("%06X: STORE R%02u, (R14+R%02u) [NCZ:%u%u%u, R%02u=%08X, R14+R%02u=%08X]\n", gpu_pc-2, IMM_2, IMM_1, gpu_flag_n, gpu_flag_c, gpu_flag_z, IMM_2, RN, IMM_1, RM+gpu_reg[14]); #endif #ifdef GPU_CORRECT_ALIGNMENT - uint32 address = gpu_reg[14] + RM; + uint32_t address = gpu_reg[14] + RM; if (address >= 0xF03000 && address <= 0xF03FFF) GPUWriteLong(address & 0xFFFFFFFC, RN, GPU); @@ -1840,7 +1840,7 @@ static void gpu_opcode_store_r15_ri(void) WriteLog("%06X: STORE R%02u, (R15+R%02u) [NCZ:%u%u%u, R%02u=%08X, R15+R%02u=%08X]\n", gpu_pc-2, IMM_2, IMM_1, gpu_flag_n, gpu_flag_c, gpu_flag_z, IMM_2, RN, IMM_1, RM+gpu_reg[15]); #endif #ifdef GPU_CORRECT_ALIGNMENT_STORE - uint32 address = gpu_reg[15] + RM; + uint32_t address = gpu_reg[15] + RM; if (address >= 0xF03000 && address <= 0xF03FFF) GPUWriteLong(address & 0xFFFFFFFC, RN, GPU); @@ -1865,7 +1865,7 @@ static void gpu_opcode_pack(void) if (doGPUDis) WriteLog("%06X: %s R%02u [NCZ:%u%u%u, R%02u=%08X, R%02u=%08X] -> ", gpu_pc-2, (!IMM_1 ? "PACK " : "UNPACK"), IMM_2, gpu_flag_n, gpu_flag_c, gpu_flag_z, IMM_2, RN); #endif - uint32 val = RN; + uint32_t val = RN; //BUG! if (RM == 0) // Pack if (IMM_1 == 0) // Pack @@ -2009,7 +2009,7 @@ static void gpu_opcode_load(void) WriteLog("%06X: LOAD (R%02u), R%02u [NCZ:%u%u%u, R%02u=%08X, R%02u=%08X] -> ", gpu_pc-2, IMM_1, IMM_2, gpu_flag_n, gpu_flag_c, gpu_flag_z, IMM_1, RM, IMM_2, RN); #endif #ifdef GPU_CORRECT_ALIGNMENT - uint32 mask[4] = { 0x00000000, 0xFF000000, 0xFFFF0000, 0xFFFFFF00 }; + uint32_t mask[4] = { 0x00000000, 0xFF000000, 0xFFFF0000, 0xFFFFFF00 }; // if ((RM >= 0xF03000) && (RM <= 0xF03FFF)) RN = GPUReadLong(RM & 0xFFFFFFFC, GPU); // RN = GPUReadLong(RM & 0x00FFFFFC, GPU); @@ -2054,7 +2054,7 @@ static void gpu_opcode_load_r14_indexed(void) WriteLog("%06X: LOAD (R14+$%02X), R%02u [NCZ:%u%u%u, R14+$%02X=%08X, R%02u=%08X] -> ", gpu_pc-2, gpu_convert_zero[IMM_1] << 2, IMM_2, gpu_flag_n, gpu_flag_c, gpu_flag_z, gpu_convert_zero[IMM_1] << 2, gpu_reg[14]+(gpu_convert_zero[IMM_1] << 2), IMM_2, RN); #endif #ifdef GPU_CORRECT_ALIGNMENT - uint32 address = gpu_reg[14] + (gpu_convert_zero[IMM_1] << 2); + uint32_t address = gpu_reg[14] + (gpu_convert_zero[IMM_1] << 2); if ((RM >= 0xF03000) && (RM <= 0xF03FFF)) RN = GPUReadLong(address & 0xFFFFFFFC, GPU); @@ -2076,7 +2076,7 @@ static void gpu_opcode_load_r15_indexed(void) WriteLog("%06X: LOAD (R15+$%02X), R%02u [NCZ:%u%u%u, R15+$%02X=%08X, R%02u=%08X] -> ", gpu_pc-2, gpu_convert_zero[IMM_1] << 2, IMM_2, gpu_flag_n, gpu_flag_c, gpu_flag_z, gpu_convert_zero[IMM_1] << 2, gpu_reg[15]+(gpu_convert_zero[IMM_1] << 2), IMM_2, RN); #endif #ifdef GPU_CORRECT_ALIGNMENT - uint32 address = gpu_reg[15] + (gpu_convert_zero[IMM_1] << 2); + uint32_t address = gpu_reg[15] + (gpu_convert_zero[IMM_1] << 2); if ((RM >= 0xF03000) && (RM <= 0xF03FFF)) RN = GPUReadLong(address & 0xFFFFFFFC, GPU); @@ -2095,10 +2095,10 @@ static void gpu_opcode_movei(void) { #ifdef GPU_DIS_MOVEI if (doGPUDis) - WriteLog("%06X: MOVEI #$%08X, R%02u [NCZ:%u%u%u, R%02u=%08X] -> ", gpu_pc-2, (uint32)GPUReadWord(gpu_pc) | ((uint32)GPUReadWord(gpu_pc + 2) << 16), IMM_2, gpu_flag_n, gpu_flag_c, gpu_flag_z, IMM_2, RN); + WriteLog("%06X: MOVEI #$%08X, R%02u [NCZ:%u%u%u, R%02u=%08X] -> ", gpu_pc-2, (uint32_t)GPUReadWord(gpu_pc) | ((uint32_t)GPUReadWord(gpu_pc + 2) << 16), IMM_2, gpu_flag_n, gpu_flag_c, gpu_flag_z, IMM_2, RN); #endif // This instruction is followed by 32-bit value in LSW / MSW format... - RN = (uint32)GPUReadWord(gpu_pc, GPU) | ((uint32)GPUReadWord(gpu_pc + 2, GPU) << 16); + RN = (uint32_t)GPUReadWord(gpu_pc, GPU) | ((uint32_t)GPUReadWord(gpu_pc + 2, GPU) << 16); gpu_pc += 4; #ifdef GPU_DIS_MOVEI if (doGPUDis) @@ -2169,7 +2169,7 @@ static void gpu_opcode_imult(void) if (doGPUDis) WriteLog("%06X: IMULT R%02u, R%02u [NCZ:%u%u%u, R%02u=%08X, R%02u=%08X] -> ", gpu_pc-2, IMM_1, IMM_2, gpu_flag_n, gpu_flag_c, gpu_flag_z, IMM_1, RM, IMM_2, RN); #endif - RN = (int16)RN * (int16)RM; + RN = (int16_t)RN * (int16_t)RM; SET_ZN(RN); #ifdef GPU_DIS_IMULT if (doGPUDis) @@ -2183,7 +2183,7 @@ static void gpu_opcode_mult(void) if (doGPUDis) WriteLog("%06X: MULT R%02u, R%02u [NCZ:%u%u%u, R%02u=%08X, R%02u=%08X] -> ", gpu_pc-2, IMM_1, IMM_2, gpu_flag_n, gpu_flag_c, gpu_flag_z, IMM_1, RM, IMM_2, RN); #endif - RN = (uint16)RM * (uint16)RN; + RN = (uint16_t)RM * (uint16_t)RN; SET_ZN(RN); #ifdef GPU_DIS_MULT if (doGPUDis) @@ -2197,7 +2197,7 @@ static void gpu_opcode_bclr(void) if (doGPUDis) WriteLog("%06X: BCLR #%u, R%02u [NCZ:%u%u%u, R%02u=%08X] -> ", gpu_pc-2, IMM_1, IMM_2, gpu_flag_n, gpu_flag_c, gpu_flag_z, IMM_2, RN); #endif - uint32 res = RN & ~(1 << IMM_1); + uint32_t res = RN & ~(1 << IMM_1); RN = res; SET_ZN(res); #ifdef GPU_DIS_BCLR @@ -2225,7 +2225,7 @@ static void gpu_opcode_bset(void) if (doGPUDis) WriteLog("%06X: BSET #%u, R%02u [NCZ:%u%u%u, R%02u=%08X] -> ", gpu_pc-2, IMM_1, IMM_2, gpu_flag_n, gpu_flag_c, gpu_flag_z, IMM_2, RN); #endif - uint32 res = RN | (1 << IMM_1); + uint32_t res = RN | (1 << IMM_1); RN = res; SET_ZN(res); #ifdef GPU_DIS_BSET @@ -2236,21 +2236,21 @@ static void gpu_opcode_bset(void) static void gpu_opcode_imacn(void) { - uint32 res = (int16)RM * (int16)(RN); + uint32_t res = (int16_t)RM * (int16_t)(RN); gpu_acc += res; } static void gpu_opcode_mtoi(void) { - uint32 _RM = RM; - uint32 res = RN = (((int32)_RM >> 8) & 0xFF800000) | (_RM & 0x007FFFFF); + uint32_t _RM = RM; + uint32_t res = RN = (((int32_t)_RM >> 8) & 0xFF800000) | (_RM & 0x007FFFFF); SET_ZN(res); } static void gpu_opcode_normi(void) { - uint32 _RM = RM; - uint32 res = 0; + uint32_t _RM = RM; + uint32_t res = 0; if (_RM) { @@ -2272,21 +2272,21 @@ static void gpu_opcode_normi(void) static void gpu_opcode_mmult(void) { int count = gpu_matrix_control & 0x0F; // Matrix width - uint32 addr = gpu_pointer_to_matrix; // In the GPU's RAM - int64 accum = 0; - uint32 res; + uint32_t addr = gpu_pointer_to_matrix; // In the GPU's RAM + int64_t accum = 0; + uint32_t res; if (gpu_matrix_control & 0x10) // Column stepping { for(int i=0; i> 1)] >> 16) & 0xFFFF); + a = (int16_t)((gpu_alternate_reg[IMM_1 + (i >> 1)] >> 16) & 0xFFFF); else - a = (int16)(gpu_alternate_reg[IMM_1 + (i >> 1)] & 0xFFFF); + a = (int16_t)(gpu_alternate_reg[IMM_1 + (i >> 1)] & 0xFFFF); - int16 b = ((int16)GPUReadWord(addr + 2, GPU)); + int16_t b = ((int16_t)GPUReadWord(addr + 2, GPU)); accum += a * b; addr += 4 * count; } @@ -2295,18 +2295,18 @@ static void gpu_opcode_mmult(void) { for(int i=0; i> 1)] >> 16) & 0xFFFF); + a = (int16_t)((gpu_alternate_reg[IMM_1 + (i >> 1)] >> 16) & 0xFFFF); else - a = (int16)(gpu_alternate_reg[IMM_1 + (i >> 1)] & 0xFFFF); + a = (int16_t)(gpu_alternate_reg[IMM_1 + (i >> 1)] & 0xFFFF); - int16 b = ((int16)GPUReadWord(addr + 2, GPU)); + int16_t b = ((int16_t)GPUReadWord(addr + 2, GPU)); accum += a * b; addr += 4; } } - RN = res = (int32)accum; + RN = res = (int32_t)accum; // carry flag to do (out of the last add) SET_ZN(res); } @@ -2348,8 +2348,8 @@ static void gpu_opcode_div(void) // RN / RM { if (gpu_div_control & 0x01) // 16.16 division { - RN = ((uint64)RN << 16) / RM; - gpu_remain = ((uint64)RN << 16) % RM; + RN = ((uint64_t)RN << 16) / RM; + gpu_remain = ((uint64_t)RN << 16) % RM; } else { @@ -2363,17 +2363,17 @@ static void gpu_opcode_div(void) // RN / RM else RN = 0xFFFFFFFF; -/* uint32 _RM=RM; - uint32 _RN=RN; +/* uint32_t _RM=RM; + uint32_t _RN=RN; if (_RM) { if (gpu_div_control & 1) { - gpu_remain = (((uint64)_RN) << 16) % _RM; + gpu_remain = (((uint64_t)_RN) << 16) % _RM; if (gpu_remain&0x80000000) gpu_remain-=_RM; - RN = (((uint64)_RN) << 16) / _RM; + RN = (((uint64_t)_RN) << 16) / _RM; } else { @@ -2393,8 +2393,8 @@ static void gpu_opcode_div(void) // RN / RM static void gpu_opcode_imultn(void) { - uint32 res = (int32)((int16)RN * (int16)RM); - gpu_acc = (int32)res; + uint32_t res = (int32_t)((int16_t)RN * (int16_t)RM); + gpu_acc = (int32_t)res; SET_FLAG_Z(res); SET_FLAG_N(res); } @@ -2405,7 +2405,7 @@ static void gpu_opcode_neg(void) if (doGPUDis) WriteLog("%06X: NEG R%02u [NCZ:%u%u%u, R%02u=%08X] -> ", gpu_pc-2, IMM_2, gpu_flag_n, gpu_flag_c, gpu_flag_z, IMM_2, RN); #endif - uint32 res = -RN; + uint32_t res = -RN; SET_ZNC_SUB(0, RN, res); RN = res; #ifdef GPU_DIS_NEG @@ -2422,8 +2422,8 @@ static void gpu_opcode_shlq(void) #endif // Was a bug here... // (Look at Aaron's code: If r1 = 32, then 32 - 32 = 0 which is wrong!) - int32 r1 = 32 - IMM_1; - uint32 res = RN << r1; + int32_t r1 = 32 - IMM_1; + uint32_t res = RN << r1; SET_ZN(res); gpu_flag_c = (RN >> 31) & 1; RN = res; #ifdef GPU_DIS_SHLQ @@ -2438,8 +2438,8 @@ static void gpu_opcode_shrq(void) if (doGPUDis) WriteLog("%06X: SHRQ #%u, R%02u [NCZ:%u%u%u, R%02u=%08X] -> ", gpu_pc-2, gpu_convert_zero[IMM_1], IMM_2, gpu_flag_n, gpu_flag_c, gpu_flag_z, IMM_2, RN); #endif - int32 r1 = gpu_convert_zero[IMM_1]; - uint32 res = RN >> r1; + int32_t r1 = gpu_convert_zero[IMM_1]; + uint32_t res = RN >> r1; SET_ZN(res); gpu_flag_c = RN & 1; RN = res; #ifdef GPU_DIS_SHRQ @@ -2454,8 +2454,8 @@ static void gpu_opcode_ror(void) if (doGPUDis) WriteLog("%06X: ROR R%02u, R%02u [NCZ:%u%u%u, R%02u=%08X, R%02u=%08X] -> ", gpu_pc-2, IMM_1, IMM_2, gpu_flag_n, gpu_flag_c, gpu_flag_z, IMM_1, RM, IMM_2, RN); #endif - uint32 r1 = RM & 0x1F; - uint32 res = (RN >> r1) | (RN << (32 - r1)); + uint32_t r1 = RM & 0x1F; + uint32_t res = (RN >> r1) | (RN << (32 - r1)); SET_ZN(res); gpu_flag_c = (RN >> 31) & 1; RN = res; #ifdef GPU_DIS_ROR @@ -2470,9 +2470,9 @@ static void gpu_opcode_rorq(void) if (doGPUDis) WriteLog("%06X: RORQ #%u, R%02u [NCZ:%u%u%u, R%02u=%08X] -> ", gpu_pc-2, gpu_convert_zero[IMM_1], IMM_2, gpu_flag_n, gpu_flag_c, gpu_flag_z, IMM_2, RN); #endif - uint32 r1 = gpu_convert_zero[IMM_1 & 0x1F]; - uint32 r2 = RN; - uint32 res = (r2 >> r1) | (r2 << (32 - r1)); + uint32_t r1 = gpu_convert_zero[IMM_1 & 0x1F]; + uint32_t r2 = RN; + uint32_t res = (r2 >> r1) | (r2 << (32 - r1)); RN = res; SET_ZN(res); gpu_flag_c = (r2 >> 31) & 0x01; #ifdef GPU_DIS_RORQ @@ -2484,9 +2484,9 @@ static void gpu_opcode_rorq(void) static void gpu_opcode_sha(void) { /* int dreg = jaguar.op & 31; - int32 r1 = (int32)jaguar.r[(jaguar.op >> 5) & 31]; - uint32 r2 = jaguar.r[dreg]; - uint32 res; + int32_t r1 = (int32_t)jaguar.r[(jaguar.op >> 5) & 31]; + uint32_t r2 = jaguar.r[dreg]; + uint32_t res; CLR_ZNC; if (r1 < 0) @@ -2496,7 +2496,7 @@ static void gpu_opcode_sha(void) } else { - res = (r1 >= 32) ? ((int32)r2 >> 31) : ((int32)r2 >> r1); + res = (r1 >= 32) ? ((int32_t)r2 >> 31) : ((int32_t)r2 >> r1); jaguar.FLAGS |= (r2 << 1) & 2; } jaguar.r[dreg] = res; @@ -2506,16 +2506,16 @@ static void gpu_opcode_sha(void) if (doGPUDis) WriteLog("%06X: SHA R%02u, R%02u [NCZ:%u%u%u, R%02u=%08X, R%02u=%08X] -> ", gpu_pc-2, IMM_1, IMM_2, gpu_flag_n, gpu_flag_c, gpu_flag_z, IMM_1, RM, IMM_2, RN); #endif - uint32 res; + uint32_t res; - if ((int32)RM < 0) + if ((int32_t)RM < 0) { - res = ((int32)RM <= -32) ? 0 : (RN << -(int32)RM); + res = ((int32_t)RM <= -32) ? 0 : (RN << -(int32_t)RM); gpu_flag_c = RN >> 31; } else { - res = ((int32)RM >= 32) ? ((int32)RN >> 31) : ((int32)RN >> (int32)RM); + res = ((int32_t)RM >= 32) ? ((int32_t)RN >> 31) : ((int32_t)RN >> (int32_t)RM); gpu_flag_c = RN & 0x01; } RN = res; @@ -2525,12 +2525,12 @@ static void gpu_opcode_sha(void) WriteLog("[NCZ:%u%u%u, R%02u=%08X, R%02u=%08X]\n", gpu_flag_n, gpu_flag_c, gpu_flag_z, IMM_1, RM, IMM_2, RN); #endif -/* int32 sRM=(int32)RM; - uint32 _RN=RN; +/* int32_t sRM=(int32_t)RM; + uint32_t _RN=RN; if (sRM<0) { - uint32 shift=-sRM; + uint32_t shift=-sRM; if (shift>=32) shift=32; gpu_flag_c=(_RN&0x80000000)>>31; while (shift) @@ -2541,12 +2541,12 @@ static void gpu_opcode_sha(void) } else { - uint32 shift=sRM; + uint32_t shift=sRM; if (shift>=32) shift=32; gpu_flag_c=_RN&0x1; while (shift) { - _RN=((int32)_RN)>>1; + _RN=((int32_t)_RN)>>1; shift--; } } @@ -2561,7 +2561,7 @@ static void gpu_opcode_sharq(void) if (doGPUDis) WriteLog("%06X: SHARQ #%u, R%02u [NCZ:%u%u%u, R%02u=%08X] -> ", gpu_pc-2, gpu_convert_zero[IMM_1], IMM_2, gpu_flag_n, gpu_flag_c, gpu_flag_z, IMM_2, RN); #endif - uint32 res = (int32)RN >> gpu_convert_zero[IMM_1]; + uint32_t res = (int32_t)RN >> gpu_convert_zero[IMM_1]; SET_ZN(res); gpu_flag_c = RN & 0x01; RN = res; #ifdef GPU_DIS_SHARQ @@ -2579,7 +2579,7 @@ static void gpu_opcode_sh(void) if (RM & 0x80000000) // Shift left { gpu_flag_c = RN >> 31; - RN = ((int32)RM <= -32 ? 0 : RN << -(int32)RM); + RN = ((int32_t)RM <= -32 ? 0 : RN << -(int32_t)RM); } else // Shift right { diff --git a/src/gpu.h b/src/gpu.h index 9d3260f..47ec012 100644 --- a/src/gpu.h +++ b/src/gpu.h @@ -13,23 +13,23 @@ void GPUInit(void); void GPUReset(void); -void GPUExec(int32); +void GPUExec(int32_t); void GPUDone(void); void GPUUpdateRegisterBanks(void); void GPUHandleIRQs(void); void GPUSetIRQLine(int irqline, int state); -uint8 GPUReadByte(uint32 offset, uint32 who = UNKNOWN); -uint16 GPUReadWord(uint32 offset, uint32 who = UNKNOWN); -uint32 GPUReadLong(uint32 offset, uint32 who = UNKNOWN); -void GPUWriteByte(uint32 offset, uint8 data, uint32 who = UNKNOWN); -void GPUWriteWord(uint32 offset, uint16 data, uint32 who = UNKNOWN); -void GPUWriteLong(uint32 offset, uint32 data, uint32 who = UNKNOWN); +uint8_t GPUReadByte(uint32_t offset, uint32_t who = UNKNOWN); +uint16_t GPUReadWord(uint32_t offset, uint32_t who = UNKNOWN); +uint32_t GPUReadLong(uint32_t offset, uint32_t who = UNKNOWN); +void GPUWriteByte(uint32_t offset, uint8_t data, uint32_t who = UNKNOWN); +void GPUWriteWord(uint32_t offset, uint16_t data, uint32_t who = UNKNOWN); +void GPUWriteLong(uint32_t offset, uint32_t data, uint32_t who = UNKNOWN); -uint32 GPUGetPC(void); +uint32_t GPUGetPC(void); void GPUReleaseTimeslice(void); void GPUResetStats(void); -uint32 GPUReadPC(void); +uint32_t GPUReadPC(void); // GPU interrupt numbers (from $F00100, bits 4-8) @@ -37,6 +37,6 @@ enum { GPUIRQ_CPU = 0, GPUIRQ_DSP, GPUIRQ_TIMER, GPUIRQ_OBJECT, GPUIRQ_BLITTER } // Exported vars -extern uint32 gpu_reg_bank_0[], gpu_reg_bank_1[]; +extern uint32_t gpu_reg_bank_0[], gpu_reg_bank_1[]; #endif // __GPU_H__ diff --git a/src/gui/app.cpp b/src/gui/app.cpp index 10bc5af..c1093ff 100644 --- a/src/gui/app.cpp +++ b/src/gui/app.cpp @@ -23,7 +23,6 @@ #include "log.h" #include "mainwin.h" #include "settings.h" -#include "types.h" #include "version.h" diff --git a/src/gui/debug/opbrowser.cpp b/src/gui/debug/opbrowser.cpp index 3a86e41..e30907b 100644 --- a/src/gui/debug/opbrowser.cpp +++ b/src/gui/debug/opbrowser.cpp @@ -139,7 +139,6 @@ void OPBrowserWindow::DumpObjectList(QString & list) uint32_t lo = JaguarReadLong(address + 4, OP); uint8_t objectType = lo & 0x07; uint32_t link = ((hi << 11) | (lo >> 21)) & 0x3FFFF8; -// WriteLog("%08X: %08X %08X %s", address, hi, lo, opType[objectType]); sprintf(buf, "
%06X: %08X %08X %s -> %06X", address, hi, lo, opType[objectType], link); list += QString(buf); @@ -147,13 +146,10 @@ void OPBrowserWindow::DumpObjectList(QString & list) { uint16_t ypos = (lo >> 3) & 0x7FF; uint8_t cc = (lo >> 14) & 0x07; // Proper # of bits == 3 -// WriteLog(" YPOS=%u, CC=%s, link=$%08X", ypos, ccType[cc], link); -// sprintf(buf, " YPOS=%u, CC=%s, link=$%08X", ypos, ccType[cc], link); sprintf(buf, " YPOS %s %u", ccType[cc], ypos); list += QString(buf); } -// WriteLog("\n"); list += "
"; if (objectType == 0) @@ -166,13 +162,11 @@ void OPBrowserWindow::DumpObjectList(QString & list) if (address == link) // Ruh roh... { // Runaway recursive link is bad! -// WriteLog("***** SELF REFERENTIAL LINK *****\n\n"); sprintf(buf, "***** SELF REFERENTIAL LINK *****
"); list += QString(buf); } } -// WriteLog("\n"); list += "
"; } @@ -181,17 +175,14 @@ void OPBrowserWindow::DumpScaledObject(QString & list, uint64_t p0, uint64_t p1, { char buf[512]; -// WriteLog(" %08X %08X\n", (uint32)(p1>>32), (uint32)(p1&0xFFFFFFFF)); - sprintf(buf, "        %08X %08X
", (uint32)(p1>>32), (uint32)(p1&0xFFFFFFFF)); + sprintf(buf, "        %08X %08X
", (uint32_t)(p1 >> 32), (uint32_t)(p1 & 0xFFFFFFFF)); list += QString(buf); -// WriteLog(" %08X %08X\n", (uint32)(p2>>32), (uint32)(p2&0xFFFFFFFF)); - sprintf(buf, "        %08X %08X
", (uint32)(p2>>32), (uint32)(p2&0xFFFFFFFF)); + sprintf(buf, "        %08X %08X
", (uint32_t)(p2 >> 32), (uint32_t)(p2 & 0xFFFFFFFF)); list += QString(buf); DumpBitmapCore(list, p0, p1); - uint32 hscale = p2 & 0xFF; - uint32 vscale = (p2 >> 8) & 0xFF; - uint32 remainder = (p2 >> 16) & 0xFF; -// WriteLog(" [hsc: %02X, vsc: %02X, rem: %02X]\n", hscale, vscale, remainder); + uint32_t hscale = p2 & 0xFF; + uint32_t vscale = (p2 >> 8) & 0xFF; + uint32_t remainder = (p2 >> 16) & 0xFF; sprintf(buf, "        [hsc: %02X, vsc: %02X, rem: %02X]
", hscale, vscale, remainder); list += QString(buf); } @@ -201,8 +192,7 @@ void OPBrowserWindow::DumpFixedObject(QString & list, uint64_t p0, uint64_t p1) { char buf[512]; -// WriteLog(" %08X %08X\n", (uint32)(p1>>32), (uint32)(p1&0xFFFFFFFF)); - sprintf(buf, "        %08X %08X
", (uint32)(p1>>32), (uint32)(p1&0xFFFFFFFF)); + sprintf(buf, "        %08X %08X
", (uint32_t)(p1 >> 32), (uint32_t)(p1 & 0xFFFFFFFF)); list += QString(buf); DumpBitmapCore(list, p0, p1); } @@ -228,18 +218,13 @@ void OPBrowserWindow::DumpBitmapCore(QString & list, uint64_t p0, uint64_t p1) uint8_t flags = (p1 >> 45) & 0x0F; uint8_t idx = (p1 >> 38) & 0x7F; uint32_t pitch = (p1 >> 15) & 0x07; -// WriteLog(" [%u x %u @ (%i, %u) (iw:%u, dw:%u) (%u bpp), l:%08X, p:%08X fp:%02X, fl:%s%s%s%s, idx:%02X, pt:%02X]\n", -// iwidth * bdMultiplier[bitdepth], -// height, xpos, ypos, iwidth, dwidth, op_bitmap_bit_depth[bitdepth], link, -// ptr, firstPix, (flags&OPFLAG_REFLECT ? "REFLECT " : ""), -// (flags&OPFLAG_RMW ? "RMW " : ""), (flags&OPFLAG_TRANS ? "TRANS " : ""), -// (flags&OPFLAG_RELEASE ? "RELEASE" : ""), idx, pitch); + sprintf(buf, "        [%u x %u @ (%i, %u) (iw:%u, dw:%u) (%u bpp), p:%06X fp:%02X, fl:%s%s%s%s, idx:%02X, pt:%02X]
", iwidth * bdMultiplier[bitdepth], height, xpos, ypos, iwidth, dwidth, op_bitmap_bit_depth[bitdepth], - ptr, firstPix, (flags&OPFLAG_REFLECT ? "REFLECT " : ""), - (flags&OPFLAG_RMW ? "RMW " : ""), (flags&OPFLAG_TRANS ? "TRANS " : ""), - (flags&OPFLAG_RELEASE ? "RELEASE" : ""), idx, pitch); + ptr, firstPix, (flags & OPFLAG_REFLECT ? "REFLECT " : ""), + (flags & OPFLAG_RMW ? "RMW " : ""), (flags & OPFLAG_TRANS ? "TRANS " : ""), + (flags & OPFLAG_RELEASE ? "RELEASE" : ""), idx, pitch); list += QString(buf); } diff --git a/src/gui/filepicker.cpp b/src/gui/filepicker.cpp index ea987b5..5733de6 100644 --- a/src/gui/filepicker.cpp +++ b/src/gui/filepicker.cpp @@ -300,7 +300,7 @@ void FilePickerWindow::UpdateSelection(const QModelIndex & current, const QModel unsigned long fileSize = current.model()->data(current, FLM_FILESIZE).toUInt(); bool haveUniversalHeader = current.model()->data(current, FLM_UNIVERSALHDR).toBool(); unsigned long fileType = current.model()->data(current, FLM_FILETYPE).toUInt(); - uint32 crc = (uint32)current.model()->data(current, FLM_CRC).toUInt(); + uint32_t crc = (uint32_t)current.model()->data(current, FLM_CRC).toUInt(); // printf("FPW: %s\n", s.toAscii().data()); bool haveUnknown = (i == 0xFFFFFFFF ? true : false); #endif diff --git a/src/gui/filepicker.h b/src/gui/filepicker.h index e2f379f..e6a7c02 100644 --- a/src/gui/filepicker.h +++ b/src/gui/filepicker.h @@ -3,7 +3,6 @@ // #include -#include "types.h" // Forward declarations class QListWidget; diff --git a/src/gui/filethread.cpp b/src/gui/filethread.cpp index 306af9f..5d0d583 100644 --- a/src/gui/filethread.cpp +++ b/src/gui/filethread.cpp @@ -98,7 +98,7 @@ void FileThread::HandleFile(QFileInfo fileInfo) bool haveZIPFile = (fileInfo.suffix().compare("zip", Qt::CaseInsensitive) == 0 ? true : false); uint32_t fileSize = 0; - uint8 * buffer = NULL; + uint8_t * buffer = NULL; if (haveZIPFile) { @@ -122,7 +122,7 @@ void FileThread::HandleFile(QFileInfo fileInfo) if (fileSize == 0) return; - buffer = new uint8[fileSize]; + buffer = new uint8_t[fileSize]; file.read((char *)buffer, fileSize); file.close(); } @@ -132,7 +132,7 @@ void FileThread::HandleFile(QFileInfo fileInfo) // Check for Alpine ROM w/Universal Header bool foundUniversalHeader = HasUniversalHeader(buffer, fileSize); - uint32 crc; + uint32_t crc; //printf("FileThread: About to calc checksum on file with size %u... (buffer=%08X)\n", size, buffer); if (foundUniversalHeader) @@ -140,7 +140,7 @@ void FileThread::HandleFile(QFileInfo fileInfo) else crc = crc32_calcCheckSum(buffer, fileSize); - uint32 index = FindCRCIndexInFileList(crc); + uint32_t index = FindCRCIndexInFileList(crc); delete[] buffer; // Here we filter out files that are *not* in the DB and of unknown type, @@ -163,7 +163,7 @@ void FileThread::HandleFile(QFileInfo fileInfo) // See if we can fish out a label. :-) if (haveZIPFile) { - uint32 size = GetFileFromZIP(fileInfo.filePath().toAscii(), FT_LABEL, buffer); + uint32_t size = GetFileFromZIP(fileInfo.filePath().toAscii(), FT_LABEL, buffer); //printf("FT: Label size = %u bytes.\n", size); if (size > 0) @@ -186,7 +186,7 @@ void FileThread::HandleFile(QFileInfo fileInfo) // Find a CRC in the ROM list (simple brute force algorithm). // If it's there, return the index, otherwise return $FFFFFFFF // -uint32 FileThread::FindCRCIndexInFileList(uint32 crc) +uint32_t FileThread::FindCRCIndexInFileList(uint32_t crc) { // Instead of a simple brute-force search, we should probably do a binary // partition search instead, since the CRCs are sorted numerically. diff --git a/src/gui/filethread.h b/src/gui/filethread.h index 92b773d..20fd3a0 100644 --- a/src/gui/filethread.h +++ b/src/gui/filethread.h @@ -6,7 +6,7 @@ #define __FILETHREAD_H__ #include -#include "types.h" +#include class FileThread: public QThread { @@ -25,7 +25,7 @@ class FileThread: public QThread protected: void run(void); void HandleFile(QFileInfo); - uint32 FindCRCIndexInFileList(uint32); + uint32_t FindCRCIndexInFileList(uint32_t); private: QMutex mutex; diff --git a/src/gui/mainwin.cpp b/src/gui/mainwin.cpp index 5efca0a..87e6e3f 100644 --- a/src/gui/mainwin.cpp +++ b/src/gui/mainwin.cpp @@ -56,6 +56,7 @@ #include "log.h" #include "file.h" #include "jagbios.h" +#include "jagbios2.h" #include "jagcdbios.h" #include "jagstub2bios.h" #include "joystick.h" @@ -78,11 +79,8 @@ // We'll make the VJ core modular so that it doesn't matter what GUI is in // use, we can drop it in anywhere and use it as-is. -//MainWin::MainWin(QString filenameToRun): running(true), powerButtonOn(false), MainWin::MainWin(bool autoRun): running(true), powerButtonOn(false), showUntunedTankCircuit(true), cartridgeLoaded(false), CDActive(false), - //, alpineLoadSuccessful(false), -// pauseForFileSelector(false), loadAndGo(false), plzDontKillMyComputer(false) pauseForFileSelector(false), loadAndGo(autoRun), plzDontKillMyComputer(false) { for(int i=0; i<8; i++) @@ -319,19 +317,13 @@ MainWin::MainWin(bool autoRun): running(true), powerButtonOn(false), WriteLog("Virtual Jaguar %s (Last full build was on %s %s)\n", VJ_RELEASE_VERSION, __DATE__, __TIME__); WriteLog("VJ: Initializing jaguar subsystem...\n"); JaguarInit(); - memcpy(jagMemSpace + 0xE00000, jaguarBootROM, 0x20000); // Use the stock BIOS +// memcpy(jagMemSpace + 0xE00000, jaguarBootROM, 0x20000); // Use the stock BIOS + memcpy(jagMemSpace + 0xE00000, (vjs.biosType == BT_K_SERIES ? jaguarBootROM : jaguarBootROM2), 0x20000); // Use the stock BIOS - // Check for filename passed in on the command line... -// if (!filenameToRun.isEmpty()) + // Prevent the file scanner from running if filename passed + // in on the command line... if (autoRun) - { -// loadAndGo = true; - // Attempt to load/run the file the user passed in... -// LoadSoftware(filenameToRun); -//// memcpy(jagMemSpace + 0xE00000, jaguarBootROM, 0x20000); // Use the stock BIOS - // Prevent the file scanner from running... return; - } // Load up the default ROM if in Alpine mode: if (vjs.hardwareTypeAlpine) @@ -626,6 +618,8 @@ void MainWin::Timer(void) if (showUntunedTankCircuit) { // Some machines can't handle this, so we give them the option to disable it. :-) +#warning "!!! Add test pattern here for -z option !!!" +// Actually, should put test pattern in buffer in function below :-P if (!plzDontKillMyComputer) { // Random hash & trash @@ -840,22 +834,11 @@ void MainWin::ToggleCDUsage(void) { CDActive = !CDActive; -#if 0 - if (CDActive) - { - powerAct->setDisabled(false); - } - else - { - powerAct->setDisabled(true); - } -#else // Set up the Jaguar CD for execution, otherwise, clear memory if (CDActive) memcpy(jagMemSpace + 0x800000, jaguarCDBootROM, 0x40000); else memset(jagMemSpace + 0x800000, 0xFF, 0x40000); -#endif } @@ -1007,15 +990,13 @@ void MainWin::ReadSettings(void) vjs.glFilter = settings.value("glFilterType", 1).toInt(); vjs.renderType = settings.value("renderType", 0).toInt(); vjs.allowWritesToROM = settings.value("writeROM", false).toBool(); -// strcpy(vjs.jagBootPath, settings.value("JagBootROM", "./bios/[BIOS] Atari Jaguar (USA, Europe).zip").toString().toAscii().data()); -// strcpy(vjs.CDBootPath, settings.value("CDBootROM", "./bios/jagcd.rom").toString().toAscii().data()); + vjs.biosType = settings.value("biosType", BT_M_SERIES).toInt(); strcpy(vjs.EEPROMPath, settings.value("EEPROMs", "./eeproms/").toString().toAscii().data()); strcpy(vjs.ROMPath, settings.value("ROMs", "./software/").toString().toAscii().data()); strcpy(vjs.alpineROMPath, settings.value("DefaultROM", "").toString().toAscii().data()); strcpy(vjs.absROMPath, settings.value("DefaultABS", "").toString().toAscii().data()); + WriteLog("MainWin: Paths\n"); -//WriteLog(" jagBootPath = \"%s\"\n", vjs.jagBootPath); -//WriteLog(" CDBootPath = \"%s\"\n", vjs.CDBootPath); WriteLog(" EEPROMPath = \"%s\"\n", vjs.EEPROMPath); WriteLog(" ROMPath = \"%s\"\n", vjs.ROMPath); WriteLog("AlpineROMPath = \"%s\"\n", vjs.alpineROMPath); @@ -1093,6 +1074,7 @@ void MainWin::WriteSettings(void) settings.setValue("glFilterType", vjs.glFilter); settings.setValue("renderType", vjs.renderType); settings.setValue("writeROM", vjs.allowWritesToROM); + settings.setValue("biosType", vjs.biosType); settings.setValue("JagBootROM", vjs.jagBootPath); settings.setValue("CDBootROM", vjs.CDBootPath); settings.setValue("EEPROMs", vjs.EEPROMPath); diff --git a/src/gui/virtualjaguar.qrc b/src/gui/virtualjaguar.qrc index 4225d19..5f081ef 100644 --- a/src/gui/virtualjaguar.qrc +++ b/src/gui/virtualjaguar.qrc @@ -34,6 +34,7 @@ ../../res/skunkboard-file.png ../../res/homebrew-file.png ../../res/unknown-file.png + ../../res/test-pattern.jpg ../../res/help.html diff --git a/src/jagbios.cpp b/src/jagbios.cpp index 3633346..8c03e6f 100644 --- a/src/jagbios.cpp +++ b/src/jagbios.cpp @@ -1,6 +1,8 @@ // // This file was automagically generated by bin2c (by James Hammons) // +// NOTE: This is the Jaguar Series K boot ROM +// char jaguarBootROM[0x20000] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0xE0, 0x00, 0x08, 0x41, 0xF9, 0x00, 0xF0, 0x00, 0x00, 0x30, 0xBC, 0x18, 0x61, 0x32, 0x3C, 0x35, 0xCC, 0x30, 0x39, 0x00, 0xF1, 0x40, 0x02, 0x08, 0x00, 0x00, 0x05, diff --git a/src/jagbios2.cpp b/src/jagbios2.cpp new file mode 100644 index 0000000..413e5e6 --- /dev/null +++ b/src/jagbios2.cpp @@ -0,0 +1,4104 @@ +// +// This file was automagically generated by bin2c (by James L. Hammons) +// +// NOTE: This is the Jaguar Series M boot ROM +// + +char jaguarBootROM2[0x20000] = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0xE0, 0x00, 0x08, 0x41, 0xF9, 0x00, 0xF0, 0x00, 0x00, 0x30, 0xBC, 0x18, 0x61, 0x70, 0xFF, 0x51, 0xC8, 0xFF, 0xFE, 0x32, 0x3C, 0x35, 0xCC, 0x30, 0x39, 0x00, 0xF1, + 0x40, 0x02, 0x08, 0x00, 0x00, 0x05, 0x66, 0x04, 0x32, 0x3C, 0x35, 0xDD, 0x31, 0x41, 0x00, 0x02, 0x46, 0xFC, 0x27, 0x00, 0x2E, 0x7C, 0x00, 0x00, 0x40, 0x00, 0x31, 0x7C, 0x00, 0x00, 0x00, 0x58, + 0x21, 0x7C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2A, 0x23, 0xFC, 0x00, 0x07, 0x00, 0x07, 0x00, 0xF1, 0xA1, 0x0C, 0x23, 0xFC, 0x00, 0x07, 0x00, 0x07, 0x00, 0xF0, 0x21, 0x0C, 0x23, 0xFC, 0x00, 0x00, + 0x00, 0x00, 0x00, 0xF1, 0xA1, 0x48, 0x23, 0xFC, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF1, 0xA1, 0x4C, 0x33, 0xFC, 0x00, 0x04, 0x00, 0xF1, 0xA1, 0x50, 0x33, 0xFC, 0x00, 0x15, 0x00, 0xF1, 0xA1, 0x54, + 0x33, 0xFC, 0x00, 0x04, 0x00, 0xF1, 0x00, 0x14, 0x08, 0x00, 0x00, 0x04, 0x67, 0x00, 0x00, 0x82, 0x33, 0xFC, 0x00, 0xB5, 0x00, 0xF1, 0x00, 0x12, 0x31, 0x7C, 0x03, 0x4C, 0x00, 0x2E, 0x31, 0x7C, + 0x06, 0xB1, 0x00, 0x30, 0x31, 0x7C, 0x00, 0x7D, 0x00, 0x32, 0x31, 0x7C, 0x06, 0xCD, 0x00, 0x34, 0x31, 0x7C, 0x02, 0x8B, 0x00, 0x36, 0x31, 0x7C, 0x03, 0x0E, 0x00, 0x54, 0x31, 0x7C, 0x06, 0xA0, + 0x00, 0x3C, 0x31, 0x7C, 0x00, 0xA6, 0x00, 0x38, 0x31, 0x7C, 0x00, 0xA6, 0x00, 0x3A, 0x31, 0x7C, 0x02, 0x0B, 0x00, 0x3E, 0x31, 0x7C, 0x00, 0x06, 0x00, 0x4C, 0x31, 0x7C, 0x00, 0x18, 0x00, 0x42, + 0x31, 0x7C, 0x00, 0x2E, 0x00, 0x46, 0x31, 0x7C, 0xFF, 0xFF, 0x00, 0x48, 0x31, 0x7C, 0x01, 0xF4, 0x00, 0x40, 0x31, 0x7C, 0x01, 0xFF, 0x00, 0x4A, 0x31, 0x7C, 0x02, 0x05, 0x00, 0x44, 0x31, 0x7C, + 0x01, 0xF9, 0x00, 0x4E, 0x32, 0x3C, 0x40, 0xBB, 0x34, 0x3C, 0x4F, 0x83, 0x60, 0x00, 0x00, 0x7E, 0x33, 0xFC, 0x00, 0xE2, 0x00, 0xF1, 0x00, 0x12, 0x31, 0x7C, 0x03, 0x52, 0x00, 0x2E, 0x31, 0x7C, + 0x06, 0xAF, 0x00, 0x30, 0x31, 0x7C, 0x00, 0x9E, 0x00, 0x32, 0x31, 0x7C, 0x06, 0xD5, 0x00, 0x34, 0x31, 0x7C, 0x02, 0x59, 0x00, 0x36, 0x31, 0x7C, 0x03, 0x13, 0x00, 0x54, 0x31, 0x7C, 0x06, 0xA0, + 0x00, 0x3C, 0x31, 0x7C, 0x00, 0xA6, 0x00, 0x38, 0x31, 0x7C, 0x00, 0xA6, 0x00, 0x3A, 0x31, 0x7C, 0x02, 0x6F, 0x00, 0x3E, 0x31, 0x7C, 0x00, 0x06, 0x00, 0x4C, 0x31, 0x7C, 0x00, 0x22, 0x00, 0x42, + 0x31, 0x7C, 0x00, 0x2E, 0x00, 0x46, 0x31, 0x7C, 0xFF, 0xFF, 0x00, 0x48, 0x31, 0x7C, 0x02, 0x58, 0x00, 0x40, 0x31, 0x7C, 0x02, 0x65, 0x00, 0x4A, 0x31, 0x7C, 0x02, 0x6A, 0x00, 0x44, 0x31, 0x7C, + 0x02, 0x61, 0x00, 0x4E, 0x32, 0x3C, 0x41, 0x0B, 0x34, 0x3C, 0x50, 0x83, 0x76, 0x00, 0x43, 0xF9, 0x00, 0xF0, 0x22, 0x00, 0x45, 0xF9, 0x00, 0xF0, 0x22, 0x38, 0x76, 0x00, 0x22, 0xC3, 0xB5, 0xC9, + 0x66, 0xFA, 0x22, 0xFC, 0x00, 0x00, 0x00, 0x80, 0x45, 0xF9, 0x00, 0xF0, 0x22, 0x9C, 0x22, 0xC3, 0xB5, 0xC9, 0x66, 0xFA, 0x43, 0xF9, 0x00, 0xF0, 0x08, 0x00, 0x45, 0xF9, 0x00, 0xF0, 0x10, 0x00, + 0x38, 0x3C, 0x01, 0x67, 0x22, 0xC3, 0x24, 0xC3, 0x51, 0xCC, 0xFF, 0xFA, 0x23, 0xC3, 0x00, 0xF0, 0x22, 0x00, 0x23, 0xC3, 0x00, 0xF0, 0x22, 0x68, 0x23, 0xC3, 0x00, 0xF0, 0x22, 0x6C, 0x23, 0xC3, + 0x00, 0xF0, 0x22, 0x0C, 0x23, 0xFC, 0x02, 0x00, 0x08, 0x00, 0x00, 0xF0, 0x22, 0x3C, 0x23, 0xFC, 0x00, 0x01, 0xF8, 0x00, 0x00, 0xF0, 0x22, 0x10, 0x23, 0xFC, 0x00, 0x00, 0x58, 0x20, 0x00, 0xF0, + 0x22, 0x04, 0x23, 0xFC, 0x00, 0x01, 0x02, 0x00, 0x00, 0xF0, 0x22, 0x38, 0x33, 0xFC, 0x01, 0x00, 0x00, 0xF1, 0x40, 0x00, 0x43, 0xF9, 0x00, 0xE0, 0x03, 0xA0, 0x45, 0xF8, 0x48, 0x00, 0x36, 0x3C, + 0x00, 0xA1, 0x34, 0xD9, 0x51, 0xCB, 0xFF, 0xFC, 0x08, 0x00, 0x00, 0x04, 0x66, 0x00, 0x00, 0x16, 0x23, 0xFC, 0x00, 0x00, 0x01, 0x20, 0x00, 0x00, 0x49, 0x3A, 0x23, 0xFC, 0xFF, 0xFF, 0xFE, 0x50, + 0x00, 0x00, 0x49, 0x3E, 0x41, 0xF9, 0x00, 0x03, 0x6F, 0xE0, 0x30, 0xFC, 0x00, 0x00, 0x20, 0xFC, 0x00, 0x6D, 0xFE, 0x00, 0x30, 0xC1, 0x30, 0xFC, 0x00, 0x00, 0x20, 0xFC, 0x00, 0x6E, 0x00, 0x00, + 0x30, 0xC2, 0x42, 0x98, 0x74, 0x04, 0x20, 0xC2, 0x24, 0x3C, 0x00, 0x03, 0x6F, 0xF0, 0x48, 0x42, 0x23, 0xC2, 0x00, 0xF0, 0x00, 0x20, 0x41, 0xF9, 0x00, 0x08, 0xD0, 0x00, 0x22, 0x48, 0x70, 0x00, + 0x32, 0x3C, 0x08, 0xBF, 0x20, 0xC0, 0x51, 0xC9, 0xFF, 0xFC, 0x41, 0xF9, 0x00, 0xE0, 0x04, 0xE4, 0xD2, 0xFC, 0x08, 0xC0, 0x78, 0x1D, 0x24, 0x49, 0x76, 0x1B, 0x10, 0x18, 0x72, 0x00, 0x74, 0x07, + 0xE9, 0x99, 0xE3, 0x08, 0x64, 0x04, 0x82, 0x7C, 0x00, 0x08, 0x51, 0xCA, 0xFF, 0xF4, 0x24, 0xC1, 0x51, 0xCB, 0xFF, 0xE8, 0xD2, 0xFC, 0x00, 0x70, 0x51, 0xCC, 0xFF, 0xDC, 0x41, 0xF9, 0x00, 0xE0, + 0x0B, 0x40, 0x43, 0xF8, 0x50, 0x00, 0x24, 0x49, 0x20, 0x3C, 0x00, 0xE1, 0x4F, 0x14, 0x22, 0x3C, 0x00, 0xE0, 0x0B, 0x40, 0x90, 0x81, 0xE4, 0x88, 0x60, 0x02, 0x22, 0xD8, 0x51, 0xC8, 0xFF, 0xFC, + 0x21, 0xFC, 0x00, 0x00, 0x48, 0x00, 0x59, 0xBA, 0x23, 0xFC, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF0, 0x21, 0x14, 0x43, 0xF9, 0x00, 0xF0, 0x30, 0x00, 0x70, 0x00, 0x32, 0x3C, 0x03, 0xFF, 0x22, 0xC0, + 0x51, 0xC9, 0xFF, 0xFC, 0x43, 0xF9, 0x00, 0xF0, 0x32, 0xEC, 0x20, 0x7C, 0x00, 0xE0, 0x08, 0x80, 0x24, 0x7C, 0x00, 0xE0, 0x0B, 0x40, 0x22, 0xD8, 0xB1, 0xCA, 0x65, 0xFA, 0x43, 0xF9, 0x00, 0xE0, + 0x08, 0x2C, 0x45, 0xF9, 0x00, 0xF0, 0x30, 0x00, 0x70, 0x10, 0x24, 0xD9, 0x51, 0xC8, 0xFF, 0xFC, 0x41, 0xF9, 0x00, 0xF0, 0x00, 0x00, 0x70, 0x00, 0x10, 0x39, 0x00, 0x80, 0x04, 0x00, 0x02, 0x40, + 0x00, 0x1E, 0x00, 0x40, 0x18, 0x61, 0x21, 0x7C, 0x00, 0xF0, 0x32, 0xEC, 0x21, 0x10, 0x43, 0xF9, 0x00, 0xE0, 0x03, 0x66, 0x45, 0xF8, 0x04, 0x00, 0x32, 0x3C, 0x00, 0x0E, 0x24, 0xD9, 0x51, 0xC9, + 0xFF, 0xFC, 0x4E, 0xF8, 0x04, 0x00, 0x30, 0x80, 0x22, 0x39, 0x00, 0x80, 0x04, 0x08, 0x21, 0x7C, 0x00, 0x00, 0x00, 0x01, 0x21, 0x14, 0x08, 0x01, 0x00, 0x00, 0x67, 0x14, 0x20, 0x28, 0x21, 0x14, + 0xE2, 0x88, 0x65, 0xF8, 0x20, 0x28, 0x30, 0x00, 0x0C, 0x80, 0x03, 0xD0, 0xDE, 0xAD, 0x67, 0x04, 0x4E, 0xB8, 0x50, 0x00, 0x20, 0x79, 0x00, 0x80, 0x04, 0x04, 0x4E, 0xD0, 0x4E, 0x71, 0x4E, 0x71, + 0x43, 0xF9, 0x00, 0x03, 0x70, 0x00, 0x41, 0xE9, 0x00, 0x88, 0x70, 0x1F, 0x22, 0xD8, 0x51, 0xC8, 0xFF, 0xFC, 0x43, 0xE9, 0xFF, 0xE4, 0x4C, 0xFA, 0x00, 0x03, 0x01, 0x20, 0xD1, 0x91, 0xD1, 0xA9, + 0xFF, 0xE0, 0xD1, 0xA9, 0xFF, 0xA0, 0x20, 0x29, 0xFF, 0xC0, 0x02, 0x81, 0x00, 0x00, 0x3F, 0xF0, 0xD2, 0x80, 0x02, 0x81, 0x00, 0x00, 0x3F, 0xF8, 0x02, 0x80, 0xFF, 0xFF, 0xC0, 0x07, 0x80, 0x81, + 0x23, 0x40, 0xFF, 0xC0, 0x4C, 0xFA, 0x00, 0x03, 0x00, 0xF2, 0xB2, 0x80, 0x67, 0x1E, 0x30, 0x3A, 0x00, 0xF2, 0x66, 0x12, 0x4A, 0xB9, 0x00, 0x12, 0x59, 0x30, 0x67, 0x10, 0x33, 0xFC, 0xFF, 0xFF, + 0x00, 0x00, 0x49, 0x42, 0x60, 0x06, 0x50, 0xB9, 0x00, 0x00, 0x49, 0x3E, 0x2F, 0x02, 0x41, 0xF9, 0x00, 0xF1, 0x40, 0x00, 0x32, 0x3C, 0x81, 0xFF, 0x70, 0x11, 0x74, 0x00, 0xB3, 0x40, 0x30, 0x80, + 0xB3, 0x40, 0x48, 0x41, 0x32, 0x10, 0xE0, 0x49, 0x84, 0x41, 0x48, 0x41, 0xE1, 0x9A, 0xD0, 0x40, 0x08, 0x00, 0x00, 0x08, 0x67, 0xE6, 0x46, 0x82, 0x20, 0x02, 0x24, 0x1F, 0x22, 0x39, 0x00, 0x03, + 0x72, 0x1C, 0x0C, 0x41, 0x00, 0x1E, 0x67, 0x10, 0x0C, 0x41, 0x00, 0xBE, 0x67, 0x1C, 0x0C, 0x81, 0x00, 0x00, 0x09, 0x60, 0x64, 0x3A, 0x4E, 0x75, 0x0C, 0x80, 0x04, 0x00, 0x00, 0x80, 0x66, 0xF6, + 0x33, 0xFC, 0x00, 0x01, 0x00, 0x00, 0x49, 0x36, 0x4E, 0x75, 0x0C, 0x80, 0x08, 0x00, 0x00, 0x40, 0x66, 0xE4, 0x30, 0x3A, 0x00, 0x62, 0x00, 0x40, 0x00, 0x02, 0x33, 0xC0, 0x00, 0x00, 0x49, 0x36, + 0x0C, 0x40, 0x00, 0x03, 0x66, 0x08, 0x33, 0xFC, 0x7E, 0x78, 0x00, 0x15, 0xD2, 0xBA, 0x4E, 0x75, 0x30, 0x3A, 0x00, 0x44, 0x0C, 0x40, 0x00, 0x03, 0x67, 0x02, 0x4E, 0x75, 0x41, 0xF9, 0x00, 0x15, + 0xD0, 0x00, 0x43, 0xF9, 0x00, 0x08, 0xD0, 0x00, 0x2F, 0x02, 0x30, 0x3A, 0x00, 0x2C, 0x32, 0x3C, 0x00, 0x1F, 0x11, 0xB1, 0x00, 0x00, 0x00, 0x00, 0x74, 0x00, 0x06, 0x40, 0x03, 0x5B, 0x0C, 0x40, + 0x23, 0x00, 0x65, 0x04, 0x04, 0x40, 0x23, 0x00, 0x51, 0xC9, 0xFF, 0xE8, 0x33, 0xC0, 0x00, 0x00, 0x49, 0x38, 0x24, 0x1F, 0x4E, 0x75, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x80, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3F, 0xC0, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x60, 0x78, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC0, 0x0E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x80, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x80, 0x03, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x07, 0x00, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0D, 0x00, 0x30, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x19, 0x00, 0x20, 0x00, 0x01, 0x80, 0x00, + 0x00, 0x01, 0x04, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xF1, 0x00, 0x60, 0xE0, 0x01, 0x80, 0x00, 0x00, 0x01, 0x04, 0x00, + 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x60, 0xE0, 0x07, 0x00, 0x00, 0x00, 0x01, 0x8C, 0x00, 0x02, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x40, 0xE0, 0x06, 0x00, 0x00, 0x00, 0x00, 0xF8, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x1C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0xC0, 0x00, 0x06, 0x00, 0x00, 0x00, 0x00, 0x3F, 0x01, 0x81, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1F, 0x00, 0x00, 0x00, 0x06, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x00, 0xC0, 0x00, 0x06, 0x00, 0x00, 0x00, 0x00, 0x31, 0xFF, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x31, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xC0, 0x06, 0x00, 0x80, 0x00, 0x06, 0x00, 0x00, 0x00, 0x00, 0x60, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x61, 0x00, 0x00, 0x00, 0x01, 0x80, 0x01, 0xF1, 0xE3, 0xF0, 0xC0, 0x05, 0xE1, 0x80, + 0x00, 0x06, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x01, 0x00, 0xFE, 0x80, 0x00, 0x18, 0x41, 0x00, 0x00, 0x3C, 0x00, 0x80, 0x03, 0x03, 0x30, 0x60, 0x00, 0x05, 0x39, 0x81, 0x80, 0x06, 0x00, 0x00, + 0x00, 0x00, 0xC0, 0x00, 0x01, 0x01, 0x83, 0x80, 0xF0, 0x3E, 0xC1, 0x00, 0x00, 0xE0, 0x00, 0x80, 0x01, 0xE3, 0xF0, 0xC0, 0xC0, 0x0D, 0x8F, 0x81, 0x80, 0x0E, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, + 0x01, 0x03, 0x01, 0x81, 0x90, 0x23, 0x81, 0x00, 0x01, 0x80, 0x00, 0x80, 0x00, 0x33, 0x01, 0x80, 0xC0, 0x0C, 0xC3, 0x03, 0x80, 0x0E, 0x00, 0x00, 0x0F, 0xF9, 0x80, 0x00, 0x01, 0x06, 0x01, 0x83, + 0x10, 0x21, 0xE3, 0x00, 0x01, 0x00, 0x00, 0x80, 0x03, 0xE1, 0xE3, 0xF0, 0x00, 0x08, 0x7F, 0xE3, 0x00, 0x0E, 0x00, 0x00, 0x38, 0x0F, 0x00, 0x00, 0x01, 0x04, 0x03, 0x06, 0x10, 0x60, 0xBE, 0x00, + 0x01, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x03, 0x03, 0x00, 0x00, 0x00, 0x00, 0x60, 0x07, 0x00, 0x00, 0x01, 0x0C, 0x03, 0x0C, 0x30, 0x40, 0x80, 0x00, 0x41, 0x00, 0x00, 0x80, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x07, 0x03, 0x00, 0x00, 0x00, 0x00, 0xC0, 0x05, 0x80, 0x00, 0x03, 0x08, 0x03, 0x18, 0x20, 0x40, 0x80, 0x00, 0x41, 0x80, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x18, 0x07, 0x03, 0x00, 0x00, 0x00, 0x00, 0x80, 0x08, 0xC0, 0x00, 0x02, 0x08, 0x06, 0x30, 0x20, 0xC0, 0x80, 0x00, 0xC0, 0xC0, 0x01, 0x82, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x07, 0x02, + 0x00, 0x1C, 0x00, 0x00, 0x80, 0x18, 0x60, 0x00, 0x06, 0x08, 0x07, 0x20, 0x20, 0x80, 0x80, 0x00, 0x80, 0x60, 0x03, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0x07, 0x02, 0x06, 0x1C, 0x00, 0x00, + 0x80, 0x30, 0x30, 0x00, 0x0C, 0x0C, 0x0D, 0xE0, 0x21, 0x80, 0xE0, 0x01, 0x80, 0x38, 0x1E, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0x07, 0x03, 0xEC, 0x1C, 0x00, 0x00, 0x80, 0x60, 0x18, 0x00, + 0x08, 0x07, 0xF8, 0x00, 0x3F, 0x00, 0x3C, 0x07, 0x00, 0x0F, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x30, 0x06, 0x01, 0xFC, 0x18, 0x00, 0x00, 0xC0, 0xC0, 0x0C, 0x00, 0x38, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x07, 0xFC, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0C, 0x60, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x41, 0x80, 0x07, 0x80, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7F, 0x00, 0x00, 0xFF, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2F, 0xC5, 0x0F, 0x79, 0xB7, 0x96, 0x1B, 0x10, 0xA2, 0xEA, 0x46, 0xAB, 0xA1, 0xF0, 0x1D, 0xAF, 0xC5, + 0xC7, 0x94, 0xC0, 0x08, 0xB9, 0x81, 0x80, 0x5E, 0x5B, 0x93, 0xF5, 0x03, 0x02, 0x41, 0xFE, 0x75, 0xB7, 0x1C, 0xE8, 0xE7, 0x22, 0x79, 0xA3, 0xD5, 0xBE, 0x30, 0x45, 0xF9, 0xEA, 0x35, 0xD9, 0x8A, + 0x0A, 0x15, 0x40, 0xB4, 0xB4, 0xE8, 0x4E, 0xA6, 0xDD, 0x17, 0xEE, 0x42, 0x33, 0x10, 0x0D, 0xF9, 0x00, 0x04, 0x00, 0x04, 0x00, 0x04, 0x00, 0x04, 0x00, 0x04, 0x00, 0x04, 0x00, 0x04, 0x00, 0x04, + 0x98, 0x1D, 0x33, 0x14, 0x00, 0xF0, 0x98, 0x00, 0x00, 0x00, 0x00, 0x80, 0x98, 0x1B, 0x00, 0x44, 0x00, 0x00, 0x98, 0x1A, 0x32, 0xA8, 0x00, 0xF0, 0x9C, 0x0D, 0x91, 0xA2, 0x98, 0x0D, 0x35, 0xA8, + 0x00, 0xF0, 0x91, 0xA1, 0x8C, 0x0D, 0x91, 0xA0, 0x98, 0x17, 0x00, 0xFF, 0x00, 0x00, 0x8B, 0x4E, 0x8B, 0x61, 0x8C, 0x0D, 0x8C, 0x82, 0x08, 0x20, 0x9C, 0x10, 0x2A, 0x0D, 0x18, 0x22, 0xD7, 0x61, + 0x75, 0x0D, 0x18, 0x81, 0xD6, 0xC1, 0xF0, 0x2D, 0x26, 0xED, 0xBD, 0xCD, 0x18, 0x60, 0x75, 0x17, 0x6D, 0x17, 0x8A, 0xF6, 0x30, 0x16, 0x98, 0x14, 0x33, 0x78, 0x00, 0xF0, 0x98, 0x13, 0x33, 0x84, + 0x00, 0xF0, 0x98, 0x1C, 0x33, 0x6A, 0x00, 0xF0, 0x8C, 0x12, 0x8B, 0x44, 0x03, 0x64, 0x88, 0x87, 0x8B, 0x43, 0x8B, 0x46, 0x98, 0x0C, 0x30, 0x44, 0x00, 0xF0, 0x8B, 0x6D, 0x6C, 0x2D, 0x88, 0xE8, + 0x18, 0x2D, 0xBD, 0x92, 0x0C, 0x8C, 0xD7, 0xA1, 0x18, 0x2D, 0x89, 0x95, 0x18, 0x84, 0x89, 0x8B, 0xA4, 0x85, 0x18, 0x8C, 0x88, 0xA1, 0x76, 0x01, 0x18, 0x88, 0xA5, 0x09, 0x89, 0x2A, 0x89, 0x2D, + 0x76, 0x0A, 0x40, 0xAD, 0x89, 0x50, 0x40, 0x29, 0x40, 0xB0, 0x40, 0x2A, 0x02, 0x09, 0x8C, 0x10, 0x06, 0x10, 0x76, 0x09, 0x76, 0x10, 0x89, 0x31, 0x26, 0xD1, 0x26, 0xE9, 0x2A, 0x30, 0x18, 0x8B, + 0x01, 0x2D, 0xA5, 0x69, 0x05, 0x50, 0x01, 0xA9, 0x89, 0x6A, 0xBD, 0x69, 0x1C, 0x8A, 0xA5, 0x4D, 0x06, 0x0D, 0xD4, 0xC4, 0xBD, 0x4D, 0x1C, 0x8A, 0xA5, 0x4D, 0x06, 0x4D, 0xD7, 0x88, 0xBD, 0x4D, + 0x79, 0x06, 0xD2, 0x61, 0x78, 0x83, 0x88, 0xE8, 0xD2, 0x81, 0x78, 0xDA, 0x8B, 0x6D, 0xD5, 0xA1, 0x03, 0x64, 0x98, 0x06, 0x30, 0x44, 0x00, 0xF0, 0x98, 0x0C, 0x31, 0x10, 0x00, 0xF0, 0x88, 0xC7, + 0x03, 0x6D, 0x01, 0xA7, 0x03, 0x6D, 0xD3, 0x80, 0x6C, 0x4D, 0x98, 0x03, 0x31, 0x10, 0x00, 0xF0, 0x98, 0x04, 0x30, 0x44, 0x00, 0xF0, 0x98, 0x08, 0x31, 0xDC, 0x00, 0xF0, 0x88, 0x6E, 0x88, 0x8F, + 0x8C, 0x01, 0xE8, 0x2D, 0xF4, 0x32, 0x29, 0xAD, 0xD7, 0x82, 0x08, 0x81, 0x8B, 0x66, 0x18, 0x81, 0x03, 0x66, 0x10, 0x26, 0x63, 0xA6, 0x98, 0x0E, 0x30, 0x00, 0x00, 0xF0, 0x00, 0x24, 0x00, 0x23, + 0x00, 0x28, 0x88, 0x8F, 0x18, 0x8F, 0x8C, 0x10, 0x01, 0xAD, 0xD7, 0xC4, 0x08, 0x30, 0x8F, 0x47, 0x98, 0x17, 0x34, 0x7C, 0x00, 0xF0, 0x12, 0x07, 0xD2, 0xE8, 0x08, 0x27, 0x00, 0xE6, 0x20, 0x07, + 0x8C, 0x17, 0x30, 0x17, 0x5C, 0xF7, 0x8A, 0xF6, 0x30, 0x16, 0x8C, 0x01, 0xE8, 0x30, 0x70, 0xF0, 0x08, 0x81, 0xE8, 0x31, 0x70, 0xF1, 0x8A, 0x2D, 0x26, 0xD1, 0x26, 0xED, 0x2A, 0x30, 0x78, 0x3B, + 0xF4, 0x30, 0xD6, 0xC1, 0x89, 0xB0, 0x2A, 0x10, 0xD5, 0x22, 0xE4, 0x00, 0xD4, 0xE0, 0xF4, 0x30, 0x8C, 0x01, 0xE8, 0x2D, 0x08, 0x81, 0x7B, 0x61, 0xD7, 0x81, 0xF4, 0x2D, 0x89, 0xE5, 0x88, 0x6E, + 0x00, 0x25, 0x89, 0x0F, 0x03, 0x6E, 0x8B, 0x61, 0x03, 0x6F, 0x03, 0x61, 0x18, 0x81, 0xE8, 0x2D, 0xD7, 0xB4, 0xF4, 0x2D, 0x98, 0x07, 0x34, 0xB0, 0x00, 0xF0, 0x98, 0x0C, 0x34, 0xE6, 0x00, 0xF0, + 0x88, 0x8E, 0x88, 0x6F, 0xA5, 0xCD, 0xA5, 0xF0, 0x79, 0xB0, 0xD1, 0x88, 0x29, 0xB0, 0xD4, 0xA1, 0x88, 0xA1, 0x08, 0x8E, 0x08, 0x8F, 0xD6, 0xC0, 0x08, 0x88, 0x11, 0xC1, 0x89, 0x09, 0x00, 0x29, + 0xE8, 0x2D, 0xEC, 0x30, 0x15, 0xB0, 0xBD, 0x30, 0x06, 0x52, 0x18, 0x81, 0x1C, 0x89, 0xD7, 0x14, 0x6C, 0x32, 0xD4, 0x68, 0x89, 0x09, 0x89, 0xE8, 0x89, 0x2F, 0x89, 0xC9, 0x8C, 0x10, 0x8C, 0x12, + 0xA5, 0x2D, 0x64, 0x2D, 0x06, 0x52, 0x2A, 0x0D, 0xBD, 0x2D, 0x8A, 0x50, 0x74, 0x30, 0x78, 0xA9, 0xD6, 0xC8, 0x08, 0x89, 0x2A, 0x10, 0xD4, 0x62, 0x8C, 0x12, 0xBD, 0x30, 0x89, 0x25, 0x18, 0x26, + 0xD0, 0xF4, 0xE4, 0x00, 0x94, 0x11, 0x94, 0x2E, 0x94, 0x47, 0x8B, 0x61, 0x98, 0x16, 0x00, 0xFF, 0x00, 0x00, 0x8C, 0x82, 0x18, 0x81, 0x8C, 0x10, 0xEC, 0x2D, 0x01, 0xB1, 0x77, 0x10, 0x26, 0xD1, + 0x2A, 0x30, 0x18, 0x22, 0xD7, 0x41, 0x75, 0x0D, 0x08, 0x8E, 0x7C, 0x81, 0xD6, 0x41, 0xBD, 0xD0, 0x92, 0x20, 0x91, 0xC1, 0x08, 0x27, 0x8E, 0xB1, 0xA5, 0xED, 0x79, 0xB1, 0xD5, 0x61, 0x26, 0xC7, + 0xD3, 0xA1, 0x90, 0xE2, 0x98, 0x04, 0xEF, 0xFF, 0xAB, 0xCD, 0x98, 0x02, 0x30, 0x00, 0x00, 0xF0, 0xD4, 0xE0, 0xE4, 0x00, 0x98, 0x04, 0x56, 0x78, 0x12, 0x34, 0x98, 0x02, 0x35, 0xAC, 0x00, 0xF0, + 0x88, 0x83, 0x98, 0x00, 0x30, 0x00, 0x00, 0xF0, 0x98, 0x01, 0x35, 0x56, 0x00, 0xF0, 0xBC, 0x03, 0xBC, 0x43, 0x08, 0x80, 0x08, 0x82, 0x78, 0x20, 0xD7, 0x48, 0x8C, 0x03, 0x28, 0x84, 0xD4, 0xF8, + 0x8C, 0x03, 0x98, 0x1F, 0x21, 0x14, 0x00, 0xF0, 0xBF, 0xE3, 0xD7, 0xC0, 0xE4, 0x00, 0x98, 0x08, 0x36, 0x68, 0x00, 0xF0, 0x98, 0x19, 0x35, 0xD0, 0x00, 0xF0, 0x8E, 0x09, 0x63, 0xC9, 0x8D, 0x05, + 0x4E, 0x71, 0x4E, 0x71, 0x4E, 0x71, 0x4E, 0x71, 0x4E, 0x71, 0x4E, 0x71, 0x4E, 0xB9, 0x00, 0x00, 0x52, 0xC4, 0x4E, 0xB9, 0x00, 0x00, 0x5C, 0xCC, 0x4A, 0x79, 0x00, 0x03, 0x72, 0x7C, 0x67, 0x00, + 0x00, 0x0C, 0x4E, 0xB9, 0x00, 0x00, 0x50, 0xC2, 0x4E, 0x75, 0x4E, 0x71, 0x4E, 0xB9, 0x00, 0x00, 0x5D, 0x64, 0x41, 0xF9, 0x00, 0x03, 0x71, 0x10, 0x20, 0x39, 0x00, 0x03, 0x72, 0x08, 0x23, 0xF9, + 0x00, 0x03, 0x72, 0x0C, 0x00, 0x03, 0x72, 0x08, 0xD1, 0xFC, 0x00, 0x00, 0x00, 0x22, 0x21, 0x79, 0x00, 0x03, 0x72, 0x08, 0x00, 0x04, 0x22, 0x39, 0x00, 0x03, 0x72, 0x14, 0x23, 0xF9, 0x00, 0x03, + 0x72, 0x10, 0x00, 0x03, 0x72, 0x14, 0xD1, 0xFC, 0x00, 0x00, 0x00, 0x22, 0x21, 0x79, 0x00, 0x03, 0x72, 0x14, 0x00, 0x04, 0x23, 0xC0, 0x00, 0x03, 0x72, 0x0C, 0x23, 0xC1, 0x00, 0x03, 0x72, 0x10, + 0x43, 0xF9, 0x00, 0x03, 0x71, 0x10, 0x42, 0x86, 0x3C, 0x39, 0x00, 0x03, 0x71, 0x98, 0xDC, 0x7C, 0x00, 0x01, 0x4E, 0xB9, 0x00, 0x00, 0x57, 0xBA, 0x2E, 0x39, 0x00, 0x03, 0x72, 0x1C, 0xBE, 0xB9, + 0x00, 0x03, 0x72, 0x1C, 0x67, 0xF8, 0x30, 0x39, 0x00, 0x03, 0x72, 0x2A, 0x66, 0x00, 0x00, 0x06, 0x60, 0x00, 0xFF, 0x66, 0x2E, 0x7C, 0x00, 0x00, 0x4F, 0xFC, 0x4A, 0xFC, 0x4E, 0x71, 0x60, 0xFE, + 0x4E, 0x71, 0x48, 0xE7, 0x80, 0x00, 0x21, 0xFC, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x21, 0xFC, 0x00, 0x00, 0x00, 0x04, 0x10, 0x04, 0x20, 0x3C, 0x00, 0x00, 0x10, 0x00, 0x48, 0x40, 0x23, 0xC0, + 0x00, 0xF0, 0x00, 0x20, 0xBE, 0xB9, 0x00, 0x03, 0x72, 0x1C, 0x67, 0xF8, 0x20, 0x3C, 0x00, 0xF1, 0xB5, 0x18, 0xC0, 0xBC, 0x00, 0x00, 0xFF, 0xFF, 0x80, 0xBC, 0x98, 0x1D, 0x00, 0x00, 0x23, 0xC0, + 0x00, 0xF1, 0xB0, 0x10, 0x20, 0x39, 0x00, 0xF1, 0xA1, 0x14, 0x08, 0x00, 0x00, 0x00, 0x66, 0xF4, 0x4E, 0x71, 0x4E, 0x71, 0x23, 0xFC, 0x00, 0x00, 0x3E, 0x00, 0x00, 0xF1, 0xA1, 0x00, 0x23, 0xFC, + 0x00, 0x00, 0x00, 0x00, 0x00, 0xF1, 0xA1, 0x14, 0x23, 0xFC, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF1, 0x00, 0x00, 0x33, 0xFC, 0x0F, 0x80, 0x00, 0xF0, 0x00, 0xE0, 0x33, 0xFC, 0x00, 0x00, 0x00, 0xF0, + 0x00, 0xE2, 0x23, 0xFC, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF0, 0x22, 0x00, 0x23, 0xFC, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF0, 0x22, 0x04, 0x23, 0xFC, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF0, 0x22, 0x08, + 0x23, 0xFC, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF0, 0x22, 0x0C, 0x23, 0xFC, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF0, 0x22, 0x10, 0x23, 0xFC, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF0, 0x22, 0x14, 0x23, 0xFC, + 0x00, 0x00, 0x00, 0x00, 0x00, 0xF0, 0x22, 0x18, 0x23, 0xFC, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF0, 0x22, 0x1C, 0x23, 0xFC, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF0, 0x22, 0x20, 0x23, 0xFC, 0x00, 0x00, + 0x00, 0x00, 0x00, 0xF0, 0x22, 0x24, 0x23, 0xFC, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF0, 0x22, 0x28, 0x23, 0xFC, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF0, 0x22, 0x2C, 0x23, 0xFC, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xF0, 0x22, 0x30, 0x23, 0xFC, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF0, 0x22, 0x34, 0x23, 0xFC, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF0, 0x22, 0x3C, 0x23, 0xFC, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF0, + 0x22, 0x40, 0x23, 0xFC, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF0, 0x22, 0x48, 0x23, 0xFC, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF0, 0x22, 0x50, 0x23, 0xFC, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF0, 0x22, 0x58, + 0x23, 0xFC, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF0, 0x22, 0x60, 0x23, 0xFC, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF0, 0x22, 0x68, 0x23, 0xFC, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF0, 0x22, 0x70, 0x23, 0xFC, + 0x00, 0x00, 0x00, 0x00, 0x00, 0xF0, 0x22, 0x74, 0x23, 0xFC, 0x00, 0x00, 0x00, 0x02, 0x00, 0xF0, 0x22, 0x78, 0x23, 0xFC, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF0, 0x22, 0x7C, 0x23, 0xFC, 0x00, 0x00, + 0x00, 0x00, 0x00, 0xF0, 0x22, 0x80, 0x23, 0xFC, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF0, 0x22, 0x84, 0x23, 0xFC, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF0, 0x22, 0x88, 0x23, 0xFC, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xF0, 0x22, 0x8C, 0x23, 0xFC, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF0, 0x22, 0x90, 0x23, 0xFC, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF0, 0x22, 0x94, 0x23, 0xFC, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF0, + 0x22, 0x98, 0x23, 0xFC, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF0, 0x21, 0x00, 0x23, 0xFC, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF0, 0x21, 0x04, 0x23, 0xFC, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF0, 0x21, 0x08, + 0x23, 0xFC, 0x00, 0xFF, 0x00, 0x08, 0x00, 0xF0, 0x21, 0x10, 0x23, 0xFC, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF0, 0x21, 0x18, 0x23, 0xFC, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF0, 0x21, 0x1C, 0x4C, 0xDF, + 0x00, 0x01, 0x4E, 0x75, 0x48, 0xE7, 0xFE, 0xC0, 0x23, 0xFC, 0x00, 0x07, 0x00, 0x07, 0x00, 0xF0, 0x21, 0x0C, 0x34, 0x39, 0x00, 0xF1, 0x40, 0x02, 0xC4, 0x7C, 0x00, 0x10, 0x4A, 0x42, 0x67, 0x00, + 0x00, 0x0E, 0x33, 0xFC, 0x00, 0x00, 0x00, 0x03, 0x72, 0x2C, 0x60, 0x00, 0x00, 0x0A, 0x33, 0xFC, 0x00, 0x01, 0x00, 0x03, 0x72, 0x2C, 0x33, 0xFC, 0x00, 0x00, 0x00, 0xF1, 0x40, 0x00, 0x20, 0x3C, + 0x00, 0x10, 0x00, 0x00, 0x22, 0x3C, 0x00, 0x10, 0x00, 0x00, 0x92, 0x80, 0xE4, 0x81, 0x20, 0x7C, 0x00, 0x10, 0x00, 0x00, 0x42, 0x98, 0x51, 0xC9, 0xFF, 0xFC, 0x4E, 0xB9, 0x00, 0x00, 0x59, 0x58, + 0x4E, 0xB9, 0x00, 0x00, 0x69, 0xB4, 0x4E, 0xB9, 0x00, 0x00, 0x54, 0x76, 0x4A, 0x79, 0x00, 0x03, 0x72, 0x2C, 0x67, 0x00, 0x00, 0x0C, 0x41, 0xF9, 0x00, 0x00, 0x92, 0x40, 0x60, 0x00, 0x00, 0x08, + 0x41, 0xF9, 0x00, 0x00, 0x91, 0xB0, 0x4E, 0xB9, 0x00, 0x00, 0x59, 0x08, 0x43, 0xF9, 0x00, 0x03, 0x71, 0x10, 0x42, 0x86, 0x3C, 0x39, 0x00, 0x03, 0x71, 0x98, 0xDC, 0x7C, 0x00, 0x01, 0x4E, 0xB9, + 0x00, 0x00, 0x57, 0xBA, 0x4E, 0xB9, 0x00, 0x00, 0x59, 0x38, 0x20, 0x3C, 0x00, 0x03, 0x6F, 0xE0, 0x48, 0x40, 0x23, 0xC0, 0x00, 0xF0, 0x00, 0x20, 0x21, 0xFC, 0x00, 0x00, 0x59, 0xA6, 0x01, 0x00, + 0x4E, 0x71, 0x4E, 0x71, 0x4E, 0x71, 0x4E, 0x71, 0x33, 0xFC, 0x00, 0x01, 0x00, 0x03, 0x72, 0x20, 0x33, 0xFC, 0x1F, 0x01, 0x00, 0xF0, 0x00, 0xE0, 0x33, 0xFC, 0x00, 0x00, 0x00, 0xF0, 0x00, 0xE2, + 0x40, 0xC0, 0xC0, 0x7C, 0xF8, 0xFF, 0x46, 0xC0, 0x33, 0xFC, 0x06, 0xC1, 0x00, 0xF0, 0x00, 0x28, 0x4C, 0xDF, 0x03, 0x7F, 0x4E, 0x75, 0x48, 0xE7, 0xE0, 0x80, 0x41, 0xF9, 0x00, 0x03, 0x92, 0xC8, + 0x42, 0x80, 0x22, 0x3C, 0x00, 0x00, 0x40, 0x00, 0x24, 0x3C, 0x00, 0x00, 0x00, 0xFF, 0x31, 0x41, 0x00, 0x00, 0x31, 0x40, 0x00, 0x02, 0x31, 0x40, 0x00, 0x04, 0x31, 0x40, 0x00, 0x06, 0x31, 0x41, + 0x00, 0x08, 0x31, 0x40, 0x00, 0x0A, 0x31, 0x40, 0x00, 0x0C, 0x31, 0x40, 0x00, 0x0E, 0x31, 0x41, 0x00, 0x10, 0x31, 0x40, 0x00, 0x12, 0x31, 0x40, 0x00, 0x14, 0x31, 0x40, 0x00, 0x16, 0x31, 0x40, + 0x00, 0x18, 0x31, 0x40, 0x00, 0x1A, 0x31, 0x40, 0x00, 0x1C, 0x31, 0x40, 0x00, 0x1E, 0x31, 0x40, 0x00, 0x20, 0x31, 0x40, 0x00, 0x22, 0x31, 0x40, 0x00, 0x24, 0x31, 0x40, 0x00, 0x26, 0x31, 0x40, + 0x00, 0x28, 0x31, 0x40, 0x00, 0x2A, 0x31, 0x40, 0x00, 0x2C, 0x31, 0x40, 0x00, 0x2E, 0x31, 0x40, 0x00, 0x30, 0x31, 0x7C, 0x00, 0x00, 0x00, 0x32, 0x21, 0x7C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x34, + 0xD1, 0xFC, 0x00, 0x00, 0x00, 0x38, 0x51, 0xCA, 0xFF, 0x86, 0x41, 0xF9, 0x00, 0x03, 0x92, 0xC8, 0x31, 0x7C, 0x00, 0x00, 0x00, 0x12, 0x31, 0x7C, 0x00, 0x00, 0x00, 0x14, 0x31, 0x7C, 0xFE, 0x80, + 0x00, 0x16, 0x31, 0x7C, 0x00, 0x00, 0x00, 0x32, 0x21, 0x7C, 0x00, 0x00, 0x00, 0x01, 0x00, 0x34, 0x4C, 0xDF, 0x01, 0x07, 0x4E, 0x75, 0x48, 0xE7, 0xF0, 0xC0, 0x4E, 0xB9, 0x00, 0x00, 0x57, 0x4C, + 0x33, 0xFC, 0x00, 0x01, 0x00, 0x03, 0x72, 0x76, 0x33, 0xFC, 0x00, 0x00, 0x00, 0x03, 0x72, 0x6A, 0x41, 0xF9, 0x00, 0x00, 0xB5, 0xD0, 0x22, 0x7C, 0x00, 0x15, 0xB0, 0x00, 0x30, 0x3C, 0x00, 0x40, + 0x32, 0x3C, 0x00, 0x40, 0x4E, 0xB9, 0x00, 0x00, 0x57, 0x9E, 0x41, 0xF9, 0x00, 0x00, 0xD5, 0xD0, 0x22, 0x7C, 0x00, 0x15, 0xD0, 0x00, 0x30, 0x3C, 0x00, 0xE0, 0x32, 0x3C, 0x00, 0x50, 0x4E, 0xB9, + 0x00, 0x00, 0x57, 0x82, 0x23, 0xFC, 0x00, 0x12, 0x58, 0x00, 0x00, 0x03, 0x72, 0x0C, 0x4E, 0xB9, 0x00, 0x00, 0x56, 0xD8, 0x23, 0xFC, 0x00, 0x10, 0x00, 0x00, 0x00, 0x03, 0x72, 0x0C, 0x4E, 0xB9, + 0x00, 0x00, 0x56, 0xD8, 0x23, 0xFC, 0x00, 0x12, 0x58, 0x00, 0x00, 0x03, 0x72, 0x08, 0x23, 0xFC, 0x00, 0x14, 0xB0, 0x00, 0x00, 0x03, 0x72, 0x14, 0x20, 0x7C, 0x00, 0x14, 0xB0, 0x00, 0x4E, 0xB9, + 0x00, 0x00, 0x67, 0x52, 0x23, 0xFC, 0x00, 0x15, 0x30, 0x00, 0x00, 0x03, 0x72, 0x10, 0x20, 0x7C, 0x00, 0x15, 0x30, 0x00, 0x4E, 0xB9, 0x00, 0x00, 0x67, 0x52, 0x4E, 0xB9, 0x00, 0x00, 0x68, 0x80, + 0x70, 0x00, 0x72, 0xFF, 0x33, 0xC0, 0x00, 0x03, 0x72, 0x2A, 0x23, 0xC1, 0x00, 0x03, 0x71, 0xA0, 0x33, 0xC0, 0x00, 0x03, 0x72, 0x88, 0x33, 0xC0, 0x00, 0x03, 0x72, 0x58, 0x33, 0xFC, 0x00, 0x01, + 0x00, 0x03, 0x72, 0x24, 0x33, 0xC0, 0x00, 0x03, 0x72, 0x26, 0x33, 0xC0, 0x00, 0x03, 0x72, 0x52, 0x33, 0xC0, 0x00, 0x03, 0x72, 0x2E, 0x33, 0xC1, 0x00, 0x03, 0x72, 0x34, 0x33, 0xC0, 0x00, 0x03, + 0x72, 0x36, 0x33, 0xC0, 0x00, 0x03, 0x72, 0x44, 0x33, 0xC0, 0x00, 0x03, 0x72, 0x50, 0x33, 0xC0, 0x00, 0x03, 0x72, 0x54, 0x33, 0xC0, 0x00, 0x03, 0x72, 0x56, 0x33, 0xC0, 0x00, 0x03, 0x72, 0x4C, + 0x33, 0xC0, 0x00, 0x03, 0x72, 0x32, 0x33, 0xFC, 0x00, 0x00, 0x00, 0x03, 0x72, 0x3E, 0x33, 0xC0, 0x00, 0x03, 0x72, 0x38, 0x33, 0xFC, 0x00, 0xFF, 0x00, 0x03, 0x72, 0x3A, 0x33, 0xFC, 0x00, 0x02, + 0x00, 0x03, 0x72, 0x30, 0x33, 0xFC, 0x00, 0x01, 0x00, 0x03, 0x72, 0x4E, 0x33, 0xFC, 0x00, 0x00, 0x00, 0x03, 0x72, 0x82, 0x4A, 0x79, 0x00, 0x03, 0x72, 0x2C, 0x67, 0x00, 0x00, 0x0E, 0x33, 0xFC, + 0x00, 0x01, 0x00, 0x03, 0x72, 0x84, 0x60, 0x00, 0x00, 0x0A, 0x33, 0xFC, 0x00, 0x00, 0x00, 0x03, 0x72, 0x84, 0x33, 0xFC, 0x00, 0x00, 0x00, 0x03, 0x72, 0x86, 0x33, 0xC0, 0x00, 0x03, 0x72, 0x46, + 0x33, 0xC0, 0x00, 0x03, 0x72, 0x48, 0x33, 0xFC, 0xFF, 0xFF, 0x00, 0x03, 0x72, 0x4A, 0x33, 0xFC, 0x00, 0x00, 0x00, 0x03, 0x71, 0xB0, 0x4C, 0xDF, 0x03, 0x0F, 0x4E, 0x75, 0x48, 0xE7, 0xE0, 0xC0, + 0x41, 0xF9, 0x00, 0x03, 0x92, 0xC8, 0xD1, 0xFC, 0x00, 0x00, 0x00, 0x38, 0x32, 0x11, 0x34, 0x01, 0xE2, 0x42, 0x94, 0x7C, 0x00, 0x01, 0x33, 0xC2, 0x00, 0x03, 0x71, 0xC2, 0x33, 0xC1, 0x00, 0x03, + 0x72, 0x58, 0x53, 0x41, 0x54, 0x49, 0x33, 0xFC, 0x00, 0x00, 0x00, 0x03, 0x72, 0x24, 0x33, 0xFC, 0x00, 0x00, 0x00, 0x03, 0x72, 0x26, 0x31, 0x69, 0x00, 0x00, 0x00, 0x32, 0x31, 0x69, 0x00, 0x02, + 0x00, 0x12, 0x31, 0x69, 0x00, 0x04, 0x00, 0x14, 0x30, 0x29, 0x00, 0x06, 0x31, 0x40, 0x00, 0x16, 0x31, 0x79, 0x00, 0x03, 0x72, 0x24, 0x00, 0x18, 0x52, 0x79, 0x00, 0x03, 0x72, 0x24, 0x31, 0x69, + 0x00, 0x08, 0x00, 0x1A, 0x31, 0x69, 0x00, 0x0A, 0x00, 0x1C, 0x31, 0x69, 0x00, 0x0C, 0x00, 0x1E, 0x31, 0x69, 0x00, 0x0E, 0x00, 0x20, 0x31, 0x69, 0x00, 0x10, 0x00, 0x22, 0x31, 0x69, 0x00, 0x12, + 0x00, 0x24, 0x31, 0x69, 0x00, 0x14, 0x00, 0x26, 0x31, 0x69, 0x00, 0x16, 0x00, 0x28, 0x31, 0x69, 0x00, 0x18, 0x00, 0x2A, 0x31, 0x69, 0x00, 0x1A, 0x00, 0x2C, 0x31, 0x69, 0x00, 0x1C, 0x00, 0x2E, + 0x30, 0x39, 0x00, 0x03, 0x72, 0x54, 0xD1, 0x68, 0x00, 0x2E, 0x31, 0x69, 0x00, 0x1E, 0x00, 0x30, 0x30, 0x39, 0x00, 0x03, 0x72, 0x56, 0xD1, 0x68, 0x00, 0x30, 0x21, 0x7C, 0x00, 0x00, 0x00, 0x01, + 0x00, 0x34, 0xD3, 0xFC, 0x00, 0x00, 0x00, 0x20, 0xD1, 0xFC, 0x00, 0x00, 0x00, 0x38, 0x51, 0xC9, 0xFF, 0x66, 0x4C, 0xDF, 0x03, 0x07, 0x4E, 0x75, 0x48, 0xE7, 0x80, 0x80, 0x20, 0x7C, 0x00, 0xF0, + 0x22, 0x38, 0x20, 0x10, 0xE2, 0x48, 0x64, 0xFA, 0x23, 0xFC, 0x00, 0x00, 0x42, 0x20, 0x00, 0xF0, 0x22, 0x04, 0x23, 0xF9, 0x00, 0x03, 0x72, 0x0C, 0x00, 0xF0, 0x22, 0x00, 0x30, 0x3C, 0x00, 0x01, + 0x48, 0x40, 0x30, 0x3C, 0xFE, 0xC0, 0x23, 0xC0, 0x00, 0xF0, 0x22, 0x10, 0x30, 0x3C, 0x00, 0xF0, 0x48, 0x40, 0x30, 0x3C, 0x01, 0x40, 0x23, 0xC0, 0x00, 0xF0, 0x22, 0x3C, 0x42, 0x80, 0x23, 0xC0, + 0x00, 0xF0, 0x22, 0x0C, 0x23, 0xC0, 0x00, 0xF0, 0x22, 0x68, 0x23, 0xC0, 0x00, 0xF0, 0x22, 0x6C, 0x23, 0xFC, 0x00, 0x01, 0x02, 0x00, 0x00, 0xF0, 0x22, 0x38, 0x20, 0x7C, 0x00, 0xF0, 0x22, 0x38, + 0x20, 0x10, 0xE2, 0x48, 0x64, 0xFA, 0x4C, 0xDF, 0x01, 0x01, 0x4E, 0x75, 0x48, 0xE7, 0x80, 0xC0, 0x41, 0xF9, 0x00, 0x01, 0x0C, 0x50, 0x43, 0xF9, 0x00, 0xF0, 0x04, 0x00, 0x30, 0x3C, 0x00, 0x0B, + 0x32, 0xD8, 0x51, 0xC8, 0xFF, 0xFC, 0x41, 0xF9, 0x00, 0x00, 0xF8, 0xD0, 0x43, 0xF9, 0x00, 0xF0, 0x04, 0x20, 0x30, 0x3C, 0x00, 0x0F, 0x32, 0xD8, 0x51, 0xC8, 0xFF, 0xFC, 0x4C, 0xDF, 0x03, 0x01, + 0x4E, 0x75, 0x48, 0xE7, 0xE0, 0xC0, 0x53, 0x80, 0x53, 0x81, 0x24, 0x00, 0x12, 0xD8, 0x51, 0xCA, 0xFF, 0xFC, 0x24, 0x00, 0x51, 0xC9, 0xFF, 0xF6, 0x4C, 0xDF, 0x03, 0x07, 0x4E, 0x75, 0x48, 0xE7, + 0xE0, 0xC0, 0x53, 0x80, 0x53, 0x81, 0x24, 0x00, 0x32, 0xD8, 0x51, 0xCA, 0xFF, 0xFC, 0x24, 0x00, 0x51, 0xC9, 0xFF, 0xF6, 0x4C, 0xDF, 0x03, 0x07, 0x4E, 0x75, 0x48, 0xE7, 0xFF, 0xE0, 0x76, 0x0C, + 0x78, 0x0A, 0x7A, 0x0B, 0x2E, 0x3C, 0x00, 0x03, 0x70, 0x00, 0xE6, 0x8F, 0x45, 0xF9, 0x00, 0x03, 0x70, 0x88, 0x9C, 0x7C, 0x00, 0x01, 0x4A, 0x29, 0x00, 0x10, 0x6B, 0x00, 0x01, 0x10, 0x20, 0x29, + 0x00, 0x04, 0x34, 0x3C, 0x00, 0x25, 0x94, 0x69, 0x00, 0x02, 0x6A, 0x00, 0x00, 0x08, 0x42, 0x42, 0x60, 0x00, 0x00, 0x0E, 0xE2, 0x4A, 0x32, 0x29, 0x00, 0x0A, 0xE7, 0x49, 0xC2, 0xC2, 0xD0, 0x81, + 0xE6, 0x88, 0xEB, 0xA8, 0x0C, 0x29, 0x00, 0x00, 0x00, 0x10, 0x66, 0x00, 0x00, 0x0C, 0xDE, 0xBC, 0x00, 0x00, 0x00, 0x02, 0x60, 0x00, 0x00, 0x44, 0x0C, 0x29, 0x00, 0x01, 0x00, 0x10, 0x66, 0x00, + 0x00, 0x0C, 0xDE, 0xBC, 0x00, 0x00, 0x00, 0x04, 0x60, 0x00, 0x00, 0x30, 0x0C, 0x29, 0x00, 0x02, 0x00, 0x10, 0x66, 0x00, 0x00, 0x0C, 0xDE, 0xBC, 0x00, 0x00, 0x00, 0x01, 0x60, 0x00, 0x00, 0x1C, + 0x0C, 0x29, 0x00, 0x03, 0x00, 0x10, 0x66, 0x00, 0x00, 0x0C, 0xDE, 0xBC, 0x00, 0x00, 0x00, 0x01, 0x60, 0x00, 0x00, 0x08, 0xDE, 0xBC, 0x00, 0x00, 0x00, 0x01, 0x22, 0x07, 0xE0, 0x89, 0x80, 0x81, + 0x24, 0xC0, 0x10, 0x07, 0xE9, 0xA8, 0x32, 0x29, 0x00, 0x08, 0x0C, 0x29, 0x00, 0x01, 0x00, 0x10, 0x66, 0x04, 0x92, 0x7C, 0x00, 0x01, 0x92, 0x42, 0x6B, 0x02, 0x80, 0x41, 0xEB, 0xA8, 0x32, 0x29, + 0x00, 0x02, 0x6B, 0x06, 0xC2, 0x7C, 0x07, 0xFF, 0x80, 0x41, 0xE7, 0x88, 0x80, 0x29, 0x00, 0x10, 0x24, 0xC0, 0x10, 0x29, 0x00, 0x0F, 0xE9, 0x88, 0x80, 0x29, 0x00, 0x0E, 0xEF, 0x88, 0x80, 0x29, + 0x00, 0x13, 0xED, 0x88, 0x32, 0x29, 0x00, 0x0C, 0xE8, 0x49, 0x80, 0x01, 0x24, 0xC0, 0x30, 0x29, 0x00, 0x0C, 0xC0, 0x7C, 0x00, 0x0F, 0xE9, 0xA8, 0x80, 0x69, 0x00, 0x0A, 0xE7, 0x88, 0x80, 0x29, + 0x00, 0x12, 0xE7, 0x88, 0x80, 0x29, 0x00, 0x11, 0xE7, 0xA8, 0x32, 0x29, 0x00, 0x00, 0xC2, 0x7C, 0x0F, 0xFF, 0x80, 0x41, 0x24, 0xC0, 0x0C, 0x29, 0x00, 0x01, 0x00, 0x10, 0x66, 0x00, 0x00, 0x0E, + 0x25, 0x69, 0x00, 0x16, 0x00, 0x04, 0xD5, 0xFC, 0x00, 0x00, 0x00, 0x10, 0xD3, 0xFC, 0x00, 0x00, 0x00, 0x22, 0x51, 0xCE, 0xFE, 0xE2, 0x24, 0xFC, 0x00, 0x00, 0x00, 0x00, 0x24, 0xBC, 0x00, 0x00, + 0x00, 0x04, 0x4C, 0xDF, 0x07, 0xFF, 0x4E, 0x75, 0x48, 0xE7, 0xE0, 0xC0, 0x42, 0x81, 0x43, 0xF9, 0x00, 0x03, 0x71, 0x10, 0x32, 0x18, 0x24, 0x01, 0x92, 0xBC, 0x00, 0x00, 0x00, 0x01, 0x33, 0xC1, + 0x00, 0x03, 0x71, 0x98, 0xC4, 0xFC, 0x00, 0x22, 0x53, 0x82, 0xE2, 0x8A, 0x32, 0xD8, 0x51, 0xCA, 0xFF, 0xFC, 0x4C, 0xDF, 0x03, 0x07, 0x4E, 0x75, 0x48, 0xE7, 0x00, 0xC0, 0x41, 0xF9, 0x00, 0x03, + 0x70, 0x88, 0x43, 0xF9, 0x00, 0x03, 0x70, 0x00, 0x22, 0xD0, 0x0C, 0x98, 0x00, 0x00, 0x00, 0x04, 0x66, 0xF6, 0x4C, 0xDF, 0x03, 0x00, 0x4E, 0x75, 0x42, 0xB9, 0x00, 0x03, 0x72, 0x1C, 0x33, 0xFC, + 0x00, 0x01, 0x00, 0x03, 0x72, 0x20, 0x42, 0x79, 0x00, 0x03, 0x72, 0x22, 0x33, 0xFC, 0x06, 0x81, 0x00, 0xF0, 0x00, 0x3C, 0x33, 0xFC, 0x00, 0xCB, 0x00, 0xF0, 0x00, 0x38, 0x33, 0xFC, 0x00, 0xCB, + 0x00, 0xF0, 0x00, 0x3A, 0x33, 0xFC, 0x00, 0x26, 0x00, 0xF0, 0x00, 0x46, 0x4E, 0x71, 0x4E, 0x71, 0x4E, 0x71, 0x4E, 0x71, 0x33, 0xFC, 0x00, 0x00, 0x00, 0xF0, 0x00, 0x58, 0x33, 0xFC, 0x00, 0x00, + 0x00, 0xF0, 0x00, 0x2A, 0x4E, 0x75, 0x48, 0xE7, 0xC0, 0xC0, 0x30, 0x39, 0x00, 0xF0, 0x00, 0xE0, 0xB0, 0x7C, 0x00, 0x01, 0x66, 0x00, 0x00, 0x0E, 0x4E, 0xB9, 0x00, 0x00, 0x59, 0x38, 0x52, 0xB9, + 0x00, 0x03, 0x72, 0x1C, 0x33, 0xFC, 0x01, 0x01, 0x00, 0xF0, 0x00, 0xE0, 0x33, 0xFC, 0x00, 0x00, 0x00, 0xF0, 0x00, 0xE2, 0x4C, 0xDF, 0x03, 0x03, 0x4E, 0x73, 0x48, 0xE7, 0xE0, 0x00, 0x22, 0x3C, + 0xF0, 0xFF, 0xFF, 0xFC, 0x74, 0xFF, 0x33, 0xFC, 0x81, 0x0E, 0x00, 0xF1, 0x40, 0x00, 0x20, 0x39, 0x00, 0xF1, 0x40, 0x00, 0x80, 0x81, 0xE8, 0x98, 0xC4, 0x80, 0x33, 0xFC, 0x81, 0x0D, 0x00, 0xF1, + 0x40, 0x00, 0x20, 0x39, 0x00, 0xF1, 0x40, 0x00, 0x80, 0x81, 0xE0, 0x98, 0xC4, 0x80, 0x33, 0xFC, 0x81, 0x0B, 0x00, 0xF1, 0x40, 0x00, 0x20, 0x39, 0x00, 0xF1, 0x40, 0x00, 0x80, 0x81, 0xED, 0x98, + 0xED, 0x98, 0xC4, 0x80, 0x33, 0xFC, 0x81, 0x07, 0x00, 0xF1, 0x40, 0x00, 0x20, 0x39, 0x00, 0xF1, 0x40, 0x00, 0x80, 0x81, 0xE1, 0x98, 0xC4, 0x80, 0x72, 0xFF, 0xB5, 0x81, 0x20, 0x39, 0x00, 0x03, + 0x71, 0xA0, 0x23, 0xC1, 0x00, 0x03, 0x71, 0xA0, 0xB3, 0x80, 0xC0, 0x81, 0x23, 0xC0, 0x00, 0x03, 0x71, 0xA8, 0x4C, 0xDF, 0x00, 0x07, 0x4E, 0x75, 0x48, 0xE7, 0xF0, 0xC0, 0x33, 0xFC, 0x00, 0x00, + 0x00, 0x03, 0x72, 0x28, 0x4E, 0xB9, 0x00, 0x00, 0x69, 0x9E, 0x41, 0xF9, 0x00, 0x00, 0x79, 0x70, 0x4E, 0xB9, 0x00, 0x00, 0x68, 0xF4, 0x30, 0x39, 0x00, 0x03, 0x72, 0x24, 0x67, 0x00, 0x00, 0xC8, + 0x32, 0x00, 0xC0, 0xFC, 0x00, 0x38, 0xD0, 0xBC, 0x00, 0x03, 0x92, 0xC8, 0x20, 0x40, 0x33, 0xE8, 0x00, 0x18, 0x00, 0x03, 0x72, 0x24, 0x31, 0x79, 0x00, 0x03, 0x72, 0x28, 0x00, 0x18, 0x33, 0xC1, + 0x00, 0x03, 0x72, 0x28, 0x33, 0xE8, 0x00, 0x32, 0x00, 0x03, 0x72, 0x5A, 0x4A, 0x79, 0x00, 0x03, 0x72, 0x52, 0x67, 0x00, 0x00, 0x26, 0x0C, 0x79, 0x00, 0x01, 0x00, 0x03, 0x72, 0x52, 0x66, 0x00, + 0x00, 0x10, 0x0C, 0x79, 0x00, 0x07, 0x00, 0x03, 0x72, 0x5A, 0x6B, 0xAA, 0x60, 0x00, 0x00, 0x0C, 0x0C, 0x79, 0x00, 0x07, 0x00, 0x03, 0x72, 0x5A, 0x6A, 0x9C, 0x4E, 0xB9, 0x00, 0x00, 0x69, 0x9E, + 0x42, 0x82, 0x34, 0x39, 0x00, 0x03, 0x72, 0x5A, 0x22, 0x7C, 0x00, 0x00, 0x78, 0xE0, 0xE5, 0x42, 0xD2, 0xC2, 0x20, 0x51, 0x4E, 0xB9, 0x00, 0x00, 0x5C, 0x04, 0x4E, 0xB9, 0x00, 0x00, 0x69, 0x9E, + 0x23, 0xF9, 0x00, 0x03, 0x72, 0x18, 0x00, 0xF0, 0x3F, 0xE8, 0x23, 0xFC, 0x00, 0x03, 0x92, 0xC8, 0x00, 0xF0, 0x3F, 0xEC, 0x23, 0xC0, 0x00, 0xF0, 0x3F, 0xF0, 0x23, 0xFC, 0x00, 0x03, 0x92, 0x90, + 0x00, 0xF0, 0x3F, 0xF4, 0x23, 0xF9, 0x00, 0x03, 0x72, 0x0C, 0x00, 0xF0, 0x3F, 0xF8, 0x41, 0xF9, 0x00, 0x00, 0x79, 0x70, 0x4E, 0xB9, 0x00, 0x00, 0x69, 0x84, 0x4E, 0xB9, 0x00, 0x00, 0x69, 0x9E, + 0x4E, 0xF9, 0x00, 0x00, 0x5A, 0x76, 0x4C, 0xDF, 0x03, 0x0F, 0x4E, 0x75, 0x48, 0xE7, 0xF8, 0x80, 0x4E, 0xB9, 0x00, 0x00, 0x69, 0x9E, 0x41, 0xF9, 0x00, 0x00, 0x85, 0x18, 0x4E, 0xB9, 0x00, 0x00, + 0x68, 0xF4, 0x23, 0xC0, 0x00, 0xF0, 0x3F, 0xE8, 0x23, 0xC1, 0x00, 0xF0, 0x3F, 0xEC, 0x23, 0xC2, 0x00, 0xF0, 0x3F, 0xF0, 0x23, 0xC3, 0x00, 0xF0, 0x3F, 0xF4, 0x23, 0xC4, 0x00, 0xF0, 0x3F, 0xF8, + 0x41, 0xF9, 0x00, 0x00, 0x85, 0x18, 0x4E, 0xB9, 0x00, 0x00, 0x69, 0x84, 0x4E, 0xB9, 0x00, 0x00, 0x69, 0x9E, 0x4C, 0xDF, 0x01, 0x1F, 0x4E, 0x75, 0x48, 0xE7, 0xC0, 0x80, 0x4E, 0xB9, 0x00, 0x00, + 0x69, 0x9E, 0x41, 0xF9, 0x00, 0x00, 0x88, 0xD8, 0x4E, 0xB9, 0x00, 0x00, 0x68, 0xF4, 0x23, 0xFC, 0x00, 0x03, 0x92, 0xC8, 0x00, 0xF0, 0x3F, 0xE8, 0x23, 0xFC, 0x00, 0x03, 0x72, 0x24, 0x00, 0xF0, + 0x3F, 0xEC, 0x23, 0xFC, 0x00, 0x03, 0x72, 0x26, 0x00, 0xF0, 0x3F, 0xF0, 0x23, 0xFC, 0x00, 0x03, 0x93, 0x00, 0x00, 0xF0, 0x3F, 0xF4, 0x42, 0x80, 0x30, 0x39, 0x00, 0x03, 0x72, 0x58, 0x23, 0xC0, + 0x00, 0xF0, 0x3F, 0xF8, 0x70, 0x38, 0x23, 0xC0, 0x00, 0xF0, 0x3F, 0xFC, 0x41, 0xF9, 0x00, 0x00, 0x88, 0xD8, 0x4E, 0xB9, 0x00, 0x00, 0x69, 0x84, 0x4E, 0xB9, 0x00, 0x00, 0x69, 0x9E, 0x4C, 0xDF, + 0x01, 0x03, 0x4E, 0x75, 0x48, 0xE7, 0xF8, 0xE0, 0x24, 0x7C, 0x00, 0xF0, 0x22, 0x38, 0x28, 0x12, 0xE2, 0x4C, 0x64, 0xFA, 0x23, 0xFC, 0x00, 0x03, 0x72, 0x90, 0x00, 0x03, 0x72, 0x18, 0x56, 0xB9, + 0x00, 0x03, 0x72, 0x18, 0x02, 0xB9, 0xFF, 0xFF, 0xFF, 0xFC, 0x00, 0x03, 0x72, 0x18, 0x20, 0x39, 0x00, 0x03, 0x72, 0x18, 0x22, 0x00, 0xC0, 0xBC, 0xFF, 0xFF, 0xFF, 0xF8, 0x92, 0x80, 0x23, 0xC0, + 0x00, 0xF0, 0x22, 0x00, 0xE2, 0x81, 0x23, 0xC1, 0x00, 0xF0, 0x22, 0x0C, 0x20, 0x18, 0xE2, 0x80, 0x80, 0xBC, 0x00, 0x01, 0x00, 0x00, 0x23, 0xC0, 0x00, 0xF0, 0x22, 0x3C, 0x20, 0x08, 0x24, 0x00, + 0xC0, 0xBC, 0xFF, 0xFF, 0xFF, 0xF8, 0x94, 0x80, 0x23, 0xC0, 0x00, 0xF0, 0x22, 0x24, 0xE2, 0x82, 0x23, 0xC2, 0x00, 0xF0, 0x22, 0x30, 0x20, 0x3C, 0x00, 0x00, 0x40, 0x20, 0x23, 0xC0, 0x00, 0xF0, + 0x22, 0x04, 0x23, 0xC0, 0x00, 0xF0, 0x22, 0x28, 0x20, 0x3C, 0x01, 0x80, 0x00, 0x01, 0xB2, 0x82, 0x6A, 0x06, 0x80, 0xBC, 0x00, 0x00, 0x00, 0x04, 0x23, 0xC0, 0x00, 0xF0, 0x22, 0x38, 0x24, 0x7C, + 0x00, 0xF0, 0x22, 0x38, 0x28, 0x12, 0xE2, 0x4C, 0x64, 0xFA, 0x50, 0x88, 0x22, 0x48, 0x20, 0x19, 0x22, 0x11, 0x90, 0x88, 0x92, 0x89, 0x20, 0x79, 0x00, 0x03, 0x72, 0x18, 0x50, 0x88, 0xD0, 0x88, + 0x20, 0xC0, 0xD2, 0x88, 0x20, 0x81, 0x4C, 0xDF, 0x07, 0x1F, 0x4E, 0x75, 0x48, 0xE7, 0x80, 0xC0, 0x33, 0xFC, 0x00, 0x00, 0x00, 0x03, 0x71, 0xB2, 0x42, 0x80, 0x41, 0xF9, 0x00, 0x00, 0x92, 0xFE, + 0x30, 0x39, 0x00, 0x03, 0x72, 0x84, 0xE5, 0x80, 0xD1, 0xC0, 0x22, 0x50, 0x4E, 0xB9, 0x00, 0x00, 0x53, 0xB6, 0x4E, 0xB9, 0x00, 0x00, 0x55, 0xFC, 0x70, 0x00, 0x33, 0xC0, 0x00, 0x03, 0x72, 0x7C, + 0x33, 0xC0, 0x00, 0x03, 0x72, 0x7A, 0x33, 0xC0, 0x00, 0x03, 0x72, 0x78, 0x33, 0xC0, 0x00, 0x03, 0x72, 0x76, 0x33, 0xC0, 0x00, 0x03, 0x72, 0x72, 0x33, 0xC0, 0x00, 0x03, 0x72, 0x70, 0x33, 0xC0, + 0x00, 0x03, 0x72, 0x6E, 0x33, 0xC0, 0x00, 0x03, 0x72, 0x6C, 0x33, 0xC0, 0x00, 0x03, 0x72, 0x7E, 0x33, 0xFC, 0x00, 0x01, 0x00, 0x03, 0x72, 0x74, 0x33, 0xFC, 0xFF, 0xFF, 0x00, 0x03, 0x72, 0x62, + 0x4E, 0xB9, 0x00, 0x00, 0x66, 0x2A, 0x33, 0xFC, 0x00, 0x01, 0x00, 0x03, 0x71, 0xB0, 0x33, 0xFC, 0x00, 0x1E, 0x00, 0x03, 0x72, 0x5E, 0x33, 0xFC, 0x00, 0x00, 0x00, 0x03, 0x71, 0xB2, 0x4C, 0xDF, + 0x03, 0x01, 0x4E, 0x75, 0x48, 0xE7, 0xFC, 0xC0, 0x4E, 0xB9, 0x00, 0x00, 0x59, 0xDA, 0x20, 0x39, 0x00, 0x03, 0x71, 0xA0, 0x4A, 0x79, 0x00, 0x03, 0x72, 0x78, 0x66, 0x00, 0x00, 0x12, 0x08, 0x00, + 0x00, 0x1C, 0x67, 0x00, 0x00, 0x0A, 0x33, 0xFC, 0x00, 0x01, 0x00, 0x03, 0x72, 0x78, 0x4A, 0x79, 0x00, 0x03, 0x72, 0x6A, 0x67, 0x00, 0x00, 0x3A, 0x08, 0x00, 0x00, 0x1D, 0x67, 0x00, 0x00, 0x0E, + 0x33, 0xFC, 0x00, 0x01, 0x00, 0x03, 0x72, 0x7C, 0x60, 0x00, 0x00, 0x26, 0x08, 0x00, 0x00, 0x19, 0x67, 0x00, 0x00, 0x0E, 0x33, 0xFC, 0x00, 0x01, 0x00, 0x03, 0x72, 0x7C, 0x60, 0x00, 0x00, 0x12, + 0x08, 0x00, 0x00, 0x0D, 0x67, 0x00, 0x00, 0x0A, 0x33, 0xFC, 0x00, 0x01, 0x00, 0x03, 0x72, 0x7C, 0x42, 0x80, 0x41, 0xF9, 0x00, 0x00, 0x5D, 0xE6, 0x30, 0x39, 0x00, 0x03, 0x71, 0xB2, 0xE5, 0x40, + 0xD0, 0xC0, 0x22, 0x50, 0x4E, 0xD1, 0x00, 0x00, 0x5E, 0x0A, 0x00, 0x00, 0x5E, 0x46, 0x00, 0x00, 0x5E, 0x6A, 0x00, 0x00, 0x5E, 0xE2, 0x00, 0x00, 0x5F, 0x50, 0x00, 0x00, 0x5F, 0xAA, 0x00, 0x00, + 0x5F, 0xDE, 0x00, 0x00, 0x60, 0x7A, 0x00, 0x00, 0x61, 0xF2, 0x53, 0x79, 0x00, 0x03, 0x72, 0x5E, 0x66, 0x00, 0x00, 0x30, 0x33, 0xFC, 0xFF, 0xFF, 0x00, 0x03, 0x71, 0xC0, 0x4E, 0xB9, 0x00, 0x00, + 0x61, 0xFC, 0x23, 0xFC, 0x00, 0x00, 0x00, 0x78, 0x00, 0x03, 0x72, 0x5E, 0x33, 0xFC, 0x00, 0x01, 0x00, 0x03, 0x71, 0xB2, 0x70, 0x00, 0x28, 0x3C, 0x00, 0x00, 0x7F, 0xFF, 0x4E, 0xB9, 0x00, 0x00, + 0x6A, 0xF4, 0x60, 0x00, 0x03, 0xB2, 0x4E, 0xB9, 0x00, 0x00, 0x64, 0x62, 0x4A, 0x79, 0x00, 0x03, 0x72, 0x6C, 0x67, 0x00, 0x00, 0x12, 0x33, 0xFC, 0x00, 0x00, 0x00, 0x03, 0x72, 0x72, 0x33, 0xFC, + 0x00, 0x02, 0x00, 0x03, 0x71, 0xB2, 0x60, 0x00, 0x03, 0x8E, 0x41, 0xF9, 0x00, 0xF0, 0x21, 0x14, 0x20, 0x10, 0xE2, 0x40, 0x65, 0x00, 0x00, 0x68, 0x20, 0x7C, 0x00, 0xF0, 0x30, 0x00, 0x20, 0x10, + 0xB0, 0xBC, 0x03, 0xD0, 0xDE, 0xAD, 0x67, 0x00, 0x00, 0x1A, 0x33, 0xFC, 0xF0, 0x9C, 0x00, 0xF0, 0x00, 0x58, 0x23, 0xFC, 0x00, 0x94, 0x00, 0x00, 0x00, 0xF0, 0x00, 0x2A, 0x4E, 0xB9, 0x00, 0x00, + 0x50, 0xBE, 0x33, 0xFC, 0x00, 0x7F, 0x00, 0x03, 0x72, 0x60, 0x33, 0xFC, 0x00, 0x14, 0x00, 0x03, 0x72, 0x66, 0x4E, 0xB9, 0x00, 0x00, 0x67, 0xC2, 0x4E, 0xB9, 0x00, 0x00, 0x63, 0xCC, 0x33, 0xFC, + 0x00, 0x01, 0x00, 0x03, 0x72, 0x6A, 0x33, 0xFC, 0x00, 0x14, 0x00, 0x03, 0x72, 0x5E, 0x33, 0xFC, 0x00, 0x02, 0x00, 0x03, 0x72, 0x7E, 0x33, 0xFC, 0x00, 0x03, 0x00, 0x03, 0x71, 0xB2, 0x60, 0x00, + 0x03, 0x16, 0x4A, 0x79, 0x00, 0x03, 0x72, 0x74, 0x67, 0x00, 0x00, 0x2C, 0x4A, 0x79, 0x00, 0x03, 0x72, 0x5E, 0x67, 0x00, 0x00, 0x0C, 0x53, 0x79, 0x00, 0x03, 0x72, 0x5E, 0x60, 0x00, 0x00, 0x18, + 0x30, 0x3C, 0x00, 0xA0, 0x32, 0x3C, 0x00, 0xFF, 0x4E, 0xB9, 0x00, 0x00, 0x6B, 0x80, 0x33, 0xFC, 0x00, 0x00, 0x00, 0x03, 0x72, 0x74, 0x4E, 0xB9, 0x00, 0x00, 0x62, 0x20, 0x4E, 0xB9, 0x00, 0x00, + 0x64, 0x36, 0x4A, 0x79, 0x00, 0x03, 0x72, 0x72, 0x67, 0x00, 0x00, 0x22, 0x33, 0xFC, 0x00, 0x00, 0x00, 0x03, 0x72, 0x6E, 0x33, 0xFC, 0x00, 0x02, 0x00, 0x03, 0x72, 0x7E, 0x33, 0xFC, 0x00, 0x0F, + 0x00, 0x03, 0x72, 0x5E, 0x33, 0xFC, 0x00, 0x04, 0x00, 0x03, 0x71, 0xB2, 0x60, 0x00, 0x02, 0xA8, 0x4A, 0x79, 0x00, 0x03, 0x72, 0x7E, 0x67, 0x00, 0x00, 0x12, 0x53, 0x79, 0x00, 0x03, 0x72, 0x7E, + 0x4E, 0xB9, 0x00, 0x00, 0x64, 0x36, 0x60, 0x00, 0x00, 0x3E, 0x4A, 0x79, 0x00, 0x03, 0x72, 0x5E, 0x67, 0x00, 0x00, 0x0C, 0x53, 0x79, 0x00, 0x03, 0x72, 0x5E, 0x66, 0x00, 0x00, 0x2A, 0x4E, 0xB9, + 0x00, 0x00, 0x67, 0xFA, 0x4A, 0x79, 0x00, 0x03, 0x72, 0x6E, 0x67, 0x00, 0x00, 0x1A, 0x33, 0xFC, 0x00, 0x00, 0x00, 0x03, 0x72, 0x70, 0x33, 0xFC, 0x00, 0x1E, 0x00, 0x03, 0x72, 0x5E, 0x33, 0xFC, + 0x00, 0x05, 0x00, 0x03, 0x71, 0xB2, 0x60, 0x00, 0x02, 0x4E, 0x4E, 0xB9, 0x00, 0x00, 0x64, 0xBC, 0x4A, 0x79, 0x00, 0x03, 0x72, 0x70, 0x67, 0x00, 0x00, 0x22, 0x33, 0xFC, 0x00, 0x01, 0x00, 0x03, + 0x72, 0x76, 0x33, 0xFC, 0x00, 0x78, 0x00, 0x03, 0x72, 0x5E, 0x33, 0xFC, 0x00, 0x01, 0x00, 0x03, 0x72, 0x64, 0x33, 0xFC, 0x00, 0x06, 0x00, 0x03, 0x71, 0xB2, 0x60, 0x00, 0x02, 0x1A, 0x4A, 0x79, + 0x00, 0x03, 0x72, 0x76, 0x67, 0x00, 0x00, 0x08, 0x4E, 0xB9, 0x00, 0x00, 0x66, 0xEC, 0x42, 0x80, 0x42, 0x81, 0x30, 0x39, 0x00, 0x03, 0x72, 0x60, 0x32, 0x39, 0x00, 0x03, 0x72, 0x66, 0x4E, 0xB9, + 0x00, 0x00, 0x66, 0x7E, 0x30, 0x39, 0x00, 0x03, 0x72, 0x62, 0x6B, 0x00, 0x00, 0x20, 0xD1, 0x79, 0x00, 0x03, 0x72, 0x60, 0x0C, 0x79, 0x00, 0x7F, 0x00, 0x03, 0x72, 0x60, 0x6B, 0x00, 0x00, 0x20, + 0x33, 0xFC, 0x00, 0x00, 0x00, 0x03, 0x72, 0x60, 0x60, 0x00, 0x00, 0x14, 0xD1, 0x79, 0x00, 0x03, 0x72, 0x60, 0x6A, 0x00, 0x00, 0x0A, 0x33, 0xFC, 0x00, 0x7F, 0x00, 0x03, 0x72, 0x60, 0x4A, 0x79, + 0x00, 0x03, 0x72, 0x76, 0x66, 0x00, 0x00, 0x30, 0x4A, 0x79, 0x00, 0x03, 0x72, 0x78, 0x67, 0x00, 0x00, 0x0C, 0x4E, 0xB9, 0x00, 0x00, 0x64, 0xFA, 0x60, 0x00, 0x00, 0x1C, 0x53, 0x79, 0x00, 0x03, + 0x72, 0x5E, 0x66, 0x00, 0x00, 0x12, 0x33, 0xFC, 0x00, 0x01, 0x00, 0x03, 0x72, 0x7A, 0x33, 0xFC, 0x00, 0x07, 0x00, 0x03, 0x71, 0xB2, 0x60, 0x00, 0x01, 0x7E, 0x33, 0xFC, 0x00, 0x00, 0x00, 0x03, + 0x72, 0x80, 0x41, 0xF9, 0x00, 0x03, 0x71, 0x10, 0x70, 0x22, 0x12, 0x28, 0x00, 0x19, 0x67, 0x00, 0x00, 0x42, 0x33, 0xFC, 0x00, 0x01, 0x00, 0x03, 0x72, 0x80, 0x14, 0x28, 0x00, 0x18, 0x36, 0x28, + 0x00, 0x00, 0x38, 0x28, 0x00, 0x02, 0x53, 0x01, 0x53, 0x02, 0x08, 0x01, 0x00, 0x00, 0x66, 0x00, 0x00, 0x0A, 0xD6, 0x7C, 0x00, 0x03, 0x60, 0x00, 0x00, 0x06, 0xD6, 0x7C, 0x00, 0x04, 0xD8, 0x7C, + 0x00, 0x07, 0x11, 0x41, 0x00, 0x19, 0x11, 0x42, 0x00, 0x18, 0x31, 0x43, 0x00, 0x00, 0x31, 0x44, 0x00, 0x02, 0xD1, 0xC0, 0x12, 0x28, 0x00, 0x19, 0x67, 0x00, 0x00, 0x32, 0x33, 0xFC, 0x00, 0x01, + 0x00, 0x03, 0x72, 0x80, 0x14, 0x28, 0x00, 0x18, 0x36, 0x28, 0x00, 0x00, 0x38, 0x28, 0x00, 0x02, 0x53, 0x01, 0x53, 0x02, 0xD6, 0x7C, 0x00, 0x05, 0xD8, 0x7C, 0x00, 0x07, 0x11, 0x41, 0x00, 0x19, + 0x11, 0x42, 0x00, 0x18, 0x31, 0x43, 0x00, 0x00, 0x31, 0x44, 0x00, 0x02, 0xD1, 0xC0, 0x12, 0x28, 0x00, 0x19, 0x67, 0x00, 0x00, 0x32, 0x33, 0xFC, 0x00, 0x01, 0x00, 0x03, 0x72, 0x80, 0x14, 0x28, + 0x00, 0x18, 0x36, 0x28, 0x00, 0x00, 0x38, 0x28, 0x00, 0x02, 0x53, 0x01, 0x53, 0x02, 0xD6, 0x7C, 0x00, 0x02, 0xD8, 0x7C, 0x00, 0x04, 0x11, 0x41, 0x00, 0x19, 0x11, 0x42, 0x00, 0x18, 0x31, 0x43, + 0x00, 0x00, 0x31, 0x44, 0x00, 0x02, 0xD1, 0xC0, 0x12, 0x28, 0x00, 0x19, 0x67, 0x00, 0x00, 0x32, 0x33, 0xFC, 0x00, 0x01, 0x00, 0x03, 0x72, 0x80, 0x14, 0x28, 0x00, 0x18, 0x36, 0x28, 0x00, 0x00, + 0x38, 0x28, 0x00, 0x02, 0x53, 0x01, 0x53, 0x02, 0x96, 0x7C, 0x00, 0x03, 0x98, 0x7C, 0x00, 0x03, 0x11, 0x41, 0x00, 0x19, 0x11, 0x42, 0x00, 0x18, 0x31, 0x43, 0x00, 0x00, 0x31, 0x44, 0x00, 0x02, + 0x42, 0x80, 0x42, 0x81, 0x30, 0x39, 0x00, 0x03, 0x72, 0x60, 0x32, 0x39, 0x00, 0x03, 0x72, 0x66, 0x4E, 0xB9, 0x00, 0x00, 0x66, 0x7E, 0x30, 0x39, 0x00, 0x03, 0x72, 0x62, 0x6B, 0x00, 0x00, 0x20, + 0xD1, 0x79, 0x00, 0x03, 0x72, 0x60, 0x0C, 0x79, 0x00, 0x7F, 0x00, 0x03, 0x72, 0x60, 0x6B, 0x00, 0x00, 0x20, 0x33, 0xFC, 0x00, 0x00, 0x00, 0x03, 0x72, 0x60, 0x60, 0x00, 0x00, 0x14, 0xD1, 0x79, + 0x00, 0x03, 0x72, 0x60, 0x6A, 0x00, 0x00, 0x0A, 0x33, 0xFC, 0x00, 0x7F, 0x00, 0x03, 0x72, 0x60, 0x4A, 0x79, 0x00, 0x03, 0x72, 0x80, 0x66, 0x00, 0x00, 0x16, 0x33, 0xFC, 0x00, 0x00, 0x00, 0x03, + 0x72, 0x7A, 0x33, 0xFC, 0x00, 0x01, 0x00, 0x03, 0x72, 0x7C, 0x60, 0x00, 0x00, 0x02, 0x60, 0x00, 0x00, 0x06, 0x60, 0x00, 0x00, 0x02, 0x4C, 0xDF, 0x03, 0x3F, 0x4E, 0x75, 0x48, 0xE7, 0xC0, 0x00, + 0x30, 0x39, 0x00, 0x03, 0x71, 0xC2, 0x32, 0x39, 0x00, 0x03, 0x71, 0xC0, 0xB2, 0x40, 0x67, 0x00, 0x00, 0x0A, 0x06, 0x79, 0x00, 0x01, 0x00, 0x03, 0x71, 0xC0, 0x4C, 0xDF, 0x00, 0x03, 0x4E, 0x75, + 0x48, 0xE7, 0xF0, 0xE0, 0x42, 0x80, 0x4E, 0xB9, 0x00, 0x00, 0x62, 0x9A, 0x32, 0x39, 0x00, 0x03, 0x71, 0xC0, 0xB2, 0x40, 0x67, 0x00, 0x00, 0x06, 0x52, 0x40, 0x60, 0xEA, 0x42, 0x81, 0x45, 0xF9, + 0x00, 0x00, 0x92, 0xD0, 0x32, 0x39, 0x00, 0x03, 0x72, 0x82, 0xE5, 0x81, 0xD5, 0xC1, 0x22, 0x52, 0x42, 0x81, 0x32, 0x39, 0x00, 0x03, 0x71, 0xC0, 0xE7, 0x81, 0xD3, 0xC1, 0x20, 0x51, 0x32, 0x28, + 0x00, 0x16, 0x34, 0x39, 0x00, 0x03, 0x71, 0xC2, 0x36, 0x39, 0x00, 0x03, 0x71, 0xC0, 0xB6, 0x42, 0x66, 0x00, 0x00, 0x14, 0x4A, 0x41, 0x66, 0x00, 0x00, 0x0A, 0x33, 0xFC, 0x00, 0x01, 0x00, 0x03, + 0x72, 0x72, 0x60, 0x00, 0x00, 0x10, 0xB2, 0x7C, 0x01, 0xC0, 0x6A, 0x00, 0x00, 0x08, 0x4E, 0xB9, 0x00, 0x00, 0x61, 0xFC, 0x4C, 0xDF, 0x07, 0x0F, 0x4E, 0x75, 0x48, 0xE7, 0xFF, 0xF8, 0x2A, 0x00, + 0x42, 0x81, 0x41, 0xF9, 0x00, 0x00, 0x92, 0xD0, 0x32, 0x39, 0x00, 0x03, 0x72, 0x82, 0xE5, 0x81, 0xD1, 0xC1, 0x24, 0x50, 0xE7, 0x80, 0xD5, 0xC0, 0x20, 0x52, 0x58, 0x8A, 0x22, 0x52, 0x26, 0x48, + 0x28, 0x49, 0x30, 0x28, 0x00, 0x20, 0x32, 0x28, 0x00, 0x12, 0xD2, 0x40, 0x31, 0x41, 0x00, 0x12, 0x30, 0x28, 0x00, 0x22, 0x32, 0x28, 0x00, 0x14, 0xD2, 0x40, 0x31, 0x41, 0x00, 0x14, 0x30, 0x28, + 0x00, 0x24, 0x32, 0x28, 0x00, 0x16, 0xD2, 0x40, 0x31, 0x41, 0x00, 0x16, 0x30, 0x29, 0x00, 0x20, 0x32, 0x29, 0x00, 0x12, 0xD2, 0x40, 0x33, 0x41, 0x00, 0x12, 0x30, 0x29, 0x00, 0x22, 0x32, 0x29, + 0x00, 0x14, 0xD2, 0x40, 0x33, 0x41, 0x00, 0x14, 0x30, 0x29, 0x00, 0x24, 0x32, 0x29, 0x00, 0x16, 0xD2, 0x40, 0x33, 0x41, 0x00, 0x16, 0x30, 0x28, 0x00, 0x16, 0x32, 0x28, 0x00, 0x1E, 0xB2, 0x40, + 0x6A, 0x00, 0x00, 0x30, 0x20, 0x08, 0x42, 0x81, 0x42, 0x82, 0x42, 0x83, 0x32, 0x28, 0x00, 0x2E, 0x34, 0x28, 0x00, 0x30, 0x36, 0x28, 0x00, 0x2C, 0x78, 0x00, 0x4E, 0xB9, 0x00, 0x00, 0x5B, 0x4C, + 0x20, 0x4B, 0x22, 0x4C, 0x22, 0xD8, 0x22, 0xD8, 0x22, 0xD8, 0x22, 0xD8, 0x32, 0x90, 0x60, 0x00, 0x00, 0x76, 0x42, 0x80, 0x22, 0x3C, 0x00, 0x00, 0x40, 0x00, 0x31, 0x68, 0x00, 0x1A, 0x00, 0x12, + 0x33, 0x69, 0x00, 0x1A, 0x00, 0x12, 0x31, 0x68, 0x00, 0x1C, 0x00, 0x14, 0x33, 0x69, 0x00, 0x1C, 0x00, 0x14, 0x31, 0x68, 0x00, 0x1E, 0x00, 0x16, 0x33, 0x69, 0x00, 0x1E, 0x00, 0x16, 0x31, 0x41, + 0x00, 0x00, 0x31, 0x40, 0x00, 0x02, 0x31, 0x40, 0x00, 0x04, 0x31, 0x40, 0x00, 0x06, 0x31, 0x41, 0x00, 0x08, 0x31, 0x40, 0x00, 0x0A, 0x31, 0x40, 0x00, 0x0C, 0x31, 0x40, 0x00, 0x0E, 0x31, 0x41, + 0x00, 0x10, 0x33, 0x41, 0x00, 0x00, 0x33, 0x40, 0x00, 0x02, 0x33, 0x40, 0x00, 0x04, 0x33, 0x40, 0x00, 0x06, 0x33, 0x41, 0x00, 0x08, 0x33, 0x40, 0x00, 0x0A, 0x33, 0x40, 0x00, 0x0C, 0x33, 0x40, + 0x00, 0x0E, 0x33, 0x41, 0x00, 0x10, 0x4C, 0xDF, 0x1F, 0xFF, 0x4E, 0x75, 0x48, 0xE7, 0xFF, 0xF8, 0x42, 0x85, 0x42, 0x81, 0x41, 0xF9, 0x00, 0x00, 0x92, 0xD0, 0x32, 0x39, 0x00, 0x03, 0x72, 0x82, + 0xE5, 0x81, 0xD1, 0xC1, 0x24, 0x50, 0x20, 0x05, 0xE7, 0x80, 0xD5, 0xC0, 0x20, 0x52, 0x58, 0x8A, 0x22, 0x52, 0x26, 0x48, 0x28, 0x49, 0x20, 0x08, 0x42, 0x81, 0x42, 0x82, 0x42, 0x83, 0x32, 0x28, + 0x00, 0x28, 0x34, 0x28, 0x00, 0x2A, 0x36, 0x28, 0x00, 0x26, 0x78, 0x00, 0x4E, 0xB9, 0x00, 0x00, 0x5B, 0x4C, 0x20, 0x4B, 0x22, 0x4C, 0x22, 0xD8, 0x22, 0xD8, 0x22, 0xD8, 0x22, 0xD8, 0x32, 0x90, + 0x32, 0x39, 0x00, 0x03, 0x71, 0xC2, 0xB2, 0x45, 0x67, 0x00, 0x00, 0x06, 0x52, 0x45, 0x60, 0xA2, 0x4C, 0xDF, 0x1F, 0xFF, 0x4E, 0x75, 0x48, 0xE7, 0x00, 0x80, 0x4E, 0xB9, 0x00, 0x00, 0x56, 0xD8, + 0x4E, 0xB9, 0x00, 0x00, 0x66, 0x06, 0x4E, 0xB9, 0x00, 0x00, 0x5B, 0x98, 0x4E, 0xB9, 0x00, 0x00, 0x5A, 0x58, 0x33, 0xF9, 0x00, 0x03, 0x72, 0x28, 0x00, 0x03, 0x72, 0x24, 0x4C, 0xDF, 0x01, 0x00, + 0x4E, 0x75, 0x48, 0xE7, 0xF8, 0x80, 0x41, 0xF9, 0x00, 0x03, 0x71, 0x10, 0x10, 0x28, 0x00, 0x19, 0x12, 0x28, 0x00, 0x18, 0x34, 0x28, 0x00, 0x00, 0x36, 0x28, 0x00, 0x02, 0xB0, 0x3C, 0x00, 0x20, + 0x66, 0x00, 0x00, 0x1A, 0x33, 0xFC, 0x00, 0x01, 0x00, 0x03, 0x72, 0x6C, 0x11, 0x7C, 0x00, 0x20, 0x00, 0x19, 0x11, 0x7C, 0x00, 0x20, 0x00, 0x18, 0x60, 0x00, 0x00, 0x1C, 0x52, 0x00, 0x52, 0x01, + 0x59, 0x42, 0x96, 0x7C, 0x00, 0x02, 0x11, 0x40, 0x00, 0x19, 0x11, 0x41, 0x00, 0x18, 0x31, 0x42, 0x00, 0x00, 0x31, 0x43, 0x00, 0x02, 0x4C, 0xDF, 0x01, 0x1F, 0x4E, 0x75, 0x48, 0xE7, 0xC0, 0x80, + 0x4A, 0x79, 0x00, 0x03, 0x72, 0x2C, 0x67, 0x00, 0x00, 0x0A, 0x32, 0x3C, 0x00, 0x48, 0x60, 0x00, 0x00, 0x06, 0x32, 0x3C, 0x00, 0x38, 0x41, 0xF9, 0x00, 0x03, 0x71, 0x10, 0x30, 0x28, 0x00, 0x02, + 0x57, 0x40, 0x31, 0x40, 0x00, 0x02, 0xB2, 0x40, 0x6B, 0x00, 0x00, 0x0A, 0x33, 0xFC, 0x00, 0x01, 0x00, 0x03, 0x72, 0x70, 0x4C, 0xDF, 0x01, 0x03, 0x4E, 0x75, 0x48, 0xE7, 0xFE, 0x80, 0x20, 0x39, + 0x00, 0x03, 0x71, 0xA8, 0x22, 0x39, 0x00, 0x03, 0x71, 0xA0, 0x41, 0xF9, 0x00, 0x03, 0x71, 0x10, 0x74, 0x22, 0xD1, 0xC2, 0xD1, 0xC2, 0x08, 0x01, 0x00, 0x15, 0x67, 0x00, 0x00, 0x36, 0x14, 0x28, + 0x00, 0x19, 0xB4, 0x3C, 0x00, 0x04, 0x6B, 0x00, 0x00, 0x62, 0x16, 0x28, 0x00, 0x18, 0x38, 0x28, 0x00, 0x00, 0x3A, 0x28, 0x00, 0x02, 0x53, 0x02, 0x53, 0x03, 0x54, 0x44, 0x5A, 0x45, 0x11, 0x42, + 0x00, 0x19, 0x11, 0x43, 0x00, 0x18, 0x31, 0x44, 0x00, 0x00, 0x31, 0x45, 0x00, 0x02, 0x60, 0x00, 0x00, 0x3A, 0x08, 0x01, 0x00, 0x14, 0x67, 0x00, 0x00, 0x32, 0x14, 0x28, 0x00, 0x19, 0xB4, 0x3C, + 0x00, 0x20, 0x67, 0x00, 0x00, 0x26, 0x16, 0x28, 0x00, 0x18, 0x38, 0x28, 0x00, 0x00, 0x3A, 0x28, 0x00, 0x02, 0x52, 0x02, 0x52, 0x03, 0x55, 0x44, 0x5B, 0x45, 0x11, 0x42, 0x00, 0x19, 0x11, 0x43, + 0x00, 0x18, 0x31, 0x44, 0x00, 0x00, 0x31, 0x45, 0x00, 0x02, 0x08, 0x00, 0x00, 0x17, 0x67, 0x00, 0x00, 0x24, 0x34, 0x39, 0x00, 0x03, 0x72, 0x62, 0x0C, 0x42, 0xFF, 0xF8, 0x6F, 0x00, 0x00, 0x52, + 0x53, 0x79, 0x00, 0x03, 0x72, 0x62, 0x66, 0x00, 0x00, 0x08, 0x53, 0x79, 0x00, 0x03, 0x72, 0x62, 0x60, 0x00, 0x00, 0x3E, 0x08, 0x00, 0x00, 0x16, 0x67, 0x00, 0x00, 0x24, 0x34, 0x39, 0x00, 0x03, + 0x72, 0x62, 0x0C, 0x42, 0x00, 0x08, 0x6C, 0x00, 0x00, 0x28, 0x52, 0x79, 0x00, 0x03, 0x72, 0x62, 0x66, 0x00, 0x00, 0x08, 0x52, 0x79, 0x00, 0x03, 0x72, 0x62, 0x60, 0x00, 0x00, 0x14, 0x08, 0x00, + 0x00, 0x04, 0x67, 0x00, 0x00, 0x0C, 0x44, 0x79, 0x00, 0x03, 0x72, 0x62, 0x60, 0x00, 0x00, 0x02, 0x08, 0x01, 0x00, 0x1C, 0x67, 0x00, 0x00, 0x0A, 0x33, 0xFC, 0x00, 0x00, 0x00, 0x03, 0x72, 0x78, + 0x4C, 0xDF, 0x01, 0x7F, 0x4E, 0x75, 0x48, 0xE7, 0xF8, 0x80, 0x20, 0x39, 0x00, 0x03, 0x71, 0xA0, 0x72, 0x00, 0x74, 0x00, 0x76, 0x00, 0x78, 0x00, 0x20, 0x3C, 0x00, 0x03, 0x92, 0xC8, 0x4E, 0xB9, + 0x00, 0x00, 0x5B, 0x4C, 0x4C, 0xDF, 0x01, 0x1F, 0x4E, 0x75, 0x48, 0xE7, 0xC0, 0xE0, 0x42, 0x80, 0x45, 0xF9, 0x00, 0x00, 0x79, 0x20, 0x30, 0x39, 0x00, 0x03, 0x72, 0x86, 0xE5, 0x80, 0xD5, 0xC0, + 0x22, 0x52, 0x41, 0xF9, 0x00, 0x03, 0x92, 0x90, 0x4A, 0x79, 0x00, 0x03, 0x72, 0x34, 0x67, 0x00, 0x00, 0x0E, 0x33, 0xD1, 0x00, 0x03, 0x92, 0xA8, 0x30, 0xD9, 0x60, 0x00, 0x00, 0x0C, 0x33, 0xD9, + 0x00, 0x03, 0x92, 0xA8, 0x30, 0xFC, 0x00, 0x00, 0x4A, 0x51, 0x67, 0x00, 0x00, 0x08, 0x20, 0xD9, 0x20, 0xD9, 0x60, 0xF4, 0x30, 0xFC, 0x00, 0x00, 0x4C, 0xDF, 0x07, 0x03, 0x4E, 0x75, 0x48, 0xE7, + 0xC0, 0xC0, 0x4E, 0xB9, 0x00, 0x00, 0x69, 0x9E, 0x20, 0x79, 0x00, 0x03, 0x72, 0x10, 0x4E, 0xB9, 0x00, 0x00, 0x67, 0x52, 0x41, 0xF9, 0x00, 0x00, 0x8A, 0x50, 0x4E, 0xB9, 0x00, 0x00, 0x68, 0xF4, + 0x23, 0xC0, 0x00, 0xF0, 0x3F, 0xFC, 0x23, 0xC1, 0x00, 0xF0, 0x3F, 0xF8, 0x23, 0xFC, 0x00, 0x00, 0x00, 0x40, 0x00, 0xF0, 0x3F, 0xF4, 0x23, 0xFC, 0x00, 0x00, 0x00, 0x28, 0x00, 0xF0, 0x3F, 0xF0, + 0x23, 0xFC, 0x00, 0x15, 0xB0, 0x00, 0x00, 0xF0, 0x3F, 0xEC, 0x23, 0xF9, 0x00, 0x03, 0x72, 0x10, 0x00, 0xF0, 0x3F, 0xE8, 0x41, 0xF9, 0x00, 0x00, 0x8A, 0x50, 0x4E, 0xB9, 0x00, 0x00, 0x69, 0x84, + 0x4E, 0xB9, 0x00, 0x00, 0x69, 0x9E, 0x4C, 0xDF, 0x03, 0x03, 0x4E, 0x75, 0x48, 0xE7, 0xF8, 0x80, 0x41, 0xF9, 0x00, 0x03, 0x71, 0x10, 0xD1, 0xFC, 0x00, 0x00, 0x00, 0x22, 0xD1, 0xFC, 0x00, 0x00, + 0x00, 0x22, 0x10, 0x28, 0x00, 0x19, 0x12, 0x28, 0x00, 0x18, 0x34, 0x28, 0x00, 0x00, 0x36, 0x28, 0x00, 0x02, 0xB0, 0x3C, 0x00, 0x20, 0x66, 0x00, 0x00, 0x1A, 0x33, 0xFC, 0x00, 0x00, 0x00, 0x03, + 0x72, 0x76, 0x11, 0x7C, 0x00, 0x20, 0x00, 0x19, 0x11, 0x7C, 0x00, 0x20, 0x00, 0x18, 0x60, 0x00, 0x00, 0x1C, 0x52, 0x00, 0x52, 0x01, 0x55, 0x42, 0x96, 0x7C, 0x00, 0x05, 0x11, 0x40, 0x00, 0x19, + 0x11, 0x41, 0x00, 0x18, 0x31, 0x42, 0x00, 0x00, 0x31, 0x43, 0x00, 0x02, 0x4C, 0xDF, 0x01, 0x1F, 0x4E, 0x75, 0x48, 0xE7, 0x80, 0xC0, 0x22, 0x7C, 0x00, 0xF0, 0x22, 0x38, 0x20, 0x11, 0xE2, 0x48, + 0x64, 0xFA, 0x23, 0xFC, 0x00, 0x00, 0x38, 0x20, 0x00, 0xF0, 0x22, 0x04, 0x23, 0xC8, 0x00, 0xF0, 0x22, 0x00, 0x30, 0x3C, 0x00, 0x01, 0x48, 0x40, 0x30, 0x3C, 0xFF, 0x80, 0x23, 0xC0, 0x00, 0xF0, + 0x22, 0x10, 0x30, 0x3C, 0x00, 0x80, 0x48, 0x40, 0x30, 0x3C, 0x00, 0x80, 0x23, 0xC0, 0x00, 0xF0, 0x22, 0x3C, 0x42, 0x80, 0x23, 0xC0, 0x00, 0xF0, 0x22, 0x0C, 0x23, 0xC0, 0x00, 0xF0, 0x22, 0x68, + 0x23, 0xC0, 0x00, 0xF0, 0x22, 0x6C, 0x23, 0xFC, 0x00, 0x01, 0x02, 0x00, 0x00, 0xF0, 0x22, 0x38, 0x22, 0x7C, 0x00, 0xF0, 0x22, 0x38, 0x20, 0x11, 0xE2, 0x48, 0x64, 0xFA, 0x4C, 0xDF, 0x03, 0x01, + 0x4E, 0x75, 0x48, 0xE7, 0x80, 0xC0, 0x41, 0xF9, 0x00, 0x00, 0x79, 0x38, 0x43, 0xF9, 0x00, 0x03, 0x71, 0xC8, 0x20, 0x18, 0x22, 0xC0, 0x22, 0xD8, 0x48, 0x40, 0xC0, 0xBC, 0x00, 0x00, 0xFF, 0xFF, + 0x90, 0xBC, 0x00, 0x00, 0x00, 0x01, 0x22, 0xD8, 0x51, 0xC8, 0xFF, 0xFC, 0x33, 0xFC, 0x00, 0x00, 0x00, 0x03, 0x72, 0x6E, 0x4C, 0xDF, 0x03, 0x01, 0x4E, 0x75, 0x48, 0xE7, 0xFF, 0xE0, 0x43, 0xF9, + 0x00, 0x03, 0x71, 0xC8, 0x42, 0x84, 0x38, 0x29, 0x00, 0x00, 0x98, 0xBC, 0x00, 0x00, 0x00, 0x01, 0x42, 0x85, 0x3A, 0x29, 0x00, 0x02, 0x2C, 0x05, 0xE5, 0x86, 0x7E, 0x08, 0xDE, 0x86, 0x24, 0x49, + 0xD5, 0xC7, 0x22, 0x12, 0x45, 0xF9, 0x00, 0x03, 0x71, 0x10, 0x70, 0x22, 0xD5, 0xC0, 0xD5, 0xC0, 0xD5, 0xC0, 0x25, 0x41, 0x00, 0x04, 0xBA, 0x84, 0x67, 0x00, 0x00, 0x38, 0x42, 0x80, 0x30, 0x29, + 0x00, 0x06, 0x90, 0xBC, 0x00, 0x00, 0x00, 0x01, 0x67, 0x00, 0x00, 0x0A, 0x33, 0x40, 0x00, 0x06, 0x60, 0x00, 0x00, 0x28, 0x42, 0x81, 0x32, 0x29, 0x00, 0x02, 0xD2, 0xBC, 0x00, 0x00, 0x00, 0x01, + 0x33, 0x41, 0x00, 0x02, 0x42, 0x81, 0x32, 0x29, 0x00, 0x04, 0x33, 0x41, 0x00, 0x06, 0x60, 0x00, 0x00, 0x0A, 0x33, 0xFC, 0x00, 0x01, 0x00, 0x03, 0x72, 0x6E, 0x4C, 0xDF, 0x07, 0xFF, 0x4E, 0x75, + 0x48, 0xE7, 0x80, 0x80, 0x20, 0x7C, 0x00, 0xF0, 0x22, 0x38, 0x20, 0x10, 0xE2, 0x48, 0x64, 0xFA, 0x23, 0xFC, 0x00, 0x16, 0x5C, 0x00, 0x00, 0xF0, 0x22, 0x00, 0x23, 0xFC, 0x00, 0x01, 0x28, 0x18, + 0x00, 0xF0, 0x22, 0x04, 0x30, 0x3C, 0x00, 0x01, 0x48, 0x40, 0x30, 0x3C, 0xFF, 0xE0, 0x23, 0xC0, 0x00, 0xF0, 0x22, 0x10, 0x30, 0x3C, 0x00, 0x1C, 0x48, 0x40, 0x30, 0x3C, 0x00, 0x20, 0x23, 0xC0, + 0x00, 0xF0, 0x22, 0x3C, 0x42, 0x80, 0x23, 0xC0, 0x00, 0xF0, 0x22, 0x0C, 0x23, 0xC0, 0x00, 0xF0, 0x22, 0x68, 0x23, 0xC0, 0x00, 0xF0, 0x22, 0x6C, 0x23, 0xFC, 0x00, 0x01, 0x02, 0x00, 0x00, 0xF0, + 0x22, 0x38, 0x20, 0x7C, 0x00, 0xF0, 0x22, 0x38, 0x20, 0x10, 0xE2, 0x48, 0x64, 0xFA, 0x4C, 0xDF, 0x01, 0x01, 0x4E, 0x75, 0x48, 0xE7, 0xE0, 0xE0, 0x24, 0x7C, 0x00, 0xF0, 0x22, 0x38, 0x20, 0x12, + 0xE2, 0x48, 0x64, 0xFA, 0x20, 0x3C, 0x00, 0x00, 0x40, 0x20, 0x23, 0xC0, 0x00, 0xF0, 0x22, 0x04, 0x23, 0xC0, 0x00, 0xF0, 0x22, 0x28, 0x20, 0x18, 0x22, 0x00, 0xC0, 0xBC, 0xFF, 0xFF, 0xFF, 0xF8, + 0x92, 0x80, 0x23, 0xC0, 0x00, 0xF0, 0x22, 0x00, 0xE2, 0x81, 0x23, 0xC1, 0x00, 0xF0, 0x22, 0x0C, 0x20, 0x18, 0xE2, 0x80, 0x80, 0xBC, 0x00, 0x01, 0x00, 0x00, 0x23, 0xC0, 0x00, 0xF0, 0x22, 0x3C, + 0x20, 0x08, 0x24, 0x00, 0xC0, 0xBC, 0xFF, 0xFF, 0xFF, 0xF8, 0x94, 0x80, 0x23, 0xC0, 0x00, 0xF0, 0x22, 0x24, 0xE2, 0x82, 0x23, 0xC2, 0x00, 0xF0, 0x22, 0x30, 0xB4, 0x81, 0x6F, 0x08, 0x20, 0x3C, + 0x01, 0x80, 0x00, 0x05, 0x60, 0x06, 0x20, 0x3C, 0x01, 0x80, 0x00, 0x01, 0x23, 0xC0, 0x00, 0xF0, 0x22, 0x38, 0x24, 0x7C, 0x00, 0xF0, 0x22, 0x38, 0x20, 0x12, 0xE2, 0x48, 0x64, 0xFA, 0x4C, 0xDF, + 0x07, 0x07, 0x4E, 0x75, 0x48, 0xE7, 0x00, 0x80, 0x23, 0xD8, 0x00, 0xF0, 0x21, 0x10, 0x23, 0xFC, 0x00, 0x00, 0x00, 0x11, 0x00, 0xF0, 0x21, 0x14, 0x4C, 0xDF, 0x01, 0x00, 0x4E, 0x75, 0x48, 0xE7, + 0x80, 0x80, 0x41, 0xF9, 0x00, 0xF0, 0x21, 0x14, 0x20, 0x10, 0xE2, 0x40, 0x65, 0xFA, 0x4C, 0xDF, 0x01, 0x01, 0x4E, 0x75, 0x48, 0xE7, 0xE0, 0xC0, 0x23, 0xFC, 0x00, 0x07, 0x00, 0x07, 0x00, 0xF1, + 0xA1, 0x0C, 0x23, 0xFC, 0x00, 0x00, 0x3E, 0x00, 0x00, 0xF1, 0xA1, 0x00, 0x23, 0xFC, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF1, 0xA1, 0x14, 0x23, 0xFC, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF1, 0x00, 0x00, + 0x23, 0xFC, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF1, 0xA1, 0x48, 0x23, 0xFC, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF1, 0xA1, 0x4C, 0x22, 0x7C, 0x00, 0xF1, 0xB0, 0x00, 0x20, 0x7C, 0x00, 0x00, 0x6B, 0xD4, + 0x20, 0x08, 0x22, 0x3C, 0x00, 0x00, 0x73, 0xAC, 0x92, 0x80, 0xE4, 0x81, 0x22, 0xD8, 0x51, 0xC9, 0xFF, 0xFC, 0x20, 0x7C, 0x00, 0x01, 0x8D, 0xB0, 0x22, 0x58, 0x22, 0x18, 0xE4, 0x81, 0x22, 0xD8, + 0x51, 0xC9, 0xFF, 0xFC, 0x20, 0x7C, 0x00, 0x03, 0x92, 0xB0, 0x34, 0x3C, 0x00, 0x07, 0x30, 0xFC, 0x00, 0x00, 0x51, 0xCA, 0xFF, 0xFA, 0x20, 0x7C, 0x00, 0xF1, 0xB8, 0x00, 0x34, 0x3C, 0x00, 0x07, + 0xC4, 0xFC, 0x00, 0x50, 0xE4, 0x8A, 0x20, 0xFC, 0x00, 0x00, 0x00, 0x00, 0x51, 0xCA, 0xFF, 0xF8, 0x20, 0x7C, 0x00, 0xF1, 0xB8, 0x00, 0x70, 0xFC, 0x21, 0x40, 0x00, 0x00, 0x21, 0x40, 0x00, 0x50, + 0x21, 0x40, 0x00, 0xA0, 0x21, 0x40, 0x00, 0xF0, 0x21, 0x40, 0x01, 0x40, 0x21, 0x40, 0x01, 0x90, 0x21, 0x40, 0x01, 0xE0, 0x21, 0x40, 0x02, 0x30, 0x21, 0x40, 0x02, 0x80, 0x21, 0x40, 0x02, 0xD0, + 0x21, 0x7C, 0x00, 0x00, 0x00, 0x00, 0x03, 0x20, 0x22, 0x7C, 0x00, 0x0F, 0xF0, 0x00, 0x20, 0x3C, 0x00, 0x00, 0x03, 0xFF, 0x22, 0xFC, 0x00, 0x00, 0x00, 0x00, 0x51, 0xC8, 0xFF, 0xF8, 0x22, 0x7C, + 0x00, 0x0F, 0xE0, 0x00, 0x20, 0x3C, 0x00, 0x00, 0x03, 0xFF, 0x22, 0xFC, 0x00, 0x00, 0x00, 0x00, 0x51, 0xC8, 0xFF, 0xF8, 0x23, 0xFC, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF1, 0xA1, 0x50, 0x23, 0xFC, + 0x00, 0x00, 0x00, 0x15, 0x00, 0xF1, 0xA1, 0x54, 0x23, 0xFC, 0x00, 0x00, 0x00, 0x13, 0x00, 0xF1, 0xA1, 0x50, 0x23, 0xFC, 0x00, 0xF1, 0xB0, 0x00, 0x00, 0xF1, 0xA1, 0x10, 0x23, 0xFC, 0x00, 0x00, + 0x00, 0x01, 0x00, 0xF1, 0xA1, 0x14, 0x33, 0xFC, 0x01, 0x00, 0x00, 0xF1, 0x40, 0x00, 0x4C, 0xDF, 0x03, 0x07, 0x4E, 0x75, 0x48, 0xE7, 0xF8, 0xF0, 0x32, 0x00, 0x4E, 0xB9, 0x00, 0x00, 0x6B, 0xC4, + 0x4A, 0x42, 0x6B, 0x00, 0x00, 0x76, 0x32, 0x00, 0x41, 0xF9, 0x00, 0x01, 0x8A, 0x90, 0xE5, 0x49, 0x20, 0x70, 0x10, 0x00, 0x28, 0x7C, 0x00, 0x01, 0x8B, 0x08, 0xE3, 0x4A, 0x22, 0x74, 0x20, 0x00, + 0x23, 0x7C, 0x00, 0x00, 0x3F, 0xFF, 0x00, 0x4C, 0x23, 0x44, 0x00, 0x04, 0x26, 0x08, 0xD6, 0xBC, 0x00, 0x00, 0x00, 0x08, 0x23, 0x43, 0x00, 0x08, 0x26, 0x28, 0x00, 0x04, 0x86, 0xFC, 0x00, 0x9C, + 0xC6, 0xBC, 0x00, 0x00, 0xFF, 0xFF, 0x23, 0x43, 0x00, 0x0C, 0x23, 0x7C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, 0x23, 0x7C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x26, 0x10, 0x24, 0x7C, 0x00, 0x01, + 0x8A, 0x98, 0x42, 0x84, 0x38, 0x28, 0x00, 0x08, 0x4A, 0x84, 0x67, 0x00, 0x00, 0x04, 0xE2, 0x8B, 0xE1, 0x8B, 0x23, 0x43, 0x00, 0x10, 0x22, 0xB2, 0x40, 0x00, 0x4C, 0xDF, 0x0F, 0x1F, 0x4E, 0x75, + 0x48, 0xE7, 0xF0, 0xF0, 0x36, 0x01, 0x34, 0x00, 0x20, 0x7C, 0x00, 0x00, 0x73, 0xAC, 0x22, 0x7C, 0x00, 0x0F, 0xF0, 0x00, 0x20, 0x18, 0x22, 0xC0, 0xB0, 0xBC, 0x7F, 0xFF, 0xFF, 0xFF, 0x66, 0xF4, + 0x20, 0x7C, 0x00, 0x01, 0x8B, 0x28, 0x30, 0x18, 0x22, 0x7C, 0x00, 0x0F, 0xE0, 0x00, 0x22, 0xD8, 0x51, 0xC8, 0xFF, 0xFC, 0x48, 0x43, 0x36, 0x02, 0x23, 0xC3, 0x00, 0xF1, 0x00, 0x00, 0x4C, 0xDF, + 0x0F, 0x0F, 0x4E, 0x75, 0x48, 0xE7, 0xC0, 0xF0, 0x74, 0x07, 0x94, 0x80, 0xE3, 0x4A, 0x4C, 0xDF, 0x0F, 0x03, 0x4E, 0x75, 0x98, 0x00, 0xB0, 0x30, 0x00, 0xF1, 0xD0, 0x00, 0xE4, 0x00, 0xE4, 0x00, + 0xE4, 0x00, 0xE4, 0x00, 0x98, 0x1D, 0xB4, 0xE6, 0x00, 0xF1, 0xD3, 0xA0, 0xE4, 0x00, 0xE4, 0x00, 0xE4, 0x00, 0xE4, 0x00, 0x98, 0x1D, 0xB5, 0x2E, 0x00, 0xF1, 0xD3, 0xA0, 0xE4, 0x00, 0xE4, 0x00, + 0xE4, 0x00, 0xE4, 0x00, 0x98, 0x1F, 0xB0, 0x0C, 0x00, 0xF1, 0x93, 0xFF, 0x98, 0x01, 0xA1, 0x00, 0x00, 0xF1, 0x90, 0x21, 0xA4, 0x20, 0x39, 0xC0, 0x38, 0xA0, 0x38, 0xC0, 0xBC, 0x20, 0xE4, 0x00, + 0x98, 0x00, 0xB8, 0x00, 0x00, 0xF1, 0x90, 0x00, 0x98, 0x00, 0xB0, 0xF6, 0x00, 0xF1, 0x90, 0x01, 0x98, 0x00, 0xB7, 0x2C, 0x00, 0xF1, 0x90, 0x02, 0x98, 0x00, 0x00, 0x4C, 0x00, 0x00, 0x90, 0x03, + 0x98, 0x00, 0x00, 0x00, 0x00, 0x00, 0x90, 0x04, 0x98, 0x00, 0xF0, 0x00, 0x00, 0x0F, 0x90, 0x05, 0x98, 0x00, 0xA1, 0x48, 0x00, 0xF1, 0x90, 0x09, 0x98, 0x00, 0xB0, 0xE4, 0x00, 0xF1, 0x90, 0x0A, + 0x98, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x90, 0x0B, 0x98, 0x00, 0xB1, 0xCE, 0x00, 0xF1, 0x90, 0x0D, 0x98, 0x00, 0x7F, 0xFF, 0x00, 0x00, 0x90, 0x0E, 0x98, 0x00, 0xFF, 0xFC, 0xFF, 0xFF, 0x90, 0x0F, + 0x98, 0x00, 0xD2, 0x00, 0x00, 0xF1, 0x90, 0x12, 0x98, 0x00, 0xFF, 0xFF, 0x00, 0x7F, 0x90, 0x13, 0x98, 0x00, 0xA1, 0x00, 0x00, 0xF1, 0x90, 0x14, 0x98, 0x00, 0x00, 0x00, 0x00, 0x00, 0x90, 0x15, + 0x98, 0x00, 0xB0, 0x1C, 0x00, 0xF1, 0x90, 0x18, 0x8C, 0x1C, 0x98, 0x19, 0xA1, 0x18, 0x00, 0xF1, 0x98, 0x00, 0xFE, 0x00, 0xFF, 0xFF, 0xBF, 0x20, 0x94, 0x0F, 0x8C, 0x09, 0x8C, 0x1A, 0x94, 0x3B, + 0xA5, 0xF0, 0x94, 0x4E, 0xEA, 0x19, 0xD3, 0x20, 0x08, 0x8F, 0x94, 0x61, 0xD7, 0x20, 0x00, 0x2F, 0x6D, 0xE9, 0x6D, 0xFA, 0x98, 0x01, 0xB7, 0x94, 0x00, 0xF1, 0x8B, 0x82, 0x63, 0xA2, 0x00, 0x41, + 0xBC, 0x29, 0x08, 0x81, 0xBC, 0x3A, 0x08, 0x3C, 0x3C, 0x7C, 0x8C, 0x00, 0x18, 0x20, 0x96, 0xA2, 0x7B, 0x82, 0x96, 0xA2, 0xD7, 0xA2, 0x0C, 0x20, 0x97, 0x02, 0xBC, 0x40, 0x95, 0x5B, 0xD3, 0x60, + 0xE4, 0x00, 0xB1, 0x2E, 0xB0, 0xE8, 0x37, 0xEE, 0x8C, 0x34, 0xD3, 0x61, 0x5D, 0x14, 0xB0, 0x21, 0x18, 0x34, 0xB1, 0x40, 0x37, 0xE1, 0xB0, 0x65, 0xD4, 0xA2, 0x3F, 0xE1, 0xB0, 0x8E, 0x8A, 0x85, + 0xC9, 0x2E, 0xC8, 0x21, 0xB1, 0x10, 0x18, 0x25, 0xB0, 0x42, 0xD5, 0x94, 0xB0, 0xC4, 0xAC, 0x45, 0xAC, 0x70, 0xAC, 0x8C, 0xAC, 0xAB, 0xA5, 0xC3, 0xC9, 0x10, 0x7C, 0x03, 0xC9, 0x2C, 0xD4, 0x42, + 0xC8, 0xEB, 0xC8, 0xA3, 0xC8, 0x65, 0x00, 0x22, 0xB0, 0xA3, 0x24, 0x82, 0x4A, 0x00, 0x35, 0xE0, 0xD4, 0x41, 0xC8, 0x42, 0x95, 0xC0, 0x88, 0x47, 0xC9, 0x40, 0x95, 0x66, 0x65, 0x02, 0x24, 0xC7, + 0x63, 0xC2, 0x00, 0x43, 0x10, 0xE6, 0xA4, 0x6D, 0xFC, 0x83, 0x44, 0xCD, 0xA4, 0x70, 0x44, 0xF0, 0x02, 0x0D, 0x6D, 0x0D, 0x7A, 0x85, 0x95, 0xB9, 0xD3, 0x34, 0xA5, 0xCC, 0x7C, 0x0C, 0xD4, 0x81, + 0x00, 0x4C, 0x8C, 0x05, 0xD3, 0x20, 0xC8, 0x65, 0xA5, 0x8B, 0xFC, 0x8C, 0x44, 0xCB, 0xA5, 0x90, 0x20, 0x08, 0x44, 0xF0, 0x10, 0xB4, 0x02, 0x0B, 0x6D, 0x0B, 0x44, 0xAD, 0x46, 0x8B, 0x01, 0x6D, + 0x5D, 0x0D, 0x44, 0x0D, 0xA5, 0xE1, 0x6D, 0xED, 0xB2, 0x53, 0x44, 0x2D, 0x95, 0xD4, 0x6D, 0xED, 0x12, 0x74, 0x45, 0xB3, 0x45, 0xB4, 0x02, 0x69, 0xD3, 0x60, 0x02, 0x9A, 0xB0, 0x42, 0xB0, 0x63, + 0xB0, 0xC6, 0x00, 0x62, 0xB0, 0xE7, 0xB0, 0x84, 0x00, 0xE6, 0x96, 0x61, 0x00, 0x82, 0xA5, 0xEE, 0x24, 0x22, 0xB0, 0xA5, 0x24, 0x26, 0xB1, 0x08, 0xC8, 0x42, 0x95, 0x6A, 0x88, 0x4C, 0x66, 0x02, + 0x65, 0x0C, 0xC8, 0xC6, 0x25, 0x4C, 0x66, 0x06, 0x11, 0x8A, 0x63, 0xC2, 0x63, 0xC6, 0xB0, 0x35, 0x65, 0xC1, 0xE8, 0x43, 0x08, 0x82, 0x00, 0xD5, 0x24, 0x22, 0xA6, 0xA4, 0xE8, 0x4B, 0x48, 0x6A, + 0x51, 0x6C, 0x4C, 0x0D, 0x6D, 0x0D, 0xB2, 0x53, 0x44, 0xAD, 0x45, 0x04, 0x95, 0xD4, 0x6C, 0xE4, 0x6D, 0xED, 0xC8, 0x84, 0x12, 0x74, 0x45, 0xB3, 0x45, 0xB4, 0x02, 0x69, 0xD3, 0x60, 0x02, 0x9A, + 0x89, 0xF1, 0x09, 0x11, 0xA6, 0x22, 0x08, 0x91, 0xA6, 0x23, 0x09, 0x91, 0xA6, 0x26, 0x0A, 0x11, 0xA6, 0x37, 0x09, 0x91, 0xA6, 0x36, 0x00, 0x62, 0xB0, 0xE7, 0x02, 0xF6, 0xB0, 0x84, 0x00, 0xE6, + 0x96, 0x61, 0x00, 0x82, 0xA5, 0xEE, 0x24, 0x22, 0xB0, 0xA5, 0x24, 0x26, 0xB1, 0x08, 0xC8, 0x42, 0x95, 0x6A, 0x88, 0x4C, 0x66, 0x02, 0x65, 0x0C, 0xC8, 0xC6, 0x25, 0x4C, 0x66, 0x06, 0x11, 0x8A, + 0x63, 0xC6, 0x63, 0xC2, 0xB0, 0x35, 0x65, 0xC1, 0xE8, 0x43, 0x08, 0x82, 0x00, 0xD5, 0x24, 0x22, 0xE8, 0x4B, 0x95, 0x74, 0xB1, 0x78, 0x7A, 0xD8, 0xB1, 0x99, 0xD5, 0x14, 0x37, 0xE5, 0xD4, 0xC1, + 0x13, 0x36, 0x18, 0x8F, 0x95, 0xE0, 0xBD, 0xE0, 0xD3, 0x60, 0x08, 0x8F, 0xC9, 0xB6, 0x8A, 0xD0, 0x65, 0x10, 0xB1, 0x2E, 0x26, 0x90, 0x66, 0x16, 0x12, 0x14, 0x63, 0xD6, 0xA6, 0xA4, 0x01, 0xD6, + 0xA6, 0xC0, 0x08, 0x96, 0xA6, 0xD5, 0x48, 0x14, 0x52, 0xB0, 0x4C, 0x10, 0x6D, 0x10, 0x48, 0x6A, 0x51, 0x6C, 0x4C, 0x0D, 0x6D, 0x0D, 0xB2, 0x53, 0x44, 0xAD, 0x6D, 0xED, 0x46, 0x0D, 0x45, 0x04, + 0x95, 0xD4, 0x6C, 0xE4, 0xC8, 0x84, 0x6D, 0xED, 0x12, 0x74, 0x45, 0xB3, 0x45, 0xB4, 0x02, 0x69, 0xD3, 0x60, 0x02, 0x9A, 0xB0, 0x42, 0x95, 0x78, 0xB0, 0xA5, 0xB0, 0x63, 0x00, 0x45, 0xA5, 0xE0, + 0x78, 0xA3, 0xB0, 0x84, 0xD5, 0x14, 0x37, 0xE0, 0xD4, 0xC1, 0x10, 0x85, 0x18, 0x8F, 0x95, 0xE0, 0xBD, 0xE0, 0xD3, 0x60, 0x08, 0x8F, 0x88, 0xA4, 0xC8, 0xA5, 0x65, 0x05, 0x27, 0x04, 0xB0, 0x21, + 0x63, 0xE5, 0x8B, 0x06, 0x00, 0x25, 0x10, 0x86, 0xA0, 0xAD, 0x08, 0x45, 0x44, 0xCD, 0xA0, 0xA7, 0x44, 0x87, 0x00, 0xED, 0xB2, 0x53, 0x6D, 0x0D, 0x95, 0xD4, 0x44, 0x0D, 0x6D, 0xED, 0x12, 0x74, + 0x45, 0xB3, 0x45, 0xB4, 0x02, 0x69, 0xD3, 0x60, 0x02, 0x9A, 0xB0, 0x42, 0x95, 0x78, 0xB0, 0xA5, 0xB0, 0x63, 0x00, 0x45, 0xA5, 0xE0, 0x78, 0xA3, 0xB0, 0x84, 0xD5, 0x14, 0x37, 0xE0, 0xD4, 0xC1, + 0x10, 0x85, 0x18, 0x8F, 0x95, 0xE0, 0xBD, 0xE0, 0xD3, 0x60, 0x08, 0x8F, 0x88, 0xA4, 0xC8, 0xA5, 0x65, 0x05, 0x27, 0x04, 0xB0, 0x21, 0x8B, 0x06, 0x00, 0x25, 0x10, 0x86, 0x9C, 0xAD, 0x08, 0x25, + 0x63, 0x0D, 0x44, 0xCD, 0x9C, 0xA7, 0x63, 0x07, 0x44, 0x87, 0x00, 0xED, 0xB2, 0x53, 0x6D, 0x0D, 0x95, 0xD4, 0x44, 0x0D, 0x6D, 0xED, 0x12, 0x74, 0x45, 0xB3, 0x45, 0xB4, 0x02, 0x69, 0xD3, 0x60, + 0x02, 0x9A, 0xB0, 0x42, 0x89, 0xF8, 0x09, 0x98, 0xA7, 0x03, 0x08, 0x98, 0xA7, 0x04, 0x96, 0x61, 0xB0, 0xC6, 0xB0, 0xE7, 0x00, 0x62, 0xB1, 0xD2, 0x00, 0xE6, 0xB1, 0xF0, 0x8A, 0x55, 0xB1, 0x6B, + 0x02, 0x12, 0xB1, 0x8C, 0x01, 0x8B, 0xB1, 0x37, 0x00, 0x82, 0x02, 0xE6, 0x24, 0x22, 0x24, 0x26, 0xC8, 0x42, 0x24, 0x32, 0xC8, 0xC6, 0x24, 0x2B, 0xC9, 0xD2, 0x95, 0x74, 0xC9, 0x6B, 0x88, 0x53, + 0x65, 0x13, 0xA5, 0xEE, 0x26, 0x93, 0xB0, 0xA5, 0x12, 0x74, 0xB1, 0x4A, 0x66, 0x02, 0xB1, 0xAD, 0x66, 0x06, 0x8A, 0xB2, 0x66, 0x12, 0xB1, 0x08, 0x66, 0x0B, 0xB2, 0x11, 0x63, 0xC2, 0x65, 0xC1, + 0xE8, 0x55, 0x08, 0x82, 0x24, 0x22, 0xE8, 0x56, 0x63, 0xC6, 0x4A, 0xB4, 0x52, 0xD3, 0x4C, 0x15, 0xB2, 0x2E, 0x63, 0xCB, 0xE8, 0xC4, 0x63, 0xD2, 0xE9, 0x6C, 0xEA, 0x50, 0x6D, 0x15, 0x01, 0x48, + 0x44, 0xB5, 0x45, 0x04, 0x6D, 0xF5, 0x6C, 0xE4, 0xB2, 0x53, 0x45, 0xAC, 0x46, 0x30, 0x6D, 0xEC, 0x6C, 0xF0, 0xC8, 0x84, 0xC9, 0x30, 0x95, 0xD4, 0xC9, 0x4C, 0x12, 0x74, 0x46, 0xB3, 0x46, 0xB4, + 0x02, 0x69, 0xD3, 0x60, 0x02, 0x9A, 0x89, 0xF5, 0x8A, 0xB6, 0x09, 0x15, 0x09, 0x96, 0xA6, 0xA2, 0x09, 0x15, 0xA6, 0xC3, 0x09, 0x16, 0xA6, 0xA4, 0x09, 0x15, 0xA6, 0xC5, 0x00, 0x62, 0xA6, 0xA6, + 0x00, 0xC4, 0x96, 0x61, 0x95, 0x6A, 0xA5, 0xEE, 0x24, 0x22, 0xC8, 0x42, 0x88, 0x4C, 0x65, 0x0C, 0x25, 0x4C, 0x66, 0x02, 0x11, 0x8A, 0x63, 0xC2, 0x01, 0xC2, 0xA4, 0x43, 0xFC, 0x82, 0xA4, 0x4B, + 0x48, 0x6A, 0x51, 0x6C, 0x4C, 0x0D, 0x6D, 0x0D, 0x95, 0x6A, 0xB0, 0xE7, 0x78, 0x87, 0xB1, 0x08, 0xD5, 0x14, 0x37, 0xE5, 0xD4, 0xC1, 0x11, 0x04, 0x18, 0x8F, 0x95, 0xE0, 0xBD, 0xE0, 0xD3, 0x60, + 0x08, 0x8F, 0xC8, 0x84, 0x88, 0x8C, 0x65, 0x0C, 0xB0, 0x2E, 0x25, 0x4C, 0x66, 0x04, 0x11, 0x8A, 0x63, 0xC4, 0x01, 0xC4, 0xA4, 0x83, 0x08, 0x84, 0xA4, 0x8B, 0x48, 0x6A, 0x51, 0x6C, 0x4C, 0x0C, + 0x44, 0xAD, 0x6D, 0x0C, 0x6D, 0xED, 0x45, 0x8D, 0xB2, 0x53, 0x6D, 0xED, 0x95, 0xD4, 0x12, 0x74, 0x45, 0xB3, 0x45, 0xB4, 0x02, 0x69, 0xD3, 0x60, 0x02, 0x9A, 0x8A, 0x9E, 0xA7, 0xCC, 0x8A, 0xBC, + 0x63, 0xBC, 0x98, 0x1D, 0xB7, 0x94, 0x00, 0xF1, 0x03, 0x9D, 0x89, 0x3C, 0xA7, 0xBE, 0xBF, 0x9E, 0x08, 0x9D, 0x08, 0x9C, 0xA7, 0xBE, 0xBF, 0x9E, 0x08, 0x35, 0x3C, 0x75, 0x8A, 0x9E, 0x3C, 0x6C, + 0xA7, 0xFC, 0x39, 0x4C, 0x08, 0x5C, 0x08, 0x9F, 0xD3, 0x80, 0xBF, 0xCC, 0x98, 0x00, 0xA1, 0x14, 0x00, 0xF1, 0x98, 0x01, 0x00, 0x00, 0x00, 0x00, 0xBC, 0x01, 0xE4, 0x00, 0xE4, 0x00, 0xE4, 0x00, + 0xE4, 0x00, 0x8A, 0x9E, 0xA7, 0xD6, 0x3C, 0x76, 0x3C, 0xD6, 0x39, 0x76, 0x3D, 0xD6, 0xBF, 0xD6, 0xE4, 0x00, 0x08, 0x24, 0xA4, 0xA6, 0x78, 0x86, 0xD4, 0xD8, 0xE4, 0x00, 0x98, 0x17, 0xB7, 0x12, + 0x00, 0xF1, 0xD2, 0xE0, 0xE4, 0x00, 0x08, 0x85, 0xA4, 0xA6, 0x08, 0x85, 0x88, 0xC7, 0x63, 0xA7, 0x67, 0xA7, 0x88, 0x7B, 0x08, 0x9B, 0x43, 0x67, 0x00, 0x07, 0x37, 0xE6, 0xD4, 0xC1, 0xE4, 0x00, + 0x98, 0x19, 0xB6, 0x58, 0x00, 0xF1, 0xD3, 0x20, 0xE4, 0x00, 0xA4, 0xF9, 0x37, 0xF9, 0xD4, 0xE1, 0xE4, 0x00, 0x19, 0x05, 0x98, 0x19, 0xB7, 0x12, 0x00, 0xF1, 0xD3, 0x20, 0xBC, 0xEF, 0x88, 0xD9, + 0x63, 0x59, 0x67, 0x99, 0x88, 0xDA, 0x62, 0xDA, 0x66, 0x5A, 0x25, 0x66, 0x63, 0x86, 0x98, 0x17, 0xE0, 0x00, 0x00, 0x0F, 0x43, 0x3B, 0x03, 0x77, 0xA6, 0xE8, 0x98, 0x1B, 0xB7, 0x50, 0x00, 0xF1, + 0x03, 0x68, 0xA5, 0x08, 0x98, 0x1B, 0x00, 0x13, 0x00, 0x00, 0x98, 0x19, 0x00, 0x50, 0x00, 0x00, 0x03, 0x37, 0x03, 0x27, 0x18, 0x97, 0x18, 0x87, 0xA6, 0xF9, 0xBC, 0xF9, 0x18, 0x3B, 0xD7, 0x74, + 0x18, 0x97, 0x98, 0x19, 0xB7, 0x12, 0x00, 0xF1, 0xD1, 0x00, 0xE4, 0x00, 0x63, 0x1A, 0x0A, 0x07, 0xBC, 0xFA, 0x09, 0x07, 0xA4, 0xFA, 0x03, 0x46, 0xD3, 0x20, 0xBC, 0xE6, 0x0A, 0x07, 0x8B, 0x5B, + 0x63, 0x1A, 0xBC, 0xFA, 0x09, 0x07, 0xA4, 0xFA, 0x03, 0x46, 0xBC, 0xE6, 0x09, 0x07, 0xA4, 0xF7, 0x37, 0xF7, 0xD4, 0x42, 0x43, 0x77, 0xBC, 0xF7, 0x0A, 0x87, 0xA4, 0xF7, 0x37, 0xF7, 0xD4, 0x42, + 0x43, 0x77, 0xBC, 0xF7, 0x09, 0x87, 0xA4, 0xF7, 0x37, 0xF7, 0xD4, 0x42, 0x43, 0x77, 0xBC, 0xF7, 0xD3, 0x20, 0xE4, 0x00, 0x08, 0x07, 0xA4, 0xF7, 0x37, 0xF7, 0xD4, 0x42, 0x43, 0x57, 0xBC, 0xF7, + 0x63, 0x1A, 0x1A, 0x07, 0xBC, 0xFA, 0x09, 0x07, 0xA4, 0xFA, 0x03, 0x46, 0xD3, 0x20, 0xBC, 0xE6, 0x09, 0x87, 0xBC, 0xFA, 0x19, 0x07, 0xA4, 0xFA, 0x03, 0x46, 0xD3, 0x20, 0xBC, 0xE6, 0x63, 0x1A, + 0x09, 0x07, 0x3B, 0xFA, 0xBC, 0xFA, 0x18, 0x87, 0xD3, 0x20, 0xBC, 0xE6, 0x88, 0xD7, 0x67, 0xB7, 0xD4, 0xC1, 0xE4, 0x00, 0x98, 0x08, 0xB6, 0xB8, 0x00, 0xF1, 0xD1, 0x00, 0xE4, 0x00, 0x98, 0x19, + 0xB6, 0xA6, 0x00, 0xF1, 0x7C, 0x77, 0xD3, 0x22, 0x7C, 0x57, 0xD3, 0x22, 0xE4, 0x00, 0xD3, 0x20, 0xE4, 0x00, 0x36, 0xA6, 0xD5, 0x42, 0x03, 0x67, 0x18, 0x87, 0x25, 0xC6, 0x02, 0xE7, 0x98, 0x19, + 0xB7, 0x12, 0x00, 0xF1, 0xBC, 0xE6, 0xD3, 0x20, 0xE4, 0x00, 0x88, 0xD9, 0x63, 0x59, 0x67, 0x99, 0x98, 0x17, 0xE0, 0x00, 0x00, 0x0F, 0x43, 0x3B, 0x03, 0x77, 0x63, 0xA6, 0x6D, 0x06, 0x00, 0xC5, + 0xA4, 0xA4, 0x28, 0x84, 0x98, 0x19, 0xB7, 0x12, 0x00, 0xF1, 0xD3, 0x20, 0xA4, 0xE8, 0x98, 0x1B, 0xB7, 0x74, 0x00, 0xF1, 0x03, 0x68, 0xA5, 0x08, 0x98, 0x19, 0xB7, 0x12, 0x00, 0xF1, 0xD1, 0x00, + 0xE4, 0x00, 0x0B, 0x07, 0xA4, 0xE8, 0x3F, 0xE8, 0xBC, 0xE8, 0x0A, 0x07, 0xA4, 0xE8, 0x19, 0x07, 0xD3, 0x20, 0xBC, 0xE8, 0x0B, 0x07, 0xA4, 0xE8, 0x3F, 0xE8, 0xBC, 0xE8, 0x08, 0x07, 0x08, 0x87, + 0xA4, 0xE8, 0x19, 0x87, 0xD3, 0x20, 0xBC, 0xE8, 0x09, 0x07, 0xA4, 0xE8, 0x3F, 0xE8, 0xD3, 0x20, 0xBC, 0xE8, 0x08, 0x87, 0xA4, 0xE8, 0x3F, 0xE8, 0xBC, 0xE8, 0x0B, 0x87, 0xA4, 0xE8, 0x1A, 0x07, + 0xD3, 0x20, 0xBC, 0xE8, 0xBC, 0xEF, 0x8A, 0x87, 0xA7, 0xFB, 0x3C, 0x76, 0x38, 0xD6, 0x39, 0xD6, 0x08, 0x5B, 0x08, 0x9F, 0xD3, 0x60, 0xBC, 0xF6, 0x00, 0x00, 0x00, 0x01, 0x00, 0xF1, 0xB0, 0xF6, + 0x00, 0xF1, 0xB0, 0xFC, 0x00, 0xF1, 0xB2, 0x4C, 0x00, 0xF1, 0xB1, 0xE8, 0x00, 0xF1, 0xB3, 0x00, 0x00, 0xF1, 0xB3, 0xAE, 0x00, 0xF1, 0xB1, 0x2E, 0x00, 0xF1, 0xB4, 0x52, 0x00, 0xF1, 0xB3, 0x56, + 0x00, 0xF1, 0xB7, 0x12, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF1, 0xB6, 0x20, 0x00, 0xF1, 0xB6, 0x20, 0x00, 0xF1, 0xB6, 0x3C, 0x00, 0xF1, 0xB5, 0xE8, 0x00, 0xF1, 0xB6, 0x4A, 0x00, 0xF1, 0xB5, 0xD8, + 0x00, 0xF1, 0xB6, 0x3C, 0x00, 0xF1, 0xB7, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF1, 0xB6, 0xE0, 0x00, 0xF1, 0xB7, 0x10, 0x00, 0xF1, 0xB6, 0xFE, 0x00, 0xF1, 0xB7, 0x10, 0x00, 0xF1, 0xB6, 0xF4, + 0x00, 0xF1, 0xB6, 0xCE, 0x00, 0xF1, 0xB6, 0xFE, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x05, 0xBF, 0x1C, 0x00, 0x00, 0x00, 0x21, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, + 0x84, 0x05, 0x6C, 0x24, 0x00, 0x00, 0x00, 0x51, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x60, 0x88, 0x05, 0x1E, 0x28, 0x00, 0x00, 0x00, 0x81, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x90, + 0x8C, 0x04, 0xD5, 0x24, 0x00, 0x00, 0x00, 0xB1, 0x0C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC0, 0x90, 0x04, 0x8F, 0x20, 0x00, 0x00, 0x00, 0xE1, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF0, + 0x94, 0x04, 0x4E, 0x20, 0x00, 0x00, 0x01, 0x11, 0x14, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x20, 0x98, 0x42, 0xDF, 0x20, 0x00, 0x00, 0x01, 0x20, 0x9C, 0x04, 0x10, 0x20, 0x00, 0x00, 0x01, 0x41, + 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x41, 0x1C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x50, 0x80, 0x42, 0xB6, 0x28, 0x00, 0x00, 0x01, 0x50, 0x84, 0x03, 0xD6, 0x1C, 0x00, 0x00, 0x01, 0x71, + 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x71, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x80, 0x88, 0x03, 0x9E, 0x1C, 0x00, 0x00, 0x01, 0x80, 0x8C, 0x42, 0x8F, 0x2C, 0x00, 0x00, 0x01, 0xA1, + 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xA1, 0x0C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xB0, 0x90, 0x03, 0x6A, 0x20, 0x00, 0x00, 0x01, 0xB0, 0x94, 0x42, 0x6A, 0x30, 0x00, 0x00, 0x01, 0xD1, + 0x14, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xD1, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xE0, 0x98, 0x03, 0x39, 0x20, 0x00, 0x00, 0x01, 0xE0, 0x9C, 0x42, 0x48, 0x30, 0x00, 0x00, 0x02, 0x01, + 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x01, 0x1C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x10, 0x80, 0x03, 0x0B, 0x24, 0x00, 0x00, 0x02, 0x10, 0x84, 0x42, 0x27, 0x30, 0x00, 0x00, 0x02, 0x31, + 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x31, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x40, 0x88, 0x02, 0xDF, 0x28, 0x00, 0x00, 0x02, 0x40, 0x8C, 0x42, 0x08, 0x2C, 0x00, 0x00, 0x02, 0x61, + 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x61, 0x0C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x70, 0x90, 0x41, 0xEB, 0x3C, 0x00, 0x00, 0x02, 0x70, 0x94, 0x02, 0xB6, 0x30, 0x00, 0x00, 0x02, 0x91, + 0x14, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x91, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xA0, 0x98, 0x41, 0xCF, 0x48, 0x00, 0x00, 0x02, 0xA0, 0x9C, 0x02, 0x8F, 0x34, 0x00, 0x00, 0x02, 0xC1, + 0x1C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xC1, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xD0, 0x80, 0x02, 0x6A, 0x3C, 0x00, 0x00, 0x02, 0xD0, 0x84, 0x41, 0xB5, 0x48, 0x00, 0x00, 0x02, 0xF1, + 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xF1, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x88, 0x02, 0x48, 0x40, 0x00, 0x00, 0x03, 0x00, 0x8C, 0x41, 0x9D, 0x48, 0x00, 0x00, 0x03, 0x21, + 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x21, 0x0C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x30, 0x90, 0x41, 0x86, 0x48, 0x00, 0x00, 0x03, 0x30, 0x94, 0x02, 0x27, 0x40, 0x00, 0x00, 0x03, 0x51, + 0x14, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x51, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x60, 0x98, 0x41, 0x70, 0x48, 0x00, 0x00, 0x03, 0x60, 0x9C, 0x02, 0x08, 0x40, 0x00, 0x00, 0x03, 0x60, + 0x80, 0xC0, 0x9B, 0x48, 0x00, 0x00, 0x03, 0x81, 0x1C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x81, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x90, 0x84, 0x01, 0xEB, 0x3C, 0x00, 0x00, 0x03, 0x90, + 0x88, 0x41, 0x5B, 0x48, 0x00, 0x00, 0x03, 0xA9, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0xB1, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0xB1, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0xC0, + 0x8C, 0x41, 0x48, 0x48, 0x00, 0x00, 0x03, 0xC0, 0x90, 0xC0, 0xA4, 0x48, 0x00, 0x00, 0x03, 0xC0, 0x94, 0x01, 0xCF, 0x34, 0x00, 0x00, 0x03, 0xE1, 0x0C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0xE1, + 0x14, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0xF0, 0x98, 0x41, 0x35, 0x48, 0x00, 0x00, 0x03, 0xF0, 0x9C, 0x01, 0xB5, 0x30, 0x00, 0x00, 0x04, 0x05, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x11, + 0x1C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x11, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x20, 0x80, 0x01, 0x9D, 0x30, 0x00, 0x00, 0x04, 0x20, 0x84, 0x41, 0x24, 0x48, 0x00, 0x00, 0x04, 0x20, + 0x88, 0xC0, 0xAE, 0x48, 0x00, 0x00, 0x04, 0x41, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x41, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x50, 0x8C, 0x01, 0x86, 0x30, 0x00, 0x00, 0x04, 0x50, + 0x90, 0x41, 0x13, 0x48, 0x00, 0x00, 0x04, 0x6D, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x71, 0x0C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x71, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x80, + 0x94, 0x41, 0x04, 0x48, 0x00, 0x00, 0x04, 0x80, 0x98, 0x01, 0x70, 0x38, 0x00, 0x00, 0x04, 0x80, 0x9C, 0xC0, 0xB8, 0x48, 0x00, 0x00, 0x04, 0xA1, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0xA1, + 0x14, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0xB0, 0x80, 0x01, 0x5B, 0x40, 0x00, 0x00, 0x04, 0xB0, 0x84, 0x40, 0xF5, 0x48, 0x00, 0x00, 0x04, 0xC5, 0x1C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0xD1, + 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0xD1, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0xE0, 0x88, 0x40, 0xE8, 0x48, 0x00, 0x00, 0x04, 0xE0, 0x8C, 0xC0, 0xC3, 0x48, 0x00, 0x00, 0x04, 0xE0, + 0x90, 0x01, 0x48, 0x44, 0x00, 0x00, 0x05, 0x01, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x01, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x10, 0x94, 0x01, 0x35, 0x48, 0x00, 0x00, 0x05, 0x10, + 0x98, 0x40, 0xDB, 0x48, 0x00, 0x00, 0x05, 0x2D, 0x0C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x31, 0x14, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x31, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x40, + 0x9C, 0xC0, 0xCE, 0x48, 0x00, 0x00, 0x05, 0x40, 0x80, 0x40, 0xCE, 0x48, 0x00, 0x00, 0x05, 0x40, 0x84, 0x01, 0x24, 0x48, 0x00, 0x00, 0x05, 0x61, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x61, + 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x70, 0x88, 0x01, 0x13, 0x48, 0x00, 0x00, 0x05, 0x70, 0x8C, 0x40, 0xC3, 0x48, 0x00, 0x00, 0x05, 0x89, 0x1C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x91, + 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x91, 0x0C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0xA0, 0x90, 0x01, 0x04, 0x48, 0x00, 0x00, 0x05, 0xA0, 0x94, 0xC0, 0xDB, 0x48, 0x00, 0x00, 0x05, 0xA0, + 0x98, 0x40, 0xB8, 0x48, 0x00, 0x00, 0x05, 0xC1, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0xC1, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0xD0, 0x9C, 0x00, 0xF5, 0x48, 0x00, 0x00, 0x05, 0xD0, + 0x80, 0x40, 0xAE, 0x48, 0x00, 0x00, 0x05, 0xED, 0x14, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0xF1, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0xF1, 0x1C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x00, + 0x85, 0x82, 0x6A, 0x48, 0x00, 0x00, 0x06, 0x00, 0x89, 0x80, 0xE8, 0x48, 0x00, 0x00, 0x06, 0x00, 0x8D, 0x41, 0xCF, 0x7F, 0x00, 0x00, 0x06, 0x00, 0x91, 0xC0, 0xE8, 0x48, 0x00, 0x00, 0x06, 0x3D, + 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x40, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x45, 0x0C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x60, 0x95, 0x41, 0x35, 0x7F, 0x00, 0x00, 0x06, 0x7D, + 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0xA5, 0x14, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0xC0, 0x99, 0x80, 0xC3, 0x48, 0x00, 0x00, 0x06, 0xC0, 0x9D, 0x41, 0x86, 0x7F, 0x00, 0x00, 0x07, 0x00, + 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x05, 0x1C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x20, 0x81, 0x41, 0xCF, 0x7F, 0x00, 0x00, 0x07, 0x65, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x7E, + 0x85, 0xC0, 0x9B, 0x48, 0x00, 0x00, 0x07, 0x80, 0x89, 0x82, 0x27, 0x48, 0x00, 0x00, 0x07, 0x80, 0x8D, 0x42, 0x27, 0x7F, 0x00, 0x00, 0x07, 0xC5, 0x0C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0xC7, + 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0xD3, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0xE0, 0x91, 0x42, 0x08, 0x7F, 0x00, 0x00, 0x08, 0x25, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x40, + 0x95, 0x41, 0xCF, 0x7F, 0x00, 0x00, 0x08, 0x85, 0x14, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x98, 0x99, 0xC0, 0x67, 0x48, 0x00, 0x00, 0x08, 0xA0, 0x9D, 0x80, 0xCE, 0x48, 0x00, 0x00, 0x08, 0xA0, + 0x81, 0x82, 0x08, 0x48, 0x00, 0x00, 0x08, 0xA0, 0x85, 0x41, 0x9D, 0x7F, 0x00, 0x00, 0x08, 0xFC, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x09, 0x21, 0x1C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x09, 0x21, + 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x09, 0x62, 0x89, 0x00, 0x7B, 0x52, 0x00, 0x00, 0x09, 0xA5, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x09, 0xB4, 0x08, 0x00, 0x00, 0x00, 0x7F, 0xFF, 0xFF, 0xFF, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x95, 0x90, 0x00, 0x00, 0x9A, 0x78, 0x00, 0x00, 0x95, 0x90, 0x00, 0x00, 0x9D, 0x10, 0x00, 0x00, 0xAC, 0x40, 0x00, 0x00, 0xAD, 0x78, + 0x00, 0x00, 0xAF, 0x38, 0x00, 0x00, 0xAD, 0x78, 0x00, 0x00, 0xB0, 0x20, 0x00, 0x00, 0xB5, 0x60, 0x00, 0x00, 0x5C, 0xCC, 0x00, 0x00, 0x5D, 0x64, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x79, 0x28, 0x00, 0x01, 0x00, 0x00, 0x00, 0x40, 0x00, 0xFF, 0x00, 0x00, 0x40, 0x00, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, + 0x00, 0x00, 0xF9, 0x10, 0x00, 0x00, 0xFA, 0xD0, 0x00, 0x00, 0xFC, 0x90, 0x00, 0x00, 0xFE, 0x50, 0x00, 0x01, 0x00, 0x10, 0x00, 0x01, 0x01, 0xD0, 0x00, 0x01, 0x03, 0x90, 0x00, 0x01, 0x05, 0x50, + 0x00, 0x01, 0x07, 0x10, 0x00, 0x01, 0x08, 0xD0, 0x00, 0x01, 0x0A, 0x90, 0x00, 0x00, 0xF9, 0x10, 0x00, 0xF0, 0x30, 0x00, 0x00, 0x00, 0x0B, 0xA0, 0x8C, 0x22, 0x20, 0x02, 0x88, 0x43, 0x62, 0x02, + 0x66, 0x03, 0x98, 0x1E, 0x31, 0x3E, 0x00, 0xF0, 0x98, 0x0A, 0x21, 0x04, 0x00, 0xF0, 0x98, 0x00, 0x00, 0x03, 0x00, 0x00, 0x98, 0x12, 0x21, 0x08, 0x00, 0xF0, 0xBD, 0x40, 0x98, 0x0A, 0x3F, 0xEC, + 0x00, 0xF0, 0x98, 0x1C, 0x3B, 0x40, 0x00, 0xF0, 0xA5, 0x57, 0x98, 0x08, 0x3B, 0x10, 0x00, 0xF0, 0x98, 0x0A, 0x3F, 0xF0, 0x00, 0xF0, 0x98, 0x1B, 0x3B, 0x70, 0x00, 0xF0, 0xA5, 0x49, 0x8D, 0x3D, + 0x8B, 0x8A, 0x89, 0x04, 0xA1, 0x20, 0xA2, 0xE1, 0x08, 0x49, 0x08, 0x57, 0x62, 0x00, 0x62, 0x01, 0x6E, 0x00, 0x6E, 0x01, 0xBC, 0x80, 0xBD, 0x41, 0x18, 0x3D, 0x0C, 0x84, 0xD6, 0x61, 0x08, 0x8A, + 0x8C, 0x7D, 0xA1, 0x20, 0xA2, 0xE1, 0x08, 0x49, 0x08, 0x57, 0x62, 0x01, 0x62, 0x00, 0x6E, 0x01, 0x6E, 0x00, 0xBC, 0x81, 0x08, 0x84, 0x10, 0x20, 0x18, 0x3D, 0xBD, 0x40, 0xD6, 0x41, 0x08, 0x8A, + 0x8B, 0x97, 0x89, 0x09, 0xCC, 0x1F, 0xD3, 0xC0, 0x08, 0xDF, 0x89, 0x09, 0xCC, 0x1F, 0xD3, 0xC0, 0x08, 0xDF, 0x89, 0x09, 0xCC, 0x1F, 0xD3, 0xC0, 0x08, 0xDF, 0x8B, 0x89, 0xCC, 0x1F, 0xD3, 0xC0, + 0x08, 0xDF, 0x8B, 0x8A, 0x19, 0x8A, 0xA5, 0x4F, 0x08, 0x8A, 0xA5, 0x50, 0x08, 0x8A, 0xA5, 0x51, 0x98, 0x00, 0x3F, 0xF4, 0x00, 0xF0, 0x0A, 0x9E, 0xA4, 0x17, 0x98, 0x05, 0x30, 0xCE, 0x00, 0xF0, + 0xA2, 0xF6, 0x08, 0x57, 0x63, 0x16, 0xA2, 0xE0, 0x08, 0x57, 0x7C, 0x00, 0xBF, 0x60, 0x0C, 0x9B, 0xD4, 0xC1, 0x35, 0xE0, 0x98, 0x00, 0x31, 0x34, 0x00, 0xF0, 0xD0, 0x00, 0xE4, 0x00, 0xD5, 0xC1, + 0xA2, 0xEB, 0x08, 0x57, 0xA2, 0xE0, 0x08, 0x57, 0x62, 0x00, 0xA2, 0xEC, 0x28, 0x0B, 0x08, 0x57, 0x8B, 0x89, 0xCC, 0x1F, 0xD3, 0xC0, 0x08, 0xDF, 0xD0, 0xA0, 0xE4, 0x00, 0x08, 0x57, 0x62, 0x0B, + 0xA2, 0xF4, 0x08, 0x57, 0x62, 0x14, 0xA2, 0xF5, 0x08, 0x57, 0x62, 0x15, 0x6E, 0x0B, 0x6E, 0x14, 0x6E, 0x15, 0x11, 0xEB, 0x12, 0x14, 0x12, 0x35, 0x24, 0x6B, 0x62, 0x14, 0x8A, 0xAC, 0x2A, 0x8B, + 0x8B, 0x89, 0xCC, 0x1F, 0xD3, 0xC0, 0x08, 0xDF, 0xD0, 0xA0, 0xE4, 0x00, 0x98, 0x00, 0x31, 0x88, 0x00, 0xF0, 0xD0, 0x00, 0xE4, 0x00, 0xA6, 0xEB, 0x08, 0x97, 0x24, 0x6B, 0xA6, 0xE0, 0x08, 0x97, + 0x62, 0x00, 0xA6, 0xEC, 0x28, 0x0B, 0x08, 0x97, 0x24, 0x6C, 0xBE, 0x49, 0x91, 0x6B, 0x91, 0x8C, 0xE4, 0x00, 0xD9, 0x6D, 0x6D, 0xCD, 0xBF, 0x6D, 0x08, 0x9B, 0x09, 0x89, 0xBE, 0x49, 0x91, 0x6B, + 0x91, 0x8C, 0xE4, 0x00, 0xD9, 0x6D, 0x6D, 0xCD, 0xBF, 0x6D, 0x08, 0x9B, 0x09, 0x89, 0xBE, 0x49, 0x91, 0x6B, 0x91, 0x8C, 0xE4, 0x00, 0xD9, 0x6D, 0x6D, 0xCD, 0xBF, 0x6D, 0xD3, 0xE0, 0x08, 0x9B, + 0x98, 0x08, 0x3B, 0x70, 0x00, 0xF0, 0x98, 0x00, 0x3F, 0xE8, 0x00, 0xF0, 0xA4, 0x0A, 0x08, 0x4A, 0xA1, 0x46, 0x09, 0x4A, 0xA5, 0x47, 0x89, 0x0A, 0x0A, 0x4A, 0x0A, 0x4A, 0xA5, 0x4F, 0x08, 0x8A, + 0xA5, 0x50, 0x08, 0x8A, 0xA5, 0x51, 0x98, 0x1F, 0x3B, 0xA0, 0x00, 0xF0, 0x98, 0x1D, 0x32, 0xCE, 0x00, 0xF0, 0x98, 0x1E, 0x32, 0xAA, 0x00, 0xF0, 0x98, 0x1C, 0x32, 0x56, 0x00, 0xF0, 0x98, 0x05, + 0x31, 0xCE, 0x00, 0xF0, 0x88, 0xEA, 0xA5, 0x4B, 0x08, 0x8A, 0xA5, 0x4C, 0x08, 0x8A, 0x76, 0x0B, 0x89, 0x98, 0x66, 0x0C, 0x89, 0x09, 0xBE, 0x49, 0x91, 0x6B, 0x91, 0x8C, 0xE4, 0x00, 0xD9, 0x73, + 0x09, 0x89, 0x6D, 0xD3, 0xBE, 0x49, 0x01, 0xF3, 0x91, 0x6B, 0x91, 0x8C, 0xE4, 0x00, 0xD9, 0x74, 0x8A, 0x60, 0x6D, 0xD4, 0x62, 0x00, 0x02, 0x14, 0x09, 0x89, 0x8A, 0x81, 0xBE, 0x49, 0x24, 0x61, + 0x91, 0x6B, 0x28, 0x20, 0x91, 0x8C, 0xBC, 0xE0, 0x08, 0x87, 0xE4, 0x00, 0xD9, 0x75, 0x6D, 0xD5, 0xA5, 0x4C, 0x02, 0x35, 0x08, 0x8A, 0x89, 0x8B, 0x24, 0x78, 0x24, 0x4B, 0x24, 0x6C, 0x2B, 0x0B, + 0x89, 0x09, 0x91, 0x6B, 0xBE, 0x49, 0x91, 0x8C, 0xE4, 0x00, 0xD9, 0x78, 0x09, 0x89, 0x6D, 0xD8, 0xBE, 0x49, 0x91, 0x6B, 0x91, 0x8C, 0xE4, 0x00, 0xD9, 0x79, 0x09, 0x89, 0x6D, 0xD9, 0xBE, 0x49, + 0x91, 0x6B, 0x91, 0x8C, 0xE4, 0x00, 0xD9, 0x7A, 0x6D, 0xDA, 0x8B, 0xF7, 0x8A, 0xCE, 0xA6, 0xED, 0x08, 0x97, 0x7C, 0x0D, 0xD4, 0x61, 0x35, 0xED, 0xD3, 0xA0, 0xE4, 0x00, 0xD4, 0x61, 0x3D, 0xED, + 0xD3, 0xC0, 0xE4, 0x00, 0xA6, 0xEB, 0x08, 0x97, 0x12, 0x6B, 0x89, 0x6C, 0x45, 0x6B, 0x47, 0x0C, 0xA6, 0xE0, 0x08, 0x97, 0x12, 0x80, 0x88, 0x01, 0x44, 0x00, 0x47, 0x21, 0x00, 0x0B, 0x00, 0x2C, + 0xA6, 0xE0, 0x08, 0x97, 0x12, 0xA0, 0x88, 0x01, 0x44, 0x00, 0x47, 0x41, 0x00, 0x0B, 0x00, 0x2C, 0xD4, 0xD8, 0x65, 0x8B, 0x08, 0x2B, 0x55, 0x6C, 0x41, 0xAC, 0x64, 0xCC, 0x01, 0x8E, 0xD3, 0x80, + 0xE4, 0x00, 0xA6, 0xE1, 0x08, 0x97, 0x47, 0x01, 0xA6, 0xE0, 0x08, 0x97, 0x47, 0x20, 0x00, 0x01, 0xA6, 0xE0, 0x08, 0x97, 0x47, 0x40, 0x00, 0x01, 0x6D, 0xC1, 0xD4, 0x78, 0x41, 0xA1, 0x64, 0xC1, + 0x00, 0x2E, 0xD3, 0x80, 0xE4, 0x00, 0x78, 0x6E, 0xD4, 0x58, 0xE4, 0x00, 0x88, 0x6E, 0x62, 0x15, 0x2A, 0xAE, 0xBC, 0xEE, 0x08, 0x87, 0x18, 0x26, 0xD0, 0xA1, 0xE4, 0x00, 0x8C, 0x3E, 0x62, 0x7E, + 0x98, 0x17, 0x3B, 0xA0, 0x00, 0xF0, 0x98, 0x00, 0x3F, 0xE8, 0x00, 0xF0, 0xA4, 0x1B, 0x08, 0x5B, 0xA3, 0x7A, 0x08, 0x5B, 0xA3, 0x7C, 0x08, 0x9B, 0xA7, 0x78, 0x08, 0x9B, 0xA7, 0x79, 0x8B, 0x45, + 0x8B, 0x3B, 0x98, 0x1F, 0x33, 0x10, 0x00, 0xF0, 0xA7, 0x72, 0x8A, 0x53, 0x6E, 0x12, 0x62, 0x13, 0x08, 0x9B, 0x6E, 0x13, 0xA7, 0x74, 0x08, 0x9B, 0x6E, 0x14, 0x58, 0x14, 0xD4, 0x44, 0x8C, 0x1D, + 0x08, 0x3D, 0x8A, 0x40, 0x58, 0x00, 0x78, 0x14, 0xD4, 0x94, 0x7C, 0x12, 0xD4, 0x54, 0x09, 0x1D, 0x09, 0x1D, 0x8A, 0x60, 0x58, 0x00, 0x78, 0x14, 0xD4, 0x94, 0x7C, 0x13, 0xD4, 0x54, 0x08, 0x5D, + 0x08, 0x5D, 0xBE, 0xFD, 0x18, 0x25, 0xD3, 0xE1, 0x08, 0x97, 0x98, 0x17, 0x3B, 0xA0, 0x00, 0xF0, 0x98, 0x05, 0x35, 0xF6, 0x00, 0xF0, 0x98, 0x1D, 0x35, 0x68, 0x00, 0xF0, 0x98, 0x1B, 0x33, 0xF0, + 0x00, 0xF0, 0x98, 0x00, 0x3A, 0xF8, 0x00, 0xF0, 0x98, 0x1F, 0x33, 0x78, 0x00, 0xF0, 0x90, 0x00, 0x08, 0x98, 0xA7, 0x06, 0x88, 0xCC, 0x66, 0x06, 0x24, 0x6C, 0x88, 0xC1, 0x64, 0x21, 0x02, 0xE1, + 0xA4, 0x27, 0x89, 0x81, 0x64, 0x21, 0x02, 0xE1, 0xA4, 0x2D, 0x88, 0xE0, 0x29, 0xA0, 0xD0, 0xA2, 0x88, 0xE0, 0x25, 0xA0, 0xD4, 0x82, 0x8C, 0x20, 0xBF, 0x00, 0xD0, 0xA0, 0xE4, 0x00, 0x8C, 0x16, + 0x8B, 0x21, 0x00, 0xC1, 0xA4, 0x28, 0x08, 0x81, 0x89, 0x09, 0x6E, 0x08, 0x62, 0x09, 0x6E, 0x09, 0xA4, 0x2A, 0x89, 0x4B, 0x24, 0x6B, 0x6E, 0x0A, 0x7C, 0x07, 0xD4, 0x82, 0xE4, 0x00, 0x8B, 0x46, + 0x08, 0x3A, 0x63, 0xA6, 0x8B, 0x21, 0x01, 0x81, 0xA4, 0x2E, 0x08, 0x81, 0x89, 0xCF, 0x6E, 0x0E, 0x62, 0x0F, 0x6E, 0x0F, 0xA4, 0x30, 0x8A, 0x11, 0x24, 0x71, 0x6E, 0x10, 0x7C, 0x0D, 0xD4, 0x82, + 0xE4, 0x00, 0x8B, 0x4C, 0x08, 0x3A, 0x63, 0xAC, 0x88, 0xE0, 0x25, 0xA0, 0xD4, 0x82, 0x8C, 0x20, 0xBF, 0x00, 0xD0, 0xA0, 0xE4, 0x00, 0x34, 0x0D, 0x89, 0x21, 0xD4, 0x41, 0x7C, 0x07, 0xD5, 0xE1, + 0x88, 0xE0, 0x89, 0xA7, 0x88, 0x0D, 0x89, 0x00, 0x89, 0xC8, 0x88, 0x0E, 0x89, 0xE9, 0x88, 0x2F, 0x89, 0x40, 0x8A, 0x0A, 0x88, 0x10, 0x89, 0x60, 0x8A, 0x2B, 0x88, 0x11, 0x08, 0x36, 0x8C, 0x00, + 0x34, 0x07, 0xD5, 0x61, 0x34, 0x27, 0xD5, 0x01, 0x34, 0x47, 0xD4, 0xA1, 0x34, 0x67, 0xD4, 0x41, 0xE4, 0x00, 0x08, 0x80, 0x08, 0x80, 0x08, 0x80, 0x08, 0x80, 0x94, 0x01, 0x00, 0x01, 0xA4, 0x20, + 0xD0, 0x00, 0xE4, 0x00, 0x89, 0x00, 0x11, 0xC0, 0x8A, 0x04, 0x11, 0x44, 0x10, 0x80, 0x89, 0x41, 0x01, 0x01, 0x62, 0x41, 0x88, 0x15, 0x2C, 0x35, 0x58, 0x00, 0x58, 0x01, 0x54, 0x01, 0x37, 0xF5, + 0xD4, 0x42, 0xE4, 0x00, 0x20, 0x01, 0x44, 0x24, 0x03, 0xC4, 0x6D, 0xC4, 0x00, 0x8A, 0x89, 0x48, 0x20, 0x08, 0x89, 0xE0, 0x11, 0x20, 0x44, 0x20, 0x03, 0xC0, 0x6D, 0xC0, 0x00, 0x09, 0xD3, 0xA0, + 0xE4, 0x00, 0x89, 0xC0, 0x11, 0x00, 0x8A, 0x04, 0x11, 0x44, 0x10, 0x80, 0x89, 0x41, 0x11, 0x01, 0x62, 0x41, 0x88, 0x15, 0x2C, 0x35, 0x58, 0x00, 0x58, 0x01, 0x54, 0x01, 0x37, 0xF5, 0xD4, 0x42, + 0xE4, 0x00, 0x20, 0x01, 0x44, 0x24, 0x03, 0xC4, 0x6D, 0xC4, 0x00, 0x8A, 0x89, 0x48, 0x89, 0xE0, 0x11, 0x20, 0x44, 0x20, 0x03, 0xC0, 0x6D, 0xC0, 0x00, 0x09, 0xD3, 0xA0, 0xE4, 0x00, 0x89, 0xE0, + 0x11, 0x20, 0x8A, 0x04, 0x11, 0x44, 0x10, 0x80, 0x89, 0x41, 0x11, 0x21, 0x62, 0x41, 0x88, 0x15, 0x2C, 0x35, 0x58, 0x00, 0x58, 0x01, 0x54, 0x01, 0x37, 0xF5, 0xD4, 0x42, 0xE4, 0x00, 0x20, 0x01, + 0x44, 0x24, 0x03, 0xC4, 0x6D, 0xC4, 0x00, 0x8A, 0x89, 0x49, 0x89, 0xC0, 0x11, 0x00, 0x44, 0x20, 0x03, 0xC0, 0x6D, 0xC0, 0x00, 0x08, 0xD3, 0xA0, 0xE4, 0x00, 0x89, 0x20, 0x11, 0xE0, 0x8A, 0x04, + 0x11, 0x44, 0x10, 0x80, 0x89, 0x41, 0x01, 0x21, 0x62, 0x41, 0x88, 0x15, 0x2C, 0x35, 0x58, 0x00, 0x58, 0x01, 0x54, 0x01, 0x37, 0xF5, 0xD4, 0x42, 0xE4, 0x00, 0x20, 0x01, 0x44, 0x24, 0x03, 0xC4, + 0x6D, 0xC4, 0x00, 0x8A, 0x89, 0x49, 0x20, 0x09, 0x89, 0xC0, 0x11, 0x00, 0x44, 0x20, 0x03, 0xC0, 0x6D, 0xC0, 0x00, 0x08, 0xD3, 0xA0, 0xE4, 0x00, 0x8A, 0x00, 0x11, 0x40, 0x89, 0x41, 0x20, 0x01, + 0x08, 0x21, 0x62, 0x41, 0x54, 0x01, 0x8C, 0x2A, 0x89, 0xC0, 0x11, 0x00, 0x44, 0x20, 0x03, 0xC0, 0x6D, 0xC0, 0x00, 0x08, 0x89, 0xE0, 0x11, 0x20, 0x44, 0x20, 0x03, 0xC0, 0x6D, 0xC0, 0x00, 0x09, + 0x8A, 0x20, 0x11, 0x60, 0x6C, 0x20, 0x44, 0x20, 0x6D, 0xA0, 0x24, 0x60, 0x00, 0x0B, 0x89, 0x54, 0x58, 0x14, 0xD4, 0x44, 0x8C, 0x07, 0x08, 0x27, 0x89, 0x00, 0x58, 0x00, 0x78, 0x14, 0xD4, 0x94, + 0x7C, 0x08, 0xD4, 0x54, 0x09, 0x07, 0x09, 0x07, 0x89, 0x20, 0x58, 0x00, 0x78, 0x14, 0xD4, 0x94, 0x7C, 0x09, 0xD4, 0x54, 0x08, 0x47, 0x08, 0x47, 0x88, 0xE0, 0x29, 0xA0, 0xD4, 0x62, 0xE4, 0x00, + 0xD3, 0x60, 0xE4, 0x00, 0x34, 0x16, 0xD5, 0x82, 0x89, 0x00, 0x89, 0xC8, 0x88, 0x0E, 0x89, 0x20, 0x89, 0xE9, 0x88, 0x0F, 0x89, 0x40, 0x8A, 0x0A, 0x88, 0x10, 0x89, 0x60, 0x8A, 0x2B, 0x88, 0x11, + 0x8B, 0x21, 0x00, 0xC1, 0x62, 0x08, 0x24, 0x69, 0x29, 0x28, 0xBC, 0x28, 0x08, 0x81, 0x62, 0x0A, 0x29, 0x6A, 0xBC, 0x2A, 0x8B, 0x21, 0x01, 0x81, 0x62, 0x0E, 0x24, 0x6F, 0x29, 0xEE, 0xBC, 0x2E, + 0x08, 0x81, 0x62, 0x10, 0x2A, 0x30, 0xBC, 0x30, 0x62, 0x06, 0x29, 0x86, 0xBF, 0x06, 0x18, 0x3C, 0xD3, 0xE1, 0xE4, 0x00, 0x98, 0x00, 0x3F, 0xE8, 0x00, 0xF0, 0xA4, 0x1B, 0xA7, 0x60, 0x62, 0x00, + 0x2B, 0x40, 0xBF, 0x60, 0x98, 0x00, 0x3F, 0xE8, 0x00, 0xF0, 0xA4, 0x11, 0x08, 0x51, 0xA2, 0x3A, 0x08, 0x91, 0xA2, 0x3F, 0x08, 0x51, 0xA6, 0x3D, 0x08, 0x91, 0xA6, 0x3E, 0x08, 0x91, 0x2B, 0xDE, + 0x8A, 0x3C, 0x98, 0x07, 0x00, 0x9F, 0x00, 0x00, 0x98, 0x08, 0x00, 0x77, 0x00, 0x00, 0x98, 0x09, 0x00, 0x9F, 0x00, 0x00, 0x98, 0x0A, 0x00, 0x77, 0x00, 0x00, 0x98, 0x0B, 0x36, 0x4A, 0x00, 0xF0, + 0x8B, 0xD1, 0xA6, 0x24, 0x88, 0x85, 0x66, 0x04, 0x08, 0x91, 0x24, 0x65, 0xA6, 0x26, 0x18, 0x91, 0x66, 0x06, 0x44, 0xE4, 0x45, 0x05, 0x58, 0x04, 0xD4, 0x44, 0x54, 0xC4, 0x20, 0x04, 0x58, 0x05, + 0xD4, 0x44, 0x54, 0xC5, 0x20, 0x05, 0x01, 0x24, 0x01, 0x45, 0x62, 0x04, 0x28, 0x85, 0x18, 0x3A, 0xBE, 0x25, 0xD1, 0x61, 0x09, 0x11, 0x98, 0x00, 0x3F, 0xF8, 0x00, 0xF0, 0xA4, 0x01, 0x98, 0x11, + 0x22, 0x00, 0x00, 0xF0, 0xBE, 0x21, 0x98, 0x04, 0x22, 0x3C, 0x00, 0xF0, 0x98, 0x05, 0x22, 0x70, 0x00, 0xF0, 0x98, 0x06, 0x22, 0x0C, 0x00, 0xF0, 0x98, 0x08, 0x22, 0x68, 0x00, 0xF0, 0x98, 0x09, + 0x22, 0x38, 0x00, 0xF0, 0x98, 0x0A, 0x10, 0x08, 0x00, 0x01, 0x98, 0x0B, 0x39, 0x9A, 0x00, 0xF0, 0x98, 0x00, 0x22, 0x04, 0x00, 0xF0, 0x98, 0x01, 0x42, 0x20, 0x00, 0x00, 0x90, 0x0A, 0x90, 0x2C, + 0x98, 0x00, 0x42, 0x20, 0x00, 0x01, 0x98, 0x07, 0x22, 0x7C, 0x00, 0xF0, 0x90, 0x0B, 0x98, 0x00, 0x39, 0xF2, 0x00, 0xF0, 0x98, 0x01, 0x3A, 0x60, 0x00, 0xF0, 0x90, 0x0F, 0x90, 0x30, 0x8D, 0x01, + 0x08, 0x01, 0x90, 0x2E, 0xA3, 0x98, 0x08, 0x5C, 0xA3, 0x8C, 0x08, 0x5C, 0xA3, 0x80, 0x62, 0x00, 0x6E, 0x00, 0x58, 0x00, 0xD4, 0x84, 0x03, 0xA0, 0xA4, 0x15, 0xD4, 0x40, 0x76, 0x15, 0xA4, 0x15, + 0x66, 0x15, 0x88, 0x74, 0x98, 0x1B, 0x3B, 0xA0, 0x00, 0xF0, 0x88, 0x6F, 0x8C, 0x39, 0x8B, 0x7A, 0x98, 0x01, 0x37, 0x24, 0x00, 0xF0, 0x98, 0x10, 0x37, 0x82, 0x00, 0xF0, 0xA3, 0x91, 0x08, 0x5C, + 0x62, 0x11, 0x6E, 0x11, 0x8A, 0x20, 0x58, 0x11, 0x03, 0xB1, 0x7C, 0x00, 0xA6, 0x32, 0xD4, 0x54, 0x8A, 0x40, 0x76, 0x12, 0x8A, 0x53, 0x66, 0x12, 0x24, 0x73, 0x34, 0x00, 0xD4, 0xC2, 0xE4, 0x00, + 0x98, 0x00, 0x37, 0xB4, 0x00, 0xF0, 0xD0, 0x00, 0xE4, 0x00, 0x7A, 0x92, 0x8B, 0xD1, 0xD2, 0x02, 0x02, 0x51, 0xA6, 0x36, 0x08, 0x91, 0xBF, 0x56, 0x08, 0x9A, 0xA6, 0x20, 0xBF, 0x40, 0x08, 0x9A, + 0x8A, 0xD7, 0x66, 0x16, 0x24, 0x77, 0x7A, 0xEF, 0xD4, 0x61, 0xE4, 0x00, 0x7A, 0xCE, 0x0C, 0x39, 0xD4, 0x98, 0x18, 0x39, 0x8A, 0xEF, 0x8A, 0xCE, 0x8B, 0x4D, 0x8B, 0xD1, 0x8A, 0x74, 0x02, 0x71, + 0xA6, 0x36, 0x08, 0x91, 0xBF, 0x56, 0x08, 0x9A, 0xA6, 0x20, 0xBF, 0x40, 0x08, 0x9A, 0x8A, 0xD7, 0x66, 0x16, 0x24, 0x77, 0x7A, 0xEF, 0xD4, 0xA1, 0xE4, 0x00, 0x7A, 0xCE, 0xD4, 0xE2, 0xE4, 0x00, + 0x0C, 0x39, 0xD4, 0x98, 0x18, 0x39, 0x8A, 0xEF, 0x8A, 0xCE, 0x8B, 0x4D, 0x18, 0x38, 0xD0, 0x21, 0x7A, 0xB4, 0x1D, 0x1A, 0xD4, 0x41, 0x19, 0x0D, 0x19, 0x1A, 0x93, 0x80, 0x8B, 0x40, 0x93, 0xC2, + 0x13, 0x60, 0x93, 0xE3, 0x7D, 0x20, 0x93, 0xA1, 0xD4, 0xD4, 0xE4, 0x00, 0x98, 0x00, 0x3A, 0xD4, 0x00, 0xF0, 0xD0, 0x00, 0xE4, 0x00, 0x89, 0xF5, 0x89, 0x9D, 0x61, 0x1D, 0x67, 0x3D, 0x8C, 0x00, + 0xD4, 0x42, 0x8B, 0x7C, 0x08, 0x3D, 0x08, 0x9C, 0xA7, 0x81, 0x43, 0xA1, 0x64, 0xE1, 0x00, 0x20, 0x7B, 0x9A, 0xBF, 0x81, 0xD7, 0x34, 0x09, 0x1C, 0x34, 0x0C, 0xD5, 0x21, 0x13, 0x7C, 0x64, 0x7C, + 0x57, 0x80, 0x8B, 0x7C, 0x08, 0x9C, 0x7B, 0x9A, 0xBF, 0x80, 0xD7, 0xB4, 0x09, 0x1C, 0x65, 0x0C, 0x63, 0x0C, 0x89, 0x80, 0x62, 0x0C, 0x28, 0x0C, 0xA5, 0x21, 0x34, 0x01, 0xD7, 0xA2, 0x89, 0x00, + 0xBD, 0x0C, 0x08, 0x80, 0xBC, 0x0C, 0x7C, 0x19, 0x98, 0x00, 0x38, 0x64, 0x00, 0xF0, 0xD0, 0x18, 0xE4, 0x00, 0x62, 0x0E, 0x08, 0x8D, 0xA5, 0xB0, 0x19, 0x8D, 0x24, 0x70, 0x63, 0x10, 0x7B, 0x6D, + 0xD4, 0x54, 0xE4, 0x00, 0x8B, 0x4D, 0xA5, 0xB2, 0x24, 0x52, 0x08, 0x8D, 0xA5, 0xB4, 0x24, 0x74, 0x63, 0x14, 0x98, 0x00, 0x3A, 0x86, 0x00, 0xF0, 0xD0, 0x00, 0xE4, 0x00, 0x89, 0xB1, 0x89, 0xF3, + 0x89, 0xBC, 0x19, 0x1C, 0x7B, 0x7C, 0xD4, 0x54, 0xE4, 0x00, 0x8B, 0x5C, 0xA7, 0x97, 0x8A, 0xF6, 0x24, 0x77, 0x66, 0x16, 0x89, 0xBC, 0x09, 0x1C, 0x7B, 0x9A, 0xD4, 0x54, 0xE4, 0x00, 0x8B, 0x7C, + 0xA7, 0x80, 0x88, 0x01, 0x24, 0x60, 0x66, 0x01, 0x20, 0x00, 0x01, 0xE0, 0x20, 0x01, 0x01, 0xC1, 0x12, 0xCE, 0x12, 0xEF, 0x44, 0x2F, 0x44, 0x0E, 0x98, 0x00, 0x3A, 0xD4, 0x00, 0xF0, 0x79, 0xCF, + 0xD0, 0x18, 0xE4, 0x00, 0x8A, 0x6F, 0x7A, 0xAF, 0x98, 0x00, 0x39, 0x18, 0x00, 0xF0, 0xD0, 0x01, 0xE4, 0x00, 0x89, 0xBC, 0x19, 0x1C, 0x7B, 0x7C, 0xD4, 0x54, 0xE4, 0x00, 0x8B, 0x5C, 0xA7, 0x9D, + 0x24, 0x7D, 0x7B, 0xAF, 0xD4, 0x61, 0xE4, 0x00, 0xD6, 0xA0, 0x8B, 0x8D, 0xD4, 0xD8, 0xE4, 0x00, 0x98, 0x00, 0x3A, 0x86, 0x00, 0xF0, 0xD0, 0x00, 0xE4, 0x00, 0x8B, 0x80, 0xA7, 0x96, 0x08, 0x80, + 0xA5, 0xAE, 0x24, 0x56, 0x8B, 0xA1, 0x24, 0x4E, 0xA4, 0x17, 0x11, 0xD6, 0x11, 0xE1, 0x58, 0x16, 0x8B, 0xAF, 0xD4, 0x44, 0x54, 0x36, 0x20, 0x16, 0x24, 0x77, 0x08, 0x8D, 0x63, 0x17, 0xA5, 0xB0, + 0x8B, 0x8D, 0x24, 0x70, 0x63, 0x10, 0x12, 0x17, 0x58, 0x17, 0xD4, 0x44, 0x54, 0x37, 0x20, 0x17, 0x7A, 0xB3, 0x98, 0x00, 0x39, 0x82, 0x00, 0xF0, 0xD0, 0x01, 0xE4, 0x00, 0x8A, 0x3C, 0x09, 0x1C, + 0x7B, 0x9A, 0xD4, 0x54, 0xE4, 0x00, 0x8B, 0x7C, 0xA7, 0x9D, 0x24, 0x7D, 0x7B, 0xB3, 0xD4, 0x61, 0xE4, 0x00, 0xD6, 0xA0, 0x8B, 0x91, 0xD4, 0xD8, 0xE4, 0x00, 0x98, 0x00, 0x3A, 0x86, 0x00, 0xF0, + 0xD0, 0x00, 0xE4, 0x00, 0x8B, 0x80, 0xA7, 0x98, 0x08, 0x80, 0xA6, 0x32, 0x24, 0x58, 0x8B, 0xA1, 0x24, 0x52, 0xA4, 0x19, 0x12, 0x58, 0x12, 0x61, 0x58, 0x18, 0x8B, 0xB3, 0xD4, 0x44, 0x54, 0x38, + 0x20, 0x18, 0x24, 0x79, 0x08, 0x91, 0x63, 0x19, 0xA6, 0x34, 0x8B, 0x91, 0x24, 0x74, 0x63, 0x14, 0x12, 0x99, 0x58, 0x19, 0xD4, 0x44, 0x54, 0x39, 0x20, 0x19, 0x93, 0x45, 0x91, 0xA6, 0x91, 0xE7, + 0x89, 0xFF, 0x92, 0x28, 0x7B, 0xF3, 0x92, 0x69, 0xD4, 0x54, 0x93, 0x64, 0x8A, 0x7F, 0x95, 0x51, 0x95, 0xD3, 0x8A, 0x5A, 0x89, 0xDC, 0x66, 0x1A, 0x66, 0x1C, 0x8A, 0x1E, 0x13, 0x9A, 0x8A, 0x9B, + 0xD4, 0x94, 0x12, 0x1B, 0x96, 0x00, 0xD0, 0x00, 0xE4, 0x00, 0x7A, 0x7A, 0x95, 0xE0, 0xD0, 0x14, 0x08, 0x3A, 0x58, 0x1B, 0xD5, 0x24, 0x57, 0x5B, 0x62, 0x1C, 0x3A, 0x1A, 0x2A, 0xBC, 0x76, 0x1C, + 0x20, 0x1B, 0x63, 0x1B, 0xD4, 0xA0, 0x65, 0x1B, 0x62, 0x1C, 0x3A, 0x1A, 0x2A, 0xBC, 0x76, 0x1C, 0xA5, 0x21, 0x34, 0x01, 0xD7, 0xA2, 0x95, 0x60, 0xBC, 0x9A, 0xBE, 0x20, 0xBC, 0xBB, 0xBC, 0xDC, + 0xBC, 0xFE, 0xBD, 0x2A, 0x96, 0x00, 0xD0, 0x00, 0xE4, 0x00, 0x8B, 0x61, 0x58, 0x1B, 0x62, 0x1C, 0x57, 0x5B, 0x3A, 0x1A, 0x2A, 0xBC, 0x76, 0x1C, 0x7C, 0x01, 0x89, 0xC0, 0xD4, 0x54, 0x62, 0x40, + 0x20, 0x1B, 0x67, 0xC0, 0xD4, 0xE2, 0x7C, 0x40, 0xD4, 0x98, 0xE4, 0x00, 0xD4, 0x42, 0x13, 0x7E, 0x13, 0x7E, 0x13, 0x7E, 0x8B, 0xC1, 0x67, 0x01, 0xD4, 0xC2, 0xE4, 0x00, 0x98, 0x00, 0x39, 0xCA, + 0x00, 0xF0, 0xD0, 0x00, 0x8A, 0x1E, 0x8B, 0xCF, 0x03, 0x6F, 0x89, 0xFD, 0x03, 0x7D, 0x8B, 0xAD, 0x03, 0x6D, 0x62, 0xDB, 0x65, 0x1B, 0xA5, 0x21, 0x34, 0x01, 0xD7, 0xA2, 0x95, 0x80, 0x88, 0xE1, + 0xBC, 0x9A, 0xBC, 0x2D, 0x08, 0x81, 0xBE, 0x20, 0xBC, 0x3D, 0x08, 0x81, 0xBC, 0xBB, 0xBC, 0x2F, 0x08, 0x81, 0xBC, 0xDC, 0xBC, 0x3E, 0xBD, 0x2A, 0x08, 0x35, 0x02, 0xCE, 0x03, 0x12, 0x02, 0xF0, + 0x03, 0x34, 0x7A, 0xBF, 0xD1, 0x61, 0xE4, 0x00, 0x98, 0x00, 0x38, 0xAE, 0x00, 0xF0, 0x94, 0xBA, 0x94, 0x9B, 0x94, 0xCD, 0x94, 0xEF, 0x95, 0x11, 0x95, 0x33, 0xD0, 0x00, 0xE4, 0x00, 0x8A, 0x5A, + 0x11, 0xDA, 0x8A, 0x9B, 0xD4, 0xD4, 0x66, 0x1A, 0x98, 0x00, 0x3A, 0xD4, 0x00, 0xF0, 0xD0, 0x00, 0xE4, 0x00, 0x08, 0x3A, 0x12, 0x1B, 0x89, 0xDC, 0x58, 0x1B, 0xD5, 0x24, 0x57, 0x5B, 0x24, 0x5C, + 0x3A, 0x1A, 0x2A, 0xBC, 0x76, 0x1C, 0x20, 0x1B, 0x63, 0x1B, 0xD4, 0xA0, 0x65, 0x1B, 0x24, 0x5C, 0x3A, 0x1A, 0x2A, 0xBC, 0x76, 0x1C, 0xA5, 0x21, 0x34, 0x01, 0xD7, 0xA2, 0x95, 0x60, 0x95, 0x51, + 0xBC, 0x9A, 0xBE, 0x20, 0xBC, 0xBB, 0xBC, 0xDC, 0xBC, 0xF0, 0xBD, 0x2A, 0x94, 0x1C, 0x94, 0x3D, 0x94, 0x5E, 0x94, 0x7F, 0x98, 0x00, 0x36, 0xEC, 0x00, 0xF0, 0x18, 0x3F, 0xD0, 0x01, 0xE4, 0x00, + 0x98, 0x01, 0x21, 0x14, 0x00, 0xF0, 0xA4, 0x20, 0x3C, 0x00, 0xBC, 0x20, 0xD7, 0xE0, 0xE4, 0x00, 0x00, 0xF0, 0x35, 0x40, 0x00, 0xF0, 0x34, 0xC6, 0x00, 0xF0, 0x35, 0x02, 0x00, 0xF0, 0x34, 0x8A, + 0x00, 0xF0, 0x34, 0x4C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF0, 0x30, 0x00, 0x00, 0x00, 0x03, 0xB8, + 0x8C, 0x27, 0x98, 0x1B, 0x32, 0x7E, 0x00, 0xF0, 0x62, 0x67, 0x98, 0x1A, 0x32, 0x7C, 0x00, 0xF0, 0x8C, 0x98, 0x98, 0x19, 0x32, 0xB4, 0x00, 0xF0, 0x63, 0x98, 0x98, 0x02, 0x3F, 0xE8, 0x00, 0xF0, + 0xA4, 0x40, 0x08, 0x82, 0xA4, 0x43, 0x08, 0x82, 0xA4, 0x44, 0x08, 0x82, 0xA4, 0x45, 0x08, 0x82, 0xA4, 0x46, 0x62, 0x06, 0x6E, 0x06, 0xA0, 0x0A, 0x08, 0x40, 0xA0, 0x0B, 0x08, 0x40, 0x62, 0x0A, + 0x62, 0x0B, 0x6E, 0x0A, 0x6E, 0x0B, 0xA0, 0x0C, 0x08, 0x40, 0xA0, 0x0D, 0x08, 0x40, 0x62, 0x0C, 0x62, 0x0D, 0x6E, 0x0C, 0x6E, 0x0D, 0xA0, 0x0E, 0x08, 0x40, 0xA0, 0x0F, 0x08, 0x40, 0x62, 0x0E, + 0x62, 0x0F, 0x6E, 0x0E, 0x6E, 0x0F, 0xA0, 0x10, 0x08, 0x40, 0xA0, 0x11, 0x08, 0x40, 0x62, 0x10, 0x62, 0x11, 0x6E, 0x10, 0x6E, 0x11, 0xA0, 0x12, 0x08, 0x40, 0xA0, 0x13, 0x08, 0x40, 0x62, 0x12, + 0x62, 0x13, 0x6E, 0x12, 0x6E, 0x13, 0xA0, 0x14, 0x08, 0x40, 0xA0, 0x15, 0x62, 0x14, 0x62, 0x15, 0x6E, 0x14, 0x6E, 0x15, 0x7C, 0x03, 0xD4, 0xA1, 0xE4, 0x00, 0x98, 0x00, 0x31, 0x14, 0x00, 0xF0, + 0xD0, 0x00, 0x88, 0x60, 0xCC, 0x1C, 0xD3, 0x60, 0x08, 0xDC, 0x88, 0x16, 0x88, 0x60, 0xCC, 0x1C, 0xD3, 0x40, 0x08, 0xDC, 0x88, 0x17, 0x8A, 0xC1, 0x45, 0xA0, 0x46, 0x01, 0x10, 0x20, 0x8A, 0xC1, + 0x00, 0xE0, 0x6D, 0xC0, 0x45, 0xA1, 0x88, 0x0D, 0x8A, 0xE0, 0x46, 0x00, 0x00, 0x20, 0x00, 0xE0, 0x6D, 0xC0, 0x88, 0x10, 0x8A, 0xE0, 0x8A, 0xC1, 0x45, 0xC0, 0x46, 0x21, 0x10, 0x20, 0x8A, 0xC1, + 0x00, 0xE0, 0x6D, 0xC0, 0x45, 0xC1, 0x88, 0x0E, 0x8A, 0xE0, 0x46, 0x20, 0x00, 0x20, 0x00, 0xE0, 0x6D, 0xC0, 0x88, 0x11, 0x8A, 0xE0, 0x8A, 0xC1, 0x45, 0xE0, 0x46, 0x41, 0x10, 0x20, 0x8A, 0xC1, + 0x00, 0xE0, 0x6D, 0xC0, 0x45, 0xE1, 0x88, 0x0F, 0x8A, 0xE0, 0x46, 0x40, 0x00, 0x20, 0x00, 0xE0, 0x6D, 0xC0, 0x88, 0x12, 0x7C, 0x04, 0xD4, 0xA1, 0xE4, 0x00, 0x98, 0x00, 0x31, 0x94, 0x00, 0xF0, + 0xD0, 0x00, 0x88, 0x80, 0xCC, 0x1C, 0xD3, 0x60, 0x08, 0xDC, 0x88, 0x16, 0x88, 0x80, 0xCC, 0x1C, 0xD3, 0x40, 0x08, 0xDC, 0x88, 0x17, 0x8A, 0xC1, 0x46, 0x00, 0x45, 0x41, 0x10, 0x20, 0x8A, 0xC1, + 0x00, 0xE0, 0x6D, 0xC0, 0x46, 0x01, 0x88, 0x10, 0x8A, 0xE0, 0x45, 0x40, 0x00, 0x20, 0x00, 0xE0, 0x6D, 0xC0, 0x88, 0x0A, 0x8A, 0xE0, 0x8A, 0xC1, 0x46, 0x20, 0x45, 0x61, 0x10, 0x20, 0x8A, 0xC1, + 0x00, 0xE0, 0x6D, 0xC0, 0x46, 0x21, 0x88, 0x11, 0x8A, 0xE0, 0x45, 0x60, 0x00, 0x20, 0x00, 0xE0, 0x6D, 0xC0, 0x88, 0x0B, 0x8A, 0xE0, 0x8A, 0xC1, 0x46, 0x40, 0x45, 0x81, 0x10, 0x20, 0x8A, 0xC1, + 0x00, 0xE0, 0x6D, 0xC0, 0x46, 0x41, 0x88, 0x12, 0x8A, 0xE0, 0x45, 0x80, 0x00, 0x20, 0x00, 0xE0, 0x6D, 0xC0, 0x88, 0x0C, 0x7C, 0x05, 0xD4, 0xA1, 0xE4, 0x00, 0x98, 0x00, 0x32, 0x14, 0x00, 0xF0, + 0xD0, 0x00, 0x88, 0xA0, 0xCC, 0x1C, 0xD3, 0x60, 0x08, 0xDC, 0x88, 0x16, 0x88, 0xA0, 0xCC, 0x1C, 0xD3, 0x40, 0x08, 0xDC, 0x88, 0x17, 0x8A, 0xC1, 0x45, 0x40, 0x45, 0xA1, 0x10, 0x20, 0x8A, 0xC1, + 0x00, 0xE0, 0x6D, 0xC0, 0x45, 0x41, 0x88, 0x0A, 0x8A, 0xE0, 0x45, 0xA0, 0x00, 0x20, 0x00, 0xE0, 0x6D, 0xC0, 0x88, 0x0D, 0x8A, 0xE0, 0x8A, 0xC1, 0x45, 0x60, 0x45, 0xC1, 0x10, 0x20, 0x8A, 0xC1, + 0x00, 0xE0, 0x6D, 0xC0, 0x45, 0x61, 0x88, 0x0B, 0x8A, 0xE0, 0x45, 0xC0, 0x00, 0x20, 0x00, 0xE0, 0x6D, 0xC0, 0x88, 0x0E, 0x8A, 0xE0, 0x8A, 0xC1, 0x45, 0x80, 0x45, 0xE1, 0x10, 0x20, 0x8A, 0xC1, + 0x00, 0xE0, 0x6D, 0xC0, 0x45, 0x81, 0x88, 0x0C, 0x8A, 0xE0, 0x45, 0xE0, 0x00, 0x20, 0x00, 0xE0, 0x6D, 0xC0, 0x88, 0x0F, 0x7C, 0x06, 0x88, 0xC0, 0xD5, 0xA2, 0x88, 0xC1, 0x46, 0x00, 0x46, 0x21, + 0x00, 0xE0, 0x00, 0xE1, 0x6D, 0xC0, 0x6D, 0xC1, 0x00, 0x13, 0x00, 0x34, 0x46, 0x46, 0x00, 0xE6, 0x6D, 0xC6, 0x00, 0xD5, 0x98, 0x02, 0x3F, 0xE8, 0x00, 0xF0, 0xA4, 0x40, 0xB8, 0x0A, 0x08, 0x40, + 0xB8, 0x0B, 0x08, 0x40, 0xB8, 0x0C, 0x08, 0x40, 0xB8, 0x0D, 0x08, 0x40, 0xB8, 0x0E, 0x08, 0x40, 0xB8, 0x0F, 0x08, 0x40, 0xB8, 0x10, 0x08, 0x40, 0xB8, 0x11, 0x08, 0x40, 0xB8, 0x12, 0x08, 0x40, + 0xB8, 0x13, 0x08, 0x40, 0xB8, 0x14, 0x08, 0x40, 0xB8, 0x15, 0x98, 0x01, 0x21, 0x14, 0x00, 0xF0, 0xA4, 0x20, 0x3C, 0x00, 0x38, 0x60, 0xBC, 0x20, 0xD7, 0xE0, 0xE4, 0x00, 0x03, 0x00, 0x61, 0x00, + 0x8B, 0x22, 0xD5, 0x78, 0x67, 0x00, 0x78, 0x18, 0xD4, 0x94, 0x8B, 0x01, 0x63, 0xE1, 0x10, 0x01, 0x88, 0x20, 0x63, 0xC0, 0x00, 0x02, 0xD3, 0x80, 0xA4, 0x40, 0x3C, 0xE0, 0x78, 0x18, 0xD4, 0x94, + 0x8B, 0x01, 0x63, 0xE1, 0x10, 0x01, 0x88, 0x20, 0x63, 0xC0, 0x00, 0x02, 0xA4, 0x40, 0xD3, 0x80, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x95, 0x00, 0x00, 0x03, 0x29, + 0x00, 0x00, 0x04, 0xB0, 0x00, 0x00, 0x06, 0x47, 0x00, 0x00, 0x07, 0xD4, 0x00, 0x00, 0x09, 0x62, 0x00, 0x00, 0x0A, 0xF0, 0x00, 0x00, 0x0C, 0x7D, 0x00, 0x00, 0x0E, 0x05, 0x00, 0x00, 0x0F, 0x8D, + 0x00, 0x00, 0x11, 0x10, 0x00, 0x00, 0x12, 0x92, 0x00, 0x00, 0x14, 0x14, 0x00, 0x00, 0x15, 0x90, 0x00, 0x00, 0x17, 0x09, 0x00, 0x00, 0x18, 0x7E, 0x00, 0x00, 0x19, 0xF0, 0x00, 0x00, 0x1B, 0x5D, + 0x00, 0x00, 0x1C, 0xC6, 0x00, 0x00, 0x1E, 0x2C, 0x00, 0x00, 0x1F, 0x8B, 0x00, 0x00, 0x20, 0xE7, 0x00, 0x00, 0x22, 0x3E, 0x00, 0x00, 0x23, 0x8E, 0x00, 0x00, 0x24, 0xDA, 0x00, 0x00, 0x26, 0x20, + 0x00, 0x00, 0x27, 0x60, 0x00, 0x00, 0x28, 0x9A, 0x00, 0x00, 0x29, 0xCE, 0x00, 0x00, 0x2A, 0xFB, 0x00, 0x00, 0x2C, 0x21, 0x00, 0x00, 0x2D, 0x41, 0x00, 0x00, 0x2E, 0x5A, 0x00, 0x00, 0x2F, 0x6C, + 0x00, 0x00, 0x30, 0x76, 0x00, 0x00, 0x31, 0x79, 0x00, 0x00, 0x32, 0x74, 0x00, 0x00, 0x33, 0x68, 0x00, 0x00, 0x34, 0x53, 0x00, 0x00, 0x35, 0x37, 0x00, 0x00, 0x36, 0x12, 0x00, 0x00, 0x36, 0xE5, + 0x00, 0x00, 0x37, 0xB0, 0x00, 0x00, 0x38, 0x71, 0x00, 0x00, 0x39, 0x2B, 0x00, 0x00, 0x39, 0xDB, 0x00, 0x00, 0x3A, 0x82, 0x00, 0x00, 0x3B, 0x21, 0x00, 0x00, 0x3B, 0xB6, 0x00, 0x00, 0x3C, 0x42, + 0x00, 0x00, 0x3C, 0xC5, 0x00, 0x00, 0x3D, 0x3F, 0x00, 0x00, 0x3D, 0xAF, 0x00, 0x00, 0x3E, 0x15, 0x00, 0x00, 0x3E, 0x72, 0x00, 0x00, 0x3E, 0xC5, 0x00, 0x00, 0x3F, 0x0F, 0x00, 0x00, 0x3F, 0x4F, + 0x00, 0x00, 0x3F, 0x85, 0x00, 0x00, 0x3F, 0xB1, 0x00, 0x00, 0x3F, 0xD4, 0x00, 0x00, 0x3F, 0xEC, 0x00, 0x00, 0x3F, 0xFB, 0x00, 0x00, 0x40, 0x00, 0x00, 0xF0, 0x30, 0x00, 0x00, 0x00, 0x01, 0x70, + 0x8C, 0x23, 0x20, 0x03, 0x88, 0x62, 0x62, 0x03, 0x66, 0x02, 0x98, 0x1E, 0x31, 0x12, 0x00, 0xF0, 0x98, 0x04, 0x3F, 0xE8, 0x00, 0xF0, 0xA4, 0x81, 0x08, 0x84, 0xA4, 0x9C, 0x08, 0x84, 0xA4, 0x9D, + 0x08, 0x84, 0xA4, 0x9B, 0x08, 0x84, 0xA4, 0x9A, 0x08, 0x84, 0xA4, 0x99, 0x2B, 0x39, 0x98, 0x04, 0x21, 0x04, 0x00, 0xF0, 0x98, 0x00, 0x00, 0x03, 0x00, 0x00, 0xBC, 0x80, 0x98, 0x06, 0x21, 0x08, + 0x00, 0xF0, 0x98, 0x05, 0x31, 0x64, 0x00, 0xF0, 0x09, 0x81, 0x88, 0xAB, 0x8C, 0xAE, 0xA0, 0x20, 0x08, 0x41, 0x62, 0x00, 0x6E, 0x00, 0x18, 0x2E, 0xBD, 0x60, 0xD7, 0x34, 0x08, 0x8B, 0xE4, 0x00, + 0x88, 0xAB, 0x09, 0x8B, 0xA5, 0x73, 0x08, 0x8B, 0xA5, 0x74, 0x08, 0x8B, 0xA5, 0x75, 0x98, 0x0A, 0x30, 0x84, 0x00, 0xF0, 0x98, 0x0B, 0x31, 0x74, 0x00, 0xF0, 0x8B, 0x6C, 0x0A, 0x4C, 0x8B, 0x2D, + 0x18, 0xCD, 0x8B, 0x4E, 0xA1, 0x90, 0x08, 0x4C, 0xA1, 0x91, 0x08, 0x4C, 0x62, 0x10, 0x62, 0x11, 0x6E, 0x10, 0x6E, 0x11, 0xA1, 0x92, 0x08, 0x4C, 0xA1, 0x8F, 0x01, 0xAC, 0x62, 0x12, 0x63, 0xCF, + 0x6E, 0x12, 0x12, 0x70, 0x12, 0x91, 0x12, 0xB2, 0x24, 0x50, 0x62, 0x11, 0x2A, 0x30, 0xBC, 0xC5, 0x92, 0x0B, 0x92, 0x4C, 0xE4, 0x00, 0xD9, 0x76, 0x6D, 0xD6, 0x62, 0x16, 0x2A, 0xCF, 0x18, 0x2E, + 0xBD, 0x6F, 0xD1, 0x41, 0x08, 0x8B, 0xA3, 0x98, 0x98, 0x0B, 0x31, 0x70, 0x00, 0xF0, 0x63, 0xD8, 0x8C, 0x17, 0xBD, 0x77, 0xCC, 0x1F, 0xD3, 0xC0, 0x08, 0xDF, 0xA3, 0xB8, 0x63, 0xD8, 0xCC, 0x1F, + 0xD3, 0xC0, 0x08, 0xDF, 0x64, 0x57, 0xA5, 0x60, 0xBB, 0xB7, 0x64, 0x40, 0xBB, 0x80, 0x08, 0x8B, 0x0B, 0x1B, 0xA5, 0x60, 0x08, 0x8B, 0x24, 0x40, 0x64, 0x40, 0x18, 0x3A, 0xBB, 0x60, 0xD7, 0x21, + 0x03, 0x3B, 0x98, 0x01, 0x21, 0x14, 0x00, 0xF0, 0xA4, 0x20, 0x3C, 0x00, 0xBC, 0x20, 0xD7, 0xE0, 0xE4, 0x00, 0x7C, 0x18, 0x8B, 0x13, 0xD4, 0x41, 0xE4, 0x00, 0xD3, 0xE0, 0x8B, 0x0F, 0x01, 0x73, + 0xA6, 0x78, 0x8B, 0x12, 0x24, 0x58, 0x7C, 0x12, 0xD4, 0xB4, 0x24, 0x72, 0x2A, 0xF2, 0x89, 0xF7, 0xD3, 0xC0, 0xBE, 0x72, 0x28, 0x52, 0x8C, 0x11, 0xA5, 0x70, 0x24, 0x50, 0x8A, 0x04, 0xD5, 0x02, + 0x01, 0x64, 0xA4, 0x80, 0x7A, 0x40, 0xD4, 0x98, 0xE4, 0x00, 0x8A, 0x11, 0xD6, 0xC0, 0x88, 0x10, 0x24, 0x72, 0x01, 0x71, 0x2A, 0x12, 0xA6, 0x20, 0xBE, 0x72, 0x24, 0x60, 0x29, 0xE0, 0xD3, 0xC0, + 0xBE, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF0, 0x30, 0x00, 0x00, 0x00, 0x05, 0x98, 0x98, 0x1A, 0x00, 0x01, 0x00, 0x00, 0x98, 0x1B, + 0x21, 0x1C, 0x00, 0xF0, 0xBF, 0x7A, 0x98, 0x0D, 0x00, 0x00, 0xFF, 0xFF, 0x98, 0x0C, 0xFF, 0xFF, 0x00, 0x00, 0x98, 0x14, 0x22, 0x0C, 0x00, 0xF0, 0x98, 0x15, 0x22, 0x18, 0x00, 0xF0, 0x98, 0x16, + 0x22, 0x1C, 0x00, 0xF0, 0x98, 0x17, 0x22, 0x20, 0x00, 0xF0, 0x98, 0x18, 0x22, 0x10, 0x00, 0xF0, 0x98, 0x19, 0x22, 0x14, 0x00, 0xF0, 0x98, 0x0A, 0x3F, 0xFC, 0x00, 0xF0, 0xA5, 0x4A, 0x98, 0x0B, + 0x00, 0x1F, 0x00, 0x00, 0x25, 0x6A, 0x63, 0xCA, 0x98, 0x0B, 0xD2, 0x00, 0x00, 0xF1, 0x01, 0x6A, 0xA5, 0x4E, 0x08, 0x0A, 0x08, 0x0A, 0x08, 0x0A, 0x08, 0x0A, 0xA5, 0x4F, 0x98, 0x13, 0x00, 0x40, + 0x00, 0x00, 0x98, 0x0A, 0x3F, 0xF8, 0x00, 0xF0, 0xA5, 0x4A, 0x98, 0x0B, 0x00, 0x1F, 0x00, 0x00, 0x89, 0x50, 0x25, 0x6A, 0x34, 0xB0, 0xD4, 0x62, 0xE4, 0x00, 0x20, 0x0A, 0x01, 0x6A, 0x63, 0xCA, + 0x98, 0x0B, 0xD2, 0x00, 0x00, 0xF1, 0x01, 0x6A, 0xA5, 0x51, 0x98, 0x0B, 0x31, 0x54, 0x00, 0xF0, 0x7C, 0x1A, 0xD1, 0x62, 0xE4, 0x00, 0x7C, 0x0E, 0xD1, 0x62, 0x08, 0x0A, 0x08, 0x0A, 0x08, 0x0A, + 0x08, 0x0A, 0xA5, 0x52, 0x8A, 0x68, 0x45, 0xC8, 0x63, 0xE8, 0x8A, 0x49, 0x45, 0xE9, 0x6D, 0xE9, 0x46, 0x69, 0x63, 0xE9, 0x8A, 0x6A, 0x46, 0x2A, 0x63, 0xEA, 0x01, 0x49, 0x98, 0x1C, 0x30, 0xE6, + 0x00, 0xF0, 0x89, 0xFA, 0x34, 0xB0, 0xD4, 0xC2, 0xE4, 0x00, 0x98, 0x0A, 0x33, 0xE2, 0x00, 0xF0, 0xD1, 0x40, 0xE4, 0x00, 0x98, 0x0A, 0x34, 0x08, 0x00, 0xF0, 0xD1, 0x40, 0xE4, 0x00, 0x98, 0x1D, + 0x3F, 0xF4, 0x00, 0xF0, 0xA7, 0xBD, 0x62, 0x1D, 0x98, 0x1A, 0x80, 0x00, 0x00, 0x00, 0x13, 0x5D, 0x8A, 0x6A, 0x45, 0xEA, 0x63, 0xEA, 0x01, 0x5D, 0x89, 0xEB, 0x01, 0xCB, 0x42, 0x6B, 0x11, 0x7D, + 0x66, 0x1D, 0x8C, 0x0A, 0x34, 0xB0, 0xD4, 0xC1, 0xE4, 0x00, 0x8A, 0x4A, 0x45, 0xCA, 0x6D, 0xEA, 0x46, 0x6A, 0x63, 0xEA, 0x6D, 0xEB, 0x42, 0x4B, 0x98, 0x1B, 0x3F, 0xF0, 0x00, 0xF0, 0xA7, 0x7B, + 0x62, 0x1B, 0x34, 0xB0, 0xD4, 0x41, 0xE4, 0x00, 0x20, 0x1A, 0x03, 0x5B, 0x03, 0x6A, 0x11, 0x6A, 0x25, 0xAA, 0x29, 0x5D, 0x89, 0xE6, 0x62, 0x26, 0x20, 0x06, 0x65, 0x06, 0x98, 0x1C, 0x31, 0x54, + 0x00, 0xF0, 0x98, 0x1A, 0x34, 0x2A, 0x00, 0xF0, 0xD3, 0x40, 0xE4, 0x00, 0x98, 0x0A, 0x3F, 0xFC, 0x00, 0xF0, 0xA5, 0x4A, 0x98, 0x0B, 0x00, 0x1F, 0x00, 0x00, 0x25, 0x6A, 0x63, 0xCA, 0x98, 0x0B, + 0xD2, 0x00, 0x00, 0xF1, 0x01, 0x6A, 0xA5, 0x4E, 0x08, 0x0A, 0x08, 0x0A, 0x08, 0x0A, 0x08, 0x0A, 0xA5, 0x4F, 0x98, 0x13, 0x00, 0x40, 0x00, 0x00, 0x98, 0x0A, 0x3F, 0xF8, 0x00, 0xF0, 0xA5, 0x4A, + 0x98, 0x0B, 0x00, 0x1F, 0x00, 0x00, 0x89, 0x50, 0x25, 0x6A, 0x34, 0xB0, 0xD4, 0x62, 0xE4, 0x00, 0x20, 0x0A, 0x01, 0x6A, 0x63, 0xCA, 0x98, 0x0B, 0xD2, 0x00, 0x00, 0xF1, 0x01, 0x6A, 0xA5, 0x51, + 0x98, 0x0B, 0x32, 0x54, 0x00, 0xF0, 0x7C, 0x11, 0xD1, 0x62, 0xE4, 0x00, 0x7C, 0x0F, 0xD1, 0x62, 0x08, 0x0A, 0x08, 0x0A, 0x08, 0x0A, 0x08, 0x0A, 0xA5, 0x52, 0x8A, 0x68, 0x45, 0xE8, 0x63, 0xE8, + 0x8A, 0x49, 0x45, 0xC9, 0x6D, 0xE9, 0x46, 0x69, 0x63, 0xE9, 0x8A, 0x6A, 0x46, 0x2A, 0x63, 0xEA, 0x01, 0x49, 0x98, 0x1C, 0x31, 0xFC, 0x00, 0xF0, 0x89, 0xDA, 0x34, 0xB0, 0xD4, 0xC1, 0xE4, 0x00, + 0x98, 0x0A, 0x33, 0xE2, 0x00, 0xF0, 0xD1, 0x40, 0xE4, 0x00, 0x98, 0x0A, 0x34, 0x08, 0x00, 0xF0, 0xD1, 0x40, 0xE4, 0x00, 0x98, 0x1D, 0x3F, 0xF4, 0x00, 0xF0, 0xA7, 0xBD, 0x62, 0x1D, 0x89, 0xEB, + 0x01, 0xCB, 0x42, 0x6B, 0x11, 0x7D, 0x66, 0x1D, 0x8C, 0x0A, 0x34, 0xB0, 0xD4, 0xC1, 0xE4, 0x00, 0x8A, 0x4A, 0x45, 0xEA, 0x6D, 0xEA, 0x46, 0x6A, 0x63, 0xEA, 0x6D, 0xEB, 0x42, 0x4B, 0x98, 0x1B, + 0x3F, 0xF0, 0x00, 0xF0, 0xA7, 0x7B, 0x62, 0x1B, 0x34, 0xB0, 0xD4, 0x41, 0xE4, 0x00, 0x20, 0x1A, 0x03, 0x5B, 0x03, 0x6A, 0x11, 0x6A, 0x25, 0xAA, 0x29, 0x5D, 0x8C, 0x06, 0x98, 0x1C, 0x32, 0x54, + 0x00, 0xF0, 0x98, 0x1A, 0x34, 0x2A, 0x00, 0xF0, 0xD3, 0x40, 0xE4, 0x00, 0x98, 0x0A, 0x3F, 0xF8, 0x00, 0xF0, 0x98, 0x0B, 0x00, 0x3F, 0x00, 0x00, 0xA5, 0x4A, 0x89, 0x50, 0x25, 0x6A, 0x34, 0xAA, + 0xD4, 0x62, 0x3C, 0xAA, 0x20, 0x0A, 0x0B, 0xEA, 0x63, 0xCA, 0x98, 0x0B, 0xD2, 0x00, 0x00, 0xF1, 0x01, 0x6A, 0xA5, 0x51, 0x08, 0x0A, 0x08, 0x0A, 0x08, 0x0A, 0x08, 0x0A, 0xA5, 0x52, 0x98, 0x1B, + 0x33, 0xC2, 0x00, 0xF0, 0x7C, 0x12, 0xD3, 0x62, 0xE4, 0x00, 0x98, 0x0A, 0x3F, 0xFC, 0x00, 0xF0, 0xA5, 0x4A, 0x34, 0xB0, 0xD4, 0xC2, 0xE4, 0x00, 0x98, 0x0B, 0x00, 0x7E, 0x00, 0x00, 0x20, 0x0A, + 0x01, 0x6A, 0x89, 0x5C, 0x98, 0x0B, 0x00, 0x1F, 0x00, 0x00, 0x25, 0x6A, 0x63, 0xCA, 0x98, 0x0B, 0xD2, 0x00, 0x00, 0xF1, 0x01, 0x6A, 0xA5, 0x4E, 0x08, 0x0A, 0x08, 0x0A, 0x08, 0x0A, 0x08, 0x0A, + 0xA5, 0x4F, 0x98, 0x13, 0x00, 0x40, 0x00, 0x00, 0x89, 0xC8, 0x01, 0xE8, 0x42, 0x68, 0x63, 0xE8, 0x89, 0x09, 0x6D, 0xE9, 0x46, 0x49, 0x8C, 0x2A, 0x11, 0x53, 0x8A, 0x60, 0x45, 0xC0, 0x6D, 0xE0, + 0x45, 0xE0, 0x63, 0xE0, 0x20, 0x00, 0x8A, 0x61, 0x45, 0xC1, 0x6D, 0xE1, 0x45, 0xC1, 0x63, 0xE1, 0x88, 0x22, 0x20, 0x02, 0x8A, 0x7A, 0x62, 0x1A, 0x03, 0x42, 0x88, 0x03, 0x88, 0x24, 0x88, 0x05, + 0x20, 0x05, 0x03, 0x45, 0x64, 0xBC, 0x98, 0x0A, 0x00, 0x03, 0x00, 0x00, 0x98, 0x1A, 0x33, 0x6A, 0x00, 0xF0, 0x25, 0x5C, 0xD3, 0x42, 0x88, 0xA6, 0x88, 0x47, 0x98, 0x1B, 0x33, 0x3E, 0x00, 0xF0, + 0x7C, 0x3C, 0xD3, 0x61, 0xE4, 0x00, 0x88, 0x02, 0x88, 0x23, 0x88, 0x80, 0x88, 0xA1, 0x88, 0xC4, 0x88, 0xE5, 0xD3, 0x40, 0xE4, 0x00, 0x98, 0x1B, 0x33, 0x5E, 0x00, 0xF0, 0x7C, 0x5C, 0xD3, 0x61, + 0xE4, 0x00, 0x88, 0x8A, 0x88, 0x44, 0x89, 0x42, 0x88, 0xAA, 0x88, 0x65, 0x89, 0x43, 0x88, 0xC0, 0x88, 0xE1, 0xD3, 0x40, 0xE4, 0x00, 0x88, 0x04, 0x88, 0x25, 0x88, 0x40, 0x88, 0x61, 0x88, 0xC2, + 0x88, 0xE3, 0x89, 0x0B, 0x6C, 0x2B, 0x98, 0x1D, 0x3F, 0xF4, 0x00, 0xF0, 0xA7, 0xBD, 0x62, 0x1D, 0x98, 0x1A, 0x80, 0x00, 0x00, 0x00, 0x11, 0x7D, 0x66, 0x1D, 0x98, 0x0A, 0x3F, 0xF0, 0x00, 0xF0, + 0xA5, 0x4A, 0x62, 0x0A, 0x34, 0xB0, 0xD4, 0xC2, 0xE4, 0x00, 0x20, 0x1A, 0x8A, 0x6B, 0x46, 0x2B, 0x63, 0xEB, 0x01, 0x6A, 0x03, 0x4A, 0x89, 0x2B, 0x6C, 0x2B, 0x11, 0x6A, 0x25, 0xAA, 0x29, 0x5D, + 0x98, 0x06, 0xFF, 0xFF, 0x0F, 0xFF, 0x20, 0x06, 0x65, 0x06, 0x98, 0x1C, 0x33, 0xC2, 0x00, 0xF0, 0x98, 0x1A, 0x34, 0x2A, 0x00, 0xF0, 0xD3, 0x40, 0xE4, 0x00, 0x98, 0x1A, 0x00, 0x00, 0x00, 0x00, + 0x98, 0x1B, 0x21, 0x1C, 0x00, 0xF0, 0xBF, 0x7A, 0x98, 0x0B, 0x21, 0x14, 0x00, 0xF0, 0xA5, 0x6A, 0x3C, 0x0A, 0x38, 0x6A, 0xBD, 0x6A, 0xD7, 0xE0, 0xE4, 0x00, 0x8C, 0x2A, 0x11, 0x53, 0x8C, 0x00, + 0x8C, 0x01, 0x8B, 0x43, 0x46, 0x43, 0x6D, 0xE3, 0x46, 0x63, 0x56, 0x23, 0x20, 0x03, 0x8A, 0x62, 0x62, 0x02, 0x8C, 0x04, 0x88, 0x65, 0x20, 0x05, 0x00, 0x45, 0x01, 0x53, 0xD3, 0x80, 0xE4, 0x00, + 0x8C, 0x2A, 0x11, 0x53, 0x8C, 0x00, 0x8B, 0x41, 0x46, 0x41, 0x6D, 0xE1, 0x46, 0x61, 0x56, 0x21, 0x20, 0x01, 0x8A, 0x62, 0x62, 0x02, 0x8C, 0x03, 0x8C, 0x04, 0x88, 0x45, 0x01, 0x53, 0xD3, 0x80, + 0xE4, 0x00, 0x98, 0x0B, 0x22, 0x38, 0x00, 0xF0, 0xA5, 0x6A, 0x34, 0x0A, 0xD7, 0xA2, 0xE4, 0x00, 0x98, 0x0A, 0x22, 0x70, 0x00, 0xF0, 0xBD, 0x46, 0x98, 0x0A, 0x30, 0x20, 0x00, 0x03, 0x98, 0x0B, + 0x22, 0x04, 0x00, 0xF0, 0xBD, 0x6A, 0x98, 0x0A, 0x38, 0x20, 0x00, 0x01, 0x98, 0x0B, 0x22, 0x28, 0x00, 0xF0, 0xBD, 0x6A, 0x98, 0x0A, 0x3F, 0xEC, 0x00, 0xF0, 0x98, 0x0B, 0x22, 0x00, 0x00, 0xF0, + 0xA5, 0x4A, 0xBD, 0x6A, 0x98, 0x0A, 0x3F, 0xE8, 0x00, 0xF0, 0x98, 0x0B, 0x22, 0x24, 0x00, 0xF0, 0xA5, 0x4A, 0xBD, 0x6A, 0x89, 0x3A, 0x89, 0x1B, 0x98, 0x0B, 0x80, 0x00, 0x00, 0x00, 0x01, 0x7A, + 0x01, 0x7B, 0x66, 0x1A, 0x66, 0x1B, 0x8B, 0x4A, 0x62, 0x0A, 0x2B, 0x6A, 0x98, 0x0B, 0x22, 0x3C, 0x00, 0xF0, 0xBD, 0x6A, 0x8B, 0x6A, 0x20, 0x0A, 0x62, 0x0A, 0x08, 0x2A, 0x76, 0x0A, 0x98, 0x0B, + 0x22, 0x34, 0x00, 0xF0, 0xBD, 0x6A, 0x18, 0x3A, 0x18, 0x3B, 0x8B, 0x49, 0x8B, 0x68, 0x62, 0x09, 0x62, 0x08, 0x98, 0x0B, 0x22, 0x30, 0x00, 0xF0, 0xBD, 0x7D, 0x98, 0x0A, 0x00, 0x40, 0x00, 0x40, + 0x98, 0x0B, 0x22, 0x08, 0x00, 0xF0, 0xBD, 0x6A, 0x88, 0x46, 0x88, 0x67, 0x10, 0x02, 0x58, 0x02, 0x15, 0x4A, 0x55, 0x02, 0x37, 0xEA, 0xD4, 0x42, 0xE4, 0x00, 0x20, 0x02, 0x10, 0x23, 0x58, 0x03, + 0x15, 0x4A, 0x55, 0x03, 0x37, 0xEA, 0xD4, 0x42, 0xE4, 0x00, 0x20, 0x03, 0x88, 0x4A, 0x88, 0x6B, 0x25, 0x8A, 0x62, 0x0B, 0x29, 0x6A, 0x89, 0x51, 0xBE, 0xF1, 0x88, 0x4A, 0x88, 0x6B, 0x25, 0xAB, + 0x66, 0x0A, 0x29, 0x6A, 0x89, 0x50, 0xBE, 0xD0, 0x10, 0x04, 0x58, 0x04, 0x15, 0x4A, 0x55, 0x24, 0x37, 0xEA, 0xD4, 0x42, 0xE4, 0x00, 0x20, 0x04, 0x00, 0x04, 0x10, 0x44, 0x10, 0xC4, 0x10, 0x25, + 0x58, 0x05, 0x15, 0x4A, 0x55, 0x25, 0x37, 0xEA, 0xD4, 0x42, 0xE4, 0x00, 0x20, 0x05, 0x00, 0x25, 0x10, 0x65, 0x10, 0xE5, 0x88, 0x8A, 0x88, 0xAB, 0x25, 0x8A, 0x62, 0x0B, 0x29, 0x6A, 0x89, 0x53, + 0xBF, 0x33, 0x88, 0x8A, 0x88, 0xAB, 0x25, 0xAB, 0x66, 0x0A, 0x29, 0x6A, 0x89, 0x52, 0xBF, 0x12, 0x88, 0x0A, 0x88, 0x2B, 0x98, 0x1A, 0x80, 0x00, 0x00, 0x00, 0x03, 0x4A, 0x03, 0x4B, 0x25, 0x8A, + 0x62, 0x0B, 0x29, 0x6A, 0x89, 0x4F, 0xBE, 0xAF, 0x88, 0x0A, 0x88, 0x2B, 0x03, 0x4A, 0x03, 0x4B, 0x25, 0xAB, 0x66, 0x0A, 0x29, 0x6A, 0x89, 0x4E, 0xBE, 0x8E, 0x98, 0x0A, 0x2F, 0x41, 0x41, 0x80, + 0x98, 0x0B, 0x22, 0x38, 0x00, 0xF0, 0xD3, 0x80, 0xBD, 0x6A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF0, 0x30, 0x00, 0x00, 0x00, 0x01, 0xB8, 0x98, 0x00, 0x3E, 0x00, 0x00, 0xF0, 0x90, 0x1C, + 0x98, 0x17, 0x30, 0x76, 0x00, 0xF0, 0x98, 0x16, 0x30, 0x74, 0x00, 0xF0, 0x8C, 0x94, 0x98, 0x15, 0x30, 0xB4, 0x00, 0xF0, 0x63, 0x94, 0x98, 0x04, 0x3F, 0xE8, 0x00, 0xF0, 0xA4, 0x83, 0xE4, 0x00, + 0x90, 0x1A, 0x90, 0x3B, 0x88, 0x61, 0x97, 0x80, 0xBC, 0x01, 0x08, 0x80, 0xE4, 0x00, 0x90, 0x1C, 0x88, 0x23, 0x97, 0x61, 0xE4, 0x00, 0x97, 0x40, 0xE4, 0x00, 0x88, 0x60, 0xCC, 0x18, 0xD2, 0xE0, + 0x08, 0xD8, 0x98, 0x04, 0x3F, 0xE8, 0x00, 0xF0, 0xBC, 0x80, 0x88, 0x60, 0xCC, 0x18, 0xD2, 0xC0, 0x08, 0xD8, 0x98, 0x04, 0x3F, 0xEC, 0x00, 0xF0, 0xBC, 0x80, 0x98, 0x01, 0x21, 0x14, 0x00, 0xF0, + 0xA4, 0x20, 0x3C, 0x00, 0x38, 0x60, 0xBC, 0x20, 0xD7, 0xE0, 0xE4, 0x00, 0x02, 0x80, 0x61, 0x00, 0x8A, 0xA4, 0xD5, 0x98, 0x67, 0x00, 0x78, 0x14, 0xD4, 0x94, 0x8A, 0x81, 0x63, 0xE1, 0x10, 0x01, + 0x88, 0x20, 0x63, 0xC0, 0x00, 0x04, 0xD5, 0xE0, 0xA4, 0x80, 0xE4, 0x00, 0x3C, 0xE0, 0x78, 0x14, 0xD4, 0x94, 0x8A, 0x81, 0x63, 0xE1, 0x10, 0x01, 0x88, 0x20, 0x63, 0xC0, 0x00, 0x04, 0xA4, 0x80, + 0xD4, 0x40, 0x20, 0x00, 0xE4, 0x00, 0xD3, 0x00, 0xE4, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x2A, 0x00, 0x00, 0x06, 0x52, 0x00, 0x00, 0x09, 0x60, 0x00, 0x00, 0x0C, 0x8E, + 0x00, 0x00, 0x0F, 0xA8, 0x00, 0x00, 0x12, 0xC4, 0x00, 0x00, 0x15, 0xE0, 0x00, 0x00, 0x18, 0xFA, 0x00, 0x00, 0x1C, 0x0A, 0x00, 0x00, 0x1F, 0x1A, 0x00, 0x00, 0x22, 0x20, 0x00, 0x00, 0x25, 0x24, + 0x00, 0x00, 0x28, 0x28, 0x00, 0x00, 0x2B, 0x20, 0x00, 0x00, 0x2E, 0x12, 0x00, 0x00, 0x30, 0xFC, 0x00, 0x00, 0x33, 0xE0, 0x00, 0x00, 0x36, 0xBA, 0x00, 0x00, 0x39, 0x8C, 0x00, 0x00, 0x3C, 0x58, + 0x00, 0x00, 0x3F, 0x16, 0x00, 0x00, 0x41, 0xCE, 0x00, 0x00, 0x44, 0x7C, 0x00, 0x00, 0x47, 0x1C, 0x00, 0x00, 0x49, 0xB4, 0x00, 0x00, 0x4C, 0x40, 0x00, 0x00, 0x4E, 0xC0, 0x00, 0x00, 0x51, 0x34, + 0x00, 0x00, 0x53, 0x9C, 0x00, 0x00, 0x55, 0xF6, 0x00, 0x00, 0x58, 0x42, 0x00, 0x00, 0x5A, 0x82, 0x00, 0x00, 0x5C, 0xB4, 0x00, 0x00, 0x5E, 0xD8, 0x00, 0x00, 0x60, 0xEC, 0x00, 0x00, 0x62, 0xF2, + 0x00, 0x00, 0x64, 0xE8, 0x00, 0x00, 0x66, 0xD0, 0x00, 0x00, 0x68, 0xA6, 0x00, 0x00, 0x6A, 0x6E, 0x00, 0x00, 0x6C, 0x24, 0x00, 0x00, 0x6D, 0xCA, 0x00, 0x00, 0x6F, 0x60, 0x00, 0x00, 0x70, 0xE2, + 0x00, 0x00, 0x72, 0x56, 0x00, 0x00, 0x73, 0xB6, 0x00, 0x00, 0x75, 0x04, 0x00, 0x00, 0x76, 0x42, 0x00, 0x00, 0x77, 0x6C, 0x00, 0x00, 0x78, 0x84, 0x00, 0x00, 0x79, 0x8A, 0x00, 0x00, 0x7A, 0x7E, + 0x00, 0x00, 0x7B, 0x5E, 0x00, 0x00, 0x7C, 0x2A, 0x00, 0x00, 0x7C, 0xE4, 0x00, 0x00, 0x7D, 0x8A, 0x00, 0x00, 0x7E, 0x1E, 0x00, 0x00, 0x7E, 0x9E, 0x00, 0x00, 0x7F, 0x0A, 0x00, 0x00, 0x7F, 0x62, + 0x00, 0x00, 0x7F, 0xA8, 0x00, 0x00, 0x7F, 0xD8, 0x00, 0x00, 0x7F, 0xF6, 0x00, 0x00, 0x80, 0x00, 0x00, 0x04, 0x00, 0xB0, 0x01, 0x08, 0x00, 0x15, 0xD0, 0x00, 0x00, 0x50, 0x00, 0x0E, 0x00, 0x0E, + 0x04, 0x00, 0x01, 0x02, 0x01, 0x08, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0xD5, 0xD0, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x26, 0x00, 0x10, 0x00, 0x00, 0x00, 0xF0, 0x00, 0x50, + 0x00, 0x50, 0x04, 0x00, 0x01, 0x04, 0x01, 0x00, 0x00, 0x00, 0x00, 0x20, 0x20, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0xA0, 0x01, 0x2C, 0x00, 0x14, 0xB0, 0x00, 0x00, 0x80, + 0x00, 0x20, 0x00, 0x20, 0x04, 0x00, 0x01, 0x04, 0x01, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0xE6, 0x01, 0x78, 0x00, 0x16, 0x5C, 0x00, + 0x00, 0x1C, 0x00, 0x02, 0x00, 0x02, 0x04, 0x00, 0x01, 0x02, 0x01, 0x00, 0x00, 0x00, 0x00, 0x20, 0x20, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x04, 0x00, 0xB3, 0x01, 0x18, 0x00, 0x15, 0xD0, 0x00, 0x00, 0x50, 0x00, 0x0E, 0x00, 0x0E, 0x04, 0x00, 0x01, 0x02, 0x01, 0x08, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0xD5, 0xD0, + 0x00, 0x00, 0x00, 0x01, 0x00, 0x03, 0x00, 0x36, 0x00, 0x10, 0x00, 0x00, 0x00, 0xF0, 0x00, 0x50, 0x00, 0x50, 0x04, 0x00, 0x01, 0x04, 0x01, 0x00, 0x00, 0x00, 0x00, 0x20, 0x20, 0x20, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0xA3, 0x01, 0x3C, 0x00, 0x14, 0xB0, 0x00, 0x00, 0x80, 0x00, 0x20, 0x00, 0x20, 0x04, 0x00, 0x01, 0x04, 0x01, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0xE9, 0x01, 0x88, 0x00, 0x16, 0x5C, 0x00, 0x00, 0x1C, 0x00, 0x02, 0x00, 0x02, 0x04, 0x00, 0x01, 0x02, 0x01, 0x00, 0x00, 0x00, 0x00, 0x20, + 0x20, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x92, 0xD6, 0x00, 0x01, 0x00, 0x03, 0x93, 0xE0, 0x00, 0x03, 0x94, 0x18, 0x00, 0x03, + 0x94, 0xC0, 0x00, 0x03, 0x94, 0xF8, 0x00, 0x03, 0x93, 0x70, 0x00, 0x03, 0x93, 0xA8, 0x00, 0x03, 0x94, 0x50, 0x00, 0x03, 0x94, 0x88, 0x00, 0x03, 0x93, 0x00, 0x00, 0x03, 0x93, 0x38, 0x00, 0x00, + 0x93, 0x08, 0x00, 0x00, 0x94, 0x4A, 0x00, 0x02, 0x00, 0x0A, 0x00, 0x02, 0xFB, 0x70, 0xFF, 0xF0, 0x02, 0x00, 0xFF, 0x70, 0x00, 0xF0, 0x00, 0x00, 0x00, 0x10, 0x00, 0x04, 0xFF, 0xF8, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x07, 0xFB, 0x70, 0xFF, 0xF0, 0x01, 0xFF, 0xFF, 0x72, 0x00, 0xF0, 0xFF, 0xFF, 0x00, 0x10, 0x00, 0x04, 0xFF, 0xF8, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x03, 0xFB, 0xB8, 0xFD, 0xF0, 0x02, 0x00, 0xFF, 0xB8, 0x00, 0xF0, 0x00, 0x00, 0x00, 0x10, 0x00, 0x0C, 0xFF, 0xF8, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0xFF, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0xFB, 0xB8, 0xFD, 0xF0, 0x01, 0xFF, 0xFF, 0xB8, 0x00, 0xF0, 0xFF, 0xFF, 0x00, 0x10, 0x00, 0x0C, 0xFF, 0xF8, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0xFF, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0xFB, 0xF0, 0x02, 0x00, 0x00, 0x00, 0x00, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, 0xFF, 0xF8, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xF0, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0xFB, 0xF0, 0x01, 0xFF, 0x00, 0x00, 0x00, 0xF0, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x14, 0xFF, 0xF8, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xF0, 0x00, 0x00, 0x00, 0x05, 0x04, 0x60, 0xFD, 0xF0, 0x02, 0x00, 0x00, 0x60, 0x00, 0xF0, 0x00, 0x00, 0xFF, 0xF0, 0x00, 0x0C, 0xFF, 0xF8, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0A, 0x04, 0x60, 0xFD, 0xF0, 0x01, 0xFF, 0x00, 0x60, 0x00, 0xF0, 0xFF, 0xFF, 0xFF, 0xF0, 0x00, 0x0C, 0xFF, 0xF8, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x04, 0xA0, 0xFF, 0xF0, 0x02, 0x00, 0x00, 0xA0, 0x00, 0xF0, 0x00, 0x00, 0xFF, 0xF0, 0x00, 0x04, 0xFF, 0xF8, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xF0, 0x00, 0x0B, 0x04, 0xA0, 0xFF, 0xF0, 0x01, 0xFF, 0x00, 0xA0, 0x00, 0xF0, 0xFF, 0xFF, 0xFF, 0xF0, 0x00, 0x04, 0xFF, 0xF8, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xF0, 0x00, 0x0A, 0x00, 0x02, 0xFB, 0x81, 0xFF, 0xE7, 0x02, 0x12, 0xFF, 0x70, 0x00, 0xF0, 0x00, 0x00, 0x00, 0x13, 0x00, 0x05, 0xFF, 0xF6, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x13, 0x00, 0x07, 0xFB, 0x81, 0xFF, 0xE7, 0x02, 0x11, 0xFF, 0x72, 0x00, 0xF0, 0xFF, 0xFF, 0x00, 0x13, 0x00, 0x05, 0xFF, 0xF6, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x13, 0x00, 0x03, 0xFB, 0xC9, 0xFD, 0xD5, 0x02, 0x12, 0xFF, 0xB8, 0x00, 0xF0, 0x00, 0x00, 0x00, 0x13, 0x00, 0x0F, 0xFF, 0xF6, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xED, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0xFB, 0xC9, 0xFD, 0xD5, 0x02, 0x11, 0xFF, 0xB8, 0x00, 0xF0, 0xFF, 0xFF, 0x00, 0x13, 0x00, 0x0F, 0xFF, 0xF6, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xED, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0xFB, 0xF8, 0x02, 0x12, 0x00, 0x00, 0x00, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0xFF, 0xF6, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xED, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0xFB, 0xF8, 0x02, 0x11, 0x00, 0x00, 0x00, 0xF0, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x18, 0xFF, 0xF6, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xED, 0x00, 0x00, 0x00, 0x05, 0x04, 0x4F, 0xFD, 0xD5, 0x02, 0x12, 0x00, 0x60, 0x00, 0xF0, 0x00, 0x00, 0xFF, 0xED, 0x00, 0x0F, 0xFF, 0xF6, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0A, 0x04, 0x4F, 0xFD, 0xD5, 0x02, 0x11, 0x00, 0x60, 0x00, 0xF0, 0xFF, 0xFF, 0xFF, 0xED, 0x00, 0x0F, 0xFF, 0xF6, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x04, 0x8F, 0xFF, 0xE7, 0x02, 0x12, 0x00, 0xA0, 0x00, 0xF0, 0x00, 0x00, 0xFF, 0xED, 0x00, 0x05, 0xFF, 0xF6, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xED, 0x00, 0x0B, 0x04, 0x8F, 0xFF, 0xE7, 0x02, 0x11, 0x00, 0xA0, 0x00, 0xF0, 0xFF, 0xFF, 0xFF, 0xED, 0x00, 0x05, 0xFF, 0xF6, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xED, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0xE4, 0x00, 0x00, 0x00, 0x1C, 0x00, 0x54, 0x00, 0x38, 0x00, 0x00, 0x97, 0xD4, + 0x00, 0x00, 0x99, 0x28, 0x00, 0x03, 0x77, 0xC7, 0xFF, 0x40, 0x00, 0xD4, 0xFF, 0x30, 0x00, 0x03, 0x77, 0xC7, 0x01, 0x28, 0xFE, 0xE4, 0xFF, 0x0C, 0x00, 0x03, 0x77, 0xC7, 0x01, 0x20, 0xFF, 0x84, + 0x01, 0x1C, 0x00, 0x03, 0x77, 0xC7, 0x01, 0x24, 0xFE, 0xE0, 0xFE, 0xE8, 0x00, 0x03, 0x77, 0xC7, 0xFF, 0x70, 0x00, 0xA4, 0xFF, 0x60, 0x00, 0x03, 0x77, 0xC7, 0xFF, 0x1C, 0x00, 0xF4, 0xFF, 0x10, + 0x00, 0x03, 0x77, 0xC7, 0x01, 0x3C, 0xFF, 0x00, 0xFE, 0xC8, 0x00, 0x03, 0x77, 0xC7, 0xFF, 0x28, 0x00, 0xEC, 0xFF, 0x18, 0x00, 0x03, 0x77, 0xC7, 0x01, 0x34, 0xFF, 0x2C, 0xFE, 0xD0, 0x00, 0x03, + 0x77, 0xC7, 0x01, 0x38, 0xFE, 0xD4, 0xFF, 0x20, 0x00, 0x03, 0x77, 0xC7, 0xFF, 0x08, 0x01, 0x10, 0xFE, 0xF4, 0x00, 0x03, 0x77, 0xC7, 0x01, 0x4C, 0xFF, 0x74, 0xFE, 0xB8, 0x00, 0x03, 0x77, 0xC7, + 0x01, 0x50, 0xFE, 0xB4, 0xFF, 0x50, 0x00, 0x03, 0x77, 0xC7, 0xFF, 0x7C, 0x00, 0x98, 0xFF, 0x6C, 0x00, 0x03, 0x77, 0xC7, 0xFF, 0x5C, 0xFF, 0x68, 0xFE, 0xB0, 0x00, 0x03, 0x77, 0xC7, 0x00, 0xC4, + 0x00, 0xC0, 0xFF, 0xD8, 0x00, 0x03, 0x77, 0xC7, 0xFF, 0x4C, 0x00, 0xC8, 0xFF, 0x3C, 0x00, 0x03, 0x77, 0xC7, 0x00, 0xE8, 0x00, 0xE4, 0xFF, 0xE0, 0x00, 0x03, 0x77, 0xC7, 0x01, 0x30, 0xFF, 0x38, + 0xFF, 0x44, 0x00, 0x03, 0x77, 0xC7, 0x00, 0xDC, 0x00, 0xD8, 0xFF, 0xC4, 0x00, 0x03, 0x77, 0xC7, 0xFF, 0x34, 0x00, 0xE0, 0xFF, 0x24, 0x00, 0x03, 0x77, 0xC7, 0x00, 0xFC, 0x00, 0xF8, 0xFF, 0xBC, + 0x00, 0x03, 0x77, 0xC7, 0x01, 0x14, 0xFE, 0xFC, 0xFF, 0xF0, 0x00, 0x03, 0x77, 0xC7, 0x01, 0x2C, 0xFE, 0xD8, 0xFF, 0x14, 0x00, 0x03, 0x77, 0xC7, 0x01, 0x40, 0xFE, 0xC4, 0xFE, 0xCC, 0x00, 0x03, + 0x77, 0xC7, 0x00, 0xD0, 0x00, 0xCC, 0xFF, 0xCC, 0x00, 0x03, 0x77, 0xC7, 0x00, 0xF0, 0xFF, 0x80, 0xFF, 0xE8, 0x00, 0x03, 0x77, 0xC7, 0x01, 0x04, 0x01, 0x00, 0xFF, 0x04, 0x00, 0x03, 0x77, 0xC7, + 0xFE, 0xF8, 0x01, 0x18, 0xFE, 0xEC, 0x00, 0x03, 0x77, 0xC7, 0x00, 0x78, 0x00, 0x74, 0xFF, 0xFC, 0x00, 0x03, 0x77, 0xC7, 0x00, 0xAC, 0x00, 0xA8, 0xFF, 0x9C, 0x00, 0x03, 0x77, 0xC7, 0x00, 0xB8, + 0x00, 0xB4, 0xFF, 0xD4, 0x00, 0x03, 0x77, 0xC7, 0xFF, 0x58, 0x00, 0xBC, 0xFF, 0x48, 0x00, 0x03, 0x77, 0xC7, 0x00, 0x80, 0x00, 0x7C, 0xFF, 0x88, 0x00, 0x03, 0x77, 0xC7, 0xFF, 0x8C, 0x00, 0x8C, + 0xFF, 0x78, 0x00, 0x03, 0x77, 0xC7, 0x00, 0x94, 0x00, 0x90, 0xFF, 0x94, 0x00, 0x03, 0x77, 0xC7, 0x01, 0x44, 0xFE, 0xF0, 0xFE, 0xC0, 0x00, 0x03, 0x77, 0xC7, 0x00, 0x40, 0x00, 0x3C, 0xFF, 0xDC, + 0x00, 0x03, 0x77, 0xC7, 0x00, 0x48, 0xFF, 0xC0, 0x00, 0x44, 0x00, 0x03, 0x77, 0xC7, 0xFF, 0x64, 0x00, 0xB0, 0xFF, 0x54, 0x00, 0x03, 0x77, 0xC7, 0x01, 0x0C, 0x01, 0x08, 0xFF, 0xB0, 0x00, 0x03, + 0x77, 0xC7, 0x00, 0xA0, 0x00, 0x9C, 0xFF, 0x90, 0x00, 0x03, 0x77, 0xC7, 0x01, 0x48, 0xFE, 0xDC, 0xFE, 0xBC, 0x00, 0x03, 0x77, 0xC7, 0x00, 0x88, 0x00, 0x84, 0xFF, 0xA4, 0x00, 0x03, 0x77, 0xC7, + 0x00, 0x1C, 0x00, 0x18, 0xFF, 0xF8, 0x00, 0x03, 0x77, 0xC7, 0x00, 0x24, 0x00, 0x20, 0xFF, 0xE4, 0x00, 0x03, 0x77, 0xC7, 0x00, 0x0C, 0x00, 0x08, 0x00, 0x04, 0x00, 0x03, 0x77, 0xC7, 0x00, 0x38, + 0xFF, 0xD0, 0x00, 0x34, 0x00, 0x03, 0x77, 0xC7, 0x00, 0x4C, 0xFF, 0xC8, 0xFF, 0xB8, 0x00, 0x03, 0x77, 0xC7, 0x00, 0x58, 0xFF, 0xAC, 0xFF, 0xEC, 0x00, 0x03, 0x77, 0xC7, 0x00, 0x60, 0xFF, 0xA8, + 0x00, 0x5C, 0x00, 0x03, 0x77, 0xC7, 0x00, 0x68, 0x00, 0x64, 0xFF, 0xA0, 0x00, 0x03, 0x77, 0xC7, 0x00, 0x70, 0xFF, 0x98, 0x00, 0x6C, 0x00, 0x03, 0x77, 0xC7, 0x00, 0x54, 0xFF, 0xB4, 0x00, 0x50, + 0x00, 0x03, 0x77, 0xC7, 0x00, 0x14, 0x00, 0x10, 0xFF, 0xF4, 0x00, 0x03, 0x77, 0xC7, 0x00, 0x30, 0x00, 0x2C, 0x00, 0x28, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x08, 0x00, 0x58, 0x00, 0x00, + 0x00, 0x08, 0x00, 0x58, 0x00, 0x68, 0x00, 0x58, 0x00, 0x08, 0x00, 0x68, 0x00, 0x50, 0x00, 0x00, 0x00, 0x58, 0x00, 0x50, 0x00, 0x48, 0x00, 0x50, 0x00, 0x58, 0x00, 0x48, 0x00, 0x30, 0x00, 0x38, + 0x00, 0x28, 0x00, 0x30, 0x00, 0x38, 0x00, 0x28, 0x00, 0x38, 0x00, 0x40, 0x00, 0x40, 0x00, 0x28, 0x00, 0x40, 0x00, 0x48, 0x00, 0x58, 0x00, 0x40, 0x00, 0x58, 0x00, 0x60, 0x00, 0x60, 0x00, 0x40, + 0x00, 0x60, 0x00, 0x28, 0x00, 0x60, 0x00, 0x68, 0x00, 0x68, 0x00, 0x28, 0x00, 0x08, 0x00, 0x28, 0x00, 0x08, 0x00, 0x10, 0x00, 0x10, 0x00, 0x28, 0x00, 0x20, 0x00, 0x28, 0x00, 0x10, 0x00, 0x20, + 0x00, 0x10, 0x00, 0x18, 0x00, 0x18, 0x00, 0x20, 0x00, 0x78, 0x00, 0x08, 0x00, 0x00, 0x00, 0x78, 0x00, 0x70, 0x00, 0x78, 0x00, 0x00, 0x00, 0x70, 0x00, 0x80, 0x00, 0x10, 0x00, 0x08, 0x00, 0x80, + 0x00, 0x78, 0x00, 0x80, 0x00, 0x88, 0x00, 0x18, 0x00, 0x10, 0x00, 0x88, 0x00, 0x80, 0x00, 0x88, 0x00, 0x90, 0x00, 0x20, 0x00, 0x18, 0x00, 0x90, 0x00, 0x88, 0x00, 0x90, 0x00, 0x98, 0x00, 0x28, + 0x00, 0x20, 0x00, 0x98, 0x00, 0x90, 0x00, 0x98, 0x00, 0xA0, 0x00, 0x30, 0x00, 0x28, 0x00, 0xA0, 0x00, 0x98, 0x00, 0xA0, 0x00, 0xA8, 0x00, 0x38, 0x00, 0x30, 0x00, 0xA8, 0x00, 0xA0, 0x00, 0xA8, + 0x00, 0xB0, 0x00, 0x40, 0x00, 0x38, 0x00, 0xB0, 0x00, 0xA8, 0x00, 0xB0, 0x00, 0xB8, 0x00, 0x48, 0x00, 0x40, 0x00, 0xB8, 0x00, 0xB0, 0x00, 0xB8, 0x00, 0xC0, 0x00, 0x50, 0x00, 0x48, 0x00, 0xC0, + 0x00, 0xB8, 0x00, 0xC0, 0x00, 0x50, 0x00, 0x70, 0x00, 0xC0, 0x00, 0x70, 0x00, 0xD0, 0x00, 0x60, 0x00, 0x58, 0x00, 0xD0, 0x00, 0xC8, 0x00, 0xD0, 0x00, 0x58, 0x00, 0xC8, 0x00, 0xD8, 0x00, 0x68, + 0x00, 0x60, 0x00, 0xD8, 0x00, 0xD0, 0x00, 0xD8, 0x00, 0x68, 0x00, 0xC8, 0x00, 0xD8, 0x00, 0xC8, 0x00, 0x70, 0x00, 0xC8, 0x00, 0xC8, 0x00, 0x78, 0x00, 0xD8, 0x00, 0x78, 0x00, 0xC0, 0x00, 0xC8, + 0x00, 0xB8, 0x00, 0xC8, 0x00, 0x98, 0x00, 0xA8, 0x00, 0x98, 0x00, 0xB0, 0x00, 0xB0, 0x00, 0xC8, 0x00, 0xB0, 0x00, 0xD0, 0x00, 0x98, 0x00, 0xD0, 0x00, 0x98, 0x00, 0xD8, 0x00, 0x98, 0x00, 0x78, + 0x00, 0x98, 0x00, 0x80, 0x00, 0x90, 0x00, 0x80, 0xFF, 0xD2, 0x00, 0x3D, 0xFF, 0xE8, 0xD8, 0xB1, 0x1D, 0xA6, 0xD7, 0x1E, 0xFF, 0xF2, 0xFF, 0xCD, 0xFF, 0xE8, 0xCE, 0xFE, 0xE3, 0x2A, 0xE2, 0xA2, + 0xFF, 0xF9, 0xFF, 0xC6, 0xFF, 0xE8, 0xE0, 0x07, 0xD0, 0xC7, 0xE2, 0xF6, 0x00, 0x00, 0xFF, 0xC3, 0xFF, 0xE8, 0xFD, 0xA8, 0xC7, 0x9E, 0xE1, 0xD1, 0x00, 0x09, 0xFF, 0xC6, 0xFF, 0xE8, 0x1F, 0xB2, + 0xD0, 0xDC, 0xE2, 0x87, 0x00, 0x0F, 0xFF, 0xCD, 0xFF, 0xE8, 0x32, 0x7A, 0xE5, 0xA9, 0xE2, 0xC7, 0x00, 0x2C, 0x00, 0x3D, 0xFF, 0xE8, 0x27, 0x31, 0x1E, 0x56, 0xD7, 0x84, 0x00, 0x17, 0x00, 0x3D, + 0xFF, 0xE8, 0xDF, 0x2C, 0x2B, 0x1C, 0xDD, 0xF2, 0x00, 0x0F, 0x00, 0x20, 0xFF, 0xE8, 0xDF, 0x2C, 0x2B, 0x1C, 0xDD, 0xF2, 0xFF, 0xF1, 0x00, 0x20, 0xFF, 0xE8, 0x20, 0xD4, 0x2B, 0x1C, 0xDD, 0xF2, + 0xFF, 0xE9, 0x00, 0x3D, 0xFF, 0xE8, 0x20, 0xD4, 0x2B, 0x1C, 0xDD, 0xF2, 0xFF, 0xF6, 0x00, 0x0A, 0xFF, 0xE8, 0x27, 0x17, 0xE1, 0x20, 0xD7, 0xD2, 0x00, 0x0A, 0x00, 0x0A, 0xFF, 0xE8, 0xD8, 0xE9, + 0xE1, 0x20, 0xD7, 0xD2, 0x00, 0x00, 0xFF, 0xE0, 0xFF, 0xE8, 0x00, 0x00, 0x1A, 0xE6, 0xC5, 0xEE, 0xFF, 0xD2, 0x00, 0x3D, 0x00, 0x1A, 0xD8, 0xB1, 0x1D, 0xA6, 0x28, 0xE2, 0xFF, 0xF2, 0xFF, 0xCD, + 0x00, 0x1A, 0xCE, 0xFE, 0xE3, 0x2A, 0x1D, 0x5E, 0xFF, 0xF9, 0xFF, 0xC6, 0x00, 0x1A, 0xE0, 0x07, 0xD0, 0xC7, 0x1D, 0x0A, 0x00, 0x00, 0xFF, 0xC3, 0x00, 0x1A, 0xFD, 0xA8, 0xC7, 0x9E, 0x1E, 0x2F, + 0x00, 0x09, 0xFF, 0xC6, 0x00, 0x1A, 0x1F, 0xB2, 0xD0, 0xDC, 0x1D, 0x79, 0x00, 0x0F, 0xFF, 0xCD, 0x00, 0x1A, 0x32, 0x7A, 0xE5, 0xA9, 0x1D, 0x39, 0x00, 0x2C, 0x00, 0x3D, 0x00, 0x1A, 0x27, 0x31, + 0x1E, 0x56, 0x28, 0x7C, 0x00, 0x17, 0x00, 0x3D, 0x00, 0x1A, 0xDF, 0x2C, 0x2B, 0x1C, 0x22, 0x0E, 0x00, 0x0F, 0x00, 0x20, 0x00, 0x1A, 0xDF, 0x2C, 0x2B, 0x1C, 0x22, 0x0E, 0xFF, 0xF1, 0x00, 0x20, + 0x00, 0x1A, 0x20, 0xD4, 0x2B, 0x1C, 0x22, 0x0E, 0xFF, 0xE9, 0x00, 0x3D, 0x00, 0x1A, 0x20, 0xD4, 0x2B, 0x1C, 0x22, 0x0E, 0xFF, 0xF6, 0x00, 0x0A, 0x00, 0x1A, 0x27, 0x17, 0xE1, 0x20, 0x28, 0x2E, + 0x00, 0x0A, 0x00, 0x0A, 0x00, 0x1A, 0xD8, 0xE9, 0xE1, 0x20, 0x28, 0x2E, 0x00, 0x00, 0xFF, 0xE0, 0x00, 0x1A, 0x00, 0x00, 0x1A, 0xE6, 0x3A, 0x12, 0x00, 0x00, 0x02, 0x94, 0x00, 0x00, 0x00, 0x10, + 0x00, 0x2A, 0x00, 0x1C, 0x00, 0x00, 0x9B, 0xA4, 0x00, 0x00, 0x9C, 0x50, 0x00, 0x03, 0x77, 0xC7, 0x00, 0x44, 0x00, 0x40, 0xFF, 0xC4, 0x00, 0x03, 0x77, 0xC7, 0x00, 0x58, 0x00, 0x54, 0xFF, 0xCC, + 0x00, 0x03, 0x77, 0xC7, 0x00, 0xA4, 0xFF, 0x60, 0xFF, 0x98, 0x00, 0x03, 0x77, 0xC7, 0xFF, 0xC8, 0x00, 0x50, 0xFF, 0xB4, 0x00, 0x03, 0x77, 0xC7, 0x00, 0x9C, 0xFF, 0xC0, 0xFF, 0x68, 0x00, 0x03, + 0x77, 0xC7, 0xFF, 0xAC, 0x00, 0x68, 0xFF, 0x9C, 0x00, 0x03, 0x77, 0xC7, 0xFF, 0xB8, 0x00, 0x5C, 0xFF, 0xA8, 0x00, 0x03, 0x77, 0xC7, 0x00, 0xA0, 0xFF, 0x80, 0xFF, 0x8C, 0x00, 0x03, 0x77, 0xC7, + 0xFF, 0x7C, 0x00, 0x94, 0xFF, 0x70, 0x00, 0x03, 0x77, 0xC7, 0xFF, 0x88, 0x00, 0x8C, 0xFF, 0x78, 0x00, 0x03, 0x77, 0xC7, 0xFF, 0xA4, 0xFF, 0xB0, 0xFF, 0x58, 0x00, 0x03, 0x77, 0xC7, 0x00, 0x98, + 0xFF, 0x6C, 0xFF, 0x74, 0x00, 0x03, 0x77, 0xC7, 0x00, 0x90, 0xFF, 0xBC, 0xFF, 0xFC, 0x00, 0x03, 0x77, 0xC7, 0x00, 0x4C, 0x00, 0x48, 0xFF, 0xD0, 0x00, 0x03, 0x77, 0xC7, 0xFF, 0x94, 0x00, 0x80, + 0xFF, 0x84, 0x00, 0x03, 0x77, 0xC7, 0x00, 0x88, 0x00, 0x84, 0xFF, 0xF8, 0x00, 0x03, 0x77, 0xC7, 0x00, 0xA8, 0xFF, 0x64, 0xFF, 0x5C, 0x00, 0x03, 0x77, 0xC7, 0x00, 0x64, 0x00, 0x60, 0xFF, 0xDC, + 0x00, 0x03, 0x77, 0xC7, 0x00, 0x3C, 0x00, 0x38, 0xFF, 0xF0, 0x00, 0x03, 0x77, 0xC7, 0x00, 0x7C, 0x00, 0x78, 0xFF, 0xE8, 0x00, 0x03, 0x77, 0xC7, 0x00, 0x2C, 0xFF, 0xD8, 0xFF, 0xEC, 0x00, 0x03, + 0x77, 0xC7, 0x00, 0x34, 0xFF, 0xD4, 0x00, 0x30, 0x00, 0x03, 0x77, 0xC7, 0x00, 0x70, 0x00, 0x6C, 0xFF, 0xE4, 0x00, 0x03, 0x77, 0xC7, 0xFF, 0xA0, 0x00, 0x74, 0xFF, 0x90, 0x00, 0x03, 0x77, 0xC7, + 0x00, 0x0C, 0x00, 0x08, 0x00, 0x04, 0x00, 0x03, 0x77, 0xC7, 0x00, 0x14, 0xFF, 0xF4, 0x00, 0x10, 0x00, 0x03, 0x77, 0xC7, 0x00, 0x20, 0x00, 0x1C, 0x00, 0x18, 0x00, 0x03, 0x77, 0xC7, 0x00, 0x28, + 0x00, 0x24, 0xFF, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x38, 0x00, 0x00, 0x00, 0x30, 0x00, 0x38, 0x00, 0x00, 0x00, 0x30, 0x00, 0x00, 0x00, 0x08, 0x00, 0x08, 0x00, 0x30, 0x00, 0x28, 0x00, 0x30, + 0x00, 0x20, 0x00, 0x28, 0x00, 0x30, 0x00, 0x20, 0x00, 0x18, 0x00, 0x20, 0x00, 0x30, 0x00, 0x18, 0x00, 0x08, 0x00, 0x18, 0x00, 0x08, 0x00, 0x10, 0x00, 0x10, 0x00, 0x18, 0x00, 0x48, 0x00, 0x08, + 0x00, 0x00, 0x00, 0x48, 0x00, 0x40, 0x00, 0x48, 0x00, 0x00, 0x00, 0x40, 0x00, 0x50, 0x00, 0x10, 0x00, 0x08, 0x00, 0x50, 0x00, 0x48, 0x00, 0x50, 0x00, 0x58, 0x00, 0x18, 0x00, 0x10, 0x00, 0x58, + 0x00, 0x50, 0x00, 0x58, 0x00, 0x60, 0x00, 0x20, 0x00, 0x18, 0x00, 0x60, 0x00, 0x58, 0x00, 0x60, 0x00, 0x68, 0x00, 0x28, 0x00, 0x20, 0x00, 0x68, 0x00, 0x60, 0x00, 0x68, 0x00, 0x70, 0x00, 0x30, + 0x00, 0x28, 0x00, 0x70, 0x00, 0x68, 0x00, 0x70, 0x00, 0x78, 0x00, 0x38, 0x00, 0x30, 0x00, 0x78, 0x00, 0x70, 0x00, 0x78, 0x00, 0x38, 0x00, 0x40, 0x00, 0x78, 0x00, 0x40, 0x00, 0x70, 0x00, 0x40, + 0x00, 0x70, 0x00, 0x48, 0x00, 0x60, 0x00, 0x70, 0x00, 0x58, 0x00, 0x70, 0x00, 0x58, 0x00, 0x48, 0xFF, 0xF6, 0x00, 0x3D, 0xFF, 0xE8, 0xDB, 0x0D, 0x24, 0xF3, 0xDB, 0x0D, 0xFF, 0xF6, 0xFF, 0xD9, + 0xFF, 0xE8, 0xDB, 0x0D, 0x24, 0xF3, 0xDB, 0x0D, 0xFF, 0xDD, 0xFF, 0xD9, 0xFF, 0xE8, 0xDB, 0x0D, 0x24, 0xF3, 0xDB, 0x0D, 0xFF, 0xDD, 0xFF, 0xC4, 0xFF, 0xE8, 0xDB, 0x0D, 0xDB, 0x0D, 0xDB, 0x0D, + 0x00, 0x22, 0xFF, 0xC4, 0xFF, 0xE8, 0x24, 0xF3, 0xDB, 0x0D, 0xDB, 0x0D, 0x00, 0x22, 0xFF, 0xD9, 0xFF, 0xE8, 0x24, 0xF3, 0x24, 0xF3, 0xDB, 0x0D, 0x00, 0x0A, 0xFF, 0xD9, 0xFF, 0xE8, 0x24, 0xF3, + 0x24, 0xF3, 0xDB, 0x0D, 0x00, 0x0A, 0x00, 0x3D, 0xFF, 0xE8, 0x24, 0xF3, 0x24, 0xF3, 0xDB, 0x0D, 0xFF, 0xF6, 0x00, 0x3D, 0x00, 0x1A, 0xDB, 0x0D, 0x24, 0xF3, 0x24, 0xF3, 0xFF, 0xF6, 0xFF, 0xD9, + 0x00, 0x1A, 0xDB, 0x0D, 0x24, 0xF3, 0x24, 0xF3, 0xFF, 0xDD, 0xFF, 0xD9, 0x00, 0x1A, 0xDB, 0x0D, 0x24, 0xF3, 0x24, 0xF3, 0xFF, 0xDD, 0xFF, 0xC4, 0x00, 0x1A, 0xDB, 0x0D, 0xDB, 0x0D, 0x24, 0xF3, + 0x00, 0x22, 0xFF, 0xC4, 0x00, 0x1A, 0x24, 0xF3, 0xDB, 0x0D, 0x24, 0xF3, 0x00, 0x22, 0xFF, 0xD9, 0x00, 0x1A, 0x24, 0xF3, 0x24, 0xF3, 0x24, 0xF3, 0x00, 0x0A, 0xFF, 0xD9, 0x00, 0x1A, 0x24, 0xF3, + 0x24, 0xF3, 0x24, 0xF3, 0x00, 0x0A, 0x00, 0x3D, 0x00, 0x1A, 0x24, 0xF3, 0x24, 0xF3, 0x24, 0xF3, 0x00, 0x00, 0x0F, 0xA4, 0x00, 0x00, 0x00, 0x5C, 0x01, 0x0E, 0x00, 0xA8, 0x00, 0x00, 0xA3, 0xB4, + 0x00, 0x00, 0xA7, 0xF0, 0x00, 0x03, 0x77, 0xC7, 0x03, 0xC0, 0xFD, 0x4C, 0xFC, 0x44, 0x00, 0x03, 0x77, 0xC7, 0x03, 0x88, 0xFE, 0x94, 0xFC, 0x7C, 0x00, 0x03, 0x77, 0xC7, 0x01, 0x70, 0x01, 0x6C, + 0xFE, 0x98, 0x00, 0x03, 0x77, 0xC7, 0xFC, 0xA4, 0x03, 0x70, 0xFC, 0x94, 0x00, 0x03, 0x77, 0xC7, 0xFD, 0xFC, 0x02, 0x18, 0xFD, 0xEC, 0x00, 0x03, 0x77, 0xC7, 0xFC, 0xB0, 0x03, 0x64, 0xFC, 0xA0, + 0x00, 0x03, 0x77, 0xC7, 0xFE, 0x50, 0x01, 0xC4, 0xFE, 0x40, 0x00, 0x03, 0x77, 0xC7, 0xFD, 0x00, 0x03, 0x14, 0xFC, 0xF0, 0x00, 0x03, 0x77, 0xC7, 0x03, 0xE4, 0xFD, 0x04, 0xFC, 0x20, 0x00, 0x03, + 0x77, 0xC7, 0x03, 0xE0, 0xFD, 0x10, 0xFC, 0x24, 0x00, 0x03, 0x77, 0xC7, 0x03, 0xDC, 0xFC, 0x28, 0xFD, 0xF4, 0x00, 0x03, 0x77, 0xC7, 0x03, 0xA4, 0xFD, 0xA0, 0xFC, 0x60, 0x00, 0x03, 0x77, 0xC7, + 0xFD, 0x54, 0x02, 0xC0, 0xFD, 0x44, 0x00, 0x03, 0x77, 0xC7, 0xFD, 0xA8, 0x02, 0x6C, 0xFD, 0x98, 0x00, 0x03, 0x77, 0xC7, 0x03, 0xA8, 0xFD, 0x94, 0xFC, 0x5C, 0x00, 0x03, 0x77, 0xC7, 0x03, 0xAC, + 0xFD, 0x88, 0xFC, 0x58, 0x00, 0x03, 0x77, 0xC7, 0xFD, 0xCC, 0x02, 0x48, 0xFD, 0xBC, 0x00, 0x03, 0x77, 0xC7, 0xFD, 0x24, 0x02, 0xF0, 0xFD, 0x14, 0x00, 0x03, 0x77, 0xC7, 0x03, 0xCC, 0xFC, 0x38, + 0xFD, 0xE8, 0x00, 0x03, 0x77, 0xC7, 0x03, 0xD0, 0xFD, 0x34, 0xFC, 0x34, 0x00, 0x03, 0x77, 0xC7, 0xFC, 0x8C, 0x03, 0x84, 0xFC, 0x80, 0x00, 0x03, 0x77, 0xC7, 0xFD, 0xE4, 0x02, 0x30, 0xFD, 0xD4, + 0x00, 0x03, 0x77, 0xC7, 0x04, 0x20, 0xFC, 0x6C, 0xFC, 0x9C, 0x00, 0x03, 0x77, 0xC7, 0x04, 0x24, 0xFB, 0xE0, 0xFB, 0xE4, 0x00, 0x03, 0x77, 0xC7, 0x04, 0x30, 0xFB, 0xD4, 0xFE, 0x48, 0x00, 0x03, + 0x77, 0xC7, 0x03, 0x38, 0x04, 0x08, 0x04, 0x38, 0x00, 0x03, 0x77, 0xC7, 0xFB, 0xFC, 0xFC, 0xC0, 0xFC, 0x00, 0x00, 0x03, 0x77, 0xC7, 0xFE, 0x38, 0x01, 0xDC, 0xFE, 0x28, 0x00, 0x03, 0x77, 0xC7, + 0xFC, 0xE8, 0x03, 0x2C, 0xFC, 0xD8, 0x00, 0x03, 0x77, 0xC7, 0x03, 0xF8, 0xFC, 0xE0, 0xFC, 0x0C, 0x00, 0x03, 0x77, 0xC7, 0x03, 0xF4, 0xFC, 0x10, 0xFE, 0x0C, 0x00, 0x03, 0x77, 0xC7, 0x03, 0xF0, + 0xFC, 0xEC, 0xFC, 0x14, 0x00, 0x03, 0x77, 0xC7, 0xFD, 0x90, 0x02, 0x84, 0xFD, 0x80, 0x00, 0x03, 0x77, 0xC7, 0xFD, 0x3C, 0x02, 0xD8, 0xFD, 0x2C, 0x00, 0x03, 0x77, 0xC7, 0x03, 0xB8, 0xFD, 0x64, + 0xFC, 0x4C, 0x00, 0x03, 0x77, 0xC7, 0x03, 0xBC, 0xFD, 0x58, 0xFC, 0x48, 0x00, 0x03, 0x77, 0xC7, 0x01, 0xA8, 0x01, 0xA4, 0xFE, 0xAC, 0x00, 0x03, 0x77, 0xC7, 0x02, 0x50, 0x02, 0x4C, 0xFF, 0xC4, + 0x00, 0x03, 0x77, 0xC7, 0x03, 0x38, 0x03, 0x34, 0x03, 0x30, 0x00, 0x03, 0x77, 0xC7, 0xFD, 0xD8, 0x02, 0x3C, 0xFD, 0xC8, 0x00, 0x03, 0x77, 0xC7, 0x01, 0x68, 0x01, 0x64, 0xFF, 0xFC, 0x00, 0x03, + 0x77, 0xC7, 0x01, 0x78, 0x01, 0x74, 0xFF, 0xF0, 0x00, 0x03, 0x77, 0xC7, 0x03, 0x8C, 0xFE, 0x84, 0xFC, 0x78, 0x00, 0x03, 0x77, 0xC7, 0x03, 0x78, 0x03, 0x74, 0xFF, 0xE8, 0x00, 0x03, 0x77, 0xC7, + 0x03, 0x94, 0xFC, 0x70, 0xFC, 0x90, 0x00, 0x03, 0x77, 0xC7, 0xFE, 0x68, 0x01, 0xAC, 0xFE, 0x58, 0x00, 0x03, 0x77, 0xC7, 0xFC, 0xBC, 0x03, 0x58, 0xFC, 0xAC, 0x00, 0x03, 0x77, 0xC7, 0xFC, 0xCC, + 0x03, 0x4C, 0xFC, 0xB8, 0x00, 0x03, 0x77, 0xC7, 0x04, 0x14, 0xFC, 0xB4, 0xFB, 0xF0, 0x00, 0x03, 0x77, 0xC7, 0x02, 0x2C, 0x02, 0x28, 0xFF, 0xD4, 0x00, 0x03, 0x77, 0xC7, 0x02, 0x38, 0x02, 0x34, + 0xFF, 0xD8, 0x00, 0x03, 0x77, 0xC7, 0x03, 0x80, 0xFE, 0x90, 0xFF, 0xF8, 0x00, 0x03, 0x77, 0xC7, 0x04, 0x0C, 0x04, 0x08, 0x04, 0x04, 0x00, 0x03, 0x77, 0xC7, 0xFC, 0xC4, 0x04, 0x38, 0xFE, 0xFC, + 0x00, 0x03, 0x77, 0xC7, 0x01, 0xCC, 0x01, 0xC8, 0xFE, 0xE0, 0x00, 0x03, 0x77, 0xC7, 0xFC, 0xDC, 0x03, 0x40, 0x03, 0x3C, 0x00, 0x03, 0x77, 0xC7, 0xFE, 0x9C, 0x01, 0x7C, 0xFE, 0x88, 0x00, 0x03, + 0x77, 0xC7, 0x03, 0x98, 0xFD, 0xC4, 0xFD, 0xD0, 0x00, 0x03, 0x77, 0xC7, 0x03, 0x1C, 0x03, 0x18, 0xFF, 0x14, 0x00, 0x03, 0x77, 0xC7, 0x03, 0xFC, 0xFC, 0xD4, 0xFC, 0x08, 0x00, 0x03, 0x77, 0xC7, + 0xFE, 0x2C, 0x01, 0xE8, 0xFE, 0x1C, 0x00, 0x03, 0x77, 0xC7, 0xFE, 0x20, 0x01, 0xF4, 0xFE, 0x10, 0x00, 0x03, 0x77, 0xC7, 0xFE, 0x14, 0x02, 0x00, 0xFE, 0x04, 0x00, 0x03, 0x77, 0xC7, 0x03, 0xE8, + 0xFC, 0x1C, 0xFE, 0x00, 0x00, 0x03, 0x77, 0xC7, 0x02, 0x14, 0x02, 0x10, 0xFF, 0x6C, 0x00, 0x03, 0x77, 0xC7, 0x02, 0x20, 0x02, 0x1C, 0xFF, 0x7C, 0x00, 0x03, 0x77, 0xC7, 0x03, 0x6C, 0x03, 0x68, + 0xFF, 0xE0, 0x00, 0x03, 0x77, 0xC7, 0x03, 0x9C, 0xFD, 0xB8, 0xFC, 0x68, 0x00, 0x03, 0x77, 0xC7, 0xFD, 0xC0, 0x02, 0x54, 0xFD, 0xB0, 0x00, 0x03, 0x77, 0xC7, 0xFD, 0x18, 0x02, 0xFC, 0xFD, 0x08, + 0x00, 0x03, 0x77, 0xC7, 0x03, 0x90, 0xFC, 0x74, 0xFC, 0x84, 0x00, 0x03, 0x77, 0xC7, 0x04, 0x1C, 0xFC, 0xA8, 0xFB, 0xE8, 0x00, 0x03, 0x77, 0xC7, 0x04, 0x2C, 0xFB, 0xD8, 0xFE, 0x3C, 0x00, 0x03, + 0x77, 0xC7, 0x03, 0x54, 0x03, 0x50, 0xFE, 0xD8, 0x00, 0x03, 0x77, 0xC7, 0xFE, 0x5C, 0x01, 0xB8, 0xFE, 0x4C, 0x00, 0x03, 0x77, 0xC7, 0x03, 0x48, 0x03, 0x44, 0xFE, 0xE8, 0x00, 0x03, 0x77, 0xC7, + 0x00, 0xB0, 0xFF, 0x58, 0x00, 0xAC, 0x00, 0x03, 0x77, 0xC7, 0x02, 0x74, 0x02, 0x70, 0xFF, 0xAC, 0x00, 0x03, 0x77, 0xC7, 0xFD, 0x30, 0x02, 0xE4, 0xFD, 0x20, 0x00, 0x03, 0x77, 0xC7, 0x02, 0xC8, + 0x02, 0xC4, 0xFF, 0x64, 0x00, 0x03, 0x77, 0xC7, 0x03, 0xB0, 0xFD, 0x7C, 0xFC, 0x54, 0x00, 0x03, 0x77, 0xC7, 0x03, 0xD4, 0xFD, 0x28, 0xFC, 0x30, 0x00, 0x03, 0x77, 0xC7, 0xFD, 0x84, 0x02, 0x90, + 0xFD, 0x74, 0x00, 0x03, 0x77, 0xC7, 0xFD, 0x78, 0x02, 0x9C, 0xFD, 0x68, 0x00, 0x03, 0x77, 0xC7, 0xFD, 0x6C, 0x02, 0xA8, 0xFD, 0x5C, 0x00, 0x03, 0x77, 0xC7, 0x03, 0xC4, 0xFC, 0x40, 0xFD, 0xDC, + 0x00, 0x03, 0x77, 0xC7, 0x04, 0x10, 0xFB, 0xF4, 0xFE, 0x24, 0x00, 0x03, 0x77, 0xC7, 0x03, 0x60, 0x03, 0x5C, 0xFE, 0xD0, 0x00, 0x03, 0x77, 0xC7, 0xFC, 0x98, 0x03, 0x7C, 0xFC, 0x88, 0x00, 0x03, + 0x77, 0xC7, 0x04, 0x18, 0xFB, 0xEC, 0xFE, 0x30, 0x00, 0x03, 0x77, 0xC7, 0x03, 0x28, 0x03, 0x24, 0xFF, 0x0C, 0x00, 0x03, 0x77, 0xC7, 0x01, 0xB4, 0x01, 0xB0, 0xFE, 0xB4, 0x00, 0x03, 0x77, 0xC7, + 0x01, 0xC0, 0x01, 0xBC, 0xFE, 0xBC, 0x00, 0x03, 0x77, 0xC7, 0xFE, 0x44, 0x01, 0xD0, 0xFE, 0x34, 0x00, 0x03, 0x77, 0xC7, 0x01, 0xD8, 0x01, 0xD4, 0xFE, 0xF0, 0x00, 0x03, 0x77, 0xC7, 0x03, 0x10, + 0x03, 0x0C, 0xFF, 0x24, 0x00, 0x03, 0x77, 0xC7, 0x01, 0xE4, 0x01, 0xE0, 0xFF, 0x04, 0x00, 0x03, 0x77, 0xC7, 0x04, 0x00, 0xFC, 0x04, 0xFE, 0x18, 0x00, 0x03, 0x77, 0xC7, 0x00, 0xB8, 0x00, 0xB4, + 0xFF, 0x50, 0x00, 0x03, 0x77, 0xC7, 0x01, 0xF0, 0x01, 0xEC, 0xFF, 0x1C, 0x00, 0x03, 0x77, 0xC7, 0xFC, 0xF4, 0x03, 0x20, 0xFC, 0xE4, 0x00, 0x03, 0x77, 0xC7, 0x02, 0xF8, 0x02, 0xF4, 0xFF, 0x3C, + 0x00, 0x03, 0x77, 0xC7, 0x01, 0x2C, 0xFE, 0xDC, 0x01, 0x28, 0x00, 0x03, 0x77, 0xC7, 0x03, 0x04, 0x03, 0x00, 0xFF, 0x2C, 0x00, 0x03, 0x77, 0xC7, 0x02, 0x44, 0x02, 0x40, 0xFF, 0xCC, 0x00, 0x03, + 0x77, 0xC7, 0xFD, 0x0C, 0x03, 0x08, 0xFC, 0xFC, 0x00, 0x03, 0x77, 0xC7, 0x02, 0xEC, 0x02, 0xE8, 0xFF, 0x44, 0x00, 0x03, 0x77, 0xC7, 0x02, 0x08, 0x02, 0x04, 0xFF, 0x4C, 0x00, 0x03, 0x77, 0xC7, + 0x03, 0xEC, 0xFC, 0xF8, 0xFC, 0x18, 0x00, 0x03, 0x77, 0xC7, 0xFD, 0xF0, 0x02, 0x24, 0xFD, 0xE0, 0x00, 0x03, 0x77, 0xC7, 0x02, 0xE0, 0x02, 0xDC, 0xFF, 0x54, 0x00, 0x03, 0x77, 0xC7, 0x01, 0xFC, + 0x01, 0xF8, 0xFF, 0x34, 0x00, 0x03, 0x77, 0xC7, 0x01, 0x1C, 0xFE, 0xEC, 0x01, 0x18, 0x00, 0x03, 0x77, 0xC7, 0x01, 0x24, 0x01, 0x20, 0xFE, 0xE4, 0x00, 0x03, 0x77, 0xC7, 0x02, 0xD4, 0x02, 0xD0, + 0xFF, 0x5C, 0x00, 0x03, 0x77, 0xC7, 0x02, 0x80, 0x02, 0x7C, 0xFF, 0xA4, 0x00, 0x03, 0x77, 0xC7, 0x02, 0x8C, 0x02, 0x88, 0xFF, 0x9C, 0x00, 0x03, 0x77, 0xC7, 0x03, 0xA0, 0xFD, 0xAC, 0xFC, 0x64, + 0x00, 0x03, 0x77, 0xC7, 0x02, 0x98, 0x02, 0x94, 0xFF, 0x94, 0x00, 0x03, 0x77, 0xC7, 0x02, 0xA4, 0x02, 0xA0, 0xFF, 0x8C, 0x00, 0x03, 0x77, 0xC7, 0x03, 0xC8, 0xFD, 0x40, 0xFC, 0x3C, 0x00, 0x03, + 0x77, 0xC7, 0x02, 0x5C, 0x02, 0x58, 0xFF, 0xBC, 0x00, 0x03, 0x77, 0xC7, 0xFD, 0x9C, 0x02, 0x78, 0xFD, 0x8C, 0x00, 0x03, 0x77, 0xC7, 0x03, 0xD8, 0xFD, 0x1C, 0xFC, 0x2C, 0x00, 0x03, 0x77, 0xC7, + 0xFE, 0x08, 0x02, 0x0C, 0xFD, 0xF8, 0x00, 0x03, 0x77, 0xC7, 0x02, 0xB0, 0x02, 0xAC, 0xFF, 0x84, 0x00, 0x03, 0x77, 0xC7, 0xFD, 0x48, 0x02, 0xCC, 0xFD, 0x38, 0x00, 0x03, 0x77, 0xC7, 0x03, 0xB4, + 0xFD, 0x70, 0xFC, 0x50, 0x00, 0x03, 0x77, 0xC7, 0xFD, 0xB4, 0x02, 0x60, 0xFD, 0xA4, 0x00, 0x03, 0x77, 0xC7, 0x02, 0x68, 0x02, 0x64, 0xFF, 0xB4, 0x00, 0x03, 0x77, 0xC7, 0x02, 0xBC, 0x02, 0xB8, + 0xFF, 0x74, 0x00, 0x03, 0x77, 0xC7, 0xFD, 0x60, 0x02, 0xB4, 0xFD, 0x50, 0x00, 0x03, 0x77, 0xC7, 0x00, 0xD0, 0x00, 0xCC, 0xFF, 0x38, 0x00, 0x03, 0x77, 0xC7, 0x00, 0x60, 0xFF, 0xA8, 0x00, 0x5C, + 0x00, 0x03, 0x77, 0xC7, 0xFE, 0xF4, 0xFE, 0xF8, 0xFC, 0xD0, 0x00, 0x03, 0x77, 0xC7, 0x00, 0x40, 0xFF, 0xC8, 0x00, 0x3C, 0x00, 0x03, 0x77, 0xC7, 0x00, 0x68, 0xFF, 0xA0, 0x00, 0x64, 0x00, 0x03, + 0x77, 0xC7, 0x00, 0x0C, 0x00, 0x08, 0x00, 0x04, 0x00, 0x03, 0x77, 0xC7, 0x00, 0x14, 0xFF, 0xF4, 0x00, 0x10, 0x00, 0x03, 0x77, 0xC7, 0x01, 0x34, 0x01, 0x30, 0xFF, 0xDC, 0x00, 0x03, 0x77, 0xC7, + 0x01, 0x50, 0x01, 0x4C, 0xFE, 0xB8, 0x00, 0x03, 0x77, 0xC7, 0x01, 0x48, 0x01, 0x44, 0xFE, 0xC0, 0x00, 0x03, 0x77, 0xC7, 0x01, 0x08, 0xFF, 0x00, 0x01, 0x04, 0x00, 0x03, 0x77, 0xC7, 0x00, 0xE0, + 0xFF, 0x28, 0x00, 0xDC, 0x00, 0x03, 0x77, 0xC7, 0x00, 0xD8, 0xFF, 0x30, 0x00, 0xD4, 0x00, 0x03, 0x77, 0xC7, 0x00, 0x30, 0x00, 0x2C, 0x00, 0x28, 0x00, 0x03, 0x77, 0xC7, 0x00, 0x38, 0xFF, 0xD0, + 0x00, 0x34, 0x00, 0x03, 0x77, 0xC7, 0x00, 0x98, 0x00, 0x94, 0xFF, 0x70, 0x00, 0x03, 0x77, 0xC7, 0x00, 0x1C, 0x00, 0x18, 0xFF, 0xEC, 0x00, 0x03, 0x77, 0xC7, 0x00, 0x24, 0x00, 0x20, 0xFF, 0xE4, + 0x00, 0x03, 0x77, 0xC7, 0x00, 0x48, 0xFF, 0xC0, 0x00, 0x44, 0x00, 0x03, 0x77, 0xC7, 0x00, 0x50, 0xFF, 0xB8, 0x00, 0x4C, 0x00, 0x03, 0x77, 0xC7, 0x00, 0xC0, 0xFF, 0x48, 0x00, 0xBC, 0x00, 0x03, + 0x77, 0xC7, 0x01, 0x38, 0xFE, 0xD4, 0xFE, 0xCC, 0x00, 0x03, 0x77, 0xC7, 0x01, 0x14, 0x01, 0x10, 0x01, 0x0C, 0x00, 0x03, 0x77, 0xC7, 0x00, 0xF8, 0xFF, 0x10, 0x00, 0xF4, 0x00, 0x03, 0x77, 0xC7, + 0x01, 0x00, 0x00, 0xFC, 0xFF, 0x08, 0x00, 0x03, 0x77, 0xC7, 0x00, 0xF0, 0xFF, 0x18, 0x00, 0xEC, 0x00, 0x03, 0x77, 0xC7, 0x00, 0xE8, 0x00, 0xE4, 0xFF, 0x20, 0x00, 0x03, 0x77, 0xC7, 0x00, 0xC8, + 0xFF, 0x40, 0x00, 0xC4, 0x00, 0x03, 0x77, 0xC7, 0x00, 0xA8, 0xFF, 0x60, 0x00, 0xA4, 0x00, 0x03, 0x77, 0xC7, 0x00, 0x58, 0xFF, 0xB0, 0x00, 0x54, 0x00, 0x03, 0x77, 0xC7, 0x00, 0x70, 0xFF, 0x98, + 0x00, 0x6C, 0x00, 0x03, 0x77, 0xC7, 0x00, 0x78, 0xFF, 0x90, 0x00, 0x74, 0x00, 0x03, 0x77, 0xC7, 0x00, 0xA0, 0xFF, 0x68, 0x00, 0x9C, 0x00, 0x03, 0x77, 0xC7, 0x00, 0x90, 0xFF, 0x78, 0x00, 0x8C, + 0x00, 0x03, 0x77, 0xC7, 0x00, 0x80, 0xFF, 0x88, 0x00, 0x7C, 0x00, 0x03, 0x77, 0xC7, 0x00, 0x88, 0x00, 0x84, 0xFF, 0x80, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x08, 0x01, 0x60, 0x00, 0x00, + 0x00, 0x08, 0x01, 0x60, 0x00, 0x08, 0x00, 0x10, 0x00, 0x10, 0x01, 0x60, 0x01, 0x58, 0x01, 0x60, 0x00, 0x10, 0x01, 0x58, 0x01, 0x50, 0x01, 0x58, 0x00, 0x10, 0x01, 0x50, 0x00, 0x88, 0x00, 0x90, + 0x00, 0x80, 0x00, 0x88, 0x00, 0x90, 0x00, 0x80, 0x00, 0x90, 0x00, 0x98, 0x00, 0x98, 0x00, 0x80, 0x00, 0x98, 0x00, 0xA0, 0x00, 0xA0, 0x00, 0x80, 0x00, 0xA0, 0x00, 0xA8, 0x00, 0xA8, 0x00, 0x80, + 0x00, 0xA8, 0x00, 0xB0, 0x00, 0xB0, 0x00, 0x80, 0x00, 0xB0, 0x00, 0xB8, 0x00, 0xB8, 0x00, 0x80, 0x00, 0xB8, 0x00, 0xC0, 0x00, 0xC0, 0x00, 0x80, 0x00, 0xC0, 0x00, 0xC8, 0x00, 0xC8, 0x00, 0x80, + 0x00, 0xC8, 0x00, 0xD0, 0x00, 0xD0, 0x00, 0x80, 0x00, 0xD0, 0x00, 0xD8, 0x00, 0xD8, 0x00, 0x80, 0x00, 0xD8, 0x00, 0xE0, 0x00, 0xE0, 0x00, 0x80, 0x00, 0x78, 0x00, 0x80, 0x00, 0xE0, 0x00, 0x78, + 0x00, 0xE0, 0x00, 0xE8, 0x00, 0xE8, 0x00, 0x78, 0x00, 0x70, 0x00, 0x78, 0x00, 0xE8, 0x00, 0x70, 0x00, 0xE8, 0x00, 0xF0, 0x00, 0xF0, 0x00, 0x70, 0x00, 0xF0, 0x00, 0xF8, 0x00, 0xF8, 0x00, 0x70, + 0x00, 0xF8, 0x01, 0x00, 0x01, 0x00, 0x00, 0x70, 0x00, 0x68, 0x00, 0x70, 0x01, 0x00, 0x00, 0x68, 0x01, 0x00, 0x01, 0x08, 0x01, 0x08, 0x00, 0x68, 0x01, 0x08, 0x01, 0x10, 0x01, 0x10, 0x00, 0x68, + 0x00, 0x60, 0x00, 0x68, 0x01, 0x10, 0x00, 0x60, 0x01, 0x10, 0x01, 0x18, 0x01, 0x18, 0x00, 0x60, 0x01, 0x18, 0x01, 0x20, 0x01, 0x20, 0x00, 0x60, 0x00, 0x58, 0x00, 0x60, 0x01, 0x20, 0x00, 0x58, + 0x01, 0x20, 0x01, 0x28, 0x01, 0x28, 0x00, 0x58, 0x01, 0x28, 0x01, 0x30, 0x01, 0x30, 0x00, 0x58, 0x00, 0x50, 0x00, 0x58, 0x01, 0x30, 0x00, 0x50, 0x01, 0x30, 0x02, 0xD0, 0x02, 0xD0, 0x00, 0x50, + 0x00, 0x50, 0x01, 0x38, 0x00, 0x48, 0x00, 0x50, 0x01, 0x38, 0x00, 0x48, 0x01, 0x38, 0x01, 0x40, 0x01, 0x40, 0x00, 0x48, 0x00, 0x40, 0x00, 0x48, 0x01, 0x40, 0x00, 0x40, 0x01, 0x40, 0x01, 0x48, + 0x01, 0x48, 0x00, 0x40, 0x01, 0x48, 0x01, 0x50, 0x00, 0x10, 0x01, 0x48, 0x00, 0x10, 0x00, 0x40, 0x00, 0x10, 0x00, 0x18, 0x00, 0x18, 0x00, 0x40, 0x00, 0x38, 0x00, 0x40, 0x00, 0x18, 0x00, 0x38, + 0x00, 0x30, 0x00, 0x38, 0x00, 0x18, 0x00, 0x30, 0x00, 0x28, 0x00, 0x30, 0x00, 0x18, 0x00, 0x28, 0x00, 0x18, 0x00, 0x20, 0x00, 0x20, 0x00, 0x28, 0x01, 0x70, 0x00, 0x08, 0x00, 0x00, 0x01, 0x70, + 0x01, 0x68, 0x01, 0x70, 0x00, 0x00, 0x01, 0x68, 0x01, 0x78, 0x00, 0x10, 0x00, 0x08, 0x01, 0x78, 0x01, 0x70, 0x01, 0x78, 0x01, 0x80, 0x00, 0x18, 0x00, 0x10, 0x01, 0x80, 0x01, 0x78, 0x01, 0x80, + 0x01, 0x88, 0x00, 0x20, 0x00, 0x18, 0x01, 0x88, 0x01, 0x80, 0x01, 0x88, 0x01, 0x90, 0x00, 0x28, 0x00, 0x20, 0x01, 0x90, 0x01, 0x88, 0x01, 0x90, 0x01, 0x98, 0x00, 0x30, 0x00, 0x28, 0x01, 0x98, + 0x01, 0x90, 0x01, 0x98, 0x01, 0xA0, 0x00, 0x38, 0x00, 0x30, 0x01, 0xA0, 0x01, 0x98, 0x01, 0xA0, 0x01, 0xA8, 0x00, 0x40, 0x00, 0x38, 0x01, 0xA8, 0x01, 0xA0, 0x01, 0xA8, 0x01, 0xB0, 0x00, 0x48, + 0x00, 0x40, 0x01, 0xB0, 0x01, 0xA8, 0x01, 0xB0, 0x01, 0xB8, 0x00, 0x50, 0x00, 0x48, 0x01, 0xB8, 0x01, 0xB0, 0x01, 0xB8, 0x01, 0xC0, 0x00, 0x58, 0x00, 0x50, 0x01, 0xC0, 0x01, 0xB8, 0x01, 0xC0, + 0x01, 0xC8, 0x00, 0x60, 0x00, 0x58, 0x01, 0xC8, 0x01, 0xC0, 0x01, 0xC8, 0x01, 0xD0, 0x00, 0x68, 0x00, 0x60, 0x01, 0xD0, 0x01, 0xC8, 0x01, 0xD0, 0x01, 0xD8, 0x00, 0x70, 0x00, 0x68, 0x01, 0xD8, + 0x01, 0xD0, 0x01, 0xD8, 0x01, 0xE0, 0x00, 0x78, 0x00, 0x70, 0x01, 0xE0, 0x01, 0xD8, 0x01, 0xE0, 0x01, 0xE8, 0x00, 0x80, 0x00, 0x78, 0x01, 0xE8, 0x01, 0xE0, 0x01, 0xE8, 0x01, 0xF0, 0x00, 0x88, + 0x00, 0x80, 0x01, 0xF0, 0x01, 0xE8, 0x01, 0xF0, 0x01, 0xF8, 0x00, 0x90, 0x00, 0x88, 0x01, 0xF8, 0x01, 0xF0, 0x01, 0xF8, 0x02, 0x00, 0x00, 0x98, 0x00, 0x90, 0x02, 0x00, 0x01, 0xF8, 0x02, 0x00, + 0x02, 0x08, 0x00, 0xA0, 0x00, 0x98, 0x02, 0x08, 0x02, 0x00, 0x02, 0x08, 0x02, 0x10, 0x00, 0xA8, 0x00, 0xA0, 0x02, 0x10, 0x02, 0x08, 0x02, 0x10, 0x02, 0x18, 0x00, 0xB0, 0x00, 0xA8, 0x02, 0x18, + 0x02, 0x10, 0x02, 0x18, 0x02, 0x20, 0x00, 0xB8, 0x00, 0xB0, 0x02, 0x20, 0x02, 0x18, 0x02, 0x20, 0x02, 0x28, 0x00, 0xC0, 0x00, 0xB8, 0x02, 0x28, 0x02, 0x20, 0x02, 0x28, 0x02, 0x30, 0x00, 0xC8, + 0x00, 0xC0, 0x02, 0x30, 0x02, 0x28, 0x02, 0x30, 0x02, 0x38, 0x00, 0xD0, 0x00, 0xC8, 0x02, 0x38, 0x02, 0x30, 0x02, 0x38, 0x02, 0x40, 0x00, 0xD8, 0x00, 0xD0, 0x02, 0x40, 0x02, 0x38, 0x02, 0x40, + 0x02, 0x48, 0x00, 0xE0, 0x00, 0xD8, 0x02, 0x48, 0x02, 0x40, 0x02, 0x48, 0x02, 0x50, 0x00, 0xE8, 0x00, 0xE0, 0x02, 0x50, 0x02, 0x48, 0x02, 0x50, 0x02, 0x58, 0x00, 0xF0, 0x00, 0xE8, 0x02, 0x58, + 0x02, 0x50, 0x02, 0x58, 0x02, 0x60, 0x00, 0xF8, 0x00, 0xF0, 0x02, 0x60, 0x02, 0x58, 0x02, 0x60, 0x02, 0x68, 0x01, 0x00, 0x00, 0xF8, 0x02, 0x68, 0x02, 0x60, 0x02, 0x68, 0x02, 0x70, 0x01, 0x08, + 0x01, 0x00, 0x02, 0x70, 0x02, 0x68, 0x02, 0x70, 0x02, 0x78, 0x01, 0x10, 0x01, 0x08, 0x02, 0x78, 0x02, 0x70, 0x02, 0x78, 0x02, 0x80, 0x01, 0x18, 0x01, 0x10, 0x02, 0x80, 0x02, 0x78, 0x02, 0x80, + 0x02, 0x88, 0x01, 0x20, 0x01, 0x18, 0x02, 0x88, 0x02, 0x80, 0x02, 0x88, 0x02, 0x90, 0x01, 0x28, 0x01, 0x20, 0x02, 0x90, 0x02, 0x88, 0x02, 0x90, 0x02, 0x98, 0x01, 0x30, 0x01, 0x28, 0x02, 0x98, + 0x02, 0x90, 0x02, 0x98, 0x01, 0x38, 0x02, 0xD0, 0x02, 0xA0, 0x01, 0x38, 0x02, 0xD0, 0x02, 0xA0, 0x02, 0xD8, 0x01, 0x30, 0x02, 0x98, 0x02, 0xD8, 0x02, 0xA8, 0x01, 0x40, 0x01, 0x38, 0x02, 0xA8, + 0x02, 0xA0, 0x02, 0xA8, 0x02, 0xB0, 0x01, 0x48, 0x01, 0x40, 0x02, 0xB0, 0x02, 0xA8, 0x02, 0xB0, 0x02, 0xB8, 0x01, 0x50, 0x01, 0x48, 0x02, 0xB8, 0x02, 0xB0, 0x02, 0xB8, 0x02, 0xC0, 0x01, 0x58, + 0x01, 0x50, 0x02, 0xC0, 0x02, 0xB8, 0x02, 0xC0, 0x02, 0xC8, 0x01, 0x60, 0x01, 0x58, 0x02, 0xC8, 0x02, 0xC0, 0x02, 0xC8, 0x01, 0x60, 0x01, 0x68, 0x02, 0xC8, 0x01, 0x68, 0x02, 0xC8, 0x01, 0x70, + 0x02, 0xC8, 0x01, 0x78, 0x02, 0xC0, 0x01, 0x78, 0x02, 0xB8, 0x01, 0x78, 0x01, 0xE8, 0x01, 0xF8, 0x01, 0xE8, 0x02, 0x00, 0x01, 0xE8, 0x02, 0x08, 0x01, 0xE8, 0x02, 0x10, 0x01, 0xE8, 0x02, 0x18, + 0x01, 0xE8, 0x02, 0x20, 0x01, 0xE8, 0x02, 0x28, 0x01, 0xE8, 0x02, 0x30, 0x01, 0xE8, 0x02, 0x38, 0x01, 0xE8, 0x02, 0x40, 0x01, 0xE8, 0x02, 0x48, 0x01, 0xE0, 0x02, 0x48, 0x01, 0xE0, 0x02, 0x50, + 0x01, 0xD8, 0x02, 0x50, 0x01, 0xD8, 0x02, 0x58, 0x01, 0xD8, 0x02, 0x60, 0x01, 0xD8, 0x02, 0x68, 0x01, 0xD0, 0x02, 0x68, 0x01, 0xD0, 0x02, 0x70, 0x01, 0xD0, 0x02, 0x78, 0x01, 0xC8, 0x02, 0x78, + 0x01, 0xC8, 0x02, 0x80, 0x01, 0xC8, 0x02, 0x88, 0x01, 0xC0, 0x02, 0x88, 0x01, 0xC0, 0x02, 0x90, 0x01, 0xC0, 0x02, 0x98, 0x01, 0xB8, 0x02, 0x98, 0x02, 0xD8, 0x01, 0xB8, 0x02, 0xA0, 0x02, 0xD8, + 0x01, 0xB8, 0x02, 0xA0, 0x01, 0xB0, 0x02, 0xA0, 0x01, 0xB0, 0x02, 0xA8, 0x01, 0xA8, 0x02, 0xA8, 0x01, 0xA8, 0x02, 0xB0, 0x02, 0xB0, 0x01, 0x78, 0x01, 0xA8, 0x01, 0x78, 0x01, 0xA8, 0x01, 0x80, + 0x01, 0xA0, 0x01, 0x80, 0x01, 0x98, 0x01, 0x80, 0x01, 0x90, 0x01, 0x80, 0x02, 0xD8, 0x02, 0xD0, 0x00, 0x27, 0x00, 0x3D, 0xFF, 0xE8, 0x27, 0x78, 0x18, 0x9C, 0xD4, 0x0B, 0x00, 0x0E, 0x00, 0x3D, + 0xFF, 0xE8, 0xE2, 0x51, 0x2E, 0x55, 0xDF, 0x53, 0xFF, 0xF7, 0x00, 0x0B, 0xFF, 0xE8, 0xD6, 0xE3, 0x12, 0xE9, 0xD2, 0xBF, 0xFF, 0xF7, 0x00, 0x0B, 0xFF, 0xE8, 0x00, 0x00, 0x00, 0x00, 0xC0, 0x00, + 0xFF, 0xF7, 0x00, 0x0B, 0xFF, 0xE8, 0x40, 0x00, 0x40, 0x00, 0x40, 0x00, 0xFF, 0xF7, 0x00, 0x0B, 0xFF, 0xE8, 0xC1, 0xEA, 0x0F, 0x85, 0x00, 0x00, 0xFF, 0xF6, 0x00, 0x07, 0xFF, 0xE8, 0xC7, 0x10, + 0x01, 0x5A, 0xE2, 0xD0, 0xFF, 0xF7, 0x00, 0x02, 0xFF, 0xE8, 0xD0, 0x44, 0xE1, 0xEB, 0xE1, 0xCD, 0xFF, 0xFB, 0xFF, 0xFF, 0xFF, 0xE8, 0xDC, 0x30, 0xD3, 0x5B, 0xE3, 0x5E, 0x00, 0x02, 0xFF, 0xF9, + 0xFF, 0xE8, 0xD7, 0x46, 0xD7, 0xD6, 0xE3, 0x4D, 0x00, 0x07, 0xFF, 0xF3, 0xFF, 0xE8, 0xCF, 0x4C, 0xE2, 0x27, 0xE3, 0x23, 0x00, 0x0A, 0xFF, 0xEC, 0xFF, 0xE8, 0xC8, 0x2A, 0xF4, 0x8A, 0xE2, 0xE8, + 0x00, 0x0A, 0xFF, 0xE4, 0xFF, 0xE8, 0xC9, 0x41, 0x0F, 0x2A, 0xE2, 0x87, 0x00, 0x07, 0xFF, 0xDF, 0xFF, 0xE8, 0xD5, 0x0A, 0x25, 0x8C, 0xE3, 0x04, 0x00, 0x02, 0xFF, 0xDB, 0xFF, 0xE8, 0xE5, 0xDA, + 0x32, 0xA9, 0xE2, 0xED, 0xFF, 0xFB, 0xFF, 0xD9, 0xFF, 0xE8, 0xF8, 0x14, 0x38, 0x94, 0xE3, 0x28, 0xFF, 0xED, 0xFF, 0xD9, 0xFF, 0xE8, 0x24, 0xF3, 0x24, 0xF3, 0xDB, 0x0D, 0xFF, 0xED, 0x00, 0x3D, + 0xFF, 0xE8, 0x24, 0xF3, 0x24, 0xF3, 0xDB, 0x0D, 0xFF, 0xD8, 0x00, 0x3D, 0xFF, 0xE8, 0xDB, 0x0D, 0x24, 0xF3, 0xDB, 0x0D, 0xFF, 0xD8, 0xFF, 0xD6, 0xFF, 0xE8, 0xC7, 0x46, 0xF9, 0x05, 0xE3, 0x35, + 0xFF, 0xD9, 0xFF, 0xD2, 0xFF, 0xE8, 0xC7, 0x46, 0xF9, 0x05, 0xE3, 0x35, 0xFF, 0xD9, 0xFF, 0xCE, 0xFF, 0xE8, 0xC9, 0xB6, 0xEF, 0x90, 0xE2, 0x5E, 0xFF, 0xDB, 0xFF, 0xCB, 0xFF, 0xE8, 0xD3, 0xC7, + 0xDB, 0xBF, 0xE3, 0x45, 0xFF, 0xDE, 0xFF, 0xC8, 0xFF, 0xE8, 0xDA, 0x84, 0xD4, 0xC7, 0xE3, 0x53, 0xFF, 0xE2, 0xFF, 0xC5, 0xFF, 0xE8, 0xE8, 0xC2, 0xCC, 0x03, 0xE2, 0xCE, 0xFF, 0xE7, 0xFF, 0xC4, + 0xFF, 0xE8, 0xF1, 0x51, 0xC8, 0xB3, 0xE3, 0x56, 0xFF, 0xEA, 0xFF, 0xC3, 0xFF, 0xE8, 0xF6, 0xDB, 0xC7, 0xA5, 0xE3, 0x15, 0xFF, 0xEB, 0xFF, 0xC3, 0xFF, 0xE8, 0x00, 0x00, 0xD2, 0xBF, 0xD2, 0xBF, + 0xFF, 0xFA, 0xFF, 0xC3, 0xFF, 0xE8, 0x03, 0x8E, 0xC6, 0xE4, 0xE3, 0x56, 0x00, 0x02, 0xFF, 0xC4, 0xFF, 0xE8, 0x07, 0x99, 0xC7, 0x44, 0xE3, 0x61, 0x00, 0x09, 0xFF, 0xC5, 0xFF, 0xE8, 0x0E, 0xC2, + 0xC8, 0xC8, 0xE3, 0x37, 0x00, 0x0E, 0xFF, 0xC7, 0xFF, 0xE8, 0x19, 0x6B, 0xCC, 0xC1, 0xE3, 0x4F, 0x00, 0x13, 0xFF, 0xCA, 0xFF, 0xE8, 0x24, 0xD6, 0xD4, 0x62, 0xE3, 0x15, 0x00, 0x19, 0xFF, 0xD1, + 0xFF, 0xE8, 0x2F, 0x9D, 0xE0, 0x63, 0xE3, 0x35, 0x00, 0x1E, 0xFF, 0xDB, 0xFF, 0xE8, 0x35, 0x9F, 0xEC, 0x2A, 0xE3, 0x3E, 0x00, 0x20, 0xFF, 0xE3, 0xFF, 0xE8, 0x38, 0xBA, 0xF9, 0x05, 0xE3, 0x35, + 0x00, 0x20, 0xFF, 0xEA, 0xFF, 0xE8, 0x38, 0xBA, 0x06, 0xFB, 0xE3, 0x35, 0x00, 0x1E, 0xFF, 0xF2, 0xFF, 0xE8, 0x35, 0x03, 0x15, 0x4D, 0xE3, 0x2A, 0x00, 0x1A, 0xFF, 0xF9, 0xFF, 0xE8, 0x31, 0x65, + 0x1C, 0xED, 0xE3, 0x61, 0x00, 0x13, 0x00, 0x02, 0xFF, 0xE8, 0x2A, 0x42, 0x26, 0x97, 0xE3, 0x5B, 0x00, 0x0E, 0x00, 0x08, 0xFF, 0xE8, 0x17, 0xC3, 0x32, 0xBC, 0xE1, 0x11, 0x00, 0x0D, 0x00, 0x08, + 0xFF, 0xE8, 0x24, 0xF3, 0x24, 0xF3, 0xDB, 0x0D, 0x00, 0x0D, 0x00, 0x09, 0xFF, 0xE8, 0x2D, 0x41, 0x00, 0x00, 0xD2, 0xBF, 0x00, 0x0D, 0x00, 0x0A, 0xFF, 0xE8, 0x24, 0xF3, 0xDB, 0x0D, 0xDB, 0x0D, + 0x00, 0x0E, 0x00, 0x0A, 0xFF, 0xE8, 0x1D, 0x2C, 0xD1, 0x36, 0xDF, 0x83, 0x00, 0x27, 0x00, 0x3D, 0x00, 0x1A, 0x27, 0x78, 0x18, 0x9C, 0x2B, 0xF5, 0x00, 0x0E, 0x00, 0x3D, 0x00, 0x1A, 0xE2, 0x51, + 0x2E, 0x55, 0x20, 0xAD, 0xFF, 0xF7, 0x00, 0x0B, 0x00, 0x1A, 0xD6, 0xE3, 0x12, 0xE9, 0x2D, 0x41, 0xFF, 0xF7, 0x00, 0x0B, 0x00, 0x1A, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0xFF, 0xF7, 0x00, 0x0B, + 0x00, 0x1A, 0x40, 0x00, 0x40, 0x00, 0x40, 0x00, 0xFF, 0xF7, 0x00, 0x0B, 0x00, 0x1A, 0xC1, 0xEA, 0x0F, 0x85, 0x00, 0x00, 0xFF, 0xF6, 0x00, 0x07, 0x00, 0x1A, 0xC7, 0x10, 0x01, 0x5A, 0x1D, 0x30, + 0xFF, 0xF7, 0x00, 0x02, 0x00, 0x1A, 0xD0, 0x44, 0xE1, 0xEB, 0x1E, 0x33, 0xFF, 0xFB, 0xFF, 0xFF, 0x00, 0x1A, 0xDC, 0x30, 0xD3, 0x5B, 0x1C, 0xA2, 0x00, 0x02, 0xFF, 0xF9, 0x00, 0x1A, 0xD7, 0x46, + 0xD7, 0xD6, 0x1C, 0xB3, 0x00, 0x07, 0xFF, 0xF3, 0x00, 0x1A, 0xCF, 0x4C, 0xE2, 0x27, 0x1C, 0xDD, 0x00, 0x0A, 0xFF, 0xEC, 0x00, 0x1A, 0xC8, 0x2A, 0xF4, 0x8A, 0x1D, 0x18, 0x00, 0x0A, 0xFF, 0xE4, + 0x00, 0x1A, 0xC9, 0x41, 0x0F, 0x2A, 0x1D, 0x79, 0x00, 0x07, 0xFF, 0xDF, 0x00, 0x1A, 0xD5, 0x0A, 0x25, 0x8C, 0x1C, 0xFC, 0x00, 0x02, 0xFF, 0xDB, 0x00, 0x1A, 0xE5, 0xDA, 0x32, 0xA9, 0x1D, 0x13, + 0xFF, 0xFB, 0xFF, 0xD9, 0x00, 0x1A, 0xF8, 0x14, 0x38, 0x94, 0x1C, 0xD8, 0xFF, 0xED, 0xFF, 0xD9, 0x00, 0x1A, 0x24, 0xF3, 0x24, 0xF3, 0x24, 0xF3, 0xFF, 0xED, 0x00, 0x3D, 0x00, 0x1A, 0x24, 0xF3, + 0x24, 0xF3, 0x24, 0xF3, 0xFF, 0xD8, 0x00, 0x3D, 0x00, 0x1A, 0xDB, 0x0D, 0x24, 0xF3, 0x24, 0xF3, 0xFF, 0xD8, 0xFF, 0xD6, 0x00, 0x1A, 0xC7, 0x46, 0xF9, 0x05, 0x1C, 0xCB, 0xFF, 0xD9, 0xFF, 0xD2, + 0x00, 0x1A, 0xC7, 0x46, 0xF9, 0x05, 0x1C, 0xCB, 0xFF, 0xD9, 0xFF, 0xCE, 0x00, 0x1A, 0xC9, 0xB6, 0xEF, 0x90, 0x1D, 0xA2, 0xFF, 0xDB, 0xFF, 0xCB, 0x00, 0x1A, 0xD3, 0xC7, 0xDB, 0xBF, 0x1C, 0xBB, + 0xFF, 0xDE, 0xFF, 0xC8, 0x00, 0x1A, 0xDA, 0x84, 0xD4, 0xC7, 0x1C, 0xAD, 0xFF, 0xE2, 0xFF, 0xC5, 0x00, 0x1A, 0xE8, 0xC2, 0xCC, 0x03, 0x1D, 0x32, 0xFF, 0xE7, 0xFF, 0xC4, 0x00, 0x1A, 0xF1, 0x51, + 0xC8, 0xB3, 0x1C, 0xAA, 0xFF, 0xEA, 0xFF, 0xC3, 0x00, 0x1A, 0xF6, 0xDB, 0xC7, 0xA5, 0x1C, 0xEB, 0xFF, 0xEB, 0xFF, 0xC3, 0x00, 0x1A, 0x00, 0x00, 0xD2, 0xBF, 0x2D, 0x41, 0xFF, 0xFA, 0xFF, 0xC3, + 0x00, 0x1A, 0x03, 0x8E, 0xC6, 0xE4, 0x1C, 0xAA, 0x00, 0x02, 0xFF, 0xC4, 0x00, 0x1A, 0x07, 0x99, 0xC7, 0x44, 0x1C, 0x9F, 0x00, 0x09, 0xFF, 0xC5, 0x00, 0x1A, 0x0E, 0xC2, 0xC8, 0xC8, 0x1C, 0xC9, + 0x00, 0x0E, 0xFF, 0xC7, 0x00, 0x1A, 0x19, 0x6B, 0xCC, 0xC1, 0x1C, 0xB1, 0x00, 0x13, 0xFF, 0xCA, 0x00, 0x1A, 0x24, 0xD6, 0xD4, 0x62, 0x1C, 0xEB, 0x00, 0x19, 0xFF, 0xD1, 0x00, 0x1A, 0x2F, 0x9D, + 0xE0, 0x63, 0x1C, 0xCB, 0x00, 0x1E, 0xFF, 0xDB, 0x00, 0x1A, 0x35, 0x9F, 0xEC, 0x2A, 0x1C, 0xC2, 0x00, 0x20, 0xFF, 0xE3, 0x00, 0x1A, 0x38, 0xBA, 0xF9, 0x05, 0x1C, 0xCB, 0x00, 0x20, 0xFF, 0xEA, + 0x00, 0x1A, 0x38, 0xBA, 0x06, 0xFB, 0x1C, 0xCB, 0x00, 0x1E, 0xFF, 0xF2, 0x00, 0x1A, 0x35, 0x03, 0x15, 0x4D, 0x1C, 0xD6, 0x00, 0x1A, 0xFF, 0xF9, 0x00, 0x1A, 0x31, 0x65, 0x1C, 0xED, 0x1C, 0x9F, + 0x00, 0x13, 0x00, 0x02, 0x00, 0x1A, 0x22, 0xC4, 0x1C, 0xF8, 0x2D, 0x41, 0x00, 0x0E, 0x00, 0x08, 0x00, 0x1A, 0x17, 0xC3, 0x32, 0xBC, 0x1E, 0xEF, 0x00, 0x0D, 0x00, 0x08, 0x00, 0x1A, 0x24, 0xF3, + 0x24, 0xF3, 0x24, 0xF3, 0x00, 0x0D, 0x00, 0x09, 0x00, 0x1A, 0x2D, 0x41, 0x00, 0x00, 0x2D, 0x41, 0x00, 0x0D, 0x00, 0x0A, 0x00, 0x1A, 0x24, 0xF3, 0xDB, 0x0D, 0x24, 0xF3, 0x00, 0x0E, 0x00, 0x0A, + 0x00, 0x1A, 0x1D, 0x2C, 0xD1, 0x36, 0x20, 0x7D, 0x00, 0x17, 0xFF, 0xFE, 0xFF, 0xE8, 0x26, 0xCE, 0x17, 0x48, 0xD2, 0xBF, 0x00, 0x17, 0xFF, 0xFE, 0x00, 0x1A, 0x09, 0x59, 0xF4, 0x07, 0x3E, 0x2B, + 0x00, 0x00, 0x01, 0x34, 0x00, 0x00, 0x00, 0x08, 0x00, 0x12, 0x00, 0x0C, 0x00, 0x00, 0xAC, 0xCC, 0x00, 0x00, 0xAD, 0x18, 0x00, 0x03, 0x77, 0xC7, 0x00, 0x2C, 0x00, 0x28, 0xFF, 0xEC, 0x00, 0x03, + 0x77, 0xC7, 0xFF, 0xCC, 0x00, 0x44, 0xFF, 0xC0, 0x00, 0x03, 0x77, 0xC7, 0xFF, 0xD8, 0x00, 0x3C, 0xFF, 0xC8, 0x00, 0x03, 0x77, 0xC7, 0xFF, 0xD0, 0xFF, 0xE0, 0xFF, 0xB8, 0x00, 0x03, 0x77, 0xC7, + 0xFF, 0xE8, 0x00, 0x30, 0xFF, 0xD4, 0x00, 0x03, 0x77, 0xC7, 0x00, 0x40, 0xFF, 0xDC, 0xFF, 0xFC, 0x00, 0x03, 0x77, 0xC7, 0x00, 0x38, 0x00, 0x34, 0xFF, 0xF8, 0x00, 0x03, 0x77, 0xC7, 0x00, 0x24, + 0x00, 0x20, 0xFF, 0xE4, 0x00, 0x03, 0x77, 0xC7, 0x00, 0x1C, 0x00, 0x18, 0xFF, 0xF0, 0x00, 0x03, 0x77, 0xC7, 0x00, 0x48, 0xFF, 0xBC, 0xFF, 0xC4, 0x00, 0x03, 0x77, 0xC7, 0x00, 0x0C, 0x00, 0x08, + 0x00, 0x04, 0x00, 0x03, 0x77, 0xC7, 0x00, 0x14, 0xFF, 0xF4, 0x00, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x18, 0x00, 0x00, 0x00, 0x10, 0x00, 0x18, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x08, + 0x00, 0x08, 0x00, 0x10, 0x00, 0x28, 0x00, 0x08, 0x00, 0x00, 0x00, 0x28, 0x00, 0x20, 0x00, 0x28, 0x00, 0x00, 0x00, 0x20, 0x00, 0x30, 0x00, 0x10, 0x00, 0x08, 0x00, 0x30, 0x00, 0x28, 0x00, 0x30, + 0x00, 0x38, 0x00, 0x18, 0x00, 0x10, 0x00, 0x38, 0x00, 0x30, 0x00, 0x38, 0x00, 0x18, 0x00, 0x20, 0x00, 0x38, 0x00, 0x20, 0x00, 0x30, 0x00, 0x20, 0xFF, 0xF6, 0x00, 0x3C, 0xFF, 0xE7, 0xDB, 0x0D, + 0x24, 0xF3, 0xDB, 0x0D, 0xFF, 0xF6, 0xFF, 0xC3, 0xFF, 0xE7, 0xDB, 0x0D, 0xDB, 0x0D, 0xDB, 0x0D, 0x00, 0x0A, 0xFF, 0xC3, 0xFF, 0xE7, 0x24, 0xF3, 0xDB, 0x0D, 0xDB, 0x0D, 0x00, 0x0A, 0x00, 0x3C, + 0xFF, 0xE7, 0x24, 0xF3, 0x24, 0xF3, 0xDB, 0x0D, 0xFF, 0xF6, 0x00, 0x3C, 0x00, 0x1A, 0xDB, 0x0D, 0x24, 0xF3, 0x24, 0xF3, 0xFF, 0xF6, 0xFF, 0xC3, 0x00, 0x1A, 0xDB, 0x0D, 0xDB, 0x0D, 0x24, 0xF3, + 0x00, 0x0A, 0xFF, 0xC3, 0x00, 0x1A, 0x24, 0xF3, 0xDB, 0x0D, 0x24, 0xF3, 0x00, 0x0A, 0x00, 0x3C, 0x00, 0x1A, 0x24, 0xF3, 0x24, 0xF3, 0x24, 0xF3, 0x00, 0x00, 0x01, 0xB8, 0x00, 0x00, 0x00, 0x0E, + 0x00, 0x1C, 0x00, 0x0E, 0x00, 0x00, 0xAE, 0x18, 0x00, 0x00, 0xAE, 0x8C, 0x00, 0x03, 0x77, 0xC7, 0x00, 0x40, 0x00, 0x3C, 0xFF, 0xDC, 0x00, 0x03, 0x77, 0xC7, 0x00, 0x70, 0xFF, 0x98, 0x00, 0x6C, + 0x00, 0x03, 0x77, 0xC7, 0x00, 0x48, 0xFF, 0xC0, 0x00, 0x44, 0x00, 0x03, 0x77, 0xC7, 0x00, 0x1C, 0x00, 0x18, 0xFF, 0xF8, 0x00, 0x03, 0x77, 0xC7, 0x00, 0x24, 0x00, 0x20, 0xFF, 0xE4, 0x00, 0x03, + 0x77, 0xC7, 0x00, 0x0C, 0x00, 0x08, 0x00, 0x04, 0x00, 0x03, 0x77, 0xC7, 0x00, 0x38, 0xFF, 0xD0, 0x00, 0x34, 0x00, 0x03, 0x77, 0xC7, 0x00, 0x4C, 0xFF, 0xC8, 0xFF, 0xB8, 0x00, 0x03, 0x77, 0xC7, + 0x00, 0x58, 0xFF, 0xAC, 0xFF, 0xEC, 0x00, 0x03, 0x77, 0xC7, 0x00, 0x60, 0xFF, 0xA8, 0x00, 0x5C, 0x00, 0x03, 0x77, 0xC7, 0x00, 0x68, 0x00, 0x64, 0xFF, 0xA0, 0x00, 0x03, 0x77, 0xC7, 0x00, 0x54, + 0xFF, 0xB4, 0x00, 0x50, 0x00, 0x03, 0x77, 0xC7, 0x00, 0x14, 0x00, 0x10, 0xFF, 0xF4, 0x00, 0x03, 0x77, 0xC7, 0x00, 0x30, 0x00, 0x2C, 0x00, 0x28, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x08, + 0x00, 0x58, 0x00, 0x00, 0x00, 0x08, 0x00, 0x58, 0x00, 0x68, 0x00, 0x58, 0x00, 0x08, 0x00, 0x68, 0x00, 0x50, 0x00, 0x00, 0x00, 0x58, 0x00, 0x50, 0x00, 0x48, 0x00, 0x50, 0x00, 0x58, 0x00, 0x48, + 0x00, 0x30, 0x00, 0x38, 0x00, 0x28, 0x00, 0x30, 0x00, 0x38, 0x00, 0x28, 0x00, 0x38, 0x00, 0x40, 0x00, 0x40, 0x00, 0x28, 0x00, 0x40, 0x00, 0x48, 0x00, 0x58, 0x00, 0x40, 0x00, 0x58, 0x00, 0x60, + 0x00, 0x60, 0x00, 0x40, 0x00, 0x60, 0x00, 0x28, 0x00, 0x60, 0x00, 0x68, 0x00, 0x68, 0x00, 0x28, 0x00, 0x08, 0x00, 0x28, 0x00, 0x08, 0x00, 0x10, 0x00, 0x10, 0x00, 0x28, 0x00, 0x20, 0x00, 0x28, + 0x00, 0x10, 0x00, 0x20, 0x00, 0x10, 0x00, 0x18, 0x00, 0x18, 0x00, 0x20, 0xFF, 0xD2, 0x00, 0x3D, 0xFF, 0xE8, 0x00, 0x00, 0x00, 0x00, 0xC0, 0x00, 0xFF, 0xF2, 0xFF, 0xCD, 0xFF, 0xE8, 0x00, 0x00, + 0x00, 0x00, 0xC0, 0x00, 0xFF, 0xF9, 0xFF, 0xC6, 0xFF, 0xE8, 0x00, 0x00, 0x00, 0x00, 0xC0, 0x00, 0x00, 0x00, 0xFF, 0xC3, 0xFF, 0xE8, 0x00, 0x00, 0x00, 0x00, 0xC0, 0x00, 0x00, 0x09, 0xFF, 0xC6, + 0xFF, 0xE8, 0x00, 0x00, 0x00, 0x00, 0xC0, 0x00, 0x00, 0x0F, 0xFF, 0xCD, 0xFF, 0xE8, 0x00, 0x00, 0x00, 0x00, 0xC0, 0x00, 0x00, 0x2C, 0x00, 0x3D, 0xFF, 0xE8, 0x00, 0x00, 0x00, 0x00, 0xC0, 0x00, + 0x00, 0x17, 0x00, 0x3D, 0xFF, 0xE8, 0x00, 0x00, 0x00, 0x00, 0xC0, 0x00, 0x00, 0x0F, 0x00, 0x20, 0xFF, 0xE8, 0x00, 0x00, 0x00, 0x00, 0xC0, 0x00, 0xFF, 0xF1, 0x00, 0x20, 0xFF, 0xE8, 0x00, 0x00, + 0x00, 0x00, 0xC0, 0x00, 0xFF, 0xE9, 0x00, 0x3D, 0xFF, 0xE8, 0x00, 0x00, 0x00, 0x00, 0xC0, 0x00, 0xFF, 0xF6, 0x00, 0x0A, 0xFF, 0xE8, 0x00, 0x00, 0x00, 0x00, 0xC0, 0x00, 0x00, 0x0A, 0x00, 0x0A, + 0xFF, 0xE8, 0x00, 0x00, 0x00, 0x00, 0xC0, 0x00, 0x00, 0x00, 0xFF, 0xE0, 0xFF, 0xE8, 0x00, 0x00, 0x00, 0x00, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xE4, 0x00, 0x00, 0x00, 0x08, + 0x00, 0x0D, 0x00, 0x06, 0x00, 0x00, 0xAF, 0x88, 0x00, 0x00, 0xAF, 0xC0, 0x00, 0x03, 0x77, 0xC7, 0x00, 0x2C, 0xFF, 0xD8, 0xFF, 0xEC, 0x00, 0x03, 0x77, 0xC7, 0x00, 0x34, 0xFF, 0xD4, 0x00, 0x30, + 0x00, 0x03, 0x77, 0xC7, 0x00, 0x0C, 0x00, 0x08, 0x00, 0x04, 0x00, 0x03, 0x77, 0xC7, 0x00, 0x14, 0xFF, 0xF4, 0x00, 0x10, 0x00, 0x03, 0x77, 0xC7, 0x00, 0x20, 0x00, 0x1C, 0x00, 0x18, 0x00, 0x03, + 0x77, 0xC7, 0x00, 0x28, 0x00, 0x24, 0xFF, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x38, 0x00, 0x00, 0x00, 0x30, 0x00, 0x38, 0x00, 0x00, 0x00, 0x30, 0x00, 0x00, 0x00, 0x08, 0x00, 0x08, 0x00, 0x30, + 0x00, 0x28, 0x00, 0x30, 0x00, 0x20, 0x00, 0x28, 0x00, 0x30, 0x00, 0x20, 0x00, 0x18, 0x00, 0x20, 0x00, 0x30, 0x00, 0x18, 0x00, 0x08, 0x00, 0x18, 0x00, 0x08, 0x00, 0x10, 0x00, 0x10, 0x00, 0x18, + 0xFF, 0xF6, 0x00, 0x3D, 0xFF, 0xE8, 0x00, 0x00, 0x00, 0x00, 0xC0, 0x00, 0xFF, 0xF6, 0xFF, 0xD9, 0xFF, 0xE8, 0x00, 0x00, 0x00, 0x00, 0xC0, 0x00, 0xFF, 0xDD, 0xFF, 0xD9, 0xFF, 0xE8, 0x00, 0x00, + 0x00, 0x00, 0xC0, 0x00, 0xFF, 0xDD, 0xFF, 0xC4, 0xFF, 0xE8, 0x00, 0x00, 0x00, 0x00, 0xC0, 0x00, 0x00, 0x22, 0xFF, 0xC4, 0xFF, 0xE8, 0x00, 0x00, 0x00, 0x00, 0xC0, 0x00, 0x00, 0x22, 0xFF, 0xD9, + 0xFF, 0xE8, 0x00, 0x00, 0x00, 0x00, 0xC0, 0x00, 0x00, 0x0A, 0xFF, 0xD9, 0xFF, 0xE8, 0x00, 0x00, 0x00, 0x00, 0xC0, 0x00, 0x00, 0x0A, 0x00, 0x3D, 0xFF, 0xE8, 0x00, 0x00, 0x00, 0x00, 0xC0, 0x00, + 0x00, 0x00, 0x05, 0x58, 0x00, 0x00, 0x00, 0x2E, 0x00, 0x59, 0x00, 0x29, 0x00, 0x00, 0xB1, 0xD0, 0x00, 0x00, 0xB3, 0x38, 0x00, 0x03, 0x77, 0xC7, 0xFE, 0xF4, 0xFE, 0xF8, 0x01, 0x64, 0x00, 0x03, + 0x77, 0xC7, 0x01, 0x2C, 0xFE, 0xDC, 0x01, 0x28, 0x00, 0x03, 0x77, 0xC7, 0x00, 0xB8, 0x00, 0xB4, 0xFF, 0x50, 0x00, 0x03, 0x77, 0xC7, 0x01, 0x24, 0x01, 0x20, 0xFE, 0xE4, 0x00, 0x03, 0x77, 0xC7, + 0x00, 0xD0, 0x00, 0xCC, 0xFF, 0x38, 0x00, 0x03, 0x77, 0xC7, 0x00, 0x60, 0xFF, 0xA8, 0x00, 0x5C, 0x00, 0x03, 0x77, 0xC7, 0x00, 0x40, 0xFF, 0xC8, 0x00, 0x3C, 0x00, 0x03, 0x77, 0xC7, 0x01, 0x1C, + 0xFE, 0xEC, 0x01, 0x18, 0x00, 0x03, 0x77, 0xC7, 0x00, 0x0C, 0x00, 0x08, 0x00, 0x04, 0x00, 0x03, 0x77, 0xC7, 0x00, 0x14, 0xFF, 0xF4, 0x00, 0x10, 0x00, 0x03, 0x77, 0xC7, 0x01, 0x34, 0x01, 0x30, + 0xFF, 0xDC, 0x00, 0x03, 0x77, 0xC7, 0x01, 0x50, 0x01, 0x4C, 0xFE, 0xB8, 0x00, 0x03, 0x77, 0xC7, 0x01, 0x48, 0x01, 0x44, 0xFE, 0xC0, 0x00, 0x03, 0x77, 0xC7, 0x01, 0x08, 0xFF, 0x00, 0x01, 0x04, + 0x00, 0x03, 0x77, 0xC7, 0x00, 0xE0, 0xFF, 0x28, 0x00, 0xDC, 0x00, 0x03, 0x77, 0xC7, 0x00, 0xD8, 0xFF, 0x30, 0x00, 0xD4, 0x00, 0x03, 0x77, 0xC7, 0x00, 0x30, 0x00, 0x2C, 0x00, 0x28, 0x00, 0x03, + 0x77, 0xC7, 0x00, 0x38, 0xFF, 0xD0, 0x00, 0x34, 0x00, 0x03, 0x77, 0xC7, 0x00, 0x98, 0x00, 0x94, 0xFF, 0x70, 0x00, 0x03, 0x77, 0xC7, 0x00, 0x1C, 0x00, 0x18, 0xFF, 0xEC, 0x00, 0x03, 0x77, 0xC7, + 0x00, 0x24, 0x00, 0x20, 0xFF, 0xE4, 0x00, 0x03, 0x77, 0xC7, 0x00, 0x48, 0xFF, 0xC0, 0x00, 0x44, 0x00, 0x03, 0x77, 0xC7, 0x00, 0x50, 0xFF, 0xB8, 0x00, 0x4C, 0x00, 0x03, 0x77, 0xC7, 0x00, 0xC0, + 0xFF, 0x48, 0x00, 0xBC, 0x00, 0x03, 0x77, 0xC7, 0x01, 0x38, 0xFE, 0xD4, 0xFE, 0xCC, 0x00, 0x03, 0x77, 0xC7, 0x00, 0x70, 0xFF, 0x98, 0x00, 0x6C, 0x00, 0x03, 0x77, 0xC7, 0x01, 0x14, 0x01, 0x10, + 0x01, 0x0C, 0x00, 0x03, 0x77, 0xC7, 0x00, 0xF8, 0xFF, 0x10, 0x00, 0xF4, 0x00, 0x03, 0x77, 0xC7, 0x01, 0x00, 0x00, 0xFC, 0xFF, 0x08, 0x00, 0x03, 0x77, 0xC7, 0x00, 0xF0, 0xFF, 0x18, 0x00, 0xEC, + 0x00, 0x03, 0x77, 0xC7, 0x00, 0xE8, 0x00, 0xE4, 0xFF, 0x20, 0x00, 0x03, 0x77, 0xC7, 0x00, 0xC8, 0xFF, 0x40, 0x00, 0xC4, 0x00, 0x03, 0x77, 0xC7, 0x00, 0xA8, 0xFF, 0x60, 0x00, 0xA4, 0x00, 0x03, + 0x77, 0xC7, 0x00, 0x58, 0xFF, 0xB0, 0x00, 0x54, 0x00, 0x03, 0x77, 0xC7, 0x00, 0x68, 0xFF, 0xA0, 0x00, 0x64, 0x00, 0x03, 0x77, 0xC7, 0x00, 0xB0, 0xFF, 0x58, 0x00, 0xAC, 0x00, 0x03, 0x77, 0xC7, + 0x00, 0x78, 0xFF, 0x90, 0x00, 0x74, 0x00, 0x03, 0x77, 0xC7, 0x00, 0xA0, 0xFF, 0x68, 0x00, 0x9C, 0x00, 0x03, 0x77, 0xC7, 0x00, 0x90, 0xFF, 0x78, 0x00, 0x8C, 0x00, 0x03, 0x77, 0xC7, 0x00, 0x80, + 0xFF, 0x88, 0x00, 0x7C, 0x00, 0x03, 0x77, 0xC7, 0x00, 0x88, 0x00, 0x84, 0xFF, 0x80, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x08, 0x01, 0x60, 0x00, 0x00, 0x00, 0x08, 0x01, 0x60, + 0x00, 0x08, 0x00, 0x10, 0x00, 0x10, 0x01, 0x60, 0x01, 0x58, 0x01, 0x60, 0x00, 0x10, 0x01, 0x58, 0x01, 0x50, 0x01, 0x58, 0x00, 0x10, 0x01, 0x50, 0x00, 0x88, 0x00, 0x90, 0x00, 0x80, 0x00, 0x88, + 0x00, 0x90, 0x00, 0x80, 0x00, 0x90, 0x00, 0x98, 0x00, 0x98, 0x00, 0x80, 0x00, 0x98, 0x00, 0xA0, 0x00, 0xA0, 0x00, 0x80, 0x00, 0xA0, 0x00, 0xA8, 0x00, 0xA8, 0x00, 0x80, 0x00, 0xA8, 0x00, 0xB0, + 0x00, 0xB0, 0x00, 0x80, 0x00, 0xB0, 0x00, 0xB8, 0x00, 0xB8, 0x00, 0x80, 0x00, 0xB8, 0x00, 0xC0, 0x00, 0xC0, 0x00, 0x80, 0x00, 0xC0, 0x00, 0xC8, 0x00, 0xC8, 0x00, 0x80, 0x00, 0xC8, 0x00, 0xD0, + 0x00, 0xD0, 0x00, 0x80, 0x00, 0xD0, 0x00, 0xD8, 0x00, 0xD8, 0x00, 0x80, 0x00, 0xD8, 0x00, 0xE0, 0x00, 0xE0, 0x00, 0x80, 0x00, 0x78, 0x00, 0x80, 0x00, 0xE0, 0x00, 0x78, 0x00, 0xE0, 0x00, 0xE8, + 0x00, 0xE8, 0x00, 0x78, 0x00, 0x70, 0x00, 0x78, 0x00, 0xE8, 0x00, 0x70, 0x00, 0xE8, 0x00, 0xF0, 0x00, 0xF0, 0x00, 0x70, 0x00, 0xF0, 0x00, 0xF8, 0x00, 0xF8, 0x00, 0x70, 0x00, 0xF8, 0x01, 0x00, + 0x01, 0x00, 0x00, 0x70, 0x00, 0x68, 0x00, 0x70, 0x01, 0x00, 0x00, 0x68, 0x01, 0x00, 0x01, 0x08, 0x01, 0x08, 0x00, 0x68, 0x01, 0x08, 0x01, 0x10, 0x01, 0x10, 0x00, 0x68, 0x00, 0x60, 0x00, 0x68, + 0x01, 0x10, 0x00, 0x60, 0x01, 0x10, 0x01, 0x18, 0x01, 0x18, 0x00, 0x60, 0x01, 0x18, 0x01, 0x20, 0x01, 0x20, 0x00, 0x60, 0x00, 0x58, 0x00, 0x60, 0x01, 0x20, 0x00, 0x58, 0x01, 0x20, 0x01, 0x28, + 0x01, 0x28, 0x00, 0x58, 0x01, 0x28, 0x01, 0x30, 0x01, 0x30, 0x00, 0x58, 0x00, 0x50, 0x00, 0x58, 0x01, 0x30, 0x00, 0x50, 0x01, 0x30, 0x01, 0x68, 0x01, 0x68, 0x00, 0x50, 0x00, 0x50, 0x01, 0x38, + 0x00, 0x48, 0x00, 0x50, 0x01, 0x38, 0x00, 0x48, 0x01, 0x38, 0x01, 0x40, 0x01, 0x40, 0x00, 0x48, 0x00, 0x40, 0x00, 0x48, 0x01, 0x40, 0x00, 0x40, 0x01, 0x40, 0x01, 0x48, 0x01, 0x48, 0x00, 0x40, + 0x01, 0x48, 0x01, 0x50, 0x00, 0x10, 0x01, 0x48, 0x00, 0x10, 0x00, 0x40, 0x00, 0x10, 0x00, 0x18, 0x00, 0x18, 0x00, 0x40, 0x00, 0x38, 0x00, 0x40, 0x00, 0x18, 0x00, 0x38, 0x00, 0x30, 0x00, 0x38, + 0x00, 0x18, 0x00, 0x30, 0x00, 0x28, 0x00, 0x30, 0x00, 0x18, 0x00, 0x28, 0x00, 0x18, 0x00, 0x20, 0x00, 0x20, 0x00, 0x28, 0x01, 0x68, 0x01, 0x38, 0x00, 0x27, 0x00, 0x3D, 0xFF, 0xE8, 0x00, 0x00, + 0x00, 0x00, 0xC0, 0x00, 0x00, 0x0E, 0x00, 0x3D, 0xFF, 0xE8, 0x00, 0x00, 0x00, 0x00, 0xC0, 0x00, 0xFF, 0xF7, 0x00, 0x0B, 0xFF, 0xE8, 0x00, 0x00, 0x00, 0x00, 0xC0, 0x00, 0xFF, 0xF7, 0x00, 0x0B, + 0xFF, 0xE8, 0x00, 0x00, 0x00, 0x00, 0xC0, 0x00, 0xFF, 0xF7, 0x00, 0x0B, 0xFF, 0xE8, 0x40, 0x00, 0x40, 0x00, 0x40, 0x00, 0xFF, 0xF7, 0x00, 0x0B, 0xFF, 0xE8, 0x40, 0x00, 0x40, 0x00, 0x40, 0x00, + 0xFF, 0xF6, 0x00, 0x07, 0xFF, 0xE8, 0x00, 0x00, 0x00, 0x00, 0xC0, 0x00, 0xFF, 0xF7, 0x00, 0x02, 0xFF, 0xE8, 0x00, 0x00, 0x00, 0x00, 0xC0, 0x00, 0xFF, 0xFB, 0xFF, 0xFF, 0xFF, 0xE8, 0x00, 0x00, + 0x00, 0x00, 0xC0, 0x00, 0x00, 0x02, 0xFF, 0xF9, 0xFF, 0xE8, 0x00, 0x00, 0x00, 0x00, 0xC0, 0x00, 0x00, 0x07, 0xFF, 0xF3, 0xFF, 0xE8, 0x00, 0x00, 0x00, 0x00, 0xC0, 0x00, 0x00, 0x0A, 0xFF, 0xEC, + 0xFF, 0xE8, 0x00, 0x00, 0x00, 0x00, 0xC0, 0x00, 0x00, 0x0A, 0xFF, 0xE4, 0xFF, 0xE8, 0x00, 0x00, 0x00, 0x00, 0xC0, 0x00, 0x00, 0x07, 0xFF, 0xDF, 0xFF, 0xE8, 0x00, 0x00, 0x00, 0x00, 0xC0, 0x00, + 0x00, 0x02, 0xFF, 0xDB, 0xFF, 0xE8, 0x00, 0x00, 0x00, 0x00, 0xC0, 0x00, 0xFF, 0xFB, 0xFF, 0xD9, 0xFF, 0xE8, 0x00, 0x00, 0x00, 0x00, 0xC0, 0x00, 0xFF, 0xED, 0xFF, 0xD9, 0xFF, 0xE8, 0x00, 0x00, + 0x00, 0x00, 0xC0, 0x00, 0xFF, 0xED, 0x00, 0x3D, 0xFF, 0xE8, 0x00, 0x00, 0x00, 0x00, 0xC0, 0x00, 0xFF, 0xD8, 0x00, 0x3D, 0xFF, 0xE8, 0x00, 0x00, 0x00, 0x00, 0xC0, 0x00, 0xFF, 0xD8, 0xFF, 0xD6, + 0xFF, 0xE8, 0x00, 0x00, 0x00, 0x00, 0xC0, 0x00, 0xFF, 0xD9, 0xFF, 0xD2, 0xFF, 0xE8, 0x00, 0x00, 0x00, 0x00, 0xC0, 0x00, 0xFF, 0xD9, 0xFF, 0xCE, 0xFF, 0xE8, 0x00, 0x00, 0x00, 0x00, 0xC0, 0x00, + 0xFF, 0xDB, 0xFF, 0xCB, 0xFF, 0xE8, 0x00, 0x00, 0x00, 0x00, 0xC0, 0x00, 0xFF, 0xDE, 0xFF, 0xC8, 0xFF, 0xE8, 0x00, 0x00, 0x00, 0x00, 0xC0, 0x00, 0xFF, 0xE2, 0xFF, 0xC5, 0xFF, 0xE8, 0x00, 0x00, + 0x00, 0x00, 0xC0, 0x00, 0xFF, 0xE7, 0xFF, 0xC4, 0xFF, 0xE8, 0x00, 0x00, 0x00, 0x00, 0xC0, 0x00, 0xFF, 0xEA, 0xFF, 0xC3, 0xFF, 0xE8, 0x00, 0x00, 0x00, 0x00, 0xC0, 0x00, 0xFF, 0xEB, 0xFF, 0xC3, + 0xFF, 0xE8, 0x00, 0x00, 0x00, 0x00, 0xC0, 0x00, 0xFF, 0xFA, 0xFF, 0xC3, 0xFF, 0xE8, 0x00, 0x00, 0x00, 0x00, 0xC0, 0x00, 0x00, 0x02, 0xFF, 0xC4, 0xFF, 0xE8, 0x00, 0x00, 0x00, 0x00, 0xC0, 0x00, + 0x00, 0x09, 0xFF, 0xC5, 0xFF, 0xE8, 0x00, 0x00, 0x00, 0x00, 0xC0, 0x00, 0x00, 0x0E, 0xFF, 0xC7, 0xFF, 0xE8, 0x00, 0x00, 0x00, 0x00, 0xC0, 0x00, 0x00, 0x13, 0xFF, 0xCA, 0xFF, 0xE8, 0x00, 0x00, + 0x00, 0x00, 0xC0, 0x00, 0x00, 0x19, 0xFF, 0xD1, 0xFF, 0xE8, 0x00, 0x00, 0x00, 0x00, 0xC0, 0x00, 0x00, 0x1E, 0xFF, 0xDB, 0xFF, 0xE8, 0x00, 0x00, 0x00, 0x00, 0xC0, 0x00, 0x00, 0x20, 0xFF, 0xE3, + 0xFF, 0xE8, 0x00, 0x00, 0x00, 0x00, 0xC0, 0x00, 0x00, 0x20, 0xFF, 0xEA, 0xFF, 0xE8, 0x00, 0x00, 0x00, 0x00, 0xC0, 0x00, 0x00, 0x1E, 0xFF, 0xF2, 0xFF, 0xE8, 0x00, 0x00, 0x00, 0x00, 0xC0, 0x00, + 0x00, 0x1A, 0xFF, 0xF9, 0xFF, 0xE8, 0x00, 0x00, 0x00, 0x00, 0xC0, 0x00, 0x00, 0x13, 0x00, 0x02, 0xFF, 0xE8, 0x00, 0x00, 0x00, 0x00, 0xC0, 0x00, 0x00, 0x0E, 0x00, 0x08, 0xFF, 0xE8, 0x00, 0x00, + 0x00, 0x00, 0xC0, 0x00, 0x00, 0x0D, 0x00, 0x08, 0xFF, 0xE8, 0x00, 0x00, 0x00, 0x00, 0xC0, 0x00, 0x00, 0x0D, 0x00, 0x09, 0xFF, 0xE8, 0x00, 0x00, 0x00, 0x00, 0xC0, 0x00, 0x00, 0x0D, 0x00, 0x0A, + 0xFF, 0xE8, 0x00, 0x00, 0x00, 0x00, 0xC0, 0x00, 0x00, 0x0E, 0x00, 0x0A, 0xFF, 0xE8, 0x00, 0x00, 0x00, 0x00, 0xC0, 0x00, 0x00, 0x17, 0xFF, 0xFE, 0xFF, 0xE8, 0x00, 0x00, 0x00, 0x00, 0xC0, 0x00, + 0x00, 0x00, 0x00, 0x6C, 0x00, 0x00, 0x00, 0x04, 0x00, 0x05, 0x00, 0x02, 0x00, 0x00, 0xB5, 0x88, 0x00, 0x00, 0xB5, 0xA0, 0x00, 0x03, 0x77, 0xC7, 0x00, 0x0C, 0x00, 0x08, 0x00, 0x04, 0x00, 0x03, + 0x77, 0xC7, 0x00, 0x14, 0xFF, 0xF4, 0x00, 0x10, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x18, 0x00, 0x00, 0x00, 0x10, 0x00, 0x18, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x08, 0x00, 0x08, 0x00, 0x10, + 0xFF, 0xF6, 0x00, 0x3C, 0xFF, 0xE7, 0x00, 0x00, 0x00, 0x00, 0xC0, 0x00, 0xFF, 0xF6, 0xFF, 0xC3, 0xFF, 0xE7, 0x00, 0x00, 0x00, 0x00, 0xC0, 0x00, 0x00, 0x0A, 0xFF, 0xC3, 0xFF, 0xE7, 0x00, 0x00, + 0x00, 0x00, 0xC0, 0x00, 0x00, 0x0A, 0x00, 0x3C, 0xFF, 0xE7, 0x00, 0x00, 0x00, 0x00, 0xC0, 0x00, 0x65, 0x05, 0x65, 0x05, 0x65, 0x05, 0x65, 0x05, 0x65, 0x05, 0x65, 0x05, 0x65, 0x05, 0x65, 0x05, + 0x65, 0x05, 0x65, 0x05, 0x65, 0x05, 0x65, 0x05, 0x65, 0x05, 0x65, 0x05, 0x65, 0x05, 0x65, 0x05, 0x65, 0x05, 0x65, 0x05, 0x65, 0x05, 0x65, 0x05, 0x65, 0x05, 0x65, 0x05, 0x65, 0x05, 0x65, 0x05, + 0x65, 0x05, 0x65, 0x05, 0x65, 0x05, 0x65, 0x05, 0x65, 0x05, 0x65, 0x05, 0x65, 0x05, 0x65, 0x05, 0x65, 0x05, 0x65, 0x05, 0x65, 0x05, 0x65, 0x05, 0x65, 0x05, 0x65, 0x05, 0x65, 0x05, 0x65, 0x05, + 0x65, 0x05, 0x65, 0x05, 0x65, 0x05, 0x65, 0x05, 0x65, 0x05, 0x65, 0x05, 0x65, 0x05, 0x65, 0x05, 0x65, 0x05, 0x65, 0x05, 0x65, 0x05, 0x65, 0x05, 0x65, 0x05, 0x65, 0x05, 0x65, 0x05, 0x65, 0x05, + 0x65, 0x05, 0x65, 0x05, 0x65, 0x05, 0x65, 0x05, 0x65, 0x05, 0x65, 0x05, 0x65, 0x05, 0x65, 0x05, 0x65, 0x05, 0x75, 0x0B, 0x65, 0x0B, 0x65, 0x0A, 0x75, 0x09, 0x75, 0x09, 0x75, 0x09, 0x76, 0x08, + 0x75, 0x08, 0x76, 0x08, 0x76, 0x09, 0x97, 0x0C, 0xA7, 0x10, 0xA7, 0x11, 0x96, 0x0F, 0x96, 0x0D, 0x96, 0x0B, 0x97, 0x0B, 0x96, 0x0C, 0x96, 0x0C, 0x96, 0x0D, 0xA6, 0x12, 0xB7, 0x1B, 0xB7, 0x26, + 0xA7, 0x2E, 0xA7, 0x31, 0xA7, 0x33, 0xA7, 0x33, 0xA7, 0x31, 0xB7, 0x29, 0xB7, 0x1A, 0xA6, 0x0F, 0xA6, 0x0C, 0x96, 0x0B, 0x96, 0x0B, 0x96, 0x0A, 0x86, 0x0A, 0x96, 0x0D, 0xA7, 0x10, 0xA6, 0x14, + 0xA6, 0x15, 0xA6, 0x15, 0xA6, 0x16, 0xA6, 0x14, 0xA7, 0x11, 0xA7, 0x11, 0x96, 0x12, 0x96, 0x10, 0x86, 0x0D, 0x86, 0x0B, 0x86, 0x0A, 0x86, 0x0A, 0x86, 0x0A, 0x96, 0x0B, 0x96, 0x0B, 0x86, 0x0A, + 0x86, 0x09, 0x76, 0x08, 0x76, 0x07, 0x75, 0x08, 0x75, 0x09, 0x75, 0x09, 0x76, 0x08, 0x65, 0x05, 0x65, 0x05, 0x76, 0x0B, 0x75, 0x10, 0x66, 0x0E, 0x66, 0x0D, 0x76, 0x0D, 0x66, 0x0D, 0x75, 0x0C, + 0x66, 0x0C, 0x87, 0x0F, 0xA7, 0x23, 0xB7, 0x3B, 0xB7, 0x4F, 0xA7, 0x56, 0xB7, 0x45, 0xB7, 0x45, 0xB7, 0x46, 0xB7, 0x34, 0xA6, 0x2D, 0xB7, 0x2B, 0xB7, 0x2F, 0xB7, 0x43, 0xB7, 0x59, 0xA7, 0x67, + 0x97, 0x6D, 0x87, 0x6F, 0x87, 0x70, 0x97, 0x6F, 0x97, 0x6B, 0xA7, 0x5E, 0xB7, 0x48, 0xB6, 0x36, 0xB7, 0x1D, 0xA6, 0x19, 0xA6, 0x19, 0xA6, 0x18, 0xA7, 0x16, 0xA6, 0x1B, 0xA6, 0x21, 0xB7, 0x27, + 0xB7, 0x28, 0xB7, 0x28, 0xB7, 0x26, 0xA6, 0x22, 0xA7, 0x1F, 0xA7, 0x1D, 0xA7, 0x1C, 0x97, 0x18, 0x96, 0x15, 0x96, 0x13, 0x97, 0x11, 0x97, 0x10, 0x97, 0x10, 0x96, 0x12, 0x96, 0x11, 0x97, 0x0F, + 0x86, 0x0D, 0x96, 0x0C, 0x86, 0x0B, 0x76, 0x0B, 0x76, 0x0D, 0x96, 0x13, 0xA6, 0x0F, 0x65, 0x05, 0x65, 0x05, 0x76, 0x0B, 0x75, 0x10, 0x66, 0x13, 0x66, 0x12, 0x76, 0x11, 0x75, 0x10, 0x76, 0x0F, + 0x76, 0x0F, 0xA7, 0x26, 0xB7, 0x42, 0xB7, 0x86, 0xA7, 0x95, 0xA7, 0x81, 0xA7, 0x69, 0xA6, 0x3F, 0xA6, 0x52, 0xA6, 0x73, 0xB7, 0x5E, 0xB7, 0x5C, 0xB7, 0x6A, 0xB7, 0x85, 0xA7, 0x98, 0x97, 0xA0, + 0x87, 0xA5, 0x87, 0xA7, 0x87, 0xA7, 0x87, 0xA5, 0x97, 0x9F, 0xA7, 0x95, 0xB7, 0x81, 0xC7, 0x52, 0xC7, 0x45, 0xB6, 0x36, 0xB7, 0x35, 0xB7, 0x2F, 0xB7, 0x29, 0xA6, 0x2A, 0xB7, 0x2F, 0xA6, 0x36, + 0xB7, 0x3B, 0xB7, 0x35, 0xB7, 0x2A, 0xA7, 0x25, 0xA7, 0x24, 0xA7, 0x25, 0xA7, 0x26, 0xA7, 0x2A, 0xA7, 0x2A, 0xA7, 0x24, 0xA7, 0x1E, 0xA7, 0x1B, 0xA7, 0x1A, 0xA7, 0x1B, 0x97, 0x1B, 0xA7, 0x1B, + 0x97, 0x19, 0xA7, 0x17, 0x97, 0x15, 0xB7, 0x27, 0xB7, 0x3D, 0xB7, 0x44, 0xB7, 0x29, 0x65, 0x05, 0x65, 0x05, 0x75, 0x0C, 0x76, 0x10, 0x66, 0x13, 0x66, 0x16, 0x76, 0x16, 0x76, 0x13, 0x76, 0x13, + 0x87, 0x17, 0xA7, 0x31, 0xB7, 0x82, 0xA7, 0xBE, 0xA7, 0xC7, 0xA7, 0xB3, 0xA7, 0x9C, 0xC7, 0x58, 0xB6, 0x40, 0xB7, 0x4F, 0xB7, 0x7F, 0xB7, 0x7C, 0xB7, 0x89, 0xB7, 0xA2, 0xA7, 0xBB, 0x97, 0xCA, + 0x97, 0xD5, 0x97, 0xDA, 0x97, 0xD9, 0x97, 0xD6, 0x97, 0xCF, 0xA7, 0xB9, 0xB7, 0xA5, 0xC7, 0x8B, 0xC7, 0x6C, 0xC7, 0x5A, 0xC7, 0x53, 0xC7, 0x48, 0xB7, 0x3F, 0xB7, 0x39, 0xB7, 0x38, 0xB7, 0x37, + 0xB7, 0x38, 0xA7, 0x34, 0xA7, 0x2D, 0xA7, 0x29, 0xA7, 0x2A, 0xA7, 0x30, 0xB7, 0x3F, 0xB7, 0x56, 0xB7, 0x57, 0xB7, 0x4A, 0xA7, 0x38, 0xA7, 0x29, 0xA7, 0x28, 0xA7, 0x34, 0xB7, 0x45, 0xB7, 0x55, + 0xB7, 0x59, 0xB7, 0x59, 0xB7, 0x69, 0xB7, 0x76, 0xB7, 0x60, 0xB7, 0x63, 0xB7, 0x33, 0x65, 0x05, 0x65, 0x05, 0x76, 0x0D, 0x76, 0x12, 0x66, 0x14, 0x76, 0x17, 0x86, 0x19, 0x86, 0x1B, 0x86, 0x1C, + 0xA7, 0x2C, 0xB7, 0x4A, 0xB7, 0x9B, 0xB7, 0xB4, 0xA7, 0xC1, 0x97, 0xBE, 0x97, 0xAA, 0xB7, 0x97, 0xC6, 0x5B, 0xC6, 0x3B, 0xB7, 0x37, 0xB7, 0x4C, 0xB7, 0x65, 0xB7, 0x7C, 0xB7, 0x91, 0xB7, 0xA3, + 0xA7, 0xAC, 0xA7, 0xB3, 0xA7, 0xB5, 0xA7, 0xB0, 0xB7, 0xAA, 0xB7, 0xA8, 0xC7, 0x80, 0xC7, 0x6B, 0xC7, 0x5D, 0xC7, 0x51, 0xC7, 0x42, 0xB7, 0x3F, 0xB7, 0x40, 0xB7, 0x44, 0xB7, 0x41, 0xB7, 0x3A, + 0xB7, 0x39, 0xB7, 0x35, 0xA7, 0x35, 0xA7, 0x30, 0xA7, 0x2F, 0xA7, 0x33, 0xB7, 0x49, 0xB7, 0x5D, 0xB7, 0x57, 0xB7, 0x52, 0xB7, 0x4E, 0xB7, 0x3F, 0xB7, 0x40, 0xB7, 0x52, 0xB7, 0x64, 0xB7, 0x71, + 0xB7, 0x7B, 0xB7, 0x83, 0xB7, 0x8D, 0xB7, 0x9A, 0xB7, 0x7D, 0xB7, 0x61, 0xA7, 0x34, 0x65, 0x05, 0x65, 0x05, 0x76, 0x0D, 0x76, 0x12, 0x66, 0x16, 0x86, 0x1A, 0x96, 0x23, 0x96, 0x28, 0xA7, 0x2A, + 0xB7, 0x39, 0xB7, 0x4F, 0xB7, 0x6A, 0xB7, 0x80, 0xA7, 0x8A, 0xA7, 0x94, 0x97, 0xAF, 0xB7, 0x9C, 0xC7, 0x86, 0xC6, 0x56, 0xC6, 0x35, 0xA6, 0x24, 0xB7, 0x38, 0xB7, 0x47, 0xB7, 0x68, 0xB7, 0x68, + 0xB6, 0x5E, 0xB7, 0x5E, 0xB7, 0x5B, 0xC7, 0x56, 0xC7, 0x5C, 0xC7, 0x56, 0xC7, 0x50, 0xC7, 0x4A, 0xC7, 0x40, 0xC7, 0x3A, 0xC7, 0x42, 0xB7, 0x51, 0xB7, 0x5E, 0xB7, 0x67, 0xB6, 0x6C, 0xB7, 0x60, + 0xB7, 0x4F, 0xB7, 0x42, 0xB7, 0x3C, 0xA7, 0x37, 0xA7, 0x35, 0xA7, 0x36, 0xB7, 0x48, 0xB7, 0x5C, 0xB7, 0x67, 0xB7, 0x6C, 0xB7, 0x6E, 0xB7, 0x5D, 0xB7, 0x52, 0xB7, 0x54, 0xB7, 0x5E, 0xB6, 0x6B, + 0xB6, 0x7D, 0xB6, 0x8C, 0xB6, 0x99, 0xB6, 0xA2, 0xB7, 0x82, 0xB7, 0x61, 0xA7, 0x34, 0x65, 0x05, 0x65, 0x05, 0x76, 0x0D, 0x76, 0x12, 0x86, 0x18, 0x86, 0x1F, 0x96, 0x29, 0xA7, 0x2B, 0xA6, 0x2E, + 0xA6, 0x35, 0xB7, 0x40, 0xB7, 0x47, 0xB7, 0x4E, 0xA7, 0x55, 0xA7, 0x6B, 0x97, 0xA2, 0xB7, 0x80, 0xB7, 0x84, 0xC7, 0x87, 0xC6, 0x53, 0xC6, 0x36, 0xA6, 0x21, 0xA6, 0x22, 0xB6, 0x2F, 0xB6, 0x49, + 0xC7, 0x48, 0xB7, 0x31, 0xB7, 0x40, 0xC7, 0x57, 0xC7, 0x46, 0xC7, 0x24, 0xC7, 0x37, 0xC6, 0x5A, 0xC7, 0x25, 0xB6, 0x24, 0xB6, 0x37, 0xB6, 0x3C, 0xC7, 0x47, 0xC7, 0x57, 0xB6, 0x5C, 0xB6, 0x4A, + 0xB7, 0x3C, 0xB7, 0x39, 0xB7, 0x3F, 0xB7, 0x3B, 0xB7, 0x3F, 0xB7, 0x44, 0xB7, 0x50, 0xB7, 0x6A, 0xC7, 0x7C, 0xC7, 0x7C, 0xB6, 0x71, 0xB7, 0x62, 0xB7, 0x55, 0xB7, 0x4B, 0xC7, 0x4D, 0xC7, 0x54, + 0xC7, 0x64, 0xC7, 0x75, 0xC7, 0x7F, 0xB6, 0x86, 0xB6, 0x67, 0xB7, 0x49, 0xB7, 0x26, 0x65, 0x05, 0x65, 0x05, 0x76, 0x0D, 0x86, 0x14, 0x86, 0x1D, 0x96, 0x2B, 0xA7, 0x2F, 0xA7, 0x2D, 0xA7, 0x2C, + 0xA7, 0x2A, 0xA7, 0x28, 0xA7, 0x28, 0xA7, 0x2A, 0xA7, 0x22, 0xA7, 0x53, 0x97, 0xA2, 0xA7, 0x72, 0xB7, 0x73, 0xC7, 0x8F, 0xD7, 0x83, 0xD6, 0x67, 0xC6, 0x35, 0xB6, 0x24, 0xA6, 0x26, 0xC7, 0x3F, + 0xC7, 0x5D, 0xC7, 0x62, 0xB7, 0x6F, 0xC7, 0xAD, 0xB7, 0x3B, 0xB6, 0x24, 0xC6, 0x3C, 0xC6, 0x4E, 0xB7, 0x3B, 0xB7, 0x4B, 0xB6, 0x41, 0xB7, 0x2F, 0xC7, 0x44, 0xC7, 0x6F, 0xC7, 0x71, 0xC7, 0x44, + 0xB6, 0x2A, 0xB7, 0x30, 0xB7, 0x3B, 0xB7, 0x39, 0xB7, 0x3F, 0xB7, 0x49, 0xB7, 0x54, 0xB6, 0x55, 0xB6, 0x4C, 0xB6, 0x3A, 0xB6, 0x34, 0xB7, 0x36, 0xB7, 0x44, 0xB7, 0x4A, 0xB7, 0x42, 0xC7, 0x3B, + 0xC7, 0x3A, 0xC7, 0x4A, 0xC7, 0x5A, 0xB6, 0x5D, 0xB6, 0x43, 0xB7, 0x2E, 0xA6, 0x1C, 0x65, 0x05, 0x65, 0x05, 0x76, 0x0D, 0x86, 0x16, 0x96, 0x23, 0xA7, 0x2F, 0xA7, 0x2D, 0x96, 0x27, 0x97, 0x20, + 0x96, 0x1E, 0x96, 0x1E, 0x96, 0x1F, 0x96, 0x20, 0xA7, 0x20, 0xA7, 0x2A, 0xA7, 0x83, 0xA7, 0x9F, 0xA7, 0xA0, 0xB7, 0xA7, 0xD7, 0x8C, 0xD7, 0x74, 0xC6, 0x58, 0xC6, 0x52, 0xB7, 0x65, 0xB7, 0x7B, + 0xB7, 0x81, 0xB7, 0x6F, 0xB7, 0x5B, 0xB8, 0xA3, 0xB7, 0x80, 0xB7, 0x68, 0xA7, 0x41, 0xA7, 0x3A, 0xB7, 0x6B, 0xB7, 0x6D, 0xC7, 0x4A, 0xC7, 0x5F, 0xC7, 0x5D, 0xC7, 0x57, 0xC7, 0x58, 0xC7, 0x4D, + 0xC7, 0x39, 0xC7, 0x32, 0xC6, 0x3F, 0xC7, 0x52, 0xB6, 0x38, 0xB7, 0x32, 0xB6, 0x32, 0xC6, 0x30, 0xC6, 0x37, 0xD7, 0x42, 0xC7, 0x50, 0xC7, 0x6F, 0xB7, 0x58, 0xB7, 0x53, 0xC7, 0x5D, 0xC7, 0x5A, + 0xC7, 0x56, 0xC7, 0x56, 0xC7, 0x59, 0xB6, 0x5A, 0xB7, 0x43, 0xA6, 0x2C, 0xA6, 0x1A, 0x65, 0x05, 0x65, 0x05, 0x86, 0x0E, 0x96, 0x19, 0x96, 0x22, 0x96, 0x2D, 0x96, 0x2C, 0x96, 0x28, 0x96, 0x22, + 0x97, 0x22, 0x97, 0x1E, 0x86, 0x1C, 0x96, 0x20, 0xA7, 0x24, 0xA7, 0x26, 0xA7, 0x78, 0xA7, 0xA0, 0xA7, 0x8D, 0xC7, 0x7E, 0xC6, 0x8B, 0xD7, 0x7A, 0xD7, 0x6B, 0xC7, 0x72, 0xB7, 0x77, 0xB7, 0x80, + 0xB7, 0x75, 0xB7, 0x82, 0xC7, 0x47, 0xB6, 0x36, 0xB7, 0x50, 0xB7, 0x70, 0xB8, 0x92, 0xB8, 0xA4, 0xB7, 0x74, 0xC7, 0x61, 0xC7, 0x66, 0xC7, 0x5F, 0xC7, 0x44, 0xC6, 0x3C, 0xC6, 0x4A, 0xD7, 0x58, + 0xC6, 0x47, 0xD7, 0x4A, 0xD7, 0x62, 0xD7, 0x6D, 0xC6, 0x41, 0xC6, 0x30, 0xC6, 0x38, 0xC6, 0x2C, 0xB6, 0x26, 0xC6, 0x34, 0xB6, 0x3C, 0xA7, 0x85, 0xB7, 0x69, 0xA7, 0x7D, 0xC7, 0x76, 0xC7, 0x84, + 0xC7, 0x80, 0xB7, 0x7C, 0xB7, 0x76, 0xB7, 0x61, 0xB7, 0x48, 0xA6, 0x2A, 0x96, 0x16, 0x65, 0x05, 0x65, 0x05, 0x86, 0x0E, 0x96, 0x18, 0x96, 0x1F, 0x96, 0x25, 0x96, 0x24, 0x96, 0x22, 0x86, 0x20, + 0x97, 0x25, 0x97, 0x29, 0xA7, 0x2A, 0xA7, 0x27, 0x96, 0x25, 0xA7, 0x26, 0xA7, 0x32, 0xA7, 0x57, 0xB7, 0x6D, 0xB7, 0x61, 0xC7, 0x69, 0xC6, 0x60, 0xC7, 0x8F, 0xC7, 0x72, 0xC7, 0x74, 0xC7, 0x5C, + 0xC7, 0x63, 0xC7, 0x64, 0xC7, 0x48, 0xB7, 0x6D, 0xB8, 0x97, 0xB7, 0x73, 0xB7, 0x7D, 0xC8, 0xB0, 0xB7, 0x7B, 0xC7, 0x3A, 0xC7, 0x7B, 0xC7, 0x6E, 0xC7, 0x4B, 0xC7, 0x42, 0xD7, 0x59, 0xD7, 0x6B, + 0xD6, 0x69, 0xD7, 0x6B, 0xD7, 0x79, 0xD7, 0x86, 0xD7, 0x54, 0xD7, 0x47, 0xC6, 0x2F, 0xB6, 0x26, 0xC7, 0x43, 0xB7, 0x54, 0xB7, 0x38, 0xB7, 0x3F, 0xA7, 0x79, 0x97, 0x9E, 0xB7, 0x93, 0xB7, 0xB2, + 0xB7, 0xAD, 0xB7, 0xAA, 0xB7, 0x9B, 0xB7, 0x75, 0xB7, 0x59, 0xA6, 0x33, 0xA7, 0x18, 0x65, 0x05, 0x65, 0x05, 0x76, 0x0D, 0x86, 0x16, 0x86, 0x1C, 0x96, 0x22, 0x96, 0x23, 0x86, 0x20, 0x86, 0x1D, + 0x86, 0x1C, 0x96, 0x1E, 0x96, 0x29, 0xA7, 0x3A, 0xA7, 0x38, 0xA7, 0x29, 0xA7, 0x25, 0xA6, 0x47, 0xB7, 0x6F, 0xB7, 0x7C, 0xC7, 0x69, 0xC6, 0x46, 0xC7, 0x86, 0xC7, 0x5F, 0xC7, 0x75, 0xC7, 0x9C, + 0xC7, 0x85, 0xC7, 0x6D, 0xB7, 0x71, 0xB7, 0x7D, 0xB7, 0x88, 0xB6, 0x2A, 0xB7, 0x39, 0xB7, 0x7A, 0xC7, 0xAB, 0xC7, 0x64, 0xC7, 0x83, 0xC7, 0x95, 0xC7, 0x88, 0xC7, 0x5E, 0xD7, 0x69, 0xD7, 0x66, + 0xD7, 0x82, 0xD6, 0x81, 0xD6, 0x86, 0xD6, 0x92, 0xD6, 0x6E, 0xD7, 0x3A, 0xC7, 0x24, 0xB6, 0x29, 0xC7, 0x33, 0xB7, 0x4B, 0xB7, 0x54, 0xA7, 0x45, 0xA7, 0x66, 0x97, 0xAF, 0xB7, 0x9F, 0xB7, 0xBF, + 0xB7, 0xB3, 0xB7, 0xAB, 0xB7, 0x99, 0xB7, 0x6C, 0xB7, 0x54, 0xA6, 0x32, 0xA6, 0x1A, 0x65, 0x05, 0x65, 0x05, 0x76, 0x0D, 0x76, 0x13, 0x86, 0x18, 0x86, 0x20, 0x96, 0x23, 0x86, 0x21, 0x86, 0x1F, + 0x86, 0x1D, 0x86, 0x1D, 0x86, 0x1B, 0x96, 0x21, 0xA7, 0x34, 0xA7, 0x43, 0xA7, 0x3A, 0xA6, 0x36, 0xC7, 0x60, 0xC7, 0x87, 0xC6, 0x43, 0xC7, 0x56, 0xD7, 0x5B, 0xD7, 0x7E, 0xC7, 0x7B, 0xC6, 0x4A, + 0xC7, 0x62, 0xC7, 0xA3, 0xC7, 0xA5, 0xC7, 0x41, 0xB6, 0x41, 0xC8, 0x7C, 0xB7, 0x95, 0xB7, 0x9D, 0xB7, 0x99, 0xC7, 0x99, 0xC7, 0xA7, 0xC7, 0xB0, 0xC7, 0x99, 0xC7, 0x52, 0xC7, 0x6E, 0xC7, 0x82, + 0xD7, 0x92, 0xD7, 0x9F, 0xD6, 0x9A, 0xD6, 0x81, 0xD7, 0x65, 0xC7, 0x3B, 0xC6, 0x37, 0xB7, 0x2D, 0xB6, 0x19, 0xA6, 0x21, 0xA6, 0x2B, 0xB7, 0x46, 0xA7, 0x64, 0xA7, 0x9C, 0xB7, 0x9B, 0xB7, 0xB5, + 0xB7, 0xA4, 0xB7, 0x93, 0xB7, 0x73, 0xB7, 0x5A, 0xB7, 0x51, 0xA7, 0x28, 0x96, 0x17, 0x65, 0x05, 0x65, 0x05, 0x96, 0x13, 0xA7, 0x26, 0x96, 0x23, 0x86, 0x20, 0x96, 0x23, 0x86, 0x21, 0x86, 0x1F, + 0x97, 0x20, 0x97, 0x22, 0x97, 0x22, 0x97, 0x21, 0x97, 0x23, 0xA7, 0x32, 0xA7, 0x4E, 0xA7, 0x48, 0xC7, 0x4C, 0xC7, 0x8B, 0xC7, 0x8A, 0xC7, 0x81, 0xC6, 0x36, 0xC6, 0x49, 0xC6, 0x45, 0xC6, 0x3F, + 0xC7, 0x4B, 0xC8, 0x7C, 0xC7, 0x9E, 0xC7, 0x9A, 0xC8, 0x7E, 0xB7, 0x8E, 0xB7, 0x9C, 0xB7, 0x9A, 0xC7, 0x8C, 0xC7, 0xA1, 0xC8, 0xAB, 0xC7, 0x86, 0xC7, 0x73, 0xC6, 0x76, 0xC7, 0x87, 0xC7, 0xA0, + 0xC7, 0xB5, 0xD7, 0xAE, 0xD6, 0x87, 0xD6, 0x60, 0xD7, 0x4D, 0xC7, 0x5A, 0xC7, 0x49, 0xB7, 0x2A, 0xA6, 0x17, 0x96, 0x12, 0xA6, 0x18, 0xA6, 0x3E, 0xA7, 0x55, 0xA7, 0x76, 0xB7, 0x75, 0xB7, 0x8C, + 0xB7, 0x77, 0xB7, 0x66, 0xB7, 0x4F, 0xA7, 0x4E, 0xA7, 0x2A, 0x96, 0x1D, 0x96, 0x13, 0x65, 0x05, 0x65, 0x05, 0x86, 0x13, 0xA6, 0x3C, 0xB7, 0x51, 0xA7, 0x37, 0x96, 0x28, 0x97, 0x23, 0x96, 0x24, + 0xA7, 0x2A, 0xA7, 0x34, 0xA7, 0x44, 0xA7, 0x4D, 0xA7, 0x53, 0xA7, 0x5C, 0xA7, 0x58, 0xA6, 0x39, 0xC7, 0x50, 0xC7, 0x63, 0xC7, 0x64, 0xC7, 0x5D, 0xC6, 0x4F, 0xD7, 0x52, 0xC6, 0x44, 0xC7, 0x60, + 0xC7, 0x68, 0xC7, 0x8F, 0xC7, 0xB0, 0xC7, 0x8D, 0xB7, 0xA8, 0xB7, 0x7E, 0xB7, 0x76, 0xB7, 0x8A, 0xB7, 0x98, 0xC8, 0xA1, 0xC8, 0x9A, 0xC8, 0x7F, 0xC7, 0x46, 0xD7, 0x7C, 0xD7, 0x8C, 0xC7, 0x87, + 0xC7, 0x9B, 0xD7, 0xB1, 0xD6, 0x7E, 0xD6, 0x5D, 0xC6, 0x49, 0xC7, 0x41, 0xB6, 0x39, 0xA6, 0x25, 0x96, 0x14, 0x96, 0x11, 0xA6, 0x17, 0xA6, 0x40, 0xA7, 0x7D, 0xB7, 0x6E, 0xB6, 0x47, 0xB7, 0x5C, + 0xB7, 0x4F, 0xB7, 0x46, 0xB7, 0x3A, 0xA7, 0x33, 0x96, 0x24, 0x96, 0x1B, 0x96, 0x10, 0x65, 0x05, 0x65, 0x05, 0x66, 0x0C, 0x96, 0x24, 0xA6, 0x4C, 0xA6, 0x53, 0xA6, 0x43, 0xA7, 0x2E, 0xA7, 0x2F, + 0xA7, 0x35, 0xA7, 0x41, 0xA7, 0x4F, 0xA7, 0x52, 0xA7, 0x51, 0xA7, 0x57, 0xA7, 0x62, 0xC7, 0x6B, 0xC7, 0x7D, 0xC6, 0x45, 0xC6, 0x49, 0xD7, 0x6C, 0xD7, 0x93, 0xD7, 0x7C, 0xD7, 0x72, 0xC7, 0x95, + 0xC7, 0x7B, 0xC7, 0x6E, 0xC7, 0x94, 0xC7, 0x4B, 0xB7, 0x6A, 0xA7, 0xB9, 0xA7, 0x6F, 0xB7, 0x4E, 0xB7, 0x5E, 0xC7, 0x4D, 0xC7, 0x42, 0xC7, 0x79, 0xC7, 0x73, 0xC6, 0x61, 0xC6, 0x5E, 0xC6, 0x55, + 0xD7, 0x9B, 0xD7, 0xA4, 0xD7, 0x8A, 0xD7, 0x6F, 0xC6, 0x54, 0xC7, 0x2F, 0xA6, 0x1D, 0x95, 0x13, 0x76, 0x0E, 0x96, 0x11, 0xA6, 0x1D, 0xB7, 0x4B, 0xA7, 0x61, 0xA6, 0x47, 0xB7, 0x40, 0xB7, 0x46, + 0xB7, 0x43, 0xB7, 0x3F, 0xB7, 0x38, 0xA7, 0x31, 0x96, 0x27, 0x96, 0x1F, 0x96, 0x11, 0x65, 0x05, 0x65, 0x05, 0x65, 0x0B, 0x66, 0x12, 0x86, 0x31, 0x96, 0x39, 0x96, 0x36, 0x97, 0x2F, 0xA6, 0x32, + 0xB7, 0x37, 0xA7, 0x34, 0xA7, 0x36, 0xA7, 0x44, 0xB7, 0x55, 0xA7, 0x49, 0xA7, 0x37, 0xC7, 0x85, 0xC7, 0x83, 0xC6, 0x5C, 0xD7, 0xAE, 0xD7, 0xAF, 0xC7, 0x99, 0xD7, 0x8F, 0xD7, 0xA7, 0xC6, 0x46, + 0xC7, 0x2C, 0xC7, 0x77, 0xC7, 0x62, 0xC7, 0x42, 0xB7, 0x3A, 0xA7, 0x4F, 0xA7, 0x93, 0xA7, 0x99, 0xA7, 0x86, 0xA7, 0x5A, 0xB7, 0x4A, 0xC7, 0x62, 0xC7, 0x9A, 0xC7, 0x71, 0xC7, 0x39, 0xC7, 0x48, + 0xD7, 0x60, 0xD7, 0x85, 0xC7, 0x9D, 0xD7, 0x7D, 0xC6, 0x4A, 0xB6, 0x29, 0xB7, 0x17, 0xA6, 0x10, 0x76, 0x0D, 0xA6, 0x13, 0xB6, 0x2B, 0xB7, 0x53, 0xB7, 0x41, 0xA6, 0x2A, 0xB7, 0x2E, 0xB7, 0x3B, + 0xB7, 0x3B, 0xB7, 0x3C, 0xB7, 0x3A, 0xA7, 0x34, 0xA7, 0x2A, 0xA7, 0x26, 0x96, 0x17, 0x65, 0x05, 0x65, 0x05, 0x65, 0x0B, 0x66, 0x12, 0x66, 0x15, 0x66, 0x1A, 0x76, 0x1E, 0x76, 0x20, 0x86, 0x23, + 0xA7, 0x2E, 0xA7, 0x30, 0xA7, 0x32, 0xA7, 0x3C, 0xA7, 0x7F, 0x97, 0xBF, 0xA7, 0xB0, 0xC7, 0xAA, 0xC7, 0x6F, 0xC6, 0x61, 0xC6, 0x45, 0xC6, 0x55, 0xC6, 0x48, 0xC6, 0x4A, 0xD7, 0x67, 0xC6, 0x3E, + 0xC7, 0x84, 0xC7, 0x96, 0xC7, 0x57, 0xB6, 0x25, 0xB7, 0x53, 0xC7, 0x34, 0xB8, 0x8F, 0xA7, 0xA9, 0xA7, 0x7B, 0xA7, 0x89, 0xA7, 0xA2, 0xB7, 0x7C, 0xC7, 0x74, 0xC7, 0x69, 0xC7, 0x65, 0xC7, 0x6D, + 0xD7, 0x6A, 0xD7, 0x83, 0xC7, 0x93, 0xC7, 0x91, 0xC7, 0x45, 0xB7, 0x30, 0xA7, 0x1C, 0xA7, 0x15, 0x96, 0x11, 0xB6, 0x1B, 0xC7, 0x3F, 0xC7, 0x56, 0xB6, 0x2A, 0xB7, 0x2A, 0xB7, 0x34, 0xB7, 0x45, + 0xB7, 0x4B, 0xB7, 0x50, 0xB7, 0x4A, 0xA7, 0x3B, 0xA7, 0x30, 0xA7, 0x28, 0x96, 0x19, 0x65, 0x05, 0x65, 0x05, 0x65, 0x0B, 0x76, 0x13, 0x96, 0x24, 0x86, 0x1C, 0x76, 0x19, 0x86, 0x19, 0x86, 0x19, + 0x86, 0x20, 0x97, 0x28, 0x97, 0x27, 0xA7, 0x37, 0xA7, 0x89, 0xA7, 0xB5, 0xB7, 0xAE, 0xC7, 0x9F, 0xD7, 0x76, 0xC6, 0x38, 0xD7, 0x76, 0xD7, 0x8B, 0xD7, 0x6F, 0xD7, 0x51, 0xC6, 0x3B, 0xD7, 0x56, + 0xD7, 0x8B, 0xC7, 0xA0, 0xD7, 0x7C, 0xC7, 0x37, 0xB7, 0x56, 0xC7, 0x43, 0xB7, 0x7C, 0xA7, 0x43, 0xA7, 0x2C, 0xA7, 0x5B, 0xB8, 0x9D, 0xA7, 0x5D, 0xB7, 0x54, 0xB7, 0x7B, 0xB7, 0x6D, 0xC7, 0x77, + 0xC7, 0x60, 0xC7, 0x48, 0xC7, 0x72, 0xC7, 0x83, 0xC7, 0x7D, 0xC7, 0x67, 0xB7, 0x3F, 0xA6, 0x27, 0xB7, 0x1E, 0xC7, 0x27, 0xC7, 0x53, 0xC6, 0x68, 0xC7, 0x47, 0xC7, 0x3D, 0xB7, 0x50, 0xB7, 0x57, + 0xB7, 0x64, 0xB7, 0x6C, 0xB7, 0x5C, 0xB7, 0x4C, 0xA7, 0x38, 0xA7, 0x28, 0xA7, 0x1A, 0x65, 0x05, 0x65, 0x05, 0x55, 0x0B, 0x75, 0x12, 0xB6, 0x40, 0xB6, 0x59, 0xB6, 0x41, 0x96, 0x1D, 0x96, 0x1F, + 0x86, 0x1C, 0x86, 0x18, 0x77, 0x19, 0x97, 0x25, 0xA6, 0x3D, 0xB7, 0x34, 0xB6, 0x47, 0xC6, 0x57, 0xD7, 0x8A, 0xC7, 0xA1, 0xC7, 0xAD, 0xC7, 0xA9, 0xC7, 0x6F, 0xD7, 0x6A, 0xD7, 0x73, 0xD7, 0x89, + 0xD7, 0x92, 0xD7, 0x89, 0xD7, 0x63, 0xB7, 0x65, 0xB7, 0xA5, 0xA7, 0x80, 0xA7, 0x68, 0xA7, 0x5A, 0xA7, 0x4A, 0xA7, 0x74, 0xA7, 0x8C, 0xA7, 0x81, 0xB7, 0x3F, 0xA7, 0x84, 0xB7, 0x88, 0xB7, 0x71, + 0xB7, 0x5C, 0xC7, 0x39, 0xC6, 0x3F, 0xC7, 0x5F, 0xC7, 0x99, 0xC7, 0x89, 0xB7, 0x6F, 0xB7, 0x52, 0xB7, 0x32, 0xB6, 0x3D, 0xC7, 0x70, 0xC7, 0x85, 0xC7, 0x77, 0xC7, 0x5B, 0xC7, 0x5D, 0xB7, 0x65, + 0xB7, 0x75, 0xB7, 0x7A, 0xB7, 0x74, 0xB7, 0x60, 0xA6, 0x36, 0xA7, 0x25, 0xA6, 0x19, 0x65, 0x05, 0x65, 0x05, 0x96, 0x0E, 0x55, 0x0F, 0x96, 0x1E, 0xB6, 0x46, 0xB6, 0x4E, 0xB7, 0x3C, 0xA6, 0x24, + 0x86, 0x16, 0x86, 0x1A, 0xB6, 0x37, 0xB7, 0x50, 0xB7, 0x77, 0xA6, 0x2F, 0xA6, 0x29, 0xB7, 0x4C, 0xC7, 0x99, 0xC7, 0x99, 0xC7, 0xA4, 0xC7, 0x94, 0xC7, 0xA2, 0xD7, 0x90, 0xD6, 0x71, 0xD7, 0x8B, + 0xD7, 0x89, 0xD7, 0x7A, 0xD7, 0x5D, 0xC7, 0x80, 0xB7, 0xB5, 0xA7, 0xB7, 0xA7, 0xBA, 0xA7, 0xBB, 0xA8, 0xC1, 0xA7, 0xAD, 0xA7, 0x95, 0xA7, 0xAB, 0xA7, 0x66, 0xA7, 0x39, 0xB7, 0x47, 0xA7, 0x85, + 0xB7, 0x78, 0xA7, 0x90, 0xA7, 0x9E, 0xB7, 0x8F, 0xC7, 0x84, 0xC7, 0x85, 0xB7, 0x89, 0xB7, 0x84, 0xB6, 0x58, 0xC7, 0x5D, 0xC7, 0x89, 0xB7, 0x9C, 0xB7, 0x8A, 0xC8, 0x92, 0xC7, 0x70, 0xB7, 0x5A, + 0xB7, 0x65, 0xB7, 0x69, 0xB7, 0x6B, 0xB7, 0x5D, 0xB7, 0x39, 0xA6, 0x27, 0xA6, 0x17, 0x65, 0x05, 0x65, 0x05, 0xB7, 0x2A, 0xA6, 0x2A, 0x75, 0x16, 0x86, 0x1B, 0xA6, 0x2A, 0xA6, 0x2B, 0x96, 0x1D, + 0x76, 0x12, 0xA6, 0x26, 0xC6, 0x6D, 0xB7, 0x84, 0xA7, 0xB0, 0xA7, 0x4A, 0xB6, 0x3B, 0xB7, 0x84, 0xC8, 0xA8, 0xC8, 0xBA, 0xC7, 0xB7, 0xC8, 0xB0, 0xC7, 0xB2, 0xD7, 0x9A, 0xD6, 0x4A, 0xC6, 0x7C, + 0xC7, 0xA6, 0xC7, 0x6D, 0xC7, 0x43, 0xB6, 0x3F, 0xB7, 0x58, 0xB7, 0x5C, 0xA7, 0x78, 0xA7, 0x9C, 0xA8, 0xB9, 0xA7, 0xBA, 0xB7, 0x52, 0xA7, 0x9B, 0xA7, 0xA1, 0xA7, 0x45, 0xA7, 0x42, 0xA7, 0x90, + 0xA7, 0xAE, 0xA7, 0xB7, 0xA7, 0x9A, 0xA7, 0xB1, 0xB7, 0x77, 0xC7, 0x69, 0xC7, 0x8A, 0xB7, 0x9A, 0xB7, 0x8C, 0xC7, 0x7B, 0xC7, 0x7F, 0xC7, 0x82, 0xC7, 0x7E, 0xC7, 0x8A, 0xB7, 0x7D, 0xB7, 0x56, + 0xB7, 0x56, 0xA7, 0x58, 0xA7, 0x5A, 0xA7, 0x51, 0xA7, 0x36, 0xA7, 0x22, 0xA7, 0x17, 0x65, 0x05, 0x65, 0x05, 0xB6, 0x2C, 0xB6, 0x46, 0xC7, 0x64, 0xB6, 0x47, 0xA6, 0x22, 0x96, 0x1B, 0xB6, 0x40, + 0xC7, 0x5B, 0xB7, 0xB8, 0xC7, 0x91, 0xB7, 0x6D, 0xA7, 0x92, 0xA7, 0x75, 0xB7, 0x7D, 0xB7, 0x92, 0xC8, 0xC8, 0xC8, 0xCD, 0xB8, 0xCF, 0xC8, 0xC5, 0xC7, 0xB7, 0xD7, 0x92, 0xD7, 0x78, 0xB7, 0xC2, + 0x97, 0xCD, 0xB7, 0x6A, 0xB7, 0x42, 0xA6, 0x1E, 0xB6, 0x26, 0xB6, 0x32, 0xB6, 0x40, 0xB7, 0x3D, 0xA6, 0x4F, 0xB7, 0x6C, 0xB7, 0x6A, 0xB7, 0x98, 0xA7, 0xA7, 0xA7, 0x9A, 0xA7, 0x8D, 0xA7, 0xA0, + 0xA7, 0xA6, 0xA7, 0x67, 0xB7, 0x42, 0xA7, 0x87, 0xA7, 0x8C, 0xB6, 0x4A, 0xC7, 0x88, 0xB7, 0xA4, 0xB7, 0xA5, 0xC7, 0x87, 0xC7, 0x63, 0xC7, 0x4A, 0xC7, 0x59, 0xC7, 0x6A, 0xC7, 0x75, 0xC7, 0x6F, + 0xB7, 0x5D, 0xB7, 0x5F, 0xA7, 0x56, 0xA7, 0x45, 0x97, 0x29, 0x96, 0x1A, 0x96, 0x12, 0x65, 0x05, 0x65, 0x05, 0x85, 0x0D, 0xB6, 0x36, 0xC7, 0x5E, 0xC7, 0xAB, 0xC7, 0x9C, 0xC7, 0x7C, 0xC6, 0x7E, + 0xC7, 0x90, 0xB7, 0xAF, 0xC7, 0xA7, 0xA7, 0xA9, 0xA7, 0x9C, 0xA7, 0xAD, 0xB7, 0xAD, 0xC8, 0xBE, 0xC8, 0xC8, 0xB8, 0xD0, 0xB8, 0xD1, 0xC8, 0xC5, 0xC7, 0xB4, 0xC7, 0xAD, 0xC7, 0xBB, 0x97, 0xD1, + 0x97, 0xA3, 0xA6, 0x41, 0x96, 0x23, 0xA6, 0x26, 0xA6, 0x30, 0xB6, 0x40, 0xB7, 0x43, 0xA7, 0x42, 0xA7, 0x59, 0xB7, 0x91, 0xC7, 0x8A, 0xB7, 0x96, 0xB7, 0x7F, 0xB7, 0xA1, 0xA7, 0xB7, 0xA7, 0x9B, + 0xB7, 0x68, 0xB7, 0x42, 0xA6, 0x18, 0xB7, 0x64, 0xA7, 0xBE, 0xB7, 0x90, 0xB7, 0xA3, 0xB7, 0xB4, 0xC7, 0xAD, 0xC7, 0x8F, 0xC6, 0x56, 0xC7, 0x36, 0xC7, 0x29, 0xC7, 0x38, 0xC6, 0x6B, 0xC7, 0x7B, + 0xC7, 0x7A, 0xB7, 0x77, 0xA7, 0x4C, 0x97, 0x35, 0x87, 0x20, 0x87, 0x14, 0x87, 0x0E, 0x65, 0x05, 0x65, 0x05, 0x96, 0x10, 0x65, 0x10, 0xB6, 0x3D, 0xC7, 0x9D, 0xC7, 0xB8, 0xC7, 0x73, 0xB6, 0x55, + 0x96, 0x21, 0xB6, 0x29, 0xB7, 0x48, 0xA7, 0x89, 0xA7, 0xA2, 0xA7, 0xB0, 0xB7, 0xC1, 0xC7, 0xC1, 0xB7, 0xCD, 0xB8, 0xD5, 0xB8, 0xCE, 0xC8, 0xC7, 0xC7, 0xB5, 0xD7, 0xAD, 0xC7, 0xB1, 0xB7, 0x9F, + 0xA7, 0x50, 0xA7, 0x62, 0x97, 0x6A, 0x97, 0x61, 0xA7, 0x5C, 0xA7, 0x63, 0xA7, 0x6B, 0x97, 0x89, 0x97, 0xB0, 0xB7, 0xA5, 0xB7, 0x9A, 0xB7, 0x5A, 0xB7, 0x7E, 0xA7, 0x6C, 0xB7, 0x58, 0xA7, 0x7C, + 0xB7, 0x94, 0xB7, 0x6E, 0xC7, 0x49, 0xC7, 0x7F, 0xB7, 0x82, 0xB7, 0x97, 0xB7, 0xAD, 0xB7, 0xAD, 0xB7, 0xA7, 0xC7, 0x92, 0xC6, 0x5B, 0xC7, 0x3F, 0xC7, 0x30, 0xC7, 0x2E, 0xC6, 0x65, 0xC7, 0x75, + 0xC7, 0x85, 0xB7, 0x7F, 0xB7, 0x61, 0xA7, 0x39, 0x87, 0x20, 0x87, 0x13, 0x77, 0x0D, 0x65, 0x05, 0x65, 0x05, 0xB6, 0x26, 0x85, 0x13, 0x86, 0x17, 0xC6, 0x7B, 0xC6, 0x6C, 0xB6, 0x3D, 0x76, 0x15, + 0xA6, 0x23, 0x86, 0x17, 0x76, 0x13, 0xB7, 0x4B, 0xB7, 0xA2, 0xB7, 0xBD, 0xC8, 0xC4, 0xC8, 0xC4, 0xB8, 0xD2, 0xB8, 0xD2, 0xB7, 0xCD, 0xC8, 0xCC, 0xC7, 0xBC, 0xC7, 0xA8, 0xC7, 0x8F, 0xC6, 0x3F, + 0xB6, 0x2E, 0x97, 0x78, 0x87, 0xC5, 0x87, 0xBE, 0x97, 0xAE, 0x97, 0xA1, 0x97, 0xA9, 0xA7, 0xB0, 0xA7, 0xA6, 0xB7, 0x9A, 0xB7, 0x7D, 0xC7, 0x74, 0xB7, 0x78, 0xB7, 0x2F, 0xA6, 0x2A, 0xB7, 0x4B, + 0xB7, 0xA7, 0xB7, 0xB7, 0xC7, 0xAD, 0xC7, 0xAC, 0xC7, 0x4D, 0xB6, 0x1F, 0xC7, 0x53, 0xC7, 0x8E, 0xC7, 0x86, 0xC7, 0x83, 0xC6, 0x5F, 0xC6, 0x49, 0xC7, 0x47, 0xA6, 0x20, 0xC6, 0x59, 0xC7, 0x6E, + 0xC7, 0x80, 0xC7, 0x8C, 0xB7, 0x51, 0xA7, 0x3F, 0xA7, 0x2B, 0x97, 0x17, 0x86, 0x0F, 0x65, 0x05, 0x65, 0x05, 0xB6, 0x20, 0xA6, 0x1D, 0xB6, 0x44, 0xC6, 0x94, 0xB6, 0x39, 0x46, 0x16, 0xA6, 0x2F, + 0xC6, 0x5F, 0xB6, 0x42, 0xB7, 0x51, 0xB7, 0x68, 0xB7, 0xAC, 0xB8, 0xD3, 0xA7, 0xCF, 0xB8, 0xD0, 0xB8, 0xCE, 0xB7, 0xD0, 0xB8, 0xD0, 0xB7, 0xCB, 0xC7, 0xC4, 0xB7, 0xA9, 0xC7, 0x65, 0xB6, 0x3A, + 0xA6, 0x23, 0x97, 0x6C, 0x87, 0xD6, 0x87, 0xDE, 0x97, 0xD0, 0x97, 0xBA, 0xA7, 0xB4, 0xB7, 0xA3, 0xB7, 0x9A, 0xB7, 0x89, 0xB7, 0x6B, 0xB7, 0x81, 0xB7, 0x89, 0xB7, 0x56, 0xB7, 0x29, 0xB7, 0x44, + 0xB7, 0x84, 0xB7, 0xAD, 0xB7, 0x83, 0xB6, 0x45, 0xC7, 0x76, 0xB6, 0x3F, 0xC7, 0x36, 0xC7, 0x55, 0xC7, 0x4F, 0xC7, 0x52, 0xC6, 0x4D, 0xC7, 0x42, 0xC7, 0x38, 0xA6, 0x17, 0xC6, 0x35, 0xC7, 0x49, + 0xC7, 0x57, 0xC7, 0x99, 0xB7, 0x4F, 0xB6, 0x47, 0xB6, 0x44, 0xB7, 0x22, 0xA6, 0x17, 0x65, 0x05, 0x65, 0x05, 0xA6, 0x15, 0xB6, 0x2A, 0xC7, 0x7F, 0xC7, 0xA5, 0xB6, 0x4E, 0xA6, 0x28, 0xB6, 0x36, + 0xB6, 0x43, 0xC7, 0x61, 0xB6, 0x60, 0xB7, 0x8F, 0xB7, 0xBD, 0xB7, 0xC2, 0xB7, 0xC7, 0xB7, 0xC3, 0xB7, 0xC1, 0xB7, 0xC8, 0xB7, 0xCD, 0xC8, 0xCD, 0xB7, 0xC7, 0xB7, 0x9D, 0xC7, 0x48, 0xA6, 0x23, + 0xA7, 0x3F, 0xA7, 0x9B, 0xA7, 0xBE, 0x97, 0xCB, 0x97, 0xCF, 0x97, 0xC1, 0xA7, 0x96, 0x97, 0x6E, 0x97, 0x44, 0xA7, 0x4D, 0xA7, 0x51, 0xC7, 0x8B, 0xC7, 0x99, 0xB7, 0x74, 0xB7, 0x42, 0xB7, 0x2C, + 0xB7, 0x41, 0xC7, 0x6A, 0xC7, 0x47, 0xB6, 0x1E, 0xC7, 0x61, 0xC7, 0x85, 0xC7, 0x50, 0xB6, 0x32, 0xB6, 0x31, 0xD7, 0x4D, 0xC7, 0x56, 0xC6, 0x46, 0xC7, 0x46, 0xB6, 0x1F, 0xC6, 0x41, 0xC7, 0x3C, + 0xD7, 0x4F, 0xC7, 0xA0, 0xB7, 0xAF, 0xB7, 0x85, 0xB7, 0x70, 0xC6, 0x2F, 0xB6, 0x23, 0x65, 0x05, 0x65, 0x05, 0x95, 0x11, 0xC7, 0x62, 0xC7, 0x6D, 0xC6, 0x88, 0xC6, 0x75, 0xC6, 0x72, 0xA6, 0x23, + 0xB7, 0x37, 0xC7, 0x5E, 0xC7, 0x78, 0xB7, 0xAA, 0xB7, 0xB5, 0xB7, 0xB4, 0xB7, 0xBB, 0xC7, 0xB7, 0xC7, 0xBA, 0xB7, 0xC5, 0xC8, 0xC7, 0xC7, 0xC0, 0xC8, 0xC7, 0xB7, 0x8E, 0xB6, 0x4A, 0xB7, 0x4A, + 0xA6, 0x51, 0xA7, 0xB2, 0x97, 0xBC, 0x97, 0xB6, 0x97, 0xBA, 0x97, 0xB6, 0xA7, 0xA4, 0xB7, 0x5F, 0xB7, 0x59, 0xC7, 0x88, 0xC7, 0x89, 0xC7, 0x7E, 0xC7, 0x90, 0xC7, 0x94, 0xC7, 0x4D, 0xB6, 0x31, + 0xC7, 0x47, 0xD7, 0x6B, 0xC7, 0x6A, 0xB6, 0x1C, 0xC7, 0x40, 0xC7, 0x7A, 0xC7, 0x4D, 0xB7, 0x30, 0xC7, 0x36, 0xC7, 0x46, 0xC7, 0x55, 0xC6, 0x46, 0xC7, 0x42, 0xC7, 0x30, 0xC7, 0x4C, 0xC7, 0x37, + 0xC7, 0x53, 0xD7, 0x56, 0xB7, 0x74, 0xB7, 0xA9, 0xB7, 0xA0, 0xB6, 0x3D, 0xC6, 0x2E, 0x65, 0x05, 0x65, 0x05, 0xB6, 0x23, 0xC7, 0x5E, 0xB6, 0x41, 0xB6, 0x3A, 0xC6, 0x90, 0xB6, 0x3D, 0xB7, 0x44, + 0xB6, 0x50, 0xC7, 0x9F, 0xB7, 0xA7, 0xB7, 0xAA, 0xC7, 0xA2, 0xC7, 0xA2, 0xC7, 0xAA, 0xC7, 0xAF, 0xB7, 0xC0, 0xB7, 0xC3, 0xC7, 0xB2, 0xD7, 0xAB, 0xB8, 0xD1, 0xB7, 0xA9, 0xC7, 0x53, 0xB6, 0x65, + 0xA7, 0x90, 0x97, 0xBD, 0x97, 0xC1, 0x97, 0xB4, 0xA7, 0x95, 0xA7, 0x89, 0xA7, 0xBC, 0xB7, 0xC9, 0xB7, 0xA4, 0xB7, 0x6A, 0xC7, 0x6C, 0xB7, 0x96, 0xC7, 0x89, 0xC7, 0x98, 0xC7, 0x88, 0xC7, 0x5A, + 0xC7, 0x87, 0xD7, 0x92, 0xC7, 0x8F, 0xC7, 0x87, 0xC7, 0x8A, 0xC7, 0xA2, 0xB7, 0xAA, 0xB7, 0x8F, 0xB7, 0x94, 0xB7, 0x5A, 0xB7, 0x45, 0xC7, 0x2B, 0xC7, 0x39, 0xC7, 0x4C, 0xC7, 0x5E, 0xC7, 0x4A, + 0xC7, 0x40, 0xC6, 0x3A, 0xC7, 0x68, 0xB7, 0x97, 0xB8, 0x99, 0xB7, 0x42, 0xB7, 0x33, 0x65, 0x05, 0x65, 0x05, 0xB6, 0x29, 0xA6, 0x20, 0x76, 0x15, 0xC7, 0x71, 0xC6, 0x96, 0xB6, 0x35, 0xA6, 0x31, + 0xC7, 0x9B, 0xB7, 0xB7, 0xB7, 0xBB, 0xA7, 0xBA, 0xB7, 0xB6, 0xC7, 0xA5, 0xC7, 0xA3, 0xC7, 0xAE, 0xB7, 0xBE, 0xC7, 0xC0, 0xC7, 0xB3, 0xC6, 0xA4, 0xB8, 0xCA, 0xA7, 0xAF, 0xB7, 0x91, 0xB7, 0x9D, + 0xA7, 0xBD, 0x97, 0xC1, 0x97, 0x98, 0x97, 0xB7, 0x97, 0xB1, 0xA7, 0xAA, 0xA7, 0xAB, 0xA7, 0x9B, 0xB7, 0xA8, 0xB7, 0x86, 0xB7, 0x45, 0xB7, 0x76, 0xB7, 0x8D, 0xB7, 0x95, 0xB7, 0xB0, 0xC7, 0x9C, + 0xC7, 0x7C, 0xC6, 0x3B, 0xC7, 0x73, 0xC7, 0x8E, 0xC7, 0x7A, 0xB7, 0x6B, 0xB7, 0x79, 0xB7, 0x90, 0xB7, 0xAF, 0xB7, 0x9C, 0xC7, 0x52, 0x96, 0x17, 0xC7, 0x31, 0xC7, 0x5C, 0xC7, 0x7B, 0xC7, 0x74, + 0xC7, 0x53, 0xC7, 0x82, 0xC7, 0xA6, 0xB7, 0xBC, 0xB8, 0x9A, 0xB7, 0x3E, 0xB7, 0x34, 0x65, 0x05, 0x65, 0x05, 0xA6, 0x15, 0x96, 0x19, 0xB6, 0x3D, 0xC7, 0x98, 0xC7, 0xBE, 0xC7, 0xAA, 0xC6, 0x80, + 0xC7, 0x67, 0x97, 0xBF, 0x87, 0xDC, 0x87, 0xE2, 0x97, 0xD9, 0xA7, 0xC1, 0xB7, 0xAB, 0xB7, 0xB1, 0xB7, 0xBC, 0xC7, 0xB3, 0xD7, 0x8F, 0xC7, 0xAA, 0xB7, 0xCF, 0xB7, 0xB9, 0xB7, 0x91, 0xB7, 0xAB, + 0xA7, 0xAA, 0x97, 0xB4, 0x97, 0xB3, 0x97, 0xD0, 0xA7, 0x7B, 0xB7, 0x56, 0xB6, 0x3B, 0xC7, 0x4E, 0xC7, 0x70, 0xB7, 0x9F, 0xB7, 0x90, 0xB7, 0x68, 0xB7, 0x76, 0xB7, 0x67, 0xA7, 0xB5, 0xB7, 0xA4, + 0xB7, 0x31, 0xA5, 0x1F, 0xC7, 0x4B, 0xB7, 0x5A, 0xB7, 0x30, 0xB6, 0x2C, 0xB7, 0x3F, 0xB7, 0x74, 0xB7, 0x9E, 0xB7, 0x67, 0xB7, 0x5C, 0xA5, 0x1D, 0xC6, 0x31, 0xD7, 0x53, 0xD7, 0x68, 0xC7, 0x7D, + 0xD7, 0x78, 0xC7, 0x74, 0xC7, 0x70, 0xC7, 0x76, 0xB7, 0x76, 0xB7, 0x34, 0xB6, 0x2C, 0x65, 0x05, 0x65, 0x05, 0x65, 0x0B, 0xC7, 0x69, 0xB6, 0x47, 0xB6, 0x4D, 0xC7, 0x86, 0xC7, 0xA5, 0xB6, 0x63, + 0xA7, 0x53, 0x97, 0x6F, 0x87, 0x82, 0x87, 0x92, 0x87, 0xA4, 0x97, 0x91, 0xA7, 0x94, 0xB7, 0xA0, 0xB7, 0xB9, 0xB7, 0xA7, 0xC7, 0x82, 0xC7, 0x9F, 0xC7, 0xB7, 0xB7, 0xC0, 0xA7, 0xC6, 0xA7, 0xC8, + 0xA7, 0xB3, 0xA7, 0xA7, 0xA7, 0x84, 0xA7, 0x8C, 0xA7, 0xB8, 0xA7, 0xA7, 0xB7, 0x62, 0xC7, 0x48, 0xB6, 0x33, 0xB7, 0x58, 0xB7, 0x95, 0xB7, 0x90, 0xA7, 0x9A, 0xB7, 0x88, 0xA7, 0xB2, 0xA7, 0x6F, + 0xB6, 0x1C, 0xB7, 0x1F, 0xB7, 0x6C, 0xB7, 0x54, 0xB7, 0x29, 0xB6, 0x22, 0xB7, 0x34, 0xB7, 0x68, 0xB7, 0x84, 0xB7, 0x54, 0xB7, 0x3A, 0xC7, 0x2F, 0xD7, 0x45, 0xD7, 0x4B, 0xC6, 0x39, 0xC7, 0x40, + 0xC7, 0x4E, 0xC7, 0x3D, 0xC6, 0x33, 0xB7, 0x45, 0xB7, 0x50, 0xA7, 0x29, 0xA6, 0x22, 0x65, 0x05, 0x65, 0x05, 0x76, 0x0C, 0xB6, 0x42, 0xA6, 0x28, 0x76, 0x18, 0xB7, 0x54, 0xB6, 0x7C, 0xB6, 0x2B, + 0x97, 0x7A, 0x97, 0x5C, 0x77, 0x30, 0x87, 0x34, 0x87, 0x48, 0x86, 0x46, 0x97, 0x49, 0xA7, 0x73, 0xA7, 0xA8, 0x97, 0x93, 0xA7, 0xA3, 0xB7, 0xBC, 0xC7, 0xB4, 0xB7, 0xC2, 0xA7, 0xC3, 0xB7, 0x7E, + 0xB6, 0x4B, 0xB7, 0x9A, 0xA7, 0xB2, 0xA7, 0x90, 0xB7, 0x6C, 0xB7, 0x74, 0xA7, 0x91, 0xB7, 0x69, 0xB7, 0x5A, 0xB7, 0x52, 0xB7, 0x72, 0xB7, 0x8C, 0xB7, 0x78, 0xA7, 0x73, 0xA7, 0x88, 0xB7, 0x8D, + 0xB7, 0x41, 0xA5, 0x29, 0xB7, 0x57, 0xB7, 0x67, 0xB7, 0x47, 0xA6, 0x2E, 0xB7, 0x36, 0xB7, 0x55, 0xB7, 0x6E, 0xB7, 0x54, 0xC6, 0x31, 0xD7, 0x3B, 0xD6, 0x4C, 0xD7, 0x3D, 0xC6, 0x1F, 0xB7, 0x24, + 0xC7, 0x2E, 0xC7, 0x2A, 0xD7, 0x66, 0xC6, 0x64, 0xB7, 0x4E, 0xB7, 0x5E, 0xA7, 0x29, 0x65, 0x05, 0x65, 0x05, 0x75, 0x0C, 0xA6, 0x26, 0x75, 0x16, 0xA6, 0x2E, 0xB7, 0x79, 0xB7, 0x78, 0xB6, 0x50, + 0x97, 0xB9, 0x87, 0x8E, 0x96, 0x2A, 0x87, 0x33, 0x86, 0x34, 0x86, 0x23, 0x86, 0x21, 0x86, 0x2D, 0x96, 0x3F, 0x97, 0x5A, 0x97, 0xB9, 0xA7, 0xC9, 0xC7, 0xB1, 0xA7, 0xA8, 0xB7, 0xB5, 0xB7, 0x4B, + 0xB7, 0x6E, 0xB7, 0x97, 0xA7, 0xCE, 0x97, 0xB9, 0x97, 0x7E, 0xA7, 0x6B, 0xA7, 0x3A, 0xA7, 0x78, 0xA7, 0xA4, 0xB7, 0xA4, 0xB7, 0xA2, 0xB7, 0x7E, 0xA7, 0x41, 0xB7, 0x37, 0xB7, 0x79, 0xB7, 0x91, + 0xB7, 0x74, 0xA7, 0x75, 0xA7, 0x6B, 0xB7, 0x7E, 0xB7, 0x6B, 0xB7, 0x4A, 0xA6, 0x37, 0xB7, 0x30, 0xB7, 0x56, 0xC7, 0x62, 0xC6, 0x41, 0xD7, 0x46, 0xC6, 0x3F, 0xB6, 0x25, 0xC6, 0x36, 0xD7, 0x4E, + 0xB6, 0x21, 0xC6, 0x40, 0xD7, 0x72, 0xC7, 0x8C, 0xA6, 0x21, 0xA6, 0x2A, 0xA7, 0x36, 0x65, 0x05, 0x65, 0x05, 0x75, 0x0C, 0xB6, 0x30, 0xA6, 0x38, 0xB7, 0x95, 0xB7, 0xAE, 0xB7, 0x69, 0xB7, 0x66, + 0x97, 0xDF, 0x87, 0xB4, 0x87, 0x44, 0x86, 0x2C, 0x97, 0x26, 0x86, 0x1E, 0x87, 0x21, 0x87, 0x2C, 0x87, 0x3F, 0x97, 0x6F, 0x87, 0xD6, 0xA7, 0xC1, 0xB7, 0xB3, 0xA7, 0xBA, 0xB7, 0xB3, 0xB7, 0xB4, + 0xB7, 0xAC, 0xB7, 0xA7, 0xA7, 0xA7, 0xA7, 0xB2, 0xA7, 0xC8, 0x97, 0xC7, 0x97, 0xA6, 0x97, 0x7C, 0x97, 0x8A, 0x97, 0x8D, 0xA7, 0x94, 0xB7, 0x98, 0xA7, 0x7D, 0xA7, 0x78, 0xB7, 0x6E, 0xB7, 0x5C, + 0xA7, 0x81, 0xA8, 0xA2, 0x97, 0xB2, 0xA7, 0xB0, 0xA7, 0xA5, 0xA7, 0x8A, 0xB7, 0x5A, 0xB7, 0x4A, 0xC7, 0x58, 0xC7, 0x59, 0xC7, 0x3E, 0xD7, 0x3F, 0xC7, 0x2E, 0xC6, 0x44, 0xD7, 0x51, 0xD7, 0x51, + 0xB6, 0x22, 0xC7, 0x41, 0xD7, 0x61, 0xC7, 0x87, 0x95, 0x1B, 0xB7, 0x32, 0xA7, 0x36, 0x56, 0x06, 0x65, 0x05, 0xA6, 0x18, 0xB7, 0x5A, 0xB7, 0x9A, 0xB7, 0xB8, 0xB7, 0xBD, 0xA6, 0x42, 0xB7, 0x9D, + 0x97, 0xD9, 0x87, 0xE4, 0x87, 0xB2, 0x86, 0x41, 0x86, 0x27, 0x86, 0x33, 0x87, 0x55, 0x87, 0x82, 0x87, 0xA4, 0x87, 0xBF, 0xA7, 0xAB, 0xB7, 0xA2, 0xA7, 0x8A, 0xB7, 0x81, 0xB7, 0x65, 0xB7, 0x85, + 0xA7, 0x8E, 0xA7, 0x65, 0x97, 0x82, 0x97, 0x91, 0xA7, 0x87, 0xA7, 0xA8, 0x97, 0x7B, 0x97, 0x8F, 0x97, 0x88, 0x97, 0x78, 0x97, 0xA4, 0x97, 0x90, 0xA7, 0xA7, 0xA7, 0x98, 0xA7, 0x5C, 0xA7, 0x3F, + 0xA7, 0x5C, 0xA7, 0x9F, 0xA7, 0xB0, 0x97, 0xAD, 0xA7, 0xAB, 0xA7, 0xA0, 0xB7, 0x94, 0xB7, 0x8C, 0xB7, 0x7F, 0xB6, 0x37, 0xB7, 0x21, 0xC6, 0x31, 0xC6, 0x3A, 0xC6, 0x33, 0xD7, 0x48, 0xC7, 0x33, + 0xB6, 0x24, 0xC7, 0x3C, 0xC7, 0x51, 0xC6, 0x7B, 0xA6, 0x26, 0x96, 0x1B, 0xA7, 0x32, 0x75, 0x05, 0x65, 0x05, 0xB7, 0x32, 0xB7, 0x64, 0xB7, 0x89, 0xB7, 0x9F, 0xB7, 0xB0, 0xA6, 0x53, 0xA7, 0xAE, + 0x97, 0xC5, 0x87, 0xCC, 0x87, 0xE0, 0x87, 0x81, 0x86, 0x38, 0x87, 0x5E, 0x87, 0xC1, 0x87, 0xD7, 0x87, 0xDE, 0x87, 0xD6, 0xA7, 0xBE, 0xA7, 0xBA, 0xA7, 0xC1, 0xA7, 0xC1, 0xA7, 0xA9, 0xA7, 0xA7, + 0x97, 0xAA, 0x87, 0xB9, 0x97, 0x91, 0x97, 0x59, 0xB7, 0x57, 0xA7, 0x66, 0xA7, 0x69, 0xA7, 0x63, 0xB7, 0x81, 0xA7, 0x85, 0xA7, 0x98, 0xA7, 0x77, 0xA7, 0x6F, 0x97, 0x91, 0xA7, 0x75, 0xA7, 0x59, + 0xA7, 0x5A, 0xA7, 0x74, 0xA7, 0x79, 0xA7, 0x64, 0xA7, 0x6A, 0xA7, 0x68, 0xA7, 0x59, 0xB7, 0x83, 0xB7, 0x7F, 0xB7, 0x37, 0xA7, 0x23, 0xB6, 0x2C, 0xC7, 0x40, 0xD7, 0x47, 0xD7, 0x49, 0xB6, 0x1F, + 0xC7, 0x2E, 0xC6, 0x3C, 0xC7, 0x4D, 0xC7, 0x6D, 0xA6, 0x3F, 0xA7, 0x25, 0xA7, 0x2D, 0x95, 0x07, 0x65, 0x05, 0xA6, 0x27, 0xA6, 0x3B, 0xA6, 0x58, 0xA6, 0x5E, 0xB7, 0x9D, 0xB7, 0x8C, 0xB7, 0xBF, + 0x87, 0xCB, 0x87, 0xD9, 0x87, 0xE3, 0x87, 0xD0, 0x87, 0x81, 0x87, 0xA1, 0x87, 0xE0, 0x87, 0xE3, 0x87, 0xCB, 0x97, 0xC2, 0xA7, 0xB0, 0x97, 0xB1, 0xA7, 0xA6, 0xA7, 0x8C, 0xA7, 0x7E, 0x97, 0x77, + 0x97, 0x70, 0x97, 0x69, 0x97, 0x3D, 0x96, 0x29, 0x97, 0x3C, 0x97, 0x65, 0x97, 0x6B, 0x97, 0x8C, 0xA7, 0x9C, 0xA7, 0xAC, 0xA7, 0x94, 0xA7, 0x70, 0x96, 0x36, 0xA7, 0x4F, 0xA7, 0x7A, 0xA7, 0x70, + 0xA7, 0x74, 0xA7, 0x72, 0xA7, 0x5A, 0x96, 0x39, 0x96, 0x2A, 0xA7, 0x2D, 0xA7, 0x55, 0xB7, 0x83, 0xB7, 0x6F, 0xC7, 0x50, 0xC7, 0x3D, 0xA6, 0x21, 0xC7, 0x39, 0xC7, 0x4F, 0xC7, 0x39, 0xA6, 0x17, + 0xC7, 0x31, 0xC7, 0x30, 0xC7, 0x4C, 0xC7, 0x7B, 0xB6, 0x5A, 0xA6, 0x40, 0xA7, 0x2A, 0x85, 0x09, 0x65, 0x05, 0x76, 0x0D, 0xA6, 0x29, 0xA6, 0x33, 0xA6, 0x4A, 0xB7, 0x8C, 0xB7, 0x6A, 0xA7, 0xB9, + 0x87, 0xC6, 0x87, 0xDF, 0x87, 0xE4, 0x87, 0xDA, 0x87, 0x9D, 0x87, 0xC5, 0x87, 0xDA, 0x87, 0xE4, 0x87, 0xD9, 0x87, 0xC3, 0x97, 0x9C, 0x97, 0x8B, 0x97, 0x91, 0x97, 0x96, 0x87, 0x9B, 0x87, 0xA8, + 0x87, 0x9D, 0x87, 0x73, 0x97, 0x44, 0x97, 0x2E, 0x87, 0x25, 0xA7, 0x2A, 0xA6, 0x41, 0xA7, 0x6D, 0xA7, 0x77, 0x97, 0x90, 0x97, 0xA7, 0x97, 0x94, 0x97, 0x6F, 0xA7, 0x64, 0xA7, 0x86, 0xA7, 0xA0, + 0xA7, 0x9A, 0xB7, 0x7B, 0xB7, 0x4E, 0xA6, 0x3F, 0xA7, 0x3B, 0xA6, 0x37, 0xB7, 0x5E, 0xB7, 0x66, 0xB7, 0x7D, 0xB7, 0x78, 0xB7, 0x5A, 0xB6, 0x41, 0xA6, 0x28, 0xC7, 0x47, 0xC7, 0x38, 0xB6, 0x1D, + 0xC6, 0x32, 0xB7, 0x2C, 0xC7, 0x4B, 0xC7, 0x53, 0xA6, 0x30, 0xA6, 0x21, 0x97, 0x19, 0xA7, 0x0A, 0x65, 0x05, 0x65, 0x0B, 0xB6, 0x3A, 0xA6, 0x3B, 0xA6, 0x4E, 0xA6, 0x75, 0xA7, 0x53, 0xA7, 0x9B, + 0xA7, 0xA1, 0x87, 0xD0, 0x87, 0xD3, 0x97, 0xAA, 0x97, 0x72, 0x87, 0x64, 0x87, 0xC0, 0x87, 0xD5, 0x87, 0xE3, 0x87, 0xCE, 0x87, 0xD7, 0x87, 0xBB, 0x87, 0xC9, 0x87, 0xAC, 0x87, 0x8F, 0x87, 0x7A, + 0x87, 0x69, 0x87, 0x56, 0x97, 0x3B, 0x97, 0x4E, 0x97, 0x64, 0x97, 0x74, 0x97, 0x74, 0x97, 0x7A, 0x97, 0x8B, 0x97, 0xAC, 0x97, 0xA1, 0xA7, 0x9D, 0xA7, 0x95, 0xA7, 0x95, 0xA7, 0xA9, 0xA7, 0xA7, + 0xA7, 0xA6, 0xA7, 0x97, 0xB7, 0x83, 0xB7, 0x6F, 0xB7, 0x69, 0xB7, 0x67, 0xB7, 0x5E, 0xB7, 0x4E, 0xB7, 0x5D, 0xB7, 0x77, 0xA7, 0x71, 0xB7, 0x55, 0xB7, 0x4A, 0xC7, 0x4A, 0xC7, 0x3B, 0xB7, 0x23, + 0xC7, 0x34, 0xC7, 0x30, 0xB7, 0x2E, 0xA6, 0x28, 0x96, 0x1E, 0x86, 0x16, 0xA6, 0x1A, 0x86, 0x0A, 0x65, 0x05, 0xA6, 0x1A, 0xC6, 0x56, 0xB6, 0x38, 0xB7, 0x5C, 0xB7, 0xAA, 0x96, 0x2A, 0xB7, 0x77, + 0xB7, 0xA2, 0x97, 0xA0, 0x97, 0x80, 0xA7, 0x49, 0x96, 0x2A, 0xC6, 0x3B, 0xB6, 0x50, 0x97, 0xBD, 0x87, 0xD0, 0x87, 0xDD, 0x87, 0xD3, 0x87, 0xAF, 0x87, 0xB5, 0x87, 0x92, 0x87, 0x69, 0x87, 0x32, + 0x87, 0x31, 0x97, 0x44, 0x97, 0x51, 0x97, 0x51, 0x87, 0x3F, 0x97, 0x33, 0x97, 0x52, 0x97, 0x89, 0x97, 0xA0, 0xA7, 0xA0, 0x97, 0xAD, 0x97, 0x9C, 0xA7, 0x92, 0xB7, 0x79, 0xB7, 0x5C, 0xA7, 0x56, + 0xB7, 0x63, 0xA7, 0x74, 0xA7, 0x7A, 0xA7, 0x70, 0xB7, 0x74, 0xB7, 0x79, 0xB7, 0x5C, 0xB7, 0x42, 0xA7, 0x3B, 0xA7, 0x36, 0xA7, 0x3E, 0xA7, 0x41, 0xB7, 0x4B, 0xC7, 0x52, 0xC7, 0x46, 0xC7, 0x44, + 0xC7, 0x46, 0xB6, 0x3D, 0xA7, 0x24, 0xA7, 0x2A, 0x96, 0x33, 0xA6, 0x30, 0xA6, 0x22, 0x96, 0x0C, 0x65, 0x05, 0xB6, 0x27, 0xC6, 0x58, 0xB6, 0x4B, 0xC7, 0x70, 0xB7, 0xB6, 0xA6, 0x36, 0xA7, 0x6C, + 0xB7, 0xBE, 0xC7, 0x87, 0xB6, 0x6F, 0x96, 0x26, 0xB6, 0x29, 0xD6, 0x5B, 0xC7, 0x5A, 0xB6, 0x85, 0xA7, 0x76, 0x97, 0xBE, 0x87, 0xCD, 0x97, 0x8D, 0x87, 0x89, 0x87, 0x57, 0x87, 0x4E, 0x87, 0x36, + 0x86, 0x2E, 0x97, 0x3A, 0x97, 0x44, 0x97, 0x54, 0x97, 0x5D, 0x87, 0x2F, 0x86, 0x27, 0x97, 0x39, 0xA7, 0x81, 0xA7, 0x98, 0xA7, 0x9A, 0xA7, 0x96, 0xA7, 0x9A, 0xA7, 0x90, 0xA6, 0x52, 0xB8, 0x34, + 0xA7, 0x3E, 0xA7, 0x33, 0xA6, 0x30, 0xA7, 0x3A, 0xB7, 0x63, 0xA7, 0x6B, 0xA7, 0x4F, 0xA7, 0x35, 0x96, 0x20, 0x96, 0x1C, 0x97, 0x1F, 0x97, 0x23, 0xA6, 0x37, 0xB7, 0x52, 0xB7, 0x53, 0xC7, 0x4B, + 0xC7, 0x6E, 0xB7, 0x5D, 0xB7, 0x55, 0xB7, 0x64, 0xA7, 0x67, 0xA7, 0x4E, 0xA7, 0x26, 0x98, 0x0B, 0x65, 0x05, 0xB6, 0x24, 0xC6, 0x4D, 0xC6, 0x52, 0xB6, 0x55, 0xC7, 0xAA, 0xB7, 0x5A, 0xB7, 0x92, + 0xB7, 0xC5, 0xC6, 0x9E, 0xC6, 0x8F, 0xA6, 0x1C, 0xB6, 0x26, 0xC6, 0x5E, 0xC6, 0x6F, 0xC7, 0x74, 0xA6, 0x20, 0xA6, 0x33, 0xA7, 0x53, 0xA7, 0x6E, 0xA7, 0x63, 0x86, 0x40, 0x87, 0x35, 0x87, 0x2E, + 0x97, 0x28, 0x86, 0x2A, 0x97, 0x34, 0x97, 0x2C, 0x97, 0x36, 0x97, 0x42, 0x97, 0x3F, 0x96, 0x36, 0x97, 0x59, 0xA7, 0x7B, 0xA7, 0x71, 0xB7, 0x8B, 0xB7, 0x97, 0xA7, 0x8E, 0xA7, 0xA5, 0xA7, 0x97, + 0xA7, 0x52, 0xA7, 0x43, 0xA7, 0x41, 0xA7, 0x46, 0xB7, 0x5B, 0xB7, 0x4A, 0xA7, 0x34, 0x96, 0x25, 0x86, 0x21, 0x86, 0x21, 0x96, 0x1E, 0x96, 0x20, 0xB7, 0x32, 0xB7, 0x56, 0xB7, 0x5F, 0xB7, 0x5F, + 0xB7, 0x75, 0xB7, 0x5F, 0xB7, 0x6F, 0xA7, 0x97, 0xA7, 0x86, 0xA7, 0x55, 0xA7, 0x21, 0x74, 0x09, 0x65, 0x05, 0xA6, 0x15, 0xC6, 0x49, 0xB6, 0x3D, 0xB6, 0x4D, 0xC7, 0xAE, 0xB7, 0x9E, 0xB7, 0xAB, + 0xB7, 0xC5, 0xC6, 0xA3, 0xC6, 0x48, 0xC6, 0x36, 0xC6, 0x45, 0xC7, 0x79, 0xC7, 0x96, 0xB6, 0x3F, 0x66, 0x12, 0x96, 0x15, 0x94, 0x0E, 0x96, 0x1E, 0x96, 0x2B, 0x97, 0x17, 0x96, 0x1A, 0x97, 0x2A, + 0x97, 0x29, 0x85, 0x15, 0x96, 0x16, 0x86, 0x23, 0x87, 0x1F, 0x96, 0x21, 0xA7, 0x30, 0x97, 0x49, 0xA7, 0x5B, 0xA7, 0x74, 0xB7, 0x74, 0xB7, 0x81, 0xB7, 0x83, 0xB7, 0x7A, 0xB7, 0x86, 0xA7, 0x85, + 0xA7, 0x77, 0xA7, 0x77, 0xA7, 0x7F, 0xA7, 0x69, 0xA7, 0x50, 0xA7, 0x32, 0xA7, 0x1A, 0x86, 0x15, 0x86, 0x1B, 0x97, 0x24, 0x97, 0x29, 0x97, 0x25, 0xA7, 0x3A, 0xB7, 0x62, 0xB7, 0x7C, 0xB7, 0x84, + 0xB7, 0x7A, 0xB7, 0x5D, 0xA7, 0x6C, 0xA7, 0xA9, 0x97, 0x94, 0x97, 0x52, 0x86, 0x17, 0x75, 0x06, 0x65, 0x05, 0x85, 0x0D, 0xB6, 0x39, 0xA6, 0x2A, 0xA6, 0x2F, 0xC7, 0xAE, 0xB7, 0xB4, 0xB7, 0xAD, + 0xC7, 0x83, 0xC6, 0x87, 0xB6, 0x3A, 0xD6, 0x48, 0xC6, 0x46, 0xB7, 0x88, 0xC7, 0x7D, 0xC7, 0x6F, 0xA6, 0x1C, 0xA6, 0x17, 0xA5, 0x1B, 0xA6, 0x1F, 0xB7, 0x89, 0xB6, 0x46, 0x85, 0x0F, 0x86, 0x1E, + 0x86, 0x28, 0x76, 0x10, 0x76, 0x0E, 0x95, 0x11, 0x86, 0x17, 0x87, 0x15, 0x96, 0x1C, 0xA7, 0x3C, 0xA7, 0x5A, 0xB7, 0x72, 0xB7, 0x65, 0xA6, 0x4C, 0xA7, 0x3E, 0xA6, 0x3D, 0xB7, 0x44, 0xA7, 0x54, + 0xA7, 0x6D, 0xA7, 0x66, 0xA7, 0x59, 0x97, 0x65, 0x97, 0x4A, 0x97, 0x2B, 0xA7, 0x1D, 0x96, 0x24, 0xA7, 0x35, 0x97, 0x3C, 0x97, 0x39, 0x87, 0x2E, 0xA7, 0x43, 0xA7, 0x6D, 0xA7, 0x7E, 0xB7, 0x86, + 0xA7, 0x6D, 0xA7, 0x41, 0xA7, 0x61, 0x97, 0xAA, 0x97, 0x96, 0x97, 0x4B, 0x87, 0x11, 0x76, 0x06, 0x65, 0x05, 0x65, 0x0B, 0xA6, 0x21, 0xA6, 0x29, 0xB6, 0x36, 0xC7, 0xB1, 0xC7, 0xA6, 0xA6, 0x2C, + 0xB6, 0x40, 0xC6, 0x6E, 0xA6, 0x27, 0xC6, 0x43, 0xC6, 0x46, 0xB7, 0x5D, 0xC7, 0xB1, 0xD7, 0x8A, 0xB6, 0x42, 0xB6, 0x2D, 0x85, 0x10, 0xA6, 0x22, 0xB8, 0xB8, 0xC7, 0x86, 0xA5, 0x16, 0x76, 0x11, + 0x77, 0x1E, 0x85, 0x12, 0x76, 0x0F, 0x76, 0x10, 0x86, 0x0E, 0x86, 0x10, 0x77, 0x0F, 0xB7, 0x3B, 0xB7, 0x58, 0xA7, 0x40, 0xA7, 0x2F, 0xA6, 0x22, 0xA6, 0x1D, 0xA7, 0x1D, 0xA6, 0x20, 0xA6, 0x26, + 0xA6, 0x36, 0xA6, 0x2F, 0xA6, 0x29, 0x97, 0x25, 0x97, 0x32, 0x96, 0x26, 0x96, 0x2E, 0x97, 0x4D, 0xA7, 0x5F, 0x97, 0x5A, 0x97, 0x4A, 0x97, 0x42, 0x97, 0x56, 0xA7, 0x7F, 0xA7, 0x85, 0x97, 0x75, + 0xA7, 0x60, 0x97, 0x4D, 0xA7, 0x66, 0x97, 0xB5, 0x97, 0x9B, 0x87, 0x4B, 0x76, 0x0F, 0x65, 0x05, 0x65, 0x05, 0x76, 0x0B, 0xB6, 0x29, 0xB6, 0x45, 0xC6, 0x68, 0xC7, 0xB0, 0xC7, 0x9D, 0x96, 0x1C, + 0xB6, 0x31, 0xC6, 0x79, 0xA6, 0x25, 0xC6, 0x42, 0xC6, 0x4B, 0xB6, 0x45, 0xC7, 0x96, 0xC6, 0x86, 0xB7, 0x70, 0xA6, 0x50, 0xA7, 0x4C, 0xB7, 0x79, 0xC8, 0xC2, 0xC7, 0xAE, 0xC6, 0x27, 0x65, 0x0E, + 0x76, 0x17, 0x76, 0x12, 0x76, 0x0F, 0x86, 0x12, 0x76, 0x0F, 0x75, 0x0D, 0x96, 0x14, 0xB7, 0x29, 0xA7, 0x21, 0xA6, 0x20, 0x96, 0x16, 0x96, 0x12, 0x86, 0x10, 0x76, 0x0F, 0x96, 0x11, 0x86, 0x11, + 0x96, 0x18, 0x96, 0x1E, 0x95, 0x16, 0xA6, 0x17, 0x96, 0x1E, 0x96, 0x23, 0x96, 0x28, 0x96, 0x33, 0xA7, 0x50, 0x97, 0x59, 0x97, 0x53, 0x97, 0x58, 0x97, 0x79, 0x97, 0x85, 0x97, 0x7C, 0x97, 0x58, + 0x96, 0x41, 0xA7, 0x76, 0xA7, 0x9F, 0x97, 0xB9, 0x97, 0x9D, 0x87, 0x4D, 0x76, 0x10, 0x76, 0x05, 0x67, 0x05, 0xB6, 0x28, 0xC7, 0x67, 0xC6, 0x6D, 0xC6, 0x8F, 0xC6, 0x9D, 0xC6, 0x8E, 0xA6, 0x23, + 0xB7, 0x33, 0xC7, 0x89, 0xA6, 0x20, 0xC6, 0x48, 0xC6, 0x44, 0xC7, 0x52, 0xC6, 0x58, 0xB6, 0x2B, 0x86, 0x1B, 0x86, 0x1D, 0xA6, 0x34, 0xA6, 0x45, 0xC6, 0x82, 0xD7, 0x80, 0xB6, 0x23, 0x66, 0x0F, + 0x76, 0x10, 0x76, 0x0F, 0x76, 0x0F, 0x76, 0x0F, 0x86, 0x0F, 0x85, 0x0E, 0xA6, 0x1C, 0xA6, 0x1F, 0xA7, 0x17, 0x97, 0x18, 0x96, 0x14, 0x96, 0x12, 0x86, 0x0E, 0x85, 0x0F, 0x86, 0x10, 0x97, 0x13, + 0x96, 0x15, 0xA6, 0x26, 0xA7, 0x23, 0x96, 0x1C, 0x85, 0x13, 0x85, 0x20, 0x86, 0x18, 0x86, 0x1C, 0x97, 0x2B, 0x97, 0x3F, 0x97, 0x5A, 0x97, 0x73, 0x97, 0x85, 0x97, 0x85, 0x97, 0x6F, 0x97, 0x4E, + 0x97, 0x5B, 0x97, 0x9C, 0x97, 0xBB, 0x97, 0xBA, 0x97, 0x83, 0x87, 0x32, 0x76, 0x10, 0x56, 0x06, 0x76, 0x05, 0xB7, 0x33, 0xC7, 0x5E, 0xC6, 0x76, 0xC6, 0x8D, 0xC6, 0x7D, 0xC6, 0x6D, 0xB6, 0x3B, + 0xB7, 0x47, 0xC7, 0x8A, 0x95, 0x1A, 0xC6, 0x41, 0xC6, 0x47, 0xB7, 0x4A, 0xA7, 0x83, 0x87, 0x58, 0x76, 0x2E, 0x76, 0x28, 0x76, 0x15, 0x56, 0x18, 0x76, 0x1C, 0x96, 0x16, 0x75, 0x10, 0x76, 0x0F, + 0x76, 0x0F, 0x76, 0x0F, 0x76, 0x0F, 0x76, 0x0F, 0x76, 0x0D, 0x86, 0x11, 0xB7, 0x29, 0xB7, 0x3A, 0xB7, 0x3A, 0xB7, 0x30, 0xA7, 0x22, 0xA6, 0x18, 0x86, 0x0F, 0x86, 0x0E, 0x96, 0x14, 0xA7, 0x26, + 0xA7, 0x34, 0xA7, 0x3F, 0xA7, 0x47, 0x96, 0x2E, 0x86, 0x18, 0x86, 0x12, 0x86, 0x16, 0x85, 0x15, 0x96, 0x1F, 0x97, 0x38, 0x97, 0x62, 0x97, 0x7D, 0x97, 0x81, 0x97, 0x75, 0x97, 0x6C, 0x97, 0x76, + 0x97, 0x91, 0x97, 0xAB, 0x87, 0xB0, 0x97, 0x97, 0x97, 0x4D, 0x87, 0x25, 0x86, 0x11, 0x65, 0x07, 0x54, 0x06, 0xB6, 0x29, 0xB6, 0x38, 0xB6, 0x50, 0xC6, 0x64, 0xC6, 0x53, 0xC7, 0x3F, 0xC7, 0x52, + 0xC7, 0x61, 0xC7, 0x90, 0xB6, 0x2B, 0xC7, 0x3D, 0xC6, 0x5D, 0xA7, 0x62, 0x87, 0xCC, 0x87, 0x98, 0x87, 0x54, 0x87, 0x38, 0x87, 0x26, 0x87, 0x26, 0x76, 0x1F, 0x65, 0x0E, 0x75, 0x0B, 0x76, 0x0C, + 0x75, 0x0D, 0x76, 0x0E, 0x76, 0x10, 0x76, 0x0F, 0x76, 0x0F, 0x97, 0x15, 0xA7, 0x27, 0xB7, 0x3C, 0xB7, 0x50, 0xB7, 0x44, 0xB7, 0x31, 0xA7, 0x2A, 0x97, 0x14, 0x95, 0x10, 0x96, 0x11, 0xA7, 0x29, + 0xA7, 0x48, 0x97, 0x3B, 0x97, 0x29, 0x97, 0x2A, 0x97, 0x25, 0x87, 0x16, 0x87, 0x18, 0x97, 0x22, 0x97, 0x34, 0x97, 0x51, 0x97, 0x77, 0x97, 0x84, 0x97, 0x75, 0x97, 0x5A, 0x97, 0x6A, 0x97, 0x90, + 0x97, 0xA8, 0x97, 0xA8, 0x97, 0x8A, 0x87, 0x56, 0x86, 0x2F, 0x65, 0x14, 0x76, 0x0F, 0x74, 0x07, 0x66, 0x06, 0xA6, 0x15, 0x76, 0x10, 0xA6, 0x26, 0xC6, 0x4B, 0xB6, 0x37, 0xA6, 0x21, 0xC7, 0x50, + 0xC7, 0x82, 0xC7, 0x92, 0xC7, 0x66, 0xC6, 0x4F, 0xC6, 0x75, 0xA7, 0x71, 0x87, 0xDC, 0x87, 0xD7, 0x87, 0xA4, 0x87, 0x63, 0x87, 0x59, 0x87, 0x6A, 0x87, 0x77, 0x87, 0x59, 0x87, 0x3E, 0x87, 0x2C, + 0x76, 0x1E, 0x77, 0x21, 0x76, 0x19, 0x76, 0x0E, 0x86, 0x12, 0xA7, 0x28, 0xA7, 0x2C, 0xA7, 0x1B, 0xA7, 0x20, 0xA7, 0x38, 0xA7, 0x45, 0xA7, 0x44, 0xA7, 0x2E, 0x77, 0x13, 0x86, 0x10, 0x97, 0x18, + 0x97, 0x20, 0x97, 0x33, 0x97, 0x39, 0x97, 0x2B, 0x97, 0x26, 0x97, 0x27, 0x87, 0x29, 0x97, 0x3C, 0x97, 0x5C, 0x97, 0x7E, 0x87, 0x87, 0x97, 0x79, 0x87, 0x61, 0x87, 0x5B, 0x97, 0x79, 0x97, 0x9B, + 0x97, 0xA0, 0x97, 0x83, 0x87, 0x49, 0x87, 0x29, 0x75, 0x17, 0x76, 0x0F, 0x86, 0x12, 0x75, 0x08, 0x55, 0x07, 0x96, 0x12, 0x75, 0x0F, 0x96, 0x1C, 0xB6, 0x42, 0xB6, 0x3F, 0xA6, 0x22, 0xB6, 0x2F, + 0xC6, 0x74, 0xC7, 0x92, 0xC6, 0x7B, 0xC6, 0x5B, 0xC6, 0x76, 0xA7, 0x68, 0x87, 0xD0, 0x87, 0xDB, 0x87, 0xCC, 0x87, 0xB8, 0x87, 0xB4, 0x87, 0xAA, 0x87, 0xAA, 0x87, 0xB0, 0x87, 0xA1, 0x87, 0x7F, + 0x87, 0x77, 0x77, 0x4F, 0x76, 0x1E, 0x86, 0x10, 0x86, 0x11, 0x86, 0x14, 0xA7, 0x1F, 0xA7, 0x27, 0xA7, 0x24, 0x97, 0x20, 0x97, 0x27, 0x97, 0x2F, 0xA7, 0x3A, 0x97, 0x31, 0x97, 0x23, 0x97, 0x31, + 0x97, 0x28, 0x97, 0x48, 0x97, 0x59, 0x97, 0x37, 0x97, 0x25, 0x87, 0x3F, 0x87, 0x4A, 0x97, 0x48, 0x97, 0x66, 0x97, 0x88, 0x97, 0x89, 0x87, 0x64, 0x97, 0x61, 0x97, 0x7D, 0x97, 0x99, 0x97, 0x9A, + 0x97, 0x78, 0x87, 0x4A, 0x87, 0x29, 0x77, 0x16, 0x85, 0x17, 0x97, 0x20, 0xA6, 0x23, 0x74, 0x07, 0x65, 0x07, 0xB6, 0x20, 0x95, 0x19, 0x96, 0x1C, 0xC6, 0x5C, 0xC6, 0x4F, 0xA6, 0x20, 0xB6, 0x28, + 0xC7, 0x5E, 0xC7, 0x76, 0xC6, 0x81, 0xC6, 0x60, 0xC6, 0x60, 0xC7, 0x9D, 0x87, 0xC2, 0x87, 0xD1, 0x87, 0xCB, 0x87, 0xC7, 0x87, 0xC8, 0x87, 0xC9, 0x87, 0xCF, 0x87, 0xC8, 0x87, 0xC2, 0x87, 0xBD, + 0x87, 0xC7, 0x87, 0x6C, 0x96, 0x12, 0xB7, 0x29, 0xC7, 0x2D, 0xA6, 0x20, 0x96, 0x12, 0x86, 0x12, 0x97, 0x2A, 0xA7, 0x42, 0xA7, 0x40, 0x97, 0x26, 0x97, 0x1D, 0x97, 0x2D, 0x97, 0x3C, 0x97, 0x4B, + 0x97, 0x55, 0x97, 0x5B, 0x97, 0x6B, 0x97, 0x57, 0x86, 0x1F, 0x87, 0x38, 0x87, 0x3E, 0x87, 0x39, 0x97, 0x50, 0x97, 0x7F, 0x97, 0x7F, 0x97, 0x6F, 0x97, 0x82, 0x97, 0xA3, 0x97, 0x9C, 0x97, 0x7A, + 0x87, 0x41, 0x87, 0x27, 0x87, 0x18, 0x86, 0x23, 0xA7, 0x38, 0xA7, 0x46, 0x96, 0x25, 0x75, 0x08, 0x75, 0x06, 0xB6, 0x27, 0xB6, 0x42, 0xB6, 0x4F, 0xC6, 0x6D, 0xC6, 0x5D, 0xA6, 0x28, 0xA6, 0x26, + 0xC6, 0x49, 0xB6, 0x41, 0xB6, 0x48, 0xC6, 0x5A, 0xC7, 0x5F, 0xC7, 0xA5, 0xB7, 0x86, 0xA7, 0xA1, 0xA7, 0xAB, 0xA7, 0xAA, 0x97, 0xBF, 0x97, 0xC3, 0x97, 0xB5, 0x97, 0xC4, 0x97, 0xBD, 0x97, 0xA6, + 0xA7, 0x9C, 0x97, 0x6A, 0xB6, 0x25, 0xA6, 0x17, 0xA6, 0x1E, 0xA6, 0x1A, 0xA6, 0x1E, 0xA6, 0x19, 0x77, 0x0D, 0x86, 0x1A, 0x97, 0x2C, 0xA7, 0x31, 0xA7, 0x37, 0xA7, 0x2E, 0x97, 0x29, 0x97, 0x31, + 0x97, 0x37, 0x97, 0x45, 0x87, 0x39, 0x77, 0x2A, 0x87, 0x1E, 0x87, 0x29, 0x87, 0x35, 0x87, 0x33, 0x87, 0x49, 0x87, 0x83, 0x87, 0x90, 0x97, 0x9D, 0x97, 0xAD, 0x87, 0xA6, 0x97, 0x7B, 0x87, 0x42, + 0x87, 0x27, 0x86, 0x1A, 0x86, 0x24, 0xA7, 0x3E, 0xA7, 0x5B, 0xA7, 0x4E, 0xA6, 0x23, 0x74, 0x08, 0x56, 0x06, 0xA6, 0x1B, 0xC7, 0x5D, 0xC7, 0x6C, 0xC7, 0x96, 0xB6, 0x4E, 0xA6, 0x26, 0xB6, 0x33, + 0xC6, 0x54, 0xC6, 0x49, 0xB6, 0x3D, 0xB6, 0x56, 0xB6, 0x5F, 0xC6, 0x68, 0xC6, 0x5C, 0xB6, 0x65, 0xC7, 0x9F, 0xB6, 0x68, 0xB7, 0x76, 0xA7, 0x79, 0xA7, 0x7F, 0xA7, 0x7E, 0xB7, 0x77, 0xB6, 0x40, + 0xC7, 0x40, 0xD7, 0x5B, 0xB6, 0x31, 0xC6, 0x2D, 0xB6, 0x28, 0x96, 0x15, 0x76, 0x0F, 0xB6, 0x27, 0xC7, 0x2E, 0xB7, 0x1F, 0x96, 0x15, 0x97, 0x23, 0xA7, 0x33, 0xA7, 0x40, 0xA7, 0x37, 0xA7, 0x2D, + 0x97, 0x2A, 0x87, 0x22, 0x97, 0x26, 0x96, 0x23, 0x97, 0x31, 0x97, 0x42, 0x87, 0x5D, 0x87, 0x59, 0x87, 0x66, 0x87, 0x8E, 0x87, 0xA0, 0x87, 0xAE, 0x87, 0xA6, 0x97, 0x8A, 0x87, 0x4A, 0x87, 0x29, + 0x87, 0x18, 0x97, 0x24, 0xA7, 0x53, 0xA7, 0x7A, 0x97, 0x74, 0x97, 0x49, 0xA7, 0x20, 0x75, 0x06, 0x65, 0x05, 0x75, 0x09, 0xA6, 0x27, 0xC7, 0x6A, 0xC7, 0x90, 0xC7, 0x6D, 0xC6, 0x55, 0xC6, 0x5B, + 0xC6, 0x6D, 0xC6, 0x5C, 0xC7, 0x30, 0xB6, 0x48, 0xB6, 0x44, 0xB6, 0x49, 0xB6, 0x34, 0xB6, 0x46, 0xC7, 0x98, 0xC7, 0x85, 0xC7, 0x7E, 0xC7, 0xA3, 0xB6, 0x45, 0xC7, 0x53, 0xC7, 0x8A, 0xC7, 0x88, + 0xC7, 0x41, 0xD7, 0x59, 0xC6, 0x4A, 0xC6, 0x40, 0xC7, 0x3F, 0xC7, 0x38, 0xC7, 0x2C, 0xC6, 0x35, 0xC7, 0x46, 0xC7, 0x45, 0xC7, 0x39, 0xB7, 0x25, 0xA6, 0x21, 0xA7, 0x32, 0xA7, 0x46, 0xA7, 0x6D, + 0xA7, 0x6A, 0x97, 0x55, 0x97, 0x69, 0x97, 0x51, 0x97, 0x56, 0x97, 0x60, 0x87, 0x5E, 0x87, 0x54, 0x87, 0x5D, 0x87, 0x87, 0x87, 0x98, 0x87, 0x8E, 0x87, 0x74, 0x87, 0x45, 0x87, 0x2E, 0x77, 0x19, + 0x97, 0x25, 0x97, 0x54, 0x97, 0x79, 0xA7, 0xA0, 0xA7, 0x72, 0xA7, 0x43, 0x96, 0x17, 0x56, 0x06, 0x65, 0x05, 0x96, 0x0D, 0xB6, 0x22, 0xB6, 0x4F, 0xC6, 0x83, 0xC7, 0x88, 0xC6, 0x83, 0xC6, 0x8D, + 0xC6, 0x85, 0xC6, 0x73, 0xC6, 0x41, 0xB7, 0x29, 0xB7, 0x3D, 0xB7, 0x51, 0xB7, 0x8C, 0xB7, 0x83, 0xA6, 0x2C, 0xC7, 0x8B, 0xC7, 0x9A, 0xC7, 0x7D, 0xB6, 0x59, 0xB6, 0x48, 0xB7, 0x51, 0xC7, 0x56, + 0xD7, 0x6A, 0xC6, 0x3C, 0xC7, 0x40, 0xC7, 0x31, 0x86, 0x12, 0xB7, 0x27, 0xB7, 0x2D, 0xC7, 0x36, 0xC7, 0x4B, 0xC7, 0x4A, 0xC6, 0x44, 0xC7, 0x4A, 0xB7, 0x2D, 0xB7, 0x24, 0xA7, 0x31, 0xA7, 0x52, + 0xA7, 0x79, 0xA7, 0x79, 0x97, 0x85, 0x97, 0x7E, 0x97, 0x79, 0x97, 0x5B, 0x87, 0x3B, 0x86, 0x2F, 0x87, 0x37, 0x87, 0x62, 0x87, 0x73, 0x87, 0x4F, 0x77, 0x32, 0x86, 0x21, 0x97, 0x1D, 0x97, 0x27, + 0x97, 0x50, 0x97, 0x78, 0xA7, 0xA0, 0xA7, 0x97, 0xA7, 0x5C, 0xA6, 0x20, 0x96, 0x09, 0x76, 0x04, 0x76, 0x04, 0xB6, 0x21, 0xB6, 0x35, 0xB6, 0x40, 0xB6, 0x33, 0xB6, 0x4E, 0xC7, 0x72, 0xC7, 0x7E, + 0xC6, 0x83, 0xC6, 0x75, 0xC6, 0x62, 0xB7, 0x26, 0xB6, 0x3F, 0xB7, 0xB5, 0xB8, 0xDC, 0xB7, 0xC1, 0xA6, 0x2C, 0xB7, 0x6B, 0xC7, 0x8B, 0xA6, 0x27, 0xC7, 0x4F, 0xC7, 0x81, 0x96, 0x1C, 0xC6, 0x4E, + 0xA6, 0x26, 0xC6, 0x34, 0xC6, 0x3D, 0xC6, 0x47, 0xB6, 0x1E, 0x65, 0x0E, 0x55, 0x0E, 0x76, 0x0F, 0xA6, 0x1C, 0xC7, 0x36, 0xC7, 0x48, 0xC6, 0x53, 0xC7, 0x52, 0xB7, 0x4B, 0xB7, 0x31, 0x97, 0x26, + 0x97, 0x4A, 0x97, 0x56, 0x97, 0x48, 0x87, 0x3D, 0x87, 0x46, 0x87, 0x37, 0x87, 0x24, 0x86, 0x1C, 0x87, 0x30, 0x87, 0x4B, 0x87, 0x46, 0x87, 0x2E, 0x86, 0x1E, 0x96, 0x21, 0x96, 0x32, 0xA7, 0x5E, + 0x97, 0x79, 0x97, 0x96, 0xA7, 0x94, 0xA7, 0x7D, 0x96, 0x2B, 0x86, 0x0E, 0xA6, 0x0D, 0x77, 0x03, 0x76, 0x04, 0xB6, 0x20, 0xC6, 0x41, 0xC7, 0x4B, 0x95, 0x1D, 0x96, 0x14, 0xA6, 0x22, 0xB6, 0x3B, + 0xC6, 0x60, 0xC6, 0x69, 0xC6, 0x57, 0xB6, 0x30, 0xB7, 0x6B, 0xB7, 0x9A, 0xB7, 0x87, 0xB7, 0x7D, 0xB7, 0x79, 0xB7, 0x42, 0xC7, 0x53, 0xB6, 0x2C, 0xC6, 0x45, 0xC6, 0x62, 0xC7, 0x5E, 0xB6, 0x33, + 0xC6, 0x3F, 0xB6, 0x20, 0xB6, 0x22, 0xC7, 0x31, 0xC6, 0x3E, 0xC7, 0x2E, 0xB6, 0x23, 0xC7, 0x2A, 0xA6, 0x18, 0x86, 0x0E, 0xB6, 0x21, 0xC7, 0x2E, 0xB6, 0x37, 0xC7, 0x4A, 0xB7, 0x35, 0xB7, 0x2D, + 0x97, 0x17, 0x87, 0x29, 0x75, 0x10, 0x94, 0x0A, 0x76, 0x0C, 0x77, 0x13, 0x77, 0x13, 0x97, 0x1E, 0x97, 0x34, 0x87, 0x3F, 0x87, 0x30, 0x97, 0x1F, 0x96, 0x20, 0xA7, 0x39, 0xA7, 0x4A, 0x97, 0x68, + 0x97, 0x72, 0xA7, 0x6F, 0xA7, 0x62, 0xA7, 0x3B, 0x96, 0x1A, 0xA6, 0x12, 0x97, 0x12, 0x77, 0x03, 0x66, 0x04, 0xB6, 0x20, 0xB6, 0x2F, 0xC6, 0x36, 0xB6, 0x1E, 0x96, 0x10, 0x96, 0x0D, 0xB7, 0x21, + 0xC7, 0x39, 0xC7, 0x4D, 0xC6, 0x4B, 0xB6, 0x2C, 0xB6, 0x3E, 0xB7, 0x2F, 0xB7, 0x2B, 0xB7, 0x34, 0xB7, 0x51, 0xB7, 0x52, 0xC7, 0x40, 0xC6, 0x3F, 0xC6, 0x46, 0xB6, 0x29, 0xB6, 0x26, 0xC7, 0x39, + 0xC7, 0x29, 0x44, 0x09, 0x75, 0x09, 0x96, 0x0D, 0xB6, 0x20, 0xC6, 0x2F, 0xC6, 0x2C, 0xC6, 0x2B, 0xC7, 0x2C, 0xC7, 0x24, 0xB6, 0x1A, 0xA6, 0x15, 0x76, 0x09, 0xB7, 0x24, 0xB7, 0x30, 0xB7, 0x3D, + 0xA7, 0x29, 0x97, 0x20, 0x97, 0x21, 0x76, 0x09, 0x84, 0x09, 0x76, 0x08, 0x76, 0x11, 0x97, 0x26, 0x87, 0x33, 0x86, 0x2F, 0x86, 0x1C, 0x87, 0x17, 0x97, 0x26, 0x97, 0x35, 0x97, 0x40, 0x97, 0x4A, + 0xA7, 0x46, 0xB7, 0x3A, 0xA7, 0x2C, 0x96, 0x1D, 0xA6, 0x0C, 0xA7, 0x22, 0x77, 0x0E, 0x77, 0x02, 0x64, 0x04, 0xA6, 0x17, 0xB6, 0x1A, 0xB6, 0x1B, 0xA6, 0x18, 0xA6, 0x12, 0xA6, 0x11, 0xB6, 0x1B, + 0xB6, 0x29, 0xB6, 0x27, 0xB6, 0x26, 0xB6, 0x1B, 0xB6, 0x19, 0xA6, 0x13, 0xB6, 0x22, 0xA6, 0x17, 0xB7, 0x29, 0xB7, 0x36, 0xB7, 0x26, 0xB6, 0x1B, 0xC7, 0x27, 0xB6, 0x19, 0xA6, 0x12, 0xB6, 0x20, + 0xC7, 0x23, 0xA6, 0x15, 0xA6, 0x11, 0xA6, 0x10, 0xA6, 0x10, 0xB6, 0x16, 0xB6, 0x16, 0xA6, 0x11, 0xA6, 0x14, 0xB7, 0x19, 0xB6, 0x1C, 0xB6, 0x19, 0xB6, 0x14, 0xA6, 0x10, 0xA6, 0x15, 0xB7, 0x25, + 0xA7, 0x29, 0xA7, 0x2A, 0x97, 0x28, 0x96, 0x19, 0x96, 0x11, 0xA6, 0x0F, 0x97, 0x14, 0x97, 0x22, 0x97, 0x26, 0x86, 0x1D, 0x87, 0x15, 0x86, 0x18, 0x96, 0x23, 0x97, 0x28, 0x87, 0x27, 0x97, 0x25, + 0xA7, 0x20, 0xA7, 0x1A, 0x96, 0x10, 0xA6, 0x08, 0xA6, 0x0A, 0x97, 0x0E, 0x86, 0x0B, 0x77, 0x02, 0x64, 0x04, 0x64, 0x04, 0x64, 0x04, 0x66, 0x04, 0x76, 0x04, 0x65, 0x05, 0x94, 0x06, 0x65, 0x05, + 0x75, 0x05, 0x75, 0x05, 0x65, 0x05, 0x65, 0x05, 0x65, 0x05, 0x65, 0x05, 0x65, 0x05, 0x65, 0x05, 0x65, 0x05, 0x65, 0x05, 0x65, 0x05, 0x65, 0x05, 0x65, 0x05, 0x65, 0x05, 0x65, 0x05, 0x65, 0x05, + 0x65, 0x05, 0x65, 0x05, 0x65, 0x05, 0x65, 0x05, 0x65, 0x05, 0x65, 0x05, 0x65, 0x05, 0x65, 0x05, 0x65, 0x05, 0x65, 0x05, 0x65, 0x05, 0x65, 0x05, 0x65, 0x05, 0x65, 0x05, 0x65, 0x05, 0x65, 0x05, + 0x65, 0x05, 0x65, 0x05, 0x65, 0x05, 0x68, 0x05, 0x65, 0x05, 0x94, 0x06, 0x66, 0x07, 0x76, 0x09, 0x76, 0x0C, 0x74, 0x0C, 0x87, 0x09, 0x76, 0x09, 0x95, 0x0E, 0x86, 0x0D, 0xA6, 0x0D, 0x76, 0x09, + 0x95, 0x08, 0x77, 0x06, 0x67, 0x05, 0x77, 0x03, 0x77, 0x03, 0x77, 0x02, 0x77, 0x02, 0x77, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x12, 0x34, 0x56, 0x78, + 0x90, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x9A, 0xB4, 0x57, 0x68, 0x4B, 0xB2, 0xC9, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xCA, 0xD6, 0x8E, 0xEE, 0x8A, 0x11, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x9C, 0xAD, 0x68, 0x7E, 0x77, 0x78, 0x87, 0x6B, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1C, 0x23, 0xD6, 0x77, 0xE7, 0x77, 0x88, 0x88, 0x88, 0x88, 0xE6, 0xC0, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x11, 0xC3, + 0x36, 0x87, 0x7E, 0x77, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x7E, 0x79, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x11, 0x11, 0x11, 0x2A, 0x34, 0x46, 0x88, 0x7E, 0xE7, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x77, 0x43, 0x90, 0x00, 0x00, 0x00, 0x11, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0B, 0x8E, 0x81, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xB3, 0xD4, 0x44, 0xB2, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0xE8, 0x88, 0x88, 0x7E, 0xEE, 0x77, 0x77, 0x78, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x77, 0xE7, 0x8A, 0x00, 0x00, 0x00, 0x99, 0x13, 0x88, 0x90, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x4E, 0x78, 0x7A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0D, 0x7B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x01, 0x2A, 0xA3, 0x46, 0xEE, 0xEE, 0xEE, 0xE7, 0x8B, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x09, 0xD7, 0x77, 0x77, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x86, 0xBC, 0x10, 0x00, 0x0C, 0xC1, 0x68, 0x87, 0x77, + 0x90, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0C, 0x34, 0x65, 0xA1, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0xE8, 0x88, 0x74, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0xE8, 0x5D, 0xAA, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x9B, 0x58, 0x7E, 0xEE, 0xE7, 0x88, 0x88, 0x88, 0x88, 0x7E, 0x62, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x23, 0xB7, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x78, 0xC0, 0x00, 0x00, 0x00, 0x08, 0x63, 0x77, 0x78, 0x78, 0x90, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x12, 0x47, 0xEE, 0x77, 0xED, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x06, 0x78, 0x88, 0x87, 0xD0, 0x00, 0x00, 0x00, 0xC6, 0xBA, 0x39, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x78, 0x7E, 0xEE, 0x20, 0x00, 0x00, 0x00, 0x00, 0x01, + 0xC3, 0x8E, 0x77, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x77, 0x30, 0x00, 0x00, 0x00, 0x13, 0x33, 0x93, 0x00, 0x21, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xDF, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0xE7, 0x82, 0x00, 0x00, 0x00, 0x00, 0xC7, 0x78, 0x88, 0x88, 0x87, + 0x61, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x6E, 0x77, 0x88, 0x88, 0x78, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC7, 0x88, 0x88, 0x8E, 0xB0, 0x00, 0x00, 0x09, 0x6E, 0x77, 0xE8, 0x10, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xA8, 0x78, 0x88, 0x8E, 0xC0, 0x00, 0x00, 0x00, 0x02, 0x48, 0x7E, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0xED, 0x10, 0x00, 0x00, + 0x00, 0x40, 0x08, 0x21, 0x89, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0C, 0x87, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x78, 0xD2, 0x10, 0x00, 0x00, 0x00, 0x00, 0x47, 0x88, 0x88, 0x88, 0x88, 0xEA, 0x00, 0x00, 0x00, 0x00, 0x01, 0xDE, 0x78, 0x88, 0x88, 0x88, 0x87, 0x52, 0x90, 0x00, 0x00, + 0x00, 0x00, 0x00, 0xDE, 0x88, 0x88, 0x78, 0x90, 0x00, 0x00, 0x04, 0xE8, 0x88, 0x76, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x77, 0x88, 0x88, 0x78, 0x10, 0x00, 0x00, 0x13, 0x67, 0x77, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x8E, 0x30, 0x00, 0x00, 0x00, 0x40, 0x05, 0xDA, 0x59, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x09, 0x87, 0x88, 0x88, 0x88, 0x88, 0x77, 0x7E, 0xEE, 0x78, 0x88, 0x88, 0x88, 0xE3, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0B, 0xE8, 0x88, 0x88, 0x88, 0x88, + 0xE3, 0x00, 0x00, 0x00, 0x00, 0x03, 0xE8, 0x88, 0x88, 0x88, 0x88, 0x88, 0x7E, 0x20, 0x00, 0x00, 0x00, 0x00, 0x09, 0x87, 0x88, 0x88, 0xE3, 0x00, 0x00, 0x00, 0xC7, 0x78, 0x88, 0x76, 0x90, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0xDE, 0x78, 0x88, 0x88, 0x76, 0x00, 0x00, 0x1D, 0x8E, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x81, 0x00, 0x00, + 0x00, 0x40, 0x04, 0xD4, 0x39, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0D, 0x67, 0x77, 0x7E, 0xEE, 0x77, 0x86, 0x6B, 0x33, + 0x28, 0x78, 0x88, 0x87, 0x7C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x27, 0x78, 0x88, 0x88, 0x88, 0x88, 0x7C, 0x00, 0x00, 0x00, 0x00, 0x28, 0x78, 0x88, 0x88, 0x88, 0x88, 0x77, 0xEE, 0x90, 0x00, 0x00, + 0x00, 0x00, 0x05, 0x78, 0x88, 0x87, 0x89, 0x00, 0x00, 0x00, 0xDE, 0x88, 0x88, 0x87, 0x81, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0B, 0xE7, 0x88, 0x88, 0x88, 0x7D, 0x00, 0x0C, 0x8E, 0x78, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0xEA, 0x00, 0x00, 0x00, 0x40, 0x04, 0x2B, 0x39, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC8, 0x66, 0x43, 0x3A, 0xCC, 0x90, 0x00, 0x00, 0x06, 0x78, 0x88, 0x87, 0x61, 0x00, 0x00, 0x00, 0x00, 0x00, 0x57, 0x88, 0x88, 0x88, 0x88, 0x88, + 0x7C, 0x00, 0x00, 0x00, 0x02, 0x87, 0x88, 0x88, 0x88, 0x88, 0x77, 0x76, 0xD2, 0x10, 0x00, 0x00, 0x00, 0x00, 0x2E, 0x88, 0x88, 0x8E, 0x30, 0x00, 0x00, 0x0C, 0x87, 0x88, 0x88, 0x87, 0x60, 0x00, + 0x00, 0x00, 0x00, 0x01, 0xD7, 0x88, 0x88, 0x88, 0x88, 0xEA, 0x00, 0x0B, 0xE8, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x87, 0x7E, 0xEE, 0x78, 0x88, 0x88, 0x88, 0x88, 0x88, 0x75, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x27, 0x88, 0x88, 0x87, 0xB0, 0x00, 0x00, 0x00, 0x00, 0x09, 0x77, 0x88, 0x88, 0x88, 0x88, 0x88, 0x79, 0x00, 0x00, 0x00, 0x27, 0x78, 0x88, 0x88, 0x88, 0x7E, 0x42, 0x91, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x57, 0x88, 0x88, 0x75, 0x00, 0x00, 0x00, 0x16, 0x78, 0x88, 0x88, 0x8E, 0x30, 0x00, 0x00, 0x00, 0x00, 0x0B, 0xE7, 0x77, 0x88, 0x88, 0x88, 0x7C, 0x01, 0x38, 0x78, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0x87, 0xE7, 0xD3, 0x3B, 0x67, 0xE8, 0x88, 0x88, 0x88, 0x88, 0x76, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3E, 0x88, 0x88, 0x8E, 0x30, 0x00, 0x00, 0x00, 0x00, 0x0B, 0xE8, 0x87, 0x77, 0x88, 0x88, 0x87, + 0x61, 0x00, 0x00, 0x00, 0x5E, 0x88, 0x88, 0x88, 0x77, 0x6A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x87, 0x88, 0x87, 0x8C, 0x00, 0x00, 0x00, 0x37, 0x88, 0x88, 0x88, 0x75, 0x10, 0x00, + 0x00, 0x00, 0x00, 0xA8, 0x77, 0x56, 0x88, 0x88, 0x88, 0xE9, 0x16, 0xE7, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x76, 0x39, 0x00, 0x00, 0x02, 0x57, 0x88, 0x88, 0x88, 0x88, 0x78, 0x10, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x47, 0x88, 0x88, 0x87, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x16, 0x78, 0x78, 0x46, 0x78, 0x88, 0x87, 0x60, 0x00, 0x00, 0x0B, 0x78, 0x88, 0x88, 0x87, 0x83, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x0A, 0xE8, 0x88, 0x87, 0x50, 0x00, 0x00, 0x09, 0x77, 0x88, 0x88, 0x88, 0xE2, 0x00, 0x00, 0x00, 0x00, 0x0C, 0xE7, 0xE6, 0x0A, 0x78, 0x88, 0x87, 0x81, 0xAF, 0x78, 0x88, 0x88, 0x88, 0x88, + 0x88, 0x88, 0x88, 0xEA, 0x00, 0x00, 0x00, 0x00, 0x0B, 0x78, 0x88, 0x88, 0x88, 0x77, 0x90, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x67, 0x88, 0x88, 0x78, 0x10, 0x00, 0x00, 0x00, 0x01, 0x47, 0x88, 0x72, 0x04, 0xE8, 0x88, 0x87, + 0x61, 0x00, 0x00, 0xAE, 0x88, 0x88, 0x87, 0xE5, 0x90, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x16, 0x78, 0x88, 0x8E, 0xD0, 0x00, 0x00, 0x01, 0x67, 0x88, 0x88, 0x87, 0x50, 0x00, 0x00, + 0x00, 0x00, 0x15, 0x77, 0x69, 0x0B, 0xE8, 0x88, 0x87, 0x60, 0x94, 0x67, 0x88, 0x88, 0x87, 0x78, 0x88, 0x88, 0x8E, 0x79, 0x00, 0x00, 0x00, 0x00, 0x00, 0x57, 0x88, 0x88, 0x88, 0x76, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0C, + 0x78, 0x88, 0x88, 0x75, 0x00, 0x00, 0x00, 0x00, 0x03, 0xE8, 0x8E, 0x50, 0x04, 0xE8, 0x88, 0x87, 0x60, 0x00, 0x00, 0x67, 0x88, 0x88, 0x77, 0x31, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xBE, 0x88, 0x88, 0x77, 0xC0, 0x00, 0x00, 0x03, 0x78, 0x88, 0x88, 0x87, 0x20, 0x00, 0x00, 0x00, 0x00, 0xBE, 0x87, 0x20, 0x06, 0x78, 0x88, 0x87, 0x80, 0x00, 0x2E, 0x77, 0x88, 0x78, 0x68, + 0x88, 0x88, 0x76, 0xA0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x57, 0x88, 0x88, 0x88, 0x74, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0A, 0xE8, 0x88, 0x88, 0xE3, 0x00, 0x00, 0x00, 0x00, 0x18, 0x78, 0x77, 0xC0, 0x04, 0xE8, 0x88, 0x87, + 0xB0, 0x00, 0x0A, 0x78, 0x88, 0x87, 0x73, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x67, 0x88, 0x88, 0xED, 0x00, 0x00, 0x00, 0x97, 0x78, 0x88, 0x88, 0x76, 0x00, 0x00, 0x00, + 0x00, 0x02, 0x87, 0xEB, 0x00, 0x27, 0x88, 0x88, 0x87, 0xB0, 0x00, 0x1C, 0x28, 0xE7, 0x49, 0xC7, 0x88, 0x87, 0x50, 0x00, 0x00, 0x00, 0x00, 0x00, 0x09, 0x77, 0x88, 0x88, 0x88, 0xE2, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, + 0x78, 0x88, 0x88, 0x7C, 0x00, 0x00, 0x00, 0x00, 0xDE, 0x88, 0xEB, 0x00, 0x04, 0xE8, 0x88, 0x8E, 0x30, 0x00, 0x98, 0x78, 0x88, 0x78, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x0A, 0xE8, 0x88, 0x87, 0x61, 0x00, 0x00, 0x00, 0x3E, 0x88, 0x88, 0x88, 0x72, 0x00, 0x00, 0x00, 0x00, 0xA7, 0x77, 0x61, 0x00, 0xA7, 0x88, 0x88, 0x8E, 0xA0, 0x00, 0x00, 0x0C, 0x3C, 0x00, 0xD7, + 0x88, 0x87, 0xA0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0D, 0x78, 0x88, 0x88, 0x87, 0x61, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x17, 0x78, 0x88, 0x87, 0x81, 0x00, 0x00, 0x00, 0x09, 0x87, 0x87, 0x81, 0x00, 0x04, 0xE8, 0x88, 0x8E, + 0x30, 0x00, 0x3E, 0x88, 0x88, 0x73, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x78, 0x88, 0x8E, 0x20, 0x00, 0x00, 0x00, 0xA7, 0x88, 0x88, 0x87, 0x50, 0x00, 0x00, 0x00, + 0x01, 0x6E, 0x78, 0x90, 0x92, 0xD7, 0x88, 0x88, 0x8E, 0x30, 0x00, 0x00, 0x00, 0x00, 0x01, 0x87, 0x88, 0x78, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x27, 0x88, 0x88, 0x88, 0x7E, 0xA0, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2E, + 0x88, 0x88, 0x87, 0x50, 0x00, 0x00, 0x00, 0x04, 0x78, 0x8E, 0x30, 0x00, 0x04, 0xE8, 0x88, 0x8E, 0x30, 0x01, 0x67, 0x88, 0x8E, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x90, 0x00, 0x00, + 0x98, 0x78, 0x88, 0x75, 0x00, 0x00, 0x00, 0x01, 0x67, 0x88, 0x88, 0x8E, 0xA0, 0x00, 0x00, 0x00, 0x15, 0x78, 0x73, 0x0B, 0x77, 0x88, 0x88, 0x88, 0x87, 0x20, 0x00, 0x00, 0x00, 0x00, 0x02, 0x78, + 0x88, 0xE4, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x87, 0x88, 0x88, 0x87, 0x7B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xBE, 0x88, 0x88, 0x8E, 0xA0, 0x00, 0x00, 0x00, 0xBE, 0x88, 0x78, 0x10, 0x00, 0x04, 0x78, 0x88, 0x8E, + 0x30, 0x0C, 0xE8, 0x88, 0x78, 0x90, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1A, 0x72, 0xC9, 0x00, 0x3E, 0x88, 0x88, 0xE2, 0x00, 0x00, 0x00, 0x0A, 0xE8, 0x88, 0x88, 0x76, 0x10, 0x00, 0x00, 0x00, + 0xDE, 0x87, 0x8A, 0xD7, 0x78, 0x88, 0x88, 0x88, 0x78, 0x10, 0x00, 0x00, 0x00, 0x00, 0x16, 0x78, 0x88, 0x7A, 0x00, 0x00, 0xCC, 0x00, 0x00, 0x16, 0xE8, 0x88, 0x88, 0x8E, 0xD0, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x57, + 0x88, 0x88, 0x77, 0x90, 0x00, 0x00, 0x01, 0x87, 0x88, 0xE3, 0x00, 0x01, 0xA8, 0x78, 0x88, 0x8E, 0x30, 0x03, 0xE8, 0x88, 0xEB, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x4E, 0x78, 0xE3, 0x00, + 0x4E, 0x88, 0x87, 0x81, 0x00, 0x00, 0x00, 0x03, 0xE8, 0x88, 0x88, 0xEB, 0x00, 0x00, 0x00, 0x0C, 0x77, 0x88, 0x87, 0x78, 0x88, 0x88, 0x88, 0x88, 0x78, 0x10, 0x00, 0x00, 0x00, 0x00, 0x2E, 0x88, + 0x87, 0x20, 0x00, 0x00, 0x6F, 0xC0, 0x00, 0xBE, 0x88, 0x88, 0x87, 0x7D, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x87, 0x88, 0x88, 0x78, 0x10, 0x00, 0x00, 0x01, 0x87, 0x87, 0x89, 0x00, 0xB8, 0x77, 0x88, 0x88, 0x87, + 0xA0, 0x0B, 0xE8, 0x87, 0x81, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1A, 0x48, 0x78, 0x87, 0xE3, 0x00, 0x67, 0x88, 0x8E, 0xD0, 0x00, 0x00, 0x00, 0x16, 0x78, 0x88, 0x87, 0x81, 0x00, 0x00, 0x00, 0x16, + 0x78, 0x88, 0x88, 0x88, 0x87, 0x77, 0x88, 0x88, 0x78, 0x10, 0x00, 0x00, 0x00, 0x00, 0xBE, 0x88, 0x78, 0x10, 0x00, 0x00, 0x28, 0x8B, 0xDB, 0x87, 0x88, 0x88, 0x7E, 0xB0, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xE8, + 0x88, 0x88, 0xEB, 0x00, 0x00, 0x00, 0x14, 0x78, 0x87, 0xA9, 0xD5, 0xE7, 0x88, 0x88, 0x88, 0x87, 0xC0, 0x16, 0x78, 0x8E, 0xD0, 0x00, 0x00, 0x00, 0x00, 0x13, 0x8E, 0x77, 0x88, 0x88, 0x7C, 0x0B, + 0x78, 0x88, 0x78, 0x10, 0x00, 0x00, 0x00, 0x18, 0x78, 0x88, 0x8E, 0x40, 0x00, 0x00, 0x00, 0x3E, 0x88, 0x88, 0x88, 0x87, 0x77, 0x68, 0x88, 0x88, 0x78, 0x10, 0x00, 0x00, 0x00, 0x01, 0x67, 0x88, + 0x74, 0x00, 0x00, 0x00, 0x01, 0x6E, 0xE7, 0x78, 0x88, 0x7E, 0x62, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0D, 0x78, 0x88, 0x87, 0x89, 0x00, 0x00, 0x00, 0x2E, 0x88, 0x76, 0x95, 0xE7, 0x87, 0x77, 0x88, 0x88, 0x87, + 0xC0, 0x16, 0x78, 0x87, 0x20, 0x00, 0x00, 0x00, 0x0B, 0x87, 0x78, 0x88, 0x88, 0x87, 0x81, 0x18, 0x78, 0x88, 0x7C, 0x00, 0x00, 0x00, 0x00, 0x37, 0x88, 0x88, 0x77, 0xC0, 0x00, 0x00, 0x01, 0x87, + 0x88, 0x88, 0x87, 0xE7, 0xBC, 0x03, 0xE8, 0x88, 0x75, 0x00, 0x00, 0x00, 0x00, 0x0A, 0xE8, 0x88, 0x72, 0x00, 0x00, 0x02, 0x3A, 0x67, 0x88, 0x88, 0x87, 0x83, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x78, + 0x88, 0x87, 0x50, 0x00, 0x00, 0x00, 0xB7, 0x88, 0x88, 0x67, 0x87, 0xE8, 0x56, 0x78, 0x88, 0x87, 0xC0, 0x16, 0x78, 0x87, 0xC0, 0x00, 0x00, 0x01, 0xB7, 0xEE, 0xEE, 0x78, 0x88, 0x87, 0x50, 0x97, + 0x78, 0x87, 0x50, 0x00, 0x00, 0x00, 0x00, 0x5E, 0x88, 0x88, 0x75, 0x00, 0x00, 0x00, 0x14, 0x78, 0x88, 0x88, 0x78, 0x4C, 0x00, 0x03, 0xE8, 0x88, 0xE4, 0x00, 0x00, 0x00, 0x00, 0x04, 0xE8, 0x88, + 0x79, 0x00, 0x00, 0xAE, 0xEE, 0x88, 0x77, 0x88, 0x75, 0x90, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC7, 0x88, 0x88, 0x8E, 0xB0, 0x00, 0x00, 0x0C, 0x77, 0x88, 0x87, 0xEE, 0x76, 0xD9, 0x04, 0xE8, 0x88, 0x87, + 0xC0, 0x16, 0x78, 0x77, 0x90, 0x00, 0x00, 0x04, 0xF7, 0x53, 0xBA, 0xA8, 0x88, 0x8E, 0x40, 0x27, 0x88, 0x87, 0x20, 0x00, 0x00, 0x00, 0x01, 0x87, 0x88, 0x88, 0xE2, 0x00, 0x00, 0x02, 0x87, 0x88, + 0x87, 0xEE, 0x69, 0x00, 0x00, 0x03, 0xE8, 0x88, 0xE4, 0x00, 0x00, 0x00, 0x00, 0x18, 0x78, 0x87, 0x61, 0x09, 0xC1, 0x38, 0x78, 0x8D, 0x58, 0x78, 0x7D, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3E, 0x88, + 0x88, 0x78, 0x90, 0x00, 0x09, 0xA6, 0x78, 0x88, 0x78, 0x5B, 0xC0, 0x00, 0x03, 0xE8, 0x88, 0x87, 0xC0, 0x16, 0x78, 0x87, 0x90, 0x00, 0x00, 0xB7, 0xD9, 0x00, 0x00, 0x27, 0x88, 0x8E, 0xA0, 0x3E, + 0x88, 0x75, 0x00, 0x00, 0x00, 0x00, 0x0D, 0xE8, 0x88, 0x87, 0x81, 0x00, 0x01, 0xD7, 0x78, 0x88, 0x76, 0x4B, 0x10, 0x00, 0x00, 0x03, 0xE8, 0x88, 0xE4, 0x00, 0x00, 0x00, 0x00, 0xA7, 0x88, 0x8E, + 0xB0, 0x04, 0xE5, 0xAA, 0x6E, 0xE5, 0x09, 0x77, 0x87, 0xD1, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x67, 0x88, 0x88, 0x76, 0x10, 0x00, 0x5E, 0x77, 0x88, 0x7E, 0x59, 0x00, 0x00, 0x00, 0x0A, 0xE8, 0x88, 0x87, + 0xC0, 0x16, 0x78, 0x87, 0xC0, 0x00, 0x02, 0x41, 0x00, 0x00, 0x00, 0xBE, 0x88, 0x78, 0x10, 0x57, 0x88, 0xE3, 0x00, 0x00, 0x00, 0x00, 0xAE, 0x88, 0x88, 0x8E, 0xB0, 0x00, 0xC8, 0xE7, 0x88, 0x87, + 0x61, 0x00, 0x00, 0x00, 0x00, 0x03, 0xE8, 0x88, 0xE4, 0x00, 0x00, 0x00, 0x00, 0x4E, 0x88, 0x8E, 0x20, 0x05, 0xE7, 0xE8, 0x22, 0x6E, 0xB0, 0x28, 0x78, 0xE6, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0A, 0xE8, 0x88, + 0x88, 0xE4, 0x00, 0x00, 0x48, 0x88, 0x87, 0x8A, 0x00, 0x00, 0x00, 0x00, 0x0A, 0xE8, 0x88, 0x87, 0xC0, 0x16, 0x78, 0x87, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x67, 0x88, 0x74, 0x09, 0x77, + 0x87, 0x89, 0x00, 0x00, 0x00, 0x03, 0x87, 0x88, 0x88, 0x8E, 0x20, 0x14, 0x87, 0x88, 0x88, 0x78, 0x90, 0x00, 0x00, 0x00, 0x00, 0x03, 0xE8, 0x88, 0xED, 0x00, 0x00, 0x00, 0x00, 0x57, 0x88, 0x77, + 0x90, 0x0A, 0x47, 0x77, 0x5A, 0x14, 0xFB, 0x01, 0x4E, 0x77, 0xB0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0xE8, 0x88, 0x88, 0xEA, 0x00, 0x00, 0x03, 0x78, 0x8E, 0xB0, 0x00, 0x00, 0x00, 0x00, 0x0A, 0xE8, 0x88, 0x87, + 0xC0, 0x05, 0x78, 0x87, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x09, 0x87, 0x88, 0xE3, 0x0A, 0xE8, 0x8E, 0xB0, 0x00, 0x00, 0x00, 0xBE, 0x78, 0x88, 0x88, 0x78, 0x10, 0x04, 0xE8, 0x88, 0x87, 0x7A, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x78, 0x88, 0xE3, 0x00, 0x00, 0x00, 0x09, 0x77, 0x88, 0x78, 0x10, 0x00, 0x09, 0x94, 0xEE, 0xA0, 0xDE, 0x51, 0x09, 0x3E, 0xE3, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x98, 0x78, 0x88, + 0x87, 0x61, 0x00, 0x00, 0x16, 0x78, 0x78, 0x90, 0x00, 0x00, 0x00, 0x00, 0x0A, 0xE8, 0x88, 0x87, 0xC0, 0x0B, 0xE8, 0x8E, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0xE8, 0x88, 0x72, 0x05, 0x78, + 0x87, 0x90, 0x00, 0x00, 0x0B, 0xE7, 0x88, 0x88, 0x88, 0xED, 0x00, 0x95, 0xB8, 0x78, 0x8E, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0xE8, 0x88, 0xEA, 0x00, 0x00, 0x00, 0x0D, 0xE8, 0x88, 0x74, + 0x00, 0x28, 0xB0, 0x01, 0x6E, 0x7A, 0x0A, 0xE6, 0x90, 0x14, 0xE7, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xBE, 0x88, 0x88, 0x8E, 0x30, 0x00, 0x00, 0xAE, 0x88, 0xED, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0A, 0xE8, 0x88, 0x87, + 0xC0, 0x03, 0xE8, 0x87, 0x61, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0A, 0xE8, 0x88, 0x79, 0x06, 0x78, 0x76, 0x10, 0x00, 0x00, 0xBE, 0x78, 0x88, 0x88, 0x88, 0x72, 0x00, 0x11, 0x97, 0x78, 0x87, 0x20, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x0C, 0x78, 0x88, 0xEA, 0x00, 0x00, 0x00, 0x18, 0x78, 0x88, 0xEA, 0x00, 0x94, 0x75, 0x31, 0x26, 0xE7, 0x20, 0xBF, 0x61, 0x00, 0x4E, 0x89, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x67, 0x88, 0x88, + 0x75, 0x10, 0x00, 0x00, 0x57, 0x87, 0x79, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0A, 0xE8, 0x88, 0x87, 0xC0, 0x0C, 0x78, 0x88, 0xEB, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0xE8, 0x87, 0x61, 0x06, 0x78, + 0xEB, 0x00, 0x00, 0x0B, 0x77, 0x53, 0x88, 0x88, 0x87, 0x61, 0x00, 0x01, 0x87, 0x88, 0x75, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0xE8, 0x88, 0xEA, 0x00, 0x00, 0x00, 0x2E, 0x88, 0x88, 0x7C, + 0x00, 0x00, 0x9E, 0xE8, 0x21, 0xDE, 0xEA, 0x16, 0xE8, 0x20, 0x04, 0xE5, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0xE8, 0x88, 0x88, 0xE2, 0x00, 0x00, 0x0A, 0xE8, 0x87, 0xD0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0A, 0xE8, 0x88, 0x76, + 0x10, 0x00, 0x57, 0x88, 0x78, 0x20, 0x00, 0x00, 0x00, 0x00, 0x03, 0xE8, 0x87, 0x60, 0x06, 0x78, 0x72, 0x00, 0x01, 0x57, 0x76, 0x9D, 0x78, 0x88, 0x8E, 0x30, 0x00, 0x04, 0xE8, 0x88, 0x72, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0xE8, 0x88, 0xEA, 0x00, 0x00, 0x00, 0xAE, 0x88, 0x87, 0x60, 0x00, 0x00, 0x0B, 0x8E, 0xE4, 0x1B, 0xE7, 0xA9, 0x8E, 0x8A, 0x01, 0x5E, 0x51, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0xE8, 0x88, 0x87, + 0x81, 0x00, 0x00, 0x06, 0x78, 0x78, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0A, 0xE8, 0x88, 0x76, 0x00, 0x00, 0x2E, 0x88, 0x87, 0x8C, 0x00, 0x00, 0x00, 0x00, 0x01, 0x67, 0x87, 0x60, 0x06, 0x78, + 0x79, 0x00, 0x96, 0x77, 0x89, 0x18, 0x78, 0x88, 0x78, 0x90, 0x00, 0xAE, 0x88, 0x8E, 0x50, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0xE8, 0x87, 0x81, 0x00, 0x00, 0x00, 0xC7, 0x88, 0x8E, 0x40, + 0x00, 0x00, 0x00, 0x1B, 0x7E, 0x50, 0xDE, 0x72, 0x94, 0xEE, 0xD0, 0x18, 0xF8, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC8, 0x78, 0x88, 0x8E, 0xB0, 0x00, 0x00, 0x27, 0x88, 0xE4, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x09, 0x87, 0x88, 0x76, + 0x00, 0x00, 0x1D, 0x78, 0x88, 0x76, 0xC0, 0x00, 0x00, 0x00, 0x00, 0xD7, 0x87, 0x60, 0x06, 0x78, 0x7A, 0x13, 0x87, 0x78, 0x90, 0xC7, 0x88, 0x88, 0x78, 0x90, 0x0A, 0x87, 0x88, 0x77, 0xC0, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x58, 0x87, 0x81, 0x00, 0x00, 0x01, 0x57, 0x88, 0x8E, 0xD0, 0x00, 0x00, 0x00, 0x00, 0x3E, 0x7C, 0x16, 0xE7, 0xC0, 0x4F, 0x61, 0x01, 0xBE, 0x7B, 0x10, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x87, 0x88, 0x88, 0x77, + 0x90, 0x00, 0x01, 0x57, 0x88, 0x7C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x47, 0x88, 0x77, 0x90, 0x00, 0x00, 0x5E, 0x88, 0x87, 0x74, 0x10, 0x00, 0x00, 0x1D, 0x87, 0x87, 0x60, 0x04, 0x78, + 0x88, 0x87, 0x77, 0x89, 0x00, 0xC7, 0x88, 0x88, 0x87, 0x50, 0x18, 0x78, 0x88, 0xEB, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x27, 0x87, 0x81, 0x00, 0x00, 0x0B, 0xE8, 0x88, 0x87, 0x20, + 0x00, 0x00, 0x00, 0x00, 0x18, 0xED, 0x01, 0x6E, 0x89, 0x02, 0x68, 0xA0, 0x0A, 0x7E, 0x51, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0B, 0xE8, 0x88, 0x88, 0xED, 0x00, 0x00, 0x03, 0xE8, 0x87, 0x50, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x57, 0x88, 0x8E, + 0xC0, 0x00, 0x00, 0x98, 0x78, 0x88, 0x7E, 0x6B, 0x29, 0xCA, 0x5E, 0x78, 0x77, 0x60, 0x0A, 0xE8, 0x87, 0x78, 0x78, 0x20, 0x00, 0xC7, 0x88, 0x88, 0x88, 0x7D, 0xB7, 0x88, 0x87, 0x89, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x98, 0x77, 0x81, 0x00, 0x00, 0x16, 0x78, 0x88, 0x78, 0x10, 0x00, 0x00, 0x00, 0x00, 0x02, 0x77, 0x20, 0x95, 0xE6, 0x20, 0x14, 0xED, 0x00, 0x4E, 0xEB, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x98, 0x78, 0x88, 0x87, 0x61, + 0x00, 0x00, 0x98, 0x78, 0x8E, 0xA0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x87, 0x88, 0x87, 0xC0, 0x00, 0x00, 0x09, 0x6E, 0x78, 0x88, 0x7E, 0x77, 0x7E, 0x78, 0xAC, 0x8E, 0x60, 0x01, 0x8E, + 0xE7, 0xEE, 0x6C, 0x00, 0x00, 0xA7, 0x88, 0x88, 0x88, 0x87, 0x78, 0x88, 0x8E, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x77, 0x50, 0x00, 0x00, 0x2E, 0x88, 0x88, 0x76, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x27, 0xE9, 0x00, 0xBE, 0xE3, 0x2C, 0x27, 0xD0, 0x04, 0xEE, 0xB0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x57, 0x88, 0x88, 0x77, 0x20, 0x00, 0x00, 0xBE, 0x88, 0x76, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x67, 0x78, 0x77, + 0xC0, 0x00, 0x00, 0x00, 0x1B, 0x87, 0x78, 0x88, 0x88, 0x87, 0xEA, 0x00, 0xC6, 0x79, 0x00, 0xCB, 0x44, 0x4A, 0x10, 0x00, 0x00, 0x16, 0x78, 0x88, 0x77, 0x88, 0x88, 0x88, 0x76, 0x10, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x16, 0x7E, 0x40, 0x00, 0x00, 0xDE, 0x88, 0x88, 0xE4, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0C, 0x68, 0x90, 0x05, 0xE7, 0xAA, 0xA2, 0x76, 0x90, 0x38, 0xE6, + 0x90, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0xE8, 0x88, 0x88, 0xE4, 0x00, + 0x00, 0x01, 0x87, 0x88, 0xEB, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xBB, 0x67, 0x8E, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x14, 0xEE, 0xE7, 0x77, 0xEE, 0xD0, 0x00, 0x09, 0x72, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0xE7, 0x77, 0x78, 0x88, 0x88, 0x87, 0x7C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0xEE, 0x40, 0x00, 0x00, 0x57, 0x88, 0x88, 0xE3, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x16, 0xE2, 0x01, 0x4E, 0xE2, 0x9A, 0x2E, 0x81, 0x09, 0x6E, 0x8C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xA7, 0x78, 0x88, 0x8E, 0x61, 0x00, 0x00, 0x03, 0xE8, 0x87, 0x7C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0xA5, 0xC8, + 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x9A, 0xB5, 0x85, 0x3C, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x09, 0x48, 0x42, 0x93, 0x78, 0x88, 0x8E, 0x40, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0C, 0x6E, 0x30, 0x00, 0x01, 0x57, 0x88, 0x7A, 0x6A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0C, 0xE7, 0x30, 0x12, 0x6E, 0xD1, 0x92, 0x88, 0x20, 0x1D, + 0xE7, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x09, 0x87, 0x88, 0x88, 0x78, 0x20, 0x00, + 0x00, 0x18, 0x78, 0x8E, 0xB0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x24, 0x09, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x16, 0x78, 0x88, 0x77, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x8E, 0xA0, 0x00, 0x03, 0xE8, 0x87, 0x61, 0x91, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x27, 0xE3, 0x00, 0x1D, 0xED, 0x9A, 0x96, 0xE3, 0x00, 0x28, 0x73, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xA7, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x98, 0x78, 0x88, 0x87, 0x89, 0x00, 0x00, 0x00, 0x27, 0x77, 0x78, 0x90, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2D, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xBE, 0x88, 0x8E, 0xD9, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x5E, 0xA0, 0x00, 0x03, 0xE8, 0x8E, 0x32, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x87, 0xC0, 0x00, 0x3F, 0xBC, 0x3C, 0x7E, 0x49, + 0x01, 0x6F, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x17, 0x61, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x09, 0x87, 0x88, 0x88, 0x8E, 0xB0, 0x00, 0x00, + 0x01, 0x57, 0x8D, 0x85, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0C, 0x77, 0x88, 0x78, 0x90, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xAF, 0x30, 0x00, 0x15, 0x78, 0x77, 0x96, 0xB0, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2E, 0x50, 0x00, 0x0D, 0xE2, 0xCC, 0xA6, 0xE8, 0x90, 0x94, 0xE2, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x0A, 0xE8, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x28, 0x78, 0x88, 0x88, 0xED, 0x00, 0x00, 0x00, 0x03, 0xE7, 0x59, 0x8C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0D, 0xE8, 0x88, 0xEA, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x5E, 0x20, 0x00, 0xDE, 0x88, 0xE5, 0x18, 0x90, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xEB, 0x00, 0x01, 0xD8, 0x42, 0x01, 0x5E, + 0x89, 0x00, 0xB7, 0xA1, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xBE, 0xE6, 0xC0, 0x00, 0x00, 0x00, 0xCD, 0xE7, 0x88, 0x88, 0x8E, 0x51, 0x00, 0x00, 0x00, + 0x16, 0xE7, 0xC2, 0xD0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC7, 0x78, 0x87, 0x50, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xA5, 0x10, 0x01, 0x87, 0x87, 0x89, 0x94, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x28, 0x86, 0x20, 0x01, 0xD7, 0x5C, 0x15, 0xE8, 0x90, 0x02, 0xE5, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x0A, 0xEE, 0xE4, 0x11, 0x11, 0x25, 0xE7, 0x88, 0x88, 0x87, 0x7D, 0x10, 0x00, 0x00, 0x00, 0xAE, 0x66, 0x11, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x57, 0x87, 0x7E, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0D, 0x10, 0x0B, 0xE8, 0x7E, 0x40, 0x82, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xDE, 0xEC, 0x00, 0x0C, 0x7F, 0x30, + 0x3F, 0x89, 0x00, 0x98, 0x50, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x26, 0xEE, 0x88, 0x88, 0x77, 0x88, 0x88, 0x88, 0x7E, 0xB0, 0x00, 0x00, 0x00, 0x00, + 0xD7, 0xA3, 0x01, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x77, 0x78, 0x64, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0B, 0x10, 0x04, 0xE7, 0xD5, 0xA0, 0xC1, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xD8, 0x00, 0x00, 0x28, 0x7B, 0x12, 0x77, 0x90, 0x01, 0x68, 0x90, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x25, 0x7E, 0x77, 0x88, 0x88, 0x88, 0x7E, 0x62, 0x00, 0x00, 0x00, 0x00, 0x00, 0xBD, 0x11, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x97, 0xE4, 0x52, 0x91, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0xE8, 0x19, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x98, 0xB0, 0x00, 0x09, 0x8F, + 0x51, 0x1D, 0x73, 0x00, 0x04, 0x7C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x93, 0x6E, 0xEE, 0xEE, 0xEE, 0x8B, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x91, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, 0x71, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0xFD, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x56, 0x90, 0x00, 0x98, 0xE5, 0x10, 0x27, 0xD0, 0x00, 0xA8, 0x41, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x13, 0x44, 0x44, 0x4A, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0xA0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x8A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, 0x72, 0x00, 0x0C, + 0x5F, 0x41, 0x0C, 0x85, 0x10, 0x02, 0x76, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0A, 0x91, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x38, 0xA0, 0x00, 0x0B, 0xE8, 0x10, 0x14, 0x51, 0x00, 0x15, 0x51, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0C, 0x8D, 0x00, + 0x00, 0x25, 0x69, 0x00, 0xB4, 0x90, 0x01, 0x5B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x15, 0x89, 0x00, 0x00, 0x36, 0x10, 0x02, 0x51, 0x00, 0x00, 0xCD, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xBE, + 0xD1, 0x00, 0x0C, 0x59, 0x00, 0x9D, 0x20, 0x00, 0x14, 0xD9, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x75, 0x00, 0x00, 0x9D, 0x90, 0x01, 0xB2, 0x00, 0x00, 0xBF, 0xA0, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x96, 0x41, 0x00, 0x01, 0xBC, 0x00, 0x03, 0xC0, 0x00, 0x03, 0x62, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x48, 0xA0, 0x00, 0x13, 0x31, 0x00, 0x12, 0x90, 0x00, 0x1B, 0x21, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x02, 0x8D, 0x00, 0x00, 0x9D, 0xA1, 0x01, 0xA2, 0x00, 0x00, 0x04, 0xB0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x98, 0x51, 0x00, 0x01, 0x48, 0x90, 0x02, 0xA0, 0x00, 0x01, 0x55, 0x90, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x01, 0xDD, 0x10, 0x00, 0x0A, 0x8B, 0x00, 0x00, 0x99, 0x00, 0x02, 0xD3, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x5A, 0x00, 0x00, 0x98, 0x61, 0x00, 0x94, 0x30, 0x00, 0x02, 0x43, 0x10, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x94, 0xD1, 0x00, 0x01, 0xD5, 0x10, 0x01, 0xB5, 0xC0, 0x00, 0x12, 0x90, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xD5, 0x20, 0x00, 0x0B, 0x59, 0x00, 0x02, 0xDC, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x6B, 0x00, 0x00, 0xA6, 0xC0, 0x00, 0x0C, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1D, 0x41, 0x00, 0x01, 0xB1, 0x00, 0x00, 0x40, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x35, 0xC0, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x4A, 0x00, 0x00, 0xCD, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1D, 0xB0, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xA5, 0x90, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x5C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1D, 0x20, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x22, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF0, 0x11, 0xF0, 0x37, 0xF0, 0x4D, 0xF0, 0x6F, 0xF0, 0x7B, 0xF0, 0x85, 0xF0, 0x9C, + 0xF0, 0x94, 0xF0, 0x22, 0xF0, 0x43, 0xF0, 0x59, 0xF0, 0x2C, 0xF0, 0x64, 0xF0, 0xA4, 0xF0, 0xB2, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x22, 0x22, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x12, 0x00, 0x00, 0x21, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x22, 0x21, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x20, 0x20, 0x02, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x22, 0x20, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x20, 0x20, 0x12, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x12, 0x00, 0x00, 0x21, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x01, 0x22, 0x22, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x22, 0x22, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x12, 0x00, 0x00, 0x21, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x22, 0x21, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x20, 0x23, 0x02, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x22, 0x20, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x20, 0x20, 0x12, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x12, 0x00, 0x00, 0x21, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x01, 0x22, 0x22, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x22, 0x22, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x12, 0x00, 0x00, 0x21, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x23, 0x21, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x20, 0x33, 0x32, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x23, 0x20, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x20, 0x20, 0x12, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x12, 0x00, 0x00, 0x21, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x01, 0x22, 0x22, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x23, 0x22, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x12, 0x06, 0x00, 0x21, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x46, 0x41, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x35, 0x55, 0x53, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x46, 0x40, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x20, 0x26, 0x12, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x12, 0x03, 0x00, 0x21, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x01, 0x22, 0x22, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x26, 0x22, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x12, 0x46, 0x40, 0x21, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x24, 0x65, 0x64, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x33, 0x55, 0x57, 0x55, 0x33, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x24, 0x65, 0x64, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x20, 0x46, 0x42, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x12, 0x05, 0x00, 0x21, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x01, 0x25, 0x22, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x46, 0x49, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x84, 0x65, 0x64, 0x98, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46, 0x57, 0x56, 0x49, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x03, 0x55, 0x55, 0x73, 0x75, 0x55, 0x53, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46, 0x57, 0x56, 0x49, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x94, 0x65, 0x64, 0x09, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x89, 0x45, 0x40, 0x98, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x08, 0x95, 0x99, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3A, 0xB6, 0xBB, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x63, 0x07, 0x03, 0x6A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xB6, 0x43, 0x46, 0x0B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x35, 0x55, 0x57, 0x33, 0x37, 0x55, 0x55, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xB4, 0x53, 0x54, 0x0B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0xB3, 0x67, 0x63, 0x0B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x36, 0x05, 0x06, 0x3A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x0A, 0xB5, 0xBB, 0xA0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x03, 0x00, 0x03, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x31, 0x27, 0x22, 0x36, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x64, 0x03, 0x04, 0x61, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x23, 0x21, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x03, 0x55, 0x03, 0x73, 0x33, 0x33, 0x72, 0x55, 0x53, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x23, 0x20, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x45, 0x23, 0x15, 0x42, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x36, 0x07, 0x06, 0x31, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x03, 0x61, 0x25, 0x22, 0x13, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0x00, 0x00, 0x00, 0x00, 0x30, 0x00, 0x00, 0x00, 0x30, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x65, 0x00, 0x03, 0x00, 0x05, 0x60, 0x00, 0x00, 0x00, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x41, 0x27, 0x22, 0x46, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x12, 0x03, 0x00, 0x21, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x23, 0x21, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x35, 0x00, 0x33, 0x73, 0x30, 0x33, 0x77, 0x00, 0x55, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x23, 0x20, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x20, 0x23, 0x12, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x52, 0x07, 0x00, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x05, 0x61, 0x25, 0x22, 0x65, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0x00, 0x03, 0x00, 0x00, 0x30, 0x00, 0x00, 0x00, 0x30, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x50, 0x00, 0x03, 0x00, 0x00, 0x50, 0x00, 0x00, 0x00, 0x50, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x50, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x22, 0x22, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x12, 0x00, 0x00, 0x21, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x22, 0x21, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x05, 0x00, 0x03, 0x33, 0x20, 0x20, 0x02, 0x07, 0x30, 0x00, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x22, 0x20, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x20, 0x20, 0x12, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x12, 0x00, 0x00, 0x21, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x01, 0x25, 0x22, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x50, 0x00, 0x05, 0x00, 0x00, 0x50, 0x00, 0x00, 0x00, 0x50, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x05, 0x00, 0x00, 0x03, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x50, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, + 0x00, 0x00, 0x04, 0x00, 0x00, 0x03, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x22, 0x22, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x12, 0x00, 0x00, 0x21, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x22, 0x21, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x35, 0x00, 0x20, 0x20, 0x02, 0x02, 0x05, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x22, 0x20, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x20, 0x20, 0x12, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x12, 0x00, 0x00, 0x21, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x01, 0x22, 0x22, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x7F, 0x77, 0xBF, 0x78, 0xFF, 0x0F, 0x9F, 0x4A, 0xFF, 0x0F, 0xE7, 0x78, 0xFF, + 0xFE, 0xB7, 0xFE, 0xFF, 0xFF, 0x9F, 0xFE, 0xE7, 0x00, 0x00, 0x66, 0x04, 0x00, 0x00, 0x55, 0xF0, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFE, 0xFE, 0xFD, 0xFD, 0xFD, + 0xFD, 0xFD, 0xFC, 0xFC, 0xFC, 0xFC, 0xFD, 0xFD, 0xFC, 0xFC, 0xFC, 0xFD, 0xFD, 0xFD, 0xFE, 0xFE, 0xFE, 0xFF, 0xFF, 0xFF, 0x00, 0x01, 0x01, 0x02, 0x02, 0x03, 0x04, 0x04, 0x05, 0x06, 0x07, 0x07, + 0x07, 0x07, 0x08, 0x08, 0x08, 0x07, 0x07, 0x07, 0x07, 0x07, 0x08, 0x07, 0x06, 0x05, 0x05, 0x04, 0x04, 0x03, 0x02, 0x02, 0x01, 0x00, 0xFE, 0xFE, 0xFD, 0xFD, 0xFD, 0xFB, 0xFB, 0xFA, 0xF9, 0xF9, + 0xF8, 0xF7, 0xF7, 0xF6, 0xF6, 0xF6, 0xF6, 0xF6, 0xF5, 0xF6, 0xF6, 0xF6, 0xF6, 0xF6, 0xF6, 0xF6, 0xF7, 0xF7, 0xF8, 0xF8, 0xF9, 0xFA, 0xFA, 0xFC, 0xFC, 0xFD, 0xFD, 0xFE, 0xFE, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFE, 0xFE, 0xFF, 0xFF, 0xFE, 0xFE, 0xFD, 0xFC, 0xFD, 0xFD, 0xFD, 0xFD, 0xFC, 0xFD, 0xFD, 0xFD, 0xFE, 0xFF, 0xFF, 0xFF, 0xFE, 0xFF, 0xFE, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, + 0x02, 0x03, 0x03, 0x03, 0x03, 0x02, 0x01, 0x03, 0x03, 0x05, 0x06, 0x06, 0x06, 0x04, 0x05, 0x05, 0x05, 0x05, 0x04, 0x03, 0x03, 0x02, 0x00, 0x00, 0xFF, 0xFE, 0xFD, 0xFB, 0xFA, 0xFA, 0xF9, 0xF9, + 0xF8, 0xF8, 0xF8, 0xF7, 0xF6, 0xF6, 0xF7, 0xF8, 0xF7, 0xF8, 0xF7, 0xF8, 0xF8, 0xF9, 0xF9, 0xF9, 0xF9, 0xF9, 0xF8, 0xF9, 0xFA, 0xFA, 0xFB, 0xFB, 0xFC, 0xFE, 0xFE, 0xFF, 0xFF, 0x00, 0x00, 0x01, + 0x02, 0x03, 0x03, 0x03, 0x04, 0x05, 0x05, 0x06, 0x07, 0x09, 0x0A, 0x0A, 0x0A, 0x0B, 0x0A, 0x0A, 0x0B, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x09, 0x09, 0x07, 0x07, 0x07, 0x05, 0x06, 0x06, 0x05, + 0x05, 0x03, 0x03, 0x02, 0x00, 0x00, 0xFF, 0xFD, 0xFC, 0xFC, 0xFA, 0xFB, 0xFA, 0xF9, 0xF8, 0xF8, 0xF7, 0xF6, 0xF5, 0xF5, 0xF4, 0xF3, 0xF3, 0xF1, 0xF1, 0xF0, 0xEF, 0xF0, 0xEF, 0xEF, 0xF0, 0xEF, + 0xEF, 0xF0, 0xF1, 0xF3, 0xF4, 0xF7, 0xF8, 0xFA, 0xFB, 0xFE, 0x00, 0x02, 0x04, 0x07, 0x09, 0x0B, 0x0D, 0x10, 0x12, 0x12, 0x13, 0x15, 0x15, 0x16, 0x17, 0x16, 0x17, 0x17, 0x17, 0x17, 0x15, 0x16, + 0x15, 0x13, 0x13, 0x11, 0x10, 0x0F, 0x0D, 0x0C, 0x0A, 0x08, 0x07, 0x04, 0x04, 0x01, 0xFF, 0xFC, 0xF9, 0xF8, 0xF5, 0xF1, 0xF1, 0xF0, 0xED, 0xEA, 0xE8, 0xE6, 0xE6, 0xE5, 0xE4, 0xE3, 0xE2, 0xE2, + 0xE3, 0xE4, 0xE4, 0xE6, 0xE9, 0xEB, 0xEC, 0xEF, 0xF0, 0xF1, 0xF5, 0xF8, 0xF9, 0xFB, 0xFD, 0xFE, 0x01, 0x04, 0x06, 0x09, 0x0B, 0x0C, 0x0F, 0x12, 0x16, 0x19, 0x1D, 0x20, 0x22, 0x24, 0x26, 0x27, + 0x2A, 0x2B, 0x2C, 0x2D, 0x2B, 0x2B, 0x2A, 0x29, 0x26, 0x22, 0x20, 0x1B, 0x16, 0x12, 0x0F, 0x0C, 0x07, 0x03, 0xFF, 0xFA, 0xF7, 0xF6, 0xF3, 0xF0, 0xEE, 0xEC, 0xEA, 0xE8, 0xE6, 0xE5, 0xE5, 0xE6, + 0xE5, 0xE2, 0xE2, 0xE3, 0xE5, 0xE4, 0xE3, 0xE4, 0xE6, 0xE5, 0xE8, 0xE8, 0xE8, 0xEA, 0xEC, 0xED, 0xED, 0xED, 0xEF, 0xF3, 0xF5, 0xF8, 0xFA, 0xFC, 0xFE, 0x00, 0x01, 0xFF, 0x00, 0x04, 0x03, 0x00, + 0x02, 0x03, 0x06, 0x07, 0x06, 0x09, 0x07, 0x07, 0x08, 0x07, 0x06, 0x06, 0x05, 0x03, 0x02, 0xFF, 0x00, 0xFD, 0xFC, 0xFF, 0xFE, 0xFD, 0xFF, 0xFE, 0xFE, 0xFE, 0xFC, 0xFC, 0xFC, 0xFA, 0xF8, 0xF6, + 0xF4, 0xF3, 0xF3, 0xF2, 0xF0, 0xEF, 0xEF, 0xEE, 0xEE, 0xF0, 0xF0, 0xF0, 0xF3, 0xF1, 0xEF, 0xF1, 0xF0, 0xF1, 0xF3, 0xF3, 0xF3, 0xF2, 0xF2, 0xF4, 0xF7, 0xFC, 0xFF, 0x02, 0x04, 0x08, 0x09, 0x0A, + 0x0D, 0x0F, 0x0F, 0x10, 0x0E, 0x0F, 0x0E, 0x0E, 0x0F, 0x0D, 0x0F, 0x0F, 0x0D, 0x0F, 0x10, 0x14, 0x16, 0x13, 0x13, 0x15, 0x16, 0x17, 0x16, 0x13, 0x14, 0x15, 0x13, 0x12, 0x10, 0x0E, 0x0E, 0x0B, + 0x09, 0x08, 0x05, 0x03, 0x04, 0x00, 0x04, 0x02, 0x00, 0xFF, 0xFE, 0xFA, 0xF6, 0xF4, 0xF1, 0xEF, 0xEF, 0xEC, 0xEB, 0xEC, 0xEC, 0xED, 0xED, 0xEF, 0xEF, 0xEF, 0xF2, 0xF3, 0xF6, 0xF7, 0xF7, 0xF8, + 0xF9, 0xF9, 0xFA, 0xFE, 0x03, 0x05, 0x07, 0x07, 0x0A, 0x0D, 0x0E, 0x12, 0x13, 0x14, 0x15, 0x16, 0x18, 0x19, 0x19, 0x17, 0x17, 0x18, 0x15, 0x14, 0x13, 0x0E, 0x0C, 0x08, 0x05, 0x00, 0xFF, 0xFD, + 0xFC, 0xFA, 0xFA, 0xF8, 0xF4, 0xF4, 0xF2, 0xF0, 0xF0, 0xEF, 0xF1, 0xF3, 0xF3, 0xF5, 0xF0, 0xED, 0xEC, 0xEE, 0xF0, 0xF0, 0xF1, 0xF2, 0xF3, 0xF6, 0xF1, 0xF3, 0xF7, 0xF7, 0xF8, 0xF8, 0xF7, 0xFA, + 0xFB, 0xFA, 0xFA, 0xFA, 0xFD, 0xFD, 0xFF, 0x01, 0x00, 0x03, 0x08, 0x09, 0x0B, 0x0E, 0x0D, 0x11, 0x10, 0x11, 0x12, 0x12, 0x13, 0x14, 0x19, 0x1B, 0x1C, 0x20, 0x25, 0x25, 0x25, 0x24, 0x21, 0x21, + 0x1F, 0x22, 0x21, 0x22, 0x24, 0x1F, 0x1E, 0x1C, 0x1A, 0x19, 0x17, 0x16, 0x12, 0x10, 0x0E, 0x08, 0x03, 0xFE, 0xFC, 0xF7, 0xF1, 0xF0, 0xED, 0xEB, 0xE9, 0xE4, 0xE2, 0xDE, 0xDC, 0xDB, 0xD9, 0xD6, + 0xD8, 0xD9, 0xD9, 0xD7, 0xD6, 0xD5, 0xD5, 0xD1, 0xD2, 0xD4, 0xD7, 0xD9, 0xD7, 0xD3, 0xD0, 0xD3, 0xD3, 0xD5, 0xD6, 0xD9, 0xDD, 0xDD, 0xDB, 0xDA, 0xD9, 0xD9, 0xD6, 0xD3, 0xCE, 0xCD, 0xCF, 0xCE, + 0xCF, 0xCB, 0xC5, 0xC5, 0xC4, 0xC6, 0xCE, 0xD9, 0xE5, 0xED, 0xFA, 0x05, 0x15, 0x23, 0x30, 0x3D, 0x46, 0x50, 0x61, 0x66, 0x67, 0x66, 0x5E, 0x5D, 0x5A, 0x5C, 0x5C, 0x53, 0x55, 0x5C, 0x61, 0x60, + 0x58, 0x4F, 0x4F, 0x52, 0x4F, 0x44, 0x3C, 0x33, 0x30, 0x2F, 0x26, 0x1F, 0x13, 0x0D, 0x0D, 0x01, 0xF2, 0xE8, 0xD6, 0xCC, 0xBF, 0xB2, 0xA7, 0xA1, 0x9F, 0x9A, 0x9A, 0x94, 0x96, 0xA2, 0xA4, 0xA4, + 0xA6, 0xAC, 0xB9, 0xCB, 0xD4, 0xD8, 0xDF, 0xEA, 0xFD, 0x03, 0x09, 0x11, 0x12, 0x19, 0x25, 0x22, 0x23, 0x25, 0x29, 0x2E, 0x30, 0x31, 0x38, 0x3D, 0x42, 0x49, 0x52, 0x5A, 0x5E, 0x62, 0x68, 0x6A, + 0x68, 0x69, 0x60, 0x53, 0x4E, 0x4D, 0x46, 0x39, 0x2C, 0x1E, 0x10, 0x04, 0xF8, 0xEE, 0xE2, 0xD8, 0xD4, 0xD1, 0xCE, 0xD4, 0xD6, 0xDA, 0xE3, 0xE5, 0xE7, 0xE9, 0xE9, 0xEE, 0xF2, 0xEE, 0xF1, 0xED, + 0xE9, 0xE8, 0xE5, 0xEA, 0xE8, 0xE8, 0xEC, 0xEC, 0xEC, 0xEF, 0xEE, 0xEF, 0xED, 0xED, 0xF2, 0xF0, 0xF2, 0xF8, 0xF8, 0xFA, 0xFC, 0xF8, 0xFA, 0xFB, 0xFE, 0xFD, 0xF4, 0xF0, 0xEE, 0xE9, 0xE4, 0xDF, + 0xD9, 0xD9, 0xD8, 0xD9, 0xDC, 0xD7, 0xD9, 0xDF, 0xDC, 0xE2, 0xE5, 0xE6, 0xF1, 0xF0, 0xF5, 0xFF, 0x04, 0x03, 0x0A, 0x0D, 0x0D, 0x11, 0x0E, 0x0C, 0x08, 0x01, 0xFE, 0xF8, 0xF3, 0xF4, 0xF3, 0xF5, + 0xF7, 0xFC, 0xFF, 0x02, 0x04, 0x06, 0x0B, 0x0C, 0x0B, 0x0D, 0x10, 0x10, 0x10, 0x09, 0x07, 0x02, 0xFE, 0xFA, 0xF3, 0xEE, 0xED, 0xE4, 0xDD, 0xDD, 0xDC, 0xD8, 0xD8, 0xDC, 0xDE, 0xE2, 0xE6, 0xEB, + 0xF3, 0xF8, 0xFD, 0xFE, 0xFE, 0xFE, 0xFD, 0xFA, 0xFA, 0xFF, 0xFF, 0xFD, 0xFB, 0xFD, 0x02, 0x03, 0x02, 0x0A, 0x0F, 0x0C, 0x0F, 0x0E, 0x0E, 0x12, 0x14, 0x17, 0x18, 0x1A, 0x1E, 0x1C, 0x1B, 0x1C, + 0x16, 0x16, 0x11, 0x0C, 0x03, 0xF6, 0xF1, 0xEA, 0xE6, 0xDF, 0xDF, 0xDD, 0xDD, 0xDE, 0xE1, 0xE4, 0xE7, 0xEA, 0xEB, 0xEC, 0xF3, 0xF9, 0xF9, 0x00, 0x06, 0x0E, 0x10, 0x13, 0x16, 0x1B, 0x1C, 0x1F, + 0x1F, 0x1D, 0x1F, 0x1C, 0x1E, 0x1E, 0x1A, 0x18, 0x1C, 0x1C, 0x1F, 0x20, 0x1F, 0x1E, 0x1E, 0x21, 0x1D, 0x14, 0x0F, 0x0D, 0x06, 0xFD, 0xF6, 0xF1, 0xEC, 0xE8, 0xE1, 0xD9, 0xD4, 0xD1, 0xCB, 0xC8, + 0xC7, 0xC9, 0xCC, 0xCC, 0xD1, 0xD4, 0xDC, 0xE7, 0xF0, 0xF9, 0xFF, 0x06, 0x11, 0x14, 0x14, 0x15, 0x17, 0x18, 0x16, 0x19, 0x17, 0x1B, 0x1E, 0x22, 0x24, 0x26, 0x26, 0x29, 0x2E, 0x2E, 0x2F, 0x2D, + 0x2F, 0x2F, 0x32, 0x32, 0x32, 0x33, 0x32, 0x31, 0x28, 0x21, 0x1D, 0x13, 0x07, 0x00, 0xF7, 0xEF, 0xE9, 0xDF, 0xE0, 0xDE, 0xDA, 0xD7, 0xD7, 0xD9, 0xDB, 0xDD, 0xDE, 0xDC, 0xDB, 0xDC, 0xD7, 0xD7, + 0xD6, 0xD6, 0xD9, 0xD9, 0xDA, 0xDD, 0xDB, 0xD9, 0xDB, 0xDA, 0xD7, 0xDC, 0xE2, 0xE5, 0xEF, 0xF7, 0xFA, 0x08, 0x13, 0x21, 0x2D, 0x3A, 0x44, 0x48, 0x4E, 0x56, 0x58, 0x59, 0x57, 0x55, 0x56, 0x52, + 0x4D, 0x49, 0x41, 0x3C, 0x38, 0x2A, 0x25, 0x1F, 0x16, 0x13, 0x0B, 0x04, 0xFE, 0xFA, 0xF3, 0xF4, 0xF6, 0xF2, 0xF1, 0xF3, 0xEE, 0xEB, 0xE8, 0xE4, 0xE6, 0xE3, 0xE3, 0xE4, 0xE7, 0xEE, 0xEE, 0xF2, + 0xF4, 0xF5, 0xF5, 0xFB, 0xFC, 0xFB, 0x00, 0x03, 0x05, 0x0B, 0x11, 0x13, 0x18, 0x1A, 0x1D, 0x1E, 0x1E, 0x18, 0x14, 0x12, 0x0B, 0x05, 0xFF, 0xFC, 0xF8, 0xF4, 0xEF, 0xF1, 0xF0, 0xF4, 0xF4, 0xF2, + 0xF3, 0xF1, 0xF1, 0xF2, 0xEF, 0xE9, 0xEA, 0xE8, 0xE6, 0xE6, 0xE2, 0xDD, 0xDC, 0xDB, 0xDD, 0xDC, 0xD7, 0xD6, 0xD2, 0xD0, 0xD0, 0xCE, 0xCD, 0xCD, 0xCF, 0xD2, 0xD6, 0xDB, 0xDA, 0xDB, 0xDC, 0xD9, + 0xD9, 0xDC, 0xDE, 0xDC, 0xDD, 0xDF, 0xDC, 0xDF, 0xDD, 0xE1, 0xE6, 0xE8, 0xEB, 0xEB, 0xEB, 0xEF, 0xF1, 0xFB, 0x04, 0x0A, 0x10, 0x15, 0x1A, 0x1C, 0x1B, 0x1F, 0x1E, 0x1A, 0x1C, 0x17, 0x12, 0x13, + 0x11, 0x11, 0x13, 0x11, 0x10, 0x15, 0x17, 0x1C, 0x1C, 0x1A, 0x1B, 0x16, 0x17, 0x14, 0x11, 0x0E, 0x0C, 0x0B, 0x09, 0x09, 0x04, 0xFF, 0xFE, 0xFC, 0xF5, 0xF2, 0xEF, 0xED, 0xEA, 0xE8, 0xE1, 0xDD, + 0xD7, 0xD5, 0xD5, 0xD8, 0xDC, 0xDB, 0xDE, 0xE3, 0xE3, 0xE7, 0xEC, 0xF1, 0xFA, 0xFD, 0x02, 0x09, 0x0C, 0x0E, 0x10, 0x13, 0x18, 0x1B, 0x1C, 0x1C, 0x1B, 0x1A, 0x1E, 0x1E, 0x20, 0x26, 0x27, 0x2C, + 0x33, 0x31, 0x30, 0x33, 0x35, 0x34, 0x2F, 0x2D, 0x26, 0x28, 0x28, 0x1C, 0x1A, 0x11, 0x0E, 0x0A, 0x00, 0xFB, 0xF5, 0xED, 0xE3, 0xE1, 0xDF, 0xDB, 0xDA, 0xDE, 0xE2, 0xE7, 0xE9, 0xEE, 0xF2, 0xF8, + 0xFC, 0xFC, 0xFC, 0xFD, 0xFB, 0xF6, 0xF5, 0xF5, 0xF8, 0xFC, 0xFF, 0x03, 0x09, 0x10, 0x17, 0x23, 0x27, 0x2A, 0x30, 0x2F, 0x2D, 0x2C, 0x2D, 0x28, 0x20, 0x1D, 0x1D, 0x12, 0x10, 0x14, 0x12, 0x15, + 0x16, 0x11, 0x17, 0x19, 0x19, 0x1C, 0x22, 0x24, 0x25, 0x22, 0x23, 0x24, 0x20, 0x1B, 0x1A, 0x18, 0x18, 0x16, 0x12, 0x12, 0x14, 0x15, 0x18, 0x1B, 0x1F, 0x22, 0x23, 0x28, 0x25, 0x25, 0x20, 0x20, + 0x1D, 0x18, 0x17, 0x14, 0x0F, 0x0B, 0x05, 0x04, 0x00, 0xFC, 0xFC, 0xFD, 0xFB, 0xF8, 0xF3, 0xF1, 0xE9, 0xE6, 0xE4, 0xDF, 0xDC, 0xDC, 0xDA, 0xD2, 0xCD, 0xD0, 0xD1, 0xCD, 0xCA, 0xC4, 0xC5, 0xC2, + 0xC1, 0xC0, 0xBD, 0xBD, 0xBF, 0xC1, 0xC0, 0xC2, 0xC3, 0xC4, 0xC3, 0xC8, 0xCA, 0xCF, 0xD4, 0xDD, 0xE5, 0xEB, 0xF2, 0xF9, 0x01, 0x0A, 0x14, 0x1E, 0x23, 0x24, 0x2B, 0x2B, 0x2B, 0x2D, 0x2D, 0x2A, + 0x25, 0x20, 0x17, 0x0F, 0x0E, 0x0B, 0x09, 0x01, 0xFA, 0xF5, 0xEB, 0xE3, 0xDD, 0xD4, 0xC6, 0xB8, 0xAD, 0xA6, 0x9A, 0x96, 0x9A, 0x99, 0x9A, 0x9A, 0x98, 0x9A, 0x9F, 0xA0, 0xAA, 0xB5, 0xB9, 0xC9, + 0xD8, 0xDA, 0xE1, 0xEA, 0xF1, 0xFB, 0x0A, 0x15, 0x1D, 0x25, 0x26, 0x2B, 0x34, 0x39, 0x40, 0x43, 0x40, 0x3B, 0x3A, 0x36, 0x38, 0x40, 0x42, 0x42, 0x3E, 0x3B, 0x38, 0x39, 0x35, 0x34, 0x28, 0x20, + 0x1A, 0x13, 0x10, 0x07, 0x0D, 0x10, 0x12, 0x10, 0x11, 0x12, 0x14, 0x18, 0x21, 0x22, 0x1D, 0x1F, 0x24, 0x27, 0x27, 0x26, 0x23, 0x1D, 0x1D, 0x16, 0x12, 0x0F, 0x0C, 0x15, 0x18, 0x15, 0x16, 0x15, + 0x16, 0x18, 0x18, 0x15, 0x14, 0x16, 0x19, 0x1A, 0x16, 0x15, 0x14, 0x15, 0x16, 0x18, 0x13, 0x0E, 0x0A, 0x0A, 0x0B, 0x0B, 0x0A, 0x0B, 0x06, 0xFF, 0xFA, 0xF9, 0xF9, 0xF7, 0xF8, 0xF7, 0xF9, 0xFF, + 0x04, 0x09, 0x0D, 0x16, 0x1D, 0x22, 0x24, 0x2A, 0x2F, 0x33, 0x39, 0x36, 0x37, 0x34, 0x2A, 0x29, 0x29, 0x28, 0x22, 0x1D, 0x1F, 0x19, 0x0C, 0x08, 0x08, 0x0A, 0x06, 0xF8, 0xF7, 0xF6, 0xEE, 0xE6, + 0xDA, 0xD0, 0xCA, 0xC2, 0xB8, 0xB0, 0xA8, 0xA3, 0x9F, 0x97, 0x95, 0x96, 0x92, 0x94, 0x91, 0x92, 0x99, 0xA2, 0xAC, 0xB8, 0xC3, 0xCD, 0xDC, 0xE6, 0xEB, 0xF3, 0xFC, 0xFD, 0x01, 0x05, 0x07, 0x0A, + 0x08, 0x08, 0x0C, 0x0A, 0x0A, 0x0C, 0x0E, 0x0C, 0x10, 0x18, 0x19, 0x19, 0x1C, 0x21, 0x1F, 0x1C, 0x1B, 0x1A, 0x1D, 0x19, 0x1B, 0x20, 0x1B, 0x1B, 0x17, 0x10, 0x0C, 0x08, 0x00, 0xFB, 0xF4, 0xEF, + 0xEB, 0xEB, 0xEA, 0xEA, 0xE7, 0xE5, 0xEA, 0xF0, 0xF3, 0xF6, 0xFD, 0x01, 0x06, 0x0A, 0x0B, 0x0E, 0x13, 0x19, 0x15, 0x0C, 0x05, 0x01, 0xFC, 0xF4, 0xEB, 0xE5, 0xDD, 0xD8, 0xD6, 0xD3, 0xD1, 0xCE, + 0xD1, 0xD4, 0xD7, 0xD6, 0xD5, 0xD8, 0xDC, 0xDF, 0xE1, 0xE4, 0xE8, 0xED, 0xED, 0xEE, 0xF2, 0xF4, 0xF6, 0xFD, 0xFD, 0x00, 0x03, 0x03, 0x09, 0x0E, 0x13, 0x1A, 0x22, 0x29, 0x2E, 0x32, 0x3A, 0x42, + 0x49, 0x4D, 0x4D, 0x4B, 0x4A, 0x48, 0x46, 0x43, 0x40, 0x3A, 0x2F, 0x2A, 0x28, 0x28, 0x23, 0x1B, 0x1A, 0x1C, 0x14, 0x0C, 0x06, 0x01, 0xFE, 0xFC, 0xF5, 0xF5, 0xF0, 0xE9, 0xE8, 0xDE, 0xDC, 0xDB, + 0xD7, 0xD2, 0xCE, 0xCA, 0xC9, 0xC5, 0xBE, 0xBD, 0xBC, 0xB7, 0xB5, 0xB2, 0xB0, 0xB7, 0xBF, 0xC4, 0xC7, 0xCB, 0xD3, 0xDD, 0xE3, 0xEB, 0xF6, 0xFD, 0x03, 0x0B, 0x11, 0x13, 0x1D, 0x23, 0x23, 0x28, + 0x2B, 0x2F, 0x33, 0x36, 0x39, 0x3C, 0x3A, 0x3C, 0x3F, 0x3C, 0x36, 0x30, 0x31, 0x2D, 0x27, 0x25, 0x1F, 0x18, 0x16, 0x0D, 0x07, 0x01, 0xF8, 0xF0, 0xE8, 0xE2, 0xE0, 0xDE, 0xD7, 0xD3, 0xD2, 0xCE, + 0xCE, 0xCC, 0xD0, 0xD5, 0xDA, 0xDE, 0xE7, 0xEC, 0xF2, 0xF7, 0xF6, 0xF6, 0xF8, 0xF7, 0xF6, 0xF7, 0xF2, 0xF1, 0xF4, 0xF6, 0xF8, 0xF6, 0xF3, 0xF6, 0xF8, 0xF8, 0x01, 0x05, 0x09, 0x0A, 0x09, 0x09, + 0x0C, 0x0D, 0x0D, 0x10, 0x10, 0x11, 0x14, 0x16, 0x16, 0x16, 0x18, 0x1D, 0x1D, 0x18, 0x13, 0x10, 0x0F, 0x0E, 0x0B, 0x08, 0x06, 0x06, 0x05, 0x06, 0x07, 0x08, 0x07, 0x04, 0x03, 0x01, 0xFE, 0xFB, + 0xFA, 0xF6, 0xF5, 0xF3, 0xED, 0xEC, 0xEA, 0xE8, 0xE6, 0xEA, 0xEE, 0xF0, 0xED, 0xEB, 0xEC, 0xEE, 0xF4, 0xFA, 0xFC, 0xFC, 0xFB, 0xF7, 0xFC, 0xFF, 0xFF, 0x06, 0x07, 0x01, 0xFD, 0xF9, 0xF9, 0x00, + 0x02, 0xFC, 0xFF, 0xFC, 0xF9, 0xF8, 0xF0, 0xF5, 0xFE, 0xFF, 0xFE, 0xFE, 0x04, 0x07, 0x09, 0x0E, 0x17, 0x1B, 0x1B, 0x1B, 0x20, 0x29, 0x2D, 0x2B, 0x29, 0x25, 0x1D, 0x1C, 0x1C, 0x1B, 0x1B, 0x1A, + 0x19, 0x19, 0x17, 0x14, 0x12, 0x10, 0x15, 0x17, 0x16, 0x12, 0x0B, 0x04, 0x05, 0x09, 0x08, 0x07, 0x06, 0xFF, 0xFE, 0xFF, 0xFE, 0x00, 0x04, 0x07, 0x08, 0x0C, 0x0A, 0x0B, 0x0D, 0x11, 0x17, 0x1C, + 0x1E, 0x1E, 0x1D, 0x1A, 0x18, 0x16, 0x17, 0x12, 0x0E, 0x0C, 0x08, 0x0A, 0x0C, 0x09, 0x08, 0x00, 0xFE, 0xFF, 0xF9, 0xFA, 0xFD, 0x00, 0x02, 0x05, 0x06, 0x01, 0x05, 0x07, 0x06, 0x02, 0xFE, 0x00, + 0x04, 0x01, 0xFB, 0xF8, 0xF6, 0xF3, 0xEF, 0xE8, 0xE3, 0xDE, 0xDA, 0xDA, 0xDB, 0xDA, 0xD4, 0xD5, 0xD7, 0xDA, 0xDD, 0xE0, 0xE7, 0xF3, 0xFC, 0x03, 0x0D, 0x14, 0x17, 0x1A, 0x1E, 0x1B, 0x1B, 0x15, + 0x07, 0x04, 0x00, 0xF8, 0xF2, 0xEC, 0xE7, 0xE2, 0xD9, 0xD8, 0xDA, 0xD9, 0xD9, 0xD9, 0xD8, 0xDB, 0xDC, 0xDB, 0xDD, 0xDE, 0xDA, 0xD8, 0xD8, 0xD7, 0xD7, 0xD2, 0xC8, 0xC9, 0xC7, 0xC4, 0xC3, 0xC6, + 0xC2, 0xC2, 0xC2, 0xC2, 0xC9, 0xCF, 0xD7, 0xDD, 0xDF, 0xE9, 0xEE, 0xEE, 0xF3, 0xFE, 0x04, 0x09, 0x03, 0xFC, 0xFE, 0x04, 0x0A, 0x0D, 0x13, 0x1E, 0x24, 0x29, 0x2B, 0x2A, 0x30, 0x31, 0x2B, 0x29, + 0x26, 0x29, 0x2F, 0x2E, 0x2C, 0x2E, 0x2D, 0x27, 0x22, 0x1A, 0x1B, 0x21, 0x21, 0x19, 0x0F, 0x05, 0xF8, 0xE9, 0xE2, 0xDC, 0xD3, 0xD0, 0xCF, 0xD1, 0xCF, 0xD0, 0xDD, 0xEA, 0xF3, 0xFA, 0x00, 0x04, + 0x04, 0x03, 0x07, 0x08, 0x08, 0x07, 0xFF, 0xF9, 0xF7, 0xF2, 0xF5, 0xF1, 0xF2, 0xF3, 0xF1, 0xEE, 0xF1, 0xF6, 0xFF, 0x0B, 0x18, 0x21, 0x26, 0x2E, 0x35, 0x3F, 0x4A, 0x49, 0x47, 0x43, 0x3F, 0x40, + 0x46, 0x50, 0x50, 0x51, 0x4D, 0x41, 0x3A, 0x3D, 0x46, 0x52, 0x5C, 0x60, 0x61, 0x57, 0x55, 0x57, 0x4F, 0x4A, 0x48, 0x45, 0x3B, 0x30, 0x29, 0x28, 0x30, 0x2A, 0x1F, 0x10, 0x03, 0xF8, 0xEB, 0xE3, + 0xDA, 0xD3, 0xC8, 0xBE, 0xB9, 0xB7, 0xBC, 0xBB, 0xB5, 0xB4, 0xB6, 0xBE, 0xC7, 0xCA, 0xD3, 0xDA, 0xE1, 0xDE, 0xDE, 0xDC, 0xD9, 0xDE, 0xE4, 0xE9, 0xE8, 0xEC, 0xF1, 0xFC, 0x0A, 0x15, 0x1C, 0x24, + 0x2E, 0x37, 0x3F, 0x43, 0x49, 0x49, 0x4E, 0x4A, 0x45, 0x44, 0x3F, 0x3A, 0x2D, 0x26, 0x19, 0x14, 0x10, 0x06, 0x01, 0xF6, 0xEF, 0xE8, 0xE8, 0xE4, 0xE9, 0xE8, 0xE5, 0xDF, 0xE1, 0xDE, 0xD9, 0xDA, + 0xD7, 0xDA, 0xD8, 0xD1, 0xCA, 0xC8, 0xC9, 0xCC, 0xCF, 0xCA, 0xC3, 0xC4, 0xC5, 0xC8, 0xD1, 0xD7, 0xD9, 0xDC, 0xDB, 0xDF, 0xE7, 0xED, 0xF6, 0xFE, 0x04, 0x0C, 0x11, 0x0E, 0x0C, 0x10, 0x13, 0x13, + 0x11, 0x09, 0x08, 0x08, 0x04, 0x02, 0xFF, 0xFD, 0xF9, 0xF6, 0xEC, 0xE4, 0xDE, 0xD6, 0xD4, 0xD4, 0xCF, 0xCF, 0xCE, 0xD0, 0xD1, 0xD0, 0xD5, 0xDB, 0xE6, 0xED, 0xF3, 0xFB, 0x00, 0x05, 0x07, 0x0C, + 0x12, 0x14, 0x15, 0x1B, 0x20, 0x28, 0x2F, 0x31, 0x32, 0x35, 0x38, 0x3F, 0x45, 0x46, 0x49, 0x49, 0x47, 0x42, 0x42, 0x3C, 0x36, 0x2F, 0x27, 0x24, 0x1E, 0x17, 0x11, 0x0C, 0x09, 0x04, 0xFE, 0xFA, + 0xF5, 0xEE, 0xE8, 0xDE, 0xD5, 0xD3, 0xCC, 0xC6, 0xC2, 0xBD, 0xC0, 0xBE, 0xBF, 0xC0, 0xC2, 0xC3, 0xC5, 0xC7, 0xC9, 0xCA, 0xCD, 0xD2, 0xD5, 0xD4, 0xD3, 0xD2, 0xD9, 0xE0, 0xEA, 0xF4, 0xFF, 0x07, + 0x0E, 0x14, 0x19, 0x1D, 0x25, 0x2A, 0x2B, 0x2A, 0x27, 0x27, 0x25, 0x22, 0x22, 0x20, 0x21, 0x22, 0x1D, 0x17, 0x10, 0x0B, 0x0A, 0x0C, 0x06, 0xFD, 0xF9, 0xF3, 0xF1, 0xEE, 0xEB, 0xEB, 0xE6, 0xE1, + 0xE1, 0xE0, 0xE0, 0xE5, 0xE9, 0xEB, 0xE9, 0xE7, 0xE7, 0xE9, 0xEF, 0xF2, 0xF6, 0xF4, 0xF2, 0xF3, 0xF4, 0xF6, 0xFE, 0x05, 0x07, 0x07, 0x0A, 0x0C, 0x0D, 0x0C, 0x0D, 0x0E, 0x0D, 0x0B, 0x0B, 0x07, + 0x07, 0x07, 0x01, 0xFD, 0xF3, 0xEB, 0xE8, 0xE4, 0xDF, 0xE0, 0xE1, 0xE1, 0xE5, 0xE8, 0xE9, 0xE7, 0xE7, 0xEA, 0xEB, 0xEF, 0xF1, 0xF3, 0xF8, 0xFA, 0xF8, 0xF6, 0xFB, 0x01, 0x05, 0x09, 0x0B, 0x0F, + 0x1A, 0x24, 0x31, 0x3F, 0x47, 0x49, 0x4C, 0x4B, 0x4A, 0x4E, 0x51, 0x56, 0x5A, 0x5C, 0x5A, 0x56, 0x56, 0x52, 0x4F, 0x49, 0x3C, 0x30, 0x24, 0x18, 0x0C, 0xFE, 0xF3, 0xE6, 0xDA, 0xD3, 0xCE, 0xC8, + 0xC5, 0xC3, 0xC0, 0xC3, 0xC4, 0xC3, 0xC8, 0xCC, 0xCF, 0xCF, 0xD1, 0xD4, 0xD8, 0xD7, 0xD8, 0xDC, 0xDC, 0xDC, 0xE0, 0xE1, 0xE4, 0xEA, 0xE8, 0xEA, 0xED, 0xF2, 0xF7, 0xFD, 0x03, 0x0B, 0x17, 0x1E, + 0x22, 0x27, 0x2C, 0x35, 0x38, 0x3B, 0x3F, 0x3E, 0x3A, 0x3A, 0x35, 0x33, 0x31, 0x2B, 0x25, 0x1D, 0x15, 0x12, 0x0E, 0x0A, 0x0A, 0x07, 0x0B, 0x0B, 0x08, 0x07, 0x07, 0x03, 0xFF, 0xF8, 0xF1, 0xEE, + 0xE3, 0xE0, 0xDF, 0xDD, 0xDD, 0xDD, 0xE1, 0xE4, 0xE6, 0xE9, 0xE9, 0xEA, 0xF0, 0xF8, 0xFA, 0xFB, 0xFB, 0xF8, 0xF6, 0xF3, 0xF2, 0xF7, 0xFD, 0x00, 0x00, 0xFE, 0x01, 0x06, 0x08, 0x05, 0x06, 0x02, + 0xFC, 0xF8, 0xF5, 0xF6, 0xF5, 0xEE, 0xEB, 0xF0, 0xF1, 0xF5, 0xF9, 0x00, 0x05, 0x0D, 0x0F, 0x0A, 0x09, 0x07, 0x05, 0x02, 0xF8, 0xF2, 0xEE, 0xE4, 0xDE, 0xDF, 0xD9, 0xD8, 0xDA, 0xDB, 0xD7, 0xDA, + 0xDB, 0xDD, 0xE1, 0xE2, 0xE2, 0xE0, 0xDF, 0xE2, 0xE1, 0xDB, 0xD9, 0xDC, 0xDE, 0xE3, 0xE3, 0xDE, 0xE0, 0xE0, 0xDC, 0xDD, 0xE2, 0xE2, 0xE5, 0xE2, 0xE2, 0xE9, 0xEF, 0xF5, 0xFB, 0xFD, 0x01, 0x04, + 0x04, 0x05, 0x0B, 0x14, 0x18, 0x13, 0x10, 0x0F, 0x12, 0x12, 0x11, 0x18, 0x18, 0x16, 0x14, 0x14, 0x18, 0x1E, 0x1E, 0x1B, 0x1A, 0x17, 0x14, 0x15, 0x14, 0x12, 0x0F, 0x0D, 0x0D, 0x0A, 0x08, 0x09, + 0x08, 0x04, 0x03, 0x03, 0x04, 0x04, 0x00, 0x02, 0x05, 0x04, 0x02, 0x07, 0x09, 0x0C, 0x14, 0x16, 0x15, 0x17, 0x1A, 0x1A, 0x1B, 0x18, 0x17, 0x17, 0x15, 0x12, 0x11, 0x0F, 0x0F, 0x0A, 0x03, 0xFC, + 0xF6, 0xF8, 0xF8, 0xF5, 0xF6, 0xF4, 0xF9, 0xFC, 0xFA, 0xFD, 0xFF, 0x01, 0x04, 0x06, 0x09, 0x0F, 0x12, 0x13, 0x14, 0x0E, 0x08, 0x05, 0x04, 0x05, 0x09, 0x07, 0x0B, 0x0F, 0x0C, 0x0D, 0x09, 0x04, + 0x08, 0x06, 0x06, 0x0C, 0x0E, 0x0F, 0x11, 0x09, 0x06, 0x0D, 0x0F, 0x0E, 0x10, 0x12, 0x11, 0x11, 0x0B, 0x12, 0x19, 0x1D, 0x25, 0x24, 0x24, 0x2B, 0x2F, 0x2E, 0x30, 0x31, 0x2C, 0x29, 0x24, 0x1B, + 0x17, 0x0E, 0x06, 0xFE, 0xEA, 0xD7, 0xD0, 0xCA, 0xCA, 0xCF, 0xCD, 0xCC, 0xCB, 0xC5, 0xC1, 0xC0, 0xC2, 0xC7, 0xC7, 0xBE, 0xBB, 0xB8, 0xC0, 0xC5, 0xC9, 0xCD, 0xCC, 0xC9, 0xCA, 0xCF, 0xD7, 0xE1, + 0xF2, 0xF9, 0xFC, 0xFD, 0xFD, 0xFD, 0x00, 0x0A, 0x14, 0x1C, 0x26, 0x2E, 0x35, 0x35, 0x2D, 0x28, 0x24, 0x1E, 0x1C, 0x12, 0x0C, 0x06, 0x00, 0xF8, 0xEC, 0xDF, 0xD8, 0xD0, 0xC1, 0xB8, 0xBC, 0xC1, + 0xC5, 0xC4, 0xBA, 0xAA, 0x9F, 0x98, 0x9E, 0xA1, 0xA5, 0xB9, 0xBF, 0xC2, 0xC0, 0xBF, 0xC3, 0xCB, 0xD7, 0xDF, 0xE5, 0xF5, 0xFF, 0x08, 0x11, 0x14, 0x23, 0x2B, 0x2E, 0x38, 0x3A, 0x45, 0x56, 0x61, + 0x5C, 0x5A, 0x5A, 0x51, 0x48, 0x47, 0x4D, 0x50, 0x4F, 0x51, 0x4D, 0x48, 0x3E, 0x34, 0x2C, 0x25, 0x22, 0x18, 0x0E, 0x0A, 0x0A, 0x07, 0xFF, 0xF4, 0xEF, 0xEB, 0xE6, 0xDF, 0xE1, 0xE7, 0xE8, 0xEA, + 0xE7, 0xE3, 0xE1, 0xD8, 0xD6, 0xD5, 0xD6, 0xDC, 0xDB, 0xE1, 0xE6, 0xEB, 0xF1, 0xF0, 0xFC, 0x03, 0x00, 0x06, 0x0B, 0x15, 0x1F, 0x2A, 0x2B, 0x2B, 0x2E, 0x31, 0x37, 0x3A, 0x40, 0x48, 0x4A, 0x4F, + 0x55, 0x54, 0x57, 0x54, 0x51, 0x4D, 0x45, 0x3E, 0x35, 0x2D, 0x25, 0x24, 0x28, 0x23, 0x1D, 0x18, 0x12, 0x0C, 0x0C, 0x0B, 0x07, 0x03, 0xFF, 0xFB, 0xF4, 0xEF, 0xEB, 0xEC, 0xEB, 0xE5, 0xDF, 0xDB, + 0xD7, 0xDA, 0xDC, 0xE4, 0xEB, 0xEC, 0xED, 0xEC, 0xF0, 0xF4, 0xFA, 0x03, 0x0D, 0x14, 0x12, 0x14, 0x19, 0x1B, 0x1D, 0x1F, 0x20, 0x20, 0x1E, 0x15, 0x10, 0x0D, 0x07, 0x0A, 0x04, 0xFC, 0xF8, 0xED, + 0xE7, 0xE7, 0xE9, 0xEA, 0xEC, 0xEC, 0xEB, 0xEE, 0xEB, 0xED, 0xF7, 0xFC, 0xFF, 0x04, 0xFF, 0xFB, 0xF8, 0xF1, 0xEC, 0xE9, 0xE1, 0xDC, 0xD9, 0xD8, 0xD3, 0xCD, 0xD0, 0xD7, 0xDB, 0xE0, 0xE5, 0xEB, + 0xF3, 0xFA, 0x00, 0x01, 0x04, 0x09, 0x06, 0x02, 0xFE, 0xFD, 0xFE, 0xFB, 0xF6, 0xF5, 0xF2, 0xEC, 0xE9, 0xE8, 0xE3, 0xE2, 0xE1, 0xDF, 0xE0, 0xE0, 0xE1, 0xE5, 0xE3, 0xE4, 0xE7, 0xE9, 0xEB, 0xEA, + 0xE9, 0xEA, 0xEA, 0xE8, 0xE3, 0xDE, 0xD8, 0xD2, 0xCC, 0xC8, 0xC4, 0xC5, 0xCA, 0xCA, 0xD1, 0xD9, 0xE1, 0xEE, 0xFA, 0x03, 0x0C, 0x13, 0x15, 0x19, 0x1F, 0x23, 0x26, 0x24, 0x21, 0x1F, 0x1A, 0x13, + 0x0D, 0x08, 0x03, 0x02, 0xFE, 0xFA, 0xF8, 0xF8, 0xFA, 0xF8, 0xF7, 0xF8, 0xF8, 0xFD, 0x01, 0x02, 0x04, 0x08, 0x0B, 0x0D, 0x0A, 0x05, 0xFF, 0xFA, 0xF6, 0xF3, 0xF3, 0xEE, 0xEA, 0xEA, 0xE7, 0xE5, + 0xE8, 0xEC, 0xF1, 0xF5, 0xF8, 0xFC, 0x00, 0x02, 0x04, 0x07, 0x09, 0x0D, 0x0D, 0x0A, 0x0A, 0x0B, 0x0B, 0x07, 0x03, 0x01, 0x03, 0x05, 0x02, 0x02, 0xFD, 0xFA, 0xFE, 0xFF, 0x04, 0x0C, 0x14, 0x20, + 0x27, 0x2D, 0x37, 0x3C, 0x3F, 0x3F, 0x3D, 0x3A, 0x35, 0x31, 0x31, 0x30, 0x2E, 0x29, 0x25, 0x20, 0x1D, 0x1D, 0x1C, 0x1B, 0x1E, 0x22, 0x26, 0x29, 0x28, 0x28, 0x2D, 0x2B, 0x2C, 0x2D, 0x2F, 0x30, + 0x2C, 0x26, 0x1C, 0x14, 0x0D, 0x03, 0xFB, 0xF2, 0xE8, 0xDF, 0xD4, 0xCB, 0xC1, 0xBA, 0xB7, 0xB9, 0xBA, 0xBA, 0xBE, 0xC1, 0xC6, 0xC8, 0xCB, 0xCC, 0xCB, 0xC9, 0xC6, 0xC7, 0xC6, 0xC4, 0xC5, 0xC2, + 0xC3, 0xC2, 0xBF, 0xBD, 0xC1, 0xC8, 0xCF, 0xD6, 0xDF, 0xE7, 0xEE, 0xF0, 0xF5, 0xFD, 0x03, 0x09, 0x0F, 0x13, 0x16, 0x1A, 0x1C, 0x20, 0x26, 0x26, 0x25, 0x25, 0x23, 0x21, 0x1E, 0x1C, 0x20, 0x21, + 0x1F, 0x1F, 0x1D, 0x1C, 0x20, 0x20, 0x1E, 0x1F, 0x23, 0x23, 0x20, 0x1A, 0x17, 0x14, 0x10, 0x0E, 0x07, 0xFF, 0xFD, 0xFB, 0xFB, 0xF9, 0xF8, 0xF7, 0xF1, 0xEE, 0xEA, 0xE6, 0xE6, 0xE5, 0xE7, 0xE8, + 0xE6, 0xE7, 0xE8, 0xEC, 0xED, 0xED, 0xEF, 0xF0, 0xF2, 0xF4, 0xF8, 0xFD, 0xFC, 0xF7, 0xF4, 0xF0, 0xEC, 0xE6, 0xE3, 0xE6, 0xE8, 0xEB, 0xF1, 0xF3, 0xFD, 0x02, 0x05, 0x0B, 0x13, 0x1B, 0x1E, 0x21, + 0x28, 0x2C, 0x2C, 0x2C, 0x2D, 0x2B, 0x2A, 0x29, 0x28, 0x29, 0x2D, 0x31, 0x30, 0x2F, 0x32, 0x32, 0x2E, 0x28, 0x27, 0x27, 0x28, 0x24, 0x1F, 0x19, 0x16, 0x0E, 0x05, 0x01, 0xFB, 0xF8, 0xF8, 0xF5, + 0xF4, 0xF0, 0xEC, 0xE3, 0xDF, 0xDC, 0xDB, 0xDA, 0xDA, 0xD8, 0xD8, 0xD8, 0xD5, 0xD6, 0xDB, 0xDF, 0xE5, 0xEA, 0xEC, 0xF1, 0xF3, 0xF3, 0xF3, 0xF1, 0xEF, 0xE9, 0xE4, 0xE3, 0xE3, 0xE4, 0xE6, 0xE9, + 0xEE, 0xEF, 0xEC, 0xEE, 0xEE, 0xF6, 0x00, 0x05, 0x05, 0x07, 0x0A, 0x0E, 0x0C, 0x08, 0x0D, 0x14, 0x1A, 0x17, 0x13, 0x15, 0x18, 0x1A, 0x15, 0x14, 0x19, 0x17, 0x17, 0x16, 0x16, 0x13, 0x0F, 0x0C, + 0x07, 0x07, 0x08, 0x0B, 0x10, 0x12, 0x14, 0x18, 0x18, 0x16, 0x13, 0x16, 0x14, 0x10, 0x14, 0x15, 0x13, 0x0F, 0x0C, 0x08, 0x05, 0x01, 0xFF, 0x02, 0x02, 0x02, 0x04, 0x06, 0x03, 0xFC, 0xF6, 0xF4, + 0xED, 0xE6, 0xE5, 0xE5, 0xE5, 0xE3, 0xE0, 0xDE, 0xDD, 0xDD, 0xDC, 0xDC, 0xDF, 0xDF, 0xDE, 0xE0, 0xDC, 0xD8, 0xD8, 0xD8, 0xDA, 0xDA, 0xDB, 0xDC, 0xE0, 0xE4, 0xE8, 0xEB, 0xF1, 0xF6, 0xF8, 0xF8, + 0xF7, 0xF9, 0x00, 0x06, 0x0A, 0x0D, 0x0D, 0x0E, 0x0F, 0x10, 0x15, 0x1C, 0x1F, 0x20, 0x1F, 0x1B, 0x1C, 0x1D, 0x1B, 0x17, 0x10, 0x0B, 0x09, 0x03, 0xFC, 0xFA, 0xF9, 0xF6, 0xF4, 0xF1, 0xF1, 0xEF, + 0xEC, 0xEE, 0xEE, 0xEE, 0xF0, 0xEF, 0xEC, 0xEC, 0xEC, 0xEF, 0xEF, 0xED, 0xF0, 0xF6, 0xF9, 0xFC, 0x02, 0x07, 0x0F, 0x15, 0x19, 0x1F, 0x21, 0x20, 0x1F, 0x1C, 0x19, 0x17, 0x14, 0x12, 0x0C, 0x06, + 0x04, 0x01, 0xFC, 0xF9, 0xFC, 0x00, 0x01, 0xFB, 0xF5, 0xEA, 0xE5, 0xE3, 0xDB, 0xD6, 0xD0, 0xC9, 0xBE, 0xB6, 0xAE, 0xAB, 0xAC, 0xB1, 0xB7, 0xBB, 0xC0, 0xC7, 0xCD, 0xD2, 0xD6, 0xDD, 0xEC, 0xF6, + 0x00, 0x0E, 0x1B, 0x25, 0x30, 0x36, 0x43, 0x4D, 0x51, 0x55, 0x58, 0x58, 0x5E, 0x5C, 0x5B, 0x5B, 0x55, 0x53, 0x5A, 0x55, 0x57, 0x59, 0x57, 0x63, 0x64, 0x60, 0x66, 0x5F, 0x5A, 0x5B, 0x57, 0x55, + 0x48, 0x35, 0x28, 0x17, 0x07, 0xFA, 0xEF, 0xE7, 0xE1, 0xD6, 0xCD, 0xC6, 0xBE, 0xB8, 0xB2, 0xAA, 0xA7, 0xA1, 0xA4, 0xA6, 0xA6, 0xAA, 0xA8, 0xAE, 0xB2, 0xAF, 0xB5, 0xBA, 0xBF, 0xC3, 0xCB, 0xCF, + 0xD3, 0xCE, 0xC8, 0xD0, 0xDB, 0xE4, 0xE9, 0xF0, 0xFC, 0x07, 0x14, 0x1C, 0x28, 0x3D, 0x4E, 0x5C, 0x61, 0x63, 0x6A, 0x6E, 0x6F, 0x6D, 0x66, 0x62, 0x57, 0x4E, 0x49, 0x46, 0x40, 0x36, 0x2F, 0x2A, + 0x25, 0x22, 0x1E, 0x20, 0x26, 0x22, 0x22, 0x1D, 0x19, 0x13, 0x0F, 0x15, 0x12, 0x0D, 0x01, 0xF7, 0xEF, 0xE5, 0xDB, 0xD4, 0xD0, 0xD2, 0xC9, 0xBB, 0xB3, 0xB3, 0xB6, 0xB5, 0xB6, 0xBD, 0xC7, 0xCB, + 0xCC, 0xD4, 0xDF, 0xE7, 0xED, 0xF0, 0xF3, 0xF5, 0xF5, 0xF7, 0xFE, 0x02, 0x03, 0x02, 0x01, 0x01, 0x01, 0x06, 0x0B, 0x09, 0x08, 0x06, 0x08, 0x0C, 0x0D, 0x11, 0x16, 0x1E, 0x22, 0x22, 0x27, 0x2E, + 0x37, 0x3D, 0x42, 0x42, 0x45, 0x44, 0x3E, 0x36, 0x32, 0x2F, 0x2A, 0x1F, 0x13, 0x0D, 0x06, 0xFD, 0xF5, 0xF5, 0xF7, 0xF0, 0xE8, 0xE4, 0xE5, 0xE4, 0xE1, 0xE0, 0xDF, 0xDD, 0xD7, 0xD5, 0xD7, 0xD8, + 0xD8, 0xDA, 0xDA, 0xD5, 0xD0, 0xD0, 0xD0, 0xD0, 0xD3, 0xD4, 0xD6, 0xD7, 0xD4, 0xD3, 0xD1, 0xD4, 0xDA, 0xDF, 0xE5, 0xEB, 0xF0, 0xF5, 0xFB, 0x02, 0x0B, 0x12, 0x13, 0x11, 0x0D, 0x08, 0x09, 0x0C, + 0x0C, 0x09, 0x04, 0xFF, 0xFA, 0xF5, 0xF5, 0xF7, 0xFC, 0x00, 0x01, 0x01, 0x03, 0x05, 0x05, 0x04, 0x05, 0x09, 0x09, 0x06, 0x06, 0x04, 0x05, 0x05, 0x04, 0x01, 0xFD, 0xF9, 0xF5, 0xF3, 0xF3, 0xF2, + 0xEE, 0xE9, 0xE8, 0xE2, 0xDC, 0xDF, 0xE0, 0xE5, 0xEC, 0xF1, 0xF7, 0xFE, 0x04, 0x0C, 0x0F, 0x11, 0x16, 0x17, 0x13, 0x09, 0x03, 0xFC, 0xF7, 0xF3, 0xEE, 0xE7, 0xDE, 0xD9, 0xD4, 0xD3, 0xD5, 0xD7, + 0xDA, 0xDD, 0xDE, 0xE0, 0xE3, 0xE7, 0xE8, 0xE9, 0xEB, 0xED, 0xEF, 0xF0, 0xF0, 0xF4, 0xF9, 0xF9, 0xF8, 0xFA, 0xFA, 0xFB, 0xFB, 0xF7, 0xF9, 0xFC, 0xFE, 0x01, 0x06, 0x0C, 0x14, 0x1E, 0x2A, 0x33, + 0x3E, 0x45, 0x48, 0x4D, 0x50, 0x53, 0x50, 0x4D, 0x49, 0x40, 0x3A, 0x33, 0x2C, 0x28, 0x23, 0x1C, 0x18, 0x14, 0x12, 0x13, 0x15, 0x18, 0x16, 0x10, 0x0D, 0x0B, 0x0B, 0x0A, 0x09, 0x05, 0x01, 0xFF, + 0xFC, 0xF8, 0xF5, 0xF4, 0xF0, 0xE7, 0xDF, 0xD5, 0xCB, 0xC7, 0xC4, 0xC5, 0xC5, 0xC5, 0xC2, 0xC3, 0xC4, 0xC7, 0xCB, 0xD1, 0xDB, 0xE0, 0xE4, 0xE8, 0xE9, 0xED, 0xEF, 0xEF, 0xF2, 0xF3, 0xF4, 0xF4, + 0xF5, 0xFB, 0x06, 0x0C, 0x0F, 0x1A, 0x28, 0x2D, 0x32, 0x3A, 0x43, 0x49, 0x48, 0x4B, 0x4E, 0x4B, 0x47, 0x4A, 0x4D, 0x49, 0x43, 0x3C, 0x35, 0x30, 0x25, 0x22, 0x23, 0x1C, 0x15, 0x11, 0x0A, 0x07, + 0x00, 0x00, 0x05, 0x03, 0x02, 0xFE, 0xFC, 0xFD, 0xF7, 0xF9, 0xF9, 0xEE, 0xE6, 0xE3, 0xE0, 0xD7, 0xD4, 0xD7, 0xDB, 0xD3, 0xCC, 0xCD, 0xD0, 0xD2, 0xD9, 0xDE, 0xEA, 0xE9, 0xE7, 0xEE, 0xF2, 0xF0, + 0xF0, 0xF9, 0xFF, 0xFD, 0xFF, 0x06, 0x0B, 0x0A, 0x08, 0x0A, 0x0C, 0x09, 0x09, 0x0D, 0x0E, 0x11, 0x0E, 0x0E, 0x10, 0x10, 0x12, 0x19, 0x1C, 0x24, 0x2D, 0x31, 0x32, 0x30, 0x2D, 0x2A, 0x22, 0x18, + 0x15, 0x10, 0x09, 0x04, 0x01, 0xFC, 0xF7, 0xF3, 0xED, 0xED, 0xEB, 0xEB, 0xEE, 0xF2, 0xEB, 0xE8, 0xE4, 0xE2, 0xDE, 0xD9, 0xDC, 0xE3, 0xE3, 0xE0, 0xE0, 0xE1, 0xE3, 0xE1, 0xDF, 0xDD, 0xDB, 0xDE, + 0xDC, 0xDD, 0xDC, 0xDD, 0xE0, 0xE1, 0xE3, 0xEA, 0xF2, 0xF9, 0x00, 0x06, 0x0C, 0x12, 0x16, 0x18, 0x18, 0x19, 0x1A, 0x1B, 0x1D, 0x19, 0x18, 0x18, 0x19, 0x14, 0x12, 0x13, 0x1A, 0x1E, 0x16, 0x12, + 0x15, 0x15, 0x16, 0x14, 0x13, 0x16, 0x12, 0x09, 0x0A, 0x07, 0x08, 0x08, 0x06, 0x01, 0xFB, 0xF1, 0xE7, 0xE6, 0xE1, 0xDB, 0xD7, 0xD4, 0xD1, 0xCD, 0xCA, 0xCA, 0xD1, 0xD8, 0xDE, 0xE4, 0xEB, 0xF3, + 0xF8, 0xFD, 0xFE, 0xFE, 0x02, 0x01, 0x01, 0x02, 0x05, 0x03, 0x01, 0x05, 0x07, 0x0B, 0x0D, 0x10, 0x17, 0x17, 0x16, 0x1A, 0x1B, 0x20, 0x1F, 0x1E, 0x1E, 0x1F, 0x1C, 0x14, 0x0C, 0x09, 0x09, 0x0A, + 0x05, 0x02, 0x01, 0xFF, 0xFD, 0xF8, 0xF5, 0xF4, 0xF2, 0xF1, 0xF2, 0xF1, 0xF1, 0xF0, 0xEE, 0xEC, 0xE9, 0xE7, 0xE6, 0xE5, 0xEA, 0xEE, 0xF0, 0xF5, 0xFA, 0xFA, 0xF6, 0xF4, 0xF4, 0xF5, 0xF0, 0xEC, + 0xEC, 0xEF, 0xEE, 0xF2, 0xF3, 0xF6, 0xF7, 0xF7, 0xF7, 0xF9, 0xF9, 0xFB, 0xFA, 0xF9, 0xFB, 0xFB, 0xF5, 0xEC, 0xE6, 0xE6, 0xE5, 0xE5, 0xEC, 0xEF, 0xE8, 0xE0, 0xDD, 0xDA, 0xDC, 0xE5, 0xEB, 0xF0, + 0xF3, 0xED, 0xE9, 0xE8, 0xEA, 0xF3, 0xFB, 0x05, 0x0E, 0x16, 0x1C, 0x25, 0x28, 0x2B, 0x33, 0x35, 0x36, 0x38, 0x35, 0x37, 0x3B, 0x3F, 0x44, 0x3D, 0x39, 0x36, 0x2D, 0x2B, 0x2B, 0x2F, 0x3E, 0x4B, + 0x55, 0x5F, 0x5A, 0x52, 0x4D, 0x49, 0x4D, 0x56, 0x5A, 0x59, 0x50, 0x46, 0x3C, 0x31, 0x24, 0x1B, 0x0B, 0xFF, 0xF5, 0xED, 0xE7, 0xD9, 0xDA, 0xD7, 0xCC, 0xC0, 0xB7, 0xB8, 0xB7, 0xB7, 0xC4, 0xCD, + 0xCB, 0xC5, 0xBA, 0xB2, 0xAC, 0xAA, 0xB4, 0xB9, 0xB8, 0xBE, 0xC1, 0xBE, 0xC2, 0xC7, 0xD1, 0xDB, 0xE7, 0xF0, 0xFC, 0x05, 0x0D, 0x1E, 0x2C, 0x39, 0x3E, 0x40, 0x45, 0x43, 0x50, 0x5C, 0x6C, 0x72, + 0x73, 0x70, 0x6D, 0x6B, 0x6A, 0x68, 0x67, 0x67, 0x65, 0x63, 0x5F, 0x5E, 0x5D, 0x53, 0x49, 0x41, 0x34, 0x2A, 0x1E, 0x14, 0x10, 0x03, 0xF9, 0xEE, 0xE4, 0xDD, 0xD3, 0xCA, 0xC3, 0xBB, 0xB5, 0xAC, + 0xA7, 0xAA, 0xAC, 0xAA, 0xA3, 0xA0, 0xA0, 0xA7, 0xAF, 0xAF, 0xB3, 0xB8, 0xB9, 0xBE, 0xC4, 0xC9, 0xCE, 0xD4, 0xDC, 0xE6, 0xF0, 0xF9, 0x01, 0x07, 0x12, 0x1A, 0x21, 0x29, 0x30, 0x32, 0x32, 0x32, + 0x35, 0x37, 0x37, 0x33, 0x2F, 0x28, 0x1E, 0x15, 0x12, 0x0E, 0x0B, 0x0B, 0x07, 0x00, 0xF6, 0xF1, 0xF0, 0xED, 0xEE, 0xEE, 0xEE, 0xEA, 0xE4, 0xE4, 0xE4, 0xE1, 0xDD, 0xD9, 0xD6, 0xD3, 0xCE, 0xCF, + 0xCF, 0xD0, 0xD3, 0xD4, 0xD7, 0xD8, 0xDB, 0xD8, 0xD3, 0xD6, 0xDB, 0xDF, 0xE2, 0xE7, 0xEC, 0xF1, 0xF1, 0xF1, 0xFA, 0x02, 0x0A, 0x14, 0x1A, 0x21, 0x23, 0x22, 0x24, 0x2A, 0x2D, 0x2C, 0x27, 0x24, + 0x20, 0x19, 0x18, 0x19, 0x15, 0x13, 0x0C, 0x07, 0x01, 0xFA, 0xF9, 0xF7, 0xF6, 0xF6, 0xF1, 0xEB, 0xE7, 0xE6, 0xE9, 0xE6, 0xE1, 0xDB, 0xD6, 0xD4, 0xCE, 0xC5, 0xBC, 0xB8, 0xB6, 0xAF, 0xAC, 0xAA, + 0xAA, 0xAB, 0xAA, 0xAE, 0xB3, 0xBA, 0xC3, 0xCE, 0xD8, 0xE3, 0xEE, 0xF4, 0xFD, 0x07, 0x0E, 0x14, 0x17, 0x1C, 0x1E, 0x1A, 0x16, 0x15, 0x13, 0x16, 0x17, 0x16, 0x15, 0x18, 0x1B, 0x1D, 0x1D, 0x1F, + 0x22, 0x25, 0x2D, 0x36, 0x40, 0x41, 0x43, 0x45, 0x43, 0x3D, 0x3A, 0x37, 0x34, 0x2C, 0x24, 0x1C, 0x14, 0x09, 0xFB, 0xF1, 0xEB, 0xE3, 0xE3, 0xE4, 0xDD, 0xDA, 0xD8, 0xDC, 0xDE, 0xDC, 0xDC, 0xDB, + 0xDB, 0xE0, 0xE2, 0xE4, 0xE7, 0xE4, 0xE2, 0xDB, 0xD8, 0xDF, 0xE3, 0xE4, 0xE5, 0xE8, 0xF2, 0xF4, 0xF9, 0x05, 0x0C, 0x14, 0x1D, 0x25, 0x34, 0x39, 0x3E, 0x4A, 0x4B, 0x4F, 0x52, 0x50, 0x54, 0x51, + 0x4E, 0x4D, 0x4C, 0x51, 0x4D, 0x46, 0x46, 0x3F, 0x37, 0x2F, 0x29, 0x2E, 0x2B, 0x26, 0x25, 0x20, 0x13, 0x11, 0x0F, 0x0E, 0x0F, 0x0B, 0x07, 0xFE, 0xF2, 0xEC, 0xEB, 0xE1, 0xD8, 0xD3, 0xCE, 0xC3, + 0xBD, 0xBE, 0xB9, 0xB2, 0xB0, 0xB8, 0xBE, 0xBC, 0xC0, 0xC6, 0xCC, 0xD6, 0xDA, 0xE1, 0xE6, 0xE3, 0xE7, 0xEF, 0xF9, 0x07, 0x0D, 0x19, 0x1B, 0x1A, 0x1A, 0x18, 0x1A, 0x21, 0x24, 0x28, 0x2F, 0x2E, + 0x2F, 0x2D, 0x2E, 0x37, 0x3E, 0x42, 0x44, 0x43, 0x46, 0x4E, 0x50, 0x4C, 0x4B, 0x4B, 0x48, 0x45, 0x40, 0x3C, 0x3A, 0x33, 0x2B, 0x1E, 0x0E, 0x04, 0xF8, 0xEE, 0xE8, 0xDF, 0xDA, 0xDB, 0xD5, 0xCE, + 0xCE, 0xCE, 0xCE, 0xCA, 0xCD, 0xD3, 0xD2, 0xD5, 0xD6, 0xD3, 0xD2, 0xCA, 0xC1, 0xBC, 0xBB, 0xC0, 0xC7, 0xCD, 0xD2, 0xD3, 0xD1, 0xD3, 0xDA, 0xE2, 0xE9, 0xEF, 0xF1, 0xF6, 0xFC, 0x02, 0x0B, 0x0F, + 0x0F, 0x0E, 0x08, 0x0C, 0x10, 0x0A, 0x07, 0x09, 0x06, 0x04, 0xFE, 0xF5, 0xF4, 0xF0, 0xEB, 0xF2, 0xF9, 0xFD, 0x00, 0xFD, 0xFF, 0x02, 0xFF, 0xFD, 0xF8, 0xFA, 0xFD, 0xF8, 0xEF, 0xE7, 0xE1, 0xE0, + 0xDD, 0xDB, 0xDC, 0xD6, 0xD7, 0xD5, 0xD3, 0xDD, 0xE4, 0xE8, 0xE0, 0xDB, 0xD9, 0xDC, 0xDC, 0xDB, 0xE2, 0xE9, 0xED, 0xEF, 0xF2, 0xF0, 0xF3, 0xFC, 0x00, 0x00, 0xFF, 0x05, 0x0C, 0x11, 0x16, 0x1C, + 0x20, 0x20, 0x1C, 0x22, 0x2A, 0x2E, 0x33, 0x36, 0x35, 0x34, 0x30, 0x31, 0x2F, 0x28, 0x21, 0x1F, 0x1C, 0x18, 0x16, 0x16, 0x13, 0x0A, 0x03, 0x00, 0xFD, 0xFA, 0xF4, 0xEE, 0xEE, 0xEA, 0xE5, 0xE1, + 0xE3, 0xE3, 0xE2, 0xE0, 0xDA, 0xDB, 0xDB, 0xDC, 0xE0, 0xEA, 0xF3, 0xF3, 0xEF, 0xEC, 0xF0, 0xF8, 0xFF, 0x04, 0x04, 0x06, 0x07, 0x04, 0x01, 0xFE, 0xFC, 0x01, 0x03, 0x06, 0x0C, 0x0F, 0x0F, 0x11, + 0x10, 0x13, 0x17, 0x1C, 0x20, 0x1A, 0x19, 0x1F, 0x22, 0x24, 0x21, 0x1F, 0x1B, 0x13, 0x0B, 0x0B, 0x15, 0x1A, 0x1B, 0x1E, 0x23, 0x22, 0x1D, 0x1A, 0x1C, 0x21, 0x26, 0x25, 0x23, 0x1C, 0x18, 0x15, + 0x18, 0x1C, 0x17, 0x12, 0x0C, 0x03, 0xFA, 0xEF, 0xEF, 0xEE, 0xF0, 0xF2, 0xF0, 0xE8, 0xE4, 0xE0, 0xDB, 0xDA, 0xDD, 0xE4, 0xE8, 0xE2, 0xDC, 0xDD, 0xDF, 0xE1, 0xE1, 0xDF, 0xDF, 0xD5, 0xD0, 0xCE, + 0xD1, 0xD0, 0xCE, 0xCF, 0xCE, 0xC7, 0xC4, 0xCC, 0xD3, 0xD6, 0xD8, 0xD9, 0xDB, 0xDE, 0xE6, 0xEB, 0xED, 0xE9, 0xEB, 0xFA, 0xFE, 0x02, 0x0A, 0x10, 0x1D, 0x27, 0x29, 0x34, 0x3C, 0x3E, 0x47, 0x46, + 0x4A, 0x55, 0x59, 0x64, 0x63, 0x55, 0x53, 0x54, 0x57, 0x5F, 0x61, 0x68, 0x6E, 0x6D, 0x6B, 0x6D, 0x66, 0x5B, 0x51, 0x46, 0x3B, 0x31, 0x24, 0x1E, 0x13, 0x05, 0x00, 0xFA, 0xF9, 0xF8, 0xF0, 0xEE, + 0xE6, 0xE1, 0xE0, 0xDE, 0xD5, 0xC8, 0xBB, 0xB2, 0xAB, 0xA3, 0x9E, 0x9D, 0x9C, 0xA3, 0xA4, 0xA1, 0xA2, 0xA2, 0xA5, 0xAC, 0xAC, 0xAD, 0xB0, 0xB4, 0xBB, 0xBF, 0xC2, 0xC7, 0xCD, 0xD7, 0xE2, 0xF4, + 0x01, 0x0F, 0x21, 0x31, 0x38, 0x40, 0x49, 0x51, 0x54, 0x4E, 0x51, 0x56, 0x57, 0x58, 0x55, 0x58, 0x54, 0x52, 0x51, 0x4D, 0x4B, 0x4A, 0x46, 0x45, 0x45, 0x42, 0x45, 0x44, 0x47, 0x43, 0x3F, 0x39, + 0x2F, 0x27, 0x1E, 0x12, 0x07, 0xFB, 0xE9, 0xDF, 0xD7, 0xCF, 0xCD, 0xBE, 0xB7, 0xBA, 0xBB, 0xC1, 0xC4, 0xC8, 0xD0, 0xD0, 0xD0, 0xD0, 0xD0, 0xD2, 0xD6, 0xD1, 0xD0, 0xD9, 0xE2, 0xE9, 0xEC, 0xEF, + 0xF2, 0xFD, 0x04, 0x08, 0x0E, 0x11, 0x16, 0x19, 0x12, 0x11, 0x0E, 0x09, 0x05, 0x03, 0x08, 0x0E, 0x10, 0x11, 0x10, 0x11, 0x10, 0x0D, 0x08, 0x04, 0xFC, 0xF4, 0xF4, 0xEE, 0xEE, 0xEE, 0xE9, 0xEA, + 0xE9, 0xE9, 0xEB, 0xEC, 0xEE, 0xF1, 0xF7, 0xFC, 0xFD, 0xFD, 0xFC, 0xFC, 0xFF, 0x00, 0x05, 0x08, 0x09, 0x0F, 0x0E, 0x09, 0x0A, 0x0A, 0x05, 0x01, 0xFD, 0xFE, 0xFF, 0x02, 0x05, 0x05, 0x0C, 0x13, + 0x1D, 0x22, 0x27, 0x2D, 0x31, 0x33, 0x34, 0x33, 0x2F, 0x26, 0x1D, 0x13, 0x0B, 0x03, 0xFE, 0xFC, 0xFB, 0xFB, 0xF5, 0xF1, 0xEF, 0xEF, 0xEF, 0xEF, 0xEB, 0xE9, 0xE7, 0xE2, 0xDC, 0xD9, 0xD8, 0xD6, + 0xD5, 0xCF, 0xCB, 0xCB, 0xCD, 0xCF, 0xD0, 0xD2, 0xD3, 0xD4, 0xD2, 0xCF, 0xCF, 0xD3, 0xD5, 0xD6, 0xD7, 0xD8, 0xD9, 0xD9, 0xDE, 0xE1, 0xE9, 0xF1, 0xF8, 0xF8, 0xF9, 0xFD, 0x04, 0x04, 0x06, 0x08, + 0x08, 0x08, 0x04, 0x01, 0x01, 0x05, 0x08, 0x08, 0x07, 0x09, 0x0D, 0x0F, 0x0F, 0x0F, 0x15, 0x1A, 0x1B, 0x18, 0x1B, 0x1C, 0x1B, 0x1C, 0x18, 0x13, 0x10, 0x0B, 0x09, 0x05, 0x03, 0x01, 0x04, 0x04, + 0x02, 0x01, 0xFF, 0xFB, 0xFA, 0xFB, 0xFC, 0xF9, 0xF7, 0xF8, 0xF8, 0xF4, 0xF0, 0xF0, 0xEF, 0xEF, 0xF0, 0xF1, 0xEF, 0xEF, 0xF4, 0xF5, 0xF6, 0xFA, 0xFD, 0xFE, 0x00, 0xFF, 0xFF, 0x03, 0x08, 0x0E, + 0x11, 0x15, 0x1A, 0x20, 0x23, 0x27, 0x2B, 0x2D, 0x31, 0x34, 0x37, 0x37, 0x39, 0x3B, 0x37, 0x36, 0x35, 0x31, 0x2F, 0x2C, 0x29, 0x26, 0x21, 0x1C, 0x1B, 0x17, 0x14, 0x12, 0x0C, 0x06, 0x00, 0xFC, + 0xFA, 0xF7, 0xF3, 0xF0, 0xEC, 0xE7, 0xE4, 0xE0, 0xDD, 0xDC, 0xDC, 0xDB, 0xDA, 0xDB, 0xDE, 0xDD, 0xDC, 0xDE, 0xDF, 0xE0, 0xE3, 0xE8, 0xEC, 0xF0, 0xF4, 0xF6, 0xFC, 0x02, 0x09, 0x0D, 0x11, 0x16, + 0x19, 0x1B, 0x1F, 0x24, 0x23, 0x1E, 0x1D, 0x1C, 0x1E, 0x20, 0x24, 0x27, 0x25, 0x26, 0x24, 0x23, 0x22, 0x21, 0x1F, 0x1F, 0x1C, 0x18, 0x15, 0x0F, 0x0F, 0x0E, 0x0B, 0x04, 0x01, 0x04, 0x05, 0x03, + 0x03, 0x06, 0x07, 0x03, 0xFE, 0xF9, 0xF8, 0xF6, 0xF3, 0xEF, 0xEB, 0xEB, 0xE9, 0xE5, 0xE3, 0xE5, 0xE8, 0xEB, 0xEC, 0xF2, 0xF5, 0xF8, 0xF9, 0xF9, 0xF8, 0xF8, 0xF8, 0xF7, 0xF2, 0xEE, 0xED, 0xEE, + 0xF0, 0xF1, 0xF0, 0xF4, 0xF6, 0xF8, 0xFB, 0xFE, 0x03, 0x06, 0x05, 0x00, 0xF9, 0xF3, 0xEF, 0xEA, 0xE3, 0xE1, 0xE0, 0xE0, 0xDD, 0xDC, 0xDA, 0xDE, 0xDF, 0xE0, 0xE3, 0xE4, 0xE1, 0xE1, 0xDE, 0xDF, + 0xE1, 0xE0, 0xE0, 0xE0, 0xE1, 0xE4, 0xE7, 0xEA, 0xEE, 0xF5, 0xFC, 0x01, 0x03, 0x05, 0x07, 0x09, 0x0B, 0x0C, 0x0E, 0x0D, 0x0B, 0x07, 0x05, 0x05, 0x05, 0x09, 0x10, 0x0F, 0x10, 0x13, 0x14, 0x15, + 0x14, 0x14, 0x18, 0x18, 0x18, 0x16, 0x18, 0x15, 0x10, 0x0F, 0x0D, 0x0E, 0x0C, 0x07, 0x04, 0x05, 0x03, 0x01, 0xFC, 0xFB, 0xFA, 0xF4, 0xED, 0xE9, 0xE6, 0xE5, 0xE6, 0xE7, 0xE4, 0xE1, 0xE1, 0xE2, + 0xE1, 0xE3, 0xE4, 0xE5, 0xE5, 0xE2, 0xE3, 0xE2, 0xE1, 0xE2, 0xE2, 0xDF, 0xDE, 0xDD, 0xDE, 0xDF, 0xDF, 0xE2, 0xE5, 0xE9, 0xEF, 0xF1, 0xF4, 0xF4, 0xF9, 0xFE, 0x02, 0x01, 0x02, 0x04, 0x03, 0x00, + 0xFD, 0xFC, 0xFF, 0xFF, 0x03, 0x05, 0x05, 0x0A, 0x0E, 0x10, 0x12, 0x16, 0x19, 0x1A, 0x1A, 0x19, 0x18, 0x15, 0x15, 0x14, 0x16, 0x13, 0x13, 0x12, 0x12, 0x0F, 0x0D, 0x0A, 0x0B, 0x09, 0x08, 0x08, + 0x06, 0x03, 0x00, 0xFF, 0xFA, 0xF9, 0xF7, 0xF6, 0xF5, 0xF7, 0xFB, 0xFC, 0xF9, 0xFA, 0xF6, 0xF1, 0xED, 0xEB, 0xE9, 0xEB, 0xEA, 0xEB, 0xEA, 0xE9, 0xE8, 0xE7, 0xE7, 0xE9, 0xEC, 0xF0, 0xF3, 0xF2, + 0xF3, 0xF2, 0xF0, 0xEB, 0xE9, 0xEA, 0xEC, 0xEB, 0xEC, 0xED, 0xEC, 0xF0, 0xF3, 0xF5, 0xF4, 0xF4, 0xFE, 0x09, 0x0B, 0x0F, 0x16, 0x1F, 0x24, 0x26, 0x2F, 0x3A, 0x41, 0x46, 0x4A, 0x4A, 0x4B, 0x51, + 0x59, 0x5E, 0x59, 0x5B, 0x57, 0x52, 0x50, 0x4E, 0x54, 0x5A, 0x5C, 0x5F, 0x5C, 0x58, 0x5B, 0x5D, 0x60, 0x5D, 0x5B, 0x58, 0x52, 0x4B, 0x44, 0x3D, 0x36, 0x2C, 0x26, 0x1C, 0x0C, 0x05, 0x00, 0xFE, + 0xFB, 0xF8, 0xF5, 0xF1, 0xEC, 0xEA, 0xE7, 0xE3, 0xE0, 0xDC, 0xD8, 0xD5, 0xD3, 0xD3, 0xD2, 0xD0, 0xCD, 0xCD, 0xCC, 0xCE, 0xD2, 0xD2, 0xD3, 0xD6, 0xDA, 0xDE, 0xDF, 0xE2, 0xE2, 0xE3, 0xE5, 0xE6, + 0xE8, 0xEE, 0xF2, 0xFB, 0x00, 0x04, 0x07, 0x06, 0x09, 0x0D, 0x0F, 0x13, 0x15, 0x14, 0x16, 0x14, 0x14, 0x14, 0x13, 0x14, 0x14, 0x13, 0x12, 0x14, 0x13, 0x13, 0x0F, 0x0D, 0x0C, 0x06, 0x01, 0xFB, + 0xF6, 0xF1, 0xEB, 0xEB, 0xE9, 0xE4, 0xE2, 0xE2, 0xE0, 0xDF, 0xDE, 0xDF, 0xE3, 0xE6, 0xEA, 0xEC, 0xED, 0xEE, 0xF2, 0xF4, 0xF4, 0xF6, 0xF9, 0xFC, 0xFD, 0x01, 0x02, 0x04, 0x06, 0x07, 0x0A, 0x0B, + 0x0C, 0x0F, 0x11, 0x14, 0x19, 0x1B, 0x1F, 0x21, 0x21, 0x22, 0x1F, 0x20, 0x23, 0x23, 0x1F, 0x1B, 0x15, 0x11, 0x0A, 0x05, 0x00, 0xFA, 0xF2, 0xEE, 0xE9, 0xE5, 0xE0, 0xDB, 0xDA, 0xD5, 0xD0, 0xCC, + 0xC9, 0xCA, 0xCA, 0xC7, 0xC4, 0xC2, 0xC1, 0xC2, 0xC1, 0xC2, 0xC1, 0xC0, 0xC1, 0xBF, 0xC2, 0xC7, 0xCA, 0xCE, 0xD0, 0xD3, 0xD5, 0xDA, 0xE1, 0xE7, 0xED, 0xF5, 0xFC, 0x06, 0x0C, 0x10, 0x18, 0x20, + 0x24, 0x27, 0x29, 0x2E, 0x30, 0x33, 0x34, 0x35, 0x38, 0x36, 0x35, 0x33, 0x31, 0x31, 0x32, 0x30, 0x2E, 0x2E, 0x2F, 0x31, 0x2C, 0x26, 0x24, 0x20, 0x1C, 0x18, 0x16, 0x11, 0x0D, 0x07, 0x02, 0xFC, + 0xF8, 0xF7, 0xF4, 0xEE, 0xEA, 0xE9, 0xE8, 0xE7, 0xE4, 0xE5, 0xE4, 0xE5, 0xE5, 0xE3, 0xE3, 0xE6, 0xE8, 0xE8, 0xE8, 0xE9, 0xED, 0xEE, 0xEF, 0xF2, 0xF3, 0xF5, 0xF9, 0xFA, 0xFB, 0xFD, 0x02, 0x03, + 0x07, 0x09, 0x08, 0x0B, 0x0B, 0x0D, 0x0F, 0x10, 0x10, 0x0F, 0x0E, 0x0C, 0x0C, 0x0A, 0x09, 0x09, 0x05, 0x03, 0x02, 0x01, 0x00, 0xFF, 0xFB, 0xF7, 0xF5, 0xF5, 0xF3, 0xF1, 0xEF, 0xED, 0xEC, 0xEC, + 0xEE, 0xEF, 0xF0, 0xEF, 0xEF, 0xEE, 0xED, 0xEC, 0xEF, 0xF2, 0xF3, 0xF3, 0xF3, 0xF4, 0xF4, 0xF6, 0xFB, 0xFE, 0x00, 0x02, 0x06, 0x09, 0x0F, 0x15, 0x19, 0x1A, 0x1C, 0x20, 0x24, 0x29, 0x2D, 0x33, + 0x34, 0x34, 0x37, 0x37, 0x34, 0x33, 0x32, 0x30, 0x2E, 0x2C, 0x2A, 0x29, 0x25, 0x1F, 0x16, 0x12, 0x13, 0x0F, 0x0C, 0x07, 0x03, 0xFD, 0xFA, 0xF7, 0xF5, 0xF2, 0xF0, 0xF0, 0xEA, 0xE6, 0xE5, 0xE5, + 0xE3, 0xE2, 0xE1, 0xDF, 0xDE, 0xDC, 0xDB, 0xDA, 0xDB, 0xDC, 0xDA, 0xDB, 0xDE, 0xE0, 0xE3, 0xE5, 0xE7, 0xE8, 0xEC, 0xF0, 0xF4, 0xFB, 0x01, 0x04, 0x08, 0x0B, 0x0C, 0x10, 0x13, 0x16, 0x16, 0x17, + 0x18, 0x19, 0x1B, 0x1E, 0x1B, 0x1C, 0x1E, 0x1F, 0x1C, 0x1C, 0x1F, 0x21, 0x1E, 0x1D, 0x1B, 0x17, 0x17, 0x12, 0x0F, 0x0B, 0x08, 0x05, 0x00, 0xFC, 0xF9, 0xF9, 0xF9, 0xF7, 0xF6, 0xF6, 0xF5, 0xF6, + 0xF7, 0xF8, 0xF8, 0xF8, 0xFA, 0xFA, 0xF9, 0xF8, 0xF8, 0xFA, 0xF7, 0xF4, 0xF3, 0xF4, 0xF4, 0xF6, 0xF7, 0xF8, 0xF8, 0xF9, 0xFD, 0xFE, 0xFF, 0x03, 0x07, 0x0B, 0x09, 0x09, 0x0C, 0x0D, 0x0C, 0x0D, + 0x0F, 0x0E, 0x0E, 0x0D, 0x0B, 0x06, 0xFF, 0xFE, 0xFB, 0xF6, 0xF2, 0xED, 0xEA, 0xE4, 0xE1, 0xE3, 0xE3, 0xE2, 0xE1, 0xE1, 0xDF, 0xDE, 0xE1, 0xE1, 0xE2, 0xE0, 0xDE, 0xDE, 0xDE, 0xDC, 0xDA, 0xD8, + 0xD5, 0xD6, 0xD8, 0xDA, 0xDD, 0xDE, 0xE2, 0xE5, 0xEA, 0xEE, 0xF0, 0xF4, 0xF9, 0xFA, 0xFB, 0xFC, 0x00, 0x02, 0x08, 0x09, 0x0A, 0x0D, 0x10, 0x12, 0x13, 0x16, 0x19, 0x18, 0x19, 0x1A, 0x1C, 0x1A, + 0x1E, 0x22, 0x24, 0x20, 0x1F, 0x1D, 0x1A, 0x1B, 0x1E, 0x1D, 0x1F, 0x20, 0x1E, 0x1B, 0x15, 0x15, 0x13, 0x14, 0x11, 0x0E, 0x0E, 0x0B, 0x08, 0x05, 0x01, 0x01, 0x01, 0xFC, 0xF9, 0xF4, 0xF1, 0xF1, + 0xED, 0xEB, 0xEB, 0xE9, 0xE5, 0xE4, 0xE5, 0xE2, 0xE4, 0xE4, 0xE3, 0xDF, 0xDF, 0xE2, 0xE2, 0xDE, 0xE1, 0xE1, 0xDF, 0xDE, 0xDE, 0xDE, 0xE0, 0xDF, 0xE0, 0xDF, 0xDE, 0xE0, 0xE0, 0xE1, 0xE2, 0xE1, + 0xE1, 0xE1, 0xE1, 0xE4, 0xE8, 0xEA, 0xEE, 0xEB, 0xE8, 0xE8, 0xEA, 0xEC, 0xEF, 0xEE, 0xEE, 0xEB, 0xEB, 0xE9, 0xE4, 0xE4, 0xE5, 0xE3, 0xE1, 0xE0, 0xE1, 0xE7, 0xEB, 0xEF, 0xF1, 0xF3, 0xF3, 0xF1, + 0xF1, 0xF5, 0xFD, 0x04, 0x0F, 0x16, 0x17, 0x13, 0x11, 0x0E, 0x10, 0x13, 0x1E, 0x28, 0x30, 0x3C, 0x44, 0x46, 0x44, 0x46, 0x4E, 0x55, 0x58, 0x5D, 0x63, 0x69, 0x6E, 0x6B, 0x6A, 0x68, 0x66, 0x62, + 0x5A, 0x55, 0x51, 0x52, 0x56, 0x52, 0x51, 0x4E, 0x49, 0x42, 0x35, 0x2F, 0x2C, 0x28, 0x28, 0x26, 0x27, 0x26, 0x1F, 0x17, 0x09, 0xFC, 0xF3, 0xEB, 0xE5, 0xE1, 0xE1, 0xDF, 0xDA, 0xD4, 0xD2, 0xCF, + 0xC8, 0xC3, 0xC6, 0xCB, 0xCF, 0xD3, 0xDD, 0xE0, 0xE0, 0xDE, 0xDC, 0xD9, 0xD7, 0xD8, 0xDC, 0xE1, 0xE8, 0xED, 0xF1, 0xF2, 0xF0, 0xF4, 0xF3, 0xF5, 0xFA, 0x00, 0x05, 0x0B, 0x0C, 0x10, 0x12, 0x14, + 0x17, 0x13, 0x12, 0x10, 0x0C, 0x0E, 0x11, 0x17, 0x1A, 0x17, 0x10, 0x0C, 0x04, 0x00, 0x01, 0x01, 0x03, 0x05, 0x04, 0x01, 0xFB, 0xF8, 0xF2, 0xEE, 0xEB, 0xEB, 0xEC, 0xEC, 0xEB, 0xEC, 0xF0, 0xF0, + 0xF2, 0xF6, 0xF7, 0xF9, 0xFD, 0x02, 0x06, 0x07, 0x09, 0x0E, 0x12, 0x16, 0x19, 0x1A, 0x19, 0x17, 0x1A, 0x1E, 0x20, 0x23, 0x27, 0x27, 0x25, 0x24, 0x21, 0x1D, 0x1B, 0x18, 0x14, 0x11, 0x0B, 0x09, + 0x06, 0x02, 0xFF, 0xF9, 0xF3, 0xEB, 0xE2, 0xDA, 0xCF, 0xC3, 0xBD, 0xB8, 0xB1, 0xAD, 0xAA, 0xA4, 0x9A, 0x94, 0x93, 0x94, 0x99, 0x9F, 0xA5, 0xA8, 0xAA, 0xAB, 0xAF, 0xB4, 0xB6, 0xB8, 0xBA, 0xBB, + 0xC1, 0xC5, 0xCB, 0xD2, 0xD7, 0xDA, 0xDD, 0xE2, 0xE5, 0xEC, 0xF5, 0xFF, 0x07, 0x10, 0x16, 0x1B, 0x1E, 0x1F, 0x23, 0x25, 0x25, 0x2A, 0x2D, 0x2E, 0x30, 0x32, 0x30, 0x32, 0x2F, 0x2E, 0x30, 0x2E, + 0x2F, 0x2C, 0x2C, 0x2B, 0x2B, 0x2A, 0x26, 0x21, 0x19, 0x15, 0x10, 0x0C, 0x07, 0x04, 0x03, 0xFF, 0xF7, 0xF5, 0xF0, 0xED, 0xE9, 0xEA, 0xEA, 0xEE, 0xF4, 0xF5, 0xF5, 0xF5, 0xF6, 0xF8, 0xF5, 0xF8, + 0xFB, 0xFC, 0xFE, 0xFA, 0xF7, 0xFA, 0xFB, 0x01, 0x03, 0x08, 0x0C, 0x10, 0x12, 0x16, 0x1C, 0x22, 0x23, 0x23, 0x21, 0x20, 0x23, 0x20, 0x20, 0x1B, 0x14, 0x13, 0x0E, 0x0C, 0x0C, 0x09, 0x07, 0x07, + 0x05, 0x07, 0x05, 0x03, 0x01, 0xFA, 0xF7, 0xF6, 0xF3, 0xF2, 0xF1, 0xEF, 0xED, 0xE9, 0xE7, 0xE3, 0xDE, 0xDD, 0xDE, 0xE0, 0xE2, 0xE2, 0xE6, 0xEB, 0xEB, 0xEC, 0xEB, 0xED, 0xF1, 0xF6, 0xF8, 0xFC, + 0xFF, 0x00, 0x04, 0x05, 0x03, 0x03, 0x07, 0x09, 0x0E, 0x14, 0x1C, 0x25, 0x27, 0x29, 0x2D, 0x30, 0x38, 0x3D, 0x41, 0x46, 0x47, 0x4A, 0x47, 0x45, 0x49, 0x47, 0x45, 0x40, 0x3B, 0x39, 0x36, 0x31, + 0x2B, 0x28, 0x27, 0x25, 0x20, 0x1B, 0x18, 0x15, 0x13, 0x12, 0x0B, 0x0B, 0x08, 0x02, 0xFD, 0xF8, 0xF4, 0xF0, 0xE8, 0xE1, 0xDB, 0xD4, 0xCF, 0xCB, 0xC9, 0xC7, 0xC7, 0xC8, 0xC6, 0xC5, 0xC6, 0xC8, + 0xC7, 0xC7, 0xC9, 0xCC, 0xCE, 0xCD, 0xCD, 0xD1, 0xD0, 0xD1, 0xD3, 0xD4, 0xD8, 0xDC, 0xDC, 0xE1, 0xE3, 0xE7, 0xF0, 0xF3, 0xF4, 0xF7, 0xF9, 0xFC, 0xFC, 0xFC, 0x01, 0x06, 0x06, 0x05, 0x05, 0x09, + 0x0B, 0x08, 0x08, 0x0B, 0x0E, 0x0F, 0x0F, 0x10, 0x0D, 0x0C, 0x0D, 0x0C, 0x09, 0x08, 0x07, 0x07, 0x05, 0x04, 0x05, 0x07, 0x06, 0x06, 0x06, 0x08, 0x0A, 0x0C, 0x0C, 0x0C, 0x0F, 0x0F, 0x0F, 0x11, + 0x0F, 0x0D, 0x07, 0x05, 0x07, 0x06, 0x07, 0x08, 0x07, 0x05, 0x02, 0x04, 0x04, 0x06, 0x06, 0x05, 0x08, 0x05, 0x04, 0x05, 0x07, 0x06, 0x03, 0xFF, 0xFE, 0xFA, 0xF7, 0xF4, 0xF2, 0xEF, 0xEA, 0xE5, + 0xE3, 0xE1, 0xDE, 0xDB, 0xD7, 0xD4, 0xD2, 0xD2, 0xD0, 0xCB, 0xC7, 0xC7, 0xC6, 0xC3, 0xC2, 0xC4, 0xC6, 0xC7, 0xCB, 0xD0, 0xD3, 0xD4, 0xD6, 0xDD, 0xE0, 0xE2, 0xE5, 0xE8, 0xEC, 0xED, 0xEC, 0xEF, + 0xF5, 0xFA, 0x01, 0x07, 0x0F, 0x17, 0x1D, 0x25, 0x2B, 0x2E, 0x31, 0x37, 0x3B, 0x40, 0x42, 0x44, 0x43, 0x41, 0x3E, 0x3C, 0x3F, 0x3F, 0x41, 0x43, 0x44, 0x46, 0x49, 0x49, 0x48, 0x45, 0x3F, 0x38, + 0x32, 0x2D, 0x2E, 0x2E, 0x2D, 0x27, 0x20, 0x1A, 0x13, 0x0C, 0x05, 0xFC, 0xFC, 0xFD, 0xF4, 0xEF, 0xEC, 0xE6, 0xDF, 0xD2, 0xCD, 0xCD, 0xCD, 0xCF, 0xD1, 0xD2, 0xD2, 0xD2, 0xD4, 0xD3, 0xD4, 0xD4, + 0xD5, 0xD7, 0xD4, 0xD5, 0xD8, 0xD8, 0xD7, 0xD5, 0xD5, 0xD5, 0xD6, 0xD7, 0xDC, 0xE1, 0xE6, 0xEC, 0xEF, 0xF2, 0xF4, 0xF2, 0xEF, 0xEC, 0xED, 0xF0, 0xF0, 0xF6, 0xFA, 0xFD, 0xFE, 0xFC, 0xFD, 0xFD, + 0xFE, 0xFE, 0xFF, 0xFE, 0xFF, 0xFC, 0xF7, 0xF3, 0xEF, 0xEA, 0xE1, 0xD9, 0xD9, 0xDB, 0xDD, 0xE4, 0xEC, 0xF4, 0xFB, 0x00, 0x02, 0x04, 0x02, 0x01, 0x06, 0x0A, 0x0F, 0x13, 0x14, 0x14, 0x13, 0x16, + 0x18, 0x1B, 0x21, 0x25, 0x2C, 0x36, 0x3D, 0x46, 0x4C, 0x4F, 0x4F, 0x50, 0x54, 0x58, 0x5E, 0x62, 0x66, 0x6B, 0x6E, 0x72, 0x76, 0x77, 0x6E, 0x64, 0x58, 0x50, 0x45, 0x41, 0x3A, 0x37, 0x2F, 0x20, + 0x16, 0x0F, 0x09, 0x08, 0x00, 0xFB, 0xF8, 0xF1, 0xEF, 0xED, 0xE9, 0xE1, 0xD6, 0xCC, 0xC6, 0xBC, 0xB6, 0xB0, 0xAD, 0xAE, 0xAF, 0xB0, 0xB1, 0xAE, 0xAE, 0xAA, 0xA9, 0xA8, 0xAD, 0xB0, 0xB5, 0xB8, + 0xC0, 0xC6, 0xCC, 0xD2, 0xD9, 0xDB, 0xDE, 0xE1, 0xE9, 0xF2, 0xF9, 0x00, 0x02, 0x01, 0x04, 0x06, 0x08, 0x0F, 0x13, 0x15, 0x1B, 0x22, 0x2A, 0x2D, 0x30, 0x30, 0x2F, 0x2C, 0x28, 0x27, 0x25, 0x23, + 0x22, 0x1F, 0x1F, 0x1D, 0x19, 0x17, 0x13, 0x0F, 0x0A, 0x05, 0x06, 0x07, 0x07, 0x07, 0x05, 0x06, 0x04, 0x01, 0x02, 0x03, 0x04, 0x09, 0x08, 0x09, 0x0A, 0x09, 0x06, 0x04, 0x02, 0xFE, 0xFB, 0xF8, + 0xFA, 0xFC, 0xFE, 0x00, 0x03, 0x06, 0x05, 0x05, 0x07, 0x06, 0x07, 0x0A, 0x06, 0x06, 0x02, 0xFE, 0xFA, 0xF6, 0xF3, 0xEB, 0xE6, 0xE3, 0xDF, 0xDD, 0xDE, 0xDC, 0xDB, 0xD9, 0xD6, 0xD4, 0xD3, 0xD0, + 0xCE, 0xCC, 0xCD, 0xCA, 0xCC, 0xCF, 0xCE, 0xCC, 0xC9, 0xC8, 0xCB, 0xC9, 0xC9, 0xCC, 0xD0, 0xD3, 0xD4, 0xD8, 0xDC, 0xE0, 0xE6, 0xE9, 0xEB, 0xF3, 0xF8, 0xFB, 0xFE, 0x01, 0x04, 0x0A, 0x0F, 0x10, + 0x13, 0x17, 0x17, 0x1B, 0x1E, 0x20, 0x24, 0x29, 0x29, 0x2C, 0x2F, 0x2E, 0x2B, 0x29, 0x29, 0x28, 0x25, 0x21, 0x1F, 0x1D, 0x1C, 0x1B, 0x1B, 0x19, 0x17, 0x17, 0x19, 0x18, 0x1B, 0x1D, 0x1D, 0x20, + 0x1F, 0x1F, 0x1F, 0x1E, 0x1E, 0x1A, 0x17, 0x16, 0x10, 0x10, 0x0E, 0x0A, 0x07, 0x02, 0xFC, 0xF9, 0xF8, 0xFB, 0xFA, 0xFD, 0xFE, 0xFC, 0x00, 0x00, 0x02, 0x05, 0x07, 0x08, 0x07, 0x0A, 0x0B, 0x0A, + 0x0A, 0x07, 0x05, 0x05, 0x05, 0x06, 0x06, 0x06, 0x02, 0xFE, 0xFA, 0xF7, 0xF7, 0xF5, 0xF0, 0xEC, 0xE8, 0xE3, 0xE1, 0xE3, 0xE2, 0xE1, 0xDE, 0xDD, 0xDD, 0xE1, 0xE3, 0xE4, 0xE6, 0xE4, 0xE3, 0xE2, + 0xE1, 0xE1, 0xE4, 0xE3, 0xE2, 0xE1, 0xE2, 0xE2, 0xE2, 0xE4, 0xE6, 0xEB, 0xEF, 0xF1, 0xF4, 0xF8, 0xFA, 0xF9, 0xFA, 0xFF, 0x04, 0x06, 0x09, 0x0C, 0x11, 0x13, 0x14, 0x19, 0x1E, 0x22, 0x26, 0x29, + 0x2A, 0x29, 0x2A, 0x28, 0x28, 0x28, 0x25, 0x25, 0x22, 0x1E, 0x1E, 0x1D, 0x1C, 0x1D, 0x1C, 0x1C, 0x1D, 0x1F, 0x1F, 0x1F, 0x1B, 0x1C, 0x19, 0x15, 0x10, 0x0E, 0x0A, 0x04, 0x01, 0xFC, 0xF8, 0xF6, + 0xF4, 0xF2, 0xEF, 0xEE, 0xEC, 0xE9, 0xE9, 0xE9, 0xE8, 0xE8, 0xE7, 0xE3, 0xE0, 0xDE, 0xDE, 0xDB, 0xDB, 0xDA, 0xDA, 0xD8, 0xD9, 0xDD, 0xDF, 0xDF, 0xDE, 0xDF, 0xE1, 0xE0, 0xE1, 0xE3, 0xE7, 0xE8, + 0xE8, 0xEA, 0xEE, 0xF1, 0xF3, 0xF6, 0xF8, 0xF8, 0xFB, 0xFD, 0xFE, 0xFE, 0xFE, 0xFE, 0xFD, 0xFE, 0xFE, 0x01, 0x07, 0x0A, 0x10, 0x14, 0x19, 0x21, 0x28, 0x2D, 0x30, 0x32, 0x35, 0x36, 0x37, 0x37, + 0x35, 0x31, 0x2E, 0x2C, 0x29, 0x27, 0x28, 0x24, 0x25, 0x25, 0x25, 0x25, 0x25, 0x23, 0x22, 0x21, 0x1F, 0x1D, 0x1C, 0x1A, 0x17, 0x16, 0x14, 0x11, 0x11, 0x0E, 0x0C, 0x0B, 0x06, 0x01, 0xFD, 0xF6, + 0xEE, 0xE9, 0xE6, 0xE2, 0xDD, 0xDC, 0xD7, 0xD7, 0xD6, 0xD5, 0xD7, 0xDA, 0xDC, 0xDF, 0xE0, 0xE3, 0xE2, 0xE3, 0xE2, 0xE2, 0xE3, 0xDF, 0xDD, 0xDE, 0xDD, 0xDD, 0xDE, 0xE0, 0xDF, 0xDF, 0xE2, 0xE3, + 0xE8, 0xEB, 0xEB, 0xEE, 0xEF, 0xF2, 0xF5, 0xF6, 0xFA, 0xFC, 0xFE, 0x03, 0x07, 0x0C, 0x11, 0x15, 0x18, 0x1A, 0x1B, 0x1C, 0x1A, 0x19, 0x18, 0x14, 0x11, 0x0F, 0x0E, 0x0D, 0x0F, 0x0F, 0x10, 0x12, + 0x15, 0x16, 0x17, 0x1C, 0x20, 0x25, 0x25, 0x26, 0x26, 0x24, 0x20, 0x1C, 0x1A, 0x17, 0x13, 0x0F, 0x0C, 0x09, 0x07, 0x04, 0x00, 0xFE, 0xFA, 0xF7, 0xF2, 0xF0, 0xEE, 0xEB, 0xEA, 0xE8, 0xE9, 0xEA, + 0xEA, 0xEB, 0xE9, 0xE9, 0xE7, 0xE8, 0xE8, 0xE7, 0xE8, 0xE6, 0xDF, 0xDD, 0xDA, 0xD5, 0xD3, 0xD0, 0xCF, 0xD0, 0xD0, 0xD1, 0xD2, 0xD3, 0xD6, 0xD5, 0xD6, 0xD7, 0xD8, 0xD9, 0xDA, 0xDB, 0xDA, 0xD8, + 0xD9, 0xDB, 0xDD, 0xDC, 0xDC, 0xDB, 0xDB, 0xDB, 0xDD, 0xE2, 0xE6, 0xE7, 0xE4, 0xE2, 0xDF, 0xDD, 0xDC, 0xDC, 0xE0, 0xE2, 0xE4, 0xE7, 0xEB, 0xEB, 0xF0, 0xF4, 0xF9, 0x03, 0x08, 0x11, 0x1C, 0x26, + 0x2E, 0x32, 0x37, 0x3E, 0x43, 0x4A, 0x50, 0x59, 0x62, 0x67, 0x6B, 0x6C, 0x69, 0x69, 0x69, 0x6A, 0x6C, 0x68, 0x68, 0x63, 0x5A, 0x54, 0x4B, 0x44, 0x41, 0x39, 0x38, 0x36, 0x38, 0x3A, 0x37, 0x33, + 0x30, 0x2E, 0x2B, 0x26, 0x23, 0x1D, 0x17, 0x0F, 0x06, 0xFC, 0xF6, 0xEE, 0xE9, 0xE3, 0xDF, 0xD9, 0xD3, 0xD1, 0xD0, 0xD0, 0xD2, 0xCF, 0xCF, 0xCE, 0xCB, 0xC9, 0xC7, 0xC9, 0xCC, 0xD0, 0xD3, 0xDC, + 0xE6, 0xE8, 0xF0, 0xF5, 0xFF, 0x07, 0x0C, 0x10, 0x15, 0x18, 0x19, 0x1A, 0x1B, 0x1D, 0x1B, 0x1A, 0x16, 0x14, 0x15, 0x16, 0x17, 0x17, 0x18, 0x17, 0x15, 0x12, 0x10, 0x0F, 0x0B, 0x09, 0x0B, 0x09, + 0x06, 0x02, 0x00, 0xFD, 0xFA, 0xF7, 0xF2, 0xF0, 0xEC, 0xE7, 0xDF, 0xDB, 0xD9, 0xD3, 0xCF, 0xC8, 0xC2, 0xBF, 0xBA, 0xB9, 0xB6, 0xB7, 0xBA, 0xBF, 0xC5, 0xC9, 0xCC, 0xD1, 0xD4, 0xDA, 0xDD, 0xE3, + 0xED, 0xF5, 0xFC, 0x00, 0x04, 0x0A, 0x0E, 0x14, 0x1A, 0x21, 0x29, 0x2C, 0x31, 0x34, 0x35, 0x35, 0x36, 0x39, 0x39, 0x37, 0x37, 0x37, 0x36, 0x31, 0x31, 0x2E, 0x2C, 0x2A, 0x2A, 0x27, 0x22, 0x1B, + 0x16, 0x14, 0x12, 0x0C, 0x05, 0xFF, 0xF8, 0xEF, 0xE5, 0xDC, 0xD5, 0xD2, 0xCD, 0xC5, 0xBC, 0xB3, 0xB1, 0xB1, 0xAE, 0xAE, 0xAF, 0xB4, 0xB6, 0xB7, 0xBC, 0xBE, 0xC5, 0xC7, 0xCA, 0xCE, 0xCE, 0xD1, + 0xD5, 0xD8, 0xDC, 0xDE, 0xE3, 0xE8, 0xEA, 0xEF, 0xF4, 0xF7, 0xFF, 0x06, 0x0C, 0x12, 0x17, 0x1A, 0x1D, 0x1F, 0x21, 0x22, 0x24, 0x27, 0x29, 0x2C, 0x2A, 0x27, 0x24, 0x20, 0x21, 0x20, 0x1E, 0x1C, + 0x1A, 0x19, 0x14, 0x12, 0x11, 0x10, 0x16, 0x16, 0x15, 0x15, 0x15, 0x10, 0x0E, 0x0F, 0x0F, 0x0C, 0x0A, 0x09, 0x04, 0xFF, 0xF9, 0xF7, 0xF9, 0xFB, 0xFE, 0xFE, 0xFF, 0x00, 0x00, 0x02, 0x06, 0x0C, + 0x13, 0x18, 0x1A, 0x1A, 0x1B, 0x1E, 0x1F, 0x20, 0x1F, 0x20, 0x1F, 0x1F, 0x1E, 0x1B, 0x1B, 0x17, 0x13, 0x14, 0x13, 0x10, 0x0D, 0x08, 0x07, 0x05, 0x03, 0x03, 0x02, 0xFF, 0xFC, 0xF8, 0xF0, 0xEC, + 0xEC, 0xEB, 0xE9, 0xE8, 0xE4, 0xDF, 0xDA, 0xD8, 0xD5, 0xD3, 0xCF, 0xCF, 0xCF, 0xCE, 0xD0, 0xD0, 0xD3, 0xD3, 0xD4, 0xD8, 0xD8, 0xDC, 0xDE, 0xE1, 0xE3, 0xE9, 0xEE, 0xF1, 0xF8, 0xF9, 0xF9, 0xFA, + 0xFC, 0x05, 0x10, 0x15, 0x1A, 0x20, 0x24, 0x27, 0x29, 0x2B, 0x2E, 0x31, 0x30, 0x30, 0x2F, 0x2E, 0x2B, 0x2D, 0x2B, 0x2B, 0x28, 0x26, 0x28, 0x28, 0x26, 0x21, 0x20, 0x22, 0x1F, 0x1E, 0x17, 0x10, + 0x0B, 0x02, 0xFA, 0xF7, 0xF5, 0xF4, 0xF2, 0xE8, 0xE2, 0xE2, 0xE0, 0xE1, 0xE3, 0xE3, 0xE1, 0xDF, 0xDA, 0xD8, 0xD7, 0xD9, 0xDA, 0xDA, 0xD5, 0xD4, 0xD4, 0xD2, 0xD4, 0xD3, 0xD3, 0xD6, 0xDB, 0xDC, + 0xDB, 0xDC, 0xE0, 0xE3, 0xE4, 0xE6, 0xEB, 0xF4, 0xFB, 0x00, 0x01, 0x02, 0x07, 0x0A, 0x0D, 0x12, 0x14, 0x14, 0x13, 0x10, 0x0F, 0x0C, 0x07, 0x05, 0x03, 0x03, 0x00, 0x00, 0xFE, 0xFB, 0xFB, 0xFC, + 0xFF, 0x03, 0x04, 0x08, 0x09, 0x09, 0x0C, 0x0E, 0x14, 0x13, 0x11, 0x0F, 0x0B, 0x0D, 0x12, 0x15, 0x15, 0x15, 0x14, 0x13, 0x11, 0x0E, 0x11, 0x13, 0x13, 0x12, 0x0D, 0x0C, 0x08, 0x06, 0x07, 0x07, + 0x08, 0x07, 0x07, 0x07, 0x0A, 0x10, 0x15, 0x19, 0x1D, 0x1F, 0x1F, 0x1F, 0x20, 0x1C, 0x1B, 0x17, 0x16, 0x12, 0x0D, 0x07, 0xFF, 0xF7, 0xEF, 0xE8, 0xE6, 0xE7, 0xE4, 0xE3, 0xE4, 0xE8, 0xEE, 0xEB, + 0xEC, 0xEE, 0xF1, 0xF5, 0xF8, 0xFA, 0xFC, 0x00, 0xFF, 0xFB, 0xF8, 0xF7, 0xF4, 0xF1, 0xEE, 0xEE, 0xEE, 0xEC, 0xE9, 0xE9, 0xE5, 0xE8, 0xEB, 0xEA, 0xED, 0xF0, 0xF2, 0xF5, 0xF7, 0xF5, 0xF4, 0xF4, + 0xF6, 0xF8, 0xFB, 0xFC, 0xFB, 0xFC, 0xFE, 0xFF, 0x06, 0x0C, 0x16, 0x18, 0x18, 0x16, 0x16, 0x12, 0x0F, 0x10, 0x0F, 0x11, 0x12, 0x10, 0x0A, 0x07, 0x02, 0x01, 0x08, 0x10, 0x15, 0x1B, 0x1E, 0x24, + 0x25, 0x23, 0x21, 0x21, 0x23, 0x24, 0x24, 0x25, 0x21, 0x1A, 0x13, 0x0D, 0x09, 0x05, 0x01, 0xFC, 0xF5, 0xE9, 0xDD, 0xD2, 0xC9, 0xC7, 0xBF, 0xB6, 0xAC, 0xA6, 0xA5, 0xA3, 0xA7, 0xAD, 0xB6, 0xB2, + 0xAF, 0xAD, 0xA8, 0xAF, 0xB1, 0xB4, 0xB3, 0xB5, 0xB3, 0xAE, 0xB3, 0xB3, 0xB8, 0xBB, 0xC2, 0xCA, 0xCB, 0xD2, 0xDA, 0xDC, 0xDE, 0xDD, 0xE0, 0xE8, 0xEF, 0xF3, 0xF4, 0xF6, 0xFF, 0x0B, 0x1A, 0x29, + 0x39, 0x40, 0x4A, 0x4F, 0x59, 0x63, 0x6B, 0x74, 0x78, 0x7C, 0x78, 0x6F, 0x69, 0x5F, 0x62, 0x5D, 0x5A, 0x55, 0x4F, 0x52, 0x4D, 0x45, 0x3F, 0x3C, 0x3F, 0x40, 0x48, 0x48, 0x48, 0x42, 0x40, 0x41, + 0x44, 0x47, 0x45, 0x3C, 0x2E, 0x1D, 0x12, 0x0B, 0x0D, 0x0C, 0x05, 0xF8, 0xE8, 0xE1, 0xD6, 0xD2, 0xD4, 0xDA, 0xE6, 0xF2, 0xFA, 0xF8, 0xFF, 0xFF, 0x02, 0x07, 0x0E, 0x14, 0x1B, 0x1C, 0x1A, 0x1C, + 0x1C, 0x1B, 0x22, 0x21, 0x24, 0x2A, 0x2B, 0x30, 0x36, 0x40, 0x3E, 0x43, 0x46, 0x3F, 0x39, 0x37, 0x35, 0x31, 0x29, 0x22, 0x21, 0x1B, 0x13, 0x0D, 0x05, 0xFF, 0xFB, 0xF9, 0xF9, 0xF5, 0xF8, 0xF4, + 0xED, 0xE3, 0xDC, 0xDC, 0xD9, 0xD6, 0xD1, 0xC7, 0xBE, 0xB7, 0xB0, 0xAD, 0xAC, 0xB0, 0xAE, 0xAB, 0xAA, 0xAA, 0xAA, 0xAA, 0xAE, 0xB8, 0xB8, 0xB6, 0xB2, 0xB8, 0xBE, 0xC0, 0xC2, 0xC4, 0xC8, 0xCC, + 0xD0, 0xD4, 0xD8, 0xE1, 0xEA, 0xEE, 0xF0, 0xF4, 0xF9, 0xF5, 0xF4, 0xFB, 0x01, 0x05, 0x02, 0x07, 0x0F, 0x0E, 0x07, 0x05, 0x06, 0x09, 0x0D, 0x0F, 0x0E, 0x0D, 0x07, 0x06, 0x05, 0x04, 0x07, 0x08, + 0x07, 0x04, 0xFF, 0xFA, 0xF4, 0xF0, 0xEE, 0xEB, 0xE5, 0xE2, 0xD7, 0xCE, 0xC2, 0xBD, 0xBE, 0xC2, 0xC7, 0xCD, 0xCC, 0xD0, 0xCF, 0xD3, 0xD8, 0xE4, 0xE7, 0xF0, 0xF7, 0xFD, 0x02, 0x03, 0xFA, 0xF5, + 0xF3, 0xF5, 0xF6, 0xF8, 0xF9, 0xFA, 0xFE, 0xFD, 0x02, 0x0F, 0x19, 0x20, 0x27, 0x2D, 0x35, 0x3E, 0x47, 0x4E, 0x4D, 0x46, 0x3D, 0x34, 0x2C, 0x26, 0x20, 0x1B, 0x14, 0x0C, 0x07, 0x08, 0x08, 0x08, + 0x07, 0x05, 0x04, 0x01, 0xFA, 0xFF, 0x06, 0x02, 0xF8, 0xEF, 0xEB, 0xE6, 0xE2, 0xE4, 0xE3, 0xE1, 0xE1, 0xE4, 0xE9, 0xEA, 0xED, 0xE9, 0xE9, 0xE6, 0xEB, 0xEE, 0xEB, 0xEB, 0xEE, 0xEE, 0xF1, 0xF5, + 0xFB, 0x01, 0x07, 0x08, 0x10, 0x17, 0x15, 0x1C, 0x1D, 0x1F, 0x22, 0x29, 0x32, 0x36, 0x36, 0x35, 0x34, 0x33, 0x3D, 0x45, 0x49, 0x48, 0x42, 0x3A, 0x33, 0x2A, 0x24, 0x24, 0x24, 0x1B, 0x14, 0x11, + 0x11, 0x13, 0x17, 0x1B, 0x1E, 0x1A, 0x19, 0x1B, 0x26, 0x2E, 0x2B, 0x28, 0x21, 0x1D, 0x15, 0x11, 0x10, 0x0B, 0x06, 0xFD, 0xF8, 0xF5, 0xF2, 0xF2, 0xF0, 0xEE, 0xEB, 0xEA, 0xEA, 0xEA, 0xF0, 0xF1, + 0xF1, 0xF3, 0xF0, 0xED, 0xF0, 0xF0, 0xF2, 0xF5, 0xEE, 0xE9, 0xE8, 0xED, 0xF2, 0xF4, 0xEF, 0xEA, 0xE2, 0xDE, 0xD9, 0xDA, 0xDD, 0xDB, 0xD2, 0xCE, 0xD0, 0xCD, 0xCC, 0xCA, 0xCB, 0xCC, 0xC9, 0xCE, + 0xD5, 0xD8, 0xD9, 0xD4, 0xD3, 0xD5, 0xD8, 0xDD, 0xDB, 0xDE, 0xDD, 0xDE, 0xE6, 0xEE, 0xF7, 0xFD, 0xFE, 0x03, 0x00, 0x01, 0x02, 0x06, 0x0F, 0x15, 0x19, 0x19, 0x17, 0x1B, 0x20, 0x25, 0x29, 0x2E, + 0x36, 0x3C, 0x40, 0x42, 0x43, 0x41, 0x3A, 0x37, 0x37, 0x39, 0x37, 0x33, 0x30, 0x2F, 0x2E, 0x2F, 0x31, 0x33, 0x2F, 0x2A, 0x28, 0x27, 0x27, 0x25, 0x1F, 0x18, 0x11, 0x0A, 0x02, 0xFD, 0xF6, 0xF1, + 0xEC, 0xE8, 0xE9, 0xEC, 0xEC, 0xED, 0xEC, 0xEA, 0xE5, 0xE5, 0xE9, 0xE6, 0xE3, 0xDA, 0xD4, 0xCF, 0xCA, 0xC7, 0xC8, 0xC7, 0xBF, 0xB7, 0xB3, 0xB4, 0xBB, 0xC5, 0xCD, 0xCD, 0xCE, 0xCD, 0xD1, 0xDA, + 0xE2, 0xE8, 0xEE, 0xEF, 0xEF, 0xF2, 0xF6, 0xF9, 0x01, 0x07, 0x07, 0x02, 0x00, 0x03, 0x05, 0xFF, 0xF8, 0xF7, 0xF1, 0xF1, 0xEA, 0xE8, 0xED, 0xEC, 0xEC, 0xEC, 0xF3, 0xF8, 0xFC, 0xFD, 0xFE, 0x03, + 0x07, 0x04, 0x05, 0x07, 0x03, 0xFD, 0xF9, 0xFA, 0xF9, 0xFA, 0xF7, 0xF6, 0xF8, 0xFA, 0xFF, 0xFE, 0x03, 0x06, 0x08, 0x0C, 0x10, 0x17, 0x1C, 0x20, 0x23, 0x20, 0x21, 0x27, 0x2C, 0x37, 0x3E, 0x3A, + 0x33, 0x33, 0x31, 0x32, 0x2F, 0x30, 0x39, 0x37, 0x2A, 0x22, 0x1E, 0x1E, 0x22, 0x20, 0x22, 0x24, 0x20, 0x14, 0x0A, 0x05, 0x03, 0x03, 0xFE, 0xF9, 0xF2, 0xE5, 0xD6, 0xD2, 0xCE, 0xCC, 0xCB, 0xC7, + 0xC7, 0xC6, 0xC6, 0xC2, 0xC2, 0xC3, 0xC1, 0xBC, 0xB6, 0xB2, 0xB4, 0xB3, 0xAF, 0xAA, 0xA6, 0xA4, 0xA3, 0xA4, 0xAC, 0xAE, 0xAF, 0xB4, 0xBB, 0xC4, 0xCD, 0xD0, 0xD2, 0xCD, 0xCD, 0xD0, 0xD9, 0xE8, + 0xF6, 0xFC, 0xFD, 0xF6, 0xF3, 0xF6, 0x03, 0x14, 0x1B, 0x20, 0x22, 0x21, 0x1B, 0x11, 0x0D, 0x12, 0x1E, 0x2D, 0x33, 0x37, 0x32, 0x2A, 0x24, 0x29, 0x31, 0x3B, 0x41, 0x44, 0x47, 0x44, 0x3C, 0x34, + 0x37, 0x39, 0x3C, 0x42, 0x4B, 0x59, 0x5F, 0x57, 0x50, 0x4E, 0x5B, 0x60, 0x60, 0x58, 0x4F, 0x3F, 0x2A, 0x1C, 0x18, 0x20, 0x1D, 0x16, 0x13, 0x0E, 0x0B, 0x06, 0x06, 0x0E, 0x26, 0x32, 0x30, 0x25, + 0x1C, 0x14, 0x0E, 0x14, 0x15, 0x0F, 0xFF, 0xEE, 0xE4, 0xE4, 0xE1, 0xD7, 0xD2, 0xD3, 0xE1, 0xE9, 0xEB, 0xED, 0xF1, 0xF1, 0xF0, 0xF8, 0xFF, 0xFF, 0xFE, 0xF9, 0xF3, 0xF1, 0xE5, 0xE3, 0xDB, 0xD5, + 0xD5, 0xDB, 0xE8, 0xEE, 0xF4, 0xF0, 0xF0, 0xF6, 0xFD, 0x09, 0x0E, 0x0C, 0x0B, 0x10, 0x18, 0x17, 0x12, 0x06, 0xFF, 0x06, 0x0C, 0x17, 0x15, 0x10, 0x0F, 0x1D, 0x29, 0x2C, 0x2F, 0x28, 0x2D, 0x35, + 0x37, 0x38, 0x31, 0x2F, 0x31, 0x32, 0x31, 0x30, 0x2A, 0x20, 0x17, 0x13, 0x13, 0x15, 0x15, 0x12, 0x11, 0x18, 0x1B, 0x1A, 0x14, 0x0B, 0x02, 0xFD, 0xFF, 0x05, 0x04, 0xF7, 0xE3, 0xDA, 0xD7, 0xDA, + 0xDB, 0xD7, 0xD1, 0xCD, 0xC7, 0xCB, 0xD1, 0xD8, 0xDA, 0xD9, 0xD4, 0xCE, 0xC0, 0xB5, 0xB5, 0xBB, 0xB9, 0xB8, 0xB1, 0xA8, 0xA1, 0xA0, 0xA1, 0xAD, 0xB2, 0xB1, 0xB0, 0xB0, 0xBC, 0xD0, 0xD9, 0xD4, + 0xCD, 0xC8, 0xCB, 0xD1, 0xD9, 0xDB, 0xDE, 0xDD, 0xD9, 0xDC, 0xDB, 0xDF, 0xE2, 0xE3, 0xEB, 0xEF, 0xF5, 0xF8, 0xFD, 0x04, 0x05, 0x04, 0x04, 0x07, 0x0D, 0x0D, 0x0F, 0x10, 0x10, 0x13, 0x11, 0x12, + 0x1B, 0x21, 0x27, 0x28, 0x24, 0x21, 0x25, 0x28, 0x26, 0x26, 0x23, 0x1D, 0x0F, 0x06, 0x07, 0x0B, 0x07, 0x07, 0x0A, 0x08, 0x0C, 0x10, 0x11, 0x13, 0x12, 0x18, 0x1D, 0x1C, 0x1E, 0x1B, 0x17, 0x10, + 0x0C, 0x0B, 0x04, 0x08, 0x0E, 0x10, 0x0C, 0x09, 0x05, 0x03, 0x04, 0x07, 0x0F, 0x13, 0x15, 0x12, 0x12, 0x06, 0xFC, 0xFC, 0xF9, 0xFF, 0x06, 0x01, 0xF8, 0xF0, 0xF1, 0xF8, 0xF7, 0xF3, 0xEC, 0xE6, + 0xDA, 0xD5, 0xD4, 0xCD, 0xCA, 0xC7, 0xC7, 0xC2, 0xC1, 0xC8, 0xD1, 0xDA, 0xDF, 0xEC, 0xF8, 0x00, 0x08, 0x0C, 0x0C, 0x0E, 0x03, 0xFD, 0xF6, 0xF9, 0xFC, 0x01, 0x03, 0x01, 0x09, 0x10, 0x1F, 0x2E, + 0x3A, 0x45, 0x4B, 0x54, 0x5E, 0x6B, 0x70, 0x6A, 0x65, 0x5F, 0x57, 0x55, 0x59, 0x5E, 0x5E, 0x5D, 0x5A, 0x56, 0x58, 0x54, 0x56, 0x50, 0x4A, 0x3F, 0x33, 0x26, 0x1A, 0x11, 0x05, 0xFC, 0xF7, 0xEE, + 0xE9, 0xE2, 0xE1, 0xE3, 0xE1, 0xDD, 0xD7, 0xD1, 0xCB, 0xC6, 0xC5, 0xBC, 0xAD, 0x9F, 0x95, 0x94, 0x95, 0x96, 0x96, 0x98, 0x9B, 0xA2, 0xA7, 0xB3, 0xBF, 0xCE, 0xDA, 0xD9, 0xDB, 0xDE, 0xDB, 0xDB, + 0xE1, 0xE9, 0xEB, 0xEB, 0xE3, 0xDE, 0xE1, 0xEA, 0xF5, 0x01, 0x06, 0x08, 0x07, 0x09, 0x0F, 0x13, 0x13, 0x0A, 0x06, 0x03, 0x00, 0xFA, 0xF5, 0xF5, 0xF1, 0xF0, 0xF2, 0xF6, 0xFA, 0xFB, 0xFF, 0x05, + 0x03, 0x07, 0x07, 0x07, 0x02, 0x01, 0x03, 0x05, 0x03, 0xFD, 0xFD, 0x02, 0x05, 0x07, 0x0C, 0x0C, 0x11, 0x16, 0x1A, 0x1E, 0x24, 0x28, 0x28, 0x28, 0x27, 0x25, 0x27, 0x24, 0x25, 0x24, 0x25, 0x27, + 0x29, 0x28, 0x25, 0x29, 0x2D, 0x2F, 0x32, 0x3A, 0x3D, 0x40, 0x41, 0x41, 0x42, 0x41, 0x3A, 0x39, 0x33, 0x30, 0x29, 0x1E, 0x14, 0x0B, 0x05, 0x00, 0xF4, 0xEF, 0xED, 0xF2, 0xF0, 0xEE, 0xF3, 0xF7, + 0xF9, 0xFF, 0x00, 0xFD, 0xFC, 0xF7, 0xF0, 0xEA, 0xE2, 0xDE, 0xD5, 0xD0, 0xCC, 0xC6, 0xBD, 0xB2, 0xB1, 0xB4, 0xB8, 0xBF, 0xC7, 0xD2, 0xD3, 0xD0, 0xCC, 0xCC, 0xD2, 0xD6, 0xDC, 0xE1, 0xE8, 0xEC, + 0xEE, 0xEE, 0xF0, 0xF1, 0xF7, 0xFE, 0x08, 0x12, 0x16, 0x19, 0x1A, 0x17, 0x10, 0x0A, 0x05, 0x03, 0x03, 0x05, 0x04, 0x01, 0x02, 0x09, 0x0E, 0x15, 0x1A, 0x21, 0x23, 0x22, 0x26, 0x2D, 0x32, 0x31, + 0x2E, 0x2A, 0x25, 0x23, 0x21, 0x17, 0x0C, 0x0B, 0x0E, 0x15, 0x1C, 0x1F, 0x19, 0x10, 0x0A, 0x09, 0x0A, 0x0E, 0x0E, 0x0E, 0x11, 0x0F, 0x0B, 0x02, 0xFE, 0xFD, 0xFB, 0xF3, 0xED, 0xE8, 0xE1, 0xDA, + 0xD8, 0xD7, 0xD7, 0xD7, 0xD5, 0xCC, 0xC8, 0xCA, 0xD1, 0xD7, 0xD5, 0xD4, 0xD2, 0xCC, 0xC7, 0xC7, 0xBE, 0xB4, 0xAE, 0xAD, 0xAF, 0xAB, 0xA9, 0xA7, 0xAA, 0xAE, 0xB4, 0xB6, 0xBF, 0xC5, 0xC8, 0xC7, + 0xCB, 0xD1, 0xD5, 0xD8, 0xDE, 0xE1, 0xE4, 0xE8, 0xE9, 0xE8, 0xE8, 0xEF, 0xFA, 0xFF, 0x04, 0x0C, 0x0F, 0x11, 0x11, 0x14, 0x12, 0x0D, 0x0D, 0x0F, 0x0F, 0x0C, 0x04, 0x02, 0x04, 0x0A, 0x08, 0x05, + 0x02, 0x03, 0x09, 0x11, 0x19, 0x1F, 0x23, 0x23, 0x22, 0x23, 0x2B, 0x32, 0x3A, 0x3E, 0x3E, 0x3C, 0x3A, 0x37, 0x3A, 0x3E, 0x3D, 0x3B, 0x3F, 0x43, 0x45, 0x47, 0x48, 0x4F, 0x51, 0x54, 0x57, 0x60, + 0x6A, 0x74, 0x75, 0x73, 0x6C, 0x63, 0x59, 0x54, 0x51, 0x4C, 0x3E, 0x35, 0x2C, 0x21, 0x17, 0x0F, 0x0E, 0x08, 0x03, 0x01, 0xFF, 0x01, 0xFF, 0xF8, 0xF0, 0xE9, 0xEA, 0xE7, 0xDF, 0xDC, 0xD7, 0xCE, + 0xC8, 0xC0, 0xBD, 0xC1, 0xC2, 0xC6, 0xC7, 0xC3, 0xCA, 0xCA, 0xCA, 0xCE, 0xD1, 0xD7, 0xD9, 0xDE, 0xE7, 0xED, 0xF4, 0xFF, 0x08, 0x07, 0x04, 0x04, 0x07, 0x0F, 0x17, 0x1D, 0x20, 0x1B, 0x15, 0x12, + 0x0C, 0x0B, 0x07, 0x03, 0x04, 0x09, 0x10, 0x18, 0x1C, 0x1C, 0x19, 0x19, 0x18, 0x1D, 0x23, 0x29, 0x30, 0x35, 0x3A, 0x37, 0x2F, 0x24, 0x1C, 0x18, 0x18, 0x14, 0x0F, 0x08, 0xFF, 0xF6, 0xEF, 0xEC, + 0xE8, 0xE2, 0xE1, 0xE5, 0xE9, 0xEB, 0xEA, 0xEE, 0xF3, 0xF8, 0xFD, 0xFA, 0xF7, 0xF2, 0xED, 0xE8, 0xE3, 0xE2, 0xDD, 0xD8, 0xD2, 0xD0, 0xD0, 0xD0, 0xCE, 0xCD, 0xCF, 0xD1, 0xD5, 0xD8, 0xD9, 0xDC, + 0xDC, 0xDB, 0xDD, 0xE0, 0xE0, 0xDA, 0xD2, 0xD1, 0xD4, 0xD7, 0xD7, 0xD7, 0xD7, 0xD8, 0xD8, 0xD6, 0xD3, 0xCE, 0xCB, 0xCA, 0xC9, 0xC7, 0xC8, 0xC7, 0xC7, 0xC6, 0xC7, 0xCB, 0xD3, 0xD6, 0xDB, 0xE5, + 0xF0, 0xF5, 0xF6, 0xF5, 0xF8, 0xFF, 0x01, 0xFF, 0x00, 0x00, 0x00, 0xFE, 0x00, 0x06, 0x10, 0x13, 0x17, 0x20, 0x23, 0x2A, 0x2F, 0x32, 0x36, 0x3B, 0x3D, 0x3B, 0x3D, 0x3A, 0x35, 0x34, 0x32, 0x2F, + 0x2E, 0x2C, 0x2D, 0x30, 0x31, 0x33, 0x34, 0x2F, 0x2E, 0x2C, 0x29, 0x28, 0x26, 0x24, 0x20, 0x1B, 0x1C, 0x17, 0x0B, 0x02, 0xFC, 0xF7, 0xF2, 0xF0, 0xEB, 0xE8, 0xE5, 0xE0, 0xDB, 0xDB, 0xDA, 0xD9, + 0xDB, 0xDE, 0xE3, 0xE7, 0xE8, 0xE7, 0xE9, 0xEC, 0xED, 0xEE, 0xF1, 0xF3, 0xF5, 0xF4, 0xF3, 0xF8, 0xFB, 0xFE, 0xFF, 0x02, 0x07, 0x07, 0x08, 0x0C, 0x0D, 0x0C, 0x09, 0x06, 0x05, 0x03, 0x03, 0x04, + 0x08, 0x09, 0x08, 0x0B, 0x10, 0x15, 0x1D, 0x23, 0x2A, 0x2F, 0x2E, 0x2C, 0x2A, 0x26, 0x21, 0x1B, 0x13, 0x0C, 0x09, 0x06, 0x02, 0xFF, 0xFF, 0xFD, 0xFA, 0xF8, 0xFA, 0x03, 0x05, 0x03, 0x02, 0x01, + 0xFE, 0xF8, 0xF5, 0xF0, 0xF0, 0xE9, 0xE2, 0xE0, 0xDC, 0xDE, 0xE3, 0xE4, 0xE7, 0xEA, 0xED, 0xF0, 0xEF, 0xF1, 0xF8, 0xFB, 0xF7, 0xF4, 0xF2, 0xF3, 0xF5, 0xF6, 0xF6, 0xF8, 0xFC, 0xFE, 0x02, 0x08, + 0x0B, 0x0E, 0x12, 0x16, 0x19, 0x18, 0x18, 0x17, 0x16, 0x16, 0x16, 0x17, 0x15, 0x15, 0x10, 0x0D, 0x0B, 0x0B, 0x09, 0x08, 0x08, 0x04, 0xFE, 0xF6, 0xEE, 0xE6, 0xE1, 0xDD, 0xD7, 0xCF, 0xC7, 0xC2, + 0xC1, 0xC1, 0xC2, 0xC3, 0xC4, 0xC3, 0xC4, 0xC4, 0xC4, 0xC6, 0xC8, 0xC5, 0xC1, 0xC0, 0xC1, 0xC0, 0xC0, 0xC5, 0xC7, 0xCE, 0xD7, 0xE0, 0xE8, 0xEF, 0xF8, 0x03, 0x0D, 0x17, 0x22, 0x27, 0x2A, 0x2D, + 0x32, 0x33, 0x31, 0x31, 0x32, 0x3A, 0x40, 0x46, 0x4A, 0x4C, 0x51, 0x59, 0x5E, 0x63, 0x68, 0x6A, 0x68, 0x67, 0x63, 0x5F, 0x5B, 0x56, 0x54, 0x51, 0x4F, 0x4B, 0x45, 0x3F, 0x38, 0x34, 0x31, 0x2D, + 0x29, 0x23, 0x1F, 0x16, 0x0E, 0x05, 0xFB, 0xF3, 0xEA, 0xE3, 0xE0, 0xE3, 0xE0, 0xDC, 0xD8, 0xDA, 0xE0, 0xE4, 0xE6, 0xE9, 0xEA, 0xEB, 0xEB, 0xE9, 0xE7, 0xE5, 0xE1, 0xDC, 0xD8, 0xD4, 0xD0, 0xCB, + 0xC6, 0xC3, 0xC4, 0xC9, 0xCE, 0xD1, 0xD5, 0xDA, 0xDF, 0xE3, 0xE6, 0xE8, 0xEB, 0xEF, 0xF3, 0xF5, 0xF3, 0xF0, 0xEC, 0xEA, 0xE8, 0xE8, 0xE6, 0xE1, 0xDB, 0xDB, 0xDF, 0xE2, 0xE4, 0xE3, 0xE1, 0xE1, + 0xE2, 0xE6, 0xED, 0xF2, 0xF3, 0xF1, 0xF2, 0xF2, 0xF1, 0xF4, 0xF6, 0xF9, 0xFC, 0xFE, 0x01, 0x02, 0x04, 0x08, 0x0D, 0x14, 0x1A, 0x1F, 0x21, 0x21, 0x20, 0x1F, 0x1F, 0x21, 0x21, 0x20, 0x1F, 0x21, + 0x24, 0x24, 0x22, 0x20, 0x22, 0x22, 0x23, 0x20, 0x1C, 0x16, 0x10, 0x07, 0x01, 0xFE, 0xF9, 0xF1, 0xE7, 0xE0, 0xDC, 0xD9, 0xD7, 0xD6, 0xD3, 0xD1, 0xCE, 0xCC, 0xC7, 0xC1, 0xBD, 0xB8, 0xB4, 0xAE, + 0xAD, 0xAA, 0xA8, 0xA7, 0xAA, 0xB1, 0xB4, 0xB9, 0xBF, 0xC3, 0xC6, 0xCA, 0xD0, 0xD5, 0xDA, 0xDE, 0xDF, 0xDF, 0xE1, 0xE6, 0xEB, 0xEC, 0xEE, 0xF5, 0xFB, 0x02, 0x07, 0x0C, 0x0F, 0x0F, 0x10, 0x10, + 0x10, 0x15, 0x15, 0x14, 0x12, 0x11, 0x10, 0x0F, 0x0F, 0x11, 0x11, 0x0F, 0x0B, 0x08, 0x04, 0x05, 0x06, 0x03, 0x01, 0x01, 0x02, 0x06, 0x09, 0x0B, 0x13, 0x18, 0x19, 0x19, 0x17, 0x1B, 0x20, 0x22, + 0x1E, 0x1A, 0x1A, 0x1E, 0x23, 0x27, 0x2F, 0x33, 0x34, 0x39, 0x45, 0x55, 0x62, 0x66, 0x65, 0x64, 0x67, 0x6D, 0x72, 0x7A, 0x7F, 0x7B, 0x73, 0x6B, 0x69, 0x70, 0x72, 0x71, 0x6C, 0x67, 0x64, 0x5C, + 0x4C, 0x3F, 0x36, 0x30, 0x24, 0x1A, 0x10, 0x02, 0xFB, 0xF8, 0xF8, 0xF5, 0xF2, 0xED, 0xE6, 0xE1, 0xE3, 0xE8, 0xE6, 0xE0, 0xD8, 0xCF, 0xC8, 0xC3, 0xC1, 0xC1, 0xBD, 0xB9, 0xB8, 0xBA, 0xB9, 0xB9, + 0xBA, 0xC5, 0xCF, 0xD6, 0xD8, 0xD4, 0xD2, 0xDA, 0xE2, 0xE6, 0xE8, 0xE9, 0xE8, 0xEA, 0xEE, 0xF6, 0xFF, 0x05, 0x09, 0x07, 0x0F, 0x1A, 0x1E, 0x23, 0x25, 0x25, 0x24, 0x23, 0x1E, 0x21, 0x21, 0x1F, + 0x1C, 0x19, 0x16, 0x12, 0x0F, 0x0E, 0x10, 0x11, 0x14, 0x10, 0x0A, 0x05, 0x02, 0x07, 0x09, 0x06, 0xFD, 0xF5, 0xF3, 0xF6, 0xFC, 0xFF, 0x00, 0xFE, 0xF8, 0xEE, 0xF2, 0xF9, 0xFE, 0x00, 0xF9, 0xF3, + 0xF0, 0xEF, 0xF1, 0xF2, 0xF3, 0xF3, 0xEF, 0xEF, 0xF1, 0xF3, 0xF6, 0xFA, 0xF8, 0xF5, 0xF3, 0xF3, 0xF3, 0xF2, 0xF3, 0xF1, 0xED, 0xE7, 0xE5, 0xE2, 0xDE, 0xDD, 0xDD, 0xD9, 0xD9, 0xD4, 0xCC, 0xC5, + 0xC5, 0xC4, 0xC3, 0xBC, 0xB7, 0xB8, 0xB9, 0xBC, 0xC2, 0xC8, 0xC9, 0xC9, 0xCB, 0xCF, 0xD4, 0xDC, 0xDE, 0xDC, 0xD9, 0xD7, 0xD4, 0xD2, 0xD1, 0xD9, 0xE5, 0xE7, 0xE8, 0xEE, 0xF7, 0xFF, 0x09, 0x14, + 0x1B, 0x1E, 0x1D, 0x1C, 0x1E, 0x1D, 0x1C, 0x16, 0x11, 0x11, 0x0E, 0x0F, 0x15, 0x19, 0x1C, 0x1E, 0x1F, 0x22, 0x27, 0x2F, 0x34, 0x33, 0x33, 0x31, 0x2C, 0x26, 0x22, 0x1F, 0x1B, 0x19, 0x12, 0x0E, + 0x09, 0x07, 0x0A, 0x0E, 0x0C, 0x0F, 0x0F, 0x0E, 0x0B, 0x09, 0x0B, 0x0D, 0x0F, 0x0F, 0x0F, 0x10, 0x10, 0x10, 0x12, 0x11, 0x13, 0x12, 0x14, 0x16, 0x16, 0x1A, 0x1B, 0x16, 0x13, 0x0D, 0x09, 0x08, + 0x06, 0x01, 0x00, 0x03, 0x05, 0x07, 0x08, 0x08, 0x02, 0xFC, 0xF7, 0xF5, 0xF8, 0xFC, 0xFC, 0xF7, 0xEF, 0xE8, 0xE2, 0xDC, 0xDD, 0xE1, 0xE4, 0xE4, 0xE3, 0xE3, 0xE0, 0xE1, 0xE3, 0xE3, 0xE5, 0xE3, + 0xE2, 0xE0, 0xE0, 0xE0, 0xE3, 0xE2, 0xE3, 0xE8, 0xEC, 0xEF, 0xF3, 0xF9, 0x02, 0x08, 0x0E, 0x11, 0x15, 0x18, 0x19, 0x1B, 0x1D, 0x1E, 0x1F, 0x1E, 0x1C, 0x1C, 0x1D, 0x1E, 0x1D, 0x1E, 0x24, 0x28, + 0x2F, 0x31, 0x33, 0x33, 0x37, 0x37, 0x34, 0x34, 0x31, 0x2F, 0x28, 0x21, 0x1A, 0x15, 0x0F, 0x09, 0x06, 0x08, 0x05, 0x04, 0x03, 0x03, 0x0B, 0x0D, 0x13, 0x15, 0x14, 0x17, 0x12, 0x12, 0x0F, 0x0B, + 0x06, 0x01, 0xFC, 0xF7, 0xF0, 0xE7, 0xDE, 0xDA, 0xD7, 0xD8, 0xDB, 0xDD, 0xDB, 0xD8, 0xD3, 0xD0, 0xCE, 0xCD, 0xCC, 0xCA, 0xC7, 0xC4, 0xC1, 0xBE, 0xBC, 0xBA, 0xBA, 0xBA, 0xBC, 0xBF, 0xC2, 0xC6, + 0xCA, 0xCE, 0xD3, 0xD7, 0xDA, 0xDD, 0xE1, 0xE6, 0xEB, 0xF0, 0xF6, 0xFC, 0x03, 0x0A, 0x10, 0x14, 0x19, 0x1F, 0x26, 0x2C, 0x32, 0x38, 0x3C, 0x40, 0x43, 0x45, 0x47, 0x4A, 0x4C, 0x4C, 0x4C, 0x4B, + 0x4A, 0x4A, 0x49, 0x47, 0x44, 0x40, 0x3D, 0x3C, 0x3A, 0x37, 0x33, 0x2E, 0x2A, 0x26, 0x22, 0x1F, 0x1C, 0x19, 0x15, 0x0F, 0x08, 0x02, 0xFE, 0xFB, 0xFB, 0xF9, 0xF5, 0xEC, 0xE6, 0xE4, 0xE6, 0xE9, + 0xE8, 0xE5, 0xE1, 0xDA, 0xD7, 0xD7, 0xD7, 0xD8, 0xD6, 0xD6, 0xD4, 0xD0, 0xD1, 0xCD, 0xCD, 0xD0, 0xD5, 0xDE, 0xE0, 0xE2, 0xDD, 0xDA, 0xDF, 0xDE, 0xE5, 0xEB, 0xE9, 0xE8, 0xE3, 0xE3, 0xEC, 0xEB, + 0xEC, 0xED, 0xEB, 0xEF, 0xEC, 0xE9, 0xEC, 0xEB, 0xF0, 0xEB, 0xE7, 0xE5, 0xDE, 0xE2, 0xDF, 0xE1, 0xE4, 0xE5, 0xE7, 0xE1, 0xE3, 0xEE, 0xF3, 0xF8, 0xFC, 0xFC, 0xFE, 0xFF, 0x03, 0x06, 0x0C, 0x10, + 0x0D, 0x0C, 0x0B, 0x0E, 0x14, 0x13, 0x1C, 0x1F, 0x1E, 0x25, 0x27, 0x2C, 0x32, 0x38, 0x3C, 0x3A, 0x36, 0x35, 0x35, 0x3B, 0x3D, 0x3C, 0x39, 0x2C, 0x24, 0x1E, 0x1F, 0x26, 0x27, 0x27, 0x23, 0x1E, + 0x18, 0x10, 0x0F, 0x0D, 0x0C, 0x08, 0xFF, 0xF4, 0xEE, 0xE7, 0xDE, 0xD6, 0xD4, 0xD3, 0xCA, 0xC2, 0xC0, 0xC2, 0xC6, 0xC8, 0xC8, 0xC6, 0xC6, 0xC8, 0xC7, 0xCA, 0xCC, 0xCB, 0xC5, 0xBF, 0xC0, 0xC3, + 0xC2, 0xC6, 0xC7, 0xCB, 0xD2, 0xD2, 0xD5, 0xD7, 0xDC, 0xE5, 0xE8, 0xF0, 0xF5, 0xFB, 0xFC, 0xFE, 0x04, 0x05, 0x08, 0x0D, 0x0F, 0x16, 0x1E, 0x1F, 0x24, 0x26, 0x26, 0x25, 0x20, 0x22, 0x23, 0x22, + 0x22, 0x1F, 0x1C, 0x18, 0x17, 0x17, 0x18, 0x19, 0x1B, 0x1D, 0x20, 0x1F, 0x20, 0x24, 0x27, 0x2A, 0x29, 0x28, 0x24, 0x1E, 0x18, 0x17, 0x19, 0x1B, 0x19, 0x12, 0x09, 0x04, 0x03, 0x00, 0x03, 0x06, + 0x09, 0x0A, 0x0B, 0x0B, 0x0C, 0x10, 0x15, 0x17, 0x19, 0x19, 0x15, 0x13, 0x0D, 0x09, 0x0B, 0x0E, 0x0E, 0x0B, 0x06, 0x04, 0x02, 0x05, 0x0E, 0x13, 0x11, 0x07, 0x05, 0x01, 0xF9, 0xF3, 0xF1, 0xF7, + 0xF3, 0xF6, 0xFE, 0x04, 0x0A, 0x10, 0x1C, 0x2B, 0x3E, 0x51, 0x65, 0x6C, 0x63, 0x57, 0x46, 0x34, 0x27, 0x1A, 0x0F, 0x14, 0x11, 0x0C, 0x07, 0xFA, 0xF1, 0xF7, 0x0A, 0x19, 0x25, 0x2E, 0x30, 0x2E, + 0x22, 0x16, 0x05, 0xF6, 0xEB, 0xDF, 0xD5, 0xC6, 0xC8, 0xCD, 0xC8, 0xCB, 0xCA, 0xC4, 0xBD, 0xB6, 0xBB, 0xC4, 0xC6, 0xC8, 0xC3, 0xBB, 0xB2, 0xAA, 0xAE, 0xBA, 0xC5, 0xCB, 0xD0, 0xCC, 0xC9, 0xD4, + 0xE0, 0xE3, 0xE6, 0xE5, 0xDF, 0xDC, 0xDA, 0xDC, 0xE5, 0xF3, 0x06, 0x0D, 0x0A, 0x0B, 0x10, 0x17, 0x26, 0x3C, 0x43, 0x3C, 0x30, 0x23, 0x13, 0x07, 0x05, 0x0F, 0x16, 0x18, 0x18, 0x12, 0x0E, 0x11, + 0x19, 0x26, 0x2D, 0x33, 0x34, 0x31, 0x32, 0x2D, 0x2B, 0x21, 0x19, 0x16, 0x0B, 0x00, 0x00, 0xFD, 0xFC, 0xF7, 0xFA, 0xFE, 0xFC, 0xFC, 0xF8, 0xF9, 0xFC, 0xF8, 0xFA, 0xF8, 0xF6, 0xF4, 0xF0, 0xEE, + 0xEE, 0xEF, 0xF2, 0xF6, 0xFA, 0xFE, 0x00, 0x05, 0x09, 0x0D, 0x0F, 0x0E, 0x10, 0x0F, 0x0A, 0x06, 0xFA, 0xEF, 0xE6, 0xDF, 0xDD, 0xDA, 0xD9, 0xDB, 0xD9, 0xD2, 0xCB, 0xC8, 0xD1, 0xDC, 0xE6, 0xE8, + 0xEB, 0xE7, 0xDE, 0xD8, 0xD8, 0xDB, 0xE2, 0xE8, 0xE9, 0xE8, 0xE0, 0xDF, 0xE1, 0xE5, 0xEE, 0xF3, 0xF6, 0xED, 0xE2, 0xE0, 0xE5, 0xED, 0xF4, 0xFD, 0x04, 0x0A, 0x0E, 0x16, 0x22, 0x32, 0x46, 0x56, + 0x5F, 0x61, 0x62, 0x64, 0x63, 0x62, 0x5E, 0x59, 0x53, 0x4B, 0x45, 0x41, 0x3E, 0x3A, 0x32, 0x32, 0x30, 0x2E, 0x2D, 0x29, 0x26, 0x1F, 0x16, 0x0F, 0x0A, 0x0A, 0x08, 0x03, 0xF9, 0xF1, 0xEC, 0xEA, + 0xE7, 0xE9, 0xEA, 0xE8, 0xE4, 0xDB, 0xD1, 0xC7, 0xBF, 0xBE, 0xBC, 0xB9, 0xB2, 0xAC, 0xA7, 0xA6, 0xA8, 0xAE, 0xB4, 0xB8, 0xBA, 0xC2, 0xC7, 0xCB, 0xCD, 0xD0, 0xD5, 0xDA, 0xDE, 0xE5, 0xE8, 0xE4, + 0xE1, 0xE0, 0xE5, 0xED, 0xF2, 0xF5, 0xF4, 0xF0, 0xEF, 0xF1, 0xF3, 0xF9, 0xFE, 0x00, 0xFA, 0xF4, 0xF3, 0xEF, 0xEF, 0xF1, 0xF4, 0xF6, 0xF3, 0xF0, 0xED, 0xE8, 0xEA, 0xF1, 0xF9, 0x03, 0x09, 0x07, + 0x03, 0x01, 0x05, 0x08, 0x09, 0x07, 0x07, 0x06, 0x06, 0x0A, 0x0C, 0x12, 0x18, 0x1A, 0x1A, 0x20, 0x27, 0x2F, 0x35, 0x39, 0x42, 0x47, 0x48, 0x46, 0x44, 0x43, 0x43, 0x42, 0x45, 0x46, 0x48, 0x46, + 0x43, 0x41, 0x3E, 0x38, 0x32, 0x2D, 0x2B, 0x29, 0x29, 0x1E, 0x11, 0x09, 0x02, 0xFE, 0x02, 0x06, 0x03, 0xFF, 0xF5, 0xEC, 0xE9, 0xE6, 0xE1, 0xDC, 0xDA, 0xD5, 0xD4, 0xCC, 0xC4, 0xBC, 0xB3, 0xB4, + 0xB5, 0xB3, 0xB3, 0xB4, 0xB3, 0xB4, 0xB4, 0xB6, 0xB8, 0xB9, 0xBC, 0xC1, 0xC6, 0xC8, 0xCC, 0xCF, 0xD3, 0xDD, 0xE5, 0xE9, 0xED, 0xEA, 0xEB, 0xED, 0xF0, 0xF6, 0xFB, 0x00, 0x03, 0xFF, 0x02, 0x07, + 0x09, 0x0B, 0x0B, 0x14, 0x20, 0x22, 0x22, 0x25, 0x26, 0x27, 0x22, 0x1C, 0x19, 0x1C, 0x22, 0x2B, 0x30, 0x33, 0x35, 0x37, 0x33, 0x31, 0x38, 0x3E, 0x42, 0x3F, 0x3D, 0x3C, 0x35, 0x2E, 0x27, 0x24, + 0x26, 0x27, 0x2C, 0x30, 0x2E, 0x35, 0x34, 0x39, 0x44, 0x47, 0x48, 0x43, 0x42, 0x42, 0x3F, 0x37, 0x30, 0x2C, 0x25, 0x1B, 0x16, 0x10, 0x0D, 0x05, 0x00, 0xFA, 0xF7, 0xF1, 0xEB, 0xE6, 0xDF, 0xDB, + 0xD8, 0xD5, 0xD2, 0xCD, 0xCF, 0xD1, 0xD1, 0xD3, 0xCF, 0xCD, 0xCD, 0xCE, 0xD3, 0xD6, 0xDB, 0xDB, 0xD1, 0xC9, 0xC3, 0xC3, 0xC5, 0xC8, 0xCC, 0xCB, 0xCE, 0xD3, 0xD6, 0xDD, 0xE6, 0xF0, 0xF7, 0xFF, + 0x04, 0x0C, 0x0F, 0x15, 0x15, 0x18, 0x1A, 0x19, 0x14, 0x0D, 0x0A, 0x02, 0xFF, 0xFF, 0x02, 0x01, 0x02, 0x04, 0x06, 0x08, 0x09, 0x0D, 0x0E, 0x0F, 0x11, 0x12, 0x0A, 0x04, 0x00, 0xFC, 0xFC, 0xF6, + 0xF5, 0xF5, 0xF1, 0xEB, 0xE8, 0xEC, 0xF2, 0xF2, 0xF1, 0xF4, 0xF7, 0xFA, 0xF8, 0xFA, 0xF9, 0xF4, 0xF1, 0xF1, 0xF4, 0xF7, 0xFB, 0xF9, 0xFD, 0x01, 0x04, 0x08, 0x10, 0x18, 0x16, 0x0E, 0x0D, 0x0A, + 0x0B, 0x0E, 0x11, 0x11, 0x0C, 0xFE, 0xF4, 0xEE, 0xEA, 0xED, 0xEF, 0xF1, 0xEA, 0xE1, 0xDC, 0xDC, 0xDA, 0xD6, 0xD4, 0xD5, 0xD3, 0xCD, 0xC8, 0xC7, 0xC8, 0xC8, 0xC5, 0xC5, 0xC5, 0xC5, 0xC4, 0xC5, + 0xC5, 0xC8, 0xCD, 0xD5, 0xD9, 0xD5, 0xD5, 0xDB, 0xE4, 0xE3, 0xE0, 0xE5, 0xEF, 0xF8, 0xFF, 0xFF, 0xFF, 0xFE, 0xFC, 0x00, 0x04, 0x0C, 0x14, 0x1A, 0x1C, 0x19, 0x1A, 0x1C, 0x25, 0x2C, 0x2F, 0x31, + 0x33, 0x31, 0x30, 0x2E, 0x2F, 0x31, 0x2E, 0x29, 0x23, 0x23, 0x1F, 0x1E, 0x21, 0x20, 0x1E, 0x17, 0x10, 0x0F, 0x0F, 0x0C, 0x0E, 0x0E, 0x0E, 0x0B, 0x01, 0xFA, 0xFB, 0xFE, 0x03, 0x0C, 0x17, 0x1E, + 0x21, 0x23, 0x25, 0x28, 0x30, 0x3F, 0x4E, 0x50, 0x46, 0x40, 0x3B, 0x3A, 0x33, 0x34, 0x34, 0x39, 0x39, 0x32, 0x2E, 0x2D, 0x35, 0x3D, 0x46, 0x48, 0x42, 0x40, 0x3E, 0x3E, 0x3D, 0x37, 0x30, 0x26, + 0x13, 0x09, 0x01, 0xF6, 0xEC, 0xEC, 0xE9, 0xDF, 0xD4, 0xC9, 0xC7, 0xC8, 0xC8, 0xC5, 0xC0, 0xBA, 0xB5, 0xB2, 0xB1, 0xB9, 0xBF, 0xC8, 0xC8, 0xBC, 0xB7, 0xBA, 0xC5, 0xD0, 0xD3, 0xD0, 0xCB, 0xC6, + 0xC6, 0xC8, 0xCB, 0xCE, 0xD3, 0xDB, 0xDF, 0xE3, 0xF3, 0x00, 0x0B, 0x18, 0x2D, 0x3D, 0x44, 0x47, 0x4C, 0x50, 0x4B, 0x4A, 0x48, 0x46, 0x3D, 0x31, 0x25, 0x1C, 0x19, 0x1C, 0x1B, 0x1C, 0x1E, 0x21, + 0x26, 0x2A, 0x2E, 0x30, 0x35, 0x35, 0x30, 0x2D, 0x2E, 0x2C, 0x27, 0x24, 0x20, 0x1B, 0x1D, 0x1A, 0x1B, 0x18, 0x13, 0x0E, 0x0A, 0x03, 0xFD, 0xFF, 0xF9, 0xED, 0xE2, 0xD9, 0xD7, 0xD6, 0xD7, 0xDA, + 0xDE, 0xDE, 0xDD, 0xDD, 0xDE, 0xE7, 0xF1, 0xF3, 0xF2, 0xE8, 0xDF, 0xD9, 0xD3, 0xCE, 0xCC, 0xCA, 0xC4, 0xBE, 0xB1, 0xAA, 0xAC, 0xB1, 0xBA, 0xC0, 0xC2, 0xC5, 0xC5, 0xCB, 0xD2, 0xD5, 0xD4, 0xD8, + 0xDB, 0xDA, 0xD7, 0xD8, 0xDC, 0xDD, 0xDA, 0xD7, 0xD9, 0xDB, 0xE3, 0xE7, 0xEC, 0xEF, 0xF1, 0xF8, 0x00, 0x05, 0x0B, 0x14, 0x18, 0x19, 0x18, 0x18, 0x1C, 0x24, 0x2C, 0x33, 0x33, 0x2E, 0x2D, 0x2B, + 0x29, 0x29, 0x28, 0x28, 0x25, 0x20, 0x1C, 0x19, 0x16, 0x16, 0x15, 0x14, 0x16, 0x19, 0x1B, 0x1D, 0x1E, 0x20, 0x26, 0x29, 0x28, 0x27, 0x22, 0x1E, 0x1A, 0x16, 0x10, 0x0A, 0x03, 0xFB, 0xF2, 0xEA, + 0xE3, 0xE0, 0xE0, 0xDC, 0xD7, 0xD3, 0xD6, 0xDB, 0xDC, 0xDC, 0xE1, 0xE7, 0xEA, 0xEA, 0xEC, 0xEE, 0xEE, 0xEF, 0xF0, 0xEE, 0xE8, 0xE0, 0xDE, 0xD9, 0xD6, 0xD2, 0xCF, 0xCF, 0xCE, 0xCF, 0xCD, 0xC9, + 0xCC, 0xD3, 0xD8, 0xDD, 0xDD, 0xE2, 0xE8, 0xF0, 0xF4, 0xF0, 0xEC, 0xEE, 0xF4, 0xF6, 0xFC, 0xFC, 0xFC, 0xFB, 0xFD, 0xFB, 0xFB, 0x02, 0x0A, 0x10, 0x10, 0x11, 0x13, 0x16, 0x16, 0x14, 0x14, 0x19, + 0x1E, 0x1B, 0x1C, 0x1D, 0x1E, 0x1F, 0x1A, 0x1C, 0x1F, 0x24, 0x2B, 0x30, 0x37, 0x3C, 0x3E, 0x40, 0x43, 0x48, 0x4B, 0x4D, 0x48, 0x43, 0x3D, 0x36, 0x31, 0x2B, 0x25, 0x1E, 0x15, 0x10, 0x0A, 0x07, + 0x07, 0x04, 0xFE, 0xF8, 0xFC, 0xFF, 0x01, 0xFD, 0xF8, 0xF2, 0xEF, 0xEE, 0xE9, 0xE6, 0xE6, 0xE8, 0xE7, 0xE3, 0xE1, 0xE1, 0xE1, 0xE0, 0xDF, 0xE0, 0xE5, 0xE8, 0xE8, 0xE8, 0xEB, 0xEE, 0xEC, 0xED, + 0xF2, 0xF7, 0xF7, 0xF2, 0xEE, 0xF0, 0xF1, 0xF2, 0xF4, 0xF6, 0xFD, 0x03, 0x01, 0xFB, 0xFC, 0x03, 0x0A, 0x11, 0x16, 0x16, 0x19, 0x17, 0x11, 0x0C, 0x0C, 0x11, 0x0F, 0x0B, 0x02, 0xFE, 0xFD, 0xF6, + 0xF4, 0xF4, 0xF4, 0xF4, 0xEE, 0xEB, 0xF0, 0xF3, 0xF9, 0xF9, 0xF9, 0xFB, 0xFC, 0xFB, 0xFB, 0xFC, 0xFA, 0xF8, 0xF1, 0xEB, 0xEF, 0xF1, 0xF3, 0xF3, 0xF8, 0xFE, 0xFF, 0x00, 0x04, 0x0F, 0x1A, 0x22, + 0x26, 0x2C, 0x32, 0x36, 0x36, 0x38, 0x39, 0x39, 0x35, 0x32, 0x2F, 0x29, 0x27, 0x28, 0x26, 0x22, 0x23, 0x1F, 0x1C, 0x1B, 0x15, 0x13, 0x0F, 0x10, 0x10, 0x0E, 0x0B, 0x05, 0xFC, 0xF7, 0xF1, 0xF1, + 0xEC, 0xE7, 0xEA, 0xEA, 0xEB, 0xE7, 0xE4, 0xE3, 0xE0, 0xDE, 0xD7, 0xD7, 0xDA, 0xD9, 0xD5, 0xCF, 0xCC, 0xCB, 0xC6, 0xC4, 0xC5, 0xC5, 0xC5, 0xC3, 0xC1, 0xC4, 0xC7, 0xCA, 0xCB, 0xC9, 0xC9, 0xC7, + 0xC0, 0xBE, 0xC0, 0xC5, 0xCD, 0xCF, 0xCD, 0xC9, 0xCC, 0xCF, 0xD1, 0xD6, 0xDF, 0xE9, 0xEC, 0xED, 0xEF, 0xF1, 0xF8, 0xFD, 0x03, 0x09, 0x0C, 0x0D, 0x0B, 0x0D, 0x14, 0x1D, 0x21, 0x22, 0x24, 0x21, + 0x21, 0x23, 0x24, 0x26, 0x27, 0x26, 0x29, 0x25, 0x23, 0x23, 0x23, 0x25, 0x26, 0x25, 0x1F, 0x1C, 0x1F, 0x1D, 0x1A, 0x17, 0x11, 0x11, 0x0E, 0x0C, 0x0F, 0x0D, 0x0B, 0x06, 0xFA, 0xF1, 0xF0, 0xEE, + 0xED, 0xEC, 0xEA, 0xE8, 0xE3, 0xDE, 0xDD, 0xDE, 0xDE, 0xDA, 0xD9, 0xDB, 0xDD, 0xDB, 0xDA, 0xD9, 0xD6, 0xD5, 0xD0, 0xCE, 0xCF, 0xCE, 0xD2, 0xD4, 0xDB, 0xDF, 0xDE, 0xDD, 0xDD, 0xDF, 0xE7, 0xEE, + 0xF2, 0xF4, 0xFA, 0x00, 0x04, 0x05, 0x06, 0x0E, 0x13, 0x17, 0x19, 0x1A, 0x23, 0x29, 0x2E, 0x32, 0x33, 0x35, 0x35, 0x34, 0x31, 0x33, 0x37, 0x36, 0x38, 0x36, 0x35, 0x35, 0x2E, 0x2C, 0x24, 0x24, + 0x27, 0x27, 0x24, 0x23, 0x22, 0x26, 0x22, 0x20, 0x1F, 0x1E, 0x1E, 0x1A, 0x14, 0x11, 0x0F, 0x0E, 0x0B, 0x07, 0x03, 0xFE, 0xFD, 0xFE, 0xFD, 0xFB, 0xFD, 0x01, 0x02, 0x01, 0x00, 0xFC, 0x00, 0x06, + 0x07, 0x08, 0x03, 0xFF, 0xFC, 0xF9, 0xFA, 0xF9, 0xF7, 0xF5, 0xF0, 0xEC, 0xEA, 0xE5, 0xE3, 0xDF, 0xDC, 0xD9, 0xD7, 0xD7, 0xD7, 0xDB, 0xDC, 0xDC, 0xD7, 0xD2, 0xD3, 0xD5, 0xD8, 0xDC, 0xE0, 0xE3, + 0xE9, 0xE8, 0xE6, 0xE9, 0xF1, 0xFB, 0x03, 0x0A, 0x0E, 0x0F, 0x13, 0x18, 0x1E, 0x25, 0x2A, 0x2B, 0x2A, 0x2B, 0x2B, 0x2F, 0x32, 0x32, 0x38, 0x3A, 0x39, 0x36, 0x33, 0x30, 0x33, 0x37, 0x37, 0x34, + 0x2F, 0x29, 0x23, 0x1D, 0x1C, 0x19, 0x16, 0x0E, 0x08, 0x03, 0xFC, 0xF5, 0xF2, 0xF0, 0xEF, 0xF0, 0xED, 0xED, 0xEB, 0xEA, 0xE8, 0xE5, 0xE5, 0xE5, 0xE4, 0xE2, 0xDF, 0xDA, 0xD5, 0xD5, 0xD7, 0xD9, + 0xDA, 0xDB, 0xDB, 0xDA, 0xDA, 0xDE, 0xE3, 0xE5, 0xE7, 0xE7, 0xEB, 0xEE, 0xF1, 0xF5, 0xF9, 0x01, 0x06, 0x08, 0x0A, 0x0B, 0x12, 0x19, 0x1E, 0x21, 0x21, 0x1F, 0x1D, 0x15, 0x12, 0x16, 0x16, 0x10, + 0x0A, 0x05, 0xFE, 0xF6, 0xEC, 0xEC, 0xED, 0xEC, 0xEB, 0xE8, 0xE5, 0xE2, 0xE2, 0xE6, 0xE6, 0xEA, 0xEE, 0xED, 0xEC, 0xEA, 0xEB, 0xEE, 0xF0, 0xEE, 0xEA, 0xEC, 0xF0, 0xF0, 0xEF, 0xEF, 0xF0, 0xF2, + 0xF5, 0xF8, 0xF8, 0xFC, 0xFA, 0xF9, 0xFD, 0xFF, 0x04, 0x09, 0x07, 0x0A, 0x0E, 0x11, 0x17, 0x1D, 0x20, 0x21, 0x20, 0x1E, 0x21, 0x20, 0x1F, 0x1E, 0x16, 0x0E, 0x0A, 0x07, 0x07, 0x05, 0x05, 0x05, + 0x01, 0xFD, 0xF8, 0xF5, 0xF4, 0xF7, 0xFA, 0xFA, 0xFA, 0xFB, 0xFE, 0xFC, 0xFE, 0x02, 0xFD, 0xFB, 0xF9, 0xF8, 0xFC, 0xFD, 0xFE, 0xFB, 0xF6, 0xF2, 0xEE, 0xEE, 0xEF, 0xF1, 0xF3, 0xF6, 0xF7, 0xF6, + 0xF4, 0xF3, 0xF3, 0xF7, 0xF4, 0xF4, 0xF7, 0xF7, 0xF5, 0xF5, 0xFB, 0xFB, 0xF9, 0xF3, 0xF0, 0xF0, 0xEF, 0xEC, 0xEA, 0xE7, 0xE6, 0xE4, 0xE3, 0xE3, 0xE5, 0xE7, 0xE5, 0xE7, 0xEA, 0xF3, 0xF7, 0xF8, + 0xF8, 0xFD, 0xFF, 0x01, 0xFD, 0xFB, 0xFC, 0xFF, 0x02, 0x07, 0x0E, 0x0F, 0x10, 0x12, 0x10, 0x11, 0x11, 0x15, 0x15, 0x13, 0x0E, 0x0C, 0x0D, 0x0B, 0x0A, 0x0B, 0x0B, 0x0D, 0x0F, 0x13, 0x1A, 0x1F, + 0x24, 0x28, 0x29, 0x25, 0x1F, 0x1B, 0x1A, 0x18, 0x13, 0x0E, 0x0A, 0x08, 0x03, 0xF8, 0xF3, 0xF3, 0xF2, 0xEF, 0xEC, 0xEB, 0xEF, 0xEF, 0xEA, 0xE8, 0xEA, 0xE8, 0xE6, 0xE4, 0xE5, 0xE4, 0xE7, 0xEA, + 0xF0, 0xF7, 0xFA, 0xFC, 0xFF, 0xFF, 0x01, 0x01, 0x02, 0x03, 0x03, 0x02, 0xFE, 0xF9, 0xF4, 0xED, 0xEB, 0xEA, 0xE7, 0xE6, 0xEB, 0xF2, 0xF9, 0xFF, 0x05, 0x0B, 0x13, 0x19, 0x1E, 0x20, 0x20, 0x1E, + 0x19, 0x13, 0x0A, 0x02, 0xFC, 0xF7, 0xF5, 0xF1, 0xEA, 0xEB, 0xEE, 0xF2, 0xF7, 0xFD, 0x05, 0x08, 0x09, 0x08, 0x0C, 0x0D, 0x0F, 0x10, 0x0C, 0x0A, 0x06, 0x03, 0x03, 0x05, 0x08, 0x08, 0x05, 0x04, + 0x02, 0x02, 0x04, 0x08, 0x0A, 0x09, 0x05, 0x04, 0x05, 0x03, 0x03, 0x03, 0x09, 0x0E, 0x10, 0x10, 0x11, 0x10, 0x12, 0x13, 0x14, 0x19, 0x1E, 0x20, 0x1E, 0x19, 0x17, 0x17, 0x15, 0x15, 0x18, 0x17, + 0x17, 0x17, 0x17, 0x14, 0x0D, 0x08, 0x09, 0x07, 0x05, 0x02, 0xFE, 0xF9, 0xF2, 0xF2, 0xF2, 0xF6, 0xF5, 0xF3, 0xF4, 0xF3, 0xF1, 0xF6, 0xFE, 0x05, 0x06, 0x0A, 0x07, 0x06, 0x07, 0x06, 0x05, 0x09, + 0x06, 0x01, 0xFD, 0xFA, 0xF9, 0xFA, 0xFD, 0xFF, 0x00, 0xFF, 0x03, 0x09, 0x0A, 0x09, 0x0D, 0x0C, 0x09, 0x08, 0x07, 0x04, 0x03, 0xFF, 0xFA, 0xF8, 0xF7, 0xF6, 0xF3, 0xF0, 0xF0, 0xF0, 0xEE, 0xE8, + 0xE5, 0xE6, 0xE5, 0xE4, 0xE1, 0xDF, 0xDF, 0xDC, 0xD8, 0xD9, 0xDA, 0xDB, 0xDC, 0xDC, 0xDF, 0xE1, 0xE5, 0xE5, 0xE5, 0xE5, 0xE2, 0xDD, 0xDB, 0xD7, 0xD7, 0xD6, 0xD5, 0xD9, 0xDA, 0xDD, 0xDD, 0xDF, + 0xE3, 0xE8, 0xEF, 0xF6, 0xFD, 0x01, 0x06, 0x0A, 0x0D, 0x0F, 0x0E, 0x0C, 0x10, 0x0F, 0x11, 0x12, 0x12, 0x12, 0x15, 0x1B, 0x21, 0x21, 0x1F, 0x22, 0x25, 0x26, 0x27, 0x2B, 0x2C, 0x2A, 0x28, 0x22, + 0x20, 0x1F, 0x21, 0x20, 0x1F, 0x1F, 0x1E, 0x1C, 0x1B, 0x1B, 0x17, 0x11, 0x10, 0x0E, 0x0C, 0x0B, 0x09, 0x0A, 0x0A, 0x06, 0x05, 0x05, 0x06, 0x06, 0x09, 0x09, 0x09, 0x0D, 0x0E, 0x0D, 0x07, 0x05, + 0x05, 0x04, 0x02, 0xFD, 0xF7, 0xF1, 0xED, 0xE9, 0xE6, 0xE3, 0xE2, 0xE2, 0xDE, 0xDC, 0xDB, 0xDB, 0xDC, 0xDD, 0xDE, 0xE2, 0xE2, 0xE0, 0xE1, 0xE2, 0xDF, 0xE1, 0xE2, 0xE3, 0xE4, 0xE2, 0xDE, 0xDF, + 0xDF, 0xDF, 0xE3, 0xE1, 0xE1, 0xE3, 0xE3, 0xE7, 0xE9, 0xEC, 0xED, 0xEE, 0xF0, 0xF2, 0xF3, 0xF6, 0xFB, 0x01, 0x04, 0x06, 0x05, 0x06, 0x08, 0x08, 0x0A, 0x0B, 0x0D, 0x12, 0x13, 0x11, 0x12, 0x14, + 0x14, 0x13, 0x12, 0x11, 0x0F, 0x12, 0x13, 0x11, 0x0E, 0x0D, 0x10, 0x10, 0x0E, 0x0E, 0x0C, 0x08, 0x09, 0x0F, 0x12, 0x14, 0x13, 0x12, 0x12, 0x11, 0x11, 0x11, 0x0F, 0x11, 0x16, 0x18, 0x14, 0x12, + 0x0F, 0x0B, 0x05, 0xFE, 0xFB, 0xF9, 0xF2, 0xEB, 0xE6, 0xE0, 0xDB, 0xD7, 0xD4, 0xD1, 0xCF, 0xCA, 0xC3, 0xBC, 0xBB, 0xBD, 0xBC, 0xBA, 0xB6, 0xB2, 0xAF, 0xAB, 0xAA, 0xAF, 0xB7, 0xC0, 0xC3, 0xC7, + 0xCD, 0xD6, 0xD9, 0xE0, 0xEA, 0xF7, 0x03, 0x0A, 0x10, 0x15, 0x1B, 0x20, 0x25, 0x2C, 0x34, 0x39, 0x38, 0x3C, 0x42, 0x4D, 0x55, 0x5B, 0x61, 0x65, 0x68, 0x69, 0x69, 0x72, 0x7A, 0x7A, 0x71, 0x68, + 0x64, 0x5C, 0x52, 0x4D, 0x49, 0x46, 0x43, 0x3E, 0x3C, 0x39, 0x38, 0x3D, 0x41, 0x47, 0x4C, 0x4B, 0x42, 0x36, 0x2C, 0x28, 0x23, 0x19, 0x0F, 0x01, 0xED, 0xDF, 0xD3, 0xD0, 0xCD, 0xCA, 0xCD, 0xCE, + 0xCF, 0xC8, 0xC2, 0xC2, 0xC7, 0xD1, 0xD5, 0xDD, 0xE3, 0xE2, 0xDF, 0xDB, 0xDB, 0xE0, 0xE9, 0xEF, 0xF3, 0xF5, 0xF6, 0xF4, 0xEE, 0xED, 0xEC, 0xEF, 0xF5, 0xFB, 0xFD, 0xFA, 0xF6, 0xFD, 0x07, 0x0D, + 0x11, 0x19, 0x20, 0x22, 0x19, 0x12, 0x0E, 0x0C, 0x08, 0x05, 0x04, 0x02, 0xF8, 0xEE, 0xE6, 0xE4, 0xEB, 0xEF, 0xF3, 0xF5, 0xF7, 0xF4, 0xEE, 0xEB, 0xED, 0xED, 0xEC, 0xE1, 0xDA, 0xD9, 0xDA, 0xD7, + 0xD4, 0xD8, 0xDC, 0xE0, 0xE1, 0xE5, 0xEC, 0xF4, 0xFE, 0x08, 0x0E, 0x14, 0x17, 0x15, 0x12, 0x12, 0x16, 0x1C, 0x1F, 0x1F, 0x1F, 0x19, 0x11, 0x0F, 0x11, 0x15, 0x19, 0x1E, 0x1F, 0x1C, 0x14, 0x0F, + 0x0D, 0x0D, 0x0A, 0x06, 0x05, 0x04, 0xFC, 0xF0, 0xEA, 0xE9, 0xE9, 0xEA, 0xE7, 0xEA, 0xEA, 0xE4, 0xDA, 0xD3, 0xD1, 0xD3, 0xD4, 0xD2, 0xCC, 0xC8, 0xC5, 0xBF, 0xBD, 0xBF, 0xC2, 0xC7, 0xCA, 0xCD, + 0xD2, 0xD4, 0xD3, 0xD2, 0xD3, 0xD6, 0xDD, 0xDF, 0xDE, 0xDA, 0xD8, 0xDA, 0xDF, 0xE3, 0xEB, 0xF4, 0xFB, 0x00, 0x04, 0x0A, 0x13, 0x1B, 0x23, 0x29, 0x28, 0x27, 0x28, 0x29, 0x2C, 0x2B, 0x2B, 0x2E, + 0x2F, 0x2F, 0x2D, 0x30, 0x35, 0x39, 0x3C, 0x3B, 0x37, 0x34, 0x32, 0x2C, 0x27, 0x22, 0x1C, 0x13, 0x0B, 0x07, 0x04, 0x01, 0xFA, 0xF7, 0xFA, 0xFE, 0x00, 0x00, 0xFD, 0xF9, 0xF8, 0xF4, 0xF4, 0xF6, + 0xFA, 0xF8, 0xF3, 0xED, 0xE8, 0xE7, 0xE5, 0xE8, 0xEC, 0xEC, 0xED, 0xEB, 0xE5, 0xE1, 0xE1, 0xE4, 0xE8, 0xED, 0xEF, 0xF3, 0xF4, 0xEF, 0xEF, 0xF5, 0xFB, 0x01, 0x03, 0x01, 0x01, 0xFD, 0xFC, 0xFB, + 0xF8, 0xF8, 0xF6, 0xF5, 0xF4, 0xF1, 0xED, 0xEC, 0xEF, 0xF3, 0xF5, 0xF6, 0xF6, 0xF5, 0xF8, 0xFB, 0xFE, 0x01, 0x03, 0x06, 0x09, 0x09, 0x07, 0x08, 0x07, 0x06, 0x07, 0x0B, 0x11, 0x12, 0x13, 0x14, + 0x14, 0x15, 0x19, 0x21, 0x27, 0x2A, 0x2B, 0x2C, 0x2C, 0x2C, 0x2D, 0x2E, 0x31, 0x33, 0x33, 0x31, 0x30, 0x30, 0x2E, 0x2E, 0x2E, 0x33, 0x31, 0x2C, 0x29, 0x26, 0x26, 0x21, 0x1C, 0x17, 0x13, 0x12, + 0x0A, 0x01, 0xFA, 0xF3, 0xEC, 0xE6, 0xE4, 0xE0, 0xDC, 0xD6, 0xD1, 0xCD, 0xC9, 0xC7, 0xC5, 0xC5, 0xC3, 0xC5, 0xC5, 0xC3, 0xC2, 0xC3, 0xC4, 0xC3, 0xC2, 0xC6, 0xC9, 0xC7, 0xC5, 0xC6, 0xCA, 0xCC, + 0xCC, 0xCE, 0xD2, 0xD4, 0xD9, 0xDE, 0xE3, 0xE6, 0xED, 0xF1, 0xF3, 0xF6, 0xF8, 0xFD, 0x03, 0x05, 0x05, 0x04, 0x01, 0xFF, 0xFB, 0xF9, 0xFB, 0xFE, 0x03, 0x07, 0x09, 0x0C, 0x0F, 0x12, 0x17, 0x20, + 0x2A, 0x30, 0x36, 0x3A, 0x3B, 0x3B, 0x3A, 0x3B, 0x40, 0x43, 0x44, 0x45, 0x43, 0x3D, 0x35, 0x31, 0x2F, 0x2E, 0x2C, 0x29, 0x25, 0x21, 0x1C, 0x17, 0x16, 0x15, 0x14, 0x14, 0x13, 0x12, 0x11, 0x0D, + 0x0A, 0x07, 0x04, 0x03, 0xFF, 0xFA, 0xF4, 0xEE, 0xEA, 0xE8, 0xE7, 0xE4, 0xE3, 0xE8, 0xEB, 0xEB, 0xEC, 0xEC, 0xE9, 0xEB, 0xEE, 0xF0, 0xED, 0xEA, 0xE8, 0xEA, 0xE8, 0xE8, 0xEA, 0xEC, 0xEA, 0xE8, + 0xE5, 0xEA, 0xF0, 0xF5, 0xF8, 0xF6, 0xF5, 0xF2, 0xEF, 0xEE, 0xED, 0xEE, 0xF2, 0xF4, 0xF4, 0xF0, 0xEB, 0xEB, 0xEE, 0xF4, 0xFB, 0xFE, 0xFC, 0xFA, 0xF8, 0xF7, 0xF6, 0xF9, 0x01, 0x06, 0x06, 0x02, + 0xFE, 0x02, 0x01, 0x04, 0x08, 0x0F, 0x16, 0x1A, 0x18, 0x15, 0x16, 0x1A, 0x1E, 0x24, 0x25, 0x26, 0x2A, 0x2C, 0x2D, 0x2B, 0x29, 0x2D, 0x35, 0x39, 0x39, 0x3A, 0x3C, 0x3E, 0x3D, 0x37, 0x37, 0x38, + 0x36, 0x32, 0x29, 0x23, 0x1B, 0x15, 0x10, 0x09, 0x04, 0x02, 0x00, 0xFE, 0xFB, 0xF7, 0xF5, 0xF3, 0xF1, 0xEE, 0xE8, 0xE1, 0xD9, 0xD1, 0xC9, 0xC2, 0xBC, 0xB5, 0xAE, 0xA8, 0xA2, 0xA0, 0xA2, 0xA4, + 0xAA, 0xAC, 0xAF, 0xB3, 0xB5, 0xB8, 0xBC, 0xC1, 0xC8, 0xCD, 0xCD, 0xCE, 0xCF, 0xD0, 0xD2, 0xD6, 0xDD, 0xE2, 0xE6, 0xEB, 0xF2, 0xF9, 0x00, 0x05, 0x0B, 0x14, 0x1B, 0x1F, 0x1D, 0x1B, 0x1B, 0x1E, + 0x1D, 0x1B, 0x19, 0x1B, 0x1A, 0x17, 0x16, 0x19, 0x1A, 0x1A, 0x1A, 0x1E, 0x20, 0x1D, 0x1C, 0x1D, 0x1D, 0x1A, 0x15, 0x13, 0x11, 0x0E, 0x0D, 0x0C, 0x0E, 0x10, 0x11, 0x11, 0x10, 0x11, 0x13, 0x16, + 0x13, 0x11, 0x12, 0x10, 0x0F, 0x0D, 0x0B, 0x0B, 0x0A, 0x0A, 0x0C, 0x11, 0x16, 0x1B, 0x1E, 0x22, 0x24, 0x25, 0x25, 0x27, 0x28, 0x27, 0x26, 0x25, 0x25, 0x24, 0x1E, 0x16, 0x12, 0x11, 0x10, 0x0E, + 0x0A, 0x08, 0x07, 0x03, 0x00, 0xFF, 0xFD, 0xF9, 0xF3, 0xEF, 0xEC, 0xE7, 0xE5, 0xE3, 0xE3, 0xDD, 0xD6, 0xD4, 0xD5, 0xD3, 0xCD, 0xC9, 0xCA, 0xC9, 0xC6, 0xC2, 0xBE, 0xBA, 0xB6, 0xB6, 0xB4, 0xB4, + 0xB8, 0xBC, 0xC4, 0xC8, 0xCC, 0xD3, 0xDD, 0xE9, 0xF1, 0xFA, 0xFE, 0x03, 0x09, 0x10, 0x14, 0x15, 0x16, 0x14, 0x11, 0x13, 0x15, 0x1B, 0x1F, 0x21, 0x27, 0x2D, 0x33, 0x37, 0x3C, 0x3C, 0x3F, 0x43, + 0x4C, 0x51, 0x50, 0x48, 0x40, 0x3F, 0x3C, 0x3D, 0x3A, 0x37, 0x35, 0x32, 0x2D, 0x29, 0x26, 0x23, 0x1D, 0x18, 0x13, 0x14, 0x13, 0x12, 0x0B, 0x04, 0x01, 0xFD, 0xFE, 0xFE, 0x01, 0x03, 0x00, 0xFB, + 0xF3, 0xEF, 0xEF, 0xF2, 0xF1, 0xEA, 0xE0, 0xD8, 0xD2, 0xCF, 0xD0, 0xD3, 0xD5, 0xD2, 0xD0, 0xD3, 0xD5, 0xD7, 0xDA, 0xE1, 0xE7, 0xEC, 0xEF, 0xEE, 0xE9, 0xE1, 0xDD, 0xDD, 0xDF, 0xE3, 0xE4, 0xE0, + 0xDB, 0xD8, 0xDA, 0xE2, 0xE7, 0xEA, 0xEE, 0xF1, 0xF6, 0xF9, 0xFD, 0x01, 0x04, 0x03, 0x03, 0x05, 0x08, 0x07, 0x05, 0x05, 0x04, 0x06, 0x09, 0x0B, 0x0D, 0x0B, 0x0B, 0x0D, 0x11, 0x16, 0x1B, 0x1F, + 0x21, 0x20, 0x20, 0x22, 0x26, 0x27, 0x29, 0x29, 0x28, 0x27, 0x2B, 0x2D, 0x2F, 0x2D, 0x2C, 0x2F, 0x31, 0x32, 0x30, 0x2E, 0x2C, 0x27, 0x24, 0x23, 0x24, 0x21, 0x1C, 0x16, 0x11, 0x0D, 0x0D, 0x0D, + 0x0D, 0x0A, 0x05, 0x02, 0xFE, 0xFA, 0xF8, 0xF9, 0xF8, 0xF6, 0xF0, 0xEB, 0xE8, 0xE7, 0xE7, 0xE8, 0xEA, 0xEC, 0xED, 0xEB, 0xE7, 0xE5, 0xE5, 0xE5, 0xE8, 0xE8, 0xE4, 0xE2, 0xE2, 0xDF, 0xDC, 0xDC, + 0xE1, 0xE7, 0xEB, 0xEF, 0xF3, 0xF6, 0xF8, 0xF9, 0xFC, 0x00, 0x04, 0x02, 0xFE, 0xF7, 0xF1, 0xEF, 0xEA, 0xE6, 0xE3, 0xE1, 0xE0, 0xDF, 0xDF, 0xE3, 0xE6, 0xE9, 0xEB, 0xEE, 0xF3, 0xF4, 0xF4, 0xF8, + 0xFB, 0xFD, 0xFD, 0xFB, 0xF9, 0xF7, 0xF6, 0xF7, 0xF8, 0xF8, 0xF7, 0xF3, 0xF3, 0xF1, 0xF2, 0xF2, 0xF4, 0xF4, 0xF5, 0xF5, 0xF9, 0xFF, 0x04, 0x06, 0x08, 0x0A, 0x0C, 0x10, 0x13, 0x14, 0x13, 0x13, + 0x13, 0x11, 0x0E, 0x0D, 0x09, 0x07, 0x07, 0x07, 0x06, 0x06, 0x06, 0x06, 0x06, 0x05, 0x07, 0x07, 0x05, 0x01, 0xFD, 0xFC, 0xFF, 0x00, 0x00, 0xFF, 0xFE, 0xFA, 0xF9, 0xFB, 0xFB, 0xFB, 0xFB, 0xFA, + 0xFC, 0xFC, 0xF9, 0xF3, 0xEF, 0xEF, 0xEF, 0xEE, 0xED, 0xEA, 0xE7, 0xE6, 0xE5, 0xE4, 0xE6, 0xE8, 0xEC, 0xED, 0xED, 0xF0, 0xF3, 0xF3, 0xF2, 0xF2, 0xF5, 0xF7, 0xF6, 0xF5, 0xF2, 0xF2, 0xF2, 0xF1, + 0xF3, 0xF5, 0xF5, 0xF4, 0xF6, 0xFA, 0x00, 0x06, 0x0A, 0x0D, 0x0F, 0x11, 0x12, 0x13, 0x16, 0x19, 0x1A, 0x1D, 0x20, 0x21, 0x1F, 0x1C, 0x1B, 0x1C, 0x1D, 0x1F, 0x22, 0x26, 0x25, 0x22, 0x24, 0x25, + 0x26, 0x25, 0x25, 0x27, 0x2A, 0x2B, 0x2C, 0x2F, 0x30, 0x30, 0x2E, 0x2D, 0x2E, 0x2E, 0x2C, 0x29, 0x25, 0x22, 0x1C, 0x17, 0x11, 0x0D, 0x07, 0xFF, 0xF6, 0xF2, 0xF0, 0xEC, 0xEB, 0xEA, 0xEA, 0xE8, + 0xE5, 0xE4, 0xE7, 0xE8, 0xEA, 0xE9, 0xE3, 0xE0, 0xDD, 0xD9, 0xD6, 0xD3, 0xCC, 0xC8, 0xC3, 0xBF, 0xBC, 0xBD, 0xBF, 0xC5, 0xCA, 0xCA, 0xC8, 0xC9, 0xC8, 0xC9, 0xCE, 0xD5, 0xD9, 0xDB, 0xDE, 0xE3, + 0xEA, 0xEE, 0xF4, 0xF8, 0xFA, 0x00, 0x07, 0x0F, 0x16, 0x1A, 0x1D, 0x20, 0x20, 0x20, 0x21, 0x26, 0x27, 0x2C, 0x2F, 0x34, 0x38, 0x3B, 0x39, 0x38, 0x3A, 0x40, 0x41, 0x3C, 0x35, 0x2C, 0x2C, 0x2C, + 0x24, 0x1D, 0x16, 0x0C, 0x02, 0xFA, 0xF7, 0xF6, 0xF4, 0xF4, 0xF3, 0xEE, 0xEA, 0xE8, 0xE7, 0xE0, 0xDE, 0xE2, 0xE2, 0xE0, 0xDC, 0xDA, 0xD8, 0xD6, 0xD9, 0xD9, 0xD9, 0xDA, 0xD8, 0xD8, 0xDF, 0xE9, + 0xEF, 0xF5, 0xF6, 0xF3, 0xF1, 0xF3, 0xF3, 0xF7, 0xFE, 0x02, 0x00, 0xFC, 0xF6, 0xF7, 0xFA, 0xFF, 0x05, 0x08, 0x0D, 0x0C, 0x08, 0x08, 0x08, 0x07, 0x06, 0x04, 0xFC, 0xF2, 0xED, 0xE6, 0xDD, 0xD4, + 0xD2, 0xD6, 0xD9, 0xDC, 0xD9, 0xD7, 0xD9, 0xDA, 0xDD, 0xE2, 0xE8, 0xED, 0xEE, 0xE8, 0xE3, 0xE5, 0xE8, 0xEA, 0xE9, 0xED, 0xF1, 0xF4, 0xF5, 0xF4, 0xFB, 0x04, 0x0A, 0x0D, 0x10, 0x18, 0x1E, 0x22, + 0x27, 0x2C, 0x31, 0x36, 0x3E, 0x48, 0x4D, 0x53, 0x53, 0x56, 0x58, 0x54, 0x52, 0x53, 0x51, 0x4B, 0x45, 0x42, 0x3D, 0x37, 0x30, 0x2E, 0x2F, 0x30, 0x2D, 0x2D, 0x31, 0x32, 0x30, 0x2D, 0x29, 0x25, + 0x22, 0x1A, 0x15, 0x0D, 0x05, 0xFF, 0xF7, 0xEC, 0xE4, 0xE1, 0xDC, 0xD5, 0xCF, 0xCC, 0xCA, 0xC7, 0xC2, 0xBD, 0xB9, 0xB5, 0xB4, 0xB5, 0xB6, 0xBA, 0xC0, 0xC1, 0xC3, 0xC3, 0xC8, 0xCB, 0xCF, 0xD2, + 0xD7, 0xD9, 0xD6, 0xD5, 0xD1, 0xD2, 0xD4, 0xD5, 0xD2, 0xD6, 0xDE, 0xE3, 0xE7, 0xEC, 0xF5, 0xFA, 0xFE, 0x01, 0x03, 0xFF, 0x00, 0x05, 0x09, 0x08, 0x05, 0x05, 0x03, 0x01, 0x02, 0x06, 0x0A, 0x0F, + 0x11, 0x18, 0x1F, 0x22, 0x25, 0x26, 0x25, 0x24, 0x1D, 0x1B, 0x1A, 0x15, 0x0E, 0x05, 0x00, 0xFA, 0xF6, 0xF4, 0xEE, 0xED, 0xEE, 0xF1, 0xF5, 0xF6, 0xFD, 0x05, 0x0D, 0x14, 0x1A, 0x1E, 0x1D, 0x1C, + 0x1D, 0x1E, 0x1F, 0x1C, 0x1A, 0x18, 0x16, 0x14, 0x10, 0x0C, 0x0A, 0x10, 0x12, 0x14, 0x19, 0x1D, 0x1D, 0x1C, 0x22, 0x28, 0x2E, 0x2B, 0x27, 0x23, 0x1E, 0x1A, 0x17, 0x14, 0x10, 0x0B, 0x04, 0xFE, + 0xF9, 0xF8, 0xF5, 0xF6, 0xFA, 0xF7, 0xF4, 0xEE, 0xE9, 0xE4, 0xDD, 0xD7, 0xD5, 0xD0, 0xC5, 0xBB, 0xB7, 0xB2, 0xAD, 0xA7, 0xA5, 0xA5, 0xA5, 0xAB, 0xAC, 0xAD, 0xB1, 0xB7, 0xBB, 0xC0, 0xC4, 0xCA, + 0xCF, 0xD2, 0xD4, 0xD9, 0xDF, 0xE1, 0xE5, 0xE6, 0xE7, 0xEE, 0xF8, 0x01, 0x09, 0x0F, 0x19, 0x22, 0x28, 0x31, 0x3B, 0x43, 0x49, 0x4C, 0x4F, 0x52, 0x50, 0x4B, 0x43, 0x39, 0x34, 0x29, 0x20, 0x18, + 0x10, 0x0C, 0x09, 0x05, 0x05, 0x06, 0x07, 0x0A, 0x0E, 0x16, 0x1C, 0x21, 0x24, 0x25, 0x23, 0x20, 0x1C, 0x16, 0x12, 0x0E, 0x0B, 0x03, 0xFC, 0xF6, 0xF3, 0xF5, 0xF8, 0xFB, 0xF8, 0xF8, 0xFB, 0x00, + 0x04, 0x0A, 0x0F, 0x10, 0x10, 0x11, 0x11, 0x10, 0x10, 0x11, 0x12, 0x12, 0x14, 0x15, 0x16, 0x14, 0x11, 0x12, 0x16, 0x1D, 0x1D, 0x17, 0x10, 0x10, 0x10, 0x10, 0x0F, 0x0C, 0x08, 0x02, 0xFC, 0xF9, + 0xF7, 0xF7, 0xF5, 0xF2, 0xEE, 0xEA, 0xE7, 0xE4, 0xE4, 0xE7, 0xEA, 0xEC, 0xEB, 0xED, 0xEF, 0xEE, 0xEE, 0xEF, 0xF0, 0xF1, 0xF3, 0xF3, 0xF5, 0xF7, 0xF8, 0xF9, 0xFA, 0xFC, 0xFD, 0xFD, 0xFE, 0xFF, + 0xFF, 0x00, 0x00, 0x02, 0x06, 0x0C, 0x17, 0x20, 0x27, 0x2C, 0x2F, 0x32, 0x34, 0x34, 0x34, 0x33, 0x32, 0x30, 0x2B, 0x27, 0x25, 0x24, 0x23, 0x22, 0x22, 0x24, 0x27, 0x2B, 0x32, 0x3A, 0x43, 0x49, + 0x4D, 0x4E, 0x4F, 0x4E, 0x4D, 0x4C, 0x4A, 0x43, 0x3F, 0x38, 0x32, 0x2B, 0x26, 0x21, 0x1D, 0x1C, 0x1D, 0x1B, 0x1B, 0x1B, 0x1E, 0x20, 0x24, 0x24, 0x27, 0x25, 0x26, 0x22, 0x20, 0x1D, 0x1D, 0x1C, + 0x17, 0x12, 0x10, 0x0C, 0x0F, 0x0D, 0x09, 0x05, 0x07, 0x07, 0x09, 0x0A, 0x0A, 0x04, 0x02, 0x02, 0xFF, 0xFC, 0xF9, 0xF6, 0xF5, 0xF1, 0xEE, 0xED, 0xED, 0xEE, 0xF1, 0xF0, 0xEF, 0xEC, 0xEA, 0xE9, + 0xE7, 0xE7, 0xE9, 0xEB, 0xED, 0xED, 0xED, 0xED, 0xED, 0xEE, 0xF1, 0xF6, 0xF7, 0xF6, 0xF4, 0xF4, 0xF7, 0xFF, 0xF9, 0xF5, 0xF2, 0xEF, 0xEB, 0xE8, 0xE7, 0xE6, 0xE5, 0xE5, 0xE6, 0xE7, 0xEA, 0xEB, + 0xED, 0xF1, 0xF4, 0xF4, 0xF2, 0xF3, 0xF5, 0xF6, 0xF8, 0xF9, 0xFB, 0xFB, 0xF8, 0xF4, 0xF2, 0xF2, 0xF4, 0xF5, 0xF6, 0xF5, 0xF5, 0xF7, 0xFB, 0xFC, 0xFE, 0x01, 0x03, 0x07, 0x0E, 0x14, 0x1B, 0x25, + 0x2E, 0x34, 0x3A, 0x3D, 0x3E, 0x41, 0x41, 0x40, 0x3F, 0x3C, 0x37, 0x30, 0x2A, 0x25, 0x1F, 0x19, 0x17, 0x0F, 0x08, 0x03, 0xFF, 0xFD, 0xF9, 0xF6, 0xF0, 0xEA, 0xE4, 0xDF, 0xDC, 0xD7, 0xD4, 0xD3, + 0xD2, 0xCE, 0xCC, 0xC8, 0xC7, 0xC6, 0xC7, 0xC9, 0xC9, 0xCA, 0xCD, 0xCD, 0xD1, 0xD2, 0xD2, 0xD5, 0xD8, 0xDC, 0xE3, 0xE6, 0xE9, 0xEB, 0xEE, 0xF3, 0xFA, 0xFF, 0x04, 0x08, 0x0D, 0x11, 0x15, 0x19, + 0x1D, 0x22, 0x25, 0x24, 0x27, 0x26, 0x28, 0x2A, 0x2C, 0x2F, 0x31, 0x33, 0x34, 0x30, 0x32, 0x31, 0x2D, 0x2A, 0x29, 0x27, 0x21, 0x1A, 0x14, 0x0B, 0x04, 0xFD, 0xF9, 0xF3, 0xEA, 0xE3, 0xDD, 0xD8, + 0xD3, 0xCE, 0xC9, 0xC4, 0xC0, 0xC2, 0xC7, 0xCB, 0xCC, 0xCB, 0xCE, 0xD2, 0xD9, 0xE1, 0xEA, 0xF5, 0xFA, 0xFE, 0x03, 0x05, 0x08, 0x0A, 0x09, 0x08, 0x08, 0x08, 0x07, 0x09, 0x09, 0x06, 0x03, 0x03, + 0x03, 0x02, 0x02, 0x00, 0xFB, 0xF6, 0xF3, 0xF0, 0xF0, 0xF1, 0xEF, 0xEC, 0xEA, 0xE9, 0xE9, 0xE7, 0xE9, 0xEC, 0xEE, 0xED, 0xEB, 0xE9, 0xE5, 0xE2, 0xE2, 0xDE, 0xDB, 0xD9, 0xDB, 0xDB, 0xDC, 0xE1, + 0xE5, 0xE9, 0xEB, 0xF2, 0xF9, 0xFF, 0x01, 0x05, 0x07, 0x06, 0x06, 0x06, 0x04, 0x03, 0x04, 0x04, 0x07, 0x06, 0x08, 0x0E, 0x11, 0x15, 0x19, 0x1B, 0x21, 0x27, 0x27, 0x28, 0x29, 0x2A, 0x29, 0x25, + 0x23, 0x21, 0x1F, 0x1C, 0x17, 0x11, 0x0B, 0x05, 0xFE, 0xF5, 0xF0, 0xEA, 0xE5, 0xE2, 0xDE, 0xDC, 0xDB, 0xD8, 0xDA, 0xDE, 0xE0, 0xE4, 0xE7, 0xEC, 0xEF, 0xF3, 0xF7, 0xFC, 0xFE, 0xFE, 0xFE, 0xFC, + 0xFD, 0xFD, 0xFD, 0xFF, 0xFF, 0x01, 0x04, 0x04, 0x08, 0x0C, 0x0D, 0x11, 0x16, 0x21, 0x2E, 0x34, 0x37, 0x3E, 0x44, 0x4B, 0x50, 0x55, 0x5C, 0x60, 0x61, 0x5E, 0x5A, 0x57, 0x52, 0x4C, 0x44, 0x3F, + 0x37, 0x2F, 0x28, 0x1F, 0x17, 0x0D, 0x07, 0x03, 0x02, 0x02, 0x00, 0xFD, 0xFC, 0xFC, 0xFC, 0xFD, 0xFA, 0xF7, 0xF3, 0xF1, 0xF1, 0xF1, 0xF0, 0xF0, 0xF1, 0xF3, 0xF5, 0xF3, 0xF2, 0xF4, 0xFA, 0xFD, + 0x00, 0x01, 0x05, 0x07, 0x08, 0x08, 0x0A, 0x0C, 0x0E, 0x0E, 0x11, 0x13, 0x15, 0x15, 0x16, 0x13, 0x12, 0x10, 0x0F, 0x09, 0x08, 0x04, 0x00, 0xFC, 0xF6, 0xF0, 0xE9, 0xE6, 0xE4, 0xE4, 0xE5, 0xE7, + 0xEA, 0xEE, 0xF2, 0xF4, 0xF4, 0xF7, 0xFC, 0xFD, 0xFC, 0xFA, 0xF8, 0xF5, 0xEF, 0xE6, 0xE2, 0xDB, 0xD6, 0xCE, 0xC9, 0xC8, 0xC8, 0xC7, 0xC7, 0xC9, 0xCC, 0xD1, 0xD4, 0xD8, 0xDD, 0xE2, 0xE9, 0xEF, + 0xF8, 0xFE, 0x03, 0x06, 0x0C, 0x0E, 0x11, 0x13, 0x11, 0x0C, 0x0A, 0x0A, 0x09, 0x04, 0x00, 0xFB, 0xFC, 0xFA, 0xF8, 0xF6, 0xF5, 0xF7, 0xF6, 0xF4, 0xF2, 0xF3, 0xF4, 0xF0, 0xED, 0xED, 0xEA, 0xE6, + 0xE2, 0xDD, 0xDA, 0xD8, 0xD7, 0xD5, 0xD2, 0xCE, 0xCC, 0xCD, 0xCD, 0xCE, 0xD0, 0xCE, 0xD1, 0xD3, 0xD6, 0xDC, 0xDC, 0xDD, 0xE1, 0xE3, 0xE9, 0xED, 0xF1, 0xF2, 0xF3, 0xF5, 0xF6, 0xF8, 0xF6, 0xF4, + 0xF2, 0xF1, 0xF2, 0xF1, 0xEE, 0xED, 0xEF, 0xF0, 0xF2, 0xF9, 0x00, 0x05, 0x07, 0x0A, 0x10, 0x15, 0x1A, 0x1C, 0x1E, 0x1D, 0x1B, 0x18, 0x15, 0x12, 0x10, 0x0D, 0x0A, 0x06, 0x02, 0xFF, 0xFC, 0xFA, + 0xFC, 0x02, 0x06, 0x0A, 0x0D, 0x10, 0x14, 0x1A, 0x1F, 0x25, 0x29, 0x2C, 0x30, 0x32, 0x33, 0x33, 0x30, 0x34, 0x36, 0x36, 0x34, 0x30, 0x2D, 0x2B, 0x28, 0x24, 0x20, 0x1B, 0x17, 0x16, 0x17, 0x1B, + 0x1F, 0x22, 0x26, 0x28, 0x2A, 0x2F, 0x35, 0x39, 0x3A, 0x38, 0x34, 0x2F, 0x29, 0x24, 0x20, 0x1B, 0x17, 0x15, 0x13, 0x13, 0x11, 0x13, 0x18, 0x1D, 0x25, 0x29, 0x2B, 0x2F, 0x34, 0x37, 0x38, 0x38, + 0x37, 0x36, 0x2E, 0x29, 0x25, 0x1F, 0x17, 0x0E, 0x06, 0x00, 0xF8, 0xF3, 0xEF, 0xEB, 0xEA, 0xEB, 0xED, 0xEC, 0xEE, 0xEF, 0xF5, 0xFE, 0x03, 0x09, 0x07, 0x05, 0x04, 0x06, 0x03, 0x00, 0xF9, 0xF0, + 0xE7, 0xDD, 0xD8, 0xD6, 0xCE, 0xC8, 0xC4, 0xC3, 0xC3, 0xC5, 0xC5, 0xC7, 0xC9, 0xCB, 0xCC, 0xCA, 0xCC, 0xCC, 0xCB, 0xCC, 0xCB, 0xCF, 0xD0, 0xD2, 0xD3, 0xD4, 0xD2, 0xD3, 0xD3, 0xD2, 0xD1, 0xD2, + 0xD4, 0xD3, 0xD0, 0xD4, 0xD7, 0xD9, 0xDD, 0xE2, 0xE5, 0xE8, 0xEE, 0xF3, 0xFC, 0x05, 0x0B, 0x0F, 0x0F, 0x0E, 0x0B, 0x07, 0x01, 0xFD, 0xF7, 0xF2, 0xEB, 0xE7, 0xE3, 0xDE, 0xD8, 0xD4, 0xD0, 0xCF, + 0xCC, 0xCC, 0xCD, 0xCD, 0xCE, 0xD0, 0xD2, 0xD5, 0xD4, 0xD2, 0xD3, 0xD4, 0xD5, 0xD7, 0xD6, 0xD8, 0xDE, 0xE7, 0xEC, 0xF1, 0xF3, 0xF5, 0xF8, 0xFE, 0x03, 0x0C, 0x11, 0x18, 0x1C, 0x23, 0x29, 0x31, + 0x3A, 0x41, 0x48, 0x4F, 0x54, 0x57, 0x5A, 0x5B, 0x5D, 0x5E, 0x57, 0x4E, 0x41, 0x38, 0x30, 0x2B, 0x27, 0x23, 0x1C, 0x17, 0x12, 0x10, 0x12, 0x17, 0x17, 0x1A, 0x18, 0x15, 0x12, 0x0F, 0x0B, 0x0A, + 0x09, 0x07, 0x01, 0xFC, 0xF4, 0xEF, 0xEE, 0xF1, 0xF5, 0xF9, 0xFA, 0xFA, 0xF7, 0xFB, 0xFC, 0xFD, 0xFF, 0x01, 0x05, 0x09, 0x0F, 0x12, 0x17, 0x1D, 0x23, 0x2A, 0x34, 0x3D, 0x46, 0x4E, 0x51, 0x56, + 0x58, 0x5D, 0x5E, 0x5B, 0x57, 0x53, 0x50, 0x4D, 0x46, 0x42, 0x3C, 0x3B, 0x38, 0x33, 0x30, 0x2D, 0x2A, 0x26, 0x20, 0x1A, 0x16, 0x10, 0x0B, 0x07, 0x00, 0xFD, 0xFA, 0xF4, 0xF0, 0xE7, 0xE3, 0xDD, + 0xDB, 0xD7, 0xD1, 0xCE, 0xC6, 0xC3, 0xBC, 0xB9, 0xB7, 0xB7, 0xBB, 0xBD, 0xC2, 0xC7, 0xCC, 0xD2, 0xD5, 0xDC, 0xE2, 0xE8, 0xEC, 0xED, 0xEE, 0xEC, 0xEA, 0xE5, 0xE1, 0xDF, 0xDE, 0xDE, 0xDC, 0xD9, + 0xD8, 0xD9, 0xDC, 0xE0, 0xE7, 0xEE, 0xF3, 0xF9, 0xFF, 0x03, 0x07, 0x0B, 0x0B, 0x08, 0x05, 0x03, 0x02, 0x01, 0xFE, 0xF9, 0xF3, 0xED, 0xE7, 0xE3, 0xE2, 0xE2, 0xE3, 0xE4, 0xE6, 0xE5, 0xE6, 0xEA, + 0xEF, 0xF4, 0xF8, 0xF9, 0xF8, 0xF6, 0xF6, 0xF7, 0xF8, 0xFA, 0xF8, 0xF3, 0xEE, 0xE8, 0xE3, 0xE0, 0xE0, 0xDF, 0xDF, 0xDE, 0xDD, 0xDD, 0xE0, 0xE2, 0xE6, 0xE9, 0xEC, 0xF0, 0xF3, 0xF4, 0xF6, 0xF6, + 0xF6, 0xF3, 0xF2, 0xEE, 0xE9, 0xE6, 0xE8, 0xE8, 0xE9, 0xED, 0xF1, 0xF3, 0xF4, 0xF9, 0xFF, 0x02, 0x09, 0x0E, 0x13, 0x17, 0x1B, 0x1C, 0x1D, 0x1D, 0x1F, 0x20, 0x22, 0x23, 0x26, 0x2A, 0x2A, 0x29, + 0x29, 0x2A, 0x29, 0x29, 0x2A, 0x2B, 0x2E, 0x2D, 0x2E, 0x2C, 0x2C, 0x2B, 0x2B, 0x2C, 0x2E, 0x2E, 0x2C, 0x2A, 0x26, 0x22, 0x1F, 0x1B, 0x17, 0x12, 0x0D, 0x05, 0xFE, 0xF9, 0xF7, 0xF4, 0xF3, 0xEE, + 0xEA, 0xE7, 0xE5, 0xE4, 0xE3, 0xE3, 0xE7, 0xE9, 0xE8, 0xE6, 0xE6, 0xE5, 0xE3, 0xE3, 0xE2, 0xE1, 0xE2, 0xE4, 0xE7, 0xE7, 0xE5, 0xE3, 0xE4, 0xE4, 0xE4, 0xE5, 0xEA, 0xEC, 0xEF, 0xF2, 0xF6, 0xF9, + 0xFE, 0x05, 0x0A, 0x10, 0x13, 0x14, 0x16, 0x18, 0x19, 0x15, 0x13, 0x0F, 0x0B, 0x05, 0x00, 0xFD, 0xFC, 0xFA, 0xFA, 0xFA, 0xFB, 0xFD, 0x00, 0x04, 0x06, 0x0A, 0x0B, 0x0E, 0x0F, 0x11, 0x13, 0x13, + 0x15, 0x16, 0x18, 0x19, 0x1B, 0x1B, 0x1D, 0x20, 0x23, 0x27, 0x2B, 0x2C, 0x2D, 0x2C, 0x29, 0x27, 0x26, 0x21, 0x1F, 0x1E, 0x1E, 0x1D, 0x1C, 0x1B, 0x18, 0x14, 0x11, 0x0D, 0x0C, 0x0A, 0x06, 0x00, + 0xFC, 0xF7, 0xF1, 0xE9, 0xE0, 0xDA, 0xD7, 0xD2, 0xCD, 0xC8, 0xC8, 0xC9, 0xCA, 0xCC, 0xCF, 0xD1, 0xD3, 0xD2, 0xD5, 0xD8, 0xDC, 0xDF, 0xDF, 0xDE, 0xDF, 0xE3, 0xE6, 0xE9, 0xEC, 0xEE, 0xF3, 0xF6, + 0xFB, 0x00, 0x03, 0x06, 0x0B, 0x0F, 0x11, 0x11, 0x12, 0x15, 0x15, 0x18, 0x18, 0x18, 0x1A, 0x19, 0x1B, 0x20, 0x25, 0x27, 0x2A, 0x2C, 0x31, 0x33, 0x34, 0x34, 0x33, 0x31, 0x2D, 0x2A, 0x27, 0x22, + 0x1B, 0x12, 0x0C, 0x06, 0x01, 0xFC, 0xF4, 0xF0, 0xEE, 0xEB, 0xE8, 0xE8, 0xE9, 0xEB, 0xE8, 0xE7, 0xE6, 0xE8, 0xEB, 0xEC, 0xF0, 0xF3, 0xF4, 0xF5, 0xF4, 0xF2, 0xF2, 0xF2, 0xF0, 0xF1, 0xF0, 0xEE, + 0xEA, 0xEA, 0xE9, 0xEA, 0xEA, 0xEB, 0xEA, 0xEB, 0xEC, 0xF0, 0xF1, 0xF0, 0xF0, 0xF2, 0xF5, 0xF8, 0xF7, 0xF9, 0xFA, 0xFB, 0xFD, 0x00, 0x01, 0x02, 0x02, 0x00, 0xFF, 0xFE, 0xFE, 0xFC, 0xFB, 0xFC, + 0xFD, 0x01, 0x04, 0x06, 0x07, 0x09, 0x0D, 0x12, 0x16, 0x1A, 0x1E, 0x1F, 0x1F, 0x1F, 0x1F, 0x1C, 0x17, 0x15, 0x13, 0x0F, 0x0B, 0x06, 0x02, 0x01, 0x00, 0xFF, 0xFE, 0xFC, 0xFC, 0xFB, 0xF9, 0xF9, + 0xFA, 0xFB, 0xFA, 0xF9, 0xF8, 0xF6, 0xF2, 0xED, 0xE7, 0xE3, 0xDF, 0xDC, 0xD8, 0xD6, 0xD8, 0xD5, 0xD1, 0xCE, 0xCE, 0xD0, 0xD2, 0xD4, 0xD8, 0xDD, 0xE3, 0xE9, 0xEE, 0xF4, 0xFA, 0x00, 0x05, 0x08, + 0x0A, 0x0E, 0x12, 0x17, 0x1B, 0x20, 0x24, 0x26, 0x27, 0x28, 0x2A, 0x2D, 0x30, 0x33, 0x33, 0x33, 0x31, 0x2D, 0x28, 0x25, 0x21, 0x1E, 0x1B, 0x17, 0x12, 0x0D, 0x08, 0x05, 0x04, 0x03, 0x02, 0xFE, + 0xFA, 0xF5, 0xF2, 0xEE, 0xEA, 0xE8, 0xE6, 0xE7, 0xE7, 0xE2, 0xDF, 0xDE, 0xDB, 0xDA, 0xDC, 0xDF, 0xE3, 0xEA, 0xED, 0xF0, 0xF2, 0xF4, 0xF7, 0xFB, 0x00, 0x05, 0x07, 0x08, 0x0C, 0x10, 0x12, 0x14, + 0x16, 0x19, 0x1B, 0x1C, 0x1D, 0x1D, 0x1D, 0x20, 0x21, 0x23, 0x24, 0x24, 0x21, 0x20, 0x1C, 0x19, 0x16, 0x15, 0x14, 0x15, 0x14, 0x0D, 0x08, 0x05, 0x01, 0x02, 0xFF, 0xFB, 0xF5, 0xF0, 0xEB, 0xE9, + 0xE6, 0xE5, 0xE5, 0xE3, 0xE3, 0xE1, 0xDE, 0xDE, 0xE1, 0xE8, 0xED, 0xF2, 0xF5, 0xF7, 0xF7, 0xF8, 0xFB, 0xFE, 0x01, 0x03, 0x06, 0x0C, 0x11, 0x15, 0x18, 0x1A, 0x1B, 0x1E, 0x21, 0x23, 0x26, 0x27, + 0x29, 0x26, 0x26, 0x26, 0x22, 0x1D, 0x17, 0x16, 0x13, 0x10, 0x0A, 0x07, 0x05, 0x04, 0x03, 0x06, 0x06, 0x06, 0x03, 0x03, 0x02, 0x02, 0x02, 0x03, 0x04, 0x02, 0xFE, 0xFB, 0xF9, 0xF6, 0xF2, 0xF1, + 0xF0, 0xF2, 0xEF, 0xEC, 0xE9, 0xE9, 0xEC, 0xED, 0xEE, 0xEE, 0xF2, 0xF7, 0xFC, 0x01, 0x03, 0x07, 0x07, 0x06, 0x06, 0x04, 0x03, 0x06, 0x03, 0x02, 0xFE, 0xFB, 0xFA, 0xF7, 0xF5, 0xF2, 0xF1, 0xF1, + 0xF1, 0xF1, 0xEF, 0xED, 0xED, 0xEB, 0xE9, 0xE7, 0xE5, 0xE3, 0xE2, 0xE1, 0xE1, 0xE0, 0xDE, 0xDF, 0xE1, 0xE3, 0xE2, 0xE0, 0xDE, 0xDD, 0xDD, 0xDF, 0xDF, 0xDF, 0xDF, 0xDF, 0xE0, 0xDE, 0xDE, 0xDE, + 0xDE, 0xDF, 0xE1, 0xE1, 0xE2, 0xE5, 0xE6, 0xEA, 0xED, 0xEE, 0xF1, 0xF3, 0xF3, 0xF5, 0xF5, 0xF4, 0xF5, 0xF6, 0xF7, 0xF9, 0xFB, 0xFD, 0x01, 0x07, 0x0A, 0x0F, 0x11, 0x17, 0x1B, 0x1F, 0x24, 0x26, + 0x28, 0x2A, 0x2A, 0x2C, 0x2D, 0x2B, 0x28, 0x25, 0x22, 0x20, 0x20, 0x21, 0x20, 0x21, 0x1F, 0x20, 0x20, 0x1E, 0x1A, 0x16, 0x13, 0x13, 0x12, 0x0D, 0x0A, 0x06, 0x04, 0x01, 0xFE, 0xFC, 0xFA, 0xF9, + 0xF6, 0xF4, 0xF2, 0xF1, 0xED, 0xEB, 0xE9, 0xE9, 0xE7, 0xE8, 0xE9, 0xEB, 0xEB, 0xED, 0xF2, 0xF5, 0xF9, 0xFC, 0xFE, 0x03, 0x08, 0x0D, 0x12, 0x19, 0x1F, 0x23, 0x28, 0x2E, 0x33, 0x35, 0x38, 0x3E, + 0x43, 0x48, 0x49, 0x48, 0x43, 0x40, 0x3D, 0x3A, 0x38, 0x34, 0x31, 0x2E, 0x2E, 0x2C, 0x2A, 0x28, 0x26, 0x25, 0x23, 0x22, 0x20, 0x1E, 0x1D, 0x1C, 0x18, 0x14, 0x0F, 0x09, 0x02, 0xFC, 0xF7, 0xF1, + 0xEF, 0xE9, 0xE2, 0xDF, 0xDA, 0xD8, 0xD7, 0xD6, 0xD6, 0xD7, 0xD8, 0xD9, 0xD9, 0xD9, 0xDA, 0xD9, 0xDC, 0xE0, 0xE4, 0xE5, 0xE4, 0xE4, 0xE5, 0xE7, 0xE8, 0xE8, 0xEA, 0xED, 0xEF, 0xF2, 0xF2, 0xF2, + 0xF4, 0xF4, 0xF6, 0xF7, 0xF7, 0xFA, 0xFB, 0xFD, 0xFD, 0xFE, 0xFF, 0x00, 0x00, 0x01, 0x00, 0xFF, 0x00, 0xFF, 0xFD, 0xFA, 0xF8, 0xF8, 0xF8, 0xF5, 0xF4, 0xF3, 0xF4, 0xF3, 0xF2, 0xF3, 0xF4, 0xF5, + 0xF3, 0xF2, 0xF2, 0xF5, 0xF2, 0xF0, 0xEE, 0xED, 0xEC, 0xEC, 0xEA, 0xE8, 0xE6, 0xE5, 0xE3, 0xE4, 0xE2, 0xE5, 0xE6, 0xE6, 0xE6, 0xE6, 0xE7, 0xE8, 0xEB, 0xEB, 0xED, 0xEE, 0xED, 0xEB, 0xE8, 0xE9, + 0xEB, 0xEC, 0xEE, 0xEE, 0xF1, 0xF4, 0xF7, 0xFA, 0xFD, 0x02, 0x08, 0x0D, 0x12, 0x18, 0x1C, 0x1D, 0x1F, 0x21, 0x22, 0x22, 0x20, 0x1D, 0x1B, 0x1B, 0x19, 0x19, 0x18, 0x15, 0x12, 0x0F, 0x0E, 0x0E, + 0x0F, 0x10, 0x10, 0x0F, 0x0E, 0x0D, 0x0E, 0x0F, 0x10, 0x10, 0x0F, 0x0C, 0x08, 0x07, 0x0C, 0x0F, 0x10, 0x10, 0x0F, 0x0D, 0x0B, 0x0A, 0x07, 0x03, 0x00, 0xFC, 0xF8, 0xF5, 0xF2, 0xF1, 0xEF, 0xED, + 0xEC, 0xEB, 0xEB, 0xEC, 0xEE, 0xF2, 0xF6, 0xFA, 0xFD, 0xFF, 0x01, 0x03, 0x05, 0x06, 0x07, 0x07, 0x06, 0x05, 0x04, 0x05, 0x07, 0x0A, 0x0D, 0x10, 0x11, 0x12, 0x13, 0x15, 0x19, 0x1D, 0x21, 0x23, + 0x24, 0x24, 0x23, 0x22, 0x1F, 0x1C, 0x19, 0x16, 0x13, 0x10, 0x0D, 0x0B, 0x09, 0x06, 0x04, 0x02, 0x00, 0xFE, 0xFE, 0xFD, 0xFD, 0xFC, 0xFC, 0xFC, 0xFB, 0xF9, 0xF5, 0xF3, 0xF1, 0xF0, 0xEE, 0xEE, + 0xED, 0xEC, 0xE8, 0xE7, 0xE6, 0xE4, 0xE3, 0xE3, 0xE5, 0xE7, 0xEA, 0xED, 0xEF, 0xF3, 0xF5, 0xF8, 0xFD, 0x01, 0x05, 0x07, 0x09, 0x0B, 0x0D, 0x0F, 0x0F, 0x0E, 0x0C, 0x0B, 0x0B, 0x09, 0x09, 0x07, + 0x07, 0x07, 0x07, 0x06, 0x05, 0x01, 0x00, 0xFF, 0xFC, 0xF9, 0xF7, 0xF5, 0xF3, 0xF0, 0xEF, 0xEE, 0xEF, 0xEE, 0xEE, 0xEF, 0xF0, 0xF2, 0xF3, 0xF4, 0xF5, 0xF6, 0xF9, 0xFA, 0xF9, 0xFA, 0xFB, 0xFA, + 0xF9, 0xFA, 0xFD, 0x01, 0x03, 0x04, 0x06, 0x08, 0x0B, 0x0D, 0x0F, 0x10, 0x12, 0x10, 0x11, 0x11, 0x10, 0x0E, 0x0B, 0x09, 0x07, 0x06, 0x04, 0x02, 0x02, 0x00, 0xFF, 0xFF, 0xFE, 0x00, 0x01, 0x03, + 0x04, 0x06, 0x06, 0x08, 0x09, 0x0A, 0x07, 0x05, 0x04, 0x03, 0x02, 0x02, 0x01, 0xFD, 0xFB, 0xF8, 0xF6, 0xF4, 0xF3, 0xF3, 0xF4, 0xF2, 0xF1, 0xF0, 0xF1, 0xF3, 0xF5, 0xFA, 0xFE, 0x00, 0x03, 0x05, + 0x07, 0x08, 0x09, 0x09, 0x09, 0x08, 0x05, 0x02, 0x00, 0xFF, 0xFF, 0xFC, 0xFB, 0xFC, 0xFD, 0xFD, 0xFD, 0x02, 0x05, 0x07, 0x07, 0x08, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x09, 0x06, 0x03, 0xFF, 0xFB, + 0xFA, 0xF7, 0xF6, 0xF4, 0xF1, 0xF0, 0xF0, 0xF0, 0xF1, 0xF3, 0xF7, 0xFA, 0xFF, 0x01, 0x01, 0x03, 0x04, 0x03, 0x04, 0x07, 0x09, 0x08, 0x06, 0x05, 0x02, 0xFF, 0xFE, 0xFE, 0xFF, 0xFE, 0xFE, 0xFD, + 0xFB, 0xFA, 0xFA, 0xFB, 0xFC, 0x00, 0x02, 0x03, 0x05, 0x08, 0x0C, 0x0C, 0x0E, 0x0E, 0x0E, 0x0C, 0x0B, 0x0A, 0x0A, 0x09, 0x06, 0x03, 0x00, 0xFE, 0xFC, 0xFA, 0xF9, 0xFB, 0xFC, 0xFD, 0xFB, 0xFD, + 0xFE, 0x01, 0x03, 0x06, 0x08, 0x09, 0x08, 0x09, 0x08, 0x06, 0x05, 0x05, 0x04, 0x02, 0xFE, 0xFE, 0xFC, 0xFA, 0xF9, 0xF9, 0xF9, 0xFA, 0xFA, 0xFC, 0xFD, 0xFE, 0xFE, 0xFF, 0x00, 0x02, 0x03, 0x04, + 0x04, 0x06, 0x06, 0x04, 0x02, 0x02, 0x00, 0x00, 0xFE, 0xFC, 0xFD, 0xFD, 0xFC, 0xFB, 0xFC, 0xFB, 0xFA, 0xFB, 0xFA, 0xFA, 0xFB, 0xFB, 0xF8, 0xF7, 0xF5, 0xF5, 0xF2, 0xF3, 0xF1, 0xF1, 0xEF, 0xEE, + 0xEE, 0xEB, 0xEB, 0xEB, 0xEA, 0xE8, 0xE6, 0xE5, 0xE4, 0xE4, 0xE5, 0xE5, 0xE7, 0xE9, 0xED, 0xF1, 0xF8, 0xFD, 0x01, 0x03, 0x07, 0x0D, 0x11, 0x15, 0x14, 0x15, 0x16, 0x15, 0x14, 0x14, 0x12, 0x14, + 0x10, 0x0F, 0x0E, 0x0E, 0x0F, 0x12, 0x14, 0x15, 0x17, 0x16, 0x17, 0x15, 0x15, 0x17, 0x16, 0x17, 0x17, 0x16, 0x13, 0x11, 0x0F, 0x0A, 0x06, 0x04, 0x02, 0x04, 0x06, 0x07, 0x07, 0x09, 0x09, 0x0B, + 0x0A, 0x08, 0x08, 0x0B, 0x0D, 0x0B, 0x0B, 0x0B, 0x0B, 0x08, 0x09, 0x0A, 0x0C, 0x0E, 0x0E, 0x0F, 0x0E, 0x0F, 0x0F, 0x0E, 0x0F, 0x0E, 0x08, 0x06, 0x03, 0x02, 0x01, 0xFF, 0xFE, 0xFD, 0xFC, 0xFB, + 0xFC, 0x00, 0x03, 0x06, 0x08, 0x07, 0x08, 0x09, 0x09, 0x06, 0x02, 0xFF, 0xFD, 0xFC, 0xF8, 0xF7, 0xF4, 0xF0, 0xF2, 0xF2, 0xF1, 0xF1, 0xF2, 0xF1, 0xF1, 0xF1, 0xF2, 0xF7, 0xFA, 0xFC, 0xFD, 0xFA, + 0xFA, 0xF8, 0xF8, 0xF6, 0xF3, 0xF1, 0xED, 0xED, 0xEC, 0xE9, 0xE7, 0xE8, 0xEA, 0xEC, 0xEE, 0xEF, 0xF2, 0xF5, 0xF7, 0xFB, 0xFE, 0x02, 0x05, 0x07, 0x05, 0x02, 0x00, 0xFC, 0xF9, 0xF7, 0xF9, 0xF7, + 0xF6, 0xF3, 0xF1, 0xF0, 0xEF, 0xEF, 0xEF, 0xF1, 0xF0, 0xF0, 0xF0, 0xF2, 0xF3, 0xF4, 0xF4, 0xF5, 0xF5, 0xF6, 0xF8, 0xF7, 0xF4, 0xF5, 0xF3, 0xF1, 0xEF, 0xEE, 0xEB, 0xE8, 0xE5, 0xE3, 0xE3, 0xE3, + 0xE4, 0xE3, 0xE3, 0xE2, 0xE2, 0xE5, 0xEA, 0xEF, 0xF2, 0xF2, 0xF2, 0xF3, 0xF4, 0xF3, 0xF3, 0xF6, 0xFA, 0xFE, 0x00, 0x03, 0x06, 0x0A, 0x10, 0x17, 0x1F, 0x23, 0x22, 0x23, 0x24, 0x24, 0x21, 0x21, + 0x1F, 0x1E, 0x1E, 0x1E, 0x1E, 0x1D, 0x1F, 0x21, 0x1F, 0x1D, 0x1D, 0x1E, 0x1C, 0x19, 0x14, 0x0F, 0x0B, 0x08, 0x03, 0xFF, 0xFD, 0xFA, 0xF9, 0xF6, 0xF4, 0xF6, 0xF8, 0xFD, 0xFF, 0x01, 0x01, 0x00, + 0x00, 0x01, 0x02, 0x02, 0x04, 0x06, 0x08, 0x09, 0x0A, 0x0E, 0x11, 0x12, 0x14, 0x13, 0x12, 0x11, 0x0F, 0x0D, 0x0A, 0x0B, 0x09, 0x09, 0x07, 0x05, 0x03, 0x03, 0x06, 0x0A, 0x10, 0x15, 0x18, 0x1C, + 0x1F, 0x1E, 0x1E, 0x1D, 0x1C, 0x1D, 0x1B, 0x16, 0x12, 0x0D, 0x06, 0x01, 0xFC, 0xFA, 0xFA, 0xF6, 0xF2, 0xF1, 0xF0, 0xF0, 0xF2, 0xF1, 0xF3, 0xF5, 0xF8, 0xF9, 0xF9, 0xF9, 0xFA, 0xFB, 0xFC, 0xFA, + 0xF9, 0xF8, 0xF5, 0xF0, 0xEF, 0xEC, 0xE9, 0xE7, 0xE4, 0xE1, 0xE0, 0xE1, 0xE5, 0xE8, 0xEA, 0xEC, 0xED, 0xEE, 0xEF, 0xF4, 0xF6, 0xF7, 0xF5, 0xF6, 0xF4, 0xEF, 0xEC, 0xE8, 0xE6, 0xE4, 0xE3, 0xE3, + 0xE1, 0xE3, 0xE4, 0xE5, 0xE6, 0xE7, 0xEC, 0xF1, 0xF7, 0xFC, 0x04, 0x0A, 0x0D, 0x10, 0x12, 0x16, 0x1A, 0x1C, 0x1B, 0x15, 0x0F, 0x0B, 0x07, 0x05, 0x03, 0x02, 0x00, 0xFE, 0xFC, 0xFB, 0xF9, 0xF8, + 0xF6, 0xF5, 0xF4, 0xF5, 0xF6, 0xF9, 0xF9, 0xF8, 0xF8, 0xF8, 0xFA, 0xFE, 0x01, 0x06, 0x08, 0x0A, 0x09, 0x07, 0x03, 0xFE, 0xF8, 0xF2, 0xEA, 0xE5, 0xDF, 0xDC, 0xD9, 0xDC, 0xE3, 0xE6, 0xEB, 0xED, + 0xF0, 0xF2, 0xF4, 0xF7, 0xFA, 0xF9, 0xFA, 0xF7, 0xF2, 0xF1, 0xF1, 0xF2, 0xF6, 0xFA, 0xFF, 0x05, 0x0A, 0x0F, 0x13, 0x18, 0x1A, 0x1A, 0x17, 0x15, 0x15, 0x13, 0x14, 0x12, 0x13, 0x16, 0x18, 0x1C, + 0x1F, 0x22, 0x26, 0x28, 0x28, 0x28, 0x26, 0x23, 0x20, 0x19, 0x12, 0x0C, 0x08, 0x04, 0x01, 0xFE, 0xFC, 0xFA, 0xF5, 0xF1, 0xEF, 0xF1, 0xF1, 0xF3, 0xF6, 0xF8, 0xF8, 0xF8, 0xF8, 0xF9, 0xF9, 0xF8, + 0xF9, 0xF7, 0xF5, 0xF3, 0xF1, 0xF0, 0xF0, 0xF2, 0xF3, 0xF0, 0xEE, 0xEE, 0xF4, 0xF9, 0xFE, 0x01, 0x05, 0x0A, 0x10, 0x14, 0x17, 0x1E, 0x21, 0x26, 0x25, 0x25, 0x25, 0x24, 0x22, 0x20, 0x1F, 0x1C, + 0x19, 0x15, 0x11, 0x0B, 0x05, 0xFC, 0xF6, 0xF0, 0xEB, 0xE7, 0xE6, 0xE8, 0xE9, 0xE8, 0xE9, 0xE9, 0xEA, 0xEA, 0xEB, 0xEC, 0xEE, 0xF0, 0xF2, 0xF2, 0xF4, 0xF6, 0xF8, 0xFA, 0xFC, 0xFD, 0xFE, 0xFF, + 0xFF, 0x00, 0x04, 0x06, 0x0B, 0x11, 0x13, 0x14, 0x15, 0x15, 0x16, 0x16, 0x13, 0x11, 0x11, 0x0E, 0x0A, 0x06, 0x02, 0x00, 0xFB, 0xF6, 0xF3, 0xF0, 0xED, 0xED, 0xED, 0xED, 0xEC, 0xEA, 0xE8, 0xE8, + 0xE9, 0xE7, 0xE6, 0xE6, 0xE6, 0xE4, 0xE1, 0xE0, 0xE4, 0xE9, 0xE9, 0xEB, 0xEE, 0xEF, 0xED, 0xEE, 0xEE, 0xED, 0xEB, 0xE6, 0xE1, 0xDE, 0xDE, 0xDD, 0xE0, 0xE5, 0xEA, 0xF2, 0xFA, 0x01, 0x09, 0x12, + 0x19, 0x1D, 0x20, 0x1F, 0x1E, 0x1B, 0x18, 0x12, 0x0D, 0x07, 0x03, 0xFE, 0xFB, 0xFB, 0xF9, 0xFA, 0xFC, 0xFD, 0x01, 0x06, 0x09, 0x0C, 0x0E, 0x0E, 0x0D, 0x0B, 0x09, 0x08, 0x08, 0x08, 0x08, 0x08, + 0x09, 0x07, 0x06, 0x02, 0xFF, 0xFB, 0xFA, 0xF7, 0xF4, 0xF4, 0xF3, 0xF6, 0xF5, 0xF4, 0xF7, 0xF9, 0xFB, 0xFF, 0x04, 0x0B, 0x0F, 0x14, 0x19, 0x1A, 0x1A, 0x15, 0x12, 0x0E, 0x09, 0x06, 0x05, 0x03, + 0x02, 0x01, 0xFF, 0x00, 0x00, 0x00, 0x01, 0x02, 0x05, 0x07, 0x08, 0x0A, 0x0E, 0x13, 0x16, 0x19, 0x19, 0x19, 0x19, 0x1A, 0x19, 0x17, 0x14, 0x12, 0x0E, 0x0A, 0x05, 0x04, 0x03, 0x04, 0x06, 0x08, + 0x09, 0x0D, 0x12, 0x15, 0x18, 0x19, 0x1B, 0x1A, 0x19, 0x19, 0x19, 0x16, 0x13, 0x13, 0x12, 0x11, 0x0F, 0x0B, 0x08, 0x04, 0x01, 0xFB, 0xF7, 0xF0, 0xEB, 0xE7, 0xE4, 0xE3, 0xE2, 0xDF, 0xDF, 0xE0, + 0xDF, 0xE0, 0xE1, 0xE2, 0xE3, 0xE4, 0xE3, 0xE3, 0xE4, 0xE7, 0xEA, 0xEC, 0xEE, 0xF0, 0xF2, 0xF3, 0xF4, 0xF7, 0xF7, 0xF6, 0xF4, 0xF4, 0xF3, 0xF4, 0xF5, 0xF9, 0xFC, 0x00, 0x04, 0x09, 0x0E, 0x13, + 0x18, 0x1D, 0x21, 0x26, 0x28, 0x28, 0x27, 0x25, 0x22, 0x1F, 0x1B, 0x16, 0x12, 0x0F, 0x0D, 0x0C, 0x0C, 0x0C, 0x0B, 0x0B, 0x0A, 0x0B, 0x09, 0x09, 0x08, 0x05, 0xFF, 0xF8, 0xF5, 0xEF, 0xEA, 0xE6, + 0xE5, 0xE6, 0xE4, 0xE2, 0xE2, 0xE4, 0xE5, 0xE6, 0xE7, 0xE9, 0xE9, 0xEC, 0xEE, 0xEF, 0xF2, 0xF3, 0xF3, 0xF3, 0xF2, 0xF1, 0xF1, 0xF0, 0xEE, 0xEB, 0xE9, 0xEA, 0xEA, 0xE8, 0xE6, 0xE6, 0xE5, 0xE6, + 0xE7, 0xE8, 0xE9, 0xEA, 0xEC, 0xEE, 0xF0, 0xF0, 0xF2, 0xF4, 0xF7, 0xFA, 0xFC, 0xFD, 0xFB, 0xFB, 0xFB, 0xF9, 0xF8, 0xF6, 0xF4, 0xF0, 0xEF, 0xEB, 0xEB, 0xED, 0xEE, 0xF0, 0xF1, 0xF4, 0xF8, 0xFB, + 0x00, 0x03, 0x07, 0x0C, 0x12, 0x15, 0x18, 0x19, 0x1B, 0x1E, 0x20, 0x23, 0x23, 0x24, 0x23, 0x21, 0x20, 0x20, 0x21, 0x26, 0x27, 0x2A, 0x2D, 0x2E, 0x2E, 0x2D, 0x2C, 0x2A, 0x26, 0x23, 0x20, 0x1E, + 0x19, 0x16, 0x14, 0x11, 0x0F, 0x0D, 0x0B, 0x06, 0x01, 0xFC, 0xF8, 0xF1, 0xEC, 0xE7, 0xE2, 0xDE, 0xDB, 0xDC, 0xDC, 0xDD, 0xDF, 0xE1, 0xE5, 0xE8, 0xEB, 0xEE, 0xF2, 0xF6, 0xFB, 0xFF, 0x03, 0x05, + 0x06, 0x05, 0x03, 0x03, 0x04, 0x03, 0x02, 0x00, 0x02, 0x02, 0x00, 0xFF, 0xFD, 0xFE, 0xFF, 0x00, 0x01, 0x03, 0x07, 0x0B, 0x0D, 0x10, 0x14, 0x14, 0x14, 0x15, 0x13, 0x10, 0x0C, 0x08, 0x06, 0x01, + 0xFC, 0xF6, 0xF0, 0xEC, 0xEA, 0xE8, 0xE8, 0xE7, 0xE7, 0xE7, 0xE8, 0xE8, 0xEC, 0xEF, 0xF1, 0xF4, 0xF8, 0xFA, 0xFC, 0xFD, 0xFE, 0x00, 0x01, 0x03, 0x04, 0x04, 0x03, 0x02, 0xFF, 0xFC, 0xF9, 0xF8, + 0xFA, 0xFB, 0x00, 0x04, 0x08, 0x0B, 0x0F, 0x13, 0x16, 0x16, 0x15, 0x13, 0x0F, 0x09, 0x02, 0xFD, 0xF6, 0xF1, 0xE9, 0xE3, 0xDD, 0xD9, 0xD7, 0xD6, 0xD4, 0xD5, 0xD8, 0xDB, 0xE0, 0xE3, 0xE9, 0xEE, + 0xF3, 0xF8, 0xFE, 0x04, 0x08, 0x0B, 0x0D, 0x10, 0x12, 0x15, 0x13, 0x11, 0x0E, 0x0A, 0x06, 0x02, 0xFF, 0xFE, 0xFB, 0xF9, 0xF6, 0xF3, 0xF5, 0xF7, 0xFB, 0x01, 0x07, 0x0D, 0x0F, 0x0E, 0x0C, 0x0D, + 0x10, 0x0F, 0x0C, 0x09, 0x06, 0x01, 0xFE, 0xFA, 0xFA, 0xF7, 0xF5, 0xF2, 0xF3, 0xF4, 0xF4, 0xF8, 0xFA, 0xFD, 0x01, 0x03, 0x04, 0x06, 0x05, 0x04, 0x05, 0x0A, 0x0E, 0x11, 0x11, 0x10, 0x0F, 0x0F, + 0x0E, 0x0E, 0x10, 0x12, 0x14, 0x16, 0x19, 0x1C, 0x1C, 0x1E, 0x23, 0x26, 0x29, 0x2B, 0x2D, 0x2F, 0x30, 0x30, 0x32, 0x31, 0x30, 0x2C, 0x26, 0x23, 0x1F, 0x1C, 0x17, 0x13, 0x0F, 0x0A, 0x06, 0x02, + 0xFE, 0xFE, 0xFC, 0xFB, 0xFC, 0xFA, 0xF7, 0xF3, 0xF0, 0xF0, 0xEE, 0xEC, 0xE7, 0xE4, 0xE0, 0xDF, 0xDE, 0xDD, 0xDD, 0xDE, 0xDE, 0xDE, 0xDE, 0xDF, 0xE2, 0xE3, 0xE6, 0xEA, 0xED, 0xF2, 0xF6, 0xFA, + 0xFF, 0x02, 0x07, 0x0A, 0x0C, 0x0B, 0x08, 0x04, 0x00, 0xFB, 0xF6, 0xF2, 0xEE, 0xEF, 0xED, 0xEC, 0xEB, 0xEB, 0xEE, 0xF1, 0xF5, 0xFB, 0xFE, 0x02, 0x04, 0x04, 0x01, 0xFF, 0xFD, 0xF9, 0xF5, 0xF1, + 0xED, 0xEB, 0xEA, 0xEB, 0xED, 0xF1, 0xF2, 0xF3, 0xF4, 0xF7, 0xFA, 0xFB, 0xFB, 0xFD, 0xFE, 0xFD, 0xFF, 0xFE, 0xFF, 0x02, 0x04, 0x06, 0x07, 0x09, 0x0C, 0x0D, 0x0D, 0x0E, 0x0D, 0x0B, 0x09, 0x08, + 0x07, 0x06, 0x06, 0x08, 0x07, 0x08, 0x09, 0x0C, 0x0E, 0x0E, 0x0D, 0x0B, 0x0A, 0x0A, 0x09, 0x08, 0x04, 0x02, 0xFD, 0xFA, 0xF7, 0xF4, 0xF2, 0xF1, 0xF1, 0xF0, 0xF1, 0xF2, 0xF3, 0xF5, 0xF6, 0xF6, + 0xF6, 0xF8, 0xF8, 0xF9, 0xF9, 0xFA, 0xF9, 0xF7, 0xF4, 0xF2, 0xF1, 0xEE, 0xEF, 0xEF, 0xF2, 0xF1, 0xF1, 0xF3, 0xF4, 0xF6, 0xF8, 0xFB, 0xFC, 0xFD, 0xFF, 0x01, 0x02, 0x03, 0x05, 0x07, 0x09, 0x0A, + 0x0A, 0x0A, 0x08, 0x06, 0x04, 0x02, 0x01, 0x00, 0xFF, 0x00, 0x00, 0x01, 0x01, 0x02, 0x04, 0x06, 0x08, 0x0B, 0x0C, 0x0E, 0x0D, 0x0C, 0x08, 0x02, 0xFD, 0xF8, 0xF2, 0xED, 0xE9, 0xE6, 0xE5, 0xE4, + 0xE1, 0xE2, 0xE2, 0xE2, 0xE3, 0xE6, 0xE9, 0xED, 0xF0, 0xF4, 0xF8, 0xFC, 0xFF, 0x03, 0x06, 0x0A, 0x0E, 0x11, 0x13, 0x15, 0x15, 0x18, 0x17, 0x16, 0x14, 0x10, 0x0D, 0x0A, 0x06, 0x05, 0x03, 0x03, + 0x02, 0x01, 0x02, 0x05, 0x05, 0x09, 0x0C, 0x0F, 0x12, 0x12, 0x11, 0x11, 0x10, 0x0E, 0x0A, 0x07, 0x03, 0x01, 0xFE, 0xFC, 0xFB, 0xF9, 0xF8, 0xF7, 0xF7, 0xF7, 0xF8, 0xFB, 0xFC, 0x00, 0x00, 0x03, + 0x04, 0x06, 0x07, 0x09, 0x0A, 0x0C, 0x0E, 0x0F, 0x11, 0x11, 0x13, 0x12, 0x13, 0x12, 0x13, 0x11, 0x0E, 0x0B, 0x0A, 0x07, 0x03, 0x00, 0xFF, 0xFE, 0xFB, 0xFB, 0xFC, 0xFD, 0xFE, 0xFF, 0xFF, 0xFE, + 0xFD, 0xFE, 0xFE, 0xFD, 0xFC, 0xFB, 0xF9, 0xFA, 0xFB, 0xFA, 0xF9, 0xF7, 0xF6, 0xF6, 0xF5, 0xF3, 0xF4, 0xF6, 0xF7, 0xF9, 0xF8, 0xF9, 0xFB, 0xFB, 0xFC, 0xFD, 0xFF, 0x00, 0x03, 0x04, 0x06, 0x08, + 0x09, 0x0B, 0x0C, 0x0C, 0x0A, 0x0A, 0x0A, 0x0A, 0x0B, 0x0D, 0x11, 0x12, 0x12, 0x12, 0x10, 0x0E, 0x0E, 0x0F, 0x0E, 0x0D, 0x0D, 0x0B, 0x07, 0x05, 0x04, 0x03, 0xFF, 0xFB, 0xF7, 0xF5, 0xF2, 0xEE, + 0xEC, 0xEA, 0xE8, 0xE7, 0xE5, 0xE5, 0xE5, 0xE5, 0xE3, 0xE2, 0xE3, 0xE6, 0xE6, 0xE6, 0xE7, 0xEA, 0xEA, 0xEC, 0xEC, 0xEB, 0xEB, 0xEC, 0xEE, 0xF0, 0xF0, 0xEF, 0xEF, 0xEF, 0xF1, 0xF2, 0xF3, 0xF4, + 0xF7, 0xF9, 0xFC, 0xFE, 0x00, 0x02, 0x02, 0x03, 0x03, 0x03, 0x01, 0x00, 0x01, 0x01, 0x03, 0x03, 0x02, 0x02, 0x04, 0x05, 0x07, 0x08, 0x09, 0x09, 0x08, 0x09, 0x0A, 0x09, 0x07, 0x05, 0x03, 0x02, + 0x00, 0xFE, 0xFC, 0xFC, 0xFB, 0xFC, 0xFE, 0xFF, 0x02, 0x04, 0x05, 0x05, 0x04, 0x03, 0x03, 0x02, 0xFF, 0xFC, 0xFA, 0xF9, 0xF7, 0xF8, 0xFA, 0xFD, 0x00, 0x03, 0x05, 0x08, 0x0A, 0x0C, 0x0D, 0x0F, + 0x11, 0x11, 0x11, 0x11, 0x11, 0x13, 0x13, 0x13, 0x12, 0x12, 0x10, 0x0C, 0x08, 0x05, 0x02, 0xFE, 0xFB, 0xFA, 0xF9, 0xF5, 0xF2, 0xEF, 0xEC, 0xEA, 0xE8, 0xE9, 0xEB, 0xEC, 0xEC, 0xEC, 0xED, 0xED, + 0xEF, 0xF1, 0xF4, 0xF6, 0xF6, 0xF8, 0xF9, 0xF8, 0xF9, 0xFC, 0xFC, 0xFD, 0xFD, 0xFE, 0xFF, 0x00, 0x03, 0x06, 0x09, 0x0B, 0x0D, 0x0F, 0x11, 0x12, 0x13, 0x13, 0x13, 0x12, 0x10, 0x0E, 0x0D, 0x0E, + 0x0E, 0x11, 0x10, 0x12, 0x14, 0x16, 0x19, 0x1B, 0x1C, 0x1C, 0x1A, 0x19, 0x19, 0x16, 0x13, 0x13, 0x11, 0x0E, 0x0A, 0x06, 0x03, 0x00, 0xFE, 0xFD, 0xFB, 0xFA, 0xF9, 0xF9, 0xF8, 0xF8, 0xF7, 0xF5, + 0xF3, 0xF0, 0xF0, 0xF1, 0xF1, 0xF1, 0xF2, 0xF3, 0xF4, 0xF5, 0xF7, 0xF7, 0xF9, 0xFC, 0x00, 0x01, 0x02, 0x04, 0x06, 0x06, 0x08, 0x09, 0x09, 0x0A, 0x0C, 0x0E, 0x0F, 0x10, 0x13, 0x15, 0x17, 0x18, + 0x1A, 0x19, 0x17, 0x15, 0x13, 0x11, 0x0E, 0x0B, 0x07, 0x03, 0x00, 0xFE, 0xFB, 0xF9, 0xF8, 0xF9, 0xF7, 0xF7, 0xF6, 0xF5, 0xF6, 0xF5, 0xF3, 0xF0, 0xEE, 0xEB, 0xEB, 0xEA, 0xE8, 0xE7, 0xE8, 0xE7, + 0xE6, 0xE8, 0xEA, 0xEC, 0xEF, 0xF0, 0xF2, 0xF5, 0xF7, 0xFA, 0xFD, 0x00, 0x03, 0x07, 0x0A, 0x0B, 0x0D, 0x10, 0x12, 0x13, 0x12, 0x12, 0x14, 0x15, 0x16, 0x17, 0x18, 0x1A, 0x1A, 0x19, 0x18, 0x17, + 0x18, 0x16, 0x16, 0x16, 0x15, 0x11, 0x0B, 0x06, 0x01, 0xFF, 0xFA, 0xF8, 0xF4, 0xF1, 0xEF, 0xEB, 0xE8, 0xE5, 0xE4, 0xE4, 0xE4, 0xE3, 0xE4, 0xE6, 0xE7, 0xE8, 0xEA, 0xEE, 0xF2, 0xF4, 0xF6, 0xF8, + 0xFA, 0xFC, 0xFD, 0xFD, 0xFD, 0xFE, 0xFE, 0xFE, 0xFE, 0xFF, 0xFE, 0x00, 0x01, 0x04, 0x06, 0x07, 0x07, 0x07, 0x06, 0x06, 0x05, 0x04, 0x02, 0x00, 0xFE, 0xFE, 0xFB, 0xFA, 0xF9, 0xF9, 0xF9, 0xF8, + 0xF6, 0xF4, 0xF2, 0xF1, 0xF0, 0xF0, 0xEE, 0xEC, 0xE9, 0xE7, 0xE5, 0xE3, 0xE2, 0xE2, 0xE2, 0xE1, 0xE1, 0xE0, 0xE0, 0xE1, 0xE2, 0xE5, 0xE8, 0xEC, 0xEF, 0xF2, 0xF3, 0xF5, 0xF6, 0xF8, 0xF7, 0xF7, + 0xF9, 0xF8, 0xF8, 0xF9, 0xF9, 0xF9, 0xFA, 0xFD, 0xFF, 0x01, 0x02, 0x04, 0x06, 0x07, 0x09, 0x0D, 0x10, 0x14, 0x17, 0x19, 0x1B, 0x1B, 0x19, 0x17, 0x16, 0x15, 0x13, 0x12, 0x10, 0x0C, 0x08, 0x04, + 0x02, 0x01, 0x02, 0x03, 0x04, 0x05, 0x05, 0x08, 0x09, 0x08, 0x07, 0x08, 0x08, 0x07, 0x06, 0x05, 0x04, 0x02, 0x03, 0x05, 0x09, 0x0B, 0x0B, 0x0C, 0x0E, 0x0F, 0x10, 0x10, 0x0E, 0x0B, 0x0A, 0x06, + 0x05, 0x05, 0x05, 0x07, 0x09, 0x0B, 0x0D, 0x0E, 0x0C, 0x09, 0x07, 0x07, 0x0A, 0x0B, 0x09, 0x07, 0x03, 0xFE, 0xFA, 0xF7, 0xF6, 0xF6, 0xF6, 0xF7, 0xF8, 0xF8, 0xF5, 0xF3, 0xF3, 0xF6, 0xF8, 0xFE, + 0x01, 0x02, 0x03, 0x04, 0x04, 0x05, 0x07, 0x09, 0x0B, 0x0E, 0x0D, 0x0A, 0x04, 0xFF, 0xFB, 0xFA, 0xF9, 0xFA, 0xFC, 0xFC, 0xFA, 0xFA, 0xFE, 0x02, 0x06, 0x0B, 0x0F, 0x12, 0x15, 0x16, 0x18, 0x18, + 0x15, 0x12, 0x0F, 0x0E, 0x0E, 0x0D, 0x0B, 0x0A, 0x09, 0x08, 0x08, 0x09, 0x0B, 0x0C, 0x0E, 0x0F, 0x0F, 0x0F, 0x0E, 0x0C, 0x0B, 0x0A, 0x09, 0x07, 0x02, 0xFE, 0xFA, 0xF7, 0xF5, 0xF3, 0xF2, 0xF2, + 0xF1, 0xF0, 0xEE, 0xEB, 0xE8, 0xE7, 0xE6, 0xE7, 0xE8, 0xEB, 0xED, 0xEF, 0xED, 0xEF, 0xF1, 0xF2, 0xF4, 0xF5, 0xF7, 0xF8, 0xFA, 0xF7, 0xF3, 0xF0, 0xEE, 0xEE, 0xED, 0xED, 0xED, 0xEE, 0xED, 0xEE, + 0xF1, 0xF4, 0xF6, 0xF7, 0xF9, 0xFA, 0xFC, 0xFE, 0xFE, 0xFD, 0xFC, 0xFA, 0xFA, 0xF9, 0xF8, 0xF7, 0xF7, 0xF7, 0xF6, 0xF8, 0xFB, 0xFD, 0xFE, 0x01, 0x01, 0x02, 0x05, 0x06, 0x08, 0x0B, 0x0E, 0x10, + 0x12, 0x12, 0x10, 0x0D, 0x0C, 0x0A, 0x08, 0x06, 0x05, 0x04, 0x03, 0x01, 0xFF, 0xFE, 0xFE, 0xFC, 0xFE, 0xFF, 0x01, 0x03, 0x03, 0x03, 0x01, 0x00, 0xFE, 0xFD, 0xFD, 0xFD, 0xFB, 0xFA, 0xF7, 0xF6, + 0xF4, 0xF3, 0xF0, 0xF0, 0xF1, 0xF1, 0xF0, 0xF1, 0xF3, 0xF6, 0xFA, 0xFF, 0x04, 0x0A, 0x0E, 0x13, 0x17, 0x19, 0x1A, 0x1B, 0x1C, 0x1D, 0x1E, 0x1D, 0x1B, 0x18, 0x15, 0x14, 0x12, 0x10, 0x10, 0x0F, + 0x10, 0x0E, 0x0C, 0x0A, 0x09, 0x08, 0x07, 0x06, 0x05, 0x06, 0x05, 0x04, 0x03, 0x02, 0x00, 0x00, 0xFF, 0xFE, 0xFB, 0xF7, 0xF3, 0xF0, 0xED, 0xEA, 0xE9, 0xE7, 0xE4, 0xE4, 0xE4, 0xE4, 0xE4, 0xE4, + 0xE7, 0xE9, 0xEE, 0xF1, 0xF4, 0xF7, 0xFA, 0xFB, 0xFA, 0xFA, 0xFB, 0xFA, 0xFA, 0xFA, 0xF9, 0xFB, 0xFA, 0xFB, 0xFA, 0xFC, 0xFE, 0x01, 0x02, 0x05, 0x08, 0x0A, 0x0C, 0x0E, 0x0F, 0x0E, 0x0C, 0x0A, + 0x08, 0x08, 0x07, 0x07, 0x05, 0x04, 0x03, 0x02, 0x02, 0x00, 0xFD, 0xFC, 0xFB, 0xF9, 0xF8, 0xF6, 0xF5, 0xF4, 0xF3, 0xF1, 0xF1, 0xF2, 0xF3, 0xF6, 0xF7, 0xF9, 0xFC, 0xFE, 0xFF, 0x01, 0x01, 0x01, + 0x01, 0x02, 0x02, 0x02, 0x03, 0x05, 0x06, 0x05, 0x05, 0x05, 0x05, 0x04, 0x06, 0x05, 0x06, 0x06, 0x06, 0x05, 0x04, 0x03, 0x01, 0x01, 0xFF, 0x00, 0x02, 0x03, 0x02, 0x02, 0x02, 0x00, 0x00, 0x00, + 0x01, 0x02, 0x00, 0x02, 0x01, 0xFE, 0xFD, 0xFD, 0xFD, 0xFD, 0x00, 0xFF, 0xFD, 0xFC, 0xFC, 0xFC, 0xFA, 0xF8, 0xF8, 0xF7, 0xF5, 0xF6, 0xF7, 0xF7, 0xF8, 0xFA, 0xFC, 0xFE, 0xFF, 0x00, 0x01, 0x00, + 0x00, 0xFF, 0xFF, 0xFF, 0xFE, 0xFD, 0xFC, 0xFA, 0xF9, 0xFA, 0xFC, 0x00, 0x02, 0x04, 0x06, 0x07, 0x07, 0x08, 0x09, 0x09, 0x0B, 0x0B, 0x0A, 0x0A, 0x0B, 0x0A, 0x08, 0x08, 0x09, 0x0A, 0x09, 0x08, + 0x08, 0x06, 0x04, 0x01, 0x02, 0x02, 0x03, 0x05, 0x05, 0x04, 0x03, 0x02, 0x03, 0x02, 0x01, 0x01, 0x02, 0x00, 0xFF, 0xFF, 0xFF, 0xFD, 0xFC, 0xFC, 0xFC, 0xFD, 0xFC, 0xFC, 0xFD, 0xFE, 0xFE, 0xFD, + 0xFD, 0xFE, 0xFD, 0xFA, 0xF7, 0xF6, 0xF4, 0xF5, 0xF5, 0xF7, 0xF9, 0xFC, 0xFD, 0x00, 0x02, 0x05, 0x06, 0x09, 0x0B, 0x0C, 0x0D, 0x0E, 0x0E, 0x0D, 0x0B, 0x0A, 0x09, 0x08, 0x09, 0x0A, 0x09, 0x08, + 0x07, 0x07, 0x07, 0x07, 0x08, 0x08, 0x07, 0x06, 0x03, 0x01, 0xFE, 0xFC, 0xFC, 0xFC, 0xFA, 0xF8, 0xF6, 0xF4, 0xF4, 0xF3, 0xF2, 0xEE, 0xED, 0xEB, 0xE9, 0xE8, 0xE8, 0xE7, 0xE7, 0xE6, 0xE7, 0xE9, + 0xE9, 0xEA, 0xEA, 0xEC, 0xEE, 0xF2, 0xF4, 0xF6, 0xF7, 0xF8, 0xF9, 0xFC, 0xFF, 0x01, 0x01, 0x00, 0x00, 0x00, 0x01, 0x02, 0x02, 0x05, 0x08, 0x09, 0x0C, 0x0D, 0x0D, 0x0D, 0x0E, 0x0E, 0x0E, 0x0F, + 0x0E, 0x0E, 0x0D, 0x0C, 0x0D, 0x0D, 0x0D, 0x0D, 0x0E, 0x0F, 0x0E, 0x0D, 0x0B, 0x0A, 0x09, 0x07, 0x07, 0x06, 0x05, 0x02, 0x01, 0xFF, 0xFC, 0xF9, 0xF8, 0xF6, 0xF7, 0xF7, 0xF7, 0xF7, 0xF7, 0xF7, + 0xF6, 0xF5, 0xF4, 0xF4, 0xF4, 0xF5, 0xF5, 0xF6, 0xF7, 0xF7, 0xF8, 0xF9, 0xFB, 0xFC, 0xFD, 0xFD, 0xFE, 0xFE, 0xFF, 0x00, 0x01, 0x03, 0x03, 0x03, 0x02, 0x03, 0x02, 0x02, 0x03, 0x03, 0x04, 0x06, + 0x07, 0x08, 0x0B, 0x0A, 0x0A, 0x0B, 0x0A, 0x08, 0x05, 0x05, 0x04, 0x03, 0x03, 0x03, 0x03, 0x03, 0x04, 0x03, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFE, 0xFE, 0xFF, 0xFF, 0x01, + 0x04, 0x05, 0x06, 0x07, 0x09, 0x0A, 0x0B, 0x0D, 0x0D, 0x0E, 0x0F, 0x0F, 0x0E, 0x0E, 0x0E, 0x0E, 0x0E, 0x0E, 0x0E, 0x0E, 0x0E, 0x10, 0x10, 0x10, 0x11, 0x10, 0x0D, 0x0A, 0x07, 0x03, 0x00, 0xFD, + 0xF9, 0xF6, 0xF5, 0xF4, 0xF2, 0xF1, 0xF1, 0xF2, 0xF1, 0xF0, 0xF0, 0xF1, 0xF2, 0xF1, 0xEF, 0xEE, 0xED, 0xEC, 0xED, 0xEF, 0xF0, 0xF2, 0xF5, 0xF8, 0xFA, 0xFD, 0xFF, 0x00, 0x02, 0x03, 0x04, 0x04, + 0x02, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFE, 0x00, 0x03, 0x05, 0x05, 0x06, 0x07, 0x08, 0x08, 0x09, 0x0A, 0x0C, 0x0D, 0x0D, 0x0C, 0x0A, 0x06, 0x04, 0x02, 0xFE, 0xF9, 0xF6, 0xF2, 0xEE, 0xEA, 0xE6, + 0xE3, 0xE1, 0xDF, 0xDD, 0xDC, 0xDA, 0xD9, 0xD9, 0xDA, 0xDB, 0xDD, 0xDE, 0xE0, 0xE3, 0xE5, 0xE8, 0xEA, 0xEC, 0xEE, 0xEF, 0xEF, 0xEF, 0xEE, 0xEE, 0xEE, 0xEF, 0xF0, 0xF1, 0xF1, 0xF2, 0xF4, 0xF8, + 0xFC, 0x00, 0x04, 0x08, 0x0B, 0x0C, 0x0E, 0x0F, 0x11, 0x11, 0x12, 0x13, 0x13, 0x13, 0x11, 0x10, 0x0F, 0x0E, 0x0C, 0x0C, 0x0B, 0x0B, 0x09, 0x08, 0x05, 0x02, 0x00, 0xFF, 0xFE, 0xFC, 0xF9, 0xF7, + 0xF5, 0xF3, 0xF2, 0xEF, 0xEE, 0xED, 0xEA, 0xE9, 0xE8, 0xE8, 0xE8, 0xE7, 0xE7, 0xE8, 0xE8, 0xE6, 0xE5, 0xE5, 0xE5, 0xE5, 0xE5, 0xE6, 0xE9, 0xEE, 0xF1, 0xF7, 0xFC, 0x00, 0x02, 0x07, 0x10, 0x17, + 0x1D, 0x21, 0x25, 0x2A, 0x2E, 0x2F, 0x30, 0x31, 0x31, 0x31, 0x31, 0x32, 0x34, 0x34, 0x34, 0x34, 0x34, 0x36, 0x38, 0x39, 0x37, 0x36, 0x34, 0x32, 0x2F, 0x2A, 0x26, 0x1F, 0x18, 0x13, 0x0D, 0x08, + 0x02, 0xFD, 0xF9, 0xF5, 0xF4, 0xF3, 0xF3, 0xF4, 0xF6, 0xF8, 0xF9, 0xFA, 0xFC, 0xFD, 0xFE, 0xFE, 0xFE, 0xFF, 0xFF, 0x00, 0x01, 0x01, 0xFF, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFD, 0xFC, 0xFC, + 0xFF, 0x01, 0x06, 0x09, 0x0B, 0x0D, 0x0F, 0x11, 0x12, 0x13, 0x13, 0x12, 0x10, 0x0C, 0x09, 0x06, 0x00, 0xFB, 0xF6, 0xF0, 0xED, 0xEB, 0xEA, 0xE9, 0xE9, 0xE9, 0xE8, 0xE9, 0xEB, 0xED, 0xEE, 0xED, + 0xED, 0xEC, 0xE9, 0xE6, 0xE3, 0xE2, 0xE1, 0xDF, 0xDD, 0xDC, 0xDA, 0xDC, 0xDE, 0xE1, 0xE6, 0xE9, 0xEB, 0xEF, 0xF2, 0xF5, 0xF9, 0xFC, 0xFE, 0x00, 0x03, 0x07, 0x0A, 0x0D, 0x10, 0x11, 0x10, 0x0F, + 0x0C, 0x09, 0x07, 0x04, 0x00, 0xFB, 0xF8, 0xF4, 0xF0, 0xED, 0xEB, 0xEB, 0xEC, 0xEE, 0xEE, 0xF0, 0xF2, 0xF2, 0xF3, 0xF3, 0xF0, 0xEE, 0xEC, 0xEA, 0xE8, 0xE6, 0xE4, 0xE2, 0xE0, 0xDF, 0xE0, 0xE2, + 0xE7, 0xEA, 0xEE, 0xF3, 0xF6, 0xFA, 0xFD, 0xFF, 0x01, 0x02, 0x04, 0x07, 0x08, 0x09, 0x0A, 0x0D, 0x0F, 0x13, 0x16, 0x1A, 0x1D, 0x1F, 0x21, 0x24, 0x27, 0x27, 0x27, 0x27, 0x26, 0x26, 0x26, 0x25, + 0x22, 0x21, 0x1F, 0x1B, 0x18, 0x15, 0x13, 0x0E, 0x0A, 0x06, 0x02, 0xFE, 0xFB, 0xF9, 0xF7, 0xF6, 0xF5, 0xF5, 0xF5, 0xF6, 0xF6, 0xF8, 0xF7, 0xF7, 0xF8, 0xF6, 0xF4, 0xF2, 0xF0, 0xF0, 0xEE, 0xEE, + 0xEE, 0xF0, 0xF2, 0xF5, 0xF9, 0xFD, 0x00, 0x04, 0x09, 0x0E, 0x13, 0x17, 0x1B, 0x1B, 0x1C, 0x1D, 0x1E, 0x1E, 0x1E, 0x1D, 0x1B, 0x19, 0x19, 0x18, 0x16, 0x16, 0x16, 0x15, 0x15, 0x15, 0x16, 0x16, + 0x15, 0x15, 0x14, 0x13, 0x12, 0x0E, 0x0D, 0x0B, 0x08, 0x04, 0x01, 0xFC, 0xF7, 0xF2, 0xEE, 0xEB, 0xE6, 0xE1, 0xDD, 0xDB, 0xDA, 0xD8, 0xD8, 0xDA, 0xDC, 0xDF, 0xE2, 0xE5, 0xE7, 0xEB, 0xEF, 0xF2, + 0xF5, 0xF8, 0xFA, 0xFA, 0xFA, 0xFA, 0xFA, 0xFA, 0xFB, 0xFB, 0xFC, 0xFD, 0x00, 0x02, 0x05, 0x06, 0x08, 0x09, 0x09, 0x08, 0x08, 0x08, 0x06, 0x04, 0x02, 0x00, 0xFD, 0xFA, 0xF7, 0xF5, 0xF3, 0xF2, + 0xF0, 0xEF, 0xED, 0xEB, 0xEB, 0xE9, 0xE8, 0xE7, 0xE7, 0xE6, 0xE7, 0xE7, 0xE8, 0xE9, 0xEA, 0xEB, 0xEE, 0xF1, 0xF5, 0xF8, 0xFC, 0x00, 0x04, 0x07, 0x0A, 0x0D, 0x0E, 0x0F, 0x12, 0x12, 0x13, 0x13, + 0x14, 0x14, 0x15, 0x16, 0x17, 0x17, 0x16, 0x16, 0x16, 0x16, 0x14, 0x15, 0x14, 0x12, 0x0F, 0x0C, 0x0A, 0x08, 0x06, 0x05, 0x02, 0x00, 0xFF, 0xFD, 0xFB, 0xF9, 0xF7, 0xF5, 0xF3, 0xF2, 0xF1, 0xEF, + 0xED, 0xEC, 0xEC, 0xEB, 0xE9, 0xE9, 0xEB, 0xEC, 0xED, 0xED, 0xEC, 0xEC, 0xEB, 0xEC, 0xED, 0xEE, 0xF0, 0xF1, 0xF3, 0xF5, 0xF8, 0xFB, 0xFD, 0xFE, 0xFF, 0x01, 0x02, 0x03, 0x06, 0x07, 0x08, 0x09, + 0x08, 0x09, 0x09, 0x09, 0x0B, 0x0C, 0x0E, 0x10, 0x11, 0x13, 0x14, 0x16, 0x18, 0x1B, 0x1C, 0x1D, 0x1E, 0x1D, 0x1B, 0x18, 0x14, 0x10, 0x0D, 0x0A, 0x07, 0x04, 0x02, 0x00, 0xFF, 0xFE, 0xFF, 0x02, + 0x03, 0x04, 0x05, 0x07, 0x06, 0x06, 0x05, 0x05, 0x04, 0x04, 0x04, 0x03, 0x02, 0x00, 0xFF, 0xFE, 0xFD, 0xFB, 0xFA, 0xF8, 0xF5, 0xF5, 0xF5, 0xF4, 0xF4, 0xF4, 0xF5, 0xF4, 0xF5, 0xF6, 0xF8, 0xF8, + 0xFA, 0xFB, 0xFC, 0xFB, 0xFA, 0xF9, 0xF9, 0xF8, 0xF7, 0xF6, 0xF4, 0xF5, 0xF5, 0xF6, 0xF6, 0xF8, 0xF9, 0xFB, 0xFC, 0xFD, 0xFF, 0x00, 0x01, 0x00, 0x00, 0xFE, 0xFD, 0xFC, 0xFA, 0xF9, 0xF7, 0xF7, + 0xF6, 0xF6, 0xF6, 0xF5, 0xF5, 0xF6, 0xF6, 0xF7, 0xF7, 0xF7, 0xF7, 0xF6, 0xF6, 0xF5, 0xF5, 0xF5, 0xF5, 0xF7, 0xF9, 0xFA, 0xFB, 0xFC, 0xFD, 0xFE, 0xFF, 0x00, 0x01, 0x01, 0x02, 0x01, 0x01, 0x02, + 0x01, 0x01, 0x00, 0x01, 0x01, 0x00, 0x02, 0x02, 0x02, 0x00, 0x00, 0xFF, 0xFD, 0xFB, 0xFA, 0xFA, 0xFB, 0xFD, 0x01, 0x05, 0x07, 0x0A, 0x0C, 0x0E, 0x0F, 0x12, 0x15, 0x17, 0x18, 0x19, 0x1A, 0x19, + 0x18, 0x17, 0x15, 0x14, 0x12, 0x10, 0x0F, 0x0D, 0x0D, 0x0C, 0x0A, 0x09, 0x07, 0x07, 0x07, 0x07, 0x08, 0x08, 0x07, 0x08, 0x08, 0x07, 0x06, 0x04, 0x03, 0x00, 0xFF, 0xFE, 0xFD, 0xFD, 0xFD, 0xFD, + 0xFC, 0xFB, 0xFC, 0xFC, 0xFC, 0xFC, 0xFC, 0xFC, 0xFC, 0xFB, 0xFB, 0xFA, 0xF9, 0xF8, 0xF8, 0xF8, 0xF8, 0xF8, 0xF8, 0xF9, 0xF9, 0xFC, 0xFD, 0xFF, 0xFF, 0x00, 0x01, 0x01, 0x03, 0x04, 0x06, 0x07, + 0x09, 0x0B, 0x0B, 0x0B, 0x0A, 0x08, 0x07, 0x06, 0x06, 0x06, 0x07, 0x06, 0x07, 0x07, 0x06, 0x05, 0x04, 0x04, 0x04, 0x03, 0x03, 0x02, 0x02, 0x02, 0x02, 0x03, 0x03, 0x03, 0x04, 0x05, 0x06, 0x07, + 0x08, 0x09, 0x0B, 0x0D, 0x0D, 0x0C, 0x0C, 0x0B, 0x0B, 0x0A, 0x0B, 0x0B, 0x0A, 0x08, 0x07, 0x04, 0x03, 0x02, 0x02, 0x01, 0x00, 0xFF, 0xFE, 0xFE, 0xFD, 0xFB, 0xFA, 0xFA, 0xFA, 0xFA, 0xF8, 0xF7, + 0xF7, 0xF6, 0xF6, 0xF6, 0xF6, 0xF6, 0xF5, 0xF4, 0xF4, 0xF3, 0xF3, 0xF3, 0xF3, 0xF4, 0xF5, 0xF6, 0xF6, 0xF6, 0xF7, 0xF9, 0xFA, 0xF8, 0xF7, 0xF6, 0xF4, 0xF3, 0xF1, 0xF0, 0xEF, 0xED, 0xEB, 0xEA, + 0xEA, 0xEB, 0xED, 0xEF, 0xF0, 0xF2, 0xF5, 0xF8, 0xFA, 0xFB, 0xFC, 0xFC, 0xFB, 0xFD, 0xFF, 0x00, 0x01, 0x01, 0x02, 0x02, 0x02, 0x03, 0x05, 0x05, 0x06, 0x07, 0x08, 0x07, 0x06, 0x06, 0x06, 0x05, + 0x05, 0x06, 0x05, 0x06, 0x06, 0x07, 0x07, 0x08, 0x09, 0x08, 0x07, 0x06, 0x04, 0x02, 0x00, 0xFE, 0xFC, 0xF9, 0xF6, 0xF3, 0xF1, 0xF0, 0xEF, 0xEF, 0xEF, 0xEF, 0xF0, 0xF2, 0xF3, 0xF4, 0xF6, 0xF6, + 0xF5, 0xF4, 0xF4, 0xF5, 0xF5, 0xF6, 0xF8, 0xF9, 0xFA, 0xFC, 0xFF, 0x01, 0x05, 0x0A, 0x0C, 0x0D, 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x15, 0x15, 0x15, 0x15, 0x14, 0x14, 0x13, 0x12, 0x11, 0x11, + 0x0F, 0x0F, 0x0F, 0x0E, 0x0F, 0x0D, 0x0C, 0x0B, 0x09, 0x07, 0x05, 0x03, 0xFF, 0xFB, 0xF7, 0xF4, 0xF1, 0xEE, 0xEC, 0xEA, 0xE8, 0xE6, 0xE6, 0xE6, 0xE8, 0xEA, 0xEB, 0xEC, 0xEC, 0xED, 0xEF, 0xEF, + 0xEF, 0xF0, 0xEF, 0xED, 0xEB, 0xEB, 0xEB, 0xEA, 0xEB, 0xEC, 0xED, 0xEF, 0xF1, 0xF4, 0xF7, 0xFC, 0x01, 0x04, 0x09, 0x0E, 0x11, 0x14, 0x16, 0x18, 0x19, 0x19, 0x19, 0x18, 0x18, 0x18, 0x19, 0x1A, + 0x1C, 0x1E, 0x21, 0x25, 0x28, 0x2A, 0x2D, 0x2E, 0x2E, 0x2D, 0x2A, 0x25, 0x20, 0x1A, 0x13, 0x0D, 0x08, 0x05, 0x01, 0xFE, 0xFD, 0xFE, 0xFE, 0xFF, 0xFD, 0xFC, 0xFB, 0xFA, 0xF7, 0xF4, 0xF2, 0xEF, + 0xED, 0xEB, 0xEA, 0xE9, 0xEA, 0xEB, 0xED, 0xEF, 0xF1, 0xF4, 0xF6, 0xFA, 0xFC, 0xFE, 0xFF, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x07, 0x06, 0x06, 0x04, 0x03, 0x03, 0x03, 0x03, 0x02, 0x03, 0x05, + 0x06, 0x07, 0x07, 0x06, 0x06, 0x05, 0x04, 0x03, 0x01, 0x00, 0xFF, 0xFD, 0xFC, 0xFB, 0xFA, 0xF8, 0xF8, 0xF6, 0xF5, 0xF5, 0xF5, 0xF5, 0xF4, 0xF4, 0xF4, 0xF4, 0xF3, 0xF2, 0xF2, 0xF4, 0xF5, 0xF7, + 0xFA, 0xFC, 0xFD, 0xFE, 0xFE, 0xFD, 0xFD, 0xFE, 0xFE, 0xFE, 0xFF, 0x00, 0x01, 0x03, 0x05, 0x06, 0x09, 0x0A, 0x0A, 0x0C, 0x0D, 0x0E, 0x0E, 0x0E, 0x0F, 0x0D, 0x0C, 0x0C, 0x0B, 0x0B, 0x0A, 0x09, + 0x08, 0x08, 0x07, 0x06, 0x05, 0x03, 0x00, 0xFD, 0xFB, 0xF7, 0xF6, 0xF4, 0xF1, 0xF0, 0xF0, 0xF0, 0xF1, 0xF3, 0xF4, 0xF5, 0xF6, 0xF7, 0xF8, 0xFA, 0xFC, 0xFD, 0xFD, 0xFD, 0xFB, 0xF9, 0xF7, 0xF6, + 0xF7, 0xF8, 0xF9, 0xFB, 0xFD, 0x00, 0x01, 0x02, 0x03, 0x03, 0x03, 0x03, 0x04, 0x05, 0x05, 0x06, 0x06, 0x06, 0x05, 0x05, 0x05, 0x04, 0x03, 0x03, 0x03, 0x04, 0x05, 0x05, 0x05, 0x04, 0x02, 0xFE, + 0xFA, 0xF7, 0xF5, 0xF3, 0xF0, 0xEF, 0xEE, 0xEC, 0xEB, 0xEC, 0xEC, 0xEC, 0xED, 0xEE, 0xEE, 0xEF, 0xF0, 0xF2, 0xF3, 0xF3, 0xF4, 0xF4, 0xF4, 0xF3, 0xF5, 0xF6, 0xF7, 0xF9, 0xFB, 0xFB, 0xFD, 0xFE, + 0x00, 0x00, 0x02, 0x04, 0x06, 0x08, 0x0B, 0x0D, 0x0E, 0x10, 0x11, 0x12, 0x12, 0x12, 0x12, 0x12, 0x11, 0x10, 0x10, 0x0F, 0x0F, 0x0E, 0x0C, 0x0C, 0x0C, 0x0C, 0x0D, 0x0C, 0x0C, 0x0C, 0x0B, 0x0A, + 0x09, 0x09, 0x07, 0x04, 0x01, 0x00, 0xFE, 0xFD, 0xFB, 0xF9, 0xF6, 0xF4, 0xF3, 0xF2, 0xF2, 0xF2, 0xF4, 0xF5, 0xF7, 0xF8, 0xFA, 0xFB, 0xFD, 0xFC, 0xFD, 0xFD, 0xFC, 0xFC, 0xFA, 0xFB, 0xFB, 0xFA, + 0xFB, 0xFA, 0xFB, 0xFC, 0xFD, 0xFD, 0xFD, 0xFC, 0xFC, 0xFC, 0xFD, 0xFD, 0xFF, 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x05, 0x06, 0x06, 0x08, 0x09, 0x08, 0x08, 0x07, 0x07, 0x07, 0x08, 0x07, 0x08, + 0x08, 0x08, 0x08, 0x08, 0x09, 0x09, 0x0A, 0x0B, 0x0C, 0x0E, 0x10, 0x10, 0x10, 0x11, 0x0F, 0x0F, 0x0E, 0x0C, 0x0B, 0x0A, 0x09, 0x07, 0x06, 0x07, 0x07, 0x07, 0x08, 0x08, 0x07, 0x06, 0x05, 0x04, + 0x02, 0x01, 0x01, 0xFF, 0xFE, 0xFC, 0xFA, 0xF8, 0xF7, 0xF6, 0xF6, 0xF5, 0xF5, 0xF5, 0xF4, 0xF3, 0xF1, 0xEF, 0xEF, 0xF0, 0xEF, 0xEE, 0xEF, 0xF0, 0xF1, 0xF3, 0xF3, 0xF4, 0xF5, 0xF5, 0xF5, 0xF5, + 0xF5, 0xF6, 0xF5, 0xF6, 0xF6, 0xF7, 0xF9, 0xFA, 0xFB, 0xFD, 0xFE, 0xFF, 0x00, 0x00, 0x01, 0x01, 0x02, 0x01, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x03, 0x02, 0x02, 0x03, 0x04, 0x06, 0x06, 0x07, + 0x08, 0x08, 0x08, 0x07, 0x07, 0x07, 0x05, 0x05, 0x04, 0x03, 0x03, 0x03, 0x03, 0x05, 0x06, 0x07, 0x08, 0x08, 0x07, 0x07, 0x06, 0x05, 0x03, 0x01, 0xFE, 0xFD, 0xFE, 0xFD, 0xFD, 0xFD, 0xFD, 0xFE, + 0xFF, 0xFE, 0xFF, 0xFF, 0xFE, 0xFD, 0xFD, 0xFC, 0xFB, 0xFB, 0xFA, 0xF9, 0xF9, 0xF8, 0xF8, 0xF8, 0xFA, 0xFA, 0xFB, 0xFB, 0xFB, 0xFA, 0xFA, 0xFB, 0xFB, 0xFB, 0xFC, 0xFC, 0xFC, 0xFC, 0xFD, 0xFD, + 0xFD, 0xFE, 0xFF, 0xFF, 0x00, 0x01, 0x02, 0x03, 0x05, 0x06, 0x09, 0x0B, 0x0C, 0x0D, 0x0E, 0x0E, 0x0E, 0x0E, 0x0D, 0x0D, 0x0B, 0x0B, 0x09, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x07, 0x06, 0x05, + 0x04, 0x02, 0x01, 0x01, 0x01, 0x00, 0xFF, 0xFD, 0xFB, 0xF8, 0xF8, 0xF7, 0xF6, 0xF7, 0xF8, 0xF9, 0xF9, 0xF9, 0xF9, 0xFA, 0xFB, 0xFD, 0xFE, 0xFF, 0xFF, 0xFF, 0xFF, 0xFD, 0xFC, 0xFB, 0xFA, 0xFA, + 0xFA, 0xF9, 0xF9, 0xF9, 0xF9, 0xFB, 0xFC, 0xFE, 0x00, 0x02, 0x03, 0x05, 0x06, 0x06, 0x07, 0x06, 0x04, 0x04, 0x03, 0x01, 0xFF, 0xFE, 0xFD, 0xFC, 0xFC, 0xFD, 0xFF, 0x00, 0x00, 0x01, 0x01, 0x02, + 0x01, 0x00, 0x00, 0xFF, 0xFF, 0xFE, 0xFD, 0xFC, 0xFB, 0xF9, 0xF8, 0xF7, 0xF7, 0xF7, 0xF8, 0xF8, 0xF8, 0xF9, 0xFA, 0xFA, 0xFA, 0xFB, 0xFC, 0xFC, 0xFD, 0x00, 0x01, 0x02, 0x03, 0x05, 0x05, 0x06, + 0x07, 0x09, 0x0A, 0x0B, 0x0A, 0x09, 0x09, 0x0A, 0x0A, 0x0B, 0x0A, 0x0A, 0x0A, 0x08, 0x08, 0x09, 0x08, 0x09, 0x0A, 0x09, 0x09, 0x09, 0x07, 0x06, 0x06, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x04, + 0x02, 0x00, 0xFF, 0xFF, 0xFE, 0xFE, 0xFD, 0xFD, 0xFD, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFF, 0x00, 0x02, 0x04, 0x04, 0x05, 0x04, 0x04, 0x04, 0x03, 0x03, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, + 0x03, 0x04, 0x05, 0x06, 0x07, 0x06, 0x07, 0x06, 0x06, 0x06, 0x06, 0x05, 0x04, 0x02, 0x01, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x02, 0x03, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x04, 0x02, 0x00, 0xFF, + 0xFD, 0xFC, 0xFC, 0xFC, 0xFC, 0xFD, 0xFE, 0x00, 0x01, 0x01, 0x01, 0x03, 0x03, 0x04, 0x04, 0x04, 0x02, 0x00, 0x00, 0x00, 0xFE, 0xFE, 0xFF, 0xFF, 0xFF, 0xFE, 0xFE, 0xFD, 0xFD, 0xFC, 0xFD, 0xFD, + 0xFD, 0xFC, 0xFC, 0xFB, 0xFA, 0xF9, 0xF8, 0xF6, 0xF4, 0xF3, 0xF2, 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, 0xEF, 0xEF, 0xF1, 0xF1, 0xF2, 0xF4, 0xF5, 0xF6, 0xF7, 0xF6, 0xF6, 0xF6, 0xF6, 0xF6, 0xF6, + 0xF6, 0xF6, 0xF7, 0xF8, 0xF8, 0xF8, 0xF9, 0xF9, 0xFA, 0xFA, 0xFB, 0xFB, 0xFB, 0xFB, 0xFA, 0xFA, 0xFA, 0xFA, 0xFA, 0xFB, 0xFB, 0xFB, 0xFB, 0xFC, 0xFD, 0xFE, 0xFF, 0x01, 0x02, 0x03, 0x05, 0x05, + 0x05, 0x05, 0x05, 0x05, 0x06, 0x05, 0x04, 0x06, 0x07, 0x08, 0x08, 0x07, 0x07, 0x08, 0x08, 0x08, 0x08, 0x08, 0x09, 0x08, 0x09, 0x08, 0x08, 0x08, 0x08, 0x07, 0x06, 0x06, 0x06, 0x06, 0x06, 0x07, + 0x06, 0x06, 0x06, 0x07, 0x07, 0x06, 0x05, 0x07, 0x07, 0x07, 0x06, 0x06, 0x05, 0x03, 0x02, 0x00, 0xFF, 0xFF, 0xFE, 0xFD, 0xFC, 0xFC, 0xFD, 0xFC, 0xFA, 0xF9, 0xF8, 0xF8, 0xF7, 0xF7, 0xF8, 0xF7, + 0xF7, 0xF7, 0xF6, 0xF6, 0xF6, 0xF6, 0xF6, 0xF7, 0xF7, 0xF7, 0xF7, 0xF8, 0xF9, 0xF9, 0xF9, 0xF9, 0xF8, 0xF9, 0xFA, 0xFB, 0xFC, 0xFC, 0xFC, 0xFC, 0xFA, 0xF9, 0xF8, 0xF8, 0xF7, 0xF7, 0xF9, 0xFB, + 0xFE, 0x01, 0x03, 0x05, 0x09, 0x0B, 0x0C, 0x0D, 0x0D, 0x0D, 0x0C, 0x0D, 0x0B, 0x08, 0x05, 0x02, 0x01, 0x00, 0x00, 0x02, 0x03, 0x04, 0x04, 0x06, 0x07, 0x09, 0x0A, 0x08, 0x04, 0x00, 0xFD, 0xFC, + 0xFA, 0xFA, 0xF8, 0xF7, 0xF7, 0xF6, 0xF6, 0xF5, 0xF7, 0xF9, 0xFB, 0xFE, 0x01, 0x02, 0x01, 0x01, 0x03, 0x04, 0x06, 0x09, 0x0A, 0x0B, 0x0B, 0x0B, 0x0C, 0x0C, 0x0C, 0x0D, 0x0F, 0x10, 0x10, 0x0F, + 0x0E, 0x0D, 0x0C, 0x0C, 0x0B, 0x0B, 0x09, 0x08, 0x07, 0x06, 0x04, 0x04, 0x04, 0x04, 0x05, 0x07, 0x08, 0x08, 0x08, 0x06, 0x04, 0x04, 0x04, 0x04, 0x05, 0x03, 0x02, 0xFF, 0xFE, 0xFD, 0xFC, 0xFC, + 0xFD, 0xFE, 0x00, 0x01, 0x02, 0x01, 0x02, 0x03, 0x02, 0x00, 0x00, 0xFF, 0xFD, 0xFA, 0xF9, 0xF8, 0xF6, 0xF5, 0xF5, 0xF5, 0xF5, 0xF6, 0xF7, 0xF8, 0xF8, 0xF9, 0xFA, 0xFC, 0xFF, 0x00, 0x02, 0x03, + 0x04, 0x04, 0x05, 0x04, 0x04, 0x04, 0x03, 0x02, 0x01, 0xFF, 0xFD, 0xFB, 0xFA, 0xF9, 0xF9, 0xFA, 0xFB, 0xFB, 0xFC, 0xFE, 0x00, 0x01, 0x02, 0x02, 0x04, 0x04, 0x05, 0x04, 0x04, 0x03, 0x04, 0x05, + 0x06, 0x06, 0x07, 0x07, 0x07, 0x07, 0x08, 0x08, 0x09, 0x09, 0x09, 0x08, 0x06, 0x04, 0x02, 0x01, 0xFF, 0xFE, 0xFD, 0xFC, 0xFA, 0xF9, 0xF7, 0xF5, 0xF4, 0xF2, 0xF2, 0xF1, 0xF2, 0xF2, 0xF2, 0xF1, + 0xF1, 0xF1, 0xF1, 0xF2, 0xF2, 0xF2, 0xF3, 0xF3, 0xF4, 0xF6, 0xF8, 0xFA, 0xFB, 0xFB, 0xFD, 0xFD, 0xFD, 0xFC, 0xFD, 0xFE, 0xFD, 0xFC, 0xFC, 0xFC, 0xFC, 0xFB, 0xFC, 0xFC, 0xFD, 0xFE, 0x00, 0x01, + 0x02, 0x03, 0x03, 0x03, 0x03, 0x02, 0x03, 0x02, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x02, 0x02, 0x02, 0x02, 0x03, 0x05, 0x07, 0x08, 0x0A, 0x0B, 0x0C, 0x0D, 0x0D, 0x0C, 0x0C, 0x0C, + 0x0B, 0x0A, 0x09, 0x07, 0x06, 0x04, 0x03, 0x02, 0x01, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x02, 0x02, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0xFF, 0xFE, 0xFD, 0xFC, 0xFB, 0xFB, 0xFA, 0xF9, + 0xF9, 0xF8, 0xF9, 0xF9, 0xF9, 0xF9, 0xF9, 0xF9, 0xF9, 0xF9, 0xFA, 0xFB, 0xFB, 0xFC, 0xFD, 0xFD, 0xFC, 0xFC, 0xFC, 0xFB, 0xFB, 0xFA, 0xF9, 0xF8, 0xF8, 0xF7, 0xF8, 0xF9, 0xF9, 0xFA, 0xFB, 0xFC, + 0xFD, 0xFE, 0x00, 0x01, 0x03, 0x04, 0x05, 0x06, 0x07, 0x07, 0x06, 0x06, 0x06, 0x05, 0x04, 0x02, 0x01, 0x00, 0xFE, 0xFD, 0xFE, 0xFD, 0xFE, 0xFF, 0x00, 0x01, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, + 0x07, 0x08, 0x08, 0x07, 0x06, 0x06, 0x05, 0x04, 0x03, 0x02, 0x01, 0x01, 0x02, 0x02, 0x01, 0x01, 0x00, 0x00, 0xFF, 0xFE, 0xFE, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFC, 0xFC, 0xFD, 0xFE, 0xFE, 0xFF, + 0x01, 0x01, 0x01, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0xFF, 0xFE, 0xFE, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x01, 0x01, 0x02, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x03, 0x03, + 0x02, 0x01, 0x01, 0x01, 0x00, 0x01, 0x02, 0x03, 0x05, 0x06, 0x08, 0x08, 0x09, 0x0A, 0x0B, 0x0B, 0x0B, 0x0B, 0x09, 0x08, 0x07, 0x05, 0x02, 0x01, 0xFF, 0xFE, 0xFC, 0xFB, 0xFB, 0xFA, 0xFA, 0xF9, + 0xF7, 0xF8, 0xF7, 0xF6, 0xF6, 0xF5, 0xF5, 0xF4, 0xF4, 0xF3, 0xF3, 0xF3, 0xF3, 0xF3, 0xF3, 0xF3, 0xF3, 0xF3, 0xF4, 0xF5, 0xF7, 0xF8, 0xF9, 0xFA, 0xFC, 0xFD, 0xFE, 0xFF, 0x01, 0x03, 0x03, 0x04, + 0x05, 0x05, 0x05, 0x05, 0x06, 0x07, 0x07, 0x07, 0x07, 0x07, 0x06, 0x05, 0x04, 0x03, 0x02, 0x01, 0xFF, 0xFE, 0xFE, 0xFD, 0xFD, 0xFD, 0xFD, 0xFC, 0xFC, 0xFC, 0xFC, 0xFC, 0xFB, 0xFB, 0xF9, 0xF8, + 0xF8, 0xF7, 0xF6, 0xF7, 0xF8, 0xF8, 0xF9, 0xF9, 0xF9, 0xFA, 0xFA, 0xFB, 0xFC, 0xFD, 0xFE, 0xFF, 0x01, 0x02, 0x02, 0x03, 0x04, 0x06, 0x07, 0x08, 0x0A, 0x0C, 0x0C, 0x0C, 0x0D, 0x0D, 0x0D, 0x0E, + 0x0F, 0x0E, 0x0F, 0x0F, 0x0E, 0x0D, 0x0E, 0x0D, 0x0B, 0x0B, 0x0A, 0x08, 0x06, 0x05, 0x04, 0x02, 0x00, 0xFF, 0xFD, 0xFB, 0xFB, 0xFA, 0xFA, 0xF9, 0xF8, 0xF8, 0xF8, 0xF9, 0xFA, 0xF9, 0xF9, 0xF8, + 0xF8, 0xF7, 0xF7, 0xF8, 0xF8, 0xF9, 0xFA, 0xFA, 0xFA, 0xFB, 0xFC, 0xFC, 0xFE, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x01, 0x01, 0x03, 0x04, 0x04, + 0x06, 0x07, 0x08, 0x08, 0x08, 0x07, 0x07, 0x06, 0x04, 0x03, 0x02, 0x01, 0x00, 0xFF, 0xFE, 0xFE, 0xFD, 0xFD, 0xFE, 0xFF, 0xFF, 0x00, 0x01, 0x01, 0x01, 0x01, 0x02, 0x02, 0x03, 0x03, 0x03, 0x02, + 0x01, 0x00, 0xFF, 0xFE, 0xFE, 0xFD, 0xFD, 0xFD, 0xFE, 0xFF, 0xFF, 0x00, 0x00, 0x02, 0x03, 0x02, 0x03, 0x04, 0x04, 0x05, 0x06, 0x07, 0x07, 0x07, 0x06, 0x05, 0x05, 0x04, 0x04, 0x03, 0x03, 0x02, + 0x01, 0x01, 0x01, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFE, 0xFD, 0xFC, 0xFB, 0xFB, 0xFB, 0xFB, 0xFC, 0xFC, 0xFC, 0xFC, 0xFC, 0xFC, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFF, + 0xFE, 0xFE, 0xFF, 0xFF, 0xFF, 0x00, 0x01, 0x02, 0x03, 0x03, 0x04, 0x04, 0x03, 0x04, 0x04, 0x03, 0x03, 0x02, 0x01, 0x00, 0xFE, 0xFE, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFC, + 0xFC, 0xFC, 0xFB, 0xFB, 0xFB, 0xFA, 0xF8, 0xF8, 0xF8, 0xF8, 0xF9, 0xF9, 0xF9, 0xF9, 0xF9, 0xFA, 0xFB, 0xFC, 0xFC, 0xFC, 0xFD, 0xFD, 0xFE, 0xFE, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x01, 0x01, + 0x01, 0x01, 0x01, 0x02, 0x02, 0x02, 0x02, 0x02, 0x01, 0x00, 0xFF, 0xFF, 0xFD, 0xFB, 0xFA, 0xF9, 0xF7, 0xF6, 0xF5, 0xF5, 0xF5, 0xF6, 0xF6, 0xF6, 0xF6, 0xF7, 0xF6, 0xF6, 0xF6, 0xF5, 0xF5, 0xF5, + 0xF5, 0xF5, 0xF5, 0xF5, 0xF6, 0xF8, 0xF9, 0xFB, 0xFD, 0xFE, 0xFF, 0x00, 0x02, 0x03, 0x03, 0x04, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x04, 0x04, 0x04, 0x04, 0x05, 0x05, 0x06, 0x07, + 0x08, 0x08, 0x08, 0x08, 0x07, 0x07, 0x07, 0x06, 0x06, 0x05, 0x04, 0x02, 0x01, 0xFF, 0xFE, 0xFE, 0xFD, 0xFB, 0xFB, 0xFB, 0xFB, 0xFB, 0xFC, 0xFC, 0xFD, 0xFE, 0xFE, 0xFF, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0xFF, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFE, 0xFE, 0xFD, 0xFD, 0xFC, 0xFB, 0xF9, 0xF8, 0xF6, 0xF4, 0xF3, 0xF2, 0xF2, 0xF3, 0xF5, + 0xF6, 0xF7, 0xFA, 0xFB, 0xFC, 0xFD, 0xFE, 0xFF, 0xFF, 0xFF, 0x01, 0x03, 0x05, 0x07, 0x08, 0x09, 0x0B, 0x0E, 0x11, 0x13, 0x14, 0x14, 0x15, 0x16, 0x16, 0x15, 0x13, 0x11, 0x10, 0x10, 0x10, 0x0F, + 0x0E, 0x0E, 0x0F, 0x10, 0x0F, 0x0D, 0x0B, 0x09, 0x08, 0x08, 0x07, 0x07, 0x06, 0x04, 0x02, 0x01, 0xFF, 0xFD, 0xFC, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFC, 0xFA, 0xF9, 0xFA, 0xFB, 0xFB, 0xFB, 0xFA, + 0xF9, 0xF8, 0xF8, 0xF9, 0xF9, 0xFA, 0xFC, 0xFE, 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x08, 0x0A, 0x0B, 0x0C, 0x0C, 0x0C, 0x0C, 0x0D, 0x0D, 0x0E, 0x0E, 0x0D, 0x0D, 0x0D, 0x0C, 0x0C, 0x0B, 0x0B, + 0x09, 0x09, 0x08, 0x08, 0x07, 0x05, 0x03, 0x01, 0x00, 0xFF, 0xFE, 0xFC, 0xFA, 0xFA, 0xFA, 0xF9, 0xF7, 0xF6, 0xF5, 0xF5, 0xF4, 0xF4, 0xF3, 0xF3, 0xF2, 0xF1, 0xF0, 0xF0, 0xF0, 0xF1, 0xF3, 0xF4, + 0xF4, 0xF4, 0xF4, 0xF4, 0xF3, 0xF4, 0xF4, 0xF4, 0xF3, 0xF3, 0xF3, 0xF2, 0xF2, 0xF3, 0xF4, 0xF5, 0xF5, 0xF6, 0xF6, 0xF7, 0xF8, 0xF8, 0xF9, 0xFA, 0xFC, 0xFE, 0xFF, 0x00, 0x01, 0x03, 0x05, 0x06, + 0x07, 0x09, 0x0A, 0x0B, 0x0B, 0x0A, 0x09, 0x08, 0x06, 0x04, 0x03, 0x01, 0xFF, 0xFE, 0xFD, 0xFC, 0xFB, 0xFB, 0xFC, 0xFE, 0xFF, 0x00, 0x01, 0x02, 0x03, 0x04, 0x04, 0x04, 0x03, 0x02, 0x01, 0xFF, + 0xFE, 0xFE, 0xFE, 0xFE, 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x07, 0x06, 0x06, 0x05, 0x04, 0x03, 0x02, 0x00, 0xFF, 0xFD, 0xFC, 0xFB, 0xFB, 0xF9, + 0xF8, 0xF8, 0xF8, 0xF9, 0xF9, 0xFA, 0xFB, 0xFC, 0xFD, 0xFE, 0xFE, 0xFE, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x01, 0x02, 0x03, 0x03, 0x03, 0x04, 0x04, 0x04, 0x05, 0x05, 0x06, 0x07, + 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x06, 0x06, 0x06, 0x06, 0x05, 0x04, 0x03, 0x02, 0x01, 0x00, 0xFF, 0xFE, 0xFD, 0xFC, 0xFB, 0xFA, 0xFA, 0xF9, 0xF9, 0xF8, 0xF6, 0xF5, 0xF4, 0xF3, 0xF3, 0xF2, + 0xF2, 0xF2, 0xF1, 0xF1, 0xF0, 0xF0, 0xF0, 0xF1, 0xF2, 0xF3, 0xF3, 0xF4, 0xF6, 0xF7, 0xF8, 0xF9, 0xFB, 0xFD, 0xFE, 0x00, 0x01, 0x03, 0x04, 0x06, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x06, 0x06, + 0x06, 0x05, 0x04, 0x03, 0x03, 0x03, 0x04, 0x04, 0x05, 0x05, 0x05, 0x06, 0x06, 0x06, 0x05, 0x05, 0x06, 0x06, 0x05, 0x05, 0x06, 0x06, 0x05, 0x05, 0x05, 0x04, 0x03, 0x01, 0xFF, 0xFF, 0xFE, 0xFE, + 0xFD, 0xFD, 0xFD, 0xFC, 0xFD, 0xFD, 0xFE, 0xFE, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFE, 0xFC, 0xFB, 0xFA, 0xF9, 0xF8, 0xF8, 0xF8, 0xF9, 0xFA, 0xFB, 0xFC, 0xFD, 0xFE, 0xFF, 0x00, 0x01, 0x03, + 0x04, 0x04, 0x05, 0x06, 0x07, 0x07, 0x06, 0x06, 0x06, 0x06, 0x05, 0x05, 0x05, 0x04, 0x03, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x07, 0x08, 0x09, 0x09, 0x09, 0x09, + 0x09, 0x09, 0x08, 0x08, 0x07, 0x07, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x07, 0x06, 0x07, 0x07, 0x06, 0x06, 0x05, 0x04, 0x03, 0x02, 0x01, 0xFF, 0xFF, 0xFE, 0xFD, 0xFC, 0xFB, 0xFA, 0xF9, 0xF8, + 0xF7, 0xF7, 0xF6, 0xF5, 0xF5, 0xF4, 0xF4, 0xF4, 0xF4, 0xF4, 0xF4, 0xF3, 0xF3, 0xF2, 0xF2, 0xF1, 0xF1, 0xF0, 0xF1, 0xF1, 0xF1, 0xF2, 0xF3, 0xF4, 0xF5, 0xF6, 0xF7, 0xF8, 0xF8, 0xF9, 0xFA, 0xFA, + 0xFA, 0xFB, 0xFB, 0xFB, 0xFC, 0xFC, 0xFD, 0xFF, 0x00, 0x00, 0x01, 0x02, 0x03, 0x03, 0x03, 0x04, 0x03, 0x03, 0x03, 0x03, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x01, 0x01, 0x00, 0x00, 0x00, + 0xFF, 0xFE, 0xFD, 0xFC, 0xFC, 0xFB, 0xFB, 0xFC, 0xFC, 0xFB, 0xFB, 0xFB, 0xFB, 0xFB, 0xFB, 0xFB, 0xFC, 0xFB, 0xFB, 0xFB, 0xFB, 0xFB, 0xFB, 0xFB, 0xFC, 0xFD, 0xFD, 0xFF, 0x00, 0x01, 0x02, 0x03, + 0x03, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x01, 0x02, 0x02, 0x02, 0x02, 0x02, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x09, 0x09, 0x09, 0x09, 0x08, 0x08, 0x07, 0x07, 0x05, 0x05, + 0x03, 0x02, 0x01, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFE, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFC, 0xFD, 0xFC, 0xFC, 0xFB, 0xFB, 0xFA, 0xFA, 0xFA, 0xFB, 0xFB, 0xFD, 0xFD, + 0xFE, 0xFE, 0xFE, 0xFE, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFE, 0xFD, 0xFC, 0xFC, 0xFB, 0xFB, 0xFB, 0xFB, 0xFB, 0xFB, 0xFB, 0xFB, 0xFC, 0xFD, 0xFE, 0xFE, 0xFF, 0x00, 0x00, 0x01, 0x01, 0x01, + 0x01, 0x02, 0x02, 0x02, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x07, 0x06, 0x05, 0x05, 0x05, 0x04, 0x04, 0x03, 0x03, 0x03, 0x03, 0x03, 0x04, 0x04, 0x04, 0x05, 0x06, 0x07, 0x08, 0x08, 0x08, 0x09, + 0x09, 0x09, 0x0A, 0x0A, 0x09, 0x09, 0x09, 0x09, 0x08, 0x08, 0x07, 0x07, 0x06, 0x05, 0x04, 0x03, 0x02, 0x01, 0x01, 0x00, 0xFF, 0xFE, 0xFC, 0xFC, 0xFB, 0xFA, 0xFA, 0xF9, 0xF9, 0xF8, 0xF7, 0xF7, + 0xF7, 0xF7, 0xF6, 0xF6, 0xF5, 0xF5, 0xF5, 0xF5, 0xF6, 0xF7, 0xF8, 0xF9, 0xFA, 0xFB, 0xFC, 0xFD, 0xFE, 0xFF, 0x00, 0x01, 0x01, 0x02, 0x01, 0x03, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x00, 0x00, + 0xFE, 0xFE, 0xFD, 0xFD, 0xFC, 0xFC, 0xFC, 0xFC, 0xFC, 0xFC, 0xFD, 0xFC, 0xFD, 0xFC, 0xFC, 0xFD, 0xFD, 0xFD, 0xFE, 0xFE, 0xFE, 0xFF, 0xFF, 0xFF, 0xFE, 0xFE, 0xFE, 0xFD, 0xFD, 0xFD, 0xFC, 0xFC, + 0xFB, 0xFB, 0xFC, 0xFC, 0xFD, 0xFD, 0xFE, 0xFE, 0xFF, 0xFF, 0xFF, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFF, 0x00, 0x01, 0x01, 0x02, 0x02, 0x03, 0x03, 0x02, 0x02, 0x01, 0x01, 0x00, + 0xFF, 0xFE, 0xFD, 0xFC, 0xFC, 0xFB, 0xFB, 0xFB, 0xFB, 0xFB, 0xFB, 0xFA, 0xFA, 0xFA, 0xFA, 0xFA, 0xFB, 0xFB, 0xFB, 0xFB, 0xFB, 0xFC, 0xFC, 0xFD, 0xFE, 0xFE, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x01, 0x01, 0x01, 0x02, 0x02, 0x01, 0x02, 0x02, 0x02, 0x02, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x02, 0x03, 0x03, + 0x03, 0x04, 0x04, 0x04, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x04, 0x03, 0x02, 0x00, 0xFF, 0xFD, 0xFC, 0xFB, 0xFA, 0xF9, 0xF8, 0xF8, 0xF7, 0xF7, 0xF6, 0xF6, 0xF7, + 0xF7, 0xF7, 0xF7, 0xF7, 0xF7, 0xF8, 0xF8, 0xF8, 0xF9, 0xFA, 0xFB, 0xFB, 0xFC, 0xFC, 0xFB, 0xFB, 0xFB, 0xFB, 0xFA, 0xFA, 0xFA, 0xFA, 0xFA, 0xFA, 0xFB, 0xFC, 0xFC, 0xFE, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFE, 0xFE, 0xFE, 0xFD, 0xFC, 0xFD, 0xFD, 0xFE, 0xFF, 0x00, 0x02, 0x04, 0x05, 0x07, 0x08, 0x08, 0x0A, 0x0C, 0x0C, 0x0B, 0x09, 0x08, 0x07, 0x06, 0x05, 0x03, 0x02, 0x03, 0x04, 0x04, 0x03, + 0x03, 0x04, 0x06, 0x08, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x08, 0x06, 0x05, 0x03, 0x02, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x02, 0x02, 0x03, 0x05, 0x06, 0x07, 0x06, 0x06, + 0x06, 0x06, 0x07, 0x07, 0x06, 0x06, 0x04, 0x04, 0x03, 0x01, 0x00, 0xFF, 0xFF, 0xFF, 0xFE, 0xFD, 0xFC, 0xFC, 0xFC, 0xFC, 0xFC, 0xFD, 0xFE, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, + 0x00, 0x00, 0x00, 0xFF, 0xFE, 0xFD, 0xFD, 0xFD, 0xFD, 0xFE, 0xFF, 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x07, 0x07, 0x06, 0x06, 0x05, 0x03, 0x02, 0x01, 0x00, 0x00, 0x00, 0x00, 0xFF, + 0xFF, 0xFF, 0x00, 0x01, 0x02, 0x03, 0x04, 0x04, 0x04, 0x04, 0x03, 0x03, 0x02, 0x01, 0xFF, 0xFD, 0xFB, 0xF9, 0xF7, 0xF5, 0xF4, 0xF3, 0xF1, 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, 0xF1, 0xF3, 0xF4, + 0xF6, 0xF8, 0xF9, 0xFA, 0xFC, 0xFC, 0xFD, 0xFE, 0xFE, 0xFE, 0xFF, 0xFF, 0xFF, 0xFE, 0xFD, 0xFD, 0xFE, 0xFE, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, 0xFF, 0xFE, 0xFD, 0xFC, + 0xFC, 0xFC, 0xFB, 0xFA, 0xF9, 0xF8, 0xF7, 0xF7, 0xF6, 0xF5, 0xF5, 0xF5, 0xF5, 0xF5, 0xF7, 0xF8, 0xF8, 0xF9, 0xFA, 0xFC, 0xFD, 0xFD, 0xFE, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFE, 0xFF, 0x00, 0x00, 0x01, 0x02, 0x04, 0x05, 0x07, 0x08, 0x09, 0x0A, 0x0C, 0x0D, 0x0E, 0x0F, 0x10, 0x10, 0x10, 0x0F, 0x0E, 0x0D, 0x0B, 0x0A, 0x09, 0x08, 0x07, 0x06, 0x05, 0x04, 0x03, + 0x02, 0x02, 0x02, 0x01, 0x01, 0x01, 0x00, 0x01, 0x01, 0x02, 0x01, 0x01, 0x00, 0xFF, 0xFF, 0xFE, 0xFE, 0xFE, 0xFF, 0xFF, 0xFF, 0xFE, 0xFE, 0xFE, 0xFF, 0xFF, 0xFE, 0xFF, 0xFF, 0x00, 0x01, 0x01, + 0x02, 0x01, 0x01, 0x02, 0x02, 0x02, 0x02, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, + 0xFF, 0xFE, 0xFC, 0xFB, 0xF9, 0xF8, 0xF7, 0xF6, 0xF6, 0xF5, 0xF5, 0xF4, 0xF4, 0xF4, 0xF4, 0xF6, 0xF7, 0xF9, 0xFA, 0xFC, 0xFD, 0xFE, 0x00, 0x01, 0x02, 0x02, 0x02, 0x03, 0x03, 0x04, 0x04, 0x04, + 0x04, 0x04, 0x05, 0x05, 0x05, 0x05, 0x06, 0x06, 0x07, 0x07, 0x07, 0x06, 0x05, 0x03, 0x02, 0x01, 0x01, 0x00, 0xFF, 0xFE, 0xFE, 0xFD, 0xFD, 0xFC, 0xFC, 0xFB, 0xFB, 0xFA, 0xFA, 0xF9, 0xF9, 0xF9, + 0xF9, 0xF9, 0xF9, 0xF9, 0xF9, 0xF9, 0xFA, 0xFA, 0xFA, 0xFB, 0xFA, 0xFA, 0xFA, 0xFA, 0xF9, 0xF9, 0xF8, 0xF8, 0xF7, 0xF7, 0xF8, 0xF8, 0xF9, 0xF9, 0xFA, 0xFB, 0xFB, 0xFD, 0xFD, 0xFF, 0x00, 0x01, + 0x02, 0x03, 0x03, 0x04, 0x04, 0x05, 0x05, 0x05, 0x06, 0x05, 0x05, 0x04, 0x04, 0x04, 0x04, 0x03, 0x03, 0x03, 0x03, 0x04, 0x04, 0x04, 0x04, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x04, + 0x04, 0x04, 0x03, 0x02, 0x02, 0x01, 0x01, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x03, 0x02, 0x02, 0x03, 0x03, 0x03, 0x02, 0x02, 0x01, 0x00, 0xFF, 0xFE, 0xFC, 0xFC, 0xFC, 0xFC, 0xFC, + 0xFC, 0xFC, 0xFC, 0xFD, 0xFD, 0xFE, 0x00, 0x01, 0x02, 0x03, 0x03, 0x04, 0x05, 0x05, 0x05, 0x05, 0x04, 0x03, 0x03, 0x02, 0x00, 0xFF, 0xFE, 0xFE, 0xFD, 0xFC, 0xFB, 0xFB, 0xFB, 0xFA, 0xFA, 0xFB, + 0xFB, 0xFB, 0xFC, 0xFC, 0xFC, 0xFC, 0xFC, 0xFC, 0xFC, 0xFC, 0xFC, 0xFC, 0xFB, 0xFB, 0xFB, 0xFB, 0xFB, 0xFC, 0xFB, 0xFC, 0xFD, 0xFD, 0xFF, 0xFF, 0x00, 0x01, 0x03, 0x03, 0x04, 0x04, 0x04, 0x04, + 0x04, 0x04, 0x04, 0x04, 0x03, 0x03, 0x02, 0x02, 0x01, 0x01, 0x00, 0xFF, 0xFE, 0xFD, 0xFE, 0xFD, 0xFE, 0xFF, 0x00, 0x00, 0x01, 0x01, 0x02, 0x02, 0x01, 0x01, 0x01, 0x00, 0xFF, 0xFE, 0xFD, 0xFC, + 0xFB, 0xFA, 0xF8, 0xF7, 0xF6, 0xF6, 0xF6, 0xF6, 0xF6, 0xF6, 0xF6, 0xF7, 0xF8, 0xF8, 0xF9, 0xF9, 0xFA, 0xFA, 0xFA, 0xFB, 0xFB, 0xFC, 0xFC, 0xFC, 0xFD, 0xFD, 0xFE, 0xFE, 0xFE, 0xFF, 0xFF, 0x00, + 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFE, 0xFE, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFE, 0xFE, 0xFE, 0xFE, 0xFF, 0xFF, + 0x00, 0x00, 0x01, 0x01, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x01, 0x01, 0x01, 0x01, 0x01, 0x02, 0x02, 0x02, 0x02, 0x02, 0x03, 0x03, 0x04, 0x05, 0x06, 0x06, 0x07, 0x08, 0x08, 0x09, 0x08, 0x08, + 0x08, 0x07, 0x08, 0x07, 0x07, 0x06, 0x06, 0x06, 0x05, 0x05, 0x06, 0x06, 0x07, 0x08, 0x09, 0x0A, 0x0A, 0x0B, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0B, 0x0B, 0x0A, 0x09, 0x08, 0x07, 0x05, 0x04, + 0x03, 0x02, 0x01, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFE, 0xFE, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFC, 0xFC, 0xFB, 0xFA, 0xFA, 0xF9, 0xF8, 0xF8, 0xF7, + 0xF7, 0xF7, 0xF8, 0xF8, 0xF9, 0xF9, 0xFA, 0xFB, 0xFC, 0xFD, 0xFE, 0xFE, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFE, 0xFD, 0xFD, 0xFE, 0xFE, 0xFF, 0x00, 0x01, 0x02, 0x02, 0x02, + 0x03, 0x04, 0x05, 0x05, 0x05, 0x04, 0x04, 0x03, 0x02, 0x01, 0xFF, 0xFF, 0xFE, 0xFD, 0xFD, 0xFC, 0xFC, 0xFB, 0xFB, 0xFB, 0xFB, 0xFB, 0xFB, 0xFA, 0xFA, 0xFA, 0xFA, 0xFA, 0xF9, 0xF9, 0xF8, 0xF8, + 0xF8, 0xF7, 0xF7, 0xF7, 0xF6, 0xF6, 0xF7, 0xF7, 0xF7, 0xF7, 0xF8, 0xF8, 0xF8, 0xF9, 0xF9, 0xF9, 0xFA, 0xFA, 0xFB, 0xFB, 0xFC, 0xFC, 0xFD, 0xFE, 0xFF, 0x00, 0x00, 0x01, 0x01, 0x01, 0x02, 0x02, + 0x02, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x04, 0x05, 0x05, 0x05, 0x05, 0x05, 0x04, 0x04, 0x03, 0x03, 0x03, 0x02, 0x02, 0x01, 0x01, 0x00, 0x00, 0x00, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFE, 0xFE, 0xFE, 0xFD, 0xFD, 0xFD, 0xFC, 0xFC, 0xFC, 0xFC, 0xFD, 0xFD, 0xFD, 0xFE, 0xFE, 0xFF, 0x00, 0x00, 0x01, 0x02, 0x02, 0x02, 0x03, 0x03, 0x02, + 0x02, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0xFF, 0xFF, 0xFE, 0xFE, 0xFD, 0xFC, 0xFC, 0xFC, 0xFC, 0xFC, + 0xFC, 0xFC, 0xFB, 0xFC, 0xFC, 0xFC, 0xFC, 0xFC, 0xFC, 0xFC, 0xFB, 0xFB, 0xFB, 0xFB, 0xFB, 0xFC, 0xFC, 0xFC, 0xFC, 0xFC, 0xFC, 0xFC, 0xFC, 0xFC, 0xFC, 0xFB, 0xFB, 0xFA, 0xF9, 0xF8, 0xF8, 0xF8, + 0xF8, 0xF8, 0xF9, 0xFA, 0xFA, 0xFA, 0xFB, 0xFC, 0xFC, 0xFD, 0xFE, 0xFE, 0xFE, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x06, 0x07, 0x07, 0x08, + 0x08, 0x08, 0x09, 0x09, 0x09, 0x09, 0x08, 0x08, 0x08, 0x08, 0x08, 0x07, 0x06, 0x04, 0x03, 0x01, 0x01, 0x00, 0x00, 0xFF, 0xFF, 0xFE, 0xFD, 0xFC, 0xFC, 0xFC, 0xFC, 0xFD, 0xFE, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFE, 0xFE, 0xFE, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x07, 0x07, 0x07, 0x07, 0x08, 0x08, + 0x09, 0x09, 0x09, 0x08, 0x07, 0x07, 0x06, 0x06, 0x06, 0x07, 0x07, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x09, 0x08, 0x08, 0x07, 0x06, 0x05, 0x04, 0x03, 0x01, 0x00, 0xFF, 0xFD, 0xFC, 0xFB, 0xFB, + 0xFA, 0xFA, 0xF9, 0xFA, 0xFA, 0xFB, 0xFB, 0xFC, 0xFD, 0xFD, 0xFD, 0xFD, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFD, 0xFD, 0xFC, 0xFB, 0xFB, 0xFA, 0xFA, 0xFA, 0xFA, 0xFA, 0xFB, 0xFB, 0xFC, 0xFD, + 0xFF, 0x00, 0x01, 0x02, 0x03, 0x03, 0x04, 0x04, 0x04, 0x04, 0x03, 0x02, 0x01, 0x00, 0xFF, 0xFF, 0xFE, 0xFE, 0xFE, 0xFD, 0xFD, 0xFD, 0xFC, 0xFC, 0xFC, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFC, + 0xFC, 0xFB, 0xFA, 0xF9, 0xF8, 0xF7, 0xF6, 0xF6, 0xF6, 0xF6, 0xF6, 0xF6, 0xF7, 0xF8, 0xF9, 0xFB, 0xFC, 0xFD, 0xFE, 0x00, 0x01, 0x02, 0x02, 0x03, 0x03, 0x02, 0x01, 0x01, 0x00, 0xFF, 0xFF, 0xFE, + 0xFD, 0xFD, 0xFC, 0xFC, 0xFC, 0xFC, 0xFC, 0xFC, 0xFC, 0xFD, 0xFD, 0xFE, 0xFE, 0xFE, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFE, 0xFE, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFE, + 0xFE, 0xFF, 0x00, 0x01, 0x01, 0x02, 0x02, 0x03, 0x03, 0x03, 0x03, 0x03, 0x02, 0x02, 0x02, 0x02, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x02, 0x03, 0x03, 0x04, 0x04, 0x04, 0x04, 0x04, + 0x04, 0x03, 0x03, 0x03, 0x02, 0x01, 0x01, 0x00, 0x00, 0xFF, 0xFF, 0xFE, 0xFD, 0xFD, 0xFD, 0xFC, 0xFC, 0xFC, 0xFD, 0xFD, 0xFE, 0xFE, 0xFE, 0xFF, 0xFF, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, + 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x01, 0x01, 0x00, 0x00, 0x00, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x01, 0x01, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x01, 0x01, 0x00, 0x00, 0xFF, 0xFF, 0xFE, 0xFE, 0xFE, 0xFD, 0xFD, 0xFD, 0xFE, 0xFE, + 0xFE, 0xFF, 0xFF, 0xFF, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x01, + 0x01, 0x01, 0x01, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFE, 0xFE, 0xFE, 0xFE, 0xFD, 0xFD, 0xFD, 0xFD, 0xFE, 0xFE, 0xFE, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFE, 0xFE, 0xFE, 0xFE, + 0xFD, 0xFD, 0xFC, 0xFC, 0xFC, 0xFC, 0xFC, 0xFC, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFF, 0xFF, 0xFF, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFF, + 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x02, 0x02, 0x02, + 0x02, 0x02, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x02, 0x02, 0x02, 0x02, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x02, 0x02, 0x02, 0x02, 0x03, 0x03, + 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x01, 0x01, 0x00, 0xFF, 0xFF, 0xFF, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFE, 0xFE, 0xFE, + 0xFE, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, + 0x01, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, + 0x01, 0x01, 0x01, 0x02, 0x02, 0x02, 0x02, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFE, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFE, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, + 0xFE, 0xFE, 0xFE, 0xFD, 0xFD, 0xFE, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, + 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, + 0xFE, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x01, + 0x01, 0x01, 0x01, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x01, 0x01, 0x00, 0x00, 0x00, + 0xFF, 0xFF, 0xFF, 0xFE, 0xFE, 0xFE, 0xFE, 0xFD, 0xFD, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x02, 0x01, 0x02, 0x02, 0x02, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, + 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFE, 0xFE, + 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFE, 0xFE, 0xFE, 0xFE, 0xFF, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0x00, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, + 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFB, 0xF9, 0xFC, 0x02, 0x05, 0x02, 0xFE, 0xFA, 0xF6, 0xF4, 0xF3, 0xF3, 0xF2, 0xF3, 0xF6, 0xF4, + 0xEF, 0xEA, 0xE6, 0xE1, 0xDB, 0xDA, 0xE2, 0xED, 0xF9, 0xFF, 0x02, 0x02, 0x00, 0xFB, 0xF3, 0xED, 0xEB, 0xEB, 0xEC, 0xEC, 0xEB, 0xEF, 0xF2, 0xF5, 0xF5, 0xF3, 0xF0, 0xF1, 0xF5, 0xFB, 0xFA, 0xF9, + 0xF8, 0xFB, 0xFD, 0xF8, 0xF4, 0xF4, 0xFA, 0x03, 0x0B, 0x11, 0x10, 0x0E, 0x10, 0x16, 0x1E, 0x2A, 0x38, 0x3C, 0x3A, 0x35, 0x37, 0x39, 0x3A, 0x3C, 0x3A, 0x31, 0x28, 0x23, 0x1E, 0x0E, 0x00, 0xFB, + 0xF4, 0xE6, 0xD7, 0xCF, 0xCE, 0xCE, 0xCF, 0xD2, 0xD2, 0xD4, 0xDD, 0xEA, 0xF2, 0xF4, 0xF5, 0xF5, 0xF9, 0xF8, 0xF5, 0xF0, 0xE7, 0xE7, 0xEF, 0xEC, 0xE3, 0xDF, 0xE3, 0xE9, 0xEF, 0xF3, 0xF6, 0xF2, + 0xED, 0xEA, 0xE7, 0xEA, 0xEF, 0xF4, 0xF0, 0xEC, 0xEB, 0xEF, 0xF4, 0xF1, 0xE9, 0xE9, 0xF2, 0x03, 0x0C, 0x0C, 0x0F, 0x1C, 0x22, 0x21, 0x20, 0x1E, 0x1F, 0x27, 0x30, 0x33, 0x34, 0x34, 0x37, 0x39, + 0x37, 0x35, 0x33, 0x2E, 0x2C, 0x2B, 0x2A, 0x27, 0x2E, 0x39, 0x45, 0x4E, 0x52, 0x56, 0x55, 0x59, 0x5F, 0x65, 0x65, 0x60, 0x56, 0x52, 0x53, 0x50, 0x50, 0x4E, 0x3E, 0x34, 0x2B, 0x28, 0x23, 0x1C, + 0x1D, 0x26, 0x2C, 0x2E, 0x27, 0x19, 0x07, 0xFB, 0xED, 0xDF, 0xCD, 0xB5, 0xA5, 0x9B, 0x92, 0x8A, 0x87, 0x86, 0x86, 0x85, 0x84, 0x95, 0xA5, 0xB9, 0xCE, 0xD5, 0xDB, 0xE4, 0xE9, 0xE1, 0xD8, 0xD8, + 0xD9, 0xDB, 0xDD, 0xD8, 0xD2, 0xCE, 0xCC, 0xC6, 0xBC, 0xB0, 0xA3, 0xA0, 0xA0, 0x9C, 0x9E, 0xA2, 0xB2, 0xC0, 0xC6, 0xC9, 0xCC, 0xD5, 0xE6, 0xF4, 0xF8, 0xFB, 0x01, 0x03, 0x08, 0x14, 0x19, 0x1D, + 0x1E, 0x1C, 0x18, 0x13, 0x0A, 0x02, 0xFE, 0xFE, 0x00, 0x04, 0x06, 0x07, 0x03, 0x04, 0x0F, 0x23, 0x2F, 0x37, 0x40, 0x46, 0x44, 0x38, 0x2E, 0x29, 0x19, 0x0C, 0x05, 0x02, 0x01, 0xFE, 0x03, 0x10, + 0x19, 0x1E, 0x1D, 0x0F, 0xFD, 0xF1, 0xEA, 0xE8, 0xE3, 0xE7, 0xF0, 0xFC, 0x06, 0x0E, 0x13, 0x0D, 0x06, 0x04, 0x00, 0xF6, 0xF3, 0xED, 0xF0, 0xF2, 0xF8, 0xFA, 0xFB, 0xF0, 0xEA, 0xE8, 0xFC, 0x0B, + 0x08, 0x05, 0xFF, 0xEA, 0xDD, 0xD4, 0xCF, 0xCD, 0xCC, 0xC8, 0xCD, 0xD7, 0xDB, 0xEA, 0xFF, 0x05, 0xFC, 0xF2, 0xE2, 0xDD, 0xE4, 0xED, 0xF0, 0xF8, 0xFC, 0x06, 0x15, 0x1E, 0x20, 0x2A, 0x2E, 0x30, + 0x38, 0x3E, 0x35, 0x25, 0x1F, 0x1E, 0x1F, 0x23, 0x27, 0x29, 0x32, 0x3A, 0x41, 0x45, 0x53, 0x53, 0x4D, 0x4F, 0x5B, 0x65, 0x6A, 0x68, 0x5B, 0x49, 0x38, 0x2A, 0x19, 0x14, 0x1A, 0x27, 0x2C, 0x28, + 0x1D, 0x1A, 0x1E, 0x2B, 0x35, 0x3A, 0x49, 0x58, 0x5F, 0x65, 0x53, 0x42, 0x3A, 0x33, 0x2F, 0x21, 0x15, 0x15, 0x16, 0x10, 0x06, 0x04, 0xFF, 0xF2, 0xE3, 0xD5, 0xCB, 0xC3, 0xCC, 0xD5, 0xCC, 0xBB, + 0xA7, 0x97, 0x8F, 0x89, 0x8D, 0xA7, 0xBC, 0xC9, 0xD4, 0xDD, 0xD5, 0xE0, 0xF5, 0x02, 0x0B, 0x0D, 0x0B, 0x0B, 0x00, 0xE8, 0xD0, 0xBF, 0xB1, 0xB6, 0xBF, 0xBE, 0xBC, 0xB0, 0xA4, 0x96, 0x8F, 0x8E, + 0x9B, 0xB1, 0xB4, 0xB5, 0xC2, 0xC9, 0xCF, 0xCE, 0xCD, 0xC3, 0xC7, 0xDB, 0xE1, 0xDB, 0xD6, 0xCD, 0xC6, 0xC0, 0xAD, 0xA4, 0xB4, 0xB7, 0xB9, 0xB7, 0xB7, 0xBC, 0xC4, 0xD4, 0xD5, 0xD1, 0xD6, 0xDF, + 0xE7, 0xEF, 0xFA, 0x06, 0x10, 0x17, 0x1E, 0x21, 0x18, 0x21, 0x2C, 0x2E, 0x23, 0x19, 0x1E, 0x27, 0x35, 0x25, 0x19, 0x19, 0x19, 0x30, 0x3D, 0x3E, 0x49, 0x59, 0x6D, 0x77, 0x7C, 0x7F, 0x7F, 0x7F, + 0x6B, 0x49, 0x3C, 0x3C, 0x3A, 0x31, 0x2B, 0x15, 0x00, 0xFD, 0xEB, 0xD4, 0xC9, 0xBF, 0xCC, 0xD7, 0xD6, 0xCB, 0xCE, 0xCE, 0xCE, 0xD1, 0xD1, 0xD7, 0xE9, 0xFB, 0x04, 0xFC, 0xFE, 0xFF, 0x01, 0x0C, + 0x18, 0x38, 0x4F, 0x67, 0x6B, 0x5C, 0x44, 0x26, 0x21, 0x1A, 0x0E, 0x0A, 0x04, 0x0F, 0x11, 0x0B, 0x0E, 0x10, 0x0A, 0xFE, 0xFA, 0xEB, 0xF4, 0xFD, 0xFA, 0xF4, 0xEB, 0xD8, 0xD6, 0xEF, 0x08, 0x15, + 0x2A, 0x3C, 0x47, 0x4D, 0x4C, 0x45, 0x40, 0x4A, 0x4B, 0x47, 0x4B, 0x4B, 0x42, 0x2F, 0x11, 0xFA, 0xFC, 0xF8, 0xF3, 0xF8, 0xF3, 0xEF, 0xF3, 0xF3, 0xF2, 0xF2, 0xE6, 0xE4, 0xEA, 0xE9, 0xE6, 0xF3, + 0xFB, 0xF2, 0xE6, 0xDA, 0xE6, 0xFD, 0x16, 0x18, 0x0D, 0x0B, 0x0F, 0x11, 0x0A, 0xFE, 0xF9, 0xF5, 0xFC, 0x02, 0x0F, 0x0F, 0x01, 0x02, 0xF9, 0xF0, 0xF0, 0xF6, 0xFF, 0xF5, 0xEA, 0xDF, 0xE4, 0xF5, + 0xFD, 0x03, 0xF6, 0xEC, 0xE4, 0xE2, 0xED, 0xEB, 0xD6, 0xB6, 0xA1, 0xA3, 0xB0, 0xC8, 0xCC, 0xC7, 0xC8, 0xD1, 0xE4, 0xED, 0xF8, 0xED, 0xE0, 0xE9, 0xEA, 0xEF, 0xF9, 0xF8, 0xEF, 0xEC, 0xEF, 0xEC, + 0xFB, 0xF9, 0xDE, 0xC5, 0xBD, 0xBA, 0xC3, 0xC9, 0xC9, 0xC3, 0xBF, 0xAE, 0xB9, 0xDA, 0xF8, 0x05, 0xF4, 0xDF, 0xD7, 0xE0, 0xF6, 0xF3, 0xF3, 0xF5, 0xF3, 0xFC, 0x13, 0x21, 0x1F, 0x19, 0x0F, 0x0C, + 0x10, 0x16, 0x34, 0x4A, 0x46, 0x40, 0x3C, 0x43, 0x3C, 0x31, 0x0E, 0x05, 0x15, 0x1D, 0x20, 0x1F, 0x1A, 0x07, 0xEF, 0xE8, 0xEB, 0x01, 0x0F, 0x07, 0xF6, 0xEC, 0xF8, 0x0A, 0x1C, 0x17, 0x0B, 0x0F, + 0x1E, 0x39, 0x47, 0x38, 0x22, 0x19, 0x27, 0x2B, 0x37, 0x54, 0x62, 0x56, 0x2F, 0x16, 0x1D, 0x21, 0x1A, 0x0D, 0xF5, 0xF1, 0xF3, 0xF9, 0xE9, 0xD1, 0xB3, 0xA2, 0x96, 0xAB, 0xC8, 0xE6, 0xEF, 0xEA, + 0xE1, 0xE7, 0xF0, 0x0C, 0x21, 0x13, 0xFB, 0xF1, 0xFA, 0x00, 0x0B, 0x02, 0xEA, 0xE6, 0xE3, 0xF3, 0x11, 0x1D, 0x1A, 0x0C, 0x0A, 0x0A, 0x08, 0x04, 0xF8, 0xF5, 0xF5, 0xF2, 0xFC, 0x0F, 0x16, 0xFF, + 0xF0, 0xEF, 0xF3, 0xF9, 0x11, 0x11, 0x05, 0xFD, 0x01, 0x08, 0x16, 0x2A, 0x34, 0x33, 0x45, 0x5B, 0x5D, 0x4C, 0x3E, 0x30, 0x29, 0x28, 0x29, 0x29, 0x32, 0x21, 0x07, 0xFE, 0xE8, 0xE0, 0xEB, 0xF1, + 0xF5, 0xED, 0xF1, 0xF0, 0xE1, 0xD5, 0xBA, 0xB1, 0xCE, 0xE9, 0xFD, 0x07, 0x1A, 0x1E, 0x20, 0x21, 0x22, 0x25, 0x37, 0x4B, 0x52, 0x50, 0x3D, 0x41, 0x55, 0x4D, 0x58, 0x5E, 0x69, 0x66, 0x6A, 0x68, + 0x42, 0x25, 0x11, 0xF5, 0xDF, 0xD2, 0xD1, 0xC9, 0xBD, 0xBA, 0xB2, 0xA9, 0x9C, 0x9A, 0x9B, 0x9C, 0x9F, 0x9E, 0x99, 0x97, 0x93, 0x91, 0x8F, 0x91, 0x90, 0x90, 0xAB, 0xCE, 0xE4, 0xF1, 0xFE, 0x03, + 0x07, 0x00, 0xE9, 0xD8, 0xDD, 0xE8, 0xF8, 0xE7, 0xCC, 0xB5, 0xAD, 0xA7, 0xA8, 0xB3, 0xC7, 0xD4, 0xDB, 0xDD, 0xDB, 0xD9, 0xD0, 0xCC, 0xD2, 0xE1, 0x01, 0x32, 0x42, 0x35, 0x1E, 0x1D, 0x0F, 0x03, + 0x0C, 0x16, 0x1C, 0x20, 0x0F, 0x21, 0x25, 0x25, 0x13, 0x10, 0x04, 0x16, 0x28, 0x1C, 0x05, 0xF4, 0xE4, 0xE3, 0xE6, 0xEA, 0xDB, 0xE2, 0xE9, 0xE9, 0xF1, 0xF9, 0xFB, 0xF6, 0xF5, 0xE3, 0xD9, 0xF0, + 0x0C, 0x1E, 0x1D, 0x18, 0x25, 0x27, 0x27, 0x2A, 0x3C, 0x4A, 0x47, 0x4C, 0x61, 0x6D, 0x72, 0x74, 0x71, 0x62, 0x56, 0x4D, 0x47, 0x50, 0x37, 0x23, 0x11, 0xFE, 0xEC, 0xDE, 0xC9, 0xC7, 0xCB, 0xD4, + 0xCE, 0xD6, 0xCF, 0xD6, 0xDD, 0xE3, 0xED, 0x06, 0x11, 0x03, 0x00, 0x00, 0xFD, 0x11, 0x27, 0x43, 0x4F, 0x4A, 0x53, 0x59, 0x68, 0x70, 0x73, 0x77, 0x77, 0x77, 0x77, 0x77, 0x6A, 0x52, 0x41, 0x2F, + 0x34, 0x34, 0x23, 0x15, 0x0A, 0xFA, 0xE2, 0xD6, 0xDB, 0xEB, 0xDB, 0xC8, 0xCC, 0xD1, 0xE2, 0xF1, 0xEC, 0xE6, 0xD9, 0xE2, 0xDE, 0xE7, 0xF4, 0xF6, 0xEB, 0xE6, 0xE6, 0xF0, 0xE8, 0xE1, 0xC7, 0xBF, + 0xC4, 0xC5, 0xE1, 0xD5, 0xB4, 0xA4, 0xA1, 0x9F, 0x9B, 0x97, 0x93, 0x98, 0xA2, 0x99, 0xA7, 0xB1, 0xAA, 0xA2, 0xAA, 0xC3, 0xDD, 0xDF, 0xCD, 0xBB, 0xD4, 0xCF, 0xC0, 0xB2, 0xC0, 0xCE, 0xD2, 0xD4, + 0xB7, 0xC6, 0xDB, 0xDE, 0xE7, 0xDE, 0xF4, 0x11, 0x2E, 0x42, 0x3A, 0x3A, 0x2F, 0x23, 0x0B, 0xEF, 0xE1, 0xE3, 0xE2, 0xD0, 0xBF, 0xC0, 0xC9, 0xC7, 0xBF, 0xC5, 0xC9, 0xE4, 0x03, 0x01, 0x04, 0x15, + 0x27, 0x30, 0x32, 0x34, 0x35, 0x45, 0x5D, 0x68, 0x6E, 0x6E, 0x6D, 0x6D, 0x60, 0x47, 0x30, 0x2C, 0x39, 0x23, 0x18, 0xF6, 0xC8, 0xAE, 0xAE, 0xA2, 0x9E, 0x9B, 0x9B, 0x99, 0xBC, 0xDB, 0xF3, 0x10, + 0x35, 0x3D, 0x35, 0x31, 0x1E, 0x34, 0x3C, 0x3D, 0x3E, 0x46, 0x49, 0x38, 0x44, 0x45, 0x44, 0x56, 0x54, 0x52, 0x41, 0x38, 0x2B, 0x2B, 0x34, 0x30, 0x39, 0x47, 0x3A, 0x22, 0x0D, 0x0B, 0x01, 0x01, + 0xE8, 0xC4, 0xBA, 0xC6, 0xD0, 0xE0, 0xF0, 0xF9, 0x00, 0x02, 0xF0, 0xD5, 0xC6, 0xC3, 0xCB, 0xDA, 0xF9, 0xF1, 0xDE, 0xE1, 0xDF, 0xE0, 0xEB, 0xEB, 0xE4, 0xEA, 0xF2, 0xED, 0xE0, 0xDA, 0xC7, 0xC8, + 0xD7, 0xC9, 0xBE, 0xC2, 0xD0, 0xDD, 0xD9, 0xDB, 0xD0, 0xD2, 0xDD, 0xDE, 0xF4, 0x15, 0x21, 0x3E, 0x4D, 0x32, 0x21, 0x1F, 0x13, 0x0B, 0x0F, 0x20, 0x26, 0x26, 0x38, 0x3E, 0x35, 0x32, 0x2B, 0x1E, + 0x14, 0x11, 0x10, 0x20, 0x2A, 0x26, 0x27, 0x1E, 0x0A, 0xFC, 0xF5, 0xEF, 0xF9, 0x04, 0x02, 0xED, 0xD4, 0xE2, 0x03, 0x23, 0x45, 0x50, 0x55, 0x59, 0x49, 0x2B, 0x21, 0x28, 0x3B, 0x4E, 0x4A, 0x2F, + 0x17, 0x0F, 0x0F, 0x0C, 0x13, 0x0B, 0x11, 0x0F, 0x03, 0xFE, 0xFB, 0xF9, 0xF9, 0xFE, 0xFC, 0xD4, 0xBE, 0xC3, 0xC2, 0xBB, 0xA8, 0xA1, 0xA0, 0x9F, 0x9E, 0x99, 0xB5, 0xD5, 0xF6, 0x06, 0x03, 0xE8, + 0xE2, 0xE7, 0xDF, 0xDD, 0xF4, 0x10, 0x28, 0x37, 0x37, 0x35, 0x3A, 0x45, 0x39, 0x27, 0x1D, 0x16, 0x0D, 0x04, 0xEB, 0xE0, 0xE6, 0xE6, 0xD7, 0xD2, 0xD2, 0xDA, 0xED, 0xE3, 0xBD, 0xAB, 0xA2, 0xA5, + 0xAD, 0xBA, 0xBC, 0xCC, 0xD7, 0xC9, 0xB4, 0xB2, 0xCB, 0xE3, 0x03, 0x1E, 0x22, 0x20, 0x1F, 0x21, 0x2E, 0x35, 0x33, 0x2E, 0x37, 0x22, 0x0F, 0x04, 0xFB, 0xE7, 0xDE, 0xD7, 0xCE, 0xCB, 0xC6, 0xCB, + 0xCD, 0xD6, 0xE7, 0xDE, 0xCC, 0xBA, 0xB7, 0xD5, 0xE6, 0x00, 0x1A, 0x28, 0x1A, 0x0C, 0x05, 0x06, 0x0C, 0x19, 0x27, 0x38, 0x37, 0x34, 0x29, 0x26, 0x19, 0x10, 0x06, 0x05, 0x03, 0x01, 0xFE, 0xF0, + 0xE8, 0xF3, 0xF8, 0xFE, 0x07, 0x08, 0x13, 0x2F, 0x4E, 0x5D, 0x4A, 0x28, 0x15, 0x10, 0x1F, 0x22, 0x26, 0x27, 0x2B, 0x22, 0x0F, 0x13, 0x29, 0x32, 0x35, 0x1D, 0x13, 0x16, 0x29, 0x38, 0x42, 0x43, + 0x4B, 0x55, 0x5F, 0x5B, 0x5B, 0x56, 0x44, 0x29, 0x19, 0x05, 0xEA, 0xDB, 0xC4, 0xC2, 0xCF, 0xE1, 0xE0, 0xD4, 0xC4, 0xB4, 0xB2, 0xBF, 0xC8, 0xE2, 0xF6, 0x0B, 0x0F, 0x13, 0x22, 0x31, 0x32, 0x2E, + 0x1C, 0x18, 0x25, 0x28, 0x1E, 0x19, 0x26, 0x37, 0x3E, 0x33, 0x1C, 0x0F, 0x08, 0xF8, 0xE2, 0xDB, 0xE3, 0xDB, 0xCC, 0xBF, 0xC4, 0xE3, 0x01, 0x0C, 0x08, 0xFC, 0xF1, 0xEA, 0xDB, 0xC5, 0xB9, 0xAE, + 0xB0, 0xBB, 0xCD, 0xE7, 0xF9, 0x03, 0xFF, 0xE8, 0xCF, 0xD6, 0xE3, 0xF4, 0xFE, 0x07, 0x18, 0x1A, 0x14, 0x10, 0x07, 0xFA, 0xEB, 0xC8, 0xB4, 0xAB, 0xA5, 0xA3, 0xA3, 0xA3, 0xA1, 0xB2, 0xC2, 0xC3, + 0xB6, 0xB4, 0xB1, 0xAE, 0xC2, 0xD9, 0xE9, 0x01, 0x13, 0x1D, 0x3A, 0x53, 0x5B, 0x54, 0x44, 0x1F, 0x03, 0xEA, 0xD0, 0xBC, 0xC0, 0xD1, 0xD6, 0xD7, 0xE1, 0xDB, 0xDE, 0xE0, 0xDF, 0xE2, 0xF1, 0x00, + 0xFE, 0xFA, 0xFF, 0x10, 0x29, 0x34, 0x21, 0x0E, 0x04, 0xE9, 0xD0, 0xBA, 0xB3, 0xB4, 0xCB, 0xDB, 0xF3, 0x16, 0x31, 0x32, 0x28, 0x16, 0x10, 0x17, 0x22, 0x21, 0x1A, 0x29, 0x2B, 0x37, 0x4C, 0x5B, + 0x64, 0x67, 0x65, 0x4B, 0x38, 0x23, 0x15, 0x17, 0x0F, 0x0B, 0x0D, 0x19, 0x1E, 0x0D, 0xFB, 0xEC, 0xDF, 0xE4, 0xE3, 0xE3, 0xEF, 0x01, 0x01, 0x04, 0x10, 0x16, 0x22, 0x2C, 0x22, 0x20, 0x20, 0x19, + 0x0C, 0x0F, 0x27, 0x28, 0x33, 0x31, 0x27, 0x29, 0x35, 0x2B, 0x27, 0x2C, 0x2E, 0x30, 0x44, 0x3A, 0x31, 0x32, 0x2A, 0x28, 0x26, 0x29, 0x0E, 0xF0, 0xD9, 0xBC, 0xAC, 0xBF, 0xCB, 0xD4, 0xE4, 0xE9, + 0xEC, 0xF4, 0xF0, 0xE9, 0xF2, 0xFB, 0xFB, 0xED, 0xF1, 0xFB, 0xF6, 0x00, 0xFF, 0x02, 0x1F, 0x21, 0xFC, 0xE0, 0xC8, 0xC5, 0xD1, 0xEC, 0xFA, 0xFF, 0x07, 0xFC, 0xEA, 0xE2, 0xE3, 0xD5, 0xC8, 0xD0, + 0xD0, 0xD7, 0xE1, 0xDD, 0xEB, 0xFD, 0xFD, 0x01, 0x0F, 0x21, 0x27, 0x26, 0x22, 0x17, 0x10, 0x18, 0x11, 0x00, 0xFD, 0xFE, 0x04, 0x1F, 0x21, 0x18, 0x20, 0x26, 0x30, 0x3A, 0x49, 0x55, 0x57, 0x4B, + 0x33, 0x32, 0x35, 0x25, 0x02, 0xE1, 0xC6, 0xBF, 0xC3, 0xC5, 0xC6, 0xE1, 0xE4, 0xD5, 0xCD, 0xC4, 0xC5, 0xD0, 0xDB, 0xE8, 0xF8, 0xFF, 0xFF, 0x00, 0x06, 0x0A, 0x10, 0x25, 0x28, 0x0C, 0xED, 0xCC, + 0xB9, 0xB5, 0xB5, 0xB9, 0xBF, 0xBB, 0xAE, 0xA9, 0xA7, 0xA3, 0xA2, 0xA1, 0xA1, 0xA0, 0xAD, 0xB5, 0xB3, 0xC6, 0xD9, 0xDF, 0xE3, 0xEB, 0xF1, 0xF5, 0x0B, 0x19, 0x21, 0x2E, 0x41, 0x4E, 0x58, 0x5F, + 0x61, 0x64, 0x66, 0x66, 0x5D, 0x58, 0x4C, 0x46, 0x42, 0x3D, 0x39, 0x3A, 0x35, 0x19, 0xFE, 0xF8, 0xFA, 0xF8, 0xF0, 0xD8, 0xC4, 0xBF, 0xC0, 0xBF, 0xD9, 0xE9, 0xE0, 0xD5, 0xC7, 0xC9, 0xCF, 0xDB, + 0xDE, 0xE4, 0xEF, 0xE9, 0xE9, 0xE7, 0xE0, 0xDF, 0xEA, 0xF8, 0xE9, 0xE0, 0xDA, 0xCB, 0xD5, 0xE6, 0xFB, 0x13, 0x20, 0x16, 0xFC, 0xDF, 0xD9, 0xE1, 0xEB, 0xEB, 0xE4, 0xF1, 0xF9, 0xFB, 0x05, 0x11, + 0x1E, 0x26, 0x28, 0x27, 0x2C, 0x39, 0x3A, 0x38, 0x37, 0x29, 0x25, 0x20, 0x10, 0xFF, 0xFF, 0x08, 0x0B, 0x13, 0x20, 0x2C, 0x35, 0x46, 0x55, 0x5E, 0x61, 0x60, 0x59, 0x4F, 0x47, 0x46, 0x3C, 0x2F, + 0x1C, 0x06, 0xFD, 0xF0, 0xED, 0xFF, 0x16, 0x21, 0x29, 0x25, 0x1E, 0x17, 0x0A, 0x01, 0xFF, 0x06, 0xFE, 0xFA, 0xF1, 0xE7, 0xD7, 0xD8, 0xDB, 0xD2, 0xCC, 0xC9, 0xC8, 0xD2, 0xEA, 0xF1, 0xF9, 0xFC, + 0xEF, 0xD9, 0xCB, 0xB6, 0xB5, 0xBC, 0xC3, 0xB9, 0xAD, 0xAA, 0xA7, 0xA4, 0xAC, 0xBE, 0xCD, 0xE1, 0xE7, 0xE9, 0xED, 0xF4, 0xFE, 0x0D, 0x16, 0x19, 0x1E, 0x25, 0x2A, 0x2C, 0x38, 0x3D, 0x3C, 0x40, + 0x45, 0x4B, 0x57, 0x5E, 0x61, 0x64, 0x64, 0x58, 0x41, 0x2F, 0x25, 0x2A, 0x2C, 0x28, 0x17, 0x0C, 0xF9, 0xDE, 0xC9, 0xC4, 0xC8, 0xC9, 0xC5, 0xBF, 0xC2, 0xC3, 0xD1, 0xCE, 0xC8, 0xC7, 0xCC, 0xCB, + 0xCE, 0xCE, 0xD5, 0xDB, 0xCB, 0xB6, 0xAC, 0xA7, 0xAA, 0xA7, 0xB1, 0xC6, 0xD6, 0xE1, 0xDF, 0xD5, 0xCF, 0xDA, 0xF8, 0x13, 0x13, 0x00, 0xF6, 0xE6, 0xD8, 0xD5, 0xD6, 0xDE, 0xE7, 0xEC, 0xF6, 0xFF, + 0x08, 0x0F, 0x17, 0x20, 0x23, 0x30, 0x32, 0x33, 0x38, 0x3D, 0x37, 0x33, 0x39, 0x4D, 0x57, 0x5C, 0x5E, 0x61, 0x64, 0x65, 0x65, 0x64, 0x62, 0x5D, 0x57, 0x53, 0x4A, 0x3A, 0x29, 0x0B, 0xEF, 0xDF, + 0xD7, 0xD4, 0xD0, 0xC9, 0xC4, 0xCD, 0xD6, 0xD7, 0xCC, 0xC2, 0xBD, 0xB5, 0xBE, 0xC6, 0xCE, 0xE0, 0xF2, 0xF2, 0xEB, 0xDF, 0xE1, 0xE6, 0xE8, 0xEB, 0xF3, 0xEC, 0xE2, 0xCF, 0xBE, 0xBA, 0xBB, 0xC9, + 0xE0, 0xF0, 0xF4, 0xF1, 0xE8, 0xEC, 0xEF, 0xF5, 0xFB, 0xFA, 0xFE, 0x0B, 0x16, 0x16, 0x13, 0x18, 0x27, 0x30, 0x2E, 0x35, 0x40, 0x4A, 0x55, 0x59, 0x53, 0x4D, 0x50, 0x59, 0x5D, 0x59, 0x53, 0x56, + 0x56, 0x49, 0x2E, 0x1C, 0x18, 0x16, 0x0A, 0x03, 0x05, 0x07, 0x03, 0xF2, 0xDB, 0xC5, 0xCD, 0xCB, 0xB9, 0xB2, 0xAE, 0xAB, 0xB1, 0xBA, 0xBB, 0xBA, 0xBD, 0xC2, 0xC0, 0xC2, 0xCD, 0xD8, 0xD5, 0xC4, + 0xB5, 0xAC, 0xC2, 0xCF, 0xCB, 0xC0, 0xBD, 0xBF, 0xBC, 0xB6, 0xB2, 0xB2, 0xBE, 0xCF, 0xDF, 0xE0, 0xD7, 0xC3, 0xB4, 0xB2, 0xB7, 0xD2, 0xE4, 0xF2, 0xF9, 0xFB, 0xFB, 0xF9, 0xFA, 0x03, 0x0B, 0x17, + 0x15, 0x1C, 0x2B, 0x34, 0x22, 0x04, 0xF5, 0xF8, 0x0C, 0x1E, 0x29, 0x2A, 0x35, 0x45, 0x4B, 0x43, 0x43, 0x49, 0x54, 0x5B, 0x5D, 0x5E, 0x5E, 0x52, 0x31, 0x17, 0x08, 0x08, 0x13, 0x0F, 0x02, 0xF3, + 0xF1, 0xEC, 0xE6, 0xD7, 0xD0, 0xC7, 0xCC, 0xCE, 0xCC, 0xD1, 0xD9, 0xD7, 0xC9, 0xB9, 0xB0, 0xB6, 0xC3, 0xCE, 0xD9, 0xDE, 0xE6, 0xF1, 0xF8, 0xF8, 0xF6, 0xFD, 0x0E, 0x21, 0x2C, 0x34, 0x2F, 0x22, + 0x17, 0x10, 0x0D, 0x15, 0x18, 0x20, 0x22, 0x2A, 0x38, 0x44, 0x4B, 0x47, 0x39, 0x35, 0x37, 0x46, 0x52, 0x58, 0x5B, 0x5B, 0x4D, 0x4E, 0x56, 0x5B, 0x5D, 0x5E, 0x5F, 0x5E, 0x5E, 0x5D, 0x5D, 0x5D, + 0x5C, 0x5C, 0x50, 0x38, 0x2C, 0x22, 0x10, 0xFA, 0xEA, 0xE8, 0xEC, 0xDA, 0xC4, 0xB7, 0xB3, 0xB1, 0xB0, 0xAC, 0xA9, 0xA9, 0xAA, 0xAB, 0xAB, 0xAB, 0xAA, 0xB0, 0xAC, 0xAB, 0xAB, 0xB4, 0xB7, 0xB4, + 0xAE, 0xAC, 0xAA, 0xBE, 0xD5, 0xEC, 0xF9, 0x03, 0x0B, 0x0C, 0x01, 0xF5, 0xE3, 0xDB, 0xDF, 0xED, 0x00, 0x05, 0x00, 0x00, 0xFF, 0xFE, 0xFE, 0x01, 0x0D, 0x13, 0x0F, 0x0B, 0x11, 0x2B, 0x43, 0x4C, + 0x4A, 0x4B, 0x47, 0x45, 0x4D, 0x4B, 0x42, 0x35, 0x25, 0x14, 0x0D, 0x16, 0x26, 0x2B, 0x2E, 0x2B, 0x2B, 0x29, 0x1A, 0x05, 0xFB, 0xFD, 0x02, 0x0D, 0x08, 0xF9, 0xE7, 0xCF, 0xBC, 0xB3, 0xAE, 0xB1, + 0xAD, 0xAC, 0xAD, 0xB6, 0xBF, 0xC3, 0xBA, 0xB2, 0xAD, 0xB0, 0xB0, 0xBB, 0xC3, 0xCB, 0xCD, 0xD7, 0xE4, 0xFB, 0x13, 0x22, 0x27, 0x27, 0x20, 0x18, 0x0B, 0xF6, 0xDE, 0xCE, 0xC9, 0xC4, 0xC8, 0xCE, + 0xCF, 0xD5, 0xDB, 0xDF, 0xE3, 0xF3, 0xFB, 0xF3, 0xE4, 0xD9, 0xDE, 0xED, 0xFF, 0x06, 0x05, 0x05, 0x02, 0x02, 0x0E, 0x17, 0x1C, 0x19, 0x1C, 0x1C, 0x26, 0x31, 0x38, 0x35, 0x32, 0x20, 0x0E, 0x01, + 0xF8, 0xEF, 0xE3, 0xE3, 0xED, 0x00, 0x08, 0x02, 0xF2, 0xE1, 0xD8, 0xD7, 0xD4, 0xD6, 0xD0, 0xD4, 0xDA, 0xDB, 0xDE, 0xE1, 0xE1, 0xE1, 0xDA, 0xD8, 0xE0, 0xF0, 0xF9, 0xFC, 0xF8, 0xFC, 0x05, 0x0F, + 0x1D, 0x21, 0x21, 0x2A, 0x33, 0x30, 0x26, 0x13, 0xFF, 0xF5, 0xF6, 0xF3, 0xFA, 0xF9, 0xFC, 0xFE, 0xFF, 0x00, 0x07, 0x10, 0x20, 0x25, 0x23, 0x27, 0x2E, 0x3A, 0x40, 0x3A, 0x2C, 0x1E, 0x0F, 0x0A, + 0x0A, 0x0C, 0x0F, 0x0B, 0x06, 0x03, 0x02, 0x08, 0x18, 0x1D, 0x21, 0x2A, 0x2F, 0x2A, 0x23, 0x17, 0x0C, 0x04, 0xFE, 0xF6, 0xE7, 0xD5, 0xC6, 0xBB, 0xB9, 0xBC, 0xB7, 0xB7, 0xBE, 0xCC, 0xDA, 0xE3, + 0xE8, 0xE9, 0xE6, 0xDA, 0xC6, 0xBA, 0xBC, 0xCF, 0xEF, 0x06, 0x19, 0x2E, 0x43, 0x4F, 0x55, 0x58, 0x59, 0x5B, 0x5B, 0x5B, 0x56, 0x42, 0x30, 0x22, 0x0F, 0xFE, 0xF8, 0xFE, 0x07, 0x11, 0x1D, 0x2F, + 0x3E, 0x46, 0x47, 0x3A, 0x30, 0x27, 0x22, 0x22, 0x1E, 0x1F, 0x1E, 0x19, 0x17, 0x17, 0x17, 0x13, 0x06, 0x00, 0x05, 0x0A, 0x0F, 0x13, 0x14, 0x10, 0x15, 0x14, 0x13, 0x0A, 0x02, 0xFE, 0xFF, 0x04, + 0x0A, 0x07, 0xFD, 0xDF, 0xC7, 0xBC, 0xB6, 0xB3, 0xB2, 0xB1, 0xB2, 0xB1, 0xB1, 0xB2, 0xB3, 0xB4, 0xB5, 0xB6, 0xB7, 0xB7, 0xB7, 0xB4, 0xB2, 0xB1, 0xAE, 0xBD, 0xCE, 0xDE, 0xF2, 0x06, 0x1A, 0x32, + 0x3B, 0x37, 0x26, 0x0F, 0xFF, 0xFF, 0x00, 0x02, 0x05, 0xFE, 0xF3, 0xE9, 0xED, 0xFB, 0x11, 0x22, 0x35, 0x41, 0x4C, 0x52, 0x54, 0x55, 0x55, 0x54, 0x54, 0x53, 0x4D, 0x46, 0x3E, 0x2F, 0x1A, 0x05, + 0xF6, 0xF5, 0xFC, 0x08, 0x10, 0x10, 0x17, 0x15, 0x0F, 0x00, 0xED, 0xE0, 0xDB, 0xE4, 0xEA, 0xEB, 0xDE, 0xCC, 0xBF, 0xB7, 0xB4, 0xB1, 0xB2, 0xB3, 0xB3, 0xB1, 0xC0, 0xD2, 0xD1, 0xC2, 0xBB, 0xB9, + 0xB7, 0xB6, 0xB5, 0xBC, 0xC8, 0xD0, 0xD9, 0xEB, 0x01, 0x11, 0x1A, 0x20, 0x28, 0x31, 0x30, 0x27, 0x13, 0xFF, 0xF3, 0xE9, 0xE9, 0xF0, 0x03, 0x14, 0x1D, 0x21, 0x33, 0x44, 0x4D, 0x50, 0x4D, 0x45, + 0x42, 0x40, 0x3D, 0x31, 0x21, 0x1D, 0x1D, 0x27, 0x26, 0x20, 0x19, 0x0F, 0x08, 0x04, 0x05, 0x06, 0x03, 0x01, 0xFA, 0xF5, 0xEF, 0xEB, 0xEA, 0xE6, 0xDE, 0xDB, 0xDF, 0xE8, 0xE7, 0xDD, 0xC9, 0xBD, + 0xBA, 0xBA, 0xBA, 0xBB, 0xBB, 0xBC, 0xBC, 0xBC, 0xBC, 0xBA, 0xB7, 0xB6, 0xB6, 0xB7, 0xB7, 0xB6, 0xB4, 0xB2, 0xBC, 0xC9, 0xDD, 0xEF, 0xFD, 0x08, 0x1D, 0x31, 0x40, 0x43, 0x3E, 0x33, 0x23, 0x17, + 0x0E, 0x07, 0x0E, 0x16, 0x1E, 0x23, 0x27, 0x27, 0x2A, 0x33, 0x3D, 0x46, 0x4C, 0x4F, 0x50, 0x50, 0x52, 0x50, 0x46, 0x3A, 0x2C, 0x20, 0x11, 0x06, 0xFC, 0xF4, 0xE4, 0xD8, 0xD7, 0xDA, 0xDB, 0xE3, + 0xEB, 0xF5, 0xFC, 0xFF, 0xFA, 0xF3, 0xF2, 0xF4, 0xF6, 0xFE, 0xFF, 0xFA, 0xF6, 0xF1, 0xEC, 0xE9, 0xE6, 0xE2, 0xE9, 0xF1, 0xFB, 0x07, 0x16, 0x23, 0x1F, 0x0C, 0xF4, 0xDE, 0xD0, 0xCF, 0xD4, 0xDD, + 0xE9, 0xF3, 0x01, 0x10, 0x17, 0x1C, 0x27, 0x31, 0x3A, 0x39, 0x38, 0x32, 0x29, 0x1A, 0x08, 0xFA, 0xF9, 0x01, 0x06, 0x06, 0x05, 0x0B, 0x0E, 0x0B, 0x01, 0xFA, 0xF9, 0xFE, 0x02, 0x0E, 0x19, 0x20, + 0x22, 0x1F, 0x17, 0x16, 0x18, 0x19, 0x18, 0x19, 0x18, 0x19, 0x18, 0x15, 0x10, 0x13, 0x18, 0x20, 0x21, 0x26, 0x20, 0x14, 0x08, 0x03, 0x01, 0x00, 0xF8, 0xEB, 0xD9, 0xCC, 0xC0, 0xBA, 0xB9, 0xB9, + 0xB9, 0xB9, 0xB6, 0xBE, 0xCB, 0xD5, 0xD6, 0xCD, 0xC6, 0xC4, 0xCB, 0xD4, 0xDD, 0xE2, 0xEA, 0xF5, 0x02, 0x08, 0x0E, 0x1C, 0x29, 0x32, 0x3B, 0x41, 0x46, 0x46, 0x3C, 0x30, 0x23, 0x1D, 0x1C, 0x1E, + 0x20, 0x21, 0x1F, 0x20, 0x1E, 0x19, 0x13, 0x0F, 0x13, 0x25, 0x38, 0x43, 0x49, 0x44, 0x32, 0x21, 0x13, 0x08, 0x06, 0x08, 0x05, 0x04, 0xFE, 0xF6, 0xEF, 0xE6, 0xE1, 0xE3, 0xEB, 0xF9, 0x03, 0x0C, + 0x0B, 0x01, 0xF2, 0xE8, 0xE4, 0xE0, 0xDF, 0xD5, 0xC8, 0xBE, 0xBA, 0xB9, 0xB9, 0xBA, 0xB9, 0xB6, 0xC7, 0xD8, 0xE9, 0xF2, 0xF4, 0xE9, 0xDE, 0xD9, 0xD9, 0xDD, 0xE3, 0xE9, 0xF3, 0xFD, 0x07, 0x0D, + 0x0E, 0x13, 0x16, 0x16, 0x15, 0x14, 0x13, 0x11, 0x10, 0x0E, 0x0F, 0x11, 0x16, 0x1C, 0x1A, 0x16, 0x0D, 0x05, 0xFE, 0xF3, 0xE7, 0xDD, 0xD5, 0xD9, 0xE4, 0xF5, 0xFE, 0x02, 0x04, 0x04, 0x04, 0x03, + 0x03, 0x01, 0x02, 0x06, 0x03, 0xFF, 0xFF, 0x04, 0x0E, 0x15, 0x19, 0x1C, 0x1E, 0x23, 0x26, 0x22, 0x16, 0x06, 0xF5, 0xE8, 0xDD, 0xD4, 0xCC, 0xC2, 0xBC, 0xBA, 0xBB, 0xBB, 0xBA, 0xB7, 0xBC, 0xC4, + 0xD0, 0xDA, 0xDF, 0xDD, 0xD8, 0xD2, 0xD1, 0xD1, 0xD2, 0xD7, 0xDB, 0xDE, 0xE2, 0xE7, 0xEF, 0xFA, 0x04, 0x0F, 0x18, 0x1F, 0x27, 0x31, 0x35, 0x37, 0x30, 0x29, 0x2A, 0x2E, 0x30, 0x2E, 0x23, 0x17, + 0x10, 0x0D, 0x0F, 0x0E, 0x08, 0x03, 0x05, 0x0A, 0x0D, 0x08, 0x01, 0xFA, 0xF1, 0xE8, 0xE6, 0xE8, 0xED, 0xEC, 0xE7, 0xE4, 0xE4, 0xE7, 0xEA, 0xED, 0xEB, 0xED, 0xF5, 0x00, 0x0D, 0x14, 0x16, 0x15, + 0x10, 0x0B, 0x07, 0x06, 0x07, 0x08, 0x04, 0x00, 0xFE, 0xFD, 0x00, 0x02, 0x03, 0x0A, 0x15, 0x1F, 0x25, 0x25, 0x1A, 0x0D, 0x05, 0x05, 0x06, 0x04, 0x00, 0xFD, 0xFB, 0xFD, 0xF8, 0xF4, 0xF5, 0xF4, + 0xF3, 0xFA, 0x07, 0x17, 0x23, 0x2C, 0x2E, 0x2C, 0x2E, 0x31, 0x31, 0x29, 0x1A, 0x0C, 0x02, 0xFD, 0xF6, 0xF2, 0xF2, 0xF4, 0xFA, 0x05, 0x13, 0x1A, 0x21, 0x22, 0x20, 0x1C, 0x1E, 0x1F, 0x19, 0x11, + 0x0D, 0x0E, 0x14, 0x1A, 0x1F, 0x26, 0x30, 0x3A, 0x42, 0x46, 0x47, 0x46, 0x40, 0x34, 0x26, 0x16, 0x0A, 0xFC, 0xED, 0xE4, 0xDD, 0xDE, 0xE0, 0xDE, 0xDA, 0xDD, 0xDE, 0xE0, 0xE7, 0xED, 0xF0, 0xED, + 0xE7, 0xDF, 0xDA, 0xD8, 0xD5, 0xD5, 0xD7, 0xDA, 0xE2, 0xEC, 0xF2, 0xF4, 0xF5, 0xFA, 0xFF, 0x03, 0x0A, 0x0E, 0x0E, 0x0A, 0x06, 0x04, 0x03, 0x05, 0x03, 0x00, 0xFA, 0xF6, 0xF8, 0xF6, 0xF3, 0xEF, + 0xF0, 0xF6, 0xFD, 0x04, 0x06, 0x04, 0xFF, 0xF8, 0xF4, 0xF5, 0xF9, 0xFA, 0xF9, 0xF4, 0xF3, 0xFA, 0xFC, 0xF9, 0xF5, 0xF4, 0xFA, 0x04, 0x0D, 0x0E, 0x0C, 0x08, 0x07, 0x05, 0x05, 0x08, 0x08, 0x06, + 0x03, 0xFD, 0xFE, 0x05, 0x07, 0x02, 0xFB, 0xF6, 0xF9, 0xFC, 0xFD, 0xFB, 0xFD, 0x00, 0x02, 0x02, 0x01, 0xFB, 0xF1, 0xE8, 0xE2, 0xE0, 0xE4, 0xE6, 0xDF, 0xD7, 0xD2, 0xD7, 0xE3, 0xF3, 0x00, 0x0B, + 0x15, 0x1F, 0x29, 0x2C, 0x27, 0x1C, 0x13, 0x0B, 0x04, 0x00, 0xFA, 0xED, 0xE2, 0xDE, 0xDD, 0xE3, 0xEF, 0xF9, 0xFE, 0x01, 0x02, 0x02, 0x02, 0x02, 0xFD, 0xF5, 0xF3, 0xF3, 0xF5, 0xFB, 0xFF, 0x00, + 0x03, 0x0B, 0x18, 0x27, 0x31, 0x2E, 0x20, 0x0F, 0x03, 0xFA, 0xF3, 0xED, 0xE4, 0xDB, 0xD2, 0xCE, 0xD1, 0xD8, 0xDE, 0xDF, 0xDE, 0xDD, 0xDB, 0xDB, 0xD9, 0xD5, 0xD0, 0xCF, 0xD5, 0xD9, 0xDB, 0xD9, + 0xD8, 0xD8, 0xDB, 0xE2, 0xEB, 0xF2, 0xF6, 0xF8, 0xF9, 0xFD, 0x03, 0x07, 0x0A, 0x0D, 0x13, 0x19, 0x1F, 0x23, 0x20, 0x1A, 0x17, 0x13, 0x11, 0x13, 0x15, 0x13, 0x0E, 0x0A, 0x0A, 0x0B, 0x10, 0x16, + 0x17, 0x14, 0x11, 0x10, 0x10, 0x0E, 0x0A, 0x06, 0x04, 0x02, 0xFF, 0xF8, 0xF0, 0xE7, 0xE1, 0xDE, 0xE3, 0xEF, 0xF8, 0xFC, 0xFC, 0xFA, 0xFA, 0xFD, 0xFF, 0xFE, 0xFE, 0x00, 0x03, 0x07, 0x0C, 0x0D, + 0x0F, 0x13, 0x15, 0x15, 0x13, 0x0D, 0x07, 0x03, 0xFE, 0x00, 0x0A, 0x16, 0x18, 0x11, 0x0C, 0x08, 0x06, 0x03, 0xFF, 0xF8, 0xF3, 0xF4, 0xF6, 0xFB, 0x00, 0x06, 0x10, 0x19, 0x26, 0x34, 0x3C, 0x3C, + 0x2E, 0x1D, 0x0E, 0x06, 0x00, 0xF9, 0xEF, 0xE9, 0xEC, 0xF3, 0xFA, 0x00, 0x05, 0x0D, 0x16, 0x1E, 0x25, 0x2A, 0x29, 0x22, 0x1A, 0x1A, 0x1F, 0x25, 0x27, 0x25, 0x22, 0x26, 0x30, 0x3A, 0x40, 0x41, + 0x3D, 0x34, 0x27, 0x18, 0x0D, 0x06, 0x03, 0xFE, 0xFA, 0xF9, 0xF9, 0xF8, 0xF5, 0xF2, 0xF2, 0xF9, 0xFE, 0xFD, 0xF4, 0xE4, 0xD7, 0xCD, 0xC7, 0xC6, 0xCB, 0xD0, 0xD6, 0xD8, 0xDB, 0xDF, 0xE1, 0xE1, + 0xDE, 0xD9, 0xDA, 0xE2, 0xE8, 0xEB, 0xEA, 0xE8, 0xEC, 0xF5, 0xFE, 0x05, 0x0E, 0x15, 0x16, 0x10, 0x0B, 0x08, 0x08, 0x04, 0xFD, 0xF8, 0xF8, 0xFC, 0xFE, 0xFD, 0xF9, 0xF3, 0xF2, 0xF4, 0xF8, 0xFD, + 0x04, 0x06, 0x08, 0x08, 0x0A, 0x0C, 0x0B, 0x06, 0x00, 0xFD, 0xFE, 0x04, 0x08, 0x08, 0x06, 0x03, 0x00, 0xFE, 0xFC, 0xFD, 0xFF, 0x02, 0x06, 0x0C, 0x15, 0x1C, 0x1F, 0x21, 0x23, 0x26, 0x25, 0x21, + 0x19, 0x0C, 0xFC, 0xED, 0xE8, 0xE8, 0xEA, 0xED, 0xEC, 0xEC, 0xEF, 0xF2, 0xF3, 0xF0, 0xEB, 0xE4, 0xE2, 0xE2, 0xE4, 0xE8, 0xEA, 0xED, 0xF3, 0xFE, 0x0B, 0x14, 0x16, 0x14, 0x0D, 0x04, 0xFC, 0xF6, + 0xF1, 0xED, 0xEB, 0xEA, 0xEB, 0xEC, 0xEF, 0xED, 0xEA, 0xE9, 0xED, 0xF3, 0xF8, 0xF6, 0xF4, 0xF3, 0xF2, 0xF0, 0xED, 0xEC, 0xEC, 0xEC, 0xEC, 0xF0, 0xF8, 0xFE, 0x03, 0x01, 0xF8, 0xF2, 0xF0, 0xEF, + 0xEC, 0xEA, 0xEB, 0xEF, 0xF5, 0xFD, 0x02, 0x06, 0x0B, 0x11, 0x18, 0x1A, 0x16, 0x0C, 0x01, 0xF1, 0xDF, 0xD0, 0xC9, 0xC8, 0xCD, 0xCF, 0xD1, 0xD6, 0xDA, 0xE1, 0xE4, 0xE8, 0xEF, 0xF8, 0xFE, 0x00, + 0xFF, 0xFE, 0xFF, 0x00, 0x02, 0x05, 0x0B, 0x13, 0x19, 0x1D, 0x1F, 0x1F, 0x1E, 0x1D, 0x18, 0x13, 0x0E, 0x0E, 0x10, 0x11, 0x0F, 0x0F, 0x0C, 0x07, 0x05, 0x02, 0xFF, 0xFE, 0xFE, 0xFF, 0xFE, 0xFC, + 0xF9, 0xF4, 0xF2, 0xF2, 0xF0, 0xEF, 0xEC, 0xEC, 0xEC, 0xED, 0xED, 0xF0, 0xF5, 0xFB, 0x00, 0x06, 0x0F, 0x1A, 0x22, 0x28, 0x2C, 0x31, 0x37, 0x3B, 0x3C, 0x3A, 0x37, 0x32, 0x2C, 0x22, 0x17, 0x11, + 0x11, 0x14, 0x16, 0x17, 0x16, 0x15, 0x15, 0x15, 0x13, 0x0F, 0x0C, 0x08, 0x06, 0x04, 0x02, 0x03, 0x07, 0x0D, 0x15, 0x1F, 0x25, 0x28, 0x2B, 0x29, 0x27, 0x23, 0x1C, 0x14, 0x0C, 0x05, 0x01, 0xFF, + 0xFF, 0x01, 0x02, 0x03, 0x04, 0x06, 0x08, 0x0A, 0x06, 0x03, 0x02, 0x00, 0xFD, 0xFA, 0xF6, 0xF8, 0xF8, 0xF8, 0xFB, 0xFE, 0xFE, 0xFB, 0xF3, 0xEB, 0xE7, 0xE8, 0xEC, 0xF1, 0xF5, 0xFB, 0xFF, 0x05, + 0x0B, 0x0D, 0x0E, 0x10, 0x15, 0x19, 0x1A, 0x16, 0x0E, 0x04, 0xFA, 0xEF, 0xE4, 0xDB, 0xD6, 0xD1, 0xD2, 0xD8, 0xDE, 0xE1, 0xE2, 0xE0, 0xDF, 0xDF, 0xDF, 0xDF, 0xDD, 0xD7, 0xD2, 0xCF, 0xCF, 0xD1, + 0xD6, 0xD9, 0xDD, 0xE1, 0xE7, 0xED, 0xF6, 0xFC, 0xFE, 0xFE, 0xFD, 0xFC, 0xFD, 0xFE, 0x00, 0x02, 0x06, 0x0A, 0x0D, 0x10, 0x13, 0x11, 0x0E, 0x0C, 0x0D, 0x0D, 0x0D, 0x0D, 0x0B, 0x08, 0x07, 0x07, + 0x06, 0x02, 0xFC, 0xF6, 0xF1, 0xED, 0xEF, 0xF5, 0xFB, 0xFE, 0x01, 0x05, 0x0C, 0x16, 0x1F, 0x26, 0x2B, 0x30, 0x32, 0x32, 0x2C, 0x25, 0x1C, 0x13, 0x0B, 0x03, 0xFF, 0xFD, 0xFD, 0xFD, 0xFE, 0xFF, + 0xFF, 0xFF, 0xFE, 0xFB, 0xF8, 0xF4, 0xF2, 0xEC, 0xE6, 0xE0, 0xDE, 0xDE, 0xDE, 0xE0, 0xE3, 0xE9, 0xEF, 0xF3, 0xF8, 0xF9, 0xF8, 0xF6, 0xF8, 0xF9, 0xFA, 0xFB, 0xFD, 0xFF, 0x01, 0x02, 0x01, 0x00, + 0x00, 0x01, 0x02, 0x05, 0x05, 0x03, 0x01, 0x00, 0xFE, 0xFF, 0x01, 0x02, 0x05, 0x08, 0x0B, 0x08, 0x04, 0xFD, 0xF1, 0xE6, 0xE0, 0xDF, 0xE2, 0xE6, 0xE9, 0xED, 0xF1, 0xF4, 0xFA, 0xFF, 0x04, 0x07, + 0x08, 0x06, 0x03, 0x00, 0xFB, 0xF3, 0xEB, 0xE2, 0xDA, 0xD7, 0xDB, 0xE1, 0xE9, 0xF2, 0xF9, 0xFC, 0xFC, 0xF8, 0xF1, 0xEB, 0xEB, 0xED, 0xEF, 0xF0, 0xF1, 0xF1, 0xF0, 0xEC, 0xE9, 0xE9, 0xEC, 0xF2, + 0xFA, 0x00, 0x05, 0x0A, 0x0D, 0x0E, 0x0D, 0x0D, 0x0F, 0x10, 0x10, 0x0F, 0x0F, 0x0E, 0x0B, 0x06, 0x03, 0x05, 0x08, 0x0B, 0x0B, 0x0B, 0x0B, 0x0B, 0x0B, 0x0C, 0x0C, 0x0B, 0x07, 0x03, 0x00, 0xFF, + 0xFE, 0xFE, 0x00, 0x03, 0x06, 0x0B, 0x10, 0x18, 0x1F, 0x26, 0x2E, 0x34, 0x39, 0x3A, 0x3A, 0x3A, 0x37, 0x31, 0x2C, 0x2A, 0x29, 0x26, 0x21, 0x1D, 0x1C, 0x19, 0x18, 0x16, 0x15, 0x13, 0x10, 0x0C, + 0x07, 0x04, 0x01, 0xFD, 0xF9, 0xF9, 0xFA, 0xFA, 0xF8, 0xF5, 0xF4, 0xF4, 0xF4, 0xF4, 0xF4, 0xF2, 0xED, 0xEB, 0xEA, 0xED, 0xF1, 0xF2, 0xF2, 0xF2, 0xF0, 0xEC, 0xEA, 0xE8, 0xE7, 0xE4, 0xE2, 0xE3, + 0xE6, 0xE9, 0xEB, 0xEB, 0xEC, 0xEF, 0xF4, 0xFC, 0x05, 0x0D, 0x10, 0x0E, 0x0C, 0x08, 0x04, 0x00, 0xFF, 0xFE, 0xFE, 0xFD, 0xFC, 0xFB, 0xFB, 0xFC, 0xFE, 0x00, 0x04, 0x06, 0x05, 0x02, 0xFD, 0xF8, + 0xF2, 0xEC, 0xE9, 0xE7, 0xE7, 0xE9, 0xEF, 0xF3, 0xF9, 0xFD, 0x00, 0x00, 0xFF, 0xFB, 0xF8, 0xF6, 0xF6, 0xF8, 0xF9, 0xFC, 0xFD, 0xFE, 0xFD, 0xFC, 0xFB, 0xFB, 0xFA, 0xFA, 0xFD, 0xFF, 0xFF, 0xFF, + 0xFF, 0x00, 0x03, 0x05, 0x05, 0x06, 0x07, 0x08, 0x0A, 0x0A, 0x08, 0x07, 0x05, 0x04, 0x04, 0x07, 0x0D, 0x11, 0x14, 0x17, 0x19, 0x1C, 0x1E, 0x1D, 0x19, 0x17, 0x15, 0x13, 0x11, 0x13, 0x17, 0x1A, + 0x1C, 0x1C, 0x1C, 0x1D, 0x1E, 0x1E, 0x20, 0x25, 0x29, 0x2C, 0x2B, 0x26, 0x1F, 0x19, 0x13, 0x0C, 0x08, 0x08, 0x07, 0x06, 0x03, 0xFF, 0xFC, 0xFC, 0xFC, 0xFB, 0xF6, 0xF0, 0xEB, 0xE7, 0xE3, 0xE3, + 0xE6, 0xE8, 0xE8, 0xE7, 0xE9, 0xEC, 0xEF, 0xEF, 0xEB, 0xE7, 0xE4, 0xE2, 0xE1, 0xE2, 0xE4, 0xE9, 0xED, 0xF2, 0xF4, 0xF4, 0xF3, 0xF0, 0xEB, 0xE8, 0xE8, 0xE9, 0xEA, 0xEB, 0xEA, 0xE8, 0xE7, 0xE8, + 0xEB, 0xEF, 0xF2, 0xF5, 0xF8, 0xF6, 0xF4, 0xF1, 0xEB, 0xE4, 0xDE, 0xDE, 0xE0, 0xE3, 0xE7, 0xE8, 0xE6, 0xE3, 0xE2, 0xE2, 0xE2, 0xE3, 0xE6, 0xE9, 0xEA, 0xEA, 0xE9, 0xE6, 0xE0, 0xDA, 0xD7, 0xD8, + 0xDD, 0xE2, 0xE8, 0xEC, 0xF0, 0xF3, 0xF8, 0xFA, 0xF9, 0xF5, 0xF3, 0xF2, 0xF3, 0xF8, 0xFC, 0xFF, 0xFF, 0xFF, 0xFE, 0xFF, 0x00, 0x03, 0x06, 0x0B, 0x0F, 0x13, 0x16, 0x18, 0x19, 0x1A, 0x1C, 0x1E, + 0x21, 0x23, 0x25, 0x23, 0x21, 0x20, 0x20, 0x20, 0x1F, 0x1E, 0x1E, 0x1F, 0x22, 0x27, 0x29, 0x28, 0x25, 0x20, 0x1C, 0x18, 0x15, 0x14, 0x11, 0x0F, 0x0E, 0x0E, 0x0E, 0x0F, 0x11, 0x15, 0x16, 0x16, + 0x16, 0x17, 0x19, 0x1D, 0x20, 0x22, 0x22, 0x23, 0x25, 0x26, 0x23, 0x20, 0x1D, 0x1D, 0x1F, 0x21, 0x21, 0x1E, 0x18, 0x14, 0x10, 0x0C, 0x06, 0x01, 0xFB, 0xF6, 0xF4, 0xF3, 0xF4, 0xF5, 0xF6, 0xF9, + 0xFA, 0xF9, 0xF9, 0xF9, 0xF6, 0xF3, 0xEF, 0xEB, 0xE9, 0xEA, 0xEC, 0xEF, 0xF2, 0xF3, 0xF3, 0xF2, 0xF1, 0xED, 0xEA, 0xE8, 0xE8, 0xE8, 0xE8, 0xE7, 0xE3, 0xDF, 0xDD, 0xDF, 0xE3, 0xEA, 0xEF, 0xF3, + 0xF5, 0xF6, 0xF5, 0xF2, 0xED, 0xEA, 0xEA, 0xEC, 0xEF, 0xF2, 0xF5, 0xF8, 0xF9, 0xFA, 0xFA, 0xF8, 0xF8, 0xFA, 0xFD, 0x01, 0x06, 0x0B, 0x0B, 0x08, 0x04, 0x00, 0xFE, 0xFF, 0x02, 0x07, 0x0A, 0x08, + 0x05, 0x02, 0xFF, 0xFC, 0xFB, 0xFA, 0xFB, 0xFC, 0xFE, 0xFF, 0xFF, 0xFE, 0xFD, 0xFB, 0xFA, 0xF9, 0xF9, 0xFB, 0xFD, 0xFF, 0x00, 0x00, 0x00, 0x01, 0x04, 0x0A, 0x0E, 0x11, 0x13, 0x13, 0x10, 0x0D, + 0x0A, 0x07, 0x07, 0x08, 0x0C, 0x0F, 0x11, 0x14, 0x15, 0x15, 0x15, 0x14, 0x14, 0x14, 0x13, 0x11, 0x0E, 0x0A, 0x05, 0x03, 0x02, 0x03, 0x05, 0x0A, 0x0E, 0x10, 0x11, 0x10, 0x0E, 0x0A, 0x05, 0x02, + 0x02, 0x03, 0x04, 0x05, 0x05, 0x06, 0x08, 0x0B, 0x0C, 0x0C, 0x0D, 0x0F, 0x10, 0x0D, 0x06, 0xFF, 0xF6, 0xF1, 0xEC, 0xEA, 0xE9, 0xE8, 0xE8, 0xE8, 0xE8, 0xEA, 0xED, 0xF1, 0xF4, 0xF6, 0xF8, 0xF8, + 0xF8, 0xF8, 0xF8, 0xF5, 0xF2, 0xEF, 0xED, 0xF0, 0xF3, 0xF5, 0xF9, 0xFB, 0xFC, 0xFC, 0xFC, 0xFC, 0xFC, 0xFC, 0xFC, 0xFD, 0xFE, 0xFE, 0xFE, 0xFC, 0xFA, 0xFA, 0xFB, 0xFD, 0xFE, 0xFE, 0xFB, 0xF6, + 0xF1, 0xEC, 0xE9, 0xE7, 0xE4, 0xE2, 0xE0, 0xDD, 0xD9, 0xD8, 0xD6, 0xD4, 0xD4, 0xD5, 0xD8, 0xDE, 0xE3, 0xE7, 0xE8, 0xE8, 0xE9, 0xEB, 0xEF, 0xF2, 0xF4, 0xF8, 0xFB, 0xFD, 0xFE, 0xFC, 0xF9, 0xF5, + 0xF3, 0xF2, 0xF4, 0xF8, 0xFA, 0xFC, 0xFD, 0xFE, 0xFF, 0x01, 0x02, 0x02, 0x02, 0x02, 0x03, 0x06, 0x08, 0x08, 0x08, 0x07, 0x07, 0x08, 0x0B, 0x0D, 0x10, 0x11, 0x11, 0x11, 0x11, 0x13, 0x14, 0x15, + 0x17, 0x19, 0x1E, 0x25, 0x28, 0x29, 0x29, 0x28, 0x27, 0x27, 0x27, 0x27, 0x26, 0x22, 0x1D, 0x17, 0x13, 0x10, 0x0F, 0x0F, 0x0E, 0x0C, 0x0B, 0x08, 0x06, 0x03, 0x01, 0x00, 0x00, 0x02, 0x06, 0x0B, + 0x0F, 0x11, 0x14, 0x16, 0x19, 0x1A, 0x1A, 0x19, 0x17, 0x15, 0x13, 0x0F, 0x0C, 0x08, 0x04, 0x00, 0xFE, 0xFE, 0xFF, 0x00, 0x00, 0x00, 0x01, 0x02, 0x04, 0x03, 0x01, 0xFF, 0xFE, 0xFE, 0xFD, 0xFB, + 0xF8, 0xF4, 0xF2, 0xF1, 0xF2, 0xF3, 0xF3, 0xF3, 0xF2, 0xF0, 0xEF, 0xEF, 0xED, 0xEC, 0xEB, 0xEC, 0xEF, 0xF0, 0xF1, 0xF2, 0xF3, 0xF3, 0xF3, 0xF3, 0xF4, 0xF6, 0xF8, 0xF9, 0xF8, 0xF6, 0xF8, 0xF9, + 0xF9, 0xF9, 0xF9, 0xF9, 0xF9, 0xFA, 0xFB, 0xFB, 0xFB, 0xFD, 0x00, 0x05, 0x0A, 0x0D, 0x0F, 0x10, 0x10, 0x10, 0x10, 0x0F, 0x0D, 0x0B, 0x08, 0x06, 0x04, 0x01, 0x00, 0xFF, 0xFE, 0xFD, 0xFC, 0xFC, + 0xFD, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0x00, 0x01, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFE, 0xFD, 0xFB, 0xFA, 0xFA, 0xFA, 0xFA, 0xFA, 0xF8, 0xF5, 0xF4, 0xF4, 0xF4, 0xF4, 0xF5, 0xF9, 0xFC, 0xFF, + 0x00, 0x01, 0x03, 0x04, 0x05, 0x05, 0x04, 0x03, 0x03, 0x03, 0x01, 0x00, 0x00, 0x01, 0x02, 0x03, 0x03, 0x03, 0x02, 0x01, 0x00, 0xFF, 0xFF, 0xFE, 0xFE, 0xFF, 0x00, 0x02, 0x04, 0x05, 0x06, 0x07, + 0x07, 0x07, 0x06, 0x04, 0x02, 0x01, 0xFF, 0xFC, 0xFA, 0xF9, 0xF8, 0xF6, 0xF6, 0xF6, 0xF6, 0xF6, 0xF6, 0xF8, 0xFA, 0xFC, 0xFE, 0xFF, 0x00, 0x01, 0x01, 0x01, 0x00, 0xFF, 0xFE, 0xFD, 0xFC, 0xFC, + 0xFC, 0xFB, 0xFB, 0xFA, 0xF6, 0xF4, 0xF2, 0xF1, 0xF1, 0xF2, 0xF3, 0xF4, 0xF5, 0xF6, 0xF5, 0xF4, 0xF4, 0xF4, 0xF5, 0xF6, 0xF6, 0xF6, 0xF6, 0xF5, 0xF5, 0xF4, 0xF4, 0xF5, 0xF8, 0xF9, 0xFA, 0xFB, + 0xFB, 0xFA, 0xF9, 0xF9, 0xFA, 0xFB, 0xFC, 0xFD, 0xFD, 0xFE, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x03, 0x03, 0x02, 0x01, 0x00, 0xFF, 0xFE, 0xFD, 0xFE, 0xFF, 0x00, 0x01, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x01, 0x03, 0x05, 0x07, 0x0A, 0x0B, 0x0C, 0x0C, 0x0C, 0x0B, 0x0C, 0x0D, 0x0E, 0x0F, 0x10, 0x13, 0x15, 0x15, 0x14, 0x13, 0x11, 0x11, 0x13, 0x15, 0x16, 0x17, 0x16, 0x14, 0x10, + 0x0D, 0x0B, 0x07, 0x04, 0x02, 0x01, 0xFF, 0xFE, 0xFD, 0xFE, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFE, 0xFD, 0xFC, 0xFB, 0xFA, 0xFB, 0xFC, 0xFD, 0xFE, 0x00, 0x03, 0x06, 0x08, 0x0A, 0x08, 0x07, 0x07, + 0x0A, 0x0B, 0x0A, 0x07, 0x04, 0x02, 0x01, 0x01, 0x01, 0x00, 0xFF, 0xFE, 0xFD, 0xFB, 0xF9, 0xF6, 0xF5, 0xF5, 0xF4, 0xF3, 0xF2, 0xF2, 0xF2, 0xF2, 0xF3, 0xF3, 0xF4, 0xF5, 0xF5, 0xF4, 0xF2, 0xF1, + 0xF1, 0xF2, 0xF3, 0xF3, 0xF3, 0xF3, 0xF3, 0xF4, 0xF5, 0xF5, 0xF5, 0xF5, 0xF6, 0xF8, 0xFA, 0xFB, 0xFB, 0xF9, 0xF5, 0xF4, 0xF5, 0xF6, 0xF8, 0xF9, 0xFC, 0xFF, 0x02, 0x03, 0x03, 0x02, 0x02, 0x02, + 0x03, 0x06, 0x0B, 0x0F, 0x14, 0x17, 0x1A, 0x1D, 0x1F, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x1F, 0x1E, 0x19, 0x14, 0x0D, 0x07, 0x04, 0x03, 0x03, 0x02, 0x01, 0x00, 0xFF, 0xFD, 0xFB, 0xF9, 0xF9, + 0xFA, 0xFA, 0xFA, 0xFA, 0xFB, 0xFB, 0xFB, 0xFC, 0xFE, 0xFF, 0x00, 0x00, 0x01, 0x02, 0x04, 0x05, 0x05, 0x05, 0x05, 0x05, 0x06, 0x07, 0x0A, 0x0B, 0x0C, 0x0C, 0x0B, 0x08, 0x07, 0x07, 0x06, 0x04, + 0x02, 0x01, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFE, 0xFC, 0xFA, 0xF8, 0xF6, 0xF5, 0xF5, 0xF6, 0xF8, 0xF9, 0xFB, 0xFC, 0xFD, 0xFE, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x01, 0x02, 0x01, 0x00, + 0xFF, 0xFE, 0xFD, 0xFB, 0xFA, 0xF9, 0xF8, 0xF5, 0xF5, 0xF6, 0xF8, 0xF8, 0xF8, 0xF6, 0xF4, 0xF2, 0xEF, 0xED, 0xEC, 0xED, 0xF0, 0xF2, 0xF5, 0xF8, 0xF8, 0xF5, 0xF3, 0xF1, 0xF0, 0xEF, 0xEF, 0xEF, + 0xF0, 0xF1, 0xF2, 0xF2, 0xF2, 0xF2, 0xF2, 0xF2, 0xF2, 0xF2, 0xF2, 0xF1, 0xEF, 0xEC, 0xEB, 0xEA, 0xE9, 0xE9, 0xEA, 0xEC, 0xF0, 0xF3, 0xF3, 0xF2, 0xF1, 0xF0, 0xED, 0xEC, 0xEC, 0xEF, 0xF1, 0xF3, + 0xF5, 0xF8, 0xFA, 0xFC, 0xFE, 0x00, 0x02, 0x05, 0x08, 0x0C, 0x0F, 0x10, 0x11, 0x10, 0x0F, 0x0F, 0x0F, 0x0F, 0x0E, 0x0E, 0x0E, 0x0E, 0x0D, 0x0C, 0x0B, 0x0B, 0x0B, 0x0A, 0x07, 0x04, 0x02, 0x01, + 0x00, 0x01, 0x03, 0x05, 0x07, 0x0A, 0x0C, 0x0D, 0x0E, 0x0F, 0x0F, 0x10, 0x11, 0x11, 0x13, 0x15, 0x17, 0x18, 0x19, 0x1A, 0x1A, 0x1A, 0x19, 0x19, 0x18, 0x17, 0x16, 0x14, 0x11, 0x10, 0x0F, 0x0D, + 0x0B, 0x08, 0x07, 0x05, 0x03, 0x01, 0x00, 0xFF, 0xFE, 0xFC, 0xFA, 0xF9, 0xF9, 0xFA, 0xFB, 0xFC, 0xFC, 0xFD, 0xFE, 0xFE, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x03, 0x03, 0x02, + 0x01, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFD, 0xFA, 0xF6, 0xF3, 0xF0, 0xED, 0xED, 0xEF, 0xF1, 0xF3, 0xF5, 0xF5, 0xF4, 0xF2, 0xF0, 0xED, 0xEC, 0xEC, 0xED, 0xEF, 0xF0, 0xF1, 0xF3, + 0xF6, 0xFA, 0xFB, 0xFB, 0xFB, 0xFA, 0xF8, 0xF6, 0xF6, 0xF8, 0xF9, 0xFA, 0xFB, 0xFC, 0xFD, 0xFE, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x02, 0x02, 0x03, 0x06, 0x0B, 0x0E, 0x10, 0x11, 0x13, + 0x14, 0x15, 0x15, 0x15, 0x15, 0x15, 0x14, 0x14, 0x14, 0x15, 0x14, 0x11, 0x0F, 0x0D, 0x0D, 0x0C, 0x0B, 0x08, 0x06, 0x05, 0x05, 0x05, 0x04, 0x03, 0x02, 0x01, 0x00, 0xFF, 0xFE, 0xFD, 0xFE, 0xFF, + 0xFF, 0x00, 0x02, 0x03, 0x03, 0x03, 0x03, 0x02, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0xFD, 0xFB, 0xFA, 0xF9, 0xF9, 0xFA, 0xFB, 0xFC, 0xFD, 0xFD, 0xFD, 0xFD, 0xFC, 0xFB, + 0xFB, 0xFB, 0xFB, 0xFB, 0xFA, 0xF8, 0xF6, 0xF6, 0xF8, 0xF9, 0xFA, 0xFC, 0xFD, 0xFE, 0xFE, 0xFD, 0xFC, 0xFB, 0xFA, 0xF9, 0xF9, 0xF9, 0xFA, 0xFB, 0xFC, 0xFC, 0xFB, 0xFA, 0xFA, 0xFA, 0xFA, 0xFA, + 0xFA, 0xFB, 0xFC, 0xFC, 0xFB, 0xF9, 0xF6, 0xF4, 0xF2, 0xF0, 0xEF, 0xED, 0xED, 0xEF, 0xEF, 0xF0, 0xF1, 0xF2, 0xF2, 0xF1, 0xF0, 0xF0, 0xF1, 0xF1, 0xF2, 0xF2, 0xF4, 0xF6, 0xF9, 0xFB, 0xFC, 0xFC, + 0xFB, 0xF9, 0xF6, 0xF4, 0xF3, 0xF4, 0xF5, 0xF8, 0xFA, 0xFC, 0xFD, 0xFE, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x07, 0x0A, 0x0B, 0x0D, 0x0E, 0x0F, + 0x10, 0x0F, 0x0E, 0x0E, 0x0E, 0x0E, 0x0D, 0x0C, 0x0B, 0x0A, 0x08, 0x07, 0x06, 0x05, 0x05, 0x05, 0x05, 0x06, 0x07, 0x07, 0x06, 0x05, 0x04, 0x03, 0x02, 0x01, 0x00, 0x00, 0x01, 0x02, 0x03, 0x04, + 0x05, 0x05, 0x05, 0x05, 0x06, 0x07, 0x07, 0x08, 0x0A, 0x0C, 0x0E, 0x0F, 0x0F, 0x0F, 0x0E, 0x0D, 0x0B, 0x08, 0x06, 0x05, 0x04, 0x03, 0x03, 0x04, 0x04, 0x03, 0x02, 0x02, 0x01, 0x00, 0xFF, 0xFD, + 0xFB, 0xFA, 0xFA, 0xFA, 0xFA, 0xFA, 0xF9, 0xF9, 0xFA, 0xFB, 0xFC, 0xFD, 0xFE, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0xFF, 0xFE, 0xFD, 0xFC, 0xFB, 0xFC, 0xFD, 0xFE, 0xFE, + 0xFD, 0xFC, 0xFC, 0xFB, 0xF9, 0xF8, 0xF6, 0xF5, 0xF5, 0xF5, 0xF5, 0xF5, 0xF6, 0xF6, 0xF8, 0xF8, 0xF9, 0xF9, 0xFA, 0xFA, 0xFB, 0xFD, 0xFE, 0xFF, 0x00, 0x01, 0x01, 0x00, 0xFF, 0xFD, 0xFB, 0xFA, + 0xF8, 0xF6, 0xF5, 0xF6, 0xF8, 0xFA, 0xFB, 0xFC, 0xFD, 0xFD, 0xFD, 0xFE, 0xFF, 0xFF, 0x00, 0x00, 0x01, 0x03, 0x05, 0x05, 0x05, 0x06, 0x08, 0x0B, 0x0D, 0x0F, 0x10, 0x11, 0x13, 0x13, 0x13, 0x13, + 0x13, 0x13, 0x13, 0x11, 0x10, 0x0F, 0x0D, 0x0B, 0x08, 0x06, 0x04, 0x03, 0x03, 0x02, 0x01, 0x00, 0xFF, 0xFD, 0xFB, 0xFA, 0xF9, 0xF8, 0xF6, 0xF6, 0xF6, 0xF6, 0xF6, 0xF6, 0xF6, 0xF8, 0xF9, 0xFA, + 0xFB, 0xFC, 0xFE, 0xFF, 0x01, 0x03, 0x05, 0x06, 0x07, 0x07, 0x06, 0x05, 0x04, 0x03, 0x01, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFE, 0xFD, 0xFC, 0xFB, 0xFA, 0xF9, 0xF8, + 0xF8, 0xF8, 0xF8, 0xF8, 0xF8, 0xF9, 0xFA, 0xFB, 0xFC, 0xFD, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFD, 0xFB, 0xFA, 0xF9, 0xF8, 0xF8, 0xF6, 0xF6, 0xF6, 0xF8, 0xF8, 0xF8, 0xF8, 0xF8, 0xF8, 0xF6, 0xF6, + 0xF5, 0xF5, 0xF5, 0xF4, 0xF4, 0xF4, 0xF4, 0xF4, 0xF4, 0xF4, 0xF5, 0xF5, 0xF6, 0xF8, 0xF9, 0xFB, 0xFD, 0xFE, 0xFF, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, + 0x01, 0x02, 0x03, 0x04, 0x04, 0x04, 0x04, 0x03, 0x03, 0x04, 0x05, 0x06, 0x06, 0x06, 0x05, 0x05, 0x05, 0x06, 0x06, 0x07, 0x08, 0x08, 0x0A, 0x0B, 0x0B, 0x0B, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0B, + 0x0A, 0x07, 0x05, 0x04, 0x03, 0x02, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFE, 0xFE, 0xFD, 0xFD, 0xFD, 0xFD, 0xFE, 0xFF, 0x01, 0x03, 0x05, + 0x07, 0x08, 0x0A, 0x0B, 0x0B, 0x0A, 0x08, 0x07, 0x05, 0x04, 0x03, 0x02, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0xFF, 0xFE, 0xFD, 0xFC, 0xFB, 0xFA, 0xF9, 0xF8, 0xF6, 0xF6, 0xF8, + 0xF9, 0xFA, 0xFB, 0xFC, 0xFD, 0xFF, 0x00, 0x01, 0x02, 0x03, 0x03, 0x03, 0x03, 0x02, 0x01, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFE, 0xFE, 0xFD, 0xFC, 0xFB, 0xFA, 0xF9, 0xF8, 0xF8, 0xF8, + 0xF8, 0xF8, 0xF6, 0xF6, 0xF6, 0xF6, 0xF8, 0xF9, 0xFA, 0xFA, 0xFB, 0xFC, 0xFD, 0xFE, 0xFF, 0x00, 0x01, 0x01, 0x01, 0x01, 0x00, 0xFF, 0xFE, 0xFC, 0xFB, 0xFB, 0xFC, 0xFD, 0xFE, 0xFF, 0x00, 0x01, + 0x01, 0x01, 0x01, 0x01, 0x01, 0x02, 0x03, 0x04, 0x05, 0x05, 0x05, 0x05, 0x06, 0x07, 0x07, 0x08, 0x08, 0x0A, 0x0B, 0x0B, 0x0B, 0x0C, 0x0D, 0x0D, 0x0D, 0x0D, 0x0D, 0x0C, 0x0B, 0x0A, 0x08, 0x07, + 0x06, 0x05, 0x05, 0x04, 0x04, 0x03, 0x02, 0x01, 0x00, 0xFF, 0xFE, 0xFD, 0xFC, 0xFB, 0xFA, 0xF9, 0xF9, 0xF8, 0xF6, 0xF6, 0xF6, 0xF6, 0xF6, 0xF6, 0xF6, 0xF8, 0xFA, 0xFB, 0xFC, 0xFD, 0xFE, 0xFE, + 0xFE, 0xFE, 0xFE, 0xFE, 0xFD, 0xFC, 0xFC, 0xFC, 0xFC, 0xFC, 0xFC, 0xFC, 0xFC, 0xFC, 0xFC, 0xFB, 0xFB, 0xFB, 0xFB, 0xFA, 0xFA, 0xFA, 0xFB, 0xFC, 0xFD, 0xFD, 0xFE, 0xFF, 0xFF, 0xFF, 0x00, 0x00, + 0x00, 0x01, 0x01, 0x02, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x02, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFE, 0xFD, 0xFC, 0xFC, 0xFB, 0xFB, 0xFB, 0xFB, 0xFB, 0xFB, 0xFB, 0xFB, 0xFB, + 0xFB, 0xFC, 0xFD, 0xFE, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x01, 0x0C, 0x68, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1C, 0x00, 0x00, 0x00, 0x0C, + 0x00, 0x32, 0x00, 0x3C, 0x00, 0x46, 0x00, 0x50, 0x00, 0x5A, 0x00, 0x64, 0x00, 0x6E, 0x00, 0x78, 0x00, 0x82, 0x00, 0x8C, 0x00, 0x32, 0x00, 0x3C, 0x00, 0x46, 0x00, 0x50, 0x00, 0x5A, 0x00, 0x64, + 0x00, 0x6E, 0x00, 0x78, 0x00, 0x82, 0x00, 0x8C, 0x00, 0x32, 0x00, 0x3C, 0x00, 0x46, 0x00, 0x50, 0x00, 0x5A, 0x00, 0x64, 0x00, 0x6E, 0x00, 0x78, 0x00, 0x82, 0x00, 0x8C, 0x00, 0x32, 0x00, 0x3C, + 0x00, 0x46, 0x00, 0x50, 0x00, 0x5A, 0x00, 0x64, 0x00, 0x6E, 0x00, 0x78, 0x00, 0x82, 0x00, 0x8C, 0x00, 0x32, 0x00, 0x3C, 0x00, 0x46, 0x00, 0x50, 0x00, 0x5A, 0x00, 0x64, 0x00, 0x6E, 0x00, 0x78, + 0x00, 0x82, 0x00, 0x8C, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF1, 0xB8, 0x00, 0x00, 0xF1, 0xB8, 0x50, 0x00, 0xF1, 0xB8, 0xA0, 0x00, 0xF1, 0xB8, 0xF0, 0x00, 0xF1, 0xB9, 0x40, 0x00, 0xF1, 0xB9, 0x90, + 0x00, 0xF1, 0xB9, 0xE0, 0x00, 0xF1, 0xBA, 0x30, 0x00, 0xA0, 0x00, 0x00, 0x00, 0x18, 0x00, 0xF1, 0xD4, 0x00, 0x00, 0xF1, 0xBE, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x80, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0xBD, 0x00, 0x02, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x03, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00, 0x00, 0x18, 0x00, 0xF1, + 0xD4, 0x00, 0x00, 0xF1, 0xBE, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0xBD, 0x00, 0x02, 0xFF, 0xFF, 0x00, 0x00, + 0xFF, 0xFF, 0x00, 0x03, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x32, 0x00, 0x00, 0x00, 0x00, 0x18, 0x00, 0xF1, 0xD4, 0x00, 0x00, 0xF1, 0xBE, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x80, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0xBD, 0x00, 0x02, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x03, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x4E, 0x00, 0x00, 0x00, 0x00, 0x18, 0x00, 0xF1, + 0xD4, 0x00, 0x00, 0xF1, 0xBD, 0xD0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0xBD, 0x00, 0x01, 0xFF, 0xFF, 0x00, 0x00, + 0xFF, 0xFF, 0x00, 0x02, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x58, 0x00, 0x00, 0x00, 0x00, 0x1C, 0x00, 0x00, 0x40, 0x00, 0x00, 0x01, 0x72, 0x78, 0x00, 0x00, 0x01, 0x08, 0x00, 0x18, 0x17, 0xFF, 0x00, 0x18, + 0x17, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x17, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3F, 0xFF, 0x00, 0x00, 0x00, 0x04, 0x00, 0xF1, + 0xD4, 0x00, 0x00, 0xF1, 0xD2, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x03, 0x00, 0x00, 0x00, + 0x02, 0x80, 0x00, 0xF1, 0xBE, 0x08, 0x00, 0x00, 0x04, 0x00, 0x00, 0x02, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3F, 0xFF, 0x00, 0x00, 0x00, 0x04, 0x00, 0xF1, 0xD4, 0x00, 0x00, 0xF1, 0xD2, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x80, 0x00, 0x28, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0xF1, 0xBE, 0x08, 0x00, 0x00, 0x04, 0x00, 0x00, 0x02, 0xFF, 0xFF, 0x00, 0x00, + 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0x00, 0x00, 0x00, 0x00, 0x18, 0x00, 0xF1, + 0xD4, 0x00, 0x00, 0xF1, 0xBE, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x7F, 0xFF, 0x00, 0x00, 0x02, 0x00, 0x00, 0x02, 0xFF, 0xFF, 0x00, 0x00, + 0xFF, 0xFF, 0x00, 0x03, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x44, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF1, 0xB8, 0x00, 0x00, 0x00, 0x06, 0x1C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7F, 0xFF, 0x00, 0x00, 0x7F, 0xFF, + 0x00, 0x00, 0x7F, 0xFF, 0x00, 0x00, 0x7F, 0xFF, 0x00, 0x00, 0x7F, 0xFF, 0x00, 0x00, 0x7F, 0xFF, 0x00, 0x00, 0x7F, 0xFF, 0x00, 0x00, 0x7F, 0xFF, 0x00, 0x00, 0x7F, 0xFF, 0x00, 0x00, 0x7F, 0xFF, + 0x00, 0x00, 0x7F, 0xFF, 0x00, 0x00, 0x7F, 0xFF, 0x00, 0x00, 0x7F, 0xFF, 0x00, 0x00, 0x7F, 0xFF, 0x00, 0x00, 0x7F, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x87, 0x00, 0x00, 0x43, 0x2A, + 0x00, 0x00, 0x69, 0x2F, 0x00, 0x00, 0x79, 0xA8, 0x00, 0x00, 0x51, 0x1A, 0x00, 0x00, 0x45, 0xB2, 0x00, 0x00, 0x41, 0xE5, 0x00, 0x00, 0x40, 0xA1, 0x00, 0x00, 0x30, 0x27, 0x00, 0x00, 0x20, 0xF2, + 0x00, 0x00, 0x1D, 0x25, 0x00, 0x00, 0x19, 0x57, 0x00, 0x00, 0x15, 0x8A, 0x00, 0x00, 0x0F, 0x34, 0x00, 0x00, 0x0A, 0x22, 0x00, 0x00, 0x06, 0x55, 0x00, 0x00, 0x01, 0x43, 0x00, 0x00, 0x7E, 0xBA, + 0x00, 0x00, 0x52, 0x5F, 0x00, 0x00, 0x52, 0x5F, 0x00, 0x00, 0x20, 0xF2, 0x00, 0x00, 0x11, 0xBD, 0x00, 0x00, 0x0A, 0x22, 0x00, 0x00, 0x06, 0x55, 0x00, 0x00, 0x01, 0x43, 0x00, 0x00, 0x7E, 0xBA, + 0x00, 0x00, 0x56, 0x2C, 0x00, 0x00, 0x43, 0x2A, 0x00, 0x00, 0x3E, 0x18, 0x00, 0x00, 0x3E, 0x18, 0x00, 0x00, 0x3E, 0x18, 0x00, 0x00, 0x30, 0x27, 0x00, 0x00, 0x1B, 0xE0, 0x00, 0x00, 0x11, 0xBD, + 0x00, 0x00, 0x05, 0x10, 0x00, 0x00, 0x01, 0x43, 0x00, 0x00, 0x7F, 0xFF, 0x00, 0x00, 0x3F, 0x5C, 0x00, 0x00, 0x3E, 0x18, 0x00, 0x00, 0x01, 0x43, 0x00, 0x00, 0x03, 0xCC, 0x00, 0x00, 0x7F, 0xFF, + 0x00, 0x00, 0x6B, 0xB8, 0x00, 0x00, 0x5B, 0x3E, 0x00, 0x00, 0x59, 0xF9, 0x00, 0x00, 0x52, 0x5F, 0x00, 0x00, 0x40, 0xA1, 0x00, 0x00, 0x1B, 0xE0, 0x00, 0x00, 0x0C, 0xAB, 0x00, 0x00, 0x01, 0x43, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x72, 0x0E, 0x00, 0x00, 0x40, 0xA1, 0x00, 0x00, 0x40, 0xA1, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF +}; diff --git a/src/jagbios2.h b/src/jagbios2.h new file mode 100644 index 0000000..9944947 --- /dev/null +++ b/src/jagbios2.h @@ -0,0 +1,6 @@ +#ifndef __JAGBIOS2_H__ +#define __JAGBIOS2_H__ + +extern char jaguarBootROM2[]; + +#endif // __JAGBIOS2_H__ diff --git a/src/jagdasm.cpp b/src/jagdasm.cpp index 71c531a..885e46a 100644 --- a/src/jagdasm.cpp +++ b/src/jagdasm.cpp @@ -22,7 +22,7 @@ #define ROPCODE(a) JaguarReadWord(a) -uint8 convert_zero[32] = +uint8_t convert_zero[32] = { 32,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31 }; const char * condition[32] = @@ -66,7 +66,7 @@ const char * condition[32] = -char * signed_16bit(int16 val) +char * signed_16bit(int16_t val) { static char temp[10]; @@ -121,7 +121,7 @@ unsigned dasmjag(int dsp_type, char * bufferOut, unsigned pc) case 28: sprintf(buffer, "ROR R%02d,R%02d", reg1, reg2); break; case 29: sprintf(buffer, "RORQ $%X,R%02d", convert_zero[reg1], reg2); break; case 30: sprintf(buffer, "CMP R%02d,R%02d", reg1, reg2); break; - case 31: sprintf(buffer, "CMPQ %s,R%02d", signed_16bit((int16)(reg1 << 11) >> 11), reg2);break; + case 31: sprintf(buffer, "CMPQ %s,R%02d", signed_16bit((int16_t)(reg1 << 11) >> 11), reg2);break; case 32: if (dsp_type == JAGUAR_GPU) sprintf(buffer, "SAT8 R%02d", reg2); else @@ -159,7 +159,7 @@ unsigned dasmjag(int dsp_type, char * bufferOut, unsigned pc) case 50: sprintf(buffer, "STORE R%02d,(R15+$%X)", reg2, convert_zero[reg1]*4);break; case 51: sprintf(buffer, "MOVE PC,R%02d", reg2); break; case 52: sprintf(buffer, "JUMP %s(R%02d)", condition[reg2], reg1); break; - case 53: sprintf(buffer, "JR %s$%X", condition[reg2], pc + ((int8)(reg1 << 3) >> 2)); break; + case 53: sprintf(buffer, "JR %s$%X", condition[reg2], pc + ((int8_t)(reg1 << 3) >> 2)); break; case 54: sprintf(buffer, "MMULT R%02d,R%02d", reg1, reg2); break; case 55: sprintf(buffer, "MTOI R%02d,R%02d", reg1, reg2); break; case 56: sprintf(buffer, "NORMI R%02d,R%02d", reg1, reg2); break; @@ -187,7 +187,7 @@ unsigned dasmjag(int dsp_type, char * bufferOut, unsigned pc) sprintf(bufferOut, "%04X %-24s", op, buffer); else { - uint16 word1 = ROPCODE(pc), word2 = ROPCODE(pc + 2); + uint16_t word1 = ROPCODE(pc), word2 = ROPCODE(pc + 2); sprintf(bufferOut, "%04X %04X %04X %-24s", op, word1, word2, buffer); } #endif diff --git a/src/jaguar.cpp b/src/jaguar.cpp index 9365b01..72802f5 100644 --- a/src/jaguar.cpp +++ b/src/jaguar.cpp @@ -46,10 +46,10 @@ // Private function prototypes -unsigned jaguar_unknown_readbyte(unsigned address, uint32 who = UNKNOWN); -unsigned jaguar_unknown_readword(unsigned address, uint32 who = UNKNOWN); -void jaguar_unknown_writebyte(unsigned address, unsigned data, uint32 who = UNKNOWN); -void jaguar_unknown_writeword(unsigned address, unsigned data, uint32 who = UNKNOWN); +unsigned jaguar_unknown_readbyte(unsigned address, uint32_t who = UNKNOWN); +unsigned jaguar_unknown_readword(unsigned address, uint32_t who = UNKNOWN); +void jaguar_unknown_writebyte(unsigned address, unsigned data, uint32_t who = UNKNOWN); +void jaguar_unknown_writeword(unsigned address, unsigned data, uint32_t who = UNKNOWN); void M68K_show_context(void); // External variables @@ -61,24 +61,24 @@ extern int effect_start2, effect_start3, effect_start4, effect_start5, effect_st #endif // Really, need to include memory.h for this, but it might interfere with some stuff... -extern uint8 jagMemSpace[]; +extern uint8_t jagMemSpace[]; // Internal variables -uint32 jaguar_active_memory_dumps = 0; +uint32_t jaguar_active_memory_dumps = 0; -uint32 jaguarMainROMCRC32, jaguarROMSize, jaguarRunAddress; +uint32_t jaguarMainROMCRC32, jaguarROMSize, jaguarRunAddress; bool jaguarCartInserted = false; bool lowerField = false; #ifdef CPU_DEBUG_MEMORY -uint8 writeMemMax[0x400000], writeMemMin[0x400000]; -uint8 readMem[0x400000]; -uint32 returnAddr[4000], raPtr = 0xFFFFFFFF; +uint8_t writeMemMax[0x400000], writeMemMin[0x400000]; +uint8_t readMem[0x400000]; +uint32_t returnAddr[4000], raPtr = 0xFFFFFFFF; #endif -uint32 pcQueue[0x400]; -uint32 pcQPtr = 0; +uint32_t pcQueue[0x400]; +uint32_t pcQPtr = 0; bool startM68KTracing = false; // @@ -90,7 +90,7 @@ static bool start = false; void M68KInstructionHook(void) { - uint32 m68kPC = m68k_get_reg(NULL, M68K_REG_PC); + uint32_t m68kPC = m68k_get_reg(NULL, M68K_REG_PC); // Temp, for comparing... { /* static char buffer[2048];//, mem[64]; @@ -151,7 +151,7 @@ if (inRoutine) } WriteLog("\n"); - uint32 topOfStack = m68k_get_reg(NULL, M68K_REG_A7); + uint32_t topOfStack = m68k_get_reg(NULL, M68K_REG_A7); WriteLog("M68K: Top of stack: %08X. Stack trace:\n", JaguarReadLong(topOfStack)); for(int i=0; i<10; i++) WriteLog("%06X: %08X\n", topOfStack - (i * 4), JaguarReadLong(topOfStack - (i * 4))); @@ -187,17 +187,17 @@ if (inRoutine) log_done(); exit(0); }//*/ -/* uint16 opcode = JaguarReadWord(m68kPC); +/* uint16_t opcode = JaguarReadWord(m68kPC); if (opcode == 0x4E75) // RTS { if (startMemLog) // WriteLog("Jaguar: Returning from subroutine to %08X\n", JaguarReadLong(m68k_get_reg(NULL, M68K_REG_A7))); { - uint32 addr = JaguarReadLong(m68k_get_reg(NULL, M68K_REG_A7)); + uint32_t addr = JaguarReadLong(m68k_get_reg(NULL, M68K_REG_A7)); bool found = false; if (raPtr != 0xFFFFFFFF) { - for(uint32 i=0; i<=raPtr; i++) + for(uint32_t i=0; i<=raPtr; i++) { if (returnAddr[i] == addr) { @@ -387,9 +387,9 @@ CD_switch:: -> $306C #endif WriteLog("\nM68K encountered an illegal instruction at %08X!!!\n\nAborting!\n", m68kPC); - uint32 topOfStack = m68k_get_reg(NULL, M68K_REG_A7); + uint32_t topOfStack = m68k_get_reg(NULL, M68K_REG_A7); WriteLog("M68K: Top of stack: %08X. Stack trace:\n", JaguarReadLong(topOfStack)); - uint32 address = topOfStack - (4 * 4 * 3); + uint32_t address = topOfStack - (4 * 4 * 3); for(int i=0; i<10; i++) { @@ -510,17 +510,17 @@ ADDRESS_MAP_END #define NEW_TIMER_SYSTEM /* -uint8 jaguarMainRAM[0x400000]; // 68K CPU RAM -uint8 jaguarMainROM[0x600000]; // 68K CPU ROM -uint8 jaguarBootROM[0x040000]; // 68K CPU BIOS ROM--uses only half of this! -uint8 jaguarCDBootROM[0x040000]; // 68K CPU CD BIOS ROM +uint8_t jaguarMainRAM[0x400000]; // 68K CPU RAM +uint8_t jaguarMainROM[0x600000]; // 68K CPU ROM +uint8_t jaguarBootROM[0x040000]; // 68K CPU BIOS ROM--uses only half of this! +uint8_t jaguarCDBootROM[0x040000]; // 68K CPU CD BIOS ROM bool BIOSLoaded = false; bool CDBIOSLoaded = false; -uint8 cdRAM[0x100]; -uint8 tomRAM[0x4000]; -uint8 jerryRAM[0x10000]; -static uint16 eeprom_ram[64]; +uint8_t cdRAM[0x100]; +uint8_t tomRAM[0x4000]; +uint8_t jerryRAM[0x10000]; +static uint16_t eeprom_ram[64]; // NOTE: CD BIOS ROM is read from cartridge space @ $802000 (it's a cartridge, after all) */ @@ -528,7 +528,7 @@ static uint16 eeprom_ram[64]; enum MemType { MM_NOP = 0, MM_RAM, MM_ROM, MM_IO }; // M68K Memory map/handlers -uint32 { +uint32_t { { 0x000000, 0x3FFFFF, MM_RAM, jaguarMainRAM }, { 0x800000, 0xDFFEFF, MM_ROM, jaguarMainROM }, // Note that this is really memory mapped I/O region... @@ -618,7 +618,7 @@ C3 = C2 = 1 means std. Jag. cntrlr. or nothing attached. */ }; -void WriteByte(uint32 address, uint8 byte, uint32 who/*=UNKNOWN*/) +void WriteByte(uint32_t address, uint8_t byte, uint32_t who/*=UNKNOWN*/) { // Not sure, but I think the system only has 24 address bits... address &= 0x00FFFFFF; @@ -654,7 +654,7 @@ void WriteByte(uint32 address, uint8 byte, uint32 who/*=UNKNOWN*/) { if (address == 0xF00050) { - tomTimerPrescaler = (tomTimerPrescaler & 0x00FF) | ((uint16)byte << 8); + tomTimerPrescaler = (tomTimerPrescaler & 0x00FF) | ((uint16_t)byte << 8); TOMResetPIT(); return; } @@ -666,7 +666,7 @@ void WriteByte(uint32 address, uint8 byte, uint32 who/*=UNKNOWN*/) } else if (address == 0xF00052) { - tomTimerDivider = (tomTimerDivider & 0x00FF) | ((uint16)byte << 8); + tomTimerDivider = (tomTimerDivider & 0x00FF) | ((uint16_t)byte << 8); TOMResetPIT(); return; } @@ -725,9 +725,9 @@ void WriteByte(uint32 address, uint8 byte, uint32 who/*=UNKNOWN*/) { // WriteLog("JERRY: Writing %02X to SCLK...\n", data); if ((address & 0x03) == 2) - JERRYI2SInterruptDivide = (JERRYI2SInterruptDivide & 0x00FF) | ((uint32)byte << 8); + JERRYI2SInterruptDivide = (JERRYI2SInterruptDivide & 0x00FF) | ((uint32_t)byte << 8); else - JERRYI2SInterruptDivide = (JERRYI2SInterruptDivide & 0xFF00) | (uint32)byte; + JERRYI2SInterruptDivide = (JERRYI2SInterruptDivide & 0xFF00) | (uint32_t)byte; JERRYI2SInterruptTimer = -1; #ifndef NEW_TIMER_SYSTEM @@ -823,23 +823,23 @@ WriteLog("JERRY: (68K int en/lat - Unhandled!) Tried to write $%02X to $%08X!\n" ; // Do nothing } -void WriteWord(uint32 adddress, uint16 word) +void WriteWord(uint32_t adddress, uint16_t word) { } -void WriteDWord(uint32 adddress, uint32 dword) +void WriteDWord(uint32_t adddress, uint32_t dword) { } -uint8 ReadByte(uint32 adddress) +uint8_t ReadByte(uint32_t adddress) { } -uint16 ReadWord(uint32 adddress) +uint16_t ReadWord(uint32_t adddress) { } -uint32 ReadDWord(uint32 adddress) +uint32_t ReadDWord(uint32_t adddress) { } #endif @@ -1199,7 +1199,7 @@ void m68k_write_memory_16(unsigned int address, unsigned int value) { if (startMemLog) { - uint8 hi = value >> 8, lo = value & 0xFF; + uint8_t hi = value >> 8, lo = value & 0xFF; if (hi > writeMemMax[address]) writeMemMax[address] = hi; @@ -1222,7 +1222,7 @@ void m68k_write_memory_16(unsigned int address, unsigned int value) // WriteLog("M68K: Writing to blitter --> %04X at %08X\n", value, address); //if (address >= 0x0E75D0 && address <= 0x0E75E7) // WriteLog("M68K: Writing %04X at %08X, M68K PC=%08X\n", value, address, m68k_get_reg(NULL, M68K_REG_PC)); -/*extern uint32 totalFrames; +/*extern uint32_t totalFrames; if (address == 0xF02114) WriteLog("M68K: Writing to GPU_CTRL (frame:%u)... [M68K PC:%08X]\n", totalFrames, m68k_get_reg(NULL, M68K_REG_PC)); if (address == 0xF02110) @@ -1312,14 +1312,14 @@ if (address == 0xF03214 && value == 0x88E30047) } -uint32 JaguarGetHandler(uint32 i) +uint32_t JaguarGetHandler(uint32_t i) { return JaguarReadLong(i * 4); } -bool JaguarInterruptHandlerIsValid(uint32 i) // Debug use only... +bool JaguarInterruptHandlerIsValid(uint32_t i) // Debug use only... { - uint32 handler = JaguarGetHandler(i); + uint32_t handler = JaguarGetHandler(i); return (handler && (handler != 0xFFFFFFFF) ? true : false); } @@ -1366,7 +1366,7 @@ void M68K_show_context(void) for(int i=0; i<256; i++) { WriteLog("handler %03i at ", i);//$%08X\n", i, (unsigned int)JaguarGetHandler(i)); - uint32 address = (uint32)JaguarGetHandler(i); + uint32_t address = (uint32_t)JaguarGetHandler(i); if (address == 0) WriteLog(".........\n"); @@ -1395,7 +1395,7 @@ void M68K_show_context(void) // in. This mistake causes it to try and overwrite approximately $700000 worth of address // space! (That is, unless the 68K causes a bus error...) -void jaguar_unknown_writebyte(unsigned address, unsigned data, uint32 who/*=UNKNOWN*/) +void jaguar_unknown_writebyte(unsigned address, unsigned data, uint32_t who/*=UNKNOWN*/) { #ifdef LOG_UNMAPPED_MEMORY_ACCESSES WriteLog("Jaguar: Unknown byte %02X written at %08X by %s (M68K PC=%06X)\n", data, address, whoName[who], m68k_get_reg(NULL, M68K_REG_PC)); @@ -1409,7 +1409,7 @@ void jaguar_unknown_writebyte(unsigned address, unsigned data, uint32 who/*=UNKN #endif } -void jaguar_unknown_writeword(unsigned address, unsigned data, uint32 who/*=UNKNOWN*/) +void jaguar_unknown_writeword(unsigned address, unsigned data, uint32_t who/*=UNKNOWN*/) { #ifdef LOG_UNMAPPED_MEMORY_ACCESSES WriteLog("Jaguar: Unknown word %04X written at %08X by %s (M68K PC=%06X)\n", data, address, whoName[who], m68k_get_reg(NULL, M68K_REG_PC)); @@ -1423,7 +1423,7 @@ void jaguar_unknown_writeword(unsigned address, unsigned data, uint32 who/*=UNKN #endif } -unsigned jaguar_unknown_readbyte(unsigned address, uint32 who/*=UNKNOWN*/) +unsigned jaguar_unknown_readbyte(unsigned address, uint32_t who/*=UNKNOWN*/) { #ifdef LOG_UNMAPPED_MEMORY_ACCESSES WriteLog("Jaguar: Unknown byte read at %08X by %s (M68K PC=%06X)\n", address, whoName[who], m68k_get_reg(NULL, M68K_REG_PC)); @@ -1438,7 +1438,7 @@ unsigned jaguar_unknown_readbyte(unsigned address, uint32 who/*=UNKNOWN*/) return 0xFF; } -unsigned jaguar_unknown_readword(unsigned address, uint32 who/*=UNKNOWN*/) +unsigned jaguar_unknown_readword(unsigned address, uint32_t who/*=UNKNOWN*/) { #ifdef LOG_UNMAPPED_MEMORY_ACCESSES WriteLog("Jaguar: Unknown word read at %08X by %s (M68K PC=%06X)\n", address, whoName[who], m68k_get_reg(NULL, M68K_REG_PC)); @@ -1472,13 +1472,13 @@ unsigned int m68k_read_disassembler_32(unsigned int address) return m68k_read_memory_32(address); } -void JaguarDasm(uint32 offset, uint32 qt) +void JaguarDasm(uint32_t offset, uint32_t qt) { #ifdef CPU_DEBUG static char buffer[2048];//, mem[64]; int pc = offset, oldpc; - for(uint32 i=0; i= 0x4E00 && offset < 0x4E04) WriteLog("JWB: Byte %02X written at %08X by %s\n", data, offset, whoName[who]);//*/ @@ -1584,8 +1584,8 @@ void JaguarWriteByte(uint32 offset, uint8 data, uint32 who/*=UNKNOWN*/) jaguar_unknown_writebyte(offset, data, who); } -uint32 starCount; -void JaguarWriteWord(uint32 offset, uint16 data, uint32 who/*=UNKNOWN*/) +uint32_t starCount; +void JaguarWriteWord(uint32_t offset, uint16_t data, uint32_t who/*=UNKNOWN*/) { /* if (offset >= 0x4E00 && offset < 0x4E04) WriteLog("JWW: Word %04X written at %08X by %s\n", data, offset, whoName[who]);//*/ @@ -1645,12 +1645,12 @@ if ((data & 0xFF00) != 0x7700) /*extern bool doGPUDis; if (offset == 0x120216 && who == GPU) doGPUDis = true;//*/ -/*extern uint32 gpu_pc; +/*extern uint32_t gpu_pc; if (who == GPU && (gpu_pc == 0xF03604 || gpu_pc == 0xF03638)) { - uint32 base = offset - (offset > 0x148000 ? 0x148000 : 0x100000); - uint32 y = base / 0x300; - uint32 x = (base - (y * 0x300)) / 2; + uint32_t base = offset - (offset > 0x148000 ? 0x148000 : 0x100000); + uint32_t y = base / 0x300; + uint32_t x = (base - (y * 0x300)) / 2; WriteLog("JWW: Writing starfield star %04X at %08X (%u/%u) [%s]\n", data, offset, x, y, (gpu_pc == 0xF03604 ? "s" : "L")); }//*/ /* @@ -1660,7 +1660,7 @@ JWW: Writing starfield star 775E at 0011F650 (555984/1447) /*if (who == GPU && offset == (0x001E17F8 + 0x34)) data = 0xFE3C;//*/ // WriteLog("JWW: Write at %08X written to by %s.\n", 0x001E17F8 + 0x34, whoName[who]);//*/ -/*extern uint32 gpu_pc; +/*extern uint32_t gpu_pc; if (who == GPU && (gpu_pc == 0xF03604 || gpu_pc == 0xF03638)) { extern int objectPtr; @@ -1673,9 +1673,9 @@ if (who == GPU && (gpu_pc == 0xF03604 || gpu_pc == 0xF03638)) // if (starCount == 1) // WriteLog("--> Drawing 1st star...\n"); // -// uint32 base = offset - (offset > 0x148000 ? 0x148000 : 0x100000); -// uint32 y = base / 0x300; -// uint32 x = (base - (y * 0x300)) / 2; +// uint32_t base = offset - (offset > 0x148000 ? 0x148000 : 0x100000); +// uint32_t y = base / 0x300; +// uint32_t x = (base - (y * 0x300)) / 2; // WriteLog("JWW: Writing starfield star %04X at %08X (%u/%u) [%s]\n", data, offset, x, y, (gpu_pc == 0xF03604 ? "s" : "L")); //A star of interest... @@ -1720,13 +1720,13 @@ if (offset == 0x11D31A + 0x48000 || offset == 0x11D31A) } // We really should re-do this so that it does *real* 32-bit access... !!! FIX !!! -uint32 JaguarReadLong(uint32 offset, uint32 who/*=UNKNOWN*/) +uint32_t JaguarReadLong(uint32_t offset, uint32_t who/*=UNKNOWN*/) { return (JaguarReadWord(offset, who) << 16) | JaguarReadWord(offset+2, who); } // We really should re-do this so that it does *real* 32-bit access... !!! FIX !!! -void JaguarWriteLong(uint32 offset, uint32 data, uint32 who/*=UNKNOWN*/) +void JaguarWriteLong(uint32_t offset, uint32_t data, uint32_t who/*=UNKNOWN*/) { /* extern bool doDSPDis; if (offset < 0x400 && !doDSPDis) @@ -1741,13 +1741,13 @@ void JaguarWriteLong(uint32 offset, uint32 data, uint32 who/*=UNKNOWN*/) JaguarWriteWord(offset+2, data & 0xFFFF, who); } -void JaguarSetScreenBuffer(uint32 * buffer) +void JaguarSetScreenBuffer(uint32_t * buffer) { // This is in TOM, but we set it here... screenBuffer = buffer; } -void JaguarSetScreenPitch(uint32 pitch) +void JaguarSetScreenPitch(uint32_t pitch) { // This is in TOM, but we set it here... screenPitch = pitch; @@ -1821,7 +1821,7 @@ void JaguarDone(void) #ifdef CPU_DEBUG_MEMORY /* WriteLog("\nJaguar: Memory Usage Stats (return addresses)\n\n"); - for(uint32 i=0; i<=raPtr; i++) + for(uint32_t i=0; i<=raPtr; i++) { WriteLog("\t%08X\n", returnAddr[i]); WriteLog("M68000 disassembly at $%08X...\n", returnAddr[i] - 16); @@ -1855,13 +1855,13 @@ void JaguarDone(void) //#ifdef CPU_DEBUG // for(int i=M68K_REG_A0; i<=M68K_REG_A7; i++) // WriteLog("\tA%i = 0x%.8x\n", i-M68K_REG_A0, m68k_get_reg(NULL, (m68k_register_t)i)); - int32 topOfStack = m68k_get_reg(NULL, M68K_REG_A7); + int32_t topOfStack = m68k_get_reg(NULL, M68K_REG_A7); WriteLog("M68K: Top of stack: %08X -> (%08X). Stack trace:\n", topOfStack, JaguarReadLong(topOfStack)); #if 0 for(int i=-2; i<9; i++) WriteLog("%06X: %08X\n", topOfStack + (i * 4), JaguarReadLong(topOfStack + (i * 4))); #else - uint32 address = topOfStack - (4 * 4 * 3); + uint32_t address = topOfStack - (4 * 4 * 3); for(int i=0; i<10; i++) { @@ -1915,7 +1915,7 @@ void JaguarDone(void) #if 0 // This is drawn already... WriteLog("Jaguar: 68K AutoVector table:\n", JaguarReadWord(0x3004)); - for(uint32 i=0x64; i<=0x7C; i+=4) + for(uint32_t i=0x64; i<=0x7C; i+=4) WriteLog(" #%u: %08X\n", (i-0x64)/4, JaguarReadLong(i)); #endif @@ -1982,7 +1982,7 @@ void DumpMainMemory(void) } -uint8 * GetRamPtr(void) +uint8_t * GetRamPtr(void) { return jaguarMainRAM; } @@ -2040,16 +2040,16 @@ void HalflineCallback(void) //OK, this is hardwired to run in NTSC, and for who knows how long. //Need to fix this so that it does a half-line in the correct amount of time //and number of lines, depending on which mode we're in. [FIXED] - uint16 vc = TOMReadWord(0xF00006, JAGUAR); - uint16 vp = TOMReadWord(0xF0003E, JAGUAR) + 1; - uint16 vi = TOMReadWord(0xF0004E, JAGUAR); -// uint16 vbb = TOMReadWord(0xF00040, JAGUAR); + uint16_t vc = TOMReadWord(0xF00006, JAGUAR); + uint16_t vp = TOMReadWord(0xF0003E, JAGUAR) + 1; + uint16_t vi = TOMReadWord(0xF0004E, JAGUAR); +// uint16_t vbb = TOMReadWord(0xF00040, JAGUAR); vc++; #ifdef USE_CORRECT_PAL_TIMINGS // Each # of lines is for a full frame == 1/30s (NTSC), 1/25s (PAL). // So we cut the number of half-lines in a frame in half. :-P - uint16 numHalfLines = ((vjs.hardwareTypeNTSC ? 525 : 625) * 2) / 2; + uint16_t numHalfLines = ((vjs.hardwareTypeNTSC ? 525 : 625) * 2) / 2; if ((vc & 0x7FF) >= numHalfLines) #else diff --git a/src/jaguar.h b/src/jaguar.h index 8cd1988..54e25ae 100644 --- a/src/jaguar.h +++ b/src/jaguar.h @@ -1,31 +1,31 @@ #ifndef __JAGUAR_H__ #define __JAGUAR_H__ -#include "types.h" +#include #include "memory.h" // For "UNKNOWN" enum -void JaguarSetScreenBuffer(uint32 * buffer); -void JaguarSetScreenPitch(uint32 pitch); +void JaguarSetScreenBuffer(uint32_t * buffer); +void JaguarSetScreenPitch(uint32_t pitch); void JaguarInit(void); void JaguarReset(void); void JaguarDone(void); -uint8 JaguarReadByte(uint32 offset, uint32 who = UNKNOWN); -uint16 JaguarReadWord(uint32 offset, uint32 who = UNKNOWN); -uint32 JaguarReadLong(uint32 offset, uint32 who = UNKNOWN); -void JaguarWriteByte(uint32 offset, uint8 data, uint32 who = UNKNOWN); -void JaguarWriteWord(uint32 offset, uint16 data, uint32 who = UNKNOWN); -void JaguarWriteLong(uint32 offset, uint32 data, uint32 who = UNKNOWN); +uint8_t JaguarReadByte(uint32_t offset, uint32_t who = UNKNOWN); +uint16_t JaguarReadWord(uint32_t offset, uint32_t who = UNKNOWN); +uint32_t JaguarReadLong(uint32_t offset, uint32_t who = UNKNOWN); +void JaguarWriteByte(uint32_t offset, uint8_t data, uint32_t who = UNKNOWN); +void JaguarWriteWord(uint32_t offset, uint16_t data, uint32_t who = UNKNOWN); +void JaguarWriteLong(uint32_t offset, uint32_t data, uint32_t who = UNKNOWN); -bool JaguarInterruptHandlerIsValid(uint32 i); -void JaguarDasm(uint32 offset, uint32 qt); +bool JaguarInterruptHandlerIsValid(uint32_t i); +void JaguarDasm(uint32_t offset, uint32_t qt); void JaguarExecuteNew(void); // Exports from JAGUAR.CPP -extern int32 jaguarCPUInExec; -extern uint32 jaguarMainROMCRC32, jaguarROMSize, jaguarRunAddress; +extern int32_t jaguarCPUInExec; +extern uint32_t jaguarMainROMCRC32, jaguarROMSize, jaguarRunAddress; extern char * jaguarEepromsPath; extern bool jaguarCartInserted; @@ -44,6 +44,6 @@ extern bool jaguarCartInserted; //Temp debug stuff (will go away soon, so don't depend on these) void DumpMainMemory(void); -uint8 * GetRamPtr(void); +uint8_t * GetRamPtr(void); #endif // __JAGUAR_H__ diff --git a/src/jerry.cpp b/src/jerry.cpp index 8172c25..8a27c31 100644 --- a/src/jerry.cpp +++ b/src/jerry.cpp @@ -172,26 +172,26 @@ //Note that 44100 Hz requires samples every 22.675737 usec. //#define JERRY_DEBUG -/*static*/ uint8 jerry_ram_8[0x10000]; +/*static*/ uint8_t jerry_ram_8[0x10000]; //#define JERRY_CONFIG 0x4002 // ??? What's this ??? -uint8 analog_x, analog_y; +uint8_t analog_x, analog_y; -static uint32 JERRYPIT1Prescaler; -static uint32 JERRYPIT1Divider; -static uint32 JERRYPIT2Prescaler; -static uint32 JERRYPIT2Divider; -static int32 jerry_timer_1_counter; -static int32 jerry_timer_2_counter; +static uint32_t JERRYPIT1Prescaler; +static uint32_t JERRYPIT1Divider; +static uint32_t JERRYPIT2Prescaler; +static uint32_t JERRYPIT2Divider; +static int32_t jerry_timer_1_counter; +static int32_t jerry_timer_2_counter; -uint32 JERRYI2SInterruptDivide = 8; -int32 JERRYI2SInterruptTimer = -1; -uint32 jerryI2SCycles; -uint32 jerryIntPending; +uint32_t JERRYI2SInterruptDivide = 8; +int32_t JERRYI2SInterruptTimer = -1; +uint32_t jerryI2SCycles; +uint32_t jerryIntPending; -static uint16 jerryInterruptMask = 0; -static uint16 jerryPendingInterrupt = 0; +static uint16_t jerryInterruptMask = 0; +static uint16_t jerryPendingInterrupt = 0; // Private function prototypes @@ -296,7 +296,7 @@ void JERRYI2SCallback(void) //This should be in this file with an extern reference in the header file so that //DAC.CPP can see it... !!! FIX !!! - extern uint16 serialMode; // From DAC.CPP + extern uint16_t serialMode; // From DAC.CPP if (serialMode & 0x01) // INTERNAL flag (JERRY is master) { @@ -403,7 +403,7 @@ void JERRYSetPendingIRQ(int irq) // // JERRY byte access (read) // -uint8 JERRYReadByte(uint32 offset, uint32 who/*=UNKNOWN*/) +uint8_t JERRYReadByte(uint32_t offset, uint32_t who/*=UNKNOWN*/) { #ifdef JERRY_DEBUG WriteLog("JERRY: Reading byte at %06X\n", offset); @@ -446,7 +446,7 @@ WriteLog("JERRY: Unhandled timer read (BYTE) at %08X...\n", offset); // // JERRY word access (read) // -uint16 JERRYReadWord(uint32 offset, uint32 who/*=UNKNOWN*/) +uint16_t JERRYReadWord(uint32_t offset, uint32_t who/*=UNKNOWN*/) { #ifdef JERRY_DEBUG WriteLog("JERRY: Reading word at %06X\n", offset); @@ -486,17 +486,17 @@ WriteLog("JERRY: Unhandled timer read (WORD) at %08X...\n", offset); return EepromReadWord(offset); /*if (offset >= 0xF1D000) - WriteLog("JERRY: Reading word at %08X [%04X]...\n", offset, ((uint16)jerry_ram_8[(offset+0)&0xFFFF] << 8) | jerry_ram_8[(offset+1)&0xFFFF]);//*/ + WriteLog("JERRY: Reading word at %08X [%04X]...\n", offset, ((uint16_t)jerry_ram_8[(offset+0)&0xFFFF] << 8) | jerry_ram_8[(offset+1)&0xFFFF]);//*/ offset &= 0xFFFF; // Prevent crashing...! - return ((uint16)jerry_ram_8[offset+0] << 8) | jerry_ram_8[offset+1]; + return ((uint16_t)jerry_ram_8[offset+0] << 8) | jerry_ram_8[offset+1]; } // // JERRY byte access (write) // -void JERRYWriteByte(uint32 offset, uint8 data, uint32 who/*=UNKNOWN*/) +void JERRYWriteByte(uint32_t offset, uint8_t data, uint32_t who/*=UNKNOWN*/) { #ifdef JERRY_DEBUG WriteLog("jerry: writing byte %.2x at 0x%.6x\n",data,offset); @@ -517,9 +517,9 @@ void JERRYWriteByte(uint32 offset, uint8 data, uint32 who/*=UNKNOWN*/) { // WriteLog("JERRY: Writing %02X to SCLK...\n", data); if ((offset & 0x03) == 2) - JERRYI2SInterruptDivide = (JERRYI2SInterruptDivide & 0x00FF) | ((uint32)data << 8); + JERRYI2SInterruptDivide = (JERRYI2SInterruptDivide & 0x00FF) | ((uint32_t)data << 8); else - JERRYI2SInterruptDivide = (JERRYI2SInterruptDivide & 0xFF00) | (uint32)data; + JERRYI2SInterruptDivide = (JERRYI2SInterruptDivide & 0xFF00) | (uint32_t)data; JERRYI2SInterruptTimer = -1; RemoveCallback(JERRYI2SCallback); @@ -583,7 +583,7 @@ WriteLog("JERRY: Unhandled timer write (BYTE) at %08X...\n", offset); // // JERRY word access (write) // -void JERRYWriteWord(uint32 offset, uint16 data, uint32 who/*=UNKNOWN*/) +void JERRYWriteWord(uint32_t offset, uint16_t data, uint32_t who/*=UNKNOWN*/) { #ifdef JERRY_DEBUG WriteLog( "JERRY: Writing word %04X at %06X\n", data, offset); @@ -629,7 +629,7 @@ else if (offset == 0xF10020) { WriteLog("JERRY: Writing $%X to SCLK (by %s)...\n", data, whoName[who]); //This should *only* be enabled when SMODE has its INTERNAL bit set! !!! FIX !!! - JERRYI2SInterruptDivide = (uint8)data; + JERRYI2SInterruptDivide = (uint8_t)data; JERRYI2SInterruptTimer = -1; RemoveCallback(JERRYI2SCallback); JERRYI2SCallback(); diff --git a/src/jerry.h b/src/jerry.h index ec0edbd..228c7ee 100644 --- a/src/jerry.h +++ b/src/jerry.h @@ -12,13 +12,13 @@ void JERRYInit(void); void JERRYReset(void); void JERRYDone(void); -uint8 JERRYReadByte(uint32 offset, uint32 who = UNKNOWN); -uint16 JERRYReadWord(uint32 offset, uint32 who = UNKNOWN); -void JERRYWriteByte(uint32 offset, uint8 data, uint32 who = UNKNOWN); -void JERRYWriteWord(uint32 offset, uint16 data, uint32 who = UNKNOWN); +uint8_t JERRYReadByte(uint32_t offset, uint32_t who = UNKNOWN); +uint16_t JERRYReadWord(uint32_t offset, uint32_t who = UNKNOWN); +void JERRYWriteByte(uint32_t offset, uint8_t data, uint32_t who = UNKNOWN); +void JERRYWriteWord(uint32_t offset, uint16_t data, uint32_t who = UNKNOWN); -void JERRYExecPIT(uint32 cycles); -void JERRYI2SExec(uint32 cycles); +void JERRYExecPIT(uint32_t cycles); +void JERRYI2SExec(uint32_t cycles); int JERRYGetPIT1Frequency(void); int JERRYGetPIT2Frequency(void); @@ -37,7 +37,7 @@ void JERRYI2SCallback(void); // External variables -extern uint32 JERRYI2SInterruptDivide; -extern int32 JERRYI2SInterruptTimer; +extern uint32_t JERRYI2SInterruptDivide; +extern int32_t JERRYI2SInterruptTimer; #endif diff --git a/src/joystick.cpp b/src/joystick.cpp index 208b58b..86940fc 100644 --- a/src/joystick.cpp +++ b/src/joystick.cpp @@ -15,8 +15,9 @@ #include "joystick.h" -#include -#include +//#include +//#include +#include // For memset() #include "gpu.h" #include "jaguar.h" #include "log.h" @@ -24,16 +25,14 @@ // Global vars -static uint8 joystick_ram[4]; -uint8 joypad_0_buttons[21]; -uint8 joypad_1_buttons[21]; +static uint8_t joystick_ram[4]; +uint8_t joypad_0_buttons[21]; +uint8_t joypad_1_buttons[21]; bool keyBuffer[21]; -SDL_Joystick * joystick1; +//SDL_Joystick * joystick1; -//extern bool finished; -////extern bool showGUI; bool GUIKeyHeld = false; extern int start_logging; int gpu_start_log = 0; @@ -52,269 +51,23 @@ bool blitterSingleStep = false; bool bssGo = false; bool bssHeld = false; + void JoystickInit(void) { JoystickReset(); } + void JoystickExec(void) { -// uint8 * keystate = SDL_GetKeyState(NULL); - -// memset(joypad_0_buttons, 0, 21); -// memset(joypad_1_buttons, 0, 21); gpu_start_log = 0; // Only log while key down! effect_start = 0; effect_start2 = effect_start3 = effect_start4 = effect_start5 = effect_start6 = 0; blit_start_log = 0; iLeft = iRight = false; - -#if 0 - if ((keystate[SDLK_LALT] || keystate[SDLK_RALT]) & keystate[SDLK_RETURN]) - ToggleFullscreen(); - - // Keybindings in order of U, D, L, R, C, B, A, Op, Pa, 0-9, #, * -// vjs.p1KeyBindings[0] = sdlemu_getval_int("p1k_up", SDLK_UP); - -#if 0 - if (keystate[vjs.p1KeyBindings[0]]) - joypad_0_buttons[BUTTON_U] = 0x01; - if (keystate[vjs.p1KeyBindings[1]]) - joypad_0_buttons[BUTTON_D] = 0x01; - if (keystate[vjs.p1KeyBindings[2]]) - joypad_0_buttons[BUTTON_L] = 0x01; - if (keystate[vjs.p1KeyBindings[3]]) - joypad_0_buttons[BUTTON_R] = 0x01; - // The buttons are labelled C,B,A on the controller (going from left to right) - if (keystate[vjs.p1KeyBindings[4]]) - joypad_0_buttons[BUTTON_C] = 0x01; - if (keystate[vjs.p1KeyBindings[5]]) - joypad_0_buttons[BUTTON_B] = 0x01; - if (keystate[vjs.p1KeyBindings[6]]) - joypad_0_buttons[BUTTON_A] = 0x01; -//I may yet move these to O and P... - if (keystate[vjs.p1KeyBindings[7]]) - joypad_0_buttons[BUTTON_OPTION] = 0x01; - if (keystate[vjs.p1KeyBindings[8]]) - joypad_0_buttons[BUTTON_PAUSE] = 0x01; - - if (keystate[vjs.p1KeyBindings[9]]) - joypad_0_buttons[BUTTON_0] = 0x01; - if (keystate[vjs.p1KeyBindings[10]]) - joypad_0_buttons[BUTTON_1] = 0x01; - if (keystate[vjs.p1KeyBindings[11]]) - joypad_0_buttons[BUTTON_2] = 0x01; - if (keystate[vjs.p1KeyBindings[12]]) - joypad_0_buttons[BUTTON_3] = 0x01; - if (keystate[vjs.p1KeyBindings[13]]) - joypad_0_buttons[BUTTON_4] = 0x01; - if (keystate[vjs.p1KeyBindings[14]]) - joypad_0_buttons[BUTTON_5] = 0x01; - if (keystate[vjs.p1KeyBindings[15]]) - joypad_0_buttons[BUTTON_6] = 0x01; - if (keystate[vjs.p1KeyBindings[16]]) - joypad_0_buttons[BUTTON_7] = 0x01; - if (keystate[vjs.p1KeyBindings[17]]) - joypad_0_buttons[BUTTON_8] = 0x01; - if (keystate[vjs.p1KeyBindings[18]]) - joypad_0_buttons[BUTTON_9] = 0x01; - if (keystate[vjs.p1KeyBindings[19]]) - joypad_0_buttons[BUTTON_s] = 0x01; - if (keystate[vjs.p1KeyBindings[20]]) - joypad_0_buttons[BUTTON_d] = 0x01; -#else - if (keyBuffer[0]) - joypad_0_buttons[BUTTON_U] = 0x01; - if (keyBuffer[1]) - joypad_0_buttons[BUTTON_D] = 0x01; - if (keyBuffer[2]) - joypad_0_buttons[BUTTON_L] = 0x01; - if (keyBuffer[3]) - joypad_0_buttons[BUTTON_R] = 0x01; - // The buttons are labelled C,B,A on the controller (going from left to right) - if (keyBuffer[4]) - joypad_0_buttons[BUTTON_C] = 0x01; - if (keyBuffer[5]) - joypad_0_buttons[BUTTON_B] = 0x01; - if (keyBuffer[6]) - joypad_0_buttons[BUTTON_A] = 0x01; -//I may yet move these to O and P... - if (keyBuffer[7]) - joypad_0_buttons[BUTTON_OPTION] = 0x01; - if (keyBuffer[8]) - joypad_0_buttons[BUTTON_PAUSE] = 0x01; - - if (keyBuffer[9]) - joypad_0_buttons[BUTTON_0] = 0x01; - if (keyBuffer[10]) - joypad_0_buttons[BUTTON_1] = 0x01; - if (keyBuffer[11]) - joypad_0_buttons[BUTTON_2] = 0x01; - if (keyBuffer[12]) - joypad_0_buttons[BUTTON_3] = 0x01; - if (keyBuffer[13]) - joypad_0_buttons[BUTTON_4] = 0x01; - if (keyBuffer[14]) - joypad_0_buttons[BUTTON_5] = 0x01; - if (keyBuffer[15]) - joypad_0_buttons[BUTTON_6] = 0x01; - if (keyBuffer[16]) - joypad_0_buttons[BUTTON_7] = 0x01; - if (keyBuffer[17]) - joypad_0_buttons[BUTTON_8] = 0x01; - if (keyBuffer[18]) - joypad_0_buttons[BUTTON_9] = 0x01; - if (keyBuffer[19]) - joypad_0_buttons[BUTTON_s] = 0x01; - if (keyBuffer[20]) - joypad_0_buttons[BUTTON_d] = 0x01; -#endif - -#warning "!!! FIX !!! (debounceRunKey)" -// extern bool debounceRunKey; - bool debounceRunKey; - if (keystate[SDLK_ESCAPE]) - { - if (!debounceRunKey) -#warning "!!! FIX !!! (finished = true)" -;// finished = true; - } - else - debounceRunKey = false; - - if (keystate[SDLK_TAB]) - { - if (!GUIKeyHeld) -#warning "!!! FIX !!! (showGUI = !showGUI, ...)" -;// showGUI = !showGUI, GUIKeyHeld = true; - } - else - GUIKeyHeld = false; - - if (keystate[SDLK_q]) - start_logging = 1; - if (keystate[SDLK_w]) - GPUResetStats(); -// if (keystate[SDLK_u]) jaguar_long_write(0xf1c384,jaguar_long_read(0xf1c384)+1); - if (keystate[SDLK_d]) - DumpMainMemory(); - if (keystate[SDLK_l]) - gpu_start_log = 1; - if (keystate[SDLK_o]) - op_start_log = 1; - if (keystate[SDLK_b]) - blit_start_log = 1; - - if (keystate[SDLK_1]) - effect_start = 1; - if (keystate[SDLK_2]) - effect_start2 = 1; - if (keystate[SDLK_3]) - effect_start3 = 1; - if (keystate[SDLK_4]) - effect_start4 = 1; - if (keystate[SDLK_5]) - effect_start5 = 1; - if (keystate[SDLK_6]) - effect_start6 = 1; - - if (keystate[SDLK_i]) - interactiveMode = true; - - if (keystate[SDLK_8] && interactiveMode) - { - if (!keyHeld1) - objectPtr--, keyHeld1 = true; - } - else - keyHeld1 = false; - - if (keystate[SDLK_0] && interactiveMode) - { - if (!keyHeld2) - objectPtr++, keyHeld2 = true; - } - else - keyHeld2 = false; - - if (keystate[SDLK_9] && interactiveMode) - { - if (!keyHeld3) - iToggle = !iToggle, keyHeld3 = true; - } - else - keyHeld3 = false; - - if (keystate[SDLK_e]) - startMemLog = true; - if (keystate[SDLK_r]) - WriteLog("\n--------> MARK!\n\n"); - if (keystate[SDLK_t]) - doDSPDis = true; - if (keystate[SDLK_y]) - doGPUDis = true; - - // BLITTER single step - if (keystate[SDLK_F5]) - blitterSingleStep = true; - - if (keystate[SDLK_F6]) - { - if (!bssHeld) - { - bssHeld = true; - bssGo = true; - } - } - else - bssHeld = false; -#endif - // We need to ensure that illegal combinations are not possible. - // So, we do a simple minded way here... - // It would be better to check to see which one was pressed last - // and discard that one, but for now... -//This didn't work... Was still able to do bad combination. -//It's because the GUI is changing this *after* we fix it here. -#if 0 - if (joypad_0_buttons[BUTTON_R] && joypad_0_buttons[BUTTON_L]) - joypad_0_buttons[BUTTON_L] = 0; - - if (joypad_0_buttons[BUTTON_U] && joypad_0_buttons[BUTTON_D]) - joypad_0_buttons[BUTTON_D] = 0; -#endif - -// This is handled by the GUI layer, as it should -#if 0 - // Joystick support [nwagenaar] - - if (vjs.useJoystick) - { - extern SDL_Joystick * joystick1; - int16 x = SDL_JoystickGetAxis(joystick1, 0), - y = SDL_JoystickGetAxis(joystick1, 1); - - if (x > 16384) - joypad_0_buttons[BUTTON_R] = 0x01; - if (x < -16384) - joypad_0_buttons[BUTTON_L] = 0x01; - if (y > 16384) - joypad_0_buttons[BUTTON_D] = 0x01; - if (y < -16384) - joypad_0_buttons[BUTTON_U] = 0x01; - - if (SDL_JoystickGetButton(joystick1, 0) == SDL_PRESSED) - joypad_0_buttons[BUTTON_A] = 0x01; - if (SDL_JoystickGetButton(joystick1, 1) == SDL_PRESSED) - joypad_0_buttons[BUTTON_B] = 0x01; - if (SDL_JoystickGetButton(joystick1, 2) == SDL_PRESSED) - joypad_0_buttons[BUTTON_C] = 0x01; - } - - // Needed to ensure that the events queue is empty [nwagenaar] - SDL_PumpEvents(); -#endif } + void JoystickReset(void) { memset(joystick_ram, 0x00, 4); @@ -322,11 +75,13 @@ void JoystickReset(void) memset(joypad_1_buttons, 0, 21); } + void JoystickDone(void) { } -uint8 JoystickReadByte(uint32 offset) + +uint8_t JoystickReadByte(uint32_t offset) { // For now, until we can fix the 2nd controller... :-P //memset(joypad_1_buttons, 0, 21); @@ -337,7 +92,7 @@ uint8 JoystickReadByte(uint32 offset) if (offset == 0) { - uint8 data = 0x00; + uint8_t data = 0x00; int pad0Index = joystick_ram[1] & 0x0F; int pad1Index = (joystick_ram[1] >> 4) & 0x0F; @@ -381,7 +136,7 @@ uint8 JoystickReadByte(uint32 offset) else if (offset == 3) { // Hardware ID returns NTSC/PAL identification bit here - uint8 data = 0x2F | (vjs.hardwareTypeNTSC ? 0x10 : 0x00); + uint8_t data = 0x2F | (vjs.hardwareTypeNTSC ? 0x10 : 0x00); int pad0Index = joystick_ram[1] & 0x0F; int pad1Index = (joystick_ram[1] >> 4) & 0x0F; @@ -440,20 +195,24 @@ uint8 JoystickReadByte(uint32 offset) return joystick_ram[offset]; } -uint16 JoystickReadWord(uint32 offset) + +uint16_t JoystickReadWord(uint32_t offset) { - return ((uint16)JoystickReadByte((offset + 0) & 0x03) << 8) | JoystickReadByte((offset + 1) & 0x03); + return ((uint16_t)JoystickReadByte((offset + 0) & 0x03) << 8) | JoystickReadByte((offset + 1) & 0x03); } -void JoystickWriteByte(uint32 offset, uint8 data) + +void JoystickWriteByte(uint32_t offset, uint8_t data) { joystick_ram[offset & 0x03] = data; } -void JoystickWriteWord(uint32 offset, uint16 data) + +void JoystickWriteWord(uint32_t offset, uint16_t data) { #warning "No bounds checking done for JoystickWriteWord!" offset &= 0x03; joystick_ram[offset + 0] = (data >> 8) & 0xFF; joystick_ram[offset + 1] = data & 0xFF; } + diff --git a/src/joystick.h b/src/joystick.h index 98eb977..891f136 100644 --- a/src/joystick.h +++ b/src/joystick.h @@ -5,7 +5,7 @@ #ifndef __JOYSTICK_H__ #define __JOYSTICK_H__ -#include "types.h" +#include enum { BUTTON_FIRST = 0, BUTTON_U = 0, BUTTON_D = 1, @@ -34,13 +34,13 @@ BUTTON_PAUSE = 20, BUTTON_LAST = 20 }; void JoystickInit(void); void JoystickReset(void); void JoystickDone(void); -void JoystickWriteByte(uint32, uint8); -void JoystickWriteWord(uint32, uint16); -uint8 JoystickReadByte(uint32); -uint16 JoystickReadWord(uint32); +void JoystickWriteByte(uint32_t, uint8_t); +void JoystickWriteWord(uint32_t, uint16_t); +uint8_t JoystickReadByte(uint32_t); +uint16_t JoystickReadWord(uint32_t); void JoystickExec(void); extern bool keyBuffer[]; -extern uint8 joypad_0_buttons[]; -extern uint8 joypad_1_buttons[]; +extern uint8_t joypad_0_buttons[]; +extern uint8_t joypad_1_buttons[]; #endif diff --git a/src/log.cpp b/src/log.cpp index 4f6619d..23fc806 100644 --- a/src/log.cpp +++ b/src/log.cpp @@ -20,13 +20,14 @@ #include #include -#include "types.h" +#include + //#define MAX_LOG_SIZE 10000000 // Maximum size of log file (10 MB) #define MAX_LOG_SIZE 100000000 // Maximum size of log file (100 MB) static FILE * log_stream = NULL; -static uint32 logSize = 0; +static uint32_t logSize = 0; int LogInit(const char * path) { diff --git a/src/memory.cpp b/src/memory.cpp index 6492147..03ba217 100644 --- a/src/memory.cpp +++ b/src/memory.cpp @@ -27,33 +27,24 @@ goes... Still completely doable though. :-) #include "memory.h" -uint8 jagMemSpace[0xF20000]; // The entire memory space of the Jaguar...! +uint8_t jagMemSpace[0xF20000]; // The entire memory space of the Jaguar...! -uint8 * jaguarMainRAM = &jagMemSpace[0x000000]; -uint8 * jaguarMainROM = &jagMemSpace[0x800000]; -uint8 * cdRAM = &jagMemSpace[0xDFFF00]; -uint8 * gpuRAM = &jagMemSpace[0xF03000]; -uint8 * dspRAM = &jagMemSpace[0xF1B000]; - -//uint8 jaguarBootROM[0x040000]; // 68K CPU BIOS ROM--uses only half of this! -//uint8 jaguarCDBootROM[0x040000]; // 68K CPU CD BIOS ROM (256K) -//uint8 jaguarDevBootROM1[0x040000]; // 68K CPU Stubulator 1 ROM--uses only half of this! -//uint8 jaguarDevBootROM2[0x040000]; // 68K CPU Stubulator 2 ROM--uses only half of this! -//uint8 jaguarDevCDBootROM[0x040000]; // 68K CPU Dev CD BIOS ROM (256K) - -// This is an ORed value showing which BIOSes having been loaded into memory. -//int biosAvailable = 0; +uint8_t * jaguarMainRAM = &jagMemSpace[0x000000]; +uint8_t * jaguarMainROM = &jagMemSpace[0x800000]; +uint8_t * cdRAM = &jagMemSpace[0xDFFF00]; +uint8_t * gpuRAM = &jagMemSpace[0xF03000]; +uint8_t * dspRAM = &jagMemSpace[0xF1B000]; #if 0 union Word { - uint16 word; + uint16_t word; struct { // This changes depending on endianness... #ifdef __BIG_ENDIAN__ - uint8 hi, lo; // Big endian + uint8_t hi, lo; // Big endian #else - uint8 lo, hi; // Little endian + uint8_t lo, hi; // Little endian #endif }; }; @@ -62,13 +53,13 @@ union Word #if 0 union DWord { - uint32 dword; + uint32_t dword; struct { #ifdef __BIG_ENDIAN__ - uint16 hiw, low; + uint16_t hiw, low; #else - uint16 low, hiw; + uint16_t low, hiw; #endif }; }; @@ -123,19 +114,19 @@ unsigned long ByteSwap1 (unsigned long nLongNumber) //Not sure if this is a good approach yet... //should be if we use proper aliasing, and htonl and friends... #if 1 -uint32 & butch = *((uint32 *)&jagMemSpace[0xDFFF00]); // base of Butch == interrupt control register, R/W -uint32 & dscntrl = *((uint32 *)&jagMemSpace[0xDFFF04]); // DSA control register, R/W -uint16 & ds_data = *((uint16 *)&jagMemSpace[0xDFFF0A]); // DSA TX/RX data, R/W -uint32 & i2cntrl = *((uint32 *)&jagMemSpace[0xDFFF10]); // i2s bus control register, R/W -uint32 & sbcntrl = *((uint32 *)&jagMemSpace[0xDFFF14]); // CD subcode control register, R/W -uint32 & subdata = *((uint32 *)&jagMemSpace[0xDFFF18]); // Subcode data register A -uint32 & subdatb = *((uint32 *)&jagMemSpace[0xDFFF1C]); // Subcode data register B -uint32 & sb_time = *((uint32 *)&jagMemSpace[0xDFFF20]); // Subcode time and compare enable (D24) -uint32 & fifo_data = *((uint32 *)&jagMemSpace[0xDFFF24]); // i2s FIFO data -uint32 & i2sdat2 = *((uint32 *)&jagMemSpace[0xDFFF28]); // i2s FIFO data (old) -uint32 & unknown = *((uint32 *)&jagMemSpace[0xDFFF2C]); // Seems to be some sort of I2S interface +uint32_t & butch = *((uint32_t *)&jagMemSpace[0xDFFF00]); // base of Butch == interrupt control register, R/W +uint32_t & dscntrl = *((uint32_t *)&jagMemSpace[0xDFFF04]); // DSA control register, R/W +uint16_t & ds_data = *((uint16_t *)&jagMemSpace[0xDFFF0A]); // DSA TX/RX data, R/W +uint32_t & i2cntrl = *((uint32_t *)&jagMemSpace[0xDFFF10]); // i2s bus control register, R/W +uint32_t & sbcntrl = *((uint32_t *)&jagMemSpace[0xDFFF14]); // CD subcode control register, R/W +uint32_t & subdata = *((uint32_t *)&jagMemSpace[0xDFFF18]); // Subcode data register A +uint32_t & subdatb = *((uint32_t *)&jagMemSpace[0xDFFF1C]); // Subcode data register B +uint32_t & sb_time = *((uint32_t *)&jagMemSpace[0xDFFF20]); // Subcode time and compare enable (D24) +uint32_t & fifo_data = *((uint32_t *)&jagMemSpace[0xDFFF24]); // i2s FIFO data +uint32_t & i2sdat2 = *((uint32_t *)&jagMemSpace[0xDFFF28]); // i2s FIFO data (old) +uint32_t & unknown = *((uint32_t *)&jagMemSpace[0xDFFF2C]); // Seems to be some sort of I2S interface #else -uint32 butch, dscntrl, ds_data, i2cntrl, sbcntrl, subdata, subdatb, sb_time, fifo_data, i2sdat2, unknown; +uint32_t butch, dscntrl, ds_data, i2cntrl, sbcntrl, subdata, subdatb, sb_time, fifo_data, i2sdat2, unknown; #endif #warning "Need to separate out this stuff (or do we???)" @@ -158,116 +149,116 @@ uint32 butch, dscntrl, ds_data, i2cntrl, sbcntrl, subdata, subdatb, sb_time, fif // Look at and see if that header is portable or not. -uint16 & memcon1 = *((uint16 *)&jagMemSpace[0xF00000]); -uint16 & memcon2 = *((uint16 *)&jagMemSpace[0xF00002]); -uint16 & hc = *((uint16 *)&jagMemSpace[0xF00004]); -uint16 & vc = *((uint16 *)&jagMemSpace[0xF00006]); -uint16 & lph = *((uint16 *)&jagMemSpace[0xF00008]); -uint16 & lpv = *((uint16 *)&jagMemSpace[0xF0000A]); -uint64 & obData = *((uint64 *)&jagMemSpace[0xF00010]); -uint32 & olp = *((uint32 *)&jagMemSpace[0xF00020]); -uint16 & obf = *((uint16 *)&jagMemSpace[0xF00026]); -uint16 & vmode = *((uint16 *)&jagMemSpace[0xF00028]); -uint16 & bord1 = *((uint16 *)&jagMemSpace[0xF0002A]); -uint16 & bord2 = *((uint16 *)&jagMemSpace[0xF0002C]); -uint16 & hp = *((uint16 *)&jagMemSpace[0xF0002E]); -uint16 & hbb = *((uint16 *)&jagMemSpace[0xF00030]); -uint16 & hbe = *((uint16 *)&jagMemSpace[0xF00032]); -uint16 & hs = *((uint16 *)&jagMemSpace[0xF00034]); -uint16 & hvs = *((uint16 *)&jagMemSpace[0xF00036]); -uint16 & hdb1 = *((uint16 *)&jagMemSpace[0xF00038]); -uint16 & hdb2 = *((uint16 *)&jagMemSpace[0xF0003A]); -uint16 & hde = *((uint16 *)&jagMemSpace[0xF0003C]); -uint16 & vp = *((uint16 *)&jagMemSpace[0xF0003E]); -uint16 & vbb = *((uint16 *)&jagMemSpace[0xF00040]); -uint16 & vbe = *((uint16 *)&jagMemSpace[0xF00042]); -uint16 & vs = *((uint16 *)&jagMemSpace[0xF00044]); -uint16 & vdb = *((uint16 *)&jagMemSpace[0xF00046]); -uint16 & vde = *((uint16 *)&jagMemSpace[0xF00048]); -uint16 & veb = *((uint16 *)&jagMemSpace[0xF0004A]); -uint16 & vee = *((uint16 *)&jagMemSpace[0xF0004C]); -uint16 & vi = *((uint16 *)&jagMemSpace[0xF0004E]); -uint16 & pit0 = *((uint16 *)&jagMemSpace[0xF00050]); -uint16 & pit1 = *((uint16 *)&jagMemSpace[0xF00052]); -uint16 & heq = *((uint16 *)&jagMemSpace[0xF00054]); -uint32 & bg = *((uint32 *)&jagMemSpace[0xF00058]); -uint16 & int1 = *((uint16 *)&jagMemSpace[0xF000E0]); -uint16 & int2 = *((uint16 *)&jagMemSpace[0xF000E2]); -uint8 * clut = (uint8 *) &jagMemSpace[0xF00400]; -uint8 * lbuf = (uint8 *) &jagMemSpace[0xF00800]; -uint32 & g_flags = *((uint32 *)&jagMemSpace[0xF02100]); -uint32 & g_mtxc = *((uint32 *)&jagMemSpace[0xF02104]); -uint32 & g_mtxa = *((uint32 *)&jagMemSpace[0xF02108]); -uint32 & g_end = *((uint32 *)&jagMemSpace[0xF0210C]); -uint32 & g_pc = *((uint32 *)&jagMemSpace[0xF02110]); -uint32 & g_ctrl = *((uint32 *)&jagMemSpace[0xF02114]); -uint32 & g_hidata = *((uint32 *)&jagMemSpace[0xF02118]); -uint32 & g_divctrl = *((uint32 *)&jagMemSpace[0xF0211C]); -uint32 g_remain; // Dual register with $F0211C -uint32 & a1_base = *((uint32 *)&jagMemSpace[0xF02200]); -uint32 & a1_flags = *((uint32 *)&jagMemSpace[0xF02204]); -uint32 & a1_clip = *((uint32 *)&jagMemSpace[0xF02208]); -uint32 & a1_pixel = *((uint32 *)&jagMemSpace[0xF0220C]); -uint32 & a1_step = *((uint32 *)&jagMemSpace[0xF02210]); -uint32 & a1_fstep = *((uint32 *)&jagMemSpace[0xF02214]); -uint32 & a1_fpixel = *((uint32 *)&jagMemSpace[0xF02218]); -uint32 & a1_inc = *((uint32 *)&jagMemSpace[0xF0221C]); -uint32 & a1_finc = *((uint32 *)&jagMemSpace[0xF02220]); -uint32 & a2_base = *((uint32 *)&jagMemSpace[0xF02224]); -uint32 & a2_flags = *((uint32 *)&jagMemSpace[0xF02228]); -uint32 & a2_mask = *((uint32 *)&jagMemSpace[0xF0222C]); -uint32 & a2_pixel = *((uint32 *)&jagMemSpace[0xF02230]); -uint32 & a2_step = *((uint32 *)&jagMemSpace[0xF02234]); -uint32 & b_cmd = *((uint32 *)&jagMemSpace[0xF02238]); -uint32 & b_count = *((uint32 *)&jagMemSpace[0xF0223C]); -uint64 & b_srcd = *((uint64 *)&jagMemSpace[0xF02240]); -uint64 & b_dstd = *((uint64 *)&jagMemSpace[0xF02248]); -uint64 & b_dstz = *((uint64 *)&jagMemSpace[0xF02250]); -uint64 & b_srcz1 = *((uint64 *)&jagMemSpace[0xF02258]); -uint64 & b_srcz2 = *((uint64 *)&jagMemSpace[0xF02260]); -uint64 & b_patd = *((uint64 *)&jagMemSpace[0xF02268]); -uint32 & b_iinc = *((uint32 *)&jagMemSpace[0xF02270]); -uint32 & b_zinc = *((uint32 *)&jagMemSpace[0xF02274]); -uint32 & b_stop = *((uint32 *)&jagMemSpace[0xF02278]); -uint32 & b_i3 = *((uint32 *)&jagMemSpace[0xF0227C]); -uint32 & b_i2 = *((uint32 *)&jagMemSpace[0xF02280]); -uint32 & b_i1 = *((uint32 *)&jagMemSpace[0xF02284]); -uint32 & b_i0 = *((uint32 *)&jagMemSpace[0xF02288]); -uint32 & b_z3 = *((uint32 *)&jagMemSpace[0xF0228C]); -uint32 & b_z2 = *((uint32 *)&jagMemSpace[0xF02290]); -uint32 & b_z1 = *((uint32 *)&jagMemSpace[0xF02294]); -uint32 & b_z0 = *((uint32 *)&jagMemSpace[0xF02298]); -uint16 & jpit1 = *((uint16 *)&jagMemSpace[0xF10000]); -uint16 & jpit2 = *((uint16 *)&jagMemSpace[0xF10002]); -uint16 & jpit3 = *((uint16 *)&jagMemSpace[0xF10004]); -uint16 & jpit4 = *((uint16 *)&jagMemSpace[0xF10006]); -uint16 & clk1 = *((uint16 *)&jagMemSpace[0xF10010]); -uint16 & clk2 = *((uint16 *)&jagMemSpace[0xF10012]); -uint16 & clk3 = *((uint16 *)&jagMemSpace[0xF10014]); -uint16 & j_int = *((uint16 *)&jagMemSpace[0xF10020]); -uint16 & asidata = *((uint16 *)&jagMemSpace[0xF10030]); -uint16 & asictrl = *((uint16 *)&jagMemSpace[0xF10032]); -uint16 asistat; // Dual register with $F10032 -uint16 & asiclk = *((uint16 *)&jagMemSpace[0xF10034]); -uint16 & joystick = *((uint16 *)&jagMemSpace[0xF14000]); -uint16 & joybuts = *((uint16 *)&jagMemSpace[0xF14002]); -uint32 & d_flags = *((uint32 *)&jagMemSpace[0xF1A100]); -uint32 & d_mtxc = *((uint32 *)&jagMemSpace[0xF1A104]); -uint32 & d_mtxa = *((uint32 *)&jagMemSpace[0xF1A108]); -uint32 & d_end = *((uint32 *)&jagMemSpace[0xF1A10C]); -uint32 & d_pc = *((uint32 *)&jagMemSpace[0xF1A110]); -uint32 & d_ctrl = *((uint32 *)&jagMemSpace[0xF1A114]); -uint32 & d_mod = *((uint32 *)&jagMemSpace[0xF1A118]); -uint32 & d_divctrl = *((uint32 *)&jagMemSpace[0xF1A11C]); -uint32 d_remain; // Dual register with $F0211C -uint32 & d_machi = *((uint32 *)&jagMemSpace[0xF1A120]); -uint16 & ltxd = *((uint16 *)&jagMemSpace[0xF1A148]); -uint16 lrxd; // Dual register with $F1A148 -uint16 & rtxd = *((uint16 *)&jagMemSpace[0xF1A14C]); -uint16 rrxd; // Dual register with $F1A14C -uint8 & sclk = *((uint8 *) &jagMemSpace[0xF1A150]); -uint8 sstat; // Dual register with $F1A150 -uint32 & smode = *((uint32 *)&jagMemSpace[0xF1A154]); +uint16_t & memcon1 = *((uint16_t *)&jagMemSpace[0xF00000]); +uint16_t & memcon2 = *((uint16_t *)&jagMemSpace[0xF00002]); +uint16_t & hc = *((uint16_t *)&jagMemSpace[0xF00004]); +uint16_t & vc = *((uint16_t *)&jagMemSpace[0xF00006]); +uint16_t & lph = *((uint16_t *)&jagMemSpace[0xF00008]); +uint16_t & lpv = *((uint16_t *)&jagMemSpace[0xF0000A]); +uint64_t & obData = *((uint64_t *)&jagMemSpace[0xF00010]); +uint32_t & olp = *((uint32_t *)&jagMemSpace[0xF00020]); +uint16_t & obf = *((uint16_t *)&jagMemSpace[0xF00026]); +uint16_t & vmode = *((uint16_t *)&jagMemSpace[0xF00028]); +uint16_t & bord1 = *((uint16_t *)&jagMemSpace[0xF0002A]); +uint16_t & bord2 = *((uint16_t *)&jagMemSpace[0xF0002C]); +uint16_t & hp = *((uint16_t *)&jagMemSpace[0xF0002E]); +uint16_t & hbb = *((uint16_t *)&jagMemSpace[0xF00030]); +uint16_t & hbe = *((uint16_t *)&jagMemSpace[0xF00032]); +uint16_t & hs = *((uint16_t *)&jagMemSpace[0xF00034]); +uint16_t & hvs = *((uint16_t *)&jagMemSpace[0xF00036]); +uint16_t & hdb1 = *((uint16_t *)&jagMemSpace[0xF00038]); +uint16_t & hdb2 = *((uint16_t *)&jagMemSpace[0xF0003A]); +uint16_t & hde = *((uint16_t *)&jagMemSpace[0xF0003C]); +uint16_t & vp = *((uint16_t *)&jagMemSpace[0xF0003E]); +uint16_t & vbb = *((uint16_t *)&jagMemSpace[0xF00040]); +uint16_t & vbe = *((uint16_t *)&jagMemSpace[0xF00042]); +uint16_t & vs = *((uint16_t *)&jagMemSpace[0xF00044]); +uint16_t & vdb = *((uint16_t *)&jagMemSpace[0xF00046]); +uint16_t & vde = *((uint16_t *)&jagMemSpace[0xF00048]); +uint16_t & veb = *((uint16_t *)&jagMemSpace[0xF0004A]); +uint16_t & vee = *((uint16_t *)&jagMemSpace[0xF0004C]); +uint16_t & vi = *((uint16_t *)&jagMemSpace[0xF0004E]); +uint16_t & pit0 = *((uint16_t *)&jagMemSpace[0xF00050]); +uint16_t & pit1 = *((uint16_t *)&jagMemSpace[0xF00052]); +uint16_t & heq = *((uint16_t *)&jagMemSpace[0xF00054]); +uint32_t & bg = *((uint32_t *)&jagMemSpace[0xF00058]); +uint16_t & int1 = *((uint16_t *)&jagMemSpace[0xF000E0]); +uint16_t & int2 = *((uint16_t *)&jagMemSpace[0xF000E2]); +uint8_t * clut = (uint8_t *) &jagMemSpace[0xF00400]; +uint8_t * lbuf = (uint8_t *) &jagMemSpace[0xF00800]; +uint32_t & g_flags = *((uint32_t *)&jagMemSpace[0xF02100]); +uint32_t & g_mtxc = *((uint32_t *)&jagMemSpace[0xF02104]); +uint32_t & g_mtxa = *((uint32_t *)&jagMemSpace[0xF02108]); +uint32_t & g_end = *((uint32_t *)&jagMemSpace[0xF0210C]); +uint32_t & g_pc = *((uint32_t *)&jagMemSpace[0xF02110]); +uint32_t & g_ctrl = *((uint32_t *)&jagMemSpace[0xF02114]); +uint32_t & g_hidata = *((uint32_t *)&jagMemSpace[0xF02118]); +uint32_t & g_divctrl = *((uint32_t *)&jagMemSpace[0xF0211C]); +uint32_t g_remain; // Dual register with $F0211C +uint32_t & a1_base = *((uint32_t *)&jagMemSpace[0xF02200]); +uint32_t & a1_flags = *((uint32_t *)&jagMemSpace[0xF02204]); +uint32_t & a1_clip = *((uint32_t *)&jagMemSpace[0xF02208]); +uint32_t & a1_pixel = *((uint32_t *)&jagMemSpace[0xF0220C]); +uint32_t & a1_step = *((uint32_t *)&jagMemSpace[0xF02210]); +uint32_t & a1_fstep = *((uint32_t *)&jagMemSpace[0xF02214]); +uint32_t & a1_fpixel = *((uint32_t *)&jagMemSpace[0xF02218]); +uint32_t & a1_inc = *((uint32_t *)&jagMemSpace[0xF0221C]); +uint32_t & a1_finc = *((uint32_t *)&jagMemSpace[0xF02220]); +uint32_t & a2_base = *((uint32_t *)&jagMemSpace[0xF02224]); +uint32_t & a2_flags = *((uint32_t *)&jagMemSpace[0xF02228]); +uint32_t & a2_mask = *((uint32_t *)&jagMemSpace[0xF0222C]); +uint32_t & a2_pixel = *((uint32_t *)&jagMemSpace[0xF02230]); +uint32_t & a2_step = *((uint32_t *)&jagMemSpace[0xF02234]); +uint32_t & b_cmd = *((uint32_t *)&jagMemSpace[0xF02238]); +uint32_t & b_count = *((uint32_t *)&jagMemSpace[0xF0223C]); +uint64_t & b_srcd = *((uint64_t *)&jagMemSpace[0xF02240]); +uint64_t & b_dstd = *((uint64_t *)&jagMemSpace[0xF02248]); +uint64_t & b_dstz = *((uint64_t *)&jagMemSpace[0xF02250]); +uint64_t & b_srcz1 = *((uint64_t *)&jagMemSpace[0xF02258]); +uint64_t & b_srcz2 = *((uint64_t *)&jagMemSpace[0xF02260]); +uint64_t & b_patd = *((uint64_t *)&jagMemSpace[0xF02268]); +uint32_t & b_iinc = *((uint32_t *)&jagMemSpace[0xF02270]); +uint32_t & b_zinc = *((uint32_t *)&jagMemSpace[0xF02274]); +uint32_t & b_stop = *((uint32_t *)&jagMemSpace[0xF02278]); +uint32_t & b_i3 = *((uint32_t *)&jagMemSpace[0xF0227C]); +uint32_t & b_i2 = *((uint32_t *)&jagMemSpace[0xF02280]); +uint32_t & b_i1 = *((uint32_t *)&jagMemSpace[0xF02284]); +uint32_t & b_i0 = *((uint32_t *)&jagMemSpace[0xF02288]); +uint32_t & b_z3 = *((uint32_t *)&jagMemSpace[0xF0228C]); +uint32_t & b_z2 = *((uint32_t *)&jagMemSpace[0xF02290]); +uint32_t & b_z1 = *((uint32_t *)&jagMemSpace[0xF02294]); +uint32_t & b_z0 = *((uint32_t *)&jagMemSpace[0xF02298]); +uint16_t & jpit1 = *((uint16_t *)&jagMemSpace[0xF10000]); +uint16_t & jpit2 = *((uint16_t *)&jagMemSpace[0xF10002]); +uint16_t & jpit3 = *((uint16_t *)&jagMemSpace[0xF10004]); +uint16_t & jpit4 = *((uint16_t *)&jagMemSpace[0xF10006]); +uint16_t & clk1 = *((uint16_t *)&jagMemSpace[0xF10010]); +uint16_t & clk2 = *((uint16_t *)&jagMemSpace[0xF10012]); +uint16_t & clk3 = *((uint16_t *)&jagMemSpace[0xF10014]); +uint16_t & j_int = *((uint16_t *)&jagMemSpace[0xF10020]); +uint16_t & asidata = *((uint16_t *)&jagMemSpace[0xF10030]); +uint16_t & asictrl = *((uint16_t *)&jagMemSpace[0xF10032]); +uint16_t asistat; // Dual register with $F10032 +uint16_t & asiclk = *((uint16_t *)&jagMemSpace[0xF10034]); +uint16_t & joystick = *((uint16_t *)&jagMemSpace[0xF14000]); +uint16_t & joybuts = *((uint16_t *)&jagMemSpace[0xF14002]); +uint32_t & d_flags = *((uint32_t *)&jagMemSpace[0xF1A100]); +uint32_t & d_mtxc = *((uint32_t *)&jagMemSpace[0xF1A104]); +uint32_t & d_mtxa = *((uint32_t *)&jagMemSpace[0xF1A108]); +uint32_t & d_end = *((uint32_t *)&jagMemSpace[0xF1A10C]); +uint32_t & d_pc = *((uint32_t *)&jagMemSpace[0xF1A110]); +uint32_t & d_ctrl = *((uint32_t *)&jagMemSpace[0xF1A114]); +uint32_t & d_mod = *((uint32_t *)&jagMemSpace[0xF1A118]); +uint32_t & d_divctrl = *((uint32_t *)&jagMemSpace[0xF1A11C]); +uint32_t d_remain; // Dual register with $F0211C +uint32_t & d_machi = *((uint32_t *)&jagMemSpace[0xF1A120]); +uint16_t & ltxd = *((uint16_t *)&jagMemSpace[0xF1A148]); +uint16_t lrxd; // Dual register with $F1A148 +uint16_t & rtxd = *((uint16_t *)&jagMemSpace[0xF1A14C]); +uint16_t rrxd; // Dual register with $F1A14C +uint8_t & sclk = *((uint8_t *) &jagMemSpace[0xF1A150]); +uint8_t sstat; // Dual register with $F1A150 +uint32_t & smode = *((uint32_t *)&jagMemSpace[0xF1A154]); // Memory debugging identifiers diff --git a/src/memory.h b/src/memory.h index e081550..81f96c9 100644 --- a/src/memory.h +++ b/src/memory.h @@ -7,65 +7,60 @@ #ifndef __MEMORY_H__ #define __MEMORY_H__ -#include "types.h" +#include -extern uint8 jagMemSpace[]; +extern uint8_t jagMemSpace[]; -extern uint8 * jaguarMainRAM; -extern uint8 * jaguarMainROM; -//extern uint8 jaguarBootROM[]; -//extern uint8 jaguarCDBootROM[]; -//extern uint8 jaguarDevBootROM1[]; -//extern uint8 jaguarDevBootROM2[]; -//extern uint8 jaguarDevCDBootROM[]; -extern uint8 * gpuRAM; -extern uint8 * dspRAM; +extern uint8_t * jaguarMainRAM; +extern uint8_t * jaguarMainROM; +extern uint8_t * gpuRAM; +extern uint8_t * dspRAM; #if 1 -extern uint32 & butch, & dscntrl; -extern uint16 & ds_data; -extern uint32 & i2cntrl, & sbcntrl, & subdata, & subdatb, & sb_time, & fifo_data, & i2sdat2, & unknown; +extern uint32_t & butch, & dscntrl; +extern uint16_t & ds_data; +extern uint32_t & i2cntrl, & sbcntrl, & subdata, & subdatb, & sb_time, & fifo_data, & i2sdat2, & unknown; #else -extern uint32 butch, dscntrl, ds_data, i2cntrl, sbcntrl, subdata, subdatb, sb_time, fifo_data, i2sdat2, unknown; +extern uint32_t butch, dscntrl, ds_data, i2cntrl, sbcntrl, subdata, subdatb, sb_time, fifo_data, i2sdat2, unknown; #endif -extern uint16 & memcon1, & memcon2, & hc, & vc, & lph, & lpv; -extern uint64 & obData; -extern uint32 & olp; -extern uint16 & obf, & vmode, & bord1, & bord2, & hp, & hbb, & hbe, & hs, +extern uint16_t & memcon1, & memcon2, & hc, & vc, & lph, & lpv; +extern uint64_t & obData; +extern uint32_t & olp; +extern uint16_t & obf, & vmode, & bord1, & bord2, & hp, & hbb, & hbe, & hs, & hvs, & hdb1, & hdb2, & hde, & vp, & vbb, & vbe, & vs, & vdb, & vde, & veb, & vee, & vi, & pit0, & pit1, & heq; -extern uint32 & bg; -extern uint16 & int1, & int2; -extern uint8 * clut, * lbuf; -extern uint32 & g_flags, & g_mtxc, & g_mtxa, & g_end, & g_pc, & g_ctrl, +extern uint32_t & bg; +extern uint16_t & int1, & int2; +extern uint8_t * clut, * lbuf; +extern uint32_t & g_flags, & g_mtxc, & g_mtxa, & g_end, & g_pc, & g_ctrl, & g_hidata, & g_divctrl; -extern uint32 g_remain; -extern uint32 & a1_base, & a1_flags, & a1_clip, & a1_pixel, & a1_step, +extern uint32_t g_remain; +extern uint32_t & a1_base, & a1_flags, & a1_clip, & a1_pixel, & a1_step, & a1_fstep, & a1_fpixel, & a1_inc, & a1_finc, & a2_base, & a2_flags, & a2_mask, & a2_pixel, & a2_step, & b_cmd, & b_count; -extern uint64 & b_srcd, & b_dstd, & b_dstz, & b_srcz1, & b_srcz2, & b_patd; -extern uint32 & b_iinc, & b_zinc, & b_stop, & b_i3, & b_i2, & b_i1, & b_i0, & b_z3, +extern uint64_t & b_srcd, & b_dstd, & b_dstz, & b_srcz1, & b_srcz2, & b_patd; +extern uint32_t & b_iinc, & b_zinc, & b_stop, & b_i3, & b_i2, & b_i1, & b_i0, & b_z3, & b_z2, & b_z1, & b_z0; -extern uint16 & jpit1, & jpit2, & jpit3, & jpit4, & clk1, & clk2, & clk3, & j_int, +extern uint16_t & jpit1, & jpit2, & jpit3, & jpit4, & clk1, & clk2, & clk3, & j_int, & asidata, & asictrl; -extern uint16 asistat; -extern uint16 & asiclk, & joystick, & joybuts; -extern uint32 & d_flags, & d_mtxc, & d_mtxa, & d_end, & d_pc, & d_ctrl, +extern uint16_t asistat; +extern uint16_t & asiclk, & joystick, & joybuts; +extern uint32_t & d_flags, & d_mtxc, & d_mtxa, & d_end, & d_pc, & d_ctrl, & d_mod, & d_divctrl; -extern uint32 d_remain; -extern uint32 & d_machi; -extern uint16 & ltxd, lrxd, & rtxd, rrxd; -extern uint8 & sclk, sstat; -extern uint32 & smode; +extern uint32_t d_remain; +extern uint32_t & d_machi; +extern uint16_t & ltxd, lrxd, & rtxd, rrxd; +extern uint8_t & sclk, sstat; +extern uint32_t & smode; /* -uint16 & ltxd = *((uint16 *)&jagMemSpace[0xF1A148]); -uint16 lrxd; // Dual register with $F1A148 -uint16 & rtxd = *((uint16 *)&jagMemSpace[0xF1A14C]); -uint16 rrxd; // Dual register with $F1A14C -uint8 & sclk = *((uint8 *) &jagMemSpace[0xF1A150]); -uint8 sstat; // Dual register with $F1A150 -uint32 & smode = *((uint32 *)&jagMemSpace[0xF1A154]); +uint16_t & ltxd = *((uint16_t *)&jagMemSpace[0xF1A148]); +uint16_t lrxd; // Dual register with $F1A148 +uint16_t & rtxd = *((uint16_t *)&jagMemSpace[0xF1A14C]); +uint16_t rrxd; // Dual register with $F1A14C +uint8_t & sclk = *((uint8_t *) &jagMemSpace[0xF1A150]); +uint8_t sstat; // Dual register with $F1A150 +uint32_t & smode = *((uint32_t *)&jagMemSpace[0xF1A154]); */ // Read/write tracing enumeration @@ -85,10 +80,10 @@ extern const char * whoName[9]; r[(a)+2] = ((v) & 0x0000FF0000000000) >> 40, r[(a)+3] = ((v) & 0x000000FF00000000) >> 32, \ r[(a)+4] = ((v) & 0xFF000000) >> 24, r[(a)+5] = ((v) & 0x00FF0000) >> 16, \ r[(a)+6] = ((v) & 0x0000FF00) >> 8, r[(a)+7] = (v) & 0x000000FF -#define GET64(r, a) (((uint64)r[(a)] << 56) | ((uint64)r[(a)+1] << 48) | \ - ((uint64)r[(a)+2] << 40) | ((uint64)r[(a)+3] << 32) | \ - ((uint64)r[(a)+4] << 24) | ((uint64)r[(a)+5] << 16) | \ - ((uint64)r[(a)+6] << 8) | (uint64)r[(a)+7]) +#define GET64(r, a) (((uint64_t)r[(a)] << 56) | ((uint64_t)r[(a)+1] << 48) | \ + ((uint64_t)r[(a)+2] << 40) | ((uint64_t)r[(a)+3] << 32) | \ + ((uint64_t)r[(a)+4] << 24) | ((uint64_t)r[(a)+5] << 16) | \ + ((uint64_t)r[(a)+6] << 8) | (uint64_t)r[(a)+7]) #define SET32(r, a, v) r[(a)] = ((v) & 0xFF000000) >> 24, r[(a)+1] = ((v) & 0x00FF0000) >> 16, \ r[(a)+2] = ((v) & 0x0000FF00) >> 8, r[(a)+3] = (v) & 0x000000FF #define GET32(r, a) ((r[(a)] << 24) | (r[(a)+1] << 16) | (r[(a)+2] << 8) | r[(a)+3]) diff --git a/src/mmu.cpp b/src/mmu.cpp index 67c9b8a..3897389 100644 --- a/src/mmu.cpp +++ b/src/mmu.cpp @@ -186,13 +186,13 @@ Should we have a read mask as well, for the purposes of reading? */ struct MemDesc { - uint32 startAddr; - uint32 endAddr; + uint32_t startAddr; + uint32_t endAddr; MemType type; // (void (* ioFunc)(uint32, uint32)); // <-- could also be a pointer to RAM... void * readFunc; // This is read & write with MM_IO void * writeFunc; - uint32 mask; + uint32_t mask; }; @@ -376,7 +376,7 @@ MemDesc memoryMap[] = { #if 0 // Jaguar Memory map/handlers -uint32 memoryMap[] = { +uint32_t memoryMap[] = { { 0x000000, 0x3FFFFF, MM_RAM, jaguarMainRAM }, { 0x800000, 0xDFFEFF, MM_ROM, jaguarMainROM }, // Note that this is really memory mapped I/O region... @@ -467,31 +467,31 @@ C3 = C2 = 1 means std. Jag. cntrlr. or nothing attached. }; #endif -void MMUWrite8(uint32 address, uint8 data, uint32 who/*= UNKNOWN*/) +void MMUWrite8(uint32_t address, uint8_t data, uint32_t who/*= UNKNOWN*/) { } -void MMUWrite16(uint32 address, uint16 data, uint32 who/*= UNKNOWN*/) +void MMUWrite16(uint32_t address, uint16_t data, uint32_t who/*= UNKNOWN*/) { } -void MMUWrite32(uint32 address, uint32 data, uint32 who/*= UNKNOWN*/) +void MMUWrite32(uint32_t address, uint32_t data, uint32_t who/*= UNKNOWN*/) { } -void MMUWrite64(uint32 address, uint64 data, uint32 who/*= UNKNOWN*/) +void MMUWrite64(uint32_t address, uint64_t data, uint32_t who/*= UNKNOWN*/) { } -uint8 MMURead8(uint32 address, uint32 who/*= UNKNOWN*/) +uint8_t MMURead8(uint32_t address, uint32_t who/*= UNKNOWN*/) { // Search for address in the memory map // NOTE: This assumes that all entries are linear and sorted in ascending order! MemDesc memory; - uint8 byte = 0xFE; + uint8_t byte = 0xFE; - uint32 i = 0; + uint32_t i = 0; while (true) { if (address <= memoryMap[i].endAddr) @@ -511,13 +511,13 @@ uint8 MMURead8(uint32 address, uint32 who/*= UNKNOWN*/) return 0xFF; // Exhausted the list, so bail! } - uint32 offset = address - memory.startAddr; - uint32 size = memory.endAddr - memory.startAddr + 1; - uint8 byteShift[8] = { 0, 8, 16, 24, 32, 40, 48, 56 }; + uint32_t offset = address - memory.startAddr; + uint32_t size = memory.endAddr - memory.startAddr + 1; + uint8_t byteShift[8] = { 0, 8, 16, 24, 32, 40, 48, 56 }; if (memory.type == MM_RAM || memory.type == MM_ROM) { - byte = ((uint8 *)memory.readFunc)[offset]; + byte = ((uint8_t *)memory.readFunc)[offset]; } else if (memory.type == MM_IO_R || memory.type == MM_IO) { @@ -527,14 +527,14 @@ uint8 MMURead8(uint32 address, uint32 who/*= UNKNOWN*/) // still have the problem of, say, taking a byte from a 32-bit value. /* We can do like so: - uint8 byteShift[8] = { 0, 8, 16, 24, 32, 40, 48, 56 }; + uint8_t byteShift[8] = { 0, 8, 16, 24, 32, 40, 48, 56 }; size = memory.endAddr - memory.startAddr + 1; byte = (returnValFromFunc >> byteShift[offset]) & 0xFF; Let's see, will this work depending on the endianess? -uint32 dword +uint32_t dword accessing it like so: -((uint8 *)dword &)[0] --> should give us high byte +((uint8_t *)dword &)[0] --> should give us high byte but if we assign it directly... dword = 0x12345678 --> becomes 78 56 34 12 in memory, ptr[0] will be 78 in LE! dword = 0x12345678 --> becomes 12 34 56 78 in memory, ptr[0] will be 12 in BE! @@ -544,7 +544,7 @@ So we're in danger if we use the variables directly! We'd need something like #define ENDIAN_SAFE_16(x) do nothing on BE systems Then, if we want to use a jaguar variable, we need to cast it like so: -uint16 my_vbb = ENDIAN_SAFE_16(vbb); +uint16_t my_vbb = ENDIAN_SAFE_16(vbb); We have something like this already in jaguar.h, since we treat I/O spaces like contiguous memory anyway... For reference: @@ -573,11 +573,11 @@ contiguous memory anyway... For reference: // function that it points to. Clear as mud? Yeah, I hate function // pointers too, but what else are you gonna do? // mainWindow = (*(Window *(*)(void))event.user.data1)(); -// uint32 retVal = (*(uint32(*)(uint32))memory.readFunc)(offset); +// uint32_t retVal = (*(uint32(*)(uint32))memory.readFunc)(offset); //#define FUNC_CAST(x) (*(uint32(*)(uint32))x) -// uint32 retVal = FUNC_CAST(memory.readFunc)(offset); +// uint32_t retVal = FUNC_CAST(memory.readFunc)(offset); #define FUNC_CAST(retVal, function, params) (*(retVal(*)(params))function) - uint64 retVal = FUNC_CAST(uint64, memory.readFunc, uint32)(offset); + uint64_t retVal = FUNC_CAST(uint64_t, memory.readFunc, uint32_t)(offset); byte = (retVal >> byteShift[offset]) & 0xFF; } else if (memory.type == MM_IO_W) @@ -588,17 +588,17 @@ contiguous memory anyway... For reference: return byte; } -uint16 MMURead16(uint32 address, uint32 who/*= UNKNOWN*/) +uint16_t MMURead16(uint32_t address, uint32_t who/*= UNKNOWN*/) { return 0; } -uint32 MMURead32(uint32 address, uint32 who/*= UNKNOWN*/) +uint32_t MMURead32(uint32_t address, uint32_t who/*= UNKNOWN*/) { return 0; } -uint64 MMURead64(uint32 address, uint32 who/*= UNKNOWN*/) +uint64_t MMURead64(uint32_t address, uint32_t who/*= UNKNOWN*/) { return 0; } diff --git a/src/mmu.h b/src/mmu.h index 9a04e9f..36ef8d7 100644 --- a/src/mmu.h +++ b/src/mmu.h @@ -12,13 +12,13 @@ //#include "types.h" #include "memory.h" -void MMUWrite8(uint32 address, uint8 data, uint32 who = UNKNOWN); -void MMUWrite16(uint32 address, uint16 data, uint32 who = UNKNOWN); -void MMUWrite32(uint32 address, uint32 data, uint32 who = UNKNOWN); -void MMUWrite64(uint32 address, uint64 data, uint32 who = UNKNOWN); -uint8 MMURead8(uint32 address, uint32 who = UNKNOWN); -uint16 MMURead16(uint32 address, uint32 who = UNKNOWN); -uint32 MMURead32(uint32 address, uint32 who = UNKNOWN); -uint64 MMURead64(uint32 address, uint32 who = UNKNOWN); +void MMUWrite8(uint32_t address, uint8_t data, uint32_t who = UNKNOWN); +void MMUWrite16(uint32_t address, uint16_t data, uint32_t who = UNKNOWN); +void MMUWrite32(uint32_t address, uint32_t data, uint32_t who = UNKNOWN); +void MMUWrite64(uint32_t address, uint64_t data, uint32_t who = UNKNOWN); +uint8_t MMURead8(uint32_t address, uint32_t who = UNKNOWN); +uint16_t MMURead16(uint32_t address, uint32_t who = UNKNOWN); +uint32_t MMURead32(uint32_t address, uint32_t who = UNKNOWN); +uint64_t MMURead64(uint32_t address, uint32_t who = UNKNOWN); #endif // __MMU_H__ diff --git a/src/op.cpp b/src/op.cpp index 516af69..d9b6c66 100644 --- a/src/op.cpp +++ b/src/op.cpp @@ -27,8 +27,8 @@ //#define OP_DEBUG //#define OP_DEBUG_BMP -#define BLEND_Y(dst, src) op_blend_y[(((uint16)dst<<8)) | ((uint16)(src))] -#define BLEND_CR(dst, src) op_blend_cr[(((uint16)dst)<<8) | ((uint16)(src))] +#define BLEND_Y(dst, src) op_blend_y[(((uint16_t)dst<<8)) | ((uint16_t)(src))] +#define BLEND_CR(dst, src) op_blend_cr[(((uint16_t)dst)<<8) | ((uint16_t)(src))] #define OBJECT_TYPE_BITMAP 0 // 000 #define OBJECT_TYPE_SCALE 1 // 001 @@ -51,34 +51,34 @@ // Private function prototypes -void OPProcessFixedBitmap(uint64 p0, uint64 p1, bool render); -void OPProcessScaledBitmap(uint64 p0, uint64 p1, uint64 p2, bool render); -void OPDiscoverObjects(uint32 address); +void OPProcessFixedBitmap(uint64_t p0, uint64_t p1, bool render); +void OPProcessScaledBitmap(uint64_t p0, uint64_t p1, uint64_t p2, bool render); +void OPDiscoverObjects(uint32_t address); void OPDumpObjectList(void); -void DumpScaledObject(uint64 p0, uint64 p1, uint64 p2); -void DumpFixedObject(uint64 p0, uint64 p1); -void DumpBitmapCore(uint64 p0, uint64 p1); -uint64 OPLoadPhrase(uint32 offset); +void DumpScaledObject(uint64_t p0, uint64_t p1, uint64_t p2); +void DumpFixedObject(uint64_t p0, uint64_t p1); +void DumpBitmapCore(uint64_t p0, uint64_t p1); +uint64_t OPLoadPhrase(uint32_t offset); // Local global variables // Blend tables (64K each) -static uint8 op_blend_y[0x10000]; -static uint8 op_blend_cr[0x10000]; +static uint8_t op_blend_y[0x10000]; +static uint8_t op_blend_cr[0x10000]; // There may be a problem with this "RAM" overlapping (and thus being independent of) // some of the regular TOM RAM... //#warning objectp_ram is separated from TOM RAM--need to fix that! -//static uint8 objectp_ram[0x40]; // This is based at $F00000 -uint8 objectp_running = 0; +//static uint8_t objectp_ram[0x40]; // This is based at $F00000 +uint8_t objectp_running = 0; //bool objectp_stop_reading_list; -static uint8 op_bitmap_bit_depth[8] = { 1, 2, 4, 8, 16, 24, 32, 0 }; -//static uint32 op_bitmap_bit_size[8] = -// { (uint32)(0.125*65536), (uint32)(0.25*65536), (uint32)(0.5*65536), (uint32)(1*65536), -// (uint32)(2*65536), (uint32)(1*65536), (uint32)(1*65536), (uint32)(1*65536) }; -static uint32 op_pointer; +static uint8_t op_bitmap_bit_depth[8] = { 1, 2, 4, 8, 16, 24, 32, 0 }; +//static uint32_t op_bitmap_bit_size[8] = +// { (uint32_t)(0.125*65536), (uint32_t)(0.25*65536), (uint32_t)(0.5*65536), (uint32_t)(1*65536), +// (uint32_t)(2*65536), (uint32_t)(1*65536), (uint32_t)(1*65536), (uint32_t)(1*65536) }; +static uint32_t op_pointer; -int32 phraseWidthToPixels[8] = { 64, 32, 16, 8, 4, 2, 0, 0 }; +int32_t phraseWidthToPixels[8] = { 64, 32, 16, 8, 4, 2, 0, 0 }; // @@ -92,11 +92,11 @@ void OPInit(void) for(int i=0; i<256*256; i++) { int y = (i >> 8) & 0xFF; - int dy = (int8)i; // Sign extend the Y index + int dy = (int8_t)i; // Sign extend the Y index int c1 = (i >> 8) & 0x0F; - int dc1 = (int8)(i << 4) >> 4; // Sign extend the R index + int dc1 = (int8_t)(i << 4) >> 4; // Sign extend the R index int c2 = (i >> 12) & 0x0F; - int dc2 = (int8)(i & 0xF0) >> 4; // Sign extend the C index + int dc2 = (int8_t)(i & 0xF0) >> 4; // Sign extend the C index y += dy; @@ -142,10 +142,10 @@ static const char * opType[8] = { "(BITMAP)", "(SCALED BITMAP)", "(GPU INT)", "(BRANCH)", "(STOP)", "???", "???", "???" }; static const char * ccType[8] = { "==", "<", ">", "(opflag set)", "(second half line)", "?", "?", "?" }; -static uint32 object[8192]; -static uint32 numberOfObjects; -//static uint32 objectLink[8192]; -//static uint32 numberOfLinks; +static uint32_t object[8192]; +static uint32_t numberOfObjects; +//static uint32_t objectLink[8192]; +//static uint32_t numberOfLinks; void OPDone(void) @@ -156,21 +156,21 @@ void OPDone(void) // const char * ccType[8] = // { "\"==\"", "\"<\"", "\">\"", "(opflag set)", "(second half line)", "?", "?", "?" }; - uint32 olp = OPGetListPointer(); + uint32_t olp = OPGetListPointer(); WriteLog("\nOP: OLP = $%08X\n", olp); WriteLog("OP: Phrase dump\n ----------\n"); #if 0 - for(uint32 i=0; i<0x100; i+=8) + for(uint32_t i=0; i<0x100; i+=8) { - uint32 hi = JaguarReadLong(olp + i, OP), lo = JaguarReadLong(olp + i + 4, OP); + uint32_t hi = JaguarReadLong(olp + i, OP), lo = JaguarReadLong(olp + i + 4, OP); WriteLog("\t%08X: %08X %08X %s", olp + i, hi, lo, opType[lo & 0x07]); if ((lo & 0x07) == 3) { - uint16 ypos = (lo >> 3) & 0x7FF; - uint8 cc = (lo >> 14) & 0x03; - uint32 link = ((hi << 11) | (lo >> 21)) & 0x3FFFF8; + uint16_t ypos = (lo >> 3) & 0x7FF; + uint8_t cc = (lo >> 14) & 0x03; + uint32_t link = ((hi << 11) | (lo >> 21)) & 0x3FFFF8; WriteLog(" YPOS=%u, CC=%s, link=%08X", ypos, ccType[cc], link); } @@ -196,10 +196,10 @@ void OPDone(void) } -bool OPObjectExists(uint32 address) +bool OPObjectExists(uint32_t address) { // Yes, we really do a linear search, every time. :-/ - for(uint32 i=0; i> 21)) & 0x3FFFF8; + uint32_t link = ((hi << 11) | (lo >> 21)) & 0x3FFFF8; if (objectType == 3) { @@ -244,20 +244,20 @@ void OPDiscoverObjects(uint32 address) void OPDumpObjectList(void) { - for(uint32 i=0; i> 21)) & 0x3FFFF8; + uint32_t hi = JaguarReadLong(address + 0, OP); + uint32_t lo = JaguarReadLong(address + 4, OP); + uint8_t objectType = lo & 0x07; + uint32_t link = ((hi << 11) | (lo >> 21)) & 0x3FFFF8; WriteLog("%08X: %08X %08X %s -> $08X", address, hi, lo, opType[objectType], link); if (objectType == 3) { - uint16 ypos = (lo >> 3) & 0x7FF; - uint8 cc = (lo >> 14) & 0x07; // Proper # of bits == 3 + uint16_t ypos = (lo >> 3) & 0x7FF; + uint8_t cc = (lo >> 14) & 0x07; // Proper # of bits == 3 WriteLog(" YPOS %s %u", ccType[cc], ypos); } @@ -291,25 +291,25 @@ void OPDumpObjectList(void) // #if 0 -uint8 OPReadByte(uint32 offset, uint32 who/*=UNKNOWN*/) +uint8_t OPReadByte(uint32_t offset, uint32_t who/*=UNKNOWN*/) { offset &= 0x3F; return objectp_ram[offset]; } -uint16 OPReadWord(uint32 offset, uint32 who/*=UNKNOWN*/) +uint16_t OPReadWord(uint32_t offset, uint32_t who/*=UNKNOWN*/) { offset &= 0x3F; return GET16(objectp_ram, offset); } -void OPWriteByte(uint32 offset, uint8 data, uint32 who/*=UNKNOWN*/) +void OPWriteByte(uint32_t offset, uint8_t data, uint32_t who/*=UNKNOWN*/) { offset &= 0x3F; objectp_ram[offset] = data; } -void OPWriteWord(uint32 offset, uint16 data, uint32 who/*=UNKNOWN*/) +void OPWriteWord(uint32_t offset, uint16_t data, uint32_t who/*=UNKNOWN*/) { offset &= 0x3F; SET16(objectp_ram, offset, data); @@ -322,7 +322,7 @@ WriteLog("OP: Setting hi list pointer: %04X\n", data);//*/ #endif -uint32 OPGetListPointer(void) +uint32_t OPGetListPointer(void) { // Note: This register is LO / HI WORD, hence the funky look of this... return GET16(tomRam8, 0x20) | (GET16(tomRam8, 0x22) << 16); @@ -331,7 +331,7 @@ uint32 OPGetListPointer(void) // This is WRONG, since the OBF is only 16 bits wide!!! [FIXED] -uint32 OPGetStatusRegister(void) +uint32_t OPGetStatusRegister(void) { return GET16(tomRam8, 0x26); } @@ -339,14 +339,14 @@ uint32 OPGetStatusRegister(void) // This is WRONG, since the OBF is only 16 bits wide!!! [FIXED] -void OPSetStatusRegister(uint32 data) +void OPSetStatusRegister(uint32_t data) { tomRam8[0x26] = (data & 0x0000FF00) >> 8; tomRam8[0x27] |= (data & 0xFE); } -void OPSetCurrentObject(uint64 object) +void OPSetCurrentObject(uint64_t object) { //Not sure this is right... Wouldn't it just be stored 64 bit BE? // Stored as least significant 32 bits first, ms32 last in big endian @@ -372,14 +372,14 @@ void OPSetCurrentObject(uint64 object) } -uint64 OPLoadPhrase(uint32 offset) +uint64_t OPLoadPhrase(uint32_t offset) { offset &= ~0x07; // 8 byte alignment - return ((uint64)JaguarReadLong(offset, OP) << 32) | (uint64)JaguarReadLong(offset+4, OP); + return ((uint64_t)JaguarReadLong(offset, OP) << 32) | (uint64_t)JaguarReadLong(offset+4, OP); } -void OPStorePhrase(uint32 offset, uint64 p) +void OPStorePhrase(uint32_t offset, uint64_t p) { offset &= ~0x07; // 8 byte alignment JaguarWriteLong(offset, p >> 32, OP); @@ -390,42 +390,42 @@ void OPStorePhrase(uint32 offset, uint64 p) // // Debugging routines // -void DumpScaledObject(uint64 p0, uint64 p1, uint64 p2) +void DumpScaledObject(uint64_t p0, uint64_t p1, uint64_t p2) { - WriteLog(" %08X %08X\n", (uint32)(p1>>32), (uint32)(p1&0xFFFFFFFF)); - WriteLog(" %08X %08X\n", (uint32)(p2>>32), (uint32)(p2&0xFFFFFFFF)); + WriteLog(" %08X %08X\n", (uint32_t)(p1>>32), (uint32_t)(p1&0xFFFFFFFF)); + WriteLog(" %08X %08X\n", (uint32_t)(p2>>32), (uint32_t)(p2&0xFFFFFFFF)); DumpBitmapCore(p0, p1); - uint32 hscale = p2 & 0xFF; - uint32 vscale = (p2 >> 8) & 0xFF; - uint32 remainder = (p2 >> 16) & 0xFF; + uint32_t hscale = p2 & 0xFF; + uint32_t vscale = (p2 >> 8) & 0xFF; + uint32_t remainder = (p2 >> 16) & 0xFF; WriteLog(" [hsc: %02X, vsc: %02X, rem: %02X]\n", hscale, vscale, remainder); } -void DumpFixedObject(uint64 p0, uint64 p1) +void DumpFixedObject(uint64_t p0, uint64_t p1) { - WriteLog(" %08X %08X\n", (uint32)(p1>>32), (uint32)(p1&0xFFFFFFFF)); + WriteLog(" %08X %08X\n", (uint32_t)(p1>>32), (uint32_t)(p1&0xFFFFFFFF)); DumpBitmapCore(p0, p1); } -void DumpBitmapCore(uint64 p0, uint64 p1) +void DumpBitmapCore(uint64_t p0, uint64_t p1) { - uint32 bdMultiplier[8] = { 64, 32, 16, 8, 4, 2, 1, 1 }; - uint8 bitdepth = (p1 >> 12) & 0x07; -//WAS: int16 ypos = ((p0 >> 3) & 0x3FF); // ??? What if not interlaced (/2)? - int16 ypos = ((p0 >> 3) & 0x7FF); // ??? What if not interlaced (/2)? - int32 xpos = p1 & 0xFFF; + uint32_t bdMultiplier[8] = { 64, 32, 16, 8, 4, 2, 1, 1 }; + uint8_t bitdepth = (p1 >> 12) & 0x07; +//WAS: int16_t ypos = ((p0 >> 3) & 0x3FF); // ??? What if not interlaced (/2)? + int16_t ypos = ((p0 >> 3) & 0x7FF); // ??? What if not interlaced (/2)? + int32_t xpos = p1 & 0xFFF; xpos = (xpos & 0x800 ? xpos | 0xFFFFF000 : xpos); // Sign extend that mutha! - uint32 iwidth = ((p1 >> 28) & 0x3FF); - uint32 dwidth = ((p1 >> 18) & 0x3FF); // Unsigned! - uint16 height = ((p0 >> 14) & 0x3FF); - uint32 link = ((p0 >> 24) & 0x7FFFF) << 3; - uint32 ptr = ((p0 >> 43) & 0x1FFFFF) << 3; - uint32 firstPix = (p1 >> 49) & 0x3F; - uint8 flags = (p1 >> 45) & 0x0F; - uint8 idx = (p1 >> 38) & 0x7F; - uint32 pitch = (p1 >> 15) & 0x07; + uint32_t iwidth = ((p1 >> 28) & 0x3FF); + uint32_t dwidth = ((p1 >> 18) & 0x3FF); // Unsigned! + uint16_t height = ((p0 >> 14) & 0x3FF); + uint32_t link = ((p0 >> 24) & 0x7FFFF) << 3; + uint32_t ptr = ((p0 >> 43) & 0x1FFFFF) << 3; + uint32_t firstPix = (p1 >> 49) & 0x3F; + uint8_t flags = (p1 >> 45) & 0x0F; + uint8_t idx = (p1 >> 38) & 0x7F; + uint32_t pitch = (p1 >> 15) & 0x07; WriteLog(" [%u x %u @ (%i, %u) (iw:%u, dw:%u) (%u bpp), p:%08X fp:%02X, fl:%s%s%s%s, idx:%02X, pt:%02X]\n", iwidth * bdMultiplier[bitdepth], height, xpos, ypos, iwidth, dwidth, op_bitmap_bit_depth[bitdepth], @@ -464,7 +464,7 @@ bool inhibit; int bitmapCounter = 0; // *** END OP PROCESSOR TESTING ONLY *** - uint32 opCyclesToRun = 30000; // This is a pulled-out-of-the-air value (will need to be fixed, obviously!) + uint32_t opCyclesToRun = 30000; // This is a pulled-out-of-the-air value (will need to be fixed, obviously!) // if (op_pointer) WriteLog(" new op list at 0x%.8x halfline %i\n",op_pointer,halfline); while (op_pointer) @@ -478,9 +478,9 @@ else // if (objectp_stop_reading_list) // return; - uint64 p0 = OPLoadPhrase(op_pointer); + uint64_t p0 = OPLoadPhrase(op_pointer); op_pointer += 8; -//WriteLog("\t%08X type %i\n", op_pointer, (uint8)p0 & 0x07); +//WriteLog("\t%08X type %i\n", op_pointer, (uint8_t)p0 & 0x07); #if 1 if (halfline == TOMGetVDB() && op_start_log) @@ -492,50 +492,50 @@ WriteLog("%08X --> phrase %08X %08X", op_pointer - 8, (int)(p0>>32), (int)(p0&0x if ((p0 & 0x07) == OBJECT_TYPE_BITMAP) { WriteLog(" (BITMAP) "); -uint64 p1 = OPLoadPhrase(op_pointer); +uint64_t p1 = OPLoadPhrase(op_pointer); WriteLog("\n%08X --> phrase %08X %08X ", op_pointer, (int)(p1>>32), (int)(p1&0xFFFFFFFF)); - uint8 bitdepth = (p1 >> 12) & 0x07; -//WAS: int16 ypos = ((p0 >> 3) & 0x3FF); // ??? What if not interlaced (/2)? - int16 ypos = ((p0 >> 3) & 0x7FF); // ??? What if not interlaced (/2)? -int32 xpos = p1 & 0xFFF; + uint8_t bitdepth = (p1 >> 12) & 0x07; +//WAS: int16_t ypos = ((p0 >> 3) & 0x3FF); // ??? What if not interlaced (/2)? + int16_t ypos = ((p0 >> 3) & 0x7FF); // ??? What if not interlaced (/2)? +int32_t xpos = p1 & 0xFFF; xpos = (xpos & 0x800 ? xpos | 0xFFFFF000 : xpos); - uint32 iwidth = ((p1 >> 28) & 0x3FF); - uint32 dwidth = ((p1 >> 18) & 0x3FF); // Unsigned! - uint16 height = ((p0 >> 14) & 0x3FF); - uint32 link = ((p0 >> 24) & 0x7FFFF) << 3; - uint32 ptr = ((p0 >> 43) & 0x1FFFFF) << 3; - uint32 firstPix = (p1 >> 49) & 0x3F; - uint8 flags = (p1 >> 45) & 0x0F; - uint8 idx = (p1 >> 38) & 0x7F; - uint32 pitch = (p1 >> 15) & 0x07; + uint32_t iwidth = ((p1 >> 28) & 0x3FF); + uint32_t dwidth = ((p1 >> 18) & 0x3FF); // Unsigned! + uint16_t height = ((p0 >> 14) & 0x3FF); + uint32_t link = ((p0 >> 24) & 0x7FFFF) << 3; + uint32_t ptr = ((p0 >> 43) & 0x1FFFFF) << 3; + uint32_t firstPix = (p1 >> 49) & 0x3F; + uint8_t flags = (p1 >> 45) & 0x0F; + uint8_t idx = (p1 >> 38) & 0x7F; + uint32_t pitch = (p1 >> 15) & 0x07; WriteLog("\n [%u (%u) x %u @ (%i, %u) (%u bpp), l: %08X, p: %08X fp: %02X, fl:%s%s%s%s, idx:%02X, pt:%02X]\n", iwidth, dwidth, height, xpos, ypos, op_bitmap_bit_depth[bitdepth], link, ptr, firstPix, (flags&OPFLAG_REFLECT ? "REFLECT " : ""), (flags&OPFLAG_RMW ? "RMW " : ""), (flags&OPFLAG_TRANS ? "TRANS " : ""), (flags&OPFLAG_RELEASE ? "RELEASE" : ""), idx, pitch); } if ((p0 & 0x07) == OBJECT_TYPE_SCALE) { WriteLog(" (SCALED BITMAP)"); -uint64 p1 = OPLoadPhrase(op_pointer), p2 = OPLoadPhrase(op_pointer+8); +uint64_t p1 = OPLoadPhrase(op_pointer), p2 = OPLoadPhrase(op_pointer+8); WriteLog("\n%08X --> phrase %08X %08X ", op_pointer, (int)(p1>>32), (int)(p1&0xFFFFFFFF)); WriteLog("\n%08X --> phrase %08X %08X ", op_pointer+8, (int)(p2>>32), (int)(p2&0xFFFFFFFF)); - uint8 bitdepth = (p1 >> 12) & 0x07; -//WAS: int16 ypos = ((p0 >> 3) & 0x3FF); // ??? What if not interlaced (/2)? - int16 ypos = ((p0 >> 3) & 0x7FF); // ??? What if not interlaced (/2)? -int32 xpos = p1 & 0xFFF; + uint8_t bitdepth = (p1 >> 12) & 0x07; +//WAS: int16_t ypos = ((p0 >> 3) & 0x3FF); // ??? What if not interlaced (/2)? + int16_t ypos = ((p0 >> 3) & 0x7FF); // ??? What if not interlaced (/2)? +int32_t xpos = p1 & 0xFFF; xpos = (xpos & 0x800 ? xpos | 0xFFFFF000 : xpos); - uint32 iwidth = ((p1 >> 28) & 0x3FF); - uint32 dwidth = ((p1 >> 18) & 0x3FF); // Unsigned! - uint16 height = ((p0 >> 14) & 0x3FF); - uint32 link = ((p0 >> 24) & 0x7FFFF) << 3; - uint32 ptr = ((p0 >> 43) & 0x1FFFFF) << 3; - uint32 firstPix = (p1 >> 49) & 0x3F; - uint8 flags = (p1 >> 45) & 0x0F; - uint8 idx = (p1 >> 38) & 0x7F; - uint32 pitch = (p1 >> 15) & 0x07; + uint32_t iwidth = ((p1 >> 28) & 0x3FF); + uint32_t dwidth = ((p1 >> 18) & 0x3FF); // Unsigned! + uint16_t height = ((p0 >> 14) & 0x3FF); + uint32_t link = ((p0 >> 24) & 0x7FFFF) << 3; + uint32_t ptr = ((p0 >> 43) & 0x1FFFFF) << 3; + uint32_t firstPix = (p1 >> 49) & 0x3F; + uint8_t flags = (p1 >> 45) & 0x0F; + uint8_t idx = (p1 >> 38) & 0x7F; + uint32_t pitch = (p1 >> 15) & 0x07; WriteLog("\n [%u (%u) x %u @ (%i, %u) (%u bpp), l: %08X, p: %08X fp: %02X, fl:%s%s%s%s, idx:%02X, pt:%02X]\n", iwidth, dwidth, height, xpos, ypos, op_bitmap_bit_depth[bitdepth], link, ptr, firstPix, (flags&OPFLAG_REFLECT ? "REFLECT " : ""), (flags&OPFLAG_RMW ? "RMW " : ""), (flags&OPFLAG_TRANS ? "TRANS " : ""), (flags&OPFLAG_RELEASE ? "RELEASE" : ""), idx, pitch); - uint32 hscale = p2 & 0xFF; - uint32 vscale = (p2 >> 8) & 0xFF; - uint32 remainder = (p2 >> 16) & 0xFF; + uint32_t hscale = p2 & 0xFF; + uint32_t vscale = (p2 >> 8) & 0xFF; + uint32_t remainder = (p2 >> 16) & 0xFF; WriteLog(" [hsc: %02X, vsc: %02X, rem: %02X]\n", hscale, vscale, remainder); } if ((p0 & 0x07) == OBJECT_TYPE_GPU) @@ -543,7 +543,7 @@ WriteLog(" (GPU)\n"); if ((p0 & 0x07) == OBJECT_TYPE_BRANCH) { WriteLog(" (BRANCH)\n"); -uint8 * jaguarMainRam = GetRamPtr(); +uint8_t * jaguarMainRam = GetRamPtr(); WriteLog("[RAM] --> "); for(int k=0; k<8; k++) WriteLog("%02X ", jaguarMainRam[op_pointer-8 + k]); @@ -554,12 +554,12 @@ WriteLog(" --> List end\n\n"); } #endif - switch ((uint8)p0 & 0x07) + switch ((uint8_t)p0 & 0x07) { case OBJECT_TYPE_BITMAP: { -//WAS: uint16 ypos = (p0 >> 3) & 0x3FF; - uint16 ypos = (p0 >> 3) & 0x7FF; +//WAS: uint16_t ypos = (p0 >> 3) & 0x3FF; + uint16_t ypos = (p0 >> 3) & 0x7FF; // This is only theory implied by Rayman...! // It seems that if the YPOS is zero, then bump the YPOS value so that it coincides with // the VDB value. With interlacing, this would be slightly more tricky. @@ -579,8 +579,8 @@ WriteLog(" --> List end\n\n"); // Actually, this is incorrect. It seems that VDB value is wrong somewhere and that's // what's causing things to fuck up. Still no idea why. - uint32 height = (p0 & 0xFFC000) >> 14; - uint32 oldOPP = op_pointer - 8; + uint32_t height = (p0 & 0xFFC000) >> 14; + uint32_t oldOPP = op_pointer - 8; // *** BEGIN OP PROCESSOR TESTING ONLY *** if (inhibit && op_start_log) WriteLog("!!! ^^^ This object is INHIBITED! ^^^ !!!\n"); @@ -589,7 +589,7 @@ if (!inhibit) // For OP testing only! // *** END OP PROCESSOR TESTING ONLY *** if (halfline >= ypos && height > 0) { - uint64 p1 = OPLoadPhrase(op_pointer); + uint64_t p1 = OPLoadPhrase(op_pointer); op_pointer += 8; //WriteLog("OP: Writing halfline %d with ypos == %d...\n", halfline, ypos); //WriteLog("--> Writing %u BPP bitmap...\n", op_bitmap_bit_depth[(p1 >> 12) & 0x07]); @@ -600,23 +600,23 @@ if (!inhibit) // For OP testing only! //???Does this really happen??? Doesn't seem to work if you do this...! //Probably not. Must be a bug in the documentation...! -// uint32 link = (p0 & 0x7FFFF000000) >> 21; +// uint32_t link = (p0 & 0x7FFFF000000) >> 21; // SET16(tom_ram_8, 0x20, link & 0xFFFF); // OLP // SET16(tom_ram_8, 0x22, link >> 16); -/* uint32 height = (p0 & 0xFFC000) >> 14; +/* uint32_t height = (p0 & 0xFFC000) >> 14; if (height - 1 > 0) height--;*/ // NOTE: Would subtract 2 if in interlaced mode...! -// uint64 height = ((p0 & 0xFFC000) - 0x4000) & 0xFFC000; +// uint64_t height = ((p0 & 0xFFC000) - 0x4000) & 0xFFC000; // if (height) height--; - uint64 data = (p0 & 0xFFFFF80000000000LL) >> 40; - uint64 dwidth = (p1 & 0xFFC0000) >> 15; + uint64_t data = (p0 & 0xFFFFF80000000000LL) >> 40; + uint64_t dwidth = (p1 & 0xFFC0000) >> 15; data += dwidth; p0 &= ~0xFFFFF80000FFC000LL; // Mask out old data... - p0 |= (uint64)height << 14; + p0 |= (uint64_t)height << 14; p0 |= data << 40; OPStorePhrase(oldOPP, p0); } @@ -643,10 +643,10 @@ if (op_pointer > 0x1FFFFF && op_pointer < 0x800000) } case OBJECT_TYPE_SCALE: { -//WAS: uint16 ypos = (p0 >> 3) & 0x3FF; - uint16 ypos = (p0 >> 3) & 0x7FF; - uint32 height = (p0 & 0xFFC000) >> 14; - uint32 oldOPP = op_pointer - 8; +//WAS: uint16_t ypos = (p0 >> 3) & 0x3FF; + uint16_t ypos = (p0 >> 3) & 0x7FF; + uint32_t height = (p0 & 0xFFC000) >> 14; + uint32_t oldOPP = op_pointer - 8; //WriteLog("OP: Scaled Object (ypos=%04X, height=%04X", ypos, height); // *** BEGIN OP PROCESSOR TESTING ONLY *** if (inhibit && op_start_log) @@ -659,17 +659,17 @@ if (!inhibit) // For OP testing only! // *** END OP PROCESSOR TESTING ONLY *** if (halfline >= ypos && height > 0) { - uint64 p1 = OPLoadPhrase(op_pointer); + uint64_t p1 = OPLoadPhrase(op_pointer); op_pointer += 8; - uint64 p2 = OPLoadPhrase(op_pointer); + uint64_t p2 = OPLoadPhrase(op_pointer); op_pointer += 8; -//WriteLog("OP: %08X (%d) %08X%08X %08X%08X %08X%08X\n", oldOPP, halfline, (uint32)(p0>>32), (uint32)(p0&0xFFFFFFFF), (uint32)(p1>>32), (uint32)(p1&0xFFFFFFFF), (uint32)(p2>>32), (uint32)(p2&0xFFFFFFFF)); +//WriteLog("OP: %08X (%d) %08X%08X %08X%08X %08X%08X\n", oldOPP, halfline, (uint32_t)(p0>>32), (uint32_t)(p0&0xFFFFFFFF), (uint32_t)(p1>>32), (uint32_t)(p1&0xFFFFFFFF), (uint32_t)(p2>>32), (uint32_t)(p2&0xFFFFFFFF)); OPProcessScaledBitmap(p0, p1, p2, render); // OP write-backs - uint16 remainder = (p2 >> 16) & 0xFF;//, vscale = p2 >> 8; - uint8 /*remainder = p2 >> 16,*/ vscale = p2 >> 8; + uint16_t remainder = (p2 >> 16) & 0xFF;//, vscale = p2 >> 8; + uint8_t /*remainder = p2 >> 16,*/ vscale = p2 >> 8; //Actually, we should skip this object if it has a vscale of zero. //Or do we? Not sure... Atari Karts has a few lines that look like: // (SCALED BITMAP) @@ -730,8 +730,8 @@ OP: Scaled bitmap 4x? 4bpp at 34,? hscale=80 fpix=0 data=000756E8 pitch 1 hflipp // I.e., it's < 1.0f -> means it'll go negative when we subtract 1.0f. if (remainder < 0x20) { - uint64 data = (p0 & 0xFFFFF80000000000LL) >> 40; - uint64 dwidth = (p1 & 0xFFC0000) >> 15; + uint64_t data = (p0 & 0xFFFFF80000000000LL) >> 40; + uint64_t dwidth = (p1 & 0xFFC0000) >> 15; // while (remainder & 0x80) // while ((remainder & 0x80) || remainder == 0) @@ -750,7 +750,7 @@ OP: Scaled bitmap 4x? 4bpp at 34,? hscale=80 fpix=0 data=000756E8 pitch 1 hflipp } p0 &= ~0xFFFFF80000FFC000LL; // Mask out old data... - p0 |= (uint64)height << 14; + p0 |= (uint64_t)height << 14; p0 |= data << 40; OPStorePhrase(oldOPP, p0); } @@ -760,12 +760,12 @@ OP: Scaled bitmap 4x? 4bpp at 34,? hscale=80 fpix=0 data=000756E8 pitch 1 hflipp //if (start_logging) // WriteLog("--> Finished writebacks...\n");//*/ -//WriteLog(" [%08X%08X -> ", (uint32)(p2>>32), (uint32)(p2&0xFFFFFFFF)); +//WriteLog(" [%08X%08X -> ", (uint32_t)(p2>>32), (uint32_t)(p2&0xFFFFFFFF)); p2 &= ~0x0000000000FF0000LL; - p2 |= (uint64)remainder << 16; -//WriteLog("%08X%08X]\n", (uint32)(p2>>32), (uint32)(p2&0xFFFFFFFF)); + p2 |= (uint64_t)remainder << 16; +//WriteLog("%08X%08X]\n", (uint32_t)(p2>>32), (uint32_t)(p2&0xFFFFFFFF)); OPStorePhrase(oldOPP + 16, p2); -//remainder = (uint8)(p2 >> 16), vscale = (uint8)(p2 >> 8); +//remainder = (uint8_t)(p2 >> 16), vscale = (uint8_t)(p2 >> 8); //WriteLog(" [after]: rem=%02X, vscale=%02X\n", remainder, vscale); } @@ -789,13 +789,13 @@ OP: Scaled bitmap 4x? 4bpp at 34,? hscale=80 fpix=0 data=000756E8 pitch 1 hflipp } case OBJECT_TYPE_BRANCH: { - uint16 ypos = (p0 >> 3) & 0x7FF; + uint16_t ypos = (p0 >> 3) & 0x7FF; // NOTE: The JTRM sez there are only 2 bits used for the CC, but lists *five* // conditions! Need at least one more bit for that! :-P // Also, the ASIC nets imply that it uses bits 14-16 (height in BM & SBM objects) #warning "!!! Possibly bad CC handling in OP (missing 1 bit) !!!" - uint8 cc = (p0 >> 14) & 0x03; - uint32 link = (p0 >> 21) & 0x3FFFF8; + uint8_t cc = (p0 >> 14) & 0x03; + uint32_t link = (p0 >> 21) & 0x3FFFF8; // if ((ypos!=507)&&(ypos!=25)) // WriteLog("\t%i%s%i link=0x%.8x\n",halfline,condition_to_str[cc],ypos>>1,link); @@ -858,7 +858,7 @@ OP: Scaled bitmap 4x? 4bpp at 34,? hscale=80 fpix=0 data=000756E8 pitch 1 hflipp // break; } default: -// WriteLog("op: unknown object type %i\n", ((uint8)p0 & 0x07)); +// WriteLog("op: unknown object type %i\n", ((uint8_t)p0 & 0x07)); return; } @@ -877,39 +877,39 @@ OP: Scaled bitmap 4x? 4bpp at 34,? hscale=80 fpix=0 data=000756E8 pitch 1 hflipp // // Store fixed size bitmap in line buffer // -void OPProcessFixedBitmap(uint64 p0, uint64 p1, bool render) +void OPProcessFixedBitmap(uint64_t p0, uint64_t p1, bool render) { // Need to make sure that when writing that it stays within the line buffer... // LBUF ($F01800 - $F01D9E) 360 x 32-bit RAM - uint8 depth = (p1 >> 12) & 0x07; // Color depth of image - int32 xpos = ((int16)((p1 << 4) & 0xFFFF)) >> 4;// Image xpos in LBUF - uint32 iwidth = (p1 >> 28) & 0x3FF; // Image width in *phrases* - uint32 data = (p0 >> 40) & 0xFFFFF8; // Pixel data address + uint8_t depth = (p1 >> 12) & 0x07; // Color depth of image + int32_t xpos = ((int16_t)((p1 << 4) & 0xFFFF)) >> 4;// Image xpos in LBUF + uint32_t iwidth = (p1 >> 28) & 0x3FF; // Image width in *phrases* + uint32_t data = (p0 >> 40) & 0xFFFFF8; // Pixel data address //#ifdef OP_DEBUG_BMP - uint32 firstPix = (p1 >> 49) & 0x3F; + uint32_t firstPix = (p1 >> 49) & 0x3F; // "The LSB is significant only for scaled objects..." -JTRM // "In 1 BPP mode, all five bits are significant. In 2 BPP mode, the top four are significant..." firstPix &= 0x3E; //#endif // We can ignore the RELEASE (high order) bit for now--probably forever...! -// uint8 flags = (p1 >> 45) & 0x0F; // REFLECT, RMW, TRANS, RELEASE +// uint8_t flags = (p1 >> 45) & 0x0F; // REFLECT, RMW, TRANS, RELEASE //Optimize: break these out to their own BOOL values - uint8 flags = (p1 >> 45) & 0x07; // REFLECT (0), RMW (1), TRANS (2) + uint8_t flags = (p1 >> 45) & 0x07; // REFLECT (0), RMW (1), TRANS (2) bool flagREFLECT = (flags & OPFLAG_REFLECT ? true : false), flagRMW = (flags & OPFLAG_RMW ? true : false), flagTRANS = (flags & OPFLAG_TRANS ? true : false); // "For images with 1 to 4 bits/pixel the top 7 to 4 bits of the index // provide the most significant bits of the palette address." - uint8 index = (p1 >> 37) & 0xFE; // CLUT index offset (upper pix, 1-4 bpp) - uint32 pitch = (p1 >> 15) & 0x07; // Phrase pitch + uint8_t index = (p1 >> 37) & 0xFE; // CLUT index offset (upper pix, 1-4 bpp) + uint32_t pitch = (p1 >> 15) & 0x07; // Phrase pitch pitch <<= 3; // Optimization: Multiply pitch by 8 -// int16 scanlineWidth = tom_getVideoModeWidth(); - uint8 * tomRam8 = TOMGetRamPointer(); - uint8 * paletteRAM = &tomRam8[0x400]; +// int16_t scanlineWidth = tom_getVideoModeWidth(); + uint8_t * tomRam8 = TOMGetRamPointer(); + uint8_t * paletteRAM = &tomRam8[0x400]; // This is OK as long as it's used correctly: For 16-bit RAM to RAM direct copies--NOT // for use when using endian-corrected data (i.e., any of the *_word_read functions!) - uint16 * paletteRAM16 = (uint16 *)paletteRAM; + uint16_t * paletteRAM16 = (uint16_t *)paletteRAM; // WriteLog("bitmap %ix? %ibpp at %i,? firstpix=? data=0x%.8x pitch %i hflipped=%s dwidth=? (linked to ?) RMW=%s Tranparent=%s\n", // iwidth, op_bitmap_bit_depth[bitdepth], xpos, ptr, pitch, (flags&OPFLAG_REFLECT ? "yes" : "no"), (flags&OPFLAG_RMW ? "yes" : "no"), (flags&OPFLAG_TRANS ? "yes" : "no")); @@ -944,21 +944,21 @@ if (depth == 5) // i.e., 24bpp mode... // iwidth, height, op_bitmap_bit_depth[bitdepth], xpos, ypos, firstPix, ptr, pitch, (flags&OPFLAG_REFLECT ? "yes" : "no"), dwidth, op_pointer, (flags&OPFLAG_RMW ? "yes" : "no")); //#endif -// int32 leftMargin = xpos, rightMargin = (xpos + (phraseWidthToPixels[depth] * iwidth)) - 1; - int32 startPos = xpos, endPos = xpos + +// int32_t leftMargin = xpos, rightMargin = (xpos + (phraseWidthToPixels[depth] * iwidth)) - 1; + int32_t startPos = xpos, endPos = xpos + (!flagREFLECT ? (phraseWidthToPixels[depth] * iwidth) - 1 : -((phraseWidthToPixels[depth] * iwidth) + 1)); - uint32 clippedWidth = 0, phraseClippedWidth = 0, dataClippedWidth = 0;//, phrasePixel = 0; + uint32_t clippedWidth = 0, phraseClippedWidth = 0, dataClippedWidth = 0;//, phrasePixel = 0; bool in24BPPMode = (((GET16(tomRam8, 0x0028) >> 1) & 0x03) == 1 ? true : false); // VMODE // Not sure if this is Jaguar Two only location or what... // From the docs, it is... If we want to limit here we should think of something else. -// int32 limit = GET16(tom_ram_8, 0x0008); // LIMIT -// int32 limit = 720; -// int32 lbufWidth = (!in24BPPMode ? limit - 1 : (limit / 2) - 1); // Zero based limit... +// int32_t limit = GET16(tom_ram_8, 0x0008); // LIMIT +// int32_t limit = 720; +// int32_t lbufWidth = (!in24BPPMode ? limit - 1 : (limit / 2) - 1); // Zero based limit... //printf("[OP:xpos=%i,spos=%i,epos=%i>", xpos, startPos, endPos); // This is correct, the OP line buffer is a constant size... - int32 limit = 720; - int32 lbufWidth = 719; + int32_t limit = 720; + int32_t lbufWidth = 719; // If the image is completely to the left or right of the line buffer, then bail. //If in REFLECT mode, then these values are swapped! !!! FIX !!! [DONE] @@ -1048,15 +1048,15 @@ if (depth > 5) // NOTE: When the bitmap is in REFLECT mode, the XPOS marks the *right* side of the // bitmap! This makes clipping & etc. MUCH, much easier...! -// uint32 lbufAddress = 0x1800 + (!in24BPPMode ? leftMargin * 2 : leftMargin * 4); +// uint32_t lbufAddress = 0x1800 + (!in24BPPMode ? leftMargin * 2 : leftMargin * 4); //Why does this work right when multiplying startPos by 2 (instead of 4) for 24 BPP mode? //Is this a bug in the OP? //It's because in 24bpp mode, each pixel takes *4* bytes, instead of the usual 2. //Though it looks like we're doing it here no matter what... -// uint32 lbufAddress = 0x1800 + (!in24BPPMode ? startPos * 2 : startPos * 2); +// uint32_t lbufAddress = 0x1800 + (!in24BPPMode ? startPos * 2 : startPos * 2); //Let's try this: - uint32 lbufAddress = 0x1800 + (startPos * 2); - uint8 * currentLineBuffer = &tomRam8[lbufAddress]; + uint32_t lbufAddress = 0x1800 + (startPos * 2); + uint8_t * currentLineBuffer = &tomRam8[lbufAddress]; // Render. @@ -1073,10 +1073,10 @@ if (depth > 5) if (depth == 0) // 1 BPP { // The LSB of flags is OPFLAG_REFLECT, so sign extend it and or 2 into it. - int32 lbufDelta = ((int8)((flags << 7) & 0xFF) >> 5) | 0x02; + int32_t lbufDelta = ((int8_t)((flags << 7) & 0xFF) >> 5) | 0x02; // Fetch 1st phrase... - uint64 pixels = ((uint64)JaguarReadLong(data, OP) << 32) | JaguarReadLong(data + 4, OP); + uint64_t pixels = ((uint64_t)JaguarReadLong(data, OP) << 32) | JaguarReadLong(data + 4, OP); //Note that firstPix should only be honored *if* we start with the 1st phrase of the bitmap //i.e., we didn't clip on the margin... !!! FIX !!! pixels <<= firstPix; // Skip first N pixels (N=firstPix)... @@ -1086,7 +1086,7 @@ if (depth > 5) { while (i++ < 64) { - uint8 bit = pixels >> 63; + uint8_t bit = pixels >> 63; #ifndef OP_USES_PALETTE_ZERO if (flagTRANS && bit == 0) #else @@ -1100,7 +1100,7 @@ if (depth > 5) //Won't optimize RMW case though... // This is the *only* correct use of endian-dependent code // (i.e., mem-to-mem direct copying)! - *(uint16 *)currentLineBuffer = paletteRAM16[index | bit]; + *(uint16_t *)currentLineBuffer = paletteRAM16[index | bit]; else *currentLineBuffer = BLEND_CR(*currentLineBuffer, paletteRAM[(index | bit) << 1]), @@ -1114,7 +1114,7 @@ if (depth > 5) i = 0; // Fetch next phrase... data += pitch; - pixels = ((uint64)JaguarReadLong(data, OP) << 32) | JaguarReadLong(data + 4, OP); + pixels = ((uint64_t)JaguarReadLong(data, OP) << 32) | JaguarReadLong(data + 4, OP); } } else if (depth == 1) // 2 BPP @@ -1123,19 +1123,19 @@ if (firstPix) WriteLog("OP: Fixed bitmap @ 2 BPP requesting FIRSTPIX! (fp=%u)\n", firstPix); index &= 0xFC; // Top six bits form CLUT index // The LSB is OPFLAG_REFLECT, so sign extend it and or 2 into it. - int32 lbufDelta = ((int8)((flags << 7) & 0xFF) >> 5) | 0x02; + int32_t lbufDelta = ((int8_t)((flags << 7) & 0xFF) >> 5) | 0x02; while (iwidth--) { // Fetch phrase... - uint64 pixels = ((uint64)JaguarReadLong(data, OP) << 32) | JaguarReadLong(data + 4, OP); + uint64_t pixels = ((uint64_t)JaguarReadLong(data, OP) << 32) | JaguarReadLong(data + 4, OP); data += pitch; for(int i=0; i<32; i++) { - uint8 bits = pixels >> 62; + uint8_t bits = pixels >> 62; // Seems to me that both of these are in the same endian, so we could cast it as -// uint16 * and do straight across copies (what about 24 bpp? Treat it differently...) +// uint16_t * and do straight across copies (what about 24 bpp? Treat it differently...) // This only works for the palettized modes (1 - 8 BPP), since we actually have to // copy data from memory in 16 BPP mode (or does it? Isn't this the same as the CLUT case?) // No, it isn't because we read the memory in an endian safe way--this *won't* work... @@ -1148,7 +1148,7 @@ if (firstPix) else { if (!flagRMW) - *(uint16 *)currentLineBuffer = paletteRAM16[index | bits]; + *(uint16_t *)currentLineBuffer = paletteRAM16[index | bits]; else *currentLineBuffer = BLEND_CR(*currentLineBuffer, paletteRAM[(index | bits) << 1]), @@ -1167,19 +1167,19 @@ if (firstPix) WriteLog("OP: Fixed bitmap @ 4 BPP requesting FIRSTPIX! (fp=%u)\n", firstPix); index &= 0xF0; // Top four bits form CLUT index // The LSB is OPFLAG_REFLECT, so sign extend it and or 2 into it. - int32 lbufDelta = ((int8)((flags << 7) & 0xFF) >> 5) | 0x02; + int32_t lbufDelta = ((int8_t)((flags << 7) & 0xFF) >> 5) | 0x02; while (iwidth--) { // Fetch phrase... - uint64 pixels = ((uint64)JaguarReadLong(data, OP) << 32) | JaguarReadLong(data + 4, OP); + uint64_t pixels = ((uint64_t)JaguarReadLong(data, OP) << 32) | JaguarReadLong(data + 4, OP); data += pitch; for(int i=0; i<16; i++) { - uint8 bits = pixels >> 60; + uint8_t bits = pixels >> 60; // Seems to me that both of these are in the same endian, so we could cast it as -// uint16 * and do straight across copies (what about 24 bpp? Treat it differently...) +// uint16_t * and do straight across copies (what about 24 bpp? Treat it differently...) // This only works for the palettized modes (1 - 8 BPP), since we actually have to // copy data from memory in 16 BPP mode (or does it? Isn't this the same as the CLUT case?) // No, it isn't because we read the memory in an endian safe way--this *won't* work... @@ -1192,7 +1192,7 @@ if (firstPix) else { if (!flagRMW) - *(uint16 *)currentLineBuffer = paletteRAM16[index | bits]; + *(uint16_t *)currentLineBuffer = paletteRAM16[index | bits]; else *currentLineBuffer = BLEND_CR(*currentLineBuffer, paletteRAM[(index | bits) << 1]), @@ -1208,10 +1208,10 @@ if (firstPix) else if (depth == 3) // 8 BPP { // The LSB is OPFLAG_REFLECT, so sign extend it and or 2 into it. - int32 lbufDelta = ((int8)((flags << 7) & 0xFF) >> 5) | 0x02; + int32_t lbufDelta = ((int8_t)((flags << 7) & 0xFF) >> 5) | 0x02; // Fetch 1st phrase... - uint64 pixels = ((uint64)JaguarReadLong(data, OP) << 32) | JaguarReadLong(data + 4, OP); + uint64_t pixels = ((uint64_t)JaguarReadLong(data, OP) << 32) | JaguarReadLong(data + 4, OP); //Note that firstPix should only be honored *if* we start with the 1st phrase of the bitmap //i.e., we didn't clip on the margin... !!! FIX !!! firstPix &= 0x30; // Only top two bits are valid for 8 BPP @@ -1222,9 +1222,9 @@ if (firstPix) { while (i++ < 8) { - uint8 bits = pixels >> 56; + uint8_t bits = pixels >> 56; // Seems to me that both of these are in the same endian, so we could cast it as -// uint16 * and do straight across copies (what about 24 bpp? Treat it differently...) +// uint16_t * and do straight across copies (what about 24 bpp? Treat it differently...) // This only works for the palettized modes (1 - 8 BPP), since we actually have to // copy data from memory in 16 BPP mode (or does it? Isn't this the same as the CLUT case?) // No, it isn't because we read the memory in an endian safe way--this *won't* work... @@ -1240,7 +1240,7 @@ if (firstPix) else { if (!flagRMW) - *(uint16 *)currentLineBuffer = paletteRAM16[bits]; + *(uint16_t *)currentLineBuffer = paletteRAM16[bits]; else *currentLineBuffer = BLEND_CR(*currentLineBuffer, paletteRAM[bits << 1]), @@ -1254,7 +1254,7 @@ if (firstPix) i = 0; // Fetch next phrase... data += pitch; - pixels = ((uint64)JaguarReadLong(data, OP) << 32) | JaguarReadLong(data + 4, OP); + pixels = ((uint64_t)JaguarReadLong(data, OP) << 32) | JaguarReadLong(data + 4, OP); } } else if (depth == 4) // 16 BPP @@ -1262,19 +1262,19 @@ if (firstPix) if (firstPix) WriteLog("OP: Fixed bitmap @ 16 BPP requesting FIRSTPIX! (fp=%u)\n", firstPix); // The LSB is OPFLAG_REFLECT, so sign extend it and or 2 into it. - int32 lbufDelta = ((int8)((flags << 7) & 0xFF) >> 5) | 0x02; + int32_t lbufDelta = ((int8_t)((flags << 7) & 0xFF) >> 5) | 0x02; while (iwidth--) { // Fetch phrase... - uint64 pixels = ((uint64)JaguarReadLong(data, OP) << 32) | JaguarReadLong(data + 4, OP); + uint64_t pixels = ((uint64_t)JaguarReadLong(data, OP) << 32) | JaguarReadLong(data + 4, OP); data += pitch; for(int i=0; i<4; i++) { - uint8 bitsHi = pixels >> 56, bitsLo = pixels >> 48; + uint8_t bitsHi = pixels >> 56, bitsLo = pixels >> 48; // Seems to me that both of these are in the same endian, so we could cast it as -// uint16 * and do straight across copies (what about 24 bpp? Treat it differently...) +// uint16_t * and do straight across copies (what about 24 bpp? Treat it differently...) // This only works for the palettized modes (1 - 8 BPP), since we actually have to // copy data from memory in 16 BPP mode (or does it? Isn't this the same as the CLUT case?) // No, it isn't because we read the memory in an endian safe way--it *won't* work... @@ -1309,18 +1309,18 @@ if (firstPix) WriteLog("OP: Fixed bitmap @ 24 BPP requesting FIRSTPIX! (fp=%u)\n", firstPix); // Not sure, but I think RMW only works with 16 BPP and below, and only in CRY mode... // The LSB of flags is OPFLAG_REFLECT, so sign extend it and OR 4 into it. - int32 lbufDelta = ((int8)((flags << 7) & 0xFF) >> 4) | 0x04; + int32_t lbufDelta = ((int8_t)((flags << 7) & 0xFF) >> 4) | 0x04; while (iwidth--) { // Fetch phrase... - uint64 pixels = ((uint64)JaguarReadLong(data, OP) << 32) | JaguarReadLong(data + 4, OP); + uint64_t pixels = ((uint64_t)JaguarReadLong(data, OP) << 32) | JaguarReadLong(data + 4, OP); data += pitch; for(int i=0; i<2; i++) { // We don't use a 32-bit var here because of endian issues...! - uint8 bits3 = pixels >> 56, bits2 = pixels >> 48, + uint8_t bits3 = pixels >> 56, bits2 = pixels >> 48, bits1 = pixels >> 40, bits0 = pixels >> 32; if (flagTRANS && (bits3 | bits2 | bits1 | bits0) == 0) @@ -1342,45 +1342,45 @@ if (firstPix) // // Store scaled bitmap in line buffer // -void OPProcessScaledBitmap(uint64 p0, uint64 p1, uint64 p2, bool render) +void OPProcessScaledBitmap(uint64_t p0, uint64_t p1, uint64_t p2, bool render) { // Need to make sure that when writing that it stays within the line buffer... // LBUF ($F01800 - $F01D9E) 360 x 32-bit RAM - uint8 depth = (p1 >> 12) & 0x07; // Color depth of image - int32 xpos = ((int16)((p1 << 4) & 0xFFFF)) >> 4;// Image xpos in LBUF - uint32 iwidth = (p1 >> 28) & 0x3FF; // Image width in *phrases* - uint32 data = (p0 >> 40) & 0xFFFFF8; // Pixel data address + uint8_t depth = (p1 >> 12) & 0x07; // Color depth of image + int32_t xpos = ((int16_t)((p1 << 4) & 0xFFFF)) >> 4;// Image xpos in LBUF + uint32_t iwidth = (p1 >> 28) & 0x3FF; // Image width in *phrases* + uint32_t data = (p0 >> 40) & 0xFFFFF8; // Pixel data address //#ifdef OP_DEBUG_BMP // Prolly should use this... Though not sure exactly how. //Use the upper bits as an offset into the phrase depending on the BPP. That's how! - uint32 firstPix = (p1 >> 49) & 0x3F; + uint32_t firstPix = (p1 >> 49) & 0x3F; //This is WEIRD! I'm sure I saw Atari Karts request 8 BPP FIRSTPIX! What happened??? if (firstPix) WriteLog("OP: FIRSTPIX != 0! (Scaled BM)\n"); //#endif // We can ignore the RELEASE (high order) bit for now--probably forever...! -// uint8 flags = (p1 >> 45) & 0x0F; // REFLECT, RMW, TRANS, RELEASE +// uint8_t flags = (p1 >> 45) & 0x0F; // REFLECT, RMW, TRANS, RELEASE //Optimize: break these out to their own BOOL values [DONE] - uint8 flags = (p1 >> 45) & 0x07; // REFLECT (0), RMW (1), TRANS (2) + uint8_t flags = (p1 >> 45) & 0x07; // REFLECT (0), RMW (1), TRANS (2) bool flagREFLECT = (flags & OPFLAG_REFLECT ? true : false), flagRMW = (flags & OPFLAG_RMW ? true : false), flagTRANS = (flags & OPFLAG_TRANS ? true : false); - uint8 index = (p1 >> 37) & 0xFE; // CLUT index offset (upper pix, 1-4 bpp) - uint32 pitch = (p1 >> 15) & 0x07; // Phrase pitch + uint8_t index = (p1 >> 37) & 0xFE; // CLUT index offset (upper pix, 1-4 bpp) + uint32_t pitch = (p1 >> 15) & 0x07; // Phrase pitch - uint8 * tomRam8 = TOMGetRamPointer(); - uint8 * paletteRAM = &tomRam8[0x400]; + uint8_t * tomRam8 = TOMGetRamPointer(); + uint8_t * paletteRAM = &tomRam8[0x400]; // This is OK as long as it's used correctly: For 16-bit RAM to RAM direct copies--NOT // for use when using endian-corrected data (i.e., any of the *ReadWord functions!) - uint16 * paletteRAM16 = (uint16 *)paletteRAM; + uint16_t * paletteRAM16 = (uint16_t *)paletteRAM; - uint16 hscale = p2 & 0xFF; + uint16_t hscale = p2 & 0xFF; // Hmm. It seems that fixing the horizontal scale necessitated re-fixing this. Not sure why, // but seems to be consistent with the vertical scaling now (and it may turn out to be wrong!)... - uint16 horizontalRemainder = hscale; // Not sure if it starts full, but seems reasonable [It's not!] -// uint8 horizontalRemainder = 0; // Let's try zero! Seems to work! Yay! [No, it doesn't!] - int32 scaledWidthInPixels = (iwidth * phraseWidthToPixels[depth] * hscale) >> 5; - uint32 scaledPhrasePixels = (phraseWidthToPixels[depth] * hscale) >> 5; + uint16_t horizontalRemainder = hscale; // Not sure if it starts full, but seems reasonable [It's not!] +// uint8_t horizontalRemainder = 0; // Let's try zero! Seems to work! Yay! [No, it doesn't!] + int32_t scaledWidthInPixels = (iwidth * phraseWidthToPixels[depth] * hscale) >> 5; + uint32_t scaledPhrasePixels = (phraseWidthToPixels[depth] * hscale) >> 5; // WriteLog("bitmap %ix? %ibpp at %i,? firstpix=? data=0x%.8x pitch %i hflipped=%s dwidth=? (linked to ?) RMW=%s Tranparent=%s\n", // iwidth, op_bitmap_bit_depth[bitdepth], xpos, ptr, pitch, (flags&OPFLAG_REFLECT ? "yes" : "no"), (flags&OPFLAG_RMW ? "yes" : "no"), (flags&OPFLAG_TRANS ? "yes" : "no")); @@ -1399,16 +1399,16 @@ if (start_logging) // iwidth, height, op_bitmap_bit_depth[bitdepth], xpos, ypos, firstPix, ptr, pitch, (flags&OPFLAG_REFLECT ? "yes" : "no"), dwidth, op_pointer, (flags&OPFLAG_RMW ? "yes" : "no")); //#endif - int32 startPos = xpos, endPos = xpos + + int32_t startPos = xpos, endPos = xpos + (!flagREFLECT ? scaledWidthInPixels - 1 : -(scaledWidthInPixels + 1)); - uint32 clippedWidth = 0, phraseClippedWidth = 0, dataClippedWidth = 0; + uint32_t clippedWidth = 0, phraseClippedWidth = 0, dataClippedWidth = 0; bool in24BPPMode = (((GET16(tomRam8, 0x0028) >> 1) & 0x03) == 1 ? true : false); // VMODE // Not sure if this is Jaguar Two only location or what... // From the docs, it is... If we want to limit here we should think of something else. -// int32 limit = GET16(tom_ram_8, 0x0008); // LIMIT - int32 limit = 720; -// int32 lbufWidth = (!in24BPPMode ? limit - 1 : (limit / 2) - 1); // Zero based limit... - int32 lbufWidth = 719; // Zero based limit... +// int32_t limit = GET16(tom_ram_8, 0x0008); // LIMIT + int32_t limit = 720; +// int32_t lbufWidth = (!in24BPPMode ? limit - 1 : (limit / 2) - 1); // Zero based limit... + int32_t lbufWidth = 719; // Zero based limit... // If the image is completely to the left or right of the line buffer, then bail. //If in REFLECT mode, then these values are swapped! !!! FIX !!! [DONE] @@ -1490,7 +1490,7 @@ if (start_logging) // start position (14 * 27.75), we get -6.5... NOT -17! //Now it seems we're working OK, at least for the first case... -uint32 scaledPhrasePixelsUS = phraseWidthToPixels[depth] * hscale; +uint32_t scaledPhrasePixelsUS = phraseWidthToPixels[depth] * hscale; if (startPos < 0) // Case #1: Begin out, end in, L to R { @@ -1546,11 +1546,11 @@ if (op_start_log && startPos == 13) // NOTE: When the bitmap is in REFLECT mode, the XPOS marks the *right* side of the // bitmap! This makes clipping & etc. MUCH, much easier...! -// uint32 lbufAddress = 0x1800 + (!in24BPPMode ? leftMargin * 2 : leftMargin * 4); -// uint32 lbufAddress = 0x1800 + (!in24BPPMode ? startPos * 2 : startPos * 4); - uint32 lbufAddress = 0x1800 + startPos * 2; - uint8 * currentLineBuffer = &tomRam8[lbufAddress]; -//uint8 * lineBufferLowerLimit = &tom_ram_8[0x1800], +// uint32_t lbufAddress = 0x1800 + (!in24BPPMode ? leftMargin * 2 : leftMargin * 4); +// uint32_t lbufAddress = 0x1800 + (!in24BPPMode ? startPos * 2 : startPos * 4); + uint32_t lbufAddress = 0x1800 + startPos * 2; + uint8_t * currentLineBuffer = &tomRam8[lbufAddress]; +//uint8_t * lineBufferLowerLimit = &tom_ram_8[0x1800], // * lineBufferUpperLimit = &tom_ram_8[0x1800 + 719]; // Render. @@ -1566,14 +1566,14 @@ if (op_start_log && startPos == 13) if (firstPix != 0) WriteLog("OP: Scaled bitmap @ 1 BPP requesting FIRSTPIX!\n"); // The LSB of flags is OPFLAG_REFLECT, so sign extend it and or 2 into it. - int32 lbufDelta = ((int8)((flags << 7) & 0xFF) >> 5) | 0x02; + int32_t lbufDelta = ((int8_t)((flags << 7) & 0xFF) >> 5) | 0x02; int pixCount = 0; - uint64 pixels = ((uint64)JaguarReadLong(data, OP) << 32) | JaguarReadLong(data + 4, OP); + uint64_t pixels = ((uint64_t)JaguarReadLong(data, OP) << 32) | JaguarReadLong(data + 4, OP); - while ((int32)iwidth > 0) + while ((int32_t)iwidth > 0) { - uint8 bits = pixels >> 63; + uint8_t bits = pixels >> 63; #ifndef OP_USES_PALETTE_ZERO if (flagTRANS && bits == 0) @@ -1586,7 +1586,7 @@ if (firstPix != 0) if (!flagRMW) // This is the *only* correct use of endian-dependent code // (i.e., mem-to-mem direct copying)! - *(uint16 *)currentLineBuffer = paletteRAM16[index | bits]; + *(uint16_t *)currentLineBuffer = paletteRAM16[index | bits]; else *currentLineBuffer = BLEND_CR(*currentLineBuffer, paletteRAM[(index | bits) << 1]), @@ -1599,7 +1599,7 @@ if (firstPix != 0) /* The reason we subtract the horizontalRemainder *after* the test is because we had too few bytes for horizontalRemainder to properly recognize a negative number. But now it's 16 bits -wide, so we could probably go back to that (as long as we make it an int16 and not a uint16!) +wide, so we could probably go back to that (as long as we make it an int16_t and not a uint16!) */ /* horizontalRemainder -= 0x20; // Subtract 1.0f in [3.5] fixed point format while (horizontalRemainder & 0x80) @@ -1622,7 +1622,7 @@ wide, so we could probably go back to that (as long as we make it an int16 and n int phrasesToSkip = pixCount / 64, pixelShift = pixCount % 64; data += (pitch << 3) * phrasesToSkip; - pixels = ((uint64)JaguarReadLong(data, OP) << 32) | JaguarReadLong(data + 4, OP); + pixels = ((uint64_t)JaguarReadLong(data, OP) << 32) | JaguarReadLong(data + 4, OP); pixels <<= 1 * pixelShift; iwidth -= phrasesToSkip; pixCount = pixelShift; @@ -1635,14 +1635,14 @@ if (firstPix != 0) WriteLog("OP: Scaled bitmap @ 2 BPP requesting FIRSTPIX!\n"); index &= 0xFC; // Top six bits form CLUT index // The LSB is OPFLAG_REFLECT, so sign extend it and or 2 into it. - int32 lbufDelta = ((int8)((flags << 7) & 0xFF) >> 5) | 0x02; + int32_t lbufDelta = ((int8_t)((flags << 7) & 0xFF) >> 5) | 0x02; int pixCount = 0; - uint64 pixels = ((uint64)JaguarReadLong(data, OP) << 32) | JaguarReadLong(data + 4, OP); + uint64_t pixels = ((uint64_t)JaguarReadLong(data, OP) << 32) | JaguarReadLong(data + 4, OP); - while ((int32)iwidth > 0) + while ((int32_t)iwidth > 0) { - uint8 bits = pixels >> 62; + uint8_t bits = pixels >> 62; #ifndef OP_USES_PALETTE_ZERO if (flagTRANS && bits == 0) @@ -1655,7 +1655,7 @@ if (firstPix != 0) if (!flagRMW) // This is the *only* correct use of endian-dependent code // (i.e., mem-to-mem direct copying)! - *(uint16 *)currentLineBuffer = paletteRAM16[index | bits]; + *(uint16_t *)currentLineBuffer = paletteRAM16[index | bits]; else *currentLineBuffer = BLEND_CR(*currentLineBuffer, paletteRAM[(index | bits) << 1]), @@ -1686,7 +1686,7 @@ if (firstPix != 0) int phrasesToSkip = pixCount / 32, pixelShift = pixCount % 32; data += (pitch << 3) * phrasesToSkip; - pixels = ((uint64)JaguarReadLong(data, OP) << 32) | JaguarReadLong(data + 4, OP); + pixels = ((uint64_t)JaguarReadLong(data, OP) << 32) | JaguarReadLong(data + 4, OP); pixels <<= 2 * pixelShift; iwidth -= phrasesToSkip; pixCount = pixelShift; @@ -1699,14 +1699,14 @@ if (firstPix != 0) WriteLog("OP: Scaled bitmap @ 4 BPP requesting FIRSTPIX!\n"); index &= 0xF0; // Top four bits form CLUT index // The LSB is OPFLAG_REFLECT, so sign extend it and or 2 into it. - int32 lbufDelta = ((int8)((flags << 7) & 0xFF) >> 5) | 0x02; + int32_t lbufDelta = ((int8_t)((flags << 7) & 0xFF) >> 5) | 0x02; int pixCount = 0; - uint64 pixels = ((uint64)JaguarReadLong(data, OP) << 32) | JaguarReadLong(data + 4, OP); + uint64_t pixels = ((uint64_t)JaguarReadLong(data, OP) << 32) | JaguarReadLong(data + 4, OP); - while ((int32)iwidth > 0) + while ((int32_t)iwidth > 0) { - uint8 bits = pixels >> 60; + uint8_t bits = pixels >> 60; #ifndef OP_USES_PALETTE_ZERO if (flagTRANS && bits == 0) @@ -1719,7 +1719,7 @@ if (firstPix != 0) if (!flagRMW) // This is the *only* correct use of endian-dependent code // (i.e., mem-to-mem direct copying)! - *(uint16 *)currentLineBuffer = paletteRAM16[index | bits]; + *(uint16_t *)currentLineBuffer = paletteRAM16[index | bits]; else *currentLineBuffer = BLEND_CR(*currentLineBuffer, paletteRAM[(index | bits) << 1]), @@ -1750,7 +1750,7 @@ if (firstPix != 0) int phrasesToSkip = pixCount / 16, pixelShift = pixCount % 16; data += (pitch << 3) * phrasesToSkip; - pixels = ((uint64)JaguarReadLong(data, OP) << 32) | JaguarReadLong(data + 4, OP); + pixels = ((uint64_t)JaguarReadLong(data, OP) << 32) | JaguarReadLong(data + 4, OP); pixels <<= 4 * pixelShift; iwidth -= phrasesToSkip; pixCount = pixelShift; @@ -1762,14 +1762,14 @@ if (firstPix != 0) if (firstPix) WriteLog("OP: Scaled bitmap @ 8 BPP requesting FIRSTPIX! (fp=%u)\n", firstPix); // The LSB is OPFLAG_REFLECT, so sign extend it and or 2 into it. - int32 lbufDelta = ((int8)((flags << 7) & 0xFF) >> 5) | 0x02; + int32_t lbufDelta = ((int8_t)((flags << 7) & 0xFF) >> 5) | 0x02; int pixCount = 0; - uint64 pixels = ((uint64)JaguarReadLong(data, OP) << 32) | JaguarReadLong(data + 4, OP); + uint64_t pixels = ((uint64_t)JaguarReadLong(data, OP) << 32) | JaguarReadLong(data + 4, OP); - while ((int32)iwidth > 0) + while ((int32_t)iwidth > 0) { - uint8 bits = pixels >> 56; + uint8_t bits = pixels >> 56; #ifndef OP_USES_PALETTE_ZERO if (flagTRANS && bits == 0) @@ -1782,10 +1782,10 @@ if (firstPix) if (!flagRMW) // This is the *only* correct use of endian-dependent code // (i.e., mem-to-mem direct copying)! - *(uint16 *)currentLineBuffer = paletteRAM16[bits]; + *(uint16_t *)currentLineBuffer = paletteRAM16[bits]; /* { if (currentLineBuffer >= lineBufferLowerLimit && currentLineBuffer <= lineBufferUpperLimit) - *(uint16 *)currentLineBuffer = paletteRAM16[bits]; + *(uint16_t *)currentLineBuffer = paletteRAM16[bits]; }*/ else *currentLineBuffer = @@ -1810,7 +1810,7 @@ if (firstPix) int phrasesToSkip = pixCount / 8, pixelShift = pixCount % 8; data += (pitch << 3) * phrasesToSkip; - pixels = ((uint64)JaguarReadLong(data, OP) << 32) | JaguarReadLong(data + 4, OP); + pixels = ((uint64_t)JaguarReadLong(data, OP) << 32) | JaguarReadLong(data + 4, OP); pixels <<= 8 * pixelShift; iwidth -= phrasesToSkip; pixCount = pixelShift; @@ -1822,14 +1822,14 @@ if (firstPix) if (firstPix != 0) WriteLog("OP: Scaled bitmap @ 16 BPP requesting FIRSTPIX!\n"); // The LSB is OPFLAG_REFLECT, so sign extend it and OR 2 into it. - int32 lbufDelta = ((int8)((flags << 7) & 0xFF) >> 5) | 0x02; + int32_t lbufDelta = ((int8_t)((flags << 7) & 0xFF) >> 5) | 0x02; int pixCount = 0; - uint64 pixels = ((uint64)JaguarReadLong(data, OP) << 32) | JaguarReadLong(data + 4, OP); + uint64_t pixels = ((uint64_t)JaguarReadLong(data, OP) << 32) | JaguarReadLong(data + 4, OP); - while ((int32)iwidth > 0) + while ((int32_t)iwidth > 0) { - uint8 bitsHi = pixels >> 56, bitsLo = pixels >> 48; + uint8_t bitsHi = pixels >> 56, bitsLo = pixels >> 48; //This doesn't seem right... Let's try the encoded black value ($8800): //Apparently, CRY 0 maps to $8800... @@ -1871,7 +1871,7 @@ if (firstPix != 0) int phrasesToSkip = pixCount / 4, pixelShift = pixCount % 4; data += (pitch << 3) * phrasesToSkip; - pixels = ((uint64)JaguarReadLong(data, OP) << 32) | JaguarReadLong(data + 4, OP); + pixels = ((uint64_t)JaguarReadLong(data, OP) << 32) | JaguarReadLong(data + 4, OP); pixels <<= 16 * pixelShift; iwidth -= phrasesToSkip; @@ -1888,17 +1888,17 @@ if (firstPix != 0) WriteLog("OP: Scaled bitmap @ 24 BPP requesting FIRSTPIX!\n"); // Not sure, but I think RMW only works with 16 BPP and below, and only in CRY mode... // The LSB is OPFLAG_REFLECT, so sign extend it and or 4 into it. - int32 lbufDelta = ((int8)((flags << 7) & 0xFF) >> 4) | 0x04; + int32_t lbufDelta = ((int8_t)((flags << 7) & 0xFF) >> 4) | 0x04; while (iwidth--) { // Fetch phrase... - uint64 pixels = ((uint64)JaguarReadLong(data, OP) << 32) | JaguarReadLong(data + 4, OP); + uint64_t pixels = ((uint64_t)JaguarReadLong(data, OP) << 32) | JaguarReadLong(data + 4, OP); data += pitch << 3; // Multiply pitch * 8 (optimize: precompute this value) for(int i=0; i<2; i++) { - uint8 bits3 = pixels >> 56, bits2 = pixels >> 48, + uint8_t bits3 = pixels >> 56, bits2 = pixels >> 48, bits1 = pixels >> 40, bits0 = pixels >> 32; if (flagTRANS && (bits3 | bits2 | bits1 | bits0) == 0) diff --git a/src/op.h b/src/op.h index 760f593..ad90400 100644 --- a/src/op.h +++ b/src/op.h @@ -5,24 +5,19 @@ #ifndef __OBJECTP_H__ #define __OBJECTP_H__ -#include "types.h" +#include void OPInit(void); void OPReset(void); void OPDone(void); -uint64 OPLoadPhrase(uint32 offset); +uint64_t OPLoadPhrase(uint32_t offset); void OPProcessList(int scanline, bool render); -uint32 OPGetListPointer(void); -void OPSetStatusRegister(uint32 data); -uint32 OPGetStatusRegister(void); -void OPSetCurrentObject(uint64 object); - -//uint8 OPReadByte(uint32, uint32 who = UNKNOWN); -//uint16 OPReadWord(uint32, uint32 who = UNKNOWN); -//void OPWriteByte(uint32, uint8, uint32 who = UNKNOWN); -//void OPWriteWord(uint32, uint16, uint32 who = UNKNOWN); +uint32_t OPGetListPointer(void); +void OPSetStatusRegister(uint32_t data); +uint32_t OPGetStatusRegister(void); +void OPSetCurrentObject(uint64_t object); #define OPFLAG_RELEASE 8 // Bus release bit #define OPFLAG_TRANS 4 // Transparency bit @@ -31,6 +26,6 @@ void OPSetCurrentObject(uint64 object); // Exported variables -extern uint8 objectp_running; +extern uint8_t objectp_running; #endif // __OBJECTP_H__ diff --git a/src/settings.cpp b/src/settings.cpp index b1f864f..078bc4a 100644 --- a/src/settings.cpp +++ b/src/settings.cpp @@ -9,119 +9,12 @@ // Who When What // --- ---------- ------------------------------------------------------------- // JLH 01/16/2010 Created this log +// JLH 02/23/2013 Finally removed commented out stuff :-P // #include "settings.h" -//#include -//#include -//#include "SDL.h" -//#include "sdlemu_config.h" -//#include "log.h" - -using namespace std; - // Global variables VJSettings vjs; -#if 0 -// Private function prototypes - -void CheckForTrailingSlash(char * path); - -// -// Load Virtual Jaguar's settings -// -void LoadVJSettings(void) -{ - if (sdlemu_init_config("./vj.cfg") == 0 // CWD - && sdlemu_init_config("~/vj.cfg") == 0 // Home - && sdlemu_init_config("~/.vj/vj.cfg") == 0 // Home under .vj directory - && sdlemu_init_config("vj.cfg") == 0) // Somewhere in the path - WriteLog("Settings: Couldn't find VJ configuration file. Using defaults...\n"); - - vjs.useJoystick = sdlemu_getval_bool("useJoystick", false); - vjs.joyport = sdlemu_getval_int("joyport", 0); - vjs.hardwareTypeNTSC = sdlemu_getval_bool("hardwareTypeNTSC", true); - vjs.frameSkip = sdlemu_getval_int("frameSkip", 0); - vjs.useJaguarBIOS = sdlemu_getval_bool("useJaguarBIOS", false); - vjs.DSPEnabled = sdlemu_getval_bool("DSPEnabled", false); - vjs.usePipelinedDSP = sdlemu_getval_bool("usePipelinedDSP", false); - vjs.fullscreen = sdlemu_getval_bool("fullscreen", false); - vjs.useOpenGL = sdlemu_getval_bool("useOpenGL", true); - vjs.glFilter = sdlemu_getval_int("glFilterType", 0); - vjs.renderType = sdlemu_getval_int("renderType", 0); - - // Keybindings in order of U, D, L, R, C, B, A, Op, Pa, 0-9, #, * - vjs.p1KeyBindings[0] = sdlemu_getval_int("p1k_up", SDLK_UP); - vjs.p1KeyBindings[1] = sdlemu_getval_int("p1k_down", SDLK_DOWN); - vjs.p1KeyBindings[2] = sdlemu_getval_int("p1k_left", SDLK_LEFT); - vjs.p1KeyBindings[3] = sdlemu_getval_int("p1k_right", SDLK_RIGHT); - vjs.p1KeyBindings[4] = sdlemu_getval_int("p1k_c", SDLK_z); - vjs.p1KeyBindings[5] = sdlemu_getval_int("p1k_b", SDLK_x); - vjs.p1KeyBindings[6] = sdlemu_getval_int("p1k_a", SDLK_c); - vjs.p1KeyBindings[7] = sdlemu_getval_int("p1k_option", SDLK_QUOTE); - vjs.p1KeyBindings[8] = sdlemu_getval_int("p1k_pause", SDLK_RETURN); - vjs.p1KeyBindings[9] = sdlemu_getval_int("p1k_0", SDLK_KP0); - vjs.p1KeyBindings[10] = sdlemu_getval_int("p1k_1", SDLK_KP1); - vjs.p1KeyBindings[11] = sdlemu_getval_int("p1k_2", SDLK_KP2); - vjs.p1KeyBindings[12] = sdlemu_getval_int("p1k_3", SDLK_KP3); - vjs.p1KeyBindings[13] = sdlemu_getval_int("p1k_4", SDLK_KP4); - vjs.p1KeyBindings[14] = sdlemu_getval_int("p1k_5", SDLK_KP5); - vjs.p1KeyBindings[15] = sdlemu_getval_int("p1k_6", SDLK_KP6); - vjs.p1KeyBindings[16] = sdlemu_getval_int("p1k_7", SDLK_KP7); - vjs.p1KeyBindings[17] = sdlemu_getval_int("p1k_8", SDLK_KP8); - vjs.p1KeyBindings[18] = sdlemu_getval_int("p1k_9", SDLK_KP9); - vjs.p1KeyBindings[19] = sdlemu_getval_int("p1k_pound", SDLK_KP_DIVIDE); - vjs.p1KeyBindings[20] = sdlemu_getval_int("p1k_star", SDLK_KP_MULTIPLY); - - vjs.p2KeyBindings[0] = sdlemu_getval_int("p2k_up", SDLK_UP); - vjs.p2KeyBindings[1] = sdlemu_getval_int("p2k_down", SDLK_DOWN); - vjs.p2KeyBindings[2] = sdlemu_getval_int("p2k_left", SDLK_LEFT); - vjs.p2KeyBindings[3] = sdlemu_getval_int("p2k_right", SDLK_RIGHT); - vjs.p2KeyBindings[4] = sdlemu_getval_int("p2k_c", SDLK_z); - vjs.p2KeyBindings[5] = sdlemu_getval_int("p2k_b", SDLK_x); - vjs.p2KeyBindings[6] = sdlemu_getval_int("p2k_a", SDLK_c); - vjs.p2KeyBindings[7] = sdlemu_getval_int("p2k_option", SDLK_QUOTE); - vjs.p2KeyBindings[8] = sdlemu_getval_int("p2k_pause", SDLK_RETURN); - vjs.p2KeyBindings[9] = sdlemu_getval_int("p2k_0", SDLK_KP0); - vjs.p2KeyBindings[10] = sdlemu_getval_int("p2k_1", SDLK_KP1); - vjs.p2KeyBindings[11] = sdlemu_getval_int("p2k_2", SDLK_KP2); - vjs.p2KeyBindings[12] = sdlemu_getval_int("p2k_3", SDLK_KP3); - vjs.p2KeyBindings[13] = sdlemu_getval_int("p2k_4", SDLK_KP4); - vjs.p2KeyBindings[14] = sdlemu_getval_int("p2k_5", SDLK_KP5); - vjs.p2KeyBindings[15] = sdlemu_getval_int("p2k_6", SDLK_KP6); - vjs.p2KeyBindings[16] = sdlemu_getval_int("p2k_7", SDLK_KP7); - vjs.p2KeyBindings[17] = sdlemu_getval_int("p2k_8", SDLK_KP8); - vjs.p2KeyBindings[18] = sdlemu_getval_int("p2k_9", SDLK_KP9); - vjs.p2KeyBindings[19] = sdlemu_getval_int("p2k_pound", SDLK_KP_DIVIDE); - vjs.p2KeyBindings[20] = sdlemu_getval_int("p2k_star", SDLK_KP_MULTIPLY); - - strcpy(vjs.jagBootPath, sdlemu_getval_string("JagBootROM", "./BIOS/jagboot.rom")); - strcpy(vjs.CDBootPath, sdlemu_getval_string("CDBootROM", "./BIOS/jagcd.rom")); - strcpy(vjs.EEPROMPath, sdlemu_getval_string("EEPROMs", "./EEPROMs")); - strcpy(vjs.ROMPath, sdlemu_getval_string("ROMs", "./ROMs")); - CheckForTrailingSlash(vjs.EEPROMPath); - CheckForTrailingSlash(vjs.ROMPath); - - vjs.hardwareTypeAlpine = false; // No external setting for this yet... -} - -// -// Save Virtual Jaguar's settings -// -void SaveVJSettings(void) -{ -} - -// -// Check path for a trailing slash, and append if not present -// -void CheckForTrailingSlash(char * path) -{ - if (strlen(path) > 0) - if (path[strlen(path) - 1] != '/') - strcat(path, "/"); // NOTE: Possible buffer overflow -} -#endif diff --git a/src/settings.h b/src/settings.h index 28aa2b9..bb160d5 100644 --- a/src/settings.h +++ b/src/settings.h @@ -1,5 +1,5 @@ // -// SETTINGS.H: Header file +// settings.h: Header file // #ifndef __SETTINGS_H__ @@ -12,14 +12,14 @@ #else #include // for MAX_PATH on MinGW/Darwin #endif -#include "types.h" +#include // Settings struct struct VJSettings { bool useJoystick; - int32 joyport; // Joystick port + int32_t joyport; // Joystick port bool hardwareTypeNTSC; // Set to false for PAL bool useJaguarBIOS; bool GPUEnabled; @@ -27,17 +27,18 @@ struct VJSettings bool usePipelinedDSP; bool fullscreen; bool useOpenGL; - uint32 glFilter; + uint32_t glFilter; bool hardwareTypeAlpine; bool audioEnabled; - uint32 frameSkip; - uint32 renderType; + uint32_t frameSkip; + uint32_t renderType; bool allowWritesToROM; + uint32_t biosType; // Keybindings in order of U, D, L, R, C, B, A, Op, Pa, 0-9, #, * - uint32 p1KeyBindings[21]; - uint32 p2KeyBindings[21]; + uint32_t p1KeyBindings[21]; + uint32_t p2KeyBindings[21]; // Paths @@ -53,6 +54,10 @@ struct VJSettings enum { RT_NORMAL = 0, RT_TV = 1 }; +// BIOS types + +enum { BT_K_SERIES, BT_M_SERIES, BT_STUBULATOR_1, BT_STUBULATOR_2 }; + // Exported functions //void LoadVJSettings(void); diff --git a/src/tom.cpp b/src/tom.cpp index 845f155..cefee64 100644 --- a/src/tom.cpp +++ b/src/tom.cpp @@ -349,32 +349,32 @@ //(It's easier to do it here, though...) //#define TOM_DEBUG -uint8 tomRam8[0x4000]; -uint32 tomWidth, tomHeight; -uint32 tomTimerPrescaler; -uint32 tomTimerDivider; -int32 tomTimerCounter; -uint16 tom_jerry_int_pending, tom_timer_int_pending, tom_object_int_pending, +uint8_t tomRam8[0x4000]; +uint32_t tomWidth, tomHeight; +uint32_t tomTimerPrescaler; +uint32_t tomTimerDivider; +int32_t tomTimerCounter; +uint16_t tom_jerry_int_pending, tom_timer_int_pending, tom_object_int_pending, tom_gpu_int_pending, tom_video_int_pending; // These are set by the "user" of the Jaguar core lib, since these are // OS/system dependent. -uint32 * screenBuffer; -uint32 screenPitch; +uint32_t * screenBuffer; +uint32_t screenPitch; static const char * videoMode_to_str[8] = { "16 BPP CRY", "24 BPP RGB", "16 BPP DIRECT", "16 BPP RGB", "Mixed mode", "24 BPP RGB", "16 BPP DIRECT", "16 BPP RGB" }; -typedef void (render_xxx_scanline_fn)(uint32 *); +typedef void (render_xxx_scanline_fn)(uint32_t *); // Private function prototypes -void tom_render_16bpp_cry_scanline(uint32 * backbuffer); -void tom_render_24bpp_scanline(uint32 * backbuffer); -void tom_render_16bpp_direct_scanline(uint32 * backbuffer); -void tom_render_16bpp_rgb_scanline(uint32 * backbuffer); -void tom_render_16bpp_cry_rgb_mix_scanline(uint32 * backbuffer); +void tom_render_16bpp_cry_scanline(uint32_t * backbuffer); +void tom_render_24bpp_scanline(uint32_t * backbuffer); +void tom_render_16bpp_direct_scanline(uint32_t * backbuffer); +void tom_render_16bpp_rgb_scanline(uint32_t * backbuffer); +void tom_render_16bpp_cry_rgb_mix_scanline(uint32_t * backbuffer); //render_xxx_scanline_fn * scanline_render_normal[] = render_xxx_scanline_fn * scanline_render[] = @@ -559,9 +559,9 @@ Trevor McFur Vertical resolution: 238 lines */ -uint32 RGB16ToRGB32[0x10000]; -uint32 CRY16ToRGB32[0x10000]; -uint32 MIX16ToRGB32[0x10000]; +uint32_t RGB16ToRGB32[0x10000]; +uint32_t CRY16ToRGB32[0x10000]; +uint32_t MIX16ToRGB32[0x10000]; #warning "This is not endian-safe. !!! FIX !!!" @@ -569,7 +569,7 @@ void TOMFillLookupTables(void) { // NOTE: Jaguar 16-bit (non-CRY) color is RBG 556 like so: // RRRR RBBB BBGG GGGG - for(uint32 i=0; i<0x10000; i++) + for(uint32_t i=0; i<0x10000; i++) //hm. RGB16ToRGB32[i] = 0xFF000000 // | ((i & 0xF100) >> 8) | ((i & 0xE000) >> 13) // | ((i & 0x07C0) << 13) | ((i & 0x0700) << 8) @@ -579,15 +579,15 @@ void TOMFillLookupTables(void) | ((i & 0x003F) << 18) // Green | ((i & 0x07C0) << 5); // Blue - for(uint32 i=0; i<0x10000; i++) + for(uint32_t i=0; i<0x10000; i++) { - uint32 cyan = (i & 0xF000) >> 12, + uint32_t cyan = (i & 0xF000) >> 12, red = (i & 0x0F00) >> 8, intensity = (i & 0x00FF); - uint32 r = (((uint32)redcv[cyan][red]) * intensity) >> 8, - g = (((uint32)greencv[cyan][red]) * intensity) >> 8, - b = (((uint32)bluecv[cyan][red]) * intensity) >> 8; + uint32_t r = (((uint32_t)redcv[cyan][red]) * intensity) >> 8, + g = (((uint32_t)greencv[cyan][red]) * intensity) >> 8, + b = (((uint32_t)bluecv[cyan][red]) * intensity) >> 8; //hm. CRY16ToRGB32[i] = 0xFF000000 | (b << 16) | (g << 8) | r; CRY16ToRGB32[i] = 0x000000FF | (r << 24) | (g << 16) | (b << 8); @@ -626,22 +626,22 @@ void TOMSetPendingVideoInt(void) } -uint8 * TOMGetRamPointer(void) +uint8_t * TOMGetRamPointer(void) { return tomRam8; } -uint8 TOMGetVideoMode(void) +uint8_t TOMGetVideoMode(void) { - uint16 vmode = GET16(tomRam8, VMODE); + uint16_t vmode = GET16(tomRam8, VMODE); return ((vmode & VARMOD) >> 6) | ((vmode & MODE) >> 1); } //Used in only one place (and for debug purposes): OBJECTP.CPP #warning "Used in only one place (and for debug purposes): OBJECTP.CPP !!! FIX !!!" -uint16 TOMGetVDB(void) +uint16_t TOMGetVDB(void) { return GET16(tomRam8, VDB); } @@ -651,22 +651,22 @@ uint16 TOMGetVDB(void) // // 16 BPP CRY/RGB mixed mode rendering // -void tom_render_16bpp_cry_rgb_mix_scanline(uint32 * backbuffer) +void tom_render_16bpp_cry_rgb_mix_scanline(uint32_t * backbuffer) { //CHANGED TO 32BPP RENDERING - uint16 width = tomWidth; - uint8 * current_line_buffer = (uint8 *)&tomRam8[0x1800]; + uint16_t width = tomWidth; + uint8_t * current_line_buffer = (uint8_t *)&tomRam8[0x1800]; //New stuff--restrict our drawing... - uint8 pwidth = ((GET16(tomRam8, VMODE) & PWIDTH) >> 9) + 1; + uint8_t pwidth = ((GET16(tomRam8, VMODE) & PWIDTH) >> 9) + 1; //NOTE: May have to check HDB2 as well! // Get start position in HC ticks - int16 startPos = GET16(tomRam8, HDB1) - (vjs.hardwareTypeNTSC ? LEFT_VISIBLE_HC : LEFT_VISIBLE_HC_PAL); + int16_t startPos = GET16(tomRam8, HDB1) - (vjs.hardwareTypeNTSC ? LEFT_VISIBLE_HC : LEFT_VISIBLE_HC_PAL); // Convert to pixels startPos /= pwidth; if (startPos < 0) - // This is x2 because current_line_buffer is uint8 & we're in a 16bpp mode + // This is x2 because current_line_buffer is uint8_t & we're in a 16bpp mode current_line_buffer += 2 * -startPos; else //This case doesn't properly handle the "start on the right side of virtual screen" case @@ -677,10 +677,10 @@ void tom_render_16bpp_cry_rgb_mix_scanline(uint32 * backbuffer) // and so is the backbuffer. #ifdef LEFT_BG_FIX { - uint8 g = tomRam8[BORD1], r = tomRam8[BORD1 + 1], b = tomRam8[BORD2 + 1]; - uint32 pixel = 0x000000FF | (r << 24) | (g << 16) | (b << 8); + uint8_t g = tomRam8[BORD1], r = tomRam8[BORD1 + 1], b = tomRam8[BORD2 + 1]; + uint32_t pixel = 0x000000FF | (r << 24) | (g << 16) | (b << 8); - for(int16 i=0; i> 9) + 1; + uint8_t pwidth = ((GET16(tomRam8, VMODE) & PWIDTH) >> 9) + 1; //NOTE: May have to check HDB2 as well! - int16 startPos = GET16(tomRam8, HDB1) - (vjs.hardwareTypeNTSC ? LEFT_VISIBLE_HC : LEFT_VISIBLE_HC_PAL);// Get start position in HC ticks + int16_t startPos = GET16(tomRam8, HDB1) - (vjs.hardwareTypeNTSC ? LEFT_VISIBLE_HC : LEFT_VISIBLE_HC_PAL);// Get start position in HC ticks startPos /= pwidth; if (startPos < 0) current_line_buffer += 2 * -startPos; else #ifdef LEFT_BG_FIX { - uint8 g = tomRam8[BORD1], r = tomRam8[BORD1 + 1], b = tomRam8[BORD2 + 1]; - uint32 pixel = 0x000000FF | (r << 24) | (g << 16) | (b << 8); + uint8_t g = tomRam8[BORD1], r = tomRam8[BORD1 + 1], b = tomRam8[BORD2 + 1]; + uint32_t pixel = 0x000000FF | (r << 24) | (g << 16) | (b << 8); - for(int16 i=0; i> 9) + 1; + uint8_t pwidth = ((GET16(tomRam8, VMODE) & PWIDTH) >> 9) + 1; //NOTE: May have to check HDB2 as well! - int16 startPos = GET16(tomRam8, HDB1) - (vjs.hardwareTypeNTSC ? LEFT_VISIBLE_HC : LEFT_VISIBLE_HC_PAL); // Get start position in HC ticks + int16_t startPos = GET16(tomRam8, HDB1) - (vjs.hardwareTypeNTSC ? LEFT_VISIBLE_HC : LEFT_VISIBLE_HC_PAL); // Get start position in HC ticks startPos /= pwidth; if (startPos < 0) current_line_buffer += 4 * -startPos; else #ifdef LEFT_BG_FIX { - uint8 g = tomRam8[BORD1], r = tomRam8[BORD1 + 1], b = tomRam8[BORD2 + 1]; - uint32 pixel = 0x000000FF | (r << 24) | (g << 16) | (b << 8); + uint8_t g = tomRam8[BORD1], r = tomRam8[BORD1 + 1], b = tomRam8[BORD2 + 1]; + uint32_t pixel = 0x000000FF | (r << 24) | (g << 16) | (b << 8); - for(int16 i=0; i> 1; width--; @@ -809,18 +809,18 @@ void tom_render_16bpp_direct_scanline(uint32 * backbuffer) // // 16 BPP RGB mode rendering // -void tom_render_16bpp_rgb_scanline(uint32 * backbuffer) +void tom_render_16bpp_rgb_scanline(uint32_t * backbuffer) { //CHANGED TO 32BPP RENDERING // 16 BPP RGB: 0-5 green, 6-10 blue, 11-15 red - uint16 width = tomWidth; - uint8 * current_line_buffer = (uint8 *)&tomRam8[0x1800]; + uint16_t width = tomWidth; + uint8_t * current_line_buffer = (uint8_t *)&tomRam8[0x1800]; //New stuff--restrict our drawing... - uint8 pwidth = ((GET16(tomRam8, VMODE) & PWIDTH) >> 9) + 1; + uint8_t pwidth = ((GET16(tomRam8, VMODE) & PWIDTH) >> 9) + 1; //NOTE: May have to check HDB2 as well! - int16 startPos = GET16(tomRam8, HDB1) - (vjs.hardwareTypeNTSC ? LEFT_VISIBLE_HC : LEFT_VISIBLE_HC_PAL); // Get start position in HC ticks + int16_t startPos = GET16(tomRam8, HDB1) - (vjs.hardwareTypeNTSC ? LEFT_VISIBLE_HC : LEFT_VISIBLE_HC_PAL); // Get start position in HC ticks startPos /= pwidth; if (startPos < 0) @@ -828,10 +828,10 @@ void tom_render_16bpp_rgb_scanline(uint32 * backbuffer) else #ifdef LEFT_BG_FIX { - uint8 g = tomRam8[BORD1], r = tomRam8[BORD1 + 1], b = tomRam8[BORD2 + 1]; - uint32 pixel = 0x000000FF | (r << 24) | (g << 16) | (b << 8); + uint8_t g = tomRam8[BORD1], r = tomRam8[BORD1 + 1], b = tomRam8[BORD2 + 1]; + uint32_t pixel = 0x000000FF | (r << 24) | (g << 16) | (b << 8); - for(int16 i=0; i= startingHalfline && halfline < endingHalfline) -// if (halfline >= 0 && halfline < (uint16)GET16(tomRam8, VDE)) +// if (halfline >= 0 && halfline < (uint16_t)GET16(tomRam8, VDE)) // 16 isn't enough, and neither is 32 for raptgun. 32 fucks up Rayman -// if (halfline >= ((uint16)GET16(tomRam8, VDB) / 2) && halfline < ((uint16)GET16(tomRam8, VDE) / 2)) -// if (halfline >= ((uint16)GET16(tomRam8, VDB) - 16) && halfline < (uint16)GET16(tomRam8, VDE)) -// if (halfline >= 20 && halfline < (uint16)GET16(tomRam8, VDE)) -// if (halfline >= (uint16)GET16(tomRam8, VDB) && halfline < (uint16)GET16(tomRam8, VDE)) +// if (halfline >= ((uint16_t)GET16(tomRam8, VDB) / 2) && halfline < ((uint16_t)GET16(tomRam8, VDE) / 2)) +// if (halfline >= ((uint16_t)GET16(tomRam8, VDB) - 16) && halfline < (uint16_t)GET16(tomRam8, VDE)) +// if (halfline >= 20 && halfline < (uint16_t)GET16(tomRam8, VDE)) +// if (halfline >= (uint16_t)GET16(tomRam8, VDB) && halfline < (uint16_t)GET16(tomRam8, VDE)) { if (render) { - uint8 * current_line_buffer = (uint8 *)&tomRam8[0x1800]; - uint8 bgHI = tomRam8[BG], bgLO = tomRam8[BG + 1]; + uint8_t * current_line_buffer = (uint8_t *)&tomRam8[0x1800]; + uint8_t bgHI = tomRam8[BG], bgLO = tomRam8[BG + 1]; // Clear line buffer with BG if (GET16(tomRam8, VMODE) & BGEN) // && (CRY or RGB16)... - for(uint32 i=0; i<720; i++) + for(uint32_t i=0; i<720; i++) *current_line_buffer++ = bgHI, *current_line_buffer++ = bgLO; OPProcessList(halfline, render); @@ -955,19 +955,19 @@ TOM: Vertical Interrupt written by M68K: 491 inActiveDisplayArea = false; #else inActiveDisplayArea = - (halfline >= (uint16)GET16(tomRam8, VDB) && halfline < (uint16)GET16(tomRam8, VDE) + (halfline >= (uint16_t)GET16(tomRam8, VDB) && halfline < (uint16_t)GET16(tomRam8, VDE) ? true : false); - if (halfline < (uint16)GET16(tomRam8, VDE)) + if (halfline < (uint16_t)GET16(tomRam8, VDE)) { if (render)//With JaguarExecuteNew() this is always true... { - uint8 * current_line_buffer = (uint8 *)&tomRam8[0x1800]; - uint8 bgHI = tomRam8[BG], bgLO = tomRam8[BG + 1]; + uint8_t * current_line_buffer = (uint8_t *)&tomRam8[0x1800]; + uint8_t bgHI = tomRam8[BG], bgLO = tomRam8[BG + 1]; // Clear line buffer with BG if (GET16(tomRam8, VMODE) & BGEN) // && (CRY or RGB16)... - for(uint32 i=0; i<720; i++) + for(uint32_t i=0; i<720; i++) *current_line_buffer++ = bgHI, *current_line_buffer++ = bgLO; // OPProcessList(halfline, render); @@ -979,9 +979,9 @@ TOM: Vertical Interrupt written by M68K: 491 // Try to take PAL into account... [We do now!] - uint16 topVisible = (vjs.hardwareTypeNTSC ? TOP_VISIBLE_VC : TOP_VISIBLE_VC_PAL), + uint16_t topVisible = (vjs.hardwareTypeNTSC ? TOP_VISIBLE_VC : TOP_VISIBLE_VC_PAL), bottomVisible = (vjs.hardwareTypeNTSC ? BOTTOM_VISIBLE_VC : BOTTOM_VISIBLE_VC_PAL); - uint32 * TOMCurrentLine = &(screenBuffer[((halfline - topVisible) / 2) * screenPitch]); + uint32_t * TOMCurrentLine = &(screenBuffer[((halfline - topVisible) / 2) * screenPitch]); // Here's our virtualized scanline code... @@ -1009,8 +1009,8 @@ TOM: Vertical Interrupt written by M68K: 491 #define MODE 0x0006 // Line buffer to video generator mode #define VARMOD 0x0100 // Mixed CRY/RGB16 mode (only works in MODE 0!) */ - uint8 pwidth = ((GET16(tomRam8, VMODE) & PWIDTH) >> 9) + 1; - uint8 mode = ((GET16(tomRam8, VMODE) & MODE) >> 1); + uint8_t pwidth = ((GET16(tomRam8, VMODE) & PWIDTH) >> 9) + 1; + uint8_t mode = ((GET16(tomRam8, VMODE) & MODE) >> 1); bool varmod = GET16(tomRam8, VMODE) & VARMOD; //The video texture line buffer ranges from 0 to 1279, with its left edge starting at //LEFT_VISIBLE_HC. So, we need to start writing into the backbuffer at HDB1, using pwidth @@ -1023,16 +1023,16 @@ TOM: Vertical Interrupt written by M68K: 491 // // 24 BPP mode rendering // -void tom_render_24bpp_scanline(uint32 * backbuffer) +void tom_render_24bpp_scanline(uint32_t * backbuffer) { //CHANGED TO 32BPP RENDERING - uint16 width = tomWidth; - uint8 * current_line_buffer = (uint8 *)&tomRam8[0x1800]; + uint16_t width = tomWidth; + uint8_t * current_line_buffer = (uint8_t *)&tomRam8[0x1800]; //New stuff--restrict our drawing... - uint8 pwidth = ((GET16(tomRam8, VMODE) & PWIDTH) >> 9) + 1; + uint8_t pwidth = ((GET16(tomRam8, VMODE) & PWIDTH) >> 9) + 1; //NOTE: May have to check HDB2 as well! - int16 startPos = GET16(tomRam8, HDB1) - (vjs.hardwareTypeNTSC ? LEFT_VISIBLE_HC : LEFT_VISIBLE_HC_PAL); // Get start position in HC ticks + int16_t startPos = GET16(tomRam8, HDB1) - (vjs.hardwareTypeNTSC ? LEFT_VISIBLE_HC : LEFT_VISIBLE_HC_PAL); // Get start position in HC ticks startPos /= pwidth; if (startPos < 0) current_line_buffer += 4 * -startPos; @@ -1042,10 +1042,10 @@ void tom_render_24bpp_scanline(uint32 * backbuffer) while (width) { - uint32 g = *current_line_buffer++; - uint32 r = *current_line_buffer++; + uint32_t g = *current_line_buffer++; + uint32_t r = *current_line_buffer++; current_line_buffer++; - uint32 b = *current_line_buffer++; + uint32_t b = *current_line_buffer++; *backbuffer++ = 0xFF000000 | (b << 16) | (g << 8) | r; width--; } @@ -1057,12 +1057,12 @@ void tom_render_24bpp_scanline(uint32 * backbuffer) else { // If outside of VDB & VDE, then display the border color - uint32 * currentLineBuffer = TOMCurrentLine; - uint8 g = tomRam8[BORD1], r = tomRam8[BORD1 + 1], b = tomRam8[BORD2 + 1]; -//Hm. uint32 pixel = 0xFF000000 | (b << 16) | (g << 8) | r; - uint32 pixel = 0x000000FF | (r << 24) | (g << 16) | (b << 8); + uint32_t * currentLineBuffer = TOMCurrentLine; + uint8_t g = tomRam8[BORD1], r = tomRam8[BORD1 + 1], b = tomRam8[BORD2 + 1]; +//Hm. uint32_t pixel = 0xFF000000 | (b << 16) | (g << 8) | r; + uint32_t pixel = 0x000000FF | (r << 24) | (g << 16) | (b << 8); - for(uint32 i=0; i 0.25:1 (1:4) pixels (X:Y ratio) @@ -1123,7 +1123,7 @@ uint32 TOMGetVideoModeWidth(void) // return width[(GET16(tomRam8, VMODE) & PWIDTH) >> 9]; // Now, we just calculate it... -/* uint16 hdb1 = GET16(tomRam8, HDB1), hde = GET16(tomRam8, HDE), +/* uint16_t hdb1 = GET16(tomRam8, HDB1), hde = GET16(tomRam8, HDE), hbb = GET16(tomRam8, HBB), pwidth = ((GET16(tomRam8, VMODE) & PWIDTH) >> 9) + 1; // return ((hbb < hde ? hbb : hde) - hdb1) / pwidth; //Temporary, for testing Doom... @@ -1131,7 +1131,7 @@ uint32 TOMGetVideoModeWidth(void) // To make it easier to make a quasi-fixed display size, we restrict the viewing // area to an arbitrary range of the Horizontal Count. - uint16 pwidth = ((GET16(tomRam8, VMODE) & PWIDTH) >> 9) + 1; + uint16_t pwidth = ((GET16(tomRam8, VMODE) & PWIDTH) >> 9) + 1; return (vjs.hardwareTypeNTSC ? RIGHT_VISIBLE_HC - LEFT_VISIBLE_HC : RIGHT_VISIBLE_HC_PAL - LEFT_VISIBLE_HC_PAL) / pwidth; //Temporary, for testing Doom... // return (RIGHT_VISIBLE_HC - LEFT_VISIBLE_HC) / (pwidth == 8 ? 4 : pwidth); @@ -1162,14 +1162,14 @@ uint32 TOMGetVideoModeWidth(void) // Same with the width... [Width is pretty much virtualized now.] // Now that that the width is virtualized, let's virtualize the height. :-) -uint32 TOMGetVideoModeHeight(void) +uint32_t TOMGetVideoModeHeight(void) { -// uint16 vmode = GET16(tomRam8, VMODE); -// uint16 vbe = GET16(tomRam8, VBE); -// uint16 vbb = GET16(tomRam8, VBB); -// uint16 vdb = GET16(tomRam8, VDB); -// uint16 vde = GET16(tomRam8, VDE); -// uint16 vp = GET16(tomRam8, VP); +// uint16_t vmode = GET16(tomRam8, VMODE); +// uint16_t vbe = GET16(tomRam8, VBE); +// uint16_t vbb = GET16(tomRam8, VBB); +// uint16_t vdb = GET16(tomRam8, VDB); +// uint16_t vde = GET16(tomRam8, VDE); +// uint16_t vp = GET16(tomRam8, VP); /* if (vde == 0xFFFF) vde = vbb;//*/ @@ -1299,7 +1299,7 @@ void TOMReset(void) // // TOM byte access (read) // -uint8 TOMReadByte(uint32 offset, uint32 who/*=UNKNOWN*/) +uint8_t TOMReadByte(uint32_t offset, uint32_t who/*=UNKNOWN*/) { //???Is this needed??? // It seems so. Perhaps it's the +$8000 offset being written to (32-bit interface)? @@ -1335,7 +1335,7 @@ uint8 TOMReadByte(uint32 offset, uint32 who/*=UNKNOWN*/) // // TOM word access (read) // -uint16 TOMReadWord(uint32 offset, uint32 who/*=UNKNOWN*/) +uint16_t TOMReadWord(uint32_t offset, uint32_t who/*=UNKNOWN*/) { //???Is this needed??? // offset &= 0xFF3FFF; @@ -1348,7 +1348,7 @@ if (offset >= 0xF02000 && offset <= 0xF020FF) if (offset == 0xF000E0) { // For reading, should only return the lower 5 bits... - uint16 data = (tom_jerry_int_pending << 4) | (tom_timer_int_pending << 3) + uint16_t data = (tom_jerry_int_pending << 4) | (tom_timer_int_pending << 3) | (tom_object_int_pending << 2) | (tom_gpu_int_pending << 1) | (tom_video_int_pending << 0); //WriteLog("tom: interrupt status is 0x%.4x \n",data); @@ -1394,7 +1394,7 @@ if (offset >= 0xF02000 && offset <= 0xF020FF) // // TOM byte access (write) // -void TOMWriteByte(uint32 offset, uint8 data, uint32 who/*=UNKNOWN*/) +void TOMWriteByte(uint32_t offset, uint8_t data, uint32_t who/*=UNKNOWN*/) { #ifdef TOM_DEBUG WriteLog("TOM: Writing byte %02X at %06X", data, offset); @@ -1477,7 +1477,7 @@ void TOMWriteByte(uint32 offset, uint8 data, uint32 who/*=UNKNOWN*/) // // TOM word access (write) // -void TOMWriteWord(uint32 offset, uint16 data, uint32 who/*=UNKNOWN*/) +void TOMWriteWord(uint32_t offset, uint16_t data, uint32_t who/*=UNKNOWN*/) { #ifdef TOM_DEBUG WriteLog("TOM: Writing byte %04X at %06X", data, offset); @@ -1658,7 +1658,7 @@ if (offset == HEQ) #if 1 if ((offset >= 0x28) && (offset <= 0x4F)) { - uint32 width = TOMGetVideoModeWidth(), height = TOMGetVideoModeHeight(); + uint32_t width = TOMGetVideoModeWidth(), height = TOMGetVideoModeHeight(); if ((width != tomWidth) || (height != tomHeight)) { @@ -1719,7 +1719,7 @@ void TOMResetPIT(void) // //NOTE: This is only used by the old execution code... Safe to remove // once the timer system is stable. -void TOMExecPIT(uint32 cycles) +void TOMExecPIT(uint32_t cycles) { if (tomTimerPrescaler) { diff --git a/src/tom.h b/src/tom.h index 7252148..3ffc186 100644 --- a/src/tom.h +++ b/src/tom.h @@ -29,23 +29,23 @@ void TOMInit(void); void TOMReset(void); void TOMDone(void); -uint8 TOMReadByte(uint32 offset, uint32 who = UNKNOWN); -uint16 TOMReadWord(uint32 offset, uint32 who = UNKNOWN); -void TOMWriteByte(uint32 offset, uint8 data, uint32 who = UNKNOWN); -void TOMWriteWord(uint32 offset, uint16 data, uint32 who = UNKNOWN); +uint8_t TOMReadByte(uint32_t offset, uint32_t who = UNKNOWN); +uint16_t TOMReadWord(uint32_t offset, uint32_t who = UNKNOWN); +void TOMWriteByte(uint32_t offset, uint8_t data, uint32_t who = UNKNOWN); +void TOMWriteWord(uint32_t offset, uint16_t data, uint32_t who = UNKNOWN); -void TOMExecHalfline(uint16 halfline, bool render); -uint32 TOMGetVideoModeWidth(void); -uint32 TOMGetVideoModeHeight(void); -uint8 TOMGetVideoMode(void); -uint8 * TOMGetRamPointer(void); -uint16 TOMGetHDB(void); -uint16 TOMGetVDB(void); +void TOMExecHalfline(uint16_t halfline, bool render); +uint32_t TOMGetVideoModeWidth(void); +uint32_t TOMGetVideoModeHeight(void); +uint8_t TOMGetVideoMode(void); +uint8_t * TOMGetRamPointer(void); +uint16_t TOMGetHDB(void); +uint16_t TOMGetVDB(void); int TOMIRQEnabled(int irq); -uint16 TOMIRQControlReg(void); +uint16_t TOMIRQControlReg(void); void TOMSetIRQLatch(int irq, int enabled); -void TOMExecPIT(uint32 cycles); +void TOMExecPIT(uint32_t cycles); void TOMSetPendingJERRYInt(void); void TOMSetPendingTimerInt(void); void TOMSetPendingObjectInt(void); @@ -55,14 +55,14 @@ void TOMResetPIT(void); // Exported variables -extern uint32 tomWidth; -extern uint32 tomHeight; -extern uint8 tomRam8[]; -extern uint32 tomTimerPrescaler; -extern uint32 tomTimerDivider; -extern int32 tomTimerCounter; +extern uint32_t tomWidth; +extern uint32_t tomHeight; +extern uint8_t tomRam8[]; +extern uint32_t tomTimerPrescaler; +extern uint32_t tomTimerDivider; +extern int32_t tomTimerCounter; -extern uint32 screenPitch; -extern uint32 * screenBuffer; +extern uint32_t screenPitch; +extern uint32_t * screenBuffer; #endif // __TOM_H__ diff --git a/src/types.h b/src/types.h deleted file mode 100644 index cad30bf..0000000 --- a/src/types.h +++ /dev/null @@ -1,22 +0,0 @@ -// -// GCC/SDL port by Niels Wagenaar (Linux/WIN32) and Caz (BeOS) -// Removal of unsafe macros and addition of typdefs by James Hammons -// - -#ifndef __TYPES_H__ -#define __TYPES_H__ - -// This should be portable, since it's part of the C99 standard...! - -#include - -typedef uint8_t uint8; -typedef int8_t int8; -typedef uint16_t uint16; -typedef int16_t int16; -typedef uint32_t uint32; -typedef int32_t int32; -typedef uint64_t uint64; -typedef int64_t int64; - -#endif // __TYPES_H__ diff --git a/src/virtualjaguar.cpp b/src/virtualjaguar.cpp deleted file mode 100644 index 95e81c3..0000000 --- a/src/virtualjaguar.cpp +++ /dev/null @@ -1,216 +0,0 @@ -// -// Virtual Jaguar Emulator -// -// Original codebase by David Raingeard (Cal2) -// GCC/SDL port by Niels Wagenaar (Linux/WIN32) and Caz (BeOS) -// Cleanups/fixes/enhancements by James Hammons and Adam Green -// - -#include -#include -#include "file.h" -//#include "gui.h" -#include "jaguar.h" -#include "log.h" -#include "memory.h" -#include "sdlemu_opengl.h" -#include "settings.h" // Pull in "vjs" struct -#include "video.h" - -// Uncomment this to use built-in BIOS/CD-ROM BIOS -// You'll need a copy of jagboot.h & jagcd.h for this to work...! -//#define USE_BUILT_IN_BIOS - -// Uncomment this for an official Virtual Jaguar release -//#define VJ_RELEASE_VERSION "1.1.0" -#warning !!! FIX !!! Figure out how to use this in GUI.CPP as well! - -#ifdef USE_BUILT_IN_BIOS -#include "jagboot.h" -#include "jagcd.h" -#endif - - -// Private function prototypes - -// -// The main emulator loop (what else?) -// -//Maybe we should move the video stuff to TOM? Makes more sense to put it there... -//Actually, it would probably be better served in VIDEO.CPP... !!! FIX !!! [DONE] -//uint32 totalFrames;//temp, so we can grab this from elsewhere... -int main_old(int argc, char * argv[]) -{ -//NOTE: This isn't actually used anywhere... !!! FIX !!! - int32 nFrameskip = 0; // Default: Show every frame - -#ifdef VJ_RELEASE_VERSION - printf("Virtual Jaguar GCC/SDL Portable Jaguar Emulator v%s\n", VJ_RELEASE_VERSION); -#else - printf("Virtual Jaguar GCC/SDL Portable Jaguar Emulator SVN %s\n", __DATE__); -#endif - printf("Based upon Virtual Jaguar core v1.0.0 by David Raingeard.\n"); - printf("Written by Niels Wagenaar (Linux/WIN32), Carwin Jones (BeOS),\n"); - printf("James Hammons (WIN32) and Adam Green (MacOS)\n"); - printf("Contact: http://sdlemu.ngemu.com/ | sdlemu@ngemu.com\n"); - - bool haveCart = false; // Assume there is no cartridge...! - - LogInit("vj.log"); - LoadVJSettings(); // Get config file settings... - - // Check the switches... ;-) - // NOTE: Command line switches can override any config file settings, thus the - // proliferation of the noXXX switches. ;-) - - for(int i=1; i 3) - vjs.joyport = 3; - } - - if (!strcmp(argv[i], "-frameskip")) - { - nFrameskip = atoi(argv[++i]) + 1; - - if (nFrameskip > 10) - nFrameskip = 10; - } - - if (!strcmp(argv[i], "-bios")) - vjs.useJaguarBIOS = true; - - if (!strcmp(argv[i], "-nobios")) - vjs.useJaguarBIOS = false; - - if (!strcmp(argv[i], "-dsp")) - vjs.DSPEnabled = true; - - if (!strcmp(argv[i], "-nodsp")) - vjs.DSPEnabled = false; - - if (!strcmp(argv[i], "-pipeline")) - vjs.usePipelinedDSP = true; - - if (!strcmp(argv[i], "-nopipeline")) - vjs.usePipelinedDSP = false; - - if (!strcmp(argv[i], "-gl")) - vjs.useOpenGL = true; - - if (!strcmp(argv[i], "-nogl")) - vjs.useOpenGL = false; - - if (!strcmp(argv[i], "-fullscreen")) - vjs.fullscreen = true; - - if (!strcmp(argv[i], "-window")) - vjs.fullscreen = false; - - if (!strcmp(argv[i], "-pal")) - vjs.hardwareTypeNTSC = false; - - if (!strcmp(argv[i], "-ntsc")) - vjs.hardwareTypeNTSC = true; - - if (!strcmp(argv[i], "--help") || !strcmp(argv[i], "-?")) - { - printf("Usage: \n\n"); - printf("vj [romfile] [switches]\n"); - printf(" -? or --help : Display usage and switches \n"); - printf(" -frameskip 1-10 : Enable frameskip 1 - 10 (default: none) \n"); - printf(" -joystick : Enable joystick/gamepad \n"); - printf(" -joyport 0-3 : Select desired joystick port \n"); - printf(" -bios : Boot cart using Jaguar BIOS ROM \n"); - printf(" -nobios : Boot cart without using Jaguar BIOS ROM \n"); - printf(" -dsp : Force VJ to use the DSP \n"); - printf(" -nodsp : Force VJ to run without the DSP \n"); - printf(" -pipeline : Use the DSP pipelined core \n"); - printf(" -nopipeline : Use the DSP non-pipelined core \n"); - printf(" -gl : Use OpenGL rendering \n"); - printf(" -nogl : Use old non-OpenGL rendering \n"); - printf(" -fullscreen : Enable fullscreen mode (default: windowed)\n"); - printf(" -window : Enable windowed mode \n"); - printf(" -pal : Force VJ to PAL mode (default: NTSC) \n"); - printf(" -ntsc : Force VJ to NTSC mode \n"); - printf("\nInvoking Virtual Jagaur with no ROM file will cause it to boot up\n"); - printf("with the VJ GUI.\n"); - return 1; - } - } - - // Set up SDL library - if (SDL_Init(SDL_INIT_VIDEO | SDL_INIT_JOYSTICK | SDL_INIT_AUDIO | SDL_INIT_TIMER) < 0) - { - WriteLog("VJ: Could not initialize the SDL library: %s\n", SDL_GetError()); - return -1; - } - - WriteLog("VJ: SDL successfully initialized.\n"); - -// WriteLog("Initializing memory subsystem...\n"); -// MemoryInit(); -#ifdef VJ_RELEASE_VERSION - WriteLog("Virtual Jaguar %s (Last full build was on %s %s)\n", VJ_RELEASE_VERSION, __DATE__, __TIME__); -#else - WriteLog("Virtual Jaguar SVN %s (Last full build was on %s %s)\n", __DATE__, __DATE__, __TIME__); -#endif - WriteLog("Initializing jaguar subsystem...\n"); - JaguarInit(); - - // Get the BIOS ROM -#ifdef USE_BUILT_IN_BIOS - WriteLog("VJ: Using built in BIOS/CD BIOS...\n"); - memcpy(jaguarBootROM, jagBootROM, 0x20000); - memcpy(jaguarCDBootROM, jagCDROM, 0x40000); - BIOSLoaded = CDBIOSLoaded = true; -#else -// What would be nice here would be a way to check if the BIOS was loaded so that we -// could disable the pushbutton on the Misc Options menu... !!! FIX !!! [DONE here, but needs to be fixed in GUI as well!] -WriteLog("About to attempt to load BIOSes...\n"); - BIOSLoaded = (JaguarLoadROM(jaguarBootROM, vjs.jagBootPath) == 0x20000 ? true : false); - WriteLog("VJ: BIOS is %savailable...\n", (BIOSLoaded ? "" : "not ")); - CDBIOSLoaded = (JaguarLoadROM(jaguarCDBootROM, vjs.CDBootPath) == 0x40000 ? true : false); - WriteLog("VJ: CD BIOS is %savailable...\n", (CDBIOSLoaded ? "" : "not ")); -#endif - - SET32(jaguarMainRAM, 0, 0x00200000); // Set top of stack... - -WriteLog("Initializing video subsystem...\n"); - VideoInit(); -WriteLog("Initializing GUI subsystem...\n"); -#warning "!!! FIX !!! (GUIInit())" -// GUIInit(); - - // Now with crunchy GUI goodness! -WriteLog("About to start GUI...\n"); -#warning "!!! FIX !!! (GUIMain(...))" -// GUIMain(haveCart ? argv[1] : NULL); - -//This is no longer accurate...! -// int elapsedTime = clock() - startTime; -// int fps = (1000 * totalFrames) / elapsedTime; -// WriteLog("VJ: Ran at an average of %i FPS.\n", fps); - - JaguarDone(); - VideoDone(); -// MemoryDone(); - LogDone(); - - // Free SDL components last...! - SDL_QuitSubSystem(SDL_INIT_VIDEO | SDL_INIT_JOYSTICK | SDL_INIT_AUDIO | SDL_INIT_TIMER); - SDL_Quit(); - - return 0; -} -- 2.37.2