From 5db7e826d3cc3b4a7b687162ff593a725435c5ea Mon Sep 17 00:00:00 2001 From: John Reiser Date: Sun, 5 Feb 2017 15:02:31 -0800 Subject: [PATCH] Find and use AT_PAGESZ; forward from -entry to -fold. Cleanup the runtime choice of PAGE_SIZE 4K or 64K modified: stub/powerpc-linux.elf-entry.h modified: stub/powerpc-linux.elf-fold.h modified: stub/src/arch/powerpc/32/ppc_regs.h modified: stub/src/powerpc-linux.elf-entry.S modified: stub/src/powerpc-linux.elf-fold.S modified: stub/tmp/powerpc-linux.elf-entry.bin.dump modified: stub/tmp/powerpc-linux.elf-fold.map --- src/stub/powerpc-linux.elf-entry.h | 374 ++++++++-------- src/stub/powerpc-linux.elf-fold.h | 404 +++++++++--------- src/stub/src/arch/powerpc/32/ppc_regs.h | 4 + src/stub/src/powerpc-linux.elf-entry.S | 96 ++--- src/stub/src/powerpc-linux.elf-fold.S | 42 +- src/stub/tmp/powerpc-linux.elf-entry.bin.dump | 7 +- src/stub/tmp/powerpc-linux.elf-fold.map | 36 +- 7 files changed, 459 insertions(+), 504 deletions(-) diff --git a/src/stub/powerpc-linux.elf-entry.h b/src/stub/powerpc-linux.elf-entry.h index 730123b3..07d035fe 100644 --- a/src/stub/powerpc-linux.elf-entry.h +++ b/src/stub/powerpc-linux.elf-entry.h @@ -1,5 +1,5 @@ /* powerpc-linux.elf-entry.h - created from powerpc-linux.elf-entry.bin, 9075 (0x2373) bytes + created from powerpc-linux.elf-entry.bin, 8955 (0x22fb) bytes This file is part of the UPX executable compressor. @@ -31,15 +31,15 @@ */ -#define STUB_POWERPC_LINUX_ELF_ENTRY_SIZE 9075 -#define STUB_POWERPC_LINUX_ELF_ENTRY_ADLER32 0x57063386 -#define STUB_POWERPC_LINUX_ELF_ENTRY_CRC32 0x6d338e3f +#define STUB_POWERPC_LINUX_ELF_ENTRY_SIZE 8955 +#define STUB_POWERPC_LINUX_ELF_ENTRY_ADLER32 0xbe141be5 +#define STUB_POWERPC_LINUX_ELF_ENTRY_CRC32 0x24276ed5 -unsigned char stub_powerpc_linux_elf_entry[9075] = { +unsigned char stub_powerpc_linux_elf_entry[8955] = { /* 0x0000 */ 127, 69, 76, 70, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* 0x0010 */ 0, 1, 0, 20, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, -/* 0x0020 */ 0, 0, 25,208, 0, 0, 0, 0, 0, 52, 0, 0, 0, 0, 0, 40, -/* 0x0030 */ 0, 24, 0, 21, 72, 0, 1, 45,124, 0, 41,236,125,168, 2,166, +/* 0x0020 */ 0, 0, 25,124, 0, 0, 0, 0, 0, 52, 0, 0, 0, 0, 0, 40, +/* 0x0030 */ 0, 24, 0, 21, 72, 0, 0,217,124, 0, 41,236,125,168, 2,166, /* 0x0040 */ 40, 7, 0, 8, 64,130, 1, 60,144,166, 0, 0,124,132, 26, 20, /* 0x0050 */ 60, 0,128, 0, 61, 32,128, 0, 56, 99,255,255, 56,165,255,255, /* 0x0060 */ 57, 64,255,255, 72, 0, 1, 12, 57, 32, 0, 1,125, 41, 28, 44, @@ -420,188 +420,180 @@ unsigned char stub_powerpc_linux_elf_entry[9075] = { /* 0x17d0 */ 79, 84, 95, 87, 82, 73, 84, 69, 32,102, 97,105,108,101,100, 46, /* 0x17e0 */ 10, 0, 56,160, 0, 30,124,136, 2,166, 56, 96, 0, 2, 56, 0, /* 0x17f0 */ 0, 4, 68, 0, 0, 2, 56, 96, 0,127, 56, 0, 0, 1, 68, 0, -/* 0x1800 */ 0, 2,127,200, 2,166, 57, 0, 0, 0, 56,224,255,255, 56,192, -/* 0x1810 */ 0, 34, 56,160, 0, 3, 56,128, 16, 0,124,132, 34, 20,128,126, -/* 0x1820 */ 0, 4,124, 99,242, 20, 56, 99, 16, 11, 84, 99, 0, 38,124,151, -/* 0x1830 */ 35,120,124,110, 27,120, 56, 0, 0, 90, 68, 0, 0, 2, 40, 3, -/* 0x1840 */ 0, 14, 65,130, 0, 8, 72, 0, 0, 80,126,228,187,120, 56, 0, -/* 0x1850 */ 0, 91, 68, 0, 0, 2, 57, 0, 0, 0, 56,224,255,255, 56,192, -/* 0x1860 */ 0, 50, 56,160, 0, 7, 56,128, 16, 0,128,126, 0, 4,124, 99, -/* 0x1870 */ 242, 20, 56, 99, 16, 11, 84, 99, 0, 38, 56, 0, 0, 90,124,151, -/* 0x1880 */ 35,120,124,110, 27,120, 68, 0, 0, 2, 40, 3, 0, 14, 64,130, -/* 0x1890 */ 0, 80, 72, 0, 0, 0,126,228,187,120, 56, 0, 0, 91, 68, 0, -/* 0x18a0 */ 0, 2, 57, 0, 0, 0, 56,224,255,255, 56,192, 0, 50, 56,160, -/* 0x18b0 */ 0, 7, 60,128, 0, 1,128,126, 0, 4,124, 99,242, 20, 56, 99, -/* 0x18c0 */ 0, 11,124, 99, 34, 20, 84, 99, 0, 30, 56, 0, 0, 90,124,151, -/* 0x18d0 */ 35,120, 68, 0, 0, 2, 40, 3, 0, 22, 65,130, 0, 0,127,233, -/* 0x18e0 */ 3,166,128, 30, 0, 0,136,254, 0, 8, 56,193, 0,124,144, 1, -/* 0x18f0 */ 0,124,146,225, 0, 92,124,101, 27,120,124,104, 3,166,128,158, -/* 0x1900 */ 0, 4, 56,126, 0, 12, 56, 33,255,232, 78,128, 4, 32,148, 33, -/* 0x1910 */ 255,128,188, 65, 0, 4,127,232, 2,166, 75,255,254,233,102,105, -/* 0x1920 */ 108,101, 32,102,111,114,109, 97,116, 32,101,108,102, 51, 50, 45, -/* 0x1930 */ 112,111,119,101,114,112, 99, 10, 10, 83,101, 99,116,105,111,110, -/* 0x1940 */ 115, 58, 10, 73,100,120, 32, 78, 97,109,101, 32, 32, 32, 32, 32, -/* 0x1950 */ 32, 32, 32, 32, 32, 83,105,122,101, 32, 32, 32, 32, 32, 32, 86, -/* 0x1960 */ 77, 65, 32, 32, 32, 32, 32, 32, 32, 76, 77, 65, 32, 32, 32, 32, -/* 0x1970 */ 32, 32, 32, 70,105,108,101, 32,111,102,102, 32, 32, 65,108,103, -/* 0x1980 */ 110, 32, 32, 70,108, 97,103,115, 10, 32, 32, 48, 32, 69, 76, 70, -/* 0x1990 */ 77, 65, 73, 78, 88, 32, 32, 32, 32, 32, 32, 48, 48, 48, 48, 48, -/* 0x19a0 */ 48, 48, 52, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, -/* 0x19b0 */ 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 51, -/* 0x19c0 */ 52, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, -/* 0x19d0 */ 83, 44, 32, 82, 69, 76, 79, 67, 44, 32, 82, 69, 65, 68, 79, 78, -/* 0x19e0 */ 76, 89, 10, 32, 32, 49, 32, 78, 82, 86, 95, 72, 69, 65, 68, 32, -/* 0x19f0 */ 32, 32, 32, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, -/* 0x1a00 */ 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, -/* 0x1a10 */ 48, 32, 32, 48, 48, 48, 48, 48, 48, 51, 56, 32, 32, 50, 42, 42, -/* 0x1a20 */ 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, 69, 65, -/* 0x1a30 */ 68, 79, 78, 76, 89, 10, 32, 32, 50, 32, 78, 82, 86, 50, 69, 32, -/* 0x1a40 */ 32, 32, 32, 32, 32, 32, 32, 32, 48, 48, 48, 48, 48, 49, 52, 56, -/* 0x1a50 */ 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, -/* 0x1a60 */ 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 51, 56, 32, 32, -/* 0x1a70 */ 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, -/* 0x1a80 */ 82, 69, 76, 79, 67, 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, -/* 0x1a90 */ 32, 32, 51, 32, 78, 82, 86, 50, 68, 32, 32, 32, 32, 32, 32, 32, -/* 0x1aa0 */ 32, 32, 48, 48, 48, 48, 48, 49, 50, 99, 32, 32, 48, 48, 48, 48, -/* 0x1ab0 */ 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, -/* 0x1ac0 */ 48, 48, 48, 48, 48, 49, 56, 48, 32, 32, 50, 42, 42, 48, 32, 32, -/* 0x1ad0 */ 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, 69, 76, 79, 67, 44, -/* 0x1ae0 */ 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, 32, 32, 52, 32, 78, 82, -/* 0x1af0 */ 86, 50, 66, 32, 32, 32, 32, 32, 32, 32, 32, 32, 48, 48, 48, 48, -/* 0x1b00 */ 48, 48,102, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, -/* 0x1b10 */ 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 50, -/* 0x1b20 */ 97, 99, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, -/* 0x1b30 */ 84, 83, 44, 32, 82, 69, 76, 79, 67, 44, 32, 82, 69, 65, 68, 79, -/* 0x1b40 */ 78, 76, 89, 10, 32, 32, 53, 32, 76, 90, 77, 65, 95, 69, 76, 70, -/* 0x1b50 */ 48, 48, 32, 32, 32, 32, 48, 48, 48, 48, 48, 48, 56, 99, 32, 32, -/* 0x1b60 */ 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, -/* 0x1b70 */ 48, 48, 32, 32, 48, 48, 48, 48, 48, 51, 57, 99, 32, 32, 50, 42, -/* 0x1b80 */ 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, 69, -/* 0x1b90 */ 76, 79, 67, 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, 32, 32, -/* 0x1ba0 */ 54, 32, 76, 90, 77, 65, 95, 68, 69, 67, 49, 48, 32, 32, 32, 32, -/* 0x1bb0 */ 48, 48, 48, 48, 48, 57, 57, 99, 32, 32, 48, 48, 48, 48, 48, 48, -/* 0x1bc0 */ 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, -/* 0x1bd0 */ 48, 48, 48, 52, 50, 56, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, -/* 0x1be0 */ 78, 84, 69, 78, 84, 83, 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, -/* 0x1bf0 */ 10, 32, 32, 55, 32, 76, 90, 77, 65, 95, 68, 69, 67, 50, 48, 32, -/* 0x1c00 */ 32, 32, 32, 48, 48, 48, 48, 48, 57, 57, 99, 32, 32, 48, 48, 48, -/* 0x1c10 */ 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, -/* 0x1c20 */ 32, 48, 48, 48, 48, 48,100, 99, 52, 32, 32, 50, 42, 42, 48, 32, -/* 0x1c30 */ 32, 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, 69, 65, 68, 79, -/* 0x1c40 */ 78, 76, 89, 10, 32, 32, 56, 32, 76, 90, 77, 65, 95, 68, 69, 67, -/* 0x1c50 */ 51, 48, 32, 32, 32, 32, 48, 48, 48, 48, 48, 48, 50, 48, 32, 32, -/* 0x1c60 */ 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, -/* 0x1c70 */ 48, 48, 32, 32, 48, 48, 48, 48, 49, 55, 54, 48, 32, 32, 50, 42, -/* 0x1c80 */ 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, 69, -/* 0x1c90 */ 65, 68, 79, 78, 76, 89, 10, 32, 32, 57, 32, 78, 82, 86, 95, 84, -/* 0x1ca0 */ 65, 73, 76, 32, 32, 32, 32, 32, 32, 48, 48, 48, 48, 48, 48, 49, -/* 0x1cb0 */ 99, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, -/* 0x1cc0 */ 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 49, 55, 56, 48, 32, -/* 0x1cd0 */ 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, 44, -/* 0x1ce0 */ 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, 32, 49, 48, 32, 67, 70, -/* 0x1cf0 */ 76, 85, 83, 72, 32, 32, 32, 32, 32, 32, 32, 32, 48, 48, 48, 48, -/* 0x1d00 */ 48, 48, 50, 52, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, -/* 0x1d10 */ 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 49, 55, -/* 0x1d20 */ 57, 99, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, -/* 0x1d30 */ 84, 83, 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, 32, 49, 49, -/* 0x1d40 */ 32, 69, 76, 70, 77, 65, 73, 78, 89, 32, 32, 32, 32, 32, 32, 48, -/* 0x1d50 */ 48, 48, 48, 48, 48, 50, 50, 32, 32, 48, 48, 48, 48, 48, 48, 48, -/* 0x1d60 */ 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, -/* 0x1d70 */ 48, 49, 55, 99, 48, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, -/* 0x1d80 */ 84, 69, 78, 84, 83, 44, 32, 82, 69, 76, 79, 67, 44, 32, 82, 69, -/* 0x1d90 */ 65, 68, 79, 78, 76, 89, 10, 32, 49, 50, 32, 69, 76, 70, 77, 65, -/* 0x1da0 */ 73, 78, 90, 32, 32, 32, 32, 32, 32, 48, 48, 48, 48, 48, 49, 51, -/* 0x1db0 */ 99, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, -/* 0x1dc0 */ 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 49, 55,101, 50, 32, -/* 0x1dd0 */ 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, 44, -/* 0x1de0 */ 32, 82, 69, 76, 79, 67, 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, -/* 0x1df0 */ 10, 83, 89, 77, 66, 79, 76, 32, 84, 65, 66, 76, 69, 58, 10, 48, -/* 0x1e00 */ 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32, -/* 0x1e10 */ 76, 90, 77, 65, 95, 68, 69, 67, 51, 48, 9, 48, 48, 48, 48, 48, -/* 0x1e20 */ 48, 48, 48, 32, 76, 90, 77, 65, 95, 68, 69, 67, 51, 48, 10, 48, -/* 0x1e30 */ 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32, -/* 0x1e40 */ 78, 82, 86, 95, 84, 65, 73, 76, 9, 48, 48, 48, 48, 48, 48, 48, -/* 0x1e50 */ 48, 32, 78, 82, 86, 95, 84, 65, 73, 76, 10, 48, 48, 48, 48, 48, -/* 0x1e60 */ 48, 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32, 69, 76, 70, 77, -/* 0x1e70 */ 65, 73, 78, 89, 9, 48, 48, 48, 48, 48, 48, 48, 48, 32, 69, 76, -/* 0x1e80 */ 70, 77, 65, 73, 78, 89, 10, 48, 48, 48, 48, 48, 48, 48, 48, 32, -/* 0x1e90 */ 108, 32, 32, 32, 32,100, 32, 32, 69, 76, 70, 77, 65, 73, 78, 90, -/* 0x1ea0 */ 9, 48, 48, 48, 48, 48, 48, 48, 48, 32, 69, 76, 70, 77, 65, 73, -/* 0x1eb0 */ 78, 90, 10, 48, 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, -/* 0x1ec0 */ 32,100, 32, 32, 69, 76, 70, 77, 65, 73, 78, 88, 9, 48, 48, 48, -/* 0x1ed0 */ 48, 48, 48, 48, 48, 32, 69, 76, 70, 77, 65, 73, 78, 88, 10, 48, -/* 0x1ee0 */ 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32, -/* 0x1ef0 */ 78, 82, 86, 95, 72, 69, 65, 68, 9, 48, 48, 48, 48, 48, 48, 48, -/* 0x1f00 */ 48, 32, 78, 82, 86, 95, 72, 69, 65, 68, 10, 48, 48, 48, 48, 48, -/* 0x1f10 */ 48, 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32, 78, 82, 86, 50, -/* 0x1f20 */ 69, 9, 48, 48, 48, 48, 48, 48, 48, 48, 32, 78, 82, 86, 50, 69, -/* 0x1f30 */ 10, 48, 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, 32,100, -/* 0x1f40 */ 32, 32, 78, 82, 86, 50, 68, 9, 48, 48, 48, 48, 48, 48, 48, 48, -/* 0x1f50 */ 32, 78, 82, 86, 50, 68, 10, 48, 48, 48, 48, 48, 48, 48, 48, 32, -/* 0x1f60 */ 108, 32, 32, 32, 32,100, 32, 32, 78, 82, 86, 50, 66, 9, 48, 48, -/* 0x1f70 */ 48, 48, 48, 48, 48, 48, 32, 78, 82, 86, 50, 66, 10, 48, 48, 48, -/* 0x1f80 */ 48, 48, 48, 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32, 76, 90, -/* 0x1f90 */ 77, 65, 95, 69, 76, 70, 48, 48, 9, 48, 48, 48, 48, 48, 48, 48, -/* 0x1fa0 */ 48, 32, 76, 90, 77, 65, 95, 69, 76, 70, 48, 48, 10, 48, 48, 48, -/* 0x1fb0 */ 48, 48, 48, 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32, 76, 90, -/* 0x1fc0 */ 77, 65, 95, 68, 69, 67, 49, 48, 9, 48, 48, 48, 48, 48, 48, 48, -/* 0x1fd0 */ 48, 32, 76, 90, 77, 65, 95, 68, 69, 67, 49, 48, 10, 48, 48, 48, -/* 0x1fe0 */ 48, 48, 48, 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32, 76, 90, -/* 0x1ff0 */ 77, 65, 95, 68, 69, 67, 50, 48, 9, 48, 48, 48, 48, 48, 48, 48, -/* 0x2000 */ 48, 32, 76, 90, 77, 65, 95, 68, 69, 67, 50, 48, 10, 48, 48, 48, -/* 0x2010 */ 48, 48, 48, 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32, 67, 70, -/* 0x2020 */ 76, 85, 83, 72, 9, 48, 48, 48, 48, 48, 48, 48, 48, 32, 67, 70, -/* 0x2030 */ 76, 85, 83, 72, 10, 48, 48, 48, 48, 48, 48, 48, 48, 32,103, 32, -/* 0x2040 */ 32, 32, 32, 32, 32, 32, 69, 76, 70, 77, 65, 73, 78, 88, 9, 48, -/* 0x2050 */ 48, 48, 48, 48, 48, 48, 48, 32, 95,115,116, 97,114,116, 10, 10, -/* 0x2060 */ 82, 69, 76, 79, 67, 65, 84, 73, 79, 78, 32, 82, 69, 67, 79, 82, -/* 0x2070 */ 68, 83, 32, 70, 79, 82, 32, 91, 69, 76, 70, 77, 65, 73, 78, 88, -/* 0x2080 */ 93, 58, 10, 79, 70, 70, 83, 69, 84, 32, 32, 32, 84, 89, 80, 69, -/* 0x2090 */ 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 86, 65, -/* 0x20a0 */ 76, 85, 69, 10, 48, 48, 48, 48, 48, 48, 48, 48, 32, 82, 95, 80, -/* 0x20b0 */ 80, 67, 95, 82, 69, 76, 50, 52, 32, 32, 32, 32, 32, 32, 32, 69, -/* 0x20c0 */ 76, 70, 77, 65, 73, 78, 90, 43, 48,120, 48, 48, 48, 48, 48, 49, -/* 0x20d0 */ 50, 99, 10, 10, 82, 69, 76, 79, 67, 65, 84, 73, 79, 78, 32, 82, -/* 0x20e0 */ 69, 67, 79, 82, 68, 83, 32, 70, 79, 82, 32, 91, 78, 82, 86, 50, -/* 0x20f0 */ 69, 93, 58, 10, 79, 70, 70, 83, 69, 84, 32, 32, 32, 84, 89, 80, -/* 0x2100 */ 69, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 86, -/* 0x2110 */ 65, 76, 85, 69, 10, 48, 48, 48, 48, 48, 48, 98, 52, 32, 82, 95, -/* 0x2120 */ 80, 80, 67, 95, 82, 69, 76, 49, 52, 32, 32, 32, 32, 32, 32, 32, -/* 0x2130 */ 78, 82, 86, 95, 84, 65, 73, 76, 10, 10, 82, 69, 76, 79, 67, 65, -/* 0x2140 */ 84, 73, 79, 78, 32, 82, 69, 67, 79, 82, 68, 83, 32, 70, 79, 82, -/* 0x2150 */ 32, 91, 78, 82, 86, 50, 68, 93, 58, 10, 79, 70, 70, 83, 69, 84, -/* 0x2160 */ 32, 32, 32, 84, 89, 80, 69, 32, 32, 32, 32, 32, 32, 32, 32, 32, -/* 0x2170 */ 32, 32, 32, 32, 32, 86, 65, 76, 85, 69, 10, 48, 48, 48, 48, 48, -/* 0x2180 */ 48, 98, 52, 32, 82, 95, 80, 80, 67, 95, 82, 69, 76, 49, 52, 32, -/* 0x2190 */ 32, 32, 32, 32, 32, 32, 78, 82, 86, 95, 84, 65, 73, 76, 10, 10, -/* 0x21a0 */ 82, 69, 76, 79, 67, 65, 84, 73, 79, 78, 32, 82, 69, 67, 79, 82, -/* 0x21b0 */ 68, 83, 32, 70, 79, 82, 32, 91, 78, 82, 86, 50, 66, 93, 58, 10, -/* 0x21c0 */ 79, 70, 70, 83, 69, 84, 32, 32, 32, 84, 89, 80, 69, 32, 32, 32, -/* 0x21d0 */ 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 86, 65, 76, 85, 69, -/* 0x21e0 */ 10, 48, 48, 48, 48, 48, 48, 57, 48, 32, 82, 95, 80, 80, 67, 95, -/* 0x21f0 */ 82, 69, 76, 49, 52, 32, 32, 32, 32, 32, 32, 32, 78, 82, 86, 95, -/* 0x2200 */ 84, 65, 73, 76, 10, 10, 82, 69, 76, 79, 67, 65, 84, 73, 79, 78, -/* 0x2210 */ 32, 82, 69, 67, 79, 82, 68, 83, 32, 70, 79, 82, 32, 91, 76, 90, -/* 0x2220 */ 77, 65, 95, 69, 76, 70, 48, 48, 93, 58, 10, 79, 70, 70, 83, 69, -/* 0x2230 */ 84, 32, 32, 32, 84, 89, 80, 69, 32, 32, 32, 32, 32, 32, 32, 32, -/* 0x2240 */ 32, 32, 32, 32, 32, 32, 86, 65, 76, 85, 69, 10, 48, 48, 48, 48, -/* 0x2250 */ 48, 48, 48, 52, 32, 82, 95, 80, 80, 67, 95, 82, 69, 76, 49, 52, -/* 0x2260 */ 32, 32, 32, 32, 32, 32, 32, 76, 90, 77, 65, 95, 68, 69, 67, 51, -/* 0x2270 */ 48, 43, 48,120, 48, 48, 48, 48, 48, 48, 50, 48, 10, 10, 82, 69, -/* 0x2280 */ 76, 79, 67, 65, 84, 73, 79, 78, 32, 82, 69, 67, 79, 82, 68, 83, -/* 0x2290 */ 32, 70, 79, 82, 32, 91, 69, 76, 70, 77, 65, 73, 78, 89, 93, 58, -/* 0x22a0 */ 10, 79, 70, 70, 83, 69, 84, 32, 32, 32, 84, 89, 80, 69, 32, 32, -/* 0x22b0 */ 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 86, 65, 76, 85, -/* 0x22c0 */ 69, 10, 48, 48, 48, 48, 48, 48, 48, 48, 32, 82, 95, 80, 80, 67, -/* 0x22d0 */ 95, 82, 69, 76, 50, 52, 32, 32, 32, 32, 32, 32, 32, 69, 76, 70, -/* 0x22e0 */ 77, 65, 73, 78, 90, 10, 10, 82, 69, 76, 79, 67, 65, 84, 73, 79, -/* 0x22f0 */ 78, 32, 82, 69, 67, 79, 82, 68, 83, 32, 70, 79, 82, 32, 91, 69, -/* 0x2300 */ 76, 70, 77, 65, 73, 78, 90, 93, 58, 10, 79, 70, 70, 83, 69, 84, -/* 0x2310 */ 32, 32, 32, 84, 89, 80, 69, 32, 32, 32, 32, 32, 32, 32, 32, 32, -/* 0x2320 */ 32, 32, 32, 32, 32, 86, 65, 76, 85, 69, 10, 48, 48, 48, 48, 48, -/* 0x2330 */ 48, 98, 48, 32, 82, 95, 80, 80, 67, 95, 82, 69, 76, 50, 52, 32, -/* 0x2340 */ 32, 32, 32, 32, 32, 32, 69, 76, 70, 77, 65, 73, 78, 89, 10, 48, -/* 0x2350 */ 48, 48, 48, 48, 48,102, 56, 32, 82, 95, 80, 80, 67, 95, 82, 69, -/* 0x2360 */ 76, 49, 52, 32, 32, 32, 32, 32, 32, 32, 69, 76, 70, 77, 65, 73, -/* 0x2370 */ 78, 89, 10 +/* 0x1800 */ 0, 2,128, 67, 0, 0, 56, 99, 0, 4, 47,130, 0, 0, 64,158, +/* 0x1810 */ 255,244, 78,128, 0, 32,127,200, 2,166, 56, 97, 0,128, 75,255, +/* 0x1820 */ 255,229, 75,255,255,225,124,124, 27,120,128, 67, 0, 0,128,131, +/* 0x1830 */ 0, 4, 56, 99, 0, 8, 44, 2, 0, 6, 65,130, 0, 16, 44, 2, +/* 0x1840 */ 0, 0, 64,130,255,232, 56,128, 16, 0,124,155, 35,120, 57, 0, +/* 0x1850 */ 0, 0, 56,224,255,255, 56,192, 0, 34, 56,160, 0, 3,128,126, +/* 0x1860 */ 0, 4, 56, 99, 0, 12, 56, 68,255,255,124, 99,242, 20,124, 99, +/* 0x1870 */ 18, 20,124, 66, 24, 56,124, 98, 24, 80, 56, 0, 0, 90,124,110, +/* 0x1880 */ 27,120, 68, 0, 0, 2,124, 14, 24, 64, 64,130, 0, 0,127,233, +/* 0x1890 */ 3,166,128, 30, 0, 0,136,254, 0, 8, 56,193, 0,124,144, 1, +/* 0x18a0 */ 0,124,124,101, 27,120,124,104, 3,166,128,158, 0, 4, 56,126, +/* 0x18b0 */ 0, 12, 56, 33,255,232, 78,128, 4, 32,148, 33,255,128,188, 65, +/* 0x18c0 */ 0, 4,127,232, 2,166, 75,255,255, 81,102,105,108,101, 32,102, +/* 0x18d0 */ 111,114,109, 97,116, 32,101,108,102, 51, 50, 45,112,111,119,101, +/* 0x18e0 */ 114,112, 99, 10, 10, 83,101, 99,116,105,111,110,115, 58, 10, 73, +/* 0x18f0 */ 100,120, 32, 78, 97,109,101, 32, 32, 32, 32, 32, 32, 32, 32, 32, +/* 0x1900 */ 32, 83,105,122,101, 32, 32, 32, 32, 32, 32, 86, 77, 65, 32, 32, +/* 0x1910 */ 32, 32, 32, 32, 32, 76, 77, 65, 32, 32, 32, 32, 32, 32, 32, 70, +/* 0x1920 */ 105,108,101, 32,111,102,102, 32, 32, 65,108,103,110, 32, 32, 70, +/* 0x1930 */ 108, 97,103,115, 10, 32, 32, 48, 32, 69, 76, 70, 77, 65, 73, 78, +/* 0x1940 */ 88, 32, 32, 32, 32, 32, 32, 48, 48, 48, 48, 48, 48, 48, 52, 32, +/* 0x1950 */ 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, +/* 0x1960 */ 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 51, 52, 32, 32, 50, +/* 0x1970 */ 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, +/* 0x1980 */ 69, 76, 79, 67, 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, 32, +/* 0x1990 */ 32, 49, 32, 78, 82, 86, 95, 72, 69, 65, 68, 32, 32, 32, 32, 32, +/* 0x19a0 */ 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, +/* 0x19b0 */ 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, +/* 0x19c0 */ 48, 48, 48, 48, 48, 51, 56, 32, 32, 50, 42, 42, 48, 32, 32, 67, +/* 0x19d0 */ 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, 69, 65, 68, 79, 78, 76, +/* 0x19e0 */ 89, 10, 32, 32, 50, 32, 78, 82, 86, 50, 69, 32, 32, 32, 32, 32, +/* 0x19f0 */ 32, 32, 32, 32, 48, 48, 48, 48, 48, 49, 52, 56, 32, 32, 48, 48, +/* 0x1a00 */ 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, +/* 0x1a10 */ 32, 32, 48, 48, 48, 48, 48, 48, 51, 56, 32, 32, 50, 42, 42, 48, +/* 0x1a20 */ 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, 69, 76, 79, +/* 0x1a30 */ 67, 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, 32, 32, 51, 32, +/* 0x1a40 */ 78, 82, 86, 50, 68, 32, 32, 32, 32, 32, 32, 32, 32, 32, 48, 48, +/* 0x1a50 */ 48, 48, 48, 49, 50, 99, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, +/* 0x1a60 */ 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, +/* 0x1a70 */ 48, 49, 56, 48, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, +/* 0x1a80 */ 69, 78, 84, 83, 44, 32, 82, 69, 76, 79, 67, 44, 32, 82, 69, 65, +/* 0x1a90 */ 68, 79, 78, 76, 89, 10, 32, 32, 52, 32, 78, 82, 86, 50, 66, 32, +/* 0x1aa0 */ 32, 32, 32, 32, 32, 32, 32, 32, 48, 48, 48, 48, 48, 48,102, 48, +/* 0x1ab0 */ 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, +/* 0x1ac0 */ 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 50, 97, 99, 32, 32, +/* 0x1ad0 */ 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, +/* 0x1ae0 */ 82, 69, 76, 79, 67, 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, +/* 0x1af0 */ 32, 32, 53, 32, 76, 90, 77, 65, 95, 69, 76, 70, 48, 48, 32, 32, +/* 0x1b00 */ 32, 32, 48, 48, 48, 48, 48, 48, 56, 99, 32, 32, 48, 48, 48, 48, +/* 0x1b10 */ 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, +/* 0x1b20 */ 48, 48, 48, 48, 48, 51, 57, 99, 32, 32, 50, 42, 42, 48, 32, 32, +/* 0x1b30 */ 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, 69, 76, 79, 67, 44, +/* 0x1b40 */ 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, 32, 32, 54, 32, 76, 90, +/* 0x1b50 */ 77, 65, 95, 68, 69, 67, 49, 48, 32, 32, 32, 32, 48, 48, 48, 48, +/* 0x1b60 */ 48, 57, 57, 99, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, +/* 0x1b70 */ 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 52, +/* 0x1b80 */ 50, 56, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, +/* 0x1b90 */ 84, 83, 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, 32, 32, 55, +/* 0x1ba0 */ 32, 76, 90, 77, 65, 95, 68, 69, 67, 50, 48, 32, 32, 32, 32, 48, +/* 0x1bb0 */ 48, 48, 48, 48, 57, 57, 99, 32, 32, 48, 48, 48, 48, 48, 48, 48, +/* 0x1bc0 */ 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, +/* 0x1bd0 */ 48, 48,100, 99, 52, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, +/* 0x1be0 */ 84, 69, 78, 84, 83, 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, +/* 0x1bf0 */ 32, 32, 56, 32, 76, 90, 77, 65, 95, 68, 69, 67, 51, 48, 32, 32, +/* 0x1c00 */ 32, 32, 48, 48, 48, 48, 48, 48, 50, 48, 32, 32, 48, 48, 48, 48, +/* 0x1c10 */ 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, +/* 0x1c20 */ 48, 48, 48, 48, 49, 55, 54, 48, 32, 32, 50, 42, 42, 48, 32, 32, +/* 0x1c30 */ 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, 69, 65, 68, 79, 78, +/* 0x1c40 */ 76, 89, 10, 32, 32, 57, 32, 78, 82, 86, 95, 84, 65, 73, 76, 32, +/* 0x1c50 */ 32, 32, 32, 32, 32, 48, 48, 48, 48, 48, 48, 49, 99, 32, 32, 48, +/* 0x1c60 */ 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, +/* 0x1c70 */ 48, 32, 32, 48, 48, 48, 48, 49, 55, 56, 48, 32, 32, 50, 42, 42, +/* 0x1c80 */ 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, 69, 65, +/* 0x1c90 */ 68, 79, 78, 76, 89, 10, 32, 49, 48, 32, 67, 70, 76, 85, 83, 72, +/* 0x1ca0 */ 32, 32, 32, 32, 32, 32, 32, 32, 48, 48, 48, 48, 48, 48, 50, 52, +/* 0x1cb0 */ 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, +/* 0x1cc0 */ 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 49, 55, 57, 99, 32, 32, +/* 0x1cd0 */ 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, +/* 0x1ce0 */ 82, 69, 65, 68, 79, 78, 76, 89, 10, 32, 49, 49, 32, 69, 76, 70, +/* 0x1cf0 */ 77, 65, 73, 78, 89, 32, 32, 32, 32, 32, 32, 48, 48, 48, 48, 48, +/* 0x1d00 */ 48, 50, 50, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, +/* 0x1d10 */ 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 49, 55, 99, +/* 0x1d20 */ 48, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, +/* 0x1d30 */ 83, 44, 32, 82, 69, 76, 79, 67, 44, 32, 82, 69, 65, 68, 79, 78, +/* 0x1d40 */ 76, 89, 10, 32, 49, 50, 32, 69, 76, 70, 77, 65, 73, 78, 90, 32, +/* 0x1d50 */ 32, 32, 32, 32, 32, 48, 48, 48, 48, 48, 48,101, 56, 32, 32, 48, +/* 0x1d60 */ 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, +/* 0x1d70 */ 48, 32, 32, 48, 48, 48, 48, 49, 55,101, 50, 32, 32, 50, 42, 42, +/* 0x1d80 */ 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, 69, 76, +/* 0x1d90 */ 79, 67, 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, 83, 89, 77, +/* 0x1da0 */ 66, 79, 76, 32, 84, 65, 66, 76, 69, 58, 10, 48, 48, 48, 48, 48, +/* 0x1db0 */ 48, 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32, 76, 90, 77, 65, +/* 0x1dc0 */ 95, 68, 69, 67, 51, 48, 9, 48, 48, 48, 48, 48, 48, 48, 48, 32, +/* 0x1dd0 */ 76, 90, 77, 65, 95, 68, 69, 67, 51, 48, 10, 48, 48, 48, 48, 48, +/* 0x1de0 */ 48, 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32, 78, 82, 86, 95, +/* 0x1df0 */ 84, 65, 73, 76, 9, 48, 48, 48, 48, 48, 48, 48, 48, 32, 78, 82, +/* 0x1e00 */ 86, 95, 84, 65, 73, 76, 10, 48, 48, 48, 48, 48, 48, 48, 48, 32, +/* 0x1e10 */ 108, 32, 32, 32, 32,100, 32, 32, 69, 76, 70, 77, 65, 73, 78, 89, +/* 0x1e20 */ 9, 48, 48, 48, 48, 48, 48, 48, 48, 32, 69, 76, 70, 77, 65, 73, +/* 0x1e30 */ 78, 89, 10, 48, 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, +/* 0x1e40 */ 32,100, 32, 32, 69, 76, 70, 77, 65, 73, 78, 90, 9, 48, 48, 48, +/* 0x1e50 */ 48, 48, 48, 48, 48, 32, 69, 76, 70, 77, 65, 73, 78, 90, 10, 48, +/* 0x1e60 */ 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32, +/* 0x1e70 */ 69, 76, 70, 77, 65, 73, 78, 88, 9, 48, 48, 48, 48, 48, 48, 48, +/* 0x1e80 */ 48, 32, 69, 76, 70, 77, 65, 73, 78, 88, 10, 48, 48, 48, 48, 48, +/* 0x1e90 */ 48, 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32, 78, 82, 86, 95, +/* 0x1ea0 */ 72, 69, 65, 68, 9, 48, 48, 48, 48, 48, 48, 48, 48, 32, 78, 82, +/* 0x1eb0 */ 86, 95, 72, 69, 65, 68, 10, 48, 48, 48, 48, 48, 48, 48, 48, 32, +/* 0x1ec0 */ 108, 32, 32, 32, 32,100, 32, 32, 78, 82, 86, 50, 69, 9, 48, 48, +/* 0x1ed0 */ 48, 48, 48, 48, 48, 48, 32, 78, 82, 86, 50, 69, 10, 48, 48, 48, +/* 0x1ee0 */ 48, 48, 48, 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32, 78, 82, +/* 0x1ef0 */ 86, 50, 68, 9, 48, 48, 48, 48, 48, 48, 48, 48, 32, 78, 82, 86, +/* 0x1f00 */ 50, 68, 10, 48, 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, +/* 0x1f10 */ 32,100, 32, 32, 78, 82, 86, 50, 66, 9, 48, 48, 48, 48, 48, 48, +/* 0x1f20 */ 48, 48, 32, 78, 82, 86, 50, 66, 10, 48, 48, 48, 48, 48, 48, 48, +/* 0x1f30 */ 48, 32,108, 32, 32, 32, 32,100, 32, 32, 76, 90, 77, 65, 95, 69, +/* 0x1f40 */ 76, 70, 48, 48, 9, 48, 48, 48, 48, 48, 48, 48, 48, 32, 76, 90, +/* 0x1f50 */ 77, 65, 95, 69, 76, 70, 48, 48, 10, 48, 48, 48, 48, 48, 48, 48, +/* 0x1f60 */ 48, 32,108, 32, 32, 32, 32,100, 32, 32, 76, 90, 77, 65, 95, 68, +/* 0x1f70 */ 69, 67, 49, 48, 9, 48, 48, 48, 48, 48, 48, 48, 48, 32, 76, 90, +/* 0x1f80 */ 77, 65, 95, 68, 69, 67, 49, 48, 10, 48, 48, 48, 48, 48, 48, 48, +/* 0x1f90 */ 48, 32,108, 32, 32, 32, 32,100, 32, 32, 76, 90, 77, 65, 95, 68, +/* 0x1fa0 */ 69, 67, 50, 48, 9, 48, 48, 48, 48, 48, 48, 48, 48, 32, 76, 90, +/* 0x1fb0 */ 77, 65, 95, 68, 69, 67, 50, 48, 10, 48, 48, 48, 48, 48, 48, 48, +/* 0x1fc0 */ 48, 32,108, 32, 32, 32, 32,100, 32, 32, 67, 70, 76, 85, 83, 72, +/* 0x1fd0 */ 9, 48, 48, 48, 48, 48, 48, 48, 48, 32, 67, 70, 76, 85, 83, 72, +/* 0x1fe0 */ 10, 48, 48, 48, 48, 48, 48, 48, 48, 32,103, 32, 32, 32, 32, 32, +/* 0x1ff0 */ 32, 32, 69, 76, 70, 77, 65, 73, 78, 88, 9, 48, 48, 48, 48, 48, +/* 0x2000 */ 48, 48, 48, 32, 95,115,116, 97,114,116, 10, 10, 82, 69, 76, 79, +/* 0x2010 */ 67, 65, 84, 73, 79, 78, 32, 82, 69, 67, 79, 82, 68, 83, 32, 70, +/* 0x2020 */ 79, 82, 32, 91, 69, 76, 70, 77, 65, 73, 78, 88, 93, 58, 10, 79, +/* 0x2030 */ 70, 70, 83, 69, 84, 32, 32, 32, 84, 89, 80, 69, 32, 32, 32, 32, +/* 0x2040 */ 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 86, 65, 76, 85, 69, 10, +/* 0x2050 */ 48, 48, 48, 48, 48, 48, 48, 48, 32, 82, 95, 80, 80, 67, 95, 82, +/* 0x2060 */ 69, 76, 50, 52, 32, 32, 32, 32, 32, 32, 32, 69, 76, 70, 77, 65, +/* 0x2070 */ 73, 78, 90, 43, 48,120, 48, 48, 48, 48, 48, 48,100, 56, 10, 10, +/* 0x2080 */ 82, 69, 76, 79, 67, 65, 84, 73, 79, 78, 32, 82, 69, 67, 79, 82, +/* 0x2090 */ 68, 83, 32, 70, 79, 82, 32, 91, 78, 82, 86, 50, 69, 93, 58, 10, +/* 0x20a0 */ 79, 70, 70, 83, 69, 84, 32, 32, 32, 84, 89, 80, 69, 32, 32, 32, +/* 0x20b0 */ 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 86, 65, 76, 85, 69, +/* 0x20c0 */ 10, 48, 48, 48, 48, 48, 48, 98, 52, 32, 82, 95, 80, 80, 67, 95, +/* 0x20d0 */ 82, 69, 76, 49, 52, 32, 32, 32, 32, 32, 32, 32, 78, 82, 86, 95, +/* 0x20e0 */ 84, 65, 73, 76, 10, 10, 82, 69, 76, 79, 67, 65, 84, 73, 79, 78, +/* 0x20f0 */ 32, 82, 69, 67, 79, 82, 68, 83, 32, 70, 79, 82, 32, 91, 78, 82, +/* 0x2100 */ 86, 50, 68, 93, 58, 10, 79, 70, 70, 83, 69, 84, 32, 32, 32, 84, +/* 0x2110 */ 89, 80, 69, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, +/* 0x2120 */ 32, 86, 65, 76, 85, 69, 10, 48, 48, 48, 48, 48, 48, 98, 52, 32, +/* 0x2130 */ 82, 95, 80, 80, 67, 95, 82, 69, 76, 49, 52, 32, 32, 32, 32, 32, +/* 0x2140 */ 32, 32, 78, 82, 86, 95, 84, 65, 73, 76, 10, 10, 82, 69, 76, 79, +/* 0x2150 */ 67, 65, 84, 73, 79, 78, 32, 82, 69, 67, 79, 82, 68, 83, 32, 70, +/* 0x2160 */ 79, 82, 32, 91, 78, 82, 86, 50, 66, 93, 58, 10, 79, 70, 70, 83, +/* 0x2170 */ 69, 84, 32, 32, 32, 84, 89, 80, 69, 32, 32, 32, 32, 32, 32, 32, +/* 0x2180 */ 32, 32, 32, 32, 32, 32, 32, 86, 65, 76, 85, 69, 10, 48, 48, 48, +/* 0x2190 */ 48, 48, 48, 57, 48, 32, 82, 95, 80, 80, 67, 95, 82, 69, 76, 49, +/* 0x21a0 */ 52, 32, 32, 32, 32, 32, 32, 32, 78, 82, 86, 95, 84, 65, 73, 76, +/* 0x21b0 */ 10, 10, 82, 69, 76, 79, 67, 65, 84, 73, 79, 78, 32, 82, 69, 67, +/* 0x21c0 */ 79, 82, 68, 83, 32, 70, 79, 82, 32, 91, 76, 90, 77, 65, 95, 69, +/* 0x21d0 */ 76, 70, 48, 48, 93, 58, 10, 79, 70, 70, 83, 69, 84, 32, 32, 32, +/* 0x21e0 */ 84, 89, 80, 69, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, +/* 0x21f0 */ 32, 32, 86, 65, 76, 85, 69, 10, 48, 48, 48, 48, 48, 48, 48, 52, +/* 0x2200 */ 32, 82, 95, 80, 80, 67, 95, 82, 69, 76, 49, 52, 32, 32, 32, 32, +/* 0x2210 */ 32, 32, 32, 76, 90, 77, 65, 95, 68, 69, 67, 51, 48, 43, 48,120, +/* 0x2220 */ 48, 48, 48, 48, 48, 48, 50, 48, 10, 10, 82, 69, 76, 79, 67, 65, +/* 0x2230 */ 84, 73, 79, 78, 32, 82, 69, 67, 79, 82, 68, 83, 32, 70, 79, 82, +/* 0x2240 */ 32, 91, 69, 76, 70, 77, 65, 73, 78, 89, 93, 58, 10, 79, 70, 70, +/* 0x2250 */ 83, 69, 84, 32, 32, 32, 84, 89, 80, 69, 32, 32, 32, 32, 32, 32, +/* 0x2260 */ 32, 32, 32, 32, 32, 32, 32, 32, 86, 65, 76, 85, 69, 10, 48, 48, +/* 0x2270 */ 48, 48, 48, 48, 48, 48, 32, 82, 95, 80, 80, 67, 95, 82, 69, 76, +/* 0x2280 */ 50, 52, 32, 32, 32, 32, 32, 32, 32, 69, 76, 70, 77, 65, 73, 78, +/* 0x2290 */ 90, 10, 10, 82, 69, 76, 79, 67, 65, 84, 73, 79, 78, 32, 82, 69, +/* 0x22a0 */ 67, 79, 82, 68, 83, 32, 70, 79, 82, 32, 91, 69, 76, 70, 77, 65, +/* 0x22b0 */ 73, 78, 90, 93, 58, 10, 79, 70, 70, 83, 69, 84, 32, 32, 32, 84, +/* 0x22c0 */ 89, 80, 69, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, +/* 0x22d0 */ 32, 86, 65, 76, 85, 69, 10, 48, 48, 48, 48, 48, 48, 97, 56, 32, +/* 0x22e0 */ 82, 95, 80, 80, 67, 95, 82, 69, 76, 49, 52, 32, 32, 32, 32, 32, +/* 0x22f0 */ 32, 32, 69, 76, 70, 77, 65, 73, 78, 89, 10 }; diff --git a/src/stub/powerpc-linux.elf-fold.h b/src/stub/powerpc-linux.elf-fold.h index fc5b025e..0daf0488 100644 --- a/src/stub/powerpc-linux.elf-fold.h +++ b/src/stub/powerpc-linux.elf-fold.h @@ -1,5 +1,5 @@ /* powerpc-linux.elf-fold.h - created from powerpc-linux.elf-fold.bin, 3332 (0xd04) bytes + created from powerpc-linux.elf-fold.bin, 3308 (0xcec) bytes This file is part of the UPX executable compressor. @@ -31,218 +31,216 @@ */ -#define STUB_POWERPC_LINUX_ELF_FOLD_SIZE 3332 -#define STUB_POWERPC_LINUX_ELF_FOLD_ADLER32 0x1f5c7b8c -#define STUB_POWERPC_LINUX_ELF_FOLD_CRC32 0x06288b40 +#define STUB_POWERPC_LINUX_ELF_FOLD_SIZE 3308 +#define STUB_POWERPC_LINUX_ELF_FOLD_ADLER32 0x6bcc6533 +#define STUB_POWERPC_LINUX_ELF_FOLD_CRC32 0x2539977f -unsigned char stub_powerpc_linux_elf_fold[3332] = { +unsigned char stub_powerpc_linux_elf_fold[3308] = { /* 0x0000 */ 127, 69, 76, 70, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* 0x0010 */ 0, 2, 0, 20, 0, 0, 0, 1, 0, 16, 0,128, 0, 0, 0, 52, /* 0x0020 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 52, 0, 32, 0, 2, 0, 0, /* 0x0030 */ 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 16, 0, 0, -/* 0x0040 */ 0, 16, 0, 0, 0, 0, 13, 4, 0, 0, 13, 4, 0, 0, 0, 5, -/* 0x0050 */ 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 13, 4, 0, 0, 0, 0, +/* 0x0040 */ 0, 16, 0, 0, 0, 0, 12,236, 0, 0, 12,236, 0, 0, 0, 5, +/* 0x0050 */ 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 12,236, 0, 0, 0, 0, /* 0x0060 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* 0x0070 */ 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -/* 0x0080 */ 72, 0, 0,125, 40, 6, 0,208, 76,130, 0, 32, 84,132,240,191, +/* 0x0080 */ 72, 0, 0,105, 40, 6, 0,208, 76,130, 0, 32, 84,132,240,191, /* 0x0090 */ 77,130, 0, 32, 60, 0, 0, 16,124, 4, 0, 64, 65,128, 0, 8, /* 0x00a0 */ 124, 4, 3,120, 56,165, 1, 32,124,103, 27,120, 56, 99,255,252, /* 0x00b0 */ 124,137, 3,166, 72, 0, 0, 28, 84, 75, 2,186,125, 99, 88, 80, /* 0x00c0 */ 125,107, 58, 20, 81, 98, 1,186,144, 67, 0, 0, 78, 64, 0, 32, /* 0x00d0 */ 132, 67, 0, 4, 84, 75, 85,190,124, 11, 40, 64, 65,162,255,220, -/* 0x00e0 */ 66, 0,255,240, 78,128, 0, 32,128, 73, 0, 0, 57, 41, 0, 4, -/* 0x00f0 */ 47,130, 0, 0, 64,158,255,244, 78,128, 0, 32, 56, 33, 0, 24, -/* 0x0100 */ 125, 8, 2,166,129, 33, 0, 0, 75,255,255,225, 75,255,255,221, -/* 0x0110 */ 128,159,255,248, 85, 30, 0, 38,127,231,251,120,127,164,248, 80, -/* 0x0120 */ 56,161,248, 0, 59,189,255,248, 56,132,255,140, 56,125, 0,116, -/* 0x0130 */ 129, 65, 0, 92, 56, 33,247,232,128,195, 0, 24, 72, 0, 9,149, -/* 0x0140 */ 124,127, 27,120,127,163,235,120,124,157,240, 80, 72, 0, 0, 81, -/* 0x0150 */ 127,232, 3,166,184, 65, 8, 28,128, 33, 8, 24, 78,128, 0, 32, -/* 0x0160 */ 56, 0, 0, 90, 68, 0, 0, 2, 64,163, 0, 8, 56, 96,255,255, -/* 0x0170 */ 78,128, 0, 32, 56, 0, 0, 1, 75,255,255,236, 56, 0, 0, 3, -/* 0x0180 */ 75,255,255,228, 56, 0, 0, 5, 75,255,255,220, 56, 0, 0, 6, -/* 0x0190 */ 75,255,255,212, 56, 0, 0,125, 75,255,255,204, 56, 0, 0, 91, -/* 0x01a0 */ 75,255,255,196, 56, 0, 0, 45, 75,255,255,188,148, 33,255,208, -/* 0x01b0 */ 124, 8, 2,166,147,225, 0, 44,144, 1, 0, 52,124, 63, 11,120, -/* 0x01c0 */ 144,127, 0, 8,144,159, 0, 12,144,191, 0, 16,129, 63, 0, 8, -/* 0x01d0 */ 128, 9, 0, 4,144, 31, 0, 20,128, 31, 0, 12,144, 31, 0, 24, -/* 0x01e0 */ 129, 63, 0, 8,129, 41, 0, 0,128, 31, 0, 16,127,137, 0, 64, -/* 0x01f0 */ 64,156, 0, 12, 56, 96, 0,127, 75,255,255,125,128, 31, 0, 16, -/* 0x0200 */ 144, 31, 0, 28,129, 63, 0, 28, 56, 9,255,255,124, 9, 3,120, -/* 0x0210 */ 145, 63, 0, 28, 56, 0,255,255,127,137, 0, 0, 65,158, 0, 48, -/* 0x0220 */ 129,127, 0, 24,129, 63, 0, 20,136, 9, 0, 0,152, 11, 0, 0, -/* 0x0230 */ 129, 63, 0, 20, 56, 9, 0, 1,144, 31, 0, 20,129, 63, 0, 24, -/* 0x0240 */ 56, 9, 0, 1,144, 31, 0, 24, 75,255,255,188,129,127, 0, 8, -/* 0x0250 */ 129, 63, 0, 8,129, 41, 0, 4,128, 31, 0, 16,124, 9, 2, 20, -/* 0x0260 */ 144, 11, 0, 4,129,127, 0, 8,129, 63, 0, 8,129, 41, 0, 0, -/* 0x0270 */ 128, 31, 0, 16,124, 0, 72, 80,144, 11, 0, 0,129, 97, 0, 0, -/* 0x0280 */ 128, 11, 0, 4,124, 8, 3,166,131,235,255,252,125, 97, 91,120, -/* 0x0290 */ 78,128, 0, 32,148, 33,255,176,124, 8, 2,166,147,225, 0, 76, -/* 0x02a0 */ 144, 1, 0, 84,124, 63, 11,120,144,127, 0, 8,144,159, 0, 12, -/* 0x02b0 */ 144,191, 0, 16,144,223, 0, 20,129, 63, 0, 12,128, 9, 0, 0, -/* 0x02c0 */ 47,128, 0, 0, 65,158, 1,192, 56, 31, 0, 32,128,127, 0, 8, -/* 0x02d0 */ 124, 4, 3,120, 56,160, 0, 12, 75,255,254,213,128, 31, 0, 32, -/* 0x02e0 */ 47,128, 0, 0, 64,158, 0, 48,128, 31, 0, 36, 61, 32, 33, 88, -/* 0x02f0 */ 97, 41, 80, 85,127,128, 72, 0, 65,158, 0, 8, 72, 0, 0, 36, -/* 0x0300 */ 129, 63, 0, 8,128, 9, 0, 0, 47,128, 0, 0, 65,158, 1,120, -/* 0x0310 */ 72, 0, 0, 16,128, 31, 0, 36, 47,128, 0, 0, 64,158, 0, 12, -/* 0x0320 */ 56, 96, 0,127, 75,255,254, 81,128, 31, 0, 36,129, 63, 0, 32, -/* 0x0330 */ 127,128, 72, 64, 65,157,255,236,129, 63, 0, 12,129,127, 0, 32, -/* 0x0340 */ 128, 9, 0, 0,127,139, 0, 64, 65,157,255,216,128, 31, 0, 36, -/* 0x0350 */ 129, 63, 0, 32,127,128, 72, 64, 64,156, 0,228,128, 31, 0, 32, -/* 0x0360 */ 144, 31, 0, 48,129, 63, 0, 8,129,127, 0, 12, 57, 95, 0, 48, -/* 0x0370 */ 136, 31, 0, 40, 84, 0, 6, 62,129, 31, 0, 16,125, 9, 3,166, -/* 0x0380 */ 128,105, 0, 4,128,159, 0, 36,128,171, 0, 4,125, 70, 83,120, -/* 0x0390 */ 124, 7, 3,120, 78,128, 4, 33,124, 96, 27,120,144, 31, 0, 52, -/* 0x03a0 */ 128, 31, 0, 52, 47,128, 0, 0, 64,158,255,120,128, 31, 0, 32, -/* 0x03b0 */ 129, 63, 0, 48,127,128, 72, 0, 64,158,255,104,136, 31, 0, 41, -/* 0x03c0 */ 84, 0, 6, 62, 47,128, 0, 0, 65,158, 0, 64,128, 31, 0, 20, -/* 0x03d0 */ 47,128, 0, 0, 65,158, 0, 52,129, 63, 0, 12,136, 31, 0, 42, -/* 0x03e0 */ 84, 11, 6, 62,136, 31, 0, 41, 84, 0, 6, 62,129, 31, 0, 20, -/* 0x03f0 */ 125, 9, 3,166,128,105, 0, 4,128,159, 0, 48,125,101, 91,120, -/* 0x0400 */ 124, 6, 3,120, 78,128, 4, 33,129,127, 0, 8,129, 63, 0, 8, -/* 0x0410 */ 129, 41, 0, 4,128, 31, 0, 36,124, 9, 2, 20,144, 11, 0, 4, -/* 0x0420 */ 129,127, 0, 8,129, 63, 0, 8,129, 41, 0, 0,128, 31, 0, 36, -/* 0x0430 */ 124, 0, 72, 80,144, 11, 0, 0, 72, 0, 0, 24,129, 63, 0, 12, -/* 0x0440 */ 128,127, 0, 8,128,137, 0, 4,128,191, 0, 36, 75,255,253, 97, -/* 0x0450 */ 129,127, 0, 12,129, 63, 0, 12,129, 41, 0, 4,128, 31, 0, 32, -/* 0x0460 */ 124, 9, 2, 20,144, 11, 0, 4,129,127, 0, 12,129, 63, 0, 12, -/* 0x0470 */ 129, 41, 0, 0,128, 31, 0, 32,124, 0, 72, 80,144, 11, 0, 0, -/* 0x0480 */ 75,255,254, 56,129, 97, 0, 0,128, 11, 0, 4,124, 8, 3,166, -/* 0x0490 */ 131,235,255,252,125, 97, 91,120, 78,128, 0, 32,148, 33,255,224, -/* 0x04a0 */ 147,225, 0, 28,124, 63, 11,120,144,127, 0, 8,144,159, 0, 12, -/* 0x04b0 */ 128, 31, 0, 12, 47,128, 0, 0, 65,158, 0, 52,129, 63, 0, 8, -/* 0x04c0 */ 125, 43, 75,120, 56, 0, 0, 0,152, 11, 0, 0, 57, 41, 0, 1, -/* 0x04d0 */ 145, 63, 0, 8,129, 63, 0, 12, 56, 9,255,255,144, 31, 0, 12, -/* 0x04e0 */ 47,128, 0, 0, 65,158, 0, 8, 75,255,255,212,129, 97, 0, 0, -/* 0x04f0 */ 131,235,255,252,125, 97, 91,120, 78,128, 0, 32,148, 33,255,224, -/* 0x0500 */ 147,225, 0, 28,124, 63, 11,120,144,127, 0, 8,144,159, 0, 12, -/* 0x0510 */ 144,191, 0, 16,128, 31, 0, 8, 47,128, 0, 0, 65,158, 0,100, -/* 0x0520 */ 129, 63, 0, 8,129, 41, 0, 0,128, 31, 0, 12,127,137, 0, 0, -/* 0x0530 */ 65,158, 0, 36,129, 63, 0, 8,128, 9, 0, 0, 47,128, 0, 1, -/* 0x0540 */ 64,158, 0, 48,128, 31, 0, 12, 47,128, 0, 0, 64,158, 0, 8, -/* 0x0550 */ 72, 0, 0, 32,129, 63, 0, 8,128, 31, 0, 12,144, 9, 0, 0, -/* 0x0560 */ 129, 63, 0, 8,128, 31, 0, 16,144, 9, 0, 4, 72, 0, 0, 20, -/* 0x0570 */ 129, 63, 0, 8, 56, 9, 0, 8,144, 31, 0, 8, 75,255,255,164, -/* 0x0580 */ 129, 97, 0, 0,131,235,255,252,125, 97, 91,120, 78,128, 0, 32, -/* 0x0590 */ 148, 33,255,192,124, 8, 2,166,147,225, 0, 60,144, 1, 0, 68, -/* 0x05a0 */ 124, 63, 11,120,144,127, 0, 8,144,159, 0, 12,144,191, 0, 16, -/* 0x05b0 */ 144,223, 0, 20,144,255, 0, 24, 56, 0,255,255,144, 31, 0, 28, -/* 0x05c0 */ 56, 0, 0, 0,144, 31, 0, 32, 56, 0, 0, 0,144, 31, 0, 36, -/* 0x05d0 */ 129, 63, 0, 8, 56, 9, 8, 34,144, 31, 0, 8,129, 63, 0, 16, -/* 0x05e0 */ 56, 9,255,255,144, 31, 0, 16, 47,128, 0, 0, 65,156, 0,136, -/* 0x05f0 */ 129, 63, 0, 12,128, 9, 0, 0, 47,128, 0, 1, 64,158, 0,104, -/* 0x0600 */ 129, 63, 0, 12,129, 41, 0, 8,128, 31, 0, 28,127,137, 0, 64, -/* 0x0610 */ 64,156, 0, 28,129, 63, 0, 12,128, 9, 0, 8,144, 31, 0, 28, -/* 0x0620 */ 129, 63, 0, 12,128, 9, 0, 16,144, 31, 0, 36,129, 63, 0, 12, -/* 0x0630 */ 129,127, 0, 12,129, 41, 0, 20,128, 11, 0, 8,125, 41, 2, 20, -/* 0x0640 */ 128, 31, 0, 32,127,137, 0, 64, 64,157, 0, 28,129, 63, 0, 12, -/* 0x0650 */ 129,127, 0, 12,129, 41, 0, 20,128, 11, 0, 8,124, 9, 2, 20, -/* 0x0660 */ 144, 31, 0, 32,129, 63, 0, 12, 56, 9, 0, 32,144, 31, 0, 12, -/* 0x0670 */ 75,255,255,108,128, 31, 0, 24,124, 9, 0,248,128, 31, 0, 28, -/* 0x0680 */ 125, 41, 0, 56,128, 31, 0, 36,124, 0, 74, 20,144, 31, 0, 36, -/* 0x0690 */ 129, 63, 0, 28,128, 31, 0, 24,125, 32, 0, 56,144, 31, 0, 28, -/* 0x06a0 */ 129, 63, 0, 32,128, 31, 0, 28,125, 32, 72, 80,128, 31, 0, 24, -/* 0x06b0 */ 125, 32, 72, 80, 57, 41,255,255,128, 31, 0, 24,125, 32, 0, 56, -/* 0x06c0 */ 144, 31, 0, 32,129, 63, 0, 36,128, 31, 0, 24,125, 32, 72, 80, -/* 0x06d0 */ 57, 41,255,255,128, 31, 0, 24,125, 32, 0, 56,144, 31, 0, 36, -/* 0x06e0 */ 128,127, 0, 28,128,159, 0, 32, 56,160, 0, 0,128,223, 0, 8, -/* 0x06f0 */ 56,224,255,255, 57, 0, 0, 0, 75,255,250,105,144,127, 0, 40, -/* 0x0700 */ 129,127, 0, 20,129, 63, 0, 40,128, 31, 0, 32,124, 9, 2, 20, -/* 0x0710 */ 144, 11, 0, 0,129, 63, 0, 40,128, 31, 0, 28,124, 0, 72, 80, -/* 0x0720 */ 124, 3, 3,120,129, 97, 0, 0,128, 11, 0, 4,124, 8, 3,166, -/* 0x0730 */ 131,235,255,252,125, 97, 91,120, 78,128, 0, 32,148, 33,255,144, -/* 0x0740 */ 124, 8, 2,166,147,225, 0,108,144, 1, 0,116,124, 63, 11,120, -/* 0x0750 */ 144,127, 0, 8,144,159, 0, 12,144,191, 0, 16,144,223, 0, 20, -/* 0x0760 */ 144,255, 0, 24,145, 31, 0, 28,145, 63, 0, 32,129, 63, 0, 8, -/* 0x0770 */ 129, 41, 0, 28,128, 31, 0, 8,124, 9, 2, 20,144, 31, 0, 36, -/* 0x0780 */ 129, 63, 0, 8,160, 9, 0, 16, 84, 0, 4, 62, 47,128, 0, 3, -/* 0x0790 */ 65,158, 0, 16, 56, 0, 0, 16,144, 31, 0, 80, 72, 0, 0, 12, -/* 0x07a0 */ 57, 32, 0, 0,145, 63, 0, 80,129, 63, 0, 8,160, 9, 0, 44, -/* 0x07b0 */ 84, 0, 4, 62, 57, 63, 0, 40,128,127, 0, 80,128,159, 0, 36, -/* 0x07c0 */ 124, 5, 3,120,125, 38, 75,120,128,255, 0, 32, 75,255,253,197, -/* 0x07d0 */ 124, 96, 27,120,144, 31, 0, 44, 56, 0, 0, 0,144, 31, 0, 48, -/* 0x07e0 */ 129, 63, 0, 8,160, 9, 0, 44, 84, 9, 4, 62,128, 31, 0, 48, -/* 0x07f0 */ 127,137, 0, 0, 64,157, 2,176,128, 31, 0, 12, 47,128, 0, 0, -/* 0x0800 */ 65,158, 0, 56,129, 63, 0, 36,128, 9, 0, 0, 47,128, 0, 6, -/* 0x0810 */ 64,158, 0, 40,129, 63, 0, 36,129, 41, 0, 8,128, 31, 0, 44, -/* 0x0820 */ 124, 9, 2, 20,128,127, 0, 20, 56,128, 0, 3,124, 5, 3,120, -/* 0x0830 */ 75,255,252,205, 72, 0, 2, 84,129, 63, 0, 36,128, 9, 0, 0, -/* 0x0840 */ 47,128, 0, 1, 64,158, 2, 68,129, 63, 0, 36,128, 9, 0, 24, -/* 0x0850 */ 84, 0, 7,126, 84, 9, 16, 58, 60, 0,115, 81, 96, 0, 98, 64, -/* 0x0860 */ 124, 0, 76, 48, 84, 0, 7,126,144, 31, 0, 52,129, 63, 0, 36, -/* 0x0870 */ 128, 9, 0, 16,144, 31, 0, 56,144, 31, 0, 64,129, 63, 0, 36, -/* 0x0880 */ 128, 9, 0, 8,144, 31, 0, 60,144, 31, 0, 68,129, 63, 0, 36, -/* 0x0890 */ 129, 41, 0, 20,128, 31, 0, 68,124, 9, 2, 20,144, 31, 0, 72, -/* 0x08a0 */ 128, 31, 0, 32,124, 9, 0,248,128, 31, 0, 68,125, 32, 0, 56, -/* 0x08b0 */ 144, 31, 0, 76,129, 63, 0, 64,128, 31, 0, 76,124, 9, 2, 20, -/* 0x08c0 */ 144, 31, 0, 64,129, 63, 0, 68,128, 31, 0, 76,124, 0, 72, 80, -/* 0x08d0 */ 144, 31, 0, 68,129, 63, 0, 68,128, 31, 0, 44,124, 9, 2, 20, -/* 0x08e0 */ 144, 31, 0, 68,129, 63, 0, 72,128, 31, 0, 44,124, 9, 2, 20, -/* 0x08f0 */ 144, 31, 0, 72,128, 31, 0, 12,124, 11,254,112,125,105, 2,120, -/* 0x0900 */ 125, 43, 72, 80,145, 63, 0, 84,128, 31, 0, 84,124, 0, 0,208, -/* 0x0910 */ 144, 31, 0, 84,129, 63, 0, 84, 85, 41, 15,254,145, 63, 0, 84, -/* 0x0920 */ 129,127, 0, 84, 85,107, 8, 60,145,127, 0, 84,128, 31, 0, 52, -/* 0x0930 */ 129, 63, 0, 84,125, 41, 3,120,145, 63, 0, 84,128, 31, 0, 12, -/* 0x0940 */ 47,128, 0, 0, 65,158, 0, 16, 57, 96, 0, 50,145,127, 0, 88, -/* 0x0950 */ 72, 0, 0, 12, 56, 0, 0, 18,144, 31, 0, 88,128, 31, 0, 12, -/* 0x0960 */ 47,128, 0, 0, 64,158, 0, 16,129, 63, 0, 16,145, 63, 0, 92, -/* 0x0970 */ 72, 0, 0, 12, 57, 96,255,255,145,127, 0, 92,129, 63, 0, 36, -/* 0x0980 */ 129, 41, 0, 4,128, 31, 0, 76,124, 0, 72, 80,128,127, 0, 68, -/* 0x0990 */ 128,159, 0, 64,128,191, 0, 84,128,223, 0, 88,128,255, 0, 92, -/* 0x09a0 */ 124, 8, 3,120, 75,255,247,189,124,105, 27,120,128, 31, 0, 68, -/* 0x09b0 */ 127,137, 0, 0, 65,158, 0, 8, 72, 0, 0,200,128, 31, 0, 12, -/* 0x09c0 */ 47,128, 0, 0, 65,158, 0, 28, 56, 31, 0, 56,128,127, 0, 12, -/* 0x09d0 */ 124, 4, 3,120,128,191, 0, 24,128,223, 0, 28, 75,255,248,185, -/* 0x09e0 */ 128, 31, 0, 64,125, 32, 0,208,128, 31, 0, 32,124, 0, 0,248, -/* 0x09f0 */ 125, 32, 0, 56,144, 31, 0, 76,128, 31, 0, 52, 84, 0, 7,188, -/* 0x0a00 */ 47,128, 0, 0, 65,158, 0, 28,128, 31, 0, 68,129, 63, 0, 64, -/* 0x0a10 */ 124, 0, 74, 20,124, 3, 3,120,128,159, 0, 76, 75,255,250,129, -/* 0x0a20 */ 129, 63, 0, 64,128, 31, 0, 76,125, 41, 2, 20,128, 31, 0, 68, -/* 0x0a30 */ 124, 0, 74, 20,144, 31, 0, 68,129, 63, 0, 68,128, 31, 0, 72, -/* 0x0a40 */ 127,137, 0, 64, 64,156, 0, 68,129, 63, 0, 72,128, 31, 0, 68, -/* 0x0a50 */ 124, 0, 72, 80,128,127, 0, 68,124, 4, 3,120,128,191, 0, 52, -/* 0x0a60 */ 56,192, 0, 50, 56,224,255,255, 57, 0, 0, 0, 75,255,246,245, -/* 0x0a70 */ 124,105, 27,120,128, 31, 0, 68,127,137, 0, 0, 65,158, 0, 12, -/* 0x0a80 */ 56, 96, 0,127, 75,255,246,241,129, 63, 0, 36, 56, 9, 0, 32, -/* 0x0a90 */ 144, 31, 0, 36,129, 63, 0, 48, 56, 9, 0, 1,144, 31, 0, 48, -/* 0x0aa0 */ 75,255,253, 64,129, 63, 0, 8,129, 41, 0, 24,128, 31, 0, 44, -/* 0x0ab0 */ 124, 9, 2, 20,124, 3, 3,120,129, 97, 0, 0,128, 11, 0, 4, -/* 0x0ac0 */ 124, 8, 3,166,131,235,255,252,125, 97, 91,120, 78,128, 0, 32, -/* 0x0ad0 */ 148, 33,255,144,124, 8, 2,166,147,225, 0,108,144, 1, 0,116, -/* 0x0ae0 */ 124, 63, 11,120,144,127, 0, 8,144,159, 0, 12,144,191, 0, 16, -/* 0x0af0 */ 144,223, 0, 20,144,255, 0, 24,145, 31, 0, 28,145, 63, 0, 32, -/* 0x0b00 */ 145, 95, 0, 36,129, 63, 0, 16, 56, 9, 0, 52,144, 31, 0, 40, -/* 0x0b10 */ 128, 31, 0, 36, 47,128, 16, 0, 65,158, 0, 28,128, 31, 0, 36, -/* 0x0b20 */ 61, 32, 0, 1,127,128, 72, 0, 65,158, 0, 12, 56, 96, 0,232, -/* 0x0b30 */ 75,255,246, 69,128, 31, 0, 36,124, 0, 0,208,144, 31, 0, 48, -/* 0x0b40 */ 129, 63, 0, 8, 56, 9, 0, 24,144, 31, 0, 60,129, 63, 0, 12, -/* 0x0b50 */ 56, 9,255,232,144, 31, 0, 56,128, 31, 0, 16,144, 31, 0, 68, -/* 0x0b60 */ 129, 63, 0, 60,128, 9, 0, 0,144, 31, 0, 64,129, 63, 0, 56, -/* 0x0b70 */ 129, 95, 0, 60,145, 63, 0, 72,145, 95, 0, 76, 56, 31, 0, 56, -/* 0x0b80 */ 57, 63, 0, 64,124, 3, 3,120,125, 36, 75,120,128,191, 0, 24, -/* 0x0b90 */ 56,192, 0, 0, 75,255,247, 1,129, 63, 0, 40,129, 41, 0, 8, -/* 0x0ba0 */ 56, 9, 0, 52,128,127, 0, 32, 56,128, 0, 3,124, 5, 3,120, -/* 0x0bb0 */ 75,255,249, 77,129, 63, 0, 16,160, 9, 0, 44, 84, 0, 4, 62, -/* 0x0bc0 */ 128,127, 0, 32, 56,128, 0, 5,124, 5, 3,120, 75,255,249, 49, -/* 0x0bd0 */ 129, 63, 0, 16,128,127, 0, 32, 56,128, 0, 9,128,169, 0, 24, -/* 0x0be0 */ 75,255,249, 29, 56, 31, 0, 72,128,127, 0, 16,124, 4, 3,120, -/* 0x0bf0 */ 56,160, 0, 0,128,223, 0, 32,128,255, 0, 24,129, 31, 0, 28, -/* 0x0c00 */ 129, 63, 0, 48, 75,255,251, 57,124, 96, 27,120,144, 31, 0, 44, -/* 0x0c10 */ 56, 0, 0, 0,144, 31, 0, 80,129, 63, 0, 16,160, 9, 0, 44, -/* 0x0c20 */ 84, 9, 4, 62,128, 31, 0, 80,127,137, 0, 0, 64,157, 0,184, -/* 0x0c30 */ 129, 63, 0, 40,128, 9, 0, 0, 47,128, 0, 3, 64,158, 0,140, -/* 0x0c40 */ 129, 63, 0, 40,128, 9, 0, 8,144, 31, 0, 84,128,127, 0, 84, -/* 0x0c50 */ 56,128, 0, 0, 56,160, 0, 0, 75,255,245, 45,124, 96, 27,120, -/* 0x0c60 */ 144, 31, 0, 88,128, 31, 0, 88, 47,128, 0, 0, 64,156, 0, 8, -/* 0x0c70 */ 72, 0, 0, 32,128,127, 0, 88,128,159, 0, 16, 56,160, 2, 0, -/* 0x0c80 */ 75,255,244,253,124, 96, 27,120, 47,128, 2, 0, 65,158, 0, 12, -/* 0x0c90 */ 56, 96, 0,127, 75,255,244,225,128,127, 0, 16, 56,128, 0, 0, -/* 0x0ca0 */ 128,191, 0, 88, 56,192, 0, 0, 56,224, 0, 0, 57, 0, 0, 0, -/* 0x0cb0 */ 129, 63, 0, 48, 75,255,250,137,124, 96, 27,120,144, 31, 0, 44, -/* 0x0cc0 */ 128,127, 0, 88, 75,255,244,201,129, 63, 0, 40, 56, 9, 0, 32, -/* 0x0cd0 */ 144, 31, 0, 40,129, 63, 0, 80, 56, 9, 0, 1,144, 31, 0, 80, -/* 0x0ce0 */ 75,255,255, 56,128, 31, 0, 44,124, 3, 3,120,129, 97, 0, 0, -/* 0x0cf0 */ 128, 11, 0, 4,124, 8, 3,166,131,235,255,252,125, 97, 91,120, -/* 0x0d00 */ 78,128, 0, 32 +/* 0x00e0 */ 66, 0,255,240, 78,128, 0, 32, 56, 33, 0, 24,125, 8, 2,166, +/* 0x00f0 */ 127,137,227,120,128,159,255,248, 85, 30, 0, 38,127,231,251,120, +/* 0x0100 */ 127,164,248, 80, 56,161,248, 0, 59,189,255,248, 56,132,255,140, +/* 0x0110 */ 56,125, 0,116,127,106,219,120, 56, 33,247,232,128,195, 0, 24, +/* 0x0120 */ 72, 0, 9,153,124,127, 27,120,127,163,235,120,124,157,240, 80, +/* 0x0130 */ 72, 0, 0, 85,127,232, 3,166,184, 65, 8, 28,128, 33, 8, 24, +/* 0x0140 */ 78,128, 0, 32, 56, 0, 0, 90,124,128, 0, 8, 68, 0, 0, 2, +/* 0x0150 */ 64,163, 0, 8, 56, 96,255,255, 78,128, 0, 32, 56, 0, 0, 1, +/* 0x0160 */ 72, 0, 0, 8, 56, 0, 0, 3, 72, 0, 0, 8, 56, 0, 0, 5, +/* 0x0170 */ 72, 0, 0, 8, 56, 0, 0, 6, 72, 0, 0, 8, 56, 0, 0,125, +/* 0x0180 */ 72, 0, 0, 8, 56, 0, 0, 91, 72, 0, 0, 8, 56, 0, 0, 45, +/* 0x0190 */ 75,255,255,184,148, 33,255,208,124, 8, 2,166,147,225, 0, 44, +/* 0x01a0 */ 144, 1, 0, 52,124, 63, 11,120,144,127, 0, 8,144,159, 0, 12, +/* 0x01b0 */ 144,191, 0, 16,129, 63, 0, 8,128, 9, 0, 4,144, 31, 0, 20, +/* 0x01c0 */ 128, 31, 0, 12,144, 31, 0, 24,129, 63, 0, 8,129, 41, 0, 0, +/* 0x01d0 */ 128, 31, 0, 16,127,137, 0, 64, 64,156, 0, 12, 56, 96, 0,127, +/* 0x01e0 */ 75,255,255,125,128, 31, 0, 16,144, 31, 0, 28,129, 63, 0, 28, +/* 0x01f0 */ 56, 9,255,255,124, 9, 3,120,145, 63, 0, 28, 56, 0,255,255, +/* 0x0200 */ 127,137, 0, 0, 65,158, 0, 48,129,127, 0, 24,129, 63, 0, 20, +/* 0x0210 */ 136, 9, 0, 0,152, 11, 0, 0,129, 63, 0, 20, 56, 9, 0, 1, +/* 0x0220 */ 144, 31, 0, 20,129, 63, 0, 24, 56, 9, 0, 1,144, 31, 0, 24, +/* 0x0230 */ 75,255,255,188,129,127, 0, 8,129, 63, 0, 8,129, 41, 0, 4, +/* 0x0240 */ 128, 31, 0, 16,124, 9, 2, 20,144, 11, 0, 4,129,127, 0, 8, +/* 0x0250 */ 129, 63, 0, 8,129, 41, 0, 0,128, 31, 0, 16,124, 0, 72, 80, +/* 0x0260 */ 144, 11, 0, 0,129, 97, 0, 0,128, 11, 0, 4,124, 8, 3,166, +/* 0x0270 */ 131,235,255,252,125, 97, 91,120, 78,128, 0, 32,148, 33,255,176, +/* 0x0280 */ 124, 8, 2,166,147,225, 0, 76,144, 1, 0, 84,124, 63, 11,120, +/* 0x0290 */ 144,127, 0, 8,144,159, 0, 12,144,191, 0, 16,144,223, 0, 20, +/* 0x02a0 */ 129, 63, 0, 12,128, 9, 0, 0, 47,128, 0, 0, 65,158, 1,192, +/* 0x02b0 */ 56, 31, 0, 32,128,127, 0, 8,124, 4, 3,120, 56,160, 0, 12, +/* 0x02c0 */ 75,255,254,213,128, 31, 0, 32, 47,128, 0, 0, 64,158, 0, 48, +/* 0x02d0 */ 128, 31, 0, 36, 61, 32, 33, 88, 97, 41, 80, 85,127,128, 72, 0, +/* 0x02e0 */ 65,158, 0, 8, 72, 0, 0, 36,129, 63, 0, 8,128, 9, 0, 0, +/* 0x02f0 */ 47,128, 0, 0, 65,158, 1,120, 72, 0, 0, 16,128, 31, 0, 36, +/* 0x0300 */ 47,128, 0, 0, 64,158, 0, 12, 56, 96, 0,127, 75,255,254, 81, +/* 0x0310 */ 128, 31, 0, 36,129, 63, 0, 32,127,128, 72, 64, 65,157,255,236, +/* 0x0320 */ 129, 63, 0, 12,129,127, 0, 32,128, 9, 0, 0,127,139, 0, 64, +/* 0x0330 */ 65,157,255,216,128, 31, 0, 36,129, 63, 0, 32,127,128, 72, 64, +/* 0x0340 */ 64,156, 0,228,128, 31, 0, 32,144, 31, 0, 48,129, 63, 0, 8, +/* 0x0350 */ 129,127, 0, 12, 57, 95, 0, 48,136, 31, 0, 40, 84, 0, 6, 62, +/* 0x0360 */ 129, 31, 0, 16,125, 9, 3,166,128,105, 0, 4,128,159, 0, 36, +/* 0x0370 */ 128,171, 0, 4,125, 70, 83,120,124, 7, 3,120, 78,128, 4, 33, +/* 0x0380 */ 124, 96, 27,120,144, 31, 0, 52,128, 31, 0, 52, 47,128, 0, 0, +/* 0x0390 */ 64,158,255,120,128, 31, 0, 32,129, 63, 0, 48,127,128, 72, 0, +/* 0x03a0 */ 64,158,255,104,136, 31, 0, 41, 84, 0, 6, 62, 47,128, 0, 0, +/* 0x03b0 */ 65,158, 0, 64,128, 31, 0, 20, 47,128, 0, 0, 65,158, 0, 52, +/* 0x03c0 */ 129, 63, 0, 12,136, 31, 0, 42, 84, 11, 6, 62,136, 31, 0, 41, +/* 0x03d0 */ 84, 0, 6, 62,129, 31, 0, 20,125, 9, 3,166,128,105, 0, 4, +/* 0x03e0 */ 128,159, 0, 48,125,101, 91,120,124, 6, 3,120, 78,128, 4, 33, +/* 0x03f0 */ 129,127, 0, 8,129, 63, 0, 8,129, 41, 0, 4,128, 31, 0, 36, +/* 0x0400 */ 124, 9, 2, 20,144, 11, 0, 4,129,127, 0, 8,129, 63, 0, 8, +/* 0x0410 */ 129, 41, 0, 0,128, 31, 0, 36,124, 0, 72, 80,144, 11, 0, 0, +/* 0x0420 */ 72, 0, 0, 24,129, 63, 0, 12,128,127, 0, 8,128,137, 0, 4, +/* 0x0430 */ 128,191, 0, 36, 75,255,253, 97,129,127, 0, 12,129, 63, 0, 12, +/* 0x0440 */ 129, 41, 0, 4,128, 31, 0, 32,124, 9, 2, 20,144, 11, 0, 4, +/* 0x0450 */ 129,127, 0, 12,129, 63, 0, 12,129, 41, 0, 0,128, 31, 0, 32, +/* 0x0460 */ 124, 0, 72, 80,144, 11, 0, 0, 75,255,254, 56,129, 97, 0, 0, +/* 0x0470 */ 128, 11, 0, 4,124, 8, 3,166,131,235,255,252,125, 97, 91,120, +/* 0x0480 */ 78,128, 0, 32,148, 33,255,224,147,225, 0, 28,124, 63, 11,120, +/* 0x0490 */ 144,127, 0, 8,144,159, 0, 12,128, 31, 0, 12, 47,128, 0, 0, +/* 0x04a0 */ 65,158, 0, 52,129, 63, 0, 8,125, 43, 75,120, 56, 0, 0, 0, +/* 0x04b0 */ 152, 11, 0, 0, 57, 41, 0, 1,145, 63, 0, 8,129, 63, 0, 12, +/* 0x04c0 */ 56, 9,255,255,144, 31, 0, 12, 47,128, 0, 0, 65,158, 0, 8, +/* 0x04d0 */ 75,255,255,212,129, 97, 0, 0,131,235,255,252,125, 97, 91,120, +/* 0x04e0 */ 78,128, 0, 32,148, 33,255,224,147,225, 0, 28,124, 63, 11,120, +/* 0x04f0 */ 144,127, 0, 8,144,159, 0, 12,144,191, 0, 16,128, 31, 0, 8, +/* 0x0500 */ 47,128, 0, 0, 65,158, 0,100,129, 63, 0, 8,129, 41, 0, 0, +/* 0x0510 */ 128, 31, 0, 12,127,137, 0, 0, 65,158, 0, 36,129, 63, 0, 8, +/* 0x0520 */ 128, 9, 0, 0, 47,128, 0, 1, 64,158, 0, 48,128, 31, 0, 12, +/* 0x0530 */ 47,128, 0, 0, 64,158, 0, 8, 72, 0, 0, 32,129, 63, 0, 8, +/* 0x0540 */ 128, 31, 0, 12,144, 9, 0, 0,129, 63, 0, 8,128, 31, 0, 16, +/* 0x0550 */ 144, 9, 0, 4, 72, 0, 0, 20,129, 63, 0, 8, 56, 9, 0, 8, +/* 0x0560 */ 144, 31, 0, 8, 75,255,255,164,129, 97, 0, 0,131,235,255,252, +/* 0x0570 */ 125, 97, 91,120, 78,128, 0, 32,148, 33,255,192,124, 8, 2,166, +/* 0x0580 */ 147,225, 0, 60,144, 1, 0, 68,124, 63, 11,120,144,127, 0, 8, +/* 0x0590 */ 144,159, 0, 12,144,191, 0, 16,144,223, 0, 20,144,255, 0, 24, +/* 0x05a0 */ 56, 0,255,255,144, 31, 0, 28, 56, 0, 0, 0,144, 31, 0, 32, +/* 0x05b0 */ 56, 0, 0, 0,144, 31, 0, 36,129, 63, 0, 8, 56, 9, 8, 34, +/* 0x05c0 */ 144, 31, 0, 8,129, 63, 0, 16, 56, 9,255,255,144, 31, 0, 16, +/* 0x05d0 */ 47,128, 0, 0, 65,156, 0,136,129, 63, 0, 12,128, 9, 0, 0, +/* 0x05e0 */ 47,128, 0, 1, 64,158, 0,104,129, 63, 0, 12,129, 41, 0, 8, +/* 0x05f0 */ 128, 31, 0, 28,127,137, 0, 64, 64,156, 0, 28,129, 63, 0, 12, +/* 0x0600 */ 128, 9, 0, 8,144, 31, 0, 28,129, 63, 0, 12,128, 9, 0, 16, +/* 0x0610 */ 144, 31, 0, 36,129, 63, 0, 12,129,127, 0, 12,129, 41, 0, 20, +/* 0x0620 */ 128, 11, 0, 8,125, 41, 2, 20,128, 31, 0, 32,127,137, 0, 64, +/* 0x0630 */ 64,157, 0, 28,129, 63, 0, 12,129,127, 0, 12,129, 41, 0, 20, +/* 0x0640 */ 128, 11, 0, 8,124, 9, 2, 20,144, 31, 0, 32,129, 63, 0, 12, +/* 0x0650 */ 56, 9, 0, 32,144, 31, 0, 12, 75,255,255,108,128, 31, 0, 24, +/* 0x0660 */ 124, 9, 0,248,128, 31, 0, 28,125, 41, 0, 56,128, 31, 0, 36, +/* 0x0670 */ 124, 0, 74, 20,144, 31, 0, 36,129, 63, 0, 28,128, 31, 0, 24, +/* 0x0680 */ 125, 32, 0, 56,144, 31, 0, 28,129, 63, 0, 32,128, 31, 0, 28, +/* 0x0690 */ 125, 32, 72, 80,128, 31, 0, 24,125, 32, 72, 80, 57, 41,255,255, +/* 0x06a0 */ 128, 31, 0, 24,125, 32, 0, 56,144, 31, 0, 32,129, 63, 0, 36, +/* 0x06b0 */ 128, 31, 0, 24,125, 32, 72, 80, 57, 41,255,255,128, 31, 0, 24, +/* 0x06c0 */ 125, 32, 0, 56,144, 31, 0, 36,128,127, 0, 28,128,159, 0, 32, +/* 0x06d0 */ 56,160, 0, 0,128,223, 0, 8, 56,224,255,255, 57, 0, 0, 0, +/* 0x06e0 */ 75,255,250,101,144,127, 0, 40,129,127, 0, 20,129, 63, 0, 40, +/* 0x06f0 */ 128, 31, 0, 32,124, 9, 2, 20,144, 11, 0, 0,129, 63, 0, 40, +/* 0x0700 */ 128, 31, 0, 28,124, 0, 72, 80,124, 3, 3,120,129, 97, 0, 0, +/* 0x0710 */ 128, 11, 0, 4,124, 8, 3,166,131,235,255,252,125, 97, 91,120, +/* 0x0720 */ 78,128, 0, 32,148, 33,255,144,124, 8, 2,166,147,225, 0,108, +/* 0x0730 */ 144, 1, 0,116,124, 63, 11,120,144,127, 0, 8,144,159, 0, 12, +/* 0x0740 */ 144,191, 0, 16,144,223, 0, 20,144,255, 0, 24,145, 31, 0, 28, +/* 0x0750 */ 145, 63, 0, 32,129, 63, 0, 8,129, 41, 0, 28,128, 31, 0, 8, +/* 0x0760 */ 124, 9, 2, 20,144, 31, 0, 36,129, 63, 0, 8,160, 9, 0, 16, +/* 0x0770 */ 84, 0, 4, 62, 47,128, 0, 3, 65,158, 0, 16, 56, 0, 0, 16, +/* 0x0780 */ 144, 31, 0, 80, 72, 0, 0, 12, 57, 32, 0, 0,145, 63, 0, 80, +/* 0x0790 */ 129, 63, 0, 8,160, 9, 0, 44, 84, 0, 4, 62, 57, 63, 0, 40, +/* 0x07a0 */ 128,127, 0, 80,128,159, 0, 36,124, 5, 3,120,125, 38, 75,120, +/* 0x07b0 */ 128,255, 0, 32, 75,255,253,197,124, 96, 27,120,144, 31, 0, 44, +/* 0x07c0 */ 56, 0, 0, 0,144, 31, 0, 48,129, 63, 0, 8,160, 9, 0, 44, +/* 0x07d0 */ 84, 9, 4, 62,128, 31, 0, 48,127,137, 0, 0, 64,157, 2,176, +/* 0x07e0 */ 128, 31, 0, 12, 47,128, 0, 0, 65,158, 0, 56,129, 63, 0, 36, +/* 0x07f0 */ 128, 9, 0, 0, 47,128, 0, 6, 64,158, 0, 40,129, 63, 0, 36, +/* 0x0800 */ 129, 41, 0, 8,128, 31, 0, 44,124, 9, 2, 20,128,127, 0, 20, +/* 0x0810 */ 56,128, 0, 3,124, 5, 3,120, 75,255,252,205, 72, 0, 2, 84, +/* 0x0820 */ 129, 63, 0, 36,128, 9, 0, 0, 47,128, 0, 1, 64,158, 2, 68, +/* 0x0830 */ 129, 63, 0, 36,128, 9, 0, 24, 84, 0, 7,126, 84, 9, 16, 58, +/* 0x0840 */ 60, 0,115, 81, 96, 0, 98, 64,124, 0, 76, 48, 84, 0, 7,126, +/* 0x0850 */ 144, 31, 0, 52,129, 63, 0, 36,128, 9, 0, 16,144, 31, 0, 56, +/* 0x0860 */ 144, 31, 0, 64,129, 63, 0, 36,128, 9, 0, 8,144, 31, 0, 60, +/* 0x0870 */ 144, 31, 0, 68,129, 63, 0, 36,129, 41, 0, 20,128, 31, 0, 68, +/* 0x0880 */ 124, 9, 2, 20,144, 31, 0, 72,128, 31, 0, 32,124, 9, 0,248, +/* 0x0890 */ 128, 31, 0, 68,125, 32, 0, 56,144, 31, 0, 76,129, 63, 0, 64, +/* 0x08a0 */ 128, 31, 0, 76,124, 9, 2, 20,144, 31, 0, 64,129, 63, 0, 68, +/* 0x08b0 */ 128, 31, 0, 76,124, 0, 72, 80,144, 31, 0, 68,129, 63, 0, 68, +/* 0x08c0 */ 128, 31, 0, 44,124, 9, 2, 20,144, 31, 0, 68,129, 63, 0, 72, +/* 0x08d0 */ 128, 31, 0, 44,124, 9, 2, 20,144, 31, 0, 72,128, 31, 0, 12, +/* 0x08e0 */ 124, 11,254,112,125,105, 2,120,125, 43, 72, 80,145, 63, 0, 84, +/* 0x08f0 */ 128, 31, 0, 84,124, 0, 0,208,144, 31, 0, 84,129, 63, 0, 84, +/* 0x0900 */ 85, 41, 15,254,145, 63, 0, 84,129,127, 0, 84, 85,107, 8, 60, +/* 0x0910 */ 145,127, 0, 84,128, 31, 0, 52,129, 63, 0, 84,125, 41, 3,120, +/* 0x0920 */ 145, 63, 0, 84,128, 31, 0, 12, 47,128, 0, 0, 65,158, 0, 16, +/* 0x0930 */ 57, 96, 0, 50,145,127, 0, 88, 72, 0, 0, 12, 56, 0, 0, 18, +/* 0x0940 */ 144, 31, 0, 88,128, 31, 0, 12, 47,128, 0, 0, 64,158, 0, 16, +/* 0x0950 */ 129, 63, 0, 16,145, 63, 0, 92, 72, 0, 0, 12, 57, 96,255,255, +/* 0x0960 */ 145,127, 0, 92,129, 63, 0, 36,129, 41, 0, 4,128, 31, 0, 76, +/* 0x0970 */ 124, 0, 72, 80,128,127, 0, 68,128,159, 0, 64,128,191, 0, 84, +/* 0x0980 */ 128,223, 0, 88,128,255, 0, 92,124, 8, 3,120, 75,255,247,185, +/* 0x0990 */ 124,105, 27,120,128, 31, 0, 68,127,137, 0, 0, 65,158, 0, 8, +/* 0x09a0 */ 72, 0, 0,200,128, 31, 0, 12, 47,128, 0, 0, 65,158, 0, 28, +/* 0x09b0 */ 56, 31, 0, 56,128,127, 0, 12,124, 4, 3,120,128,191, 0, 24, +/* 0x09c0 */ 128,223, 0, 28, 75,255,248,185,128, 31, 0, 64,125, 32, 0,208, +/* 0x09d0 */ 128, 31, 0, 32,124, 0, 0,248,125, 32, 0, 56,144, 31, 0, 76, +/* 0x09e0 */ 128, 31, 0, 52, 84, 0, 7,188, 47,128, 0, 0, 65,158, 0, 28, +/* 0x09f0 */ 128, 31, 0, 68,129, 63, 0, 64,124, 0, 74, 20,124, 3, 3,120, +/* 0x0a00 */ 128,159, 0, 76, 75,255,250,129,129, 63, 0, 64,128, 31, 0, 76, +/* 0x0a10 */ 125, 41, 2, 20,128, 31, 0, 68,124, 0, 74, 20,144, 31, 0, 68, +/* 0x0a20 */ 129, 63, 0, 68,128, 31, 0, 72,127,137, 0, 64, 64,156, 0, 68, +/* 0x0a30 */ 129, 63, 0, 72,128, 31, 0, 68,124, 0, 72, 80,128,127, 0, 68, +/* 0x0a40 */ 124, 4, 3,120,128,191, 0, 52, 56,192, 0, 50, 56,224,255,255, +/* 0x0a50 */ 57, 0, 0, 0, 75,255,246,241,124,105, 27,120,128, 31, 0, 68, +/* 0x0a60 */ 127,137, 0, 0, 65,158, 0, 12, 56, 96, 0,127, 75,255,246,241, +/* 0x0a70 */ 129, 63, 0, 36, 56, 9, 0, 32,144, 31, 0, 36,129, 63, 0, 48, +/* 0x0a80 */ 56, 9, 0, 1,144, 31, 0, 48, 75,255,253, 64,129, 63, 0, 8, +/* 0x0a90 */ 129, 41, 0, 24,128, 31, 0, 44,124, 9, 2, 20,124, 3, 3,120, +/* 0x0aa0 */ 129, 97, 0, 0,128, 11, 0, 4,124, 8, 3,166,131,235,255,252, +/* 0x0ab0 */ 125, 97, 91,120, 78,128, 0, 32,148, 33,255,144,124, 8, 2,166, +/* 0x0ac0 */ 147,225, 0,108,144, 1, 0,116,124, 63, 11,120,144,127, 0, 8, +/* 0x0ad0 */ 144,159, 0, 12,144,191, 0, 16,144,223, 0, 20,144,255, 0, 24, +/* 0x0ae0 */ 145, 31, 0, 28,145, 63, 0, 32,145, 95, 0, 36,129, 63, 0, 16, +/* 0x0af0 */ 56, 9, 0, 52,144, 31, 0, 40,128, 31, 0, 36, 47,128, 16, 0, +/* 0x0b00 */ 65,158, 0, 28,128, 31, 0, 36, 61, 32, 0, 1,127,128, 72, 0, +/* 0x0b10 */ 65,158, 0, 12, 56, 96, 0,232, 75,255,246, 69,128, 31, 0, 36, +/* 0x0b20 */ 124, 0, 0,208,144, 31, 0, 48,129, 63, 0, 8, 56, 9, 0, 24, +/* 0x0b30 */ 144, 31, 0, 60,129, 63, 0, 12, 56, 9,255,232,144, 31, 0, 56, +/* 0x0b40 */ 128, 31, 0, 16,144, 31, 0, 68,129, 63, 0, 60,128, 9, 0, 0, +/* 0x0b50 */ 144, 31, 0, 64,129, 63, 0, 56,129, 95, 0, 60,145, 63, 0, 72, +/* 0x0b60 */ 145, 95, 0, 76, 56, 31, 0, 56, 57, 63, 0, 64,124, 3, 3,120, +/* 0x0b70 */ 125, 36, 75,120,128,191, 0, 24, 56,192, 0, 0, 75,255,247, 1, +/* 0x0b80 */ 129, 63, 0, 40,129, 41, 0, 8, 56, 9, 0, 52,128,127, 0, 32, +/* 0x0b90 */ 56,128, 0, 3,124, 5, 3,120, 75,255,249, 77,129, 63, 0, 16, +/* 0x0ba0 */ 160, 9, 0, 44, 84, 0, 4, 62,128,127, 0, 32, 56,128, 0, 5, +/* 0x0bb0 */ 124, 5, 3,120, 75,255,249, 49,129, 63, 0, 16,128,127, 0, 32, +/* 0x0bc0 */ 56,128, 0, 9,128,169, 0, 24, 75,255,249, 29, 56, 31, 0, 72, +/* 0x0bd0 */ 128,127, 0, 16,124, 4, 3,120, 56,160, 0, 0,128,223, 0, 32, +/* 0x0be0 */ 128,255, 0, 24,129, 31, 0, 28,129, 63, 0, 48, 75,255,251, 57, +/* 0x0bf0 */ 124, 96, 27,120,144, 31, 0, 44, 56, 0, 0, 0,144, 31, 0, 80, +/* 0x0c00 */ 129, 63, 0, 16,160, 9, 0, 44, 84, 9, 4, 62,128, 31, 0, 80, +/* 0x0c10 */ 127,137, 0, 0, 64,157, 0,184,129, 63, 0, 40,128, 9, 0, 0, +/* 0x0c20 */ 47,128, 0, 3, 64,158, 0,140,129, 63, 0, 40,128, 9, 0, 8, +/* 0x0c30 */ 144, 31, 0, 84,128,127, 0, 84, 56,128, 0, 0, 56,160, 0, 0, +/* 0x0c40 */ 75,255,245, 45,124, 96, 27,120,144, 31, 0, 88,128, 31, 0, 88, +/* 0x0c50 */ 47,128, 0, 0, 64,156, 0, 8, 72, 0, 0, 32,128,127, 0, 88, +/* 0x0c60 */ 128,159, 0, 16, 56,160, 2, 0, 75,255,244,253,124, 96, 27,120, +/* 0x0c70 */ 47,128, 2, 0, 65,158, 0, 12, 56, 96, 0,127, 75,255,244,225, +/* 0x0c80 */ 128,127, 0, 16, 56,128, 0, 0,128,191, 0, 88, 56,192, 0, 0, +/* 0x0c90 */ 56,224, 0, 0, 57, 0, 0, 0,129, 63, 0, 48, 75,255,250,137, +/* 0x0ca0 */ 124, 96, 27,120,144, 31, 0, 44,128,127, 0, 88, 75,255,244,201, +/* 0x0cb0 */ 129, 63, 0, 40, 56, 9, 0, 32,144, 31, 0, 40,129, 63, 0, 80, +/* 0x0cc0 */ 56, 9, 0, 1,144, 31, 0, 80, 75,255,255, 56,128, 31, 0, 44, +/* 0x0cd0 */ 124, 3, 3,120,129, 97, 0, 0,128, 11, 0, 4,124, 8, 3,166, +/* 0x0ce0 */ 131,235,255,252,125, 97, 91,120, 78,128, 0, 32 }; diff --git a/src/stub/src/arch/powerpc/32/ppc_regs.h b/src/stub/src/arch/powerpc/32/ppc_regs.h index 939137d2..bd6a021f 100644 --- a/src/stub/src/arch/powerpc/32/ppc_regs.h +++ b/src/stub/src/arch/powerpc/32/ppc_regs.h @@ -5,6 +5,8 @@ #define r1 1 #define r2 2 +#define r27 27 +#define r28 28 #define r29 29 #define r30 30 #define r31 31 @@ -27,6 +29,8 @@ #define t1 11 #define t2 12 #define t3 13 +/* t4 is unofficial */ +#define t4 14 /* branch and link */ #define call bl diff --git a/src/stub/src/powerpc-linux.elf-entry.S b/src/stub/src/powerpc-linux.elf-entry.S index f24d6865..1f585c00 100644 --- a/src/stub/src/powerpc-linux.elf-entry.S +++ b/src/stub/src/powerpc-linux.elf-entry.S @@ -146,80 +146,56 @@ die: li a0,127 li 0,__NR_exit; sc +zfind: + lwz t0,0(a0); addi a0,a0,4 + cmpi cr7,t0,0; bne+ cr7,zfind + ret + /* Decompress the rest of this loader, and jump to it. */ unfold: mflr r30 // &{ b_info={sz_unc, sz_cpr, {4 char}}, folded_loader...} + la a0,32*4(sp) + call zfind // a0= envp + call zfind // a0= &Elf32_auxv + mr r28,a0 // save for folded code + +// set a1= actual page size in Elf32_auxv_t +AT_NULL= 0 // +AT_PAGESZ= 6 +a_type= 0 +a_val= 4 +sz_auxv= 2*4 +1: + lwz t0,a_type(a0) + lwz a1,a_val(a0); addi a0,a0,sz_auxv + cmpi cr0,t0,AT_PAGESZ; beq- 2f + cmpi cr0,t0,AT_NULL; bne+ 1b + li a1,PAGE_SIZE // not found; use default +2: + mr r27,a1 // save for folded code + li a5,0 // off_t li a4,-1 // fd; cater to *BSD for MAP_ANON li a3,MAP_PRIVATE | MAP_ANONYMOUS li a2,PROT_READ | PROT_WRITE - li a1,PAGE_SIZE - add a1,a1,a1 // allocate twice 4K - lwz a0,sz_cpr(r30) - add a0,a0,r30 - addi a0,a0,sz_b_info+PAGE_SIZE-1 - rlwinm a0,a0,0,0,31-PAGE_SHIFT // next page boundary after fold - mr 23,a1 // save PAGE_SIZE value - mr 14,a0 // save address being allocated - li 0,__NR_mmap + lwz a0,sz_cpr(r30) // sizeof(folded_loader) + addi a0,a0,sz_b_info + addi t0,a1,-1 // ~page_mask + add a0,a0,r30 // beyond folded_loader + add a0,a0,t0 // + page_size -1 + and t0,t0,a0 // fragment above page boundary + sub a0,a0,t0 // next page boundary after folded code + li r0,__NR_mmap + mr t4,a0 // save address being allocated sc - cmplwi cr0,a0,14 - beq alloc4 - b alloc64 - /* try to allocate a 4k page - if failure then allocate 64k page */ -alloc4: - /* deallocate stub allocation */ - mr a1,23 - li 0,__NR_munmap - sc - /* allocate 4k page */ - li a5,0 // off_t - li a4,-1 // fd; cater to *BSD for MAP_ANON - li a3,MAP_PRIVATE | MAP_FIXED | MAP_ANONYMOUS - li a2,PROT_READ | PROT_WRITE | PROT_EXEC - li a1,PAGE_SIZE - lwz a0,sz_cpr(r30) - add a0,a0,r30 - addi a0,a0,sz_b_info+PAGE_SIZE-1 - rlwinm a0,a0,0,0,31-PAGE_SHIFT // next page boundary after fold - li 0,__NR_mmap - mr 23,a1 // save PAGE_SIZE value - mr 14,a0 // save address being allocated - sc - cmplwi cr0,a0,14 // - bne decomp - b msg_SELinux // Branch if SummaryOverflow (failure) - /* 64k page */ -alloc64: - /* deallocate stub allocation */ - mr a1,23 - li 0,__NR_munmap - sc - /* allocate 64k page */ - li a5,0 // off_t - li a4,-1 // fd; cater to *BSD for MAP_ANON - li a3,MAP_PRIVATE | MAP_FIXED | MAP_ANONYMOUS - li a2,PROT_READ | PROT_WRITE | PROT_EXEC - lis a1,1 // 64K - lwz a0,sz_cpr(r30) - add a0,a0,r30 - addi a0,a0,sz_b_info-1 - add a0,a0,a1 - rlwinm a0,a0,0,0,31-PAGE_SHIFT64 // next page boundary after fold - li 0,__NR_mmap - mr 23,a1 // save PAGE_SIZE value - sc - cmplwi cr0,a0,22 // return code - beq msg_SELinux -decomp: -0: + cmpl cr0,t4,a0; bne msg_SELinux + mtctr r31 lwz r0,sz_unc(r30) lbz meth,b_method(r30) la ldst,31*4(sp) // &slot on stack stw r0,31*4(sp) // lzma uses for EOF - stw 23,23*4(sp) // save pag shift value mr dst,a0 mtlr a0 // &continuation lwz lsrc,sz_cpr(r30) diff --git a/src/stub/src/powerpc-linux.elf-fold.S b/src/stub/src/powerpc-linux.elf-fold.S index 66abc8ef..60949903 100644 --- a/src/stub/src/powerpc-linux.elf-fold.S +++ b/src/stub/src/powerpc-linux.elf-fold.S @@ -46,32 +46,17 @@ OVERHEAD= 2048 LINKAREA= 6*4 // (sp,pc,cr, xx,yy.zz) save area per calling convention /* In: r31= &decompress; also 8+ (char *)&(#bytes which preceed &-8(r31) + r28= &Elf32_auxv_t + r27= actual page size */ fold_begin: +//// teq r0,r0 // debugging call L90 #include "arch/powerpc/32/bxx.S" - -/* The SysV convention for argument registers after execve is nice: - a0= argc - a1= argv - a2= envp - a3= auxvp - a4= fini - sp= ~0xf & (-2*4 + (void *)&argc) // 0(sp): old_sp, pc - Instead, Linux gives only - sp= &{argc,argv...,0,env...,0,auxv...,strings} // 16-byte aligned? - We must figure out the rest, particularly auxvp. -*/ -zfind: - lwz t0,0(a6); addi a6,a6,4 - cmpi cr7,t0,0; bne+ cr7,zfind - ret L90: la sp,6*4(sp) // trim save area used by decompressor mflr a5 // &ppcbxx: f_unfilter - lwz a6,0(sp) // sp at execve - call zfind // a6= &env - call zfind // a6= &Elf32_auxv + mr a6,r28 // a6= &Elf32_auxv lwz a1,-8(r31) // #bytes which preceed -8(r31) rlwinm r30,a5,0,0,31-12 // r30= &this_page mr a4,r31 // &decompress: f_expand @@ -80,7 +65,7 @@ L90: addi r29,r29,-8 // &our_Elf32_Ehdr addi a1,a1,-(szElf32_Ehdr + 2*szElf32_Phdr) addi a0,r29,(szElf32_Ehdr + 2*szElf32_Phdr) // &{l_info; p_info; b_info} - lwz a7,23*4(sp) // pagesize + mr a7,r27 // pagesize addi sp,sp,-(LINKAREA+OVERHEAD) lwz a3,sz_unc+sz_p_info+sz_l_info(a0) // sz_elf_headers call upx_main // Out: a0= entry @@ -111,8 +96,9 @@ SYS_munmap= 91 SYS_mprotect= 125 mmap: .globl mmap - li 0,SYS_mmap + li r0,SYS_mmap sysgo: + teq r0,r0 // debugging sc bns+ no_fail // 'bns': branch if No Summary[Overflow] li a0,-1 // failure; IGNORE errno @@ -120,18 +106,18 @@ no_fail: ret exit: .globl exit - li 0,SYS_exit; b sysgo + li r0,SYS_exit; b 5f read: .globl read - li 0,SYS_read; b sysgo + li r0,SYS_read; 5: b 5f open: .globl open - li 0,SYS_open; b sysgo + li r0,SYS_open; 5: b 5f close: .globl close - li 0,SYS_close; b sysgo + li r0,SYS_close; 5: b 5f mprotect: .globl mprotect - li 0,SYS_mprotect; b sysgo + li r0,SYS_mprotect; 5: b 5f munmap: .globl munmap - li 0,SYS_munmap; b sysgo + li r0,SYS_munmap; 5: b 5f brk: .globl brk - li 0,SYS_brk; b sysgo + li r0,SYS_brk; 5: b sysgo /* vim:set ts=8 sw=8 et: */ diff --git a/src/stub/tmp/powerpc-linux.elf-entry.bin.dump b/src/stub/tmp/powerpc-linux.elf-entry.bin.dump index 3f23199d..f14141eb 100644 --- a/src/stub/tmp/powerpc-linux.elf-entry.bin.dump +++ b/src/stub/tmp/powerpc-linux.elf-entry.bin.dump @@ -14,7 +14,7 @@ Idx Name Size VMA LMA File off Algn Flags 9 NRV_TAIL 0000001c 00000000 00000000 00001780 2**0 CONTENTS, READONLY 10 CFLUSH 00000024 00000000 00000000 0000179c 2**0 CONTENTS, READONLY 11 ELFMAINY 00000022 00000000 00000000 000017c0 2**0 CONTENTS, RELOC, READONLY - 12 ELFMAINZ 0000013c 00000000 00000000 000017e2 2**0 CONTENTS, RELOC, READONLY + 12 ELFMAINZ 000000e8 00000000 00000000 000017e2 2**0 CONTENTS, RELOC, READONLY SYMBOL TABLE: 00000000 l d LZMA_DEC30 00000000 LZMA_DEC30 00000000 l d NRV_TAIL 00000000 NRV_TAIL @@ -33,7 +33,7 @@ SYMBOL TABLE: RELOCATION RECORDS FOR [ELFMAINX]: OFFSET TYPE VALUE -00000000 R_PPC_REL24 ELFMAINZ+0x0000012c +00000000 R_PPC_REL24 ELFMAINZ+0x000000d8 RELOCATION RECORDS FOR [NRV2E]: OFFSET TYPE VALUE @@ -57,5 +57,4 @@ OFFSET TYPE VALUE RELOCATION RECORDS FOR [ELFMAINZ]: OFFSET TYPE VALUE -000000b0 R_PPC_REL24 ELFMAINY -000000f8 R_PPC_REL14 ELFMAINY +000000a8 R_PPC_REL14 ELFMAINY diff --git a/src/stub/tmp/powerpc-linux.elf-fold.map b/src/stub/tmp/powerpc-linux.elf-fold.map index c026f714..04b44b7f 100644 --- a/src/stub/tmp/powerpc-linux.elf-fold.map +++ b/src/stub/tmp/powerpc-linux.elf-fold.map @@ -9,30 +9,30 @@ Linker script and memory map TARGET(elf32-powerpc) 0x0000000000100080 . = ((0x100000 + SIZEOF_HEADERS) + 0xc) -.text 0x0000000000100080 0xc84 +.text 0x0000000000100080 0xc6c *(.text) - .text 0x0000000000100080 0x12c tmp/powerpc-linux.elf-fold.o - 0x000000000010019c munmap - 0x0000000000100160 mmap - 0x000000000010017c read - 0x0000000000100174 exit - 0x00000000001001a4 brk - 0x0000000000100184 open - 0x0000000000100194 mprotect - 0x000000000010018c close - .text 0x00000000001001ac 0xb58 tmp/powerpc-linux.elf-main.o - 0x0000000000100ad0 upx_main + .text 0x0000000000100080 0x114 tmp/powerpc-linux.elf-fold.o + 0x0000000000100184 munmap + 0x0000000000100144 mmap + 0x0000000000100164 read + 0x000000000010015c exit + 0x000000000010018c brk + 0x000000000010016c open + 0x000000000010017c mprotect + 0x0000000000100174 close + .text 0x0000000000100194 0xb58 tmp/powerpc-linux.elf-main.o + 0x0000000000100ab8 upx_main *(.data) - .data 0x0000000000100d04 0x0 tmp/powerpc-linux.elf-fold.o - .data 0x0000000000100d04 0x0 tmp/powerpc-linux.elf-main.o + .data 0x0000000000100cec 0x0 tmp/powerpc-linux.elf-fold.o + .data 0x0000000000100cec 0x0 tmp/powerpc-linux.elf-main.o .data -.bss 0x0000000000100d04 0x0 - .bss 0x0000000000100d04 0x0 tmp/powerpc-linux.elf-fold.o - .bss 0x0000000000100d04 0x0 tmp/powerpc-linux.elf-main.o +.bss 0x0000000000100cec 0x0 + .bss 0x0000000000100cec 0x0 tmp/powerpc-linux.elf-fold.o + .bss 0x0000000000100cec 0x0 tmp/powerpc-linux.elf-main.o -.rela.dyn 0x0000000000100d04 0x0 +.rela.dyn 0x0000000000100cec 0x0 .rela.text 0x0000000000000000 0x0 tmp/powerpc-linux.elf-fold.o LOAD tmp/powerpc-linux.elf-fold.o LOAD tmp/powerpc-linux.elf-main.o