aboutsummaryrefslogtreecommitdiff
path: root/c
diff options
context:
space:
mode:
authorsik2017-07-23 03:20:35 -0300
committersik2017-07-23 03:20:35 -0300
commit3aacf3d2cedfdeca49ceb57533389870bfc688a9 (patch)
treea46d166fa9270700e8e159ca9ae455ac24472771 /c
parenta679ba38190bfed6ae150a12e819ad7527c495d1 (diff)
Now with pausing and other niceties
Diffstat (limited to 'c')
-rw-r--r--c/echo.c117
-rw-r--r--c/echo.h27
-rw-r--r--c/echoblob.h548
3 files changed, 371 insertions, 321 deletions
diff --git a/c/echo.c b/c/echo.c
index e488e33..23bd409 100644
--- a/c/echo.c
+++ b/c/echo.c
@@ -98,7 +98,7 @@ void echo_init(const void **list) {
// Set up global volume
int i;
- for (i = 0; i < 12; i++)
+ for (i = 0; i < 16; i++)
z80_ram[0x1FE0+i] = 0;
z80_ram[0x1FEC] = 1;
z80_ram[0x1FF1] = 1;
@@ -120,15 +120,19 @@ void echo_send_command(uint8_t cmd) {
Z80_REQUEST();
// Is Echo busy yet?
- while (z80_ram[0x1FFF] != 0x00) {
- Z80_RELEASE();
- DELAY();
- Z80_REQUEST();
+ volatile uint8_t *ptr = &z80_ram[0x1FFC]
+ if (ptr[3] != 0x00) {
+ ptr -= 4;
+ while (ptr[3] != 0x00) {
+ Z80_RELEASE();
+ DELAY();
+ Z80_REQUEST();
+ }
}
// Write the command
- z80_ram[0x1FFF] = cmd;
-
+ ptr[3] = cmd;
+
// Done with the Z80
Z80_RELEASE();
}
@@ -151,21 +155,25 @@ void echo_send_command_addr(uint8_t cmd, const void *addr) {
Z80_REQUEST();
// Is Echo busy yet?
- while (z80_ram[0x1FFF] != 0x00) {
- Z80_RELEASE();
- DELAY();
- Z80_REQUEST();
+ volatile uint8_t *ptr = &z80_ram[0x1FFC]
+ if (ptr[3] != 0x00) {
+ ptr -= 4;
+ while (ptr[3] != 0x00) {
+ Z80_RELEASE();
+ DELAY();
+ Z80_REQUEST();
+ }
}
// Write the command
- z80_ram[0x1FFF] = cmd;
- z80_ram[0x1FFD] = param;
+ ptr[3] = cmd;
+ ptr[1] = param;
param >>= 8;
- z80_ram[0x1FFE] = param | 0x80;
+ ptr[2] = param | 0x80;
param >>= 7;
param = (param & 0x7F) | (param >> 1 & 0x80);
- z80_ram[0x1FFC] = param;
-
+ ptr[0] = param;
+
// Done with the Z80
Z80_RELEASE();
}
@@ -183,17 +191,20 @@ void echo_send_command_byte(uint8_t cmd, uint8_t byte) {
Z80_REQUEST();
// Is Echo busy yet?
- while (z80_ram[0x1FFF] != 0x00) {
- Z80_RELEASE();
- int16_t i;
- for (i = 0x3FF; i >= 0; i--);
- Z80_REQUEST();
+ volatile uint8_t *ptr = &z80_ram[0x1FFC]
+ if (ptr[3] != 0x00) {
+ ptr -= 4;
+ while (ptr[3] != 0x00) {
+ Z80_RELEASE();
+ DELAY();
+ Z80_REQUEST();
+ }
}
// Write the command
- z80_ram[0x1FFF] = cmd;
- z80_ram[0x1FFC] = byte;
-
+ ptr[3] = cmd;
+ ptr[0] = byte;
+
// Done with the Z80
Z80_RELEASE();
}
@@ -219,15 +230,22 @@ void echo_stop_bgm(void) {
}
//***************************************************************************
+// echo_pause_bgm
+// Pauses background music playback.
+//***************************************************************************
+
+void echo_pause_bgm(void) {
+ echo_send_command(ECHO_CMD_PAUSEBGM);
+}
+
+//***************************************************************************
// echo_resume_bgm
// Resumes background music playback.
//***************************************************************************
-/*
void echo_resume_bgm(void) {
echo_send_command(ECHO_CMD_RESUMEBGM);
}
-*/
//***************************************************************************
// echo_play_sfx
@@ -328,7 +346,7 @@ void echo_set_volume_ex(const uint8_t *ptr) {
// Store the new volume values
int i;
- for (i = 0; i < 13; i++)
+ for (i = 0; i < 16; i++)
z80_ram[0x1FE0+i] = ptr[i];
// Tell Echo to update all the volumes
@@ -363,7 +381,7 @@ uint16_t echo_get_status(void) {
// Retrieve status from Z80 RAM
uint16_t status = 0;
status = z80_ram[0x1FF0];
- if (z80_ram[0x1FFF] != 0)
+ if (z80_ram[0x1FFB] != 0)
status |= ECHO_STAT_BUSY;
if (z80_ram[0x1F00] != 0xFF)
status |= ECHO_STAT_DIRBUSY;
@@ -374,3 +392,46 @@ uint16_t echo_get_status(void) {
// Return status
return status;
}
+
+//***************************************************************************
+// echo_get_flags
+// Gets the current values of the flags.
+//---------------------------------------------------------------------------
+// return: bitmask with flags
+//***************************************************************************
+
+uint8_t echo_get_flags(void)
+{
+ Z80_REQUEST();
+ uint8_t flags = z80_ram[0x1FF2];
+ Z88_RELEASE();
+ return flags;
+}
+
+//***************************************************************************
+// echo_set_flags
+// Sets flags from the 68000.
+//---------------------------------------------------------------------------
+// param flags: bitmask of flags to be set (1 = set, 0 = intact)
+//***************************************************************************
+
+void echo_set_flags(uint8_t flags)
+{
+ Z80_REQUEST();
+ z80_ram[0x1FF2] |= flags;
+ Z80_RELEASE();
+}
+
+//***************************************************************************
+// echo_clear_flags
+// Clears flags from the 68000.
+//---------------------------------------------------------------------------
+// param flags: bitmask of flags to be cleared (1 = clear, 0 = intact)
+//***************************************************************************
+
+void echo_clear_flags(uint8_t flags)
+{
+ Z80_REQUEST();
+ z80_ram[0x1FF2] &= ~flags;
+ Z80_RELEASE();
+}
diff --git a/c/echo.h b/c/echo.h
index 56088b6..c1d6062 100644
--- a/c/echo.h
+++ b/c/echo.h
@@ -14,6 +14,7 @@ enum {
ECHO_CMD_STOPBGM, /* 0x05 - Stop BGM playback */
ECHO_CMD_RESUMEBGM, /* 0x06 - Resume BGM playback */
ECHO_CMD_SETPCMRATE, /* 0x07 - Set PCM rate */
+ ECHO_CMD_PAUSEBGM, /* 0x08 - Pause BGM playback */
};
/* Echo status flags */
@@ -23,20 +24,24 @@ enum {
#define ECHO_STAT_BUSY 0x8000 /* Echo still didn't parse command */
/* Function prototypes */
-void echo_init(const void **);
-void echo_play_bgm(const void *);
+void echo_init(const void **list);
+void echo_play_bgm(const void *esf);
void echo_stop_bgm(void);
-/*void echo_resume_bgm(void);*/
-void echo_play_sfx(const void *);
+void echo_pause_bgm(void);
+void echo_resume_bgm(void);
+void echo_play_sfx(const void *esf);
void echo_stop_sfx(void);
-void echo_play_direct(const void *);
-void echo_set_volume(uint8_t);
-void echo_set_volume_ex(const uint8_t *);
-void echo_set_pcm_rate(uint8_t);
+void echo_play_direct(const void *esf);
+void echo_set_volume(uint8_t vol);
+void echo_set_volume_ex(const uint8_t *vol_list);
+void echo_set_pcm_rate(uint8_t rate);
uint16_t echo_get_status(void);
-void echo_send_command(uint8_t);
-void echo_send_command_addr(uint8_t, const void *);
-void echo_send_command_byte(uint8_t, uint8_t);
+uint8_t echo_get_flags(void);
+void echo_set_flags(uint8_t flags);
+void echo_clear_flags(uint8_t flags);
+void echo_send_command(uint8_t cmd);
+void echo_send_command_addr(uint8_t cmd, const void *addr);
+void echo_send_command_byte(uint8_t cmd, uint8_t byte);
/* Deprecated functions */
static void (* const echo_send_command_ex)(uint8_t, const void *) =
diff --git a/c/echoblob.h b/c/echoblob.h
index 827cc5b..e4c8d4d 100644
--- a/c/echoblob.h
+++ b/c/echoblob.h
@@ -1,285 +1,269 @@
static uint8_t echo_blob[] = {
- 49,224, 31,175, 50,240, 31, 33, 17,127, 54,159, 54,191, 54,223,
- 54,255,175, 50, 0, 19, 50, 16, 19, 50, 32, 19, 50, 48, 19, 33,
- 0, 96,117,117,117,117,117,117,117,117,117,221, 33, 0, 64,253,
- 38, 64,217, 6, 0,217,221, 54, 0, 43,221, 54, 1, 0, 30,127,
- 62, 64, 6, 4,221,119, 0,221,115, 1,221,119, 2,221,115, 3,
- 60,221,119, 0,221,115, 1,221,119, 2,221,115, 3, 60,221,119,
- 0,221,115, 1,221,119, 2,221,115, 3, 60, 60, 16,214,221, 54,
- 0,180,221, 54, 1,192,221, 54, 0,181,221, 54, 1,192,221, 54,
- 0,182,221, 54, 1,192,221, 54, 2,180,221, 54, 3,192,221, 54,
- 2,181,221, 54, 3,192,221, 54, 2,182,221, 54, 3,192,221, 54,
- 0, 36,221, 54, 1,254,221, 54, 0, 37,221, 54, 1, 3,221, 54,
- 0, 38,221, 54, 1,201,221, 54, 0, 39,221, 54, 1, 63,195,239,
- 0, 61,202, 83, 1, 61,202,109, 5, 61,202,156, 6, 61,202, 21,
- 3, 61,202,159, 4, 61,202,102, 3, 61,202,243, 2, 58, 0, 64,
- 15,220, 34, 2,175, 50,255, 31, 58, 0, 64, 15,220, 34, 2, 58,
- 255, 31,183, 32,204, 58, 0, 64, 15,220, 34, 2, 58, 0, 64,203,
- 79, 32, 8,203, 71,196, 34, 2,195,239, 0, 58, 0, 64, 15,220,
- 34, 2,221, 54, 0, 39,221, 54, 1, 47, 58, 0, 64, 15,220, 34,
- 2, 58,241, 31,183,196,227, 16,195, 43, 1, 58, 0, 64, 15,220,
- 34, 2,205, 84, 7, 58, 0, 64, 15,220, 34, 2,195, 63, 1, 58,
- 0, 64, 15,220, 34, 2,195, 4, 13, 58, 0, 64, 15,220, 34, 2,
- 195,239, 0, 33,252, 31, 78, 44, 94, 44, 86,235,175, 50,255, 31,
- 17, 0, 28,205,129, 1,120,183,202,126, 1, 18, 20,205,129, 1,
- 120, 18, 20,205,129, 1,120, 18, 21, 21, 28,195, 99, 1,195,239,
- 0, 58,152, 19,185,202,161, 1,121, 50,152, 19,229, 33, 0, 96,
- 119, 15,119, 15,119, 15,119, 15,119, 15,119, 15,119,116, 15,119,
- 225, 70, 44,194,173, 1, 36,194,173, 1, 38,128, 12,201,205,200,
- 1,195,230, 5, 58, 0, 64, 15,220, 34, 2, 58,142, 19,183,194,
- 132, 4,205,200, 1,195,195, 3, 58,236, 31,183,200,205,129, 1,
- 120,217, 38, 28,111, 86, 36, 94, 36, 78, 33, 0, 96,121, 50,152,
- 19,119, 15,119, 15,119, 15,119, 15,119, 15,119, 15,119,116, 15,
- 119, 38, 19,123,246,240,111, 69, 26,119, 28, 44,194,248, 1,104,
- 123,183,194, 12, 2, 20,194, 12, 2, 22,128, 12,217,175, 50, 34,
- 2,221, 54, 0, 43,221, 54, 1,128,221, 54, 0, 42,221, 54, 1,
- 128,201,201,217,221, 54, 0, 39,221, 54, 1, 31,126, 60, 40, 12,
- 221, 54, 0, 42,221,119, 1, 44, 40, 22,217,201, 6, 0,221, 54,
- 0, 42,221, 54, 1,128,221, 54, 0, 43,221, 54, 1, 0,217,201,
- 58,152, 19,185,202,110, 2,121, 50,152, 19, 33, 0, 96,119, 15,
- 119, 15,119, 15,119, 15,119, 15,119, 15,119,116, 15,119, 33,240,
- 19, 26,119, 44, 28, 26,119, 44, 28, 26,119, 44, 28, 26,119, 44,
- 28, 26,119, 44, 28, 26,119, 44, 28, 26,119, 44, 28, 26,119, 44,
- 28, 26,119, 44, 28, 26,119, 44, 28, 26,119, 44, 28, 26,119, 44,
- 28, 26,119, 44, 28, 26,119, 44, 28, 26,119, 44, 28, 26,119, 44,
- 28,194,187, 2, 20,194,187, 2, 22,128, 12, 46,240,195, 36, 2,
- 205,218, 2,195,230, 5, 58, 0, 64, 15,220, 34, 2, 58,142, 19,
- 183,194,195, 3,205,218, 2,195,195, 3, 62,201, 50, 34, 2,221,
- 54, 0, 43,221, 54, 1, 0,201, 62, 1, 50,142, 19,205,218, 2,
- 195,230, 5, 58,252, 31, 47, 71,175, 50,255, 31,120,221, 54, 0,
- 36, 15, 15,246,192,221,119, 1,120,221, 54, 0, 37,230, 3,221,
- 119, 1,195,239, 0, 58, 0, 64, 15,220, 34, 2,205,205, 4, 58,
- 0, 64, 15,220, 34, 2, 58,240, 31,246, 2, 50,240, 31, 58, 0,
- 64, 15,220, 34, 2, 33,252, 31, 78, 44, 94, 44, 86, 58, 0, 64,
- 15,220, 34, 2,175, 50,255, 31, 33,153, 19, 54, 1, 44, 54, 1,
- 44,113, 44,115, 44,114, 58, 0, 64, 15,220, 34, 2, 33,162, 3,
- 34, 61, 1,195,239, 0,175, 50,255, 31, 6, 8, 17,143, 19, 58,
- 0, 64, 15,220, 34, 2, 26,183,194,135, 3, 58, 0, 64, 15,220,
- 34, 2, 5,205,205, 12, 4, 29, 5,194,111, 3, 58,240, 31,246,
- 2, 50,240, 31, 33,153, 19, 54, 1, 33,162, 3, 34, 61, 1,195,
- 239, 0, 58, 0, 64, 15,220, 34, 2, 33,154, 19,126, 61,202,181,
- 3,119,195, 63, 1, 58, 0, 64, 15,220, 34, 2, 44, 78, 44, 94,
- 44, 86,235, 58, 0, 64, 15,220, 34, 2,205,129, 1, 58, 0, 64,
- 15,220, 34, 2,120,254, 8,218,130, 7,254, 11,218,194, 13,202,
- 70, 14,254, 12,202,180, 1, 58, 0, 64, 15,220, 34, 2,120,254,
- 24,218, 35, 8,254, 28,218,162, 14,202,198, 2, 58, 0, 64, 15,
- 220, 34, 2,120,254,254,202,168, 16,254,255,202,153, 4,254,252,
- 202, 67, 5,254,253,202, 88, 5, 58, 0, 64, 15,220, 34, 2,120,
- 254, 40,218, 14, 10,254, 44,218,255, 14, 58, 0, 64, 15,220, 34,
- 2,120,254, 56,218, 81, 8,254, 59,218, 19, 16,202,109, 16, 58,
- 0, 64, 15,220, 34, 2,120,254, 72,218,208, 8,254, 76,218,150,
- 15, 58, 0, 64, 15,220, 34, 2,120,254,224,218,184, 16,254,248,
- 218,135, 11,254,250,218,226, 11, 58, 0, 64, 15,220, 34, 2,195,
- 153, 4, 58, 0, 64, 15,220, 34, 2, 44,194,132, 4, 36,194,132,
- 4, 38,128, 12, 58, 0, 64, 15,220, 34, 2, 44,194,150, 4, 36,
- 194,150, 4, 38,128, 12,195,195, 3,205,169, 4,195, 63, 1,175,
- 50,255, 31,205,169, 4,195,239, 0, 58,240, 31,230,253, 50,240,
- 31, 58, 0, 64, 15,220, 34, 2,205,205, 4, 58, 0, 64, 15,220,
- 34, 2,175, 50,153, 19, 33, 63, 1, 34, 61, 1,201, 58,142, 19,
- 183,204,218, 2, 6, 4, 17, 63, 19, 33,147, 19, 58, 0, 64, 15,
- 220, 34, 2, 54, 0,123,214, 15, 95,126,183, 32, 2,175, 18, 58,
- 0, 64, 15,220, 34, 2, 29, 45, 16,226, 6, 8, 17, 79, 19, 58,
- 0, 64, 15,220, 34, 2, 62,127, 18, 29, 58, 0, 64, 15,220, 34,
- 2,126,183,194, 52, 5, 5,120,205, 68, 12, 58, 0, 64, 15,220,
- 34, 2,120,230, 4,253,111,120,230, 3,198,180,253,119, 0,253,
- 54, 1,192, 4, 45, 16,200, 33, 80, 19, 62,192, 6, 8,119, 44,
- 16,252,201, 58, 0, 64, 15,220, 34, 2,235, 44, 78, 44, 94, 44,
- 86, 45, 45, 45,235,195,195, 3, 58, 0, 64, 15,220, 34, 2,235,
- 44,113, 44,115, 44,114, 45, 45, 45,235,195,195, 3, 58, 0, 64,
- 15,220, 34, 2,205,216, 6, 58, 0, 64, 15,220, 34, 2, 58,240,
- 31,246, 1, 50,240, 31, 58, 0, 64, 15,220, 34, 2, 33,252, 31,
- 78, 44, 94, 44, 86, 58, 0, 64, 15,220, 34, 2,175, 50,255, 31,
- 33,161, 19, 54, 1, 44, 54, 1, 44,113, 44,115, 44,114, 58, 0,
- 64, 15,220, 34, 2, 33,197, 5, 34, 41, 1, 58, 0, 64, 15,220,
- 34, 2,195,239, 0, 58, 0, 64, 15,220, 34, 2, 33,162, 19,126,
- 61,202,216, 5,119,195, 43, 1, 58, 0, 64, 15,220, 34, 2, 44,
- 78, 44, 94, 44, 86,235, 58, 0, 64, 15,220, 34, 2,205,129, 1,
- 58, 0, 64, 15,220, 34, 2,120,254, 8,218,124, 7,254, 11,218,
- 188, 13,202, 64, 14,254, 12,202,174, 1, 58, 0, 64, 15,220, 34,
- 2,120,254, 24,218, 29, 8,254, 28,218,156, 14,202,192, 2, 58,
- 0, 64, 15,220, 34, 2,120,254,254,202,162, 16,254,255,202,150,
- 6, 58, 0, 64, 15,220, 34, 2,120,254, 40,218, 8, 10,254, 44,
- 218,217, 14, 58, 0, 64, 15,220, 34, 2,120,254, 56,218, 75, 8,
- 254, 59,218, 13, 16,202,103, 16, 58, 0, 64, 15,220, 34, 2,120,
- 254, 72,218,202, 8,254, 76,218, 80, 15, 58, 0, 64, 15,220, 34,
- 2,120,254,224,218,174, 16,254,232,218, 18, 12,254,236,218,122,
- 16,202,232, 2, 58, 0, 64, 15,220, 34, 2,120,254,248,218, 88,
- 11,254,250,218,220, 11,205,166, 6,195, 43, 1,175, 50,255, 31,
- 205,166, 6,195,239, 0, 58, 0, 64, 15,220, 34, 2, 58,240, 31,
- 230,254, 50,240, 31, 58, 0, 64, 15,220, 34, 2,175, 50,161, 19,
- 33, 43, 1, 34, 41, 1, 58, 0, 64, 15,220, 34, 2,205,216, 6,
- 58, 0, 64, 15,220, 34, 2,201, 58,142, 19,183,196,218, 2, 6,
- 4, 17,147, 19, 58, 0, 64, 15,220, 34, 2, 26,183, 40, 64,175,
- 18, 58, 0, 64, 15,220, 34, 2,120, 15, 15, 15, 15, 61, 38, 19,
- 111, 78,214, 15,111,113, 58, 0, 64, 15,220, 34, 2,213,125,198,
- 8,111,198, 4, 95, 84, 58, 0, 64, 15,220, 34, 2, 26,119, 44,
- 28, 26,119, 44, 28, 26,119,209, 58, 0, 64, 15,220, 34, 2, 29,
- 16,178, 6, 8, 58, 0, 64, 15,220, 34, 2, 26,183,202, 78, 7,
- 175, 18, 58, 0, 64, 15,220, 34, 2, 5,205,205, 12, 4, 29, 5,
- 194, 52, 7,201, 58, 0, 31, 60,200, 58, 0, 64, 15,220, 34, 2,
- 33,112, 7, 34, 12, 4, 33, 0, 31, 58,152, 19, 79,195,195, 3,
- 33,153, 4, 34, 12, 4, 62,255, 50, 0, 31,201,205,160, 7,195,
- 230, 5, 71, 58, 0, 64, 15,220, 34, 2,229,120,230, 7, 33,136,
- 19,133,111,126,225,183,194,132, 4,120,205,160, 7,195,195, 3,
- 230, 7,221, 54, 0, 40,221,119, 1, 71, 8, 58, 0, 64, 15,220,
- 34, 2,120,230, 4, 15,253,111, 58, 0, 64, 15,220, 34, 2,205,
- 129, 1, 58, 0, 64, 15,220, 34, 2, 8,213,229, 87,230, 3,198,
- 164, 95, 58, 0, 64, 15,220, 34, 2, 38, 18,120,230, 31,198,144,
- 111, 58, 0, 64, 15,220, 34, 2,120,230,224, 15, 15, 71,126,176,
- 253,115, 0,253,119, 1, 58, 0, 64, 15,220, 34, 2,123,214, 4,
- 95, 45,126,253,115, 0,253,119, 1, 58, 0, 64, 15,220, 34, 2,
- 122,246,240,221, 54, 0, 40,221,119, 1,225,209,201,205, 65, 8,
- 195,230, 5, 71, 58, 0, 64, 15,220, 34, 2,120,229,230, 7, 33,
- 136, 19,133,111,126,225,183,194,195, 3,120,205, 65, 8,195,195,
- 3,230, 7,221, 54, 0, 40,221,119, 1,201,205,111, 8,195,230,
- 5, 71, 58, 0, 64, 15,220, 34, 2,120,229,230, 7, 33,136, 19,
- 133,111,126,225,183,194,114, 4,120,205,111, 8,195,195, 3,245,
- 71, 58, 0, 64, 15,220, 34, 2,120,230, 4, 15,253,111, 58, 0,
- 64, 15,220, 34, 2,205,129, 1, 58, 0, 64, 15,220, 34, 2,241,
- 213,230, 7, 87,230, 3,198,164, 95, 58, 0, 64, 15,220, 34, 2,
- 253,115, 0,253,112, 1, 58, 0, 64, 15,220, 34, 2,205,129, 1,
- 58, 0, 64, 15,220, 34, 2,123,214, 4, 95,253,115, 0,253,112,
- 1, 58, 0, 64, 15,220, 34, 2,209,201,205, 50, 9,195,230, 5,
- 230, 7, 71, 58, 0, 64, 15,220, 34, 2,213,197,120, 17, 64, 19,
- 131, 95, 58, 0, 64, 15,220, 34, 2,205,129, 1, 58, 0, 64, 15,
- 220, 34, 2,120, 18,123,198, 8, 95,175, 18, 89,193, 75,209, 58,
- 0, 64, 15,220, 34, 2,229,120, 38, 19,198,136,111,126,225,183,
- 194,195, 3, 58, 0, 64, 15,220, 34, 2,120,229, 33, 64, 19,133,
- 111, 70,225, 8, 58, 0, 64, 15,220, 34, 2, 8,205, 71, 9,195,
- 195, 3,230, 7, 8, 58, 0, 64, 15,220, 34, 2,205,129, 1, 58,
- 0, 64, 15,220, 34, 2, 8,245,230, 4, 15,253,111, 58, 0, 64,
- 15,220, 34, 2,241,197,213,229, 38, 28,104, 86, 36, 94, 36, 78,
- 235,245, 58, 0, 64, 15,220, 34, 2, 6, 7, 17,166, 19,120, 8,
- 205,129, 1,235,112,235, 28,205,129, 1,235,112,235, 28,205,129,
- 1,235,112,235, 28,205,129, 1,235,112,235, 28, 8, 71, 16,222,
- 205,129, 1,235,112,235, 58, 0, 64, 15,220, 34, 2,241, 71,205,
- 68, 12,120, 17, 96, 19,230, 7,131, 95,245,230, 3,198,176, 33,
- 166, 19, 8, 58, 0, 64, 15,220, 34, 2, 8,253,119, 0, 70, 44,
- 253,112, 1, 8,120, 18,123,198, 8, 95, 58, 0, 64, 15,220, 34,
- 2, 8,214,128, 6, 28,253,119, 0, 78,253,113, 1,198, 4, 44,
- 16,244, 58, 0, 64, 15,220, 34, 2,125,214, 24,111, 6, 4,126,
- 18,123,198, 8, 95, 44, 16,247, 58, 0, 64, 15,220, 34, 2,241,
- 225,209,193, 6, 0,195,126, 10,205,107, 10,195,230, 5,230, 7,
- 71, 58, 0, 64, 15,220, 34, 2,213,197,120, 22, 19,198, 72, 95,
- 58, 0, 64, 15,220, 34, 2,205,129, 1, 58, 0, 64, 15,220, 34,
- 2,235,112,235, 89,193, 75,209, 58, 0, 64, 15,220, 34, 2,229,
- 120, 33,136, 19,133,111,126,225,183,194,195, 3, 58, 0, 64, 15,
- 220, 34, 2,120,229, 33, 72, 19,133,111, 70,225,245, 58, 0, 64,
- 15,220, 34, 2,241,205,126, 10,195,195, 3,245, 58, 0, 64, 15,
- 220, 34, 2,205,129, 1, 58, 0, 64, 15,220, 34, 2,241,197,213,
- 229,230, 7,245, 38, 19,198, 88,111,112,241,245, 38, 19,198, 96,
- 111, 8, 58, 0, 64, 15,220, 34, 2, 8,230, 7,246,224, 22, 31,
- 95, 8, 26, 87, 58, 0, 64, 15,220, 34, 2, 8,230, 4, 15,253,
- 111, 58, 0, 64, 15,220, 34, 2,241,230, 3,198, 64, 79,126,230,
- 7, 95, 58, 0, 64, 15,220, 34, 2,125,198, 8,111,123,254, 7,
- 56, 17,253,113, 0,126,130,250,222, 10,128,242,224, 10, 62,127,
- 253,119, 1,121,198, 4, 79, 58, 0, 64, 15,220, 34, 2,125,198,
- 8,111,123,254, 5, 56, 17,253,113, 0,126,130,250, 3, 11,128,
- 242, 5, 11, 62,127,253,119, 1,121,198, 4, 79, 58, 0, 64, 15,
- 220, 34, 2,125,198, 8,111,123,254, 4, 56, 17,253,113, 0,126,
- 130,250, 40, 11,128,242, 42, 11, 62,127,253,119, 1,121,198, 4,
- 79, 58, 0, 64, 15,220, 34, 2,125,198, 8,111,253,113, 0,126,
- 130,250, 72, 11,128,242, 74, 11, 62,127,253,119, 1, 58, 0, 64,
- 15,220, 34, 2,225,209,193,201, 71, 58, 0, 64, 15,220, 34, 2,
- 120,230, 4, 15,253,111,120, 8, 58, 0, 64, 15,220, 34, 2,205,
- 129, 1, 58, 0, 64, 15,220, 34, 2, 8,230, 3,198,180,253,119,
- 0,253,112, 1,195,230, 5, 71, 58, 0, 64, 15,220, 34, 2,120,
- 230, 4, 15,253,111,120, 8, 58, 0, 64, 15,220, 34, 2,205,129,
- 1, 58, 0, 64, 15,220, 34, 2, 8,229,230, 7, 38, 19,198, 80,
- 111,112, 8, 58, 0, 64, 15,220, 34, 2, 8,230, 7,198,136,111,
- 8,126,183,225,194,195, 3, 58, 0, 64, 15,220, 34, 2, 8,230,
- 3,198,180,253,119, 0,253,112, 1,195,195, 3,205,232, 11,195,
- 230, 5,205,232, 11,195,195, 3,230, 1,135,253,111, 58, 0, 64,
- 15,220, 34, 2,205,129, 1,197, 58, 0, 64, 15,220, 34, 2,205,
- 129, 1, 58, 0, 64, 15,220, 34, 2,120,193,253,112, 0,253,119,
- 1,201,230, 7, 71, 58, 0, 64, 15,220, 34, 2,229, 38, 19,120,
- 198,136,111, 54, 1,225, 58, 0, 64, 15,220, 34, 2,120,230, 4,
- 15,253,111,120,230, 3,135,135,198,180,253,119, 0,253, 54, 1,
- 192,195,230, 5,230, 7,245,213,229, 79,230, 4, 15,253,111,121,
- 230, 3,198, 64, 14, 6, 33,181, 18, 8, 58, 0, 64, 15,220, 34,
- 2, 8, 94,253,119, 0,253,115, 1,198, 4, 8, 58, 0, 64, 15,
- 220, 34, 2, 8,253,119, 0,253,115, 1,198, 4, 8, 58, 0, 64,
- 15,220, 34, 2, 8,253,119, 0,253,115, 1,198, 4, 8, 58, 0,
- 64, 15,220, 34, 2, 8,253,119, 0,253,115, 1,198, 4, 44, 13,
- 194, 89, 12,225,209, 58, 0, 64, 15,220, 34, 2,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,220, 34, 2,201,120, 38, 19,
- 198, 64,111,197,120, 70,205, 71, 9,193, 58, 0, 64, 15,220, 34,
- 2,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,
- 220, 34, 2,201, 33, 48, 19, 6, 3,197,126,203,127, 32, 6, 6,
- 15, 44,195,107, 13,230,127, 71, 44,126,128, 71, 58, 0, 64, 15,
- 220, 34, 2,197, 44, 78, 44, 94, 44, 86,235, 58, 0, 64, 15,220,
- 34, 2,205,129, 1, 58, 0, 64, 15,220, 34, 2,120,254,254,202,
- 146, 13,254,255,202,167, 13,253,104, 58, 0, 64, 15,220, 34, 2,
- 235,114, 45,115, 45,113, 45,193, 58, 0, 64, 15,220, 34, 2,253,
- 125,230, 15,128, 71,254, 16, 56, 2, 6, 15, 58, 0, 64, 15,220,
- 34, 2,120, 7, 7, 7,193,176, 15, 15, 15,246,144, 50, 17,127,
- 125,214, 17,111, 58, 0, 64, 15,220, 34, 2, 5,242, 9, 13,195,
- 73, 1, 58, 0, 64, 15,220, 34, 2, 28,235,113, 44,115, 44,114,
- 235, 29, 29, 29,195, 43, 13, 58, 0, 64, 15,220, 34, 2, 28,235,
- 78, 44, 94, 44, 86,235, 29, 29, 29,195, 43, 13,205,224, 13,195,
- 230, 5, 71, 58, 0, 64, 15,220, 34, 2,120,229,230, 3, 33,144,
- 19,133,111,126,225,183,194,132, 4,120,205,224, 13,195,195, 3,
- 230, 3, 71, 8, 58, 0, 64, 15,220, 34, 2,229, 38, 19,120, 15,
- 15, 15, 15,111,126,246,128,119, 58, 0, 64, 15,220, 34, 2,213,
- 44, 44, 84,125,198, 6, 95, 58, 0, 64, 15,220, 34, 2, 26,119,
- 44, 28, 26,119, 44, 28, 26,119,209,225, 58, 0, 64, 15,220, 34,
- 2,205,129, 1, 58, 0, 64, 15,220, 34, 2, 8,229,213, 38, 18,
- 104, 17, 17,127, 15, 15, 15, 70,176, 18, 44,126, 18,209,225,201,
- 205, 83, 14,195,230, 5, 58,147, 19,183,194,132, 4,205, 83, 14,
- 195,195, 3, 58, 0, 64, 15,220, 34, 2,229, 33, 48, 19,126,246,
- 128,119, 58, 0, 64, 15,220, 34, 2,213, 44, 44, 84,125,198, 6,
- 95, 58, 0, 64, 15,220, 34, 2, 26,119, 44, 28, 26,119, 44, 28,
- 26,119,209,225, 58, 0, 64, 15,220, 34, 2,205,129, 1, 58, 0,
- 64, 15,220, 34, 2, 62,224,176, 50, 17,127,201,205,192, 14,195,
- 230, 5, 71, 58, 0, 64, 15,220, 34, 2,120,229,230, 3, 33,144,
- 19,133,111,126,225,183,194,195, 3,120,205,192, 14,195,195, 3,
- 230, 3, 71, 58, 0, 64, 15,220, 34, 2,229, 38, 19,120, 15, 15,
- 15, 15,111,126,230,127,119,225,201,230, 3, 8, 58, 0, 64, 15,
- 220, 34, 2,205,129, 1, 58, 0, 64, 15,220, 34, 2, 8,229, 38,
- 19, 15, 15, 15, 15,111,126,230,128,176,119,225,195,230, 5,230,
- 3, 8, 58, 0, 64, 15,220, 34, 2,205,129, 1, 58, 0, 64, 15,
- 220, 34, 2, 8,213,229,245, 17,144, 19,131, 95, 26, 95, 58, 0,
- 64, 15,220, 34, 2,241, 38, 19, 15, 15, 15, 15,198, 15,111,112,
- 58, 0, 64, 15,220, 34, 2,123,183, 32, 16,125,214, 15,111,126,
- 230,128,176,119, 58, 0, 64, 15,220, 34, 2,225,209,195,195, 3,
- 230, 3, 8, 58, 0, 64, 15,220, 34, 2,205,129, 1, 58, 0, 64,
- 15,220, 34, 2, 8,213,229, 22, 28, 88, 38, 19, 15, 15, 15, 15,
- 198, 10,111, 58, 0, 64, 15,220, 34, 2, 26,119, 20, 45, 26,119,
- 20, 45, 26,119, 58, 0, 64, 15,220, 34, 2,125,214, 8,111, 54,
- 0,225,209,195,230, 5,230, 3, 8, 58, 0, 64, 15,220, 34, 2,
- 205,129, 1, 58, 0, 64, 15,220, 34, 2, 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,220, 34, 2,119, 45, 26,119, 20, 45, 26,119,
- 20, 45, 26,119, 58, 0, 64, 15,220, 34, 2,120,183,202,229, 15,
- 225,209,195,195, 3, 58, 0, 64, 15,220, 34, 2, 84,125,214, 4,
- 95,126, 18, 44, 28,126, 18, 44, 28,126, 18, 58, 0, 64, 15,220,
- 34, 2,125,214, 8,111, 54, 0,225,209,195,195, 3,205, 49, 16,
- 195,230, 5, 71, 58, 0, 64, 15,220, 34, 2,120,229,230, 15, 38,
- 19,198,136,111,126,225,183,194,114, 4,120,205, 49, 16,195,195,
- 3,230, 3, 8, 58, 0, 64, 15,220, 34, 2,205,129, 1, 58, 0,
- 64, 15,220, 34, 2, 8,213, 17, 17,127, 15, 15, 15,176,246,128,
- 18, 58, 0, 64, 15,220, 34, 2,205,129, 1, 58, 0, 64, 15,220,
- 34, 2,235,112,235,209,201,205,132, 14,195,230, 5, 58,147, 19,
- 183,194,132, 4,205,132, 14,195,195, 3,230, 3, 71, 58, 0, 64,
- 15,220, 34, 2,229, 38, 19,120,198,144,111, 54, 1, 58, 0, 64,
- 15,220, 34, 2,120, 15, 15, 15, 15,111, 38, 19, 54, 0,225,195,
- 230, 5,205,194, 16,195, 43, 1,205,194, 16,195, 63, 1,230, 15,
- 60, 71,205,211, 16,195, 43, 1,230, 15, 60, 71,205,211, 16,195,
- 63, 1, 58, 0, 64, 15,220, 34, 2,205,129, 1, 58, 0, 64, 15,
- 220, 34, 2,235,114, 45,115, 45,113, 58, 0, 64, 15,220, 34, 2,
- 45,112,201, 33,240, 31, 17, 88, 19, 14, 8, 26, 70,128,242,243,
- 16, 62,127, 71,125,205,126, 10, 44, 28, 13, 32,238, 33,232, 31,
- 17, 1, 19, 1, 16, 4,126, 18, 44,123,129, 95, 58, 0, 64, 15,
- 220, 34, 2, 16,241,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,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,255,255,255,255,
- 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
+ 195,104, 1, 0, 0, 0, 0, 0,201,217,221, 54, 0, 39,221, 54,
+ 1, 31,126, 60, 40, 12,221, 54, 0, 42,221,119, 1, 44, 40, 25,
+ 217,201, 62,201, 50, 8, 0,221, 54, 0, 42,221, 54, 1,128,221,
+ 54, 0, 43,221, 54, 1, 0,217,201, 58,152, 18,185,202, 87, 0,
+ 121, 50,152, 18, 33, 0, 96,119, 15,119, 15,119, 15,119, 15,119,
+ 15,119, 15,119,116, 15,119, 33,240, 18, 26,119, 44, 28, 26,119,
+ 44, 28, 26,119, 44, 28, 26,119, 44, 28, 26,119, 44, 28, 26,119,
+ 44, 28, 26,119, 44, 28, 26,119, 44, 28, 26,119, 44, 28, 26,119,
+ 44, 28, 26,119, 44, 28, 26,119, 44, 28, 26,119, 44, 28, 26,119,
+ 44, 28, 26,119, 44, 28, 26,119, 44, 28,194,164, 0, 20,194,164,
+ 0, 22,128, 12, 46,240,195, 10, 0,205,193, 0,195,238, 5, 58,
+ 0, 64, 15,207, 58,142, 18,183,194,188, 4,205,193, 0,195, 7,
+ 4, 58,236, 31,183,200,205,234, 2,120,217, 38, 28,111, 86, 36,
+ 94, 36, 78, 33, 0, 96,121, 50,152, 18,119, 15,119, 15,119, 15,
+ 119, 15,119, 15,119, 15,119,116, 15,119, 38, 18,123,246,240,111,
+ 69, 26,119, 28, 44,194,241, 0,104,123,183,194, 5, 1, 20,194,
+ 5, 1, 22,128, 12,217, 62,208, 50, 8, 0,221, 54, 0, 43,221,
+ 54, 1,128,221, 54, 0, 42,221, 54, 1,128,201,205, 52, 1,195,
+ 238, 5, 58, 0, 64, 15,207, 58,142, 18,183,194, 7, 4,205, 52,
+ 1,195, 7, 4, 62,201, 50, 8, 0,221, 54, 0, 43,221, 54, 1,
+ 0,201, 62, 1, 50,142, 18,205, 52, 1,195,238, 5, 58,252, 31,
+ 47, 71, 33, 0, 64, 54, 36, 15, 15,246,192, 44,119,120, 45, 54,
+ 37,230, 3, 44,119,195, 81, 2,175, 50,240, 31, 50,251, 31, 49,
+ 224, 31, 33, 17,127, 54,159, 54,191, 54,223, 54,255,175, 50, 0,
+ 18, 50, 16, 18, 50, 32, 18, 50, 48, 18, 33, 0, 96,117,117,117,
+ 117,117,117,117,117,117,221, 33, 0, 64,253, 38, 64,217, 6, 0,
+ 217,221, 54, 0, 43,221, 54, 1, 0, 30,127, 62, 64, 6, 4,221,
+ 119, 0,221,115, 1,221,119, 2,221,115, 3, 60,221,119, 0,221,
+ 115, 1,221,119, 2,221,115, 3, 60,221,119, 0,221,115, 1,221,
+ 119, 2,221,115, 3, 60, 60, 16,214,221, 54, 0,180,221, 54, 1,
+ 192,221, 54, 0,181,221, 54, 1,192,221, 54, 0,182,221, 54, 1,
+ 192,221, 54, 2,180,221, 54, 3,192,221, 54, 2,181,221, 54, 3,
+ 192,221, 54, 2,182,221, 54, 3,192,221, 54, 0, 36,221, 54, 1,
+ 254,221, 54, 0, 37,221, 54, 1, 3,221, 54, 0, 38,221, 54, 1,
+ 201,221, 54, 0, 39,221, 54, 1, 63,195,102, 2, 61,202,194, 2,
+ 61,202,137, 5, 61,202,164, 6, 61,202, 23, 3, 61,202,213, 4,
+ 61,202,181, 3, 61,202, 77, 1, 61,202, 93, 3, 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,192, 58, 0, 64, 15,
+ 207, 58, 0, 64,203, 79, 32, 8,203, 71,196, 8, 0,195,102, 2,
+ 58, 0, 64, 15,207,221, 54, 0, 39,221, 54, 1, 47, 58, 0, 64,
+ 15,207, 58,241, 31,183,196, 71, 16,195,156, 2, 58, 0, 64, 15,
+ 207,205, 94, 7, 58, 0, 64, 15,207, 58,169, 18,183, 32, 3,195,
+ 178, 2, 58, 0, 64, 15,207,195,136, 12, 58, 0, 64, 15,207,195,
+ 102, 2, 42,253, 31, 58,252, 31, 79, 17, 0, 28,205,234, 2,120,
+ 183,202,231, 2, 18, 20,205,234, 2,120, 18, 20,205,234, 2,120,
+ 18, 21, 21, 28,195,204, 2,195, 81, 2, 58,152, 18,185,202, 10,
+ 3,121, 50,152, 18,229, 33, 0, 96,119, 15,119, 15,119, 15,119,
+ 15,119, 15,119, 15,119,116, 15,119,225, 70, 44,194, 22, 3, 36,
+ 194, 22, 3, 38,128, 12,201, 58, 0, 64, 15,207,205,251, 4, 58,
+ 0, 64, 15,207, 58,240, 31,246, 2, 50,240, 31, 58, 0, 64, 15,
+ 207, 33,252, 31, 78, 44, 94, 44, 86, 58, 0, 64, 15,207,175, 50,
+ 169, 18, 60, 33,153, 18,119, 44,119, 44,113, 44,115, 44,114, 58,
+ 0, 64, 15,207, 33,234, 3, 34,176, 2,195, 81, 2, 58,153, 18,
+ 183,202, 81, 2, 62, 1, 50,169, 18, 6,127, 14, 7, 33,143, 18,
+ 58, 0, 64, 15,207,126,183, 32, 4,121,205, 54, 10, 58, 0, 64,
+ 15,207, 45, 13,242,112, 3, 6, 4, 14, 15, 17,144, 18, 33, 0,
+ 18, 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, 18,183,204,
+ 52, 1,195, 81, 2, 58,153, 18,183,202, 81, 2,175, 50,169, 18,
+ 6, 4, 17,147, 18, 33, 63, 18, 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, 71, 16,195, 81, 2, 58, 0, 64, 15,207, 33,
+ 154, 18,126, 61,202,251, 3,119,195,178, 2, 58, 0, 64, 15,207,
+ 44, 78, 44, 94, 44, 86,235, 58, 0, 64, 15,207,205,234, 2, 58,
+ 0, 64, 15,207,120,254, 8,218,138, 7,254, 11,218, 52, 13,202,
+ 172, 13,254, 12,202,175, 0, 58, 0, 64, 15,207,120,254, 24,218,
+ 27, 8,254, 28,218,254, 13,202, 34, 1, 58, 0, 64, 15,207,120,
+ 254,254,202,208, 15,254,255,202,207, 4,254,252,202,107, 5,254,
+ 253,202,122, 5, 58, 0, 64, 15,207,120,254, 40,218,229, 9,254,
+ 44,218, 83, 14, 58, 0, 64, 15,207,120,254, 56,218, 71, 8,254,
+ 59,218, 73, 15,202,153, 15, 58, 0, 64, 15,207,120,254, 72,218,
+ 182, 8,254, 76,218,216, 14, 58, 0, 64, 15,207,120,254,224,218,
+ 224, 15,254,248,218, 47, 11,254,250,218,128, 11,202, 11, 16,254,
+ 251,202, 44, 16, 58, 0, 64, 15,207,195,207, 4, 58, 0, 64, 15,
+ 207, 44,194,188, 4, 36,194,188, 4, 38,128, 12, 58, 0, 64, 15,
+ 207, 44,194,204, 4, 36,194,204, 4, 38,128, 12,195, 7, 4,205,
+ 219, 4,195,178, 2,205,219, 4,195, 81, 2, 58,240, 31,230,253,
+ 50,240, 31, 58, 0, 64, 15,207,205,251, 4, 58, 0, 64, 15,207,
+ 175, 50,153, 18, 33,178, 2, 34,176, 2,201, 58,142, 18,183,204,
+ 52, 1, 6, 4, 17, 63, 18, 33,147, 18, 58, 0, 64, 15,207, 54,
+ 0,123,214, 15, 95,126,183, 32, 2,175, 18, 58, 0, 64, 15,207,
+ 29, 45, 16,230, 6, 8, 17, 79, 18, 58, 0, 64, 15,207, 62,127,
+ 18, 29, 58, 0, 64, 15,207,126,183,194, 88, 5, 5,120,205,216,
+ 11, 58, 0, 64, 15,207,120,230, 4,253,111,120,230, 3,198,180,
+ 253,119, 0,253, 54, 1,192, 4, 45, 16,206, 33, 80, 18, 62,192,
+ 6, 8,119, 44, 16,252,175, 50,242, 31,201, 58, 0, 64, 15,207,
+ 42,159, 18, 58,158, 18, 79,195, 7, 4, 58, 0, 64, 15,207,121,
+ 50,158, 18, 34,159, 18,195, 7, 4, 58, 0, 64, 15,207,205,212,
+ 6, 58, 0, 64, 15,207, 58,240, 31,246, 1, 50,240, 31, 58, 0,
+ 64, 15,207, 33,252, 31, 78, 44, 94, 44, 86, 58, 0, 64, 15,207,
+ 33,161, 18, 54, 1, 44, 54, 1, 44,113, 44,115, 44,114, 58, 0,
+ 64, 15,207, 33,209, 5, 34,154, 2, 58, 0, 64, 15,207,195, 81,
+ 2, 58, 0, 64, 15,207, 33,162, 18,126, 61,202,226, 5,119,195,
+ 156, 2, 58, 0, 64, 15,207, 44, 78, 44, 94, 44, 86,235, 58, 0,
+ 64, 15,207,205,234, 2, 58, 0, 64, 15,207,120,254, 8,218,132,
+ 7,254, 11,218, 46, 13,202,166, 13,254, 12,202,169, 0, 58, 0,
+ 64, 15,207,120,254, 24,218, 21, 8,254, 28,218,248, 13,202, 28,
+ 1, 58, 0, 64, 15,207,120,254,254,202,202, 15,254,255,202,158,
+ 6, 58, 0, 64, 15,207,120,254, 40,218,208, 9,254, 44,218, 49,
+ 14, 58, 0, 64, 15,207,120,254, 56,218, 65, 8,254, 59,218, 67,
+ 15,202,147, 15, 58, 0, 64, 15,207,120,254, 72,218,176, 8,254,
+ 76,218,154, 14, 58, 0, 64, 15,207,120,254,224,218,214, 15,254,
+ 232,218,170, 11,254,236,218,166, 15,202, 66, 1, 58, 0, 64, 15,
+ 207,120,254,248,218, 6, 11,254,250,218,122, 11,202, 5, 16,254,
+ 251,202, 38, 16,254,252,202, 64, 7,254,253,202, 79, 7,205,170,
+ 6,195,156, 2,205,170, 6,195, 81, 2, 58, 0, 64, 15,207, 58,
+ 240, 31,230,254, 50,240, 31, 58, 0, 64, 15,207,175, 50,161, 18,
+ 33,156, 2, 34,154, 2, 58, 0, 64, 15,207,205,212, 6, 58, 0,
+ 64, 15,207,201, 58,142, 18,183,196, 52, 1, 6, 4, 17,147, 18,
+ 58, 0, 64, 15,207, 26,183, 40, 56,175, 18, 58, 0, 64, 15,207,
+ 120, 15, 15, 15, 15, 61, 38, 18,111, 78,214, 15,111,113, 58, 0,
+ 64, 15,207,213,125,198, 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, 60, 7,
+ 175, 18, 58, 0, 64, 15,207, 5,205, 85, 12, 4, 29, 16,231,201,
+ 58, 0, 64, 15,207, 42,167, 18, 58,166, 18, 79,195,238, 5, 58,
+ 0, 64, 15,207,121, 50,166, 18, 34,167, 18,195,238, 5, 58, 0,
+ 31, 60,200, 58, 0, 64, 15,207, 33,120, 7, 34, 72, 4, 33, 0,
+ 31, 58,152, 18, 79,195, 7, 4, 33,207, 4, 34, 72, 4, 62,255,
+ 50, 0, 31,201,205,166, 7,195,238, 5, 71, 58, 0, 64, 15,207,
+ 229,120,230, 7, 33,136, 18,133,111,126,225,183,194,188, 4,120,
+ 205,166, 7,195, 7, 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,234, 2, 58, 0, 64, 15,207, 8,213,229, 87,230, 3,198,
+ 164, 95, 58, 0, 64, 15,207, 38, 17,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, 55, 8,195,238, 5, 71, 58, 0, 64, 15,
+ 207,120,229,230, 7, 33,136, 18,133,111,126,225,183,194, 7, 4,
+ 120,205, 55, 8,195, 7, 4,230, 7,221, 54, 0, 40,221,119, 1,
+ 201,205, 99, 8,195,238, 5, 71, 58, 0, 64, 15,207,120,229,230,
+ 7, 33,136, 18,133,111,126,225,183,194,172, 4,120,205, 99, 8,
+ 195, 7, 4,245, 71, 58, 0, 64, 15,207,120,230, 4, 15,253,111,
+ 58, 0, 64, 15,207,205,234, 2, 58, 0, 64, 15,207,241,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,234, 2, 58, 0, 64, 15,207,123,
+ 214, 4, 95,253,115, 0,253,112, 1, 58, 0, 64, 15,207,209,201,
+ 205, 12, 9,195,238, 5,230, 7, 71, 58, 0, 64, 15,207,213,197,
+ 120, 17, 64, 18,131, 95, 58, 0, 64, 15,207,205,234, 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, 18,198,136,111,126,225,183,194, 7,
+ 4, 58, 0, 64, 15,207,120,229, 33, 64, 18,133,111, 70,225, 8,
+ 58, 0, 64, 15,207, 8,205, 29, 9,195, 7, 4,230, 7, 8, 58,
+ 0, 64, 15,207,205,234, 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,176, 18,
+ 120, 8,205,234, 2,235,112,235, 28,205,234, 2,235,112,235, 28,
+ 205,234, 2,235,112,235, 28,205,234, 2,235,112,235, 28, 8, 71,
+ 16,222,205,234, 2,235,112,235, 58, 0, 64, 15,207,241, 71,205,
+ 216, 11,120, 17, 96, 18,230, 7,131, 95,245,230, 3,198,176, 33,
+ 176, 18, 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, 60, 10,
+ 245, 58, 0, 64, 15,207,205,234, 2, 58, 0, 64, 15,207,241,205,
+ 60, 10,195,238, 5,230, 7, 71, 58, 0, 64, 15,207,213,197,120,
+ 22, 18,198, 72, 95, 58, 0, 64, 15,207,205,234, 2, 58, 0, 64,
+ 15,207,235,112,235, 89,193, 75,209, 58, 0, 64, 15,207,229,120,
+ 33,136, 18,133,111,126,225,183,194, 7, 4, 58, 0, 64, 15,207,
+ 120,229, 33, 72, 18,133,111, 70,225,245, 58, 0, 64, 15,207,241,
+ 205, 60, 10,195, 7, 4,197,213,229,195, 73, 10,197,213,229,230,
+ 7,245, 38, 18,198, 88,111,112,241,245, 38, 18,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,148, 10,
+ 128,242,150, 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,183, 10,128,242,185, 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,218, 10,128,242,220, 10, 62,127,253,119, 1,121,
+ 198, 4, 79, 58, 0, 64, 15,207,125,198, 8,111,253,113, 0,126,
+ 130,250,248, 10,128,242,250, 10, 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,234, 2, 58, 0, 64, 15,
+ 207, 8,230, 3,198,180,253,119, 0,253,112, 1,195,238, 5, 71,
+ 58, 0, 64, 15,207,120,230, 4, 15,253,111,120, 8, 58, 0, 64,
+ 15,207,205,234, 2, 58, 0, 64, 15,207, 8,229,230, 7, 38, 18,
+ 198, 80,111,112, 8, 58, 0, 64, 15,207, 8,230, 7,198,136,111,
+ 8,126,183,225,194, 7, 4, 58, 0, 64, 15,207, 8,230, 3,198,
+ 180,253,119, 0,253,112, 1,195, 7, 4,205,134, 11,195,238, 5,
+ 205,134, 11,195, 7, 4,230, 1,135,253,111, 58, 0, 64, 15,207,
+ 205,234, 2,197, 58, 0, 64, 15,207,205,234, 2, 58, 0, 64, 15,
+ 207,120,193,253,112, 0,253,119, 1,201,230, 7, 71, 58, 0, 64,
+ 15,207,229, 38, 18,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,238, 5,230, 7,245,213,229, 79,230, 4,
+ 15,253,111,121,230, 3,198, 64, 14, 6, 33,181, 17, 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,237, 11,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, 18,198, 64,111,197,120, 70,205, 29,
+ 9,193, 58, 0, 64, 15,207,197,125,198, 8,111,120, 70,205, 60,
+ 10,193,125,198, 8,111,120,230, 3,198,180,253,119, 0,126,253,
+ 119, 1, 58, 0, 64, 15,207,201, 33, 48, 18, 6, 3,197,126,183,
+ 250,153, 12, 6, 15, 44,195,229, 12,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,234, 2, 58, 0, 64, 15,207,120,254,254,202, 8, 13,
+ 254,255,202, 27, 13,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,125,214, 17,111, 58, 0, 64, 15,
+ 207, 5,242,141, 12,195,186, 2, 58, 0, 64, 15,207, 28,235,113,
+ 44,115, 44,114,235, 29, 29, 29,195,173, 12, 58, 0, 64, 15,207,
+ 28,235, 78, 44, 94, 44, 86,235, 29, 29, 29,195,173, 12,205, 80,
+ 13,195,238, 5, 71, 58, 0, 64, 15,207,120,229,230, 3, 33,144,
+ 18,133,111,126,225,183,194,188, 4,120,205, 80, 13,195, 7, 4,
+ 230, 3, 71, 8, 58, 0, 64, 15,207,229, 38, 18,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,209,225, 58, 0, 64, 15,207,205,234, 2, 58, 0, 64, 15,
+ 207, 8,229,213, 38, 17,104, 17, 17,127, 15, 15, 15, 70,176, 18,
+ 44,126, 18,209,225,201,205,185, 13,195,238, 5, 58,147, 18,183,
+ 194,188, 4,205,185, 13,195, 7, 4, 58, 0, 64, 15,207,229, 33,
+ 48, 18,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,234, 2, 58, 0, 64, 15,
+ 207, 62,224,176, 50, 17,127,201,205, 26, 14,195,238, 5, 71, 58,
+ 0, 64, 15,207,120,229,230, 3, 33,144, 18,133,111,126,225,183,
+ 194, 7, 4,120,205, 26, 14,195, 7, 4,230, 3, 71, 58, 0, 64,
+ 15,207,229, 38, 18,120, 15, 15, 15, 15,111,126,230,127,119,225,
+ 201,230, 3, 8, 58, 0, 64, 15,207,205,234, 2, 58, 0, 64, 15,
+ 207, 8,229, 38, 18, 15, 15, 15, 15,111,126,230,128,176,119,225,
+ 195,238, 5,230, 3, 8, 58, 0, 64, 15,207,205,234, 2, 58, 0,
+ 64, 15,207, 8,213,229,245, 17,144, 18,131, 95, 26, 95, 58, 0,
+ 64, 15,207,241, 38, 18, 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, 7, 4,230, 3, 8, 58, 0, 64,
+ 15,207,205,234, 2, 58, 0, 64, 15,207, 8,213,229, 22, 28, 88,
+ 38, 18, 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,238, 5,230, 3, 8, 58, 0, 64, 15,207,
+ 205,234, 2, 58, 0, 64, 15,207, 8,213,229, 22, 28, 88, 33,144,
+ 18,245,133,111,241, 70, 38, 18, 15, 15, 15, 15,198, 15,111, 58,
+ 0, 64, 15,207,119, 45, 26,119, 20, 45, 26,119, 20, 45, 26,119,
+ 58, 0, 64, 15,207,120,183,202, 31, 15,225,209,195, 7, 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, 7, 4,205,101, 15,195,238, 5, 71, 58, 0, 64, 15,207,120,
+ 229,230, 15, 38, 18,198,136,111,126,225,183,194,172, 4,120,205,
+ 101, 15,195, 7, 4,230, 3, 8, 58, 0, 64, 15,207,205,234, 2,
+ 58, 0, 64, 15,207, 8,213, 17, 17,127, 15, 15, 15,176,246,128,
+ 18, 58, 0, 64, 15,207,205,234, 2, 58, 0, 64, 15,207,235,112,
+ 235,209,201,205,228, 13,195,238, 5, 58,147, 18,183,194,188, 4,
+ 205,228, 13,195, 7, 4,230, 3, 71, 58, 0, 64, 15,207,229, 38,
+ 18,120,198,144,111, 54, 1, 58, 0, 64, 15,207,120, 15, 15, 15,
+ 15,111, 38, 18, 54, 0,225,195,238, 5,205,234, 15,195,156, 2,
+ 205,234, 15,195,178, 2,230, 15, 60, 71,205,247, 15,195,156, 2,
+ 230, 15, 60, 71,205,247, 15,195,178, 2, 58, 0, 64, 15,207,205,
+ 234, 2, 58, 0, 64, 15,207,235,114, 45,115, 45,113, 58, 0, 64,
+ 15,207, 45,112,201,205, 17, 16,195,238, 5,205, 17, 16,195, 7,
+ 4, 58, 0, 64, 15,207,205,234, 2, 58, 0, 64, 15,207, 58,242,
+ 31,176, 50,242, 31,201,205, 50, 16,195,238, 5,205, 50, 16,195,
+ 7, 4, 58, 0, 64, 15,207,205,234, 2, 58, 0, 64, 15,207, 58,
+ 242, 31,160, 50,242, 31,201, 33,240, 31, 17, 88, 18, 14, 8, 26,
+ 70,128,242, 87, 16, 62,127, 71,125,205, 60, 10, 44, 28, 13, 58,
+ 0, 64, 15,207, 32,233, 33,232, 31, 17, 1, 18, 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,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
@@ -313,9 +297,9 @@ static uint8_t echo_blob[] = {
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 1, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0,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,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0