aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDavid Turner2012-10-13 07:56:27 -0700
committerDavid Turner2012-10-13 07:56:27 -0700
commit8d6a794f7e5d37d716dff4adcd39ca77e3ffc45f (patch)
tree642423dd9238239eaaaebc04bc2a1e8b63d9540b
parent64389c0643ee03f4ddda16d7bfe1a841bf0b2735 (diff)
parent151b7beb47ec4b964862d6779bd48e3a33482bbd (diff)
downloadscummvm-rg350-8d6a794f7e5d37d716dff4adcd39ca77e3ffc45f.tar.gz
scummvm-rg350-8d6a794f7e5d37d716dff4adcd39ca77e3ffc45f.tar.bz2
scummvm-rg350-8d6a794f7e5d37d716dff4adcd39ca77e3ffc45f.zip
Merge pull request #284 from digitall/teenagentRefactor
Refactoring Work on Teenagent Engine
-rw-r--r--devtools/create_teenagent/create_teenagent.cpp140
-rw-r--r--devtools/create_teenagent/md5.cpp264
-rw-r--r--devtools/create_teenagent/md5.h40
-rw-r--r--devtools/create_teenagent/module.mk2
-rw-r--r--devtools/create_teenagent/static_tables.h16317
-rw-r--r--devtools/create_teenagent/util.cpp152
-rw-r--r--devtools/create_teenagent/util.h1
-rw-r--r--engines/teenagent/actor.cpp87
-rw-r--r--engines/teenagent/actor.h17
-rw-r--r--engines/teenagent/animation.cpp120
-rw-r--r--engines/teenagent/animation.h8
-rw-r--r--engines/teenagent/callbacks.cpp4676
-rw-r--r--engines/teenagent/detection.cpp3
-rw-r--r--engines/teenagent/dialog.cpp117
-rw-r--r--engines/teenagent/dialog.h55
-rw-r--r--engines/teenagent/font.cpp83
-rw-r--r--engines/teenagent/font.h18
-rw-r--r--engines/teenagent/inventory.cpp160
-rw-r--r--engines/teenagent/inventory.h115
-rw-r--r--engines/teenagent/music.cpp48
-rw-r--r--engines/teenagent/music.h7
-rw-r--r--engines/teenagent/objects.cpp53
-rw-r--r--engines/teenagent/objects.h23
-rw-r--r--engines/teenagent/pack.cpp19
-rw-r--r--engines/teenagent/resources.cpp71
-rw-r--r--engines/teenagent/resources.h1149
-rw-r--r--engines/teenagent/scene.cpp884
-rw-r--r--engines/teenagent/scene.h74
-rw-r--r--engines/teenagent/segment.h12
-rw-r--r--engines/teenagent/surface.cpp70
-rw-r--r--engines/teenagent/surface.h11
-rw-r--r--engines/teenagent/surface_list.cpp23
-rw-r--r--engines/teenagent/surface_list.h8
-rw-r--r--engines/teenagent/teenagent.cpp442
-rw-r--r--engines/teenagent/teenagent.h106
35 files changed, 21863 insertions, 3512 deletions
diff --git a/devtools/create_teenagent/create_teenagent.cpp b/devtools/create_teenagent/create_teenagent.cpp
index fc2ba4da0e..79c61900f3 100644
--- a/devtools/create_teenagent/create_teenagent.cpp
+++ b/devtools/create_teenagent/create_teenagent.cpp
@@ -32,78 +32,110 @@
#include <stdio.h>
#include <stdlib.h>
#include <assert.h>
-#include "md5.h"
+#include "util.h"
+#include "static_tables.h"
-static void print_hex(FILE * f, const uint8 * data, size_t len) {
- for (size_t i = 0; i < len; ++i) {
- fprintf(f, "%02x", data[i]);
- }
-}
-
-static void extract(FILE * fout, FILE *fin, size_t pos, size_t size, const char *what) {
- char buf[0x10000];
- assert(size < sizeof(buf));
+int main(int argc, char *argv[]) {
+ const char *dat_name = "teenagent.dat";
- if (fseek(fin, pos, SEEK_SET) != 0) {
- perror(what);
+ FILE *fout = fopen(dat_name, "wb");
+ if (fout == NULL) {
+ perror("opening output file");
exit(1);
}
- if (fread(buf, size, 1, fin) != 1) {
- perror(what);
+ if (fwrite(cseg, CSEG_SIZE, 1, fout) != 1) {
+ perror("Writing code segment");
exit(1);
}
- if (fwrite(buf, size, 1, fout) != 1) {
- perror(what);
+ if (fwrite(dsegStartBlock, DSEG_STARTBLK_SIZE, 1, fout) != 1) {
+ perror("Writing data segment start block");
exit(1);
}
-}
-int main(int argc, char *argv[]) {
- if (argc < 2) {
- fprintf(stderr, "usage: %s: Teenagnt.exe (unpacked one)\n", argv[0]);
- exit(1);
+ // Write out message string block
+ for (uint i = 0; i < (sizeof(messages)/sizeof(char*)); i++) {
+ if (i == 0) {
+ // Write out reject message pointer block
+ uint16 off = DSEG_STARTBLK_SIZE + (4 * 2);
+ writeUint16LE(fout, off);
+ off += strlen(messages[0]) + 2;
+ writeUint16LE(fout, off);
+ off += strlen(messages[1]) + 2;
+ writeUint16LE(fout, off);
+ off += strlen(messages[2]) + 2;
+ writeUint16LE(fout, off);
+ }
+
+ if (i == 327) {
+ // Write out book color pointer block
+ uint16 off = DSEG_STARTBLK_SIZE + (4 * 2);
+ for (uint k = 0; k < 327; k++)
+ off += strlen(messages[k]) + 2;
+ off += (6 * 2);
+ writeUint16LE(fout, off);
+ off += strlen(messages[327]) + 2;
+ writeUint16LE(fout, off);
+ off += strlen(messages[328]) + 2;
+ writeUint16LE(fout, off);
+ off += strlen(messages[329]) + 2;
+ writeUint16LE(fout, off);
+ off += strlen(messages[330]) + 2;
+ writeUint16LE(fout, off);
+ off += strlen(messages[331]) + 2;
+ writeUint16LE(fout, off);
+ }
+ for (uint j = 0; j < strlen(messages[i]); j++) {
+ if (messages[i][j] == '\n')
+ writeByte(fout, '\0');
+ else
+ writeByte(fout, messages[i][j]);
+ }
+ writeByte(fout, '\0');
+ writeByte(fout, '\0');
}
- const char * fname = argv[1];
- uint8 digest[16];
- if (!md5_file(fname, digest, 0)) {
- fprintf(stderr, "cannot calculate md5 for %s", fname);
+ if (fwrite(dsegEndBlock, DSEG_ENDBLK_SIZE, 1, fout) != 1) {
+ perror("Writing data segment end block");
exit(1);
}
- const uint8 ethalon[16] = {
- 0x51, 0xb6, 0xd6, 0x47, 0x21, 0xf7, 0xc4, 0xb4,
- 0x98, 0xbf, 0xc0, 0xf3, 0x23, 0x01, 0x3e, 0x36,
- };
-
- if (memcmp(digest, ethalon, 16) != 0) {
- fprintf(stderr, "cannot extract data, your md5: ");
- print_hex(stderr, digest, 16);
- fprintf(stderr, ", need md5: ");
- print_hex(stderr, ethalon, 16);
- fprintf(stderr, ", sorry\n");
- exit(1);
- }
- FILE *fin = fopen(fname, "rb");
- if (fin == NULL) {
- perror("opening input file");
- exit(1);
- }
-
- const char * dat_name = "teenagent.dat";
- FILE *fout = fopen(dat_name, "wb");
- if (fout == NULL) {
- perror("opening output file");
- exit(1);
+ // Write out dialog string block
+ static const char nulls[6] = "\0\0\0\0\0";
+ for (uint i = 0; i < (sizeof(dialogs)/sizeof(char**)); i++) {
+ //printf("Writing Dialog #%d\n", i);
+ bool dialogEnd = false;
+ uint j = 0;
+ while (!dialogEnd) {
+ uint nullCount = 0;
+ if (strcmp(dialogs[i][j], NEW_LINE) == 0) {
+ nullCount = 1;
+ } else if (strcmp(dialogs[i][j], DISPLAY_MESSAGE) == 0) {
+ nullCount = 2;
+ } else if (strcmp(dialogs[i][j], CHANGE_CHARACTER) == 0) {
+ nullCount = 3;
+ } else if (strcmp(dialogs[i][j], END_DIALOG) == 0) {
+ nullCount = 4;
+ dialogEnd = true;
+ } else { // Deals with normal dialogue and ANIM_WAIT cases
+ if (fwrite(dialogs[i][j], 1, strlen(dialogs[i][j]), fout) != strlen(dialogs[i][j])) {
+ perror("Writing dialog string");
+ exit(1);
+ }
+ }
+
+ if (nullCount != 0 && nullCount < 5) {
+ if (fwrite(nulls, 1, nullCount, fout) != nullCount) {
+ perror("Writing dialog string nulls");
+ exit(1);
+ }
+ }
+
+ j++;
+ }
}
- //0x0200, 0xb5b0, 0x1c890
- extract(fout, fin, 0x00200, 0xb3b0, "extracting code segment");
- extract(fout, fin, 0x0b5b0, 0xe790, "extracting data segment");
- extract(fout, fin, 0x1c890, 0x8be2, "extracting second data segment");
- fclose(fin);
fclose(fout);
return 0;
diff --git a/devtools/create_teenagent/md5.cpp b/devtools/create_teenagent/md5.cpp
deleted file mode 100644
index 9f90122981..0000000000
--- a/devtools/create_teenagent/md5.cpp
+++ /dev/null
@@ -1,264 +0,0 @@
-/* ScummVM - Graphic Adventure Engine
- *
- * ScummVM is the legal property of its developers, whose names
- * are too numerous to list here. Please refer to the COPYRIGHT
- * file distributed with this source distribution.
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation; either version 2
- * of the License, or (at your option) any later version.
-
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
-
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
- *
- */
-
-// Disable symbol overrides so that we can use system headers.
-#define FORBIDDEN_SYMBOL_ALLOW_ALL
-
-#include "md5.h"
-
-#define GET_UINT32(n, b, i) (n) = READ_LE_UINT32(b + i)
-#define PUT_UINT32(n, b, i) WRITE_LE_UINT32(b + i, n)
-
-void md5_starts(md5_context *ctx) {
- ctx->total[0] = 0;
- ctx->total[1] = 0;
-
- ctx->state[0] = 0x67452301;
- ctx->state[1] = 0xEFCDAB89;
- ctx->state[2] = 0x98BADCFE;
- ctx->state[3] = 0x10325476;
-}
-
-static void md5_process(md5_context *ctx, const uint8 data[64]) {
- uint32 X[16], A, B, C, D;
-
- GET_UINT32(X[0], data, 0);
- GET_UINT32(X[1], data, 4);
- GET_UINT32(X[2], data, 8);
- GET_UINT32(X[3], data, 12);
- GET_UINT32(X[4], data, 16);
- GET_UINT32(X[5], data, 20);
- GET_UINT32(X[6], data, 24);
- GET_UINT32(X[7], data, 28);
- GET_UINT32(X[8], data, 32);
- GET_UINT32(X[9], data, 36);
- GET_UINT32(X[10], data, 40);
- GET_UINT32(X[11], data, 44);
- GET_UINT32(X[12], data, 48);
- GET_UINT32(X[13], data, 52);
- GET_UINT32(X[14], data, 56);
- GET_UINT32(X[15], data, 60);
-
-#define S(x, n) ((x << n) | ((x & 0xFFFFFFFF) >> (32 - n)))
-
-#define P(a, b, c, d, k, s, t) \
-{ \
- a += F(b,c,d) + X[k] + t; a = S(a,s) + b; \
-}
-
- A = ctx->state[0];
- B = ctx->state[1];
- C = ctx->state[2];
- D = ctx->state[3];
-
-#define F(x, y, z) (z ^ (x & (y ^ z)))
-
- P(A, B, C, D, 0, 7, 0xD76AA478);
- P(D, A, B, C, 1, 12, 0xE8C7B756);
- P(C, D, A, B, 2, 17, 0x242070DB);
- P(B, C, D, A, 3, 22, 0xC1BDCEEE);
- P(A, B, C, D, 4, 7, 0xF57C0FAF);
- P(D, A, B, C, 5, 12, 0x4787C62A);
- P(C, D, A, B, 6, 17, 0xA8304613);
- P(B, C, D, A, 7, 22, 0xFD469501);
- P(A, B, C, D, 8, 7, 0x698098D8);
- P(D, A, B, C, 9, 12, 0x8B44F7AF);
- P(C, D, A, B, 10, 17, 0xFFFF5BB1);
- P(B, C, D, A, 11, 22, 0x895CD7BE);
- P(A, B, C, D, 12, 7, 0x6B901122);
- P(D, A, B, C, 13, 12, 0xFD987193);
- P(C, D, A, B, 14, 17, 0xA679438E);
- P(B, C, D, A, 15, 22, 0x49B40821);
-
-#undef F
-
-#define F(x, y, z) (y ^ (z & (x ^ y)))
-
- P(A, B, C, D, 1, 5, 0xF61E2562);
- P(D, A, B, C, 6, 9, 0xC040B340);
- P(C, D, A, B, 11, 14, 0x265E5A51);
- P(B, C, D, A, 0, 20, 0xE9B6C7AA);
- P(A, B, C, D, 5, 5, 0xD62F105D);
- P(D, A, B, C, 10, 9, 0x02441453);
- P(C, D, A, B, 15, 14, 0xD8A1E681);
- P(B, C, D, A, 4, 20, 0xE7D3FBC8);
- P(A, B, C, D, 9, 5, 0x21E1CDE6);
- P(D, A, B, C, 14, 9, 0xC33707D6);
- P(C, D, A, B, 3, 14, 0xF4D50D87);
- P(B, C, D, A, 8, 20, 0x455A14ED);
- P(A, B, C, D, 13, 5, 0xA9E3E905);
- P(D, A, B, C, 2, 9, 0xFCEFA3F8);
- P(C, D, A, B, 7, 14, 0x676F02D9);
- P(B, C, D, A, 12, 20, 0x8D2A4C8A);
-
-#undef F
-
-#define F(x, y, z) (x ^ y ^ z)
-
- P(A, B, C, D, 5, 4, 0xFFFA3942);
- P(D, A, B, C, 8, 11, 0x8771F681);
- P(C, D, A, B, 11, 16, 0x6D9D6122);
- P(B, C, D, A, 14, 23, 0xFDE5380C);
- P(A, B, C, D, 1, 4, 0xA4BEEA44);
- P(D, A, B, C, 4, 11, 0x4BDECFA9);
- P(C, D, A, B, 7, 16, 0xF6BB4B60);
- P(B, C, D, A, 10, 23, 0xBEBFBC70);
- P(A, B, C, D, 13, 4, 0x289B7EC6);
- P(D, A, B, C, 0, 11, 0xEAA127FA);
- P(C, D, A, B, 3, 16, 0xD4EF3085);
- P(B, C, D, A, 6, 23, 0x04881D05);
- P(A, B, C, D, 9, 4, 0xD9D4D039);
- P(D, A, B, C, 12, 11, 0xE6DB99E5);
- P(C, D, A, B, 15, 16, 0x1FA27CF8);
- P(B, C, D, A, 2, 23, 0xC4AC5665);
-
-#undef F
-
-#define F(x, y, z) (y ^ (x | ~z))
-
- P(A, B, C, D, 0, 6, 0xF4292244);
- P(D, A, B, C, 7, 10, 0x432AFF97);
- P(C, D, A, B, 14, 15, 0xAB9423A7);
- P(B, C, D, A, 5, 21, 0xFC93A039);
- P(A, B, C, D, 12, 6, 0x655B59C3);
- P(D, A, B, C, 3, 10, 0x8F0CCC92);
- P(C, D, A, B, 10, 15, 0xFFEFF47D);
- P(B, C, D, A, 1, 21, 0x85845DD1);
- P(A, B, C, D, 8, 6, 0x6FA87E4F);
- P(D, A, B, C, 15, 10, 0xFE2CE6E0);
- P(C, D, A, B, 6, 15, 0xA3014314);
- P(B, C, D, A, 13, 21, 0x4E0811A1);
- P(A, B, C, D, 4, 6, 0xF7537E82);
- P(D, A, B, C, 11, 10, 0xBD3AF235);
- P(C, D, A, B, 2, 15, 0x2AD7D2BB);
- P(B, C, D, A, 9, 21, 0xEB86D391);
-
-#undef F
-
- ctx->state[0] += A;
- ctx->state[1] += B;
- ctx->state[2] += C;
- ctx->state[3] += D;
-}
-
-void md5_update(md5_context *ctx, const uint8 *input, uint32 length) {
- uint32 left, fill;
-
- if (!length)
- return;
-
- left = ctx->total[0] & 0x3F;
- fill = 64 - left;
-
- ctx->total[0] += length;
- ctx->total[0] &= 0xFFFFFFFF;
-
- if (ctx->total[0] < length)
- ctx->total[1]++;
-
- if (left && length >= fill) {
- memcpy((void *)(ctx->buffer + left), (const void *)input, fill);
- md5_process(ctx, ctx->buffer);
- length -= fill;
- input += fill;
- left = 0;
- }
-
- while (length >= 64) {
- md5_process(ctx, input);
- length -= 64;
- input += 64;
- }
-
- if (length) {
- memcpy((void *)(ctx->buffer + left), (const void *)input, length);
- }
-}
-
-static const uint8 md5_padding[64] = {
- 0x80, 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, 0, 0, 0, 0, 0
-};
-
-void md5_finish(md5_context *ctx, uint8 digest[16]) {
- uint32 last, padn;
- uint32 high, low;
- uint8 msglen[8];
-
- high = (ctx->total[0] >> 29) | (ctx->total[1] << 3);
- low = (ctx->total[0] << 3);
-
- PUT_UINT32(low, msglen, 0);
- PUT_UINT32(high, msglen, 4);
-
- last = ctx->total[0] & 0x3F;
- padn = (last < 56) ? (56 - last) : (120 - last);
-
- md5_update(ctx, md5_padding, padn);
- md5_update(ctx, msglen, 8);
-
- PUT_UINT32(ctx->state[0], digest, 0);
- PUT_UINT32(ctx->state[1], digest, 4);
- PUT_UINT32(ctx->state[2], digest, 8);
- PUT_UINT32(ctx->state[3], digest, 12);
-}
-
-bool md5_file(const char *name, uint8 digest[16], uint32 length) {
- FILE *f;
-
- f = fopen(name, "rb");
- if (f == NULL) {
- printf("md5_file couldn't open '%s'\n", name);
- return false;
- }
-
- md5_context ctx;
- uint32 i;
- unsigned char buf[1000];
- bool restricted = (length != 0);
- int readlen;
-
- if (!restricted || sizeof(buf) <= length)
- readlen = sizeof(buf);
- else
- readlen = length;
-
- md5_starts(&ctx);
-
-
- while ((i = (uint32)fread(buf, 1, readlen, f)) > 0) {
- md5_update(&ctx, buf, i);
-
- length -= i;
- if (restricted && length == 0)
- break;
-
- if (restricted && sizeof(buf) > length)
- readlen = length;
- }
-
- md5_finish(&ctx, digest);
- fclose(f);
- return true;
-}
diff --git a/devtools/create_teenagent/md5.h b/devtools/create_teenagent/md5.h
deleted file mode 100644
index 3746521002..0000000000
--- a/devtools/create_teenagent/md5.h
+++ /dev/null
@@ -1,40 +0,0 @@
-/* ScummVM - Graphic Adventure Engine
- *
- * ScummVM is the legal property of its developers, whose names
- * are too numerous to list here. Please refer to the COPYRIGHT
- * file distributed with this source distribution.
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation; either version 2
- * of the License, or (at your option) any later version.
-
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
-
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
- *
- */
-
-#ifndef COMMON_MD5_H
-#define COMMON_MD5_H
-
-#include "util.h"
-
-typedef struct {
- uint32 total[2];
- uint32 state[4];
- uint8 buffer[64];
-} md5_context;
-
-void md5_starts(md5_context *ctx);
-void md5_update(md5_context *ctx, const uint8 *input, uint32 length);
-void md5_finish(md5_context *ctx, uint8 digest[16]);
-
-bool md5_file(const char *name, uint8 digest[16], uint32 length = 0);
-
-#endif
diff --git a/devtools/create_teenagent/module.mk b/devtools/create_teenagent/module.mk
index a9d102addb..7d01a2ba85 100644
--- a/devtools/create_teenagent/module.mk
+++ b/devtools/create_teenagent/module.mk
@@ -3,7 +3,7 @@ MODULE := devtools/create_teenagent
MODULE_OBJS := \
create_teenagent.o \
- md5.o
+ util.o
# Set the name of the executable
TOOL_EXECUTABLE := create_teenagent
diff --git a/devtools/create_teenagent/static_tables.h b/devtools/create_teenagent/static_tables.h
new file mode 100644
index 0000000000..6e7fdfe91c
--- /dev/null
+++ b/devtools/create_teenagent/static_tables.h
@@ -0,0 +1,16317 @@
+/* ScummVM - Graphic Adventure Engine
+ *
+ * ScummVM is the legal property of its developers, whose names
+ * are too numerous to list here. Please refer to the COPYRIGHT
+ * file distributed with this source distribution.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ *
+ */
+
+#ifndef STATIC_TABLES_H
+#define STATIC_TABLES_H
+
+// Static data tables for Teenagent engine
+
+// Unpacked Executable MD5sum - 51b6d64721f7c4b498bfc0f323013e36
+
+// Code Segment
+// starts at offset 0x0200 in original executable
+#define CSEG_SIZE 46000 // 0xb3b0
+
+const static uint8 cseg[CSEG_SIZE] = {
+ 0xb8, 0x3b, 0x0b, 0x8e, 0xd8, 0x8e, 0xc0, 0xe9,
+ 0xd2, 0x00, 0x9c, 0xfa, 0x60, 0x1e, 0x06, 0xb8,
+ 0x3b, 0x0b, 0x8e, 0xd8, 0xeb, 0x0e, 0xa0, 0x48,
+ 0x32, 0xb4, 0x03, 0xff, 0x1e, 0x4a, 0x32, 0xb8,
+ 0x3b, 0x0b, 0x8e, 0xd8, 0x8e, 0xc0, 0xbb, 0x86,
+ 0x32, 0xff, 0x07, 0x75, 0x03, 0xff, 0x47, 0x02,
+ 0x33, 0xc0, 0xe8, 0xce, 0xa4, 0xff, 0x0e, 0x7f,
+ 0x32, 0x75, 0x14, 0xa1, 0x81, 0x32, 0xa3, 0x7f,
+ 0x32, 0x33, 0xc0, 0x8e, 0xd8, 0xbb, 0x6c, 0x04,
+ 0xff, 0x07, 0x75, 0x03, 0xff, 0x47, 0x02, 0xb0,
+ 0x20, 0xe6, 0x20, 0x07, 0x1f, 0x61, 0xfb, 0x9d,
+ 0xcf, 0x9c, 0xfa, 0x60, 0x1e, 0x06, 0xb8, 0x3b,
+ 0x0b, 0x8e, 0xd8, 0xeb, 0x15, 0x80, 0x3e, 0x47,
+ 0x32, 0x00, 0x74, 0x0e, 0xa0, 0x48, 0x32, 0xb4,
+ 0x03, 0xff, 0x1e, 0x4a, 0x32, 0xb8, 0x3b, 0x0b,
+ 0x8e, 0xd8, 0x8e, 0xc0, 0xfe, 0x0e, 0x83, 0x32,
+ 0x75, 0x14, 0xc6, 0x06, 0x83, 0x32, 0x6e, 0xbb,
+ 0x86, 0x32, 0xff, 0x07, 0x75, 0x03, 0xff, 0x47,
+ 0x02, 0x33, 0xc0, 0xe8, 0x6d, 0xa4, 0xff, 0x0e,
+ 0x7f, 0x32, 0x75, 0x14, 0xa1, 0x81, 0x32, 0xa3,
+ 0x7f, 0x32, 0x33, 0xc0, 0x8e, 0xd8, 0xbb, 0x6c,
+ 0x04, 0xff, 0x07, 0x75, 0x03, 0xff, 0x47, 0x02,
+ 0xb0, 0x20, 0xe6, 0x20, 0x07, 0x1f, 0x61, 0xfb,
+ 0x9d, 0xcf, 0x9c, 0x50, 0xe4, 0x60, 0x2e, 0xa2,
+ 0xd7, 0x00, 0xe4, 0x61, 0x8a, 0xe0, 0x0c, 0x80,
+ 0xe6, 0x61, 0x86, 0xe0, 0xe6, 0x61, 0xeb, 0x00,
+ 0xb0, 0x20, 0xe6, 0x20, 0x58, 0x9d, 0xcf, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0xb4, 0x2c, 0xcd, 0x21,
+ 0xbb, 0x5f, 0xb1, 0x2e, 0x89, 0x0f, 0x2e, 0x89,
+ 0x57, 0x02, 0xe8, 0xfc, 0xa3, 0xe8, 0xb1, 0xb0,
+ 0xe8, 0xce, 0xaf, 0xe8, 0xee, 0xb0, 0xe8, 0x18,
+ 0xa8, 0xe8, 0x4d, 0xb2, 0xe8, 0xde, 0xa4, 0xb9,
+ 0x01, 0x00, 0xe8, 0x46, 0xb0, 0xfa, 0xb8, 0x88,
+ 0xc0, 0xbb, 0x14, 0x00, 0x2e, 0x89, 0x07, 0xbb,
+ 0x63, 0x00, 0x2e, 0x89, 0x07, 0xfb, 0xe8, 0x38,
+ 0x0a, 0xe8, 0x49, 0x0a, 0xe8, 0x6f, 0x0a, 0xe8,
+ 0x79, 0x0a, 0xe8, 0x9a, 0x0a, 0xe8, 0xb5, 0x0a,
+ 0xb8, 0x3b, 0x0b, 0xa3, 0xac, 0x00, 0xb8, 0x3a,
+ 0x01, 0xa3, 0xaa, 0x00, 0xb9, 0x07, 0x00, 0xba,
+ 0x54, 0x00, 0xe8, 0x33, 0xae, 0xa1, 0xbf, 0x32,
+ 0xa3, 0xac, 0x00, 0x33, 0xc0, 0xa3, 0xaa, 0x00,
+ 0xb9, 0x01, 0x00, 0xba, 0x54, 0x00, 0xe8, 0x1f,
+ 0xae, 0xe8, 0x82, 0x05, 0xe8, 0xf5, 0x00, 0xb9,
+ 0x04, 0x00, 0xe8, 0xee, 0xaf, 0xb8, 0x88, 0x00,
+ 0xbb, 0x99, 0x00, 0xbf, 0x8b, 0x00, 0xbe, 0x9c,
+ 0x00, 0xb5, 0x03, 0xb1, 0x0b, 0xc7, 0x06, 0xf3,
+ 0xb4, 0x0a, 0x00, 0xe8, 0x6d, 0xaa, 0xe8, 0x86,
+ 0xa4, 0xe8, 0x04, 0x07, 0xe8, 0xa0, 0x1e, 0xe8,
+ 0x03, 0x2a, 0xe8, 0x94, 0x33, 0xe8, 0xc8, 0x34,
+ 0xe8, 0x22, 0x33, 0xe8, 0x57, 0x33, 0xe8, 0xe5,
+ 0x1d, 0xe8, 0x12, 0x27, 0xe8, 0x0d, 0xa5, 0xb3,
+ 0x01, 0x72, 0x07, 0xe8, 0x35, 0xa5, 0xb3, 0x00,
+ 0x73, 0xd7, 0xe8, 0xf6, 0xa1, 0xeb, 0xd2, 0xb8,
+ 0x03, 0x00, 0xcd, 0x10, 0xb4, 0x02, 0xff, 0x1e,
+ 0x4a, 0x32, 0xb8, 0x3b, 0x0b, 0x8e, 0xd8, 0x8e,
+ 0xc0, 0xe9, 0xd8, 0xb1, 0xe8, 0x86, 0x9a, 0xe8,
+ 0x77, 0x00, 0xe8, 0x8f, 0x9a, 0xbb, 0x88, 0xe4,
+ 0x33, 0xf6, 0x33, 0xff, 0x06, 0xa1, 0xb1, 0x32,
+ 0x8e, 0xc0, 0x53, 0xe8, 0x26, 0x00, 0xe8, 0x19,
+ 0x00, 0x5b, 0x53, 0xe8, 0xca, 0xa2, 0xbe, 0x40,
+ 0x01, 0x2b, 0xf0, 0xd1, 0xee, 0x5b, 0xe8, 0x6c,
+ 0xa2, 0x43, 0x8a, 0x07, 0x0a, 0xc0, 0x75, 0xe2,
+ 0x07, 0xc3, 0xa1, 0xb1, 0x32, 0xb9, 0xe0, 0x06,
+ 0xe8, 0x05, 0xab, 0xc3, 0x1e, 0x06, 0x8c, 0xc0,
+ 0x8e, 0xd8, 0xb8, 0x00, 0xa0, 0x8e, 0xc0, 0x33,
+ 0xf6, 0xbf, 0xbf, 0xf8, 0xb9, 0x0b, 0x00, 0x51,
+ 0xb9, 0xa0, 0x00, 0x57, 0xf3, 0xa5, 0x56, 0xe8,
+ 0x08, 0x00, 0x5e, 0x5f, 0x59, 0xe2, 0xf0, 0x07,
+ 0x1f, 0xc3, 0xe8, 0xeb, 0xa4, 0xe8, 0xe8, 0xa4,
+ 0x1e, 0x8c, 0xc0, 0x8e, 0xd8, 0x33, 0xff, 0xbe,
+ 0x40, 0x01, 0xb9, 0x00, 0x7d, 0xf3, 0xa5, 0x1f,
+ 0xc3, 0xb8, 0x00, 0xa0, 0xb9, 0x00, 0x7d, 0xe8,
+ 0xbe, 0xaa, 0xa1, 0xb1, 0x32, 0xb9, 0x00, 0x7d,
+ 0xe8, 0xb5, 0xaa, 0xc3, 0xe8, 0x7c, 0x03, 0xe8,
+ 0x6c, 0x03, 0xc7, 0x06, 0xf3, 0xb4, 0x29, 0x00,
+ 0xb8, 0x8b, 0x00, 0xbb, 0x9c, 0x00, 0x8b, 0xf8,
+ 0x8b, 0xf3, 0xb5, 0x03, 0xb1, 0x0b, 0xe8, 0x8c,
+ 0xa9, 0xe8, 0xfc, 0xa9, 0xe8, 0x5c, 0x03, 0xe8,
+ 0x4c, 0x03, 0xe8, 0x97, 0xaa, 0xe8, 0x46, 0x03,
+ 0xb8, 0xc8, 0x00, 0xe8, 0xbc, 0x1c, 0xe8, 0x3d,
+ 0x03, 0xb9, 0x29, 0x00, 0xb0, 0x0c, 0xb4, 0x04,
+ 0xe8, 0x72, 0xa7, 0xbb, 0x47, 0x33, 0xc7, 0x47,
+ 0x02, 0x90, 0x03, 0xb0, 0x02, 0xe8, 0xca, 0x17,
+ 0xe8, 0x23, 0x03, 0xe8, 0x4a, 0x3d, 0xc6, 0x07,
+ 0x6c, 0xe8, 0xfe, 0xab, 0xb9, 0x3e, 0x00, 0xb0,
+ 0x08, 0xb4, 0x04, 0xe8, 0x4f, 0xa7, 0xb9, 0x3a,
+ 0x00, 0xb0, 0x28, 0xb4, 0x0a, 0xe8, 0x4e, 0xa7,
+ 0xbb, 0x47, 0x33, 0xc7, 0x47, 0x02, 0x91, 0x03,
+ 0xb0, 0x02, 0xe8, 0x9d, 0x17, 0xe8, 0xf6, 0x02,
+ 0xe8, 0x1d, 0x3d, 0xc6, 0x47, 0x01, 0x6d, 0xe8,
+ 0xd0, 0xab, 0xc6, 0x06, 0x45, 0x33, 0xe7, 0xc6,
+ 0x06, 0x46, 0x33, 0xd7, 0xb0, 0x02, 0xb4, 0x01,
+ 0xbe, 0x92, 0x03, 0xbf, 0x93, 0x03, 0xbb, 0x8e,
+ 0x74, 0xe8, 0x82, 0x11, 0xe8, 0xcf, 0x02, 0xbb,
+ 0xc2, 0xe3, 0xe8, 0xe9, 0x02, 0xbb, 0x47, 0x33,
+ 0xc7, 0x47, 0x02, 0x94, 0x03, 0xc7, 0x06, 0xf3,
+ 0xb4, 0x2a, 0x00, 0xe8, 0x06, 0xaa, 0xe8, 0xb5,
+ 0x02, 0xb9, 0x0f, 0x00, 0xb0, 0x14, 0xb4, 0x03,
+ 0xe8, 0xea, 0xa6, 0xbb, 0x47, 0x33, 0xc7, 0x47,
+ 0x02, 0x94, 0x03, 0xb0, 0x02, 0xe8, 0x42, 0x17,
+ 0xe8, 0x9b, 0x02, 0xb9, 0x28, 0x00, 0xb0, 0x12,
+ 0xb4, 0x0e, 0xe8, 0xd0, 0xa6, 0xb0, 0x16, 0xe8,
+ 0xd4, 0xa6, 0xb0, 0x1b, 0xe8, 0xd6, 0xa6, 0xb0,
+ 0x1d, 0xe8, 0xd8, 0xa6, 0xb0, 0x1f, 0xe8, 0xda,
+ 0xa6, 0xb0, 0x21, 0xe8, 0xe3, 0xa6, 0xb0, 0x23,
+ 0xe8, 0xe5, 0xa6, 0xb0, 0x25, 0xe8, 0xe7, 0xa6,
+ 0xb9, 0x1d, 0x00, 0xb0, 0x2c, 0xe8, 0xe6, 0xa6,
+ 0xbb, 0x47, 0x33, 0xc7, 0x07, 0x96, 0x03, 0xc7,
+ 0x47, 0x02, 0x95, 0x03, 0xb0, 0x01, 0xe8, 0xf9,
+ 0x16, 0xe8, 0x52, 0x02, 0xbb, 0xe6, 0xe3, 0xe8,
+ 0x6c, 0x02, 0xb9, 0x03, 0x00, 0xe8, 0xd3, 0xad,
+ 0xbb, 0x47, 0x33, 0xc7, 0x07, 0x98, 0x03, 0xc7,
+ 0x47, 0x02, 0x9c, 0x03, 0xc7, 0x06, 0xf3, 0xb4,
+ 0x28, 0x00, 0xe8, 0x7f, 0xa9, 0xe8, 0x2e, 0x02,
+ 0xc6, 0x06, 0x45, 0x33, 0xe7, 0xc6, 0x06, 0x46,
+ 0x33, 0xeb, 0xb0, 0x01, 0xb4, 0x02, 0xbe, 0x98,
+ 0x03, 0xbf, 0x9c, 0x03, 0xbb, 0x0d, 0x75, 0xe8,
+ 0xc4, 0x10, 0xe8, 0x11, 0x02, 0xb9, 0x1a, 0x00,
+ 0xb0, 0x32, 0xb4, 0x0a, 0xe8, 0x46, 0xa6, 0xbb,
+ 0x47, 0x33, 0xc7, 0x07, 0x9d, 0x03, 0xc7, 0x47,
+ 0x02, 0x9e, 0x03, 0xb0, 0x01, 0xe8, 0x9a, 0x16,
+ 0xe8, 0xf3, 0x01, 0xc6, 0x06, 0x45, 0x33, 0xeb,
+ 0xb0, 0x02, 0xb4, 0x01, 0xbe, 0x9f, 0x03, 0xbf,
+ 0x98, 0x03, 0xbb, 0xa6, 0x78, 0xe8, 0x8e, 0x10,
+ 0xe8, 0xdb, 0x01, 0xbb, 0xff, 0xe3, 0xe8, 0xf5,
+ 0x01, 0xb9, 0x0b, 0x00, 0xe8, 0x5c, 0xad, 0xc7,
+ 0x06, 0xf3, 0xb4, 0x27, 0x00, 0xe8, 0x14, 0xa9,
+ 0xe8, 0xc3, 0x01, 0xb8, 0xc8, 0x00, 0xe8, 0x39,
+ 0x1b, 0xe8, 0xba, 0x01, 0xb9, 0x51, 0x00, 0xb0,
+ 0x02, 0xb4, 0x0e, 0xe8, 0xef, 0xa5, 0xb0, 0x05,
+ 0xb4, 0x0b, 0xe8, 0xf1, 0xa5, 0xb0, 0x08, 0xb4,
+ 0x08, 0xe8, 0xf1, 0xa5, 0xb0, 0x0b, 0xb4, 0x06,
+ 0xe8, 0xf1, 0xa5, 0xb0, 0x0e, 0xb4, 0x05, 0xe8,
+ 0xf1, 0xa5, 0xb0, 0x10, 0xb4, 0x03, 0xe8, 0xf1,
+ 0xa5, 0xb0, 0x10, 0xe8, 0xf3, 0xa5, 0xb0, 0x12,
+ 0xe8, 0xf5, 0xa5, 0xb0, 0x14, 0xe8, 0xf7, 0xa5,
+ 0xb0, 0x15, 0xe8, 0xf9, 0xa5, 0xbb, 0x47, 0x33,
+ 0xc7, 0x47, 0x02, 0xa0, 0x03, 0xb0, 0x02, 0xe8,
+ 0x10, 0x16, 0xe8, 0x49, 0xa6, 0xe8, 0x66, 0x01,
+ 0xe8, 0x8d, 0x3b, 0xc6, 0x07, 0x70, 0xe8, 0x41,
+ 0xaa, 0xe8, 0xf1, 0x1a, 0xe8, 0x57, 0x01, 0xc6,
+ 0x06, 0x45, 0x33, 0xd1, 0xb0, 0x01, 0xbe, 0xa1,
+ 0x03, 0xbb, 0xe1, 0x78, 0xe8, 0x80, 0x11, 0xe8,
+ 0x44, 0x01, 0xe8, 0xd8, 0x1a, 0xe8, 0x3e, 0x01,
+ 0xc6, 0x06, 0xdc, 0x1c, 0x02, 0xc7, 0x06, 0xaf,
+ 0x64, 0x3f, 0x01, 0xc7, 0x06, 0xb1, 0x64, 0x96,
+ 0x00, 0xbe, 0x3f, 0x00, 0xbf, 0x96, 0x00, 0xc6,
+ 0x06, 0xc3, 0x64, 0x01, 0xe8, 0x8c, 0x31, 0xe8,
+ 0x1c, 0x01, 0xc6, 0x06, 0x35, 0x33, 0x12, 0xc6,
+ 0x06, 0x36, 0x33, 0x24, 0xb8, 0xa8, 0x5d, 0xa3,
+ 0x37, 0x33, 0xb8, 0x84, 0x4d, 0xa3, 0x39, 0x33,
+ 0xbb, 0x47, 0x33, 0xc7, 0x07, 0x53, 0x03, 0xb9,
+ 0xa2, 0x03, 0xe8, 0xaa, 0x16, 0xe8, 0xf6, 0x00,
+ 0xb9, 0x18, 0x00, 0xb0, 0x0b, 0xb4, 0x02, 0xe8,
+ 0x2b, 0xa5, 0xb9, 0xa3, 0x03, 0xe8, 0x1a, 0x16,
+ 0xe8, 0xb8, 0xa6, 0xe8, 0xe0, 0x00, 0xbb, 0x2f,
+ 0xe4, 0xe8, 0xfa, 0x00, 0xb9, 0x03, 0x00, 0xe8,
+ 0x61, 0xac, 0xc7, 0x06, 0xaf, 0x64, 0x32, 0x00,
+ 0xc7, 0x06, 0xb1, 0x64, 0xba, 0x00, 0xc6, 0x06,
+ 0xcc, 0x64, 0x01, 0xc6, 0x06, 0xdc, 0x64, 0x00,
+ 0xc6, 0x06, 0xcb, 0x64, 0x00, 0xe8, 0x71, 0x39,
+ 0xbb, 0x47, 0x33, 0xc7, 0x07, 0x97, 0x03, 0xc7,
+ 0x06, 0xf3, 0xb4, 0x28, 0x00, 0xe8, 0xd0, 0x3a,
+ 0xc6, 0x07, 0x71, 0xe8, 0xf7, 0xa7, 0xe8, 0x9d,
+ 0x00, 0xc6, 0x06, 0x45, 0x33, 0xe7, 0xb0, 0x01,
+ 0xbe, 0x97, 0x03, 0xbb, 0xf1, 0x78, 0xe8, 0xc6,
+ 0x10, 0xe8, 0x8a, 0x00, 0xbe, 0xc6, 0x00, 0xbf,
+ 0xba, 0x00, 0xc6, 0x06, 0xc3, 0x64, 0x01, 0xe8,
+ 0xe9, 0x30, 0xe8, 0x79, 0x00, 0xe8, 0x8f, 0x11,
+ 0xbb, 0x58, 0x79, 0xe8, 0x77, 0x0c, 0xb9, 0xa4,
+ 0x03, 0xe8, 0xc3, 0x15, 0xe8, 0x67, 0x00, 0xe8,
+ 0x7d, 0x11, 0xbb, 0x07, 0x7e, 0xe8, 0x65, 0x0c,
+ 0xb9, 0xa4, 0x03, 0xe8, 0xb1, 0x15, 0xe8, 0x55,
+ 0x00, 0xe8, 0x6b, 0x11, 0xbb, 0x1a, 0x7e, 0xe8,
+ 0x53, 0x0c, 0xb9, 0xa4, 0x03, 0xe8, 0x9f, 0x15,
+ 0xe8, 0x43, 0x00, 0xe8, 0x7c, 0x11, 0xbb, 0x2c,
+ 0x7e, 0xe8, 0x41, 0x0c, 0xb9, 0xa5, 0x03, 0xe8,
+ 0x8d, 0x15, 0xe8, 0x31, 0x00, 0xe8, 0x47, 0x11,
+ 0xbb, 0x70, 0x7e, 0xe8, 0x2f, 0x0c, 0xbe, 0xae,
+ 0x00, 0xbf, 0xba, 0x00, 0xc6, 0x06, 0xc3, 0x64,
+ 0x01, 0xe8, 0x87, 0x30, 0xbb, 0x47, 0x33, 0xc7,
+ 0x07, 0x53, 0x03, 0xb9, 0xa6, 0x03, 0xe8, 0x66,
+ 0x15, 0xe8, 0x91, 0x96, 0xe8, 0x14, 0x00, 0xb8,
+ 0x64, 0x00, 0xe8, 0x9f, 0x19, 0xc3, 0x2e, 0x80,
+ 0x3e, 0xd7, 0x00, 0x01, 0x75, 0x04, 0x58, 0xe8,
+ 0xd4, 0xa4, 0xc3, 0x06, 0xa1, 0xb3, 0x32, 0x8e,
+ 0xc0, 0xbf, 0x00, 0xfa, 0xb9, 0x80, 0x01, 0x33,
+ 0xc0, 0xfc, 0xf3, 0xab, 0x07, 0xc3, 0x53, 0xe8,
+ 0x63, 0x96, 0xe8, 0x54, 0xfc, 0xa1, 0xb5, 0x32,
+ 0xa3, 0xac, 0x00, 0x33, 0xc0, 0xa3, 0xaa, 0x00,
+ 0xb9, 0x08, 0x00, 0xba, 0x54, 0x00, 0xe8, 0x77,
+ 0xa9, 0x5b, 0x8b, 0x17, 0x83, 0xc3, 0x02, 0x52,
+ 0x8a, 0x07, 0x32, 0xe4, 0xf7, 0x26, 0xb6, 0x00,
+ 0x8b, 0xf0, 0x53, 0xe8, 0x9b, 0x00, 0x5b, 0x5a,
+ 0x2d, 0x40, 0x01, 0xf7, 0xd8, 0xd1, 0xe8, 0x03,
+ 0xf0, 0x43, 0xe8, 0x25, 0x00, 0x43, 0x80, 0x3f,
+ 0x00, 0x75, 0xdc, 0xe8, 0x2e, 0x96, 0xbb, 0x92,
+ 0x32, 0xb9, 0x90, 0x01, 0xe8, 0xb4, 0xa2, 0xbb,
+ 0x92, 0x32, 0xe8, 0xc1, 0xa2, 0x72, 0x0a, 0xe8,
+ 0x99, 0xa0, 0x72, 0x05, 0xe8, 0x65, 0xa0, 0x73,
+ 0xee, 0xc3, 0x1e, 0x06, 0xb8, 0x00, 0xa0, 0x8e,
+ 0xc0, 0xa1, 0xb5, 0x32, 0x8e, 0xd8, 0xe8, 0x03,
+ 0x00, 0x07, 0x1f, 0xc3, 0x1e, 0xb8, 0x3b, 0x0b,
+ 0x8e, 0xd8, 0x8a, 0x0f, 0x1f, 0x0a, 0xc9, 0x74,
+ 0x47, 0x80, 0xe9, 0x1f, 0xb5, 0x00, 0xbf, 0xfe,
+ 0xff, 0xd1, 0xe1, 0x03, 0xf9, 0x8b, 0x3d, 0x8b,
+ 0x0d, 0x83, 0xc7, 0x02, 0x51, 0x56, 0x51, 0x56,
+ 0x8a, 0x05, 0x0a, 0xc0, 0x74, 0x0d, 0xfe, 0xc8,
+ 0x0a, 0xc0, 0x8a, 0xc2, 0x74, 0x02, 0x8a, 0xc6,
+ 0x26, 0x88, 0x04, 0x47, 0x46, 0xfe, 0xcd, 0x75,
+ 0xe7, 0x5e, 0x59, 0x81, 0xc6, 0x40, 0x01, 0xfe,
+ 0xc9, 0x75, 0xdb, 0x5e, 0x59, 0x8a, 0xc5, 0xb4,
+ 0x00, 0x03, 0xf0, 0x46, 0x46, 0x43, 0xeb, 0xac,
+ 0xc3, 0x33, 0xc0, 0x8a, 0x0f, 0x0a, 0xc9, 0x74,
+ 0x24, 0x42, 0x80, 0xe9, 0x1f, 0xb5, 0x00, 0xbf,
+ 0xfe, 0xff, 0xd1, 0xe1, 0x03, 0xf9, 0x1e, 0x8b,
+ 0x16, 0xb5, 0x32, 0x8e, 0xda, 0x8b, 0x3d, 0x8b,
+ 0x0d, 0x1f, 0x8a, 0xcd, 0xb5, 0x00, 0x03, 0xc1,
+ 0x40, 0x40, 0x43, 0xeb, 0xd6, 0xc3, 0xe8, 0x60,
+ 0xfb, 0xa1, 0xb5, 0x32, 0xa3, 0xac, 0x00, 0x33,
+ 0xc0, 0xa3, 0xaa, 0x00, 0xb9, 0x06, 0x00, 0xba,
+ 0x54, 0x00, 0xe8, 0x83, 0xa8, 0xa1, 0xb3, 0x32,
+ 0xa3, 0xac, 0x00, 0xb8, 0x00, 0xfa, 0xa3, 0xaa,
+ 0x00, 0xb9, 0x05, 0x00, 0xba, 0x54, 0x00, 0xe8,
+ 0x6e, 0xa8, 0x8b, 0x16, 0xb3, 0x32, 0xbe, 0x00,
+ 0xfa, 0xb0, 0x40, 0xe8, 0x14, 0xa0, 0xa1, 0xb3,
+ 0x32, 0xa3, 0xac, 0x00, 0x2e, 0xa3, 0x53, 0x08,
+ 0xb8, 0x00, 0x1e, 0xa3, 0xaa, 0x00, 0xb9, 0x09,
+ 0x00, 0xba, 0x54, 0x00, 0xe8, 0x49, 0xa8, 0x1e,
+ 0x06, 0x8b, 0x2e, 0xb5, 0x32, 0xa1, 0xb1, 0x32,
+ 0x8e, 0xc0, 0x8e, 0xd8, 0xfc, 0xb9, 0x58, 0x02,
+ 0xe8, 0x0f, 0x00, 0x07, 0x1f, 0x8b, 0x16, 0xb3,
+ 0x32, 0xbe, 0x00, 0xfa, 0xb0, 0xc0, 0xe8, 0xd9,
+ 0x9f, 0xc3, 0x2e, 0x80, 0x3e, 0xd7, 0x00, 0x00,
+ 0x75, 0x07, 0x51, 0xe8, 0x04, 0x00, 0x59, 0xe2,
+ 0xf1, 0xc3, 0xb8, 0xa0, 0x00, 0xbf, 0x00, 0x00,
+ 0x03, 0xf8, 0x03, 0xf8, 0x8b, 0xf7, 0x03, 0xf0,
+ 0xb9, 0x90, 0x10, 0xf3, 0xa5, 0x83, 0xc7, 0x00,
+ 0xb9, 0x11, 0x00, 0x51, 0x57, 0xb8, 0x9f, 0x00,
+ 0xe8, 0xe8, 0xa9, 0x03, 0xf8, 0xb8, 0xb9, 0x00,
+ 0xe8, 0xe0, 0xa9, 0x04, 0x05, 0x8a, 0xe0, 0x89,
+ 0x05, 0x5f, 0x59, 0xe2, 0xe6, 0xb9, 0x01, 0x00,
+ 0xbe, 0x01, 0x00, 0x8b, 0xc6, 0xbb, 0xa0, 0x00,
+ 0xf7, 0xe3, 0x8b, 0xf8, 0x03, 0xf9, 0x33, 0xc0,
+ 0x33, 0xdb, 0x8a, 0x9d, 0x5f, 0xff, 0x8a, 0x85,
+ 0x60, 0xff, 0x03, 0xd8, 0x8a, 0x85, 0x61, 0xff,
+ 0x03, 0xd8, 0x8a, 0x45, 0xff, 0x03, 0xd8, 0x8a,
+ 0x45, 0x01, 0x03, 0xd8, 0x8a, 0x85, 0x9f, 0x00,
+ 0x03, 0xd8, 0x8a, 0x85, 0xa0, 0x00, 0x03, 0xd8,
+ 0x8a, 0x85, 0xa1, 0x00, 0x03, 0xd8, 0xc1, 0xeb,
+ 0x03, 0x88, 0x9d, 0x00, 0x23, 0x41, 0x81, 0xf9,
+ 0xa0, 0x00, 0x72, 0xb7, 0xb9, 0x01, 0x00, 0x46,
+ 0x83, 0xfe, 0x38, 0x72, 0xae, 0xbf, 0x00, 0x00,
+ 0xbe, 0x00, 0x23, 0xb9, 0x80, 0x11, 0xf3, 0xa5,
+ 0x06, 0xb8, 0x00, 0xa0, 0x8e, 0xc0, 0x33, 0xdb,
+ 0xbe, 0x00, 0x00, 0xbf, 0xc0, 0x6c, 0xb9, 0x2c,
+ 0x00, 0xb8, 0x40, 0x01, 0xf7, 0xe1, 0x03, 0xf8,
+ 0xd1, 0xe9, 0x8b, 0xd1, 0x83, 0xea, 0x04, 0xb8,
+ 0xa0, 0x00, 0xf7, 0xe2, 0x03, 0xf0, 0xb8, 0x38,
+ 0x00, 0x2b, 0xc1, 0x8b, 0xc8, 0xe8, 0xf0, 0x9e,
+ 0x56, 0xe8, 0x0b, 0x00, 0x5e, 0xe8, 0x07, 0x00,
+ 0xe2, 0xf6, 0xe8, 0x28, 0x00, 0x07, 0xc3, 0xba,
+ 0xa0, 0x00, 0x8a, 0x04, 0x1e, 0x8e, 0xdd, 0x80,
+ 0x3f, 0x01, 0x75, 0x03, 0x26, 0x88, 0x05, 0x43,
+ 0x47, 0x80, 0x3f, 0x01, 0x1f, 0x75, 0x03, 0x26,
+ 0x88, 0x05, 0x43, 0x47, 0x46, 0x4a, 0x75, 0xe2,
+ 0xc3, 0x80, 0x66, 0x00, 0x00, 0x2e, 0x81, 0x2e,
+ 0x51, 0x08, 0x80, 0x02, 0x73, 0x08, 0x2e, 0x81,
+ 0x06, 0x51, 0x08, 0x80, 0x02, 0xc3, 0x2e, 0x8b,
+ 0x36, 0x51, 0x08, 0x1e, 0x2e, 0xa1, 0x53, 0x08,
+ 0x8e, 0xd8, 0x33, 0xff, 0xfc, 0xb9, 0x80, 0x66,
+ 0x2b, 0xce, 0xd1, 0xe9, 0xf3, 0xa5, 0x1f, 0xc3,
+ 0x80, 0x3e, 0x95, 0x60, 0x01, 0x74, 0x0a, 0xe8,
+ 0x32, 0x00, 0x80, 0x3e, 0x95, 0x60, 0x01, 0x75,
+ 0x2a, 0xc6, 0x06, 0x95, 0x60, 0x00, 0xe8, 0xa1,
+ 0x18, 0xe8, 0xf8, 0x06, 0xe8, 0x35, 0x00, 0xe8,
+ 0x05, 0xa0, 0xc6, 0x06, 0xdc, 0x1c, 0x03, 0xc6,
+ 0x06, 0xda, 0x1c, 0x00, 0xe8, 0xc7, 0x1f, 0xe8,
+ 0x5e, 0x9e, 0xe8, 0x27, 0xa0, 0xc7, 0x06, 0x52,
+ 0x72, 0x00, 0x00, 0xc3, 0x2e, 0xa0, 0xd7, 0x00,
+ 0x3c, 0x3b, 0x72, 0x0a, 0x3c, 0x44, 0x77, 0x06,
+ 0xc6, 0x06, 0x95, 0x60, 0x01, 0xc3, 0xc6, 0x06,
+ 0x95, 0x60, 0x00, 0xc3, 0xc7, 0x06, 0x96, 0x60,
+ 0x00, 0x00, 0xc6, 0x06, 0x98, 0x60, 0x00, 0xbb,
+ 0x99, 0x60, 0xe8, 0x0e, 0x00, 0x72, 0x01, 0xc3,
+ 0xe8, 0x2d, 0x01, 0x80, 0x3e, 0x98, 0x60, 0x01,
+ 0x75, 0xe2, 0xc3, 0x83, 0xeb, 0x05, 0x89, 0x1e,
+ 0x93, 0x60, 0x2e, 0x80, 0x3e, 0xd7, 0x00, 0x01,
+ 0x75, 0x03, 0xe9, 0xb4, 0x00, 0x33, 0xc9, 0x8b,
+ 0x1e, 0x93, 0x60, 0x41, 0x83, 0xc3, 0x05, 0x8a,
+ 0x47, 0x04, 0x3c, 0x03, 0x74, 0xf5, 0x8b, 0x07,
+ 0x0a, 0xc0, 0x75, 0x28, 0x8b, 0x0e, 0x96, 0x60,
+ 0x0b, 0xc9, 0x74, 0xd6, 0x8b, 0x1e, 0x93, 0x60,
+ 0x83, 0xc3, 0x05, 0xe2, 0xfb, 0x8b, 0x07, 0xe8,
+ 0x8f, 0x00, 0x8a, 0x57, 0x02, 0xb6, 0x00, 0xb4,
+ 0xe0, 0xe8, 0x96, 0x00, 0xc7, 0x06, 0x96, 0x60,
+ 0x00, 0x00, 0xeb, 0xb6, 0x53, 0x51, 0xe8, 0x78,
+ 0x00, 0x8a, 0x4f, 0x02, 0xbb, 0x0e, 0x00, 0xe8,
+ 0x24, 0x1b, 0x59, 0x5b, 0x72, 0x02, 0xeb, 0xb3,
+ 0xa1, 0x96, 0x60, 0x3b, 0xc8, 0x74, 0x37, 0x0b,
+ 0xc0, 0x74, 0x1e, 0x53, 0x51, 0x8b, 0xc8, 0x8b,
+ 0x1e, 0x93, 0x60, 0x83, 0xc3, 0x05, 0xe2, 0xfb,
+ 0x8b, 0x07, 0xe8, 0x4c, 0x00, 0x8a, 0x57, 0x02,
+ 0xb6, 0x00, 0xb4, 0xe0, 0xe8, 0x53, 0x00, 0x59,
+ 0x5b, 0x89, 0x0e, 0x96, 0x60, 0x8b, 0x07, 0xe8,
+ 0x37, 0x00, 0x8a, 0x57, 0x02, 0xb6, 0x00, 0xb4,
+ 0xd1, 0x56, 0xe8, 0x3d, 0x00, 0x5e, 0xe8, 0x3a,
+ 0x9d, 0x72, 0x08, 0xe8, 0x06, 0x9d, 0x72, 0x03,
+ 0xe9, 0x57, 0xff, 0x8b, 0x0e, 0x96, 0x60, 0x8b,
+ 0x1e, 0x93, 0x60, 0x83, 0xc3, 0x05, 0xe2, 0xfb,
+ 0x8b, 0x47, 0x03, 0x3c, 0x0a, 0x74, 0x02, 0xf9,
+ 0xc3, 0xc7, 0x06, 0x96, 0x60, 0x00, 0x00, 0xf8,
+ 0xc3, 0x8a, 0xc8, 0xb5, 0x00, 0x8a, 0xc4, 0xb4,
+ 0x00, 0xf7, 0x26, 0xb6, 0x00, 0x03, 0xc1, 0x8b,
+ 0xf0, 0xc3, 0x06, 0x8b, 0x0e, 0xb1, 0x32, 0x8e,
+ 0xc1, 0x50, 0x56, 0xe8, 0x0f, 0x00, 0x5e, 0x58,
+ 0xb9, 0x00, 0xa0, 0x8e, 0xc1, 0xe8, 0x05, 0x00,
+ 0xe8, 0xec, 0x9b, 0x07, 0xc3, 0x8b, 0xca, 0x26,
+ 0x88, 0x24, 0x46, 0xe2, 0xfa, 0x81, 0xc6, 0x40,
+ 0x01, 0x2b, 0xf2, 0xb9, 0x0c, 0x00, 0x26, 0x88,
+ 0x24, 0x03, 0xf2, 0x26, 0x88, 0x64, 0xff, 0x2b,
+ 0xf2, 0x81, 0xc6, 0x40, 0x01, 0xe2, 0xef, 0x8b,
+ 0xca, 0x26, 0x88, 0x24, 0x46, 0xe2, 0xfa, 0xc3,
+ 0xbb, 0x94, 0x60, 0x83, 0xc3, 0x05, 0x3a, 0x47,
+ 0x03, 0x75, 0xf8, 0x80, 0x7f, 0x04, 0x03, 0x74,
+ 0x06, 0x80, 0x7f, 0x04, 0x00, 0x75, 0xec, 0x50,
+ 0x8b, 0x07, 0xe8, 0x8c, 0xff, 0x58, 0xb9, 0x0e,
+ 0x00, 0x8a, 0x57, 0x02, 0xb6, 0x00, 0x3c, 0x01,
+ 0x75, 0x04, 0xe8, 0xb9, 0x01, 0xc3, 0x3c, 0x02,
+ 0x75, 0x04, 0xe8, 0x8f, 0x02, 0xc3, 0x3c, 0x03,
+ 0x75, 0x24, 0x80, 0xfc, 0x01, 0x75, 0x0d, 0xa0,
+ 0xa8, 0x64, 0x3c, 0x0a, 0x74, 0x17, 0xfe, 0x06,
+ 0xa8, 0x64, 0xeb, 0x0b, 0xa0, 0xa8, 0x64, 0x0a,
+ 0xc0, 0x74, 0x0a, 0xfe, 0x0e, 0xa8, 0x64, 0xe8,
+ 0xa4, 0x05, 0xe8, 0xdc, 0x00, 0xc3, 0x3c, 0x04,
+ 0x75, 0x24, 0x80, 0xfc, 0x01, 0x75, 0x0d, 0xa0,
+ 0xa9, 0x64, 0x3c, 0x0a, 0x74, 0x17, 0xfe, 0x06,
+ 0xa9, 0x64, 0xeb, 0x0b, 0xa0, 0xa9, 0x64, 0x0a,
+ 0xc0, 0x74, 0x0a, 0xfe, 0x0e, 0xa9, 0x64, 0xe8,
+ 0x9e, 0x05, 0xe8, 0xc8, 0x00, 0xc3, 0x3c, 0x05,
+ 0x75, 0x24, 0x80, 0xfc, 0x01, 0x75, 0x0d, 0xa0,
+ 0xaa, 0x64, 0x3c, 0x03, 0x74, 0x17, 0xfe, 0x06,
+ 0xaa, 0x64, 0xeb, 0x0b, 0xa0, 0xaa, 0x64, 0x0a,
+ 0xc0, 0x74, 0x0a, 0xfe, 0x0e, 0xaa, 0x64, 0xe8,
+ 0x98, 0x05, 0xe8, 0xc9, 0x00, 0xc3, 0x3c, 0x06,
+ 0x75, 0x24, 0x80, 0xfc, 0x01, 0x75, 0x0d, 0xa0,
+ 0xab, 0x64, 0x3c, 0x03, 0x74, 0x17, 0xfe, 0x06,
+ 0xab, 0x64, 0xeb, 0x0b, 0xa0, 0xab, 0x64, 0x0a,
+ 0xc0, 0x74, 0x0a, 0xfe, 0x0e, 0xab, 0x64, 0xe8,
+ 0x92, 0x05, 0xe8, 0xd2, 0x00, 0xc3, 0x3c, 0x07,
+ 0x75, 0x24, 0x80, 0xfc, 0x01, 0x75, 0x0d, 0xa0,
+ 0xac, 0x64, 0x3c, 0x04, 0x74, 0x17, 0xfe, 0x06,
+ 0xac, 0x64, 0xeb, 0x0b, 0xa0, 0xac, 0x64, 0x0a,
+ 0xc0, 0x74, 0x0a, 0xfe, 0x0e, 0xac, 0x64, 0xe8,
+ 0x8c, 0x05, 0xe8, 0x86, 0x00, 0xc3, 0x3c, 0x08,
+ 0x75, 0x24, 0x80, 0xfc, 0x01, 0x75, 0x0d, 0xa0,
+ 0xad, 0x64, 0x3c, 0x01, 0x74, 0x17, 0xfe, 0x06,
+ 0xad, 0x64, 0xeb, 0x0b, 0xa0, 0xad, 0x64, 0x0a,
+ 0xc0, 0x74, 0x0a, 0xfe, 0x0e, 0xad, 0x64, 0xe8,
+ 0x86, 0x05, 0xe8, 0xa0, 0x00, 0xc3, 0x3c, 0x0b,
+ 0x75, 0x04, 0xe8, 0x9c, 0x03, 0xc3, 0x3c, 0x0d,
+ 0x75, 0x02, 0xc3, 0xc3, 0xb0, 0x3c, 0xe9, 0x17,
+ 0xa8, 0xa0, 0xa8, 0x64, 0x0a, 0xc0, 0x75, 0x06,
+ 0xc6, 0x06, 0x48, 0x32, 0x00, 0xc3, 0xe8, 0x22,
+ 0x00, 0xa2, 0x48, 0x32, 0xc3, 0xa0, 0xa9, 0x64,
+ 0x0a, 0xc0, 0x75, 0x0b, 0xc6, 0x06, 0x49, 0x32,
+ 0x00, 0xc6, 0x06, 0x47, 0x32, 0x00, 0xc3, 0xc6,
+ 0x06, 0x47, 0x32, 0x01, 0xe8, 0x04, 0x00, 0xa2,
+ 0x49, 0x32, 0xc3, 0x8a, 0xc8, 0xb5, 0x00, 0xb0,
+ 0x04, 0x04, 0x06, 0xe2, 0xfc, 0xc3, 0xb0, 0x03,
+ 0x2a, 0x06, 0xaa, 0x64, 0xc0, 0xe0, 0x02, 0xa2,
+ 0x8e, 0x32, 0xc3, 0xa0, 0xac, 0x64, 0x0a, 0xc0,
+ 0x74, 0x19, 0x8a, 0xe0, 0xb0, 0x64, 0x80, 0xfc,
+ 0x01, 0x74, 0x10, 0xb0, 0x32, 0x80, 0xfc, 0x02,
+ 0x74, 0x09, 0xb0, 0x14, 0x80, 0xfc, 0x03, 0x74,
+ 0x02, 0xb0, 0x01, 0xa2, 0x96, 0x32, 0xc3, 0x8a,
+ 0x26, 0xab, 0x64, 0xb0, 0x10, 0x0a, 0xe4, 0x74,
+ 0x10, 0xb0, 0x0b, 0x80, 0xfc, 0x01, 0x74, 0x09,
+ 0xb0, 0x05, 0x80, 0xfc, 0x02, 0x74, 0x02, 0xb0,
+ 0x01, 0xa2, 0x90, 0x32, 0xc3, 0x80, 0x3e, 0xad,
+ 0x64, 0x01, 0x75, 0x0e, 0x8b, 0x16, 0xb3, 0x32,
+ 0xbe, 0x00, 0xfa, 0xb0, 0x40, 0xe8, 0x32, 0x9b,
+ 0xeb, 0x03, 0xe8, 0xcc, 0xa0, 0xc6, 0x06, 0x08,
+ 0x66, 0x00, 0xe8, 0xdc, 0x9b, 0xc3, 0xc7, 0x06,
+ 0x96, 0x60, 0x00, 0x00, 0xe8, 0x23, 0x02, 0xbb,
+ 0x32, 0x64, 0xe8, 0xe6, 0xfc, 0x72, 0x0a, 0xc7,
+ 0x06, 0x96, 0x60, 0x00, 0x00, 0xe8, 0x7c, 0x03,
+ 0xc3, 0x8b, 0x0e, 0x96, 0x60, 0x49, 0xe8, 0xa5,
+ 0x02, 0x0b, 0xc9, 0x74, 0xd9, 0xb8, 0xa6, 0x64,
+ 0x8b, 0xd8, 0x8b, 0x1f, 0x3b, 0xc3, 0x75, 0x1e,
+ 0xbb, 0xa4, 0x64, 0x8b, 0x07, 0xbb, 0xaf, 0xb3,
+ 0x81, 0xeb, 0x00, 0x00, 0x3b, 0xc3, 0x75, 0x0e,
+ 0xb8, 0xf2, 0xdb, 0xbb, 0x78, 0x64, 0x2b, 0xc3,
+ 0x3b, 0xc1, 0x75, 0x02, 0xeb, 0x35, 0xb8, 0xa6,
+ 0x64, 0xa3, 0xa6, 0x64, 0xb8, 0xaf, 0xb3, 0xa3,
+ 0xa4, 0x64, 0x06, 0xa1, 0xb1, 0x32, 0x8e, 0xc0,
+ 0xbe, 0x79, 0x51, 0xb0, 0xdb, 0xb4, 0x00, 0xb9,
+ 0x46, 0x00, 0xba, 0xce, 0x00, 0xe8, 0x07, 0x05,
+ 0xbb, 0xc3, 0x62, 0xbe, 0xbb, 0x62, 0xe8, 0x9f,
+ 0x04, 0xe8, 0x60, 0x9c, 0x07, 0xe8, 0x82, 0x9a,
+ 0xe9, 0x7b, 0xff, 0x89, 0x1e, 0xaa, 0x00, 0x8c,
+ 0x1e, 0xac, 0x00, 0xba, 0x95, 0x00, 0xe8, 0x56,
+ 0xa3, 0x58, 0x81, 0xfc, 0x00, 0x02, 0x72, 0xf9,
+ 0xe8, 0xb6, 0xfe, 0xe8, 0xc7, 0xfe, 0xe8, 0xed,
+ 0xfe, 0xe8, 0xf7, 0xfe, 0xe8, 0x18, 0xff, 0xe8,
+ 0x33, 0xff, 0x8b, 0x0e, 0x90, 0xdb, 0xe8, 0x9a,
+ 0xa4, 0x83, 0x3e, 0xf3, 0xb4, 0x18, 0x75, 0x0b,
+ 0xe8, 0xe0, 0x4c, 0xc6, 0x06, 0xdc, 0x1c, 0x02,
+ 0xe9, 0xb6, 0xf4, 0xa1, 0xaf, 0x64, 0x8b, 0x1e,
+ 0xb1, 0x64, 0x8b, 0xf8, 0x8b, 0xf3, 0x8a, 0x0e,
+ 0x07, 0x66, 0x8a, 0x2e, 0xc3, 0x64, 0xe8, 0x0a,
+ 0x9f, 0xe9, 0x9d, 0xf4, 0xc7, 0x06, 0x96, 0x60,
+ 0x00, 0x00, 0xe8, 0x45, 0x01, 0xbb, 0x32, 0x64,
+ 0xe8, 0x08, 0xfc, 0x72, 0x0a, 0xc7, 0x06, 0x96,
+ 0x60, 0x00, 0x00, 0xe8, 0x9e, 0x02, 0xc3, 0x56,
+ 0xe8, 0xe2, 0x98, 0x5e, 0xe8, 0x38, 0x00, 0x73,
+ 0x29, 0xba, 0x95, 0x00, 0x8b, 0xda, 0xa1, 0x96,
+ 0x60, 0x48, 0x04, 0x30, 0x88, 0x47, 0x07, 0xb8,
+ 0x78, 0x64, 0xb9, 0xf2, 0xdb, 0x2b, 0xc8, 0xa3,
+ 0xaa, 0x00, 0x8c, 0x1e, 0xac, 0x00, 0xe8, 0x6d,
+ 0xa3, 0xc6, 0x06, 0x98, 0x60, 0x01, 0xe8, 0xd6,
+ 0x98, 0xc3, 0xc7, 0x06, 0x96, 0x60, 0x00, 0x00,
+ 0xe8, 0x61, 0x02, 0xe8, 0xc9, 0x98, 0xc3, 0x81,
+ 0xc6, 0x85, 0x02, 0x8b, 0x0e, 0x96, 0x60, 0x49,
+ 0x56, 0xc7, 0x06, 0xa6, 0x00, 0x18, 0x00, 0xe8,
+ 0x30, 0x01, 0x5e, 0xbb, 0x78, 0x64, 0x80, 0x3f,
+ 0x28, 0x74, 0x0b, 0x33, 0xc9, 0x41, 0x43, 0x80,
+ 0x3f, 0x00, 0x75, 0xf9, 0xeb, 0x08, 0xbb, 0x78,
+ 0x64, 0xc6, 0x07, 0x00, 0x33, 0xc9, 0xe8, 0x48,
+ 0x00, 0x33, 0xc0, 0x2e, 0xa0, 0xd7, 0x00, 0x3a,
+ 0xc4, 0x8a, 0xe0, 0x74, 0xf6, 0x3c, 0x80, 0x73,
+ 0xf2, 0x3c, 0x1c, 0x74, 0x1c, 0x3c, 0x01, 0x74,
+ 0x14, 0x3c, 0x0e, 0x74, 0x1a, 0x83, 0xf9, 0x16,
+ 0x73, 0xe1, 0xe8, 0x61, 0x00, 0x73, 0xdc, 0x41,
+ 0xe8, 0x1e, 0x00, 0xeb, 0xd6, 0x33, 0xc9, 0xf8,
+ 0xc3, 0x0b, 0xc9, 0x74, 0xce, 0xf9, 0xc3, 0x0b,
+ 0xc9, 0x74, 0xc8, 0x49, 0xbb, 0x78, 0x64, 0x03,
+ 0xd9, 0xc6, 0x07, 0x00, 0xe8, 0x02, 0x00, 0xeb,
+ 0xba, 0x50, 0x51, 0x06, 0xb8, 0x00, 0xa0, 0x8e,
+ 0xc0, 0x56, 0xe8, 0x13, 0x00, 0x5e, 0x56, 0xbb,
+ 0x78, 0x64, 0xe8, 0x90, 0x96, 0xbb, 0x90, 0x64,
+ 0xe8, 0x8a, 0x96, 0x5e, 0x07, 0x59, 0x58, 0xc3,
+ 0xbb, 0x78, 0x64, 0xe8, 0xd2, 0x96, 0x03, 0xf0,
+ 0xb9, 0x0b, 0x00, 0x51, 0xb9, 0x14, 0x00, 0x26,
+ 0xc6, 0x04, 0xe8, 0x46, 0xe2, 0xf9, 0x59, 0x81,
+ 0xc6, 0x2c, 0x01, 0xe2, 0xee, 0xc3, 0xbb, 0x3f,
+ 0x60, 0x3a, 0x07, 0x74, 0x0b, 0x83, 0xc3, 0x02,
+ 0x81, 0xfb, 0x93, 0x60, 0x72, 0xf3, 0xf8, 0xc3,
+ 0x50, 0x53, 0x51, 0x06, 0x56, 0xb8, 0x00, 0xa0,
+ 0x8e, 0xc0, 0xe8, 0xc3, 0xff, 0x5e, 0x56, 0xbb,
+ 0x78, 0x64, 0xe8, 0x40, 0x96, 0x5e, 0x07, 0x59,
+ 0x5b, 0x58, 0x8a, 0x5f, 0x01, 0xbf, 0x78, 0x64,
+ 0x03, 0xf9, 0x88, 0x1d, 0xc6, 0x45, 0x01, 0x00,
+ 0xf9, 0xc3, 0x06, 0xa1, 0xb1, 0x32, 0x8e, 0xc0,
+ 0xe8, 0xb7, 0x02, 0xbb, 0x70, 0x64, 0xbe, 0x6e,
+ 0x64, 0xe8, 0xdc, 0x02, 0xe8, 0x0b, 0x00, 0xbb,
+ 0x32, 0x64, 0xe8, 0xb6, 0x02, 0xe8, 0x94, 0x9a,
+ 0x07, 0xc3, 0x33, 0xc9, 0x51, 0xc7, 0x06, 0xa6,
+ 0x00, 0x18, 0x00, 0xe8, 0x24, 0x00, 0x59, 0x51,
+ 0xbe, 0x3b, 0x0f, 0x8b, 0xc1, 0xb9, 0x0f, 0x00,
+ 0xf7, 0xe1, 0xf7, 0x26, 0xb6, 0x00, 0x03, 0xf0,
+ 0x81, 0xc6, 0x85, 0x02, 0xbb, 0x78, 0x64, 0xe8,
+ 0xe3, 0x95, 0x59, 0x41, 0x83, 0xf9, 0x0a, 0x72,
+ 0xd3, 0xc3, 0xba, 0x95, 0x00, 0x8b, 0xda, 0x8a,
+ 0xc1, 0x04, 0x30, 0x88, 0x47, 0x07, 0xb8, 0x00,
+ 0x3d, 0xb1, 0x00, 0xcd, 0x21, 0x72, 0x1c, 0x8b,
+ 0xd8, 0xb4, 0x3e, 0xcd, 0x21, 0x72, 0x2c, 0x8c,
+ 0x1e, 0xac, 0x00, 0xb8, 0x78, 0x64, 0xa3, 0xaa,
+ 0x00, 0xc7, 0x06, 0xa8, 0x00, 0x00, 0x00, 0xe8,
+ 0x9d, 0xa1, 0xc3, 0x3d, 0x02, 0x00, 0x75, 0x13,
+ 0xbb, 0x78, 0x64, 0xc6, 0x07, 0x28, 0xc6, 0x47,
+ 0x01, 0x2d, 0xc6, 0x47, 0x02, 0x29, 0xc6, 0x47,
+ 0x03, 0x00, 0xc3, 0xe9, 0xa2, 0xa4, 0xb8, 0x2f,
+ 0x00, 0xa3, 0xa6, 0x00, 0xe8, 0xab, 0xff, 0xbb,
+ 0x78, 0x64, 0x80, 0x3f, 0x28, 0x75, 0x03, 0x33,
+ 0xc9, 0xc3, 0xba, 0x95, 0x00, 0xe8, 0x48, 0xa0,
+ 0xc3, 0xe8, 0xf9, 0x96, 0xe8, 0x1e, 0x12, 0xe8,
+ 0x15, 0x97, 0x06, 0xa1, 0xb1, 0x32, 0x8e, 0xc0,
+ 0xbe, 0x26, 0x54, 0xb0, 0xe8, 0xb4, 0x00, 0xb9,
+ 0x42, 0x00, 0xba, 0x74, 0x00, 0xe8, 0x77, 0x02,
+ 0xbb, 0x27, 0x62, 0xbe, 0x21, 0x62, 0xe8, 0x0f,
+ 0x02, 0xe8, 0xd0, 0x99, 0x07, 0x2e, 0x8a, 0x26,
+ 0xd7, 0x00, 0xe8, 0x8f, 0x97, 0x72, 0x1c, 0xe8,
+ 0xb9, 0x97, 0x72, 0x17, 0x2e, 0xa0, 0xd7, 0x00,
+ 0x3c, 0x80, 0x73, 0xee, 0x0a, 0xc0, 0x74, 0xea,
+ 0x3a, 0xc4, 0x74, 0xe6, 0x3c, 0x15, 0x75, 0x03,
+ 0xe9, 0x74, 0xf2, 0xc7, 0x06, 0x96, 0x60, 0x00,
+ 0x00, 0xe8, 0xa1, 0x96, 0xe8, 0xfb, 0x11, 0xe8,
+ 0xbd, 0x96, 0xe8, 0x4f, 0x00, 0xc3, 0xe8, 0x94,
+ 0x96, 0xe8, 0xb9, 0x11, 0xe8, 0xb0, 0x96, 0x06,
+ 0xa1, 0xb1, 0x32, 0x8e, 0xc0, 0xbe, 0x6d, 0x51,
+ 0xb0, 0xe8, 0xb4, 0x00, 0xb9, 0x46, 0x00, 0xba,
+ 0xe6, 0x00, 0xe8, 0x12, 0x02, 0xbb, 0x52, 0x62,
+ 0xbe, 0x4a, 0x62, 0xe8, 0xaa, 0x01, 0xe8, 0x6b,
+ 0x99, 0x07, 0x2e, 0x8a, 0x26, 0xd7, 0x00, 0xe8,
+ 0x2a, 0x97, 0x72, 0x05, 0xe8, 0x54, 0x97, 0x73,
+ 0xf6, 0xc7, 0x06, 0x96, 0x60, 0x00, 0x00, 0xe8,
+ 0x53, 0x96, 0xe8, 0xad, 0x11, 0xe8, 0x6f, 0x96,
+ 0xe8, 0x01, 0x00, 0xc3, 0xc6, 0x06, 0xe6, 0x1c,
+ 0xd1, 0x06, 0xa1, 0xb1, 0x32, 0x8e, 0xc0, 0xe8,
+ 0x48, 0x01, 0xbb, 0x29, 0x61, 0xbe, 0x11, 0x61,
+ 0xe8, 0x6d, 0x01, 0xbb, 0x99, 0x60, 0xe8, 0x4a,
+ 0x01, 0xe8, 0x14, 0x00, 0xe8, 0x1e, 0x00, 0xe8,
+ 0x28, 0x00, 0xe8, 0x32, 0x00, 0xe8, 0x3c, 0x00,
+ 0xe8, 0x46, 0x00, 0xe8, 0x16, 0x99, 0x07, 0xc3,
+ 0xb0, 0x06, 0xbb, 0x29, 0x63, 0x8a, 0x0e, 0xa8,
+ 0x64, 0xe8, 0x54, 0x01, 0xc3, 0xb0, 0x06, 0xbb,
+ 0x6b, 0x63, 0x8a, 0x0e, 0xa9, 0x64, 0xe8, 0x47,
+ 0x01, 0xc3, 0xb0, 0x09, 0xbb, 0xad, 0x63, 0x8a,
+ 0x0e, 0xaa, 0x64, 0xe8, 0x3a, 0x01, 0xc3, 0xb0,
+ 0x09, 0xbb, 0xd1, 0x63, 0x8a, 0x0e, 0xab, 0x64,
+ 0xe8, 0x2d, 0x01, 0xc3, 0xb0, 0x09, 0xbb, 0xf5,
+ 0x63, 0x8a, 0x0e, 0xac, 0x64, 0xe8, 0x20, 0x01,
+ 0xc3, 0xb0, 0x08, 0xbb, 0x22, 0x64, 0x8a, 0x0e,
+ 0xad, 0x64, 0xe8, 0x13, 0x01, 0xc3, 0x06, 0xa1,
+ 0xb1, 0x32, 0x8e, 0xc0, 0x51, 0x52, 0x56, 0xe8,
+ 0xc0, 0x00, 0xe8, 0xa3, 0xff, 0xb8, 0x00, 0xa0,
+ 0x8e, 0xc0, 0x5e, 0x5a, 0x59, 0xe8, 0xb2, 0x00,
+ 0xe8, 0x95, 0xff, 0x07, 0xe8, 0xa0, 0x95, 0xc3,
+ 0x06, 0xa1, 0xb1, 0x32, 0x8e, 0xc0, 0x51, 0x52,
+ 0x56, 0xe8, 0x9e, 0x00, 0xe8, 0x8e, 0xff, 0xb8,
+ 0x00, 0xa0, 0x8e, 0xc0, 0x5e, 0x5a, 0x59, 0xe8,
+ 0x90, 0x00, 0xe8, 0x80, 0xff, 0x07, 0xe8, 0x7e,
+ 0x95, 0xc3, 0x06, 0xa1, 0xb1, 0x32, 0x8e, 0xc0,
+ 0x51, 0x52, 0x56, 0xe8, 0x7c, 0x00, 0xe8, 0x79,
+ 0xff, 0xb8, 0x00, 0xa0, 0x8e, 0xc0, 0x5e, 0x5a,
+ 0x59, 0xe8, 0x6e, 0x00, 0xe8, 0x6b, 0xff, 0x07,
+ 0xe8, 0x5c, 0x95, 0xc3, 0x06, 0xa1, 0xb1, 0x32,
+ 0x8e, 0xc0, 0x51, 0x52, 0x56, 0xe8, 0x5a, 0x00,
+ 0xe8, 0x64, 0xff, 0xb8, 0x00, 0xa0, 0x8e, 0xc0,
+ 0x5e, 0x5a, 0x59, 0xe8, 0x4c, 0x00, 0xe8, 0x56,
+ 0xff, 0x07, 0xe8, 0x3a, 0x95, 0xc3, 0x06, 0xa1,
+ 0xb1, 0x32, 0x8e, 0xc0, 0x51, 0x52, 0x56, 0xe8,
+ 0x38, 0x00, 0xe8, 0x4f, 0xff, 0xb8, 0x00, 0xa0,
+ 0x8e, 0xc0, 0x5e, 0x5a, 0x59, 0xe8, 0x2a, 0x00,
+ 0xe8, 0x41, 0xff, 0x07, 0xe8, 0x18, 0x95, 0xc3,
+ 0x06, 0xa1, 0xb1, 0x32, 0x8e, 0xc0, 0x51, 0x52,
+ 0x56, 0xe8, 0x16, 0x00, 0xe8, 0x3a, 0xff, 0xb8,
+ 0x00, 0xa0, 0x8e, 0xc0, 0x5e, 0x5a, 0x59, 0xe8,
+ 0x08, 0x00, 0xe8, 0x2c, 0xff, 0x07, 0xe8, 0xf6,
+ 0x94, 0xc3, 0xb0, 0xe8, 0xb4, 0xe0, 0xe8, 0x8e,
+ 0x00, 0xc3, 0xbe, 0x32, 0x05, 0xb0, 0xe8, 0xb4,
+ 0x00, 0xb9, 0xc0, 0x00, 0xba, 0xdc, 0x00, 0xe8,
+ 0x7d, 0x00, 0xc3, 0x53, 0x8b, 0x07, 0xe8, 0xc0,
+ 0xf8, 0xb9, 0x0e, 0x00, 0x8a, 0x57, 0x02, 0xb6,
+ 0x00, 0xb4, 0xe0, 0xe8, 0x38, 0x00, 0x5b, 0x83,
+ 0xc3, 0x05, 0x80, 0x3f, 0x00, 0x75, 0xe4, 0xc3,
+ 0x56, 0x8b, 0x34, 0xe8, 0x37, 0x93, 0x5e, 0x43,
+ 0x46, 0x46, 0x80, 0x3f, 0x00, 0x75, 0xf1, 0xc3,
+ 0xb4, 0x00, 0xb5, 0x00, 0x2b, 0xd8, 0x41, 0x03,
+ 0xd8, 0xe2, 0xfc, 0x8a, 0x47, 0x01, 0xf7, 0x26,
+ 0xb6, 0x00, 0x8a, 0x0f, 0x03, 0xc1, 0x8b, 0xf0,
+ 0x43, 0x43, 0xe8, 0x10, 0x93, 0xc3, 0x8b, 0xda,
+ 0x26, 0x88, 0x24, 0x46, 0x4a, 0x75, 0xf9, 0x81,
+ 0xc6, 0x40, 0x01, 0x2b, 0xf3, 0x83, 0xe9, 0x02,
+ 0x8b, 0xd3, 0x26, 0x88, 0x24, 0x46, 0x83, 0xea,
+ 0x02, 0x03, 0xf2, 0x26, 0x88, 0x24, 0x46, 0x81,
+ 0xc6, 0x40, 0x01, 0x2b, 0xf3, 0xe2, 0xe9, 0x26,
+ 0x88, 0x24, 0x46, 0x4b, 0x75, 0xf9, 0xc3, 0x8b,
+ 0xda, 0x26, 0x88, 0x24, 0x46, 0x4a, 0x75, 0xf9,
+ 0x81, 0xc6, 0x40, 0x01, 0x2b, 0xf3, 0x83, 0xe9,
+ 0x02, 0x8b, 0xd3, 0x26, 0x88, 0x24, 0x46, 0x83,
+ 0xea, 0x02, 0x26, 0x88, 0x04, 0x46, 0x4a, 0x75,
+ 0xf9, 0x26, 0x88, 0x24, 0x46, 0x81, 0xc6, 0x40,
+ 0x01, 0x2b, 0xf3, 0xe2, 0xe4, 0x26, 0x88, 0x24,
+ 0x46, 0x4b, 0x75, 0xf9, 0xc3, 0x8b, 0x07, 0x0b,
+ 0xc0, 0x74, 0x0d, 0x83, 0x7f, 0x02, 0xff, 0x74,
+ 0x04, 0xc7, 0x07, 0x00, 0x00, 0x8b, 0xd8, 0xc3,
+ 0x83, 0xc3, 0x02, 0xeb, 0xe8, 0xe8, 0xed, 0x00,
+ 0xbb, 0xf2, 0xdb, 0x80, 0x3f, 0x00, 0x74, 0x2f,
+ 0x83, 0xeb, 0x02, 0x83, 0xc3, 0x02, 0x53, 0x80,
+ 0x3f, 0xff, 0x75, 0x05, 0x53, 0xe8, 0x75, 0x0d,
+ 0x5b, 0xe8, 0x71, 0x8e, 0x5b, 0x2e, 0x80, 0x3e,
+ 0xd7, 0x00, 0x01, 0x74, 0x09, 0xe8, 0xad, 0x00,
+ 0x80, 0x7f, 0x03, 0x00, 0x75, 0x03, 0xe9, 0xa0,
+ 0x00, 0x80, 0x7f, 0x02, 0x00, 0x75, 0xd4, 0x53,
+ 0x8a, 0x26, 0x96, 0xda, 0xa0, 0x97, 0xda, 0xe8,
+ 0x04, 0x0d, 0xe8, 0x4f, 0x98, 0xa0, 0x96, 0xda,
+ 0x8b, 0x0e, 0x98, 0xda, 0x8b, 0x16, 0x9a, 0xda,
+ 0xe8, 0xd3, 0x00, 0x5b, 0x43, 0xe8, 0x4d, 0x0d,
+ 0x83, 0xc3, 0x02, 0x53, 0xa0, 0x96, 0xda, 0x8b,
+ 0x0e, 0x9c, 0xda, 0x8b, 0x16, 0x9e, 0xda, 0x80,
+ 0x3f, 0xff, 0x75, 0x03, 0xe8, 0x74, 0x00, 0xe8,
+ 0xb7, 0x01, 0x5b, 0x2e, 0x80, 0x3e, 0xd7, 0x00,
+ 0x01, 0x74, 0x3b, 0xe8, 0x57, 0x00, 0x80, 0x7f,
+ 0x02, 0x00, 0x75, 0xd4, 0x80, 0x7f, 0x03, 0x00,
+ 0x74, 0x2c, 0xe8, 0x18, 0x0d, 0x43, 0x83, 0xc3,
+ 0x02, 0x53, 0x80, 0x3f, 0xff, 0x75, 0x03, 0xe8,
+ 0x49, 0x00, 0xe8, 0x16, 0x8f, 0x5b, 0x2e, 0x80,
+ 0x3e, 0xd7, 0x00, 0x01, 0x74, 0x10, 0xe8, 0x2c,
+ 0x00, 0x80, 0x7f, 0x02, 0x00, 0x75, 0xdf, 0x43,
+ 0x80, 0x7f, 0x02, 0x00, 0x75, 0x9f, 0xa0, 0x96,
+ 0xda, 0x8b, 0x0e, 0xa0, 0xda, 0x8b, 0x16, 0xa2,
+ 0xda, 0xe8, 0x62, 0x00, 0xe8, 0x0f, 0x98, 0xc6,
+ 0x06, 0x33, 0x33, 0x01, 0xc6, 0x06, 0xdd, 0x1c,
+ 0x02, 0xe8, 0x50, 0x98, 0xc3, 0x4b, 0x43, 0x80,
+ 0x3f, 0x00, 0x75, 0xfa, 0x80, 0x7f, 0x01, 0x00,
+ 0x75, 0xf4, 0xc3, 0x60, 0xb8, 0x5a, 0x00, 0xe8,
+ 0xaa, 0x0c, 0x61, 0x43, 0xc3, 0x06, 0xb8, 0x69,
+ 0x1c, 0x8e, 0xc0, 0xbe, 0xf2, 0xdb, 0x33, 0xc9,
+ 0x26, 0x8a, 0x07, 0x8a, 0xe0, 0x26, 0x0a, 0x67,
+ 0x01, 0x26, 0x0a, 0x67, 0x02, 0x26, 0x0a, 0x67,
+ 0x03, 0x74, 0x12, 0x88, 0x04, 0x41, 0x81, 0xf9,
+ 0xcc, 0x07, 0x72, 0x05, 0xb0, 0x39, 0xe9, 0x87,
+ 0xa0, 0x43, 0x46, 0xeb, 0xdb, 0x33, 0xc0, 0x89,
+ 0x04, 0x89, 0x44, 0x02, 0x07, 0xc3, 0xe8, 0x0e,
+ 0x00, 0xc6, 0x06, 0xdc, 0x1c, 0x02, 0xe8, 0x7d,
+ 0x15, 0xc6, 0x06, 0xdc, 0x1c, 0x03, 0xc3, 0xbf,
+ 0xc7, 0x32, 0xb3, 0x1b, 0x48, 0xf6, 0xe3, 0x03,
+ 0xf8, 0x89, 0x0d, 0xc6, 0x06, 0x34, 0x33, 0x00,
+ 0x52, 0x57, 0xe8, 0x9e, 0x96, 0x5f, 0x5a, 0x52,
+ 0x57, 0xe8, 0x69, 0x18, 0x5f, 0x57, 0xa1, 0x7a,
+ 0x32, 0x0b, 0xc0, 0x74, 0x1f, 0x40, 0x3b, 0x05,
+ 0x75, 0x1a, 0xe8, 0x48, 0x96, 0xa0, 0x49, 0x32,
+ 0xb4, 0x04, 0x8a, 0x2e, 0x7c, 0x32, 0x06, 0xff,
+ 0x1e, 0x4a, 0x32, 0x07, 0xb8, 0x3b, 0x0b, 0x8e,
+ 0xd8, 0xe8, 0x6f, 0x96, 0x5f, 0x5a, 0x39, 0x15,
+ 0x76, 0xcd, 0xc6, 0x06, 0x34, 0x33, 0x01, 0xc7,
+ 0x06, 0x7a, 0x32, 0x00, 0x00, 0xc3, 0x60, 0xe8,
+ 0xa5, 0x92, 0x61, 0xbf, 0xc7, 0x32, 0xb3, 0x1b,
+ 0x48, 0xf6, 0xe3, 0x03, 0xf8, 0x89, 0x0d, 0xc6,
+ 0x06, 0x34, 0x33, 0x00, 0x52, 0x57, 0xe8, 0x42,
+ 0x96, 0x5f, 0x5a, 0x52, 0x57, 0xe8, 0x08, 0xf5,
+ 0xe8, 0xa4, 0x0c, 0xe8, 0x07, 0x18, 0xe8, 0x25,
+ 0x15, 0x5f, 0x57, 0xa1, 0x7a, 0x32, 0x0b, 0xc0,
+ 0x74, 0x1f, 0x40, 0x3b, 0x05, 0x75, 0x1a, 0xe8,
+ 0xe3, 0x95, 0xa0, 0x49, 0x32, 0xb4, 0x04, 0x8a,
+ 0x2e, 0x7c, 0x32, 0x06, 0xff, 0x1e, 0x4a, 0x32,
+ 0x07, 0xb8, 0x3b, 0x0b, 0x8e, 0xd8, 0xe8, 0x0a,
+ 0x96, 0x5f, 0x5a, 0x33, 0xc0, 0x80, 0x3e, 0xe1,
+ 0xc3, 0x00, 0x75, 0x1f, 0x8b, 0x05, 0xe8, 0x1a,
+ 0x93, 0xc6, 0x06, 0xcf, 0x00, 0x04, 0x72, 0x13,
+ 0xe8, 0xe1, 0x92, 0xc6, 0x06, 0xcf, 0x00, 0x02,
+ 0x72, 0x09, 0x33, 0xc0, 0xa2, 0xcf, 0x00, 0x39,
+ 0x15, 0x76, 0xa0, 0x50, 0xc6, 0x06, 0x34, 0x33,
+ 0x01, 0xc7, 0x06, 0x7a, 0x32, 0x00, 0x00, 0xc6,
+ 0x06, 0xdc, 0x1c, 0x02, 0xe8, 0x8f, 0x14, 0xc6,
+ 0x06, 0xdc, 0x1c, 0x03, 0xe8, 0xee, 0x91, 0x58,
+ 0xc3, 0x53, 0xbf, 0xc7, 0x32, 0xb3, 0x1b, 0x48,
+ 0xf6, 0xe3, 0x03, 0xf8, 0x89, 0x0d, 0x5b, 0x51,
+ 0x52, 0x57, 0xe8, 0xc6, 0x8d, 0x5f, 0x5a, 0x59,
+ 0x51, 0x52, 0x57, 0xe8, 0x77, 0x17, 0x2e, 0x80,
+ 0x3e, 0xd7, 0x00, 0x01, 0x74, 0x24, 0x80, 0x3e,
+ 0x96, 0x32, 0x00, 0x74, 0x08, 0xbb, 0x92, 0x32,
+ 0xe8, 0xd3, 0x94, 0x72, 0x15, 0xe8, 0xab, 0x92,
+ 0x72, 0x10, 0xe8, 0x77, 0x92, 0x72, 0x0b, 0x5f,
+ 0x5a, 0x59, 0x39, 0x15, 0x76, 0xd2, 0x89, 0x0d,
+ 0xeb, 0xce, 0x5f, 0x5a, 0x59, 0xa1, 0xa4, 0xda,
+ 0x89, 0x05, 0xc6, 0x06, 0x33, 0x33, 0x01, 0xc6,
+ 0x06, 0xdd, 0x1c, 0x02, 0xc6, 0x06, 0xdb, 0x1c,
+ 0x01, 0xc6, 0x06, 0xdc, 0x1c, 0x02, 0xe8, 0x1d,
+ 0x14, 0xc6, 0x06, 0x33, 0x33, 0x00, 0xc6, 0x06,
+ 0xdc, 0x1c, 0x03, 0xc6, 0x06, 0xdd, 0x1c, 0x03,
+ 0xc6, 0x06, 0xdb, 0x1c, 0x00, 0xc3, 0x50, 0x57,
+ 0x56, 0xe8, 0x41, 0xfe, 0x5e, 0x5f, 0x58, 0x50,
+ 0x33, 0xd2, 0x8a, 0xd0, 0x4a, 0xd1, 0xe2, 0xbb,
+ 0x47, 0x33, 0x03, 0xda, 0x89, 0x37, 0x2b, 0xda,
+ 0x8a, 0xd4, 0x4a, 0xd1, 0xe2, 0x03, 0xda, 0x89,
+ 0x3f, 0xe8, 0xc8, 0x95, 0xc6, 0x06, 0x33, 0x33,
+ 0x01, 0xc6, 0x06, 0xdd, 0x1c, 0x02, 0xe8, 0xd5,
+ 0x13, 0xc6, 0x06, 0x33, 0x33, 0x00, 0xc6, 0x06,
+ 0xdd, 0x1c, 0x03, 0x58, 0x50, 0x98, 0xbf, 0xc7,
+ 0x32, 0xb3, 0x1b, 0x48, 0xf6, 0xe3, 0x03, 0xf8,
+ 0x89, 0x3e, 0x41, 0x33, 0xc7, 0x05, 0x01, 0x00,
+ 0x58, 0x8a, 0xc4, 0x98, 0xbf, 0xc7, 0x32, 0xb3,
+ 0x1b, 0x48, 0xf6, 0xe3, 0x03, 0xf8, 0x89, 0x3e,
+ 0x43, 0x33, 0xc7, 0x05, 0x01, 0x00, 0xbb, 0xf2,
+ 0xdb, 0x83, 0xeb, 0x02, 0x83, 0xc3, 0x02, 0x53,
+ 0xa0, 0x45, 0x33, 0xa2, 0xe7, 0x1c, 0xe8, 0x6e,
+ 0x06, 0x80, 0x3f, 0xff, 0x75, 0x03, 0xe8, 0xc5,
+ 0x00, 0x8b, 0x3e, 0x41, 0x33, 0xe8, 0xd3, 0x8c,
+ 0x5b, 0x53, 0xe8, 0x88, 0x16, 0x8b, 0x3e, 0x43,
+ 0x33, 0xc7, 0x05, 0x01, 0x00, 0x2e, 0x80, 0x3e,
+ 0xd7, 0x00, 0x01, 0x74, 0x19, 0x80, 0x3e, 0x96,
+ 0x32, 0x00, 0x74, 0x08, 0xbb, 0x92, 0x32, 0xe8,
+ 0xdc, 0x93, 0x72, 0x0a, 0xe8, 0xb4, 0x91, 0x72,
+ 0x05, 0xe8, 0x80, 0x91, 0x73, 0xd4, 0x5b, 0x2e,
+ 0x80, 0x3e, 0xd7, 0x00, 0x01, 0x74, 0x76, 0xe8,
+ 0x6b, 0xfd, 0x80, 0x7f, 0x02, 0x00, 0x75, 0xa4,
+ 0x80, 0x7f, 0x03, 0x00, 0x74, 0x67, 0x43, 0x83,
+ 0xc3, 0x02, 0x53, 0xa0, 0x46, 0x33, 0xa2, 0xe7,
+ 0x1c, 0xe8, 0x0b, 0x06, 0x80, 0x3f, 0xff, 0x75,
+ 0x03, 0xe8, 0x62, 0x00, 0x8b, 0x3e, 0x43, 0x33,
+ 0xe8, 0x70, 0x8c, 0x5b, 0x53, 0xe8, 0x25, 0x16,
+ 0x8b, 0x3e, 0x41, 0x33, 0xc7, 0x05, 0x01, 0x00,
+ 0x2e, 0x80, 0x3e, 0xd7, 0x00, 0x01, 0x74, 0x19,
+ 0x80, 0x3e, 0x96, 0x32, 0x00, 0x74, 0x08, 0xbb,
+ 0x92, 0x32, 0xe8, 0x79, 0x93, 0x72, 0x0a, 0xe8,
+ 0x51, 0x91, 0x72, 0x05, 0xe8, 0x1d, 0x91, 0x73,
+ 0xd4, 0x5b, 0x2e, 0x80, 0x3e, 0xd7, 0x00, 0x01,
+ 0x74, 0x13, 0xe8, 0x08, 0xfd, 0x80, 0x7f, 0x02,
+ 0x00, 0x75, 0xa4, 0x43, 0x80, 0x7f, 0x02, 0x00,
+ 0x74, 0x03, 0xe9, 0x37, 0xff, 0xe8, 0xaf, 0x05,
+ 0xe8, 0xf3, 0x94, 0xc6, 0x06, 0x33, 0x33, 0x01,
+ 0xc6, 0x06, 0xdd, 0x1c, 0x02, 0xc3, 0x60, 0x8b,
+ 0x3e, 0x41, 0x33, 0xc7, 0x05, 0x01, 0x00, 0x8b,
+ 0x3e, 0x43, 0x33, 0xc7, 0x05, 0x01, 0x00, 0xc6,
+ 0x06, 0x33, 0x33, 0x01, 0xc6, 0x06, 0xdd, 0x1c,
+ 0x02, 0xe8, 0xa2, 0x12, 0xc6, 0x06, 0x33, 0x33,
+ 0x00, 0xc6, 0x06, 0xdd, 0x1c, 0x03, 0xb8, 0x5a,
+ 0x00, 0xe8, 0x78, 0x09, 0x8b, 0x3e, 0x41, 0x33,
+ 0xc7, 0x05, 0x01, 0x00, 0x8b, 0x3e, 0x43, 0x33,
+ 0xc7, 0x05, 0x01, 0x00, 0x61, 0x43, 0xc3, 0x98,
+ 0x50, 0x56, 0xe8, 0xb8, 0xfc, 0x5e, 0x58, 0x50,
+ 0x48, 0xd1, 0xe0, 0xbb, 0x47, 0x33, 0x03, 0xd8,
+ 0x89, 0x37, 0xe8, 0x4f, 0x94, 0xc6, 0x06, 0x33,
+ 0x33, 0x01, 0xc6, 0x06, 0xdd, 0x1c, 0x02, 0xe8,
+ 0x5c, 0x12, 0xc6, 0x06, 0x33, 0x33, 0x00, 0xc6,
+ 0x06, 0xdd, 0x1c, 0x03, 0x58, 0xbf, 0xc7, 0x32,
+ 0xb3, 0x1b, 0x48, 0xf6, 0xe3, 0x03, 0xf8, 0x89,
+ 0x3e, 0x41, 0x33, 0xc7, 0x05, 0x01, 0x00, 0xbb,
+ 0xf0, 0xdb, 0x83, 0xc3, 0x02, 0x53, 0xa0, 0x45,
+ 0x33, 0xa2, 0xe7, 0x1c, 0xe8, 0x10, 0x05, 0x80,
+ 0x3f, 0xff, 0x75, 0x03, 0xe8, 0x53, 0x00, 0x8b,
+ 0x3e, 0x41, 0x33, 0xe8, 0x75, 0x8b, 0x5b, 0x53,
+ 0xe8, 0x2a, 0x15, 0x2e, 0x80, 0x3e, 0xd7, 0x00,
+ 0x01, 0x74, 0x19, 0x80, 0x3e, 0x96, 0x32, 0x00,
+ 0x74, 0x08, 0xbb, 0x92, 0x32, 0xe8, 0x86, 0x92,
+ 0x72, 0x0a, 0xe8, 0x5e, 0x90, 0x72, 0x05, 0xe8,
+ 0x2a, 0x90, 0x73, 0xdc, 0x5b, 0x2e, 0x80, 0x3e,
+ 0xd7, 0x00, 0x01, 0x74, 0x09, 0xe8, 0x15, 0xfc,
+ 0x80, 0x7f, 0x02, 0x00, 0x75, 0xac, 0xe8, 0x26,
+ 0x00, 0xe8, 0xc3, 0x04, 0xe8, 0x07, 0x94, 0xc6,
+ 0x06, 0x33, 0x33, 0x01, 0xc6, 0x06, 0xdd, 0x1c,
+ 0x02, 0xc3, 0x60, 0xe8, 0x11, 0x00, 0xb8, 0x5a,
+ 0x00, 0xe8, 0xb0, 0x08, 0x8b, 0x3e, 0x41, 0x33,
+ 0xc7, 0x05, 0x01, 0x00, 0x61, 0x43, 0xc3, 0x8b,
+ 0x3e, 0x41, 0x33, 0xc7, 0x05, 0x01, 0x00, 0xc6,
+ 0x06, 0x33, 0x33, 0x01, 0xc6, 0x06, 0xdd, 0x1c,
+ 0x02, 0xe8, 0xaa, 0x11, 0xc6, 0x06, 0x33, 0x33,
+ 0x00, 0xc6, 0x06, 0xdd, 0x1c, 0x03, 0xc3, 0xb0,
+ 0xe7, 0xb4, 0x00, 0xbf, 0x01, 0x00, 0xb3, 0x01,
+ 0xb7, 0x01, 0xb1, 0x01, 0xb5, 0x15, 0xb2, 0x01,
+ 0xb6, 0x01, 0xe8, 0x9b, 0x02, 0xbb, 0x47, 0x33,
+ 0xc7, 0x07, 0x98, 0x03, 0xc6, 0x06, 0x96, 0xda,
+ 0x01, 0xc3, 0xe8, 0xda, 0xff, 0xbb, 0x47, 0x33,
+ 0xc7, 0x07, 0x9a, 0x03, 0xc3, 0xe8, 0xcf, 0xff,
+ 0xbb, 0x47, 0x33, 0xc7, 0x07, 0x99, 0x03, 0xc3,
+ 0xb0, 0xef, 0xb4, 0x00, 0xbf, 0x01, 0x00, 0xb3,
+ 0x01, 0xb7, 0x01, 0xb1, 0x01, 0xb5, 0x14, 0xb2,
+ 0x01, 0xb6, 0x01, 0xe8, 0x62, 0x02, 0xbb, 0x47,
+ 0x33, 0xc7, 0x07, 0x59, 0x03, 0xc6, 0x06, 0x96,
+ 0xda, 0x01, 0xc3, 0xb0, 0xec, 0xb4, 0x01, 0xbf,
+ 0x01, 0x00, 0xb3, 0x01, 0xb7, 0x01, 0xb1, 0x01,
+ 0xb5, 0x14, 0xb2, 0x01, 0xb6, 0x01, 0xe8, 0x3f,
+ 0x02, 0xbb, 0x47, 0x33, 0xc7, 0x07, 0x2d, 0x03,
+ 0xc6, 0x06, 0x96, 0xda, 0x01, 0xc3, 0xb0, 0xec,
+ 0xb4, 0x00, 0xbf, 0x01, 0x00, 0xb3, 0x01, 0xb7,
+ 0x01, 0xb1, 0x01, 0xb5, 0x14, 0xb2, 0x01, 0xb6,
+ 0x01, 0xe8, 0x1c, 0x02, 0xbb, 0x47, 0x33, 0xc7,
+ 0x07, 0x2e, 0x03, 0xc6, 0x06, 0x96, 0xda, 0x01,
+ 0xc3, 0xe8, 0xda, 0xff, 0xbb, 0x47, 0x33, 0xc7,
+ 0x07, 0x40, 0x03, 0xc3, 0xe8, 0xcf, 0xff, 0xbb,
+ 0x47, 0x33, 0xc7, 0x07, 0x58, 0x03, 0xc3, 0xe8,
+ 0xc4, 0xff, 0xbb, 0x47, 0x33, 0xc7, 0x07, 0xaa,
+ 0x03, 0xc3, 0xb0, 0xd0, 0xb4, 0x02, 0xbf, 0x01,
+ 0x00, 0xb3, 0x01, 0xb7, 0x01, 0xb1, 0x01, 0xb5,
+ 0x22, 0xb2, 0x01, 0xb6, 0x01, 0xe8, 0xd8, 0x01,
+ 0xbb, 0x47, 0x33, 0xc7, 0x07, 0x29, 0x03, 0xc6,
+ 0x06, 0x96, 0xda, 0x01, 0xc3, 0xb0, 0xe5, 0xb4,
+ 0x01, 0xb3, 0x01, 0xb7, 0x01, 0xb1, 0x02, 0xb5,
+ 0x13, 0xb2, 0x14, 0xb6, 0x14, 0xbf, 0x01, 0x00,
+ 0xe8, 0xb5, 0x01, 0xbb, 0x47, 0x33, 0xc7, 0x07,
+ 0x0b, 0x02, 0xc6, 0x06, 0x96, 0xda, 0x01, 0xc3,
+ 0xb0, 0xd8, 0xb4, 0x01, 0xb3, 0x01, 0xb7, 0x01,
+ 0xb1, 0x01, 0xb5, 0x18, 0xb2, 0x18, 0xb6, 0x18,
+ 0xbf, 0x01, 0x00, 0xe8, 0x92, 0x01, 0xbb, 0x47,
+ 0x33, 0xc7, 0x07, 0x0a, 0x02, 0xc6, 0x06, 0x96,
+ 0xda, 0x01, 0xc3, 0xb0, 0xe5, 0xb4, 0x07, 0xb3,
+ 0x01, 0xb7, 0x02, 0xb1, 0x03, 0xb5, 0x20, 0xb2,
+ 0x21, 0xb6, 0x22, 0xbf, 0x03, 0x00, 0xe8, 0x6f,
+ 0x01, 0xbb, 0x47, 0x33, 0xc7, 0x07, 0xf6, 0x01,
+ 0xc6, 0x06, 0x96, 0xda, 0x01, 0xc3, 0xb0, 0xd9,
+ 0xb4, 0x01, 0xb3, 0x01, 0xb7, 0x01, 0xb1, 0x01,
+ 0xb5, 0x14, 0xb2, 0x15, 0xb6, 0x15, 0xbf, 0x01,
+ 0x00, 0xe8, 0x4c, 0x01, 0xbb, 0x47, 0x33, 0xc7,
+ 0x07, 0x11, 0x02, 0xc6, 0x06, 0x96, 0xda, 0x01,
+ 0xc3, 0xb0, 0xd9, 0xb4, 0x00, 0xb3, 0x01, 0xb7,
+ 0x01, 0xb1, 0x01, 0xb5, 0x09, 0xb2, 0x09, 0xb6,
+ 0x09, 0xbf, 0x01, 0x00, 0xe8, 0x29, 0x01, 0xbb,
+ 0x47, 0x33, 0xc7, 0x07, 0x22, 0x02, 0xc6, 0x06,
+ 0x96, 0xda, 0x01, 0xc3, 0xb0, 0xe5, 0xb4, 0x01,
+ 0xbf, 0x01, 0x00, 0xb3, 0x01, 0xb7, 0x01, 0xb1,
+ 0x01, 0xb5, 0x14, 0xb2, 0x15, 0xb6, 0x15, 0xe8,
+ 0x06, 0x01, 0xbb, 0x47, 0x33, 0xc7, 0x47, 0x02,
+ 0x0c, 0x02, 0xc6, 0x06, 0x96, 0xda, 0x02, 0xc3,
+ 0xb0, 0xe5, 0xb4, 0x04, 0xbf, 0x01, 0x00, 0xb3,
+ 0x01, 0xb7, 0x01, 0xb1, 0x01, 0xb5, 0x1f, 0xb2,
+ 0x01, 0xb6, 0x01, 0xe8, 0xe2, 0x00, 0xbb, 0x47,
+ 0x33, 0xc7, 0x47, 0x02, 0xa0, 0x02, 0xc6, 0x06,
+ 0x96, 0xda, 0x02, 0xc3, 0xb0, 0xd0, 0xb4, 0x01,
+ 0xbf, 0x03, 0x00, 0xb3, 0x03, 0xb7, 0x03, 0xb1,
+ 0x01, 0xb5, 0x0d, 0xb2, 0x03, 0xb6, 0x03, 0xe8,
+ 0xbe, 0x00, 0xbb, 0x47, 0x33, 0xc7, 0x47, 0x02,
+ 0x9a, 0x02, 0xc6, 0x06, 0x96, 0xda, 0x02, 0xc3,
+ 0xb0, 0xd0, 0xb4, 0x06, 0xbf, 0x01, 0x00, 0xb3,
+ 0x01, 0xb7, 0x01, 0xb1, 0x01, 0xb5, 0x12, 0xb2,
+ 0x01, 0xb6, 0x01, 0xe8, 0x9a, 0x00, 0xbb, 0x47,
+ 0x33, 0xc7, 0x07, 0x1d, 0x03, 0xc6, 0x06, 0x96,
+ 0xda, 0x01, 0xc3, 0xb0, 0xd0, 0xb4, 0x01, 0xbf,
+ 0x01, 0x00, 0xb3, 0x01, 0xb7, 0x01, 0xb1, 0x01,
+ 0xb5, 0x14, 0xb2, 0x01, 0xb6, 0x01, 0xe8, 0x77,
+ 0x00, 0xbb, 0x47, 0x33, 0xc7, 0x07, 0xbe, 0x02,
+ 0xc6, 0x06, 0x96, 0xda, 0x01, 0xc3, 0xb0, 0xef,
+ 0xb4, 0x01, 0xbf, 0x01, 0x00, 0xb3, 0x01, 0xb7,
+ 0x01, 0xb1, 0x01, 0xb5, 0x14, 0xb2, 0x01, 0xb6,
+ 0x01, 0xe8, 0x54, 0x00, 0xbb, 0x47, 0x33, 0xc7,
+ 0x07, 0xc5, 0x02, 0xc6, 0x06, 0x96, 0xda, 0x01,
+ 0xc3, 0xb0, 0xef, 0xb4, 0x01, 0xbf, 0x01, 0x00,
+ 0xb3, 0x01, 0xb7, 0x01, 0xb1, 0x01, 0xb5, 0x03,
+ 0xb2, 0x01, 0xb6, 0x01, 0xe8, 0x31, 0x00, 0xbb,
+ 0x47, 0x33, 0xc7, 0x07, 0xd7, 0x02, 0xc6, 0x06,
+ 0x96, 0xda, 0x01, 0xc3, 0xb0, 0xd0, 0xb4, 0x00,
+ 0xb3, 0x01, 0xb7, 0x01, 0xb1, 0x01, 0xb5, 0x18,
+ 0xb2, 0x01, 0xb6, 0x01, 0xbf, 0x01, 0x00, 0xe8,
+ 0x0e, 0x00, 0xbb, 0x47, 0x33, 0xc7, 0x47, 0x06,
+ 0x17, 0x03, 0xc6, 0x06, 0x96, 0xda, 0x04, 0xc3,
+ 0xa2, 0xe7, 0x1c, 0x88, 0x26, 0x97, 0xda, 0x89,
+ 0x3e, 0xa4, 0xda, 0x88, 0x1e, 0x98, 0xda, 0x88,
+ 0x3e, 0x9a, 0xda, 0x88, 0x0e, 0x9c, 0xda, 0x88,
+ 0x2e, 0x9e, 0xda, 0x88, 0x16, 0xa0, 0xda, 0x88,
+ 0x36, 0xa2, 0xda, 0xc3, 0x26, 0x8b, 0x0f, 0x26,
+ 0x8b, 0x57, 0x02, 0x26, 0x8b, 0x77, 0x04, 0x8b,
+ 0xf9, 0x83, 0xc3, 0x06, 0x1e, 0x8e, 0xd8, 0x8b,
+ 0xcf, 0x26, 0x8a, 0x07, 0x3c, 0xff, 0x74, 0x02,
+ 0x88, 0x04, 0x43, 0x46, 0xe2, 0xf3, 0x81, 0xc6,
+ 0x40, 0x01, 0x2b, 0xf7, 0x4a, 0x75, 0xe8, 0x1f,
+ 0xc3, 0x50, 0x32, 0xe4, 0xe8, 0x66, 0x8a, 0x58,
+ 0xc6, 0x47, 0x12, 0x01, 0xc3, 0x50, 0x32, 0xe4,
+ 0xe8, 0x5a, 0x8a, 0x58, 0xc6, 0x47, 0x12, 0x00,
+ 0xc3, 0xb4, 0x00, 0xe8, 0x4f, 0x8a, 0x83, 0xc3,
+ 0x13, 0xfc, 0xac, 0x3c, 0xff, 0x74, 0x05, 0x88,
+ 0x07, 0x43, 0xeb, 0xf6, 0xc3, 0x50, 0x51, 0x52,
+ 0xb4, 0x00, 0xe8, 0x38, 0x8a, 0x5a, 0x59, 0x58,
+ 0x89, 0x4f, 0x09, 0x89, 0x57, 0x0b, 0x89, 0x4f,
+ 0x0d, 0x89, 0x57, 0x0f, 0x88, 0x67, 0x11, 0xc3,
+ 0xe8, 0x04, 0x00, 0xe8, 0xc8, 0xf8, 0xc3, 0x32,
+ 0xe4, 0x50, 0xe8, 0x2f, 0x90, 0x58, 0x50, 0xbe,
+ 0xc7, 0x32, 0xbb, 0x47, 0x33, 0x48, 0xb1, 0x1b,
+ 0xf6, 0xe1, 0x03, 0xf0, 0x06, 0x8b, 0x44, 0x16,
+ 0x8e, 0xc0, 0xba, 0x02, 0x00, 0xbe, 0x00, 0x00,
+ 0x26, 0x8b, 0x34, 0x2b, 0xf2, 0x8b, 0xc6, 0xb1,
+ 0x03, 0xf6, 0xf1, 0x07, 0x8b, 0xd0, 0xb9, 0x01,
+ 0x00, 0x51, 0x52, 0xe8, 0x75, 0x8f, 0x5a, 0x59,
+ 0x58, 0xc3, 0xe8, 0xc2, 0xff, 0xe8, 0x97, 0xf8,
+ 0xc3, 0xe8, 0xeb, 0x00, 0xe8, 0xb1, 0xff, 0xe8,
+ 0x2c, 0x90, 0xc6, 0x06, 0x33, 0x33, 0x01, 0xc6,
+ 0x06, 0xdd, 0x1c, 0x02, 0xc3, 0xc6, 0x06, 0x27,
+ 0xc4, 0x00, 0xe8, 0xd2, 0x00, 0xe8, 0x9f, 0xff,
+ 0xe8, 0xcb, 0xf8, 0xa3, 0x3f, 0x33, 0x0b, 0xc0,
+ 0x74, 0x4d, 0xa1, 0x52, 0x72, 0xa3, 0x50, 0x72,
+ 0xa1, 0x50, 0x72, 0x3b, 0x06, 0x23, 0xc4, 0x75,
+ 0x3e, 0xa1, 0x1f, 0xc4, 0xe8, 0xbd, 0x0d, 0x3b,
+ 0x06, 0x25, 0xc4, 0x75, 0x32, 0xa0, 0xce, 0x00,
+ 0x0a, 0xc0, 0x74, 0x06, 0x3a, 0x06, 0xcf, 0x00,
+ 0x75, 0x25, 0xc6, 0x06, 0x27, 0xc4, 0x01, 0xa1,
+ 0x3f, 0x33, 0x3b, 0x06, 0x3b, 0x33, 0x72, 0x17,
+ 0x3b, 0x06, 0x3d, 0x33, 0x77, 0x11, 0xe8, 0x0e,
+ 0x00, 0xa3, 0x52, 0x72, 0xa3, 0x50, 0x72, 0xa3,
+ 0x1f, 0xc4, 0xa2, 0xcf, 0x00, 0xf9, 0xc3, 0x33,
+ 0xc0, 0xa3, 0x23, 0xc4, 0xa3, 0x25, 0xc4, 0xa3,
+ 0x3b, 0x33, 0xa3, 0x3d, 0x33, 0xf8, 0xc3, 0xe8,
+ 0x65, 0x00, 0xe8, 0x50, 0x8f, 0xe8, 0x64, 0x8f,
+ 0xe8, 0xd8, 0x8e, 0xe8, 0x38, 0x01, 0xc3, 0xe8,
+ 0x55, 0x00, 0xc6, 0x06, 0xdc, 0x64, 0x00, 0xe8,
+ 0xe8, 0xff, 0xc6, 0x06, 0xdc, 0x64, 0x01, 0xc3,
+ 0xe8, 0xdc, 0xff, 0xe8, 0x16, 0x00, 0xc3, 0xe8,
+ 0xd8, 0xff, 0xe8, 0x0f, 0x00, 0xc3, 0xe8, 0xde,
+ 0xff, 0xe8, 0x08, 0x00, 0xc3, 0xe8, 0xda, 0xff,
+ 0xe8, 0x01, 0x00, 0xc3, 0xe8, 0x64, 0x90, 0xe8,
+ 0x6c, 0x8f, 0xe8, 0x44, 0x23, 0xc6, 0x06, 0x33,
+ 0x33, 0x01, 0xc6, 0x06, 0xdd, 0x1c, 0x02, 0xc6,
+ 0x06, 0xdc, 0x1c, 0x02, 0xe8, 0x2f, 0x0d, 0xc6,
+ 0x06, 0x33, 0x33, 0x00, 0xc6, 0x06, 0xdd, 0x1c,
+ 0x03, 0xc6, 0x06, 0xdc, 0x1c, 0x03, 0xc3, 0xc6,
+ 0x06, 0xda, 0x1c, 0x01, 0xc6, 0x06, 0xdb, 0x1c,
+ 0x01, 0xe8, 0x12, 0x0d, 0xc6, 0x06, 0xda, 0x1c,
+ 0x00, 0xc6, 0x06, 0xdb, 0x1c, 0x00, 0xc3, 0xe8,
+ 0xd3, 0x8e, 0xe8, 0xe7, 0x8e, 0xe8, 0x5b, 0x8e,
+ 0xe8, 0x47, 0x24, 0xc6, 0x06, 0x07, 0x66, 0x01,
+ 0xa1, 0x7a, 0x32, 0x3a, 0x06, 0x07, 0x66, 0x75,
+ 0x03, 0xe8, 0xe9, 0x8d, 0xbb, 0xa4, 0x32, 0xe8,
+ 0x64, 0x8d, 0x73, 0xf8, 0x8b, 0x0e, 0x90, 0x32,
+ 0xe8, 0x48, 0x8d, 0xc6, 0x06, 0x33, 0x33, 0x01,
+ 0xc6, 0x06, 0xdd, 0x1c, 0x02, 0xc6, 0x06, 0xdc,
+ 0x1c, 0x02, 0xe8, 0x1f, 0x13, 0xe8, 0xfc, 0x0f,
+ 0xe8, 0x13, 0x0f, 0xe8, 0x4d, 0x13, 0x72, 0x77,
+ 0xe8, 0x40, 0x10, 0xe8, 0xa9, 0x11, 0xa0, 0x07,
+ 0x66, 0xfe, 0xc8, 0x3a, 0x06, 0x35, 0x33, 0x75,
+ 0x12, 0x8b, 0x1e, 0x37, 0x33, 0x8b, 0x36, 0x39,
+ 0x33, 0xe8, 0xfb, 0x86, 0xc6, 0x06, 0xdb, 0x1c,
+ 0x02, 0xeb, 0x0b, 0x3a, 0x06, 0x36, 0x33, 0x75,
+ 0x05, 0xc6, 0x06, 0xdb, 0x1c, 0x01, 0xe8, 0xf5,
+ 0x0e, 0xa1, 0x7a, 0x32, 0x0b, 0xc0, 0x74, 0x1e,
+ 0x40, 0x3a, 0x06, 0x07, 0x66, 0x75, 0x17, 0xa0,
+ 0x49, 0x32, 0xb4, 0x04, 0x8a, 0x2e, 0x7c, 0x32,
+ 0xff, 0x1e, 0x4a, 0x32, 0xb8, 0x3b, 0x0b, 0x8e,
+ 0xd8, 0x8e, 0xc0, 0xe8, 0xa5, 0x8d, 0xe8, 0xff,
+ 0x8a, 0xe8, 0x45, 0x18, 0xe8, 0xf8, 0x11, 0xe8,
+ 0x10, 0x0f, 0xe8, 0xba, 0x89, 0xc6, 0x06, 0x33,
+ 0x33, 0x00, 0xc6, 0x06, 0xdd, 0x1c, 0x03, 0xc6,
+ 0x06, 0xdc, 0x1c, 0x03, 0xe9, 0x51, 0xff, 0xc7,
+ 0x06, 0x7a, 0x32, 0x00, 0x00, 0xc3, 0xe8, 0x7d,
+ 0x90, 0xe8, 0x86, 0x23, 0xc6, 0x06, 0x07, 0x66,
+ 0x01, 0xa1, 0x7a, 0x32, 0x3a, 0x06, 0x07, 0x66,
+ 0x75, 0x03, 0xe8, 0x28, 0x8d, 0xbb, 0xa4, 0x32,
+ 0xe8, 0xa3, 0x8c, 0x73, 0xf8, 0x8b, 0x0e, 0x90,
+ 0x32, 0xe8, 0x87, 0x8c, 0xc6, 0x06, 0x33, 0x33,
+ 0x01, 0xc6, 0x06, 0xdd, 0x1c, 0x02, 0xc6, 0x06,
+ 0xdc, 0x1c, 0x02, 0xe8, 0x5e, 0x12, 0xe8, 0x3b,
+ 0x0f, 0xe8, 0x8f, 0x12, 0x72, 0x48, 0xe8, 0x82,
+ 0x0f, 0xe8, 0xeb, 0x10, 0xa1, 0x7a, 0x32, 0x0b,
+ 0xc0, 0x74, 0x1e, 0x40, 0x3a, 0x06, 0x07, 0x66,
+ 0x75, 0x17, 0xa0, 0x49, 0x32, 0xb4, 0x04, 0x8a,
+ 0x2e, 0x7c, 0x32, 0xff, 0x1e, 0x4a, 0x32, 0xb8,
+ 0x3b, 0x0b, 0x8e, 0xd8, 0x8e, 0xc0, 0xe8, 0x12,
+ 0x8d, 0xe8, 0x6c, 0x8a, 0xe8, 0xb2, 0x17, 0xe8,
+ 0x65, 0x11, 0xe8, 0x2a, 0x89, 0xc6, 0x06, 0x33,
+ 0x33, 0x00, 0xc6, 0x06, 0xdd, 0x1c, 0x03, 0xc6,
+ 0x06, 0xdc, 0x1c, 0x03, 0xeb, 0x83, 0xc7, 0x06,
+ 0x7a, 0x32, 0x00, 0x00, 0xc3, 0xc6, 0x06, 0x27,
+ 0xc4, 0x00, 0xe8, 0x32, 0x89, 0xe8, 0xf2, 0x22,
+ 0xc6, 0x06, 0x07, 0x66, 0x01, 0xa1, 0x7a, 0x32,
+ 0x3a, 0x06, 0x07, 0x66, 0x75, 0x03, 0xe8, 0x94,
+ 0x8c, 0xc6, 0x06, 0xdd, 0x1c, 0x03, 0xc6, 0x06,
+ 0xdc, 0x1c, 0x03, 0xc6, 0x06, 0xda, 0x1c, 0x01,
+ 0xe8, 0xe0, 0x0b, 0x3d, 0x01, 0x00, 0x76, 0x05,
+ 0xc6, 0x06, 0xda, 0x1c, 0x02, 0xe8, 0xcc, 0x11,
+ 0xe8, 0xa9, 0x0e, 0xe8, 0xff, 0x0c, 0xe8, 0x5e,
+ 0x10, 0xe8, 0x11, 0x0d, 0xe8, 0x01, 0x8a, 0xe8,
+ 0x47, 0x17, 0xe8, 0xfa, 0x10, 0xe8, 0x48, 0x0d,
+ 0xe8, 0xbc, 0x88, 0xa0, 0x07, 0x66, 0x32, 0xe4,
+ 0xe8, 0xb0, 0x89, 0xc6, 0x06, 0xcf, 0x00, 0x04,
+ 0x73, 0x03, 0xe9, 0x8f, 0x00, 0xe8, 0x74, 0x89,
+ 0xc6, 0x06, 0xcf, 0x00, 0x02, 0x73, 0x03, 0xe9,
+ 0x82, 0x00, 0x33, 0xc0, 0xa2, 0xcf, 0x00, 0xbb,
+ 0xa4, 0x32, 0xe8, 0xb1, 0x8b, 0x73, 0x9a, 0x50,
+ 0x8b, 0x0e, 0x90, 0x32, 0xe8, 0x94, 0x8b, 0xc6,
+ 0x06, 0x33, 0x33, 0x01, 0xc6, 0x06, 0xdd, 0x1c,
+ 0x02, 0xc6, 0x06, 0xdc, 0x1c, 0x02, 0xe8, 0x6b,
+ 0x11, 0xe8, 0x48, 0x0e, 0xe8, 0x9e, 0x0c, 0xe8,
+ 0x99, 0x11, 0x58, 0x72, 0x4f, 0xe8, 0x8b, 0x0e,
+ 0xe8, 0xf4, 0x0f, 0xe8, 0xa7, 0x0c, 0xa1, 0x7a,
+ 0x32, 0x0b, 0xc0, 0x74, 0x1e, 0x40, 0x3a, 0x06,
+ 0x07, 0x66, 0x75, 0x17, 0xa0, 0x49, 0x32, 0xb4,
+ 0x04, 0x8a, 0x2e, 0x7c, 0x32, 0xff, 0x1e, 0x4a,
+ 0x32, 0xb8, 0x3b, 0x0b, 0x8e, 0xd8, 0x8e, 0xc0,
+ 0xe8, 0x18, 0x8c, 0xe8, 0x72, 0x89, 0xe8, 0xb8,
+ 0x16, 0xe8, 0x6b, 0x10, 0xe8, 0xb9, 0x0c, 0xe8,
+ 0x2d, 0x88, 0xc6, 0x06, 0x33, 0x33, 0x00, 0xc6,
+ 0x06, 0xdd, 0x1c, 0x03, 0xc6, 0x06, 0xdc, 0x1c,
+ 0x03, 0xe9, 0x19, 0xff, 0x50, 0xc6, 0x06, 0xda,
+ 0x1c, 0x01, 0xe8, 0x40, 0x0c, 0xe8, 0x55, 0x0c,
+ 0xe8, 0x45, 0x89, 0xe8, 0x92, 0x0c, 0xe8, 0x06,
+ 0x88, 0xe8, 0x09, 0x88, 0x58, 0x8b, 0x0e, 0x52,
+ 0x72, 0x8b, 0x16, 0x3d, 0x33, 0x51, 0x52, 0xe8,
+ 0xa9, 0xfc, 0x72, 0x07, 0xe8, 0x5a, 0xfe, 0x5a,
+ 0x59, 0xf8, 0xc3, 0x89, 0x16, 0x3d, 0x33, 0xa1,
+ 0x7a, 0x32, 0x3a, 0x06, 0x07, 0x66, 0x75, 0x03,
+ 0xe8, 0x7a, 0x8b, 0xbb, 0xa4, 0x32, 0xe8, 0xf5,
+ 0x8a, 0x73, 0xf8, 0x8b, 0x0e, 0x90, 0x32, 0xe8,
+ 0xd9, 0x8a, 0xc6, 0x06, 0x33, 0x33, 0x01, 0xc6,
+ 0x06, 0xdd, 0x1c, 0x02, 0xc6, 0x06, 0xdc, 0x1c,
+ 0x02, 0xe8, 0xb0, 0x10, 0xe8, 0x8d, 0x0d, 0xe8,
+ 0xe1, 0x10, 0x72, 0x54, 0xa0, 0x07, 0x66, 0x32,
+ 0xe4, 0x3b, 0x06, 0x3d, 0x33, 0x73, 0x49, 0xe8,
+ 0xc9, 0x0d, 0xe8, 0x32, 0x0f, 0xa1, 0x7a, 0x32,
+ 0x0b, 0xc0, 0x74, 0x1e, 0x40, 0x3a, 0x06, 0x07,
+ 0x66, 0x75, 0x17, 0xa0, 0x49, 0x32, 0xb4, 0x04,
+ 0x8a, 0x2e, 0x7c, 0x32, 0xff, 0x1e, 0x4a, 0x32,
+ 0xb8, 0x3b, 0x0b, 0x8e, 0xd8, 0x8e, 0xc0, 0xe8,
+ 0x59, 0x8b, 0xe8, 0xb3, 0x88, 0xe8, 0xf9, 0x15,
+ 0xe8, 0xac, 0x0f, 0xe8, 0x71, 0x87, 0xc6, 0x06,
+ 0x33, 0x33, 0x00, 0xc6, 0x06, 0xdd, 0x1c, 0x03,
+ 0xc6, 0x06, 0xdc, 0x1c, 0x03, 0xe9, 0x77, 0xff,
+ 0x33, 0xc0, 0xa3, 0x7a, 0x32, 0xa3, 0x3d, 0x33,
+ 0x5a, 0x59, 0xf9, 0xc3, 0xb9, 0xe8, 0x03, 0xbb,
+ 0xac, 0x32, 0xe8, 0x56, 0x8a, 0xc7, 0x06, 0x52,
+ 0x72, 0x00, 0x00, 0xc7, 0x06, 0x50, 0x72, 0x00,
+ 0x00, 0xc7, 0x06, 0x1f, 0xc4, 0x00, 0x00, 0xe8,
+ 0x5d, 0x87, 0xe8, 0x7a, 0x01, 0x73, 0x09, 0xb9,
+ 0xe8, 0x03, 0xbb, 0xac, 0x32, 0xe8, 0x33, 0x8a,
+ 0xe8, 0xd2, 0x0c, 0xe8, 0xf0, 0x09, 0x33, 0xc0,
+ 0xa2, 0xcf, 0x00, 0xbb, 0xac, 0x32, 0xe8, 0x35,
+ 0x8a, 0x72, 0x1c, 0xe8, 0x0d, 0x88, 0xc6, 0x06,
+ 0xcf, 0x00, 0x04, 0x72, 0x0a, 0xe8, 0xd4, 0x87,
+ 0xc6, 0x06, 0xcf, 0x00, 0x02, 0x73, 0xcb, 0xe8,
+ 0x03, 0x87, 0xe8, 0x7a, 0xfc, 0xf9, 0xc3, 0xe8,
+ 0xfb, 0x86, 0xe8, 0x72, 0xfc, 0xf8, 0xc3, 0x0b,
+ 0xc0, 0x75, 0x01, 0xc3, 0x33, 0xdb, 0x8a, 0xd8,
+ 0x43, 0xbf, 0xc7, 0x32, 0xb0, 0x1b, 0xfe, 0xcc,
+ 0xf6, 0xe4, 0x03, 0xf8, 0x53, 0x57, 0x8b, 0x05,
+ 0x3b, 0xc3, 0x74, 0x07, 0xe8, 0x7e, 0x0c, 0x5f,
+ 0x5b, 0xeb, 0xf1, 0x5f, 0x5b, 0xc3, 0x0b, 0xc0,
+ 0x75, 0x01, 0xc3, 0x0a, 0xc0, 0x75, 0x01, 0xc3,
+ 0x33, 0xdb, 0x8a, 0xd8, 0xbf, 0xc7, 0x32, 0xb0,
+ 0x1b, 0xfe, 0xcc, 0xf6, 0xe4, 0x03, 0xf8, 0x53,
+ 0x57, 0x8a, 0x45, 0x1a, 0x3a, 0xc3, 0x74, 0x07,
+ 0xe8, 0x52, 0x0c, 0x5f, 0x5b, 0xeb, 0xf0, 0x5f,
+ 0x5b, 0xc3, 0xbb, 0xa8, 0x32, 0x8b, 0xc8, 0xe8,
+ 0xa1, 0x89, 0xe8, 0x40, 0x0c, 0xbb, 0xa8, 0x32,
+ 0xe8, 0xab, 0x89, 0x73, 0xf5, 0xc3, 0xb8, 0x32,
+ 0x00, 0xe8, 0xe6, 0xff, 0xc3, 0xb8, 0x64, 0x00,
+ 0xe8, 0xdf, 0xff, 0xc3, 0xbb, 0xa8, 0x32, 0x8b,
+ 0xc8, 0xe8, 0x7f, 0x89, 0xbb, 0xa8, 0x32, 0xe8,
+ 0x8c, 0x89, 0x73, 0xf8, 0xc3, 0x53, 0xb8, 0x10,
+ 0x00, 0xe8, 0xe8, 0xff, 0x5b, 0xc3, 0xa0, 0xe1,
+ 0xc3, 0x0a, 0xc0, 0x74, 0x14, 0xbb, 0x6f, 0xbb,
+ 0x83, 0xc3, 0x03, 0x8a, 0x27, 0x3a, 0xc4, 0x75,
+ 0xf7, 0x8b, 0x47, 0x01, 0xa3, 0xdc, 0xbb, 0xeb,
+ 0x1d, 0x80, 0x3e, 0x3d, 0x66, 0x06, 0x74, 0x01,
+ 0xc3, 0x80, 0x3e, 0xdb, 0xbb, 0x01, 0x74, 0x0e,
+ 0xbb, 0x57, 0x34, 0xe8, 0xaf, 0x80, 0xc7, 0x06,
+ 0x1f, 0xc4, 0x00, 0x00, 0xeb, 0x10, 0xe8, 0x2c,
+ 0x86, 0xc7, 0x06, 0x1f, 0xc4, 0x00, 0x00, 0xff,
+ 0x16, 0xdc, 0xbb, 0xe8, 0x41, 0x86, 0xc6, 0x06,
+ 0x3d, 0x66, 0x00, 0x33, 0xc0, 0xa3, 0x50, 0x72,
+ 0xa3, 0x52, 0x72, 0xa2, 0xe1, 0xc3, 0xe8, 0x7f,
+ 0x15, 0xc3, 0xc6, 0x06, 0xdb, 0xbb, 0x00, 0xbb,
+ 0x87, 0xbb, 0xe8, 0xfd, 0x1f, 0x8a, 0x07, 0x0a,
+ 0xc0, 0x74, 0x31, 0x8a, 0xc8, 0xa1, 0x1f, 0xc4,
+ 0xe8, 0x79, 0x08, 0x3a, 0xc1, 0x75, 0x26, 0x8a,
+ 0x67, 0x01, 0x3a, 0x26, 0x50, 0x72, 0x75, 0x1d,
+ 0xc6, 0x06, 0xdb, 0xbb, 0x01, 0x8b, 0x77, 0x03,
+ 0x8b, 0x7f, 0x05, 0x8a, 0x47, 0x02, 0xa2, 0xc3,
+ 0x64, 0x8b, 0x47, 0x07, 0xa3, 0xdc, 0xbb, 0xe8,
+ 0xc8, 0x1b, 0x72, 0x06, 0xc3, 0x83, 0xc3, 0x09,
+ 0xeb, 0xc3, 0xb0, 0x36, 0xe9, 0x49, 0x93, 0x83,
+ 0x3e, 0xc2, 0x00, 0x00, 0x74, 0x05, 0xe8, 0x21,
+ 0x00, 0xf8, 0xc3, 0xbb, 0x98, 0x32, 0x8b, 0x07,
+ 0x0b, 0x47, 0x02, 0x75, 0x06, 0xb9, 0x32, 0x00,
+ 0xe8, 0xa8, 0x88, 0xe8, 0xb8, 0x88, 0x72, 0x02,
+ 0xf8, 0xc3, 0xe8, 0x05, 0x00, 0xe8, 0x66, 0x00,
+ 0xf9, 0xc3, 0xbb, 0x98, 0x32, 0x33, 0xc0, 0x89,
+ 0x07, 0x89, 0x47, 0x02, 0xc3, 0xb8, 0x11, 0x00,
+ 0xba, 0x0c, 0x00, 0x8b, 0x1e, 0xc0, 0x00, 0x8b,
+ 0x0e, 0xc2, 0x00, 0x3b, 0xd8, 0x72, 0x1d, 0x3b,
+ 0xca, 0x72, 0x19, 0x05, 0x1e, 0x01, 0x81, 0xc2,
+ 0x8d, 0x00, 0x3b, 0xd8, 0x77, 0x0e, 0x3b, 0xca,
+ 0x77, 0x0a, 0xc6, 0x06, 0x6e, 0xc4, 0x01, 0xe8,
+ 0xc8, 0xff, 0xf8, 0xc3, 0xbb, 0x6e, 0xc4, 0x80,
+ 0x3f, 0x01, 0x74, 0x05, 0xc6, 0x07, 0x00, 0xf8,
+ 0xc3, 0xbb, 0x98, 0x32, 0x8b, 0x07, 0x0b, 0x47,
+ 0x02, 0xe8, 0xae, 0xff, 0xc6, 0x06, 0x6e, 0xc4,
+ 0x00, 0xf9, 0xc3, 0xb9, 0x19, 0x00, 0xbb, 0x98,
+ 0x32, 0xe8, 0x37, 0x88, 0xf8, 0xc3, 0xc6, 0x06,
+ 0xe1, 0xc3, 0x00, 0xc6, 0x06, 0xda, 0x1c, 0x01,
+ 0xe8, 0x4a, 0x09, 0xe8, 0x2d, 0x09, 0xe8, 0x79,
+ 0x00, 0xbf, 0x75, 0xc4, 0xb0, 0x01, 0xb9, 0x18,
+ 0x00, 0xfc, 0xf3, 0xaa, 0xa1, 0xbf, 0x32, 0xa3,
+ 0xac, 0x00, 0x33, 0xc0, 0xa3, 0xaa, 0x00, 0xb9,
+ 0x04, 0x00, 0xba, 0x54, 0x00, 0xe8, 0x90, 0x8e,
+ 0xe8, 0x9c, 0x00, 0xe8, 0x45, 0x02, 0xe8, 0xf4,
+ 0x84, 0xe8, 0xbc, 0x8a, 0xe8, 0xa4, 0x8a, 0xe8,
+ 0x13, 0x00, 0xe8, 0x1b, 0x86, 0xe8, 0x9a, 0x00,
+ 0xe8, 0x6f, 0x00, 0xe8, 0x01, 0x85, 0xc7, 0x06,
+ 0x52, 0x72, 0x00, 0x00, 0xc3, 0xe8, 0x9f, 0x87,
+ 0x80, 0x3e, 0xb0, 0x32, 0x01, 0x74, 0x05, 0xc6,
+ 0x06, 0xdc, 0x1c, 0x03, 0xc6, 0x06, 0xda, 0x1c,
+ 0x01, 0x83, 0x3e, 0x1f, 0xc4, 0x00, 0x74, 0x05,
+ 0xc6, 0x06, 0xda, 0x1c, 0x02, 0xe8, 0x4e, 0x07,
+ 0xc6, 0x06, 0xda, 0x1c, 0x00, 0x83, 0x3e, 0x1f,
+ 0xc4, 0x00, 0x74, 0x05, 0xc6, 0x06, 0xda, 0x1c,
+ 0x03, 0xc3, 0xc6, 0x06, 0x3d, 0x66, 0x00, 0xc7,
+ 0x06, 0x1f, 0xc4, 0x00, 0x00, 0xc6, 0x06, 0xc3,
+ 0x64, 0x00, 0xe8, 0x75, 0x1e, 0x80, 0x3e, 0xb0,
+ 0x32, 0x01, 0x74, 0x15, 0xe8, 0x22, 0x1d, 0xc6,
+ 0x06, 0xdc, 0x1c, 0x02, 0xc6, 0x06, 0xda, 0x1c,
+ 0x01, 0xe8, 0x12, 0x07, 0xc6, 0x06, 0xdc, 0x1c,
+ 0x03, 0xc3, 0x06, 0x1e, 0xb8, 0x00, 0xa0, 0x8e,
+ 0xc0, 0xa1, 0xb1, 0x32, 0x8e, 0xd8, 0xfc, 0xf3,
+ 0xa5, 0x1f, 0xe8, 0x5a, 0x84, 0x07, 0xc3, 0xe8,
+ 0x13, 0x01, 0xe8, 0x4c, 0x00, 0xe8, 0x2f, 0x01,
+ 0xe8, 0x07, 0x00, 0xe8, 0x82, 0x85, 0xe8, 0xd9,
+ 0xff, 0xc3, 0xb8, 0x0c, 0x00, 0xbb, 0x40, 0x01,
+ 0xf7, 0xe3, 0x8b, 0xf0, 0x8b, 0xf8, 0xb8, 0x0c,
+ 0x00, 0x05, 0x8d, 0x00, 0xf7, 0xe3, 0x2b, 0xc6,
+ 0x8b, 0xc8, 0xd1, 0xe9, 0xc3, 0xe8, 0x60, 0x85,
+ 0xe8, 0x2a, 0x84, 0xe8, 0xdc, 0xff, 0xe8, 0xb1,
+ 0xff, 0xe8, 0x43, 0x84, 0xc7, 0x06, 0x52, 0x72,
+ 0x00, 0x00, 0xbf, 0x75, 0xc4, 0xb0, 0x01, 0xb9,
+ 0x18, 0x00, 0xfc, 0xf3, 0xaa, 0xe8, 0xaf, 0xff,
+ 0xc3, 0x06, 0xa1, 0xb1, 0x32, 0x8e, 0xc0, 0x33,
+ 0xc9, 0x3b, 0x0e, 0x73, 0xc4, 0x73, 0x20, 0x41,
+ 0x51, 0xe8, 0x1d, 0x00, 0x89, 0x36, 0x71, 0xc4,
+ 0xb9, 0x1a, 0x00, 0xba, 0x28, 0x00, 0xe8, 0x4f,
+ 0x00, 0xb4, 0xea, 0xe8, 0x37, 0x02, 0xc7, 0x06,
+ 0x71, 0xc4, 0x00, 0x00, 0x59, 0xeb, 0xda, 0x07,
+ 0xc3, 0x33, 0xd2, 0x49, 0xfe, 0xce, 0xfe, 0xc6,
+ 0x83, 0xe9, 0x06, 0x73, 0xf9, 0x83, 0xc1, 0x06,
+ 0xbe, 0x11, 0x0f, 0x81, 0xc6, 0x45, 0x06, 0x81,
+ 0xc6, 0x45, 0x06, 0x33, 0xc0, 0x0a, 0xf6, 0x74,
+ 0x0a, 0x05, 0x1a, 0x00, 0x05, 0x05, 0x00, 0xfe,
+ 0xce, 0xeb, 0xf2, 0xf7, 0x26, 0xb6, 0x00, 0x03,
+ 0xf0, 0x0a, 0xc9, 0x74, 0x0a, 0x83, 0xc6, 0x28,
+ 0x83, 0xc6, 0x05, 0xfe, 0xc9, 0xeb, 0xf2, 0xc3,
+ 0x1e, 0x52, 0xbb, 0x40, 0x01, 0xa1, 0xb5, 0x32,
+ 0x8e, 0xd8, 0x8b, 0xc6, 0x2d, 0x11, 0x0f, 0x33,
+ 0xd2, 0xf7, 0xf3, 0x8b, 0xfa, 0x83, 0xc7, 0x06,
+ 0xbb, 0x1e, 0x01, 0xf7, 0xe3, 0x03, 0xf8, 0x5a,
+ 0x81, 0xc6, 0x41, 0x01, 0x81, 0xc7, 0x1f, 0x01,
+ 0x49, 0x49, 0x4a, 0x4a, 0x8b, 0xd9, 0x8b, 0xca,
+ 0x8a, 0x05, 0x3c, 0xe8, 0x75, 0x06, 0x26, 0xc6,
+ 0x04, 0xd6, 0xeb, 0x04, 0x26, 0xc6, 0x04, 0xe0,
+ 0x46, 0x47, 0xe2, 0xec, 0x81, 0xc6, 0x40, 0x01,
+ 0x2b, 0xf2, 0x81, 0xc7, 0x1e, 0x01, 0x2b, 0xfa,
+ 0x4b, 0x75, 0xdb, 0x1f, 0xc3, 0x06, 0xa1, 0xb5,
+ 0x32, 0x8e, 0xc0, 0xa3, 0xac, 0x00, 0xc7, 0x06,
+ 0xaa, 0x00, 0x00, 0x00, 0xb9, 0x03, 0x00, 0xba,
+ 0x54, 0x00, 0xe8, 0xc3, 0x8c, 0xa1, 0xb1, 0x32,
+ 0x33, 0xdb, 0xe8, 0xf7, 0xf6, 0x07, 0xc3, 0x06,
+ 0xa1, 0xbf, 0x32, 0x8e, 0xc0, 0x33, 0xc9, 0x3b,
+ 0x0e, 0x73, 0xc4, 0x73, 0x45, 0x41, 0x51, 0xbb,
+ 0x8c, 0xc4, 0x03, 0xd9, 0x33, 0xc9, 0x8a, 0x0f,
+ 0xbf, 0xfe, 0xff, 0xbe, 0xa4, 0xc4, 0xd1, 0xe1,
+ 0x03, 0xf9, 0x03, 0xf1, 0xd1, 0xe9, 0x8b, 0x34,
+ 0x47, 0x26, 0x8b, 0x3d, 0x80, 0x7c, 0x01, 0x00,
+ 0x74, 0x04, 0x26, 0x03, 0x7d, 0x01, 0x59, 0x51,
+ 0xe8, 0x0e, 0xff, 0x26, 0x8b, 0x0d, 0x26, 0x8b,
+ 0x55, 0x02, 0x26, 0x03, 0x75, 0x04, 0x83, 0xc7,
+ 0x06, 0xa1, 0xb1, 0x32, 0xe8, 0x05, 0x00, 0x59,
+ 0xeb, 0xb5, 0x07, 0xc3, 0x1e, 0x8e, 0xd8, 0x8b,
+ 0xd9, 0x8b, 0xcb, 0x26, 0x8a, 0x05, 0x3c, 0xff,
+ 0x74, 0x02, 0x88, 0x04, 0x47, 0x46, 0xe2, 0xf3,
+ 0x81, 0xc6, 0x40, 0x01, 0x2b, 0xf3, 0x4a, 0x75,
+ 0xe8, 0x1f, 0xc3, 0xbb, 0xa0, 0x32, 0xb9, 0x0b,
+ 0x00, 0xe8, 0xaf, 0x85, 0xe8, 0x91, 0x00, 0xe8,
+ 0x20, 0x02, 0xe8, 0x18, 0xfd, 0x72, 0x5b, 0xe8,
+ 0x91, 0x83, 0x72, 0x35, 0xe8, 0x5d, 0x83, 0x73,
+ 0xeb, 0xe8, 0x4f, 0x00, 0x72, 0xe6, 0x83, 0x3e,
+ 0x1f, 0xc4, 0x00, 0x74, 0x14, 0xa1, 0x6f, 0xc4,
+ 0x3b, 0x06, 0x1f, 0xc4, 0x74, 0xd6, 0xa3, 0x21,
+ 0xc4, 0xe8, 0x80, 0x04, 0xe8, 0x45, 0x00, 0xeb,
+ 0xcb, 0xa1, 0x6f, 0xc4, 0xa3, 0x1f, 0xc4, 0xe8,
+ 0x20, 0x04, 0x72, 0x26, 0xe8, 0x27, 0x01, 0xeb,
+ 0xbb, 0xe8, 0x1f, 0x00, 0x72, 0xb6, 0x83, 0x3e,
+ 0x1f, 0xc4, 0x00, 0x75, 0xd0, 0xe8, 0x3f, 0x04,
+ 0x72, 0x10, 0xe8, 0xb9, 0x02, 0xb4, 0xea, 0xe8,
+ 0x9b, 0x00, 0xc7, 0x06, 0x6f, 0xc4, 0x00, 0x00,
+ 0xeb, 0x9a, 0xc3, 0x83, 0x3e, 0x6f, 0xc4, 0x00,
+ 0x74, 0x02, 0xf8, 0xc3, 0xe8, 0x05, 0x00, 0xe8,
+ 0xe9, 0x06, 0xf9, 0xc3, 0x33, 0xc0, 0xa3, 0x6f,
+ 0xc4, 0xa3, 0x1f, 0xc4, 0xa3, 0x21, 0xc4, 0xc3,
+ 0xbb, 0xe2, 0xc3, 0xe8, 0x01, 0x00, 0xc3, 0x53,
+ 0xe8, 0x7e, 0x07, 0x5b, 0xe8, 0x93, 0x02, 0xc3,
+ 0x33, 0xc9, 0x3b, 0x0e, 0x73, 0xc4, 0x73, 0x13,
+ 0x41, 0x51, 0xe8, 0x2c, 0xfe, 0xbb, 0x1a, 0x00,
+ 0xb9, 0x28, 0x00, 0xe8, 0x98, 0x00, 0x59, 0x72,
+ 0x2b, 0xeb, 0xe7, 0x8b, 0x0e, 0x6f, 0xc4, 0x0b,
+ 0xc9, 0x74, 0x20, 0xb4, 0xea, 0xe8, 0x3d, 0x00,
+ 0xc7, 0x06, 0x6f, 0xc4, 0x00, 0x00, 0xc7, 0x06,
+ 0x71, 0xc4, 0x00, 0x00, 0x83, 0x3e, 0x1f, 0xc4,
+ 0x00, 0x74, 0x05, 0xe8, 0x98, 0x00, 0xeb, 0x03,
+ 0xe8, 0x88, 0x06, 0xc3, 0x3b, 0x0e, 0x6f, 0xc4,
+ 0x75, 0x01, 0xc3, 0x51, 0x56, 0xb4, 0xea, 0xe8,
+ 0x13, 0x00, 0x5e, 0x59, 0x89, 0x0e, 0x6f, 0xc4,
+ 0x89, 0x36, 0x71, 0xc4, 0xb4, 0xe9, 0xe8, 0x04,
+ 0x00, 0xe8, 0x72, 0x00, 0xc3, 0x8b, 0x0e, 0xb1,
+ 0x32, 0x50, 0xe8, 0x0b, 0x00, 0x58, 0xb9, 0x00,
+ 0xa0, 0xe8, 0x04, 0x00, 0xe8, 0x98, 0x81, 0xc3,
+ 0x06, 0x8e, 0xc1, 0x8b, 0x36, 0x71, 0xc4, 0x0b,
+ 0xf6, 0x74, 0x29, 0xb9, 0x28, 0x00, 0x26, 0x88,
+ 0x24, 0x46, 0xe2, 0xfa, 0x81, 0xc6, 0x40, 0x01,
+ 0x83, 0xee, 0x28, 0xb9, 0x18, 0x00, 0x26, 0x88,
+ 0x24, 0x26, 0x88, 0x64, 0x27, 0x81, 0xc6, 0x40,
+ 0x01, 0xe2, 0xf3, 0xb9, 0x28, 0x00, 0x26, 0x88,
+ 0x24, 0x46, 0xe2, 0xfa, 0x07, 0xc3, 0x8b, 0xc6,
+ 0x33, 0xd2, 0xf7, 0x36, 0xb6, 0x00, 0x3b, 0x06,
+ 0xc2, 0x00, 0x77, 0x18, 0x3b, 0x16, 0xc0, 0x00,
+ 0x77, 0x12, 0x03, 0xc3, 0x3b, 0x06, 0xc2, 0x00,
+ 0x76, 0x0a, 0x03, 0xd1, 0x3b, 0x16, 0xc0, 0x00,
+ 0x76, 0x02, 0xf9, 0xc3, 0xf8, 0xc3, 0xe8, 0xf2,
+ 0x05, 0xe8, 0x47, 0x05, 0xe8, 0x48, 0x00, 0xbb,
+ 0x28, 0xc4, 0xbe, 0xe8, 0x1c, 0x81, 0xc6, 0x85,
+ 0x02, 0x56, 0xc6, 0x06, 0xe6, 0x1c, 0xd1, 0xe8,
+ 0x9b, 0x7f, 0x8b, 0xc6, 0x5e, 0x2b, 0xc6, 0xbe,
+ 0x05, 0x00, 0x03, 0xc6, 0x03, 0xc6, 0x40, 0x0c,
+ 0x01, 0x3d, 0x40, 0x01, 0x76, 0x03, 0xb8, 0x40,
+ 0x01, 0xa3, 0xe0, 0x1c, 0xb9, 0x40, 0x01, 0x2b,
+ 0xc8, 0xd1, 0xe9, 0xb8, 0xb4, 0x00, 0xbb, 0x40,
+ 0x01, 0xf7, 0xe3, 0x03, 0xc1, 0xa3, 0xde, 0x1c,
+ 0xb8, 0x00, 0xa0, 0xe8, 0x3f, 0x05, 0xc3, 0xbf,
+ 0x28, 0xc4, 0xb9, 0x46, 0x00, 0x32, 0xc0, 0xfc,
+ 0xf3, 0xaa, 0x8b, 0x0e, 0x6f, 0xc4, 0x0b, 0xc9,
+ 0x74, 0x06, 0xe8, 0x44, 0x00, 0x83, 0xc3, 0x02,
+ 0xbe, 0x28, 0xc4, 0x8b, 0x0e, 0x1f, 0xc4, 0x0b,
+ 0xc9, 0x74, 0x2b, 0x53, 0xe8, 0x32, 0x00, 0x83,
+ 0xc3, 0x02, 0xe8, 0x21, 0x00, 0x4e, 0xb0, 0x20,
+ 0xb4, 0x26, 0x88, 0x04, 0x88, 0x64, 0x01, 0x88,
+ 0x44, 0x02, 0x83, 0xc6, 0x03, 0x5b, 0xa1, 0x1f,
+ 0xc4, 0x8b, 0x0e, 0x6f, 0xc4, 0x0b, 0xc9, 0x74,
+ 0x04, 0x3b, 0xc1, 0x75, 0x01, 0xc3, 0x8a, 0x07,
+ 0x88, 0x04, 0x43, 0x46, 0x0a, 0xc0, 0x75, 0xf6,
+ 0xc3, 0xbb, 0x8c, 0xc4, 0x03, 0xd9, 0x8a, 0x0f,
+ 0xbb, 0xa4, 0xc4, 0xd1, 0xe1, 0x03, 0xd9, 0x8b,
+ 0x1f, 0xc3, 0xbb, 0xa0, 0x32, 0xe8, 0x96, 0x83,
+ 0x72, 0x01, 0xc3, 0xb9, 0x0b, 0x00, 0xe8, 0x7a,
+ 0x83, 0x06, 0xa1, 0xbf, 0x32, 0x8e, 0xc0, 0x33,
+ 0xc9, 0x3b, 0x0e, 0x73, 0xc4, 0x73, 0x6d, 0x41,
+ 0x51, 0xbb, 0x8c, 0xc4, 0x03, 0xd9, 0x8a, 0x07,
+ 0xbb, 0x74, 0xc4, 0x03, 0xd9, 0x33, 0xc9, 0x8a,
+ 0xc8, 0xbf, 0xfe, 0xff, 0xbe, 0xa4, 0xc4, 0xd1,
+ 0xe1, 0x03, 0xf9, 0x03, 0xf1, 0x8b, 0x34, 0x47,
+ 0x26, 0x8b, 0x3d, 0x80, 0x7c, 0x01, 0x00, 0x74,
+ 0x40, 0x33, 0xc9, 0x8a, 0x0f, 0xfe, 0xc1, 0x26,
+ 0x3a, 0x0d, 0x76, 0x02, 0xb1, 0x01, 0x88, 0x0f,
+ 0x49, 0xd1, 0xe1, 0x03, 0xf9, 0x26, 0x03, 0x7d,
+ 0x01, 0x2b, 0xf9, 0x59, 0x51, 0xe8, 0x41, 0xfc,
+ 0xe8, 0x23, 0x00, 0x56, 0x26, 0x8b, 0x0d, 0x26,
+ 0x8b, 0x55, 0x02, 0x26, 0x03, 0x75, 0x04, 0x83,
+ 0xc7, 0x06, 0xa1, 0xb1, 0x32, 0xe8, 0x34, 0xfd,
+ 0x5e, 0x56, 0xe8, 0x1e, 0x00, 0x5e, 0xe8, 0x44,
+ 0x00, 0x59, 0xeb, 0x8d, 0x07, 0xc3, 0x57, 0x56,
+ 0x06, 0xa1, 0xb1, 0x32, 0x8e, 0xc0, 0xb9, 0x1a,
+ 0x00, 0xba, 0x28, 0x00, 0xe8, 0x49, 0xfc, 0x07,
+ 0x5e, 0x5f, 0xc3, 0x1e, 0x06, 0x81, 0xc6, 0x41,
+ 0x01, 0x8b, 0xfe, 0xb8, 0x00, 0xa0, 0x8e, 0xc0,
+ 0xa1, 0xb1, 0x32, 0x8e, 0xd8, 0xfc, 0xb9, 0x18,
+ 0x00, 0x51, 0xb9, 0x26, 0x00, 0xf3, 0xa4, 0x81,
+ 0xc6, 0x1a, 0x01, 0x81, 0xc7, 0x1a, 0x01, 0x59,
+ 0xe2, 0xef, 0x07, 0x1f, 0xc3, 0xbb, 0x1a, 0x00,
+ 0xb9, 0x28, 0x00, 0xb8, 0x0c, 0x00, 0x03, 0xd8,
+ 0xf7, 0x26, 0xb6, 0x00, 0x2b, 0xf0, 0xb8, 0x08,
+ 0x00, 0x2b, 0xf0, 0x03, 0xc8, 0xe8, 0x36, 0xfe,
+ 0x73, 0x03, 0xe8, 0x92, 0x7f, 0xc3, 0xe8, 0xf8,
+ 0x04, 0x8b, 0x0e, 0x6f, 0xc4, 0xe8, 0xf9, 0xfe,
+ 0x83, 0xc3, 0x02, 0x43, 0x80, 0x3f, 0x00, 0x75,
+ 0xfa, 0x43, 0x06, 0xb8, 0xd4, 0x19, 0x8e, 0xc0,
+ 0x33, 0xc0, 0x26, 0xa3, 0x0c, 0x00, 0x26, 0xa3,
+ 0x0a, 0x00, 0xbe, 0x04, 0x00, 0x53, 0xe8, 0x37,
+ 0x7e, 0x26, 0x01, 0x0e, 0x0c, 0x00, 0x26, 0x89,
+ 0x04, 0x26, 0xff, 0x06, 0x0a, 0x00, 0x83, 0xc6,
+ 0x02, 0x43, 0x8a, 0x07, 0x0a, 0xc0, 0x75, 0xe6,
+ 0x5b, 0x8b, 0xce, 0x33, 0xc0, 0x83, 0xee, 0x02,
+ 0x81, 0xfe, 0x04, 0x00, 0x72, 0x0b, 0x26, 0x8b,
+ 0x14, 0x3b, 0xc2, 0x73, 0xf0, 0x8b, 0xc2, 0xeb,
+ 0xec, 0x8b, 0xf1, 0xb9, 0x40, 0x01, 0x2b, 0xc8,
+ 0xd1, 0xe9, 0x81, 0xc1, 0xc0, 0xcb, 0x26, 0x89,
+ 0x0e, 0x00, 0x00, 0x83, 0xee, 0x02, 0x81, 0xfe,
+ 0x04, 0x00, 0x72, 0x0e, 0x26, 0x8b, 0x14, 0x8b,
+ 0xc8, 0x2b, 0xca, 0xd1, 0xe9, 0x26, 0x89, 0x0c,
+ 0xeb, 0xe9, 0xbf, 0x04, 0x00, 0xbe, 0x0e, 0x00,
+ 0x57, 0x56, 0x26, 0x03, 0x35, 0xc6, 0x06, 0xe6,
+ 0x1c, 0xd1, 0xe8, 0x78, 0x7d, 0x5e, 0x5f, 0x81,
+ 0xc6, 0xc0, 0x0d, 0x83, 0xc7, 0x02, 0x43, 0x8a,
+ 0x07, 0x0a, 0xc0, 0x75, 0xe3, 0xe8, 0xed, 0x7e,
+ 0xe8, 0x1d, 0x80, 0xe8, 0x9d, 0x03, 0xb8, 0x00,
+ 0xa0, 0xe8, 0xf2, 0x03, 0xbb, 0x92, 0x32, 0xa1,
+ 0x96, 0x32, 0x26, 0x8b, 0x0e, 0x0c, 0x00, 0xf7,
+ 0xe1, 0x8b, 0xc8, 0xc1, 0xe9, 0x03, 0x83, 0xc1,
+ 0x3c, 0xe8, 0xcf, 0x81, 0xe8, 0x43, 0xfe, 0x80,
+ 0x3e, 0x96, 0x32, 0x00, 0x74, 0x08, 0xbb, 0x92,
+ 0x32, 0xe8, 0xd2, 0x81, 0x72, 0x0a, 0xe8, 0xaa,
+ 0x7f, 0x72, 0x05, 0xe8, 0x76, 0x7f, 0x73, 0xe4,
+ 0xe8, 0x04, 0x04, 0xe8, 0xc9, 0x7e, 0x07, 0xc3,
+ 0xbb, 0x8d, 0xc4, 0x8b, 0x0e, 0x73, 0xc4, 0x03,
+ 0xd9, 0x88, 0x07, 0xff, 0x06, 0x73, 0xc4, 0xc3,
+ 0xbb, 0x8d, 0xc4, 0x8b, 0x0e, 0x73, 0xc4, 0x3a,
+ 0x07, 0x74, 0x08, 0x43, 0xe2, 0xf9, 0xb0, 0x3b,
+ 0xe9, 0x0d, 0x8c, 0x8a, 0x47, 0x01, 0x88, 0x07,
+ 0x43, 0xe2, 0xf8, 0xc6, 0x47, 0x01, 0x00, 0xff,
+ 0x0e, 0x73, 0xc4, 0xc3, 0xbb, 0x8d, 0xc4, 0x8b,
+ 0x0e, 0x73, 0xc4, 0x3a, 0x07, 0x74, 0x05, 0x43,
+ 0xe2, 0xf9, 0xf8, 0xc3, 0xf9, 0xc3, 0xbb, 0x8d,
+ 0xc4, 0x8b, 0x0e, 0x73, 0xc4, 0xc6, 0x07, 0x00,
+ 0x43, 0xe2, 0xfa, 0xc7, 0x06, 0x73, 0xc4, 0x00,
+ 0x00, 0xc3, 0xa1, 0x1f, 0xc4, 0xe8, 0xcc, 0x00,
+ 0x3c, 0x03, 0x74, 0x1e, 0x3c, 0x29, 0x74, 0x1a,
+ 0x3c, 0x25, 0x74, 0x16, 0x3c, 0x48, 0x74, 0x12,
+ 0xb0, 0xff, 0x83, 0x3e, 0xf3, 0xb4, 0x18, 0x75,
+ 0x07, 0x80, 0x3e, 0xa4, 0xdb, 0x00, 0x74, 0x02,
+ 0xf8, 0xc3, 0xa2, 0xe1, 0xc3, 0xe8, 0x8a, 0xf8,
+ 0xc6, 0x06, 0x6e, 0xc4, 0x00, 0xf9, 0xc3, 0xa1,
+ 0x6f, 0xc4, 0xe8, 0x97, 0x00, 0x3c, 0x04, 0x74,
+ 0x06, 0x3c, 0x33, 0x74, 0x02, 0xf8, 0xc3, 0xa2,
+ 0xe1, 0xc3, 0xe8, 0x6d, 0xf8, 0xc6, 0x06, 0x6e,
+ 0xc4, 0x00, 0xf9, 0xc3, 0xa1, 0x1f, 0xc4, 0xe8,
+ 0x7a, 0x00, 0x8a, 0xc8, 0xa1, 0x21, 0xc4, 0xe8,
+ 0x72, 0x00, 0x8a, 0xd0, 0xbb, 0x35, 0xc3, 0x8b,
+ 0x07, 0x3a, 0xc1, 0x75, 0x04, 0x3a, 0xe2, 0x74,
+ 0x08, 0x3a, 0xc2, 0x75, 0x53, 0x3a, 0xe1, 0x75,
+ 0x4f, 0x80, 0x7f, 0x02, 0x00, 0x74, 0x42, 0x60,
+ 0xb9, 0x45, 0x00, 0xb0, 0x01, 0xb4, 0x05, 0xff,
+ 0x1e, 0x4a, 0x32, 0xb8, 0x3b, 0x0b, 0x8e, 0xd8,
+ 0x8e, 0xc0, 0xa0, 0x49, 0x32, 0xb4, 0x04, 0xb5,
+ 0x07, 0xff, 0x1e, 0x4a, 0x32, 0xb8, 0x3b, 0x0b,
+ 0x8e, 0xd8, 0x8e, 0xc0, 0x61, 0x53, 0x8a, 0x07,
+ 0xe8, 0x0d, 0xff, 0x5b, 0x53, 0x8a, 0x47, 0x01,
+ 0xe8, 0x05, 0xff, 0x5b, 0x53, 0x8a, 0x47, 0x02,
+ 0xe8, 0xed, 0xfe, 0x5b, 0x53, 0xe8, 0x5d, 0xf9,
+ 0x5b, 0x8b, 0x5f, 0x03, 0xe8, 0x68, 0xfb, 0xc3,
+ 0x83, 0xc3, 0x05, 0x83, 0x3f, 0x00, 0x75, 0x97,
+ 0xe8, 0x55, 0xfb, 0xc3, 0x0b, 0xc0, 0x75, 0x01,
+ 0xc3, 0x53, 0x48, 0xbb, 0x8d, 0xc4, 0x03, 0xd8,
+ 0x8a, 0x07, 0x32, 0xe4, 0x5b, 0xc3, 0x60, 0xe8,
+ 0x52, 0x06, 0xe8, 0x2f, 0x03, 0xe8, 0x85, 0x01,
+ 0xe8, 0x43, 0x02, 0xe8, 0xf2, 0x06, 0xe8, 0x72,
+ 0x03, 0xe8, 0xdb, 0x04, 0xe8, 0x8e, 0x01, 0xe8,
+ 0x4c, 0x02, 0xe8, 0x7b, 0x7e, 0xe8, 0xc1, 0x0b,
+ 0xe8, 0x74, 0x05, 0xe8, 0xc2, 0x01, 0xe8, 0x89,
+ 0x02, 0xe8, 0x33, 0x7d, 0x61, 0xc3, 0xe8, 0x2a,
+ 0x00, 0x0b, 0xc0, 0x74, 0x17, 0x3d, 0x03, 0x00,
+ 0x74, 0x12, 0x3d, 0x01, 0x00, 0x74, 0x0e, 0xc6,
+ 0x06, 0xda, 0x1c, 0x02, 0xe8, 0xb7, 0xff, 0xc6,
+ 0x06, 0xda, 0x1c, 0x03, 0xc3, 0xc6, 0x06, 0xda,
+ 0x1c, 0x01, 0xe8, 0xa9, 0xff, 0xc6, 0x06, 0xda,
+ 0x1c, 0x00, 0xc3, 0xbb, 0x54, 0x72, 0xe8, 0x01,
+ 0x17, 0x8b, 0xf3, 0x8b, 0x1c, 0x0b, 0xdb, 0x74,
+ 0x0a, 0xe8, 0xd3, 0x00, 0x72, 0x20, 0x83, 0xc6,
+ 0x02, 0xeb, 0xf0, 0x83, 0x3e, 0x52, 0x72, 0x00,
+ 0x75, 0x03, 0x33, 0xc0, 0xc3, 0xc7, 0x06, 0x52,
+ 0x72, 0x00, 0x00, 0x83, 0x3e, 0x1f, 0xc4, 0x00,
+ 0x75, 0x11, 0xb8, 0x01, 0x00, 0xc3, 0x3b, 0x06,
+ 0x52, 0x72, 0x75, 0x04, 0xb8, 0x03, 0x00, 0xc3,
+ 0xa3, 0x52, 0x72, 0xa1, 0xde, 0x1c, 0xa3, 0xe2,
+ 0x1c, 0xa1, 0xe0, 0x1c, 0xa3, 0xe4, 0x1c, 0x53,
+ 0xc6, 0x06, 0xda, 0x1c, 0x01, 0xe8, 0xdd, 0x00,
+ 0xe8, 0xc0, 0x00, 0x5b, 0x83, 0xc3, 0x13, 0xe8,
+ 0x45, 0x00, 0xbb, 0x28, 0xc4, 0xbe, 0xe8, 0x1c,
+ 0x81, 0xc6, 0x85, 0x02, 0x56, 0xc6, 0x06, 0xe6,
+ 0x1c, 0xd1, 0xe8, 0x10, 0x7b, 0x8b, 0xc6, 0x5e,
+ 0x2b, 0xc6, 0xbe, 0x05, 0x00, 0x03, 0xc6, 0x03,
+ 0xc6, 0x40, 0x0c, 0x01, 0x3d, 0x40, 0x01, 0x76,
+ 0x03, 0xb8, 0x40, 0x01, 0xa3, 0xe0, 0x1c, 0xb9,
+ 0x40, 0x01, 0x2b, 0xc8, 0xd1, 0xe9, 0xb8, 0xb4,
+ 0x00, 0xbb, 0x40, 0x01, 0xf7, 0xe3, 0x03, 0xc1,
+ 0xa3, 0xde, 0x1c, 0xb8, 0x02, 0x00, 0xc3, 0xbf,
+ 0x28, 0xc4, 0xb9, 0x46, 0x00, 0x32, 0xc0, 0xfc,
+ 0xf3, 0xaa, 0xbe, 0x28, 0xc4, 0x8b, 0x0e, 0x1f,
+ 0xc4, 0x0b, 0xc9, 0x74, 0x26, 0x53, 0xe8, 0xb8,
+ 0xfb, 0x83, 0xc3, 0x02, 0xe8, 0xa7, 0xfb, 0x4e,
+ 0xb0, 0x20, 0xb4, 0x26, 0x88, 0x04, 0x88, 0x64,
+ 0x01, 0x88, 0x44, 0x02, 0x83, 0xc6, 0x03, 0x5b,
+ 0xa1, 0x1f, 0xc4, 0x8b, 0x0e, 0x52, 0x72, 0x0b,
+ 0xc9, 0x74, 0x03, 0xe8, 0x88, 0xfb, 0xc3, 0x8a,
+ 0x47, 0x12, 0x0a, 0xc0, 0x74, 0x29, 0xa1, 0xc0,
+ 0x00, 0x8b, 0x16, 0xc2, 0x00, 0x8b, 0x4f, 0x01,
+ 0x3b, 0xc1, 0x72, 0x1b, 0x8b, 0x4f, 0x03, 0x3b,
+ 0xd1, 0x72, 0x14, 0x8b, 0x4f, 0x05, 0x3b, 0xc1,
+ 0x77, 0x0d, 0x8b, 0x4f, 0x07, 0x3b, 0xd1, 0x77,
+ 0x06, 0x33, 0xc0, 0x8a, 0x07, 0xf9, 0xc3, 0x33,
+ 0xc0, 0xf8, 0xc3, 0xbe, 0xe8, 0x1c, 0xb9, 0x0f,
+ 0x00, 0xb0, 0xff, 0xb4, 0xe0, 0xba, 0x40, 0x01,
+ 0x88, 0x04, 0x86, 0xc4, 0x46, 0x4a, 0x75, 0xf8,
+ 0x86, 0xc4, 0xe2, 0xf1, 0xc3, 0xa0, 0xda, 0x1c,
+ 0x3c, 0x00, 0x75, 0x01, 0xc3, 0x3c, 0x03, 0x75,
+ 0x01, 0xc3, 0xa1, 0xb3, 0x32, 0x8b, 0x1e, 0xb1,
+ 0x32, 0xe8, 0x81, 0x00, 0xc3, 0xa0, 0xda, 0x1c,
+ 0x3c, 0x00, 0x75, 0x01, 0xc3, 0x3c, 0x01, 0x75,
+ 0x01, 0xc3, 0xa1, 0xb1, 0x32, 0x06, 0x8e, 0xc0,
+ 0x8b, 0x36, 0xde, 0x1c, 0x8b, 0x16, 0xe0, 0x1c,
+ 0xbf, 0xe8, 0x1c, 0xb9, 0x0f, 0x00, 0x8b, 0xda,
+ 0x8a, 0x05, 0x3c, 0xff, 0x74, 0x03, 0x26, 0x88,
+ 0x04, 0x46, 0x47, 0x4a, 0x75, 0xf2, 0x8b, 0xd3,
+ 0x81, 0xc6, 0x40, 0x01, 0x2b, 0xf2, 0x81, 0xc7,
+ 0x40, 0x01, 0x2b, 0xfa, 0xe2, 0xe0, 0x07, 0xc3,
+ 0xa0, 0xda, 0x1c, 0x3c, 0x00, 0x75, 0x01, 0xc3,
+ 0x3c, 0x03, 0x75, 0x01, 0xc3, 0xa1, 0xe4, 0x1c,
+ 0x3b, 0x06, 0xe0, 0x1c, 0x72, 0x1d, 0xff, 0x36,
+ 0xe0, 0x1c, 0xff, 0x36, 0xde, 0x1c, 0xa3, 0xe0,
+ 0x1c, 0xa1, 0xe2, 0x1c, 0xa3, 0xde, 0x1c, 0xe8,
+ 0x09, 0x00, 0x8f, 0x06, 0xde, 0x1c, 0x8f, 0x06,
+ 0xe0, 0x1c, 0xc3, 0xa1, 0xb1, 0x32, 0xbb, 0x00,
+ 0xa0, 0xe8, 0x01, 0x00, 0xc3, 0x8b, 0x36, 0xde,
+ 0x1c, 0x8b, 0x16, 0xe0, 0x1c, 0xb9, 0x0f, 0x00,
+ 0x1e, 0x06, 0x8e, 0xdb, 0x8e, 0xc0, 0x8b, 0xda,
+ 0x26, 0x8a, 0x04, 0x88, 0x04, 0x46, 0x4a, 0x75,
+ 0xf7, 0x8b, 0xd3, 0x81, 0xc6, 0x40, 0x01, 0x2b,
+ 0xf2, 0xe2, 0xeb, 0x07, 0x1f, 0xc3, 0xa0, 0xdb,
+ 0x1c, 0x3c, 0x00, 0x75, 0x01, 0xc3, 0x3c, 0x03,
+ 0x75, 0x01, 0xc3, 0xa1, 0xb3, 0x32, 0x8b, 0x1e,
+ 0xb1, 0x32, 0xe8, 0x78, 0x00, 0xc3, 0xa0, 0xdb,
+ 0x1c, 0x3c, 0x00, 0x75, 0x01, 0xc3, 0x3c, 0x01,
+ 0x75, 0x01, 0xc3, 0xa1, 0xb1, 0x32, 0x1e, 0x06,
+ 0xba, 0xd4, 0x19, 0x8e, 0xc2, 0x26, 0x8b, 0x36,
+ 0x00, 0x00, 0x26, 0x8b, 0x16, 0x02, 0x00, 0xbf,
+ 0x0e, 0x00, 0xb9, 0x21, 0x00, 0x8e, 0xd8, 0x8b,
+ 0xda, 0x26, 0x8a, 0x05, 0x3c, 0xff, 0x74, 0x02,
+ 0x88, 0x04, 0x46, 0x47, 0x4a, 0x75, 0xf2, 0x8b,
+ 0xd3, 0x81, 0xc6, 0x40, 0x01, 0x2b, 0xf2, 0x81,
+ 0xc7, 0x40, 0x01, 0x2b, 0xfa, 0xe2, 0xe0, 0x07,
+ 0x1f, 0xc3, 0xa0, 0xdb, 0x1c, 0x3c, 0x00, 0x75,
+ 0x01, 0xc3, 0x3c, 0x03, 0x75, 0x01, 0xc3, 0xa1,
+ 0xb1, 0x32, 0xbb, 0x00, 0xa0, 0xe8, 0x15, 0x00,
+ 0xc3, 0x1e, 0xb9, 0xd4, 0x19, 0x8e, 0xd9, 0xbb,
+ 0x0e, 0x00, 0xb9, 0x40, 0x29, 0xc6, 0x07, 0xff,
+ 0x43, 0xe2, 0xfa, 0x1f, 0xc3, 0x1e, 0xb9, 0xd4,
+ 0x19, 0x8e, 0xd9, 0x8b, 0x36, 0x00, 0x00, 0x8b,
+ 0x16, 0x02, 0x00, 0xb9, 0x21, 0x00, 0x1f, 0x1e,
+ 0x06, 0x8e, 0xdb, 0x8e, 0xc0, 0x8b, 0xda, 0x26,
+ 0x8a, 0x04, 0x88, 0x04, 0x46, 0x4a, 0x75, 0xf7,
+ 0x8b, 0xd3, 0x81, 0xc6, 0x40, 0x01, 0x2b, 0xf2,
+ 0xe2, 0xeb, 0x07, 0x1f, 0xc3, 0xbb, 0xa4, 0x32,
+ 0xe8, 0x6b, 0x7d, 0x73, 0x1e, 0x8b, 0x0e, 0x90,
+ 0x32, 0xe8, 0x4f, 0x7d, 0xc6, 0x06, 0x33, 0x33,
+ 0x01, 0xc6, 0x06, 0xdd, 0x1c, 0x02, 0xe8, 0xd5,
+ 0xfc, 0xc6, 0x06, 0x33, 0x33, 0x00, 0xc6, 0x06,
+ 0xdd, 0x1c, 0x03, 0xc3, 0xb9, 0x01, 0x00, 0xbb,
+ 0xc7, 0x32, 0x53, 0x51, 0x49, 0xb0, 0x1b, 0xf6,
+ 0xe1, 0x03, 0xd8, 0x8b, 0x07, 0x0b, 0xc0, 0x74,
+ 0x0c, 0x8b, 0x7f, 0x12, 0x8b, 0x4f, 0x14, 0x8b,
+ 0x5f, 0x10, 0xe8, 0x09, 0x00, 0x59, 0x5b, 0x41,
+ 0x80, 0xf9, 0x04, 0x76, 0xdd, 0xc3, 0x1e, 0x06,
+ 0xa1, 0xb3, 0x32, 0x8e, 0xc0, 0xa1, 0xb1, 0x32,
+ 0x8e, 0xd8, 0x8b, 0xd1, 0x8b, 0xcf, 0x26, 0x8a,
+ 0x07, 0x88, 0x07, 0x43, 0xe2, 0xf8, 0x8b, 0xca,
+ 0x81, 0xc3, 0x40, 0x01, 0x2b, 0xdf, 0xe2, 0xea,
+ 0x07, 0x1f, 0xc3, 0x80, 0x3e, 0x33, 0x33, 0x01,
+ 0x74, 0x01, 0xc3, 0xb9, 0x01, 0x00, 0xbf, 0xc7,
+ 0x32, 0x57, 0x51, 0x49, 0xb0, 0x1b, 0xf6, 0xe1,
+ 0x03, 0xf8, 0x8b, 0x05, 0x0b, 0xc0, 0x74, 0x06,
+ 0x8b, 0x45, 0x16, 0xe8, 0x09, 0x00, 0x59, 0x5f,
+ 0x41, 0x80, 0xf9, 0x04, 0x76, 0xe3, 0xc3, 0x06,
+ 0x8e, 0xc0, 0x51, 0xbb, 0xff, 0xff, 0x8b, 0x05,
+ 0xb9, 0x03, 0x00, 0xf7, 0xe1, 0x03, 0xd8, 0xbe,
+ 0x00, 0x00, 0x26, 0x8b, 0x34, 0x8b, 0xd6, 0x3b,
+ 0xde, 0x72, 0x06, 0xc7, 0x05, 0x01, 0x00, 0xeb,
+ 0xe2, 0xff, 0x05, 0x33, 0xc9, 0x26, 0x8a, 0x0f,
+ 0x88, 0x4d, 0x1a, 0x26, 0x8b, 0x77, 0x01, 0x89,
+ 0x75, 0x0a, 0x8b, 0xda, 0x43, 0x83, 0xeb, 0x02,
+ 0xd1, 0xe1, 0x03, 0xd9, 0x26, 0x8b, 0x1f, 0x03,
+ 0xda, 0x26, 0x8b, 0x07, 0x89, 0x45, 0x0c, 0x26,
+ 0x8b, 0x47, 0x02, 0x89, 0x45, 0x0e, 0x83, 0xc3,
+ 0x04, 0x89, 0x5d, 0x18, 0x33, 0xd2, 0x8b, 0xc6,
+ 0xf7, 0x36, 0xb6, 0x00, 0x89, 0x16, 0x4f, 0x33,
+ 0xa3, 0x57, 0x33, 0x03, 0x55, 0x0c, 0x03, 0x45,
+ 0x0e, 0x89, 0x16, 0x51, 0x33, 0xa3, 0x59, 0x33,
+ 0x59, 0xe8, 0x85, 0x00, 0x33, 0xd2, 0x8b, 0x45,
+ 0x10, 0xf7, 0x36, 0xb6, 0x00, 0x89, 0x16, 0x53,
+ 0x33, 0xa3, 0x5b, 0x33, 0x03, 0x55, 0x12, 0x03,
+ 0x45, 0x14, 0x89, 0x16, 0x55, 0x33, 0xa3, 0x5d,
+ 0x33, 0xa1, 0x4f, 0x33, 0x8b, 0x1e, 0x53, 0x33,
+ 0x3b, 0xc3, 0x76, 0x04, 0x89, 0x1e, 0x4f, 0x33,
+ 0xa1, 0x51, 0x33, 0x8b, 0x1e, 0x55, 0x33, 0x3b,
+ 0xc3, 0x77, 0x04, 0x89, 0x1e, 0x51, 0x33, 0xa1,
+ 0x57, 0x33, 0x8b, 0x1e, 0x5b, 0x33, 0x3b, 0xc3,
+ 0x76, 0x04, 0x89, 0x1e, 0x57, 0x33, 0xa1, 0x59,
+ 0x33, 0x8b, 0x1e, 0x5d, 0x33, 0x3b, 0xc3, 0x77,
+ 0x04, 0x89, 0x1e, 0x59, 0x33, 0x07, 0xa1, 0x4f,
+ 0x33, 0x89, 0x45, 0x02, 0xa1, 0x57, 0x33, 0x89,
+ 0x45, 0x04, 0xa1, 0x51, 0x33, 0x89, 0x45, 0x06,
+ 0xa1, 0x59, 0x33, 0x89, 0x45, 0x08, 0x8b, 0x45,
+ 0x0c, 0x89, 0x45, 0x12, 0x8b, 0x45, 0x0e, 0x89,
+ 0x45, 0x14, 0x8b, 0x45, 0x0a, 0x89, 0x45, 0x10,
+ 0xc3, 0x80, 0x3e, 0x34, 0x33, 0x01, 0x74, 0x01,
+ 0xc3, 0xbb, 0x9e, 0xd8, 0x8b, 0x16, 0xf3, 0xb4,
+ 0x4a, 0xc1, 0xe2, 0x02, 0x03, 0xda, 0x03, 0xd9,
+ 0x33, 0xc9, 0x8a, 0x0f, 0x80, 0xf9, 0xff, 0x74,
+ 0x25, 0x49, 0xbb, 0x54, 0x72, 0xe8, 0x92, 0x12,
+ 0xd1, 0xe1, 0x03, 0xd9, 0x8b, 0x1f, 0x43, 0xa1,
+ 0x4f, 0x33, 0x89, 0x07, 0xa1, 0x57, 0x33, 0x89,
+ 0x47, 0x02, 0xa1, 0x51, 0x33, 0x89, 0x47, 0x04,
+ 0xa1, 0x59, 0x33, 0x89, 0x47, 0x06, 0xc3, 0xb9,
+ 0x01, 0x00, 0xbf, 0xc7, 0x32, 0x57, 0x51, 0x49,
+ 0xb0, 0x1b, 0xf6, 0xe1, 0x03, 0xf8, 0x8b, 0x05,
+ 0x0b, 0xc0, 0x74, 0x15, 0x8b, 0x45, 0x0a, 0x33,
+ 0xd2, 0xf7, 0x36, 0xb6, 0x00, 0x03, 0x45, 0x0e,
+ 0x3b, 0x06, 0xb1, 0x64, 0x73, 0x03, 0xe8, 0x48,
+ 0x00, 0x59, 0x5f, 0x41, 0x80, 0xf9, 0x04, 0x76,
+ 0xd4, 0x80, 0x3e, 0xdc, 0x1c, 0x01, 0x74, 0x03,
+ 0xe8, 0x6c, 0x03, 0xe8, 0x9f, 0x05, 0xb9, 0x01,
+ 0x00, 0xbf, 0xc7, 0x32, 0x57, 0x51, 0x49, 0xb0,
+ 0x1b, 0xf6, 0xe1, 0x03, 0xf8, 0x8b, 0x05, 0x0b,
+ 0xc0, 0x74, 0x15, 0x8b, 0x45, 0x0a, 0x33, 0xd2,
+ 0xf7, 0x36, 0xb6, 0x00, 0x03, 0x45, 0x0e, 0x3b,
+ 0x06, 0xb1, 0x64, 0x72, 0x03, 0xe8, 0x09, 0x00,
+ 0x59, 0x5f, 0x41, 0x80, 0xf9, 0x04, 0x76, 0xd4,
+ 0xc3, 0x8b, 0x45, 0x16, 0x8b, 0x5d, 0x0a, 0x8b,
+ 0x55, 0x0c, 0x8b, 0x4d, 0x0e, 0x8b, 0x75, 0x18,
+ 0x1e, 0x06, 0x8e, 0xc0, 0xa1, 0xb1, 0x32, 0x8e,
+ 0xd8, 0x8b, 0xf9, 0x8b, 0xca, 0x26, 0x8a, 0x04,
+ 0x3c, 0xff, 0x74, 0x02, 0x88, 0x07, 0x46, 0x43,
+ 0xe2, 0xf3, 0x8b, 0xcf, 0x81, 0xc3, 0x40, 0x01,
+ 0x2b, 0xda, 0xe2, 0xe5, 0x07, 0x1f, 0xc3, 0x80,
+ 0x3e, 0xdd, 0x1c, 0x02, 0x74, 0x01, 0xc3, 0xb9,
+ 0x01, 0x00, 0xbf, 0xc7, 0x32, 0x57, 0x51, 0x49,
+ 0xb0, 0x1b, 0xf6, 0xe1, 0x03, 0xf8, 0x8b, 0x05,
+ 0x0b, 0xc0, 0x74, 0x0f, 0x8b, 0x45, 0x04, 0x8b,
+ 0x5d, 0x02, 0x8b, 0x4d, 0x08, 0x8b, 0x7d, 0x06,
+ 0xe8, 0x09, 0x00, 0x59, 0x5f, 0x41, 0x80, 0xf9,
+ 0x04, 0x76, 0xda, 0xc3, 0x1e, 0x06, 0x8b, 0x16,
+ 0xb1, 0x32, 0x8e, 0xc2, 0x50, 0xba, 0x40, 0x01,
+ 0xf7, 0xe2, 0x03, 0xc3, 0x2b, 0xfb, 0x5a, 0x2b,
+ 0xca, 0x8b, 0xd8, 0xb8, 0x00, 0xa0, 0x8e, 0xd8,
+ 0x8b, 0xd1, 0x8b, 0xcf, 0x26, 0x8a, 0x07, 0x88,
+ 0x07, 0x43, 0xe2, 0xf8, 0x8b, 0xca, 0x81, 0xc3,
+ 0x40, 0x01, 0x2b, 0xdf, 0xe2, 0xea, 0x07, 0x1f,
+ 0xc3, 0x50, 0x32, 0xe4, 0x48, 0xbb, 0x9e, 0xd8,
+ 0x8b, 0x16, 0xf3, 0xb4, 0x4a, 0xc1, 0xe2, 0x02,
+ 0x03, 0xda, 0x03, 0xd8, 0x58, 0x88, 0x27, 0xc3,
+ 0x50, 0xe8, 0x18, 0xfd, 0xe8, 0x35, 0x00, 0x58,
+ 0x32, 0xe4, 0xbb, 0xc7, 0x32, 0xb1, 0x1b, 0x48,
+ 0xf6, 0xe1, 0x03, 0xd8, 0xc7, 0x07, 0x00, 0x00,
+ 0x53, 0xe8, 0xcc, 0x00, 0xe8, 0xb8, 0xfe, 0xe8,
+ 0x5e, 0x78, 0x5b, 0x53, 0xff, 0x07, 0xff, 0x36,
+ 0xdd, 0x1c, 0xc6, 0x06, 0xdd, 0x1c, 0x02, 0xe8,
+ 0x4d, 0xff, 0x8f, 0x06, 0xdd, 0x1c, 0x5b, 0xc7,
+ 0x07, 0x00, 0x00, 0xc3, 0x8b, 0x1e, 0x30, 0x32,
+ 0x8b, 0x3e, 0x2e, 0x32, 0x8b, 0x0e, 0x2c, 0x32,
+ 0x1e, 0x06, 0xa1, 0xb3, 0x32, 0x8e, 0xc0, 0xa1,
+ 0xb1, 0x32, 0x8e, 0xd8, 0x8b, 0xd1, 0x8b, 0xcf,
+ 0x81, 0xfb, 0xff, 0xf9, 0x77, 0x05, 0x26, 0x8a,
+ 0x07, 0x88, 0x07, 0x43, 0xe2, 0xf2, 0x8b, 0xca,
+ 0x81, 0xc3, 0x40, 0x01, 0x2b, 0xdf, 0xe2, 0xe4,
+ 0x07, 0x1f, 0xc3, 0x06, 0xa1, 0xbf, 0x32, 0x8e,
+ 0xc0, 0x33, 0xc0, 0xa3, 0x28, 0x32, 0xa3, 0x2a,
+ 0x32, 0xbb, 0xff, 0xff, 0x8a, 0x0e, 0x07, 0x66,
+ 0xb8, 0x03, 0x00, 0xf6, 0xe1, 0x03, 0xd8, 0xbe,
+ 0x00, 0x00, 0x26, 0x8b, 0x34, 0x8b, 0xd6, 0x3b,
+ 0xde, 0x72, 0x03, 0x07, 0xf9, 0xc3, 0xfe, 0x06,
+ 0x07, 0x66, 0x33, 0xc9, 0x26, 0x8a, 0x0f, 0x26,
+ 0x8b, 0x77, 0x01, 0x8b, 0xda, 0x43, 0x83, 0xeb,
+ 0x02, 0xd1, 0xe1, 0x03, 0xd9, 0x26, 0x8b, 0x1f,
+ 0x03, 0xda, 0x26, 0x8b, 0x3f, 0x26, 0x8b, 0x4f,
+ 0x02, 0x83, 0xc3, 0x04, 0x89, 0x1e, 0xde, 0x64,
+ 0x89, 0x0e, 0xe2, 0x64, 0x89, 0x3e, 0xe0, 0x64,
+ 0x89, 0x36, 0xe4, 0x64, 0x51, 0xe8, 0x31, 0x01,
+ 0x59, 0x89, 0x0e, 0x2c, 0x32, 0x89, 0x3e, 0x2e,
+ 0x32, 0x89, 0x36, 0x30, 0x32, 0x07, 0xf8, 0xc3,
+ 0x06, 0xa1, 0xbf, 0x32, 0x8e, 0xc0, 0x8b, 0x1e,
+ 0xe6, 0x64, 0x26, 0x8b, 0x3f, 0x43, 0x43, 0x26,
+ 0x8b, 0x0f, 0x43, 0x43, 0xa1, 0xb1, 0x64, 0x2d,
+ 0x3e, 0x00, 0xba, 0x40, 0x01, 0xf7, 0xe2, 0x03,
+ 0x06, 0xaf, 0x64, 0x8b, 0xd7, 0xd1, 0xea, 0x52,
+ 0x2b, 0xc2, 0x8b, 0xf0, 0x26, 0x8b, 0x07, 0x03,
+ 0xf0, 0x33, 0xd2, 0xf7, 0x36, 0xb6, 0x00, 0x89,
+ 0x16, 0x28, 0x32, 0xa3, 0x2a, 0x32, 0x5a, 0x43,
+ 0x43, 0x89, 0x1e, 0xde, 0x64, 0x89, 0x0e, 0xe2,
+ 0x64, 0x89, 0x3e, 0xe0, 0x64, 0x89, 0x36, 0xe4,
+ 0x64, 0x51, 0x57, 0x56, 0x51, 0x52, 0xe8, 0xc8,
+ 0x00, 0x5a, 0x59, 0xc6, 0x06, 0xae, 0x64, 0x00,
+ 0xc7, 0x06, 0xba, 0x00, 0x3f, 0x01, 0xc7, 0x06,
+ 0xb8, 0x00, 0x00, 0x00, 0xc7, 0x06, 0xbc, 0x00,
+ 0x00, 0x00, 0xc7, 0x06, 0xbe, 0x00, 0xc7, 0x00,
+ 0xa1, 0xaf, 0x64, 0x2b, 0xc2, 0x72, 0x09, 0x03,
+ 0x06, 0x28, 0x32, 0x3d, 0x00, 0x00, 0x73, 0x1b,
+ 0xc6, 0x06, 0xae, 0x64, 0x01, 0xa1, 0xaf, 0x64,
+ 0x03, 0xc2, 0x03, 0x06, 0x28, 0x32, 0x8b, 0x1e,
+ 0x34, 0x32, 0x3b, 0xc3, 0x76, 0x02, 0x8b, 0xc3,
+ 0xa3, 0xba, 0x00, 0xa1, 0xaf, 0x64, 0x03, 0xc2,
+ 0x03, 0x06, 0x28, 0x32, 0x3d, 0x3f, 0x01, 0x76,
+ 0x16, 0xc6, 0x06, 0xae, 0x64, 0x01, 0x2b, 0xc2,
+ 0x2b, 0xc2, 0x8b, 0x1e, 0x32, 0x32, 0x3b, 0xc3,
+ 0x76, 0x02, 0x8b, 0xc3, 0xa3, 0xb8, 0x00, 0xa1,
+ 0xb1, 0x64, 0x2b, 0xc1, 0x72, 0x09, 0x03, 0x06,
+ 0x2a, 0x32, 0x3d, 0x00, 0x00, 0x73, 0x19, 0xc6,
+ 0x06, 0xae, 0x64, 0x01, 0xa1, 0xb1, 0x64, 0x03,
+ 0x06, 0x2a, 0x32, 0x8b, 0x1e, 0x3c, 0x32, 0x3b,
+ 0xc3, 0x76, 0x02, 0x8b, 0xc3, 0xa3, 0xbe, 0x00,
+ 0xa1, 0xb1, 0x64, 0x03, 0x06, 0x2a, 0x32, 0x3d,
+ 0xc7, 0x00, 0x76, 0x14, 0xc6, 0x06, 0xae, 0x64,
+ 0x01, 0x2b, 0xc1, 0x8b, 0x1e, 0x3a, 0x32, 0x3b,
+ 0xc3, 0x73, 0x02, 0x8b, 0xc3, 0xa3, 0xbc, 0x00,
+ 0x5e, 0x5f, 0x59, 0x89, 0x0e, 0x2c, 0x32, 0x89,
+ 0x3e, 0x2e, 0x32, 0x89, 0x36, 0x30, 0x32, 0x07,
+ 0xc3, 0x33, 0xd2, 0x8b, 0xc6, 0xf7, 0x36, 0xb6,
+ 0x00, 0x89, 0x16, 0x32, 0x32, 0xa3, 0x3a, 0x32,
+ 0x03, 0xd7, 0x03, 0xc1, 0x89, 0x16, 0x34, 0x32,
+ 0xa3, 0x3c, 0x32, 0x33, 0xd2, 0xa1, 0x30, 0x32,
+ 0xf7, 0x36, 0xb6, 0x00, 0x89, 0x16, 0x36, 0x32,
+ 0xa3, 0x3e, 0x32, 0x03, 0x16, 0x2e, 0x32, 0x03,
+ 0x06, 0x2c, 0x32, 0x89, 0x16, 0x38, 0x32, 0xa3,
+ 0x40, 0x32, 0xa1, 0x32, 0x32, 0x8b, 0x1e, 0x36,
+ 0x32, 0x3b, 0xc3, 0x76, 0x04, 0x89, 0x1e, 0x32,
+ 0x32, 0xa1, 0x34, 0x32, 0x8b, 0x1e, 0x38, 0x32,
+ 0x3b, 0xc3, 0x77, 0x04, 0x89, 0x1e, 0x34, 0x32,
+ 0xa1, 0x3a, 0x32, 0x8b, 0x1e, 0x3e, 0x32, 0x3b,
+ 0xc3, 0x76, 0x04, 0x89, 0x1e, 0x3a, 0x32, 0xa1,
+ 0x3c, 0x32, 0x8b, 0x1e, 0x40, 0x32, 0x3b, 0xc3,
+ 0x77, 0x04, 0x89, 0x1e, 0x3c, 0x32, 0xc3, 0x55,
+ 0x1e, 0x06, 0xe8, 0x04, 0x00, 0x07, 0x1f, 0x5d,
+ 0xc3, 0x8b, 0x1e, 0xde, 0x64, 0x8b, 0x0e, 0xe2,
+ 0x64, 0x8b, 0x3e, 0xe0, 0x64, 0x8b, 0x36, 0xe4,
+ 0x64, 0xa1, 0xbf, 0x32, 0x8e, 0xc0, 0x8b, 0xc1,
+ 0x03, 0xdf, 0x81, 0xc6, 0x40, 0x01, 0xe2, 0xf8,
+ 0x8b, 0xc8, 0x81, 0xee, 0x40, 0x01, 0x03, 0xf7,
+ 0x4e, 0x4b, 0x8b, 0xc7, 0xf7, 0x26, 0xd8, 0x64,
+ 0x33, 0xd2, 0xf7, 0x36, 0xda, 0x64, 0xd1, 0xe8,
+ 0x2b, 0xf0, 0xa0, 0xae, 0x64, 0x8a, 0x26, 0xdc,
+ 0x64, 0x8a, 0x16, 0xcb, 0x64, 0x8b, 0x2e, 0xb1,
+ 0x32, 0x8e, 0xdd, 0xbd, 0x00, 0xfa, 0x0a, 0xc0,
+ 0x74, 0x03, 0xe9, 0xa8, 0x00, 0x0a, 0xe4, 0x74,
+ 0x56, 0x80, 0xfa, 0x01, 0x74, 0x51, 0x3e, 0x8b,
+ 0x56, 0x00, 0x3e, 0x03, 0x56, 0x02, 0x43, 0x2b,
+ 0xdf, 0x51, 0x56, 0x8b, 0xcf, 0x83, 0xea, 0x64,
+ 0x77, 0x0c, 0x3e, 0x03, 0x56, 0x00, 0x3e, 0x03,
+ 0x56, 0x02, 0x5e, 0x59, 0xeb, 0x2e, 0x52, 0x3e,
+ 0x8b, 0x56, 0x00, 0x3e, 0x03, 0x56, 0x02, 0x83,
+ 0xea, 0x64, 0x77, 0x0a, 0x3e, 0x03, 0x56, 0x00,
+ 0x3e, 0x03, 0x56, 0x02, 0xeb, 0x0a, 0x26, 0x8a,
+ 0x07, 0x3c, 0xff, 0x74, 0x02, 0x88, 0x04, 0x4e,
+ 0x43, 0xe2, 0xe4, 0x5a, 0x5e, 0x59, 0x81, 0xee,
+ 0x40, 0x01, 0x2b, 0xdf, 0xe2, 0xb9, 0xc3, 0x3e,
+ 0x8b, 0x56, 0x00, 0x3e, 0x03, 0x56, 0x02, 0x51,
+ 0x56, 0x8b, 0xcf, 0x83, 0xea, 0x64, 0x77, 0x0e,
+ 0x3e, 0x03, 0x56, 0x00, 0x3e, 0x03, 0x56, 0x02,
+ 0x2b, 0xd9, 0x5e, 0x59, 0xeb, 0x2c, 0x52, 0x3e,
+ 0x8b, 0x56, 0x00, 0x3e, 0x03, 0x56, 0x02, 0x83,
+ 0xea, 0x64, 0x77, 0x0a, 0x3e, 0x03, 0x56, 0x00,
+ 0x3e, 0x03, 0x56, 0x02, 0xeb, 0x0a, 0x26, 0x8a,
+ 0x07, 0x3c, 0xff, 0x74, 0x02, 0x88, 0x04, 0x4e,
+ 0x4b, 0xe2, 0xe4, 0x5a, 0x5e, 0x59, 0x81, 0xee,
+ 0x40, 0x01, 0xe2, 0xbb, 0xc3, 0x0a, 0xe4, 0x75,
+ 0x03, 0xe9, 0x8d, 0x00, 0x80, 0xfa, 0x01, 0x75,
+ 0x03, 0xe9, 0x85, 0x00, 0xe8, 0x04, 0x01, 0x43,
+ 0xba, 0x3b, 0x0b, 0x8e, 0xda, 0x8b, 0x16, 0xb1,
+ 0x32, 0x8e, 0xda, 0x2b, 0xdf, 0x51, 0x56, 0x8b,
+ 0xcf, 0x3e, 0x83, 0x6e, 0x04, 0x64, 0x77, 0x07,
+ 0xe8, 0xf5, 0x00, 0x5e, 0x59, 0xeb, 0x5f, 0x3e,
+ 0xff, 0x76, 0x04, 0xe8, 0xdd, 0x00, 0x1e, 0x3e,
+ 0x83, 0x6e, 0x04, 0x64, 0x77, 0x05, 0xe8, 0xdf,
+ 0x00, 0xeb, 0x3b, 0x26, 0x8a, 0x07, 0x3c, 0xff,
+ 0x74, 0x33, 0xba, 0x3b, 0x0b, 0x8e, 0xda, 0xa2,
+ 0x27, 0x32, 0x8b, 0xc6, 0x33, 0xd2, 0xf7, 0x36,
+ 0xb6, 0x00, 0x3b, 0x16, 0xba, 0x00, 0x77, 0x1d,
+ 0x3b, 0x16, 0xb8, 0x00, 0x72, 0x17, 0x3b, 0x06,
+ 0xbe, 0x00, 0x77, 0x11, 0x3b, 0x06, 0xbc, 0x00,
+ 0x72, 0x0b, 0xa0, 0x27, 0x32, 0x8b, 0x16, 0xb1,
+ 0x32, 0x8e, 0xda, 0x88, 0x04, 0x4e, 0x43, 0x1f,
+ 0xe2, 0xb4, 0x3e, 0x8f, 0x46, 0x04, 0x5e, 0x59,
+ 0x81, 0xee, 0x40, 0x01, 0x2b, 0xdf, 0xe2, 0x80,
+ 0xc3, 0xe8, 0x7f, 0x00, 0xba, 0x3b, 0x0b, 0x8e,
+ 0xda, 0x8b, 0x16, 0xb1, 0x32, 0x8e, 0xda, 0x51,
+ 0x56, 0x8b, 0xcf, 0x3e, 0x83, 0x6e, 0x04, 0x64,
+ 0x77, 0x09, 0xe8, 0x73, 0x00, 0x2b, 0xd9, 0x5e,
+ 0x59, 0xeb, 0x5d, 0x3e, 0xff, 0x76, 0x04, 0xe8,
+ 0x59, 0x00, 0x1e, 0x3e, 0x83, 0x6e, 0x04, 0x64,
+ 0x77, 0x05, 0xe8, 0x5b, 0x00, 0xeb, 0x3b, 0x26,
+ 0x8a, 0x07, 0x3c, 0xff, 0x74, 0x33, 0xba, 0x3b,
+ 0x0b, 0x8e, 0xda, 0xa2, 0x27, 0x32, 0x8b, 0xc6,
+ 0x33, 0xd2, 0xf7, 0x36, 0xb6, 0x00, 0x3b, 0x16,
+ 0xba, 0x00, 0x77, 0x1d, 0x3b, 0x16, 0xb8, 0x00,
+ 0x72, 0x17, 0x3b, 0x06, 0xbe, 0x00, 0x77, 0x11,
+ 0x3b, 0x06, 0xbc, 0x00, 0x72, 0x0b, 0xa0, 0x27,
+ 0x32, 0x8b, 0x16, 0xb1, 0x32, 0x8e, 0xda, 0x88,
+ 0x04, 0x4e, 0x4b, 0x1f, 0xe2, 0xb4, 0x3e, 0x8f,
+ 0x46, 0x04, 0x5e, 0x59, 0x81, 0xee, 0x40, 0x01,
+ 0xe2, 0x82, 0xc3, 0x3e, 0x8b, 0x56, 0x00, 0x3e,
+ 0x03, 0x56, 0x02, 0x3e, 0x89, 0x56, 0x04, 0xc3,
+ 0x3e, 0x8b, 0x56, 0x00, 0x3e, 0x03, 0x56, 0x02,
+ 0x3e, 0x01, 0x56, 0x04, 0xc3, 0x06, 0xa1, 0xb5,
+ 0x32, 0x8e, 0xc0, 0x33, 0xdb, 0x26, 0x8a, 0x0f,
+ 0xb5, 0x00, 0x43, 0x51, 0x0a, 0xc9, 0x75, 0x03,
+ 0xe9, 0xfb, 0x00, 0x53, 0x26, 0x8b, 0x1f, 0x26,
+ 0x8b, 0x47, 0x04, 0x33, 0xd2, 0xf7, 0x36, 0xb6,
+ 0x00, 0x26, 0x8b, 0x37, 0x03, 0xf2, 0x4e, 0x26,
+ 0x8b, 0x7f, 0x02, 0x03, 0xf8, 0x4f, 0xe8, 0x10,
+ 0x0c, 0x72, 0x03, 0xe9, 0xd0, 0x00, 0x53, 0x8a,
+ 0x1e, 0xae, 0x64, 0x89, 0x16, 0xb7, 0x32, 0x8b,
+ 0x0e, 0x32, 0x32, 0x0a, 0xdb, 0x74, 0x04, 0x8b,
+ 0x0e, 0xb8, 0x00, 0x3b, 0xca, 0x72, 0x04, 0x89,
+ 0x0e, 0xb7, 0x32, 0xa3, 0xb9, 0x32, 0x8b, 0x0e,
+ 0x3a, 0x32, 0x0a, 0xdb, 0x74, 0x04, 0x8b, 0x0e,
+ 0xbc, 0x00, 0x3b, 0xc8, 0x72, 0x04, 0x89, 0x0e,
+ 0xb9, 0x32, 0x89, 0x36, 0xbb, 0x32, 0x8b, 0x0e,
+ 0x34, 0x32, 0x0a, 0xdb, 0x74, 0x04, 0x8b, 0x0e,
+ 0xba, 0x00, 0x3b, 0xce, 0x77, 0x04, 0x89, 0x0e,
+ 0xbb, 0x32, 0x89, 0x3e, 0xbd, 0x32, 0x8b, 0x0e,
+ 0x3c, 0x32, 0x0a, 0xdb, 0x74, 0x04, 0x8b, 0x0e,
+ 0xbe, 0x00, 0x3b, 0xcf, 0x77, 0x04, 0x89, 0x0e,
+ 0xbd, 0x32, 0x5b, 0x26, 0x8b, 0x3f, 0x83, 0xc3,
+ 0x06, 0x8b, 0xc8, 0x3b, 0x0e, 0xb9, 0x32, 0x73,
+ 0x05, 0x03, 0xdf, 0x41, 0xeb, 0xf5, 0x8b, 0xca,
+ 0x3b, 0x0e, 0xb7, 0x32, 0x73, 0x04, 0x43, 0x41,
+ 0xeb, 0xf6, 0xa1, 0xb9, 0x32, 0xf7, 0x26, 0xb6,
+ 0x00, 0x03, 0x06, 0xb7, 0x32, 0x8b, 0xf0, 0x55,
+ 0xa1, 0xbd, 0x32, 0x8b, 0x0e, 0xb9, 0x32, 0x8b,
+ 0x16, 0xbb, 0x32, 0x8b, 0x2e, 0xb7, 0x32, 0x1e,
+ 0x50, 0xa1, 0xb1, 0x32, 0x8e, 0xd8, 0x58, 0x50,
+ 0x53, 0x51, 0x56, 0x8b, 0xcd, 0x26, 0x8a, 0x07,
+ 0x3c, 0xff, 0x74, 0x02, 0x88, 0x04, 0x46, 0x43,
+ 0x41, 0x3b, 0xca, 0x76, 0xf0, 0x5e, 0x59, 0x5b,
+ 0x58, 0x81, 0xc6, 0x40, 0x01, 0x03, 0xdf, 0x41,
+ 0x3b, 0xc8, 0x76, 0xdb, 0x1f, 0x5d, 0x5b, 0x43,
+ 0x43, 0x59, 0x49, 0xe9, 0xfd, 0xfe, 0x59, 0x07,
+ 0xc3, 0xe8, 0x7d, 0x73, 0xa0, 0xdc, 0x1c, 0x3c,
+ 0x02, 0x74, 0x01, 0xc3, 0x1e, 0x06, 0xa1, 0xb1,
+ 0x32, 0x8e, 0xc0, 0xa1, 0x3a, 0x32, 0x8b, 0x1e,
+ 0x32, 0x32, 0x8b, 0x0e, 0x3c, 0x32, 0x8b, 0x3e,
+ 0x34, 0x32, 0xba, 0x40, 0x01, 0xf7, 0xe2, 0x03,
+ 0xc3, 0x2b, 0xfb, 0x2b, 0x0e, 0x3a, 0x32, 0x8b,
+ 0xd8, 0xb8, 0x00, 0xa0, 0x8e, 0xd8, 0x8b, 0xd1,
+ 0x8b, 0xcf, 0x81, 0xfb, 0xff, 0xf9, 0x77, 0x05,
+ 0x26, 0x8a, 0x07, 0x88, 0x07, 0x43, 0xe2, 0xf2,
+ 0x8b, 0xca, 0x81, 0xc3, 0x40, 0x01, 0x2b, 0xdf,
+ 0xe2, 0xe4, 0x07, 0x1f, 0xc3, 0x80, 0x3e, 0x3d,
+ 0x66, 0x02, 0x74, 0x01, 0xc3, 0xbb, 0xce, 0xb5,
+ 0xe8, 0x1f, 0x0b, 0x8b, 0x0e, 0x50, 0x72, 0x49,
+ 0xd1, 0xe1, 0x03, 0xd9, 0x83, 0x3f, 0x00, 0x74,
+ 0x04, 0xff, 0x17, 0xeb, 0x03, 0xe8, 0x68, 0x6b,
+ 0xc6, 0x06, 0x3d, 0x66, 0x00, 0xc7, 0x06, 0x50,
+ 0x72, 0x00, 0x00, 0xc7, 0x06, 0x52, 0x72, 0x00,
+ 0x00, 0xe8, 0x6c, 0x00, 0xc3, 0x80, 0x3e, 0x3d,
+ 0x66, 0x04, 0x74, 0x01, 0xc3, 0xe8, 0xed, 0x70,
+ 0xbb, 0x9c, 0xb8, 0xe8, 0xe4, 0x0a, 0x8b, 0x0e,
+ 0x50, 0x72, 0x49, 0xd1, 0xe1, 0x03, 0xd9, 0xff,
+ 0x17, 0xe8, 0xfb, 0x70, 0xc6, 0x06, 0x3d, 0x66,
+ 0x00, 0xc7, 0x06, 0x50, 0x72, 0x00, 0x00, 0xc7,
+ 0x06, 0x52, 0x72, 0xff, 0x00, 0xe8, 0x38, 0x00,
+ 0xc3, 0xa1, 0xaf, 0x64, 0x3b, 0x06, 0xbb, 0x64,
+ 0x74, 0x04, 0xe8, 0x2b, 0x00, 0xc3, 0xa1, 0xb1,
+ 0x64, 0x3b, 0x06, 0xbd, 0x64, 0x74, 0x04, 0xe8,
+ 0x1e, 0x00, 0xc3, 0xbb, 0x9c, 0x32, 0x8b, 0x07,
+ 0x0b, 0x47, 0x02, 0x75, 0x06, 0xb9, 0xf4, 0x01,
+ 0xe8, 0xa0, 0x73, 0xe8, 0xb0, 0x73, 0x72, 0x01,
+ 0xc3, 0xe8, 0x0f, 0x00, 0xe8, 0x01, 0x00, 0xc3,
+ 0xbb, 0x9c, 0x32, 0x33, 0xc0, 0x89, 0x07, 0x89,
+ 0x47, 0x02, 0xc3, 0xa1, 0xbf, 0x32, 0xa3, 0xac,
+ 0x00, 0x33, 0xc0, 0xa3, 0xaa, 0x00, 0xb9, 0x02,
+ 0x00, 0xba, 0x54, 0x00, 0xe8, 0x01, 0x7a, 0xbb,
+ 0x8a, 0x32, 0x33, 0xc0, 0x89, 0x07, 0x89, 0x47,
+ 0x02, 0xc6, 0x06, 0xcd, 0x64, 0x01, 0xc6, 0x06,
+ 0xcb, 0x64, 0x01, 0xc6, 0x06, 0x3f, 0x65, 0x01,
+ 0xe8, 0x22, 0x08, 0x83, 0x3e, 0xc2, 0x00, 0x00,
+ 0x74, 0x05, 0xe8, 0xb5, 0xea, 0xeb, 0x15, 0xbb,
+ 0x98, 0x32, 0x8b, 0x07, 0x0b, 0x47, 0x02, 0x75,
+ 0x06, 0xb9, 0x32, 0x00, 0xe8, 0x3c, 0x73, 0xe8,
+ 0x4c, 0x73, 0x72, 0x21, 0xe8, 0x32, 0x00, 0xe8,
+ 0xd3, 0xf5, 0xe8, 0xf1, 0xf2, 0xe8, 0x04, 0xd3,
+ 0x80, 0x3e, 0x95, 0x60, 0x01, 0x74, 0x0e, 0x80,
+ 0x3e, 0xca, 0x00, 0x01, 0x74, 0x07, 0x80, 0x3e,
+ 0xcb, 0x00, 0x01, 0x75, 0xbe, 0xe8, 0xc3, 0x75,
+ 0xe8, 0xa6, 0x08, 0xc6, 0x06, 0xdc, 0x1c, 0x02,
+ 0xe8, 0x9b, 0xf2, 0xc6, 0x06, 0xdc, 0x1c, 0x03,
+ 0xc3, 0x06, 0xbb, 0x8a, 0x32, 0xe8, 0x0e, 0x73,
+ 0x73, 0x1a, 0x8b, 0x0e, 0x90, 0x32, 0xe8, 0xf2,
+ 0x72, 0xe8, 0x1a, 0x06, 0xe8, 0x8d, 0x07, 0xc6,
+ 0x06, 0xdc, 0x1c, 0x02, 0xe8, 0x77, 0xf2, 0xc6,
+ 0x06, 0xdc, 0x1c, 0x03, 0x07, 0xc3, 0x06, 0xbb,
+ 0x8a, 0x32, 0xe8, 0xe9, 0x72, 0x73, 0x1a, 0x8b,
+ 0x0e, 0x90, 0x32, 0xe8, 0xcd, 0x72, 0xe8, 0xf5,
+ 0x05, 0xe8, 0xa4, 0x07, 0xc6, 0x06, 0xdc, 0x1c,
+ 0x02, 0xe8, 0x52, 0xf2, 0xc6, 0x06, 0xdc, 0x1c,
+ 0x03, 0x07, 0xc3, 0xe8, 0xcc, 0x6d, 0xe8, 0x54,
+ 0xf5, 0xe8, 0x1c, 0x00, 0x80, 0x3e, 0xc6, 0x64,
+ 0x00, 0x75, 0xf3, 0xc3, 0xe8, 0xbb, 0x6d, 0xe8,
+ 0x43, 0xf5, 0xe8, 0x0b, 0x00, 0xe8, 0x5e, 0xf2,
+ 0x80, 0x3e, 0xc6, 0x64, 0x00, 0x75, 0xf0, 0xc3,
+ 0x06, 0xa0, 0xc6, 0x64, 0x3c, 0x00, 0x75, 0x03,
+ 0xe9, 0xc3, 0x00, 0x3c, 0x03, 0x74, 0x39, 0xe8,
+ 0x0c, 0x02, 0x73, 0x0d, 0xe8, 0x84, 0x01, 0x72,
+ 0xf6, 0xc6, 0x06, 0xc6, 0x64, 0x00, 0xe9, 0xad,
+ 0x00, 0xc6, 0x06, 0xc4, 0x64, 0x00, 0xc6, 0x06,
+ 0xc6, 0x64, 0x03, 0xe8, 0x22, 0x08, 0x73, 0x0e,
+ 0xc6, 0x06, 0xc6, 0x64, 0x02, 0xc6, 0x06, 0xe2,
+ 0x65, 0x01, 0xff, 0x06, 0xce, 0x64, 0xbb, 0x8a,
+ 0x32, 0x33, 0xc0, 0x89, 0x07, 0x89, 0x47, 0x02,
+ 0xbb, 0x8a, 0x32, 0xe8, 0x58, 0x72, 0x72, 0x02,
+ 0xeb, 0x7c, 0x8b, 0x0e, 0x8e, 0x32, 0xe8, 0x3a,
+ 0x72, 0xe8, 0xbd, 0x05, 0xe8, 0x5f, 0x05, 0x72,
+ 0xae, 0xe8, 0xb0, 0x02, 0x72, 0xa9, 0xe8, 0x6f,
+ 0x06, 0xc6, 0x06, 0xc6, 0x64, 0x03, 0xff, 0x0e,
+ 0xce, 0x64, 0x7f, 0x4d, 0x80, 0x3e, 0xc5, 0x64,
+ 0x01, 0x75, 0x2e, 0x8b, 0x3e, 0xb7, 0x64, 0x8b,
+ 0x36, 0xb9, 0x64, 0x8b, 0x0e, 0xbb, 0x64, 0x8b,
+ 0x16, 0xbd, 0x64, 0x3b, 0xf9, 0x75, 0x04, 0x3b,
+ 0xf2, 0x74, 0x16, 0xe8, 0x3a, 0x00, 0x89, 0x3e,
+ 0xaf, 0x64, 0x89, 0x36, 0xb1, 0x64, 0x89, 0x0e,
+ 0xb7, 0x64, 0x89, 0x16, 0xb9, 0x64, 0xe9, 0x66,
+ 0xff, 0xe8, 0xc6, 0x08, 0xe8, 0x7c, 0x00, 0xe8,
+ 0x77, 0x07, 0xa1, 0xb7, 0x64, 0xa3, 0xaf, 0x64,
+ 0xa1, 0xb9, 0x64, 0xa3, 0xb1, 0x64, 0xe8, 0xb4,
+ 0x00, 0xc6, 0x06, 0xdc, 0x1c, 0x02, 0xe8, 0x5d,
+ 0xf1, 0xc6, 0x06, 0xdc, 0x1c, 0x03, 0x07, 0xc3,
+ 0x8b, 0x1e, 0x44, 0x67, 0x43, 0x43, 0xa0, 0x40,
+ 0x67, 0x3c, 0x00, 0x75, 0x1b, 0x3b, 0xd6, 0x76,
+ 0x0e, 0x8b, 0xd6, 0x3b, 0x3f, 0x77, 0x09, 0x8b,
+ 0x4f, 0x04, 0xc6, 0x06, 0x40, 0x67, 0x01, 0xc3,
+ 0x8b, 0x0f, 0xc6, 0x06, 0x40, 0x67, 0x03, 0xc3,
+ 0x3c, 0x02, 0x75, 0x05, 0x3b, 0xd6, 0x72, 0xe1,
+ 0xc3, 0x3c, 0x01, 0x75, 0x1d, 0x3b, 0xcf, 0x73,
+ 0xe6, 0x8b, 0xcf, 0x3b, 0x77, 0x02, 0x77, 0x09,
+ 0x8b, 0x57, 0x06, 0xc6, 0x06, 0x40, 0x67, 0x02,
+ 0xc3, 0x8b, 0x57, 0x02, 0xc6, 0x06, 0x40, 0x67,
+ 0x00, 0xc3, 0x3c, 0x03, 0x75, 0xc9, 0x3b, 0xcf,
+ 0x77, 0xdf, 0xc3, 0xa0, 0xc3, 0x64, 0x0a, 0xc0,
+ 0x74, 0x42, 0x3c, 0x01, 0x75, 0x0a, 0xc6, 0x06,
+ 0xcb, 0x64, 0x01, 0xc6, 0x06, 0xcd, 0x64, 0x00,
+ 0x3c, 0x03, 0x75, 0x0a, 0xc6, 0x06, 0xcb, 0x64,
+ 0x01, 0xc6, 0x06, 0xcd, 0x64, 0x01, 0x3c, 0x02,
+ 0x75, 0x0f, 0xc6, 0x06, 0xcb, 0x64, 0x00, 0xc6,
+ 0x06, 0xcc, 0x64, 0x01, 0xc6, 0x06, 0xdc, 0x64,
+ 0x00, 0x3c, 0x04, 0x75, 0x0f, 0xc6, 0x06, 0xcb,
+ 0x64, 0x00, 0xc6, 0x06, 0xcc, 0x64, 0x00, 0xc6,
+ 0x06, 0xdc, 0x64, 0x01, 0xc3, 0xc6, 0x06, 0xc3,
+ 0x64, 0x00, 0xa0, 0x3d, 0x66, 0x3c, 0x01, 0x75,
+ 0x06, 0xc6, 0x06, 0x3d, 0x66, 0x02, 0xc3, 0x3c,
+ 0x03, 0x75, 0x06, 0xc6, 0x06, 0x3d, 0x66, 0x04,
+ 0xc3, 0x3c, 0x05, 0x75, 0x05, 0xc6, 0x06, 0x3d,
+ 0x66, 0x06, 0xc3, 0x8a, 0x0e, 0xc3, 0x64, 0x0a,
+ 0xc9, 0x74, 0x69, 0xa0, 0xcc, 0x64, 0x8a, 0x26,
+ 0xcd, 0x64, 0x8a, 0x2e, 0xcb, 0x64, 0x80, 0xf9,
+ 0x01, 0x75, 0x13, 0x80, 0xfc, 0x00, 0x75, 0x05,
+ 0x80, 0xfd, 0x01, 0x74, 0x4f, 0xe8, 0x51, 0x00,
+ 0xff, 0x06, 0xb1, 0x64, 0xf9, 0xc3, 0x80, 0xf9,
+ 0x03, 0x75, 0x13, 0x80, 0xfc, 0x01, 0x75, 0x05,
+ 0x80, 0xfd, 0x01, 0x74, 0x37, 0xe8, 0x39, 0x00,
+ 0xff, 0x0e, 0xb1, 0x64, 0xf9, 0xc3, 0x80, 0xf9,
+ 0x02, 0x75, 0x12, 0x3c, 0x01, 0x75, 0x05, 0x80,
+ 0xfd, 0x00, 0x74, 0x20, 0xe8, 0x22, 0x00, 0xff,
+ 0x0e, 0xaf, 0x64, 0xf9, 0xc3, 0x80, 0xf9, 0x04,
+ 0x75, 0x12, 0x3c, 0x00, 0x75, 0x05, 0x80, 0xfd,
+ 0x00, 0x74, 0x09, 0xe8, 0x0b, 0x00, 0xff, 0x06,
+ 0xaf, 0x64, 0xf9, 0xc3, 0xe8, 0x66, 0xff, 0xf8,
+ 0xc3, 0xa1, 0xaf, 0x64, 0xa3, 0xb7, 0x64, 0xa1,
+ 0xb1, 0x64, 0xa3, 0xb9, 0x64, 0xc3, 0x33, 0xc9,
+ 0xa1, 0xb7, 0x64, 0x8b, 0x1e, 0xaf, 0x64, 0x3b,
+ 0xc3, 0x77, 0x03, 0xfe, 0xc1, 0x93, 0x2b, 0xc3,
+ 0xa3, 0xc7, 0x64, 0xa1, 0xb9, 0x64, 0x8b, 0x1e,
+ 0xb1, 0x64, 0x3b, 0xc3, 0x77, 0x03, 0xfe, 0xc5,
+ 0x93, 0x2b, 0xc3, 0xa3, 0xc9, 0x64, 0x8b, 0x1e,
+ 0xc7, 0x64, 0xa1, 0xc9, 0x64, 0x0b, 0xdb, 0x74,
+ 0x0d, 0xc6, 0x06, 0xcc, 0x64, 0x01, 0x0a, 0xc9,
+ 0x74, 0x04, 0xfe, 0x0e, 0xcc, 0x64, 0x0b, 0xc0,
+ 0x74, 0x0d, 0xc6, 0x06, 0xcd, 0x64, 0x01, 0x0a,
+ 0xed, 0x74, 0x04, 0xfe, 0x0e, 0xcd, 0x64, 0x8b,
+ 0xd0, 0x0b, 0xc0, 0x0b, 0xc3, 0x75, 0x02, 0xf9,
+ 0xc3, 0x8b, 0xc2, 0xb9, 0x10, 0x00, 0xf7, 0xe1,
+ 0xb9, 0x0a, 0x00, 0xf7, 0xf1, 0x3b, 0xc3, 0x77,
+ 0x3e, 0xa0, 0xdc, 0x64, 0xa2, 0xdd, 0x64, 0xc6,
+ 0x06, 0xdc, 0x64, 0x00, 0xc6, 0x06, 0xcb, 0x64,
+ 0x00, 0x80, 0x3e, 0xcc, 0x64, 0x01, 0x74, 0x05,
+ 0xc6, 0x06, 0xdc, 0x64, 0x01, 0xa1, 0xc7, 0x64,
+ 0x8b, 0x1e, 0xb5, 0x64, 0x33, 0xd2, 0xf7, 0xf3,
+ 0xa3, 0xce, 0x64, 0xa1, 0xb5, 0x64, 0x8b, 0x1e,
+ 0xc9, 0x64, 0xb9, 0xe8, 0x03, 0xf7, 0xe3, 0xf7,
+ 0xe1, 0x8b, 0x1e, 0xc7, 0x64, 0xeb, 0x25, 0xc6,
+ 0x06, 0xcb, 0x64, 0x01, 0xa1, 0xc9, 0x64, 0x8b,
+ 0x1e, 0xb3, 0x64, 0x33, 0xd2, 0xf7, 0xf3, 0xa3,
+ 0xce, 0x64, 0xa1, 0xb3, 0x64, 0x8b, 0x1e, 0xc7,
+ 0x64, 0xb9, 0xe8, 0x03, 0xf7, 0xe3, 0xf7, 0xe1,
+ 0x8b, 0x1e, 0xc9, 0x64, 0xf7, 0xf3, 0xbb, 0xd0,
+ 0x64, 0x89, 0x07, 0xc7, 0x47, 0x02, 0x00, 0x00,
+ 0xbb, 0xd4, 0x64, 0x89, 0x07, 0xc7, 0x47, 0x02,
+ 0x00, 0x00, 0x80, 0x3e, 0xc4, 0x64, 0x01, 0x75,
+ 0x05, 0xc6, 0x06, 0xe2, 0x65, 0x01, 0xff, 0x06,
+ 0xce, 0x64, 0xf8, 0xc3, 0x83, 0x3e, 0xce, 0x64,
+ 0x01, 0x75, 0x02, 0xf8, 0xc3, 0x8b, 0x36, 0xaf,
+ 0x64, 0x8b, 0x3e, 0xb1, 0x64, 0xe8, 0x2e, 0x02,
+ 0x72, 0x01, 0xc3, 0x8b, 0x36, 0x44, 0x67, 0x3b,
+ 0xde, 0x74, 0x0f, 0x89, 0x1e, 0x44, 0x67, 0x8a,
+ 0x04, 0x3a, 0x07, 0x74, 0x05, 0xc6, 0x06, 0x40,
+ 0x67, 0xff, 0xc6, 0x06, 0xc5, 0x64, 0x01, 0xa0,
+ 0xcc, 0x64, 0x8a, 0x26, 0xcd, 0x64, 0x0a, 0xe4,
+ 0x74, 0x15, 0xc6, 0x06, 0x42, 0x67, 0x01, 0xc6,
+ 0x06, 0x43, 0x67, 0x01, 0x0a, 0xc0, 0x74, 0x1a,
+ 0xc6, 0x06, 0x43, 0x67, 0x00, 0xeb, 0x13, 0xc6,
+ 0x06, 0x42, 0x67, 0x00, 0xc6, 0x06, 0x43, 0x67,
+ 0x01, 0x0a, 0xc0, 0x74, 0x05, 0xc6, 0x06, 0x43,
+ 0x67, 0x00, 0x43, 0x43, 0x53, 0x8b, 0x0f, 0x41,
+ 0x8b, 0x7f, 0x02, 0x47, 0x8b, 0x77, 0x04, 0x4e,
+ 0x8b, 0x5f, 0x06, 0x4b, 0xa1, 0xbf, 0x64, 0x8b,
+ 0x16, 0xc1, 0x64, 0x3b, 0xc1, 0x72, 0x17, 0x3b,
+ 0xc6, 0x77, 0x13, 0xc6, 0x06, 0x41, 0x67, 0x00,
+ 0x80, 0x3e, 0x42, 0x67, 0x01, 0x74, 0x4f, 0xc6,
+ 0x06, 0x41, 0x67, 0x02, 0xeb, 0x48, 0x3b, 0xd7,
+ 0x72, 0x17, 0x3b, 0xd3, 0x77, 0x13, 0xc6, 0x06,
+ 0x41, 0x67, 0x01, 0x80, 0x3e, 0x43, 0x67, 0x01,
+ 0x74, 0x34, 0xc6, 0x06, 0x41, 0x67, 0x03, 0xeb,
+ 0x2d, 0x80, 0x3e, 0xcb, 0x64, 0x00, 0x75, 0x13,
+ 0xc6, 0x06, 0x41, 0x67, 0x01, 0x80, 0x3e, 0x43,
+ 0x67, 0x01, 0x74, 0x1a, 0xc6, 0x06, 0x41, 0x67,
+ 0x03, 0xeb, 0x13, 0xc6, 0x06, 0x41, 0x67, 0x00,
+ 0x80, 0x3e, 0x42, 0x67, 0x01, 0x74, 0x07, 0xc6,
+ 0x06, 0x41, 0x67, 0x02, 0xeb, 0x00, 0x5b, 0x53,
+ 0x83, 0xc3, 0x08, 0xa0, 0x41, 0x67, 0xb4, 0x00,
+ 0x03, 0xd8, 0x8a, 0x07, 0x5b, 0x8a, 0x36, 0x40,
+ 0x67, 0x0a, 0xc0, 0x74, 0x18, 0x3c, 0x01, 0x74,
+ 0x35, 0x3c, 0x02, 0x74, 0x56, 0x3c, 0x03, 0x74,
+ 0x77, 0x3c, 0x04, 0x75, 0x03, 0xe9, 0x95, 0x00,
+ 0xb0, 0x34, 0xe9, 0xf3, 0x78, 0xa0, 0xcd, 0x64,
+ 0x8a, 0x26, 0xcc, 0x64, 0x8a, 0x16, 0x41, 0x67,
+ 0x80, 0xfa, 0x01, 0x74, 0x05, 0x80, 0xfa, 0x03,
+ 0x75, 0x06, 0x0a, 0xc0, 0x74, 0x08, 0xeb, 0x50,
+ 0x0a, 0xe4, 0x75, 0x27, 0xeb, 0x6f, 0x80, 0xfe,
+ 0x02, 0x75, 0x09, 0x80, 0x3e, 0xcc, 0x64, 0x01,
+ 0x74, 0x19, 0xeb, 0x61, 0x80, 0xfe, 0x00, 0x74,
+ 0xf2, 0xa1, 0xbf, 0x64, 0xa3, 0xb7, 0x64, 0x83,
+ 0xc3, 0x02, 0x8b, 0x07, 0xa3, 0xb9, 0x64, 0xb0,
+ 0x00, 0xeb, 0x6a, 0x80, 0xfe, 0x03, 0x75, 0x09,
+ 0x80, 0x3e, 0xcd, 0x64, 0x01, 0x75, 0xcf, 0xeb,
+ 0x17, 0x80, 0xfe, 0x01, 0x74, 0xf2, 0xa1, 0xc1,
+ 0x64, 0xa3, 0xb9, 0x64, 0x83, 0xc3, 0x04, 0x8b,
+ 0x07, 0xa3, 0xb7, 0x64, 0xb0, 0x01, 0xeb, 0x45,
+ 0x80, 0xfe, 0x00, 0x75, 0x09, 0x80, 0x3e, 0xcc,
+ 0x64, 0x01, 0x75, 0x19, 0xeb, 0xcd, 0x80, 0xfe,
+ 0x02, 0x74, 0xf2, 0xa1, 0xbf, 0x64, 0xa3, 0xb7,
+ 0x64, 0x83, 0xc3, 0x06, 0x8b, 0x07, 0xa3, 0xb9,
+ 0x64, 0xb0, 0x02, 0xeb, 0x20, 0x80, 0xfe, 0x01,
+ 0x75, 0x09, 0x80, 0x3e, 0xcd, 0x64, 0x01, 0x74,
+ 0xcf, 0xeb, 0x83, 0x80, 0xfe, 0x03, 0x74, 0xf2,
+ 0xa1, 0xc1, 0x64, 0xa3, 0xb9, 0x64, 0x8b, 0x07,
+ 0xa3, 0xb7, 0x64, 0xb0, 0x03, 0xa2, 0x40, 0x67,
+ 0xa1, 0xbf, 0x64, 0xa3, 0xaf, 0x64, 0xa1, 0xc1,
+ 0x64, 0xa3, 0xb1, 0x64, 0xf9, 0xc3, 0x81, 0xfe,
+ 0x3f, 0x01, 0x75, 0x01, 0x4e, 0x0b, 0xf6, 0x75,
+ 0x01, 0x46, 0x81, 0xff, 0xc7, 0x00, 0x75, 0x01,
+ 0x4f, 0x0b, 0xff, 0x75, 0x01, 0x47, 0xe8, 0x89,
+ 0x00, 0x73, 0x29, 0x43, 0x8a, 0x07, 0x0a, 0xc0,
+ 0x74, 0x08, 0xe8, 0x20, 0x00, 0xe8, 0x7a, 0x00,
+ 0x73, 0x1a, 0xe8, 0x14, 0x03, 0xc6, 0x06, 0xdc,
+ 0x1c, 0x02, 0xe8, 0x09, 0xed, 0xc6, 0x06, 0xdc,
+ 0x1c, 0x03, 0xa1, 0xaf, 0x64, 0x8b, 0xf0, 0xa1,
+ 0xb1, 0x64, 0x8b, 0xf8, 0xc3, 0x43, 0x3c, 0x01,
+ 0x75, 0x05, 0x8b, 0x7f, 0x02, 0x4f, 0xc3, 0x3c,
+ 0x03, 0x75, 0x05, 0x8b, 0x7f, 0x06, 0x47, 0xc3,
+ 0x3c, 0x02, 0x75, 0x05, 0x8b, 0x77, 0x04, 0x46,
+ 0xc3, 0x3c, 0x04, 0x75, 0x04, 0x8b, 0x37, 0x4e,
+ 0xc3, 0xb0, 0x3a, 0xe9, 0xc2, 0x77, 0xbb, 0x46,
+ 0x67, 0xe8, 0x2e, 0x04, 0x8a, 0x0f, 0x0a, 0xc9,
+ 0x74, 0x24, 0xb5, 0x00, 0x43, 0x8b, 0x47, 0x02,
+ 0x8b, 0x57, 0x06, 0x3b, 0xf0, 0x76, 0x12, 0x3b,
+ 0xf2, 0x73, 0x0e, 0x8b, 0x47, 0x04, 0x8b, 0x57,
+ 0x08, 0x3b, 0xf8, 0x76, 0x04, 0x3b, 0xfa, 0x72,
+ 0x07, 0x83, 0xc3, 0x0e, 0xe2, 0xdf, 0xf8, 0xc3,
+ 0xf9, 0xc3, 0xbb, 0x46, 0x67, 0xe8, 0xfa, 0x03,
+ 0x8a, 0x0f, 0x0a, 0xc9, 0x74, 0x24, 0xb5, 0x00,
+ 0x43, 0x8b, 0x47, 0x02, 0x8b, 0x57, 0x06, 0x3b,
+ 0xf0, 0x72, 0x12, 0x3b, 0xf2, 0x77, 0x0e, 0x8b,
+ 0x47, 0x04, 0x8b, 0x57, 0x08, 0x3b, 0xf8, 0x72,
+ 0x04, 0x3b, 0xfa, 0x76, 0x07, 0x83, 0xc3, 0x0e,
+ 0xe2, 0xdf, 0xf8, 0xc3, 0xf9, 0xc3, 0xbb, 0xf4,
+ 0x70, 0xe8, 0xc6, 0x03, 0x8b, 0x07, 0x3d, 0xff,
+ 0xff, 0x74, 0x4c, 0x43, 0x43, 0x8b, 0x0e, 0xb1,
+ 0x64, 0x3a, 0xc8, 0x77, 0xef, 0x8a, 0xc4, 0xb4,
+ 0x00, 0xa3, 0xd8, 0x64, 0xe8, 0x25, 0x03, 0x83,
+ 0x3e, 0xce, 0x64, 0x02, 0x76, 0x31, 0x83, 0x3e,
+ 0xd8, 0x64, 0x1e, 0x72, 0x15, 0x83, 0x3e, 0xb3,
+ 0x64, 0x01, 0x74, 0x23, 0xc7, 0x06, 0xb3, 0x64,
+ 0x01, 0x00, 0xc7, 0x06, 0xb5, 0x64, 0x04, 0x00,
+ 0xf9, 0xc3, 0x83, 0x3e, 0xb3, 0x64, 0x03, 0x74,
+ 0x0e, 0xc7, 0x06, 0xb3, 0x64, 0x03, 0x00, 0xc7,
+ 0x06, 0xb5, 0x64, 0x08, 0x00, 0xf9, 0xc3, 0xf8,
+ 0xc3, 0x80, 0x3e, 0xc6, 0x64, 0x02, 0x75, 0x01,
+ 0xc3, 0xa1, 0xaf, 0x64, 0xa3, 0xbf, 0x64, 0xa1,
+ 0xb1, 0x64, 0xa3, 0xc1, 0x64, 0x80, 0x3e, 0xcb,
+ 0x64, 0x00, 0x75, 0x36, 0xa1, 0xb5, 0x64, 0x80,
+ 0x3e, 0xcc, 0x64, 0x01, 0x75, 0x06, 0x01, 0x06,
+ 0xaf, 0x64, 0xeb, 0x04, 0x29, 0x06, 0xaf, 0x64,
+ 0xbb, 0xd4, 0x64, 0x8b, 0x07, 0x8b, 0x57, 0x02,
+ 0xb9, 0xe8, 0x03, 0xf7, 0xf1, 0x80, 0x3e, 0xcd,
+ 0x64, 0x01, 0x75, 0x06, 0x01, 0x06, 0xb1, 0x64,
+ 0xeb, 0x04, 0x29, 0x06, 0xb1, 0x64, 0xe8, 0x37,
+ 0x00, 0xc3, 0xa1, 0xb3, 0x64, 0x80, 0x3e, 0xcd,
+ 0x64, 0x01, 0x75, 0x06, 0x01, 0x06, 0xb1, 0x64,
+ 0xeb, 0x04, 0x29, 0x06, 0xb1, 0x64, 0xbb, 0xd4,
+ 0x64, 0x8b, 0x07, 0x8b, 0x57, 0x02, 0xb9, 0xe8,
+ 0x03, 0xf7, 0xf1, 0x80, 0x3e, 0xcc, 0x64, 0x01,
+ 0x75, 0x06, 0x01, 0x06, 0xaf, 0x64, 0xeb, 0x04,
+ 0x29, 0x06, 0xaf, 0x64, 0xe8, 0x01, 0x00, 0xc3,
+ 0x50, 0xbb, 0xd4, 0x64, 0x8b, 0x07, 0x8b, 0x57,
+ 0x02, 0xbe, 0xd0, 0x64, 0x8b, 0x1c, 0x8b, 0x4c,
+ 0x02, 0x03, 0xc3, 0x83, 0xd2, 0x00, 0x03, 0xd1,
+ 0xbb, 0xd4, 0x64, 0x89, 0x07, 0x89, 0x57, 0x02,
+ 0x58, 0xb9, 0xe8, 0x03, 0xf7, 0xe1, 0x8b, 0xc8,
+ 0x8b, 0x07, 0x8b, 0x57, 0x02, 0x2b, 0xc1, 0x83,
+ 0xda, 0x00, 0x89, 0x07, 0x89, 0x57, 0x02, 0xc3,
+ 0x8a, 0x0e, 0x07, 0x66, 0x80, 0x3e, 0xc6, 0x64,
+ 0x02, 0x74, 0x4d, 0x80, 0x3e, 0xcb, 0x64, 0x00,
+ 0x75, 0x0f, 0xbb, 0xed, 0x65, 0x80, 0x3e, 0xcc,
+ 0x64, 0x01, 0x74, 0x1e, 0xbb, 0xe3, 0x65, 0xeb,
+ 0x19, 0x80, 0x3e, 0xe2, 0x65, 0x07, 0x76, 0x05,
+ 0xc6, 0x06, 0xe2, 0x65, 0x01, 0xbb, 0xff, 0x65,
+ 0x80, 0x3e, 0xcd, 0x64, 0x01, 0x74, 0x03, 0xbb,
+ 0xf7, 0x65, 0x8a, 0x0e, 0xe2, 0x65, 0xb5, 0x00,
+ 0x49, 0x03, 0xd9, 0x8a, 0x0f, 0x0a, 0xc9, 0x75,
+ 0x07, 0xc6, 0x06, 0xe2, 0x65, 0x01, 0xeb, 0xbb,
+ 0x88, 0x0e, 0x07, 0x66, 0xfe, 0x06, 0xe2, 0x65,
+ 0xe8, 0xdd, 0x00, 0xc3, 0x8b, 0x1e, 0x3d, 0x65,
+ 0x8a, 0x0e, 0x3f, 0x65, 0xb5, 0x00, 0x49, 0x03,
+ 0xd9, 0x8a, 0x0f, 0x0a, 0xc9, 0x75, 0x0a, 0xc6,
+ 0x06, 0x3f, 0x65, 0x04, 0xe8, 0x0e, 0x00, 0xeb,
+ 0xe3, 0x88, 0x0e, 0x07, 0x66, 0xfe, 0x06, 0x3f,
+ 0x65, 0xe8, 0xb4, 0x00, 0xc3, 0xb8, 0x03, 0x00,
+ 0xe8, 0xb0, 0x73, 0xbb, 0x40, 0x65, 0xd1, 0xe0,
+ 0x03, 0xd8, 0x8b, 0x07, 0xa3, 0x3d, 0x65, 0xc3,
+ 0x80, 0x3e, 0xcb, 0x64, 0x00, 0x75, 0x13, 0xbb,
+ 0xfe, 0x64, 0xb2, 0x01, 0x80, 0x3e, 0xcc, 0x64,
+ 0x01, 0x74, 0x18, 0xbb, 0xe9, 0x64, 0xb2, 0x01,
+ 0xeb, 0x11, 0xbb, 0x28, 0x65, 0xb2, 0x0b, 0x80,
+ 0x3e, 0xcd, 0x64, 0x01, 0x74, 0x05, 0xbb, 0x13,
+ 0x65, 0xb2, 0x13, 0x8a, 0x0e, 0xe8, 0x64, 0xb5,
+ 0x00, 0x49, 0x03, 0xd9, 0x8a, 0x0f, 0x0a, 0xc9,
+ 0x75, 0x07, 0xc6, 0x06, 0xe8, 0x64, 0x01, 0xeb,
+ 0xbf, 0xfe, 0x06, 0xe8, 0x64, 0xe8, 0x58, 0x00,
+ 0x1e, 0x53, 0x8a, 0xca, 0x88, 0x0e, 0x07, 0x66,
+ 0xe8, 0x4d, 0x00, 0x8b, 0xf3, 0x5b, 0xa1, 0xbf,
+ 0x32, 0x8e, 0xd8, 0x8b, 0x07, 0x8b, 0x4f, 0x02,
+ 0xf7, 0xe1, 0x8b, 0xc8, 0xb8, 0x06, 0x00, 0x03,
+ 0xd8, 0x03, 0xf0, 0x8a, 0x07, 0x88, 0x04, 0x43,
+ 0x46, 0xe2, 0xf8, 0x1f, 0xc3, 0x33, 0xc9, 0x80,
+ 0x3e, 0xcb, 0x64, 0x00, 0x75, 0x11, 0xb2, 0x01,
+ 0xb1, 0x28, 0x80, 0x3e, 0xcc, 0x64, 0x01, 0x74,
+ 0xb8, 0xb2, 0x01, 0xb1, 0x28, 0xeb, 0xb2, 0xb2,
+ 0x0b, 0xb1, 0x29, 0x80, 0x3e, 0xcd, 0x64, 0x01,
+ 0x74, 0xa7, 0xb2, 0x13, 0xb1, 0x2a, 0xeb, 0xa1,
+ 0x06, 0xa1, 0xbf, 0x32, 0x8e, 0xc0, 0x32, 0xed,
+ 0xbb, 0x01, 0x00, 0x49, 0xd1, 0xe1, 0x03, 0xd9,
+ 0x26, 0x8b, 0x1f, 0x89, 0x1e, 0xe6, 0x64, 0x07,
+ 0xc3, 0x80, 0x3e, 0xcb, 0x64, 0x00, 0x75, 0x0d,
+ 0xb1, 0x01, 0x80, 0x3e, 0xcc, 0x64, 0x01, 0x74,
+ 0x0f, 0xb1, 0x01, 0xeb, 0x0b, 0xb1, 0x0b, 0x80,
+ 0x3e, 0xcd, 0x64, 0x01, 0x74, 0x02, 0xb1, 0x13,
+ 0x88, 0x0e, 0x07, 0x66, 0xe8, 0xc1, 0xff, 0xc3,
+ 0xa0, 0x07, 0x66, 0x8a, 0x26, 0xcb, 0x64, 0x8a,
+ 0x1e, 0xcc, 0x64, 0x8a, 0x3e, 0xcd, 0x64, 0x83,
+ 0x3e, 0xce, 0x64, 0x01, 0x75, 0x44, 0x3c, 0x13,
+ 0x75, 0x0f, 0x80, 0xfc, 0x01, 0x75, 0x3b, 0x80,
+ 0xff, 0x00, 0x75, 0x36, 0xb1, 0x14, 0xe9, 0x85,
+ 0x00, 0x3c, 0x0b, 0x75, 0x0e, 0x80, 0xfc, 0x01,
+ 0x75, 0x28, 0x80, 0xff, 0x01, 0x75, 0x23, 0xb1,
+ 0x0c, 0xeb, 0x73, 0x3c, 0x01, 0x75, 0x1b, 0xa0,
+ 0xdd, 0x64, 0x3a, 0x06, 0xdc, 0x64, 0x75, 0x12,
+ 0x80, 0xfc, 0x00, 0x75, 0x0d, 0x80, 0xfb, 0x01,
+ 0x75, 0x04, 0xb1, 0x02, 0xeb, 0x58, 0xb1, 0x02,
+ 0xeb, 0x54, 0xa0, 0x07, 0x66, 0x3c, 0x13, 0x72,
+ 0x12, 0x3c, 0x1a, 0x77, 0x0e, 0x80, 0xfc, 0x01,
+ 0x75, 0x42, 0x80, 0xff, 0x01, 0x75, 0x3d, 0xb1,
+ 0x02, 0xeb, 0x3b, 0x3c, 0x01, 0x72, 0x1f, 0x3c,
+ 0x0a, 0x77, 0x1b, 0x80, 0xfc, 0x00, 0x75, 0x2c,
+ 0xa0, 0xdd, 0x64, 0x38, 0x06, 0xdc, 0x64, 0x74,
+ 0x23, 0x80, 0xfb, 0x01, 0x75, 0x04, 0xb1, 0x0c,
+ 0xeb, 0x1c, 0xb1, 0x0c, 0xeb, 0x18, 0x3c, 0x0b,
+ 0x72, 0x12, 0x3c, 0x12, 0x77, 0x0e, 0x80, 0xfc,
+ 0x01, 0x75, 0x09, 0x80, 0xff, 0x00, 0x75, 0x04,
+ 0xb1, 0x02, 0xeb, 0x02, 0xf8, 0xc3, 0x88, 0x0e,
+ 0x07, 0x66, 0xf9, 0xc3, 0xa1, 0xd8, 0x64, 0x3d,
+ 0x64, 0x00, 0x77, 0x28, 0x53, 0x1e, 0x8b, 0x16,
+ 0xb1, 0x32, 0x8e, 0xda, 0xbb, 0x00, 0xfa, 0xba,
+ 0xff, 0xff, 0x0b, 0xc0, 0x74, 0x09, 0x8b, 0xc8,
+ 0xb8, 0x64, 0x00, 0x33, 0xd2, 0xf7, 0xf1, 0x89,
+ 0x57, 0x02, 0xb9, 0x64, 0x00, 0xf7, 0xe1, 0x89,
+ 0x07, 0x1f, 0x5b, 0xc3, 0xb0, 0x35, 0xe9, 0xdf,
+ 0x73, 0x80, 0x3e, 0xae, 0x64, 0x01, 0x75, 0x08,
+ 0x81, 0x3e, 0xba, 0x00, 0x3f, 0x01, 0x75, 0x18,
+ 0x8b, 0x0e, 0x32, 0x32, 0x3b, 0xca, 0x77, 0x0a,
+ 0x8b, 0x0e, 0x34, 0x32, 0x3b, 0xca, 0x73, 0x08,
+ 0xf8, 0xc3, 0x3b, 0xce, 0x76, 0x02, 0xf8, 0xc3,
+ 0x8b, 0x0e, 0xb1, 0x64, 0x3b, 0xcf, 0x76, 0x02,
+ 0xf8, 0xc3, 0x3b, 0xc8, 0x73, 0x02, 0xf8, 0xc3,
+ 0xf9, 0xc3, 0xc6, 0x06, 0xc6, 0x64, 0x00, 0xc6,
+ 0x06, 0x40, 0x67, 0xff, 0xc6, 0x06, 0xc4, 0x64,
+ 0x01, 0xc6, 0x06, 0xc5, 0x64, 0x00, 0xe8, 0x77,
+ 0xf5, 0xc3, 0x51, 0x8b, 0x0e, 0xf3, 0xb4, 0x49,
+ 0xd1, 0xe1, 0x03, 0xd9, 0x8b, 0x1f, 0x59, 0xc3,
+ 0xbb, 0xf5, 0xb4, 0xeb, 0xed, 0xc7, 0x06, 0xf3,
+ 0xb4, 0x03, 0x00, 0xb8, 0x3f, 0x01, 0xbb, 0x68,
+ 0x00, 0xbf, 0x22, 0x01, 0xbe, 0x76, 0x00, 0xb1,
+ 0x01, 0xb5, 0x04, 0xe8, 0xdd, 0x6b, 0xc3, 0xc7,
+ 0x06, 0xf3, 0xb4, 0x05, 0x00, 0xb8, 0x2c, 0x01,
+ 0xbb, 0x83, 0x00, 0xbf, 0x2c, 0x01, 0xbe, 0x87,
+ 0x00, 0xb1, 0x0b, 0xb5, 0x03, 0xe8, 0xc3, 0x6b,
+ 0xc3, 0x80, 0x3e, 0xe1, 0xdb, 0x01, 0x74, 0x07,
+ 0xbb, 0x0f, 0x57, 0xe8, 0x27, 0x60, 0xc3, 0xb9,
+ 0x4c, 0x03, 0xe8, 0xba, 0xda, 0xb9, 0x4e, 0x03,
+ 0xe8, 0xb7, 0xda, 0xb9, 0x4d, 0x03, 0xe8, 0xd6,
+ 0xda, 0xbb, 0x96, 0x56, 0xe8, 0x0e, 0x60, 0xc3,
+ 0xbb, 0xac, 0x56, 0xe8, 0x07, 0x60, 0xc3, 0xbb,
+ 0xf7, 0x56, 0xe8, 0x00, 0x60, 0xc3, 0xbb, 0x7a,
+ 0xdb, 0xe8, 0x51, 0xd1, 0xe8, 0x66, 0xd1, 0xc3,
+ 0xc7, 0x06, 0xf3, 0xb4, 0x02, 0x00, 0xb8, 0x00,
+ 0x00, 0xbb, 0xb4, 0x00, 0xbf, 0x38, 0x00, 0xbe,
+ 0xb4, 0x00, 0xb1, 0x01, 0xb5, 0x02, 0xe8, 0x6a,
+ 0x6b, 0xc3, 0xc7, 0x06, 0xf3, 0xb4, 0x04, 0x00,
+ 0xb8, 0x3f, 0x01, 0xbb, 0x80, 0x00, 0xbf, 0x13,
+ 0x01, 0xbe, 0x89, 0x00, 0xb1, 0x01, 0xb5, 0x04,
+ 0xe8, 0x50, 0x6b, 0xc3, 0x80, 0x3e, 0xe4, 0xdb,
+ 0x01, 0x75, 0x07, 0xbb, 0xb2, 0x57, 0xe8, 0xb4,
+ 0x5f, 0xc3, 0xb9, 0x4c, 0x00, 0xb0, 0x0b, 0xb4,
+ 0x07, 0xe8, 0x51, 0x69, 0xb0, 0x0f, 0xe8, 0x55,
+ 0x69, 0xb0, 0x13, 0xe8, 0x57, 0x69, 0xb0, 0x17,
+ 0xe8, 0x59, 0x69, 0xb0, 0x1b, 0xe8, 0x5b, 0x69,
+ 0xb9, 0x38, 0x00, 0xb0, 0x23, 0xe8, 0x5a, 0x69,
+ 0xb9, 0x13, 0x00, 0xb0, 0x3b, 0xe8, 0x59, 0x69,
+ 0xb9, 0x60, 0x03, 0xe8, 0x19, 0xda, 0xe8, 0xba,
+ 0x6a, 0xc6, 0x06, 0xdc, 0x1c, 0x01, 0xbb, 0x47,
+ 0x33, 0xc7, 0x47, 0x02, 0x61, 0x03, 0xb0, 0x02,
+ 0xe8, 0x3c, 0xd9, 0xc6, 0x06, 0xb0, 0x32, 0x01,
+ 0xe8, 0x91, 0xdd, 0xc6, 0x06, 0xb0, 0x32, 0x00,
+ 0x9c, 0xe8, 0xa2, 0x69, 0xb9, 0x62, 0x03, 0xc6,
+ 0x06, 0xdc, 0x1c, 0x02, 0xe8, 0xeb, 0xd9, 0x9d,
+ 0x73, 0x4c, 0xa1, 0x1f, 0xc4, 0xe8, 0x54, 0xe7,
+ 0x3c, 0x55, 0x75, 0x42, 0x83, 0x3e, 0x52, 0x72,
+ 0x05, 0x75, 0x3b, 0xc6, 0x06, 0xcf, 0x00, 0x00,
+ 0xc7, 0x06, 0x1f, 0xc4, 0x00, 0x00, 0xb9, 0x05,
+ 0x00, 0xb0, 0x04, 0xb4, 0x06, 0xe8, 0xcd, 0x68,
+ 0xb0, 0x13, 0xe8, 0xd8, 0x68, 0xb9, 0x40, 0x00,
+ 0xb0, 0x0b, 0xe8, 0xc9, 0x68, 0xb9, 0x63, 0x03,
+ 0xe8, 0xaf, 0xd9, 0xb0, 0x55, 0xe8, 0x00, 0xe6,
+ 0xb0, 0x56, 0xe8, 0xeb, 0xe5, 0xc6, 0x06, 0xe4,
+ 0xdb, 0x01, 0xe8, 0x1e, 0x00, 0xc3, 0xe8, 0x1a,
+ 0x00, 0xff, 0x36, 0xcf, 0x00, 0xc6, 0x06, 0xcf,
+ 0x00, 0x00, 0xbb, 0x72, 0xdb, 0xe8, 0x45, 0xd0,
+ 0xe8, 0x5a, 0xd0, 0x8f, 0x06, 0xcf, 0x00, 0xe8,
+ 0xdc, 0xdd, 0xc3, 0xc7, 0x06, 0xaf, 0x64, 0x56,
+ 0x00, 0xc7, 0x06, 0xb1, 0x64, 0xc3, 0x00, 0xc6,
+ 0x06, 0xcc, 0x64, 0x00, 0xc6, 0x06, 0xcd, 0x64,
+ 0x01, 0xc6, 0x06, 0xcb, 0x64, 0x01, 0xb9, 0x64,
+ 0x03, 0xe8, 0x83, 0xd9, 0xc3, 0xbb, 0xb7, 0x58,
+ 0xe8, 0xba, 0x5e, 0xc3, 0xb9, 0x38, 0x00, 0xb0,
+ 0x0a, 0xb4, 0x09, 0xe8, 0x57, 0x68, 0xe8, 0xae,
+ 0xd9, 0xe8, 0x3c, 0xfe, 0xc6, 0x07, 0x00, 0xe8,
+ 0xc2, 0x6c, 0xb9, 0x6b, 0x03, 0xe8, 0x6d, 0xd9,
+ 0xb0, 0x06, 0xe8, 0x28, 0xd8, 0xb0, 0x5c, 0xe8,
+ 0x76, 0xe5, 0xc3, 0xbb, 0x0f, 0x57, 0xe8, 0x8c,
+ 0x5e, 0xc3, 0xe8, 0x09, 0x63, 0xc3, 0xe8, 0x86,
+ 0xd9, 0xbb, 0x46, 0x67, 0xe8, 0x03, 0xfe, 0x83,
+ 0xc3, 0x03, 0xff, 0x37, 0x53, 0xc7, 0x07, 0x3f,
+ 0x01, 0xbe, 0xc5, 0x00, 0xbf, 0x9f, 0x00, 0xc6,
+ 0x06, 0xc3, 0x64, 0x04, 0xe8, 0x3c, 0xf4, 0xe8,
+ 0xf6, 0xfd, 0xc6, 0x07, 0x00, 0xe8, 0x7c, 0x6c,
+ 0xb9, 0x47, 0x00, 0xb0, 0x08, 0xb4, 0x07, 0xe8,
+ 0xfb, 0x67, 0xb9, 0x05, 0x00, 0xb0, 0x0d, 0xe8,
+ 0xfc, 0x67, 0xb9, 0x41, 0x03, 0xe8, 0x15, 0xd9,
+ 0xbe, 0xe1, 0x00, 0xbf, 0x9f, 0x00, 0xc6, 0x06,
+ 0xc3, 0x64, 0x04, 0xe8, 0x0d, 0xf4, 0x5b, 0x8f,
+ 0x07, 0xb0, 0x4e, 0xe8, 0x12, 0xe5, 0xb0, 0x03,
+ 0xe8, 0xba, 0xd7, 0xc3, 0xbb, 0xc8, 0x58, 0xe8,
+ 0x23, 0x5e, 0xc3, 0xc7, 0x06, 0xf3, 0xb4, 0x03,
+ 0x00, 0xb8, 0xd6, 0x00, 0xbb, 0xc7, 0x00, 0xbf,
+ 0xda, 0x00, 0xbe, 0xbf, 0x00, 0xb1, 0x13, 0xb5,
+ 0x01, 0xe8, 0x97, 0x69, 0xc3, 0xc7, 0x06, 0xf3,
+ 0xb4, 0x05, 0x00, 0xb8, 0x00, 0x00, 0xbb, 0xae,
+ 0x00, 0xbf, 0x23, 0x00, 0xbe, 0xae, 0x00, 0xb1,
+ 0x01, 0xb5, 0x02, 0xe8, 0x7d, 0x69, 0xc3, 0xe8,
+ 0xed, 0xd8, 0xc6, 0x06, 0xdc, 0x64, 0x00, 0xb9,
+ 0x17, 0x00, 0xb0, 0x08, 0xb4, 0x07, 0xe8, 0x84,
+ 0x67, 0xb9, 0x18, 0x00, 0xb0, 0x0d, 0xe8, 0x85,
+ 0x67, 0xe8, 0x64, 0xfd, 0xc6, 0x47, 0x01, 0x00,
+ 0x53, 0xe8, 0xe8, 0x6b, 0xb9, 0x49, 0x03, 0xe8,
+ 0x60, 0xd8, 0x5b, 0xc6, 0x47, 0x01, 0x61, 0xc6,
+ 0x47, 0x02, 0x00, 0xe8, 0x92, 0x6b, 0xe8, 0x84,
+ 0x00, 0xe8, 0xb1, 0xdc, 0xb9, 0x3f, 0x00, 0xb0,
+ 0x0c, 0xb4, 0x07, 0xe8, 0x4f, 0x67, 0xb9, 0x05,
+ 0x00, 0xb0, 0x1a, 0xe8, 0x50, 0x67, 0xb9, 0x4a,
+ 0x03, 0xe8, 0x36, 0xd8, 0xe8, 0x66, 0x00, 0xe8,
+ 0x93, 0xdc, 0xc6, 0x06, 0xe6, 0x1c, 0xd1, 0xbb,
+ 0x56, 0x56, 0xbe, 0x10, 0x55, 0xe8, 0x2e, 0x60,
+ 0xe8, 0x7b, 0xdc, 0xbb, 0x7a, 0x56, 0xbe, 0x5c,
+ 0x55, 0xe8, 0x22, 0x60, 0xe8, 0x6f, 0xdc, 0xbb,
+ 0x82, 0x56, 0xbe, 0x3e, 0x55, 0xe8, 0x16, 0x60,
+ 0xe8, 0x63, 0xdc, 0xb9, 0x4b, 0x03, 0xe8, 0x01,
+ 0xd8, 0xc7, 0x06, 0xaf, 0x64, 0xdf, 0x00, 0xc7,
+ 0x06, 0xb1, 0x64, 0x95, 0x00, 0xc6, 0x06, 0xcb,
+ 0x64, 0x00, 0xc6, 0x06, 0xcc, 0x64, 0x01, 0xc6,
+ 0x06, 0xcd, 0x64, 0x00, 0xe8, 0x1d, 0xd8, 0xb0,
+ 0x07, 0xe8, 0xd1, 0xd6, 0xb0, 0x01, 0xe8, 0xcc,
+ 0xd6, 0xb0, 0x51, 0xe8, 0x1a, 0xe4, 0xbb, 0x46,
+ 0x56, 0xe8, 0x31, 0x5d, 0xc3, 0xe8, 0x6b, 0x68,
+ 0xc6, 0x06, 0xdc, 0x1c, 0x01, 0xe8, 0x9c, 0xeb,
+ 0xe8, 0x45, 0xec, 0xe8, 0xda, 0x63, 0xe8, 0x2b,
+ 0xf1, 0xc3, 0xc7, 0x06, 0xf3, 0xb4, 0x0a, 0x00,
+ 0xb8, 0x3f, 0x01, 0xbb, 0xb7, 0x00, 0xbf, 0x0d,
+ 0x01, 0xbe, 0xaf, 0x00, 0xb1, 0x01, 0xb5, 0x04,
+ 0xe8, 0x90, 0x68, 0xc3, 0xc7, 0x06, 0xf3, 0xb4,
+ 0x04, 0x00, 0xb8, 0x3f, 0x01, 0xbb, 0xb9, 0x00,
+ 0xbf, 0x18, 0x01, 0xbe, 0xb9, 0x00, 0xb1, 0x01,
+ 0xb5, 0x04, 0xe8, 0x76, 0x68, 0xc3, 0xc7, 0x06,
+ 0xf3, 0xb4, 0x02, 0x00, 0xb8, 0xdd, 0x00, 0xbb,
+ 0xc7, 0x00, 0xbf, 0xd9, 0x00, 0xbe, 0xc1, 0x00,
+ 0xb1, 0x13, 0xb5, 0x01, 0xe8, 0x5c, 0x68, 0xc3,
+ 0xb9, 0x50, 0x00, 0xb0, 0x04, 0xb4, 0x02, 0xe8,
+ 0x6b, 0x66, 0xb9, 0xc1, 0x03, 0xe8, 0x57, 0xd7,
+ 0xe8, 0xf8, 0x67, 0xc7, 0x06, 0xf3, 0xb4, 0x08,
+ 0x00, 0xb8, 0x9b, 0x00, 0xbb, 0xc7, 0x00, 0xbf,
+ 0x9e, 0x00, 0xbe, 0xb8, 0x00, 0xb1, 0x13, 0xb5,
+ 0x01, 0xe8, 0x2f, 0x68, 0xc3, 0xb9, 0x46, 0x00,
+ 0xb0, 0x06, 0xb4, 0x09, 0xe8, 0x3e, 0x66, 0xb9,
+ 0xc2, 0x03, 0xe8, 0x2a, 0xd7, 0xe8, 0xcb, 0x67,
+ 0xc7, 0x06, 0xf3, 0xb4, 0x07, 0x00, 0xb8, 0x1e,
+ 0x00, 0xbb, 0xb8, 0x00, 0xbf, 0x32, 0x00, 0xbe,
+ 0xb8, 0x00, 0xb1, 0x01, 0xb5, 0x02, 0xe8, 0x02,
+ 0x68, 0x80, 0x3e, 0xdf, 0xdb, 0x02, 0x72, 0x01,
+ 0xc3, 0xb8, 0x96, 0x00, 0xe8, 0x4b, 0xdb, 0xbe,
+ 0x86, 0x00, 0xbf, 0xa7, 0x00, 0xc6, 0x06, 0xc3,
+ 0x64, 0x02, 0xe8, 0x2e, 0xf2, 0xbb, 0xf7, 0x54,
+ 0xe8, 0x52, 0x5c, 0xbb, 0x47, 0x33, 0xc7, 0x07,
+ 0x2c, 0x03, 0xb9, 0x2b, 0x03, 0xe8, 0xdf, 0xd6,
+ 0xe8, 0x80, 0x67, 0xbb, 0x47, 0x33, 0xc7, 0x07,
+ 0x2d, 0x03, 0xb0, 0x01, 0xe8, 0x08, 0xd6, 0xe8,
+ 0x11, 0xd3, 0xbb, 0x17, 0x61, 0xe8, 0x9d, 0xcd,
+ 0xc7, 0x06, 0xaf, 0x64, 0xe6, 0x00, 0xc7, 0x06,
+ 0xb1, 0x64, 0xb8, 0x00, 0xbb, 0x47, 0x33, 0xc7,
+ 0x07, 0x2e, 0x03, 0xc7, 0x06, 0xf3, 0xb4, 0x06,
+ 0x00, 0xe8, 0xd1, 0x68, 0xe8, 0x0f, 0xd3, 0xbb,
+ 0x6a, 0x62, 0xe8, 0x78, 0xcd, 0xb9, 0x04, 0x00,
+ 0xb0, 0x0e, 0xb4, 0x0e, 0xe8, 0xa6, 0x65, 0xbb,
+ 0x47, 0x33, 0xc7, 0x07, 0x2f, 0x03, 0xb0, 0x01,
+ 0xe8, 0xbd, 0xd5, 0xe8, 0x82, 0xfb, 0xc6, 0x47,
+ 0x01, 0x00, 0xe8, 0x07, 0x6a, 0xe8, 0x2e, 0x66,
+ 0xbb, 0xdc, 0x62, 0xe8, 0x4f, 0xcd, 0xc6, 0x06,
+ 0xdf, 0xdb, 0x01, 0xb9, 0x05, 0x00, 0xe8, 0xca,
+ 0x6c, 0xc3, 0x80, 0x3e, 0xdf, 0xdb, 0x00, 0x75,
+ 0x0d, 0xb9, 0xc8, 0x03, 0xe8, 0x8f, 0xd6, 0xbb,
+ 0x11, 0x55, 0xe8, 0xc0, 0x5b, 0xc3, 0xb9, 0x50,
+ 0x00, 0xb0, 0x03, 0xb4, 0x0c, 0xe8, 0x5d, 0x65,
+ 0xb9, 0x4f, 0x00, 0xb0, 0x04, 0xe8, 0x5e, 0x65,
+ 0xb9, 0xc8, 0x03, 0xe8, 0x51, 0xd6, 0xe8, 0xe2,
+ 0x66, 0xc7, 0x06, 0xf3, 0xb4, 0x06, 0x00, 0xb8,
+ 0x18, 0x01, 0xbb, 0xba, 0x00, 0xbf, 0x09, 0x01,
+ 0xbe, 0xb4, 0x00, 0xb1, 0x01, 0xb5, 0x04, 0xe8,
+ 0x19, 0x67, 0xc3, 0x80, 0x3e, 0xe5, 0xdb, 0x01,
+ 0x75, 0x07, 0xbb, 0xc0, 0x57, 0xe8, 0x7d, 0x5b,
+ 0xc3, 0xb9, 0x31, 0x00, 0xb0, 0x0e, 0xb4, 0x07,
+ 0xe8, 0x1a, 0x65, 0xb9, 0x05, 0x00, 0xb0, 0x15,
+ 0xe8, 0x1b, 0x65, 0xb9, 0x65, 0x03, 0xe8, 0x2d,
+ 0xd6, 0xb0, 0x58, 0xe8, 0x42, 0xe2, 0xc6, 0x06,
+ 0xe5, 0xdb, 0x01, 0xc3, 0xb9, 0x35, 0x00, 0xb0,
+ 0x14, 0xb4, 0x05, 0xe8, 0xf7, 0x64, 0xb9, 0x18,
+ 0x00, 0xb0, 0x1b, 0xb4, 0x0e, 0xe8, 0xf6, 0x64,
+ 0xb9, 0x05, 0x00, 0xb0, 0x24, 0xe8, 0xf5, 0x64,
+ 0xb9, 0x47, 0x03, 0xe8, 0xe1, 0xd5, 0xc7, 0x06,
+ 0xaf, 0x64, 0x16, 0x01, 0xe8, 0x05, 0xd6, 0xb0,
+ 0x50, 0xe8, 0x0c, 0xe2, 0xb0, 0x01, 0xe8, 0xb4,
+ 0xd4, 0xc3, 0xbb, 0xe3, 0x58, 0xe8, 0x1d, 0x5b,
+ 0xc3, 0x80, 0x3e, 0xdd, 0xdb, 0x02, 0x74, 0x7f,
+ 0xbb, 0x5c, 0xdb, 0xe8, 0x67, 0xcc, 0x53, 0xe8,
+ 0x7b, 0xcc, 0x5b, 0x81, 0xfb, 0x6b, 0x63, 0x75,
+ 0x6d, 0xe8, 0x01, 0xda, 0xb9, 0x34, 0x00, 0xb0,
+ 0x08, 0xb4, 0x0c, 0xe8, 0x9f, 0x64, 0xb0, 0x0d,
+ 0xe8, 0xa3, 0x64, 0xbb, 0x47, 0x33, 0xc7, 0x07,
+ 0x34, 0x03, 0xb0, 0x01, 0xe8, 0xb1, 0xd4, 0xe8,
+ 0x76, 0xfa, 0xc6, 0x47, 0x03, 0x59, 0xe8, 0xfb,
+ 0x68, 0xe8, 0x22, 0x65, 0xc6, 0x06, 0x33, 0x33,
+ 0x01, 0xc6, 0x06, 0xdd, 0x1c, 0x02, 0xe8, 0xc5,
+ 0xd9, 0x8b, 0x36, 0xaf, 0x64, 0x8b, 0x3e, 0xb1,
+ 0x64, 0x56, 0x57, 0xc6, 0x06, 0xc3, 0x64, 0x03,
+ 0xe8, 0x90, 0xf0, 0xe8, 0xb7, 0xd9, 0xe8, 0xad,
+ 0xd9, 0x5f, 0x5e, 0xc6, 0x06, 0xc3, 0x64, 0x02,
+ 0xe8, 0x80, 0xf0, 0xe8, 0xa7, 0xd9, 0xbb, 0x1f,
+ 0x55, 0xe8, 0xa1, 0x5a, 0xb0, 0x04, 0xe8, 0x20,
+ 0xd4, 0xc6, 0x06, 0xdc, 0xdb, 0x01, 0xc3, 0xbb,
+ 0xc0, 0x55, 0xe8, 0x90, 0x5a, 0xbe, 0x32, 0x01,
+ 0xbf, 0xc4, 0x00, 0xc6, 0x06, 0xc3, 0x64, 0x02,
+ 0xe8, 0x58, 0xf0, 0xe8, 0x78, 0xd9, 0xbb, 0x47,
+ 0x33, 0xc7, 0x07, 0x39, 0x03, 0xb0, 0x01, 0xe8,
+ 0x45, 0xd4, 0xe8, 0x07, 0x65, 0xe8, 0x66, 0xd9,
+ 0xb9, 0x47, 0x00, 0xb0, 0x04, 0xb4, 0x0e, 0xe8,
+ 0x0b, 0x64, 0xb9, 0x37, 0x03, 0xe8, 0x1f, 0xd5,
+ 0xb9, 0x4a, 0x00, 0xb0, 0x01, 0xb4, 0x0a, 0xe8,
+ 0xfb, 0x63, 0xb0, 0x03, 0xe8, 0xff, 0x63, 0xb0,
+ 0x06, 0xe8, 0x01, 0x64, 0xbb, 0x47, 0x33, 0xc7,
+ 0x07, 0x3a, 0x03, 0xc7, 0x06, 0xf3, 0xb4, 0x05,
+ 0x00, 0xbb, 0x47, 0x33, 0xc7, 0x07, 0x3a, 0x03,
+ 0xe8, 0xe9, 0x66, 0xb0, 0x01, 0xe8, 0x3a, 0xd4,
+ 0xe8, 0x73, 0x64, 0xc7, 0x06, 0xf3, 0xb4, 0x06,
+ 0x00, 0xe8, 0xb4, 0xf9, 0xc6, 0x47, 0x03, 0x5b,
+ 0xe8, 0xda, 0x66, 0x8b, 0x36, 0xaf, 0x64, 0x8b,
+ 0x3e, 0xb1, 0x64, 0xc6, 0x06, 0xc3, 0x64, 0x01,
+ 0xe8, 0xe0, 0xef, 0xe8, 0x00, 0xd9, 0xbb, 0xdb,
+ 0x55, 0xe8, 0x01, 0x5a, 0xc6, 0x06, 0xdd, 0xdb,
+ 0x03, 0xb0, 0x04, 0xbe, 0xc7, 0x78, 0xe8, 0x90,
+ 0xd3, 0xc3, 0x80, 0x3e, 0xdd, 0xdb, 0x03, 0x74,
+ 0x07, 0xbb, 0x05, 0x59, 0xe8, 0xe6, 0x59, 0xc3,
+ 0x80, 0x3e, 0xde, 0xdb, 0x01, 0x74, 0x31, 0xbe,
+ 0x18, 0x01, 0xbf, 0xb3, 0x00, 0xc6, 0x06, 0xc3,
+ 0x64, 0x02, 0xe8, 0xa6, 0xef, 0xb9, 0x31, 0x00,
+ 0xb0, 0x07, 0xb4, 0x0c, 0xe8, 0x6e, 0x63, 0xb9,
+ 0x05, 0x00, 0xb0, 0x11, 0xe8, 0x6f, 0x63, 0xb9,
+ 0x3b, 0x03, 0xe8, 0x73, 0xd4, 0xb0, 0x4d, 0xe8,
+ 0x96, 0xe0, 0xc6, 0x06, 0xde, 0xdb, 0x01, 0xc3,
+ 0xbb, 0x08, 0x56, 0xe8, 0xa7, 0x59, 0xc3, 0x80,
+ 0x3e, 0xdc, 0xdb, 0x01, 0x74, 0x07, 0xbb, 0x28,
+ 0x55, 0xe8, 0x99, 0x59, 0xc3, 0xe8, 0x97, 0xd4,
+ 0xbb, 0x5d, 0x55, 0xe8, 0x8f, 0x59, 0xe8, 0x1f,
+ 0xf9, 0xc6, 0x47, 0x02, 0x00, 0xe8, 0xa4, 0x67,
+ 0xb9, 0x35, 0x03, 0xe8, 0x1c, 0xd4, 0xe8, 0x0f,
+ 0xf9, 0xc6, 0x47, 0x02, 0x5a, 0xc6, 0x47, 0x03,
+ 0x00, 0xe8, 0x4c, 0x67, 0xb9, 0x16, 0x00, 0xb0,
+ 0x02, 0xb4, 0x0b, 0xe8, 0x0f, 0x63, 0xb9, 0x36,
+ 0x03, 0xe8, 0x23, 0xd4, 0xbb, 0x77, 0x55, 0xe8,
+ 0x5b, 0x59, 0xb0, 0x05, 0xe8, 0xe6, 0xd2, 0xc6,
+ 0x06, 0xdd, 0xdb, 0x01, 0xc3, 0xe8, 0x4f, 0xd4,
+ 0xe8, 0x43, 0xd8, 0xbe, 0x90, 0x00, 0xbf, 0xb9,
+ 0x00, 0xc6, 0x06, 0xc3, 0x64, 0x04, 0xe8, 0x12,
+ 0xef, 0xe8, 0xcc, 0xf8, 0xc6, 0x07, 0x56, 0xe8,
+ 0x52, 0x67, 0xb9, 0x38, 0x00, 0xb0, 0x0f, 0xb4,
+ 0x07, 0xe8, 0xd1, 0x62, 0xbb, 0x47, 0x33, 0xc7,
+ 0x07, 0x31, 0x03, 0xb9, 0x30, 0x03, 0xe8, 0xc9,
+ 0xd3, 0xe8, 0xac, 0xf8, 0xc6, 0x07, 0x57, 0xe8,
+ 0xee, 0x66, 0xb9, 0x22, 0x00, 0xb0, 0x01, 0xb4,
+ 0x08, 0xe8, 0xb1, 0x62, 0xb9, 0x05, 0x00, 0xb0,
+ 0x0f, 0xe8, 0xb2, 0x62, 0xbb, 0x47, 0x33, 0xc7,
+ 0x07, 0x33, 0x03, 0xb9, 0x32, 0x03, 0xe8, 0xa1,
+ 0xd3, 0xe8, 0x84, 0xf8, 0xc6, 0x47, 0x02, 0x58,
+ 0xe8, 0xc5, 0x66, 0xc7, 0x06, 0xaf, 0x64, 0xa0,
+ 0x00, 0xc7, 0x06, 0xb1, 0x64, 0xbc, 0x00, 0xc6,
+ 0x06, 0xcc, 0x64, 0x01, 0xc6, 0x06, 0xdc, 0x64,
+ 0x00, 0xe8, 0xa8, 0xd3, 0xb0, 0x06, 0xe8, 0x5c,
+ 0xd2, 0xb0, 0x05, 0xe8, 0x4b, 0xd2, 0xb0, 0x4c,
+ 0xe8, 0xa5, 0xdf, 0xc3, 0x80, 0x3e, 0xdf, 0xdb,
+ 0x02, 0x73, 0x07, 0xbb, 0x2f, 0x59, 0xe8, 0xb4,
+ 0x58, 0xc3, 0xc7, 0x06, 0xf3, 0xb4, 0x05, 0x00,
+ 0xb8, 0x1f, 0x01, 0xbb, 0x8f, 0x00, 0xbf, 0x22,
+ 0x01, 0xbe, 0x8f, 0x00, 0xb1, 0x01, 0xb5, 0x02,
+ 0xe8, 0x28, 0x64, 0xc3, 0xb9, 0x4f, 0x00, 0xb0,
+ 0x05, 0xb4, 0x0b, 0xe8, 0x37, 0x62, 0xb9, 0x01,
+ 0x00, 0xb0, 0x0e, 0xe8, 0x38, 0x62, 0xb9, 0xc6,
+ 0x03, 0xe8, 0x3c, 0xd3, 0xbb, 0x55, 0x59, 0xe8,
+ 0x7b, 0x58, 0xc3, 0x80, 0x3e, 0xdf, 0xdb, 0x01,
+ 0x74, 0x07, 0xbb, 0xf6, 0x52, 0xe8, 0x6d, 0x58,
+ 0xc3, 0xb9, 0x47, 0x00, 0xb0, 0x04, 0xb4, 0x0e,
+ 0xe8, 0x0a, 0x62, 0xb9, 0x37, 0x03, 0xe8, 0x17,
+ 0xd3, 0x80, 0x3e, 0xdd, 0xdb, 0x00, 0x75, 0x07,
+ 0xbb, 0x80, 0x4d, 0xe8, 0x4f, 0x58, 0xc3, 0xb9,
+ 0x4a, 0x00, 0xb0, 0x01, 0xb4, 0x0e, 0xe8, 0xec,
+ 0x61, 0xbb, 0x47, 0x33, 0xc7, 0x07, 0x38, 0x03,
+ 0xb0, 0x01, 0xe8, 0x03, 0xd2, 0xe8, 0x7e, 0x62,
+ 0x80, 0x3e, 0xdd, 0xdb, 0x01, 0x75, 0x0e, 0xe8,
+ 0x2b, 0xd7, 0xbb, 0x9a, 0x55, 0xe8, 0x25, 0x58,
+ 0xc6, 0x06, 0xdd, 0xdb, 0x02, 0xc3, 0xe8, 0x9d,
+ 0x5c, 0xc3, 0xbb, 0x82, 0xdb, 0xe8, 0x6d, 0xc9,
+ 0xe8, 0x82, 0xc9, 0xc3, 0xb9, 0x50, 0x00, 0xb0,
+ 0x04, 0xb4, 0x02, 0xe8, 0xaf, 0x61, 0xb9, 0xc3,
+ 0x03, 0xe8, 0xab, 0xd2, 0xe8, 0x3c, 0x63, 0xc7,
+ 0x06, 0xf3, 0xb4, 0x05, 0x00, 0xb8, 0xa6, 0x00,
+ 0xbb, 0x9e, 0x00, 0xbf, 0xa6, 0x00, 0xbe, 0xa1,
+ 0x00, 0xb1, 0x0b, 0xb5, 0x03, 0xe8, 0x73, 0x63,
+ 0xc3, 0xb9, 0xc5, 0x03, 0xe8, 0x99, 0xd2, 0xbb,
+ 0x11, 0x55, 0xe8, 0xd8, 0x57, 0xc3, 0xbb, 0x62,
+ 0x59, 0xe8, 0xd1, 0x57, 0xc3, 0xbb, 0x9d, 0x59,
+ 0xe8, 0xca, 0x57, 0xc3, 0xbb, 0xb6, 0x59, 0xe8,
+ 0xc3, 0x57, 0xc3, 0x80, 0x3e, 0xe6, 0xdb, 0x01,
+ 0x75, 0x2d, 0xc6, 0x06, 0xe6, 0xdb, 0x02, 0xe8,
+ 0xb5, 0xd2, 0xe8, 0x43, 0xf7, 0xc6, 0x47, 0x01,
+ 0x67, 0xe8, 0xc8, 0x65, 0xb9, 0x05, 0x00, 0xb0,
+ 0x09, 0xb4, 0x09, 0xe8, 0x47, 0x61, 0xb9, 0x68,
+ 0x03, 0xe8, 0x5b, 0xd2, 0xb0, 0x5a, 0xe8, 0x77,
+ 0xde, 0xb0, 0x07, 0xe8, 0x1f, 0xd1, 0xc3, 0xb9,
+ 0xc4, 0x03, 0xe8, 0x43, 0xd2, 0xbb, 0x11, 0x55,
+ 0xe8, 0x82, 0x57, 0xc3, 0xbb, 0xdb, 0x59, 0xe8,
+ 0x7b, 0x57, 0xc3, 0xbb, 0x01, 0x5a, 0xe8, 0x74,
+ 0x57, 0xc3, 0xe8, 0xf1, 0x5b, 0xc3, 0xe8, 0xed,
+ 0x5b, 0xc3, 0xe8, 0x6a, 0xd2, 0xe8, 0xf8, 0xf6,
+ 0xc6, 0x07, 0x00, 0xe8, 0x7e, 0x65, 0xb9, 0x05,
+ 0x00, 0xb0, 0x09, 0xb4, 0x07, 0xe8, 0xfd, 0x60,
+ 0xb9, 0x44, 0x03, 0xe8, 0x11, 0xd2, 0xb0, 0x4f,
+ 0xe8, 0x2d, 0xde, 0xb0, 0x0c, 0xe8, 0xd5, 0xd0,
+ 0xc3, 0xbb, 0x20, 0x5a, 0xe8, 0x3e, 0x57, 0xc3,
+ 0x80, 0x3e, 0xe7, 0xdb, 0x01, 0x74, 0x03, 0xe9,
+ 0x83, 0x00, 0xbe, 0x8c, 0x00, 0xbf, 0x98, 0x00,
+ 0xc6, 0x06, 0xc3, 0x64, 0x01, 0xe8, 0xfb, 0xec,
+ 0x80, 0x3e, 0xe8, 0xdb, 0x01, 0x74, 0x07, 0xbb,
+ 0x55, 0x58, 0xe8, 0x18, 0x57, 0xc3, 0xbb, 0x20,
+ 0x6f, 0xe8, 0x81, 0xc8, 0xc6, 0x06, 0xe6, 0x1c,
+ 0xef, 0xbe, 0xe0, 0x53, 0xbb, 0x83, 0x58, 0xe8,
+ 0xac, 0x59, 0xbb, 0x47, 0x33, 0xc7, 0x07, 0x72,
+ 0x03, 0xb0, 0x01, 0xe8, 0xc2, 0xd0, 0xe8, 0x87,
+ 0xf6, 0xc6, 0x47, 0x02, 0x00, 0xe8, 0x0c, 0x65,
+ 0xb9, 0x4b, 0x00, 0xb0, 0x0a, 0xb4, 0x0a, 0xe8,
+ 0x8b, 0x60, 0xb9, 0x18, 0x00, 0xb0, 0x0f, 0xe8,
+ 0x8c, 0x60, 0xbb, 0x47, 0x33, 0xc7, 0x07, 0x73,
+ 0x03, 0xb0, 0x01, 0xe8, 0x9a, 0xd0, 0xe8, 0x63,
+ 0x61, 0xe8, 0x87, 0x00, 0xb8, 0x01, 0x00, 0xe8,
+ 0xe7, 0xe4, 0xe8, 0xfb, 0xe4, 0xb0, 0x02, 0xe8,
+ 0x4b, 0xd0, 0xb0, 0x01, 0xe8, 0x46, 0xd0, 0xc6,
+ 0x06, 0xe9, 0xdb, 0x01, 0xc3, 0xe8, 0x68, 0xcd,
+ 0x80, 0x3e, 0xdf, 0xdb, 0x03, 0x74, 0x0a, 0xbb,
+ 0x68, 0xdb, 0xe8, 0xf8, 0xc7, 0xe8, 0x0d, 0xc8,
+ 0xc3, 0x80, 0x3e, 0xe3, 0xdb, 0x01, 0x75, 0x07,
+ 0xbb, 0xd6, 0x6b, 0xe8, 0xff, 0xc7, 0xc3, 0xbb,
+ 0xb5, 0x69, 0xe8, 0xf8, 0xc7, 0xbb, 0x47, 0x33,
+ 0xc7, 0x07, 0x5a, 0x03, 0xb9, 0x5b, 0x03, 0xe8,
+ 0x18, 0xd1, 0xe8, 0xc1, 0x60, 0xb9, 0x4b, 0x00,
+ 0xb0, 0x06, 0xb4, 0x08, 0xe8, 0x16, 0x60, 0xb0,
+ 0x0a, 0xe8, 0x1a, 0x60, 0xb9, 0x05, 0x00, 0xb0,
+ 0x0f, 0xe8, 0x19, 0x60, 0xb9, 0x5c, 0x03, 0xe8,
+ 0x1d, 0xd1, 0xe8, 0x13, 0xcd, 0xbb, 0xc2, 0x69,
+ 0xe8, 0xc2, 0xc7, 0xb0, 0x55, 0xe8, 0x30, 0xdd,
+ 0xc6, 0x06, 0xe3, 0xdb, 0x01, 0xc6, 0x06, 0xf0,
+ 0xdb, 0x00, 0xc3, 0xe8, 0x00, 0x00, 0x1e, 0x06,
+ 0xa1, 0xb1, 0x32, 0x8e, 0xd8, 0xb8, 0x00, 0xa0,
+ 0x8e, 0xc0, 0xfc, 0xe8, 0xea, 0x5c, 0xe8, 0xe7,
+ 0x5c, 0xbe, 0x00, 0x0a, 0x33, 0xff, 0xb9, 0x00,
+ 0x78, 0xf3, 0xa5, 0xe8, 0xda, 0x5c, 0xe8, 0xd7,
+ 0x5c, 0x33, 0xf6, 0x33, 0xff, 0xb9, 0x00, 0x7d,
+ 0xf3, 0xa5, 0xe8, 0xcb, 0x5c, 0xe8, 0xc8, 0x5c,
+ 0xbe, 0x00, 0x05, 0x33, 0xff, 0xb9, 0x80, 0x7a,
+ 0xf3, 0xa5, 0xe8, 0xbb, 0x5c, 0xe8, 0xb8, 0x5c,
+ 0x33, 0xf6, 0x33, 0xff, 0xb9, 0x00, 0x7d, 0xf3,
+ 0xa5, 0x07, 0x1f, 0xc3, 0x80, 0x3e, 0xf0, 0xdb,
+ 0x01, 0x75, 0x07, 0xbb, 0x25, 0x5e, 0xe8, 0xe4,
+ 0x55, 0xc3, 0xc7, 0x06, 0xf3, 0xb4, 0x05, 0x00,
+ 0xb8, 0x23, 0x00, 0xbb, 0xa2, 0x00, 0xbf, 0x23,
+ 0x00, 0xbe, 0xae, 0x00, 0xb1, 0x0b, 0xb5, 0x03,
+ 0xe8, 0x58, 0x61, 0xc3, 0x80, 0x3e, 0xe9, 0xdb,
+ 0x01, 0x75, 0x3f, 0xb9, 0x59, 0x00, 0xb0, 0x05,
+ 0xb4, 0x02, 0xe8, 0x60, 0x5f, 0xb9, 0xbe, 0x03,
+ 0xe8, 0x4c, 0xd0, 0xe8, 0xed, 0x60, 0xc6, 0x06,
+ 0xcc, 0x64, 0x00, 0xc6, 0x06, 0xdc, 0x64, 0x01,
+ 0xc6, 0x06, 0xcb, 0x64, 0x00, 0xe8, 0xc1, 0xf3,
+ 0xc7, 0x06, 0xf3, 0xb4, 0x09, 0x00, 0xb8, 0xf0,
+ 0x00, 0xbb, 0xb6, 0x00, 0xbf, 0xe0, 0x00, 0xbe,
+ 0xb6, 0x00, 0xb1, 0x01, 0xb5, 0x04, 0xe8, 0x12,
+ 0x61, 0xc3, 0x80, 0x3e, 0xe7, 0xdb, 0x01, 0x74,
+ 0x0d, 0xe8, 0x34, 0xcc, 0xbb, 0x8a, 0xdb, 0xe8,
+ 0xcb, 0xc6, 0xe8, 0xe0, 0xc6, 0xc3, 0xbb, 0x94,
+ 0x58, 0xe8, 0x69, 0x55, 0xc3, 0xbb, 0x1e, 0x43,
+ 0xe8, 0x62, 0x55, 0xc3, 0xe8, 0x60, 0xd0, 0xe8,
+ 0xee, 0xf4, 0xc6, 0x07, 0x00, 0xe8, 0x74, 0x63,
+ 0xb9, 0x31, 0x00, 0xb0, 0x06, 0xb4, 0x0b, 0xe8,
+ 0xf3, 0x5e, 0xb9, 0x05, 0x00, 0xb0, 0x0d, 0xe8,
+ 0xf4, 0x5e, 0xb9, 0x5d, 0x03, 0xe8, 0xff, 0xcf,
+ 0xb0, 0x57, 0xe8, 0x1b, 0xdc, 0xb0, 0x06, 0xe8,
+ 0xc3, 0xce, 0xc3, 0xe8, 0xb0, 0x59, 0xc3, 0xbb,
+ 0x51, 0x5a, 0xe8, 0x28, 0x55, 0xc3, 0xbb, 0x98,
+ 0x5a, 0xe8, 0x21, 0x55, 0xc3, 0xb9, 0x0f, 0x00,
+ 0xb0, 0x07, 0xb4, 0x04, 0xe8, 0xbe, 0x5e, 0xb9,
+ 0x74, 0x03, 0xe8, 0xcb, 0xcf, 0xb9, 0x37, 0x00,
+ 0xb0, 0x01, 0xb4, 0x04, 0xe8, 0xae, 0x5e, 0xb9,
+ 0x18, 0x00, 0xb0, 0x0c, 0xe8, 0xaf, 0x5e, 0xbb,
+ 0x47, 0x33, 0xc7, 0x07, 0x75, 0x03, 0xb0, 0x01,
+ 0xe8, 0xbd, 0xce, 0xc6, 0x06, 0x45, 0x33, 0xd0,
+ 0xb0, 0x01, 0xbe, 0x76, 0x03, 0xbb, 0xe5, 0x67,
+ 0xe8, 0x84, 0xca, 0xc7, 0x06, 0xaf, 0x64, 0xc6,
+ 0x00, 0xc7, 0x06, 0xb1, 0x64, 0xba, 0x00, 0xc6,
+ 0x06, 0xcd, 0x64, 0x00, 0xc6, 0x06, 0xdc, 0x64,
+ 0x00, 0xc6, 0x06, 0xcb, 0x64, 0x01, 0xe8, 0xe8,
+ 0xf2, 0xb9, 0x03, 0x00, 0xe8, 0xb4, 0x65, 0xe8,
+ 0xab, 0x50, 0xe8, 0x2e, 0xba, 0xb8, 0x64, 0x00,
+ 0xe8, 0xb9, 0xd3, 0xc7, 0x06, 0xf3, 0xb4, 0x28,
+ 0x00, 0xe8, 0x69, 0x61, 0xe8, 0x28, 0xcb, 0xbb,
+ 0x20, 0x7f, 0xe8, 0x10, 0xc6, 0xe8, 0xc6, 0xdb,
+ 0xb0, 0x1d, 0xe8, 0x7b, 0xdb, 0xbb, 0x5c, 0xe4,
+ 0xe8, 0x1b, 0xba, 0xb9, 0x06, 0x00, 0xe8, 0x82,
+ 0x65, 0xbb, 0x47, 0x33, 0xc7, 0x07, 0xbc, 0x03,
+ 0xc7, 0x06, 0xf3, 0xb4, 0x01, 0x00, 0xe8, 0x33,
+ 0x61, 0xb0, 0x01, 0xe8, 0x84, 0xce, 0xc6, 0x06,
+ 0x45, 0x33, 0xd1, 0xb0, 0x01, 0xbe, 0xbd, 0x03,
+ 0xbb, 0xc4, 0x8b, 0xe8, 0x09, 0xca, 0xe8, 0xad,
+ 0x5e, 0xe8, 0x60, 0x0c, 0xc3, 0xb9, 0xbf, 0x03,
+ 0xe8, 0xf4, 0xce, 0xe8, 0x95, 0x5f, 0xc7, 0x06,
+ 0xf3, 0xb4, 0x08, 0x00, 0xb8, 0x28, 0x00, 0xbb,
+ 0x98, 0x00, 0xbf, 0x28, 0x00, 0xbe, 0x9b, 0x00,
+ 0xb1, 0x0b, 0xb5, 0x03, 0xe8, 0xcc, 0x5f, 0xc3,
+ 0xe8, 0xbb, 0x58, 0xc3, 0xb9, 0xc0, 0x03, 0xe8,
+ 0xee, 0xce, 0xbb, 0x11, 0x55, 0xe8, 0x2d, 0x54,
+ 0xc3, 0xbb, 0xc6, 0x5a, 0xe8, 0x26, 0x54, 0xc3,
+ 0xbb, 0xed, 0x5a, 0xe8, 0x1f, 0x54, 0xc3, 0xbb,
+ 0xed, 0x5a, 0xe8, 0x18, 0x54, 0xc3, 0xb9, 0x20,
+ 0x00, 0xb0, 0x18, 0xb4, 0x05, 0xe8, 0xb5, 0x5d,
+ 0xb9, 0x5e, 0x03, 0xe8, 0xa1, 0xce, 0xe8, 0x42,
+ 0x5f, 0xbb, 0x47, 0x33, 0xc7, 0x07, 0x5f, 0x03,
+ 0xb0, 0x01, 0xe8, 0xca, 0xcd, 0xe8, 0x8c, 0x5e,
+ 0xb0, 0x54, 0xe8, 0xd3, 0xda, 0xb0, 0x01, 0xe8,
+ 0x7b, 0xcd, 0xc6, 0x06, 0xe2, 0xdb, 0x02, 0xc3,
+ 0x80, 0x3e, 0xe2, 0xdb, 0x00, 0x74, 0x10, 0xbb,
+ 0x22, 0x57, 0xe8, 0xd8, 0x53, 0xe8, 0xd5, 0xd2,
+ 0xbb, 0x2a, 0x57, 0xe8, 0xcf, 0x53, 0xc3, 0xe8,
+ 0x10, 0xcb, 0x80, 0x3e, 0xda, 0xdb, 0x01, 0x74,
+ 0x0a, 0xbb, 0x40, 0xdb, 0xe8, 0x16, 0xc5, 0xe8,
+ 0x2b, 0xc5, 0xc3, 0xbb, 0x4c, 0xdb, 0xe8, 0x0c,
+ 0xc5, 0xe8, 0x21, 0xc5, 0xc3, 0xbb, 0x27, 0x5b,
+ 0xe8, 0xaa, 0x53, 0xc3, 0x80, 0x3e, 0xda, 0xdb,
+ 0x01, 0x75, 0x1a, 0xc7, 0x06, 0xf3, 0xb4, 0x05,
+ 0x00, 0xb8, 0x78, 0x00, 0xbb, 0xc7, 0x00, 0xbf,
+ 0x80, 0x00, 0xbe, 0xb0, 0x00, 0xb1, 0x13, 0xb5,
+ 0x01, 0xe8, 0x17, 0x5f, 0xc3, 0xe8, 0xca, 0xca,
+ 0xbb, 0xe9, 0x5f, 0xe8, 0xef, 0xc4, 0xbe, 0x0d,
+ 0x01, 0xbf, 0xaf, 0x00, 0xc6, 0x06, 0xc3, 0x64,
+ 0x04, 0xe8, 0x47, 0xe9, 0xe8, 0xb3, 0xca, 0xbb,
+ 0x56, 0xdb, 0xe8, 0xc0, 0xc4, 0xe8, 0xd5, 0xc4,
+ 0xc3, 0xe8, 0x32, 0xcb, 0xbb, 0xa6, 0xda, 0xe8,
+ 0xb3, 0xc4, 0x53, 0xe8, 0xc7, 0xc4, 0x5b, 0x81,
+ 0xfb, 0xb4, 0x01, 0x75, 0x50, 0x8b, 0x3e, 0xb1,
+ 0x64, 0x8b, 0x36, 0xaf, 0x64, 0x57, 0x56, 0xbf,
+ 0x9f, 0x00, 0xbe, 0xbd, 0x00, 0xe8, 0x13, 0xe9,
+ 0xb8, 0x01, 0x01, 0xe8, 0xf0, 0xd1, 0xb9, 0x05,
+ 0x00, 0xb0, 0x02, 0xb4, 0x0a, 0xe8, 0xd5, 0x5c,
+ 0xb0, 0x13, 0xe8, 0xd9, 0x5c, 0xbb, 0x47, 0x33,
+ 0xc7, 0x07, 0x27, 0x02, 0xb9, 0x26, 0x02, 0xe8,
+ 0xd6, 0xcd, 0x5e, 0x5f, 0xc6, 0x06, 0xc3, 0x64,
+ 0x02, 0xe8, 0xe7, 0xe8, 0xb0, 0x13, 0xe8, 0xef,
+ 0xd9, 0xe8, 0xda, 0xca, 0xbb, 0xa6, 0xda, 0xe8,
+ 0x5b, 0xc4, 0xe8, 0x70, 0xc4, 0xc3, 0xe8, 0xfe,
+ 0xcd, 0xb0, 0x10, 0xe8, 0xda, 0xd9, 0xb0, 0x02,
+ 0xe8, 0x82, 0xcc, 0xe8, 0x82, 0xf2, 0xc6, 0x07,
+ 0x00, 0xe8, 0x08, 0x61, 0xb9, 0x05, 0x00, 0xb0,
+ 0x0c, 0xb4, 0x06, 0xe8, 0x87, 0x5c, 0xb9, 0x23,
+ 0x02, 0xe8, 0x9b, 0xcd, 0xc3, 0xe8, 0x56, 0x57,
+ 0xc3, 0xe8, 0x52, 0x57, 0xc3, 0xe8, 0x4e, 0x57,
+ 0xc3, 0xbb, 0xd6, 0x3e, 0xe8, 0xc6, 0x52, 0xc3,
+ 0xe8, 0x43, 0x57, 0xc3, 0xe8, 0x1d, 0xcb, 0xbb,
+ 0xbd, 0x33, 0xe8, 0x28, 0xc4, 0xc6, 0x06, 0xe6,
+ 0x1c, 0xd0, 0xbe, 0xe4, 0x61, 0xbb, 0xae, 0x49,
+ 0xe8, 0xd5, 0x54, 0xb9, 0x05, 0x00, 0xb0, 0x03,
+ 0xb4, 0x07, 0xe8, 0x48, 0x5c, 0xbb, 0x47, 0x33,
+ 0xc7, 0x47, 0x02, 0x9b, 0x02, 0xb0, 0x02, 0xe8,
+ 0x5e, 0xcc, 0xbb, 0x47, 0x33, 0xc7, 0x47, 0x02,
+ 0x9c, 0x02, 0xb0, 0x02, 0xe8, 0x51, 0xcc, 0xe8,
+ 0xcc, 0x5c, 0xc6, 0x06, 0x33, 0x33, 0x01, 0xc6,
+ 0x06, 0xdd, 0x1c, 0x02, 0xc6, 0x06, 0xdb, 0x1c,
+ 0x01, 0xe8, 0x04, 0xf2, 0xc6, 0x47, 0x02, 0x32,
+ 0xe8, 0x89, 0x60, 0xc7, 0x06, 0x30, 0x32, 0x78,
+ 0x00, 0xc7, 0x06, 0x2e, 0x32, 0x5a, 0x00, 0xc7,
+ 0x06, 0x2c, 0x32, 0xae, 0x00, 0xe8, 0x76, 0xda,
+ 0xe8, 0xbd, 0x5a, 0xe8, 0xae, 0xca, 0xbb, 0xc7,
+ 0x36, 0xe8, 0xb9, 0xc3, 0xb9, 0x52, 0x00, 0xb0,
+ 0x13, 0xb4, 0x0e, 0xe8, 0xe7, 0x5b, 0xbb, 0x47,
+ 0x33, 0xc7, 0x47, 0x02, 0x9d, 0x02, 0xb0, 0x02,
+ 0xe8, 0x3f, 0xcc, 0xe8, 0xc2, 0xf1, 0xc6, 0x47,
+ 0x03, 0x00, 0xe8, 0x75, 0x60, 0xc7, 0x06, 0xec,
+ 0xdb, 0x00, 0x00, 0xe8, 0x68, 0x5c, 0xbb, 0x79,
+ 0x37, 0xe8, 0x89, 0xc3, 0xb0, 0x0f, 0xe8, 0x98,
+ 0xcb, 0xb0, 0x08, 0xe8, 0x9f, 0xcb, 0xc3, 0xc7,
+ 0x06, 0xf3, 0xb4, 0x0d, 0x00, 0xb8, 0x00, 0x00,
+ 0xbb, 0xac, 0x00, 0xbf, 0x12, 0x00, 0xbe, 0xad,
+ 0x00, 0xb1, 0x01, 0xb5, 0x02, 0xe8, 0x83, 0x5d,
+ 0xc3, 0xc6, 0x06, 0xdc, 0x64, 0x01, 0xc6, 0x06,
+ 0xcb, 0x64, 0x00, 0xc7, 0x06, 0xf3, 0xb4, 0x0e,
+ 0x00, 0xb8, 0x18, 0x01, 0xbb, 0xc6, 0x00, 0xbf,
+ 0xe3, 0x00, 0xbe, 0xb8, 0x00, 0xb1, 0x01, 0xb5,
+ 0x04, 0xe8, 0x5f, 0x5d, 0xc3, 0xc7, 0x06, 0xf3,
+ 0xb4, 0x0f, 0x00, 0xb8, 0x3f, 0x01, 0xbb, 0xa2,
+ 0x00, 0xbf, 0x06, 0x01, 0xbe, 0xb0, 0x00, 0xb1,
+ 0x01, 0xb5, 0x04, 0xe8, 0x45, 0x5d, 0xc3, 0xc7,
+ 0x06, 0xf3, 0xb4, 0x0c, 0x00, 0xb8, 0x3f, 0x01,
+ 0xbb, 0x98, 0x00, 0xbf, 0x2d, 0x01, 0xbe, 0xaf,
+ 0x00, 0xb1, 0x01, 0xb5, 0x04, 0xe8, 0x2b, 0x5d,
+ 0xc3, 0xe8, 0x9b, 0xcc, 0xb9, 0x05, 0x00, 0xb0,
+ 0x0c, 0xb4, 0x09, 0xe8, 0x37, 0x5b, 0xb0, 0x12,
+ 0xe8, 0x6d, 0xd8, 0xb0, 0x0d, 0xe8, 0x15, 0xcb,
+ 0xe8, 0x15, 0xf1, 0xc6, 0x47, 0x01, 0x00, 0xe8,
+ 0x9a, 0x5f, 0xb9, 0x25, 0x02, 0xe8, 0x37, 0xcc,
+ 0xc3, 0xe8, 0xf2, 0x55, 0xc3, 0xe8, 0x6f, 0xcc,
+ 0xe8, 0xfd, 0xf0, 0xc6, 0x47, 0x02, 0x00, 0xe8,
+ 0x82, 0x5f, 0xb9, 0x05, 0x00, 0xb0, 0x0c, 0xb4,
+ 0x07, 0xe8, 0x01, 0x5b, 0xb9, 0xa4, 0x02, 0xe8,
+ 0x15, 0xcc, 0xbb, 0xb0, 0x4a, 0xe8, 0x4d, 0x51,
+ 0xb0, 0x0f, 0xe8, 0xd8, 0xca, 0xb0, 0x33, 0xe8,
+ 0x26, 0xd8, 0xc3, 0xc3, 0xbb, 0x0f, 0x37, 0x80,
+ 0x3e, 0xa1, 0xdb, 0x01, 0x74, 0x03, 0xbb, 0xc2,
+ 0x36, 0xe8, 0x31, 0x51, 0xc3, 0xb9, 0xc7, 0x03,
+ 0xe8, 0xe5, 0xcb, 0xbb, 0x42, 0x35, 0xe8, 0x24,
+ 0x51, 0xc3, 0x80, 0x3e, 0xa1, 0xdb, 0x01, 0x74,
+ 0x53, 0xb9, 0x38, 0x00, 0xb0, 0x08, 0xb4, 0x0e,
+ 0xe8, 0xba, 0x5a, 0xb0, 0x0c, 0xe8, 0xc5, 0x5a,
+ 0xb9, 0x31, 0x00, 0xb0, 0x0a, 0xe8, 0xb6, 0x5a,
+ 0xc6, 0x06, 0x35, 0x33, 0x10, 0xc6, 0x06, 0x36,
+ 0x33, 0x18, 0xb8, 0x52, 0x46, 0xa3, 0x37, 0x33,
+ 0xb8, 0x5b, 0x7b, 0xa3, 0x39, 0x33, 0xe8, 0xee,
+ 0xcb, 0xb9, 0x4b, 0x02, 0xe8, 0x00, 0xcc, 0xe8,
+ 0xba, 0xcb, 0x8b, 0x36, 0xaf, 0x64, 0x8b, 0x3e,
+ 0xb1, 0x64, 0xc6, 0x06, 0xc3, 0x64, 0x02, 0xe8,
+ 0xa9, 0xe6, 0xe8, 0xd0, 0xcf, 0xbb, 0x68, 0x36,
+ 0xe8, 0xca, 0x50, 0xc3, 0x80, 0x3e, 0xa2, 0xdb,
+ 0x01, 0x74, 0x73, 0xb9, 0x1a, 0x00, 0xb0, 0x0d,
+ 0xb4, 0x0c, 0xe8, 0x60, 0x5a, 0xb0, 0x0f, 0xe8,
+ 0x64, 0x5a, 0xb0, 0x17, 0xe8, 0x66, 0x5a, 0xb0,
+ 0x19, 0xe8, 0x68, 0x5a, 0xb0, 0x20, 0xe8, 0x6a,
+ 0x5a, 0xb0, 0x22, 0xe8, 0x6c, 0x5a, 0xb0, 0x24,
+ 0xe8, 0x6e, 0x5a, 0xb9, 0x4e, 0x02, 0xe8, 0x2e,
+ 0xcb, 0xc7, 0x06, 0xaf, 0x64, 0xcc, 0x00, 0xc7,
+ 0x06, 0xb1, 0x64, 0xb2, 0x00, 0xc6, 0x06, 0xc3,
+ 0x64, 0x03, 0xc6, 0x06, 0xcb, 0x64, 0x01, 0xc6,
+ 0x06, 0xcd, 0x64, 0x01, 0xb9, 0x3b, 0x00, 0xb0,
+ 0x01, 0xb4, 0x0a, 0xe8, 0x17, 0x5a, 0xb9, 0x3c,
+ 0x00, 0xb0, 0x10, 0xe8, 0x18, 0x5a, 0xb9, 0x4f,
+ 0x02, 0xe8, 0x23, 0xcb, 0xe8, 0x57, 0xcf, 0xbb,
+ 0x2e, 0x37, 0xe8, 0x58, 0x50, 0xc6, 0x06, 0xa2,
+ 0xdb, 0x01, 0xe8, 0x40, 0x4d, 0xc3, 0xbb, 0x66,
+ 0x37, 0xe8, 0x49, 0x50, 0xc3, 0x80, 0x3e, 0x9e,
+ 0xdb, 0x01, 0x75, 0x07, 0xbb, 0xe8, 0x35, 0xe8,
+ 0x3b, 0x50, 0xc3, 0xc6, 0x06, 0x9e, 0xdb, 0x01,
+ 0xe8, 0x34, 0xcb, 0xe8, 0xc2, 0xef, 0xc6, 0x47,
+ 0x02, 0x00, 0x53, 0xe8, 0x46, 0x5e, 0xb9, 0x15,
+ 0x00, 0xb0, 0x09, 0xb4, 0x02, 0xe8, 0xc5, 0x59,
+ 0xb9, 0x22, 0x00, 0xb0, 0x15, 0xe8, 0xc6, 0x59,
+ 0xb9, 0x1a, 0x00, 0xb0, 0x1e, 0xe8, 0xc5, 0x59,
+ 0xb9, 0x28, 0x02, 0xe8, 0xb4, 0xca, 0x5b, 0xc6,
+ 0x47, 0x02, 0x12, 0xe8, 0xda, 0x5d, 0xe8, 0xd3,
+ 0xca, 0xb0, 0x14, 0xe8, 0xda, 0xd6, 0xc3, 0xbb,
+ 0x2a, 0x3f, 0xe8, 0xf0, 0x4f, 0xc3, 0xc7, 0x06,
+ 0xf3, 0xb4, 0x0b, 0x00, 0xb8, 0xe4, 0x00, 0xbb,
+ 0x6d, 0x00, 0xbf, 0x8a, 0x00, 0xbe, 0xa3, 0x00,
+ 0xb1, 0x0b, 0xb5, 0x03, 0xe8, 0x64, 0x5b, 0xc3,
+ 0xc7, 0x06, 0xf3, 0xb4, 0x0d, 0x00, 0xb8, 0x3f,
+ 0x01, 0xbb, 0xb5, 0x00, 0xbf, 0x05, 0x01, 0xbe,
+ 0xb7, 0x00, 0xb1, 0x01, 0xb5, 0x04, 0xe8, 0x4a,
+ 0x5b, 0xc3, 0xe8, 0x28, 0x00, 0xe8, 0xb7, 0xca,
+ 0xe8, 0x45, 0xef, 0xc6, 0x47, 0x01, 0x00, 0xe8,
+ 0xca, 0x5d, 0xb9, 0x05, 0x00, 0xb0, 0x0a, 0xb4,
+ 0x09, 0xe8, 0x49, 0x59, 0xb9, 0x1f, 0x02, 0xe8,
+ 0x5d, 0xca, 0xb0, 0x0f, 0xe8, 0x79, 0xd6, 0xb0,
+ 0x09, 0xe8, 0x21, 0xc9, 0xc3, 0xbe, 0xcb, 0x00,
+ 0xbf, 0xa9, 0x00, 0x81, 0x3e, 0xaf, 0x64, 0xcb,
+ 0x00, 0x75, 0x1a, 0x81, 0x3e, 0xb1, 0x64, 0xab,
+ 0x00, 0x75, 0x12, 0xc6, 0x06, 0xc3, 0x64, 0x01,
+ 0x57, 0x56, 0xe8, 0x46, 0xe5, 0xb8, 0x09, 0x00,
+ 0xe8, 0x4f, 0xce, 0x5e, 0x5f, 0xc6, 0x06, 0xc3,
+ 0x64, 0x02, 0xe8, 0x36, 0xe5, 0xc3, 0xbb, 0x54,
+ 0x3f, 0xe8, 0x59, 0x4f, 0xc3, 0xbb, 0x85, 0x3f,
+ 0xe8, 0x52, 0x4f, 0xc3, 0xc7, 0x06, 0xf3, 0xb4,
+ 0x0b, 0x00, 0xb8, 0x3f, 0x01, 0xbb, 0xc6, 0x00,
+ 0xbf, 0x2c, 0x01, 0xbe, 0xc4, 0x00, 0xb1, 0x01,
+ 0xb5, 0x04, 0xe8, 0xc6, 0x5a, 0x80, 0x3e, 0x9c,
+ 0xdb, 0x01, 0x74, 0x64, 0xe8, 0xd8, 0x54, 0xe8,
+ 0x26, 0xe5, 0x80, 0x3e, 0xc6, 0x64, 0x00, 0x75,
+ 0xf6, 0xbb, 0x47, 0x33, 0xc7, 0x07, 0x20, 0x02,
+ 0xb0, 0x01, 0xc7, 0x06, 0x23, 0xc4, 0x01, 0x00,
+ 0xc7, 0x06, 0x3b, 0x33, 0x15, 0x00, 0xc7, 0x06,
+ 0x3d, 0x33, 0x2a, 0x00, 0xc6, 0x06, 0xce, 0x00,
+ 0x02, 0xe8, 0x29, 0xc9, 0x72, 0x33, 0xa1, 0x3f,
+ 0x33, 0x0b, 0xc0, 0x74, 0x10, 0x3d, 0x30, 0x00,
+ 0x77, 0x0b, 0xb0, 0x01, 0xb9, 0x2c, 0x00, 0xba,
+ 0x33, 0x00, 0xe8, 0x81, 0xc1, 0xe8, 0x2e, 0x59,
+ 0x80, 0x3e, 0x27, 0xc4, 0x01, 0x75, 0x11, 0xc6,
+ 0x06, 0xcf, 0x00, 0x00, 0xe8, 0xca, 0xc6, 0xbb,
+ 0xb2, 0xda, 0xe8, 0x28, 0xc0, 0xe8, 0x3d, 0xc0,
+ 0xc3, 0xc6, 0x06, 0x9c, 0xdb, 0x01, 0xbb, 0x63,
+ 0x35, 0xb9, 0x3c, 0x00, 0xe8, 0xbd, 0x4f, 0xe8,
+ 0x04, 0x59, 0xb9, 0x11, 0x00, 0xb0, 0x05, 0xb4,
+ 0x08, 0xe8, 0x59, 0x58, 0xbb, 0x47, 0x33, 0xc7,
+ 0x07, 0x21, 0x02, 0xb0, 0x01, 0xe8, 0xb9, 0xc8,
+ 0xe8, 0x35, 0xee, 0xc6, 0x07, 0x10, 0xe8, 0xbb,
+ 0x5c, 0xb0, 0x02, 0xe8, 0x1b, 0xc8, 0xe8, 0x88,
+ 0xc6, 0xbb, 0x17, 0x09, 0xe8, 0xfe, 0xbf, 0xc3,
+ 0xbb, 0x2a, 0x3f, 0xe8, 0x87, 0x4e, 0xc3, 0xc7,
+ 0x06, 0xf3, 0xb4, 0x0c, 0x00, 0xb8, 0x00, 0x00,
+ 0xbb, 0xbd, 0x00, 0xbf, 0x1e, 0x00, 0xbe, 0xbd,
+ 0x00, 0xb1, 0x01, 0xb5, 0x02, 0xe8, 0xfb, 0x59,
+ 0xc3, 0xbb, 0xec, 0x3f, 0xe8, 0x66, 0x4e, 0xc3,
+ 0xe8, 0x64, 0xc9, 0xe8, 0xf2, 0xed, 0xc6, 0x07,
+ 0x00, 0xe8, 0x78, 0x5c, 0xb9, 0x05, 0x00, 0xb0,
+ 0x0b, 0xb4, 0x09, 0xe8, 0xf7, 0x57, 0xb9, 0x7d,
+ 0x02, 0xe8, 0x0b, 0xc9, 0xb0, 0x07, 0xe8, 0xd4,
+ 0xc7, 0xb0, 0x31, 0xe8, 0x22, 0xd5, 0xc3, 0x80,
+ 0x3e, 0x9f, 0xdb, 0x01, 0x74, 0x07, 0xbb, 0xe1,
+ 0x34, 0xe8, 0x31, 0x4e, 0xc3, 0xbb, 0x2e, 0x40,
+ 0xe8, 0x2a, 0x4e, 0xc3, 0xbb, 0xe1, 0x34, 0xe8,
+ 0x23, 0x4e, 0xc3, 0xe8, 0xa0, 0x52, 0xc3, 0x80,
+ 0x3e, 0x9f, 0xdb, 0x01, 0x74, 0x07, 0xbb, 0xe1,
+ 0x34, 0xe8, 0x11, 0x4e, 0xc3, 0x80, 0x3e, 0xa0,
+ 0xdb, 0x01, 0x75, 0x07, 0xbb, 0x31, 0x3e, 0xe8,
+ 0x03, 0x4e, 0xc3, 0xbe, 0xad, 0x00, 0xbf, 0x8a,
+ 0x00, 0xc6, 0x06, 0xc3, 0x64, 0x02, 0xe8, 0xca,
+ 0xe3, 0xb9, 0x1c, 0x00, 0xb0, 0x05, 0xb4, 0x08,
+ 0xe8, 0x92, 0x57, 0xb9, 0x47, 0x02, 0xe8, 0x7e,
+ 0xc8, 0xb9, 0x48, 0x02, 0xe8, 0x7b, 0xc8, 0xe8,
+ 0x52, 0x5a, 0xb8, 0x00, 0xa0, 0xb9, 0x00, 0x7d,
+ 0xe8, 0x7d, 0x5a, 0xa1, 0xb1, 0x32, 0xb9, 0x00,
+ 0x7d, 0xe8, 0x74, 0x5a, 0xa1, 0xb3, 0x32, 0xb9,
+ 0x00, 0x7d, 0xe8, 0x6b, 0x5a, 0xa1, 0xb5, 0x32,
+ 0xb9, 0x00, 0x7d, 0xe8, 0x62, 0x5a, 0xb8, 0x64,
+ 0x00, 0xe8, 0xb8, 0xcc, 0xe8, 0x32, 0x5a, 0xb9,
+ 0x48, 0x00, 0xb0, 0x12, 0xb4, 0x08, 0xe8, 0x4c,
+ 0x57, 0xb9, 0x49, 0x00, 0xb0, 0x27, 0xe8, 0x4d,
+ 0x57, 0xb9, 0x49, 0x02, 0xe8, 0x33, 0xc8, 0xe8,
+ 0xd1, 0x58, 0xc7, 0x06, 0xf3, 0xb4, 0x0b, 0x00,
+ 0xc6, 0x06, 0xdc, 0x1c, 0x01, 0xe8, 0x57, 0x59,
+ 0xc7, 0x06, 0xaf, 0x64, 0xc2, 0x00, 0xc7, 0x06,
+ 0xb1, 0x64, 0xa0, 0x00, 0xc6, 0x06, 0xc3, 0x64,
+ 0x02, 0xc6, 0x06, 0xcb, 0x64, 0x00, 0xc6, 0x06,
+ 0xcd, 0x64, 0x00, 0xe8, 0x20, 0xe9, 0xb9, 0x1c,
+ 0x00, 0xb0, 0x02, 0xb4, 0x08, 0xe8, 0x05, 0x57,
+ 0xb9, 0x4a, 0x02, 0xc6, 0x06, 0xdc, 0x1c, 0x01,
+ 0xe8, 0x0d, 0xc8, 0xbe, 0x8a, 0x00, 0xbf, 0xa3,
+ 0x00, 0xc6, 0x06, 0xc3, 0x64, 0x03, 0xe8, 0x1a,
+ 0xe3, 0xbb, 0x50, 0x36, 0xe8, 0x3e, 0x4d, 0xc6,
+ 0x06, 0xa0, 0xdb, 0x01, 0xe8, 0x26, 0x4a, 0xc3,
+ 0xc7, 0x06, 0xf3, 0xb4, 0x0b, 0x00, 0xb8, 0x00,
+ 0x00, 0xbb, 0x7c, 0x00, 0xbf, 0x3c, 0x00, 0xbe,
+ 0xaa, 0x00, 0xb1, 0x01, 0xb5, 0x02, 0xe8, 0xaa,
+ 0x58, 0xc3, 0xbb, 0x47, 0x40, 0xe8, 0x15, 0x4d,
+ 0xc3, 0xbb, 0x6d, 0x40, 0xe8, 0x0e, 0x4d, 0xc3,
+ 0x80, 0x3e, 0x99, 0xdb, 0x01, 0x75, 0x07, 0xbb,
+ 0x1f, 0x35, 0xe8, 0x00, 0x4d, 0xc3, 0xc6, 0x06,
+ 0x99, 0xdb, 0x01, 0xb9, 0x39, 0x00, 0xb0, 0x06,
+ 0xb4, 0x06, 0xe8, 0x98, 0x56, 0xb0, 0x0c, 0xe8,
+ 0x9c, 0x56, 0xb9, 0x3a, 0x00, 0xb0, 0x11, 0xe8,
+ 0x9b, 0x56, 0xb9, 0x05, 0x00, 0xb0, 0x25, 0xe8,
+ 0x9a, 0x56, 0xb9, 0x18, 0x02, 0xe8, 0x7f, 0xc7,
+ 0xe8, 0xa9, 0xc7, 0xb8, 0x0a, 0x00, 0xe8, 0xb1,
+ 0xcb, 0x8b, 0x3e, 0xb1, 0x64, 0x47, 0x8b, 0x36,
+ 0xaf, 0x64, 0xe8, 0x96, 0xe2, 0xbb, 0xc3, 0x30,
+ 0xe8, 0x2a, 0xbe, 0xb0, 0x08, 0xe8, 0x98, 0xd3,
+ 0xc3, 0x80, 0x3e, 0xb2, 0xdb, 0x01, 0x75, 0x0a,
+ 0xbb, 0x1d, 0x41, 0xe8, 0xa7, 0x4c, 0xe8, 0x43,
+ 0x00, 0xc3, 0xbb, 0x8a, 0x40, 0xe8, 0x9d, 0x4c,
+ 0xe8, 0x39, 0x00, 0xbb, 0x98, 0x40, 0xe8, 0x94,
+ 0x4c, 0xbb, 0xa7, 0x40, 0xbe, 0xe1, 0xcd, 0xe8,
+ 0x30, 0x00, 0xbb, 0xb6, 0x40, 0xe8, 0x85, 0x4c,
+ 0xbb, 0xce, 0x40, 0xbe, 0xac, 0xcd, 0xe8, 0x21,
+ 0x00, 0xbb, 0xe8, 0x40, 0xe8, 0x76, 0x4c, 0xbb,
+ 0x0f, 0x41, 0xbe, 0xe8, 0xcd, 0xe8, 0x12, 0x00,
+ 0xe8, 0x6a, 0xcb, 0xe8, 0x06, 0x00, 0xc6, 0x06,
+ 0xb2, 0xdb, 0x01, 0xc3, 0xbb, 0x91, 0x40, 0xbe,
+ 0xf8, 0xcd, 0xc6, 0x06, 0xe6, 0x1c, 0xe5, 0xe8,
+ 0xfc, 0x4e, 0xc3, 0xbb, 0x33, 0x41, 0xe8, 0x4c,
+ 0x4c, 0xc3, 0xc7, 0x06, 0xf3, 0xb4, 0x14, 0x00,
+ 0xb8, 0x00, 0x00, 0xbb, 0xb9, 0x00, 0xbf, 0x14,
+ 0x00, 0xbe, 0xb9, 0x00, 0xb1, 0x01, 0xb5, 0x02,
+ 0xe8, 0xc0, 0x57, 0xc3, 0xc7, 0x06, 0xf3, 0xb4,
+ 0x0b, 0x00, 0xb8, 0x00, 0x00, 0xbb, 0xaa, 0x00,
+ 0xbf, 0x3c, 0x00, 0xbe, 0xaa, 0x00, 0xb1, 0x01,
+ 0xb5, 0x02, 0xe8, 0xa6, 0x57, 0xc3, 0xc7, 0x06,
+ 0xf3, 0xb4, 0x12, 0x00, 0xb8, 0xf6, 0x00, 0xbb,
+ 0xc7, 0x00, 0xbf, 0xc9, 0x00, 0xbe, 0xc0, 0x00,
+ 0xb1, 0x01, 0xb5, 0x04, 0xe8, 0x8c, 0x57, 0xc3,
+ 0xe8, 0xfc, 0xc6, 0xe8, 0x8a, 0xeb, 0xc6, 0x47,
+ 0x02, 0x00, 0xe8, 0x0f, 0x5a, 0xb9, 0x22, 0x00,
+ 0xb0, 0x06, 0xb4, 0x06, 0xe8, 0x8e, 0x55, 0xb9,
+ 0x17, 0x02, 0xe8, 0xa2, 0xc6, 0xb0, 0x0b, 0xe8,
+ 0xbe, 0xd2, 0xb0, 0x01, 0xe8, 0x66, 0xc5, 0xc7,
+ 0x06, 0xf3, 0xb4, 0x0f, 0x00, 0xe8, 0x60, 0xeb,
+ 0xc6, 0x07, 0x00, 0xc7, 0x06, 0xf3, 0xb4, 0x10,
+ 0x00, 0xe8, 0x01, 0x00, 0xc3, 0xfe, 0x06, 0x98,
+ 0xdb, 0x80, 0x3e, 0x98, 0xdb, 0x02, 0x73, 0x01,
+ 0xc3, 0xc7, 0x06, 0xf3, 0xb4, 0x0f, 0x00, 0xb0,
+ 0x01, 0xe8, 0x39, 0xc5, 0xc7, 0x06, 0xf3, 0xb4,
+ 0x10, 0x00, 0xc3, 0xe8, 0xa1, 0xc6, 0xe8, 0x2f,
+ 0xeb, 0xc6, 0x47, 0x01, 0x00, 0xc6, 0x47, 0x03,
+ 0x00, 0xe8, 0xb0, 0x59, 0xb9, 0x21, 0x00, 0xb0,
+ 0x07, 0xb4, 0x09, 0xe8, 0x2f, 0x55, 0xb9, 0x16,
+ 0x02, 0xe8, 0x2e, 0xc6, 0xb0, 0x0a, 0xe8, 0x5f,
+ 0xd2, 0xb0, 0x02, 0xe8, 0x07, 0xc5, 0xe8, 0x07,
+ 0xeb, 0xc6, 0x47, 0x01, 0x0a, 0xe8, 0x48, 0x59,
+ 0xe8, 0x41, 0xc6, 0xc7, 0x06, 0xf3, 0xb4, 0x0f,
+ 0x00, 0xe8, 0xf4, 0xea, 0xc6, 0x47, 0x01, 0x00,
+ 0xc7, 0x06, 0xf3, 0xb4, 0x10, 0x00, 0xe8, 0x94,
+ 0xff, 0xc3, 0xe8, 0xe3, 0xea, 0xb0, 0x00, 0x88,
+ 0x07, 0xc7, 0x06, 0xf3, 0xb4, 0x0f, 0x00, 0xc6,
+ 0x06, 0xdc, 0x1c, 0x01, 0xe8, 0x10, 0x57, 0xb9,
+ 0x38, 0x02, 0xc6, 0x06, 0xdc, 0x1c, 0x01, 0xe8,
+ 0xcd, 0xc5, 0xc7, 0x06, 0xaf, 0x64, 0x73, 0x00,
+ 0xc7, 0x06, 0xb1, 0x64, 0xb4, 0x00, 0xc6, 0x06,
+ 0xc3, 0x64, 0x03, 0xc6, 0x06, 0xcb, 0x64, 0x01,
+ 0xc6, 0x06, 0xcd, 0x64, 0x01, 0xe8, 0xec, 0xc5,
+ 0xb9, 0x06, 0x00, 0xe8, 0x05, 0x5c, 0xc3, 0xc7,
+ 0x06, 0xf3, 0xb4, 0x0f, 0x00, 0xb8, 0x00, 0x00,
+ 0xbb, 0xac, 0x00, 0xbf, 0x1e, 0x00, 0xbe, 0xac,
+ 0x00, 0xb1, 0x01, 0xb5, 0x02, 0xe8, 0x83, 0x56,
+ 0xc3, 0xe8, 0x1a, 0x00, 0xc7, 0x06, 0xf3, 0xb4,
+ 0x13, 0x00, 0xb8, 0xdf, 0x00, 0xbb, 0xc7, 0x00,
+ 0xbf, 0xdf, 0x00, 0xbe, 0xc1, 0x00, 0xb1, 0x13,
+ 0xb5, 0x01, 0xe8, 0x66, 0x56, 0xc3, 0xe8, 0x7e,
+ 0x50, 0x81, 0x3e, 0xb1, 0x64, 0x95, 0x00, 0x76,
+ 0x09, 0xbe, 0x33, 0x00, 0xbf, 0x95, 0x00, 0xe8,
+ 0xaa, 0xe0, 0xbe, 0x5e, 0x00, 0xbf, 0x73, 0x00,
+ 0xc6, 0x06, 0xc3, 0x64, 0x04, 0xe8, 0x9c, 0xe0,
+ 0xc3, 0xe8, 0xda, 0xff, 0xe8, 0x2f, 0x4f, 0xc3,
+ 0xbb, 0x08, 0xdb, 0xe8, 0xff, 0xbb, 0x53, 0xe8,
+ 0x13, 0xbc, 0x5b, 0x81, 0xfb, 0x5d, 0x2c, 0x74,
+ 0x2e, 0x81, 0xfb, 0x9b, 0x2c, 0x75, 0x01, 0xc3,
+ 0xb8, 0x23, 0x01, 0xe8, 0x48, 0xc9, 0xb9, 0x34,
+ 0x00, 0xb0, 0x09, 0xb4, 0x0a, 0xe8, 0x2d, 0x54,
+ 0xb0, 0x0b, 0xe8, 0x31, 0x54, 0xb0, 0x0d, 0xe8,
+ 0x33, 0x54, 0xbb, 0x47, 0x33, 0xc7, 0x07, 0x39,
+ 0x02, 0xb0, 0x01, 0xe8, 0x83, 0xc4, 0xc3, 0xb8,
+ 0x23, 0x01, 0xe8, 0x21, 0xc9, 0xe8, 0xf8, 0xe9,
+ 0xc6, 0x07, 0x00, 0xe8, 0x7e, 0x58, 0xb9, 0x34,
+ 0x00, 0xb0, 0x09, 0xb4, 0x0a, 0xe8, 0xfd, 0x53,
+ 0xb0, 0x0b, 0xe8, 0x01, 0x54, 0xb0, 0x0d, 0xe8,
+ 0x03, 0x54, 0xb9, 0x35, 0x00, 0xb0, 0x20, 0xb4,
+ 0x0a, 0xe8, 0x00, 0x54, 0xbb, 0x47, 0x33, 0xc7,
+ 0x07, 0x3a, 0x02, 0xb0, 0x01, 0xe8, 0x49, 0xc4,
+ 0xe8, 0x2b, 0xc9, 0xbb, 0x1f, 0x55, 0xe8, 0x2c,
+ 0x4a, 0xb0, 0x05, 0xe8, 0xb7, 0xc3, 0xc6, 0x06,
+ 0xb0, 0xdb, 0x01, 0xc3, 0xbb, 0x0f, 0x57, 0xe8,
+ 0x1b, 0x4a, 0xc3, 0xe8, 0x19, 0xc5, 0xe8, 0xa7,
+ 0xe9, 0xc6, 0x47, 0x01, 0x00, 0xe8, 0x2c, 0x58,
+ 0xb9, 0x05, 0x00, 0xb0, 0x0a, 0xb4, 0x08, 0xe8,
+ 0xab, 0x53, 0xb9, 0x31, 0x02, 0xe8, 0xcd, 0xc4,
+ 0xb0, 0x1a, 0xe8, 0xdb, 0xd0, 0xb0, 0x06, 0xe8,
+ 0x83, 0xc3, 0xc3, 0xbb, 0x7e, 0x41, 0x80, 0x3e,
+ 0xb0, 0xdb, 0x01, 0x75, 0x03, 0xbb, 0xb1, 0x41,
+ 0xe8, 0xe2, 0x49, 0xc3, 0xc7, 0x06, 0xf3, 0xb4,
+ 0x12, 0x00, 0xb8, 0x5e, 0x00, 0xbb, 0x73, 0x00,
+ 0xbf, 0x5e, 0x00, 0xbe, 0x73, 0x00, 0xb1, 0x0b,
+ 0xb5, 0x03, 0xe8, 0x56, 0x55, 0xc3, 0xbb, 0xef,
+ 0x41, 0xe8, 0xc1, 0x49, 0xc3, 0xbb, 0x64, 0x41,
+ 0xe8, 0xba, 0x49, 0xc3, 0xb9, 0x43, 0x00, 0xb0,
+ 0x05, 0xb4, 0x03, 0xe8, 0x57, 0x53, 0xb9, 0xd7,
+ 0x03, 0xe8, 0x64, 0xc4, 0xbb, 0x55, 0x59, 0xe8,
+ 0xa3, 0x49, 0xc3, 0xe8, 0x20, 0x4e, 0xc3, 0xb9,
+ 0x42, 0x00, 0xb0, 0x05, 0xb4, 0x08, 0xe8, 0x3c,
+ 0x53, 0xb9, 0x43, 0x00, 0xb0, 0x0b, 0xe8, 0x3d,
+ 0x53, 0xb9, 0xd8, 0x03, 0xe8, 0x41, 0xc4, 0xbb,
+ 0x55, 0x59, 0xe8, 0x80, 0x49, 0xc3, 0xbb, 0xff,
+ 0x41, 0xe8, 0x79, 0x49, 0xc3, 0xbb, 0x3f, 0x42,
+ 0xe8, 0x72, 0x49, 0xc3, 0xbb, 0x51, 0x42, 0xe8,
+ 0x6b, 0x49, 0xc3, 0xbb, 0x67, 0x42, 0xe8, 0x64,
+ 0x49, 0xc3, 0xe8, 0xe1, 0x4d, 0xc3, 0xb9, 0x20,
+ 0x00, 0xb0, 0x07, 0xb4, 0x04, 0xe8, 0xfd, 0x52,
+ 0xb9, 0x72, 0x02, 0xe8, 0x0a, 0xc4, 0xe8, 0xdf,
+ 0xe8, 0xc6, 0x47, 0x01, 0x00, 0xe8, 0x64, 0x57,
+ 0xb0, 0x0c, 0xe8, 0xd0, 0xc2, 0xb0, 0x2d, 0xe8,
+ 0x1e, 0xd0, 0xbb, 0x04, 0x3b, 0xe8, 0x35, 0x49,
+ 0xc3, 0xbb, 0x3f, 0x42, 0xe8, 0x2e, 0x49, 0xc3,
+ 0xe8, 0x2c, 0xc4, 0xb0, 0x0d, 0xe8, 0x08, 0xd0,
+ 0xb0, 0x0e, 0xe8, 0xb0, 0xc2, 0xb9, 0x05, 0x00,
+ 0xb0, 0x0a, 0xb4, 0x08, 0xe8, 0xbe, 0x52, 0xe8,
+ 0xa6, 0xe8, 0xc6, 0x07, 0x00, 0xe8, 0x2c, 0x57,
+ 0xb9, 0x36, 0x02, 0xe8, 0xd7, 0xc3, 0xc3, 0xbb,
+ 0x89, 0x42, 0xe8, 0x00, 0x49, 0xc3, 0xb9, 0x0b,
+ 0x00, 0xb0, 0x04, 0xb4, 0x0c, 0xe8, 0x9d, 0x52,
+ 0xb9, 0x02, 0x02, 0xe8, 0x89, 0xc3, 0xe8, 0x7f,
+ 0xe8, 0xb0, 0x05, 0x88, 0x47, 0x02, 0x53, 0xe8,
+ 0x88, 0x57, 0x5b, 0xb0, 0x08, 0x88, 0x47, 0x04,
+ 0xe8, 0xa6, 0x57, 0xe8, 0xae, 0xc3, 0xb0, 0x0e,
+ 0xe8, 0x56, 0xc2, 0xb0, 0x0f, 0xe8, 0x51, 0xc2,
+ 0xb0, 0x10, 0xe8, 0x4c, 0xc2, 0xb0, 0x01, 0xe8,
+ 0x53, 0xc2, 0xc3, 0x80, 0x3e, 0x94, 0xdb, 0x01,
+ 0x74, 0x07, 0xbb, 0x63, 0x3e, 0xe8, 0xb5, 0x48,
+ 0xc3, 0x80, 0x3e, 0x95, 0xdb, 0x01, 0x75, 0x07,
+ 0xbb, 0x75, 0x3e, 0xe8, 0xa7, 0x48, 0xc3, 0xc6,
+ 0x06, 0x95, 0xdb, 0x01, 0xbb, 0x46, 0x67, 0xe8,
+ 0x20, 0xe8, 0x83, 0xc3, 0x03, 0xff, 0x37, 0x53,
+ 0xc7, 0x07, 0x3f, 0x01, 0xbe, 0xbc, 0x00, 0xbf,
+ 0xb3, 0x00, 0xe8, 0x5e, 0xde, 0xb9, 0x07, 0x00,
+ 0xb0, 0x10, 0xb4, 0x07, 0xe8, 0x26, 0x52, 0xb9,
+ 0x07, 0x02, 0xe8, 0x33, 0xc3, 0xb8, 0x96, 0x00,
+ 0xe8, 0x57, 0xc7, 0xbe, 0xa8, 0x00, 0xbf, 0xb3,
+ 0x00, 0xc6, 0x06, 0xc3, 0x64, 0x02, 0xe8, 0x3a,
+ 0xde, 0x5b, 0x8f, 0x07, 0xb0, 0x03, 0xe8, 0x3f,
+ 0xcf, 0xc3, 0xbb, 0x3f, 0x42, 0xe8, 0x55, 0x48,
+ 0xc3, 0xe8, 0xd2, 0x4c, 0xc3, 0xb9, 0x46, 0x00,
+ 0xb0, 0x06, 0xb4, 0x06, 0xe8, 0xee, 0x51, 0xb9,
+ 0x01, 0x02, 0xe8, 0xda, 0xc2, 0xe8, 0x7b, 0x53,
+ 0xc7, 0x06, 0xf3, 0xb4, 0x16, 0x00, 0xb8, 0x33,
+ 0x00, 0xbb, 0xb4, 0x00, 0xbf, 0x4e, 0x00, 0xbe,
+ 0xb4, 0x00, 0xb1, 0x01, 0xb5, 0x02, 0xe8, 0xb2,
+ 0x53, 0xc3, 0xb9, 0xfd, 0x01, 0xe8, 0xd8, 0xc2,
+ 0xbb, 0xce, 0x5d, 0xe8, 0x17, 0x48, 0xc3, 0xbb,
+ 0x64, 0x41, 0xe8, 0x10, 0x48, 0xc3, 0xbb, 0x64,
+ 0x41, 0xe8, 0x09, 0x48, 0xc3, 0xbb, 0x0f, 0x57,
+ 0xe8, 0x02, 0x48, 0xc3, 0xc7, 0x06, 0xf3, 0xb4,
+ 0x0f, 0x00, 0xb8, 0x9d, 0x00, 0xbb, 0xc7, 0x00,
+ 0xbf, 0x9d, 0x00, 0xbe, 0xb4, 0x00, 0xb1, 0x13,
+ 0xb5, 0x01, 0xe8, 0x76, 0x53, 0xc3, 0xc7, 0x06,
+ 0xf3, 0xb4, 0x15, 0x00, 0xb8, 0x00, 0x00, 0xbb,
+ 0xbb, 0x00, 0xbf, 0x30, 0x00, 0xbe, 0xbe, 0x00,
+ 0xb1, 0x01, 0xb5, 0x02, 0xe8, 0x5c, 0x53, 0xc3,
+ 0xc7, 0x06, 0xf3, 0xb4, 0x1b, 0x00, 0xb8, 0x54,
+ 0x00, 0xbb, 0xc7, 0x00, 0xbf, 0x84, 0x00, 0xbe,
+ 0xbe, 0x00, 0xb1, 0x01, 0xb5, 0x02, 0xe8, 0x42,
+ 0x53, 0xc3, 0xe8, 0x5e, 0xbf, 0xbb, 0xba, 0xda,
+ 0xe8, 0x02, 0xb9, 0xe8, 0x17, 0xb9, 0xbe, 0xe5,
+ 0x92, 0xb0, 0x0d, 0xe8, 0x3b, 0xc1, 0xc3, 0xb0,
+ 0x0e, 0xe8, 0x29, 0xc1, 0xb0, 0x06, 0xe8, 0x77,
+ 0xce, 0xb9, 0x05, 0x00, 0xb0, 0x07, 0xb4, 0x0c,
+ 0xe8, 0x32, 0x51, 0xb9, 0x09, 0x02, 0xe8, 0x1e,
+ 0xc2, 0xe8, 0x14, 0xe7, 0xc6, 0x47, 0x04, 0x00,
+ 0xe8, 0x4e, 0x55, 0xe8, 0x4e, 0xc2, 0xc3, 0xc6,
+ 0x06, 0x94, 0xdb, 0x01, 0xb9, 0x06, 0x00, 0xb0,
+ 0x04, 0xb4, 0x0b, 0xe8, 0x0f, 0x51, 0xb9, 0x03,
+ 0x02, 0xe8, 0xfb, 0xc1, 0xe8, 0xf1, 0xe6, 0xb0,
+ 0x06, 0x88, 0x47, 0x03, 0xe8, 0x22, 0x56, 0xe8,
+ 0x2a, 0xc2, 0xc3, 0xbb, 0xac, 0x42, 0xe8, 0x4c,
+ 0x47, 0xc3, 0xc7, 0x06, 0xf3, 0xb4, 0x14, 0x00,
+ 0xb8, 0x3f, 0x01, 0xbb, 0xbe, 0x00, 0xbf, 0x21,
+ 0x01, 0xbe, 0xbe, 0x00, 0xb1, 0x01, 0xb5, 0x04,
+ 0xe8, 0xc0, 0x52, 0xc3, 0xc7, 0x06, 0xf3, 0xb4,
+ 0x19, 0x00, 0xb8, 0x3f, 0x01, 0xbb, 0x92, 0x00,
+ 0xbf, 0x14, 0x01, 0xbe, 0x92, 0x00, 0xb1, 0x01,
+ 0xb5, 0x04, 0xe8, 0xa6, 0x52, 0xc3, 0xb9, 0x59,
+ 0x00, 0xb0, 0x04, 0xb4, 0x06, 0xe8, 0xb5, 0x50,
+ 0xb9, 0xd4, 0x03, 0xe8, 0xa1, 0xc1, 0xe8, 0x42,
+ 0x52, 0x80, 0x3e, 0xee, 0xdb, 0x01, 0x75, 0x06,
+ 0xb9, 0x07, 0x00, 0xe8, 0xed, 0x57, 0xc7, 0x06,
+ 0xf3, 0xb4, 0x17, 0x00, 0xb8, 0x4c, 0x00, 0xbb,
+ 0xc7, 0x00, 0xbf, 0x5e, 0x00, 0xbe, 0xbe, 0x00,
+ 0xb1, 0x13, 0xb5, 0x01, 0xe8, 0x6c, 0x52, 0xc3,
+ 0xbb, 0xc7, 0x42, 0xe8, 0xd7, 0x46, 0xc3, 0xbb,
+ 0x64, 0x41, 0xe8, 0xd0, 0x46, 0xc3, 0xbb, 0x64,
+ 0x41, 0xe8, 0xc9, 0x46, 0xc3, 0xbb, 0x64, 0x41,
+ 0xe8, 0xc2, 0x46, 0xc3, 0xe8, 0x04, 0x00, 0xe8,
+ 0x87, 0x00, 0xc3, 0xc7, 0x06, 0xf3, 0xb4, 0x18,
+ 0x00, 0xc6, 0x06, 0xdc, 0x1c, 0x01, 0xc6, 0x06,
+ 0xc5, 0x64, 0x00, 0xc6, 0x06, 0x3d, 0x66, 0x00,
+ 0xc6, 0x06, 0x40, 0x67, 0xff, 0xc6, 0x06, 0xc4,
+ 0x64, 0x01, 0xe8, 0x93, 0xdb, 0x80, 0x3e, 0xad,
+ 0x64, 0x01, 0x75, 0x05, 0xe8, 0x05, 0x53, 0xeb,
+ 0x03, 0xe8, 0x1a, 0x53, 0xe8, 0x3e, 0x54, 0x80,
+ 0x3e, 0xa4, 0xdb, 0x01, 0x74, 0x1c, 0xa1, 0xb3,
+ 0x32, 0xbb, 0x00, 0xfa, 0x1e, 0x53, 0x8e, 0xd8,
+ 0xb9, 0x70, 0x02, 0xe8, 0x2d, 0x00, 0x5b, 0x81,
+ 0xc3, 0xd6, 0x02, 0xb9, 0x27, 0x00, 0xe8, 0x22,
+ 0x00, 0x1f, 0xe8, 0x7a, 0x52, 0x80, 0x3e, 0xad,
+ 0x64, 0x01, 0x75, 0x04, 0xe8, 0xda, 0x52, 0xc3,
+ 0xb8, 0x00, 0xa0, 0xb9, 0x00, 0x7d, 0xe8, 0xf7,
+ 0x52, 0xe8, 0xe7, 0x52, 0xe8, 0xb2, 0x52, 0xe8,
+ 0xae, 0x4e, 0xc3, 0x8a, 0x07, 0x2c, 0x20, 0x73,
+ 0x02, 0xb0, 0x00, 0x88, 0x07, 0x43, 0xe2, 0xf3,
+ 0xc3, 0xc7, 0x06, 0xaf, 0x64, 0xe6, 0x00, 0xc7,
+ 0x06, 0xb1, 0x64, 0xaa, 0x00, 0xc6, 0x06, 0xc3,
+ 0x64, 0x01, 0xc6, 0x06, 0xcb, 0x64, 0x01, 0xc6,
+ 0x06, 0xcd, 0x64, 0x01, 0xb9, 0x34, 0x00, 0xb0,
+ 0x03, 0xb4, 0x0b, 0xe8, 0xb7, 0x4f, 0xb0, 0x07,
+ 0xe8, 0xbb, 0x4f, 0xb0, 0x0b, 0xe8, 0xbd, 0x4f,
+ 0xb0, 0x0e, 0xe8, 0xbf, 0x4f, 0xb0, 0x12, 0xe8,
+ 0xc1, 0x4f, 0xb0, 0x15, 0xe8, 0xc3, 0x4f, 0xb0,
+ 0x19, 0xe8, 0xc5, 0x4f, 0xb9, 0x59, 0x02, 0xc6,
+ 0x06, 0xdc, 0x1c, 0x01, 0xe8, 0xa1, 0xc0, 0xbe,
+ 0xe6, 0x00, 0xbf, 0xb3, 0x00, 0xc6, 0x06, 0xc3,
+ 0x64, 0x03, 0xe8, 0xae, 0xdb, 0x80, 0x3e, 0xa4,
+ 0xdb, 0x01, 0x74, 0x06, 0xbb, 0xea, 0x37, 0xe8,
+ 0xcb, 0x45, 0xc3, 0x80, 0x3e, 0xad, 0xdb, 0x01,
+ 0x74, 0x32, 0xb9, 0x2b, 0x00, 0xb0, 0x04, 0xb4,
+ 0x0b, 0xe8, 0x61, 0x4f, 0xb9, 0x2a, 0x00, 0xb0,
+ 0x0f, 0xe8, 0x62, 0x4f, 0xb0, 0x11, 0xe8, 0x64,
+ 0x4f, 0xb0, 0x13, 0xe8, 0x66, 0x4f, 0xbb, 0x47,
+ 0x33, 0xc7, 0x07, 0x90, 0x02, 0xb0, 0x01, 0xe8,
+ 0xaf, 0xbf, 0xe8, 0x91, 0xc4, 0xbb, 0x16, 0x3c,
+ 0xe8, 0x92, 0x45, 0xc3, 0x80, 0x3e, 0xa3, 0xdb,
+ 0x01, 0x74, 0x29, 0xb9, 0x1c, 0x00, 0xb0, 0x03,
+ 0xb4, 0x0e, 0xe8, 0x28, 0x4f, 0xb9, 0x54, 0x02,
+ 0xe8, 0x14, 0xc0, 0xe8, 0x0a, 0xe5, 0xb0, 0x1e,
+ 0x88, 0x47, 0x01, 0xe8, 0x3b, 0x54, 0xe8, 0x43,
+ 0xc0, 0xc6, 0x06, 0xa3, 0xdb, 0x01, 0xb0, 0x08,
+ 0xe8, 0xe6, 0xbe, 0xc3, 0xe8, 0x60, 0xc0, 0xe8,
+ 0xee, 0xe4, 0xc6, 0x47, 0x01, 0x00, 0xe8, 0x73,
+ 0x53, 0xb9, 0x04, 0x00, 0xb0, 0x04, 0xb4, 0x0e,
+ 0xe8, 0xf2, 0x4e, 0xb9, 0x55, 0x02, 0xe8, 0x06,
+ 0xc0, 0xc6, 0x06, 0xa3, 0xdb, 0x00, 0xb0, 0x08,
+ 0xe8, 0xca, 0xbe, 0xbb, 0xb8, 0x37, 0xe8, 0x34,
+ 0x45, 0xc7, 0x06, 0xf3, 0xb4, 0x18, 0x00, 0xe8,
+ 0xbe, 0xe4, 0xc6, 0x47, 0x01, 0x20, 0xb0, 0x04,
+ 0xe8, 0xa6, 0xbe, 0xc7, 0x06, 0xf3, 0xb4, 0x15,
+ 0x00, 0xc3, 0xbb, 0x14, 0xdb, 0xe8, 0x6d, 0xb6,
+ 0xe8, 0x82, 0xb6, 0xc3, 0xb9, 0xfe, 0x01, 0xe8,
+ 0xc6, 0xbf, 0xc6, 0x06, 0xe6, 0x1c, 0xe5, 0xbb,
+ 0xc2, 0x5d, 0xbe, 0x8c, 0x7d, 0xe8, 0xa6, 0x47,
+ 0xc3, 0xbb, 0xbd, 0x2c, 0xe8, 0x66, 0xb6, 0xb8,
+ 0x96, 0x00, 0xe8, 0xd5, 0xc3, 0xbb, 0xc2, 0x2d,
+ 0xe8, 0x5a, 0xb6, 0x8b, 0x36, 0xaf, 0x64, 0x8b,
+ 0x3e, 0xb1, 0x64, 0x83, 0xef, 0x0c, 0xe8, 0xb2,
+ 0xda, 0xb9, 0x22, 0x00, 0xb0, 0x05, 0xb4, 0x03,
+ 0xe8, 0x7a, 0x4e, 0xb9, 0x5f, 0x02, 0xe8, 0x66,
+ 0xbf, 0xe8, 0x5c, 0xe4, 0xc6, 0x07, 0x00, 0xe8,
+ 0x9e, 0x52, 0xb9, 0x60, 0x02, 0xe8, 0x5a, 0xbf,
+ 0xb9, 0x61, 0x02, 0xe8, 0x54, 0xbf, 0xb9, 0x62,
+ 0x02, 0xe8, 0x4e, 0xbf, 0xb9, 0x05, 0x00, 0xb0,
+ 0x19, 0xb4, 0x00, 0xe8, 0x4f, 0x4e, 0xb9, 0x63,
+ 0x02, 0xe8, 0x3e, 0xbf, 0xc7, 0x06, 0xaf, 0x64,
+ 0x10, 0x00, 0xc6, 0x06, 0xcc, 0x64, 0x00, 0xc6,
+ 0x06, 0xcd, 0x64, 0x00, 0xc6, 0x06, 0xcb, 0x64,
+ 0x00, 0xc6, 0x06, 0xc3, 0x64, 0x04, 0xc6, 0x06,
+ 0xdc, 0x64, 0x01, 0xe8, 0x56, 0xbf, 0xb0, 0x26,
+ 0xe8, 0x5d, 0xcb, 0xb0, 0x0c, 0xe8, 0x05, 0xbe,
+ 0xc3, 0xe8, 0xfc, 0xbb, 0xbb, 0xc4, 0xda, 0xe8,
+ 0xc3, 0xb5, 0xe8, 0xd8, 0xb5, 0xc3, 0xb9, 0x59,
+ 0x00, 0xb0, 0x05, 0xb4, 0x06, 0xe8, 0x05, 0x4e,
+ 0xb9, 0x43, 0x00, 0xb0, 0x0b, 0xe8, 0x06, 0x4e,
+ 0xb9, 0xd6, 0x03, 0xe8, 0x0a, 0xbf, 0xbb, 0x55,
+ 0x59, 0xe8, 0x49, 0x44, 0xc3, 0x80, 0x3e, 0xa7,
+ 0xdb, 0x01, 0x75, 0x07, 0xbb, 0xac, 0x3b, 0xe8,
+ 0x3b, 0x44, 0xc3, 0x80, 0x3e, 0x92, 0xdb, 0x01,
+ 0x74, 0x25, 0x8b, 0x36, 0xaf, 0x64, 0x8b, 0x3e,
+ 0xb1, 0x64, 0x56, 0x57, 0xc6, 0x06, 0xc3, 0x64,
+ 0x03, 0xe8, 0xf7, 0xd9, 0xe8, 0xa9, 0xbb, 0xbb,
+ 0xa0, 0x15, 0xe8, 0x88, 0xb5, 0x5f, 0x5e, 0xc6,
+ 0x06, 0xc3, 0x64, 0x01, 0xe8, 0xe4, 0xd9, 0xb9,
+ 0x42, 0x00, 0xb0, 0x05, 0xb4, 0x07, 0xe8, 0xac,
+ 0x4d, 0xb9, 0x43, 0x00, 0xb0, 0x14, 0xe8, 0xad,
+ 0x4d, 0xb9, 0x05, 0x00, 0xb0, 0x17, 0xe8, 0xac,
+ 0x4d, 0xb9, 0x77, 0x02, 0xe8, 0xa9, 0xbe, 0xb0,
+ 0x2f, 0xe8, 0xcc, 0xca, 0xc6, 0x06, 0xa7, 0xdb,
+ 0x01, 0xc3, 0xbb, 0x06, 0x43, 0xe8, 0xdd, 0x43,
+ 0xc3, 0xbb, 0x64, 0x41, 0xe8, 0xd6, 0x43, 0xc3,
+ 0xe8, 0x53, 0x48, 0xc3, 0x80, 0x3e, 0x92, 0xdb,
+ 0x01, 0x74, 0x29, 0x8b, 0x36, 0xaf, 0x64, 0x8b,
+ 0x3e, 0xb1, 0x64, 0xc6, 0x06, 0xc3, 0x64, 0x03,
+ 0x57, 0x56, 0xe8, 0x8e, 0xd9, 0xe8, 0x40, 0xbb,
+ 0xbb, 0xce, 0xda, 0xe8, 0x07, 0xb5, 0xe8, 0x1c,
+ 0xb5, 0x5e, 0x5f, 0xc6, 0x06, 0xc3, 0x64, 0x01,
+ 0xe8, 0x78, 0xd9, 0xc3, 0xe8, 0xa0, 0xbe, 0xb0,
+ 0x02, 0xe8, 0x7c, 0xca, 0xb0, 0x07, 0xe8, 0x24,
+ 0xbd, 0xe8, 0x24, 0xe3, 0xc6, 0x07, 0x00, 0xe8,
+ 0xaa, 0x51, 0xb9, 0x20, 0x00, 0xb0, 0x07, 0xb4,
+ 0x09, 0xe8, 0x29, 0x4d, 0xb9, 0x08, 0x02, 0xe8,
+ 0x3d, 0xbe, 0xc3, 0xbb, 0x3f, 0x42, 0xe8, 0x74,
+ 0x43, 0xc3, 0xbb, 0x3f, 0x42, 0xe8, 0x6d, 0x43,
+ 0xc3, 0xbb, 0x1e, 0x43, 0xe8, 0x66, 0x43, 0xc3,
+ 0xb9, 0x58, 0x00, 0xb0, 0x05, 0xb4, 0x03, 0xe8,
+ 0x03, 0x4d, 0xb9, 0xd5, 0x03, 0xe8, 0xff, 0xbd,
+ 0xe8, 0x90, 0x4e, 0xc7, 0x06, 0xf3, 0xb4, 0x14,
+ 0x00, 0xb8, 0xa0, 0x00, 0xbb, 0xa5, 0x00, 0xbf,
+ 0xa0, 0x00, 0xbe, 0xb9, 0x00, 0xb1, 0x0b, 0xb5,
+ 0x03, 0xe8, 0xc7, 0x4e, 0xc3, 0xbb, 0xff, 0x41,
+ 0xe8, 0x32, 0x43, 0xc3, 0x80, 0x3e, 0x92, 0xdb,
+ 0x01, 0x74, 0x29, 0x8b, 0x36, 0xaf, 0x64, 0x8b,
+ 0x3e, 0xb1, 0x64, 0x56, 0x57, 0xc6, 0x06, 0xc3,
+ 0x64, 0x03, 0xe8, 0xee, 0xd8, 0xe8, 0xa0, 0xba,
+ 0xbb, 0xd4, 0xda, 0xe8, 0x67, 0xb4, 0xe8, 0x7c,
+ 0xb4, 0x5f, 0x5e, 0xc6, 0x06, 0xc3, 0x64, 0x01,
+ 0xe8, 0xd8, 0xd8, 0xc3, 0xe8, 0x00, 0xbe, 0xb8,
+ 0x02, 0x00, 0xe8, 0x1c, 0xd1, 0x32, 0xe4, 0xbb,
+ 0xc7, 0x32, 0xb1, 0x1b, 0x48, 0xf6, 0xe1, 0x03,
+ 0xd8, 0xc7, 0x07, 0x00, 0x00, 0xb9, 0x20, 0x00,
+ 0xb0, 0x07, 0xb4, 0x08, 0xe8, 0x86, 0x4c, 0xb9,
+ 0xfc, 0x01, 0xe8, 0x9a, 0xbd, 0xb0, 0x0d, 0xe8,
+ 0x63, 0xbc, 0xb0, 0x07, 0xe8, 0xb1, 0xc9, 0xc3,
+ 0x80, 0x3e, 0xa5, 0xdb, 0x01, 0x74, 0x37, 0xe8,
+ 0x2b, 0xba, 0xbb, 0xda, 0xda, 0xe8, 0x15, 0xb4,
+ 0x53, 0xe8, 0x29, 0xb4, 0x5b, 0x81, 0xfb, 0x13,
+ 0x19, 0x75, 0x22, 0xb8, 0x64, 0x00, 0xe8, 0x91,
+ 0xc1, 0x8b, 0x3e, 0xb1, 0x64, 0x8b, 0x36, 0xaf,
+ 0x64, 0xc6, 0x06, 0xc3, 0x64, 0x03, 0xe8, 0x72,
+ 0xd8, 0xe8, 0x92, 0xc1, 0xbb, 0xd5, 0x34, 0xe8,
+ 0x93, 0x42, 0xe8, 0x89, 0xc1, 0xc3, 0xc6, 0x06,
+ 0xa5, 0xdb, 0x02, 0xe8, 0xef, 0xb9, 0xbb, 0x4f,
+ 0x1f, 0xe8, 0xf1, 0xb3, 0xb8, 0x01, 0x01, 0xe8,
+ 0x34, 0xc1, 0xbb, 0x47, 0x33, 0xc7, 0x07, 0x5c,
+ 0x02, 0xb0, 0x01, 0xe8, 0x3a, 0xbc, 0xe8, 0x03,
+ 0x4d, 0xc7, 0x06, 0xf3, 0xb4, 0x15, 0x00, 0xb0,
+ 0x04, 0xe8, 0xf1, 0xbb, 0xb0, 0x0c, 0xe8, 0xe0,
+ 0xbb, 0xe8, 0xec, 0xe1, 0x53, 0xc6, 0x07, 0x00,
+ 0xbb, 0x47, 0x33, 0xc7, 0x47, 0x02, 0x5e, 0x02,
+ 0xe8, 0x01, 0x4f, 0xb9, 0x2e, 0x00, 0xb0, 0x05,
+ 0xb4, 0x02, 0xe8, 0xe8, 0x4b, 0xb0, 0x02, 0xe8,
+ 0x48, 0xbc, 0xe8, 0xcf, 0x4c, 0x5b, 0xc6, 0x07,
+ 0x21, 0xbb, 0x47, 0x33, 0xc7, 0x07, 0x5d, 0x02,
+ 0xc7, 0x06, 0xf3, 0xb4, 0x17, 0x00, 0xe8, 0xe4,
+ 0x4e, 0xb0, 0x01, 0xe8, 0x2c, 0xbc, 0xe8, 0x65,
+ 0x4c, 0xc6, 0x06, 0x33, 0x33, 0x01, 0xc6, 0x06,
+ 0xdd, 0x1c, 0x02, 0xe8, 0x77, 0xb9, 0xbb, 0x02,
+ 0x20, 0xe8, 0x79, 0xb3, 0xc3, 0x80, 0x3e, 0x97,
+ 0xdb, 0x00, 0x74, 0x07, 0xbb, 0x59, 0x3d, 0xe8,
+ 0xfb, 0x41, 0xc3, 0xbe, 0xf5, 0x00, 0xbf, 0xc6,
+ 0x00, 0xc6, 0x06, 0xc3, 0x64, 0x01, 0xe8, 0xc2,
+ 0xd7, 0xe8, 0x00, 0xba, 0xbb, 0xd7, 0x21, 0xe8,
+ 0x53, 0xb3, 0xc6, 0x06, 0x97, 0xdb, 0x01, 0xb8,
+ 0x01, 0x02, 0xe8, 0x91, 0xc0, 0xb9, 0x0d, 0x00,
+ 0xb0, 0x0a, 0xb4, 0x0c, 0xe8, 0x76, 0x4b, 0xb0,
+ 0x0c, 0xe8, 0x7a, 0x4b, 0xb0, 0x0e, 0xe8, 0x7c,
+ 0x4b, 0xb0, 0x10, 0xe8, 0x7e, 0x4b, 0xb0, 0x12,
+ 0xe8, 0x80, 0x4b, 0xb0, 0x14, 0xe8, 0x82, 0x4b,
+ 0xbb, 0x47, 0x33, 0xc7, 0x47, 0x02, 0x10, 0x02,
+ 0xb0, 0x02, 0xe8, 0xbc, 0xbb, 0xb8, 0x32, 0x00,
+ 0xe8, 0x87, 0xc0, 0xb9, 0x07, 0x00, 0xe8, 0x92,
+ 0x52, 0xc6, 0x06, 0xee, 0xdb, 0x01, 0xb9, 0x38,
+ 0x00, 0xb0, 0x03, 0xb4, 0x0a, 0xe8, 0x35, 0x4b,
+ 0xb0, 0x05, 0xe8, 0x39, 0x4b, 0xb0, 0x07, 0xe8,
+ 0x3b, 0x4b, 0xb0, 0x09, 0xe8, 0x3d, 0x4b, 0xb0,
+ 0x0b, 0xe8, 0x3f, 0x4b, 0xb0, 0x0d, 0xe8, 0x41,
+ 0x4b, 0xb0, 0x0f, 0xe8, 0x43, 0x4b, 0xb0, 0x11,
+ 0xe8, 0x45, 0x4b, 0xb9, 0x0d, 0x02, 0xe8, 0xfe,
+ 0xbb, 0xb9, 0x38, 0x00, 0xb0, 0x01, 0xb4, 0x0a,
+ 0xe8, 0x02, 0x4b, 0xb0, 0x03, 0xe8, 0x06, 0x4b,
+ 0xb0, 0x05, 0xe8, 0x08, 0x4b, 0xb0, 0x07, 0xe8,
+ 0x0a, 0x4b, 0xb0, 0x09, 0xe8, 0x0c, 0x4b, 0xb0,
+ 0x0b, 0xe8, 0x0e, 0x4b, 0xb0, 0x0d, 0xe8, 0x10,
+ 0x4b, 0xb9, 0x28, 0x00, 0xb0, 0x0f, 0xe8, 0x0f,
+ 0x4b, 0xb0, 0x12, 0xe8, 0x11, 0x4b, 0xb0, 0x16,
+ 0xe8, 0x13, 0x4b, 0xb9, 0x0e, 0x02, 0xe8, 0xc1,
+ 0xbb, 0xb9, 0x36, 0x00, 0xb0, 0x01, 0xb4, 0x0a,
+ 0xe8, 0xc2, 0x4a, 0xb9, 0x37, 0x00, 0xb0, 0x05,
+ 0xe8, 0xc3, 0x4a, 0xb9, 0x38, 0x00, 0xb0, 0x09,
+ 0xe8, 0xc2, 0x4a, 0xb0, 0x0d, 0xe8, 0xc4, 0x4a,
+ 0xb9, 0x18, 0x00, 0xb0, 0x10, 0xe8, 0xc3, 0x4a,
+ 0xb9, 0x0f, 0x02, 0xe8, 0x94, 0xbb, 0xe8, 0xcb,
+ 0xbb, 0xe8, 0xea, 0xbf, 0xbb, 0x19, 0x22, 0xe8,
+ 0x5b, 0xb2, 0xb0, 0x02, 0xbe, 0x20, 0x98, 0xe8,
+ 0x7f, 0xba, 0xc3, 0x80, 0x3e, 0xee, 0xdb, 0x01,
+ 0x75, 0x06, 0xb9, 0x06, 0x00, 0xe8, 0xcb, 0x51,
+ 0xc7, 0x06, 0xf3, 0xb4, 0x15, 0x00, 0xb8, 0x63,
+ 0x00, 0xbb, 0xb4, 0x00, 0xbf, 0x63, 0x00, 0xbe,
+ 0xba, 0x00, 0xb1, 0x0b, 0xb5, 0x03, 0xe8, 0x4a,
+ 0x4c, 0xc3, 0xbb, 0x64, 0x41, 0xe8, 0xb5, 0x40,
+ 0xc3, 0xbb, 0x64, 0x41, 0xe8, 0xae, 0x40, 0xc3,
+ 0xbb, 0xff, 0x41, 0xe8, 0xa7, 0x40, 0xc3, 0xbb,
+ 0x4e, 0x43, 0xe8, 0xa0, 0x40, 0xc3, 0xe8, 0x1d,
+ 0x45, 0xc3, 0x80, 0x3e, 0xb1, 0xdb, 0x01, 0x75,
+ 0x07, 0xbb, 0x80, 0x43, 0xe8, 0x8e, 0x40, 0xc3,
+ 0x8b, 0x36, 0xaf, 0x64, 0x8b, 0x3e, 0xb1, 0x64,
+ 0xc6, 0x06, 0xc3, 0x64, 0x04, 0xe8, 0x53, 0xd6,
+ 0xe8, 0xe2, 0xb7, 0xbb, 0xfc, 0xda, 0xe8, 0xcc,
+ 0xb1, 0xe8, 0xe1, 0xb1, 0xc3, 0xbb, 0xac, 0x43,
+ 0xe8, 0x6a, 0x40, 0xc3, 0xbb, 0xce, 0x43, 0xe8,
+ 0x63, 0x40, 0xc3, 0x80, 0x3e, 0x9a, 0xdb, 0x00,
+ 0x75, 0x0d, 0xe8, 0xc0, 0xb7, 0xbb, 0xf6, 0xda,
+ 0xe8, 0xaa, 0xb1, 0xe8, 0xbf, 0xb1, 0xc3, 0xe8,
+ 0xb3, 0xb7, 0xbb, 0x1e, 0x1e, 0xe8, 0xb5, 0xb1,
+ 0xe8, 0x3b, 0xbf, 0xe8, 0x41, 0xbb, 0xb0, 0x0c,
+ 0xe8, 0x1d, 0xc7, 0xb0, 0x0c, 0xe8, 0xc5, 0xb9,
+ 0xe8, 0xc5, 0xdf, 0xc6, 0x07, 0x00, 0xe8, 0x4b,
+ 0x4e, 0xb9, 0x05, 0x00, 0xb0, 0x06, 0xb4, 0x04,
+ 0xe8, 0xca, 0x49, 0xb9, 0x1d, 0x02, 0xe8, 0xec,
+ 0xba, 0xc3, 0xe8, 0x99, 0x44, 0xc3, 0x80, 0x3e,
+ 0xb3, 0xdb, 0x01, 0x75, 0x07, 0xbb, 0xa7, 0x44,
+ 0xe8, 0x0a, 0x40, 0xc3, 0xbb, 0x12, 0x44, 0xe8,
+ 0x18, 0x00, 0xbb, 0x4f, 0x44, 0xe8, 0x12, 0x00,
+ 0xbb, 0x6b, 0x44, 0xe8, 0x0c, 0x00, 0xbb, 0x92,
+ 0x44, 0xe8, 0xf1, 0x3f, 0xc6, 0x06, 0xb3, 0xdb,
+ 0x01, 0xc3, 0xe8, 0xe8, 0x3f, 0xb8, 0x96, 0x00,
+ 0xe8, 0xc7, 0xbe, 0xc3, 0xe8, 0x5f, 0x44, 0xc3,
+ 0xbb, 0x1e, 0x43, 0xe8, 0xd7, 0x3f, 0xc3, 0xe8,
+ 0x33, 0x00, 0xc3, 0x80, 0x3e, 0xa4, 0xdb, 0x01,
+ 0x74, 0x04, 0xe8, 0x28, 0x00, 0xc3, 0xe8, 0xc6,
+ 0xba, 0xe8, 0x54, 0xdf, 0xc6, 0x07, 0x00, 0xe8,
+ 0xda, 0x4d, 0xb9, 0x38, 0x00, 0xb0, 0x0a, 0xb4,
+ 0x02, 0xe8, 0x59, 0x49, 0xb9, 0x57, 0x02, 0xe8,
+ 0x7b, 0xba, 0xb0, 0x25, 0xe8, 0x89, 0xc6, 0xb0,
+ 0x02, 0xe8, 0x31, 0xb9, 0xc3, 0x80, 0x3e, 0xae,
+ 0xdb, 0x01, 0x75, 0x0a, 0xe8, 0x1a, 0x00, 0xbb,
+ 0xdd, 0x2f, 0xe8, 0x00, 0xb1, 0xc3, 0xbb, 0x41,
+ 0x2e, 0xe8, 0xf9, 0xb0, 0xe8, 0x0a, 0x00, 0xe8,
+ 0x83, 0xbe, 0xbb, 0x6d, 0x2e, 0xe8, 0xed, 0xb0,
+ 0xc3, 0xa0, 0xab, 0x64, 0x8a, 0x26, 0xaa, 0x64,
+ 0x50, 0xc6, 0x06, 0xab, 0x64, 0x02, 0xc6, 0x06,
+ 0xaa, 0x64, 0x02, 0xe8, 0xd1, 0xaa, 0xe8, 0x9d,
+ 0xaa, 0xb8, 0x03, 0x00, 0xe8, 0x4e, 0x43, 0x8b,
+ 0x77, 0x0d, 0x8b, 0x7f, 0x0f, 0x8a, 0x47, 0x11,
+ 0xa2, 0xc3, 0x64, 0xe8, 0x25, 0xd5, 0xe8, 0x22,
+ 0x00, 0xbe, 0x30, 0x00, 0xbf, 0xbe, 0x00, 0xc6,
+ 0x06, 0xc3, 0x64, 0x03, 0xe8, 0x14, 0xd5, 0x58,
+ 0xa2, 0xab, 0x64, 0x88, 0x26, 0xaa, 0x64, 0xe8,
+ 0x9d, 0xaa, 0xe8, 0x69, 0xaa, 0xc6, 0x06, 0xae,
+ 0xdb, 0x01, 0xc3, 0xb9, 0x34, 0x00, 0xb0, 0x0a,
+ 0xb4, 0x0b, 0xe8, 0xc8, 0x48, 0xb0, 0x0e, 0xe8,
+ 0xcc, 0x48, 0xb0, 0x12, 0xe8, 0xce, 0x48, 0xb0,
+ 0x15, 0xe8, 0xd0, 0x48, 0xb0, 0x19, 0xe8, 0xd2,
+ 0x48, 0xb0, 0x1c, 0xe8, 0xd4, 0x48, 0xb0, 0x20,
+ 0xe8, 0xd6, 0x48, 0xb9, 0x58, 0x02, 0xe8, 0x96,
+ 0xb9, 0xe8, 0x37, 0x4a, 0xc7, 0x06, 0xf3, 0xb4,
+ 0x15, 0x00, 0xb8, 0x29, 0x01, 0xbb, 0xb2, 0x00,
+ 0xbf, 0x29, 0x01, 0xbe, 0xb5, 0x00, 0xb1, 0x0b,
+ 0xb5, 0x03, 0xe8, 0x6e, 0x4a, 0xc3, 0x80, 0x3e,
+ 0xa4, 0xdb, 0x01, 0x75, 0x07, 0xbb, 0x01, 0x38,
+ 0xe8, 0xd2, 0x3e, 0xc3, 0xb9, 0x47, 0x00, 0xb0,
+ 0x06, 0xb4, 0x0c, 0xe8, 0x6f, 0x48, 0xb9, 0x56,
+ 0x02, 0xe8, 0x5b, 0xb9, 0xe8, 0x76, 0x4c, 0x80,
+ 0x3e, 0xad, 0x64, 0x01, 0x75, 0x0e, 0x8b, 0x16,
+ 0xb3, 0x32, 0xbe, 0x00, 0xfa, 0xb0, 0x40, 0xe8,
+ 0x78, 0x45, 0xeb, 0x0c, 0x8b, 0x16, 0xb3, 0x32,
+ 0xbe, 0x00, 0xfa, 0xb0, 0x40, 0xe8, 0x6a, 0x45,
+ 0xe8, 0x71, 0xb9, 0xe8, 0x2a, 0xde, 0xc6, 0x47,
+ 0x02, 0x00, 0xe8, 0xaf, 0x4c, 0xbb, 0x47, 0x33,
+ 0xc7, 0x07, 0x94, 0x02, 0xb0, 0x01, 0xe8, 0x4f,
+ 0xb8, 0xe8, 0x18, 0x49, 0xb0, 0x01, 0xe8, 0x0c,
+ 0xb8, 0xb0, 0x01, 0xb4, 0x00, 0xe8, 0x99, 0xcc,
+ 0xe8, 0xad, 0xcc, 0xc6, 0x06, 0xa4, 0xdb, 0x01,
+ 0xc3, 0x80, 0x3e, 0xa4, 0xdb, 0x01, 0x74, 0x04,
+ 0xe8, 0x0b, 0x00, 0xc3, 0xbb, 0x1e, 0xdb, 0xe8,
+ 0xb3, 0xaf, 0xe8, 0xc8, 0xaf, 0xc3, 0xbb, 0x1d,
+ 0x46, 0xe8, 0x51, 0x3e, 0xc3, 0x80, 0x3e, 0xa4,
+ 0xdb, 0x01, 0x74, 0x04, 0xe8, 0xef, 0xff, 0xc3,
+ 0xbb, 0x0e, 0x45, 0xe8, 0x3f, 0x3e, 0xc3, 0x80,
+ 0x3e, 0xa4, 0xdb, 0x01, 0x74, 0x04, 0xe8, 0xdd,
+ 0xff, 0xc3, 0xbb, 0xd6, 0x44, 0xe8, 0x2d, 0x3e,
+ 0xc3, 0x80, 0x3e, 0xa4, 0xdb, 0x01, 0x74, 0x04,
+ 0xe8, 0xcb, 0xff, 0xc3, 0xa0, 0xb4, 0xdb, 0x0a,
+ 0xc0, 0x74, 0x20, 0x3c, 0x01, 0x74, 0x07, 0xbb,
+ 0x03, 0x46, 0xe8, 0x10, 0x3e, 0xc3, 0xbb, 0xb8,
+ 0x45, 0xe8, 0x09, 0x3e, 0xe8, 0x06, 0xbd, 0xbb,
+ 0xda, 0x45, 0xe8, 0x00, 0x3e, 0xc6, 0x06, 0xb4,
+ 0xdb, 0x02, 0xc3, 0xbb, 0x32, 0x45, 0xe8, 0xf4,
+ 0x3d, 0x8b, 0x36, 0xaf, 0x64, 0x8b, 0x3e, 0xb1,
+ 0x64, 0x83, 0xee, 0x1e, 0xc6, 0x06, 0xc3, 0x64,
+ 0x01, 0xe8, 0xb7, 0xd3, 0xbb, 0x55, 0x45, 0xe8,
+ 0xdb, 0x3d, 0xbb, 0x68, 0x45, 0xe8, 0x28, 0x00,
+ 0xbb, 0x7b, 0x45, 0xe8, 0x22, 0x00, 0xbb, 0x8e,
+ 0x45, 0xe8, 0x1c, 0x00, 0x8b, 0x36, 0xaf, 0x64,
+ 0x8b, 0x3e, 0xb1, 0x64, 0xc6, 0x06, 0xc3, 0x64,
+ 0x03, 0xe8, 0x8f, 0xd3, 0xbb, 0x9f, 0x45, 0xe8,
+ 0xb3, 0x3d, 0xc6, 0x06, 0xb4, 0xdb, 0x01, 0xc3,
+ 0x53, 0x8b, 0x36, 0xaf, 0x64, 0x8b, 0x3e, 0xb1,
+ 0x64, 0x83, 0xc6, 0x14, 0xc6, 0x06, 0xc3, 0x64,
+ 0x01, 0xe8, 0x6f, 0xd3, 0x5b, 0xe8, 0x95, 0x3d,
+ 0xc3, 0x80, 0x3e, 0xa4, 0xdb, 0x01, 0x74, 0x04,
+ 0xe8, 0x33, 0xff, 0xc3, 0xe8, 0x69, 0x3d, 0xc3,
+ 0xe8, 0x84, 0xb8, 0xb9, 0x1a, 0x00, 0xb0, 0x06,
+ 0xb4, 0x09, 0xe8, 0x20, 0x47, 0xb0, 0x0a, 0xe8,
+ 0x24, 0x47, 0xb9, 0x18, 0x00, 0xb0, 0x0d, 0xe8,
+ 0x23, 0x47, 0xb9, 0x2e, 0x00, 0xb0, 0x25, 0xe8,
+ 0x22, 0x47, 0xe8, 0xf3, 0xdc, 0xc6, 0x07, 0x00,
+ 0x53, 0xe8, 0x34, 0x4b, 0xc6, 0x06, 0x35, 0x33,
+ 0x10, 0xc6, 0x06, 0x36, 0x33, 0x18, 0xb8, 0x3c,
+ 0x46, 0xa3, 0x37, 0x33, 0xb8, 0xda, 0x78, 0xa3,
+ 0x39, 0x33, 0xc6, 0x06, 0xdc, 0x64, 0x00, 0xb9,
+ 0x52, 0x02, 0xe8, 0x52, 0xb8, 0xc6, 0x06, 0xdc,
+ 0x64, 0x01, 0x5b, 0xc6, 0x07, 0x1d, 0xe8, 0x07,
+ 0x4b, 0xb9, 0x05, 0x00, 0xb0, 0x02, 0xb4, 0x0a,
+ 0xe8, 0xca, 0x46, 0xb9, 0x53, 0x02, 0xe8, 0xec,
+ 0xb7, 0xb0, 0x01, 0xe8, 0xa7, 0xb6, 0xb0, 0x24,
+ 0xe8, 0xf5, 0xc3, 0xbb, 0x90, 0x37, 0xe8, 0x0c,
+ 0x3d, 0xc3, 0xbb, 0x5e, 0x46, 0xe8, 0x05, 0x3d,
+ 0xc3, 0x80, 0x3e, 0xac, 0xdb, 0x01, 0x74, 0x07,
+ 0xbb, 0xd2, 0x3b, 0xe8, 0xf7, 0x3c, 0xc3, 0xb9,
+ 0x08, 0x00, 0xe8, 0xe6, 0x4d, 0xc7, 0x06, 0xf3,
+ 0xb4, 0x1a, 0x00, 0xb8, 0x3f, 0x01, 0xbb, 0xa9,
+ 0x00, 0xbf, 0x14, 0x01, 0xbe, 0xa9, 0x00, 0xb1,
+ 0x01, 0xb5, 0x04, 0xe8, 0x65, 0x48, 0xc3, 0xc7,
+ 0x06, 0xf3, 0xb4, 0x15, 0x00, 0xb8, 0xce, 0x00,
+ 0xbb, 0xc7, 0x00, 0xbf, 0xc4, 0x00, 0xbe, 0xc2,
+ 0x00, 0xb1, 0x13, 0xb5, 0x01, 0xe8, 0x4b, 0x48,
+ 0xc3, 0xbb, 0xf7, 0x46, 0xe8, 0xb6, 0x3c, 0xc3,
+ 0xbb, 0x3d, 0x47, 0xe8, 0xaf, 0x3c, 0xc3, 0xbb,
+ 0x3d, 0x47, 0xe8, 0xa8, 0x3c, 0xc3, 0xbb, 0x7b,
+ 0x47, 0xe8, 0xa1, 0x3c, 0xc3, 0xbb, 0x98, 0x47,
+ 0xe8, 0x9a, 0x3c, 0xc3, 0xb9, 0x06, 0x00, 0xe8,
+ 0x89, 0x4d, 0xc7, 0x06, 0xf3, 0xb4, 0x19, 0x00,
+ 0xb8, 0x97, 0x00, 0xbb, 0x9c, 0x00, 0xbf, 0xea,
+ 0x00, 0xbe, 0x98, 0x00, 0xb1, 0x01, 0xb5, 0x02,
+ 0xe8, 0x08, 0x48, 0xc3, 0xbb, 0x75, 0x33, 0xe8,
+ 0xe3, 0xad, 0xc3, 0xbb, 0xbf, 0x47, 0xe8, 0x6c,
+ 0x3c, 0xc3, 0xb9, 0x05, 0x00, 0xb0, 0x0a, 0xb4,
+ 0x0c, 0xe8, 0x09, 0x46, 0xe8, 0x60, 0xb7, 0xe8,
+ 0xee, 0xdb, 0xc6, 0x07, 0x00, 0xe8, 0x74, 0x4a,
+ 0xb9, 0x80, 0x02, 0xe8, 0x11, 0xb7, 0xb0, 0x32,
+ 0xe8, 0x2d, 0xc3, 0xb0, 0x06, 0xe8, 0xd5, 0xb5,
+ 0xc3, 0x80, 0x3e, 0x93, 0xdb, 0x01, 0x75, 0x07,
+ 0xbb, 0x08, 0x3e, 0xe8, 0x37, 0x3c, 0xc3, 0xc6,
+ 0x06, 0x93, 0xdb, 0x01, 0xbb, 0xc6, 0x3d, 0xe8,
+ 0x2b, 0x3c, 0xb9, 0x1e, 0x00, 0xb0, 0x1a, 0xb4,
+ 0x0a, 0xe8, 0xc9, 0x45, 0xb9, 0x1d, 0x00, 0xb0,
+ 0x31, 0xb4, 0x0f, 0xe8, 0xc8, 0x45, 0xe8, 0x16,
+ 0xb7, 0xb4, 0x01, 0xb0, 0x57, 0xe8, 0x9f, 0xba,
+ 0xbb, 0x47, 0x33, 0xc7, 0x07, 0xf5, 0x01, 0xb9,
+ 0xf4, 0x01, 0xe8, 0x9d, 0xb6, 0xe8, 0x90, 0xdb,
+ 0xb0, 0x01, 0x88, 0x07, 0xe8, 0xc2, 0x4a, 0xb0,
+ 0x0e, 0xe8, 0x75, 0xb5, 0xe8, 0xc5, 0xb6, 0xbb,
+ 0xf4, 0x3d, 0xe8, 0xe8, 0x3b, 0xc3, 0xbb, 0xc1,
+ 0x32, 0xe8, 0x51, 0xad, 0xc3, 0xe8, 0xf6, 0xff,
+ 0xc3, 0xbb, 0x5e, 0x32, 0xe8, 0x46, 0xad, 0xc3,
+ 0x80, 0x3e, 0x96, 0xdb, 0x01, 0x74, 0x07, 0xbb,
+ 0xb2, 0x3e, 0xe8, 0xc8, 0x3b, 0xc3, 0xb9, 0x38,
+ 0x00, 0xb0, 0x07, 0xb4, 0x09, 0xe8, 0x65, 0x45,
+ 0xb9, 0x05, 0x00, 0xb0, 0x0f, 0xe8, 0x66, 0x45,
+ 0xb9, 0x65, 0x02, 0xe8, 0x49, 0xb6, 0xe8, 0x3f,
+ 0xdb, 0xc6, 0x47, 0x03, 0x24, 0xe8, 0x80, 0x49,
+ 0xe8, 0x79, 0xb6, 0xb0, 0x27, 0xe8, 0x80, 0xc2,
+ 0xb0, 0x05, 0xe8, 0x28, 0xb5, 0xbb, 0x7c, 0x38,
+ 0xe8, 0x92, 0x3b, 0xc3, 0x80, 0x3e, 0x96, 0xdb,
+ 0x01, 0x74, 0x07, 0xbb, 0xb2, 0x3e, 0xe8, 0x84,
+ 0x3b, 0xc3, 0xe8, 0x82, 0xb6, 0x83, 0x06, 0xaf,
+ 0x64, 0x04, 0xe8, 0x0b, 0xdb, 0xc6, 0x47, 0x02,
+ 0x23, 0xe8, 0x90, 0x49, 0xb9, 0x3f, 0x00, 0xb0,
+ 0x08, 0xb4, 0x09, 0xe8, 0x0f, 0x45, 0xb9, 0x18,
+ 0x00, 0xb0, 0x0a, 0xe8, 0x10, 0x45, 0xb9, 0x64,
+ 0x02, 0xe8, 0x1b, 0xb6, 0xb0, 0x28, 0xe8, 0x37,
+ 0xc2, 0xb0, 0x06, 0xe8, 0xdf, 0xb4, 0xc3, 0x80,
+ 0x3e, 0x96, 0xdb, 0x01, 0x74, 0x07, 0xbb, 0xe7,
+ 0x47, 0xe8, 0x41, 0x3b, 0xc3, 0xe8, 0xbe, 0x3f,
+ 0xc3, 0xe8, 0x3b, 0xb6, 0xe8, 0xc9, 0xda, 0xc6,
+ 0x47, 0x04, 0x00, 0xe8, 0x4e, 0x49, 0xb9, 0x05,
+ 0x00, 0xb0, 0x0b, 0xb4, 0x05, 0xe8, 0xcd, 0x44,
+ 0xb9, 0x71, 0x02, 0xe8, 0xef, 0xb5, 0xb0, 0x2c,
+ 0xe8, 0xfd, 0xc1, 0xb0, 0x08, 0xe8, 0xa5, 0xb4,
+ 0xc3, 0xc7, 0x06, 0xf3, 0xb4, 0x14, 0x00, 0xb8,
+ 0x05, 0x00, 0xbb, 0x83, 0x00, 0xbf, 0x0e, 0x00,
+ 0xbe, 0xb9, 0x00, 0xb1, 0x0b, 0xb5, 0x03, 0xe8,
+ 0x89, 0x46, 0xc3, 0x80, 0x3e, 0x9d, 0xdb, 0x01,
+ 0x75, 0x07, 0xbb, 0x6a, 0x35, 0xe8, 0xed, 0x3a,
+ 0xc3, 0xc6, 0x06, 0x9d, 0xdb, 0x01, 0xb0, 0x11,
+ 0xe8, 0xc5, 0xc1, 0xb9, 0x31, 0x00, 0xb0, 0x03,
+ 0xb4, 0x05, 0xe8, 0x80, 0x44, 0xb9, 0x05, 0x00,
+ 0xb0, 0x1a, 0xe8, 0x81, 0x44, 0xb9, 0x24, 0x02,
+ 0xe8, 0x93, 0xb5, 0xbb, 0xb2, 0x35, 0xe8, 0xc4,
+ 0x3a, 0xc3, 0xe8, 0xc2, 0xb5, 0xb9, 0x12, 0x00,
+ 0xb0, 0x0a, 0xb4, 0x05, 0xe8, 0x5e, 0x44, 0xe8,
+ 0x46, 0xda, 0xc6, 0x47, 0x01, 0x00, 0xe8, 0xcb,
+ 0x48, 0xb9, 0x29, 0x02, 0xe8, 0x76, 0xb5, 0xb0,
+ 0x15, 0xe8, 0x84, 0xc1, 0xb0, 0x0b, 0xe8, 0x2c,
+ 0xb4, 0xe8, 0x92, 0xb9, 0xbb, 0x05, 0x36, 0xe8,
+ 0x93, 0x3a, 0xc3, 0x80, 0x3e, 0xa9, 0xdb, 0x01,
+ 0x74, 0x07, 0xbb, 0x08, 0x48, 0xe8, 0x85, 0x3a,
+ 0xc3, 0xb9, 0x7b, 0x02, 0xe8, 0x28, 0xb5, 0xe8,
+ 0x0e, 0xda, 0xc6, 0x47, 0x05, 0x00, 0xe8, 0x4f,
+ 0x48, 0xb9, 0x3f, 0x00, 0xb0, 0x0b, 0xb4, 0x06,
+ 0xe8, 0x12, 0x44, 0xb9, 0x0f, 0x00, 0xb0, 0x14,
+ 0xe8, 0x13, 0x44, 0xb9, 0x20, 0x00, 0xb0, 0x1f,
+ 0xb4, 0x09, 0xe8, 0x10, 0x44, 0xb9, 0x7c, 0x02,
+ 0xe8, 0xff, 0xb4, 0xff, 0x0e, 0xaf, 0x64, 0xc7,
+ 0x06, 0xb1, 0x64, 0x8b, 0x00, 0xc6, 0x06, 0xcc,
+ 0x64, 0x01, 0xc6, 0x06, 0xdc, 0x64, 0x00, 0xe8,
+ 0x12, 0xb5, 0xb0, 0x30, 0xe8, 0x19, 0xc1, 0xb0,
+ 0x2f, 0xe8, 0x14, 0xc1, 0xbb, 0x83, 0x3b, 0xe8,
+ 0x2b, 0x3a, 0xc6, 0x06, 0xa9, 0xdb, 0x02, 0xc6,
+ 0x06, 0xa8, 0xdb, 0x00, 0xc3, 0xbb, 0x28, 0x48,
+ 0xe8, 0x1a, 0x3a, 0xc3, 0xe8, 0x18, 0xb5, 0xe8,
+ 0xa6, 0xd9, 0xc6, 0x07, 0x00, 0xe8, 0x2c, 0x48,
+ 0xb9, 0x05, 0x00, 0xb0, 0x09, 0xb4, 0x0b, 0xe8,
+ 0xab, 0x43, 0xb9, 0xff, 0x01, 0xe8, 0xbf, 0xb4,
+ 0xb0, 0x01, 0xe8, 0xdb, 0xc0, 0xb0, 0x0e, 0xe8,
+ 0x83, 0xb3, 0xc3, 0xbb, 0x28, 0x48, 0xe8, 0xec,
+ 0x39, 0xc3, 0xbb, 0x60, 0x48, 0xe8, 0xe5, 0x39,
+ 0xc3, 0xbb, 0x3f, 0x5b, 0xe8, 0xde, 0x39, 0xc3,
+ 0xe8, 0x5b, 0x3e, 0xc3, 0xb9, 0x46, 0x00, 0xb0,
+ 0x04, 0xb4, 0x0c, 0xe8, 0x77, 0x43, 0xb9, 0xcc,
+ 0x03, 0xe8, 0x63, 0xb4, 0xe8, 0x04, 0x45, 0xc7,
+ 0x06, 0xf3, 0xb4, 0x1d, 0x00, 0xb8, 0xa0, 0x00,
+ 0xbb, 0xc7, 0x00, 0xbf, 0xa0, 0x00, 0xbe, 0xbc,
+ 0x00, 0xb1, 0x13, 0xb5, 0x01, 0xe8, 0x3b, 0x45,
+ 0xc3, 0xbb, 0x7e, 0x4a, 0xe8, 0xa6, 0x39, 0xb0,
+ 0x04, 0xe8, 0x31, 0xb3, 0xc3, 0xb9, 0x59, 0x00,
+ 0xb0, 0x05, 0xb4, 0x0b, 0xe8, 0x3e, 0x43, 0xb9,
+ 0xc9, 0x03, 0xe8, 0x3a, 0xb4, 0xe8, 0xcb, 0x44,
+ 0xc7, 0x06, 0xf3, 0xb4, 0x21, 0x00, 0xb8, 0x3f,
+ 0x01, 0xbb, 0xb5, 0x00, 0xbf, 0x2d, 0x01, 0xbe,
+ 0xb5, 0x00, 0xb1, 0x01, 0xb5, 0x04, 0xe8, 0x02,
+ 0x45, 0xc3, 0xb9, 0x58, 0x00, 0xb0, 0x04, 0xb4,
+ 0x02, 0xe8, 0x11, 0x43, 0xb9, 0xca, 0x03, 0xe8,
+ 0xfd, 0xb3, 0xe8, 0x9e, 0x44, 0xc7, 0x06, 0xf3,
+ 0xb4, 0x23, 0x00, 0xb8, 0xa0, 0x00, 0xbb, 0xc7,
+ 0x00, 0xbf, 0xa0, 0x00, 0xbe, 0xbb, 0x00, 0xb1,
+ 0x13, 0xb5, 0x01, 0xe8, 0xd5, 0x44, 0xc3, 0xbb,
+ 0x51, 0x5b, 0xe8, 0x40, 0x39, 0xc3, 0xbb, 0x0f,
+ 0x57, 0xe8, 0x39, 0x39, 0xc3, 0xbb, 0x46, 0x67,
+ 0xe8, 0xb7, 0xd8, 0x83, 0xc3, 0x03, 0xff, 0x37,
+ 0x53, 0xc7, 0x07, 0x3f, 0x01, 0xbe, 0x99, 0x00,
+ 0xbf, 0xa3, 0x00, 0xc6, 0x06, 0xc3, 0x64, 0x04,
+ 0xe8, 0xf0, 0xce, 0xb9, 0xcd, 0x03, 0xe8, 0xbe,
+ 0xb3, 0xe8, 0x4f, 0x44, 0x5b, 0x8f, 0x07, 0x80,
+ 0x3e, 0xc1, 0xdb, 0x00, 0x75, 0x0a, 0xb8, 0x06,
+ 0x00, 0xe8, 0x0f, 0x4a, 0x40, 0xa2, 0xc1, 0xdb,
+ 0xc7, 0x06, 0xf3, 0xb4, 0x1e, 0x00, 0xb8, 0x12,
+ 0x00, 0xbb, 0x9f, 0x00, 0xbf, 0x31, 0x00, 0xbe,
+ 0xb4, 0x00, 0xb1, 0x01, 0xb5, 0x02, 0xe8, 0x72,
+ 0x44, 0xc3, 0xc7, 0x06, 0xf3, 0xb4, 0x1f, 0x00,
+ 0xb8, 0x00, 0x00, 0xbb, 0xbc, 0x00, 0xbf, 0x28,
+ 0x00, 0xbe, 0xbc, 0x00, 0xb1, 0x01, 0xb5, 0x02,
+ 0xe8, 0x58, 0x44, 0xc3, 0xc7, 0x06, 0xf3, 0xb4,
+ 0x1c, 0x00, 0xb8, 0xd0, 0x00, 0xbb, 0x99, 0x00,
+ 0xbf, 0xaa, 0x00, 0xbe, 0x99, 0x00, 0xb1, 0x01,
+ 0xb5, 0x04, 0xe8, 0x3e, 0x44, 0xc3, 0xc7, 0x06,
+ 0xaf, 0x64, 0x95, 0x00, 0xc7, 0x06, 0xb1, 0x64,
+ 0xa3, 0x00, 0xc6, 0x06, 0xcc, 0x64, 0x01, 0xc6,
+ 0x06, 0xdc, 0x64, 0x00, 0xc6, 0x06, 0xcb, 0x64,
+ 0x00, 0xe8, 0xb5, 0xd6, 0xc7, 0x06, 0xf3, 0xb4,
+ 0x1d, 0x00, 0xc6, 0x06, 0xdc, 0x1c, 0x01, 0xe8,
+ 0x55, 0x44, 0xbb, 0x46, 0x67, 0xe8, 0x02, 0xd8,
+ 0x83, 0xc3, 0x03, 0xff, 0x37, 0x53, 0xc7, 0x07,
+ 0x3f, 0x01, 0xb9, 0xce, 0x03, 0xc6, 0x06, 0xdc,
+ 0x1c, 0x01, 0xe8, 0x23, 0xb3, 0xbe, 0xa0, 0x00,
+ 0xbf, 0xbc, 0x00, 0xe8, 0x35, 0xce, 0x5b, 0x8f,
+ 0x07, 0xc3, 0xe8, 0xd9, 0x3c, 0xc3, 0xbb, 0xab,
+ 0x5b, 0xe8, 0x51, 0x38, 0xc3, 0xe8, 0x41, 0x00,
+ 0xb9, 0x20, 0x00, 0xb0, 0x0c, 0xb4, 0x09, 0xe8,
+ 0xeb, 0x41, 0xb9, 0xb6, 0x02, 0xe8, 0xf8, 0xb2,
+ 0xb9, 0x0f, 0x00, 0xb0, 0x08, 0xb4, 0x09, 0xe8,
+ 0xdb, 0x41, 0xbb, 0x47, 0x33, 0xc7, 0x07, 0xb5,
+ 0x02, 0xb0, 0x01, 0xe8, 0x3b, 0xb2, 0xe8, 0xb7,
+ 0xd7, 0xc6, 0x47, 0x06, 0x00, 0xe8, 0x3c, 0x46,
+ 0xbb, 0xc7, 0x4c, 0xe8, 0x17, 0x38, 0xb0, 0x36,
+ 0xe8, 0xf5, 0xbe, 0xb0, 0x04, 0xe8, 0x9d, 0xb1,
+ 0xc3, 0xbe, 0xd3, 0x00, 0xbf, 0x97, 0x00, 0x81,
+ 0x3e, 0xaf, 0x64, 0xd0, 0x00, 0x75, 0x1a, 0x81,
+ 0x3e, 0xb1, 0x64, 0x97, 0x00, 0x75, 0x12, 0xc6,
+ 0x06, 0xc3, 0x64, 0x02, 0x57, 0x56, 0xe8, 0xc2,
+ 0xcd, 0xb8, 0x09, 0x00, 0xe8, 0xcb, 0xb6, 0x5e,
+ 0x5f, 0xc6, 0x06, 0xc3, 0x64, 0x01, 0xe8, 0xb2,
+ 0xcd, 0xc3, 0x80, 0x3e, 0xc2, 0xdb, 0x01, 0x75,
+ 0x07, 0xbb, 0xa0, 0x4c, 0xe8, 0xce, 0x37, 0xc3,
+ 0xb9, 0x31, 0x00, 0xb0, 0x05, 0xb4, 0x09, 0xe8,
+ 0x6b, 0x41, 0xb0, 0x11, 0xe8, 0x6f, 0x41, 0xb9,
+ 0xb3, 0x02, 0xe8, 0x73, 0xb2, 0xe8, 0x46, 0x00,
+ 0x73, 0x31, 0xb9, 0x0f, 0x00, 0xb0, 0x08, 0xb4,
+ 0x09, 0xe8, 0x51, 0x41, 0xbb, 0x47, 0x33, 0xc7,
+ 0x07, 0xb4, 0x02, 0xb0, 0x01, 0xe8, 0xb1, 0xb1,
+ 0xe8, 0x2d, 0xd7, 0xc6, 0x47, 0x06, 0x3b, 0xe8,
+ 0xb2, 0x45, 0xb0, 0x04, 0xe8, 0x12, 0xb1, 0xbb,
+ 0x84, 0x4c, 0xe8, 0x88, 0x37, 0xc6, 0x06, 0xc2,
+ 0xdb, 0x01, 0xc3, 0x80, 0x3e, 0xc0, 0xdb, 0x01,
+ 0x74, 0x0b, 0xc6, 0x06, 0xc0, 0xdb, 0x01, 0xbb,
+ 0x61, 0x4c, 0xe8, 0x70, 0x37, 0xc3, 0xa0, 0xc1,
+ 0xdb, 0x98, 0x48, 0xbb, 0xb7, 0xdb, 0x53, 0x03,
+ 0xd8, 0x80, 0x3f, 0x01, 0x5b, 0x75, 0x18, 0x8b,
+ 0x07, 0x8b, 0x4f, 0x02, 0x8b, 0x57, 0x04, 0x02,
+ 0xc4, 0x02, 0xc1, 0x02, 0xc5, 0x02, 0xc2, 0x02,
+ 0xc6, 0x3c, 0x01, 0x75, 0x02, 0xf9, 0xc3, 0xf8,
+ 0xc3, 0xbb, 0xe7, 0x5b, 0xe8, 0x3e, 0x37, 0xc3,
+ 0xb0, 0x37, 0xe8, 0x4f, 0xbe, 0x73, 0x07, 0xbb,
+ 0xd9, 0x4c, 0xe8, 0x30, 0x37, 0xc3, 0x80, 0x3e,
+ 0xc3, 0xdb, 0x01, 0x74, 0x11, 0xc6, 0x06, 0xc3,
+ 0xdb, 0x01, 0xb9, 0xb7, 0x02, 0xe8, 0xe6, 0xb1,
+ 0xbb, 0x6a, 0x38, 0xe8, 0x87, 0xa8, 0xb9, 0x05,
+ 0x00, 0xb0, 0x0b, 0xb4, 0x0a, 0xe8, 0xb5, 0x40,
+ 0xb9, 0xb8, 0x02, 0xe8, 0xd0, 0xb1, 0xb0, 0x37,
+ 0xe8, 0xe5, 0xbd, 0xc3, 0xbb, 0x0b, 0x5c, 0xe8,
+ 0xfb, 0x36, 0xc3, 0xbb, 0x26, 0x5c, 0xe8, 0xf4,
+ 0x36, 0xc3, 0x80, 0x3e, 0xb7, 0xdb, 0x01, 0x74,
+ 0x2d, 0x80, 0x3e, 0xb8, 0xdb, 0x01, 0x75, 0x04,
+ 0xe8, 0x13, 0x02, 0xc3, 0xb9, 0x42, 0x00, 0xb0,
+ 0x04, 0xb4, 0x07, 0xe8, 0x7f, 0x40, 0xb9, 0xa5,
+ 0x02, 0xe8, 0x6b, 0xb1, 0xe8, 0x61, 0xd6, 0xc6,
+ 0x07, 0x35, 0xe8, 0xa3, 0x44, 0xe8, 0x9c, 0xb1,
+ 0xc6, 0x06, 0xb7, 0xdb, 0x01, 0xc3, 0xe8, 0xbe,
+ 0xb1, 0xe8, 0x4c, 0xd6, 0xc6, 0x07, 0x00, 0xe8,
+ 0xd2, 0x44, 0xb9, 0x43, 0x00, 0xb0, 0x04, 0xb4,
+ 0x07, 0xe8, 0x51, 0x40, 0xb9, 0xa6, 0x02, 0xe8,
+ 0x65, 0xb1, 0xc6, 0x06, 0xb7, 0xdb, 0x00, 0xc3,
+ 0x80, 0x3e, 0xb8, 0xdb, 0x01, 0x74, 0x39, 0x80,
+ 0x3e, 0xb7, 0xdb, 0x01, 0x75, 0x04, 0xe8, 0xbd,
+ 0x01, 0xc3, 0x80, 0x3e, 0xb9, 0xdb, 0x01, 0x75,
+ 0x04, 0xe8, 0xb2, 0x01, 0xc3, 0xb9, 0x42, 0x00,
+ 0xb0, 0x05, 0xb4, 0x07, 0xe8, 0x1e, 0x40, 0xb9,
+ 0xa7, 0x02, 0xe8, 0x0a, 0xb1, 0xe8, 0x00, 0xd6,
+ 0xc6, 0x47, 0x01, 0x36, 0xe8, 0x41, 0x44, 0xe8,
+ 0x3a, 0xb1, 0xc6, 0x06, 0xb8, 0xdb, 0x01, 0xc3,
+ 0xe8, 0x5c, 0xb1, 0xe8, 0xea, 0xd5, 0xc6, 0x47,
+ 0x01, 0x00, 0xe8, 0x6f, 0x44, 0xb9, 0x43, 0x00,
+ 0xb0, 0x04, 0xb4, 0x07, 0xe8, 0xee, 0x3f, 0xb9,
+ 0xa8, 0x02, 0xe8, 0x02, 0xb1, 0xc6, 0x06, 0xb8,
+ 0xdb, 0x00, 0xc3, 0x80, 0x3e, 0xb9, 0xdb, 0x01,
+ 0x74, 0x2e, 0x80, 0x3e, 0xb8, 0xdb, 0x01, 0x75,
+ 0x04, 0xe8, 0x5a, 0x01, 0xc3, 0xb9, 0x43, 0x00,
+ 0xb0, 0x05, 0xb4, 0x07, 0xe8, 0xc6, 0x3f, 0xb9,
+ 0xa9, 0x02, 0xe8, 0xb2, 0xb0, 0xe8, 0xa8, 0xd5,
+ 0xc6, 0x47, 0x02, 0x37, 0xe8, 0xe9, 0x43, 0xe8,
+ 0xe2, 0xb0, 0xc6, 0x06, 0xb9, 0xdb, 0x01, 0xc3,
+ 0xe8, 0x04, 0xb1, 0xe8, 0x92, 0xd5, 0xc6, 0x47,
+ 0x02, 0x00, 0xe8, 0x17, 0x44, 0xb9, 0x43, 0x00,
+ 0xb0, 0x05, 0xb4, 0x07, 0xe8, 0x96, 0x3f, 0xb9,
+ 0xaa, 0x02, 0xe8, 0xaa, 0xb0, 0xc6, 0x06, 0xb9,
+ 0xdb, 0x00, 0xc3, 0x80, 0x3e, 0xba, 0xdb, 0x01,
+ 0x74, 0x2e, 0x80, 0x3e, 0xbb, 0xdb, 0x01, 0x75,
+ 0x04, 0xe8, 0x02, 0x01, 0xc3, 0xb9, 0x42, 0x00,
+ 0xb0, 0x04, 0xb4, 0x07, 0xe8, 0x6e, 0x3f, 0xb9,
+ 0xab, 0x02, 0xe8, 0x5a, 0xb0, 0xe8, 0x50, 0xd5,
+ 0xc6, 0x47, 0x03, 0x38, 0xe8, 0x91, 0x43, 0xe8,
+ 0x8a, 0xb0, 0xc6, 0x06, 0xba, 0xdb, 0x01, 0xc3,
+ 0xe8, 0xac, 0xb0, 0xe8, 0x3a, 0xd5, 0xc6, 0x47,
+ 0x03, 0x00, 0xe8, 0xbf, 0x43, 0xb9, 0x43, 0x00,
+ 0xb0, 0x04, 0xb4, 0x07, 0xe8, 0x3e, 0x3f, 0xb9,
+ 0xac, 0x02, 0xe8, 0x52, 0xb0, 0xc6, 0x06, 0xba,
+ 0xdb, 0x00, 0xc3, 0x80, 0x3e, 0xbb, 0xdb, 0x01,
+ 0x74, 0x39, 0x80, 0x3e, 0xba, 0xdb, 0x01, 0x75,
+ 0x04, 0xe8, 0xaa, 0x00, 0xc3, 0x80, 0x3e, 0xbc,
+ 0xdb, 0x01, 0x75, 0x04, 0xe8, 0x9f, 0x00, 0xc3,
+ 0xb9, 0x42, 0x00, 0xb0, 0x05, 0xb4, 0x07, 0xe8,
+ 0x0b, 0x3f, 0xb9, 0xad, 0x02, 0xe8, 0xf7, 0xaf,
+ 0xe8, 0xed, 0xd4, 0xc6, 0x47, 0x04, 0x39, 0xe8,
+ 0x2e, 0x43, 0xe8, 0x27, 0xb0, 0xc6, 0x06, 0xbb,
+ 0xdb, 0x01, 0xc3, 0xe8, 0x49, 0xb0, 0xe8, 0xd7,
+ 0xd4, 0xc6, 0x47, 0x04, 0x00, 0xe8, 0x5c, 0x43,
+ 0xb9, 0x43, 0x00, 0xb0, 0x04, 0xb4, 0x07, 0xe8,
+ 0xdb, 0x3e, 0xb9, 0xae, 0x02, 0xe8, 0xef, 0xaf,
+ 0xc6, 0x06, 0xbb, 0xdb, 0x00, 0xc3, 0x80, 0x3e,
+ 0xbc, 0xdb, 0x01, 0x74, 0x2e, 0x80, 0x3e, 0xbb,
+ 0xdb, 0x01, 0x75, 0x04, 0xe8, 0x47, 0x00, 0xc3,
+ 0xb9, 0x42, 0x00, 0xb0, 0x06, 0xb4, 0x07, 0xe8,
+ 0xb3, 0x3e, 0xb9, 0xaf, 0x02, 0xe8, 0x9f, 0xaf,
+ 0xe8, 0x95, 0xd4, 0xc6, 0x47, 0x05, 0x3a, 0xe8,
+ 0xd6, 0x42, 0xe8, 0xcf, 0xaf, 0xc6, 0x06, 0xbc,
+ 0xdb, 0x01, 0xc3, 0xe8, 0xf1, 0xaf, 0xe8, 0x7f,
+ 0xd4, 0xc6, 0x47, 0x05, 0x00, 0xe8, 0x04, 0x43,
+ 0xb9, 0x43, 0x00, 0xb0, 0x05, 0xb4, 0x07, 0xe8,
+ 0x83, 0x3e, 0xb9, 0xb0, 0x02, 0xe8, 0x97, 0xaf,
+ 0xc6, 0x06, 0xbc, 0xdb, 0x00, 0xc3, 0x80, 0x3e,
+ 0xbd, 0xdb, 0x01, 0x74, 0x12, 0xbb, 0xcd, 0x4a,
+ 0xe8, 0xc2, 0x34, 0xbb, 0x0d, 0x4b, 0xe8, 0xbc,
+ 0x34, 0xc6, 0x06, 0xbd, 0xdb, 0x01, 0xc3, 0xbb,
+ 0x39, 0x4b, 0xe8, 0xb0, 0x34, 0xc3, 0xbb, 0x46,
+ 0x5c, 0xe8, 0xa9, 0x34, 0xc3, 0xb9, 0x50, 0x00,
+ 0xb0, 0x04, 0xb4, 0x0a, 0xe8, 0x46, 0x3e, 0xb9,
+ 0xcb, 0x03, 0xe8, 0x32, 0xaf, 0xe8, 0xd3, 0x3f,
+ 0xc7, 0x06, 0xf3, 0xb4, 0x20, 0x00, 0xb8, 0x8b,
+ 0x00, 0xbb, 0xc7, 0x00, 0xbf, 0x8b, 0x00, 0xbe,
+ 0xbc, 0x00, 0xb1, 0x13, 0xb5, 0x01, 0xe8, 0x0a,
+ 0x40, 0xc3, 0xbb, 0x65, 0x5b, 0xe8, 0x75, 0x34,
+ 0xc3, 0x80, 0x3e, 0xd9, 0xdb, 0x01, 0x75, 0x07,
+ 0xbb, 0x26, 0x53, 0xe8, 0x67, 0x34, 0xc3, 0xb9,
+ 0x58, 0x00, 0xb0, 0x04, 0xb4, 0x0e, 0xe8, 0x04,
+ 0x3e, 0xb9, 0x28, 0x03, 0xe8, 0xf0, 0xae, 0xe8,
+ 0x91, 0x3f, 0xc7, 0x06, 0xf3, 0xb4, 0x24, 0x00,
+ 0xb8, 0x29, 0x00, 0xbb, 0xc3, 0x00, 0xbf, 0x32,
+ 0x00, 0xbe, 0xc3, 0x00, 0xb1, 0x01, 0xb5, 0x02,
+ 0xe8, 0xc8, 0x3f, 0xc3, 0xe8, 0xb7, 0x38, 0xc3,
+ 0xe8, 0xb3, 0x38, 0xc3, 0xbb, 0x51, 0x5b, 0xe8,
+ 0x2b, 0x34, 0xc3, 0xc7, 0x06, 0xf3, 0xb4, 0x1d,
+ 0x00, 0xb8, 0x3f, 0x01, 0xbb, 0xbc, 0x00, 0xbf,
+ 0x18, 0x01, 0xbe, 0xbc, 0x00, 0xb1, 0x01, 0xb5,
+ 0x04, 0xe8, 0x9f, 0x3f, 0xc3, 0xb9, 0x59, 0x00,
+ 0xb0, 0x06, 0xb4, 0x0c, 0xe8, 0xae, 0x3d, 0xb9,
+ 0x26, 0x03, 0x80, 0x3e, 0xef, 0xdb, 0x01, 0x75,
+ 0x03, 0xb9, 0xd9, 0x03, 0xe8, 0x90, 0xae, 0xe8,
+ 0x31, 0x3f, 0xc7, 0x06, 0xf3, 0xb4, 0x22, 0x00,
+ 0xb8, 0x28, 0x00, 0xbb, 0x85, 0x00, 0xbf, 0x34,
+ 0x00, 0xbe, 0x85, 0x00, 0xb1, 0x01, 0xb5, 0x02,
+ 0xe8, 0x68, 0x3f, 0xc3, 0xbb, 0x80, 0x5b, 0xe8,
+ 0xd3, 0x33, 0xc3, 0xe8, 0xbb, 0xac, 0xbb, 0x2e,
+ 0xdb, 0xe8, 0x21, 0xa5, 0xe8, 0x36, 0xa5, 0xb0,
+ 0x01, 0xbe, 0x94, 0xaa, 0xe8, 0x5a, 0xad, 0xc6,
+ 0x06, 0xd1, 0xdb, 0x01, 0xc3, 0xe8, 0xb7, 0xae,
+ 0xe8, 0x45, 0xd3, 0xc6, 0x07, 0x47, 0xe8, 0xcb,
+ 0x41, 0xb9, 0x20, 0x00, 0xb0, 0x05, 0xb4, 0x04,
+ 0xe8, 0x4a, 0x3d, 0xb9, 0xdc, 0x02, 0xe8, 0x5e,
+ 0xae, 0xb0, 0x02, 0xe8, 0x27, 0xad, 0xb0, 0x48,
+ 0xe8, 0x75, 0xba, 0xc3, 0xb9, 0xf2, 0x02, 0xe8,
+ 0x25, 0xae, 0xe8, 0xc6, 0x3e, 0xbe, 0xde, 0x76,
+ 0xbb, 0x7b, 0x51, 0x06, 0x53, 0x56, 0xb8, 0x00,
+ 0xa0, 0x8e, 0xc0, 0xe8, 0x67, 0x2f, 0xb8, 0x00,
+ 0xa0, 0xb9, 0x00, 0x7d, 0xe8, 0x19, 0x40, 0x5e,
+ 0x5b, 0xe8, 0x69, 0x37, 0xe8, 0x65, 0x2f, 0xb8,
+ 0x0e, 0x01, 0xe8, 0x67, 0xb2, 0xe8, 0x4d, 0x2f,
+ 0xa1, 0xb3, 0x32, 0x8e, 0xc0, 0xbf, 0x00, 0xfa,
+ 0xb9, 0x80, 0x01, 0x33, 0xc0, 0xfc, 0xf3, 0xab,
+ 0x07, 0xb9, 0x03, 0x00, 0xe8, 0x3c, 0x44, 0xc7,
+ 0x06, 0xf3, 0xb4, 0x0b, 0x00, 0xe8, 0xf4, 0x3f,
+ 0xbb, 0x47, 0x33, 0xc7, 0x47, 0x02, 0xee, 0x02,
+ 0xb0, 0x02, 0xe8, 0x3d, 0xad, 0xc6, 0x06, 0x45,
+ 0x33, 0xe5, 0xc6, 0x06, 0x46, 0x33, 0xd9, 0xb0,
+ 0x02, 0xb4, 0x01, 0xbe, 0xef, 0x02, 0xbf, 0x11,
+ 0x02, 0xbb, 0x50, 0x4f, 0xe8, 0x2f, 0xa7, 0xbb,
+ 0x47, 0x33, 0xc7, 0x07, 0xf0, 0x02, 0xc7, 0x47,
+ 0x02, 0xf1, 0x02, 0xb0, 0x01, 0xe8, 0x12, 0xad,
+ 0xc6, 0x06, 0x45, 0x33, 0xd9, 0xc6, 0x06, 0x46,
+ 0x33, 0xe5, 0xb0, 0x01, 0xb4, 0x02, 0xbe, 0x11,
+ 0x02, 0xbf, 0xef, 0x02, 0xbb, 0x68, 0x51, 0xe8,
+ 0x04, 0xa7, 0xbb, 0x47, 0x33, 0xc7, 0x47, 0x02,
+ 0xdd, 0x02, 0xc7, 0x47, 0x04, 0xde, 0x02, 0xc7,
+ 0x06, 0xf3, 0xb4, 0x1e, 0x00, 0xe8, 0x8c, 0x3f,
+ 0xc6, 0x06, 0x45, 0x33, 0xe5, 0xc6, 0x06, 0x46,
+ 0x33, 0xd0, 0xb0, 0x02, 0xb4, 0x03, 0xbe, 0xdd,
+ 0x02, 0xbf, 0xde, 0x02, 0xbb, 0x9e, 0x44, 0xe8,
+ 0xd4, 0xa6, 0xb9, 0x4b, 0x00, 0xb0, 0x0d, 0xb4,
+ 0x04, 0xe8, 0x59, 0x3c, 0xb9, 0x20, 0x00, 0xb0,
+ 0x16, 0xe8, 0x5a, 0x3c, 0xbb, 0x47, 0x33, 0xc7,
+ 0x47, 0x02, 0xdf, 0x02, 0xc7, 0x47, 0x04, 0xe0,
+ 0x02, 0xb0, 0x02, 0xe8, 0xa4, 0xac, 0xc6, 0x06,
+ 0x46, 0x33, 0xe5, 0xc6, 0x06, 0x45, 0x33, 0xd0,
+ 0xb0, 0x03, 0xb4, 0x02, 0xbe, 0xe1, 0x02, 0xbf,
+ 0xe2, 0x02, 0xbb, 0xcf, 0x46, 0xe8, 0x96, 0xa6,
+ 0xb9, 0x20, 0x00, 0xb0, 0x01, 0xb4, 0x04, 0xe8,
+ 0x1b, 0x3c, 0xbb, 0x47, 0x33, 0xc7, 0x47, 0x02,
+ 0xe3, 0x02, 0xc7, 0x47, 0x04, 0xe4, 0x02, 0xb0,
+ 0x02, 0xe8, 0x6e, 0xac, 0xc6, 0x06, 0x45, 0x33,
+ 0xe5, 0xc6, 0x06, 0x46, 0x33, 0xd0, 0xb0, 0x02,
+ 0xb4, 0x03, 0xbe, 0xdd, 0x02, 0xbf, 0xde, 0x02,
+ 0xbb, 0x72, 0x47, 0xe8, 0x60, 0xa6, 0xbb, 0x47,
+ 0x33, 0xc7, 0x47, 0x02, 0xe6, 0x02, 0xc7, 0x47,
+ 0x04, 0xe5, 0x02, 0xb0, 0x02, 0xe8, 0x42, 0xac,
+ 0xc6, 0x06, 0x46, 0x33, 0xe5, 0xc6, 0x06, 0x45,
+ 0x33, 0xd0, 0xb0, 0x03, 0xb4, 0x02, 0xbe, 0xe7,
+ 0x02, 0xbf, 0xdd, 0x02, 0xbb, 0x1c, 0x48, 0xe8,
+ 0x34, 0xa6, 0xbb, 0x47, 0x33, 0xc7, 0x47, 0x02,
+ 0xe8, 0x02, 0xc7, 0x47, 0x04, 0xe9, 0x02, 0xb0,
+ 0x02, 0xe8, 0x16, 0xac, 0xb0, 0x03, 0xb4, 0x02,
+ 0xbe, 0xde, 0x02, 0xbf, 0xdd, 0x02, 0xbb, 0x73,
+ 0x48, 0xe8, 0x12, 0xa6, 0xbb, 0x47, 0x33, 0xc7,
+ 0x47, 0x02, 0xea, 0x02, 0xc7, 0x47, 0x04, 0xeb,
+ 0x02, 0xb0, 0x02, 0xe8, 0xf4, 0xab, 0xe8, 0x2d,
+ 0x3c, 0xb0, 0x03, 0xbe, 0xde, 0x02, 0xbb, 0xa5,
+ 0x4d, 0xe8, 0x7b, 0xa7, 0xb0, 0x03, 0xbe, 0xec,
+ 0x02, 0xbb, 0xb9, 0x4e, 0xe8, 0x70, 0xa7, 0xb0,
+ 0x03, 0xbe, 0xed, 0x02, 0xbb, 0x15, 0x4f, 0xe8,
+ 0x65, 0xa7, 0xb0, 0x03, 0xbe, 0xec, 0x02, 0xbb,
+ 0x2f, 0x4f, 0xe8, 0x5a, 0xa7, 0xb9, 0x0a, 0x00,
+ 0xe8, 0xa8, 0x42, 0xc7, 0x06, 0xf3, 0xb4, 0x20,
+ 0x00, 0xe8, 0x60, 0x3e, 0xb9, 0x1a, 0x00, 0xb0,
+ 0x0a, 0xb4, 0x04, 0xe8, 0x47, 0x3b, 0xb9, 0xf3,
+ 0x02, 0xe8, 0x5b, 0xac, 0x8b, 0x36, 0xaf, 0x64,
+ 0x8b, 0x3e, 0xb1, 0x64, 0xc6, 0x06, 0xc3, 0x64,
+ 0x03, 0xe8, 0x5f, 0xc7, 0xbb, 0xbf, 0x51, 0xe8,
+ 0xf3, 0xa2, 0xbb, 0x47, 0x33, 0xc7, 0x07, 0xfb,
+ 0x02, 0xc7, 0x47, 0x02, 0xfc, 0x02, 0xc7, 0x06,
+ 0xf3, 0xb4, 0x1f, 0x00, 0xe8, 0x25, 0x3e, 0xc6,
+ 0x06, 0x45, 0x33, 0xd9, 0xc6, 0x06, 0x46, 0x33,
+ 0xd0, 0xb0, 0x01, 0xb4, 0x02, 0xbe, 0xfb, 0x02,
+ 0xbf, 0xfc, 0x02, 0xbb, 0x9f, 0x53, 0xe8, 0x6d,
+ 0xa5, 0xc7, 0x06, 0xf3, 0xb4, 0x20, 0x00, 0xe8,
+ 0x1d, 0x3d, 0xbb, 0xc3, 0x52, 0xe8, 0xb5, 0xa2,
+ 0xb0, 0x03, 0xe8, 0xd0, 0xaa, 0xb0, 0x07, 0xe8,
+ 0xbf, 0xaa, 0xc6, 0x06, 0xd5, 0xdb, 0x01, 0xc3,
+ 0x80, 0x3e, 0xd5, 0xdb, 0x01, 0x75, 0x07, 0xbb,
+ 0xa7, 0x51, 0xe8, 0x28, 0x31, 0xc3, 0xe8, 0xa5,
+ 0x35, 0xc3, 0x80, 0x3e, 0xd5, 0xdb, 0x01, 0x75,
+ 0x07, 0xbb, 0xa7, 0x51, 0xe8, 0x16, 0x31, 0xc3,
+ 0xb9, 0xd1, 0x03, 0xe8, 0xca, 0xab, 0xbb, 0x11,
+ 0x55, 0xe8, 0x09, 0x31, 0xc3, 0x80, 0x3e, 0xd5,
+ 0xdb, 0x01, 0x75, 0x07, 0xbb, 0xbb, 0x51, 0xe8,
+ 0xfb, 0x30, 0xc3, 0xc7, 0x06, 0xf3, 0xb4, 0x1f,
+ 0x00, 0xb8, 0x8b, 0x00, 0xbb, 0xac, 0x00, 0xbf,
+ 0x8b, 0x00, 0xbe, 0xb5, 0x00, 0xb1, 0x0b, 0xb5,
+ 0x03, 0xe8, 0x6f, 0x3c, 0xc3, 0xe8, 0xdf, 0xab,
+ 0x8b, 0x36, 0xaf, 0x64, 0x8b, 0x3e, 0xb1, 0x64,
+ 0xc6, 0x06, 0xc3, 0x64, 0x03, 0xe8, 0xa3, 0xc6,
+ 0xb9, 0xf4, 0x02, 0xe8, 0x64, 0xab, 0xe8, 0x02,
+ 0x3c, 0xc6, 0x06, 0xdc, 0x1c, 0x01, 0xbb, 0x47,
+ 0x33, 0xc7, 0x47, 0x02, 0xf6, 0x02, 0xb0, 0x02,
+ 0xe8, 0xbf, 0xaa, 0xc6, 0x06, 0x45, 0x33, 0xd0,
+ 0xb0, 0x02, 0xbe, 0xf7, 0x02, 0xbb, 0xe6, 0x52,
+ 0xe8, 0x44, 0xa6, 0xb9, 0x28, 0x00, 0xb0, 0x05,
+ 0xb4, 0x04, 0xe8, 0x40, 0x3a, 0xb9, 0x34, 0x00,
+ 0xb0, 0x0d, 0xe8, 0x41, 0x3a, 0xb0, 0x11, 0xe8,
+ 0x43, 0x3a, 0xb0, 0x15, 0xe8, 0x45, 0x3a, 0xbb,
+ 0x47, 0x33, 0xc7, 0x47, 0x02, 0xf8, 0x02, 0xb0,
+ 0x02, 0xe8, 0x86, 0xaa, 0xe8, 0x0d, 0x3b, 0xe8,
+ 0x06, 0xd0, 0xc6, 0x47, 0x01, 0x48, 0xc6, 0x47,
+ 0x02, 0x49, 0xbb, 0x47, 0x33, 0xc7, 0x07, 0xfd,
+ 0x02, 0xc7, 0x06, 0xf3, 0xb4, 0x1f, 0x00, 0xe8,
+ 0x12, 0x3d, 0xb9, 0x3a, 0x00, 0xb0, 0x05, 0xb4,
+ 0x07, 0xe8, 0xf9, 0x39, 0xb0, 0x08, 0xe8, 0xfd,
+ 0x39, 0xb0, 0x0a, 0xe8, 0xff, 0x39, 0xb0, 0x0c,
+ 0xe8, 0x01, 0x3a, 0xb0, 0x0e, 0xe8, 0x03, 0x3a,
+ 0xb0, 0x01, 0xe8, 0x45, 0xaa, 0xc6, 0x06, 0x45,
+ 0x33, 0xd9, 0xb0, 0x01, 0xbe, 0xfe, 0x02, 0xbb,
+ 0x43, 0x54, 0xe8, 0xca, 0xa5, 0xbb, 0x47, 0x33,
+ 0xc7, 0x47, 0x02, 0xf9, 0x02, 0xc7, 0x06, 0xf3,
+ 0xb4, 0x20, 0x00, 0xe8, 0xce, 0x3c, 0xc6, 0x06,
+ 0x45, 0x33, 0xd0, 0xb0, 0x02, 0xbe, 0xf9, 0x02,
+ 0xbb, 0x58, 0x53, 0xe8, 0xa9, 0xa5, 0xbb, 0x47,
+ 0x33, 0xc7, 0x47, 0x02, 0xfa, 0x02, 0xb0, 0x02,
+ 0xe8, 0x07, 0xaa, 0xe8, 0x40, 0x3a, 0xe8, 0x87,
+ 0xcf, 0xc6, 0x47, 0x02, 0x00, 0xe8, 0xa5, 0x3d,
+ 0xb9, 0xf5, 0x02, 0xe8, 0x84, 0xaa, 0xc6, 0x06,
+ 0xcd, 0x64, 0x01, 0xc6, 0x06, 0xcc, 0x64, 0x01,
+ 0xc6, 0x06, 0xcb, 0x64, 0x01, 0xe8, 0xac, 0xaa,
+ 0xbb, 0xe7, 0x51, 0xe8, 0xcf, 0x2f, 0xb0, 0x08,
+ 0xe8, 0x4e, 0xa9, 0xb0, 0x07, 0xe8, 0x55, 0xa9,
+ 0xc6, 0x06, 0xd5, 0xdb, 0x00, 0xc3, 0xb9, 0x20,
+ 0x00, 0xb0, 0x05, 0xb4, 0x08, 0xe8, 0x5d, 0x39,
+ 0xb9, 0xff, 0x02, 0xe8, 0x6a, 0xaa, 0xe8, 0x3f,
+ 0xcf, 0xc6, 0x47, 0x01, 0x00, 0xe8, 0xc4, 0x3d,
+ 0xb0, 0x49, 0xe8, 0x83, 0xb6, 0xb0, 0x08, 0xe8,
+ 0x2b, 0xa9, 0xc3, 0xe8, 0x60, 0xa8, 0xbb, 0x24,
+ 0xdb, 0xe8, 0xe9, 0xa0, 0xe8, 0xfe, 0xa0, 0xc3,
+ 0xe8, 0x15, 0x00, 0xbe, 0x51, 0x00, 0xbf, 0xa0,
+ 0x00, 0xc6, 0x06, 0xc3, 0x64, 0x04, 0xe8, 0x52,
+ 0xc5, 0xbb, 0xac, 0x5c, 0xe8, 0x76, 0x2f, 0xc3,
+ 0x80, 0x3e, 0xcc, 0xdb, 0x01, 0x74, 0x07, 0xbb,
+ 0xce, 0x4e, 0xe8, 0x68, 0x2f, 0x58, 0xc3, 0xe8,
+ 0xee, 0xff, 0xbb, 0x46, 0x50, 0xe8, 0x5d, 0x2f,
+ 0xc3, 0xb0, 0x44, 0xe8, 0x6e, 0xb6, 0x73, 0x12,
+ 0xb0, 0x44, 0xe8, 0x43, 0xb6, 0xe8, 0x0a, 0x00,
+ 0xe8, 0x23, 0xc5, 0xbb, 0x0a, 0x50, 0xe8, 0x44,
+ 0x2f, 0xc3, 0xc7, 0x06, 0xf3, 0xb4, 0x1d, 0x00,
+ 0xb8, 0x28, 0x00, 0xbb, 0xb0, 0x00, 0xbf, 0x3e,
+ 0x00, 0xbe, 0xb7, 0x00, 0xb1, 0x01, 0xb5, 0x02,
+ 0xe8, 0xb8, 0x3a, 0xc3, 0xe8, 0xb1, 0xff, 0x80,
+ 0x3e, 0xcf, 0xdb, 0x01, 0x74, 0x48, 0xe8, 0x1e,
+ 0xaa, 0xc6, 0x06, 0xe6, 0x1c, 0xe5, 0xc6, 0x06,
+ 0x35, 0x33, 0x0b, 0xc6, 0x06, 0x36, 0x33, 0x23,
+ 0xb8, 0xcb, 0x4f, 0xa3, 0x37, 0x33, 0xb8, 0x70,
+ 0x87, 0xa3, 0x39, 0x33, 0xb9, 0x59, 0x00, 0xb0,
+ 0x04, 0xb4, 0x09, 0xe8, 0x9f, 0x38, 0xb9, 0x57,
+ 0x00, 0xb0, 0x2d, 0xe8, 0xa0, 0x38, 0xb9, 0xce,
+ 0x02, 0xe8, 0x03, 0xaa, 0xe8, 0xbd, 0xa9, 0xe8,
+ 0xe3, 0xad, 0xbb, 0xe2, 0x4f, 0xe8, 0xdd, 0x2e,
+ 0xc6, 0x06, 0xcf, 0xdb, 0x01, 0xc3, 0xb9, 0x59,
+ 0x00, 0xb0, 0x04, 0xb4, 0x09, 0xe8, 0x75, 0x38,
+ 0xb9, 0xcf, 0x02, 0xe8, 0x61, 0xa9, 0xe8, 0x57,
+ 0xce, 0xc6, 0x47, 0x04, 0x43, 0xe8, 0x98, 0x3c,
+ 0xe8, 0x91, 0xa9, 0xbb, 0x46, 0x67, 0xe8, 0x39,
+ 0xce, 0xfe, 0x07, 0xb0, 0x05, 0xe8, 0x3d, 0xa8,
+ 0xb0, 0x0c, 0xe8, 0x2c, 0xa8, 0xc3, 0x80, 0x3e,
+ 0xcd, 0xdb, 0x01, 0x74, 0x07, 0xbb, 0x9d, 0x3c,
+ 0xe8, 0x0a, 0xa0, 0xc3, 0x80, 0x3e, 0xce, 0xdb,
+ 0x01, 0x75, 0x07, 0xbb, 0x9b, 0x4f, 0xe8, 0x8c,
+ 0x2e, 0xc3, 0xbb, 0xb1, 0x4f, 0xe8, 0x85, 0x2e,
+ 0xb9, 0x20, 0x00, 0xb0, 0x06, 0xb4, 0x07, 0xe8,
+ 0x23, 0x38, 0xb9, 0xcd, 0x02, 0xe8, 0x30, 0xa9,
+ 0xb0, 0x42, 0xe8, 0x53, 0xb5, 0xc6, 0x06, 0xce,
+ 0xdb, 0x01, 0xc3, 0xe8, 0x69, 0xa9, 0xe8, 0xf7,
+ 0xcd, 0xc6, 0x47, 0x02, 0x00, 0xe8, 0x7c, 0x3c,
+ 0xb9, 0x20, 0x00, 0xb0, 0x07, 0xb4, 0x08, 0xe8,
+ 0xfb, 0x37, 0xb9, 0xc6, 0x02, 0xe8, 0x0f, 0xa9,
+ 0xb0, 0x3e, 0xe8, 0x2b, 0xb5, 0xb0, 0x07, 0xe8,
+ 0xd3, 0xa7, 0xb0, 0x08, 0xe8, 0xc2, 0xa7, 0xc3,
+ 0xe8, 0xbb, 0x32, 0xc3, 0xe8, 0x38, 0xa9, 0xe8,
+ 0xc6, 0xcd, 0xc6, 0x47, 0x03, 0x00, 0xe8, 0x4b,
+ 0x3c, 0xb9, 0x20, 0x00, 0xb0, 0x07, 0xb4, 0x0b,
+ 0xe8, 0xca, 0x37, 0xb9, 0xcb, 0x02, 0xe8, 0xde,
+ 0xa8, 0xb0, 0x3f, 0xe8, 0xfa, 0xb4, 0xb0, 0x09,
+ 0xe8, 0xa2, 0xa7, 0xc3, 0xe8, 0x99, 0xfe, 0xbb,
+ 0x60, 0x5c, 0xe8, 0x08, 0x2e, 0xc3, 0xbb, 0x82,
+ 0x5c, 0xe8, 0x01, 0x2e, 0xc3, 0x80, 0x3e, 0xd0,
+ 0xdb, 0x01, 0x74, 0x0d, 0xb9, 0xd1, 0x02, 0xe8,
+ 0xae, 0xa8, 0xbb, 0x5e, 0x50, 0xe8, 0xed, 0x2d,
+ 0xc3, 0xe8, 0xeb, 0xa8, 0xe8, 0x79, 0xcd, 0xc6,
+ 0x47, 0x04, 0x45, 0xe8, 0xfe, 0x3b, 0xb9, 0x20,
+ 0x00, 0xb0, 0x05, 0xb4, 0x08, 0xe8, 0x7d, 0x37,
+ 0xb9, 0xd5, 0x02, 0xe8, 0x91, 0xa8, 0xb0, 0x0c,
+ 0xe8, 0x5a, 0xa7, 0xb0, 0x45, 0xe8, 0xa8, 0xb4,
+ 0xc3, 0xb9, 0x59, 0x00, 0xb0, 0x03, 0xb4, 0x01,
+ 0xe8, 0x62, 0x37, 0xb9, 0xcf, 0x03, 0xe8, 0x5e,
+ 0xa8, 0xe8, 0xef, 0x38, 0xc7, 0x06, 0xf3, 0xb4,
+ 0x1f, 0x00, 0xb8, 0x2a, 0x01, 0xbb, 0xb1, 0x00,
+ 0xbf, 0x16, 0x01, 0xbe, 0xb1, 0x00, 0xb1, 0x01,
+ 0xb5, 0x04, 0xe8, 0x26, 0x39, 0xc3, 0xe8, 0x15,
+ 0x32, 0xc3, 0x80, 0x3e, 0xd6, 0xdb, 0x02, 0x75,
+ 0x07, 0xbb, 0x2c, 0x52, 0xe8, 0x86, 0x2d, 0xc3,
+ 0xb9, 0x4f, 0x00, 0xb0, 0x06, 0xb4, 0x0e, 0xe8,
+ 0x23, 0x37, 0xb9, 0x54, 0x00, 0xb0, 0x09, 0xe8,
+ 0x24, 0x37, 0xb9, 0x21, 0x03, 0xe8, 0x28, 0xa8,
+ 0xe8, 0x63, 0xac, 0x80, 0x3e, 0xd6, 0xdb, 0x01,
+ 0x74, 0x07, 0xbb, 0x72, 0x53, 0xe8, 0x5d, 0x2d,
+ 0xc3, 0xbb, 0x8d, 0x53, 0xe8, 0x56, 0x2d, 0xc6,
+ 0x06, 0xd6, 0xdb, 0x02, 0xc3, 0xe8, 0xce, 0x31,
+ 0xc3, 0xb9, 0x42, 0x00, 0xb0, 0x05, 0xb4, 0x03,
+ 0xe8, 0xea, 0x36, 0xb9, 0x43, 0x00, 0xb0, 0x0b,
+ 0xe8, 0xeb, 0x36, 0xb9, 0xd0, 0x03, 0xe8, 0xef,
+ 0xa7, 0xbb, 0x55, 0x59, 0xe8, 0x2e, 0x2d, 0xc3,
+ 0xbb, 0xdb, 0x5c, 0xe8, 0x27, 0x2d, 0xc3, 0xbb,
+ 0xfd, 0x5c, 0xe8, 0x20, 0x2d, 0xc3, 0xe8, 0x1e,
+ 0xa8, 0xe8, 0xac, 0xcc, 0xc6, 0x47, 0x01, 0x00,
+ 0xe8, 0x31, 0x3b, 0xb9, 0x05, 0x00, 0xb0, 0x2a,
+ 0xb4, 0x07, 0xe8, 0xb0, 0x36, 0xc6, 0x06, 0x35,
+ 0x33, 0x14, 0xc6, 0x06, 0x36, 0x33, 0x26, 0xb8,
+ 0x02, 0x4d, 0xa3, 0x37, 0x33, 0xb8, 0x82, 0x7f,
+ 0xa3, 0x39, 0x33, 0xc6, 0x06, 0xdc, 0x64, 0x00,
+ 0xb9, 0xb9, 0x02, 0xe8, 0x01, 0xa8, 0xc6, 0x06,
+ 0xdc, 0x64, 0x01, 0xe8, 0xb6, 0xa7, 0xb0, 0x38,
+ 0xe8, 0xbd, 0xb3, 0xb0, 0x01, 0xe8, 0x65, 0xa6,
+ 0xc3, 0xb9, 0x05, 0x00, 0xb0, 0x0c, 0xb4, 0x07,
+ 0xe8, 0x72, 0x36, 0xb9, 0xc0, 0x02, 0xe8, 0x8d,
+ 0xa7, 0xb0, 0x02, 0xe8, 0x4f, 0xa6, 0xb0, 0x3a,
+ 0xe8, 0x9d, 0xb3, 0xc3, 0xbb, 0x2c, 0x5d, 0xe8,
+ 0xb3, 0x2c, 0xc3, 0x80, 0x3e, 0xc5, 0xdb, 0x01,
+ 0x74, 0x20, 0xc6, 0x06, 0xc5, 0xdb, 0x01, 0x80,
+ 0x3e, 0xc6, 0xdb, 0x00, 0x74, 0x05, 0xb8, 0xbe,
+ 0x02, 0xeb, 0x03, 0xb8, 0xbd, 0x02, 0xe8, 0x25,
+ 0x00, 0xb0, 0x01, 0xe8, 0x61, 0xa6, 0xe8, 0x23,
+ 0x37, 0xc3, 0xc6, 0x06, 0xc5, 0xdb, 0x00, 0xb8,
+ 0xbd, 0x02, 0xe8, 0x11, 0x00, 0xe8, 0xc6, 0x36,
+ 0x80, 0x3e, 0xc6, 0xdb, 0x01, 0x75, 0x06, 0xbb,
+ 0xa6, 0x4d, 0xe8, 0x70, 0x2c, 0xc3, 0x50, 0xb9,
+ 0x47, 0x00, 0xb0, 0x03, 0xb4, 0x06, 0xe8, 0x0c,
+ 0x36, 0xb9, 0xbc, 0x02, 0xe8, 0xf8, 0xa6, 0xe8,
+ 0x99, 0x37, 0x58, 0xbb, 0x47, 0x33, 0x89, 0x07,
+ 0xc3, 0xbb, 0x41, 0x5d, 0xe8, 0x4e, 0x2c, 0xc3,
+ 0x80, 0x3e, 0xc4, 0xdb, 0x01, 0x75, 0x07, 0xbb,
+ 0x2a, 0x4d, 0xe8, 0x40, 0x2c, 0xc3, 0xe8, 0x3e,
+ 0xa7, 0xe8, 0xcc, 0xcb, 0xc6, 0x07, 0x00, 0xe8,
+ 0x52, 0x3a, 0xb9, 0x1a, 0x00, 0xb0, 0x11, 0xb4,
+ 0x0a, 0xe8, 0xd1, 0x35, 0xb0, 0x17, 0xe8, 0xd5,
+ 0x35, 0xb0, 0x1e, 0xe8, 0xd7, 0x35, 0xb0, 0x25,
+ 0xe8, 0xe0, 0x35, 0xb0, 0x2b, 0xe8, 0xe2, 0x35,
+ 0xb9, 0x34, 0x00, 0xb0, 0x22, 0xe8, 0xcc, 0x35,
+ 0xb9, 0xba, 0x02, 0xe8, 0xa4, 0xa6, 0xe8, 0x97,
+ 0xcb, 0xc6, 0x07, 0x34, 0xc6, 0x47, 0x02, 0x3d,
+ 0xe8, 0xd5, 0x39, 0xe8, 0xce, 0xa6, 0xbb, 0xb6,
+ 0x38, 0xe8, 0x61, 0x9d, 0xb0, 0x0b, 0xe8, 0x70,
+ 0xa5, 0xc6, 0x06, 0xc4, 0xdb, 0x01, 0xc3, 0xbb,
+ 0x6e, 0x5d, 0xe8, 0xe0, 0x2b, 0xc3, 0x80, 0x3e,
+ 0xc9, 0xdb, 0x01, 0x75, 0x07, 0xbb, 0xbb, 0x4d,
+ 0xe8, 0xd2, 0x2b, 0xc3, 0xc6, 0x06, 0xc9, 0xdb,
+ 0x01, 0xbb, 0xca, 0x3a, 0xe8, 0x36, 0x9d, 0xb9,
+ 0x3d, 0x00, 0xb0, 0x05, 0xb4, 0x09, 0xe8, 0x64,
+ 0x35, 0xb9, 0x05, 0x00, 0xb0, 0x0e, 0xe8, 0x65,
+ 0x35, 0xb9, 0xc1, 0x02, 0xe8, 0x69, 0xa6, 0xbb,
+ 0xd3, 0x4d, 0xe8, 0xa8, 0x2b, 0xb0, 0x3b, 0xe8,
+ 0x86, 0xb2, 0xc3, 0xc7, 0x06, 0xf3, 0xb4, 0x1d,
+ 0x00, 0xb8, 0x00, 0x01, 0xbb, 0xab, 0x00, 0xbf,
+ 0x00, 0x01, 0xbe, 0xb2, 0x00, 0xb1, 0x0b, 0xb5,
+ 0x03, 0xe8, 0x17, 0x37, 0xc3, 0xe8, 0x06, 0x30,
+ 0xc3, 0xe8, 0x83, 0xa6, 0xe8, 0x11, 0xcb, 0xc6,
+ 0x47, 0x02, 0x00, 0xe8, 0x96, 0x39, 0xb9, 0x05,
+ 0x00, 0xb0, 0x0c, 0xb4, 0x07, 0xe8, 0x15, 0x35,
+ 0xb9, 0xbb, 0x02, 0xe8, 0x29, 0xa6, 0xb0, 0x39,
+ 0xe8, 0x45, 0xb2, 0xb0, 0x0b, 0xe8, 0xed, 0xa4,
+ 0xc3, 0xc7, 0x06, 0xf3, 0xb4, 0x26, 0x00, 0xb8,
+ 0xa0, 0x00, 0xbb, 0xc7, 0x00, 0xbf, 0xa0, 0x00,
+ 0xbe, 0xbe, 0x00, 0xb1, 0x13, 0xb5, 0x01, 0xe8,
+ 0xd1, 0x36, 0xc3, 0x80, 0x3e, 0xd7, 0xdb, 0x01,
+ 0x74, 0x07, 0xbb, 0xcb, 0x52, 0xe8, 0x35, 0x2b,
+ 0xc3, 0x80, 0x3e, 0xd8, 0xdb, 0x01, 0x74, 0x07,
+ 0xbb, 0xfe, 0x52, 0xe8, 0x27, 0x2b, 0xc3, 0xb9,
+ 0x58, 0x00, 0xb0, 0x04, 0xb4, 0x0c, 0xe8, 0xc4,
+ 0x34, 0xb9, 0xd3, 0x03, 0xe8, 0xb0, 0xa5, 0xe8,
+ 0x51, 0x36, 0xc7, 0x06, 0xaf, 0x64, 0x33, 0x00,
+ 0xc7, 0x06, 0xb1, 0x64, 0xb7, 0x00, 0xbb, 0x47,
+ 0x33, 0xc7, 0x07, 0x00, 0x03, 0xc7, 0x47, 0x02,
+ 0x01, 0x03, 0xc7, 0x06, 0xf3, 0xb4, 0x25, 0x00,
+ 0xe8, 0xb2, 0x37, 0xc6, 0x06, 0x45, 0x33, 0xd9,
+ 0xc6, 0x06, 0x46, 0x33, 0xe5, 0xb0, 0x01, 0xb4,
+ 0x02, 0xbe, 0x00, 0x03, 0xbf, 0x01, 0x03, 0xbb,
+ 0xea, 0x54, 0xe8, 0xf1, 0x9e, 0xbb, 0x47, 0x33,
+ 0xc7, 0x07, 0x02, 0x03, 0xc7, 0x47, 0x02, 0x03,
+ 0x03, 0xe8, 0xd0, 0x34, 0xbb, 0x23, 0x55, 0xe8,
+ 0x33, 0x9c, 0xb9, 0x05, 0x00, 0xb0, 0x03, 0xb4,
+ 0x02, 0xe8, 0x61, 0x34, 0xb9, 0x38, 0x00, 0xb0,
+ 0x0c, 0xe8, 0x62, 0x34, 0xb9, 0x17, 0x00, 0xb0,
+ 0x14, 0xe8, 0x61, 0x34, 0xb9, 0x4b, 0x00, 0xb0,
+ 0x19, 0xe8, 0x60, 0x34, 0xb9, 0x04, 0x03, 0xe8,
+ 0x38, 0xa5, 0xbb, 0x47, 0x33, 0xc7, 0x07, 0x06,
+ 0x03, 0xb9, 0x05, 0x03, 0xe8, 0x2b, 0xa5, 0xe8,
+ 0xc9, 0x35, 0xc6, 0x06, 0xdc, 0x1c, 0x01, 0xe8,
+ 0x16, 0xca, 0xc6, 0x07, 0x4a, 0xe8, 0xeb, 0x38,
+ 0xe8, 0xcd, 0x35, 0xb0, 0x01, 0xbe, 0x07, 0x03,
+ 0xbb, 0x56, 0x55, 0xe8, 0x11, 0xa0, 0xbb, 0x47,
+ 0x33, 0xc7, 0x07, 0x08, 0x03, 0xb0, 0x01, 0xe8,
+ 0x70, 0xa4, 0xb0, 0x01, 0xb4, 0x02, 0xbe, 0x09,
+ 0x03, 0xbf, 0x0a, 0x03, 0xbb, 0xf7, 0x55, 0xe8,
+ 0x6c, 0x9e, 0xbb, 0x47, 0x33, 0xc7, 0x07, 0x0b,
+ 0x03, 0xc7, 0x47, 0x02, 0x0c, 0x03, 0xe8, 0x4b,
+ 0x34, 0xe8, 0xd8, 0x34, 0xb9, 0x3a, 0x00, 0xb0,
+ 0x01, 0xb4, 0x04, 0xe8, 0xdf, 0x33, 0xb0, 0x02,
+ 0xe8, 0xe3, 0x33, 0xb0, 0x03, 0xe8, 0xe5, 0x33,
+ 0xb0, 0x04, 0xe8, 0xe7, 0x33, 0xb0, 0x05, 0xe8,
+ 0xe9, 0x33, 0xb0, 0x06, 0xe8, 0xeb, 0x33, 0xb0,
+ 0x0a, 0xe8, 0xf4, 0x33, 0xb9, 0x02, 0x00, 0xb0,
+ 0x07, 0xe8, 0xe5, 0x33, 0xb9, 0x37, 0x00, 0xb0,
+ 0x0b, 0xe8, 0xeb, 0x33, 0xb9, 0x36, 0x00, 0xb0,
+ 0x0f, 0xb4, 0x0a, 0xe8, 0xe8, 0x33, 0xbb, 0x47,
+ 0x33, 0xc7, 0x47, 0x04, 0x0d, 0x03, 0xc7, 0x47,
+ 0x06, 0x0e, 0x03, 0xb0, 0x03, 0xe8, 0xfa, 0xa3,
+ 0xe8, 0x7d, 0xc9, 0xc6, 0x47, 0x01, 0x4b, 0xc6,
+ 0x47, 0x02, 0x4c, 0xe8, 0x4d, 0x38, 0xe8, 0x2f,
+ 0x35, 0xb9, 0x3a, 0x00, 0xb0, 0x01, 0xb4, 0x04,
+ 0xe8, 0x7a, 0x33, 0xb0, 0x02, 0xe8, 0x7e, 0x33,
+ 0xb0, 0x03, 0xe8, 0x80, 0x33, 0xb0, 0x04, 0xe8,
+ 0x82, 0x33, 0xb0, 0x05, 0xe8, 0x84, 0x33, 0xb0,
+ 0x06, 0xe8, 0x86, 0x33, 0xb0, 0x09, 0xe8, 0x8f,
+ 0x33, 0xb9, 0x02, 0x00, 0xb0, 0x07, 0xe8, 0x80,
+ 0x33, 0xb0, 0x0f, 0xb4, 0x07, 0xe8, 0x8e, 0x33,
+ 0xb9, 0x37, 0x00, 0xb0, 0x0a, 0xe8, 0x7f, 0x33,
+ 0xbb, 0x47, 0x33, 0xc7, 0x47, 0x04, 0x0f, 0x03,
+ 0xc7, 0x47, 0x06, 0x10, 0x03, 0xb0, 0x03, 0xe8,
+ 0x98, 0xa3, 0xe8, 0x1b, 0xc9, 0xc6, 0x47, 0x01,
+ 0x4d, 0xc6, 0x47, 0x02, 0x4e, 0xe8, 0xeb, 0x37,
+ 0xe8, 0xcd, 0x34, 0xbb, 0x47, 0x33, 0xc7, 0x47,
+ 0x04, 0x11, 0x03, 0xc7, 0x47, 0x06, 0x12, 0x03,
+ 0xb0, 0x03, 0xe8, 0x75, 0xa3, 0xbb, 0x47, 0x33,
+ 0xc7, 0x07, 0xff, 0xff, 0xe8, 0xa7, 0x33, 0xc7,
+ 0x06, 0xaf, 0x64, 0x70, 0x00, 0xc6, 0x06, 0xdc,
+ 0x1c, 0x02, 0xe8, 0xe3, 0xc8, 0xc6, 0x47, 0x03,
+ 0x4f, 0xc6, 0x07, 0x00, 0xe8, 0xb4, 0x37, 0xe8,
+ 0x96, 0x34, 0xe8, 0x5f, 0x37, 0xc7, 0x06, 0x30,
+ 0x32, 0x96, 0x97, 0xc7, 0x06, 0x2e, 0x32, 0x2a,
+ 0x00, 0xc7, 0x06, 0x2c, 0x32, 0x3e, 0x00, 0xe8,
+ 0x4c, 0xb1, 0xe8, 0x93, 0x31, 0xbb, 0x47, 0x33,
+ 0xc7, 0x47, 0x04, 0x13, 0x03, 0xc7, 0x47, 0x06,
+ 0x14, 0x03, 0xb0, 0x03, 0xe8, 0x23, 0xa3, 0xbb,
+ 0x47, 0x33, 0xc7, 0x47, 0x02, 0xff, 0xff, 0xe8,
+ 0x54, 0x33, 0xb9, 0x20, 0x00, 0xb0, 0x02, 0xb4,
+ 0x0c, 0xe8, 0xa9, 0x32, 0xb9, 0x18, 0x00, 0xb0,
+ 0x07, 0xe8, 0xaa, 0x32, 0xbb, 0x47, 0x33, 0xc7,
+ 0x07, 0x15, 0x03, 0xc7, 0x47, 0x06, 0x16, 0x03,
+ 0xb0, 0x01, 0xe8, 0xf5, 0xa2, 0xbb, 0x47, 0x33,
+ 0xe8, 0x2b, 0x33, 0xe8, 0x72, 0xc8, 0xc6, 0x07,
+ 0x50, 0xe8, 0x47, 0x37, 0xe8, 0x29, 0x34, 0xe8,
+ 0xe2, 0xa1, 0xbb, 0x65, 0x56, 0xe8, 0x3d, 0x9a,
+ 0xbb, 0x47, 0x33, 0xc7, 0x47, 0x06, 0x18, 0x03,
+ 0xe8, 0xc9, 0x32, 0xe8, 0x56, 0x33, 0xbe, 0x28,
+ 0x00, 0xbf, 0xab, 0x00, 0xc6, 0x06, 0xc3, 0x64,
+ 0x04, 0xe8, 0x87, 0xbe, 0xc7, 0x06, 0xf3, 0xb4,
+ 0x23, 0x00, 0xe8, 0x3b, 0xc8, 0xc6, 0x47, 0x03,
+ 0x51, 0xb0, 0x0c, 0xe8, 0x23, 0xa2, 0xc7, 0x06,
+ 0xf3, 0xb4, 0x1f, 0x00, 0xb8, 0x2a, 0x01, 0xbb,
+ 0xb1, 0x00, 0xbf, 0x16, 0x01, 0xbe, 0xb1, 0x00,
+ 0xb1, 0x01, 0xb5, 0x04, 0xe8, 0x14, 0x34, 0xc6,
+ 0x06, 0xd9, 0xdb, 0x01, 0xc3, 0xb9, 0x59, 0x00,
+ 0xb0, 0x06, 0xb4, 0x02, 0xe8, 0x1e, 0x32, 0xb9,
+ 0xd2, 0x03, 0xe8, 0x1a, 0xa3, 0xe8, 0xab, 0x33,
+ 0xc7, 0x06, 0xf3, 0xb4, 0x1f, 0x00, 0xb8, 0x2a,
+ 0x01, 0xbb, 0xb1, 0x00, 0xbf, 0x16, 0x01, 0xbe,
+ 0xb1, 0x00, 0xb1, 0x01, 0xb5, 0x04, 0xe8, 0xe2,
+ 0x33, 0xc3, 0x80, 0x3e, 0xd7, 0xdb, 0x01, 0x74,
+ 0x07, 0xbb, 0xcb, 0x52, 0xe8, 0x46, 0x28, 0xc3,
+ 0x80, 0x3e, 0xd8, 0xdb, 0x01, 0x75, 0x07, 0xbb,
+ 0xf6, 0x52, 0xe8, 0x38, 0x28, 0xc3, 0xb9, 0x47,
+ 0x00, 0xb0, 0x04, 0xb4, 0x0c, 0xe8, 0xd5, 0x31,
+ 0xb9, 0x1c, 0x03, 0xe8, 0xe2, 0xa2, 0xb8, 0x01,
+ 0x00, 0xe8, 0x45, 0xb6, 0xe8, 0x59, 0xb6, 0xc6,
+ 0x06, 0xd8, 0xdb, 0x01, 0xc3, 0xe8, 0x98, 0xa0,
+ 0xbb, 0x36, 0xdb, 0xe8, 0x67, 0x99, 0xe8, 0x7c,
+ 0x99, 0xc3, 0xbb, 0x87, 0x5d, 0xe8, 0x05, 0x28,
+ 0xc3, 0xbb, 0x11, 0x55, 0xe8, 0xfe, 0x27, 0xc3,
+ 0xbb, 0x11, 0x55, 0xe8, 0xf7, 0x27, 0xc3, 0xbb,
+ 0x0f, 0x57, 0xe8, 0xf0, 0x27, 0xc3, 0x80, 0x3e,
+ 0xdd, 0xdb, 0x03, 0x75, 0x07, 0xbb, 0xff, 0x55,
+ 0xe8, 0xe2, 0x27, 0xc3, 0xe8, 0xc1, 0x27, 0xc3,
+ 0xfe, 0x06, 0xdb, 0xdb, 0xa0, 0xdb, 0xdb, 0xbb,
+ 0x11, 0x54, 0x3c, 0x01, 0x74, 0x1f, 0xbb, 0x63,
+ 0x54, 0x3c, 0x02, 0x74, 0x18, 0xbb, 0x75, 0x54,
+ 0x3c, 0x03, 0x74, 0x11, 0xbb, 0x84, 0x54, 0x3c,
+ 0x04, 0x74, 0x0a, 0xbb, 0xc4, 0x54, 0x3c, 0x05,
+ 0x74, 0x03, 0xbb, 0xd5, 0x54, 0xe8, 0xad, 0x27,
+ 0xc3, 0x80, 0x3e, 0xe6, 0xdb, 0x01, 0x75, 0x07,
+ 0xbb, 0x27, 0x58, 0xe8, 0x9f, 0x27, 0xc3, 0xe8,
+ 0x7e, 0x27, 0xc3, 0x80, 0x3e, 0xe8, 0xdb, 0x01,
+ 0x74, 0x04, 0xe8, 0x73, 0x27, 0xc3, 0xbb, 0xb0,
+ 0x58, 0xe8, 0x89, 0x27, 0xc3, 0xc3, 0x80, 0x3e,
+ 0xa1, 0xdb, 0x01, 0x74, 0x07, 0xbb, 0x94, 0x36,
+ 0xe8, 0x7a, 0x27, 0xc3, 0xe8, 0x59, 0x27, 0xc3,
+ 0xe8, 0xe2, 0xd7, 0xe8, 0x52, 0x27, 0xc3, 0xe8,
+ 0x94, 0xdc, 0xe8, 0x4b, 0x27, 0xc3, 0xe8, 0x8d,
+ 0xdc, 0xe8, 0x44, 0x27, 0xc3, 0x80, 0x3e, 0x95,
+ 0xdb, 0x01, 0x75, 0x07, 0xbb, 0x75, 0x3e, 0xe8,
+ 0x53, 0x27, 0xc3, 0xe8, 0x32, 0x27, 0xc3, 0x80,
+ 0x3e, 0x94, 0xdb, 0x01, 0x75, 0x07, 0xbb, 0x4f,
+ 0x3e, 0xe8, 0x41, 0x27, 0xc3, 0xe8, 0x20, 0x27,
+ 0xc3, 0x80, 0x3e, 0xa5, 0xdb, 0x01, 0x75, 0x07,
+ 0xbb, 0x98, 0x3e, 0xe8, 0x2f, 0x27, 0xc3, 0xe8,
+ 0x0e, 0x27, 0xc3, 0xbe, 0xf5, 0x00, 0xbf, 0xc6,
+ 0x00, 0xc6, 0x06, 0xc3, 0x64, 0x01, 0xe8, 0xf2,
+ 0xbc, 0x80, 0x3e, 0xaf, 0xdb, 0x01, 0x74, 0x0c,
+ 0xbb, 0x93, 0x21, 0xe8, 0x7f, 0x98, 0xc6, 0x06,
+ 0xaf, 0xdb, 0x01, 0xc3, 0xe8, 0xe9, 0x26, 0xc3,
+ 0x80, 0x3e, 0xb1, 0xdb, 0x01, 0x75, 0x07, 0xbb,
+ 0xaf, 0x3d, 0xe8, 0xf8, 0x26, 0xc3, 0xe8, 0xd7,
+ 0x26, 0xc3, 0xe8, 0x50, 0xe7, 0xc3, 0x80, 0x3e,
+ 0xa4, 0xdb, 0x01, 0x74, 0x04, 0xe8, 0x45, 0xe7,
+ 0xc3, 0xe8, 0xc4, 0x26, 0xc3, 0x80, 0x3e, 0xa4,
+ 0xdb, 0x01, 0x74, 0x07, 0xbb, 0x32, 0x38, 0xe8,
+ 0xd3, 0x26, 0xc3, 0xe8, 0xb2, 0x26, 0xc3, 0x80,
+ 0x3e, 0xa4, 0xdb, 0x01, 0x74, 0x04, 0xe8, 0x6d,
+ 0xe8, 0xc3, 0xe8, 0xa3, 0x26, 0xc3, 0x80, 0x3e,
+ 0xa4, 0xdb, 0x01, 0x74, 0x04, 0xe8, 0x5e, 0xe8,
+ 0xc3, 0xe8, 0x94, 0x26, 0xc3, 0x80, 0x3e, 0xa4,
+ 0xdb, 0x01, 0x74, 0x04, 0xe8, 0x4f, 0xe8, 0xc3,
+ 0xe8, 0x85, 0x26, 0xc3, 0x80, 0x3e, 0xa4, 0xdb,
+ 0x01, 0x74, 0x04, 0xe8, 0x40, 0xe8, 0xc3, 0xe8,
+ 0x76, 0x26, 0xc3, 0x80, 0x3e, 0xa4, 0xdb, 0x01,
+ 0x74, 0x04, 0xe8, 0x31, 0xe8, 0xc3, 0xe8, 0x67,
+ 0x26, 0xc3, 0x80, 0x3e, 0x9d, 0xdb, 0x01, 0x75,
+ 0x07, 0xbb, 0x90, 0x35, 0xe8, 0x76, 0x26, 0xc3,
+ 0xe8, 0x55, 0x26, 0xc3, 0xe8, 0x62, 0xee, 0xe8,
+ 0x4e, 0x26, 0xc3, 0xa0, 0xc1, 0xdb, 0x98, 0x48,
+ 0xd1, 0xe0, 0xbb, 0x3c, 0x5f, 0x03, 0xd8, 0x8b,
+ 0x1f, 0xe8, 0x59, 0x26, 0xc3, 0x80, 0x3e, 0xb7,
+ 0xdb, 0x01, 0x74, 0x04, 0xe8, 0x31, 0x26, 0xc3,
+ 0xbb, 0x6c, 0x4b, 0xe8, 0x47, 0x26, 0xc3, 0x80,
+ 0x3e, 0xb8, 0xdb, 0x01, 0x74, 0x04, 0xe8, 0x1f,
+ 0x26, 0xc3, 0x80, 0x3e, 0xbf, 0xdb, 0x01, 0x74,
+ 0x21, 0xbb, 0x32, 0x4c, 0xe8, 0x2e, 0x26, 0xb9,
+ 0x05, 0x00, 0xb0, 0x0b, 0xb4, 0x07, 0xe8, 0xcc,
+ 0x2f, 0xb9, 0xb2, 0x02, 0xe8, 0xd9, 0xa0, 0xb0,
+ 0x35, 0xe8, 0xfc, 0xac, 0xc6, 0x06, 0xbf, 0xdb,
+ 0x01, 0xc3, 0xbb, 0x87, 0x4b, 0xe8, 0x0d, 0x26,
+ 0xc3, 0x80, 0x3e, 0xb9, 0xdb, 0x01, 0x74, 0x04,
+ 0xe8, 0xe5, 0x25, 0xc3, 0xbb, 0xa1, 0x4b, 0xe8,
+ 0xfb, 0x25, 0xc3, 0x80, 0x3e, 0xba, 0xdb, 0x01,
+ 0x74, 0x04, 0xe8, 0xd3, 0x25, 0xc3, 0xbb, 0xbc,
+ 0x4b, 0xe8, 0xe9, 0x25, 0xc3, 0x80, 0x3e, 0xbb,
+ 0xdb, 0x01, 0x74, 0x04, 0xe8, 0xc1, 0x25, 0xc3,
+ 0xbb, 0xd8, 0x4b, 0xe8, 0xd7, 0x25, 0xc3, 0x80,
+ 0x3e, 0xbc, 0xdb, 0x01, 0x74, 0x04, 0xe8, 0xaf,
+ 0x25, 0xc3, 0x80, 0x3e, 0xbe, 0xdb, 0x01, 0x74,
+ 0x21, 0xbb, 0x0f, 0x4c, 0xe8, 0xbe, 0x25, 0xb9,
+ 0x05, 0x00, 0xb0, 0x0c, 0xb4, 0x07, 0xe8, 0x5c,
+ 0x2f, 0xb9, 0xb1, 0x02, 0xe8, 0x69, 0xa0, 0xb0,
+ 0x34, 0xe8, 0x8c, 0xac, 0xc6, 0x06, 0xbe, 0xdb,
+ 0x01, 0xc3, 0xbb, 0xf4, 0x4b, 0xe8, 0x9d, 0x25,
+ 0xc3, 0x80, 0x3e, 0xb6, 0xdb, 0x01, 0x74, 0x0c,
+ 0xbb, 0xd0, 0x37, 0xe8, 0xff, 0x96, 0xc6, 0x06,
+ 0xb6, 0xdb, 0x01, 0xc3, 0xe8, 0x69, 0x25, 0xc3,
+ 0xe8, 0x0d, 0xf6, 0xe8, 0x62, 0x25, 0xc3, 0xe8,
+ 0x06, 0xf6, 0xe8, 0x5b, 0x25, 0xc3, 0x80, 0x3e,
+ 0xcd, 0xdb, 0x01, 0x74, 0x04, 0xe8, 0x50, 0x25,
+ 0xc3, 0xbb, 0x69, 0x4f, 0xe8, 0x66, 0x25, 0xc3,
+ 0xe8, 0xed, 0xf5, 0xe8, 0x42, 0x25, 0xc3, 0x80,
+ 0x3e, 0xd0, 0xdb, 0x01, 0x74, 0x04, 0xe8, 0x37,
+ 0x25, 0xc3, 0xbb, 0x82, 0x50, 0xe8, 0x4d, 0x25,
+ 0xc3, 0xa0, 0xd6, 0xdb, 0x3c, 0x01, 0x74, 0x08,
+ 0x3c, 0x02, 0x74, 0x0b, 0xe8, 0x21, 0x25, 0xc3,
+ 0xbb, 0xf8, 0x51, 0xe8, 0x37, 0x25, 0xc3, 0xbb,
+ 0x8d, 0x53, 0xe8, 0x30, 0x25, 0xc3, 0xe8, 0x2e,
+ 0xa0, 0xe8, 0xbc, 0xc4, 0xc6, 0x07, 0x00, 0xe8,
+ 0x42, 0x33, 0xb9, 0x05, 0x00, 0xb0, 0x02, 0xb4,
+ 0x0c, 0xe8, 0xc1, 0x2e, 0xb9, 0x33, 0x00, 0xb0,
+ 0x0b, 0xe8, 0xc2, 0x2e, 0xb0, 0x17, 0xe8, 0xc4,
+ 0x2e, 0xb9, 0x45, 0x03, 0xe8, 0xa3, 0x9f, 0xb9,
+ 0x33, 0x00, 0xb0, 0x03, 0xb4, 0x0d, 0xe8, 0xa4,
+ 0x2e, 0xb0, 0x13, 0xe8, 0xa8, 0x2e, 0xb9, 0x17,
+ 0x00, 0xb0, 0x1a, 0xe8, 0xa7, 0x2e, 0xb9, 0x46,
+ 0x03, 0xe8, 0x86, 0x9f, 0xe8, 0x79, 0xc4, 0xc6,
+ 0x07, 0x60, 0xe8, 0xbb, 0x32, 0xc7, 0x06, 0xaf,
+ 0x64, 0x19, 0x01, 0xe8, 0xae, 0x9f, 0xb0, 0x04,
+ 0xe8, 0x62, 0x9e, 0xc6, 0x06, 0xe1, 0xdb, 0x01,
+ 0xc3, 0x80, 0x3e, 0xe1, 0xdb, 0x01, 0x74, 0x07,
+ 0xbb, 0xda, 0x56, 0xe8, 0xbf, 0x24, 0xc3, 0xb9,
+ 0x4c, 0x03, 0xe8, 0x52, 0x9f, 0xe8, 0x48, 0xc4,
+ 0xc6, 0x47, 0x01, 0x00, 0x53, 0xe8, 0x88, 0x32,
+ 0xb9, 0x05, 0x00, 0xb0, 0x05, 0xb4, 0x0a, 0xe8,
+ 0x4b, 0x2e, 0xb9, 0x1a, 0x00, 0xb0, 0x13, 0xe8,
+ 0x4c, 0x2e, 0xb9, 0x18, 0x00, 0xb0, 0x19, 0xe8,
+ 0x4b, 0x2e, 0xb9, 0x4f, 0x03, 0xe8, 0x2a, 0x9f,
+ 0xb9, 0x05, 0x00, 0xb0, 0x0b, 0xb4, 0x09, 0xe8,
+ 0x2b, 0x2e, 0xb9, 0x50, 0x03, 0xe8, 0x1a, 0x9f,
+ 0x5b, 0xc6, 0x47, 0x01, 0x64, 0xe8, 0x50, 0x32,
+ 0xb9, 0x4d, 0x03, 0xe8, 0x31, 0x9f, 0xb0, 0x03,
+ 0xe8, 0xfa, 0x9d, 0xb0, 0x52, 0xe8, 0x48, 0xab,
+ 0xb0, 0x51, 0xe8, 0x53, 0xab, 0xc3, 0xbb, 0x54,
+ 0x5e, 0xe8, 0x59, 0x24, 0xc3, 0xb9, 0x4c, 0x00,
+ 0xb0, 0x12, 0xb4, 0x08, 0xe8, 0xf6, 0x2d, 0xb0,
+ 0x16, 0xe8, 0xfa, 0x2d, 0xb0, 0x1a, 0xe8, 0xfc,
+ 0x2d, 0xb0, 0x1e, 0xe8, 0xfe, 0x2d, 0xb0, 0x22,
+ 0xe8, 0x00, 0x2e, 0xb0, 0x2f, 0xe8, 0x02, 0x2e,
+ 0xb0, 0x33, 0xe8, 0x04, 0x2e, 0xb0, 0x37, 0xe8,
+ 0x06, 0x2e, 0xb0, 0x3b, 0xe8, 0x08, 0x2e, 0xb0,
+ 0x3f, 0xe8, 0x0a, 0x2e, 0xb9, 0x69, 0x03, 0xe8,
+ 0xd6, 0x9e, 0xbe, 0xf0, 0x00, 0xbf, 0xa3, 0x00,
+ 0xc6, 0x06, 0xc3, 0x64, 0x04, 0xe8, 0xe3, 0xb9,
+ 0xbb, 0x37, 0x58, 0xe8, 0x07, 0x24, 0xb4, 0x01,
+ 0xb0, 0x22, 0xe8, 0xb9, 0xa2, 0xb9, 0x4d, 0x00,
+ 0xb0, 0x02, 0xb4, 0x08, 0xe8, 0x9e, 0x2d, 0xb0,
+ 0x0c, 0xe8, 0xa2, 0x2d, 0xb0, 0x10, 0xe8, 0xa4,
+ 0x2d, 0xb0, 0x14, 0xe8, 0xa6, 0x2d, 0xb0, 0x22,
+ 0xe8, 0xa8, 0x2d, 0xb9, 0x4e, 0x00, 0xb0, 0x29,
+ 0xe8, 0xa7, 0x2d, 0xb0, 0x33, 0xe8, 0xa9, 0x2d,
+ 0xb9, 0x38, 0x00, 0xb0, 0x3f, 0xe8, 0xa8, 0x2d,
+ 0xb9, 0x18, 0x00, 0xb0, 0x43, 0xe8, 0xa7, 0x2d,
+ 0xb9, 0x17, 0x00, 0xb0, 0x4c, 0xe8, 0xa6, 0x2d,
+ 0xbb, 0x47, 0x33, 0xc7, 0x07, 0x6a, 0x03, 0xb0,
+ 0x01, 0xe8, 0x7c, 0x9d, 0xe8, 0x45, 0x2e, 0xe8,
+ 0x3e, 0xc3, 0xc6, 0x07, 0x68, 0xe8, 0xc4, 0x31,
+ 0xb8, 0x01, 0x00, 0xe8, 0xc3, 0xb1, 0xe8, 0xd7,
+ 0xb1, 0xb0, 0x5b, 0xe8, 0x8a, 0xaa, 0xb0, 0x06,
+ 0xe8, 0x16, 0x9d, 0xb0, 0x01, 0xe8, 0x1d, 0x9d,
+ 0xc3, 0xbb, 0xbe, 0x5e, 0xe8, 0x86, 0x23, 0xc3,
+ 0xbb, 0xbe, 0x5e, 0xe8, 0x7f, 0x23, 0xc3, 0xbb,
+ 0xe6, 0x5e, 0xe8, 0x78, 0x23, 0xc3, 0xbb, 0x11,
+ 0x5f, 0xe8, 0x71, 0x23, 0xc3, 0xb9, 0x05, 0x00,
+ 0xb0, 0x02, 0xb4, 0x07, 0xe8, 0x0e, 0x2d, 0xb9,
+ 0x13, 0x00, 0xb0, 0x0b, 0xe8, 0x0f, 0x2d, 0xb9,
+ 0x48, 0x03, 0xe8, 0x02, 0x9e, 0xe8, 0xe8, 0xc2,
+ 0xc6, 0x47, 0x01, 0x61, 0xe8, 0x29, 0x31, 0xe8,
+ 0x22, 0x9e, 0xb0, 0x50, 0xe8, 0x39, 0xaa, 0xb0,
+ 0x02, 0xe8, 0xd1, 0x9c, 0xb0, 0x07, 0xe8, 0xc0,
+ 0x9c, 0xc3, 0x80, 0x3e, 0xdf, 0xdb, 0x01, 0x76,
+ 0x07, 0xbb, 0xf6, 0x52, 0xe8, 0x2e, 0x23, 0xc3,
+ 0xb9, 0x05, 0x00, 0xb0, 0x02, 0xb4, 0x0c, 0xe8,
+ 0xcb, 0x2c, 0xb9, 0x39, 0x00, 0xb0, 0x0c, 0xe8,
+ 0xcc, 0x2c, 0xb9, 0x46, 0x00, 0xb0, 0x13, 0xe8,
+ 0xcb, 0x2c, 0xb9, 0x3c, 0x03, 0xe8, 0xa7, 0x9d,
+ 0xe8, 0x48, 0x2e, 0xc7, 0x06, 0xaf, 0x64, 0x06,
+ 0x01, 0xc7, 0x06, 0xb1, 0x64, 0xa0, 0x00, 0xc6,
+ 0x06, 0xcc, 0x64, 0x01, 0xc6, 0x06, 0xcd, 0x64,
+ 0x00, 0xc6, 0x06, 0xcb, 0x64, 0x01, 0xe8, 0x10,
+ 0xc1, 0xb0, 0x04, 0xe8, 0x77, 0x9c, 0xb0, 0x03,
+ 0xe8, 0x72, 0x9c, 0xe8, 0x72, 0xc2, 0xc6, 0x07,
+ 0x00, 0xc6, 0x47, 0x02, 0x00, 0xc6, 0x47, 0x03,
+ 0x00, 0xc6, 0x47, 0x01, 0x55, 0xbb, 0x47, 0x33,
+ 0xc7, 0x07, 0x3d, 0x03, 0xc7, 0x06, 0xf3, 0xb4,
+ 0x05, 0x00, 0xe8, 0x53, 0xc2, 0xc6, 0x07, 0x5c,
+ 0xe8, 0x7a, 0x2f, 0xe8, 0x4a, 0xc2, 0xc6, 0x07,
+ 0x00, 0xb8, 0xc8, 0x00, 0xe8, 0x93, 0xa1, 0xc6,
+ 0x06, 0x45, 0x33, 0xd0, 0xb0, 0x01, 0xbe, 0x3e,
+ 0x03, 0xbb, 0xa5, 0x63, 0xe8, 0x40, 0x98, 0xb9,
+ 0x04, 0x00, 0xe8, 0x8e, 0x33, 0xbb, 0x47, 0x33,
+ 0xc7, 0x07, 0x3f, 0x03, 0xc7, 0x06, 0xf3, 0xb4,
+ 0x07, 0x00, 0xe8, 0x3f, 0x2f, 0xc7, 0x06, 0xaf,
+ 0x64, 0x82, 0x00, 0xc7, 0x06, 0xb1, 0x64, 0xc3,
+ 0x00, 0xc6, 0x06, 0xdc, 0x1c, 0x02, 0xe8, 0x95,
+ 0xaa, 0xe8, 0x71, 0xa1, 0xe8, 0x92, 0x99, 0xbb,
+ 0x06, 0x64, 0xe8, 0xd8, 0x93, 0xbb, 0x47, 0x33,
+ 0xc7, 0x07, 0x3f, 0x03, 0xb0, 0x01, 0xe8, 0x2e,
+ 0x9c, 0xe8, 0xf0, 0x2c, 0xc6, 0x06, 0xdf, 0xdb,
+ 0x02, 0xc3, 0x80, 0x3e, 0xe0, 0xdb, 0x01, 0x75,
+ 0x07, 0xbb, 0x32, 0x56, 0xe8, 0x46, 0x22, 0xc3,
+ 0xb9, 0x05, 0x00, 0xb0, 0x06, 0xb4, 0x05, 0xe8,
+ 0xe3, 0x2b, 0xb9, 0x1b, 0x00, 0xb0, 0x31, 0xe8,
+ 0xe4, 0x2b, 0xbb, 0x47, 0x33, 0xc7, 0x07, 0x43,
+ 0x03, 0xb9, 0x42, 0x03, 0xe8, 0xc0, 0x9c, 0xe8,
+ 0xb6, 0xc1, 0xc6, 0x07, 0x5e, 0xe8, 0xf8, 0x2f,
+ 0xe8, 0xf1, 0x9c, 0xe8, 0x3b, 0x99, 0xbb, 0xe9,
+ 0x65, 0xe8, 0x81, 0x93, 0xb0, 0x0c, 0xe8, 0x90,
+ 0x9b, 0xc6, 0x06, 0xe0, 0xdb, 0x01, 0xc3, 0xe8,
+ 0x32, 0x99, 0xbb, 0xc0, 0x66, 0xe8, 0x6d, 0x93,
+ 0xb9, 0x05, 0x00, 0xb0, 0x03, 0xb4, 0x03, 0xe8,
+ 0x9b, 0x2b, 0xb9, 0x54, 0x03, 0xe8, 0x8a, 0x9c,
+ 0xe8, 0x28, 0x2d, 0xc6, 0x06, 0xdc, 0x1c, 0x01,
+ 0xbb, 0x47, 0x33, 0xc7, 0x07, 0x55, 0x03, 0xb0,
+ 0x01, 0xe8, 0xab, 0x9b, 0xe8, 0x6d, 0x2c, 0xa0,
+ 0xac, 0x64, 0x50, 0xc6, 0x06, 0xac, 0x64, 0x04,
+ 0xe8, 0x10, 0x8d, 0xbb, 0x42, 0x57, 0xbe, 0x13,
+ 0x8c, 0xe8, 0x6a, 0x24, 0xbb, 0x57, 0x57, 0xbe,
+ 0x12, 0x8c, 0xe8, 0x61, 0x24, 0xbb, 0x70, 0x57,
+ 0xbe, 0x1d, 0x8c, 0xe8, 0x58, 0x24, 0xbb, 0x82,
+ 0x57, 0xbe, 0x0f, 0x8c, 0xe8, 0x4f, 0x24, 0xbb,
+ 0x99, 0x57, 0xbe, 0x07, 0x8c, 0xe8, 0x46, 0x24,
+ 0xbb, 0x47, 0x33, 0xc7, 0x07, 0x58, 0x03, 0xb0,
+ 0x01, 0xe8, 0x63, 0x9b, 0xb9, 0x05, 0x00, 0xb0,
+ 0x03, 0xb4, 0x03, 0xe8, 0x2f, 0x2b, 0xb9, 0x56,
+ 0x03, 0xe8, 0x1e, 0x9c, 0xe8, 0xbc, 0x2c, 0x58,
+ 0xa2, 0xac, 0x64, 0xe8, 0xbd, 0x8c, 0xe8, 0xa3,
+ 0x98, 0xbb, 0xfe, 0x66, 0xe8, 0xde, 0x92, 0xbb,
+ 0x47, 0x33, 0xc7, 0x07, 0x57, 0x03, 0xb0, 0x01,
+ 0xe8, 0x34, 0x9b, 0xb8, 0xc8, 0x00, 0xe8, 0x41,
+ 0xa0, 0xbe, 0x1e, 0x00, 0xbf, 0xb5, 0x00, 0xe8,
+ 0x29, 0xb7, 0xe8, 0x99, 0x2b, 0xb0, 0x01, 0xe8,
+ 0xdb, 0x9a, 0xb8, 0x01, 0x00, 0xe8, 0x69, 0xaf,
+ 0xc6, 0x06, 0xdf, 0xdb, 0x03, 0xc6, 0x06, 0xf0,
+ 0xdb, 0x01, 0xc6, 0x06, 0xdc, 0x1c, 0x02, 0xe8,
+ 0x79, 0xc4, 0xc3, 0x80, 0x3e, 0xdf, 0xdb, 0x03,
+ 0x74, 0x07, 0xbb, 0xe2, 0x5d, 0xe8, 0x25, 0x21,
+ 0xc3, 0xb9, 0x05, 0x00, 0xb0, 0x03, 0xb4, 0x09,
+ 0xe8, 0xc2, 0x2a, 0xb9, 0x3a, 0x00, 0xb0, 0x0b,
+ 0xe8, 0xc3, 0x2a, 0xb9, 0x2e, 0x00, 0xb0, 0x38,
+ 0xe8, 0xc2, 0x2a, 0xb0, 0x55, 0xe8, 0xc4, 0x2a,
+ 0xb0, 0x75, 0xe8, 0xc6, 0x2a, 0xb9, 0x66, 0x03,
+ 0xe8, 0x94, 0x9b, 0xb9, 0x36, 0x00, 0xb0, 0x0f,
+ 0xb4, 0x09, 0xe8, 0x98, 0x2a, 0xb9, 0x67, 0x03,
+ 0xe8, 0x87, 0x9b, 0xe8, 0x25, 0x2c, 0xc6, 0x06,
+ 0xe6, 0xdb, 0x01, 0xe8, 0x72, 0xc0, 0xc6, 0x47,
+ 0x01, 0x66, 0xe8, 0xf7, 0x2e, 0xb8, 0x32, 0x00,
+ 0xe8, 0xd9, 0x9f, 0xc7, 0x06, 0xaf, 0x64, 0xe0,
+ 0x00, 0xc7, 0x06, 0xb1, 0x64, 0xc2, 0x00, 0xc6,
+ 0x06, 0xcc, 0x64, 0x00, 0xc6, 0x06, 0xdc, 0x64,
+ 0x01, 0xc6, 0x06, 0xcb, 0x64, 0x00, 0xe8, 0xd8,
+ 0xbe, 0xc6, 0x06, 0xdc, 0x1c, 0x03, 0xe8, 0xcd,
+ 0xa8, 0xbe, 0xd7, 0x76, 0xbb, 0xdf, 0x57, 0xc6,
+ 0x06, 0xdc, 0x1c, 0x02, 0xe8, 0x5e, 0x1c, 0xb0,
+ 0x59, 0xe8, 0x8c, 0xa7, 0xc3, 0xb9, 0x05, 0x00,
+ 0xb0, 0x03, 0xb4, 0x06, 0xe8, 0x36, 0x2a, 0xb9,
+ 0x6c, 0x03, 0xe8, 0x32, 0x9b, 0xe8, 0xc3, 0x2b,
+ 0xe8, 0x15, 0xc0, 0xc6, 0x47, 0x01, 0x00, 0xe8,
+ 0x9a, 0x2e, 0xb9, 0x1a, 0x00, 0xb0, 0x07, 0xb4,
+ 0x04, 0xe8, 0x19, 0x2a, 0xb9, 0x4f, 0x00, 0xb0,
+ 0x0f, 0xe8, 0x1a, 0x2a, 0xbb, 0x47, 0x33, 0xc7,
+ 0x47, 0x02, 0x6d, 0x03, 0xb0, 0x02, 0xe8, 0x27,
+ 0x9a, 0xbb, 0x47, 0x33, 0xc7, 0x47, 0x02, 0x70,
+ 0x03, 0xb0, 0x02, 0xe8, 0x21, 0x9a, 0xe8, 0xe3,
+ 0x2a, 0xe8, 0x04, 0x97, 0xbb, 0x0e, 0x6f, 0xe8,
+ 0xb3, 0x91, 0xe8, 0xd3, 0xbf, 0xc6, 0x47, 0x02,
+ 0x6a, 0xe8, 0x58, 0x2e, 0xbb, 0x47, 0x33, 0xc7,
+ 0x07, 0x6e, 0x03, 0xb0, 0x01, 0xe8, 0xf8, 0x99,
+ 0xbb, 0x47, 0x33, 0xc7, 0x07, 0x6f, 0x03, 0xb0,
+ 0x01, 0xe8, 0xf3, 0x99, 0xe8, 0xb5, 0x2a, 0xb0,
+ 0x5c, 0xe8, 0x0c, 0xa7, 0xb0, 0x01, 0xe8, 0x98,
+ 0x99, 0xc6, 0x06, 0xe7, 0xdb, 0x01, 0xc3, 0xb9,
+ 0x20, 0x00, 0xb0, 0x05, 0xb4, 0x0a, 0xe8, 0xac,
+ 0x29, 0xb9, 0x05, 0x00, 0xb0, 0x11, 0xe8, 0xad,
+ 0x29, 0xb9, 0x34, 0x00, 0xb0, 0x17, 0xe8, 0xac,
+ 0x29, 0xb9, 0x71, 0x03, 0xe8, 0x88, 0x9a, 0xe8,
+ 0x7e, 0xbf, 0xc6, 0x47, 0x02, 0x6b, 0xe8, 0xbf,
+ 0x2d, 0xe8, 0xb8, 0x9a, 0xb0, 0x56, 0xe8, 0xcf,
+ 0xa6, 0xb0, 0x55, 0xe8, 0xba, 0xa6, 0xc6, 0x06,
+ 0xe8, 0xdb, 0x01, 0xc3, 0xbb, 0x8f, 0x5e, 0xe8,
+ 0xcb, 0x1f, 0xc3, 0x80, 0x3e, 0xda, 0xdb, 0x01,
+ 0x75, 0x07, 0xbb, 0xf2, 0x53, 0xe8, 0xbd, 0x1f,
+ 0xc3, 0xbb, 0xdd, 0x53, 0xe8, 0xb6, 0x1f, 0xb9,
+ 0x05, 0x00, 0xb0, 0x02, 0xb4, 0x07, 0xe8, 0x54,
+ 0x29, 0xb0, 0x12, 0xe8, 0x58, 0x29, 0xb9, 0x2a,
+ 0x03, 0xe8, 0x5c, 0x9a, 0xe8, 0xe3, 0x96, 0xbb,
+ 0xbf, 0x60, 0xe8, 0x08, 0x91, 0xc6, 0x06, 0xda,
+ 0xdb, 0x01, 0xc3, 0xe8, 0xd4, 0x96, 0xbb, 0x11,
+ 0x68, 0xe8, 0xf9, 0x90, 0xb9, 0x05, 0x00, 0xb0,
+ 0x03, 0xb4, 0x05, 0xe8, 0x27, 0x29, 0xb0, 0x1e,
+ 0xe8, 0x32, 0x29, 0xb9, 0x1a, 0x00, 0xb0, 0x0e,
+ 0xe8, 0x23, 0x29, 0xbb, 0x47, 0x33, 0xc7, 0x07,
+ 0x53, 0x03, 0xb9, 0x51, 0x03, 0xe8, 0x02, 0x9a,
+ 0xe8, 0xa0, 0x2a, 0xbb, 0x47, 0x33, 0xc7, 0x07,
+ 0x52, 0x03, 0xb0, 0x01, 0xe8, 0x28, 0x99, 0xe8,
+ 0xea, 0x29, 0xb0, 0x53, 0xe8, 0x31, 0xa6, 0xb0,
+ 0x52, 0xe8, 0x3c, 0xa6, 0xb0, 0x01, 0xe8, 0xc8,
+ 0x98, 0xc6, 0x06, 0xe2, 0xdb, 0x01, 0xc3, 0xe8,
+ 0x0c, 0x97, 0xbb, 0x41, 0x0a, 0xe8, 0xa5, 0x90,
+ 0xb9, 0x05, 0x00, 0xb0, 0x02, 0xb4, 0x0a, 0xe8,
+ 0xd3, 0x28, 0xb0, 0x2c, 0xe8, 0xd7, 0x28, 0xbb,
+ 0x47, 0x33, 0xc7, 0x07, 0x82, 0x02, 0xb9, 0x81,
+ 0x02, 0xe8, 0xd4, 0x99, 0xe8, 0xe7, 0x96, 0xbb,
+ 0xff, 0x0a, 0xe8, 0x80, 0x90, 0xb8, 0xaa, 0x00,
+ 0xe8, 0xef, 0x9d, 0xe8, 0xd8, 0x96, 0xbb, 0xa0,
+ 0x0b, 0xe8, 0x71, 0x90, 0x8b, 0x36, 0xaf, 0x64,
+ 0xbb, 0xb1, 0x64, 0x8b, 0x3f, 0xff, 0x0f, 0xe8,
+ 0xc9, 0xb4, 0xe8, 0xf0, 0x9d, 0xbb, 0x10, 0x0c,
+ 0xe8, 0x5a, 0x90, 0xb0, 0x32, 0xe8, 0xd8, 0xa5,
+ 0xe8, 0xd2, 0x1b, 0xc3, 0xe8, 0xe0, 0x99, 0xe8,
+ 0x6e, 0xbe, 0xc6, 0x07, 0x00, 0x53, 0xe8, 0xf3,
+ 0x2c, 0xb9, 0x05, 0x00, 0xb0, 0x02, 0xb4, 0x09,
+ 0xe8, 0x72, 0x28, 0xb0, 0x05, 0xe8, 0x76, 0x28,
+ 0xb0, 0x09, 0xe8, 0x78, 0x28, 0xb9, 0x0e, 0x00,
+ 0xb0, 0x13, 0xe8, 0x77, 0x28, 0xb9, 0x05, 0x00,
+ 0xb0, 0x32, 0xe8, 0x76, 0x28, 0xb9, 0x1e, 0x02,
+ 0xe8, 0x47, 0x99, 0x5b, 0xb0, 0x0f, 0x88, 0x47,
+ 0x01, 0xe8, 0x6d, 0x2d, 0xb0, 0x03, 0xe8, 0x2c,
+ 0x98, 0xb0, 0x09, 0xe8, 0x1b, 0x98, 0xe8, 0x6b,
+ 0x99, 0xc3, 0xb9, 0x38, 0x00, 0xb0, 0x0b, 0xb4,
+ 0x08, 0xe8, 0x31, 0x28, 0xb9, 0x24, 0x00, 0xb0,
+ 0x0d, 0xb4, 0x0c, 0xe8, 0x30, 0x28, 0xb9, 0x30,
+ 0x00, 0xb0, 0x16, 0xb4, 0x0a, 0xe8, 0x2d, 0x28,
+ 0xb9, 0x38, 0x00, 0xb0, 0x39, 0xb4, 0x08, 0xe8,
+ 0x2a, 0x28, 0xb9, 0x24, 0x00, 0xb0, 0x3b, 0xb4,
+ 0x0c, 0xe8, 0x27, 0x28, 0xb9, 0x30, 0x00, 0xb0,
+ 0x44, 0xb4, 0x0a, 0xe8, 0x24, 0x28, 0xb9, 0x36,
+ 0x00, 0xb0, 0x78, 0xb4, 0x08, 0xe8, 0x21, 0x28,
+ 0xb9, 0x38, 0x00, 0xb0, 0x8d, 0xb4, 0x0a, 0xe8,
+ 0x1e, 0x28, 0xb0, 0x90, 0xe8, 0x20, 0x28, 0xb0,
+ 0x93, 0xe8, 0x22, 0x28, 0xbb, 0x47, 0x33, 0xc7,
+ 0x07, 0x4d, 0x02, 0xb9, 0x4c, 0x02, 0xe8, 0xe7,
+ 0x98, 0xe8, 0x22, 0x9d, 0xbb, 0x7f, 0x36, 0xe8,
+ 0x23, 0x1e, 0xb0, 0x22, 0xe8, 0x11, 0xa5, 0xc6,
+ 0x06, 0xa1, 0xdb, 0x01, 0xc3, 0xb9, 0x05, 0x00,
+ 0xb0, 0x03, 0xb4, 0x03, 0xe8, 0xb6, 0x27, 0xb9,
+ 0x41, 0x00, 0xb0, 0x10, 0xe8, 0xb7, 0x27, 0xb0,
+ 0x12, 0xe8, 0xb9, 0x27, 0xb0, 0x14, 0xe8, 0xbb,
+ 0x27, 0xb0, 0x16, 0xe8, 0xbd, 0x27, 0xb0, 0x18,
+ 0xe8, 0xbf, 0x27, 0xb0, 0x1a, 0xe8, 0xc1, 0x27,
+ 0xb0, 0x1c, 0xe8, 0xc3, 0x27, 0xb9, 0x2f, 0x00,
+ 0xb0, 0x21, 0xe8, 0xc2, 0x27, 0xb9, 0x6c, 0x02,
+ 0xe8, 0x74, 0x98, 0xb9, 0x38, 0x00, 0xb0, 0x03,
+ 0xb4, 0x03, 0xe8, 0x78, 0x27, 0xb0, 0x06, 0xe8,
+ 0x7c, 0x27, 0xb0, 0x09, 0xe8, 0x7e, 0x27, 0xb0,
+ 0x0c, 0xe8, 0x80, 0x27, 0xb0, 0x0f, 0xe8, 0x82,
+ 0x27, 0xb0, 0x12, 0xe8, 0x84, 0x27, 0xc6, 0x06,
+ 0xe6, 0x1c, 0xd9, 0xc6, 0x06, 0x35, 0x33, 0x14,
+ 0xc6, 0x06, 0x36, 0x33, 0x25, 0xb8, 0xce, 0x3a,
+ 0xa3, 0x37, 0x33, 0xb8, 0x26, 0x0f, 0xa3, 0x39,
+ 0x33, 0xbb, 0x47, 0x33, 0xc7, 0x07, 0x6f, 0x02,
+ 0xb9, 0x6d, 0x02, 0xe8, 0xa9, 0x98, 0xc6, 0x06,
+ 0x35, 0x33, 0x01, 0xc6, 0x06, 0x36, 0x33, 0x09,
+ 0xb8, 0xe6, 0x3a, 0xa3, 0x37, 0x33, 0xb8, 0x1e,
+ 0x0f, 0xa3, 0x39, 0x33, 0xb9, 0x23, 0x00, 0xb0,
+ 0x01, 0xb4, 0x03, 0xe8, 0x17, 0x27, 0xbb, 0x47,
+ 0x33, 0xc7, 0x07, 0x70, 0x02, 0xb9, 0x6e, 0x02,
+ 0xe8, 0x7c, 0x98, 0xe8, 0x36, 0x98, 0xb8, 0x96,
+ 0x00, 0xe8, 0x3e, 0x9c, 0xbb, 0xfd, 0x3a, 0xe8,
+ 0x53, 0x1d, 0xb0, 0x2b, 0xe8, 0x41, 0xa4, 0xe8,
+ 0x3b, 0x1a, 0xc3, 0xbb, 0xa1, 0x46, 0xe8, 0x44,
+ 0x1d, 0xc3, 0xbb, 0x00, 0x30, 0xe8, 0xad, 0x8e,
+ 0xb9, 0x05, 0x00, 0xb0, 0x18, 0xb4, 0x03, 0xe8,
+ 0xdb, 0x26, 0xb9, 0x1a, 0x00, 0xb0, 0x20, 0xe8,
+ 0xdc, 0x26, 0xb9, 0x05, 0x00, 0xb0, 0x2a, 0xe8,
+ 0xdb, 0x26, 0xb9, 0x0f, 0x00, 0xb0, 0x4d, 0xe8,
+ 0xda, 0x26, 0xb0, 0x4f, 0xe8, 0xdc, 0x26, 0xb0,
+ 0x52, 0xe8, 0xde, 0x26, 0xb9, 0x16, 0x00, 0xb0,
+ 0x5b, 0xe8, 0xdd, 0x26, 0xb9, 0x16, 0x00, 0xb0,
+ 0x66, 0xe8, 0xdc, 0x26, 0xb9, 0x1a, 0x00, 0xb0,
+ 0x72, 0xe8, 0xdb, 0x26, 0xb9, 0x18, 0x00, 0xb0,
+ 0x7c, 0xe8, 0xda, 0x26, 0xb0, 0x1a, 0xb4, 0x01,
+ 0xe8, 0xa3, 0x9b, 0xbb, 0x47, 0x33, 0xc7, 0x07,
+ 0x33, 0x02, 0xb9, 0x32, 0x02, 0xe8, 0xa6, 0x97,
+ 0xb0, 0x06, 0xe8, 0x68, 0x96, 0xb0, 0x01, 0xb4,
+ 0x00, 0xe8, 0xf5, 0xaa, 0xe8, 0x09, 0xab, 0xbb,
+ 0x3f, 0x36, 0xe8, 0xc8, 0x1c, 0xb0, 0x1b, 0xe8,
+ 0xb6, 0xa3, 0xb0, 0x1c, 0xe8, 0xa1, 0xa3, 0xc3,
+ 0xbb, 0x13, 0x49, 0xe8, 0xb7, 0x1c, 0xc3, 0xb0,
+ 0x20, 0xe8, 0xa4, 0xa3, 0xb9, 0x25, 0x00, 0xb0,
+ 0x0e, 0xb4, 0x04, 0xe8, 0x4f, 0x26, 0xb9, 0x10,
+ 0x00, 0xb0, 0x11, 0xb4, 0x09, 0xe8, 0x4e, 0x26,
+ 0xbb, 0x47, 0x33, 0xc7, 0x47, 0x02, 0x35, 0x02,
+ 0xb9, 0x34, 0x02, 0xe8, 0x29, 0x97, 0xe8, 0x1f,
+ 0xbc, 0xc6, 0x07, 0x18, 0xe8, 0x5a, 0x2a, 0xe8,
+ 0xcc, 0x26, 0xb9, 0x27, 0x00, 0xb0, 0x05, 0xb4,
+ 0x00, 0xe8, 0x21, 0x26, 0xb9, 0x46, 0x02, 0xe8,
+ 0x10, 0x97, 0xe8, 0x47, 0x97, 0xbe, 0x3f, 0x00,
+ 0xbf, 0xc3, 0x00, 0xc6, 0x06, 0xc3, 0x64, 0x01,
+ 0xe8, 0x38, 0xb2, 0xbb, 0x47, 0x33, 0xc7, 0x47,
+ 0x02, 0x3b, 0x02, 0xb0, 0x02, 0xe8, 0x20, 0x96,
+ 0xbb, 0x47, 0x33, 0xc7, 0x47, 0x02, 0x3c, 0x02,
+ 0xb0, 0x02, 0xe8, 0x13, 0x96, 0xbb, 0x47, 0x33,
+ 0xc7, 0x47, 0x02, 0x3d, 0x02, 0xb0, 0x02, 0xe8,
+ 0x06, 0x96, 0xb9, 0x28, 0x00, 0xb0, 0x01, 0xb4,
+ 0x08, 0xe8, 0xd9, 0x25, 0xb0, 0x03, 0xe8, 0xdd,
+ 0x25, 0xb0, 0x05, 0xe8, 0xdf, 0x25, 0xb0, 0x07,
+ 0xe8, 0xe1, 0x25, 0xbb, 0x47, 0x33, 0xc7, 0x47,
+ 0x02, 0x3e, 0x02, 0xb0, 0x02, 0xe8, 0xe0, 0x95,
+ 0xb0, 0x01, 0xb4, 0x00, 0xe8, 0x32, 0xaa, 0xe8,
+ 0x46, 0xaa, 0xbb, 0x47, 0x33, 0xc7, 0x47, 0x02,
+ 0x3f, 0x02, 0xb0, 0x02, 0xe8, 0xc9, 0x95, 0xbb,
+ 0x47, 0x33, 0xc7, 0x47, 0x02, 0x40, 0x02, 0xb0,
+ 0x02, 0xe8, 0xbc, 0x95, 0xbb, 0x47, 0x33, 0xc7,
+ 0x47, 0x02, 0x41, 0x02, 0xb0, 0x02, 0xe8, 0xaf,
+ 0x95, 0xbb, 0x47, 0x33, 0xc7, 0x47, 0x02, 0x42,
+ 0x02, 0xb0, 0x02, 0xe8, 0xa2, 0x95, 0xbb, 0x47,
+ 0x33, 0xc7, 0x47, 0x02, 0x43, 0x02, 0xb0, 0x02,
+ 0xe8, 0x95, 0x95, 0xbb, 0x47, 0x33, 0xc7, 0x47,
+ 0x02, 0x44, 0x02, 0xb0, 0x02, 0xe8, 0x88, 0x95,
+ 0xb9, 0x37, 0x00, 0xb0, 0x12, 0xb4, 0x01, 0xe8,
+ 0x5b, 0x25, 0xbb, 0x47, 0x33, 0xc7, 0x47, 0x02,
+ 0x45, 0x02, 0xb0, 0x02, 0xe8, 0x71, 0x95, 0xe8,
+ 0xec, 0x25, 0xc6, 0x06, 0x33, 0x33, 0x01, 0xc6,
+ 0x06, 0xdd, 0x1c, 0x02, 0xb0, 0x02, 0xe8, 0x24,
+ 0x95, 0xc6, 0x06, 0x9f, 0xdb, 0x01, 0xc3, 0xb9,
+ 0x14, 0x00, 0xb0, 0x09, 0xb4, 0x06, 0xe8, 0x2c,
+ 0x25, 0xb9, 0x12, 0x02, 0xe8, 0x18, 0x96, 0xe8,
+ 0xb9, 0x26, 0xc7, 0x06, 0xf3, 0xb4, 0x10, 0x00,
+ 0xc6, 0x06, 0xdc, 0x1c, 0x01, 0xe8, 0x3f, 0x27,
+ 0xb9, 0x13, 0x02, 0xc6, 0x06, 0xdc, 0x1c, 0x01,
+ 0xe8, 0xfc, 0x95, 0xb9, 0x24, 0x00, 0xb0, 0x04,
+ 0xb4, 0x0c, 0xe8, 0x00, 0x25, 0xb9, 0x14, 0x02,
+ 0xe8, 0xef, 0x95, 0xb9, 0x15, 0x02, 0xe8, 0xe9,
+ 0x95, 0xe8, 0xdc, 0xba, 0xb0, 0x09, 0x88, 0x07,
+ 0xe8, 0x0e, 0x2a, 0xc7, 0x06, 0xaf, 0x64, 0xec,
+ 0x00, 0xc7, 0x06, 0xb1, 0x64, 0x5f, 0x00, 0xc6,
+ 0x06, 0xc3, 0x64, 0x01, 0xc6, 0x06, 0xcb, 0x64,
+ 0x01, 0xc6, 0x06, 0xcd, 0x64, 0x00, 0xe8, 0xfb,
+ 0x95, 0xb9, 0x09, 0x00, 0xe8, 0x14, 0x2c, 0xc3,
+ 0xbb, 0x46, 0x67, 0xe8, 0x9c, 0xba, 0x83, 0xc3,
+ 0x03, 0xff, 0x37, 0x53, 0xc7, 0x07, 0x3f, 0x01,
+ 0xbe, 0xec, 0x00, 0xbf, 0xbe, 0x00, 0xe8, 0xda,
+ 0xb0, 0xb9, 0x05, 0x00, 0xb0, 0x04, 0xb4, 0x0b,
+ 0xe8, 0xa2, 0x24, 0xb9, 0x0e, 0x00, 0xb0, 0x0e,
+ 0xe8, 0xa3, 0x24, 0xb0, 0x21, 0xe8, 0xa5, 0x24,
+ 0xb9, 0x05, 0x00, 0xb0, 0x2b, 0xe8, 0xa4, 0x24,
+ 0xe8, 0xe4, 0x95, 0xe8, 0x72, 0xba, 0x53, 0xc6,
+ 0x47, 0x02, 0x00, 0xe8, 0xf6, 0x28, 0xe8, 0x30,
+ 0x00, 0xb9, 0x83, 0x02, 0xe8, 0x6b, 0x95, 0x5b,
+ 0xc6, 0x47, 0x02, 0x2b, 0xe8, 0xa1, 0x28, 0xe8,
+ 0x32, 0x00, 0xe8, 0x97, 0x95, 0xbe, 0xec, 0x00,
+ 0xbf, 0xb3, 0x00, 0xc6, 0x06, 0xc3, 0x64, 0x03,
+ 0xe8, 0x88, 0xb0, 0x5b, 0x8f, 0x07, 0xb0, 0x2c,
+ 0xe8, 0x9d, 0xa1, 0xb0, 0x2e, 0xe8, 0x88, 0xa1,
+ 0xc3, 0x1e, 0xa1, 0xb5, 0x32, 0x8e, 0xd8, 0x33,
+ 0xdb, 0x8a, 0x07, 0xc6, 0x07, 0x00, 0x1f, 0x2e,
+ 0xa2, 0xd5, 0x85, 0xc3, 0x2e, 0xa0, 0xd5, 0x85,
+ 0x1e, 0x8b, 0x1e, 0xb5, 0x32, 0x8e, 0xdb, 0x33,
+ 0xdb, 0x88, 0x07, 0x1f, 0xc3, 0x00, 0xbb, 0xbf,
+ 0x48, 0xe8, 0x79, 0x1a, 0xc3, 0xbb, 0xd6, 0x48,
+ 0xe8, 0x72, 0x1a, 0xc3, 0xbb, 0x5c, 0x49, 0xe8,
+ 0x6b, 0x1a, 0xc3, 0x80, 0x3e, 0xb0, 0xdb, 0x01,
+ 0x74, 0x07, 0xbb, 0x86, 0x3d, 0xe8, 0x5d, 0x1a,
+ 0xc3, 0xb0, 0x06, 0xe8, 0xdb, 0x93, 0xb9, 0x19,
+ 0x00, 0xb0, 0x0a, 0xb4, 0x0a, 0xe8, 0xf5, 0x23,
+ 0xb0, 0x0e, 0xe8, 0xf9, 0x23, 0xb0, 0x12, 0xe8,
+ 0xfb, 0x23, 0xb9, 0x2f, 0x02, 0xe8, 0xe7, 0x94,
+ 0xe8, 0xcd, 0xb9, 0xb0, 0x17, 0x88, 0x47, 0x01,
+ 0xe8, 0xfe, 0x28, 0xe8, 0x06, 0x95, 0xc6, 0x06,
+ 0xb0, 0xdb, 0x02, 0xc3, 0xbb, 0x57, 0x34, 0x80,
+ 0x3e, 0xb0, 0xdb, 0x01, 0x75, 0x03, 0xbb, 0x82,
+ 0x48, 0xe8, 0x19, 0x1a, 0xc3, 0xb9, 0x0c, 0x00,
+ 0xb0, 0x04, 0xb4, 0x08, 0xe8, 0xb6, 0x23, 0xb9,
+ 0x32, 0x00, 0xb0, 0x14, 0xe8, 0xb7, 0x23, 0xb0,
+ 0x1d, 0xe8, 0xb9, 0x23, 0xb9, 0x2a, 0x02, 0xe8,
+ 0xb6, 0x94, 0xb0, 0x13, 0xe8, 0xe9, 0xa0, 0xb0,
+ 0x16, 0xe8, 0xd4, 0xa0, 0xc3, 0xb9, 0x05, 0x00,
+ 0xb0, 0x03, 0xb4, 0x0c, 0xe8, 0x8e, 0x23, 0xb9,
+ 0x38, 0x00, 0xb0, 0x0c, 0xe8, 0x8f, 0x23, 0xb0,
+ 0x0e, 0xe8, 0x91, 0x23, 0xb0, 0x10, 0xe8, 0x93,
+ 0x23, 0xb0, 0x12, 0xe8, 0x95, 0x23, 0xb0, 0x16,
+ 0xe8, 0x97, 0x23, 0xb0, 0x18, 0xe8, 0x99, 0x23,
+ 0xb9, 0x05, 0x00, 0xb0, 0x1c, 0xe8, 0x98, 0x23,
+ 0xb9, 0x37, 0x02, 0xe8, 0x72, 0x94, 0xb0, 0x0c,
+ 0xe8, 0xa5, 0xa0, 0xb0, 0x21, 0xe8, 0x90, 0xa0,
+ 0xc3, 0x80, 0x3e, 0x92, 0xdb, 0x01, 0x75, 0x07,
+ 0xbb, 0x40, 0x3d, 0xe8, 0x9f, 0x19, 0xc3, 0xc6,
+ 0x06, 0x92, 0xdb, 0x01, 0xe8, 0x44, 0x91, 0xbb,
+ 0xcd, 0x0f, 0xe8, 0x00, 0x8b, 0xc6, 0x06, 0xe6,
+ 0x1c, 0xd1, 0xb8, 0x07, 0x01, 0xe8, 0x3e, 0x98,
+ 0xb9, 0x05, 0x00, 0xb0, 0x10, 0xb4, 0x06, 0xe8,
+ 0x23, 0x23, 0xb9, 0x01, 0x00, 0xb0, 0x19, 0xe8,
+ 0x24, 0x23, 0xb0, 0x1d, 0xe8, 0x26, 0x23, 0xb0,
+ 0x22, 0xe8, 0x28, 0x23, 0xc6, 0x06, 0xdc, 0x64,
+ 0x00, 0xbb, 0x47, 0x33, 0xc7, 0x07, 0xfa, 0x01,
+ 0xb9, 0xf8, 0x01, 0xe8, 0xf4, 0x93, 0xe8, 0xe7,
+ 0xb8, 0xc6, 0x07, 0x00, 0xe8, 0x29, 0x27, 0xc7,
+ 0x06, 0x30, 0x32, 0x00, 0x00, 0xc7, 0x06, 0x2e,
+ 0x32, 0x72, 0x00, 0xc7, 0x06, 0x2c, 0x32, 0xae,
+ 0x00, 0xb9, 0x18, 0x00, 0xb0, 0x02, 0xb4, 0x06,
+ 0xe8, 0xda, 0x22, 0xb9, 0x16, 0x00, 0xb0, 0x18,
+ 0xe8, 0xdb, 0x22, 0xb9, 0x01, 0x00, 0xb0, 0x1c,
+ 0xe8, 0xda, 0x22, 0xb0, 0x20, 0xe8, 0xdc, 0x22,
+ 0xb0, 0x25, 0xe8, 0xde, 0x22, 0xb9, 0x05, 0x00,
+ 0xb0, 0x2b, 0xe8, 0xdd, 0x22, 0xb9, 0x3d, 0x00,
+ 0xb0, 0x46, 0xe8, 0xdc, 0x22, 0xb9, 0x3d, 0x00,
+ 0xb0, 0x5b, 0xe8, 0xdb, 0x22, 0xc6, 0x06, 0x35,
+ 0x33, 0x06, 0xc6, 0x06, 0x36, 0x33, 0x11, 0xb8,
+ 0xfb, 0x3c, 0xa3, 0x37, 0x33, 0xb8, 0xcd, 0x70,
+ 0xa3, 0x39, 0x33, 0xbb, 0x47, 0x33, 0xc7, 0x07,
+ 0xfb, 0x01, 0xb9, 0xf9, 0x01, 0xe8, 0xf7, 0x93,
+ 0xe8, 0x6d, 0xb8, 0xb0, 0x04, 0x88, 0x07, 0xe8,
+ 0x9f, 0x27, 0xb8, 0x03, 0x00, 0xe8, 0xbd, 0x1c,
+ 0xb8, 0x14, 0x00, 0x01, 0x47, 0x03, 0x01, 0x47,
+ 0x07, 0xc6, 0x06, 0xcd, 0x64, 0x00, 0xc6, 0x06,
+ 0xcc, 0x64, 0x01, 0xc6, 0x06, 0xcb, 0x64, 0x01,
+ 0xff, 0x06, 0xaf, 0x64, 0xe8, 0xec, 0x23, 0xe8,
+ 0xcf, 0xb6, 0xb9, 0x0a, 0x00, 0xb0, 0x03, 0xb4,
+ 0x02, 0xe8, 0x49, 0x22, 0xbb, 0x47, 0x33, 0xc7,
+ 0x07, 0xf7, 0x01, 0xb0, 0x01, 0xe8, 0x60, 0x92,
+ 0xe8, 0xdb, 0x22, 0xc7, 0x06, 0xf3, 0xb4, 0x16,
+ 0x00, 0xb8, 0x01, 0x00, 0xe8, 0xaa, 0xa6, 0xb0,
+ 0x01, 0xe8, 0x11, 0x92, 0xc7, 0x06, 0xf3, 0xb4,
+ 0x14, 0x00, 0xb0, 0x0d, 0xe8, 0x06, 0x92, 0xb8,
+ 0x01, 0x00, 0xe8, 0x94, 0xa6, 0xe8, 0xa8, 0xa6,
+ 0xb0, 0x01, 0xe8, 0xf8, 0x91, 0xb0, 0x02, 0xe8,
+ 0xf3, 0x91, 0xb0, 0x0e, 0xe8, 0xee, 0x91, 0xb0,
+ 0x0f, 0xe8, 0xe9, 0x91, 0xb0, 0x10, 0xe8, 0xe4,
+ 0x91, 0xe8, 0x41, 0x14, 0xb8, 0x32, 0x00, 0xe8,
+ 0x52, 0x97, 0xe8, 0x47, 0x14, 0xbe, 0xa2, 0x00,
+ 0xbf, 0xa4, 0x00, 0xc6, 0x06, 0xc3, 0x64, 0x02,
+ 0xe8, 0x10, 0xae, 0xc6, 0x06, 0xe6, 0x1c, 0xe5,
+ 0xbb, 0x01, 0x3d, 0xbe, 0x46, 0x5f, 0xe8, 0xd5,
+ 0x1a, 0xc6, 0x06, 0xe6, 0x1c, 0xd8, 0xbb, 0x20,
+ 0x3d, 0xbe, 0x5a, 0x5f, 0xe8, 0xc7, 0x1a, 0xbe,
+ 0xa2, 0x00, 0xbf, 0xbf, 0x00, 0xc6, 0x06, 0xc3,
+ 0x64, 0x02, 0xe8, 0xe6, 0xad, 0xe8, 0xfd, 0x13,
+ 0xb8, 0x32, 0x00, 0xe8, 0x0e, 0x97, 0xe8, 0x97,
+ 0xb7, 0x32, 0xc0, 0x88, 0x47, 0x01, 0x88, 0x47,
+ 0x02, 0x88, 0x47, 0x03, 0x88, 0x47, 0x04, 0xc6,
+ 0x06, 0xdc, 0x1c, 0x03, 0xe8, 0x0d, 0x26, 0xbb,
+ 0x46, 0x67, 0xe8, 0x6d, 0xb7, 0x43, 0x33, 0xc0,
+ 0x89, 0x47, 0x02, 0x89, 0x47, 0x04, 0x89, 0x47,
+ 0x06, 0x89, 0x47, 0x08, 0xb9, 0x3e, 0x00, 0xb0,
+ 0x01, 0xb4, 0x0e, 0xe8, 0x77, 0x21, 0xb9, 0x09,
+ 0x00, 0xb0, 0x08, 0xe8, 0x78, 0x21, 0xe8, 0xc3,
+ 0x13, 0xbb, 0x47, 0x33, 0xc7, 0x07, 0x00, 0x02,
+ 0xb0, 0x01, 0xe8, 0x83, 0x91, 0xe8, 0x4c, 0x22,
+ 0xb0, 0x01, 0xb4, 0x00, 0xe8, 0xd2, 0xa5, 0xe8,
+ 0xe6, 0xa5, 0xe8, 0xa8, 0x96, 0xbb, 0x3a, 0x3d,
+ 0xe8, 0xa2, 0x17, 0xb0, 0x07, 0xb4, 0x01, 0xb9,
+ 0xe4, 0x00, 0xba, 0xab, 0x00, 0xe8, 0x45, 0x91,
+ 0xb0, 0x08, 0xb9, 0x22, 0x01, 0xe8, 0x3d, 0x91,
+ 0xc3, 0x80, 0x3e, 0x9a, 0xdb, 0x01, 0x74, 0x3b,
+ 0xe8, 0x0b, 0x00, 0xb0, 0x0a, 0xe8, 0x70, 0x9e,
+ 0xc6, 0x06, 0x9a, 0xdb, 0x01, 0xc3, 0xe8, 0xdc,
+ 0x8e, 0xbb, 0x5f, 0x1b, 0xe8, 0xde, 0x88, 0xb9,
+ 0x05, 0x00, 0xb0, 0x02, 0xb4, 0x03, 0xe8, 0x0c,
+ 0x21, 0xbb, 0x47, 0x33, 0xc7, 0x07, 0x1a, 0x02,
+ 0xb9, 0x19, 0x02, 0xe8, 0x27, 0x92, 0xe8, 0x54,
+ 0x96, 0xe8, 0xb9, 0x8e, 0xbb, 0xe0, 0x1b, 0xe8,
+ 0xbb, 0x88, 0xc3, 0xe8, 0xaf, 0x8e, 0xbb, 0xf0,
+ 0xda, 0xe8, 0x99, 0x88, 0xe8, 0xae, 0x88, 0xc3,
+ 0x80, 0x3e, 0x9a, 0xdb, 0x01, 0x74, 0xec, 0xe8,
+ 0xbc, 0xff, 0xb0, 0x0b, 0xe8, 0x21, 0x9e, 0xc6,
+ 0x06, 0x9a, 0xdb, 0x01, 0xc3, 0x80, 0x3e, 0x9b,
+ 0xdb, 0x01, 0x74, 0x76, 0xe8, 0x0b, 0x00, 0xb0,
+ 0x0a, 0xe8, 0x0c, 0x9e, 0xc6, 0x06, 0x9b, 0xdb,
+ 0x01, 0xc3, 0xe8, 0x27, 0x8f, 0xbb, 0x93, 0x22,
+ 0xe8, 0x7a, 0x88, 0xb9, 0x05, 0x00, 0xb0, 0x0a,
+ 0xb4, 0x03, 0xe8, 0xa8, 0x20, 0xbb, 0x47, 0x33,
+ 0xc7, 0x47, 0x02, 0x1b, 0x02, 0xb9, 0x1c, 0x02,
+ 0xe8, 0xc2, 0x91, 0xb8, 0x64, 0x00, 0xe8, 0xd1,
+ 0x95, 0xe8, 0x00, 0x8f, 0xbb, 0xb1, 0x24, 0xe8,
+ 0x53, 0x88, 0xe8, 0xd9, 0x95, 0xe8, 0x45, 0x8e,
+ 0xbb, 0xd7, 0x24, 0xe8, 0x47, 0x88, 0xe8, 0xeb,
+ 0x8e, 0xbb, 0x14, 0x25, 0xe8, 0x3e, 0x88, 0xe8,
+ 0xc4, 0x95, 0x8b, 0x3e, 0xb1, 0x64, 0x8b, 0x36,
+ 0xaf, 0x64, 0x57, 0x56, 0x47, 0xe8, 0x93, 0xac,
+ 0xe8, 0xb3, 0x95, 0xbb, 0x70, 0x25, 0xe8, 0x24,
+ 0x88, 0xe8, 0xaa, 0x95, 0x5e, 0x5f, 0xe8, 0x82,
+ 0xac, 0xc3, 0xe8, 0xbf, 0x8e, 0xbb, 0x02, 0xdb,
+ 0xe8, 0xfa, 0x87, 0xe8, 0x0f, 0x88, 0xc3, 0x80,
+ 0x3e, 0x9b, 0xdb, 0x01, 0x74, 0xec, 0xe8, 0x81,
+ 0xff, 0xb0, 0x0b, 0xe8, 0x82, 0x9d, 0xc6, 0x06,
+ 0x9b, 0xdb, 0x01, 0xc3, 0xb0, 0x17, 0xe8, 0x77,
+ 0x9d, 0xe8, 0x98, 0x8e, 0xbb, 0x34, 0x26, 0xe8,
+ 0xeb, 0x87, 0xb9, 0x05, 0x00, 0xb0, 0x06, 0xb4,
+ 0x0c, 0xe8, 0x19, 0x20, 0xbb, 0x47, 0x33, 0xc7,
+ 0x47, 0x02, 0x2c, 0x02, 0xb9, 0x2b, 0x02, 0xe8,
+ 0x33, 0x91, 0xe8, 0x77, 0x8e, 0xbb, 0x0a, 0x28,
+ 0xe8, 0xca, 0x87, 0xb9, 0x05, 0x00, 0xb0, 0x0a,
+ 0xb4, 0x0c, 0xe8, 0xf8, 0x1f, 0xbb, 0x47, 0x33,
+ 0xc7, 0x47, 0x02, 0x2e, 0x02, 0xb9, 0x2d, 0x02,
+ 0xe8, 0x12, 0x91, 0xe8, 0x56, 0x8e, 0xbb, 0x71,
+ 0x29, 0xe8, 0xa9, 0x87, 0xb0, 0x18, 0xe8, 0x17,
+ 0x9d, 0xc3, 0xb9, 0x2d, 0x00, 0xb0, 0x10, 0xb4,
+ 0x06, 0xe8, 0xd1, 0x1f, 0xe8, 0x28, 0x91, 0xe8,
+ 0x7f, 0xfb, 0xb9, 0x30, 0x02, 0xe8, 0xba, 0x90,
+ 0xe8, 0x89, 0xfb, 0xe8, 0xee, 0x90, 0xb0, 0x1a,
+ 0xe8, 0x05, 0x9d, 0xb0, 0x1b, 0xe8, 0xf0, 0x9c,
+ 0xe8, 0x03, 0x95, 0xe8, 0x6f, 0x8d, 0xbb, 0xcd,
+ 0x1e, 0xe8, 0x71, 0x87, 0x8b, 0x3e, 0xb1, 0x64,
+ 0x8b, 0x36, 0xaf, 0x64, 0x4e, 0xe8, 0xcb, 0xab,
+ 0xe8, 0x5a, 0x8d, 0xbb, 0x09, 0x1f, 0xe8, 0x5c,
+ 0x87, 0xc6, 0x06, 0xb1, 0xdb, 0x01, 0xc3, 0x80,
+ 0x3e, 0xb5, 0xdb, 0x01, 0x74, 0x07, 0xbb, 0x29,
+ 0x4a, 0xe8, 0xd9, 0x15, 0xc3, 0xe8, 0xec, 0x8d,
+ 0xbb, 0x92, 0x29, 0xe8, 0x3f, 0x87, 0xb9, 0x05,
+ 0x00, 0xb0, 0x03, 0xb4, 0x0e, 0xe8, 0x6d, 0x1f,
+ 0xb0, 0x14, 0xe8, 0x71, 0x1f, 0xbb, 0x47, 0x33,
+ 0xc7, 0x47, 0x02, 0x9f, 0x02, 0xb9, 0x9e, 0x02,
+ 0xe8, 0x5f, 0x90, 0xe8, 0xed, 0x20, 0xe8, 0xcb,
+ 0x00, 0xe8, 0xe4, 0x8d, 0xbb, 0x00, 0x2a, 0xe8,
+ 0x13, 0x87, 0xe8, 0xbf, 0x00, 0xc6, 0x06, 0xe6,
+ 0x1c, 0xe5, 0xc6, 0x06, 0x35, 0x33, 0x17, 0xc6,
+ 0x06, 0x36, 0x33, 0x26, 0xb8, 0x5b, 0x4a, 0xa3,
+ 0x37, 0x33, 0xb8, 0x4c, 0x8f, 0xa3, 0x39, 0x33,
+ 0xb9, 0x53, 0x00, 0xb0, 0x0c, 0xb4, 0x0c, 0xe8,
+ 0x23, 0x1f, 0xc6, 0x06, 0xdc, 0x64, 0x00, 0xb9,
+ 0xa1, 0x02, 0xe8, 0x8a, 0x90, 0xe8, 0xab, 0x20,
+ 0xe8, 0x01, 0x20, 0xc7, 0x06, 0xf3, 0xb4, 0x0b,
+ 0x00, 0xc6, 0x06, 0xdc, 0x1c, 0x01, 0xe8, 0x2e,
+ 0x21, 0xb9, 0x18, 0x00, 0xb0, 0x1f, 0xb4, 0x09,
+ 0xe8, 0xfa, 0x1e, 0xb0, 0x30, 0xe8, 0xfe, 0x1e,
+ 0xb9, 0x4f, 0x00, 0xb0, 0x32, 0xb4, 0x0c, 0xe8,
+ 0xfb, 0x1e, 0xbb, 0x47, 0x33, 0xc7, 0x07, 0xa3,
+ 0x02, 0xb9, 0xa2, 0x02, 0xc6, 0x06, 0xdc, 0x1c,
+ 0x01, 0xe8, 0xce, 0x8f, 0xe8, 0x6c, 0x20, 0xe8,
+ 0xc2, 0x1f, 0xc7, 0x06, 0xf3, 0xb4, 0x1c, 0x00,
+ 0xc6, 0x06, 0xdc, 0x1c, 0x01, 0xe8, 0xef, 0x20,
+ 0xc7, 0x06, 0xaf, 0x64, 0x00, 0x00, 0xc7, 0x06,
+ 0xb1, 0x64, 0xa7, 0x00, 0xc6, 0x06, 0xc3, 0x64,
+ 0x02, 0xc6, 0x06, 0xcb, 0x64, 0x00, 0xc6, 0x06,
+ 0xcd, 0x64, 0x00, 0xe8, 0xd6, 0x8f, 0xbe, 0x42,
+ 0x00, 0xbf, 0xa7, 0x00, 0xe8, 0xcc, 0xaa, 0xbb,
+ 0x6f, 0x4a, 0xe8, 0xf0, 0x14, 0xe8, 0x16, 0x9c,
+ 0xb0, 0x1d, 0xe8, 0xcb, 0x9b, 0xb9, 0x0a, 0x00,
+ 0xe8, 0xd8, 0x25, 0xc3, 0xbb, 0x47, 0x33, 0xc7,
+ 0x47, 0x02, 0xa0, 0x02, 0xb0, 0x02, 0xe8, 0xa6,
+ 0x8e, 0xc3, 0xe8, 0xd2, 0x8f, 0xe8, 0x60, 0xb4,
+ 0xc6, 0x07, 0x00, 0xe8, 0xe6, 0x22, 0xb9, 0x05,
+ 0x00, 0xb0, 0x03, 0xb4, 0x05, 0xe8, 0x65, 0x1e,
+ 0xb0, 0x06, 0xe8, 0x69, 0x1e, 0xb0, 0x0a, 0xe8,
+ 0x6b, 0x1e, 0xb9, 0x5c, 0x00, 0xb0, 0x14, 0xe8,
+ 0x6a, 0x1e, 0xb0, 0x26, 0xe8, 0x6c, 0x1e, 0xb0,
+ 0x3a, 0xe8, 0x6e, 0x1e, 0xc6, 0x06, 0x35, 0x33,
+ 0x3a, 0xc6, 0x06, 0x36, 0x33, 0x43, 0xb8, 0x4a,
+ 0x46, 0xa3, 0x37, 0x33, 0xb8, 0x9e, 0x8e, 0xa3,
+ 0x39, 0x33, 0xc6, 0x06, 0xdc, 0x64, 0x00, 0xb9,
+ 0x5a, 0x02, 0xe8, 0x9a, 0x8f, 0xc6, 0x06, 0xdc,
+ 0x64, 0x01, 0xb9, 0x05, 0x00, 0xb0, 0x03, 0xb4,
+ 0x04, 0xe8, 0x19, 0x1e, 0xb9, 0x5b, 0x02, 0xe8,
+ 0x18, 0x8f, 0xe8, 0xfb, 0xb3, 0xc6, 0x07, 0x1b,
+ 0xe8, 0x3d, 0x22, 0xe8, 0x36, 0x8f, 0xc6, 0x06,
+ 0xa5, 0xdb, 0x01, 0xc3, 0xbb, 0x31, 0x3c, 0xe8,
+ 0x53, 0x14, 0xb9, 0x05, 0x00, 0xb0, 0x03, 0xb4,
+ 0x0a, 0xe8, 0xf1, 0x1d, 0xb9, 0x1a, 0x00, 0xb0,
+ 0x0d, 0xe8, 0xf2, 0x1d, 0xbb, 0x47, 0x33, 0xc7,
+ 0x07, 0x92, 0x02, 0xb9, 0x91, 0x02, 0xe8, 0xce,
+ 0x8e, 0xe8, 0x6f, 0x1f, 0xbb, 0x47, 0x33, 0xc7,
+ 0x07, 0x93, 0x02, 0xb0, 0x01, 0xe8, 0xf7, 0x8d,
+ 0xe8, 0xb9, 0x1e, 0xe8, 0x1f, 0x93, 0xbb, 0x3d,
+ 0x3c, 0xe8, 0x19, 0x14, 0xb0, 0x24, 0xe8, 0x07,
+ 0x9b, 0xb0, 0x09, 0xe8, 0x1c, 0x00, 0xb0, 0x07,
+ 0xe8, 0x17, 0x00, 0xbb, 0x46, 0x67, 0xe8, 0x89,
+ 0xb3, 0x43, 0xc7, 0x47, 0x06, 0x0a, 0x01, 0xc7,
+ 0x47, 0x08, 0xc1, 0x00, 0xc6, 0x06, 0xad, 0xdb,
+ 0x01, 0xc3, 0xb4, 0x01, 0xb9, 0x29, 0x01, 0xba,
+ 0xb5, 0x00, 0xe8, 0x98, 0x8d, 0xc3, 0xb9, 0x05,
+ 0x00, 0xb0, 0x03, 0xb4, 0x09, 0xe8, 0x85, 0x1d,
+ 0xb9, 0x1a, 0x00, 0xb0, 0x0d, 0xe8, 0x86, 0x1d,
+ 0xb9, 0x18, 0x00, 0xb0, 0x16, 0xe8, 0x85, 0x1d,
+ 0xb9, 0x50, 0x02, 0xe8, 0x71, 0x8e, 0xe8, 0x57,
+ 0xb3, 0xc6, 0x07, 0x00, 0xe8, 0x99, 0x21, 0xb9,
+ 0x01, 0x00, 0xb0, 0x05, 0xb4, 0x09, 0xe8, 0x5c,
+ 0x1d, 0xb0, 0x09, 0xe8, 0x60, 0x1d, 0xb0, 0x0d,
+ 0xe8, 0x62, 0x1d, 0xb9, 0x51, 0x02, 0xe8, 0x51,
+ 0x8e, 0xe8, 0x34, 0xb3, 0xc6, 0x07, 0x1c, 0xe8,
+ 0x76, 0x21, 0xe8, 0x6f, 0x8e, 0xb0, 0x23, 0xe8,
+ 0x86, 0x9a, 0xb0, 0x01, 0xe8, 0x12, 0x8d, 0xc3,
+ 0xb9, 0x05, 0x00, 0xb0, 0x03, 0xb4, 0x09, 0xe8,
+ 0x2b, 0x1d, 0xb9, 0x84, 0x02, 0xe8, 0x27, 0x8e,
+ 0xe8, 0x0d, 0xb3, 0xc6, 0x47, 0x01, 0x2d, 0xe8,
+ 0x4e, 0x21, 0xb9, 0x38, 0x00, 0xb0, 0x02, 0xb4,
+ 0x08, 0xe8, 0x11, 0x1d, 0xb9, 0x1a, 0x00, 0xb0,
+ 0x04, 0xe8, 0x12, 0x1d, 0xb9, 0x85, 0x02, 0xe8,
+ 0x08, 0x8e, 0xb9, 0x38, 0x00, 0xb0, 0x01, 0xb4,
+ 0x08, 0xe8, 0xf9, 0x1c, 0xb0, 0x06, 0xe8, 0x04,
+ 0x1d, 0xb9, 0x1a, 0x00, 0xb0, 0x03, 0xe8, 0xf5,
+ 0x1c, 0xb0, 0x08, 0xe8, 0xfe, 0x1c, 0xb9, 0x86,
+ 0x02, 0xe8, 0xe6, 0x8d, 0xb9, 0x05, 0x00, 0xb0,
+ 0x15, 0xb4, 0x09, 0xe8, 0xd7, 0x1c, 0xb9, 0x87,
+ 0x02, 0xe8, 0xf9, 0x8d, 0xb0, 0x02, 0xe8, 0xb4,
+ 0x8c, 0xb8, 0x03, 0x00, 0xe8, 0x0e, 0x17, 0xc7,
+ 0x47, 0x0d, 0x9c, 0x00, 0xc6, 0x06, 0xac, 0xdb,
+ 0x01, 0xc3, 0xbb, 0x0b, 0x5e, 0xe8, 0x0d, 0x13,
+ 0xc3, 0xbb, 0xa1, 0x46, 0xe8, 0x06, 0x13, 0xc3,
+ 0xbb, 0xc3, 0x46, 0xe8, 0xff, 0x12, 0xc3, 0xb9,
+ 0x05, 0x00, 0xb0, 0x02, 0xb4, 0x07, 0xe8, 0x9c,
+ 0x1c, 0xb9, 0x0f, 0x00, 0xb0, 0x0c, 0xe8, 0x9d,
+ 0x1c, 0xb9, 0x7e, 0x02, 0xe8, 0xa1, 0x8d, 0xb0,
+ 0x30, 0xe8, 0xd4, 0x99, 0xe8, 0x0d, 0x91, 0x72,
+ 0x1e, 0xb0, 0x30, 0xe8, 0xba, 0x99, 0xb9, 0x18,
+ 0x00, 0xb0, 0x1a, 0xb4, 0x07, 0xe8, 0x75, 0x1c,
+ 0xbb, 0x47, 0x33, 0xc7, 0x47, 0x04, 0x8b, 0x02,
+ 0xb9, 0x8a, 0x02, 0xe8, 0x7a, 0x8d, 0xc3, 0xa1,
+ 0x1f, 0xc4, 0xe8, 0xc7, 0x9a, 0x3c, 0x31, 0x75,
+ 0xd8, 0x83, 0x3e, 0x52, 0x72, 0x05, 0x75, 0xd1,
+ 0xc6, 0x06, 0xcf, 0x00, 0x00, 0xb9, 0x05, 0x00,
+ 0xb0, 0x02, 0xb4, 0x07, 0xe8, 0x46, 0x1c, 0xb9,
+ 0x34, 0x00, 0xb0, 0x0d, 0xe8, 0x47, 0x1c, 0xb9,
+ 0x88, 0x02, 0xe8, 0x2a, 0x8d, 0xe8, 0x20, 0xb2,
+ 0xc6, 0x47, 0x01, 0x2e, 0xe8, 0x61, 0x20, 0xe8,
+ 0x5a, 0x8d, 0xb0, 0x31, 0xe8, 0x71, 0x99, 0xe8,
+ 0xaa, 0x90, 0x73, 0x03, 0xe9, 0x91, 0x00, 0xb9,
+ 0x1b, 0x00, 0xb0, 0x05, 0xb4, 0x07, 0xe8, 0x14,
+ 0x1c, 0xe8, 0xfc, 0xb1, 0xc6, 0x47, 0x01, 0x00,
+ 0xe8, 0x81, 0x20, 0xb9, 0x8c, 0x02, 0xe8, 0xf9,
+ 0x8c, 0xb9, 0x18, 0x00, 0xb0, 0x04, 0xb4, 0x07,
+ 0xe8, 0xfa, 0x1b, 0xb9, 0x05, 0x00, 0xb0, 0x0c,
+ 0xe8, 0xfb, 0x1b, 0xc7, 0x06, 0xaf, 0x64, 0xbb,
+ 0x00, 0xc7, 0x06, 0xb1, 0x64, 0xb3, 0x00, 0xc6,
+ 0x06, 0xcc, 0x64, 0x01, 0xc6, 0x06, 0xcb, 0x64,
+ 0x00, 0xc6, 0x06, 0xdc, 0x64, 0x00, 0xb9, 0x8d,
+ 0x02, 0xe8, 0xc6, 0x8c, 0xbb, 0x47, 0x33, 0xc7,
+ 0x47, 0x04, 0x8f, 0x02, 0xb9, 0x8e, 0x02, 0xe8,
+ 0xdd, 0x8c, 0xff, 0x36, 0xcf, 0x00, 0xc6, 0x06,
+ 0xcf, 0x00, 0x00, 0xbb, 0xf6, 0x3b, 0xe8, 0x0c,
+ 0x12, 0x8f, 0x06, 0xcf, 0x00, 0xb0, 0x31, 0xe8,
+ 0xe6, 0x98, 0xc7, 0x06, 0xf3, 0xb4, 0x1b, 0x00,
+ 0xb0, 0x02, 0xb4, 0x04, 0xe8, 0x1a, 0xa0, 0xb0,
+ 0x04, 0xe8, 0x75, 0x8b, 0xc6, 0x06, 0xa9, 0xdb,
+ 0x00, 0xc7, 0x06, 0xf3, 0xb4, 0x1a, 0x00, 0xc3,
+ 0xa1, 0x1f, 0xc4, 0xe8, 0xee, 0x99, 0x3c, 0x1d,
+ 0x74, 0x03, 0xe9, 0x62, 0xff, 0x83, 0x3e, 0x52,
+ 0x72, 0x05, 0x74, 0x03, 0xe9, 0x58, 0xff, 0xc6,
+ 0x06, 0xcf, 0x00, 0x00, 0xc7, 0x06, 0x1f, 0xc4,
+ 0x00, 0x00, 0xb9, 0x05, 0x00, 0xb0, 0x02, 0xb4,
+ 0x07, 0xe8, 0x61, 0x1b, 0xb9, 0x13, 0x00, 0xb0,
+ 0x0c, 0xe8, 0x62, 0x1b, 0xb9, 0x89, 0x02, 0xe8,
+ 0x48, 0x8c, 0xe8, 0x3b, 0xb1, 0xc6, 0x47, 0x01,
+ 0x2f, 0xe8, 0xc0, 0x1f, 0xe8, 0x75, 0x8c, 0xb8,
+ 0x2c, 0x01, 0xe8, 0x7d, 0x90, 0xb9, 0x44, 0x00,
+ 0xb0, 0x01, 0xb4, 0x0c, 0xe8, 0x36, 0x1b, 0xb0,
+ 0x05, 0xe8, 0x3a, 0x1b, 0xb0, 0x09, 0xe8, 0x3c,
+ 0x1b, 0xb0, 0x0d, 0xe8, 0x3e, 0x1b, 0xb0, 0x11,
+ 0xe8, 0x40, 0x1b, 0xb0, 0x15, 0xe8, 0x42, 0x1b,
+ 0xb0, 0x19, 0xe8, 0x44, 0x1b, 0xb0, 0x1d, 0xe8,
+ 0x46, 0x1b, 0xb0, 0x21, 0xe8, 0x48, 0x1b, 0xb0,
+ 0x25, 0xe8, 0x4a, 0x1b, 0xbb, 0x47, 0x33, 0xc7,
+ 0x47, 0x04, 0x7f, 0x02, 0xb0, 0x03, 0xe8, 0x68,
+ 0x8b, 0xe8, 0xe4, 0xb0, 0xc6, 0x07, 0x2a, 0xe8,
+ 0x6a, 0x1f, 0xe8, 0x1f, 0x8c, 0xb0, 0x06, 0xe8,
+ 0xc7, 0x8a, 0xb0, 0x05, 0xe8, 0xce, 0x8a, 0xc6,
+ 0x06, 0xab, 0xdb, 0x01, 0xc3, 0xbb, 0xd6, 0x2d,
+ 0xe8, 0xa2, 0x82, 0xe8, 0x31, 0x8c, 0xb9, 0x38,
+ 0x00, 0xb0, 0x10, 0xb4, 0x07, 0xe8, 0xcd, 0x1a,
+ 0xb0, 0x12, 0xe8, 0xd1, 0x1a, 0xb0, 0x14, 0xe8,
+ 0xd3, 0x1a, 0xb0, 0x16, 0xe8, 0xd5, 0x1a, 0xb0,
+ 0x18, 0xe8, 0xd7, 0x1a, 0xb0, 0x1a, 0xe8, 0xd9,
+ 0x1a, 0xb0, 0x1c, 0xe8, 0xdb, 0x1a, 0xb0, 0x1e,
+ 0xe8, 0xdd, 0x1a, 0xb9, 0x02, 0x00, 0xb0, 0x40,
+ 0xe8, 0xdc, 0x1a, 0xb9, 0x03, 0x00, 0xb0, 0x4a,
+ 0xe8, 0xdb, 0x1a, 0xc6, 0x06, 0x35, 0x33, 0x23,
+ 0xc6, 0x06, 0x36, 0x33, 0x32, 0xb8, 0xc7, 0x34,
+ 0xa3, 0x37, 0x33, 0xb8, 0xd4, 0x64, 0xa3, 0x39,
+ 0x33, 0xc6, 0x06, 0xe6, 0x1c, 0xd1, 0xb0, 0x01,
+ 0xb4, 0x03, 0xe8, 0x62, 0x8f, 0xbb, 0x47, 0x33,
+ 0xc7, 0x47, 0x04, 0x05, 0x02, 0xc7, 0x47, 0x06,
+ 0x06, 0x02, 0xb9, 0x04, 0x02, 0xe8, 0xd7, 0x8b,
+ 0xe8, 0xf8, 0x1b, 0xe8, 0x4e, 0x1b, 0xe8, 0xd8,
+ 0xae, 0xb0, 0x02, 0xe8, 0x3f, 0x8a, 0xb0, 0x03,
+ 0xe8, 0x3a, 0x8a, 0xb8, 0x03, 0x00, 0xe8, 0xc8,
+ 0x9e, 0xe8, 0xdc, 0x9e, 0xb8, 0x04, 0x00, 0xe8,
+ 0xbf, 0x9e, 0xe8, 0xd3, 0x9e, 0xb0, 0x02, 0xe8,
+ 0x86, 0x97, 0xc6, 0x06, 0x96, 0xdb, 0x01, 0xc3,
+ 0xbb, 0x2f, 0x3b, 0xe8, 0x87, 0x10, 0xe8, 0x86,
+ 0x8b, 0xb4, 0x02, 0xb0, 0x04, 0xe8, 0x36, 0x8f,
+ 0xb9, 0x05, 0x00, 0xb0, 0x03, 0xb4, 0x08, 0xe8,
+ 0x1b, 0x1a, 0xbb, 0x47, 0x33, 0xc7, 0x47, 0x02,
+ 0x75, 0x02, 0xb9, 0x73, 0x02, 0xe8, 0x12, 0x8b,
+ 0xb9, 0x29, 0x00, 0xb0, 0x0a, 0xb4, 0x06, 0xe8,
+ 0x03, 0x1a, 0xb0, 0x2f, 0xe8, 0x07, 0x1a, 0xb9,
+ 0x37, 0x00, 0xb0, 0x34, 0xe8, 0x06, 0x1a, 0x80,
+ 0x3e, 0xa8, 0xdb, 0x01, 0x74, 0x15, 0xbb, 0x47,
+ 0x33, 0xc7, 0x47, 0x02, 0x76, 0x02, 0xb9, 0x74,
+ 0x02, 0xe8, 0x09, 0x8b, 0xbb, 0x59, 0x3b, 0xe8,
+ 0x33, 0x10, 0xc3, 0xbb, 0x47, 0x33, 0xc7, 0x47,
+ 0x02, 0x7a, 0x02, 0xb9, 0x74, 0x02, 0xe8, 0xd1,
+ 0x8a, 0xb0, 0x04, 0xe8, 0xaf, 0x89, 0xe8, 0x5a,
+ 0x1b, 0xe8, 0x62, 0x1a, 0xe8, 0x3a, 0xae, 0xb8,
+ 0x02, 0x00, 0xe8, 0x34, 0x9e, 0xe8, 0x48, 0x9e,
+ 0xbb, 0x6c, 0x3b, 0xe8, 0x07, 0x10, 0xc6, 0x06,
+ 0xa9, 0xdb, 0x01, 0xc3, 0x80, 0x3e, 0xab, 0xdb,
+ 0x01, 0x75, 0x07, 0xbb, 0x0b, 0x3c, 0xe8, 0xf4,
+ 0x0f, 0xc3, 0xb9, 0x05, 0x00, 0xb0, 0x0b, 0xb4,
+ 0x06, 0xe8, 0x91, 0x19, 0xb9, 0x31, 0x00, 0xb0,
+ 0x15, 0xe8, 0x92, 0x19, 0xe8, 0xe0, 0x8a, 0xc7,
+ 0x06, 0xb1, 0x64, 0x63, 0x00, 0xb9, 0x78, 0x02,
+ 0xe8, 0x7f, 0x8a, 0xe8, 0x62, 0xaf, 0xc6, 0x47,
+ 0x05, 0x28, 0xe8, 0xa3, 0x1d, 0xc7, 0x06, 0xaf,
+ 0x64, 0xe9, 0x00, 0xc7, 0x06, 0xb1, 0x64, 0x8b,
+ 0x00, 0xb9, 0x79, 0x02, 0xe8, 0x86, 0x8a, 0xc6,
+ 0x06, 0xa8, 0xdb, 0x01, 0xb0, 0x2f, 0xe8, 0x9f,
+ 0x96, 0x80, 0x3e, 0xaa, 0xdb, 0x01, 0x74, 0x0b,
+ 0xc6, 0x06, 0xaa, 0xdb, 0x01, 0xbb, 0x8b, 0x3b,
+ 0xe8, 0x9a, 0x0f, 0xc3, 0xb9, 0x05, 0x00, 0xb0,
+ 0x03, 0xb4, 0x0c, 0xe8, 0x37, 0x19, 0xb9, 0x06,
+ 0x00, 0xb0, 0x09, 0xe8, 0x38, 0x19, 0xb9, 0x27,
+ 0x03, 0xe8, 0x1b, 0x8a, 0xe8, 0x11, 0xaf, 0xc6,
+ 0x07, 0x53, 0xe8, 0x53, 0x1d, 0xe8, 0x4c, 0x8a,
+ 0xb0, 0x49, 0xe8, 0x63, 0x96, 0xb0, 0x02, 0xe8,
+ 0xfb, 0x88, 0xb0, 0x03, 0xe8, 0xea, 0x88, 0xc6,
+ 0x06, 0xef, 0xdb, 0x01, 0xc3, 0xbb, 0x8e, 0x4e,
+ 0xe8, 0x5a, 0x0f, 0xc3, 0xe8, 0x67, 0x00, 0x80,
+ 0x3e, 0xd2, 0xdb, 0x01, 0x75, 0x07, 0xbb, 0xc3,
+ 0x50, 0xe8, 0x49, 0x0f, 0xc3, 0x80, 0x3e, 0xcb,
+ 0xdb, 0x01, 0x74, 0x07, 0xbb, 0x01, 0x51, 0xe8,
+ 0x3b, 0x0f, 0xc3, 0xbb, 0xe1, 0x50, 0xe8, 0x34,
+ 0x0f, 0xb9, 0x05, 0x00, 0xb0, 0x03, 0xb4, 0x04,
+ 0xe8, 0xd2, 0x18, 0xb0, 0x27, 0xe8, 0xd6, 0x18,
+ 0xc6, 0x06, 0xe6, 0x1c, 0xd0, 0xc6, 0x06, 0x35,
+ 0x33, 0x09, 0xc6, 0x06, 0x36, 0x33, 0x23, 0xb8,
+ 0x24, 0x51, 0xa3, 0x37, 0x33, 0xb8, 0xc4, 0x9d,
+ 0xa3, 0x39, 0x33, 0xb9, 0xd8, 0x02, 0xe8, 0x1e,
+ 0x8a, 0xe8, 0xd8, 0x89, 0xe8, 0xea, 0x87, 0xbb,
+ 0x17, 0x3d, 0xe8, 0x68, 0x80, 0xc6, 0x06, 0xd2,
+ 0xdb, 0x01, 0xe8, 0x10, 0x00, 0xc3, 0x80, 0x3e,
+ 0xd1, 0xdb, 0x01, 0x74, 0x07, 0xbb, 0xa6, 0x50,
+ 0xe8, 0xe2, 0x0e, 0x58, 0xc3, 0x80, 0x3e, 0xd2,
+ 0xdb, 0x00, 0x74, 0x4e, 0x80, 0x3e, 0xd3, 0xdb,
+ 0x00, 0x74, 0x47, 0x80, 0x3e, 0xd4, 0xdb, 0x00,
+ 0x74, 0x40, 0xb8, 0x01, 0x01, 0xe8, 0x7e, 0x8d,
+ 0xb9, 0x59, 0x00, 0xb0, 0x02, 0xb4, 0x03, 0xe8,
+ 0x63, 0x18, 0xbb, 0x47, 0x33, 0xc7, 0x07, 0xdb,
+ 0x02, 0xb0, 0x01, 0xe8, 0x7a, 0x88, 0xe8, 0x43,
+ 0x19, 0xe8, 0x3c, 0xae, 0xc6, 0x07, 0x46, 0xe8,
+ 0xc2, 0x1c, 0xb8, 0x01, 0x00, 0xe8, 0xc1, 0x9c,
+ 0xe8, 0xd5, 0x9c, 0xb0, 0x01, 0xe8, 0x25, 0x88,
+ 0xb0, 0x02, 0xe8, 0x14, 0x88, 0xb0, 0x03, 0xe8,
+ 0x0f, 0x88, 0xc3, 0xe8, 0x98, 0xff, 0x80, 0x3e,
+ 0xd3, 0xdb, 0x01, 0x75, 0x07, 0xbb, 0xc3, 0x50,
+ 0xe8, 0x7a, 0x0e, 0xc3, 0xbb, 0x38, 0x51, 0xe8,
+ 0x73, 0x0e, 0xb9, 0x05, 0x00, 0xb0, 0x03, 0xb4,
+ 0x04, 0xe8, 0x11, 0x18, 0xb0, 0x17, 0xe8, 0x15,
+ 0x18, 0xb9, 0xd9, 0x02, 0xe8, 0x19, 0x89, 0xe8,
+ 0x47, 0x87, 0xbb, 0x70, 0x3d, 0xe8, 0xc5, 0x7f,
+ 0xc6, 0x06, 0xd3, 0xdb, 0x01, 0xe8, 0x6d, 0xff,
+ 0xc3, 0xe8, 0x5a, 0xff, 0x80, 0x3e, 0xd4, 0xdb,
+ 0x01, 0x75, 0x07, 0xbb, 0xc3, 0x50, 0xe8, 0x3c,
+ 0x0e, 0xc3, 0xbb, 0x61, 0x51, 0xe8, 0x35, 0x0e,
+ 0xb9, 0x05, 0x00, 0xb0, 0x03, 0xb4, 0x04, 0xe8,
+ 0xd3, 0x17, 0xb0, 0x19, 0xe8, 0xd7, 0x17, 0xb9,
+ 0xda, 0x02, 0xe8, 0xdb, 0x88, 0xe8, 0x09, 0x87,
+ 0xbb, 0xd6, 0x3d, 0xe8, 0x87, 0x7f, 0xc6, 0x06,
+ 0xd4, 0xdb, 0x01, 0xe8, 0x2f, 0xff, 0xc3, 0xbb,
+ 0xfa, 0x4e, 0xe8, 0x08, 0x0e, 0xc3, 0xe8, 0x06,
+ 0x89, 0xe8, 0x94, 0xad, 0xc6, 0x47, 0x02, 0x40,
+ 0xe8, 0x19, 0x1c, 0xb9, 0x05, 0x00, 0xb0, 0x03,
+ 0xb4, 0x0a, 0xe8, 0x98, 0x17, 0xb9, 0x34, 0x00,
+ 0xb0, 0x0a, 0xe8, 0x99, 0x17, 0xb9, 0xc7, 0x02,
+ 0xe8, 0xa4, 0x88, 0x8b, 0x36, 0xaf, 0x64, 0x8b,
+ 0x3e, 0xb1, 0x64, 0xc6, 0x06, 0xc3, 0x64, 0x04,
+ 0xe8, 0xa8, 0xa3, 0xe8, 0x98, 0x86, 0xbb, 0x21,
+ 0x3b, 0xe8, 0x39, 0x7f, 0xbe, 0x2c, 0x01, 0xbf,
+ 0xbe, 0x00, 0xc6, 0x06, 0xc3, 0x64, 0x04, 0xe8,
+ 0x91, 0xa3, 0xb0, 0x40, 0xe8, 0xa9, 0x94, 0xb0,
+ 0x08, 0xe8, 0x41, 0x87, 0xbb, 0x47, 0x33, 0xc7,
+ 0x07, 0xc8, 0x02, 0xb0, 0x01, 0xe8, 0x70, 0x87,
+ 0xe8, 0x35, 0xad, 0xc6, 0x47, 0x02, 0x00, 0xe8,
+ 0xba, 0x1b, 0xb9, 0x0f, 0x00, 0xb0, 0x1a, 0xb4,
+ 0x02, 0xe8, 0x39, 0x17, 0xb0, 0x1c, 0xe8, 0x3d,
+ 0x17, 0xb9, 0x10, 0x00, 0xb0, 0x25, 0xe8, 0x3c,
+ 0x17, 0xbb, 0x47, 0x33, 0xc7, 0x07, 0xc9, 0x02,
+ 0xb0, 0x01, 0xe8, 0x43, 0x87, 0xe8, 0xbe, 0x17,
+ 0xe8, 0x3b, 0x86, 0xbb, 0x0d, 0x3c, 0xe8, 0xdc,
+ 0x7e, 0xb9, 0x55, 0x00, 0xb0, 0x02, 0xb4, 0x03,
+ 0xe8, 0x0a, 0x17, 0xbb, 0x47, 0x33, 0xc7, 0x07,
+ 0xca, 0x02, 0xb0, 0x01, 0xe8, 0x21, 0x87, 0xe8,
+ 0xea, 0x17, 0xb8, 0x01, 0x00, 0xe8, 0x71, 0x9b,
+ 0xe8, 0x85, 0x9b, 0xb0, 0x01, 0xe8, 0xd5, 0x86,
+ 0xb9, 0x51, 0x00, 0xba, 0xa0, 0x00, 0xb0, 0x02,
+ 0xb4, 0x04, 0xe8, 0xe8, 0x86, 0xb9, 0x3f, 0x00,
+ 0xba, 0xa8, 0x00, 0xb0, 0x03, 0xb4, 0x04, 0xe8,
+ 0xdb, 0x86, 0xb9, 0x69, 0x00, 0xba, 0xa0, 0x00,
+ 0xb0, 0x0a, 0xb4, 0x01, 0xe8, 0xce, 0x86, 0xc6,
+ 0x06, 0xcc, 0xdb, 0x01, 0xc3, 0xe8, 0xa0, 0xdd,
+ 0x80, 0x3e, 0xcd, 0xdb, 0x01, 0x75, 0x07, 0xbb,
+ 0x3d, 0x4f, 0xe8, 0x08, 0x0d, 0xc3, 0xe8, 0x06,
+ 0x88, 0xe8, 0x94, 0xac, 0xc6, 0x47, 0x01, 0x00,
+ 0xe8, 0x19, 0x1b, 0xb9, 0x05, 0x00, 0xb0, 0x03,
+ 0xb4, 0x07, 0xe8, 0x98, 0x16, 0xb0, 0x21, 0xe8,
+ 0xcd, 0x16, 0xb9, 0x18, 0x00, 0xb0, 0x0d, 0xe8,
+ 0x94, 0x16, 0xb0, 0x13, 0xe8, 0x96, 0x16, 0xb0,
+ 0x17, 0xe8, 0x9f, 0x16, 0xb0, 0x1a, 0xe8, 0xa8,
+ 0x16, 0xb0, 0x1d, 0xe8, 0xaa, 0x16, 0xb9, 0x17,
+ 0x00, 0xb0, 0x15, 0xe8, 0x86, 0x16, 0xb9, 0x4a,
+ 0x00, 0xb0, 0x19, 0xe8, 0x8c, 0x16, 0xb9, 0xcc,
+ 0x02, 0xe8, 0x56, 0x87, 0xe8, 0x49, 0xac, 0xc6,
+ 0x47, 0x01, 0x42, 0xe8, 0x8a, 0x1a, 0xe8, 0x83,
+ 0x87, 0xc6, 0x06, 0xcd, 0xdb, 0x01, 0xc3, 0xe8,
+ 0x2e, 0xdd, 0xb9, 0x05, 0x00, 0xb0, 0x03, 0xb4,
+ 0x03, 0xe8, 0x41, 0x16, 0xb9, 0x56, 0x00, 0xb0,
+ 0x0b, 0xe8, 0x42, 0x16, 0xb9, 0xd0, 0x02, 0xe8,
+ 0x54, 0x87, 0xb0, 0x44, 0xe8, 0x69, 0x93, 0xb0,
+ 0x37, 0xe8, 0x74, 0x93, 0xc3, 0xe8, 0x7f, 0x87,
+ 0xe8, 0x0d, 0xac, 0xc6, 0x47, 0x04, 0x00, 0xe8,
+ 0x92, 0x1a, 0xb9, 0x57, 0x00, 0xb0, 0x07, 0xb4,
+ 0x08, 0xe8, 0x11, 0x16, 0xb9, 0xd2, 0x02, 0xe8,
+ 0x25, 0x87, 0xb9, 0x05, 0x00, 0xb0, 0x03, 0xb4,
+ 0x09, 0xe8, 0x01, 0x16, 0xb9, 0x58, 0x00, 0xb0,
+ 0x0c, 0xe8, 0x02, 0x16, 0xb9, 0x57, 0x00, 0xb0,
+ 0x18, 0xe8, 0x01, 0x16, 0xb9, 0xd3, 0x02, 0xe8,
+ 0x05, 0x87, 0xbb, 0x2b, 0x50, 0xe8, 0x3d, 0x0c,
+ 0xe8, 0x3a, 0x8b, 0xb9, 0x59, 0x00, 0xb0, 0x04,
+ 0xb4, 0x08, 0xe8, 0xd8, 0x15, 0xb9, 0xd4, 0x02,
+ 0xe8, 0xc7, 0x86, 0xe8, 0xba, 0xab, 0xc6, 0x47,
+ 0x04, 0x44, 0xe8, 0xfb, 0x19, 0xe8, 0xf4, 0x86,
+ 0xbb, 0x3e, 0x50, 0xe8, 0x17, 0x0c, 0xb0, 0x44,
+ 0xe8, 0x05, 0x93, 0xc6, 0x06, 0xd0, 0xdb, 0x01,
+ 0xc3, 0xb9, 0x05, 0x00, 0xb0, 0x04, 0xb4, 0x03,
+ 0xe8, 0xaa, 0x15, 0xb9, 0x3f, 0x00, 0xb0, 0x0c,
+ 0xe8, 0xab, 0x15, 0xb9, 0xd6, 0x02, 0xe8, 0xbd,
+ 0x86, 0xbb, 0x8a, 0x50, 0xe8, 0xee, 0x0b, 0xb0,
+ 0x45, 0xe8, 0xdc, 0x92, 0xb0, 0x46, 0xe8, 0xc7,
+ 0x92, 0xc3, 0xb9, 0x05, 0x00, 0xb0, 0x04, 0xb4,
+ 0x0e, 0xe8, 0x81, 0x15, 0xb9, 0x13, 0x00, 0xb0,
+ 0x0e, 0xe8, 0x82, 0x15, 0xb9, 0x19, 0x03, 0xe8,
+ 0x86, 0x86, 0xbb, 0x18, 0x52, 0xe8, 0xc5, 0x0b,
+ 0xb0, 0x3c, 0xe8, 0xb3, 0x92, 0xc6, 0x06, 0xd6,
+ 0xdb, 0x01, 0xc3, 0x80, 0x3e, 0xd6, 0xdb, 0x02,
+ 0x74, 0x07, 0xbb, 0x4f, 0x52, 0xe8, 0xad, 0x0b,
+ 0xc3, 0xb9, 0x05, 0x00, 0xb0, 0x04, 0xb4, 0x0e,
+ 0xe8, 0x4a, 0x15, 0xb0, 0x19, 0xe8, 0x4e, 0x15,
+ 0xb9, 0x22, 0x03, 0xe8, 0x52, 0x86, 0xbb, 0x72,
+ 0x52, 0xe8, 0x91, 0x0b, 0xb0, 0x3e, 0xe8, 0x7f,
+ 0x92, 0xb0, 0x4a, 0xe8, 0x6a, 0x92, 0xb0, 0x41,
+ 0xe8, 0x65, 0x92, 0xc3, 0xb0, 0x46, 0xe8, 0x93,
+ 0x92, 0x73, 0x39, 0xe8, 0x79, 0x86, 0xe8, 0x07,
+ 0xab, 0xc6, 0x07, 0x00, 0xe8, 0x8d, 0x19, 0xb9,
+ 0x05, 0x00, 0xb0, 0x03, 0xb4, 0x04, 0xe8, 0x0c,
+ 0x15, 0xb0, 0x12, 0xe8, 0x17, 0x15, 0xb9, 0x0d,
+ 0x00, 0xb0, 0x0c, 0xe8, 0x08, 0x15, 0xb9, 0x23,
+ 0x03, 0xe8, 0x21, 0x86, 0xb0, 0x07, 0xe8, 0xdc,
+ 0x84, 0xb0, 0x46, 0xe8, 0x3a, 0x92, 0xb0, 0x47,
+ 0xe8, 0x25, 0x92, 0xc3, 0xbb, 0xad, 0x53, 0xe8,
+ 0x3b, 0x0b, 0xc3, 0xb9, 0x05, 0x00, 0xb0, 0x04,
+ 0xb4, 0x0e, 0xe8, 0xd8, 0x14, 0xb0, 0x16, 0xe8,
+ 0xdc, 0x14, 0xb9, 0x24, 0x03, 0xe8, 0xe0, 0x85,
+ 0xbb, 0x8b, 0x52, 0xe8, 0x1f, 0x0b, 0xc3, 0xb9,
+ 0x05, 0x00, 0xb0, 0x03, 0xb4, 0x04, 0xe8, 0xbc,
+ 0x14, 0xb0, 0x10, 0xe8, 0xc0, 0x14, 0xb9, 0xbf,
+ 0x02, 0xe8, 0xc4, 0x85, 0x80, 0x3e, 0xc8, 0xdb,
+ 0x01, 0x74, 0x07, 0xbb, 0x80, 0x4d, 0xe8, 0xfc,
+ 0x0a, 0xc3, 0x80, 0x3e, 0xc6, 0xdb, 0x00, 0x74,
+ 0x22, 0xc6, 0x06, 0xc6, 0xdb, 0x00, 0x80, 0x3e,
+ 0xc5, 0xdb, 0x01, 0x75, 0x15, 0xbb, 0x47, 0x33,
+ 0xc7, 0x07, 0xbd, 0x02, 0xb0, 0x01, 0xe8, 0xae,
+ 0x84, 0xe8, 0x70, 0x15, 0xbb, 0xa6, 0x4d, 0xe8,
+ 0xd3, 0x0a, 0xc3, 0x80, 0x3e, 0xc5, 0xdb, 0x01,
+ 0x74, 0x07, 0xbb, 0x5b, 0x4d, 0xe8, 0xc5, 0x0a,
+ 0xc3, 0x80, 0x3e, 0xc7, 0xdb, 0x01, 0x74, 0x06,
+ 0xbb, 0x93, 0x4d, 0xe8, 0xb7, 0x0a, 0xbb, 0x47,
+ 0x33, 0xc7, 0x07, 0xbe, 0x02, 0xb0, 0x01, 0xe8,
+ 0x7d, 0x84, 0xe8, 0x3f, 0x15, 0xc6, 0x06, 0xc6,
+ 0xdb, 0x01, 0x80, 0x3e, 0xc7, 0xdb, 0x01, 0x74,
+ 0x0e, 0xe8, 0x3f, 0x83, 0xbb, 0x2c, 0x39, 0xe8,
+ 0x03, 0x7c, 0xc6, 0x06, 0xc7, 0xdb, 0x01, 0xc3,
+ 0xb9, 0x05, 0x00, 0xb0, 0x03, 0xb4, 0x06, 0xe8,
+ 0x2b, 0x14, 0xb9, 0x5b, 0x00, 0xb0, 0x0c, 0xe8,
+ 0x2c, 0x14, 0xb9, 0xc2, 0x02, 0xe8, 0x30, 0x85,
+ 0xb0, 0x36, 0xe8, 0x63, 0x91, 0xc6, 0x06, 0xc8,
+ 0xdb, 0x01, 0xc3, 0x80, 0x3e, 0xc6, 0xdb, 0x01,
+ 0x74, 0x07, 0xbb, 0xa5, 0x4e, 0xe8, 0x5d, 0x0a,
+ 0xc3, 0x80, 0x3e, 0xca, 0xdb, 0x01, 0x75, 0x07,
+ 0xbb, 0xe6, 0x4d, 0xe8, 0x4f, 0x0a, 0xc3, 0xb9,
+ 0x05, 0x00, 0xb0, 0x03, 0xb4, 0x04, 0xe8, 0xec,
+ 0x13, 0xb0, 0x18, 0xe8, 0xf7, 0x13, 0xb9, 0x5a,
+ 0x00, 0xb0, 0x12, 0xe8, 0xe8, 0x13, 0xb9, 0xc3,
+ 0x02, 0xe8, 0xec, 0x84, 0xb0, 0x3d, 0xe8, 0x0f,
+ 0x91, 0xc6, 0x06, 0xca, 0xdb, 0x01, 0xc3, 0x80,
+ 0x3e, 0xc6, 0xdb, 0x01, 0x74, 0x07, 0xbb, 0xa5,
+ 0x4e, 0xe8, 0x19, 0x0a, 0xc3, 0x80, 0x3e, 0xcb,
+ 0xdb, 0x01, 0x75, 0x07, 0xbb, 0x32, 0x4e, 0xe8,
+ 0x0b, 0x0a, 0xc3, 0xbb, 0x05, 0x4e, 0xe8, 0x04,
+ 0x0a, 0xb9, 0x05, 0x00, 0xb0, 0x03, 0xb4, 0x04,
+ 0xe8, 0xa2, 0x13, 0xb0, 0x1b, 0xe8, 0xa6, 0x13,
+ 0xb9, 0xc4, 0x02, 0xe8, 0xaa, 0x84, 0xc6, 0x06,
+ 0xcb, 0xdb, 0x01, 0xc3, 0xbb, 0x58, 0x4e, 0xe8,
+ 0xe3, 0x09, 0xc3, 0xb9, 0x05, 0x00, 0xb0, 0x03,
+ 0xb4, 0x05, 0xe8, 0x80, 0x13, 0xb9, 0x18, 0x00,
+ 0xb0, 0x0a, 0xe8, 0x81, 0x13, 0xb9, 0x1e, 0x03,
+ 0xe8, 0x85, 0x84, 0xb9, 0x3f, 0x00, 0xb0, 0x0b,
+ 0xb4, 0x05, 0xe8, 0x68, 0x13, 0xb9, 0x13, 0x00,
+ 0xb0, 0x14, 0xe8, 0x69, 0x13, 0xbb, 0x47, 0x33,
+ 0xc7, 0x07, 0x1f, 0x03, 0xb0, 0x01, 0xe8, 0x7e,
+ 0x83, 0x50, 0x52, 0xbe, 0x32, 0x00, 0xbf, 0xaa,
+ 0x00, 0xc6, 0x06, 0xc3, 0x64, 0x01, 0xe8, 0x72,
+ 0x9f, 0x5a, 0x58, 0xbf, 0xc7, 0x32, 0xb3, 0x1b,
+ 0x48, 0xf6, 0xe3, 0x03, 0xf8, 0xe8, 0x43, 0x7c,
+ 0xbb, 0x47, 0x33, 0xc7, 0x07, 0x20, 0x03, 0xb0,
+ 0x01, 0xe8, 0x53, 0x83, 0xe8, 0x15, 0x14, 0xe8,
+ 0x7b, 0x88, 0xb9, 0x25, 0x03, 0xe8, 0x12, 0x84,
+ 0xe8, 0xb0, 0x14, 0xbe, 0x32, 0x00, 0xbf, 0xaa,
+ 0x00, 0xc6, 0x06, 0xc3, 0x64, 0x03, 0xe8, 0x3a,
+ 0x9f, 0xbb, 0x49, 0x53, 0xe8, 0x5e, 0x09, 0xc7,
+ 0x06, 0xaf, 0x64, 0x69, 0x00, 0xc7, 0x06, 0xb1,
+ 0x64, 0x9d, 0x00, 0xc6, 0x06, 0xcb, 0x64, 0x00,
+ 0xc6, 0x06, 0xcc, 0x64, 0x00, 0xc6, 0x06, 0xdc,
+ 0x64, 0x01, 0xe8, 0x64, 0xa7, 0xb9, 0x03, 0x00,
+ 0xe8, 0x30, 0x1a, 0xbb, 0x47, 0x33, 0xc7, 0x07,
+ 0xaa, 0x03, 0xc7, 0x06, 0xf3, 0xb4, 0x0b, 0x00,
+ 0xe8, 0xea, 0x15, 0xe8, 0x61, 0x80, 0xbb, 0x09,
+ 0x84, 0xe8, 0x91, 0x7a, 0xbb, 0x47, 0x33, 0xc7,
+ 0x07, 0xab, 0x03, 0xb9, 0xae, 0x03, 0xe8, 0xc1,
+ 0x83, 0xbb, 0x47, 0x33, 0xc7, 0x07, 0xab, 0x03,
+ 0xc7, 0x47, 0x02, 0xa7, 0x03, 0xb9, 0xaf, 0x03,
+ 0xe8, 0xaf, 0x83, 0xbb, 0x47, 0x33, 0xc7, 0x07,
+ 0xac, 0x03, 0xc7, 0x47, 0x02, 0xa8, 0x03, 0xb9,
+ 0xb0, 0x03, 0xe8, 0x9d, 0x83, 0xbb, 0x47, 0x33,
+ 0xc7, 0x07, 0xad, 0x03, 0xc7, 0x47, 0x02, 0xa9,
+ 0x03, 0xb9, 0xb1, 0x03, 0xe8, 0x8b, 0x83, 0xbb,
+ 0x47, 0x33, 0xc7, 0x07, 0x00, 0x00, 0xe8, 0xab,
+ 0x83, 0xbb, 0x47, 0x33, 0xc7, 0x07, 0xb2, 0x03,
+ 0xb0, 0x01, 0xe8, 0xd5, 0x82, 0xe8, 0xff, 0x7f,
+ 0xbb, 0x4f, 0x84, 0xe8, 0x2f, 0x7a, 0xbb, 0x47,
+ 0x33, 0xc7, 0x07, 0xb2, 0x03, 0xb0, 0x01, 0xe8,
+ 0xc0, 0x82, 0xe8, 0xea, 0x7f, 0xbb, 0xc7, 0x87,
+ 0xe8, 0x1a, 0x7a, 0xb9, 0x18, 0x00, 0xb0, 0x07,
+ 0xb4, 0x05, 0xe8, 0x48, 0x12, 0xbb, 0x47, 0x33,
+ 0xc7, 0x07, 0xb4, 0x03, 0xb9, 0xb3, 0x03, 0xe8,
+ 0x40, 0x83, 0xe8, 0xce, 0x13, 0xe8, 0xd6, 0x12,
+ 0xc7, 0x06, 0xaf, 0x64, 0xc6, 0x00, 0xc7, 0x06,
+ 0xb1, 0x64, 0xba, 0x00, 0xc6, 0x06, 0xcd, 0x64,
+ 0x00, 0xc6, 0x06, 0xdc, 0x64, 0x00, 0xc6, 0x06,
+ 0xcb, 0x64, 0x01, 0xe8, 0x93, 0xa6, 0xc7, 0x06,
+ 0xf3, 0xb4, 0x28, 0x00, 0xe8, 0x26, 0x15, 0xe8,
+ 0xe5, 0x7e, 0xbb, 0x90, 0x88, 0xe8, 0xcd, 0x79,
+ 0xe8, 0x0a, 0x7f, 0xbb, 0x2f, 0x8a, 0xe8, 0xc4,
+ 0x79, 0xbb, 0x47, 0x33, 0xc7, 0x07, 0x9b, 0x03,
+ 0xb0, 0x01, 0xe8, 0x55, 0x82, 0xe8, 0xc7, 0x7e,
+ 0xbb, 0xa7, 0x8a, 0xe8, 0xaf, 0x79, 0xbe, 0xed,
+ 0x00, 0xbf, 0xba, 0x00, 0xe8, 0x0c, 0x9e, 0xbe,
+ 0xed, 0x00, 0xbf, 0xb1, 0x00, 0xe8, 0x03, 0x9e,
+ 0xbe, 0xc0, 0x00, 0xbf, 0xb1, 0x00, 0xe8, 0xfa,
+ 0x9d, 0xbb, 0x47, 0x33, 0xc7, 0x07, 0xb5, 0x03,
+ 0xb0, 0x01, 0xe8, 0x25, 0x82, 0xc6, 0x06, 0x45,
+ 0x33, 0xe7, 0xb0, 0x01, 0xbe, 0xb6, 0x03, 0xbb,
+ 0xf6, 0x8a, 0xe8, 0xaa, 0x7d, 0xb9, 0x20, 0x00,
+ 0xb0, 0x05, 0xb4, 0x09, 0xe8, 0xa6, 0x11, 0xb9,
+ 0x28, 0x00, 0xb0, 0x0e, 0xe8, 0xa7, 0x11, 0xbb,
+ 0x47, 0x33, 0xc7, 0x07, 0xb7, 0x03, 0xb9, 0xb8,
+ 0x03, 0xe8, 0x96, 0x82, 0xe8, 0x24, 0x13, 0xb9,
+ 0x0b, 0x00, 0xe8, 0xd6, 0x18, 0xe8, 0x44, 0x69,
+ 0xbb, 0x47, 0x33, 0xc7, 0x07, 0xb9, 0x03, 0xc7,
+ 0x06, 0xf3, 0xb4, 0x27, 0x00, 0xe8, 0x84, 0x14,
+ 0xc6, 0x06, 0x45, 0x33, 0xe3, 0xb0, 0x01, 0xbe,
+ 0xb9, 0x03, 0xbb, 0x4d, 0x8b, 0xe8, 0x5f, 0x7d,
+ 0xb9, 0x05, 0x00, 0xb0, 0x0f, 0xb4, 0x08, 0xe8,
+ 0x5b, 0x11, 0xbb, 0x47, 0x33, 0xc7, 0x07, 0xba,
+ 0x03, 0xb0, 0x01, 0xe8, 0xb4, 0x81, 0xb0, 0x01,
+ 0xbe, 0xbb, 0x03, 0xbb, 0x7a, 0x8b, 0xe8, 0x3e,
+ 0x7d, 0x8b, 0x16, 0xb3, 0x32, 0xbe, 0x00, 0xfa,
+ 0xb0, 0xfe, 0xe8, 0x5d, 0x0e, 0xff, 0x36, 0xa8,
+ 0x64, 0xc6, 0x06, 0xa8, 0x64, 0x00, 0xb8, 0x64,
+ 0x00, 0xe8, 0x88, 0x86, 0xe8, 0x62, 0x69, 0x8f,
+ 0x06, 0xa8, 0x64, 0xb9, 0x02, 0x00, 0xe8, 0x6a,
+ 0x18, 0xbb, 0x7c, 0xe4, 0xe8, 0xf7, 0x6c, 0x2e,
+ 0x80, 0x3e, 0xd7, 0x00, 0x80, 0x73, 0xf8, 0x2e,
+ 0x80, 0x3e, 0xd7, 0x00, 0x00, 0x74, 0xf0, 0xe9,
+ 0xad, 0x68, 0xb0, 0x03, 0xe8, 0x49, 0x8e, 0xb0,
+ 0x04, 0xe8, 0x34, 0x8e, 0xb0, 0x23, 0xe8, 0x2f,
+ 0x8e, 0xbb, 0x68, 0x34, 0xe8, 0x46, 0x07, 0xc3,
+ 0xb0, 0x04, 0xe8, 0x33, 0x8e, 0xb0, 0x05, 0xe8,
+ 0x1e, 0x8e, 0xbb, 0x90, 0x34, 0xe8, 0x35, 0x07,
+ 0xc3, 0xa1, 0xf3, 0xb4, 0x3d, 0x0f, 0x00, 0x74,
+ 0x0f, 0xbb, 0xce, 0x38, 0x3d, 0x10, 0x00, 0x74,
+ 0x03, 0xbb, 0xa7, 0x38, 0xe8, 0x1e, 0x07, 0xc3,
+ 0xbe, 0x9c, 0x00, 0xbf, 0xb4, 0x00, 0xc6, 0x06,
+ 0xc3, 0x64, 0x03, 0xe8, 0xe5, 0x9c, 0xb9, 0x05,
+ 0x00, 0xb0, 0x03, 0xb4, 0x07, 0xe8, 0xad, 0x10,
+ 0xb9, 0x26, 0x00, 0xb0, 0x10, 0xe8, 0xae, 0x10,
+ 0xb0, 0x16, 0xe8, 0xb0, 0x10, 0xb9, 0x66, 0x02,
+ 0xe8, 0x8c, 0x81, 0xb9, 0x05, 0x00, 0xb0, 0x03,
+ 0xb4, 0x07, 0xe8, 0x90, 0x10, 0xb9, 0x2c, 0x00,
+ 0xb0, 0x0a, 0xe8, 0x91, 0x10, 0xb9, 0x14, 0x00,
+ 0xb0, 0x1a, 0xe8, 0x90, 0x10, 0xb9, 0x67, 0x02,
+ 0xe8, 0x6f, 0x81, 0xe8, 0x0d, 0x12, 0xc7, 0x06,
+ 0xf3, 0xb4, 0x11, 0x00, 0xc6, 0x06, 0xdc, 0x1c,
+ 0x01, 0xe8, 0x93, 0x12, 0xb9, 0x40, 0x00, 0xb4,
+ 0x07, 0xb0, 0x01, 0xe8, 0x5f, 0x10, 0xb0, 0x15,
+ 0xe8, 0x63, 0x10, 0xb0, 0x2a, 0xe8, 0x65, 0x10,
+ 0xb0, 0x3f, 0xe8, 0x67, 0x10, 0xb9, 0x69, 0x02,
+ 0xc6, 0x06, 0xdc, 0x1c, 0x01, 0xc7, 0x06, 0x1f,
+ 0xc4, 0x00, 0x00, 0xe8, 0x87, 0x10, 0xe8, 0x9b,
+ 0x10, 0xe8, 0x0f, 0x10, 0xc7, 0x06, 0x23, 0xc4,
+ 0x05, 0x00, 0xc7, 0x06, 0x3b, 0x33, 0x00, 0x00,
+ 0xc7, 0x06, 0x3d, 0x33, 0x14, 0x00, 0xc6, 0x06,
+ 0xce, 0x00, 0x02, 0xe8, 0xe7, 0x82, 0x73, 0x3d,
+ 0xb9, 0x40, 0x00, 0xb4, 0x07, 0xb0, 0x01, 0xe8,
+ 0x13, 0x10, 0xb9, 0x6a, 0x02, 0xe8, 0x02, 0x81,
+ 0xb0, 0x05, 0xe8, 0xf0, 0x7f, 0xe8, 0xf0, 0xa5,
+ 0xc6, 0x07, 0x00, 0xe8, 0x32, 0x14, 0xb9, 0x1f,
+ 0x00, 0xb0, 0x01, 0xb4, 0x07, 0xe8, 0xf5, 0x0f,
+ 0xb9, 0x6b, 0x02, 0xe8, 0xe4, 0x80, 0xe8, 0x69,
+ 0x00, 0xb0, 0x2a, 0xe8, 0x22, 0x8d, 0xbb, 0x89,
+ 0x39, 0xe8, 0x39, 0x06, 0xc3, 0x51, 0xe8, 0x59,
+ 0x00, 0x59, 0x80, 0x3e, 0xcf, 0x00, 0x00, 0x74,
+ 0x20, 0x80, 0x3e, 0xcf, 0x00, 0x04, 0x74, 0x0d,
+ 0xbb, 0x32, 0x39, 0x83, 0xf9, 0x05, 0x74, 0x08,
+ 0xbb, 0xff, 0x38, 0xeb, 0x03, 0xbb, 0xdb, 0x38,
+ 0xc6, 0x06, 0xcf, 0x00, 0x00, 0xe8, 0x0d, 0x06,
+ 0xc3, 0xfe, 0x06, 0xa6, 0xdb, 0xa0, 0xa6, 0xdb,
+ 0xbb, 0xae, 0x39, 0x3c, 0x01, 0x74, 0x1f, 0xbb,
+ 0xf6, 0x39, 0x3c, 0x02, 0x74, 0x18, 0xbb, 0x28,
+ 0x3a, 0x3c, 0x03, 0x74, 0x11, 0xbb, 0x5a, 0x3a,
+ 0x3c, 0x04, 0x74, 0x0a, 0xbb, 0x85, 0x3a, 0x3c,
+ 0x05, 0x74, 0x03, 0xbb, 0xb7, 0x3a, 0xe8, 0xdc,
+ 0x05, 0xc3, 0xe8, 0x16, 0x11, 0xc7, 0x06, 0xf3,
+ 0xb4, 0x0f, 0x00, 0xe8, 0x86, 0x12, 0xc7, 0x06,
+ 0xaf, 0x64, 0x9c, 0x00, 0xc7, 0x06, 0xb1, 0x64,
+ 0xb4, 0x00, 0xc6, 0x06, 0xc3, 0x64, 0x03, 0xc6,
+ 0x06, 0xcb, 0x64, 0x01, 0xc6, 0x06, 0xcd, 0x64,
+ 0x01, 0xb9, 0x05, 0x00, 0xb0, 0x05, 0xb4, 0x07,
+ 0xe8, 0x52, 0x0f, 0xb9, 0x26, 0x00, 0xb0, 0x0e,
+ 0xe8, 0x53, 0x0f, 0xb9, 0x26, 0x00, 0xb0, 0x14,
+ 0xe8, 0x52, 0x0f, 0xb9, 0x05, 0x00, 0xb0, 0x19,
+ 0xe8, 0x51, 0x0f, 0xb9, 0x68, 0x02, 0xe8, 0x47,
+ 0x80, 0xc3, 0xa1, 0xf3, 0xb4, 0x3d, 0x0d, 0x00,
+ 0x74, 0x07, 0xbb, 0x58, 0x3c, 0xe8, 0x7d, 0x05,
+ 0xc3, 0xe8, 0x7b, 0x80, 0xbe, 0xac, 0x00, 0xbf,
+ 0xb5, 0x00, 0xc6, 0x06, 0xc3, 0x64, 0x01, 0xe8,
+ 0x41, 0x9b, 0xb9, 0x1a, 0x00, 0xb0, 0x13, 0xb4,
+ 0x07, 0xe8, 0x09, 0x0f, 0xb0, 0x1e, 0xe8, 0x14,
+ 0x0f, 0xb0, 0x29, 0xe8, 0x1d, 0x0f, 0xb0, 0x34,
+ 0xe8, 0x26, 0x0f, 0xb0, 0x3f, 0xe8, 0x2f, 0x0f,
+ 0xb9, 0x38, 0x00, 0xb0, 0x17, 0xe8, 0xf6, 0x0e,
+ 0xb0, 0x22, 0xe8, 0xff, 0x0e, 0xb0, 0x2d, 0xe8,
+ 0x08, 0x0f, 0xb0, 0x38, 0xe8, 0x11, 0x0f, 0xb9,
+ 0x95, 0x02, 0xe8, 0xcd, 0x7f, 0xbe, 0x14, 0x77,
+ 0xbb, 0x80, 0x3c, 0xc6, 0x06, 0xdc, 0x1c, 0x01,
+ 0xe8, 0xe2, 0x00, 0xb9, 0x38, 0x00, 0xb0, 0x0a,
+ 0xb4, 0x07, 0xe8, 0xc0, 0x0e, 0xb0, 0x15, 0xe8,
+ 0xc4, 0x0e, 0xb9, 0x08, 0x00, 0xb0, 0x30, 0xe8,
+ 0xc3, 0x0e, 0xb9, 0x38, 0x00, 0xb0, 0x75, 0xe8,
+ 0xc2, 0x0e, 0xb0, 0x80, 0xe8, 0xc4, 0x0e, 0xb0,
+ 0x8b, 0xe8, 0xc6, 0x0e, 0xb0, 0x96, 0xe8, 0xc8,
+ 0x0e, 0xb0, 0xa1, 0xe8, 0xca, 0x0e, 0xb0, 0xac,
+ 0xe8, 0xcc, 0x0e, 0xb0, 0xb7, 0xe8, 0xce, 0x0e,
+ 0x83, 0x2e, 0xb1, 0x64, 0x14, 0xbb, 0x47, 0x33,
+ 0xc7, 0x47, 0x02, 0x97, 0x02, 0xb9, 0x96, 0x02,
+ 0xe8, 0x6f, 0x7f, 0xe8, 0x18, 0x0f, 0xe8, 0x5f,
+ 0xa4, 0xc6, 0x47, 0x01, 0x31, 0xe8, 0xa0, 0x12,
+ 0xbe, 0xf5, 0x76, 0xbb, 0x9a, 0x3c, 0xc6, 0x06,
+ 0xdc, 0x1c, 0x01, 0xe8, 0x77, 0x00, 0xc7, 0x06,
+ 0xaf, 0x64, 0xa2, 0x00, 0xc7, 0x06, 0xb1, 0x64,
+ 0xb8, 0x00, 0xb9, 0x1a, 0x00, 0xb0, 0x06, 0xb4,
+ 0x07, 0xe8, 0x49, 0x0e, 0xb0, 0x11, 0xe8, 0x54,
+ 0x0e, 0xb9, 0x38, 0x00, 0xb0, 0x0a, 0xe8, 0x45,
+ 0x0e, 0xb0, 0x15, 0xe8, 0x4e, 0x0e, 0xb9, 0x13,
+ 0x00, 0xb0, 0x1b, 0xe8, 0x4d, 0x0e, 0xb9, 0x18,
+ 0x00, 0xb0, 0x26, 0xe8, 0x4c, 0x0e, 0xb9, 0x17,
+ 0x00, 0xb0, 0x2c, 0xe8, 0x4b, 0x0e, 0xb9, 0x98,
+ 0x02, 0xe8, 0x0e, 0x7f, 0xe8, 0xac, 0x0f, 0xbb,
+ 0x47, 0x33, 0xc7, 0x47, 0x02, 0x99, 0x02, 0xb0,
+ 0x02, 0xe8, 0x2c, 0x7e, 0xe8, 0x5e, 0x83, 0xbb,
+ 0xbc, 0x3c, 0xe8, 0x58, 0x04, 0xe8, 0x55, 0x83,
+ 0xe8, 0x29, 0x7f, 0xe8, 0x4f, 0x83, 0xbb, 0xea,
+ 0x3c, 0xe8, 0x49, 0x04, 0xb0, 0x25, 0xe8, 0x37,
+ 0x8b, 0xe8, 0x31, 0x01, 0xc3, 0x06, 0x53, 0x56,
+ 0xb8, 0x00, 0xa0, 0x8e, 0xc0, 0xe8, 0x25, 0x00,
+ 0xb8, 0x00, 0xa0, 0xb9, 0x00, 0x7d, 0xe8, 0xd7,
+ 0x10, 0x5e, 0x5b, 0xe8, 0x27, 0x08, 0xe8, 0x23,
+ 0x00, 0xb8, 0x96, 0x00, 0xe8, 0x25, 0x83, 0xe8,
+ 0x0b, 0x00, 0xe8, 0x2a, 0x91, 0xe8, 0x80, 0x0c,
+ 0xe8, 0x11, 0x00, 0x07, 0xc3, 0x80, 0x3e, 0xad,
+ 0x64, 0x01, 0x75, 0x04, 0xe8, 0x7d, 0x10, 0xc3,
+ 0xe8, 0x93, 0x10, 0xc3, 0x80, 0x3e, 0xad, 0x64,
+ 0x01, 0x75, 0x04, 0xe8, 0x7b, 0x10, 0xc3, 0xe8,
+ 0x91, 0x10, 0xe8, 0x5c, 0x10, 0xc3, 0xbb, 0x84,
+ 0x49, 0xe8, 0xe9, 0x03, 0xc3, 0xbb, 0xd1, 0x49,
+ 0xe8, 0xe2, 0x03, 0xc6, 0x06, 0xb5, 0xdb, 0x01,
+ 0xc3, 0x83, 0x3e, 0xf3, 0xb4, 0x24, 0x74, 0x07,
+ 0xbb, 0xa9, 0x52, 0xe8, 0xcf, 0x03, 0xc3, 0x80,
+ 0x3e, 0xf1, 0xdb, 0x01, 0x75, 0x07, 0xbb, 0xf6,
+ 0x52, 0xe8, 0xc1, 0x03, 0xc3, 0xc6, 0x06, 0xf1,
+ 0xdb, 0x01, 0xe8, 0xba, 0x7e, 0xbe, 0x66, 0x00,
+ 0xbf, 0xc3, 0x00, 0xc6, 0x06, 0xc3, 0x64, 0x02,
+ 0xe8, 0x80, 0x99, 0xb9, 0x05, 0x00, 0xb0, 0x03,
+ 0xb4, 0x05, 0xe8, 0x48, 0x0d, 0xb9, 0x4b, 0x00,
+ 0xb0, 0x0c, 0xe8, 0x49, 0x0d, 0xb9, 0x1a, 0x03,
+ 0xe8, 0x54, 0x7e, 0xb8, 0x01, 0x00, 0xe8, 0xc7,
+ 0x91, 0x53, 0xe8, 0x88, 0x82, 0xbb, 0x46, 0x67,
+ 0xe8, 0x07, 0xa3, 0x83, 0xc3, 0x03, 0xc7, 0x07,
+ 0x00, 0x00, 0xc7, 0x47, 0x04, 0x00, 0x00, 0x53,
+ 0xbe, 0x97, 0x00, 0xbf, 0xc5, 0x00, 0xc6, 0x06,
+ 0xc3, 0x64, 0x02, 0xe8, 0x3d, 0x99, 0xb9, 0x1b,
+ 0x03, 0xe8, 0xfe, 0x7d, 0xc7, 0x06, 0xaf, 0x64,
+ 0xba, 0x00, 0xff, 0x06, 0xb1, 0x64, 0xe8, 0x2b,
+ 0x7e, 0xbe, 0xdc, 0x00, 0xbf, 0xc6, 0x00, 0xc6,
+ 0x06, 0xc3, 0x64, 0x04, 0xe8, 0x1c, 0x99, 0x5b,
+ 0xc7, 0x47, 0x04, 0xc8, 0x00, 0x5b, 0xc7, 0x07,
+ 0x01, 0x00, 0xb0, 0x02, 0xe8, 0xc6, 0x7c, 0xbb,
+ 0xa9, 0x58, 0xe8, 0xa0, 0x74, 0xb0, 0x01, 0xb4,
+ 0x02, 0xb9, 0x0e, 0x01, 0xba, 0xc1, 0x00, 0xe8,
+ 0xd3, 0x7c, 0xb0, 0x03, 0xb4, 0x01, 0xb9, 0xfe,
+ 0x00, 0xba, 0xc1, 0x00, 0xe8, 0xc6, 0x7c, 0xc6,
+ 0x06, 0xd7, 0xdb, 0x01, 0xc3, 0xe8, 0x06, 0x82,
+ 0xff, 0x06, 0xea, 0xdb, 0xa1, 0xea, 0xdb, 0x3d,
+ 0x07, 0x00, 0x73, 0x3b, 0x2d, 0x02, 0x00, 0xbb,
+ 0x35, 0x60, 0xd1, 0xe0, 0x03, 0xd8, 0xff, 0x36,
+ 0xf3, 0xb4, 0x53, 0xb9, 0x0b, 0x00, 0xe8, 0xe2,
+ 0x13, 0xe8, 0x85, 0x02, 0x5b, 0xff, 0x17, 0xc6,
+ 0x06, 0xdc, 0x1c, 0x02, 0x8f, 0x06, 0xf3, 0xb4,
+ 0xb9, 0x06, 0x00, 0xe8, 0xcd, 0x13, 0x83, 0x3e,
+ 0xf3, 0xb4, 0x0b, 0x75, 0x07, 0x83, 0x3e, 0xec,
+ 0xdb, 0x01, 0x74, 0x03, 0xe8, 0x98, 0x0e, 0xc3,
+ 0xbb, 0x47, 0x33, 0xc7, 0x07, 0xda, 0x03, 0xc7,
+ 0x47, 0x02, 0xdb, 0x03, 0xc7, 0x06, 0xf3, 0xb4,
+ 0x22, 0x00, 0xe8, 0x67, 0x0f, 0xbb, 0x47, 0x33,
+ 0xc7, 0x07, 0xda, 0x03, 0xc7, 0x47, 0x02, 0xdb,
+ 0x03, 0xb0, 0x01, 0xe8, 0xac, 0x7c, 0xc6, 0x06,
+ 0x45, 0x33, 0xd9, 0xc6, 0x06, 0x46, 0x33, 0xd0,
+ 0xb0, 0x01, 0xb4, 0x02, 0xbe, 0xdc, 0x03, 0xbf,
+ 0xdd, 0x03, 0xbb, 0x60, 0x6f, 0xe8, 0x9e, 0x76,
+ 0xbb, 0x47, 0x33, 0xc7, 0x07, 0xde, 0x03, 0xc7,
+ 0x47, 0x02, 0xdf, 0x03, 0xb0, 0x01, 0xe8, 0x81,
+ 0x7c, 0xe8, 0xba, 0x0c, 0xc3, 0xbb, 0x47, 0x33,
+ 0xc7, 0x47, 0x02, 0x77, 0x03, 0xc7, 0x47, 0x04,
+ 0x78, 0x03, 0xc7, 0x06, 0xf3, 0xb4, 0x1e, 0x00,
+ 0xe8, 0x11, 0x0f, 0xbb, 0x47, 0x33, 0xc7, 0x47,
+ 0x02, 0x77, 0x03, 0xc7, 0x47, 0x04, 0x78, 0x03,
+ 0xb0, 0x02, 0xe8, 0x55, 0x7c, 0xc6, 0x06, 0x45,
+ 0x33, 0xd9, 0xb0, 0x02, 0xbe, 0x79, 0x03, 0xbb,
+ 0xb8, 0x6f, 0xe8, 0xda, 0x77, 0xb9, 0x1a, 0x00,
+ 0xb0, 0x03, 0xb4, 0x0a, 0xe8, 0xd6, 0x0b, 0xbb,
+ 0x47, 0x33, 0xc7, 0x47, 0x02, 0x7b, 0x03, 0xc7,
+ 0x47, 0x04, 0x7c, 0x03, 0xb0, 0x03, 0xe8, 0x29,
+ 0x7c, 0xc6, 0x06, 0x45, 0x33, 0xd0, 0xc6, 0x06,
+ 0x46, 0x33, 0xd9, 0xb0, 0x03, 0xb4, 0x02, 0xbe,
+ 0x7a, 0x03, 0xbf, 0x79, 0x03, 0xbb, 0xf0, 0x6f,
+ 0xe8, 0x1b, 0x76, 0xc3, 0xbb, 0x47, 0x33, 0xc7,
+ 0x47, 0x02, 0x7e, 0x03, 0xc7, 0x47, 0x04, 0x7d,
+ 0x03, 0xc7, 0x06, 0xf3, 0xb4, 0x20, 0x00, 0xe8,
+ 0xa2, 0x0e, 0xbb, 0x47, 0x33, 0xc7, 0x47, 0x02,
+ 0x7e, 0x03, 0xc7, 0x47, 0x04, 0x7d, 0x03, 0xb0,
+ 0x02, 0xe8, 0xe6, 0x7b, 0xc6, 0x06, 0x45, 0x33,
+ 0xd9, 0xb0, 0x03, 0xbe, 0x7f, 0x03, 0xbb, 0x6e,
+ 0x70, 0xe8, 0x6b, 0x77, 0xb9, 0x4b, 0x00, 0xb0,
+ 0x09, 0xb4, 0x0b, 0xe8, 0x67, 0x0b, 0xbb, 0x47,
+ 0x33, 0xc7, 0x47, 0x02, 0x82, 0x03, 0xc7, 0x47,
+ 0x04, 0x81, 0x03, 0xb0, 0x02, 0xe8, 0xba, 0x7b,
+ 0xc6, 0x06, 0x45, 0x33, 0xd0, 0xc6, 0x06, 0x46,
+ 0x33, 0xd9, 0xb0, 0x02, 0xb4, 0x03, 0xbe, 0x80,
+ 0x03, 0xbf, 0x7f, 0x03, 0xbb, 0x96, 0x70, 0xe8,
+ 0xac, 0x75, 0xc3, 0xbb, 0x47, 0x33, 0xc7, 0x07,
+ 0x85, 0x03, 0xc7, 0x47, 0x02, 0x84, 0x03, 0xc7,
+ 0x06, 0xf3, 0xb4, 0x1d, 0x00, 0xe8, 0x34, 0x0e,
+ 0xbb, 0x47, 0x33, 0xc7, 0x07, 0x85, 0x03, 0xc7,
+ 0x47, 0x02, 0x84, 0x03, 0xb0, 0x02, 0xe8, 0x79,
+ 0x7b, 0xc6, 0x06, 0x45, 0x33, 0xd0, 0xc6, 0x06,
+ 0x46, 0x33, 0xd9, 0xb0, 0x01, 0xb4, 0x02, 0xbe,
+ 0x87, 0x03, 0xbf, 0x86, 0x03, 0xbb, 0x61, 0x71,
+ 0xe8, 0x6b, 0x75, 0xb9, 0x38, 0x00, 0xb0, 0x03,
+ 0xb4, 0x04, 0xe8, 0xf0, 0x0a, 0xb0, 0x05, 0xe8,
+ 0xf4, 0x0a, 0xb0, 0x07, 0xe8, 0xf6, 0x0a, 0xb0,
+ 0x09, 0xe8, 0xf8, 0x0a, 0xbb, 0x47, 0x33, 0xc7,
+ 0x07, 0x89, 0x03, 0xc7, 0x47, 0x02, 0x88, 0x03,
+ 0xb0, 0x01, 0xe8, 0x35, 0x7b, 0xb0, 0x01, 0xb4,
+ 0x02, 0xbe, 0x87, 0x03, 0xbf, 0x86, 0x03, 0xbb,
+ 0xc6, 0x71, 0xe8, 0x31, 0x75, 0xc3, 0xff, 0x36,
+ 0xf3, 0xb4, 0xbb, 0x47, 0x33, 0xc7, 0x47, 0x02,
+ 0x8b, 0x03, 0xc7, 0x47, 0x04, 0x8a, 0x03, 0xc7,
+ 0x06, 0xf3, 0xb4, 0x23, 0x00, 0xe8, 0xb4, 0x0d,
+ 0xbb, 0x47, 0x33, 0xc7, 0x47, 0x02, 0x8b, 0x03,
+ 0xc7, 0x47, 0x04, 0x8a, 0x03, 0xb0, 0x03, 0xe8,
+ 0xf8, 0x7a, 0xc6, 0x06, 0x45, 0x33, 0xd9, 0xc6,
+ 0x06, 0x46, 0x33, 0xd0, 0xb0, 0x03, 0xb4, 0x02,
+ 0xbe, 0x8c, 0x03, 0xbf, 0x8d, 0x03, 0xbb, 0x43,
+ 0x72, 0xe8, 0xea, 0x74, 0xc6, 0x06, 0x46, 0x33,
+ 0xd9, 0xc6, 0x06, 0x45, 0x33, 0xd0, 0xb0, 0x02,
+ 0xb4, 0x03, 0xbe, 0x8e, 0x03, 0xbf, 0x8c, 0x03,
+ 0xbb, 0x18, 0x73, 0xe8, 0xd0, 0x74, 0xc7, 0x06,
+ 0xf3, 0xb4, 0x0b, 0x00, 0xe8, 0x41, 0xa0, 0xc6,
+ 0x47, 0x03, 0x33, 0xe8, 0x5e, 0x0d, 0x58, 0x3d,
+ 0x0b, 0x00, 0x75, 0x08, 0xc6, 0x06, 0xdc, 0x1c,
+ 0x02, 0xe8, 0xba, 0x88, 0xbb, 0x47, 0x33, 0xc7,
+ 0x47, 0x02, 0x8f, 0x03, 0xb0, 0x02, 0xe8, 0x99,
+ 0x7a, 0xbb, 0x47, 0x33, 0xc7, 0x47, 0x02, 0x83,
+ 0x03, 0xb0, 0x02, 0xe8, 0x51, 0x7a, 0xe8, 0x13,
+ 0x0b, 0xb8, 0xc8, 0x00, 0xe8, 0x5b, 0x7f, 0xb0,
+ 0x08, 0xe8, 0xf5, 0x79, 0xb8, 0x02, 0x08, 0xe8,
+ 0x8f, 0x8e, 0xc7, 0x06, 0xec, 0xdb, 0x01, 0x00,
+ 0xc3, 0x06, 0xb8, 0x00, 0xa0, 0x8e, 0xc0, 0xe8,
+ 0x1d, 0x00, 0xb8, 0x00, 0xa0, 0xb9, 0x00, 0x7d,
+ 0xe8, 0xfd, 0x0c, 0xbe, 0x14, 0x77, 0xbb, 0x0a,
+ 0x58, 0xe8, 0x49, 0x04, 0xe8, 0x17, 0x00, 0xb8,
+ 0x96, 0x00, 0xe8, 0x47, 0x7f, 0x07, 0xc3, 0x80,
+ 0x3e, 0xad, 0x64, 0x01, 0x75, 0x04, 0xe8, 0xab,
+ 0x0c, 0xc3, 0xe8, 0xc1, 0x0c, 0xc3, 0x80, 0x3e,
+ 0xad, 0x64, 0x01, 0x75, 0x04, 0xe8, 0xa9, 0x0c,
+ 0xc3, 0xe8, 0xbf, 0x0c, 0xe8, 0x8a, 0x0c, 0xc3,
+ 0xa1, 0x50, 0x72, 0xe8, 0x07, 0x04, 0x83, 0xc3,
+ 0x13, 0x8a, 0x07, 0x43, 0x0a, 0xc0, 0x75, 0xf9,
+ 0x80, 0x3f, 0x00, 0x74, 0xf4, 0x80, 0x3f, 0x01,
+ 0x75, 0x03, 0xbb, 0x50, 0x34, 0xe8, 0x04, 0x00,
+ 0xe8, 0xb4, 0x00, 0xc3, 0x06, 0xb8, 0xd4, 0x19,
+ 0x8e, 0xc0, 0xe8, 0xe0, 0x02, 0x8b, 0x0e, 0xaf,
+ 0x64, 0x8b, 0xd0, 0x52, 0xd1, 0xea, 0x2b, 0xca,
+ 0x73, 0x03, 0xb9, 0x02, 0x00, 0x26, 0x89, 0x0e,
+ 0x00, 0x00, 0x5a, 0x03, 0xca, 0x81, 0xf9, 0x3f,
+ 0x01, 0x76, 0x0d, 0xb9, 0x3f, 0x01, 0x2b, 0xca,
+ 0x83, 0xe9, 0x02, 0x26, 0x89, 0x0e, 0x00, 0x00,
+ 0x83, 0xee, 0x02, 0x81, 0xfe, 0x04, 0x00, 0x72,
+ 0x0e, 0x26, 0x8b, 0x14, 0x8b, 0xc8, 0x2b, 0xca,
+ 0xd1, 0xe9, 0x26, 0x89, 0x0c, 0xeb, 0xe9, 0xc6,
+ 0x06, 0xe6, 0x1c, 0xd1, 0xe8, 0x77, 0x02, 0xb8,
+ 0x3e, 0x00, 0x8b, 0xc8, 0xf7, 0x26, 0xd8, 0x64,
+ 0xf7, 0x36, 0xda, 0x64, 0x2b, 0xc8, 0xa1, 0xb1,
+ 0x64, 0x2b, 0xc1, 0x72, 0x12, 0x05, 0x08, 0x00,
+ 0x26, 0x8b, 0x0e, 0x0a, 0x00, 0x41, 0x2d, 0x0b,
+ 0x00, 0x72, 0x04, 0xe2, 0xf9, 0xeb, 0x03, 0xb8,
+ 0x01, 0x00, 0xf7, 0x26, 0xb6, 0x00, 0x26, 0x01,
+ 0x06, 0x00, 0x00, 0xc6, 0x06, 0xdb, 0x1c, 0x02,
+ 0xe8, 0x8b, 0x87, 0xc6, 0x06, 0xdb, 0x1c, 0x03,
+ 0xbb, 0x92, 0x32, 0xa1, 0x96, 0x32, 0x26, 0x8b,
+ 0x0e, 0x0c, 0x00, 0xf7, 0xe1, 0x8b, 0xc8, 0xc1,
+ 0xe9, 0x03, 0x83, 0xc1, 0x3c, 0xe8, 0xdb, 0x07,
+ 0x07, 0xc6, 0x06, 0xe8, 0x64, 0x01, 0xc3, 0xe8,
+ 0xf4, 0x94, 0xe8, 0x70, 0x8a, 0x2e, 0x80, 0x3e,
+ 0xd7, 0x00, 0x01, 0x74, 0x19, 0x80, 0x3e, 0x96,
+ 0x32, 0x00, 0x74, 0x08, 0xbb, 0x92, 0x32, 0xe8,
+ 0xcc, 0x07, 0x72, 0x0a, 0xe8, 0xa4, 0x05, 0x72,
+ 0x05, 0xe8, 0x70, 0x05, 0x73, 0xd9, 0xe8, 0xfc,
+ 0x9c, 0xe8, 0x3d, 0x9d, 0xc6, 0x06, 0xdb, 0x1c,
+ 0x01, 0xc6, 0x06, 0xdc, 0x1c, 0x02, 0xe8, 0x2d,
+ 0x87, 0xc6, 0x06, 0xdc, 0x1c, 0x03, 0xc6, 0x06,
+ 0xdb, 0x1c, 0x00, 0xc3, 0x51, 0xe8, 0x04, 0xff,
+ 0x59, 0xbb, 0x92, 0x32, 0xe8, 0x84, 0x07, 0xe8,
+ 0xa4, 0x94, 0xe8, 0x20, 0x8a, 0xbb, 0x92, 0x32,
+ 0xe8, 0x8b, 0x07, 0x72, 0x0a, 0xe8, 0x63, 0x05,
+ 0x72, 0x05, 0xe8, 0x2f, 0x05, 0x73, 0xe8, 0xe8,
+ 0xbc, 0xff, 0xc3, 0xa0, 0x96, 0xda, 0xbf, 0xc7,
+ 0x32, 0xb1, 0x1b, 0x48, 0xf6, 0xe1, 0x03, 0xf8,
+ 0xa1, 0xa4, 0xda, 0x89, 0x05, 0x57, 0xe8, 0xcb,
+ 0xfe, 0x5f, 0x57, 0xa1, 0xa4, 0xda, 0x89, 0x05,
+ 0xe8, 0x6b, 0x94, 0xe8, 0xe7, 0x89, 0x5f, 0x57,
+ 0xa1, 0xa4, 0xda, 0x89, 0x05, 0x2e, 0x80, 0x3e,
+ 0xd7, 0x00, 0x01, 0x74, 0x19, 0x80, 0x3e, 0x96,
+ 0x32, 0x00, 0x74, 0x08, 0xbb, 0x92, 0x32, 0xe8,
+ 0x3c, 0x07, 0x72, 0x0a, 0xe8, 0x14, 0x05, 0x72,
+ 0x05, 0xe8, 0xe0, 0x04, 0x73, 0xcb, 0x5f, 0xe8,
+ 0x6c, 0xff, 0xc3, 0x06, 0xb8, 0xd4, 0x19, 0x8e,
+ 0xc0, 0x57, 0xe8, 0x70, 0x01, 0x5f, 0x50, 0x8b,
+ 0x45, 0x0a, 0x33, 0xd2, 0xf7, 0x36, 0xb6, 0x00,
+ 0x8b, 0x45, 0x0c, 0xd1, 0xe8, 0x03, 0xd0, 0x58,
+ 0x8b, 0xca, 0x8b, 0xd0, 0x52, 0xd1, 0xea, 0x2b,
+ 0xca, 0x73, 0x03, 0xb9, 0x02, 0x00, 0x26, 0x89,
+ 0x0e, 0x00, 0x00, 0x5a, 0x03, 0xca, 0x81, 0xf9,
+ 0x3f, 0x01, 0x76, 0x0b, 0xb9, 0x3f, 0x01, 0x2b,
+ 0xca, 0x49, 0x26, 0x89, 0x0e, 0x00, 0x00, 0x83,
+ 0xee, 0x02, 0x81, 0xfe, 0x04, 0x00, 0x72, 0x0e,
+ 0x26, 0x8b, 0x14, 0x8b, 0xc8, 0x2b, 0xca, 0xd1,
+ 0xe9, 0x26, 0x89, 0x0c, 0xeb, 0xe9, 0x57, 0xa0,
+ 0xe7, 0x1c, 0xa2, 0xe6, 0x1c, 0xe8, 0xf6, 0x00,
+ 0x5f, 0x8b, 0x45, 0x0a, 0x33, 0xd2, 0xf7, 0x36,
+ 0xb6, 0x00, 0x05, 0x08, 0x00, 0x26, 0x8b, 0x0e,
+ 0x0a, 0x00, 0x41, 0x2d, 0x0b, 0x00, 0x72, 0x04,
+ 0xe2, 0xf9, 0xeb, 0x03, 0xb8, 0x01, 0x00, 0xb9,
+ 0x40, 0x01, 0xf7, 0xe1, 0x26, 0x01, 0x06, 0x00,
+ 0x00, 0xc6, 0x06, 0xdb, 0x1c, 0x02, 0xe8, 0x15,
+ 0x86, 0xc6, 0x06, 0xdb, 0x1c, 0x03, 0xbb, 0x92,
+ 0x32, 0xa1, 0x96, 0x32, 0x26, 0x8b, 0x0e, 0x0c,
+ 0x00, 0xf7, 0xe1, 0x8b, 0xc8, 0xc1, 0xe9, 0x03,
+ 0x83, 0xc1, 0x3c, 0xe8, 0x65, 0x06, 0x07, 0xc3,
+ 0x06, 0xb8, 0xd4, 0x19, 0x8e, 0xc0, 0x26, 0x89,
+ 0x36, 0x00, 0x00, 0xe8, 0xb7, 0x00, 0x83, 0xee,
+ 0x02, 0x81, 0xfe, 0x04, 0x00, 0x72, 0x0e, 0x26,
+ 0x8b, 0x14, 0x8b, 0xc8, 0x2b, 0xca, 0xd1, 0xe9,
+ 0x26, 0x89, 0x0c, 0xeb, 0xe9, 0xe8, 0x7e, 0x00,
+ 0xc6, 0x06, 0xdb, 0x1c, 0x02, 0xe8, 0xc6, 0x85,
+ 0xc6, 0x06, 0xdb, 0x1c, 0x03, 0xbb, 0x92, 0x32,
+ 0xa1, 0x96, 0x32, 0x26, 0x8b, 0x0e, 0x0c, 0x00,
+ 0xf7, 0xe1, 0x8b, 0xc8, 0xc1, 0xe9, 0x03, 0x83,
+ 0xc1, 0x3c, 0xe8, 0x16, 0x06, 0x07, 0xc3, 0x06,
+ 0xb8, 0xd4, 0x19, 0x8e, 0xc0, 0x26, 0x89, 0x36,
+ 0x00, 0x00, 0x53, 0xe8, 0x63, 0x88, 0x5b, 0xe8,
+ 0x75, 0x00, 0x83, 0xee, 0x02, 0x81, 0xfe, 0x04,
+ 0x00, 0x72, 0x0e, 0x26, 0x8b, 0x14, 0x8b, 0xc8,
+ 0x2b, 0xca, 0xd1, 0xe9, 0x26, 0x89, 0x0c, 0xeb,
+ 0xe9, 0xe8, 0x2a, 0x00, 0x07, 0xc3, 0xe8, 0x7f,
+ 0xff, 0xe8, 0x81, 0x88, 0x80, 0x3e, 0x96, 0x32,
+ 0x00, 0x74, 0x08, 0xbb, 0x92, 0x32, 0xe8, 0xe5,
+ 0x05, 0x72, 0x0a, 0xe8, 0x8e, 0x03, 0x72, 0x05,
+ 0xe8, 0xb8, 0x03, 0x73, 0xe4, 0xc6, 0x06, 0xdb,
+ 0x1c, 0x01, 0xe8, 0x51, 0x85, 0xc3, 0xbf, 0x04,
+ 0x00, 0xbe, 0x0e, 0x00, 0x57, 0x56, 0x26, 0x03,
+ 0x35, 0xe8, 0x21, 0x01, 0x5e, 0x5f, 0x81, 0xc6,
+ 0xc0, 0x0d, 0x83, 0xc7, 0x02, 0x43, 0x8a, 0x07,
+ 0x0a, 0xc0, 0x75, 0xe8, 0xc3, 0x53, 0xc6, 0x06,
+ 0xda, 0x1c, 0x01, 0xe8, 0x28, 0x85, 0xc6, 0x06,
+ 0xda, 0x1c, 0x00, 0xe8, 0xeb, 0x87, 0x5b, 0x33,
+ 0xc0, 0x26, 0xa3, 0x0c, 0x00, 0x26, 0xa3, 0x0a,
+ 0x00, 0xbe, 0x04, 0x00, 0x53, 0xe8, 0x40, 0x01,
+ 0x26, 0x01, 0x0e, 0x0c, 0x00, 0x26, 0x89, 0x04,
+ 0x26, 0xff, 0x06, 0x0a, 0x00, 0x83, 0xc6, 0x02,
+ 0x43, 0x8a, 0x07, 0x0a, 0xc0, 0x75, 0xe6, 0x5b,
+ 0x8b, 0xce, 0x33, 0xc0, 0x83, 0xee, 0x02, 0x81,
+ 0xfe, 0x04, 0x00, 0x72, 0x0b, 0x26, 0x8b, 0x14,
+ 0x3b, 0xc2, 0x73, 0xf0, 0x8b, 0xc2, 0xeb, 0xec,
+ 0x8b, 0xf1, 0xc3, 0x8b, 0x0e, 0xc0, 0x00, 0x8b,
+ 0x16, 0xc2, 0x00, 0xa1, 0x52, 0x72, 0xa3, 0x50,
+ 0x72, 0x0b, 0xc0, 0x74, 0x54, 0xc6, 0x06, 0x3d,
+ 0x66, 0x05, 0x83, 0x3e, 0x1f, 0xc4, 0x00, 0x74,
+ 0x12, 0xe8, 0x16, 0x7c, 0x80, 0x3e, 0xdb, 0xbb,
+ 0x01, 0x74, 0x4f, 0xa1, 0x50, 0x72, 0xe8, 0x7c,
+ 0x00, 0xeb, 0x18, 0xc6, 0x06, 0x3d, 0x66, 0x01,
+ 0x0a, 0xdb, 0x74, 0x05, 0xc6, 0x06, 0x3d, 0x66,
+ 0x03, 0xe8, 0x69, 0x00, 0x80, 0x3e, 0x3d, 0x66,
+ 0x01, 0x75, 0x08, 0x8b, 0x77, 0x09, 0x8b, 0x7f,
+ 0x0b, 0xeb, 0x06, 0x8b, 0x77, 0x0d, 0x8b, 0x7f,
+ 0x0f, 0x8a, 0x47, 0x11, 0xa2, 0xc3, 0x64, 0xe8,
+ 0x38, 0x00, 0xe8, 0xa9, 0x97, 0x72, 0x2e, 0xeb,
+ 0x11, 0xc6, 0x06, 0x3d, 0x66, 0x00, 0xc6, 0x06,
+ 0xc3, 0x64, 0x00, 0x8b, 0xf1, 0x8b, 0xfa, 0xe8,
+ 0x24, 0x97, 0xc6, 0x06, 0xc5, 0x64, 0x00, 0xc6,
+ 0x06, 0xc6, 0x64, 0x01, 0x89, 0x36, 0xb7, 0x64,
+ 0x89, 0x3e, 0xb9, 0x64, 0x89, 0x36, 0xbb, 0x64,
+ 0x89, 0x3e, 0xbd, 0x64, 0xc3, 0xb0, 0x36, 0xe9,
+ 0x36, 0x0f, 0x83, 0xfe, 0xff, 0x75, 0x0d, 0x83,
+ 0xff, 0xff, 0x75, 0x08, 0x8b, 0x3e, 0xb1, 0x64,
+ 0x8b, 0x36, 0xaf, 0x64, 0xc3, 0x48, 0xbb, 0x54,
+ 0x72, 0x50, 0xe8, 0x8d, 0x9b, 0x58, 0xd1, 0xe0,
+ 0x03, 0xd8, 0x8b, 0x1f, 0xc3, 0x8a, 0x0f, 0x0a,
+ 0xc9, 0x74, 0x4c, 0x80, 0xe9, 0x1f, 0xb5, 0x00,
+ 0xbf, 0x38, 0x01, 0xd1, 0xe1, 0x03, 0xf9, 0x8b,
+ 0x3d, 0x81, 0xc7, 0x3a, 0x01, 0x8b, 0x0d, 0x83,
+ 0xc7, 0x02, 0x8a, 0x26, 0xe6, 0x1c, 0x51, 0x56,
+ 0x51, 0x56, 0x8a, 0x05, 0x0a, 0xc0, 0x74, 0x0b,
+ 0xfe, 0xc8, 0x0a, 0xc0, 0x74, 0x02, 0x8a, 0xc4,
+ 0x26, 0x88, 0x04, 0x47, 0x46, 0xfe, 0xcd, 0x75,
+ 0xe9, 0x5e, 0x59, 0x81, 0xc6, 0x40, 0x01, 0xfe,
+ 0xc9, 0x75, 0xdd, 0x5e, 0x59, 0x8a, 0xc5, 0xb4,
+ 0x00, 0x03, 0xf0, 0x4e, 0x43, 0xeb, 0xae, 0xc3,
+ 0x52, 0x33, 0xc0, 0x8b, 0xd0, 0x8a, 0x0f, 0x0a,
+ 0xc9, 0x74, 0x1f, 0x42, 0x80, 0xe9, 0x1f, 0xb5,
+ 0x00, 0xbf, 0x38, 0x01, 0xd1, 0xe1, 0x03, 0xf9,
+ 0x8b, 0x3d, 0x81, 0xc7, 0x3a, 0x01, 0x8b, 0x0d,
+ 0x8a, 0xcd, 0xb5, 0x00, 0x03, 0xc1, 0x48, 0x43,
+ 0xeb, 0xdb, 0x8b, 0xca, 0x5a, 0xc3, 0xb8, 0x04,
+ 0x00, 0xe8, 0x87, 0x0c, 0xbb, 0x9e, 0x33, 0xd1,
+ 0xe0, 0x03, 0xd8, 0x8b, 0x1f, 0xe8, 0x6d, 0xfb,
+ 0xc3, 0x33, 0xc0, 0xcd, 0x33, 0x0b, 0xc0, 0x74,
+ 0x01, 0xc3, 0xc6, 0x06, 0xd9, 0x00, 0x01, 0xba,
+ 0x5f, 0x33, 0xb4, 0x09, 0xcd, 0x21, 0xb4, 0x08,
+ 0xcd, 0x21, 0xc3, 0x06, 0xba, 0x00, 0xa0, 0x8e,
+ 0xc2, 0x50, 0xe8, 0xfe, 0x00, 0x58, 0x80, 0x3e,
+ 0xd8, 0x00, 0x00, 0x74, 0x02, 0x07, 0xc3, 0x0a,
+ 0xc0, 0x75, 0x12, 0xa1, 0xc0, 0x00, 0x3b, 0x06,
+ 0xc4, 0x00, 0x75, 0x09, 0xa1, 0xc2, 0x00, 0x3b,
+ 0x06, 0xc6, 0x00, 0x74, 0x58, 0xe8, 0x57, 0x00,
+ 0xba, 0x40, 0x01, 0xa1, 0xc2, 0x00, 0xa3, 0xc6,
+ 0x00, 0xf7, 0xe2, 0x8b, 0xf0, 0xa1, 0xc0, 0x00,
+ 0xa3, 0xc4, 0x00, 0x03, 0xf0, 0x89, 0x36, 0xc8,
+ 0x00, 0xba, 0x08, 0x00, 0xb8, 0x40, 0x01, 0x2b,
+ 0x06, 0xc0, 0x00, 0x3b, 0xc2, 0x77, 0x02, 0x8b,
+ 0xd0, 0xbb, 0xda, 0x00, 0xb9, 0x0c, 0x00, 0x8b,
+ 0xf9, 0x8b, 0xca, 0x8a, 0x07, 0x3c, 0x01, 0x74,
+ 0x03, 0x26, 0x88, 0x04, 0x43, 0x46, 0xe2, 0xf3,
+ 0x8b, 0xcf, 0x81, 0xc6, 0x40, 0x01, 0x83, 0xc3,
+ 0x08, 0x2b, 0xf2, 0x2b, 0xda, 0x81, 0xfe, 0xff,
+ 0xf9, 0x73, 0x02, 0xe2, 0xda, 0x07, 0xc3, 0x1e,
+ 0xba, 0x40, 0x01, 0xa1, 0xc6, 0x00, 0xf7, 0xe2,
+ 0x8b, 0xf0, 0x03, 0x36, 0xc4, 0x00, 0xba, 0x08,
+ 0x00, 0xb8, 0x40, 0x01, 0x2b, 0x06, 0xc4, 0x00,
+ 0x3b, 0xc2, 0x77, 0x02, 0x8b, 0xd0, 0x8b, 0x1e,
+ 0xc8, 0x00, 0xb9, 0x0c, 0x00, 0xa1, 0xb1, 0x32,
+ 0x8e, 0xd8, 0x8b, 0xf9, 0x8b, 0xca, 0x8a, 0x07,
+ 0x26, 0x88, 0x04, 0x43, 0x46, 0xe2, 0xf7, 0x8b,
+ 0xcf, 0x81, 0xc3, 0x40, 0x01, 0x81, 0xc6, 0x40,
+ 0x01, 0x2b, 0xda, 0x2b, 0xf2, 0x81, 0xfe, 0xff,
+ 0xf9, 0x73, 0x02, 0xe2, 0xdd, 0x1f, 0xc3, 0xb0,
+ 0x01, 0xe8, 0x27, 0xff, 0xc3, 0xc6, 0x06, 0xd8,
+ 0x00, 0x01, 0x06, 0x9c, 0xb8, 0x00, 0xa0, 0x8e,
+ 0xc0, 0xfa, 0xe8, 0x9a, 0xff, 0xa1, 0xc0, 0x00,
+ 0xa3, 0xc4, 0x00, 0xa1, 0xc2, 0x00, 0xa3, 0xc6,
+ 0x00, 0xe8, 0x8b, 0xff, 0x9d, 0x07, 0xc3, 0xc6,
+ 0x06, 0xd8, 0x00, 0x00, 0x9c, 0xfa, 0xe8, 0xce,
+ 0xff, 0x9d, 0xc3, 0xc6, 0x06, 0xca, 0x00, 0x00,
+ 0xc6, 0x06, 0xcb, 0x00, 0x00, 0x8b, 0x0e, 0xc0,
+ 0x00, 0x8b, 0x16, 0xc2, 0x00, 0x33, 0xdb, 0x2e,
+ 0xa0, 0xd7, 0x00, 0x3c, 0x4d, 0x75, 0x09, 0x81,
+ 0xf9, 0x3f, 0x01, 0x73, 0x36, 0x41, 0xeb, 0x33,
+ 0x3c, 0x4b, 0x75, 0x07, 0x0b, 0xc9, 0x74, 0x2b,
+ 0x49, 0xeb, 0x28, 0x3c, 0x48, 0x75, 0x07, 0x0b,
+ 0xd2, 0x74, 0x20, 0x4a, 0xeb, 0x1d, 0x3c, 0x50,
+ 0x75, 0x09, 0x81, 0xfa, 0xc7, 0x00, 0x73, 0x13,
+ 0x42, 0xeb, 0x10, 0x3c, 0x1d, 0x75, 0x05, 0x80,
+ 0xcb, 0x01, 0xeb, 0x07, 0x3c, 0x38, 0x75, 0x19,
+ 0x80, 0xcb, 0x02, 0x80, 0x3e, 0xd9, 0x00, 0x01,
+ 0x74, 0x1d, 0x53, 0x51, 0x52, 0xd1, 0xe1, 0xb8,
+ 0x04, 0x00, 0xcd, 0x33, 0x5a, 0x59, 0x5b, 0xeb,
+ 0x0e, 0x80, 0x3e, 0xd9, 0x00, 0x01, 0x74, 0x07,
+ 0xb8, 0x03, 0x00, 0xcd, 0x33, 0xd1, 0xe9, 0x89,
+ 0x0e, 0xc0, 0x00, 0x89, 0x16, 0xc2, 0x00, 0xf6,
+ 0xc3, 0x02, 0x74, 0x05, 0xc6, 0x06, 0xcb, 0x00,
+ 0x01, 0xf6, 0xc3, 0x01, 0x74, 0x05, 0xc6, 0x06,
+ 0xca, 0x00, 0x01, 0xc3, 0x80, 0x3e, 0xcf, 0x00,
+ 0x02, 0x75, 0x07, 0xc6, 0x06, 0xcf, 0x00, 0x00,
+ 0xeb, 0x0e, 0x80, 0x3e, 0xcb, 0x00, 0x00, 0x74,
+ 0x13, 0x80, 0x3e, 0xcd, 0x00, 0x01, 0x74, 0x11,
+ 0xc6, 0x06, 0xcb, 0x00, 0x01, 0xc6, 0x06, 0xcd,
+ 0x00, 0x01, 0xf9, 0xc3, 0xc6, 0x06, 0xcd, 0x00,
+ 0x00, 0xf8, 0xc3, 0x80, 0x3e, 0xcf, 0x00, 0x04,
+ 0x75, 0x07, 0xc6, 0x06, 0xcf, 0x00, 0x00, 0xeb,
+ 0x0e, 0x80, 0x3e, 0xca, 0x00, 0x00, 0x74, 0x13,
+ 0x80, 0x3e, 0xcc, 0x00, 0x01, 0x74, 0x11, 0xc6,
+ 0x06, 0xca, 0x00, 0x01, 0xc6, 0x06, 0xcc, 0x00,
+ 0x01, 0xf9, 0xc3, 0xc6, 0x06, 0xcc, 0x00, 0x00,
+ 0xf8, 0xc3, 0xe8, 0x06, 0xff, 0xe8, 0xcb, 0xff,
+ 0x72, 0x05, 0xe8, 0x97, 0xff, 0x73, 0xf3, 0xc3,
+ 0x50, 0x52, 0xba, 0xda, 0x03, 0xec, 0xa8, 0x08,
+ 0x75, 0xf8, 0xec, 0xa8, 0x08, 0x74, 0xfb, 0x5a,
+ 0x58, 0xc3, 0x1e, 0x8e, 0xda, 0xb7, 0x00, 0x2a,
+ 0xf8, 0x8a, 0xe7, 0xf6, 0xc7, 0x80, 0x74, 0x04,
+ 0xb4, 0x40, 0x02, 0xe7, 0x50, 0xa8, 0x80, 0x74,
+ 0x04, 0x34, 0xff, 0xfe, 0xc0, 0xb4, 0x00, 0x8b,
+ 0xc8, 0xb8, 0x40, 0x00, 0x33, 0xd2, 0xf7, 0xf1,
+ 0x8b, 0xc8, 0x58, 0xfc, 0x50, 0x51, 0x56, 0xb9,
+ 0x40, 0x00, 0xfb, 0xe8, 0xba, 0xff, 0xfa, 0xba,
+ 0xc8, 0x03, 0x32, 0xc0, 0xee, 0x42, 0xfa, 0xac,
+ 0x2a, 0xc4, 0x73, 0x02, 0x32, 0xc0, 0xee, 0xac,
+ 0x2a, 0xc4, 0x73, 0x02, 0x32, 0xc0, 0xee, 0xac,
+ 0x2a, 0xc4, 0x73, 0x02, 0x32, 0xc0, 0xee, 0xac,
+ 0x2a, 0xc4, 0x73, 0x02, 0x32, 0xc0, 0xee, 0xac,
+ 0x2a, 0xc4, 0x73, 0x02, 0x32, 0xc0, 0xee, 0xac,
+ 0x2a, 0xc4, 0x73, 0x02, 0x32, 0xc0, 0xee, 0xe2,
+ 0xce, 0xfb, 0xb9, 0x40, 0x00, 0xe8, 0x78, 0xff,
+ 0xfa, 0xac, 0x2a, 0xc4, 0x73, 0x02, 0x32, 0xc0,
+ 0xee, 0xac, 0x2a, 0xc4, 0x73, 0x02, 0x32, 0xc0,
+ 0xee, 0xac, 0x2a, 0xc4, 0x73, 0x02, 0x32, 0xc0,
+ 0xee, 0xac, 0x2a, 0xc4, 0x73, 0x02, 0x32, 0xc0,
+ 0xee, 0xac, 0x2a, 0xc4, 0x73, 0x02, 0x32, 0xc0,
+ 0xee, 0xac, 0x2a, 0xc4, 0x73, 0x02, 0x32, 0xc0,
+ 0xee, 0xe2, 0xce, 0xfb, 0x5e, 0x59, 0x58, 0x02,
+ 0xe7, 0x49, 0x74, 0x03, 0xe9, 0x75, 0xff, 0x1f,
+ 0xc3, 0xbb, 0x3e, 0x66, 0xe8, 0xfb, 0x97, 0x8b,
+ 0x36, 0xaf, 0x64, 0x8b, 0x3e, 0xb1, 0x64, 0x8b,
+ 0x07, 0x3d, 0xff, 0xff, 0x74, 0x25, 0x53, 0x8b,
+ 0x4f, 0x04, 0x8b, 0x57, 0x06, 0x8b, 0x5f, 0x02,
+ 0xe8, 0x1c, 0x00, 0x5b, 0x72, 0x05, 0x83, 0xc3,
+ 0x09, 0xeb, 0xe4, 0x8a, 0x47, 0x08, 0x3a, 0x06,
+ 0x08, 0x66, 0x74, 0x06, 0xa2, 0x08, 0x66, 0xe8,
+ 0x19, 0x00, 0xc3, 0x32, 0xc0, 0xeb, 0xef, 0x3b,
+ 0xf0, 0x72, 0x0e, 0x3b, 0xf1, 0x77, 0x0a, 0x3b,
+ 0xfb, 0x72, 0x06, 0x3b, 0xfa, 0x77, 0x02, 0xf9,
+ 0xc3, 0xf8, 0xc3, 0x80, 0x3e, 0xad, 0x64, 0x00,
+ 0x74, 0x31, 0xbe, 0x09, 0x66, 0xb9, 0x0d, 0x00,
+ 0xb3, 0xf2, 0x51, 0x8a, 0x24, 0x8a, 0x6c, 0x01,
+ 0x8a, 0x4c, 0x02, 0x2a, 0xe0, 0x73, 0x02, 0x32,
+ 0xe4, 0x2a, 0xe8, 0x73, 0x02, 0x32, 0xed, 0x2a,
+ 0xc8, 0x73, 0x02, 0x32, 0xc9, 0x50, 0xe8, 0x37,
+ 0x00, 0x58, 0x83, 0xc6, 0x03, 0xfe, 0xc3, 0x59,
+ 0xe2, 0xd8, 0xc3, 0xbe, 0x30, 0x66, 0xb9, 0x0d,
+ 0x00, 0xb3, 0xf2, 0x51, 0x8a, 0x24, 0x8a, 0xec,
+ 0x8a, 0xcc, 0x2a, 0xe0, 0x73, 0x02, 0x32, 0xe4,
+ 0x2a, 0xe8, 0x73, 0x02, 0x32, 0xed, 0x2a, 0xc8,
+ 0x73, 0x02, 0x32, 0xc9, 0x50, 0xe8, 0x08, 0x00,
+ 0x58, 0x46, 0xfe, 0xc3, 0x59, 0xe2, 0xdc, 0xc3,
+ 0xba, 0xc8, 0x03, 0x8a, 0xc3, 0xee, 0xeb, 0x00,
+ 0x42, 0x8a, 0xc4, 0xee, 0xeb, 0x00, 0x8a, 0xc5,
+ 0xee, 0xeb, 0x00, 0x8a, 0xc1, 0xee, 0xc3, 0x1e,
+ 0x06, 0xa1, 0xb1, 0x32, 0x8e, 0xc0, 0xa1, 0xb3,
+ 0x32, 0x8e, 0xd8, 0x33, 0xff, 0x33, 0xf6, 0xb9,
+ 0x00, 0x7d, 0xfc, 0xf3, 0xa5, 0x07, 0x1f, 0xc3,
+ 0x1e, 0x06, 0xe8, 0x4b, 0xfe, 0xb8, 0x00, 0xa0,
+ 0x8e, 0xc0, 0xa1, 0xb1, 0x32, 0x8e, 0xd8, 0x33,
+ 0xff, 0x33, 0xf6, 0xb9, 0x00, 0x7d, 0xfc, 0xf3,
+ 0xa5, 0x07, 0x1f, 0xc3, 0xe8, 0xe1, 0xff, 0xe8,
+ 0xf5, 0xfc, 0xc3, 0xbe, 0x86, 0x32, 0x8b, 0x04,
+ 0x8b, 0x54, 0x02, 0x03, 0xc1, 0x73, 0x01, 0x42,
+ 0x89, 0x07, 0x89, 0x57, 0x02, 0xc3, 0xbe, 0x86,
+ 0x32, 0x8b, 0x04, 0x8b, 0x54, 0x02, 0x8b, 0x4f,
+ 0x02, 0x8b, 0x37, 0x3b, 0xd1, 0x77, 0x08, 0x72,
+ 0x04, 0x3b, 0xc6, 0x73, 0x02, 0xf8, 0xc3, 0xf9,
+ 0xc3, 0x8a, 0x0e, 0x42, 0x32, 0xb5, 0x00, 0x80,
+ 0xf9, 0x01, 0x75, 0x05, 0xc6, 0x06, 0xa8, 0x64,
+ 0x04, 0x80, 0xf9, 0x03, 0x75, 0x05, 0xc6, 0x06,
+ 0xa8, 0x64, 0x05, 0x80, 0xf9, 0x04, 0x75, 0x05,
+ 0xc6, 0x06, 0xa8, 0x64, 0x05, 0xba, 0x44, 0x00,
+ 0xa1, 0xc1, 0x32, 0xa3, 0xac, 0x00, 0xc7, 0x06,
+ 0xaa, 0x00, 0x00, 0x01, 0xe8, 0x29, 0x06, 0xb8,
+ 0x00, 0x01, 0xa3, 0x4a, 0x32, 0xa1, 0xc1, 0x32,
+ 0xa3, 0x4c, 0x32, 0xb4, 0x01, 0x8b, 0x1e, 0x43,
+ 0x32, 0x8b, 0x0e, 0xc3, 0x32, 0x8b, 0x3e, 0xc5,
+ 0x32, 0x8a, 0x16, 0x45, 0x32, 0x8a, 0x36, 0x46,
+ 0x32, 0xff, 0x1e, 0x4a, 0x32, 0xb8, 0x3b, 0x0b,
+ 0x8e, 0xd8, 0x8e, 0xc0, 0xc3, 0xe8, 0x3b, 0x00,
+ 0xbb, 0x4e, 0x32, 0xba, 0x0a, 0x00, 0x8b, 0x3e,
+ 0x7d, 0x32, 0x8b, 0x0f, 0x0b, 0xc9, 0x74, 0x25,
+ 0x8a, 0x47, 0x03, 0xa2, 0x7c, 0x32, 0x33, 0xc0,
+ 0x89, 0x07, 0x89, 0x47, 0x02, 0x3b, 0xf9, 0x74,
+ 0x13, 0x89, 0x0e, 0x7d, 0x32, 0xb0, 0x01, 0xb4,
+ 0x05, 0xff, 0x1e, 0x4a, 0x32, 0xb8, 0x3b, 0x0b,
+ 0x8e, 0xd8, 0x8e, 0xc0, 0xc3, 0x83, 0xc3, 0x04,
+ 0x4a, 0x75, 0xcf, 0xc7, 0x06, 0x7a, 0x32, 0x00,
+ 0x00, 0xba, 0x0a, 0x00, 0xbb, 0x4e, 0x32, 0x8b,
+ 0x0f, 0x0b, 0xc9, 0x74, 0x07, 0x8a, 0x47, 0x02,
+ 0xa2, 0x7a, 0x32, 0xc3, 0x83, 0xc3, 0x04, 0x4a,
+ 0x75, 0xed, 0xc3, 0xe8, 0xdd, 0xff, 0xbb, 0x4e,
+ 0x32, 0xba, 0x0a, 0x00, 0x8b, 0x0f, 0x0b, 0xc9,
+ 0x74, 0x14, 0x89, 0x0e, 0x7d, 0x32, 0xb0, 0x01,
+ 0xb4, 0x05, 0xff, 0x1e, 0x4a, 0x32, 0xb8, 0x3b,
+ 0x0b, 0x8e, 0xd8, 0x8e, 0xc0, 0xc3, 0x83, 0xc3,
+ 0x04, 0x4a, 0x75, 0xe0, 0xc3, 0xbb, 0x4e, 0x32,
+ 0x89, 0x0f, 0x89, 0x47, 0x02, 0xc3, 0x89, 0x4f,
+ 0x04, 0x89, 0x47, 0x06, 0xc3, 0x89, 0x4f, 0x08,
+ 0x89, 0x47, 0x0a, 0xc3, 0x89, 0x4f, 0x0c, 0x89,
+ 0x47, 0x0e, 0xc3, 0x89, 0x4f, 0x10, 0x89, 0x47,
+ 0x12, 0xc3, 0x89, 0x4f, 0x14, 0x89, 0x47, 0x16,
+ 0xc3, 0x89, 0x4f, 0x18, 0x89, 0x47, 0x1a, 0xc3,
+ 0x89, 0x4f, 0x1c, 0x89, 0x47, 0x1e, 0xc3, 0x89,
+ 0x4f, 0x20, 0x89, 0x47, 0x22, 0xc3, 0x89, 0x4f,
+ 0x24, 0x89, 0x47, 0x26, 0xc3, 0x81, 0xe9, 0xf3,
+ 0x01, 0xba, 0x2c, 0x00, 0xa1, 0xbf, 0x32, 0xa3,
+ 0xac, 0x00, 0xc7, 0x06, 0xaa, 0x00, 0x00, 0x00,
+ 0xe8, 0x15, 0x05, 0xc3, 0xbe, 0xc7, 0x32, 0xbb,
+ 0x47, 0x33, 0xb9, 0x01, 0x00, 0x53, 0x51, 0x56,
+ 0x49, 0xb0, 0x1b, 0xf6, 0xe1, 0x03, 0xf0, 0xd1,
+ 0xe1, 0x03, 0xd9, 0x8b, 0x0f, 0x0b, 0xc9, 0x74,
+ 0x1b, 0x81, 0xe9, 0xf3, 0x01, 0xba, 0x2c, 0x00,
+ 0x8b, 0x44, 0x16, 0xa3, 0xac, 0x00, 0xc7, 0x06,
+ 0xaa, 0x00, 0x00, 0x00, 0xe8, 0xe1, 0x04, 0xb8,
+ 0x01, 0x00, 0x89, 0x04, 0x5e, 0x59, 0x5b, 0x41,
+ 0x80, 0xf9, 0x04, 0x76, 0xc8, 0xc3, 0xbe, 0xc7,
+ 0x32, 0xbb, 0x47, 0x33, 0xb9, 0x01, 0x00, 0x53,
+ 0x51, 0x56, 0x8b, 0xd1, 0x49, 0xb0, 0x1b, 0xf6,
+ 0xe1, 0x03, 0xf0, 0xd1, 0xe1, 0x03, 0xd9, 0x8b,
+ 0x07, 0x0b, 0xc0, 0x74, 0x26, 0x8b, 0x0e, 0xf3,
+ 0xb4, 0x49, 0xc1, 0xe1, 0x02, 0x03, 0xca, 0xba,
+ 0x38, 0x00, 0xe8, 0x2b, 0x00, 0x8b, 0x44, 0x16,
+ 0xa3, 0xac, 0x00, 0xc7, 0x06, 0xaa, 0x00, 0x00,
+ 0x00, 0x56, 0xe8, 0x93, 0x04, 0x5e, 0xb8, 0x01,
+ 0x00, 0x89, 0x04, 0x5e, 0x59, 0x5b, 0x41, 0x80,
+ 0xf9, 0x04, 0x76, 0xbb, 0xbf, 0x47, 0x33, 0xb9,
+ 0x08, 0x00, 0x33, 0xc0, 0xfc, 0xf3, 0xab, 0xc3,
+ 0x83, 0xf9, 0x51, 0x75, 0x0e, 0x80, 0x3e, 0xad,
+ 0xdb, 0x01, 0x75, 0x07, 0xb9, 0xa0, 0x00, 0xba,
+ 0x2c, 0x00, 0xc3, 0x81, 0xf9, 0x89, 0x00, 0x75,
+ 0x1c, 0x80, 0x3e, 0xc5, 0xdb, 0x01, 0x75, 0x15,
+ 0x80, 0x3e, 0xc6, 0xdb, 0x01, 0x75, 0x07, 0xb9,
+ 0xcb, 0x00, 0xba, 0x2c, 0x00, 0xc3, 0xb9, 0xca,
+ 0x00, 0xba, 0x2c, 0x00, 0xc3, 0x83, 0xf9, 0x19,
+ 0x75, 0x0e, 0x80, 0x3e, 0xdf, 0xdb, 0x02, 0x75,
+ 0x07, 0xb9, 0x4c, 0x01, 0xba, 0x2c, 0x00, 0xc3,
+ 0x83, 0xf9, 0x25, 0x75, 0x1c, 0x80, 0x3e, 0xe2,
+ 0xdb, 0x01, 0x75, 0x07, 0xb9, 0x5f, 0x01, 0xba,
+ 0x2c, 0x00, 0xc3, 0x80, 0x3e, 0xe2, 0xdb, 0x02,
+ 0x75, 0x07, 0xb9, 0x6c, 0x01, 0xba, 0x2c, 0x00,
+ 0xc3, 0x80, 0x3e, 0xe7, 0xdb, 0x01, 0x75, 0x18,
+ 0x83, 0xf9, 0x1d, 0x75, 0x07, 0xb9, 0x7c, 0x01,
+ 0xba, 0x2c, 0x00, 0xc3, 0x83, 0xf9, 0x1e, 0x75,
+ 0x07, 0xb9, 0x7d, 0x01, 0xba, 0x2c, 0x00, 0xc3,
+ 0x83, 0x3e, 0xec, 0xdb, 0x01, 0x75, 0x0b, 0x83,
+ 0xf9, 0x2a, 0x75, 0x06, 0xb9, 0x90, 0x01, 0xba,
+ 0x2c, 0x00, 0xc3, 0xa1, 0xbf, 0x32, 0xa3, 0xac,
+ 0x00, 0x33, 0xc0, 0xa3, 0xaa, 0x00, 0xb9, 0x01,
+ 0x00, 0xba, 0x54, 0x00, 0xe8, 0xc9, 0x03, 0xc3,
+ 0x8b, 0x0e, 0xf3, 0xb4, 0xba, 0x25, 0x00, 0xa1,
+ 0xb5, 0x32, 0xa3, 0xac, 0x00, 0x33, 0xc0, 0xa3,
+ 0xaa, 0x00, 0xe8, 0xb3, 0x03, 0x83, 0x3e, 0xf3,
+ 0xb4, 0x07, 0x75, 0x11, 0xa0, 0xe6, 0xdb, 0x3c,
+ 0x02, 0x74, 0x0a, 0xe8, 0x08, 0x00, 0x3c, 0x01,
+ 0x74, 0x03, 0xe8, 0x01, 0x00, 0xc3, 0x1e, 0x8b,
+ 0x16, 0xb5, 0x32, 0x8e, 0xda, 0x33, 0xdb, 0xff,
+ 0x0f, 0x1f, 0xc3, 0xe8, 0x0f, 0x00, 0xe8, 0xf0,
+ 0xfb, 0xe8, 0x3b, 0x00, 0xc6, 0x06, 0x08, 0x66,
+ 0xfe, 0xe8, 0xe5, 0xfb, 0xc3, 0x89, 0x3e, 0xb7,
+ 0x64, 0x89, 0x36, 0xb9, 0x64, 0x89, 0x3e, 0xbb,
+ 0x64, 0x89, 0x36, 0xbd, 0x64, 0xa3, 0xaf, 0x64,
+ 0x89, 0x1e, 0xb1, 0x64, 0x88, 0x2e, 0xc3, 0x64,
+ 0x88, 0x0e, 0x07, 0x66, 0xe8, 0x49, 0x92, 0xc6,
+ 0x06, 0xdc, 0x1c, 0x02, 0xc6, 0x06, 0xda, 0x1c,
+ 0x01, 0xc6, 0x06, 0xc6, 0x64, 0x01, 0xc3, 0xc6,
+ 0x06, 0xc5, 0x64, 0x00, 0xc6, 0x06, 0x3d, 0x66,
+ 0x00, 0xc6, 0x06, 0x40, 0x67, 0xff, 0xc6, 0x06,
+ 0xc4, 0x64, 0x01, 0xe8, 0x12, 0x89, 0x80, 0x3e,
+ 0xad, 0x64, 0x01, 0x75, 0x0a, 0xe8, 0x84, 0x00,
+ 0xe8, 0x1d, 0x00, 0xe8, 0x8b, 0x00, 0xc3, 0xe8,
+ 0x94, 0x00, 0xe8, 0x13, 0x00, 0xb8, 0x00, 0xa0,
+ 0xb9, 0x00, 0x7d, 0xe8, 0xa2, 0x00, 0xe8, 0x92,
+ 0x00, 0xe8, 0x5d, 0x00, 0xe8, 0x59, 0xfc, 0xc3,
+ 0xe8, 0xa2, 0x01, 0xe8, 0x01, 0x00, 0xc3, 0xe8,
+ 0xf0, 0x05, 0xe8, 0x0f, 0x01, 0xe8, 0x2f, 0xfc,
+ 0xe8, 0x45, 0xfc, 0xff, 0x36, 0xce, 0x64, 0xc7,
+ 0x06, 0xce, 0x64, 0xff, 0xff, 0xe8, 0x86, 0x8f,
+ 0x8f, 0x06, 0xce, 0x64, 0xc6, 0x06, 0x33, 0x33,
+ 0x01, 0xe8, 0x22, 0x00, 0xc6, 0x06, 0xdd, 0x1c,
+ 0x02, 0xe8, 0xda, 0x7b, 0xbb, 0xa4, 0x32, 0x8b,
+ 0x0e, 0x90, 0x32, 0xe8, 0x3d, 0xfc, 0xc6, 0x06,
+ 0x33, 0x33, 0x00, 0xc6, 0x06, 0xdc, 0x1c, 0x03,
+ 0xc6, 0x06, 0xdd, 0x1c, 0x03, 0xc3, 0xbb, 0xa4,
+ 0x32, 0x33, 0xc0, 0x89, 0x07, 0x89, 0x47, 0x02,
+ 0xc3, 0xb8, 0x1b, 0x10, 0x33, 0xdb, 0xb9, 0xff,
+ 0x00, 0xcd, 0x10, 0xc3, 0x8b, 0x16, 0xb3, 0x32,
+ 0xbe, 0x00, 0xfa, 0xb0, 0xf0, 0xe8, 0x4a, 0xfa,
+ 0xc3, 0x8b, 0x16, 0xb3, 0x32, 0xbe, 0x00, 0xfa,
+ 0xb0, 0x10, 0xe8, 0x3d, 0xfa, 0xc3, 0x8b, 0x16,
+ 0xb3, 0x32, 0xbe, 0x00, 0xfa, 0xb0, 0xc0, 0xe8,
+ 0x30, 0xfa, 0xc3, 0x8b, 0x16, 0xb3, 0x32, 0xbe,
+ 0x00, 0xfa, 0xb0, 0x20, 0xe8, 0x23, 0xfa, 0xc3,
+ 0x06, 0x8e, 0xc0, 0x33, 0xc0, 0x8b, 0xf8, 0xfc,
+ 0xf3, 0xab, 0x07, 0xc3, 0xc6, 0x06, 0xdc, 0x1c,
+ 0x01, 0xe8, 0x0f, 0x00, 0xc3, 0xc6, 0x06, 0xdc,
+ 0x1c, 0x02, 0xe8, 0x06, 0x00, 0xc6, 0x06, 0xdc,
+ 0x1c, 0x03, 0xc3, 0x80, 0x3e, 0xad, 0x64, 0x01,
+ 0x75, 0x0a, 0xe8, 0x9f, 0xff, 0xe8, 0x1d, 0x00,
+ 0xe8, 0xa6, 0xff, 0xc3, 0xe8, 0xaf, 0xff, 0xe8,
+ 0x13, 0x00, 0xb8, 0x00, 0xa0, 0xb9, 0x00, 0x7d,
+ 0xe8, 0xbd, 0xff, 0xe8, 0xad, 0xff, 0xe8, 0x78,
+ 0xff, 0xe8, 0x74, 0xfb, 0xc3, 0xe8, 0xbd, 0x00,
+ 0xe8, 0x0f, 0x05, 0xe8, 0x2e, 0x00, 0xe8, 0x03,
+ 0xfd, 0xe8, 0x4b, 0xfb, 0xe8, 0x61, 0xfb, 0xe8,
+ 0x54, 0xff, 0xc6, 0x06, 0x33, 0x33, 0x01, 0xc6,
+ 0x06, 0xdd, 0x1c, 0x02, 0xe8, 0x07, 0x7b, 0xbb,
+ 0xa4, 0x32, 0x8b, 0x0e, 0x90, 0x32, 0xe8, 0x6a,
+ 0xfb, 0xc6, 0x06, 0x33, 0x33, 0x00, 0xc6, 0x06,
+ 0xdd, 0x1c, 0x03, 0xc3, 0x55, 0xbf, 0xc7, 0x32,
+ 0xb9, 0x36, 0x00, 0x33, 0xc0, 0xfc, 0xf3, 0xab,
+ 0xbe, 0xc7, 0x32, 0xbb, 0x9e, 0xd8, 0xbd, 0x46,
+ 0xd9, 0xb9, 0x01, 0x00, 0x53, 0x51, 0x56, 0x55,
+ 0x8b, 0x16, 0xf3, 0xb4, 0x4a, 0xc1, 0xe2, 0x02,
+ 0x03, 0xda, 0x03, 0xd9, 0x4b, 0xd1, 0xe2, 0x03,
+ 0xea, 0x49, 0x03, 0xe9, 0x03, 0xe9, 0xb0, 0x1b,
+ 0xf6, 0xe1, 0x41, 0x03, 0xf0, 0x8a, 0x2f, 0x0a,
+ 0xed, 0x74, 0x3e, 0x8a, 0xd1, 0xb6, 0x00, 0x8b,
+ 0x0e, 0xf3, 0xb4, 0x49, 0xc1, 0xe1, 0x02, 0x03,
+ 0xca, 0x51, 0x3e, 0x8b, 0x5e, 0x00, 0x83, 0xc6,
+ 0x16, 0xe8, 0x4f, 0x04, 0x59, 0xba, 0x38, 0x00,
+ 0xe8, 0x15, 0xfd, 0x8b, 0x04, 0xa3, 0xac, 0x00,
+ 0xc7, 0x06, 0xaa, 0x00, 0x00, 0x00, 0x56, 0xe8,
+ 0x7e, 0x01, 0x5e, 0x83, 0xee, 0x16, 0xb8, 0x01,
+ 0x00, 0x89, 0x04, 0x89, 0x44, 0x12, 0x89, 0x44,
+ 0x14, 0x5d, 0x5e, 0x59, 0x5b, 0x41, 0x80, 0xf9,
+ 0x04, 0x76, 0x91, 0x5d, 0xc3, 0x8b, 0x0e, 0xf3,
+ 0xb4, 0xba, 0x1d, 0x00, 0xa1, 0xb3, 0x32, 0xa3,
+ 0xac, 0x00, 0x33, 0xc0, 0xa3, 0xaa, 0x00, 0xe8,
+ 0x4e, 0x01, 0xe8, 0x9e, 0x00, 0xe8, 0x80, 0xfd,
+ 0xc3, 0xe8, 0x04, 0x00, 0xe8, 0x91, 0xfa, 0xc3,
+ 0xe8, 0xda, 0xff, 0xff, 0x36, 0x33, 0x33, 0xff,
+ 0x36, 0xdc, 0x1c, 0xff, 0x36, 0xdd, 0x1c, 0xc6,
+ 0x06, 0x33, 0x33, 0x00, 0xc6, 0x06, 0xdc, 0x1c,
+ 0x03, 0xc6, 0x06, 0xdd, 0x1c, 0x03, 0xfe, 0x0e,
+ 0x07, 0x66, 0xe8, 0xae, 0x80, 0xe8, 0xa3, 0x7d,
+ 0xe8, 0x0c, 0x7f, 0xe8, 0xb2, 0xf8, 0xe8, 0xf8,
+ 0x85, 0xe8, 0xab, 0x7f, 0xe8, 0x70, 0xf7, 0x8f,
+ 0x06, 0xdd, 0x1c, 0x8f, 0x06, 0xdc, 0x1c, 0x8f,
+ 0x06, 0x33, 0x33, 0xc3, 0xe8, 0x96, 0xff, 0xff,
+ 0x36, 0x33, 0x33, 0xff, 0x36, 0xdc, 0x1c, 0xff,
+ 0x36, 0xdd, 0x1c, 0xc6, 0x06, 0x33, 0x33, 0x00,
+ 0xc6, 0x06, 0xdc, 0x1c, 0x03, 0xc6, 0x06, 0xdd,
+ 0x1c, 0x03, 0xe8, 0xe1, 0x79, 0x8f, 0x06, 0xdd,
+ 0x1c, 0x8f, 0x06, 0xdc, 0x1c, 0x8f, 0x06, 0x33,
+ 0x33, 0xc3, 0xe8, 0x68, 0xff, 0xff, 0x36, 0x33,
+ 0x33, 0xff, 0x36, 0xdd, 0x1c, 0xc6, 0x06, 0x33,
+ 0x33, 0x00, 0xc6, 0x06, 0xdd, 0x1c, 0x03, 0xe8,
+ 0xbc, 0x79, 0x8f, 0x06, 0xdd, 0x1c, 0x8f, 0x06,
+ 0x33, 0x33, 0xc3, 0x06, 0xa1, 0xb5, 0x32, 0x8e,
+ 0xc0, 0xa3, 0xac, 0x00, 0xc7, 0x06, 0xaa, 0x00,
+ 0x00, 0x00, 0xe8, 0x13, 0x91, 0x53, 0x8a, 0x0f,
+ 0x0a, 0xc9, 0x74, 0x17, 0x80, 0xf9, 0xff, 0x74,
+ 0x16, 0xb5, 0x00, 0xba, 0x4c, 0x00, 0xe8, 0x87,
+ 0x00, 0xa1, 0xb3, 0x32, 0x8b, 0x1e, 0xaa, 0x00,
+ 0xe8, 0xb9, 0x6a, 0x5b, 0x43, 0xeb, 0xde, 0x5b,
+ 0x07, 0xc3, 0x06, 0x8b, 0x16, 0xb5, 0x32, 0x8e,
+ 0xc2, 0x89, 0x16, 0xac, 0x00, 0xc7, 0x06, 0xaa,
+ 0x00, 0x00, 0x00, 0x8a, 0xc8, 0xb5, 0x00, 0xba,
+ 0x4c, 0x00, 0xe8, 0x5b, 0x00, 0xa1, 0xb3, 0x32,
+ 0x8b, 0x1e, 0xaa, 0x00, 0xe8, 0x8d, 0x6a, 0x07,
+ 0xc3, 0xe8, 0xd6, 0xff, 0xe8, 0x81, 0xfc, 0xc3,
+ 0xb8, 0x00, 0x3d, 0xb1, 0x00, 0xcd, 0x21, 0x72,
+ 0x3c, 0xa3, 0xa2, 0x00, 0xb8, 0x02, 0x42, 0x33,
+ 0xc9, 0x33, 0xd2, 0x8b, 0x1e, 0xa2, 0x00, 0xcd,
+ 0x21, 0x72, 0x2a, 0x8b, 0xd8, 0xb0, 0x33, 0x0b,
+ 0xd2, 0x75, 0x22, 0x89, 0x1e, 0xa4, 0x00, 0xb8,
+ 0x00, 0x42, 0x33, 0xc9, 0x33, 0xd2, 0x8b, 0x1e,
+ 0xa2, 0x00, 0xcd, 0x21, 0x72, 0x0f, 0xb4, 0x3e,
+ 0x8b, 0x1e, 0xa2, 0x00, 0xcd, 0x21, 0x72, 0x05,
+ 0x8b, 0x0e, 0xa4, 0x00, 0xc3, 0xe9, 0xf8, 0x03,
+ 0x51, 0xb8, 0x00, 0x3d, 0xb1, 0x00, 0xcd, 0x21,
+ 0x72, 0x6a, 0xa3, 0xa2, 0x00, 0x59, 0xb8, 0x04,
+ 0x00, 0xf7, 0xe1, 0x8b, 0xca, 0x8b, 0xd0, 0x8b,
+ 0x1e, 0xa2, 0x00, 0xb8, 0x00, 0x42, 0xcd, 0x21,
+ 0x72, 0x52, 0x8b, 0x1e, 0xa2, 0x00, 0xb9, 0x08,
+ 0x00, 0xba, 0xae, 0x00, 0xb4, 0x3f, 0xcd, 0x21,
+ 0x72, 0x42, 0xbb, 0xae, 0x00, 0x8b, 0x17, 0x8b,
+ 0x4f, 0x02, 0x8b, 0x47, 0x04, 0x2b, 0xc2, 0xa3,
+ 0xa4, 0x00, 0x8b, 0x1e, 0xa2, 0x00, 0xb8, 0x00,
+ 0x42, 0xcd, 0x21, 0x72, 0x27, 0x8b, 0x1e, 0xa2,
+ 0x00, 0x8b, 0x0e, 0xa4, 0x00, 0x8b, 0x16, 0xaa,
+ 0x00, 0xa1, 0xac, 0x00, 0x8e, 0xd8, 0xb4, 0x3f,
+ 0xcd, 0x21, 0x72, 0x10, 0xb8, 0x3b, 0x0b, 0x8e,
+ 0xd8, 0xb4, 0x3e, 0x8b, 0x1e, 0xa2, 0x00, 0xcd,
+ 0x21, 0x72, 0x01, 0xc3, 0xe9, 0x81, 0x03, 0xb8,
+ 0x00, 0x3d, 0xb1, 0x00, 0xcd, 0x21, 0x72, 0x54,
+ 0xa3, 0xa2, 0x00, 0xb8, 0x02, 0x42, 0x33, 0xc9,
+ 0x33, 0xd2, 0x8b, 0x1e, 0xa2, 0x00, 0xcd, 0x21,
+ 0x72, 0x42, 0x8b, 0xd8, 0xb0, 0x33, 0x0b, 0xd2,
+ 0x75, 0x3a, 0x89, 0x1e, 0xa4, 0x00, 0xb8, 0x00,
+ 0x42, 0x33, 0xc9, 0x33, 0xd2, 0x8b, 0x1e, 0xa2,
+ 0x00, 0xcd, 0x21, 0x72, 0x27, 0x8b, 0x1e, 0xa2,
+ 0x00, 0x8b, 0x0e, 0xa4, 0x00, 0x8b, 0x16, 0xaa,
+ 0x00, 0xa1, 0xac, 0x00, 0x8e, 0xd8, 0xb4, 0x3f,
+ 0xcd, 0x21, 0x72, 0x10, 0xb8, 0x3b, 0x0b, 0x8e,
+ 0xd8, 0xb4, 0x3e, 0x8b, 0x1e, 0xa2, 0x00, 0xcd,
+ 0x21, 0x72, 0x01, 0xc3, 0xe9, 0x21, 0x03, 0xb8,
+ 0x00, 0x3d, 0xb1, 0x00, 0xcd, 0x21, 0x72, 0x3b,
+ 0xa3, 0xa2, 0x00, 0xb8, 0x00, 0x42, 0x33, 0xc9,
+ 0x8b, 0x16, 0xa8, 0x00, 0x8b, 0x1e, 0xa2, 0x00,
+ 0xcd, 0x21, 0x72, 0x27, 0x8b, 0x1e, 0xa2, 0x00,
+ 0x8b, 0x0e, 0xa6, 0x00, 0x8b, 0x16, 0xaa, 0x00,
+ 0xa1, 0xac, 0x00, 0x8e, 0xd8, 0xb4, 0x3f, 0xcd,
+ 0x21, 0x72, 0x10, 0xb8, 0x3b, 0x0b, 0x8e, 0xd8,
+ 0xb4, 0x3e, 0x8b, 0x1e, 0xa2, 0x00, 0xcd, 0x21,
+ 0x72, 0x01, 0xc3, 0xe9, 0xda, 0x02, 0x51, 0xb4,
+ 0x3c, 0xb1, 0x00, 0xcd, 0x21, 0x59, 0x72, 0x26,
+ 0xa3, 0xa2, 0x00, 0x8b, 0x1e, 0xa2, 0x00, 0x8b,
+ 0x16, 0xaa, 0x00, 0xa1, 0xac, 0x00, 0x8e, 0xd8,
+ 0xb4, 0x40, 0xcd, 0x21, 0x72, 0x10, 0xb8, 0x3b,
+ 0x0b, 0x8e, 0xd8, 0xb4, 0x3e, 0x8b, 0x1e, 0xa2,
+ 0x00, 0xcd, 0x21, 0x72, 0x01, 0xc3, 0xe9, 0xa7,
+ 0x02, 0xba, 0x13, 0x00, 0xb8, 0x00, 0x3d, 0xb1,
+ 0x00, 0xcd, 0x21, 0x72, 0x19, 0x8b, 0xd8, 0xb4,
+ 0x3e, 0xcd, 0x21, 0x72, 0x73, 0x8c, 0x1e, 0xac,
+ 0x00, 0xb8, 0x42, 0x32, 0xa3, 0xaa, 0x00, 0xba,
+ 0x13, 0x00, 0xe8, 0x02, 0xff, 0xc3, 0x3d, 0x02,
+ 0x00, 0x75, 0x5d, 0xb8, 0x03, 0x00, 0xcd, 0x10,
+ 0x8c, 0xc8, 0x8e, 0xd8, 0xba, 0x00, 0xb1, 0xb4,
+ 0x09, 0xcd, 0x21, 0xb8, 0x00, 0x4c, 0xcd, 0x21,
+ 0x53, 0x6f, 0x75, 0x6e, 0x64, 0x20, 0x63, 0x6f,
+ 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74,
+ 0x69, 0x6f, 0x6e, 0x20, 0x66, 0x69, 0x6c, 0x65,
+ 0x3a, 0x20, 0x53, 0x4f, 0x55, 0x4e, 0x44, 0x2e,
+ 0x53, 0x45, 0x54, 0x20, 0x6e, 0x6f, 0x74, 0x20,
+ 0x66, 0x6f, 0x75, 0x6e, 0x64, 0x2e, 0x20, 0x50,
+ 0x6c, 0x65, 0x61, 0x73, 0x65, 0x20, 0x72, 0x75,
+ 0x6e, 0x20, 0x53, 0x4f, 0x55, 0x4e, 0x44, 0x53,
+ 0x45, 0x54, 0x2e, 0x45, 0x58, 0x45, 0x2e, 0x24,
+ 0xe9, 0x1d, 0x02, 0x89, 0x0e, 0x90, 0xdb, 0xb0,
+ 0x00, 0xb4, 0x05, 0xff, 0x1e, 0x4a, 0x32, 0xb8,
+ 0x3b, 0x0b, 0x8e, 0xd8, 0x8e, 0xc0, 0xc3, 0x00,
+ 0x00, 0x00, 0x00, 0x57, 0x8b, 0xc8, 0xbb, 0x5f,
+ 0xb1, 0x2e, 0x8b, 0x47, 0x02, 0x2e, 0x8b, 0x1f,
+ 0x8b, 0xf0, 0x8b, 0xfb, 0x8a, 0xd4, 0x8a, 0xe0,
+ 0x8a, 0xc7, 0x8a, 0xfb, 0x32, 0xdb, 0xd0, 0xda,
+ 0xd1, 0xd8, 0xd1, 0xdb, 0x03, 0xdf, 0x13, 0xc6,
+ 0x81, 0xc3, 0xe9, 0x62, 0x15, 0x19, 0x36, 0xbf,
+ 0x5f, 0xb1, 0x2e, 0x89, 0x1d, 0x2e, 0x89, 0x45,
+ 0x02, 0x33, 0xd2, 0xf7, 0xf1, 0x8b, 0xc2, 0x5f,
+ 0xc3, 0xb4, 0x62, 0xcd, 0x21, 0x53, 0xba, 0x28,
+ 0x25, 0x2b, 0xd3, 0x33, 0xc0, 0xe8, 0x1c, 0x00,
+ 0x05, 0x0f, 0x00, 0x83, 0xd2, 0x00, 0xbb, 0x10,
+ 0x00, 0xf7, 0xf3, 0x8b, 0xd8, 0x58, 0x06, 0x8e,
+ 0xc0, 0xb4, 0x4a, 0xcd, 0x21, 0x07, 0x72, 0x01,
+ 0xc3, 0xe9, 0x9c, 0x01, 0x53, 0xd1, 0xc2, 0xd1,
+ 0xc2, 0xd1, 0xc2, 0xd1, 0xc2, 0x8b, 0xda, 0x83,
+ 0xe2, 0x0f, 0x83, 0xe3, 0xf0, 0x03, 0xc3, 0x83,
+ 0xd2, 0x00, 0x5b, 0xc3, 0xbb, 0x06, 0xfa, 0xbe,
+ 0xb1, 0x32, 0xe8, 0x3e, 0x00, 0xbb, 0x00, 0xfd,
+ 0xbe, 0xb3, 0x32, 0xe8, 0x35, 0x00, 0xbb, 0x00,
+ 0xfa, 0xbe, 0xb5, 0x32, 0xe8, 0x2c, 0x00, 0xbb,
+ 0x00, 0xfd, 0xbe, 0xbf, 0x32, 0xe8, 0x23, 0x00,
+ 0xbb, 0x88, 0x14, 0xbe, 0xc1, 0x32, 0xe8, 0x1a,
+ 0x00, 0x80, 0x3e, 0x42, 0x32, 0x06, 0x74, 0x12,
+ 0xbb, 0x4e, 0x80, 0xbe, 0xc3, 0x32, 0xe8, 0x0a,
+ 0x00, 0xbb, 0xb8, 0x88, 0xbe, 0xc5, 0x32, 0xe8,
+ 0x01, 0x00, 0xc3, 0x53, 0x56, 0xe8, 0x11, 0x00,
+ 0xb4, 0x48, 0xcd, 0x21, 0x5e, 0x59, 0x72, 0x06,
+ 0x89, 0x04, 0xe8, 0x19, 0x00, 0xc3, 0xe9, 0x27,
+ 0x01, 0x8b, 0xc3, 0x05, 0x0f, 0x00, 0x73, 0x04,
+ 0xb0, 0x38, 0xeb, 0xf2, 0x33, 0xd2, 0xbb, 0x10,
+ 0x00, 0xf7, 0xf3, 0x8b, 0xd8, 0xc3, 0x06, 0x8e,
+ 0xc0, 0x33, 0xc0, 0x33, 0xff, 0xfc, 0xf3, 0xaa,
+ 0x07, 0xc3, 0x06, 0xbe, 0xc7, 0x32, 0xb9, 0x01,
+ 0x00, 0x51, 0x56, 0x49, 0xb0, 0x1b, 0xf6, 0xe1,
+ 0x03, 0xf0, 0x8b, 0x44, 0x16, 0x0b, 0xc0, 0x74,
+ 0x0b, 0x8e, 0xc0, 0xb4, 0x49, 0xcd, 0x21, 0x73,
+ 0x03, 0xe9, 0xe4, 0x00, 0x5e, 0x59, 0x41, 0x80,
+ 0xf9, 0x04, 0x76, 0xdd, 0x07, 0xc3, 0xa0, 0x42,
+ 0x32, 0x3c, 0x01, 0x74, 0x1d, 0x3c, 0x06, 0x74,
+ 0x19, 0x3c, 0x07, 0x74, 0x15, 0x3c, 0x03, 0x74,
+ 0x11, 0x3c, 0x04, 0x74, 0x0d, 0xc7, 0x06, 0x84,
+ 0x32, 0x6c, 0x00, 0xb8, 0x59, 0x00, 0xa3, 0x04,
+ 0x00, 0xc3, 0xc7, 0x06, 0x84, 0x32, 0x9c, 0x2e,
+ 0xb8, 0x0a, 0x00, 0xa3, 0x04, 0x00, 0xc3, 0x33,
+ 0xd2, 0xb8, 0xff, 0xff, 0xf7, 0x36, 0x84, 0x32,
+ 0xa3, 0x7f, 0x32, 0xa3, 0x81, 0x32, 0xc3, 0xb0,
+ 0x36, 0xe6, 0x43, 0xa1, 0x84, 0x32, 0xe6, 0x40,
+ 0x8a, 0xc4, 0xe6, 0x40, 0xc3, 0xb0, 0x36, 0xe6,
+ 0x43, 0x32, 0xc0, 0xe6, 0x40, 0xe6, 0x40, 0xc3,
+ 0x06, 0xb8, 0x08, 0x35, 0xcd, 0x21, 0x89, 0x1e,
+ 0x00, 0x00, 0x8c, 0x06, 0x02, 0x00, 0x07, 0x8b,
+ 0x16, 0x04, 0x00, 0x1e, 0x0e, 0x1f, 0xb8, 0x08,
+ 0x25, 0xcd, 0x21, 0x1f, 0xc3, 0x1e, 0x8b, 0x16,
+ 0x00, 0x00, 0x8b, 0x1e, 0x02, 0x00, 0x8e, 0xdb,
+ 0xb8, 0x08, 0x25, 0xcd, 0x21, 0x1f, 0xc3, 0x06,
+ 0xb8, 0x09, 0x35, 0xcd, 0x21, 0x2e, 0x89, 0x1e,
+ 0xd8, 0x00, 0x2e, 0x8c, 0x06, 0xda, 0x00, 0x07,
+ 0x1e, 0x0e, 0x1f, 0xba, 0xba, 0x00, 0xb8, 0x09,
+ 0x25, 0xcd, 0x21, 0x1f, 0xc3, 0x1e, 0x2e, 0x8b,
+ 0x16, 0xd8, 0x00, 0x2e, 0x8b, 0x1e, 0xda, 0x00,
+ 0x8e, 0xdb, 0xb8, 0x09, 0x25, 0xcd, 0x21, 0x1f,
+ 0xc3, 0xe8, 0x42, 0xff, 0xe8, 0xc8, 0xff, 0xfa,
+ 0xb0, 0xff, 0xe6, 0x21, 0xe8, 0x91, 0xff, 0xe8,
+ 0x75, 0xff, 0xb0, 0x00, 0xe6, 0x21, 0xfb, 0xb8,
+ 0x13, 0x00, 0xcd, 0x10, 0xe8, 0x58, 0xff, 0xc3,
+ 0x50, 0xb8, 0x03, 0x00, 0xcd, 0x10, 0x58, 0xb4,
+ 0x00, 0xbb, 0xa6, 0x2f, 0xd1, 0xe0, 0x03, 0xd8,
+ 0x8b, 0x17, 0xb4, 0x09, 0xcd, 0x21, 0x80, 0x3e,
+ 0x42, 0x32, 0x00, 0x74, 0x0d, 0xb4, 0x02, 0xff,
+ 0x1e, 0x4a, 0x32, 0xb8, 0x3b, 0x0b, 0x8e, 0xd8,
+ 0x8e, 0xc0, 0xeb, 0x00, 0xfa, 0xe4, 0x21, 0x50,
+ 0xb0, 0xff, 0xe6, 0x21, 0xfa, 0xe8, 0x3d, 0xff,
+ 0xe8, 0x62, 0xff, 0xe8, 0x8f, 0xff, 0x58, 0xe6,
+ 0x21, 0xfb, 0xb8, 0x00, 0x4c, 0xcd, 0x21, 0x00
+};
+
+// Data Segment
+// starts at offset 0xb5b0 in original executable
+#define DSEG_STARTBLK_SIZE 13214
+
+const static uint8 dsegStartBlock[DSEG_STARTBLK_SIZE] = {
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x73, 0x6f, 0x75, 0x6e, 0x64,
+ 0x2e, 0x73, 0x65, 0x74, 0x00, 0x6f, 0x66, 0x66,
+ 0x2e, 0x72, 0x65, 0x73, 0x00, 0x6f, 0x6e, 0x2e,
+ 0x72, 0x65, 0x73, 0x00, 0x6c, 0x61, 0x6e, 0x5f,
+ 0x35, 0x30, 0x30, 0x2e, 0x72, 0x65, 0x73, 0x00,
+ 0x6c, 0x61, 0x6e, 0x5f, 0x30, 0x30, 0x30, 0x2e,
+ 0x72, 0x65, 0x73, 0x00, 0x73, 0x64, 0x72, 0x2e,
+ 0x72, 0x65, 0x73, 0x00, 0x6f, 0x6e, 0x73, 0x2e,
+ 0x72, 0x65, 0x73, 0x00, 0x76, 0x61, 0x72, 0x69,
+ 0x61, 0x2e, 0x72, 0x65, 0x73, 0x00, 0x6d, 0x6d,
+ 0x6d, 0x2e, 0x72, 0x65, 0x73, 0x00, 0x73, 0x61,
+ 0x6d, 0x5f, 0x73, 0x61, 0x6d, 0x2e, 0x72, 0x65,
+ 0x73, 0x00, 0x73, 0x61, 0x6d, 0x5f, 0x6d, 0x6d,
+ 0x6d, 0x2e, 0x72, 0x65, 0x73, 0x00, 0x75, 0x6e,
+ 0x6c, 0x6f, 0x67, 0x69, 0x63, 0x2e, 0x72, 0x65,
+ 0x73, 0x00, 0x61, 0x64, 0x76, 0x65, 0x72, 0x74,
+ 0x2e, 0x72, 0x65, 0x73, 0x00, 0x74, 0x65, 0x65,
+ 0x6e, 0x61, 0x67, 0x65, 0x30, 0x2e, 0x73, 0x61,
+ 0x76, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x01,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0xa0, 0x00, 0x64, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0xc7, 0x00, 0x00, 0x00, 0x3f, 0x01,
+ 0x00, 0x00, 0xdf, 0x01, 0x01, 0x01, 0x01, 0x01,
+ 0x01, 0x01, 0xdf, 0x00, 0x01, 0x01, 0x01, 0x01,
+ 0x01, 0x01, 0xdf, 0xff, 0x00, 0x01, 0x01, 0x01,
+ 0x01, 0x01, 0xdf, 0xff, 0xff, 0x00, 0x01, 0x01,
+ 0x01, 0x01, 0xdf, 0xff, 0xff, 0xff, 0x00, 0x01,
+ 0x01, 0x01, 0xdf, 0xff, 0xff, 0xff, 0xff, 0x00,
+ 0x01, 0x01, 0xdf, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0x00, 0x01, 0xdf, 0xff, 0xdf, 0xff, 0x00, 0x00,
+ 0x00, 0x00, 0xdf, 0xdf, 0x01, 0xdf, 0xff, 0x00,
+ 0x01, 0x01, 0x01, 0x01, 0x01, 0xdf, 0xff, 0x00,
+ 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0xdf, 0xff,
+ 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0xdf,
+ 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, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 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, 0x00, 0x32, 0xe1,
+ 0x40, 0x01, 0x00, 0x00, 0x00, 0x00, 0xd1, 0xe0,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x20, 0x30, 0x25, 0x30, 0x34, 0x30, 0x39, 0x30,
+ 0x4d, 0x30, 0x52, 0x30, 0x57, 0x30, 0x76, 0x30,
+ 0x8a, 0x30, 0xa7, 0x30, 0xac, 0x30, 0xb1, 0x30,
+ 0xb6, 0x30, 0xbb, 0x30, 0xc0, 0x30, 0xc5, 0x30,
+ 0xca, 0x30, 0xcf, 0x30, 0xd4, 0x30, 0xd9, 0x30,
+ 0xde, 0x30, 0xe3, 0x30, 0xe8, 0x30, 0xed, 0x30,
+ 0xf2, 0x30, 0xf7, 0x30, 0xfc, 0x30, 0x01, 0x31,
+ 0x06, 0x31, 0x0b, 0x31, 0x10, 0x31, 0x15, 0x31,
+ 0x1a, 0x31, 0x1f, 0x31, 0x24, 0x31, 0x29, 0x31,
+ 0x2e, 0x31, 0x33, 0x31, 0x38, 0x31, 0x3d, 0x31,
+ 0x42, 0x31, 0x47, 0x31, 0x4c, 0x31, 0x51, 0x31,
+ 0x56, 0x31, 0x5b, 0x31, 0x60, 0x31, 0x65, 0x31,
+ 0x6a, 0x31, 0x6f, 0x31, 0xbd, 0x31, 0xc1, 0x31,
+ 0xc5, 0x31, 0xc9, 0x31, 0xcd, 0x31, 0xce, 0x31,
+ 0xd2, 0x31, 0xd6, 0x31, 0xda, 0x31, 0xde, 0x31,
+ 0x45, 0x30, 0x31, 0x68, 0x24, 0x46, 0x69, 0x6c,
+ 0x65, 0x20, 0x6e, 0x6f, 0x74, 0x20, 0x66, 0x6f,
+ 0x75, 0x6e, 0x64, 0x24, 0x45, 0x30, 0x33, 0x68,
+ 0x24, 0x54, 0x6f, 0x6f, 0x20, 0x6d, 0x61, 0x6e,
+ 0x79, 0x20, 0x6f, 0x70, 0x65, 0x6e, 0x20, 0x66,
+ 0x69, 0x6c, 0x65, 0x73, 0x24, 0x45, 0x30, 0x35,
+ 0x68, 0x24, 0x45, 0x30, 0x36, 0x68, 0x24, 0x4d,
+ 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x20, 0x63, 0x6f,
+ 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x20, 0x62, 0x6c,
+ 0x6f, 0x63, 0x6b, 0x20, 0x64, 0x65, 0x73, 0x74,
+ 0x72, 0x6f, 0x79, 0x65, 0x64, 0x24, 0x49, 0x6e,
+ 0x73, 0x75, 0x66, 0x66, 0x69, 0x63, 0x69, 0x65,
+ 0x6e, 0x74, 0x20, 0x6d, 0x65, 0x6d, 0x6f, 0x72,
+ 0x79, 0x24, 0x4d, 0x65, 0x6d, 0x6f, 0x72, 0x79,
+ 0x20, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x20, 0x61,
+ 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x20, 0x69,
+ 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x24, 0x45,
+ 0x30, 0x41, 0x68, 0x24, 0x45, 0x30, 0x42, 0x68,
+ 0x24, 0x45, 0x30, 0x43, 0x68, 0x24, 0x45, 0x30,
+ 0x44, 0x68, 0x24, 0x45, 0x30, 0x45, 0x68, 0x24,
+ 0x45, 0x30, 0x46, 0x68, 0x24, 0x45, 0x31, 0x30,
+ 0x68, 0x24, 0x45, 0x31, 0x31, 0x68, 0x24, 0x45,
+ 0x31, 0x32, 0x68, 0x24, 0x45, 0x31, 0x33, 0x68,
+ 0x24, 0x45, 0x31, 0x34, 0x68, 0x24, 0x45, 0x31,
+ 0x35, 0x68, 0x24, 0x45, 0x31, 0x36, 0x68, 0x24,
+ 0x45, 0x31, 0x37, 0x68, 0x24, 0x45, 0x31, 0x38,
+ 0x68, 0x24, 0x45, 0x31, 0x39, 0x68, 0x24, 0x45,
+ 0x31, 0x41, 0x68, 0x24, 0x45, 0x31, 0x42, 0x68,
+ 0x24, 0x45, 0x31, 0x43, 0x68, 0x24, 0x45, 0x31,
+ 0x44, 0x68, 0x24, 0x45, 0x31, 0x45, 0x68, 0x24,
+ 0x45, 0x31, 0x46, 0x68, 0x24, 0x45, 0x32, 0x30,
+ 0x68, 0x24, 0x45, 0x32, 0x31, 0x68, 0x24, 0x45,
+ 0x32, 0x32, 0x68, 0x24, 0x45, 0x32, 0x33, 0x68,
+ 0x24, 0x45, 0x32, 0x34, 0x68, 0x24, 0x45, 0x32,
+ 0x35, 0x68, 0x24, 0x45, 0x32, 0x36, 0x68, 0x24,
+ 0x45, 0x32, 0x37, 0x68, 0x24, 0x45, 0x32, 0x38,
+ 0x68, 0x24, 0x45, 0x32, 0x39, 0x68, 0x24, 0x45,
+ 0x32, 0x41, 0x68, 0x24, 0x45, 0x32, 0x42, 0x68,
+ 0x24, 0x45, 0x32, 0x43, 0x68, 0x24, 0x45, 0x32,
+ 0x44, 0x68, 0x24, 0x45, 0x32, 0x45, 0x68, 0x24,
+ 0x45, 0x32, 0x46, 0x68, 0x24, 0x45, 0x33, 0x30,
+ 0x68, 0x24, 0x45, 0x33, 0x31, 0x68, 0x24, 0x44,
+ 0x75, 0x65, 0x20, 0x74, 0x6f, 0x20, 0x61, 0x6e,
+ 0x74, 0x69, 0x2d, 0x76, 0x69, 0x72, 0x75, 0x73,
+ 0x20, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x61, 0x64,
+ 0x65, 0x20, 0x79, 0x6f, 0x75, 0x20, 0x68, 0x61,
+ 0x76, 0x65, 0x20, 0x74, 0x6f, 0x20, 0x69, 0x6e,
+ 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x20, 0x74, 0x68,
+ 0x69, 0x73, 0x20, 0x67, 0x61, 0x6d, 0x65, 0x20,
+ 0x66, 0x72, 0x6f, 0x6d, 0x20, 0x6f, 0x72, 0x69,
+ 0x67, 0x69, 0x6e, 0x61, 0x6c, 0x20, 0x64, 0x69,
+ 0x73, 0x6b, 0x73, 0x2e, 0x24, 0x47, 0x45, 0x31,
+ 0x24, 0x47, 0x45, 0x32, 0x24, 0x47, 0x45, 0x33,
+ 0x24, 0x47, 0x45, 0x34, 0x24, 0x24, 0x47, 0x45,
+ 0x35, 0x24, 0x47, 0x45, 0x36, 0x24, 0x47, 0x45,
+ 0x37, 0x24, 0x47, 0x45, 0x38, 0x24, 0x47, 0x45,
+ 0x39, 0x24, 0x43, 0x61, 0x6c, 0x6c, 0x20, 0x79,
+ 0x6f, 0x75, 0x72, 0x73, 0x65, 0x6c, 0x66, 0x20,
+ 0x70, 0x69, 0x72, 0x61, 0x74, 0x65, 0x2c, 0x20,
+ 0x68, 0x61, 0x63, 0x6b, 0x65, 0x72, 0x2c, 0x20,
+ 0x65, 0x6c, 0x69, 0x74, 0x65, 0x20, 0x6f, 0x72,
+ 0x20, 0x77, 0x68, 0x61, 0x74, 0x65, 0x76, 0x65,
+ 0x72, 0x2e, 0x20, 0x42, 0x75, 0x74, 0x20, 0x79,
+ 0x6f, 0x75, 0x20, 0x61, 0x72, 0x65, 0x20, 0x61,
+ 0x20, 0x54, 0x48, 0x49, 0x45, 0x46, 0x2e, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x01, 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,
+ 0x40, 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, 0x6e, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00,
+ 0x0b, 0x00, 0x00, 0x00, 0x00, 0x00, 0x32, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 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, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x4d,
+ 0x6f, 0x75, 0x73, 0x65, 0x20, 0x6e, 0x6f, 0x74,
+ 0x20, 0x66, 0x6f, 0x75, 0x6e, 0x64, 0x3a, 0x20,
+ 0x75, 0x73, 0x69, 0x6e, 0x67, 0x20, 0x6b, 0x65,
+ 0x79, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x2e, 0x2e,
+ 0x2e, 0x0d, 0x0a, 0x50, 0x72, 0x65, 0x73, 0x73,
+ 0x20, 0x61, 0x6e, 0x79, 0x20, 0x6b, 0x65, 0x79,
+ 0x20, 0x74, 0x6f, 0x20, 0x63, 0x6f, 0x6e, 0x74,
+ 0x69, 0x6e, 0x75, 0x65, 0x2e, 0x24
+};
+
+const static char* messages[333] = {
+ "I have no idea what to do with it.", // 0
+ "I can't imagine what I could do with\nthis.", // 1
+ "I can't figure out what I should do\nwith this.", // 2
+ "I can't find any reason to mess\nwith it.", // 3
+ "Cool.", // 4
+ "That's no good.", // 5
+ "Wow! There's a car jack inside!\nGreat!", // 6
+ "There's something else inside the toolbox!\nA spanner!", // 7
+ "Last\nchance?", // 8
+ "I give up.", // 9
+ "I'm going to stay at least five meters\naway from these bees!", // 10
+ "There's nothing else in the boat.", // 11
+ "This wood is too hard to break.", // 12
+ "Booo!", // 13
+ "I don't think I should push\nmy luck.", // 14
+ "Just an ordinary hay stack. Now.", // 15
+ "And they say you can't find a needle\nin a hay stack.", // 16
+ "There are no more\npotatoes.", // 17
+ "Good I always asked mum for\ntrousers with BIG pockets...", // 18
+ "Life is brutal.", // 19
+ "Life is really brutal.", // 20
+ "Something tickled\nme!", // 21
+ "At least it's gone.", // 22
+ "Who knows what monsters\nmay live in there...", // 23
+ "I'd better not put my hands in there.\nSomething might bite them off\n(yuck)!", // 24
+ "I can see it's totally\nempty.", // 25
+ "One small step for man,\none big pain in the ...head...", // 26
+ "I won't take my chances\na second time...", // 27
+ "I really hope this is DINOSAUR\nbone...", // 28
+ "Wow! This must have shaken\nall the nearby walls!", // 29
+ "It's kinda dark here.", // 30
+ "I'm not going to wander here\nin the dark again.", // 31
+ "Shutting the valve shook the dirt from the wall\nand revealed the switch!", // 32
+ "Sorry, buddy, but I need your\nsunglasses.", // 33
+ "It's not the best place for diving...", // 34
+ "Not here...", // 35
+ "I really can't talk underwater!...", // 36
+ "I don't think swimming there is worth the effort.", // 37
+ "If I want to get this anchor I have to swim there\nwhen I have more air in my lungs...", // 38
+ "I was really hooked on this anchor!", // 39
+ "This seaweed is just like the flowers\nI gave mum on her last birthday.", // 40
+ "I wonder what fish do inside\nthis boat at night.", // 41
+ "I think I have to fish out something down\nthere.", // 42
+ "At least fish don't worry about the rain.", // 43
+ "I hope all this fish stuff is not a red herring.", // 44
+ "It's nice down there.", // 45
+ "Hey, let go, will ya?!", // 46
+ "Aaaaaaaaaaaaaahhh!...", // 47
+ "Oops.", // 48
+ "People leave food in unbelievable places.", // 49
+ "Come here, I've got something for\nyou...", // 50
+ "I can't catch it!", // 51
+ "The mouse is trapped!", // 52
+ "Yikes!", // 53
+ "Boy, this mouse has some nerve!", // 54
+ "There's nothing else in the drawers.", // 55
+ "I must get rid of this bush first.", // 56
+ "The mouse has gone!", // 57
+ "Nonsense.", // 58
+ "I understand. Good doggy.", // 59
+ "Here, boy.", // 60
+ "I hope we're friends now.", // 61
+ "I don't think this is the right place.", // 62
+ "Hundred moments later...", // 63
+ "Another hundred moments later...", // 64
+ "At least I found crude-oil and I'll be\nrich.", // 65
+ "That's my life.", // 66
+ "!?&!", // 67
+ "But grandpa, you promised!...", // 68
+ "Oh, all right. Let's go.", // 69
+ "Bye.", // 70
+ "No need to do it again.", // 71
+ "I really don't know how to talk to\ngirls...", // 72
+ "I usually don't work without a purpose.", // 73
+ "Only the nut is real.", // 74
+ "I wonder if hens can fly. Come here,\nbaby...", // 75
+ "First test failed.", // 76
+ "I'd already got rid of my frustrations.", // 77
+ "Nah, it's a road to nowhere.", // 78
+ "It opens the boot.", // 79
+ "It's shut tight.", // 80
+ "There's nothing else in the boot.", // 81
+ "The clothes are dry now.", // 82
+ "I'm sure these crows will kill me!", // 83
+ "If I want to get inside I must get rid of\nthis guard first or find some other\nway.", // 84
+ "The wall surface is too smooth to climb.", // 85
+ "I could climb it\nif there wasn't\nso much resin.", // 86
+ "The only green stuff I like is that rectangular\npiece of paper with some important-looking\nguy on it.", // 87
+ "I don't wanna touch it. Its spines could\nhurt my delicate hands.", // 88
+ "Thanks, I'm not hungry.", // 89
+ "I really don't have such long hands.", // 90
+ "It's too far to swim there.", // 91
+ "Echo!", // 92
+ "ECHO!", // 93
+ "Who's there?!", // 94
+ "WHO'S THERE?!", // 95
+ " DON'T COPY ME!...", // 96
+ " DON'T COPY ME!!!", // 97
+ "...OR I WILL THROW A ROCK DOWN THERE!", // 98
+ "OR I WILL...", // 99
+ "Are you still there?", // 100
+ "It's not a barrel-organ. And there's\nno bucket.", // 101
+ "I don't need to open it.", // 102
+ "Hmmm... Grass... Nah, children might\nbe watching.", // 103
+ "I won't find the nut just like that.\nThe grass is too dense.", // 104
+ "I'm not horny.", // 105
+ "No way I can jump so high,\ncause, er..., white men\ncan't jump.", // 106
+ "I don't need it.", // 107
+ "I'm not Santa Claus.", // 108
+ "I don't need plastic imitations.", // 109
+ "It's too fragile to carry around.", // 110
+ "I'd like to keep it open.", // 111
+ "I really don't want to walk around with\nsomeone else's socks.", // 112
+ "Thanks, I'm not tired.", // 113
+ "It's too big and I doubt if I'll ever\nneed it.", // 114
+ "I don't think there's any secret passage\ninside.", // 115
+ "There are no more interesting fruits here.", // 116
+ "They can jug me if I steal this.", // 117
+ "I'd better leave it. Women are really\noversensitive about flowers.", // 118
+ "Mirror, mirror on the wall,\nwho's the smartest of them all?", // 119
+ "Hey, don't think too long.", // 120
+ "A hint: someone in this room,\na male.", // 121
+ "OK, take your time.", // 122
+ "I'd better not interrupt its\nthought process.", // 123
+ "I don't want to have anything in common\nwith dentists.", // 124
+ "It's too heavy. Not that I'm wimp.", // 125
+ "Let's look what we've got here...", // 126
+ "'Strawberry jam'.", // 127
+ "'Gooseberry jam'.", // 128
+ "'Blackberry jam'.", // 129
+ "'Bilberry jam'.", // 130
+ "Get me out of this jam!", // 131
+ "Oh, and there is 'Rosemary jam'.", // 132
+ "I used to know someone called Rosemary.", // 133
+ "I don't want those jams.", // 134
+ "It's too dark to see clearly.", // 135
+ "YEEEOOOWWWW!", // 136
+ "(yawn)", // 137
+ "(laughter)", // 138
+ "I can't remove it with my hands - these\nthorns look really sharp.", // 139
+ "There's no fuel in the chainsaw.", // 140
+ "Thorns are too thin, the chainsaw\nis useless here.", // 141
+ "Yeah, great idea. Let's take this rock and\nwalk around a bit. Gee...", // 142
+ "I'd better leave them alone, they make\nthis place beautiful.", // 143
+ "I'm not sure if it's alive.", // 144
+ "I don't know what language it speaks.", // 145
+ "The hole is too narrow to fit my hand.", // 146
+ "Hey, you! Wake up! Bird attack!", // 147
+ "I don't have a search-warrant.", // 148
+ "I don't see anything interesting\nabout this hay stack.", // 149
+ "It's more complicated than that.", // 150
+ "It's pointless, the nut will slip between\nthe rake's teeth.", // 151
+ "The paddle is BROKEN.", // 152
+ "This branch is not a paddle. It doesn't\neven look like one.", // 153
+ "I'd better try somewhere else - I suppose this\nside is heavily guarded.", // 154
+ "I needed to sharpen it, not pulverize.", // 155
+ "I can't do anything here, it's too dark.", // 156
+ "Here, let's make your\npocket fat.", // 157
+ "It's a note from some bank. Strange,\nbut someone has also written \"NEVER! ANNE\"\non it.", // 158
+ "If I just show her the money,\nshe might take it.", // 159
+ "A hundred bucks!!!", // 160
+ "I want blood!", // 161
+ "I don't want to leave the mansion,\nI want blood!", // 162
+ "I'm a pathetic little wimp.", // 163
+ "Strange, but the drawer is stuck\nif the next drawer is open...", // 164
+ "Maybe these are not just ordinary\ndrawers!", // 165
+ "I cannot open the drawer\nif the next one is open!", // 166
+ "It's got a blue interior.", // 167
+ "It's got a red interior.", // 168
+ "It's got a grey interior.", // 169
+ "It's got a green interior.", // 170
+ "It's got a brown interior.", // 171
+ "It's got a pink interior.", // 172
+ "Wow! There's a dictaphone inside!", // 173
+ "There's a polaroid inside!\nI might need that.", // 174
+ "Something's got hold of the book!", // 175
+ "Wow! A secret compartment!", // 176
+ "I don't need to mess with it\nanymore.", // 177
+ "Fully automatic.", // 178
+ "Right now I don't need any more\nsheets.", // 179
+ "Nah, I don't want to deprave the kids.", // 180
+ "I don't want to read it again.\nI might like it.", // 181
+ "I just realised that the TV is off.", // 182
+ "Nothing happened.", // 183
+ "The tape started!", // 184
+ "That's much better.", // 185
+ "I don't want to sleep.", // 186
+ "It's just a cork.", // 187
+ "I don't need any more photos.", // 188
+ "Yeah, I can record this and scare\nthe cats.", // 189
+ "I already recorded what I wanted to.", // 190
+ "I can't record anything until I find some\nbatteries.", // 191
+ "No batteries, no fun.", // 192
+ "I don't think this is the right moment.", // 193
+ "I can't do anything with\nthis cook around.", // 194
+ "The bottle's the same, but\nI doubt if it's enough to\nfool anyone.", // 195
+ "I wanted to break it, not to\nflatten it!..", // 196
+ "I was always curious what's inside\nthese things.", // 197
+ "The rest is useless.", // 198
+ "Wow! Two 1.5V batteries!", // 199
+ "This one's taken, OK?", // 200
+ "It finally happened. I'm slightly mad.", // 201
+ "The paper burnt out completely!", // 202
+ "Burn, baby, burn!", // 203
+ "Voila.", // 204
+ "It's too hot to touch!", // 205
+ "It has frozen hard onto the shelf!", // 206
+ "Yummy.", // 207
+ "I never liked veal anyway.", // 208
+ "There's no reason to do it.", // 209
+ "I'd already fooled him once.", // 210
+ "Mike, activate the voice test.", // 211
+ "I won't cheat Mike with MY voice.", // 212
+ "...siiiiinging!...", // 213
+ "Mike, let's get on with the scent\ntest.", // 214
+ "Mike, run the view test.", // 215
+ "'A secret diary of John Noty. Authorised.'", // 216
+ "I can't hide here!", // 217
+ "There's John Noty outside! I can't go out!", // 218
+ "That was close.", // 219
+ "The cork is stuck in the hole.", // 220
+ "It fits perfectly!", // 221
+ "There's enough water in the sink.", // 222
+ "There's no hot water in the sink.", // 223
+ "The label has come off!", // 224
+ "The cork is a bit too small.", // 225
+ "There's no need to try them now.", // 226
+ "I don't want to turn myself into a salad.", // 227
+ "Nah...", // 228
+ "I'd better stop this ventilator first.", // 229
+ "I'd better catch John Noty first.", // 230
+ "Good this red stuff is only a chilli...", // 231
+ "The water looks very hot.", // 232
+ "The sink is full of hot water.", // 233
+ "I don't have anything\nto store these socks in.", // 234
+ "Here are my papers.", // 235
+ "I already got the permission.", // 236
+ "'Saving is a very fine thing. Especially\nwhen your parents have done it for you'", // 237
+ "'I love captain'", // 238
+ "'Soccer rulz'", // 239
+ "'Don't cut the trees, cuz one\nday you may become partisan\ntoo'", // 240
+ "'VISA accepted'", // 241
+ "The rest of graffiti is obscene.", // 242
+ "Sir, I'm Mark. A rookie.", // 243
+ "It's locked!", // 244
+ "Thanks.", // 245
+ "I don't have any idea what\nto do with it right\nnow.", // 246
+ "That gives me an idea...", // 247
+ "Now I got to check if it works...", // 248
+ "I think it's time to call captain...", // 249
+ "Hey! I finished the meal!", // 250
+ "Wow, he got welded to the bowl!...", // 251
+ "Gotcha.", // 252
+ "I don't want to touch\nhis pockets again.", // 253
+ "That doesn't work.", // 254
+ "Piece of cake.", // 255
+ "And how am I supposed to get back?", // 256
+ "Great.", // 257
+ "Oh, yeah, right...", // 258
+ "I can't pull it out.", // 259
+ "I don't want to touch it - I might get hurt.", // 260
+ "The fence blocks the way...", // 261
+ "I don't want to sleep.", // 262
+ "I can't reach it.", // 263
+ "Hello?", // 264
+ "He's totally addicted.", // 265
+ "What about a new...", // 266
+ "...hot off the press...", // 267
+ "...full-color...", // 268
+ "...special edition...", // 269
+ "... of 'Soldier News'?!", // 270
+ "Never again!", // 271
+ "What am I? A vacuum cleaner?!", // 272
+ " Sixty seven rude words later...", // 273
+ "Meanwhile in the mansion...", // 274
+ "Now it's open.", // 275
+ "C'mon, baby, it's all yours!", // 276
+ "I've got no reason to talk to him\nright now.", // 277
+ "Yeah, right!...", // 278
+ "The barman is too close...", // 279
+ "Yuck!", // 280
+ "I prefer water.", // 281
+ "I'm too weak to climb it.", // 282
+ "The springs would prick my back.", // 283
+ "No, thanks. This food seems still alive.", // 284
+ "The door is closed. What a surprise.", // 285
+ "It's empty.", // 286
+ "I should have paid more attention\nin geography classes...", // 287
+ "I don't need this mess.", // 288
+ "Thanks, but I've seen softer rocks.", // 289
+ "They are too blunt to be of any use.", // 290
+ "What's the use of the models?", // 291
+ "The barman will surely notice its\ndisappearing.", // 292
+ "It'd take too much time to drink it all.\nMaybe after the mission...", // 293
+ "\n\nI'm not a thief. And it's empty, by the way.", // 294
+ "There are too many of them to search.", // 295
+ "Captain surely wouldn't fit them.\nI must look elsewhere.", // 296
+ "Chickening? Me? Never!", // 297
+ "I can't open it.", // 298
+ "I don't need them.", // 299
+ "What am I? A Peeping Tom?", // 300
+ "I have big pockets, but there are limits.", // 301
+ "If I put it on I might have trouble walking\nup the stairs.", // 302
+ "I'd need 9 lives to read them all.", // 303
+ "Thanks, I'm not so tired.", // 304
+ "There's no need to turn it on.", // 305
+ "It won't bear my weight.", // 306
+ "I never learnt to how use one...", // 307
+ "They're so sharp they'd rip my trousers!", // 308
+ "Pfui! The cognac really didn't do any good...", // 309
+ "I don't have time for pleasures.", // 310
+ "I won't touch these socks with my bare hands!", // 311
+ "It's not Halloween.", // 312
+ "It can't be controlled manually! I hate it!", // 313
+ "I have nothing to play.", // 314
+ "I can't take it. It's not mine.", // 315
+ "Hey! What's the matter?!", // 316
+ "It's open!", // 317
+ "It's out of order.", // 318
+ "With captain watching?...\nBetter not...", // 319
+ "The sickle is too blunt.", // 320
+ "First I've got some business to take care of.", // 321
+ "Digging it out with the knife could\ntake a hundred years.", // 322
+ "I don't want to make more\nmess on this table.", // 323
+ "Should I throw the crumbs to the bird?", // 324
+ "I don't want to waste these tasty crumbs.", // 325
+ "Better not... I might slip and fall in...", // 326
+ "\"The history of blues\".", // 327
+ "\"Manchester United, or the Red Devils story\".", // 328
+ "\"Greyhounds and other hunting dogs\".", // 329
+ "\"Greenhorn, or my adventures in the Wild West\".", // 330
+ "\"Charlie Brown and his company\".", // 331
+ "\"Pink Panther: an unauthorised biography\"." // 332
+};
+
+#define DSEG_ENDBLK_SIZE 34651
+
+const static uint8 dsegEndBlock[DSEG_ENDBLK_SIZE] = {
+ 0x90, 0x9d, 0xe5, 0x9d, 0x54, 0x9e, 0xc3, 0x9e,
+ 0x3e, 0x9f, 0x0b, 0x30, 0x02, 0x31, 0x03, 0x32,
+ 0x04, 0x33, 0x05, 0x34, 0x06, 0x35, 0x07, 0x36,
+ 0x08, 0x37, 0x09, 0x38, 0x0a, 0x39, 0x0c, 0x2d,
+ 0x1e, 0x41, 0x30, 0x42, 0x2e, 0x43, 0x20, 0x44,
+ 0x12, 0x45, 0x21, 0x46, 0x22, 0x47, 0x23, 0x48,
+ 0x17, 0x49, 0x24, 0x4a, 0x25, 0x4b, 0x26, 0x4c,
+ 0x32, 0x4d, 0x31, 0x4e, 0x18, 0x4f, 0x19, 0x50,
+ 0x10, 0x51, 0x13, 0x52, 0x1f, 0x53, 0x14, 0x54,
+ 0x16, 0x55, 0x2f, 0x56, 0x11, 0x57, 0x2d, 0x58,
+ 0x15, 0x59, 0x2c, 0x5a, 0x33, 0x2c, 0x34, 0x2e,
+ 0x35, 0x3f, 0x39, 0x20, 0x28, 0x27, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x7c, 0x0a, 0x48, 0x01,
+ 0x00, 0x7c, 0x19, 0x48, 0x02, 0x00, 0xaf, 0x30,
+ 0x0e, 0x03, 0x02, 0xbe, 0x30, 0x26, 0x03, 0x03,
+ 0xe5, 0x30, 0x0e, 0x03, 0x01, 0xaf, 0x3f, 0x0e,
+ 0x04, 0x02, 0xbe, 0x3f, 0x26, 0x04, 0x03, 0xe5,
+ 0x3f, 0x0e, 0x04, 0x01, 0x9f, 0x4e, 0x0e, 0x05,
+ 0x02, 0xae, 0x4e, 0x36, 0x05, 0x03, 0xe5, 0x4e,
+ 0x0e, 0x05, 0x01, 0x9f, 0x5d, 0x0e, 0x06, 0x02,
+ 0xae, 0x5d, 0x36, 0x06, 0x03, 0xe5, 0x5d, 0x0e,
+ 0x06, 0x01, 0x9f, 0x6c, 0x0e, 0x07, 0x02, 0xae,
+ 0x6c, 0x36, 0x07, 0x03, 0xe5, 0x6c, 0x0e, 0x07,
+ 0x01, 0xa7, 0x7b, 0x0e, 0x08, 0x02, 0xb6, 0x7b,
+ 0x2e, 0x08, 0x03, 0xe5, 0x7b, 0x0e, 0x08, 0x01,
+ 0x8d, 0x94, 0x25, 0x0b, 0x00, 0x6c, 0xa3, 0x69,
+ 0x0a, 0x00, 0x79, 0xb2, 0x50, 0x0d, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x81, 0x0f, 0x41, 0x22,
+ 0xd3, 0x3e, 0x92, 0x51, 0x50, 0x64, 0x0e, 0x77,
+ 0xd0, 0x89, 0x8a, 0x9c, 0x00, 0x00, 0x52, 0xbd,
+ 0xb1, 0xce, 0x81, 0xe1, 0x4c, 0x6f, 0x61, 0x64,
+ 0x20, 0x67, 0x61, 0x6d, 0x65, 0x00, 0x53, 0x61,
+ 0x76, 0x65, 0x20, 0x67, 0x61, 0x6d, 0x65, 0x00,
+ 0x4d, 0x75, 0x73, 0x69, 0x63, 0x20, 0x76, 0x6f,
+ 0x6c, 0x75, 0x6d, 0x65, 0x20, 0x20, 0x20, 0x20,
+ 0x2d, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+ 0x20, 0x20, 0x20, 0x20, 0x20, 0x7f, 0x00, 0x53,
+ 0x6f, 0x75, 0x6e, 0x64, 0x20, 0x76, 0x6f, 0x6c,
+ 0x75, 0x6d, 0x65, 0x20, 0x20, 0x20, 0x20, 0x2d,
+ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+ 0x20, 0x20, 0x20, 0x20, 0x7f, 0x00, 0x48, 0x65,
+ 0x72, 0x6f, 0x20, 0x73, 0x70, 0x65, 0x65, 0x64,
+ 0x20, 0x20, 0x20, 0x20, 0x2d, 0x20, 0x20, 0x20,
+ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+ 0x20, 0x20, 0x20, 0x20, 0x20, 0x7f, 0x00, 0x47,
+ 0x61, 0x6d, 0x65, 0x20, 0x73, 0x70, 0x65, 0x65,
+ 0x64, 0x20, 0x20, 0x20, 0x20, 0x2d, 0x20, 0x20,
+ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7f, 0x00,
+ 0x54, 0x65, 0x78, 0x74, 0x20, 0x73, 0x70, 0x65,
+ 0x65, 0x64, 0x20, 0x20, 0x20, 0x20, 0x2d, 0x20,
+ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7f,
+ 0x00, 0x47, 0x72, 0x61, 0x70, 0x68, 0x69, 0x63,
+ 0x20, 0x6d, 0x6f, 0x64, 0x65, 0x20, 0x20, 0x20,
+ 0x20, 0x2d, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+ 0x7f, 0x00, 0x20, 0x00, 0x51, 0x75, 0x69, 0x74,
+ 0x00, 0x52, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20,
+ 0x74, 0x6f, 0x20, 0x67, 0x61, 0x6d, 0x65, 0x00,
+ 0x4f, 0x72, 0x64, 0x65, 0x72, 0x20, 0x69, 0x6e,
+ 0x66, 0x6f, 0x00, 0x00, 0x77, 0x64, 0x39, 0x77,
+ 0x0f, 0x8a, 0x44, 0x6f, 0x20, 0x79, 0x6f, 0x75,
+ 0x20, 0x72, 0x65, 0x61, 0x6c, 0x6c, 0x79, 0x00,
+ 0x77, 0x61, 0x6e, 0x74, 0x20, 0x74, 0x6f, 0x20,
+ 0x71, 0x75, 0x69, 0x74, 0x00, 0x28, 0x59, 0x2f,
+ 0x4e, 0x29, 0x3f, 0x00, 0x00, 0xf7, 0x57, 0x83,
+ 0x6a, 0x43, 0x7d, 0x03, 0x90, 0x46, 0x6f, 0x72,
+ 0x20, 0x69, 0x6e, 0x66, 0x6f, 0x20, 0x63, 0x61,
+ 0x6c, 0x6c, 0x3a, 0x00, 0x55, 0x4b, 0x3a, 0x20,
+ 0x50, 0x44, 0x20, 0x53, 0x65, 0x6c, 0x65, 0x63,
+ 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x20, 0x30, 0x31,
+ 0x34, 0x37, 0x34, 0x20, 0x33, 0x32, 0x35, 0x38,
+ 0x30, 0x32, 0x00, 0x55, 0x53, 0x41, 0x20, 0x61,
+ 0x6e, 0x64, 0x20, 0x74, 0x68, 0x65, 0x20, 0x72,
+ 0x65, 0x73, 0x74, 0x20, 0x6f, 0x66, 0x20, 0x74,
+ 0x68, 0x65, 0x20, 0x77, 0x6f, 0x72, 0x6c, 0x64,
+ 0x3a, 0x00, 0x55, 0x6e, 0x69, 0x6f, 0x6e, 0x20,
+ 0x4c, 0x6f, 0x67, 0x69, 0x63, 0x20, 0x28, 0x38,
+ 0x30, 0x30, 0x29, 0x20, 0x35, 0x38, 0x33, 0x2d,
+ 0x34, 0x38, 0x33, 0x38, 0x00, 0x00, 0x44, 0x5f,
+ 0x04, 0x77, 0xc4, 0x84, 0x84, 0x92, 0x49, 0x20,
+ 0x63, 0x61, 0x6e, 0x27, 0x74, 0x20, 0x75, 0x73,
+ 0x65, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x73,
+ 0x61, 0x76, 0x65, 0x67, 0x61, 0x6d, 0x65, 0x21,
+ 0x00, 0x28, 0x54, 0x68, 0x65, 0x20, 0x66, 0x69,
+ 0x6c, 0x65, 0x20, 0x69, 0x73, 0x20, 0x63, 0x6f,
+ 0x72, 0x72, 0x75, 0x70, 0x74, 0x65, 0x64, 0x20,
+ 0x6f, 0x72, 0x20, 0x77, 0x61, 0x73, 0x00, 0x73,
+ 0x61, 0x76, 0x65, 0x64, 0x20, 0x75, 0x6e, 0x64,
+ 0x65, 0x72, 0x20, 0x64, 0x69, 0x66, 0x66, 0x65,
+ 0x72, 0x65, 0x6e, 0x74, 0x20, 0x67, 0x61, 0x6d,
+ 0x65, 0x00, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f,
+ 0x6e, 0x2e, 0x20, 0x53, 0x6f, 0x72, 0x72, 0x79,
+ 0x2e, 0x29, 0x00, 0x00, 0xc7, 0x32, 0x4f, 0x46,
+ 0x46, 0x00, 0xc7, 0x32, 0x31, 0x30, 0x80, 0x00,
+ 0xc6, 0x32, 0x32, 0x30, 0x80, 0x00, 0xc6, 0x32,
+ 0x33, 0x30, 0x80, 0x00, 0xc6, 0x32, 0x34, 0x30,
+ 0x80, 0x00, 0xc6, 0x32, 0x35, 0x30, 0x80, 0x00,
+ 0xc6, 0x32, 0x36, 0x30, 0x80, 0x00, 0xc6, 0x32,
+ 0x37, 0x30, 0x80, 0x00, 0xc6, 0x32, 0x38, 0x30,
+ 0x80, 0x00, 0xc6, 0x32, 0x39, 0x30, 0x80, 0x00,
+ 0xc5, 0x32, 0x4d, 0x41, 0x58, 0x00, 0xc7, 0x41,
+ 0x4f, 0x46, 0x46, 0x00, 0xc7, 0x41, 0x31, 0x30,
+ 0x80, 0x00, 0xc6, 0x41, 0x32, 0x30, 0x80, 0x00,
+ 0xc6, 0x41, 0x33, 0x30, 0x80, 0x00, 0xc6, 0x41,
+ 0x34, 0x30, 0x80, 0x00, 0xc6, 0x41, 0x35, 0x30,
+ 0x80, 0x00, 0xc6, 0x41, 0x36, 0x30, 0x80, 0x00,
+ 0xc6, 0x41, 0x37, 0x30, 0x80, 0x00, 0xc6, 0x41,
+ 0x38, 0x30, 0x80, 0x00, 0xc6, 0x41, 0x39, 0x30,
+ 0x80, 0x00, 0xc5, 0x41, 0x4d, 0x41, 0x58, 0x00,
+ 0xbb, 0x50, 0x53, 0x4c, 0x4f, 0x57, 0x20, 0x20,
+ 0x00, 0xb4, 0x50, 0x4e, 0x4f, 0x52, 0x4d, 0x41,
+ 0x4c, 0x00, 0xbb, 0x50, 0x46, 0x41, 0x53, 0x54,
+ 0x20, 0x20, 0x00, 0xb7, 0x50, 0x43, 0x52, 0x41,
+ 0x5a, 0x59, 0x20, 0x00, 0xbb, 0x5f, 0x53, 0x4c,
+ 0x4f, 0x57, 0x20, 0x20, 0x00, 0xb4, 0x5f, 0x4e,
+ 0x4f, 0x52, 0x4d, 0x41, 0x4c, 0x00, 0xbb, 0x5f,
+ 0x46, 0x41, 0x53, 0x54, 0x20, 0x20, 0x00, 0xb7,
+ 0x5f, 0x43, 0x52, 0x41, 0x5a, 0x59, 0x20, 0x00,
+ 0xb8, 0x6e, 0x43, 0x4c, 0x49, 0x43, 0x4b, 0x20,
+ 0x00, 0xbb, 0x6e, 0x53, 0x4c, 0x4f, 0x57, 0x20,
+ 0x20, 0x00, 0xb4, 0x6e, 0x4e, 0x4f, 0x52, 0x4d,
+ 0x41, 0x4c, 0x00, 0xbb, 0x6e, 0x46, 0x41, 0x53,
+ 0x54, 0x20, 0x20, 0x00, 0xb7, 0x6e, 0x43, 0x52,
+ 0x41, 0x5a, 0x59, 0x20, 0x00, 0xbe, 0x7d, 0x4d,
+ 0x4f, 0x4e, 0x4f, 0x20, 0x00, 0xbb, 0x7d, 0x43,
+ 0x4f, 0x4c, 0x4f, 0x52, 0x00, 0x3b, 0x0c, 0xca,
+ 0x0c, 0x00, 0x3b, 0x1b, 0xca, 0x0c, 0x00, 0x3b,
+ 0x2a, 0xca, 0x0c, 0x00, 0x3b, 0x39, 0xca, 0x0c,
+ 0x00, 0x3b, 0x48, 0xca, 0x0c, 0x00, 0x3b, 0x57,
+ 0xca, 0x0c, 0x00, 0x3b, 0x66, 0xca, 0x0c, 0x00,
+ 0x3b, 0x75, 0xca, 0x0c, 0x00, 0x3b, 0x84, 0xca,
+ 0x0c, 0x00, 0x3b, 0x93, 0xca, 0x0c, 0x00, 0x6e,
+ 0xaf, 0x64, 0x0a, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0xcc, 0xdd, 0x43, 0x61, 0x6e, 0x63, 0x65,
+ 0x6c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x5f, 0x00, 0x0d, 0x0a, 0x48,
+ 0x45, 0x4c, 0x4c, 0x4f, 0x2c, 0x20, 0x56, 0x4f,
+ 0x59, 0x45, 0x55, 0x52, 0x21, 0x0d, 0x0a, 0xaf,
+ 0xb3, 0xa6, 0x64, 0x00, 0x0a, 0x01, 0x01, 0x02,
+ 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00,
+ 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00,
+ 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x64, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x01, 0x28, 0x1b, 0x1c, 0x28,
+ 0x1d, 0x1e, 0x28, 0x1b, 0x28, 0x1f, 0x20, 0x28,
+ 0x1b, 0x1c, 0x28, 0x1d, 0x28, 0x1f, 0x28, 0x1b,
+ 0x00, 0x28, 0x1b, 0x1c, 0x28, 0x1d, 0x1e, 0x28,
+ 0x1b, 0x28, 0x1f, 0x20, 0x28, 0x1b, 0x1c, 0x28,
+ 0x1d, 0x28, 0x1f, 0x28, 0x1b, 0x00, 0x2a, 0x26,
+ 0x2a, 0x2a, 0x27, 0x2a, 0x27, 0x2a, 0x2a, 0x26,
+ 0x2a, 0x26, 0x2a, 0x2a, 0x2a, 0x27, 0x26, 0x2a,
+ 0x2a, 0x27, 0x00, 0x21, 0x22, 0x23, 0x24, 0x29,
+ 0x25, 0x29, 0x29, 0x25, 0x29, 0x21, 0x22, 0x21,
+ 0x24, 0x29, 0x21, 0x29, 0x29, 0x21, 0x29, 0x00,
+ 0x00, 0x00, 0x01, 0x46, 0x65, 0x82, 0x65, 0xb2,
+ 0x65, 0x01, 0x02, 0x03, 0x04, 0x04, 0x04, 0x04,
+ 0x05, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x06,
+ 0x06, 0x06, 0x06, 0x07, 0x06, 0x06, 0x06, 0x06,
+ 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06,
+ 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04,
+ 0x05, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04,
+ 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04,
+ 0x04, 0x04, 0x04, 0x04, 0x00, 0x01, 0x02, 0x03,
+ 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04,
+ 0x05, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04,
+ 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04,
+ 0x08, 0x08, 0x08, 0x09, 0x08, 0x08, 0x08, 0x08,
+ 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x04, 0x04,
+ 0x04, 0x04, 0x04, 0x04, 0x00, 0x01, 0x02, 0x03,
+ 0x04, 0x04, 0x04, 0x04, 0x04, 0x06, 0x06, 0x06,
+ 0x06, 0x06, 0x06, 0x04, 0x08, 0x08, 0x08, 0x08,
+ 0x08, 0x08, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04,
+ 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x05, 0x04,
+ 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04,
+ 0x04, 0x04, 0x04, 0x04, 0x00, 0x01, 0x02, 0x03,
+ 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0a, 0x00,
+ 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09,
+ 0x0a, 0x00, 0x14, 0x15, 0x16, 0x17, 0x18, 0x19,
+ 0x1a, 0x00, 0x0c, 0x0d, 0x0e, 0x0f, 0x10, 0x11,
+ 0x12, 0x00, 0x00, 0x00, 0x3a, 0x0d, 0x28, 0x2e,
+ 0x00, 0x20, 0x31, 0x18, 0x10, 0x3a, 0x23, 0x14,
+ 0x3f, 0x2b, 0x17, 0x3f, 0x30, 0x22, 0x3f, 0x34,
+ 0x21, 0x3f, 0x00, 0x00, 0x36, 0x00, 0x00, 0x28,
+ 0x00, 0x00, 0x11, 0x2f, 0x3f, 0x11, 0x24, 0x3f,
+ 0x11, 0x16, 0x3f, 0x1d, 0x11, 0x1f, 0x28, 0x2f,
+ 0x33, 0x35, 0x13, 0x10, 0x0c, 0x28, 0x21, 0x19,
+ 0x00, 0x92, 0x66, 0x94, 0x66, 0x96, 0x66, 0x98,
+ 0x66, 0x9a, 0x66, 0x9c, 0x66, 0x9e, 0x66, 0xa0,
+ 0x66, 0xa2, 0x66, 0xa4, 0x66, 0xa6, 0x66, 0xb1,
+ 0x66, 0xbc, 0x66, 0xbe, 0x66, 0xc9, 0x66, 0xcb,
+ 0x66, 0xd6, 0x66, 0xd8, 0x66, 0xe3, 0x66, 0xe5,
+ 0x66, 0xf0, 0x66, 0xf2, 0x66, 0xf4, 0x66, 0xf6,
+ 0x66, 0xf8, 0x66, 0xfa, 0x66, 0x20, 0x67, 0x22,
+ 0x67, 0x24, 0x67, 0x26, 0x67, 0x28, 0x67, 0x2a,
+ 0x67, 0x2c, 0x67, 0x2e, 0x67, 0x30, 0x67, 0x32,
+ 0x67, 0x34, 0x67, 0x36, 0x67, 0x38, 0x67, 0x3a,
+ 0x67, 0x3c, 0x67, 0x3e, 0x67, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0x00, 0x00, 0x5c, 0x00, 0x50, 0x00, 0x97,
+ 0x00, 0x0f, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00,
+ 0x02, 0x01, 0xab, 0x00, 0x09, 0xff, 0xff, 0xff,
+ 0xff, 0x1f, 0x00, 0xb7, 0x00, 0x55, 0x00, 0xc4,
+ 0x00, 0x0c, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00,
+ 0x00, 0x00, 0xd2, 0x00, 0xc7, 0x00, 0x08, 0xff,
+ 0xff, 0xff, 0xff, 0x3a, 0x00, 0x9e, 0x00, 0x3f,
+ 0x01, 0xc7, 0x00, 0x0a, 0xff, 0xff, 0xff, 0xff,
+ 0x82, 0x00, 0xa0, 0x00, 0x3f, 0x01, 0xa9, 0x00,
+ 0x0a, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00,
+ 0x00, 0x86, 0x00, 0xc7, 0x00, 0x12, 0x00, 0x00,
+ 0x00, 0x00, 0xaf, 0x00, 0xae, 0x00, 0x10, 0x00,
+ 0x00, 0x00, 0x00, 0xdb, 0x00, 0xa9, 0x00, 0x0e,
+ 0x00, 0x00, 0x00, 0x00, 0x3f, 0x01, 0xc7, 0x00,
+ 0x06, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 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, 0x9a, 0x67, 0x9b, 0x67, 0xf0, 0x67, 0x29,
+ 0x68, 0x70, 0x68, 0xc5, 0x68, 0xfe, 0x68, 0x37,
+ 0x69, 0x8c, 0x69, 0xc5, 0x69, 0x1a, 0x6a, 0x6f,
+ 0x6a, 0xc4, 0x6a, 0xfd, 0x6a, 0x6e, 0x6b, 0xdf,
+ 0x6b, 0x18, 0x6c, 0x19, 0x6c, 0x6e, 0x6c, 0xa7,
+ 0x6c, 0xee, 0x6c, 0x35, 0x6d, 0x7c, 0x6d, 0xb5,
+ 0x6d, 0xee, 0x6d, 0x19, 0x6e, 0x36, 0x6e, 0xd1,
+ 0x6e, 0xfc, 0x6e, 0x27, 0x6f, 0x6e, 0x6f, 0x8b,
+ 0x6f, 0xd2, 0x6f, 0x0b, 0x70, 0x6e, 0x70, 0x99,
+ 0x70, 0xb6, 0x70, 0xb7, 0x70, 0xf0, 0x70, 0xf1,
+ 0x70, 0xf2, 0x70, 0xf3, 0x70, 0x00, 0x06, 0x01,
+ 0x03, 0x00, 0x00, 0x00, 0x00, 0xd2, 0x00, 0xb1,
+ 0x00, 0x00, 0x03, 0x00, 0x00, 0x01, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xe4, 0x00, 0x9b, 0x00, 0x00,
+ 0x03, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0xfc, 0x00, 0x8e, 0x00, 0x00, 0x03, 0x00,
+ 0x00, 0x01, 0x03, 0x00, 0x00, 0x00, 0x00, 0x3f,
+ 0x01, 0x5e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02,
+ 0x00, 0x00, 0x00, 0xc0, 0x00, 0xa2, 0x00, 0xc7,
+ 0x00, 0x02, 0x01, 0x00, 0x00, 0x03, 0x00, 0xff,
+ 0x00, 0x9c, 0x00, 0x3f, 0x01, 0xc7, 0x00, 0x04,
+ 0x00, 0x00, 0x01, 0x04, 0x01, 0x03, 0x00, 0x00,
+ 0x00, 0x00, 0xcb, 0x00, 0xbf, 0x00, 0x00, 0x03,
+ 0x02, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0xe8, 0x00, 0x99, 0x00, 0x00, 0x03, 0x02, 0x00,
+ 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0x01,
+ 0x66, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00,
+ 0xe5, 0x00, 0xb9, 0x00, 0x3f, 0x01, 0xc7, 0x00,
+ 0x04, 0x00, 0x00, 0x01, 0x05, 0x01, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xde, 0x00, 0xaf, 0x00, 0x00,
+ 0x03, 0x02, 0x03, 0x01, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x7b, 0x00, 0xc7, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f,
+ 0x01, 0x7f, 0x00, 0x00, 0x00, 0x00, 0x03, 0x01,
+ 0x00, 0x00, 0x00, 0xc0, 0x00, 0x3f, 0x01, 0xc7,
+ 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x00, 0xf4,
+ 0x00, 0x93, 0x00, 0x3f, 0x01, 0xb0, 0x00, 0x04,
+ 0x00, 0x04, 0x00, 0x06, 0x01, 0x03, 0x00, 0x00,
+ 0x00, 0x00, 0xf9, 0x00, 0x9c, 0x00, 0x00, 0x03,
+ 0x00, 0x00, 0x01, 0x00, 0xf9, 0x00, 0x00, 0x00,
+ 0x08, 0x01, 0x9b, 0x00, 0x00, 0x03, 0x00, 0x03,
+ 0x01, 0x00, 0x08, 0x01, 0x00, 0x00, 0x3f, 0x01,
+ 0x7c, 0x00, 0x00, 0x03, 0x00, 0x03, 0x01, 0x03,
+ 0x46, 0x00, 0x00, 0x00, 0x6c, 0x00, 0xa4, 0x00,
+ 0x00, 0x03, 0x00, 0x03, 0x02, 0x01, 0x00, 0x00,
+ 0xb5, 0x00, 0x6b, 0x00, 0xc7, 0x00, 0x02, 0x01,
+ 0x00, 0x00, 0x03, 0x00, 0x87, 0x00, 0xb7, 0x00,
+ 0x3f, 0x01, 0xc7, 0x00, 0x04, 0x00, 0x00, 0x01,
+ 0x04, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20,
+ 0x00, 0xc7, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0x01, 0xac,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x03, 0x00,
+ 0x00, 0x00, 0x00, 0x8f, 0x00, 0xbc, 0x00, 0x00,
+ 0x03, 0x02, 0x00, 0x01, 0x00, 0x33, 0x01, 0x00,
+ 0x00, 0x3f, 0x01, 0xc7, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x04, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x0c, 0x00, 0xc7, 0x00, 0x00, 0x03, 0x00, 0x00,
+ 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0x01,
+ 0xa5, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00,
+ 0xfa, 0x00, 0x00, 0x00, 0x3f, 0x01, 0xc7, 0x00,
+ 0x00, 0x00, 0x00, 0x03, 0x02, 0x00, 0x53, 0x00,
+ 0xaf, 0x00, 0xe6, 0x00, 0xbe, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x06, 0x01, 0x00, 0xce, 0x00, 0xb3,
+ 0x00, 0x3f, 0x01, 0xc1, 0x00, 0x04, 0x00, 0x04,
+ 0x00, 0x01, 0x03, 0x00, 0x00, 0x00, 0x00, 0x3f,
+ 0x01, 0x97, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
+ 0x00, 0x00, 0x00, 0xb6, 0x00, 0x5e, 0x00, 0xc1,
+ 0x00, 0x02, 0x00, 0x02, 0x00, 0x01, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x10, 0x00, 0xc7, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x01, 0x00, 0x05, 0x01, 0x00,
+ 0x00, 0x3f, 0x01, 0xc7, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x01, 0x00, 0xff, 0x00, 0x00, 0x00, 0x3f,
+ 0x01, 0xc1, 0x00, 0x04, 0x00, 0x04, 0x00, 0x04,
+ 0x01, 0x03, 0x00, 0x00, 0x00, 0x00, 0x5d, 0x00,
+ 0xb2, 0x00, 0x00, 0x03, 0x02, 0x00, 0x01, 0x03,
+ 0x00, 0x00, 0x00, 0x00, 0x3f, 0x01, 0xac, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0xf1, 0x00,
+ 0x00, 0x00, 0x3f, 0x01, 0xbc, 0x00, 0x00, 0x00,
+ 0x04, 0x03, 0x01, 0x00, 0x16, 0x01, 0x00, 0x00,
+ 0x3f, 0x01, 0xc7, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x06, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x59,
+ 0x00, 0x8a, 0x00, 0x00, 0x03, 0x00, 0x00, 0x01,
+ 0x00, 0x59, 0x00, 0x00, 0x00, 0x3f, 0x01, 0x94,
+ 0x00, 0x00, 0x00, 0x04, 0x03, 0x01, 0x00, 0xec,
+ 0x00, 0x00, 0x00, 0x3f, 0x01, 0xa2, 0x00, 0x00,
+ 0x00, 0x04, 0x03, 0x02, 0x00, 0x00, 0x00, 0x94,
+ 0x00, 0x3e, 0x00, 0xc7, 0x00, 0x00, 0x01, 0x00,
+ 0x00, 0x02, 0x00, 0x00, 0x00, 0xa6, 0x00, 0x71,
+ 0x00, 0xc7, 0x00, 0x02, 0x01, 0x00, 0x00, 0x02,
+ 0x00, 0x00, 0x00, 0xbd, 0x00, 0x3f, 0x01, 0xc7,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x01, 0x00,
+ 0x00, 0x00, 0x91, 0x00, 0x1a, 0x00, 0xa3, 0x00,
+ 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x00, 0x00,
+ 0xb3, 0x00, 0xa4, 0x00, 0xc7, 0x00, 0x02, 0x01,
+ 0x00, 0x00, 0x02, 0x00, 0xa5, 0x00, 0xbd, 0x00,
+ 0xc8, 0x00, 0xc7, 0x00, 0x02, 0x01, 0x00, 0x00,
+ 0x03, 0x00, 0xaf, 0x00, 0x83, 0x00, 0x3f, 0x01,
+ 0x97, 0x00, 0x04, 0x00, 0x04, 0x00, 0x03, 0x00,
+ 0xc3, 0x00, 0x98, 0x00, 0x3f, 0x01, 0xb3, 0x00,
+ 0x04, 0x00, 0x04, 0x00, 0x04, 0x00, 0x42, 0x00,
+ 0x00, 0x00, 0x7c, 0x00, 0x99, 0x00, 0x00, 0x03,
+ 0x00, 0x03, 0x06, 0x01, 0x03, 0x00, 0x00, 0x00,
+ 0x00, 0xfc, 0x00, 0xa8, 0x00, 0x00, 0x03, 0x02,
+ 0x00, 0x01, 0x03, 0x00, 0x00, 0xa9, 0x00, 0x30,
+ 0x00, 0xb8, 0x00, 0x00, 0x03, 0x02, 0x00, 0x01,
+ 0x00, 0xfd, 0x00, 0x00, 0x00, 0x1f, 0x01, 0xac,
+ 0x00, 0x00, 0x03, 0x02, 0x03, 0x01, 0x00, 0x20,
+ 0x01, 0x00, 0x00, 0x2c, 0x01, 0xa2, 0x00, 0x00,
+ 0x03, 0x02, 0x03, 0x01, 0x00, 0x2d, 0x01, 0x00,
+ 0x00, 0x3f, 0x01, 0x87, 0x00, 0x00, 0x03, 0x02,
+ 0x03, 0x02, 0x01, 0x00, 0x00, 0xc2, 0x00, 0x3f,
+ 0x01, 0xc7, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04,
+ 0x01, 0x01, 0x00, 0x00, 0xba, 0x00, 0x4b, 0x00,
+ 0xc7, 0x00, 0x02, 0x00, 0x02, 0x00, 0x01, 0x01,
+ 0xe6, 0x00, 0xba, 0x00, 0x3f, 0x01, 0xc7, 0x00,
+ 0x04, 0x00, 0x04, 0x01, 0x02, 0x00, 0x3e, 0x00,
+ 0x00, 0x00, 0x70, 0x00, 0xaf, 0x00, 0x00, 0x00,
+ 0x04, 0x03, 0x02, 0x00, 0x70, 0x00, 0x00, 0x00,
+ 0x3f, 0x01, 0xb2, 0x00, 0x00, 0x00, 0x04, 0x03,
+ 0x08, 0x01, 0x03, 0x00, 0x00, 0x00, 0x00, 0x3f,
+ 0x01, 0x6e, 0x00, 0x00, 0x03, 0x04, 0x03, 0x01,
+ 0x00, 0x7a, 0x00, 0x6f, 0x00, 0x3f, 0x01, 0x89,
+ 0x00, 0x04, 0x00, 0x04, 0x03, 0x01, 0x00, 0xfc,
+ 0x00, 0x8d, 0x00, 0x3f, 0x01, 0xb8, 0x00, 0x04,
+ 0x00, 0x04, 0x03, 0x01, 0x00, 0x1c, 0x01, 0xb9,
+ 0x00, 0x3f, 0x01, 0xc7, 0x00, 0x04, 0x00, 0x04,
+ 0x00, 0x02, 0x00, 0x00, 0x00, 0x9e, 0x00, 0x8a,
+ 0x00, 0xb2, 0x00, 0x02, 0x00, 0x02, 0x00, 0x02,
+ 0x00, 0x00, 0x00, 0xb3, 0x00, 0x23, 0x00, 0xc7,
+ 0x00, 0x02, 0x00, 0x02, 0x00, 0x02, 0x00, 0x24,
+ 0x00, 0xb3, 0x00, 0x6d, 0x00, 0xbe, 0x00, 0x02,
+ 0x00, 0x02, 0x00, 0x03, 0x00, 0x77, 0x00, 0xbc,
+ 0x00, 0xe8, 0x00, 0xc7, 0x00, 0x00, 0x01, 0x00,
+ 0x01, 0x08, 0x03, 0x01, 0xde, 0x00, 0xb4, 0x00,
+ 0x2c, 0x01, 0xc7, 0x00, 0x04, 0x00, 0x00, 0x01,
+ 0x01, 0x03, 0x00, 0x00, 0x00, 0x00, 0x6e, 0x00,
+ 0xa7, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x03,
+ 0x6f, 0x00, 0x00, 0x00, 0xef, 0x00, 0xb1, 0x00,
+ 0x00, 0x03, 0x00, 0x03, 0x01, 0x03, 0xf0, 0x00,
+ 0x00, 0x00, 0x22, 0x01, 0xa5, 0x00, 0x00, 0x03,
+ 0x00, 0x00, 0x01, 0x03, 0x23, 0x01, 0x00, 0x00,
+ 0x3f, 0x01, 0xa1, 0x00, 0x00, 0x00, 0x00, 0x03,
+ 0x02, 0x01, 0x00, 0x00, 0xb8, 0x00, 0x8b, 0x00,
+ 0xc7, 0x00, 0x02, 0x01, 0x00, 0x00, 0x03, 0x01,
+ 0xa3, 0x00, 0xb8, 0x00, 0xdd, 0x00, 0xc7, 0x00,
+ 0x04, 0x00, 0x00, 0x01, 0x03, 0x01, 0x2d, 0x01,
+ 0xaf, 0x00, 0x3f, 0x01, 0xc7, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x04, 0x01, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x3f, 0x01, 0x50, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x5b,
+ 0x00, 0xc7, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
+ 0x00, 0x14, 0x01, 0x00, 0x00, 0x3f, 0x01, 0xc7,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00,
+ 0x00, 0x65, 0x00, 0x3f, 0x01, 0xc7, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x06, 0x01, 0x00, 0x61,
+ 0x00, 0x00, 0x00, 0x3f, 0x01, 0xa3, 0x00, 0x00,
+ 0x00, 0x04, 0x03, 0x01, 0x00, 0x34, 0x00, 0x85,
+ 0x00, 0x63, 0x00, 0x97, 0x00, 0x04, 0x00, 0x04,
+ 0x00, 0x01, 0x00, 0xab, 0x00, 0xa4, 0x00, 0x3f,
+ 0x01, 0xb6, 0x00, 0x00, 0x00, 0x04, 0x03, 0x02,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x60, 0x00, 0x72,
+ 0x00, 0x00, 0x03, 0x02, 0x00, 0x02, 0x00, 0x00,
+ 0x00, 0x72, 0x00, 0x19, 0x00, 0xaa, 0x00, 0x02,
+ 0x00, 0x02, 0x00, 0x02, 0x00, 0x00, 0x00, 0xaa,
+ 0x00, 0x45, 0x00, 0xc7, 0x00, 0x02, 0x01, 0x00,
+ 0x00, 0x04, 0x01, 0x00, 0x00, 0x00, 0xa3, 0x00,
+ 0x2c, 0x00, 0xc7, 0x00, 0x02, 0x01, 0x00, 0x00,
+ 0x01, 0x03, 0x00, 0x00, 0x00, 0x00, 0x3f, 0x01,
+ 0xa2, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x04,
+ 0x0f, 0x01, 0xa3, 0x00, 0x3f, 0x01, 0xbd, 0x00,
+ 0x04, 0x00, 0x04, 0x03, 0x01, 0x00, 0xe2, 0x00,
+ 0x00, 0x00, 0x3f, 0x01, 0xaa, 0x00, 0x00, 0x00,
+ 0x04, 0x03, 0x05, 0x01, 0x03, 0xb0, 0x00, 0xa4,
+ 0x00, 0x3f, 0x01, 0xbc, 0x00, 0x04, 0x00, 0x04,
+ 0x00, 0x01, 0x03, 0x00, 0x00, 0x00, 0x00, 0x0e,
+ 0x00, 0x82, 0x00, 0x00, 0x00, 0x02, 0x00, 0x01,
+ 0x03, 0x0f, 0x00, 0x00, 0x00, 0x88, 0x00, 0xb4,
+ 0x00, 0x00, 0x03, 0x00, 0x03, 0x01, 0x03, 0x89,
+ 0x00, 0x00, 0x00, 0x3f, 0x01, 0xa3, 0x00, 0x00,
+ 0x00, 0x04, 0x00, 0x02, 0x01, 0x00, 0x00, 0xc4,
+ 0x00, 0x93, 0x00, 0xc7, 0x00, 0x02, 0x01, 0x00,
+ 0x00, 0x05, 0x01, 0x00, 0xdc, 0x00, 0x00, 0x00,
+ 0x3f, 0x01, 0xc7, 0x00, 0x00, 0x03, 0x00, 0x03,
+ 0x01, 0x03, 0x00, 0x00, 0x00, 0x00, 0x50, 0x00,
+ 0xae, 0x00, 0x00, 0x03, 0x02, 0x00, 0x01, 0x03,
+ 0x51, 0x00, 0x00, 0x00, 0x78, 0x00, 0xab, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x01, 0x03, 0x79, 0x00,
+ 0x00, 0x00, 0x3f, 0x01, 0xb1, 0x00, 0x00, 0x00,
+ 0x04, 0x03, 0x02, 0x01, 0x00, 0x00, 0xc0, 0x00,
+ 0xa9, 0x00, 0xc7, 0x00, 0x02, 0x01, 0x00, 0x00,
+ 0x05, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f,
+ 0x01, 0xa8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
+ 0x00, 0x00, 0x00, 0xaa, 0x00, 0x29, 0x00, 0xbf,
+ 0x00, 0x02, 0x00, 0x02, 0x00, 0x01, 0x01, 0x00,
+ 0x00, 0xbf, 0x00, 0x9e, 0x00, 0xc7, 0x00, 0x02,
+ 0x01, 0x00, 0x00, 0x01, 0x01, 0xc5, 0x00, 0xaf,
+ 0x00, 0x3f, 0x01, 0xc7, 0x00, 0x04, 0x00, 0x00,
+ 0x01, 0x01, 0x04, 0x00, 0x01, 0xa8, 0x00, 0x3f,
+ 0x01, 0xae, 0x00, 0x04, 0x00, 0x04, 0x00, 0x04,
+ 0x01, 0x00, 0x00, 0x00, 0xaa, 0x00, 0x52, 0x00,
+ 0xba, 0x00, 0x00, 0x03, 0x02, 0x00, 0x01, 0x03,
+ 0x00, 0x00, 0x00, 0x00, 0x3f, 0x01, 0xa9, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0xe0, 0x00,
+ 0xaa, 0x00, 0x3f, 0x01, 0xb2, 0x00, 0x00, 0x00,
+ 0x04, 0x03, 0x01, 0x00, 0x12, 0x01, 0xb3, 0x00,
+ 0x3f, 0x01, 0xc7, 0x00, 0x00, 0x00, 0x00, 0x01,
+ 0x04, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x47,
+ 0x00, 0xc7, 0x00, 0x00, 0x03, 0x00, 0x00, 0x01,
+ 0x03, 0x47, 0x00, 0x00, 0x00, 0x12, 0x01, 0xa6,
+ 0x00, 0x00, 0x03, 0x00, 0x03, 0x01, 0x03, 0x63,
+ 0x00, 0x00, 0x00, 0xd3, 0x00, 0xaa, 0x00, 0x00,
+ 0x03, 0x00, 0x03, 0x01, 0x00, 0x12, 0x01, 0x00,
+ 0x00, 0x3f, 0x01, 0xc7, 0x00, 0x00, 0x00, 0x00,
+ 0x03, 0x03, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x96, 0x00, 0xc7, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x01, 0x03, 0x79, 0x00, 0x00, 0x00, 0x3f, 0x01,
+ 0x90, 0x00, 0x00, 0x00, 0x00, 0x03, 0x01, 0x01,
+ 0x79, 0x00, 0xa4, 0x00, 0x3f, 0x01, 0xc7, 0x00,
+ 0x00, 0x00, 0x00, 0x01, 0x02, 0x01, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x69, 0x00, 0xc7, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x01, 0x03, 0x6a, 0x00, 0x00,
+ 0x00, 0x3f, 0x01, 0xa5, 0x00, 0x00, 0x03, 0x02,
+ 0x03, 0x0b, 0x01, 0x03, 0x00, 0x00, 0x00, 0x00,
+ 0x3f, 0x01, 0x83, 0x00, 0x00, 0x00, 0x04, 0x00,
+ 0x01, 0x03, 0x00, 0x00, 0x84, 0x00, 0xda, 0x00,
+ 0x9e, 0x00, 0x02, 0x03, 0x02, 0x00, 0x01, 0x03,
+ 0x00, 0x00, 0x9f, 0x00, 0xc2, 0x00, 0xa9, 0x00,
+ 0x00, 0x03, 0x02, 0x00, 0x01, 0x03, 0x00, 0x00,
+ 0xaa, 0x00, 0xa4, 0x00, 0xaf, 0x00, 0x00, 0x03,
+ 0x02, 0x00, 0x01, 0x03, 0x00, 0x00, 0xb0, 0x00,
+ 0x7f, 0x00, 0xbb, 0x00, 0x00, 0x03, 0x02, 0x00,
+ 0x01, 0x03, 0x00, 0x00, 0xbc, 0x00, 0x5e, 0x00,
+ 0xc3, 0x00, 0x00, 0x03, 0x02, 0x00, 0x01, 0x02,
+ 0x00, 0x00, 0xc4, 0x00, 0x4b, 0x00, 0xc7, 0x00,
+ 0x00, 0x03, 0x02, 0x00, 0x01, 0x03, 0xef, 0x00,
+ 0x84, 0x00, 0x3f, 0x01, 0xa4, 0x00, 0x04, 0x00,
+ 0x00, 0x01, 0x01, 0x03, 0xdb, 0x00, 0xa5, 0x00,
+ 0x3f, 0x01, 0xb4, 0x00, 0x04, 0x00, 0x00, 0x01,
+ 0x01, 0x03, 0xc2, 0x00, 0xb5, 0x00, 0x3f, 0x01,
+ 0xbe, 0x00, 0x04, 0x00, 0x00, 0x01, 0x01, 0x04,
+ 0xa2, 0x00, 0xbf, 0x00, 0x3f, 0x01, 0xc7, 0x00,
+ 0x04, 0x00, 0x00, 0x01, 0x03, 0x01, 0x03, 0x00,
+ 0x00, 0x00, 0x00, 0x93, 0x00, 0x8c, 0x00, 0x00,
+ 0x03, 0x00, 0x03, 0x01, 0x03, 0x94, 0x00, 0x00,
+ 0x00, 0x3f, 0x01, 0x94, 0x00, 0x00, 0x00, 0x04,
+ 0x03, 0x01, 0x00, 0xe9, 0x00, 0x95, 0x00, 0x3f,
+ 0x01, 0xc7, 0x00, 0x04, 0x00, 0x04, 0x00, 0x03,
+ 0x01, 0x03, 0x00, 0x00, 0x00, 0x00, 0x3f, 0x01,
+ 0xa5, 0x00, 0x00, 0x03, 0x00, 0x03, 0x01, 0x02,
+ 0x00, 0x00, 0x00, 0x00, 0x1e, 0x00, 0xc7, 0x00,
+ 0x02, 0x00, 0x02, 0x00, 0x01, 0x03, 0x30, 0x00,
+ 0x00, 0x00, 0x4f, 0x00, 0xab, 0x00, 0x00, 0x03,
+ 0x00, 0x03, 0x05, 0x01, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x3f, 0x01, 0x95, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x01, 0x00, 0xf1, 0x00, 0x00, 0x00, 0x3f,
+ 0x01, 0x9a, 0x00, 0x00, 0x00, 0x04, 0x03, 0x01,
+ 0x04, 0x22, 0x01, 0x00, 0x00, 0x3f, 0x01, 0xc7,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x75,
+ 0x00, 0x9c, 0x00, 0xe9, 0x00, 0xbf, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x11, 0x00, 0xc7, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x02, 0x01, 0x03, 0x00, 0x00, 0x00, 0x00,
+ 0x3f, 0x01, 0xa5, 0x00, 0x00, 0x03, 0x00, 0x03,
+ 0x01, 0x03, 0x00, 0x00, 0x00, 0x00, 0x37, 0x00,
+ 0xb0, 0x00, 0x02, 0x03, 0x02, 0x00, 0x05, 0x01,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x27, 0x00, 0xc7,
+ 0x00, 0x00, 0x03, 0x02, 0x00, 0x01, 0x03, 0x28,
+ 0x00, 0x00, 0x00, 0x8e, 0x00, 0xa9, 0x00, 0x00,
+ 0x03, 0x02, 0x03, 0x01, 0x03, 0x8e, 0x00, 0x00,
+ 0x00, 0x07, 0x01, 0xa1, 0x00, 0x00, 0x03, 0x00,
+ 0x03, 0x01, 0x00, 0x08, 0x01, 0x00, 0x00, 0x3f,
+ 0x01, 0xc7, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
+ 0x00, 0xdf, 0x00, 0xb7, 0x00, 0x3f, 0x01, 0xc7,
+ 0x00, 0x04, 0x00, 0x04, 0x01, 0x03, 0x01, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x3e, 0x00, 0xaf, 0x00,
+ 0x00, 0x03, 0x02, 0x00, 0x01, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x50, 0x00, 0xa7, 0x00, 0x00, 0x03,
+ 0x02, 0x00, 0x01, 0x03, 0x50, 0x00, 0x00, 0x00,
+ 0x3f, 0x01, 0x9d, 0x00, 0x00, 0x00, 0x00, 0x03,
+ 0x01, 0x03, 0x97, 0x00, 0x00, 0x00, 0xb4, 0x00,
+ 0xa2, 0x00, 0x00, 0x03, 0x00, 0x03, 0x07, 0x01,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x45, 0x00, 0x80,
+ 0x00, 0x00, 0x03, 0x00, 0x00, 0x01, 0x03, 0x45,
+ 0x00, 0x00, 0x00, 0x78, 0x00, 0x86, 0x00, 0x00,
+ 0x03, 0x00, 0x03, 0x01, 0x03, 0x78, 0x00, 0x00,
+ 0x00, 0x07, 0x01, 0xa8, 0x00, 0x00, 0x03, 0x00,
+ 0x03, 0x01, 0x03, 0x07, 0x01, 0x00, 0x00, 0x3f,
+ 0x01, 0x9e, 0x00, 0x00, 0x03, 0x00, 0x03, 0x02,
+ 0x00, 0x00, 0x00, 0xb4, 0x00, 0x4d, 0x00, 0xc7,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x0c,
+ 0x01, 0xbe, 0x00, 0x3f, 0x01, 0xc7, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x0a, 0x00, 0xc7, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x03, 0x01, 0x03, 0x64, 0x00, 0x00, 0x00,
+ 0x3f, 0x01, 0xa8, 0x00, 0x00, 0x03, 0x00, 0x03,
+ 0x01, 0x03, 0x00, 0x00, 0x00, 0x00, 0x63, 0x00,
+ 0xb7, 0x00, 0x00, 0x03, 0x02, 0x00, 0x02, 0x00,
+ 0xb6, 0x00, 0xb2, 0x00, 0x3f, 0x01, 0xc7, 0x00,
+ 0x00, 0x00, 0x03, 0x00, 0x02, 0x01, 0x00, 0x7d,
+ 0x00, 0x00, 0x00, 0x3f, 0x01, 0xc7, 0x00, 0x00,
+ 0x00, 0x00, 0x03, 0x01, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x3f, 0x01, 0xbe, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x04, 0x01, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x28, 0x00, 0xc7, 0x00, 0x00, 0x03, 0x00,
+ 0x00, 0x01, 0x03, 0x29, 0x00, 0x00, 0x00, 0x5f,
+ 0x00, 0xa2, 0x00, 0x00, 0x03, 0x00, 0x03, 0x01,
+ 0x03, 0x5f, 0x00, 0x00, 0x00, 0xc8, 0x00, 0x9b,
+ 0x00, 0x00, 0x03, 0x00, 0x03, 0x01, 0x00, 0xc8,
+ 0x00, 0x00, 0x00, 0x3f, 0x01, 0xc7, 0x00, 0x00,
+ 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x48,
+ 0x71, 0x4c, 0x71, 0x50, 0x71, 0x54, 0x71, 0x58,
+ 0x71, 0x5c, 0x71, 0x60, 0x71, 0x64, 0x71, 0x68,
+ 0x71, 0x6c, 0x71, 0x70, 0x71, 0x84, 0x71, 0x88,
+ 0x71, 0x8c, 0x71, 0x9c, 0x71, 0xa0, 0x71, 0xa4,
+ 0x71, 0xa8, 0x71, 0xd0, 0x71, 0xd4, 0x71, 0xee,
+ 0x71, 0xf2, 0x71, 0xf6, 0x71, 0xfa, 0x71, 0xfe,
+ 0x71, 0x02, 0x72, 0x06, 0x72, 0x0a, 0x72, 0x18,
+ 0x72, 0x1c, 0x72, 0x20, 0x72, 0x24, 0x72, 0x28,
+ 0x72, 0x2c, 0x72, 0x30, 0x72, 0x34, 0x72, 0x38,
+ 0x72, 0x3c, 0x72, 0x40, 0x72, 0x44, 0x72, 0x48,
+ 0x72, 0x4c, 0x72, 0xc7, 0x00, 0xff, 0xff, 0xc7,
+ 0x00, 0xff, 0xff, 0xc7, 0x00, 0xff, 0xff, 0xc7,
+ 0x00, 0xff, 0xff, 0xc7, 0x00, 0xff, 0xff, 0xc7,
+ 0x00, 0xff, 0xff, 0xc7, 0x00, 0xff, 0xff, 0xc7,
+ 0x00, 0xff, 0xff, 0xc7, 0x00, 0xff, 0xff, 0xc7,
+ 0x00, 0xff, 0xff, 0x67, 0x2d, 0x6a, 0x28, 0x70,
+ 0x23, 0x79, 0x1e, 0x7f, 0x19, 0x82, 0x14, 0x87,
+ 0x0f, 0x8c, 0x0a, 0xc7, 0x00, 0xff, 0xff, 0xc7,
+ 0x00, 0xff, 0xff, 0xc7, 0x00, 0xff, 0xff, 0x6e,
+ 0x17, 0x73, 0x15, 0x78, 0x13, 0x7d, 0x11, 0x82,
+ 0x0f, 0x85, 0x0c, 0xc7, 0x00, 0xff, 0xff, 0xc7,
+ 0x00, 0xff, 0xff, 0xc7, 0x00, 0xff, 0xff, 0xc7,
+ 0x00, 0xff, 0xff, 0x7a, 0x32, 0x7c, 0x30, 0x7e,
+ 0x2e, 0x80, 0x2c, 0x82, 0x2a, 0x84, 0x28, 0x86,
+ 0x24, 0x88, 0x20, 0x8a, 0x1d, 0x8c, 0x1a, 0x8e,
+ 0x17, 0x90, 0x14, 0x92, 0x11, 0x94, 0x0e, 0x96,
+ 0x0b, 0x98, 0x08, 0x9a, 0x05, 0x9c, 0x03, 0xc7,
+ 0x00, 0xff, 0xff, 0xc7, 0x00, 0xff, 0xff, 0x83,
+ 0x12, 0x85, 0x10, 0x87, 0x0e, 0x89, 0x0c, 0x8b,
+ 0x0b, 0x8d, 0x0a, 0x8f, 0x09, 0x91, 0x08, 0x93,
+ 0x06, 0x95, 0x04, 0x97, 0x02, 0xc7, 0x00, 0xff,
+ 0xff, 0xc7, 0x00, 0xff, 0xff, 0xc7, 0x00, 0xff,
+ 0xff, 0xc7, 0x00, 0xff, 0xff, 0xc7, 0x00, 0xff,
+ 0xff, 0xc7, 0x00, 0xff, 0xff, 0xc7, 0x00, 0xff,
+ 0xff, 0xc7, 0x00, 0xff, 0xff, 0x8e, 0x0c, 0x90,
+ 0x0a, 0x92, 0x08, 0x94, 0x06, 0x96, 0x04, 0xc7,
+ 0x00, 0xff, 0xff, 0xc7, 0x00, 0xff, 0xff, 0xc7,
+ 0x00, 0xff, 0xff, 0xc7, 0x00, 0xff, 0xff, 0xc7,
+ 0x00, 0xff, 0xff, 0xc7, 0x00, 0xff, 0xff, 0xc7,
+ 0x00, 0xff, 0xff, 0xc7, 0x00, 0xff, 0xff, 0xc7,
+ 0x00, 0xff, 0xff, 0xc7, 0x00, 0xff, 0xff, 0xc7,
+ 0x00, 0xff, 0xff, 0xc7, 0x00, 0xff, 0xff, 0xc7,
+ 0x00, 0xff, 0xff, 0xc7, 0x00, 0xff, 0xff, 0xc7,
+ 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xa8,
+ 0x72, 0xaa, 0x72, 0xc7, 0x73, 0x34, 0x75, 0xca,
+ 0x76, 0xda, 0x77, 0xbe, 0x79, 0x52, 0x7c, 0xe7,
+ 0x7e, 0x3e, 0x80, 0x1a, 0x81, 0x2c, 0x84, 0xd9,
+ 0x85, 0x20, 0x87, 0x06, 0x88, 0xd9, 0x89, 0x6d,
+ 0x8a, 0xca, 0x8b, 0xec, 0x8c, 0x19, 0x90, 0x6f,
+ 0x93, 0x2c, 0x95, 0x9c, 0x97, 0x08, 0x9b, 0x22,
+ 0x9d, 0x00, 0x9f, 0x10, 0xa0, 0xc0, 0xa3, 0x82,
+ 0xa4, 0xde, 0xa5, 0xc1, 0xa8, 0x5c, 0xaa, 0x12,
+ 0xac, 0x46, 0xaf, 0x5c, 0xb0, 0xa5, 0xb3, 0xfa,
+ 0xb3, 0xfc, 0xb3, 0xeb, 0xb4, 0xed, 0xb4, 0xef,
+ 0xb4, 0xf1, 0xb4, 0x00, 0x00, 0xb6, 0x72, 0xcf,
+ 0x72, 0xe8, 0x72, 0x38, 0x73, 0x7f, 0x73, 0x00,
+ 0x00, 0x01, 0x00, 0x00, 0xa6, 0x00, 0x38, 0x00,
+ 0xc7, 0x00, 0x38, 0x00, 0xb4, 0x00, 0x00, 0x00,
+ 0xb4, 0x00, 0x04, 0x01, 0x70, 0x61, 0x74, 0x68,
+ 0x00, 0x01, 0x02, 0xb6, 0x00, 0xb5, 0x00, 0x10,
+ 0x01, 0xc7, 0x00, 0xd9, 0x00, 0xc1, 0x00, 0xdd,
+ 0x00, 0xc7, 0x00, 0x03, 0x01, 0x70, 0x61, 0x74,
+ 0x68, 0x00, 0x01, 0x03, 0x20, 0x01, 0x4c, 0x00,
+ 0x2f, 0x01, 0x59, 0x00, 0x10, 0x01, 0x64, 0x00,
+ 0x10, 0x01, 0x64, 0x00, 0x01, 0x01, 0x6d, 0x79,
+ 0x73, 0x74, 0x65, 0x72, 0x69, 0x6f, 0x75, 0x73,
+ 0x20, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x00,
+ 0x42, 0x6f, 0x79, 0x2c, 0x20, 0x74, 0x68, 0x61,
+ 0x74, 0x20, 0x63, 0x6f, 0x75, 0x6c, 0x64, 0x20,
+ 0x62, 0x65, 0x20, 0x73, 0x6f, 0x6d, 0x65, 0x20,
+ 0x6b, 0x69, 0x6e, 0x64, 0x20, 0x6f, 0x66, 0x20,
+ 0x74, 0x72, 0x65, 0x61, 0x73, 0x75, 0x72, 0x65,
+ 0x21, 0x00, 0x00, 0x04, 0xf1, 0x00, 0x0e, 0x00,
+ 0x3f, 0x01, 0x5f, 0x00, 0x10, 0x01, 0x64, 0x00,
+ 0x10, 0x01, 0x64, 0x00, 0x01, 0x01, 0x66, 0x65,
+ 0x6e, 0x63, 0x65, 0x00, 0x54, 0x68, 0x69, 0x73,
+ 0x20, 0x69, 0x73, 0x20, 0x6d, 0x61, 0x64, 0x65,
+ 0x20, 0x6f, 0x66, 0x20, 0x62, 0x61, 0x72, 0x62,
+ 0x65, 0x64, 0x20, 0x77, 0x69, 0x72, 0x65, 0x2c,
+ 0x00, 0x61, 0x6e, 0x64, 0x20, 0x69, 0x74, 0x27,
+ 0x73, 0x20, 0x72, 0x75, 0x73, 0x74, 0x79, 0x2e,
+ 0x00, 0x00, 0x05, 0x40, 0x00, 0x5a, 0x00, 0xb9,
+ 0x00, 0xa6, 0x00, 0x7c, 0x00, 0xb7, 0x00, 0x7c,
+ 0x00, 0xb7, 0x00, 0x01, 0x01, 0x74, 0x65, 0x6e,
+ 0x74, 0x00, 0x54, 0x68, 0x65, 0x20, 0x63, 0x61,
+ 0x6d, 0x6f, 0x75, 0x66, 0x6c, 0x61, 0x67, 0x65,
+ 0x20, 0x69, 0x73, 0x6e, 0x27, 0x74, 0x20, 0x71,
+ 0x75, 0x69, 0x74, 0x65, 0x20, 0x73, 0x74, 0x61,
+ 0x74, 0x65, 0x2d, 0x6f, 0x66, 0x2d, 0x74, 0x68,
+ 0x65, 0x2d, 0x61, 0x72, 0x74, 0x2e, 0x2e, 0x2e,
+ 0x00, 0x00, 0xd5, 0x73, 0xf7, 0x73, 0x10, 0x74,
+ 0x29, 0x74, 0x5c, 0x74, 0xd0, 0x74, 0x00, 0x00,
+ 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0xf0, 0x00, 0xa3, 0x00, 0xf0, 0x00, 0xa3,
+ 0x00, 0x04, 0x01, 0x62, 0x69, 0x72, 0x64, 0x00,
+ 0x42, 0x69, 0x67, 0x20, 0x62, 0x6f, 0x79, 0x2e,
+ 0x00, 0x00, 0x02, 0x16, 0x01, 0x55, 0x00, 0x3f,
+ 0x01, 0x7a, 0x00, 0x22, 0x01, 0x76, 0x00, 0x3f,
+ 0x01, 0x68, 0x00, 0x02, 0x01, 0x70, 0x61, 0x74,
+ 0x68, 0x00, 0x01, 0x03, 0x50, 0x00, 0xbd, 0x00,
+ 0xe6, 0x00, 0xc7, 0x00, 0xda, 0x00, 0xbf, 0x00,
+ 0xd6, 0x00, 0xc7, 0x00, 0x03, 0x01, 0x70, 0x61,
+ 0x74, 0x68, 0x00, 0x01, 0x04, 0xc6, 0x00, 0x23,
+ 0x00, 0xdc, 0x00, 0x96, 0x00, 0xd1, 0x00, 0x9a,
+ 0x00, 0xd1, 0x00, 0x9a, 0x00, 0x01, 0x01, 0x70,
+ 0x6f, 0x73, 0x74, 0x00, 0x54, 0x68, 0x61, 0x74,
+ 0x20, 0x6c, 0x6f, 0x6f, 0x6b, 0x73, 0x20, 0x65,
+ 0x61, 0x73, 0x79, 0x20, 0x74, 0x6f, 0x20, 0x63,
+ 0x6c, 0x69, 0x6d, 0x62, 0x2e, 0x00, 0x00, 0x05,
+ 0x38, 0x00, 0x65, 0x00, 0xac, 0x00, 0xbc, 0x00,
+ 0x73, 0x00, 0xc2, 0x00, 0x73, 0x00, 0xc2, 0x00,
+ 0x01, 0x01, 0x6d, 0x75, 0x64, 0x20, 0x70, 0x6f,
+ 0x6f, 0x6c, 0x00, 0x48, 0x65, 0x61, 0x76, 0x65,
+ 0x6e, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x57, 0x6f,
+ 0x6f, 0x64, 0x73, 0x74, 0x6f, 0x63, 0x6b, 0x20,
+ 0x66, 0x61, 0x6e, 0x73, 0x2c, 0x20, 0x61, 0x6c,
+ 0x6c, 0x69, 0x67, 0x61, 0x74, 0x6f, 0x72, 0x73,
+ 0x00, 0x61, 0x6e, 0x64, 0x20, 0x74, 0x68, 0x6f,
+ 0x73, 0x65, 0x20, 0x74, 0x6f, 0x75, 0x67, 0x68,
+ 0x20, 0x77, 0x6f, 0x6d, 0x65, 0x6e, 0x20, 0x66,
+ 0x69, 0x67, 0x68, 0x74, 0x69, 0x6e, 0x67, 0x20,
+ 0x6f, 0x6e, 0x20, 0x6c, 0x61, 0x74, 0x65, 0x20,
+ 0x54, 0x56, 0x00, 0x73, 0x68, 0x6f, 0x77, 0x73,
+ 0x2e, 0x00, 0x00, 0x06, 0xb8, 0x00, 0x90, 0x00,
+ 0xe4, 0x00, 0xa0, 0x00, 0xf0, 0x00, 0xa3, 0x00,
+ 0xdc, 0x00, 0xa1, 0x00, 0x04, 0x00, 0x62, 0x69,
+ 0x72, 0x64, 0x00, 0x49, 0x74, 0x20, 0x74, 0x6f,
+ 0x6f, 0x6b, 0x20, 0x73, 0x6f, 0x6d, 0x65, 0x20,
+ 0x64, 0x72, 0x75, 0x67, 0x73, 0x20, 0x74, 0x68,
+ 0x65, 0x6e, 0x20, 0x66, 0x65, 0x6c, 0x6c, 0x20,
+ 0x35, 0x20, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73,
+ 0x2e, 0x00, 0x57, 0x68, 0x6f, 0x20, 0x77, 0x6f,
+ 0x75, 0x6c, 0x64, 0x6e, 0x27, 0x74, 0x20, 0x74,
+ 0x61, 0x6b, 0x65, 0x20, 0x61, 0x20, 0x6e, 0x61,
+ 0x70, 0x20, 0x61, 0x66, 0x74, 0x65, 0x72, 0x20,
+ 0x74, 0x68, 0x61, 0x74, 0x3f, 0x00, 0x00, 0x44,
+ 0x75, 0x7d, 0x75, 0xd0, 0x75, 0x0a, 0x76, 0x5a,
+ 0x76, 0x73, 0x76, 0x8c, 0x76, 0x00, 0x00, 0x01,
+ 0x04, 0x00, 0x77, 0x00, 0x14, 0x00, 0x8d, 0x00,
+ 0xca, 0x00, 0xb3, 0x00, 0xca, 0x00, 0xb3, 0x00,
+ 0x04, 0x01, 0x73, 0x68, 0x6f, 0x76, 0x65, 0x6c,
+ 0x00, 0x49, 0x74, 0x27, 0x73, 0x20, 0x61, 0x20,
+ 0x73, 0x6d, 0x61, 0x6c, 0x6c, 0x20, 0x6d, 0x69,
+ 0x6c, 0x69, 0x74, 0x61, 0x72, 0x79, 0x20, 0x73,
+ 0x68, 0x6f, 0x76, 0x65, 0x6c, 0x2e, 0x00, 0x00,
+ 0x02, 0x7c, 0x00, 0xaa, 0x00, 0xcf, 0x00, 0xc0,
+ 0x00, 0xca, 0x00, 0xb3, 0x00, 0xca, 0x00, 0xb3,
+ 0x00, 0x04, 0x01, 0x73, 0x6f, 0x6c, 0x69, 0x64,
+ 0x20, 0x67, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x00,
+ 0x49, 0x27, 0x76, 0x65, 0x20, 0x67, 0x6f, 0x74,
+ 0x20, 0x61, 0x20, 0x66, 0x65, 0x65, 0x6c, 0x69,
+ 0x6e, 0x67, 0x20, 0x49, 0x27, 0x6d, 0x20, 0x67,
+ 0x6f, 0x6e, 0x6e, 0x61, 0x20, 0x6e, 0x65, 0x65,
+ 0x64, 0x20, 0x74, 0x68, 0x69, 0x73, 0x00, 0x73,
+ 0x6f, 0x6d, 0x65, 0x68, 0x6f, 0x77, 0x2e, 0x2e,
+ 0x2e, 0x00, 0x00, 0x03, 0xab, 0x00, 0x63, 0x00,
+ 0xba, 0x00, 0x97, 0x00, 0xe1, 0x00, 0x9f, 0x00,
+ 0xe1, 0x00, 0x9f, 0x00, 0x04, 0x01, 0x70, 0x6c,
+ 0x61, 0x6e, 0x74, 0x00, 0x49, 0x74, 0x20, 0x6d,
+ 0x75, 0x73, 0x74, 0x20, 0x68, 0x61, 0x76, 0x65,
+ 0x20, 0x61, 0x20, 0x76, 0x65, 0x72, 0x79, 0x20,
+ 0x73, 0x6f, 0x66, 0x74, 0x20, 0x74, 0x6f, 0x75,
+ 0x63, 0x68, 0x2e, 0x00, 0x00, 0x04, 0x27, 0x00,
+ 0x53, 0x00, 0xaa, 0x00, 0xa1, 0x00, 0xca, 0x00,
+ 0xb3, 0x00, 0xca, 0x00, 0xb3, 0x00, 0x04, 0x01,
+ 0x62, 0x72, 0x69, 0x63, 0x6b, 0x20, 0x77, 0x61,
+ 0x6c, 0x6c, 0x00, 0x54, 0x68, 0x65, 0x20, 0x62,
+ 0x72, 0x69, 0x63, 0x6b, 0x2d, 0x6c, 0x61, 0x79,
+ 0x65, 0x72, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20,
+ 0x68, 0x61, 0x76, 0x65, 0x20, 0x62, 0x65, 0x65,
+ 0x6e, 0x00, 0x61, 0x20, 0x50, 0x69, 0x6e, 0x6b,
+ 0x20, 0x46, 0x6c, 0x6f, 0x79, 0x64, 0x20, 0x66,
+ 0x61, 0x6e, 0x2e, 0x00, 0x00, 0x05, 0xe0, 0x00,
+ 0x7a, 0x00, 0x3f, 0x01, 0x9b, 0x00, 0x13, 0x01,
+ 0x89, 0x00, 0x3f, 0x01, 0x80, 0x00, 0x02, 0x01,
+ 0x70, 0x61, 0x74, 0x68, 0x00, 0x01, 0x06, 0xfa,
+ 0x00, 0x9c, 0x00, 0x3f, 0x01, 0xc7, 0x00, 0x18,
+ 0x01, 0xb9, 0x00, 0x3f, 0x01, 0xb9, 0x00, 0x02,
+ 0x01, 0x70, 0x61, 0x74, 0x68, 0x00, 0x01, 0x07,
+ 0xb2, 0x00, 0xa1, 0x00, 0xc0, 0x00, 0xb4, 0x00,
+ 0xcb, 0x00, 0xb6, 0x00, 0xcb, 0x00, 0xb6, 0x00,
+ 0x04, 0x00, 0x73, 0x70, 0x72, 0x69, 0x6e, 0x67,
+ 0x00, 0x49, 0x27, 0x76, 0x65, 0x20, 0x73, 0x65,
+ 0x65, 0x6e, 0x20, 0x62, 0x65, 0x74, 0x74, 0x65,
+ 0x72, 0x20, 0x74, 0x68, 0x69, 0x6e, 0x67, 0x73,
+ 0x20, 0x74, 0x6f, 0x20, 0x73, 0x69, 0x74, 0x20,
+ 0x6f, 0x6e, 0x2e, 0x00, 0x00, 0xda, 0x76, 0xf3,
+ 0x76, 0x0c, 0x77, 0x25, 0x77, 0x56, 0x77, 0x6f,
+ 0x77, 0xb1, 0x77, 0x00, 0x00, 0x01, 0x5c, 0x00,
+ 0xb4, 0x00, 0x92, 0x00, 0xc7, 0x00, 0x80, 0x00,
+ 0xb0, 0x00, 0x74, 0x00, 0xc7, 0x00, 0x03, 0x01,
+ 0x70, 0x61, 0x74, 0x68, 0x00, 0x01, 0x02, 0x00,
+ 0x00, 0x9c, 0x00, 0x2d, 0x00, 0xb6, 0x00, 0x23,
+ 0x00, 0xae, 0x00, 0x00, 0x00, 0xae, 0x00, 0x04,
+ 0x01, 0x70, 0x61, 0x74, 0x68, 0x00, 0x01, 0x03,
+ 0x23, 0x01, 0x00, 0x00, 0x3f, 0x01, 0x82, 0x00,
+ 0x2c, 0x01, 0x87, 0x00, 0x2c, 0x01, 0x87, 0x00,
+ 0x01, 0x01, 0x70, 0x61, 0x74, 0x68, 0x00, 0x01,
+ 0x04, 0x0b, 0x00, 0x47, 0x00, 0x42, 0x00, 0x9b,
+ 0x00, 0x28, 0x00, 0x9d, 0x00, 0x28, 0x00, 0x9d,
+ 0x00, 0x01, 0x01, 0x63, 0x61, 0x6e, 0x74, 0x65,
+ 0x65, 0x6e, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x20,
+ 0x64, 0x6f, 0x6f, 0x72, 0x00, 0x4e, 0x69, 0x63,
+ 0x65, 0x20, 0x73, 0x69, 0x67, 0x6e, 0x2e, 0x00,
+ 0x00, 0x05, 0x8c, 0x00, 0x47, 0x00, 0xbf, 0x00,
+ 0x9b, 0x00, 0xa6, 0x00, 0x9e, 0x00, 0xa6, 0x00,
+ 0x9e, 0x00, 0x01, 0x01, 0x64, 0x6f, 0x6f, 0x72,
+ 0x00, 0x01, 0x06, 0x04, 0x01, 0x35, 0x00, 0x22,
+ 0x01, 0x94, 0x00, 0x22, 0x01, 0x8f, 0x00, 0x14,
+ 0x01, 0x8f, 0x00, 0x04, 0x01, 0x6a, 0x61, 0x69,
+ 0x6c, 0x20, 0x64, 0x6f, 0x6f, 0x72, 0x00, 0x4e,
+ 0x6f, 0x77, 0x20, 0x74, 0x68, 0x61, 0x74, 0x27,
+ 0x73, 0x20, 0x77, 0x68, 0x61, 0x74, 0x00, 0x49,
+ 0x20, 0x63, 0x61, 0x6c, 0x6c, 0x20, 0x61, 0x20,
+ 0x67, 0x6f, 0x6f, 0x64, 0x00, 0x64, 0x6f, 0x6f,
+ 0x72, 0x2e, 0x00, 0x00, 0x07, 0x4b, 0x00, 0x65,
+ 0x00, 0x65, 0x00, 0xa0, 0x00, 0x6d, 0x00, 0xa1,
+ 0x00, 0x6d, 0x00, 0xa1, 0x00, 0x04, 0x01, 0x74,
+ 0x72, 0x61, 0x73, 0x68, 0x20, 0x63, 0x61, 0x6e,
+ 0x00, 0x49, 0x74, 0x20, 0x73, 0x74, 0x69, 0x6e,
+ 0x6b, 0x73, 0x2e, 0x00, 0x00, 0xf0, 0x77, 0x2c,
+ 0x78, 0x4f, 0x78, 0x96, 0x78, 0xcd, 0x78, 0x03,
+ 0x79, 0x3e, 0x79, 0x68, 0x79, 0x86, 0x79, 0xa1,
+ 0x79, 0x00, 0x00, 0x01, 0x6b, 0x00, 0x9c, 0x00,
+ 0x84, 0x00, 0xa9, 0x00, 0x91, 0x00, 0xb3, 0x00,
+ 0x91, 0x00, 0xb3, 0x00, 0x04, 0x01, 0x73, 0x70,
+ 0x72, 0x69, 0x6e, 0x67, 0x00, 0x59, 0x65, 0x61,
+ 0x68, 0x2c, 0x20, 0x49, 0x20, 0x64, 0x65, 0x66,
+ 0x69, 0x6e, 0x65, 0x74, 0x65, 0x6c, 0x79, 0x20,
+ 0x67, 0x6f, 0x74, 0x74, 0x61, 0x20, 0x73, 0x70,
+ 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x00, 0x00, 0x02,
+ 0x1f, 0x00, 0x9c, 0x00, 0x90, 0x00, 0xbb, 0x00,
+ 0x50, 0x00, 0xc0, 0x00, 0x50, 0x00, 0xc0, 0x00,
+ 0x01, 0x01, 0x62, 0x65, 0x64, 0x00, 0x4c, 0x6f,
+ 0x6f, 0x6b, 0x73, 0x20, 0x62, 0x61, 0x64, 0x2e,
+ 0x00, 0x00, 0x03, 0x1e, 0x01, 0x71, 0x00, 0x32,
+ 0x01, 0x7e, 0x00, 0x09, 0x01, 0xb4, 0x00, 0x09,
+ 0x01, 0xb4, 0x00, 0x02, 0x01, 0x63, 0x72, 0x61,
+ 0x74, 0x65, 0x73, 0x00, 0x54, 0x68, 0x65, 0x20,
+ 0x77, 0x6f, 0x72, 0x6c, 0x64, 0x20, 0x6c, 0x6f,
+ 0x6f, 0x6b, 0x73, 0x20, 0x62, 0x65, 0x74, 0x74,
+ 0x65, 0x72, 0x00, 0x66, 0x72, 0x6f, 0x6d, 0x20,
+ 0x74, 0x68, 0x65, 0x20, 0x6f, 0x74, 0x68, 0x65,
+ 0x72, 0x20, 0x73, 0x69, 0x64, 0x65, 0x2e, 0x00,
+ 0x00, 0x04, 0x1b, 0x01, 0x87, 0x00, 0x2d, 0x01,
+ 0x92, 0x00, 0x09, 0x01, 0xb4, 0x00, 0x09, 0x01,
+ 0xb4, 0x00, 0x02, 0x00, 0x62, 0x6f, 0x77, 0x6c,
+ 0x00, 0x49, 0x74, 0x27, 0x73, 0x20, 0x6d, 0x61,
+ 0x64, 0x65, 0x20, 0x6f, 0x66, 0x20, 0x61, 0x6c,
+ 0x75, 0x6d, 0x69, 0x6e, 0x69, 0x75, 0x6d, 0x2e,
+ 0x00, 0x00, 0x62, 0x6f, 0x64, 0x79, 0x00, 0xff,
+ 0x05, 0x0a, 0x01, 0xaa, 0x00, 0x20, 0x01, 0xbe,
+ 0x00, 0x0a, 0x01, 0xbd, 0x00, 0x0a, 0x01, 0xbd,
+ 0x00, 0x02, 0x00, 0x6c, 0x69, 0x76, 0x65, 0x20,
+ 0x63, 0x61, 0x62, 0x6c, 0x65, 0x00, 0x54, 0x68,
+ 0x65, 0x20, 0x77, 0x69, 0x72, 0x65, 0x73, 0x20,
+ 0x61, 0x72, 0x65, 0x20, 0x65, 0x78, 0x70, 0x6f,
+ 0x73, 0x65, 0x64, 0x21, 0x00, 0x00, 0x06, 0x9b,
+ 0x00, 0x5a, 0x00, 0xa4, 0x00, 0x6b, 0x00, 0x9f,
+ 0x00, 0xc2, 0x00, 0x9f, 0x00, 0xc2, 0x00, 0x01,
+ 0x01, 0x62, 0x75, 0x6c, 0x62, 0x00, 0x49, 0x74,
+ 0x27, 0x73, 0x20, 0x6e, 0x61, 0x6b, 0x65, 0x64,
+ 0x20, 0x61, 0x6e, 0x64, 0x20, 0x69, 0x74, 0x27,
+ 0x73, 0x20, 0x6f, 0x75, 0x74, 0x20, 0x6f, 0x66,
+ 0x20, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x2e, 0x00,
+ 0x00, 0x07, 0x15, 0x01, 0x62, 0x00, 0x35, 0x01,
+ 0xbd, 0x00, 0x09, 0x01, 0xb4, 0x00, 0x09, 0x01,
+ 0xb4, 0x00, 0x02, 0x01, 0x64, 0x6f, 0x6f, 0x72,
+ 0x00, 0x48, 0x65, 0x61, 0x76, 0x79, 0x20, 0x61,
+ 0x6e, 0x64, 0x20, 0x73, 0x6f, 0x6c, 0x69, 0x64,
+ 0x2e, 0x00, 0x00, 0x08, 0xfa, 0x00, 0x93, 0x00,
+ 0x0e, 0x01, 0xad, 0x00, 0xf2, 0x00, 0xad, 0x00,
+ 0xf2, 0x00, 0xad, 0x00, 0x02, 0x01, 0x74, 0x72,
+ 0x61, 0x73, 0x68, 0x20, 0x63, 0x61, 0x6e, 0x00,
+ 0x01, 0x09, 0x38, 0x01, 0x8a, 0x00, 0x3f, 0x01,
+ 0x91, 0x00, 0x32, 0x01, 0xc4, 0x00, 0x32, 0x01,
+ 0xc4, 0x00, 0x02, 0x01, 0x73, 0x77, 0x69, 0x74,
+ 0x63, 0x68, 0x00, 0x01, 0x0a, 0x38, 0x00, 0x7a,
+ 0x00, 0xd0, 0x00, 0x9a, 0x00, 0x99, 0x00, 0xb2,
+ 0x00, 0x99, 0x00, 0xb2, 0x00, 0x01, 0x01, 0x67,
+ 0x72, 0x61, 0x66, 0x66, 0x69, 0x74, 0x69, 0x00,
+ 0x01, 0xd8, 0x79, 0x08, 0x7a, 0x21, 0x7a, 0x61,
+ 0x7a, 0x82, 0x7a, 0xbb, 0x7a, 0xf2, 0x7a, 0x1a,
+ 0x7b, 0x94, 0x7b, 0xd1, 0x7b, 0xed, 0x7b, 0x17,
+ 0x7c, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x82, 0x00, 0xc3, 0x00,
+ 0x82, 0x00, 0xc3, 0x00, 0x01, 0x01, 0x63, 0x61,
+ 0x70, 0x74, 0x61, 0x69, 0x6e, 0x00, 0x48, 0x65,
+ 0x27, 0x73, 0x20, 0x73, 0x69, 0x74, 0x74, 0x69,
+ 0x6e, 0x67, 0x20, 0x74, 0x69, 0x67, 0x68, 0x74,
+ 0x2e, 0x00, 0x00, 0x02, 0x00, 0x00, 0x50, 0x00,
+ 0x23, 0x00, 0xbc, 0x00, 0x32, 0x00, 0xb8, 0x00,
+ 0x13, 0x00, 0xb8, 0x00, 0x04, 0x01, 0x64, 0x6f,
+ 0x6f, 0x72, 0x00, 0x01, 0x03, 0x2c, 0x00, 0x61,
+ 0x00, 0x4e, 0x00, 0xa4, 0x00, 0x40, 0x00, 0xa6,
+ 0x00, 0x40, 0x00, 0xa6, 0x00, 0x01, 0x01, 0x6c,
+ 0x6f, 0x63, 0x6b, 0x65, 0x72, 0x00, 0x49, 0x74,
+ 0x27, 0x73, 0x20, 0x63, 0x6c, 0x6f, 0x73, 0x65,
+ 0x64, 0x2e, 0x20, 0x4e, 0x6f, 0x74, 0x20, 0x74,
+ 0x68, 0x61, 0x74, 0x00, 0x49, 0x27, 0x6d, 0x20,
+ 0x73, 0x75, 0x72, 0x70, 0x72, 0x69, 0x73, 0x65,
+ 0x64, 0x2e, 0x00, 0x00, 0x04, 0x6b, 0x00, 0x51,
+ 0x00, 0xcd, 0x00, 0x8c, 0x00, 0x9e, 0x00, 0xa8,
+ 0x00, 0x9e, 0x00, 0xa8, 0x00, 0x01, 0x01, 0x6d,
+ 0x61, 0x70, 0x00, 0x50, 0x69, 0x63, 0x61, 0x73,
+ 0x73, 0x6f, 0x3f, 0x00, 0x00, 0x05, 0x8c, 0x00,
+ 0x94, 0x00, 0xd6, 0x00, 0x9e, 0x00, 0xa4, 0x00,
+ 0xc6, 0x00, 0xa4, 0x00, 0xc6, 0x00, 0x01, 0x01,
+ 0x64, 0x65, 0x73, 0x6b, 0x00, 0x54, 0x68, 0x61,
+ 0x74, 0x27, 0x73, 0x20, 0x6a, 0x75, 0x73, 0x74,
+ 0x20, 0x61, 0x20, 0x6c, 0x6f, 0x61, 0x64, 0x20,
+ 0x6f, 0x66, 0x20, 0x6f, 0x6c, 0x64, 0x20, 0x6a,
+ 0x75, 0x6e, 0x6b, 0x2e, 0x00, 0x00, 0x06, 0xee,
+ 0x00, 0x83, 0x00, 0x3f, 0x01, 0xc7, 0x00, 0xf1,
+ 0x00, 0xb5, 0x00, 0xf1, 0x00, 0xb5, 0x00, 0x02,
+ 0x01, 0x62, 0x65, 0x64, 0x00, 0x54, 0x68, 0x61,
+ 0x74, 0x20, 0x64, 0x6f, 0x65, 0x73, 0x6e, 0x27,
+ 0x74, 0x20, 0x6c, 0x6f, 0x6f, 0x6b, 0x20, 0x63,
+ 0x6f, 0x6d, 0x66, 0x6f, 0x72, 0x74, 0x61, 0x62,
+ 0x6c, 0x65, 0x2e, 0x00, 0x00, 0x07, 0xbf, 0x00,
+ 0xa2, 0x00, 0xd9, 0x00, 0xb9, 0x00, 0xcc, 0x00,
+ 0xc2, 0x00, 0xcc, 0x00, 0xc2, 0x00, 0x01, 0x01,
+ 0x64, 0x72, 0x61, 0x77, 0x65, 0x72, 0x00, 0x49,
+ 0x74, 0x27, 0x73, 0x20, 0x63, 0x6c, 0x6f, 0x73,
+ 0x65, 0x64, 0x21, 0x00, 0x00, 0x08, 0xd5, 0x00,
+ 0x5d, 0x00, 0xe8, 0x00, 0x8a, 0x00, 0xf1, 0x00,
+ 0xb5, 0x00, 0xf1, 0x00, 0xb5, 0x00, 0x01, 0x01,
+ 0x73, 0x61, 0x62, 0x72, 0x65, 0x73, 0x00, 0x4d,
+ 0x79, 0x20, 0x67, 0x72, 0x61, 0x6e, 0x64, 0x70,
+ 0x61, 0x20, 0x68, 0x61, 0x64, 0x20, 0x6f, 0x6e,
+ 0x65, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x6f,
+ 0x73, 0x65, 0x20, 0x6f, 0x6e, 0x63, 0x65, 0x2e,
+ 0x00, 0x49, 0x20, 0x65, 0x78, 0x63, 0x68, 0x61,
+ 0x6e, 0x67, 0x65, 0x64, 0x20, 0x69, 0x74, 0x20,
+ 0x66, 0x6f, 0x72, 0x20, 0x61, 0x20, 0x6a, 0x6f,
+ 0x79, 0x73, 0x74, 0x69, 0x63, 0x6b, 0x2e, 0x00,
+ 0x47, 0x72, 0x61, 0x6e, 0x64, 0x70, 0x61, 0x20,
+ 0x64, 0x69, 0x64, 0x6e, 0x27, 0x74, 0x20, 0x6c,
+ 0x69, 0x6b, 0x65, 0x20, 0x74, 0x68, 0x65, 0x20,
+ 0x69, 0x64, 0x65, 0x61, 0x2e, 0x00, 0x00, 0x09,
+ 0xef, 0x00, 0x5e, 0x00, 0x15, 0x01, 0x7a, 0x00,
+ 0xf1, 0x00, 0xb5, 0x00, 0xf1, 0x00, 0xb5, 0x00,
+ 0x01, 0x01, 0x67, 0x75, 0x6e, 0x73, 0x00, 0x57,
+ 0x68, 0x61, 0x74, 0x20, 0x61, 0x20, 0x70, 0x69,
+ 0x74, 0x79, 0x20, 0x74, 0x68, 0x65, 0x79, 0x20,
+ 0x61, 0x72, 0x65, 0x20, 0x6f, 0x6e, 0x6c, 0x79,
+ 0x00, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x2e,
+ 0x2e, 0x2e, 0x00, 0x00, 0x0a, 0x2d, 0x00, 0x27,
+ 0x00, 0x53, 0x00, 0x56, 0x00, 0x32, 0x00, 0xb5,
+ 0x00, 0x32, 0x00, 0xb5, 0x00, 0x01, 0x01, 0x70,
+ 0x69, 0x63, 0x74, 0x75, 0x72, 0x65, 0x00, 0x01,
+ 0x0b, 0xde, 0x00, 0x2b, 0x00, 0x1d, 0x01, 0x53,
+ 0x00, 0xf1, 0x00, 0xb5, 0x00, 0xf1, 0x00, 0xb5,
+ 0x00, 0x01, 0x01, 0x70, 0x69, 0x63, 0x74, 0x75,
+ 0x72, 0x65, 0x00, 0x4e, 0x69, 0x63, 0x65, 0x20,
+ 0x63, 0x68, 0x6f, 0x70, 0x70, 0x65, 0x72, 0x2e,
+ 0x00, 0x00, 0x0c, 0x7b, 0x00, 0xac, 0x00, 0x89,
+ 0x00, 0xbb, 0x00, 0x81, 0x00, 0xbf, 0x00, 0x81,
+ 0x00, 0xbf, 0x00, 0x01, 0x00, 0x20, 0x53, 0x77,
+ 0x69, 0x73, 0x73, 0x20, 0x41, 0x72, 0x6d, 0x79,
+ 0x20, 0x6b, 0x6e, 0x69, 0x66, 0x65, 0x00, 0x54,
+ 0x68, 0x61, 0x74, 0x27, 0x73, 0x20, 0x6d, 0x6f,
+ 0x72, 0x65, 0x20, 0x6c, 0x69, 0x6b, 0x65, 0x20,
+ 0x69, 0x74, 0x2e, 0x00, 0x00, 0x66, 0x7c, 0xa8,
+ 0x7c, 0xe0, 0x7c, 0xf9, 0x7c, 0x34, 0x7d, 0x9b,
+ 0x7d, 0xf7, 0x7d, 0x3a, 0x7e, 0xba, 0x7e, 0x00,
+ 0x00, 0x01, 0xbb, 0x00, 0x63, 0x00, 0xc4, 0x00,
+ 0x6b, 0x00, 0xc0, 0x00, 0x98, 0x00, 0xc0, 0x00,
+ 0x98, 0x00, 0x01, 0x00, 0x6d, 0x75, 0x67, 0x00,
+ 0x54, 0x68, 0x61, 0x74, 0x27, 0x73, 0x20, 0x73,
+ 0x75, 0x72, 0x70, 0x72, 0x69, 0x73, 0x69, 0x6e,
+ 0x67, 0x2c, 0x20, 0x62, 0x75, 0x74, 0x20, 0x74,
+ 0x68, 0x65, 0x72, 0x65, 0x27, 0x73, 0x20, 0x74,
+ 0x65, 0x61, 0x00, 0x69, 0x6e, 0x20, 0x69, 0x74,
+ 0x2e, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0xb1, 0x00, 0x98, 0x00,
+ 0xb1, 0x00, 0x98, 0x00, 0x01, 0x01, 0x62, 0x61,
+ 0x72, 0x6d, 0x61, 0x6e, 0x00, 0x57, 0x68, 0x61,
+ 0x74, 0x20, 0x61, 0x20, 0x68, 0x61, 0x72, 0x64,
+ 0x20, 0x77, 0x6f, 0x72, 0x6b, 0x69, 0x6e, 0x67,
+ 0x20, 0x63, 0x69, 0x74, 0x69, 0x7a, 0x65, 0x6e,
+ 0x2e, 0x00, 0x00, 0x03, 0x5e, 0x00, 0xb6, 0x00,
+ 0xce, 0x00, 0xc7, 0x00, 0x9e, 0x00, 0xb8, 0x00,
+ 0x9b, 0x00, 0xc7, 0x00, 0x03, 0x01, 0x65, 0x78,
+ 0x69, 0x74, 0x00, 0x01, 0x04, 0x10, 0x00, 0x34,
+ 0x00, 0x26, 0x00, 0x92, 0x00, 0x28, 0x00, 0x98,
+ 0x00, 0x28, 0x00, 0x98, 0x00, 0x01, 0x01, 0x64,
+ 0x6f, 0x6f, 0x72, 0x00, 0x54, 0x68, 0x69, 0x73,
+ 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x6c, 0x65,
+ 0x61, 0x64, 0x20, 0x74, 0x6f, 0x20, 0x74, 0x68,
+ 0x65, 0x20, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x20,
+ 0x72, 0x6f, 0x6f, 0x6d, 0x2e, 0x00, 0x00, 0x05,
+ 0x34, 0x00, 0x2b, 0x00, 0x59, 0x00, 0x48, 0x00,
+ 0x4d, 0x00, 0x98, 0x00, 0x4d, 0x00, 0x98, 0x00,
+ 0x01, 0x01, 0x72, 0x61, 0x64, 0x69, 0x6f, 0x00,
+ 0x54, 0x68, 0x65, 0x20, 0x72, 0x61, 0x64, 0x69,
+ 0x6f, 0x20, 0x6c, 0x6f, 0x6f, 0x6b, 0x73, 0x20,
+ 0x6c, 0x69, 0x6b, 0x65, 0x20, 0x61, 0x20, 0x72,
+ 0x61, 0x64, 0x69, 0x6f, 0x2c, 0x20, 0x62, 0x75,
+ 0x74, 0x20, 0x74, 0x68, 0x65, 0x20, 0x61, 0x65,
+ 0x72, 0x69, 0x61, 0x6c, 0x00, 0x69, 0x73, 0x20,
+ 0x6d, 0x61, 0x64, 0x65, 0x20, 0x6f, 0x66, 0x20,
+ 0x73, 0x6f, 0x6d, 0x65, 0x20, 0x6b, 0x69, 0x6e,
+ 0x64, 0x20, 0x6f, 0x66, 0x20, 0x68, 0x61, 0x6e,
+ 0x67, 0x65, 0x72, 0x2e, 0x00, 0x00, 0x06, 0x0a,
+ 0x01, 0x9f, 0x00, 0x17, 0x01, 0xa6, 0x00, 0x04,
+ 0x01, 0xc2, 0x00, 0x04, 0x01, 0xc2, 0x00, 0x02,
+ 0x01, 0x63, 0x72, 0x75, 0x6d, 0x62, 0x73, 0x00,
+ 0x49, 0x74, 0x27, 0x73, 0x20, 0x64, 0x69, 0x73,
+ 0x67, 0x75, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x2e,
+ 0x20, 0x50, 0x65, 0x6f, 0x70, 0x6c, 0x65, 0x20,
+ 0x72, 0x65, 0x61, 0x6c, 0x6c, 0x79, 0x20, 0x73,
+ 0x68, 0x6f, 0x75, 0x6c, 0x64, 0x00, 0x63, 0x6c,
+ 0x65, 0x61, 0x6e, 0x20, 0x75, 0x70, 0x20, 0x61,
+ 0x66, 0x74, 0x65, 0x72, 0x20, 0x74, 0x68, 0x65,
+ 0x6d, 0x73, 0x65, 0x6c, 0x76, 0x65, 0x73, 0x2e,
+ 0x00, 0x00, 0x07, 0x62, 0x00, 0x23, 0x00, 0x75,
+ 0x00, 0x35, 0x00, 0x6e, 0x00, 0x98, 0x00, 0x6e,
+ 0x00, 0x98, 0x00, 0x01, 0x01, 0x63, 0x6c, 0x6f,
+ 0x63, 0x6b, 0x00, 0x49, 0x74, 0x20, 0x6c, 0x6f,
+ 0x6f, 0x6b, 0x73, 0x20, 0x6c, 0x69, 0x6b, 0x65,
+ 0x20, 0x74, 0x68, 0x65, 0x72, 0x65, 0x27, 0x73,
+ 0x20, 0x61, 0x20, 0x70, 0x72, 0x6f, 0x62, 0x6c,
+ 0x65, 0x6d, 0x20, 0x77, 0x69, 0x74, 0x68, 0x20,
+ 0x69, 0x74, 0x2e, 0x00, 0x00, 0x08, 0x7e, 0x00,
+ 0x22, 0x00, 0x00, 0x01, 0x69, 0x00, 0xc8, 0x00,
+ 0x98, 0x00, 0xc8, 0x00, 0x98, 0x00, 0x01, 0x01,
+ 0x73, 0x68, 0x65, 0x6c, 0x76, 0x65, 0x73, 0x00,
+ 0x49, 0x20, 0x77, 0x6f, 0x6e, 0x64, 0x65, 0x72,
+ 0x20, 0x77, 0x68, 0x79, 0x20, 0x74, 0x68, 0x65,
+ 0x72, 0x65, 0x27, 0x73, 0x20, 0x73, 0x75, 0x63,
+ 0x68, 0x20, 0x61, 0x20, 0x6c, 0x61, 0x72, 0x67,
+ 0x65, 0x20, 0x63, 0x68, 0x6f, 0x69, 0x63, 0x65,
+ 0x00, 0x6f, 0x66, 0x20, 0x61, 0x6c, 0x63, 0x6f,
+ 0x68, 0x6f, 0x6c, 0x20, 0x61, 0x74, 0x20, 0x74,
+ 0x68, 0x65, 0x20, 0x74, 0x72, 0x61, 0x69, 0x6e,
+ 0x69, 0x6e, 0x67, 0x20, 0x63, 0x61, 0x6d, 0x70,
+ 0x2e, 0x00, 0x54, 0x6f, 0x20, 0x6b, 0x65, 0x65,
+ 0x70, 0x20, 0x74, 0x68, 0x65, 0x20, 0x74, 0x72,
+ 0x6f, 0x6f, 0x70, 0x73, 0x20, 0x68, 0x61, 0x70,
+ 0x70, 0x79, 0x3f, 0x00, 0x00, 0x09, 0x41, 0x00,
+ 0x59, 0x00, 0x5b, 0x00, 0x69, 0x00, 0x4d, 0x00,
+ 0x98, 0x00, 0x4d, 0x00, 0x98, 0x00, 0x01, 0x01,
+ 0x63, 0x61, 0x73, 0x68, 0x20, 0x72, 0x65, 0x67,
+ 0x69, 0x73, 0x74, 0x65, 0x72, 0x00, 0x49, 0x20,
+ 0x6c, 0x6f, 0x76, 0x65, 0x20, 0x69, 0x74, 0x2e,
+ 0x00, 0x00, 0xf7, 0x7e, 0x29, 0x7f, 0x42, 0x7f,
+ 0x8b, 0x7f, 0xc4, 0x7f, 0xfc, 0x7f, 0x1d, 0x80,
+ 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x32, 0x00, 0xb4, 0x00, 0x32,
+ 0x00, 0xb4, 0x00, 0x01, 0x01, 0x62, 0x6c, 0x69,
+ 0x6e, 0x6b, 0x69, 0x6e, 0x67, 0x20, 0x68, 0x6f,
+ 0x6c, 0x65, 0x00, 0x54, 0x68, 0x61, 0x74, 0x27,
+ 0x73, 0x20, 0x77, 0x65, 0x69, 0x72, 0x64, 0x2e,
+ 0x2e, 0x2e, 0x00, 0x00, 0x02, 0x0c, 0x01, 0x55,
+ 0x00, 0x29, 0x01, 0xaa, 0x00, 0xf0, 0x00, 0xb6,
+ 0x00, 0xf0, 0x00, 0xb6, 0x00, 0x02, 0x01, 0x64,
+ 0x6f, 0x6f, 0x72, 0x00, 0x01, 0x03, 0x04, 0x00,
+ 0x6c, 0x00, 0x5b, 0x00, 0xb2, 0x00, 0x32, 0x00,
+ 0xb4, 0x00, 0x32, 0x00, 0xb4, 0x00, 0x01, 0x01,
+ 0x62, 0x61, 0x72, 0x72, 0x65, 0x6c, 0x73, 0x00,
+ 0x49, 0x74, 0x27, 0x73, 0x20, 0x67, 0x6f, 0x6f,
+ 0x64, 0x20, 0x74, 0x6f, 0x20, 0x6b, 0x6e, 0x6f,
+ 0x77, 0x20, 0x6f, 0x75, 0x72, 0x20, 0x61, 0x72,
+ 0x6d, 0x79, 0x20, 0x69, 0x73, 0x20, 0x77, 0x65,
+ 0x6c, 0x6c, 0x20, 0x65, 0x71, 0x75, 0x69, 0x70,
+ 0x70, 0x65, 0x64, 0x2e, 0x00, 0x00, 0x04, 0x5a,
+ 0x00, 0x5f, 0x00, 0x78, 0x00, 0xa8, 0x00, 0x70,
+ 0x00, 0xad, 0x00, 0x70, 0x00, 0xad, 0x00, 0x01,
+ 0x01, 0x6c, 0x6f, 0x63, 0x6b, 0x65, 0x72, 0x00,
+ 0x49, 0x74, 0x27, 0x73, 0x20, 0x61, 0x20, 0x6c,
+ 0x6f, 0x63, 0x6b, 0x65, 0x64, 0x20, 0x6b, 0x69,
+ 0x6e, 0x64, 0x20, 0x6f, 0x66, 0x20, 0x6c, 0x6f,
+ 0x63, 0x6b, 0x65, 0x72, 0x2e, 0x00, 0x00, 0x05,
+ 0x96, 0x00, 0x6b, 0x00, 0xd6, 0x00, 0xa4, 0x00,
+ 0xb7, 0x00, 0xb2, 0x00, 0xb7, 0x00, 0xb2, 0x00,
+ 0x01, 0x01, 0x6c, 0x6f, 0x74, 0x73, 0x20, 0x6f,
+ 0x66, 0x20, 0x64, 0x72, 0x61, 0x77, 0x65, 0x72,
+ 0x73, 0x00, 0x49, 0x20, 0x68, 0x61, 0x74, 0x65,
+ 0x20, 0x62, 0x75, 0x72, 0x65, 0x61, 0x75, 0x63,
+ 0x72, 0x61, 0x63, 0x79, 0x2e, 0x00, 0x00, 0x06,
+ 0x7e, 0x00, 0x8f, 0x00, 0x97, 0x00, 0xaa, 0x00,
+ 0x8d, 0x00, 0xb1, 0x00, 0x8d, 0x00, 0xb1, 0x00,
+ 0x01, 0x01, 0x62, 0x6f, 0x78, 0x65, 0x73, 0x00,
+ 0x27, 0x50, 0x65, 0x70, 0x61, 0x27, 0x00, 0x00,
+ 0x07, 0xd7, 0x00, 0x81, 0x00, 0xea, 0x00, 0xaa,
+ 0x00, 0xe0, 0x00, 0xb6, 0x00, 0xe0, 0x00, 0xb6,
+ 0x00, 0x01, 0x01, 0x62, 0x6f, 0x78, 0x65, 0x73,
+ 0x00, 0x27, 0x53, 0x61, 0x6c, 0x74, 0x27, 0x00,
+ 0x00, 0x48, 0x80, 0x87, 0x80, 0xd1, 0x80, 0x01,
+ 0x81, 0x00, 0x00, 0x01, 0x7e, 0x00, 0x5f, 0x00,
+ 0x86, 0x00, 0x69, 0x00, 0x8b, 0x00, 0x9c, 0x00,
+ 0x84, 0x00, 0x95, 0x00, 0x01, 0x00, 0x67, 0x72,
+ 0x65, 0x6e, 0x61, 0x64, 0x65, 0x00, 0x57, 0x6f,
+ 0x77, 0x21, 0x20, 0x49, 0x20, 0x61, 0x6c, 0x77,
+ 0x61, 0x79, 0x73, 0x20, 0x77, 0x61, 0x6e, 0x74,
+ 0x65, 0x64, 0x20, 0x6f, 0x6e, 0x65, 0x20, 0x6f,
+ 0x66, 0x20, 0x74, 0x68, 0x65, 0x73, 0x65, 0x2e,
+ 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x8b, 0x00, 0x9c, 0x00, 0x8b,
+ 0x00, 0x9c, 0x00, 0x01, 0x01, 0x67, 0x75, 0x61,
+ 0x72, 0x64, 0x00, 0x49, 0x20, 0x64, 0x6f, 0x6e,
+ 0x27, 0x74, 0x20, 0x74, 0x68, 0x69, 0x6e, 0x6b,
+ 0x20, 0x68, 0x65, 0x27, 0x73, 0x20, 0x6d, 0x61,
+ 0x6b, 0x69, 0x6e, 0x67, 0x20, 0x74, 0x68, 0x65,
+ 0x20, 0x72, 0x69, 0x67, 0x68, 0x74, 0x20, 0x69,
+ 0x6d, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f,
+ 0x6e, 0x2e, 0x00, 0x00, 0x03, 0x00, 0x00, 0x6f,
+ 0x00, 0x54, 0x00, 0xa2, 0x00, 0x53, 0x00, 0x95,
+ 0x00, 0x53, 0x00, 0x95, 0x00, 0x04, 0x01, 0x77,
+ 0x61, 0x79, 0x20, 0x6f, 0x75, 0x74, 0x00, 0x48,
+ 0x6f, 0x6d, 0x65, 0x2c, 0x20, 0x73, 0x77, 0x65,
+ 0x65, 0x74, 0x20, 0x68, 0x6f, 0x6d, 0x65, 0x2e,
+ 0x2e, 0x2e, 0x00, 0x00, 0x04, 0x10, 0x01, 0x95,
+ 0x00, 0x3f, 0x01, 0xc7, 0x00, 0x0d, 0x01, 0xaf,
+ 0x00, 0x3f, 0x01, 0xb7, 0x00, 0x02, 0x01, 0x70,
+ 0x61, 0x74, 0x68, 0x00, 0x01, 0x3a, 0x81, 0x79,
+ 0x81, 0xa3, 0x81, 0xc0, 0x81, 0xdd, 0x81, 0x11,
+ 0x82, 0x3d, 0x82, 0x7f, 0x82, 0xa4, 0x82, 0xcc,
+ 0x82, 0x1a, 0x83, 0x3c, 0x83, 0x64, 0x83, 0xb8,
+ 0x83, 0xea, 0x83, 0x00, 0x00, 0x01, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x8a, 0x00,
+ 0xa3, 0x00, 0x8a, 0x00, 0xa3, 0x00, 0x02, 0x01,
+ 0x67, 0x75, 0x61, 0x72, 0x64, 0x00, 0x48, 0x65,
+ 0x20, 0x6c, 0x6f, 0x6f, 0x6b, 0x73, 0x20, 0x6c,
+ 0x69, 0x6b, 0x65, 0x20, 0x61, 0x20, 0x70, 0x65,
+ 0x61, 0x73, 0x61, 0x6e, 0x74, 0x20, 0x69, 0x6e,
+ 0x00, 0x64, 0x69, 0x73, 0x67, 0x75, 0x69, 0x73,
+ 0x65, 0x2e, 0x00, 0x00, 0x02, 0x70, 0x00, 0xa0,
+ 0x00, 0x7b, 0x00, 0xa8, 0x00, 0x68, 0x00, 0xab,
+ 0x00, 0x68, 0x00, 0xab, 0x00, 0x02, 0x00, 0x62,
+ 0x6f, 0x74, 0x74, 0x6c, 0x65, 0x00, 0x49, 0x74,
+ 0x27, 0x73, 0x20, 0x77, 0x68, 0x69, 0x73, 0x6b,
+ 0x79, 0x21, 0x2e, 0x2e, 0x00, 0x00, 0x03, 0xd2,
+ 0x00, 0x77, 0x00, 0xf6, 0x00, 0x98, 0x00, 0x8a,
+ 0x00, 0xa3, 0x00, 0x8a, 0x00, 0xa3, 0x00, 0x02,
+ 0x01, 0x67, 0x61, 0x72, 0x67, 0x6f, 0x79, 0x6c,
+ 0x65, 0x00, 0x01, 0x04, 0x09, 0x01, 0x80, 0x00,
+ 0x2f, 0x01, 0xad, 0x00, 0x8a, 0x00, 0xa3, 0x00,
+ 0x8a, 0x00, 0xa3, 0x00, 0x02, 0x01, 0x67, 0x61,
+ 0x72, 0x67, 0x6f, 0x79, 0x6c, 0x65, 0x00, 0x01,
+ 0x05, 0x12, 0x01, 0x39, 0x00, 0x23, 0x01, 0x48,
+ 0x00, 0x8a, 0x00, 0xa3, 0x00, 0x8a, 0x00, 0xa3,
+ 0x00, 0x02, 0x01, 0x73, 0x63, 0x75, 0x6c, 0x70,
+ 0x74, 0x75, 0x72, 0x65, 0x00, 0x52, 0x65, 0x61,
+ 0x6c, 0x6c, 0x79, 0x20, 0x73, 0x6f, 0x70, 0x68,
+ 0x69, 0x73, 0x74, 0x69, 0x63, 0x61, 0x74, 0x65,
+ 0x64, 0x21, 0x00, 0x00, 0x06, 0xfc, 0x00, 0x33,
+ 0x00, 0x32, 0x01, 0xa1, 0x00, 0x8a, 0x00, 0xa3,
+ 0x00, 0x8a, 0x00, 0xa3, 0x00, 0x02, 0x01, 0x64,
+ 0x6f, 0x6f, 0x72, 0x00, 0x53, 0x6f, 0x6c, 0x69,
+ 0x64, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x6d, 0x61,
+ 0x73, 0x73, 0x69, 0x76, 0x65, 0x2e, 0x00, 0x00,
+ 0x07, 0xe5, 0x00, 0x00, 0x00, 0x3f, 0x01, 0x98,
+ 0x00, 0x8a, 0x00, 0xa3, 0x00, 0x8a, 0x00, 0xa3,
+ 0x00, 0x02, 0x01, 0x6d, 0x61, 0x6e, 0x73, 0x69,
+ 0x6f, 0x6e, 0x20, 0x77, 0x61, 0x6c, 0x6c, 0x00,
+ 0x49, 0x74, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20,
+ 0x62, 0x65, 0x20, 0x33, 0x20, 0x6b, 0x69, 0x6c,
+ 0x6f, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x20,
+ 0x74, 0x68, 0x69, 0x63, 0x6b, 0x2e, 0x2e, 0x2e,
+ 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xb5, 0x00, 0xb0, 0x00, 0xb5,
+ 0x00, 0xb0, 0x00, 0x01, 0x00, 0x4a, 0x6f, 0x68,
+ 0x6e, 0x20, 0x4e, 0x6f, 0x74, 0x79, 0x00, 0x46,
+ 0x61, 0x74, 0x73, 0x6f, 0x2e, 0x00, 0x00, 0x09,
+ 0x9c, 0x00, 0xae, 0x00, 0x3f, 0x01, 0xc7, 0x00,
+ 0x8a, 0x00, 0xa3, 0x00, 0x3f, 0x01, 0xc6, 0x00,
+ 0x02, 0x01, 0x70, 0x61, 0x74, 0x68, 0x20, 0x61,
+ 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x20, 0x6d, 0x61,
+ 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x00, 0x01, 0x0a,
+ 0x00, 0x00, 0x73, 0x00, 0x46, 0x00, 0x98, 0x00,
+ 0x3c, 0x00, 0xab, 0x00, 0x00, 0x00, 0x7c, 0x00,
+ 0x01, 0x01, 0x70, 0x61, 0x74, 0x68, 0x20, 0x74,
+ 0x6f, 0x20, 0x6d, 0x65, 0x61, 0x64, 0x6f, 0x77,
+ 0x00, 0x49, 0x74, 0x20, 0x6c, 0x65, 0x61, 0x64,
+ 0x73, 0x20, 0x69, 0x6e, 0x73, 0x69, 0x64, 0x65,
+ 0x20, 0x74, 0x68, 0x65, 0x20, 0x64, 0x61, 0x72,
+ 0x6b, 0x20, 0x61, 0x6e, 0x64, 0x00, 0x73, 0x63,
+ 0x61, 0x72, 0x79, 0x20, 0x66, 0x6f, 0x72, 0x65,
+ 0x73, 0x74, 0x2e, 0x00, 0x00, 0x0b, 0x00, 0x00,
+ 0xa1, 0x00, 0x39, 0x00, 0xbe, 0x00, 0x3c, 0x00,
+ 0xab, 0x00, 0x00, 0x00, 0xab, 0x00, 0x04, 0x01,
+ 0x70, 0x61, 0x74, 0x68, 0x20, 0x74, 0x6f, 0x20,
+ 0x73, 0x68, 0x6f, 0x72, 0x65, 0x00, 0x01, 0x0c,
+ 0x8c, 0x00, 0x68, 0x00, 0xe4, 0x00, 0x98, 0x00,
+ 0x8a, 0x00, 0xa3, 0x00, 0xe4, 0x00, 0x6d, 0x00,
+ 0x02, 0x01, 0x70, 0x61, 0x74, 0x68, 0x20, 0x61,
+ 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x20, 0x6d, 0x61,
+ 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x00, 0x01, 0x0d,
+ 0xbf, 0x00, 0xa6, 0x00, 0xc8, 0x00, 0xae, 0x00,
+ 0x8a, 0x00, 0xa3, 0x00, 0xb5, 0x00, 0xb0, 0x00,
+ 0x02, 0x01, 0x77, 0x72, 0x61, 0x70, 0x70, 0x65,
+ 0x72, 0x00, 0x49, 0x74, 0x27, 0x73, 0x20, 0x61,
+ 0x20, 0x63, 0x65, 0x6c, 0x6c, 0x6f, 0x70, 0x68,
+ 0x61, 0x6e, 0x65, 0x20, 0x77, 0x72, 0x61, 0x70,
+ 0x70, 0x65, 0x72, 0x20, 0x66, 0x72, 0x6f, 0x6d,
+ 0x20, 0x73, 0x6f, 0x6d, 0x65, 0x20, 0x63, 0x61,
+ 0x6e, 0x64, 0x79, 0x00, 0x6f, 0x72, 0x20, 0x73,
+ 0x6f, 0x6d, 0x65, 0x74, 0x68, 0x69, 0x6e, 0x67,
+ 0x2e, 0x00, 0x00, 0x0e, 0x00, 0x00, 0x00, 0x00,
+ 0xe4, 0x00, 0x98, 0x00, 0x3c, 0x00, 0xab, 0x00,
+ 0x3c, 0x00, 0xab, 0x00, 0x01, 0x01, 0x66, 0x6f,
+ 0x72, 0x65, 0x73, 0x74, 0x00, 0x49, 0x74, 0x20,
+ 0x67, 0x69, 0x76, 0x65, 0x73, 0x20, 0x6d, 0x65,
+ 0x20, 0x74, 0x68, 0x72, 0x69, 0x6c, 0x6c, 0x73,
+ 0x2e, 0x2e, 0x2e, 0x00, 0x00, 0x0f, 0x78, 0x00,
+ 0x9a, 0x00, 0x85, 0x00, 0xa0, 0x00, 0x70, 0x00,
+ 0xa3, 0x00, 0x70, 0x00, 0xa3, 0x00, 0x02, 0x00,
+ 0x62, 0x61, 0x6e, 0x6b, 0x6e, 0x6f, 0x74, 0x65,
+ 0x00, 0x49, 0x27, 0x6d, 0x20, 0x72, 0x65, 0x61,
+ 0x6c, 0x6c, 0x79, 0x20, 0x70, 0x72, 0x6f, 0x75,
+ 0x64, 0x20, 0x49, 0x20, 0x64, 0x69, 0x64, 0x6e,
+ 0x27, 0x74, 0x20, 0x54, 0x41, 0x4b, 0x45, 0x20,
+ 0x54, 0x48, 0x41, 0x54, 0x2e, 0x00, 0x00, 0x40,
+ 0x84, 0x56, 0x84, 0x87, 0x84, 0xb6, 0x84, 0xf2,
+ 0x84, 0x29, 0x85, 0x66, 0x85, 0x8e, 0x85, 0xb6,
+ 0x85, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x02, 0x04, 0x01, 0x74, 0x00, 0x13, 0x01,
+ 0x8a, 0x00, 0x02, 0x01, 0xbd, 0x00, 0x02, 0x01,
+ 0xbd, 0x00, 0x01, 0x01, 0x68, 0x6f, 0x6c, 0x6c,
+ 0x6f, 0x77, 0x00, 0x49, 0x74, 0x27, 0x73, 0x20,
+ 0x65, 0x6d, 0x70, 0x74, 0x79, 0x20, 0x72, 0x69,
+ 0x67, 0x68, 0x74, 0x20, 0x6e, 0x6f, 0x77, 0x2e,
+ 0x00, 0x00, 0x03, 0xd0, 0x00, 0x6e, 0x00, 0xf8,
+ 0x00, 0x7e, 0x00, 0xcb, 0x00, 0xab, 0x00, 0xcb,
+ 0x00, 0xab, 0x00, 0x02, 0x01, 0x62, 0x72, 0x61,
+ 0x6e, 0x63, 0x68, 0x00, 0x49, 0x74, 0x20, 0x63,
+ 0x6f, 0x75, 0x6c, 0x64, 0x20, 0x62, 0x65, 0x20,
+ 0x75, 0x73, 0x65, 0x66, 0x75, 0x6c, 0x2e, 0x00,
+ 0x00, 0x04, 0xe4, 0x00, 0x3c, 0x00, 0x2d, 0x01,
+ 0xaa, 0x00, 0x02, 0x01, 0xbd, 0x00, 0xfc, 0x00,
+ 0xab, 0x00, 0x01, 0x01, 0x74, 0x72, 0x65, 0x65,
+ 0x00, 0x49, 0x74, 0x27, 0x73, 0x20, 0x68, 0x69,
+ 0x67, 0x68, 0x65, 0x72, 0x20, 0x74, 0x68, 0x61,
+ 0x6e, 0x20, 0x74, 0x68, 0x65, 0x20, 0x6d, 0x61,
+ 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x20, 0x77, 0x61,
+ 0x6c, 0x6c, 0x21, 0x00, 0x00, 0x05, 0x0c, 0x00,
+ 0x8a, 0x00, 0x33, 0x00, 0xad, 0x00, 0x31, 0x00,
+ 0xac, 0x00, 0x31, 0x00, 0xac, 0x00, 0x04, 0x01,
+ 0x77, 0x69, 0x6c, 0x64, 0x20, 0x70, 0x6c, 0x61,
+ 0x6e, 0x74, 0x00, 0x49, 0x74, 0x27, 0x73, 0x20,
+ 0x73, 0x6f, 0x6d, 0x65, 0x20, 0x77, 0x69, 0x6c,
+ 0x64, 0x20, 0x70, 0x6f, 0x74, 0x61, 0x74, 0x6f,
+ 0x65, 0x2e, 0x00, 0x00, 0x06, 0x00, 0x00, 0x22,
+ 0x00, 0x04, 0x01, 0xa0, 0x00, 0xa6, 0x00, 0xbd,
+ 0x00, 0xa6, 0x00, 0xbd, 0x00, 0x01, 0x01, 0x77,
+ 0x61, 0x6c, 0x6c, 0x00, 0x49, 0x74, 0x27, 0x73,
+ 0x20, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x65, 0x64,
+ 0x20, 0x77, 0x69, 0x74, 0x68, 0x20, 0x73, 0x6f,
+ 0x6d, 0x65, 0x74, 0x68, 0x69, 0x6e, 0x67, 0x20,
+ 0x73, 0x6d, 0x6f, 0x6f, 0x74, 0x68, 0x2e, 0x00,
+ 0x00, 0x07, 0x25, 0x01, 0x5c, 0x00, 0x3f, 0x01,
+ 0xaa, 0x00, 0x2a, 0x01, 0xaf, 0x00, 0x3f, 0x01,
+ 0x98, 0x00, 0x01, 0x01, 0x70, 0x61, 0x74, 0x68,
+ 0x20, 0x61, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x20,
+ 0x6d, 0x61, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x00,
+ 0x01, 0x08, 0x00, 0x00, 0xae, 0x00, 0x3c, 0x00,
+ 0xc7, 0x00, 0x1e, 0x00, 0xbd, 0x00, 0x00, 0x00,
+ 0xbd, 0x00, 0x04, 0x01, 0x70, 0x61, 0x74, 0x68,
+ 0x20, 0x61, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x20,
+ 0x6d, 0x61, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x00,
+ 0x01, 0x09, 0xd0, 0x00, 0x9c, 0x00, 0xec, 0x00,
+ 0xa8, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0x00, 0x00, 0x62, 0x72, 0x61, 0x6e,
+ 0x63, 0x68, 0x00, 0x47, 0x6f, 0x74, 0x63, 0x68,
+ 0x61, 0x2e, 0x00, 0x00, 0xe9, 0x85, 0x0d, 0x86,
+ 0x42, 0x86, 0x6a, 0x86, 0xa7, 0x86, 0xcf, 0x86,
+ 0x07, 0x87, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
+ 0x00, 0x31, 0x00, 0x9d, 0x00, 0x12, 0x00, 0xad,
+ 0x00, 0x12, 0x00, 0xad, 0x00, 0x01, 0x01, 0x74,
+ 0x72, 0x65, 0x65, 0x00, 0x49, 0x74, 0x27, 0x73,
+ 0x20, 0x68, 0x69, 0x67, 0x68, 0x2e, 0x00, 0x00,
+ 0x02, 0xf6, 0x00, 0x7c, 0x00, 0x35, 0x01, 0xa6,
+ 0x00, 0x05, 0x01, 0xb7, 0x00, 0x05, 0x01, 0xb7,
+ 0x00, 0x01, 0x01, 0x77, 0x69, 0x6c, 0x64, 0x20,
+ 0x70, 0x6c, 0x61, 0x6e, 0x74, 0x00, 0x4f, 0x72,
+ 0x64, 0x69, 0x6e, 0x61, 0x72, 0x79, 0x20, 0x67,
+ 0x72, 0x65, 0x65, 0x6e, 0x20, 0x73, 0x74, 0x75,
+ 0x66, 0x66, 0x2e, 0x00, 0x00, 0x03, 0x00, 0x00,
+ 0x9e, 0x00, 0x2f, 0x00, 0xba, 0x00, 0x12, 0x00,
+ 0xad, 0x00, 0x00, 0x00, 0xac, 0x00, 0x04, 0x01,
+ 0x70, 0x61, 0x74, 0x68, 0x20, 0x61, 0x72, 0x6f,
+ 0x75, 0x6e, 0x64, 0x20, 0x6d, 0x61, 0x6e, 0x73,
+ 0x69, 0x6f, 0x6e, 0x00, 0x01, 0x04, 0x00, 0x00,
+ 0x20, 0x00, 0x3f, 0x01, 0xa6, 0x00, 0xc5, 0x00,
+ 0xb7, 0x00, 0xc5, 0x00, 0xb7, 0x00, 0x01, 0x01,
+ 0x77, 0x61, 0x6c, 0x6c, 0x00, 0x49, 0x74, 0x27,
+ 0x73, 0x20, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x65,
+ 0x64, 0x20, 0x77, 0x69, 0x74, 0x68, 0x20, 0x73,
+ 0x6f, 0x6d, 0x65, 0x74, 0x68, 0x69, 0x6e, 0x67,
+ 0x20, 0x73, 0x6d, 0x6f, 0x6f, 0x74, 0x68, 0x2e,
+ 0x00, 0x00, 0x05, 0x06, 0x01, 0xa6, 0x00, 0x3f,
+ 0x01, 0xc7, 0x00, 0x05, 0x01, 0xb7, 0x00, 0x3f,
+ 0x01, 0xb5, 0x00, 0x02, 0x01, 0x70, 0x61, 0x74,
+ 0x68, 0x20, 0x61, 0x72, 0x6f, 0x75, 0x6e, 0x64,
+ 0x20, 0x6d, 0x61, 0x6e, 0x73, 0x69, 0x6f, 0x6e,
+ 0x00, 0x01, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x67, 0x00, 0xc0, 0x00, 0x67,
+ 0x00, 0xc0, 0x00, 0x04, 0x01, 0x68, 0x65, 0x64,
+ 0x67, 0x65, 0x68, 0x6f, 0x67, 0x00, 0x49, 0x73,
+ 0x20, 0x68, 0x61, 0x73, 0x20, 0x61, 0x20, 0x63,
+ 0x6f, 0x6e, 0x65, 0x20, 0x6f, 0x6e, 0x20, 0x69,
+ 0x74, 0x73, 0x20, 0x62, 0x61, 0x63, 0x6b, 0x2e,
+ 0x00, 0x00, 0x07, 0xdb, 0x00, 0xba, 0x00, 0xeb,
+ 0x00, 0xc3, 0x00, 0xd7, 0x00, 0xc3, 0x00, 0xd7,
+ 0x00, 0xc3, 0x00, 0x02, 0x01, 0x72, 0x6f, 0x63,
+ 0x6b, 0x00, 0x01, 0x2c, 0x87, 0x59, 0x87, 0x7f,
+ 0x87, 0xac, 0x87, 0xe2, 0x87, 0x00, 0x00, 0x01,
+ 0xb2, 0x00, 0x24, 0x00, 0xbe, 0x00, 0x36, 0x00,
+ 0xbc, 0x00, 0x96, 0x00, 0xbc, 0x00, 0x96, 0x00,
+ 0x01, 0x01, 0x62, 0x65, 0x65, 0x73, 0x20, 0x6e,
+ 0x65, 0x73, 0x74, 0x00, 0x48, 0x6f, 0x6e, 0x65,
+ 0x79, 0x20, 0x62, 0x61, 0x6c, 0x6c, 0x6f, 0x6f,
+ 0x6e, 0x2e, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0xbc, 0x00, 0x96,
+ 0x00, 0xbc, 0x00, 0x96, 0x00, 0x01, 0x01, 0x62,
+ 0x65, 0x65, 0x73, 0x00, 0x49, 0x20, 0x48, 0x41,
+ 0x54, 0x45, 0x20, 0x54, 0x48, 0x45, 0x4d, 0x21,
+ 0x00, 0x00, 0x03, 0x1c, 0x00, 0x5d, 0x00, 0x72,
+ 0x00, 0xc1, 0x00, 0x3f, 0x00, 0xc3, 0x00, 0x3f,
+ 0x00, 0xc3, 0x00, 0x01, 0x01, 0x62, 0x75, 0x73,
+ 0x68, 0x00, 0x4e, 0x69, 0x63, 0x65, 0x20, 0x70,
+ 0x6c, 0x61, 0x63, 0x65, 0x20, 0x74, 0x6f, 0x20,
+ 0x68, 0x69, 0x64, 0x65, 0x2e, 0x00, 0x00, 0x04,
+ 0xa6, 0x00, 0x76, 0x00, 0xe6, 0x00, 0x8d, 0x00,
+ 0xbc, 0x00, 0x96, 0x00, 0xbc, 0x00, 0x96, 0x00,
+ 0x01, 0x01, 0x76, 0x61, 0x6c, 0x76, 0x65, 0x00,
+ 0x49, 0x74, 0x27, 0x73, 0x20, 0x72, 0x75, 0x73,
+ 0x74, 0x79, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x68,
+ 0x61, 0x73, 0x20, 0x6e, 0x6f, 0x20, 0x6c, 0x6f,
+ 0x63, 0x6b, 0x2e, 0x00, 0x00, 0x05, 0xd6, 0x00,
+ 0xb4, 0x00, 0x3f, 0x01, 0xc7, 0x00, 0xdb, 0x00,
+ 0xb7, 0x00, 0x0e, 0x01, 0xc7, 0x00, 0x02, 0x01,
+ 0x70, 0x61, 0x74, 0x68, 0x20, 0x74, 0x6f, 0x20,
+ 0x6d, 0x61, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x00,
+ 0x01, 0x18, 0x88, 0x6f, 0x88, 0xad, 0x88, 0xf4,
+ 0x88, 0x40, 0x89, 0x6e, 0x89, 0x92, 0x89, 0xb6,
+ 0x89, 0x00, 0x00, 0x01, 0x90, 0x00, 0x0f, 0x00,
+ 0xa3, 0x00, 0x1d, 0x00, 0x9d, 0x00, 0xb4, 0x00,
+ 0x9d, 0x00, 0xb4, 0x00, 0x01, 0x01, 0x66, 0x6c,
+ 0x6f, 0x77, 0x65, 0x72, 0x00, 0x49, 0x74, 0x27,
+ 0x73, 0x20, 0x74, 0x68, 0x65, 0x20, 0x6d, 0x6f,
+ 0x73, 0x74, 0x20, 0x62, 0x65, 0x61, 0x75, 0x74,
+ 0x69, 0x66, 0x75, 0x6c, 0x20, 0x66, 0x6c, 0x6f,
+ 0x77, 0x65, 0x72, 0x20, 0x49, 0x27, 0x76, 0x65,
+ 0x20, 0x73, 0x65, 0x65, 0x6e, 0x00, 0x69, 0x6e,
+ 0x20, 0x6d, 0x79, 0x20, 0x65, 0x6e, 0x74, 0x69,
+ 0x72, 0x65, 0x20, 0x6c, 0x69, 0x66, 0x65, 0x21,
+ 0x00, 0x00, 0x02, 0x69, 0x00, 0x00, 0x00, 0xcf,
+ 0x00, 0x27, 0x00, 0x9d, 0x00, 0xb4, 0x00, 0x9d,
+ 0x00, 0xb4, 0x00, 0x01, 0x01, 0x69, 0x73, 0x6c,
+ 0x65, 0x00, 0x4e, 0x65, 0x61, 0x74, 0x20, 0x70,
+ 0x6c, 0x61, 0x63, 0x65, 0x20, 0x74, 0x6f, 0x20,
+ 0x73, 0x74, 0x61, 0x72, 0x74, 0x20, 0x65, 0x63,
+ 0x6f, 0x6c, 0x6f, 0x67, 0x69, 0x63, 0x61, 0x6c,
+ 0x20, 0x6c, 0x69, 0x66, 0x65, 0x2e, 0x00, 0x00,
+ 0x03, 0x3c, 0x00, 0x88, 0x00, 0x7b, 0x00, 0xa7,
+ 0x00, 0x6b, 0x00, 0xa9, 0x00, 0x6b, 0x00, 0xa9,
+ 0x00, 0x04, 0x01, 0x62, 0x6f, 0x61, 0x74, 0x00,
+ 0x49, 0x20, 0x63, 0x61, 0x6e, 0x27, 0x74, 0x20,
+ 0x62, 0x65, 0x6c, 0x69, 0x65, 0x76, 0x65, 0x20,
+ 0x69, 0x74, 0x2c, 0x20, 0x62, 0x75, 0x74, 0x20,
+ 0x74, 0x68, 0x65, 0x20, 0x62, 0x6f, 0x61, 0x74,
+ 0x20, 0x68, 0x61, 0x73, 0x20, 0x6e, 0x6f, 0x20,
+ 0x68, 0x6f, 0x6c, 0x65, 0x2e, 0x00, 0x00, 0x04,
+ 0xec, 0x00, 0xa4, 0x00, 0x20, 0x01, 0xc3, 0x00,
+ 0xec, 0x00, 0xb3, 0x00, 0xec, 0x00, 0xb3, 0x00,
+ 0x03, 0x01, 0x77, 0x65, 0x6c, 0x6c, 0x00, 0x49,
+ 0x20, 0x72, 0x65, 0x66, 0x75, 0x73, 0x65, 0x20,
+ 0x74, 0x6f, 0x20, 0x74, 0x65, 0x6c, 0x6c, 0x20,
+ 0x63, 0x68, 0x65, 0x61, 0x70, 0x20, 0x6a, 0x6f,
+ 0x6b, 0x65, 0x73, 0x20, 0x77, 0x69, 0x74, 0x68,
+ 0x00, 0x74, 0x68, 0x65, 0x20, 0x77, 0x6f, 0x72,
+ 0x64, 0x20, 0x22, 0x77, 0x65, 0x6c, 0x6c, 0x22,
+ 0x2e, 0x00, 0x00, 0x05, 0xdd, 0x00, 0x96, 0x00,
+ 0xe8, 0x00, 0xa2, 0x00, 0xc8, 0x00, 0xb3, 0x00,
+ 0xc8, 0x00, 0xb3, 0x00, 0x02, 0x01, 0x68, 0x61,
+ 0x6e, 0x64, 0x6c, 0x65, 0x00, 0x49, 0x20, 0x63,
+ 0x61, 0x6e, 0x20, 0x68, 0x61, 0x6e, 0x64, 0x6c,
+ 0x65, 0x20, 0x74, 0x68, 0x69, 0x73, 0x2e, 0x00,
+ 0x00, 0x06, 0x88, 0x00, 0xb7, 0x00, 0xa5, 0x00,
+ 0xc7, 0x00, 0x9d, 0x00, 0xb4, 0x00, 0x99, 0x00,
+ 0xc7, 0x00, 0x03, 0x01, 0x70, 0x61, 0x74, 0x68,
+ 0x20, 0x74, 0x6f, 0x20, 0x76, 0x69, 0x6c, 0x6c,
+ 0x61, 0x67, 0x65, 0x00, 0x01, 0x07, 0x25, 0x01,
+ 0x96, 0x00, 0x3f, 0x01, 0xb6, 0x00, 0x06, 0x01,
+ 0xb0, 0x00, 0x3f, 0x01, 0xa2, 0x00, 0x02, 0x01,
+ 0x70, 0x61, 0x74, 0x68, 0x20, 0x74, 0x6f, 0x20,
+ 0x6d, 0x61, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x00,
+ 0x01, 0x08, 0x00, 0x00, 0x96, 0x00, 0x20, 0x00,
+ 0xb5, 0x00, 0x1e, 0x00, 0xac, 0x00, 0x00, 0x00,
+ 0xac, 0x00, 0x04, 0x01, 0x70, 0x61, 0x74, 0x68,
+ 0x20, 0x74, 0x6f, 0x20, 0x66, 0x6f, 0x72, 0x65,
+ 0x73, 0x74, 0x00, 0x01, 0xe1, 0x89, 0x0c, 0x8a,
+ 0x3c, 0x8a, 0x00, 0x00, 0x01, 0x7d, 0x00, 0x3b,
+ 0x00, 0x8c, 0x00, 0x59, 0x00, 0x7b, 0x00, 0x5e,
+ 0x00, 0x7b, 0x00, 0x5e, 0x00, 0x02, 0x01, 0x66,
+ 0x6c, 0x6f, 0x77, 0x65, 0x72, 0x00, 0x49, 0x74,
+ 0x27, 0x73, 0x20, 0x62, 0x65, 0x61, 0x75, 0x74,
+ 0x69, 0x66, 0x75, 0x6c, 0x21, 0x00, 0x00, 0x02,
+ 0x8d, 0x00, 0x3b, 0x00, 0x9e, 0x00, 0x57, 0x00,
+ 0xa0, 0x00, 0x5a, 0x00, 0xa0, 0x00, 0x5a, 0x00,
+ 0x04, 0x01, 0x66, 0x6c, 0x6f, 0x77, 0x65, 0x72,
+ 0x00, 0x49, 0x74, 0x20, 0x73, 0x6d, 0x65, 0x6c,
+ 0x6c, 0x73, 0x20, 0x76, 0x65, 0x72, 0x79, 0x20,
+ 0x6e, 0x69, 0x63, 0x65, 0x21, 0x00, 0x00, 0x03,
+ 0xd2, 0x00, 0x4c, 0x00, 0x38, 0x01, 0x7b, 0x00,
+ 0xec, 0x00, 0x5f, 0x00, 0xec, 0x00, 0x5f, 0x00,
+ 0x03, 0x01, 0x62, 0x6f, 0x61, 0x74, 0x00, 0x4e,
+ 0x6f, 0x74, 0x68, 0x69, 0x6e, 0x67, 0x20, 0x6e,
+ 0x65, 0x77, 0x2e, 0x20, 0x4c, 0x69, 0x74, 0x65,
+ 0x72, 0x61, 0x6c, 0x6c, 0x79, 0x2e, 0x00, 0x00,
+ 0x87, 0x8a, 0xa1, 0x8a, 0xbb, 0x8a, 0xd2, 0x8a,
+ 0xe9, 0x8a, 0x05, 0x8b, 0x3c, 0x8b, 0x1f, 0x8b,
+ 0x59, 0x8b, 0x76, 0x8b, 0x93, 0x8b, 0xae, 0x8b,
+ 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x02, 0x01, 0x66, 0x69, 0x73,
+ 0x68, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x01, 0x66,
+ 0x69, 0x73, 0x68, 0x00, 0x00, 0x00, 0x03, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02,
+ 0x00, 0x3f, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00,
+ 0x3f, 0x00, 0x00, 0x00, 0x05, 0x21, 0x00, 0xb1,
+ 0x00, 0x2b, 0x00, 0xbb, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x01, 0x61,
+ 0x6e, 0x63, 0x68, 0x6f, 0x72, 0x00, 0x00, 0x00,
+ 0x06, 0x29, 0x00, 0x90, 0x00, 0x99, 0x00, 0xba,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x02, 0x01, 0x62, 0x6f, 0x61, 0x74, 0x00,
+ 0x00, 0x00, 0x08, 0x0f, 0x00, 0x90, 0x00, 0x2d,
+ 0x00, 0xbc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x02, 0x01, 0x73, 0x65, 0x61,
+ 0x77, 0x65, 0x65, 0x64, 0x00, 0x00, 0x00, 0x07,
+ 0x00, 0x00, 0x56, 0x00, 0x22, 0x00, 0x97, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x02, 0x01, 0x73, 0x65, 0x61, 0x77, 0x65, 0x65,
+ 0x64, 0x00, 0x00, 0x00, 0x09, 0xce, 0x00, 0xa3,
+ 0x00, 0xfc, 0x00, 0xc7, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x01, 0x73,
+ 0x65, 0x61, 0x77, 0x65, 0x65, 0x64, 0x00, 0x00,
+ 0x00, 0x0a, 0xde, 0x00, 0x3c, 0x00, 0x08, 0x01,
+ 0x88, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x02, 0x01, 0x73, 0x65, 0x61, 0x77,
+ 0x65, 0x65, 0x64, 0x00, 0x00, 0x00, 0x0b, 0x98,
+ 0x00, 0x96, 0x00, 0xbb, 0x00, 0xb5, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02,
+ 0x01, 0x70, 0x6c, 0x61, 0x6e, 0x74, 0x00, 0x00,
+ 0x00, 0x0c, 0x68, 0x00, 0x7a, 0x00, 0xe0, 0x00,
+ 0x98, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x02, 0x01, 0x73, 0x74, 0x6f, 0x6e,
+ 0x65, 0x73, 0x00, 0x00, 0x00, 0xda, 0x8b, 0x01,
+ 0x8c, 0x39, 0x8c, 0x63, 0x8c, 0x90, 0x8c, 0xb2,
+ 0x8c, 0xd2, 0x8c, 0x00, 0x00, 0x01, 0xbd, 0x00,
+ 0xaf, 0x00, 0x3f, 0x01, 0xc7, 0x00, 0xc9, 0x00,
+ 0xc0, 0x00, 0xec, 0x00, 0xc7, 0x00, 0x02, 0x01,
+ 0x70, 0x61, 0x74, 0x68, 0x20, 0x74, 0x6f, 0x20,
+ 0x6c, 0x61, 0x6b, 0x65, 0x20, 0x73, 0x68, 0x6f,
+ 0x72, 0x65, 0x00, 0x01, 0x02, 0x37, 0x00, 0x50,
+ 0x00, 0x50, 0x00, 0x69, 0x00, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0x04, 0x01, 0x64,
+ 0x6f, 0x6f, 0x72, 0x00, 0x54, 0x68, 0x65, 0x72,
+ 0x65, 0x27, 0x73, 0x20, 0x6e, 0x6f, 0x20, 0x6e,
+ 0x61, 0x6d, 0x65, 0x20, 0x6f, 0x6e, 0x20, 0x74,
+ 0x68, 0x65, 0x00, 0x64, 0x6f, 0x6f, 0x72, 0x2e,
+ 0x2e, 0x2e, 0x00, 0x00, 0x03, 0x67, 0x00, 0x46,
+ 0x00, 0x85, 0x00, 0x5d, 0x00, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0x02, 0x01, 0x77,
+ 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x73, 0x00, 0x49,
+ 0x20, 0x70, 0x72, 0x65, 0x66, 0x65, 0x72, 0x20,
+ 0x44, 0x4f, 0x53, 0x2e, 0x00, 0x00, 0x04, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc9,
+ 0x00, 0xc0, 0x00, 0xc9, 0x00, 0xc0, 0x00, 0x01,
+ 0x01, 0x73, 0x71, 0x75, 0x69, 0x72, 0x72, 0x65,
+ 0x6c, 0x00, 0x49, 0x74, 0x27, 0x73, 0x20, 0x76,
+ 0x65, 0x72, 0x79, 0x20, 0x66, 0x61, 0x73, 0x74,
+ 0x2e, 0x00, 0x00, 0x05, 0x92, 0x00, 0x35, 0x00,
+ 0x99, 0x00, 0x3c, 0x00, 0xc9, 0x00, 0xc0, 0x00,
+ 0xc9, 0x00, 0xc0, 0x00, 0x01, 0x01, 0x6e, 0x75,
+ 0x74, 0x00, 0x49, 0x74, 0x27, 0x73, 0x20, 0x62,
+ 0x69, 0x67, 0x2e, 0x00, 0x00, 0x06, 0x8c, 0x00,
+ 0xbb, 0x00, 0x92, 0x00, 0xc1, 0x00, 0x9c, 0x00,
+ 0xc2, 0x00, 0x9c, 0x00, 0xc2, 0x00, 0x04, 0x00,
+ 0x6e, 0x75, 0x74, 0x00, 0x47, 0x6f, 0x74, 0x63,
+ 0x68, 0x61, 0x2e, 0x00, 0x00, 0x07, 0x48, 0x00,
+ 0xb4, 0x00, 0xaa, 0x00, 0xc7, 0x00, 0xa2, 0x00,
+ 0xc2, 0x00, 0xa2, 0x00, 0xc2, 0x00, 0x04, 0x01,
+ 0x67, 0x72, 0x61, 0x73, 0x73, 0x00, 0x01, 0x0c,
+ 0x8d, 0x28, 0x8d, 0x6f, 0x8d, 0xcb, 0x8d, 0xe8,
+ 0x8d, 0x22, 0x8e, 0x3f, 0x8e, 0x5e, 0x8e, 0x99,
+ 0x8e, 0xd7, 0x8e, 0x12, 0x8f, 0x2c, 0x8f, 0x54,
+ 0x8f, 0x71, 0x8f, 0xcc, 0x8f, 0x00, 0x00, 0x01,
+ 0x90, 0x00, 0xbd, 0x00, 0x3f, 0x01, 0xc7, 0x00,
+ 0xdf, 0x00, 0xc1, 0x00, 0xdf, 0x00, 0xc7, 0x00,
+ 0x03, 0x01, 0x77, 0x61, 0x79, 0x20, 0x6f, 0x75,
+ 0x74, 0x00, 0x01, 0x02, 0xcc, 0x00, 0x75, 0x00,
+ 0xe0, 0x00, 0x83, 0x00, 0xd8, 0x00, 0xa7, 0x00,
+ 0xd8, 0x00, 0xa7, 0x00, 0x01, 0x01, 0x68, 0x6f,
+ 0x72, 0x6e, 0x00, 0x49, 0x74, 0x20, 0x6d, 0x75,
+ 0x73, 0x74, 0x20, 0x6d, 0x61, 0x6b, 0x65, 0x20,
+ 0x61, 0x20, 0x62, 0x69, 0x67, 0x20, 0x69, 0x6d,
+ 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e,
+ 0x20, 0x6f, 0x6e, 0x00, 0x74, 0x68, 0x65, 0x20,
+ 0x61, 0x6e, 0x69, 0x6d, 0x61, 0x6c, 0x73, 0x2e,
+ 0x00, 0x00, 0x03, 0x00, 0x00, 0x47, 0x00, 0x1c,
+ 0x00, 0x94, 0x00, 0x51, 0x00, 0xa7, 0x00, 0x51,
+ 0x00, 0xa7, 0x00, 0x04, 0x01, 0x77, 0x69, 0x6e,
+ 0x64, 0x6f, 0x77, 0x00, 0x49, 0x27, 0x6d, 0x20,
+ 0x6e, 0x6f, 0x74, 0x20, 0x73, 0x75, 0x72, 0x65,
+ 0x20, 0x69, 0x66, 0x20, 0x69, 0x74, 0x20, 0x73,
+ 0x68, 0x6f, 0x75, 0x6c, 0x64, 0x6e, 0x27, 0x74,
+ 0x20, 0x62, 0x65, 0x20, 0x6f, 0x6e, 0x00, 0x74,
+ 0x68, 0x65, 0x20, 0x6f, 0x74, 0x68, 0x65, 0x72,
+ 0x20, 0x73, 0x69, 0x64, 0x65, 0x20, 0x6f, 0x66,
+ 0x20, 0x74, 0x68, 0x65, 0x20, 0x77, 0x61, 0x6c,
+ 0x6c, 0x2e, 0x2e, 0x2e, 0x00, 0x00, 0x04, 0x2e,
+ 0x00, 0x86, 0x00, 0x72, 0x00, 0x98, 0x00, 0x4e,
+ 0x00, 0xa4, 0x00, 0x4e, 0x00, 0xa4, 0x00, 0x01,
+ 0x01, 0x63, 0x75, 0x70, 0x62, 0x6f, 0x61, 0x72,
+ 0x64, 0x00, 0x01, 0x05, 0x81, 0x00, 0x67, 0x00,
+ 0x9a, 0x00, 0x70, 0x00, 0x8b, 0x00, 0xa5, 0x00,
+ 0x8b, 0x00, 0xa5, 0x00, 0x01, 0x01, 0x68, 0x65,
+ 0x61, 0x72, 0x74, 0x2d, 0x73, 0x68, 0x61, 0x70,
+ 0x65, 0x64, 0x20, 0x68, 0x6f, 0x6c, 0x65, 0x00,
+ 0x57, 0x68, 0x61, 0x74, 0x20, 0x61, 0x20, 0x6c,
+ 0x6f, 0x76, 0x65, 0x6c, 0x79, 0x20, 0x68, 0x6f,
+ 0x6c, 0x65, 0x2e, 0x00, 0x00, 0x06, 0x7d, 0x00,
+ 0x8c, 0x00, 0x9e, 0x00, 0x9b, 0x00, 0x8f, 0x00,
+ 0xa4, 0x00, 0x8f, 0x00, 0xa4, 0x00, 0x01, 0x01,
+ 0x63, 0x75, 0x70, 0x62, 0x6f, 0x61, 0x72, 0x64,
+ 0x00, 0x01, 0x07, 0x89, 0x00, 0x06, 0x00, 0xb6,
+ 0x00, 0x29, 0x00, 0xa2, 0x00, 0xbb, 0x00, 0xa2,
+ 0x00, 0xbb, 0x00, 0x01, 0x01, 0x63, 0x68, 0x61,
+ 0x6e, 0x64, 0x65, 0x6c, 0x69, 0x65, 0x72, 0x00,
+ 0x01, 0x08, 0x13, 0x01, 0x5e, 0x00, 0x3f, 0x01,
+ 0x81, 0x00, 0xd8, 0x00, 0xa7, 0x00, 0xd8, 0x00,
+ 0xa7, 0x00, 0x02, 0x01, 0x70, 0x69, 0x63, 0x74,
+ 0x75, 0x72, 0x65, 0x00, 0x49, 0x74, 0x20, 0x6c,
+ 0x6f, 0x6f, 0x6b, 0x73, 0x20, 0x61, 0x6c, 0x6d,
+ 0x6f, 0x73, 0x74, 0x20, 0x6c, 0x69, 0x6b, 0x65,
+ 0x20, 0x61, 0x20, 0x77, 0x69, 0x6e, 0x64, 0x6f,
+ 0x77, 0x2e, 0x00, 0x00, 0x09, 0x11, 0x01, 0x8c,
+ 0x00, 0x25, 0x01, 0xb7, 0x00, 0x0e, 0x01, 0xb6,
+ 0x00, 0x0e, 0x01, 0xb6, 0x00, 0x02, 0x01, 0x66,
+ 0x69, 0x72, 0x65, 0x70, 0x6c, 0x61, 0x63, 0x65,
+ 0x00, 0x54, 0x68, 0x65, 0x72, 0x65, 0x27, 0x73,
+ 0x20, 0x61, 0x20, 0x6c, 0x6f, 0x74, 0x20, 0x6f,
+ 0x66, 0x20, 0x73, 0x6f, 0x6f, 0x74, 0x20, 0x69,
+ 0x6e, 0x20, 0x74, 0x68, 0x65, 0x72, 0x65, 0x2e,
+ 0x00, 0x00, 0x0a, 0xb9, 0x00, 0x60, 0x00, 0xe8,
+ 0x00, 0x83, 0x00, 0xd8, 0x00, 0xa7, 0x00, 0xd8,
+ 0x00, 0xa7, 0x00, 0x01, 0x01, 0x67, 0x75, 0x6e,
+ 0x73, 0x00, 0x54, 0x68, 0x65, 0x79, 0x20, 0x61,
+ 0x72, 0x65, 0x20, 0x6f, 0x6e, 0x6c, 0x79, 0x20,
+ 0x70, 0x6c, 0x61, 0x73, 0x74, 0x69, 0x63, 0x20,
+ 0x69, 0x6d, 0x69, 0x74, 0x61, 0x74, 0x69, 0x6f,
+ 0x6e, 0x73, 0x2e, 0x00, 0x00, 0x0b, 0x37, 0x00,
+ 0xa5, 0x00, 0x8c, 0x00, 0xc7, 0x00, 0x51, 0x00,
+ 0xa7, 0x00, 0x51, 0x00, 0xa7, 0x00, 0x03, 0x01,
+ 0x74, 0x61, 0x62, 0x6c, 0x65, 0x00, 0x01, 0x0c,
+ 0x68, 0x00, 0x71, 0x00, 0x6f, 0x00, 0x77, 0x00,
+ 0x6d, 0x00, 0xa4, 0x00, 0x6d, 0x00, 0xa4, 0x00,
+ 0x01, 0x01, 0x72, 0x6f, 0x74, 0x74, 0x65, 0x6e,
+ 0x20, 0x63, 0x68, 0x65, 0x65, 0x73, 0x65, 0x00,
+ 0x50, 0x66, 0x75, 0x69, 0x21, 0x00, 0x00, 0x0d,
+ 0xa9, 0x00, 0x2f, 0x00, 0x3f, 0x01, 0x5d, 0x00,
+ 0xd8, 0x00, 0xa7, 0x00, 0xd8, 0x00, 0xa7, 0x00,
+ 0x01, 0x01, 0x74, 0x72, 0x6f, 0x70, 0x68, 0x69,
+ 0x65, 0x73, 0x00, 0x01, 0x0e, 0xa2, 0x00, 0x8b,
+ 0x00, 0xb6, 0x00, 0xa9, 0x00, 0xc1, 0x00, 0xa4,
+ 0x00, 0xc1, 0x00, 0xa4, 0x00, 0x04, 0x01, 0x63,
+ 0x68, 0x61, 0x69, 0x6e, 0x73, 0x61, 0x77, 0x00,
+ 0x49, 0x20, 0x64, 0x6f, 0x6e, 0x27, 0x74, 0x20,
+ 0x6b, 0x6e, 0x6f, 0x77, 0x20, 0x77, 0x68, 0x79,
+ 0x20, 0x62, 0x75, 0x74, 0x20, 0x69, 0x74, 0x20,
+ 0x72, 0x65, 0x6d, 0x69, 0x6e, 0x64, 0x73, 0x20,
+ 0x6f, 0x66, 0x00, 0x73, 0x6f, 0x6d, 0x65, 0x20,
+ 0x54, 0x65, 0x78, 0x61, 0x73, 0x20, 0x67, 0x75,
+ 0x79, 0x20, 0x49, 0x20, 0x6d, 0x65, 0x74, 0x20,
+ 0x6f, 0x6e, 0x63, 0x65, 0x2e, 0x00, 0x00, 0x0f,
+ 0x2d, 0x00, 0x6c, 0x00, 0x72, 0x00, 0x84, 0x00,
+ 0x51, 0x00, 0xa7, 0x00, 0x51, 0x00, 0xa7, 0x00,
+ 0x01, 0x01, 0x70, 0x6f, 0x72, 0x63, 0x65, 0x6c,
+ 0x61, 0x69, 0x6e, 0x00, 0x49, 0x27, 0x6d, 0x20,
+ 0x61, 0x66, 0x72, 0x61, 0x69, 0x64, 0x20, 0x65,
+ 0x76, 0x65, 0x6e, 0x20, 0x74, 0x6f, 0x20, 0x62,
+ 0x72, 0x65, 0x61, 0x74, 0x68, 0x20, 0x61, 0x72,
+ 0x6f, 0x75, 0x6e, 0x64, 0x20, 0x74, 0x68, 0x65,
+ 0x73, 0x65, 0x00, 0x74, 0x68, 0x69, 0x6e, 0x67,
+ 0x73, 0x2e, 0x00, 0x00, 0x3b, 0x90, 0x67, 0x90,
+ 0xaf, 0x90, 0x01, 0x91, 0x55, 0x91, 0x6e, 0x91,
+ 0xc0, 0x91, 0xdb, 0x91, 0xf6, 0x91, 0x17, 0x92,
+ 0x38, 0x92, 0x51, 0x92, 0x73, 0x92, 0xf8, 0x92,
+ 0x20, 0x93, 0x52, 0x93, 0x00, 0x00, 0x01, 0x1d,
+ 0x01, 0x87, 0x00, 0x3b, 0x01, 0xaa, 0x00, 0x16,
+ 0x01, 0xbd, 0x00, 0x16, 0x01, 0xbd, 0x00, 0x02,
+ 0x01, 0x63, 0x61, 0x72, 0x20, 0x64, 0x6f, 0x6f,
+ 0x72, 0x00, 0x49, 0x74, 0x27, 0x73, 0x20, 0x75,
+ 0x6e, 0x6c, 0x6f, 0x63, 0x6b, 0x65, 0x64, 0x2e,
+ 0x00, 0x00, 0x02, 0xbf, 0x00, 0x88, 0x00, 0xe6,
+ 0x00, 0x9c, 0x00, 0xa8, 0x00, 0xb3, 0x00, 0xa8,
+ 0x00, 0xb3, 0x00, 0x02, 0x01, 0x74, 0x72, 0x75,
+ 0x6e, 0x6b, 0x00, 0x54, 0x68, 0x65, 0x72, 0x65,
+ 0x27, 0x73, 0x20, 0x61, 0x6c, 0x77, 0x61, 0x79,
+ 0x73, 0x20, 0x73, 0x6f, 0x6d, 0x65, 0x74, 0x68,
+ 0x69, 0x6e, 0x67, 0x20, 0x75, 0x73, 0x65, 0x66,
+ 0x75, 0x6c, 0x00, 0x69, 0x6e, 0x20, 0x61, 0x20,
+ 0x74, 0x72, 0x75, 0x6e, 0x6b, 0x2e, 0x2e, 0x2e,
+ 0x00, 0x00, 0x03, 0x50, 0x00, 0x47, 0x00, 0x64,
+ 0x00, 0x51, 0x00, 0x51, 0x00, 0xb5, 0x00, 0x51,
+ 0x00, 0xb5, 0x00, 0x01, 0x01, 0x62, 0x61, 0x73,
+ 0x6b, 0x65, 0x74, 0x00, 0x49, 0x74, 0x20, 0x67,
+ 0x69, 0x76, 0x65, 0x73, 0x20, 0x6d, 0x65, 0x20,
+ 0x61, 0x6d, 0x62, 0x69, 0x76, 0x61, 0x6c, 0x65,
+ 0x6e, 0x74, 0x20, 0x66, 0x65, 0x65, 0x6c, 0x69,
+ 0x6e, 0x67, 0x73, 0x3a, 0x00, 0x72, 0x65, 0x6d,
+ 0x69, 0x6e, 0x64, 0x73, 0x20, 0x6d, 0x65, 0x20,
+ 0x6f, 0x66, 0x20, 0x73, 0x63, 0x68, 0x6f, 0x6f,
+ 0x6c, 0x2e, 0x00, 0x00, 0x04, 0x65, 0x00, 0x3c,
+ 0x00, 0x69, 0x00, 0xa0, 0x00, 0x65, 0x00, 0xb5,
+ 0x00, 0x65, 0x00, 0xb5, 0x00, 0x01, 0x01, 0x70,
+ 0x6f, 0x6c, 0x65, 0x00, 0x41, 0x62, 0x6f, 0x75,
+ 0x74, 0x20, 0x34, 0x20, 0x6d, 0x65, 0x74, 0x65,
+ 0x72, 0x20, 0x6c, 0x6f, 0x6e, 0x67, 0x20, 0x6d,
+ 0x65, 0x74, 0x61, 0x6c, 0x20, 0x70, 0x6f, 0x6c,
+ 0x65, 0x00, 0x77, 0x69, 0x74, 0x68, 0x20, 0x61,
+ 0x20, 0x62, 0x61, 0x73, 0x6b, 0x65, 0x74, 0x20,
+ 0x73, 0x63, 0x72, 0x65, 0x77, 0x65, 0x64, 0x20,
+ 0x74, 0x6f, 0x20, 0x69, 0x74, 0x2e, 0x00, 0x00,
+ 0x05, 0x90, 0x00, 0x5a, 0x00, 0xb7, 0x00, 0x9f,
+ 0x00, 0xa1, 0x00, 0xa5, 0x00, 0xa1, 0x00, 0xa5,
+ 0x00, 0x01, 0x01, 0x64, 0x6f, 0x6f, 0x72, 0x00,
+ 0x01, 0x06, 0xbe, 0x00, 0x71, 0x00, 0xc5, 0x00,
+ 0x7c, 0x00, 0xa1, 0x00, 0xa5, 0x00, 0xa1, 0x00,
+ 0xa5, 0x00, 0x02, 0x01, 0x64, 0x6f, 0x6f, 0x72,
+ 0x2d, 0x62, 0x65, 0x6c, 0x6c, 0x00, 0x4f, 0x6e,
+ 0x65, 0x20, 0x63, 0x61, 0x6e, 0x20, 0x75, 0x73,
+ 0x65, 0x20, 0x69, 0x74, 0x20, 0x74, 0x6f, 0x20,
+ 0x73, 0x63, 0x61, 0x72, 0x65, 0x20, 0x74, 0x68,
+ 0x65, 0x20, 0x70, 0x65, 0x6f, 0x70, 0x6c, 0x65,
+ 0x00, 0x62, 0x65, 0x68, 0x69, 0x6e, 0x64, 0x20,
+ 0x74, 0x68, 0x65, 0x20, 0x64, 0x6f, 0x6f, 0x72,
+ 0x2e, 0x00, 0x00, 0x07, 0xd0, 0x00, 0x4b, 0x00,
+ 0xfd, 0x00, 0x7e, 0x00, 0xa9, 0x00, 0xae, 0x00,
+ 0xa9, 0x00, 0xae, 0x00, 0x02, 0x01, 0x77, 0x69,
+ 0x6e, 0x64, 0x6f, 0x77, 0x00, 0x01, 0x08, 0x10,
+ 0x01, 0x4b, 0x00, 0x3d, 0x01, 0x7d, 0x00, 0xa9,
+ 0x00, 0xae, 0x00, 0xa9, 0x00, 0xae, 0x00, 0x02,
+ 0x01, 0x77, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x00,
+ 0x01, 0x09, 0x4b, 0x00, 0x02, 0x00, 0x58, 0x00,
+ 0x1b, 0x00, 0x51, 0x00, 0xb5, 0x00, 0x51, 0x00,
+ 0xb5, 0x00, 0x01, 0x01, 0x61, 0x74, 0x74, 0x69,
+ 0x63, 0x20, 0x77, 0x69, 0x6e, 0x64, 0x6f, 0x77,
+ 0x00, 0x01, 0x0a, 0x00, 0x00, 0xaa, 0x00, 0x21,
+ 0x00, 0xc7, 0x00, 0x30, 0x00, 0xbb, 0x00, 0x00,
+ 0x00, 0xbb, 0x00, 0x04, 0x01, 0x70, 0x61, 0x74,
+ 0x68, 0x20, 0x74, 0x6f, 0x20, 0x6c, 0x61, 0x6b,
+ 0x65, 0x00, 0x01, 0x0b, 0x17, 0x01, 0xaa, 0x00,
+ 0x3f, 0x01, 0xc7, 0x00, 0x21, 0x01, 0xbe, 0x00,
+ 0x3f, 0x01, 0xbe, 0x00, 0x02, 0x01, 0x70, 0x61,
+ 0x74, 0x68, 0x00, 0x01, 0x0c, 0x00, 0x00, 0x74,
+ 0x00, 0x1c, 0x00, 0xa9, 0x00, 0x30, 0x00, 0xbb,
+ 0x00, 0x05, 0x00, 0x83, 0x00, 0x01, 0x01, 0x70,
+ 0x61, 0x74, 0x68, 0x20, 0x74, 0x6f, 0x20, 0x66,
+ 0x69, 0x65, 0x6c, 0x64, 0x00, 0x01, 0x0d, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40,
+ 0x00, 0xbb, 0x00, 0x40, 0x00, 0xbb, 0x00, 0x01,
+ 0x01, 0x62, 0x6f, 0x79, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x48, 0x65, 0x27, 0x73, 0x20,
+ 0x74, 0x72, 0x79, 0x69, 0x6e, 0x67, 0x20, 0x68,
+ 0x61, 0x72, 0x64, 0x20, 0x74, 0x6f, 0x20, 0x73,
+ 0x63, 0x6f, 0x72, 0x65, 0x2c, 0x00, 0x62, 0x75,
+ 0x74, 0x20, 0x68, 0x65, 0x27, 0x73, 0x20, 0x74,
+ 0x6f, 0x6f, 0x20, 0x77, 0x65, 0x61, 0x6b, 0x20,
+ 0x74, 0x6f, 0x20, 0x74, 0x68, 0x72, 0x6f, 0x77,
+ 0x00, 0x74, 0x68, 0x65, 0x20, 0x62, 0x61, 0x6c,
+ 0x6c, 0x20, 0x68, 0x69, 0x67, 0x68, 0x20, 0x65,
+ 0x6e, 0x6f, 0x75, 0x67, 0x68, 0x21, 0x00, 0x00,
+ 0x53, 0x6f, 0x6e, 0x6e, 0x79, 0x20, 0x6f, 0x72,
+ 0x20, 0x77, 0x68, 0x61, 0x74, 0x65, 0x76, 0x65,
+ 0x72, 0x00, 0xff, 0x0e, 0x1d, 0x01, 0x91, 0x00,
+ 0x23, 0x01, 0x9b, 0x00, 0x16, 0x01, 0xbd, 0x00,
+ 0x16, 0x01, 0xbd, 0x00, 0x02, 0x00, 0x63, 0x6f,
+ 0x6d, 0x62, 0x00, 0x53, 0x74, 0x72, 0x61, 0x6e,
+ 0x67, 0x65, 0x20, 0x74, 0x68, 0x69, 0x6e, 0x67,
+ 0x2e, 0x00, 0x00, 0x0f, 0x1e, 0x01, 0xa5, 0x00,
+ 0x24, 0x01, 0xa9, 0x00, 0x16, 0x01, 0xbd, 0x00,
+ 0x16, 0x01, 0xbd, 0x00, 0x02, 0x00, 0x6c, 0x65,
+ 0x76, 0x65, 0x72, 0x00, 0x49, 0x20, 0x77, 0x6f,
+ 0x6e, 0x64, 0x65, 0x72, 0x20, 0x77, 0x68, 0x61,
+ 0x74, 0x00, 0x69, 0x74, 0x27, 0x73, 0x20, 0x66,
+ 0x6f, 0x72, 0x3f, 0x00, 0x00, 0x10, 0x26, 0x01,
+ 0x85, 0x00, 0x3b, 0x01, 0xac, 0x00, 0x16, 0x01,
+ 0xbd, 0x00, 0x16, 0x01, 0xbd, 0x00, 0x02, 0x00,
+ 0x63, 0x61, 0x72, 0x20, 0x64, 0x6f, 0x6f, 0x72,
+ 0x00, 0x01, 0x89, 0x93, 0xa2, 0x93, 0xc3, 0x93,
+ 0xdc, 0x93, 0x27, 0x94, 0x42, 0x94, 0x5d, 0x94,
+ 0x78, 0x94, 0xa6, 0x94, 0xda, 0x94, 0xfa, 0x94,
+ 0x13, 0x95, 0x00, 0x00, 0x01, 0x00, 0x00, 0xac,
+ 0x00, 0x2b, 0x00, 0xc3, 0x00, 0x30, 0x00, 0xbe,
+ 0x00, 0x00, 0x00, 0xbb, 0x00, 0x04, 0x01, 0x70,
+ 0x61, 0x74, 0x68, 0x00, 0x01, 0x02, 0xb0, 0x00,
+ 0xb6, 0x00, 0xdd, 0x00, 0xc7, 0x00, 0xc4, 0x00,
+ 0xc2, 0x00, 0xce, 0x00, 0xc7, 0x00, 0x03, 0x01,
+ 0x70, 0x61, 0x74, 0x68, 0x20, 0x74, 0x6f, 0x20,
+ 0x63, 0x61, 0x76, 0x65, 0x00, 0x01, 0x03, 0x50,
+ 0x00, 0x68, 0x00, 0x79, 0x00, 0xa9, 0x00, 0x64,
+ 0x00, 0xb0, 0x00, 0x64, 0x00, 0xb0, 0x00, 0x01,
+ 0x01, 0x64, 0x6f, 0x6f, 0x72, 0x00, 0x01, 0x04,
+ 0x00, 0x00, 0x82, 0x00, 0x3f, 0x00, 0xab, 0x00,
+ 0x30, 0x00, 0xbe, 0x00, 0x30, 0x00, 0xbe, 0x00,
+ 0x04, 0x01, 0x6c, 0x61, 0x75, 0x6e, 0x64, 0x72,
+ 0x79, 0x00, 0x54, 0x68, 0x65, 0x20, 0x61, 0x69,
+ 0x72, 0x20, 0x69, 0x73, 0x20, 0x74, 0x6f, 0x6f,
+ 0x20, 0x64, 0x61, 0x6d, 0x70, 0x20, 0x74, 0x6f,
+ 0x20, 0x64, 0x72, 0x79, 0x00, 0x74, 0x68, 0x69,
+ 0x73, 0x20, 0x77, 0x65, 0x74, 0x20, 0x6c, 0x61,
+ 0x75, 0x6e, 0x64, 0x72, 0x79, 0x2e, 0x2e, 0x2e,
+ 0x00, 0x00, 0x05, 0x8d, 0x00, 0x58, 0x00, 0xba,
+ 0x00, 0x90, 0x00, 0x9f, 0x00, 0xbd, 0x00, 0x9f,
+ 0x00, 0xbd, 0x00, 0x01, 0x01, 0x77, 0x69, 0x6e,
+ 0x64, 0x6f, 0x77, 0x00, 0x01, 0x06, 0xce, 0x00,
+ 0x58, 0x00, 0xfb, 0x00, 0x90, 0x00, 0x9f, 0x00,
+ 0xbd, 0x00, 0x9f, 0x00, 0xbd, 0x00, 0x02, 0x01,
+ 0x77, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x00, 0x01,
+ 0x07, 0x15, 0x01, 0x55, 0x00, 0x36, 0x01, 0x82,
+ 0x00, 0xc4, 0x00, 0xc2, 0x00, 0xc4, 0x00, 0xc2,
+ 0x00, 0x02, 0x01, 0x77, 0x69, 0x6e, 0x64, 0x6f,
+ 0x77, 0x00, 0x01, 0x08, 0x1a, 0x01, 0x9c, 0x00,
+ 0x38, 0x01, 0xab, 0x00, 0x29, 0x01, 0xb5, 0x00,
+ 0x29, 0x01, 0xb2, 0x00, 0x01, 0x00, 0x68, 0x6f,
+ 0x6c, 0x65, 0x00, 0x41, 0x20, 0x77, 0x61, 0x79,
+ 0x20, 0x74, 0x6f, 0x20, 0x74, 0x68, 0x65, 0x20,
+ 0x63, 0x65, 0x6c, 0x6c, 0x61, 0x72, 0x2e, 0x00,
+ 0x00, 0x09, 0x0b, 0x01, 0x83, 0x00, 0x3f, 0x01,
+ 0xb0, 0x00, 0xc4, 0x00, 0xc2, 0x00, 0xc4, 0x00,
+ 0xc2, 0x00, 0x02, 0x01, 0x76, 0x61, 0x6c, 0x76,
+ 0x65, 0x00, 0x49, 0x74, 0x27, 0x73, 0x20, 0x61,
+ 0x20, 0x68, 0x65, 0x61, 0x76, 0x79, 0x20, 0x6d,
+ 0x65, 0x74, 0x61, 0x6c, 0x20, 0x74, 0x68, 0x69,
+ 0x6e, 0x67, 0x2e, 0x00, 0x00, 0x0a, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc4, 0x00,
+ 0xc2, 0x00, 0xc4, 0x00, 0xc2, 0x00, 0x02, 0x01,
+ 0x64, 0x6f, 0x67, 0x00, 0x53, 0x6e, 0x6f, 0x6f,
+ 0x70, 0x79, 0x2e, 0x00, 0x00, 0x0b, 0x7c, 0x00,
+ 0x84, 0x00, 0x81, 0x00, 0x8e, 0x00, 0x64, 0x00,
+ 0xb0, 0x00, 0x64, 0x00, 0xb0, 0x00, 0x02, 0x01,
+ 0x62, 0x65, 0x6c, 0x6c, 0x00, 0x01, 0x0c, 0x00,
+ 0x00, 0x82, 0x00, 0x3f, 0x00, 0xa1, 0x00, 0x3f,
+ 0x00, 0xbb, 0x00, 0x3f, 0x00, 0xbb, 0x00, 0x01,
+ 0x01, 0x72, 0x6f, 0x70, 0x65, 0x00, 0x01, 0x48,
+ 0x95, 0x86, 0x95, 0xa3, 0x95, 0xd2, 0x95, 0xfe,
+ 0x95, 0x2e, 0x96, 0x48, 0x96, 0x88, 0x96, 0xae,
+ 0x96, 0x0f, 0x97, 0x36, 0x97, 0x4f, 0x97, 0x6e,
+ 0x97, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0xe6, 0x00, 0xac, 0x00,
+ 0xe6, 0x00, 0xac, 0x00, 0x03, 0x01, 0x6f, 0x6c,
+ 0x64, 0x20, 0x6d, 0x61, 0x6e, 0x00, 0x48, 0x65,
+ 0x20, 0x6c, 0x6f, 0x6f, 0x6b, 0x73, 0x20, 0x6c,
+ 0x69, 0x6b, 0x65, 0x20, 0x61, 0x20, 0x72, 0x65,
+ 0x74, 0x69, 0x72, 0x65, 0x64, 0x00, 0x73, 0x65,
+ 0x61, 0x20, 0x77, 0x6f, 0x6c, 0x66, 0x2e, 0x00,
+ 0x00, 0x02, 0x60, 0x00, 0x5e, 0x00, 0x7a, 0x00,
+ 0x7f, 0x00, 0x6d, 0x00, 0xa9, 0x00, 0x6d, 0x00,
+ 0xa9, 0x00, 0x01, 0x01, 0x63, 0x75, 0x70, 0x62,
+ 0x6f, 0x61, 0x72, 0x64, 0x00, 0x01, 0x03, 0x63,
+ 0x00, 0x83, 0x00, 0xb2, 0x00, 0x97, 0x00, 0xa3,
+ 0x00, 0xab, 0x00, 0xa3, 0x00, 0xab, 0x00, 0x01,
+ 0x01, 0x64, 0x72, 0x61, 0x77, 0x65, 0x72, 0x73,
+ 0x00, 0x42, 0x6f, 0x79, 0x21, 0x20, 0x4c, 0x6f,
+ 0x74, 0x73, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68,
+ 0x65, 0x6d, 0x21, 0x00, 0x00, 0x04, 0x00, 0x00,
+ 0xb7, 0x00, 0x8e, 0x00, 0xc7, 0x00, 0x63, 0x00,
+ 0xb4, 0x00, 0x63, 0x00, 0xb4, 0x00, 0x03, 0x01,
+ 0x62, 0x65, 0x64, 0x00, 0x48, 0x6f, 0x6d, 0x65,
+ 0x2c, 0x20, 0x73, 0x77, 0x65, 0x65, 0x74, 0x20,
+ 0x68, 0x6f, 0x6d, 0x65, 0x2e, 0x2e, 0x2e, 0x00,
+ 0x00, 0x05, 0x13, 0x01, 0x51, 0x00, 0x28, 0x01,
+ 0x92, 0x00, 0xf4, 0x00, 0xac, 0x00, 0xf4, 0x00,
+ 0xac, 0x00, 0x02, 0x01, 0x77, 0x69, 0x6e, 0x64,
+ 0x6f, 0x77, 0x00, 0x41, 0x20, 0x76, 0x69, 0x65,
+ 0x77, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65,
+ 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x2e, 0x00,
+ 0x00, 0x06, 0xc8, 0x00, 0x87, 0x00, 0xf4, 0x00,
+ 0x9b, 0x00, 0xd2, 0x00, 0xac, 0x00, 0xd2, 0x00,
+ 0xac, 0x00, 0x01, 0x01, 0x74, 0x61, 0x62, 0x6c,
+ 0x65, 0x00, 0x01, 0x07, 0xc0, 0x00, 0x68, 0x00,
+ 0xec, 0x00, 0x7f, 0x00, 0xd2, 0x00, 0xac, 0x00,
+ 0xd2, 0x00, 0xac, 0x00, 0x01, 0x01, 0x73, 0x68,
+ 0x6f, 0x74, 0x67, 0x75, 0x6e, 0x00, 0x47, 0x65,
+ 0x65, 0x2c, 0x20, 0x69, 0x74, 0x20, 0x6d, 0x75,
+ 0x73, 0x74, 0x20, 0x62, 0x65, 0x20, 0x66, 0x6f,
+ 0x72, 0x00, 0x64, 0x69, 0x6e, 0x6f, 0x73, 0x61,
+ 0x75, 0x72, 0x75, 0x73, 0x65, 0x73, 0x21, 0x2e,
+ 0x2e, 0x00, 0x00, 0x08, 0xbd, 0x00, 0x38, 0x00,
+ 0xe6, 0x00, 0x65, 0x00, 0xd2, 0x00, 0xac, 0x00,
+ 0xd2, 0x00, 0xac, 0x00, 0x01, 0x01, 0x70, 0x69,
+ 0x63, 0x74, 0x75, 0x72, 0x65, 0x00, 0x43, 0x68,
+ 0x61, 0x72, 0x6d, 0x69, 0x6e, 0x67, 0x2e, 0x00,
+ 0x00, 0x09, 0x87, 0x00, 0x47, 0x00, 0xb8, 0x00,
+ 0x6a, 0x00, 0x96, 0x00, 0xac, 0x00, 0x96, 0x00,
+ 0xac, 0x00, 0x01, 0x01, 0x66, 0x61, 0x6d, 0x69,
+ 0x6c, 0x79, 0x20, 0x70, 0x69, 0x63, 0x74, 0x75,
+ 0x72, 0x65, 0x73, 0x00, 0x49, 0x20, 0x77, 0x6f,
+ 0x75, 0x6c, 0x64, 0x6e, 0x27, 0x74, 0x20, 0x6c,
+ 0x69, 0x6b, 0x65, 0x20, 0x68, 0x61, 0x76, 0x69,
+ 0x6e, 0x67, 0x20, 0x6d, 0x79, 0x20, 0x61, 0x6e,
+ 0x63, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x73, 0x20,
+ 0x68, 0x61, 0x6e, 0x67, 0x69, 0x6e, 0x67, 0x00,
+ 0x6c, 0x69, 0x6b, 0x65, 0x20, 0x74, 0x72, 0x6f,
+ 0x70, 0x68, 0x69, 0x65, 0x73, 0x2e, 0x2e, 0x2e,
+ 0x00, 0x00, 0x0a, 0x37, 0x00, 0x56, 0x00, 0x57,
+ 0x00, 0x89, 0x00, 0x46, 0x00, 0xac, 0x00, 0x46,
+ 0x00, 0xac, 0x00, 0x01, 0x01, 0x66, 0x6c, 0x6f,
+ 0x77, 0x65, 0x72, 0x00, 0x49, 0x74, 0x27, 0x73,
+ 0x20, 0x67, 0x72, 0x65, 0x65, 0x6e, 0x2e, 0x00,
+ 0x00, 0x0b, 0x0d, 0x00, 0x60, 0x00, 0x2c, 0x00,
+ 0xac, 0x00, 0x3d, 0x00, 0xaf, 0x00, 0x3d, 0x00,
+ 0xaf, 0x00, 0x04, 0x01, 0x64, 0x6f, 0x6f, 0x72,
+ 0x00, 0x01, 0x0c, 0x94, 0x00, 0x04, 0x00, 0xb6,
+ 0x00, 0x37, 0x00, 0xa3, 0x00, 0xab, 0x00, 0xa3,
+ 0x00, 0xab, 0x00, 0x01, 0x01, 0x63, 0x68, 0x61,
+ 0x6e, 0x64, 0x65, 0x6c, 0x69, 0x65, 0x72, 0x00,
+ 0x01, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0xb7, 0x00, 0xaa, 0x00, 0xb7, 0x00,
+ 0xaa, 0x00, 0x01, 0x01, 0x66, 0x61, 0x6e, 0x00,
+ 0x49, 0x74, 0x27, 0x73, 0x20, 0x62, 0x61, 0x74,
+ 0x74, 0x65, 0x72, 0x79, 0x20, 0x70, 0x6f, 0x77,
+ 0x65, 0x72, 0x65, 0x64, 0x2e, 0x00, 0x00, 0xbe,
+ 0x97, 0xfb, 0x97, 0x26, 0x98, 0x42, 0x98, 0x5d,
+ 0x98, 0x78, 0x98, 0x97, 0x98, 0xcb, 0x98, 0xe1,
+ 0x98, 0x23, 0x99, 0x51, 0x99, 0x97, 0x99, 0xdb,
+ 0x99, 0x3f, 0x9a, 0x7d, 0x9a, 0xe2, 0x9a, 0x00,
+ 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x5d, 0x00, 0xba, 0x00, 0x5d, 0x00,
+ 0xba, 0x00, 0x04, 0x01, 0x6f, 0x6c, 0x64, 0x20,
+ 0x6c, 0x61, 0x64, 0x79, 0x00, 0x53, 0x68, 0x65,
+ 0x20, 0x6b, 0x6e, 0x69, 0x74, 0x73, 0x20, 0x69,
+ 0x6e, 0x20, 0x74, 0x68, 0x65, 0x20, 0x6e, 0x61,
+ 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x20, 0x74,
+ 0x65, 0x61, 0x6d, 0x2e, 0x00, 0x00, 0x02, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00,
+ 0x01, 0x67, 0x69, 0x72, 0x6c, 0x00, 0x53, 0x68,
+ 0x65, 0x27, 0x73, 0x20, 0x63, 0x6f, 0x6f, 0x6c,
+ 0x2e, 0x00, 0x00, 0x41, 0x6e, 0x6e, 0x65, 0x00,
+ 0xff, 0x03, 0x00, 0x00, 0xbc, 0x00, 0x6b, 0x00,
+ 0xc7, 0x00, 0x5e, 0x00, 0xbe, 0x00, 0x4c, 0x00,
+ 0xc7, 0x00, 0x03, 0x01, 0x77, 0x61, 0x79, 0x20,
+ 0x6f, 0x75, 0x74, 0x00, 0x01, 0x04, 0x02, 0x00,
+ 0x48, 0x00, 0x30, 0x00, 0x84, 0x00, 0x5d, 0x00,
+ 0xba, 0x00, 0x5d, 0x00, 0xba, 0x00, 0x01, 0x01,
+ 0x77, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x00, 0x01,
+ 0x05, 0x84, 0x00, 0x48, 0x00, 0xb0, 0x00, 0x84,
+ 0x00, 0x9b, 0x00, 0xac, 0x00, 0x9b, 0x00, 0xac,
+ 0x00, 0x01, 0x01, 0x77, 0x69, 0x6e, 0x64, 0x6f,
+ 0x77, 0x00, 0x01, 0x06, 0x4b, 0x00, 0x0a, 0x00,
+ 0x78, 0x00, 0x38, 0x00, 0x5d, 0x00, 0xba, 0x00,
+ 0x5d, 0x00, 0xba, 0x00, 0x01, 0x01, 0x63, 0x68,
+ 0x61, 0x6e, 0x64, 0x65, 0x6c, 0x69, 0x65, 0x72,
+ 0x00, 0x01, 0x07, 0x4d, 0x00, 0x61, 0x00, 0x6f,
+ 0x00, 0xa5, 0x00, 0x5d, 0x00, 0xab, 0x00, 0x5d,
+ 0x00, 0xab, 0x00, 0x01, 0x01, 0x63, 0x6c, 0x6f,
+ 0x63, 0x6b, 0x00, 0x52, 0x65, 0x61, 0x6c, 0x6c,
+ 0x79, 0x20, 0x67, 0x72, 0x65, 0x61, 0x74, 0x20,
+ 0x6d, 0x61, 0x73, 0x74, 0x65, 0x72, 0x70, 0x69,
+ 0x65, 0x63, 0x65, 0x2e, 0x00, 0x00, 0x08, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x09, 0x86, 0x00, 0x9f,
+ 0x00, 0x97, 0x00, 0xad, 0x00, 0x9e, 0x00, 0xc6,
+ 0x00, 0x9e, 0x00, 0xc6, 0x00, 0x03, 0x01, 0x69,
+ 0x6d, 0x69, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e,
+ 0x20, 0x66, 0x72, 0x75, 0x69, 0x74, 0x73, 0x00,
+ 0x54, 0x68, 0x65, 0x20, 0x61, 0x70, 0x70, 0x6c,
+ 0x65, 0x20, 0x6c, 0x6f, 0x6f, 0x6b, 0x73, 0x20,
+ 0x61, 0x6c, 0x6d, 0x6f, 0x73, 0x74, 0x00, 0x72,
+ 0x65, 0x61, 0x6c, 0x21, 0x00, 0x00, 0x0a, 0xac,
+ 0x00, 0x9f, 0x00, 0xb6, 0x00, 0xae, 0x00, 0x9e,
+ 0x00, 0xc6, 0x00, 0x9e, 0x00, 0xc6, 0x00, 0x03,
+ 0x01, 0x6a, 0x75, 0x67, 0x00, 0x49, 0x74, 0x20,
+ 0x68, 0x6f, 0x6c, 0x64, 0x73, 0x20, 0x74, 0x68,
+ 0x65, 0x20, 0x66, 0x6c, 0x6f, 0x77, 0x65, 0x72,
+ 0x73, 0x2e, 0x00, 0x00, 0x0b, 0xa1, 0x00, 0x89,
+ 0x00, 0xc2, 0x00, 0x9e, 0x00, 0x9e, 0x00, 0xc6,
+ 0x00, 0x9e, 0x00, 0xc6, 0x00, 0x03, 0x01, 0x66,
+ 0x6c, 0x6f, 0x77, 0x65, 0x72, 0x73, 0x00, 0x49,
+ 0x20, 0x68, 0x6f, 0x70, 0x65, 0x20, 0x74, 0x68,
+ 0x65, 0x73, 0x65, 0x20, 0x61, 0x72, 0x65, 0x20,
+ 0x6e, 0x6f, 0x74, 0x20, 0x66, 0x72, 0x6f, 0x6d,
+ 0x20, 0x73, 0x6f, 0x6d, 0x65, 0x00, 0x61, 0x64,
+ 0x6d, 0x69, 0x72, 0x65, 0x72, 0x2e, 0x2e, 0x2e,
+ 0x00, 0x00, 0x0c, 0x3c, 0x00, 0xa1, 0x00, 0x4c,
+ 0x00, 0xa8, 0x00, 0x5d, 0x00, 0xba, 0x00, 0x4e,
+ 0x00, 0xbc, 0x00, 0x04, 0x01, 0x66, 0x65, 0x61,
+ 0x74, 0x68, 0x65, 0x72, 0x20, 0x64, 0x75, 0x73,
+ 0x74, 0x65, 0x72, 0x00, 0x49, 0x74, 0x20, 0x6d,
+ 0x75, 0x73, 0x74, 0x20, 0x62, 0x65, 0x20, 0x66,
+ 0x6f, 0x72, 0x20, 0x74, 0x68, 0x65, 0x20, 0x64,
+ 0x75, 0x73, 0x74, 0x20, 0x70, 0x72, 0x6f, 0x62,
+ 0x6c, 0x65, 0x6d, 0x2e, 0x00, 0x00, 0x0d, 0x7d,
+ 0x00, 0xa7, 0x00, 0xc2, 0x00, 0xc7, 0x00, 0x9e,
+ 0x00, 0xc6, 0x00, 0x9e, 0x00, 0xc6, 0x00, 0x03,
+ 0x01, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x00, 0x49,
+ 0x74, 0x27, 0x73, 0x20, 0x72, 0x6f, 0x75, 0x6e,
+ 0x64, 0x2c, 0x20, 0x62, 0x75, 0x74, 0x20, 0x49,
+ 0x20, 0x64, 0x6f, 0x75, 0x62, 0x74, 0x20, 0x69,
+ 0x74, 0x20, 0x68, 0x61, 0x73, 0x20, 0x61, 0x6e,
+ 0x79, 0x74, 0x68, 0x69, 0x6e, 0x67, 0x20, 0x74,
+ 0x6f, 0x20, 0x64, 0x6f, 0x00, 0x77, 0x69, 0x74,
+ 0x68, 0x20, 0x74, 0x68, 0x65, 0x20, 0x6d, 0x65,
+ 0x64, 0x69, 0x65, 0x76, 0x61, 0x6c, 0x20, 0x6c,
+ 0x65, 0x67, 0x65, 0x6e, 0x64, 0x2e, 0x2e, 0x2e,
+ 0x00, 0x00, 0x0e, 0xf1, 0x00, 0x60, 0x00, 0x1a,
+ 0x01, 0x94, 0x00, 0x02, 0x01, 0xb8, 0x00, 0x02,
+ 0x01, 0xb8, 0x00, 0x01, 0x01, 0x6d, 0x69, 0x72,
+ 0x72, 0x6f, 0x72, 0x00, 0x49, 0x20, 0x63, 0x61,
+ 0x6e, 0x20, 0x73, 0x65, 0x65, 0x20, 0x74, 0x68,
+ 0x65, 0x20, 0x67, 0x69, 0x72, 0x6c, 0x27, 0x73,
+ 0x00, 0x66, 0x61, 0x63, 0x65, 0x20, 0x69, 0x6e,
+ 0x20, 0x69, 0x74, 0x2e, 0x2e, 0x2e, 0x00, 0x00,
+ 0x0f, 0x1d, 0x01, 0x3e, 0x00, 0x3f, 0x01, 0x68,
+ 0x00, 0x02, 0x01, 0xb8, 0x00, 0x02, 0x01, 0xb8,
+ 0x00, 0x02, 0x01, 0x70, 0x69, 0x63, 0x74, 0x75,
+ 0x72, 0x65, 0x00, 0x49, 0x74, 0x27, 0x73, 0x20,
+ 0x6e, 0x69, 0x63, 0x65, 0x20, 0x74, 0x6f, 0x20,
+ 0x6c, 0x69, 0x76, 0x65, 0x20, 0x69, 0x6e, 0x20,
+ 0x61, 0x20, 0x76, 0x69, 0x6c, 0x6c, 0x61, 0x67,
+ 0x65, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x68, 0x61,
+ 0x76, 0x65, 0x20, 0x76, 0x69, 0x6c, 0x6c, 0x61,
+ 0x67, 0x65, 0x00, 0x6c, 0x61, 0x6e, 0x64, 0x73,
+ 0x63, 0x61, 0x70, 0x65, 0x73, 0x20, 0x6f, 0x6e,
+ 0x20, 0x74, 0x68, 0x65, 0x20, 0x77, 0x61, 0x6c,
+ 0x6c, 0x73, 0x2e, 0x00, 0x00, 0x10, 0x18, 0x01,
+ 0xa1, 0x00, 0x3f, 0x01, 0xc7, 0x00, 0xf5, 0x00,
+ 0xc6, 0x00, 0xf5, 0x00, 0xc6, 0x00, 0x02, 0x01,
+ 0x70, 0x6c, 0x61, 0x6e, 0x74, 0x00, 0x49, 0x6d,
+ 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x76, 0x65,
+ 0x2e, 0x00, 0x00, 0x1c, 0x9b, 0x3f, 0x9b, 0x77,
+ 0x9b, 0x9b, 0x9b, 0xd1, 0x9b, 0x2d, 0x9c, 0x47,
+ 0x9c, 0xa4, 0x9c, 0xf4, 0x9c, 0x00, 0x00, 0x01,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x5e, 0x00, 0xaa, 0x00, 0x5e, 0x00, 0xaa, 0x00,
+ 0x04, 0x01, 0x73, 0x70, 0x69, 0x64, 0x65, 0x72,
+ 0x00, 0x49, 0x74, 0x27, 0x73, 0x2e, 0x2e, 0x2e,
+ 0x00, 0x00, 0x02, 0x38, 0x00, 0x86, 0x00, 0x4e,
+ 0x00, 0xa9, 0x00, 0x5e, 0x00, 0xaa, 0x00, 0x4e,
+ 0x00, 0xaa, 0x00, 0x04, 0x01, 0x73, 0x68, 0x6f,
+ 0x76, 0x65, 0x6c, 0x00, 0x49, 0x20, 0x63, 0x6f,
+ 0x75, 0x6c, 0x64, 0x20, 0x70, 0x6c, 0x61, 0x79,
+ 0x20, 0x64, 0x69, 0x67, 0x67, 0x65, 0x72, 0x20,
+ 0x77, 0x69, 0x74, 0x68, 0x20, 0x69, 0x74, 0x2e,
+ 0x00, 0x00, 0x03, 0xd5, 0x00, 0x15, 0x00, 0xf8,
+ 0x00, 0xa5, 0x00, 0xe6, 0x00, 0xaa, 0x00, 0xe6,
+ 0x00, 0xaa, 0x00, 0x01, 0x01, 0x6c, 0x61, 0x64,
+ 0x64, 0x65, 0x72, 0x00, 0x57, 0x61, 0x79, 0x20,
+ 0x6f, 0x75, 0x74, 0x2e, 0x00, 0x00, 0x04, 0xf7,
+ 0x00, 0x70, 0x00, 0xfe, 0x00, 0x7a, 0x00, 0x05,
+ 0x01, 0xa8, 0x00, 0x05, 0x01, 0xa8, 0x00, 0x01,
+ 0x00, 0x73, 0x77, 0x69, 0x74, 0x63, 0x68, 0x00,
+ 0x49, 0x74, 0x27, 0x73, 0x20, 0x6c, 0x69, 0x74,
+ 0x74, 0x6c, 0x65, 0x2c, 0x20, 0x62, 0x75, 0x74,
+ 0x20, 0x70, 0x6f, 0x77, 0x65, 0x72, 0x66, 0x75,
+ 0x6c, 0x2e, 0x00, 0x00, 0x05, 0x05, 0x00, 0x5a,
+ 0x00, 0x1e, 0x00, 0x77, 0x00, 0x53, 0x00, 0xb4,
+ 0x00, 0x53, 0x00, 0xb4, 0x00, 0x04, 0x01, 0x61,
+ 0x78, 0x65, 0x00, 0x49, 0x20, 0x68, 0x6f, 0x70,
+ 0x65, 0x20, 0x74, 0x68, 0x65, 0x73, 0x65, 0x20,
+ 0x73, 0x74, 0x61, 0x69, 0x6e, 0x73, 0x20, 0x6f,
+ 0x6e, 0x20, 0x74, 0x68, 0x65, 0x20, 0x77, 0x61,
+ 0x6c, 0x6c, 0x20, 0x68, 0x61, 0x76, 0x65, 0x00,
+ 0x6e, 0x6f, 0x74, 0x68, 0x69, 0x6e, 0x67, 0x20,
+ 0x74, 0x6f, 0x20, 0x64, 0x6f, 0x20, 0x77, 0x69,
+ 0x74, 0x68, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20,
+ 0x61, 0x78, 0x65, 0x2e, 0x2e, 0x2e, 0x00, 0x00,
+ 0x06, 0x1c, 0x01, 0x38, 0x00, 0x28, 0x01, 0x62,
+ 0x00, 0xf5, 0x00, 0xb2, 0x00, 0xf5, 0x00, 0xb2,
+ 0x00, 0x02, 0x01, 0x63, 0x68, 0x61, 0x69, 0x6e,
+ 0x00, 0x01, 0x07, 0x2e, 0x01, 0x50, 0x00, 0x36,
+ 0x01, 0x62, 0x00, 0xf5, 0x00, 0xb2, 0x00, 0xf5,
+ 0x00, 0xb2, 0x00, 0x02, 0x01, 0x74, 0x6f, 0x6e,
+ 0x67, 0x73, 0x00, 0x47, 0x65, 0x65, 0x2c, 0x20,
+ 0x74, 0x68, 0x69, 0x73, 0x20, 0x70, 0x6c, 0x61,
+ 0x63, 0x65, 0x20, 0x6c, 0x6f, 0x6f, 0x6b, 0x73,
+ 0x20, 0x6d, 0x6f, 0x72, 0x65, 0x20, 0x6c, 0x69,
+ 0x6b, 0x65, 0x20, 0x61, 0x00, 0x74, 0x6f, 0x72,
+ 0x74, 0x75, 0x72, 0x65, 0x20, 0x63, 0x68, 0x61,
+ 0x6d, 0x62, 0x65, 0x72, 0x20, 0x74, 0x68, 0x61,
+ 0x6e, 0x20, 0x61, 0x20, 0x63, 0x65, 0x6c, 0x6c,
+ 0x61, 0x72, 0x2e, 0x2e, 0x2e, 0x00, 0x00, 0x08,
+ 0x6b, 0x00, 0x59, 0x00, 0xcc, 0x00, 0xa9, 0x00,
+ 0x99, 0x00, 0xb0, 0x00, 0x99, 0x00, 0xb0, 0x00,
+ 0x01, 0x01, 0x73, 0x68, 0x65, 0x6c, 0x76, 0x65,
+ 0x73, 0x00, 0x4c, 0x6f, 0x74, 0x73, 0x20, 0x6f,
+ 0x66, 0x20, 0x6a, 0x61, 0x72, 0x73, 0x20, 0x61,
+ 0x6e, 0x64, 0x20, 0x73, 0x74, 0x75, 0x66, 0x66,
+ 0x2e, 0x20, 0x4e, 0x6f, 0x74, 0x68, 0x69, 0x6e,
+ 0x67, 0x00, 0x72, 0x65, 0x61, 0x6c, 0x6c, 0x79,
+ 0x20, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x65, 0x73,
+ 0x74, 0x69, 0x6e, 0x67, 0x2e, 0x00, 0x00, 0x09,
+ 0x17, 0x01, 0x8c, 0x00, 0x3f, 0x01, 0xc2, 0x00,
+ 0xf5, 0x00, 0xb2, 0x00, 0xf5, 0x00, 0xb2, 0x00,
+ 0x02, 0x01, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69,
+ 0x6e, 0x65, 0x72, 0x73, 0x00, 0x54, 0x68, 0x65,
+ 0x79, 0x27, 0x72, 0x65, 0x20, 0x65, 0x6d, 0x70,
+ 0x74, 0x79, 0x2e, 0x00, 0x00, 0x32, 0x9d, 0x90,
+ 0x9d, 0x07, 0x9e, 0x29, 0x9e, 0x42, 0x9e, 0x9e,
+ 0x9e, 0xcf, 0x9e, 0x00, 0x00, 0x01, 0xe1, 0x00,
+ 0x8b, 0x00, 0xf6, 0x00, 0x91, 0x00, 0x0c, 0x01,
+ 0x91, 0x00, 0x0c, 0x01, 0x91, 0x00, 0x04, 0x00,
+ 0x62, 0x6f, 0x6e, 0x65, 0x00, 0x44, 0x75, 0x65,
+ 0x20, 0x74, 0x6f, 0x20, 0x74, 0x68, 0x65, 0x20,
+ 0x61, 0x67, 0x65, 0x20, 0x6f, 0x66, 0x20, 0x74,
+ 0x68, 0x65, 0x20, 0x72, 0x6f, 0x63, 0x6b, 0x20,
+ 0x49, 0x20, 0x74, 0x68, 0x69, 0x6e, 0x6b, 0x00,
+ 0x69, 0x74, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20,
+ 0x62, 0x65, 0x20, 0x73, 0x6f, 0x6d, 0x65, 0x20,
+ 0x64, 0x69, 0x6e, 0x6f, 0x73, 0x61, 0x75, 0x72,
+ 0x20, 0x62, 0x6f, 0x6e, 0x65, 0x2e, 0x2e, 0x2e,
+ 0x2e, 0x00, 0x00, 0x02, 0x90, 0x00, 0x49, 0x00,
+ 0xcb, 0x00, 0x9e, 0x00, 0xea, 0x00, 0x98, 0x00,
+ 0xea, 0x00, 0x98, 0x00, 0x04, 0x01, 0x62, 0x75,
+ 0x73, 0x68, 0x00, 0x49, 0x74, 0x20, 0x62, 0x6c,
+ 0x6f, 0x63, 0x6b, 0x73, 0x20, 0x74, 0x68, 0x65,
+ 0x20, 0x77, 0x61, 0x79, 0x20, 0x74, 0x6f, 0x20,
+ 0x74, 0x68, 0x65, 0x20, 0x63, 0x61, 0x76, 0x65,
+ 0x2e, 0x00, 0x4d, 0x61, 0x79, 0x62, 0x65, 0x20,
+ 0x73, 0x6f, 0x6d, 0x65, 0x6f, 0x6e, 0x65, 0x20,
+ 0x70, 0x6c, 0x61, 0x6e, 0x74, 0x65, 0x64, 0x20,
+ 0x69, 0x74, 0x20, 0x68, 0x65, 0x72, 0x65, 0x20,
+ 0x74, 0x6f, 0x00, 0x6b, 0x65, 0x65, 0x70, 0x20,
+ 0x74, 0x68, 0x65, 0x20, 0x63, 0x61, 0x76, 0x65,
+ 0x20, 0x73, 0x65, 0x63, 0x72, 0x65, 0x74, 0x73,
+ 0x20, 0x73, 0x61, 0x66, 0x65, 0x2e, 0x2e, 0x2e,
+ 0x00, 0x00, 0x03, 0x79, 0x00, 0x34, 0x00, 0xae,
+ 0x00, 0x9e, 0x00, 0xea, 0x00, 0x98, 0x00, 0xea,
+ 0x00, 0x98, 0x00, 0x04, 0x01, 0x63, 0x61, 0x76,
+ 0x65, 0x20, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6e,
+ 0x63, 0x65, 0x00, 0x01, 0x04, 0x15, 0x01, 0x7a,
+ 0x00, 0x3f, 0x01, 0xa9, 0x00, 0x14, 0x01, 0x93,
+ 0x00, 0x3f, 0x01, 0x93, 0x00, 0x02, 0x01, 0x70,
+ 0x61, 0x74, 0x68, 0x00, 0x01, 0x05, 0xdd, 0x00,
+ 0x7a, 0x00, 0xfe, 0x00, 0x94, 0x00, 0xed, 0x00,
+ 0x98, 0x00, 0xed, 0x00, 0x98, 0x00, 0x01, 0x01,
+ 0x72, 0x6f, 0x63, 0x6b, 0x00, 0x49, 0x74, 0x20,
+ 0x6d, 0x75, 0x73, 0x74, 0x20, 0x68, 0x61, 0x76,
+ 0x65, 0x20, 0x66, 0x61, 0x6c, 0x6c, 0x65, 0x6e,
+ 0x20, 0x68, 0x65, 0x72, 0x65, 0x20, 0x61, 0x67,
+ 0x65, 0x73, 0x20, 0x61, 0x67, 0x6f, 0x2e, 0x00,
+ 0x49, 0x20, 0x77, 0x6f, 0x6e, 0x64, 0x65, 0x72,
+ 0x20, 0x69, 0x66, 0x20, 0x61, 0x6e, 0x79, 0x62,
+ 0x6f, 0x64, 0x79, 0x20, 0x67, 0x6f, 0x74, 0x20,
+ 0x68, 0x75, 0x72, 0x74, 0x2e, 0x2e, 0x2e, 0x00,
+ 0x00, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0xed, 0x00, 0x98, 0x00, 0xed, 0x00,
+ 0x98, 0x00, 0x01, 0x01, 0x62, 0x75, 0x74, 0x74,
+ 0x65, 0x72, 0x66, 0x6c, 0x79, 0x00, 0x49, 0x73,
+ 0x6e, 0x27, 0x74, 0x20, 0x74, 0x68, 0x61, 0x74,
+ 0x20, 0x6c, 0x6f, 0x76, 0x65, 0x6c, 0x79, 0x3f,
+ 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xed, 0x00, 0x98, 0x00, 0xed,
+ 0x00, 0x98, 0x00, 0x01, 0x01, 0x62, 0x75, 0x74,
+ 0x74, 0x65, 0x72, 0x66, 0x6c, 0x79, 0x00, 0x49,
+ 0x73, 0x6e, 0x27, 0x74, 0x20, 0x74, 0x68, 0x61,
+ 0x74, 0x20, 0x6c, 0x6f, 0x76, 0x65, 0x6c, 0x79,
+ 0x3f, 0x00, 0x00, 0x0e, 0x9f, 0x29, 0x9f, 0x4e,
+ 0x9f, 0x6a, 0x9f, 0xbd, 0x9f, 0xea, 0x9f, 0x00,
+ 0x00, 0x01, 0x03, 0x01, 0xa4, 0x00, 0x1d, 0x01,
+ 0xb6, 0x00, 0xf8, 0x00, 0xa9, 0x00, 0xf8, 0x00,
+ 0xa9, 0x00, 0x03, 0x01, 0x6c, 0x69, 0x7a, 0x61,
+ 0x72, 0x64, 0x00, 0x01, 0x02, 0x3f, 0x00, 0x8a,
+ 0x00, 0x5c, 0x00, 0xbc, 0x00, 0x6e, 0x00, 0xaa,
+ 0x00, 0x6e, 0x00, 0xaa, 0x00, 0x03, 0x00, 0x3f,
+ 0x3f, 0x3f, 0x00, 0x57, 0x68, 0x61, 0x74, 0x20,
+ 0x49, 0x53, 0x20, 0x49, 0x54, 0x3f, 0x21, 0x00,
+ 0x00, 0x03, 0x11, 0x01, 0x70, 0x00, 0x3f, 0x01,
+ 0xc7, 0x00, 0xf8, 0x00, 0xa9, 0x00, 0x3f, 0x01,
+ 0xa9, 0x00, 0x02, 0x01, 0x77, 0x61, 0x79, 0x20,
+ 0x6f, 0x75, 0x74, 0x00, 0x01, 0x04, 0x97, 0x00,
+ 0x54, 0x00, 0xad, 0x00, 0x5d, 0x00, 0x9f, 0x00,
+ 0xaa, 0x00, 0x9f, 0x00, 0xaa, 0x00, 0x01, 0x01,
+ 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x00,
+ 0x54, 0x68, 0x69, 0x73, 0x20, 0x69, 0x6e, 0x73,
+ 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e,
+ 0x20, 0x69, 0x73, 0x20, 0x76, 0x65, 0x72, 0x79,
+ 0x20, 0x6f, 0x6c, 0x64, 0x2c, 0x20, 0x62, 0x75,
+ 0x74, 0x20, 0x49, 0x20, 0x63, 0x61, 0x6e, 0x20,
+ 0x73, 0x74, 0x69, 0x6c, 0x6c, 0x00, 0x72, 0x65,
+ 0x61, 0x64, 0x20, 0x69, 0x74, 0x2e, 0x00, 0x00,
+ 0x05, 0x9a, 0x00, 0x5e, 0x00, 0xa6, 0x00, 0x67,
+ 0x00, 0x9f, 0x00, 0xaa, 0x00, 0x9f, 0x00, 0xaa,
+ 0x00, 0x01, 0x01, 0x68, 0x6f, 0x6c, 0x65, 0x00,
+ 0x49, 0x74, 0x20, 0x6c, 0x6f, 0x6f, 0x6b, 0x73,
+ 0x20, 0x76, 0x65, 0x72, 0x79, 0x20, 0x64, 0x65,
+ 0x65, 0x70, 0x2e, 0x00, 0x00, 0x06, 0xf9, 0x00,
+ 0x9d, 0x00, 0xff, 0x00, 0xa3, 0x00, 0xee, 0x00,
+ 0xa8, 0x00, 0xee, 0x00, 0xa8, 0x00, 0x02, 0x00,
+ 0x6e, 0x75, 0x67, 0x67, 0x65, 0x74, 0x00, 0x50,
+ 0x75, 0x72, 0x65, 0x20, 0x67, 0x6f, 0x6c, 0x64,
+ 0x21, 0x00, 0x00, 0x32, 0xa0, 0x5e, 0xa0, 0x8d,
+ 0xa0, 0xb9, 0xa0, 0xe6, 0xa0, 0x1c, 0xa1, 0x51,
+ 0xa1, 0xb1, 0xa1, 0xe3, 0xa1, 0x07, 0xa2, 0x64,
+ 0xa2, 0xad, 0xa2, 0xe6, 0xa2, 0x21, 0xa3, 0x5f,
+ 0xa3, 0x7d, 0xa3, 0x00, 0x00, 0x01, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x96, 0x00,
+ 0xc3, 0x00, 0x96, 0x00, 0xc3, 0x00, 0x02, 0x01,
+ 0x68, 0x65, 0x6e, 0x00, 0x41, 0x20, 0x6c, 0x69,
+ 0x74, 0x74, 0x6c, 0x65, 0x20, 0x73, 0x74, 0x72,
+ 0x61, 0x6e, 0x67, 0x65, 0x2e, 0x2e, 0x2e, 0x00,
+ 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0xe0, 0x00, 0x87, 0x00, 0xe0, 0x00,
+ 0x87, 0x00, 0x01, 0x01, 0x63, 0x72, 0x6f, 0x77,
+ 0x00, 0x45, 0x78, 0x74, 0x72, 0x65, 0x6d, 0x65,
+ 0x6c, 0x79, 0x20, 0x75, 0x6e, 0x66, 0x72, 0x69,
+ 0x65, 0x6e, 0x64, 0x6c, 0x79, 0x2e, 0x00, 0x00,
+ 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0xe0, 0x00, 0x87, 0x00, 0xe0, 0x00, 0x87,
+ 0x00, 0x01, 0x01, 0x63, 0x72, 0x6f, 0x77, 0x00,
+ 0x4c, 0x6f, 0x6f, 0x6b, 0x73, 0x20, 0x64, 0x61,
+ 0x6e, 0x67, 0x65, 0x72, 0x6f, 0x75, 0x73, 0x2e,
+ 0x2e, 0x2e, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0xec, 0x00, 0x8e,
+ 0x00, 0xec, 0x00, 0x8e, 0x00, 0x04, 0x01, 0x6d,
+ 0x6f, 0x75, 0x73, 0x65, 0x00, 0x49, 0x74, 0x27,
+ 0x73, 0x20, 0x76, 0x65, 0x72, 0x79, 0x20, 0x6e,
+ 0x65, 0x72, 0x76, 0x6f, 0x75, 0x73, 0x2e, 0x00,
+ 0x00, 0x05, 0xdb, 0x00, 0x41, 0x00, 0xe9, 0x00,
+ 0x47, 0x00, 0xe0, 0x00, 0x87, 0x00, 0xe0, 0x00,
+ 0x87, 0x00, 0x01, 0x01, 0x64, 0x69, 0x76, 0x65,
+ 0x20, 0x6d, 0x61, 0x73, 0x6b, 0x00, 0x59, 0x65,
+ 0x61, 0x68, 0x2c, 0x20, 0x69, 0x74, 0x20, 0x61,
+ 0x6d, 0x61, 0x7a, 0x65, 0x73, 0x20, 0x6d, 0x65,
+ 0x20, 0x74, 0x6f, 0x6f, 0x2e, 0x00, 0x00, 0x06,
+ 0xc9, 0x00, 0x72, 0x00, 0xf1, 0x00, 0x80, 0x00,
+ 0xe0, 0x00, 0x87, 0x00, 0xde, 0x00, 0x8f, 0x00,
+ 0x01, 0x01, 0x66, 0x69, 0x6e, 0x73, 0x00, 0x54,
+ 0x68, 0x65, 0x79, 0x20, 0x77, 0x69, 0x6c, 0x6c,
+ 0x20, 0x66, 0x69, 0x74, 0x20, 0x6d, 0x65, 0x20,
+ 0x70, 0x65, 0x72, 0x66, 0x65, 0x63, 0x74, 0x6c,
+ 0x79, 0x2e, 0x00, 0x00, 0x07, 0xc8, 0x00, 0x3a,
+ 0x00, 0xf5, 0x00, 0x80, 0x00, 0xe0, 0x00, 0x87,
+ 0x00, 0xe0, 0x00, 0x87, 0x00, 0x01, 0x01, 0x73,
+ 0x63, 0x61, 0x72, 0x65, 0x63, 0x72, 0x6f, 0x77,
+ 0x00, 0x41, 0x20, 0x74, 0x68, 0x69, 0x6e, 0x67,
+ 0x20, 0x74, 0x6f, 0x20, 0x73, 0x63, 0x61, 0x72,
+ 0x65, 0x20, 0x74, 0x68, 0x65, 0x20, 0x63, 0x72,
+ 0x6f, 0x77, 0x73, 0x2e, 0x00, 0x41, 0x74, 0x20,
+ 0x6c, 0x65, 0x61, 0x73, 0x74, 0x20, 0x74, 0x68,
+ 0x61, 0x74, 0x27, 0x73, 0x20, 0x77, 0x68, 0x61,
+ 0x74, 0x20, 0x74, 0x68, 0x65, 0x00, 0x74, 0x68,
+ 0x65, 0x6f, 0x72, 0x79, 0x20, 0x73, 0x61, 0x79,
+ 0x73, 0x2e, 0x00, 0x00, 0x08, 0x7a, 0x00, 0xa7,
+ 0x00, 0x87, 0x00, 0xb3, 0x00, 0x90, 0x00, 0xb5,
+ 0x00, 0x90, 0x00, 0xb5, 0x00, 0x04, 0x01, 0x73,
+ 0x69, 0x63, 0x6b, 0x6c, 0x65, 0x00, 0x41, 0x20,
+ 0x76, 0x65, 0x72, 0x79, 0x20, 0x64, 0x61, 0x6e,
+ 0x67, 0x65, 0x72, 0x6f, 0x75, 0x73, 0x20, 0x74,
+ 0x6f, 0x6f, 0x6c, 0x2e, 0x00, 0x00, 0x09, 0x3d,
+ 0x00, 0xb6, 0x00, 0x8d, 0x00, 0xc7, 0x00, 0x84,
+ 0x00, 0xbe, 0x00, 0x7e, 0x00, 0xc7, 0x00, 0x03,
+ 0x01, 0x70, 0x61, 0x74, 0x68, 0x20, 0x74, 0x6f,
+ 0x20, 0x76, 0x69, 0x6c, 0x6c, 0x61, 0x67, 0x65,
+ 0x00, 0x01, 0x0a, 0x7b, 0x00, 0x7a, 0x00, 0x99,
+ 0x00, 0xa8, 0x00, 0xa2, 0x00, 0xb5, 0x00, 0xa2,
+ 0x00, 0xb5, 0x00, 0x04, 0x01, 0x68, 0x61, 0x79,
+ 0x20, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x00, 0x54,
+ 0x68, 0x65, 0x72, 0x65, 0x20, 0x6d, 0x75, 0x73,
+ 0x74, 0x20, 0x62, 0x65, 0x20, 0x73, 0x6f, 0x6d,
+ 0x65, 0x74, 0x68, 0x69, 0x6e, 0x67, 0x20, 0x6d,
+ 0x65, 0x74, 0x61, 0x6c, 0x20, 0x69, 0x6e, 0x73,
+ 0x69, 0x64, 0x65, 0x2c, 0x00, 0x49, 0x20, 0x63,
+ 0x61, 0x6e, 0x20, 0x73, 0x65, 0x65, 0x20, 0x69,
+ 0x74, 0x20, 0x67, 0x6c, 0x69, 0x74, 0x74, 0x65,
+ 0x72, 0x69, 0x6e, 0x67, 0x21, 0x00, 0x00, 0x0b,
+ 0x6a, 0x00, 0x94, 0x00, 0x7d, 0x00, 0xb3, 0x00,
+ 0x81, 0x00, 0xbf, 0x00, 0x81, 0x00, 0xbf, 0x00,
+ 0x04, 0x01, 0x72, 0x61, 0x6b, 0x65, 0x00, 0x49,
+ 0x74, 0x27, 0x73, 0x20, 0x76, 0x65, 0x72, 0x79,
+ 0x20, 0x6f, 0x6c, 0x64, 0x20, 0x61, 0x6e, 0x64,
+ 0x20, 0x74, 0x68, 0x65, 0x72, 0x65, 0x20, 0x61,
+ 0x72, 0x65, 0x6e, 0x27, 0x74, 0x00, 0x6d, 0x61,
+ 0x6e, 0x79, 0x20, 0x74, 0x65, 0x65, 0x74, 0x68,
+ 0x20, 0x6c, 0x65, 0x66, 0x74, 0x2e, 0x00, 0x00,
+ 0x0c, 0xa2, 0x00, 0x73, 0x00, 0xb6, 0x00, 0x80,
+ 0x00, 0xec, 0x00, 0x8e, 0x00, 0xec, 0x00, 0x8e,
+ 0x00, 0x04, 0x01, 0x6d, 0x6f, 0x75, 0x73, 0x65,
+ 0x20, 0x68, 0x6f, 0x6c, 0x65, 0x00, 0x48, 0x6f,
+ 0x6d, 0x65, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x70,
+ 0x61, 0x6e, 0x74, 0x72, 0x79, 0x20, 0x69, 0x6e,
+ 0x20, 0x6f, 0x6e, 0x65, 0x2e, 0x2e, 0x2e, 0x00,
+ 0x00, 0x0d, 0xa5, 0x00, 0x5c, 0x00, 0xbf, 0x00,
+ 0x80, 0x00, 0xec, 0x00, 0x8e, 0x00, 0xec, 0x00,
+ 0x8e, 0x00, 0x04, 0x01, 0x68, 0x61, 0x79, 0x20,
+ 0x73, 0x74, 0x61, 0x63, 0x6b, 0x00, 0x54, 0x68,
+ 0x65, 0x72, 0x65, 0x27, 0x73, 0x20, 0x61, 0x20,
+ 0x6d, 0x6f, 0x75, 0x73, 0x65, 0x20, 0x68, 0x6f,
+ 0x6c, 0x65, 0x20, 0x69, 0x6e, 0x73, 0x69, 0x64,
+ 0x65, 0x21, 0x00, 0x00, 0x0e, 0xae, 0x00, 0xbc,
+ 0x00, 0xb4, 0x00, 0xc2, 0x00, 0xa1, 0x00, 0xc3,
+ 0x00, 0xa1, 0x00, 0xc3, 0x00, 0x02, 0x00, 0x66,
+ 0x65, 0x61, 0x74, 0x68, 0x65, 0x72, 0x00, 0x49,
+ 0x74, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x68,
+ 0x61, 0x76, 0x65, 0x20, 0x62, 0x65, 0x65, 0x6e,
+ 0x20, 0x64, 0x72, 0x6f, 0x70, 0x70, 0x65, 0x64,
+ 0x20, 0x62, 0x79, 0x20, 0x68, 0x65, 0x6e, 0x2e,
+ 0x00, 0x00, 0x0f, 0x51, 0x00, 0x89, 0x00, 0x70,
+ 0x00, 0xb6, 0x00, 0x84, 0x00, 0xbe, 0x00, 0x84,
+ 0x00, 0xbe, 0x00, 0x04, 0x01, 0x68, 0x61, 0x79,
+ 0x20, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x00, 0x01,
+ 0x10, 0x04, 0x01, 0x0d, 0x00, 0x3f, 0x01, 0x5d,
+ 0x00, 0xe8, 0x00, 0x86, 0x00, 0xe8, 0x00, 0x86,
+ 0x00, 0x02, 0x01, 0x6d, 0x61, 0x6e, 0x73, 0x69,
+ 0x6f, 0x6e, 0x00, 0x47, 0x65, 0x65, 0x2c, 0x20,
+ 0x73, 0x6f, 0x6d, 0x65, 0x20, 0x70, 0x65, 0x6f,
+ 0x70, 0x6c, 0x65, 0x20, 0x72, 0x65, 0x61, 0x6c,
+ 0x6c, 0x79, 0x00, 0x68, 0x61, 0x76, 0x65, 0x20,
+ 0x6e, 0x6f, 0x20, 0x74, 0x61, 0x73, 0x74, 0x65,
+ 0x2e, 0x00, 0x00, 0xca, 0xa3, 0x0d, 0xa4, 0x3e,
+ 0xa4, 0x57, 0xa4, 0x00, 0x00, 0x01, 0x55, 0x00,
+ 0x35, 0x00, 0x79, 0x00, 0x56, 0x00, 0x67, 0x00,
+ 0x8f, 0x00, 0x67, 0x00, 0x8f, 0x00, 0x01, 0x01,
+ 0x77, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x00, 0x54,
+ 0x68, 0x65, 0x72, 0x65, 0x27, 0x73, 0x20, 0x61,
+ 0x20, 0x73, 0x68, 0x75, 0x74, 0x74, 0x65, 0x72,
+ 0x2c, 0x20, 0x49, 0x20, 0x63, 0x61, 0x6e, 0x27,
+ 0x74, 0x20, 0x73, 0x65, 0x65, 0x20, 0x61, 0x20,
+ 0x74, 0x68, 0x69, 0x6e, 0x67, 0x2e, 0x00, 0x00,
+ 0x02, 0xaa, 0x00, 0x63, 0x00, 0xbd, 0x00, 0x7b,
+ 0x00, 0x8f, 0x00, 0x8f, 0x00, 0x8f, 0x00, 0x8f,
+ 0x00, 0x02, 0x01, 0x73, 0x63, 0x75, 0x6c, 0x70,
+ 0x74, 0x75, 0x72, 0x65, 0x00, 0x54, 0x68, 0x65,
+ 0x20, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x20, 0x69,
+ 0x73, 0x20, 0x73, 0x69, 0x63, 0x6b, 0x2e, 0x00,
+ 0x00, 0x03, 0xc6, 0x00, 0x53, 0x00, 0xf0, 0x00,
+ 0xa4, 0x00, 0xaa, 0x00, 0x99, 0x00, 0xd1, 0x00,
+ 0x99, 0x00, 0x02, 0x01, 0x64, 0x6f, 0x6f, 0x72,
+ 0x00, 0x01, 0x04, 0x00, 0x00, 0x8b, 0x00, 0x22,
+ 0x00, 0xc7, 0x00, 0x42, 0x00, 0xa7, 0x00, 0x42,
+ 0x00, 0xa7, 0x00, 0x04, 0x01, 0x77, 0x61, 0x79,
+ 0x20, 0x6f, 0x75, 0x74, 0x20, 0x6f, 0x66, 0x20,
+ 0x74, 0x68, 0x65, 0x20, 0x6d, 0x61, 0x6e, 0x73,
+ 0x69, 0x6f, 0x6e, 0x00, 0x01, 0x92, 0xa4, 0xab,
+ 0xa4, 0xc4, 0xa4, 0x09, 0xa5, 0x3d, 0xa5, 0x8e,
+ 0xa5, 0xbd, 0xa5, 0x00, 0x00, 0x01, 0x00, 0x00,
+ 0x5b, 0x00, 0x1a, 0x00, 0xae, 0x00, 0x2b, 0x00,
+ 0xaa, 0x00, 0x2b, 0x00, 0xaa, 0x00, 0x04, 0x01,
+ 0x64, 0x6f, 0x6f, 0x72, 0x00, 0x01, 0x02, 0xe8,
+ 0x00, 0x5b, 0x00, 0x17, 0x01, 0xa8, 0x00, 0xff,
+ 0x00, 0xb2, 0x00, 0xff, 0x00, 0xa6, 0x00, 0x01,
+ 0x01, 0x64, 0x6f, 0x6f, 0x72, 0x00, 0x01, 0x03,
+ 0x2b, 0x00, 0x74, 0x00, 0x4f, 0x00, 0xae, 0x00,
+ 0x3e, 0x00, 0xb7, 0x00, 0x3e, 0x00, 0xb7, 0x00,
+ 0x01, 0x01, 0x66, 0x6c, 0x6f, 0x77, 0x65, 0x72,
+ 0x73, 0x00, 0x53, 0x75, 0x72, 0x70, 0x72, 0x69,
+ 0x73, 0x65, 0x2c, 0x20, 0x73, 0x75, 0x72, 0x70,
+ 0x72, 0x69, 0x73, 0x65, 0x2c, 0x20, 0x74, 0x68,
+ 0x65, 0x79, 0x20, 0x61, 0x72, 0x65, 0x6e, 0x27,
+ 0x74, 0x00, 0x70, 0x6c, 0x61, 0x73, 0x74, 0x69,
+ 0x63, 0x2e, 0x00, 0x00, 0x04, 0x82, 0x00, 0x32,
+ 0x00, 0xab, 0x00, 0x69, 0x00, 0xa2, 0x00, 0xad,
+ 0x00, 0xa2, 0x00, 0xad, 0x00, 0x01, 0x01, 0x70,
+ 0x6c, 0x61, 0x6e, 0x74, 0x00, 0x48, 0x6f, 0x77,
+ 0x27, 0x73, 0x20, 0x69, 0x74, 0x20, 0x68, 0x61,
+ 0x6e, 0x67, 0x69, 0x6e, 0x27, 0x2c, 0x20, 0x52,
+ 0x6f, 0x62, 0x62, 0x69, 0x65, 0x3f, 0x00, 0x00,
+ 0x05, 0x1e, 0x00, 0x49, 0x00, 0x9d, 0x00, 0xa8,
+ 0x00, 0xa2, 0x00, 0xad, 0x00, 0xa2, 0x00, 0xad,
+ 0x00, 0x01, 0x01, 0x73, 0x74, 0x61, 0x69, 0x72,
+ 0x73, 0x00, 0x54, 0x68, 0x65, 0x79, 0x20, 0x73,
+ 0x61, 0x79, 0x20, 0x65, 0x76, 0x65, 0x72, 0x79,
+ 0x20, 0x73, 0x74, 0x65, 0x70, 0x20, 0x6d, 0x61,
+ 0x6b, 0x65, 0x73, 0x20, 0x79, 0x6f, 0x75, 0x72,
+ 0x20, 0x6c, 0x69, 0x66, 0x65, 0x00, 0x33, 0x20,
+ 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x20,
+ 0x6c, 0x6f, 0x6e, 0x67, 0x65, 0x72, 0x2e, 0x00,
+ 0x00, 0x06, 0x1f, 0x01, 0xa8, 0x00, 0x3f, 0x01,
+ 0xc7, 0x00, 0x18, 0x01, 0xbc, 0x00, 0x3f, 0x01,
+ 0xbc, 0x00, 0x02, 0x01, 0x6f, 0x74, 0x68, 0x65,
+ 0x72, 0x20, 0x70, 0x61, 0x72, 0x74, 0x20, 0x6f,
+ 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x63, 0x6f,
+ 0x72, 0x72, 0x69, 0x64, 0x6f, 0x72, 0x00, 0x01,
+ 0x07, 0x00, 0x00, 0xc0, 0x00, 0x3f, 0x01, 0xc7,
+ 0x00, 0xa0, 0x00, 0xbc, 0x00, 0xa0, 0x00, 0xc7,
+ 0x00, 0x03, 0x01, 0x77, 0x61, 0x79, 0x20, 0x74,
+ 0x6f, 0x20, 0x70, 0x6f, 0x72, 0x63, 0x68, 0x00,
+ 0x01, 0x00, 0xa6, 0x1f, 0xa6, 0x4d, 0xa6, 0x84,
+ 0xa6, 0xd4, 0xa6, 0xee, 0xa6, 0x11, 0xa7, 0x51,
+ 0xa7, 0x72, 0xa7, 0x8b, 0xa7, 0xb3, 0xa7, 0xdb,
+ 0xa7, 0x03, 0xa8, 0x2b, 0xa8, 0x53, 0xa8, 0x7b,
+ 0xa8, 0x00, 0x00, 0x01, 0x00, 0x00, 0x78, 0x00,
+ 0x51, 0x00, 0x9c, 0x00, 0x12, 0x00, 0x9f, 0x00,
+ 0x12, 0x00, 0x9f, 0x00, 0x01, 0x01, 0x64, 0x6f,
+ 0x77, 0x6e, 0x73, 0x74, 0x61, 0x69, 0x72, 0x73,
+ 0x00, 0x01, 0x02, 0x14, 0x00, 0x3f, 0x00, 0x55,
+ 0x00, 0x6a, 0x00, 0x34, 0x00, 0xa5, 0x00, 0x34,
+ 0x00, 0xa5, 0x00, 0x01, 0x01, 0x70, 0x69, 0x63,
+ 0x74, 0x75, 0x72, 0x65, 0x00, 0x49, 0x74, 0x27,
+ 0x73, 0x20, 0x73, 0x6f, 0x6d, 0x65, 0x20, 0x63,
+ 0x61, 0x73, 0x74, 0x6c, 0x65, 0x2e, 0x00, 0x00,
+ 0x03, 0x29, 0x01, 0x5f, 0x00, 0x3f, 0x01, 0xb0,
+ 0x00, 0x0f, 0x01, 0xae, 0x00, 0x0f, 0x01, 0xae,
+ 0x00, 0x02, 0x01, 0x61, 0x72, 0x6d, 0x6f, 0x75,
+ 0x72, 0x00, 0x54, 0x68, 0x65, 0x20, 0x62, 0x65,
+ 0x74, 0x61, 0x20, 0x76, 0x65, 0x72, 0x73, 0x69,
+ 0x6f, 0x6e, 0x20, 0x6f, 0x66, 0x20, 0x61, 0x20,
+ 0x74, 0x61, 0x6e, 0x6b, 0x2e, 0x00, 0x00, 0x04,
+ 0xcf, 0x00, 0x63, 0x00, 0xda, 0x00, 0x67, 0x00,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0x01, 0x00, 0x76, 0x69, 0x64, 0x65, 0x6f, 0x20,
+ 0x74, 0x61, 0x70, 0x65, 0x00, 0x57, 0x68, 0x61,
+ 0x74, 0x20, 0x6b, 0x69, 0x6e, 0x64, 0x20, 0x6f,
+ 0x66, 0x20, 0x6d, 0x6f, 0x76, 0x69, 0x65, 0x20,
+ 0x6d, 0x75, 0x73, 0x74, 0x20, 0x69, 0x74, 0x20,
+ 0x62, 0x65, 0x00, 0x68, 0x69, 0x64, 0x64, 0x65,
+ 0x6e, 0x20, 0x73, 0x6f, 0x20, 0x77, 0x65, 0x6c,
+ 0x6c, 0x3f, 0x2e, 0x2e, 0x2e, 0x00, 0x00, 0x05,
+ 0xc3, 0x00, 0x54, 0x00, 0xc7, 0x00, 0x5d, 0x00,
+ 0xd0, 0x00, 0x97, 0x00, 0xd0, 0x00, 0x97, 0x00,
+ 0x01, 0x01, 0x62, 0x6f, 0x6f, 0x6b, 0x00, 0x00,
+ 0x00, 0x06, 0x6f, 0x00, 0x2f, 0x00, 0x3f, 0x01,
+ 0x6e, 0x00, 0xdd, 0x00, 0x9b, 0x00, 0xdd, 0x00,
+ 0x9b, 0x00, 0x01, 0x01, 0x62, 0x6f, 0x6f, 0x6b,
+ 0x73, 0x00, 0x4f, 0x68, 0x2c, 0x20, 0x62, 0x6f,
+ 0x79, 0x21, 0x00, 0x00, 0x07, 0xd5, 0x00, 0xab,
+ 0x00, 0xe3, 0x00, 0xbd, 0x00, 0xea, 0x00, 0xbd,
+ 0x00, 0xea, 0x00, 0xbd, 0x00, 0x04, 0x01, 0x74,
+ 0x72, 0x61, 0x73, 0x68, 0x20, 0x63, 0x61, 0x6e,
+ 0x00, 0x54, 0x68, 0x65, 0x72, 0x65, 0x20, 0x61,
+ 0x72, 0x65, 0x20, 0x61, 0x20, 0x6c, 0x6f, 0x74,
+ 0x20, 0x6f, 0x66, 0x20, 0x70, 0x61, 0x70, 0x65,
+ 0x72, 0x73, 0x20, 0x69, 0x6e, 0x73, 0x69, 0x64,
+ 0x65, 0x2e, 0x00, 0x00, 0x08, 0x98, 0x00, 0x8d,
+ 0x00, 0xb2, 0x00, 0xc1, 0x00, 0xa5, 0x00, 0xc6,
+ 0x00, 0xa5, 0x00, 0xc6, 0x00, 0x01, 0x01, 0x63,
+ 0x68, 0x61, 0x69, 0x72, 0x00, 0x53, 0x6f, 0x66,
+ 0x74, 0x79, 0x2e, 0x00, 0x00, 0x09, 0x87, 0x00,
+ 0x86, 0x00, 0xa2, 0x00, 0x99, 0x00, 0x88, 0x00,
+ 0xc1, 0x00, 0x88, 0x00, 0xc1, 0x00, 0x01, 0x01,
+ 0x6c, 0x61, 0x6d, 0x70, 0x00, 0x01, 0x0a, 0x7c,
+ 0x00, 0x9e, 0x00, 0x95, 0x00, 0xa6, 0x00, 0x88,
+ 0x00, 0xc1, 0x00, 0x88, 0x00, 0xc1, 0x00, 0x01,
+ 0x01, 0x64, 0x72, 0x61, 0x77, 0x65, 0x72, 0x00,
+ 0x49, 0x74, 0x27, 0x73, 0x20, 0x63, 0x6c, 0x6f,
+ 0x73, 0x65, 0x64, 0x2e, 0x00, 0x00, 0x0b, 0x7c,
+ 0x00, 0xa8, 0x00, 0x95, 0x00, 0xaf, 0x00, 0x88,
+ 0x00, 0xc1, 0x00, 0x88, 0x00, 0xc1, 0x00, 0x01,
+ 0x01, 0x64, 0x72, 0x61, 0x77, 0x65, 0x72, 0x00,
+ 0x49, 0x74, 0x27, 0x73, 0x20, 0x63, 0x6c, 0x6f,
+ 0x73, 0x65, 0x64, 0x2e, 0x00, 0x00, 0x0c, 0x7c,
+ 0x00, 0xb1, 0x00, 0x95, 0x00, 0xb8, 0x00, 0x88,
+ 0x00, 0xc1, 0x00, 0x88, 0x00, 0xc1, 0x00, 0x01,
+ 0x01, 0x64, 0x72, 0x61, 0x77, 0x65, 0x72, 0x00,
+ 0x49, 0x74, 0x27, 0x73, 0x20, 0x63, 0x6c, 0x6f,
+ 0x73, 0x65, 0x64, 0x2e, 0x00, 0x00, 0x0d, 0xb6,
+ 0x00, 0x9e, 0x00, 0xd0, 0x00, 0xa6, 0x00, 0xc4,
+ 0x00, 0xc0, 0x00, 0xc4, 0x00, 0xc0, 0x00, 0x01,
+ 0x01, 0x64, 0x72, 0x61, 0x77, 0x65, 0x72, 0x00,
+ 0x49, 0x74, 0x27, 0x73, 0x20, 0x63, 0x6c, 0x6f,
+ 0x73, 0x65, 0x64, 0x2e, 0x00, 0x00, 0x0e, 0xb6,
+ 0x00, 0xa8, 0x00, 0xd0, 0x00, 0xaf, 0x00, 0xc4,
+ 0x00, 0xc0, 0x00, 0xc4, 0x00, 0xc0, 0x00, 0x01,
+ 0x01, 0x64, 0x72, 0x61, 0x77, 0x65, 0x72, 0x00,
+ 0x49, 0x74, 0x27, 0x73, 0x20, 0x63, 0x6c, 0x6f,
+ 0x73, 0x65, 0x64, 0x2e, 0x00, 0x00, 0x0f, 0xb6,
+ 0x00, 0xb1, 0x00, 0xd0, 0x00, 0xb8, 0x00, 0xc4,
+ 0x00, 0xc0, 0x00, 0xc4, 0x00, 0xc0, 0x00, 0x01,
+ 0x01, 0x64, 0x72, 0x61, 0x77, 0x65, 0x72, 0x00,
+ 0x49, 0x74, 0x27, 0x73, 0x20, 0x63, 0x6c, 0x6f,
+ 0x73, 0x65, 0x64, 0x2e, 0x00, 0x00, 0x10, 0xf3,
+ 0x00, 0x71, 0x00, 0x18, 0x01, 0x98, 0x00, 0x06,
+ 0x01, 0x9e, 0x00, 0x06, 0x01, 0x9e, 0x00, 0x01,
+ 0x01, 0x6c, 0x61, 0x64, 0x64, 0x65, 0x72, 0x00,
+ 0x49, 0x6e, 0x64, 0x69, 0x73, 0x70, 0x65, 0x6e,
+ 0x73, 0x61, 0x62, 0x6c, 0x65, 0x20, 0x61, 0x64,
+ 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x74,
+ 0x6f, 0x20, 0x67, 0x69, 0x72, 0x6c, 0x73, 0x20,
+ 0x69, 0x6e, 0x20, 0x73, 0x6b, 0x69, 0x72, 0x74,
+ 0x73, 0x2e, 0x00, 0x00, 0xd5, 0xa8, 0xee, 0xa8,
+ 0x1e, 0xa9, 0x58, 0xa9, 0x96, 0xa9, 0xcc, 0xa9,
+ 0xf4, 0xa9, 0x1f, 0xaa, 0x38, 0xaa, 0x00, 0x00,
+ 0x01, 0x73, 0x00, 0x5b, 0x00, 0xa3, 0x00, 0xa7,
+ 0x00, 0x8c, 0x00, 0xac, 0x00, 0x8c, 0x00, 0xa6,
+ 0x00, 0x01, 0x01, 0x64, 0x6f, 0x6f, 0x72, 0x00,
+ 0x01, 0x02, 0x36, 0x01, 0x8c, 0x00, 0x3b, 0x01,
+ 0x91, 0x00, 0x2c, 0x01, 0xb2, 0x00, 0x2c, 0x01,
+ 0xb2, 0x00, 0x02, 0x01, 0x68, 0x6f, 0x6c, 0x65,
+ 0x00, 0x49, 0x74, 0x20, 0x68, 0x61, 0x73, 0x20,
+ 0x61, 0x20, 0x73, 0x71, 0x75, 0x61, 0x72, 0x65,
+ 0x20, 0x73, 0x68, 0x61, 0x70, 0x65, 0x2e, 0x00,
+ 0x00, 0x03, 0x31, 0x01, 0x8b, 0x00, 0x3b, 0x01,
+ 0x91, 0x00, 0x2c, 0x01, 0xb2, 0x00, 0x2c, 0x01,
+ 0xb2, 0x00, 0x02, 0x00, 0x68, 0x61, 0x6e, 0x64,
+ 0x6c, 0x65, 0x00, 0x49, 0x74, 0x20, 0x66, 0x69,
+ 0x74, 0x73, 0x20, 0x69, 0x6e, 0x20, 0x74, 0x68,
+ 0x65, 0x20, 0x68, 0x6f, 0x6c, 0x65, 0x20, 0x70,
+ 0x65, 0x72, 0x66, 0x65, 0x63, 0x74, 0x6c, 0x79,
+ 0x2e, 0x00, 0x00, 0x04, 0x04, 0x00, 0x3f, 0x00,
+ 0x64, 0x00, 0x61, 0x00, 0x3b, 0x00, 0xb2, 0x00,
+ 0x3b, 0x00, 0xb2, 0x00, 0x01, 0x01, 0x70, 0x69,
+ 0x63, 0x74, 0x75, 0x72, 0x65, 0x00, 0x49, 0x20,
+ 0x61, 0x6c, 0x77, 0x61, 0x79, 0x73, 0x20, 0x6c,
+ 0x69, 0x6b, 0x65, 0x64, 0x20, 0x53, 0x60, 0x54,
+ 0x60, 0x41, 0x60, 0x52, 0x60, 0x20, 0x57, 0x60,
+ 0x41, 0x60, 0x52, 0x60, 0x53, 0x60, 0x2e, 0x00,
+ 0x00, 0x05, 0xd8, 0x00, 0x4d, 0x00, 0x09, 0x01,
+ 0x79, 0x00, 0xf3, 0x00, 0xb5, 0x00, 0xf3, 0x00,
+ 0xb5, 0x00, 0x01, 0x01, 0x70, 0x69, 0x63, 0x74,
+ 0x75, 0x72, 0x65, 0x00, 0x41, 0x6e, 0x64, 0x20,
+ 0x49, 0x20, 0x74, 0x6f, 0x75, 0x67, 0x68, 0x74,
+ 0x20, 0x49, 0x20, 0x77, 0x61, 0x73, 0x20, 0x77,
+ 0x65, 0x69, 0x72, 0x64, 0x2e, 0x00, 0x00, 0x06,
+ 0xf3, 0x00, 0x91, 0x00, 0x15, 0x01, 0xc7, 0x00,
+ 0xf3, 0x00, 0xb5, 0x00, 0xf3, 0x00, 0xb5, 0x00,
+ 0x03, 0x01, 0x66, 0x6c, 0x6f, 0x77, 0x65, 0x72,
+ 0x73, 0x00, 0x4e, 0x69, 0x63, 0x65, 0x20, 0x73,
+ 0x6d, 0x65, 0x6c, 0x6c, 0x2e, 0x00, 0x00, 0x07,
+ 0x00, 0x00, 0xa8, 0x00, 0x1a, 0x00, 0xc7, 0x00,
+ 0x28, 0x00, 0xbc, 0x00, 0x00, 0x00, 0xbc, 0x00,
+ 0x04, 0x01, 0x6f, 0x74, 0x68, 0x65, 0x72, 0x20,
+ 0x70, 0x61, 0x72, 0x74, 0x20, 0x6f, 0x66, 0x20,
+ 0x63, 0x6f, 0x72, 0x72, 0x69, 0x64, 0x6f, 0x72,
+ 0x00, 0x01, 0x08, 0x25, 0x01, 0x5f, 0x00, 0x3f,
+ 0x01, 0xb6, 0x00, 0x11, 0x01, 0xab, 0x00, 0x11,
+ 0x01, 0xab, 0x00, 0x02, 0x01, 0x64, 0x6f, 0x6f,
+ 0x72, 0x00, 0x01, 0x09, 0x0e, 0x00, 0x5a, 0x00,
+ 0x32, 0x00, 0xb0, 0x00, 0x28, 0x00, 0xbc, 0x00,
+ 0x28, 0x00, 0xbc, 0x00, 0x01, 0x01, 0x73, 0x74,
+ 0x61, 0x74, 0x75, 0x65, 0x00, 0x42, 0x69, 0x7a,
+ 0x61, 0x72, 0x72, 0x65, 0x2e, 0x00, 0x00, 0x6e,
+ 0xaa, 0x9a, 0xaa, 0xcd, 0xaa, 0x12, 0xab, 0x5d,
+ 0xab, 0x79, 0xab, 0x92, 0xab, 0xda, 0xab, 0x00,
+ 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x52, 0x00, 0xb6, 0x00, 0x52, 0x00,
+ 0xb6, 0x00, 0x01, 0x01, 0x72, 0x6f, 0x62, 0x6f,
+ 0x74, 0x00, 0x49, 0x6d, 0x70, 0x72, 0x65, 0x73,
+ 0x73, 0x69, 0x76, 0x65, 0x2e, 0x00, 0x00, 0x4d,
+ 0x69, 0x6b, 0x65, 0x00, 0xff, 0x02, 0x2d, 0x00,
+ 0x75, 0x00, 0x37, 0x00, 0x83, 0x00, 0x33, 0x00,
+ 0xaa, 0x00, 0x33, 0x00, 0xaa, 0x00, 0x01, 0x00,
+ 0x6a, 0x61, 0x72, 0x00, 0x54, 0x68, 0x69, 0x73,
+ 0x20, 0x6a, 0x61, 0x72, 0x20, 0x69, 0x73, 0x20,
+ 0x66, 0x75, 0x6c, 0x6c, 0x20, 0x6f, 0x66, 0x20,
+ 0x70, 0x69, 0x6c, 0x6c, 0x73, 0x2e, 0x00, 0x00,
+ 0x03, 0x2d, 0x00, 0x75, 0x00, 0x37, 0x00, 0x83,
+ 0x00, 0x33, 0x00, 0xaa, 0x00, 0x33, 0x00, 0xaa,
+ 0x00, 0x01, 0x00, 0x62, 0x6f, 0x6f, 0x6b, 0x00,
+ 0x49, 0x74, 0x27, 0x73, 0x20, 0x62, 0x69, 0x67,
+ 0x20, 0x61, 0x6e, 0x64, 0x20, 0x6c, 0x6f, 0x6f,
+ 0x6b, 0x73, 0x00, 0x6c, 0x69, 0x6b, 0x65, 0x20,
+ 0x73, 0x6f, 0x6d, 0x65, 0x20, 0x6b, 0x69, 0x6e,
+ 0x64, 0x20, 0x6f, 0x66, 0x00, 0x64, 0x69, 0x61,
+ 0x72, 0x79, 0x2e, 0x00, 0x00, 0x04, 0x74, 0x00,
+ 0x2d, 0x00, 0xb9, 0x00, 0x7e, 0x00, 0x98, 0x00,
+ 0xa5, 0x00, 0x98, 0x00, 0xa5, 0x00, 0x01, 0x01,
+ 0x70, 0x69, 0x63, 0x74, 0x75, 0x72, 0x65, 0x00,
+ 0x54, 0x68, 0x61, 0x74, 0x20, 0x6f, 0x6e, 0x65,
+ 0x27, 0x73, 0x20, 0x67, 0x72, 0x65, 0x61, 0x74,
+ 0x2e, 0x20, 0x49, 0x27, 0x64, 0x20, 0x6c, 0x69,
+ 0x6b, 0x65, 0x20, 0x74, 0x6f, 0x20, 0x68, 0x61,
+ 0x76, 0x65, 0x20, 0x6f, 0x6e, 0x65, 0x20, 0x6d,
+ 0x79, 0x73, 0x65, 0x6c, 0x66, 0x2e, 0x00, 0x00,
+ 0x05, 0x88, 0x00, 0x88, 0x00, 0xa5, 0x00, 0x9f,
+ 0x00, 0x98, 0x00, 0xa5, 0x00, 0x98, 0x00, 0xa5,
+ 0x00, 0x01, 0x01, 0x63, 0x61, 0x62, 0x69, 0x6e,
+ 0x65, 0x74, 0x00, 0x01, 0x06, 0x4e, 0x00, 0xbd,
+ 0x00, 0xe0, 0x00, 0xc7, 0x00, 0x8b, 0x00, 0xbc,
+ 0x00, 0x8b, 0x00, 0xc7, 0x00, 0x03, 0x01, 0x65,
+ 0x78, 0x69, 0x74, 0x00, 0x01, 0x07, 0x00, 0x00,
+ 0xc7, 0x00, 0x4d, 0x00, 0xc7, 0x00, 0x8b, 0x00,
+ 0xbc, 0x00, 0x39, 0x00, 0xc6, 0x00, 0x03, 0x00,
+ 0x6c, 0x65, 0x66, 0x74, 0x20, 0x6c, 0x6f, 0x77,
+ 0x65, 0x72, 0x20, 0x65, 0x64, 0x67, 0x65, 0x20,
+ 0x6f, 0x66, 0x20, 0x73, 0x63, 0x72, 0x65, 0x65,
+ 0x6e, 0x00, 0x49, 0x20, 0x63, 0x6f, 0x75, 0x6c,
+ 0x64, 0x20, 0x74, 0x72, 0x79, 0x20, 0x74, 0x6f,
+ 0x20, 0x68, 0x69, 0x64, 0x65, 0x20, 0x68, 0x65,
+ 0x72, 0x65, 0x21, 0x00, 0x00, 0x08, 0x89, 0x00,
+ 0x7e, 0x00, 0x93, 0x00, 0x85, 0x00, 0x8f, 0x00,
+ 0xa3, 0x00, 0x8f, 0x00, 0xa3, 0x00, 0x01, 0x00,
+ 0x64, 0x6f, 0x6f, 0x72, 0x20, 0x68, 0x61, 0x6e,
+ 0x64, 0x6c, 0x65, 0x00, 0x4a, 0x6f, 0x68, 0x6e,
+ 0x20, 0x4e, 0x6f, 0x74, 0x79, 0x20, 0x6c, 0x65,
+ 0x66, 0x74, 0x20, 0x69, 0x74, 0x20, 0x68, 0x65,
+ 0x72, 0x65, 0x2e, 0x00, 0x00, 0x2c, 0xac, 0x6b,
+ 0xac, 0xb8, 0xac, 0xe3, 0xac, 0xff, 0xac, 0x43,
+ 0xad, 0x8d, 0xad, 0xcc, 0xad, 0x1d, 0xae, 0x6e,
+ 0xae, 0xbe, 0xae, 0xf8, 0xae, 0x00, 0x00, 0x01,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x8d, 0x00, 0x9f, 0x00, 0x8d, 0x00, 0x9f, 0x00,
+ 0x04, 0x01, 0x63, 0x6f, 0x6f, 0x6b, 0x00, 0x48,
+ 0x65, 0x27, 0x73, 0x20, 0x63, 0x6f, 0x6d, 0x70,
+ 0x6c, 0x65, 0x74, 0x65, 0x6c, 0x79, 0x20, 0x61,
+ 0x64, 0x64, 0x69, 0x63, 0x74, 0x65, 0x64, 0x20,
+ 0x74, 0x6f, 0x20, 0x68, 0x69, 0x73, 0x20, 0x77,
+ 0x6f, 0x72, 0x6b, 0x2e, 0x00, 0x00, 0x02, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x04,
+ 0x01, 0x73, 0x74, 0x65, 0x77, 0x00, 0x49, 0x74,
+ 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x62, 0x65,
+ 0x20, 0x73, 0x6f, 0x6d, 0x65, 0x20, 0x6b, 0x69,
+ 0x6e, 0x64, 0x20, 0x6f, 0x66, 0x20, 0x73, 0x6f,
+ 0x75, 0x70, 0x2e, 0x00, 0x4e, 0x6f, 0x77, 0x20,
+ 0x77, 0x69, 0x74, 0x68, 0x20, 0x65, 0x78, 0x74,
+ 0x72, 0x61, 0x20, 0x70, 0x6f, 0x77, 0x65, 0x72,
+ 0x2e, 0x00, 0x00, 0x03, 0x26, 0x00, 0x84, 0x00,
+ 0x30, 0x00, 0x8e, 0x00, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0x04, 0x01, 0x68, 0x6f,
+ 0x74, 0x20, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x00,
+ 0x54, 0x68, 0x61, 0x74, 0x27, 0x73, 0x20, 0x43,
+ 0x4f, 0x4f, 0x4c, 0x2e, 0x00, 0x00, 0x04, 0x1c,
+ 0x01, 0x9c, 0x00, 0x3f, 0x01, 0xc7, 0x00, 0x0b,
+ 0x01, 0xb2, 0x00, 0x3f, 0x01, 0xb2, 0x00, 0x02,
+ 0x01, 0x77, 0x61, 0x79, 0x20, 0x6f, 0x75, 0x74,
+ 0x00, 0x01, 0x05, 0x9e, 0x00, 0x7f, 0x00, 0xc1,
+ 0x00, 0x9b, 0x00, 0xc0, 0x00, 0xa0, 0x00, 0xc0,
+ 0x00, 0xa0, 0x00, 0x01, 0x01, 0x72, 0x65, 0x66,
+ 0x72, 0x69, 0x67, 0x65, 0x72, 0x61, 0x74, 0x6f,
+ 0x72, 0x00, 0x4d, 0x79, 0x20, 0x66, 0x61, 0x76,
+ 0x6f, 0x75, 0x72, 0x69, 0x74, 0x65, 0x20, 0x74,
+ 0x68, 0x69, 0x6e, 0x67, 0x20, 0x69, 0x6e, 0x20,
+ 0x74, 0x68, 0x65, 0x20, 0x6b, 0x69, 0x74, 0x63,
+ 0x68, 0x65, 0x6e, 0x2e, 0x00, 0x00, 0x06, 0x81,
+ 0x00, 0x74, 0x00, 0x9c, 0x00, 0x7c, 0x00, 0x8d,
+ 0x00, 0x9f, 0x00, 0x8d, 0x00, 0x9f, 0x00, 0x01,
+ 0x01, 0x72, 0x61, 0x64, 0x69, 0x6f, 0x00, 0x49,
+ 0x74, 0x20, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x20,
+ 0x77, 0x69, 0x74, 0x68, 0x20, 0x62, 0x61, 0x74,
+ 0x74, 0x65, 0x72, 0x69, 0x65, 0x73, 0x2e, 0x20,
+ 0x4a, 0x75, 0x73, 0x74, 0x20, 0x6c, 0x69, 0x6b,
+ 0x65, 0x00, 0x74, 0x68, 0x65, 0x20, 0x77, 0x61,
+ 0x6c, 0x6b, 0x6d, 0x61, 0x6e, 0x2e, 0x00, 0x00,
+ 0x07, 0xdb, 0x00, 0x70, 0x00, 0xe0, 0x00, 0x7c,
+ 0x00, 0xdd, 0x00, 0xa0, 0x00, 0xdd, 0x00, 0xa0,
+ 0x00, 0x01, 0x01, 0x63, 0x68, 0x69, 0x6c, 0x6c,
+ 0x69, 0x00, 0x49, 0x74, 0x27, 0x73, 0x20, 0x72,
+ 0x65, 0x64, 0x2c, 0x20, 0x69, 0x74, 0x27, 0x73,
+ 0x20, 0x68, 0x6f, 0x74, 0x2c, 0x20, 0x69, 0x74,
+ 0x27, 0x73, 0x20, 0x2e, 0x2e, 0x2e, 0x43, 0x48,
+ 0x49, 0x4c, 0x4c, 0x49, 0x21, 0x00, 0x00, 0x08,
+ 0xd5, 0x00, 0x77, 0x00, 0xe6, 0x00, 0x7e, 0x00,
+ 0xdd, 0x00, 0xa0, 0x00, 0xdd, 0x00, 0xa0, 0x00,
+ 0x01, 0x00, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x20,
+ 0x77, 0x68, 0x65, 0x72, 0x65, 0x20, 0x63, 0x68,
+ 0x69, 0x6c, 0x6c, 0x69, 0x20, 0x62, 0x6f, 0x74,
+ 0x74, 0x6c, 0x65, 0x20, 0x73, 0x74, 0x6f, 0x6f,
+ 0x64, 0x00, 0x49, 0x74, 0x27, 0x73, 0x20, 0x74,
+ 0x68, 0x65, 0x20, 0x70, 0x6c, 0x61, 0x63, 0x65,
+ 0x20, 0x77, 0x68, 0x65, 0x72, 0x65, 0x2e, 0x2e,
+ 0x2e, 0x20, 0x65, 0x74, 0x63, 0x2e, 0x00, 0x00,
+ 0x09, 0x23, 0x01, 0x77, 0x00, 0x2f, 0x01, 0x7e,
+ 0x00, 0x28, 0x01, 0xa0, 0x00, 0x28, 0x01, 0xa0,
+ 0x00, 0x01, 0x01, 0x70, 0x61, 0x73, 0x74, 0x72,
+ 0x79, 0x20, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72,
+ 0x00, 0x4d, 0x65, 0x6e, 0x20, 0x75, 0x73, 0x65,
+ 0x20, 0x67, 0x75, 0x6e, 0x73, 0x2e, 0x20, 0x57,
+ 0x6f, 0x6d, 0x65, 0x6e, 0x20, 0x75, 0x73, 0x65,
+ 0x20, 0x74, 0x68, 0x69, 0x73, 0x2e, 0x00, 0x31,
+ 0x20, 0x3a, 0x20, 0x30, 0x20, 0x66, 0x6f, 0x72,
+ 0x20, 0x77, 0x6f, 0x6d, 0x65, 0x6e, 0x2e, 0x00,
+ 0x00, 0x0a, 0x59, 0x00, 0x70, 0x00, 0x6d, 0x00,
+ 0x7d, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0x01, 0x01, 0x6d, 0x69, 0x63, 0x72,
+ 0x6f, 0x77, 0x61, 0x76, 0x65, 0x00, 0x49, 0x74,
+ 0x27, 0x73, 0x20, 0x61, 0x20, 0x6d, 0x61, 0x67,
+ 0x69, 0x63, 0x20, 0x74, 0x6f, 0x6f, 0x6c, 0x2e,
+ 0x20, 0x49, 0x74, 0x20, 0x74, 0x75, 0x72, 0x6e,
+ 0x73, 0x00, 0x61, 0x6e, 0x79, 0x20, 0x64, 0x69,
+ 0x73, 0x68, 0x20, 0x69, 0x6e, 0x74, 0x6f, 0x20,
+ 0x72, 0x75, 0x62, 0x62, 0x65, 0x72, 0x2e, 0x00,
+ 0x00, 0x0b, 0xb4, 0x00, 0x67, 0x00, 0xd5, 0x00,
+ 0x74, 0x00, 0xc7, 0x00, 0xa2, 0x00, 0xc7, 0x00,
+ 0xa2, 0x00, 0x01, 0x01, 0x6b, 0x6e, 0x69, 0x76,
+ 0x65, 0x73, 0x00, 0x41, 0x20, 0x76, 0x65, 0x72,
+ 0x79, 0x20, 0x72, 0x65, 0x73, 0x70, 0x65, 0x63,
+ 0x74, 0x61, 0x62, 0x6c, 0x65, 0x20, 0x63, 0x6f,
+ 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e,
+ 0x2e, 0x00, 0x00, 0x0c, 0xad, 0x00, 0x82, 0x00,
+ 0xb8, 0x00, 0x8c, 0x00, 0xc0, 0x00, 0xa0, 0x00,
+ 0xc0, 0x00, 0xa0, 0x00, 0x01, 0x01, 0x6d, 0x65,
+ 0x61, 0x74, 0x00, 0x49, 0x74, 0x27, 0x73, 0x20,
+ 0x69, 0x6e, 0x20, 0x61, 0x20, 0x70, 0x6c, 0x61,
+ 0x73, 0x74, 0x69, 0x63, 0x20, 0x62, 0x61, 0x67,
+ 0x20, 0x77, 0x68, 0x69, 0x63, 0x68, 0x20, 0x68,
+ 0x61, 0x73, 0x20, 0x66, 0x72, 0x6f, 0x7a, 0x65,
+ 0x6e, 0x20, 0x74, 0x6f, 0x00, 0x74, 0x68, 0x65,
+ 0x20, 0x73, 0x68, 0x65, 0x6c, 0x66, 0x2e, 0x00,
+ 0x00, 0x56, 0xaf, 0x6f, 0xaf, 0x97, 0xaf, 0xaf,
+ 0xaf, 0xe4, 0xaf, 0x00, 0xb0, 0x29, 0xb0, 0x00,
+ 0x00, 0x01, 0x00, 0x00, 0x2d, 0x00, 0x23, 0x00,
+ 0x82, 0x00, 0x34, 0x00, 0x85, 0x00, 0x28, 0x00,
+ 0x80, 0x00, 0x04, 0x01, 0x64, 0x6f, 0x6f, 0x72,
+ 0x00, 0x01, 0x02, 0x15, 0x01, 0x7d, 0x00, 0x36,
+ 0x01, 0x9e, 0x00, 0x25, 0x01, 0xa6, 0x00, 0x25,
+ 0x01, 0xa6, 0x00, 0x01, 0x01, 0x73, 0x69, 0x6e,
+ 0x6b, 0x00, 0x49, 0x74, 0x20, 0x68, 0x61, 0x73,
+ 0x20, 0x61, 0x20, 0x68, 0x6f, 0x6c, 0x65, 0x2e,
+ 0x00, 0x00, 0x03, 0x1e, 0x01, 0x70, 0x00, 0x2c,
+ 0x01, 0x7c, 0x00, 0x14, 0x01, 0x9f, 0x00, 0x14,
+ 0x01, 0x9f, 0x00, 0x02, 0x01, 0x74, 0x61, 0x70,
+ 0x00, 0x01, 0x04, 0x55, 0x00, 0x2e, 0x00, 0x76,
+ 0x00, 0x67, 0x00, 0x60, 0x00, 0x8c, 0x00, 0x60,
+ 0x00, 0x8c, 0x00, 0x01, 0x01, 0x6d, 0x69, 0x72,
+ 0x72, 0x6f, 0x72, 0x00, 0x49, 0x74, 0x27, 0x73,
+ 0x20, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x65, 0x64,
+ 0x20, 0x69, 0x6e, 0x20, 0x6f, 0x6c, 0x64, 0x20,
+ 0x64, 0x69, 0x72, 0x74, 0x2e, 0x00, 0x00, 0x05,
+ 0x4a, 0x00, 0x6c, 0x00, 0x74, 0x00, 0x86, 0x00,
+ 0x62, 0x00, 0x87, 0x00, 0x62, 0x00, 0x87, 0x00,
+ 0x01, 0x01, 0x63, 0x61, 0x62, 0x69, 0x6e, 0x65,
+ 0x74, 0x00, 0x01, 0x06, 0x7a, 0x00, 0x82, 0x00,
+ 0xff, 0x00, 0xa4, 0x00, 0xc0, 0x00, 0xae, 0x00,
+ 0xc0, 0x00, 0xae, 0x00, 0x01, 0x01, 0x62, 0x61,
+ 0x74, 0x68, 0x00, 0x57, 0x68, 0x6f, 0x61, 0x21,
+ 0x20, 0x49, 0x74, 0x27, 0x73, 0x20, 0x62, 0x69,
+ 0x67, 0x21, 0x00, 0x00, 0x07, 0x34, 0x00, 0x72,
+ 0x00, 0x3a, 0x00, 0x7d, 0x00, 0x44, 0x00, 0x81,
+ 0x00, 0x44, 0x00, 0x81, 0x00, 0x04, 0x01, 0x73,
+ 0x6f, 0x63, 0x6b, 0x00, 0x49, 0x74, 0x20, 0x6d,
+ 0x75, 0x73, 0x74, 0x20, 0x62, 0x65, 0x20, 0x4a,
+ 0x6f, 0x68, 0x6e, 0x20, 0x4e, 0x6f, 0x74, 0x79,
+ 0x27, 0x73, 0x2e, 0x2e, 0x2e, 0x00, 0x00, 0x76,
+ 0xb0, 0xb4, 0xb0, 0xf9, 0xb0, 0x3b, 0xb1, 0x84,
+ 0xb1, 0xe6, 0xb1, 0x2a, 0xb2, 0x7d, 0xb2, 0xc3,
+ 0xb2, 0xdf, 0xb2, 0x1b, 0xb3, 0x6c, 0xb3, 0x00,
+ 0x00, 0x01, 0x52, 0x00, 0x8a, 0x00, 0x5e, 0x00,
+ 0x9b, 0x00, 0x68, 0x00, 0xb5, 0x00, 0x68, 0x00,
+ 0xb5, 0x00, 0x04, 0x01, 0x63, 0x6f, 0x67, 0x6e,
+ 0x61, 0x63, 0x00, 0x42, 0x6f, 0x74, 0x74, 0x6c,
+ 0x65, 0x20, 0x61, 0x73, 0x20, 0x62, 0x69, 0x67,
+ 0x20, 0x61, 0x73, 0x20, 0x4e, 0x61, 0x70, 0x6f,
+ 0x6c, 0x65, 0x6f, 0x6e, 0x20, 0x68, 0x69, 0x6d,
+ 0x73, 0x65, 0x6c, 0x66, 0x2e, 0x00, 0x00, 0x02,
+ 0x52, 0x00, 0x8a, 0x00, 0x5e, 0x00, 0x96, 0x00,
+ 0x68, 0x00, 0xb5, 0x00, 0x68, 0x00, 0xb5, 0x00,
+ 0x04, 0x01, 0x70, 0x69, 0x6e, 0x63, 0x65, 0x72,
+ 0x73, 0x00, 0x54, 0x68, 0x65, 0x72, 0x65, 0x27,
+ 0x73, 0x20, 0x61, 0x20, 0x70, 0x61, 0x69, 0x72,
+ 0x20, 0x6f, 0x66, 0x20, 0x70, 0x69, 0x6e, 0x63,
+ 0x65, 0x72, 0x73, 0x20, 0x69, 0x6e, 0x20, 0x74,
+ 0x68, 0x65, 0x20, 0x62, 0x75, 0x63, 0x6b, 0x65,
+ 0x74, 0x2e, 0x00, 0x00, 0x03, 0x71, 0x00, 0x27,
+ 0x00, 0x91, 0x00, 0x72, 0x00, 0x84, 0x00, 0xaf,
+ 0x00, 0x84, 0x00, 0xaf, 0x00, 0x01, 0x01, 0x6d,
+ 0x61, 0x73, 0x6b, 0x00, 0x54, 0x68, 0x69, 0x73,
+ 0x20, 0x69, 0x73, 0x20, 0x73, 0x6f, 0x6d, 0x65,
+ 0x20, 0x6b, 0x69, 0x6e, 0x64, 0x20, 0x6f, 0x66,
+ 0x20, 0x63, 0x6f, 0x6f, 0x6c, 0x20, 0x70, 0x72,
+ 0x69, 0x6d, 0x69, 0x74, 0x69, 0x76, 0x65, 0x20,
+ 0x61, 0x72, 0x74, 0x2e, 0x00, 0x00, 0x04, 0x6c,
+ 0x00, 0x73, 0x00, 0x9e, 0x00, 0x91, 0x00, 0x87,
+ 0x00, 0xab, 0x00, 0x87, 0x00, 0xab, 0x00, 0x01,
+ 0x01, 0x54, 0x56, 0x00, 0x4f, 0x6e, 0x65, 0x20,
+ 0x6d, 0x6f, 0x72, 0x65, 0x20, 0x74, 0x68, 0x69,
+ 0x6e, 0x67, 0x20, 0x74, 0x6f, 0x20, 0x6b, 0x69,
+ 0x6c, 0x6c, 0x20, 0x79, 0x6f, 0x75, 0x72, 0x20,
+ 0x74, 0x69, 0x6d, 0x65, 0x20, 0x61, 0x6e, 0x64,
+ 0x00, 0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x61,
+ 0x6c, 0x69, 0x74, 0x79, 0x2e, 0x00, 0x00, 0x05,
+ 0x78, 0x00, 0x94, 0x00, 0x92, 0x00, 0x9a, 0x00,
+ 0x84, 0x00, 0xaf, 0x00, 0x84, 0x00, 0xaf, 0x00,
+ 0x01, 0x01, 0x76, 0x69, 0x64, 0x65, 0x6f, 0x20,
+ 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x00, 0x49,
+ 0x74, 0x20, 0x68, 0x61, 0x73, 0x20, 0x6e, 0x6f,
+ 0x20, 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x20,
+ 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e,
+ 0x2c, 0x00, 0x62, 0x75, 0x74, 0x20, 0x74, 0x68,
+ 0x61, 0x74, 0x20, 0x64, 0x6f, 0x65, 0x73, 0x6e,
+ 0x27, 0x74, 0x20, 0x6d, 0x61, 0x74, 0x74, 0x65,
+ 0x72, 0x00, 0x74, 0x6f, 0x20, 0x6d, 0x65, 0x20,
+ 0x61, 0x6e, 0x79, 0x77, 0x61, 0x79, 0x2e, 0x00,
+ 0x00, 0x06, 0xb9, 0x00, 0x98, 0x00, 0xcb, 0x00,
+ 0xa4, 0x00, 0xc1, 0x00, 0xa9, 0x00, 0xc1, 0x00,
+ 0xa9, 0x00, 0x01, 0x01, 0x6e, 0x65, 0x77, 0x73,
+ 0x70, 0x61, 0x70, 0x65, 0x72, 0x00, 0x54, 0x68,
+ 0x69, 0x73, 0x20, 0x69, 0x73, 0x20, 0x73, 0x6f,
+ 0x6d, 0x65, 0x20, 0x6b, 0x69, 0x6e, 0x64, 0x20,
+ 0x6f, 0x66, 0x20, 0x6c, 0x6f, 0x63, 0x61, 0x6c,
+ 0x20, 0x6e, 0x65, 0x77, 0x73, 0x70, 0x61, 0x70,
+ 0x65, 0x72, 0x2e, 0x00, 0x00, 0x07, 0xd2, 0x00,
+ 0x93, 0x00, 0xe4, 0x00, 0xa0, 0x00, 0xdb, 0x00,
+ 0xaa, 0x00, 0xdb, 0x00, 0xaa, 0x00, 0x01, 0x01,
+ 0x68, 0x69, 0x2d, 0x66, 0x69, 0x00, 0x57, 0x68,
+ 0x61, 0x74, 0x20, 0x61, 0x20, 0x62, 0x61, 0x62,
+ 0x79, 0x21, 0x20, 0x49, 0x74, 0x20, 0x63, 0x6f,
+ 0x75, 0x6c, 0x64, 0x20, 0x64, 0x72, 0x69, 0x76,
+ 0x65, 0x00, 0x61, 0x6c, 0x6c, 0x20, 0x6d, 0x79,
+ 0x20, 0x6e, 0x65, 0x69, 0x67, 0x68, 0x62, 0x6f,
+ 0x75, 0x72, 0x73, 0x20, 0x69, 0x6e, 0x73, 0x61,
+ 0x6e, 0x65, 0x21, 0x2e, 0x2e, 0x2e, 0x00, 0x00,
+ 0x08, 0xc0, 0x00, 0xa4, 0x00, 0x3f, 0x01, 0xc7,
+ 0x00, 0xa5, 0x00, 0xc4, 0x00, 0xa5, 0x00, 0xc4,
+ 0x00, 0x02, 0x01, 0x63, 0x6f, 0x75, 0x63, 0x68,
+ 0x00, 0x49, 0x20, 0x77, 0x6f, 0x75, 0x6c, 0x64,
+ 0x20, 0x6e, 0x65, 0x76, 0x65, 0x72, 0x20, 0x6b,
+ 0x6e, 0x6f, 0x77, 0x20, 0x77, 0x68, 0x65, 0x72,
+ 0x65, 0x20, 0x74, 0x6f, 0x20, 0x70, 0x6c, 0x61,
+ 0x63, 0x65, 0x00, 0x61, 0x20, 0x70, 0x69, 0x6c,
+ 0x6c, 0x6f, 0x77, 0x2e, 0x00, 0x00, 0x09, 0x00,
+ 0x00, 0xbe, 0x00, 0xbf, 0x00, 0xc7, 0x00, 0x9c,
+ 0x00, 0xbd, 0x00, 0x9c, 0x00, 0xc7, 0x00, 0x03,
+ 0x01, 0x77, 0x61, 0x79, 0x20, 0x6f, 0x75, 0x74,
+ 0x00, 0x01, 0x0a, 0xad, 0x00, 0x25, 0x00, 0x25,
+ 0x01, 0x79, 0x00, 0xdb, 0x00, 0xaa, 0x00, 0xdb,
+ 0x00, 0xaa, 0x00, 0x01, 0x01, 0x70, 0x69, 0x63,
+ 0x74, 0x75, 0x72, 0x65, 0x00, 0x54, 0x68, 0x61,
+ 0x74, 0x20, 0x6f, 0x6e, 0x65, 0x20, 0x69, 0x73,
+ 0x20, 0x72, 0x65, 0x61, 0x6c, 0x6c, 0x79, 0x20,
+ 0x69, 0x6d, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74,
+ 0x69, 0x76, 0x65, 0x2e, 0x00, 0x00, 0x0b, 0xa1,
+ 0x00, 0xa5, 0x00, 0xac, 0x00, 0xaa, 0x00, 0x98,
+ 0x00, 0xad, 0x00, 0x98, 0x00, 0xad, 0x00, 0x02,
+ 0x00, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x20,
+ 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c,
+ 0x65, 0x72, 0x00, 0x49, 0x74, 0x20, 0x77, 0x61,
+ 0x73, 0x20, 0x68, 0x69, 0x64, 0x64, 0x65, 0x6e,
+ 0x20, 0x62, 0x65, 0x74, 0x77, 0x65, 0x65, 0x6e,
+ 0x20, 0x74, 0x68, 0x65, 0x20, 0x6e, 0x65, 0x77,
+ 0x73, 0x70, 0x61, 0x70, 0x65, 0x72, 0x20, 0x70,
+ 0x61, 0x67, 0x65, 0x73, 0x2e, 0x00, 0x00, 0x0c,
+ 0x2f, 0x00, 0x4f, 0x00, 0x57, 0x00, 0xaf, 0x00,
+ 0x68, 0x00, 0xb5, 0x00, 0x64, 0x00, 0xb5, 0x00,
+ 0x04, 0x00, 0x6f, 0x70, 0x65, 0x6e, 0x20, 0x77,
+ 0x61, 0x72, 0x64, 0x72, 0x6f, 0x62, 0x65, 0x00,
+ 0x49, 0x74, 0x27, 0x73, 0x20, 0x61, 0x20, 0x73,
+ 0x65, 0x63, 0x72, 0x65, 0x74, 0x20, 0x70, 0x61,
+ 0x73, 0x73, 0x61, 0x67, 0x65, 0x21, 0x00, 0x00,
+ 0xad, 0xb3, 0xc6, 0xb3, 0xdf, 0xb3, 0x00, 0x00,
+ 0x01, 0x11, 0x01, 0x72, 0x00, 0x3f, 0x01, 0xc7,
+ 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0x02, 0x01, 0x64, 0x6f, 0x6f, 0x72, 0x00,
+ 0x01, 0x02, 0x00, 0x00, 0x73, 0x00, 0x2a, 0x00,
+ 0xc7, 0x00, 0x2e, 0x00, 0xc1, 0x00, 0x2e, 0x00,
+ 0xc1, 0x00, 0x04, 0x01, 0x64, 0x6f, 0x6f, 0x72,
+ 0x00, 0x01, 0x03, 0xf2, 0x00, 0x89, 0x00, 0xf6,
+ 0x00, 0x8e, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0x00, 0x01, 0x73, 0x77, 0x69,
+ 0x74, 0x63, 0x68, 0x00, 0x01, 0x00, 0x00, 0x08,
+ 0xb4, 0x4c, 0xb4, 0x74, 0xb4, 0x8d, 0xb4, 0xa6,
+ 0xb4, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x78, 0x00, 0xa0, 0x00,
+ 0x78, 0x00, 0xa0, 0x00, 0x04, 0x01, 0x4a, 0x6f,
+ 0x68, 0x6e, 0x20, 0x4e, 0x6f, 0x74, 0x79, 0x00,
+ 0x48, 0x65, 0x27, 0x73, 0x20, 0x6f, 0x62, 0x73,
+ 0x65, 0x73, 0x73, 0x65, 0x64, 0x20, 0x77, 0x69,
+ 0x74, 0x68, 0x20, 0x70, 0x61, 0x63, 0x6b, 0x69,
+ 0x6e, 0x67, 0x20, 0x74, 0x68, 0x65, 0x20, 0x6d,
+ 0x6f, 0x6e, 0x65, 0x79, 0x2e, 0x00, 0x00, 0x02,
+ 0xcf, 0x00, 0x6c, 0x00, 0x3f, 0x01, 0xc1, 0x00,
+ 0xc1, 0x00, 0xae, 0x00, 0xc1, 0x00, 0xae, 0x00,
+ 0x02, 0x01, 0x74, 0x6f, 0x6e, 0x73, 0x20, 0x6f,
+ 0x66, 0x20, 0x67, 0x6f, 0x6c, 0x64, 0x00, 0x28,
+ 0x67, 0x75, 0x6c, 0x70, 0x29, 0x00, 0x00, 0x03,
+ 0x06, 0x00, 0x5c, 0x00, 0x24, 0x00, 0x96, 0x00,
+ 0x58, 0x00, 0xad, 0x00, 0x58, 0x00, 0xad, 0x00,
+ 0x04, 0x01, 0x73, 0x61, 0x66, 0x65, 0x00, 0x01,
+ 0x04, 0x72, 0x00, 0x5e, 0x00, 0xb0, 0x00, 0x8d,
+ 0x00, 0x8c, 0x00, 0x9e, 0x00, 0x8c, 0x00, 0x9e,
+ 0x00, 0x01, 0x01, 0x73, 0x61, 0x66, 0x65, 0x00,
+ 0x01, 0x05, 0x0b, 0x01, 0x36, 0x00, 0x1c, 0x01,
+ 0x47, 0x00, 0xc1, 0x00, 0xae, 0x00, 0xc1, 0x00,
+ 0xae, 0x00, 0x02, 0x01, 0x63, 0x61, 0x6d, 0x65,
+ 0x72, 0x61, 0x00, 0x49, 0x74, 0x20, 0x6d, 0x75,
+ 0x73, 0x74, 0x20, 0x62, 0x65, 0x20, 0x61, 0x20,
+ 0x70, 0x61, 0x72, 0x74, 0x20, 0x6f, 0x66, 0x20,
+ 0x74, 0x68, 0x65, 0x20, 0x73, 0x65, 0x63, 0x75,
+ 0x72, 0x69, 0x74, 0x79, 0x20, 0x73, 0x79, 0x73,
+ 0x74, 0x65, 0x6d, 0x2e, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x49, 0xb5, 0x4a, 0xb5, 0x4d, 0xb5, 0x4f, 0xb5,
+ 0x53, 0xb5, 0x55, 0xb5, 0x5a, 0xb5, 0x5d, 0xb5,
+ 0x61, 0xb5, 0x62, 0xb5, 0x63, 0xb5, 0x68, 0xb5,
+ 0x6c, 0xb5, 0x6f, 0xb5, 0x71, 0xb5, 0x75, 0xb5,
+ 0x7a, 0xb5, 0x7c, 0xb5, 0x7f, 0xb5, 0x82, 0xb5,
+ 0x88, 0xb5, 0x8b, 0xb5, 0x8d, 0xb5, 0x8f, 0xb5,
+ 0x93, 0xb5, 0x96, 0xb5, 0x99, 0xb5, 0xa0, 0xb5,
+ 0xa1, 0xb5, 0xa2, 0xb5, 0xaa, 0xb5, 0xac, 0xb5,
+ 0xb0, 0xb5, 0xb6, 0xb5, 0xb8, 0xb5, 0xbd, 0xb5,
+ 0xbe, 0xb5, 0xc3, 0xb5, 0xc4, 0xb5, 0xc6, 0xb5,
+ 0xc8, 0xb5, 0xcb, 0xb5, 0xff, 0x5f, 0x63, 0xff,
+ 0x00, 0xff, 0x5d, 0x00, 0x62, 0xff, 0x00, 0xff,
+ 0x54, 0x55, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff,
+ 0x65, 0x69, 0x00, 0xff, 0xff, 0xff, 0x00, 0x11,
+ 0x00, 0x00, 0xff, 0x0e, 0x00, 0x12, 0xff, 0x29,
+ 0x00, 0xff, 0x00, 0xff, 0x14, 0x15, 0x2b, 0xff,
+ 0x00, 0x0a, 0x0b, 0x0c, 0xff, 0x25, 0xff, 0x16,
+ 0x00, 0xff, 0x19, 0x27, 0xff, 0x02, 0x03, 0x00,
+ 0x00, 0x00, 0xff, 0x1b, 0x00, 0xff, 0x07, 0xff,
+ 0x0d, 0xff, 0x1f, 0x00, 0x30, 0xff, 0x1a, 0x2c,
+ 0xff, 0x00, 0x00, 0xff, 0x00, 0x13, 0x22, 0x00,
+ 0x26, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0xff, 0x00,
+ 0x00, 0x00, 0xff, 0x3e, 0x3f, 0x40, 0x41, 0x00,
+ 0xff, 0x52, 0xff, 0x34, 0x3c, 0x00, 0x00, 0xff,
+ 0xff, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00,
+ 0xff, 0x00, 0xff, 0x00, 0x00, 0xff, 0x6e, 0x6f,
+ 0xff, 0x22, 0xb6, 0x24, 0xb6, 0x2e, 0xb6, 0x3a,
+ 0xb6, 0x48, 0xb6, 0x56, 0xb6, 0x6a, 0xb6, 0x7a,
+ 0xb6, 0x8c, 0xb6, 0x9a, 0xb6, 0xa2, 0xb6, 0xc0,
+ 0xb6, 0xd2, 0xb6, 0xe0, 0xb6, 0xea, 0xb6, 0xfa,
+ 0xb6, 0x00, 0xb7, 0x02, 0xb7, 0x10, 0xb7, 0x2e,
+ 0xb7, 0x4e, 0xb7, 0x66, 0xb7, 0x80, 0xb7, 0xa0,
+ 0xb7, 0xb2, 0xb7, 0xc0, 0xb7, 0xcc, 0xb7, 0xec,
+ 0xb7, 0xf4, 0xb7, 0x02, 0xb8, 0x22, 0xb8, 0x34,
+ 0xb8, 0x44, 0xb8, 0x5c, 0xb8, 0x6a, 0xb8, 0x82,
+ 0xb8, 0x88, 0xb8, 0x8a, 0xb8, 0x94, 0xb8, 0x96,
+ 0xb8, 0x98, 0xb8, 0x9a, 0xb8, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x66,
+ 0x78, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x78, 0x78, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0xa9, 0x78, 0x00, 0x00, 0xbb, 0x78, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xcd, 0x78, 0xce, 0x78, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xe0, 0x78, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe7,
+ 0x78, 0xee, 0x78, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xf5, 0x78, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x79, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x19,
+ 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x2b, 0x79, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x50, 0x79, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x62, 0x79, 0x66, 0x79, 0x00,
+ 0x00, 0x75, 0x79, 0x87, 0x79, 0x96, 0x79, 0xa5,
+ 0x79, 0xb4, 0x79, 0xc3, 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, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0xd2, 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, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0xe4, 0x79, 0xeb, 0x79, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfd,
+ 0x79, 0x0f, 0x7a, 0x49, 0x7a, 0x5b, 0x7a, 0x6d,
+ 0x7a, 0x7f, 0x7a, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0xb9, 0x7a, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0xd0, 0x7a, 0xd7, 0x7a, 0x00, 0x00, 0x00,
+ 0x00, 0xde, 0x7a, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0xf0, 0x7a, 0x00, 0x00, 0xf7, 0x7a, 0x00,
+ 0x00, 0x09, 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, 0x00, 0x00, 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,
+ 0xb8, 0xf2, 0xb8, 0xfc, 0xb8, 0x08, 0xb9, 0x16,
+ 0xb9, 0x24, 0xb9, 0x38, 0xb9, 0x50, 0xb9, 0x62,
+ 0xb9, 0x70, 0xb9, 0x78, 0xb9, 0x96, 0xb9, 0xa8,
+ 0xb9, 0xb6, 0xb9, 0xc0, 0xb9, 0xd0, 0xb9, 0xd6,
+ 0xb9, 0xd8, 0xb9, 0xe6, 0xb9, 0x04, 0xba, 0x24,
+ 0xba, 0x3c, 0xba, 0x56, 0xba, 0x76, 0xba, 0x88,
+ 0xba, 0x96, 0xba, 0xa2, 0xba, 0xc2, 0xba, 0xca,
+ 0xba, 0xd8, 0xba, 0xf8, 0xba, 0x0a, 0xbb, 0x1a,
+ 0xbb, 0x32, 0xbb, 0x40, 0xbb, 0x58, 0xbb, 0x5e,
+ 0xbb, 0x60, 0xbb, 0x6a, 0xbb, 0x6c, 0xbb, 0x6e,
+ 0xbb, 0x70, 0xbb, 0x00, 0x00, 0xed, 0x3f, 0x07,
+ 0x40, 0x21, 0x40, 0x48, 0x40, 0x4f, 0x40, 0x56,
+ 0x40, 0x60, 0x40, 0x7a, 0x40, 0x94, 0x40, 0x95,
+ 0x41, 0x9c, 0x41, 0xc3, 0x41, 0xca, 0x41, 0xce,
+ 0x41, 0x2c, 0x42, 0x33, 0x42, 0x4d, 0x42, 0x67,
+ 0x42, 0x3a, 0x43, 0x54, 0x43, 0x6e, 0x43, 0x88,
+ 0x43, 0xb5, 0x43, 0x82, 0x44, 0xcb, 0x44, 0xfc,
+ 0x44, 0x32, 0x45, 0x39, 0x45, 0x62, 0x46, 0xaf,
+ 0x46, 0x05, 0x47, 0x94, 0x47, 0xbc, 0x47, 0xdb,
+ 0x47, 0x36, 0x48, 0x3a, 0x48, 0x44, 0x48, 0x71,
+ 0x48, 0x7e, 0x48, 0x85, 0x48, 0x8c, 0x48, 0x93,
+ 0x48, 0xd4, 0x48, 0xdb, 0x48, 0xe2, 0x48, 0xe6,
+ 0x48, 0xea, 0x48, 0x11, 0x49, 0x18, 0x49, 0x64,
+ 0x4a, 0x8c, 0x4a, 0xed, 0x4a, 0xf4, 0x4a, 0x23,
+ 0x4b, 0x27, 0x4b, 0x2e, 0x4b, 0x35, 0x4b, 0xf5,
+ 0x4b, 0x18, 0x4c, 0x1c, 0x4c, 0x29, 0x4c, 0x30,
+ 0x4c, 0x37, 0x4c, 0x3e, 0x4c, 0x70, 0x4c, 0xa5,
+ 0x4c, 0xac, 0x4c, 0xf1, 0x4c, 0x56, 0x4d, 0x7d,
+ 0x4d, 0x81, 0x4d, 0x85, 0x4d, 0x89, 0x4d, 0x90,
+ 0x4d, 0x94, 0x4d, 0x47, 0x4e, 0x61, 0x4e, 0x85,
+ 0x4e, 0x9f, 0x4e, 0xb9, 0x4e, 0xe1, 0x4e, 0xe5,
+ 0x4e, 0x13, 0x4f, 0x14, 0x4f, 0x25, 0x4f, 0x32,
+ 0x4f, 0x0d, 0x50, 0x5f, 0x50, 0x66, 0x50, 0x80,
+ 0x50, 0x9a, 0x50, 0xf6, 0x50, 0xfd, 0x50, 0x04,
+ 0x51, 0xc8, 0x51, 0xcf, 0x51, 0xe9, 0x51, 0xf0,
+ 0x51, 0x17, 0x52, 0x2c, 0x52, 0x33, 0x52, 0x37,
+ 0x52, 0x20, 0x53, 0x3a, 0x53, 0x41, 0x53, 0x48,
+ 0x53, 0xa1, 0x53, 0x03, 0x54, 0x0a, 0x54, 0x24,
+ 0x54, 0x3e, 0x54, 0x58, 0x54, 0xb3, 0x54, 0x02,
+ 0x55, 0x00, 0x00, 0x47, 0x55, 0x61, 0x55, 0xa1,
+ 0x55, 0xa8, 0x55, 0x34, 0x56, 0x3b, 0x56, 0x63,
+ 0x56, 0x74, 0x56, 0x8e, 0x56, 0x95, 0x56, 0x9c,
+ 0x56, 0xb3, 0x56, 0xb7, 0x56, 0xd6, 0x56, 0xdd,
+ 0x56, 0xe4, 0x56, 0xeb, 0x56, 0xf2, 0x56, 0xf6,
+ 0x56, 0x21, 0x57, 0x28, 0x57, 0x4f, 0x57, 0x56,
+ 0x57, 0x93, 0x57, 0xfa, 0x57, 0x01, 0x58, 0x05,
+ 0x58, 0x32, 0x58, 0x3f, 0x58, 0x46, 0x58, 0x4d,
+ 0x58, 0x54, 0x58, 0x6e, 0x58, 0x88, 0x58, 0xa2,
+ 0x58, 0xb7, 0x58, 0xdf, 0x58, 0x03, 0x59, 0x0a,
+ 0x59, 0x24, 0x59, 0x3e, 0x59, 0x78, 0x59, 0x7f,
+ 0x59, 0x86, 0x59, 0x8d, 0x59, 0x94, 0x59, 0x8b,
+ 0x5a, 0x3a, 0x5b, 0x44, 0x5b, 0x59, 0x5b, 0xe1,
+ 0x5b, 0xee, 0x5b, 0x0d, 0x5c, 0x72, 0x5c, 0x79,
+ 0x5c, 0x80, 0x5c, 0x84, 0x5c, 0xdb, 0x5c, 0xe2,
+ 0x5c, 0xe9, 0x5c, 0xf0, 0x5c, 0x1d, 0x5d, 0x24,
+ 0x5d, 0x88, 0x5d, 0x4d, 0x5e, 0x73, 0x5f, 0x9a,
+ 0x5f, 0xa1, 0x5f, 0xa8, 0x5f, 0xaf, 0x5f, 0xb6,
+ 0x5f, 0xba, 0x5f, 0xe5, 0x5f, 0xec, 0x5f, 0xf3,
+ 0x5f, 0x3a, 0x60, 0x3e, 0x60, 0x74, 0x60, 0x78,
+ 0x60, 0x7f, 0x60, 0x83, 0x60, 0x2b, 0x61, 0x76,
+ 0x61, 0xe9, 0x61, 0x05, 0x62, 0x17, 0x62, 0x29,
+ 0x62, 0xc1, 0x62, 0xd0, 0x62, 0x4a, 0x63, 0x51,
+ 0x63, 0x7f, 0x63, 0x99, 0x63, 0xa0, 0x63, 0xa7,
+ 0x63, 0xae, 0x63, 0xb5, 0x63, 0xbc, 0x63, 0xdc,
+ 0x63, 0xe3, 0x63, 0xea, 0x63, 0x11, 0x64, 0x6e,
+ 0x64, 0x75, 0x64, 0x79, 0x64, 0x80, 0x64, 0xc4,
+ 0x64, 0x07, 0x65, 0x19, 0x65, 0x41, 0x65, 0x5b,
+ 0x65, 0x92, 0x65, 0xc3, 0x65, 0x35, 0x66, 0x3c,
+ 0x66, 0x63, 0x66, 0x6a, 0x66, 0x71, 0x66, 0x78,
+ 0x66, 0x7c, 0x66, 0xa9, 0x66, 0xb5, 0x66, 0xe2,
+ 0x66, 0x0f, 0x67, 0x16, 0x67, 0x1d, 0x67, 0x72,
+ 0x67, 0x8c, 0x67, 0xa6, 0x67, 0xfa, 0x67, 0xfe,
+ 0x67, 0x05, 0x68, 0x7a, 0x68, 0x11, 0x69, 0x18,
+ 0x69, 0x54, 0x69, 0x5b, 0x69, 0x62, 0x69, 0xb8,
+ 0x69, 0x1b, 0x6a, 0x73, 0x6a, 0xcb, 0x6a, 0x2e,
+ 0x6b, 0xa6, 0x6b, 0xad, 0x6b, 0xda, 0x6b, 0xe1,
+ 0x6b, 0x1c, 0x6c, 0x20, 0x6c, 0x24, 0x6c, 0x2b,
+ 0x6c, 0x45, 0x6c, 0x7c, 0x6c, 0x83, 0x6c, 0x9d,
+ 0x6c, 0xc4, 0x6c, 0x20, 0x6f, 0x32, 0x6f, 0x4d,
+ 0x6f, 0x75, 0x6f, 0x96, 0x70, 0xbb, 0x70, 0xc8,
+ 0x70, 0xef, 0x70, 0xf9, 0x70, 0x2c, 0x71, 0xae,
+ 0x71, 0xeb, 0x71, 0x18, 0x72, 0x1c, 0x72, 0x44,
+ 0x72, 0x4e, 0x72, 0x55, 0x72, 0x91, 0x72, 0xbe,
+ 0x72, 0xc2, 0x72, 0x05, 0x73, 0x09, 0x73, 0x28,
+ 0x73, 0x2f, 0x73, 0x36, 0x73, 0x81, 0x73, 0x9c,
+ 0x73, 0xa3, 0x73, 0x01, 0x74, 0x08, 0x74, 0x6f,
+ 0x74, 0x76, 0x74, 0xb3, 0x74, 0xcd, 0x74, 0xd1,
+ 0x74, 0xf9, 0x74, 0x13, 0x75, 0xd5, 0x77, 0x02,
+ 0x78, 0x00, 0x00, 0x3d, 0x78, 0x4a, 0x78, 0x51,
+ 0x78, 0x58, 0x78, 0x5f, 0x78, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0xfa, 0x98,
+ 0x04, 0x10, 0x99, 0x29, 0x21, 0x99, 0x25, 0xca,
+ 0x9a, 0xff, 0x66, 0x9c, 0x33, 0x6d, 0x9c, 0x48,
+ 0x79, 0x9c, 0xde, 0xbb, 0xdf, 0xbb, 0xfb, 0xbb,
+ 0x29, 0xbc, 0x33, 0xbc, 0x34, 0xbc, 0x3e, 0xbc,
+ 0x5a, 0xbc, 0x76, 0xbc, 0x77, 0xbc, 0x8a, 0xbc,
+ 0x94, 0xbc, 0xb9, 0xbc, 0xcc, 0xbc, 0xd6, 0xbc,
+ 0x04, 0xbd, 0x05, 0xbd, 0x06, 0xbd, 0x19, 0xbd,
+ 0x2c, 0xbd, 0x36, 0xbd, 0x49, 0xbd, 0x4a, 0xbd,
+ 0x8a, 0xbd, 0x8b, 0xbd, 0xb9, 0xbd, 0xc3, 0xbd,
+ 0xe8, 0xbd, 0xe9, 0xbd, 0xea, 0xbd, 0xeb, 0xbd,
+ 0xf5, 0xbd, 0x1a, 0xbe, 0x51, 0xbe, 0x76, 0xbe,
+ 0xa4, 0xbe, 0xa5, 0xbe, 0xa6, 0xbe, 0xb0, 0xbe,
+ 0xb1, 0xbe, 0xb2, 0xbe, 0xb3, 0xbe, 0x00, 0x00,
+ 0x00, 0x00, 0x4f, 0x04, 0x02, 0x00, 0x01, 0x5f,
+ 0x00, 0x26, 0x7b, 0x51, 0x03, 0x01, 0x10, 0x01,
+ 0x64, 0x00, 0x89, 0x7b, 0x4f, 0x03, 0x02, 0x19,
+ 0x01, 0x5f, 0x00, 0xf6, 0x7b, 0x00, 0x5b, 0x04,
+ 0x01, 0xd1, 0x00, 0x9a, 0x00, 0xfd, 0x7b, 0x5b,
+ 0x01, 0x04, 0xf0, 0x00, 0xa3, 0x00, 0xc9, 0x7c,
+ 0x57, 0x01, 0x04, 0xf0, 0x00, 0xa3, 0x00, 0xd0,
+ 0x7c, 0x57, 0x04, 0x04, 0xd1, 0x00, 0x9a, 0x00,
+ 0xd7, 0x7c, 0x55, 0x05, 0x01, 0x73, 0x00, 0xc2,
+ 0x00, 0xde, 0x7c, 0x00, 0x50, 0x02, 0x04, 0xc7,
+ 0x00, 0xb3, 0x00, 0xe5, 0x7c, 0x00, 0x00, 0x4d,
+ 0x07, 0x02, 0x23, 0x01, 0xb9, 0x00, 0x1a, 0x7d,
+ 0x00, 0x4e, 0x01, 0x02, 0x52, 0x00, 0xb8, 0x00,
+ 0x02, 0x7e, 0x53, 0x01, 0x02, 0x49, 0x00, 0xbc,
+ 0x00, 0x4f, 0x7e, 0x59, 0x07, 0x01, 0xce, 0x00,
+ 0xc2, 0x00, 0x23, 0x7f, 0x00, 0x5c, 0x05, 0x04,
+ 0x6e, 0x00, 0x98, 0x00, 0xbd, 0x7f, 0x56, 0x01,
+ 0x01, 0xc0, 0x00, 0x98, 0x00, 0x47, 0x80, 0x5a,
+ 0x06, 0x02, 0x04, 0x01, 0xc2, 0x00, 0x84, 0x80,
+ 0x00, 0x00, 0x4b, 0x02, 0x01, 0x7a, 0x00, 0x97,
+ 0x00, 0x8b, 0x80, 0x52, 0x02, 0x01, 0x8b, 0x00,
+ 0x9c, 0x00, 0xc3, 0x80, 0x00, 0x32, 0x01, 0x02,
+ 0xbd, 0x00, 0x9f, 0x00, 0x17, 0x81, 0x00, 0x0e,
+ 0x03, 0x02, 0xcb, 0x00, 0xab, 0x00, 0x74, 0x81,
+ 0x22, 0x02, 0x02, 0x94, 0x00, 0xbd, 0x00, 0xc2,
+ 0x81, 0x2b, 0x06, 0x01, 0x5a, 0x00, 0xbc, 0x00,
+ 0x3d, 0x82, 0x0d, 0x03, 0x02, 0xcb, 0x00, 0xab,
+ 0x00, 0x0b, 0x83, 0x00, 0x1b, 0x06, 0x04, 0x67,
+ 0x00, 0xc0, 0x00, 0x12, 0x83, 0x2b, 0x04, 0x01,
+ 0xc5, 0x00, 0xb7, 0x00, 0x98, 0x83, 0x00, 0x20,
+ 0x01, 0x02, 0x6e, 0x00, 0xb9, 0x00, 0x9f, 0x83,
+ 0x00, 0x09, 0x03, 0x02, 0x2c, 0x00, 0xa8, 0x00,
+ 0xc7, 0x84, 0x2c, 0x04, 0x03, 0xec, 0x00, 0xb3,
+ 0x00, 0x38, 0x85, 0x08, 0x03, 0x02, 0x2c, 0x00,
+ 0xa8, 0x00, 0xd6, 0x85, 0x0f, 0x03, 0x02, 0x2c,
+ 0x00, 0xa8, 0x00, 0xdd, 0x85, 0x2e, 0x04, 0x03,
+ 0xec, 0x00, 0xb3, 0x00, 0xe4, 0x85, 0x00, 0x00,
+ 0x00, 0x19, 0x07, 0x04, 0xa2, 0x00, 0xc2, 0x00,
+ 0xeb, 0x85, 0x15, 0x07, 0x04, 0xa2, 0x00, 0xc2,
+ 0x00, 0x2c, 0x86, 0x00, 0x13, 0x05, 0x01, 0x8b,
+ 0x00, 0xa5, 0x00, 0x3d, 0x86, 0x0c, 0x09, 0x02,
+ 0x0e, 0x01, 0xb6, 0x00, 0x65, 0x86, 0x00, 0x05,
+ 0x03, 0x04, 0x57, 0x00, 0xb9, 0x00, 0xa9, 0x86,
+ 0x00, 0x07, 0x04, 0x04, 0x30, 0x00, 0xbe, 0x00,
+ 0x82, 0x8b, 0x24, 0x0a, 0x02, 0xcf, 0x00, 0xc2,
+ 0x00, 0xfc, 0x8b, 0x00, 0x00, 0x0a, 0x01, 0x04,
+ 0x3d, 0x00, 0xbb, 0x00, 0xc9, 0x88, 0x0b, 0x01,
+ 0x04, 0x3d, 0x00, 0xbb, 0x00, 0x18, 0x89, 0x0a,
+ 0x02, 0x04, 0x02, 0x01, 0xb5, 0x00, 0x2d, 0x89,
+ 0x0b, 0x02, 0x04, 0x02, 0x01, 0xb5, 0x00, 0xb7,
+ 0x89, 0x17, 0x02, 0x04, 0x02, 0x01, 0xb5, 0x00,
+ 0xcc, 0x89, 0x1a, 0x09, 0x03, 0x9e, 0x00, 0xc6,
+ 0x00, 0x22, 0x8a, 0x33, 0x02, 0x04, 0x02, 0x01,
+ 0xb5, 0x00, 0x6f, 0x8a, 0x00, 0x00, 0x23, 0x05,
+ 0x04, 0x0c, 0x01, 0x91, 0x00, 0x6e, 0x8c, 0x2e,
+ 0x02, 0x04, 0xcd, 0x00, 0x99, 0x00, 0xc8, 0x8c,
+ 0x2c, 0x02, 0x04, 0xea, 0x00, 0x98, 0x00, 0x42,
+ 0x8d, 0x0d, 0x02, 0x04, 0xea, 0x00, 0x98, 0x00,
+ 0x49, 0x8d, 0x0e, 0x02, 0x04, 0xea, 0x00, 0x98,
+ 0x00, 0x50, 0x8d, 0x00, 0x30, 0x05, 0x01, 0x9f,
+ 0x00, 0xa6, 0x00, 0x57, 0x8d, 0x00, 0x02, 0x02,
+ 0x01, 0xe6, 0x00, 0xa4, 0x00, 0x1d, 0x8f, 0x02,
+ 0x03, 0x01, 0xe6, 0x00, 0xa4, 0x00, 0x1d, 0x8f,
+ 0x2d, 0x04, 0x04, 0xec, 0x00, 0x8e, 0x00, 0xc8,
+ 0x8f, 0x2f, 0x0c, 0x04, 0xec, 0x00, 0x8e, 0x00,
+ 0x54, 0x90, 0x00, 0x00, 0x00, 0x00, 0x49, 0x02,
+ 0x02, 0x2c, 0x01, 0xb2, 0x00, 0xbc, 0x90, 0x00,
+ 0x34, 0x01, 0x01, 0x3d, 0x00, 0xaf, 0x00, 0xf5,
+ 0x90, 0x43, 0x01, 0x01, 0x3d, 0x00, 0xaf, 0x00,
+ 0xfc, 0x90, 0x47, 0x01, 0x01, 0x3d, 0x00, 0xaf,
+ 0x00, 0xcb, 0x91, 0x3d, 0x01, 0x01, 0x3d, 0x00,
+ 0xaf, 0x00, 0x09, 0x92, 0x00, 0x38, 0x08, 0x01,
+ 0xdd, 0x00, 0xa0, 0x00, 0x47, 0x92, 0x40, 0x08,
+ 0x01, 0xdd, 0x00, 0xa0, 0x00, 0x4e, 0x92, 0x3f,
+ 0x06, 0x01, 0x8d, 0x00, 0x9f, 0x00, 0x3d, 0x93,
+ 0x37, 0x03, 0x04, 0x3f, 0x00, 0xa8, 0x00, 0xaf,
+ 0x93, 0x44, 0x0c, 0x01, 0xc0, 0x00, 0xa0, 0x00,
+ 0xd5, 0x93, 0x45, 0x02, 0x04, 0x51, 0x00, 0xa0,
+ 0x00, 0x49, 0x94, 0x00, 0x3c, 0x02, 0x02, 0x14,
+ 0x01, 0x9f, 0x00, 0x72, 0x94, 0x3e, 0x02, 0x02,
+ 0x14, 0x01, 0x9f, 0x00, 0x9b, 0x94, 0x3a, 0x07,
+ 0x04, 0x44, 0x00, 0x81, 0x00, 0xd4, 0x94, 0x3b,
+ 0x02, 0x02, 0x14, 0x01, 0x9f, 0x00, 0x1b, 0x95,
+ 0x00, 0x39, 0x05, 0x01, 0x91, 0x00, 0xc5, 0x00,
+ 0x37, 0x95, 0x36, 0x05, 0x01, 0x81, 0x00, 0xad,
+ 0x00, 0xc8, 0x95, 0x35, 0x04, 0x01, 0x74, 0x00,
+ 0xbf, 0x00, 0xeb, 0x95, 0x43, 0x04, 0x01, 0x74,
+ 0x00, 0xbf, 0x00, 0x2f, 0x96, 0x34, 0x04, 0x01,
+ 0x74, 0x00, 0xbf, 0x00, 0x6c, 0x96, 0x00, 0x00,
+ 0x00, 0x4a, 0x01, 0x01, 0x3b, 0x00, 0xa3, 0x00,
+ 0x73, 0x96, 0x00, 0x00, 0x00, 0x00, 0x00, 0x57,
+ 0x6f, 0x77, 0x2c, 0x20, 0x6e, 0x6f, 0x77, 0x20,
+ 0x69, 0x74, 0x20, 0x6c, 0x6f, 0x6f, 0x6b, 0x73,
+ 0x20, 0x6c, 0x69, 0x6b, 0x65, 0x20, 0x69, 0x74,
+ 0x20, 0x63, 0x61, 0x6d, 0x65, 0x20, 0x73, 0x74,
+ 0x72, 0x61, 0x69, 0x67, 0x68, 0x74, 0x00, 0x66,
+ 0x72, 0x6f, 0x6d, 0x20, 0x74, 0x68, 0x65, 0x20,
+ 0x73, 0x74, 0x6f, 0x72, 0x65, 0x21, 0x00, 0x00,
+ 0x54, 0x79, 0x69, 0x6e, 0x67, 0x20, 0x74, 0x68,
+ 0x65, 0x20, 0x72, 0x69, 0x62, 0x62, 0x6f, 0x6e,
+ 0x20, 0x61, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x20,
+ 0x74, 0x68, 0x65, 0x20, 0x72, 0x61, 0x6b, 0x65,
+ 0x20, 0x6e, 0x61, 0x72, 0x72, 0x6f, 0x77, 0x65,
+ 0x64, 0x00, 0x74, 0x68, 0x65, 0x20, 0x73, 0x70,
+ 0x61, 0x63, 0x65, 0x20, 0x62, 0x65, 0x74, 0x77,
+ 0x65, 0x65, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x20,
+ 0x74, 0x65, 0x65, 0x74, 0x68, 0x21, 0x00, 0x00,
+ 0x57, 0x69, 0x74, 0x68, 0x20, 0x74, 0x68, 0x65,
+ 0x20, 0x68, 0x65, 0x6c, 0x70, 0x20, 0x6f, 0x66,
+ 0x20, 0x73, 0x75, 0x70, 0x65, 0x72, 0x20, 0x67,
+ 0x6c, 0x75, 0x65, 0x20, 0x49, 0x20, 0x6d, 0x61,
+ 0x64, 0x65, 0x2e, 0x2e, 0x2e, 0x00, 0x73, 0x6f,
+ 0x6d, 0x65, 0x74, 0x68, 0x69, 0x6e, 0x67, 0x2e,
+ 0x2e, 0x2e, 0x00, 0x00, 0x55, 0x73, 0x69, 0x6e,
+ 0x67, 0x20, 0x74, 0x68, 0x65, 0x20, 0x73, 0x75,
+ 0x70, 0x65, 0x72, 0x20, 0x67, 0x6c, 0x75, 0x65,
+ 0x20, 0x6f, 0x6e, 0x63, 0x65, 0x20, 0x61, 0x67,
+ 0x61, 0x69, 0x6e, 0x2e, 0x2e, 0x2e, 0x00, 0x00,
+ 0x54, 0x68, 0x65, 0x20, 0x77, 0x68, 0x69, 0x73,
+ 0x6b, 0x79, 0x20, 0x69, 0x73, 0x20, 0x73, 0x74,
+ 0x72, 0x6f, 0x6e, 0x67, 0x20, 0x65, 0x6e, 0x6f,
+ 0x75, 0x67, 0x68, 0x20, 0x74, 0x6f, 0x20, 0x75,
+ 0x73, 0x65, 0x20, 0x61, 0x73, 0x00, 0x66, 0x75,
+ 0x65, 0x6c, 0x2c, 0x20, 0x62, 0x75, 0x74, 0x20,
+ 0x49, 0x20, 0x77, 0x6f, 0x6e, 0x64, 0x65, 0x72,
+ 0x20, 0x69, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20,
+ 0x63, 0x68, 0x61, 0x69, 0x6e, 0x73, 0x61, 0x77,
+ 0x00, 0x63, 0x61, 0x6e, 0x20, 0x74, 0x61, 0x6b,
+ 0x65, 0x20, 0x69, 0x74, 0x2e, 0x2e, 0x2e, 0x00,
+ 0x00, 0x4f, 0x6e, 0x63, 0x65, 0x20, 0x61, 0x67,
+ 0x61, 0x69, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x20,
+ 0x73, 0x75, 0x70, 0x65, 0x72, 0x2d, 0x67, 0x6c,
+ 0x75, 0x65, 0x20, 0x63, 0x6f, 0x6d, 0x65, 0x73,
+ 0x20, 0x69, 0x6e, 0x20, 0x68, 0x61, 0x6e, 0x64,
+ 0x79, 0x2e, 0x2e, 0x2e, 0x00, 0x00, 0x54, 0x68,
+ 0x65, 0x20, 0x73, 0x6f, 0x6f, 0x74, 0x20, 0x67,
+ 0x69, 0x76, 0x65, 0x73, 0x20, 0x74, 0x68, 0x65,
+ 0x20, 0x70, 0x6f, 0x74, 0x61, 0x74, 0x6f, 0x65,
+ 0x20, 0x61, 0x20, 0x62, 0x72, 0x61, 0x6e, 0x64,
+ 0x20, 0x6e, 0x65, 0x77, 0x20, 0x6c, 0x6f, 0x6f,
+ 0x6b, 0x2e, 0x2e, 0x2e, 0x00, 0x00, 0x4e, 0x6f,
+ 0x77, 0x20, 0x49, 0x27, 0x6d, 0x20, 0x72, 0x65,
+ 0x61, 0x64, 0x79, 0x20, 0x74, 0x6f, 0x20, 0x63,
+ 0x6f, 0x6e, 0x71, 0x75, 0x65, 0x72, 0x20, 0x74,
+ 0x68, 0x65, 0x20, 0x6c, 0x61, 0x6b, 0x65, 0x21,
+ 0x00, 0x00, 0x49, 0x74, 0x20, 0x6d, 0x61, 0x6b,
+ 0x65, 0x73, 0x20, 0x6d, 0x65, 0x20, 0x66, 0x65,
+ 0x65, 0x6c, 0x20, 0x6c, 0x69, 0x6b, 0x65, 0x20,
+ 0x61, 0x6e, 0x6f, 0x74, 0x68, 0x65, 0x72, 0x00,
+ 0x77, 0x61, 0x6e, 0x6e, 0x61, 0x2d, 0x62, 0x65,
+ 0x20, 0x63, 0x6c, 0x69, 0x66, 0x66, 0x68, 0x61,
+ 0x6e, 0x67, 0x65, 0x72, 0x2e, 0x00, 0x00, 0x49,
+ 0x20, 0x77, 0x6f, 0x75, 0x6c, 0x64, 0x6e, 0x27,
+ 0x74, 0x20, 0x69, 0x6d, 0x70, 0x72, 0x65, 0x73,
+ 0x73, 0x20, 0x61, 0x6e, 0x79, 0x6f, 0x6e, 0x65,
+ 0x20, 0x77, 0x69, 0x74, 0x68, 0x20, 0x73, 0x75,
+ 0x63, 0x68, 0x20, 0x63, 0x61, 0x6e, 0x64, 0x79,
+ 0x2e, 0x00, 0x00, 0x49, 0x74, 0x27, 0x73, 0x20,
+ 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x20, 0x65,
+ 0x6e, 0x6f, 0x75, 0x67, 0x68, 0x2e, 0x00, 0x00,
+ 0x47, 0x72, 0x65, 0x61, 0x74, 0x20, 0x69, 0x64,
+ 0x65, 0x61, 0x21, 0x20, 0x42, 0x75, 0x74, 0x2c,
+ 0x20, 0x79, 0x6f, 0x75, 0x20, 0x73, 0x65, 0x65,
+ 0x2c, 0x20, 0x65, 0x63, 0x6f, 0x6d, 0x61, 0x6e,
+ 0x69, 0x61, 0x63, 0x73, 0x20, 0x6d, 0x69, 0x67,
+ 0x68, 0x74, 0x00, 0x62, 0x65, 0x20, 0x77, 0x61,
+ 0x74, 0x63, 0x68, 0x69, 0x6e, 0x67, 0x2e, 0x2e,
+ 0x2e, 0x00, 0x00, 0x49, 0x74, 0x20, 0x77, 0x6f,
+ 0x6e, 0x27, 0x74, 0x20, 0x6c, 0x6f, 0x6f, 0x6b,
+ 0x20, 0x61, 0x6e, 0x79, 0x20, 0x62, 0x65, 0x74,
+ 0x74, 0x65, 0x72, 0x20, 0x69, 0x6e, 0x20, 0x61,
+ 0x20, 0x77, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72,
+ 0x2e, 0x00, 0x00, 0x54, 0x68, 0x65, 0x20, 0x63,
+ 0x61, 0x6b, 0x65, 0x20, 0x69, 0x73, 0x20, 0x74,
+ 0x6f, 0x6f, 0x20, 0x62, 0x69, 0x67, 0x20, 0x66,
+ 0x6f, 0x72, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20,
+ 0x77, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x2e,
+ 0x00, 0x00, 0x49, 0x20, 0x64, 0x6f, 0x6e, 0x27,
+ 0x74, 0x20, 0x77, 0x61, 0x6e, 0x74, 0x20, 0x74,
+ 0x6f, 0x20, 0x77, 0x61, 0x73, 0x74, 0x65, 0x20,
+ 0x74, 0x68, 0x69, 0x73, 0x20, 0x63, 0x61, 0x6e,
+ 0x64, 0x79, 0x2e, 0x00, 0x00, 0x54, 0x68, 0x65,
+ 0x20, 0x66, 0x6c, 0x6f, 0x77, 0x65, 0x72, 0x20,
+ 0x69, 0x73, 0x20, 0x62, 0x65, 0x61, 0x75, 0x74,
+ 0x69, 0x66, 0x75, 0x6c, 0x20, 0x65, 0x6e, 0x6f,
+ 0x75, 0x67, 0x68, 0x20, 0x77, 0x69, 0x74, 0x68,
+ 0x6f, 0x75, 0x74, 0x00, 0x61, 0x6e, 0x79, 0x20,
+ 0x66, 0x61, 0x6e, 0x63, 0x79, 0x20, 0x65, 0x78,
+ 0x74, 0x72, 0x61, 0x73, 0x2e, 0x00, 0x00, 0x47,
+ 0x6f, 0x6f, 0x64, 0x20, 0x69, 0x64, 0x65, 0x61,
+ 0x2c, 0x20, 0x62, 0x75, 0x74, 0x20, 0x49, 0x20,
+ 0x6e, 0x65, 0x65, 0x64, 0x20, 0x73, 0x6f, 0x6d,
+ 0x65, 0x74, 0x68, 0x69, 0x6e, 0x67, 0x20, 0x73,
+ 0x6d, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x00, 0x74,
+ 0x68, 0x61, 0x6e, 0x20, 0x74, 0x68, 0x69, 0x73,
+ 0x20, 0x72, 0x6f, 0x70, 0x65, 0x2e, 0x00, 0x00,
+ 0x49, 0x20, 0x6d, 0x69, 0x67, 0x68, 0x74, 0x20,
+ 0x6e, 0x65, 0x65, 0x64, 0x20, 0x74, 0x68, 0x69,
+ 0x73, 0x20, 0x63, 0x68, 0x65, 0x65, 0x73, 0x65,
+ 0x2e, 0x20, 0x41, 0x67, 0x61, 0x69, 0x6e, 0x2e,
+ 0x00, 0x00, 0x49, 0x74, 0x27, 0x73, 0x20, 0x6e,
+ 0x6f, 0x74, 0x20, 0x44, 0x4f, 0x4f, 0x4d, 0x2e,
+ 0x20, 0x49, 0x74, 0x27, 0x73, 0x20, 0x61, 0x20,
+ 0x68, 0x61, 0x72, 0x6d, 0x6c, 0x65, 0x73, 0x73,
+ 0x20, 0x67, 0x72, 0x61, 0x70, 0x68, 0x69, 0x63,
+ 0x20, 0x61, 0x64, 0x76, 0x65, 0x6e, 0x74, 0x75,
+ 0x72, 0x65, 0x00, 0x66, 0x6f, 0x72, 0x20, 0x74,
+ 0x68, 0x65, 0x20, 0x77, 0x68, 0x6f, 0x6c, 0x65,
+ 0x20, 0x66, 0x61, 0x6d, 0x69, 0x6c, 0x79, 0x20,
+ 0x28, 0x77, 0x65, 0x20, 0x77, 0x61, 0x6e, 0x74,
+ 0x20, 0x44, 0x4f, 0x4f, 0x4d, 0x21, 0x20, 0x77,
+ 0x65, 0x20, 0x77, 0x61, 0x6e, 0x74, 0x00, 0x44,
+ 0x4f, 0x4f, 0x4d, 0x21, 0x29, 0x2e, 0x00, 0x00,
+ 0x49, 0x20, 0x64, 0x6f, 0x6e, 0x27, 0x74, 0x20,
+ 0x6e, 0x65, 0x65, 0x64, 0x20, 0x74, 0x6f, 0x20,
+ 0x6f, 0x70, 0x65, 0x6e, 0x20, 0x74, 0x68, 0x69,
+ 0x73, 0x20, 0x6e, 0x75, 0x74, 0x2e, 0x00, 0x00,
+ 0x4c, 0x65, 0x74, 0x27, 0x73, 0x20, 0x6d, 0x61,
+ 0x6b, 0x65, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20,
+ 0x63, 0x6f, 0x72, 0x6b, 0x20, 0x6c, 0x61, 0x72,
+ 0x67, 0x65, 0x72, 0x2e, 0x00, 0x00, 0x4f, 0x6e,
+ 0x63, 0x65, 0x20, 0x61, 0x67, 0x61, 0x69, 0x6e,
+ 0x20, 0x74, 0x68, 0x65, 0x20, 0x73, 0x75, 0x70,
+ 0x65, 0x72, 0x20, 0x67, 0x6c, 0x75, 0x65, 0x20,
+ 0x63, 0x6f, 0x6d, 0x65, 0x73, 0x20, 0x69, 0x6e,
+ 0x20, 0x68, 0x61, 0x6e, 0x64, 0x79, 0x2e, 0x00,
+ 0x00, 0x54, 0x68, 0x65, 0x20, 0x62, 0x61, 0x74,
+ 0x74, 0x65, 0x72, 0x69, 0x65, 0x73, 0x20, 0x66,
+ 0x69, 0x74, 0x21, 0x00, 0x00, 0x49, 0x20, 0x74,
+ 0x69, 0x65, 0x64, 0x20, 0x74, 0x68, 0x65, 0x20,
+ 0x72, 0x6f, 0x70, 0x65, 0x20, 0x74, 0x6f, 0x20,
+ 0x74, 0x68, 0x65, 0x20, 0x70, 0x69, 0x6e, 0x2e,
+ 0x00, 0x00, 0x4c, 0x65, 0x74, 0x27, 0x73, 0x20,
+ 0x6d, 0x61, 0x6b, 0x65, 0x20, 0x69, 0x74, 0x20,
+ 0x73, 0x70, 0x69, 0x63, 0x79, 0x2e, 0x00, 0x00,
+ 0x12, 0x16, 0x17, 0xb4, 0xbe, 0x15, 0x18, 0x19,
+ 0xed, 0xbe, 0x01, 0x1c, 0x1f, 0x35, 0xbf, 0x11,
+ 0x1c, 0x1e, 0x35, 0xbf, 0x1f, 0x11, 0x20, 0x69,
+ 0xbf, 0x1e, 0x01, 0x20, 0x69, 0xbf, 0x0d, 0x10,
+ 0x0e, 0x8d, 0xbf, 0x08, 0x0f, 0x09, 0xe6, 0xbf,
+ 0x14, 0x21, 0x22, 0x13, 0xc0, 0x27, 0x28, 0x29,
+ 0x43, 0xc0, 0x26, 0x2a, 0x2b, 0x67, 0xc0, 0x12,
+ 0x13, 0x00, 0x9c, 0xc0, 0x01, 0x30, 0x00, 0xc8,
+ 0xc0, 0x10, 0x30, 0x00, 0xdd, 0xc0, 0x12, 0x14,
+ 0x00, 0x18, 0xc1, 0x12, 0x22, 0x00, 0x18, 0xc1,
+ 0x12, 0x1a, 0x00, 0x18, 0xc1, 0x12, 0x1c, 0x00,
+ 0x18, 0xc1, 0x12, 0x31, 0x00, 0x18, 0xc1, 0x12,
+ 0x13, 0x00, 0x40, 0xc1, 0x13, 0x30, 0x00, 0x67,
+ 0xc1, 0x18, 0x0a, 0x00, 0x8a, 0xc1, 0x18, 0x0b,
+ 0x00, 0x8a, 0xc1, 0x15, 0x26, 0x00, 0xc4, 0xc1,
+ 0x2d, 0x30, 0x00, 0xfd, 0xc1, 0x2c, 0x30, 0x00,
+ 0x1f, 0xc2, 0x2e, 0x30, 0x00, 0x1f, 0xc2, 0x31,
+ 0x1a, 0x00, 0x85, 0xc2, 0x31, 0x30, 0x00, 0x1f,
+ 0xc2, 0x37, 0x3b, 0x3c, 0xa5, 0xc2, 0x41, 0x38,
+ 0x40, 0xc3, 0xc2, 0x42, 0x34, 0x43, 0xee, 0xc2,
+ 0x54, 0x58, 0x59, 0x02, 0xc3, 0x57, 0x5a, 0x5b,
+ 0x1f, 0xc3, 0x00, 0x00, 0x00, 0x55, 0x73, 0x69,
+ 0x6e, 0x67, 0x20, 0x74, 0x68, 0x65, 0x73, 0x65,
+ 0x20, 0x74, 0x77, 0x6f, 0x20, 0x6f, 0x62, 0x6a,
+ 0x65, 0x63, 0x74, 0x73, 0x20, 0x74, 0x6f, 0x67,
+ 0x65, 0x74, 0x68, 0x65, 0x72, 0x20, 0x77, 0x6f,
+ 0x6e, 0x27, 0x74, 0x00, 0x61, 0x63, 0x63, 0x6f,
+ 0x6d, 0x70, 0x6c, 0x69, 0x73, 0x68, 0x20, 0x61,
+ 0x6e, 0x79, 0x74, 0x68, 0x69, 0x6e, 0x67, 0x2e,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 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, 0x00,
+ 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
+ 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
+ 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
+ 0x4b, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x5e, 0xc5, 0x7b, 0xc5, 0x9a, 0xc5, 0xc3,
+ 0xc5, 0xcf, 0xc5, 0xfd, 0xc5, 0x2c, 0xc6, 0x3f,
+ 0xc6, 0x62, 0xc6, 0x93, 0xc6, 0xb9, 0xc6, 0xda,
+ 0xc6, 0x0a, 0xc7, 0x42, 0xc7, 0x75, 0xc7, 0x96,
+ 0xc7, 0xcb, 0xc7, 0xf4, 0xc7, 0x60, 0xc8, 0xa0,
+ 0xc8, 0xd3, 0xc8, 0x21, 0xc9, 0x65, 0xc9, 0xa2,
+ 0xc9, 0xf2, 0xc9, 0x09, 0xca, 0x22, 0xca, 0x6b,
+ 0xca, 0xe7, 0xca, 0x2d, 0xcb, 0x61, 0xcb, 0x96,
+ 0xcb, 0xba, 0xcb, 0xf2, 0xcb, 0x5d, 0xcc, 0x79,
+ 0xcc, 0xdd, 0xcc, 0x0f, 0xcd, 0x25, 0xcd, 0x54,
+ 0xcd, 0x95, 0xcd, 0xc8, 0xcd, 0xfe, 0xcd, 0x33,
+ 0xce, 0x75, 0xce, 0xa6, 0xce, 0xe3, 0xce, 0x4f,
+ 0xcf, 0x6a, 0xcf, 0x9d, 0xcf, 0xf8, 0xcf, 0x05,
+ 0xd0, 0x32, 0xd0, 0x5c, 0xd0, 0x7b, 0xd0, 0xb1,
+ 0xd0, 0xe7, 0xd0, 0x30, 0xd1, 0x4e, 0xd1, 0x73,
+ 0xd1, 0x9d, 0xd1, 0xf4, 0xd1, 0x41, 0xd2, 0x6f,
+ 0xd2, 0xa7, 0xd2, 0xcb, 0xd2, 0xf6, 0xd2, 0x46,
+ 0xd3, 0x8a, 0xd3, 0xb3, 0xd3, 0xfb, 0xd3, 0x16,
+ 0xd4, 0x49, 0xd4, 0x7b, 0xd4, 0xa4, 0xd4, 0xca,
+ 0xd4, 0xeb, 0xd4, 0x1f, 0xd5, 0x43, 0xd5, 0x7f,
+ 0xd5, 0xaa, 0xd5, 0xc6, 0xd5, 0x42, 0xd6, 0xb7,
+ 0xd6, 0x0a, 0xd7, 0x1d, 0xd7, 0x67, 0xd7, 0x92,
+ 0xd7, 0xae, 0xd7, 0xe6, 0xd7, 0x35, 0xd8, 0x5e,
+ 0xd8, 0x01, 0x00, 0x66, 0x65, 0x61, 0x74, 0x68,
+ 0x65, 0x72, 0x00, 0x49, 0x74, 0x27, 0x73, 0x20,
+ 0x6b, 0x69, 0x63, 0x6b, 0x69, 0x6e, 0x67, 0x20,
+ 0x61, 0x73, 0x73, 0x21, 0x00, 0x00, 0x02, 0x00,
+ 0x73, 0x68, 0x6f, 0x74, 0x67, 0x75, 0x6e, 0x00,
+ 0x4c, 0x6f, 0x6f, 0x6b, 0x73, 0x20, 0x69, 0x6d,
+ 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x76, 0x65,
+ 0x2e, 0x2e, 0x2e, 0x00, 0x00, 0x03, 0x00, 0x74,
+ 0x6f, 0x6f, 0x6c, 0x62, 0x6f, 0x78, 0x00, 0x44,
+ 0x6f, 0x65, 0x73, 0x6e, 0x27, 0x74, 0x20, 0x73,
+ 0x65, 0x65, 0x6d, 0x20, 0x74, 0x6f, 0x20, 0x62,
+ 0x65, 0x20, 0x6c, 0x6f, 0x63, 0x6b, 0x65, 0x64,
+ 0x21, 0x2e, 0x2e, 0x2e, 0x00, 0x00, 0x04, 0x00,
+ 0x74, 0x6f, 0x6f, 0x6c, 0x62, 0x6f, 0x78, 0x00,
+ 0x00, 0x00, 0x05, 0x00, 0x73, 0x70, 0x61, 0x6e,
+ 0x6e, 0x65, 0x72, 0x00, 0x54, 0x68, 0x65, 0x73,
+ 0x65, 0x20, 0x74, 0x68, 0x69, 0x6e, 0x67, 0x73,
+ 0x20, 0x61, 0x6c, 0x77, 0x61, 0x79, 0x73, 0x20,
+ 0x63, 0x6f, 0x6d, 0x65, 0x20, 0x69, 0x6e, 0x20,
+ 0x68, 0x61, 0x6e, 0x64, 0x79, 0x2e, 0x00, 0x00,
+ 0x06, 0x00, 0x63, 0x6f, 0x6d, 0x62, 0x00, 0x49,
+ 0x27, 0x76, 0x65, 0x20, 0x68, 0x65, 0x61, 0x72,
+ 0x64, 0x20, 0x74, 0x68, 0x61, 0x74, 0x20, 0x73,
+ 0x6f, 0x6d, 0x65, 0x20, 0x70, 0x65, 0x6f, 0x70,
+ 0x6c, 0x65, 0x20, 0x75, 0x73, 0x65, 0x20, 0x74,
+ 0x68, 0x65, 0x73, 0x65, 0x2e, 0x00, 0x00, 0x07,
+ 0x01, 0x66, 0x61, 0x6e, 0x00, 0x52, 0x65, 0x66,
+ 0x72, 0x65, 0x73, 0x68, 0x69, 0x6e, 0x67, 0x2e,
+ 0x00, 0x00, 0x08, 0x00, 0x62, 0x72, 0x6f, 0x6b,
+ 0x65, 0x6e, 0x20, 0x70, 0x61, 0x64, 0x64, 0x6c,
+ 0x65, 0x00, 0x54, 0x6f, 0x6f, 0x20, 0x73, 0x68,
+ 0x6f, 0x72, 0x74, 0x20, 0x74, 0x6f, 0x20, 0x75,
+ 0x73, 0x65, 0x2e, 0x00, 0x00, 0x09, 0x00, 0x70,
+ 0x61, 0x64, 0x64, 0x6c, 0x65, 0x00, 0x54, 0x68,
+ 0x65, 0x20, 0x67, 0x6c, 0x75, 0x65, 0x20, 0x6b,
+ 0x65, 0x65, 0x70, 0x73, 0x20, 0x74, 0x68, 0x65,
+ 0x20, 0x62, 0x72, 0x61, 0x6e, 0x63, 0x68, 0x00,
+ 0x72, 0x65, 0x61, 0x6c, 0x6c, 0x79, 0x20, 0x68,
+ 0x61, 0x72, 0x64, 0x2e, 0x00, 0x00, 0x0a, 0x00,
+ 0x66, 0x6c, 0x6f, 0x77, 0x65, 0x72, 0x00, 0x49,
+ 0x74, 0x20, 0x72, 0x65, 0x61, 0x6c, 0x6c, 0x79,
+ 0x20, 0x73, 0x6d, 0x65, 0x6c, 0x6c, 0x73, 0x00,
+ 0x76, 0x65, 0x72, 0x79, 0x20, 0x6e, 0x69, 0x63,
+ 0x65, 0x2e, 0x00, 0x00, 0x0b, 0x00, 0x66, 0x6c,
+ 0x6f, 0x77, 0x65, 0x72, 0x00, 0x49, 0x74, 0x27,
+ 0x73, 0x20, 0x72, 0x65, 0x61, 0x6c, 0x6c, 0x79,
+ 0x20, 0x62, 0x65, 0x61, 0x75, 0x74, 0x69, 0x66,
+ 0x75, 0x6c, 0x2e, 0x00, 0x00, 0x0c, 0x00, 0x66,
+ 0x65, 0x61, 0x74, 0x68, 0x65, 0x72, 0x20, 0x64,
+ 0x75, 0x73, 0x74, 0x65, 0x72, 0x00, 0x49, 0x20,
+ 0x63, 0x61, 0x6e, 0x20, 0x70, 0x6c, 0x61, 0x79,
+ 0x20, 0x6a, 0x61, 0x6e, 0x69, 0x74, 0x6f, 0x72,
+ 0x20, 0x77, 0x69, 0x74, 0x68, 0x20, 0x74, 0x68,
+ 0x69, 0x73, 0x2e, 0x00, 0x00, 0x0d, 0x00, 0x63,
+ 0x68, 0x61, 0x69, 0x6e, 0x73, 0x61, 0x77, 0x00,
+ 0x49, 0x74, 0x27, 0x73, 0x20, 0x69, 0x6e, 0x20,
+ 0x67, 0x6f, 0x6f, 0x64, 0x20, 0x63, 0x6f, 0x6e,
+ 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x2c, 0x20,
+ 0x62, 0x75, 0x74, 0x20, 0x69, 0x74, 0x20, 0x68,
+ 0x61, 0x73, 0x20, 0x6e, 0x6f, 0x20, 0x66, 0x75,
+ 0x65, 0x6c, 0x2e, 0x00, 0x00, 0x0e, 0x01, 0x64,
+ 0x72, 0x75, 0x6e, 0x6b, 0x65, 0x6e, 0x20, 0x63,
+ 0x68, 0x61, 0x69, 0x6e, 0x73, 0x61, 0x77, 0x00,
+ 0x41, 0x20, 0x62, 0x69, 0x74, 0x20, 0x75, 0x6e,
+ 0x73, 0x74, 0x65, 0x61, 0x64, 0x79, 0x2c, 0x20,
+ 0x62, 0x75, 0x74, 0x20, 0x77, 0x69, 0x6c, 0x6c,
+ 0x20, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x00, 0x00,
+ 0x0f, 0x00, 0x62, 0x72, 0x61, 0x6e, 0x63, 0x68,
+ 0x00, 0x54, 0x68, 0x65, 0x20, 0x77, 0x6f, 0x6f,
+ 0x64, 0x20, 0x69, 0x73, 0x20, 0x76, 0x65, 0x72,
+ 0x79, 0x20, 0x68, 0x61, 0x72, 0x64, 0x2e, 0x00,
+ 0x00, 0x10, 0x00, 0x77, 0x68, 0x69, 0x73, 0x6b,
+ 0x79, 0x00, 0x54, 0x68, 0x65, 0x20, 0x6c, 0x61,
+ 0x62, 0x65, 0x6c, 0x20, 0x73, 0x61, 0x79, 0x73,
+ 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x77, 0x68,
+ 0x69, 0x73, 0x6b, 0x79, 0x20, 0x69, 0x73, 0x00,
+ 0x76, 0x65, 0x72, 0x79, 0x20, 0x73, 0x74, 0x72,
+ 0x6f, 0x6e, 0x67, 0x2e, 0x00, 0x00, 0x11, 0x00,
+ 0x6e, 0x65, 0x65, 0x64, 0x6c, 0x65, 0x00, 0x49,
+ 0x74, 0x27, 0x73, 0x20, 0x71, 0x75, 0x69, 0x74,
+ 0x65, 0x20, 0x62, 0x69, 0x67, 0x20, 0x66, 0x6f,
+ 0x72, 0x20, 0x61, 0x20, 0x6e, 0x65, 0x65, 0x64,
+ 0x6c, 0x65, 0x2e, 0x2e, 0x2e, 0x00, 0x00, 0x12,
+ 0x00, 0x77, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72,
+ 0x00, 0x4e, 0x69, 0x63, 0x65, 0x20, 0x64, 0x65,
+ 0x73, 0x69, 0x67, 0x6e, 0x2e, 0x20, 0x45, 0x73,
+ 0x70, 0x65, 0x63, 0x69, 0x61, 0x6c, 0x6c, 0x79,
+ 0x20, 0x74, 0x68, 0x61, 0x74, 0x20, 0x27, 0x4c,
+ 0x4f, 0x56, 0x45, 0x20, 0x43, 0x41, 0x4e, 0x44,
+ 0x59, 0x27, 0x20, 0x6c, 0x61, 0x62, 0x65, 0x6c,
+ 0x2e, 0x00, 0x41, 0x6e, 0x64, 0x20, 0x74, 0x68,
+ 0x65, 0x72, 0x65, 0x27, 0x73, 0x20, 0x61, 0x20,
+ 0x68, 0x65, 0x61, 0x72, 0x74, 0x20, 0x70, 0x61,
+ 0x69, 0x6e, 0x74, 0x65, 0x64, 0x20, 0x6f, 0x6e,
+ 0x20, 0x69, 0x74, 0x2e, 0x00, 0x48, 0x6f, 0x77,
+ 0x20, 0x53, 0x57, 0x45, 0x45, 0x54, 0x2e, 0x2e,
+ 0x2e, 0x00, 0x00, 0x13, 0x00, 0x63, 0x68, 0x6f,
+ 0x63, 0x6f, 0x6c, 0x61, 0x74, 0x65, 0x20, 0x63,
+ 0x61, 0x6e, 0x64, 0x79, 0x00, 0x49, 0x74, 0x27,
+ 0x73, 0x20, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x20,
+ 0x63, 0x68, 0x6f, 0x63, 0x6f, 0x6c, 0x61, 0x74,
+ 0x65, 0x20, 0x63, 0x61, 0x6e, 0x64, 0x79, 0x2e,
+ 0x00, 0x41, 0x20, 0x67, 0x72, 0x65, 0x61, 0x74,
+ 0x20, 0x70, 0x72, 0x65, 0x73, 0x65, 0x6e, 0x74,
+ 0x2e, 0x00, 0x00, 0x14, 0x00, 0x77, 0x69, 0x6c,
+ 0x64, 0x20, 0x70, 0x6f, 0x74, 0x61, 0x74, 0x6f,
+ 0x65, 0x00, 0x57, 0x6f, 0x77, 0x21, 0x20, 0x49,
+ 0x74, 0x27, 0x73, 0x20, 0x73, 0x68, 0x61, 0x70,
+ 0x65, 0x64, 0x20, 0x6c, 0x69, 0x6b, 0x65, 0x20,
+ 0x61, 0x20, 0x67, 0x72, 0x65, 0x6e, 0x61, 0x64,
+ 0x65, 0x21, 0x2e, 0x2e, 0x00, 0x00, 0x15, 0x00,
+ 0x72, 0x61, 0x6b, 0x65, 0x00, 0x54, 0x68, 0x65,
+ 0x20, 0x73, 0x70, 0x61, 0x63, 0x65, 0x20, 0x62,
+ 0x65, 0x74, 0x77, 0x65, 0x65, 0x6e, 0x20, 0x74,
+ 0x68, 0x65, 0x20, 0x74, 0x65, 0x65, 0x74, 0x68,
+ 0x20, 0x69, 0x73, 0x20, 0x74, 0x6f, 0x6f, 0x20,
+ 0x6c, 0x61, 0x72, 0x67, 0x65, 0x00, 0x74, 0x6f,
+ 0x20, 0x6d, 0x61, 0x6b, 0x65, 0x20, 0x74, 0x68,
+ 0x69, 0x73, 0x20, 0x72, 0x61, 0x6b, 0x65, 0x20,
+ 0x61, 0x6e, 0x20, 0x75, 0x73, 0x65, 0x66, 0x75,
+ 0x6c, 0x2e, 0x00, 0x00, 0x16, 0x00, 0x68, 0x65,
+ 0x61, 0x72, 0x74, 0x2d, 0x73, 0x68, 0x61, 0x70,
+ 0x65, 0x64, 0x20, 0x63, 0x61, 0x6e, 0x64, 0x79,
+ 0x00, 0x49, 0x20, 0x64, 0x6f, 0x6e, 0x27, 0x74,
+ 0x20, 0x74, 0x68, 0x69, 0x6e, 0x6b, 0x20, 0x74,
+ 0x68, 0x69, 0x73, 0x20, 0x6f, 0x6e, 0x65, 0x20,
+ 0x69, 0x6d, 0x70, 0x72, 0x6f, 0x76, 0x65, 0x6d,
+ 0x65, 0x6e, 0x74, 0x20, 0x69, 0x73, 0x20, 0x65,
+ 0x6e, 0x6f, 0x75, 0x67, 0x68, 0x2e, 0x00, 0x00,
+ 0x17, 0x00, 0x77, 0x72, 0x61, 0x70, 0x70, 0x65,
+ 0x64, 0x20, 0x63, 0x61, 0x6e, 0x64, 0x79, 0x00,
+ 0x42, 0x72, 0x61, 0x6e, 0x64, 0x20, 0x6e, 0x65,
+ 0x77, 0x20, 0x63, 0x61, 0x6e, 0x64, 0x79, 0x2e,
+ 0x20, 0x41, 0x74, 0x20, 0x6c, 0x65, 0x61, 0x73,
+ 0x74, 0x20, 0x69, 0x74, 0x20, 0x6c, 0x6f, 0x6f,
+ 0x6b, 0x73, 0x20, 0x6c, 0x69, 0x6b, 0x65, 0x20,
+ 0x69, 0x74, 0x2e, 0x00, 0x00, 0x18, 0x00, 0x72,
+ 0x69, 0x62, 0x62, 0x6f, 0x6e, 0x00, 0x49, 0x74,
+ 0x20, 0x77, 0x69, 0x6c, 0x6c, 0x20, 0x72, 0x65,
+ 0x6d, 0x69, 0x6e, 0x64, 0x20, 0x6d, 0x65, 0x20,
+ 0x6f, 0x66, 0x20, 0x74, 0x68, 0x61, 0x74, 0x20,
+ 0x62, 0x65, 0x61, 0x74, 0x69, 0x66, 0x75, 0x6c,
+ 0x20, 0x63, 0x68, 0x69, 0x63, 0x6b, 0x2c, 0x00,
+ 0x49, 0x20, 0x6d, 0x65, 0x61, 0x6e, 0x2c, 0x20,
+ 0x66, 0x65, 0x6d, 0x61, 0x6c, 0x65, 0x20, 0x68,
+ 0x75, 0x6d, 0x61, 0x6e, 0x20, 0x62, 0x65, 0x69,
+ 0x6e, 0x67, 0x2e, 0x00, 0x00, 0x19, 0x00, 0x72,
+ 0x61, 0x6b, 0x65, 0x00, 0x52, 0x65, 0x61, 0x64,
+ 0x79, 0x20, 0x74, 0x6f, 0x20, 0x77, 0x6f, 0x72,
+ 0x6b, 0x2e, 0x00, 0x00, 0x1a, 0x00, 0x6e, 0x75,
+ 0x74, 0x00, 0x41, 0x20, 0x72, 0x65, 0x61, 0x6c,
+ 0x6c, 0x79, 0x20, 0x62, 0x69, 0x67, 0x20, 0x6f,
+ 0x6e, 0x65, 0x2e, 0x00, 0x00, 0x1b, 0x00, 0x70,
+ 0x6c, 0x61, 0x73, 0x74, 0x69, 0x63, 0x20, 0x61,
+ 0x70, 0x70, 0x6c, 0x65, 0x00, 0x49, 0x74, 0x20,
+ 0x6c, 0x6f, 0x6f, 0x6b, 0x73, 0x20, 0x73, 0x6f,
+ 0x20, 0x72, 0x65, 0x61, 0x6c, 0x20, 0x74, 0x68,
+ 0x61, 0x74, 0x20, 0x49, 0x20, 0x63, 0x6f, 0x75,
+ 0x6c, 0x64, 0x00, 0x65, 0x76, 0x65, 0x6e, 0x20,
+ 0x73, 0x65, 0x65, 0x20, 0x74, 0x68, 0x65, 0x20,
+ 0x70, 0x69, 0x70, 0x73, 0x20, 0x69, 0x6e, 0x73,
+ 0x69, 0x64, 0x65, 0x2e, 0x00, 0x00, 0x1c, 0x00,
+ 0x63, 0x6f, 0x6e, 0x65, 0x00, 0x49, 0x74, 0x20,
+ 0x6c, 0x6f, 0x6f, 0x6b, 0x73, 0x20, 0x6c, 0x69,
+ 0x6b, 0x65, 0x20, 0x6f, 0x6e, 0x65, 0x20, 0x6f,
+ 0x66, 0x20, 0x74, 0x68, 0x6f, 0x73, 0x65, 0x20,
+ 0x48, 0x61, 0x76, 0x61, 0x6e, 0x61, 0x20, 0x67,
+ 0x6f, 0x6f, 0x64, 0x69, 0x65, 0x73, 0x20, 0x65,
+ 0x76, 0x65, 0x72, 0x79, 0x00, 0x73, 0x65, 0x6c,
+ 0x66, 0x2d, 0x72, 0x65, 0x73, 0x70, 0x65, 0x63,
+ 0x74, 0x69, 0x6e, 0x67, 0x20, 0x62, 0x75, 0x73,
+ 0x69, 0x6e, 0x65, 0x73, 0x73, 0x6d, 0x61, 0x6e,
+ 0x20, 0x69, 0x73, 0x20, 0x73, 0x75, 0x70, 0x70,
+ 0x6f, 0x73, 0x65, 0x64, 0x20, 0x74, 0x6f, 0x20,
+ 0x68, 0x61, 0x76, 0x65, 0x00, 0x67, 0x6c, 0x75,
+ 0x65, 0x64, 0x20, 0x74, 0x6f, 0x20, 0x68, 0x69,
+ 0x73, 0x20, 0x73, 0x6d, 0x69, 0x6c, 0x65, 0x2e,
+ 0x00, 0x00, 0x1d, 0x00, 0x73, 0x75, 0x70, 0x65,
+ 0x72, 0x20, 0x67, 0x6c, 0x75, 0x65, 0x00, 0x49,
+ 0x74, 0x27, 0x73, 0x20, 0x74, 0x75, 0x72, 0x62,
+ 0x6f, 0x20, 0x6d, 0x65, 0x67, 0x61, 0x20, 0x67,
+ 0x69, 0x67, 0x61, 0x20, 0x73, 0x75, 0x70, 0x65,
+ 0x72, 0x20, 0x75, 0x6c, 0x74, 0x72, 0x61, 0x00,
+ 0x66, 0x61, 0x73, 0x74, 0x20, 0x64, 0x72, 0x79,
+ 0x69, 0x6e, 0x67, 0x20, 0x67, 0x6c, 0x75, 0x65,
+ 0x20, 0x70, 0x6c, 0x75, 0x73, 0x2e, 0x00, 0x00,
+ 0x1e, 0x00, 0x63, 0x6f, 0x6e, 0x65, 0x20, 0x26,
+ 0x20, 0x6e, 0x65, 0x65, 0x64, 0x6c, 0x65, 0x00,
+ 0x53, 0x6f, 0x6d, 0x65, 0x74, 0x68, 0x69, 0x6e,
+ 0x67, 0x20, 0x69, 0x73, 0x20, 0x73, 0x74, 0x69,
+ 0x6c, 0x6c, 0x20, 0x6d, 0x69, 0x73, 0x73, 0x69,
+ 0x6e, 0x67, 0x20, 0x68, 0x65, 0x72, 0x65, 0x2e,
+ 0x2e, 0x2e, 0x00, 0x00, 0x1f, 0x00, 0x63, 0x6f,
+ 0x6e, 0x65, 0x20, 0x26, 0x20, 0x66, 0x65, 0x61,
+ 0x74, 0x68, 0x65, 0x72, 0x00, 0x53, 0x6f, 0x6d,
+ 0x65, 0x74, 0x68, 0x69, 0x6e, 0x67, 0x20, 0x69,
+ 0x73, 0x20, 0x73, 0x74, 0x69, 0x6c, 0x6c, 0x20,
+ 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x20,
+ 0x68, 0x65, 0x72, 0x65, 0x2e, 0x2e, 0x2e, 0x00,
+ 0x00, 0x20, 0x00, 0x64, 0x61, 0x72, 0x74, 0x00,
+ 0x4e, 0x6f, 0x77, 0x20, 0x61, 0x6c, 0x6c, 0x20,
+ 0x49, 0x20, 0x6e, 0x65, 0x65, 0x64, 0x20, 0x69,
+ 0x73, 0x20, 0x61, 0x20, 0x74, 0x61, 0x72, 0x67,
+ 0x65, 0x74, 0x21, 0x00, 0x00, 0x21, 0x00, 0x64,
+ 0x69, 0x72, 0x74, 0x79, 0x20, 0x66, 0x65, 0x61,
+ 0x74, 0x68, 0x65, 0x72, 0x20, 0x64, 0x75, 0x73,
+ 0x74, 0x65, 0x72, 0x00, 0x49, 0x74, 0x27, 0x73,
+ 0x20, 0x63, 0x6c, 0x61, 0x6d, 0x6d, 0x79, 0x20,
+ 0x61, 0x6e, 0x64, 0x20, 0x73, 0x6f, 0x69, 0x6c,
+ 0x65, 0x64, 0x20, 0x62, 0x79, 0x20, 0x73, 0x6f,
+ 0x6f, 0x74, 0x2e, 0x00, 0x00, 0x22, 0x00, 0x70,
+ 0x61, 0x69, 0x6e, 0x74, 0x65, 0x64, 0x20, 0x70,
+ 0x6f, 0x74, 0x61, 0x74, 0x6f, 0x65, 0x00, 0x54,
+ 0x68, 0x65, 0x20, 0x6f, 0x6e, 0x6c, 0x79, 0x20,
+ 0x64, 0x69, 0x66, 0x66, 0x65, 0x72, 0x65, 0x6e,
+ 0x63, 0x65, 0x20, 0x62, 0x65, 0x74, 0x77, 0x65,
+ 0x65, 0x6e, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20,
+ 0x61, 0x6e, 0x64, 0x20, 0x61, 0x20, 0x67, 0x72,
+ 0x65, 0x6e, 0x61, 0x64, 0x65, 0x00, 0x69, 0x73,
+ 0x20, 0x74, 0x68, 0x61, 0x74, 0x20, 0x70, 0x6f,
+ 0x74, 0x61, 0x74, 0x6f, 0x65, 0x65, 0x73, 0x20,
+ 0x75, 0x73, 0x75, 0x61, 0x6c, 0x6c, 0x79, 0x20,
+ 0x64, 0x6f, 0x6e, 0x27, 0x74, 0x20, 0x62, 0x6c,
+ 0x6f, 0x77, 0x20, 0x75, 0x70, 0x2e, 0x00, 0x00,
+ 0x23, 0x00, 0x63, 0x61, 0x72, 0x20, 0x6a, 0x61,
+ 0x63, 0x6b, 0x00, 0x4c, 0x6f, 0x6f, 0x6b, 0x73,
+ 0x20, 0x72, 0x65, 0x6c, 0x69, 0x61, 0x62, 0x6c,
+ 0x65, 0x2e, 0x00, 0x00, 0x24, 0x00, 0x64, 0x69,
+ 0x6e, 0x6f, 0x20, 0x62, 0x6f, 0x6e, 0x65, 0x00,
+ 0x49, 0x74, 0x27, 0x73, 0x20, 0x62, 0x69, 0x67,
+ 0x20, 0x61, 0x6e, 0x64, 0x20, 0x77, 0x65, 0x6c,
+ 0x6c, 0x20, 0x70, 0x72, 0x65, 0x73, 0x65, 0x72,
+ 0x76, 0x65, 0x64, 0x2e, 0x20, 0x49, 0x74, 0x20,
+ 0x6d, 0x75, 0x73, 0x74, 0x20, 0x68, 0x61, 0x76,
+ 0x65, 0x20, 0x62, 0x65, 0x65, 0x6e, 0x00, 0x61,
+ 0x20, 0x72, 0x65, 0x61, 0x6c, 0x6c, 0x79, 0x20,
+ 0x62, 0x69, 0x67, 0x2c, 0x20, 0x65, 0x72, 0x2e,
+ 0x2e, 0x2e, 0x2c, 0x20, 0x61, 0x6e, 0x69, 0x6d,
+ 0x61, 0x6c, 0x2c, 0x20, 0x49, 0x20, 0x74, 0x68,
+ 0x69, 0x6e, 0x6b, 0x2e, 0x2e, 0x2e, 0x00, 0x00,
+ 0x25, 0x00, 0x73, 0x68, 0x6f, 0x76, 0x65, 0x6c,
+ 0x00, 0x49, 0x20, 0x63, 0x61, 0x6e, 0x20, 0x50,
+ 0x4c, 0x41, 0x59, 0x20, 0x44, 0x49, 0x47, 0x47,
+ 0x45, 0x52, 0x20, 0x77, 0x69, 0x74, 0x68, 0x20,
+ 0x69, 0x74, 0x2e, 0x20, 0x53, 0x6f, 0x20, 0x74,
+ 0x6f, 0x20, 0x73, 0x70, 0x65, 0x61, 0x6b, 0x2e,
+ 0x00, 0x00, 0x26, 0x00, 0x72, 0x6f, 0x70, 0x65,
+ 0x00, 0x4c, 0x6f, 0x6f, 0x6b, 0x73, 0x20, 0x73,
+ 0x74, 0x72, 0x6f, 0x6e, 0x67, 0x2e, 0x00, 0x00,
+ 0x27, 0x00, 0x6d, 0x61, 0x73, 0x6b, 0x00, 0x49,
+ 0x74, 0x20, 0x77, 0x69, 0x6c, 0x6c, 0x20, 0x68,
+ 0x65, 0x6c, 0x70, 0x20, 0x6d, 0x65, 0x20, 0x73,
+ 0x65, 0x65, 0x20, 0x62, 0x65, 0x74, 0x74, 0x65,
+ 0x72, 0x20, 0x75, 0x6e, 0x64, 0x65, 0x72, 0x77,
+ 0x61, 0x74, 0x65, 0x72, 0x2e, 0x00, 0x00, 0x28,
+ 0x00, 0x66, 0x69, 0x6e, 0x73, 0x00, 0x54, 0x68,
+ 0x65, 0x79, 0x20, 0x77, 0x69, 0x6c, 0x6c, 0x20,
+ 0x68, 0x65, 0x6c, 0x70, 0x20, 0x6d, 0x65, 0x20,
+ 0x66, 0x65, 0x65, 0x6c, 0x20, 0x6d, 0x6f, 0x72,
+ 0x65, 0x20, 0x6c, 0x69, 0x6b, 0x65, 0x20, 0x6d,
+ 0x79, 0x00, 0x75, 0x6e, 0x64, 0x65, 0x72, 0x77,
+ 0x61, 0x74, 0x65, 0x72, 0x20, 0x62, 0x72, 0x6f,
+ 0x74, 0x68, 0x65, 0x72, 0x73, 0x2e, 0x00, 0x00,
+ 0x29, 0x00, 0x64, 0x69, 0x76, 0x69, 0x6e, 0x67,
+ 0x20, 0x65, 0x71, 0x75, 0x69, 0x70, 0x6d, 0x65,
+ 0x6e, 0x74, 0x00, 0x57, 0x61, 0x74, 0x63, 0x68,
+ 0x20, 0x6f, 0x75, 0x74, 0x2c, 0x20, 0x77, 0x61,
+ 0x74, 0x65, 0x72, 0x21, 0x20, 0x48, 0x65, 0x72,
+ 0x65, 0x20, 0x49, 0x20, 0x63, 0x6f, 0x6d, 0x65,
+ 0x21, 0x00, 0x00, 0x2a, 0x00, 0x61, 0x6e, 0x63,
+ 0x68, 0x6f, 0x72, 0x00, 0x4e, 0x6f, 0x74, 0x20,
+ 0x62, 0x69, 0x67, 0x2c, 0x20, 0x62, 0x75, 0x74,
+ 0x20, 0x68, 0x65, 0x61, 0x76, 0x79, 0x20, 0x65,
+ 0x6e, 0x6f, 0x75, 0x67, 0x68, 0x20, 0x74, 0x6f,
+ 0x20, 0x73, 0x69, 0x6e, 0x6b, 0x20, 0x74, 0x68,
+ 0x65, 0x20, 0x62, 0x6f, 0x61, 0x74, 0x2e, 0x00,
+ 0x00, 0x2b, 0x00, 0x67, 0x72, 0x61, 0x70, 0x70,
+ 0x6c, 0x69, 0x6e, 0x67, 0x20, 0x68, 0x6f, 0x6f,
+ 0x6b, 0x00, 0x57, 0x61, 0x74, 0x63, 0x68, 0x20,
+ 0x6f, 0x75, 0x74, 0x2c, 0x20, 0x6d, 0x6f, 0x75,
+ 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x73, 0x2c, 0x20,
+ 0x68, 0x65, 0x72, 0x65, 0x20, 0x49, 0x20, 0x63,
+ 0x6f, 0x6d, 0x65, 0x21, 0x00, 0x00, 0x2c, 0x00,
+ 0x73, 0x69, 0x63, 0x6b, 0x6c, 0x65, 0x00, 0x49,
+ 0x74, 0x27, 0x73, 0x20, 0x73, 0x6f, 0x20, 0x62,
+ 0x6c, 0x75, 0x6e, 0x74, 0x2c, 0x20, 0x74, 0x68,
+ 0x61, 0x74, 0x20, 0x49, 0x20, 0x63, 0x6f, 0x75,
+ 0x6c, 0x64, 0x6e, 0x27, 0x74, 0x20, 0x65, 0x76,
+ 0x65, 0x6e, 0x20, 0x63, 0x75, 0x74, 0x00, 0x62,
+ 0x75, 0x74, 0x74, 0x65, 0x72, 0x20, 0x77, 0x69,
+ 0x74, 0x68, 0x20, 0x69, 0x74, 0x2e, 0x00, 0x00,
+ 0x2d, 0x00, 0x73, 0x6f, 0x6d, 0x65, 0x77, 0x68,
+ 0x61, 0x74, 0x20, 0x72, 0x6f, 0x74, 0x74, 0x65,
+ 0x6e, 0x20, 0x63, 0x68, 0x65, 0x65, 0x73, 0x65,
+ 0x00, 0x52, 0x65, 0x6d, 0x69, 0x6e, 0x64, 0x73,
+ 0x20, 0x6d, 0x65, 0x20, 0x6f, 0x66, 0x20, 0x6d,
+ 0x79, 0x20, 0x72, 0x6f, 0x6f, 0x6d, 0x2e, 0x00,
+ 0x00, 0x2e, 0x00, 0x73, 0x68, 0x61, 0x72, 0x70,
+ 0x65, 0x6e, 0x65, 0x64, 0x20, 0x73, 0x69, 0x63,
+ 0x6b, 0x6c, 0x65, 0x00, 0x4c, 0x61, 0x6d, 0x62,
+ 0x73, 0x2c, 0x20, 0x62, 0x65, 0x20, 0x73, 0x69,
+ 0x6c, 0x65, 0x6e, 0x74, 0x2e, 0x20, 0x48, 0x65,
+ 0x72, 0x65, 0x20, 0x63, 0x6f, 0x6d, 0x65, 0x73,
+ 0x20, 0x74, 0x68, 0x65, 0x20, 0x70, 0x61, 0x69,
+ 0x6e, 0x2e, 0x2e, 0x2e, 0x00, 0x00, 0x2f, 0x00,
+ 0x68, 0x61, 0x6e, 0x64, 0x6b, 0x65, 0x72, 0x63,
+ 0x68, 0x69, 0x65, 0x66, 0x00, 0x54, 0x68, 0x65,
+ 0x20, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x20, 0x6d,
+ 0x75, 0x73, 0x74, 0x20, 0x68, 0x61, 0x76, 0x65,
+ 0x20, 0x73, 0x75, 0x63, 0x68, 0x20, 0x62, 0x69,
+ 0x67, 0x20, 0x6e, 0x6f, 0x73, 0x65, 0x20, 0x74,
+ 0x68, 0x61, 0x74, 0x20, 0x68, 0x65, 0x20, 0x6e,
+ 0x65, 0x65, 0x64, 0x73, 0x00, 0x74, 0x6f, 0x20,
+ 0x75, 0x73, 0x65, 0x20, 0x61, 0x20, 0x77, 0x68,
+ 0x6f, 0x6c, 0x65, 0x20, 0x62, 0x61, 0x72, 0x20,
+ 0x6f, 0x66, 0x20, 0x73, 0x6f, 0x61, 0x70, 0x20,
+ 0x6a, 0x75, 0x73, 0x74, 0x20, 0x74, 0x6f, 0x20,
+ 0x77, 0x61, 0x73, 0x68, 0x20, 0x69, 0x74, 0x2e,
+ 0x00, 0x00, 0x30, 0x01, 0x6d, 0x6f, 0x75, 0x73,
+ 0x65, 0x00, 0x49, 0x74, 0x27, 0x73, 0x20, 0x76,
+ 0x65, 0x72, 0x79, 0x20, 0x61, 0x63, 0x74, 0x69,
+ 0x76, 0x65, 0x2e, 0x00, 0x00, 0x31, 0x00, 0x72,
+ 0x6f, 0x63, 0x6b, 0x00, 0x49, 0x74, 0x27, 0x73,
+ 0x20, 0x76, 0x65, 0x72, 0x79, 0x20, 0x72, 0x65,
+ 0x67, 0x75, 0x6c, 0x61, 0x72, 0x2c, 0x20, 0x6a,
+ 0x75, 0x73, 0x74, 0x20, 0x6c, 0x69, 0x6b, 0x65,
+ 0x20, 0x74, 0x68, 0x65, 0x20, 0x73, 0x6e, 0x6f,
+ 0x77, 0x62, 0x61, 0x6c, 0x6c, 0x2e, 0x00, 0x00,
+ 0x32, 0x01, 0x6e, 0x75, 0x67, 0x67, 0x65, 0x74,
+ 0x00, 0x53, 0x79, 0x6d, 0x62, 0x6f, 0x6c, 0x3a,
+ 0x20, 0x41, 0x75, 0x2c, 0x20, 0x61, 0x74, 0x6f,
+ 0x6d, 0x69, 0x63, 0x20, 0x6e, 0x6f, 0x3a, 0x20,
+ 0x37, 0x39, 0x2c, 0x20, 0x61, 0x74, 0x6f, 0x6d,
+ 0x69, 0x63, 0x20, 0x77, 0x74, 0x2e, 0x3a, 0x20,
+ 0x31, 0x39, 0x36, 0x2e, 0x39, 0x37, 0x2e, 0x00,
+ 0x49, 0x6e, 0x20, 0x6f, 0x74, 0x68, 0x65, 0x72,
+ 0x20, 0x77, 0x6f, 0x72, 0x64, 0x73, 0x3a, 0x20,
+ 0x47, 0x4f, 0x4c, 0x44, 0x21, 0x21, 0x21, 0x20,
+ 0x59, 0x65, 0x73, 0x21, 0x20, 0x59, 0x65, 0x73,
+ 0x21, 0x00, 0x00, 0x33, 0x00, 0x62, 0x61, 0x6e,
+ 0x6b, 0x6e, 0x6f, 0x74, 0x65, 0x00, 0x00, 0x00,
+ 0x34, 0x00, 0x64, 0x69, 0x63, 0x74, 0x61, 0x70,
+ 0x68, 0x6f, 0x6e, 0x65, 0x00, 0x54, 0x68, 0x65,
+ 0x72, 0x65, 0x20, 0x61, 0x72, 0x65, 0x20, 0x6e,
+ 0x6f, 0x20, 0x62, 0x61, 0x74, 0x74, 0x65, 0x72,
+ 0x69, 0x65, 0x73, 0x20, 0x69, 0x6e, 0x73, 0x69,
+ 0x64, 0x65, 0x2e, 0x00, 0x00, 0x35, 0x00, 0x70,
+ 0x6f, 0x6c, 0x61, 0x72, 0x6f, 0x69, 0x64, 0x00,
+ 0x49, 0x74, 0x27, 0x73, 0x20, 0x72, 0x65, 0x61,
+ 0x64, 0x79, 0x20, 0x74, 0x6f, 0x20, 0x74, 0x61,
+ 0x6b, 0x65, 0x20, 0x61, 0x20, 0x70, 0x69, 0x63,
+ 0x74, 0x75, 0x72, 0x65, 0x2e, 0x00, 0x00, 0x36,
+ 0x00, 0x76, 0x69, 0x64, 0x65, 0x6f, 0x20, 0x74,
+ 0x61, 0x70, 0x65, 0x00, 0x49, 0x74, 0x20, 0x68,
+ 0x61, 0x73, 0x20, 0x6e, 0x6f, 0x20, 0x6c, 0x61,
+ 0x62, 0x65, 0x6c, 0x2e, 0x00, 0x00, 0x37, 0x00,
+ 0x73, 0x68, 0x65, 0x65, 0x74, 0x20, 0x6f, 0x66,
+ 0x20, 0x70, 0x61, 0x70, 0x65, 0x72, 0x00, 0x54,
+ 0x68, 0x65, 0x72, 0x65, 0x27, 0x73, 0x20, 0x6e,
+ 0x6f, 0x74, 0x68, 0x69, 0x6e, 0x67, 0x20, 0x69,
+ 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x61, 0x6e, 0x74,
+ 0x20, 0x61, 0x62, 0x6f, 0x75, 0x74, 0x20, 0x69,
+ 0x74, 0x2e, 0x00, 0x00, 0x38, 0x00, 0x63, 0x6f,
+ 0x67, 0x6e, 0x61, 0x63, 0x00, 0x46, 0x61, 0x6e,
+ 0x63, 0x79, 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x20,
+ 0x6a, 0x75, 0x73, 0x74, 0x20, 0x66, 0x6f, 0x72,
+ 0x20, 0x61, 0x6e, 0x20, 0x65, 0x78, 0x63, 0x75,
+ 0x73, 0x65, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x64,
+ 0x72, 0x69, 0x6e, 0x6b, 0x69, 0x6e, 0x67, 0x2e,
+ 0x00, 0x00, 0x39, 0x00, 0x72, 0x65, 0x6d, 0x6f,
+ 0x74, 0x65, 0x20, 0x63, 0x6f, 0x6e, 0x74, 0x72,
+ 0x6f, 0x6c, 0x00, 0x49, 0x74, 0x20, 0x68, 0x61,
+ 0x73, 0x20, 0x75, 0x73, 0x65, 0x72, 0x2d, 0x66,
+ 0x72, 0x69, 0x65, 0x6e, 0x64, 0x6c, 0x79, 0x20,
+ 0x69, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63,
+ 0x65, 0x2e, 0x00, 0x4f, 0x6e, 0x65, 0x20, 0x63,
+ 0x61, 0x6e, 0x20, 0x70, 0x6c, 0x61, 0x79, 0x20,
+ 0x61, 0x6e, 0x64, 0x20, 0x73, 0x74, 0x6f, 0x70,
+ 0x2e, 0x00, 0x00, 0x3a, 0x00, 0x69, 0x63, 0x65,
+ 0x20, 0x74, 0x6f, 0x6e, 0x67, 0x73, 0x00, 0x56,
+ 0x65, 0x72, 0x79, 0x20, 0x68, 0x61, 0x6e, 0x64,
+ 0x79, 0x20, 0x74, 0x6f, 0x6f, 0x6c, 0x2e, 0x00,
+ 0x00, 0x3b, 0x00, 0x63, 0x6f, 0x72, 0x6b, 0x00,
+ 0x49, 0x74, 0x27, 0x73, 0x20, 0x61, 0x20, 0x73,
+ 0x74, 0x6f, 0x70, 0x70, 0x65, 0x72, 0x20, 0x6b,
+ 0x69, 0x6e, 0x64, 0x20, 0x6f, 0x66, 0x20, 0x63,
+ 0x6f, 0x72, 0x6b, 0x2e, 0x00, 0x00, 0x3c, 0x00,
+ 0x77, 0x72, 0x61, 0x70, 0x70, 0x65, 0x64, 0x20,
+ 0x63, 0x6f, 0x72, 0x6b, 0x00, 0x4e, 0x6f, 0x77,
+ 0x20, 0x69, 0x74, 0x27, 0x73, 0x20, 0x6d, 0x6f,
+ 0x72, 0x65, 0x20, 0x61, 0x70, 0x70, 0x72, 0x6f,
+ 0x70, 0x69, 0x61, 0x74, 0x65, 0x2e, 0x00, 0x00,
+ 0x3d, 0x00, 0x70, 0x68, 0x6f, 0x74, 0x6f, 0x00,
+ 0x49, 0x74, 0x27, 0x73, 0x20, 0x61, 0x20, 0x70,
+ 0x68, 0x6f, 0x74, 0x6f, 0x20, 0x6f, 0x66, 0x20,
+ 0x4a, 0x6f, 0x68, 0x6e, 0x20, 0x4e, 0x6f, 0x74,
+ 0x79, 0x2e, 0x20, 0x49, 0x20, 0x63, 0x61, 0x75,
+ 0x67, 0x68, 0x74, 0x20, 0x68, 0x69, 0x6d, 0x00,
+ 0x77, 0x68, 0x65, 0x6e, 0x20, 0x68, 0x65, 0x20,
+ 0x77, 0x61, 0x73, 0x20, 0x73, 0x69, 0x6e, 0x67,
+ 0x69, 0x6e, 0x67, 0x20, 0x74, 0x68, 0x65, 0x20,
+ 0x68, 0x69, 0x67, 0x68, 0x20, 0x43, 0x2e, 0x20,
+ 0x59, 0x75, 0x63, 0x6b, 0x21, 0x00, 0x00, 0x3e,
+ 0x00, 0x63, 0x68, 0x69, 0x6c, 0x6c, 0x69, 0x00,
+ 0x54, 0x68, 0x65, 0x20, 0x6c, 0x61, 0x62, 0x65,
+ 0x6c, 0x20, 0x6f, 0x6e, 0x20, 0x74, 0x68, 0x65,
+ 0x20, 0x62, 0x6f, 0x74, 0x74, 0x6c, 0x65, 0x20,
+ 0x73, 0x61, 0x79, 0x73, 0x20, 0x69, 0x74, 0x27,
+ 0x73, 0x00, 0x27, 0x4f, 0x52, 0x49, 0x47, 0x49,
+ 0x4e, 0x41, 0x4c, 0x20, 0x4d, 0x45, 0x58, 0x49,
+ 0x43, 0x41, 0x4e, 0x20, 0x43, 0x48, 0x49, 0x4c,
+ 0x4c, 0x49, 0x27, 0x2e, 0x20, 0x53, 0x75, 0x72,
+ 0x65, 0x2e, 0x00, 0x00, 0x3f, 0x00, 0x70, 0x61,
+ 0x73, 0x74, 0x72, 0x79, 0x20, 0x72, 0x6f, 0x6c,
+ 0x6c, 0x65, 0x72, 0x00, 0x49, 0x74, 0x27, 0x73,
+ 0x20, 0x6d, 0x61, 0x64, 0x65, 0x20, 0x6f, 0x66,
+ 0x20, 0x76, 0x65, 0x72, 0x79, 0x20, 0x68, 0x61,
+ 0x72, 0x64, 0x20, 0x77, 0x6f, 0x6f, 0x64, 0x2e,
+ 0x00, 0x00, 0x40, 0x00, 0x66, 0x61, 0x6b, 0x65,
+ 0x20, 0x63, 0x68, 0x69, 0x6c, 0x6c, 0x69, 0x00,
+ 0x4e, 0x6f, 0x77, 0x20, 0x74, 0x68, 0x61, 0x74,
+ 0x27, 0x73, 0x20, 0x77, 0x68, 0x61, 0x74, 0x20,
+ 0x49, 0x20, 0x63, 0x61, 0x6c, 0x6c, 0x20, 0x73,
+ 0x74, 0x72, 0x6f, 0x6e, 0x67, 0x20, 0x73, 0x65,
+ 0x61, 0x73, 0x6f, 0x6e, 0x69, 0x6e, 0x67, 0x2e,
+ 0x00, 0x00, 0x41, 0x00, 0x6c, 0x61, 0x62, 0x65,
+ 0x6c, 0x00, 0x27, 0x4f, 0x52, 0x49, 0x47, 0x49,
+ 0x4e, 0x41, 0x4c, 0x20, 0x4d, 0x45, 0x58, 0x49,
+ 0x43, 0x41, 0x4e, 0x20, 0x43, 0x48, 0x49, 0x4c,
+ 0x4c, 0x49, 0x27, 0x2e, 0x00, 0x00, 0x42, 0x00,
+ 0x62, 0x61, 0x74, 0x74, 0x65, 0x72, 0x69, 0x65,
+ 0x73, 0x00, 0x49, 0x74, 0x27, 0x73, 0x20, 0x61,
+ 0x20, 0x70, 0x61, 0x69, 0x72, 0x20, 0x6f, 0x66,
+ 0x20, 0x6e, 0x65, 0x77, 0x20, 0x62, 0x61, 0x74,
+ 0x74, 0x65, 0x72, 0x69, 0x65, 0x73, 0x2e, 0x00,
+ 0x00, 0x43, 0x00, 0x64, 0x69, 0x63, 0x74, 0x61,
+ 0x70, 0x68, 0x6f, 0x6e, 0x65, 0x00, 0x27, 0x4f,
+ 0x6e, 0x65, 0x2d, 0x74, 0x77, 0x6f, 0x2d, 0x6f,
+ 0x6e, 0x65, 0x2d, 0x74, 0x77, 0x6f, 0x2c, 0x20,
+ 0x69, 0x74, 0x27, 0x73, 0x20, 0x6d, 0x65, 0x20,
+ 0x74, 0x68, 0x65, 0x20, 0x6f, 0x6e, 0x65, 0x00,
+ 0x61, 0x6e, 0x64, 0x20, 0x6f, 0x6e, 0x6c, 0x79,
+ 0x20, 0x4d, 0x61, 0x72, 0x6b, 0x20, 0x4d, 0x43,
+ 0x2e, 0x2e, 0x2e, 0x2e, 0x27, 0x00, 0x49, 0x74,
+ 0x20, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x2e, 0x00,
+ 0x00, 0x44, 0x01, 0x62, 0x75, 0x72, 0x6e, 0x69,
+ 0x6e, 0x67, 0x20, 0x70, 0x61, 0x70, 0x65, 0x72,
+ 0x00, 0x41, 0x6d, 0x61, 0x7a, 0x69, 0x6e, 0x67,
+ 0x2c, 0x20, 0x69, 0x73, 0x6e, 0x27, 0x74, 0x20,
+ 0x69, 0x74, 0x3f, 0x00, 0x28, 0x4e, 0x6f, 0x74,
+ 0x20, 0x74, 0x6f, 0x20, 0x6d, 0x65, 0x6e, 0x74,
+ 0x69, 0x6f, 0x6e, 0x3a, 0x20, 0x75, 0x6e, 0x62,
+ 0x65, 0x6c, 0x69, 0x65, 0x76, 0x61, 0x62, 0x6c,
+ 0x65, 0x29, 0x2e, 0x00, 0x00, 0x45, 0x00, 0x6d,
+ 0x65, 0x61, 0x74, 0x00, 0x54, 0x68, 0x65, 0x72,
+ 0x65, 0x27, 0x73, 0x20, 0x76, 0x65, 0x61, 0x6c,
+ 0x20, 0x69, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x20,
+ 0x70, 0x6c, 0x61, 0x73, 0x74, 0x69, 0x63, 0x20,
+ 0x62, 0x61, 0x67, 0x2e, 0x00, 0x00, 0x46, 0x00,
+ 0x70, 0x6c, 0x61, 0x73, 0x74, 0x69, 0x63, 0x20,
+ 0x62, 0x61, 0x67, 0x00, 0x47, 0x65, 0x65, 0x2c,
+ 0x20, 0x49, 0x20, 0x68, 0x6f, 0x70, 0x65, 0x20,
+ 0x69, 0x74, 0x27, 0x73, 0x20, 0x72, 0x65, 0x63,
+ 0x79, 0x63, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x2e,
+ 0x20, 0x49, 0x20, 0x63, 0x6f, 0x75, 0x6c, 0x64,
+ 0x6e, 0x27, 0x74, 0x00, 0x73, 0x6c, 0x65, 0x65,
+ 0x70, 0x20, 0x6f, 0x74, 0x68, 0x65, 0x72, 0x77,
+ 0x69, 0x73, 0x65, 0x2e, 0x00, 0x00, 0x47, 0x00,
+ 0x73, 0x6f, 0x63, 0x6b, 0x73, 0x00, 0x54, 0x68,
+ 0x65, 0x73, 0x65, 0x20, 0x73, 0x6f, 0x63, 0x6b,
+ 0x73, 0x20, 0x73, 0x75, 0x63, 0x6b, 0x2e, 0x00,
+ 0x00, 0x48, 0x00, 0x70, 0x69, 0x6c, 0x6c, 0x73,
+ 0x00, 0x54, 0x68, 0x65, 0x72, 0x65, 0x20, 0x61,
+ 0x72, 0x65, 0x20, 0x61, 0x62, 0x6f, 0x75, 0x74,
+ 0x20, 0x74, 0x77, 0x65, 0x6e, 0x74, 0x79, 0x20,
+ 0x70, 0x69, 0x6c, 0x6c, 0x73, 0x20, 0x69, 0x6e,
+ 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x6a, 0x61,
+ 0x72, 0x2e, 0x00, 0x00, 0x49, 0x00, 0x68, 0x61,
+ 0x6e, 0x64, 0x6c, 0x65, 0x00, 0x49, 0x74, 0x20,
+ 0x6c, 0x6f, 0x6f, 0x6b, 0x73, 0x20, 0x6c, 0x69,
+ 0x6b, 0x65, 0x20, 0x61, 0x20, 0x73, 0x74, 0x61,
+ 0x6e, 0x64, 0x61, 0x72, 0x64, 0x20, 0x64, 0x6f,
+ 0x6f, 0x72, 0x20, 0x68, 0x61, 0x6e, 0x64, 0x6c,
+ 0x65, 0x2e, 0x2e, 0x2e, 0x00, 0x00, 0x4a, 0x00,
+ 0x63, 0x68, 0x69, 0x6c, 0x6c, 0x69, 0x00, 0x4e,
+ 0x69, 0x63, 0x65, 0x20, 0x62, 0x6f, 0x74, 0x74,
+ 0x6c, 0x65, 0x2e, 0x20, 0x49, 0x20, 0x6c, 0x69,
+ 0x6b, 0x65, 0x20, 0x74, 0x68, 0x65, 0x20, 0x73,
+ 0x68, 0x61, 0x70, 0x65, 0x2e, 0x00, 0x00, 0x4b,
+ 0x00, 0x70, 0x61, 0x73, 0x73, 0x00, 0x22, 0x4c,
+ 0x65, 0x74, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20,
+ 0x67, 0x75, 0x79, 0x20, 0x69, 0x6e, 0x2e, 0x20,
+ 0x52, 0x47, 0x42, 0x20, 0x43, 0x68, 0x69, 0x65,
+ 0x66, 0x2e, 0x22, 0x00, 0x00, 0x4c, 0x00, 0x62,
+ 0x75, 0x6c, 0x62, 0x00, 0x49, 0x74, 0x27, 0x73,
+ 0x20, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74,
+ 0x65, 0x6c, 0x79, 0x20, 0x75, 0x73, 0x65, 0x6c,
+ 0x65, 0x73, 0x73, 0x2e, 0x00, 0x00, 0x4d, 0x00,
+ 0x6a, 0x61, 0x69, 0x6c, 0x20, 0x6b, 0x65, 0x79,
+ 0x00, 0x53, 0x75, 0x72, 0x70, 0x72, 0x69, 0x73,
+ 0x69, 0x6e, 0x67, 0x6c, 0x79, 0x2c, 0x20, 0x69,
+ 0x74, 0x27, 0x73, 0x20, 0x74, 0x68, 0x65, 0x20,
+ 0x6b, 0x65, 0x79, 0x20, 0x74, 0x6f, 0x20, 0x74,
+ 0x68, 0x65, 0x20, 0x6a, 0x61, 0x69, 0x6c, 0x2e,
+ 0x00, 0x00, 0x4e, 0x00, 0x64, 0x65, 0x6c, 0x69,
+ 0x63, 0x61, 0x74, 0x65, 0x20, 0x70, 0x6c, 0x61,
+ 0x6e, 0x74, 0x00, 0x57, 0x68, 0x6f, 0x61, 0x2c,
+ 0x20, 0x69, 0x74, 0x20, 0x74, 0x69, 0x63, 0x6b,
+ 0x6c, 0x65, 0x73, 0x21, 0x00, 0x00, 0x4f, 0x00,
+ 0x53, 0x77, 0x69, 0x73, 0x73, 0x20, 0x41, 0x72,
+ 0x6d, 0x79, 0x20, 0x6b, 0x6e, 0x69, 0x66, 0x65,
+ 0x00, 0x49, 0x20, 0x77, 0x6f, 0x6e, 0x64, 0x65,
+ 0x72, 0x20, 0x69, 0x66, 0x20, 0x69, 0x74, 0x27,
+ 0x73, 0x20, 0x67, 0x6f, 0x74, 0x20, 0x61, 0x20,
+ 0x54, 0x56, 0x20, 0x6f, 0x6e, 0x20, 0x74, 0x68,
+ 0x65, 0x73, 0x65, 0x20, 0x74, 0x6f, 0x6f, 0x2e,
+ 0x00, 0x00, 0x50, 0x00, 0x73, 0x70, 0x72, 0x69,
+ 0x6e, 0x67, 0x00, 0x49, 0x20, 0x63, 0x6f, 0x75,
+ 0x6c, 0x64, 0x20, 0x6c, 0x61, 0x75, 0x6e, 0x63,
+ 0x68, 0x20, 0x61, 0x20, 0x72, 0x6f, 0x63, 0x6b,
+ 0x65, 0x74, 0x20, 0x77, 0x69, 0x74, 0x68, 0x20,
+ 0x69, 0x74, 0x21, 0x00, 0x00, 0x51, 0x00, 0x73,
+ 0x68, 0x6f, 0x76, 0x65, 0x6c, 0x00, 0x4e, 0x69,
+ 0x63, 0x65, 0x2c, 0x20, 0x68, 0x61, 0x6e, 0x64,
+ 0x79, 0x20, 0x74, 0x6f, 0x6f, 0x6c, 0x2e, 0x00,
+ 0x00, 0x52, 0x00, 0x6b, 0x61, 0x6c, 0x65, 0x69,
+ 0x64, 0x6f, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x00,
+ 0x49, 0x20, 0x63, 0x6f, 0x75, 0x6c, 0x64, 0x20,
+ 0x73, 0x70, 0x65, 0x6e, 0x64, 0x20, 0x6d, 0x79,
+ 0x20, 0x77, 0x68, 0x6f, 0x6c, 0x65, 0x20, 0x6c,
+ 0x69, 0x66, 0x65, 0x20, 0x6c, 0x6f, 0x6f, 0x6b,
+ 0x69, 0x6e, 0x67, 0x20, 0x74, 0x68, 0x72, 0x6f,
+ 0x75, 0x67, 0x68, 0x00, 0x74, 0x68, 0x69, 0x73,
+ 0x2e, 0x20, 0x57, 0x65, 0x6c, 0x6c, 0x2c, 0x20,
+ 0x6c, 0x65, 0x74, 0x27, 0x73, 0x20, 0x73, 0x61,
+ 0x79, 0x20, 0x66, 0x69, 0x76, 0x65, 0x20, 0x6d,
+ 0x69, 0x6e, 0x75, 0x74, 0x65, 0x73, 0x2e, 0x00,
+ 0x4f, 0x68, 0x2c, 0x20, 0x61, 0x6c, 0x6c, 0x20,
+ 0x72, 0x69, 0x67, 0x68, 0x74, 0x2c, 0x20, 0x69,
+ 0x74, 0x27, 0x73, 0x20, 0x62, 0x6f, 0x72, 0x69,
+ 0x6e, 0x67, 0x2e, 0x00, 0x00, 0x53, 0x00, 0x22,
+ 0x53, 0x6f, 0x6c, 0x64, 0x69, 0x65, 0x72, 0x20,
+ 0x4e, 0x65, 0x77, 0x73, 0x22, 0x00, 0x49, 0x74,
+ 0x27, 0x73, 0x20, 0x6a, 0x75, 0x73, 0x74, 0x20,
+ 0x74, 0x68, 0x65, 0x20, 0x73, 0x61, 0x6d, 0x65,
+ 0x20, 0x61, 0x73, 0x20, 0x77, 0x6f, 0x6d, 0x65,
+ 0x6e, 0x27, 0x73, 0x20, 0x6d, 0x61, 0x67, 0x61,
+ 0x7a, 0x69, 0x6e, 0x65, 0x73, 0x2c, 0x00, 0x62,
+ 0x75, 0x74, 0x20, 0x74, 0x68, 0x65, 0x72, 0x65,
+ 0x20, 0x61, 0x72, 0x65, 0x20, 0x67, 0x75, 0x6e,
+ 0x73, 0x20, 0x69, 0x6e, 0x73, 0x74, 0x65, 0x61,
+ 0x64, 0x20, 0x6f, 0x66, 0x20, 0x70, 0x65, 0x72,
+ 0x66, 0x75, 0x6d, 0x65, 0x73, 0x2e, 0x00, 0x49,
+ 0x74, 0x27, 0x73, 0x20, 0x63, 0x6f, 0x6f, 0x6c,
+ 0x20, 0x61, 0x6e, 0x79, 0x77, 0x61, 0x79, 0x2e,
+ 0x00, 0x00, 0x54, 0x00, 0x67, 0x72, 0x65, 0x6e,
+ 0x61, 0x64, 0x65, 0x00, 0x49, 0x20, 0x6d, 0x75,
+ 0x73, 0x74, 0x20, 0x62, 0x65, 0x20, 0x63, 0x72,
+ 0x61, 0x7a, 0x79, 0x20, 0x74, 0x6f, 0x20, 0x70,
+ 0x75, 0x74, 0x20, 0x69, 0x6e, 0x20, 0x6d, 0x79,
+ 0x20, 0x70, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x2e,
+ 0x00, 0x53, 0x6f, 0x6d, 0x65, 0x74, 0x68, 0x69,
+ 0x6e, 0x67, 0x20, 0x68, 0x6f, 0x72, 0x72, 0x69,
+ 0x62, 0x6c, 0x65, 0x20, 0x6d, 0x69, 0x67, 0x68,
+ 0x74, 0x20, 0x68, 0x61, 0x70, 0x70, 0x65, 0x6e,
+ 0x2e, 0x2e, 0x2e, 0x00, 0x00, 0x55, 0x00, 0x6d,
+ 0x75, 0x67, 0x00, 0x49, 0x74, 0x27, 0x73, 0x20,
+ 0x65, 0x6d, 0x70, 0x74, 0x79, 0x2e, 0x00, 0x00,
+ 0x56, 0x00, 0x6d, 0x75, 0x67, 0x20, 0x66, 0x75,
+ 0x6c, 0x6c, 0x20, 0x6f, 0x66, 0x20, 0x6d, 0x75,
+ 0x64, 0x00, 0x57, 0x68, 0x79, 0x20, 0x64, 0x69,
+ 0x64, 0x20, 0x49, 0x20, 0x66, 0x69, 0x6c, 0x6c,
+ 0x20, 0x74, 0x68, 0x65, 0x20, 0x6d, 0x75, 0x67,
+ 0x20, 0x77, 0x69, 0x74, 0x68, 0x20, 0x6d, 0x75,
+ 0x64, 0x3f, 0x00, 0x00, 0x54, 0x68, 0x61, 0x74,
+ 0x20, 0x6d, 0x61, 0x6b, 0x65, 0x73, 0x20, 0x6e,
+ 0x6f, 0x20, 0x73, 0x65, 0x6e, 0x73, 0x65, 0x21,
+ 0x00, 0x00, 0x57, 0x00, 0x63, 0x72, 0x75, 0x6d,
+ 0x62, 0x73, 0x00, 0x54, 0x68, 0x65, 0x73, 0x65,
+ 0x20, 0x61, 0x72, 0x65, 0x20, 0x73, 0x6f, 0x6d,
+ 0x65, 0x20, 0x72, 0x65, 0x6d, 0x61, 0x69, 0x6e,
+ 0x73, 0x20, 0x6f, 0x66, 0x20, 0x62, 0x72, 0x65,
+ 0x61, 0x64, 0x2e, 0x00, 0x00, 0x58, 0x00, 0x72,
+ 0x6f, 0x70, 0x65, 0x00, 0x49, 0x74, 0x27, 0x73,
+ 0x20, 0x74, 0x68, 0x69, 0x6e, 0x20, 0x61, 0x6e,
+ 0x64, 0x20, 0x6c, 0x6f, 0x6e, 0x67, 0x2e, 0x00,
+ 0x00, 0x59, 0x00, 0x72, 0x6f, 0x70, 0x65, 0x20,
+ 0x74, 0x69, 0x65, 0x64, 0x20, 0x74, 0x6f, 0x20,
+ 0x67, 0x72, 0x65, 0x6e, 0x61, 0x64, 0x65, 0x00,
+ 0x4d, 0x79, 0x20, 0x70, 0x61, 0x74, 0x65, 0x6e,
+ 0x74, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x61, 0x20,
+ 0x62, 0x6f, 0x6d, 0x62, 0x61, 0x73, 0x74, 0x69,
+ 0x63, 0x20, 0x79, 0x6f, 0x79, 0x6f, 0x2e, 0x00,
+ 0x00, 0x5a, 0x00, 0x6d, 0x65, 0x64, 0x69, 0x63,
+ 0x69, 0x6e, 0x65, 0x00, 0x54, 0x68, 0x65, 0x79,
+ 0x20, 0x6c, 0x6f, 0x6f, 0x6b, 0x20, 0x6c, 0x69,
+ 0x6b, 0x65, 0x20, 0x73, 0x6c, 0x65, 0x65, 0x70,
+ 0x69, 0x6e, 0x67, 0x20, 0x70, 0x69, 0x6c, 0x6c,
+ 0x73, 0x2e, 0x00, 0x41, 0x6c, 0x74, 0x68, 0x6f,
+ 0x75, 0x67, 0x68, 0x20, 0x49, 0x20, 0x64, 0x6f,
+ 0x6e, 0x27, 0x74, 0x20, 0x68, 0x61, 0x76, 0x65,
+ 0x20, 0x61, 0x6e, 0x79, 0x20, 0x69, 0x64, 0x65,
+ 0x61, 0x20, 0x77, 0x68, 0x79, 0x2e, 0x00, 0x00,
+ 0x5b, 0x00, 0x64, 0x72, 0x75, 0x67, 0x67, 0x65,
+ 0x64, 0x20, 0x66, 0x6f, 0x6f, 0x64, 0x00, 0x53,
+ 0x6d, 0x65, 0x6c, 0x6c, 0x73, 0x20, 0x6c, 0x69,
+ 0x6b, 0x65, 0x20, 0x54, 0x65, 0x65, 0x6e, 0x20,
+ 0x53, 0x70, 0x69, 0x72, 0x69, 0x74, 0x2e, 0x00,
+ 0x00, 0x5c, 0x01, 0x62, 0x69, 0x72, 0x64, 0x00,
+ 0x49, 0x74, 0x20, 0x77, 0x6f, 0x75, 0x6c, 0x64,
+ 0x20, 0x6d, 0x61, 0x6b, 0x65, 0x20, 0x61, 0x20,
+ 0x67, 0x72, 0x65, 0x61, 0x74, 0x20, 0x64, 0x69,
+ 0x6e, 0x6e, 0x2e, 0x2e, 0x2e, 0x20, 0x49, 0x20,
+ 0x6d, 0x65, 0x61, 0x6e, 0x00, 0x66, 0x72, 0x69,
+ 0x65, 0x6e, 0x64, 0x2c, 0x20, 0x6f, 0x66, 0x20,
+ 0x63, 0x6f, 0x75, 0x72, 0x73, 0x65, 0x2e, 0x00,
+ 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00,
+ 0x00, 0x01, 0xff, 0xff, 0x00, 0xff, 0x00, 0x00,
+ 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00,
+ 0x00, 0x01, 0xff, 0x00, 0x00, 0x02, 0xff, 0xff,
+ 0xff, 0x01, 0xff, 0x00, 0x00, 0x02, 0xff, 0x00,
+ 0x00, 0x01, 0xff, 0x00, 0x00, 0x01, 0x00, 0x00,
+ 0x00, 0x06, 0xff, 0xff, 0x00, 0x02, 0xff, 0x00,
+ 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00,
+ 0x00, 0x01, 0x02, 0xff, 0x00, 0x04, 0xff, 0x00,
+ 0x00, 0xff, 0x00, 0x00, 0x00, 0x0d, 0x00, 0x00,
+ 0x00, 0x0a, 0xff, 0x00, 0x00, 0x01, 0x0d, 0x00,
+ 0x00, 0x01, 0x02, 0xff, 0x00, 0x01, 0x00, 0x00,
+ 0x00, 0x06, 0x07, 0x00, 0x00, 0xff, 0xff, 0xff,
+ 0x00, 0x01, 0x04, 0x02, 0x03, 0xff, 0x00, 0x00,
+ 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0xff,
+ 0x00, 0xff, 0xff, 0x00, 0x00, 0x01, 0xff, 0xff,
+ 0x00, 0x01, 0x02, 0xff, 0x00, 0xff, 0xff, 0x00,
+ 0x00, 0x04, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00,
+ 0x00, 0xff, 0xff, 0xff, 0xff, 0x01, 0xff, 0x00,
+ 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff,
+ 0x00, 0xff, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00,
+ 0x00, 0xf8, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x28, 0x1d, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x08, 0x67, 0x7c, 0x04, 0x4f, 0x29, 0x00,
+ 0x00, 0xec, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x2a, 0x66, 0x37, 0x03, 0xca, 0x0c, 0x00,
+ 0x00, 0x75, 0xbf, 0x91, 0x0c, 0x00, 0x00, 0x00,
+ 0x00, 0x99, 0x5f, 0x87, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x64, 0x34, 0xbe, 0x47, 0xad, 0x03, 0x86,
+ 0x02, 0x18, 0x20, 0xd4, 0x02, 0x00, 0x00, 0x00,
+ 0x00, 0xd6, 0x22, 0x58, 0x02, 0x00, 0x00, 0x00,
+ 0x00, 0x0c, 0x67, 0xac, 0xf3, 0x00, 0x00, 0x00,
+ 0x00, 0xc3, 0x51, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0xdf, 0x27, 0xc8, 0x4d, 0x64, 0x08, 0x00,
+ 0x00, 0x4e, 0x7e, 0x5c, 0xe6, 0x00, 0x00, 0x00,
+ 0x00, 0x69, 0x0d, 0x27, 0x0d, 0x00, 0x00, 0x00,
+ 0x00, 0x4a, 0x0d, 0x45, 0x0d, 0x00, 0x00, 0x00,
+ 0x00, 0xb9, 0x48, 0x71, 0x12, 0x04, 0x27, 0x00,
+ 0x00, 0xdb, 0x73, 0xfe, 0x02, 0x00, 0x00, 0x00,
+ 0x00, 0xfc, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x5b, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x13, 0x40, 0x51, 0x93, 0x00, 0x00, 0x00,
+ 0x00, 0x13, 0x4f, 0x4f, 0x05, 0x00, 0x00, 0x00,
+ 0x00, 0x7a, 0x50, 0x64, 0x5d, 0x6f, 0x04, 0x00,
+ 0x00, 0xa3, 0x93, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x88, 0x02, 0x91, 0x02, 0x00, 0x00, 0x00,
+ 0x00, 0xce, 0x02, 0x77, 0x04, 0x2f, 0x1d, 0x00,
+ 0x00, 0x08, 0x69, 0x06, 0x23, 0x32, 0x4b, 0x3e,
+ 0x6c, 0x46, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0xf6, 0x16, 0xc5, 0x13, 0x00, 0x00, 0x00,
+ 0x00, 0xfb, 0x0a, 0x21, 0x73, 0x68, 0x3b, 0x00,
+ 0x00, 0x9b, 0x15, 0x0d, 0x1a, 0x00, 0x00, 0x00,
+ 0x00, 0xce, 0xf7, 0x25, 0x6b, 0xcb, 0x13, 0x00,
+ 0x00, 0x33, 0xa5, 0xbf, 0x01, 0xb3, 0x10, 0x00,
+ 0x00, 0xcb, 0x13, 0x7c, 0x05, 0x00, 0x00, 0x00,
+ 0x00, 0x7e, 0x0f, 0x14, 0x59, 0xc5, 0x13, 0x00,
+ 0x00, 0x95, 0x51, 0xce, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x4d, 0x29, 0xfc, 0x14, 0xe1, 0xa4, 0xad,
+ 0x8e, 0x07, 0x5b, 0x47, 0x02, 0x00, 0x00, 0x00,
+ 0x00, 0xbf, 0x52, 0x3c, 0x0e, 0xc5, 0x0e, 0x00,
+ 0x00, 0x44, 0x6b, 0xe0, 0x76, 0x97, 0x00, 0x00,
+ 0x00, 0x5a, 0x1a, 0xb8, 0xb3, 0x00, 0x00, 0x00,
+ 0x00, 0x6c, 0x66, 0x8f, 0xdc, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x01, 0x00, 0xb4, 0x01, 0x6f, 0x04, 0xcb,
+ 0x07, 0x01, 0x09, 0xff, 0xff, 0x36, 0x09, 0x02,
+ 0x0a, 0x2d, 0x0a, 0xff, 0xff, 0x43, 0x0c, 0x75,
+ 0x0d, 0x0e, 0x0f, 0xb8, 0x0f, 0xff, 0xff, 0xdb,
+ 0x10, 0xac, 0x11, 0xd9, 0x12, 0x68, 0x14, 0xff,
+ 0xff, 0x85, 0x14, 0x28, 0x15, 0xff, 0xff, 0xde,
+ 0x16, 0x26, 0x17, 0xff, 0xff, 0x52, 0x17, 0x8c,
+ 0x17, 0x13, 0x19, 0x3e, 0x1a, 0x63, 0x1a, 0x84,
+ 0x1a, 0xc9, 0x1a, 0xf7, 0x1a, 0x27, 0x1b, 0x4a,
+ 0x1b, 0xff, 0xff, 0x97, 0x1c, 0xec, 0x1c, 0xff,
+ 0xff, 0x2c, 0x1d, 0xd8, 0x1d, 0xff, 0xff, 0x41,
+ 0x20, 0x5f, 0x21, 0xff, 0xff, 0x82, 0x25, 0xfe,
+ 0x25, 0xff, 0xff, 0x6f, 0x2b, 0xb2, 0x2b, 0xdd,
+ 0x2b, 0x5d, 0x2c, 0x9b, 0x2c, 0xff, 0xff, 0x02,
+ 0x31, 0x1b, 0x31, 0x37, 0x31, 0x6f, 0x31, 0xff,
+ 0xff, 0x7d, 0x31, 0x15, 0x32, 0xff, 0xff, 0x41,
+ 0x3e, 0xa3, 0x3e, 0x08, 0x3f, 0xea, 0x3f, 0xff,
+ 0xff, 0x0d, 0x40, 0x39, 0x44, 0x6a, 0x44, 0xff,
+ 0xff, 0xe2, 0x58, 0xc5, 0x59, 0x9d, 0x5a, 0xd7,
+ 0x5a, 0xff, 0xff, 0xf3, 0x5a, 0xa9, 0x5b, 0x53,
+ 0x5c, 0x99, 0x5c, 0x3e, 0x5d, 0xff, 0xff, 0x5b,
+ 0x5d, 0x0a, 0x5f, 0xae, 0x5f, 0xcf, 0x5f, 0xff,
+ 0xff, 0xfe, 0x5f, 0x88, 0x60, 0xff, 0xff, 0xf0,
+ 0x62, 0x18, 0x63, 0x47, 0x63, 0x6b, 0x63, 0x82,
+ 0x63, 0xff, 0xff, 0xf7, 0x6b, 0x7f, 0x6d, 0x7b,
+ 0x6e, 0xa4, 0x6e, 0xff, 0xff, 0xc0, 0x6e, 0xe9,
+ 0x6e, 0x03, 0x6f, 0xff, 0xff, 0x5e, 0x73, 0xb3,
+ 0x73, 0xe8, 0x73, 0xff, 0xff, 0xfc, 0x64, 0x4c,
+ 0x65, 0xab, 0x65, 0xff, 0xff, 0x03, 0x74, 0x59,
+ 0x74, 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 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, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0xdd, 0xec, 0x50,
+ 0x62, 0x61, 0x63, 0x6b, 0x67, 0x72, 0x6f, 0x75,
+ 0x6e, 0x64, 0x73, 0x00, 0x69, 0x41, 0x4e, 0x44,
+ 0x52, 0x5a, 0x45, 0x4a, 0x20, 0x44, 0x4f, 0x42,
+ 0x52, 0x5a, 0x59, 0x3b, 0x53, 0x4b, 0x49, 0x00,
+ 0x00, 0xe3, 0xd2, 0x50, 0x6d, 0x75, 0x73, 0x69,
+ 0x63, 0x00, 0x69, 0x52, 0x41, 0x44, 0x45, 0x4b,
+ 0x20, 0x53, 0x5a, 0x41, 0x4d, 0x52, 0x45, 0x4a,
+ 0x00, 0x00, 0xd7, 0xe6, 0x50, 0x61, 0x6e, 0x69,
+ 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x61,
+ 0x6e, 0x64, 0x20, 0x67, 0x72, 0x61, 0x70, 0x68,
+ 0x69, 0x63, 0x73, 0x00, 0x69, 0x47, 0x52, 0x5a,
+ 0x45, 0x47, 0x4f, 0x52, 0x5a, 0x20, 0x4d, 0x49,
+ 0x45, 0x43, 0x48, 0x4f, 0x57, 0x53, 0x4b, 0x49,
+ 0x00, 0x00, 0xd9, 0xe8, 0x50, 0x70, 0x72, 0x6f,
+ 0x67, 0x72, 0x61, 0x6d, 0x6d, 0x69, 0x6e, 0x67,
+ 0x20, 0x61, 0x6e, 0x64, 0x20, 0x73, 0x63, 0x72,
+ 0x69, 0x70, 0x74, 0x00, 0x69, 0x41, 0x44, 0x52,
+ 0x49, 0x41, 0x4e, 0x20, 0x43, 0x48, 0x4d, 0x49,
+ 0x45, 0x4c, 0x41, 0x52, 0x5a, 0x00, 0x00, 0xdd,
+ 0xec, 0x5c, 0x61, 0x66, 0x74, 0x65, 0x72, 0x20,
+ 0x74, 0x68, 0x65, 0x20, 0x74, 0x69, 0x72, 0x69,
+ 0x6e, 0x67, 0x20, 0x6a, 0x6f, 0x75, 0x72, 0x6e,
+ 0x65, 0x79, 0x2e, 0x2e, 0x2e, 0x00, 0x00, 0xdd,
+ 0xec, 0x5c, 0x54, 0x48, 0x45, 0x20, 0x45, 0x4e,
+ 0x44, 0x00, 0x00, 0x70, 0x72, 0x6f, 0x67, 0x72,
+ 0x61, 0x6d, 0x6d, 0x69, 0x6e, 0x67, 0x00, 0x41,
+ 0x44, 0x52, 0x49, 0x41, 0x4e, 0x20, 0x43, 0x48,
+ 0x4d, 0x49, 0x45, 0x4c, 0x41, 0x52, 0x5a, 0x00,
+ 0x20, 0x00, 0x20, 0x00, 0x61, 0x6e, 0x69, 0x6d,
+ 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x00, 0x47, 0x52,
+ 0x5a, 0x45, 0x47, 0x4f, 0x52, 0x5a, 0x20, 0x4d,
+ 0x49, 0x45, 0x43, 0x48, 0x4f, 0x57, 0x53, 0x4b,
+ 0x49, 0x00, 0x20, 0x00, 0x20, 0x00, 0x61, 0x64,
+ 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c,
+ 0x20, 0x61, 0x6e, 0x69, 0x6d, 0x61, 0x74, 0x69,
+ 0x6f, 0x6e, 0x73, 0x00, 0x54, 0x4f, 0x4d, 0x41,
+ 0x53, 0x5a, 0x20, 0x50, 0x49, 0x4c, 0x49, 0x4b,
+ 0x00, 0x20, 0x00, 0x20, 0x00, 0x62, 0x61, 0x63,
+ 0x6b, 0x67, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x73,
+ 0x00, 0x41, 0x4e, 0x44, 0x52, 0x5a, 0x45, 0x4a,
+ 0x20, 0x44, 0x4f, 0x42, 0x52, 0x5a, 0x59, 0x4e,
+ 0x53, 0x4b, 0x49, 0x00, 0x20, 0x00, 0x20, 0x00,
+ 0x6d, 0x75, 0x73, 0x69, 0x63, 0x00, 0x52, 0x41,
+ 0x44, 0x45, 0x4b, 0x20, 0x53, 0x5a, 0x41, 0x4d,
+ 0x52, 0x45, 0x4a, 0x00, 0x20, 0x00, 0x20, 0x00,
+ 0x63, 0x6f, 0x76, 0x65, 0x72, 0x20, 0x61, 0x72,
+ 0x74, 0x00, 0x44, 0x41, 0x52, 0x49, 0x55, 0x53,
+ 0x5a, 0x20, 0x41, 0x4e, 0x41, 0x43, 0x4b, 0x49,
+ 0x00, 0x20, 0x00, 0x20, 0x00, 0x74, 0x72, 0x61,
+ 0x6e, 0x73, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e,
+ 0x20, 0x68, 0x65, 0x6c, 0x70, 0x00, 0x50, 0x45,
+ 0x54, 0x45, 0x52, 0x20, 0x57, 0x45, 0x4c, 0x4c,
+ 0x53, 0x00, 0x20, 0x00, 0x20, 0x00, 0x62, 0x65,
+ 0x74, 0x61, 0x74, 0x65, 0x73, 0x74, 0x65, 0x72,
+ 0x73, 0x00, 0x54, 0x4f, 0x4d, 0x41, 0x53, 0x5a,
+ 0x20, 0x46, 0x55, 0x52, 0x4d, 0x41, 0x4e, 0x49,
+ 0x55, 0x4b, 0x00, 0x50, 0x41, 0x54, 0x52, 0x59,
+ 0x4b, 0x20, 0x53, 0x41, 0x57, 0x49, 0x43, 0x4b,
+ 0x49, 0x00, 0x50, 0x41, 0x57, 0x45, 0x4c, 0x20,
+ 0x4d, 0x49, 0x45, 0x43, 0x48, 0x4f, 0x57, 0x53,
+ 0x4b, 0x49, 0x00, 0x4d, 0x41, 0x52, 0x45, 0x4b,
+ 0x20, 0x43, 0x48, 0x4d, 0x49, 0x45, 0x4c, 0x41,
+ 0x52, 0x5a, 0x00, 0x4a, 0x45, 0x44, 0x52, 0x45,
+ 0x4b, 0x20, 0x57, 0x49, 0x43, 0x48, 0x41, 0x00,
+ 0x4d, 0x52, 0x2e, 0x20, 0x4a, 0x4f, 0x48, 0x4e,
+ 0x20, 0x44, 0x4f, 0x45, 0x00, 0x4d, 0x41, 0x52,
+ 0x43, 0x49, 0x4e, 0x20, 0x44, 0x52, 0x45, 0x57,
+ 0x53, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00,
+ 0x69, 0x64, 0x65, 0x61, 0x73, 0x00, 0x41, 0x44,
+ 0x52, 0x49, 0x41, 0x4e, 0x20, 0x43, 0x48, 0x4d,
+ 0x49, 0x45, 0x4c, 0x41, 0x52, 0x5a, 0x00, 0x47,
+ 0x52, 0x5a, 0x45, 0x47, 0x4f, 0x52, 0x5a, 0x20,
+ 0x4d, 0x49, 0x45, 0x43, 0x48, 0x4f, 0x57, 0x53,
+ 0x4b, 0x49, 0x00, 0x41, 0x4e, 0x44, 0x52, 0x5a,
+ 0x45, 0x4a, 0x20, 0x53, 0x41, 0x57, 0x49, 0x43,
+ 0x4b, 0x49, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20,
+ 0x00, 0x70, 0x72, 0x69, 0x6e, 0x74, 0x00, 0x4a,
+ 0x41, 0x52, 0x4f, 0x53, 0x5d, 0x41, 0x57, 0x20,
+ 0x57, 0x45, 0x49, 0x53, 0x53, 0x00, 0x41, 0x47,
+ 0x45, 0x4e, 0x43, 0x4a, 0x41, 0x20, 0x53, 0x54,
+ 0x59, 0x4c, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20,
+ 0x00, 0x74, 0x68, 0x61, 0x6e, 0x6b, 0x73, 0x00,
+ 0x48, 0x45, 0x4e, 0x52, 0x59, 0x20, 0x4b, 0x55,
+ 0x54, 0x54, 0x4e, 0x45, 0x52, 0x00, 0x55, 0x2d,
+ 0x4b, 0x4e, 0x4f, 0x57, 0x2d, 0x57, 0x48, 0x4f,
+ 0x2d, 0x55, 0x2d, 0x52, 0x2d, 0x42, 0x55, 0x54,
+ 0x2d, 0x57, 0x41, 0x4e, 0x54, 0x2d, 0x32, 0x2d,
+ 0x53, 0x54, 0x41, 0x59, 0x2d, 0x49, 0x4e, 0x2d,
+ 0x53, 0x48, 0x41, 0x44, 0x4f, 0x57, 0x00, 0x45,
+ 0x50, 0x49, 0x43, 0x20, 0x4d, 0x45, 0x47, 0x41,
+ 0x47, 0x41, 0x4d, 0x45, 0x53, 0x00, 0x58, 0x4c,
+ 0x41, 0x4e, 0x44, 0x20, 0x53, 0x4f, 0x46, 0x54,
+ 0x57, 0x41, 0x52, 0x45, 0x20, 0x50, 0x55, 0x42,
+ 0x4c, 0x49, 0x53, 0x48, 0x49, 0x4e, 0x47, 0x00,
+ 0x4b, 0x41, 0x54, 0x41, 0x52, 0x5a, 0x59, 0x4e,
+ 0x41, 0x20, 0x4d, 0x49, 0x45, 0x43, 0x48, 0x4f,
+ 0x57, 0x53, 0x4b, 0x41, 0x00, 0x20, 0x00, 0x20,
+ 0x00, 0x20, 0x00, 0x73, 0x70, 0x65, 0x63, 0x69,
+ 0x61, 0x6c, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x6b,
+ 0x73, 0x00, 0x41, 0x4e, 0x44, 0x52, 0x5a, 0x45,
+ 0x4a, 0x20, 0x4d, 0x49, 0x43, 0x48, 0x41, 0x4c,
+ 0x41, 0x4b, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20,
+ 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20,
+ 0x00, 0x20, 0x00, 0x20, 0x00, 0x70, 0x72, 0x6f,
+ 0x64, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x00,
+ 0x4d, 0x45, 0x54, 0x52, 0x4f, 0x50, 0x4f, 0x4c,
+ 0x49, 0x53, 0x20, 0x53, 0x4f, 0x46, 0x54, 0x57,
+ 0x41, 0x52, 0x45, 0x20, 0x48, 0x4f, 0x55, 0x53,
+ 0x45, 0x00, 0x28, 0x63, 0x29, 0x20, 0x31, 0x39,
+ 0x39, 0x34, 0x2d, 0x31, 0x39, 0x39, 0x35, 0x00,
+ 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x41, 0x6c,
+ 0x6c, 0x20, 0x61, 0x6c, 0x6c, 0x75, 0x73, 0x69,
+ 0x6f, 0x6e, 0x73, 0x20, 0x61, 0x6e, 0x64, 0x20,
+ 0x70, 0x75, 0x6e, 0x73, 0x00, 0x61, 0x72, 0x65,
+ 0x20, 0x69, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x69,
+ 0x6f, 0x6e, 0x61, 0x6c, 0x00, 0x20, 0x00, 0x20,
+ 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20,
+ 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20,
+ 0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20,
+ 0x00, 0x20, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00
+};
+
+// Dialog Strings Block
+
+#define ANIM_WAIT "\xff"
+#define NEW_LINE "\n"
+#define DISPLAY_MESSAGE "\n\n"
+#define CHANGE_CHARACTER "\n\n\n"
+#define END_DIALOG "\n\n\n\n"
+
+const static char* dialog_0[] = {
+ ANIM_WAIT,
+ "Good day.",
+ CHANGE_CHARACTER,
+ "Yeah.",
+ CHANGE_CHARACTER,
+ "Why are you standing here?",
+ CHANGE_CHARACTER,
+ "It's a question of gravitation.",
+ CHANGE_CHARACTER,
+ "Extremely funny joke.",
+ DISPLAY_MESSAGE,
+ "For a soldier.",
+ CHANGE_CHARACTER,
+ "I'm not a soldier, although I tried",
+ NEW_LINE,
+ "to be.",
+ DISPLAY_MESSAGE,
+ "I didn't pass the intell...",
+ NEW_LINE,
+ "the physical test.",
+ DISPLAY_MESSAGE,
+ "They ordered me to shoot at",
+ NEW_LINE,
+ "a thrown coin when jumping",
+ NEW_LINE,
+ "from the tree onto a horse.",
+ CHANGE_CHARACTER,
+ "Yep, that seems hard.",
+ CHANGE_CHARACTER,
+ "Special Forces ain't a piece of cake,",
+ NEW_LINE,
+ "you know.",
+ CHANGE_CHARACTER,
+ "I'm sorry you didn't make it.",
+ CHANGE_CHARACTER,
+ "Yeah, I missed the horse.",
+ END_DIALOG
+};
+
+const static char* dialog_1[] = {
+ "So...",
+ DISPLAY_MESSAGE,
+ "What are you doing now?",
+ CHANGE_CHARACTER,
+ "Wanna hear a funny answer?",
+ CHANGE_CHARACTER,
+ "Please don't bother.",
+ CHANGE_CHARACTER,
+ "All right, but you know, there's not much",
+ NEW_LINE,
+ "entertainment here.",
+ DISPLAY_MESSAGE,
+ "Sometimes I like to joke a bit.",
+ NEW_LINE,
+ "Or a byte, heh-heh!",
+ CHANGE_CHARACTER,
+ "Well then...",
+ CHANGE_CHARACTER,
+ "I'm guarding this place...",
+ CHANGE_CHARACTER,
+ "Wow. That's a surprise.",
+ CHANGE_CHARACTER,
+ "...And I'm told to kill ANYBODY",
+ NEW_LINE,
+ "who tries to get in.",
+ CHANGE_CHARACTER,
+ "What about the owner?",
+ CHANGE_CHARACTER,
+ "He's not just ANYBODY, you know.",
+ CHANGE_CHARACTER,
+ "I guess you won't let ME in then?",
+ CHANGE_CHARACTER,
+ "Bingo.",
+ CHANGE_CHARACTER,
+ "Even if say I please?",
+ CHANGE_CHARACTER,
+ "No way, kiddo.",
+ CHANGE_CHARACTER,
+ ANIM_WAIT,
+ "PLEEEEEASE.",
+ CHANGE_CHARACTER,
+ "Forget it.",
+ NEW_LINE,
+ "I've got a heart of stone.",
+ CHANGE_CHARACTER,
+ "Like your brain.",
+ CHANGE_CHARACTER,
+ ANIM_WAIT,
+ "I don't follow.",
+ CHANGE_CHARACTER,
+ "Never mind.",
+ NEW_LINE,
+ "How can I soften your stone heart?",
+ CHANGE_CHARACTER,
+ "You can't. I'm a really tough guy.",
+ DISPLAY_MESSAGE,
+ "But come here, I'll give you",
+ NEW_LINE,
+ "a consolation...",
+ END_DIALOG
+};
+
+const static char* dialog_2[] = {
+ "Thanks. What is it?",
+ CHANGE_CHARACTER,
+ "Chocolate candy.",
+ DISPLAY_MESSAGE,
+ "My employer gave me a few of these",
+ NEW_LINE,
+ "for lunch and...",
+ CHANGE_CHARACTER,
+ "Is your employer home?!",
+ CHANGE_CHARACTER,
+ "Mr. John Noty? Yeah, why?",
+ CHANGE_CHARACTER,
+ "Oh, nothing...",
+ DISPLAY_MESSAGE,
+ "John Noty...",
+ DISPLAY_MESSAGE,
+ "I think I've heard of him...",
+ CHANGE_CHARACTER,
+ "You should have. He's making big money,",
+ NEW_LINE,
+ "you know.",
+ DISPLAY_MESSAGE,
+ "Especially lately...",
+ CHANGE_CHARACTER,
+ "Yeah?...",
+ CHANGE_CHARACTER,
+ "Well, I don't know how.",
+ DISPLAY_MESSAGE,
+ "Maybe it has something to do with",
+ NEW_LINE,
+ "the mad scientist that came round",
+ NEW_LINE,
+ "one day...",
+ DISPLAY_MESSAGE,
+ "Oh, you think you're smart, don't you?!",
+ NEW_LINE,
+ "Are you a spy?!",
+ CHANGE_CHARACTER,
+ "Hey, I'm just a common homeboy.",
+ DISPLAY_MESSAGE,
+ "If you don't wanna talk,",
+ NEW_LINE,
+ "don't talk.",
+ CHANGE_CHARACTER,
+ "Mr. Bad Gay told me to watch",
+ NEW_LINE,
+ "for spies...",
+ CHANGE_CHARACTER,
+ "Do I really look like a spy?",
+ CHANGE_CHARACTER,
+ "...And kill them immediately...",
+ CHANGE_CHARACTER,
+ "Hey, chill...",
+ CHANGE_CHARACTER,
+ "...And I haven't killed anybody",
+ NEW_LINE,
+ "for a loooong time...",
+ CHANGE_CHARACTER,
+ "It's about this candy, isn't it?",
+ NEW_LINE,
+ "Do you want it back? No problem.",
+ CHANGE_CHARACTER,
+ ANIM_WAIT,
+ "Sorry, I just got carried away.",
+ CHANGE_CHARACTER,
+ "I understand.",
+ NEW_LINE,
+ "It's hot around here.",
+ CHANGE_CHARACTER,
+ "Yeah.",
+ END_DIALOG
+};
+
+const static char* dialog_3[] = {
+ "Mister guard, I...",
+ CHANGE_CHARACTER,
+ "Listen, boy.",
+ DISPLAY_MESSAGE,
+ "A spy or not a spy, it's out of",
+ NEW_LINE,
+ "the question.",
+ DISPLAY_MESSAGE,
+ "You won't get in, no matter if you just want",
+ NEW_LINE,
+ "to visit the place, steal something or",
+ NEW_LINE,
+ "talk to Mr. John Noty.",
+ DISPLAY_MESSAGE,
+ "Also you won't make me talk.",
+ DISPLAY_MESSAGE,
+ "One more try and I'll make a few",
+ NEW_LINE,
+ "highways for worms.",
+ DISPLAY_MESSAGE,
+ "In your body.",
+ DISPLAY_MESSAGE,
+ "Got it?",
+ CHANGE_CHARACTER,
+ "Got it.",
+ END_DIALOG
+};
+
+const static char* dialog_4[] = {
+ "Nice suit.",
+ CHANGE_CHARACTER,
+ "Yeah.",
+ END_DIALOG
+};
+
+const static char* dialog_5[] = {
+ CHANGE_CHARACTER,
+ "Damn!",
+ DISPLAY_MESSAGE,
+ "It's only you!...",
+ END_DIALOG
+};
+
+const static char* dialog_6[] = {
+ "Hey!",
+ CHANGE_CHARACTER,
+ "What?",
+ CHANGE_CHARACTER,
+ "What's in this bottle?",
+ CHANGE_CHARACTER,
+ "You can't prove anything!",
+ CHANGE_CHARACTER,
+ "Something hot, I guess?..",
+ CHANGE_CHARACTER,
+ "None of your business.",
+ CHANGE_CHARACTER,
+ "Drinking on duty, huh?",
+ CHANGE_CHARACTER,
+ "You think you've almost got me,",
+ NEW_LINE,
+ "don't you?",
+ DISPLAY_MESSAGE,
+ "Forget it.",
+ END_DIALOG
+};
+
+const static char* dialog_7[] = {
+ "Hey!",
+ CHANGE_CHARACTER,
+ "You've seen nothing.",
+ DISPLAY_MESSAGE,
+ "I'm clean.",
+ END_DIALOG
+};
+
+const static char* dialog_8[] = {
+ "Hey!",
+ CHANGE_CHARACTER,
+ "Get lost.",
+ END_DIALOG
+};
+
+const static char* dialog_9[] = {
+ "What would you say if I gave you some",
+ NEW_LINE,
+ "gold?...",
+ CHANGE_CHARACTER,
+ "I'd say thanks.",
+ CHANGE_CHARACTER,
+ "Would you let me in?",
+ CHANGE_CHARACTER,
+ "I guess so...",
+ CHANGE_CHARACTER,
+ "You have to be sure.",
+ CHANGE_CHARACTER,
+ "OK, I'm sure. I will let you in.",
+ CHANGE_CHARACTER,
+ "All right. Here we go.",
+ END_DIALOG
+};
+
+const static char* dialog_10[] = {
+ "Now please open the door.",
+ CHANGE_CHARACTER,
+ "No way. Now buzz off.",
+ CHANGE_CHARACTER,
+ "Hey! I gave you the gold, remember?...",
+ CHANGE_CHARACTER,
+ "What gold?",
+ CHANGE_CHARACTER,
+ "WHAT GOLD?!?",
+ CHANGE_CHARACTER,
+ "I don't know nothing 'bout any gold.",
+ END_DIALOG
+};
+
+const static char* dialog_11[] = {
+ "You... You...",
+ CHANGE_CHARACTER,
+ "Buzz off.",
+ CHANGE_CHARACTER,
+ "You said you'd let me in!",
+ DISPLAY_MESSAGE,
+ "But you've let me down!",
+ CHANGE_CHARACTER,
+ "Yeah, but I'll let you off.",
+ END_DIALOG
+};
+
+const static char* dialog_12[] = {
+ "You can't even trust corrupt",
+ NEW_LINE,
+ "guards these days.",
+ END_DIALOG
+};
+
+const static char* dialog_13[] = {
+ "Hi.",
+ CHANGE_CHARACTER,
+ "Hello.",
+ CHANGE_CHARACTER,
+ "I'm Mark.",
+ DISPLAY_MESSAGE,
+ "What's your name?",
+ CHANGE_CHARACTER,
+ "What's my name?",
+ CHANGE_CHARACTER,
+ "I don't know, you tell me.",
+ CHANGE_CHARACTER,
+ "Me.",
+ CHANGE_CHARACTER,
+ "Don't tell me 'me', just say",
+ NEW_LINE,
+ "your name!",
+ CHANGE_CHARACTER,
+ "Your na..",
+ CHANGE_CHARACTER,
+ "Gee!",
+ DISPLAY_MESSAGE,
+ "What did your dad call you?",
+ CHANGE_CHARACTER,
+ "Sonny.",
+ CHANGE_CHARACTER,
+ "Sonny as in the name or sonny",
+ NEW_LINE,
+ "as in son?",
+ CHANGE_CHARACTER,
+ "Sonny.",
+ CHANGE_CHARACTER,
+ "Are you stupid or just rude?",
+ CHANGE_CHARACTER,
+ "Sonny, I am.",
+ CHANGE_CHARACTER,
+ "(sigh)",
+ END_DIALOG
+};
+
+const static char* dialog_14[] = {
+ "Listen, Sonny or whatever.",
+ DISPLAY_MESSAGE,
+ "What are you trying to do",
+ NEW_LINE,
+ "with this ball?",
+ CHANGE_CHARACTER,
+ "Well, grandpa said he'd take",
+ NEW_LINE,
+ "me to ZOO if I score.",
+ CHANGE_CHARACTER,
+ "I think you should throw the ball",
+ NEW_LINE,
+ "a little bit higher.",
+ CHANGE_CHARACTER,
+ "Yeah, I know.",
+ CHANGE_CHARACTER,
+ "So?",
+ CHANGE_CHARACTER,
+ "So what?",
+ CHANGE_CHARACTER,
+ "So why don't you do it?!",
+ CHANGE_CHARACTER,
+ "It must be something with",
+ NEW_LINE,
+ "my eyes.",
+ CHANGE_CHARACTER,
+ "You should wear glassess?",
+ CHANGE_CHARACTER,
+ "No, why?",
+ CHANGE_CHARACTER,
+ "(sigh)",
+ DISPLAY_MESSAGE,
+ "Maybe you're just too weak to",
+ NEW_LINE,
+ "send the ball high enough?",
+ CHANGE_CHARACTER,
+ "No kidding.",
+ CHANGE_CHARACTER,
+ "(sigh)",
+ END_DIALOG
+};
+
+const static char* dialog_15[] = {
+ "Hey, kid!",
+ DISPLAY_MESSAGE,
+ "I've got a great idea!",
+ CHANGE_CHARACTER,
+ "Yeah?",
+ CHANGE_CHARACTER,
+ "Go to your grandpa and",
+ NEW_LINE,
+ "say you've scored!",
+ CHANGE_CHARACTER,
+ "You mean lie?",
+ CHANGE_CHARACTER,
+ "Well, sort of...",
+ CHANGE_CHARACTER,
+ "I NEVER LIE!",
+ CHANGE_CHARACTER,
+ "Never?!",
+ CHANGE_CHARACTER,
+ "NEVER!",
+ CHANGE_CHARACTER,
+ "Good boy.",
+ END_DIALOG
+};
+
+const static char* dialog_16[] = {
+ "Hey...",
+ CHANGE_CHARACTER,
+ "Go away.",
+ END_DIALOG
+};
+
+const static char* dialog_17[] = {
+ "Hey, boy! It's unbelievable!",
+ CHANGE_CHARACTER,
+ "What?",
+ CHANGE_CHARACTER,
+ "You might think it's a joke,",
+ NEW_LINE,
+ "but there's a hand holding",
+ NEW_LINE,
+ "a sword appearing from the lake!",
+ CHANGE_CHARACTER,
+ "OK, I'll look but just don't ",
+ NEW_LINE,
+ "think you've fooled me.",
+ NEW_LINE,
+ "This hand appears every year.",
+ DISPLAY_MESSAGE,
+ "Maybe this time will bring me luck",
+ NEW_LINE,
+ "at basketball...",
+ END_DIALOG
+};
+
+const static char* dialog_18[] = {
+ "Good day, sir!",
+ CHANGE_CHARACTER,
+ "And good day to",
+ NEW_LINE,
+ "you, my son.",
+ CHANGE_CHARACTER,
+ "My name is Mark, sir.",
+ CHANGE_CHARACTER,
+ "Great.",
+ DISPLAY_MESSAGE,
+ "What do you want?",
+ CHANGE_CHARACTER,
+ "I'm just admiring your arm-chair.",
+ DISPLAY_MESSAGE,
+ "It's nice.",
+ CHANGE_CHARACTER,
+ "Nice and pretty",
+ NEW_LINE,
+ "comfortable.",
+ CHANGE_CHARACTER,
+ "And big.",
+ CHANGE_CHARACTER,
+ "2-person model.",
+ END_DIALOG
+};
+
+const static char* dialog_19[] = {
+ "Do you know the boy",
+ NEW_LINE,
+ "playing with the ball",
+ NEW_LINE,
+ "outside?",
+ CHANGE_CHARACTER,
+ "Of course, he's",
+ NEW_LINE,
+ "my grandson.",
+ CHANGE_CHARACTER,
+ "Nice kid.",
+ CHANGE_CHARACTER,
+ "Nice and smart.",
+ CHANGE_CHARACTER,
+ "Nice and small.",
+ CHANGE_CHARACTER,
+ "He'll grow.",
+ CHANGE_CHARACTER,
+ "And become a very",
+ NEW_LINE,
+ "famous basketball",
+ NEW_LINE,
+ "player?...",
+ CHANGE_CHARACTER,
+ "I hope he won't.",
+ CHANGE_CHARACTER,
+ "Then tell him to stop playing!",
+ CHANGE_CHARACTER,
+ "Yeah.",
+ DISPLAY_MESSAGE,
+ "Later.",
+ DISPLAY_MESSAGE,
+ "Maybe.",
+ DISPLAY_MESSAGE,
+ "Right now I need",
+ NEW_LINE,
+ "some rest.",
+ END_DIALOG
+};
+
+const static char* dialog_20[] = {
+ "Are you going to sit here",
+ NEW_LINE,
+ "all day long?",
+ CHANGE_CHARACTER,
+ "Hope so.",
+ CHANGE_CHARACTER,
+ "For all of this beautiful day?",
+ CHANGE_CHARACTER,
+ "Hope so.",
+ CHANGE_CHARACTER,
+ "Aren't you interested",
+ NEW_LINE,
+ "in the outside world?!",
+ CHANGE_CHARACTER,
+ "Not really.",
+ CHANGE_CHARACTER,
+ "Why's that?",
+ CHANGE_CHARACTER,
+ "I'm not interested",
+ NEW_LINE,
+ "in news.",
+ CHANGE_CHARACTER,
+ "But...",
+ CHANGE_CHARACTER,
+ "As they say...",
+ DISPLAY_MESSAGE,
+ "The best news",
+ NEW_LINE,
+ "is no news.",
+ CHANGE_CHARACTER,
+ "But people must know about",
+ NEW_LINE,
+ "progress and stuff!",
+ CHANGE_CHARACTER,
+ "I won't even bother",
+ NEW_LINE,
+ "to ask you why...",
+ CHANGE_CHARACTER,
+ "Because...",
+ DISPLAY_MESSAGE,
+ "Er...",
+ DISPLAY_MESSAGE,
+ "Because...",
+ DISPLAY_MESSAGE,
+ "Uhm...",
+ CHANGE_CHARACTER,
+ "Right.",
+ NEW_LINE,
+ " ",
+ END_DIALOG
+};
+
+const static char* dialog_21[] = {
+ "Anything new?",
+ CHANGE_CHARACTER,
+ "Hope not.",
+ END_DIALOG
+};
+
+const static char* dialog_22[] = {
+ "May I borrow this shotgun?",
+ CHANGE_CHARACTER,
+ "No.",
+ CHANGE_CHARACTER,
+ "Pleeeease...",
+ CHANGE_CHARACTER,
+ "Young man, this weapon is",
+ NEW_LINE,
+ "very old and dangerous...",
+ DISPLAY_MESSAGE,
+ "and I'm a responsible man,",
+ NEW_LINE,
+ "got it?",
+ CHANGE_CHARACTER,
+ "But I will...",
+ CHANGE_CHARACTER,
+ "No.",
+ END_DIALOG
+};
+
+const static char* dialog_23[] = {
+ "Maybe you will change your mind",
+ NEW_LINE,
+ "about the shotgun?...",
+ CHANGE_CHARACTER,
+ "No.",
+ DISPLAY_MESSAGE,
+ "Nope.",
+ DISPLAY_MESSAGE,
+ "Niet.",
+ DISPLAY_MESSAGE,
+ "Nein.",
+ DISPLAY_MESSAGE,
+ "Niente.",
+ DISPLAY_MESSAGE,
+ "Nie.",
+ DISPLAY_MESSAGE,
+ "Ne.",
+ CHANGE_CHARACTER,
+ "OK, I got it.",
+ END_DIALOG
+};
+
+const static char* dialog_24[] = {
+ "May I search your drawers?",
+ CHANGE_CHARACTER,
+ "Yes.",
+ CHANGE_CHARACTER,
+ "YES?!?",
+ CHANGE_CHARACTER,
+ "Oh, I forgot to tell you they are all",
+ NEW_LINE,
+ "empty.",
+ DISPLAY_MESSAGE,
+ "Only the right upper one has a handkerchief",
+ NEW_LINE,
+ "in it.",
+ DISPLAY_MESSAGE,
+ "You can take if you want, I don't need it.",
+ CHANGE_CHARACTER,
+ "Well, thank you.",
+ DISPLAY_MESSAGE,
+ "You are very... kind...",
+ CHANGE_CHARACTER,
+ "Just don't think I let you take",
+ NEW_LINE,
+ "anything else.",
+ CHANGE_CHARACTER,
+ "Of course, I wouldn't even dream.",
+ END_DIALOG
+};
+
+const static char* dialog_25[] = {
+ "May I borrow the fan?",
+ CHANGE_CHARACTER,
+ "No way. It makes this hot day more",
+ NEW_LINE,
+ "bearable.",
+ END_DIALOG
+};
+
+const static char* dialog_26[] = {
+ "About this fan...",
+ CHANGE_CHARACTER,
+ "Come back in winter.",
+ END_DIALOG
+};
+
+const static char* dialog_27[] = {
+ "Nice weather we have",
+ NEW_LINE,
+ "today...",
+ CHANGE_CHARACTER,
+ "Indeed it is,",
+ NEW_LINE,
+ "my dear.",
+ END_DIALOG
+};
+
+const static char* dialog_28[] = {
+ "Is it your daughter?",
+ CHANGE_CHARACTER,
+ "You are very kind,",
+ NEW_LINE,
+ "my dear, making",
+ NEW_LINE,
+ "me so young,",
+ DISPLAY_MESSAGE,
+ "but of course",
+ NEW_LINE,
+ "that sweetie is my",
+ NEW_LINE,
+ "grand-daughter.",
+ CHANGE_CHARACTER,
+ "Oh, yes! She really",
+ NEW_LINE,
+ "looks grand!",
+ CHANGE_CHARACTER,
+ "Well, I was once",
+ NEW_LINE,
+ "like that...",
+ CHANGE_CHARACTER,
+ "But you still are!",
+ CHANGE_CHARACTER,
+ "How sweet of you...",
+ DISPLAY_MESSAGE,
+ "But nobody sings",
+ NEW_LINE,
+ "at my window",
+ NEW_LINE,
+ "anymore,",
+ DISPLAY_MESSAGE,
+ "if you know",
+ NEW_LINE,
+ "what I mean.",
+ CHANGE_CHARACTER,
+ "Errr...",
+ DISPLAY_MESSAGE,
+ "Yes...",
+ DISPLAY_MESSAGE,
+ "I know...",
+ DISPLAY_MESSAGE,
+ "I have similiar",
+ NEW_LINE,
+ "feelings myself...",
+ DISPLAY_MESSAGE,
+ "Sometimes...",
+ DISPLAY_MESSAGE,
+ "I guess...",
+ END_DIALOG
+};
+
+const static char* dialog_29[] = {
+ "May I ask what you are",
+ NEW_LINE,
+ "doing?",
+ CHANGE_CHARACTER,
+ "Yes, you may,",
+ NEW_LINE,
+ "my dear.",
+ CHANGE_CHARACTER,
+ ANIM_WAIT,
+ "What are you doing?",
+ CHANGE_CHARACTER,
+ "I'm knitting.",
+ CHANGE_CHARACTER,
+ "I understand.",
+ DISPLAY_MESSAGE,
+ "What are you knitting?",
+ CHANGE_CHARACTER,
+ "This time you",
+ NEW_LINE,
+ "didn't ask if",
+ NEW_LINE,
+ "you may ask.",
+ CHANGE_CHARACTER,
+ "Oh, sorry. May I ask?",
+ CHANGE_CHARACTER,
+ "Ask about what?",
+ CHANGE_CHARACTER,
+ "About what are you",
+ NEW_LINE,
+ "knitting.",
+ CHANGE_CHARACTER,
+ "You asked me",
+ NEW_LINE,
+ "about that before,",
+ NEW_LINE,
+ "didn't you?",
+ END_DIALOG
+};
+
+const static char* dialog_30[] = {
+ "Is everything OK?",
+ CHANGE_CHARACTER,
+ "Indeed it is.",
+ END_DIALOG
+};
+
+const static char* dialog_31[] = {
+ "Is everything OK?",
+ CHANGE_CHARACTER,
+ "You know.",
+ END_DIALOG
+};
+
+const static char* dialog_32[] = {
+ "Is everything OK?",
+ CHANGE_CHARACTER,
+ "It's nice you ask,",
+ NEW_LINE,
+ "but I've told you",
+ NEW_LINE,
+ "already.",
+ END_DIALOG
+};
+
+const static char* dialog_33[] = {
+ "Is everything OK?",
+ CHANGE_CHARACTER,
+ "Don't repeat",
+ NEW_LINE,
+ "yourself.",
+ END_DIALOG
+};
+
+const static char* dialog_34[] = {
+ "Is everything OK?",
+ CHANGE_CHARACTER,
+ "Don't interrupt",
+ NEW_LINE,
+ "my work.",
+ END_DIALOG
+};
+
+const static char* dialog_35[] = {
+ "Is everything OK?",
+ CHANGE_CHARACTER,
+ "Oh shut up.",
+ END_DIALOG
+};
+
+const static char* dialog_36[] = {
+ "Is everything OK?",
+ END_DIALOG
+};
+
+const static char* dialog_37[] = {
+ "Excuse my",
+ NEW_LINE,
+ "immodesty...",
+ CHANGE_CHARACTER,
+ "Yes?...",
+ CHANGE_CHARACTER,
+ "...but I thought",
+ NEW_LINE,
+ "that an innocent",
+ NEW_LINE,
+ "flower...",
+ DISPLAY_MESSAGE,
+ "...would express",
+ NEW_LINE,
+ "my happiness at",
+ NEW_LINE,
+ "meeting you.",
+ END_DIALOG
+};
+
+const static char* dialog_38[] = {
+ "I hope you",
+ NEW_LINE,
+ "like it...",
+ CHANGE_CHARACTER,
+ "Oh, dear!",
+ DISPLAY_MESSAGE,
+ "I'm really",
+ NEW_LINE,
+ "touched...",
+ DISPLAY_MESSAGE,
+ "That's the nicest",
+ NEW_LINE,
+ "thing anybody has",
+ NEW_LINE,
+ "done for me...",
+ DISPLAY_MESSAGE,
+ "...in last ten",
+ NEW_LINE,
+ "years!",
+ DISPLAY_MESSAGE,
+ "Thank you from all",
+ NEW_LINE,
+ "my heart!",
+ CHANGE_CHARACTER,
+ "You're welcome.",
+ END_DIALOG
+};
+
+const static char* dialog_39[] = {
+ "Would you care for",
+ NEW_LINE,
+ "another flower?",
+ CHANGE_CHARACTER,
+ "You're very kind,",
+ NEW_LINE,
+ "my boy, but no,",
+ NEW_LINE,
+ "thank you.",
+ END_DIALOG
+};
+
+const static char* dialog_40[] = {
+ "Are you sure you don't",
+ NEW_LINE,
+ "want another flower?",
+ CHANGE_CHARACTER,
+ "Yes. I'm sure.",
+ END_DIALOG
+};
+
+const static char* dialog_41[] = {
+ "May I borrow this",
+ NEW_LINE,
+ "duster?",
+ CHANGE_CHARACTER,
+ "We don't know each",
+ NEW_LINE,
+ "other too well, and",
+ NEW_LINE,
+ "I don't...",
+ DISPLAY_MESSAGE,
+ "...lend things to",
+ NEW_LINE,
+ "anybody who asks",
+ NEW_LINE,
+ "for them.",
+ CHANGE_CHARACTER,
+ "Don't I look reliable?",
+ CHANGE_CHARACTER,
+ "I've said enough.",
+ END_DIALOG
+};
+
+const static char* dialog_42[] = {
+ "Any chances to borrow the",
+ NEW_LINE,
+ "feather duster?",
+ CHANGE_CHARACTER,
+ "I like it where it is.",
+ END_DIALOG
+};
+
+const static char* dialog_43[] = {
+ "Do you think you could",
+ NEW_LINE,
+ "lend me the feather duster",
+ NEW_LINE,
+ "now?",
+ CHANGE_CHARACTER,
+ "But of course, I can't",
+ NEW_LINE,
+ "see why I shouldn't...",
+ DISPLAY_MESSAGE,
+ "...help to such a nice",
+ NEW_LINE,
+ "young man like you!..",
+ CHANGE_CHARACTER,
+ "Thank you very much.",
+ END_DIALOG
+};
+
+const static char* dialog_44[] = {
+ "Ha! I'm even faster than Indy`!",
+ CHANGE_CHARACTER,
+ "I've seen it all, boy!",
+ END_DIALOG
+};
+
+const static char* dialog_45[] = {
+ "Er...",
+ DISPLAY_MESSAGE,
+ "Uh...",
+ DISPLAY_MESSAGE,
+ "I just...",
+ CHANGE_CHARACTER,
+ "Don't worry. I hope you killed",
+ NEW_LINE,
+ "that fly.",
+ END_DIALOG
+};
+
+const static char* dialog_46[] = {
+ "Excuse me, lady, but I think your",
+ NEW_LINE,
+ "laundry is dry now...",
+ DISPLAY_MESSAGE,
+ "...and too much sun will distort",
+ NEW_LINE,
+ "the clothes...",
+ CHANGE_CHARACTER,
+ "How come the laundry dried",
+ NEW_LINE,
+ "out so fast?",
+ DISPLAY_MESSAGE,
+ "I'd better go and check it.",
+ END_DIALOG
+};
+
+const static char* dialog_47[] = {
+ CHANGE_CHARACTER,
+ "You were right, young man.",
+ DISPLAY_MESSAGE,
+ "Thank you.",
+ CHANGE_CHARACTER,
+ "You're welcome.",
+ END_DIALOG
+};
+
+const static char* dialog_48[] = {
+ "Do you need this fake apple?",
+ CHANGE_CHARACTER,
+ "It depends. This apple",
+ NEW_LINE,
+ "has its own story.",
+ DISPLAY_MESSAGE,
+ "I remember how one day",
+ NEW_LINE,
+ "my younger sister Mary",
+ NEW_LINE,
+ "was making...",
+ CHANGE_CHARACTER,
+ "Er, how long is the story?",
+ CHANGE_CHARACTER,
+ "Oh, there's no need to rush.",
+ DISPLAY_MESSAGE,
+ "We do have hours to talk,",
+ NEW_LINE,
+ "don't we?",
+ CHANGE_CHARACTER,
+ "I just realised I don't need that",
+ NEW_LINE,
+ "apple.",
+ DISPLAY_MESSAGE,
+ "Thanks.",
+ END_DIALOG
+};
+
+const static char* dialog_49[] = {
+ "This apple...",
+ CHANGE_CHARACTER,
+ "No story, no apple.",
+ CHANGE_CHARACTER,
+ ANIM_WAIT,
+ "No apple.",
+ END_DIALOG
+};
+
+const static char* dialog_50[] = {
+ "Could she be...",
+ DISPLAY_MESSAGE,
+ "...the most beautiful girl...",
+ DISPLAY_MESSAGE,
+ "in the world?...",
+ END_DIALOG
+};
+
+const static char* dialog_51[] = {
+ "I think it's high time to",
+ NEW_LINE,
+ "introduce myself.",
+ DISPLAY_MESSAGE,
+ "I'm Mark.",
+ CHANGE_CHARACTER,
+ "Anne.",
+ END_DIALOG
+};
+
+const static char* dialog_52[] = {
+ "The moment I saw those eyes",
+ NEW_LINE,
+ "was the best moment of my entire",
+ NEW_LINE,
+ "life.",
+ DISPLAY_MESSAGE,
+ ANIM_WAIT,
+ "Not counting the time",
+ NEW_LINE,
+ "I played doctor with",
+ NEW_LINE,
+ "Susie.",
+ END_DIALOG
+};
+
+const static char* dialog_53[] = {
+ "Uh...",
+ DISPLAY_MESSAGE,
+ "Er...",
+ DISPLAY_MESSAGE,
+ "I wonder...",
+ DISPLAY_MESSAGE,
+ "I wonder if",
+ NEW_LINE,
+ "you would like",
+ NEW_LINE,
+ "to get some...",
+ DISPLAY_MESSAGE,
+ "Er...",
+ DISPLAY_MESSAGE,
+ "I mean...",
+ DISPLAY_MESSAGE,
+ "I have something",
+ NEW_LINE,
+ "I would like to give",
+ NEW_LINE,
+ "you, because...",
+ DISPLAY_MESSAGE,
+ "Uh...",
+ DISPLAY_MESSAGE,
+ "I think you",
+ NEW_LINE,
+ "are... And...",
+ CHANGE_CHARACTER,
+ "Hey! I don't bite!",
+ DISPLAY_MESSAGE,
+ "I see you want to tell me",
+ NEW_LINE,
+ "something nice.",
+ DISPLAY_MESSAGE,
+ "Just use simple",
+ NEW_LINE,
+ "words...",
+ CHANGE_CHARACTER,
+ "Simple words?!",
+ CHANGE_CHARACTER,
+ "Yes, simple words make",
+ NEW_LINE,
+ "things simple.",
+ CHANGE_CHARACTER,
+ "Oh, yes.",
+ DISPLAY_MESSAGE,
+ "OK.",
+ DISPLAY_MESSAGE,
+ "Simple words.",
+ DISPLAY_MESSAGE,
+ "OK.",
+ DISPLAY_MESSAGE,
+ "Here I go.",
+ DISPLAY_MESSAGE,
+ "Me like you and",
+ NEW_LINE,
+ "want give flower.",
+ CHANGE_CHARACTER,
+ ANIM_WAIT,
+ "Well, maybe you should",
+ NEW_LINE,
+ "try something...",
+ DISPLAY_MESSAGE,
+ "...more complicated.",
+ CHANGE_CHARACTER,
+ "Uh...",
+ DISPLAY_MESSAGE,
+ "Sorry...",
+ DISPLAY_MESSAGE,
+ "I just...",
+ DISPLAY_MESSAGE,
+ "I just brought you",
+ NEW_LINE,
+ "a flower.",
+ CHANGE_CHARACTER,
+ "Oh?...",
+ END_DIALOG
+};
+
+const static char* dialog_54[] = {
+ "Do you like it?",
+ CHANGE_CHARACTER,
+ "You're charming.",
+ END_DIALOG
+};
+
+const static char* dialog_55[] = {
+ "As a matter",
+ NEW_LINE,
+ "of fact...",
+ CHANGE_CHARACTER,
+ "Simple words, boy!",
+ NEW_LINE,
+ "Simple words!",
+ END_DIALOG
+};
+
+const static char* dialog_56[] = {
+ "Oh,yes...",
+ DISPLAY_MESSAGE,
+ "I just wanted to say",
+ NEW_LINE,
+ "that you're charming",
+ NEW_LINE,
+ "too.",
+ CHANGE_CHARACTER,
+ "I guess I should say",
+ NEW_LINE,
+ "thanks.",
+ END_DIALOG
+};
+
+const static char* dialog_57[] = {
+ "I hate myself.",
+ END_DIALOG
+};
+
+const static char* dialog_58[] = {
+ "I have another",
+ NEW_LINE,
+ "flower...",
+ CHANGE_CHARACTER,
+ "Oh, let's not",
+ NEW_LINE,
+ "exaggerate.",
+ DISPLAY_MESSAGE,
+ "And, as you can see, I'm",
+ NEW_LINE,
+ "not the only...",
+ DISPLAY_MESSAGE,
+ "...woman in this room...",
+ END_DIALOG
+};
+
+const static char* dialog_59[] = {
+ "So you don't want",
+ NEW_LINE,
+ "another flower?",
+ CHANGE_CHARACTER,
+ "No, thank you.",
+ END_DIALOG
+};
+
+const static char* dialog_60[] = {
+ "Would you like some candy?",
+ CHANGE_CHARACTER,
+ "You're nice, but no, thanks.",
+ NEW_LINE,
+ "I don't want to get fat.",
+ CHANGE_CHARACTER,
+ "Hey, don't worry. Even Obelix",
+ NEW_LINE,
+ "has friends.",
+ CHANGE_CHARACTER,
+ "Who's Obelix?!",
+ CHANGE_CHARACTER,
+ "Er, never mind. It's just that I found",
+ NEW_LINE,
+ "this candy...",
+ CHANGE_CHARACTER,
+ "You FOUND IT?!",
+ CHANGE_CHARACTER,
+ "...I found it's pretty hard to get,",
+ NEW_LINE,
+ "of course.",
+ DISPLAY_MESSAGE,
+ "It's not some cheap pseudo-chocolate,",
+ NEW_LINE,
+ "but the highest quality goodie!",
+ DISPLAY_MESSAGE,
+ "It's made only from the things you",
+ NEW_LINE,
+ "can find in a natural environment.",
+ DISPLAY_MESSAGE,
+ "No preservatives added.",
+ CHANGE_CHARACTER,
+ "Oh, all right. If you insist...",
+ END_DIALOG
+};
+
+const static char* dialog_61[] = {
+ ANIM_WAIT,
+ "Khm...",
+ CHANGE_CHARACTER,
+ "Oh yes, I think I should give you",
+ NEW_LINE,
+ "something in return...",
+ CHANGE_CHARACTER,
+ "Oh, no... You really don't",
+ NEW_LINE,
+ "have to...",
+ CHANGE_CHARACTER,
+ "OK. Your wish.",
+ CHANGE_CHARACTER,
+ ANIM_WAIT,
+ "Well, on second thoughts...",
+ CHANGE_CHARACTER,
+ "I knew it. You boys always want",
+ NEW_LINE,
+ "something.",
+ DISPLAY_MESSAGE,
+ "You can't do anything for",
+ NEW_LINE,
+ "free.",
+ CHANGE_CHARACTER,
+ "I cleaned my room once.",
+ CHANGE_CHARACTER,
+ ANIM_WAIT,
+ "Well...",
+ DISPLAY_MESSAGE,
+ "Let's forget it.",
+ DISPLAY_MESSAGE,
+ "Here's my present for",
+ NEW_LINE,
+ "you.",
+ DISPLAY_MESSAGE,
+ "It's my ribbon. Think of me",
+ NEW_LINE,
+ "sometimes.",
+ END_DIALOG
+};
+
+const static char* dialog_62[] = {
+ "Thanks. I will never",
+ NEW_LINE,
+ "wash it.",
+ END_DIALOG
+};
+
+const static char* dialog_63[] = {
+ "I found your name on a banknote",
+ NEW_LINE,
+ "some fatso gave me. Do you know",
+ NEW_LINE,
+ "anything about it?",
+ CHANGE_CHARACTER,
+ "Show me the banknote.",
+ END_DIALOG
+};
+
+const static char* dialog_64[] = {
+ "Hey, what's up?!",
+ CHANGE_CHARACTER,
+ "Oh, poor me!...",
+ CHANGE_CHARACTER,
+ "Why are you crying?!",
+ CHANGE_CHARACTER,
+ "This... this...",
+ DISPLAY_MESSAGE,
+ "Oh, poor me!...",
+ DISPLAY_MESSAGE,
+ "Our... our neighbour, Mr.",
+ NEW_LINE,
+ "John Noty gave me some",
+ NEW_LINE,
+ "money one day...",
+ DISPLAY_MESSAGE,
+ "...and said that if I gave",
+ NEW_LINE,
+ "him a kiss he'd give",
+ NEW_LINE,
+ "me more...",
+ DISPLAY_MESSAGE,
+ "...but I thought it over",
+ NEW_LINE,
+ "and I gave him all the",
+ NEW_LINE,
+ "money back.",
+ CHANGE_CHARACTER,
+ "You mean, that pig tried",
+ NEW_LINE,
+ "to buy you?!",
+ CHANGE_CHARACTER,
+ "I'm so unhappy!",
+ CHANGE_CHARACTER,
+ "Oh, man! That",
+ NEW_LINE,
+ "does it!",
+ END_DIALOG
+};
+
+const static char* dialog_65[] = {
+ "Hey, you!",
+ DISPLAY_MESSAGE,
+ "Would you please give me that nut",
+ NEW_LINE,
+ "lying next to you?",
+ END_DIALOG
+};
+
+const static char* dialog_66[] = {
+ "Are you gonna give me that nut or not?!",
+ END_DIALOG
+};
+
+const static char* dialog_67[] = {
+ "All right.",
+ DISPLAY_MESSAGE,
+ "That's it.",
+ DISPLAY_MESSAGE,
+ "Now you'll get what you deserve.",
+ DISPLAY_MESSAGE,
+ "I'm gonna insult you until I get that nut.",
+ DISPLAY_MESSAGE,
+ "You ugly squirrel you.",
+ END_DIALOG
+};
+
+const static char* dialog_68[] = {
+ "Don't you know it's not politically",
+ NEW_LINE,
+ "correct to wear a fur?",
+ END_DIALOG
+};
+
+const static char* dialog_69[] = {
+ "Hey, thanks again for the nut.",
+ END_DIALOG
+};
+
+const static char* dialog_70[] = {
+ "I didn't ask if I could take the rope.",
+ DISPLAY_MESSAGE,
+ "It's really rude to take someone else's",
+ NEW_LINE,
+ "property without their permission.",
+ DISPLAY_MESSAGE,
+ "And I might get caught, of",
+ NEW_LINE,
+ "course.",
+ DISPLAY_MESSAGE,
+ "And they will put me in jail and",
+ NEW_LINE,
+ "nobody will respect me anymore.",
+ DISPLAY_MESSAGE,
+ "I could really ruin my life doing that.",
+ END_DIALOG
+};
+
+const static char* dialog_71[] = {
+ "No pain no gain.",
+ END_DIALOG
+};
+
+const static char* dialog_72[] = {
+ "Listen, guys. I want you to get",
+ NEW_LINE,
+ "outta here at once!",
+ DISPLAY_MESSAGE,
+ "Or I'll have to shoot.",
+ DISPLAY_MESSAGE,
+ "With a real gun.",
+ DISPLAY_MESSAGE,
+ "I think.",
+ END_DIALOG
+};
+
+const static char* dialog_73[] = {
+ "I can see...",
+ DISPLAY_MESSAGE,
+ "...there's a...",
+ DISPLAY_MESSAGE,
+ "SPIDER!!!",
+ END_DIALOG
+};
+
+const static char* dialog_74[] = {
+ "Not that I'm chicken.",
+ DISPLAY_MESSAGE,
+ "It's just that it could be",
+ NEW_LINE,
+ "a mutant spider and it",
+ NEW_LINE,
+ "could bite me...",
+ DISPLAY_MESSAGE,
+ "...and I'd get mutant too...",
+ DISPLAY_MESSAGE,
+ "...and I'd have to wear those",
+ NEW_LINE,
+ "funny gloves and stuff...",
+ DISPLAY_MESSAGE,
+ "...and I'd have a double life...",
+ DISPLAY_MESSAGE,
+ "...and I'd have to fight with Venom`",
+ NEW_LINE,
+ "and others and I might get hurt...",
+ DISPLAY_MESSAGE,
+ "...and everybody would be making",
+ NEW_LINE,
+ "money on me but me...",
+ DISPLAY_MESSAGE,
+ "I think I'll pass then.",
+ END_DIALOG
+};
+
+const static char* dialog_75[] = {
+ "This spider gives me thrills...",
+ END_DIALOG
+};
+
+const static char* dialog_76[] = {
+ "Hey, little buddy!",
+ DISPLAY_MESSAGE,
+ "I've got a DECENT PROPOSAL for you.",
+ DISPLAY_MESSAGE,
+ "A big, fresh and juicy apple for this old cone",
+ NEW_LINE,
+ "which presses your back.",
+ DISPLAY_MESSAGE,
+ "If you want to make a deal, stand here",
+ NEW_LINE,
+ "and shake your muzzle.",
+ END_DIALOG
+};
+
+const static char* dialog_77[] = {
+ "I should have know",
+ NEW_LINE,
+ "there's a catch.",
+ DISPLAY_MESSAGE,
+ ANIM_WAIT,
+ "The paddle is broken.",
+ END_DIALOG
+};
+
+const static char* dialog_78[] = {
+ "Hello there, big boy.",
+ END_DIALOG
+};
+
+const static char* dialog_79[] = {
+ "Don't ignore me, please.",
+ END_DIALOG
+};
+
+const static char* dialog_80[] = {
+ "You know, I'm a little bit dog-tired",
+ NEW_LINE,
+ "talking to you.",
+ END_DIALOG
+};
+
+const static char* dialog_81[] = {
+ "What's up?",
+ END_DIALOG
+};
+
+const static char* dialog_82[] = {
+ "Yes, I could take this...",
+ DISPLAY_MESSAGE,
+ "It's a quiet little village...",
+ DISPLAY_MESSAGE,
+ "No police...",
+ DISPLAY_MESSAGE,
+ "Noone will hear their screams...",
+ DISPLAY_MESSAGE,
+ ANIM_WAIT,
+ "But I don't have a hockey mask.",
+ DISPLAY_MESSAGE,
+ ANIM_WAIT,
+ "(sigh)",
+ END_DIALOG
+};
+
+const static char* dialog_83[] = {
+ "I don't want my fingerprints on it.",
+ DISPLAY_MESSAGE,
+ " Who knows what it was used for.",
+ END_DIALOG
+};
+
+const static char* dialog_84[] = {
+ "I'm afraid that it's too hard",
+ NEW_LINE,
+ "to catch a mouse just like",
+ NEW_LINE,
+ "that.",
+ DISPLAY_MESSAGE,
+ "And what challenge would it be?",
+ END_DIALOG
+};
+
+const static char* dialog_85[] = {
+ "I could try to scare these birds myself",
+ NEW_LINE,
+ "if I hadn't watched that Hitchcock",
+ NEW_LINE,
+ "movie when I was five.",
+ DISPLAY_MESSAGE,
+ "My mum should never let me watch that.",
+ DISPLAY_MESSAGE,
+ "Now I'm CHICKEN even when I eat eggs.",
+ END_DIALOG
+};
+
+const static char* dialog_86[] = {
+ "Great. Let's GET THE MESSAGE.",
+ DISPLAY_MESSAGE,
+ "\"Gold awaits at the end of the road.\"",
+ END_DIALOG
+};
+
+const static char* dialog_87[] = {
+ "Are you Mr. John Noty?",
+ CHANGE_CHARACTER,
+ "How do you do, my friend.",
+ DISPLAY_MESSAGE,
+ "My people told me you tried",
+ NEW_LINE,
+ "to get inside my mansion.",
+ NEW_LINE,
+ "Why?",
+ CHANGE_CHARACTER,
+ "Er... You see...",
+ DISPLAY_MESSAGE,
+ "I'm here to...",
+ NEW_LINE,
+ "To...",
+ DISPLAY_MESSAGE,
+ "I mean, I'm here on my vacations,",
+ NEW_LINE,
+ "but I got sick of all these green",
+ NEW_LINE,
+ "plants and trees around...",
+ DISPLAY_MESSAGE,
+ "...and I just wanted to lick some",
+ NEW_LINE,
+ "civilisation.",
+ CHANGE_CHARACTER,
+ "Well... I can understand you,",
+ NEW_LINE,
+ "my friend.",
+ DISPLAY_MESSAGE,
+ "I also think that the natural",
+ NEW_LINE,
+ "environment for us, people",
+ NEW_LINE,
+ "of 20th century...",
+ DISPLAY_MESSAGE,
+ "is TV and a bag of pop-corn.",
+ NEW_LINE,
+ "But talking about the green",
+ NEW_LINE,
+ "stuff...",
+ DISPLAY_MESSAGE,
+ "I can't allow you to enter",
+ NEW_LINE,
+ "my house, because... uhm...",
+ NEW_LINE,
+ "because it's ...being...",
+ DISPLAY_MESSAGE,
+ "...under renovation, but as",
+ NEW_LINE,
+ "a rich man I'll give you",
+ NEW_LINE,
+ "a hundred bucks...",
+ DISPLAY_MESSAGE,
+ "so you can buy yourself",
+ NEW_LINE,
+ "something that will help",
+ NEW_LINE,
+ "you survive here.",
+ DISPLAY_MESSAGE,
+ "A walkman for example.",
+ NEW_LINE,
+ "What do you say?",
+ CHANGE_CHARACTER,
+ "What do you take me for?!",
+ END_DIALOG
+};
+
+const static char* dialog_88[] = {
+ "I will NEVER take this!",
+ DISPLAY_MESSAGE,
+ "NEVER!",
+ CHANGE_CHARACTER,
+ "Don't get so excited.",
+ DISPLAY_MESSAGE,
+ "Pecunia non olet.",
+ DISPLAY_MESSAGE,
+ "I'll leave now. Don't be shy",
+ NEW_LINE,
+ "and pick up the banknote.",
+ DISPLAY_MESSAGE,
+ "Noone has to know...",
+ DISPLAY_MESSAGE,
+ "Good bye, my friend.",
+ END_DIALOG
+};
+
+const static char* dialog_89[] = {
+ "I can't believe he treated me",
+ NEW_LINE,
+ "like that.",
+ DISPLAY_MESSAGE,
+ "By the way...",
+ DISPLAY_MESSAGE,
+ ANIM_WAIT,
+ "Peculiar non omelette?...",
+ END_DIALOG
+};
+
+const static char* dialog_90[] = {
+ "Boy...",
+ DISPLAY_MESSAGE,
+ "It's all black...",
+ DISPLAY_MESSAGE,
+ "...and it looks like a man...",
+ DISPLAY_MESSAGE,
+ "...with some long pole...",
+ DISPLAY_MESSAGE,
+ "...and a pot on its head...",
+ DISPLAY_MESSAGE,
+ ANIM_WAIT,
+ "VGA artist shouldn't drink so much.",
+ END_DIALOG
+};
+
+const static char* dialog_91[] = {
+ "Searching trash cans again?",
+ DISPLAY_MESSAGE,
+ ANIM_WAIT,
+ "Oh, all right, there are only some",
+ NEW_LINE,
+ "papers.",
+ END_DIALOG
+};
+
+const static char* dialog_92[] = {
+ "The same as usual...",
+ DISPLAY_MESSAGE,
+ "Disasters...",
+ DISPLAY_MESSAGE,
+ "Corruption...",
+ DISPLAY_MESSAGE,
+ "Murders...",
+ DISPLAY_MESSAGE,
+ "Puzzle...",
+ DISPLAY_MESSAGE,
+ "Half-naked babes...",
+ DISPLAY_MESSAGE,
+ ANIM_WAIT,
+ "I gotta subscribe.",
+ END_DIALOG
+};
+
+const static char* dialog_93[] = {
+ ANIM_WAIT,
+ "Gee...",
+ CHANGE_CHARACTER,
+ "...I'm daaaancing...",
+ DISPLAY_MESSAGE,
+ "...and siiiinging...",
+ CHANGE_CHARACTER,
+ "It's John Noty...",
+ CHANGE_CHARACTER,
+ "...raaain!...",
+ CHANGE_CHARACTER,
+ "...singing to the camera!",
+ CHANGE_CHARACTER,
+ "...what a beaaaaautifuuuul...",
+ CHANGE_CHARACTER,
+ "Although he definitely shouldn't.",
+ CHANGE_CHARACTER,
+ "...feeeliiing...",
+ CHANGE_CHARACTER,
+ "I can't believe it.",
+ CHANGE_CHARACTER,
+ "...haaaappy agaaain!..",
+ CHANGE_CHARACTER,
+ "What a horror.",
+ CHANGE_CHARACTER,
+ "...just daaancing in the raaain...",
+ CHANGE_CHARACTER,
+ "My neighbour's dog will do it better.",
+ CHANGE_CHARACTER,
+ "...la, laaaaa!...",
+ CHANGE_CHARACTER,
+ "I've had enough.",
+ CHANGE_CHARACTER,
+ "...la, la! La, laaaa....",
+ END_DIALOG
+};
+
+const static char* dialog_94[] = {
+ "There's nothing intere...",
+ DISPLAY_MESSAGE,
+ "No, wait a minute...",
+ DISPLAY_MESSAGE,
+ "There's something under the couch!",
+ END_DIALOG
+};
+
+const static char* dialog_95[] = {
+ "Don't you think you",
+ NEW_LINE,
+ "should add a little",
+ NEW_LINE,
+ "bit of chilli?",
+ CHANGE_CHARACTER,
+ "Add?",
+ DISPLAY_MESSAGE,
+ "Why?",
+ CHANGE_CHARACTER,
+ "I see you're not happy",
+ NEW_LINE,
+ "with the stew you're",
+ NEW_LINE,
+ "cooking.",
+ DISPLAY_MESSAGE,
+ "Maybe you should try",
+ NEW_LINE,
+ "to spice it up a",
+ NEW_LINE,
+ "little?",
+ CHANGE_CHARACTER,
+ "Well...",
+ DISPLAY_MESSAGE,
+ "That's good idea.",
+ DISPLAY_MESSAGE,
+ "Luckily I've got something here.",
+ END_DIALOG
+};
+
+const static char* dialog_96[] = {
+ CHANGE_CHARACTER,
+ "This... hic!...",
+ DISPLAY_MESSAGE,
+ "This chilllllleeeeee... hep!",
+ DISPLAY_MESSAGE,
+ "...must have been...",
+ DISPLAY_MESSAGE,
+ "...fermented...",
+ DISPLAY_MESSAGE,
+ "The stew yyys spoiled aaand...",
+ DISPLAY_MESSAGE,
+ "...I'm fired!",
+ DISPLAY_MESSAGE,
+ "Hic!",
+ END_DIALOG
+};
+
+const static char* dialog_97[] = {
+ "I don't need this radio, but",
+ NEW_LINE,
+ "I can use its batteries.",
+ DISPLAY_MESSAGE,
+ "Unfortunately I never know",
+ NEW_LINE,
+ "where to open those Japanese",
+ NEW_LINE,
+ "babies.",
+ END_DIALOG
+};
+
+const static char* dialog_98[] = {
+ CHANGE_CHARACTER,
+ "Security test: voice, scent, view.",
+ DISPLAY_MESSAGE,
+ "Voice positively identified.",
+ DISPLAY_MESSAGE,
+ ANIM_WAIT,
+ "Nice song, man.",
+ END_DIALOG
+};
+
+const static char* dialog_99[] = {
+ CHANGE_CHARACTER,
+ "Security test: voice, scent, view.",
+ DISPLAY_MESSAGE,
+ "Scent positively identified.",
+ DISPLAY_MESSAGE,
+ ANIM_WAIT,
+ "I don't like water too, bro.",
+ END_DIALOG
+};
+
+const static char* dialog_100[] = {
+ CHANGE_CHARACTER,
+ "Security test: voice, scent, view.",
+ DISPLAY_MESSAGE,
+ "View positively identified.",
+ DISPLAY_MESSAGE,
+ ANIM_WAIT,
+ "Next time stand a bit closer, man.",
+ END_DIALOG
+};
+
+const static char* dialog_101[] = {
+ "May I talk with...",
+ CHANGE_CHARACTER,
+ "Go away.",
+ DISPLAY_MESSAGE,
+ "I'm busy.",
+ DISPLAY_MESSAGE,
+ "Working.",
+ DISPLAY_MESSAGE,
+ "Dinner soon.",
+ DISPLAY_MESSAGE,
+ "Gotta hurry.",
+ CHANGE_CHARACTER,
+ "Aye, captain.",
+ END_DIALOG
+};
+
+const static char* dialog_102[] = {
+ "Well, but maybe...",
+ CHANGE_CHARACTER,
+ "I...",
+ DISPLAY_MESSAGE,
+ "...AM...",
+ DISPLAY_MESSAGE,
+ "...BUSY.",
+ DISPLAY_MESSAGE,
+ "DON'T...",
+ DISPLAY_MESSAGE,
+ "...DISTURB...",
+ DISPLAY_MESSAGE,
+ "...ME.",
+ DISPLAY_MESSAGE,
+ "OK?",
+ CHANGE_CHARACTER,
+ "Okay, okay.",
+ END_DIALOG
+};
+
+const static char* dialog_103[] = {
+ "Last time I ask you...",
+ CHANGE_CHARACTER,
+ "BUSY.",
+ DISPLAY_MESSAGE,
+ "B like Bill.",
+ DISPLAY_MESSAGE,
+ "U like Ulrik.",
+ DISPLAY_MESSAGE,
+ "S like Sean.",
+ DISPLAY_MESSAGE,
+ "Y like...",
+ DISPLAY_MESSAGE,
+ "...like...",
+ CHANGE_CHARACTER,
+ "Yeti?",
+ CHANGE_CHARACTER,
+ "No. Like...",
+ CHANGE_CHARACTER,
+ "Yabbadabbadoo?",
+ CHANGE_CHARACTER,
+ "No, no. Like...",
+ CHANGE_CHARACTER,
+ "Yoko?",
+ CHANGE_CHARACTER,
+ "Yoko.",
+ DISPLAY_MESSAGE,
+ "Leave me alone now, PLEASE!",
+ CHANGE_CHARACTER,
+ "All right, all right.",
+ END_DIALOG
+};
+
+const static char* dialog_104[] = {
+ "Er...",
+ CHANGE_CHARACTER,
+ "Wrrrr...",
+ CHANGE_CHARACTER,
+ "Oh, nothing.",
+ END_DIALOG
+};
+
+const static char* dialog_105[] = {
+ "Good day, Mr. Robot.",
+ CHANGE_CHARACTER,
+ "Hey, yo, wassup my man,",
+ NEW_LINE,
+ "you know what I'm sayin'?",
+ DISPLAY_MESSAGE,
+ "Call me Mike, you know",
+ NEW_LINE,
+ "what I'm sayin'?",
+ CHANGE_CHARACTER,
+ "Er...",
+ DISPLAY_MESSAGE,
+ "Are you sure everything's",
+ NEW_LINE,
+ "all right with your...",
+ DISPLAY_MESSAGE,
+ "...program?...",
+ CHANGE_CHARACTER,
+ "What's da problem, man?!",
+ DISPLAY_MESSAGE,
+ "Neva seen da rappin' robo-safe,",
+ NEW_LINE,
+ "you know what I'm sayin'?",
+ CHANGE_CHARACTER,
+ "Actually, never.",
+ CHANGE_CHARACTER,
+ "I'm brand new, bro.",
+ DISPLAY_MESSAGE,
+ "Fresh stuff, you know what I mean?",
+ DISPLAY_MESSAGE,
+ "Smart people sez da robots",
+ NEW_LINE,
+ "should be for everybody,",
+ DISPLAY_MESSAGE,
+ "you know what I'm sayin',",
+ NEW_LINE,
+ "so they gave me human",
+ NEW_LINE,
+ "personality,",
+ DISPLAY_MESSAGE,
+ "you know what I mean?",
+ NEW_LINE,
+ "Cool, ain't that?",
+ CHANGE_CHARACTER,
+ "Khm... Yeah, great.",
+ DISPLAY_MESSAGE,
+ "So, you're some kind of safe?",
+ CHANGE_CHARACTER,
+ "That's right, man.",
+ DISPLAY_MESSAGE,
+ "Totally reliable, you know",
+ NEW_LINE,
+ "what I'm sayin'?",
+ DISPLAY_MESSAGE,
+ "If you wanna get me open, you",
+ NEW_LINE,
+ "gotta prove you're da owner.",
+ DISPLAY_MESSAGE,
+ "Now check diz (CENSORED) out:",
+ NEW_LINE,
+ "I can judge if it's the right",
+ NEW_LINE,
+ "homie by three things:",
+ DISPLAY_MESSAGE,
+ "...view, scent and da voice.",
+ NEW_LINE,
+ "You know what I'm sayin'?",
+ CHANGE_CHARACTER,
+ "But will you please open",
+ NEW_LINE,
+ "...yourself... just to let me see",
+ NEW_LINE,
+ "what you got inside?",
+ CHANGE_CHARACTER,
+ "Sorry, bro.",
+ DISPLAY_MESSAGE,
+ "You don't look like da owner...",
+ DISPLAY_MESSAGE,
+ "...you don't smell like him...",
+ DISPLAY_MESSAGE,
+ "...and your voice is kinda different.",
+ DISPLAY_MESSAGE,
+ "Now (CENSORED), you know what I mean?",
+ END_DIALOG
+};
+
+const static char* dialog_106[] = {
+ "Sesame, open...",
+ CHANGE_CHARACTER,
+ "(CENSORED), you (CENSORED).",
+ END_DIALOG
+};
+
+const static char* dialog_107[] = {
+ "Hi there!",
+ CHANGE_CHARACTER,
+ "(PARENTAL GUIDANCE: EXPLICIT LYRICS)",
+ END_DIALOG
+};
+
+const static char* dialog_108[] = {
+ "I'm telling you, it's something great.",
+ CHANGE_CHARACTER,
+ "I remember when you killed my",
+ NEW_LINE,
+ "servant, testing your bullet-proof",
+ NEW_LINE,
+ "T-shirt.",
+ CHANGE_CHARACTER,
+ "That was a long time ago...",
+ CHANGE_CHARACTER,
+ "Or like you made rapping",
+ NEW_LINE,
+ "robo-safe, which goes mad",
+ NEW_LINE,
+ "every time...",
+ DISPLAY_MESSAGE,
+ "...I ask it to open.",
+ CHANGE_CHARACTER,
+ "You got a bad attitude...",
+ CHANGE_CHARACTER,
+ "Or like you sold me",
+ NEW_LINE,
+ "the recipe for girls'",
+ NEW_LINE,
+ "heart-breaking.",
+ CHANGE_CHARACTER,
+ "Money didn't work?",
+ CHANGE_CHARACTER,
+ "Nope.",
+ CHANGE_CHARACTER,
+ "Strange. Usually it works.",
+ CHANGE_CHARACTER,
+ "Or when you...",
+ CHANGE_CHARACTER,
+ "ALL RIGHT, ALL RIGHT!",
+ DISPLAY_MESSAGE,
+ "Let's forget this!",
+ DISPLAY_MESSAGE,
+ "I already tested my new",
+ NEW_LINE,
+ "invention on myself!",
+ CHANGE_CHARACTER,
+ "Really?",
+ CHANGE_CHARACTER,
+ "Really.",
+ DISPLAY_MESSAGE,
+ "I can demonstrate it.",
+ CHANGE_CHARACTER,
+ ANIM_WAIT,
+ "Ok, I'll take my chance.",
+ END_DIALOG
+};
+
+const static char* dialog_109[] = {
+ ANIM_WAIT,
+ "Great.",
+ DISPLAY_MESSAGE,
+ "Ultimate gnome-maker.",
+ CHANGE_CHARACTER,
+ "Khm, it's just a side effect.",
+ DISPLAY_MESSAGE,
+ "Sometimes I can't control my",
+ NEW_LINE,
+ "inventions.",
+ DISPLAY_MESSAGE,
+ "But don't worry, it lasts only",
+ NEW_LINE,
+ "a second.",
+ CHANGE_CHARACTER,
+ "I hope so.",
+ END_DIALOG
+};
+
+const static char* dialog_110[] = {
+ "Here I am.",
+ DISPLAY_MESSAGE,
+ "Well, have you noticed anything",
+ NEW_LINE,
+ "else unusual?",
+ CHANGE_CHARACTER,
+ "Nope.",
+ CHANGE_CHARACTER,
+ "Great!",
+ DISPLAY_MESSAGE,
+ "So the pills still work!",
+ CHANGE_CHARACTER,
+ "Oh yeah?",
+ CHANGE_CHARACTER,
+ "Yes!",
+ DISPLAY_MESSAGE,
+ "Check out your wallet!",
+ CHANGE_CHARACTER,
+ "My wallet is still...",
+ END_DIALOG
+};
+
+const static char* dialog_111[] = {
+ "Where is my wallet?!",
+ DISPLAY_MESSAGE,
+ "You thief!",
+ DISPLAY_MESSAGE,
+ "Give it back!",
+ CHANGE_CHARACTER,
+ "Take it easy, here's your",
+ NEW_LINE,
+ "wallet.",
+ END_DIALOG
+};
+
+const static char* dialog_112[] = {
+ "I demand an explanation.",
+ CHANGE_CHARACTER,
+ "Hah!",
+ DISPLAY_MESSAGE,
+ "This is the best thing I have",
+ NEW_LINE,
+ "ever invented!",
+ CHANGE_CHARACTER,
+ "What's that?",
+ CHANGE_CHARACTER,
+ "You didn't see me steal",
+ NEW_LINE,
+ "your wallet,",
+ DISPLAY_MESSAGE,
+ "...because I have eaten...",
+ DISPLAY_MESSAGE,
+ "THE TIME PILL!",
+ CHANGE_CHARACTER,
+ ANIM_WAIT,
+ "The time pill?",
+ CHANGE_CHARACTER,
+ "Yes!",
+ DISPLAY_MESSAGE,
+ "Anyone who eats it, lives",
+ NEW_LINE,
+ "1000 times faster than the",
+ NEW_LINE,
+ "rest of the world!",
+ CHANGE_CHARACTER,
+ "That means...",
+ CHANGE_CHARACTER,
+ "That means the world for",
+ NEW_LINE,
+ "this person moves 1000",
+ NEW_LINE,
+ "times slower!",
+ DISPLAY_MESSAGE,
+ "Only for a few seconds,",
+ NEW_LINE,
+ "though...",
+ CHANGE_CHARACTER,
+ "Well... That's interesting.",
+ NEW_LINE,
+ "But what's the use?",
+ CHANGE_CHARACTER,
+ "I don't care.",
+ DISPLAY_MESSAGE,
+ "Think about it.",
+ DISPLAY_MESSAGE,
+ "You could, for example, get in",
+ NEW_LINE,
+ "the cinema without a ticket,",
+ NEW_LINE,
+ "and nobody would notice you.",
+ CHANGE_CHARACTER,
+ "Of course!",
+ DISPLAY_MESSAGE,
+ "Great!",
+ DISPLAY_MESSAGE,
+ "I want to buy the patent!",
+ CHANGE_CHARACTER,
+ "That's the problem...",
+ DISPLAY_MESSAGE,
+ "As you know, my uncel Gallagher,",
+ NEW_LINE,
+ "used to invent the best things",
+ NEW_LINE,
+ "when he was ...let's say...",
+ CHANGE_CHARACTER,
+ "...drunk...",
+ CHANGE_CHARACTER,
+ "...intoxicated.",
+ DISPLAY_MESSAGE,
+ "And the same happened to me",
+ NEW_LINE,
+ "(sigh).",
+ DISPLAY_MESSAGE,
+ "So last night I woke up with",
+ NEW_LINE,
+ "a horrible headache and",
+ NEW_LINE,
+ "found those pills.",
+ DISPLAY_MESSAGE,
+ "I don't remember how I made them.",
+ CHANGE_CHARACTER,
+ "Oh no!",
+ CHANGE_CHARACTER,
+ "But I may try to work on them.",
+ DISPLAY_MESSAGE,
+ "I need your money for that.",
+ DISPLAY_MESSAGE,
+ "Let's make a deal.",
+ DISPLAY_MESSAGE,
+ "You build me a new",
+ NEW_LINE,
+ "laboratory and stuff...",
+ DISPLAY_MESSAGE,
+ "...and I'll give you my rights.",
+ CHANGE_CHARACTER,
+ "You'll give me the patent?!",
+ CHANGE_CHARACTER,
+ "Yes.",
+ DISPLAY_MESSAGE,
+ "All I care about is the",
+ NEW_LINE,
+ "respect of the science",
+ NEW_LINE,
+ "society respect.",
+ DISPLAY_MESSAGE,
+ "And Nobel.",
+ DISPLAY_MESSAGE,
+ "You know, honoris causa here",
+ NEW_LINE,
+ "and there, interviews...",
+ CHANGE_CHARACTER,
+ "All right. You got the deal.",
+ DISPLAY_MESSAGE,
+ "Prepare the list of necessary",
+ NEW_LINE,
+ "equipment.",
+ CHANGE_CHARACTER,
+ "Wonderful.",
+ END_DIALOG
+};
+
+const static char* dialog_113[] = {
+ "This fool trusts me.",
+ DISPLAY_MESSAGE,
+ "But I will use him...",
+ DISPLAY_MESSAGE,
+ "The time pills...",
+ DISPLAY_MESSAGE,
+ "I won't be selling them to",
+ NEW_LINE,
+ "those stupid people!",
+ DISPLAY_MESSAGE,
+ "I don't care about the",
+ NEW_LINE,
+ "patent!",
+ DISPLAY_MESSAGE,
+ "I could rob any bank",
+ NEW_LINE,
+ "without being seen!",
+ DISPLAY_MESSAGE,
+ "Faster than light!",
+ DISPLAY_MESSAGE,
+ "I need to steal some money",
+ NEW_LINE,
+ "or gold for this mad man's",
+ NEW_LINE,
+ "laboratory.",
+ END_DIALOG
+};
+
+const static char* dialog_114[] = {
+ "But soon...",
+ DISPLAY_MESSAGE,
+ "I'll get rich.",
+ DISPLAY_MESSAGE,
+ "Veeeery rich.",
+ DISPLAY_MESSAGE,
+ ANIM_WAIT,
+ "I feel like I could...",
+ DISPLAY_MESSAGE,
+ ANIM_WAIT,
+ "...like I could...",
+ END_DIALOG
+};
+
+const static char* dialog_115[] = {
+ ANIM_WAIT,
+ "TAKE ON THE WORLD!...",
+ END_DIALOG
+};
+
+const static char* dialog_116[] = {
+ ANIM_WAIT,
+ "I always wanted to say that.",
+ END_DIALOG
+};
+
+const static char* dialog_117[] = {
+ "It's me again.",
+ CHANGE_CHARACTER,
+ "Goodbye again.",
+ CHANGE_CHARACTER,
+ ANIM_WAIT,
+ "Let's say I haven't heard that.",
+ DISPLAY_MESSAGE,
+ "Is Mr. John Noty home?",
+ CHANGE_CHARACTER,
+ "Yeah, but he said you can't get in.",
+ CHANGE_CHARACTER,
+ "Me?! Why?!",
+ CHANGE_CHARACTER,
+ "Your last invention cost him",
+ NEW_LINE,
+ "two walls.",
+ CHANGE_CHARACTER,
+ "Oh, that time machine...",
+ DISPLAY_MESSAGE,
+ "But now I have some...",
+ CHANGE_CHARACTER,
+ "Not to mention the disapearance of his cat.",
+ CHANGE_CHARACTER,
+ "The cat is happier than",
+ NEW_LINE,
+ "any of us now!",
+ DISPLAY_MESSAGE,
+ ANIM_WAIT,
+ "If the world still exists in",
+ NEW_LINE,
+ "XXV century.",
+ DISPLAY_MESSAGE,
+ "Never mind.",
+ DISPLAY_MESSAGE,
+ "You just have to let me in.",
+ CHANGE_CHARACTER,
+ "Oh yeah?",
+ CHANGE_CHARACTER,
+ "Or I'll tell Mr. John Noty you drink on duty.",
+ CHANGE_CHARACTER,
+ "You're bluffing. You have no proof.",
+ CHANGE_CHARACTER,
+ "Yeah, but you never know.",
+ END_DIALOG
+};
+
+const static char* dialog_118[] = {
+ "Ok, get in, you filthy terrorist.",
+ DISPLAY_MESSAGE,
+ "Just don't tell anybody.",
+ CHANGE_CHARACTER,
+ "Of course. Thank you.",
+ END_DIALOG
+};
+
+const static char* dialog_119[] = {
+ "So...",
+ DISPLAY_MESSAGE,
+ "That's how it all happened...",
+ DISPLAY_MESSAGE,
+ "That's why nobody has seen",
+ NEW_LINE,
+ "how things were",
+ NEW_LINE,
+ "being stolen...",
+ DISPLAY_MESSAGE,
+ "It's a really dangerous",
+ NEW_LINE,
+ "invention!",
+ DISPLAY_MESSAGE,
+ ANIM_WAIT,
+ "I HAVE TO stop John Noty!",
+ DISPLAY_MESSAGE,
+ ANIM_WAIT,
+ "Somehow.",
+ DISPLAY_MESSAGE,
+ ANIM_WAIT,
+ "Boy! Those pills I took",
+ NEW_LINE,
+ "from Mike must be...",
+ DISPLAY_MESSAGE,
+ "Oh, no!",
+ DISPLAY_MESSAGE,
+ "I can hear somebody coming!",
+ END_DIALOG
+};
+
+const static char* dialog_120[] = {
+ "I have to hide somewhere!",
+ DISPLAY_MESSAGE,
+ "Now!",
+ END_DIALOG
+};
+
+const static char* dialog_121[] = {
+ "I have to buy an old-fashioned safe.",
+ DISPLAY_MESSAGE,
+ "That stupid robot went mad again.",
+ DISPLAY_MESSAGE,
+ "I hate it.",
+ DISPLAY_MESSAGE,
+ "CLOSE, YOU PIECE OF JUNK!",
+ END_DIALOG
+};
+
+const static char* dialog_122[] = {
+ "Third time this week.",
+ DISPLAY_MESSAGE,
+ "Oh, all right, all right!...",
+ DISPLAY_MESSAGE,
+ "I'm coming!...",
+ END_DIALOG
+};
+
+const static char* dialog_123[] = {
+ "...cover it all.",
+ DISPLAY_MESSAGE,
+ "I need more money for the security system.",
+ DISPLAY_MESSAGE,
+ "I've got only two men and...",
+ CHANGE_CHARACTER,
+ "More and more!",
+ DISPLAY_MESSAGE,
+ "It's all I hear!",
+ CHANGE_CHARACTER,
+ "All right, I'll explain again...",
+ END_DIALOG
+};
+
+const static char* dialog_124[] = {
+ "Mr. John Noty?",
+ DISPLAY_MESSAGE,
+ "I just received some information from",
+ NEW_LINE,
+ "the professor.",
+ DISPLAY_MESSAGE,
+ "He's asked you to come to the laboratory.",
+ DISPLAY_MESSAGE,
+ "He says he's found out the structure of",
+ NEW_LINE,
+ "the pills.",
+ END_DIALOG
+};
+
+const static char* dialog_125[] = {
+ "So this is it?!",
+ CHANGE_CHARACTER,
+ "Definitely ...hic!... yes.",
+ CHANGE_CHARACTER,
+ "Great!",
+ END_DIALOG
+};
+
+const static char* dialog_126[] = {
+ "I have to stop them!",
+ DISPLAY_MESSAGE,
+ "There's no time to waste!",
+ END_DIALOG
+};
+
+const static char* dialog_127[] = {
+ "Well, well, well...",
+ DISPLAY_MESSAGE,
+ "You really play on my nerves.",
+ DISPLAY_MESSAGE,
+ "It was a good idea not to save money",
+ NEW_LINE,
+ "on the security system...",
+ DISPLAY_MESSAGE,
+ "This force field is indestructible!",
+ DISPLAY_MESSAGE,
+ "Hah!",
+ END_DIALOG
+};
+
+const static char* dialog_128[] = {
+ "But I have to kill you anyway.",
+ CHANGE_CHARACTER,
+ "No, no!",
+ CHANGE_CHARACTER,
+ "Shut up!",
+ CHANGE_CHARACTER,
+ "It's not worth it!",
+ CHANGE_CHARACTER,
+ "Oh really?",
+ CHANGE_CHARACTER,
+ "I don't want to...",
+ END_DIALOG
+};
+
+const static char* dialog_129[] = {
+ CHANGE_CHARACTER,
+ "The poor professor has fainted...",
+ CHANGE_CHARACTER,
+ "But... How...",
+ DISPLAY_MESSAGE,
+ "I DON'T UNDERSTAND ANYTHING!!!",
+ CHANGE_CHARACTER,
+ "It's very easy.",
+ DISPLAY_MESSAGE,
+ "We attached a secret micro-camera",
+ NEW_LINE,
+ "to your cap.",
+ DISPLAY_MESSAGE,
+ "This way we knew all the time what was",
+ NEW_LINE,
+ "happening.",
+ CHANGE_CHARACTER,
+ "You have seen when I?...",
+ CHANGE_CHARACTER,
+ "I don't want to embarass you.",
+ DISPLAY_MESSAGE,
+ "You did a good job for the RGB.",
+ CHANGE_CHARACTER,
+ "But John Noty has escaped!",
+ CHANGE_CHARACTER,
+ "He's not important.",
+ DISPLAY_MESSAGE,
+ "We have the professor, you'll give us the pills.",
+ DISPLAY_MESSAGE,
+ "Sorry, but you can't keep them for yourself.",
+ CHANGE_CHARACTER,
+ "Okay, but...",
+ DISPLAY_MESSAGE,
+ "Could you please give me just a minute?",
+ DISPLAY_MESSAGE,
+ "I have some private business to do with",
+ NEW_LINE,
+ "this scum.",
+ CHANGE_CHARACTER,
+ ANIM_WAIT,
+ "All right. But hurry up.",
+ END_DIALOG
+};
+
+const static char* dialog_130[] = {
+ ANIM_WAIT,
+ "(gulp)",
+ DISPLAY_MESSAGE,
+ "This time-effect really doesn't last",
+ NEW_LINE,
+ "long...",
+ END_DIALOG
+};
+
+const static char* dialog_131[] = {
+ "You've lost, mister!",
+ DISPLAY_MESSAGE,
+ "The police are surrounding the building!",
+ CHANGE_CHARACTER,
+ "Don't be stupid.",
+ DISPLAY_MESSAGE,
+ "Didn't you think I'd have",
+ NEW_LINE,
+ "a secret way out?",
+ CHANGE_CHARACTER,
+ "Oh yeah?",
+ DISPLAY_MESSAGE,
+ "What's that?",
+ CHANGE_CHARACTER,
+ "Like I'm going to tell you...",
+ DISPLAY_MESSAGE,
+ "Get lost, you little creep.",
+ DISPLAY_MESSAGE,
+ "I'm busy.",
+ END_DIALOG
+};
+
+const static char* dialog_132[] = {
+ "I'll have to disarm you.",
+ DISPLAY_MESSAGE,
+ "Be nice and surrender without problems.",
+ CHANGE_CHARACTER,
+ "I don't have time for jokes.",
+ DISPLAY_MESSAGE,
+ "Get the hell out of here,",
+ NEW_LINE,
+ "before I point my gun at you",
+ NEW_LINE,
+ "again.",
+ CHANGE_CHARACTER,
+ "I warn you...",
+ CHANGE_CHARACTER,
+ "Where do they sell",
+ NEW_LINE,
+ "bores like you?",
+ END_DIALOG
+};
+
+const static char* dialog_133[] = {
+ "I won't give you any more chances...",
+ CHANGE_CHARACTER,
+ "Good.",
+ DISPLAY_MESSAGE,
+ "And bye.",
+ END_DIALOG
+};
+
+const static char* dialog_134[] = {
+ "Stop packing that money!",
+ END_DIALOG
+};
+
+const static char* dialog_135[] = {
+ "Hi, there!",
+ CHANGE_CHARACTER,
+ "Hi.",
+ DISPLAY_MESSAGE,
+ "What's your problem?",
+ CHANGE_CHARACTER,
+ "I was sent here for some training.",
+ CHANGE_CHARACTER,
+ "Another wanna-be secret agent, huh?",
+ CHANGE_CHARACTER,
+ "Yep.",
+ CHANGE_CHARACTER,
+ "Show me your documents and you'll get in.",
+ CHANGE_CHARACTER,
+ "Okey dokey.",
+ END_DIALOG
+};
+
+const static char* dialog_136[] = {
+ "Can't you let me in without all that",
+ NEW_LINE,
+ "bureaucracy?",
+ CHANGE_CHARACTER,
+ "Sorry, no.",
+ DISPLAY_MESSAGE,
+ "Rules are rules.",
+ CHANGE_CHARACTER,
+ "And morons are morons.",
+ CHANGE_CHARACTER,
+ ANIM_WAIT,
+ "And dead people are dead people.",
+ CHANGE_CHARACTER,
+ ANIM_WAIT,
+ "Have a good day, sir.",
+ END_DIALOG
+};
+
+const static char* dialog_137[] = {
+ "MAY I PASS, PLEASE?!",
+ CHANGE_CHARACTER,
+ "YES, YOU MAY!",
+ DISPLAY_MESSAGE,
+ "JUST SHOW ME YOUR DOCUMENTS!",
+ END_DIALOG
+};
+
+const static char* dialog_138[] = {
+ "Let me in!",
+ CHANGE_CHARACTER,
+ "Show your documents!",
+ CHANGE_CHARACTER,
+ "You take your job really seriously,",
+ NEW_LINE,
+ "don't you?",
+ CHANGE_CHARACTER,
+ "Are you blind or what?",
+ DISPLAY_MESSAGE,
+ "I'm reading a magazine on duty.",
+ CHANGE_CHARACTER,
+ ANIM_WAIT,
+ "Oh, yeah.",
+ DISPLAY_MESSAGE,
+ "Sorry.",
+ END_DIALOG
+};
+
+const static char* dialog_139[] = {
+ "I have to...",
+ CHANGE_CHARACTER,
+ "Documents!",
+ END_DIALOG
+};
+
+const static char* dialog_140[] = {
+ "What are you reading?",
+ CHANGE_CHARACTER,
+ "'Soldier News', of course.",
+ CHANGE_CHARACTER,
+ "You love all that military stuff,",
+ NEW_LINE,
+ "don't you?",
+ CHANGE_CHARACTER,
+ "Are you crazy?",
+ DISPLAY_MESSAGE,
+ "I like pictures of cool babes...",
+ DISPLAY_MESSAGE,
+ "...crosswords...",
+ DISPLAY_MESSAGE,
+ "...the humor page...",
+ DISPLAY_MESSAGE,
+ "...rumors...",
+ DISPLAY_MESSAGE,
+ "...recipes...",
+ CHANGE_CHARACTER,
+ "COOKING?!",
+ CHANGE_CHARACTER,
+ "Yes, they try to raise their profile.",
+ DISPLAY_MESSAGE,
+ "Gain new readers, you know.",
+ CHANGE_CHARACTER,
+ "Oh yeah.",
+ DISPLAY_MESSAGE,
+ "Great idea.",
+ DISPLAY_MESSAGE,
+ "Is there a knitting page too?",
+ CHANGE_CHARACTER,
+ "I get the feeling you're",
+ NEW_LINE,
+ "trying to be funny.",
+ CHANGE_CHARACTER,
+ "Nah, me?",
+ DISPLAY_MESSAGE,
+ "Never.",
+ CHANGE_CHARACTER,
+ "Good.",
+ END_DIALOG
+};
+
+const static char* dialog_141[] = {
+ "Would you lend me the magazine?",
+ CHANGE_CHARACTER,
+ "And what am I supposed",
+ NEW_LINE,
+ "to kill the time with",
+ NEW_LINE,
+ "then?",
+ CHANGE_CHARACTER,
+ "Erm...",
+ DISPLAY_MESSAGE,
+ "You could count the leaves.",
+ CHANGE_CHARACTER,
+ "There're 11034 leaves here.",
+ CHANGE_CHARACTER,
+ ANIM_WAIT,
+ "Wow.",
+ END_DIALOG
+};
+
+const static char* dialog_142[] = {
+ "What's up?",
+ CHANGE_CHARACTER,
+ "The sky, I hope.",
+ END_DIALOG
+};
+
+const static char* dialog_143[] = {
+ "Keep up the good work.",
+ END_DIALOG
+};
+
+const static char* dialog_144[] = {
+ CHANGE_CHARACTER,
+ "Hey, get back!",
+ END_DIALOG
+};
+
+const static char* dialog_145[] = {
+ "What's the matter?",
+ CHANGE_CHARACTER,
+ "You must show me your pass",
+ NEW_LINE,
+ "before I let you enter the",
+ NEW_LINE,
+ "camp.",
+ CHANGE_CHARACTER,
+ "What if I don't?",
+ CHANGE_CHARACTER,
+ "I'll have to shoot you.",
+ CHANGE_CHARACTER,
+ "(gulp)",
+ END_DIALOG
+};
+
+const static char* dialog_146[] = {
+ CHANGE_CHARACTER,
+ "I warn you...",
+ DISPLAY_MESSAGE,
+ "My bullets are faster than you...",
+ END_DIALOG
+};
+
+const static char* dialog_147[] = {
+ CHANGE_CHARACTER,
+ "All right.",
+ DISPLAY_MESSAGE,
+ "Report to the captain.",
+ DISPLAY_MESSAGE,
+ "He should be around somewhere.",
+ CHANGE_CHARACTER,
+ "Thanks, man.",
+ END_DIALOG
+};
+
+const static char* dialog_148[] = {
+ CHANGE_CHARACTER,
+ "We're gonna turn you into a real man,",
+ NEW_LINE,
+ "right, son?!",
+ CHANGE_CHARACTER,
+ "Erm...",
+ CHANGE_CHARACTER,
+ "Best of the best!...",
+ CHANGE_CHARACTER,
+ "Uh...",
+ CHANGE_CHARACTER,
+ "By sweat, blood and tears!",
+ CHANGE_CHARACTER,
+ "I'd rather...",
+ CHANGE_CHARACTER,
+ "I'm glad to see your enthusiasm, son!",
+ DISPLAY_MESSAGE,
+ "Let's not waste time!",
+ DISPLAY_MESSAGE,
+ "I was told to give you some express training.",
+ DISPLAY_MESSAGE,
+ "All right, son!",
+ DISPLAY_MESSAGE,
+ "You'll have to pass three trials!",
+ DISPLAY_MESSAGE,
+ "Let's begin with the easy one!...",
+ END_DIALOG
+};
+
+const static char* dialog_149[] = {
+ CHANGE_CHARACTER,
+ "The task is simple.",
+ DISPLAY_MESSAGE,
+ "I'll lock up you here...",
+ DISPLAY_MESSAGE,
+ "...and you must escape.",
+ DISPLAY_MESSAGE,
+ "Is it clear?!",
+ CHANGE_CHARACTER,
+ "Sir, I...",
+ CHANGE_CHARACTER,
+ "GOOD!!!",
+ END_DIALOG
+};
+
+const static char* dialog_150[] = {
+ ANIM_WAIT,
+ "Hello?",
+ DISPLAY_MESSAGE,
+ ANIM_WAIT,
+ "Great.",
+ END_DIALOG
+};
+
+const static char* dialog_151[] = {
+ "OK, that was funny.",
+ DISPLAY_MESSAGE,
+ "Now let me out!",
+ END_DIALOG
+};
+
+const static char* dialog_152[] = {
+ "Hey! Is there anybody out",
+ NEW_LINE,
+ "there?!",
+ DISPLAY_MESSAGE,
+ ANIM_WAIT,
+ "HELP!!!",
+ END_DIALOG
+};
+
+const static char* dialog_153[] = {
+ "Have mercy!",
+ DISPLAY_MESSAGE,
+ "I'm gonna die here!",
+ END_DIALOG
+};
+
+const static char* dialog_154[] = {
+ "I'm getting hungry!",
+ END_DIALOG
+};
+
+const static char* dialog_155[] = {
+ "I don't know what to say now...",
+ END_DIALOG
+};
+
+const static char* dialog_156[] = {
+ "I think...",
+ DISPLAY_MESSAGE,
+ "...you've passed...",
+ DISPLAY_MESSAGE,
+ "...the first test...",
+ DISPLAY_MESSAGE,
+ "...Let's get...",
+ DISPLAY_MESSAGE,
+ "...to the next one...",
+ END_DIALOG
+};
+
+const static char* dialog_157[] = {
+ CHANGE_CHARACTER,
+ "Ok, soldier.",
+ DISPLAY_MESSAGE,
+ "Let's assume I'm your captive...",
+ DISPLAY_MESSAGE,
+ "...and I know some secret password.",
+ DISPLAY_MESSAGE,
+ "Your task is to get it from me.",
+ DISPLAY_MESSAGE,
+ "CLEAR?!?",
+ CHANGE_CHARACTER,
+ "Am I restricted?",
+ CHANGE_CHARACTER,
+ "No.",
+ DISPLAY_MESSAGE,
+ "Do anything you want.",
+ CHANGE_CHARACTER,
+ "May I even spit in your eye?",
+ CHANGE_CHARACTER,
+ ANIM_WAIT,
+ "Yes.",
+ CHANGE_CHARACTER,
+ ANIM_WAIT,
+ "Thanks, just checking.",
+ END_DIALOG
+};
+
+const static char* dialog_158[] = {
+ "Please tell me the password",
+ NEW_LINE,
+ "and let's get over it all.",
+ DISPLAY_MESSAGE,
+ ANIM_WAIT,
+ "OK, think about it.",
+ END_DIALOG
+};
+
+const static char* dialog_159[] = {
+ "Hey, talk to me.",
+ DISPLAY_MESSAGE,
+ ANIM_WAIT,
+ "Do you hear me?",
+ DISPLAY_MESSAGE,
+ ANIM_WAIT,
+ "EARTH TO CAPTAIN, EARTH TO CAPTAIN!",
+ DISPLAY_MESSAGE,
+ ANIM_WAIT,
+ "You're hopeless.",
+ END_DIALOG
+};
+
+const static char* dialog_160[] = {
+ "Are you ready to talk?",
+ DISPLAY_MESSAGE,
+ ANIM_WAIT,
+ "OK, I'll give you some more time.",
+ END_DIALOG
+};
+
+const static char* dialog_161[] = {
+ "Now, what is the password?",
+ CHANGE_CHARACTER,
+ "Get lost, you pathetic wimp.",
+ CHANGE_CHARACTER,
+ "Be nice, or I'll tickle you again.",
+ CHANGE_CHARACTER,
+ "Go on, that'll be a pleasure.",
+ CHANGE_CHARACTER,
+ ANIM_WAIT,
+ "You enjoyed that, didn't you?",
+ CHANGE_CHARACTER,
+ "Well, you know...",
+ CHANGE_CHARACTER,
+ "Ok, I'll find some other way.",
+ END_DIALOG
+};
+
+const static char* dialog_162[] = {
+ "I brought you something...",
+ CHANGE_CHARACTER,
+ "You can't bribe me.",
+ CHANGE_CHARACTER,
+ "Oh, yeah?",
+ END_DIALOG
+};
+
+// Note:
+// The usage of this in the engine overlaps the previous dialog i.e. the
+// starting offset used is two bytes early, thus implicitly changing the
+// first command of this dialog from NEW_LINE to CHANGE_CHARACTER.
+const static char* dialog_163[] = {
+ NEW_LINE,
+ "OH GIMMIE GIMMIE GIMMIE!!!",
+ DISPLAY_MESSAGE,
+ "I'LL DO ANYTHING!!!",
+ CHANGE_CHARACTER,
+ "Password...",
+ CHANGE_CHARACTER,
+ "The password is 'COFFEE'.",
+ DISPLAY_MESSAGE,
+ "Tell it to the barman and",
+ NEW_LINE,
+ "he'll give you something.",
+ DISPLAY_MESSAGE,
+ "Then he'll tell you about the third task.",
+ DISPLAY_MESSAGE,
+ "NOW FREE ME!!!",
+ CHANGE_CHARACTER,
+ "I'll think about it.",
+ END_DIALOG
+};
+
+const static char* dialog_164[] = {
+ "You...",
+ DISPLAY_MESSAGE,
+ "...you...",
+ DISPLAY_MESSAGE,
+ ANIM_WAIT,
+ "...have passed, sir!",
+ END_DIALOG
+};
+
+const static char* dialog_165[] = {
+ "Would you care for a wonderful kaleidoscope?",
+ CHANGE_CHARACTER,
+ "I had one once, but captain saw me",
+ NEW_LINE,
+ "playing with it and took it from me.",
+ DISPLAY_MESSAGE,
+ "I think he uses it himself,",
+ NEW_LINE,
+ "you know.",
+ CHANGE_CHARACTER,
+ "If you give me the gazette,",
+ NEW_LINE,
+ "I'll give you that kaleidoscope.",
+ CHANGE_CHARACTER,
+ "I don't want to know how you got it...",
+ CHANGE_CHARACTER,
+ "Good.",
+ CHANGE_CHARACTER,
+ "...but what if the captain sees me again?",
+ CHANGE_CHARACTER,
+ "Don't worry, he's tied up.",
+ CHANGE_CHARACTER,
+ "Oh, test number two, I guess?...",
+ CHANGE_CHARACTER,
+ "Yep.",
+ CHANGE_CHARACTER,
+ "OK, let's have some fun here.",
+ END_DIALOG
+};
+
+const static char* dialog_166[] = {
+ "'COFFEE'.",
+ END_DIALOG
+};
+
+const static char* dialog_167[] = {
+ CHANGE_CHARACTER,
+ "Hot, wasn't it?",
+ CHANGE_CHARACTER,
+ "Uh-huh.",
+ DISPLAY_MESSAGE,
+ "The captain says you're gonna tell me",
+ NEW_LINE,
+ "about the third task.",
+ CHANGE_CHARACTER,
+ "Again...",
+ DISPLAY_MESSAGE,
+ "Well, it's kinda hide'n'seek.",
+ DISPLAY_MESSAGE,
+ "The captain hides, you seek.",
+ CHANGE_CHARACTER,
+ "But I left him tied to a chair!",
+ CHANGE_CHARACTER,
+ "That man and his sick games...",
+ DISPLAY_MESSAGE,
+ "He enjoys it more than he should!...",
+ DISPLAY_MESSAGE,
+ "He cheated you.",
+ DISPLAY_MESSAGE,
+ "Go and check.",
+ DISPLAY_MESSAGE,
+ "I'm sure he's already free.",
+ CHANGE_CHARACTER,
+ "But I took his knife!",
+ DISPLAY_MESSAGE,
+ "How could he cut the ties?!",
+ CHANGE_CHARACTER,
+ "Maybe he walked away with the chair",
+ NEW_LINE,
+ "tied to his...",
+ CHANGE_CHARACTER,
+ "Never mind.",
+ DISPLAY_MESSAGE,
+ "Any hints about where he might hide?",
+ CHANGE_CHARACTER,
+ "None.",
+ CHANGE_CHARACTER,
+ "Oh, c'mon.",
+ CHANGE_CHARACTER,
+ "No, boy. Play fair.",
+ END_DIALOG
+};
+
+const static char* dialog_168[] = {
+ "Time for a little hint?",
+ CHANGE_CHARACTER,
+ "No.",
+ END_DIALOG
+};
+
+const static char* dialog_169[] = {
+ "Hello, sir. I'm Mark.",
+ CHANGE_CHARACTER,
+ "What a pity you're not a dollar.",
+ DISPLAY_MESSAGE,
+ "What can I do for you?",
+ CHANGE_CHARACTER,
+ ANIM_WAIT,
+ "You can give me a lot of money...",
+ DISPLAY_MESSAGE,
+ "...or you can do a headstand...",
+ DISPLAY_MESSAGE,
+ "...or...",
+ CHANGE_CHARACTER,
+ "Okay, okay. It's a tie.",
+ DISPLAY_MESSAGE,
+ "So?...",
+ CHANGE_CHARACTER,
+ "Who's else is in the camp?",
+ CHANGE_CHARACTER,
+ "You're a journalist?",
+ CHANGE_CHARACTER,
+ "No, I'm a secret agent.",
+ CHANGE_CHARACTER,
+ "You too?",
+ DISPLAY_MESSAGE,
+ "Anyway, there are only three men.",
+ DISPLAY_MESSAGE,
+ "Me, the captain and the guard.",
+ CHANGE_CHARACTER,
+ "No women?",
+ CHANGE_CHARACTER,
+ "No cry.",
+ CHANGE_CHARACTER,
+ ANIM_WAIT,
+ "Erm, well...",
+ END_DIALOG
+};
+
+const static char* dialog_170[] = {
+ "Not much of a rush on, is there?",
+ CHANGE_CHARACTER,
+ "Do you want to order something or not?",
+ CHANGE_CHARACTER,
+ "I don't have money.",
+ CHANGE_CHARACTER,
+ "Today's free.",
+ CHANGE_CHARACTER,
+ "Really?",
+ CHANGE_CHARACTER,
+ "Really.",
+ CHANGE_CHARACTER,
+ "I want a hot-dog.",
+ CHANGE_CHARACTER,
+ "Miss.",
+ CHANGE_CHARACTER,
+ "Pizza?",
+ CHANGE_CHARACTER,
+ "Miss.",
+ CHANGE_CHARACTER,
+ "Toast?",
+ CHANGE_CHARACTER,
+ "Miss.",
+ CHANGE_CHARACTER,
+ "Anything?",
+ CHANGE_CHARACTER,
+ "Miss.",
+ CHANGE_CHARACTER,
+ ANIM_WAIT,
+ "No, thank you.",
+ DISPLAY_MESSAGE,
+ "I'm not hungry.",
+ END_DIALOG
+};
+
+const static char* dialog_171[] = {
+ "What are you drinking?",
+ CHANGE_CHARACTER,
+ "Tea.",
+ CHANGE_CHARACTER,
+ "Sure.",
+ END_DIALOG
+};
+
+const static char* dialog_172[] = {
+ "Nice weather.",
+ CHANGE_CHARACTER,
+ "Mhmmm...",
+ END_DIALOG
+};
+
+const static char* dialog_173[] = {
+ "Sometimes I feel tired.",
+ DISPLAY_MESSAGE,
+ ANIM_WAIT,
+ "Very tired.",
+ END_DIALOG
+};
+
+const static char* dialog_174[] = {
+ "Hey, Woodstock's over!",
+ END_DIALOG
+};
+
+const static char* dialog_175[] = {
+ "Thanks.",
+ END_DIALOG
+};
+
+const static char* dialog_176[] = {
+ CHANGE_CHARACTER,
+ "What the...",
+ END_DIALOG
+};
+
+const static char* dialog_177[] = {
+ "Hey, aren't you thirsty?",
+ DISPLAY_MESSAGE,
+ "Have you forgotten about your cup?",
+ END_DIALOG
+};
+
+const static char* dialog_178[] = {
+ "Sir, we have been informed that...",
+ CHANGE_CHARACTER,
+ "Later!",
+ DISPLAY_MESSAGE,
+ "I'm busy right now!",
+ CHANGE_CHARACTER,
+ "As you wish, sir.",
+ END_DIALOG
+};
+
+const static char* dialog_179[] = {
+ "Sir, some young boy tried to get inside",
+ NEW_LINE,
+ "the mansion.",
+ END_DIALOG
+};
+
+const static char* dialog_180[] = {
+ "Don't worry.",
+ DISPLAY_MESSAGE,
+ "Young boys are curious...",
+ DISPLAY_MESSAGE,
+ "...and my house plays on their imaginations.",
+ DISPLAY_MESSAGE,
+ "But keep an eye on him.",
+ CHANGE_CHARACTER,
+ "Yes, sir!",
+ END_DIALOG
+};
+
+const static char* dialog_181[] = {
+ "Sir, that boy tried to get in again.",
+ END_DIALOG
+};
+
+const static char* dialog_182[] = {
+ "Do you think it's serious?",
+ CHANGE_CHARACTER,
+ "Hmmm... No...",
+ DISPLAY_MESSAGE,
+ "He doesn't look dangerously.",
+ DISPLAY_MESSAGE,
+ "But maybe we should...",
+ CHANGE_CHARACTER,
+ "Nah.",
+ DISPLAY_MESSAGE,
+ "Just keep him out of the mansion.",
+ DISPLAY_MESSAGE,
+ "But tell me if he appears again.",
+ DISPLAY_MESSAGE,
+ "Now get back to your job.",
+ END_DIALOG
+};
+
+const static char* dialog_183[] = {
+ "Don't tell me it's that boy again...",
+ CHANGE_CHARACTER,
+ "I'm afraid so.",
+ DISPLAY_MESSAGE,
+ "The guard says the boy's really desperate.",
+ END_DIALOG
+};
+
+const static char* dialog_184[] = {
+ "He's starting to get on my nerves.",
+ DISPLAY_MESSAGE,
+ "And what am I paying you for?",
+ CHANGE_CHARACTER,
+ "Should I...",
+ CHANGE_CHARACTER,
+ "Not yet.",
+ DISPLAY_MESSAGE,
+ "Let's give him a last chance.",
+ END_DIALOG
+};
+
+const static char* dialog_185[] = {
+ "Sir...",
+ CHANGE_CHARACTER,
+ "Let me guess...",
+ DISPLAY_MESSAGE,
+ "THE BOY?!?...",
+ CHANGE_CHARACTER,
+ "Bingo.",
+ CHANGE_CHARACTER,
+ "Why do I have to do everything?!",
+ DISPLAY_MESSAGE,
+ "Can't you do anything yourself?",
+ CHANGE_CHARACTER,
+ "Shall I kill him or just beat him to pieces?",
+ CHANGE_CHARACTER,
+ "You're stupid.",
+ DISPLAY_MESSAGE,
+ "There are ...better ways...",
+ END_DIALOG
+};
+
+const static char* dialog_186[] = {
+ "I'll handle it myself.",
+ DISPLAY_MESSAGE,
+ "Now get out!",
+ DISPLAY_MESSAGE,
+ "I have to change my clothes.",
+ END_DIALOG
+};
+
+const static char* dialog_187[] = {
+ "Hey, you up there!",
+ DISPLAY_MESSAGE,
+ "Get down at once!",
+ DISPLAY_MESSAGE,
+ ANIM_WAIT,
+ "Zero reaction.",
+ DISPLAY_MESSAGE,
+ ANIM_WAIT,
+ "Is it deaf or something?",
+ END_DIALOG
+};
+
+const static char* dialog_188[] = {
+ "Hey, birdy, don't be shy.",
+ DISPLAY_MESSAGE,
+ "Come to me...",
+ DISPLAY_MESSAGE,
+ ANIM_WAIT,
+ "(sigh)",
+ END_DIALOG
+};
+
+const static char* dialog_189[] = {
+ "Come here, little bird...",
+ END_DIALOG
+};
+
+const static char* dialog_190[] = {
+ NEW_LINE,
+ "Hey, keep away from this door!",
+ CHANGE_CHARACTER,
+ "Why?",
+ CHANGE_CHARACTER,
+ "None of your business.",
+ DISPLAY_MESSAGE,
+ "Just keep away.",
+ END_DIALOG
+};
+
+const static char* dialog_191[] = {
+ CHANGE_CHARACTER,
+ "I told you to keep away, didn't I?",
+ CHANGE_CHARACTER,
+ "OK, OK...",
+ END_DIALOG
+};
+
+const static char* dialog_192[] = {
+ "I've got a new delivery of gold.",
+ CHANGE_CHARACTER,
+ "Yeah, I know.",
+ DISPLAY_MESSAGE,
+ "Password?",
+ CHANGE_CHARACTER,
+ "Bimbo.",
+ CHANGE_CHARACTER,
+ "All right.",
+ DISPLAY_MESSAGE,
+ "You can bring the gold in.",
+ CHANGE_CHARACTER,
+ "Okey dokey.",
+ END_DIALOG
+};
+
+const static char* dialog_193[] = {
+ "As I told you, our organisation",
+ NEW_LINE,
+ "takes care of unusual problems.",
+ DISPLAY_MESSAGE,
+ "Last time we solved the problem of a UFO",
+ NEW_LINE,
+ "over the White House.",
+ CHANGE_CHARACTER,
+ "Oh, heally?",
+ DISPLAY_MESSAGE,
+ "How?",
+ CHANGE_CHARACTER,
+ "We shot the thing down.",
+ CHANGE_CHARACTER,
+ ANIM_WAIT,
+ "I undehstand.",
+ DISPLAY_MESSAGE,
+ "And who oh ...what was inside?",
+ CHANGE_CHARACTER,
+ "You want to know?",
+ CHANGE_CHARACTER,
+ "Oh, yes! As a fohtune-telleh",
+ NEW_LINE,
+ "I'm a cuhious pehson.",
+ CHANGE_CHARACTER,
+ "Do you REALLY want to know?",
+ CHANGE_CHARACTER,
+ "YES!",
+ CHANGE_CHARACTER,
+ "But...",
+ DISPLAY_MESSAGE,
+ "...REALLY REALLY?",
+ CHANGE_CHARACTER,
+ "YES!",
+ CHANGE_CHARACTER,
+ ANIM_WAIT,
+ "Sorry, I can't tell you.",
+ DISPLAY_MESSAGE,
+ "Anyway, we need your help.",
+ CHANGE_CHARACTER,
+ "I'm not a sechet agent, I'm a fohtune-tell...",
+ CHANGE_CHARACTER,
+ "I know.",
+ DISPLAY_MESSAGE,
+ "We have a very difficult case,",
+ NEW_LINE,
+ "which we haven't been able",
+ NEW_LINE,
+ "to solve for 6 months.",
+ DISPLAY_MESSAGE,
+ "We're in a hopeless situation.",
+ DISPLAY_MESSAGE,
+ "I thought to myself, if we handle",
+ NEW_LINE,
+ "strange cases...",
+ DISPLAY_MESSAGE,
+ "...then why not use",
+ NEW_LINE,
+ "strange means?",
+ CHANGE_CHARACTER,
+ "And?...",
+ CHANGE_CHARACTER,
+ "Let me show you the phone-book.",
+ DISPLAY_MESSAGE,
+ "Use your powers and select a name.",
+ DISPLAY_MESSAGE,
+ "Maybe a fresh mind will solve the case.",
+ CHANGE_CHARACTER,
+ "You don't believe it will wohk, do you?",
+ CHANGE_CHARACTER,
+ "No, I don't.",
+ CHANGE_CHARACTER,
+ ANIM_WAIT,
+ "This is stupid.",
+ CHANGE_CHARACTER,
+ "I know.",
+ CHANGE_CHARACTER,
+ ANIM_WAIT,
+ "Okay. Show me the book.",
+ END_DIALOG
+};
+
+const static char* dialog_194[] = {
+ ANIM_WAIT,
+ "The name is...",
+ DISPLAY_MESSAGE,
+ "...Hoppeh...",
+ DISPLAY_MESSAGE,
+ "...Mahk Hoppeh...",
+ DISPLAY_MESSAGE,
+ "Hm...",
+ END_DIALOG
+};
+
+const static char* dialog_195[] = {
+ "He's coming.",
+ END_DIALOG
+};
+
+const static char* dialog_196[] = {
+ "Oh, I'm sorry about my men.",
+ DISPLAY_MESSAGE,
+ "Sometimes they get a bit too nervous...",
+ DISPLAY_MESSAGE,
+ "But, please...",
+ DISPLAY_MESSAGE,
+ "Let's talk...",
+ END_DIALOG
+};
+
+const static char* dialog_197[] = {
+ "Listen, mister...",
+ CHANGE_CHARACTER,
+ "I know, I know.",
+ DISPLAY_MESSAGE,
+ "Please, give me five minutes and",
+ NEW_LINE,
+ "everything will become clear.",
+ CHANGE_CHARACTER,
+ "Go on, I always liked that conspiracy stuff.",
+ CHANGE_CHARACTER,
+ "Well...",
+ DISPLAY_MESSAGE,
+ "I'm head of a secret government organization",
+ NEW_LINE,
+ "called the RGB.",
+ CHANGE_CHARACTER,
+ "Why RGB?",
+ CHANGE_CHARACTER,
+ "Even I don't know.",
+ DISPLAY_MESSAGE,
+ "It's so secret.",
+ CHANGE_CHARACTER,
+ ANIM_WAIT,
+ "Cool.",
+ CHANGE_CHARACTER,
+ "The aim of my organization is to solve",
+ NEW_LINE,
+ "all the extraordinary problems around",
+ NEW_LINE,
+ "the world.",
+ CHANGE_CHARACTER,
+ "Like taxes?",
+ CHANGE_CHARACTER,
+ "No, like UFOs, strange inventions,",
+ NEW_LINE,
+ "spirits...",
+ CHANGE_CHARACTER,
+ "Wow!",
+ CHANGE_CHARACTER,
+ "Yes, when the police, the secret service and so on",
+ NEW_LINE,
+ "can't solve the problem...",
+ DISPLAY_MESSAGE,
+ "...it's delivered to us. But...",
+ DISPLAY_MESSAGE,
+ "You see, six months ago gold and cash",
+ NEW_LINE,
+ "deposited in bank safes started to",
+ NEW_LINE,
+ "disappear.",
+ DISPLAY_MESSAGE,
+ "Literally. Pum! And it's gone!",
+ CHANGE_CHARACTER,
+ "And?...",
+ CHANGE_CHARACTER,
+ "Gone - without a trace.",
+ DISPLAY_MESSAGE,
+ "The whole thing happens in a few seconds.",
+ DISPLAY_MESSAGE,
+ "We have video recordings but they don't",
+ NEW_LINE,
+ "show anything.",
+ DISPLAY_MESSAGE,
+ "That's why we hired the fortune-teller",
+ NEW_LINE,
+ "to show us someone who could be our",
+ NEW_LINE,
+ "salvation.",
+ DISPLAY_MESSAGE,
+ "She has chosen you.",
+ CHANGE_CHARACTER,
+ "I beg your pardon...",
+ DISPLAY_MESSAGE,
+ "You said you have hired...",
+ DISPLAY_MESSAGE,
+ "...A FORTUNE TELLER?!?",
+ CHANGE_CHARACTER,
+ "Yes, we're desperate and",
+ NEW_LINE,
+ "we'll try everything once.",
+ CHANGE_CHARACTER,
+ "This is crazy. Mum, wake me up!",
+ CHANGE_CHARACTER,
+ "Relax.",
+ DISPLAY_MESSAGE,
+ "We have a proposal for you.",
+ DISPLAY_MESSAGE,
+ "Try to help us and you will be rewarded.",
+ CHANGE_CHARACTER,
+ "What's in it for me?",
+ CHANGE_CHARACTER,
+ "Self-satisfaction?",
+ END_DIALOG
+};
+
+const static char* dialog_198[] = {
+ CHANGE_CHARACTER,
+ "Our respect?",
+ END_DIALOG
+};
+
+const static char* dialog_199[] = {
+ CHANGE_CHARACTER,
+ "Patriotism?",
+ END_DIALOG
+};
+
+const static char* dialog_200[] = {
+ CHANGE_CHARACTER,
+ "Girls?",
+ CHANGE_CHARACTER,
+ "What do you mean?",
+ CHANGE_CHARACTER,
+ "Every girl loves a secret agent.",
+ END_DIALOG
+};
+
+const static char* dialog_201[] = {
+ "Ok, I agree. What am I supposed to do?",
+ CHANGE_CHARACTER,
+ "Before you start, I suggest that first",
+ NEW_LINE,
+ "you get some training in our special",
+ NEW_LINE,
+ "secret camp.",
+ DISPLAY_MESSAGE,
+ "I'll issue a pass for you.",
+ DISPLAY_MESSAGE,
+ "Deal?",
+ CHANGE_CHARACTER,
+ "Deal!",
+ END_DIALOG
+};
+
+const static char* dialog_202[] = {
+ "...and it was even fun.",
+ CHANGE_CHARACTER,
+ "I'm glad you liked our training methods.",
+ DISPLAY_MESSAGE,
+ "But let's get to the point.",
+ DISPLAY_MESSAGE,
+ "I must admit I didn't believe you could",
+ NEW_LINE,
+ "actually help.",
+ DISPLAY_MESSAGE,
+ "Nothing personal.",
+ CHANGE_CHARACTER,
+ "I hope so.",
+ CHANGE_CHARACTER,
+ "But you brought us luck.",
+ DISPLAY_MESSAGE,
+ "Our people found out that some",
+ NEW_LINE,
+ "businessman is spending his",
+ NEW_LINE,
+ "money like crazy...",
+ DISPLAY_MESSAGE,
+ "...for some strange materials.",
+ DISPLAY_MESSAGE,
+ "There are three very suspicious things",
+ NEW_LINE,
+ "about him:",
+ DISPLAY_MESSAGE,
+ "...He pays in cash, which is very strange",
+ NEW_LINE,
+ "in a plastic card century...",
+ DISPLAY_MESSAGE,
+ "...Second, half a year ago he wasn't nearly",
+ NEW_LINE,
+ "as rich as he is now...",
+ DISPLAY_MESSAGE,
+ "...Third, what the hell does he need",
+ NEW_LINE,
+ "100 kg of borax for?",
+ CHANGE_CHARACTER,
+ "Maybe he's just a weirdo.",
+ CHANGE_CHARACTER,
+ "Maybe.",
+ DISPLAY_MESSAGE,
+ "But I want you to fly to the place",
+ NEW_LINE,
+ "and try to sneak inside his mansion...",
+ DISPLAY_MESSAGE,
+ "...to find out some more information.",
+ DISPLAY_MESSAGE,
+ "What do you say?",
+ CHANGE_CHARACTER,
+ "Well...",
+ CHANGE_CHARACTER,
+ "I promise you'll be an official secret",
+ NEW_LINE,
+ "agent after this mission.",
+ CHANGE_CHARACTER,
+ ANIM_WAIT,
+ "Promise?",
+ CHANGE_CHARACTER,
+ "My word of honour.",
+ CHANGE_CHARACTER,
+ "Okay. I'm ready.",
+ DISPLAY_MESSAGE,
+ "Where am I supposed to go?",
+ CHANGE_CHARACTER,
+ "It's a little village.",
+ DISPLAY_MESSAGE,
+ "You won't find it on many maps...",
+ DISPLAY_MESSAGE,
+ "But before you go, let me give you some special",
+ NEW_LINE,
+ "agent equipment.",
+ DISPLAY_MESSAGE,
+ "I would give you some boots to make you fly,",
+ NEW_LINE,
+ "but I've lent them to somebody.",
+ DISPLAY_MESSAGE,
+ "The mega-power gauntlets are also",
+ NEW_LINE,
+ "out of stock.",
+ DISPLAY_MESSAGE,
+ "As a matter of act I only have special",
+ NEW_LINE,
+ "super glue.",
+ DISPLAY_MESSAGE,
+ "Well, that's better than nothing...",
+ DISPLAY_MESSAGE,
+ "Good luck!",
+ END_DIALOG
+};
+
+const static char* dialog_203[] = {
+ CHANGE_CHARACTER,
+ "Don't worry.",
+ DISPLAY_MESSAGE,
+ "He'll be okay.",
+ DISPLAY_MESSAGE,
+ "Just... oh, look, here he goes...",
+ END_DIALOG
+};
+
+const static char* dialog_204[] = {
+ CHANGE_CHARACTER,
+ "He got what he deserved.",
+ DISPLAY_MESSAGE,
+ "But we've wasted enough time. Let's go!",
+ CHANGE_CHARACTER,
+ "No! Wait!",
+ DISPLAY_MESSAGE,
+ "I have to see Anne!",
+ CHANGE_CHARACTER,
+ "Ermm... You can't.",
+ CHANGE_CHARACTER,
+ "And why is that?!",
+ CHANGE_CHARACTER,
+ ANIM_WAIT,
+ "You see... Anne was our man.",
+ DISPLAY_MESSAGE,
+ "She was ordered to keep an eye on you",
+ NEW_LINE,
+ "in case the microcamera got out of",
+ NEW_LINE,
+ "order.",
+ DISPLAY_MESSAGE,
+ "And she was also your motivation...",
+ CHANGE_CHARACTER,
+ "I don't believe you!",
+ CHANGE_CHARACTER,
+ "She has already gone off on",
+ NEW_LINE,
+ "her next mission.",
+ DISPLAY_MESSAGE,
+ "Sorry.",
+ CHANGE_CHARACTER,
+ "I guess grandma was involved too?",
+ CHANGE_CHARACTER,
+ "No, she's from here. We payed her.",
+ CHANGE_CHARACTER,
+ "Now that's interesting.",
+ DISPLAY_MESSAGE,
+ "Because if so, why did I have so",
+ NEW_LINE,
+ "many problems?...",
+ CHANGE_CHARACTER,
+ "We were pumping up your determination.",
+ DISPLAY_MESSAGE,
+ "We counted on you to have some strong will.",
+ DISPLAY_MESSAGE,
+ "We were not wrong, were we?",
+ CHANGE_CHARACTER,
+ "You treat people like animals in",
+ NEW_LINE,
+ "an experiment.",
+ DISPLAY_MESSAGE,
+ "You're ruthless...",
+ CHANGE_CHARACTER,
+ "It worked, didn't it?",
+ CHANGE_CHARACTER,
+ "This is all so unbelievable.",
+ DISPLAY_MESSAGE,
+ "Maybe you're gonna tell me that the dog is",
+ NEW_LINE,
+ "a masked agent...",
+ DISPLAY_MESSAGE,
+ "...the old man was my guard...",
+ DISPLAY_MESSAGE,
+ "...and you are from Mars?!",
+ END_DIALOG
+};
+
+const static char* dialog_205[] = {
+ CHANGE_CHARACTER,
+ "It's not a soap opera, it's",
+ NEW_LINE,
+ "just usual agent work.",
+ DISPLAY_MESSAGE,
+ "But hey, join the RGB and you could",
+ NEW_LINE,
+ "work with Anne there!",
+ CHANGE_CHARACTER,
+ ANIM_WAIT,
+ "Well...",
+ DISPLAY_MESSAGE,
+ "I'll think about it...",
+ CHANGE_CHARACTER,
+ "Great.",
+ DISPLAY_MESSAGE,
+ "It was a pleasure to see you in action!",
+ END_DIALOG
+};
+
+const static char* dialog_206[] = {
+ CHANGE_CHARACTER,
+ "You don't have to tell me.",
+ DISPLAY_MESSAGE,
+ "I have already read a very detailed report.",
+ CHANGE_CHARACTER,
+ "But what happened to the professor?",
+ CHANGE_CHARACTER,
+ "Oh, that poor man has forgotten the pill recipe",
+ NEW_LINE,
+ "again.",
+ DISPLAY_MESSAGE,
+ "We'll give him the best laboratory we can.",
+ DISPLAY_MESSAGE,
+ "Right now we have only those few pills",
+ NEW_LINE,
+ "you gave us.",
+ CHANGE_CHARACTER,
+ "And John Noty?",
+ CHANGE_CHARACTER,
+ "Don't worry, his greediness will be punished.",
+ CHANGE_CHARACTER,
+ "I hope so...",
+ DISPLAY_MESSAGE,
+ "And one more little thing...",
+ DISPLAY_MESSAGE,
+ "You have promised me something...",
+ END_DIALOG
+};
+
+const static char* dialog_207[] = {
+ CHANGE_CHARACTER,
+ "Me?...",
+ DISPLAY_MESSAGE,
+ "I don't remember...",
+ CHANGE_CHARACTER,
+ "You said you'll make me an official agent...",
+ DISPLAY_MESSAGE,
+ "'Girls love secret agents'. Remember?",
+ END_DIALOG
+};
+
+const static char* dialog_208[] = {
+ CHANGE_CHARACTER,
+ "(sigh)",
+ DISPLAY_MESSAGE,
+ "A promise is a promise...",
+ DISPLAY_MESSAGE,
+ "Let me think.",
+ DISPLAY_MESSAGE,
+ ANIM_WAIT,
+ "All right. Come here.",
+ END_DIALOG
+};
+
+const static char* dialog_209[] = {
+ "In the name of...",
+ DISPLAY_MESSAGE,
+ "...blah...blah...blah...",
+ DISPLAY_MESSAGE,
+ "...blah...blah...",
+ DISPLAY_MESSAGE,
+ "...for our country.",
+ END_DIALOG
+};
+
+const static char* dialog_210[] = {
+ " Well... ",
+ DISPLAY_MESSAGE,
+ "That's all, folks!",
+ END_DIALOG
+};
+
+const static char* dialog_211[] = {
+ "I found the time pill!",
+ DISPLAY_MESSAGE,
+ "It must have fallen out of the jar!...",
+ DISPLAY_MESSAGE,
+ ANIM_WAIT,
+ "Cool.",
+ END_DIALOG
+};
+
+const static char* dialog_212[] = {
+ "Wow!",
+ DISPLAY_MESSAGE,
+ "This is charming!...",
+ END_DIALOG
+};
+
+const static char** dialogs[] = {
+ dialog_0,
+ dialog_1,
+ dialog_2,
+ dialog_3,
+ dialog_4,
+ dialog_5,
+ dialog_6,
+ dialog_7,
+ dialog_8,
+ dialog_9,
+ dialog_10,
+ dialog_11,
+ dialog_12,
+ dialog_13,
+ dialog_14,
+ dialog_15,
+ dialog_16,
+ dialog_17,
+ dialog_18,
+ dialog_19,
+ dialog_20,
+ dialog_21,
+ dialog_22,
+ dialog_23,
+ dialog_24,
+ dialog_25,
+ dialog_26,
+ dialog_27,
+ dialog_28,
+ dialog_29,
+ dialog_30,
+ dialog_31,
+ dialog_32,
+ dialog_33,
+ dialog_34,
+ dialog_35,
+ dialog_36,
+ dialog_37,
+ dialog_38,
+ dialog_39,
+ dialog_40,
+ dialog_41,
+ dialog_42,
+ dialog_43,
+ dialog_44,
+ dialog_45,
+ dialog_46,
+ dialog_47,
+ dialog_48,
+ dialog_49,
+ dialog_50,
+ dialog_51,
+ dialog_52,
+ dialog_53,
+ dialog_54,
+ dialog_55,
+ dialog_56,
+ dialog_57,
+ dialog_58,
+ dialog_59,
+ dialog_60,
+ dialog_61,
+ dialog_62,
+ dialog_63,
+ dialog_64,
+ dialog_65,
+ dialog_66,
+ dialog_67,
+ dialog_68,
+ dialog_69,
+ dialog_70,
+ dialog_71,
+ dialog_72,
+ dialog_73,
+ dialog_74,
+ dialog_75,
+ dialog_76,
+ dialog_77,
+ dialog_78,
+ dialog_79,
+ dialog_80,
+ dialog_81,
+ dialog_82,
+ dialog_83,
+ dialog_84,
+ dialog_85,
+ dialog_86,
+ dialog_87,
+ dialog_88,
+ dialog_89,
+ dialog_90,
+ dialog_91,
+ dialog_92,
+ dialog_93,
+ dialog_94,
+ dialog_95,
+ dialog_96,
+ dialog_97,
+ dialog_98,
+ dialog_99,
+ dialog_100,
+ dialog_101,
+ dialog_102,
+ dialog_103,
+ dialog_104,
+ dialog_105,
+ dialog_106,
+ dialog_107,
+ dialog_108,
+ dialog_109,
+ dialog_110,
+ dialog_111,
+ dialog_112,
+ dialog_113,
+ dialog_114,
+ dialog_115,
+ dialog_116,
+ dialog_117,
+ dialog_118,
+ dialog_119,
+ dialog_120,
+ dialog_121,
+ dialog_122,
+ dialog_123,
+ dialog_124,
+ dialog_125,
+ dialog_126,
+ dialog_127,
+ dialog_128,
+ dialog_129,
+ dialog_130,
+ dialog_131,
+ dialog_132,
+ dialog_133,
+ dialog_134,
+ dialog_135,
+ dialog_136,
+ dialog_137,
+ dialog_138,
+ dialog_139,
+ dialog_140,
+ dialog_141,
+ dialog_142,
+ dialog_143,
+ dialog_144,
+ dialog_145,
+ dialog_146,
+ dialog_147,
+ dialog_148,
+ dialog_149,
+ dialog_150,
+ dialog_151,
+ dialog_152,
+ dialog_153,
+ dialog_154,
+ dialog_155,
+ dialog_156,
+ dialog_157,
+ dialog_158,
+ dialog_159,
+ dialog_160,
+ dialog_161,
+ dialog_162,
+ dialog_163,
+ dialog_164,
+ dialog_165,
+ dialog_166,
+ dialog_167,
+ dialog_168,
+ dialog_169,
+ dialog_170,
+ dialog_171,
+ dialog_172,
+ dialog_173,
+ dialog_174,
+ dialog_175,
+ dialog_176,
+ dialog_177,
+ dialog_178,
+ dialog_179,
+ dialog_180,
+ dialog_181,
+ dialog_182,
+ dialog_183,
+ dialog_184,
+ dialog_185,
+ dialog_186,
+ dialog_187,
+ dialog_188,
+ dialog_189,
+ dialog_190,
+ dialog_191,
+ dialog_192,
+ dialog_193,
+ dialog_194,
+ dialog_195,
+ dialog_196,
+ dialog_197,
+ dialog_198,
+ dialog_199,
+ dialog_200,
+ dialog_201,
+ dialog_202,
+ dialog_203,
+ dialog_204,
+ dialog_205,
+ dialog_206,
+ dialog_207,
+ dialog_208,
+ dialog_209,
+ dialog_210,
+ dialog_211,
+ dialog_212
+};
+
+#endif
diff --git a/devtools/create_teenagent/util.cpp b/devtools/create_teenagent/util.cpp
new file mode 100644
index 0000000000..5ce8237b85
--- /dev/null
+++ b/devtools/create_teenagent/util.cpp
@@ -0,0 +1,152 @@
+/* ScummVM - Graphic Adventure Engine
+ *
+ * ScummVM is the legal property of its developers, whose names
+ * are too numerous to list here. Please refer to the COPYRIGHT
+ * file distributed with this source distribution.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ *
+ */
+
+// Disable symbol overrides so that we can use system headers.
+#define FORBIDDEN_SYMBOL_ALLOW_ALL
+
+#include "util.h"
+#include <stdarg.h>
+
+#ifdef _MSC_VER
+ #define vsnprintf _vsnprintf
+#endif
+
+void error(const char *s, ...) {
+ char buf[1024];
+ va_list va;
+
+ va_start(va, s);
+ vsnprintf(buf, 1024, s, va);
+ va_end(va);
+
+ fprintf(stderr, "ERROR: %s!\n", buf);
+
+ exit(1);
+}
+
+void warning(const char *s, ...) {
+ char buf[1024];
+ va_list va;
+
+ va_start(va, s);
+ vsnprintf(buf, 1024, s, va);
+ va_end(va);
+
+ fprintf(stderr, "WARNING: %s!\n", buf);
+}
+
+int scumm_stricmp(const char *s1, const char *s2) {
+ byte l1, l2;
+ do {
+ // Don't use ++ inside tolower, in case the macro uses its
+ // arguments more than once.
+ l1 = (byte)*s1++;
+ l1 = tolower(l1);
+ l2 = (byte)*s2++;
+ l2 = tolower(l2);
+ } while (l1 == l2 && l1 != 0);
+ return l1 - l2;
+}
+
+void debug(int level, const char *s, ...) {
+ char buf[1024];
+ va_list va;
+
+ va_start(va, s);
+ vsnprintf(buf, 1024, s, va);
+ va_end(va);
+
+ fprintf(stderr, "DEBUG: %s!\n", buf);
+}
+
+uint8 readByte(FILE *fp) {
+ return fgetc(fp);
+}
+
+uint16 readUint16BE(FILE *fp) {
+ uint16 ret = 0;
+ ret |= fgetc(fp) << 8;
+ ret |= fgetc(fp);
+ return ret;
+}
+
+uint16 readUint16LE(FILE *fp) {
+ uint16 ret = 0;
+ ret |= fgetc(fp);
+ ret |= fgetc(fp) << 8;
+ return ret;
+}
+
+uint32 readUint32BE(FILE *fp) {
+ uint32 ret = 0;
+ ret |= fgetc(fp) << 24;
+ ret |= fgetc(fp) << 16;
+ ret |= fgetc(fp) << 8;
+ ret |= fgetc(fp);
+ return ret;
+}
+
+uint32 readUint32LE(FILE *fp) {
+ uint32 ret = 0;
+ ret |= fgetc(fp);
+ ret |= fgetc(fp) << 8;
+ ret |= fgetc(fp) << 16;
+ ret |= fgetc(fp) << 24;
+ return ret;
+}
+
+void writeByte(FILE *fp, uint8 b) {
+ fwrite(&b, 1, 1, fp);
+}
+
+void writeUint16BE(FILE *fp, uint16 value) {
+ writeByte(fp, (uint8)(value >> 8));
+ writeByte(fp, (uint8)(value));
+}
+
+void writeUint16LE(FILE *fp, uint16 value) {
+ writeByte(fp, (uint8)(value));
+ writeByte(fp, (uint8)(value >> 8));
+}
+
+void writeUint32BE(FILE *fp, uint32 value) {
+ writeByte(fp, (uint8)(value >> 24));
+ writeByte(fp, (uint8)(value >> 16));
+ writeByte(fp, (uint8)(value >> 8));
+ writeByte(fp, (uint8)(value));
+}
+
+void writeUint32LE(FILE *fp, uint32 value) {
+ writeByte(fp, (uint8)(value));
+ writeByte(fp, (uint8)(value >> 8));
+ writeByte(fp, (uint8)(value >> 16));
+ writeByte(fp, (uint8)(value >> 24));
+}
+
+uint32 fileSize(FILE *fp) {
+ uint32 sz;
+ uint32 pos = ftell(fp);
+ fseek(fp, 0, SEEK_END);
+ sz = ftell(fp);
+ fseek(fp, pos, SEEK_SET);
+ return sz;
+}
diff --git a/devtools/create_teenagent/util.h b/devtools/create_teenagent/util.h
index 0d8e15cc37..a2783cca71 100644
--- a/devtools/create_teenagent/util.h
+++ b/devtools/create_teenagent/util.h
@@ -50,6 +50,7 @@ uint32 fileSize(FILE *fp);
void NORETURN_PRE error(const char *s, ...) NORETURN_POST;
void warning(const char *s, ...);
void debug(int level, const char *s, ...);
+int scumm_stricmp(const char *s1, const char *s2);
using namespace Common;
diff --git a/engines/teenagent/actor.cpp b/engines/teenagent/actor.cpp
index cb8c798fb6..d65a367309 100644
--- a/engines/teenagent/actor.cpp
+++ b/engines/teenagent/actor.cpp
@@ -22,47 +22,46 @@
#include "teenagent/actor.h"
#include "teenagent/objects.h"
#include "teenagent/resources.h"
+#include "teenagent/teenagent.h"
#include "common/random.h"
#include "common/textconsole.h"
namespace TeenAgent {
-Actor::Actor() : head_index(0), idle_type(0) {}
+Actor::Actor(TeenAgentEngine *vm) : _vm(vm), headIndex(0), idleType(0) {}
-//idle animation lists at dseg: 0x6540
-Common::Rect Actor::renderIdle(Graphics::Surface *surface, const Common::Point &position, uint8 orientation, int delta_frame, uint zoom, Common::RandomSource &rnd) {
+Common::Rect Actor::renderIdle(Graphics::Surface *surface, const Common::Point &position, uint8 orientation, int deltaFrame, uint zoom, Common::RandomSource &rnd) {
if (index == 0) {
- idle_type = rnd.getRandomNumber(2);
- debug(0, "switched to idle animation %u", idle_type);
+ idleType = rnd.getRandomNumber(2);
+ debugC(kDebugActor, "switched to idle animation %u", idleType);
}
- Resources *res = Resources::instance();
- byte *frames_idle;
+ byte *framesIdle;
do {
- frames_idle = res->dseg.ptr(res->dseg.get_word(0x6540 + idle_type * 2)) + index;
- index += delta_frame;
- if (*frames_idle == 0) {
- idle_type = rnd.getRandomNumber(2);
- debug(0, "switched to idle animation %u[loop]", idle_type);
+ framesIdle = _vm->res->dseg.ptr(_vm->res->dseg.get_word(dsAddr_idleAnimationListPtr + idleType * 2)) + index;
+ index += deltaFrame;
+ if (*framesIdle == 0) {
+ idleType = rnd.getRandomNumber(2);
+ debugC(kDebugActor, "switched to idle animation %u[loop]", idleType);
index = 3; //put 4th frame (base 1) if idle animation loops
}
- } while (*frames_idle == 0);
+ } while (*framesIdle == 0);
bool mirror = orientation == kActorLeft;
- Surface *s = frames + *frames_idle - 1;
+ Surface *s = frames + *framesIdle - 1;
- ///\todo remove copy-paste here and below
+ //TODO: remove copy-paste here and below
int xp = position.x - s->w * zoom / 512 - s->x, yp = position.y - 62 * zoom / 256 - s->y; //hardcoded in original game
return s->render(surface, xp, yp, mirror, Common::Rect(), zoom);
}
-Common::Rect Actor::render(Graphics::Surface *surface, const Common::Point &position, uint8 orientation, int delta_frame, bool render_head, uint zoom) {
- const uint8 frames_left_right[] = {0, 1, 2, 3, 4, 5, /* step */ 6, 7, 8, 9};
- const uint8 frames_up[] = {18, 19, 20, 21, 22, 23, 24, 25, };
- const uint8 frames_down[] = {10, 11, 12, 13, 14, 15, 16, 17, };
+Common::Rect Actor::render(Graphics::Surface *surface, const Common::Point &position, uint8 orientation, int deltaFrame, bool renderHead, uint zoom) {
+ const uint8 framesLeftRight[] = {0, 1, 2, 3, 4, 5, /* step */ 6, 7, 8, 9};
+ const uint8 framesUp[] = {18, 19, 20, 21, 22, 23, 24, 25, };
+ const uint8 framesDown[] = {10, 11, 12, 13, 14, 15, 16, 17, };
- const uint8 frames_head_left_right[] = {
+ const uint8 framesHeadLeftRight[] = {
0x27, 0x1a, 0x1b,
0x27, 0x1c, 0x1d,
0x27, 0x1a,
@@ -73,14 +72,14 @@ Common::Rect Actor::render(Graphics::Surface *surface, const Common::Point &posi
0x27, 0x1a,
};
- const uint8 frames_head_up[] = {
+ const uint8 framesHeadUp[] = {
0x29, 0x25, 0x29, 0x29,
0x26, 0x29, 0x26, 0x29,
0x29, 0x25, 0x29, 0x25,
0x29, 0x29, 0x29, 0x25,
0x25, 0x29, 0x29, 0x26
};
- const uint8 frames_head_down[] = {
+ const uint8 framesHeadDown[] = {
0x20, 0x21, 0x22, 0x23,
0x28, 0x24, 0x28, 0x28,
0x24, 0x28, 0x20, 0x21,
@@ -91,45 +90,45 @@ Common::Rect Actor::render(Graphics::Surface *surface, const Common::Point &posi
Surface *s = NULL, *head = NULL;
bool mirror = orientation == kActorLeft;
- index += delta_frame;
+ index += deltaFrame;
switch (orientation) {
case kActorLeft:
case kActorRight:
- if (render_head) {
- if (head_index >= ARRAYSIZE(frames_head_left_right))
- head_index = 0;
- head = frames + frames_head_left_right[head_index];
- ++head_index;
+ if (renderHead) {
+ if (headIndex >= ARRAYSIZE(framesHeadLeftRight))
+ headIndex = 0;
+ head = frames + framesHeadLeftRight[headIndex];
+ ++headIndex;
}
- if (index >= ARRAYSIZE(frames_left_right))
+ if (index >= ARRAYSIZE(framesLeftRight))
index = 1;
- s = frames + frames_left_right[index];
+ s = frames + framesLeftRight[index];
break;
case kActorUp:
- if (render_head) {
- if (head_index >= ARRAYSIZE(frames_head_up))
- head_index = 0;
- head = frames + frames_head_up[head_index];
- ++head_index;
+ if (renderHead) {
+ if (headIndex >= ARRAYSIZE(framesHeadUp))
+ headIndex = 0;
+ head = frames + framesHeadUp[headIndex];
+ ++headIndex;
}
- if (index >= ARRAYSIZE(frames_up))
+ if (index >= ARRAYSIZE(framesUp))
index = 1;
- s = frames + frames_up[index];
+ s = frames + framesUp[index];
break;
case kActorDown:
- if (render_head) {
- if (head_index >= ARRAYSIZE(frames_head_down))
- head_index = 0;
- head = frames + frames_head_down[head_index];
- ++head_index;
+ if (renderHead) {
+ if (headIndex >= ARRAYSIZE(framesHeadDown))
+ headIndex = 0;
+ head = frames + framesHeadDown[headIndex];
+ ++headIndex;
}
- if (index >= ARRAYSIZE(frames_down))
+ if (index >= ARRAYSIZE(framesDown))
index = 1;
- s = frames + frames_down[index];
+ s = frames + framesDown[index];
break;
default:
return Common::Rect();
diff --git a/engines/teenagent/actor.h b/engines/teenagent/actor.h
index 9a7d395547..942397c636 100644
--- a/engines/teenagent/actor.h
+++ b/engines/teenagent/actor.h
@@ -28,13 +28,20 @@ class RandomSource;
namespace TeenAgent {
+class TeenAgentEngine;
+
class Actor : public Animation {
- uint head_index;
- uint idle_type;
+private:
+ TeenAgentEngine *_vm;
+
+ uint headIndex;
+ uint idleType;
+
public:
- Actor();
- Common::Rect render(Graphics::Surface *surface, const Common::Point &position, uint8 orientation, int delta_frame, bool head, uint zoom);
- Common::Rect renderIdle(Graphics::Surface *surface, const Common::Point &position, uint8 orientation, int delta_frame, uint zoom, Common::RandomSource &rnd);
+ Actor(TeenAgentEngine *vm);
+
+ Common::Rect render(Graphics::Surface *surface, const Common::Point &position, uint8 orientation, int deltaFrame, bool renderHead, uint zoom);
+ Common::Rect renderIdle(Graphics::Surface *surface, const Common::Point &position, uint8 orientation, int deltaFrame, uint zoom, Common::RandomSource &rnd);
};
} // End of namespace TeenAgent
diff --git a/engines/teenagent/animation.cpp b/engines/teenagent/animation.cpp
index 56107b67ca..effafcaac6 100644
--- a/engines/teenagent/animation.cpp
+++ b/engines/teenagent/animation.cpp
@@ -19,24 +19,30 @@
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
*/
+#include "teenagent/teenagent.h"
#include "teenagent/animation.h"
+
#include "common/endian.h"
#include "common/textconsole.h"
namespace TeenAgent {
-Animation::Animation() : id(0), x(0), y(0), loop(true), paused(false), ignore(false), data(0), data_size(0), frames_count(0), frames(0), index(0) {
+Animation::Animation() : id(0), x(0), y(0), loop(true), paused(false), ignore(false), data(0), dataSize(0), framesCount(0), frames(0), index(0) {
+}
+
+Animation::~Animation() {
+ free();
}
Surface *Animation::firstFrame() {
- if (frames == NULL || frames_count == 0)
+ if (frames == NULL || framesCount == 0)
return NULL;
Surface *r = frames;
uint16 pos = READ_LE_UINT16(data + 1);
if (pos != 0) {
- r->x = pos % 320;
- r->y = pos / 320;
+ r->x = pos % kScreenWidth;
+ r->y = pos / kScreenWidth;
}
return r;
}
@@ -45,38 +51,38 @@ Surface *Animation::currentFrame(int dt) {
if (paused)
return firstFrame();
- if (frames == NULL || frames_count == 0)
+ if (frames == NULL || framesCount == 0)
return NULL;
Surface *r;
if (data != NULL) {
uint32 frame = 3 * index;
- //debug(0, "%u/%u", index, data_size / 3);
+ debugC(2, kDebugAnimation, "%u/%u", index, dataSize / 3);
index += dt;
- if (!loop && index >= data_size / 3) {
+ if (!loop && index >= dataSize / 3) {
return NULL;
}
- if (data[frame] - 1 >= frames_count) {
- warning("invalid frame %u(0x%x) (max %u) index %u, mod %u", frame, frame, frames_count, index - 1, data_size / 3);
+ if (data[frame] - 1 >= framesCount) {
+ warning("invalid frame %u(0x%x) (max %u) index %u, mod %u", frame, frame, framesCount, index - 1, dataSize / 3);
return NULL;
}
r = frames + data[frame] - 1;
uint16 pos = READ_LE_UINT16(data + frame + 1);
- index %= (data_size / 3);
+ index %= (dataSize / 3);
if (pos != 0) {
- x = r->x = pos % 320;
- y = r->y = pos / 320;
+ x = r->x = pos % kScreenWidth;
+ y = r->y = pos / kScreenWidth;
}
} else {
- //debug(0, "index %u", index);
+ debugC(2, kDebugAnimation, "index %u", index);
r = frames + index;
index += dt;
- index %= frames_count;
+ index %= framesCount;
}
return r;
@@ -97,9 +103,9 @@ void Animation::free() {
delete[] data;
data = NULL;
- data_size = 0;
+ dataSize = 0;
- frames_count = 0;
+ framesCount = 0;
delete[] frames;
frames = NULL;
@@ -107,44 +113,42 @@ void Animation::free() {
}
void Animation::load(Common::SeekableReadStream &s, Type type) {
- //fixme: do not reload the same animation each time
+ //FIXME: do not reload the same animation each time
free();
if (s.size() <= 1) {
- debug(1, "empty animation");
+ debugC(1, kDebugAnimation, "empty animation");
return;
}
- //uint16 pos = 0;
+ uint16 pos = 0;
int off = 0;
switch (type) {
case kTypeLan:
- data_size = s.readUint16LE();
+ dataSize = s.readUint16LE();
if (s.eos()) {
- debug(1, "empty animation");
+ debugC(1, kDebugAnimation, "empty animation");
return;
}
- data_size -= 2;
- data = new byte[data_size];
- data_size = s.read(data, data_size);
- /* for (int i = 0; i < data_size; ++i) {
- debug(0, "%02x ", data[i]);
- }
- debug(0, ", %u frames", data_size / 3);
- */
- frames_count = s.readByte();
- debug(1, "%u physical frames", frames_count);
- if (frames_count == 0)
+ dataSize -= 2;
+ data = new byte[dataSize];
+ dataSize = s.read(data, dataSize);
+ for (int i = 0; i < dataSize; ++i)
+ debugC(2, kDebugAnimation, "%02x ", data[i]);
+ debugC(2, kDebugAnimation, ", %u frames", dataSize / 3);
+ framesCount = s.readByte();
+ debugC(1, kDebugAnimation, "%u physical frames", framesCount);
+ if (framesCount == 0)
return;
- frames = new Surface[frames_count];
+ frames = new Surface[framesCount];
- s.skip(frames_count * 2 - 2); //sizes
- /*pos = */s.readUint16LE();
- //debug(0, "pos?: %04x", pos);
+ s.skip(framesCount * 2 - 2); //sizes
+ pos = s.readUint16LE();
+ debugC(3, kDebugAnimation, "pos?: 0x%04x", pos);
- for (uint16 i = 0; i < frames_count; ++i) {
+ for (uint16 i = 0; i < framesCount; ++i) {
frames[i].load(s, Surface::kTypeLan);
frames[i].x = 0;
frames[i].y = 0;
@@ -152,43 +156,43 @@ void Animation::load(Common::SeekableReadStream &s, Type type) {
break;
case kTypeInventory: {
- data_size = 3 * s.readByte();
- data = new byte[data_size];
+ dataSize = 3 * s.readByte();
+ data = new byte[dataSize];
- frames_count = 0;
- for (byte i = 0; i < data_size / 3; ++i) {
+ framesCount = 0;
+ for (byte i = 0; i < dataSize / 3; ++i) {
int idx = i * 3;
- /* byte unk = */
- s.readByte();
+ byte unk = s.readByte();
+ debugC(3, kDebugAnimation, "unk?: 0x%02x", unk);
data[idx] = s.readByte();
if (data[idx] == 0)
data[idx] = 1; //fixme: investigate
- if (data[idx] > frames_count)
- frames_count = data[idx];
+ if (data[idx] > framesCount)
+ framesCount = data[idx];
data[idx + 1] = 0;
data[idx + 2] = 0;
- //debug(0, "frame #%u", data[idx]);
+ debugC(2, kDebugAnimation, "frame #%u", data[idx]);
}
- frames = new Surface[frames_count];
+ frames = new Surface[framesCount];
- for (uint16 i = 0; i < frames_count; ++i) {
+ for (uint16 i = 0; i < framesCount; ++i) {
frames[i].load(s, Surface::kTypeOns);
}
}
break;
case kTypeVaria:
- frames_count = s.readByte();
- debug(1, "loading varia resource, %u physical frames", frames_count);
+ framesCount = s.readByte();
+ debugC(1, kDebugAnimation, "loading varia resource, %u physical frames", framesCount);
uint16 offset[255];
- for (byte i = 0; i < frames_count; ++i) {
+ for (byte i = 0; i < framesCount; ++i) {
offset[i] = s.readUint16LE();
- //debug(0, "%u: %04x", i, offset[i]);
+ debugC(0, kDebugAnimation, "%u: %04x", i, offset[i]);
}
- frames = new Surface[frames_count];
- for (uint16 i = 0; i < frames_count; ++i) {
- //debug(0, "%04x", offset[i]);
+ frames = new Surface[framesCount];
+ for (uint16 i = 0; i < framesCount; ++i) {
+ debugC(0, kDebugAnimation, "%04x", offset[i]);
s.seek(offset[i] + off);
frames[i].load(s, Surface::kTypeOns);
}
@@ -196,11 +200,7 @@ void Animation::load(Common::SeekableReadStream &s, Type type) {
break;
}
- debug(0, "%u frames", data_size / 3);
-}
-
-Animation::~Animation() {
- free();
+ debugC(2, kDebugAnimation, "%u frames", dataSize / 3);
}
} // End of namespace TeenAgent
diff --git a/engines/teenagent/animation.h b/engines/teenagent/animation.h
index 6942cc74eb..9be21a4c3d 100644
--- a/engines/teenagent/animation.h
+++ b/engines/teenagent/animation.h
@@ -35,6 +35,8 @@ public:
enum Type {kTypeLan, kTypeVaria, kTypeInventory};
Animation();
+ ~Animation();
+
void load(Common::SeekableReadStream &, Type type = kTypeLan);
void free();
@@ -43,8 +45,6 @@ public:
uint16 currentIndex() const { return index; }
void resetIndex() { index = 0; }
- ~Animation();
-
bool empty() const { return frames == NULL; }
void restart();
@@ -53,9 +53,9 @@ public:
protected:
byte *data;
- uint16 data_size;
+ uint16 dataSize;
- uint16 frames_count;
+ uint16 framesCount;
Surface *frames;
uint16 index;
};
diff --git a/engines/teenagent/callbacks.cpp b/engines/teenagent/callbacks.cpp
index 934727a478..2de81abb37 100644
--- a/engines/teenagent/callbacks.cpp
+++ b/engines/teenagent/callbacks.cpp
@@ -19,8 +19,9 @@
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
*/
-#include "teenagent/scene.h"
#include "teenagent/teenagent.h"
+#include "teenagent/scene.h"
+#include "teenagent/inventory.h"
#include "teenagent/resources.h"
#include "teenagent/dialog.h"
@@ -33,159 +34,536 @@ namespace TeenAgent {
#define GET_FLAG(addr) (res->dseg.get_byte(addr))
#define INC_FLAG(addr) (++*res->dseg.ptr(addr))
-void TeenAgentEngine::rejectMessage() {
- Resources *res = Resources::instance();
- //random reject message:
- uint i = _rnd.getRandomNumber(3);
- //debug(0, "reject message: %s", (const char *)res->dseg.ptr(res->dseg.get_word(0x339e + 2 * i)));
- displayMessage(res->dseg.get_word(0x339e + 2 * i));
+void TeenAgentEngine::fnIntro() {
+ hideActor();
+
+ loadScene(41, 139, 156, 3);
+ playSound(41, 12);
+ playAnimation(912, 1);
+ setOns(0, 108);
+ playSound(62, 8);
+ playSound(58, 40);
+ playAnimation(913, 1);
+ setOns(1, 109);
+ setLan(2, 1);
+ dialog->show(192, scene, 914, 915, textColorGoldDriver, textColorBankGuard, 2, 1);
+ displayCredits(dsAddr_introCredits1);
+
+ loadScene(42, 139, 156, 3);
+ playSound(15, 20);
+ playAnimation(916, 1);
+ playSound(40, 18);
+ playSound(40, 22);
+ for (byte i = 27; i < 37; i += 2)
+ playSound(40, i);
+ playSound(29, 44);
+ playAnimation(918, 0, true);
+ playAnimation(917, 1, true);
+ waitAnimation();
+ displayCredits(dsAddr_introCredits2);
+
+ loadScene(40, 139, 156, 3);
+ playMusic(3);
+ dialog->show(193, scene, 920, 924, textColorRGBBoss, textColorFortuneTeller, 1, 2);
+ playSound(26, 50);
+ playAnimation(925, 0, true);
+ playAnimation(926, 1, true);
+ waitAnimation();
+ dialog->show(194, scene, 927, 920, textColorFortuneTeller, textColorRGBBoss, 2, 1);
+ displayCredits(dsAddr_introCredits3);
+
+ loadScene(39, 139, 156, 3);
+ playMusic(11);
+ playSound(81, 2);
+ playSound(81, 8);
+ playSound(81, 11);
+ playSound(81, 14);
+ playSound(81, 16);
+ playSound(81, 18);
+ playSound(81, 20);
+ playSound(81, 21);
+ playAnimation(928, 1);
+ setOns(0, 112);
+ dialog->showMono(195, scene, 929, textColorMark, 1);
+ showActor();
+ moveTo(319, 150, 1, true);
+ moveTo(63, 150, 1);
+ displayAsyncMessage(dsAddr_HeyWtmQMsg, 4, 62, 18, 36); // hey, what's the matter?
+ playAnimation(851, 0, true);
+ playActorAnimation(930, true);
+ waitAnimation();
+ playSound(24, 11);
+ playActorAnimation(931);
+
+ displayCredits(dsAddr_introCredits4);
+
+ playMusic(3);
+ loadScene(40, 50, 186, 1);
+ setOns(0, 113);
+ dialog->show(196, scene, 919, 0, textColorRGBBoss, textColorMark, 1, 0);
+ moveTo(196, 186, 1);
+ dialog->show(197, scene, 0, 920, textColorMark, textColorRGBBoss, 0, 1);
+ playActorAnimation(932);
+ dialog->show(198, scene, 0, 920, textColorMark, textColorRGBBoss, 0, 1);
+ playActorAnimation(932);
+ dialog->show(199, scene, 0, 920, textColorMark, textColorRGBBoss, 0, 1);
+ playActorAnimation(932);
+ dialog->show(200, scene, 0, 922, textColorMark, textColorRGBBoss, 0, 1);
+ playActorAnimation(933);
+ dialog->show(201, scene, 0, 920, textColorMark, textColorRGBBoss, 0, 1);
+ moveTo(174, 186, 1);
+ playAnimation(851, 0, true);
+ playActorAnimation(934, true);
+ waitAnimation();
+ loadScene(10, 136, 153, 3);
}
+void TeenAgentEngine::fnPoleClimbFail() {
+ moveTo(86, 195, 1, true);
+ playActorAnimation(868);
+}
-bool TeenAgentEngine::processCallback(uint16 addr) {
- if (addr == 0)
- return false;
+void TeenAgentEngine::fnGotAnchor() {
+ SET_FLAG(dsAddr_timedCallbackState, 0);
+ setTimerCallback(0, 0);
+ scene->getActorAnimation()->free();
+ playSound(64, 7);
+ playActorAnimation(618);
+ disableObject(5);
+ setOns(0, 0);
+ playSound(31, 1);
+ playActorAnimation(619);
+ fnGetOutOfLake();
+ inventory->add(kInvItemAnchor);
+ displayMessage(dsAddr_hookedAnchorMsg); // "I was really hooked on this anchor!"
+}
- Resources *res = Resources::instance();
- debug(0, "processCallback(%04x)", addr);
- byte *code = res->cseg.ptr(addr);
-
- //try trivial callbacks first
- if (code[0] == 0xbb && code[3] == 0xe8 && code[6] == 0xc3) {
- //call display_message, r
- uint16 msg = READ_LE_UINT16(code + 1);
- uint16 func = 6 + addr + READ_LE_UINT16(code + 4);
- debug(0, "call %04x", func);
- //debug(0, "trivial callback, showing message %s", (const char *)res->dseg.ptr(addr));
- switch (func) {
- case 0xa055:
- displayMessage(msg);
- return true;
- }
+void TeenAgentEngine::fnGetOutOfLake() {
+ loadScene(15, 156, 180, 3);
+ playSound(5, 5);
+ playSound(38, 14);
+ playSound(38, 20);
+ playSound(5, 25);
+ playActorAnimation(616);
+}
+
+void TeenAgentEngine::fnGuardDrinking() {
+ SET_FLAG(dsAddr_timedCallbackState, 0);
+ setTimerCallback(0, 0);
+ scene->getAnimation(0)->free();
+ SET_FLAG(dsAddr_scaredGuardAlreadyFlag, 1);
+
+ displayAsyncMessage(dsAddr_BooMsg, 300, 130, 1, 5); // "Booo!"
+ setOns(0, 16);
+ enableObject(2);
+
+ playSound(17, 5);
+ playAnimation(545, 0);
+
+ dialog->show(5, scene, 0, 546, textColorMark, textColorMansionGuard, 0, 1);
+ SET_FLAG(dsAddr_spokenWithMansionGuardFlag, 1);
+ SET_FLAG(dsAddr_haveNotSpokenWithMansionGuardFlag, 0);
+}
+
+void TeenAgentEngine::fnEgoDefaultPosition() {
+ if (scene->getPosition().y <= 149)
+ moveTo(94, 115, 4);
+ else
+ moveTo(51, 149, 4);
+}
+
+void TeenAgentEngine::fnEnterCave() {
+ loadScene(24, 230, 170, 1);
+ playSound(52, 3);
+ playSound(52, 7);
+ playSound(52, 11);
+ playSound(52, 14);
+ playSound(52, 18);
+ playSound(52, 21);
+ playSound(52, 25);
+ playActorAnimation(601);
+ moveTo(230, 179, 3);
+ if (!CHECK_FLAG(dsAddr_lightOnFlag, 1))
+ displayMessage(dsAddr_kindaDarkMsg); // "It's kinda dark here"
+}
+
+void TeenAgentEngine::fnEgoScaredBySpider() {
+ if (CHECK_FLAG(dsAddr_egoAlreadyScaredBySpiderFlag, 1)) {
+ fnMoveToLadderAndLeaveCellar();
+ dialog->showMark(75, scene);
+ } else {
+ dialog->showMark(73, scene);
+ fnMoveToLadderAndLeaveCellar();
+ wait(100);
+ dialog->showMark(74, scene);
+ SET_FLAG(dsAddr_egoAlreadyScaredBySpiderFlag, 1);
}
+}
- if (code[0] == 0xe8 && code[3] == 0xc3) {
- uint func = 3 + addr + READ_LE_UINT16(code + 1);
- debug(0, "call %04x and return", func);
- if (func == 0xa4d6) {
- rejectMessage();
+void TeenAgentEngine::fnMoveToLadderAndLeaveCellar() {
+ Object *objTemp = scene->getObject(3);
+ moveTo(objTemp);
+ fnLeaveCellar();
+ moveTo(48, 190, 3);
+}
+
+void TeenAgentEngine::fnLeaveCellar() {
+ playSound(52, 10);
+ playSound(52, 14);
+ playSound(52, 18);
+ playSound(52, 21);
+ playSound(52, 25);
+ playSound(52, 28);
+ playSound(52, 32);
+ playActorAnimation(600);
+ loadScene(21, 297, 178, 3);
+}
+
+void TeenAgentEngine::fnPutRockInHole() {
+ if (CHECK_FLAG(dsAddr_timedCallbackState, 0)) {
+ playSound(5, 2);
+ playSound(15, 12);
+ playActorAnimation(638);
+ inventory->remove(kInvItemMouse);
+ setTimerCallback(csAddr_mouseOutOfHoleTimeout, 100);
+ SET_FLAG(dsAddr_timedCallbackState, 1);
+ } else if (CHECK_FLAG(dsAddr_timedCallbackState, 1)) {
+ playSound(5, 2);
+ playSound(52, 13);
+ playActorAnimation(648);
+ setOns(1, 46);
+ inventory->remove(kInvItemRock);
+ setTimerCallback(csAddr_mouseOutOfHoleTimeout, 100);
+ SET_FLAG(dsAddr_timedCallbackState, 2);
+ } else if (CHECK_FLAG(dsAddr_timedCallbackState, 2)) {
+ playActorAnimation(649);
+ setOns(1, 47);
+ wait(300);
+ for (byte i = 1; i <= 37; i += 4)
+ playSound(68, i);
+ playAnimation(639, 2);
+ setOns(0, 42);
+ enableObject(6);
+ disableObject(5);
+ SET_FLAG(dsAddr_mouseGotGoldNuggetFlag, 1);
+ SET_FLAG(dsAddr_timedCallbackState, 0);
+ setTimerCallback(0, 0);
+ }
+}
+
+void TeenAgentEngine::fnEgoBottomRightTurn() {
+ Common::Point p = scene->getPosition();
+ if (p.x == 208 && p.y == 151)
+ moveRel(0, 0, 2);
+ else
+ moveTo(208, 151, 1);
+}
+
+bool TeenAgentEngine::fnCheckingDrawers() {
+ uint16 v = GET_FLAG(dsAddr_drawerPuzzleBookValue) - 1;
+ if (GET_FLAG(dsAddr_blueDrawerOpenFlag + v) != 1)
+ return false;
+ else {
+ uint16 sum = 0;
+ for (uint i = 0; i < 6; ++i)
+ sum += GET_FLAG(dsAddr_blueDrawerOpenFlag + i);
+ if (sum != 1)
+ return false;
+ else
return true;
- }
}
+}
- if (code[0] == 0xc7 && code[1] == 0x06 && code[2] == 0xf3 && code[3] == 0xb4 &&
- code[6] == 0xb8 && code[9] == 0xbb && code[12] == 0xbf &&
- code[22] == 0xe8 && code[25] == 0xc3) {
- loadScene(code[4], Common::Point(
- (READ_LE_UINT16(code + 7) + READ_LE_UINT16(code + 13) + 1) / 2 ,
- READ_LE_UINT16(code + 10)));
- scene->setOrientation(code[21]);
+void TeenAgentEngine::fnDrawerOpenMessage() {
+ if (CHECK_FLAG(dsAddr_drawerPuzzleHintGivenFlag, 1))
+ displayMessage(dsAddr_drawerOpenMsg); // "I cannot open the drawer if the next one is open!"
+ else {
+ displayMessage(dsAddr_strangeDrawerMsg); // "Strange, but the drawer is stuck if the next drawer is open"
+ displayMessage(dsAddr_notOrdinaryDrawersMsg); // "Maybe these are not just ordinary drawers!"
+ SET_FLAG(dsAddr_drawerPuzzleHintGivenFlag, 1);
+ }
+}
+
+bool TeenAgentEngine::fnRobotSafeAlreadyUnlockedCheck() {
+ if (CHECK_FLAG(dsAddr_MansionRobotSafeUnlockedFlag, 1)) {
return true;
+ } else {
+ displayMessage(dsAddr_noReasonMsg); // "There's no reason to do it"
+ return false;
}
+}
- switch (addr) {
+void TeenAgentEngine::fnRobotSafeUnlockCheck() {
+ if (CHECK_FLAG(dsAddr_MansionRobotSafeVoiceTestPassedFlag, 1) &&
+ CHECK_FLAG(dsAddr_MansionRobotSafeScentTestPassedFlag, 1) &&
+ CHECK_FLAG(dsAddr_MansionRobotSafeViewTestPassedFlag, 1)) {
+ waitLanAnimationFrame(1, 1);
+ playSound(89, 2);
+ playActorAnimation(731);
+ setOns(0, 70);
+ setLan(1, 0);
+ disableObject(1);
+ enableObject(2);
+ enableObject(3);
+ }
+}
- case 0x024c: //intro
- hideActor();
+bool TeenAgentEngine::fnMansionIntrusionAttempt() {
+ wait(50);
+ byte attempts = res->dseg.get_byte(dsAddr_mansionEntryCount) + 1;
+ res->dseg.set_byte(dsAddr_mansionEntryCount, attempts);
+ debugC(0, kDebugCallbacks, "mansion intrusion attempt #%u", attempts);
+ if (attempts >= 7)
+ return false;
+ else {
+ byte id = scene->getId();
- loadScene(41, 139, 156, 3);
- playSound(41, 12);
- playAnimation(912, 1);
- setOns(0, 108);
- playSound(62, 8);
- playSound(58, 40);
- playAnimation(913, 1);
- setOns(1, 109);
- setLan(2, 1);
- Dialog::show(scene, 0x748e, 914, 915, 0xe7, 0xd7, 2, 1);
- displayCredits(0xe3c2);
-
- loadScene(42, 139, 156, 3);
- playSound(15, 20);
- playAnimation(916, 1);
- playSound(40, 18);
- playSound(40, 22);
- for (byte i = 27; i < 37; i += 2)
- playSound(40, i);
- playSound(29, 44);
- playAnimation(918, 0, true);
- playAnimation(917, 1, true);
- waitAnimation();
- displayCredits(0xe3e6);
+ playMusic(11);
+ displayCutsceneMessage(dsAddr_cutsceneMsg2, 84, 95); // "Meanwhile in the mansion"
+ switch (attempts) {
+ case 2:
+ fnSecondMansionIntrusion();
+ break;
+ case 3:
+ fnThirdMansionIntrusion();
+ break;
+ case 4:
+ fnFourthMansionIntrusion();
+ break;
+ case 5:
+ fnFifthMansionIntrusion();
+ break;
+ case 6:
+ fnSixthMansionIntrusion();
+ break;
+ default:
+ error("mansion intrusion attempts out of range!");
+ break;
+ }
+ playMusic(6);
+ if (getFlag(dsAddr_johnNotyOutsideMansionDoorFlag) != 1 || attempts != 6)
+ loadScene(id, scene->getPosition());
+ return true;
+ }
+}
- loadScene(40, 139, 156, 3);
- playMusic(3);
- Dialog::show(scene, 0x750d, 920, 924, 0xe7, 0xeb, 1, 2); //as i told you, our organization...
- playSound(26, 50);
- playAnimation(925, 0, true);
- playAnimation(926, 1, true);
- waitAnimation();
- Dialog::show(scene, 0x78a6, 927, 920, 0xeb, 0xe7, 2, 1);
- displayCredits(0xe3ff);
+void TeenAgentEngine::fnSecondMansionIntrusion() {
+ hideActor();
+ loadScene(34, scene->getPosition());
+ playAnimation(986, 0, true);
+ playAnimation(987, 1, true);
+ waitAnimation();
+ dialog->show(178, scene, 988, 989, textColorMansionGuard, textColorJohnNoty, 1, 2);
+ playAnimation(990, 0, true);
+ playAnimation(991, 1, true);
+ waitAnimation();
+ showActor();
+}
- loadScene(39, 139, 156, 3);
- playMusic(11);
- playSound(81, 2);
- playSound(81, 8);
- playSound(81, 11);
- playSound(81, 14);
- playSound(81, 16);
- playSound(81, 18);
- playSound(81, 20);
- playSound(81, 21);
- playAnimation(928, 1);
- setOns(0, 112);
- Dialog::showMono(scene, 0x78e1, 929, 0xd1, 1); //he's coming
- showActor();
- moveTo(319, 150, 1, true);
- moveTo(63, 150, 1);
- displayAsyncMessage(0x5da8, 19844, 18, 36); //hey, what's the matter?
- playAnimation(851, 0, true);
- playActorAnimation(930, true);
- waitAnimation();
- playSound(24, 11);
- playActorAnimation(931);
+void TeenAgentEngine::fnThirdMansionIntrusion() {
+ hideActor();
+ loadScene(30, scene->getPosition());
+ playAnimation(887, 1);
+ playAnimation(888, 2, true, true, true);
+ //waitAnimation();
+ dialog->showMono(179, scene, 889, textColorMansionGuard, 2);
+ playSound(26, 3);
+ playAnimation(891, 1, true, true, true);
+ playAnimation(892, 2);
+ waitAnimation();
+ dialog->show(180, scene, 890, 889, textColorJohnNoty, textColorMansionGuard, 3, 2);
+ showActor();
+}
- displayCredits(0xe42f);
+void TeenAgentEngine::fnFourthMansionIntrusion() {
+ hideActor();
+ loadScene(32, scene->getPosition());
+ playAnimation(894, 1, true, true, true);
+ playAnimation(893, 2, true);
+ waitAnimation();
+ dialog->showMono(181, scene, 895, textColorMansionGuard, 3);
+ playSound(75, 9);
+ playAnimation(898, 1, true);
+ playAnimation(897, 2, true);
+ dialog->show(182, scene, 896, 895, textColorJohnNoty, textColorMansionGuard, 2, 3);
+ showActor();
+}
- playMusic(3);
- loadScene(40, 50, 186, 1);
- setOns(0, 113);
- Dialog::show(scene, 0x78f1, 919, 0, 0xe7, 0xd1, 1, 0);
- moveTo(196, 186, 1);
- Dialog::show(scene, 0x7958, 0, 920, 0xd1, 0xe7, 0, 1);
- playActorAnimation(932);
- Dialog::show(scene, 0x7e07, 0, 920, 0xd1, 0xe7, 0, 1);
- playActorAnimation(932);
- Dialog::show(scene, 0x7e1a, 0, 920, 0xd1, 0xe7, 0, 1);
- playActorAnimation(932);
- Dialog::show(scene, 0x7e2c, 0, 922, 0xd1, 0xe7, 0, 1);
- playActorAnimation(933);
- Dialog::show(scene, 0x7e70, 0, 920, 0xd1, 0xe7, 0, 1);
- moveTo(174, 186, 1);
- playAnimation(851, 0, true);
- playActorAnimation(934, true);
- waitAnimation();
- loadScene(10, 136, 153, 3);
+void TeenAgentEngine::fnFifthMansionIntrusion() {
+ hideActor();
+ loadScene(29, scene->getPosition());
+ playActorAnimation(901, true);
+ playAnimation(900, 1, true);
+ waitAnimation();
+ dialog->show(183, scene, 903, 902, textColorJohnNoty, textColorMansionGuard, 2, 3);
+ for (byte i = 3; i <= 9; i += 2)
+ playSound(56, i);
+
+ playActorAnimation(905, true);
+ playAnimation(904, 1, true);
+ dialog->show(184, scene, 903, 902, textColorJohnNoty, textColorMansionGuard, 2, 3);
+ showActor();
+}
+
+void TeenAgentEngine::fnSixthMansionIntrusion() {
+ hideActor();
+ loadScene(35, scene->getPosition());
+ playAnimation(907, 2, true);
+ playAnimation(906, 3, true);
+ waitAnimation();
+ dialog->show(185, scene, 908, 909, textColorMansionGuard, textColorJohnNoty, 2, 3);
+ dialog->show(186, scene, 910, 908, textColorJohnNoty, textColorMansionGuard, 3, 2);
+ loadScene(11, scene->getPosition());
+ showActor();
+ setOns(3, 51);
+ playAnimation(911, 1);
+ playAnimation(899, 1);
+ setFlag(dsAddr_johnNotyOutsideMansionDoorFlag, 1);
+ reloadLan();
+ wait(200);
+ enableObject(8);
+ setLan(2, 8);
+}
+void TeenAgentEngine::fnTooDark() {
+ displayMessage(dsAddr_TooDarkMsg); // "It's too dark to see clearly"
+}
+
+bool TeenAgentEngine::fnIsCookGone() {
+ if (CHECK_FLAG(dsAddr_MansionCookGoneFlag, 1)) {
return true;
+ } else {
+ displayMessage(dsAddr_cookAroundMsg); // "I can't do anything with this cook around"
+ return false;
+ }
+}
+
+void TeenAgentEngine::fnEgoSuspiciousPosition() {
+ Common::Point p = scene->getPosition();
+ if (p.x != 203 && p.y != 171)
+ moveTo(203, 169, 2);
+ else
+ moveTo(203, 169, 1);
+}
+
+void TeenAgentEngine::fnGivingFlowerToOldLady() {
+ playSound(5, 2);
+ dialog->show(37, scene, 0, 523, textColorMark, textColorOldLady, 0, 1);
+ playActorAnimation(537, true);
+ playAnimation(538, 0, true);
+ waitAnimation();
+ wait(100);
+ dialog->show(38, scene, 0, 523, textColorMark, textColorOldLady, 0, 1);
+}
+
+void TeenAgentEngine::fnGiveAnotherFlowerToOldLady() {
+ dialog->pop(scene, dsAddr_dialogStackOldLady, 0, 523, textColorMark, textColorOldLady, 0, 1);
+}
+
+void TeenAgentEngine::fnGivingFlowerToAnne() {
+ dialog->show(53, scene, 0, 524, textColorMark, textColorAnne, 0, 2);
+ playSound(5, 10);
+ playActorAnimation(540, true);
+ playAnimation(539, 1, true);
+ waitAnimation();
+ wait(100);
+ dialog->show(54, scene, 0, 524, textColorMark, textColorAnne, 0, 2);
+ wait(50);
+ dialog->show(55, scene, 0, 524, textColorMark, textColorAnne, 0, 2);
+ dialog->show(56, scene, 0, 524, textColorMark, textColorAnne, 0, 2);
+ wait(50);
+ moveRel(0, 1, 0);
+ dialog->show(57, scene, 0, 524, textColorMark, textColorAnne, 0, 2);
+ moveRel(0, -1, 0);
+ wait(50);
+}
+
+void TeenAgentEngine::fnGiveAnotherFlowerToAnne() {
+ dialog->pop(scene, dsAddr_dialogStackAnotherFlowerToAnne, 0, 524, textColorMark, textColorAnne, 0, 2);
+}
+
+void TeenAgentEngine::rejectMessage() {
+ uint i = _rnd.getRandomNumber(3);
+ switch (i) {
+ case 0:
+ displayMessage(dsAddr_rejectMsg0); // "I have no idea what to do with it"
+ break;
+ case 1:
+ displayMessage(dsAddr_rejectMsg1); // "I can't imagine what I could do with this"
+ break;
+ case 2:
+ displayMessage(dsAddr_rejectMsg2); // "I can't figure out what I should do with this"
+ break;
+ case 3:
+ displayMessage(dsAddr_rejectMsg3); // "I can't find any reason to mess with it"
+ break;
+ default:
+ error("rejectMessage() index out of range");
+ break;
+ }
+}
+
+bool TeenAgentEngine::processCallback(uint16 addr) {
+ if (addr == 0)
+ return false;
+
+ debugC(0, kDebugCallbacks, "processCallback(%04x)", addr);
+
+ bool retVal = true;
+ switch (addr) {
+ case csAddr_intro: // intro
+ fnIntro();
+ break;
+
+ case 0x3fed:
+ loadScene(3, Common::Point(305, 104));
+ scene->setOrientation(4);
+ break;
+
+ case 0x4007:
+ loadScene(5, Common::Point(300, 131));
+ scene->setOrientation(3);
+ break;
case 0x4021:
- //pulling out mysterious object
- if (CHECK_FLAG(0xdbe1, 1)) {
+ // pulling out mysterious object
+ if (CHECK_FLAG(dsAddr_cutFenceFlag, 1)) {
playActorAnimation(844);
playActorAnimation(846);
playActorAnimation(845);
- displayMessage(0x5696);
+ displayMessage(dsAddr_pullObjMsg1); // "I can't pull it out"
} else {
- displayMessage(0x570f);
+ displayMessage(dsAddr_pullObjMsg2); // "I can't reach it"
}
- return true;
-
- case 0x4094: //climbing to the pole near mudpool
- if (CHECK_FLAG(0xDBE4, 1)) {
- displayMessage(0x57b2);
- return true;
+ break;
+
+ case 0x4048:
+ displayMessage(dsAddr_dontWantToTouchMsg); // "I don't want to touch it - I might get hurt"
+ break;
+
+ case 0x404f:
+ displayMessage(dsAddr_notWantToSleepMsg); // "I don't want to sleep"
+ break;
+
+ case 0x4056:
+ // FIXME - This is the bird use callback in the first act at
+ // the mudpool. Current Code based on behaviour. Need to analyse cseg data.
+ dialog->popMark(scene, dsAddr_dialogStackMudpoolBird);
+ break;
+
+ case 0x4060:
+ loadScene(2, Common::Point(28, 180));
+ scene->setOrientation(2);
+ break;
+
+ case 0x407a:
+ loadScene(4, Common::Point(297, 128));
+ scene->setOrientation(4);
+ break;
+
+ case 0x4094: // climbing to the pole near mudpool
+ if (CHECK_FLAG(dsAddr_gotMugOfMudFlag, 1)) {
+ displayMessage(dsAddr_poleClimbDoneMsg); // "Never Again!"
} else {
for (byte i = 11; i <= 27; i += 4)
playSound(76, i);
@@ -196,39 +574,49 @@ bool TeenAgentEngine::processCallback(uint16 addr) {
playAnimation(865, 1);
playActorAnimation(866);
//InventoryObject *obj = inventory->selectedObject();
- //if (obj != NULL && obj->id == 0x55) {
+ //if (obj != NULL && obj->id == kInvItemMug) {
- //implement pause and using real object:
- if (inventory->has(0x55)) {
+ // FIXME: implement pause in mudpool and using of Mug object, as per original interpreter
+ if (inventory->has(kInvItemMug)) {
playSound(5, 4);
playSound(5, 19);
playSound(64, 11);
playActorAnimation(867);
- inventory->remove(0x55);
- inventory->add(0x56);
+ inventory->remove(kInvItemMug);
+ inventory->add(kInvItemMugOfMud);
moveTo(86, 195, 1, true);
playActorAnimation(868);
- SET_FLAG(0xDBE4, 1);
+ SET_FLAG(dsAddr_gotMugOfMudFlag, 1);
} else {
- processCallback(0x4173);
- Dialog::pop(scene, 0xDB72, 0, 0, 0xd1, 0xd1, 0, 0);
+ fnPoleClimbFail();
+ dialog->popMark(scene, dsAddr_dialogStackFallIntoMudpool);
}
- return true;
}
- case 0x4173:
- //fail!
- moveTo(86, 195, 1, true);
- playActorAnimation(868);
- return true;
+ break;
+
+ case csAddr_poleClimbFail:
+ fnPoleClimbFail();
+ break;
- case 0x419c: //getting the bird
+ case 0x4195:
+ displayMessage(dsAddr_preferWaterMsg); // "I prefer water"
+ break;
+
+ case 0x419c: // getting the bird
setOns(0, 0);
playSound(56, 10);
playActorAnimation(875);
disableObject(6);
- inventory->add(0x5c);
- return true;
+ inventory->add(kInvItemBird);
+ break;
+ case 0x41c3:
+ displayMessage(dsAddr_pullObjMsg2); // "I can't reach it"
+ break;
+
+ case 0x41ca:
+ rejectMessage();
+ break;
case 0x41ce:
moveTo(197, 159, 4);
@@ -236,9 +624,23 @@ bool TeenAgentEngine::processCallback(uint16 addr) {
playSound(71, 8);
playActorAnimation(833);
moveTo(225, 159, 4);
- inventory->add(0x4e);
+ inventory->add(kInvItemDelicatePlant);
disableObject(3);
- return true;
+ break;
+
+ case 0x422c:
+ displayMessage(dsAddr_tooWeakToClimbMsg); // "I'm too weak to climb it"
+ break;
+
+ case 0x4233:
+ loadScene(3, Common::Point(216, 199));
+ scene->setOrientation(1);
+ break;
+
+ case 0x424d:
+ loadScene(5, Common::Point(18, 174));
+ scene->setOrientation(2);
+ break;
case 0x4267:
hideActor();
@@ -252,92 +654,111 @@ bool TeenAgentEngine::processCallback(uint16 addr) {
playSound(5, 26);
playActorAnimation(842);
wait(100);
- //shown in different positions
- displayMessage(0x5656, 0xd1, 0x5510);
+ // shown in different positions
+ displayMessage(dsAddr_fnMsg2, textColorMark, 16, 68); // "And how am I supposed to get back?"
wait(50);
- displayMessage(0x567a, 0xd1, 0x555c);
+ displayMessage(dsAddr_fnMsg3, textColorMark, 92, 68); // "Great"
wait(50);
- displayMessage(0x5682, 0xd1, 0x553e);
+ displayMessage(dsAddr_fnMsg4, textColorMark, 62, 68); // "Oh, yeah, right"
wait(50);
playActorAnimation(843);
showActor();
moveTo(223, 149, 0, true);
disableObject(7);
disableObject(1);
- inventory->add(0x51);
- displayMessage(0x5646);
- return true;
+ inventory->add(kInvItemShovelAct1);
+ displayMessage(dsAddr_fnMsg1); // "Piece of cake"
+ break;
+
+ case 0x433a:
+ loadScene(10, Common::Point(294, 183));
+ scene->setOrientation(4);
+ break;
+
+ case 0x4354:
+ loadScene(4, Common::Point(300, 185));
+ scene->setOrientation(4);
+ break;
+
+ case 0x436e:
+ loadScene(2, Common::Point(219, 199));
+ scene->setOrientation(1);
+ break;
case 0x4388:
playSound(80, 4);
playActorAnimation(961);
loadScene(8, 155, 199, 1);
- return true;
+ break;
- case 0x43b5: //HQ, first trial - prison
+ case 0x43b5: // HQ, first trial - prison
playSound(70, 6);
playActorAnimation(962);
loadScene(7, 30, 184, 2);
- if (res->dseg.get_byte(0xDBDF) < 2) {
+ if (res->dseg.get_byte(dsAddr_FirstActTrialState) < 2) {
wait(150);
moveTo(134, 167, 2);
- displayMessage(0x54f7);
+ displayMessage(dsAddr_firstTrialMsg); // "Sir, I'm Mark. A rookie"
setLan(1, 0);
playAnimation(812, 0, true);
playActorAnimation(811);
- Dialog::show(scene, 0x6117, 0, 813, 0xd1, 0xec, 0, 1);
+ dialog->show(148, scene, 0, 813, textColorMark, textColorCaptain, 0, 1);
loadScene(6, 230, 184);
playMusic(5);
- Dialog::show(scene, 0x626a, 0, 814, 0xd1, 0xec, 0, 1);
+ dialog->show(149, scene, 0, 814, textColorMark, textColorCaptain, 0, 1);
playSound(4, 14);
playAnimation(815, 0);
setOns(1, 0);
- Dialog::showMono(scene, 0x62dc, 0, 0xd1, 0);
+ dialog->showMono(150, scene, 0, textColorMark, 0);
- SET_FLAG(0xDBDF, 1);
+ SET_FLAG(dsAddr_FirstActTrialState, 1);
}
- return true;
+ break;
case 0x4482:
- if (CHECK_FLAG(0xDBDF, 0)) {
+ if (CHECK_FLAG(dsAddr_FirstActTrialState, 0)) {
playActorAnimation(968);
- displayMessage(0x5511);
+ displayMessage(dsAddr_lockedMsg); // "It's Locked!"
} else {
playSound(80, 3);
playSound(79, 4);
playActorAnimation(968);
loadScene(6, 280, 186, 4);
}
- return true;
+ break;
- case 0x44fc: //pull out spring from bed
+ case 0x44fc: // pull out spring from bed
playSound(53, 25);
playSound(24, 27);
playSound(5, 36);
playActorAnimation(839);
moveTo(278, scene->getPosition().y, 0, true);
- inventory->add(0x50);
+ inventory->add(kInvItemSpring);
disableObject(1);
- return true;
+ break;
case 0x44cb:
- if (CHECK_FLAG(0xDBE5, 1)) {
- displayMessage(0x57c0);
+ if (CHECK_FLAG(dsAddr_gotRopeAct1Flag, 1)) {
+ displayMessage(dsAddr_vacMsg); // "What am I? A vacuum cleaner?!"
} else {
playSound(49, 14);
playSound(5, 21);
playActorAnimation(869);
- inventory->add(0x58);
- SET_FLAG(0xDBE5, 1);
+ inventory->add(kInvItemRopeAct1);
+ SET_FLAG(dsAddr_gotRopeAct1Flag, 1);
}
- return true;
+ break;
+
+ case 0x4532:
+ displayMessage(dsAddr_springPrickMsg); // "The springs would prick my back"
+ break;
- case 0x4539: //prison cell: use crates
- if (CHECK_FLAG(0xdbdd, 2)) {
- //finished the meal - trap
- displayMessage(0x55c0);
+ case 0x4539: // prison cell: use crates
+ if (CHECK_FLAG(dsAddr_JailCableAndBowlState, 2)) {
+ // finished the meal - trap
+ displayMessage(dsAddr_mealFinishedMsg); // "Hey! I finished my meal."
moveTo(306, 196, 2);
wait(50);
//playAnimation(825, 1); //very long empty animation. what for?
@@ -354,66 +775,65 @@ bool TeenAgentEngine::processCallback(uint16 addr) {
loadScene(6, scene->getPosition());
setOns(3, 0x5b);
wait(50);
- displayMessage(0x55db);
- SET_FLAG(0xdbdd, 3);
+ displayMessage(dsAddr_bowlWeldedMsg); // "Wow. He got welded to the bowl"
+ SET_FLAG(dsAddr_JailCableAndBowlState, 3);
scene->getObject(4)->setName("body");
} else {
- if (Dialog::pop(scene, 0xdb5c, 0, 0, 0xd1, 0xd1, 0, 0) != 0x636b) //not 'im getting hungry'
- return true;
-
- wait(100);
- playSound(52, 8);
- playSound(52, 13);
- playAnimation(820, 1);
- setOns(3, 0x59);
- wait(50);
- moveTo(scene->getPosition().x, scene->getPosition().y + 1, 3);
- wait(150);
- moveTo(scene->getPosition().x, scene->getPosition().y - 1, 2);
- wait(100);
- displayMessage(0x551f);
- enableObject(4);
- SET_FLAG(0xdbdc, 1);
+ if (dialog->pop(scene, dsAddr_dialogStackJailDoorGrates, 0, 0, textColorMark, textColorMark, 0, 0) == 0x636b) { // 'im getting hungry'
+ wait(100);
+ playSound(52, 8);
+ playSound(52, 13);
+ playAnimation(820, 1);
+ setOns(3, 0x59);
+ wait(50);
+ moveTo(scene->getPosition().x, scene->getPosition().y + 1, 3);
+ wait(150);
+ moveTo(scene->getPosition().x, scene->getPosition().y - 1, 2);
+ wait(100);
+ displayMessage(dsAddr_ThanksMsg); // "Thanks."
+ enableObject(4);
+ SET_FLAG(dsAddr_GotFoodBowlInJailFlag, 1);
+ }
}
- return true;
+ break;
case 0x4662:
- if (CHECK_FLAG(0xDBDD, 3)) {
- if (CHECK_FLAG(0xDBDE, 1)) {
- displayMessage(0x5608);
+ if (CHECK_FLAG(dsAddr_JailCableAndBowlState, 3)) {
+ if (CHECK_FLAG(dsAddr_GotJailKeyFlag, 1)) {
+ displayMessage(dsAddr_noPocketMsg); // "I don't want to touch his pockets again."
} else {
moveTo(280, 179, 2);
playSound(49, 7);
playSound(5, 17);
playActorAnimation(827);
- inventory->add(0x4d);
- SET_FLAG(0xDBDE, 1);
+ inventory->add(kInvItemJailKey);
+ SET_FLAG(dsAddr_GotJailKeyFlag, 1);
}
} else
- displayMessage(0x5905);
- return true;
+ displayMessage(dsAddr_foodAliveMsg); // "No, thanks. This food seems still alive"
+ break;
- case 0x46af: //prison cell: use live cable
- if (CHECK_FLAG(0xdbdc, 1)) {
- displayMessage(0x555d);
+ case 0x46af: // prison cell: use live cable
+ if (CHECK_FLAG(dsAddr_GotFoodBowlInJailFlag, 1)) {
+ displayMessage(dsAddr_ideaMsg); // "That gives me an idea"
setOns(2, 0);
playActorAnimation(821);
setOns(2, 0x5a);
setOns(3, 0);
playSound(22, 2);
playActorAnimation(822);
- displayMessage(0x5577);
+ displayMessage(dsAddr_checkWorksMsg); // "Now I got to check if it works"
disableObject(5);
- SET_FLAG(0xdbdd, 1);
+ SET_FLAG(dsAddr_JailCableAndBowlState, 1);
} else
- displayMessage(0x5528);
- return true;
+ displayMessage(dsAddr_unkUsageMsg); // "I don't have any idea what to do with it right now"
+ break;
- case 0x4705: //prison: getting lamp bulb
+ case 0x4705: // prison: getting lamp bulb
wait(50);
moveTo(144, 185, 4);
playSound(56, 15);
- setOns(0, 86); //hiding lamp
+ setOns(0, 86); // hiding lamp
playActorAnimation(816, true);
playAnimation(817, 0, true);
waitAnimation();
@@ -430,69 +850,102 @@ bool TeenAgentEngine::processCallback(uint16 addr) {
disableObject(6);
enableObject(5);
- inventory->add(0x4c);
- return true;
+ inventory->add(kInvItemBulb);
+ break;
- case 0x4794: //prison cell door
- if (res->dseg.get_byte(0xDBDF) >= 2) {
+ case 0x4794: // prison cell door
+ if (res->dseg.get_byte(dsAddr_FirstActTrialState) >= 2) {
loadScene(5, 287, 143);
} else {
- displayMessage(0x592f);
+ displayMessage(dsAddr_doorClosedMsg); // "The door is closed. What a surprise."
}
- return true;
+ break;
- case 0x47bc: //prison: examining trash can
+ case 0x47bc: // prison: examining trash can
playSound(79, 5);
playSound(1, 14);
playActorAnimation(966);
- displayMessage(0x5955);
- return true;
+ displayMessage(dsAddr_emptyMsg); // "It's Empty"
+ break;
- case 0x47db: //prison: use switch
- if (CHECK_FLAG(0xDBDF, 1)) {
+ case 0x47db: // prison: use switch
+ if (CHECK_FLAG(dsAddr_FirstActTrialState, 1)) {
playSound(71, 4);
playActorAnimation(823);
- if (CHECK_FLAG(0xDBDD, 0)) {
- displayMessage(0x4d80);
+ if (CHECK_FLAG(dsAddr_JailCableAndBowlState, 0)) {
+ displayMessage(dsAddr_NotHappenMsg); // "Nothing happened"
} else {
playSound(74, 1);
playAnimation(824, 1);
- if (CHECK_FLAG(0xDBDD, 1)) {
+ if (CHECK_FLAG(dsAddr_JailCableAndBowlState, 1)) {
wait(100);
- displayMessage(0x559a);
- SET_FLAG(0xDBDD, 2);
+ displayMessage(dsAddr_timeToCallMsg); // "I think it is time to call captain"
+ SET_FLAG(dsAddr_JailCableAndBowlState, 2);
}
}
} else {
- displayMessage(0x52f6);
+ displayMessage(dsAddr_nahMsg); // "Nah"
}
- return true;
+ break;
+
+ case 0x4836:
+ rejectMessage();
+ break;
case 0x4871:
playActorAnimation(965);
- displayMessage(0x5511);
- return true;
+ displayMessage(dsAddr_lockedMsg); // "It's Locked!"
+ break;
+
+ case 0x487e:
+ displayMessage(dsAddr_geographyClassMsg); // "I should have paid more attention in geography classes."
+ break;
+
+ case 0x4885:
+ displayMessage(dsAddr_dontNeedMessMsg); // "I don't need this mess"
+ break;
+
+ case 0x488c:
+ displayMessage(dsAddr_seenSofterRocksMsg); // "Thanks, but I've seen softer rocks"
+ break;
- case 0x4893: //taking pills
- if (CHECK_FLAG(0xDBE6, 1)) {
- SET_FLAG(0xDBE6, 2);
+ case 0x4893: // taking pills
+ if (CHECK_FLAG(dsAddr_captainDrawerState, 1)) {
+ SET_FLAG(dsAddr_captainDrawerState, 2);
setOns(1, 0x67);
playSound(5, 9);
playActorAnimation(872);
- inventory->add(0x5a);
+ inventory->add(kInvItemMedicine);
disableObject(7);
} else {
playActorAnimation(964);
- displayMessage(0x5511);
+ displayMessage(dsAddr_lockedMsg); // "It's Locked!"
}
- return true;
+ break;
+
+ case 0x48d4:
+ displayMessage(dsAddr_tooBluntMsg); // "They are too blunt to be of any use"
+ break;
+
+ case 0x48db:
+ displayMessage(dsAddr_uselessModelsMsg); // "What's the use of the models?"
+ break;
+
+ case 0x48e2:
+ case 0x48e6:
+ rejectMessage();
+ break;
+
+ case 0x4911:
+ displayMessage(dsAddr_barmanWillNoticeMsg); // "The barman will surely notice its disappearing"
+ break;
- case 0x4918: //talking with barmen
- if (CHECK_FLAG(0xDBE7, 1)) {
+ case 0x4918: // talking with barmen
+ if (CHECK_FLAG(dsAddr_birdOnBarRadioAntennaFlag, 1)) {
moveTo(140, 152, 1);
- if (CHECK_FLAG(0xDBE8, 1)) {
- Dialog::showMono(scene, 0x6f20, 0, 0xd1, 0); //aren't you thirsty?
- displayMessage(0x5883, 0xef, 21472);
+ if (CHECK_FLAG(dsAddr_swappedBarmanMugFlag, 1)) {
+ dialog->showMono(177, scene, 0, textColorMark, 0);
+ displayMessage(dsAddr_yeahRightMsg, textColorBarman, 32, 67); // "Yeah right!"
//reloadLan();
setLan(1, 0);
playAnimation(882, 0);
@@ -504,86 +957,145 @@ bool TeenAgentEngine::processCallback(uint16 addr) {
shakeScreen();
disableObject(1);
disableObject(2);
- SET_FLAG(0xDBE9, 1);
+ SET_FLAG(dsAddr_barmanPassedOutFlag, 1);
} else
- displayMessage(0x5855);
+ displayMessage(dsAddr_talkNotNowMsg); // "I've got no reason to talk to him right now."
} else {
- if (CHECK_FLAG(0xDBDF, 3)) {
- if (CHECK_FLAG(0xDBE3, 1)) {
- Dialog::show(scene, 0x6BD6, 0, 857, 0xd1, 0xef, 0, 1);
+ if (CHECK_FLAG(dsAddr_FirstActTrialState, 3)) {
+ if (CHECK_FLAG(dsAddr_spokeToBarmanAboutThirdTrialFlag, 1)) {
+ dialog->show(168, scene, 0, 857, textColorMark, textColorBarman, 0, 1);
} else {
- Dialog::show(scene, 0x69B5, 0, 857, 0xd1, 0xef, 0, 1); //taking mug
+ dialog->show(166, scene, 0, 857, textColorMark, textColorBarman, 0, 1); // taking mug
playActorAnimation(859, true);
playAnimation(858, 0, true);
waitAnimation();
playSound(75, 6);
playActorAnimation(860);
- Dialog::show(scene, 0x69C2, 0, 857, 0xd1, 0xef, 0, 1);
- inventory->add(0x55);
- SET_FLAG(0xDBE3, 1);
- SET_FLAG(0xDBF0, 0);
+ dialog->show(167, scene, 0, 857, textColorMark, textColorBarman, 0, 1);
+ inventory->add(kInvItemMug);
+ SET_FLAG(dsAddr_spokeToBarmanAboutThirdTrialFlag, 1);
+ SET_FLAG(dsAddr_gotPasswordNeedSpeakBarmanFlag, 0);
}
} else {
- Dialog::pop(scene, 0xDB68, 0, 857, 0xd1, 0xef, 0, 1);
+ dialog->pop(scene, dsAddr_dialogStackBarman, 0, 857, textColorMark, textColorBarman, 0, 1);
}
}
- return true;
+ break;
- case 0x4f14: //use the hollow
- displayMessage(CHECK_FLAG(0xDBA1, 1) ? 0x370f : 0x36c2);
- return true;
+ case 0x4d7d:
+ case 0x4d81:
+ rejectMessage();
+ break;
+
+ case 0x4d89:
+ displayMessage(dsAddr_getRidOfGuardFirstMsg); // "If I want to get inside I must get rid of this guard first..."
+ break;
+
+ case 0x4d90:
+ rejectMessage();
+ break;
+
+ case 0x4e47:
+ loadScene(13, Common::Point(9, 172));
+ scene->setOrientation(2);
+ break;
+
+ case 0x4e85:
+ loadScene(15, Common::Point(291, 162));
+ scene->setOrientation(4);
+ break;
+
+ case 0x4e9f:
+ loadScene(12, Common::Point(310, 152));
+ scene->setOrientation(4);
+ break;
+
+ case 0x4f14: // use the hollow
+ if (CHECK_FLAG(dsAddr_mansionTreeHollowEmptyFlag, 1))
+ displayMessage(dsAddr_totalEmptyMsg); // "I can see it's totally empty"
+ else
+ displayMessage(dsAddr_noHandsMsg); // "I'd better not put my hands in there..."
+ break;
case 0x4a64:
- if (CHECK_FLAG(0xDBF0, 1)) {
- displayMessage(0x5e25);
- } else {
+ if (CHECK_FLAG(dsAddr_gotPasswordNeedSpeakBarmanFlag, 1))
+ displayMessage(dsAddr_firstBusinessMsg); // "First I've got some business to take care of"
+ else
loadScene(5, 35, 162);
- }
- return true;
+ break;
case 0x4bf5:
playActorAnimation(959);
loadScene(8, 40, 152, 3);
- return true;
+ break;
+
+ case 0x4c18:
+ rejectMessage();
+ break;
+
+ case 0x4c29:
+ displayMessage(dsAddr_tooManyToSearchMsg); // "There are too many of them to search"
+ break;
+
+ case 0x4c30:
+ case 0x4c37:
+ displayMessage(dsAddr_captainWouldNotFitMsg); // "Captain surely wouldn't fit them. I must look elsewhere"
+ break;
case 0x483a:
- Dialog::pop(scene, 0xdb82, 0, 0, 0xd1, 0xd1, 0, 0);
- return true;
+ dialog->popMark(scene, dsAddr_dialogStackInterrogateCaptain);
+ break;
case 0x4844:
playSound(80, 4);
playActorAnimation(963);
loadScene(5, 166, 158);
- return true;
+ break;
case 0x48ea:
setOns(0, 0);
playSound(5, 9);
playActorAnimation(836);
- inventory->add(0x4f);
+ inventory->add(kInvItemSwissArmyKnife);
disableObject(12);
- return true;
+ break;
case 0x4a8c:
- if (CHECK_FLAG(0xDBE9, 1)) {
+ if (CHECK_FLAG(dsAddr_barmanPassedOutFlag, 1)) {
playSound(89, 5);
playActorAnimation(958);
loadScene(9, 240, 182, 4);
- } else if (CHECK_FLAG(0xDBE7, 1)) {
- displayMessage(0x5894);
+ } else if (CHECK_FLAG(dsAddr_birdOnBarRadioAntennaFlag, 1)) {
+ displayMessage(dsAddr_barmanTooCloseMsg); // "The barman is too close"
} else {
- Dialog::pop(scene, 0xDB8A, 0, 857, 0xd1, 0xef, 0, 1);
+ dialog->pop(scene, dsAddr_dialogStackBarCellarDoor, 0, 857, textColorMark, textColorBarman, 0, 1);
}
- return true;
+ break;
- case 0x4af4: //taking the crumbs
+ case 0x4aed:
+ displayMessage(dsAddr_tooBigMsg); // "It's too big and I doubt if I'll ever need it"
+ break;
+
+ case 0x4af4: // taking the crumbs
setOns(0, 0);
playSound(49, 6);
playSound(5, 13);
playActorAnimation(861);
- inventory->add(0x57);
+ inventory->add(kInvItemCrumbs);
disableObject(6);
- return true;
+ break;
+
+ case 0x4b23:
+ rejectMessage();
+ break;
+
+ case 0x4b27:
+ displayMessage(dsAddr_tooMuchToDrinkMsg); // "It'd take too much time to drink it..."
+ break;
+
+ case 0x4b2e:
+ displayMessage(dsAddr_notThiefMsg); // "I'm not a thief. And it's empty, by the way."
+ break;
case 0x4b35:
playSound(15, 7);
@@ -591,140 +1103,149 @@ bool TeenAgentEngine::processCallback(uint16 addr) {
playSound(55, 1);
playSound(24, 12);
playAnimation(885, 0);
- Dialog::show(scene, 0x67e5, 886, 0, 0xd0, 0xd1, 1, 0);
+ dialog->show(164, scene, 886, 0, textColorJohnNoty, textColorMark, 1, 0);
playMusic(3);
loadScene(40, 198, 186, 1);
- Dialog::show(scene, 0x7f20, 0, 920, 0xd1, 0xe7, 0, 1);
+ dialog->show(202, scene, 0, 920, textColorMark, textColorRGBBoss, 0, 1);
inventory->clear();
- inventory->add(0x1d);
- displayCredits(0xe45c);
+ inventory->add(kInvItemSuperGlue);
+ displayCredits(dsAddr_credits5);
loadScene(1, 198, 186);
hideActor();
playActorAnimation(956);
- Dialog::showMono(scene, 0x8bc4, 957, 0xd1, 1);
+ dialog->showMono(212, scene, 957, textColorMark, 1);
waitAnimation();
loadScene(15, 157, 199, 1);
playMusic(6);
- return true;
+ break;
- case 0x4c3e: //get the grenade
+ case 0x4c3e: // get the grenade
playSound(32, 24);
playActorAnimation(862);
reloadLan();
playAnimation(863, 1);
- inventory->add(0x54);
+ inventory->add(kInvItemGrenade);
disableObject(1);
- SET_FLAG(0xDBE2, 2);
- return true;
+ SET_FLAG(dsAddr_act1GuardState, 2);
+ break;
case 0x4c70:
- if (CHECK_FLAG(0xDBE2, 0)) {
- if (CHECK_FLAG(0xDBDA, 1)) { //papers are shown
- Dialog::pop(scene, 0xDB4C, 0, 809, 0xd1, 0xd0, 0, 1);
+ if (CHECK_FLAG(dsAddr_act1GuardState, 0)) {
+ if (CHECK_FLAG(dsAddr_ShownPassToGuardFlag, 1)) { // papers are shown
+ dialog->pop(scene, dsAddr_dialogStackCampGuardReadingNews, 0, 809, textColorMark, textColorCampGuard, 0, 1);
} else {
- Dialog::pop(scene, 0xDB40, 0, 809, 0xd1, 0xd0, 0, 1);
+ dialog->pop(scene, dsAddr_dialogStackCampGuardWantsDocuments, 0, 809, textColorMark, textColorCampGuard, 0, 1);
}
} else {
- displayMessage(0x5722);
+ displayMessage(dsAddr_helloQMsg); // "Hello?"
wait(100);
- displayMessage(0x572a);
+ displayMessage(dsAddr_totallyAddictedMsg); // "He's totally addicted"
}
- return true;
+ break;
case 0x4c1c:
playActorAnimation(960);
- displayMessage(0x5511);
- return true;
+ displayMessage(dsAddr_lockedMsg); // "It's Locked!"
+ break;
+
+ case 0x4ca5:
+ displayMessage(dsAddr_chickenNeverMsg); // "Chickening? Me? Never!"
+ break;
case 0x4cac:
- if (CHECK_FLAG(0xdbda, 1)) { //papers are shown
+ if (CHECK_FLAG(dsAddr_ShownPassToGuardFlag, 1)) { // papers are shown
loadScene(5, 124, 199);
} else {
- Dialog::show(scene, 0x5FE9, 0, 809, 0xd1, 0xd0, 0, 1);
+ dialog->show(144, scene, 0, 809, textColorMark, textColorCampGuard, 0, 1);
moveTo(269, 175, 4);
- Dialog::pop(scene, 0xDB56, 0, 809, 0xd1, 0xd0, 0, 1);
+ dialog->pop(scene, dsAddr_dialogStackCampGuardShowPass, 0, 809, textColorMark, textColorCampGuard, 0, 1);
}
- return true;
-
- case 0x4cf1: { //talking with mansion guard
- SET_FLAG(0xda96, 1);
- if (Dialog::pop(scene, 0xdaa6, 0, 529, 0xd1, 0xd9, 0, 1) != 0x1b4)
- return true;
+ break;
- Common::Point p = scene->getPosition();
- moveTo(189, 159, 0);
- //waitLanAnimationFrame(1, 1);
+ case 0x4cf1: // talking with mansion guard
+ SET_FLAG(dsAddr_spokenWithMansionGuardFlag, 1);
+ if (dialog->pop(scene, dsAddr_dialogStackPleadingToMansionGuard, 0, 529, textColorMark, textColorMansionGuard, 0, 1) == 0x01b4) { // 2nd try
+ Common::Point p = scene->getPosition();
+ moveTo(189, 159, 0);
+ //waitLanAnimationFrame(1, 1);
- playSound(5, 2);
- playSound(5, 19);
- playActorAnimation(550, true);
- playAnimation(551, 0, true);
- waitAnimation();
+ playSound(5, 2);
+ playSound(5, 19);
+ playActorAnimation(550, true);
+ playAnimation(551, 0, true);
+ waitAnimation();
- moveTo(p, 2);
- inventory->add(0x13);
- Dialog::pop(scene, 0xdaa6, 0, 529, 0xd1, 0xd9, 0, 1);
- }
- return true;
+ moveTo(p, 2);
+ inventory->add(kInvItemChocCandy);
+ dialog->pop(scene, dsAddr_dialogStackPleadingToMansionGuard, 0, 529, textColorMark, textColorMansionGuard, 0, 1);
+ }
+ break;
- case 0x4d94: //talking with fatso
- Dialog::show(scene, 0x33bd, 0, 666, 0xd1, 0xd0, 0, 2);
- displayAsyncMessage(0x49ae, /*25060*/ 35000, 1, 10, 0xd0);
+ case 0x4d94: // talking with fatso
+ dialog->show(87, scene, 0, 666, textColorMark, textColorJohnNoty, 0, 2);
+ displayAsyncMessage(dsAddr_BribeMsg, 120, 109, 1, 10, textColorJohnNoty); // FIXME: Original (x,y) was (100, 78), rather than (120, 109)?
playSound(5, 3);
playAnimation(667, 1);
playAnimation(668, 1);
setOns(2, 50);
- Dialog::show(scene, 0x36c7, 0, 666, 0xd1, 0xd0, 0, 2);
+ dialog->show(88, scene, 0, 666, textColorMark, textColorJohnNoty, 0, 2);
setOns(3, 0);
- setFlag(0xDBEC, 0);
+ setFlag(dsAddr_johnNotyOutsideMansionDoorFlag, 0);
reloadLan();
playSound(82, 19);
playAnimation(669, 1);
- Dialog::showMark(scene, 0x3779);
+ dialog->showMark(89, scene);
enableObject(15);
disableObject(8);
- return true;
+ break;
case 0x4e61:
loadScene(14, 280, 198);
- return true;
+ break;
case 0x4ee5:
setOns(2, 0);
playSound(5, 12);
playActorAnimation(676);
- displayMessage(0x4ab0);
+ displayMessage(dsAddr_WimpMsg); // "I'm a pathetic little wimp"
disableObject(15);
- inventory->add(51);
- return true;
+ inventory->add(kInvItemBanknote);
+ break;
case 0x4d56:
- inventory->add(16);
+ inventory->add(kInvItemWhisky);
disableObject(2);
setOns(0, 0);
playSound(5, 12);
playActorAnimation(547);
- return true;
+ break;
+ case 0x4d85:
+ rejectMessage();
+ break;
- case 0x4eb9://Pick up wrapper
+ case 0x4eb9: // Pick up wrapper
playSound(5, 12);
playSound(5, 18);
- inventory->add(0x12);
+ inventory->add(kInvItemWrapper);
setOns(1, 0);
playActorAnimation(549);
disableObject(13);
- return true;
+ break;
+
+ case 0x4ee1:
+ rejectMessage();
+ break;
case 0x4f25:
playActorAnimation(967);
- displayMessage(0x3542);
- return true;
+ displayMessage(dsAddr_tooHardWoodMsg); // "This wood is too hard to break"
+ break;
- case 0x4f32: //use tree near the mansion
- if (CHECK_FLAG(0xDBA1, 1)) {
- if (CHECK_FLAG(0xDBA2, 1)) {
- displayMessage(0x3766);
+ case 0x4f32: // use tree near the mansion
+ if (CHECK_FLAG(dsAddr_mansionTreeHollowEmptyFlag, 1)) {
+ if (CHECK_FLAG(dsAddr_climbedMansionTreeAlreadyFlag, 1)) {
+ displayMessage(dsAddr_noChanceMsg); // "I won't take my chances a second time"
} else {
playSound(26, 13);
playSound(26, 15);
@@ -739,95 +1260,126 @@ bool TeenAgentEngine::processCallback(uint16 addr) {
playSound(60, 16);
playActorAnimation(591);
wait(50);
- displayMessage(0x372e);
- SET_FLAG(0xDBA2, 1);
- processCallback(0x9d45);
+ displayMessage(dsAddr_oneSmallStepMsg); // "One small step for man, one big pain in the head"
+ SET_FLAG(dsAddr_climbedMansionTreeAlreadyFlag, 1);
+ fnMansionIntrusionAttempt();
}
} else {
playActorAnimation(49);
playSound(56, 8);
playSound(56, 12);
playSound(49, 10);
- displayAsyncMessage(0x4652, 31579, 16, 24);
+ displayAsyncMessage(dsAddr_laughterMsg, 219, 98, 16, 24); // "(laughter)"
playActorAnimation(587);
moveRel(0, 0, 2);
wait(100);
- displayMessage(0x3668);
+ displayMessage(dsAddr_tickledMsg); // "Something tickled me!"
}
- return true;
+ break;
- case 0x500d: //picking up wild plant
- if (CHECK_FLAG(0xDB9E, 1)) {
- displayMessage(0x35E8); //there are no more
+ case 0x500d: // picking up wild plant
+ if (CHECK_FLAG(dsAddr_gotPotatoAlreadyFlag, 1)) {
+ displayMessage(dsAddr_noPotatoMsg); // "There are no more potatoes"
} else {
- SET_FLAG(0xDB9E, 1);
+ SET_FLAG(dsAddr_gotPotatoAlreadyFlag, 1);
setOns(2, 0);
playSound(21, 9);
playSound(34, 21);
playSound(26, 30);
playActorAnimation(552);
setOns(2, 0x12);
- inventory->add(0x14);
+ inventory->add(kInvItemPotato);
}
- return true;
+ break;
+
+ case 0x505f:
+ displayMessage(dsAddr_wallTooSmoothMsg); // "The wall surface is too smooth to climb"
+ break;
+
+ case 0x5066:
+ loadScene(11, Common::Point(183, 109));
+ scene->setOrientation(3);
+ break;
+
+ case 0x5080:
+ loadScene(13, Common::Point(290, 181));
+ scene->setOrientation(4);
+ break;
+
+ case 0x50f6:
+ displayMessage(dsAddr_tooMuchResinToClimbMsg); // "I could climb it if there wasn't so much resin"
+ break;
+
+ case 0x50fd:
+ displayMessage(dsAddr_onlyGreenRectMsg); // "The only green stuff that I like is that rectangular piece of paper with..."
+ break;
case 0x5104:
loadScene(11, 319, 198, 4);
- if (CHECK_FLAG(0xDB9C, 1))
- return true;
-
- //guard's drinking
- SET_FLAG(0, 3);
- setTimerCallback(0x516d, 40);
- playAnimation(544, 0, true, true); //ignore busy flag for this animation
- return true;
+ if (!CHECK_FLAG(dsAddr_scaredGuardAlreadyFlag, 1)) {
+ // guard is drinking
+ SET_FLAG(dsAddr_timedCallbackState, 3);
+ setTimerCallback(csAddr_guardScareTimeout, 40);
+ playAnimation(544, 0, true, true); // ignore busy flag for this animation
+ }
+ break;
- case 0x516d: //too late to scare guard, resetting
- SET_FLAG(0, 0);
- return true;
+ case csAddr_guardScareTimeout: // too late to scare guard, resetting
+ SET_FLAG(dsAddr_timedCallbackState, 0);
+ break;
- case 0x5189: //guard's drinking, boo!
- SET_FLAG(0, 0);
- setTimerCallback(0, 0);
- scene->getAnimation(0)->free();
- SET_FLAG(0xDB9C, 1);
+ case csAddr_guardDrinking:
+ fnGuardDrinking();
+ break;
- displayAsyncMessage(0x3563, 320 * 130 + 300, 1, 5);
- setOns(0, 16);
- enableObject(2);
+ case 0x51c8:
+ displayMessage(dsAddr_wallTooSmoothMsg); // "The wall surface is too smooth to climb"
+ break;
- playSound(17, 5);
- playAnimation(545, 0);
+ case 0x51cf:
+ loadScene(12, Common::Point(15, 189));
+ scene->setOrientation(2);
+ break;
- Dialog::show(scene, 0x0917, 0, 546, 0xd1, 0xd9, 0, 1);
- SET_FLAG(0xDA96, 1);
- SET_FLAG(0xDA97, 0);
- return true;
+ case 0x51e9:
+ displayMessage(dsAddr_dontWannaTouchHedgehogMsg); // "I don't wanna touch it. Its spines could hurt my delicate hands"
+ break;
case 0x51f0:
setOns(0, 0);
playSound(5, 11);
playActorAnimation(637);
disableObject(7);
- inventory->add(49);
- return true;
+ inventory->add(kInvItemRock);
+ break;
case 0x5217:
- displayMessage(CHECK_FLAG(0xDB9F, 1) ? 0x402e : 0x34e1);
- return true;
+ if (CHECK_FLAG(dsAddr_beesGoneFlag, 1))
+ displayMessage(dsAddr_notHungryMsg); // "Thanks, I'm not hungry"
+ else
+ displayMessage(dsAddr_avoidBeesMsg); // "I'm going to stay at least five meters away from these bees!"
+ break;
+
+ case 0x522c:
+ displayMessage(dsAddr_avoidBeesMsg); // "I'm going to stay at least five meters away from these bees!"
+ break;
+
+ case 0x5233:
+ rejectMessage();
+ break;
case 0x5237:
- if (!CHECK_FLAG(0xDB9F, 1)) {
- displayMessage(0x34e1);
- } else if (CHECK_FLAG(0xDBA0, 1))
- displayMessage(0x3E31);
+ if (!CHECK_FLAG(dsAddr_beesGoneFlag, 1)) {
+ displayMessage(dsAddr_avoidBeesMsg); // "I'm going to stay at least five meters away from these bees!"
+ } else if (CHECK_FLAG(dsAddr_mansionTunnelDoneFlag, 1))
+ displayMessage(dsAddr_roadNowhereMsg); // "Nah. It's a road to nowhere"
else {
moveTo(173, 138, 2);
playSound(28, 5);
playActorAnimation(583);
playActorAnimation(584);
- loadScene(0, 0, 0, 0); //clear background
+ loadScene(0, 0, 0, 0); // clear background
playSound(72, 18);
playSound(73, 39);
@@ -837,82 +1389,257 @@ bool TeenAgentEngine::processCallback(uint16 addr) {
playSound(28, 2);
playActorAnimation(586);
moveTo(138, 163, 3);
- displayMessage(0x3650);
- SET_FLAG(0xDBA0, 1);
- processCallback(0x9d45); //another mansion try
+ displayMessage(dsAddr_lifeBrutalMsg); // "Life is really brutal"
+ SET_FLAG(dsAddr_mansionTunnelDoneFlag, 1);
+ fnMansionIntrusionAttempt();
}
- return true;
-
- case 0x55a8: {
- uint16 d = Dialog::pop(scene, 0xdb08, 0, 0, 0xd1, 0xd1, 0, 0);
- if (d == 0x2c5d) {
- waitLanAnimationFrame(1, 0x23);
- setOns(0, 0);
- playSound(52, 9);
- playSound(52, 11);
- playSound(52, 13);
- playSound(53, 32);
- playAnimation(570, 0);
- wait(50);
- displayMessage(0x551f);
- disableObject(5);
- SET_FLAG(0xDBB0, 1);
- } else if (d != 0x2c9b) {
- waitLanAnimationFrame(1, 0x23);
- playSound(52, 9);
- playSound(52, 11);
- playSound(52, 13);
- playAnimation(569, 0);
+ break;
+
+ case 0x5320:
+ loadScene(11, Common::Point(30, 124));
+ scene->setOrientation(2);
+ break;
+
+ case 0x533a:
+ displayMessage(dsAddr_noLongHandsMsg); // "I really don't have such long hands"
+ break;
+
+ case 0x5341:
+ displayMessage(dsAddr_tooFarToSwimMsg); // "It's too far to swim there"
+ break;
+
+ case 0x5403:
+ displayMessage(dsAddr_noBucketMsg); // "It's not a barrel-organ. And there's no bucket."
+ break;
+
+ case 0x540a:
+ loadScene(20, Common::Point(10, 185));
+ scene->setOrientation(2);
+ break;
+
+ case 0x5424:
+ loadScene(11, Common::Point(30, 170));
+ scene->setOrientation(2);
+ break;
+
+ case 0x543e:
+ loadScene(18, Common::Point(224, 199));
+ scene->setOrientation(4);
+ break;
+
+ case 0x5547:
+ loadScene(15, Common::Point(15, 172));
+ scene->setOrientation(2);
+ break;
+
+ case 0x55a8:
+ {
+ uint16 d = dialog->popMark(scene, dsAddr_dialogStackSquirrel);
+ if (d == 0x2c5d) { // 4th try - Throw Nut
+ waitLanAnimationFrame(1, 0x23);
+ setOns(0, 0);
+ playSound(52, 9);
+ playSound(52, 11);
+ playSound(52, 13);
+ playSound(53, 32);
+ playAnimation(570, 0);
+ wait(50);
+ displayMessage(dsAddr_ThanksMsg); // "Thanks."
+ disableObject(5);
+ SET_FLAG(dsAddr_squirrelNutState, 1);
+ } else if (d != 0x2c9b) { // 5th (last) try
+ waitLanAnimationFrame(1, 0x23);
+ playSound(52, 9);
+ playSound(52, 11);
+ playSound(52, 13);
+ playAnimation(569, 0);
+ }
}
- }
- return true;
+ break;
case 0x5663:
- displayMessage(CHECK_FLAG(0xDBB0, 1) ? 0x41b1 : 0x417e);
- return true;
+ if (CHECK_FLAG(dsAddr_squirrelNutState, 1))
+ displayMessage(dsAddr_findNutMsg); // "I won't find the nut just like that. The grass is too dense"
+ else
+ displayMessage(dsAddr_hmmGrassMsg); // "Hmmm. Grass..."
+ break;
+
+ case 0x5674:
+ loadScene(18, Common::Point(94, 115));
+ scene->setOrientation(3);
+ break;
+
+ case 0x568e:
+ displayMessage(dsAddr_notHornyMsg); // "I'm not horny"
+ break;
+
+ case 0x5695:
+ displayMessage(dsAddr_dontNeedToOpenMsg); // "I don't need to open it"
+ break;
case 0x569c:
playSound(67, 5);
playActorAnimation(983);
- displayMessage(0x5955);
- return true;
+ displayMessage(dsAddr_emptyMsg); // "It's Empty"
+ break;
+
+ case 0x56b3:
+ rejectMessage();
+ break;
case 0x56b7:
playSound(66, 5);
playSound(67, 11);
playActorAnimation(984);
- displayMessage(0x5955);
- return true;
+ displayMessage(dsAddr_emptyMsg); // "It's Empty"
+ break;
+
+ case 0x56d6:
+ displayMessage(dsAddr_CantJumpMsg); // "No way I can jump so high, cause, err, white men can't jump"
+ break;
+
+ case 0x56dd:
+ displayMessage(dsAddr_dontNeedItMsg); // "I don't need it"
+ break;
+
+ case 0x56e4:
+ displayMessage(dsAddr_notSantaClausMsg); // "I'm not Santa Claus"
+ break;
+
+ case 0x56eb:
+ displayMessage(dsAddr_noPlasticImitationsMsg); // "I don't need plastic imitations"
+ break;
+
+ case 0x56f2:
+ rejectMessage();
+ break;
+
+ case 0x5721:
+ displayMessage(dsAddr_dontNeedItMsg); // "I don't need it"
+ break;
case 0x5728:
- inventory->add(0x0d);
+ inventory->add(kInvItemChainsaw);
disableObject(14);
setOns(0, 0);
playSound(5, 10);
playActorAnimation(566);
- return true;
+ break;
+
+ case 0x574f:
+ displayMessage(dsAddr_tooFragileMsg); // "It's too fragile to carry around"
+ break;
case 0x5793:
- if (!CHECK_FLAG(0xDB94, 1)) {
- displayMessage(0x3e63);
- } else if (CHECK_FLAG(0xDB95, 1)) {
- displayMessage(0x3e75);
+ if (!CHECK_FLAG(dsAddr_alreadyPulledTrunkReleaseLeverFlag, 1)) {
+ displayMessage(dsAddr_shutTightMsg); // "It's shut tight"
+ } else if (CHECK_FLAG(dsAddr_carTrunkEmptyFlag, 1)) {
+ displayMessage(dsAddr_bootEmptyMsg); // "There's nothing else in the boot"
} else {
- SET_FLAG(0xDB95, 1);
+ SET_FLAG(dsAddr_carTrunkEmptyFlag, 1);
moveTo(188, 179, 0);
playSound(7, 16);
playActorAnimation(519);
wait(150);
moveTo(168, 179, 2);
- inventory->add(3);
+ inventory->add(kInvItemToolboxFull);
}
- return true;
+ break;
+
+ case 0x57fa:
+ displayMessage(dsAddr_dontNeedItMsg); // "I don't need it"
+ break;
+
+ case 0x5801:
+ rejectMessage();
+ break;
+
+ case 0x583f:
+ case 0x5846:
+ displayMessage(dsAddr_dontNeedToOpenMsg);
+ break;
+
+ case 0x584d:
+ displayMessage(dsAddr_pullObjMsg2);
+ break;
+
+ case 0x5854:
+ loadScene(15, Common::Point(157, 199));
+ scene->setOrientation(1);
+ break;
+
+ case 0x586e:
+ loadScene(21, Common::Point(24, 187));
+ scene->setOrientation(2);
+ break;
+
+ case 0x5888:
+ loadScene(27, Common::Point(108, 199));
+ scene->setOrientation(2);
+ break;
+
+ case 0x5903:
+ displayMessage(dsAddr_keepItOpenMsg); // "I'd like to keep it open"
+ break;
+
+ case 0x590a:
+ loadScene(20, Common::Point(304, 190));
+ scene->setOrientation(4);
+ break;
+
+ case 0x5924:
+ loadScene(25, Common::Point(298, 146));
+ scene->setOrientation(4);
+ break;
+
+ case 0x5978:
+ displayMessage(dsAddr_notTakingSocksMsg); // "I really don't want to walk around with someone else's socks"
+ break;
+
+ case 0x597f:
+ case 0x5986:
+ case 0x598d:
+ displayMessage(dsAddr_dontNeedToOpenMsg); // "I don't need to open it"
+ break;
+
+ case 0x5b44:
+ // FIXME - This is the doorbell use callback on House #2
+ // i.e. Granny and Anne's House. Need to analyse cseg data properly.
+ // Current code inferred from behaviour.
+ // FIXME - Add animation call for Ego pushing doorbell.
+ displayMessage(dsAddr_ItsOpenMsg);
+ break;
+
+ case 0x5c72:
+ displayMessage(dsAddr_notTiredMsg); // "Thanks, I'm not tired"
+ break;
+
+ case 0x5c79:
+ displayMessage(dsAddr_dontNeedToOpenMsg); // "I don't need to open it"
+ break;
+
+ case 0x5c80:
+ rejectMessage();
+ break;
+
+ case 0x5cdb:
+ case 0x5ce2:
+ displayMessage(dsAddr_dontNeedItMsg); // "I don't need it"
+ break;
+
+ case 0x5ce9:
+ displayMessage(dsAddr_tooBigMsg); // "It's too big and I doubt if I'll ever need it"
+ break;
+
+ case 0x5d1d:
+ displayMessage(dsAddr_CantJumpMsg); // "No way I can jump so high, cause, err, white men can't jump"
+ break;
case 0x5d88:
- if (CHECK_FLAG(0xDBA5, 1)) { //dry laundry
- SET_FLAG(0xDBA5, 2);
- Dialog::show(scene, 0x1F4F, 0, 523, 0xd1, 0xe5, 0, 1);
- //waitLanAnimationFrame(1, 1); //another long waiting
+ if (CHECK_FLAG(dsAddr_laundryState, 1)) { // dry laundry
+ SET_FLAG(dsAddr_laundryState, 2);
+ dialog->show(46, scene, 0, 523, textColorMark, textColorOldLady, 0, 1);
+ //waitLanAnimationFrame(1, 1); // another long waiting
playAnimation(604, 0);
loadScene(21, scene->getPosition());
@@ -924,184 +1651,393 @@ bool TeenAgentEngine::processCallback(uint16 addr) {
setOns(0, 33);
loadScene(23, scene->getPosition());
playAnimation(605, 0);
- Dialog::show(scene, 0x2002, 0, 523, 0xd1, 0xe5, 0, 1);
+ dialog->show(47, scene, 0, 523, textColorMark, textColorOldLady, 0, 1);
} else {
- uint16 d = Dialog::pop(scene, 0xdada, 0, 523, 0xd1, 0xe5, 0, 1);
- if (d == 0x1913) {
+ uint16 d = dialog->pop(scene, dsAddr_dialogStackAskOldLadyOK, 0, 523, textColorMark, textColorOldLady, 0, 1);
+ if (d == 0x1913) { // 3rd time
wait(100);
moveRel(0, 0, 3);
wait(50);
- displayMessage(0x34d5); //I give up
+ displayMessage(dsAddr_giveUpMsg); // "I give up"
wait(50);
}
}
- return true;
+ break;
+
+ case 0x5f9a:
+ case 0x5fa1:
+ displayMessage(dsAddr_dontNeedToOpenMsg); // "I don't need to open it"
+ break;
- case 0x5ff3: //get duster
- if (CHECK_FLAG(0xDB9A, 0)) {
- Dialog::pop(scene, 0xdaf6, 0, 523, 0xd1, 0xe5, 0, 1);
+ case 0x5fa8:
+ displayMessage(dsAddr_CantJumpMsg); // "No way I can jump so high, cause, err, white men can't jump"
+ break;
+
+ case 0x5faf:
+ displayMessage(dsAddr_noSecretPassageMsg); // "I don't think there's any secret passage inside"
+ break;
+
+ case 0x5fe5:
+ displayMessage(dsAddr_jugMeMsg); // "They can jug me if I steal this"
+ break;
+
+ case 0x5fec:
+ displayMessage(dsAddr_leaveFlowersAloneMsg); // "I'd better leave it. Women are really oversensitive about flowers."
+ break;
+
+ case 0x5ff3: // get duster
+ if (CHECK_FLAG(dsAddr_givenFlowerToOldLadyAlreadyFlag, 0)) {
+ dialog->pop(scene, dsAddr_dialogStackBorrowDusterFromOldLady, 0, 523, textColorMark, textColorOldLady, 0, 1);
} else {
- Dialog::show(scene, 0x1e1e, 0, 523, 0xd1, 0xe5, 0, 1);
+ dialog->show(43, scene, 0, 523, textColorMark, textColorOldLady, 0, 1);
wait(50);
- inventory->add(12);
+ inventory->add(kInvItemFeatherDusterClean);
disableObject(12);
setOns(0, 0);
playSound(5, 6);
playActorAnimation(541);
}
- return true;
+ break;
+
+ case 0x603a:
+ rejectMessage();
+ break;
case 0x603e:
- if (CHECK_FLAG(0xDBB3, 1)) {
- displayMessage(0x44a7);
+ if (CHECK_FLAG(dsAddr_spokenToMirrorFlag, 1)) {
+ displayMessage(dsAddr_busyThinkingMsg); // "I'd better not interrupt it's thought process"
} else {
- displayMessage(0x4412);
+ displayMessage(dsAddr_mirrorMirrorMsg); // "Mirror, Mirror on the wall...."
wait(150);
- displayMessage(0x444f);
+ displayMessage(dsAddr_thinkTooLongMsg); // "Hey, don't think too long"
wait(150);
- displayMessage(0x446b);
+ displayMessage(dsAddr_HintMaleMsg); // "A hint: Someone in this room, a male"
wait(150);
- displayMessage(0x4492);
+ displayMessage(dsAddr_okWaitMsg); // "OK, take your time"
wait(150);
- SET_FLAG(0xDBB3, 1);
+ SET_FLAG(dsAddr_spokenToMirrorFlag, 1);
}
- return true;
+ break;
+
+ case 0x6074:
+ rejectMessage();
+ break;
+
+ case 0x6078:
+ displayMessage(dsAddr_tooBigMsg); // "It's too big and I doubt if I'll ever need it"
+ break;
case 0x6205:
- if (CHECK_FLAG(0xDBA4, 1))
- displayMessage(0x450e);
+ if (CHECK_FLAG(dsAddr_lightOnFlag, 1))
+ displayMessage(dsAddr_tooHeavyMsg); // "It's too heavy. Not that I'm wimp"
else
- processCallback(0x61fe);
- return true;
+ fnTooDark();
+ break;
case 0x6217:
- if (CHECK_FLAG(0xDBA4, 1))
- displayMessage(0x44d6);
+ if (CHECK_FLAG(dsAddr_lightOnFlag, 1))
+ displayMessage(dsAddr_noDentistsMsg); // "I don't want to have anything in common with dentists"
else
- processCallback(0x61fe);
- return true;
+ fnTooDark();
+ break;
case 0x62c1:
- if (CHECK_FLAG(0xDBA4, 1))
- return false;
+ if (CHECK_FLAG(dsAddr_lightOnFlag, 1))
+ retVal = false;
+ else
+ fnTooDark();
+ break;
- processCallback(0x61fe);
- return true;
+ case 0x634a:
+ displayMessage(dsAddr_noHandsSharpThornsMsg); // "I can't remove it with my hands. these thorns look really sharp"
+ break;
+
+ case 0x637f:
+ loadScene(21, Common::Point(201, 199));
+ scene->setOrientation(1);
+ break;
+
+ case 0x6399:
+ displayMessage(dsAddr_rockWalkingGeeMsg); // "Yeah, great idea. Let's take this rock and walk around a bit. Gee..."
+ break;
+
+ case 0x63a0:
+ case 0x63a7:
+ displayMessage(dsAddr_butterflyMsg); // "I'd better leave them alone, they make this place beautiful"
+ break;
+
+ case 0x63ae:
+ displayMessage(dsAddr_notSureIfAliveMsg); // "I'm not sure if it's alive"
+ break;
case 0x63bc:
playMusic(6);
loadScene(25, 151, 156, 2);
- return true;
+ break;
case 0x63dc:
- Dialog::showMono(scene, 0x3375, 0, 0xd1, 0);
- return true;
+ dialog->showMono(86, scene, 0, textColorMark, 0);
+ break;
+
+ case 0x63e3:
+ displayMessage(dsAddr_holeTooNarrowMsg); // "The hole is too narrow to fit my hand"
+ break;
case 0x646e:
case 0x6475:
- Dialog::showMono(scene, 0x32C1, 0, 0xd1, 0);
- return true;
+ dialog->showMono(85, scene, 0, textColorMark, 0);
+ break;
case 0x6479:
- Dialog::showMono(scene, 0x325e, 0, 0xd1, 0);
- return true;
+ dialog->showMono(84, scene, 0, textColorMark, 0);
+ break;
case 0x6507:
- if (CHECK_FLAG(0xDB96, 1)) {
+ if (CHECK_FLAG(dsAddr_birdsGoneFromScarecrowFlag, 1))
rejectMessage();
- } else
- displayMessage(0x47e7);
- return true;
+ else
+ displayMessage(dsAddr_birdAttackMsg); // "Hey You! Wake up! Bird attack!"
+ break;
+
+ case 0x6541:
+ loadScene(20, Common::Point(10, 131));
+ scene->setOrientation(3);
+ break;
+
+ case 0x6635:
+ displayMessage(dsAddr_uninterestingHaystackMsg); // "I don't see anything interesting about this haystack"
+ break;
+
+ case 0x666a:
+ displayMessage(dsAddr_moreComplicatedMsg); // "It's more complicated than that"
+ break;
case 0x65c3:
- if (CHECK_FLAG(0xDBA9, 1)) {
+ if (CHECK_FLAG(dsAddr_mouseHoleState, 1)) {
playActorAnimation(635);
setOns(5, 0);
playSound(63, 11);
playSound(15, 20);
playSound(32, 31);
playActorAnimation(636);
- inventory->add(47);
- inventory->add(48);
+ inventory->add(kInvItemHandkerchief);
+ inventory->add(kInvItemMouse);
moveTo(scene->getPosition().x - 1, 139, 1, true);
- displayMessage(0x3b83);
- SET_FLAG(0xDBA9, 2);
- SET_FLAG(0xDBA8, 0);
+ displayMessage(dsAddr_yikesMsg); // "Yikes!"
+ SET_FLAG(dsAddr_mouseHoleState, 2);
+ SET_FLAG(dsAddr_HankerchiefInMouseholeFlag, 0);
} else
- displayMessage(0x4808);
- return true;
+ displayMessage(dsAddr_noSearchWarrantMsg); // "I don't have a search-warrant"
+ break;
+
+ case 0x6671:
+ displayMessage(dsAddr_cantOpenItMsg); // "I can't open it"
+ break;
+
+ case 0x6678:
+ rejectMessage();
+ break;
+
+ case 0x670f:
+ displayMessage(dsAddr_dontNeedThemMsg); // "I don't need them"
+ break;
+
+ case 0x6716:
+ displayMessage(dsAddr_pullObjMsg2); // "I can't reach it"
+ break;
+
+ case 0x6772:
+ loadScene(31, Common::Point(20, 188));
+ scene->setOrientation(2);
+ break;
+
+ case 0x678c:
+ loadScene(28, Common::Point(189, 153));
+ scene->setOrientation(4);
+ break;
+
+ case 0x67fa:
+ rejectMessage();
+ break;
+
+ case 0x67fe:
+ displayMessage(dsAddr_troubleWithStairsMsg); // "If I put it on I might have trouble walking up the stairs"
+ break;
+
+ case 0x6911:
+ displayMessage(dsAddr_9LivesToReadMsg); // "I'd need 9 lives to read them all"
+ break;
+
+ case 0x6954:
+ displayMessage(dsAddr_thanksNotTiredMsg); // "Thanks, I'm not so tired"
+ break;
+
+ case 0x695b:
+ displayMessage(dsAddr_noNeedToTurnOnMsg); // "There's no need to turn it on"
+ break;
+
+ case 0x6ba6:
+ displayMessage(dsAddr_wontBearWeightMsg); // "It won't bear my weight"
+ break;
+
+ case 0x6bda:
+ displayMessage(dsAddr_peepingTomMsg); // "What am I? A Peeping Tom?"
+ break;
+
+ case 0x6c1c:
+ case 0x6c20:
+ rejectMessage();
+ break;
+
+ case 0x6c24:
+ displayMessage(dsAddr_dontNeedThemMsg); // "I don't need them"
+ break;
+
+ case 0x6c2b:
+ loadScene(29, Common::Point(300, 188));
+ scene->setOrientation(4);
+ break;
+
+ case 0x6c7c:
+ displayMessage(dsAddr_bigPocketsMsg); // "I have big pockets, but there are limits"
+ break;
+
+ case 0x724e:
+ displayMessage(dsAddr_soSharpMsg); // "They're so sharp they'd rip my trousers!"
+ break;
+
+ case 0x72be:
+ rejectMessage();
+ break;
+
+ case 0x7305:
+ rejectMessage();
+ break;
+
+ case 0x7328:
+ displayMessage(dsAddr_noTimeForPleasuresMsg); // "I don't have time for pleasures"
+ break;
+
+ case 0x732f:
+ displayMessage(dsAddr_notSocksWithBareHandsMsg); // "I won't touch these socks with my bare hands!"
+ break;
+
+ case 0x739c:
+ displayMessage(dsAddr_notHalloweenMsg); // "It's not Halloween"
+ break;
+
+ case 0x7401:
+ displayMessage(dsAddr_NotManualMsg); // "It can't be controlled manually! I hate it!"
+ break;
+
+ case 0x746f:
+ displayMessage(dsAddr_nothingToPlayMsg); // "I have nothing to play"
+ break;
+
+ case 0x74b3:
+ loadScene(29, Common::Point(256, 171));
+ scene->setOrientation(3);
+ break;
+
+ case 0x74cd:
+ rejectMessage();
+ break;
+
+ case 0x74f9:
+ loadScene(38, Common::Point(160, 199));
+ scene->setOrientation(1);
+ break;
+
+ case 0x784a:
+ displayMessage(dsAddr_notMineMsg); // "I can't take it. It's not mine."
+ break;
+
+ case 0x7851:
+ displayMessage(dsAddr_lockedMsg); // "It's Locked!"
+ break;
+
+ case 0x7858:
+ displayMessage(dsAddr_lockedMsg); // "It's Locked!"
+ break;
+
+ case 0x785f:
+ displayMessage(dsAddr_pullObjMsg2); // "I can't reach it"
+ break;
case 0x7866:
- if (CHECK_FLAG(0xdbdd, 3)) {
- displayMessage(0x55ff);
- return true;
- } else
- return false;
+ if (CHECK_FLAG(dsAddr_JailCableAndBowlState, 3))
+ displayMessage(dsAddr_gotchaMsg); // "Gotcha"
+ else
+ retVal = false;
+ break;
- case 0x7878: {
- byte v = res->dseg.get_byte(0xDBDB) + 1;
- if (v <= 6)
- SET_FLAG(0xDBDB, v);
+ case 0x7878:
+ {
+ byte v = res->dseg.get_byte(dsAddr_graffitiMsgId) + 1;
+ if (v <= 6)
+ SET_FLAG(dsAddr_graffitiMsgId, v);
- switch (v) {
- case 1:
- displayMessage(0x5411);
- return true;
- case 2:
- displayMessage(0x5463);
- return true;
- case 3:
- displayMessage(0x5475);
- return true;
- case 4:
- displayMessage(0x5484);
- return true;
- case 5:
- displayMessage(0x54c4);
- return true;
- default:
- displayMessage(0x54d5);
- return true;
+ switch (v) {
+ case 1:
+ displayMessage(dsAddr_SavingFineMsg); // "Saving is a very fine thing..."
+ break;
+ case 2:
+ displayMessage(dsAddr_loveCaptainMsg); // "I love captain"
+ break;
+ case 3:
+ displayMessage(dsAddr_soccerRulzMsg); // "Soccer rulz"
+ break;
+ case 4:
+ displayMessage(dsAddr_treeCutMsg); // "Don't cut the trees..."
+ break;
+ case 5:
+ displayMessage(dsAddr_visaAcceptedMsg); // "VISA Accepted"
+ break;
+ default:
+ displayMessage(dsAddr_otherGraffitiMsg); // "The rest of graffiti is obscene"
+ break;
+ }
}
- }
+ break;
case 0x78a9:
- if (CHECK_FLAG(0xDBE6, 1)) {
- displayMessage(0x5827);
- return true;
- } else
- return false;
+ if (CHECK_FLAG(dsAddr_captainDrawerState, 1))
+ displayMessage(dsAddr_nowOpenMsg); // "Now it's open"
+ else
+ retVal = false;
+ break;
case 0x78bb:
- if (CHECK_FLAG(0xDBE8, 1)) {
- displayMessage(0x58b0);
- return true;
- } else
- return false;
+ if (CHECK_FLAG(dsAddr_swappedBarmanMugFlag, 1))
+ displayMessage(dsAddr_yuckMsg); // "Yuck!"
+ else
+ retVal = false;
+ break;
case 0x78ce:
- if (!CHECK_FLAG(0xDBA1, 1)) {
- displayMessage(0x3694);
- return true;
- } else
- return false;
+ if (!CHECK_FLAG(dsAddr_mansionTreeHollowEmptyFlag, 1))
+ displayMessage(dsAddr_monstersMsg); // "Who knows what monsters live in there"
+ else
+ retVal = false;
+ break;
- case 0x792b: //left click on ann
+ case 0x792b: // left click on ann
moveTo(245, 198, 1);
- if (CHECK_FLAG(0xDBAF, 1))
- return false;
-
- Dialog::showMono(scene, 0x2193, 0, 0xd1, 0);
- SET_FLAG(0xDBAF, 1);
- return true;
+ if (!CHECK_FLAG(dsAddr_alreadySaidAnneBeautifulFlag, 1)) {
+ dialog->showMono(50, scene, 0, textColorMark, 0);
+ SET_FLAG(dsAddr_alreadySaidAnneBeautifulFlag, 1);
+ } else
+ retVal = false;
+ break;
case 0x79c3:
- if (CHECK_FLAG(0xDBA4, 1))
- return false;
- processCallback(0x61fe);
- return true;
+ if (CHECK_FLAG(dsAddr_lightOnFlag, 1))
+ retVal = false;
+ else
+ fnTooDark();
+ break;
- case 0x7b26: //cutting the fence
+ case 0x7b26: // cutting the fence
setOns(0, 0);
playSound(5, 2);
playSound(51, 11);
@@ -1114,11 +2050,11 @@ bool TeenAgentEngine::processCallback(uint16 addr) {
setOns(0, 0x60);
moveTo(281, scene->getPosition().y, 0, true);
disableObject(4);
- SET_FLAG(0xDBE1, 1);
- return true;
+ SET_FLAG(dsAddr_cutFenceFlag, 1);
+ break;
- case 0x7b89: //digging mysterious object
- if (CHECK_FLAG(0xDBE1, 1)) {
+ case 0x7b89: // digging mysterious object
+ if (CHECK_FLAG(dsAddr_cutFenceFlag, 1)) {
playActorAnimation(844);
setOns(1, 0);
playSound(5, 5);
@@ -1130,11 +2066,15 @@ bool TeenAgentEngine::processCallback(uint16 addr) {
setOns(1, 0x64);
playActorAnimation(845);
disableObject(3);
- inventory->add(0x52);
- inventory->remove(0x51);
+ inventory->add(kInvItemKaleidoscope);
+ inventory->remove(kInvItemShovelAct1);
} else
- displayMessage(0x56da);
- return true;
+ displayMessage(dsAddr_fenceBlocksMsg); // "The fence blocks the way"
+ break;
+
+ case 0x7bf6:
+ displayMessage(dsAddr_noDiggingKnifeMsg); // "Digging it out with the knife could take a hundred years"
+ break;
case 0x7bfd:
playSound(76, 18);
@@ -1149,7 +2089,7 @@ bool TeenAgentEngine::processCallback(uint16 addr) {
playSound(76, 63);
playActorAnimation(873);
moveTo(240, 163, 4);
- displayMessage(0x5837);
+ displayMessage(dsAddr_cmonBabyMsg); // "C'mon baby, it's all yours!"
waitLanAnimationFrame(1, 0x22);
playSound(77, 2);
playSound(77, 12);
@@ -1164,23 +2104,36 @@ bool TeenAgentEngine::processCallback(uint16 addr) {
setLan(1, 0);
playAnimation(874, 1);
setOns(0, 0x68);
- inventory->remove(0x5b);
+ inventory->remove(kInvItemDruggedFood);
enableObject(6);
disableObject(1);
- return true;
+ break;
+
+ case 0x7cc9:
+ case 0x7cd0:
+ displayMessage(dsAddr_throwCrumbsToBirdQMsg); // "Should I throw the crumbs to the bird?"
+ break;
+
+ case 0x7cd7:
+ displayMessage(dsAddr_dontWasteCrumbs); // "I don't want to waste these tasty crumbs"
+ break;
- case 0x7ce5: //put spring on the solid ground
+ case 0x7cde:
+ displayMessage(dsAddr_mightSlipFallInMsg); // "Better not... I might slip and fall in..."
+ break;
+
+ case 0x7ce5: // put spring on the solid ground
playSound(5, 2);
playSound(19, 11);
playActorAnimation(840);
setOns(1, 0x61);
- inventory->remove(0x50);
+ inventory->remove(kInvItemSpring);
disableObject(2);
enableObject(7);
- return true;
+ break;
- case 0x7d1a: //captain's key + door
- if (res->dseg.get_byte(0xDBDF) <= 1) {
+ case 0x7d1a: // captain's key + door
+ if (res->dseg.get_byte(dsAddr_FirstActTrialState) <= 1) {
playSound(5, 2);
playSound(57, 12);
playSound(70, 19);
@@ -1198,24 +2151,23 @@ bool TeenAgentEngine::processCallback(uint16 addr) {
wait(200);
playAnimation(0, 1);
setOns(0, 0);
- Dialog::showMono(scene, 0x63a5, 830, 0xd0, 1);
+ dialog->showMono(156, scene, 830, textColorShockedCaptain, 1);
loadScene(7, 130, 195, 2);
playMusic(4);
setLan(1, 1);
wait(100);
- Dialog::show(scene, 0x6406, 0, 832, 0xd1, 0xec, 0, 1);
+ dialog->show(157, scene, 0, 832, textColorMark, textColorCaptain, 0, 1);
//playAnimation(831, 1);
- SET_FLAG(0xDBDF, 2);
-
+ SET_FLAG(dsAddr_FirstActTrialState, 2);
} else
- displayMessage(0x52f6);
- return true;
+ displayMessage(dsAddr_nahMsg); // "Nah"
+ break;
- case 0x7e02: //tickling the captain
- if (CHECK_FLAG(0xdbe0, 1)) {
- displayMessage(0x5632);
+ case 0x7e02: // tickling the captain
+ if (CHECK_FLAG(dsAddr_AlreadyTickledCaptainFlag, 1)) {
+ displayMessage(dsAddr_doesNotWorkMsg); // "That doesn't work"
} else {
playSound(5, 6);
playSound(27, 49);
@@ -1224,37 +2176,37 @@ bool TeenAgentEngine::processCallback(uint16 addr) {
waitAnimation();
setOns(0, 94);
- Dialog::show(scene, 0x65e9, 0, 832, 0xd1, 0xec, 0, 1);
+ dialog->show(161, scene, 0, 832, textColorMark, textColorCaptain, 0, 1);
enableObject(12);
- SET_FLAG(0xdbe0, 1);
+ SET_FLAG(dsAddr_AlreadyTickledCaptainFlag, 1);
}
- return true;
+ break;
- case 0x7e4f: //giving magazine to captain
- Dialog::show(scene, 0x66c0, 0, 856, 0xd1, 0xec, 0, 1);
+ case 0x7e4f: // giving magazine to captain
+ dialog->show(162, scene, 0, 856, textColorMark, textColorCaptain, 0, 1);
playSound(5, 3);
playActorAnimation(852, true);
playActorAnimation(853, true);
- displayMessage(0x5742);
- displayMessage(0x5757);
- displayMessage(0x5770);
- displayMessage(0x5782);
- displayMessage(0x5799);
+ displayMessage(dsAddr_whatAboutMsg); // "What about a new"
+ displayMessage(dsAddr_hotOffMsg); // "hot off the press"
+ displayMessage(dsAddr_fullColorMsg); // "full-color"
+ displayMessage(dsAddr_specialEdMsg); // "special edition"
+ displayMessage(dsAddr_soldierNewsMsg); // "of Soldier News?!"
playAnimation(856, 1);
playSound(5, 3);
//playActorAnimation(854);
- Dialog::show(scene, 0x66fe, 0, 856, 0xd1, 0xec, 0, 1);
+ dialog->show(163, scene, 0, 856, textColorMark, textColorCaptain, 0, 1);
playAnimation(855, 1);
wait(200);
moveTo(30, 181, 0);
disableObject(1);
setLan(1, 0);
- SET_FLAG(0xDBDF, 3);
- SET_FLAG(0xDBF0, 1);
+ SET_FLAG(dsAddr_FirstActTrialState, 3);
+ SET_FLAG(dsAddr_gotPasswordNeedSpeakBarmanFlag, 1);
loadScene(8, 155, 199);
- return true;
+ break;
- case 0x7fbd: //using bird & bartender
+ case 0x7fbd: // using bird & bartender
playSound(5, 3);
playActorAnimation(876);
setOns(1, 0);
@@ -1263,15 +2215,15 @@ bool TeenAgentEngine::processCallback(uint16 addr) {
playAnimation(877, 1);
playAnimation(880, 1, true);
- Dialog::show(scene, 0x6f0e, 0, 857, 0xd1, 0xef, 0, 1);
+ dialog->show(176, scene, 0, 857, textColorMark, textColorBarman, 0, 1);
setOns(2, 0x6a);
reloadLan();
playAnimation(878, 0);
- //playAnimation(879, 0); //background bartender animation
- inventory->remove(0x5c);
+ //playAnimation(879, 0); // background bartender animation
+ inventory->remove(kInvItemBird);
enableObject(1);
- SET_FLAG(0xDBE7, 1);
- return true;
+ SET_FLAG(dsAddr_birdOnBarRadioAntennaFlag, 1);
+ break;
case 0x8047:
playSound(32, 5);
@@ -1279,27 +2231,26 @@ bool TeenAgentEngine::processCallback(uint16 addr) {
playSound(52, 23);
playActorAnimation(881);
setOns(2, 0x6b);
- inventory->remove(0x56);
- inventory->add(0x55);
- SET_FLAG(0xDBE8, 1);
- return true;
+ inventory->remove(kInvItemMugOfMud);
+ inventory->add(kInvItemMug);
+ SET_FLAG(dsAddr_swappedBarmanMugFlag, 1);
+ break;
case 0x808b:
- if (CHECK_FLAG(0xDBDA, 1)) {
- //alredy shown
- displayMessage(0x53F2);
+ if (CHECK_FLAG(dsAddr_ShownPassToGuardFlag, 1)) {
+ displayMessage(dsAddr_gotPermissionMsg); // "I already got the permission"
} else {
- displayMessage(0x53DD);
+ displayMessage(dsAddr_showPapersMsg); // "Here are my papers"
playSound(5, 2);
playSound(5, 18);
playActorAnimation(810);
- Dialog::show(scene, 0x60BF, 0, 809, 0xd1, 0xd0, 0, 1);
- SET_FLAG(0xDBDA, 1);
+ dialog->show(147, scene, 0, 809, textColorMark, textColorCampGuard, 0, 1);
+ SET_FLAG(dsAddr_ShownPassToGuardFlag, 1);
}
- return true;
+ break;
- case 0x80c3: //show kaleydoscope to the guard
- Dialog::show(scene, 0x6811, 0, 809, 0xd1, 0xd0, 0, 1);
+ case 0x80c3: // show kaleidoscope to the guard
+ dialog->show(165, scene, 0, 809, textColorMark, textColorCampGuard, 0, 1);
playSound(5, 3);
playSound(5, 30);
playSound(26, 14);
@@ -1309,124 +2260,146 @@ bool TeenAgentEngine::processCallback(uint16 addr) {
playAnimation(851, 0);
playAnimation(850, 0);
reloadLan();
- inventory->add(0x53);
- inventory->remove(0x52);
+ inventory->add(kInvItemSoldierNews);
+ inventory->remove(kInvItemKaleidoscope);
enableObject(1);
- SET_FLAG(0xDBE2, 1);
- return true;
+ SET_FLAG(dsAddr_act1GuardState, 1);
+ break;
+
+ case 0x8398:
+ displayMessage(dsAddr_trySomewhereElseMsg); // "I'd better try somewhere else - I suppose this side is heavily guarded"
+ break;
+
+ case 0x85dd:
+ displayMessage(dsAddr_branchNotPaddleMsg); // "This branch is not a paddle. It doesn't even look like one"
+ break;
+
+ case 0x85e4:
+ displayMessage(dsAddr_sharpenNotPulverizeMsg); // "I needed to sharpen it, not pulverize"
+ break;
+
+ case 0x8d42:
+ displayMessage(dsAddr_bluntSickleMsg); // "The sickle is too blunt"
+ break;
- //Shore
+ case 0x8d49:
+ displayMessage(dsAddr_noChainsawFuelMsg); // "There's no fuel in the chainsaw"
+ break;
+
+ case 0x8d50:
+ displayMessage(dsAddr_thornsTooThinMsg); // "Thorns are too thin, the chainsaw is useless here"
+ break;
+
+ // Shore
case 0x5348:
- if (CHECK_FLAG(0xdb99, 1)) { //got broken paddle from boat
- displayMessage(0x351f);
+ if (CHECK_FLAG(dsAddr_alreadyGotBrokenPaddleFlag, 1)) { // got broken paddle from boat
+ displayMessage(dsAddr_boatEmptyMsg); // "There's nothing else in the boat"
} else {
- SET_FLAG(0xDB99, 1);
+ SET_FLAG(dsAddr_alreadyGotBrokenPaddleFlag, 1);
playSound(57, 6);
playActorAnimation(536);
- Dialog::showMono(scene, 0x30c3, 0, 0xd1, 0);
- inventory->add(0x8);
+ dialog->showMono(77, scene, 0, textColorMark, 0);
+ inventory->add(kInvItemBrokenPaddle);
}
- return true;
+ break;
case 0x53a1:
- if (CHECK_FLAG(0xdbb2, 1)) { //spoken to man in well
- displayMessage(0x411d);
+ if (CHECK_FLAG(dsAddr_spokenToManInWellFlag, 1)) { // spoken to man in well
+ displayMessage(dsAddr_stillThereMsg); // "Are you still there?"
} else {
- displayMessage(0x408a);
- displayMessage(0x4091, 0xe5, 52728);
- displayMessage(0x4098);
- displayMessage(0x40a7, 0xe5, 52705);
- displayMessage(0x40b6);
- displayMessage(0x40ce, 0xe5, 52652);
- displayMessage(0x40e8);
- displayMessage(0x410f, 0xe5, 52712);
+ displayMessage(dsAddr_echoMsg); // "Echo!"
+ displayMessage(dsAddr_loudEchoMsg, textColorWellEcho, 248, 164); // "ECHO!"
+ displayMessage(dsAddr_whoThereMsg); // "Who's there?!"
+ displayMessage(dsAddr_loudWhoThereMsg, textColorWellEcho, 225, 164); // "WHO'S THERE?!"
+ displayMessage(dsAddr_dontCopyMsg); // "DON'T COPY ME!"
+ displayMessage(dsAddr_loudDontCopyMsg, textColorWellEcho, 172, 164); // "DON'T COPY ME!!!"
+ displayMessage(dsAddr_throwRockMsg); // "OR I WILL THROW A ROCK DOWN THERE!"
+ displayMessage(dsAddr_orIWillMsg, textColorWellEcho, 232, 164); // "OR I WILL"
wait(100);
- displayMessage(0x4091, 0xe5, 52728);
- SET_FLAG(0xDBB2, 1);
+ displayMessage(dsAddr_loudEchoMsg, textColorWellEcho, 248, 164);
+ SET_FLAG(dsAddr_spokenToManInWellFlag, 1);
}
- return true;
+ break;
+ case 0x5458:
+ {
+ setOns(2, 0);
+ playSound(34, 7);
+ playActorAnimation(535);
+ inventory->add(kInvItemSecondFlower);
+ disableObject(1);
- case 0x5458: {
- setOns(2, 0);
- playSound(34, 7);
- playActorAnimation(535);
- inventory->add(11);
- disableObject(1);
-
- byte *scene_15_ons = scene->getOns(15); //patch ons for the scene 15
- scene_15_ons[0] = 0;
+ byte *scene_15_ons = scene->getOns(15); // patch ons for the scene 15
+ scene_15_ons[0] = 0;
- byte f = GET_FLAG(0xDB98) + 1;
- SET_FLAG(0xDB98, f);
- if (f >= 2) {
- //disable object boat for scene 15!!
- disableObject(1, 15);
+ byte f = GET_FLAG(dsAddr_flowerIsleState) + 1;
+ SET_FLAG(dsAddr_flowerIsleState, f);
+ if (f >= 2) {
+ // disable object boat for scene 15!!
+ disableObject(1, 15);
+ }
}
- }
- return true;
+ break;
- case 0x54b3: {
- setOns(1, 0);
- setOns(3, 0);
- playSound(33, 6);
- playActorAnimation(534);
- inventory->add(10);
- disableObject(2);
- setOns(1, 10);
- setOns(1, 0, 15);
- byte f = GET_FLAG(0xDB98) + 1;
- SET_FLAG(0xDB98, f);
- if (f >= 2) {
- //disable object boat for scene 15!!
- disableObject(1, 15);
+ case 0x54b3:
+ {
+ setOns(1, 0);
+ setOns(3, 0);
+ playSound(33, 6);
+ playActorAnimation(534);
+ inventory->add(kInvItemFirstFlower);
+ disableObject(2);
+ setOns(1, 10);
+ setOns(1, 0, 15);
+ byte f = GET_FLAG(dsAddr_flowerIsleState) + 1;
+ SET_FLAG(dsAddr_flowerIsleState, f);
+ if (f >= 2) {
+ // disable object boat for scene 15!!
+ disableObject(1, 15);
+ }
}
- }
- return true;
+ break;
case 0x5502:
setOns(0, 0);
loadScene(15, 115, 180, 1);
playMusic(6);
playActorAnimation(568);
- return true;
+ break;
- case 0x5561://Enter lakeside house
- moveTo(94, 115, 4); //call 557e, but it's not needed I guess
+ case 0x5561: // Enter lakeside house
+ fnEgoDefaultPosition();
loadScene(19, 223, 199, 1);
- return true;
+ break;
case 0x55a1:
- processCallback(0x557e);
+ fnEgoDefaultPosition();
rejectMessage();
- return true;
+ break;
- case 0x557e:
- if (scene->getPosition().y <= 149)
- moveTo(94, 115, 4);
- else
- moveTo(51, 149, 4);
- return true;
+ case csAddr_egoDefaultPosition:
+ fnEgoDefaultPosition();
+ break;
case 0x563b:
playSound(5, 10);
setOns(1, 0);
playActorAnimation(561);
- inventory->add(26);
+ inventory->add(kInvItemNut);
disableObject(6);
- return true;
+ break;
case 0x56f6:
playSound(32, 7);
setOns(1, 0);
playActorAnimation(626);
disableObject(12);
- inventory->add(45);
- displayMessage(0x3b04);
- return true;
+ inventory->add(kInvItemCheese);
+ displayMessage(dsAddr_foundFoodMsg); // "People leave food in unbelievable places"
+ break;
- case 0x5756://Open car door
+ case 0x5756: // Open car door
playSound(11, 4);
playActorAnimation(514);
setOns(4, 8);
@@ -1435,106 +2408,94 @@ bool TeenAgentEngine::processCallback(uint16 addr) {
enableObject(15);
enableObject(16);
disableObject(1);
- return true;
+ break;
- case 0x5805://Enter basketball house
+ case 0x5805: // Enter basketball house
playSound(70, 6);
playActorAnimation(513);
loadScene(22, 51, 180, 2);
- return true;
+ break;
- case 0x5832://Ring doorbell
+ case 0x5832: // Ring doorbell
playActorAnimation(509);
- displayMessage(0x5dce);
- return true;
+ displayMessage(dsAddr_outOfOrderMsg); // "It's out of order"
+ break;
case 0x58a2:
- Dialog::pop(scene, 0xdaba, 0, 502, 0xd1, 0xe5, 0, 1);
- scene->getObject(13)->setName((const char *)res->dseg.ptr(0x92e5));
- return true;
+ dialog->pop(scene, dsAddr_dialogStackSonny, 0, 502, textColorMark, textColorSonny, 0, 1);
+ scene->getObject(13)->setName((const char *)res->dseg.ptr(dsAddr_scnObjNameSonny));
+ break;
- case 0x58b7://Get comb from car
+ case 0x58b7: // Get comb from car
disableObject(14);
setOns(4, 0);
playSound(5, 7);
playActorAnimation(521);
setOns(4, 0);
- inventory->add(0x6);
- return true;
+ inventory->add(kInvItemComb);
+ break;
- case 0x58df://Pull trunk lever in car
- SET_FLAG(0xDB94, 1);
+ case 0x58df: // Pull trunk lever in car
+ SET_FLAG(dsAddr_alreadyPulledTrunkReleaseLeverFlag, 1);
playSound(6, 1);
setOns(3, 6);
playActorAnimation(515);
- return true;
+ break;
- case 0x593e://Enter annes house
+ case 0x593e: // Enter annes house
playSound(89, 4);
playActorAnimation(980);
loadScene(23, 76, 199, 1);
- if (CHECK_FLAG(0xDBEE, 1))
+ if (CHECK_FLAG(dsAddr_lovestruckByAnneFlag, 1))
playMusic(7);
- return true;
+ break;
case 0x5994:
- processCallback(0x599b);
- processCallback(0x5a21);
- return true;
+ fnEnterCave();
+ break;
- case 0x599b:
- return true;
+ case csAddr_caveNOP:
+ break;
- case 0x5a21:
- loadScene(24, 230, 170, 1);
- playSound(52, 3);
- playSound(52, 7);
- playSound(52, 11);
- playSound(52, 14);
- playSound(52, 18);
- playSound(52, 21);
- playSound(52, 25);
- playActorAnimation(601);
- moveTo(230, 179, 3);
- if (!CHECK_FLAG(0xDBA4, 1))
- displayMessage(0x37ea); //it's kinda dark here
- return true;
+ case csAddr_enterCave:
+ fnEnterCave();
+ break;
case 0x5a8b:
- if (!CHECK_FLAG(0xDBAD, 1)) {
- playSound(43, 4); //grrrrrr
+ if (!CHECK_FLAG(dsAddr_dogHasBoneFlag, 1)) {
+ playSound(43, 4); // grrrrrr
playSound(42, 15);
playSound(42, 17);
playSound(42, 19);
playAnimation(656, 0);
wait(50);
- displayMessage(0x3c16);
- } else if (!CHECK_FLAG(0xDBA3, 1)) {//Dog has bone
+ displayMessage(dsAddr_goodDoggyMsg); // "I understand. Good doggy"
+ } else if (!CHECK_FLAG(dsAddr_cellarDoorOpenFlag, 1)) { // Dog has bone
playSound(28, 3);
playActorAnimation(596);
setOns(1, 30);
- SET_FLAG(0xDBA3, 1);
+ SET_FLAG(dsAddr_cellarDoorOpenFlag, 1);
enableObject(8);
} else {
setOns(1, 0);
playSound(4, 4);
playActorAnimation(597);
- SET_FLAG(0xDBA3, 0);
+ SET_FLAG(dsAddr_cellarDoorOpenFlag, 0);
disableObject(8);
- displayMessage(0x37b8);
+ displayMessage(dsAddr_wallShakenMsg); // "Wow! This must have shaken all the nearby walls!"
setOns(1, 32, 24);
enableObject(4, 24);
}
- return true;
+ break;
- case 0x5b3a://Click on dog
- Dialog::popMark(scene, 0xDB14);
- return true;
+ case 0x5b3a: // Click on dog
+ dialog->popMark(scene, dsAddr_dialogStackDog);
+ break;
- case 0x5b59: //picking up the rope
- Dialog::showMark(scene, 0x2cbd);
+ case 0x5b59: // picking up the rope
+ dialog->showMark(70, scene);
wait(150);
- Dialog::showMark(scene, 0x2dc2);
+ dialog->showMark(71, scene);
moveRel(0, -12, 0);
playSound(34, 5);
playActorAnimation(607);
@@ -1545,81 +2506,81 @@ bool TeenAgentEngine::processCallback(uint16 addr) {
playSound(5, 25);
playActorAnimation(611);
moveTo(16, scene->getPosition().y, 4, true);
- inventory->add(38);
+ inventory->add(kInvItemRopeAct2);
disableObject(12);
- return true;
+ break;
- case 0x5be1://Talk to grandpa
- Dialog::pop(scene, 0xDAC4, 0, 522, 0xd1, 0xd8, 0, 1);
- return true;
+ case 0x5be1: // Talk to grandpa
+ dialog->pop(scene, dsAddr_dialogStackGrandpa, 0, 522, textColorMark, textColorGrandpa, 0, 1);
+ break;
case 0x5bee:
playSound(89, 5);
playSound(67, 11);
playActorAnimation(982);
- displayMessage(0x5955);
- return true;
+ displayMessage(dsAddr_emptyMsg); // "It's Empty"
+ break;
- case 0x5c0d: //grandpa - drawers
- if (CHECK_FLAG(0xDBA7, 1)) {
- displayMessage(0x3bac);
+ case 0x5c0d: // grandpa - drawers
+ if (CHECK_FLAG(dsAddr_SearchedGrandpaDrawersFlag, 1)) {
+ displayMessage(dsAddr_drawersEmptyMsg); // "There's nothing else in the drawers"
} else {
- if (!CHECK_FLAG(0xDB92, 1))
- Dialog::show(scene, 0x15a0, 0, 522, 0xd1, 0xd8, 0, 1); //can I search your drawers?
+ if (!CHECK_FLAG(dsAddr_alreadyAdjustedHoopPoleFlag, 1))
+ dialog->show(24, scene, 0, 522, textColorMark, textColorGrandpa, 0, 1);
playSound(66, 5);
playSound(67, 20);
playSound(5, 23);
playActorAnimation(631);
- inventory->add(47);
- SET_FLAG(0xDBA7, 1);
+ inventory->add(kInvItemHandkerchief);
+ SET_FLAG(dsAddr_SearchedGrandpaDrawersFlag, 1);
}
- return true;
+ break;
case 0x5c84:
- if (CHECK_FLAG(0xDB92, 1)) {
- inventory->add(2);
+ if (CHECK_FLAG(dsAddr_alreadyAdjustedHoopPoleFlag, 1)) {
+ inventory->add(kInvItemShotgun);
disableObject(7);
playSound(32, 7);
setOns(0, 0);
playActorAnimation(520);
} else {
- Dialog::pop(scene, 0xDACE, 0, 522, 0xd1, 0xd8, 0, 1);
+ dialog->pop(scene, dsAddr_dialogStackGrandpaShotgun, 0, 522, textColorMark, textColorGrandpa, 0, 1);
}
- return true;
+ break;
- case 0x5cf0://Exit basketball house
+ case 0x5cf0:// Exit basketball house
playSound(88, 5);
playActorAnimation(981);
loadScene(20, 161, 165);
- return true;
+ break;
- case 0x5d24: //getting the fan
- if (CHECK_FLAG(0xDB92, 1)) {
+ case 0x5d24: // getting the fan
+ if (CHECK_FLAG(dsAddr_alreadyAdjustedHoopPoleFlag, 1)) {
setLan(2, 0);
playSound(32, 7);
playActorAnimation(508);
disableObject(13);
- inventory->add(7);
+ inventory->add(kInvItemFan);
} else {
- Dialog::pop(scene, 0xDAD4, 0, 522, 0xd1, 0xd8, 0, 1);
+ dialog->pop(scene, dsAddr_dialogStackGrandpaFan, 0, 522, textColorMark, textColorGrandpa, 0, 1);
}
- return true;
+ break;
- case 0x5e4d: //right click on ann
- if (!CHECK_FLAG(0xDB97, 0)) {
- displayMessage(0x3d59);
+ case 0x5e4d: // right click on ann
+ if (!CHECK_FLAG(dsAddr_alreadySpokenToAnneFlag, 0)) {
+ displayMessage(dsAddr_girlTalkMsg); // "I really don't know how to talk to girls"
} else {
moveTo(245, 198, 1);
- Dialog::show(scene, 0x21d7, 0, 524, 0xd1, 0xe5, 0, 2);
- //waitLanAnimationFrame(2, 1); //too long, about 200 frames! seems to be present in original game (sic)
- SET_FLAG(0xDB97, 1);
+ dialog->show(51, scene, 0, 524, textColorMark, textColorAnne, 0, 2);
+ //waitLanAnimationFrame(2, 1); // too long, about 200 frames! seems to be present in original game (sic)
+ SET_FLAG(dsAddr_alreadySpokenToAnneFlag, 1);
for (byte i = 10; i <= 20; i += 2)
playSound(13, i);
playAnimation(528, 1);
wait(50);
playMusic(7);
- SET_FLAG(0xDBEE, 1);
+ SET_FLAG(dsAddr_lovestruckByAnneFlag, 1);
for (byte i = 3; i <= 17; i += 2)
playSound(56, i);
playActorAnimation(525);
@@ -1633,163 +2594,146 @@ bool TeenAgentEngine::processCallback(uint16 addr) {
playSound(55, 5);
playActorAnimation(527);
wait(50);
- Dialog::show(scene, 0x2219, 0, 524, 0xd1, 0xe5, 0, 2);
- scene->getObject(2)->setName((const char *)res->dseg.ptr(0x9820));
+ dialog->show(52, scene, 0, 524, textColorMark, textColorAnne, 0, 2);
+ scene->getObject(2)->setName((const char *)res->dseg.ptr(dsAddr_scnObjNameAnne));
}
- return true;
+ break;
- case 0x5f73: //exiting ann's house
- if (CHECK_FLAG(0xDBEE, 1))
+ case 0x5f73: // exiting ann's house
+ if (CHECK_FLAG(dsAddr_lovestruckByAnneFlag, 1))
playMusic(6);
loadScene(21, 99, 180, 3);
- return true;
+ break;
case 0x5fba:
- if (CHECK_FLAG(0xDBB1, 1)) {
- displayMessage(0x4380);
+ if (CHECK_FLAG(dsAddr_nutSwappedForAppleFlag, 1)) {
+ displayMessage(dsAddr_noFruitMsg); // "There are no more interesting fruits here"
} else {
- Dialog::pop(scene, 0xDAFC, 0, 523, 0xd1, 0xe5, 0, 1);
+ dialog->pop(scene, dsAddr_dialogStackGetAppleOldLady, 0, 523, textColorMark, textColorOldLady, 0, 1);
}
- return true;
+ break;
case 0x607f:
- return processCallback(0x60b5);
+ fnEgoScaredBySpider();
+ break;
case 0x6083:
- if (CHECK_FLAG(0xDBA4, 1)) {
+ if (CHECK_FLAG(dsAddr_lightOnFlag, 1)) {
setOns(0, 0);
playSound(56, 10);
playActorAnimation(599);
- inventory->add(37);
+ inventory->add(kInvItemShovelAct2);
disableObject(2);
} else
- processCallback(0x60b5);
- return true;
+ fnEgoScaredBySpider();
+ break;
- case 0x60b5:
- if (CHECK_FLAG(0xDBAE, 1)) {
- processCallback(0x60d9);
- Dialog::showMark(scene, 0x2fdd);
- } else {
- Dialog::showMark(scene, 0x2e41);
- processCallback(0x60d9);
- wait(100);
- Dialog::showMark(scene, 0x2e6d);
- }
- return true;
+ case csAddr_egoScaredBySpider:
+ fnEgoScaredBySpider();
+ break;
- case 0x60d9: {
- Object *obj = scene->getObject(3);
- moveTo(obj);
- processCallback(0x612b);
- moveTo(48, 190, 3);
- }
- return true;
+ case csAddr_moveToLadderAndLeaveCellar:
+ fnMoveToLadderAndLeaveCellar();
+ break;
- case 0x612b:
- playSound(52, 10);
- playSound(52, 14);
- playSound(52, 18);
- playSound(52, 21);
- playSound(52, 25);
- playSound(52, 28);
- playSound(52, 32);
- playActorAnimation(600);
- loadScene(21, 297, 178, 3);
- return true;
+ case csAddr_leaveCellar:
+ fnLeaveCellar();
+ break;
case 0x6176:
- if (CHECK_FLAG(0xDBA4, 1)) {
- displayMessage(0x3801);
- return true;
+ if (CHECK_FLAG(dsAddr_lightOnFlag, 1)) {
+ displayMessage(dsAddr_notInDarkMsg); // "I'm not going to wander here in the dark again"
+ } else {
+ playSound(71, 6);
+ playActorAnimation(598);
+ loadScene(24, scene->getPosition());
+ setOns(2, 0);
+ setLan(1, 0);
+ playAnimation(660, 0);
+ disableObject(1);
+ SET_FLAG(dsAddr_lightOnFlag, 1);
+ loadScene(24, scene->getPosition());
}
- playSound(71, 6);
- playActorAnimation(598);
- loadScene(24, scene->getPosition());
- setOns(2, 0);
- setLan(1, 0);
- playAnimation(660, 0);
- disableObject(1);
- SET_FLAG(0xDBA4, 1);
- loadScene(24, scene->getPosition());
-
- return true;
+ break;
case 0x61e9:
- if (CHECK_FLAG(0xDBA4, 1)) {
- Dialog::popMark(scene, 0xdb1e);
- } else
- processCallback(0x61fe);
+ if (CHECK_FLAG(dsAddr_lightOnFlag, 1))
+ dialog->popMark(scene, dsAddr_dialogStackTakeAxe);
+ else
+ fnTooDark();
+ break;
- return true;
+ case csAddr_TooDark:
+ displayMessage(dsAddr_TooDarkMsg); // "It's too dark to see clearly"
+ break;
- case 0x6229: //shelves in cellar
- if (CHECK_FLAG(0xDBA4, 1)) {
+ case 0x6229: // shelves in cellar
+ if (CHECK_FLAG(dsAddr_lightOnFlag, 1)) {
Common::Point p = scene->getPosition();
- byte v = GET_FLAG(0xDBB4);
+ byte v = GET_FLAG(dsAddr_cellarShelfExamineCount);
switch (v) {
case 0:
- displayMessage(0x4532);
+ displayMessage(dsAddr_whatGotMsg); // "Let's look what we've got here"
moveRel(-34, 0, 1);
- displayMessage(0x4555);
+ displayMessage(dsAddr_strawberryJamMsg); // "Strawberry jam"
moveRel(20, 0, 1);
- displayMessage(0x4568);
+ displayMessage(dsAddr_gooseberryJamMsg); // "Gooseberry jam"
moveRel(20, 0, 1);
- displayMessage(0x457b);
+ displayMessage(dsAddr_blackberryJamMsg); // "Blackberry jam"
moveRel(20, 0, 1);
- displayMessage(0x458e);
+ displayMessage(dsAddr_bilberryJamMsg); // "Bilberry jam"
moveTo(p, 3);
- displayMessage(0x459f);
- SET_FLAG(0xDBB4, 1);
+ displayMessage(dsAddr_getMeOutJamMsg); // "Get me out of this jam!"
+ SET_FLAG(dsAddr_cellarShelfExamineCount, 1);
break;
case 1:
- displayMessage(0x45b8);
+ displayMessage(dsAddr_rosemaryJamMsg); // "Oh, and there is Rosemary jam"
wait(100);
- displayMessage(0x45da);
- SET_FLAG(0xDBB4, 2);
+ displayMessage(dsAddr_knowRosemaryMsg); // "I used to know someone called Rosemary"
+ SET_FLAG(dsAddr_cellarShelfExamineCount, 2);
break;
default:
- displayMessage(0x4603);
+ displayMessage(dsAddr_unwantedJamsMsg); // "I don't want those jams"
+ break;
}
} else
- processCallback(0x61fe);
-
- return true;
+ fnTooDark();
+ break;
- case 0x6480: //dive mask
- if (CHECK_FLAG(0xDB96, 1)) {
+ case 0x6480: // dive mask
+ if (CHECK_FLAG(dsAddr_birdsGoneFromScarecrowFlag, 1)) {
playSound(56, 7);
playSound(5, 15);
playActorAnimation(613);
setOns(3, 36);
- inventory->add(39);
+ inventory->add(kInvItemMask);
disableObject(5);
- displayMessage(0x387c);
+ displayMessage(dsAddr_needSunglassesMsg); // "Sorry buddy, but I need your sunglasses"
} else
- displayMessage(0x3eb2);
- return true;
+ displayMessage(dsAddr_crowKillMsg); // "I'm sure these crows will kill me"
+ break;
- case 0x64c4: //flippers
- if (CHECK_FLAG(0xDB96, 1)) {
+ case 0x64c4: // flippers
+ if (CHECK_FLAG(dsAddr_birdsGoneFromScarecrowFlag, 1)) {
setOns(2, 35);
playSound(63, 8);
playSound(24, 10);
playActorAnimation(612);
- inventory->add(40);
+ inventory->add(kInvItemFins);
disableObject(6);
} else
- displayMessage(0x3eb2);
- return true;
+ displayMessage(dsAddr_crowKillMsg); // "I'm sure these crows will kill me"
+ break;
- case 0x7907://Describe car lever
- if (CHECK_FLAG(0xdb94, 1)) {//Already pulled lever?
- displayMessage(0x3e4f);
- return true;
+ case 0x7907: // Describe car lever
+ if (CHECK_FLAG(dsAddr_alreadyPulledTrunkReleaseLeverFlag, 1)) { // Already pulled lever?
+ displayMessage(dsAddr_openBootMsg); // "It opens the boot"
} else
- return false;
+ retVal = false;
+ break;
- case 0x62d0://Get bone from under rock
- displayAsyncMessage(0x463c, 30938, 16, 24);
+ case 0x62d0: // Get bone from under rock
+ displayAsyncMessage(dsAddr_yeowMsg, 218, 96, 16, 24); // "YEEEOOOWWWW!"
playSound(26, 6);
playSound(26, 10);
playSound(24, 13);
@@ -1798,35 +2742,34 @@ bool TeenAgentEngine::processCallback(uint16 addr) {
playActorAnimation(594);
setOns(0, 29);
disableObject(1);
- inventory->add(36);
+ inventory->add(kInvItemBone);
playSound(5, 2);
playActorAnimation(595);
- displayMessage(0x3790);
- return true;
+ displayMessage(dsAddr_dinoBoneMsg); // "I really hope this is DINOSAUR bone"
+ break;
case 0x6351:
- if (CHECK_FLAG(0xdaca, 1)) { //cave bush is cut down
+ if (CHECK_FLAG(dsAddr_caveThornsCutDownFlag, 1)) { // cave bush is cut down
playMusic(8);
loadScene(26, 319, 169, 4);
} else
- displayMessage(0x3bd2);
- return true;
+ displayMessage(dsAddr_ridBushMsg); // "I must get rid of this bush first"
+ break;
case 0x63ea:
playSound(5, 10);
setOns(0, 0);
playActorAnimation(640);
- inventory->add(50);
+ inventory->add(kInvItemNugget);
disableObject(6);
- return true;
+ break;
- case 0x6411://Kick hen
- if (CHECK_FLAG(0xdb93, 1)) { //already kicked hen
- displayMessage(0x3e08);
- return true;
+ case 0x6411: // Kick hen
+ if (CHECK_FLAG(dsAddr_alreadyKickedHenFlag, 1)) { // already kicked hen
+ displayMessage(dsAddr_ridFrustationsMsg); // "I'd already got rid of my frustrations"
} else {
- SET_FLAG(0xdb93, 1);
- displayMessage(0x3dc6);
+ SET_FLAG(dsAddr_alreadyKickedHenFlag, 1);
+ displayMessage(dsAddr_henFlyMsg); // "I wonder if hens can fly. Come here, baby"
waitLanAnimationFrame(1, 87);
playSound(30, 26);
playSound(29, 49);
@@ -1835,198 +2778,191 @@ bool TeenAgentEngine::processCallback(uint16 addr) {
waitAnimation();
setOns(0, 1);
enableObject(14);
- displayMessage(0x3df4);
- return true;
+ displayMessage(dsAddr_firstTestFailMsg); // "First test failed"
}
+ break;
- case 0x6592: //Rake
+ case 0x6592: // Rake
setOns(1, 0);
playSound(18, 10);
playActorAnimation(553);
- inventory->add(0x15);
+ inventory->add(kInvItemRakeBroken);
wait(50);
- displayMessage(0x3605);
+ displayMessage(dsAddr_trousersMsg); // "Good I always asked mum for trousers with BIG pockets"
disableObject(11);
- return true;
+ break;
case 0x66b5:
playSound(89, 5);
playActorAnimation(969);
loadScene(33, 319, 181, 4);
- return true;
+ break;
- case 0x6519://Sickle
+ case 0x6519: // Sickle
setOns(4, 0);
playSound(5, 11);
playActorAnimation(625);
- inventory->add(0x2c);
+ inventory->add(kInvItemSickleBlunt);
disableObject(8);
- return true;
+ break;
- case 0x655b://Get needle from haystack
- if (CHECK_FLAG(0xdb9d, 1)) { //already have needle
- displayMessage(0x356a);
- return true;
+ case 0x655b: // Get needle from haystack
+ if (CHECK_FLAG(dsAddr_gotNeedleAlreadyFlag, 1)) { // already have needle
+ displayMessage(dsAddr_dontPushLuckMsg); // "I don't think I should push my luck"
} else {
- SET_FLAG(0xdb9d, 1);
+ SET_FLAG(dsAddr_gotNeedleAlreadyFlag, 1);
playSound(49, 3);
playActorAnimation(548);
- inventory->add(0x11);
- displayMessage(0x35b2);
- return true;
+ inventory->add(kInvItemNeedle);
+ displayMessage(dsAddr_needleHaystackMsg); // "And they say you can't find a needle in a haystack"
}
+ break;
- case 0x663c://Feather
+ case 0x663c: // Feather
setOns(0, 0);
playSound(5, 9);
playActorAnimation(511);
- inventory->add(1);
+ inventory->add(kInvItemFeather);
disableObject(15);
- return true;
+ break;
case 0x667c:
playSound(70, 4);
playActorAnimation(972);
loadScene(29, 160, 199, 1);
- return true;
+ break;
case 0x66a9:
- displayMessage(0x4a7e);
+ displayMessage(dsAddr_dontLeaveMansionMsg); // "I don't want to leave the mansion, I want blood!"
disableObject(4);
- return true;
+ break;
case 0x66e2:
playSound(88, 4);
playActorAnimation(970);
loadScene(35, 160, 199, 1);
- return true;
+ break;
case 0x70bb:
- Dialog::pop(scene, 0xdb24, 0, 709, 0xd1, 0xef, 0, 1);
- return true;
+ dialog->pop(scene, dsAddr_dialogStackBusyCook, 0, 709, textColorMark, textColorCook, 0, 1);
+ break;
case 0x71ae:
- if (CHECK_FLAG(0xDBCD, 1)) {
- if (CHECK_FLAG(0xDBCE, 1)) {
- displayMessage(0x4f9b);
+ if (CHECK_FLAG(dsAddr_MansionRadioBrokenFlag, 1)) {
+ if (CHECK_FLAG(dsAddr_MansionGotRadioBatteriesFlag, 1)) {
+ displayMessage(dsAddr_restUselessMsg); // "The rest is useless"
} else {
- displayMessage(0x4fb1);
+ displayMessage(dsAddr_twoBatteriesMsg); // "Wow! Two 1.5V batteries!"
playSound(32, 6);
playActorAnimation(717);
- inventory->add(66);
- SET_FLAG(0xDBCE, 1);
+ inventory->add(kInvItemBatteries);
+ SET_FLAG(dsAddr_MansionGotRadioBatteriesFlag, 1);
}
} else
- Dialog::showMark(scene, 0x3c9d);
- return true;
+ dialog->showMark(97, scene);
+ break;
case 0x70c8:
- if (!processCallback(0x70e0))
- return true;
- moveTo(81, 160, 4);
- displayMessage(0x5cac);
- return true;
-
- case 0x70e0:
- if (!CHECK_FLAG(0xDBCC, 1)) {
- displayMessage(0x4ece);
- return false;
+ if (fnIsCookGone()) {
+ moveTo(81, 160, 4);
+ displayMessage(dsAddr_cognacMsg); // "Pfui! The cognac really didn't do any good"
}
- return true;
+ break;
+
+ case csAddr_isCookGone:
+ retVal = fnIsCookGone();
+ break;
case 0x70ef:
- if (!processCallback(0x70e0))
- return true;
- displayMessage(0x5046);
- return true;
+ if (fnIsCookGone())
+ displayMessage(dsAddr_tooHotMsg); // "It's too hot to touch!"
+ break;
case 0x70f9:
- if (inventory->has(68)) {
- inventory->remove(68);
+ if (inventory->has(kInvItemBurningPaper)) {
+ inventory->remove(kInvItemBurningPaper);
loadScene(29, 40, 176, 2);
- displayMessage(0x500a);
+ displayMessage(dsAddr_paperBurntMsg); // "The paper burnt out completely!"
} else
loadScene(29, 40, 176, 2);
- return true;
+ break;
case 0x712c:
- if (!processCallback(0x70e0))
- return true;
-
- if (CHECK_FLAG(0xDBCF, 1)) {
- playSound(89, 4);
- playActorAnimation(719);
- setOns(4, 67);
- ++ *res->dseg.ptr(READ_LE_UINT16(res->dseg.ptr(0x6746 + (scene->getId() - 1) * 2)));
- disableObject(5);
- enableObject(12);
- } else {
- playSound(89, 4);
- playSound(89, 4);
- playSound(87, 45);
- displayAsyncMessage(0x4fcb, 34672, 11, 35, 0xe5);
- playActorAnimation(718);
- wait(100);
- displayMessage(0x4fe2);
- SET_FLAG(0xDBCF, 1);
+ if (fnIsCookGone()) {
+ if (CHECK_FLAG(dsAddr_MansionHaveOpenedFridgeBeforeFlag, 1)) {
+ playSound(89, 4);
+ playActorAnimation(719);
+ setOns(4, 67);
+ ++ *res->dseg.ptr(READ_LE_UINT16(res->dseg.ptr(dsAddr_sceneWalkboxTablePtr + (scene->getId() - 1) * 2)));
+ disableObject(5);
+ enableObject(12);
+ } else {
+ playSound(89, 4);
+ playSound(89, 4);
+ playSound(87, 45);
+ displayAsyncMessage(dsAddr_oneTakenMsg, 112, 108, 11, 35, textColorEskimo); // "This one's taken, OK?"
+ playActorAnimation(718);
+ wait(100);
+ displayMessage(dsAddr_slightMadMsg); // "It finally happened. I'm slightly mad"
+ SET_FLAG(dsAddr_MansionHaveOpenedFridgeBeforeFlag, 1);
+ }
}
- return true;
+ break;
case 0x71eb:
setOns(2, 0);
playSound(32, 7);
playActorAnimation(710);
- inventory->add(62);
+ inventory->add(kInvItemChilliWithLabel);
disableObject(7);
enableObject(8);
- return true;
+ break;
case 0x7244:
- if (!processCallback(0x70e0))
- return true;
- displayMessage(0x5c60);
- return true;
+ if (fnIsCookGone())
+ displayMessage(dsAddr_neverLearntMsg); // "I never learnt to how use one"
+ break;
case 0x7255:
- if (CHECK_FLAG(0xDBD0, 1)) {
+ if (CHECK_FLAG(dsAddr_MansionPutBurningPaperInFridgeFlag, 1)) {
setOns(4, 69);
playSound(32, 5);
playActorAnimation(725);
disableObject(12);
- inventory->add(69);
+ inventory->add(kInvItemMeat);
} else {
playActorAnimation(721);
- displayMessage(0x505e);
+ displayMessage(dsAddr_frozenShelfMsg); // "It has frozen hard onto the shelf!"
}
- return true;
+ break;
case 0x721c:
setOns(3, 0);
playSound(32, 7);
playActorAnimation(715);
- inventory->add(63);
+ inventory->add(kInvItemPastryRoller);
disableObject(9);
- return true;
+ break;
case 0x7336:
setOns(1, 0);
playSound(5, 42);
- displayAsyncMessage(0x4d02, 32642, 20, 38);
+ displayAsyncMessage(dsAddr_noDepraveMsg, 2, 102, 20, 38); // "Nah, I don't want to deprave the kids"
playActorAnimation(697);
- inventory->add(56);
+ inventory->add(kInvItemCognac);
disableObject(1);
- return true;
+ break;
case 0x7381:
playSound(5, 12);
playActorAnimation(704);
disableObject(2);
- inventory->add(58);
- return true;
+ inventory->add(kInvItemIceTongs);
+ break;
case 0x7408:
- if (CHECK_FLAG(0xDBC4, 1)) {
- displayMessage(0x4d2a);
+ if (CHECK_FLAG(dsAddr_mansionReadNewspaperFlag, 1)) {
+ displayMessage(dsAddr_noReadAgainMsg); // "I don't want to read it again. I might like it."
} else {
setOns(0, 0);
playSound(26, 17);
@@ -2038,45 +2974,45 @@ bool TeenAgentEngine::processCallback(uint16 addr) {
playActorAnimation(698);
setOns(0, 52);
setOns(2, 61);
- Dialog::showMark(scene, 0x38b6);
+ dialog->showMark(92, scene);
enableObject(11);
- SET_FLAG(0xDBC4, 1);
+ SET_FLAG(dsAddr_mansionReadNewspaperFlag, 1);
}
- return true;
+ break;
case 0x7476:
- if (CHECK_FLAG(0xDBC9, 1)) {
- displayMessage(0x4dbb);
+ if (CHECK_FLAG(dsAddr_mansionExaminedCouchBeforeFlag, 1)) {
+ displayMessage(dsAddr_noSleepMsg); // "I don't want to sleep"
} else {
- SET_FLAG(0xDBC9, 1);
- Dialog::showMark(scene, 0x3aca);
+ SET_FLAG(dsAddr_mansionExaminedCouchBeforeFlag, 1);
+ dialog->showMark(94, scene);
playSound(61, 5);
playSound(5, 14);
playActorAnimation(705);
- displayMessage(0x4dd3);
- inventory->add(59);
+ displayMessage(dsAddr_justCorkMsg); // "It's just a cork"
+ inventory->add(kInvItemCork);
}
- return true;
+ break;
case 0x74d1:
setOns(2, 0);
playSound(5, 12);
playActorAnimation(699);
- inventory->add(57);
+ inventory->add(kInvItemRemoteControl);
disableObject(11);
- return true;
+ break;
- case 0x7513: //fatso + doctor: pre-final
- if (CHECK_FLAG(0xDBD7, 1)) {
- if (CHECK_FLAG(0xDBD8, 1)) {
+ case 0x7513: // fatso + doctor: pre-final
+ if (CHECK_FLAG(dsAddr_MansionThruFanByTimePillFlag, 1)) {
+ if (CHECK_FLAG(dsAddr_MansionVentFanStoppedFlag, 1)) {
playSound(88, 4);
playActorAnimation(979);
loadScene(37, 51, 183);
- Dialog::show(scene, 0x54ea, 768, 769, 0xd9, 0xe5, 1, 2);
+ dialog->show(125, scene, 768, 769, textColorMansionGuard, textColorProfessor, 1, 2);
playAnimation(770, 0, true, true, true);
playAnimation(771, 1, true, true, true);
- Dialog::showMono(scene, 0x5523, 0, 0xd1, 0);
+ dialog->showMono(126, scene, 0, textColorMark, 0);
playAnimation(770, 0, true, true, true);
playAnimation(771, 1, true, true, true);
playSound(5, 3);
@@ -2090,11 +3026,11 @@ bool TeenAgentEngine::processCallback(uint16 addr) {
waitAnimation();
setOns(0, 74);
hideActor();
- Dialog::showMono(scene, 0x5556, 775, 0xd0, 1);
+ dialog->showMono(127, scene, 775, textColorJohnNoty, 1);
playAnimation(771, 1, true, true, true);
playAnimation(776, 0);
- Dialog::show(scene, 0x55f7, 777, 778, 0xd0, 0xe5, 1, 2); //i have to kill you anyway
+ dialog->show(128, scene, 777, 778, textColorJohnNoty, textColorProfessor, 1, 2);
playAnimation(779, 0, true, true, true);
playAnimation(780, 1, true, true, true);
@@ -2151,7 +3087,7 @@ bool TeenAgentEngine::processCallback(uint16 addr) {
setOns(0, 80);
playAnimation(792, 3, true, true, true);
- Dialog::show(scene, 0x5665, 0, 791, 0xd1, 0xd0, 0, 4);
+ dialog->show(129, scene, 0, 791, textColorMark, textColorJohnNoty, 0, 4);
playAnimation(792, 3, true, true, true);
moveTo(40, 171, 4);
@@ -2161,43 +3097,47 @@ bool TeenAgentEngine::processCallback(uint16 addr) {
playAnimation(0, 3);
loadScene(31, 298, 177, 4);
- SET_FLAG(0xDBD9, 1);
- } else {
- displayMessage(0x52fe);
- }
+ SET_FLAG(dsAddr_MansionJohnNotyEscapingFlag, 1);
+ } else
+ displayMessage(dsAddr_ventFirstMsg); // "I'd better stop this ventilator first"
} else
- displayMessage(0x52cb);
- return true;
+ displayMessage(dsAddr_noSaladMsg); // "I don't want to turn myself into a salad"
+ break;
case 0x783d:
- Dialog::pop(scene, 0xdb36, 0, 797, 0xd1, 0xd0, 0, 1);
- return true;
+ dialog->pop(scene, dsAddr_dialogStackJohnNotyEndgame, 0, 797, textColorMark, textColorJohnNoty, 0, 1);
+ break;
case 0x7966:
- if (CHECK_FLAG(0xDBA4, 1))
- return false;
- return processCallback(0x60b5);
+ if (CHECK_FLAG(dsAddr_lightOnFlag, 1))
+ retVal = false;
+ else
+ fnEgoScaredBySpider();
+ break;
case 0x7ad0:
case 0x7ad7:
- return !processCallback(0x70e0);
+ retVal = !fnIsCookGone();
+ break;
case 0x7ab9:
- if (CHECK_FLAG(0xDBB6, 1))
- return false;
- Dialog::showMono(scene, 0x37d0, 0, 0xd1, 0);
- SET_FLAG(0xDBB6, 1);
- return true;
+ if (CHECK_FLAG(dsAddr_vgaArtistQuipAlreadySaidFlag, 1))
+ retVal = false;
+ else {
+ dialog->showMono(90, scene, 0, textColorMark, 0);
+ SET_FLAG(dsAddr_vgaArtistQuipAlreadySaidFlag, 1);
+ }
+ break;
case 0x7ade:
- if (CHECK_FLAG(0xdbcd, 1)) {
- displayMessage(0x4f69);
- return true;
- } else
- return false;
+ if (CHECK_FLAG(dsAddr_MansionRadioBrokenFlag, 1))
+ displayMessage(dsAddr_whatInsideMsg); // "I was always curious what's inside these things"
+ else
+ retVal = false;
+ break;
- case 0x7f23://Use grenade on captains drawer
- if (CHECK_FLAG(0xDBDF, 3)) {
+ case 0x7f23: // Use grenade on captains drawer
+ if (CHECK_FLAG(dsAddr_FirstActTrialState, 3)) {
enableOn(false);
playSound(5, 3);
playSound(58, 11);
@@ -2207,123 +3147,120 @@ bool TeenAgentEngine::processCallback(uint16 addr) {
playActorAnimation(870);
playSound(54, 15);
playActorAnimation(871);
- SET_FLAG(0xDBE6, 1);
+ SET_FLAG(dsAddr_captainDrawerState, 1);
setOns(1, 0x66);
moveTo(224, 194, 0, true);
- displayCutsceneMessage(0x57df, 30423);
- inventory->remove(0x59);
+ displayCutsceneMessage(dsAddr_cutsceneMsg1, 23, 95); // "sixty seven rude words later"
+ inventory->remove(kInvItemRopeAndGrenade);
enableOn(true);
- } else {
- displayMessage(0x5de2);
- }
- return true;
+ } else
+ displayMessage(dsAddr_captainWatchingMsg); // "with captain watching? Better not"
+ break;
- case 0x505c: {
- //suspicious stuff
- Common::Point p = scene->getPosition();
- if (p.x != 203 && p.y != 171)
- moveTo(203, 169, 2);
- else
- moveTo(203, 169, 1);
- }
- return true;
+ case csAddr_egoSuspiciousPosition:
+ fnEgoSuspiciousPosition();
+ break;
case 0x509a:
- processCallback(0x505c);
+ fnEgoSuspiciousPosition();
setOns(1, 0);
playSound(5, 10);
playActorAnimation(543);
- inventory->add(15);
+ inventory->add(kInvItemBranch);
disableObject(9);
- return true;
+ break;
case 0x7802:
- if (CHECK_FLAG(0xDBD7, 1)) {
- if (CHECK_FLAG(0xDBD8, 1))
- displayMessage(0x52f6);
+ if (CHECK_FLAG(dsAddr_MansionThruFanByTimePillFlag, 1)) {
+ if (CHECK_FLAG(dsAddr_MansionVentFanStoppedFlag, 1))
+ displayMessage(dsAddr_nahMsg); // "Nah"
else {
playSound(71, 4);
playActorAnimation(796);
setLan(1, 0);
- SET_FLAG(0xDBD8, 1);
+ SET_FLAG(dsAddr_MansionVentFanStoppedFlag, 1);
}
} else
- displayMessage(0x52cb);
- return true;
+ displayMessage(dsAddr_noSaladMsg); // "I don't want to turn myself into a salad"
+ break;
case 0x78e0:
- processCallback(0x505c);
- return false;
+ fnEgoSuspiciousPosition();
+ retVal = false;
+ break;
case 0x78e7:
- processCallback(0x557e);
- return false;
-
case 0x78ee:
- processCallback(0x557e);
- return false;
+ fnEgoDefaultPosition();
+ retVal = false;
+ break;
case 0x78f5:
- if (CHECK_FLAG(0xDB95, 1)) {
- displayMessage(0x3E75);
- return true;
+ if (CHECK_FLAG(dsAddr_carTrunkEmptyFlag, 1)) {
+ displayMessage(dsAddr_bootEmptyMsg); // "There's nothing else in the boot"
} else
- return false;
+ retVal = false;
+ break;
case 0x7919:
- if (!CHECK_FLAG(0xDBA5, 1))
- return false;
- displayMessage(0x3E98);
- return true;
+ if (!CHECK_FLAG(dsAddr_laundryState, 1))
+ retVal = false;
+ else
+ displayMessage(dsAddr_clothesDryMsg); // "The clothes are dry now."
+ break;
case 0x7950:
- if (!CHECK_FLAG(0xDBB1, 1))
- return false;
-
- displayMessage(0x3DAF);
- return true;
+ if (CHECK_FLAG(dsAddr_nutSwappedForAppleFlag, 1))
+ displayMessage(dsAddr_nutRealMsg); // "Only the nut is real"
+ else
+ retVal = false;
+ break;
case 0x7975:
- if (CHECK_FLAG(0xDBA4, 1))
- return false;
- displayMessage(0x3832);
- return true;
+ if (CHECK_FLAG(dsAddr_lightOnFlag, 1))
+ retVal = false;
+ else
+ displayMessage(dsAddr_shutValveMsg); // "Shutting the valve shook the dirt from the wall..."
+ break;
case 0x7987:
case 0x7996:
case 0x79a5:
case 0x79b4:
- if (CHECK_FLAG(0xDBA4, 1))
- return false;
- return processCallback(0x61fe);
+ if (CHECK_FLAG(dsAddr_lightOnFlag, 1))
+ retVal = false;
+ else
+ fnTooDark();
+ break;
case 0x79d2:
- if (!CHECK_FLAG(0xDB9D, 1))
- return false;
- displayMessage(0x3590);
- return true;
+ if (!CHECK_FLAG(dsAddr_gotNeedleAlreadyFlag, 1))
+ retVal = false;
+ else
+ displayMessage(dsAddr_ordinaryHaystackMsg); // "Just an ordinary hay stack. Now."
+ break;
case 0x7af0:
- if (!processCallback(0x70e0))
- return true;
- return false;
+ if (fnIsCookGone())
+ retVal = false;
+ break;
case 0x8117:
- Dialog::show(scene, 0x0a41, 0, 529, 0xd1, 0xd9, 0, 1);
+ dialog->show(9, scene, 0, 529, textColorMark, textColorMansionGuard, 0, 1);
playSound(5, 2);
playSound(5, 44);
playAnimation(642, 0, true);
playActorAnimation(641, true);
waitAnimation();
- Dialog::show(scene, 0x0aff, 0, 529, 0xd1, 0xd9, 0, 1);
+ dialog->show(10, scene, 0, 529, textColorMark, textColorMansionGuard, 0, 1);
wait(170);
- Dialog::show(scene, 0x0ba0, 0, 529, 0xd1, 0xd9, 0, 1);
+ dialog->show(11, scene, 0, 529, textColorMark, textColorMansionGuard, 0, 1);
moveRel(0, 1, 0);
wait(100);
- Dialog::show(scene, 0x0c10, 0, 529, 0xd1, 0xd9, 0, 1);
- inventory->remove(50);
- processCallback(0x9d45);
- return true;
+ dialog->show(12, scene, 0, 529, textColorMark, textColorMansionGuard, 0, 1);
+ inventory->remove(kInvItemNugget);
+ fnMansionIntrusionAttempt();
+ break;
case 0x8174:
setOns(0, 0);
@@ -2336,7 +3273,7 @@ bool TeenAgentEngine::processCallback(uint16 addr) {
setOns(1, 15);
disableObject(3);
enableObject(9);
- return true;
+ break;
case 0x81c2:
playSound(56, 11);
@@ -2353,12 +3290,12 @@ bool TeenAgentEngine::processCallback(uint16 addr) {
playActorAnimation(588, true);
waitAnimation();
wait(50);
- displayMessage(0x367f);
- inventory->remove(34);
- SET_FLAG(0xDBA1, 1);
- return true;
+ displayMessage(dsAddr_itsGoneMsg); // "At least it's gone"
+ inventory->remove(kInvItemPaintedPotato);
+ SET_FLAG(dsAddr_mansionTreeHollowEmptyFlag, 1);
+ break;
- case 0x823d: //grappling hook on the wall
+ case 0x823d: // grappling hook on the wall
playSound(5, 3);
for (byte i = 16; i <= 28; i += 2)
playSound(65, i);
@@ -2367,27 +3304,26 @@ bool TeenAgentEngine::processCallback(uint16 addr) {
for (byte i = 3; i <= 18; i += 3)
playSound(56, i);
- displayAsyncMessage(0x3ace, 3878, 20, 37, 0xd9);
+ displayAsyncMessage(dsAddr_heyLetGoMsg, 38, 12, 20, 37, textColorMansionGuard); // "Hey, let go, will ya?!"
playActorAnimation(621, true);
playAnimation(623, 1, true);
waitAnimation();
- displayAsyncMessage(0x3ae6, 3870, 1, 9, 0xd9);
+ displayAsyncMessage(dsAddr_aaahhhMsg, 30, 12, 1, 9, textColorMansionGuard); // "Aaaaaaaaaaaaahhh!"
playSound(35, 1);
playActorAnimation(622, true);
playAnimation(624, 0, true);
waitAnimation();
wait(150);
- displayMessage(0x3afd);
-
- inventory->remove(43);
- processCallback(0x9d45);
- return true;
+ displayMessage(dsAddr_oopsMsg); // "Oops"
+ inventory->remove(kInvItemGrapplingHook);
+ fnMansionIntrusionAttempt();
+ break;
- case 0x8312: //hedgehog + plastic apple
- Dialog::showMark(scene, 0x3000);
+ case 0x8312: // hedgehog + plastic apple
+ dialog->showMark(76, scene);
setLan(1, 0);
playSound(5, 24);
playSound(26, 32);
@@ -2405,13 +3341,13 @@ bool TeenAgentEngine::processCallback(uint16 addr) {
waitAnimation();
disableObject(6);
- displayMessage(0x363f);
- inventory->remove(27);
- inventory->add(28);
- return true;
+ displayMessage(dsAddr_lifeIsBrutalMsg); // "Life is brutal"
+ inventory->remove(kInvItemPlasticApple);
+ inventory->add(kInvItemCone);
+ break;
case 0x839f:
- inventory->remove(32);
+ inventory->remove(kInvItemDart);
playSound(37, 14);
playSound(16, 17);
playActorAnimation(564, true);
@@ -2437,10 +3373,10 @@ bool TeenAgentEngine::processCallback(uint16 addr) {
playSound(55, 18);
playAnimation(581, 1);
disableObject(2);
- SET_FLAG(0xDB9F, 1);
- return true;
+ SET_FLAG(dsAddr_beesGoneFlag, 1);
+ break;
- case 0x84c7: //using paddle on boat
+ case 0x84c7: // using paddle on boat
playSound(20, 9);
playActorAnimation(530);
loadScene(16, 236, 95, 1);
@@ -2451,12 +3387,12 @@ bool TeenAgentEngine::processCallback(uint16 addr) {
playActorAnimation(533);
setOns(0, 9);
moveTo(236, 95, 1, true);
- return true;
+ break;
- case 0x8538://Sharpen sickle on well
+ case 0x8538: // Sharpen sickle on well
moveTo(236, 190, 0);
setOns(2, 0);
- //TODO: Remove handle sprite
+ // FIXME: Add code to Remove handle sprite (visible GFX glitch)
playSound(5, 4);
playSound(14, 14);
playSound(14, 33);
@@ -2464,52 +3400,58 @@ bool TeenAgentEngine::processCallback(uint16 addr) {
playActorAnimation(643);
setOns(2, 43);
moveTo(236, 179, 3);
- inventory->remove(0x2c);
- inventory->add(0x2e);
- return true;
+ inventory->remove(kInvItemSickleBlunt);
+ inventory->add(kInvItemSickleSharp);
+ break;
+
+ case 0x85d6:
+ displayMessage(dsAddr_paddleBrokenMsg); // "The paddle is BROKEN"
+ break;
case 0x85eb:
- if (CHECK_FLAG(0xDBB0, 1)) {
+ if (CHECK_FLAG(dsAddr_squirrelNutState, 1)) {
enableObject(6);
playSound(25, 10);
playSound(25, 14);
playSound(25, 18);
playActorAnimation(559);
setOns(1, 23);
- SET_FLAG(0xDBB0, 2);
+ SET_FLAG(dsAddr_squirrelNutState, 2);
} else
- displayMessage(0x3d86);
-
- return true;
+ displayMessage(dsAddr_dontWorkPurposeMsg); // "I usually don't work without a purpose"
+ break;
case 0x863d:
playSound(12, 4);
playSound(50, 20);
playSound(50, 29);
playActorAnimation(554);
- inventory->remove(19);
- inventory->add(22);
- return true;
+ inventory->remove(kInvItemChocCandy);
+ inventory->add(kInvItemHeartShapedCandy);
+ break;
case 0x8665:
playSound(5, 3);
for (byte i = 12; i <= 24; i += 2)
playSound(56, i);
playActorAnimation(567);
- inventory->remove(12);
- inventory->add(33);
- return true;
+ inventory->remove(kInvItemFeatherDusterClean);
+ inventory->add(kInvItemFeatherDusterDirty);
+ break;
case 0x862c:
- displayMessage(CHECK_FLAG(0xDBB0, 1) ? 0x4882 : 0x3457);
- return true;
+ if (CHECK_FLAG(dsAddr_squirrelNutState, 1))
+ displayMessage(dsAddr_nutRakeMsg); // "It's pointless, the nut will slip between the rake's teeth"
+ else
+ displayMessage(dsAddr_objErrorMsg); // "That's no good"
+ break;
- case 0x86a9: //correcting height of the pole with spanner
- if (CHECK_FLAG(0xDB92, 1)) {
- displayMessage(0x3d40);
+ case 0x86a9: // correcting height of the pole with spanner
+ if (CHECK_FLAG(dsAddr_alreadyAdjustedHoopPoleFlag, 1)) {
+ displayMessage(dsAddr_noNeedMsg); // "No need to do it again"
} else {
- SET_FLAG(0xDB92, 1);
- Dialog::show(scene, 0x0fcd, 0, 502, 0xd0, 0xe5, 0, 1);
+ SET_FLAG(dsAddr_alreadyAdjustedHoopPoleFlag, 1);
+ dialog->show(17, scene, 0, 502, textColorMark, textColorSonny, 0, 1);
waitLanAnimationFrame(1, 7);
playSound(5, 16);
playSound(1, 25);
@@ -2528,7 +3470,7 @@ bool TeenAgentEngine::processCallback(uint16 addr) {
playSound(5, 43);
playSound(61, 70);
playSound(61, 91);
- displayAsyncMessage(0x3cfb, 28877, 6, 17);
+ displayAsyncMessage(dsAddr_ConfusionMsg, 77, 90, 6, 17); // "!?&!"
playActorAnimation(505, true);
playAnimation(507, 0, true);
waitAnimation();
@@ -2552,8 +3494,8 @@ bool TeenAgentEngine::processCallback(uint16 addr) {
disableObject(15);
disableObject(16);
moveTo(162, 164, 2);
- displayMessage(0x3d01, 0xe5, 24390);
- displayMessage(0x3d20, 0xd8, 24410);
+ displayMessage(dsAddr_grandpaPromiseMsg, textColorSonny, 70, 76); // "But grandpa, you promised!"
+ displayMessage(dsAddr_ohLetsGoMsg, textColorGrandpa, 90, 76); // "Oh all right. Let's go"
moveTo(162, 191, 2);
setOns(1, 0);
setOns(2, 0);
@@ -2572,133 +3514,118 @@ bool TeenAgentEngine::processCallback(uint16 addr) {
playAnimation(512, 0);
wait(100);
- displayMessage(0x3d3a);
+ displayMessage(dsAddr_byeMsg); // "Bye."
{
Object *obj = scene->getObject(7);
- obj->actor_rect.left = obj->actor_rect.right = 228;
- obj->actor_rect.top = obj->actor_rect.bottom = 171;
- obj->actor_rect.save();
+ obj->actorRect.left = obj->actorRect.right = 228;
+ obj->actorRect.top = obj->actorRect.bottom = 171;
+ obj->actorRect.save();
}
{
Object *obj = scene->getObject(8);
- obj->actor_rect.left = obj->actor_rect.right = 290;
- obj->actor_rect.top = obj->actor_rect.bottom = 171;
- obj->actor_rect.save();
+ obj->actorRect.left = obj->actorRect.right = 290;
+ obj->actorRect.top = obj->actorRect.bottom = 171;
+ obj->actorRect.save();
}
}
- return true;
+ break;
- case 0x88c9: //give flower to old lady
- if (CHECK_FLAG(0xDB9A, 1))
- return processCallback(0x890b);
-
- inventory->remove(10);
- SET_FLAG(0xDB9A, 1);
- processCallback(0x88DE);
- return true;
-
- case 0x88de:
- playSound(5, 2);
- Dialog::show(scene, 0x1B5F, 0, 523, 0xd1, 0xe5, 0, 1);
- playActorAnimation(537, true);
- playAnimation(538, 0, true);
- waitAnimation();
- wait(100);
- Dialog::show(scene, 0x1BE0, 0, 523, 0xd1, 0xe5, 0, 1);
- return true;
+ case 0x88c9: // give flower to old lady
+ if (CHECK_FLAG(dsAddr_givenFlowerToOldLadyAlreadyFlag, 1))
+ fnGiveAnotherFlowerToOldLady();
+ else {
+ inventory->remove(kInvItemFirstFlower);
+ SET_FLAG(dsAddr_givenFlowerToOldLadyAlreadyFlag, 1);
+ fnGivingFlowerToOldLady();
+ }
+ break;
- case 0x890b:
- Dialog::pop(scene, 0xDAF0, 0, 523, 0xd1, 0xe5, 0, 1);
- return true;
+ case csAddr_givingFlowerToOldLady:
+ fnGivingFlowerToOldLady();
+ break;
- case 0x8918://give flower to old lady
- if (CHECK_FLAG(0xDB9A, 1))
- return processCallback(0x890B);
+ case csAddr_giveAnotherFlowerToOldLady:
+ fnGiveAnotherFlowerToOldLady();
+ break;
- inventory->remove(11);
- SET_FLAG(0xDB9A, 1);
- processCallback(0x88DE);
- return true;
+ case 0x8918: // give flower to old lady
+ if (CHECK_FLAG(dsAddr_givenFlowerToOldLadyAlreadyFlag, 1))
+ fnGiveAnotherFlowerToOldLady();
+ else {
+ inventory->remove(kInvItemSecondFlower);
+ SET_FLAG(dsAddr_givenFlowerToOldLadyAlreadyFlag, 1);
+ fnGivingFlowerToOldLady();
+ }
+ break;
case 0x892d:
- if (CHECK_FLAG(0xDB9B, 1))
- return processCallback(0x89aa);
+ if (CHECK_FLAG(dsAddr_givenFlowerToAnneAlreadyFlag, 1))
+ fnGiveAnotherFlowerToAnne();
+ else {
+ fnGivingFlowerToAnne();
+ inventory->remove(kInvItemFirstFlower);
+ SET_FLAG(dsAddr_givenFlowerToAnneAlreadyFlag, 1);
+ }
+ break;
- processCallback(0x8942);
- inventory->remove(10);
- SET_FLAG(0xDB9B, 1);
- return true;
+ case csAddr_givingFlowerToAnne:
+ fnGivingFlowerToAnne();
+ break;
- case 0x8942:
- Dialog::show(scene, 0x2293, 0, 524, 0xd1, 0xe5, 0, 2);
- playSound(5, 10);
- playActorAnimation(540, true);
- playAnimation(539, 1, true);
- waitAnimation();
- wait(100);
- Dialog::show(scene, 0x24b1, 0, 524, 0xd1, 0xe5, 0, 2);
- wait(50);
- Dialog::show(scene, 0x24d7, 0, 524, 0xd1, 0xe5, 0, 2);
- Dialog::show(scene, 0x2514, 0, 524, 0xd1, 0xe5, 0, 2);
- wait(50);
- moveRel(0, 1, 0);
- Dialog::show(scene, 0x2570, 0, 524, 0xd1, 0xe5, 0, 2);
- moveRel(0, -1, 0);
- wait(50);
- return true;
-
- case 0x89aa:
- Dialog::pop(scene, 0xdb02, 0, 524, 0xd1, 0xe5, 0, 2);
- return true;
+ case csAddr_giveAnotherFlowerToAnne:
+ fnGiveAnotherFlowerToAnne();
+ break;
case 0x89b7:
- if (CHECK_FLAG(0xDB9B, 1))
- return processCallback(0x89aa);
-
- processCallback(0x8942);
- inventory->remove(11);
- SET_FLAG(0xDB9B, 1);
- return true;
+ if (CHECK_FLAG(dsAddr_givenFlowerToAnneAlreadyFlag, 1))
+ fnGiveAnotherFlowerToAnne();
+ else {
+ fnGivingFlowerToAnne();
+ inventory->remove(kInvItemSecondFlower);
+ SET_FLAG(dsAddr_givenFlowerToAnneAlreadyFlag, 1);
+ }
+ break;
case 0x89cc:
- inventory->remove(23);
+ inventory->remove(kInvItemWrappedCandy);
playSound(5, 6);
- Dialog::show(scene, 0x2634, 0, 524, 0xd1, 0xe5, 0, 2);
+ dialog->show(60, scene, 0, 524, textColorMark, textColorAnne, 0, 2);
+ // FIXME - Dialog #61 not explicitly called. Does Dialog #60 run on somehow?
playActorAnimation(555, true);
playAnimation(556, 1, true);
waitAnimation();
playActorAnimation(557, true);
playAnimation(558, 1, true);
waitAnimation();
- Dialog::show(scene, 0x2971, 0, 524, 0xd1, 0xe5, 0, 2);
- inventory->add(24);
- return true;
+ dialog->show(62, scene, 0, 524, textColorMark, textColorAnne, 0, 2);
+ inventory->add(kInvItemRibbon);
+ break;
case 0x8a22:
playSound(45, 16);
playActorAnimation(560);
- inventory->remove(26);
- inventory->add(27);
+ inventory->remove(kInvItemNut);
+ inventory->add(kInvItemPlasticApple);
wait(50);
- Dialog::show(scene, 0x1ecd, 0, 523, 0xd1, 0xe5, 0, 1);
- Dialog::show(scene, 0x1f09, 0, 523, 0xd1, 0xe5, 0, 1);
- SET_FLAG(0xDBB1, 1);
- return true;
-
- case 0x8a6f: //banknote + ann
- if (CHECK_FLAG(0xDBB5, 1)) {
- Dialog::show(scene, 0x2992, 0, 524, 0xd1, 0xe5, 0, 2);
+ dialog->show(44, scene, 0, 523, textColorMark, textColorOldLady, 0, 1);
+ dialog->show(45, scene, 0, 523, textColorMark, textColorOldLady, 0, 1);
+ SET_FLAG(dsAddr_nutSwappedForAppleFlag, 1);
+ break;
+
+ case 0x8a6f: // banknote + ann
+ if (CHECK_FLAG(dsAddr_examinedBanknoteFlag, 1)) {
+ dialog->show(63, scene, 0, 524, textColorMark, textColorAnne, 0, 2);
playSound(5, 3);
playSound(5, 20);
playAnimation(671, 1, true);
playActorAnimation(670, true);
waitAnimation();
//playAnimation(672, 1);
- Dialog::show(scene, 0x2a00, 524, 672, 0xd1, 0xe5, 0, 2);
+ dialog->show(64, scene, 524, 672, textColorMark, textColorAnne, 0, 2);
//playAnimation(672, 1);
playSound(83, 12);
- displayAsyncMessage(0x4a5b, 36684, 23, 38, 0xe5);
+ displayAsyncMessage(dsAddr_hundredBucksMsg, 204, 114, 23, 38, textColorAnne); // "A hundred bucks!!!"
playActorAnimation(673);
loadScene(11, scene->getPosition());
playSound(24, 31);
@@ -2710,14 +3637,14 @@ bool TeenAgentEngine::processCallback(uint16 addr) {
loadScene(28, 0, 167, 2);
playMusic(10);
moveTo(66, 167, 2);
- displayMessage(0x4a6f);
+ displayMessage(dsAddr_wantBloodMsg); // "I want Blood!"
inventory->clear();
- inventory->add(29);
+ inventory->add(kInvItemSuperGlue);
} else
- displayMessage(0x4a29);
- return true;
+ displayMessage(dsAddr_showHerMoneyMsg); // "If I just show her the money, she might take it"
+ break;
- case 0x8b82: //use fan on laundry
+ case 0x8b82: // use fan on laundry
setOns(0, 0);
playSound(5, 3);
playSound(5, 6);
@@ -2725,16 +3652,16 @@ bool TeenAgentEngine::processCallback(uint16 addr) {
playSound(92, 20);
playSound(92, 38);
playSound(92, 58);
- displayAsyncMessage(0x464a, 36510, 58, 67);
+ displayAsyncMessage(dsAddr_yawnMsg, 30, 114, 58, 67); // "(yawn)"
playActorAnimation(602);
playSound(5, 3);
playActorAnimation(603);
setOns(0, 27);
- SET_FLAG(0xDBA5, 1);
- return true;
+ SET_FLAG(dsAddr_laundryState, 1);
+ break;
- case 0x8bfc://Give bone to dog
- displayMessage(0x3c31);
+ case 0x8bfc: // Give bone to dog
+ displayMessage(dsAddr_hereBoyMsg); // "Here, boy"
playSound(5, 3);
playSound(26, 13);
playActorAnimation(657, true);
@@ -2744,20 +3671,20 @@ bool TeenAgentEngine::processCallback(uint16 addr) {
reloadLan();
playAnimation(659, 0);
- inventory->remove(36);
- SET_FLAG(0xDBAD, 1);
+ inventory->remove(kInvItemBone);
+ SET_FLAG(dsAddr_dogHasBoneFlag, 1);
{
Object *o = scene->getObject(7);
- o->actor_rect.left = o->actor_rect.right = 297;
- o->actor_rect.top = o->actor_rect.bottom = 181;
- o->actor_orientation = 1;
+ o->actorRect.left = o->actorRect.right = 297;
+ o->actorRect.top = o->actorRect.bottom = 181;
+ o->actorOrientation = 1;
o->save();
}
{
Object *o = scene->getObject(9);
- o->actor_rect.left = o->actor_rect.right = 297;
- o->actor_rect.top = o->actor_rect.bottom = 181;
- o->actor_orientation = 1;
+ o->actorRect.left = o->actorRect.right = 297;
+ o->actorRect.top = o->actorRect.bottom = 181;
+ o->actorOrientation = 1;
o->save();
}
{
@@ -2767,10 +3694,10 @@ bool TeenAgentEngine::processCallback(uint16 addr) {
w->save();
}
wait(100);
- displayMessage(0x3c3d);
- return true;
+ displayMessage(dsAddr_friendsNowMsg); // "I hope we're friends now"
+ break;
- case 0x8c6e://Use car jack on rock
+ case 0x8c6e: // Use car jack on rock
playSound(5, 3);
playSound(26, 13);
playSound(24, 22);
@@ -2782,10 +3709,10 @@ bool TeenAgentEngine::processCallback(uint16 addr) {
playActorAnimation(593);
setOns(0, 28);
enableObject(1);
- inventory->remove(35);
- return true;
+ inventory->remove(kInvItemCarJack);
+ break;
- case 0x8cc8://Cut bush with sickle
+ case 0x8cc8: // Cut bush with sickle
playSound(5, 3);
playActorAnimation(644);
setOns(1, 45);
@@ -2799,16 +3726,16 @@ bool TeenAgentEngine::processCallback(uint16 addr) {
playActorAnimation(646);
playSound(5, 21);
playActorAnimation(647);
- SET_FLAG(0xdaca, 1);
- inventory->remove(0x2e);
+ SET_FLAG(dsAddr_caveThornsCutDownFlag, 1);
+ inventory->remove(kInvItemSickleSharp);
disableObject(2);
- scene->getObject(3)->actor_rect.right = 156;
+ scene->getObject(3)->actorRect.right = 156;
scene->getObject(3)->save();
- return true;
+ break;
- case 0x8d79: //mouse falls back from the hole (cave)
- if (CHECK_FLAG(0, 1)) {
- inventory->add(48);
+ case csAddr_mouseOutOfHoleTimeout: // mouse falls back from the hole (cave)
+ if (CHECK_FLAG(dsAddr_timedCallbackState, 1)) {
+ inventory->add(kInvItemMouse);
playSound(24, 26);
playActorAnimation(650, true);
playAnimation(651, 2, true);
@@ -2824,54 +3751,26 @@ bool TeenAgentEngine::processCallback(uint16 addr) {
playActorAnimation(654, true);
playAnimation(655, 2, true);
waitAnimation();
- displayMessage(0x3bf6);
- inventory->add(49);
+ displayMessage(dsAddr_mouseGoneMsg); // "The mouse has gone!"
+ inventory->add(kInvItemRock);
setLan(2, 4, 27);
enableObject(4, 27);
- SET_FLAG(0xdba9, 0);
+ SET_FLAG(dsAddr_mouseHoleState, 0);
}
- SET_FLAG(0, 0);
- return true;
+ SET_FLAG(dsAddr_timedCallbackState, 0);
+ break;
- case 0x8d57:
- if (CHECK_FLAG(0, 0)) {
- playSound(5, 2);
- playSound(15, 12);
- playActorAnimation(638);
- inventory->remove(48);
- setTimerCallback(0x8d79, 100);
- SET_FLAG(0, 1);
- } else if (CHECK_FLAG(0, 1)) {
- playSound(5, 2);
- playSound(52, 13);
- playActorAnimation(648);
- setOns(1, 46);
- inventory->remove(49);
- setTimerCallback(0x8d79, 100);
- SET_FLAG(0, 2);
- } else if (CHECK_FLAG(0, 2)) {
- playActorAnimation(649);
- setOns(1, 47);
- wait(300);
- for (byte i = 1; i <= 37; i += 4)
- playSound(68, i);
- playAnimation(639, 2);
- setOns(0, 42);
- enableObject(6);
- disableObject(5);
- SET_FLAG(0xDBAB, 1);
- SET_FLAG(0, 0);
- setTimerCallback(0, 0);
- }
- return true;
+ case csAddr_putRockInHole:
+ fnPutRockInHole();
+ break;
case 0x8f1d:
- Dialog::showMark(scene, 0x2dd6);
+ dialog->showMark(72, scene);
for (uint i = 16; i <= 30; i += 2)
playSound(56, i);
playSound(2, 64);
playSound(3, 74);
- displayAsyncMessage(0x34c7, 25812, 35, 50);
+ displayAsyncMessage(dsAddr_lastChanceMsg, 212, 80, 35, 50); // "Last chance?"
playActorAnimation(516, true);
playAnimation(517, 2, true);
playAnimation(518, 3, true);
@@ -2880,12 +3779,12 @@ bool TeenAgentEngine::processCallback(uint16 addr) {
setLan(4, 0);
disableObject(2);
disableObject(3);
- inventory->remove(2);
- SET_FLAG(0xDB96, 1);
- return true;
+ inventory->remove(kInvItemShotgun);
+ SET_FLAG(dsAddr_birdsGoneFromScarecrowFlag, 1);
+ break;
case 0x8fc8:
- displayMessage(0x3b2f);
+ displayMessage(dsAddr_comeHereMsg); // "Come here, I've got something for you"
waitLanAnimationFrame(2, 4);
playSound(5, 3);
playActorAnimation(627, true);
@@ -2894,25 +3793,25 @@ bool TeenAgentEngine::processCallback(uint16 addr) {
playSound(41, 10);
playSound(41, 47);
playSound(55, 52);
- if (CHECK_FLAG(0xDBA8, 1)) {
+ if (CHECK_FLAG(dsAddr_HankerchiefInMouseholeFlag, 1)) {
setLan(2, 0);
playActorAnimation(628, true);
playAnimation(634, 1, true);
waitAnimation();
disableObject(4);
- displayMessage(0x3b6c);
- SET_FLAG(0xDBA9, 1);
+ displayMessage(dsAddr_trappedMouseMsg); // "The mouse is trapped!"
+ SET_FLAG(dsAddr_mouseHoleState, 1);
} else {
playActorAnimation(628, true);
playAnimation(630, 1, true);
waitAnimation();
- displayMessage(0x3b59);
+ displayMessage(dsAddr_cantCatchMsg); // "I can't catch it!"
}
- return true;
+ break;
- case 0x9054: //mouse hole
- if (CHECK_FLAG(0xDBAB, 1)) {
- displayMessage(0x3c0b);
+ case 0x9054: // mouse hole
+ if (CHECK_FLAG(dsAddr_mouseGotGoldNuggetFlag, 1)) {
+ displayMessage(dsAddr_nonsenseMsg); // "Nonsense"
} else {
playSound(5, 11);
playSound(49, 21);
@@ -2920,50 +3819,48 @@ bool TeenAgentEngine::processCallback(uint16 addr) {
setOns(5, 40);
moveTo(239, 139, 0, true);
playActorAnimation(633);
- SET_FLAG(0xDBA8, 1);
- inventory->remove(47);
- if (!CHECK_FLAG(0xDBAA, 1)) {
- SET_FLAG(0xDBAA, 1);
- displayMessage(0x3b8b);
+ SET_FLAG(dsAddr_HankerchiefInMouseholeFlag, 1);
+ inventory->remove(kInvItemHandkerchief);
+ if (!CHECK_FLAG(dsAddr_mouseNerveMsgSaidFlag, 1)) {
+ SET_FLAG(dsAddr_mouseNerveMsgSaidFlag, 1);
+ displayMessage(dsAddr_mouseNerveMsg); // "Boy, this mouse has some nerve!"
}
}
- return true;
+ break;
case 0x933d:
- if (!processCallback(0x70e0))
- return true;
-
- if (CHECK_FLAG(0xdbcd, 1)) {
- displayMessage(0x4f3d);
- return true;
+ if (fnIsCookGone()) {
+ if (CHECK_FLAG(dsAddr_MansionRadioBrokenFlag, 1))
+ displayMessage(dsAddr_breakFlattenMsg); // "I wanted to break it, not to flatten it!"
+ else {
+ setOns(1, 0);
+ playSound(5, 3);
+ playSound(5, 33);
+ playSound(24, 13);
+ playSound(24, 19);
+ playSound(24, 23);
+ playSound(24, 26);
+ playSound(24, 29);
+ playSound(23, 21);
+ playSound(74, 25);
+ playActorAnimation(716);
+ setOns(1, 66);
+ SET_FLAG(dsAddr_MansionRadioBrokenFlag, 1);
+ }
}
+ break;
- setOns(1, 0);
- playSound(5, 3);
- playSound(5, 33);
- playSound(24, 13);
- playSound(24, 19);
- playSound(24, 23);
- playSound(24, 26);
- playSound(24, 29);
- playSound(23, 21);
- playSound(74, 25);
- playActorAnimation(716);
- setOns(1, 66);
- SET_FLAG(0xDBCD, 1);
- return true;
-
- case 0x93af: //sheet + hot plate
- if (!processCallback(0x70e0))
- return true;
- playSound(5, 3);
- playSound(86, 11);
- playActorAnimation(720);
- inventory->add(68);
- inventory->remove(55);
- return true;
+ case 0x93af: // sheet + hot plate
+ if (fnIsCookGone()) {
+ playSound(5, 3);
+ playSound(86, 11);
+ playActorAnimation(720);
+ inventory->add(kInvItemBurningPaper);
+ inventory->remove(kInvItemSheetOfPaper);
+ }
+ break;
- case 0x93d5: //burning sheet + plate
+ case 0x93d5: // burning sheet + plate
setOns(4, 0);
playSound(87, 7);
playActorAnimation(722);
@@ -2971,323 +3868,298 @@ bool TeenAgentEngine::processCallback(uint16 addr) {
playSound(88, 12);
playSound(87, 24);
playActorAnimation(723);
- displayMessage(0x502b);
+ displayMessage(dsAddr_burnBabyMsg); // "Burn, baby, burn!"
wait(100);
playSound(89, 4);
playActorAnimation(724);
setOns(4, 68);
- displayMessage(0x503e);
- inventory->remove(68);
- SET_FLAG(0xDBD0, 1);
- return true;
-
- case 0x98fa://Right click to open toolbox
- inventory->remove(3);
- inventory->add(4);
- inventory->add(35);
+ displayMessage(dsAddr_voilaMsg); // "Voila"
+ inventory->remove(kInvItemBurningPaper);
+ SET_FLAG(dsAddr_MansionPutBurningPaperInFridgeFlag, 1);
+ break;
+
+ case csAddr_openFullToolbox: // Right click to open toolbox
+ inventory->remove(kInvItemToolboxFull);
+ inventory->add(kInvItemToolboxHalfEmpty);
+ inventory->add(kInvItemCarJack);
inventory->activate(false);
inventory->resetSelectedObject();
- displayMessage(0x3468);
- return true;
+ displayMessage(dsAddr_carJackMsg); // "Wow! There's a car jack inside! Great!"
+ break;
- case 0x9910:
- inventory->remove(4);
- inventory->add(5);
+ case csAddr_openHalfEmptyToolbox:
+ inventory->remove(kInvItemToolboxHalfEmpty);
+ inventory->add(kInvItemSpanner);
inventory->activate(false);
inventory->resetSelectedObject();
- displayMessage(0x3490);
- return true;
+ displayMessage(dsAddr_spannerMsg); // "There's something else inside the toolbox! A spanner!"
+ break;
-
- //very last part of the game:
- case 0x671d:
+ case 0x671d: // very last part of the game
moveTo(153, 163, 4);
playActorAnimation(973);
- if (CHECK_FLAG(0xDBC1, 0)) {
- SET_FLAG(0xDBC1, _rnd.getRandomNumber(5) + 1);
+ if (CHECK_FLAG(dsAddr_drawerPuzzleBookValue, 0)) {
+ SET_FLAG(dsAddr_drawerPuzzleBookValue, _rnd.getRandomNumber(5) + 1);
}
loadScene(30, 18, 159, 2);
- return true;
+ break;
case 0x67a6:
loadScene(29, 149, 163, 1);
playActorAnimation(974);
moveTo(160, 188, 0);
- return true;
+ break;
case 0x6805:
- processCallback(0x6849);
+ fnEgoBottomRightTurn();
playSound(32, 12);
playActorAnimation(694);
playSound(15, 8);
playAnimation(693, 0);
setOns(6, 0);
- displayMessage(0x4cc7);
- inventory->add(54);
+ displayMessage(dsAddr_fullAutomaticMsg); // "Fully Automatic"
+ inventory->add(kInvItemVideoTape);
disableObject(4);
- return true;
+ break;
- case 0x6849: {
- Common::Point p = scene->getPosition();
- if (p.x == 208 && p.y == 151) {
- moveRel(0, 0, 2);
- } else
- moveTo(208, 151, 1);
- }
- return true;
+ case csAddr_egoBottomRightTurn:
+ fnEgoBottomRightTurn();
+ break;
- case 0x687a: //using the book
- if (CHECK_FLAG(0xDBC2, 1)) {
- displayMessage(0x4ca0);
+ case 0x687a: // using the book
+ if (CHECK_FLAG(dsAddr_drawerPuzzleSolvedFlag, 1)) {
+ displayMessage(dsAddr_dontMessMsg); // "I don't need to mess with it anymore"
} else {
playSound(49, 5);
playSound(49, 17);
playActorAnimation(691);
- if (!processCallback(0x68e6)) {
- if (!CHECK_FLAG(0xDBC0, 1)) {
- displayMessage(0x4c61);
- SET_FLAG(0xDBC0, 1);
+ if (!fnCheckingDrawers()) {
+ if (!CHECK_FLAG(dsAddr_drawerPuzzleBookMessageFlag, 1)) {
+ displayMessage(dsAddr_bookHeldMsg); // "Something's got hold of the book!"
+ SET_FLAG(dsAddr_drawerPuzzleBookMessageFlag, 1);
}
} else {
- playSound(15, 8); //secret compartment
+ playSound(15, 8); // secret compartment
playAnimation(692, 0);
setOns(6, 59);
enableObject(4);
- displayMessage(0x4c84);
- SET_FLAG(0xDBC2, 1);
+ displayMessage(dsAddr_secretCompartmentMsg); // "Wow! A secret compartment!"
+ SET_FLAG(dsAddr_drawerPuzzleSolvedFlag, 1);
}
}
- return true;
+ break;
- case 0x68e6: { //checking drawers
- uint16 v = GET_FLAG(0xDBC1) - 1;
- uint bx = 0xDBB7;
- if (GET_FLAG(bx + v) != 1)
- return false;
-
- uint16 sum = 0;
- for (uint i = 0; i < 6; ++i) {
- sum += GET_FLAG(bx + i);
- }
- return sum == 1;
- }
+ case csAddr_checkingDrawers:
+ fnCheckingDrawers();
+ break;
case 0x6918:
- if (inventory->has(55)) {
- displayMessage(0x4cd9);
- return true;
- }
- if (!CHECK_FLAG(0xDBC3, 1)) {
- playActorAnimation(695);
- Dialog::showMark(scene, 0x386a);
- SET_FLAG(0xDBC3, 1);
- }
+ if (inventory->has(kInvItemSheetOfPaper))
+ displayMessage(dsAddr_noMoreSheetsMsg); // "Right now I don't need any more sheets"
+ else {
+ if (!CHECK_FLAG(dsAddr_mansionTrashcanSearchedFlag, 1)) {
+ playActorAnimation(695);
+ dialog->showMark(91, scene);
+ SET_FLAG(dsAddr_mansionTrashcanSearchedFlag, 1);
+ }
- playSound(5, 11);
- playActorAnimation(696);
- inventory->add(55);
- return true;
+ playSound(5, 11);
+ playActorAnimation(696);
+ inventory->add(kInvItemSheetOfPaper);
+ }
+ break;
case 0x6962:
- if (CHECK_FLAG(0xDBB7, 1)) {
+ if (CHECK_FLAG(dsAddr_blueDrawerOpenFlag, 1)) {
setOns(0, 0);
playSound(67, 4);
playActorAnimation(678);
- SET_FLAG(0xDBB7, 0);
- } else if (CHECK_FLAG(0xDBB8, 1)) {
- processCallback(0x6b86);
+ SET_FLAG(dsAddr_blueDrawerOpenFlag, 0);
+ } else if (CHECK_FLAG(dsAddr_redDrawerOpenFlag, 1)) {
+ fnDrawerOpenMessage();
} else {
playSound(66, 4);
playActorAnimation(677);
setOns(0, 53);
- SET_FLAG(0xDBB7, 1);
+ SET_FLAG(dsAddr_blueDrawerOpenFlag, 1);
}
- return true;
+ break;
case 0x69b8:
- if (CHECK_FLAG(0xDBB8, 1)) {
+ if (CHECK_FLAG(dsAddr_redDrawerOpenFlag, 1)) {
setOns(1, 0);
playSound(67, 4);
playActorAnimation(680);
- SET_FLAG(0xDBB8, 0);
- } else if (CHECK_FLAG(0xDBB7, 1)) {
- processCallback(0x6b86);
- } else if (CHECK_FLAG(0xDBB9, 1)) {
- processCallback(0x6b86);
+ SET_FLAG(dsAddr_redDrawerOpenFlag, 0);
+ } else if (CHECK_FLAG(dsAddr_blueDrawerOpenFlag, 1)) {
+ fnDrawerOpenMessage();
+ } else if (CHECK_FLAG(dsAddr_greyDrawerOpenFlag, 1)) {
+ fnDrawerOpenMessage();
} else {
playSound(66, 5);
playActorAnimation(679);
setOns(1, 54);
- SET_FLAG(0xDBB8, 1);
+ SET_FLAG(dsAddr_redDrawerOpenFlag, 1);
}
- return true;
+ break;
case 0x6a1b:
- if (CHECK_FLAG(0xDBB9, 1)) {
+ if (CHECK_FLAG(dsAddr_greyDrawerOpenFlag, 1)) {
setOns(2, 0);
playSound(67, 5);
playActorAnimation(682);
- SET_FLAG(0xDBB9, 0);
- } else if (CHECK_FLAG(0xDBB8, 1)) {
- processCallback(0x6b86);
+ SET_FLAG(dsAddr_greyDrawerOpenFlag, 0);
+ } else if (CHECK_FLAG(dsAddr_redDrawerOpenFlag, 1)) {
+ fnDrawerOpenMessage();
} else {
playSound(67, 5);
playActorAnimation(681);
setOns(2, 55);
- SET_FLAG(0xDBB9, 1);
+ SET_FLAG(dsAddr_greyDrawerOpenFlag, 1);
}
- return true;
+ break;
case 0x6a73:
- if (CHECK_FLAG(0xDBBA, 1)) {
+ if (CHECK_FLAG(dsAddr_greenDrawerOpenFlag, 1)) {
setOns(3, 0);
playSound(67, 4);
playActorAnimation(684);
- SET_FLAG(0xDBBA, 0);
- } else if (!CHECK_FLAG(0xDBBB, 1)) {
+ SET_FLAG(dsAddr_greenDrawerOpenFlag, 0);
+ } else if (!CHECK_FLAG(dsAddr_brownDrawerOpenFlag, 1)) {
playSound(66, 4);
playActorAnimation(683);
setOns(3, 56);
- SET_FLAG(0xDBBA, 1);
+ SET_FLAG(dsAddr_greenDrawerOpenFlag, 1);
} else
- processCallback(0x6b86);
- return true;
+ fnDrawerOpenMessage();
+ break;
case 0x6acb:
- if (CHECK_FLAG(0xDBBB, 1)) {
+ if (CHECK_FLAG(dsAddr_brownDrawerOpenFlag, 1)) {
setOns(4, 0);
playSound(67, 4);
playActorAnimation(686);
- SET_FLAG(0xDBBB, 0);
- } else if (CHECK_FLAG(0xDBBA, 1)) {
- processCallback(0x6b86);
- } else if (CHECK_FLAG(0xDBBC, 1)) {
- processCallback(0x6b86);
+ SET_FLAG(dsAddr_brownDrawerOpenFlag, 0);
+ } else if (CHECK_FLAG(dsAddr_greenDrawerOpenFlag, 1)) {
+ fnDrawerOpenMessage();
+ } else if (CHECK_FLAG(dsAddr_pinkDrawerOpenFlag, 1)) {
+ fnDrawerOpenMessage();
} else {
playSound(66, 5);
playActorAnimation(685);
setOns(4, 57);
- SET_FLAG(0xDBBB, 1);
+ SET_FLAG(dsAddr_brownDrawerOpenFlag, 1);
}
- return true;
+ break;
case 0x6b2e:
- if (CHECK_FLAG(0xdbbc, 1)) {
+ if (CHECK_FLAG(dsAddr_pinkDrawerOpenFlag, 1)) {
setOns(5, 0);
playSound(67, 5);
playActorAnimation(688);
- SET_FLAG(0xdbbc, 0);
- } else if (CHECK_FLAG(0xdbbb, 1)) {
- processCallback(0x6b86);
+ SET_FLAG(dsAddr_pinkDrawerOpenFlag, 0);
+ } else if (CHECK_FLAG(dsAddr_brownDrawerOpenFlag, 1)) {
+ fnDrawerOpenMessage();
} else {
playSound(66, 6);
playActorAnimation(687);
setOns(5, 58);
- SET_FLAG(0xDBBC, 1);
+ SET_FLAG(dsAddr_pinkDrawerOpenFlag, 1);
}
- return true;
-
+ break;
- case 0x6b86:
- if (CHECK_FLAG(0xDBBD, 1)) {
- displayMessage(0x4b39);
- } else {
- displayMessage(0x4acd);
- displayMessage(0x4b0d);
- SET_FLAG(0xDBBD, 1);
- }
- return true;
+ case csAddr_DrawerOpenMessage:
+ fnDrawerOpenMessage();
+ break;
- case 0x6be1: //handle to the bathroom
- if (CHECK_FLAG(0xDBD9, 1)) {
- displayMessage(0x5326); //i'd better catch johnny
- } else {
+ case 0x6be1: // handle to the bathroom
+ if (CHECK_FLAG(dsAddr_MansionJohnNotyEscapingFlag, 1))
+ displayMessage(dsAddr_catchJohnFirstMsg); // "I'd better catch John Noty first"
+ else {
playSound(88, 4);
playActorAnimation(808);
loadScene(36, 41, 195, 2);
}
- return true;
+ break;
case 0x6bad:
playSound(80, 4);
playActorAnimation(971);
loadScene(32, 139, 199, 1);
- return true;
+ break;
case 0x6c45:
playSound(89, 6);
- playActorAnimation(CHECK_FLAG(0xDBEF, 1) ? 985 : 806);
+ playActorAnimation(CHECK_FLAG(dsAddr_mansionHandleInDoorHoleFlag, 1) ? 985 : 806);
loadScene(34, 40, 133, 2);
- return true;
+ break;
case 0x6c83:
waitLanAnimationFrame(1, 1);
- Dialog::pop(scene, 0xdb2e, 0, 727, 0xd1, 0xef, 0, 1);
- scene->getObject(1)->setName((const char *)res->dseg.ptr(0xaa94));
- SET_FLAG(0xDBD1, 1);
- return true;
+ dialog->pop(scene, dsAddr_dialogStackRobotSafe, 0, 727, textColorMark, textColorMike, 0, 1);
+ scene->getObject(1)->setName((const char *)res->dseg.ptr(dsAddr_scnObjNameMike));
+ SET_FLAG(dsAddr_MansionRobotSafeUnlockedFlag, 1);
+ break;
- case 0x6c9d: //getting jar
+ case 0x6c9d: // getting jar
setOns(0, 71);
playSound(32, 5);
playActorAnimation(732);
disableObject(2);
- inventory->add(72);
- return true;
+ inventory->add(kInvItemTimePills);
+ break;
- case 0x6cc4: //secret diary
+ case 0x6cc4: // secret diary
playActorAnimation(754);
hideActor();
- displayCutsceneMessage(0x517b, 30430);
+ displayCutsceneMessage(dsAddr_cutsceneMsg0, 30, 95); // "A secret diary of ..."
playMusic(3);
loadScene(11, scene->getPosition());
playAnimation(750, 2);
- Dialog::show(scene, 0x4f50, 751, 529, 0xe5, 0xd9, 2, 1);
+ dialog->show(117, scene, 751, 529, textColorProfessor, textColorMansionGuard, 2, 1);
playAnimation(752, 0, true);
playAnimation(753, 1, true);
waitAnimation();
- Dialog::show(scene, 0x5168, 529, 751, 0xd9, 0xe5, 1, 2);
+ dialog->show(118, scene, 529, 751, textColorMansionGuard, textColorProfessor, 1, 2);
loadScene(30, scene->getPosition());
- Dialog::show(scene, 0x449e, 733, 734, 0xe5, 0xd0, 2, 3);
+ dialog->show(108, scene, 733, 734, textColorProfessor, textColorJohnNoty, 2, 3);
playSound(75, 13);
playSound(32, 22);
playAnimation(735, 1, true);
playAnimation(736, 2, true);
waitAnimation();
- Dialog::show(scene, 0x46cf, 737, 738, 0xd0, 0xe5, 3, 2);
-
+ dialog->show(109, scene, 737, 738, textColorJohnNoty, textColorProfessor, 3, 2);
playSound(32, 1);
playAnimation(739, 1, true);
playAnimation(740, 2, true);
waitAnimation();
- Dialog::show(scene, 0x4772, 733, 734, 0xe5, 0xd0, 2, 3);
+ dialog->show(110, scene, 733, 734, textColorProfessor, textColorJohnNoty, 2, 3);
playAnimation(742, 1, true);
playAnimation(741, 2, true);
waitAnimation();
- Dialog::show(scene, 0x481c, 743, 733, 0xd0, 0xe5, 3, 2); //where's my wallet??
+ dialog->show(111, scene, 743, 733, textColorJohnNoty, textColorProfessor, 3, 2);
playAnimation(744, 1, true);
playAnimation(745, 2, true);
waitAnimation();
- Dialog::show(scene, 0x4873, 734, 733, 0xd0, 0xe5, 3, 2);
+ dialog->show(112, scene, 734, 733, textColorJohnNoty, textColorProfessor, 3, 2);
playAnimation(746, 1, true);
playAnimation(747, 2, true);
waitAnimation();
-
- Dialog::show(scene, 0x4da5, 734, 734, 0xd0, 0xd0, 3, 3);
- Dialog::show(scene, 0x4eb9, 748, 748, 0xd0, 0xd0, 3, 3);
- Dialog::show(scene, 0x4f15, 749, 749, 0xd0, 0xd0, 3, 3);
- Dialog::show(scene, 0x4f2f, 748, 748, 0xd0, 0xd0, 3, 3);
+ dialog->show(113, scene, 734, 734, textColorJohnNoty, textColorJohnNoty, 3, 3);
+ dialog->show(114, scene, 748, 748, textColorJohnNoty, textColorJohnNoty, 3, 3);
+ dialog->show(115, scene, 749, 749, textColorJohnNoty, textColorJohnNoty, 3, 3);
+ dialog->show(116, scene, 748, 748, textColorJohnNoty, textColorJohnNoty, 3, 3);
playMusic(10);
loadScene(32, scene->getPosition());
@@ -3296,35 +4168,34 @@ bool TeenAgentEngine::processCallback(uint16 addr) {
playActorAnimation(755);
moveRel(0, 0, 3);
- Dialog::show(scene, 0x51bf, 0, 0, 0xd1, 0xd1, 0, 0);
+ dialog->showMark(119, scene);
hideActor();
loadScene(31, scene->getPosition());
- Dialog::show(scene, 0x539f, 763, 764, 0xd9, 0xd0, 1, 2);
+ dialog->show(123, scene, 763, 764, textColorMansionGuard, textColorJohnNoty, 1, 2);
loadScene(32, scene->getPosition());
showActor();
- Dialog::show(scene, 0x52c3, 0, 0, 0xd1, 0xd1, 0, 0); //i have to hide somewhere
+ dialog->showMark(120, scene);
disableObject(3);
enableObject(7);
- SET_FLAG(0xDBD5, 1);
- return true;
+ SET_FLAG(dsAddr_MansionJohnNotyOutsideBathroomFlag, 1);
+ break;
case 0x6f20:
- if (CHECK_FLAG(0xDBD5, 1)) {
- displayMessage(0x51a7);
- } else {
+ if (CHECK_FLAG(dsAddr_MansionJohnNotyOutsideBathroomFlag, 1))
+ displayMessage(dsAddr_cantHideMsg); // "I can't hide here!"
+ else
rejectMessage();
- }
- return true;
+ break;
- case 0x6f75: //hiding in left corner
+ case 0x6f75: // hiding in left corner
moveRel(0, 0, 3);
playActorAnimation(756);
hideActor();
playAnimation(758, 1);
- Dialog::show(scene, 0x52e6, 759, 759, 0xd0, 0xd0, 2, 2); //I have to buy...
+ dialog->show(121, scene, 759, 759, textColorJohnNoty, textColorJohnNoty, 2, 2);
playSound(40, 5);
playSound(52, 13);
@@ -3340,272 +4211,265 @@ bool TeenAgentEngine::processCallback(uint16 addr) {
playSound(58, 12);
playSound(58, 14);
playAnimation(765, 1);
- Dialog::show(scene, 0x5443, 766, 766, 0xd9, 0xd9, 1, 1);
+ dialog->show(124, scene, 766, 766, textColorMansionGuard, textColorMansionGuard, 1, 1);
loadScene(32, scene->getPosition());
- Dialog::show(scene, 0x5358, 761, 761, 0xd0, 0xd0, 2, 2);
+ dialog->show(122, scene, 761, 761, textColorJohnNoty, textColorJohnNoty, 2, 2);
playAnimation(762, 1);
setOns(2, 0);
showActor();
playActorAnimation(757);
moveRel(0, 0, 1);
- displayMessage(0x51e7);
+ displayMessage(dsAddr_wasCloseMsg); // "That was close"
enableObject(8);
disableObject(7);
- SET_FLAG(0xDBD5, 0);
- return true;
+ SET_FLAG(dsAddr_MansionJohnNotyOutsideBathroomFlag, 0);
+ break;
case 0x6f4d:
- if (CHECK_FLAG(0xDBD5, 1)) {
- displayMessage(0x51bb);
- } else {
+ if (CHECK_FLAG(dsAddr_MansionJohnNotyOutsideBathroomFlag, 1))
+ displayMessage(dsAddr_johnOutsideMsg); // "There's John Noty outside! I can't go out!"
+ else
loadScene(31, 139, 172, 3);
- }
- return true;
+ break;
case 0x6f32:
- if (CHECK_FLAG(0xDBD5, 1)) {
- displayMessage(0x51a7);
+ if (CHECK_FLAG(dsAddr_MansionJohnNotyOutsideBathroomFlag, 1)) {
+ displayMessage(dsAddr_cantHideMsg); // "I can't hide here!"
} else {
playActorAnimation(977);
- displayMessage(0x5511);
+ displayMessage(dsAddr_lockedMsg); // "It's Locked!"
}
- return true;
+ break;
case 0x7096:
playSound(32, 5);
playActorAnimation(767);
setOns(1, 0);
- inventory->add(73);
+ inventory->add(kInvItemHandle);
disableObject(8);
- return true;
+ break;
+
+ case 0x7218:
+ rejectMessage();
+ break;
case 0x7291:
playSound(89, 3);
playActorAnimation(975);
loadScene(31, 298, 177, 4);
- return true;
+ break;
case 0x72c2:
- if (CHECK_FLAG(0xDBD6, 2)) {
- displayMessage(0x522c);
+ if (CHECK_FLAG(dsAddr_MansionSinkState, 2)) {
+ displayMessage(dsAddr_enoughWaterMsg); // "There's enough water in the sink"
} else {
playSound(79, 6);
playSound(84, 9);
playActorAnimation(801);
wait(50);
- if (CHECK_FLAG(0xDBD6, 1)) {
- displayMessage(0x538d);
- SET_FLAG(0xDBD6, 2);
+ if (CHECK_FLAG(dsAddr_MansionSinkState, 1)) {
+ displayMessage(dsAddr_sinkFullMsg); // "The sink is full of hot water"
+ SET_FLAG(dsAddr_MansionSinkState, 2);
} else
- displayMessage(0x5372);
+ displayMessage(dsAddr_waterHotMsg); // "The water looks very hot"
}
- return true;
+ break;
case 0x7309:
playSound(66, 5);
playSound(67, 11);
playActorAnimation(976);
- displayMessage(0x5955);
- return true;
+ displayMessage(dsAddr_emptyMsg); // "It's Empty"
+ break;
case 0x77d5:
- if (CHECK_FLAG(0xdbd7, 1) && !CHECK_FLAG(0xdbd8, 1)) { //disallow exiting through the first door until switch turned on, not present in original game
- displayMessage(0x52cb);
- return true;
+ if (CHECK_FLAG(dsAddr_MansionThruFanByTimePillFlag, 1) && !CHECK_FLAG(dsAddr_MansionVentFanStoppedFlag, 1)) { // disallow exiting through the first door until switch turned on, not present in original game
+ displayMessage(dsAddr_noSaladMsg); // "I don't want to turn myself into a salad"
+ } else {
+ playSound(89, 6);
+ playActorAnimation(978);
+ loadScene(31, 298, 177, 4);
}
- playSound(89, 6);
- playActorAnimation(978);
- loadScene(31, 298, 177, 4);
- return true;
+ break;
case 0x79e4:
- processCallback(0x6849);
- return false;
+ fnEgoBottomRightTurn();
+ retVal = false;
+ break;
- case 0x79eb: //color of the book
- displayMessage(res->dseg.get_word(0x5f3c + GET_FLAG(0xDBC1) * 2 - 2));
- return true;
+ case 0x79eb: // color of the book
+ // FIXME - Replace with internal lookup and switch
+ displayMessage(res->dseg.get_word(dsAddr_bookColorMsgPtr + GET_FLAG(dsAddr_drawerPuzzleBookValue) * 2 - 2));
+ break;
case 0x79fd:
- if (CHECK_FLAG(0xDBB7, 1)) {
- displayMessage(0x4b6c);
- return true;
- } else
- return false;
+ if (CHECK_FLAG(dsAddr_blueDrawerOpenFlag, 1))
+ displayMessage(dsAddr_blueInteriorMsg); // "It's got a blue interior"
+ else
+ retVal = false;
+ break;
case 0x7a0f:
- if (CHECK_FLAG(0xDBB8, 1)) {
- if (!CHECK_FLAG(0xDBBF, 1)) {
- displayMessage(0x4c32);
+ if (CHECK_FLAG(dsAddr_redDrawerOpenFlag, 1)) {
+ if (!CHECK_FLAG(dsAddr_drawerGotPolaroidFlag, 1)) {
+ displayMessage(dsAddr_foundPolaroidMsg); // "There's a polaroid inside! I might need that"
playSound(5, 11);
playActorAnimation(690);
- inventory->add(53);
- SET_FLAG(0xDBBF, 1);
+ inventory->add(kInvItemPolaroidCamera);
+ SET_FLAG(dsAddr_drawerGotPolaroidFlag, 1);
}
- displayMessage(0x4b87);
- return true;
+ displayMessage(dsAddr_redInteriorMsg); // "It's got a red interior"
} else
- return false;
+ retVal = false;
+ break;
case 0x7a49:
- if (CHECK_FLAG(0xDBB9, 1)) {
- displayMessage(0x4ba1);
- return true;
- } else
- return false;
+ if (CHECK_FLAG(dsAddr_greyDrawerOpenFlag, 1))
+ displayMessage(dsAddr_greyInteriorMsg); // "It's got a grey interior"
+ else
+ retVal = false;
+ break;
case 0x7a5b:
- if (CHECK_FLAG(0xDBBA, 1)) {
- displayMessage(0x4bbc);
- return true;
- } else
- return false;
+ if (CHECK_FLAG(dsAddr_greenDrawerOpenFlag, 1))
+ displayMessage(dsAddr_greenInteriorMsg); // "It's got a green interior"
+ else
+ retVal = false;
+ break;
case 0x7a6d:
- if (CHECK_FLAG(0xDBBB, 1)) {
- displayMessage(0x4bd8);
- return true;
- } else
- return false;
+ if (CHECK_FLAG(dsAddr_brownDrawerOpenFlag, 1))
+ displayMessage(dsAddr_brownInteriorMsg); // "It's got a brown interior"
+ else
+ retVal = false;
+ break;
case 0x7a7f:
- if (CHECK_FLAG(0xDBBC, 1)) {
- if (!CHECK_FLAG(0xDBBE, 1)) {
- displayMessage(0x4c0f); //there's dictaphone inside!
+ if (CHECK_FLAG(dsAddr_pinkDrawerOpenFlag, 1)) {
+ if (!CHECK_FLAG(dsAddr_drawerGotDictaphoneFlag, 1)) {
+ displayMessage(dsAddr_dictaphoneInsideMsg); // "Wow! There's a dictaphone inside!"
playSound(5, 12);
playActorAnimation(689);
- inventory->add(52);
- SET_FLAG(0xDBBE, 1);
+ inventory->add(kInvItemDictaphoneNoBatteries);
+ SET_FLAG(dsAddr_drawerGotDictaphoneFlag, 1);
}
- displayMessage(0x4bf4);
- return true;
+ displayMessage(dsAddr_pinkInteriorMsg); // "It's got a pink interior"
} else
- return false;
+ retVal = false;
+ break;
case 0x7af7:
- if (CHECK_FLAG(0xDBD0, 1)) {
- displayMessage(0x5082);
- return true;
- } else
- return false;
-
- case 0x7b09: {
- byte v = GET_FLAG(0xDBD6);
- switch (v) {
- case 1:
- displayMessage(0x51f8);
- return true;
- case 2:
- displayMessage(0x538d);
- return true;
- default:
- return false;
- }
- }
+ if (CHECK_FLAG(dsAddr_MansionPutBurningPaperInFridgeFlag, 1))
+ displayMessage(dsAddr_yummyMsg); // "Yummy"
+ else
+ retVal = false;
+ break;
- case 0x9166:
- if (CHECK_FLAG(0xDBD1, 1)) {
- return true;
- } else {
- displayMessage(0x50a6);
- return false;
+ case 0x7b09:
+ {
+ byte v = GET_FLAG(dsAddr_MansionSinkState);
+ switch (v) {
+ case 1:
+ displayMessage(dsAddr_corkInHoleMsg); // "The cork is stuck in the hole"
+ break;
+ case 2:
+ displayMessage(dsAddr_sinkFullMsg); // "The sink is full of hot water"
+ break;
+ default:
+ retVal = false;
+ break;
+ }
}
+ break;
- case 0x9175:
- if (CHECK_FLAG(0xDBD2, 0) || CHECK_FLAG(0xDBD3, 0) || CHECK_FLAG(0xDBD4, 0))
- return true;
+ case csAddr_robotSafeAlreadyUnlockedCheck:
+ fnRobotSafeAlreadyUnlockedCheck();
+ break;
- waitLanAnimationFrame(1, 1);
- playSound(89, 2);
- playActorAnimation(731);
- setOns(0, 70);
- setLan(1, 0);
- disableObject(1);
- enableObject(2);
- enableObject(3);
- return true;
+ case csAddr_robotSafeUnlockCheck:
+ fnRobotSafeUnlockCheck();
+ break;
- case 0x90bc: //handle on the hole
+ case 0x90bc: // handle on the hole
playSound(5, 3);
playSound(6, 9);
playActorAnimation(807);
setOns(0, 83);
- inventory->remove(73);
+ inventory->remove(kInvItemHandle);
disableObject(2);
enableObject(3);
- SET_FLAG(0xDBEF, 1);
- return true;
-
- case 0x90fc: //dictaphone on robot
- if (!processCallback(0x9166))
- return true;
-
- if (CHECK_FLAG(0xDBD2, 1)) {
- displayMessage(0x50c3);
- return true;
- }
+ SET_FLAG(dsAddr_mansionHandleInDoorHoleFlag, 1);
+ break;
- if (!CHECK_FLAG(0xDBCB, 1)) {
- displayMessage(0x5101);
- return true;
+ case 0x90fc: // dictaphone on robot
+ if (fnRobotSafeAlreadyUnlockedCheck()) {
+ if (CHECK_FLAG(dsAddr_MansionRobotSafeVoiceTestPassedFlag, 1)) {
+ displayMessage(dsAddr_fooledOnceMsg); // "I'd already fooled him once"
+ } else {
+ if (!CHECK_FLAG(dsAddr_usedDictaphoneOnTVFlag, 1)) {
+ displayMessage(dsAddr_notMyVoiceMsg); // "I won't cheat Mike with MY voice"
+ } else {
+ displayMessage(dsAddr_mikeVoiceTestMsg); // "Mike, activate the voice test"
+ waitLanAnimationFrame(1, 1);
+
+ playSound(5, 3);
+ playSound(5, 39);
+ displayAsyncMessage(dsAddr_singingMsg, 68, 126, 9, 35, textColorJohnNoty); // "siiiiinging!"
+ playActorAnimation(728);
+
+ waitLanAnimationFrame(1, 1);
+ dialog->show(98, scene, 0, 727, textColorMark, textColorMike, 0, 1);
+ SET_FLAG(dsAddr_MansionRobotSafeVoiceTestPassedFlag, 1);
+ fnRobotSafeUnlockCheck();
+ }
+ }
}
+ break;
- displayMessage(0x50e1);
- waitLanAnimationFrame(1, 1);
-
- playSound(5, 3);
- playSound(5, 39);
- displayAsyncMessage(0x5124, 40388, 9, 35, 0xd0);
- playActorAnimation(728);
-
- waitLanAnimationFrame(1, 1);
- Dialog::show(scene, 0x3d17, 0, 727, 0xd1, 0xef, 0, 1);
- SET_FLAG(0xDBD2, 1);
- processCallback(0x9175);
- return true;
+ case 0x91cb: // use socks on robot
+ if (fnRobotSafeAlreadyUnlockedCheck()) {
+ if (CHECK_FLAG(dsAddr_MansionRobotSafeScentTestPassedFlag, 1)) {
+ displayMessage(dsAddr_fooledOnceMsg); // "I'd already fooled him once"
+ } else {
+ displayMessage(dsAddr_mikeScentTestMsg); // "Mike, let's get on with the scent test"
- case 0x91cb: //use socks on robot
- if (!processCallback(0x9166))
- return true;
+ waitLanAnimationFrame(1, 1);
+ playSound(5, 3);
+ playSound(5, 23);
+ playActorAnimation(729);
- if (CHECK_FLAG(0xDBD3, 1)) {
- displayMessage(0x50c3);
- return true;
+ waitLanAnimationFrame(1, 1);
+ dialog->show(99, scene, 0, 727, textColorMark, textColorMike, 0, 1);
+ SET_FLAG(dsAddr_MansionRobotSafeScentTestPassedFlag, 1);
+ fnRobotSafeUnlockCheck();
+ }
}
- displayMessage(0x5138);
-
- waitLanAnimationFrame(1, 1);
- playSound(5, 3);
- playSound(5, 23);
- playActorAnimation(729);
+ break;
- waitLanAnimationFrame(1, 1);
- Dialog::show(scene, 0x3d70, 0, 727, 0xd1, 0xef, 0, 1);
- SET_FLAG(0xDBD3, 1);
- processCallback(0x9175);
- return true;
+ case 0x9209: // photo on robot
+ if (fnRobotSafeAlreadyUnlockedCheck()) {
+ if (CHECK_FLAG(dsAddr_MansionRobotSafeViewTestPassedFlag, 1)) {
+ displayMessage(dsAddr_fooledOnceMsg); // "I'd already fooled him once"
+ } else {
+ displayMessage(dsAddr_mikeViewTestMsg); // "Mike, run the view test"
+ waitLanAnimationFrame(1, 1);
- case 0x9209: //photo on robot
- if (!processCallback(0x9166))
- return true;
+ playSound(5, 3);
+ playSound(5, 25);
+ playActorAnimation(730);
- if (CHECK_FLAG(0xDBD4, 1)) {
- displayMessage(0x50c3);
- return true;
+ waitLanAnimationFrame(1, 1);
+ dialog->show(100, scene, 0, 727, textColorMark, textColorMike, 0, 1);
+ SET_FLAG(dsAddr_MansionRobotSafeViewTestPassedFlag, 1);
+ fnRobotSafeUnlockCheck();
+ }
}
- displayMessage(0x5161);
- waitLanAnimationFrame(1, 1);
-
- playSound(5, 3);
- playSound(5, 25);
- playActorAnimation(730);
+ break;
- waitLanAnimationFrame(1, 1);
- Dialog::show(scene, 0x3dd6, 0, 727, 0xd1, 0xef, 0, 1);
- SET_FLAG(0xDBD4, 1);
- processCallback(0x9175);
- return true;
+ case 0x9247:
+ displayMessage(dsAddr_sameBottleMsg); // "The bottle's the same, but I doubt if it's enough to fool anyone"
+ break;
case 0x924e:
setOns(2, 64);
@@ -3613,9 +4477,9 @@ bool TeenAgentEngine::processCallback(uint16 addr) {
playSound(52, 10);
playActorAnimation(711);
moveRel(0, 0, 4);
- Dialog::show(scene, 0x3b21, 0, 709, 0xd1, 0xef, 0, 1);
+ dialog->show(95, scene, 0, 709, textColorMark, textColorCook, 0, 1);
moveTo(300, 190, 4);
- inventory->remove(64);
+ inventory->remove(kInvItemFakeChilli);
disableObject(8);
playAnimation(712, 0);
setOns(2, 0);
@@ -3623,90 +4487,90 @@ bool TeenAgentEngine::processCallback(uint16 addr) {
playSound(15, 28);
playSound(16, 37);
playAnimation(713, 0);
- Dialog::show(scene, 0x3c0d, 0, 709, 0xd1, 0xef, 0, 1);
+ dialog->show(96, scene, 0, 709, textColorMark, textColorCook, 0, 1);
playSound(85, 2);
playAnimation(714, 0);
setLan(1, 0);
disableObject(1);
{
Object *obj = scene->getObject(2);
- obj->actor_rect.left = obj->actor_rect.right = 81;
- obj->actor_rect.top = obj->actor_rect.bottom = 160;
- obj->actor_orientation = 4;
+ obj->actorRect.left = obj->actorRect.right = 81;
+ obj->actorRect.top = obj->actorRect.bottom = 160;
+ obj->actorOrientation = 4;
obj->save();
}
{
Object *obj = scene->getObject(3);
- obj->actor_rect.left = obj->actor_rect.right = 64;
- obj->actor_rect.top = obj->actor_rect.bottom = 168;
- obj->actor_orientation = 4;
+ obj->actorRect.left = obj->actorRect.right = 64;
+ obj->actorRect.top = obj->actorRect.bottom = 168;
+ obj->actorOrientation = 4;
obj->save();
}
{
Object *obj = scene->getObject(10);
- obj->actor_rect.left = obj->actor_rect.right = 105;
- obj->actor_rect.top = obj->actor_rect.bottom = 160;
- obj->actor_orientation = 1;
+ obj->actorRect.left = obj->actorRect.right = 105;
+ obj->actorRect.top = obj->actorRect.bottom = 160;
+ obj->actorOrientation = 1;
obj->save();
}
- SET_FLAG(0xDBCC, 1);
- return true;
+ SET_FLAG(dsAddr_MansionCookGoneFlag, 1);
+ break;
case 0x9472:
playSound(5, 4);
playSound(19, 14);
playActorAnimation(793);
- displayMessage(0x5218);
- inventory->remove(60);
- SET_FLAG(0xDBD6, 1);
- return true;
+ displayMessage(dsAddr_fitsPerfectMsg); // "It fits perfectly!"
+ inventory->remove(kInvItemWrappedCork);
+ SET_FLAG(dsAddr_MansionSinkState, 1);
+ break;
- case 0x9449: //meat + stew
+ case 0x9449: // meat + stew
playSound(5, 4);
playSound(63, 12);
playActorAnimation(726);
- displayMessage(0x508a);
- inventory->remove(69);
- inventory->add(70);
- return true;
+ displayMessage(dsAddr_dislikeVealMsg); // "I never liked veal anyway"
+ inventory->remove(kInvItemMeat);
+ inventory->add(kInvItemPlasticBag);
+ break;
case 0x949b:
- if (CHECK_FLAG(0xDBD6, 2)) {
+ if (CHECK_FLAG(dsAddr_MansionSinkState, 2)) {
playSound(5, 4);
playSound(5, 25);
playActorAnimation(802);
- displayMessage(0x5272);
- inventory->remove(62);
- inventory->add(74);
- inventory->add(65);
+ displayMessage(dsAddr_labelOffMsg); // "The label has come off!"
+ inventory->remove(kInvItemChilliWithLabel);
+ inventory->add(kInvItemChilliNoLabel);
+ inventory->add(kInvItemLabel);
} else
- displayMessage(0x524f);
- return true;
+ displayMessage(dsAddr_noHotWaterMsg); // "There's no hot water in the sink"
+ break;
case 0x94d4:
- if (inventory->has(70)) {
+ if (inventory->has(kInvItemPlasticBag)) {
setOns(0, 0);
playSound(5, 3);
playSound(5, 18);
playSound(13, 12);
playActorAnimation(803);
disableObject(7);
- inventory->remove(70);
- inventory->add(71);
+ inventory->remove(kInvItemPlasticBag);
+ inventory->add(kInvItemSocks);
} else
- displayMessage(0x53ad);
- return true;
+ displayMessage(dsAddr_noSockStoreMsg); // "I don't have anything to store these socks in"
+ break;
case 0x951b:
playSound(5, 4);
playSound(5, 22);
playActorAnimation(804);
- displayMessage(0x528b);
- return true;
+ displayMessage(dsAddr_corkTooSmallMsg); // "The cork is a bit too small"
+ break;
case 0x73a3:
- if (CHECK_FLAG(0xdbc5, 1)) {
- SET_FLAG(0xdbc5, 0);
+ if (CHECK_FLAG(dsAddr_mansionTVOnFlag, 1)) {
+ SET_FLAG(dsAddr_mansionTVOnFlag, 0);
//call 73e6
playSound(71, 3);
@@ -3714,92 +4578,94 @@ bool TeenAgentEngine::processCallback(uint16 addr) {
playAnimation(0, 0, true);
reloadLan();
- if (CHECK_FLAG(0xDBC6, 1)) {
- displayMessage(0x4da6);
+ if (CHECK_FLAG(dsAddr_mansionVCRPlayingTapeFlag, 1)) {
+ displayMessage(dsAddr_muchBetterMsg); // "That's much better"
}
} else {
- SET_FLAG(0xdbc5, 1);
+ SET_FLAG(dsAddr_mansionTVOnFlag, 1);
//call 73e6
playSound(71, 3);
playActorAnimation(700);
reloadLan();
}
- return true;
+ break;
- case 0x9537: //using remote on VCR
+ case 0x9537: // using remote on VCR
playSound(5, 3);
playSound(5, 16);
playActorAnimation(703);
- if (!CHECK_FLAG(0xDBC8, 1)) {
- displayMessage(0x4D80); //nothing happened
- return true;
- }
-
- //0x955a
- if (CHECK_FLAG(0xDBC6, 0)) {
- if (CHECK_FLAG(0xDBC5, 1)) { //tv on
- if (!CHECK_FLAG(0xDBC7, 1))
- displayMessage(0x4d93); //the tape started
-
- SET_FLAG(0xDBC6, 1);
- reloadLan();
- if (!CHECK_FLAG(0xDBC7, 1)) {
- Dialog::show(scene, 0x392c, 0, 702, 0xd1, 0xd0, 0, 1);
- SET_FLAG(0xDBC7, 1);
+ if (!CHECK_FLAG(dsAddr_mansionVCRTapeLoadedFlag, 1))
+ displayMessage(dsAddr_NotHappenMsg); // "Nothing happened"
+ else {
+ //0x955a
+ if (CHECK_FLAG(dsAddr_mansionVCRPlayingTapeFlag, 0)) {
+ if (CHECK_FLAG(dsAddr_mansionTVOnFlag, 1)) {
+ if (!CHECK_FLAG(dsAddr_mansionVCRPlayedTapeBeforeFlag, 1))
+ displayMessage(dsAddr_tapeStartedMsg); // "The tape started!"
+
+ SET_FLAG(dsAddr_mansionVCRPlayingTapeFlag, 1);
+ reloadLan();
+ if (!CHECK_FLAG(dsAddr_mansionVCRPlayedTapeBeforeFlag, 1)) {
+ dialog->show(93, scene, 0, 702, textColorMark, textColorJohnNoty, 0, 1);
+ SET_FLAG(dsAddr_mansionVCRPlayedTapeBeforeFlag, 1);
+ }
+ } else
+ displayMessage(dsAddr_tvOffMsg); // "I just realised that the TV is off"
+ } else {
+ SET_FLAG(dsAddr_mansionVCRPlayingTapeFlag, 0);
+ if (CHECK_FLAG(dsAddr_mansionTVOnFlag, 1)) {
+ reloadLan();
+ displayMessage(dsAddr_muchBetterMsg); // "That's much better"
}
- } else
- displayMessage(0x4d5b); //i just realized that tv is off
- } else {
- SET_FLAG(0xDBC6, 0);
- if (CHECK_FLAG(0xDBC5, 1)) { //tv on
- reloadLan();
- displayMessage(0x4da6); //much better!
}
}
- return true;
+ break;
- case 0x95eb: //polaroid + tv
- if (CHECK_FLAG(0xDBC6, 1)) {
- if (CHECK_FLAG(0xDBCA, 1)) {
- displayMessage(0x4de6);
+ case 0x95eb: // polaroid + tv
+ if (CHECK_FLAG(dsAddr_mansionVCRPlayingTapeFlag, 1)) {
+ if (CHECK_FLAG(dsAddr_usedPolaroidOnTVFlag, 1)) {
+ displayMessage(dsAddr_enoughPhotosMsg); // "I don't need any more photos"
} else {
playSound(5, 3);
playSound(5, 24);
playSound(90, 18);
playActorAnimation(707);
- inventory->add(61);
- SET_FLAG(0xDBCA, 1);
+ inventory->add(kInvItemPhoto);
+ SET_FLAG(dsAddr_usedPolaroidOnTVFlag, 1);
}
} else
- displayMessage(0x4ea5);
- return true;
+ displayMessage(dsAddr_notRightMomentMsg); // "I don't think this is the right moment"
+ break;
- case 0x962f: //polaroid + tv
- if (CHECK_FLAG(0xDBC6, 1)) {
- if (CHECK_FLAG(0xDBCB, 1)) {
- displayMessage(0x4e32);
+ case 0x962f: // dictaphone + tv
+ if (CHECK_FLAG(dsAddr_mansionVCRPlayingTapeFlag, 1)) {
+ if (CHECK_FLAG(dsAddr_usedDictaphoneOnTVFlag, 1)) {
+ displayMessage(dsAddr_alreadyRecordedMsg); // "I already recorded what I wanted to"
} else {
- displayMessage(0x4e05);
+ displayMessage(dsAddr_recordScareMsg); // "Yeah, I can record this and scare the cats"
playSound(5, 3);
playSound(5, 27);
playActorAnimation(708);
- SET_FLAG(0xDBCB, 1);
+ SET_FLAG(dsAddr_usedDictaphoneOnTVFlag, 1);
}
} else
- displayMessage(0x4ea5);
- return true;
-
+ displayMessage(dsAddr_notRightMomentMsg); // "I don't think this is the right moment"
+ break;
case 0x95c8:
playSound(5, 3);
playSound(91, 12);
playActorAnimation(706);
- inventory->remove(54);
- SET_FLAG(0xDBC8, 1);
- return true;
+ inventory->remove(kInvItemVideoTape);
+ SET_FLAG(dsAddr_mansionVCRTapeLoadedFlag, 1);
+ break;
- case 0x9673: //hit fatso - final scene
+ case 0x966c:
+ displayMessage(dsAddr_cantRecordNoBatteriesMsg); // "I can't record anything until I find some batteries"
+ break;
+
+ case 0x9673: // hit fatso - final scene
playSound(5, 3);
playSound(24, 10);
playActorAnimation(798);
@@ -3811,12 +4677,12 @@ bool TeenAgentEngine::processCallback(uint16 addr) {
wait(100);
playActorAnimation(805);
moveTo(50, 170, 3);
- displayMessage(0x5349);
+ displayMessage(dsAddr_onlyChilliMsg); // "Good this red stuff is only a chilli"
//moveTo(105, 157, 0, true);
playMusic(3);
loadScene(11, 105, 157, 4);
- Dialog::show(scene, 0x8409, 0, 938, 0xd1, 0xec, 0, 1);
+ dialog->show(203, scene, 0, 938, textColorMark, textColorCaptain, 0, 1);
playAnimation(939, 0, true, true);
playActorAnimation(942, true);
@@ -3837,9 +4703,9 @@ bool TeenAgentEngine::processCallback(uint16 addr) {
playActorAnimation(945, true);
waitAnimation();
- Dialog::show(scene, 0x844f, 0, 938, 0xd1, 0xec, 0, 1);
+ dialog->show(204, scene, 0, 938, textColorMark, textColorCaptain, 0, 1);
playAnimation(946, 0);
- Dialog::show(scene, 0x87c7, 0, 938, 0xd1, 0xec, 0, 1);
+ dialog->show(205, scene, 0, 938, textColorMark, textColorCaptain, 0, 1);
playSound(24, 7);
playAnimation(948, 0, true);
@@ -3847,16 +4713,16 @@ bool TeenAgentEngine::processCallback(uint16 addr) {
waitAnimation();
loadScene(40, 198, 186, 1);
- Dialog::show(scene, 0x8890, 0, 920, 0xd1, 0xe7, 0, 1);
- Dialog::show(scene, 0x8a2f, 0, 921, 0xd1, 0xe7, 0, 1);
+ dialog->show(206, scene, 0, 920, textColorMark, textColorRGBBoss, 0, 1);
+ dialog->show(207, scene, 0, 921, textColorMark, textColorRGBBoss, 0, 1);
playAnimation(923, 0);
- Dialog::show(scene, 0x8aa7, 0, 920, 0xd1, 0xe7, 0, 1);
+ dialog->show(208, scene, 0, 920, textColorMark, textColorRGBBoss, 0, 1);
moveTo(237, 186, 0);
moveTo(237, 177, 0);
moveTo(192, 177, 4);
playAnimation(949, 0);
- Dialog::showMono(scene, 0x8af6, 950, 0xe7, 1);
+ dialog->showMono(209, scene, 950, textColorRGBBoss, 1);
playSound(32, 5);
playSound(40, 14);
@@ -3869,98 +4735,89 @@ bool TeenAgentEngine::processCallback(uint16 addr) {
displayCredits();
loadScene(39, 192, 177, 0);
hideActor();
- Dialog::showMono(scene, 0x8b4d, 953, 0xe3, 1); //well...
+ dialog->showMono(210, scene, 953, textColorMarkEnd, 1);
playSound(5, 15);
playAnimation(954, 0);
- Dialog::showMono(scene, 0x8b7a, 955, 0xe3, 1); //that's all folks
+ dialog->showMono(211, scene, 955, textColorMarkEnd, 1);
playMusic(2);
- displayCredits(0xe47c, 4500); //3 minutes (infinite until key pressed in original)
+ displayCredits(dsAddr_finalCredits6, 4500); // 3 minutes (infinite until key pressed in original)
scene->push(SceneEvent(SceneEvent::kQuit));
+ break;
- return true;
-
- case 0x9921: { //using diving eq
- int id = scene->getId();
- if (id != 15) {
- displayMessage(id == 16 ? 0x38ce : 0x38a7);
- } else {
- playSound(5, 3);
- playSound(38, 16);
- playSound(38, 22);
- playActorAnimation(614);
- playSound(5, 3);
- playSound(44, 10);
- playSound(20, 26);
- playActorAnimation(615);
- loadScene(17, 156, 180, 3);
- SET_FLAG(0, 4);
- playSound(64, 7);
- playSound(64, 21);
- playSound(64, 42);
- playSound(64, 63);
- setTimerCallback(0x9a1d, 30);
- playActorAnimation(617, false, true);
+ case csAddr_useDivingEquipment: // using diving eq
+ // FIXME - Some code is missing here as displayMessage(dsAddr_cantTalkUnderwaterMsg),
+ // displayMessage(dsAddr_notSwimmingThereMsg), displayMessage(dsAddr_tooLittleAirMsg)
+ // displayMessage(dsAddr_fishDontWorryMsg) are never called.
+ {
+ int id = scene->getId();
+ if (id != 15) {
+ if (id == 16)
+ displayMessage(dsAddr_notHereMsg); // "Not here"
+ else
+ displayMessage(dsAddr_notBestPlaceMsg); // "It's not the best place for diving"
+ } else {
+ playSound(5, 3);
+ playSound(38, 16);
+ playSound(38, 22);
+ playActorAnimation(614);
+ playSound(5, 3);
+ playSound(44, 10);
+ playSound(20, 26);
+ playActorAnimation(615);
+ loadScene(17, 156, 180, 3);
+ SET_FLAG(dsAddr_timedCallbackState, 4);
+ playSound(64, 7);
+ playSound(64, 21);
+ playSound(64, 42);
+ playSound(64, 63);
+ setTimerCallback(csAddr_noAnchorTimeout, 30);
+ playActorAnimation(617, false, true);
+ }
}
- }
- return true;
+ break;
- case 0x9a1d: //no anchor, timeout
- SET_FLAG(0, 0);
- processCallback(0x9a7a);
- INC_FLAG(0xDBA6);
- switch (GET_FLAG(0xDBA6)) {
+ case csAddr_noAnchorTimeout: // no anchor, timeout
+ SET_FLAG(dsAddr_timedCallbackState, 0);
+ fnGetOutOfLake();
+ INC_FLAG(dsAddr_lakeDivingExitMessage);
+ switch (GET_FLAG(dsAddr_lakeDivingExitMessage)) {
case 1:
- displayMessage(0x39ae);
+ displayMessage(dsAddr_seaweedMsg); // "This seaweed is just like the flowers I gave mum on her last birthday"
break;
case 2:
- displayMessage(0x39f6);
+ displayMessage(dsAddr_fishBoatMsg); // "I wonder what fish do inside this boat at night"
break;
case 3:
- displayMessage(0x3a28);
+ displayMessage(dsAddr_fishSomethingMsg); // "I think I have to fish out something down there"
break;
case 4:
- displayMessage(0x3a85);
+ displayMessage(dsAddr_notRedHerringMsg); // "I hope all this fish stuff is not a red herring"
break;
case 5:
- displayMessage(0x39ae);
+ displayMessage(dsAddr_seaweedMsg); // "This seaweed is just like the flowers I gave mum on her last birthday"
break;
default:
- displayMessage(0x3ab7);
+ displayMessage(dsAddr_niceDownMsg); // "It's nice down there"
+ break;
}
- return true;
+ break;
- case 0x99e0: //success getting an anchor
- SET_FLAG(0, 0);
- setTimerCallback(0, 0);
- scene->getActorAnimation()->free();
- playSound(64, 7);
- playActorAnimation(618);
- disableObject(5);
- setOns(0, 0);
- playSound(31, 1);
- playActorAnimation(619);
- processCallback(0x9a7a);
- inventory->add(42);
- displayMessage(0x3989);
- return true;
+ case csAddr_gotAnchor:
+ fnGotAnchor();
+ break;
- case 0x9a7a:
- loadScene(15, 156, 180, 3);
- playSound(5, 5);
- playSound(38, 14);
- playSound(38, 20);
- playSound(5, 25);
- playActorAnimation(616);
- return true;
+ case csAddr_getOutOfLake:
+ fnGetOutOfLake();
+ break;
- case 0x9aca:
+ case csAddr_digMansionWall:
if (scene->getId() == 13) {
moveTo(172, 181, 1);
playSound(26, 19);
for (uint i = 0; i < 8; ++i)
playSound(26, 30 + i * 11);
playActorAnimation(661);
- displayCutsceneMessage(0x3c80, 30484);
+ displayCutsceneMessage(dsAddr_cutsceneMsgA, 84, 95); // "Hundred moments later"
playSound(56, 10);
playSound(56, 21);
@@ -3974,7 +4831,7 @@ bool TeenAgentEngine::processCallback(uint16 addr) {
waitAnimation();
setOns(1, 49);
- displayCutsceneMessage(0x3c9a, 30453);
+ displayCutsceneMessage(dsAddr_cutsceneMsgB, 53, 95); // "Another hundred moments later"
moveTo(162, 184, 0, true);
playSound(26, 6);
playSound(26, 17);
@@ -3986,27 +4843,32 @@ bool TeenAgentEngine::processCallback(uint16 addr) {
playActorAnimation(664);
playAnimation(665, 1);
wait(100);
- displayMessage(0x3cbc);
+ displayMessage(dsAddr_foundCrudeOilMsg); // "At least I found crude oil and I'll be rich"
wait(100);
- displayMessage(0x3cea);
- inventory->remove(37);
- processCallback(0x9d45); //another mansion try
+ displayMessage(dsAddr_myLifeMsg); // "That's my life"
+ inventory->remove(kInvItemShovelAct2);
+ fnMansionIntrusionAttempt();
} else
- displayMessage(0x3c58);
- return true;
+ displayMessage(dsAddr_notThinkRightPlaceMsg); // "I don't think this is the right place"
+ break;
- case 0x9c6d:
- displayMessage(0x49d1);
- SET_FLAG(0xDBB5, 1);
- return false;
+ case csAddr_tooDarkHere:
+ displayMessage(dsAddr_cantDoTooDarkMsg); // "I can't do anything here, it's too dark"
+ break;
+
+ case csAddr_examineBanknote:
+ displayMessage(dsAddr_bankNoteMsg); // "It's a note from some bank..."
+ SET_FLAG(dsAddr_examinedBanknoteFlag, 1);
+ retVal = false;
+ break;
- case 0x9c79: //use pills
+ case csAddr_useTimePills: // use pills
if (scene->getId() != 36) {
- displayMessage(0x52a9);
- } else if (CHECK_FLAG(0xDBF1, 1)) {
- displayMessage(0x52F6);
+ displayMessage(dsAddr_notTryNowMsg); // "There's no need to try them now"
+ } else if (CHECK_FLAG(dsAddr_mansionAlreadyUsedTimePillsFlag, 1)) {
+ displayMessage(dsAddr_nahMsg); // "Nah"
} else {
- SET_FLAG(0xDBF1, 1);
+ SET_FLAG(dsAddr_mansionAlreadyUsedTimePillsFlag, 1);
moveTo(102, 195, 2);
playSound(5, 3);
playSound(75, 12);
@@ -4020,131 +4882,59 @@ bool TeenAgentEngine::processCallback(uint16 addr) {
{
Walkbox *w = scene->getWalkbox(0);
w->rect.left = 0;
- w->rect.bottom = 199;
+ w->rect.bottom = kScreenHeight-1;
w->save();
}
setLan(1, 0xff);
- Dialog::showMark(scene, 0x58a9);
+ dialog->showMark(130, scene);
Object *obj = scene->getObject(1);
- obj->actor_rect.left = obj->actor_rect.right = 270;
- obj->actor_rect.top = obj->actor_rect.bottom = 193;
- obj->actor_orientation = 2;
+ obj->actorRect.left = obj->actorRect.right = 270;
+ obj->actorRect.top = obj->actorRect.bottom = 193;
+ obj->actorOrientation = 2;
obj->save();
obj = scene->getObject(3);
- obj->actor_rect.left = obj->actor_rect.right = 254;
- obj->actor_rect.top = obj->actor_rect.bottom = 193;
- obj->actor_orientation = 1;
+ obj->actorRect.left = obj->actorRect.right = 254;
+ obj->actorRect.top = obj->actorRect.bottom = 193;
+ obj->actorOrientation = 1;
obj->save();
- SET_FLAG(0xDBD7, 1);
+ SET_FLAG(dsAddr_MansionThruFanByTimePillFlag, 1);
}
- return true;
+ break;
- case 0x9d45: {
- wait(50);
- byte attempts = ++ *(res->dseg.ptr(0xDBEA));
- debug(0, "mansion intrusion attempt #%u", attempts);
- if (attempts >= 7)
- return false;
+ case csAddr_mansionIntrusionAttempt:
+ retVal = fnMansionIntrusionAttempt();
+ break;
- uint16 ptr = res->dseg.get_word((attempts - 2) * 2 + 0x6035);
- debug(0, "mansion callback = %04x", ptr);
- byte id = scene->getId();
+ case csAddr_secondMansionIntrusion:
+ fnSecondMansionIntrusion();
+ break;
- playMusic(11);
- displayCutsceneMessage(0x580a, 30484);
- processCallback(ptr);
- playMusic(6);
- if (getFlag(0xdbec) != 1 || ptr != 0x9f3e) //ptr check eq. scene_id == 11
- loadScene(id, scene->getPosition());
- return true;
- }
+ case csAddr_thirdMansionIntrusion:
+ fnThirdMansionIntrusion();
+ break;
- case 0x9d90:
- hideActor();
- loadScene(34, scene->getPosition());
- playAnimation(986, 0, true);
- playAnimation(987, 1, true);
- waitAnimation();
- Dialog::show(scene, 0x6f60, 988, 989, 0xd9, 0xd0, 1, 2);
- playAnimation(990, 0, true);
- playAnimation(991, 1, true);
- waitAnimation();
- showActor();
- return true;
-
- case 0x9de5:
- hideActor();
- loadScene(30, scene->getPosition());
- playAnimation(887, 1);
- playAnimation(888, 2, true, true, true);
- //waitAnimation();
- Dialog::showMono(scene, 0x6fb8, 889, 0xd9, 2);
- playSound(26, 3);
- playAnimation(891, 1, true, true, true);
- playAnimation(892, 2);
- waitAnimation();
- Dialog::show(scene, 0x6ff0, 890, 889, 0xd0, 0xd9, 3, 2);
- showActor();
- return true;
-
- case 0x9e54:
- hideActor();
- loadScene(32, scene->getPosition());
- playAnimation(894, 1, true, true, true);
- playAnimation(893, 2, true);
- waitAnimation();
- Dialog::showMono(scene, 0x706e, 895, 0xd9, 3);
- playSound(75, 9);
- playAnimation(898, 1, true);
- playAnimation(897, 2, true);
- Dialog::show(scene, 0x7096, 896, 895, 0xd0, 0xd9, 2, 3);
- showActor();
- return true;
+ case csAddr_fourthMansionIntrusion:
+ fnFourthMansionIntrusion();
+ break;
- case 0x9ec3:
- hideActor();
- loadScene(29, scene->getPosition());
- playActorAnimation(901, true);
- playAnimation(900, 1, true);
- waitAnimation();
- Dialog::show(scene, 0x7161, 903, 902, 0xd0, 0xd9, 2, 3);
- for (byte i = 3; i <= 9; i += 2)
- playSound(56, i);
+ case csAddr_fifthMansionIntrusion:
+ fnFifthMansionIntrusion();
+ break;
- playActorAnimation(905, true);
- playAnimation(904, 1, true);
- Dialog::show(scene, 0x71c6, 903, 902, 0xd0, 0xd9, 2, 3);
- showActor();
- return true;
+ case csAddr_sixthMansionIntrusion:
+ fnSixthMansionIntrusion();
+ break;
- case 0x9f3e:
- hideActor();
- loadScene(35, scene->getPosition());
- playAnimation(907, 2, true);
- playAnimation(906, 3, true);
- waitAnimation();
- Dialog::show(scene, 0x7243, 908, 909, 0xd9, 0xd0, 2, 3);
- Dialog::show(scene, 0x7318, 910, 908, 0xd0, 0xd9, 3, 2);
- loadScene(11, scene->getPosition());
- showActor();
- setOns(3, 51);
- playAnimation(911, 1);
- playAnimation(899, 1);
- setFlag(0xDBEC, 1);
- reloadLan();
- wait(200);
- enableObject(8);
- setLan(2, 8);
- return true;
+ default:
+ error("unknown callback 0x%04x called", addr);
+ break;
}
- //error("invalid callback %04x called", addr);
- warning("invalid callback %04x called", addr);
- return true;
+ return retVal;
}
} // End of namespace TeenAgent
diff --git a/engines/teenagent/detection.cpp b/engines/teenagent/detection.cpp
index 2de6f49c44..0c1268a5fc 100644
--- a/engines/teenagent/detection.cpp
+++ b/engines/teenagent/detection.cpp
@@ -26,6 +26,7 @@
#include "base/plugins.h"
#include "engines/advancedDetector.h"
+#include "teenagent/resources.h"
#include "teenagent/teenagent.h"
#include "graphics/thumbnail.h"
@@ -168,7 +169,7 @@ public:
Common::String desc = buf;
- in->seek(0x777a);
+ in->seek(TeenAgent::saveStateSize);
if (!Graphics::checkThumbnailHeader(*in))
return SaveStateDescriptor(slot, desc);
diff --git a/engines/teenagent/dialog.cpp b/engines/teenagent/dialog.cpp
index 400bd7cec2..870aca6400 100644
--- a/engines/teenagent/dialog.cpp
+++ b/engines/teenagent/dialog.cpp
@@ -22,99 +22,103 @@
#include "teenagent/dialog.h"
#include "teenagent/resources.h"
#include "teenagent/scene.h"
+#include "teenagent/teenagent.h"
namespace TeenAgent {
+void Dialog::show(uint16 dialogNum, Scene *scene, uint16 animation1, uint16 animation2, byte color1, byte color2, byte slot1, byte slot2) {
+ uint16 addr = _vm->res->getDialogAddr(dialogNum);
+ // WORKAROUND: For Dialog 163, The usage of this in the engine overlaps the previous dialog i.e. the
+ // starting offset used is two bytes early, thus implicitly changing the first command of this dialog
+ // from NEW_LINE to CHANGE_CHARACTER.
+ // FIXME: Unsure if this is correct behaviour or if this is a regression from the original. Check this.
+ // Similar issue occurs with Dialog 190 which is used from dialogue stack at 0x7403, rather than start of 0x7405
+ // Similar issue occurs with Dialog 0 which is used from dialogue stack at 0x0001, rather than start of 0x0000
+ if (dialogNum == 163)
+ addr -= 2;
+ show(scene, addr, animation1, animation2, color1, color2, slot1, slot2);
+}
+
void Dialog::show(Scene *scene, uint16 addr, uint16 animation1, uint16 animation2, byte color1, byte color2, byte slot1, byte slot2) {
- debug(0, "Dialog::show(%04x, %u:%u, %u:%u)", addr, slot1, animation1, slot2, animation2);
- Resources *res = Resources::instance();
+ debugC(0, kDebugDialog, "Dialog::show(%04x, %u:%u, %u:%u)", addr, slot1, animation1, slot2, animation2);
int n = 0;
Common::String message;
byte color = color1;
if (animation1 != 0) {
- SceneEvent e(SceneEvent::kPlayAnimation);
- e.animation = animation1;
- e.slot = 0xc0 | slot1; //looped, paused
- scene->push(e);
+ SceneEvent e1(SceneEvent::kPlayAnimation);
+ e1.animation = animation1;
+ e1.slot = 0xc0 | slot1; //looped, paused
+ scene->push(e1);
}
if (animation2 != 0) {
- SceneEvent e(SceneEvent::kPlayAnimation);
- e.animation = animation2;
- e.slot = 0xc0 | slot2; //looped, paused
- scene->push(e);
+ SceneEvent e2(SceneEvent::kPlayAnimation);
+ e2.animation = animation2;
+ e2.slot = 0xc0 | slot2; //looped, paused
+ scene->push(e2);
}
while (n < 4) {
- byte c = res->eseg.get_byte(addr++);
- //debug(0, "%02x: %c", c, c > 0x20? c: '.');
+ byte c = _vm->res->eseg.get_byte(addr++);
+ debugC(1, kDebugDialog, "%02x: %c", c, c > 0x20? c: '.');
switch (c) {
case 0:
++n;
switch (n) {
case 1:
- //debug(0, "new line\n");
+ debugC(1, kDebugDialog, "new line\n");
if (!message.empty())
message += '\n';
break;
case 2:
- //debug(0, "displaymessage %s", message.c_str());
+ debugC(1, kDebugDialog, "displaymessage %s", message.c_str());
if (color == color2) {
//pause animation in other slot
- {
- SceneEvent e(SceneEvent::kPauseAnimation);
- e.slot = 0x80 | slot1;
- scene->push(e);
- }
- {
- SceneEvent e(SceneEvent::kPlayAnimation);
- e.animation = animation2;
- e.slot = 0x80 | slot2;
- scene->push(e);
- }
+ SceneEvent e1(SceneEvent::kPauseAnimation);
+ e1.slot = 0x80 | slot1;
+ scene->push(e1);
+
+ SceneEvent e2(SceneEvent::kPlayAnimation);
+ e2.animation = animation2;
+ e2.slot = 0x80 | slot2;
+ scene->push(e2);
} else if (color == color1) {
//pause animation in other slot
- {
- SceneEvent e(SceneEvent::kPauseAnimation);
- e.slot = 0x80 | slot2;
- scene->push(e);
- }
- {
- SceneEvent e(SceneEvent::kPlayAnimation);
- e.animation = animation1;
- e.slot = 0x80 | slot1;
- scene->push(e);
- }
- }
+ SceneEvent e2(SceneEvent::kPauseAnimation);
+ e2.slot = 0x80 | slot2;
+ scene->push(e2);
- {
- message.trim();
- if (message.empty())
- break;
+ SceneEvent e1(SceneEvent::kPlayAnimation);
+ e1.animation = animation1;
+ e1.slot = 0x80 | slot1;
+ scene->push(e1);
+ }
- SceneEvent e(SceneEvent::kMessage);
- e.message = message;
- e.color = color;
+ message.trim();
+ if (!message.empty()) {
+ SceneEvent em(SceneEvent::kMessage);
+ em.message = message;
+ em.color = color;
if (color == color1)
- e.slot = slot1;
+ em.slot = slot1;
if (color == color2)
- e.slot = slot2;
- scene->push(e);
+ em.slot = slot2;
+ scene->push(em);
message.clear();
}
break;
case 3:
- color = color == color1 ? color2 : color1;
- //debug(0, "changing color to %02x", color);
+ color = (color == color1) ? color2 : color1;
+ debugC(1, kDebugDialog, "changing color to %02x", color);
break;
}
break;
case 0xff: {
- //fixme : wait for the next cycle of the animation
+ //FIXME : wait for the next cycle of the animation
}
break;
@@ -124,21 +128,20 @@ void Dialog::show(Scene *scene, uint16 addr, uint16 animation1, uint16 animation
}
}
- SceneEvent e(SceneEvent::kClearAnimations);
- scene->push(e);
+ SceneEvent ec(SceneEvent::kClearAnimations);
+ scene->push(ec);
}
uint16 Dialog::pop(Scene *scene, uint16 addr, uint16 animation1, uint16 animation2, byte color1, byte color2, byte slot1, byte slot2) {
- debug(0, "Dialog::pop(%04x, %u:%u, %u:%u)", addr, slot1, animation1, slot2, animation2);
- Resources *res = Resources::instance();
+ debugC(0, kDebugDialog, "Dialog::pop(%04x, %u:%u, %u:%u)", addr, slot1, animation1, slot2, animation2);
uint16 next;
do {
- next = res->dseg.get_word(addr);
+ next = _vm->res->dseg.get_word(addr);
addr += 2;
} while (next == 0);
- uint16 next2 = res->dseg.get_word(addr);
+ uint16 next2 = _vm->res->dseg.get_word(addr);
if (next2 != 0xffff)
- res->dseg.set_word(addr - 2, 0);
+ _vm->res->dseg.set_word(addr - 2, 0);
show(scene, next, animation1, animation2, color1, color2, slot1, slot2);
return next;
}
diff --git a/engines/teenagent/dialog.h b/engines/teenagent/dialog.h
index 3bb7d818c1..6672ce7206 100644
--- a/engines/teenagent/dialog.h
+++ b/engines/teenagent/dialog.h
@@ -27,20 +27,59 @@
namespace TeenAgent {
+// Text Color Symbols
+enum {
+ textColorJohnNoty = 0xd0,
+ textColorCampGuard = 0xd0,
+ textColorShockedCaptain = 0xd0,
+ textColorMark = 0xd1,
+ textColorCredits = 0xd1,
+ textColorBankGuard = 0xd7,
+ textColorGrandpa = 0xd8,
+ textColorMansionGuard = 0xd9,
+ textColorMarkEnd = 0xe3,
+ textColorProfessor = 0xe5,
+ textColorOldLady = 0xe5,
+ textColorAnne = 0xe5,
+ textColorWellEcho = 0xe5,
+ textColorSonny = 0xe5,
+ textColorEskimo = 0xe5,
+ textColorRGBBoss = 0xe7,
+ textColorGoldDriver = 0xe7,
+ textColorFortuneTeller = 0xeb,
+ textColorCaptain = 0xec,
+ textColorMike = 0xef,
+ textColorCook = 0xef,
+ textColorBarman = 0xef
+};
+
class Scene;
+class TeenAgentEngine;
+
class Dialog {
public:
- static uint16 pop(Scene *scene, uint16 addr, uint16 animation1, uint16 animation2, byte color1, byte color2, byte slot1, byte slot2);
- static uint16 popMark(Scene *scene, uint16 addr) {
- return pop(scene, addr, 0, 0, 0xd1, 0xd1, 0, 0);
+ Dialog(TeenAgentEngine *vm) : _vm(vm) { }
+
+ uint16 pop(Scene *scene, uint16 addr, uint16 animation1, uint16 animation2, byte color1, byte color2, byte slot1, byte slot2);
+
+ uint16 popMark(Scene *scene, uint16 addr) {
+ return pop(scene, addr, 0, 0, textColorMark, textColorMark, 0, 0);
}
- static void show(Scene *scene, uint16 addr, uint16 animation1, uint16 animation2, byte color1, byte color2, byte slot1, byte slot2);
- static void showMono(Scene *scene, uint16 addr, uint16 animation, byte color, byte slot) {
- show(scene, addr, animation, animation, color, color, slot, slot);
+
+ void show(uint16 dialogNum, Scene *scene, uint16 animation1, uint16 animation2, byte color1, byte color2, byte slot1, byte slot2);
+
+ void showMono(uint16 dialogNum, Scene *scene, uint16 animation, byte color, byte slot) {
+ show(dialogNum, scene, animation, animation, color, color, slot, slot);
}
- static void showMark(Scene *scene, uint16 addr) {
- show(scene, addr, 0, 0, 0xd1, 0xd1, 0, 0);
+
+ void showMark(uint16 dialogNum, Scene *scene) {
+ show(dialogNum, scene, 0, 0, textColorMark, textColorMark, 0, 0);
}
+
+private:
+ TeenAgentEngine *_vm;
+
+ void show(Scene *scene, uint16 addr, uint16 animation1, uint16 animation2, byte color1, byte color2, byte slot1, byte slot2);
};
} // End of namespace TeenAgent
diff --git a/engines/teenagent/font.cpp b/engines/teenagent/font.cpp
index f7558b60f2..47f52ff90f 100644
--- a/engines/teenagent/font.cpp
+++ b/engines/teenagent/font.cpp
@@ -20,8 +20,10 @@
*/
#include "teenagent/font.h"
+
#include "teenagent/pack.h"
-#include "common/debug.h"
+#include "teenagent/teenagent.h"
+
#include "common/endian.h"
#include "common/stream.h"
#include "common/textconsole.h"
@@ -30,34 +32,41 @@
namespace TeenAgent {
-Font::Font() : grid_color(0xd0), shadow_color(0), height(0), width_pack(0), data(0) {
+Font::Font() : _gridColor(0xd0), _shadowColor(0), _height(0), _widthPack(0), _data(0) {
+}
+
+Font::~Font() {
+ delete[] _data;
}
-void Font::load(const Pack &pack, int id) {
- delete[] data;
- data = NULL;
+void Font::load(const Pack &pack, int id, byte height, byte widthPack) {
+ delete[] _data;
+ _data = NULL;
Common::ScopedPtr<Common::SeekableReadStream> s(pack.getStream(id));
if (!s)
error("loading font %d failed", id);
- data = new byte[s->size()];
- s->read(data, s->size());
- debug(0, "font size: %d", s->size());
+ _data = new byte[s->size()];
+ s->read(_data, s->size());
+ debugC(0, kDebugFont, "font size: %d", s->size());
+
+ _height = height;
+ _widthPack = widthPack;
}
uint Font::render(Graphics::Surface *surface, int x, int y, char c, byte color) {
unsigned idx = (unsigned char)c;
if (idx < 0x20 || idx >= 0x81) {
- debug(0, "unhandled char 0x%02x", idx);
+ debugC(0, kDebugFont, "unhandled char 0x%02x", idx);
return 0;
}
idx -= 0x20;
- byte *glyph = data + READ_LE_UINT16(data + idx * 2);
+ byte *glyph = _data + READ_LE_UINT16(_data + idx * 2);
int h = glyph[0], w = glyph[1];
- if (surface == NULL || surface->pixels == NULL || y + h <= 0 || y >= 200 || x + w <= 0 || x >= 320)
- return w - width_pack;
+ if (surface == NULL || surface->pixels == NULL || y + h <= 0 || y >= kScreenHeight || x + w <= 0 || x >= kScreenWidth)
+ return w - _widthPack;
int i0 = 0, j0 = 0;
if (x < 0) {
@@ -68,7 +77,7 @@ uint Font::render(Graphics::Surface *surface, int x, int y, char c, byte color)
i0 = -y;
y = 0;
}
- //debug(0, "char %c, width: %dx%d", c, w, h);
+ debugC(0, kDebugFont, "char %c, width: %dx%d", c, w, h);
glyph += 2;
glyph += i0 * w + j0;
byte *dst = (byte *)surface->getBasePtr(x, y);
@@ -80,7 +89,7 @@ uint Font::render(Graphics::Surface *surface, int x, int y, char c, byte color)
case 0:
break;
case 1:
- dst[j] = shadow_color;
+ dst[j] = _shadowColor;
break;
case 2:
dst[j] = color;
@@ -91,57 +100,57 @@ uint Font::render(Graphics::Surface *surface, int x, int y, char c, byte color)
}
dst += surface->pitch;
}
- return w - width_pack;
+ return w - _widthPack;
}
-static uint find_in_str(const Common::String &str, char c, uint pos = 0) {
+static uint findInStr(const Common::String &str, char c, uint pos = 0) {
while (pos < str.size() && str[pos] != c) ++pos;
return pos;
}
-uint Font::render(Graphics::Surface *surface, int x, int y, const Common::String &str, byte color, bool show_grid) {
+uint Font::render(Graphics::Surface *surface, int x, int y, const Common::String &str, byte color, bool showGrid) {
if (surface != NULL) {
- uint max_w = render(NULL, 0, 0, str, false);
- if (show_grid)
- grid(surface, x - 4, y - 2, max_w + 8, 8 + 6, grid_color);
+ uint maxW = render(NULL, 0, 0, str, false);
+ if (showGrid)
+ grid(surface, x - 4, y - 2, maxW + 8, 8 + 6, _gridColor);
uint i = 0, j;
do {
- j = find_in_str(str, '\n', i);
+ j = findInStr(str, '\n', i);
Common::String line(str.c_str() + i, j - i);
- //debug(0, "line: %s", line.c_str());
+ debugC(0, kDebugFont, "line: %s", line.c_str());
- if (y + (int)height >= 0) {
+ if (y + (int)_height >= 0) {
uint w = render(NULL, 0, 0, line, false);
- int xp = x + (max_w - w) / 2;
+ int xp = x + (maxW - w) / 2;
for (uint k = 0; k < line.size(); ++k) {
xp += render(surface, xp, y, line[k], color);
}
- } else if (y >= 200)
+ } else if (y >= kScreenHeight)
break;
- y += height;
+ y += _height;
i = j + 1;
} while (i < str.size());
- return max_w;
+ return maxW;
} else {
- //surface == NULL;
- uint w = 0, max_w = 0;
+ // surface == NULL;
+ uint w = 0, maxW = 0;
for (uint i = 0; i < str.size(); ++i) {
char c = str[i];
if (c == '\n') {
- y += height;
- if (w > max_w)
- max_w = w;
+ y += _height;
+ if (w > maxW)
+ maxW = w;
w = 0;
continue;
}
w += render(NULL, 0, 0, c, color);
}
- if (w > max_w)
- max_w = w;
+ if (w > maxW)
+ maxW = w;
- return max_w;
+ return maxW;
}
}
@@ -156,8 +165,4 @@ void Font::grid(Graphics::Surface *surface, int x, int y, int w, int h, byte col
}
}
-Font::~Font() {
- delete[] data;
-}
-
} // End of namespace TeenAgent
diff --git a/engines/teenagent/font.h b/engines/teenagent/font.h
index 5146ace21f..a61f145fa6 100644
--- a/engines/teenagent/font.h
+++ b/engines/teenagent/font.h
@@ -28,20 +28,24 @@
namespace TeenAgent {
class Pack;
+
class Font {
public:
- byte grid_color, shadow_color;
- byte height, width_pack;
-
Font();
- void load(const Pack &pack, int id);
- uint render(Graphics::Surface *surface, int x, int y, const Common::String &str, byte color, bool grid = false);
+ ~Font();
+
+ void load(const Pack &pack, int id, byte height, byte widthPack);
+ uint render(Graphics::Surface *surface, int x, int y, const Common::String &str, byte color, bool showGrid = false);
uint render(Graphics::Surface *surface, int x, int y, char c, byte color);
static void grid(Graphics::Surface *surface, int x, int y, int w, int h, byte color);
- ~Font();
+ byte getHeight() { return _height; }
+ void setShadowColor(byte color) { _shadowColor = color; }
private:
- byte *data;
+ byte *_data;
+
+ byte _gridColor, _shadowColor;
+ byte _height, _widthPack;
};
} // End of namespace TeenAgent
diff --git a/engines/teenagent/inventory.cpp b/engines/teenagent/inventory.cpp
index 59dd44baa3..354371666c 100644
--- a/engines/teenagent/inventory.cpp
+++ b/engines/teenagent/inventory.cpp
@@ -24,6 +24,7 @@
#include "common/textconsole.h"
#include "teenagent/inventory.h"
+
#include "teenagent/resources.h"
#include "teenagent/objects.h"
#include "teenagent/teenagent.h"
@@ -31,47 +32,44 @@
namespace TeenAgent {
-Inventory::Inventory(TeenAgentEngine *engine) {
- _engine = engine;
+Inventory::Inventory(TeenAgentEngine *vm) : _vm(vm) {
_active = false;
FilePack varia;
varia.open("varia.res");
- {
- Common::ScopedPtr<Common::SeekableReadStream> s(varia.getStream(3));
- if (!s)
- error("no inventory background");
- debug(0, "loading inventory background...");
- _background.load(*s, Surface::kTypeOns);
- }
+ Common::ScopedPtr<Common::SeekableReadStream> s(varia.getStream(3));
+ if (!s)
+ error("no inventory background");
+ debugC(0, kDebugInventory, "loading inventory background...");
+ _background.load(*s, Surface::kTypeOns);
- uint32 items_size = varia.getSize(4);
- if (items_size == 0)
+ uint32 itemsSize = varia.getSize(4);
+ if (itemsSize == 0)
error("invalid inventory items size");
- debug(0, "loading items, size: %u", items_size);
- _items = new byte[items_size];
- varia.read(4, _items, items_size);
+ debugC(0, kDebugInventory, "loading items, size: %u", itemsSize);
+ _items = new byte[itemsSize];
+ varia.read(4, _items, itemsSize);
byte offsets = _items[0];
- assert(offsets == 92);
+ assert(offsets == kNumInventoryItems);
for (byte i = 0; i < offsets; ++i) {
_offset[i] = READ_LE_UINT16(_items + i * 2 + 1);
}
- _offset[92] = items_size;
+ _offset[kNumInventoryItems] = itemsSize;
- Resources *res = Resources::instance();
- for (byte i = 0; i <= 92; ++i) {
+ InventoryObject ioBlank;
+ _objects.push_back(ioBlank);
+ for (byte i = 0; i < kNumInventoryItems; ++i) {
InventoryObject io;
- uint16 obj_addr = res->dseg.get_word(0xc4a4 + i * 2);
- if (obj_addr != 0)
- io.load(res->dseg.ptr(obj_addr));
+ uint16 objAddr = vm->res->dseg.get_word(dsAddr_inventoryItemDataPtrTable + i * 2);
+ io.load(vm->res->dseg.ptr(objAddr));
_objects.push_back(io);
}
- _inventory = res->dseg.ptr(0xc48d);
+ _inventory = vm->res->dseg.ptr(dsAddr_inventory);
- for (int y = 0; y < 4; ++y)
+ for (int y = 0; y < 4; ++y) {
for (int x = 0; x < 6; ++x) {
int i = y * 6 + x;
_graphics[i]._rect.left = 28 + 45 * x - 1;
@@ -79,6 +77,7 @@ Inventory::Inventory(TeenAgentEngine *engine) {
_graphics[i]._rect.right = _graphics[i]._rect.left + 40;
_graphics[i]._rect.bottom = _graphics[i]._rect.top + 26;
}
+ }
varia.close();
_hoveredObj = _selectedObj = NULL;
@@ -89,7 +88,7 @@ Inventory::~Inventory() {
}
bool Inventory::has(byte item) const {
- for (int i = 0; i < 24; ++i) {
+ for (int i = 0; i < kInventorySize; ++i) {
if (_inventory[i] == item)
return true;
}
@@ -97,34 +96,34 @@ bool Inventory::has(byte item) const {
}
void Inventory::remove(byte item) {
- debug(0, "removing %u from inventory", item);
+ debugC(0, kDebugInventory, "removing %u from inventory", item);
int i;
- for (i = 0; i < 24; ++i) {
+ for (i = 0; i < kInventorySize; ++i) {
if (_inventory[i] == item) {
break;
}
}
- for (; i < 23; ++i) {
+ for (; i < (kInventorySize - 1); ++i) {
_inventory[i] = _inventory[i + 1];
_graphics[i].free();
}
- _inventory[23] = 0;
- _graphics[23].free();
+ _inventory[kInventorySize - 1] = kInvItemNoItem;
+ _graphics[kInventorySize - 1].free();
}
void Inventory::clear() {
- debug(0, "clearing inventory");
- for (int i = 0; i < 24; ++i) {
- _inventory[i] = 0;
+ debugC(0, kDebugInventory, "clearing inventory");
+ for (int i = 0; i < kInventorySize; ++i) {
+ _inventory[i] = kInvItemNoItem;
_graphics[i].free();
}
}
void Inventory::reload() {
- for (int i = 0; i < 24; ++i) {
+ for (int i = 0; i < kInventorySize; ++i) {
_graphics[i].free();
uint item = _inventory[i];
- if (item != 0)
+ if (item != kInvItemNoItem)
_graphics[i].load(this, item);
}
}
@@ -132,9 +131,9 @@ void Inventory::reload() {
void Inventory::add(byte item) {
if (has(item))
return;
- debug(0, "adding %u to inventory", item);
- for (int i = 0; i < 24; ++i) {
- if (_inventory[i] == 0) {
+ debugC(0, kDebugInventory, "adding %u to inventory", item);
+ for (int i = 0; i < kInventorySize; ++i) {
+ if (_inventory[i] == kInvItemNoItem) {
_inventory[i] = item;
return;
}
@@ -143,13 +142,14 @@ void Inventory::add(byte item) {
}
bool Inventory::tryObjectCallback(InventoryObject *obj) {
- byte id = obj->id;
- uint i = 0;
- for (byte *table = Resources::instance()->dseg.ptr(0xBB6F + 3); table[0] != 0 && i < 7; table += 3, ++i) {
- if (table[0] == id) {
+ byte objId = obj->id;
+ for (uint i = 0; i < 7; ++i) {
+ byte tableId = _vm->res->dseg.get_byte(dsAddr_objCallbackTablePtr + (3 * i));
+ uint16 callbackAddr = _vm->res->dseg.get_word(dsAddr_objCallbackTablePtr + (3 * i) + 1);
+ if (tableId == objId) {
resetSelectedObject();
activate(false);
- if (_engine->processCallback(READ_LE_UINT16(table + 1)))
+ if (_vm->processCallback(callbackAddr))
return true;
}
}
@@ -157,8 +157,6 @@ bool Inventory::tryObjectCallback(InventoryObject *obj) {
}
bool Inventory::processEvent(const Common::Event &event) {
- Resources *res = Resources::instance();
-
switch (event.type) {
case Common::EVENT_MOUSEMOVE:
@@ -178,9 +176,9 @@ bool Inventory::processEvent(const Common::Event &event) {
_mouse = event.mouse;
_hoveredObj = NULL;
- for (int i = 0; i < 24; ++i) {
+ for (int i = 0; i < kInventorySize; ++i) {
byte item = _inventory[i];
- if (item == 0)
+ if (item == kInvItemNoItem)
continue;
_graphics[i]._hovered = _graphics[i]._rect.in(_mouse);
@@ -197,14 +195,14 @@ bool Inventory::processEvent(const Common::Event &event) {
if (_hoveredObj == NULL)
return true;
- debug(0, "lclick on %u:%s", _hoveredObj->id, _hoveredObj->name.c_str());
+ debugC(0, kDebugInventory, "lclick on %u:%s", _hoveredObj->id, _hoveredObj->name.c_str());
if (_selectedObj == NULL) {
if (tryObjectCallback(_hoveredObj))
return true;
//activate(false);
- int w = res->font7.render(NULL, 0, 0, _hoveredObj->description, 0xd1);
- _engine->scene->displayMessage(_hoveredObj->description, 0xd1, Common::Point((320 - w) / 2, 162));
+ int w = _vm->res->font7.render(NULL, 0, 0, _hoveredObj->description, textColorMark);
+ _vm->scene->displayMessage(_hoveredObj->description, textColorMark, Common::Point((kScreenWidth - w) / 2, 162));
return true;
}
@@ -213,30 +211,27 @@ bool Inventory::processEvent(const Common::Event &event) {
if (id1 == id2)
return true;
- debug(0, "combine(%u, %u)!", id1, id2);
- byte *table = res->dseg.ptr(0xC335);
+ debugC(0, kDebugInventory, "combine(%u, %u)!", id1, id2);
+ byte *table = _vm->res->dseg.ptr(dsAddr_objCombiningTablePtr);
while (table[0] != 0 && table[1] != 0) {
- if (
- (id1 == table[0] && id2 == table[1]) ||
- (id2 == table[0] && id1 == table[1])
- ) {
- byte new_obj = table[2];
- if (new_obj != 0) {
+ if ((id1 == table[0] && id2 == table[1]) || (id2 == table[0] && id1 == table[1])) {
+ byte newObj = table[2];
+ if (newObj != 0) {
remove(id1);
remove(id2);
- debug(0, "adding object %u", new_obj);
- add(new_obj);
- _engine->playSoundNow(69);
+ debugC(0, kDebugInventory, "adding object %u", newObj);
+ add(newObj);
+ _vm->playSoundNow(69);
}
uint16 msg = READ_LE_UINT16(table + 3);
- _engine->displayMessage(msg);
+ _vm->displayMessage(msg);
activate(false);
resetSelectedObject();
return true;
}
table += 5;
}
- _engine->displayMessage(0xc3e2);
+ _vm->displayMessage(dsAddr_objCombineErrorMsg);
activate(false);
resetSelectedObject();
return true;
@@ -247,14 +242,15 @@ bool Inventory::processEvent(const Common::Event &event) {
return false;
if (_hoveredObj != NULL) {
- debug(0, "rclick object %u:%s", _hoveredObj->id, _hoveredObj->name.c_str());
- if (_hoveredObj->id != 51 && tryObjectCallback(_hoveredObj)) //do not process callback for banknote on r-click
+ debugC(0, kDebugInventory, "rclick object %u:%s", _hoveredObj->id, _hoveredObj->name.c_str());
+ // do not process callback for banknote on r-click
+ if (_hoveredObj->id != kInvItemBanknote && tryObjectCallback(_hoveredObj))
return true;
}
_selectedObj = _hoveredObj;
if (_selectedObj)
- debug(0, "selected object %s", _selectedObj->name.c_str());
+ debugC(0, kDebugInventory, "selected object %s", _selectedObj->name.c_str());
return true;
case Common::EVENT_KEYDOWN:
@@ -262,7 +258,7 @@ bool Inventory::processEvent(const Common::Event &event) {
activate(false);
return true;
}
- if (event.kbd.keycode == Common::KEYCODE_RETURN) { //triangle button on psp
+ if (event.kbd.keycode == Common::KEYCODE_RETURN) {
activate(!_active);
return true;
}
@@ -277,7 +273,6 @@ bool Inventory::processEvent(const Common::Event &event) {
}
}
-
void Inventory::Item::free() {
_animation.free();
_surface.free();
@@ -294,30 +289,29 @@ void Inventory::Item::backgroundEffect(Graphics::Surface *s) {
}
}
-void Inventory::Item::load(Inventory *inventory, uint item_id) {
- InventoryObject *obj = &inventory->_objects[item_id];
+void Inventory::Item::load(Inventory *inventory, uint itemId) {
+ InventoryObject *obj = &inventory->_objects[itemId];
if (obj->animated) {
if (_animation.empty()) {
- debug(0, "loading item %d from offset %x", obj->id, inventory->_offset[obj->id - 1]);
+ debugC(0, kDebugInventory, "loading item %d from offset %x", obj->id, inventory->_offset[obj->id - 1]);
Common::MemoryReadStream s(inventory->_items + inventory->_offset[obj->id - 1], inventory->_offset[obj->id] - inventory->_offset[obj->id - 1]);
_animation.load(s, Animation::kTypeInventory);
}
} else {
if (_surface.empty()) {
- debug(0, "loading item %d from offset %x", obj->id, inventory->_offset[obj->id - 1]);
+ debugC(0, kDebugInventory, "loading item %d from offset %x", obj->id, inventory->_offset[obj->id - 1]);
Common::MemoryReadStream s(inventory->_items + inventory->_offset[obj->id - 1], inventory->_offset[obj->id] - inventory->_offset[obj->id - 1]);
_surface.load(s, Surface::kTypeOns);
}
}
}
-void Inventory::Item::render(Inventory *inventory, uint item_id, Graphics::Surface *dst, int delta) {
- InventoryObject *obj = &inventory->_objects[item_id];
- Resources *res = Resources::instance();
+void Inventory::Item::render(Inventory *inventory, uint itemId, Graphics::Surface *dst, int delta) {
+ InventoryObject *obj = &inventory->_objects[itemId];
backgroundEffect(dst);
_rect.render(dst, _hovered ? 233 : 234);
- load(inventory, item_id);
+ load(inventory, itemId);
if (obj->animated) {
if (_hovered) {
Surface *s = _animation.currentFrame(delta);
@@ -342,15 +336,16 @@ void Inventory::Item::render(Inventory *inventory, uint item_id, Graphics::Surfa
if (inventory->_selectedObj != inventory->_hoveredObj)
name += obj->name;
- if (_hovered && inventory->_engine->scene->getMessage().empty()) {
- int w = res->font7.render(NULL, 0, 0, name, 0xd1, true);
- res->font7.render(dst, (320 - w) / 2, 180, name, 0xd1, true);
+ if (_hovered && inventory->_vm->scene->getMessage().empty()) {
+ int w = inventory->_vm->res->font7.render(NULL, 0, 0, name, textColorMark, true);
+ inventory->_vm->res->font7.render(dst, (kScreenWidth - w) / 2, 180, name, textColorMark, true);
}
}
void Inventory::render(Graphics::Surface *surface, int delta) {
if (!_active)
return;
+ debugC(0, kDebugInventory, "Inventory::render()");
_background.render(surface);
@@ -358,11 +353,10 @@ void Inventory::render(Graphics::Surface *surface, int delta) {
for (int x = 0; x < 6; x++) {
int idx = x + 6 * y;
byte item = _inventory[idx];
- if (item == 0)
- continue;
-
- //debug(0, "%d,%d -> %u", x0, y0, item);
- _graphics[idx].render(this, item, surface, delta);
+ if (item != 0) {
+ debugC(0, kDebugInventory, "\t(x, y): %d,%d -> item: %u", x, y, item);
+ _graphics[idx].render(this, item, surface, delta);
+ }
}
}
}
diff --git a/engines/teenagent/inventory.h b/engines/teenagent/inventory.h
index 61e5364542..d487848c2c 100644
--- a/engines/teenagent/inventory.h
+++ b/engines/teenagent/inventory.h
@@ -33,9 +33,112 @@ namespace TeenAgent {
struct InventoryObject;
class TeenAgentEngine;
+// Maximum number of items found within game
+const uint8 kNumInventoryItems = 92;
+
+// Inventory Item Ids
+enum {
+ kInvItemNoItem = 0, // No item i.e. empty inventory slot
+ kInvItemFeather = 1,
+ kInvItemShotgun = 2,
+ kInvItemToolboxFull = 3, // Contains Car Jack and Spanner
+ kInvItemToolboxHalfEmpty = 4, // Contains Spanner
+ kInvItemSpanner = 5,
+ kInvItemComb = 6,
+ kInvItemFan = 7,
+ kInvItemBrokenPaddle = 8,
+ kInvItemPaddle = 9, // Repaired - BrokenPaddle combined with Branch (with Glue)
+ kInvItemFirstFlower = 10, // Smells nice
+ kInvItemSecondFlower = 11, // Really beautiful
+ kInvItemFeatherDusterClean = 12,
+ kInvItemChainsaw = 13, // Unfueled
+ kInvItemDrunkenChainsaw = 14, // Fueled with Whisky (Chainsaw combined with Whiskey)
+ kInvItemBranch = 15,
+ kInvItemWhisky = 16,
+ kInvItemNeedle = 17,
+ kInvItemWrapper = 18,
+ kInvItemChocCandy = 19,
+ kInvItemPotato = 20,
+ kInvItemRakeBroken = 21,
+ kInvItemHeartShapedCandy = 22,
+ kInvItemWrappedCandy = 23, // HeartShapedCandy combined with Wrapper
+ kInvItemRibbon = 24,
+ kInvItemRakeFixed = 25, // Rake combined with Ribbon
+ kInvItemNut = 26,
+ kInvItemPlasticApple = 27,
+ kInvItemCone = 28,
+ kInvItemSuperGlue = 29,
+ kInvItemConeAndNeedle = 30, // Cone combined with Needle
+ kInvItemConeAndFeather = 31, // Cone combined with Feather
+ kInvItemDart = 32, // Needle combined with ConeAndFeather or Feather combined with ConeAndNeedle
+ kInvItemFeatherDusterDirty = 33,
+ kInvItemPaintedPotato = 34, // Potato combined with Dirty Feather Duster (Soot)
+ kInvItemCarJack = 35,
+ kInvItemBone = 36,
+ kInvItemShovelAct2 = 37,
+ kInvItemRopeAct2 = 38,
+ kInvItemMask = 39,
+ kInvItemFins = 40,
+ kInvItemDiveEquipment = 41, // Mask combined with Fins
+ kInvItemAnchor = 42,
+ kInvItemGrapplingHook = 43,
+ kInvItemSickleBlunt = 44,
+ kInvItemCheese = 45,
+ kInvItemSickleSharp = 46,
+ kInvItemHandkerchief = 47,
+ kInvItemMouse = 48,
+ kInvItemRock = 49,
+ kInvItemNugget = 50,
+ kInvItemBanknote = 51,
+ kInvItemDictaphoneNoBatteries = 52,
+ kInvItemPolaroidCamera = 53,
+ kInvItemVideoTape = 54,
+ kInvItemSheetOfPaper = 55,
+ kInvItemCognac = 56,
+ kInvItemRemoteControl = 57,
+ kInvItemIceTongs = 58,
+ kInvItemCork = 59,
+ kInvItemWrappedCork = 60, // Cork combined with Sheet Of Paper
+ kInvItemPhoto = 61,
+ kInvItemChilliWithLabel = 62,
+ kInvItemPastryRoller = 63,
+ kInvItemFakeChilli = 64,
+ kInvItemLabel = 65,
+ kInvItemBatteries = 66,
+ kInvItemDictaphoneWithBatteries = 67, // Dictaphone combined with Batteries
+ kInvItemBurningPaper = 68,
+ kInvItemMeat = 69,
+ kInvItemPlasticBag = 70,
+ kInvItemSocks = 71,
+ kInvItemTimePills = 72,
+ kInvItemHandle = 73,
+ kInvItemChilliNoLabel = 74,
+ kInvItemPass = 75,
+ kInvItemBulb = 76,
+ kInvItemJailKey = 77,
+ kInvItemDelicatePlant = 78,
+ kInvItemSwissArmyKnife = 79,
+ kInvItemSpring = 80,
+ kInvItemShovelAct1 = 81,
+ kInvItemKaleidoscope = 82,
+ kInvItemSoldierNews = 83,
+ kInvItemGrenade = 84,
+ kInvItemMug = 85, // Empty
+ kInvItemMugOfMud = 86, // Full of mud
+ kInvItemCrumbs = 87,
+ kInvItemRopeAct1 = 88,
+ kInvItemRopeAndGrenade = 89, // Rope combined with Grenade
+ kInvItemMedicine = 90,
+ kInvItemDruggedFood = 91, // Crumbs combined with Medicine
+ kInvItemBird = 92
+};
+
+// Maximum number of inventory items held by Ego (Mark)
+const uint8 kInventorySize = 24;
+
class Inventory {
public:
- Inventory(TeenAgentEngine *engine);
+ Inventory(TeenAgentEngine *vm);
~Inventory();
void render(Graphics::Surface *surface, int delta);
@@ -55,10 +158,10 @@ public:
void resetSelectedObject() { _selectedObj = NULL; }
private:
- TeenAgentEngine *_engine;
+ TeenAgentEngine *_vm;
Surface _background;
byte *_items;
- uint _offset[93];
+ uint _offset[kNumInventoryItems+1];
Common::Array<InventoryObject> _objects;
byte *_inventory;
@@ -71,12 +174,12 @@ private:
Item() : _hovered(false) {}
void free();
- void load(Inventory *inventory, uint item_id);
+ void load(Inventory *inventory, uint itemId);
void backgroundEffect(Graphics::Surface *s);
- void render(Inventory *inventory, uint item_id, Graphics::Surface *surface, int delta);
+ void render(Inventory *inventory, uint itemId, Graphics::Surface *surface, int delta);
};
- Item _graphics[24];
+ Item _graphics[kInventorySize];
bool _active;
Common::Point _mouse;
diff --git a/engines/teenagent/music.cpp b/engines/teenagent/music.cpp
index 1f44e9cfcb..b06a5f1f5e 100644
--- a/engines/teenagent/music.cpp
+++ b/engines/teenagent/music.cpp
@@ -22,6 +22,8 @@
#include "teenagent/music.h"
#include "teenagent/resources.h"
+#include "teenagent/teenagent.h"
+
#include "common/debug.h"
#include "common/ptr.h"
#include "common/textconsole.h"
@@ -34,36 +36,36 @@ static const uint32 noteToPeriod[3][12] = {
{214, 201, 189, 179, 170, 160, 151, 143, 135, 127, 120, 113}
};
-MusicPlayer::MusicPlayer() : Paula(false, 44100, 5000), _id(0) {
+MusicPlayer::MusicPlayer(TeenAgentEngine *vm) : Paula(false, 44100, 5000), _vm(vm), _id(0) {
}
MusicPlayer::~MusicPlayer() {
+ stop();
}
bool MusicPlayer::load(int id) {
- Resources *res = Resources::instance();
-
- Common::ScopedPtr<Common::SeekableReadStream> stream(res->mmm.getStream(id));
+ debugC(0, kDebugMusic, "MusicPlayer::load(%d)", id);
+ Common::ScopedPtr<Common::SeekableReadStream> stream(_vm->res->mmm.getStream(id));
if (!stream)
return false;
char header[4];
stream->read(header, 4);
- //check header?
+ // check header?
Common::StackLock lock(_mutex);
// Load the samples
sampleCount = stream->readByte();
- debug(0, "sampleCount = %d", sampleCount);
+ debugC(0, kDebugMusic, "sampleCount = %d", sampleCount);
for (byte currSample = 0; currSample < sampleCount; currSample++) {
byte sample = stream->readByte();
// Load the sample data
- byte sampleResource = ((sample >> 4) & 0x0F) * 10 + (sample & 0x0F);
- debug(0, "currSample = %d, sample = 0x%02x, resource: %d", currSample, sample, sampleResource);
- uint32 sampleSize = res->sam_mmm.getSize(sampleResource);
+ byte sampleResource = ((sample >> 4) & 0x0f) * 10 + (sample & 0x0f);
+ debugC(0, kDebugMusic, "currSample = %d, sample = 0x%02x, resource: %d", currSample, sample, sampleResource);
+ uint32 sampleSize = _vm->res->sam_mmm.getSize(sampleResource);
if (sampleSize == 0) {
warning("load: invalid sample %d (0x%02x)", sample, sample);
_samples[sample].clear();
@@ -71,7 +73,7 @@ bool MusicPlayer::load(int id) {
}
_samples[sample].resize(sampleSize);
- res->sam_mmm.read(sampleResource, _samples[sample].data, sampleSize);
+ _vm->res->sam_mmm.read(sampleResource, _samples[sample].data, sampleSize);
}
// Load the music data
@@ -87,17 +89,17 @@ bool MusicPlayer::load(int id) {
row.channels[1].note = stream->readByte();
row.channels[2].note = stream->readByte();
_rows.push_back(row);
- } else if ((cmd & 0xF0) == 0x50) {
+ } else if ((cmd & 0xf0) == 0x50) {
byte sample = stream->readByte();
- //debug(1, "%02x: set sample %02x", cmd, sample);
- row.channels[(cmd & 0x0F) - 1].sample = sample;
- } else if ((cmd & 0xF0) == 0x40) {
+ debugC(1, kDebugMusic, "%02x: set sample %02x", cmd, sample);
+ row.channels[(cmd & 0x0f) - 1].sample = sample;
+ } else if ((cmd & 0xf0) == 0x40) {
byte vol = stream->readByte();
- //debug(1, "%02x: set volume %02x -> %02x", cmd, row.channels[(cmd & 0x0F) - 1].volume, vol);
- //channel volume 0x40 * music volume 0x40 mixed with high bytes
- row.channels[(cmd & 0x0F) - 1].volume = vol * 16;
+ debugC(1, kDebugMusic, "%02x: set volume %02x -> %02x", cmd, row.channels[(cmd & 0x0f) - 1].volume, vol);
+ // channel volume 0x40 * music volume 0x40 mixed with high bytes
+ row.channels[(cmd & 0x0f) - 1].volume = vol * 16;
} else {
- debug(0, "unhandled music command %02x", cmd);
+ debugC(0, kDebugMusic, "unhandled music command %02x", cmd);
}
}
_currRow = 0;
@@ -124,13 +126,13 @@ void MusicPlayer::interrupt() {
for (int chn = 0; chn < 3; ++chn) {
setChannelVolume(chn, row->channels[chn].volume);
- //debug(0, "row->channels[%d].volume = %d", chn, row->channels[chn].volume);
+ debugC(2, kDebugMusic, "row->channels[%d].volume = %d", chn, row->channels[chn].volume);
byte sample = (row->channels[chn].sample);
if (row->channels[chn].note != 0 && sample != 0) {
- //debug(0, "row->channels[%d].note = %d", chn, row->channels[chn].note);
- //debug(0, "row->channels[%d].sample = %d", chn, row->channels[chn].sample);
+ debugC(2, kDebugMusic, "row->channels[%d].note = %d", chn, row->channels[chn].note);
+ debugC(2, kDebugMusic, "row->channels[%d].sample = %d", chn, row->channels[chn].sample);
byte note = row->channels[chn].note;
if (_samples[sample].size == 0) {
@@ -139,11 +141,11 @@ void MusicPlayer::interrupt() {
}
setChannelData(chn, (const int8 *)_samples[sample].data, NULL, _samples[sample].size, 0);
- setChannelPeriod(chn, noteToPeriod[((note >> 4) & 0x0F) - 1][(note & 0x0F)]);
+ setChannelPeriod(chn, noteToPeriod[((note >> 4) & 0x0f) - 1][(note & 0x0f)]);
}
}
- //debug(0, "------------------------------------------------");
+ debugC(2, kDebugMusic, "------------------------------------------------");
++_currRow;
}
diff --git a/engines/teenagent/music.h b/engines/teenagent/music.h
index 22b4fa5e8e..408436cf3a 100644
--- a/engines/teenagent/music.h
+++ b/engines/teenagent/music.h
@@ -28,10 +28,11 @@
namespace TeenAgent {
+class TeenAgentEngine;
+
class MusicPlayer : public Audio::Paula {
public:
-
- MusicPlayer();
+ MusicPlayer(TeenAgentEngine *vm);
~MusicPlayer();
bool load(int id);
@@ -41,6 +42,8 @@ public:
void stop();
private:
+ TeenAgentEngine *_vm;
+
int _id;
struct Row {
diff --git a/engines/teenagent/objects.cpp b/engines/teenagent/objects.cpp
index 748f342d54..5dad9ab99d 100644
--- a/engines/teenagent/objects.cpp
+++ b/engines/teenagent/objects.cpp
@@ -21,8 +21,10 @@
#include "common/debug.h"
#include "common/memstream.h"
+
#include "teenagent/objects.h"
#include "teenagent/resources.h"
+#include "teenagent/teenagent.h"
namespace TeenAgent {
@@ -51,7 +53,6 @@ void Rect::render(Graphics::Surface *surface, uint8 color) const {
surface->vLine(right, bottom, top, color);
}
-
void Object::load(byte *src) {
_base = src;
@@ -59,39 +60,39 @@ void Object::load(byte *src) {
rect.load(src);
src += 8;
- actor_rect.load(src);
+ actorRect.load(src);
src += 8;
- actor_orientation = *src++;
+ actorOrientation = *src++;
enabled = *src++;
name = (const char *)src;
- description = parse_description((const char *)src);
+ description = parseDescription((const char *)src);
}
void Object::save() const {
assert(_base != NULL);
rect.save();
- actor_rect.save();
- _base[17] = actor_orientation;
+ actorRect.save();
+ _base[17] = actorOrientation;
_base[18] = enabled;
}
-void Object::setName(const Common::String &new_name) {
+void Object::setName(const Common::String &newName) {
assert(_base != 0);
- strcpy((char *)(_base + 19), new_name.c_str());
- name = new_name;
+ strcpy((char *)(_base + 19), newName.c_str());
+ name = newName;
}
void Object::dump(int level) const {
- debug(level, "object: %u %u [%u,%u,%u,%u], actor: [%u,%u,%u,%u], orientation: %u, name: %s", id, enabled,
+ debugC(level, kDebugObject, "object: %u %u [%u,%u,%u,%u], actor: [%u,%u,%u,%u], orientation: %u, name: %s", id, enabled,
rect.left, rect.top, rect.right, rect.bottom,
- actor_rect.left, actor_rect.top, actor_rect.right, actor_rect.bottom,
- actor_orientation, name.c_str()
+ actorRect.left, actorRect.top, actorRect.right, actorRect.bottom,
+ actorOrientation, name.c_str()
);
}
-Common::String Object::parse_description(const char *name) {
+Common::String Object::parseDescription(const char *name) {
const char *desc = name + strlen(name) + 1;
if (*desc == 0)
return Common::String();
@@ -101,7 +102,7 @@ Common::String Object::parse_description(const char *name) {
while (*desc != 1 && *desc != 0) {
Common::String line;
while (*desc != 1 && *desc != 0) {
- //debug(0, "%02x ", *desc);
+ debugC(2, kDebugObject, "%02x ", *desc);
line += *desc++;
}
@@ -115,7 +116,7 @@ Common::String Object::parse_description(const char *name) {
if (!result.empty())
result.deleteLastChar();
else
- result = "Cool.";
+ result = "Cool."; // FIXME - Use dsAddr_coolMsg ?
return result;
}
@@ -124,31 +125,31 @@ void InventoryObject::load(byte *src) {
id = *src++;
animated = *src++;
name = (const char *)src;
- description = Object::parse_description((const char *)src);
+ description = Object::parseDescription((const char *)src);
}
void UseHotspot::load(byte *src) {
Common::MemoryReadStream in(src, 9);
- inventory_id = in.readByte();
- object_id = in.readByte();
+ inventoryId = in.readByte();
+ objectId = in.readByte();
orientation = in.readByte();
- actor_x = in.readUint16LE();
- actor_y = in.readUint16LE();
+ actorX = in.readUint16LE();
+ actorY = in.readUint16LE();
callback = in.readUint16LE();
}
void UseHotspot::dump(int level) const {
- debug(level,
- "hotspot: inv_id: %02x, obj_id: %02x, orientation?: %02x, actor position: (%d,%d), callback: %04x",
- inventory_id, object_id, orientation, actor_x, actor_y, callback
+ debugC(level, kDebugObject,
+ "hotspot: invId: %02x, objId: %02x, orientation: %02x, actor position: (%d,%d), callback: %04x",
+ inventoryId, objectId, orientation, actorX, actorY, callback
);
}
void Walkbox::dump(int level) const {
- debug(level, "walkbox %02x %02x [%d, %d, %d, %d] top: %u, right: %u, bottom: %u, left: %u",
+ debugC(level, kDebugObject, "walkbox %02x %02x [%d, %d, %d, %d] top: %u, right: %u, bottom: %u, left: %u",
type, orientation,
rect.left, rect.top, rect.right, rect.bottom,
- side_hint[0], side_hint[1], side_hint[2], side_hint[3]);
+ sideHint[0], sideHint[1], sideHint[2], sideHint[3]);
}
void Walkbox::load(byte *src) {
@@ -159,7 +160,7 @@ void Walkbox::load(byte *src) {
rect.load(src);
src += 8;
for (byte i = 0; i < 4; ++i)
- side_hint[i] = *src++;
+ sideHint[i] = *src++;
}
void Walkbox::save() const {
diff --git a/engines/teenagent/objects.h b/engines/teenagent/objects.h
index 555287fc56..6e7955766f 100644
--- a/engines/teenagent/objects.h
+++ b/engines/teenagent/objects.h
@@ -26,6 +26,8 @@
#include "common/rect.h"
#include "graphics/surface.h"
+#include "teenagent/teenagent.h"
+
namespace TeenAgent {
enum {kActorUp = 1, kActorRight = 2, kActorDown = 3, kActorLeft = 4 };
@@ -46,13 +48,13 @@ struct Rect {
}
inline bool valid() const {
- return left >= 0 && left < 320 && right >= 0 && right < 320 && top >= 0 && top < 200 && bottom >= 0 && bottom < 200;
+ return left >= 0 && left < kScreenWidth && right >= 0 && right < kScreenWidth && top >= 0 && top < kScreenHeight && bottom >= 0 && bottom < kScreenHeight;
}
void render(Graphics::Surface *surface, uint8 color) const;
void dump(int level = 0) const {
- debug(level, "rect[%u, %u, %u, %u]", left, top, right, bottom);
+ debugC(level, kDebugObject, "rect[%u, %u, %u, %u]", left, top, right, bottom);
}
inline void clear() {
@@ -154,22 +156,21 @@ protected:
};
struct Object {
-
byte id; //0
Rect rect; //1
- Rect actor_rect; //9
- byte actor_orientation; //17
+ Rect actorRect; //9
+ byte actorOrientation; //17
byte enabled; //18
//19
Common::String name, description;
Object(): _base(NULL) {}
void dump(int level = 0) const;
- void setName(const Common::String &name);
+ void setName(const Common::String &newName);
void load(byte *addr);
void save() const;
- static Common::String parse_description(const char *name);
+ static Common::String parseDescription(const char *name);
protected:
byte *_base;
@@ -188,10 +189,10 @@ protected:
};
struct UseHotspot {
- byte inventory_id;
- byte object_id;
+ byte inventoryId;
+ byte objectId;
byte orientation;
- uint16 actor_x, actor_y;
+ uint16 actorX, actorY;
uint16 callback;
void load(byte *src);
void dump(int level = 0) const;
@@ -201,7 +202,7 @@ struct Walkbox {
byte type;
byte orientation;
Rect rect;
- byte side_hint[4];
+ byte sideHint[4];
Walkbox() : _base(NULL) {}
void dump(int level = 0) const;
diff --git a/engines/teenagent/pack.cpp b/engines/teenagent/pack.cpp
index 5302e2eceb..2e6c913a72 100644
--- a/engines/teenagent/pack.cpp
+++ b/engines/teenagent/pack.cpp
@@ -20,6 +20,8 @@
*/
#include "teenagent/pack.h"
+#include "teenagent/teenagent.h"
+
#include "common/util.h"
#include "common/debug.h"
#include "common/memstream.h"
@@ -44,7 +46,7 @@ bool FilePack::open(const Common::String &filename) {
return false;
_fileCount = file.readUint32LE();
- debug(0, "opened %s, found %u entries", filename.c_str(), _fileCount);
+ debugC(0, kDebugPack, "opened %s, found %u entries", filename.c_str(), _fileCount);
offsets = new uint32[_fileCount + 1];
for (uint32 i = 0; i <= _fileCount; ++i) {
offsets[i] = file.readUint32LE();
@@ -65,18 +67,17 @@ uint32 FilePack::read(uint32 id, byte *dst, uint32 size) const {
file.seek(offsets[id - 1]);
uint32 rsize = offsets[id] - offsets[id - 1];
uint32 r = file.read(dst, MIN(rsize, size));
- //debug(0, "read(%u, %u) = %u", id, size, r);
+ debugC(0, kDebugPack, "read(%u, %u) = %u", id, size, r);
return r;
}
Common::SeekableReadStream *FilePack::getStream(uint32 id) const {
if (id < 1 || id > _fileCount)
return NULL;
- //debug(0, "stream: %04x-%04x", offsets[id - 1], offsets[id]);
+ debugC(0, kDebugPack, "stream: %04x-%04x", offsets[id - 1], offsets[id]);
return new Common::SeekableSubReadStream(&file, offsets[id - 1], offsets[id]);
}
-
TransientFilePack::TransientFilePack() : offsets(0) {}
TransientFilePack::~TransientFilePack() {
@@ -97,7 +98,7 @@ bool TransientFilePack::open(const Common::String &filename) {
return false;
_fileCount = file.readUint32LE();
- debug(0, "opened %s, found %u entries", filename.c_str(), _fileCount);
+ debugC(0, kDebugPack, "opened %s, found %u entries", filename.c_str(), _fileCount);
offsets = new uint32[_fileCount + 1];
for (uint32 i = 0; i <= _fileCount; ++i) {
offsets[i] = file.readUint32LE();
@@ -124,14 +125,14 @@ uint32 TransientFilePack::read(uint32 id, byte *dst, uint32 size) const {
uint32 rsize = offsets[id] - offsets[id - 1];
uint32 r = file.read(dst, MIN(rsize, size));
file.close();
- //debug(0, "read(%u, %u) = %u", id, size, r);
+ debugC(0, kDebugPack, "read(%u, %u) = %u", id, size, r);
return r;
}
Common::SeekableReadStream *TransientFilePack::getStream(uint32 id) const {
if (id < 1 || id > _fileCount)
return NULL;
- //debug(0, "stream: %04x-%04x", offsets[id - 1], offsets[id]);
+ debugC(0, kDebugPack, "stream: %04x-%04x", offsets[id - 1], offsets[id]);
Common::File file;
if (!file.open(_filename))
return NULL;
@@ -146,7 +147,6 @@ Common::SeekableReadStream *TransientFilePack::getStream(uint32 id) const {
return new Common::MemoryReadStream(ptr, r, DisposeAfterUse::YES);
}
-
void MemoryPack::close() {
chunks.clear();
}
@@ -157,7 +157,7 @@ bool MemoryPack::open(const Common::String &filename) {
return false;
uint32 count = file.readUint32LE();
- debug(0, "opened %s, found %u entries [memory]", filename.c_str(), count);
+ debugC(0, kDebugPack, "opened %s, found %u entries [memory]", filename.c_str(), count);
for (uint32 i = 0; i < count; ++i) {
uint32 offset = file.readUint32LE();
int32 pos = file.pos();
@@ -199,5 +199,4 @@ Common::SeekableReadStream *MemoryPack::getStream(uint32 id) const {
return new Common::MemoryReadStream(c.data, c.size, DisposeAfterUse::NO);
}
-
} // End of namespace TeenAgent
diff --git a/engines/teenagent/resources.cpp b/engines/teenagent/resources.cpp
index dff58f98e2..442d0abf16 100644
--- a/engines/teenagent/resources.cpp
+++ b/engines/teenagent/resources.cpp
@@ -27,14 +27,10 @@
namespace TeenAgent {
-Resources::Resources() {}
-
-Resources *Resources::instance() {
- static Resources i;
- return &i;
+Resources::Resources() {
}
-void Resources::deinit() {
+Resources::~Resources() {
off.close();
on.close();
ons.close();
@@ -61,6 +57,36 @@ quick note on varia resources:
11: quit shareware
*/
+#define CSEG_SIZE 46000 // 0xb3b0
+#define DSEG_SIZE 59280 // 0xe790
+#define ESEG_SIZE 35810 // 0x8be2
+
+void Resources::precomputeDialogOffsets() {
+ dialogOffsets.push_back(0);
+ int n = 0;
+ uint8 current, last = 0xff;
+ for (uint i = 0; i < eseg.size(); i++) {
+ current = eseg.get_byte(i);
+
+ if (n == 4) {
+ dialogOffsets.push_back(i);
+ n = 0;
+ }
+
+ if (current != 0x00 && last == 0x00)
+ n = 0;
+
+ if (current == 0x00)
+ n++;
+
+ last = current;
+ }
+
+ debug(1, "Resources::precomputeDialogOffsets() - Found %d dialogs", dialogOffsets.size());
+ for (uint i = 0; i < dialogOffsets.size(); i++)
+ debug(1, "\tDialog #%d: Offset 0x%04x", i, dialogOffsets[i]);
+}
+
bool Resources::loadArchives(const ADGameDescription *gd) {
Common::File *dat_file = new Common::File();
if (!dat_file->open("teenagent.dat")) {
@@ -93,18 +119,17 @@ bool Resources::loadArchives(const ADGameDescription *gd) {
}
#endif
- cseg.read(dat, 0xb3b0);
- dseg.read(dat, 0xe790);
- eseg.read(dat, 0x8be2);
+ dat->skip(CSEG_SIZE);
+ dseg.read(dat, DSEG_SIZE);
+ eseg.read(dat, ESEG_SIZE);
delete dat;
+ precomputeDialogOffsets();
+
FilePack varia;
varia.open("varia.res");
- font7.load(varia, 7);
- font7.width_pack = 1;
- font7.height = 11;
- font8.load(varia, 8);
- font8.height = 31;
+ font7.load(varia, 7, 11, 1);
+ font8.load(varia, 8, 31, 0);
varia.close();
off.open("off.res");
@@ -150,13 +175,13 @@ Common::SeekableReadStream *Resources::loadLan000(uint32 id) const {
switch (id) {
case 81:
- if (dseg.get_byte(0xDBAD))
+ if (dseg.get_byte(dsAddr_dogHasBoneFlag))
return lan500.getStream(160);
break;
case 137:
- if (dseg.get_byte(0xDBC5) == 1) {
- if (dseg.get_byte(0xDBC6) == 1)
+ if (dseg.get_byte(dsAddr_mansionTVOnFlag) == 1) {
+ if (dseg.get_byte(dsAddr_mansionVCRPlayingTapeFlag) == 1)
return lan500.getStream(203);
else
return lan500.getStream(202);
@@ -164,31 +189,31 @@ Common::SeekableReadStream *Resources::loadLan000(uint32 id) const {
break;
case 25:
- if (dseg.get_byte(0xDBDF) == 2) {
+ if (dseg.get_byte(dsAddr_FirstActTrialState) == 2) {
return lan500.getStream(332);
}
break;
case 37:
- if (dseg.get_byte(0xdbe2) == 1) {
+ if (dseg.get_byte(dsAddr_act1GuardState) == 1) {
return lan500.getStream(351);
- } else if (dseg.get_byte(0xdbe2) == 2) {
+ } else if (dseg.get_byte(dsAddr_act1GuardState) == 2) {
return lan500.getStream(364);
}
break;
case 29:
- if (dseg.get_byte(0xDBE7) == 1) {
+ if (dseg.get_byte(dsAddr_birdOnBarRadioAntennaFlag) == 1) {
return lan500.getStream(380);
}
case 30:
- if (dseg.get_byte(0xDBE7) == 1) {
+ if (dseg.get_byte(dsAddr_birdOnBarRadioAntennaFlag) == 1) {
return lan500.getStream(381);
}
case 42:
- if (dseg.get_byte(0xDBEC) == 1) {
+ if (dseg.get_byte(dsAddr_johnNotyOutsideMansionDoorFlag) == 1) {
return lan500.getStream(400);
}
}
diff --git a/engines/teenagent/resources.h b/engines/teenagent/resources.h
index 5c08a46489..7aae2f9ec8 100644
--- a/engines/teenagent/resources.h
+++ b/engines/teenagent/resources.h
@@ -31,18 +31,1144 @@ struct ADGameDescription;
namespace TeenAgent {
+// Code Segment Addresses (Read Only)
+// Intro function : 0x024c
+const uint16 csAddr_intro = 0x024c;
+// Pole Climb Fail function : 0x4173
+const uint16 csAddr_poleClimbFail = 0x4173;
+// Move Ego (Mark) To Suspicious Position function : 0x505c
+const uint16 csAddr_egoSuspiciousPosition = 0x505c;
+// Guard Scare Timeout function : 0x516d
+const uint16 csAddr_guardScareTimeout = 0x516d;
+// Guard Drinking function : 0x5189
+const uint16 csAddr_guardDrinking = 0x5189;
+// Move Ego (Mark) To Default Position function : 0x557e
+const uint16 csAddr_egoDefaultPosition = 0x557e;
+// Cave NOP function : 0x599b
+const uint16 csAddr_caveNOP = 0x599b;
+// Enter Cave function : 0x5a21
+const uint16 csAddr_enterCave = 0x5a21;
+// Ego (Mark) Scared By Spider function : 0x60b5
+const uint16 csAddr_egoScaredBySpider = 0x60b5;
+// Move to Ladder and Leave Cellar function : 0x60d9
+const uint16 csAddr_moveToLadderAndLeaveCellar = 0x60d9;
+// Leave Cellar function : 0x612b
+const uint16 csAddr_leaveCellar = 0x612b;
+// Too Dark function : 0x61fe
+const uint16 csAddr_TooDark = 0x61fe;
+// Move Ego (Mark) To Bottom-Right or Turn function : 0x6849
+const uint16 csAddr_egoBottomRightTurn = 0x6849;
+// Checking Drawers function : 0x68e6
+const uint16 csAddr_checkingDrawers = 0x68e6;
+// Drawer Open Message function : 0x6b86
+const uint16 csAddr_DrawerOpenMessage = 0x6b86;
+// Is Cook Gone function : 0x70e0
+const uint16 csAddr_isCookGone = 0x70e0;
+// Giving Flower to Old Lady function : 0x88de
+const uint16 csAddr_givingFlowerToOldLady = 0x88de;
+// Give Another Flower to Old Lady function : 0x890b
+const uint16 csAddr_giveAnotherFlowerToOldLady = 0x890b;
+// Giving Flower to Anne function : 0x8942
+const uint16 csAddr_givingFlowerToAnne = 0x8942;
+// Give Another Flower to Anne function : 0x89aa
+const uint16 csAddr_giveAnotherFlowerToAnne = 0x89aa;
+// Putting Rock in Hole function : 0x8d57
+const uint16 csAddr_putRockInHole = 0x8d57;
+// Mouse Out Of Hole Timeout function : 0x8d79
+const uint16 csAddr_mouseOutOfHoleTimeout = 0x8d79;
+// Robot Safe (Mike) Already Unlocked Check function : 0x9166
+const uint16 csAddr_robotSafeAlreadyUnlockedCheck = 0x9166;
+// Robot Safe (Mike) Unlock Check function : 0x9175
+const uint16 csAddr_robotSafeUnlockCheck = 0x9175;
+// Open Full Toolbox function : 0x98fa
+const uint16 csAddr_openFullToolbox = 0x98fa;
+// Open Half Empty Toolbox function : 0x9910
+const uint16 csAddr_openHalfEmptyToolbox = 0x9910;
+// Use Diving Equipment function : 0x9921
+const uint16 csAddr_useDivingEquipment = 0x9921;
+// Successfully Got Anchor function : 0x99e0
+const uint16 csAddr_gotAnchor = 0x99e0;
+// No Anchor Timeout function : 0x9a1d
+const uint16 csAddr_noAnchorTimeout = 0x9a1d;
+// Get Out of Lake function : 0x9a7a
+const uint16 csAddr_getOutOfLake = 0x9a7a;
+// Dig Under Mansion Wall function : 0x9aca
+const uint16 csAddr_digMansionWall = 0x9aca;
+// Too Dark Here function : 0x9c66
+const uint16 csAddr_tooDarkHere = 0x9c66;
+// Examine Banknote function : 0x9c6d
+const uint16 csAddr_examineBanknote = 0x9c6d;
+// Use Time Pills function : 0x9c79
+const uint16 csAddr_useTimePills = 0x9c79;
+// Mansion Intrusion Attempt function : 0x9d45
+const uint16 csAddr_mansionIntrusionAttempt = 0x9d45;
+// Second Mansion Intrusion function : 0x9d90
+const uint16 csAddr_secondMansionIntrusion = 0x9d90;
+// Third Mansion Intrusion function : 0x9de5
+const uint16 csAddr_thirdMansionIntrusion = 0x9de5;
+// Fourth Mansion Intrusion function : 0x9e54
+const uint16 csAddr_fourthMansionIntrusion = 0x9e54;
+// Fifth Mansion Intrusion function : 0x9ec3
+const uint16 csAddr_fifthMansionIntrusion = 0x9ec3;
+// Sixth Mansion Intrusion function : 0x9f3e
+const uint16 csAddr_sixthMansionIntrusion = 0x9f3e;
+// Display Message function : 0xa055
+const uint16 csAddr_displayMsg = 0xa055;
+// Reject Message function : 0xa4d6
+const uint16 csAddr_rejectMsg = 0xa4d6;
+
+// Data Segment Addresses
+// Timed Callback State Variable : 0x0000
+const uint16 dsAddr_timedCallbackState = 0x0000; // 1 byte
+
+// Cursor Graphic 8*12px : 0x00da to 0x0139 (Read Only)
+const uint16 dsAddr_cursor = 0x00da;
+
+// Reject Message Address Pointers : (4 * 2-byte) = 0x339e to 0x33a5
+const uint16 dsAddr_rejectMsgPtr = 0x339e;
+// Reject Message #0 : 0x33a6 to 0x33c9
+const uint16 dsAddr_rejectMsg0 = 0x33a6; // "I have no idea what to do with it"
+// Reject Message #1 : 0x33ca to 0x33f5
+const uint16 dsAddr_rejectMsg1 = 0x33ca; // "I can't imagine what I could do with this"
+// Reject Message #2 : 0x33f6 to 0x3425
+const uint16 dsAddr_rejectMsg2 = 0x33f6; // "I can't figure out what I should do with this"
+// Reject Message #3 : 0x3426 to 0x344f
+const uint16 dsAddr_rejectMsg3 = 0x3426; // "I can't find any reason to mess with it"
+// Cool Message : 0x3450 to 0x3456
+const uint16 dsAddr_coolMsg = 0x3450; // "Cool."
+// Object Usage Error Message : 0x3457 to 0x3467
+const uint16 dsAddr_objErrorMsg = 0x3457; // "That's no good"
+// Car Jack Message : 0x3468 to 0x348f
+const uint16 dsAddr_carJackMsg = 0x3468; // "Wow! There's a car jack inside! Great!"
+// Spanner Message : 0x3490 to 0x34c6
+const uint16 dsAddr_spannerMsg = 0x3490; // "There's something else inside the toolbox! A spanner!"
+// Last Chance Message : 0x34c7 to 0x34d4
+const uint16 dsAddr_lastChanceMsg = 0x34c7; // "Last chance?"
+// Give Up Message : 0x34d5 to 0x34e0
+const uint16 dsAddr_giveUpMsg = 0x34d5; // "I give up"
+// Avoid Bees Message : 0x34e1 to 0x351e
+const uint16 dsAddr_avoidBeesMsg = 0x34e1; // "I'm going to stay at least five meters away from these bees!"
+// Boat Empty Message : 0x351f to 0x3541
+const uint16 dsAddr_boatEmptyMsg = 0x351f; // "There's nothing else in the boat"
+// Too Hard Wood Message : 0x3542 to 0x3562
+const uint16 dsAddr_tooHardWoodMsg = 0x3542; // "This wood is too hard to break"
+// Boo Message : 0x3563 to 0x3569
+const uint16 dsAddr_BooMsg = 0x3563; // "Booo!"
+// Dont Push Luck Message : 0x356a to 0x358f
+const uint16 dsAddr_dontPushLuckMsg = 0x356a; // "I don't think I should push my luck"
+// Ordinary Haystack Message : 0x3590 to 0x35b1
+const uint16 dsAddr_ordinaryHaystackMsg = 0x3590; // "Just an ordinary hay stack. Now."
+// Needle Haystack Message : 0x35b2 to 0x35e7
+const uint16 dsAddr_needleHaystackMsg = 0x35b2; // "And they say you can't find a needle in a haystack"
+// No Potatoes Message : 0x35e8 to 0x3604
+const uint16 dsAddr_noPotatoMsg = 0x35e8; // "There are no more potatoes"
+// Trousers Message : 0x3605 to 0x363e
+const uint16 dsAddr_trousersMsg = 0x3605; // "Good I always asked mum for trousers with BIG pockets"
+// Life Is Brutal Message : 0x363f to 0x364f
+const uint16 dsAddr_lifeIsBrutalMsg = 0x363f; // "Life is brutal"
+// Life Brutal Message : 0x3650 to 0x3667
+const uint16 dsAddr_lifeBrutalMsg = 0x3650; // "Life is really brutal"
+// Tickled Message : 0x3668 to 0x367e
+const uint16 dsAddr_tickledMsg = 0x3668; // "Something tickled me!"
+// Its Gone Message : 0x367f to 0x3693
+const uint16 dsAddr_itsGoneMsg = 0x367f; // "At least it's gone"
+// Monsters Message : 0x3694 to 0x36c1
+const uint16 dsAddr_monstersMsg = 0x3694; // "Who knows what monsters live in there"
+// No Hands Message : 0x36c2 to 0x370e
+const uint16 dsAddr_noHandsMsg = 0x36c2; // "I'd better not put my hands in there..."
+// Totally Empty Message : 0x370f to 0x372d
+const uint16 dsAddr_totalEmptyMsg = 0x370f; // "I can see it's totally empty"
+// One Small Step Message : 0x372e to 0x3765
+const uint16 dsAddr_oneSmallStepMsg = 0x372e; // "One small step for man, one big pain in the head"
+// No Chance Message : 0x3766 to 0x378f
+const uint16 dsAddr_noChanceMsg = 0x3766; // "I won't take my chances a second time"
+// Dinosaur Bone Message : 0x3790 to 0x37b7
+const uint16 dsAddr_dinoBoneMsg = 0x3790; // "I really hope this is DINOSAUR bone"
+// Wall Shaken Message : 0x37b8 to 0x37e9
+const uint16 dsAddr_wallShakenMsg = 0x37b8; // "Wow! This must have shaken all the nearby walls!"
+// Kinda Dark Message : 0x37ea to 0x3800
+const uint16 dsAddr_kindaDarkMsg = 0x37ea; // "It's kinda dark here"
+// Not in Dark Message : 0x3801 to 0x3831
+const uint16 dsAddr_notInDarkMsg = 0x3801; // "I'm not going to wander here in the dark again"
+// Shut Valve Message : 0x3832 to 0x387b
+const uint16 dsAddr_shutValveMsg = 0x3832; // "Shutting the valve shook the dirt from the wall..."
+// Need Sunglasses Message : 0x387c to 0x38a6
+const uint16 dsAddr_needSunglassesMsg = 0x387c; // "Sorry buddy, but I need your sunglasses"
+// Not Best Place Message : 0x38a7 to 0x38cd
+const uint16 dsAddr_notBestPlaceMsg = 0x38a7; // "It's not the best place for diving"
+// Not Here Message : 0x38ce to 0x38da
+const uint16 dsAddr_notHereMsg = 0x38ce; // "Not here"
+// Can't Talk Underwater Message : 0x38db to 0x38fe
+const uint16 dsAddr_cantTalkUnderwaterMsg = 0x38db; // "I really can't talk underwater!"
+// Not Swimming There Message : 0x38ff to 0x3931
+const uint16 dsAddr_notSwimmingThereMsg = 0x38ff; // "I don't think swimming there is worth the effort"
+// Too Little Air Message : 0x3932 to 0x3988
+const uint16 dsAddr_tooLittleAirMsg = 0x3932; // "If I want to get this anchor I have to swim there when I have more air in my lungs"
+// Hooked Anchor Message : 0x3989 to 0x39ad
+const uint16 dsAddr_hookedAnchorMsg = 0x3989; // "I was really hooked on this anchor!"
+// Seaweed Message : 0x39ae to 0x39f5
+const uint16 dsAddr_seaweedMsg = 0x39ae; // "This seaweed is just like the flowers I gave mum on her last birthday"
+// Fish Boat Message : 0x39f6 to 0x3a27
+const uint16 dsAddr_fishBoatMsg = 0x39f6; // "I wonder what fish do inside this boat at night"
+// Fish Something Message : 0x3a28 to 0x3a59
+const uint16 dsAddr_fishSomethingMsg = 0x3a28; // "I think I have to fish out something down there"
+// Fish Don't Worry Message : 0x3a5a to 0x3a84
+const uint16 dsAddr_fishDontWorryMsg = 0x3a5a; // "At least fish don't worry about the rain"
+// Not Red Herring Message : 0x3a85 to 0x3ab6
+const uint16 dsAddr_notRedHerringMsg = 0x3a85; // "I hope all this fish stuff is not a red herring"
+// Nice Down Message : 0x3ab7 to 0x3acd
+const uint16 dsAddr_niceDownMsg = 0x3ab7; // "It's nice down there"
+// Hey Let Go Message : 0x3ace to 0x3ae5
+const uint16 dsAddr_heyLetGoMsg = 0x3ace; // "Hey, let go, will ya?!"
+// Aaahhh Message : 0x3ae6 to 0x3afc
+const uint16 dsAddr_aaahhhMsg = 0x3ae6; // "Aaaaaaaaaaaaahhh!"
+// Oops Message : 0x3afd to 0x3b03
+const uint16 dsAddr_oopsMsg = 0x3afd; // "Oops"
+// Found Food Message : 0x3b04 to 0x3b2e
+const uint16 dsAddr_foundFoodMsg = 0x3b04; // "People leave food in unbelievable places"
+// Come Here Message : 0x3b2f to 0x3b58
+const uint16 dsAddr_comeHereMsg = 0x3b2f; // "Come here, I've got something for you"
+// Cant Catch Message : 0x3b59 to 0x3b6b
+const uint16 dsAddr_cantCatchMsg = 0x3b59; // "I can't catch it!"
+// Trapped Mouse Message : 0x3b6c to 0x3b82
+const uint16 dsAddr_trappedMouseMsg = 0x3b6c; // "The mouse is trapped!"
+// Yikes Message : 0x3b83 to 0x3b8a
+const uint16 dsAddr_yikesMsg = 0x3b83; // "Yikes!"
+// Mouse Nerve Message : 0x3b8b to 0x3bab
+const uint16 dsAddr_mouseNerveMsg = 0x3b8b; // "Boy, this mouse has some nerve!"
+// Drawers Empty Message : 0x3bac to 0x3bd1
+const uint16 dsAddr_drawersEmptyMsg = 0x3bac; // "There's nothing else in the drawers"
+// Rid Bush Message 0x3bd2 to 0x3bf5
+const uint16 dsAddr_ridBushMsg = 0x3bd2; // "I must get rid of this bush first"
+// Mouse Gone Message : 0x3bf6 to 0x3c0a
+const uint16 dsAddr_mouseGoneMsg = 0x3bf6; // "The mouse has gone!"
+// Nonsense Message : 0x3c0b to 0x3c15
+const uint16 dsAddr_nonsenseMsg = 0x3c0b; // "Nonsense"
+// Good Doggy Message : 0x3c16 to 0x3c30
+const uint16 dsAddr_goodDoggyMsg = 0x3c16; // "I understand. Good doggy"
+// Here Boy Message : 0x3c31 to 0x3c3c
+const uint16 dsAddr_hereBoyMsg = 0x3c31; // "Here, boy"
+// Friends Now Message : 0x3c3d to 0x3c57
+const uint16 dsAddr_friendsNowMsg = 0x3c3d; // "I hope we're friends now"
+// Not Think Right Place Message : 0x3c58 to 0x3c7f
+const uint16 dsAddr_notThinkRightPlaceMsg = 0x3c58; // "I don't think this is the right place"
+// Cutscene Message A : 0x3c80 to 0x3c99
+const uint16 dsAddr_cutsceneMsgA = 0x3c80; // "Hundred moments later"
+// Cutscene Message B : 0x3c9a to 0x3cbb
+const uint16 dsAddr_cutsceneMsgB = 0x3c9a; // "Another hundred moments later"
+// Found Crude Oil Message : 0x3cbc to 0x3ce9
+const uint16 dsAddr_foundCrudeOilMsg = 0x3cbc; // "At least I found crude oil and I'll be rich"
+// My Life Message : 0x3cea to 0x3cfa
+const uint16 dsAddr_myLifeMsg = 0x3cea; // "That's my life"
+// Confusion Message : 0x3cfb to 0x3d00
+const uint16 dsAddr_ConfusionMsg = 0x3cfb; // "!?&!"
+// Grandpa Promise Message : 0x3d01 to 0x3d1f
+const uint16 dsAddr_grandpaPromiseMsg = 0x3d01; // "But grandpa, you promised!"
+// Oh Lets Go Message : 0x3d20 to 0x3d39
+const uint16 dsAddr_ohLetsGoMsg = 0x3d20; // "Oh all right. Let's go"
+// Bye Message : 0x3d3a to 0x3d3f
+const uint16 dsAddr_byeMsg = 0x3d3a; // "Bye."
+// No Need Message : 0x3d40 to 0x3d58
+const uint16 dsAddr_noNeedMsg = 0x3d40; // "No need to do it again"
+// Girl Talk Message : 0x3d59 to 0x3d85
+const uint16 dsAddr_girlTalkMsg = 0x3d59; // "I really don't know how to talk to girls"
+// Dont Work Purpose Message : 0x3d86 to 0x3dae
+const uint16 dsAddr_dontWorkPurposeMsg = 0x3d86; // "I usually don't work without a purpose"
+// Nut Real Message : 0x3daf to 0x3dc5
+const uint16 dsAddr_nutRealMsg = 0x3daf; // "Only the nut is real"
+// Hen Fly Message : 0x3dc6 to 0x3df3
+const uint16 dsAddr_henFlyMsg = 0x3dc6; // "I wonder if hens can fly. Come here, baby"
+// First Test Fail Message : 0x3df4 to 0x3e07
+const uint16 dsAddr_firstTestFailMsg = 0x3df4; // "First test failed"
+// Rid Frustations Message : 0x3e08 to 3e30
+const uint16 dsAddr_ridFrustationsMsg = 0x3e08; // "I'd already got rid of my frustrations"
+// Road Nowhere Message : 0x3e31 to 0x3e4e
+const uint16 dsAddr_roadNowhereMsg = 0x3e31; // "Nah. It's a road to nowhere"
+// Open Boot Message 0x3e4f to 0x3e62
+const uint16 dsAddr_openBootMsg = 0x3e4f; // "It opens the boot"
+// Shut Tight Message : 0x3e63 to 0x3e74
+const uint16 dsAddr_shutTightMsg = 0x3e63; // "It's shut tight"
+// Boot Empty Message : 0x3e75 to 0x3e97
+const uint16 dsAddr_bootEmptyMsg = 0x3e75; // "There's nothing else in the boot"
+// Clothes Dry Message : 0x3e98 to 0x3eb1
+const uint16 dsAddr_clothesDryMsg = 0x3e98; // "The clothes are dry now."
+// Crow Kill Message : 0x3eb2 to 0x3ed5
+const uint16 dsAddr_crowKillMsg = 0x3eb2; // "I'm sure these crows will kill me"
+// Get Rid Of Guard First Message : 0x3ed6 to 0x3f29
+const uint16 dsAddr_getRidOfGuardFirstMsg = 0x3ed6; // "If I want to get inside I must get rid of this guard first..."
+// Wall Too Smooth Message : 0x3f2a to 0x3f53
+const uint16 dsAddr_wallTooSmoothMsg = 0x3f2a; // "The wall surface is too smooth to climb"
+// Too Much Resin To Climb Message : 0x3f54 to 0x3f84
+const uint16 dsAddr_tooMuchResinToClimbMsg = 0x3f54; // "I could climb it if there wasn't so much resin"
+// Only Green Rect Message : 0x3f85 to 0x3feb
+const uint16 dsAddr_onlyGreenRectMsg = 0x3f85; // "The only green stuff that I like is that rectangular piece of paper with..."
+// Don't Wanna Touch Hedgehog Message : 0x3fec to 0x402d
+const uint16 dsAddr_dontWannaTouchHedgehogMsg = 0x3fec; // "I don't wanna touch it. Its spines could hurt my delicate hands"
+// Not Hungry Message : 0x402e to 0x4046
+const uint16 dsAddr_notHungryMsg = 0x402e; // "Thanks, I'm not hungry"
+// No Long Hands Message : 0x4047 to 0x406c
+const uint16 dsAddr_noLongHandsMsg = 0x4047; // "I really don't have such long hands"
+// Too Far To Swim Message : 0x406d to 0x4089
+const uint16 dsAddr_tooFarToSwimMsg = 0x406d; // "It's too far to swim there"
+// Echo Message : 0x408a to 0x4090
+const uint16 dsAddr_echoMsg = 0x408a; // "Echo!"
+// Loud Echo Message : 0x4091 to 0x4097
+const uint16 dsAddr_loudEchoMsg = 0x4091; // "ECHO!"
+// Who There Message : 0x4098 to 0x40a6
+const uint16 dsAddr_whoThereMsg = 0x4098; // "Who's there?!"
+// Loud Who There Message : 0x40a7 to 0x40b5
+const uint16 dsAddr_loudWhoThereMsg = 0x40a7; // "WHO'S THERE?!"
+// Dont Copy Message : 0x40b6 to 0x40cd
+const uint16 dsAddr_dontCopyMsg = 0x40b6; // "DON'T COPY ME!"
+// Loud Dont Copy Message : 0x40ce to 0x40e7
+const uint16 dsAddr_loudDontCopyMsg = 0x40ce; // "DON'T COPY ME!!!"
+// Throw Rock Message : 0x40e8 to 0x410e
+const uint16 dsAddr_throwRockMsg = 0x40e8; // "OR I WILL THROW A ROCK DOWN THERE!"
+// Or I Will Message : 0x410f to 0x411c
+const uint16 dsAddr_orIWillMsg = 0x410f; // "OR I WILL"
+// Still There Message : 0x411d to 0x4132
+const uint16 dsAddr_stillThereMsg = 0x411d; // "Are you still there?"
+// No Bucket Message : 0x4133 to 0x4163
+const uint16 dsAddr_noBucketMsg = 0x4133; // "It's not a barrel-organ. And there's no bucket."
+// Dont Need To Open Message : 0x4164 to 0x417d
+const uint16 dsAddr_dontNeedToOpenMsg = 0x4164; // "I don't need to open it"
+// Hmm Grass Message : 0x417e to 41b0
+const uint16 dsAddr_hmmGrassMsg = 0x417e; // "Hmmm. Grass..."
+// Find Nut Message : 0x41b1 to 0x41ee
+const uint16 dsAddr_findNutMsg = 0x41b1; // "I won't find the nut just like that. The grass is too dense"
+// Not Horny Message : 0x41ef to 0x41fe
+const uint16 dsAddr_notHornyMsg = 0x41ef; // "I'm not horny"
+// Can't Jump So High Message : 0x41ff to 0x423e
+const uint16 dsAddr_CantJumpMsg = 0x41ff; // "No way I can jump so high, cause, err, white men can't jump"
+// Don't Need It Message : 0x423f to 0x4250
+const uint16 dsAddr_dontNeedItMsg = 0x423f; // "I don't need it"
+// Not Santa Claus Message : 0x4251 to 0x4266
+const uint16 dsAddr_notSantaClausMsg = 0x4251; // "I'm not Santa Claus"
+// No Plastic Imitations Message : 0x4267 to 0x4288
+const uint16 dsAddr_noPlasticImitationsMsg = 0x4267; // "I don't need plastic imitations"
+// Too Fragile Message : 0x4289 to 0x42ab
+const uint16 dsAddr_tooFragileMsg = 0x4289; // "It's too fragile to carry around"
+// Keep It Open Message : 0x42ac to 0x42c6
+const uint16 dsAddr_keepItOpenMsg = 0x42ac; // "I'd like to keep it open"
+// Not Taking Socks Message : 0x42c7 to 0x4305
+const uint16 dsAddr_notTakingSocksMsg = 0x42c7; // "I really don't want to walk around with someone else's socks"
+// Not Tired Message : 0x4306 to 0x431d
+const uint16 dsAddr_notTiredMsg = 0x4306; // "Thanks, I'm not tired"
+// Too Big Message : 0x431e to 0x434d
+const uint16 dsAddr_tooBigMsg = 0x431e; // "It's too big and I doubt if I'll ever need it"
+// No Secret Passage Message : 0x434e to 0x437f
+const uint16 dsAddr_noSecretPassageMsg = 0x434e; // "I don't think there's any secret passage inside"
+// No Fruit Message : 0x4380 to 0x43ab
+const uint16 dsAddr_noFruitMsg = 0x4380; // "There are no more interesting fruits here"
+// Jug Me Message : 0x43ac to 0x43cd
+const uint16 dsAddr_jugMeMsg = 0x43ac; // "They can jug me if I steal this"
+// Leave Flowers Alone Message : 0x43ce to 0x4411
+const uint16 dsAddr_leaveFlowersAloneMsg = 0x43ce; // "I'd better leave it. Women are really oversensitive about flowers."
+// Mirror Mirror Message : 0x4412 to 0x444e
+const uint16 dsAddr_mirrorMirrorMsg = 0x4412; // "Mirror, Mirror on the wall...."
+// Think Too Long Message : 0x444f to 0x446a
+const uint16 dsAddr_thinkTooLongMsg = 0x444f; // "Hey, don't think too long"
+// Hint Male Message : 0x446b to 0x4491
+const uint16 dsAddr_HintMaleMsg = 0x446b; // "A hint: Someone in this room, a male"
+// OK Wait Message : 0x4492 to 0x44a6
+const uint16 dsAddr_okWaitMsg = 0x4492; // "OK, take your time"
+// Busy Thinking Message : 0x44a7 to 0x44d5
+const uint16 dsAddr_busyThinkingMsg = 0x44a7; // "I'd better not interrupt it's thought process"
+// No Dentists Message : 0x44d6 to 0x450d
+const uint16 dsAddr_noDentistsMsg = 0x44d6; // "I don't want to have anything in common with dentists"
+// Too Heavy Message : 0x450e to 0x4531
+const uint16 dsAddr_tooHeavyMsg = 0x450e; // "It's too heavy. Not that I'm wimp"
+// What Got Message : 0x4532 to 0x4554
+const uint16 dsAddr_whatGotMsg = 0x4532; // "Let's look what we've got here"
+// Strawberry Jam Message : 0x4555 to 0x4567
+const uint16 dsAddr_strawberryJamMsg = 0x4555; // "Strawberry jam"
+// Gooseberry Jam Message : 0x4568 to 0x457a
+const uint16 dsAddr_gooseberryJamMsg = 0x4568; // "Gooseberry jam"
+// Blackberry Jam Message : 0x457b to 0x458d
+const uint16 dsAddr_blackberryJamMsg = 0x457b; // "Blackberry jam"
+// Bilberry Jam Message : 0x458e to 0x459e
+const uint16 dsAddr_bilberryJamMsg = 0x458e; // "Bilberry jam"
+// Get Me Out Jam Message : 0x459f to 0x45b7
+const uint16 dsAddr_getMeOutJamMsg = 0x459f; // "Get me out of this jam!"
+// Rosemary Jam Message : 0x45b8 to 0x45d9
+const uint16 dsAddr_rosemaryJamMsg = 0x45b8; // "Oh, and there is Rosemary jam"
+// Know Rosemary Message : 0x45da to 0x4602
+const uint16 dsAddr_knowRosemaryMsg = 0x45da; // "I used to know someone called Rosemary"
+// Unwanted Jams Message : 0x4603 to 0x461c
+const uint16 dsAddr_unwantedJamsMsg = 0x4603; // "I don't want those jams"
+// Too Dark Message : 0x461d to 0x463b
+const uint16 dsAddr_TooDarkMsg = 0x461d; // "It's too dark to see clearly"
+// Yeow Message : 0x463c to 0x4649
+const uint16 dsAddr_yeowMsg = 0x463c; // "YEEEOOOWWWW!"
+// Yawn Message : 0x464a to 0x4651
+const uint16 dsAddr_yawnMsg = 0x464a; // "(yawn)"
+// Laughter Message : 0x4652 to 0x465d
+const uint16 dsAddr_laughterMsg = 0x4652; // "(laughter)"
+// No Hands Sharp Thorns Message : 0x465e to 0x46a0
+const uint16 dsAddr_noHandsSharpThornsMsg = 0x465e; // "I can't remove it with my hands. these thorns look really sharp"
+// No Chainsaw Fuel Message : 0x46a1 to 0x46c2
+const uint16 dsAddr_noChainsawFuelMsg = 0x46a1; // "There's no fuel in the chainsaw"
+// Thorns Too Thin Message : 0x46c3 to 0x46f6
+const uint16 dsAddr_thornsTooThinMsg = 0x46c3; // "Thorns are too thin, the chainsaw is useless here"
+// Rock Walking Gee Message : 0x46f7 to 0x473c
+const uint16 dsAddr_rockWalkingGeeMsg = 0x46f7; // "Yeah, great idea. Let's take this rock and walk around a bit. Gee..."
+// Butterfly Message : 0x473d to 0x477a
+const uint16 dsAddr_butterflyMsg = 0x473d; // "I'd better leave them alone, they make this place beautiful"
+// Not Sure If Alive Message : 0x477b to 0x4797
+const uint16 dsAddr_notSureIfAliveMsg = 0x477b; // "I'm not sure if it's alive"
+
+// FIXME - Unknown where this is used.. Talking to SOMETHING...
+// Unknown Language Message : 0x4798 to 0x47be
+const uint16 dsAddr_unknownLanguageMsg = 0x4798; // "I don't know what language it speaks"
+
+// Hole Too Narrow Message : 0x47bf to 0x47e6
+const uint16 dsAddr_holeTooNarrowMsg = 0x47bf; // "The hole is too narrow to fit my hand"
+// Bird Attack Message : 0x47e7 to 0x4807
+const uint16 dsAddr_birdAttackMsg = 0x47e7; // "Hey You! Wake up! Bird attack!"
+// No Search Warrant Message : 0x4808 to 0x4827
+const uint16 dsAddr_noSearchWarrantMsg = 0x4808; // "I don't have a search-warrant"
+// Uninteresting Haystack Message : 0x4828 to 0x485f
+const uint16 dsAddr_uninterestingHaystackMsg = 0x4828; // "I don't see anything interesting about this haystack"
+// More Complicated Message : 0x4860 to 0x4881
+const uint16 dsAddr_moreComplicatedMsg = 0x4860; // "It's more complicated than that"
+// Nut Rake Message : 0x4882 to 0x48be
+const uint16 dsAddr_nutRakeMsg = 0x4882; // "It's pointless, the nut will slip between the rake's teeth"
+// Paddle Broken Message : 0x48bf to 0x48d5
+const uint16 dsAddr_paddleBrokenMsg = 0x48bf; // "The paddle is BROKEN"
+// Branch Not Paddle Message : 0x48d6 to 0x4912
+const uint16 dsAddr_branchNotPaddleMsg = 0x48d6; // "This branch is not a paddle. It doesn't even look like one"
+// Try Somewhere Else Message : 0x4913 to 0x495b
+const uint16 dsAddr_trySomewhereElseMsg = 0x4913; // "I'd better try somewhere else - I suppose this side is heavily guarded"
+// Sharpen Not Pulverize Message : 0x495c to 0x4983
+const uint16 dsAddr_sharpenNotPulverizeMsg = 0x495c; // "I needed to sharpen it, not pulverize"
+// Can't Do Anything Too Dark Message : 0x4984 to 0x49ad
+const uint16 dsAddr_cantDoTooDarkMsg = 0x4984; // "I can't do anything here, it's too dark"
+// Bribe Message : 0x49ae to 0x49d0
+const uint16 dsAddr_BribeMsg = 0x49ae; // "Here, let's make your pocket fat."
+// Bank Note Message : 0x49d1 to 0x4a28
+const uint16 dsAddr_bankNoteMsg = 0x49d1; // "It's a note from some bank..."
+// Show Her Money Message : 0x4a29 to 0x4a5a
+const uint16 dsAddr_showHerMoneyMsg = 0x4a29; // "If I just show her the money, she might take it"
+// Hundred Bucks Message : 0x4a5b to 0x4a6e
+const uint16 dsAddr_hundredBucksMsg = 0x4a5b; // "A hundred bucks!!!"
+// Want Blood Message : 0x4a6f to 0x4a7d
+const uint16 dsAddr_wantBloodMsg = 0x4a6f; // "I want Blood!"
+// Dont Leave Mansion Message : 0x4a7e to 0x4aaf
+const uint16 dsAddr_dontLeaveMansionMsg = 0x4a7e; // "I don't want to leave the mansion, I want blood!"
+// Wimp Message : 0x4ab0 to 0x4acc
+const uint16 dsAddr_WimpMsg = 0x4ab0; // "I'm a pathetic little wimp"
+// Strange Drawer Message : 0x4acd to 0x4b0c
+const uint16 dsAddr_strangeDrawerMsg = 0x4acd; // "Strange, but the drawer is stuck if the next drawer is open"
+// Not Ordinary Drawers Message : 0x4b0d to 0x4b38
+const uint16 dsAddr_notOrdinaryDrawersMsg = 0x4b0d; // "Maybe these are not just ordinary drawers!"
+// Drawer Open Message : 0x4b39 to 0x4b6b
+const uint16 dsAddr_drawerOpenMsg = 0x4b39; // "I cannot open the drawer if the next one is open!"
+// Blue Interior Message 0x4b6c to 0x4b86
+const uint16 dsAddr_blueInteriorMsg = 0x4b6c; // "It's got a blue interior"
+// Red Interior Message : 0x4b87 to 0x4ba0
+const uint16 dsAddr_redInteriorMsg = 0x4b87; // "It's got a red interior"
+// Grey Interior Message : 0x4ba1 to 0x4bbb
+const uint16 dsAddr_greyInteriorMsg = 0x4ba1; // "It's got a grey interior"
+// Green Interior Message : 0x4bbc to 0x4bd7
+const uint16 dsAddr_greenInteriorMsg = 0x4bbc; // "It's got a green interior"
+// Brown Interior Message : 0x4bd8 to 0x4bf3
+const uint16 dsAddr_brownInteriorMsg = 0x4bd8; // "It's got a brown interior"
+// Pink Interior Message : 0x4bf4 to 0x4c0e
+const uint16 dsAddr_pinkInteriorMsg = 0x4bf4; // "It's got a pink interior"
+// Dictaphone Inside Message : 0x4c0f to 0x4c31
+const uint16 dsAddr_dictaphoneInsideMsg = 0x4c0f; // "Wow! There's a dictaphone inside!"
+// Found Polaroid Message : 0x4c32 to 0x4c60
+const uint16 dsAddr_foundPolaroidMsg = 0x4c32; // "There's a polaroid inside! I might need that"
+// Book Held Message : 0x4c61 to 0x4c83
+const uint16 dsAddr_bookHeldMsg = 0x4c61; // "Something's got hold of the book!"
+// Secret Compartment Message : 0x4c84 to 0x4c9f
+const uint16 dsAddr_secretCompartmentMsg = 0x4c84; // "Wow! A secret compartment!"
+// Dont Mess Message : 0x4ca0 to 0x4cc6
+const uint16 dsAddr_dontMessMsg = 0x4ca0; // "I don't need to mess with it anymore"
+// Full Automatic Message : 0x4cc7 to 0x4cd8
+const uint16 dsAddr_fullAutomaticMsg = 0x4cc7; // "Fully Automatic"
+// No More Sheets Message : 0x4cd9 to 0x4d01
+const uint16 dsAddr_noMoreSheetsMsg = 0x4cd9; // "Right now I don't need any more sheets"
+// No Deprave Message : 0x4d02 to 0x4d29
+const uint16 dsAddr_noDepraveMsg = 0x4d02; // "Nah, I don't want to deprave the kids"
+// No Read Again Message : 0x4d2a to 0x4d5a
+const uint16 dsAddr_noReadAgainMsg = 0x4d2a; // "I don't want to read it again. I might like it."
+// TV Off Message : 0x4d5b to 0x4d7f
+const uint16 dsAddr_tvOffMsg = 0x4d5b; // "I just realised that the TV is off"
+// Not Happen Message : 0x4d80 to 0x4d92
+const uint16 dsAddr_NotHappenMsg = 0x4d80; // "Nothing happened"
+// Tape Started Message : 0x4d93 to 0x4da5
+const uint16 dsAddr_tapeStartedMsg = 0x4d93; // "The tape started!"
+// Much Better Message : 0x4da6 to 0x4dba
+const uint16 dsAddr_muchBetterMsg = 0x4da6; // "That's much better"
+// No Sleep Message : 0x4dbb to 0x4dd2
+const uint16 dsAddr_noSleepMsg = 0x4dbb; // "I don't want to sleep"
+// Just Cork Message : 0x4dd3 to 0x4de5
+const uint16 dsAddr_justCorkMsg = 0x4dd3; // "It's just a cork"
+// Enough Photos Message : 0x4de6 to 0x4e04
+const uint16 dsAddr_enoughPhotosMsg = 0x4de6; // "I don't need any more photos"
+// Record Scare Message : 0x4e05 to 0x4e31
+const uint16 dsAddr_recordScareMsg = 0x4e05; // "Yeah, I can record this and scare the cats"
+// Already Recorded Message : 0x4e32 to 0x4e57
+const uint16 dsAddr_alreadyRecordedMsg = 0x4e32; // "I already recorded what I wanted to"
+// Can't Record No Batteries Message : 0x4e58 to 0x4e8d
+const uint16 dsAddr_cantRecordNoBatteriesMsg = 0x4e58; // "I can't record anything until I find some batteries"
+
+// FIXME - Not sure how to get this message. Dictaphone with no batteries somewhere? Radio?
+// No Batteries No Fun Message : 0x4e8e to 0x4ea4
+const uint16 dsAddr_NoBatteriesNoFunMsg = 0x4e8e; // "No batteries, no fun"
+
+// Not Right Moment Message : 0x4ea5 to 0x4ecd
+const uint16 dsAddr_notRightMomentMsg = 0x4ea5; // "I don't think this is the right moment"
+// Cook Around Message : 0x4ece to 0x4ef9
+const uint16 dsAddr_cookAroundMsg = 0x4ece; // "I can't do anything with this cook around"
+// Same Bottle Message : 0x4efa to 0x4f3c
+const uint16 dsAddr_sameBottleMsg = 0x4efa; // "The bottle's the same, but I doubt if it's enough to fool anyone"
+// Break Flatten Message : 0x4f3d to 0x4f68
+const uint16 dsAddr_breakFlattenMsg = 0x4f3d; // "I wanted to break it, not to flatten it!"
+// What Inside Message : 0x4f69 to 0x4f9a
+const uint16 dsAddr_whatInsideMsg = 0x4f69; // "I was always curious what's inside these things"
+// Rest Useless Message : 0x4f9b to 0x4fb0
+const uint16 dsAddr_restUselessMsg = 0x4f9b; // "The rest is useless"
+// Two Batteries Message : 0x4fb1 to 0x4fca
+const uint16 dsAddr_twoBatteriesMsg = 0x4fb1; // "Wow! Two 1.5V batteries!"
+// One Taken Message : 0x4fcb to 0x4fe1
+const uint16 dsAddr_oneTakenMsg = 0x4fcb; // "This one's taken, OK?"
+// Slight Mad Message : 0x4fe2 to 0x5009
+const uint16 dsAddr_slightMadMsg = 0x4fe2; // "It finally happened. I'm slightly mad"
+// Paper Burnt Message : 0x500a to 0x502a
+const uint16 dsAddr_paperBurntMsg = 0x500a; // "The paper burnt out completely!"
+// Burn Baby Message : 0x502b to 0x503d
+const uint16 dsAddr_burnBabyMsg = 0x502b; // "Burn, baby, burn!"
+// Voila Message : 0x503e to 0x5045
+const uint16 dsAddr_voilaMsg = 0x503e; // "Voila"
+// Too Hot Message : 0x5046 to 0x505d
+const uint16 dsAddr_tooHotMsg = 0x5046; // "It's too hot to touch!"
+// Frozen Shelf Message : 0x505e to 0x5081
+const uint16 dsAddr_frozenShelfMsg = 0x505e; // "It has frozen hard onto the shelf!"
+// Yummy Message : 0x5082 to 0x5089
+const uint16 dsAddr_yummyMsg = 0x5082; // "Yummy"
+// Dislike Veal Message : 0x508a to 0x50a5
+const uint16 dsAddr_dislikeVealMsg = 0x508a; // "I never liked veal anyway"
+// No Reason Message : 0x50a6 to 0x50c2
+const uint16 dsAddr_noReasonMsg = 0x50a6; // "There's no reason to do it"
+// Fooled Once Message : 0x50c3 to 0x50e0
+const uint16 dsAddr_fooledOnceMsg = 0x50c3; // "I'd already fooled him once"
+// Mike Voice Test Message : 0x50e1 to 0x5100
+const uint16 dsAddr_mikeVoiceTestMsg = 0x50e1; // "Mike, activate the voice test"
+// Not My Voice Message : 0x5101 to 0x5123
+const uint16 dsAddr_notMyVoiceMsg = 0x5101; // "I won't cheat Mike with MY voice"
+// Singing Message : 0x5124 to 0x5137
+const uint16 dsAddr_singingMsg = 0x5124; // "siiiiinging!"
+// Mike Scent Test Message : 0x5138 to 0x5160
+const uint16 dsAddr_mikeScentTestMsg = 0x5138; // "Mike, let's get on with the scent test"
+// Mike View Test Message : 0x5161 to 0x517a
+const uint16 dsAddr_mikeViewTestMsg = 0x5161; // "Mike, run the view test"
+// Cutscene Message #0 : 0x517b to 0x51a6
+const uint16 dsAddr_cutsceneMsg0 = 0x517b; // "A secret diary of ..."
+// Cant Hide Message : 0x51a7 to 0x51ba
+const uint16 dsAddr_cantHideMsg = 0x51a7; // "I can't hide here!"
+// John Outside Message : 0x51bb to 0x51e6
+const uint16 dsAddr_johnOutsideMsg = 0x51bb; // "There's John Noty outside! I can't go out!"
+// Was Close Message : 0x51e7 to 0x51f7
+const uint16 dsAddr_wasCloseMsg = 0x51e7; // "That was close"
+// Cork In Hole Message : 0x51f8 to 0x5217
+const uint16 dsAddr_corkInHoleMsg = 0x51f8; // "The cork is stuck in the hole"
+// Fits Perfect Message : 0x5218 to 0x522b
+const uint16 dsAddr_fitsPerfectMsg = 0x5218; // "It fits perfectly!"
+// Enough Water Message : 0x522c to 0x524e
+const uint16 dsAddr_enoughWaterMsg = 0x522c; // "There's enough water in the sink"
+// No Hot Water Message : 0x524f to 0x5271
+const uint16 dsAddr_noHotWaterMsg = 0x524f; // "There's no hot water in the sink"
+// Label Off Message : 0x5272 to 0x528a
+const uint16 dsAddr_labelOffMsg = 0x5272; // "The label has come off!"
+// Cork Too Small Message : 0x528b to 0x52a8
+const uint16 dsAddr_corkTooSmallMsg = 0x528b; // "The cork is a bit too small"
+// Not Try Now Message : 0x52a9 to 0x52ca
+const uint16 dsAddr_notTryNowMsg = 0x52a9; // "There's no need to try them now"
+// No Salad Message : 0x52cb to 0x52f5
+const uint16 dsAddr_noSaladMsg = 0x52cb; // "I don't want to turn myself into a salad"
+// Nah Message : 0x52f6 to 0x52fd
+const uint16 dsAddr_nahMsg = 0x52f6; // "Nah"
+// Vent First Message : 0x52fe to 0x5325
+const uint16 dsAddr_ventFirstMsg = 0x52fe; // "I'd better stop this ventilator first"
+// Catch John First Message : 0x5326 to 0x5348
+const uint16 dsAddr_catchJohnFirstMsg = 0x5326; // "I'd better catch John Noty first"
+// Only Chilli Message : 0x5349 to 0x5371
+const uint16 dsAddr_onlyChilliMsg = 0x5349; // "Good this red stuff is only a chilli"
+// Water Hot Message : 0x5372 to 0x538c
+const uint16 dsAddr_waterHotMsg = 0x5372; // "The water looks very hot"
+// Sink Full Message : 0x538d to 0x53ac
+const uint16 dsAddr_sinkFullMsg = 0x538d; // "The sink is full of hot water"
+// No Sock Store Message : 0x53ad to 0x53dc
+const uint16 dsAddr_noSockStoreMsg = 0x53ad; // "I don't have anything to store these socks in"
+// Show Papers Message : 0x53dd to 0x53f1
+const uint16 dsAddr_showPapersMsg = 0x53dd; // "Here are my papers"
+// Got Permission Message : 0x53f2 to 0x5410
+const uint16 dsAddr_gotPermissionMsg = 0x53f2; // "I already got the permission"
+// Saving Fine Message : 0x5411 to 0x5462
+const uint16 dsAddr_SavingFineMsg = 0x5411; // "Saving is a very fine thing..."
+// Love Captain Message : 0x5463 to 0x5474
+const uint16 dsAddr_loveCaptainMsg = 0x5463; // "I love captain"
+// Soccer Rulz Message : 0x5475 to 0x5483
+const uint16 dsAddr_soccerRulzMsg = 0x5475; // "Soccer rulz"
+// Tree Cut Message : 0x5484 to 0x54c3
+const uint16 dsAddr_treeCutMsg = 0x5484; // "Don't cut the trees..."
+// Visa Accepted Message : 0x54c4 to 0x54d4
+const uint16 dsAddr_visaAcceptedMsg = 0x54c4; // "VISA Accepted"
+// Other Graffiti Message : 0x54d5 to 0x54f6
+const uint16 dsAddr_otherGraffitiMsg = 0x54d5; // "The rest of graffiti is obscene"
+// First Trial Message : 0x54f7 to 0x5510
+const uint16 dsAddr_firstTrialMsg = 0x54f7; // "Sir, I'm Mark. A rookie"
+// Locked Message : 0x5511 to 0x551e
+const uint16 dsAddr_lockedMsg = 0x5511; // "It's Locked!"
+// Thanks Message : 0x551f to 0x5527
+const uint16 dsAddr_ThanksMsg = 0x551f; // "Thanks."
+// Unknown Usage Message : 0x5528 to 0x555c
+const uint16 dsAddr_unkUsageMsg = 0x5528; // "I don't have any idea what to do with it right now"
+// Idea Message : 0x555d to 0x5576
+const uint16 dsAddr_ideaMsg = 0x555d; // "That gives me an idea"
+// Check Works Message : 0x5577 to 0x5599
+const uint16 dsAddr_checkWorksMsg = 0x5577; // "Now I got to check if it works"
+// Time To Call Message : 0x559a to 0x55bf
+const uint16 dsAddr_timeToCallMsg = 0x559a; // "I think it is time to call captain"
+// Meal Finished Message : 0x55c0 to 0x55da
+const uint16 dsAddr_mealFinishedMsg = 0x55c0; // "Hey! I finished my meal."
+// Bowl Welded Message : 0x55db to 0x55fe
+const uint16 dsAddr_bowlWeldedMsg = 0x55db; // "Wow. He got welded to the bowl"
+// Gotcha Message : 0x55ff to 0x5607
+const uint16 dsAddr_gotchaMsg = 0x55ff; // "Gotcha"
+// No Pocket Message : 0x5608 to 0x5631
+const uint16 dsAddr_noPocketMsg = 0x5608; // "I don't want to touch his pockets again."
+// Does Not Work Message : 0x5632 to 0x5645
+const uint16 dsAddr_doesNotWorkMsg = 0x5632; // "That doesn't work"
+// Message : 0x5646 to 0x5655
+const uint16 dsAddr_fnMsg1 = 0x5646; // "Piece of cake"
+// Message : 0x5656 to 0x5679
+const uint16 dsAddr_fnMsg2 = 0x5656; // "And how am I supposed to get back?"
+// Message : 0x567a to 0x5681
+const uint16 dsAddr_fnMsg3 = 0x567a; // "Great"
+// Message : 0x5682 to 0x5695
+const uint16 dsAddr_fnMsg4 = 0x5682; // "Oh, yeah, right"
+// Pull Object Message #1 : 0x5696 to 0x56ab
+const uint16 dsAddr_pullObjMsg1 = 0x5696; // "I can't pull it out"
+// Dont Want To Touch Message : 0x56ac to 0x56d9
+const uint16 dsAddr_dontWantToTouchMsg = 0x56ac; // "I don't want to touch it - I might get hurt"
+// Fence Blocks Message : 0x56da to 0x56f6
+const uint16 dsAddr_fenceBlocksMsg = 0x56da; // "The fence blocks the way"
+// Not Want To Sleep Message : 0x56f7 to 0x570e
+const uint16 dsAddr_notWantToSleepMsg = 0x56f7; // "I don't want to sleep"
+// Pull Object Message #2 : 0x570f to 0x5721
+const uint16 dsAddr_pullObjMsg2 = 0x570f; // "I can't reach it"
+// Hello Question Message : 0x5722 to 0x5729
+const uint16 dsAddr_helloQMsg = 0x5722; // "Hello?"
+// Totally Addicted Message : 0x572a to 0x5741
+const uint16 dsAddr_totallyAddictedMsg = 0x572a; // "He's totally addicted"
+// What About Message : 0x5742 to 0x5756
+const uint16 dsAddr_whatAboutMsg = 0x5742; // "What about a new"
+// Hot Off Message : 0x5757 to 0x576f
+const uint16 dsAddr_hotOffMsg = 0x5757; // "hot off the press"
+// Full Color Message : 0x5770 to 0x5781
+const uint16 dsAddr_fullColorMsg = 0x5770; // "full-color"
+// Special Edition Message : 0x5782 to 0x5798
+const uint16 dsAddr_specialEdMsg = 0x5782; // "special edition"
+// Soldier News Message : 0x5799 to 0x57b1
+const uint16 dsAddr_soldierNewsMsg = 0x5799; // "of Soldier News?!"
+// Pole Climb Done Message : 0x57b2 to 0x57bf
+const uint16 dsAddr_poleClimbDoneMsg = 0x57b2; // "Never Again!"
+// Vac Message : 0x57c0 to 0x57de
+const uint16 dsAddr_vacMsg = 0x57c0; // "What am I? A vacuum cleaner?!"
+// Cutscene Message #1 : 0x57df to 0x5809
+const uint16 dsAddr_cutsceneMsg1 = 0x57df; // "sixty seven rude words later"
+// Cutscene Message #2 : 0x580a to 0x5826
+const uint16 dsAddr_cutsceneMsg2 = 0x580a; // "Meanwhile in the mansion"
+// Now Open Message : 0x5827 to 0x5836
+const uint16 dsAddr_nowOpenMsg = 0x5827; // "Now it's open"
+// Cmon Baby Message : 0x5837 to 0x5854
+const uint16 dsAddr_cmonBabyMsg = 0x5837; // "C'mon baby, it's all yours!"
+// Talk Not Now Message : 0x5855 to 0x5882
+const uint16 dsAddr_talkNotNowMsg = 0x5855; // "I've got no reason to talk to him right now."
+// Yeah Right Message : 0x5883 to 0x5893
+const uint16 dsAddr_yeahRightMsg = 0x5883; // "Yeah right!"
+// Barman Too Close Message : 0x5894 to 0x58af
+const uint16 dsAddr_barmanTooCloseMsg = 0x5894; // "The barman is too close"
+// Yuck Message : 0x58b0 to 0x58b6
+const uint16 dsAddr_yuckMsg = 0x58b0; // "Yuck!"
+// Prefer Water Message : 0x58b7 to 0x58c7
+const uint16 dsAddr_preferWaterMsg = 0x58b7; // "I prefer water"
+// Too Weak To Climb Message : 0x58c8 to 0x58e2
+const uint16 dsAddr_tooWeakToClimbMsg = 0x58c8; // "I'm too weak to climb it"
+// Spring Prick Message : 0x58e3 to 0x5904
+const uint16 dsAddr_springPrickMsg = 0x58e3; // "The springs would prick my back"
+// Food Alive Message : 0x5905 to 0x592e
+const uint16 dsAddr_foodAliveMsg = 0x5905; // "No, thanks. This food seems still alive"
+// Door Closed Message : 0x592f to 0x5954
+const uint16 dsAddr_doorClosedMsg = 0x592f; // "The door is closed. What a surprise."
+// Empty Message : 0x5955 to 0x5961
+const uint16 dsAddr_emptyMsg = 0x5955; // "It's Empty"
+// Geography Class Message : 0x5962 to 0x599c
+const uint16 dsAddr_geographyClassMsg = 0x5962; // "I should have paid more attention in geography classes."
+// Don't Need Mess Message : 0x599d to 0x59b5
+const uint16 dsAddr_dontNeedMessMsg = 0x599d; // "I don't need this mess"
+// Seen Softer Rocks Message : 0x59b6 to 0x59da
+const uint16 dsAddr_seenSofterRocksMsg = 0x59b6; // "Thanks, but I've seen softer rocks"
+// Too Blunt Message : 0x59db to 0x5a00
+const uint16 dsAddr_tooBluntMsg = 0x59db; // "They are too blunt to be of any use"
+// Useless Models Message : 0x5a01 to 0x5a1f
+const uint16 dsAddr_uselessModelsMsg = 0x5a01; // "What's the use of the models?"
+// Barman Will Notice Message : 0x5a20 to 0x5a50
+const uint16 dsAddr_barmanWillNoticeMsg = 0x5a20; // "The barman will surely notice its disappearing"
+// Too Much To Drink Message : 0x5a51 to 0x5a95
+const uint16 dsAddr_tooMuchToDrinkMsg = 0x5a51; // "It'd take too much time to drink it..."
+// 0x5a96 to 0x5a97 : 2 extra null bytes (padding?)
+// Not Thief Message : 0x5a98 to 0x5ac5
+const uint16 dsAddr_notThiefMsg = 0x5a98; // "I'm not a thief. And it's empty, by the way."
+// Too Many To Search Message : 0x5ac6 to 0x5aec
+const uint16 dsAddr_tooManyToSearchMsg = 0x5ac6; // "There are too many of them to search"
+// Captain Would Not Fit Message : 0x5aed to 0x5b26
+const uint16 dsAddr_captainWouldNotFitMsg = 0x5aed; // "Captain surely wouldn't fit them. I must look elsewhere"
+// Chickening Never Message : 0x5b27 to 0x5b3e
+const uint16 dsAddr_chickenNeverMsg = 0x5b27; // "Chickening? Me? Never!"
+// Can't Open It Message : 0x5b3f to 0x5b50
+const uint16 dsAddr_cantOpenItMsg = 0x5b3f; // "I can't open it"
+// Don't Need Them Message : 0x5b51 to 0x5b64
+const uint16 dsAddr_dontNeedThemMsg = 0x5b51; // "I don't need them"
+// Peeping Tom Message : 0x5b65 to 0x5b7f
+const uint16 dsAddr_peepingTomMsg = 0x5b65; // "What am I? A Peeping Tom?"
+// Big Pockets Message : 0x5b80 to 0x5baa
+const uint16 dsAddr_bigPocketsMsg = 0x5b80; // "I have big pockets, but there are limits"
+// Trouble With Stairs Message : 0x5bab to 0x5be6
+const uint16 dsAddr_troubleWithStairsMsg = 0x5bab; // "If I put it on I might have trouble walking up the stairs"
+// 9 Lives To Read Message : 0x5be7 to 0x5c0a
+const uint16 dsAddr_9LivesToReadMsg = 0x5be7; // "I'd need 9 lives to read them all"
+// Thanks Not Tired Message : 0x5c0b to 0x5c25
+const uint16 dsAddr_thanksNotTiredMsg = 0x5c0b; // "Thanks, I'm not so tired"
+// No Need To Turn On Message : 0x5c26 to 0x5c45
+const uint16 dsAddr_noNeedToTurnOnMsg = 0x5c26; // "There's no need to turn it on"
+// Won't Bear Weight Message : 0x5c46 to 0x5c5f
+const uint16 dsAddr_wontBearWeightMsg = 0x5c46; // "It won't bear my weight"
+// Never Learnt Message : 0x5c60 to 0x5c81
+const uint16 dsAddr_neverLearntMsg = 0x5c60; // "I never learnt to how use one"
+// So Sharp Message : 0x5c82 to 0x5cab
+const uint16 dsAddr_soSharpMsg = 0x5c82; // "They're so sharp they'd rip my trousers!"
+// Cognac Message : 0x5cac to 0x5cda
+const uint16 dsAddr_cognacMsg = 0x5cac; // "Pfui! The cognac really didn't do any good"
+// No Time For Pleasures Message : 0x5cdb to 0x5cfc
+const uint16 dsAddr_noTimeForPleasuresMsg = 0x5cdb; // "I don't have time for pleasures"
+// Not Socks With Bare Hands Message : 0x5cfd to 0x5d2b
+const uint16 dsAddr_notSocksWithBareHandsMsg = 0x5cfd; // "I won't touch these socks with my bare hands!"
+// Not Halloween Message : 0x5d2c to 0x5d40
+const uint16 dsAddr_notHalloweenMsg = 0x5d2c; // "It's not Halloween"
+// Not Manual Message : 0x5d41 to 0x5d6d
+const uint16 dsAddr_NotManualMsg = 0x5d41; // "It can't be controlled manually! I hate it!"
+// Nothing To Play Message : 0x5d6e to 0x5d86
+const uint16 dsAddr_nothingToPlayMsg = 0x5d6e; // "I have nothing to play"
+// Not Mine Message : 0x5d87 to 0x5da7
+const uint16 dsAddr_notMineMsg = 0x5d87; // "I can't take it. It's not mine."
+// Hey What's The Matter Message : 0x5da8 to 0x5dc1
+const uint16 dsAddr_HeyWtmQMsg = 0x5da8; // "Hey! What's the matter?!"
+// Its Open Message : 0x5dc2 to 0x5dcd
+const uint16 dsAddr_ItsOpenMsg = 0x5dc2; // "It's Open!"
+// Out Of Order Message : 0x5dce to 0x5de1
+const uint16 dsAddr_outOfOrderMsg = 0x5dce; // "It's out of order"
+// Captain Watching Message : 0x5de2 to 0x5e0a
+const uint16 dsAddr_captainWatchingMsg = 0x5de2; // "with captain watching? Better not"
+// Blunt Sickle Message : 0x5e0b to 0x5e24
+const uint16 dsAddr_bluntSickleMsg = 0x5e0b; // "The sickle is too blunt"
+// First Business Message : 0x5e25 to 0x5e53
+const uint16 dsAddr_firstBusinessMsg = 0x5e25; // "First I've got some business to take care of"
+// No Digging Knife Message : 0x5e54 to 0x5e8e
+const uint16 dsAddr_noDiggingKnifeMsg = 0x5e54; // "Digging it out with the knife could take a hundred years"
+
+// FIXME - Where is this message used?! Unused?
+// No Mess On Table Message : 0x5e8f to 0x5ebd
+const uint16 dsAddr_noMessOnTableMsg = 0x5e8f; // "I don't want to make more mess on this table"
+
+// Throw Crumbs To Bird Question Message : 0x5ebe to 0x5ee5
+const uint16 dsAddr_throwCrumbsToBirdQMsg = 0x5ebe; // "Should I throw the crumbs to the bird?"
+// Don't Waste Crumbs Message : 0x5ee6 to 0x5f10
+const uint16 dsAddr_dontWasteCrumbs = 0x5ee6; // "I don't want to waste these tasty crumbs"
+// Might Slip Fall In Message : 0x5f11 to 0x5f3b
+const uint16 dsAddr_mightSlipFallInMsg = 0x5f11; // "Better not... I might slip and fall in..."
+// Book Color Message Address Pointers : (6 * 2-byte) = 0x5f3c to 0x5f47
+const uint16 dsAddr_bookColorMsgPtr = 0x5f3c;
+// Book Color Message #0 : 0x5f48 to 0x5f60
+const uint16 dsAddr_bookColorMsg0 = 0x5f48; // ""The history of blues""
+// Book Color Message #1 : 0x5f61 to 0x5f8f
+const uint16 dsAddr_bookColorMsg1 = 0x5f61; // ""Manchester United, or the Red Devils story""
+// Book Color Message #2 : 0x5f90 to 0x5fb5
+const uint16 dsAddr_bookColorMsg2 = 0x5f90; // ""Greyhounds and other hunting dogs""
+// Book Color Message #3 : 0x5fb6 to 0x5fe6
+const uint16 dsAddr_bookColorMsg3 = 0x5fb6; // ""Greenhorn, or my adventures in the Wild West""
+// Book Color Message #4 : 0x5fe7 to 0x6008
+const uint16 dsAddr_bookColorMsg4 = 0x5fe7; // ""Charlie Brown and his company""
+// Book Color Message #5 : 0x6009 to 0x6034
+const uint16 dsAddr_bookColorMsg5 = 0x6009; // ""Pink Panther: an unauthorised biography""
+
+// Mansion Intrusion Function Pointers : (5 * 2-byte) = 0x6035 to 0x603e
+const uint16 dsAddr_MansionIntrusionFnPtr = 0x6035;
+
+// Save State Region : 0x6478 to 0xdbf1
+const uint16 dsAddr_saveState = 0x6478;
+const uint16 saveStateSize = 0x777a;
+
+// Save Description String (24 bytes) : 0x6478 to 0x648f
+
+// Ego (Mark) position in scene : 0x64af to 0x64b2
+const uint16 dsAddr_egoX = 0x64af; // 2 bytes
+const uint16 dsAddr_egoY = 0x64b1; // 2 bytes
+
+// Idle Animation List Table : 0x6540 to 0x????
+const uint16 dsAddr_idleAnimationListPtr = 0x6540;
+
+// Palette Effect Data : 0x6609 to 0x????
+const uint16 dsAddr_paletteEffectData = 0x6609;
+
+// Scene Fade Table (2 byte address * 42): 0x663e to 0x6691
+const uint16 dsAddr_sceneFadeTablePtr = 0x663e;
+
+// Scene Walkbox Table (2 byte LE address * 42) : 0x6746 to 0x6799
+const uint16 dsAddr_sceneWalkboxTablePtr = 0x6746;
+
+// Scene Zoom Table (2 byte address * 42) : 0x70f4 to 0x7147
+const uint16 dsAddr_sceneZoomTablePtr = 0x70f4;
+
+// Scene Object Table (2 byte address * 42) : 0x7254 to 0x72a7
+const uint16 dsAddr_sceneObjectTablePtr = 0x7254;
+
+// Scene Object Name : Sonny or whatever : 0x92e5 to 0x92f6
+const uint16 dsAddr_scnObjNameSonny = 0x92e5; // "Sonny or whatever"
+
+// Scene Object Name - Anne : 0x9820 to 0x9824
+const uint16 dsAddr_scnObjNameAnne = 0x9820; // "Anne"
+
+// Scene Object Name - Mike : 0xaa94 to 0xaa98
+const uint16 dsAddr_scnObjNameMike = 0xaa94; // "Mike"
+
+// Current Scene Id : 0xb4f3
+const uint16 dsAddr_currentScene = 0xb4f3; // 1 byte
+
+// Ons Animation Table (2 byte address * ??) : 0xb4f5 to 0x????
+const uint16 dsAddr_onsAnimationTablePtr = 0xb4f5;
+
+// Examine Object Callback Table (2 byte LE address * ??) : 0xb5ce to 0x????
+const uint16 dsAddr_objExamineCallbackTablePtr = 0xb5ce;
+
+// Use Object Callback Table (2 byte LE address * ??) : 0xb89c to 0x????
+const uint16 dsAddr_objUseCallbackTablePtr = 0xb89c;
+
+// Inventory Object Callback Table (3 byte (id, callbackAddr) * 7) : 0xbb72 to 0xbb86
+const uint16 dsAddr_objCallbackTablePtr = 0xbb72;
+// invItemToolboxFull = csAddr_openFullToolbox
+// invItemToolboxHalfEmpty = csAddr_openHalfEmptyToolbox
+// invItemDiveEquipment = csAddr_useDivingEquipment
+// invItemShovelAct2 = csAddr_digMansionWall
+// 0xff = csAddr_tooDarkHere // TODO: No object has id 0xff - Callback Disabled?
+// invItemBanknote = csAddr_examineBanknote
+// invItemTimePills = csAddr_useTimePills
+
+// Scene Hotspots Table (2 byte LE address * ??) : 0xbb87 to 0x????
+const uint16 dsAddr_sceneHotspotsPtr = 0xbb87;
+
+// Inventory Object Combining Table (5 byte (id, id, new object id, msgAddr) * 34) : 0xc335 to 0xc3de
+const uint16 dsAddr_objCombiningTablePtr = 0xc335;
+// 3 byte null terminator for Combining table 0xc3df to 0xc3e1
+
+// Object Combine Error Message : 0xc3e2 to 0xc41e
+const uint16 dsAddr_objCombineErrorMsg = 0xc3e2; // "Using these two objects ..."
+
+// Inventory (item ids held by Ego) (1 byte * 24) : 0xc48d to 0xc4a4
+const uint16 dsAddr_inventory = 0xc48d;
+// 0xc4a5 is null word alignment byte
+// Inventory item data address table (2 bytes * 92) : 0xc4a6 to 0xc55d
+const uint16 dsAddr_inventoryItemDataPtrTable = 0xc4a6;
+
+// Lans Animation Table (4 byte * ??) : 0xd89e to 0x????
+const uint16 dsAddr_lansAnimationTablePtr = 0xd89e;
+
+// Spoken With Mansion Guard Flag : 0xda96
+// FIXME - This is probably unecessary as although this location is set, it
+// doesn't now appear to be read.
+const uint16 dsAddr_spokenWithMansionGuardFlag = 0xda96; // 1 byte
+// Have Not Spoken With Mansion Guard Flag : 0xda97
+// FIXME - This is probably unecessary as although this location is set, it
+// doesn't now appear to be read.
+const uint16 dsAddr_haveNotSpokenWithMansionGuardFlag = 0xda97; // 1 byte
+
+// Dialog Stack - Pleading with Mansion Guard : 0xdaa6 to 0xdab1
+const uint16 dsAddr_dialogStackPleadingToMansionGuard = 0xdaa6;
+// Dialog Stack - Mansion Guard Drinking : 0xdab2 to 0xdab9
+// FIXME - Can't find where this is used...
+const uint16 dsAddr_dialogStackMansionGuardDrinking = 0xdab2;
+// Dialog Stack - Talking To Sonny : 0xdaba to 0xdac3
+const uint16 dsAddr_dialogStackSonny = 0xdaba;
+// Dialog Stack - Talking To Grandpa : 0xdac4 to 0xdacd
+const uint16 dsAddr_dialogStackGrandpa = 0xdac4;
+// Cave Thorns Cut Down Flag : 0xdaca
+// FIXME - Cave Thorns Flag overlap with dsAddr_dialogStackGrandpa. Bug or typo?
+const uint16 dsAddr_caveThornsCutDownFlag = 0xdaca; // 1 byte
+// Dialog Stack - Trying To Borrow Shotgun From Grandpa : 0xdace to 0xdad3
+const uint16 dsAddr_dialogStackGrandpaShotgun = 0xdace;
+// Dialog Stack - Trying To Borrow Fan From Grandpa : 0xdad4 to 0xdad9
+const uint16 dsAddr_dialogStackGrandpaFan = 0xdad4;
+// Dialog Stack - Ask Old Lady if OK : 0xdada to 0xdaef
+const uint16 dsAddr_dialogStackAskOldLadyOK = 0xdada;
+// Dialog Stack - Talking To Old Lady : 0xdaf0 to 0xdaf5
+const uint16 dsAddr_dialogStackOldLady = 0xdaf0;
+// Dialog Stack - Borrow Duster From Old Lady : 0xdaf6 to 0xdafb
+const uint16 dsAddr_dialogStackBorrowDusterFromOldLady = 0xdaf6;
+// Dialog Stack - Get Old Lady's Apple : 0xdafc to 0xdb01
+const uint16 dsAddr_dialogStackGetAppleOldLady = 0xdafc;
+// Dialog Stack - Giving Another Flower To Anne : 0xdb02 to 0xdb07
+const uint16 dsAddr_dialogStackAnotherFlowerToAnne = 0xdb02;
+// Dialog Stack - Talking To Squirrel : 0xdb08 to 0xdb13
+const uint16 dsAddr_dialogStackSquirrel = 0xdb08;
+// Dialog Stack - Talking To Dog : 0xdb14 to 0xdb1d
+const uint16 dsAddr_dialogStackDog = 0xdb14;
+// Dialog Stack - Take Axe : 0xdb1e to 0xdb23
+const uint16 dsAddr_dialogStackTakeAxe = 0xdb1e;
+// Dialog Stack - Talking To Busy Cook : 0xdb24 to 0xdb2d
+const uint16 dsAddr_dialogStackBusyCook = 0xdb24;
+// Dialog Stack - Talking To Mike the Robot Safe : 0xdb2e to 0xdb35
+const uint16 dsAddr_dialogStackRobotSafe = 0xdb2e;
+// Dialog Stack - Talking To John Noty At Endgame : 0xdb36 to 0xdb3f
+const uint16 dsAddr_dialogStackJohnNotyEndgame = 0xdb36;
+// Dialog Stack - Camp Guard Waiting For Documents : 0xdb40 to 0xdb4b
+const uint16 dsAddr_dialogStackCampGuardWantsDocuments = 0xdb40;
+// Dialog Stack - Camp Guard Reading Soldier News : 0xdb4c to 0xdb55
+const uint16 dsAddr_dialogStackCampGuardReadingNews = 0xdb4c;
+// Dialog Stack - Camp Guard Show Pass : 0xdb56 to 0xdb5b
+const uint16 dsAddr_dialogStackCampGuardShowPass = 0xdb56;
+// Dialog Stack - Jail Door Grates : 0xdb5c to 0xdb67
+const uint16 dsAddr_dialogStackJailDoorGrates = 0xdb5c;
+// Dialog Stack - Talking to Barman : 0xdb68 to 0xdb71
+const uint16 dsAddr_dialogStackBarman = 0xdb68;
+// Dialog Stack - Fall Into Mudpool : 0xdb72 to 0xdb79
+const uint16 dsAddr_dialogStackFallIntoMudpool = 0xdb72;
+// Dialog Stack - Talking To Mudpool Bird : 0xdb7a to 0xdb81
+const uint16 dsAddr_dialogStackMudpoolBird = 0xdb7a;
+// Dialog Stack - Interrogate Captain : 0xdb82 to 0xdb89
+const uint16 dsAddr_dialogStackInterrogateCaptain = 0xdb82;
+// Dialog Stack - Bar Cellar Door : 0xdb8a to 0xdb8f
+const uint16 dsAddr_dialogStackBarCellarDoor = 0xdb8a;
+// Current Music Id Playing : 0xdb90
+const uint16 dsAddr_currentMusic = 0xdb90; // 1 byte
+// Unused Byte : 0xdb91
+// Already Adjusted Hoop Pole Flag : 0xdb92
+const uint16 dsAddr_alreadyAdjustedHoopPoleFlag = 0xdb92; // 1 byte
+// Already Kicked Hen Flag : 0xdb93
+const uint16 dsAddr_alreadyKickedHenFlag = 0xdb93; // 1 byte
+// Already Pulled Trunk Release Lever Flag : 0xdb94
+const uint16 dsAddr_alreadyPulledTrunkReleaseLeverFlag = 0xdb94; // 1 byte
+// Car Trunk Empty Flag : 0xdb95
+const uint16 dsAddr_carTrunkEmptyFlag = 0xdb95; // 1 byte
+// Birds Gone From Scarecrow Flag : 0xdb96
+const uint16 dsAddr_birdsGoneFromScarecrowFlag = 0xdb96; // 1 byte
+// Already Spoken To Anne Flag : 0xdb97
+const uint16 dsAddr_alreadySpokenToAnneFlag = 0xdb97; // 1 byte
+// Flower Isle in Lake State (0 = Both Flowers Present, 1 = One Flower Taken, 2+ = Both Flowers Taken): 0xdb98
+const uint16 dsAddr_flowerIsleState = 0xdb98; // 1 byte
+// Already Got Broken Paddle Flag : 0xdb99
+const uint16 dsAddr_alreadyGotBrokenPaddleFlag = 0xdb99; // 1 byte
+// Given Flower To OldLady Already Flag : 0xdb9a
+const uint16 dsAddr_givenFlowerToOldLadyAlreadyFlag = 0xdb9a; // 1 byte
+// Given Flower To Anne Already Flag : 0xdb9b
+const uint16 dsAddr_givenFlowerToAnneAlreadyFlag = 0xdb9b; // 1 byte
+// Scared Guard Already Flag : 0xdb9c
+const uint16 dsAddr_scaredGuardAlreadyFlag = 0xdb9c; // 1 byte
+// Got Needle Already Flag : 0xdb9d
+const uint16 dsAddr_gotNeedleAlreadyFlag = 0xdb9d; // 1 byte
+// Got Potato Already Flag : 0xdb9e
+const uint16 dsAddr_gotPotatoAlreadyFlag = 0xdb9e; // 1 byte
+// Bees Gone Flag : 0xdb9f
+const uint16 dsAddr_beesGoneFlag = 0xdb9f; // 1 byte
+// Mansion Already Been Through Tunnel Flag : 0xdba0
+const uint16 dsAddr_mansionTunnelDoneFlag = 0xdba0; // 1 byte
+// Mansion Tree Hollow Empty Flag : 0xdba1
+const uint16 dsAddr_mansionTreeHollowEmptyFlag = 0xdba1; // 1 byte
+// Climbed Mansion Tree Already Flag : 0xdba2
+const uint16 dsAddr_climbedMansionTreeAlreadyFlag = 0xdba2; // 1 byte
+// Cellar Door Open Flag : 0xdba3
+const uint16 dsAddr_cellarDoorOpenFlag = 0xdba3; // 1 byte
+// Cellar Light On Flag : 0xdba4
+const uint16 dsAddr_lightOnFlag = 0xdba4; // 1 byte
+// Laundry State (0 = Wet on Line, 1 = Dry on Line, 2 = Not Present): 0xdba5
+const uint16 dsAddr_laundryState = 0xdba5; // 1 byte
+// Lake Diving Exit Message (0 to 5+) : 0xdba6
+const uint16 dsAddr_lakeDivingExitMessage = 0xdba6; // 1 byte
+// Searched Grandpa Drawers Flag : 0xdba7
+const uint16 dsAddr_SearchedGrandpaDrawersFlag = 0xdba7; // 1 byte
+// Hankerchief in Mousehole Flag : 0xdba8
+const uint16 dsAddr_HankerchiefInMouseholeFlag = 0xdba8; // 1 byte
+// Mouse Hole State : 0xdba9, 0 = Mouse Gone, 1 = Mouse Trapped, 2 = Mouse Success(?)
+const uint16 dsAddr_mouseHoleState = 0xdba9; // 1 byte
+// Mouse Nerve Message Said Flag : 0xdbaa
+const uint16 dsAddr_mouseNerveMsgSaidFlag = 0xdbaa; // 1 byte
+// Mouse Already Got Gold Nugget Flag : 0xdbab
+const uint16 dsAddr_mouseGotGoldNuggetFlag = 0xdbab; // 1 byte
+// Unused Byte : 0xdbac
+// Dog Has Bone Flag : 0xdbad
+const uint16 dsAddr_dogHasBoneFlag = 0xdbad; // 1 byte
+// Ego Already Scared By Spider Flag : 0xdbae
+const uint16 dsAddr_egoAlreadyScaredBySpiderFlag = 0xdbae; // 1 byte
+// Already Said That Anne is Beautiful Flag : 0xdbaf
+const uint16 dsAddr_alreadySaidAnneBeautifulFlag = 0xdbaf; // 1 byte
+// Squirrel's Nut State (0 = Nut in Tree, 1 = Nut in Grass, 2 = Nut Found with Rake) : 0xdbb0
+const uint16 dsAddr_squirrelNutState = 0xdbb0; // 1 byte
+// Nut Swapped For Apple in Fruit Bowl Flag : 0xdbb1
+const uint16 dsAddr_nutSwappedForAppleFlag = 0xdbb1; // 1 byte
+// Spoken To Man In Well Flag : 0xdbb2
+const uint16 dsAddr_spokenToManInWellFlag = 0xdbb2; // 1 byte
+// Spoken To Mirror Flag : 0xdbb3
+const uint16 dsAddr_spokenToMirrorFlag = 0xdbb3; // 1 byte
+// Cellar Shelves Examine Count (0 to 2(clamped))) : 0xdbb4
+const uint16 dsAddr_cellarShelfExamineCount = 0xdbb4; // 1 byte
+// Examined Bank Note Flag : 0xdbb5
+const uint16 dsAddr_examinedBanknoteFlag = 0xdbb5; // 1 byte
+// VGA Artist Quip Already Said Flag : 0xdbb6
+const uint16 dsAddr_vgaArtistQuipAlreadySaidFlag = 0xdbb6; // 1 byte
+// Mansion Desk Blue Drawer Open Flag : 0xdbb7
+const uint16 dsAddr_blueDrawerOpenFlag = 0xdbb7; // 1 byte
+// Mansion Desk Red Drawer Open Flag : 0xdbb8
+const uint16 dsAddr_redDrawerOpenFlag = 0xdbb8; // 1 byte
+// Mansion Desk Grey Drawer Open Flag : 0xdbb9
+const uint16 dsAddr_greyDrawerOpenFlag = 0xdbb9; // 1 byte
+// Mansion Desk Green Drawer Open Flag : 0xdbba
+const uint16 dsAddr_greenDrawerOpenFlag = 0xdbba; // 1 byte
+// Mansion Desk Brown Drawer Open Flag : 0xdbbb
+const uint16 dsAddr_brownDrawerOpenFlag = 0xdbbb; // 1 byte
+// Mansion Desk Pink Drawer Open Flag : 0xdbbc
+const uint16 dsAddr_pinkDrawerOpenFlag = 0xdbbc; // 1 byte
+// Mansion Colored Drawer Puzzle Hint Message Given Flag : 0xdbbd
+const uint16 dsAddr_drawerPuzzleHintGivenFlag = 0xdbbd; // 1 byte
+// Mansion Colored Drawer Got Dictaphone Flag : 0xdbbe
+const uint16 dsAddr_drawerGotDictaphoneFlag = 0xdbbe; // 1 byte
+// Mansion Colored Drawer Got Polaroid Flag : 0xdbbf
+const uint16 dsAddr_drawerGotPolaroidFlag = 0xdbbf; // 1 byte
+// Mansion Colored Drawer Puzzle Book Message Flag : 0xdbc0
+const uint16 dsAddr_drawerPuzzleBookMessageFlag = 0xdbc0; // 1 byte
+// Mansion Colored Drawer Puzzle - Random Book Color Value (0 = No Book, 1 to 6 = Books) : 0xdbc1
+const uint16 dsAddr_drawerPuzzleBookValue = 0xdbc1; // 1 byte
+// Mansion Colored Drawer Puzzle Solved Flag : 0xdbc2
+const uint16 dsAddr_drawerPuzzleSolvedFlag = 0xdbc2; // 1 byte
+// Mansion Trashcan Searched Flag : 0xdbc3
+const uint16 dsAddr_mansionTrashcanSearchedFlag = 0xdbc3; // 1 byte
+// Mansion Read Newspaper Flag : 0xdbc4
+const uint16 dsAddr_mansionReadNewspaperFlag = 0xdbc4; // 1 byte
+// Mansion TV On Flag : 0xdbc5
+const uint16 dsAddr_mansionTVOnFlag = 0xdbc5; // 1 byte
+// Mansion VCR Playing Tape Flag : 0xdbc6
+const uint16 dsAddr_mansionVCRPlayingTapeFlag = 0xdbc6; // 1 byte
+// Mansion VCR Played Tape Before Flag : 0xdbc7
+const uint16 dsAddr_mansionVCRPlayedTapeBeforeFlag = 0xdbc7; // 1 byte
+// Mansion VCR Tape Loaded Flag : 0xdbc8
+const uint16 dsAddr_mansionVCRTapeLoadedFlag = 0xdbc8; // 1 byte
+// Mansion Examined Couch Before Flag : 0xdbc9
+const uint16 dsAddr_mansionExaminedCouchBeforeFlag = 0xdbc9; // 1 byte
+// Mansion Used Polaroid on TV Flag : 0xdbca
+const uint16 dsAddr_usedPolaroidOnTVFlag = 0xdbca; // 1 byte
+// Mansion Used Dictaphone on TV Flag : 0xdbcb
+const uint16 dsAddr_usedDictaphoneOnTVFlag = 0xdbcb; // 1 byte
+// Mansion Cook Gone Flag : 0xdbcc
+const uint16 dsAddr_MansionCookGoneFlag = 0xdbcc; // 1 byte
+// Mansion Radio Broken Flag : 0xdbcd
+const uint16 dsAddr_MansionRadioBrokenFlag = 0xdbcd; // 1 byte
+// Mansion Got Radio Batteries Flag : 0xdbce
+const uint16 dsAddr_MansionGotRadioBatteriesFlag = 0xdbce; // 1 byte
+// Mansion Have Opened Fridge Before Flag : 0xdbcf
+const uint16 dsAddr_MansionHaveOpenedFridgeBeforeFlag = 0xdbcf; // 1 byte
+// Mansion Put Burning Paper In Fridge Flag : 0xdbd0
+const uint16 dsAddr_MansionPutBurningPaperInFridgeFlag = 0xdbd0; // 1 byte
+// Mansion Robot Safe Unlocked Flag : 0xdbd1
+const uint16 dsAddr_MansionRobotSafeUnlockedFlag = 0xdbd1; // 1 byte
+// Mansion Robot Safe Voice Test Passed Flag : 0xdbd2
+const uint16 dsAddr_MansionRobotSafeVoiceTestPassedFlag = 0xdbd2; // 1 byte
+// Mansion Robot Safe Scent Test Passed Flag : 0xdbd3
+const uint16 dsAddr_MansionRobotSafeScentTestPassedFlag = 0xdbd3; // 1 byte
+// Mansion Robot Safe View Test Passed Flag : 0xdbd4
+const uint16 dsAddr_MansionRobotSafeViewTestPassedFlag = 0xdbd4; // 1 byte
+// Mansion John Noty Outside Bathroom Flag : 0xdbd5
+const uint16 dsAddr_MansionJohnNotyOutsideBathroomFlag = 0xdbd5; // 1 byte
+// Mansion Sink State (0 - No Plug, Sink Empty, 1 - Plug, Sink Empty, 2 - Plug, Sink Full) : 0xdbd6
+const uint16 dsAddr_MansionSinkState = 0xdbd6; // 1 byte
+// Mansion Through Fan By Time Pill Flag : 0xdbd7
+const uint16 dsAddr_MansionThruFanByTimePillFlag = 0xdbd7; // 1 byte
+// Mansion Ventilator Fan Stopped Flag : 0xdbd8
+const uint16 dsAddr_MansionVentFanStoppedFlag = 0xdbd8; // 1 byte
+// Mansion John Noty Escaping Flag : 0xdbd9
+const uint16 dsAddr_MansionJohnNotyEscapingFlag = 0xdbd9; // 1 byte
+// Shown Pass To Guard Flag : 0xdbda
+const uint16 dsAddr_ShownPassToGuardFlag = 0xdbda; // 1 byte
+// Graffiti Message Id (0 to 6) : 0xdbdb
+const uint16 dsAddr_graffitiMsgId = 0xdbdb; // 1 byte
+// Got Food Bowl in Jail Flag : 0xdbdc
+const uint16 dsAddr_GotFoodBowlInJailFlag = 0xdbdc; // 1 byte
+// Jail Cable and Bowl State (0 = Cable not in Bowl, 1 = Cable in Bowl, 2 = Bowl Electrified 3 = Captain Shocked) : 0xdbdd
+const uint16 dsAddr_JailCableAndBowlState = 0xdbdd; // 1 byte
+// Got Jail Key Flag : 0xdbde
+const uint16 dsAddr_GotJailKeyFlag = 0xdbde; // 1 byte
+// First Act Trial State (0 = Before First Trial, 1 to 3 = Trial 1st to 3rd) : 0xdbdf
+const uint16 dsAddr_FirstActTrialState = 0xdbdf; // 1 byte
+// Already Tickled Captain Flag : 0xdbe0
+const uint16 dsAddr_AlreadyTickledCaptainFlag = 0xdbe0; // 1 byte
+// Cut Fence Flag : 0xdbe1
+const uint16 dsAddr_cutFenceFlag = 0xdbe1; // 1 byte
+// Act 1 Guard State (0 = Normal, 1 = With Kaleidoscope & Grenade, 2 = Kaleidoscope & No Grenade) : 0xdbe2
+const uint16 dsAddr_act1GuardState = 0xdbe2; // 1 byte
+// Spoken to Barman About Third Trial Flag : 0xdbe3
+const uint16 dsAddr_spokeToBarmanAboutThirdTrialFlag = 0xdbe3; // 1 byte
+// Got Mug Of Mud Flag : 0xdbe4
+const uint16 dsAddr_gotMugOfMudFlag = 0xdbe4; // 1 byte
+// Got Rope In Act 1 Flag : 0xdbe5
+const uint16 dsAddr_gotRopeAct1Flag = 0xdbe5; // 1 byte
+// Captain Drawer State : 0xdbe6
+const uint16 dsAddr_captainDrawerState = 0xdbe6; // 1 byte
+// Bird on Bar Radio Antenna Flag : 0xdbe7
+const uint16 dsAddr_birdOnBarRadioAntennaFlag = 0xdbe7; // 1 byte
+// Swapped Barman Mug Flag : 0xdbe8
+const uint16 dsAddr_swappedBarmanMugFlag = 0xdbe8; // 1 byte
+// Barman Passed Out Flag : 0xdbe9
+const uint16 dsAddr_barmanPassedOutFlag = 0xdbe9; // 1 byte
+// Counter for Mansion Intrusion Attempts : 0xdbea
+const uint16 dsAddr_mansionEntryCount = 0xdbea;// 1 byte
+// Unused Byte : 0xdbeb
+// John Noty Outside Mansion Door Flag : 0xdbec
+const uint16 dsAddr_johnNotyOutsideMansionDoorFlag = 0xdbec; // 1 byte
+// Unused Byte : 0xdbed
+// Lovestruck By Anne Flag : 0xdbee
+const uint16 dsAddr_lovestruckByAnneFlag = 0xdbee;// 1 byte
+// Mansion Handle in Door Hole Flag : 0xdbef
+const uint16 dsAddr_mansionHandleInDoorHoleFlag = 0xdbef;// 1 byte
+// Got Password Need to Speak To Barman Flag : 0xdbf0
+const uint16 dsAddr_gotPasswordNeedSpeakBarmanFlag = 0xdbf0; // 1 byte
+// Mansion Already Used Time Pills Flag : 0xdbf1
+const uint16 dsAddr_mansionAlreadyUsedTimePillsFlag = 0xdbf1; // 1 byte
+
+// Intro Credits #1 : 0xe3c2 to 0xe3e5 (Read Only)
+const uint16 dsAddr_introCredits1 = 0xe3c2; // "backgrounds ..."
+// Intro Credits #2 : 0xe3e6 to 0xe3fe (Read Only)
+const uint16 dsAddr_introCredits2 = 0xe3e6; // "music ..."
+// Intro Credits #3 : 0xe3ff to 0xe42e (Read Only)
+const uint16 dsAddr_introCredits3 = 0xe3ff; // "animation..."
+// Intro Credits #4 : 0xe42f to 0xe45b (Read Only)
+const uint16 dsAddr_introCredits4 = 0xe42f; // "programming..."
+// Credits #5 : 0xe45c to 0xe47b (Read Only)
+const uint16 dsAddr_credits5 = 0xe45c; // "after the tiring journey..."
+// Final Credits #6 : 0xe47c to 0xe487 (Read Only)
+const uint16 dsAddr_finalCredits6 = 0xe47c; // "THE END..."
+// Final Credits #7 : 0xe488 to 0xe782 (Read Only)
+const uint16 dsAddr_finalCredits7 = 0xe488; // "programming..."
+// 0xe783 to 0xe78f: 13 null bytes at end of dseg data - segment alignment padding?
+
class Resources {
-protected:
- Resources();
public:
- static Resources *instance();
+ Resources();
+ ~Resources();
bool loadArchives(const ADGameDescription *gd);
- void deinit();
+
void loadOff(Graphics::Surface &surface, byte *palette, int id);
Common::SeekableReadStream *loadLan(uint32 id) const;
Common::SeekableReadStream *loadLan000(uint32 id) const;
- //void loadOn(Graphics::Surface &surface, int id, uint16 &dst, uint16 *flags);
- //void loadOns(Graphics::Surface &surface, int id, uint16 &dst);
/*
* PSP (as the other sony playstation consoles - to be confirmed and 'ifdef'ed here too)
@@ -56,8 +1182,17 @@ public:
FilePack off, on, ons, lan000, lan500, sam_mmm, sam_sam, mmm, voices;
#endif
- Segment cseg, dseg, eseg;
+ Segment dseg;
Font font7, font8;
+
+ //const byte *getDialog(uint16 dialogNum) { return eseg.ptr(dialogOffsets[dialogNum]); }
+ uint16 getDialogAddr(uint16 dialogNum) { return dialogOffsets[dialogNum]; }
+
+ Segment eseg;
+private:
+ void precomputeDialogOffsets();
+
+ Common::Array<uint16> dialogOffsets;
};
} // End of namespace TeenAgent
diff --git a/engines/teenagent/scene.cpp b/engines/teenagent/scene.cpp
index 038c8ea05e..bdeb11a841 100644
--- a/engines/teenagent/scene.cpp
+++ b/engines/teenagent/scene.cpp
@@ -21,6 +21,7 @@
#include "common/config-manager.h"
#include "common/debug.h"
+#include "common/events.h"
#include "common/algorithm.h"
#include "common/ptr.h"
#include "common/textconsole.h"
@@ -28,24 +29,23 @@
#include "graphics/palette.h"
#include "teenagent/scene.h"
+#include "teenagent/inventory.h"
#include "teenagent/resources.h"
#include "teenagent/surface.h"
#include "teenagent/objects.h"
#include "teenagent/teenagent.h"
-#include "teenagent/dialog.h"
#include "teenagent/music.h"
namespace TeenAgent {
-Scene::Scene(TeenAgentEngine *engine, OSystem *system) : intro(false), _id(0), ons(0),
- orientation(kActorRight), actor_talking(false),
- message_timer(0), message_first_frame(0), message_last_frame(0), message_animation(NULL),
- current_event(SceneEvent::kNone), hide_actor(false), callback(0), callback_timer(0), _idle_timer(0) {
- _engine = engine;
- _system = system;
+Scene::Scene(TeenAgentEngine *vm) : _vm(vm), intro(false), _id(0), ons(0),
+ orientation(kActorRight), actorTalking(false), teenagent(vm), teenagentIdle(vm),
+ messageTimer(0), messageFirstFrame(0), messageLastFrame(0), messageAnimation(NULL),
+ currentEvent(SceneEvent::kNone), hideActor(false), callback(0), callbackTimer(0), _idleTimer(0) {
- _fade_timer = 0;
- on_enabled = true;
+ _fadeTimer = 0;
+ _fadeOld = 0;
+ onEnabled = true;
memset(palette, 0, sizeof(palette));
background.pixels = 0;
@@ -65,8 +65,8 @@ Scene::Scene(TeenAgentEngine *engine, OSystem *system) : intro(false), _id(0), o
if (!s)
error("invalid resource data");
- teenagent_idle.load(*s, Animation::kTypeVaria);
- if (teenagent_idle.empty())
+ teenagentIdle.load(*s, Animation::kTypeVaria);
+ if (teenagentIdle.empty())
error("invalid mark animation");
varia.close();
@@ -91,10 +91,10 @@ void Scene::warp(const Common::Point &_point, byte o) {
bool Scene::findPath(Scene::Path &p, const Common::Point &src, const Common::Point &dst) const {
const Common::Array<Walkbox> &scene_walkboxes = walkboxes[_id - 1];
- if (dst.x < 0 || dst.x > 319 || dst.y < 0 || dst.y > 199)
+ if (dst.x < 0 || dst.x >= kScreenWidth || dst.y < 0 || dst.y >= kScreenHeight)
return false;
- debug(1, "findPath %d,%d -> %d,%d", src.x, src.y, dst.x, dst.y);
+ debugC(1, kDebugScene, "findPath %d,%d -> %d,%d", src.x, src.y, dst.x, dst.y);
p.clear();
p.push_back(src);
p.push_back(dst);
@@ -113,7 +113,7 @@ bool Scene::findPath(Scene::Path &p, const Common::Point &src, const Common::Poi
break;
const Common::Point &p1 = *i, &p2 = *next;
- debug(1, "%d,%d -> %d,%d", p1.x, p1.y, p2.x, p2.y);
+ debugC(1, kDebugScene, "%d,%d -> %d,%d", p1.x, p1.y, p2.x, p2.y);
Common::List<uint>::iterator wi;
for (wi = boxes.begin(); wi != boxes.end(); ++wi) {
@@ -124,14 +124,14 @@ bool Scene::findPath(Scene::Path &p, const Common::Point &src, const Common::Poi
}
w.dump(1);
- debug(1, "%u: intersection mask 0x%04x, searching hints", *wi, mask);
+ debugC(1, kDebugScene, "%u: intersection mask 0x%04x, searching hints", *wi, mask);
int dx = p2.x - p1.x, dy = p2.y - p1.y;
if (dx >= 0) {
- if ((mask & 8) != 0 && w.side_hint[3] != 0) {
- debug(1, "hint left: %u", w.side_hint[3]);
+ if ((mask & 8) != 0 && w.sideHint[3] != 0) {
+ debugC(1, kDebugScene, "hint left: %u", w.sideHint[3]);
Common::Point w1, w2;
- w.rect.side(w1, w2, w.side_hint[3], p1);
- debug(1, "hint: %d,%d-%d,%d", w1.x, w1.y, w2.x, w2.y);
+ w.rect.side(w1, w2, w.sideHint[3], p1);
+ debugC(1, kDebugScene, "hint: %d,%d-%d,%d", w1.x, w1.y, w2.x, w2.y);
p.insert(next, w1);
if (mask & 2)
p.insert(next, w2);
@@ -139,11 +139,11 @@ bool Scene::findPath(Scene::Path &p, const Common::Point &src, const Common::Poi
break;
}
} else {
- if ((mask & 2) != 0 && w.side_hint[1] != 0) {
- debug(1, "hint right: %u", w.side_hint[1]);
+ if ((mask & 2) != 0 && w.sideHint[1] != 0) {
+ debugC(1, kDebugScene, "hint right: %u", w.sideHint[1]);
Common::Point w1, w2;
- w.rect.side(w1, w2, w.side_hint[1], p1);
- debug(1, "hint: %d,%d-%d,%d", w1.x, w1.y, w2.x, w2.y);
+ w.rect.side(w1, w2, w.sideHint[1], p1);
+ debugC(1, kDebugScene, "hint: %d,%d-%d,%d", w1.x, w1.y, w2.x, w2.y);
p.insert(next, w1);
if (mask & 8)
p.insert(next, w2);
@@ -153,11 +153,11 @@ bool Scene::findPath(Scene::Path &p, const Common::Point &src, const Common::Poi
}
if (dy >= 0) {
- if ((mask & 1) != 0 && w.side_hint[0] != 0) {
- debug(1, "hint top: %u", w.side_hint[0]);
+ if ((mask & 1) != 0 && w.sideHint[0] != 0) {
+ debugC(1, kDebugScene, "hint top: %u", w.sideHint[0]);
Common::Point w1, w2;
- w.rect.side(w1, w2, w.side_hint[0], p1);
- debug(1, "hint: %d,%d-%d,%d", w1.x, w1.y, w2.x, w2.y);
+ w.rect.side(w1, w2, w.sideHint[0], p1);
+ debugC(1, kDebugScene, "hint: %d,%d-%d,%d", w1.x, w1.y, w2.x, w2.y);
p.insert(next, w1);
if (mask & 4)
p.insert(next, w2);
@@ -165,11 +165,11 @@ bool Scene::findPath(Scene::Path &p, const Common::Point &src, const Common::Poi
break;
}
} else {
- if ((mask & 4) != 0 && w.side_hint[2] != 0) {
- debug(1, "hint bottom: %u", w.side_hint[2]);
+ if ((mask & 4) != 0 && w.sideHint[2] != 0) {
+ debugC(1, kDebugScene, "hint bottom: %u", w.sideHint[2]);
Common::Point w1, w2;
- w.rect.side(w1, w2, w.side_hint[2], p1);
- debug(1, "hint: %d,%d-%d,%d", w1.x, w1.y, w2.x, w2.y);
+ w.rect.side(w1, w2, w.sideHint[2], p1);
+ debugC(1, kDebugScene, "hint: %d,%d-%d,%d", w1.x, w1.y, w2.x, w2.y);
p.insert(next, w1);
if (mask & 1)
p.insert(next, w2);
@@ -187,13 +187,13 @@ bool Scene::findPath(Scene::Path &p, const Common::Point &src, const Common::Poi
void Scene::moveTo(const Common::Point &_point, byte orient, bool validate) {
Common::Point point(_point);
- debug(0, "moveTo(%d, %d, %u)", point.x, point.y, orient);
+ debugC(0, kDebugScene, "moveTo(%d, %d, %u)", point.x, point.y, orient);
const Common::Array<Walkbox> &scene_walkboxes = walkboxes[_id - 1];
for (byte i = 0; i < scene_walkboxes.size(); ++i) {
const Walkbox &w = scene_walkboxes[i];
if (w.rect.in(point)) {
- debug(0, "bumped into walkbox %u", i);
+ debugC(0, kDebugScene, "bumped into walkbox %u", i);
w.dump();
byte o = w.orientation;
switch (o) {
@@ -229,7 +229,7 @@ void Scene::moveTo(const Common::Point &_point, byte orient, bool validate) {
}
if (!findPath(path, position, point)) {
- _engine->cancel();
+ _vm->cancel();
return;
}
@@ -237,55 +237,53 @@ void Scene::moveTo(const Common::Point &_point, byte orient, bool validate) {
}
void Scene::loadObjectData() {
- Resources *res = Resources::instance();
-
//loading objects & walkboxes
objects.resize(42);
walkboxes.resize(42);
fades.resize(42);
for (byte i = 0; i < 42; ++i) {
- Common::Array<Object> &scene_objects = objects[i];
- scene_objects.clear();
+ Common::Array<Object> &sceneObjects = objects[i];
+ sceneObjects.clear();
- uint16 scene_table = res->dseg.get_word(0x7254 + i * 2);
- uint16 object_addr;
- while ((object_addr = res->dseg.get_word(scene_table)) != 0) {
+ uint16 sceneTable = _vm->res->dseg.get_word(dsAddr_sceneObjectTablePtr + (i * 2));
+ uint16 objectAddr;
+ while ((objectAddr = _vm->res->dseg.get_word(sceneTable)) != 0) {
Object obj;
- obj.load(res->dseg.ptr(object_addr));
+ obj.load(_vm->res->dseg.ptr(objectAddr));
//obj.dump();
- scene_objects.push_back(obj);
- scene_table += 2;
+ sceneObjects.push_back(obj);
+ sceneTable += 2;
}
- debug(0, "scene[%u] has %u object(s)", i + 1, scene_objects.size());
+ debugC(0, kDebugScene, "scene[%u] has %u object(s)", i + 1, sceneObjects.size());
- byte *walkboxes_base = res->dseg.ptr(READ_LE_UINT16(res->dseg.ptr(0x6746 + i * 2)));
- byte walkboxes_n = *walkboxes_base++;
- debug(0, "scene[%u] has %u walkboxes", i + 1, walkboxes_n);
+ byte *walkboxesBase = _vm->res->dseg.ptr(READ_LE_UINT16(_vm->res->dseg.ptr(dsAddr_sceneWalkboxTablePtr + i * 2)));
+ byte walkboxesCount = *walkboxesBase++;
+ debugC(0, kDebugScene, "scene[%u] has %u walkboxes", i + 1, walkboxesCount);
- Common::Array<Walkbox> &scene_walkboxes = walkboxes[i];
- for (byte j = 0; j < walkboxes_n; ++j) {
+ Common::Array<Walkbox> &sceneWalkboxes = walkboxes[i];
+ for (byte j = 0; j < walkboxesCount; ++j) {
Walkbox w;
- w.load(walkboxes_base + 14 * j);
- if ((w.side_hint[0] | w.side_hint[1] | w.side_hint[2] | w.side_hint[3]) == 0) {
- w.side_hint[0] = 2;
- w.side_hint[1] = 3;
- w.side_hint[2] = 4;
- w.side_hint[3] = 1;
+ w.load(walkboxesBase + 14 * j);
+ if ((w.sideHint[0] | w.sideHint[1] | w.sideHint[2] | w.sideHint[3]) == 0) {
+ w.sideHint[0] = 2;
+ w.sideHint[1] = 3;
+ w.sideHint[2] = 4;
+ w.sideHint[3] = 1;
}
//walkbox[i]->dump();
- scene_walkboxes.push_back(w);
+ sceneWalkboxes.push_back(w);
}
- byte *fade_table = res->dseg.ptr(res->dseg.get_word(0x663e + i * 2));
- Common::Array<FadeType> &scene_fades = fades[i];
- while (READ_LE_UINT16(fade_table) != 0xffff) {
+ byte *fadeTable = _vm->res->dseg.ptr(_vm->res->dseg.get_word(dsAddr_sceneFadeTablePtr + i * 2));
+ Common::Array<FadeType> &sceneFades = fades[i];
+ while (READ_LE_UINT16(fadeTable) != 0xffff) {
FadeType fade;
- fade.load(fade_table);
- fade_table += 9;
- scene_fades.push_back(fade);
+ fade.load(fadeTable);
+ fadeTable += 9;
+ sceneFades.push_back(fade);
}
- debug(0, "scene[%u] has %u fadeboxes", i + 1, scene_fades.size());
+ debugC(0, kDebugScene, "scene[%u] has %u fadeboxes", i + 1, sceneFades.size());
}
}
@@ -293,10 +291,10 @@ Object *Scene::findObject(const Common::Point &point) {
if (_id == 0)
return NULL;
- Common::Array<Object> &scene_objects = objects[_id - 1];
+ Common::Array<Object> &sceneObjects = objects[_id - 1];
- for (uint i = 0; i < scene_objects.size(); ++i) {
- Object &obj = scene_objects[i];
+ for (uint i = 0; i < sceneObjects.size(); ++i) {
+ Object &obj = sceneObjects[i];
if (obj.enabled != 0 && obj.rect.in(point))
return &obj;
}
@@ -304,41 +302,38 @@ Object *Scene::findObject(const Common::Point &point) {
}
byte *Scene::getOns(int id) {
- Resources *res = Resources::instance();
- return res->dseg.ptr(res->dseg.get_word(0xb4f5 + (id - 1) * 2));
+ return _vm->res->dseg.ptr(_vm->res->dseg.get_word(dsAddr_onsAnimationTablePtr + (id - 1) * 2));
}
byte *Scene::getLans(int id) {
- Resources *res = Resources::instance();
- return res->dseg.ptr(0xd89e + (id - 1) * 4);
+ return _vm->res->dseg.ptr(dsAddr_lansAnimationTablePtr + (id - 1) * 4);
}
void Scene::loadOns() {
- debug(0, "loading ons animation");
- Resources *res = Resources::instance();
+ debugC(0, kDebugScene, "loading ons animation");
- uint16 addr = res->dseg.get_word(0xb4f5 + (_id - 1) * 2);
- //debug(0, "ons index: %04x", addr);
+ uint16 addr = _vm->res->dseg.get_word(dsAddr_onsAnimationTablePtr + (_id - 1) * 2);
+ debugC(0, kDebugScene, "ons index: %04x", addr);
- ons_count = 0;
+ onsCount = 0;
byte b;
- byte on_id[16];
- while ((b = res->dseg.get_byte(addr)) != 0xff) {
- debug(0, "on: %04x = %02x", addr, b);
+ byte onId[16];
+ while ((b = _vm->res->dseg.get_byte(addr)) != 0xff) {
+ debugC(0, kDebugScene, "on: %04x = %02x", addr, b);
++addr;
if (b == 0)
continue;
- on_id[ons_count++] = b;
+ onId[onsCount++] = b;
}
delete[] ons;
ons = NULL;
- if (ons_count > 0) {
- ons = new Surface[ons_count];
- for (uint32 i = 0; i < ons_count; ++i) {
- Common::ScopedPtr<Common::SeekableReadStream> s(res->ons.getStream(on_id[i]));
+ if (onsCount > 0) {
+ ons = new Surface[onsCount];
+ for (uint32 i = 0; i < onsCount; ++i) {
+ Common::ScopedPtr<Common::SeekableReadStream> s(_vm->res->ons.getStream(onId[i]));
if (s) {
ons[i].load(*s, Surface::kTypeOns);
}
@@ -347,21 +342,20 @@ void Scene::loadOns() {
}
void Scene::loadLans() {
- debug(0, "loading lans animation");
- Resources *res = Resources::instance();
- //load lan000
+ debugC(0, kDebugScene, "loading lans animation");
+ // load lan000
for (byte i = 0; i < 4; ++i) {
animation[i].free();
- uint16 bx = 0xd89e + (_id - 1) * 4 + i;
- byte bxv = res->dseg.get_byte(bx);
- uint16 res_id = 4 * (_id - 1) + i + 1;
- debug(0, "lan[%u]@%04x = %02x, resource id: %u", i, bx, bxv, res_id);
+ uint16 bx = dsAddr_lansAnimationTablePtr + (_id - 1) * 4 + i;
+ byte bxv = _vm->res->dseg.get_byte(bx);
+ uint16 resId = 4 * (_id - 1) + i + 1;
+ debugC(0, kDebugScene, "lan[%u]@%04x = %02x, resource id: %u", i, bx, bxv, resId);
if (bxv == 0)
continue;
- Common::ScopedPtr<Common::SeekableReadStream> s(res->loadLan000(res_id));
+ Common::ScopedPtr<Common::SeekableReadStream> s(_vm->res->loadLan000(resId));
if (s) {
animation[i].load(*s, Animation::kTypeLan);
if (bxv != 0 && bxv != 0xff)
@@ -371,24 +365,23 @@ void Scene::loadLans() {
}
void Scene::init(int id, const Common::Point &pos) {
- debug(0, "init(%d)", id);
+ debugC(0, kDebugScene, "init(%d)", id);
_id = id;
- on_enabled = true; //reset on-rendering flag on loading.
+ onEnabled = true; //reset on-rendering flag on loading.
sounds.clear();
for (byte i = 0; i < 4; ++i)
- custom_animation[i].free();
+ customAnimation[i].free();
if (background.pixels == NULL)
- background.create(320, 200, Graphics::PixelFormat::createFormatCLUT8());
+ background.create(kScreenWidth, kScreenHeight, Graphics::PixelFormat::createFormatCLUT8());
warp(pos);
- Resources *res = Resources::instance();
- res->loadOff(background, palette, id);
+ _vm->res->loadOff(background, palette, id);
if (id == 24) {
- //dark scene
- if (res->dseg.get_byte(0xDBA4) != 1) {
- //dim down palette
+ // dark scene
+ if (_vm->res->dseg.get_byte(dsAddr_lightOnFlag) != 1) {
+ // dim down palette
uint i;
for (i = 0; i < 624; ++i) {
palette[i] = palette[i] > 0x20 ? palette[i] - 0x20 : 0;
@@ -399,62 +392,62 @@ void Scene::init(int id, const Common::Point &pos) {
}
}
- Common::ScopedPtr<Common::SeekableReadStream> stream(res->on.getStream(id));
- int sub_hack = 0;
- if (id == 7) { //something patched in the captains room
- switch (res->dseg.get_byte(0xdbe6)) {
+ Common::ScopedPtr<Common::SeekableReadStream> stream(_vm->res->on.getStream(id));
+ int subHack = 0;
+ if (id == 7) { // something patched in the captains room
+ switch (_vm->res->dseg.get_byte(dsAddr_captainDrawerState)) {
case 2:
break;
case 1:
- sub_hack = 1;
+ subHack = 1;
break;
default:
- sub_hack = 2;
+ subHack = 2;
}
}
- on.load(*stream, SurfaceList::kTypeOn, sub_hack);
+ on.load(*stream, subHack);
loadOns();
loadLans();
- //check music
- int now_playing = _engine->music->getId();
+ // check music
+ int nowPlaying = _vm->music->getId();
- if (now_playing != res->dseg.get_byte(0xDB90))
- _engine->music->load(res->dseg.get_byte(0xDB90));
+ if (nowPlaying != _vm->res->dseg.get_byte(dsAddr_currentMusic))
+ _vm->music->load(_vm->res->dseg.get_byte(dsAddr_currentMusic));
- _system->copyRectToScreen(background.pixels, background.pitch, 0, 0, background.w, background.h);
+ _vm->_system->copyRectToScreen(background.pixels, background.pitch, 0, 0, background.w, background.h);
setPalette(0);
}
void Scene::playAnimation(byte idx, uint id, bool loop, bool paused, bool ignore) {
- debug(0, "playAnimation(%u, %u, loop:%s, paused:%s, ignore:%s)", idx, id, loop ? "true" : "false", paused ? "true" : "false", ignore ? "true" : "false");
+ debugC(0, kDebugScene, "playAnimation(%u, %u, loop:%s, paused:%s, ignore:%s)", idx, id, loop ? "true" : "false", paused ? "true" : "false", ignore ? "true" : "false");
assert(idx < 4);
- Common::ScopedPtr<Common::SeekableReadStream> s(Resources::instance()->loadLan(id + 1));
+ Common::ScopedPtr<Common::SeekableReadStream> s(_vm->res->loadLan(id + 1));
if (!s)
error("playing animation %u failed", id);
- custom_animation[idx].load(*s);
- custom_animation[idx].loop = loop;
- custom_animation[idx].paused = paused;
- custom_animation[idx].ignore = ignore;
+ customAnimation[idx].load(*s);
+ customAnimation[idx].loop = loop;
+ customAnimation[idx].paused = paused;
+ customAnimation[idx].ignore = ignore;
}
void Scene::playActorAnimation(uint id, bool loop, bool ignore) {
- debug(0, "playActorAnimation(%u, loop:%s, ignore:%s)", id, loop ? "true" : "false", ignore ? "true" : "false");
- Common::ScopedPtr<Common::SeekableReadStream> s(Resources::instance()->loadLan(id + 1));
+ debugC(0, kDebugScene, "playActorAnimation(%u, loop:%s, ignore:%s)", id, loop ? "true" : "false", ignore ? "true" : "false");
+ Common::ScopedPtr<Common::SeekableReadStream> s(_vm->res->loadLan(id + 1));
if (!s)
error("playing animation %u failed", id);
- actor_animation.load(*s);
- actor_animation.loop = loop;
- actor_animation.ignore = ignore;
- actor_animation.id = id;
+ actorAnimation.load(*s);
+ actorAnimation.loop = loop;
+ actorAnimation.ignore = ignore;
+ actorAnimation.id = id;
}
Animation *Scene::getAnimation(byte slot) {
assert(slot < 4);
- return custom_animation + slot;
+ return customAnimation + slot;
}
byte Scene::peekFlagEvent(uint16 addr) const {
@@ -463,17 +456,17 @@ byte Scene::peekFlagEvent(uint16 addr) const {
if (e.type == SceneEvent::kSetFlag && e.callback == addr)
return e.color;
}
- return Resources::instance()->dseg.get_byte(addr);
+ return _vm->res->dseg.get_byte(addr);
}
void Scene::push(const SceneEvent &event) {
- //debug(0, "push");
+ debugC(0, kDebugScene, "push");
//event.dump();
if (event.type == SceneEvent::kWalk && !events.empty()) {
SceneEvent &prev = events.back();
if (prev.type == SceneEvent::kWalk && prev.color == event.color) {
- debug(0, "fixing double-move [skipping event!]");
- if ((event.color & 2) != 0) { //relative move
+ debugC(0, kDebugScene, "fixing double-move [skipping event!]");
+ if ((event.color & 2) != 0) { // relative move
prev.dst.x += event.dst.x;
prev.dst.y += event.dst.y;
} else {
@@ -489,7 +482,7 @@ bool Scene::processEvent(const Common::Event &event) {
switch (event.type) {
case Common::EVENT_LBUTTONDOWN:
case Common::EVENT_RBUTTONDOWN:
- if (!message.empty() && message_first_frame == 0) {
+ if (!message.empty() && messageFirstFrame == 0) {
clearMessage();
nextEvent();
return true;
@@ -505,16 +498,16 @@ bool Scene::processEvent(const Common::Event &event) {
clearMessage();
events.clear();
sounds.clear();
- current_event.clear();
- message_color = 0xd1;
+ currentEvent.clear();
+ messageColor = textColorMark;
for (int i = 0; i < 4; ++i)
- custom_animation[i].free();
- _engine->playMusic(4);
- _engine->loadScene(10, Common::Point(136, 153));
+ customAnimation[i].free();
+ _vm->playMusic(4);
+ _vm->loadScene(10, Common::Point(136, 153));
return true;
}
- if (!message.empty() && message_first_frame == 0) {
+ if (!message.empty() && messageFirstFrame == 0) {
clearMessage();
nextEvent();
return true;
@@ -534,8 +527,8 @@ bool Scene::processEvent(const Common::Event &event) {
if (event.kbd.flags & Common::KBD_CTRL) {
uint feature = event.kbd.keycode - '1';
if (feature < DebugFeatures::kMax) {
- debug_features.feature[feature] = !debug_features.feature[feature];
- debug(0, "switched feature %u %s", feature, debug_features.feature[feature] ? "on" : "off");
+ debugFeatures.feature[feature] = !debugFeatures.feature[feature];
+ debugC(0, kDebugScene, "switched feature %u %s", feature, debugFeatures.feature[feature] ? "on" : "off");
}
}
break;
@@ -556,25 +549,22 @@ struct ZOrderCmp {
};
int Scene::lookupZoom(uint y) const {
- Resources *res = Resources::instance();
- for (byte *zoom_table = res->dseg.ptr(res->dseg.get_word(0x70f4 + (_id - 1) * 2));
- zoom_table[0] != 0xff && zoom_table[1] != 0xff;
- zoom_table += 2) {
- //debug(0, "%d %d->%d", y, zoom_table[0], zoom_table[1]);
- if (y <= zoom_table[0]) {
- //debug(0, "%d %d->%d", y, zoom_table[0], zoom_table[1]);
- return 256u * (100 - zoom_table[1]) / 100;
+ debugC(2, kDebugScene, "lookupZoom(%d)", y);
+ for (byte *zoomTable = _vm->res->dseg.ptr(_vm->res->dseg.get_word(dsAddr_sceneZoomTablePtr + (_id - 1) * 2));
+ zoomTable[0] != 0xff && zoomTable[1] != 0xff;
+ zoomTable += 2) {
+ debugC(2, kDebugScene, "\t%d %d->%d", y, zoomTable[0], zoomTable[1]);
+ if (y <= zoomTable[0]) {
+ return 256u * (100 - zoomTable[1]) / 100;
}
}
return 256;
}
-
void Scene::paletteEffect(byte step) {
- Resources *res = Resources::instance();
- byte *src = res->dseg.ptr(0x6609);
- byte *dst = palette + 3 * 0xf2;
- for (byte i = 0; i < 0xd; ++i) {
+ byte *src = _vm->res->dseg.ptr(dsAddr_paletteEffectData);
+ byte *dst = palette + (3 * 242);
+ for (byte i = 0; i < 13; ++i) {
for (byte c = 0; c < 3; ++c, ++src)
*dst++ = *src > step ? *src - step : 0;
}
@@ -584,9 +574,9 @@ byte Scene::findFade() const {
if (_id <= 0)
return 0;
- const Common::Array<FadeType> &scene_fades = fades[_id - 1];
- for (uint i = 0; i < scene_fades.size(); ++i) {
- const FadeType &fade = scene_fades[i];
+ const Common::Array<FadeType> &sceneFades = fades[_id - 1];
+ for (uint i = 0; i < sceneFades.size(); ++i) {
+ const FadeType &fade = sceneFades[i];
if (fade.rect.in(position)) {
return fade.value;
}
@@ -594,110 +584,109 @@ byte Scene::findFade() const {
return 0;
}
-bool Scene::render(bool tick_game, bool tick_mark, uint32 delta) {
- Resources *res = Resources::instance();
+bool Scene::render(bool tickGame, bool tickMark, uint32 messageDelta) {
bool busy;
bool restart;
- uint32 game_delta = tick_game ? 1 : 0;
- uint32 mark_delta = tick_mark ? 1 : 0;
+ uint32 gameDelta = tickGame ? 1 : 0;
+ uint32 markDelta = tickMark ? 1 : 0;
do {
restart = false;
busy = processEventQueue();
- if (_fade_timer && game_delta != 0) {
- if (_fade_timer > 0) {
- _fade_timer -= game_delta;
- setPalette(_fade_timer);
+ if (_fadeTimer && gameDelta != 0) {
+ if (_fadeTimer > 0) {
+ _fadeTimer -= gameDelta;
+ setPalette(_fadeTimer);
} else {
- _fade_timer += game_delta;
- setPalette(_fade_timer + 4);
+ _fadeTimer += gameDelta;
+ setPalette(_fadeTimer + 4);
}
}
- switch (current_event.type) {
+ switch (currentEvent.type) {
case SceneEvent::kCredits: {
- _system->fillScreen(0);
- ///\todo: optimize me
- Graphics::Surface *surface = _system->lockScreen();
- res->font7.render(surface, current_event.dst.x, current_event.dst.y -= game_delta, current_event.message, current_event.color);
- _system->unlockScreen();
-
- if (current_event.dst.y < -(int)current_event.timer)
- current_event.clear();
+ _vm->_system->fillScreen(0);
+ // TODO: optimize me
+ Graphics::Surface *surface = _vm->_system->lockScreen();
+ _vm->res->font7.render(surface, currentEvent.dst.x, currentEvent.dst.y -= gameDelta, currentEvent.message, currentEvent.color);
+ _vm->_system->unlockScreen();
+
+ if (currentEvent.dst.y < -(int)currentEvent.timer)
+ currentEvent.clear();
}
return true;
default:
;
}
- if (!message.empty() && message_timer != 0) {
- if (message_timer <= delta) {
+ if (!message.empty() && messageTimer != 0) {
+ if (messageTimer <= messageDelta) {
clearMessage();
nextEvent();
continue;
} else
- message_timer -= delta;
+ messageTimer -= messageDelta;
}
- if (current_event.type == SceneEvent::kCreditsMessage) {
- _system->fillScreen(0);
- Graphics::Surface *surface = _system->lockScreen();
- if (current_event.lan == 8) {
- res->font8.shadow_color = current_event.orientation;
- res->font8.render(surface, current_event.dst.x, current_event.dst.y, message, current_event.color);
+ if (currentEvent.type == SceneEvent::kCreditsMessage) {
+ _vm->_system->fillScreen(0);
+ Graphics::Surface *surface = _vm->_system->lockScreen();
+ if (currentEvent.lan == 8) {
+ _vm->res->font8.setShadowColor(currentEvent.orientation);
+ _vm->res->font8.render(surface, currentEvent.dst.x, currentEvent.dst.y, message, currentEvent.color);
} else {
- res->font7.render(surface, current_event.dst.x, current_event.dst.y, message, 0xd1);
+ _vm->res->font7.render(surface, currentEvent.dst.x, currentEvent.dst.y, message, textColorCredits);
}
- _system->unlockScreen();
+ _vm->_system->unlockScreen();
return true;
}
- if (background.pixels && debug_features.feature[DebugFeatures::kShowBack]) {
- _system->copyRectToScreen(background.pixels, background.pitch, 0, 0, background.w, background.h);
+ if (background.pixels && debugFeatures.feature[DebugFeatures::kShowBack]) {
+ _vm->_system->copyRectToScreen(background.pixels, background.pitch, 0, 0, background.w, background.h);
} else
- _system->fillScreen(0);
+ _vm->_system->fillScreen(0);
- Graphics::Surface *surface = _system->lockScreen();
+ Graphics::Surface *surface = _vm->_system->lockScreen();
- bool got_any_animation = false;
+ bool gotAnyAnimation = false;
- if (ons != NULL && debug_features.feature[DebugFeatures::kShowOns]) {
- for (uint32 i = 0; i < ons_count; ++i) {
+ if (ons != NULL && debugFeatures.feature[DebugFeatures::kShowOns]) {
+ for (uint32 i = 0; i < onsCount; ++i) {
Surface *s = ons + i;
if (s != NULL)
s->render(surface);
}
}
- Common::List<Surface *> z_order;
+ Common::List<Surface *> zOrder;
for (byte i = 0; i < 4; ++i) {
- Animation *a = custom_animation + i;
- Surface *s = a->currentFrame(game_delta);
+ Animation *a = customAnimation + i;
+ Surface *s = a->currentFrame(gameDelta);
if (s != NULL) {
if (!a->ignore)
busy = true;
if (!a->paused && !a->loop)
- got_any_animation = true;
+ gotAnyAnimation = true;
} else {
a = animation + i;
- if (!custom_animation[i].empty()) {
- debug(0, "custom animation ended, restart animation in the same slot.");
- custom_animation[i].free();
+ if (!customAnimation[i].empty()) {
+ debugC(0, kDebugScene, "custom animation ended, restart animation in the same slot.");
+ customAnimation[i].free();
a->restart();
}
- s = a->currentFrame(game_delta);
+ s = a->currentFrame(gameDelta);
}
- if (current_event.type == SceneEvent::kWaitLanAnimationFrame && current_event.slot == i) {
+ if (currentEvent.type == SceneEvent::kWaitLanAnimationFrame && currentEvent.slot == i) {
if (s == NULL) {
restart |= nextEvent();
continue;
}
int index = a->currentIndex();
- if (index == current_event.animation) {
- debug(0, "kWaitLanAnimationFrame(%d, %d) complete", current_event.slot, current_event.animation);
+ if (index == currentEvent.animation) {
+ debugC(0, kDebugScene, "kWaitLanAnimationFrame(%d, %d) complete", currentEvent.slot, currentEvent.animation);
restart |= nextEvent();
}
}
@@ -705,8 +694,8 @@ bool Scene::render(bool tick_game, bool tick_mark, uint32 delta) {
if (s == NULL)
continue;
- if (debug_features.feature[DebugFeatures::kShowLan])
- z_order.push_back(s);
+ if (debugFeatures.feature[DebugFeatures::kShowLan])
+ zOrder.push_back(s);
if (a->id == 0)
continue;
@@ -722,38 +711,36 @@ bool Scene::render(bool tick_game, bool tick_mark, uint32 delta) {
}
}
- Common::sort(z_order.begin(), z_order.end(), ZOrderCmp());
- Common::List<Surface *>::iterator z_order_it;
+ Common::sort(zOrder.begin(), zOrder.end(), ZOrderCmp());
+ Common::List<Surface *>::iterator zOrderIter;
- Surface *mark = actor_animation.currentFrame(game_delta);
+ Surface *mark = actorAnimation.currentFrame(gameDelta);
int horizon = position.y;
- for (z_order_it = z_order.begin(); z_order_it != z_order.end(); ++z_order_it) {
- Surface *s = *z_order_it;
+ for (zOrderIter = zOrder.begin(); zOrderIter != zOrder.end(); ++zOrderIter) {
+ Surface *s = *zOrderIter;
if (s->y + s->h > horizon)
break;
s->render(surface);
}
if (mark != NULL) {
- actor_animation_position = mark->render(surface);
- if (!actor_animation.ignore)
+ actorAnimationPosition = mark->render(surface);
+ if (!actorAnimation.ignore)
busy = true;
else
busy = false;
- got_any_animation = true;
- } else if (!hide_actor) {
- actor_animation.free();
+ gotAnyAnimation = true;
+ } else if (!hideActor) {
+ actorAnimation.free();
uint zoom = lookupZoom(position.y);
- {
- byte fade = findFade();
- static byte old_fade = 0;
- if (fade != old_fade) {
- old_fade = fade;
- paletteEffect(fade);
- if (_fade_timer == 0)
- setPalette(4);
- }
+
+ byte fade = findFade();
+ if (fade != _fadeOld) {
+ _fadeOld = fade;
+ paletteEffect(fade);
+ if (_fadeTimer == 0)
+ setPalette(4);
}
if (!path.empty()) {
@@ -767,31 +754,31 @@ bool Scene::render(bool tick_game, bool tick_mark, uint32 delta) {
o = dp.y > 0 ? kActorDown : kActorUp;
}
- if (tick_mark) {
- int speed_x = zoom / 32; //8 * zoom / 256
- int speed_y = (o == kActorDown || o == kActorUp ? 2 : 1) * zoom / 256;
- if (speed_x == 0)
- speed_x = 1;
- if (speed_y == 0)
- speed_y = 1;
+ if (tickMark) {
+ int speedX = zoom / 32; // 8 * zoom / 256
+ int speedY = (o == kActorDown || o == kActorUp ? 2 : 1) * zoom / 256;
+ if (speedX == 0)
+ speedX = 1;
+ if (speedY == 0)
+ speedY = 1;
- position.y += (ABS(dp.y) < speed_y ? dp.y : SIGN(dp.y) * speed_y);
+ position.y += (ABS(dp.y) < speedY ? dp.y : SIGN(dp.y) * speedY);
position.x += (o == kActorDown || o == kActorUp) ?
- (ABS(dp.x) < speed_y ? dp.x : SIGN(dp.x) * speed_y) :
- (ABS(dp.x) < speed_x ? dp.x : SIGN(dp.x) * speed_x);
+ (ABS(dp.x) < speedY ? dp.x : SIGN(dp.x) * speedY) :
+ (ABS(dp.x) < speedX ? dp.x : SIGN(dp.x) * speedX);
}
- _idle_timer = 0;
- teenagent_idle.resetIndex();
- actor_animation_position = teenagent.render(surface, position, o, mark_delta, false, zoom);
+ _idleTimer = 0;
+ teenagentIdle.resetIndex();
+ actorAnimationPosition = teenagent.render(surface, position, o, markDelta, false, zoom);
- if (tick_mark && position == destination) {
+ if (tickMark && position == destination) {
path.pop_front();
if (path.empty()) {
if (orientation == 0)
- orientation = o; //save last orientation
+ orientation = o; // save last orientation
nextEvent();
- got_any_animation = true;
+ gotAnyAnimation = true;
restart = true;
}
busy = true;
@@ -799,65 +786,63 @@ bool Scene::render(bool tick_game, bool tick_mark, uint32 delta) {
busy = true;
} else {
teenagent.resetIndex();
- _idle_timer += mark_delta;
- if (_idle_timer < 50)
- actor_animation_position = teenagent.render(surface, position, orientation, 0, actor_talking, zoom);
+ _idleTimer += markDelta;
+ if (_idleTimer < 50)
+ actorAnimationPosition = teenagent.render(surface, position, orientation, 0, actorTalking, zoom);
else
- actor_animation_position = teenagent_idle.renderIdle(surface, position, orientation, mark_delta, zoom, _engine->_rnd);
+ actorAnimationPosition = teenagentIdle.renderIdle(surface, position, orientation, markDelta, zoom, _vm->_rnd);
}
}
if (restart) {
- _system->unlockScreen();
+ _vm->_system->unlockScreen();
continue;
}
- //removed mark == null. In final scene of chapter 2 mark rendered above table.
- //if it'd cause any bugs, add hack here. (_id != 23 && mark == NULL)
- if (on_enabled &&
- debug_features.feature[DebugFeatures::kShowOn]) {
- on.render(surface, actor_animation_position);
- }
+ // removed mark == null. In final scene of chapter 2 mark rendered above table.
+ // if it'd cause any bugs, add hack here. (_id != 23 && mark == NULL)
+ if (onEnabled && debugFeatures.feature[DebugFeatures::kShowOn])
+ on.render(surface, actorAnimationPosition);
- for (; z_order_it != z_order.end(); ++z_order_it) {
- Surface *s = *z_order_it;
+ for (; zOrderIter != zOrder.end(); ++zOrderIter) {
+ Surface *s = *zOrderIter;
s->render(surface);
}
if (!message.empty()) {
bool visible = true;
- if (message_first_frame != 0 && message_animation != NULL) {
- int index = message_animation->currentIndex() + 1;
- //debug(0, "message: %s first: %u index: %u", message.c_str(), message_first_frame, index);
- if (index < message_first_frame)
+ if (messageFirstFrame != 0 && messageAnimation != NULL) {
+ int index = messageAnimation->currentIndex() + 1;
+ debugC(0, kDebugScene, "message: %s first: %u index: %u", message.c_str(), messageFirstFrame, index);
+ if (index < messageFirstFrame)
visible = false;
- if (index > message_last_frame) {
+ if (index > messageLastFrame) {
clearMessage();
visible = false;
}
}
if (visible) {
- res->font7.render(surface, message_pos.x, message_pos.y, message, message_color);
+ _vm->res->font7.render(surface, messagePos.x, messagePos.y, message, messageColor);
busy = true;
}
}
- if (!busy && !restart && tick_game && callback_timer) {
- if (--callback_timer == 0) {
- if (_engine->inventory->active())
- _engine->inventory->activate(false);
- _engine->processCallback(callback);
+ if (!busy && !restart && tickGame && callbackTimer) {
+ if (--callbackTimer == 0) {
+ if (_vm->inventory->active())
+ _vm->inventory->activate(false);
+ _vm->processCallback(callback);
}
- //debug(0, "callback timer = %u", callback_timer);
+ debugC(0, kDebugScene, "callback timer = %u", callbackTimer);
}
//if (!current_event.empty())
// current_event.dump();
- if (!debug_features.feature[DebugFeatures::kHidePath]) {
- const Common::Array<Walkbox> & scene_walkboxes = walkboxes[_id - 1];
- for (uint i = 0; i < scene_walkboxes.size(); ++i) {
- scene_walkboxes[i].rect.render(surface, 0xd0 + i);
+ if (!debugFeatures.feature[DebugFeatures::kHidePath]) {
+ const Common::Array<Walkbox> & sceneWalkboxes = walkboxes[_id - 1];
+ for (uint i = 0; i < sceneWalkboxes.size(); ++i) {
+ sceneWalkboxes[i].rect.render(surface, 0xd0 + i);
}
Common::Point last_p = position;
@@ -872,39 +857,39 @@ bool Scene::render(bool tick_game, bool tick_mark, uint32 delta) {
}
}
- _system->unlockScreen();
+ _vm->_system->unlockScreen();
- if (current_event.type == SceneEvent::kWait) {
- if (current_event.timer > delta) {
+ if (currentEvent.type == SceneEvent::kWait) {
+ if (currentEvent.timer > messageDelta) {
busy = true;
- current_event.timer -= delta;
+ currentEvent.timer -= messageDelta;
}
- if (current_event.timer <= delta)
+ if (currentEvent.timer <= messageDelta)
restart |= nextEvent();
}
- if (!restart && current_event.type == SceneEvent::kWaitForAnimation && !got_any_animation) {
- debug(0, "no animations, nextevent");
+ if (!restart && currentEvent.type == SceneEvent::kWaitForAnimation && !gotAnyAnimation) {
+ debugC(0, kDebugScene, "no animations, nextevent");
nextEvent();
restart = true;
}
if (busy) {
- _idle_timer = 0;
- teenagent_idle.resetIndex();
+ _idleTimer = 0;
+ teenagentIdle.resetIndex();
}
} while (restart);
for (Sounds::iterator i = sounds.begin(); i != sounds.end();) {
Sound &sound = *i;
if (sound.delay == 0) {
- debug(1, "sound %u started", sound.id);
- _engine->playSoundNow(sound.id);
+ debugC(1, kDebugScene, "sound %u started", sound.id);
+ _vm->playSoundNow(sound.id);
i = sounds.erase(i);
} else {
- sound.delay -= game_delta;
+ sound.delay -= gameDelta;
++i;
}
}
@@ -913,363 +898,364 @@ bool Scene::render(bool tick_game, bool tick_mark, uint32 delta) {
}
bool Scene::processEventQueue() {
- while (!events.empty() && current_event.empty()) {
- //debug(0, "processing next event");
- current_event = events.front();
+ while (!events.empty() && currentEvent.empty()) {
+ debugC(0, kDebugScene, "processing next event");
+ currentEvent = events.front();
events.pop_front();
- switch (current_event.type) {
+ switch (currentEvent.type) {
case SceneEvent::kSetOn: {
- byte on_id = current_event.ons;
- if (on_id != 0) {
- --on_id;
- byte *ptr = getOns(current_event.scene == 0 ? _id : current_event.scene);
- debug(0, "on[%u] = %02x", on_id, current_event.color);
- ptr[on_id] = current_event.color;
+ byte onId = currentEvent.ons;
+ if (onId != 0) {
+ --onId;
+ byte *ptr = getOns(currentEvent.scene == 0 ? _id : currentEvent.scene);
+ debugC(0, kDebugScene, "on[%u] = %02x", onId, currentEvent.color);
+ ptr[onId] = currentEvent.color;
} else {
- on_enabled = current_event.color != 0;
- debug(0, "%s on rendering", on_enabled ? "enabling" : "disabling");
+ onEnabled = currentEvent.color != 0;
+ debugC(0, kDebugScene, "%s on rendering", onEnabled ? "enabling" : "disabling");
}
loadOns();
- current_event.clear();
+ currentEvent.clear();
}
break;
case SceneEvent::kSetLan: {
- if (current_event.lan != 0) {
- debug(0, "lan[%u] = %02x", current_event.lan - 1, current_event.color);
- byte *ptr = getLans(current_event.scene == 0 ? _id : current_event.scene);
- ptr[current_event.lan - 1] = current_event.color;
+ if (currentEvent.lan != 0) {
+ debugC(0, kDebugScene, "lan[%u] = %02x", currentEvent.lan - 1, currentEvent.color);
+ byte *ptr = getLans(currentEvent.scene == 0 ? _id : currentEvent.scene);
+ ptr[currentEvent.lan - 1] = currentEvent.color;
}
loadLans();
- current_event.clear();
+ currentEvent.clear();
}
break;
case SceneEvent::kLoadScene: {
- if (current_event.scene != 0) {
- init(current_event.scene, current_event.dst);
- if (current_event.orientation != 0)
- orientation = current_event.orientation;
+ if (currentEvent.scene != 0) {
+ init(currentEvent.scene, currentEvent.dst);
+ if (currentEvent.orientation != 0)
+ orientation = currentEvent.orientation;
} else {
- //special case, empty scene
+ // special case, empty scene
background.free();
on.free();
delete[] ons;
ons = NULL;
for (byte i = 0; i < 4; ++i) {
animation[i].free();
- custom_animation[i].free();
+ customAnimation[i].free();
}
}
- current_event.clear();
+ currentEvent.clear();
}
break;
case SceneEvent::kWalk: {
- Common::Point dst = current_event.dst;
- if ((current_event.color & 2) != 0) { //relative move
+ Common::Point dst = currentEvent.dst;
+ if ((currentEvent.color & 2) != 0) { // relative move
dst.x += position.x;
dst.y += position.y;
}
- if ((current_event.color & 1) != 0) {
- warp(dst, current_event.orientation);
- current_event.clear();
+ if ((currentEvent.color & 1) != 0) {
+ warp(dst, currentEvent.orientation);
+ currentEvent.clear();
} else
- moveTo(dst, current_event.orientation);
+ moveTo(dst, currentEvent.orientation);
}
break;
case SceneEvent::kCreditsMessage:
case SceneEvent::kMessage: {
- message = current_event.message;
- message_animation = NULL;
- if (current_event.first_frame) {
- message_timer = 0;
- message_first_frame = current_event.first_frame;
- message_last_frame = current_event.last_frame;
- if (current_event.slot > 0) {
- message_animation = custom_animation + (current_event.slot - 1);
- //else if (!animation[current_event.slot].empty())
- // message_animation = animation + current_event.slot;
+ message = currentEvent.message;
+ messageAnimation = NULL;
+ if (currentEvent.firstFrame) {
+ messageTimer = 0;
+ messageFirstFrame = currentEvent.firstFrame;
+ messageLastFrame = currentEvent.lastFrame;
+ if (currentEvent.slot > 0) {
+ messageAnimation = customAnimation + (currentEvent.slot - 1);
+ //else if (!animation[currentEvent.slot].empty())
+ // messageAnimation = animation + currentEvent.slot;
} else
- message_animation = &actor_animation;
- debug(0, "async message %d-%d (slot %u)", message_first_frame, message_last_frame, current_event.slot);
+ messageAnimation = &actorAnimation;
+ debugC(0, kDebugScene, "async message %d-%d (slot %u)", messageFirstFrame, messageLastFrame, currentEvent.slot);
} else {
- message_timer = current_event.timer ? current_event.timer * 110 : messageDuration(message);
- message_first_frame = message_last_frame = 0;
+ messageTimer = currentEvent.timer ? currentEvent.timer * 110 : messageDuration(message);
+ messageFirstFrame = messageLastFrame = 0;
}
Common::Point p;
- if (current_event.dst.x == 0 && current_event.dst.y == 0) {
- p = Common::Point((actor_animation_position.left + actor_animation_position.right) / 2,
- actor_animation_position.top);
+ if (currentEvent.dst.x == 0 && currentEvent.dst.y == 0) {
+ p = Common::Point((actorAnimationPosition.left + actorAnimationPosition.right) / 2,
+ actorAnimationPosition.top);
} else {
- p = current_event.dst;
+ p = currentEvent.dst;
}
- byte message_slot = current_event.slot;
- if (message_slot != 0) {
- --message_slot;
- assert(message_slot < 4);
- const Surface *s = custom_animation[message_slot].currentFrame(0);
+ byte messageSlot = currentEvent.slot;
+ if (messageSlot != 0) {
+ --messageSlot;
+ assert(messageSlot < 4);
+ const Surface *s = customAnimation[messageSlot].currentFrame(0);
if (s == NULL)
- s = animation[message_slot].currentFrame(0);
+ s = animation[messageSlot].currentFrame(0);
if (s != NULL) {
p.x = s->x + s->w / 2;
p.y = s->y;
} else
- warning("no animation in slot %u", message_slot);
+ warning("no animation in slot %u", messageSlot);
}
- message_pos = messagePosition(message, p);
- message_color = current_event.color;
+ messagePos = messagePosition(message, p);
+ messageColor = currentEvent.color;
- if (message_first_frame)
- current_event.clear(); //async message, clearing event
+ if (messageFirstFrame)
+ currentEvent.clear(); // async message, clearing event
}
break;
case SceneEvent::kPlayAnimation: {
- byte slot = current_event.slot & 7; //0 - mark's
- if (current_event.animation != 0) {
- debug(0, "playing animation %u in slot %u(%02x)", current_event.animation, slot, current_event.slot);
+ byte slot = currentEvent.slot & 7; // 0 - mark's
+ if (currentEvent.animation != 0) {
+ debugC(0, kDebugScene, "playing animation %u in slot %u(%02x)", currentEvent.animation, slot, currentEvent.slot);
if (slot != 0) {
--slot;
assert(slot < 4);
- playAnimation(slot, current_event.animation, (current_event.slot & 0x80) != 0, (current_event.slot & 0x40) != 0, (current_event.slot & 0x20) != 0);
+ playAnimation(slot, currentEvent.animation, (currentEvent.slot & 0x80) != 0, (currentEvent.slot & 0x40) != 0, (currentEvent.slot & 0x20) != 0);
} else
- actor_talking = true;
+ actorTalking = true;
} else {
if (slot != 0) {
--slot;
- debug(0, "cancelling animation in slot %u", slot);
+ debugC(0, kDebugScene, "cancelling animation in slot %u", slot);
assert(slot < 4);
- custom_animation[slot].free();
+ customAnimation[slot].free();
} else
- actor_talking = true;
+ actorTalking = true;
}
- current_event.clear();
+ currentEvent.clear();
}
break;
case SceneEvent::kPauseAnimation: {
- byte slot = current_event.slot & 7; //0 - mark's
+ byte slot = currentEvent.slot & 7; // 0 - mark's
if (slot != 0) {
--slot;
- debug(1, "pause animation in slot %u", slot);
- custom_animation[slot].paused = (current_event.slot & 0x80) != 0;
+ debugC(1, kDebugScene, "pause animation in slot %u", slot);
+ customAnimation[slot].paused = (currentEvent.slot & 0x80) != 0;
} else {
- actor_talking = false;
+ actorTalking = false;
}
- current_event.clear();
+ currentEvent.clear();
}
break;
case SceneEvent::kClearAnimations:
for (byte i = 0; i < 4; ++i)
- custom_animation[i].free();
- actor_talking = false;
- current_event.clear();
+ customAnimation[i].free();
+ actorTalking = false;
+ currentEvent.clear();
break;
case SceneEvent::kPlayActorAnimation:
- debug(0, "playing actor animation %u", current_event.animation);
- playActorAnimation(current_event.animation, (current_event.slot & 0x80) != 0, (current_event.slot & 0x20) != 0);
- current_event.clear();
+ debugC(0, kDebugScene, "playing actor animation %u", currentEvent.animation);
+ playActorAnimation(currentEvent.animation, (currentEvent.slot & 0x80) != 0, (currentEvent.slot & 0x20) != 0);
+ currentEvent.clear();
break;
case SceneEvent::kPlayMusic:
- debug(0, "setting music %u", current_event.music);
- _engine->setMusic(current_event.music);
- Resources::instance()->dseg.set_byte(0xDB90, current_event.music);
- current_event.clear();
+ debugC(0, kDebugScene, "setting music %u", currentEvent.music);
+ _vm->setMusic(currentEvent.music);
+ _vm->res->dseg.set_byte(dsAddr_currentMusic, currentEvent.music);
+ currentEvent.clear();
break;
case SceneEvent::kPlaySound:
- debug(0, "playing sound %u, delay: %u", current_event.sound, current_event.color);
- sounds.push_back(Sound(current_event.sound, current_event.color));
- current_event.clear();
+ debugC(0, kDebugScene, "playing sound %u, delay: %u", currentEvent.sound, currentEvent.color);
+ sounds.push_back(Sound(currentEvent.sound, currentEvent.color));
+ currentEvent.clear();
break;
case SceneEvent::kEnableObject: {
- debug(0, "%s object #%u", current_event.color ? "enabling" : "disabling", current_event.object - 1);
- Object *obj = getObject(current_event.object - 1, current_event.scene == 0 ? _id : current_event.scene);
- obj->enabled = current_event.color;
+ debugC(0, kDebugScene, "%s object #%u", currentEvent.color ? "enabling" : "disabling", currentEvent.object - 1);
+ Object *obj = getObject(currentEvent.object - 1, currentEvent.scene == 0 ? _id : currentEvent.scene);
+ obj->enabled = currentEvent.color;
obj->save();
- current_event.clear();
+ currentEvent.clear();
}
break;
case SceneEvent::kHideActor:
- hide_actor = current_event.color != 0;
- current_event.clear();
+ hideActor = currentEvent.color != 0;
+ currentEvent.clear();
break;
case SceneEvent::kWaitForAnimation:
- debug(0, "waiting for the animation");
+ debugC(0, kDebugScene, "waiting for the animation");
break;
case SceneEvent::kWaitLanAnimationFrame:
- debug(0, "waiting for the frame %d in slot %d", current_event.animation, current_event.slot);
+ debugC(0, kDebugScene, "waiting for the frame %d in slot %d", currentEvent.animation, currentEvent.slot);
break;
case SceneEvent::kTimer:
- callback = current_event.callback;
- callback_timer = current_event.timer;
- debug(0, "triggering callback %04x in %u frames", callback, callback_timer);
- current_event.clear();
+ callback = currentEvent.callback;
+ callbackTimer = currentEvent.timer;
+ debugC(0, kDebugScene, "triggering callback %04x in %u frames", callback, callbackTimer);
+ currentEvent.clear();
break;
case SceneEvent::kEffect:
- _system->delayMillis(80); //2 vsyncs
- _system->setShakePos(8);
- _system->updateScreen();
+ _vm->_system->delayMillis(80); // 2 vsyncs
+ _vm->_system->setShakePos(8);
+ _vm->_system->updateScreen();
- _system->delayMillis(80); //2 vsyncs
- _system->setShakePos(0);
- _system->updateScreen();
+ _vm->_system->delayMillis(80); // 2 vsyncs
+ _vm->_system->setShakePos(0);
+ _vm->_system->updateScreen();
- _system->delayMillis(80); //2 vsyncs
- _system->setShakePos(4);
- _system->updateScreen();
+ _vm->_system->delayMillis(80); // 2 vsyncs
+ _vm->_system->setShakePos(4);
+ _vm->_system->updateScreen();
- _system->delayMillis(80); //2 vsyncs
- _system->setShakePos(0);
- _system->updateScreen();
+ _vm->_system->delayMillis(80); // 2 vsyncs
+ _vm->_system->setShakePos(0);
+ _vm->_system->updateScreen();
- current_event.clear();
+ currentEvent.clear();
break;
case SceneEvent::kFade:
- _fade_timer = current_event.orientation != 0 ? 5 : -5;
- current_event.clear();
+ _fadeTimer = currentEvent.orientation != 0 ? 5 : -5;
+ currentEvent.clear();
break;
case SceneEvent::kWait:
- debug(0, "wait %u", current_event.timer);
+ debugC(0, kDebugScene, "wait %u", currentEvent.timer);
break;
case SceneEvent::kCredits:
- debug(0, "showing credits");
+ debugC(0, kDebugScene, "showing credits");
break;
case SceneEvent::kQuit:
- debug(0, "quit!");
- _engine->quitGame();
+ debugC(0, kDebugScene, "quit!");
+ _vm->quitGame();
break;
case SceneEvent::kSetFlag:
- debug(0, "async set_flag(%04x, %d)", current_event.callback, current_event.color);
- Resources::instance()->dseg.set_byte(current_event.callback, current_event.color);
- current_event.clear();
+ debugC(0, kDebugScene, "async set_flag(%04x, %d)", currentEvent.callback, currentEvent.color);
+ _vm->res->dseg.set_byte(currentEvent.callback, currentEvent.color);
+ currentEvent.clear();
break;
default:
- error("empty/unhandler event[%d]", (int)current_event.type);
+ error("empty/unhandler event[%d]", (int)currentEvent.type);
}
}
+
if (events.empty()) {
- message_color = 0xd1;
- hide_actor = false;
+ messageColor = textColorMark;
+ hideActor = false;
}
- return !current_event.empty();
+
+ return !currentEvent.empty();
}
void Scene::setPalette(unsigned mul) {
- //debug(0, "setPalette(%u)", mul);
+ debugC(0, kDebugScene, "setPalette(%u)", mul);
byte p[3 * 256];
for (int i = 0; i < 3 * 256; ++i) {
p[i] = (unsigned)palette[i] * mul;
}
- _system->getPaletteManager()->setPalette(p, 0, 256);
+ _vm->_system->getPaletteManager()->setPalette(p, 0, 256);
}
-Object *Scene::getObject(int id, int scene_id) {
+Object *Scene::getObject(int id, int sceneId) {
assert(id > 0);
- if (scene_id == 0)
- scene_id = _id;
+ if (sceneId == 0)
+ sceneId = _id;
- if (scene_id == 0)
+ if (sceneId == 0)
return NULL;
- Common::Array<Object> &scene_objects = objects[scene_id - 1];
+ Common::Array<Object> &sceneObjects = objects[sceneId - 1];
--id;
- if (id >= (int)scene_objects.size())
+ if (id >= (int)sceneObjects.size())
return NULL;
- return &scene_objects[id];
+ return &sceneObjects[id];
}
-Common::Point Scene::messagePosition(const Common::String &str, Common::Point message_position) {
- Resources *res = Resources::instance();
+Common::Point Scene::messagePosition(const Common::String &str, Common::Point pos) {
int lines = 1;
for (uint i = 0; i < str.size(); ++i)
if (str[i] == '\n')
++lines;
- uint w = res->font7.render(NULL, 0, 0, str, 0);
- uint h = res->font7.height * lines + 3;
+ uint w = _vm->res->font7.render(NULL, 0, 0, str, 0);
+ uint h = _vm->res->font7.getHeight() * lines + 3;
- message_position.x -= w / 2;
- message_position.y -= h;
+ pos.x -= w / 2;
+ pos.y -= h;
- if (message_position.x + w > 320)
- message_position.x = 320 - w;
- if (message_position.x < 0)
- message_position.x = 0;
- if (message_position.y + h > 320)
- message_position.y = 200 - h;
- if (message_position.y < 0)
- message_position.y = 0;
+ if (pos.x + w > kScreenWidth)
+ pos.x = kScreenWidth - w;
+ if (pos.x < 0)
+ pos.x = 0;
+ if (pos.y + h > kScreenHeight)
+ pos.y = kScreenHeight - h;
+ if (pos.y < 0)
+ pos.y = 0;
- return message_position;
+ return pos;
}
uint Scene::messageDuration(const Common::String &str) {
- //original game uses static delays: 100-slow, 50, 20 and 1 tick - crazy speed.
- //total delay = total message length * delay / 8 + 60.
- uint total_width = str.size();
+ // original game uses static delays: 100-slow, 50, 20 and 1 tick - crazy speed.
+ // total delay = total message length * delay / 8 + 60.
+ uint totalWidth = str.size();
- int speed = Common::ConfigManager::instance().getInt("talkspeed");
+ int speed = ConfMan.getInt("talkspeed");
if (speed < 0)
speed = 60;
- uint delay_delta = 1 + (255 - speed) * 99 / 255;
+ uint delayDelta = 1 + (255 - speed) * 99 / 255;
- uint delay = 60 + (total_width * delay_delta) / 8;
- //debug(0, "delay = %u, delta: %u", delay, delay_delta);
+ uint delay = 60 + (totalWidth * delayDelta) / 8;
+ debugC(0, kDebugScene, "delay = %u, delta: %u", delay, delayDelta);
return delay * 10;
}
void Scene::displayMessage(const Common::String &str, byte color, const Common::Point &pos) {
//assert(!str.empty());
- //debug(0, "displayMessage: %s", str.c_str());
+ debugC(0, kDebugScene, "displayMessage: %s", str.c_str());
message = str;
- message_pos = (pos.x | pos.y) ? pos : messagePosition(str, position);
- message_color = color;
- message_timer = messageDuration(message);
+ messagePos = (pos.x | pos.y) ? pos : messagePosition(str, position);
+ messageColor = color;
+ messageTimer = messageDuration(message);
}
void Scene::clear() {
clearMessage();
events.clear();
- current_event.clear();
+ currentEvent.clear();
for (int i = 0; i < 4; ++i) {
animation[i].free();
- custom_animation[i].free();
+ customAnimation[i].free();
}
callback = 0;
- callback_timer = 0;
+ callbackTimer = 0;
}
void Scene::clearMessage() {
message.clear();
- message_timer = 0;
- message_color = 0xd1;
- message_first_frame = 0;
- message_last_frame = 0;
- message_animation = NULL;
+ messageTimer = 0;
+ messageColor = textColorMark;
+ messageFirstFrame = 0;
+ messageLastFrame = 0;
+ messageAnimation = NULL;
}
} // End of namespace TeenAgent
diff --git a/engines/teenagent/scene.h b/engines/teenagent/scene.h
index 32e784bb60..14aefa0cca 100644
--- a/engines/teenagent/scene.h
+++ b/engines/teenagent/scene.h
@@ -27,8 +27,8 @@
#include "teenagent/objects.h"
#include "teenagent/surface.h"
#include "teenagent/surface_list.h"
+#include "teenagent/teenagent.h"
-#include "common/system.h"
#include "common/array.h"
#include "common/list.h"
@@ -39,7 +39,6 @@ struct Event;
namespace TeenAgent {
class TeenAgentEngine;
-class Dialog;
struct SceneEvent {
enum Type {
@@ -84,22 +83,22 @@ struct SceneEvent {
byte lan;
union {
byte music;
- byte first_frame;
+ byte firstFrame;
};
union {
byte sound;
- byte last_frame;
+ byte lastFrame;
};
byte object;
SceneEvent(Type type_) :
- type(type_), message(), color(0xd1), slot(0), animation(0), timer(0), orientation(0), dst(),
+ type(type_), message(), color(textColorMark), slot(0), animation(0), timer(0), orientation(0), dst(),
scene(0), ons(0), lan(0), music(0), sound(0), object(0) {}
void clear() {
type = kNone;
message.clear();
- color = 0xd1;
+ color = textColorMark;
slot = 0;
orientation = 0;
animation = 0;
@@ -118,7 +117,7 @@ struct SceneEvent {
}
void dump() const {
- debug(0, "event[%d]: \"%s\"[%02x], slot: %d, animation: %u, timer: %u, dst: (%d, %d) [%u], scene: %u, ons: %u, lan: %u, object: %u, music: %u, sound: %u",
+ debugC(0, kDebugScene, "event[%d]: \"%s\"[%02x], slot: %d, animation: %u, timer: %u, dst: (%d, %d) [%u], scene: %u, ons: %u, lan: %u, object: %u, music: %u, sound: %u",
(int)type, message.c_str(), color, slot, animation, timer, dst.x, dst.y, orientation, scene, ons, lan, object, music, sound
);
}
@@ -126,13 +125,13 @@ struct SceneEvent {
class Scene {
public:
- Scene(TeenAgentEngine *engine, OSystem *system);
+ Scene(TeenAgentEngine *engine);
~Scene();
bool intro;
void init(int id, const Common::Point &pos);
- bool render(bool tick_game, bool tick_mark, uint32 message_delta);
+ bool render(bool tickGame, bool tickMark, uint32 messageDelta);
int getId() const { return _id; }
void warp(const Common::Point &point, byte orientation = 0);
@@ -140,7 +139,7 @@ public:
void moveTo(const Common::Point &point, byte orientation = 0, bool validate = false);
Common::Point getPosition() const { return position; }
- void displayMessage(const Common::String &str, byte color = 0xd1, const Common::Point &pos = Common::Point());
+ void displayMessage(const Common::String &str, byte color = textColorMark, const Common::Point &pos = Common::Point());
void setOrientation(uint8 o) { orientation = o; }
void push(const SceneEvent &event);
byte peekFlagEvent(uint16 addr) const;
@@ -153,15 +152,15 @@ public:
byte *getOns(int id);
byte *getLans(int id);
- bool eventRunning() const { return !current_event.empty(); }
+ bool eventRunning() const { return !currentEvent.empty(); }
Walkbox *getWalkbox(byte id) { return &walkboxes[_id - 1][id]; }
- Object *getObject(int id, int scene_id = 0);
+ Object *getObject(int id, int sceneId = 0);
Object *findObject(const Common::Point &point);
void loadObjectData();
Animation *getAnimation(byte slot);
- inline Animation *getActorAnimation() { return &actor_animation; }
+ inline Animation *getActorAnimation() { return &actorAnimation; }
inline const Common::String &getMessage() const { return message; }
void setPalette(unsigned mul);
int lookupZoom(uint y) const;
@@ -173,39 +172,38 @@ private:
void playAnimation(byte idx, uint id, bool loop, bool paused, bool ignore);
void playActorAnimation(uint id, bool loop, bool ignore);
- byte palette[768];
+ byte palette[3 * 256];
void paletteEffect(byte step);
byte findFade() const;
- static Common::Point messagePosition(const Common::String &str, Common::Point position);
- static uint messageDuration(const Common::String &str);
+ Common::Point messagePosition(const Common::String &str, Common::Point pos);
+ uint messageDuration(const Common::String &str);
bool processEventQueue();
inline bool nextEvent() {
- current_event.clear();
+ currentEvent.clear();
return processEventQueue();
}
void clearMessage();
- TeenAgentEngine *_engine;
- OSystem *_system;
+ TeenAgentEngine *_vm;
int _id;
Graphics::Surface background;
SurfaceList on;
- bool on_enabled;
+ bool onEnabled;
Surface *ons;
- uint32 ons_count;
- Animation actor_animation, animation[4], custom_animation[4];
- Common::Rect actor_animation_position, animation_position[4];
+ uint32 onsCount;
+ Animation actorAnimation, animation[4], customAnimation[4];
+ Common::Rect actorAnimationPosition, animationPosition[4];
- Actor teenagent, teenagent_idle;
+ Actor teenagent, teenagentIdle;
Common::Point position;
typedef Common::List<Common::Point> Path;
Path path;
uint8 orientation;
- bool actor_talking;
+ bool actorTalking;
bool findPath(Path &p, const Common::Point &src, const Common::Point &dst) const;
@@ -214,22 +212,24 @@ private:
Common::Array<Common::Array<FadeType> > fades;
Common::String message;
- Common::Point message_pos;
- byte message_color;
- uint message_timer;
- byte message_first_frame;
- byte message_last_frame;
- Animation *message_animation;
+ Common::Point messagePos;
+ byte messageColor;
+ uint messageTimer;
+ byte messageFirstFrame;
+ byte messageLastFrame;
+ Animation *messageAnimation;
typedef Common::List<SceneEvent> EventList;
EventList events;
- SceneEvent current_event;
- bool hide_actor;
+ SceneEvent currentEvent;
+ bool hideActor;
- uint16 callback, callback_timer;
+ uint16 callback, callbackTimer;
- int _fade_timer;
- uint _idle_timer;
+ int _fadeTimer;
+ byte _fadeOld;
+
+ uint _idleTimer;
struct Sound {
byte id, delay;
@@ -254,7 +254,7 @@ private:
feature[i] = true;
}
}
- } debug_features;
+ } debugFeatures;
};
} // End of namespace TeenAgent
diff --git a/engines/teenagent/segment.h b/engines/teenagent/segment.h
index 303198b071..286337d120 100644
--- a/engines/teenagent/segment.h
+++ b/engines/teenagent/segment.h
@@ -41,26 +41,21 @@ public:
assert(offset < _size);
return _data[offset];
}
+
inline uint16 get_word(uint32 offset) const {
assert(offset + 1 < _size);
return READ_LE_UINT16(_data + offset);
}
- inline uint32 get_quad(uint32 offset) const {
- assert(offset + 3 < _size);
- return READ_LE_UINT32(_data + offset);
- }
+
inline void set_byte(uint32 offset, byte v) const {
assert(offset < _size);
_data[offset] = v;
}
+
inline void set_word(uint32 offset, uint16 v) const {
assert(offset + 1 < _size);
return WRITE_LE_UINT16(_data + offset, v);
}
- inline void set_quad(uint32 offset, uint32 v) const {
- assert(offset + 3 < _size);
- return WRITE_LE_UINT32(_data + offset, v);
- }
const byte *ptr(uint32 addr) const {
assert(addr < _size);
@@ -71,6 +66,7 @@ public:
assert(addr < _size);
return _data + addr;
}
+
uint size() const { return _size; }
};
diff --git a/engines/teenagent/surface.cpp b/engines/teenagent/surface.cpp
index 63312990ee..4db25bc749 100644
--- a/engines/teenagent/surface.cpp
+++ b/engines/teenagent/surface.cpp
@@ -21,6 +21,8 @@
#include "teenagent/surface.h"
#include "teenagent/pack.h"
+#include "teenagent/teenagent.h"
+
#include "common/stream.h"
#include "common/debug.h"
@@ -34,7 +36,7 @@ Surface::~Surface() {
}
void Surface::load(Common::SeekableReadStream &stream, Type type) {
- //debug(0, "load()");
+ debugC(0, kDebugSurface, "load()");
free();
x = y = 0;
@@ -44,71 +46,71 @@ void Surface::load(Common::SeekableReadStream &stream, Type type) {
if (type != kTypeLan) {
uint16 pos = stream.readUint16LE();
- x = pos % 320;
- y = pos / 320;
+ x = pos % kScreenWidth;
+ y = pos / kScreenWidth;
}
- //debug(0, "declared info: %ux%u (%04xx%04x) -> %u,%u", w_, h_, w_, h_, x, y);
+ debugC(0, kDebugSurface, "declared info: %ux%u (%04xx%04x) -> %u,%u", w_, h_, w_, h_, x, y);
if (stream.eos() || w_ == 0)
return;
if (w_ * h_ > stream.size()) {
- debug(0, "invalid surface %ux%u -> %u,%u", w_, h_, x, y);
+ debugC(0, kDebugSurface, "invalid surface %ux%u -> %u,%u", w_, h_, x, y);
return;
}
- //debug(0, "creating surface %ux%u -> %u,%u", w_, h_, x, y);
+ debugC(0, kDebugSurface, "creating surface %ux%u -> %u,%u", w_, h_, x, y);
create(w_, h_, Graphics::PixelFormat::createFormatCLUT8());
stream.read(pixels, w_ * h_);
}
-Common::Rect Surface::render(Graphics::Surface *surface, int dx, int dy, bool mirror, Common::Rect src_rect, uint zoom) const {
- if (src_rect.isEmpty()) {
- src_rect = Common::Rect(0, 0, w, h);
+Common::Rect Surface::render(Graphics::Surface *surface, int dx, int dy, bool mirror, Common::Rect srcRect, uint zoom) const {
+ if (srcRect.isEmpty()) {
+ srcRect = Common::Rect(0, 0, w, h);
}
- Common::Rect dst_rect(x + dx, y + dy, x + dx + zoom * src_rect.width() / 256, y + dy + zoom * src_rect.height() / 256);
- if (dst_rect.left < 0) {
- src_rect.left = -dst_rect.left;
- dst_rect.left = 0;
+ Common::Rect dstRect(x + dx, y + dy, x + dx + zoom * srcRect.width() / 256, y + dy + zoom * srcRect.height() / 256);
+ if (dstRect.left < 0) {
+ srcRect.left = -dstRect.left;
+ dstRect.left = 0;
}
- if (dst_rect.right > surface->w) {
- src_rect.right -= dst_rect.right - surface->w;
- dst_rect.right = surface->w;
+ if (dstRect.right > surface->w) {
+ srcRect.right -= dstRect.right - surface->w;
+ dstRect.right = surface->w;
}
- if (dst_rect.top < 0) {
- src_rect.top -= dst_rect.top;
- dst_rect.top = 0;
+ if (dstRect.top < 0) {
+ srcRect.top -= dstRect.top;
+ dstRect.top = 0;
}
- if (dst_rect.bottom > surface->h) {
- src_rect.bottom -= dst_rect.bottom - surface->h;
- dst_rect.bottom = surface->h;
+ if (dstRect.bottom > surface->h) {
+ srcRect.bottom -= dstRect.bottom - surface->h;
+ dstRect.bottom = surface->h;
}
- if (src_rect.isEmpty() || dst_rect.isEmpty())
+ if (srcRect.isEmpty() || dstRect.isEmpty())
return Common::Rect();
if (zoom == 256) {
- const byte *src = (const byte *)getBasePtr(0, src_rect.top);
- byte *dst_base = (byte *)surface->getBasePtr(dst_rect.left, dst_rect.top);
+ const byte *src = (const byte *)getBasePtr(0, srcRect.top);
+ byte *dstBase = (byte *)surface->getBasePtr(dstRect.left, dstRect.top);
- for (int i = src_rect.top; i < src_rect.bottom; ++i) {
- byte *dst = dst_base;
- for (int j = src_rect.left; j < src_rect.right; ++j) {
+ for (int i = srcRect.top; i < srcRect.bottom; ++i) {
+ byte *dst = dstBase;
+ for (int j = srcRect.left; j < srcRect.right; ++j) {
byte p = src[(mirror ? w - j - 1 : j)];
if (p != 0xff)
*dst++ = p;
else
++dst;
}
- dst_base += surface->pitch;
+ dstBase += surface->pitch;
src += pitch;
}
} else {
- byte *dst = (byte *)surface->getBasePtr(dst_rect.left, dst_rect.top);
- for (int i = 0; i < dst_rect.height(); ++i) {
- for (int j = 0; j < dst_rect.width(); ++j) {
+ byte *dst = (byte *)surface->getBasePtr(dstRect.left, dstRect.top);
+ for (int i = 0; i < dstRect.height(); ++i) {
+ for (int j = 0; j < dstRect.width(); ++j) {
int px = j * 256 / zoom;
- const byte *src = (const byte *)getBasePtr(src_rect.left + (mirror ? w - px - 1 : px), src_rect.top + i * 256 / zoom);
+ const byte *src = (const byte *)getBasePtr(srcRect.left + (mirror ? w - px - 1 : px), srcRect.top + i * 256 / zoom);
byte p = *src;
if (p != 0xff)
dst[j] = p;
@@ -116,7 +118,7 @@ Common::Rect Surface::render(Graphics::Surface *surface, int dx, int dy, bool mi
dst += surface->pitch;
}
}
- return dst_rect;
+ return dstRect;
}
} // End of namespace TeenAgent
diff --git a/engines/teenagent/surface.h b/engines/teenagent/surface.h
index 51368c6bee..3e591ed3e0 100644
--- a/engines/teenagent/surface.h
+++ b/engines/teenagent/surface.h
@@ -33,16 +33,17 @@ namespace TeenAgent {
class Surface : public Graphics::Surface {
public:
- enum Type {kTypeOns, kTypeLan};
-
- uint16 x, y;
-
Surface();
~Surface();
+
+ enum Type {kTypeOns, kTypeLan};
+
void load(Common::SeekableReadStream &, Type type);
- Common::Rect render(Graphics::Surface *surface, int dx = 0, int dy = 0, bool mirror = false, Common::Rect src_rect = Common::Rect(), uint zoom = 256) const;
+ Common::Rect render(Graphics::Surface *surface, int dx = 0, int dy = 0, bool mirror = false, Common::Rect srcRect = Common::Rect(), uint zoom = 256) const;
bool empty() const { return pixels == NULL; }
+
+ uint16 x, y;
};
} // End of namespace TeenAgent
diff --git a/engines/teenagent/surface_list.cpp b/engines/teenagent/surface_list.cpp
index 31387ac3cb..e293ce6470 100644
--- a/engines/teenagent/surface_list.cpp
+++ b/engines/teenagent/surface_list.cpp
@@ -19,34 +19,35 @@
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
*/
-#include "teenagent/surface.h"
#include "teenagent/surface_list.h"
-#include "objects.h"
+#include "teenagent/surface.h"
+#include "teenagent/objects.h"
+#include "teenagent/teenagent.h"
namespace TeenAgent {
-SurfaceList::SurfaceList() : surfaces(NULL), surfaces_n(0) {}
+SurfaceList::SurfaceList() : surfaces(NULL), surfacesCount(0) {}
SurfaceList::~SurfaceList() {
free();
}
-void SurfaceList::load(Common::SeekableReadStream &stream, Type type, int sub_hack) {
+void SurfaceList::load(Common::SeekableReadStream &stream, int subHack) {
free();
byte fn = stream.readByte();
if (stream.eos())
return;
- surfaces_n = fn - sub_hack;
- debug(0, "loading %u surfaces from list (skip %d)", surfaces_n, sub_hack);
+ surfacesCount = fn - subHack;
+ debugC(0, kDebugSurface, "loading %u surfaces from list (skip %d)", surfacesCount, subHack);
- if (surfaces_n == 0)
+ if (surfacesCount == 0)
return;
- surfaces = new Surface[surfaces_n];
+ surfaces = new Surface[surfacesCount];
- for (byte i = 0; i < surfaces_n; ++i) {
+ for (byte i = 0; i < surfacesCount; ++i) {
uint offset = stream.readUint16LE();
uint pos = stream.pos();
stream.seek(offset);
@@ -58,11 +59,11 @@ void SurfaceList::load(Common::SeekableReadStream &stream, Type type, int sub_ha
void SurfaceList::free() {
delete[] surfaces;
surfaces = NULL;
- surfaces_n = 0;
+ surfacesCount = 0;
}
void SurfaceList::render(Graphics::Surface *surface, const Common::Rect &clip) const {
- for (uint i = 0; i < surfaces_n; ++i) {
+ for (uint i = 0; i < surfacesCount; ++i) {
const Surface &s = surfaces[i];
Common::Rect r(s.x, s.y, s.x + s.w, s.y + s.h);
if (r.bottom < clip.bottom || !clip.intersects(r))
diff --git a/engines/teenagent/surface_list.h b/engines/teenagent/surface_list.h
index 2d7be0d52b..73a41fb5f8 100644
--- a/engines/teenagent/surface_list.h
+++ b/engines/teenagent/surface_list.h
@@ -23,23 +23,23 @@
#define TEENAGENT_SURFACE_LIST_H__
#include "common/stream.h"
+#include "graphics/surface.h"
namespace TeenAgent {
class Surface;
class SurfaceList {
public:
- enum Type { kTypeOn };
-
SurfaceList();
~SurfaceList();
- void load(Common::SeekableReadStream &, Type type, int sub_hack = 0);
+
+ void load(Common::SeekableReadStream &, int subHack = 0);
void free();
void render(Graphics::Surface *surface, const Common::Rect &clip) const;
protected:
Surface *surfaces;
- uint surfaces_n;
+ uint surfacesCount;
};
}
diff --git a/engines/teenagent/teenagent.cpp b/engines/teenagent/teenagent.cpp
index 57c069fe59..0b48a18b26 100644
--- a/engines/teenagent/teenagent.cpp
+++ b/engines/teenagent/teenagent.cpp
@@ -21,6 +21,7 @@
#include "common/config-manager.h"
#include "common/debug.h"
+#include "common/debug-channels.h"
#include "common/events.h"
#include "common/savefile.h"
#include "common/system.h"
@@ -39,26 +40,56 @@
#include "graphics/thumbnail.h"
#include "teenagent/console.h"
+#include "teenagent/dialog.h"
+#include "teenagent/inventory.h"
#include "teenagent/music.h"
#include "teenagent/objects.h"
#include "teenagent/pack.h"
+#include "teenagent/resources.h"
#include "teenagent/scene.h"
#include "teenagent/teenagent.h"
namespace TeenAgent {
TeenAgentEngine::TeenAgentEngine(OSystem *system, const ADGameDescription *gd)
- : Engine(system), action(kActionNone), _gameDescription(gd),
- _rnd("teenagent") {
- music = new MusicPlayer();
+ : Engine(system), _action(kActionNone), _gameDescription(gd), _rnd("teenagent") {
+ DebugMan.addDebugChannel(kDebugActor, "Actor", "Enable Actor Debug");
+ DebugMan.addDebugChannel(kDebugAnimation, "Animation", "Enable Animation Debug");
+ DebugMan.addDebugChannel(kDebugCallbacks, "Callbacks", "Enable Callbacks Debug");
+ DebugMan.addDebugChannel(kDebugDialog, "Dialog", "Enable Dialog Debug");
+ DebugMan.addDebugChannel(kDebugFont, "Font", "Enable Font Debug");
+ DebugMan.addDebugChannel(kDebugInventory, "Inventory", "Enable Inventory Debug");
+ DebugMan.addDebugChannel(kDebugMusic, "Music", "Enable Music Debug");
+ DebugMan.addDebugChannel(kDebugObject, "Object", "Enable Object Debug");
+ DebugMan.addDebugChannel(kDebugPack, "Pack", "Enable Pack Debug");
+ DebugMan.addDebugChannel(kDebugScene, "Scene", "Enable Scene Debug");
+ DebugMan.addDebugChannel(kDebugSurface, "Surface", "Enable Surface Debug");
+
+ music = new MusicPlayer(this);
+ dialog = new Dialog(this);
+ res = new Resources();
console = 0;
}
TeenAgentEngine::~TeenAgentEngine() {
+ delete dialog;
+ dialog = 0;
+ delete scene;
+ scene = 0;
+ delete inventory;
+ inventory = 0;
delete music;
+ music = 0;
+ _mixer->stopAll();
+ _useHotspots.clear();
+ delete res;
+ res = 0;
+
+ CursorMan.popCursor();
delete console;
+ DebugMan.clearAllDebugChannels();
}
bool TeenAgentEngine::trySelectedObject() {
@@ -66,66 +97,64 @@ bool TeenAgentEngine::trySelectedObject() {
if (inv == NULL)
return false;
- Resources *res = Resources::instance();
- debug(0, "checking active object %u on %u", inv->id, dst_object->id);
+ debugC(0, kDebugObject, "checking active object %u on %u", inv->id, _dstObject->id);
//mouse time challenge hack:
- if ((res->dseg.get_byte(0) == 1 && inv->id == 49 && dst_object->id == 5) ||
- (res->dseg.get_byte(0) == 2 && inv->id == 29 && dst_object->id == 5)) {
+ if ((res->dseg.get_byte(dsAddr_timedCallbackState) == 1 && inv->id == kInvItemRock && _dstObject->id == 5) ||
+ (res->dseg.get_byte(dsAddr_timedCallbackState) == 2 && inv->id == kInvItemSuperGlue && _dstObject->id == 5)) {
//putting rock into hole or superglue on rock
- processCallback(0x8d57);
+ fnPutRockInHole();
return true;
}
- const Common::Array<UseHotspot> &hotspots = use_hotspots[scene->getId() - 1];
+ const Common::Array<UseHotspot> &hotspots = _useHotspots[scene->getId() - 1];
for (uint i = 0; i < hotspots.size(); ++i) {
const UseHotspot &spot = hotspots[i];
- if (spot.inventory_id == inv->id && dst_object->id == spot.object_id) {
- debug(0, "use object on hotspot!");
+ if (spot.inventoryId == inv->id && _dstObject->id == spot.objectId) {
+ debugC(0, kDebugObject, "use object on hotspot!");
spot.dump();
- if (spot.actor_x != 0xffff && spot.actor_y != 0xffff)
- moveTo(spot.actor_x, spot.actor_y, spot.orientation);
+ if (spot.actorX != 0xffff && spot.actorY != 0xffff)
+ moveTo(spot.actorX, spot.actorY, spot.orientation);
if (!processCallback(spot.callback))
- debug(0, "fixme! display proper description");
+ debugC(0, kDebugObject, "FIXME: display proper description");
inventory->resetSelectedObject();
return true;
}
}
- //error
+ // error
inventory->resetSelectedObject();
- displayMessage(0x3457);
+ displayMessage(dsAddr_objErrorMsg); // "That's no good"
return true;
}
void TeenAgentEngine::processObject() {
- if (dst_object == NULL)
+ if (_dstObject == NULL)
return;
- Resources *res = Resources::instance();
- switch (action) {
+ switch (_action) {
case kActionExamine: {
if (trySelectedObject())
break;
- byte *dcall = res->dseg.ptr(0xb5ce);
+ byte *dcall = res->dseg.ptr(dsAddr_objExamineCallbackTablePtr);
dcall = res->dseg.ptr(READ_LE_UINT16(dcall + scene->getId() * 2 - 2));
- dcall += 2 * dst_object->id - 2;
+ dcall += 2 * _dstObject->id - 2;
uint16 callback = READ_LE_UINT16(dcall);
if (callback == 0 || !processCallback(callback))
- displayMessage(dst_object->description);
+ displayMessage(_dstObject->description);
}
break;
case kActionUse: {
if (trySelectedObject())
break;
- byte *dcall = res->dseg.ptr(0xb89c);
+ byte *dcall = res->dseg.ptr(dsAddr_objUseCallbackTablePtr);
dcall = res->dseg.ptr(READ_LE_UINT16(dcall + scene->getId() * 2 - 2));
- dcall += 2 * dst_object->id - 2;
+ dcall += 2 * _dstObject->id - 2;
uint16 callback = READ_LE_UINT16(dcall);
if (!processCallback(callback))
- displayMessage(dst_object->description);
+ displayMessage(_dstObject->description);
}
break;
@@ -134,20 +163,19 @@ void TeenAgentEngine::processObject() {
}
}
-
void TeenAgentEngine::use(Object *object) {
if (object == NULL || scene->eventRunning())
return;
- dst_object = object;
+ _dstObject = object;
object->rect.dump();
- object->actor_rect.dump();
+ object->actorRect.dump();
- action = kActionUse;
- if (object->actor_rect.valid())
- scene->moveTo(Common::Point(object->actor_rect.right, object->actor_rect.bottom), object->actor_orientation);
- else if (object->actor_orientation > 0)
- scene->setOrientation(object->actor_orientation);
+ _action = kActionUse;
+ if (object->actorRect.valid())
+ scene->moveTo(Common::Point(object->actorRect.right, object->actorRect.bottom), object->actorOrientation);
+ else if (object->actorOrientation > 0)
+ scene->setOrientation(object->actorOrientation);
}
void TeenAgentEngine::examine(const Common::Point &point, Object *object) {
@@ -155,53 +183,39 @@ void TeenAgentEngine::examine(const Common::Point &point, Object *object) {
return;
if (object != NULL) {
- Common::Point dst = object->actor_rect.center();
- debug(0, "click %d, %d, object %d, %d", point.x, point.y, dst.x, dst.y);
- action = kActionExamine;
- if (object->actor_rect.valid())
- scene->moveTo(dst, object->actor_orientation, true); //validate examine message. Original engine does not let you into walkboxes
- dst_object = object;
- } else if (!scene_busy) {
- //do not reset anything while scene is busy, but allow interrupts while walking.
- debug(0, "click %d, %d", point.x, point.y);
- action = kActionNone;
+ Common::Point dst = object->actorRect.center();
+ debugC(0, kDebugObject, "click %d, %d, object %d, %d", point.x, point.y, dst.x, dst.y);
+ _action = kActionExamine;
+ if (object->actorRect.valid())
+ scene->moveTo(dst, object->actorOrientation, true); // validate examine message. Original engine does not let you into walkboxes
+ _dstObject = object;
+ } else if (!_sceneBusy) {
+ // do not reset anything while scene is busy, but allow interrupts while walking.
+ debugC(0, kDebugObject, "click %d, %d", point.x, point.y);
+ _action = kActionNone;
scene->moveTo(point, 0, true);
- dst_object = NULL;
+ _dstObject = NULL;
}
}
void TeenAgentEngine::init() {
- _mark_delay = 80;
- _game_delay = 110;
+ _markDelay = 80;
+ _gameDelay = 110;
- Resources *res = Resources::instance();
- use_hotspots.resize(42);
- byte *scene_hotspots = res->dseg.ptr(0xbb87);
+ _useHotspots.resize(42);
+ byte *sceneHotspots = res->dseg.ptr(dsAddr_sceneHotspotsPtr);
for (byte i = 0; i < 42; ++i) {
- Common::Array<UseHotspot> & hotspots = use_hotspots[i];
- byte *hotspots_ptr = res->dseg.ptr(READ_LE_UINT16(scene_hotspots + i * 2));
- while (*hotspots_ptr) {
+ Common::Array<UseHotspot> & hotspots = _useHotspots[i];
+ byte *hotspotsPtr = res->dseg.ptr(READ_LE_UINT16(sceneHotspots + i * 2));
+ while (*hotspotsPtr) {
UseHotspot h;
- h.load(hotspots_ptr);
- hotspots_ptr += 9;
+ h.load(hotspotsPtr);
+ hotspotsPtr += 9;
hotspots.push_back(h);
}
}
}
-void TeenAgentEngine::deinit() {
- _mixer->stopAll();
- delete scene;
- scene = NULL;
- delete inventory;
- inventory = NULL;
- //delete music;
- //music = NULL;
- use_hotspots.clear();
- Resources::instance()->deinit();
- CursorMan.popCursor();
-}
-
Common::Error TeenAgentEngine::loadGameState(int slot) {
debug(0, "loading from slot %d", slot);
Common::ScopedPtr<Common::InSaveFile> in(_saveFileMan->openForLoading(Common::String::format("teenagent.%02d", slot)));
@@ -211,22 +225,19 @@ Common::Error TeenAgentEngine::loadGameState(int slot) {
if (!in)
return Common::kReadPermissionDenied;
- Resources *res = Resources::instance();
+ assert(res->dseg.size() >= dsAddr_saveState + saveStateSize);
- const uint dataSize = 0x777a;
- assert(res->dseg.size() >= 0x6478 + dataSize);
-
- char *data = (char *)malloc(dataSize);
+ char *data = (char *)malloc(saveStateSize);
if (!data)
error("[TeenAgentEngine::loadGameState] Cannot allocate buffer");
in->seek(0);
- if (in->read(data, dataSize) != dataSize) {
+ if (in->read(data, saveStateSize) != saveStateSize) {
free(data);
return Common::kReadingFailed;
}
- memcpy(res->dseg.ptr(0x6478), data, dataSize);
+ memcpy(res->dseg.ptr(dsAddr_saveState), data, saveStateSize);
free(data);
@@ -234,10 +245,10 @@ Common::Error TeenAgentEngine::loadGameState(int slot) {
inventory->activate(false);
inventory->reload();
- setMusic(Resources::instance()->dseg.get_byte(0xDB90));
+ setMusic(res->dseg.get_byte(dsAddr_currentMusic));
- int id = res->dseg.get_byte(0xB4F3);
- uint16 x = res->dseg.get_word(0x64AF), y = res->dseg.get_word(0x64B1);
+ int id = res->dseg.get_byte(dsAddr_currentScene);
+ uint16 x = res->dseg.get_word(dsAddr_egoX), y = res->dseg.get_word(dsAddr_egoY);
scene->loadObjectData();
scene->init(id, Common::Point(x, y));
scene->setPalette(4);
@@ -251,15 +262,15 @@ Common::Error TeenAgentEngine::saveGameState(int slot, const Common::String &des
if (!out)
return Common::kWritingFailed;
- Resources *res = Resources::instance();
- res->dseg.set_byte(0xB4F3, scene->getId());
+ res->dseg.set_byte(dsAddr_currentScene, scene->getId());
Common::Point pos = scene->getPosition();
- res->dseg.set_word(0x64AF, pos.x);
- res->dseg.set_word(0x64B1, pos.y);
+ res->dseg.set_word(dsAddr_egoX, pos.x);
+ res->dseg.set_word(dsAddr_egoY, pos.y);
- assert(res->dseg.size() >= 0x6478 + 0x777a);
- strncpy((char *)res->dseg.ptr(0x6478), desc.c_str(), 0x16);
- out->write(res->dseg.ptr(0x6478), 0x777a);
+ assert(res->dseg.size() >= dsAddr_saveState + saveStateSize);
+ // FIXME: Description string is 24 bytes and null based on detection.cpp code, not 22?
+ strncpy((char *)res->dseg.ptr(dsAddr_saveState), desc.c_str(), 22);
+ out->write(res->dseg.ptr(dsAddr_saveState), saveStateSize);
if (!Graphics::saveThumbnail(*out))
warning("saveThumbnail failed");
@@ -267,7 +278,6 @@ Common::Error TeenAgentEngine::saveGameState(int slot, const Common::String &des
return Common::kNoError;
}
-
int TeenAgentEngine::skipEvents() const {
Common::EventManager *_event = _system->getEventManager();
Common::Event event;
@@ -295,7 +305,7 @@ bool TeenAgentEngine::showCDLogo() {
if (!cdlogo.exists("cdlogo.res") || !cdlogo.open("cdlogo.res"))
return true;
- const uint bgSize = 0xfa00;
+ const uint bgSize = kScreenWidth * kScreenHeight;
const uint paletteSize = 3 * 256;
byte *bg = (byte *)malloc(bgSize);
@@ -314,8 +324,8 @@ bool TeenAgentEngine::showCDLogo() {
for (uint c = 0; c < paletteSize; ++c)
palette[c] *= 4;
- _system->getPaletteManager()->setPalette(palette, 0, 0x100);
- _system->copyRectToScreen(bg, 320, 0, 0, 320, 200);
+ _system->getPaletteManager()->setPalette(palette, 0, 256);
+ _system->copyRectToScreen(bg, kScreenWidth, 0, 0, kScreenWidth, kScreenHeight);
_system->updateScreen();
free(bg);
@@ -341,7 +351,7 @@ bool TeenAgentEngine::showLogo() {
if (!frame)
return true;
- const uint bgSize = 0xfa00;
+ const uint bgSize = kScreenWidth * kScreenHeight;
const uint paletteSize = 3 * 256;
byte *bg = (byte *)malloc(bgSize);
@@ -360,7 +370,7 @@ bool TeenAgentEngine::showLogo() {
for (uint c = 0; c < paletteSize; ++c)
palette[c] *= 4;
- _system->getPaletteManager()->setPalette(palette, 0, 0x100);
+ _system->getPaletteManager()->setPalette(palette, 0, 256);
free(palette);
@@ -374,7 +384,7 @@ bool TeenAgentEngine::showLogo() {
return r > 0 ? true : false;
}
}
- _system->copyRectToScreen(bg, 320, 0, 0, 320, 200);
+ _system->copyRectToScreen(bg, kScreenWidth, 0, 0, kScreenWidth, kScreenHeight);
frame.reset(logo.getStream(i));
if (!frame) {
@@ -419,23 +429,23 @@ bool TeenAgentEngine::showMetropolis() {
palette[c] *= 4;
}
- _system->getPaletteManager()->setPalette(palette, 0, 0x100);
+ _system->getPaletteManager()->setPalette(palette, 0, 256);
free(palette);
const uint varia6Size = 21760;
const uint varia9Size = 18302;
- byte *varia_6 = (byte *)malloc(varia6Size);
- byte *varia_9 = (byte *)malloc(varia9Size);
- if (!varia_6 || !varia_9) {
- free(varia_6);
- free(varia_9);
+ byte *varia6Data = (byte *)malloc(varia6Size);
+ byte *varia9Data = (byte *)malloc(varia9Size);
+ if (!varia6Data || !varia9Data) {
+ free(varia6Data);
+ free(varia9Data);
error("[TeenAgentEngine::showMetropolis] Cannot allocate buffer");
}
- varia.read(6, varia_6, varia6Size);
- varia.read(9, varia_9, varia9Size);
+ varia.read(6, varia6Data, varia6Size);
+ varia.read(9, varia9Data, varia9Size);
const uint colorsSize = 56 * 160 * 2;
byte *colors = (byte *)malloc(colorsSize);
@@ -449,8 +459,8 @@ bool TeenAgentEngine::showMetropolis() {
{
int r = skipEvents();
if (r != 0) {
- free(varia_6);
- free(varia_9);
+ free(varia6Data);
+ free(varia9Data);
free(colors);
return r > 0 ? true : false;
}
@@ -458,7 +468,7 @@ bool TeenAgentEngine::showMetropolis() {
Graphics::Surface *surface = _system->lockScreen();
if (logo_y > 0) {
- surface->fillRect(Common::Rect(0, 0, 320, logo_y), 0);
+ surface->fillRect(Common::Rect(0, 0, kScreenWidth, logo_y), 0);
}
{
@@ -485,7 +495,7 @@ bool TeenAgentEngine::showMetropolis() {
}
byte *dst = (byte *)surface->getBasePtr(0, 131);
- byte *src = varia_6;
+ byte *src = varia6Data;
for (uint y = 0; y < 68; ++y) {
for (uint x = 0; x < 320; ++x) {
if (*src++ == 1) {
@@ -497,7 +507,7 @@ bool TeenAgentEngine::showMetropolis() {
_system->unlockScreen();
_system->copyRectToScreen(
- varia_9 + (logo_y < 0 ? -logo_y * 320 : 0), 320,
+ varia9Data + (logo_y < 0 ? -logo_y * 320 : 0), 320,
0, logo_y >= 0 ? logo_y : 0,
320, logo_y >= 0 ? 57 : 57 + logo_y);
@@ -509,38 +519,37 @@ bool TeenAgentEngine::showMetropolis() {
_system->delayMillis(100);
}
- free(varia_6);
- free(varia_9);
+ free(varia6Data);
+ free(varia9Data);
free(colors);
return true;
}
Common::Error TeenAgentEngine::run() {
- Resources *res = Resources::instance();
if (!res->loadArchives(_gameDescription))
return Common::kUnknownError;
Common::EventManager *_event = _system->getEventManager();
- initGraphics(320, 200, false);
+ initGraphics(kScreenWidth, kScreenHeight, false);
console = new Console(this);
- scene = new Scene(this, _system);
+ scene = new Scene(this);
inventory = new Inventory(this);
init();
- CursorMan.pushCursor(res->dseg.ptr(0x00da), 8, 12, 0, 0, 1);
+ CursorMan.pushCursor(res->dseg.ptr(dsAddr_cursor), 8, 12, 0, 0, 1);
syncSoundSettings();
setMusic(1);
_mixer->playStream(Audio::Mixer::kMusicSoundType, &_musicHandle, music, -1, Audio::Mixer::kMaxChannelVolume, 0, DisposeAfterUse::NO, false);
- int load_slot = Common::ConfigManager::instance().getInt("save_slot");
- if (load_slot >= 0) {
- loadGameState(load_slot);
+ int loadSlot = ConfMan.getInt("save_slot");
+ if (loadSlot >= 0) {
+ loadGameState(loadSlot);
} else {
if (!showCDLogo())
return Common::kNoError;
@@ -549,32 +558,30 @@ Common::Error TeenAgentEngine::run() {
if (!showMetropolis())
return Common::kNoError;
scene->intro = true;
- scene_busy = true;
- processCallback(0x24c);
+ _sceneBusy = true;
+ fnIntro();
}
CursorMan.showMouse(true);
- uint32 game_timer = 0;
- uint32 mark_timer = 0;
+ uint32 gameTimer = 0;
+ uint32 markTimer = 0;
Common::Event event;
Common::Point mouse;
uint32 timer = _system->getMillis();
do {
- Object *current_object = scene->findObject(mouse);
+ Object *currentObject = scene->findObject(mouse);
while (_event->pollEvent(event)) {
- if (event.type == Common::EVENT_RTL) {
- deinit();
+ if (event.type == Common::EVENT_RTL)
return Common::kNoError;
- }
- if ((!scene_busy && inventory->processEvent(event)) || scene->processEvent(event))
+ if ((!_sceneBusy && inventory->processEvent(event)) || scene->processEvent(event))
continue;
- //debug(0, "event");
+ debug(5, "event");
switch (event.type) {
case Common::EVENT_KEYDOWN:
if ((event.kbd.hasFlags(Common::KBD_CTRL) && event.kbd.keycode == Common::KEYCODE_d) ||
@@ -583,33 +590,33 @@ Common::Error TeenAgentEngine::run() {
} else if (event.kbd.hasFlags(0) && event.kbd.keycode == Common::KEYCODE_F5) {
openMainMenuDialog();
} if (event.kbd.hasFlags(Common::KBD_CTRL) && event.kbd.keycode == Common::KEYCODE_f) {
- _mark_delay = _mark_delay == 80 ? 40 : 80;
- debug(0, "mark_delay = %u", _mark_delay);
+ _markDelay = _markDelay == 80 ? 40 : 80;
+ debug(5, "markDelay = %u", _markDelay);
}
break;
case Common::EVENT_LBUTTONDOWN:
if (scene->getId() < 0)
break;
- examine(event.mouse, current_object);
+ examine(event.mouse, currentObject);
break;
case Common::EVENT_RBUTTONDOWN:
- //if (current_object)
- // debug(0, "%d, %s", current_object->id, current_object->name.c_str());
+ if (currentObject)
+ debugC(0, kDebugObject, "%d, %s", currentObject->id, currentObject->name.c_str());
if (scene->getId() < 0)
break;
- if (current_object == NULL)
+ if (currentObject == NULL)
break;
- if (res->dseg.get_byte(0) == 3 && current_object->id == 1) {
- processCallback(0x5189); //boo!
+ if (res->dseg.get_byte(dsAddr_timedCallbackState) == 3 && currentObject->id == 1) {
+ fnGuardDrinking();
break;
}
- if (res->dseg.get_byte(0) == 4 && current_object->id == 5) {
- processCallback(0x99e0); //getting an anchor
+ if (res->dseg.get_byte(dsAddr_timedCallbackState) == 4 && currentObject->id == 5) {
+ fnGotAnchor();
break;
}
- use(current_object);
+ use(currentObject);
break;
case Common::EVENT_MOUSEMOVE:
mouse = event.mouse;
@@ -622,60 +629,60 @@ Common::Error TeenAgentEngine::run() {
//game delays: slow 16, normal 11, fast 5, crazy 1
//mark delays: 4 * (3 - hero_speed), normal == 1
//game delays in 1/100th of seconds
- uint32 new_timer = _system->getMillis();
- uint32 delta = new_timer - timer;
- timer = new_timer;
+ uint32 newTimer = _system->getMillis();
+ uint32 delta = newTimer - timer;
+ timer = newTimer;
- bool tick_game = game_timer <= delta;
- if (tick_game)
- game_timer = _game_delay - ((delta - game_timer) % _game_delay);
+ bool tickGame = gameTimer <= delta;
+ if (tickGame)
+ gameTimer = _gameDelay - ((delta - gameTimer) % _gameDelay);
else
- game_timer -= delta;
+ gameTimer -= delta;
- bool tick_mark = mark_timer <= delta;
- if (tick_mark)
- mark_timer = _mark_delay - ((delta - mark_timer) % _mark_delay);
+ bool tickMark = markTimer <= delta;
+ if (tickMark)
+ markTimer = _markDelay - ((delta - markTimer) % _markDelay);
else
- mark_timer -= delta;
+ markTimer -= delta;
- if (tick_game || tick_mark) {
- bool b = scene->render(tick_game, tick_mark, delta);
- if (!inventory->active() && !b && action != kActionNone) {
+ if (tickGame || tickMark) {
+ bool b = scene->render(tickGame, tickMark, delta);
+ if (!inventory->active() && !b && _action != kActionNone) {
processObject();
- action = kActionNone;
- dst_object = NULL;
+ _action = kActionNone;
+ _dstObject = NULL;
}
- scene_busy = b;
+ _sceneBusy = b;
}
- _system->showMouse(scene->getMessage().empty() && !scene_busy);
+ _system->showMouse(scene->getMessage().empty() && !_sceneBusy);
- bool busy = inventory->active() || scene_busy;
+ bool busy = inventory->active() || _sceneBusy;
Graphics::Surface *surface = _system->lockScreen();
if (!busy) {
- InventoryObject *selected_object = inventory->selectedObject();
- if (current_object || selected_object) {
+ InventoryObject *selectedObject = inventory->selectedObject();
+ if (currentObject || selectedObject) {
Common::String name;
- if (selected_object) {
- name += selected_object->name;
+ if (selectedObject) {
+ name += selectedObject->name;
name += " & ";
}
- if (current_object)
- name += current_object->name;
+ if (currentObject)
+ name += currentObject->name;
- uint w = res->font7.render(NULL, 0, 0, name, 0xd1);
- res->font7.render(surface, (320 - w) / 2, 180, name, 0xd1, true);
+ uint w = res->font7.render(NULL, 0, 0, name, textColorMark);
+ res->font7.render(surface, (kScreenWidth - w) / 2, 180, name, textColorMark, true);
#if 0
- if (current_object) {
- current_object->rect.render(surface, 0x80);
- current_object->actor_rect.render(surface, 0x81);
+ if (currentObject) {
+ currentObject->rect.render(surface, 0x80);
+ currentObject->actorRect.render(surface, 0x81);
}
#endif
}
}
- inventory->render(surface, tick_game ? 1 : 0);
+ inventory->render(surface, tickGame ? 1 : 0);
_system->unlockScreen();
@@ -683,20 +690,19 @@ Common::Error TeenAgentEngine::run() {
console->onFrame();
- uint32 next_tick = MIN(game_timer, mark_timer);
- if (next_tick > 0) {
- _system->delayMillis(next_tick > 40 ? 40 : next_tick);
+ uint32 nextTick = MIN(gameTimer, markTimer);
+ if (nextTick > 0) {
+ _system->delayMillis(nextTick > 40 ? 40 : nextTick);
}
} while (!shouldQuit());
- deinit();
return Common::kNoError;
}
Common::String TeenAgentEngine::parseMessage(uint16 addr) {
Common::String message;
for (
- const char *str = (const char *)Resources::instance()->dseg.ptr(addr);
+ const char *str = (const char *)res->dseg.ptr(addr);
str[0] != 0 || str[1] != 0;
++str) {
char c = str[0];
@@ -708,12 +714,12 @@ Common::String TeenAgentEngine::parseMessage(uint16 addr) {
return message;
}
-void TeenAgentEngine::displayMessage(const Common::String &str, byte color, uint16 position) {
+void TeenAgentEngine::displayMessage(const Common::String &str, byte color, uint16 x, uint16 y) {
if (str.empty()) {
return;
}
- if (color == 0xd1) { //mark's
+ if (color == textColorMark) { // mark's
SceneEvent e(SceneEvent::kPlayAnimation);
e.animation = 0;
e.slot = 0x80;
@@ -725,8 +731,8 @@ void TeenAgentEngine::displayMessage(const Common::String &str, byte color, uint
event.message = str;
event.color = color;
event.slot = 0;
- event.dst.x = position % 320;
- event.dst.y = position / 320;
+ event.dst.x = x;
+ event.dst.y = y;
scene->push(event);
}
@@ -738,46 +744,45 @@ void TeenAgentEngine::displayMessage(const Common::String &str, byte color, uint
}
}
-void TeenAgentEngine::displayMessage(uint16 addr, byte color, uint16 position) {
- displayMessage(parseMessage(addr), color, position);
+void TeenAgentEngine::displayMessage(uint16 addr, byte color, uint16 x, uint16 y) {
+ displayMessage(parseMessage(addr), color, x, y);
}
-void TeenAgentEngine::displayAsyncMessage(uint16 addr, uint16 position, uint16 first_frame, uint16 last_frame, byte color) {
+void TeenAgentEngine::displayAsyncMessage(uint16 addr, uint16 x, uint16 y, uint16 firstFrame, uint16 lastFrame, byte color) {
SceneEvent event(SceneEvent::kMessage);
event.message = parseMessage(addr);
event.slot = 0;
event.color = color;
- event.dst.x = position % 320;
- event.dst.y = position / 320;
- event.first_frame = first_frame;
- event.last_frame = last_frame;
+ event.dst.x = x;
+ event.dst.y = y;
+ event.firstFrame = firstFrame;
+ event.lastFrame = lastFrame;
scene->push(event);
}
-void TeenAgentEngine::displayAsyncMessageInSlot(uint16 addr, byte slot, uint16 first_frame, uint16 last_frame, byte color) {
+void TeenAgentEngine::displayAsyncMessageInSlot(uint16 addr, byte slot, uint16 firstFrame, uint16 lastFrame, byte color) {
SceneEvent event(SceneEvent::kMessage);
event.message = parseMessage(addr);
event.slot = slot + 1;
event.color = color;
- event.first_frame = first_frame;
- event.last_frame = last_frame;
+ event.firstFrame = firstFrame;
+ event.lastFrame = lastFrame;
scene->push(event);
}
-
void TeenAgentEngine::displayCredits(uint16 addr, uint16 timer) {
SceneEvent event(SceneEvent::kCreditsMessage);
- const byte *src = Resources::instance()->dseg.ptr(addr);
+ const byte *src = res->dseg.ptr(addr);
event.orientation = *src++;
event.color = *src++;
event.lan = 8;
event.dst.y = *src;
while (true) {
- ++src; //skip y position
+ ++src; // skip y position
Common::String line((const char *)src);
event.message += line;
src += line.size() + 1;
@@ -785,33 +790,33 @@ void TeenAgentEngine::displayCredits(uint16 addr, uint16 timer) {
break;
event.message += "\n";
}
- int w = Resources::instance()->font8.render(NULL, 0, 0, event.message, 0xd1);
- event.dst.x = (320 - w) / 2;
+ int w = res->font8.render(NULL, 0, 0, event.message, textColorCredits);
+ event.dst.x = (kScreenWidth - w) / 2;
event.timer = timer;
scene->push(event);
}
void TeenAgentEngine::displayCredits() {
SceneEvent event(SceneEvent::kCredits);
- event.message = parseMessage(0xe488);
- event.dst.y = 200;
+ event.message = parseMessage(dsAddr_finalCredits7);
+ event.dst.y = kScreenHeight;
int lines = 1;
for (uint i = 0; i < event.message.size(); ++i)
if (event.message[i] == '\n')
++lines;
- event.dst.x = (320 - Resources::instance()->font7.render(NULL, 0, 0, event.message, 0xd1)) / 2;
+ event.dst.x = (kScreenWidth - res->font7.render(NULL, 0, 0, event.message, textColorCredits)) / 2;
event.timer = 11 * lines - event.dst.y + 22;
- //debug(0, "credits = %s", event.message.c_str());
+ debug(2, "credits = %s", event.message.c_str());
scene->push(event);
}
-void TeenAgentEngine::displayCutsceneMessage(uint16 addr, uint16 position) {
+void TeenAgentEngine::displayCutsceneMessage(uint16 addr, uint16 x, uint16 y) {
SceneEvent event(SceneEvent::kCreditsMessage);
event.message = parseMessage(addr);
- event.dst.x = position % 320;
- event.dst.y = position / 320;
+ event.dst.x = x;
+ event.dst.y = y;
event.lan = 7;
scene->push(event);
@@ -822,7 +827,7 @@ void TeenAgentEngine::moveTo(const Common::Point &dst, byte o, bool warp) {
}
void TeenAgentEngine::moveTo(Object *obj) {
- moveTo(obj->actor_rect.right, obj->actor_rect.bottom, obj->actor_orientation);
+ moveTo(obj->actorRect.right, obj->actorRect.bottom, obj->actorOrientation);
}
void TeenAgentEngine::moveTo(uint16 x, uint16 y, byte o, bool warp) {
@@ -865,7 +870,6 @@ void TeenAgentEngine::playActorAnimation(uint16 id, bool async, bool ignore) {
waitAnimation();
}
-
void TeenAgentEngine::loadScene(byte id, const Common::Point &pos, byte o) {
loadScene(id, pos.x, pos.y, o);
}
@@ -890,21 +894,21 @@ void TeenAgentEngine::enableOn(bool enable) {
scene->push(event);
}
-void TeenAgentEngine::setOns(byte id, byte value, byte scene_id) {
+void TeenAgentEngine::setOns(byte id, byte value, byte sceneId) {
SceneEvent event(SceneEvent::kSetOn);
event.ons = id + 1;
event.color = value;
- event.scene = scene_id;
+ event.scene = sceneId;
scene->push(event);
}
-void TeenAgentEngine::setLan(byte id, byte value, byte scene_id) {
+void TeenAgentEngine::setLan(byte id, byte value, byte sceneId) {
if (id == 0)
error("setting lan 0 is invalid");
SceneEvent event(SceneEvent::kSetLan);
event.lan = id;
event.color = value;
- event.scene = scene_id;
+ event.scene = sceneId;
scene->push(event);
}
@@ -925,35 +929,34 @@ void TeenAgentEngine::reloadLan() {
scene->push(event);
}
-
void TeenAgentEngine::playMusic(byte id) {
SceneEvent event(SceneEvent::kPlayMusic);
event.music = id;
scene->push(event);
}
-void TeenAgentEngine::playSound(byte id, byte skip_frames) {
- if (skip_frames > 0)
- --skip_frames;
+void TeenAgentEngine::playSound(byte id, byte skipFrames) {
+ if (skipFrames > 0)
+ --skipFrames;
SceneEvent event(SceneEvent::kPlaySound);
event.sound = id;
- event.color = skip_frames;
+ event.color = skipFrames;
scene->push(event);
}
-void TeenAgentEngine::enableObject(byte id, byte scene_id) {
+void TeenAgentEngine::enableObject(byte id, byte sceneId) {
SceneEvent event(SceneEvent::kEnableObject);
event.object = id + 1;
event.color = 1;
- event.scene = scene_id;
+ event.scene = sceneId;
scene->push(event);
}
-void TeenAgentEngine::disableObject(byte id, byte scene_id) {
+void TeenAgentEngine::disableObject(byte id, byte sceneId) {
SceneEvent event(SceneEvent::kEnableObject);
event.object = id + 1;
event.color = 0;
- event.scene = scene_id;
+ event.scene = sceneId;
scene->push(event);
}
@@ -1015,7 +1018,6 @@ void TeenAgentEngine::wait(uint16 frames) {
}
void TeenAgentEngine::playSoundNow(byte id) {
- Resources *res = Resources::instance();
uint size = res->sam_sam.getSize(id);
if (size == 0) {
warning("skipping invalid sound %u", id);
@@ -1024,28 +1026,26 @@ void TeenAgentEngine::playSoundNow(byte id) {
byte *data = (byte *)malloc(size);
res->sam_sam.read(id, data, size);
- //debug(0, "playing %u samples...", size);
+ debug(3, "playing %u samples...", size);
Audio::AudioStream *stream = Audio::makeRawStream(data, size, 11025, 0);
- _mixer->playStream(Audio::Mixer::kSFXSoundType, &_soundHandle, stream); //dispose is YES by default
+ _mixer->playStream(Audio::Mixer::kSFXSoundType, &_soundHandle, stream); // dispose is YES by default
}
-
void TeenAgentEngine::setMusic(byte id) {
- debug(0, "starting music %u", id);
- Resources *res = Resources::instance();
+ debugC(0, kDebugMusic, "starting music %u", id);
- if (id != 1) //intro music
- *res->dseg.ptr(0xDB90) = id;
+ if (id != 1) // intro music
+ res->dseg.set_byte(dsAddr_currentMusic, id);
if (_gameDescription->flags & ADGF_CD) {
byte track2cd[] = {7, 2, 0, 9, 3, 6, 8, 10, 4, 5, 11};
if (id == 0 || id > 11 || track2cd[id - 1] == 0) {
- debug(0, "no cd music for id %u", id);
+ debugC(0, kDebugMusic, "no cd music for id %u", id);
return;
}
byte track = track2cd[id - 1];
- debug(0, "playing cd track %u", track);
+ debugC(0, kDebugMusic, "playing cd track %u", track);
_system->getAudioCDManager()->play(track, -1, 0, 0);
} else if (music->load(id))
music->start();
diff --git a/engines/teenagent/teenagent.h b/engines/teenagent/teenagent.h
index 737f07ba85..d6a2c0d3c6 100644
--- a/engines/teenagent/teenagent.h
+++ b/engines/teenagent/teenagent.h
@@ -23,12 +23,15 @@
#define TEENAGENT_ENGINE_H
#include "engines/engine.h"
-#include "teenagent/pack.h"
-#include "teenagent/resources.h"
-#include "teenagent/inventory.h"
+
#include "audio/audiostream.h"
#include "audio/mixer.h"
+
#include "common/random.h"
+#include "common/rect.h"
+#include "common/array.h"
+
+#include "teenagent/dialog.h"
struct ADGameDescription;
@@ -43,14 +46,34 @@ struct ADGameDescription;
namespace TeenAgent {
struct Object;
+struct UseHotspot;
class Scene;
class MusicPlayer;
+class Dialog;
class Console;
+class Resources;
+class Inventory;
+
+// Engine Debug Flags
+enum {
+ kDebugActor = (1 << 0),
+ kDebugAnimation = (1 << 1),
+ kDebugCallbacks = (1 << 2),
+ kDebugDialog = (1 << 3),
+ kDebugFont = (1 << 4),
+ kDebugInventory = (1 << 5),
+ kDebugMusic = (1 << 6),
+ kDebugObject = (1 << 7),
+ kDebugPack = (1 << 8),
+ kDebugScene = (1 << 9),
+ kDebugSurface = (1 << 10)
+};
+
+const uint16 kScreenWidth = 320;
+const uint16 kScreenHeight = 200;
class TeenAgentEngine : public Engine {
public:
- enum Action { kActionNone, kActionExamine, kActionUse };
-
TeenAgentEngine(OSystem *system, const ADGameDescription *gd);
~TeenAgentEngine();
@@ -58,15 +81,16 @@ public:
virtual Common::Error loadGameState(int slot);
virtual Common::Error saveGameState(int slot, const Common::String &desc);
virtual bool canLoadGameStateCurrently() { return true; }
- virtual bool canSaveGameStateCurrently() { return !scene_busy; }
+ virtual bool canSaveGameStateCurrently() { return !_sceneBusy; }
virtual bool hasFeature(EngineFeature f) const;
void init();
- void deinit();
+
+ enum Action { kActionNone, kActionExamine, kActionUse };
void examine(const Common::Point &point, Object *object);
void use(Object *object);
- inline void cancel() { action = kActionNone; }
+ inline void cancel() { _action = kActionNone; }
bool processCallback(uint16 addr);
inline Scene *getScene() { return scene; }
@@ -76,15 +100,15 @@ public:
bool showMetropolis();
int skipEvents() const;
- static Common::String parseMessage(uint16 addr);
+ Common::String parseMessage(uint16 addr);
//event driven:
- void displayMessage(uint16 addr, byte color = 0xd1, uint16 position = 0);
- void displayMessage(const Common::String &str, byte color = 0xd1, uint16 position = 0);
- void displayAsyncMessage(uint16 addr, uint16 position, uint16 first_frame, uint16 last_frame, byte color = 0xd1);
- void displayAsyncMessageInSlot(uint16 addr, byte slot, uint16 first_frame, uint16 last_frame, byte color = 0xd1);
+ void displayMessage(uint16 addr, byte color = textColorMark, uint16 x = 0, uint16 y = 0);
+ void displayMessage(const Common::String &str, byte color = textColorMark, uint16 x = 0, uint16 y = 0);
+ void displayAsyncMessage(uint16 addr, uint16 x, uint16 y, uint16 firstFrame, uint16 lastFrame, byte color = textColorMark);
+ void displayAsyncMessageInSlot(uint16 addr, byte slot, uint16 firstFrame, uint16 lastFrame, byte color = textColorMark);
void displayCredits(uint16 addr, uint16 timer = 0);
- void displayCutsceneMessage(uint16 addr, uint16 position);
+ void displayCutsceneMessage(uint16 addr, uint16 x, uint16 y);
void moveTo(const Common::Point &dst, byte o, bool warp = false);
void moveTo(uint16 x, uint16 y, byte o, bool warp = false);
void moveTo(Object *obj);
@@ -94,18 +118,18 @@ public:
void loadScene(byte id, const Common::Point &pos, byte o = 0);
void loadScene(byte id, uint16 x, uint16 y, byte o = 0);
void enableOn(bool enable = true);
- void setOns(byte id, byte value, byte scene_id = 0);
- void setLan(byte id, byte value, byte scene_id = 0);
+ void setOns(byte id, byte value, byte sceneId = 0);
+ void setLan(byte id, byte value, byte sceneId = 0);
void setFlag(uint16 addr, byte value);
byte getFlag(uint16 addr);
void reloadLan();
void rejectMessage();
void playMusic(byte id); //schedules play
- void playSound(byte id, byte skip_frames);
+ void playSound(byte id, byte skipFrames);
void playSoundNow(byte id);
- void enableObject(byte id, byte scene_id = 0);
- void disableObject(byte id, byte scene_id = 0);
+ void enableObject(byte id, byte sceneId = 0);
+ void disableObject(byte id, byte sceneId = 0);
void hideActor();
void showActor();
void waitAnimation();
@@ -119,9 +143,11 @@ public:
Common::RandomSource _rnd;
+ Resources *res;
Scene *scene;
Inventory *inventory;
MusicPlayer *music;
+ Dialog *dialog;
Console *console;
void setMusic(byte id);
@@ -130,17 +156,47 @@ private:
void processObject();
bool trySelectedObject();
- bool scene_busy;
- Action action;
- Object *dst_object;
+ bool _sceneBusy;
+ Action _action;
+ Object *_dstObject;
Audio::AudioStream *_musicStream;
Audio::SoundHandle _musicHandle, _soundHandle;
const ADGameDescription *_gameDescription;
- uint _mark_delay, _game_delay;
-
- Common::Array<Common::Array<UseHotspot> > use_hotspots;
+ uint _markDelay, _gameDelay;
+
+ Common::Array<Common::Array<UseHotspot> > _useHotspots;
+
+ void fnIntro();
+ void fnPoleClimbFail();
+ void fnGotAnchor();
+ void fnGetOutOfLake();
+ void fnGuardDrinking();
+ void fnEgoDefaultPosition();
+ void fnEnterCave();
+ void fnEgoScaredBySpider();
+ void fnMoveToLadderAndLeaveCellar();
+ void fnLeaveCellar();
+ void fnPutRockInHole();
+ void fnEgoBottomRightTurn();
+ bool fnCheckingDrawers();
+ void fnDrawerOpenMessage();
+ bool fnRobotSafeAlreadyUnlockedCheck();
+ void fnRobotSafeUnlockCheck();
+ bool fnMansionIntrusionAttempt();
+ void fnSecondMansionIntrusion();
+ void fnThirdMansionIntrusion();
+ void fnFourthMansionIntrusion();
+ void fnFifthMansionIntrusion();
+ void fnSixthMansionIntrusion();
+ void fnTooDark();
+ bool fnIsCookGone();
+ void fnEgoSuspiciousPosition();
+ void fnGivingFlowerToOldLady();
+ void fnGiveAnotherFlowerToOldLady();
+ void fnGivingFlowerToAnne();
+ void fnGiveAnotherFlowerToAnne();
};
} // End of namespace TeenAgent