From b33718180c4aca4f5b68538aca2a0e8cbade53b1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?L=C3=A1szl=C3=B3=20Moln=C3=A1r?= Date: Thu, 29 Jun 2006 18:21:01 +0200 Subject: [PATCH] ElfLinkerX86 introduced. Simple alignment handling added to ElfLinker. dos/exe device drivers can be compressed again. --- src/linker.cpp | 90 ++++--- src/linker.h | 18 ++ src/p_com.cpp | 2 +- src/p_exe.cpp | 2 +- src/stub/i086-dos16.exe.h | 404 ++++++++++++++++---------------- src/stub/src/i086-dos16.exe.asm | 3 +- 6 files changed, 286 insertions(+), 233 deletions(-) diff --git a/src/linker.cpp b/src/linker.cpp index 0f561dd7..1d038944 100644 --- a/src/linker.cpp +++ b/src/linker.cpp @@ -495,6 +495,7 @@ void ElfLinker::init(const void *pdata, int plen, int) void ElfLinker::setLoaderAlignOffset(int phase) { + // FIXME: do not use this yet assert(phase & 0); } @@ -516,7 +517,7 @@ int ElfLinker::addSection(const char *sname) } if (*sect == '+') // alignment - printf("alignment skipped %s\n", sect); + align(hex(sect[1]), hex(sect[2])); else { Section *section = findSection(sect); @@ -593,33 +594,7 @@ void ElfLinker::relocate() unsigned char *location = rel->section->output + rel->offset; - if (strcmp(rel->type, "R_386_PC8") == 0) - { - value -= location - output; - *location += value; - } - else if (strcmp(rel->type, "R_386_PC16") == 0) - { - value -= location - output; - set_le16(location, get_le16(location) + value); - } - else if (strcmp(rel->type, "R_386_32") == 0) - { - set_le32(location, get_le32(location) + value); - } - else if (strcmp(rel->type, "R_386_16") == 0) - { - set_le16(location, get_le16(location) + value); - } - else if (strcmp(rel->type, "R_386_8") == 0) - { - *location += value; - } - else - { - printf("unknown relocation type '%s\n", rel->type); - abort(); - } + relocate1(rel, location, value, rel->type); } } @@ -632,6 +607,65 @@ void ElfLinker::defineSymbol(const char *name, unsigned value) printf("symbol '%s' already defined\n", name); } +void ElfLinker::alignWithByte(unsigned modulus, unsigned remainder, + unsigned char b) +{ + unsigned l = (remainder - outputlen) % modulus; + memset(output + outputlen, b, l); + outputlen += l; +} + +void ElfLinker::align(unsigned modulus, unsigned remainder) +{ + alignWithByte(modulus, remainder, 0); +} + +void ElfLinker::relocate1(Relocation *rel, unsigned char *, + unsigned, const char *) +{ + printf("unknown relocation type '%s\n", rel->type); + abort(); +} + +void ElfLinkerX86::align(unsigned modulus, unsigned remainder) +{ + alignWithByte(modulus, remainder, 0x90); +} + +void ElfLinkerX86::relocate1(Relocation *rel, unsigned char *location, + unsigned value, const char *type) +{ + if (strcmp(rel->type, "R_386_PC8") == 0) + { + value -= location - output; + *location += value; + } + else if (strcmp(rel->type, "R_386_PC16") == 0) + { + value -= location - output; + set_le16(location, get_le16(location) + value); + } + else if (strcmp(rel->type, "R_386_PC32") == 0) + { + value -= location - output; + set_le32(location, get_le32(location) + value); + } + else if (strcmp(rel->type, "R_386_32") == 0) + { + set_le32(location, get_le32(location) + value); + } + else if (strcmp(rel->type, "R_386_16") == 0) + { + set_le16(location, get_le16(location) + value); + } + else if (strcmp(rel->type, "R_386_8") == 0) + { + *location += value; + } + else + super::relocate1(rel, location, value, type); +} + /* vi:ts=4:et */ diff --git a/src/linker.h b/src/linker.h index 261b53bc..4a57a679 100644 --- a/src/linker.h +++ b/src/linker.h @@ -153,6 +153,7 @@ class ElfLinker : public Linker { typedef Linker super; +protected: struct Section { const char *name; @@ -228,6 +229,23 @@ protected: virtual unsigned get32(const void *) const { return 0; } virtual void set32(void *, unsigned) const {} + + // + + void alignWithByte(unsigned modulus, unsigned remainder, unsigned char b); + virtual void align(unsigned modulus, unsigned remainder); + virtual void relocate1(Relocation *, unsigned char *location, + unsigned value, const char *type); +}; + +class ElfLinkerX86 : public ElfLinker +{ + typedef ElfLinker super; + +protected: + virtual void align(unsigned modulus, unsigned remainder); + virtual void relocate1(Relocation *, unsigned char *location, + unsigned value, const char *type); }; diff --git a/src/p_com.cpp b/src/p_com.cpp index 0b507c4f..34551076 100644 --- a/src/p_com.cpp +++ b/src/p_com.cpp @@ -272,7 +272,7 @@ void PackCom::unpack(OutputFile *fo) Linker* PackCom::newLinker() const { - return new ElfLinker(); + return new ElfLinkerX86(); } diff --git a/src/p_exe.cpp b/src/p_exe.cpp index 88724669..e3ebb73e 100644 --- a/src/p_exe.cpp +++ b/src/p_exe.cpp @@ -710,7 +710,7 @@ void PackExe::unpack(OutputFile *fo) Linker* PackExe::newLinker() const { - return new ElfLinker(); + return new ElfLinkerX86(); } diff --git a/src/stub/i086-dos16.exe.h b/src/stub/i086-dos16.exe.h index 3643bcd2..2083c98e 100644 --- a/src/stub/i086-dos16.exe.h +++ b/src/stub/i086-dos16.exe.h @@ -28,8 +28,8 @@ #define NRV_LOADER_SIZE 25128 -#define NRV_LOADER_ADLER32 0x26ca3ba3 -#define NRV_LOADER_CRC32 0x778b7b69 +#define NRV_LOADER_ADLER32 0x25923aac +#define NRV_LOADER_CRC32 0x804dc78a unsigned char nrv_loader[25128] = { 127, 69, 76, 70, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* 0x 0 */ @@ -40,91 +40,91 @@ unsigned char nrv_loader[25128] = { 0, 0,140,209,137,226,142,208,137,220, 81, 82, 86, 87, 85, 30, /* 0x 50 */ 6,114,249,156,185, 0, 0,190, 0, 0,137,247, 30,169,181,128, /* 0x 60 */ 140,200, 5, 0, 0,142,216, 5, 0, 0,142,192,253,243,165,252, /* 0x 70 */ - 46,128,172, 18, 0, 16, 46,128,108, 18, 16,115, 9,146,175,173, /* 0x 80 */ - 14, 14, 14, 6, 31, 7, 22,189, 0, 0,187, 0, 0, 85,203, 85, /* 0x 90 */ - 80, 88, 33,161,216,208,213, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* 0x a0 */ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 45,164, 0,255,117, 3,232, /* 0x b0 */ - 17, 0,114,246, 65,140,192, 1,255,115, 5,128,196, 8,142,192, /* 0x c0 */ -209,239,232, 4, 0,227, 3,115,249, 73, 73,116, 8, 1,201, 1, /* 0x d0 */ -201, 1,201, 1,201,193,225, 4,137,205,138, 28, 70,246,211, 49, /* 0x e0 */ -201,232, 4, 0, 17,201,117, 8, 65,232, 4, 0,115,251, 65, 65, /* 0x f0 */ -129,253,209, 0,131,217,254, 41,232,114, 14,142,216,141, 1, 40, /* 0x 100 */ -252,150,243,164,150,142,218,235, 0,209,224,209,224,209,224,209, /* 0x 110 */ -224, 80, 49,192,142,216, 88,193,224, 4,106, 0, 31, 1,216, 1, /* 0x 120 */ -248,235, 38, 0,255,117, 3,232, 6, 0, 17,201, 0,255,117, 2, /* 0x 130 */ -138, 60, 17,246,115, 5,128,198, 8,142,218,209,238, 70, 16,255, /* 0x 140 */ -195,164, 0,255,117, 3,232, 17, 0,114,246, 65,140,192, 1,255, /* 0x 150 */ -115, 5,128,196, 8,142,192,209,239,232, 4, 0,114, 10, 73,232, /* 0x 160 */ - 13, 0, 17,201,121,243,235, 3, 73, 73,116, 12, 1,201, 1,201, /* 0x 170 */ - 1,201,193,225, 3,137,205,138, 28, 70,246,211, 49,201,208,235, /* 0x 180 */ -235, 3,232, 13, 0, 17,201,232, 13, 0, 17,201,117, 8, 65,232, /* 0x 190 */ - 4, 0,115,251, 65, 65,131,253, 81,131,217,254, 41,232,114, 14, /* 0x 1a0 */ -142,216,141, 1, 40,252,150,243,164,150,142,218,235, 0,209,224, /* 0x 1b0 */ -209,224,209,224,209,224, 80, 49,192,142,216, 88,193,224, 4,106, /* 0x 1c0 */ - 0, 31, 1,216, 1,248,235, 46, 0,255,117, 3,232, 6, 0, 17, /* 0x 1d0 */ -201, 0,255,117, 2,138, 60, 17,246,115, 5,128,198, 8,142,218, /* 0x 1e0 */ -209,238, 70, 16,255,195,164, 0,255,117, 3,232, 17, 0,114,246, /* 0x 1f0 */ - 65,140,192, 1,255,115, 5,128,196, 8,142,192,209,239,232, 4, /* 0x 200 */ - 0,114, 10, 73,232, 13, 0, 17,201,121,243,235, 3, 73, 73,116, /* 0x 210 */ - 19, 1,201, 1,201, 1,201,193,225, 3,137,205,138, 28, 70,246, /* 0x 220 */ -211, 49,201,208,235,115, 12,232, 13, 0, 17,201,235, 18,232, 13, /* 0x 230 */ - 0,114,244, 65,232, 13, 0,114,238,232, 4, 0,115,251, 65, 65, /* 0x 240 */ -131,253, 81,131,217,253, 41,232,114, 14,142,216,141, 1, 40,252, /* 0x 250 */ -150,243,164,150,142,218,235, 0,209,224,209,224,209,224,209,224, /* 0x 260 */ - 80, 49,192,142,216, 88,193,224, 4,106, 0, 31, 1,216, 1,248, /* 0x 270 */ -235, 51, 0,255,117, 3,232, 6, 0, 17,201, 0,255,117, 2,138, /* 0x 280 */ - 60, 17,246,115, 5,128,198, 8,142,218,209,238, 70, 16,255,195, /* 0x 290 */ - 93,140,192,128,236, 6,142,216, 6, 31,141,181, 0, 0,173, 91, /* 0x 2a0 */ -145,173,146,173,151,173, 1,195,142,195, 49,192, 1,199, 38, 1, /* 0x 2b0 */ - 45,172, 72,116,255, 64,117,244, 71, 71, 38,128, 61,154,117,249, /* 0x 2c0 */ - 38, 57, 85, 3,119,243,176, 3,235, 17,129,199,254, 0,114, 8, /* 0x 2d0 */ -226, 22, 7, 6, 31,157,114, 16, 7, 31, 93, 95, 94, 91, 88,142, /* 0x 2e0 */ -208,137,220, 90, 89, 91, 88,203,141,134, 0, 0,142,208,188, 0, /* 0x 2f0 */ - 0,234, 0, 0, 0, 0,129,197, 0, 0, 85,184, 0, 0, 80,203, /* 0x 300 */ - 6, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0,105, 56, 48, 56, /* 0x 310 */ - 54, 0, 0, 0, 0, 46,115,121,109,116, 97, 98, 0, 46,115,116, /* 0x 320 */ -114,116, 97, 98, 0, 46,115,104,115,116,114,116, 97, 98, 0, 46, /* 0x 330 */ -116,101,120,116, 0, 46,100, 97,116, 97, 0, 46, 98,115,115, 0, /* 0x 340 */ - 46,114,101,108, 68, 69, 86, 73, 67, 69, 69, 78, 84, 82, 89, 0, /* 0x 350 */ - 46,114,101,108, 69, 88, 69, 69, 78, 84, 82, 89, 0, 46,114,101, /* 0x 360 */ -108, 68, 69, 86, 73, 67, 69, 83, 85, 66, 0, 69, 88, 69, 83, 85, /* 0x 370 */ - 66, 0, 46,114,101,108, 74, 78, 67, 68, 79, 67, 79, 80, 89, 0, /* 0x 380 */ - 69, 88, 69, 82, 69, 76, 80, 85, 0, 46,114,101,108, 69, 88, 69, /* 0x 390 */ - 77, 65, 73, 78, 52, 0, 85, 80, 88, 49, 72, 69, 65, 68, 0, 69, /* 0x 3a0 */ - 88, 69, 67, 85, 84, 80, 79, 0, 46,114,101,108, 78, 82, 86, 50, /* 0x 3b0 */ - 66, 49, 54, 83, 0, 78, 50, 66, 54, 52, 75, 48, 49, 0, 46,114, /* 0x 3c0 */ -101,108, 78, 82, 86, 50, 66, 69, 88, 49, 0, 78, 50, 66, 88, 56, /* 0x 3d0 */ - 54, 48, 49, 0, 78, 50, 66, 50, 56, 54, 48, 49, 0, 46,114,101, /* 0x 3e0 */ -108, 78, 82, 86, 50, 66, 69, 88, 50, 0, 78, 50, 66, 88, 56, 54, /* 0x 3f0 */ - 48, 50, 0, 78, 50, 66, 50, 56, 54, 48, 50, 0, 46,114,101,108, /* 0x 400 */ - 78, 82, 86, 50, 66, 69, 88, 51, 0, 78, 50, 66, 54, 52, 75, 48, /* 0x 410 */ - 50, 0, 78, 82, 86, 50, 66, 69, 88, 57, 0, 46,114,101,108, 78, /* 0x 420 */ - 82, 86, 50, 68, 49, 54, 83, 0, 78, 50, 68, 54, 52, 75, 48, 49, /* 0x 430 */ - 0, 46,114,101,108, 78, 82, 86, 50, 68, 69, 88, 49, 0, 78, 50, /* 0x 440 */ - 68, 88, 56, 54, 48, 49, 0, 78, 50, 68, 50, 56, 54, 48, 49, 0, /* 0x 450 */ - 46,114,101,108, 78, 82, 86, 50, 68, 69, 88, 50, 0, 78, 50, 68, /* 0x 460 */ - 88, 56, 54, 48, 50, 0, 78, 50, 68, 50, 56, 54, 48, 50, 0, 46, /* 0x 470 */ -114,101,108, 78, 82, 86, 50, 68, 69, 88, 51, 0, 78, 50, 68, 54, /* 0x 480 */ - 52, 75, 48, 50, 0, 78, 82, 86, 50, 68, 69, 88, 57, 0, 46,114, /* 0x 490 */ -101,108, 78, 82, 86, 50, 69, 49, 54, 83, 0, 78, 50, 69, 54, 52, /* 0x 4a0 */ - 75, 48, 49, 0, 46,114,101,108, 78, 82, 86, 50, 69, 69, 88, 49, /* 0x 4b0 */ - 0, 78, 50, 69, 88, 56, 54, 48, 49, 0, 78, 50, 69, 50, 56, 54, /* 0x 4c0 */ - 48, 49, 0, 46,114,101,108, 78, 82, 86, 50, 69, 69, 88, 50, 0, /* 0x 4d0 */ - 78, 50, 69, 88, 56, 54, 48, 50, 0, 78, 50, 69, 50, 56, 54, 48, /* 0x 4e0 */ - 50, 0, 46,114,101,108, 78, 82, 86, 50, 69, 69, 88, 51, 0, 78, /* 0x 4f0 */ - 50, 69, 54, 52, 75, 48, 50, 0, 78, 82, 86, 50, 69, 69, 88, 57, /* 0x 500 */ - 0, 69, 88, 69, 77, 65, 73, 78, 53, 0, 69, 88, 69, 65, 68, 74, /* 0x 510 */ - 85, 83, 0, 69, 88, 69, 78, 79, 65, 68, 74, 0, 46,114,101,108, /* 0x 520 */ - 69, 88, 69, 82, 69, 76, 79, 49, 0, 46,114,101,108, 69, 88, 69, /* 0x 530 */ - 82, 69, 76, 57, 65, 0, 69, 88, 69, 82, 69, 76, 79, 50, 0, 46, /* 0x 540 */ -114,101,108, 69, 88, 69, 82, 69, 66, 73, 71, 0, 46,114,101,108, /* 0x 550 */ - 69, 88, 69, 82, 69, 76, 79, 51, 0, 69, 88, 69, 77, 65, 73, 78, /* 0x 560 */ - 56, 0, 68, 69, 86, 73, 67, 69, 69, 78, 68, 0, 46,114,101,108, /* 0x 570 */ - 69, 88, 69, 83, 84, 65, 67, 75, 0, 46,114,101,108, 69, 88, 69, /* 0x 580 */ - 83, 84, 65, 83, 80, 0, 46,114,101,108, 69, 88, 69, 74, 85, 77, /* 0x 590 */ - 80, 70, 0, 46,114,101,108, 69, 88, 69, 82, 67, 83, 80, 79, 0, /* 0x 5a0 */ - 46,114,101,108, 69, 88, 69, 82, 69, 84, 73, 80, 0, 46,110,111, /* 0x 5b0 */ -116,101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* 0x 5c0 */ + 46,128,108, 18, 16, 46,128,108, 18, 16,115, 9,146,175,173, 14, /* 0x 80 */ + 14, 14, 6, 31, 7, 22,189, 0, 0,187, 0, 0, 85,203, 85, 80, /* 0x 90 */ + 88, 33,161,216,208,213, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* 0x a0 */ + 0, 0, 0, 0, 0, 0, 0, 0, 45,164, 0,255,117, 3,232, 17, /* 0x b0 */ + 0,114,246, 65,140,192, 1,255,115, 5,128,196, 8,142,192,209, /* 0x c0 */ +239,232, 4, 0,227, 3,115,249, 73, 73,116, 8, 1,201, 1,201, /* 0x d0 */ + 1,201, 1,201,193,225, 4,137,205,138, 28, 70,246,211, 49,201, /* 0x e0 */ +232, 4, 0, 17,201,117, 8, 65,232, 4, 0,115,251, 65, 65,129, /* 0x f0 */ +253,209, 0,131,217,254, 41,232,114, 14,142,216,141, 1, 40,252, /* 0x 100 */ +150,243,164,150,142,218,235, 0,209,224,209,224,209,224,209,224, /* 0x 110 */ + 80, 49,192,142,216, 88,193,224, 4,106, 0, 31, 1,216, 1,248, /* 0x 120 */ +235, 38, 0,255,117, 3,232, 6, 0, 17,201, 0,255,117, 2,138, /* 0x 130 */ + 60, 17,246,115, 5,128,198, 8,142,218,209,238, 70, 16,255,195, /* 0x 140 */ +164, 0,255,117, 3,232, 17, 0,114,246, 65,140,192, 1,255,115, /* 0x 150 */ + 5,128,196, 8,142,192,209,239,232, 4, 0,114, 10, 73,232, 13, /* 0x 160 */ + 0, 17,201,121,243,235, 3, 73, 73,116, 12, 1,201, 1,201, 1, /* 0x 170 */ +201,193,225, 3,137,205,138, 28, 70,246,211, 49,201,208,235,235, /* 0x 180 */ + 3,232, 13, 0, 17,201,232, 13, 0, 17,201,117, 8, 65,232, 4, /* 0x 190 */ + 0,115,251, 65, 65,131,253, 81,131,217,254, 41,232,114, 14,142, /* 0x 1a0 */ +216,141, 1, 40,252,150,243,164,150,142,218,235, 0,209,224,209, /* 0x 1b0 */ +224,209,224,209,224, 80, 49,192,142,216, 88,193,224, 4,106, 0, /* 0x 1c0 */ + 31, 1,216, 1,248,235, 46, 0,255,117, 3,232, 6, 0, 17,201, /* 0x 1d0 */ + 0,255,117, 2,138, 60, 17,246,115, 5,128,198, 8,142,218,209, /* 0x 1e0 */ +238, 70, 16,255,195,164, 0,255,117, 3,232, 17, 0,114,246, 65, /* 0x 1f0 */ +140,192, 1,255,115, 5,128,196, 8,142,192,209,239,232, 4, 0, /* 0x 200 */ +114, 10, 73,232, 13, 0, 17,201,121,243,235, 3, 73, 73,116, 19, /* 0x 210 */ + 1,201, 1,201, 1,201,193,225, 3,137,205,138, 28, 70,246,211, /* 0x 220 */ + 49,201,208,235,115, 12,232, 13, 0, 17,201,235, 18,232, 13, 0, /* 0x 230 */ +114,244, 65,232, 13, 0,114,238,232, 4, 0,115,251, 65, 65,131, /* 0x 240 */ +253, 81,131,217,253, 41,232,114, 14,142,216,141, 1, 40,252,150, /* 0x 250 */ +243,164,150,142,218,235, 0,209,224,209,224,209,224,209,224, 80, /* 0x 260 */ + 49,192,142,216, 88,193,224, 4,106, 0, 31, 1,216, 1,248,235, /* 0x 270 */ + 51, 0,255,117, 3,232, 6, 0, 17,201, 0,255,117, 2,138, 60, /* 0x 280 */ + 17,246,115, 5,128,198, 8,142,218,209,238, 70, 16,255,195, 93, /* 0x 290 */ +140,192,128,236, 6,142,216, 6, 31,141,181, 0, 0,173, 91,145, /* 0x 2a0 */ +173,146,173,151,173, 1,195,142,195, 49,192, 1,199, 38, 1, 45, /* 0x 2b0 */ +172, 72,116,255, 64,117,244, 71, 71, 38,128, 61,154,117,249, 38, /* 0x 2c0 */ + 57, 85, 3,119,243,176, 3,235, 17,129,199,254, 0,114, 8,226, /* 0x 2d0 */ + 22, 7, 6, 31,157,114, 16, 7, 31, 93, 95, 94, 91, 88,142,208, /* 0x 2e0 */ +137,220, 90, 89, 91, 88,203,141,134, 0, 0,142,208,188, 0, 0, /* 0x 2f0 */ +234, 0, 0, 0, 0,129,197, 0, 0, 85,184, 0, 0, 80,203, 6, /* 0x 300 */ + 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0,105, 56, 48, 56, 54, /* 0x 310 */ + 0, 0, 0, 0, 46,115,121,109,116, 97, 98, 0, 46,115,116,114, /* 0x 320 */ +116, 97, 98, 0, 46,115,104,115,116,114,116, 97, 98, 0, 46,116, /* 0x 330 */ +101,120,116, 0, 46,100, 97,116, 97, 0, 46, 98,115,115, 0, 46, /* 0x 340 */ +114,101,108, 68, 69, 86, 73, 67, 69, 69, 78, 84, 82, 89, 0, 46, /* 0x 350 */ +114,101,108, 69, 88, 69, 69, 78, 84, 82, 89, 0, 46,114,101,108, /* 0x 360 */ + 68, 69, 86, 73, 67, 69, 83, 85, 66, 0, 69, 88, 69, 83, 85, 66, /* 0x 370 */ + 0, 46,114,101,108, 74, 78, 67, 68, 79, 67, 79, 80, 89, 0, 69, /* 0x 380 */ + 88, 69, 82, 69, 76, 80, 85, 0, 46,114,101,108, 69, 88, 69, 77, /* 0x 390 */ + 65, 73, 78, 52, 0, 85, 80, 88, 49, 72, 69, 65, 68, 0, 69, 88, /* 0x 3a0 */ + 69, 67, 85, 84, 80, 79, 0, 46,114,101,108, 78, 82, 86, 50, 66, /* 0x 3b0 */ + 49, 54, 83, 0, 78, 50, 66, 54, 52, 75, 48, 49, 0, 46,114,101, /* 0x 3c0 */ +108, 78, 82, 86, 50, 66, 69, 88, 49, 0, 78, 50, 66, 88, 56, 54, /* 0x 3d0 */ + 48, 49, 0, 78, 50, 66, 50, 56, 54, 48, 49, 0, 46,114,101,108, /* 0x 3e0 */ + 78, 82, 86, 50, 66, 69, 88, 50, 0, 78, 50, 66, 88, 56, 54, 48, /* 0x 3f0 */ + 50, 0, 78, 50, 66, 50, 56, 54, 48, 50, 0, 46,114,101,108, 78, /* 0x 400 */ + 82, 86, 50, 66, 69, 88, 51, 0, 78, 50, 66, 54, 52, 75, 48, 50, /* 0x 410 */ + 0, 78, 82, 86, 50, 66, 69, 88, 57, 0, 46,114,101,108, 78, 82, /* 0x 420 */ + 86, 50, 68, 49, 54, 83, 0, 78, 50, 68, 54, 52, 75, 48, 49, 0, /* 0x 430 */ + 46,114,101,108, 78, 82, 86, 50, 68, 69, 88, 49, 0, 78, 50, 68, /* 0x 440 */ + 88, 56, 54, 48, 49, 0, 78, 50, 68, 50, 56, 54, 48, 49, 0, 46, /* 0x 450 */ +114,101,108, 78, 82, 86, 50, 68, 69, 88, 50, 0, 78, 50, 68, 88, /* 0x 460 */ + 56, 54, 48, 50, 0, 78, 50, 68, 50, 56, 54, 48, 50, 0, 46,114, /* 0x 470 */ +101,108, 78, 82, 86, 50, 68, 69, 88, 51, 0, 78, 50, 68, 54, 52, /* 0x 480 */ + 75, 48, 50, 0, 78, 82, 86, 50, 68, 69, 88, 57, 0, 46,114,101, /* 0x 490 */ +108, 78, 82, 86, 50, 69, 49, 54, 83, 0, 78, 50, 69, 54, 52, 75, /* 0x 4a0 */ + 48, 49, 0, 46,114,101,108, 78, 82, 86, 50, 69, 69, 88, 49, 0, /* 0x 4b0 */ + 78, 50, 69, 88, 56, 54, 48, 49, 0, 78, 50, 69, 50, 56, 54, 48, /* 0x 4c0 */ + 49, 0, 46,114,101,108, 78, 82, 86, 50, 69, 69, 88, 50, 0, 78, /* 0x 4d0 */ + 50, 69, 88, 56, 54, 48, 50, 0, 78, 50, 69, 50, 56, 54, 48, 50, /* 0x 4e0 */ + 0, 46,114,101,108, 78, 82, 86, 50, 69, 69, 88, 51, 0, 78, 50, /* 0x 4f0 */ + 69, 54, 52, 75, 48, 50, 0, 78, 82, 86, 50, 69, 69, 88, 57, 0, /* 0x 500 */ + 69, 88, 69, 77, 65, 73, 78, 53, 0, 69, 88, 69, 65, 68, 74, 85, /* 0x 510 */ + 83, 0, 69, 88, 69, 78, 79, 65, 68, 74, 0, 46,114,101,108, 69, /* 0x 520 */ + 88, 69, 82, 69, 76, 79, 49, 0, 46,114,101,108, 69, 88, 69, 82, /* 0x 530 */ + 69, 76, 57, 65, 0, 69, 88, 69, 82, 69, 76, 79, 50, 0, 46,114, /* 0x 540 */ +101,108, 69, 88, 69, 82, 69, 66, 73, 71, 0, 46,114,101,108, 69, /* 0x 550 */ + 88, 69, 82, 69, 76, 79, 51, 0, 69, 88, 69, 77, 65, 73, 78, 56, /* 0x 560 */ + 0, 68, 69, 86, 73, 67, 69, 69, 78, 68, 0, 46,114,101,108, 69, /* 0x 570 */ + 88, 69, 83, 84, 65, 67, 75, 0, 46,114,101,108, 69, 88, 69, 83, /* 0x 580 */ + 84, 65, 83, 80, 0, 46,114,101,108, 69, 88, 69, 74, 85, 77, 80, /* 0x 590 */ + 70, 0, 46,114,101,108, 69, 88, 69, 82, 67, 83, 80, 79, 0, 46, /* 0x 5a0 */ +114,101,108, 69, 88, 69, 82, 69, 84, 73, 80, 0, 46,110,111,116, /* 0x 5b0 */ +101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* 0x 5c0 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* 0x 5d0 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 27, 0, 0, 0, /* 0x 5e0 */ 1, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0, 0, 52, 0, 0, 0, /* 0x 5f0 */ @@ -145,207 +145,207 @@ unsigned char nrv_loader[25128] = { 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,164, 33, 0, 0, /* 0x 6e0 */ 32, 0, 0, 0, 89, 0, 0, 0, 6, 0, 0, 0, 4, 0, 0, 0, /* 0x 6f0 */ 8, 0, 0, 0, 77, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, /* 0x 700 */ - 0, 0, 0, 0,128, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0, 0, /* 0x 710 */ + 0, 0, 0, 0,128, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, /* 0x 710 */ 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 73, 0, 0, 0, /* 0x 720 */ 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,196, 33, 0, 0, /* 0x 730 */ 8, 0, 0, 0, 89, 0, 0, 0, 8, 0, 0, 0, 4, 0, 0, 0, /* 0x 740 */ 8, 0, 0, 0, 87, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, /* 0x 750 */ - 0, 0, 0, 0,134, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, /* 0x 760 */ + 0, 0, 0, 0,133, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, /* 0x 760 */ 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 98, 0, 0, 0, /* 0x 770 */ - 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,139, 0, 0, 0, /* 0x 780 */ + 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,138, 0, 0, 0, /* 0x 780 */ 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, /* 0x 790 */ 0, 0, 0, 0, 94, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, /* 0x 7a0 */ 0, 0, 0, 0,204, 33, 0, 0, 8, 0, 0, 0, 89, 0, 0, 0, /* 0x 7b0 */ 11, 0, 0, 0, 4, 0, 0, 0, 8, 0, 0, 0,108, 0, 0, 0, /* 0x 7c0 */ - 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,144, 0, 0, 0, /* 0x 7d0 */ + 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,143, 0, 0, 0, /* 0x 7d0 */ 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, /* 0x 7e0 */ 0, 0, 0, 0,121, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, /* 0x 7f0 */ - 0, 0, 0, 0,145, 0, 0, 0, 14, 0, 0, 0, 0, 0, 0, 0, /* 0x 800 */ + 0, 0, 0, 0,144, 0, 0, 0, 14, 0, 0, 0, 0, 0, 0, 0, /* 0x 800 */ 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,117, 0, 0, 0, /* 0x 810 */ 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,212, 33, 0, 0, /* 0x 820 */ 16, 0, 0, 0, 89, 0, 0, 0, 14, 0, 0, 0, 4, 0, 0, 0, /* 0x 830 */ 8, 0, 0, 0,130, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, /* 0x 840 */ - 0, 0, 0, 0,159, 0, 0, 0, 27, 0, 0, 0, 0, 0, 0, 0, /* 0x 850 */ + 0, 0, 0, 0,158, 0, 0, 0, 27, 0, 0, 0, 0, 0, 0, 0, /* 0x 850 */ 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,139, 0, 0, 0, /* 0x 860 */ - 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,186, 0, 0, 0, /* 0x 870 */ + 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,185, 0, 0, 0, /* 0x 870 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, /* 0x 880 */ 0, 0, 0, 0,152, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, /* 0x 890 */ - 0, 0, 0, 0,186, 0, 0, 0, 13, 0, 0, 0, 0, 0, 0, 0, /* 0x 8a0 */ + 0, 0, 0, 0,185, 0, 0, 0, 13, 0, 0, 0, 0, 0, 0, 0, /* 0x 8a0 */ 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,148, 0, 0, 0, /* 0x 8b0 */ 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,228, 33, 0, 0, /* 0x 8c0 */ 8, 0, 0, 0, 89, 0, 0, 0, 18, 0, 0, 0, 4, 0, 0, 0, /* 0x 8d0 */ 8, 0, 0, 0,161, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, /* 0x 8e0 */ - 0, 0, 0, 0,199, 0, 0, 0, 11, 0, 0, 0, 0, 0, 0, 0, /* 0x 8f0 */ + 0, 0, 0, 0,198, 0, 0, 0, 11, 0, 0, 0, 0, 0, 0, 0, /* 0x 8f0 */ 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,174, 0, 0, 0, /* 0x 900 */ - 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,210, 0, 0, 0, /* 0x 910 */ + 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,209, 0, 0, 0, /* 0x 910 */ 11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, /* 0x 920 */ 0, 0, 0, 0,170, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, /* 0x 930 */ 0, 0, 0, 0,236, 33, 0, 0, 24, 0, 0, 0, 89, 0, 0, 0, /* 0x 940 */ 21, 0, 0, 0, 4, 0, 0, 0, 8, 0, 0, 0,183, 0, 0, 0, /* 0x 950 */ - 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,221, 0, 0, 0, /* 0x 960 */ + 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,220, 0, 0, 0, /* 0x 960 */ 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, /* 0x 970 */ 0, 0, 0, 0,192, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, /* 0x 980 */ - 0, 0, 0, 0,229, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, /* 0x 990 */ + 0, 0, 0, 0,228, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, /* 0x 990 */ 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,205, 0, 0, 0, /* 0x 9a0 */ - 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,232, 0, 0, 0, /* 0x 9b0 */ + 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,231, 0, 0, 0, /* 0x 9b0 */ 49, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, /* 0x 9c0 */ 0, 0, 0, 0,201, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, /* 0x 9d0 */ 0, 0, 0, 0, 4, 34, 0, 0, 24, 0, 0, 0, 89, 0, 0, 0, /* 0x 9e0 */ 25, 0, 0, 0, 4, 0, 0, 0, 8, 0, 0, 0,214, 0, 0, 0, /* 0x 9f0 */ - 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 25, 1, 0, 0, /* 0x a00 */ + 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, 1, 0, 0, /* 0x a00 */ 14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, /* 0x a10 */ 0, 0, 0, 0,223, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, /* 0x a20 */ - 0, 0, 0, 0, 39, 1, 0, 0, 6, 0, 0, 0, 0, 0, 0, 0, /* 0x a30 */ + 0, 0, 0, 0, 38, 1, 0, 0, 6, 0, 0, 0, 0, 0, 0, 0, /* 0x a30 */ 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,236, 0, 0, 0, /* 0x a40 */ - 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 45, 1, 0, 0, /* 0x a50 */ + 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 44, 1, 0, 0, /* 0x a50 */ 21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, /* 0x a60 */ 0, 0, 0, 0,232, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, /* 0x a70 */ 0, 0, 0, 0, 28, 34, 0, 0, 16, 0, 0, 0, 89, 0, 0, 0, /* 0x a80 */ 29, 0, 0, 0, 4, 0, 0, 0, 8, 0, 0, 0,245, 0, 0, 0, /* 0x a90 */ - 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 66, 1, 0, 0, /* 0x aa0 */ + 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 65, 1, 0, 0, /* 0x aa0 */ 11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, /* 0x ab0 */ 0, 0, 0, 0,254, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, /* 0x ac0 */ - 0, 0, 0, 0, 77, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, /* 0x ad0 */ + 0, 0, 0, 0, 76, 1, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, /* 0x ad0 */ 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 11, 1, 0, 0, /* 0x ae0 */ - 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 81, 1, 0, 0, /* 0x af0 */ + 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 80, 1, 0, 0, /* 0x af0 */ 13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, /* 0x b00 */ 0, 0, 0, 0, 7, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, /* 0x b10 */ 0, 0, 0, 0, 44, 34, 0, 0, 8, 0, 0, 0, 89, 0, 0, 0, /* 0x b20 */ 33, 0, 0, 0, 4, 0, 0, 0, 8, 0, 0, 0, 20, 1, 0, 0, /* 0x b30 */ - 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 94, 1, 0, 0, /* 0x b40 */ + 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 93, 1, 0, 0, /* 0x b40 */ 11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, /* 0x b50 */ 0, 0, 0, 0, 33, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, /* 0x b60 */ - 0, 0, 0, 0,105, 1, 0, 0, 19, 0, 0, 0, 0, 0, 0, 0, /* 0x b70 */ + 0, 0, 0, 0,104, 1, 0, 0, 19, 0, 0, 0, 0, 0, 0, 0, /* 0x b70 */ 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 29, 1, 0, 0, /* 0x b80 */ 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 52, 34, 0, 0, /* 0x b90 */ 32, 0, 0, 0, 89, 0, 0, 0, 36, 0, 0, 0, 4, 0, 0, 0, /* 0x ba0 */ 8, 0, 0, 0, 42, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, /* 0x bb0 */ - 0, 0, 0, 0,124, 1, 0, 0, 6, 0, 0, 0, 0, 0, 0, 0, /* 0x bc0 */ + 0, 0, 0, 0,123, 1, 0, 0, 6, 0, 0, 0, 0, 0, 0, 0, /* 0x bc0 */ 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 51, 1, 0, 0, /* 0x bd0 */ - 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,130, 1, 0, 0, /* 0x be0 */ + 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,129, 1, 0, 0, /* 0x be0 */ 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, /* 0x bf0 */ 0, 0, 0, 0, 64, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, /* 0x c00 */ - 0, 0, 0, 0,133, 1, 0, 0, 57, 0, 0, 0, 0, 0, 0, 0, /* 0x c10 */ + 0, 0, 0, 0,132, 1, 0, 0, 57, 0, 0, 0, 0, 0, 0, 0, /* 0x c10 */ 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 60, 1, 0, 0, /* 0x c20 */ 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 84, 34, 0, 0, /* 0x c30 */ 32, 0, 0, 0, 89, 0, 0, 0, 40, 0, 0, 0, 4, 0, 0, 0, /* 0x c40 */ 8, 0, 0, 0, 73, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, /* 0x c50 */ - 0, 0, 0, 0,190, 1, 0, 0, 14, 0, 0, 0, 0, 0, 0, 0, /* 0x c60 */ + 0, 0, 0, 0,189, 1, 0, 0, 14, 0, 0, 0, 0, 0, 0, 0, /* 0x c60 */ 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 82, 1, 0, 0, /* 0x c70 */ - 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,204, 1, 0, 0, /* 0x c80 */ + 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,203, 1, 0, 0, /* 0x c80 */ 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, /* 0x c90 */ 0, 0, 0, 0, 95, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, /* 0x ca0 */ - 0, 0, 0, 0,210, 1, 0, 0, 21, 0, 0, 0, 0, 0, 0, 0, /* 0x cb0 */ + 0, 0, 0, 0,209, 1, 0, 0, 21, 0, 0, 0, 0, 0, 0, 0, /* 0x cb0 */ 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 91, 1, 0, 0, /* 0x cc0 */ 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,116, 34, 0, 0, /* 0x cd0 */ 16, 0, 0, 0, 89, 0, 0, 0, 44, 0, 0, 0, 4, 0, 0, 0, /* 0x ce0 */ 8, 0, 0, 0,104, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, /* 0x cf0 */ - 0, 0, 0, 0,231, 1, 0, 0, 11, 0, 0, 0, 0, 0, 0, 0, /* 0x d00 */ + 0, 0, 0, 0,230, 1, 0, 0, 11, 0, 0, 0, 0, 0, 0, 0, /* 0x d00 */ 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,113, 1, 0, 0, /* 0x d10 */ - 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,242, 1, 0, 0, /* 0x d20 */ + 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,241, 1, 0, 0, /* 0x d20 */ 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, /* 0x d30 */ 0, 0, 0, 0,126, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, /* 0x d40 */ - 0, 0, 0, 0,246, 1, 0, 0, 13, 0, 0, 0, 0, 0, 0, 0, /* 0x d50 */ + 0, 0, 0, 0,245, 1, 0, 0, 13, 0, 0, 0, 0, 0, 0, 0, /* 0x d50 */ 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,122, 1, 0, 0, /* 0x d60 */ 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,132, 34, 0, 0, /* 0x d70 */ 8, 0, 0, 0, 89, 0, 0, 0, 48, 0, 0, 0, 4, 0, 0, 0, /* 0x d80 */ 8, 0, 0, 0,135, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, /* 0x d90 */ - 0, 0, 0, 0, 3, 2, 0, 0, 11, 0, 0, 0, 0, 0, 0, 0, /* 0x da0 */ + 0, 0, 0, 0, 2, 2, 0, 0, 11, 0, 0, 0, 0, 0, 0, 0, /* 0x da0 */ 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,148, 1, 0, 0, /* 0x db0 */ - 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14, 2, 0, 0, /* 0x dc0 */ + 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 13, 2, 0, 0, /* 0x dc0 */ 19, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, /* 0x dd0 */ 0, 0, 0, 0,144, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, /* 0x de0 */ 0, 0, 0, 0,140, 34, 0, 0, 32, 0, 0, 0, 89, 0, 0, 0, /* 0x df0 */ 51, 0, 0, 0, 4, 0, 0, 0, 8, 0, 0, 0,157, 1, 0, 0, /* 0x e00 */ - 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 33, 2, 0, 0, /* 0x e10 */ + 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 2, 0, 0, /* 0x e10 */ 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, /* 0x e20 */ 0, 0, 0, 0,166, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, /* 0x e30 */ - 0, 0, 0, 0, 39, 2, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, /* 0x e40 */ + 0, 0, 0, 0, 38, 2, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, /* 0x e40 */ 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,179, 1, 0, 0, /* 0x e50 */ - 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 42, 2, 0, 0, /* 0x e60 */ + 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 41, 2, 0, 0, /* 0x e60 */ 62, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, /* 0x e70 */ 0, 0, 0, 0,175, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, /* 0x e80 */ 0, 0, 0, 0,172, 34, 0, 0, 40, 0, 0, 0, 89, 0, 0, 0, /* 0x e90 */ 55, 0, 0, 0, 4, 0, 0, 0, 8, 0, 0, 0,188, 1, 0, 0, /* 0x ea0 */ - 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,104, 2, 0, 0, /* 0x eb0 */ + 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,103, 2, 0, 0, /* 0x eb0 */ 14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, /* 0x ec0 */ 0, 0, 0, 0,197, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, /* 0x ed0 */ - 0, 0, 0, 0,118, 2, 0, 0, 6, 0, 0, 0, 0, 0, 0, 0, /* 0x ee0 */ + 0, 0, 0, 0,117, 2, 0, 0, 6, 0, 0, 0, 0, 0, 0, 0, /* 0x ee0 */ 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,210, 1, 0, 0, /* 0x ef0 */ - 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,124, 2, 0, 0, /* 0x f00 */ + 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,123, 2, 0, 0, /* 0x f00 */ 21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, /* 0x f10 */ 0, 0, 0, 0,206, 1, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, /* 0x f20 */ 0, 0, 0, 0,212, 34, 0, 0, 16, 0, 0, 0, 89, 0, 0, 0, /* 0x f30 */ 59, 0, 0, 0, 4, 0, 0, 0, 8, 0, 0, 0,219, 1, 0, 0, /* 0x f40 */ - 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,145, 2, 0, 0, /* 0x f50 */ + 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,144, 2, 0, 0, /* 0x f50 */ 11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, /* 0x f60 */ 0, 0, 0, 0,228, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, /* 0x f70 */ - 0, 0, 0, 0,156, 2, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, /* 0x f80 */ + 0, 0, 0, 0,155, 2, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, /* 0x f80 */ 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,237, 1, 0, 0, /* 0x f90 */ - 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,160, 2, 0, 0, /* 0x fa0 */ + 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,159, 2, 0, 0, /* 0x fa0 */ 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, /* 0x fb0 */ 0, 0, 0, 0,246, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, /* 0x fc0 */ - 0, 0, 0, 0,161, 2, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, /* 0x fd0 */ + 0, 0, 0, 0,160, 2, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, /* 0x fd0 */ 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,255, 1, 0, 0, /* 0x fe0 */ - 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,168, 2, 0, 0, /* 0x ff0 */ + 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,167, 2, 0, 0, /* 0x ff0 */ 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, /* 0x1000 */ 0, 0, 0, 0, 12, 2, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, /* 0x1010 */ - 0, 0, 0, 0,170, 2, 0, 0, 30, 0, 0, 0, 0, 0, 0, 0, /* 0x1020 */ + 0, 0, 0, 0,169, 2, 0, 0, 30, 0, 0, 0, 0, 0, 0, 0, /* 0x1020 */ 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 8, 2, 0, 0, /* 0x1030 */ 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,228, 34, 0, 0, /* 0x1040 */ 16, 0, 0, 0, 89, 0, 0, 0, 66, 0, 0, 0, 4, 0, 0, 0, /* 0x1050 */ 8, 0, 0, 0, 25, 2, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, /* 0x1060 */ - 0, 0, 0, 0,200, 2, 0, 0, 18, 0, 0, 0, 0, 0, 0, 0, /* 0x1070 */ + 0, 0, 0, 0,199, 2, 0, 0, 18, 0, 0, 0, 0, 0, 0, 0, /* 0x1070 */ 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 21, 2, 0, 0, /* 0x1080 */ 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,244, 34, 0, 0, /* 0x1090 */ 8, 0, 0, 0, 89, 0, 0, 0, 68, 0, 0, 0, 4, 0, 0, 0, /* 0x10a0 */ 8, 0, 0, 0, 34, 2, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, /* 0x10b0 */ - 0, 0, 0, 0,218, 2, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, /* 0x10c0 */ + 0, 0, 0, 0,217, 2, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, /* 0x10c0 */ 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 47, 2, 0, 0, /* 0x10d0 */ - 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,222, 2, 0, 0, /* 0x10e0 */ + 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,221, 2, 0, 0, /* 0x10e0 */ 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, /* 0x10f0 */ 0, 0, 0, 0, 43, 2, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, /* 0x1100 */ 0, 0, 0, 0,252, 34, 0, 0, 8, 0, 0, 0, 89, 0, 0, 0, /* 0x1110 */ 71, 0, 0, 0, 4, 0, 0, 0, 8, 0, 0, 0, 60, 2, 0, 0, /* 0x1120 */ - 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,224, 2, 0, 0, /* 0x1130 */ + 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,223, 2, 0, 0, /* 0x1130 */ 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, /* 0x1140 */ 0, 0, 0, 0, 56, 2, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, /* 0x1150 */ 0, 0, 0, 0, 4, 35, 0, 0, 8, 0, 0, 0, 89, 0, 0, 0, /* 0x1160 */ 73, 0, 0, 0, 4, 0, 0, 0, 8, 0, 0, 0, 69, 2, 0, 0, /* 0x1170 */ - 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,226, 2, 0, 0, /* 0x1180 */ + 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,225, 2, 0, 0, /* 0x1180 */ 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, /* 0x1190 */ 0, 0, 0, 0, 78, 2, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, /* 0x11a0 */ - 0, 0, 0, 0,229, 2, 0, 0, 19, 0, 0, 0, 0, 0, 0, 0, /* 0x11b0 */ + 0, 0, 0, 0,228, 2, 0, 0, 19, 0, 0, 0, 0, 0, 0, 0, /* 0x11b0 */ 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 92, 2, 0, 0, /* 0x11c0 */ - 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,248, 2, 0, 0, /* 0x11d0 */ + 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,247, 2, 0, 0, /* 0x11d0 */ 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, /* 0x11e0 */ 0, 0, 0, 0, 88, 2, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, /* 0x11f0 */ 0, 0, 0, 0, 12, 35, 0, 0, 8, 0, 0, 0, 89, 0, 0, 0, /* 0x1200 */ 77, 0, 0, 0, 4, 0, 0, 0, 8, 0, 0, 0,105, 2, 0, 0, /* 0x1210 */ - 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,254, 2, 0, 0, /* 0x1220 */ + 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,253, 2, 0, 0, /* 0x1220 */ 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, /* 0x1230 */ 0, 0, 0, 0,101, 2, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, /* 0x1240 */ 0, 0, 0, 0, 20, 35, 0, 0, 8, 0, 0, 0, 89, 0, 0, 0, /* 0x1250 */ 79, 0, 0, 0, 4, 0, 0, 0, 8, 0, 0, 0,118, 2, 0, 0, /* 0x1260 */ - 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 3, 0, 0, /* 0x1270 */ + 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, /* 0x1270 */ 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, /* 0x1280 */ 0, 0, 0, 0,114, 2, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, /* 0x1290 */ 0, 0, 0, 0, 28, 35, 0, 0, 16, 0, 0, 0, 89, 0, 0, 0, /* 0x12a0 */ 81, 0, 0, 0, 4, 0, 0, 0, 8, 0, 0, 0,131, 2, 0, 0, /* 0x12b0 */ - 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 3, 0, 0, /* 0x12c0 */ + 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 3, 0, 0, /* 0x12c0 */ 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, /* 0x12d0 */ 0, 0, 0, 0,127, 2, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, /* 0x12e0 */ 0, 0, 0, 0, 44, 35, 0, 0, 8, 0, 0, 0, 89, 0, 0, 0, /* 0x12f0 */ 83, 0, 0, 0, 4, 0, 0, 0, 8, 0, 0, 0,144, 2, 0, 0, /* 0x1300 */ - 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10, 3, 0, 0, /* 0x1310 */ + 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 3, 0, 0, /* 0x1310 */ 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, /* 0x1320 */ 0, 0, 0, 0,140, 2, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, /* 0x1330 */ 0, 0, 0, 0, 52, 35, 0, 0, 8, 0, 0, 0, 89, 0, 0, 0, /* 0x1340 */ 85, 0, 0, 0, 4, 0, 0, 0, 8, 0, 0, 0,153, 2, 0, 0, /* 0x1350 */ - 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 3, 0, 0, /* 0x1360 */ + 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15, 3, 0, 0, /* 0x1360 */ 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, /* 0x1370 */ 0, 0, 0, 0, 17, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, /* 0x1380 */ - 0, 0, 0, 0, 36, 3, 0, 0,159, 2, 0, 0, 0, 0, 0, 0, /* 0x1390 */ + 0, 0, 0, 0, 35, 3, 0, 0,159, 2, 0, 0, 0, 0, 0, 0, /* 0x1390 */ 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, /* 0x13a0 */ 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,252, 19, 0, 0, /* 0x13b0 */ 48, 9, 0, 0, 90, 0, 0, 0,131, 0, 0, 0, 4, 0, 0, 0, /* 0x13c0 */ @@ -572,7 +572,7 @@ unsigned char nrv_loader[25128] = { 20, 5, 0, 0, 25, 0, 0, 0, 20,134, 0, 0, 28, 0, 0, 0, /* 0x2190 */ 20,135, 0, 0, 1, 0, 0, 0, 20,136, 0, 0, 4, 0, 0, 0, /* 0x21a0 */ 20,137, 0, 0, 15, 0, 0, 0, 20,138, 0, 0, 20, 0, 0, 0, /* 0x21b0 */ - 20,139, 0, 0, 3, 0, 0, 0, 20, 9, 0, 0, 1, 0, 0, 0, /* 0x21c0 */ + 20,139, 0, 0, 3, 0, 0, 0, 22, 9, 0, 0, 1, 0, 0, 0, /* 0x21c0 */ 23, 9, 0, 0, 7, 0, 0, 0, 20,140, 0, 0, 10, 0, 0, 0, /* 0x21d0 */ 20,141, 0, 0, 6, 0, 0, 0, 21, 41, 0, 0, 1, 0, 0, 0, /* 0x21e0 */ 21, 41, 0, 0, 4, 0, 0, 0, 23, 47, 0, 0, 10, 0, 0, 0, /* 0x21f0 */ @@ -633,305 +633,305 @@ unsigned char nrv_loader[25128] = { 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, 69, 76, /* 0x2560 */ 79, 67, 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, 32, 32, 53, /* 0x2570 */ 32, 68, 69, 86, 73, 67, 69, 83, 85, 66, 32, 32, 32, 32, 32, 48, /* 0x2580 */ - 48, 48, 48, 48, 48, 48, 54, 32, 32, 48, 48, 48, 48, 48, 48, 48, /* 0x2590 */ + 48, 48, 48, 48, 48, 48, 53, 32, 32, 48, 48, 48, 48, 48, 48, 48, /* 0x2590 */ 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, /* 0x25a0 */ 48, 48, 48, 56, 48, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, /* 0x25b0 */ 84, 69, 78, 84, 83, 44, 32, 82, 69, 76, 79, 67, 44, 32, 82, 69, /* 0x25c0 */ 65, 68, 79, 78, 76, 89, 10, 32, 32, 54, 32, 69, 88, 69, 83, 85, /* 0x25d0 */ 66, 32, 32, 32, 32, 32, 32, 32, 32, 48, 48, 48, 48, 48, 48, 48, /* 0x25e0 */ 53, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, /* 0x25f0 */ - 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 56, 54, 32, /* 0x2600 */ + 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 56, 53, 32, /* 0x2600 */ 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, 44, /* 0x2610 */ 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, 32, 32, 55, 32, 74, 78, /* 0x2620 */ 67, 68, 79, 67, 79, 80, 89, 32, 32, 32, 32, 32, 48, 48, 48, 48, /* 0x2630 */ 48, 48, 48, 53, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, /* 0x2640 */ 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, /* 0x2650 */ - 56, 98, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, /* 0x2660 */ + 56, 97, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, /* 0x2660 */ 84, 83, 44, 32, 82, 69, 76, 79, 67, 44, 32, 82, 69, 65, 68, 79, /* 0x2670 */ 78, 76, 89, 10, 32, 32, 56, 32, 69, 88, 69, 82, 69, 76, 80, 85, /* 0x2680 */ 32, 32, 32, 32, 32, 32, 48, 48, 48, 48, 48, 48, 48, 49, 32, 32, /* 0x2690 */ 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, /* 0x26a0 */ - 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 57, 48, 32, 32, 50, 42, /* 0x26b0 */ + 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 56,102, 32, 32, 50, 42, /* 0x26b0 */ 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, 69, /* 0x26c0 */ 65, 68, 79, 78, 76, 89, 10, 32, 32, 57, 32, 69, 88, 69, 77, 65, /* 0x26d0 */ 73, 78, 52, 32, 32, 32, 32, 32, 32, 48, 48, 48, 48, 48, 48, 48, /* 0x26e0 */ 101, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, /* 0x26f0 */ - 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 57, 49, 32, /* 0x2700 */ + 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 57, 48, 32, /* 0x2700 */ 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, 44, /* 0x2710 */ 32, 82, 69, 76, 79, 67, 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, /* 0x2720 */ 10, 32, 49, 48, 32, 85, 80, 88, 49, 72, 69, 65, 68, 32, 32, 32, /* 0x2730 */ 32, 32, 32, 48, 48, 48, 48, 48, 48, 49, 98, 32, 32, 48, 48, 48, /* 0x2740 */ 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, /* 0x2750 */ - 32, 48, 48, 48, 48, 48, 48, 57,102, 32, 32, 50, 42, 42, 48, 32, /* 0x2760 */ + 32, 48, 48, 48, 48, 48, 48, 57,101, 32, 32, 50, 42, 42, 48, 32, /* 0x2760 */ 32, 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, 69, 65, 68, 79, /* 0x2770 */ 78, 76, 89, 10, 32, 49, 49, 32, 69, 88, 69, 67, 85, 84, 80, 79, /* 0x2780 */ 32, 32, 32, 32, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, /* 0x2790 */ 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, /* 0x27a0 */ - 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 98, 97, 32, 32, 50, 42, /* 0x27b0 */ + 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 98, 57, 32, 32, 50, 42, /* 0x27b0 */ 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, 69, /* 0x27c0 */ 65, 68, 79, 78, 76, 89, 10, 32, 49, 50, 32, 78, 82, 86, 50, 66, /* 0x27d0 */ 49, 54, 83, 32, 32, 32, 32, 32, 32, 48, 48, 48, 48, 48, 48, 48, /* 0x27e0 */ 100, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, /* 0x27f0 */ - 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 98, 97, 32, /* 0x2800 */ + 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 98, 57, 32, /* 0x2800 */ 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, 44, /* 0x2810 */ 32, 82, 69, 76, 79, 67, 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, /* 0x2820 */ 10, 32, 49, 51, 32, 78, 50, 66, 54, 52, 75, 48, 49, 32, 32, 32, /* 0x2830 */ 32, 32, 32, 48, 48, 48, 48, 48, 48, 48, 98, 32, 32, 48, 48, 48, /* 0x2840 */ 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, /* 0x2850 */ - 32, 48, 48, 48, 48, 48, 48, 99, 55, 32, 32, 50, 42, 42, 48, 32, /* 0x2860 */ + 32, 48, 48, 48, 48, 48, 48, 99, 54, 32, 32, 50, 42, 42, 48, 32, /* 0x2860 */ 32, 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, 69, 65, 68, 79, /* 0x2870 */ 78, 76, 89, 10, 32, 49, 52, 32, 78, 82, 86, 50, 66, 69, 88, 49, /* 0x2880 */ 32, 32, 32, 32, 32, 32, 48, 48, 48, 48, 48, 48, 48, 98, 32, 32, /* 0x2890 */ 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, /* 0x28a0 */ - 48, 48, 32, 32, 48, 48, 48, 48, 48, 48,100, 50, 32, 32, 50, 42, /* 0x28b0 */ + 48, 48, 32, 32, 48, 48, 48, 48, 48, 48,100, 49, 32, 32, 50, 42, /* 0x28b0 */ 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, 69, /* 0x28c0 */ 76, 79, 67, 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, 32, 49, /* 0x28d0 */ 53, 32, 78, 50, 66, 88, 56, 54, 48, 49, 32, 32, 32, 32, 32, 32, /* 0x28e0 */ 48, 48, 48, 48, 48, 48, 48, 56, 32, 32, 48, 48, 48, 48, 48, 48, /* 0x28f0 */ 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, /* 0x2900 */ - 48, 48, 48, 48,100,100, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, /* 0x2910 */ + 48, 48, 48, 48,100, 99, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, /* 0x2910 */ 78, 84, 69, 78, 84, 83, 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, /* 0x2920 */ 10, 32, 49, 54, 32, 78, 50, 66, 50, 56, 54, 48, 49, 32, 32, 32, /* 0x2930 */ 32, 32, 32, 48, 48, 48, 48, 48, 48, 48, 51, 32, 32, 48, 48, 48, /* 0x2940 */ 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, /* 0x2950 */ - 32, 48, 48, 48, 48, 48, 48,101, 53, 32, 32, 50, 42, 42, 48, 32, /* 0x2960 */ + 32, 48, 48, 48, 48, 48, 48,101, 52, 32, 32, 50, 42, 42, 48, 32, /* 0x2960 */ 32, 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, 69, 65, 68, 79, /* 0x2970 */ 78, 76, 89, 10, 32, 49, 55, 32, 78, 82, 86, 50, 66, 69, 88, 50, /* 0x2980 */ 32, 32, 32, 32, 32, 32, 48, 48, 48, 48, 48, 48, 51, 49, 32, 32, /* 0x2990 */ 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, /* 0x29a0 */ - 48, 48, 32, 32, 48, 48, 48, 48, 48, 48,101, 56, 32, 32, 50, 42, /* 0x29b0 */ + 48, 48, 32, 32, 48, 48, 48, 48, 48, 48,101, 55, 32, 32, 50, 42, /* 0x29b0 */ 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, 69, /* 0x29c0 */ 76, 79, 67, 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, 32, 49, /* 0x29d0 */ 56, 32, 78, 50, 66, 88, 56, 54, 48, 50, 32, 32, 32, 32, 32, 32, /* 0x29e0 */ 48, 48, 48, 48, 48, 48, 48,101, 32, 32, 48, 48, 48, 48, 48, 48, /* 0x29f0 */ 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, /* 0x2a00 */ - 48, 48, 48, 49, 49, 57, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, /* 0x2a10 */ + 48, 48, 48, 49, 49, 56, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, /* 0x2a10 */ 78, 84, 69, 78, 84, 83, 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, /* 0x2a20 */ 10, 32, 49, 57, 32, 78, 50, 66, 50, 56, 54, 48, 50, 32, 32, 32, /* 0x2a30 */ 32, 32, 32, 48, 48, 48, 48, 48, 48, 48, 54, 32, 32, 48, 48, 48, /* 0x2a40 */ 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, /* 0x2a50 */ - 32, 48, 48, 48, 48, 48, 49, 50, 55, 32, 32, 50, 42, 42, 48, 32, /* 0x2a60 */ + 32, 48, 48, 48, 48, 48, 49, 50, 54, 32, 32, 50, 42, 42, 48, 32, /* 0x2a60 */ 32, 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, 69, 65, 68, 79, /* 0x2a70 */ 78, 76, 89, 10, 32, 50, 48, 32, 78, 82, 86, 50, 66, 69, 88, 51, /* 0x2a80 */ 32, 32, 32, 32, 32, 32, 48, 48, 48, 48, 48, 48, 49, 53, 32, 32, /* 0x2a90 */ 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, /* 0x2aa0 */ - 48, 48, 32, 32, 48, 48, 48, 48, 48, 49, 50,100, 32, 32, 50, 42, /* 0x2ab0 */ + 48, 48, 32, 32, 48, 48, 48, 48, 48, 49, 50, 99, 32, 32, 50, 42, /* 0x2ab0 */ 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, 69, /* 0x2ac0 */ 76, 79, 67, 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, 32, 50, /* 0x2ad0 */ 49, 32, 78, 50, 66, 54, 52, 75, 48, 50, 32, 32, 32, 32, 32, 32, /* 0x2ae0 */ 48, 48, 48, 48, 48, 48, 48, 98, 32, 32, 48, 48, 48, 48, 48, 48, /* 0x2af0 */ 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, /* 0x2b00 */ - 48, 48, 48, 49, 52, 50, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, /* 0x2b10 */ + 48, 48, 48, 49, 52, 49, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, /* 0x2b10 */ 78, 84, 69, 78, 84, 83, 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, /* 0x2b20 */ 10, 32, 50, 50, 32, 78, 82, 86, 50, 66, 69, 88, 57, 32, 32, 32, /* 0x2b30 */ 32, 32, 32, 48, 48, 48, 48, 48, 48, 48, 52, 32, 32, 48, 48, 48, /* 0x2b40 */ 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, /* 0x2b50 */ - 32, 48, 48, 48, 48, 48, 49, 52,100, 32, 32, 50, 42, 42, 48, 32, /* 0x2b60 */ + 32, 48, 48, 48, 48, 48, 49, 52, 99, 32, 32, 50, 42, 42, 48, 32, /* 0x2b60 */ 32, 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, 69, 65, 68, 79, /* 0x2b70 */ 78, 76, 89, 10, 32, 50, 51, 32, 78, 82, 86, 50, 68, 49, 54, 83, /* 0x2b80 */ 32, 32, 32, 32, 32, 32, 48, 48, 48, 48, 48, 48, 48,100, 32, 32, /* 0x2b90 */ 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, /* 0x2ba0 */ - 48, 48, 32, 32, 48, 48, 48, 48, 48, 49, 53, 49, 32, 32, 50, 42, /* 0x2bb0 */ + 48, 48, 32, 32, 48, 48, 48, 48, 48, 49, 53, 48, 32, 32, 50, 42, /* 0x2bb0 */ 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, 69, /* 0x2bc0 */ 76, 79, 67, 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, 32, 50, /* 0x2bd0 */ 52, 32, 78, 50, 68, 54, 52, 75, 48, 49, 32, 32, 32, 32, 32, 32, /* 0x2be0 */ 48, 48, 48, 48, 48, 48, 48, 98, 32, 32, 48, 48, 48, 48, 48, 48, /* 0x2bf0 */ 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, /* 0x2c00 */ - 48, 48, 48, 49, 53,101, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, /* 0x2c10 */ + 48, 48, 48, 49, 53,100, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, /* 0x2c10 */ 78, 84, 69, 78, 84, 83, 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, /* 0x2c20 */ 10, 32, 50, 53, 32, 78, 82, 86, 50, 68, 69, 88, 49, 32, 32, 32, /* 0x2c30 */ 32, 32, 32, 48, 48, 48, 48, 48, 48, 49, 51, 32, 32, 48, 48, 48, /* 0x2c40 */ 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, /* 0x2c50 */ - 32, 48, 48, 48, 48, 48, 49, 54, 57, 32, 32, 50, 42, 42, 48, 32, /* 0x2c60 */ + 32, 48, 48, 48, 48, 48, 49, 54, 56, 32, 32, 50, 42, 42, 48, 32, /* 0x2c60 */ 32, 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, 69, 76, 79, 67, /* 0x2c70 */ 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, 32, 50, 54, 32, 78, /* 0x2c80 */ 50, 68, 88, 56, 54, 48, 49, 32, 32, 32, 32, 32, 32, 48, 48, 48, /* 0x2c90 */ 48, 48, 48, 48, 54, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, /* 0x2ca0 */ 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, /* 0x2cb0 */ - 49, 55, 99, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, /* 0x2cc0 */ + 49, 55, 98, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, /* 0x2cc0 */ 78, 84, 83, 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, 32, 50, /* 0x2cd0 */ 55, 32, 78, 50, 68, 50, 56, 54, 48, 49, 32, 32, 32, 32, 32, 32, /* 0x2ce0 */ 48, 48, 48, 48, 48, 48, 48, 51, 32, 32, 48, 48, 48, 48, 48, 48, /* 0x2cf0 */ 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, /* 0x2d00 */ - 48, 48, 48, 49, 56, 50, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, /* 0x2d10 */ + 48, 48, 48, 49, 56, 49, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, /* 0x2d10 */ 78, 84, 69, 78, 84, 83, 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, /* 0x2d20 */ 10, 32, 50, 56, 32, 78, 82, 86, 50, 68, 69, 88, 50, 32, 32, 32, /* 0x2d30 */ 32, 32, 32, 48, 48, 48, 48, 48, 48, 51, 57, 32, 32, 48, 48, 48, /* 0x2d40 */ 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, /* 0x2d50 */ - 32, 48, 48, 48, 48, 48, 49, 56, 53, 32, 32, 50, 42, 42, 48, 32, /* 0x2d60 */ + 32, 48, 48, 48, 48, 48, 49, 56, 52, 32, 32, 50, 42, 42, 48, 32, /* 0x2d60 */ 32, 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, 69, 76, 79, 67, /* 0x2d70 */ 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, 32, 50, 57, 32, 78, /* 0x2d80 */ 50, 68, 88, 56, 54, 48, 50, 32, 32, 32, 32, 32, 32, 48, 48, 48, /* 0x2d90 */ 48, 48, 48, 48,101, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, /* 0x2da0 */ 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, /* 0x2db0 */ - 49, 98,101, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, /* 0x2dc0 */ + 49, 98,100, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, /* 0x2dc0 */ 78, 84, 83, 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, 32, 51, /* 0x2dd0 */ 48, 32, 78, 50, 68, 50, 56, 54, 48, 50, 32, 32, 32, 32, 32, 32, /* 0x2de0 */ 48, 48, 48, 48, 48, 48, 48, 54, 32, 32, 48, 48, 48, 48, 48, 48, /* 0x2df0 */ 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, /* 0x2e00 */ - 48, 48, 48, 49, 99, 99, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, /* 0x2e10 */ + 48, 48, 48, 49, 99, 98, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, /* 0x2e10 */ 78, 84, 69, 78, 84, 83, 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, /* 0x2e20 */ 10, 32, 51, 49, 32, 78, 82, 86, 50, 68, 69, 88, 51, 32, 32, 32, /* 0x2e30 */ 32, 32, 32, 48, 48, 48, 48, 48, 48, 49, 53, 32, 32, 48, 48, 48, /* 0x2e40 */ 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, /* 0x2e50 */ - 32, 48, 48, 48, 48, 48, 49,100, 50, 32, 32, 50, 42, 42, 48, 32, /* 0x2e60 */ + 32, 48, 48, 48, 48, 48, 49,100, 49, 32, 32, 50, 42, 42, 48, 32, /* 0x2e60 */ 32, 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, 69, 76, 79, 67, /* 0x2e70 */ 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, 32, 51, 50, 32, 78, /* 0x2e80 */ 50, 68, 54, 52, 75, 48, 50, 32, 32, 32, 32, 32, 32, 48, 48, 48, /* 0x2e90 */ 48, 48, 48, 48, 98, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, /* 0x2ea0 */ 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, /* 0x2eb0 */ - 49,101, 55, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, /* 0x2ec0 */ + 49,101, 54, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, /* 0x2ec0 */ 78, 84, 83, 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, 32, 51, /* 0x2ed0 */ 51, 32, 78, 82, 86, 50, 68, 69, 88, 57, 32, 32, 32, 32, 32, 32, /* 0x2ee0 */ 48, 48, 48, 48, 48, 48, 48, 52, 32, 32, 48, 48, 48, 48, 48, 48, /* 0x2ef0 */ 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, /* 0x2f00 */ - 48, 48, 48, 49,102, 50, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, /* 0x2f10 */ + 48, 48, 48, 49,102, 49, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, /* 0x2f10 */ 78, 84, 69, 78, 84, 83, 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, /* 0x2f20 */ 10, 32, 51, 52, 32, 78, 82, 86, 50, 69, 49, 54, 83, 32, 32, 32, /* 0x2f30 */ 32, 32, 32, 48, 48, 48, 48, 48, 48, 48,100, 32, 32, 48, 48, 48, /* 0x2f40 */ 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, /* 0x2f50 */ - 32, 48, 48, 48, 48, 48, 49,102, 54, 32, 32, 50, 42, 42, 48, 32, /* 0x2f60 */ + 32, 48, 48, 48, 48, 48, 49,102, 53, 32, 32, 50, 42, 42, 48, 32, /* 0x2f60 */ 32, 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, 69, 76, 79, 67, /* 0x2f70 */ 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, 32, 51, 53, 32, 78, /* 0x2f80 */ 50, 69, 54, 52, 75, 48, 49, 32, 32, 32, 32, 32, 32, 48, 48, 48, /* 0x2f90 */ 48, 48, 48, 48, 98, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, /* 0x2fa0 */ 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, /* 0x2fb0 */ - 50, 48, 51, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, /* 0x2fc0 */ + 50, 48, 50, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, /* 0x2fc0 */ 78, 84, 83, 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, 32, 51, /* 0x2fd0 */ 54, 32, 78, 82, 86, 50, 69, 69, 88, 49, 32, 32, 32, 32, 32, 32, /* 0x2fe0 */ 48, 48, 48, 48, 48, 48, 49, 51, 32, 32, 48, 48, 48, 48, 48, 48, /* 0x2ff0 */ 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, /* 0x3000 */ - 48, 48, 48, 50, 48,101, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, /* 0x3010 */ + 48, 48, 48, 50, 48,100, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, /* 0x3010 */ 78, 84, 69, 78, 84, 83, 44, 32, 82, 69, 76, 79, 67, 44, 32, 82, /* 0x3020 */ 69, 65, 68, 79, 78, 76, 89, 10, 32, 51, 55, 32, 78, 50, 69, 88, /* 0x3030 */ 56, 54, 48, 49, 32, 32, 32, 32, 32, 32, 48, 48, 48, 48, 48, 48, /* 0x3040 */ 48, 54, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, /* 0x3050 */ - 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 50, 50, 49, /* 0x3060 */ + 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 50, 50, 48, /* 0x3060 */ 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, /* 0x3070 */ 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, 32, 51, 56, 32, 78, /* 0x3080 */ 50, 69, 50, 56, 54, 48, 49, 32, 32, 32, 32, 32, 32, 48, 48, 48, /* 0x3090 */ 48, 48, 48, 48, 51, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, /* 0x30a0 */ 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, /* 0x30b0 */ - 50, 50, 55, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, /* 0x30c0 */ + 50, 50, 54, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, /* 0x30c0 */ 78, 84, 83, 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, 32, 51, /* 0x30d0 */ 57, 32, 78, 82, 86, 50, 69, 69, 88, 50, 32, 32, 32, 32, 32, 32, /* 0x30e0 */ 48, 48, 48, 48, 48, 48, 51,101, 32, 32, 48, 48, 48, 48, 48, 48, /* 0x30f0 */ 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, /* 0x3100 */ - 48, 48, 48, 50, 50, 97, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, /* 0x3110 */ + 48, 48, 48, 50, 50, 57, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, /* 0x3110 */ 78, 84, 69, 78, 84, 83, 44, 32, 82, 69, 76, 79, 67, 44, 32, 82, /* 0x3120 */ 69, 65, 68, 79, 78, 76, 89, 10, 32, 52, 48, 32, 78, 50, 69, 88, /* 0x3130 */ 56, 54, 48, 50, 32, 32, 32, 32, 32, 32, 48, 48, 48, 48, 48, 48, /* 0x3140 */ 48,101, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, /* 0x3150 */ - 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 50, 54, 56, /* 0x3160 */ + 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 50, 54, 55, /* 0x3160 */ 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, /* 0x3170 */ 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, 32, 52, 49, 32, 78, /* 0x3180 */ 50, 69, 50, 56, 54, 48, 50, 32, 32, 32, 32, 32, 32, 48, 48, 48, /* 0x3190 */ 48, 48, 48, 48, 54, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, /* 0x31a0 */ 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, /* 0x31b0 */ - 50, 55, 54, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, /* 0x31c0 */ + 50, 55, 53, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, /* 0x31c0 */ 78, 84, 83, 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, 32, 52, /* 0x31d0 */ 50, 32, 78, 82, 86, 50, 69, 69, 88, 51, 32, 32, 32, 32, 32, 32, /* 0x31e0 */ 48, 48, 48, 48, 48, 48, 49, 53, 32, 32, 48, 48, 48, 48, 48, 48, /* 0x31f0 */ 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, /* 0x3200 */ - 48, 48, 48, 50, 55, 99, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, /* 0x3210 */ + 48, 48, 48, 50, 55, 98, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, /* 0x3210 */ 78, 84, 69, 78, 84, 83, 44, 32, 82, 69, 76, 79, 67, 44, 32, 82, /* 0x3220 */ 69, 65, 68, 79, 78, 76, 89, 10, 32, 52, 51, 32, 78, 50, 69, 54, /* 0x3230 */ 52, 75, 48, 50, 32, 32, 32, 32, 32, 32, 48, 48, 48, 48, 48, 48, /* 0x3240 */ 48, 98, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, /* 0x3250 */ - 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 50, 57, 49, /* 0x3260 */ + 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 50, 57, 48, /* 0x3260 */ 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, /* 0x3270 */ 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, 32, 52, 52, 32, 78, /* 0x3280 */ 82, 86, 50, 69, 69, 88, 57, 32, 32, 32, 32, 32, 32, 48, 48, 48, /* 0x3290 */ 48, 48, 48, 48, 52, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, /* 0x32a0 */ 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, /* 0x32b0 */ - 50, 57, 99, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, /* 0x32c0 */ + 50, 57, 98, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, /* 0x32c0 */ 78, 84, 83, 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, 32, 52, /* 0x32d0 */ 53, 32, 69, 88, 69, 77, 65, 73, 78, 53, 32, 32, 32, 32, 32, 32, /* 0x32e0 */ 48, 48, 48, 48, 48, 48, 48, 49, 32, 32, 48, 48, 48, 48, 48, 48, /* 0x32f0 */ 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, /* 0x3300 */ - 48, 48, 48, 50, 97, 48, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, /* 0x3310 */ + 48, 48, 48, 50, 57,102, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, /* 0x3310 */ 78, 84, 69, 78, 84, 83, 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, /* 0x3320 */ 10, 32, 52, 54, 32, 69, 88, 69, 65, 68, 74, 85, 83, 32, 32, 32, /* 0x3330 */ 32, 32, 32, 48, 48, 48, 48, 48, 48, 48, 55, 32, 32, 48, 48, 48, /* 0x3340 */ 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, /* 0x3350 */ - 32, 48, 48, 48, 48, 48, 50, 97, 49, 32, 32, 50, 42, 42, 48, 32, /* 0x3360 */ + 32, 48, 48, 48, 48, 48, 50, 97, 48, 32, 32, 50, 42, 42, 48, 32, /* 0x3360 */ 32, 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, 69, 65, 68, 79, /* 0x3370 */ 78, 76, 89, 10, 32, 52, 55, 32, 69, 88, 69, 78, 79, 65, 68, 74, /* 0x3380 */ 32, 32, 32, 32, 32, 32, 48, 48, 48, 48, 48, 48, 48, 50, 32, 32, /* 0x3390 */ 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, /* 0x33a0 */ - 48, 48, 32, 32, 48, 48, 48, 48, 48, 50, 97, 56, 32, 32, 50, 42, /* 0x33b0 */ + 48, 48, 32, 32, 48, 48, 48, 48, 48, 50, 97, 55, 32, 32, 50, 42, /* 0x33b0 */ 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, 69, /* 0x33c0 */ 65, 68, 79, 78, 76, 89, 10, 32, 52, 56, 32, 69, 88, 69, 82, 69, /* 0x33d0 */ 76, 79, 49, 32, 32, 32, 32, 32, 32, 48, 48, 48, 48, 48, 48, 49, /* 0x33e0 */ 101, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, /* 0x33f0 */ - 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 50, 97, 97, 32, /* 0x3400 */ + 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 50, 97, 57, 32, /* 0x3400 */ 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, 44, /* 0x3410 */ 32, 82, 69, 76, 79, 67, 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, /* 0x3420 */ 10, 32, 52, 57, 32, 69, 88, 69, 82, 69, 76, 57, 65, 32, 32, 32, /* 0x3430 */ 32, 32, 32, 48, 48, 48, 48, 48, 48, 49, 50, 32, 32, 48, 48, 48, /* 0x3440 */ 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, /* 0x3450 */ - 32, 48, 48, 48, 48, 48, 50, 99, 56, 32, 32, 50, 42, 42, 48, 32, /* 0x3460 */ + 32, 48, 48, 48, 48, 48, 50, 99, 55, 32, 32, 50, 42, 42, 48, 32, /* 0x3460 */ 32, 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, 69, 76, 79, 67, /* 0x3470 */ 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, 32, 53, 48, 32, 69, /* 0x3480 */ 88, 69, 82, 69, 76, 79, 50, 32, 32, 32, 32, 32, 32, 48, 48, 48, /* 0x3490 */ 48, 48, 48, 48, 52, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, /* 0x34a0 */ 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, /* 0x34b0 */ - 50,100, 97, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, /* 0x34c0 */ + 50,100, 57, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, /* 0x34c0 */ 78, 84, 83, 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, 32, 53, /* 0x34d0 */ 49, 32, 69, 88, 69, 82, 69, 66, 73, 71, 32, 32, 32, 32, 32, 32, /* 0x34e0 */ 48, 48, 48, 48, 48, 48, 48, 50, 32, 32, 48, 48, 48, 48, 48, 48, /* 0x34f0 */ 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, /* 0x3500 */ - 48, 48, 48, 50,100,101, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, /* 0x3510 */ + 48, 48, 48, 50,100,100, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, /* 0x3510 */ 78, 84, 69, 78, 84, 83, 44, 32, 82, 69, 76, 79, 67, 44, 32, 82, /* 0x3520 */ 69, 65, 68, 79, 78, 76, 89, 10, 32, 53, 50, 32, 69, 88, 69, 82, /* 0x3530 */ 69, 76, 79, 51, 32, 32, 32, 32, 32, 32, 48, 48, 48, 48, 48, 48, /* 0x3540 */ 48, 50, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, /* 0x3550 */ - 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 50,101, 48, /* 0x3560 */ + 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 50,100,102, /* 0x3560 */ 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, /* 0x3570 */ 44, 32, 82, 69, 76, 79, 67, 44, 32, 82, 69, 65, 68, 79, 78, 76, /* 0x3580 */ 89, 10, 32, 53, 51, 32, 69, 88, 69, 77, 65, 73, 78, 56, 32, 32, /* 0x3590 */ 32, 32, 32, 32, 48, 48, 48, 48, 48, 48, 48, 51, 32, 32, 48, 48, /* 0x35a0 */ 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, /* 0x35b0 */ - 32, 32, 48, 48, 48, 48, 48, 50,101, 50, 32, 32, 50, 42, 42, 48, /* 0x35c0 */ + 32, 32, 48, 48, 48, 48, 48, 50,101, 49, 32, 32, 50, 42, 42, 48, /* 0x35c0 */ 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, 69, 65, 68, /* 0x35d0 */ 79, 78, 76, 89, 10, 32, 53, 52, 32, 68, 69, 86, 73, 67, 69, 69, /* 0x35e0 */ 78, 68, 32, 32, 32, 32, 32, 48, 48, 48, 48, 48, 48, 49, 51, 32, /* 0x35f0 */ 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, /* 0x3600 */ - 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 50,101, 53, 32, 32, 50, /* 0x3610 */ + 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 50,101, 52, 32, 32, 50, /* 0x3610 */ 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, /* 0x3620 */ 69, 65, 68, 79, 78, 76, 89, 10, 32, 53, 53, 32, 69, 88, 69, 83, /* 0x3630 */ 84, 65, 67, 75, 32, 32, 32, 32, 32, 32, 48, 48, 48, 48, 48, 48, /* 0x3640 */ 48, 54, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, /* 0x3650 */ - 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 50,102, 56, /* 0x3660 */ + 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 50,102, 55, /* 0x3660 */ 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, /* 0x3670 */ 44, 32, 82, 69, 76, 79, 67, 44, 32, 82, 69, 65, 68, 79, 78, 76, /* 0x3680 */ 89, 10, 32, 53, 54, 32, 69, 88, 69, 83, 84, 65, 83, 80, 32, 32, /* 0x3690 */ 32, 32, 32, 32, 48, 48, 48, 48, 48, 48, 48, 51, 32, 32, 48, 48, /* 0x36a0 */ 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, /* 0x36b0 */ - 32, 32, 48, 48, 48, 48, 48, 50,102,101, 32, 32, 50, 42, 42, 48, /* 0x36c0 */ + 32, 32, 48, 48, 48, 48, 48, 50,102,100, 32, 32, 50, 42, 42, 48, /* 0x36c0 */ 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, 69, 76, 79, /* 0x36d0 */ 67, 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, 32, 53, 55, 32, /* 0x36e0 */ 69, 88, 69, 74, 85, 77, 80, 70, 32, 32, 32, 32, 32, 32, 48, 48, /* 0x36f0 */ 48, 48, 48, 48, 48, 53, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, /* 0x3700 */ 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, /* 0x3710 */ - 48, 51, 48, 49, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, /* 0x3720 */ + 48, 51, 48, 48, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, /* 0x3720 */ 69, 78, 84, 83, 44, 32, 82, 69, 76, 79, 67, 44, 32, 82, 69, 65, /* 0x3730 */ 68, 79, 78, 76, 89, 10, 32, 53, 56, 32, 69, 88, 69, 82, 67, 83, /* 0x3740 */ 80, 79, 32, 32, 32, 32, 32, 32, 48, 48, 48, 48, 48, 48, 48, 52, /* 0x3750 */ 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, /* 0x3760 */ - 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 51, 48, 54, 32, 32, /* 0x3770 */ + 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 51, 48, 53, 32, 32, /* 0x3770 */ 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, /* 0x3780 */ 82, 69, 76, 79, 67, 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, /* 0x3790 */ 32, 53, 57, 32, 69, 88, 69, 82, 69, 84, 73, 80, 32, 32, 32, 32, /* 0x37a0 */ 32, 32, 48, 48, 48, 48, 48, 48, 48, 54, 32, 32, 48, 48, 48, 48, /* 0x37b0 */ 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, /* 0x37c0 */ - 48, 48, 48, 48, 48, 51, 48, 97, 32, 32, 50, 42, 42, 48, 32, 32, /* 0x37d0 */ + 48, 48, 48, 48, 48, 51, 48, 57, 32, 32, 50, 42, 42, 48, 32, 32, /* 0x37d0 */ 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, 69, 76, 79, 67, 44, /* 0x37e0 */ 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, 32, 54, 48, 32, 46,110, /* 0x37f0 */ 111,116,101, 32, 32, 32, 32, 32, 32, 32, 32, 32, 48, 48, 48, 48, /* 0x3800 */ 48, 48, 49, 52, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, /* 0x3810 */ 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 51, /* 0x3820 */ - 49, 48, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, /* 0x3830 */ + 48,102, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, /* 0x3830 */ 84, 83, 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, 83, 89, 77, /* 0x3840 */ 66, 79, 76, 32, 84, 65, 66, 76, 69, 58, 10, 48, 48, 48, 48, 48, /* 0x3850 */ 48, 48, 48, 32,108, 32, 32, 32, 32,100,102, 32, 42, 65, 66, 83, /* 0x3860 */ @@ -1393,7 +1393,7 @@ unsigned char nrv_loader[25128] = { 67, 69, 83, 85, 66, 93, 58, 10, 79, 70, 70, 83, 69, 84, 32, 32, /* 0x54e0 */ 32, 84, 89, 80, 69, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, /* 0x54f0 */ 32, 32, 32, 86, 65, 76, 85, 69, 32, 10, 48, 48, 48, 48, 48, 48, /* 0x5500 */ - 48, 51, 32, 82, 95, 51, 56, 54, 95, 49, 54, 32, 32, 32, 32, 32, /* 0x5510 */ + 48, 51, 32, 82, 95, 51, 56, 54, 95, 56, 32, 32, 32, 32, 32, 32, /* 0x5510 */ 32, 32, 32, 32, 32, 69, 88, 69, 69, 78, 84, 82, 89, 10, 10, 10, /* 0x5520 */ 82, 69, 76, 79, 67, 65, 84, 73, 79, 78, 32, 82, 69, 67, 79, 82, /* 0x5530 */ 68, 83, 32, 70, 79, 82, 32, 91, 74, 78, 67, 68, 79, 67, 79, 80, /* 0x5540 */ diff --git a/src/stub/src/i086-dos16.exe.asm b/src/stub/src/i086-dos16.exe.asm index c1027b7f..120f50d1 100644 --- a/src/stub/src/i086-dos16.exe.asm +++ b/src/stub/src/i086-dos16.exe.asm @@ -89,7 +89,8 @@ addaxds: movsw cld section DEVICESUB - subb [cs:si + addaxds + 4], 0x10 + /* subb [cs:si + addaxds + 4], 0x10 */ + .byte 0x2e, 0x80, 0x6c, addaxds + 4, 0x10 section EXESUB subb [cs:si + addaxds - exe_entry + 4], 0x10 section JNCDOCOPY