aboutsummaryrefslogtreecommitdiff
path: root/c
diff options
context:
space:
mode:
authorSik2019-07-07 03:35:06 -0300
committerSik2019-07-07 03:35:06 -0300
commit8e96c87f2d2bac7207718fd211f29fc085d31bc3 (patch)
tree90b23e2324330dc963fe8e73a16699ec24a82acc /c
parentfbcb8924e878e7eff93d444762c647e126cb8e3b (diff)
Fixing bugs with Echo_PlayDirect (oof)
Diffstat (limited to 'c')
-rw-r--r--c/echo.c44
-rw-r--r--c/echoblob.h376
2 files changed, 228 insertions, 192 deletions
diff --git a/c/echo.c b/c/echo.c
index 61acf68..5eef324 100644
--- a/c/echo.c
+++ b/c/echo.c
@@ -15,14 +15,14 @@ static volatile uint16_t* const z80_reset = (uint16_t *) 0xA11200;
{ *z80_busreq = 0; }
#define Z80_RESET() \
{ *z80_reset = 0; \
- volatile int16_t i; for (i = 4; i >= 0; i--); \
+ volatile int16_t i; for (i = 30; i >= 0; i--); \
*z80_reset = 0x100; }
// Macro to add delays
// Using volatile is needlessly ugly but at least portable
// GCC is already awful at optimizing, so this isn't that bad...
#define DELAY() \
- { volatile int16_t i; for (i = 0xFF; i >= 0; i--); }
+ { volatile int16_t i; for (i = 0x1FF; i >= 0; i--); }
// Look-up tables for echo_set_volume
const uint8_t echo_fm_vol_table[0x40] = {
@@ -46,6 +46,27 @@ const uint8_t echo_psg_vol_table[0x40] = {
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
};
+// Look-up table used by echo_play_direct to know how many argument bytes
+// each event has so it knows where the source stream actually ends
+static const uint8_t arg_table[] = {
+ 1,1,1,0, 1,1,1,0, 1,1,1,1, 1,0,0,0, // 00-0F (key on)
+ 0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,0, // 10-1F (key off)
+ 1,1,1,0, 1,1,1,0, 1,1,1,1, 0,0,0,0, // 20-2F (set volume)
+ 2,2,2,0, 2,2,2,0, 2,2,2,1, 0,0,0,0, // 30-3F (set frequency)
+ 1,1,1,0, 1,1,1,0, 1,1,1,1, 0,0,0,0, // 40-4F (set instrument)
+ 0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,0, // 50-5F
+ 0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,0, // 60-6F
+ 0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,0, // 70-7F
+ 0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,0, // 80-8F
+ 0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,0, // 90-9F
+ 0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,0, // A0-AF
+ 0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,0, // B0-BF
+ 0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,0, // C0-CF
+ 0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,0, // D0-DF (quick delay)
+ 0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,0, // E0-EF (lock channel)
+ 1,1,1,0, 1,1,1,0, 2,2,1,1, 0,0,1,0, // F0-FF (miscellaneous)
+};
+
//***************************************************************************
// echo_init
// Initializes Echo and gets it running.
@@ -66,6 +87,7 @@ void echo_init(const void* const* list) {
// Direct stream is empty yet
z80_ram[0x1F00] = 0xFF;
+ z80_ram[0x1F80] = 0x00;
// Load the instrument list manually, since thanks to linker shenanigans
// we can't implement the list properly in ROM :/
@@ -280,17 +302,31 @@ void echo_play_direct(const void *ptr) {
Z80_REQUEST();
// Check where we can start writing events
- volatile uint8_t *dest = &z80_ram[0x1F00];
- while (*dest != 0xFF) dest++;
+ // If it's a bogus value we need to wait
+ uint8_t len = z80_ram[0x1F80];
+ while (len >= 0x80) {
+ Z80_RELEASE();
+ DELAY();
+ Z80_REQUEST();
+ len = z80_ram[0x1F80];
+ }
// Write the events
const uint8_t *src = (uint8_t*)(ptr);
+ volatile uint8_t *dest = &z80_ram[0x1F00 + len];
for (;;) {
uint8_t byte = *src++;
*dest++ = byte;
if (byte == 0xFF) break;
+ for (unsigned i = arg_table[byte]; i > 0; i--) {
+ *dest++ = *src++;
+ len++;
+ }
}
+ // Store new length
+ z80_ram[0x1F80] = len;
+
// Done with the Z80
Z80_RELEASE();
}
diff --git a/c/echoblob.h b/c/echoblob.h
index 148a832..cfeb4f5 100644
--- a/c/echoblob.h
+++ b/c/echoblob.h
@@ -36,14 +36,14 @@ static uint8_t echo_blob[] = {
54, 0, 37,221, 54, 1, 3,221, 54, 0, 38,221, 54, 1,201,221,
54, 0, 39,221, 54, 1, 63,195,120, 2, 61,202,212, 2, 61,202,
179, 5, 61,202,206, 6, 61,202, 41, 3, 61,202,242, 4, 61,202,
- 210, 3, 61,202, 77, 1, 61,202,122, 3, 61,202, 49, 13, 58, 0,
+ 210, 3, 61,202, 77, 1, 61,202,122, 3, 61,202, 58, 13, 58, 0,
64, 15,207, 42,248, 31, 34,252, 31, 42,250, 31, 34,254, 31,175,
50,251, 31, 58, 0, 64, 15,207, 58,255, 31,183, 32,188, 58, 0,
64, 15,207, 58, 0, 64,203, 79, 32, 8,203, 71,196, 8, 0,195,
120, 2, 58, 0, 64, 15,207,221, 54, 0, 39,221, 54, 1, 47, 58,
- 0, 64, 15,207, 58,241, 31,183,196,122, 17,195,174, 2, 58, 0,
+ 0, 64, 15,207, 58,241, 31,183,196,131, 17,195,174, 2, 58, 0,
64, 15,207,205,140, 7, 58, 0, 64, 15,207, 58,169, 19,183, 32,
- 3,195,196, 2, 58, 0, 64, 15,207,195, 58, 13, 58, 0, 64, 15,
+ 3,195,196, 2, 58, 0, 64, 15,207,195, 67, 13, 58, 0, 64, 15,
207,195,120, 2, 42,253, 31, 58,252, 31, 79, 17, 0, 28,205,252,
2,120,183,202,249, 2, 18, 20,205,252, 2,120, 18, 20,205,252,
2,120, 18, 21, 21, 28,195,222, 2,195, 99, 2, 58,152, 19,185,
@@ -56,25 +56,25 @@ static uint8_t echo_blob[] = {
114, 58, 0, 64, 15,207, 33, 7, 4, 34,194, 2, 6, 8, 14,127,
33, 72, 19,113, 44, 16,252,195, 99, 2, 58,153, 19,183,202, 99,
2, 62, 1, 50,169, 19, 6,127, 14, 7, 33,143, 19, 58, 0, 64,
- 15,207,126,183, 32, 4,121,205,111, 10, 58, 0, 64, 15,207, 45,
+ 15,207,126,183, 32, 4,121,205,120, 10, 58, 0, 64, 15,207, 45,
13,242,141, 3, 6, 4, 14, 15, 17,144, 19, 33, 0, 19, 58, 0,
64, 15,207, 26,183, 32, 5,126,230,128,177,119, 58, 0, 64, 15,
207,125,198, 16,111, 28, 16,230, 58,142, 19,183,204, 52, 1,195,
99, 2, 58,153, 19,183,202, 99, 2,175, 50,169, 19, 6, 4, 17,
147, 19, 33, 63, 19, 58, 0, 64, 15,207, 78,125,214, 15,111, 26,
183, 32, 5,126,230,128,177,119, 58, 0, 64, 15,207, 45, 29, 16,
- 228,205,122, 17,195, 99, 2, 58, 0, 64, 15,207, 33,154, 19,126,
+ 228,205,131, 17,195, 99, 2, 58, 0, 64, 15,207, 33,154, 19,126,
61,202, 24, 4,119,195,196, 2, 58, 0, 64, 15,207, 44, 78, 44,
94, 44, 86,235, 58, 0, 64, 15,207,205,252, 2, 58, 0, 64, 15,
- 207,120,254, 8,218,184, 7,254, 11,218, 52, 14,202,162, 14,254,
- 12,202,175, 0, 58, 0, 64, 15,207,120,254, 24,218, 73, 8,254,
- 28,218,244, 14,202, 34, 1, 58, 0, 64, 15,207,120,254,254,202,
- 3, 17,254,255,202,236, 4,254,252,202,149, 5,254,253,202,164,
- 5, 58, 0, 64, 15,207,120,254, 40,218, 30, 10,254, 44,218, 85,
- 15, 58, 0, 64, 15,207,120,254, 56,218,117, 8,254, 59,218, 76,
- 16,202,204, 16, 58, 0, 64, 15,207,120,254, 72,218,239, 8,254,
- 76,218,218, 15, 58, 0, 64, 15,207,120,254,224,218, 19, 17,254,
- 248,218,119, 11,254,250,218,215, 11,202, 62, 17,254,251,202, 95,
+ 207,120,254, 8,218,193, 7,254, 11,218, 61, 14,202,171, 14,254,
+ 12,202,175, 0, 58, 0, 64, 15,207,120,254, 24,218, 82, 8,254,
+ 28,218,253, 14,202, 34, 1, 58, 0, 64, 15,207,120,254,254,202,
+ 12, 17,254,255,202,236, 4,254,252,202,149, 5,254,253,202,164,
+ 5, 58, 0, 64, 15,207,120,254, 40,218, 39, 10,254, 44,218, 94,
+ 15, 58, 0, 64, 15,207,120,254, 56,218,126, 8,254, 59,218, 85,
+ 16,202,213, 16, 58, 0, 64, 15,207,120,254, 72,218,248, 8,254,
+ 76,218,227, 15, 58, 0, 64, 15,207,120,254,224,218, 28, 17,254,
+ 248,218,128, 11,254,250,218,224, 11,202, 71, 17,254,251,202,104,
17, 58, 0, 64, 15,207,195,236, 4, 58, 0, 64, 15,207, 44,194,
217, 4, 36,194,217, 4, 38,128, 12, 58, 0, 64, 15,207, 44,194,
233, 4, 36,194,233, 4, 38,128, 12,195, 36, 4,205,248, 4,195,
@@ -85,7 +85,7 @@ static uint8_t echo_blob[] = {
147, 19, 58, 0, 64, 15,207, 62, 15, 18,123,214, 15, 95,126,183,
32, 2,175, 18, 58, 0, 64, 15,207, 29, 45, 16,229, 6, 8, 17,
79, 19, 58, 0, 64, 15,207, 62,127, 18, 29, 58, 0, 64, 15,207,
- 126,183,194,130, 5, 5,120,205,111, 12, 58, 0, 64, 15,207,120,
+ 126,183,194,130, 5, 5,120,205,120, 12, 58, 0, 64, 15,207,120,
230, 4, 15,253,111,120,230, 3,198,180,253,119, 0,253, 54, 1,
192, 4, 45, 16,205, 33, 80, 19, 62,192, 6, 8,119, 44, 16,252,
175, 50,242, 31,201, 58, 0, 64, 15,207, 42,159, 19, 58,158, 19,
@@ -97,16 +97,16 @@ static uint8_t echo_blob[] = {
34,172, 2, 58, 0, 64, 15,207,195, 99, 2, 58, 0, 64, 15,207,
33,162, 19,126, 61,202, 12, 6,119,195,174, 2, 58, 0, 64, 15,
207, 44, 78, 44, 94, 44, 86,235, 58, 0, 64, 15,207,205,252, 2,
- 58, 0, 64, 15,207,120,254, 8,218,178, 7,254, 11,218, 46, 14,
- 202,156, 14,254, 12,202,169, 0, 58, 0, 64, 15,207,120,254, 24,
- 218, 67, 8,254, 28,218,238, 14,202, 28, 1, 58, 0, 64, 15,207,
- 120,254,254,202,253, 16,254,255,202,200, 6, 58, 0, 64, 15,207,
- 120,254, 40,218, 9, 10,254, 44,218, 51, 15, 58, 0, 64, 15,207,
- 120,254, 56,218,111, 8,254, 59,218, 70, 16,202,198, 16, 58, 0,
- 64, 15,207,120,254, 72,218,233, 8,254, 76,218,156, 15, 58, 0,
- 64, 15,207,120,254,224,218, 9, 17,254,232,218, 65, 12,254,236,
- 218,217, 16,202, 66, 1, 58, 0, 64, 15,207,120,254,248,218, 63,
- 11,254,250,218,209, 11,202, 56, 17,254,251,202, 89, 17,254,252,
+ 58, 0, 64, 15,207,120,254, 8,218,187, 7,254, 11,218, 55, 14,
+ 202,165, 14,254, 12,202,169, 0, 58, 0, 64, 15,207,120,254, 24,
+ 218, 76, 8,254, 28,218,247, 14,202, 28, 1, 58, 0, 64, 15,207,
+ 120,254,254,202, 6, 17,254,255,202,200, 6, 58, 0, 64, 15,207,
+ 120,254, 40,218, 18, 10,254, 44,218, 60, 15, 58, 0, 64, 15,207,
+ 120,254, 56,218,120, 8,254, 59,218, 79, 16,202,207, 16, 58, 0,
+ 64, 15,207,120,254, 72,218,242, 8,254, 76,218,165, 15, 58, 0,
+ 64, 15,207,120,254,224,218, 18, 17,254,232,218, 74, 12,254,236,
+ 218,226, 16,202, 66, 1, 58, 0, 64, 15,207,120,254,248,218, 72,
+ 11,254,250,218,218, 11,202, 65, 17,254,251,202, 98, 17,254,252,
202,110, 7,254,253,202,125, 7,205,212, 6,195,174, 2,205,212,
6,195, 99, 2, 58, 0, 64, 15,207, 58,240, 31,230,254, 50,240,
31, 58, 0, 64, 15,207,175, 50,161, 19, 33,174, 2, 34,172, 2,
@@ -117,172 +117,172 @@ static uint8_t echo_blob[] = {
8,111,198, 4, 95, 84, 58, 0, 64, 15,207, 26,119, 44, 28, 26,
119, 44, 28, 26,119,209, 58, 0, 64, 15,207, 29, 16,188, 6, 8,
58, 0, 64, 15,207, 26,183,202,106, 7,175, 18, 58, 0, 64, 15,
- 207, 5,120,205,111, 12,205,254, 12, 4, 29, 16,227,201, 58, 0,
+ 207, 5,120,205,120, 12,205, 7, 13, 4, 29, 16,227,201, 58, 0,
64, 15,207, 42,167, 19, 58,166, 19, 79,195, 24, 6, 58, 0, 64,
15,207,121, 50,166, 19, 34,167, 19,195, 24, 6, 58, 0, 31, 60,
- 200, 58, 0, 64, 15,207, 33,166, 7, 34,101, 4, 33, 0, 31, 58,
- 152, 19, 79,195, 36, 4, 33,236, 4, 34,101, 4, 62,255, 50, 0,
- 31,201,205,212, 7,195, 24, 6, 71, 58, 0, 64, 15,207,229,120,
- 230, 7, 33,136, 19,133,111,126,225,183,194,217, 4,120,205,212,
- 7,195, 36, 4,230, 7,221, 54, 0, 40,221,119, 1, 71, 8, 58,
- 0, 64, 15,207,120,230, 4, 15,253,111, 58, 0, 64, 15,207,205,
- 252, 2, 58, 0, 64, 15,207, 8,213,229, 87,230, 3,198,164, 95,
- 58, 0, 64, 15,207, 38, 18,120,230, 31,198,144,111, 58, 0, 64,
- 15,207,120,230,224, 15, 15, 71,126,176,253,115, 0,253,119, 1,
- 58, 0, 64, 15,207,123,214, 4, 95, 45,126,253,115, 0,253,119,
- 1, 58, 0, 64, 15,207,122,246,240,221, 54, 0, 40,221,119, 1,
- 225,209,201,205,101, 8,195, 24, 6, 71, 58, 0, 64, 15,207,120,
- 229,230, 7, 33,136, 19,133,111,126,225,183,194, 36, 4,120,205,
- 101, 8,195, 36, 4,230, 7,221, 54, 0, 40,221,119, 1,201,205,
- 145, 8,195, 24, 6, 71, 58, 0, 64, 15,207,120,229,230, 7, 33,
- 136, 19,133,111,126,225,183,194,201, 4,120,205,145, 8,195, 36,
- 4, 71, 8, 58, 0, 64, 15,207,120,230, 4, 15,253,111, 58, 0,
- 64, 15,207,205,252, 2, 58, 0, 64, 15,207,120,135,218,227, 8,
- 8,213,230, 7, 87,230, 3,198,164, 95, 58, 0, 64, 15,207,253,
- 115, 0,253,112, 1, 58, 0, 64, 15,207,205,252, 2, 58, 0, 64,
- 15,207,123,214, 4, 95,253,115, 0,253,112, 1, 58, 0, 64, 15,
- 207,209,201, 60, 71, 8,195,248, 7,205, 69, 9,195, 24, 6,230,
- 7, 71, 58, 0, 64, 15,207,213,197,120, 17, 64, 19,131, 95, 58,
- 0, 64, 15,207,205,252, 2, 58, 0, 64, 15,207,120, 18,123,198,
- 8, 95,175, 18, 89,193, 75,209, 58, 0, 64, 15,207,229,120, 38,
- 19,198,136,111,126,225,183,194, 36, 4, 58, 0, 64, 15,207,120,
- 229, 33, 64, 19,133,111, 70,225, 8, 58, 0, 64, 15,207, 8,205,
- 86, 9,195, 36, 4,230, 7, 8, 58, 0, 64, 15,207,205,252, 2,
- 58, 0, 64, 15,207, 8,245,230, 4, 15,253,111, 58, 0, 64, 15,
- 207,241,197,213,229, 38, 28,104, 86, 36, 94, 36, 78,235,245, 58,
- 0, 64, 15,207, 6, 7, 17,177, 19,120, 8,205,252, 2,235,112,
+ 200, 62,255, 50,128, 31, 58, 0, 64, 15,207, 33,171, 7, 34,101,
+ 4, 33, 0, 31, 58,152, 19, 79,195, 36, 4, 33,236, 4, 34,101,
+ 4, 62,255, 50, 0, 31, 60, 50,128, 31,201,205,221, 7,195, 24,
+ 6, 71, 58, 0, 64, 15,207,229,120,230, 7, 33,136, 19,133,111,
+ 126,225,183,194,217, 4,120,205,221, 7,195, 36, 4,230, 7,221,
+ 54, 0, 40,221,119, 1, 71, 8, 58, 0, 64, 15,207,120,230, 4,
+ 15,253,111, 58, 0, 64, 15,207,205,252, 2, 58, 0, 64, 15,207,
+ 8,213,229, 87,230, 3,198,164, 95, 58, 0, 64, 15,207, 38, 18,
+ 120,230, 31,198,144,111, 58, 0, 64, 15,207,120,230,224, 15, 15,
+ 71,126,176,253,115, 0,253,119, 1, 58, 0, 64, 15,207,123,214,
+ 4, 95, 45,126,253,115, 0,253,119, 1, 58, 0, 64, 15,207,122,
+ 246,240,221, 54, 0, 40,221,119, 1,225,209,201,205,110, 8,195,
+ 24, 6, 71, 58, 0, 64, 15,207,120,229,230, 7, 33,136, 19,133,
+ 111,126,225,183,194, 36, 4,120,205,110, 8,195, 36, 4,230, 7,
+ 221, 54, 0, 40,221,119, 1,201,205,154, 8,195, 24, 6, 71, 58,
+ 0, 64, 15,207,120,229,230, 7, 33,136, 19,133,111,126,225,183,
+ 194,201, 4,120,205,154, 8,195, 36, 4, 71, 8, 58, 0, 64, 15,
+ 207,120,230, 4, 15,253,111, 58, 0, 64, 15,207,205,252, 2, 58,
+ 0, 64, 15,207,120,135,218,236, 8, 8,213,230, 7, 87,230, 3,
+ 198,164, 95, 58, 0, 64, 15,207,253,115, 0,253,112, 1, 58, 0,
+ 64, 15,207,205,252, 2, 58, 0, 64, 15,207,123,214, 4, 95,253,
+ 115, 0,253,112, 1, 58, 0, 64, 15,207,209,201, 60, 71, 8,195,
+ 1, 8,205, 78, 9,195, 24, 6,230, 7, 71, 58, 0, 64, 15,207,
+ 213,197,120, 17, 64, 19,131, 95, 58, 0, 64, 15,207,205,252, 2,
+ 58, 0, 64, 15,207,120, 18,123,198, 8, 95,175, 18, 89,193, 75,
+ 209, 58, 0, 64, 15,207,229,120, 38, 19,198,136,111,126,225,183,
+ 194, 36, 4, 58, 0, 64, 15,207,120,229, 33, 64, 19,133,111, 70,
+ 225, 8, 58, 0, 64, 15,207, 8,205, 95, 9,195, 36, 4,230, 7,
+ 8, 58, 0, 64, 15,207,205,252, 2, 58, 0, 64, 15,207, 8,245,
+ 230, 4, 15,253,111, 58, 0, 64, 15,207,241,197,213,229, 38, 28,
+ 104, 86, 36, 94, 36, 78,235,245, 58, 0, 64, 15,207, 6, 7, 17,
+ 177, 19,120, 8,205,252, 2,235,112,235, 28,205,252, 2,235,112,
235, 28,205,252, 2,235,112,235, 28,205,252, 2,235,112,235, 28,
- 205,252, 2,235,112,235, 28, 8, 71, 16,222,205,252, 2,235,112,
- 235, 58, 0, 64, 15,207,241, 71,205,111, 12,120, 17, 96, 19,230,
- 7,131, 95,245,230, 3,198,176, 33,177, 19, 8, 58, 0, 64, 15,
- 207, 8,253,119, 0, 70, 44,253,112, 1, 8,120, 18,123,198, 8,
- 95, 58, 0, 64, 15,207, 8,214,128, 6, 28,253,119, 0, 78,253,
- 113, 1,198, 4, 44, 16,244, 58, 0, 64, 15,207,125,214, 24,111,
- 6, 4,126, 18,123,198, 8, 95, 44, 16,247, 58, 0, 64, 15,207,
- 241,225,209,193, 6, 0,195,117, 10,245, 58, 0, 64, 15,207,205,
- 252, 2, 58, 0, 64, 15,207,241,205,117, 10,195, 24, 6,230, 7,
- 71, 58, 0, 64, 15,207,213,197,120, 22, 19,198, 72, 95, 58, 0,
- 64, 15,207,205,252, 2, 58, 0, 64, 15,207,235,112,235, 89,193,
- 75,209, 58, 0, 64, 15,207,229,120, 33,136, 19,133,111,126,225,
- 183,194, 36, 4, 58, 0, 64, 15,207,120,229, 33, 72, 19,133,111,
- 70,225,245, 58, 0, 64, 15,207,241,205,117, 10,195, 36, 4,197,
- 213,229,195,130, 10,197,213,229,230, 7,245, 38, 19,198, 88,111,
- 112,241,245, 38, 19,198, 96,111, 8, 58, 0, 64, 15,207, 8,230,
- 7,246,224, 22, 31, 95, 8, 26, 87, 58, 0, 64, 15,207, 8,230,
- 4, 15,253,111, 58, 0, 64, 15,207,241,230, 3,198, 64, 79,126,
- 230, 7, 95, 58, 0, 64, 15,207,125,198, 8,111,123,254, 7, 56,
- 17,253,113, 0,126,130,250,205, 10,128,242,207, 10, 62,127,253,
- 119, 1,121,198, 4, 79, 58, 0, 64, 15,207,125,198, 8,111,123,
- 254, 5, 56, 17,253,113, 0,126,130,250,240, 10,128,242,242, 10,
- 62,127,253,119, 1,121,198, 4, 79, 58, 0, 64, 15,207,125,198,
- 8,111,123,254, 4, 56, 17,253,113, 0,126,130,250, 19, 11,128,
- 242, 21, 11, 62,127,253,119, 1,121,198, 4, 79, 58, 0, 64, 15,
- 207,125,198, 8,111,253,113, 0,126,130,250, 49, 11,128,242, 51,
- 11, 62,127,253,119, 1, 58, 0, 64, 15,207,225,209,193,201, 71,
- 58, 0, 64, 15,207,120,230, 4, 15,253,111,120, 8, 58, 0, 64,
- 15,207,205,252, 2, 58, 0, 64, 15,207, 58,170, 19,183, 40, 9,
- 120,246,192, 71, 58, 0, 64, 15,207, 8,230, 3,198,180,253,119,
- 0,253,112, 1,195, 24, 6, 71, 58, 0, 64, 15,207,120,230, 4,
- 15,253,111,120, 8, 58, 0, 64, 15,207,205,252, 2, 58, 0, 64,
- 15,207, 58,170, 19,183, 40, 9,120,246,192, 71, 58, 0, 64, 15,
- 207, 8,229,230, 7, 38, 19,198, 80,111,112, 8, 58, 0, 64, 15,
- 207, 8,230, 7,198,136,111, 8,126,183,225,194, 36, 4, 58, 0,
- 64, 15,207, 8,230, 3,198,180,253,119, 0,253,112, 1,195, 36,
- 4,205,221, 11,195, 24, 6,205,221, 11,195, 36, 4,230, 1,135,
- 253,111, 58, 0, 64, 15,207,205,252, 2,120,254, 39, 40, 23,197,
- 58, 0, 64, 15,207,205,252, 2, 58, 0, 64, 15,207,120,193,253,
- 112, 0,253,119, 1,201, 58, 0, 64, 15,207,205,252, 2, 58, 0,
- 64, 15,207,120,230,192,246, 15, 71, 62, 39,253,119, 0,253,112,
- 0, 58, 0, 64, 15,207,120,230,192, 58, 17, 0,230, 63,183, 50,
- 17, 0, 58,158, 2,230, 63,183, 50,158, 2, 58, 0, 64, 15,207,
- 201,230, 7, 71, 58, 0, 64, 15,207,229, 38, 19,120,198,136,111,
- 54, 1,225, 58, 0, 64, 15,207,120,230, 4, 15,253,111,120,230,
- 3,135,135,198,180,253,119, 0,253, 54, 1,192,195, 24, 6,230,
- 7,245,213,229, 79,230, 4, 15,253,111,121,230, 3,198, 64, 14,
- 6, 33,183, 18, 8, 58, 0, 64, 15,207, 8, 94,253,119, 0,253,
- 115, 1,198, 4, 8, 58, 0, 64, 15,207, 8,253,119, 0,253,115,
- 1,198, 4, 8, 58, 0, 64, 15,207, 8,253,119, 0,253,115, 1,
- 198, 4, 8, 58, 0, 64, 15,207, 8,253,119, 0,253,115, 1,198,
- 4, 44, 13,194,132, 12, 30, 0,198, 4,253,119, 0,253,115, 1,
- 214, 4,253,119, 0,253,115, 1,225,209, 58, 0, 64, 15,207,241,
- 79,246,240,221, 54, 0, 40,221,113, 1,221, 54, 0, 40,221,119,
- 1,221, 54, 0, 40,221,113, 1, 58, 0, 64, 15,207,201,120, 38,
- 19,198, 64,111,197,120, 70,205, 86, 9,193, 58, 0, 64, 15,207,
- 197,125,198, 8,111,120, 70,205,117, 10,193,125,198, 8,111,120,
- 230, 3,198,180,253,119, 0,126,253,119, 1, 58, 0, 64, 15,207,
- 201, 58,252, 31, 50,170, 19,195, 99, 2, 33, 48, 19, 6, 3,197,
- 175,253,111,126,183,250, 78, 13, 6, 15, 44,195,154, 13,230,127,
- 71, 44,126,128, 71, 58, 0, 64, 15,207,197, 44, 78, 44, 94, 44,
- 86,235, 58, 0, 64, 15,207,205,252, 2, 58, 0, 64, 15,207,120,
- 254,254,202, 8, 14,254,255,202, 27, 14,253,104, 58, 0, 64, 15,
- 207,235,114, 45,115, 45,113, 45,193, 58, 0, 64, 15,207,253,125,
- 230, 15,128, 71,254, 16, 56, 2, 6, 15, 58, 0, 64, 15,207,120,
- 7, 7, 7,193,176, 15, 15, 15,246,144, 50, 17,127, 58, 0, 64,
- 15,207,197,125,198, 10,111, 70,214, 10,111,120, 60, 40, 56, 58,
- 0, 64, 15,207,253,125,230,240, 15, 15, 15, 15,235, 38, 18,198,
- 168,111, 78,235, 58, 0, 64, 15,207,120,129,235, 38, 18,111, 78,
- 44, 70, 58, 0, 64, 15,207,123,230, 48,135,177, 33, 17,127,119,
- 112,235, 58, 0, 64, 15,207,193,125,214, 17,111, 58, 0, 64, 15,
- 207, 5,242, 63, 13,195,204, 2, 58, 0, 64, 15,207, 28,235,113,
- 44,115, 44,114,235, 29, 29, 29,195, 98, 13, 58, 0, 64, 15,207,
- 28,235, 78, 44, 94, 44, 86,235, 29, 29, 29,195, 98, 13,205, 80,
- 14,195, 24, 6, 71, 58, 0, 64, 15,207,120,229,230, 3, 33,144,
- 19,133,111,126,225,183,194,217, 4,120,205, 80, 14,195, 36, 4,
- 230, 3, 71, 8, 58, 0, 64, 15,207,229, 38, 19,120, 15, 15, 15,
- 15,111,126,246,128,119, 58, 0, 64, 15,207,213, 44, 44, 84,125,
- 198, 6, 95, 58, 0, 64, 15,207, 26,119, 44, 28, 26,119, 44, 28,
- 26,119,123,209,225, 8, 58, 0, 64, 15,207,205,252, 2, 58, 0,
- 64, 15,207, 8,229, 60, 38, 19,111,112,225,201,205,175, 14,195,
- 24, 6, 58,147, 19,183,194,217, 4,205,175, 14,195, 36, 4, 58,
- 0, 64, 15,207,229, 33, 48, 19,126,246,128,119, 58, 0, 64, 15,
- 207,213, 44, 44, 84,125,198, 6, 95, 58, 0, 64, 15,207, 26,119,
- 44, 28, 26,119, 44, 28, 26,119,209,225, 58, 0, 64, 15,207,205,
- 252, 2, 58, 0, 64, 15,207, 62,224,176, 50, 17,127,201,205, 16,
- 15,195, 24, 6, 71, 58, 0, 64, 15,207,120,229,230, 3, 33,144,
- 19,133,111,126,225,183,194, 36, 4,120,205, 16, 15,195, 36, 4,
- 230, 3, 71, 58, 0, 64, 15,207,229, 38, 19,120, 15, 15, 15, 15,
- 111,126,230,127,119, 58, 0, 64, 15,207,125,198, 11,111, 62,255,
- 119,225,201,230, 3, 8, 58, 0, 64, 15,207,205,252, 2, 58, 0,
- 64, 15,207, 8,229, 38, 19, 15, 15, 15, 15,111,126,230,128,176,
- 119,225,195, 24, 6,230, 3, 8, 58, 0, 64, 15,207,205,252, 2,
- 58, 0, 64, 15,207, 8,213,229,245, 17,144, 19,131, 95, 26, 95,
- 58, 0, 64, 15,207,241, 38, 19, 15, 15, 15, 15,198, 15,111,112,
- 58, 0, 64, 15,207,123,183, 32, 14,125,214, 15,111,126,230,128,
- 176,119, 58, 0, 64, 15,207,225,209,195, 36, 4,230, 3, 8, 58,
- 0, 64, 15,207,205,252, 2, 58, 0, 64, 15,207, 8,213,229, 22,
- 28, 88, 38, 19, 15, 15, 15, 15,198, 10,111, 58, 0, 64, 15,207,
- 26,119, 20, 45, 26,119, 20, 45, 26,119, 58, 0, 64, 15,207,125,
- 214, 8,111, 54, 0,225,209,195, 24, 6,230, 3, 8, 58, 0, 64,
- 15,207,205,252, 2, 58, 0, 64, 15,207, 8,213,229, 22, 28, 88,
- 33,144, 19,245,133,111,241, 70, 38, 19, 15, 15, 15, 15,198, 15,
- 111, 58, 0, 64, 15,207,175,119, 45, 26,119, 20, 45, 26,119, 20,
- 45, 26,119, 58, 0, 64, 15,207,120,183,202, 34, 16,225,209,195,
- 36, 4, 58, 0, 64, 15,207, 84,125,214, 4, 95,126, 18, 44, 28,
- 126, 18, 44, 28,126, 18, 58, 0, 64, 15,207,125,214, 8,111, 54,
- 0,225,209,195, 36, 4,205,104, 16,195, 24, 6, 71, 58, 0, 64,
- 15,207,120,229,230, 15, 38, 19,198,136,111,126,225,183,194,201,
- 4,120,205,104, 16,195, 36, 4,230, 3, 8, 58, 0, 64, 15,207,
- 205,252, 2, 58, 0, 64, 15,207,120,135,218,182, 16, 8,229,111,
- 8, 58, 0, 64, 15,207,125, 15, 15, 15, 15,198, 11,111, 38, 19,
- 54,255,225, 58, 0, 64, 15,207, 8,213, 17, 17,127, 15, 15, 15,
- 176,246,128, 18, 58, 0, 64, 15,207,205,252, 2, 58, 0, 64, 15,
- 207,235,112,235,209,201, 71, 58, 0, 64, 15,207, 8, 15, 15, 15,
- 15,198, 10,195,148, 14,205,218, 14,195, 24, 6, 58,147, 19,183,
- 194,217, 4,205,218, 14,195, 36, 4,230, 3, 71, 58, 0, 64, 15,
- 207,229, 38, 19,120,198,144,111, 54, 1, 58, 0, 64, 15,207,120,
- 15, 15, 15, 15,111, 38, 19, 54, 0,225,195, 24, 6,205, 29, 17,
- 195,174, 2,205, 29, 17,195,196, 2,230, 15, 60, 71,205, 42, 17,
- 195,174, 2,230, 15, 60, 71,205, 42, 17,195,196, 2, 58, 0, 64,
- 15,207,205,252, 2, 58, 0, 64, 15,207,235,114, 45,115, 45,113,
- 58, 0, 64, 15,207, 45,112,201,205, 68, 17,195, 24, 6,205, 68,
- 17,195, 36, 4, 58, 0, 64, 15,207,205,252, 2, 58, 0, 64, 15,
- 207, 58,242, 31,176, 50,242, 31,201,205,101, 17,195, 24, 6,205,
- 101, 17,195, 36, 4, 58, 0, 64, 15,207,205,252, 2, 58, 0, 64,
- 15,207, 58,242, 31,160, 50,242, 31,201, 33,240, 31, 17, 88, 19,
- 14, 8, 26, 70,128,242,138, 17, 62,127, 71,125,230, 7,205,111,
- 10, 44, 28, 13, 58, 0, 64, 15,207, 32,231, 33,232, 31, 17, 1,
- 19, 1, 16, 4,126, 18, 44,123,129, 95, 58, 0, 64, 15,207, 16,
- 243,175, 50,241, 31,201,255,255,255,255,255,255,255,255,255,255,
+ 8, 71, 16,222,205,252, 2,235,112,235, 58, 0, 64, 15,207,241,
+ 71,205,120, 12,120, 17, 96, 19,230, 7,131, 95,245,230, 3,198,
+ 176, 33,177, 19, 8, 58, 0, 64, 15,207, 8,253,119, 0, 70, 44,
+ 253,112, 1, 8,120, 18,123,198, 8, 95, 58, 0, 64, 15,207, 8,
+ 214,128, 6, 28,253,119, 0, 78,253,113, 1,198, 4, 44, 16,244,
+ 58, 0, 64, 15,207,125,214, 24,111, 6, 4,126, 18,123,198, 8,
+ 95, 44, 16,247, 58, 0, 64, 15,207,241,225,209,193, 6, 0,195,
+ 126, 10,245, 58, 0, 64, 15,207,205,252, 2, 58, 0, 64, 15,207,
+ 241,205,126, 10,195, 24, 6,230, 7, 71, 58, 0, 64, 15,207,213,
+ 197,120, 22, 19,198, 72, 95, 58, 0, 64, 15,207,205,252, 2, 58,
+ 0, 64, 15,207,235,112,235, 89,193, 75,209, 58, 0, 64, 15,207,
+ 229,120, 33,136, 19,133,111,126,225,183,194, 36, 4, 58, 0, 64,
+ 15,207,120,229, 33, 72, 19,133,111, 70,225,245, 58, 0, 64, 15,
+ 207,241,205,126, 10,195, 36, 4,197,213,229,195,139, 10,197,213,
+ 229,230, 7,245, 38, 19,198, 88,111,112,241,245, 38, 19,198, 96,
+ 111, 8, 58, 0, 64, 15,207, 8,230, 7,246,224, 22, 31, 95, 8,
+ 26, 87, 58, 0, 64, 15,207, 8,230, 4, 15,253,111, 58, 0, 64,
+ 15,207,241,230, 3,198, 64, 79,126,230, 7, 95, 58, 0, 64, 15,
+ 207,125,198, 8,111,123,254, 7, 56, 17,253,113, 0,126,130,250,
+ 214, 10,128,242,216, 10, 62,127,253,119, 1,121,198, 4, 79, 58,
+ 0, 64, 15,207,125,198, 8,111,123,254, 5, 56, 17,253,113, 0,
+ 126,130,250,249, 10,128,242,251, 10, 62,127,253,119, 1,121,198,
+ 4, 79, 58, 0, 64, 15,207,125,198, 8,111,123,254, 4, 56, 17,
+ 253,113, 0,126,130,250, 28, 11,128,242, 30, 11, 62,127,253,119,
+ 1,121,198, 4, 79, 58, 0, 64, 15,207,125,198, 8,111,253,113,
+ 0,126,130,250, 58, 11,128,242, 60, 11, 62,127,253,119, 1, 58,
+ 0, 64, 15,207,225,209,193,201, 71, 58, 0, 64, 15,207,120,230,
+ 4, 15,253,111,120, 8, 58, 0, 64, 15,207,205,252, 2, 58, 0,
+ 64, 15,207, 58,170, 19,183, 40, 9,120,246,192, 71, 58, 0, 64,
+ 15,207, 8,230, 3,198,180,253,119, 0,253,112, 1,195, 24, 6,
+ 71, 58, 0, 64, 15,207,120,230, 4, 15,253,111,120, 8, 58, 0,
+ 64, 15,207,205,252, 2, 58, 0, 64, 15,207, 58,170, 19,183, 40,
+ 9,120,246,192, 71, 58, 0, 64, 15,207, 8,229,230, 7, 38, 19,
+ 198, 80,111,112, 8, 58, 0, 64, 15,207, 8,230, 7,198,136,111,
+ 8,126,183,225,194, 36, 4, 58, 0, 64, 15,207, 8,230, 3,198,
+ 180,253,119, 0,253,112, 1,195, 36, 4,205,230, 11,195, 24, 6,
+ 205,230, 11,195, 36, 4,230, 1,135,253,111, 58, 0, 64, 15,207,
+ 205,252, 2,120,254, 39, 40, 23,197, 58, 0, 64, 15,207,205,252,
+ 2, 58, 0, 64, 15,207,120,193,253,112, 0,253,119, 1,201, 58,
+ 0, 64, 15,207,205,252, 2, 58, 0, 64, 15,207,120,230,192,246,
+ 15, 71, 62, 39,253,119, 0,253,112, 0, 58, 0, 64, 15,207,120,
+ 230,192, 58, 17, 0,230, 63,183, 50, 17, 0, 58,158, 2,230, 63,
+ 183, 50,158, 2, 58, 0, 64, 15,207,201,230, 7, 71, 58, 0, 64,
+ 15,207,229, 38, 19,120,198,136,111, 54, 1,225, 58, 0, 64, 15,
+ 207,120,230, 4, 15,253,111,120,230, 3,135,135,198,180,253,119,
+ 0,253, 54, 1,192,195, 24, 6,230, 7,245,213,229, 79,230, 4,
+ 15,253,111,121,230, 3,198, 64, 14, 6, 33,183, 18, 8, 58, 0,
+ 64, 15,207, 8, 94,253,119, 0,253,115, 1,198, 4, 8, 58, 0,
+ 64, 15,207, 8,253,119, 0,253,115, 1,198, 4, 8, 58, 0, 64,
+ 15,207, 8,253,119, 0,253,115, 1,198, 4, 8, 58, 0, 64, 15,
+ 207, 8,253,119, 0,253,115, 1,198, 4, 44, 13,194,141, 12, 30,
+ 0,198, 4,253,119, 0,253,115, 1,214, 4,253,119, 0,253,115,
+ 1,225,209, 58, 0, 64, 15,207,241, 79,246,240,221, 54, 0, 40,
+ 221,113, 1,221, 54, 0, 40,221,119, 1,221, 54, 0, 40,221,113,
+ 1, 58, 0, 64, 15,207,201,120, 38, 19,198, 64,111,197,120, 70,
+ 205, 95, 9,193, 58, 0, 64, 15,207,197,125,198, 8,111,120, 70,
+ 205,126, 10,193,125,198, 8,111,120,230, 3,198,180,253,119, 0,
+ 126,253,119, 1, 58, 0, 64, 15,207,201, 58,252, 31, 50,170, 19,
+ 195, 99, 2, 33, 48, 19, 6, 3,197,175,253,111,126,183,250, 87,
+ 13, 6, 15, 44,195,163, 13,230,127, 71, 44,126,128, 71, 58, 0,
+ 64, 15,207,197, 44, 78, 44, 94, 44, 86,235, 58, 0, 64, 15,207,
+ 205,252, 2, 58, 0, 64, 15,207,120,254,254,202, 17, 14,254,255,
+ 202, 36, 14,253,104, 58, 0, 64, 15,207,235,114, 45,115, 45,113,
+ 45,193, 58, 0, 64, 15,207,253,125,230, 15,128, 71,254, 16, 56,
+ 2, 6, 15, 58, 0, 64, 15,207,120, 7, 7, 7,193,176, 15, 15,
+ 15,246,144, 50, 17,127, 58, 0, 64, 15,207,197,125,198, 10,111,
+ 70,214, 10,111,120, 60, 40, 56, 58, 0, 64, 15,207,253,125,230,
+ 240, 15, 15, 15, 15,235, 38, 18,198,168,111, 78,235, 58, 0, 64,
+ 15,207,120,129,235, 38, 18,111, 78, 44, 70, 58, 0, 64, 15,207,
+ 123,230, 48,135,177, 33, 17,127,119,112,235, 58, 0, 64, 15,207,
+ 193,125,214, 17,111, 58, 0, 64, 15,207, 5,242, 72, 13,195,204,
+ 2, 58, 0, 64, 15,207, 28,235,113, 44,115, 44,114,235, 29, 29,
+ 29,195,107, 13, 58, 0, 64, 15,207, 28,235, 78, 44, 94, 44, 86,
+ 235, 29, 29, 29,195,107, 13,205, 89, 14,195, 24, 6, 71, 58, 0,
+ 64, 15,207,120,229,230, 3, 33,144, 19,133,111,126,225,183,194,
+ 217, 4,120,205, 89, 14,195, 36, 4,230, 3, 71, 8, 58, 0, 64,
+ 15,207,229, 38, 19,120, 15, 15, 15, 15,111,126,246,128,119, 58,
+ 0, 64, 15,207,213, 44, 44, 84,125,198, 6, 95, 58, 0, 64, 15,
+ 207, 26,119, 44, 28, 26,119, 44, 28, 26,119,123,209,225, 8, 58,
+ 0, 64, 15,207,205,252, 2, 58, 0, 64, 15,207, 8,229, 60, 38,
+ 19,111,112,225,201,205,184, 14,195, 24, 6, 58,147, 19,183,194,
+ 217, 4,205,184, 14,195, 36, 4, 58, 0, 64, 15,207,229, 33, 48,
+ 19,126,246,128,119, 58, 0, 64, 15,207,213, 44, 44, 84,125,198,
+ 6, 95, 58, 0, 64, 15,207, 26,119, 44, 28, 26,119, 44, 28, 26,
+ 119,209,225, 58, 0, 64, 15,207,205,252, 2, 58, 0, 64, 15,207,
+ 62,224,176, 50, 17,127,201,205, 25, 15,195, 24, 6, 71, 58, 0,
+ 64, 15,207,120,229,230, 3, 33,144, 19,133,111,126,225,183,194,
+ 36, 4,120,205, 25, 15,195, 36, 4,230, 3, 71, 58, 0, 64, 15,
+ 207,229, 38, 19,120, 15, 15, 15, 15,111,126,230,127,119, 58, 0,
+ 64, 15,207,125,198, 11,111, 62,255,119,225,201,230, 3, 8, 58,
+ 0, 64, 15,207,205,252, 2, 58, 0, 64, 15,207, 8,229, 38, 19,
+ 15, 15, 15, 15,111,126,230,128,176,119,225,195, 24, 6,230, 3,
+ 8, 58, 0, 64, 15,207,205,252, 2, 58, 0, 64, 15,207, 8,213,
+ 229,245, 17,144, 19,131, 95, 26, 95, 58, 0, 64, 15,207,241, 38,
+ 19, 15, 15, 15, 15,198, 15,111,112, 58, 0, 64, 15,207,123,183,
+ 32, 14,125,214, 15,111,126,230,128,176,119, 58, 0, 64, 15,207,
+ 225,209,195, 36, 4,230, 3, 8, 58, 0, 64, 15,207,205,252, 2,
+ 58, 0, 64, 15,207, 8,213,229, 22, 28, 88, 38, 19, 15, 15, 15,
+ 15,198, 10,111, 58, 0, 64, 15,207, 26,119, 20, 45, 26,119, 20,
+ 45, 26,119, 58, 0, 64, 15,207,125,214, 8,111, 54, 0,225,209,
+ 195, 24, 6,230, 3, 8, 58, 0, 64, 15,207,205,252, 2, 58, 0,
+ 64, 15,207, 8,213,229, 22, 28, 88, 33,144, 19,245,133,111,241,
+ 70, 38, 19, 15, 15, 15, 15,198, 15,111, 58, 0, 64, 15,207,175,
+ 119, 45, 26,119, 20, 45, 26,119, 20, 45, 26,119, 58, 0, 64, 15,
+ 207,120,183,202, 43, 16,225,209,195, 36, 4, 58, 0, 64, 15,207,
+ 84,125,214, 4, 95,126, 18, 44, 28,126, 18, 44, 28,126, 18, 58,
+ 0, 64, 15,207,125,214, 8,111, 54, 0,225,209,195, 36, 4,205,
+ 113, 16,195, 24, 6, 71, 58, 0, 64, 15,207,120,229,230, 15, 38,
+ 19,198,136,111,126,225,183,194,201, 4,120,205,113, 16,195, 36,
+ 4,230, 3, 8, 58, 0, 64, 15,207,205,252, 2, 58, 0, 64, 15,
+ 207,120,135,218,191, 16, 8,229,111, 8, 58, 0, 64, 15,207,125,
+ 15, 15, 15, 15,198, 11,111, 38, 19, 54,255,225, 58, 0, 64, 15,
+ 207, 8,213, 17, 17,127, 15, 15, 15,176,246,128, 18, 58, 0, 64,
+ 15,207,205,252, 2, 58, 0, 64, 15,207,235,112,235,209,201, 71,
+ 58, 0, 64, 15,207, 8, 15, 15, 15, 15,198, 10,195,157, 14,205,
+ 227, 14,195, 24, 6, 58,147, 19,183,194,217, 4,205,227, 14,195,
+ 36, 4,230, 3, 71, 58, 0, 64, 15,207,229, 38, 19,120,198,144,
+ 111, 54, 1, 58, 0, 64, 15,207,120, 15, 15, 15, 15,111, 38, 19,
+ 54, 0,225,195, 24, 6,205, 38, 17,195,174, 2,205, 38, 17,195,
+ 196, 2,230, 15, 60, 71,205, 51, 17,195,174, 2,230, 15, 60, 71,
+ 205, 51, 17,195,196, 2, 58, 0, 64, 15,207,205,252, 2, 58, 0,
+ 64, 15,207,235,114, 45,115, 45,113, 58, 0, 64, 15,207, 45,112,
+ 201,205, 77, 17,195, 24, 6,205, 77, 17,195, 36, 4, 58, 0, 64,
+ 15,207,205,252, 2, 58, 0, 64, 15,207, 58,242, 31,176, 50,242,
+ 31,201,205,110, 17,195, 24, 6,205,110, 17,195, 36, 4, 58, 0,
+ 64, 15,207,205,252, 2, 58, 0, 64, 15,207, 58,242, 31,160, 50,
+ 242, 31,201, 33,240, 31, 17, 88, 19, 14, 8, 26, 70,128,242,147,
+ 17, 62,127, 71,125,230, 7,205,120, 10, 44, 28, 13, 58, 0, 64,
+ 15,207, 32,231, 33,232, 31, 17, 1, 19, 1, 16, 4,126, 18, 44,
+ 123,129, 95, 58, 0, 64, 15,207, 16,243,175, 50,241, 31,201,255,
255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,