1
0
mirror of https://github.com/upx/upx synced 2025-10-05 19:20:23 +08:00
This commit is contained in:
Markus F.X.J. Oberhumer 2006-06-29 18:43:36 +02:00
commit c0d4741f88
8 changed files with 293 additions and 234 deletions

View File

@ -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
*/

View File

@ -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);
};

View File

@ -272,7 +272,7 @@ void PackCom::unpack(OutputFile *fo)
Linker* PackCom::newLinker() const
{
return new ElfLinker();
return new ElfLinkerX86();
}

View File

@ -710,7 +710,7 @@ void PackExe::unpack(OutputFile *fo)
Linker* PackExe::newLinker() const
{
return new ElfLinker();
return new ElfLinkerX86();
}

View File

@ -481,6 +481,7 @@ void PackVmlinuxI386::unpack(OutputFile *fo)
//targets := vmlinux upx-head.o upx-piggy.o
//
//LDFLAGS_vmlinux := -Ttext $(IMAGE_OFFSET) -e startup_32
//EXTRA_AFLAGS += -DIMAGE_OFFSET=$(IMAGE_OFFSET)
//
//$(obj)/vmlinux: $(obj)/upx-head.o $(obj)/upx-piggy.o FORCE
// $(call if_changed,ld)
@ -522,7 +523,10 @@ void PackVmlinuxI386::unpack(OutputFile *fo)
//
// pushl $0; popf # subsumes "cli; cld"; also clears NT for buggy BIOS
//
// movl $ 0x100000,%eax # destination of uncompression (and entry point)
//#ifndef IMAGE_OFFSET /*{*/
//#define IMAGE_OFFSET 0x100000
//#endif /*}*/
// movl $ IMAGE_OFFSET,%eax # destination of uncompression (and entry point)
// push %cs
/* Fall into .text of upx-compressed vmlinux. */
//-----

View File

@ -283,6 +283,7 @@ void PackVmlinuzI386::pack(OutputFile *fo)
cconf.conf_lzma.max_num_probs = 1846 + (768 << 4); // ushort: ~28KB stack
compressWithFilters(&ft, 512, 0, NULL, &cconf);
freezeLoader();
const unsigned lsize = getLoaderSize();
MemBuffer loader(lsize);
memcpy(loader, getLoader(), lsize);
@ -344,6 +345,7 @@ int PackBvmlinuzI386::buildLoader(const Filter *ft)
addFilter32(ft->id);
}
addLoader("LINUZ990", NULL);
freezeLoader();
return getLoaderSize();
}

View File

@ -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 */

View File

@ -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