From f65c26b900eea925faf47b79dcd32cf11c53e2ab Mon Sep 17 00:00:00 2001 From: Ethan Roseman Date: Mon, 30 Nov 2020 14:17:51 -0500 Subject: [PATCH 01/97] audio WIP --- .../code_2e230_len_2190/func_800533A8.s | 14 - .../code_2e230_len_2190/func_80053AC8.s | 14 - .../code_2e230_len_2190/func_80053AEC.s | 10 - .../code_2e230_len_2190/func_80053F64.s | 12 - src/code_2e230_len_2190.c | 274 +++++++++++++++++- src/code_2e230_len_2190.h | 22 ++ 6 files changed, 285 insertions(+), 61 deletions(-) delete mode 100644 asm/nonmatchings/code_2e230_len_2190/func_800533A8.s delete mode 100644 asm/nonmatchings/code_2e230_len_2190/func_80053AC8.s delete mode 100644 asm/nonmatchings/code_2e230_len_2190/func_80053AEC.s delete mode 100644 asm/nonmatchings/code_2e230_len_2190/func_80053F64.s diff --git a/asm/nonmatchings/code_2e230_len_2190/func_800533A8.s b/asm/nonmatchings/code_2e230_len_2190/func_800533A8.s deleted file mode 100644 index 8047bea254..0000000000 --- a/asm/nonmatchings/code_2e230_len_2190/func_800533A8.s +++ /dev/null @@ -1,14 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel func_800533A8 -/* 2E7A8 800533A8 24022010 */ addiu $v0, $zero, 0x2010 -/* 2E7AC 800533AC A4820000 */ sh $v0, ($a0) -/* 2E7B0 800533B0 2402007F */ addiu $v0, $zero, 0x7f -/* 2E7B4 800533B4 A0820002 */ sb $v0, 2($a0) -/* 2E7B8 800533B8 24020040 */ addiu $v0, $zero, 0x40 -/* 2E7BC 800533BC A0820003 */ sb $v0, 3($a0) -/* 2E7C0 800533C0 A0800004 */ sb $zero, 4($a0) -/* 2E7C4 800533C4 A0800005 */ sb $zero, 5($a0) -/* 2E7C8 800533C8 03E00008 */ jr $ra -/* 2E7CC 800533CC A0800006 */ sb $zero, 6($a0) diff --git a/asm/nonmatchings/code_2e230_len_2190/func_80053AC8.s b/asm/nonmatchings/code_2e230_len_2190/func_80053AC8.s deleted file mode 100644 index 1d710cf1dc..0000000000 --- a/asm/nonmatchings/code_2e230_len_2190/func_80053AC8.s +++ /dev/null @@ -1,14 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel func_80053AC8 -/* 2EEC8 80053AC8 8482000A */ lh $v0, 0xa($a0) -/* 2EECC 80053ACC 14400005 */ bnez $v0, .L80053AE4 -/* 2EED0 80053AD0 24020001 */ addiu $v0, $zero, 1 -/* 2EED4 80053AD4 94830000 */ lhu $v1, ($a0) -/* 2EED8 80053AD8 A482000A */ sh $v0, 0xa($a0) -/* 2EEDC 80053ADC AC800004 */ sw $zero, 4($a0) -/* 2EEE0 80053AE0 A4830008 */ sh $v1, 8($a0) -.L80053AE4: -/* 2EEE4 80053AE4 03E00008 */ jr $ra -/* 2EEE8 80053AE8 00000000 */ nop diff --git a/asm/nonmatchings/code_2e230_len_2190/func_80053AEC.s b/asm/nonmatchings/code_2e230_len_2190/func_80053AEC.s deleted file mode 100644 index 3f44a2a8a0..0000000000 --- a/asm/nonmatchings/code_2e230_len_2190/func_80053AEC.s +++ /dev/null @@ -1,10 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel func_80053AEC -/* 2EEEC 80053AEC 00051400 */ sll $v0, $a1, 0x10 -/* 2EEF0 80053AF0 AC820010 */ sw $v0, 0x10($a0) -/* 2EEF4 80053AF4 A4850018 */ sh $a1, 0x18($a0) -/* 2EEF8 80053AF8 A480001A */ sh $zero, 0x1a($a0) -/* 2EEFC 80053AFC 03E00008 */ jr $ra -/* 2EF00 80053B00 AC800014 */ sw $zero, 0x14($a0) diff --git a/asm/nonmatchings/code_2e230_len_2190/func_80053F64.s b/asm/nonmatchings/code_2e230_len_2190/func_80053F64.s deleted file mode 100644 index 712603f73d..0000000000 --- a/asm/nonmatchings/code_2e230_len_2190/func_80053F64.s +++ /dev/null @@ -1,12 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel func_80053F64 -/* 2F364 80053F64 14800004 */ bnez $a0, .L80053F78 -/* 2F368 80053F68 0000102D */ daddu $v0, $zero, $zero -/* 2F36C 80053F6C 3C02800A */ lui $v0, %hi(D_8009A5C0) -/* 2F370 80053F70 8C42A5C0 */ lw $v0, %lo(D_8009A5C0)($v0) -/* 2F374 80053F74 8C42006C */ lw $v0, 0x6c($v0) -.L80053F78: -/* 2F378 80053F78 03E00008 */ jr $ra -/* 2F37C 80053F7C 00000000 */ nop diff --git a/src/code_2e230_len_2190.c b/src/code_2e230_len_2190.c index d97c70f1b3..c711636896 100644 --- a/src/code_2e230_len_2190.c +++ b/src/code_2e230_len_2190.c @@ -1,14 +1,250 @@ #include "code_2e230_len_2190.h" +#undef alHeapAlloc + +typedef struct UnkAl0 { + /* 0x00 */ char unk_00[0x18]; + /* 0x18 */ ALHeap* unk_18; +} UnkAl0; + +typedef struct UnkAl6CC { + /* 0x00 */ char unk_00[0x6CC]; +} UnkAl6CC; + +typedef struct UnkAlA9C { + /* 0x00 */ char unk_00[0x4]; + /* 0x04 */ UnkAl6CC* unk_04; + /* 0x08 */ char unk_08[0xA94]; +} UnkAlA9C; + +typedef struct UnkAl48 { + /* 0x00 */ s32 unk_00; + /* 0x04 */ s32 unk_04; + /* 0x08 */ char unk_08[4]; + /* 0x0C */ u16 unk_0C; + /* 0x0E */ s8 unk_0E; + /* 0x0F */ s8 unk_0F; + /* 0x10 */ s8 unk_10; + /* 0x11 */ char unk_11[0x31]; + /* 0x42 */ s8 unk_42; + /* 0x43 */ s8 unk_43; + /* 0x44 */ s8 unk_44; + /* 0x45 */ s8 unk_45; + /* 0x46 */ char unk_46[2]; +} UnkAl48; // size = 0x48 + +typedef struct UnkAl19E0Sub { + /* 0x0 */ s16 unk_0; + /* 0x2 */ s16 unk_2; + /* 0x4 */ s16 unk_4; +} UnkAl19E0Sub; + +typedef struct UnkAl19E0 { + /* 0x0000 */ f32 unk_00; + /* 0x0004 */ s32* unk_04; + /* 0x0008 */ s32* unk_08; + /* 0x000C */ char unk_0C[0x8]; + /* 0x0014 */ alUnk2* unk_14; + /* 0x0018 */ char unk_18[0x24]; + /* 0x003C */ UnkAl19E0Sub* unk_3C; + /* 0x0040 */ s8 unk_40[16]; + /* 0x0050 */ s8 unk_50; + /* 0x0051 */ s8 unk_51; + /* 0x0052 */ s8 unk_52; + /* 0x0053 */ s8 unk_53; + /* 0x0054 */ s32* unk_54; + /* 0x0058 */ s32* unk_58; + /* 0x005C */ s32* unk_5C; + /* 0x0060 */ s32* unk_60; + /* 0x0064 */ s32* unk_64; + /* 0x0068 */ s32* unk_68; + /* 0x006C */ UnkAlA9C* unk_6C; + /* 0x0070 */ s8 unk_70; + /* 0x0071 */ s8 unk_71; + /* 0x0072 */ char unk_72[0x22]; + /* 0x0094 */ s32* unk_94; + /* 0x0098 */ char unk_98[0x8]; + /* 0x00A0 */ s32* unk_A0; + /* 0x00A4 */ s32 unk_A4; + /* 0x00A8 */ s32 unk_A8; + /* 0x00AC */ s32* unk_AC; + /* 0x00B0 */ char unk_B0[0x3C]; + /* 0x00EC */ s32* unk_EC; + /* 0x00F0 */ char unk_F0[0x3FC]; + /* 0x04EC */ s32* unk_4EC; + /* 0x04F0 */ char unk_4F0[0xFC]; + /* 0x05EC */ s32* unk_5EC; + /* 0x05F0 */ char unk_5F0[0x3FC]; + /* 0x09EC */ s32* unk_9EC; + /* 0x09F0 */ char unk_9F0[0x3FC]; + /* 0x0DEC */ s32* unk_DEC; + /* 0x0DF0 */ char unk_DF0[0x3FC]; + /* 0x11EC */ s32* unk_11EC; + /* 0x11F0 */ char unk_11F0[0xFC]; + /* 0x12EC */ s32* unk_12EC; + /* 0x12F0 */ s32* unk_12F0; + /* 0x12F4 */ s32* unk_12F4; + /* 0x12F8 */ s32* unk_12F8; + /* 0x12FC */ s32* unk_12FC; + /* 0x1300 */ s32* unk_1300; + /* 0x1304 */ s32* unk_1304; + /* 0x1308 */ s32* unk_1308; + /* 0x130C */ char unk_130C[0x4]; + /* 0x1310 */ s32** unk_1310; + /* 0x1314 */ char unk_1314[0xC]; + /* 0x1320 */ UnkAl48 unk_1320[24]; +} UnkAl19E0; // size = 0x19E0 + +typedef struct UnkAl834 { + /* 0x00 */ UnkAl19E0* unk_00; + /* 0x04 */ char unk_04[0x830]; +} UnkAl834; + +extern UnkAl0* D_80078E54; +extern UnkAl19E0* D_8009A5C0; +extern UnkAlA9C* D_8009A5CC; +extern UnkAlA9C* D_8009A5FC; +extern UnkAl834* D_8009A628; +extern UnkAl6CC* D_8009A640; +extern UnkAlA9C* D_8009A664; + INCLUDE_ASM(s32, "code_2e230_len_2190", func_80052E30); +void func_800532F4(s32); +void func_80053370(s32); +void func_800533A8(alUnk2*); +void al_LoadINIT(UnkAl19E0*, s32, ALHeap*); +s32 al_CopyFileTableEntry(s16 arg0, s32 arg1, s32* arg2); +void al_LoadPER(UnkAl19E0*, s32*); +void al_LoadPRG(UnkAl19E0*, s32*); +void al_DmaCopy(s32*, s32*, s32); +s32* alHeapAlloc(ALHeap*, s32, s32); + INCLUDE_ASM(s32, "code_2e230_len_2190", func_80052E5C); +/*void func_80052E5C(s32 arg0) { + UnkAl19E0* temp_s4; + s32* temp_v0_2; + ALHeap* alHeap; + s32 i; + s32* subroutine_arg6; + s32* subroutine_arg7; + s32* subroutine_arg8; -INCLUDE_ASM(s32, "code_2e230_len_2190", func_800532F4); + alHeap = D_80078E54->unk_18; + D_8009A5C0 = alHeapAlloc(alHeap, 1, 0x19E0); + temp_s4 = D_8009A5C0; -INCLUDE_ASM(s32, "code_2e230_len_2190", func_80053370); + D_8009A664 = alHeapAlloc(alHeap, 1, 0xA9C); + D_8009A5FC = alHeapAlloc(alHeap, 1, 0xA9C); + D_8009A5CC = alHeapAlloc(alHeap, 1, 0xA9C); + D_8009A640 = alHeapAlloc(alHeap, 1, 0x6CC); + D_8009A628 = alHeapAlloc(alHeap, 1, 0x834); + D_8009A628->unk_00 = D_8009A5C0; + D_8009A664->unk_04 = D_8009A640; -INCLUDE_ASM(s32, "code_2e230_len_2190", func_800533A8); + temp_v0_2 = alHeapAlloc(alHeap, 1, 0x8000); + temp_s4->unk_5C = temp_v0_2[0]; + temp_s4->unk_60 = temp_v0_2[0x1400]; + temp_s4->unk_64 = temp_v0_2[0x1C00]; + temp_s4->unk_68 = temp_v0_2[0x1400]; + + for (i = 0; i < 1; i++) { + temp_s4->unk_6C = alHeapAlloc(alHeap, 1, 0xA9C); + } + + temp_s4->unk_A0 = alHeapAlloc(alHeap, 1, 0x5200); + temp_s4->unk_04 = alHeapAlloc(alHeap, 1, 0x30); + temp_s4->unk_54 = alHeapAlloc(alHeap, 1, 0x360); + temp_s4->unk_58 = alHeapAlloc(alHeap, 1, 0x200); + temp_s4->unk_94 = alHeapAlloc(alHeap, 1, 0x40); + temp_s4->unk_00 = arg0; + func_800532F4(temp_s4->unk_04); + func_80053370(temp_s4->unk_08); + func_800533A8(temp_s4->unk_14); + func_8005610C(); + temp_s4->unk_A4 = 0; + temp_s4->unk_A8 = 0; + + for (i = 0; i < 1; i++) { + temp_s4->unk_70 = 0; + temp_s4->unk_71 = 0; + } + + for (i = 0; i < 4; i++) { + temp_s4->unk_40[i * 4 + 0] = 0; + temp_s4->unk_40[i * 4 + 1] = 0; + } + + for (i = 0; i < 24; i++) { + func_80056EC0(i, 0); + func_80057224(i, temp_s4->unk_04); + temp_s4->unk_1320[i].unk_00 = 0; + temp_s4->unk_1320[i].unk_04 = 0; + temp_s4->unk_1320[i].unk_0C = -1; + temp_s4->unk_1320[i].unk_0E = 0xFF; + temp_s4->unk_1320[i].unk_0F = 0xFF; + temp_s4->unk_1320[i].unk_10 = 0; + temp_s4->unk_1320[i].unk_42 = 0; + temp_s4->unk_1320[i].unk_43 = 0; + temp_s4->unk_1320[i].unk_44 = 0; + temp_s4->unk_1320[i].unk_45 = 0; + } + + al_LoadINIT(temp_s4, 0xF00000, alHeap); + + for (i = 0; i < 3; i++) { + temp_s4->unk_1310[i] = alHeapAlloc(alHeap, 1, 0x840); + } + + func_8004E158(D_8009A664, 1, 0, temp_s4); + func_8004E344(D_8009A664, &subroutine_arg8, 0, 3, 0xFF, 0xFF); + func_8004E158(D_8009A5FC, 2, 2, temp_s4); + func_8004E344(D_8009A5FC, &subroutine_arg8, 2, 0xFF, 0xFF, 0xFF); + func_8004B440(D_8009A640, 4, 1, temp_s4, 0x10); + func_80050B90(D_8009A628, 6, 1, temp_s4); + func_80052614(temp_s4); + al_LoadBKHeaders(temp_s4, alHeap); + if (al_CopyFileTableEntry(temp_s4->unk_3C->unk_0, 0x20, &subroutine_arg6) == 0) { + al_DmaCopy(subroutine_arg6, temp_s4->unk_A0, *subroutine_arg7 & 0xFFFFFF); + } + func_8004B62C(D_8009A640); + if (al_CopyFileTableEntry(temp_s4->unk_3C->unk_2, 0x40, &subroutine_arg6) == 0) { + al_LoadPER(temp_s4, subroutine_arg6); + } + if (al_CopyFileTableEntry(temp_s4->unk_3C->unk_4, 0x40, &subroutine_arg6) == 0) { + al_LoadPRG(temp_s4, subroutine_arg6); + } + + temp_s4->unk_12F0 = temp_s4->unk_5EC; + temp_s4->unk_12F4 = temp_s4->unk_AC; + temp_s4->unk_12F8 = temp_s4->unk_EC; + temp_s4->unk_12FC = temp_s4->unk_9EC; + temp_s4->unk_1300 = temp_s4->unk_DEC; + temp_s4->unk_12EC = temp_s4->unk_4EC; + temp_s4->unk_1304 = temp_s4->unk_11EC; + temp_s4->unk_1308 = temp_s4->unk_4EC; + temp_s4->unk_53 = 0; + temp_s4->unk_52 = 0; + temp_s4->unk_51 = 0; + temp_s4->unk_50 = 0; + + func_80057ED0(0); + func_80055050(alHeap); +}*/ + +INCLUDE_ASM(void, "code_2e230_len_2190", func_800532F4, s32 arg0); + +INCLUDE_ASM(void, "code_2e230_len_2190", func_80053370, s32 arg0); + +//INCLUDE_ASM(s32, "code_2e230_len_2190", func_800533A8); +void func_800533A8(alUnk2* arg0) { + arg0->unk_00 = 8208; + arg0->unk_02 = ~128; + arg0->unk_03 = 64; + arg0->unk_04 = 0; + arg0->unk_05 = 0; + arg0->unk_06 = 0; +} INCLUDE_ASM(s32, "code_2e230_len_2190", func_800533D0); @@ -34,9 +270,20 @@ INCLUDE_ASM(s32, "code_2e230_len_2190", func_80053A28); INCLUDE_ASM(s32, "code_2e230_len_2190", func_80053A98); -INCLUDE_ASM(s32, "code_2e230_len_2190", func_80053AC8); +void func_80053AC8(alUnk1* arg0) { + if (arg0->unk_0A == 0) { + arg0->unk_0A = 1; + arg0->unk_04 = 0; + arg0->unk_08 = arg0->unk_00; + } +} -INCLUDE_ASM(s32, "code_2e230_len_2190", func_80053AEC); +void func_80053AEC(alUnk1* arg0, s16 arg1) { + arg0->unk_10 = arg1 << 16; + arg0->unk_18 = arg1; + arg0->unk_1A = 0; + arg0->unk_14 = 0; +} INCLUDE_ASM(s32, "code_2e230_len_2190", func_80053B04); @@ -52,19 +299,24 @@ INCLUDE_ASM(s32, "code_2e230_len_2190", func_80053CF8); INCLUDE_ASM(s32, "code_2e230_len_2190", func_80053E58); -INCLUDE_ASM(s32, "code_2e230_len_2190", func_80053F64); +s32 func_80053F64(s32 arg0) { + if (arg0 == 0) { + return D_8009A5C0->unk_6C; // 0x6C + } + return 0; +} INCLUDE_ASM(s32, "code_2e230_len_2190", func_80053F80); INCLUDE_ASM(s32, "code_2e230_len_2190", func_80054248); -INCLUDE_ASM(s32, "code_2e230_len_2190", al_LoadINIT); +INCLUDE_ASM(void, "code_2e230_len_2190", al_LoadINIT, UnkAl19E0* arg0, s32 arg1, ALHeap* arg2); -INCLUDE_ASM(s32, "code_2e230_len_2190", al_CopyFileTableEntry); +INCLUDE_ASM(s32, "code_2e230_len_2190", al_CopyFileTableEntry, s16 arg0, s32 arg1, s32* arg2); -INCLUDE_ASM(s32, "code_2e230_len_2190", al_LoadPER); +INCLUDE_ASM(void, "code_2e230_len_2190", al_LoadPER, UnkAl19E0* arg0, s32* arg1); -INCLUDE_ASM(s32, "code_2e230_len_2190", al_LoadPRG); +INCLUDE_ASM(void, "code_2e230_len_2190", al_LoadPRG, UnkAl19E0* arg0, s32* arg1); INCLUDE_ASM(s32, "code_2e230_len_2190", func_8005465C); @@ -86,7 +338,7 @@ INCLUDE_ASM(s32, "code_2e230_len_2190", func_80054D74); INCLUDE_ASM(s32, "code_2e230_len_2190", func_80054DA8); -INCLUDE_ASM(s32, "code_2e230_len_2190", al_DmaCopy); +INCLUDE_ASM(void, "code_2e230_len_2190", al_DmaCopy, s32* arg0, s32* arg1, s32 arg2); INCLUDE_ASM(s32, "code_2e230_len_2190", func_80054E90); diff --git a/src/code_2e230_len_2190.h b/src/code_2e230_len_2190.h index 5b3dc33da0..1198ac2d48 100644 --- a/src/code_2e230_len_2190.h +++ b/src/code_2e230_len_2190.h @@ -12,6 +12,28 @@ typedef struct UnkStructFor80053A18 { /* 0x0C */ s32 unk_0C; } UnkStructFor80053A18; // size unknown +typedef struct alUnk1 { + /* 0x00 */ s16 unk_00; + /* 0x02 */ char unk_02[2]; + /* 0x04 */ s32 unk_04; + /* 0x08 */ s16 unk_08; + /* 0x0A */ s16 unk_0A; + /* 0x0C */ char unk_0C[4]; + /* 0x10 */ s32 unk_10; + /* 0x14 */ s32 unk_14; + /* 0x18 */ s16 unk_18; + /* 0x1A */ s16 unk_1A; +} alUnk1; + +typedef struct alUnk2 { + /* 0x00 */ s16 unk_00; + /* 0x02 */ u8 unk_02; + /* 0x03 */ s8 unk_03; + /* 0x04 */ s8 unk_04; + /* 0x05 */ s8 unk_05; + /* 0x06 */ s8 unk_06; +} alUnk2; + void func_80053A18(UnkStructFor80053A18* arg0); #endif From ad7b54db590e413f79459aca38a911a5605d9971 Mon Sep 17 00:00:00 2001 From: dark-samus Date: Mon, 30 Nov 2020 15:16:29 -0500 Subject: [PATCH 02/97] some progress --- src/code_2e230_len_2190.c | 152 ++++++++++++++++++++------------------ 1 file changed, 82 insertions(+), 70 deletions(-) diff --git a/src/code_2e230_len_2190.c b/src/code_2e230_len_2190.c index c711636896..fd2d544007 100644 --- a/src/code_2e230_len_2190.c +++ b/src/code_2e230_len_2190.c @@ -120,117 +120,129 @@ void al_LoadPRG(UnkAl19E0*, s32*); void al_DmaCopy(s32*, s32*, s32); s32* alHeapAlloc(ALHeap*, s32, s32); -INCLUDE_ASM(s32, "code_2e230_len_2190", func_80052E5C); -/*void func_80052E5C(s32 arg0) { - UnkAl19E0* temp_s4; +//INCLUDE_ASM(s32, "code_2e230_len_2190", func_80052E5C); +void func_80052E5C(s32 arg0) { + UnkAl19E0** temp_s4 = &D_8009A5C0; + UnkAl19E0* temp4; s32* temp_v0_2; ALHeap* alHeap; s32 i; s32* subroutine_arg6; s32* subroutine_arg7; s32* subroutine_arg8; + UnkAlA9C** temp1 = &D_8009A664; + UnkAl6CC** temp2 = &D_8009A640; + UnkAl6CC** temp2_1; + UnkAlA9C** temp3; + UnkAl48* temp5; + + alHeap = D_80078E54->unk_18; - D_8009A5C0 = alHeapAlloc(alHeap, 1, 0x19E0); - temp_s4 = D_8009A5C0; + *temp_s4 = alHeapAlloc(alHeap, 1, 0x19E0); - D_8009A664 = alHeapAlloc(alHeap, 1, 0xA9C); + (*temp1) = alHeapAlloc(alHeap, 1, 0xA9C); D_8009A5FC = alHeapAlloc(alHeap, 1, 0xA9C); D_8009A5CC = alHeapAlloc(alHeap, 1, 0xA9C); - D_8009A640 = alHeapAlloc(alHeap, 1, 0x6CC); + (*temp2) = alHeapAlloc(alHeap, 1, 0x6CC); D_8009A628 = alHeapAlloc(alHeap, 1, 0x834); - D_8009A628->unk_00 = D_8009A5C0; - D_8009A664->unk_04 = D_8009A640; + D_8009A628->unk_00 = *(temp_s4); + (*temp1)->unk_04 = (*temp2); + temp_v0_2 = alHeapAlloc(alHeap, 1, 0x8000); - temp_s4->unk_5C = temp_v0_2[0]; - temp_s4->unk_60 = temp_v0_2[0x1400]; - temp_s4->unk_64 = temp_v0_2[0x1C00]; - temp_s4->unk_68 = temp_v0_2[0x1400]; + temp4 = *temp_s4; + temp4->unk_5C = temp_v0_2[0]; + temp4->unk_60 = temp_v0_2[0x1400]; + temp4->unk_64 = temp_v0_2[0x1C00]; + temp4->unk_68 = temp_v0_2[0x1400]; for (i = 0; i < 1; i++) { - temp_s4->unk_6C = alHeapAlloc(alHeap, 1, 0xA9C); + (*temp_s4)->unk_6C = alHeapAlloc(alHeap, 1, 0xA9C); } - temp_s4->unk_A0 = alHeapAlloc(alHeap, 1, 0x5200); - temp_s4->unk_04 = alHeapAlloc(alHeap, 1, 0x30); - temp_s4->unk_54 = alHeapAlloc(alHeap, 1, 0x360); - temp_s4->unk_58 = alHeapAlloc(alHeap, 1, 0x200); - temp_s4->unk_94 = alHeapAlloc(alHeap, 1, 0x40); - temp_s4->unk_00 = arg0; - func_800532F4(temp_s4->unk_04); - func_80053370(temp_s4->unk_08); - func_800533A8(temp_s4->unk_14); + temp4->unk_A0 = alHeapAlloc(alHeap, 1, 0x5200); + temp4->unk_04 = alHeapAlloc(alHeap, 1, 0x30); + temp4->unk_54 = alHeapAlloc(alHeap, 1, 0x360); + temp4->unk_58 = alHeapAlloc(alHeap, 1, 0x200); + temp4->unk_94 = alHeapAlloc(alHeap, 1, 0x40); + temp4->unk_00 = arg0; + func_800532F4((*temp_s4)->unk_04); + func_80053370((*temp_s4)->unk_08); + func_800533A8((*temp_s4)->unk_14); func_8005610C(); - temp_s4->unk_A4 = 0; - temp_s4->unk_A8 = 0; + temp4->unk_A4 = 0; + temp4->unk_A8 = 0; for (i = 0; i < 1; i++) { - temp_s4->unk_70 = 0; - temp_s4->unk_71 = 0; + temp4->unk_70 = 0; + temp4->unk_71 = 0; } for (i = 0; i < 4; i++) { - temp_s4->unk_40[i * 4 + 0] = 0; - temp_s4->unk_40[i * 4 + 1] = 0; + temp4->unk_40[i * 4 + 0] = 0; + temp4->unk_40[i * 4 + 1] = 0; } + temp5 = temp4->unk_1320; for (i = 0; i < 24; i++) { func_80056EC0(i, 0); - func_80057224(i, temp_s4->unk_04); - temp_s4->unk_1320[i].unk_00 = 0; - temp_s4->unk_1320[i].unk_04 = 0; - temp_s4->unk_1320[i].unk_0C = -1; - temp_s4->unk_1320[i].unk_0E = 0xFF; - temp_s4->unk_1320[i].unk_0F = 0xFF; - temp_s4->unk_1320[i].unk_10 = 0; - temp_s4->unk_1320[i].unk_42 = 0; - temp_s4->unk_1320[i].unk_43 = 0; - temp_s4->unk_1320[i].unk_44 = 0; - temp_s4->unk_1320[i].unk_45 = 0; + func_80057224(i, temp4->unk_04); + temp5[i].unk_00 = 0; + temp5[i].unk_04 = 0; + temp5[i].unk_0C = -1; + temp5[i].unk_0E = 0xFF; + temp5[i].unk_0F = 0xFF; + temp5[i].unk_10 = 0; + temp5[i].unk_42 = 0; + temp5[i].unk_43 = 0; + temp5[i].unk_44 = 0; + temp5[i].unk_45 = 0; } - al_LoadINIT(temp_s4, 0xF00000, alHeap); + al_LoadINIT((*temp_s4), 0xF00000, alHeap); for (i = 0; i < 3; i++) { - temp_s4->unk_1310[i] = alHeapAlloc(alHeap, 1, 0x840); + (*temp_s4)->unk_1310[i] = alHeapAlloc(alHeap, 1, 0x840); } - func_8004E158(D_8009A664, 1, 0, temp_s4); - func_8004E344(D_8009A664, &subroutine_arg8, 0, 3, 0xFF, 0xFF); - func_8004E158(D_8009A5FC, 2, 2, temp_s4); - func_8004E344(D_8009A5FC, &subroutine_arg8, 2, 0xFF, 0xFF, 0xFF); - func_8004B440(D_8009A640, 4, 1, temp_s4, 0x10); - func_80050B90(D_8009A628, 6, 1, temp_s4); - func_80052614(temp_s4); - al_LoadBKHeaders(temp_s4, alHeap); - if (al_CopyFileTableEntry(temp_s4->unk_3C->unk_0, 0x20, &subroutine_arg6) == 0) { - al_DmaCopy(subroutine_arg6, temp_s4->unk_A0, *subroutine_arg7 & 0xFFFFFF); + temp2_1 = &D_8009A640; + temp3 = &D_8009A5FC; + func_8004E158((*temp1), 1, 0, (*temp_s4)); + func_8004E344((*temp1), &subroutine_arg8, 0, 3, 0xFF, 0xFF); + func_8004E158((*temp3), 2, 2, (*temp_s4)); + func_8004E344((*temp3), &subroutine_arg8, 2, 0xFF, 0xFF, 0xFF); + func_8004B440((*temp2_1), 4, 1, (*temp_s4), 0x10); + func_80050B90(D_8009A628, 6, 1, (*temp_s4)); + func_80052614((*temp_s4)); + al_LoadBKHeaders((*temp_s4), alHeap); + if (al_CopyFileTableEntry((*temp_s4)->unk_3C->unk_0, 0x20, &subroutine_arg6) == 0) { + al_DmaCopy(subroutine_arg6, (*temp_s4)->unk_A0, *subroutine_arg7 & 0xFFFFFF); } - func_8004B62C(D_8009A640); - if (al_CopyFileTableEntry(temp_s4->unk_3C->unk_2, 0x40, &subroutine_arg6) == 0) { - al_LoadPER(temp_s4, subroutine_arg6); + func_8004B62C((*temp2_1)); + if (al_CopyFileTableEntry((*temp_s4)->unk_3C->unk_2, 0x40, &subroutine_arg6) == 0) { + al_LoadPER((*temp_s4), subroutine_arg6); } - if (al_CopyFileTableEntry(temp_s4->unk_3C->unk_4, 0x40, &subroutine_arg6) == 0) { - al_LoadPRG(temp_s4, subroutine_arg6); + if (al_CopyFileTableEntry((*temp_s4)->unk_3C->unk_4, 0x40, &subroutine_arg6) == 0) { + al_LoadPRG((*temp_s4), subroutine_arg6); } - temp_s4->unk_12F0 = temp_s4->unk_5EC; - temp_s4->unk_12F4 = temp_s4->unk_AC; - temp_s4->unk_12F8 = temp_s4->unk_EC; - temp_s4->unk_12FC = temp_s4->unk_9EC; - temp_s4->unk_1300 = temp_s4->unk_DEC; - temp_s4->unk_12EC = temp_s4->unk_4EC; - temp_s4->unk_1304 = temp_s4->unk_11EC; - temp_s4->unk_1308 = temp_s4->unk_4EC; - temp_s4->unk_53 = 0; - temp_s4->unk_52 = 0; - temp_s4->unk_51 = 0; - temp_s4->unk_50 = 0; + temp4->unk_12F0 = temp4->unk_5EC; + temp4->unk_12F4 = temp4->unk_AC; + temp4->unk_12F8 = temp4->unk_EC; + temp4->unk_12FC = temp4->unk_9EC; + temp4->unk_1300 = temp4->unk_DEC; + temp4->unk_12EC = temp4->unk_4EC; + temp4->unk_1304 = temp4->unk_11EC; + temp4->unk_1308 = temp4->unk_4EC; + temp4->unk_53 = 0; + temp4->unk_52 = 0; + temp4->unk_51 = 0; + temp4->unk_50 = 0; func_80057ED0(0); func_80055050(alHeap); -}*/ +} INCLUDE_ASM(void, "code_2e230_len_2190", func_800532F4, s32 arg0); From e27db2625341af717574f1ea1774529cfc47a30b Mon Sep 17 00:00:00 2001 From: dark-samus Date: Mon, 30 Nov 2020 15:18:35 -0500 Subject: [PATCH 03/97] forgot some stuff --- src/code_2e230_len_2190.c | 34 +++++++++++++++++----------------- 1 file changed, 17 insertions(+), 17 deletions(-) diff --git a/src/code_2e230_len_2190.c b/src/code_2e230_len_2190.c index fd2d544007..4cfd04c2a6 100644 --- a/src/code_2e230_len_2190.c +++ b/src/code_2e230_len_2190.c @@ -167,9 +167,9 @@ void func_80052E5C(s32 arg0) { temp4->unk_58 = alHeapAlloc(alHeap, 1, 0x200); temp4->unk_94 = alHeapAlloc(alHeap, 1, 0x40); temp4->unk_00 = arg0; - func_800532F4((*temp_s4)->unk_04); - func_80053370((*temp_s4)->unk_08); - func_800533A8((*temp_s4)->unk_14); + func_800532F4(temp4->unk_04); + func_80053370(temp4->unk_08); + func_800533A8(temp4->unk_14); func_8005610C(); temp4->unk_A4 = 0; temp4->unk_A8 = 0; @@ -200,31 +200,31 @@ void func_80052E5C(s32 arg0) { temp5[i].unk_45 = 0; } - al_LoadINIT((*temp_s4), 0xF00000, alHeap); + al_LoadINIT(temp4, 0xF00000, alHeap); for (i = 0; i < 3; i++) { - (*temp_s4)->unk_1310[i] = alHeapAlloc(alHeap, 1, 0x840); + temp4->unk_1310[i] = alHeapAlloc(alHeap, 1, 0x840); } temp2_1 = &D_8009A640; temp3 = &D_8009A5FC; - func_8004E158((*temp1), 1, 0, (*temp_s4)); + func_8004E158((*temp1), 1, 0, temp4); func_8004E344((*temp1), &subroutine_arg8, 0, 3, 0xFF, 0xFF); - func_8004E158((*temp3), 2, 2, (*temp_s4)); + func_8004E158((*temp3), 2, 2, temp4); func_8004E344((*temp3), &subroutine_arg8, 2, 0xFF, 0xFF, 0xFF); - func_8004B440((*temp2_1), 4, 1, (*temp_s4), 0x10); - func_80050B90(D_8009A628, 6, 1, (*temp_s4)); - func_80052614((*temp_s4)); - al_LoadBKHeaders((*temp_s4), alHeap); - if (al_CopyFileTableEntry((*temp_s4)->unk_3C->unk_0, 0x20, &subroutine_arg6) == 0) { - al_DmaCopy(subroutine_arg6, (*temp_s4)->unk_A0, *subroutine_arg7 & 0xFFFFFF); + func_8004B440((*temp2_1), 4, 1, temp4, 0x10); + func_80050B90(D_8009A628, 6, 1, temp4); + func_80052614(temp4); + al_LoadBKHeaders(temp4, alHeap); + if (al_CopyFileTableEntry(temp4->unk_3C->unk_0, 0x20, &subroutine_arg6) == 0) { + al_DmaCopy(subroutine_arg6, temp4->unk_A0, *subroutine_arg7 & 0xFFFFFF); } func_8004B62C((*temp2_1)); - if (al_CopyFileTableEntry((*temp_s4)->unk_3C->unk_2, 0x40, &subroutine_arg6) == 0) { - al_LoadPER((*temp_s4), subroutine_arg6); + if (al_CopyFileTableEntry(temp4->unk_3C->unk_2, 0x40, &subroutine_arg6) == 0) { + al_LoadPER(temp4, subroutine_arg6); } - if (al_CopyFileTableEntry((*temp_s4)->unk_3C->unk_4, 0x40, &subroutine_arg6) == 0) { - al_LoadPRG((*temp_s4), subroutine_arg6); + if (al_CopyFileTableEntry(temp4->unk_3C->unk_4, 0x40, &subroutine_arg6) == 0) { + al_LoadPRG(temp4, subroutine_arg6); } temp4->unk_12F0 = temp4->unk_5EC; From 388245ac3dc65a286c48f4967de02690f8dc504d Mon Sep 17 00:00:00 2001 From: dark-samus Date: Mon, 30 Nov 2020 15:22:45 -0500 Subject: [PATCH 04/97] a bit better --- src/code_2e230_len_2190.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/code_2e230_len_2190.c b/src/code_2e230_len_2190.c index 4cfd04c2a6..e9af57e305 100644 --- a/src/code_2e230_len_2190.c +++ b/src/code_2e230_len_2190.c @@ -152,10 +152,10 @@ void func_80052E5C(s32 arg0) { temp_v0_2 = alHeapAlloc(alHeap, 1, 0x8000); temp4 = *temp_s4; - temp4->unk_5C = temp_v0_2[0]; - temp4->unk_60 = temp_v0_2[0x1400]; - temp4->unk_64 = temp_v0_2[0x1C00]; - temp4->unk_68 = temp_v0_2[0x1400]; + temp4->unk_5C = &temp_v0_2[0]; + temp4->unk_60 = &temp_v0_2[0x1400]; + temp4->unk_64 = &temp_v0_2[0x1C00]; + temp4->unk_68 = &temp_v0_2[0x1400]; for (i = 0; i < 1; i++) { (*temp_s4)->unk_6C = alHeapAlloc(alHeap, 1, 0xA9C); From eeb6c451ecfbccd653b41b4d380352a5f96f278f Mon Sep 17 00:00:00 2001 From: dark-samus Date: Mon, 30 Nov 2020 16:33:05 -0500 Subject: [PATCH 05/97] :eyes: --- src/code_2e230_len_2190.c | 27 +++++++++++++++++++-------- 1 file changed, 19 insertions(+), 8 deletions(-) diff --git a/src/code_2e230_len_2190.c b/src/code_2e230_len_2190.c index e9af57e305..21744d2628 100644 --- a/src/code_2e230_len_2190.c +++ b/src/code_2e230_len_2190.c @@ -126,17 +126,18 @@ void func_80052E5C(s32 arg0) { UnkAl19E0* temp4; s32* temp_v0_2; ALHeap* alHeap; - s32 i; + u32 i; s32* subroutine_arg6; s32* subroutine_arg7; s32* subroutine_arg8; UnkAlA9C** temp1 = &D_8009A664; + UnkAlA9C** temp1_1; UnkAl6CC** temp2 = &D_8009A640; UnkAl6CC** temp2_1; UnkAlA9C** temp3; UnkAl48* temp5; - - + u8 temp6[4]; + u8* temp7; alHeap = D_80078E54->unk_18; *temp_s4 = alHeapAlloc(alHeap, 1, 0x19E0); @@ -185,7 +186,7 @@ void func_80052E5C(s32 arg0) { } temp5 = temp4->unk_1320; - for (i = 0; i < 24; i++) { + for (i = 0; i < 24u; i++) { func_80056EC0(i, 0); func_80057224(i, temp4->unk_04); temp5[i].unk_00 = 0; @@ -208,16 +209,26 @@ void func_80052E5C(s32 arg0) { temp2_1 = &D_8009A640; temp3 = &D_8009A5FC; - func_8004E158((*temp1), 1, 0, temp4); - func_8004E344((*temp1), &subroutine_arg8, 0, 3, 0xFF, 0xFF); + temp1_1 = &D_8009A664; + func_8004E158((*temp1_1), 1, 0, temp4); + temp6[0] = 0; + temp6[1] = 3; + temp6[2] = 0xff; + temp6[3] = 0xff; + temp7 = &temp6[0]; + func_8004E344((*temp1_1), temp7); func_8004E158((*temp3), 2, 2, temp4); - func_8004E344((*temp3), &subroutine_arg8, 2, 0xFF, 0xFF, 0xFF); + temp6[0] = 2; + temp6[1] = 0xff; + temp6[2] = 0xff; + temp6[3] = 0xff; + func_8004E344((*temp3), temp7); func_8004B440((*temp2_1), 4, 1, temp4, 0x10); func_80050B90(D_8009A628, 6, 1, temp4); func_80052614(temp4); al_LoadBKHeaders(temp4, alHeap); if (al_CopyFileTableEntry(temp4->unk_3C->unk_0, 0x20, &subroutine_arg6) == 0) { - al_DmaCopy(subroutine_arg6, temp4->unk_A0, *subroutine_arg7 & 0xFFFFFF); + al_DmaCopy(&subroutine_arg6, temp4->unk_A0, (s32)(&subroutine_arg7) & 0xFFFFFF); } func_8004B62C((*temp2_1)); if (al_CopyFileTableEntry(temp4->unk_3C->unk_2, 0x40, &subroutine_arg6) == 0) { From 82ddf865e6bed37f22f124f161ee58f35458e0ef Mon Sep 17 00:00:00 2001 From: dark-samus Date: Mon, 30 Nov 2020 17:09:13 -0500 Subject: [PATCH 06/97] :moneybag: --- src/code_2e230_len_2190.c | 70 ++++++++++++++++++++------------------- 1 file changed, 36 insertions(+), 34 deletions(-) diff --git a/src/code_2e230_len_2190.c b/src/code_2e230_len_2190.c index 21744d2628..e22708abda 100644 --- a/src/code_2e230_len_2190.c +++ b/src/code_2e230_len_2190.c @@ -21,9 +21,9 @@ typedef struct UnkAl48 { /* 0x00 */ s32 unk_00; /* 0x04 */ s32 unk_04; /* 0x08 */ char unk_08[4]; - /* 0x0C */ u16 unk_0C; - /* 0x0E */ s8 unk_0E; - /* 0x0F */ s8 unk_0F; + /* 0x0C */ s16 unk_0C; + /* 0x0E */ u8 unk_0E; + /* 0x0F */ u8 unk_0F; /* 0x10 */ s8 unk_10; /* 0x11 */ char unk_11[0x31]; /* 0x42 */ s8 unk_42; @@ -34,9 +34,9 @@ typedef struct UnkAl48 { } UnkAl48; // size = 0x48 typedef struct UnkAl19E0Sub { - /* 0x0 */ s16 unk_0; - /* 0x2 */ s16 unk_2; - /* 0x4 */ s16 unk_4; + /* 0x0 */ u16 unk_0; + /* 0x2 */ u16 unk_2; + /* 0x4 */ u16 unk_4; } UnkAl19E0Sub; typedef struct UnkAl19E0 { @@ -90,8 +90,8 @@ typedef struct UnkAl19E0 { /* 0x1304 */ s32* unk_1304; /* 0x1308 */ s32* unk_1308; /* 0x130C */ char unk_130C[0x4]; - /* 0x1310 */ s32** unk_1310; - /* 0x1314 */ char unk_1314[0xC]; + /* 0x1310 */ s32* unk_1310[3]; + /* 0x131C */ char unk_131C[4]; /* 0x1320 */ UnkAl48 unk_1320[24]; } UnkAl19E0; // size = 0x19E0 @@ -114,7 +114,7 @@ void func_800532F4(s32); void func_80053370(s32); void func_800533A8(alUnk2*); void al_LoadINIT(UnkAl19E0*, s32, ALHeap*); -s32 al_CopyFileTableEntry(s16 arg0, s32 arg1, s32* arg2); +s32 al_CopyFileTableEntry(u16 arg0, s32 arg1, s32* arg2); void al_LoadPER(UnkAl19E0*, s32*); void al_LoadPRG(UnkAl19E0*, s32*); void al_DmaCopy(s32*, s32*, s32); @@ -138,6 +138,8 @@ void func_80052E5C(s32 arg0) { UnkAl48* temp5; u8 temp6[4]; u8* temp7; + s32** temp8; + alHeap = D_80078E54->unk_18; *temp_s4 = alHeapAlloc(alHeap, 1, 0x19E0); @@ -185,20 +187,20 @@ void func_80052E5C(s32 arg0) { temp4->unk_40[i * 4 + 1] = 0; } - temp5 = temp4->unk_1320; - for (i = 0; i < 24u; i++) { - func_80056EC0(i, 0); - func_80057224(i, temp4->unk_04); - temp5[i].unk_00 = 0; - temp5[i].unk_04 = 0; - temp5[i].unk_0C = -1; - temp5[i].unk_0E = 0xFF; - temp5[i].unk_0F = 0xFF; - temp5[i].unk_10 = 0; - temp5[i].unk_42 = 0; - temp5[i].unk_43 = 0; - temp5[i].unk_44 = 0; - temp5[i].unk_45 = 0; + for (i = 0; i < 24; i++) { + func_80056EC0((u8)i, 0); + func_80057224((u8)i, temp4->unk_04); + temp5 = &temp4->unk_1320[i]; + temp5->unk_00 = 0; + temp5->unk_04 = 0; + temp5->unk_0C = -1; + temp5->unk_0E = 0xFF; + temp5->unk_0F = 0xFF; + temp5->unk_10 = 0; + temp5->unk_42 = 0; + temp5->unk_43 = 0; + temp5->unk_44 = 0; + temp5->unk_45 = 0; } al_LoadINIT(temp4, 0xF00000, alHeap); @@ -227,8 +229,8 @@ void func_80052E5C(s32 arg0) { func_80050B90(D_8009A628, 6, 1, temp4); func_80052614(temp4); al_LoadBKHeaders(temp4, alHeap); - if (al_CopyFileTableEntry(temp4->unk_3C->unk_0, 0x20, &subroutine_arg6) == 0) { - al_DmaCopy(&subroutine_arg6, temp4->unk_A0, (s32)(&subroutine_arg7) & 0xFFFFFF); + if (al_CopyFileTableEntry(temp4->unk_3C->unk_0, 0x20, &subroutine_arg7) == 0) { + al_DmaCopy(&subroutine_arg6, temp4->unk_A0, ((s32)&subroutine_arg8 & 0xFFFFFF)); } func_8004B62C((*temp2_1)); if (al_CopyFileTableEntry(temp4->unk_3C->unk_2, 0x40, &subroutine_arg6) == 0) { @@ -238,14 +240,14 @@ void func_80052E5C(s32 arg0) { al_LoadPRG(temp4, subroutine_arg6); } - temp4->unk_12F0 = temp4->unk_5EC; - temp4->unk_12F4 = temp4->unk_AC; - temp4->unk_12F8 = temp4->unk_EC; - temp4->unk_12FC = temp4->unk_9EC; - temp4->unk_1300 = temp4->unk_DEC; - temp4->unk_12EC = temp4->unk_4EC; - temp4->unk_1304 = temp4->unk_11EC; - temp4->unk_1308 = temp4->unk_4EC; + temp4->unk_12EC = &temp4->unk_4EC; + temp4->unk_12F0 = &temp4->unk_5EC; + temp4->unk_12F4 = &temp4->unk_AC; + temp4->unk_12F8 = &temp4->unk_EC; + temp4->unk_12FC = &temp4->unk_9EC; + temp4->unk_1300 = &temp4->unk_DEC; + temp4->unk_1304 = &temp4->unk_11EC; + temp4->unk_1308 = &temp4->unk_4EC; temp4->unk_53 = 0; temp4->unk_52 = 0; temp4->unk_51 = 0; @@ -335,7 +337,7 @@ INCLUDE_ASM(s32, "code_2e230_len_2190", func_80054248); INCLUDE_ASM(void, "code_2e230_len_2190", al_LoadINIT, UnkAl19E0* arg0, s32 arg1, ALHeap* arg2); -INCLUDE_ASM(s32, "code_2e230_len_2190", al_CopyFileTableEntry, s16 arg0, s32 arg1, s32* arg2); +INCLUDE_ASM(s32, "code_2e230_len_2190", al_CopyFileTableEntry, u16 arg0, s32 arg1, s32* arg2); INCLUDE_ASM(void, "code_2e230_len_2190", al_LoadPER, UnkAl19E0* arg0, s32* arg1); From 2b3fd28b5485cb19b69b0e419cc7f023afe17f86 Mon Sep 17 00:00:00 2001 From: dark-samus Date: Mon, 30 Nov 2020 17:15:33 -0500 Subject: [PATCH 07/97] :money_mouth: --- src/code_2e230_len_2190.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/code_2e230_len_2190.c b/src/code_2e230_len_2190.c index e22708abda..25990789e9 100644 --- a/src/code_2e230_len_2190.c +++ b/src/code_2e230_len_2190.c @@ -161,7 +161,7 @@ void func_80052E5C(s32 arg0) { temp4->unk_68 = &temp_v0_2[0x1400]; for (i = 0; i < 1; i++) { - (*temp_s4)->unk_6C = alHeapAlloc(alHeap, 1, 0xA9C); + temp4->unk_6C = alHeapAlloc(alHeap, 1, 0xA9C); } temp4->unk_A0 = alHeapAlloc(alHeap, 1, 0x5200); From 1a3c834629db562f23e01dfaea739fa71f29e07a Mon Sep 17 00:00:00 2001 From: Ethan Roseman Date: Mon, 30 Nov 2020 17:25:34 -0500 Subject: [PATCH 08/97] update --- src/code_2e230_len_2190.c | 197 ++++++++++++++++++++++---------------- 1 file changed, 114 insertions(+), 83 deletions(-) diff --git a/src/code_2e230_len_2190.c b/src/code_2e230_len_2190.c index c711636896..d525c8367a 100644 --- a/src/code_2e230_len_2190.c +++ b/src/code_2e230_len_2190.c @@ -21,9 +21,9 @@ typedef struct UnkAl48 { /* 0x00 */ s32 unk_00; /* 0x04 */ s32 unk_04; /* 0x08 */ char unk_08[4]; - /* 0x0C */ u16 unk_0C; - /* 0x0E */ s8 unk_0E; - /* 0x0F */ s8 unk_0F; + /* 0x0C */ s16 unk_0C; + /* 0x0E */ u8 unk_0E; + /* 0x0F */ u8 unk_0F; /* 0x10 */ s8 unk_10; /* 0x11 */ char unk_11[0x31]; /* 0x42 */ s8 unk_42; @@ -34,11 +34,17 @@ typedef struct UnkAl48 { } UnkAl48; // size = 0x48 typedef struct UnkAl19E0Sub { - /* 0x0 */ s16 unk_0; - /* 0x2 */ s16 unk_2; - /* 0x4 */ s16 unk_4; + /* 0x0 */ u16 unk_0; + /* 0x2 */ u16 unk_2; + /* 0x4 */ u16 unk_4; } UnkAl19E0Sub; +typedef struct UnkAl19E0Sub2 { + /* 0x0 */ u8 unk_00; + /* 0x1 */ u8 unk_01; + /* 0x2 */ char unk_02[2]; +} UnkAl19E0Sub2; + typedef struct UnkAl19E0 { /* 0x0000 */ f32 unk_00; /* 0x0004 */ s32* unk_04; @@ -47,7 +53,7 @@ typedef struct UnkAl19E0 { /* 0x0014 */ alUnk2* unk_14; /* 0x0018 */ char unk_18[0x24]; /* 0x003C */ UnkAl19E0Sub* unk_3C; - /* 0x0040 */ s8 unk_40[16]; + /* 0x0040 */ UnkAl19E0Sub2 unk_40[4]; /* 0x0050 */ s8 unk_50; /* 0x0051 */ s8 unk_51; /* 0x0052 */ s8 unk_52; @@ -90,8 +96,8 @@ typedef struct UnkAl19E0 { /* 0x1304 */ s32* unk_1304; /* 0x1308 */ s32* unk_1308; /* 0x130C */ char unk_130C[0x4]; - /* 0x1310 */ s32** unk_1310; - /* 0x1314 */ char unk_1314[0xC]; + /* 0x1310 */ s32* unk_1310[3]; + /* 0x131C */ char unk_131C[4]; /* 0x1320 */ UnkAl48 unk_1320[24]; } UnkAl19E0; // size = 0x19E0 @@ -114,123 +120,148 @@ void func_800532F4(s32); void func_80053370(s32); void func_800533A8(alUnk2*); void al_LoadINIT(UnkAl19E0*, s32, ALHeap*); -s32 al_CopyFileTableEntry(s16 arg0, s32 arg1, s32* arg2); +s32 al_CopyFileTableEntry(u16 arg0, s32 arg1, s32* arg2); void al_LoadPER(UnkAl19E0*, s32*); void al_LoadPRG(UnkAl19E0*, s32*); void al_DmaCopy(s32*, s32*, s32); s32* alHeapAlloc(ALHeap*, s32, s32); -INCLUDE_ASM(s32, "code_2e230_len_2190", func_80052E5C); -/*void func_80052E5C(s32 arg0) { - UnkAl19E0* temp_s4; +//INCLUDE_ASM(s32, "code_2e230_len_2190", func_80052E5C); +void func_80052E5C(s32 arg0) { + UnkAl19E0** temp_s4 = &D_8009A5C0; + UnkAl19E0* temp4; s32* temp_v0_2; ALHeap* alHeap; - s32 i; + u32 i; s32* subroutine_arg6; s32* subroutine_arg7; s32* subroutine_arg8; + UnkAlA9C** temp1 = &D_8009A664; + UnkAlA9C** temp1_1; + UnkAl6CC** temp2 = &D_8009A640; + UnkAl6CC** temp2_1; + UnkAlA9C** temp3; + UnkAl48* temp5; + u8 temp6[4]; + u8* temp7; + s32** temp8; + alHeap = D_80078E54->unk_18; - D_8009A5C0 = alHeapAlloc(alHeap, 1, 0x19E0); - temp_s4 = D_8009A5C0; + *temp_s4 = alHeapAlloc(alHeap, 1, 0x19E0); - D_8009A664 = alHeapAlloc(alHeap, 1, 0xA9C); + (*temp1) = alHeapAlloc(alHeap, 1, 0xA9C); D_8009A5FC = alHeapAlloc(alHeap, 1, 0xA9C); D_8009A5CC = alHeapAlloc(alHeap, 1, 0xA9C); - D_8009A640 = alHeapAlloc(alHeap, 1, 0x6CC); + (*temp2) = alHeapAlloc(alHeap, 1, 0x6CC); D_8009A628 = alHeapAlloc(alHeap, 1, 0x834); - D_8009A628->unk_00 = D_8009A5C0; - D_8009A664->unk_04 = D_8009A640; + D_8009A628->unk_00 = *(temp_s4); + (*temp1)->unk_04 = (*temp2); + temp_v0_2 = alHeapAlloc(alHeap, 1, 0x8000); - temp_s4->unk_5C = temp_v0_2[0]; - temp_s4->unk_60 = temp_v0_2[0x1400]; - temp_s4->unk_64 = temp_v0_2[0x1C00]; - temp_s4->unk_68 = temp_v0_2[0x1400]; + temp4 = *temp_s4; + temp4->unk_5C = &temp_v0_2[0]; + temp4->unk_60 = &temp_v0_2[0x1400]; + temp4->unk_64 = &temp_v0_2[0x1C00]; + temp4->unk_68 = &temp_v0_2[0x1400]; for (i = 0; i < 1; i++) { - temp_s4->unk_6C = alHeapAlloc(alHeap, 1, 0xA9C); + temp4->unk_6C = alHeapAlloc(alHeap, 1, 0xA9C); } - temp_s4->unk_A0 = alHeapAlloc(alHeap, 1, 0x5200); - temp_s4->unk_04 = alHeapAlloc(alHeap, 1, 0x30); - temp_s4->unk_54 = alHeapAlloc(alHeap, 1, 0x360); - temp_s4->unk_58 = alHeapAlloc(alHeap, 1, 0x200); - temp_s4->unk_94 = alHeapAlloc(alHeap, 1, 0x40); - temp_s4->unk_00 = arg0; - func_800532F4(temp_s4->unk_04); - func_80053370(temp_s4->unk_08); - func_800533A8(temp_s4->unk_14); + temp4->unk_A0 = alHeapAlloc(alHeap, 1, 0x5200); + temp4->unk_04 = alHeapAlloc(alHeap, 1, 0x30); + temp4->unk_54 = alHeapAlloc(alHeap, 1, 0x360); + temp4->unk_58 = alHeapAlloc(alHeap, 1, 0x200); + temp4->unk_94 = alHeapAlloc(alHeap, 1, 0x40); + temp4->unk_00 = arg0; + func_800532F4(temp4->unk_04); + func_80053370(temp4->unk_08); + func_800533A8(temp4->unk_14); func_8005610C(); - temp_s4->unk_A4 = 0; - temp_s4->unk_A8 = 0; + temp4->unk_A4 = 0; + temp4->unk_A8 = 0; for (i = 0; i < 1; i++) { - temp_s4->unk_70 = 0; - temp_s4->unk_71 = 0; + temp4->unk_70 = 0; + temp4->unk_71 = 0; } for (i = 0; i < 4; i++) { - temp_s4->unk_40[i * 4 + 0] = 0; - temp_s4->unk_40[i * 4 + 1] = 0; + temp4->unk_40[i].unk_00 = 0; + temp4->unk_40[i].unk_01 = 0; } for (i = 0; i < 24; i++) { - func_80056EC0(i, 0); - func_80057224(i, temp_s4->unk_04); - temp_s4->unk_1320[i].unk_00 = 0; - temp_s4->unk_1320[i].unk_04 = 0; - temp_s4->unk_1320[i].unk_0C = -1; - temp_s4->unk_1320[i].unk_0E = 0xFF; - temp_s4->unk_1320[i].unk_0F = 0xFF; - temp_s4->unk_1320[i].unk_10 = 0; - temp_s4->unk_1320[i].unk_42 = 0; - temp_s4->unk_1320[i].unk_43 = 0; - temp_s4->unk_1320[i].unk_44 = 0; - temp_s4->unk_1320[i].unk_45 = 0; + func_80056EC0((u8)i, 0); + func_80057224((u8)i, temp4->unk_04); + temp5 = &temp4->unk_1320[i]; + temp5->unk_00 = 0; + temp5->unk_04 = 0; + temp5->unk_0C = -1; + temp5->unk_0E = 0xFF; + temp5->unk_0F = 0xFF; + temp5->unk_10 = 0; + temp5->unk_42 = 0; + temp5->unk_43 = 0; + temp5->unk_44 = 0; + temp5->unk_45 = 0; } - al_LoadINIT(temp_s4, 0xF00000, alHeap); + al_LoadINIT(temp4, 0xF00000, alHeap); for (i = 0; i < 3; i++) { - temp_s4->unk_1310[i] = alHeapAlloc(alHeap, 1, 0x840); + temp4->unk_1310[i] = alHeapAlloc(alHeap, 1, 0x840); } - func_8004E158(D_8009A664, 1, 0, temp_s4); - func_8004E344(D_8009A664, &subroutine_arg8, 0, 3, 0xFF, 0xFF); - func_8004E158(D_8009A5FC, 2, 2, temp_s4); - func_8004E344(D_8009A5FC, &subroutine_arg8, 2, 0xFF, 0xFF, 0xFF); - func_8004B440(D_8009A640, 4, 1, temp_s4, 0x10); - func_80050B90(D_8009A628, 6, 1, temp_s4); - func_80052614(temp_s4); - al_LoadBKHeaders(temp_s4, alHeap); - if (al_CopyFileTableEntry(temp_s4->unk_3C->unk_0, 0x20, &subroutine_arg6) == 0) { - al_DmaCopy(subroutine_arg6, temp_s4->unk_A0, *subroutine_arg7 & 0xFFFFFF); + temp2_1 = &D_8009A640; + temp3 = &D_8009A5FC; + temp1_1 = &D_8009A664; + func_8004E158((*temp1_1), 1, 0, temp4); + temp6[0] = 0; + temp6[1] = 3; + temp6[2] = 0xff; + temp6[3] = 0xff; + temp7 = &temp6[0]; + func_8004E344((*temp1_1), temp7); + func_8004E158((*temp3), 2, 2, temp4); + temp6[0] = 2; + temp6[1] = 0xff; + temp6[2] = 0xff; + temp6[3] = 0xff; + func_8004E344((*temp3), temp7); + func_8004B440((*temp2_1), 4, 1, temp4, 0x10); + func_80050B90(D_8009A628, 6, 1, temp4); + func_80052614(temp4); + al_LoadBKHeaders(temp4, alHeap); + if (al_CopyFileTableEntry(temp4->unk_3C->unk_0, 0x20, &subroutine_arg7) == 0) { + al_DmaCopy(&subroutine_arg6, temp4->unk_A0, ((s32)&subroutine_arg8 & 0xFFFFFF)); } - func_8004B62C(D_8009A640); - if (al_CopyFileTableEntry(temp_s4->unk_3C->unk_2, 0x40, &subroutine_arg6) == 0) { - al_LoadPER(temp_s4, subroutine_arg6); + func_8004B62C((*temp2_1)); + if (al_CopyFileTableEntry(temp4->unk_3C->unk_2, 0x40, &subroutine_arg6) == 0) { + al_LoadPER(temp4, subroutine_arg6); } - if (al_CopyFileTableEntry(temp_s4->unk_3C->unk_4, 0x40, &subroutine_arg6) == 0) { - al_LoadPRG(temp_s4, subroutine_arg6); + if (al_CopyFileTableEntry(temp4->unk_3C->unk_4, 0x40, &subroutine_arg6) == 0) { + al_LoadPRG(temp4, subroutine_arg6); } - temp_s4->unk_12F0 = temp_s4->unk_5EC; - temp_s4->unk_12F4 = temp_s4->unk_AC; - temp_s4->unk_12F8 = temp_s4->unk_EC; - temp_s4->unk_12FC = temp_s4->unk_9EC; - temp_s4->unk_1300 = temp_s4->unk_DEC; - temp_s4->unk_12EC = temp_s4->unk_4EC; - temp_s4->unk_1304 = temp_s4->unk_11EC; - temp_s4->unk_1308 = temp_s4->unk_4EC; - temp_s4->unk_53 = 0; - temp_s4->unk_52 = 0; - temp_s4->unk_51 = 0; - temp_s4->unk_50 = 0; + temp4->unk_12EC = &temp4->unk_4EC; + temp4->unk_12F0 = &temp4->unk_5EC; + temp4->unk_12F4 = &temp4->unk_AC; + temp4->unk_12F8 = &temp4->unk_EC; + temp4->unk_12FC = &temp4->unk_9EC; + temp4->unk_1300 = &temp4->unk_DEC; + temp4->unk_1304 = &temp4->unk_11EC; + temp4->unk_1308 = &temp4->unk_4EC; + temp4->unk_53 = 0; + temp4->unk_52 = 0; + temp4->unk_51 = 0; + temp4->unk_50 = 0; func_80057ED0(0); func_80055050(alHeap); -}*/ +} INCLUDE_ASM(void, "code_2e230_len_2190", func_800532F4, s32 arg0); @@ -312,7 +343,7 @@ INCLUDE_ASM(s32, "code_2e230_len_2190", func_80054248); INCLUDE_ASM(void, "code_2e230_len_2190", al_LoadINIT, UnkAl19E0* arg0, s32 arg1, ALHeap* arg2); -INCLUDE_ASM(s32, "code_2e230_len_2190", al_CopyFileTableEntry, s16 arg0, s32 arg1, s32* arg2); +INCLUDE_ASM(s32, "code_2e230_len_2190", al_CopyFileTableEntry, u16 arg0, s32 arg1, s32* arg2); INCLUDE_ASM(void, "code_2e230_len_2190", al_LoadPER, UnkAl19E0* arg0, s32* arg1); From 2063667c5607b1e70397c1fdd56dce7581cab4e5 Mon Sep 17 00:00:00 2001 From: dark-samus Date: Mon, 30 Nov 2020 17:30:20 -0500 Subject: [PATCH 09/97] more --- src/code_2e230_len_2190.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/code_2e230_len_2190.c b/src/code_2e230_len_2190.c index 25990789e9..0ada006dcd 100644 --- a/src/code_2e230_len_2190.c +++ b/src/code_2e230_len_2190.c @@ -153,8 +153,8 @@ void func_80052E5C(s32 arg0) { (*temp1)->unk_04 = (*temp2); - temp_v0_2 = alHeapAlloc(alHeap, 1, 0x8000); temp4 = *temp_s4; + temp_v0_2 = alHeapAlloc(alHeap, 1, 0x8000); temp4->unk_5C = &temp_v0_2[0]; temp4->unk_60 = &temp_v0_2[0x1400]; temp4->unk_64 = &temp_v0_2[0x1C00]; @@ -171,8 +171,8 @@ void func_80052E5C(s32 arg0) { temp4->unk_94 = alHeapAlloc(alHeap, 1, 0x40); temp4->unk_00 = arg0; func_800532F4(temp4->unk_04); - func_80053370(temp4->unk_08); - func_800533A8(temp4->unk_14); + func_80053370(&temp4->unk_08); + func_800533A8(&temp4->unk_14); func_8005610C(); temp4->unk_A4 = 0; temp4->unk_A8 = 0; From 6215af5d655e8feac3a4e0c5ebf44eaf85819fe3 Mon Sep 17 00:00:00 2001 From: dark-samus Date: Mon, 30 Nov 2020 18:02:34 -0500 Subject: [PATCH 10/97] :OK: --- src/code_2e230_len_2190.c | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/src/code_2e230_len_2190.c b/src/code_2e230_len_2190.c index c575eb88a2..a8f08de558 100644 --- a/src/code_2e230_len_2190.c +++ b/src/code_2e230_len_2190.c @@ -137,16 +137,16 @@ void func_80052E5C(s32 arg0) { s32* temp_v0_2; ALHeap* alHeap; u32 i; - s32* subroutine_arg6; - s32* subroutine_arg7; - s32* subroutine_arg8; + s32 subroutine_arg6[1]; + s32 subroutine_arg7[2]; + s32 subroutine_arg8[1]; + u8 temp6[4]; UnkAlA9C** temp1 = &D_8009A664; UnkAlA9C** temp1_1; UnkAl6CC** temp2 = &D_8009A640; UnkAl6CC** temp2_1; UnkAlA9C** temp3; UnkAl48* temp5; - u8 temp6[4]; u8* temp7; s32** temp8; @@ -239,14 +239,14 @@ void func_80052E5C(s32 arg0) { func_80052614(temp4); al_LoadBKHeaders(temp4, alHeap); if (al_CopyFileTableEntry(temp4->unk_3C->unk_0, 0x20, &subroutine_arg7) == 0) { - al_DmaCopy(&subroutine_arg6, temp4->unk_A0, ((s32)&subroutine_arg8 & 0xFFFFFF)); + al_DmaCopy(subroutine_arg7[0], temp4->unk_A0, subroutine_arg7[1] & 0xFFFFFF); } func_8004B62C((*temp2_1)); - if (al_CopyFileTableEntry(temp4->unk_3C->unk_2, 0x40, &subroutine_arg6) == 0) { - al_LoadPER(temp4, subroutine_arg6); + if (al_CopyFileTableEntry(temp4->unk_3C->unk_2, 0x40, subroutine_arg7) == 0) { + al_LoadPER(temp4, subroutine_arg7[0]); } - if (al_CopyFileTableEntry(temp4->unk_3C->unk_4, 0x40, &subroutine_arg6) == 0) { - al_LoadPRG(temp4, subroutine_arg6); + if (al_CopyFileTableEntry(temp4->unk_3C->unk_4, 0x40, &subroutine_arg7) == 0) { + al_LoadPRG(temp4, subroutine_arg7[0]); } temp4->unk_12EC = &temp4->unk_4EC; From 769011375918b6081142bbe33bbe1cbbde4df4a8 Mon Sep 17 00:00:00 2001 From: dark-samus Date: Mon, 30 Nov 2020 18:07:35 -0500 Subject: [PATCH 11/97] small cleanup --- src/code_2e230_len_2190.c | 2 -- 1 file changed, 2 deletions(-) diff --git a/src/code_2e230_len_2190.c b/src/code_2e230_len_2190.c index a8f08de558..dcb7ad6202 100644 --- a/src/code_2e230_len_2190.c +++ b/src/code_2e230_len_2190.c @@ -137,9 +137,7 @@ void func_80052E5C(s32 arg0) { s32* temp_v0_2; ALHeap* alHeap; u32 i; - s32 subroutine_arg6[1]; s32 subroutine_arg7[2]; - s32 subroutine_arg8[1]; u8 temp6[4]; UnkAlA9C** temp1 = &D_8009A664; UnkAlA9C** temp1_1; From f6dac4d2ba796616e46ab5103aaca8f590a5c368 Mon Sep 17 00:00:00 2001 From: Ethan Roseman Date: Mon, 30 Nov 2020 19:44:53 -0500 Subject: [PATCH 12/97] more audio --- .../code_2e230_len_2190/func_80052E5C.s | 306 ------------------ .../code_2e230_len_2190/func_800532F4.s | 35 -- .../code_2e230_len_2190/func_80053370.s | 18 -- src/audio.h | 225 +++++++++++++ src/code_28910_len_5090.c | 2 +- src/code_28910_len_5090.h | 22 -- src/code_2e230_len_2190.c | 173 +++------- src/code_2e230_len_2190.h | 39 --- 8 files changed, 265 insertions(+), 555 deletions(-) delete mode 100644 asm/nonmatchings/code_2e230_len_2190/func_80052E5C.s delete mode 100644 asm/nonmatchings/code_2e230_len_2190/func_800532F4.s delete mode 100644 asm/nonmatchings/code_2e230_len_2190/func_80053370.s create mode 100644 src/audio.h delete mode 100644 src/code_28910_len_5090.h delete mode 100644 src/code_2e230_len_2190.h diff --git a/asm/nonmatchings/code_2e230_len_2190/func_80052E5C.s b/asm/nonmatchings/code_2e230_len_2190/func_80052E5C.s deleted file mode 100644 index 2e92f2c27c..0000000000 --- a/asm/nonmatchings/code_2e230_len_2190/func_80052E5C.s +++ /dev/null @@ -1,306 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel func_80052E5C -/* 2E25C 80052E5C 27BDFFB8 */ addiu $sp, $sp, -0x48 -/* 2E260 80052E60 AFB60040 */ sw $s6, 0x40($sp) -/* 2E264 80052E64 0080B02D */ daddu $s6, $a0, $zero -/* 2E268 80052E68 24050001 */ addiu $a1, $zero, 1 -/* 2E26C 80052E6C 3C028008 */ lui $v0, %hi(D_80078E54) -/* 2E270 80052E70 8C428E54 */ lw $v0, %lo(D_80078E54)($v0) -/* 2E274 80052E74 240619E0 */ addiu $a2, $zero, 0x19e0 -/* 2E278 80052E78 AFBF0044 */ sw $ra, 0x44($sp) -/* 2E27C 80052E7C AFB5003C */ sw $s5, 0x3c($sp) -/* 2E280 80052E80 AFB40038 */ sw $s4, 0x38($sp) -/* 2E284 80052E84 AFB30034 */ sw $s3, 0x34($sp) -/* 2E288 80052E88 AFB20030 */ sw $s2, 0x30($sp) -/* 2E28C 80052E8C AFB1002C */ sw $s1, 0x2c($sp) -/* 2E290 80052E90 AFB00028 */ sw $s0, 0x28($sp) -/* 2E294 80052E94 8C550018 */ lw $s5, 0x18($v0) -/* 2E298 80052E98 0000982D */ daddu $s3, $zero, $zero -/* 2E29C 80052E9C 0C015FE4 */ jal alHeapAlloc -/* 2E2A0 80052EA0 02A0202D */ daddu $a0, $s5, $zero -/* 2E2A4 80052EA4 02A0202D */ daddu $a0, $s5, $zero -/* 2E2A8 80052EA8 24050001 */ addiu $a1, $zero, 1 -/* 2E2AC 80052EAC 24060A9C */ addiu $a2, $zero, 0xa9c -/* 2E2B0 80052EB0 3C12800A */ lui $s2, %hi(D_8009A5C0) -/* 2E2B4 80052EB4 2652A5C0 */ addiu $s2, $s2, %lo(D_8009A5C0) -/* 2E2B8 80052EB8 0C015FE4 */ jal alHeapAlloc -/* 2E2BC 80052EBC AE420000 */ sw $v0, ($s2) -/* 2E2C0 80052EC0 02A0202D */ daddu $a0, $s5, $zero -/* 2E2C4 80052EC4 24050001 */ addiu $a1, $zero, 1 -/* 2E2C8 80052EC8 24060A9C */ addiu $a2, $zero, 0xa9c -/* 2E2CC 80052ECC 3C11800A */ lui $s1, %hi(D_8009A664) -/* 2E2D0 80052ED0 2631A664 */ addiu $s1, $s1, %lo(D_8009A664) -/* 2E2D4 80052ED4 0C015FE4 */ jal alHeapAlloc -/* 2E2D8 80052ED8 AE220000 */ sw $v0, ($s1) -/* 2E2DC 80052EDC 02A0202D */ daddu $a0, $s5, $zero -/* 2E2E0 80052EE0 24050001 */ addiu $a1, $zero, 1 -/* 2E2E4 80052EE4 3C01800A */ lui $at, %hi(D_8009A5FC) -/* 2E2E8 80052EE8 AC22A5FC */ sw $v0, %lo(D_8009A5FC)($at) -/* 2E2EC 80052EEC 0C015FE4 */ jal alHeapAlloc -/* 2E2F0 80052EF0 24060A9C */ addiu $a2, $zero, 0xa9c -/* 2E2F4 80052EF4 02A0202D */ daddu $a0, $s5, $zero -/* 2E2F8 80052EF8 24050001 */ addiu $a1, $zero, 1 -/* 2E2FC 80052EFC 3C01800A */ lui $at, %hi(D_8009A5CC) -/* 2E300 80052F00 AC22A5CC */ sw $v0, %lo(D_8009A5CC)($at) -/* 2E304 80052F04 0C015FE4 */ jal alHeapAlloc -/* 2E308 80052F08 240606CC */ addiu $a2, $zero, 0x6cc -/* 2E30C 80052F0C 02A0202D */ daddu $a0, $s5, $zero -/* 2E310 80052F10 24050001 */ addiu $a1, $zero, 1 -/* 2E314 80052F14 24060834 */ addiu $a2, $zero, 0x834 -/* 2E318 80052F18 3C10800A */ lui $s0, %hi(D_8009A640) -/* 2E31C 80052F1C 2610A640 */ addiu $s0, $s0, %lo(D_8009A640) -/* 2E320 80052F20 0C015FE4 */ jal alHeapAlloc -/* 2E324 80052F24 AE020000 */ sw $v0, ($s0) -/* 2E328 80052F28 02A0202D */ daddu $a0, $s5, $zero -/* 2E32C 80052F2C 24050001 */ addiu $a1, $zero, 1 -/* 2E330 80052F30 8E280000 */ lw $t0, ($s1) -/* 2E334 80052F34 8E070000 */ lw $a3, ($s0) -/* 2E338 80052F38 8E430000 */ lw $v1, ($s2) -/* 2E33C 80052F3C 34068000 */ ori $a2, $zero, 0x8000 -/* 2E340 80052F40 3C01800A */ lui $at, %hi(D_8009A628) -/* 2E344 80052F44 AC22A628 */ sw $v0, %lo(D_8009A628)($at) -/* 2E348 80052F48 0060A02D */ daddu $s4, $v1, $zero -/* 2E34C 80052F4C AD070004 */ sw $a3, 4($t0) -/* 2E350 80052F50 0C015FE4 */ jal alHeapAlloc -/* 2E354 80052F54 AC430000 */ sw $v1, ($v0) -/* 2E358 80052F58 0280802D */ daddu $s0, $s4, $zero -/* 2E35C 80052F5C 24435000 */ addiu $v1, $v0, 0x5000 -/* 2E360 80052F60 AE82005C */ sw $v0, 0x5c($s4) -/* 2E364 80052F64 24427000 */ addiu $v0, $v0, 0x7000 -/* 2E368 80052F68 AE830060 */ sw $v1, 0x60($s4) -/* 2E36C 80052F6C AE820064 */ sw $v0, 0x64($s4) -/* 2E370 80052F70 AE830068 */ sw $v1, 0x68($s4) -.L80052F74: -/* 2E374 80052F74 02A0202D */ daddu $a0, $s5, $zero -/* 2E378 80052F78 24050001 */ addiu $a1, $zero, 1 -/* 2E37C 80052F7C 0C015FE4 */ jal alHeapAlloc -/* 2E380 80052F80 24060A9C */ addiu $a2, $zero, 0xa9c -/* 2E384 80052F84 AE02006C */ sw $v0, 0x6c($s0) -/* 2E388 80052F88 26730001 */ addiu $s3, $s3, 1 -/* 2E38C 80052F8C 1260FFF9 */ beqz $s3, .L80052F74 -/* 2E390 80052F90 26100008 */ addiu $s0, $s0, 8 -/* 2E394 80052F94 02A0202D */ daddu $a0, $s5, $zero -/* 2E398 80052F98 24050001 */ addiu $a1, $zero, 1 -/* 2E39C 80052F9C 0C015FE4 */ jal alHeapAlloc -/* 2E3A0 80052FA0 24065200 */ addiu $a2, $zero, 0x5200 -/* 2E3A4 80052FA4 02A0202D */ daddu $a0, $s5, $zero -/* 2E3A8 80052FA8 24050001 */ addiu $a1, $zero, 1 -/* 2E3AC 80052FAC 24060030 */ addiu $a2, $zero, 0x30 -/* 2E3B0 80052FB0 0C015FE4 */ jal alHeapAlloc -/* 2E3B4 80052FB4 AE8200A0 */ sw $v0, 0xa0($s4) -/* 2E3B8 80052FB8 02A0202D */ daddu $a0, $s5, $zero -/* 2E3BC 80052FBC 24050001 */ addiu $a1, $zero, 1 -/* 2E3C0 80052FC0 24060360 */ addiu $a2, $zero, 0x360 -/* 2E3C4 80052FC4 0C015FE4 */ jal alHeapAlloc -/* 2E3C8 80052FC8 AE820004 */ sw $v0, 4($s4) -/* 2E3CC 80052FCC 02A0202D */ daddu $a0, $s5, $zero -/* 2E3D0 80052FD0 24050001 */ addiu $a1, $zero, 1 -/* 2E3D4 80052FD4 24060200 */ addiu $a2, $zero, 0x200 -/* 2E3D8 80052FD8 0C015FE4 */ jal alHeapAlloc -/* 2E3DC 80052FDC AE820054 */ sw $v0, 0x54($s4) -/* 2E3E0 80052FE0 02A0202D */ daddu $a0, $s5, $zero -/* 2E3E4 80052FE4 24050001 */ addiu $a1, $zero, 1 -/* 2E3E8 80052FE8 24060040 */ addiu $a2, $zero, 0x40 -/* 2E3EC 80052FEC 0C015FE4 */ jal alHeapAlloc -/* 2E3F0 80052FF0 AE820058 */ sw $v0, 0x58($s4) -/* 2E3F4 80052FF4 0000982D */ daddu $s3, $zero, $zero -/* 2E3F8 80052FF8 8E840004 */ lw $a0, 4($s4) -/* 2E3FC 80052FFC 44960000 */ mtc1 $s6, $f0 -/* 2E400 80053000 00000000 */ nop -/* 2E404 80053004 46800020 */ cvt.s.w $f0, $f0 -/* 2E408 80053008 AE820094 */ sw $v0, 0x94($s4) -/* 2E40C 8005300C 0C014CBD */ jal func_800532F4 -/* 2E410 80053010 E6800000 */ swc1 $f0, ($s4) -/* 2E414 80053014 0C014CDC */ jal func_80053370 -/* 2E418 80053018 26840008 */ addiu $a0, $s4, 8 -/* 2E41C 8005301C 0C014CEA */ jal func_800533A8 -/* 2E420 80053020 26840014 */ addiu $a0, $s4, 0x14 -/* 2E424 80053024 0C015843 */ jal func_8005610C -/* 2E428 80053028 00000000 */ nop -/* 2E42C 8005302C 0280102D */ daddu $v0, $s4, $zero -/* 2E430 80053030 AE8000A4 */ sw $zero, 0xa4($s4) -/* 2E434 80053034 AE8000A8 */ sw $zero, 0xa8($s4) -.L80053038: -/* 2E438 80053038 A0400070 */ sb $zero, 0x70($v0) -/* 2E43C 8005303C A0400071 */ sb $zero, 0x71($v0) -/* 2E440 80053040 26730001 */ addiu $s3, $s3, 1 -/* 2E444 80053044 1260FFFC */ beqz $s3, .L80053038 -/* 2E448 80053048 24420008 */ addiu $v0, $v0, 8 -/* 2E44C 8005304C 0000982D */ daddu $s3, $zero, $zero -/* 2E450 80053050 0280182D */ daddu $v1, $s4, $zero -.L80053054: -/* 2E454 80053054 A0600040 */ sb $zero, 0x40($v1) -/* 2E458 80053058 A0600041 */ sb $zero, 0x41($v1) -/* 2E45C 8005305C 26730001 */ addiu $s3, $s3, 1 -/* 2E460 80053060 2E620004 */ sltiu $v0, $s3, 4 -/* 2E464 80053064 1440FFFB */ bnez $v0, .L80053054 -/* 2E468 80053068 24630004 */ addiu $v1, $v1, 4 -/* 2E46C 8005306C 0000982D */ daddu $s3, $zero, $zero -/* 2E470 80053070 2416FFFF */ addiu $s6, $zero, -1 -/* 2E474 80053074 241200FF */ addiu $s2, $zero, 0xff -/* 2E478 80053078 24111320 */ addiu $s1, $zero, 0x1320 -.L8005307C: -/* 2E47C 8005307C 327000FF */ andi $s0, $s3, 0xff -/* 2E480 80053080 0200202D */ daddu $a0, $s0, $zero -/* 2E484 80053084 0C015BB0 */ jal func_80056EC0 -/* 2E488 80053088 0000282D */ daddu $a1, $zero, $zero -/* 2E48C 8005308C 0200202D */ daddu $a0, $s0, $zero -/* 2E490 80053090 8E850004 */ lw $a1, 4($s4) -/* 2E494 80053094 0C015C89 */ jal func_80057224 -/* 2E498 80053098 26730001 */ addiu $s3, $s3, 1 -/* 2E49C 8005309C 02911021 */ addu $v0, $s4, $s1 -/* 2E4A0 800530A0 AC400000 */ sw $zero, ($v0) -/* 2E4A4 800530A4 AC400004 */ sw $zero, 4($v0) -/* 2E4A8 800530A8 A456000C */ sh $s6, 0xc($v0) -/* 2E4AC 800530AC A052000E */ sb $s2, 0xe($v0) -/* 2E4B0 800530B0 A052000F */ sb $s2, 0xf($v0) -/* 2E4B4 800530B4 A0400010 */ sb $zero, 0x10($v0) -/* 2E4B8 800530B8 A0400042 */ sb $zero, 0x42($v0) -/* 2E4BC 800530BC A0400043 */ sb $zero, 0x43($v0) -/* 2E4C0 800530C0 A0400044 */ sb $zero, 0x44($v0) -/* 2E4C4 800530C4 A0400045 */ sb $zero, 0x45($v0) -/* 2E4C8 800530C8 2E620018 */ sltiu $v0, $s3, 0x18 -/* 2E4CC 800530CC 1440FFEB */ bnez $v0, .L8005307C -/* 2E4D0 800530D0 26310048 */ addiu $s1, $s1, 0x48 -/* 2E4D4 800530D4 0280202D */ daddu $a0, $s4, $zero -/* 2E4D8 800530D8 3C0500F0 */ lui $a1, 0xf0 -/* 2E4DC 800530DC 0C0150AF */ jal al_LoadINIT -/* 2E4E0 800530E0 02A0302D */ daddu $a2, $s5, $zero -/* 2E4E4 800530E4 0000982D */ daddu $s3, $zero, $zero -/* 2E4E8 800530E8 0280802D */ daddu $s0, $s4, $zero -.L800530EC: -/* 2E4EC 800530EC 02A0202D */ daddu $a0, $s5, $zero -/* 2E4F0 800530F0 24050001 */ addiu $a1, $zero, 1 -/* 2E4F4 800530F4 0C015FE4 */ jal alHeapAlloc -/* 2E4F8 800530F8 24060840 */ addiu $a2, $zero, 0x840 -/* 2E4FC 800530FC AE021310 */ sw $v0, 0x1310($s0) -/* 2E500 80053100 26730001 */ addiu $s3, $s3, 1 -/* 2E504 80053104 2E620003 */ sltiu $v0, $s3, 3 -/* 2E508 80053108 1440FFF8 */ bnez $v0, .L800530EC -/* 2E50C 8005310C 26100004 */ addiu $s0, $s0, 4 -/* 2E510 80053110 24050001 */ addiu $a1, $zero, 1 -/* 2E514 80053114 0000302D */ daddu $a2, $zero, $zero -/* 2E518 80053118 3C10800A */ lui $s0, %hi(D_8009A664) -/* 2E51C 8005311C 2610A664 */ addiu $s0, $s0, %lo(D_8009A664) -/* 2E520 80053120 8E040000 */ lw $a0, ($s0) -/* 2E524 80053124 0C013856 */ jal func_8004E158 -/* 2E528 80053128 0280382D */ daddu $a3, $s4, $zero -/* 2E52C 8005312C 27B20020 */ addiu $s2, $sp, 0x20 -/* 2E530 80053130 0240282D */ daddu $a1, $s2, $zero -/* 2E534 80053134 24020003 */ addiu $v0, $zero, 3 -/* 2E538 80053138 8E040000 */ lw $a0, ($s0) -/* 2E53C 8005313C 241000FF */ addiu $s0, $zero, 0xff -/* 2E540 80053140 A3A00020 */ sb $zero, 0x20($sp) -/* 2E544 80053144 A3A20021 */ sb $v0, 0x21($sp) -/* 2E548 80053148 A3B00022 */ sb $s0, 0x22($sp) -/* 2E54C 8005314C 0C0138D1 */ jal func_8004E344 -/* 2E550 80053150 A3B00023 */ sb $s0, 0x23($sp) -/* 2E554 80053154 24050002 */ addiu $a1, $zero, 2 -/* 2E558 80053158 00A0302D */ daddu $a2, $a1, $zero -/* 2E55C 8005315C 3C11800A */ lui $s1, %hi(D_8009A5FC) -/* 2E560 80053160 2631A5FC */ addiu $s1, $s1, %lo(D_8009A5FC) -/* 2E564 80053164 8E240000 */ lw $a0, ($s1) -/* 2E568 80053168 0C013856 */ jal func_8004E158 -/* 2E56C 8005316C 0280382D */ daddu $a3, $s4, $zero -/* 2E570 80053170 0240282D */ daddu $a1, $s2, $zero -/* 2E574 80053174 8E240000 */ lw $a0, ($s1) -/* 2E578 80053178 24020002 */ addiu $v0, $zero, 2 -/* 2E57C 8005317C A3A20020 */ sb $v0, 0x20($sp) -/* 2E580 80053180 A3B00021 */ sb $s0, 0x21($sp) -/* 2E584 80053184 A3B00022 */ sb $s0, 0x22($sp) -/* 2E588 80053188 0C0138D1 */ jal func_8004E344 -/* 2E58C 8005318C A3B00023 */ sb $s0, 0x23($sp) -/* 2E590 80053190 24050004 */ addiu $a1, $zero, 4 -/* 2E594 80053194 24060001 */ addiu $a2, $zero, 1 -/* 2E598 80053198 0280382D */ daddu $a3, $s4, $zero -/* 2E59C 8005319C 3C10800A */ lui $s0, %hi(D_8009A640) -/* 2E5A0 800531A0 2610A640 */ addiu $s0, $s0, %lo(D_8009A640) -/* 2E5A4 800531A4 8E040000 */ lw $a0, ($s0) -/* 2E5A8 800531A8 24020010 */ addiu $v0, $zero, 0x10 -/* 2E5AC 800531AC 0C012D10 */ jal func_8004B440 -/* 2E5B0 800531B0 AFA20010 */ sw $v0, 0x10($sp) -/* 2E5B4 800531B4 24050006 */ addiu $a1, $zero, 6 -/* 2E5B8 800531B8 24060001 */ addiu $a2, $zero, 1 -/* 2E5BC 800531BC 3C04800A */ lui $a0, %hi(D_8009A628) -/* 2E5C0 800531C0 8C84A628 */ lw $a0, %lo(D_8009A628)($a0) -/* 2E5C4 800531C4 0C0142E4 */ jal func_80050B90 -/* 2E5C8 800531C8 0280382D */ daddu $a3, $s4, $zero -/* 2E5CC 800531CC 0C014985 */ jal func_80052614 -/* 2E5D0 800531D0 0280202D */ daddu $a0, $s4, $zero -/* 2E5D4 800531D4 0280202D */ daddu $a0, $s4, $zero -/* 2E5D8 800531D8 0C0153F0 */ jal al_LoadBKHeaders -/* 2E5DC 800531DC 02A0282D */ daddu $a1, $s5, $zero -/* 2E5E0 800531E0 8E82003C */ lw $v0, 0x3c($s4) -/* 2E5E4 800531E4 24050020 */ addiu $a1, $zero, 0x20 -/* 2E5E8 800531E8 94440000 */ lhu $a0, ($v0) -/* 2E5EC 800531EC 0C01511F */ jal al_CopyFileTableEntry -/* 2E5F0 800531F0 27A60018 */ addiu $a2, $sp, 0x18 -/* 2E5F4 800531F4 14400007 */ bnez $v0, .L80053214 -/* 2E5F8 800531F8 3C0200FF */ lui $v0, 0xff -/* 2E5FC 800531FC 3442FFFF */ ori $v0, $v0, 0xffff -/* 2E600 80053200 8FA40018 */ lw $a0, 0x18($sp) -/* 2E604 80053204 8FA6001C */ lw $a2, 0x1c($sp) -/* 2E608 80053208 8E8500A0 */ lw $a1, 0xa0($s4) -/* 2E60C 8005320C 0C015380 */ jal al_DmaCopy -/* 2E610 80053210 00C23024 */ and $a2, $a2, $v0 -.L80053214: -/* 2E614 80053214 8E040000 */ lw $a0, ($s0) -/* 2E618 80053218 0C012D8B */ jal func_8004B62C -/* 2E61C 8005321C 00000000 */ nop -/* 2E620 80053220 8E82003C */ lw $v0, 0x3c($s4) -/* 2E624 80053224 24050040 */ addiu $a1, $zero, 0x40 -/* 2E628 80053228 94440002 */ lhu $a0, 2($v0) -/* 2E62C 8005322C 0C01511F */ jal al_CopyFileTableEntry -/* 2E630 80053230 27A60018 */ addiu $a2, $sp, 0x18 -/* 2E634 80053234 14400004 */ bnez $v0, .L80053248 -/* 2E638 80053238 00000000 */ nop -/* 2E63C 8005323C 8FA50018 */ lw $a1, 0x18($sp) -/* 2E640 80053240 0C01513E */ jal al_LoadPER -/* 2E644 80053244 0280202D */ daddu $a0, $s4, $zero -.L80053248: -/* 2E648 80053248 8E82003C */ lw $v0, 0x3c($s4) -/* 2E64C 8005324C 24050040 */ addiu $a1, $zero, 0x40 -/* 2E650 80053250 94440004 */ lhu $a0, 4($v0) -/* 2E654 80053254 0C01511F */ jal al_CopyFileTableEntry -/* 2E658 80053258 27A60018 */ addiu $a2, $sp, 0x18 -/* 2E65C 8005325C 54400005 */ bnel $v0, $zero, .L80053274 -/* 2E660 80053260 0000202D */ daddu $a0, $zero, $zero -/* 2E664 80053264 8FA50018 */ lw $a1, 0x18($sp) -/* 2E668 80053268 0C01516D */ jal al_LoadPRG -/* 2E66C 8005326C 0280202D */ daddu $a0, $s4, $zero -/* 2E670 80053270 0000202D */ daddu $a0, $zero, $zero -.L80053274: -/* 2E674 80053274 268304EC */ addiu $v1, $s4, 0x4ec -/* 2E678 80053278 268205EC */ addiu $v0, $s4, 0x5ec -/* 2E67C 8005327C AE8212F0 */ sw $v0, 0x12f0($s4) -/* 2E680 80053280 268200AC */ addiu $v0, $s4, 0xac -/* 2E684 80053284 AE8212F4 */ sw $v0, 0x12f4($s4) -/* 2E688 80053288 268200EC */ addiu $v0, $s4, 0xec -/* 2E68C 8005328C AE8212F8 */ sw $v0, 0x12f8($s4) -/* 2E690 80053290 268209EC */ addiu $v0, $s4, 0x9ec -/* 2E694 80053294 AE8212FC */ sw $v0, 0x12fc($s4) -/* 2E698 80053298 26820DEC */ addiu $v0, $s4, 0xdec -/* 2E69C 8005329C AE821300 */ sw $v0, 0x1300($s4) -/* 2E6A0 800532A0 268211EC */ addiu $v0, $s4, 0x11ec -/* 2E6A4 800532A4 AE8312EC */ sw $v1, 0x12ec($s4) -/* 2E6A8 800532A8 AE821304 */ sw $v0, 0x1304($s4) -/* 2E6AC 800532AC AE831308 */ sw $v1, 0x1308($s4) -/* 2E6B0 800532B0 A2800053 */ sb $zero, 0x53($s4) -/* 2E6B4 800532B4 A2800052 */ sb $zero, 0x52($s4) -/* 2E6B8 800532B8 A2800051 */ sb $zero, 0x51($s4) -/* 2E6BC 800532BC 0C015FB4 */ jal func_80057ED0 -/* 2E6C0 800532C0 A2800050 */ sb $zero, 0x50($s4) -/* 2E6C4 800532C4 0C015414 */ jal func_80055050 -/* 2E6C8 800532C8 02A0202D */ daddu $a0, $s5, $zero -/* 2E6CC 800532CC 8FBF0044 */ lw $ra, 0x44($sp) -/* 2E6D0 800532D0 8FB60040 */ lw $s6, 0x40($sp) -/* 2E6D4 800532D4 8FB5003C */ lw $s5, 0x3c($sp) -/* 2E6D8 800532D8 8FB40038 */ lw $s4, 0x38($sp) -/* 2E6DC 800532DC 8FB30034 */ lw $s3, 0x34($sp) -/* 2E6E0 800532E0 8FB20030 */ lw $s2, 0x30($sp) -/* 2E6E4 800532E4 8FB1002C */ lw $s1, 0x2c($sp) -/* 2E6E8 800532E8 8FB00028 */ lw $s0, 0x28($sp) -/* 2E6EC 800532EC 03E00008 */ jr $ra -/* 2E6F0 800532F0 27BD0048 */ addiu $sp, $sp, 0x48 diff --git a/asm/nonmatchings/code_2e230_len_2190/func_800532F4.s b/asm/nonmatchings/code_2e230_len_2190/func_800532F4.s deleted file mode 100644 index 595a3184f4..0000000000 --- a/asm/nonmatchings/code_2e230_len_2190/func_800532F4.s +++ /dev/null @@ -1,35 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel func_800532F4 -/* 2E6F4 800532F4 3C013F00 */ lui $at, 0x3f00 -/* 2E6F8 800532F8 44810000 */ mtc1 $at, $f0 -/* 2E6FC 800532FC 3C028008 */ lui $v0, %hi(D_800781D0) -/* 2E700 80053300 244281D0 */ addiu $v0, $v0, %lo(D_800781D0) -/* 2E704 80053304 AC820000 */ sw $v0, ($a0) -/* 2E708 80053308 240200BE */ addiu $v0, $zero, 0xbe -/* 2E70C 8005330C AC820004 */ sw $v0, 4($a0) -/* 2E710 80053310 3C028008 */ lui $v0, %hi(D_80078190) -/* 2E714 80053314 24428190 */ addiu $v0, $v0, %lo(D_80078190) -/* 2E718 80053318 AC820018 */ sw $v0, 0x18($a0) -/* 2E71C 8005331C 24020040 */ addiu $v0, $zero, 0x40 -/* 2E720 80053320 A482001C */ sh $v0, 0x1c($a0) -/* 2E724 80053324 240212C0 */ addiu $v0, $zero, 0x12c0 -/* 2E728 80053328 A482001E */ sh $v0, 0x1e($a0) -/* 2E72C 8005332C 3C028008 */ lui $v0, %hi(D_80078544) -/* 2E730 80053330 24428544 */ addiu $v0, $v0, %lo(D_80078544) -/* 2E734 80053334 AC800008 */ sw $zero, 8($a0) -/* 2E738 80053338 AC80000C */ sw $zero, 0xc($a0) -/* 2E73C 8005333C AC800010 */ sw $zero, 0x10($a0) -/* 2E740 80053340 AC800014 */ sw $zero, 0x14($a0) -/* 2E744 80053344 A0800024 */ sb $zero, 0x24($a0) -/* 2E748 80053348 A0800025 */ sb $zero, 0x25($a0) -/* 2E74C 8005334C AC82002C */ sw $v0, 0x2c($a0) -/* 2E750 80053350 A0800026 */ sb $zero, 0x26($a0) -/* 2E754 80053354 A0800027 */ sb $zero, 0x27($a0) -/* 2E758 80053358 A0800028 */ sb $zero, 0x28($a0) -/* 2E75C 8005335C A0800029 */ sb $zero, 0x29($a0) -/* 2E760 80053360 A080002A */ sb $zero, 0x2a($a0) -/* 2E764 80053364 A080002B */ sb $zero, 0x2b($a0) -/* 2E768 80053368 03E00008 */ jr $ra -/* 2E76C 8005336C E4800020 */ swc1 $f0, 0x20($a0) diff --git a/asm/nonmatchings/code_2e230_len_2190/func_80053370.s b/asm/nonmatchings/code_2e230_len_2190/func_80053370.s deleted file mode 100644 index 2228837a15..0000000000 --- a/asm/nonmatchings/code_2e230_len_2190/func_80053370.s +++ /dev/null @@ -1,18 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel func_80053370 -/* 2E770 80053370 24022010 */ addiu $v0, $zero, 0x2010 -/* 2E774 80053374 A4820000 */ sh $v0, ($a0) -/* 2E778 80053378 240212C0 */ addiu $v0, $zero, 0x12c0 -/* 2E77C 8005337C A4820002 */ sh $v0, 2($a0) -/* 2E780 80053380 2402007F */ addiu $v0, $zero, 0x7f -/* 2E784 80053384 A0820004 */ sb $v0, 4($a0) -/* 2E788 80053388 24020040 */ addiu $v0, $zero, 0x40 -/* 2E78C 8005338C A0820005 */ sb $v0, 5($a0) -/* 2E790 80053390 A0800006 */ sb $zero, 6($a0) -/* 2E794 80053394 A0800007 */ sb $zero, 7($a0) -/* 2E798 80053398 A0800008 */ sb $zero, 8($a0) -/* 2E79C 8005339C A0800009 */ sb $zero, 9($a0) -/* 2E7A0 800533A0 03E00008 */ jr $ra -/* 2E7A4 800533A4 A080000A */ sb $zero, 0xa($a0) diff --git a/src/audio.h b/src/audio.h new file mode 100644 index 0000000000..96f4bfe75e --- /dev/null +++ b/src/audio.h @@ -0,0 +1,225 @@ +#ifndef _AUDIO_H_ +#define _AUDIO_H_ + +#include "common.h" + +// Probably some libultra audio thing +typedef struct UnkStructFor80053A18 { + /* 0x00 */ UNK_TYPE unk_00; + /* 0x04 */ s32 unk_04; + /* 0x08 */ char unk_08[2]; + /* 0x0A */ u16 unk_0A; + /* 0x0C */ s32 unk_0C; +} UnkStructFor80053A18; // size unknown + +typedef struct alUnk1 { + /* 0x00 */ s16 unk_00; + /* 0x02 */ char unk_02[2]; + /* 0x04 */ s32 unk_04; + /* 0x08 */ s16 unk_08; + /* 0x0A */ s16 unk_0A; + /* 0x0C */ char unk_0C[4]; + /* 0x10 */ s32 unk_10; + /* 0x14 */ s32 unk_14; + /* 0x18 */ s16 unk_18; + /* 0x1A */ s16 unk_1A; +} alUnk1; + +typedef struct alUnk2 { + /* 0x00 */ s16 unk_00; + /* 0x02 */ u8 unk_02; + /* 0x03 */ s8 unk_03; + /* 0x04 */ s8 unk_04; + /* 0x05 */ s8 unk_05; + /* 0x06 */ s8 unk_06; +} alUnk2; +#undef alHeapAlloc + +typedef struct UnkAl0 { + /* 0x00 */ char unk_00[0x18]; + /* 0x18 */ ALHeap* unk_18; +} UnkAl0; + +typedef struct UnkAl6CC { + /* 0x00 */ char unk_00[0x6CC]; +} UnkAl6CC; + +typedef struct UnkAlA9C { + /* 0x00 */ char unk_00[0x4]; + /* 0x04 */ UnkAl6CC* unk_04; + /* 0x08 */ char unk_08[0xA94]; +} UnkAlA9C; + +typedef struct UnkAl48 { + /* 0x00 */ s32 unk_00; + /* 0x04 */ s32 unk_04; + /* 0x08 */ char unk_08[4]; + /* 0x0C */ s16 unk_0C; + /* 0x0E */ u8 unk_0E; + /* 0x0F */ u8 unk_0F; + /* 0x10 */ s8 unk_10; + /* 0x11 */ char unk_11[0xB]; + /* 0x1C */ s32 unk_1C; + /* 0x20 */ char unk_20[0x22]; + /* 0x42 */ s8 unk_42; + /* 0x43 */ s8 unk_43; + /* 0x44 */ s8 unk_44; + /* 0x45 */ s8 unk_45; + /* 0x46 */ char unk_46[2]; +} UnkAl48; // size = 0x48 + +typedef struct UnkAl19E0Sub { + /* 0x0 */ u16 unk_0; + /* 0x2 */ u16 unk_2; + /* 0x4 */ u16 unk_4; +} UnkAl19E0Sub; + +typedef struct UnkAl19E0Sub2 { + /* 0x0 */ u8 unk_00; + /* 0x1 */ u8 unk_01; + /* 0x2 */ char unk_02[2]; +} UnkAl19E0Sub2; + +typedef struct UnkAl19E0Sub3 { + /* 0x00 */ UnkAlA9C* unk_0; + /* 0x04 */ s8 unk_4; + /* 0x05 */ s8 unk_5; +} UnkAl19E0Sub3; + +typedef struct UnkAl30 { + /* 0x00 */ s32* unk_00; + /* 0x04 */ s32 unk_04; + /* 0x08 */ s32 unk_08; + /* 0x0C */ s32 unk_0C; + /* 0x10 */ s32 unk_10; + /* 0x14 */ s32 unk_14; + /* 0x18 */ s32* unk_18; + /* 0x1C */ s16 unk_1C; + /* 0x1E */ s16 unk_1E; + /* 0x20 */ f32 unk_20; + /* 0x24 */ s8 unk_24; + /* 0x25 */ s8 unk_25; + /* 0x26 */ s8 unk_26; + /* 0x27 */ s8 unk_27; + /* 0x28 */ s8 unk_28; + /* 0x29 */ s8 unk_29; + /* 0x2A */ s8 unk_2A; + /* 0x2B */ s8 unk_2B; + /* 0x2C */ s32* unk_2C; +} UnkAl30; + +typedef struct UnkAl12 { + /* 0x0 */ s16 unk_00; + /* 0x2 */ s16 unk_02; + /* 0x4 */ s8 unk_04; + /* 0x5 */ s8 unk_05; + /* 0x6 */ s8 unk_06; + /* 0x7 */ s8 unk_07; + /* 0x8 */ s8 unk_08; + /* 0x9 */ s8 unk_09; + /* 0xA */ s8 unk_0A; +} UnkAl12; + +typedef struct UnkTemp2 { + /* 0x00 */ s32 unk_00; + /* 0x08 */ s32 unk_04; +} UnkTemp2; + +typedef struct UnkAl19E0 { + /* 0x0000 */ f32 unk_00; + /* 0x0004 */ UnkAl30* unk_04; + /* 0x0008 */ UnkAl12* unk_08; + /* 0x000C */ char unk_0C[0x8]; + /* 0x0014 */ alUnk2* unk_14; + /* 0x0018 */ char unk_18[0x4]; + /* 0x001C */ s32 unk_1C; + /* 0x0020 */ UnkTemp2* unk_20; + /* 0x0024 */ s32 unk_24; + /* 0x0028 */ char unk_28[0x14]; + /* 0x003C */ UnkAl19E0Sub* unk_3C; + /* 0x0040 */ UnkAl19E0Sub2 unk_40[4]; + /* 0x0050 */ s8 unk_50; + /* 0x0051 */ s8 unk_51; + /* 0x0052 */ s8 unk_52; + /* 0x0053 */ s8 unk_53; + /* 0x0054 */ s32* unk_54; + /* 0x0058 */ s32* unk_58; + /* 0x005C */ s32* unk_5C; + /* 0x0060 */ s32* unk_60; + /* 0x0064 */ s32* unk_64; + /* 0x0068 */ s32* unk_68; + /* 0x006C */ UnkAl19E0Sub3 unk_6C[1]; + /* 0x0074 */ char unk_74[0x20]; + /* 0x0094 */ s32* unk_94; + /* 0x0098 */ char unk_98[0x8]; + /* 0x00A0 */ s32* unk_A0; + /* 0x00A4 */ s32 unk_A4; + /* 0x00A8 */ s32 unk_A8; + /* 0x00AC */ s32* unk_AC; + /* 0x00B0 */ char unk_B0[0x3C]; + /* 0x00EC */ s32* unk_EC; + /* 0x00F0 */ char unk_F0[0x3FC]; + /* 0x04EC */ s32* unk_4EC; + /* 0x04F0 */ char unk_4F0[0xFC]; + /* 0x05EC */ s32* unk_5EC; + /* 0x05F0 */ char unk_5F0[0x3FC]; + /* 0x09EC */ s32* unk_9EC; + /* 0x09F0 */ char unk_9F0[0x3FC]; + /* 0x0DEC */ s32* unk_DEC; + /* 0x0DF0 */ char unk_DF0[0x3FC]; + /* 0x11EC */ s32* unk_11EC; + /* 0x11F0 */ char unk_11F0[0xFC]; + /* 0x12EC */ s32* unk_12EC; + /* 0x12F0 */ s32* unk_12F0; + /* 0x12F4 */ s32* unk_12F4; + /* 0x12F8 */ s32* unk_12F8; + /* 0x12FC */ s32* unk_12FC; + /* 0x1300 */ s32* unk_1300; + /* 0x1304 */ s32* unk_1304; + /* 0x1308 */ s32* unk_1308; + /* 0x130C */ char unk_130C[0x4]; + /* 0x1310 */ s32* unk_1310[3]; + /* 0x131C */ char unk_131C[4]; + /* 0x1320 */ UnkAl48 unk_1320[24]; +} UnkAl19E0; // size = 0x19E0 + +typedef struct UnkAl834 { + /* 0x00 */ UnkAl19E0* unk_00; + /* 0x04 */ char unk_04[0x830]; +} UnkAl834; + +typedef struct { + /* 0x000 */ char unk_000[8]; + /* 0x008 */ s32 unk_008; + /* 0x00C */ char unk_00C[4]; + /* 0x010 */ s32 unk_010; + /* 0x014 */ char unk_014[8]; + /* 0x01C */ UNK_TYPE unk_01C; + /* 0x020 */ char unk_020[0xC]; + /* 0x02C */ UnkStructFor80053A18 unk_02C; + /* 0x03C */ char unk_03C[0x1E5]; + /* 0x221 */ u8 unk_221; +} UnkStructFor8004DAA8; // size unknown + +void func_8004DAA8(UnkStructFor8004DAA8* arg0); +extern UnkAl0* D_80078E54; +extern s32* D_80078190; +extern s32* D_800781D0; +extern s32* D_80078544; +extern UnkAl19E0* D_8009A5C0; +extern UnkAlA9C* D_8009A5CC; +extern UnkAlA9C* D_8009A5FC; +extern UnkAl834* D_8009A628; +extern UnkAl6CC* D_8009A640; +extern UnkAlA9C* D_8009A664;void func_800532F4(UnkAl30*); +void func_80053370(UnkAl12*); +void func_800533A8(alUnk2*); +void al_LoadINIT(UnkAl19E0*, s32, ALHeap*); +s32 al_CopyFileTableEntry(u16 arg0, s32 arg1, s32* arg2); +void al_LoadPER(UnkAl19E0*, s32*); +void al_LoadPRG(UnkAl19E0*, s32*); +void al_DmaCopy(s32*, s32*, s32); +s32* alHeapAlloc(ALHeap*, s32, s32); +void func_80053A18(UnkStructFor80053A18* arg0); + +#endif diff --git a/src/code_28910_len_5090.c b/src/code_28910_len_5090.c index 40274bd6f0..e4b10452ea 100644 --- a/src/code_28910_len_5090.c +++ b/src/code_28910_len_5090.c @@ -1,4 +1,4 @@ -#include "code_28910_len_5090.h" +#include "audio.h" INCLUDE_ASM(s32, "code_28910_len_5090", func_8004D510); diff --git a/src/code_28910_len_5090.h b/src/code_28910_len_5090.h deleted file mode 100644 index 1aa5bb7712..0000000000 --- a/src/code_28910_len_5090.h +++ /dev/null @@ -1,22 +0,0 @@ -#ifndef _CODE_28910_LEN_5090_H_ -#define _CODE_28910_LEN_5090_H_ - -#include "common.h" -#include "code_2e230_len_2190.h" - -typedef struct { - /* 0x000 */ char unk_000[8]; - /* 0x008 */ s32 unk_008; - /* 0x00C */ char unk_00C[4]; - /* 0x010 */ s32 unk_010; - /* 0x014 */ char unk_014[8]; - /* 0x01C */ UNK_TYPE unk_01C; - /* 0x020 */ char unk_020[0xC]; - /* 0x02C */ UnkStructFor80053A18 unk_02C; - /* 0x03C */ char unk_03C[0x1E5]; - /* 0x221 */ u8 unk_221; -} UnkStructFor8004DAA8; // size unknown - -void func_8004DAA8(UnkStructFor8004DAA8* arg0); - -#endif diff --git a/src/code_2e230_len_2190.c b/src/code_2e230_len_2190.c index dcb7ad6202..b889a85806 100644 --- a/src/code_2e230_len_2190.c +++ b/src/code_2e230_len_2190.c @@ -1,136 +1,12 @@ -#include "code_2e230_len_2190.h" +#include "audio.h" -#undef alHeapAlloc +void func_80052E30(u8 index) { + UnkAl48* temp = &D_8009A5C0->unk_1320[index]; -typedef struct UnkAl0 { - /* 0x00 */ char unk_00[0x18]; - /* 0x18 */ ALHeap* unk_18; -} UnkAl0; + temp->unk_1C = 0; + temp->unk_45 = 0; +} -typedef struct UnkAl6CC { - /* 0x00 */ char unk_00[0x6CC]; -} UnkAl6CC; - -typedef struct UnkAlA9C { - /* 0x00 */ char unk_00[0x4]; - /* 0x04 */ UnkAl6CC* unk_04; - /* 0x08 */ char unk_08[0xA94]; -} UnkAlA9C; - -typedef struct UnkAl48 { - /* 0x00 */ s32 unk_00; - /* 0x04 */ s32 unk_04; - /* 0x08 */ char unk_08[4]; - /* 0x0C */ s16 unk_0C; - /* 0x0E */ u8 unk_0E; - /* 0x0F */ u8 unk_0F; - /* 0x10 */ s8 unk_10; - /* 0x11 */ char unk_11[0x31]; - /* 0x42 */ s8 unk_42; - /* 0x43 */ s8 unk_43; - /* 0x44 */ s8 unk_44; - /* 0x45 */ s8 unk_45; - /* 0x46 */ char unk_46[2]; -} UnkAl48; // size = 0x48 - -typedef struct UnkAl19E0Sub { - /* 0x0 */ u16 unk_0; - /* 0x2 */ u16 unk_2; - /* 0x4 */ u16 unk_4; -} UnkAl19E0Sub; - -typedef struct UnkAl19E0Sub2 { - /* 0x0 */ u8 unk_00; - /* 0x1 */ u8 unk_01; - /* 0x2 */ char unk_02[2]; -} UnkAl19E0Sub2; - -typedef struct UnkAl19E0Sub3 { - /* 0x00 */ UnkAlA9C* unk_0; - /* 0x04 */ s8 unk_4; - /* 0x05 */ s8 unk_5; -} UnkAl19E0Sub3; - -typedef struct UnkAl19E0 { - /* 0x0000 */ f32 unk_00; - /* 0x0004 */ s32* unk_04; - /* 0x0008 */ s32* unk_08; - /* 0x000C */ char unk_0C[0x8]; - /* 0x0014 */ alUnk2* unk_14; - /* 0x0018 */ char unk_18[0x24]; - /* 0x003C */ UnkAl19E0Sub* unk_3C; - /* 0x0040 */ UnkAl19E0Sub2 unk_40[4]; - /* 0x0050 */ s8 unk_50; - /* 0x0051 */ s8 unk_51; - /* 0x0052 */ s8 unk_52; - /* 0x0053 */ s8 unk_53; - /* 0x0054 */ s32* unk_54; - /* 0x0058 */ s32* unk_58; - /* 0x005C */ s32* unk_5C; - /* 0x0060 */ s32* unk_60; - /* 0x0064 */ s32* unk_64; - /* 0x0068 */ s32* unk_68; - /* 0x006C */ UnkAl19E0Sub3 unk_6C[1]; - /* 0x0074 */ char unk_74[0x20]; - /* 0x0094 */ s32* unk_94; - /* 0x0098 */ char unk_98[0x8]; - /* 0x00A0 */ s32* unk_A0; - /* 0x00A4 */ s32 unk_A4; - /* 0x00A8 */ s32 unk_A8; - /* 0x00AC */ s32* unk_AC; - /* 0x00B0 */ char unk_B0[0x3C]; - /* 0x00EC */ s32* unk_EC; - /* 0x00F0 */ char unk_F0[0x3FC]; - /* 0x04EC */ s32* unk_4EC; - /* 0x04F0 */ char unk_4F0[0xFC]; - /* 0x05EC */ s32* unk_5EC; - /* 0x05F0 */ char unk_5F0[0x3FC]; - /* 0x09EC */ s32* unk_9EC; - /* 0x09F0 */ char unk_9F0[0x3FC]; - /* 0x0DEC */ s32* unk_DEC; - /* 0x0DF0 */ char unk_DF0[0x3FC]; - /* 0x11EC */ s32* unk_11EC; - /* 0x11F0 */ char unk_11F0[0xFC]; - /* 0x12EC */ s32* unk_12EC; - /* 0x12F0 */ s32* unk_12F0; - /* 0x12F4 */ s32* unk_12F4; - /* 0x12F8 */ s32* unk_12F8; - /* 0x12FC */ s32* unk_12FC; - /* 0x1300 */ s32* unk_1300; - /* 0x1304 */ s32* unk_1304; - /* 0x1308 */ s32* unk_1308; - /* 0x130C */ char unk_130C[0x4]; - /* 0x1310 */ s32* unk_1310[3]; - /* 0x131C */ char unk_131C[4]; - /* 0x1320 */ UnkAl48 unk_1320[24]; -} UnkAl19E0; // size = 0x19E0 - -typedef struct UnkAl834 { - /* 0x00 */ UnkAl19E0* unk_00; - /* 0x04 */ char unk_04[0x830]; -} UnkAl834; - -extern UnkAl0* D_80078E54; -extern UnkAl19E0* D_8009A5C0; -extern UnkAlA9C* D_8009A5CC; -extern UnkAlA9C* D_8009A5FC; -extern UnkAl834* D_8009A628; -extern UnkAl6CC* D_8009A640; -extern UnkAlA9C* D_8009A664; - -INCLUDE_ASM(s32, "code_2e230_len_2190", func_80052E30); - -void func_800532F4(s32); -void func_80053370(s32); -void func_800533A8(alUnk2*); -void al_LoadINIT(UnkAl19E0*, s32, ALHeap*); -s32 al_CopyFileTableEntry(u16 arg0, s32 arg1, s32* arg2); -void al_LoadPER(UnkAl19E0*, s32*); -void al_LoadPRG(UnkAl19E0*, s32*); -void al_DmaCopy(s32*, s32*, s32); -s32* alHeapAlloc(ALHeap*, s32, s32); - -//INCLUDE_ASM(s32, "code_2e230_len_2190", func_80052E5C); void func_80052E5C(s32 arg0) { UnkAl19E0** temp_s4 = &D_8009A5C0; UnkAl19E0* temp4; @@ -264,14 +140,43 @@ void func_80052E5C(s32 arg0) { func_80055050(alHeap); } -INCLUDE_ASM(void, "code_2e230_len_2190", func_800532F4, s32 arg0); +void func_800532F4(UnkAl30* arg0) { + arg0->unk_00 = &D_800781D0; + arg0->unk_04 = 190; + arg0->unk_18 = &D_80078190; + arg0->unk_1C = 64; + arg0->unk_1E = 4800; + arg0->unk_08 = 0; + arg0->unk_0C = 0; + arg0->unk_10 = 0; + arg0->unk_14 = 0; + arg0->unk_24 = 0; + arg0->unk_25 = 0; + arg0->unk_2C = &D_80078544; + arg0->unk_26 = 0; + arg0->unk_27 = 0; + arg0->unk_28 = 0; + arg0->unk_29 = 0; + arg0->unk_2A = 0; + arg0->unk_2B = 0; + arg0->unk_20 = 0.5f; +} -INCLUDE_ASM(void, "code_2e230_len_2190", func_80053370, s32 arg0); +void func_80053370(UnkAl12* arg0) { + arg0->unk_00 = 8208; + arg0->unk_02 = 4800; + arg0->unk_04 = ~0x80; + arg0->unk_05 = 64; + arg0->unk_06 = 0; + arg0->unk_07 = 0; + arg0->unk_08 = 0; + arg0->unk_09 = 0; + arg0->unk_0A = 0; +} -//INCLUDE_ASM(s32, "code_2e230_len_2190", func_800533A8); void func_800533A8(alUnk2* arg0) { arg0->unk_00 = 8208; - arg0->unk_02 = ~128; + arg0->unk_02 = ~0x80; arg0->unk_03 = 64; arg0->unk_04 = 0; arg0->unk_05 = 0; diff --git a/src/code_2e230_len_2190.h b/src/code_2e230_len_2190.h deleted file mode 100644 index 1198ac2d48..0000000000 --- a/src/code_2e230_len_2190.h +++ /dev/null @@ -1,39 +0,0 @@ -#ifndef _CODE_2E230_LEN_2190_H_ -#define _CODE_2E230_LEN_2190_H_ - -#include "common.h" - -// Probably some libultra audio thing -typedef struct UnkStructFor80053A18 { - /* 0x00 */ UNK_TYPE unk_00; - /* 0x04 */ s32 unk_04; - /* 0x08 */ char unk_08[2]; - /* 0x0A */ u16 unk_0A; - /* 0x0C */ s32 unk_0C; -} UnkStructFor80053A18; // size unknown - -typedef struct alUnk1 { - /* 0x00 */ s16 unk_00; - /* 0x02 */ char unk_02[2]; - /* 0x04 */ s32 unk_04; - /* 0x08 */ s16 unk_08; - /* 0x0A */ s16 unk_0A; - /* 0x0C */ char unk_0C[4]; - /* 0x10 */ s32 unk_10; - /* 0x14 */ s32 unk_14; - /* 0x18 */ s16 unk_18; - /* 0x1A */ s16 unk_1A; -} alUnk1; - -typedef struct alUnk2 { - /* 0x00 */ s16 unk_00; - /* 0x02 */ u8 unk_02; - /* 0x03 */ s8 unk_03; - /* 0x04 */ s8 unk_04; - /* 0x05 */ s8 unk_05; - /* 0x06 */ s8 unk_06; -} alUnk2; - -void func_80053A18(UnkStructFor80053A18* arg0); - -#endif From 5432a7f774f6b8017062bef2a20e061dd0eea8e4 Mon Sep 17 00:00:00 2001 From: Ethan Roseman Date: Mon, 30 Nov 2020 23:45:05 -0500 Subject: [PATCH 13/97] more audio --- .../code_2e230_len_2190/func_80052E30.s | 15 -- .../code_2e230_len_2190/func_800533D0.s | 140 ------------------ .../code_2e230_len_2190/func_800535C0.s | 43 ------ .../code_2e230_len_2190/func_80054248.s | 38 ----- .../code_2e230_len_2190/func_80054D74.s | 19 --- src/audio.h | 87 ++++++++--- src/code_26840_len_20d0.c | 3 +- src/code_28910_len_5090.c | 2 +- src/code_2e230_len_2190.c | 128 ++++++++++++++-- src/code_303c0_len_3e10.c | 2 +- 10 files changed, 188 insertions(+), 289 deletions(-) delete mode 100644 asm/nonmatchings/code_2e230_len_2190/func_80052E30.s delete mode 100644 asm/nonmatchings/code_2e230_len_2190/func_800533D0.s delete mode 100644 asm/nonmatchings/code_2e230_len_2190/func_800535C0.s delete mode 100644 asm/nonmatchings/code_2e230_len_2190/func_80054248.s delete mode 100644 asm/nonmatchings/code_2e230_len_2190/func_80054D74.s diff --git a/asm/nonmatchings/code_2e230_len_2190/func_80052E30.s b/asm/nonmatchings/code_2e230_len_2190/func_80052E30.s deleted file mode 100644 index 388131dc4a..0000000000 --- a/asm/nonmatchings/code_2e230_len_2190/func_80052E30.s +++ /dev/null @@ -1,15 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel func_80052E30 -/* 2E230 80052E30 308400FF */ andi $a0, $a0, 0xff -/* 2E234 80052E34 000410C0 */ sll $v0, $a0, 3 -/* 2E238 80052E38 00441021 */ addu $v0, $v0, $a0 -/* 2E23C 80052E3C 000210C0 */ sll $v0, $v0, 3 -/* 2E240 80052E40 3C03800A */ lui $v1, %hi(D_8009A5C0) -/* 2E244 80052E44 8C63A5C0 */ lw $v1, %lo(D_8009A5C0)($v1) -/* 2E248 80052E48 24421320 */ addiu $v0, $v0, 0x1320 -/* 2E24C 80052E4C 00621821 */ addu $v1, $v1, $v0 -/* 2E250 80052E50 AC60001C */ sw $zero, 0x1c($v1) -/* 2E254 80052E54 03E00008 */ jr $ra -/* 2E258 80052E58 A0600045 */ sb $zero, 0x45($v1) diff --git a/asm/nonmatchings/code_2e230_len_2190/func_800533D0.s b/asm/nonmatchings/code_2e230_len_2190/func_800533D0.s deleted file mode 100644 index 681a718d1e..0000000000 --- a/asm/nonmatchings/code_2e230_len_2190/func_800533D0.s +++ /dev/null @@ -1,140 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel func_800533D0 -/* 2E7D0 800533D0 27BDFFE0 */ addiu $sp, $sp, -0x20 -/* 2E7D4 800533D4 AFB20018 */ sw $s2, 0x18($sp) -/* 2E7D8 800533D8 3C12800A */ lui $s2, %hi(D_8009A5C0) -/* 2E7DC 800533DC 8E52A5C0 */ lw $s2, %lo(D_8009A5C0)($s2) -/* 2E7E0 800533E0 AFB10014 */ sw $s1, 0x14($sp) -/* 2E7E4 800533E4 3C11800A */ lui $s1, %hi(D_8009A640) -/* 2E7E8 800533E8 8E31A640 */ lw $s1, %lo(D_8009A640)($s1) -/* 2E7EC 800533EC AFB00010 */ sw $s0, 0x10($sp) -/* 2E7F0 800533F0 3C10800A */ lui $s0, %hi(D_8009A628) -/* 2E7F4 800533F4 8E10A628 */ lw $s0, %lo(D_8009A628)($s0) -/* 2E7F8 800533F8 AFBF001C */ sw $ra, 0x1c($sp) -/* 2E7FC 800533FC 0C014D95 */ jal func_80053654 -/* 2E800 80053400 0240202D */ daddu $a0, $s2, $zero -/* 2E804 80053404 8E03000C */ lw $v1, 0xc($s0) -/* 2E808 80053408 8E020004 */ lw $v0, 4($s0) -/* 2E80C 8005340C 00621823 */ subu $v1, $v1, $v0 -/* 2E810 80053410 1C600006 */ bgtz $v1, .L8005342C -/* 2E814 80053414 AE03000C */ sw $v1, 0xc($s0) -/* 2E818 80053418 8E020008 */ lw $v0, 8($s0) -/* 2E81C 8005341C 0200202D */ daddu $a0, $s0, $zero -/* 2E820 80053420 00621021 */ addu $v0, $v1, $v0 -/* 2E824 80053424 0C01446F */ jal func_800511BC -/* 2E828 80053428 AC82000C */ sw $v0, 0xc($a0) -.L8005342C: -/* 2E82C 8005342C 8622004A */ lh $v0, 0x4a($s1) -/* 2E830 80053430 10400007 */ beqz $v0, .L80053450 -/* 2E834 80053434 00000000 */ nop -/* 2E838 80053438 0C014E8A */ jal func_80053A28 -/* 2E83C 8005343C 26240040 */ addiu $a0, $s1, 0x40 -/* 2E840 80053440 922400BE */ lbu $a0, 0xbe($s1) -/* 2E844 80053444 96250040 */ lhu $a1, 0x40($s1) -/* 2E848 80053448 0C014EA6 */ jal func_80053A98 -/* 2E84C 8005344C 8E26005C */ lw $a2, 0x5c($s1) -.L80053450: -/* 2E850 80053450 8E23003C */ lw $v1, 0x3c($s1) -/* 2E854 80053454 8E220034 */ lw $v0, 0x34($s1) -/* 2E858 80053458 00621823 */ subu $v1, $v1, $v0 -/* 2E85C 8005345C 1C600007 */ bgtz $v1, .L8005347C -/* 2E860 80053460 AE23003C */ sw $v1, 0x3c($s1) -/* 2E864 80053464 8E220038 */ lw $v0, 0x38($s1) -/* 2E868 80053468 0220202D */ daddu $a0, $s1, $zero -/* 2E86C 8005346C 00621021 */ addu $v0, $v1, $v0 -/* 2E870 80053470 0C013111 */ jal func_8004C444 -/* 2E874 80053474 AE22003C */ sw $v0, 0x3c($s1) -/* 2E878 80053478 A62200BA */ sh $v0, 0xba($s1) -.L8005347C: -/* 2E87C 8005347C 3C118008 */ lui $s1, %hi(D_80078DB0) -/* 2E880 80053480 26318DB0 */ addiu $s1, $s1, %lo(D_80078DB0) -/* 2E884 80053484 8E220000 */ lw $v0, ($s1) -/* 2E888 80053488 14400045 */ bnez $v0, .L800535A0 -/* 2E88C 8005348C 00000000 */ nop -/* 2E890 80053490 3C10800A */ lui $s0, %hi(D_8009A5FC) -/* 2E894 80053494 8E10A5FC */ lw $s0, %lo(D_8009A5FC)($s0) -/* 2E898 80053498 86020036 */ lh $v0, 0x36($s0) -/* 2E89C 8005349C 10400003 */ beqz $v0, .L800534AC -/* 2E8A0 800534A0 00000000 */ nop -/* 2E8A4 800534A4 0C0138E9 */ jal func_8004E3A4 -/* 2E8A8 800534A8 0200202D */ daddu $a0, $s0, $zero -.L800534AC: -/* 2E8AC 800534AC 8E02001C */ lw $v0, 0x1c($s0) -/* 2E8B0 800534B0 10400004 */ beqz $v0, .L800534C4 -/* 2E8B4 800534B4 00000000 */ nop -/* 2E8B8 800534B8 8E020018 */ lw $v0, 0x18($s0) -/* 2E8BC 800534BC 24420001 */ addiu $v0, $v0, 1 -/* 2E8C0 800534C0 AE020018 */ sw $v0, 0x18($s0) -.L800534C4: -/* 2E8C4 800534C4 8E030010 */ lw $v1, 0x10($s0) -/* 2E8C8 800534C8 8E020008 */ lw $v0, 8($s0) -/* 2E8CC 800534CC 00621823 */ subu $v1, $v1, $v0 -/* 2E8D0 800534D0 1C600007 */ bgtz $v1, .L800534F0 -/* 2E8D4 800534D4 AE030010 */ sw $v1, 0x10($s0) -/* 2E8D8 800534D8 8E02000C */ lw $v0, 0xc($s0) -/* 2E8DC 800534DC 0200202D */ daddu $a0, $s0, $zero -/* 2E8E0 800534E0 00621021 */ addu $v0, $v1, $v0 -/* 2E8E4 800534E4 0C01392E */ jal func_8004E4B8 -/* 2E8E8 800534E8 AE020010 */ sw $v0, 0x10($s0) -/* 2E8EC 800534EC A602005C */ sh $v0, 0x5c($s0) -.L800534F0: -/* 2E8F0 800534F0 8E220000 */ lw $v0, ($s1) -/* 2E8F4 800534F4 1440002A */ bnez $v0, .L800535A0 -/* 2E8F8 800534F8 00000000 */ nop -/* 2E8FC 800534FC 8E420080 */ lw $v0, 0x80($s2) -/* 2E900 80053500 10400003 */ beqz $v0, .L80053510 -/* 2E904 80053504 00000000 */ nop -/* 2E908 80053508 0C0137F5 */ jal func_8004DFD4 -/* 2E90C 8005350C 0240202D */ daddu $a0, $s2, $zero -.L80053510: -/* 2E910 80053510 3C10800A */ lui $s0, %hi(D_8009A664) -/* 2E914 80053514 8E10A664 */ lw $s0, %lo(D_8009A664)($s0) -/* 2E918 80053518 86020046 */ lh $v0, 0x46($s0) -/* 2E91C 8005351C 1040000A */ beqz $v0, .L80053548 -/* 2E920 80053520 00000000 */ nop -/* 2E924 80053524 0C014EEA */ jal func_80053BA8 -/* 2E928 80053528 2604002C */ addiu $a0, $s0, 0x2c -/* 2E92C 8005352C 86020036 */ lh $v0, 0x36($s0) -/* 2E930 80053530 14400008 */ bnez $v0, .L80053554 -/* 2E934 80053534 00000000 */ nop -/* 2E938 80053538 0C013911 */ jal func_8004E444 -/* 2E93C 8005353C 0200202D */ daddu $a0, $s0, $zero -/* 2E940 80053540 08014D57 */ j .L8005355C -/* 2E944 80053544 00000000 */ nop -.L80053548: -/* 2E948 80053548 86020036 */ lh $v0, 0x36($s0) -/* 2E94C 8005354C 10400003 */ beqz $v0, .L8005355C -/* 2E950 80053550 00000000 */ nop -.L80053554: -/* 2E954 80053554 0C0138E9 */ jal func_8004E3A4 -/* 2E958 80053558 0200202D */ daddu $a0, $s0, $zero -.L8005355C: -/* 2E95C 8005355C 8E02001C */ lw $v0, 0x1c($s0) -/* 2E960 80053560 10400004 */ beqz $v0, .L80053574 -/* 2E964 80053564 00000000 */ nop -/* 2E968 80053568 8E020018 */ lw $v0, 0x18($s0) -/* 2E96C 8005356C 24420001 */ addiu $v0, $v0, 1 -/* 2E970 80053570 AE020018 */ sw $v0, 0x18($s0) -.L80053574: -/* 2E974 80053574 8E030010 */ lw $v1, 0x10($s0) -/* 2E978 80053578 8E020008 */ lw $v0, 8($s0) -/* 2E97C 8005357C 00621823 */ subu $v1, $v1, $v0 -/* 2E980 80053580 1C600007 */ bgtz $v1, .L800535A0 -/* 2E984 80053584 AE030010 */ sw $v1, 0x10($s0) -/* 2E988 80053588 8E02000C */ lw $v0, 0xc($s0) -/* 2E98C 8005358C 0200202D */ daddu $a0, $s0, $zero -/* 2E990 80053590 00621021 */ addu $v0, $v1, $v0 -/* 2E994 80053594 0C01392E */ jal func_8004E4B8 -/* 2E998 80053598 AE020010 */ sw $v0, 0x10($s0) -/* 2E99C 8005359C A602005C */ sh $v0, 0x5c($s0) -.L800535A0: -/* 2E9A0 800535A0 0C014998 */ jal func_80052660 -/* 2E9A4 800535A4 0240202D */ daddu $a0, $s2, $zero -/* 2E9A8 800535A8 8FBF001C */ lw $ra, 0x1c($sp) -/* 2E9AC 800535AC 8FB20018 */ lw $s2, 0x18($sp) -/* 2E9B0 800535B0 8FB10014 */ lw $s1, 0x14($sp) -/* 2E9B4 800535B4 8FB00010 */ lw $s0, 0x10($sp) -/* 2E9B8 800535B8 03E00008 */ jr $ra -/* 2E9BC 800535BC 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/code_2e230_len_2190/func_800535C0.s b/asm/nonmatchings/code_2e230_len_2190/func_800535C0.s deleted file mode 100644 index 3611a11a98..0000000000 --- a/asm/nonmatchings/code_2e230_len_2190/func_800535C0.s +++ /dev/null @@ -1,43 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel func_800535C0 -/* 2E9C0 800535C0 27BDFFE0 */ addiu $sp, $sp, -0x20 -/* 2E9C4 800535C4 AFB10014 */ sw $s1, 0x14($sp) -/* 2E9C8 800535C8 3C11800A */ lui $s1, %hi(D_8009A5C0) -/* 2E9CC 800535CC 8E31A5C0 */ lw $s1, %lo(D_8009A5C0)($s1) -/* 2E9D0 800535D0 AFB00010 */ sw $s0, 0x10($sp) -/* 2E9D4 800535D4 3C10800A */ lui $s0, %hi(D_8009A664) -/* 2E9D8 800535D8 8E10A664 */ lw $s0, %lo(D_8009A664)($s0) -/* 2E9DC 800535DC AFBF001C */ sw $ra, 0x1c($sp) -/* 2E9E0 800535E0 AFB20018 */ sw $s2, 0x18($sp) -/* 2E9E4 800535E4 8E22009C */ lw $v0, 0x9c($s1) -/* 2E9E8 800535E8 3C12800A */ lui $s2, %hi(D_8009A640) -/* 2E9EC 800535EC 8E52A640 */ lw $s2, %lo(D_8009A640)($s2) -/* 2E9F0 800535F0 10400003 */ beqz $v0, .L80053600 -/* 2E9F4 800535F4 00000000 */ nop -/* 2E9F8 800535F8 0C015843 */ jal func_8005610C -/* 2E9FC 800535FC 00000000 */ nop -.L80053600: -/* 2EA00 80053600 8E2200A4 */ lw $v0, 0xa4($s1) -/* 2EA04 80053604 3C01800A */ lui $at, %hi(D_8009A5E8) -/* 2EA08 80053608 AC22A5E8 */ sw $v0, %lo(D_8009A5E8)($at) -/* 2EA0C 8005360C 10400003 */ beqz $v0, .L8005361C -/* 2EA10 80053610 00000000 */ nop -/* 2EA14 80053614 0040F809 */ jalr $v0 -/* 2EA18 80053618 00000000 */ nop -.L8005361C: -/* 2EA1C 8005361C 0C013544 */ jal func_8004D510 -/* 2EA20 80053620 0200202D */ daddu $a0, $s0, $zero -/* 2EA24 80053624 3C04800A */ lui $a0, %hi(D_8009A5FC) -/* 2EA28 80053628 8C84A5FC */ lw $a0, %lo(D_8009A5FC)($a0) -/* 2EA2C 8005362C 0C013544 */ jal func_8004D510 -/* 2EA30 80053630 00000000 */ nop -/* 2EA34 80053634 0C012DD2 */ jal func_8004B748 -/* 2EA38 80053638 0240202D */ daddu $a0, $s2, $zero -/* 2EA3C 8005363C 8FBF001C */ lw $ra, 0x1c($sp) -/* 2EA40 80053640 8FB20018 */ lw $s2, 0x18($sp) -/* 2EA44 80053644 8FB10014 */ lw $s1, 0x14($sp) -/* 2EA48 80053648 8FB00010 */ lw $s0, 0x10($sp) -/* 2EA4C 8005364C 03E00008 */ jr $ra -/* 2EA50 80053650 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/code_2e230_len_2190/func_80054248.s b/asm/nonmatchings/code_2e230_len_2190/func_80054248.s deleted file mode 100644 index 5f82ba2fe8..0000000000 --- a/asm/nonmatchings/code_2e230_len_2190/func_80054248.s +++ /dev/null @@ -1,38 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel func_80054248 -/* 2F648 80054248 308400FF */ andi $a0, $a0, 0xff -/* 2F64C 8005424C 24020002 */ addiu $v0, $zero, 2 -/* 2F650 80054250 10820010 */ beq $a0, $v0, .L80054294 -/* 2F654 80054254 28820003 */ slti $v0, $a0, 3 -/* 2F658 80054258 10400005 */ beqz $v0, .L80054270 -/* 2F65C 8005425C 24020001 */ addiu $v0, $zero, 1 -/* 2F660 80054260 10820008 */ beq $a0, $v0, .L80054284 -/* 2F664 80054264 0000102D */ daddu $v0, $zero, $zero -/* 2F668 80054268 080150AD */ j .L800542B4 -/* 2F66C 8005426C 00000000 */ nop -.L80054270: -/* 2F670 80054270 24020004 */ addiu $v0, $zero, 4 -/* 2F674 80054274 1082000B */ beq $a0, $v0, .L800542A4 -/* 2F678 80054278 0000102D */ daddu $v0, $zero, $zero -/* 2F67C 8005427C 080150AD */ j .L800542B4 -/* 2F680 80054280 00000000 */ nop -.L80054284: -/* 2F684 80054284 3C02800A */ lui $v0, %hi(D_8009A664) -/* 2F688 80054288 8C42A664 */ lw $v0, %lo(D_8009A664)($v0) -/* 2F68C 8005428C 03E00008 */ jr $ra -/* 2F690 80054290 00000000 */ nop -.L80054294: -/* 2F694 80054294 3C02800A */ lui $v0, %hi(D_8009A5FC) -/* 2F698 80054298 8C42A5FC */ lw $v0, %lo(D_8009A5FC)($v0) -/* 2F69C 8005429C 03E00008 */ jr $ra -/* 2F6A0 800542A0 00000000 */ nop -.L800542A4: -/* 2F6A4 800542A4 3C02800A */ lui $v0, %hi(D_8009A640) -/* 2F6A8 800542A8 8C42A640 */ lw $v0, %lo(D_8009A640)($v0) -/* 2F6AC 800542AC 03E00008 */ jr $ra -/* 2F6B0 800542B0 00000000 */ nop -.L800542B4: -/* 2F6B4 800542B4 03E00008 */ jr $ra -/* 2F6B8 800542B8 00000000 */ nop diff --git a/asm/nonmatchings/code_2e230_len_2190/func_80054D74.s b/asm/nonmatchings/code_2e230_len_2190/func_80054D74.s deleted file mode 100644 index 61be04f91a..0000000000 --- a/asm/nonmatchings/code_2e230_len_2190/func_80054D74.s +++ /dev/null @@ -1,19 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel func_80054D74 -/* 30174 80054D74 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 30178 80054D78 30840010 */ andi $a0, $a0, 0x10 -/* 3017C 80054D7C 14800003 */ bnez $a0, .L80054D8C -/* 30180 80054D80 AFBF0010 */ sw $ra, 0x10($sp) -/* 30184 80054D84 08015367 */ j .L80054D9C -/* 30188 80054D88 0000102D */ daddu $v0, $zero, $zero -.L80054D8C: -/* 3018C 80054D8C 3C04800A */ lui $a0, %hi(D_8009A640) -/* 30190 80054D90 8C84A640 */ lw $a0, %lo(D_8009A640)($a0) -/* 30194 80054D94 0C012E79 */ jal func_8004B9E4 -/* 30198 80054D98 00000000 */ nop -.L80054D9C: -/* 3019C 80054D9C 8FBF0010 */ lw $ra, 0x10($sp) -/* 301A0 80054DA0 03E00008 */ jr $ra -/* 301A4 80054DA4 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/src/audio.h b/src/audio.h index 96f4bfe75e..b41345e93d 100644 --- a/src/audio.h +++ b/src/audio.h @@ -3,6 +3,8 @@ #include "common.h" +#undef alHeapAlloc + // Probably some libultra audio thing typedef struct UnkStructFor80053A18 { /* 0x00 */ UNK_TYPE unk_00; @@ -12,7 +14,7 @@ typedef struct UnkStructFor80053A18 { /* 0x0C */ s32 unk_0C; } UnkStructFor80053A18; // size unknown -typedef struct alUnk1 { +typedef struct UnkAl1 { /* 0x00 */ s16 unk_00; /* 0x02 */ char unk_02[2]; /* 0x04 */ s32 unk_04; @@ -23,17 +25,16 @@ typedef struct alUnk1 { /* 0x14 */ s32 unk_14; /* 0x18 */ s16 unk_18; /* 0x1A */ s16 unk_1A; -} alUnk1; +} UnkAl1; -typedef struct alUnk2 { +typedef struct UnkAl2 { /* 0x00 */ s16 unk_00; /* 0x02 */ u8 unk_02; /* 0x03 */ s8 unk_03; /* 0x04 */ s8 unk_04; /* 0x05 */ s8 unk_05; /* 0x06 */ s8 unk_06; -} alUnk2; -#undef alHeapAlloc +} UnkAl2; typedef struct UnkAl0 { /* 0x00 */ char unk_00[0x18]; @@ -41,13 +42,40 @@ typedef struct UnkAl0 { } UnkAl0; typedef struct UnkAl6CC { - /* 0x00 */ char unk_00[0x6CC]; + /* 0x000 */ char unk_00[0x34]; + /* 0x034 */ s32 unk_34; + /* 0x038 */ s32 unk_38; + /* 0x03C */ s32 unk_3C; + /* 0x040 */ u16 unk_40; + /* 0x042 */ char unk_42[0x8]; + /* 0x04A */ s16 unk_4A; + /* 0x04C */ char unk_4C[0x10]; + /* 0x05C */ s32 unk_5C; + /* 0x060 */ char unk_60[0x5A]; + /* 0x0BA */ s16 unk_BA; + /* 0x0BC */ char unk_BC[0x2]; + /* 0x0BE */ u8 unk_BE; + /* 0x0BF */ char unk_BF[0x60D]; } UnkAl6CC; typedef struct UnkAlA9C { - /* 0x00 */ char unk_00[0x4]; - /* 0x04 */ UnkAl6CC* unk_04; - /* 0x08 */ char unk_08[0xA94]; + /* 0x000 */ char unk_00[0x4]; + /* 0x004 */ UnkAl6CC* unk_04; + /* 0x008 */ s32 unk_08; + /* 0x00C */ s32 unk_0C; + /* 0x010 */ s32 unk_10; + /* 0x014 */ char unk_14[0x4]; + /* 0x018 */ s32 unk_18; + /* 0x01C */ s32 unk_1C; + /* 0x020 */ char unk_20[0xC]; + /* 0x02C */ s32 unk_2C; + /* 0x030 */ char unk_30[0x6]; + /* 0x036 */ s16 unk_36; + /* 0x038 */ char unk_38[0xE]; + /* 0x046 */ s16 unk_46; + /* 0x048 */ char unk_48[0x14]; + /* 0x05C */ s16 unk_5C; + /* 0x05E */ char unk_5E[0xA3A]; } UnkAlA9C; typedef struct UnkAl48 { @@ -125,12 +153,14 @@ typedef struct UnkTemp2 { /* 0x08 */ s32 unk_04; } UnkTemp2; +typedef void (*UnkFuncAl)(); + typedef struct UnkAl19E0 { /* 0x0000 */ f32 unk_00; /* 0x0004 */ UnkAl30* unk_04; /* 0x0008 */ UnkAl12* unk_08; /* 0x000C */ char unk_0C[0x8]; - /* 0x0014 */ alUnk2* unk_14; + /* 0x0014 */ UnkAl2* unk_14; /* 0x0018 */ char unk_18[0x4]; /* 0x001C */ s32 unk_1C; /* 0x0020 */ UnkTemp2* unk_20; @@ -149,11 +179,14 @@ typedef struct UnkAl19E0 { /* 0x0064 */ s32* unk_64; /* 0x0068 */ s32* unk_68; /* 0x006C */ UnkAl19E0Sub3 unk_6C[1]; - /* 0x0074 */ char unk_74[0x20]; + /* 0x0074 */ char unk_74[0xC]; + /* 0x0080 */ s32 unk_80; + /* 0x0084 */ char unk_84[0x10]; /* 0x0094 */ s32* unk_94; - /* 0x0098 */ char unk_98[0x8]; + /* 0x0098 */ char unk_98[0x4]; + /* 0x009C */ s32 unk_9C; /* 0x00A0 */ s32* unk_A0; - /* 0x00A4 */ s32 unk_A4; + /* 0x00A4 */ UnkFuncAl unk_A4; /* 0x00A8 */ s32 unk_A8; /* 0x00AC */ s32* unk_AC; /* 0x00B0 */ char unk_B0[0x3C]; @@ -177,7 +210,8 @@ typedef struct UnkAl19E0 { /* 0x1300 */ s32* unk_1300; /* 0x1304 */ s32* unk_1304; /* 0x1308 */ s32* unk_1308; - /* 0x130C */ char unk_130C[0x4]; + /* 0x130C */ u8 unk_130C; + /* 0x130D */ char unk_130D[3]; /* 0x1310 */ s32* unk_1310[3]; /* 0x131C */ char unk_131C[4]; /* 0x1320 */ UnkAl48 unk_1320[24]; @@ -185,7 +219,10 @@ typedef struct UnkAl19E0 { typedef struct UnkAl834 { /* 0x00 */ UnkAl19E0* unk_00; - /* 0x04 */ char unk_04[0x830]; + /* 0x04 */ s32 unk_04; + /* 0x08 */ s32 unk_08; + /* 0x0C */ s32 unk_0C; + /* 0x10 */ char unk_10[0x824]; } UnkAl834; typedef struct { @@ -201,25 +238,37 @@ typedef struct { /* 0x221 */ u8 unk_221; } UnkStructFor8004DAA8; // size unknown -void func_8004DAA8(UnkStructFor8004DAA8* arg0); extern UnkAl0* D_80078E54; extern s32* D_80078190; extern s32* D_800781D0; extern s32* D_80078544; +extern s32* D_80078DB0; extern UnkAl19E0* D_8009A5C0; extern UnkAlA9C* D_8009A5CC; extern UnkAlA9C* D_8009A5FC; +extern UnkFuncAl D_8009A5E8; extern UnkAl834* D_8009A628; extern UnkAl6CC* D_8009A640; -extern UnkAlA9C* D_8009A664;void func_800532F4(UnkAl30*); +extern UnkAlA9C* D_8009A664; + +void func_8004B748(UnkAl6CC*); +void func_8004D510(UnkAlA9C*); +void func_8004DAA8(UnkStructFor8004DAA8* arg0); +void func_800532F4(UnkAl30*); void func_80053370(UnkAl12*); -void func_800533A8(alUnk2*); +void func_800533A8(UnkAl2*); +void func_80053654(UnkAl19E0*); +void func_80053A18(UnkStructFor80053A18* arg0); +void func_80053A28(s32); +void func_80053A98(s16 arg0, s32 arg1, s32 arg2); +void func_80053BA8(s32); +void func_8005610C(void); + void al_LoadINIT(UnkAl19E0*, s32, ALHeap*); s32 al_CopyFileTableEntry(u16 arg0, s32 arg1, s32* arg2); void al_LoadPER(UnkAl19E0*, s32*); void al_LoadPRG(UnkAl19E0*, s32*); void al_DmaCopy(s32*, s32*, s32); s32* alHeapAlloc(ALHeap*, s32, s32); -void func_80053A18(UnkStructFor80053A18* arg0); #endif diff --git a/src/code_26840_len_20d0.c b/src/code_26840_len_20d0.c index 8bb059f7cc..bab0205b46 100644 --- a/src/code_26840_len_20d0.c +++ b/src/code_26840_len_20d0.c @@ -1,4 +1,5 @@ #include "common.h" +#include "audio.h" INCLUDE_ASM(s32, "code_26840_len_20d0", func_8004B440); @@ -8,7 +9,7 @@ INCLUDE_ASM(s32, "code_26840_len_20d0", func_8004B698); INCLUDE_ASM(s32, "code_26840_len_20d0", func_8004B6D8); -INCLUDE_ASM(s32, "code_26840_len_20d0", func_8004B748); +INCLUDE_ASM(void, "code_26840_len_20d0", func_8004B748, UnkAl6CC* arg0); INCLUDE_ASM(s32, "code_26840_len_20d0", func_8004B9E4); diff --git a/src/code_28910_len_5090.c b/src/code_28910_len_5090.c index e4b10452ea..e7fa42fa88 100644 --- a/src/code_28910_len_5090.c +++ b/src/code_28910_len_5090.c @@ -1,6 +1,6 @@ #include "audio.h" -INCLUDE_ASM(s32, "code_28910_len_5090", func_8004D510); +INCLUDE_ASM(void, "code_28910_len_5090", func_8004D510, UnkAlA9C* arg0); INCLUDE_ASM(s32, "code_28910_len_5090", func_8004D794); diff --git a/src/code_2e230_len_2190.c b/src/code_2e230_len_2190.c index b889a85806..568652a767 100644 --- a/src/code_2e230_len_2190.c +++ b/src/code_2e230_len_2190.c @@ -174,7 +174,7 @@ void func_80053370(UnkAl12* arg0) { arg0->unk_0A = 0; } -void func_800533A8(alUnk2* arg0) { +void func_800533A8(UnkAl2* arg0) { arg0->unk_00 = 8208; arg0->unk_02 = ~0x80; arg0->unk_03 = 64; @@ -183,11 +183,99 @@ void func_800533A8(alUnk2* arg0) { arg0->unk_06 = 0; } -INCLUDE_ASM(s32, "code_2e230_len_2190", func_800533D0); -INCLUDE_ASM(s32, "code_2e230_len_2190", func_800535C0); +void func_800533D0(void) { + UnkAl19E0* temp_s2 = D_8009A5C0; + UnkAl6CC* temp_s1 = D_8009A640; + UnkAl834* temp_s0 = D_8009A628; + UnkAlA9C* temp_s0_2; + UnkAlA9C* temp_s0_3; + s32* t1; -INCLUDE_ASM(s32, "code_2e230_len_2190", func_80053654); + func_80053654(temp_s2); + + temp_s0->unk_0C -= temp_s0->unk_04; + if (temp_s0->unk_0C <= 0) { + temp_s0->unk_0C += temp_s0->unk_08; + func_800511BC(temp_s0); + } + + if (temp_s1->unk_4A != 0) { + func_80053A28(&temp_s1->unk_40); + func_80053A98(temp_s1->unk_BE, temp_s1->unk_40, temp_s1->unk_5C); + } + + temp_s1->unk_3C -= temp_s1->unk_34; + if (temp_s1->unk_3C <= 0) { + temp_s1->unk_3C += temp_s1->unk_38; + temp_s1->unk_BA = func_8004C444(temp_s1); + } + + t1 = &D_80078DB0; + if (t1[0] == 0) { + temp_s0_2 = D_8009A5FC; + if (temp_s0_2->unk_36 != 0) { + func_8004E3A4(temp_s0_2); + } + if (temp_s0_2->unk_1C != 0) { + temp_s0_2->unk_18++; + } + + temp_s0_2->unk_10 -= temp_s0_2->unk_08; + if (temp_s0_2->unk_10 <= 0) { + temp_s0_2->unk_10 += temp_s0_2->unk_0C; + temp_s0_2->unk_5C = func_8004E4B8(temp_s0_2); + } + if (t1[0] == 0) { + if (temp_s2->unk_80 != 0) { + func_8004DFD4(temp_s2); + } + temp_s0_3 = D_8009A664; + if (temp_s0_3->unk_46 != 0) { + func_80053BA8(&temp_s0_3->unk_2C); + if (temp_s0_3->unk_36 == 0) { + func_8004E444(temp_s0_3); + } else { + func_8004E3A4(temp_s0_3); + } + } else if (temp_s0_3->unk_36 != 0) { + func_8004E3A4(temp_s0_3); + } + if (temp_s0_3->unk_1C != 0) { + temp_s0_3->unk_18++; + } + + temp_s0_3->unk_10 -= temp_s0_3->unk_08; + if (temp_s0_3->unk_10 <= 0) { + temp_s0_3->unk_10 += temp_s0_3->unk_0C; + temp_s0_3->unk_5C = func_8004E4B8(temp_s0_3); + } + } + } + func_80052660(temp_s2); +} + +void func_800535C0(void) { + UnkAl19E0* temp_s1 = D_8009A5C0; + UnkAlA9C* temp = D_8009A664; + UnkAl6CC* temp_s2 = D_8009A640; + + if (temp_s1->unk_9C != 0) { + func_8005610C(); + } + + D_8009A5E8 = temp_s1->unk_A4; + if (D_8009A5E8 != NULL) { + D_8009A5E8(); + } + + func_8004D510(temp); + temp = D_8009A5FC; + func_8004D510(temp); + func_8004B748(temp_s2); +} + +INCLUDE_ASM(void, "code_2e230_len_2190", func_80053654, UnkAl19E0* arg0); INCLUDE_ASM(s32, "code_2e230_len_2190", func_80053888); @@ -203,11 +291,11 @@ void func_80053A18(UnkStructFor80053A18* arg0) { arg0->unk_0C = 0; } -INCLUDE_ASM(s32, "code_2e230_len_2190", func_80053A28); +INCLUDE_ASM(void, "code_2e230_len_2190", func_80053A28, s32 arg0); -INCLUDE_ASM(s32, "code_2e230_len_2190", func_80053A98); +INCLUDE_ASM(void, "code_2e230_len_2190", func_80053A98, s16 arg0, s32 arg1, s32 arg2); -void func_80053AC8(alUnk1* arg0) { +void func_80053AC8(UnkAl1* arg0) { if (arg0->unk_0A == 0) { arg0->unk_0A = 1; arg0->unk_04 = 0; @@ -215,7 +303,7 @@ void func_80053AC8(alUnk1* arg0) { } } -void func_80053AEC(alUnk1* arg0, s16 arg1) { +void func_80053AEC(UnkAl1* arg0, s16 arg1) { arg0->unk_10 = arg1 << 16; arg0->unk_18 = arg1; arg0->unk_1A = 0; @@ -224,7 +312,7 @@ void func_80053AEC(alUnk1* arg0, s16 arg1) { INCLUDE_ASM(s32, "code_2e230_len_2190", func_80053B04); -INCLUDE_ASM(s32, "code_2e230_len_2190", func_80053BA8); +INCLUDE_ASM(void, "code_2e230_len_2190", func_80053BA8, s32 arg0); INCLUDE_ASM(s32, "code_2e230_len_2190", func_80053BE8); @@ -240,12 +328,23 @@ UnkAlA9C* func_80053F64(s32 arg0) { if (arg0 == 0) { return D_8009A5C0->unk_6C[0].unk_0; // 0x6C } - return 0; + return NULL; } INCLUDE_ASM(s32, "code_2e230_len_2190", func_80053F80); -INCLUDE_ASM(s32, "code_2e230_len_2190", func_80054248); +UnkAlA9C* func_80054248(u8 arg0) { + switch (arg0) { + case 1: + return D_8009A664; + case 2: + return D_8009A5FC; + case 4: + return D_8009A640; + default: + return NULL; + } +} INCLUDE_ASM(void, "code_2e230_len_2190", al_LoadINIT, UnkAl19E0* arg0, s32 arg1, ALHeap* arg2); @@ -271,7 +370,12 @@ INCLUDE_ASM(s32, "code_2e230_len_2190", func_80054C84); INCLUDE_ASM(s32, "code_2e230_len_2190", func_80054CE0); -INCLUDE_ASM(s32, "code_2e230_len_2190", func_80054D74); +s32 func_80054D74(s32 arg0) { + if (arg0 & 0x10) { + return func_8004B9E4(D_8009A640); + } + return 0; +} INCLUDE_ASM(s32, "code_2e230_len_2190", func_80054DA8); diff --git a/src/code_303c0_len_3e10.c b/src/code_303c0_len_3e10.c index 76cbc9c2a1..cb4da69051 100644 --- a/src/code_303c0_len_3e10.c +++ b/src/code_303c0_len_3e10.c @@ -134,7 +134,7 @@ INCLUDE_ASM(s32, "code_303c0_len_3e10", func_800560A8); INCLUDE_ASM(s32, "code_303c0_len_3e10", func_800560BC); -INCLUDE_ASM(s32, "code_303c0_len_3e10", func_8005610C); +INCLUDE_ASM(void, "code_303c0_len_3e10", func_8005610C, void); INCLUDE_ASM(s32, "code_303c0_len_3e10", func_80056144); From 9f8b44e7c94dab76186105a6dd4aca36d7c3b838 Mon Sep 17 00:00:00 2001 From: Ethan Roseman Date: Tue, 1 Dec 2020 12:12:32 -0500 Subject: [PATCH 14/97] more audio --- .../code_2e230_len_2190/func_80053888.s | 20 ------- .../code_2e230_len_2190/func_800538C4.s | 17 ------ .../code_2e230_len_2190/func_80053A98.s | 16 ------ .../code_2e230_len_2190/func_80053B04.s | 48 ----------------- .../code_2e230_len_2190/func_80053BA8.s | 21 -------- .../code_2e230_len_2190/func_80054C4C.s | 18 ------- src/audio.h | 26 ++++----- src/code_2e230_len_2190.c | 53 ++++++++++++++++--- src/code_303c0_len_3e10.c | 4 +- 9 files changed, 63 insertions(+), 160 deletions(-) delete mode 100644 asm/nonmatchings/code_2e230_len_2190/func_80053888.s delete mode 100644 asm/nonmatchings/code_2e230_len_2190/func_800538C4.s delete mode 100644 asm/nonmatchings/code_2e230_len_2190/func_80053A98.s delete mode 100644 asm/nonmatchings/code_2e230_len_2190/func_80053B04.s delete mode 100644 asm/nonmatchings/code_2e230_len_2190/func_80053BA8.s delete mode 100644 asm/nonmatchings/code_2e230_len_2190/func_80054C4C.s diff --git a/asm/nonmatchings/code_2e230_len_2190/func_80053888.s b/asm/nonmatchings/code_2e230_len_2190/func_80053888.s deleted file mode 100644 index a6db62b84e..0000000000 --- a/asm/nonmatchings/code_2e230_len_2190/func_80053888.s +++ /dev/null @@ -1,20 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel func_80053888 -/* 2EC88 80053888 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 2EC8C 8005388C AFBF0010 */ sw $ra, 0x10($sp) -/* 2EC90 80053890 90820045 */ lbu $v0, 0x45($a0) -/* 2EC94 80053894 10400008 */ beqz $v0, .L800538B8 -/* 2EC98 80053898 24020001 */ addiu $v0, $zero, 1 -/* 2EC9C 8005389C AC80001C */ sw $zero, 0x1c($a0) -/* 2ECA0 800538A0 A0820042 */ sb $v0, 0x42($a0) -/* 2ECA4 800538A4 A0800043 */ sb $zero, 0x43($a0) -/* 2ECA8 800538A8 30A400FF */ andi $a0, $a1, 0xff -/* 2ECAC 800538AC 0000282D */ daddu $a1, $zero, $zero -/* 2ECB0 800538B0 0C015DBB */ jal func_800576EC -/* 2ECB4 800538B4 240600B8 */ addiu $a2, $zero, 0xb8 -.L800538B8: -/* 2ECB8 800538B8 8FBF0010 */ lw $ra, 0x10($sp) -/* 2ECBC 800538BC 03E00008 */ jr $ra -/* 2ECC0 800538C0 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/code_2e230_len_2190/func_800538C4.s b/asm/nonmatchings/code_2e230_len_2190/func_800538C4.s deleted file mode 100644 index 4006541dac..0000000000 --- a/asm/nonmatchings/code_2e230_len_2190/func_800538C4.s +++ /dev/null @@ -1,17 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel func_800538C4 -/* 2ECC4 800538C4 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 2ECC8 800538C8 24020001 */ addiu $v0, $zero, 1 -/* 2ECCC 800538CC AFBF0010 */ sw $ra, 0x10($sp) -/* 2ECD0 800538D0 AC80001C */ sw $zero, 0x1c($a0) -/* 2ECD4 800538D4 A0820042 */ sb $v0, 0x42($a0) -/* 2ECD8 800538D8 A0800043 */ sb $zero, 0x43($a0) -/* 2ECDC 800538DC 30A400FF */ andi $a0, $a1, 0xff -/* 2ECE0 800538E0 0000282D */ daddu $a1, $zero, $zero -/* 2ECE4 800538E4 0C015DBB */ jal func_800576EC -/* 2ECE8 800538E8 240600B8 */ addiu $a2, $zero, 0xb8 -/* 2ECEC 800538EC 8FBF0010 */ lw $ra, 0x10($sp) -/* 2ECF0 800538F0 03E00008 */ jr $ra -/* 2ECF4 800538F4 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/code_2e230_len_2190/func_80053A98.s b/asm/nonmatchings/code_2e230_len_2190/func_80053A98.s deleted file mode 100644 index 884bc57de1..0000000000 --- a/asm/nonmatchings/code_2e230_len_2190/func_80053A98.s +++ /dev/null @@ -1,16 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel func_80053A98 -/* 2EE98 80053A98 30A5FFFF */ andi $a1, $a1, 0xffff -/* 2EE9C 80053A9C 00A60018 */ mult $a1, $a2 -/* 2EEA0 80053AA0 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 2EEA4 80053AA4 308400FF */ andi $a0, $a0, 0xff -/* 2EEA8 80053AA8 AFBF0010 */ sw $ra, 0x10($sp) -/* 2EEAC 80053AAC 00001012 */ mflo $v0 -/* 2EEB0 80053AB0 00022BC2 */ srl $a1, $v0, 0xf -/* 2EEB4 80053AB4 0C015B5E */ jal func_80056D78 -/* 2EEB8 80053AB8 30A5FFFF */ andi $a1, $a1, 0xffff -/* 2EEBC 80053ABC 8FBF0010 */ lw $ra, 0x10($sp) -/* 2EEC0 80053AC0 03E00008 */ jr $ra -/* 2EEC4 80053AC4 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/code_2e230_len_2190/func_80053B04.s b/asm/nonmatchings/code_2e230_len_2190/func_80053B04.s deleted file mode 100644 index 3c528e30e4..0000000000 --- a/asm/nonmatchings/code_2e230_len_2190/func_80053B04.s +++ /dev/null @@ -1,48 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel func_80053B04 -/* 2EF04 80053B04 3C020001 */ lui $v0, 1 -/* 2EF08 80053B08 344285A6 */ ori $v0, $v0, 0x85a6 -/* 2EF0C 80053B0C 24A3FF06 */ addiu $v1, $a1, -0xfa -/* 2EF10 80053B10 0043102B */ sltu $v0, $v0, $v1 -/* 2EF14 80053B14 14400021 */ bnez $v0, .L80053B9C -/* 2EF18 80053B18 0080382D */ daddu $a3, $a0, $zero -/* 2EF1C 80053B1C 3C03B65C */ lui $v1, 0xb65c -/* 2EF20 80053B20 34636D59 */ ori $v1, $v1, 0x6d59 -/* 2EF24 80053B24 00051140 */ sll $v0, $a1, 5 -/* 2EF28 80053B28 00451023 */ subu $v0, $v0, $a1 -/* 2EF2C 80053B2C 00021080 */ sll $v0, $v0, 2 -/* 2EF30 80053B30 00451021 */ addu $v0, $v0, $a1 -/* 2EF34 80053B34 000210C0 */ sll $v0, $v0, 3 -/* 2EF38 80053B38 00430018 */ mult $v0, $v1 -/* 2EF3C 80053B3C 00001810 */ mfhi $v1 -/* 2EF40 80053B40 00622021 */ addu $a0, $v1, $v0 -/* 2EF44 80053B44 00042303 */ sra $a0, $a0, 0xc -/* 2EF48 80053B48 000217C3 */ sra $v0, $v0, 0x1f -/* 2EF4C 80053B4C 00822023 */ subu $a0, $a0, $v0 -/* 2EF50 80053B50 8CE20010 */ lw $v0, 0x10($a3) -/* 2EF54 80053B54 00061C00 */ sll $v1, $a2, 0x10 -/* 2EF58 80053B58 00621823 */ subu $v1, $v1, $v0 -/* 2EF5C 80053B5C 00041400 */ sll $v0, $a0, 0x10 -/* 2EF60 80053B60 00021403 */ sra $v0, $v0, 0x10 -/* 2EF64 80053B64 14400002 */ bnez $v0, .L80053B70 -/* 2EF68 80053B68 0062001A */ div $zero, $v1, $v0 -/* 2EF6C 80053B6C 0007000D */ break 7 -.L80053B70: -/* 2EF70 80053B70 2401FFFF */ addiu $at, $zero, -1 -/* 2EF74 80053B74 14410004 */ bne $v0, $at, .L80053B88 -/* 2EF78 80053B78 3C018000 */ lui $at, 0x8000 -/* 2EF7C 80053B7C 14610002 */ bne $v1, $at, .L80053B88 -/* 2EF80 80053B80 00000000 */ nop -/* 2EF84 80053B84 0006000D */ break 6 -.L80053B88: -/* 2EF88 80053B88 00001812 */ mflo $v1 -/* 2EF8C 80053B8C A4E60018 */ sh $a2, 0x18($a3) -/* 2EF90 80053B90 A4E4001A */ sh $a0, 0x1a($a3) -/* 2EF94 80053B94 03E00008 */ jr $ra -/* 2EF98 80053B98 ACE30014 */ sw $v1, 0x14($a3) -.L80053B9C: -/* 2EF9C 80053B9C A4E0001A */ sh $zero, 0x1a($a3) -/* 2EFA0 80053BA0 03E00008 */ jr $ra -/* 2EFA4 80053BA4 ACE00014 */ sw $zero, 0x14($a3) diff --git a/asm/nonmatchings/code_2e230_len_2190/func_80053BA8.s b/asm/nonmatchings/code_2e230_len_2190/func_80053BA8.s deleted file mode 100644 index feae26bb38..0000000000 --- a/asm/nonmatchings/code_2e230_len_2190/func_80053BA8.s +++ /dev/null @@ -1,21 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel func_80053BA8 -/* 2EFA8 80053BA8 9482001A */ lhu $v0, 0x1a($a0) -/* 2EFAC 80053BAC 2442FFFF */ addiu $v0, $v0, -1 -/* 2EFB0 80053BB0 A482001A */ sh $v0, 0x1a($a0) -/* 2EFB4 80053BB4 00021400 */ sll $v0, $v0, 0x10 -/* 2EFB8 80053BB8 10400006 */ beqz $v0, .L80053BD4 -/* 2EFBC 80053BBC 00000000 */ nop -/* 2EFC0 80053BC0 8C820010 */ lw $v0, 0x10($a0) -/* 2EFC4 80053BC4 8C830014 */ lw $v1, 0x14($a0) -/* 2EFC8 80053BC8 00431021 */ addu $v0, $v0, $v1 -/* 2EFCC 80053BCC 03E00008 */ jr $ra -/* 2EFD0 80053BD0 AC820010 */ sw $v0, 0x10($a0) -.L80053BD4: -/* 2EFD4 80053BD4 84820018 */ lh $v0, 0x18($a0) -/* 2EFD8 80053BD8 AC800014 */ sw $zero, 0x14($a0) -/* 2EFDC 80053BDC 00021400 */ sll $v0, $v0, 0x10 -/* 2EFE0 80053BE0 03E00008 */ jr $ra -/* 2EFE4 80053BE4 AC820010 */ sw $v0, 0x10($a0) diff --git a/asm/nonmatchings/code_2e230_len_2190/func_80054C4C.s b/asm/nonmatchings/code_2e230_len_2190/func_80054C4C.s deleted file mode 100644 index 6e297b8883..0000000000 --- a/asm/nonmatchings/code_2e230_len_2190/func_80054C4C.s +++ /dev/null @@ -1,18 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel func_80054C4C -/* 3004C 80054C4C 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 30050 80054C50 00051080 */ sll $v0, $a1, 2 -/* 30054 80054C54 3C03800A */ lui $v1, %hi(D_8009A5C0) -/* 30058 80054C58 8C63A5C0 */ lw $v1, %lo(D_8009A5C0)($v1) -/* 3005C 80054C5C 00A0302D */ daddu $a2, $a1, $zero -/* 30060 80054C60 AFBF0010 */ sw $ra, 0x10($sp) -/* 30064 80054C64 00621821 */ addu $v1, $v1, $v0 -/* 30068 80054C68 8C651310 */ lw $a1, 0x1310($v1) -/* 3006C 80054C6C 0C0151F2 */ jal al_LoadBank -/* 30070 80054C70 24070001 */ addiu $a3, $zero, 1 -/* 30074 80054C74 8FBF0010 */ lw $ra, 0x10($sp) -/* 30078 80054C78 0000102D */ daddu $v0, $zero, $zero -/* 3007C 80054C7C 03E00008 */ jr $ra -/* 30080 80054C80 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/src/audio.h b/src/audio.h index b41345e93d..ca1e62cd7d 100644 --- a/src/audio.h +++ b/src/audio.h @@ -5,15 +5,6 @@ #undef alHeapAlloc -// Probably some libultra audio thing -typedef struct UnkStructFor80053A18 { - /* 0x00 */ UNK_TYPE unk_00; - /* 0x04 */ s32 unk_04; - /* 0x08 */ char unk_08[2]; - /* 0x0A */ u16 unk_0A; - /* 0x0C */ s32 unk_0C; -} UnkStructFor80053A18; // size unknown - typedef struct UnkAl1 { /* 0x00 */ s16 unk_00; /* 0x02 */ char unk_02[2]; @@ -68,7 +59,7 @@ typedef struct UnkAlA9C { /* 0x018 */ s32 unk_18; /* 0x01C */ s32 unk_1C; /* 0x020 */ char unk_20[0xC]; - /* 0x02C */ s32 unk_2C; + /* 0x02C */ s32* unk_2C; /* 0x030 */ char unk_30[0x6]; /* 0x036 */ s16 unk_36; /* 0x038 */ char unk_38[0xE]; @@ -92,7 +83,7 @@ typedef struct UnkAl48 { /* 0x42 */ s8 unk_42; /* 0x43 */ s8 unk_43; /* 0x44 */ s8 unk_44; - /* 0x45 */ s8 unk_45; + /* 0x45 */ u8 unk_45; /* 0x46 */ char unk_46[2]; } UnkAl48; // size = 0x48 @@ -225,6 +216,15 @@ typedef struct UnkAl834 { /* 0x10 */ char unk_10[0x824]; } UnkAl834; +// Probably some libultra audio thing +typedef struct UnkStructFor80053A18 { + /* 0x00 */ UNK_TYPE unk_00; + /* 0x04 */ s32 unk_04; + /* 0x08 */ char unk_08[2]; + /* 0x0A */ u16 unk_0A; + /* 0x0C */ s32 unk_0C; +} UnkStructFor80053A18; // size unknown + typedef struct { /* 0x000 */ char unk_000[8]; /* 0x008 */ s32 unk_008; @@ -261,8 +261,10 @@ void func_80053654(UnkAl19E0*); void func_80053A18(UnkStructFor80053A18* arg0); void func_80053A28(s32); void func_80053A98(s16 arg0, s32 arg1, s32 arg2); -void func_80053BA8(s32); +void func_80053BA8(UnkAl1*); void func_8005610C(void); +void func_80056D78(u8, u16); +void func_800576EC(u8, s32, s32); void al_LoadINIT(UnkAl19E0*, s32, ALHeap*); s32 al_CopyFileTableEntry(u16 arg0, s32 arg1, s32* arg2); diff --git a/src/code_2e230_len_2190.c b/src/code_2e230_len_2190.c index 568652a767..ffbf8dae9f 100644 --- a/src/code_2e230_len_2190.c +++ b/src/code_2e230_len_2190.c @@ -277,9 +277,21 @@ void func_800535C0(void) { INCLUDE_ASM(void, "code_2e230_len_2190", func_80053654, UnkAl19E0* arg0); -INCLUDE_ASM(s32, "code_2e230_len_2190", func_80053888); +void func_80053888(UnkAl48* arg0, s32 arg1) { // type may be wrong but it seems good + if (arg0->unk_45 != 0) { + arg0->unk_1C = 0; + arg0->unk_42 = 1; + arg0->unk_43 = 0; + func_800576EC(arg1, 0, 0xB8); + } +} -INCLUDE_ASM(s32, "code_2e230_len_2190", func_800538C4); +void func_800538C4(UnkAl48* arg0, s32 arg1) { // type may be wrong but it seems good + arg0->unk_1C = 0; + arg0->unk_42 = 1; + arg0->unk_43 = 0; + func_800576EC(arg1, 0, 0xB8); +} INCLUDE_ASM(s32, "code_2e230_len_2190", func_800538F8); @@ -293,7 +305,9 @@ void func_80053A18(UnkStructFor80053A18* arg0) { INCLUDE_ASM(void, "code_2e230_len_2190", func_80053A28, s32 arg0); -INCLUDE_ASM(void, "code_2e230_len_2190", func_80053A98, s16 arg0, s32 arg1, s32 arg2); +void func_80053A98(s16 arg0, s32 arg1, s32 arg2) { + func_80056D78(arg0, (u32) ((u16)arg1 * arg2) >> 15); +} void func_80053AC8(UnkAl1* arg0) { if (arg0->unk_0A == 0) { @@ -310,9 +324,33 @@ void func_80053AEC(UnkAl1* arg0, s16 arg1) { arg0->unk_14 = 0; } -INCLUDE_ASM(s32, "code_2e230_len_2190", func_80053B04); +void func_80053B04(UnkAl1 *arg0, u32 arg1, s16 arg2) { + s16 temp_a0; + s32 temp_v1; -INCLUDE_ASM(void, "code_2e230_len_2190", func_80053BA8, s32 arg0); + if (arg1 - 250 <= 99750) { + temp_a0 = (s32)(arg1 * 1000) / 5750; + temp_v1 = (arg2 << 16) - arg0->unk_10; + + arg0->unk_18 = arg2; + arg0->unk_1A = temp_a0; + arg0->unk_14 = temp_v1 / temp_a0; + } else { + arg0->unk_1A = 0; + arg0->unk_14 = 0; + } +} + +void func_80053BA8(UnkAl1 *arg0) { + arg0->unk_1A--; + + if (arg0->unk_1A != 0) { + arg0->unk_10 += arg0->unk_14; + } else { + arg0->unk_14 = 0; + arg0->unk_10 = arg0->unk_18 << 16; + } +} INCLUDE_ASM(s32, "code_2e230_len_2190", func_80053BE8); @@ -364,7 +402,10 @@ INCLUDE_ASM(s32, "code_2e230_len_2190", func_800549F8); INCLUDE_ASM(s32, "code_2e230_len_2190", func_80054AA0); -INCLUDE_ASM(s32, "code_2e230_len_2190", func_80054C4C); +s32 func_80054C4C(s32 arg0, s32 arg1) { + al_LoadBank(arg0, D_8009A5C0->unk_1310[arg1], arg1, 1); + return 0; +} INCLUDE_ASM(s32, "code_2e230_len_2190", func_80054C84); diff --git a/src/code_303c0_len_3e10.c b/src/code_303c0_len_3e10.c index cb4da69051..dd452ac5d5 100644 --- a/src/code_303c0_len_3e10.c +++ b/src/code_303c0_len_3e10.c @@ -166,7 +166,7 @@ INCLUDE_ASM(s32, "code_303c0_len_3e10", func_80056D50); INCLUDE_ASM(s32, "code_303c0_len_3e10", func_80056D5C); -INCLUDE_ASM(s32, "code_303c0_len_3e10", func_80056D78); +INCLUDE_ASM(void, "code_303c0_len_3e10", func_80056D78, u8 arg0, u16 arg1); INCLUDE_ASM(s32, "code_303c0_len_3e10", func_80056DA4); @@ -190,7 +190,7 @@ INCLUDE_ASM(s32, "code_303c0_len_3e10", func_8005736C); INCLUDE_ASM(s32, "code_303c0_len_3e10", func_80057548); -INCLUDE_ASM(s32, "code_303c0_len_3e10", func_800576EC); +INCLUDE_ASM(void, "code_303c0_len_3e10", func_800576EC, u8 arg0, s32 arg1, s32 arg2); INCLUDE_ASM(s32, "code_303c0_len_3e10", func_80057874); From 7851aac54edcfef707937b3fbefdc596d597c4e4 Mon Sep 17 00:00:00 2001 From: Ethan Roseman Date: Tue, 1 Dec 2020 12:22:31 -0500 Subject: [PATCH 15/97] tiny change --- src/code_2e230_len_2190.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/code_2e230_len_2190.c b/src/code_2e230_len_2190.c index ffbf8dae9f..0980f8a851 100644 --- a/src/code_2e230_len_2190.c +++ b/src/code_2e230_len_2190.c @@ -328,7 +328,7 @@ void func_80053B04(UnkAl1 *arg0, u32 arg1, s16 arg2) { s16 temp_a0; s32 temp_v1; - if (arg1 - 250 <= 99750) { + if (arg1 >= 250 && arg1 <= 100000) { temp_a0 = (s32)(arg1 * 1000) / 5750; temp_v1 = (arg2 << 16) - arg0->unk_10; From d39d5837c3eb78cba1b52c807e51efc1570e1baa Mon Sep 17 00:00:00 2001 From: Ethan Roseman Date: Tue, 1 Dec 2020 18:23:26 -0500 Subject: [PATCH 16/97] alHeapAlloc --- .../code_303c0_len_3e10/alHeapAlloc.s | 23 ------------------- include/macros.h | 2 ++ src/audio.h | 6 ++--- src/code_303c0_len_3e10.c | 16 ++++++++++--- 4 files changed, 18 insertions(+), 29 deletions(-) delete mode 100644 asm/nonmatchings/code_303c0_len_3e10/alHeapAlloc.s diff --git a/asm/nonmatchings/code_303c0_len_3e10/alHeapAlloc.s b/asm/nonmatchings/code_303c0_len_3e10/alHeapAlloc.s deleted file mode 100644 index e6d02ad8a7..0000000000 --- a/asm/nonmatchings/code_303c0_len_3e10/alHeapAlloc.s +++ /dev/null @@ -1,23 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel alHeapAlloc -/* 33390 80057F90 0080382D */ daddu $a3, $a0, $zero -/* 33394 80057F94 00A60018 */ mult $a1, $a2 -/* 33398 80057F98 2402FFF0 */ addiu $v0, $zero, -0x10 -/* 3339C 80057F9C 8CE50004 */ lw $a1, 4($a3) -/* 333A0 80057FA0 8CE40008 */ lw $a0, 8($a3) -/* 333A4 80057FA4 00004012 */ mflo $t0 -/* 333A8 80057FA8 2503000F */ addiu $v1, $t0, 0xf -/* 333AC 80057FAC 00621824 */ and $v1, $v1, $v0 -/* 333B0 80057FB0 8CE20000 */ lw $v0, ($a3) -/* 333B4 80057FB4 00A31821 */ addu $v1, $a1, $v1 -/* 333B8 80057FB8 00441021 */ addu $v0, $v0, $a0 -/* 333BC 80057FBC 0043102B */ sltu $v0, $v0, $v1 -/* 333C0 80057FC0 14400003 */ bnez $v0, .L80057FD0 -/* 333C4 80057FC4 0000302D */ daddu $a2, $zero, $zero -/* 333C8 80057FC8 00A0302D */ daddu $a2, $a1, $zero -/* 333CC 80057FCC ACE30004 */ sw $v1, 4($a3) -.L80057FD0: -/* 333D0 80057FD0 03E00008 */ jr $ra -/* 333D4 80057FD4 00C0102D */ daddu $v0, $a2, $zero diff --git a/include/macros.h b/include/macros.h index 3afdfffa23..d181e67656 100644 --- a/include/macros.h +++ b/include/macros.h @@ -10,6 +10,8 @@ #define INCLUDE_ASM(TYPE, FOLDER, NAME, ARGS...) #endif +#define ALIGN16(val) (((val) + 0xF) & ~0xF) + #define ARRAY_COUNT(arr) (s32)(sizeof(arr) / sizeof(arr[0])) #define ARRAY_COUNTU(arr) (u32)(sizeof(arr) / sizeof(arr[0])) diff --git a/src/audio.h b/src/audio.h index ca1e62cd7d..f1b28c5940 100644 --- a/src/audio.h +++ b/src/audio.h @@ -3,8 +3,6 @@ #include "common.h" -#undef alHeapAlloc - typedef struct UnkAl1 { /* 0x00 */ s16 unk_00; /* 0x02 */ char unk_02[2]; @@ -271,6 +269,8 @@ s32 al_CopyFileTableEntry(u16 arg0, s32 arg1, s32* arg2); void al_LoadPER(UnkAl19E0*, s32*); void al_LoadPRG(UnkAl19E0*, s32*); void al_DmaCopy(s32*, s32*, s32); -s32* alHeapAlloc(ALHeap*, s32, s32); + +#undef alHeapAlloc +void* alHeapAlloc(ALHeap *heap, s32 arg1, s32 size); #endif diff --git a/src/code_303c0_len_3e10.c b/src/code_303c0_len_3e10.c index dd452ac5d5..e38aac05db 100644 --- a/src/code_303c0_len_3e10.c +++ b/src/code_303c0_len_3e10.c @@ -1,7 +1,8 @@ #include "common.h" +#include "audio.h" + // TODO: rodata -extern s32 D_80078DB0; extern u16 D_80078DB4; INCLUDE_ASM(s32, "code_303c0_len_3e10", al_LoadBKHeaders); @@ -224,8 +225,17 @@ INCLUDE_ASM(s32, "code_303c0_len_3e10", func_80057ED0); INCLUDE_ASM(s32, "code_303c0_len_3e10", func_80057F20); -#undef alHeapAlloc -INCLUDE_ASM(void, "code_303c0_len_3e10", alHeapAlloc, u8* file, s32 line, ALHeap* hp, s32 num, s32 size); +void* alHeapAlloc(ALHeap *heap, s32 arg1, s32 size) { + void* ret = NULL; + u8* prevCur = heap->cur; + u8* newCur = &prevCur[ALIGN16(arg1 * size)]; + + if (&heap->base[heap->len] >= newCur) { + ret = prevCur; + heap->cur = newCur; + } + return ret; +} INCLUDE_ASM(s32, "code_303c0_len_3e10", func_80057FD8); From 1b3bcf7dd66f186e45b6e5f71f6708036581d21c Mon Sep 17 00:00:00 2001 From: Ethan Roseman Date: Tue, 1 Dec 2020 18:24:43 -0500 Subject: [PATCH 17/97] cleanup --- src/code_303c0_len_3e10.c | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/src/code_303c0_len_3e10.c b/src/code_303c0_len_3e10.c index e38aac05db..ece317290b 100644 --- a/src/code_303c0_len_3e10.c +++ b/src/code_303c0_len_3e10.c @@ -227,11 +227,10 @@ INCLUDE_ASM(s32, "code_303c0_len_3e10", func_80057F20); void* alHeapAlloc(ALHeap *heap, s32 arg1, s32 size) { void* ret = NULL; - u8* prevCur = heap->cur; - u8* newCur = &prevCur[ALIGN16(arg1 * size)]; + u8* newCur = &heap->cur[ALIGN16(arg1 * size)]; if (&heap->base[heap->len] >= newCur) { - ret = prevCur; + ret = heap->cur; heap->cur = newCur; } return ret; From 5062328c73f883e888faceb06e62733b282dc324 Mon Sep 17 00:00:00 2001 From: Ethan Roseman Date: Tue, 1 Dec 2020 19:13:24 -0500 Subject: [PATCH 18/97] new file --- .../code_303c0_len_3e10/func_800553F4.s | 9 - .../code_303c0_len_3e10/func_800560A8.s | 9 - .../code_303c0_len_3e10/func_8005615C.s | 13 - .../code_303c0_len_3e10/func_80056180.s | 13 - .../code_303c0_len_3e10/func_800561A4.s | 12 - .../code_303c0_len_3e10/func_800561C4.s | 12 - .../code_303c0_len_3e10/func_800561E4.s | 12 - .../code_303c0_len_3e10/func_80056204.s | 13 - asm/nonmatchings/code_31650/alAudioFrame.s | 517 ++++++++++++ asm/nonmatchings/code_31650/func_80056250.s | 223 ++++++ asm/nonmatchings/code_31650/func_800565A4.s | 12 + asm/nonmatchings/code_31650/func_80056D34.s | 8 + asm/nonmatchings/code_31650/func_80056D44.s | 7 + asm/nonmatchings/code_31650/func_80056D50.s | 7 + asm/nonmatchings/code_31650/func_80056D5C.s | 11 + asm/nonmatchings/code_31650/func_80056D78.s | 15 + asm/nonmatchings/code_31650/func_80056DA4.s | 14 + asm/nonmatchings/code_31650/func_80056DCC.s | 30 + asm/nonmatchings/code_31650/func_80056E34.s | 39 + asm/nonmatchings/code_31650/func_80056EC0.s | 14 + asm/nonmatchings/code_31650/func_80056EE8.s | 42 + asm/nonmatchings/code_31650/func_80056F78.s | 15 + asm/nonmatchings/code_31650/func_80056FA4.s | 173 ++++ asm/nonmatchings/code_31650/func_80057224.s | 80 ++ asm/nonmatchings/code_31650/func_80057344.s | 14 + asm/nonmatchings/code_31650/func_8005736C.s | 128 +++ asm/nonmatchings/code_31650/func_80057548.s | 114 +++ asm/nonmatchings/code_31650/func_800576EC.s | 107 +++ asm/nonmatchings/code_31650/func_80057874.s | 98 +++ asm/nonmatchings/code_31650/func_800579D8.s | 108 +++ asm/nonmatchings/code_31650/func_80057B64.s | 14 + asm/nonmatchings/code_31650/func_80057B8C.s | 14 + asm/nonmatchings/code_31650/func_80057BB4.s | 14 + asm/nonmatchings/code_31650/func_80057BDC.s | 14 + asm/nonmatchings/code_31650/func_80057C04.s | 14 + asm/nonmatchings/code_31650/func_80057C2C.s | 14 + asm/nonmatchings/code_31650/func_80057C54.s | 53 ++ asm/nonmatchings/code_31650/func_80057D0C.s | 54 ++ asm/nonmatchings/code_31650/func_80057DC8.s | 22 + asm/nonmatchings/code_31650/func_80057E08.s | 26 + asm/nonmatchings/code_31650/func_80057E5C.s | 26 + asm/nonmatchings/code_31650/func_80057EB0.s | 12 + asm/nonmatchings/code_31650/func_80057ED0.s | 25 + asm/nonmatchings/code_31650/func_80057F20.s | 36 + asm/nonmatchings/code_31650/func_80057FD8.s | 17 + asm/nonmatchings/code_31650/func_80058004.s | 24 + asm/nonmatchings/code_31650/func_80058050.s | 745 ++++++++++++++++++ asm/nonmatchings/code_31650/func_80058B20.s | 90 +++ asm/nonmatchings/code_31650/func_80058C6C.s | 99 +++ include/functions.h | 2 +- src/audio.h | 17 +- src/code_26840_len_20d0.c | 2 +- src/code_2e230_len_2190.c | 2 +- src/code_303c0_len_3e10.c | 134 +--- src/code_31650.c | 113 +++ tools/splat.yaml | 1 + 56 files changed, 3251 insertions(+), 202 deletions(-) delete mode 100644 asm/nonmatchings/code_303c0_len_3e10/func_800553F4.s delete mode 100644 asm/nonmatchings/code_303c0_len_3e10/func_800560A8.s delete mode 100644 asm/nonmatchings/code_303c0_len_3e10/func_8005615C.s delete mode 100644 asm/nonmatchings/code_303c0_len_3e10/func_80056180.s delete mode 100644 asm/nonmatchings/code_303c0_len_3e10/func_800561A4.s delete mode 100644 asm/nonmatchings/code_303c0_len_3e10/func_800561C4.s delete mode 100644 asm/nonmatchings/code_303c0_len_3e10/func_800561E4.s delete mode 100644 asm/nonmatchings/code_303c0_len_3e10/func_80056204.s create mode 100644 asm/nonmatchings/code_31650/alAudioFrame.s create mode 100644 asm/nonmatchings/code_31650/func_80056250.s create mode 100644 asm/nonmatchings/code_31650/func_800565A4.s create mode 100644 asm/nonmatchings/code_31650/func_80056D34.s create mode 100644 asm/nonmatchings/code_31650/func_80056D44.s create mode 100644 asm/nonmatchings/code_31650/func_80056D50.s create mode 100644 asm/nonmatchings/code_31650/func_80056D5C.s create mode 100644 asm/nonmatchings/code_31650/func_80056D78.s create mode 100644 asm/nonmatchings/code_31650/func_80056DA4.s create mode 100644 asm/nonmatchings/code_31650/func_80056DCC.s create mode 100644 asm/nonmatchings/code_31650/func_80056E34.s create mode 100644 asm/nonmatchings/code_31650/func_80056EC0.s create mode 100644 asm/nonmatchings/code_31650/func_80056EE8.s create mode 100644 asm/nonmatchings/code_31650/func_80056F78.s create mode 100644 asm/nonmatchings/code_31650/func_80056FA4.s create mode 100644 asm/nonmatchings/code_31650/func_80057224.s create mode 100644 asm/nonmatchings/code_31650/func_80057344.s create mode 100644 asm/nonmatchings/code_31650/func_8005736C.s create mode 100644 asm/nonmatchings/code_31650/func_80057548.s create mode 100644 asm/nonmatchings/code_31650/func_800576EC.s create mode 100644 asm/nonmatchings/code_31650/func_80057874.s create mode 100644 asm/nonmatchings/code_31650/func_800579D8.s create mode 100644 asm/nonmatchings/code_31650/func_80057B64.s create mode 100644 asm/nonmatchings/code_31650/func_80057B8C.s create mode 100644 asm/nonmatchings/code_31650/func_80057BB4.s create mode 100644 asm/nonmatchings/code_31650/func_80057BDC.s create mode 100644 asm/nonmatchings/code_31650/func_80057C04.s create mode 100644 asm/nonmatchings/code_31650/func_80057C2C.s create mode 100644 asm/nonmatchings/code_31650/func_80057C54.s create mode 100644 asm/nonmatchings/code_31650/func_80057D0C.s create mode 100644 asm/nonmatchings/code_31650/func_80057DC8.s create mode 100644 asm/nonmatchings/code_31650/func_80057E08.s create mode 100644 asm/nonmatchings/code_31650/func_80057E5C.s create mode 100644 asm/nonmatchings/code_31650/func_80057EB0.s create mode 100644 asm/nonmatchings/code_31650/func_80057ED0.s create mode 100644 asm/nonmatchings/code_31650/func_80057F20.s create mode 100644 asm/nonmatchings/code_31650/func_80057FD8.s create mode 100644 asm/nonmatchings/code_31650/func_80058004.s create mode 100644 asm/nonmatchings/code_31650/func_80058050.s create mode 100644 asm/nonmatchings/code_31650/func_80058B20.s create mode 100644 asm/nonmatchings/code_31650/func_80058C6C.s create mode 100644 src/code_31650.c diff --git a/asm/nonmatchings/code_303c0_len_3e10/func_800553F4.s b/asm/nonmatchings/code_303c0_len_3e10/func_800553F4.s deleted file mode 100644 index 4392134469..0000000000 --- a/asm/nonmatchings/code_303c0_len_3e10/func_800553F4.s +++ /dev/null @@ -1,9 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel func_800553F4 -/* 307F4 800553F4 3C03800A */ lui $v1, %hi(D_8009A640) -/* 307F8 800553F8 8C63A640 */ lw $v1, %lo(D_8009A640)($v1) -/* 307FC 800553FC 24020001 */ addiu $v0, $zero, 1 -/* 30800 80055400 03E00008 */ jr $ra -/* 30804 80055404 AC620168 */ sw $v0, 0x168($v1) diff --git a/asm/nonmatchings/code_303c0_len_3e10/func_800560A8.s b/asm/nonmatchings/code_303c0_len_3e10/func_800560A8.s deleted file mode 100644 index 707c564c6e..0000000000 --- a/asm/nonmatchings/code_303c0_len_3e10/func_800560A8.s +++ /dev/null @@ -1,9 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel func_800560A8 -/* 314A8 800560A8 3C03800A */ lui $v1, %hi(D_8009A5C0) -/* 314AC 800560AC 8C63A5C0 */ lw $v1, %lo(D_8009A5C0)($v1) -/* 314B0 800560B0 24020001 */ addiu $v0, $zero, 1 -/* 314B4 800560B4 03E00008 */ jr $ra -/* 314B8 800560B8 AC62009C */ sw $v0, 0x9c($v1) diff --git a/asm/nonmatchings/code_303c0_len_3e10/func_8005615C.s b/asm/nonmatchings/code_303c0_len_3e10/func_8005615C.s deleted file mode 100644 index d4f3c631ee..0000000000 --- a/asm/nonmatchings/code_303c0_len_3e10/func_8005615C.s +++ /dev/null @@ -1,13 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel func_8005615C -/* 3155C 8005615C 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 31560 80056160 AFBF0010 */ sw $ra, 0x10($sp) -/* 31564 80056164 0C015B57 */ jal func_80056D5C -/* 31568 80056168 24040001 */ addiu $a0, $zero, 1 -/* 3156C 8005616C 0C01536A */ jal func_80054DA8 -/* 31570 80056170 0000202D */ daddu $a0, $zero, $zero -/* 31574 80056174 8FBF0010 */ lw $ra, 0x10($sp) -/* 31578 80056178 03E00008 */ jr $ra -/* 3157C 8005617C 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/code_303c0_len_3e10/func_80056180.s b/asm/nonmatchings/code_303c0_len_3e10/func_80056180.s deleted file mode 100644 index dbd51cb5e3..0000000000 --- a/asm/nonmatchings/code_303c0_len_3e10/func_80056180.s +++ /dev/null @@ -1,13 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel func_80056180 -/* 31580 80056180 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 31584 80056184 AFBF0010 */ sw $ra, 0x10($sp) -/* 31588 80056188 0C015B57 */ jal func_80056D5C -/* 3158C 8005618C 0000202D */ daddu $a0, $zero, $zero -/* 31590 80056190 0C01536A */ jal func_80054DA8 -/* 31594 80056194 24040001 */ addiu $a0, $zero, 1 -/* 31598 80056198 8FBF0010 */ lw $ra, 0x10($sp) -/* 3159C 8005619C 03E00008 */ jr $ra -/* 315A0 800561A0 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/code_303c0_len_3e10/func_800561A4.s b/asm/nonmatchings/code_303c0_len_3e10/func_800561A4.s deleted file mode 100644 index d847963244..0000000000 --- a/asm/nonmatchings/code_303c0_len_3e10/func_800561A4.s +++ /dev/null @@ -1,12 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel func_800561A4 -/* 315A4 800561A4 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 315A8 800561A8 0080282D */ daddu $a1, $a0, $zero -/* 315AC 800561AC AFBF0010 */ sw $ra, 0x10($sp) -/* 315B0 800561B0 0C015338 */ jal func_80054CE0 -/* 315B4 800561B4 24040001 */ addiu $a0, $zero, 1 -/* 315B8 800561B8 8FBF0010 */ lw $ra, 0x10($sp) -/* 315BC 800561BC 03E00008 */ jr $ra -/* 315C0 800561C0 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/code_303c0_len_3e10/func_800561C4.s b/asm/nonmatchings/code_303c0_len_3e10/func_800561C4.s deleted file mode 100644 index bd0f54c7f1..0000000000 --- a/asm/nonmatchings/code_303c0_len_3e10/func_800561C4.s +++ /dev/null @@ -1,12 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel func_800561C4 -/* 315C4 800561C4 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 315C8 800561C8 0080282D */ daddu $a1, $a0, $zero -/* 315CC 800561CC AFBF0010 */ sw $ra, 0x10($sp) -/* 315D0 800561D0 0C015338 */ jal func_80054CE0 -/* 315D4 800561D4 24040010 */ addiu $a0, $zero, 0x10 -/* 315D8 800561D8 8FBF0010 */ lw $ra, 0x10($sp) -/* 315DC 800561DC 03E00008 */ jr $ra -/* 315E0 800561E0 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/code_303c0_len_3e10/func_800561E4.s b/asm/nonmatchings/code_303c0_len_3e10/func_800561E4.s deleted file mode 100644 index 2109ee5fea..0000000000 --- a/asm/nonmatchings/code_303c0_len_3e10/func_800561E4.s +++ /dev/null @@ -1,12 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel func_800561E4 -/* 315E4 800561E4 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 315E8 800561E8 0080282D */ daddu $a1, $a0, $zero -/* 315EC 800561EC AFBF0010 */ sw $ra, 0x10($sp) -/* 315F0 800561F0 0C01535D */ jal func_80054D74 -/* 315F4 800561F4 24040010 */ addiu $a0, $zero, 0x10 -/* 315F8 800561F8 8FBF0010 */ lw $ra, 0x10($sp) -/* 315FC 800561FC 03E00008 */ jr $ra -/* 31600 80056200 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/code_303c0_len_3e10/func_80056204.s b/asm/nonmatchings/code_303c0_len_3e10/func_80056204.s deleted file mode 100644 index 913c730c2e..0000000000 --- a/asm/nonmatchings/code_303c0_len_3e10/func_80056204.s +++ /dev/null @@ -1,13 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel func_80056204 -/* 31604 80056204 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 31608 80056208 3C04800A */ lui $a0, %hi(D_8009A640) -/* 3160C 8005620C 8C84A640 */ lw $a0, %lo(D_8009A640)($a0) -/* 31610 80056210 AFBF0010 */ sw $ra, 0x10($sp) -/* 31614 80056214 0C012E95 */ jal func_8004BA54 -/* 31618 80056218 0000282D */ daddu $a1, $zero, $zero -/* 3161C 8005621C 8FBF0010 */ lw $ra, 0x10($sp) -/* 31620 80056220 03E00008 */ jr $ra -/* 31624 80056224 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/code_31650/alAudioFrame.s b/asm/nonmatchings/code_31650/alAudioFrame.s new file mode 100644 index 0000000000..c396e84cf3 --- /dev/null +++ b/asm/nonmatchings/code_31650/alAudioFrame.s @@ -0,0 +1,517 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel alAudioFrame +/* 319C0 800565C0 3C028008 */ lui $v0, %hi(D_80078E50) +/* 319C4 800565C4 8C428E50 */ lw $v0, %lo(D_80078E50)($v0) +/* 319C8 800565C8 27BDFFB8 */ addiu $sp, $sp, -0x48 +/* 319CC 800565CC AFB3002C */ sw $s3, 0x2c($sp) +/* 319D0 800565D0 AFA40048 */ sw $a0, 0x48($sp) +/* 319D4 800565D4 0080982D */ daddu $s3, $a0, $zero +/* 319D8 800565D8 AFBF0044 */ sw $ra, 0x44($sp) +/* 319DC 800565DC AFBE0040 */ sw $fp, 0x40($sp) +/* 319E0 800565E0 AFB7003C */ sw $s7, 0x3c($sp) +/* 319E4 800565E4 AFB60038 */ sw $s6, 0x38($sp) +/* 319E8 800565E8 AFB50034 */ sw $s5, 0x34($sp) +/* 319EC 800565EC AFB40030 */ sw $s4, 0x30($sp) +/* 319F0 800565F0 AFB20028 */ sw $s2, 0x28($sp) +/* 319F4 800565F4 AFB10024 */ sw $s1, 0x24($sp) +/* 319F8 800565F8 AFB00020 */ sw $s0, 0x20($sp) +/* 319FC 800565FC AFA5004C */ sw $a1, 0x4c($sp) +/* 31A00 80056600 AFA70054 */ sw $a3, 0x54($sp) +/* 31A04 80056604 14400003 */ bnez $v0, .L80056614 +/* 31A08 80056608 AFA60010 */ sw $a2, 0x10($sp) +/* 31A0C 8005660C 08015B40 */ j .L80056D00 +/* 31A10 80056610 ACA00000 */ sw $zero, ($a1) +.L80056614: +/* 31A14 80056614 0C014D70 */ jal func_800535C0 +/* 31A18 80056618 00000000 */ nop +/* 31A1C 8005661C 3C028008 */ lui $v0, %hi(D_80078E5C) +/* 31A20 80056620 90428E5C */ lbu $v0, %lo(D_80078E5C)($v0) +/* 31A24 80056624 1040001B */ beqz $v0, .L80056694 +/* 31A28 80056628 00000000 */ nop +/* 31A2C 8005662C 3C038008 */ lui $v1, %hi(D_80078E54) +/* 31A30 80056630 24638E54 */ addiu $v1, $v1, %lo(D_80078E54) +/* 31A34 80056634 8C620000 */ lw $v0, ($v1) +/* 31A38 80056638 8C42000C */ lw $v0, 0xc($v0) +/* 31A3C 8005663C 18400013 */ blez $v0, .L8005668C +/* 31A40 80056640 0000A82D */ daddu $s5, $zero, $zero +/* 31A44 80056644 0060882D */ daddu $s1, $v1, $zero +/* 31A48 80056648 24120001 */ addiu $s2, $zero, 1 +/* 31A4C 8005664C 02A0802D */ daddu $s0, $s5, $zero +.L80056650: +/* 31A50 80056650 8E220000 */ lw $v0, ($s1) +/* 31A54 80056654 8C42001C */ lw $v0, 0x1c($v0) +/* 31A58 80056658 00502021 */ addu $a0, $v0, $s0 +/* 31A5C 8005665C 8C820070 */ lw $v0, 0x70($a0) +/* 31A60 80056660 14520004 */ bne $v0, $s2, .L80056674 +/* 31A64 80056664 00000000 */ nop +/* 31A68 80056668 9085004D */ lbu $a1, 0x4d($a0) +/* 31A6C 8005666C 0C015E1D */ jal func_80057874 +/* 31A70 80056670 32A400FF */ andi $a0, $s5, 0xff +.L80056674: +/* 31A74 80056674 8E220000 */ lw $v0, ($s1) +/* 31A78 80056678 8C42000C */ lw $v0, 0xc($v0) +/* 31A7C 8005667C 26B50001 */ addiu $s5, $s5, 1 +/* 31A80 80056680 02A2102A */ slt $v0, $s5, $v0 +/* 31A84 80056684 1440FFF2 */ bnez $v0, .L80056650 +/* 31A88 80056688 2610007C */ addiu $s0, $s0, 0x7c +.L8005668C: +/* 31A8C 8005668C 3C018008 */ lui $at, %hi(D_80078E5C) +/* 31A90 80056690 A0208E5C */ sb $zero, %lo(D_80078E5C)($at) +.L80056694: +/* 31A94 80056694 8FA90054 */ lw $t1, 0x54($sp) +/* 31A98 80056698 19200194 */ blez $t1, .L80056CEC +/* 31A9C 8005669C 00000000 */ nop +/* 31AA0 800566A0 3C1E800A */ lui $fp, %hi(D_800A3FE8) +/* 31AA4 800566A4 27DE3FE8 */ addiu $fp, $fp, %lo(D_800A3FE8) +.L800566A8: +/* 31AA8 800566A8 0C014CF4 */ jal func_800533D0 +/* 31AAC 800566AC 0000A82D */ daddu $s5, $zero, $zero +/* 31AB0 800566B0 3C038008 */ lui $v1, %hi(D_80078E54) +/* 31AB4 800566B4 8C638E54 */ lw $v1, %lo(D_80078E54)($v1) +/* 31AB8 800566B8 8C62000C */ lw $v0, 0xc($v1) +/* 31ABC 800566BC 1840001E */ blez $v0, .L80056738 +/* 31AC0 800566C0 24170001 */ addiu $s7, $zero, 1 +/* 31AC4 800566C4 0060302D */ daddu $a2, $v1, $zero +/* 31AC8 800566C8 02A0282D */ daddu $a1, $s5, $zero +.L800566CC: +/* 31ACC 800566CC 8CC2001C */ lw $v0, 0x1c($a2) +/* 31AD0 800566D0 00452021 */ addu $a0, $v0, $a1 +/* 31AD4 800566D4 90820078 */ lbu $v0, 0x78($a0) +/* 31AD8 800566D8 240900FF */ addiu $t1, $zero, 0xff +/* 31ADC 800566DC 1049000E */ beq $v0, $t1, .L80056718 +/* 31AE0 800566E0 0040182D */ daddu $v1, $v0, $zero +/* 31AE4 800566E4 8CC20010 */ lw $v0, 0x10($a2) +/* 31AE8 800566E8 0062102A */ slt $v0, $v1, $v0 +/* 31AEC 800566EC 1040000A */ beqz $v0, .L80056718 +/* 31AF0 800566F0 00031040 */ sll $v0, $v1, 1 +/* 31AF4 800566F4 00431021 */ addu $v0, $v0, $v1 +/* 31AF8 800566F8 8CC30020 */ lw $v1, 0x20($a2) +/* 31AFC 800566FC 000210C0 */ sll $v0, $v0, 3 +/* 31B00 80056700 0062A021 */ addu $s4, $v1, $v0 +/* 31B04 80056704 8E820014 */ lw $v0, 0x14($s4) +/* 31B08 80056708 50400002 */ beql $v0, $zero, .L80056714 +/* 31B0C 8005670C AE840010 */ sw $a0, 0x10($s4) +/* 31B10 80056710 AC440000 */ sw $a0, ($v0) +.L80056714: +/* 31B14 80056714 AE840014 */ sw $a0, 0x14($s4) +.L80056718: +/* 31B18 80056718 3C028008 */ lui $v0, %hi(D_80078E54) +/* 31B1C 8005671C 8C428E54 */ lw $v0, %lo(D_80078E54)($v0) +/* 31B20 80056720 8C42000C */ lw $v0, 0xc($v0) +/* 31B24 80056724 26B50001 */ addiu $s5, $s5, 1 +/* 31B28 80056728 02A2102A */ slt $v0, $s5, $v0 +/* 31B2C 8005672C 1440FFE7 */ bnez $v0, .L800566CC +/* 31B30 80056730 24A5007C */ addiu $a1, $a1, 0x7c +/* 31B34 80056734 24170001 */ addiu $s7, $zero, 1 +.L80056738: +/* 31B38 80056738 3C028008 */ lui $v0, %hi(D_80078E54) +/* 31B3C 8005673C 8C428E54 */ lw $v0, %lo(D_80078E54)($v0) +/* 31B40 80056740 3C038008 */ lui $v1, %hi(D_80078E54) +/* 31B44 80056744 24638E54 */ addiu $v1, $v1, %lo(D_80078E54) +/* 31B48 80056748 8C420010 */ lw $v0, 0x10($v0) +/* 31B4C 8005674C 18400110 */ blez $v0, .L80056B90 +/* 31B50 80056750 0000A82D */ daddu $s5, $zero, $zero +/* 31B54 80056754 02A0B02D */ daddu $s6, $s5, $zero +.L80056758: +/* 31B58 80056758 8C620000 */ lw $v0, ($v1) +/* 31B5C 8005675C 8C420020 */ lw $v0, 0x20($v0) +/* 31B60 80056760 0056A021 */ addu $s4, $v0, $s6 +/* 31B64 80056764 8E820010 */ lw $v0, 0x10($s4) +/* 31B68 80056768 10400101 */ beqz $v0, .L80056B70 +/* 31B6C 8005676C 3C020200 */ lui $v0, 0x200 +/* 31B70 80056770 344204E0 */ ori $v0, $v0, 0x4e0 +/* 31B74 80056774 0260182D */ daddu $v1, $s3, $zero +/* 31B78 80056778 AC620000 */ sw $v0, ($v1) +/* 31B7C 8005677C 240205C0 */ addiu $v0, $zero, 0x5c0 +/* 31B80 80056780 AC620004 */ sw $v0, 4($v1) +/* 31B84 80056784 8E820010 */ lw $v0, 0x10($s4) +/* 31B88 80056788 1040000B */ beqz $v0, .L800567B8 +/* 31B8C 8005678C 26730008 */ addiu $s3, $s3, 8 +.L80056790: +/* 31B90 80056790 8E840010 */ lw $a0, 0x10($s4) +/* 31B94 80056794 0C016014 */ jal func_80058050 +/* 31B98 80056798 0260282D */ daddu $a1, $s3, $zero +/* 31B9C 8005679C 8E830010 */ lw $v1, 0x10($s4) +/* 31BA0 800567A0 8C640000 */ lw $a0, ($v1) +/* 31BA4 800567A4 0040982D */ daddu $s3, $v0, $zero +/* 31BA8 800567A8 AC600000 */ sw $zero, ($v1) +/* 31BAC 800567AC 1480FFF8 */ bnez $a0, .L80056790 +/* 31BB0 800567B0 AE840010 */ sw $a0, 0x10($s4) +/* 31BB4 800567B4 AE800014 */ sw $zero, 0x14($s4) +.L800567B8: +/* 31BB8 800567B8 9282000C */ lbu $v0, 0xc($s4) +/* 31BBC 800567BC 1040000B */ beqz $v0, .L800567EC +/* 31BC0 800567C0 0260282D */ daddu $a1, $s3, $zero +/* 31BC4 800567C4 240607C0 */ addiu $a2, $zero, 0x7c0 +/* 31BC8 800567C8 8E840004 */ lw $a0, 4($s4) +/* 31BCC 800567CC 0C0164C4 */ jal func_80059310 +/* 31BD0 800567D0 0000382D */ daddu $a3, $zero, $zero +/* 31BD4 800567D4 0040282D */ daddu $a1, $v0, $zero +/* 31BD8 800567D8 24060930 */ addiu $a2, $zero, 0x930 +/* 31BDC 800567DC 8E840008 */ lw $a0, 8($s4) +/* 31BE0 800567E0 0C0164C4 */ jal func_80059310 +/* 31BE4 800567E4 0000382D */ daddu $a3, $zero, $zero +/* 31BE8 800567E8 0040982D */ daddu $s3, $v0, $zero +.L800567EC: +/* 31BEC 800567EC 3C02800A */ lui $v0, %hi(D_800A3FEC) +/* 31BF0 800567F0 90423FEC */ lbu $v0, %lo(D_800A3FEC)($v0) +/* 31BF4 800567F4 16A20089 */ bne $s5, $v0, .L80056A1C +/* 31BF8 800567F8 24020001 */ addiu $v0, $zero, 1 +/* 31BFC 800567FC 3C03800A */ lui $v1, %hi(D_800A3FEE) +/* 31C00 80056800 84633FEE */ lh $v1, %lo(D_800A3FEE)($v1) +/* 31C04 80056804 10620006 */ beq $v1, $v0, .L80056820 +/* 31C08 80056808 2410FFFF */ addiu $s0, $zero, -1 +/* 31C0C 8005680C 24020002 */ addiu $v0, $zero, 2 +/* 31C10 80056810 10620006 */ beq $v1, $v0, .L8005682C +/* 31C14 80056814 00101400 */ sll $v0, $s0, 0x10 +/* 31C18 80056818 08015A10 */ j .L80056840 +/* 31C1C 8005681C 00021403 */ sra $v0, $v0, 0x10 +.L80056820: +/* 31C20 80056820 241004E0 */ addiu $s0, $zero, 0x4e0 +/* 31C24 80056824 08015A0D */ j .L80056834 +/* 31C28 80056828 240907C0 */ addiu $t1, $zero, 0x7c0 +.L8005682C: +/* 31C2C 8005682C 24100650 */ addiu $s0, $zero, 0x650 +/* 31C30 80056830 24090930 */ addiu $t1, $zero, 0x930 +.L80056834: +/* 31C34 80056834 A7A9001E */ sh $t1, 0x1e($sp) +/* 31C38 80056838 00101400 */ sll $v0, $s0, 0x10 +/* 31C3C 8005683C 00021403 */ sra $v0, $v0, 0x10 +.L80056840: +/* 31C40 80056840 2403FFFF */ addiu $v1, $zero, -1 +/* 31C44 80056844 10430075 */ beq $v0, $v1, .L80056A1C +/* 31C48 80056848 0260882D */ daddu $s1, $s3, $zero +/* 31C4C 8005684C 8FC30000 */ lw $v1, ($fp) +/* 31C50 80056850 3C02800A */ lui $v0, %hi(D_800A3FF0) +/* 31C54 80056854 8C423FF0 */ lw $v0, %lo(D_800A3FF0)($v0) +/* 31C58 80056858 14400002 */ bnez $v0, .L80056864 +/* 31C5C 8005685C 0062001A */ div $zero, $v1, $v0 +/* 31C60 80056860 0007000D */ break 7 +.L80056864: +/* 31C64 80056864 2401FFFF */ addiu $at, $zero, -1 +/* 31C68 80056868 14410004 */ bne $v0, $at, .L8005687C +/* 31C6C 8005686C 3C018000 */ lui $at, 0x8000 +/* 31C70 80056870 14610002 */ bne $v1, $at, .L8005687C +/* 31C74 80056874 00000000 */ nop +/* 31C78 80056878 0006000D */ break 6 +.L8005687C: +/* 31C7C 8005687C 00002810 */ mfhi $a1 +/* 31C80 80056880 32100FFF */ andi $s0, $s0, 0xfff +/* 31C84 80056884 3C090617 */ lui $t1, 0x617 +/* 31C88 80056888 02091025 */ or $v0, $s0, $t1 +/* 31C8C 8005688C AE220000 */ sw $v0, ($s1) +/* 31C90 80056890 3C02800A */ lui $v0, %hi(D_800A3FE0) +/* 31C94 80056894 8C423FE0 */ lw $v0, %lo(D_800A3FE0)($v0) +/* 31C98 80056898 00052040 */ sll $a0, $a1, 1 +/* 31C9C 8005689C 00852021 */ addu $a0, $a0, $a1 +/* 31CA0 800568A0 000420C0 */ sll $a0, $a0, 3 +/* 31CA4 800568A4 00852023 */ subu $a0, $a0, $a1 +/* 31CA8 800568A8 00042100 */ sll $a0, $a0, 4 +/* 31CAC 800568AC 0C0187A4 */ jal osVirtualToPhysical +/* 31CB0 800568B0 00442021 */ addu $a0, $v0, $a0 +/* 31CB4 800568B4 8FC30000 */ lw $v1, ($fp) +/* 31CB8 800568B8 3C04800A */ lui $a0, %hi(D_800A3FF0) +/* 31CBC 800568BC 8C843FF0 */ lw $a0, %lo(D_800A3FF0)($a0) +/* 31CC0 800568C0 24630001 */ addiu $v1, $v1, 1 +/* 31CC4 800568C4 14800002 */ bnez $a0, .L800568D0 +/* 31CC8 800568C8 0064001A */ div $zero, $v1, $a0 +/* 31CCC 800568CC 0007000D */ break 7 +.L800568D0: +/* 31CD0 800568D0 2401FFFF */ addiu $at, $zero, -1 +/* 31CD4 800568D4 14810004 */ bne $a0, $at, .L800568E8 +/* 31CD8 800568D8 3C018000 */ lui $at, 0x8000 +/* 31CDC 800568DC 14610002 */ bne $v1, $at, .L800568E8 +/* 31CE0 800568E0 00000000 */ nop +/* 31CE4 800568E4 0006000D */ break 6 +.L800568E8: +/* 31CE8 800568E8 00002810 */ mfhi $a1 +/* 31CEC 800568EC 26730008 */ addiu $s3, $s3, 8 +/* 31CF0 800568F0 AE220004 */ sw $v0, 4($s1) +/* 31CF4 800568F4 0260882D */ daddu $s1, $s3, $zero +/* 31CF8 800568F8 3C090417 */ lui $t1, 0x417 +/* 31CFC 800568FC 3C02800A */ lui $v0, %hi(D_800A3FE0) +/* 31D00 80056900 8C423FE0 */ lw $v0, %lo(D_800A3FE0)($v0) +/* 31D04 80056904 02098025 */ or $s0, $s0, $t1 +/* 31D08 80056908 AE300000 */ sw $s0, ($s1) +/* 31D0C 8005690C 00052040 */ sll $a0, $a1, 1 +/* 31D10 80056910 00852021 */ addu $a0, $a0, $a1 +/* 31D14 80056914 000420C0 */ sll $a0, $a0, 3 +/* 31D18 80056918 00852023 */ subu $a0, $a0, $a1 +/* 31D1C 8005691C 00042100 */ sll $a0, $a0, 4 +/* 31D20 80056920 0C0187A4 */ jal osVirtualToPhysical +/* 31D24 80056924 00442021 */ addu $a0, $v0, $a0 +/* 31D28 80056928 8FC40000 */ lw $a0, ($fp) +/* 31D2C 8005692C 3C03800A */ lui $v1, %hi(D_800A3FF0) +/* 31D30 80056930 8C633FF0 */ lw $v1, %lo(D_800A3FF0)($v1) +/* 31D34 80056934 14600002 */ bnez $v1, .L80056940 +/* 31D38 80056938 0083001A */ div $zero, $a0, $v1 +/* 31D3C 8005693C 0007000D */ break 7 +.L80056940: +/* 31D40 80056940 2401FFFF */ addiu $at, $zero, -1 +/* 31D44 80056944 14610004 */ bne $v1, $at, .L80056958 +/* 31D48 80056948 3C018000 */ lui $at, 0x8000 +/* 31D4C 8005694C 14810002 */ bne $a0, $at, .L80056958 +/* 31D50 80056950 00000000 */ nop +/* 31D54 80056954 0006000D */ break 6 +.L80056958: +/* 31D58 80056958 00001810 */ mfhi $v1 +/* 31D5C 8005695C 26730008 */ addiu $s3, $s3, 8 +/* 31D60 80056960 AE220004 */ sw $v0, 4($s1) +/* 31D64 80056964 97A9001E */ lhu $t1, 0x1e($sp) +/* 31D68 80056968 0260902D */ daddu $s2, $s3, $zero +/* 31D6C 8005696C 31300FFF */ andi $s0, $t1, 0xfff +/* 31D70 80056970 3C090617 */ lui $t1, 0x617 +/* 31D74 80056974 02091025 */ or $v0, $s0, $t1 +/* 31D78 80056978 AE420000 */ sw $v0, ($s2) +/* 31D7C 8005697C 3C02800A */ lui $v0, %hi(D_800A3FE4) +/* 31D80 80056980 8C423FE4 */ lw $v0, %lo(D_800A3FE4)($v0) +/* 31D84 80056984 00032040 */ sll $a0, $v1, 1 +/* 31D88 80056988 00832021 */ addu $a0, $a0, $v1 +/* 31D8C 8005698C 000420C0 */ sll $a0, $a0, 3 +/* 31D90 80056990 00832023 */ subu $a0, $a0, $v1 +/* 31D94 80056994 00042100 */ sll $a0, $a0, 4 +/* 31D98 80056998 0C0187A4 */ jal osVirtualToPhysical +/* 31D9C 8005699C 00442021 */ addu $a0, $v0, $a0 +/* 31DA0 800569A0 8FC30000 */ lw $v1, ($fp) +/* 31DA4 800569A4 3C04800A */ lui $a0, %hi(D_800A3FF0) +/* 31DA8 800569A8 8C843FF0 */ lw $a0, %lo(D_800A3FF0)($a0) +/* 31DAC 800569AC 24630001 */ addiu $v1, $v1, 1 +/* 31DB0 800569B0 14800002 */ bnez $a0, .L800569BC +/* 31DB4 800569B4 0064001A */ div $zero, $v1, $a0 +/* 31DB8 800569B8 0007000D */ break 7 +.L800569BC: +/* 31DBC 800569BC 2401FFFF */ addiu $at, $zero, -1 +/* 31DC0 800569C0 14810004 */ bne $a0, $at, .L800569D4 +/* 31DC4 800569C4 3C018000 */ lui $at, 0x8000 +/* 31DC8 800569C8 14610002 */ bne $v1, $at, .L800569D4 +/* 31DCC 800569CC 00000000 */ nop +/* 31DD0 800569D0 0006000D */ break 6 +.L800569D4: +/* 31DD4 800569D4 00002810 */ mfhi $a1 +/* 31DD8 800569D8 26730008 */ addiu $s3, $s3, 8 +/* 31DDC 800569DC 0260882D */ daddu $s1, $s3, $zero +/* 31DE0 800569E0 26730008 */ addiu $s3, $s3, 8 +/* 31DE4 800569E4 3C090417 */ lui $t1, 0x417 +/* 31DE8 800569E8 AE420004 */ sw $v0, 4($s2) +/* 31DEC 800569EC 3C02800A */ lui $v0, %hi(D_800A3FE4) +/* 31DF0 800569F0 8C423FE4 */ lw $v0, %lo(D_800A3FE4)($v0) +/* 31DF4 800569F4 02098025 */ or $s0, $s0, $t1 +/* 31DF8 800569F8 AE300000 */ sw $s0, ($s1) +/* 31DFC 800569FC 00052040 */ sll $a0, $a1, 1 +/* 31E00 80056A00 00852021 */ addu $a0, $a0, $a1 +/* 31E04 80056A04 000420C0 */ sll $a0, $a0, 3 +/* 31E08 80056A08 00852023 */ subu $a0, $a0, $a1 +/* 31E0C 80056A0C 00042100 */ sll $a0, $a0, 4 +/* 31E10 80056A10 0C0187A4 */ jal osVirtualToPhysical +/* 31E14 80056A14 00442021 */ addu $a0, $v0, $a0 +/* 31E18 80056A18 AE220004 */ sw $v0, 4($s1) +.L80056A1C: +/* 31E1C 80056A1C 12E00007 */ beqz $s7, .L80056A3C +/* 31E20 80056A20 0260102D */ daddu $v0, $s3, $zero +/* 31E24 80056A24 26730008 */ addiu $s3, $s3, 8 +/* 31E28 80056A28 3C030200 */ lui $v1, 0x200 +/* 31E2C 80056A2C AC430000 */ sw $v1, ($v0) +/* 31E30 80056A30 240302E0 */ addiu $v1, $zero, 0x2e0 +/* 31E34 80056A34 08015A98 */ j .L80056A60 +/* 31E38 80056A38 AC430004 */ sw $v1, 4($v0) +.L80056A3C: +/* 31E3C 80056A3C 0260802D */ daddu $s0, $s3, $zero +/* 31E40 80056A40 3C038008 */ lui $v1, %hi(D_80078E54) +/* 31E44 80056A44 8C638E54 */ lw $v1, %lo(D_80078E54)($v1) +/* 31E48 80056A48 3C02042E */ lui $v0, 0x42e +/* 31E4C 80056A4C AE020000 */ sw $v0, ($s0) +/* 31E50 80056A50 8C640028 */ lw $a0, 0x28($v1) +/* 31E54 80056A54 0C0187A4 */ jal osVirtualToPhysical +/* 31E58 80056A58 26730008 */ addiu $s3, $s3, 8 +/* 31E5C 80056A5C AE020004 */ sw $v0, 4($s0) +.L80056A60: +/* 31E60 80056A60 0260202D */ daddu $a0, $s3, $zero +/* 31E64 80056A64 26730008 */ addiu $s3, $s3, 8 +/* 31E68 80056A68 0260282D */ daddu $a1, $s3, $zero +/* 31E6C 80056A6C 26730008 */ addiu $s3, $s3, 8 +/* 31E70 80056A70 3C060930 */ lui $a2, 0x930 +/* 31E74 80056A74 3C0207C0 */ lui $v0, 0x7c0 +/* 31E78 80056A78 3C090C00 */ lui $t1, 0xc00 +/* 31E7C 80056A7C 96830000 */ lhu $v1, ($s4) +/* 31E80 80056A80 34C60170 */ ori $a2, $a2, 0x170 +/* 31E84 80056A84 AC820004 */ sw $v0, 4($a0) +/* 31E88 80056A88 00691825 */ or $v1, $v1, $t1 +/* 31E8C 80056A8C AC830000 */ sw $v1, ($a0) +/* 31E90 80056A90 96820000 */ lhu $v0, ($s4) +/* 31E94 80056A94 3C038008 */ lui $v1, %hi(D_80078E54) +/* 31E98 80056A98 8C638E54 */ lw $v1, %lo(D_80078E54)($v1) +/* 31E9C 80056A9C 0260802D */ daddu $s0, $s3, $zero +/* 31EA0 80056AA0 ACA60004 */ sw $a2, 4($a1) +/* 31EA4 80056AA4 00491025 */ or $v0, $v0, $t1 +/* 31EA8 80056AA8 ACA20000 */ sw $v0, ($a1) +/* 31EAC 80056AAC 3C02062E */ lui $v0, 0x62e +/* 31EB0 80056AB0 AE020000 */ sw $v0, ($s0) +/* 31EB4 80056AB4 8C640028 */ lw $a0, 0x28($v1) +/* 31EB8 80056AB8 0C0187A4 */ jal osVirtualToPhysical +/* 31EBC 80056ABC 26730008 */ addiu $s3, $s3, 8 +/* 31EC0 80056AC0 12E00009 */ beqz $s7, .L80056AE8 +/* 31EC4 80056AC4 AE020004 */ sw $v0, 4($s0) +/* 31EC8 80056AC8 0260102D */ daddu $v0, $s3, $zero +/* 31ECC 80056ACC 26730008 */ addiu $s3, $s3, 8 +/* 31ED0 80056AD0 0000B82D */ daddu $s7, $zero, $zero +/* 31ED4 80056AD4 3C030200 */ lui $v1, 0x200 +/* 31ED8 80056AD8 AC430000 */ sw $v1, ($v0) +/* 31EDC 80056ADC 240302E0 */ addiu $v1, $zero, 0x2e0 +/* 31EE0 80056AE0 08015AC3 */ j .L80056B0C +/* 31EE4 80056AE4 AC430004 */ sw $v1, 4($v0) +.L80056AE8: +/* 31EE8 80056AE8 0260802D */ daddu $s0, $s3, $zero +/* 31EEC 80056AEC 3C038008 */ lui $v1, %hi(D_80078E54) +/* 31EF0 80056AF0 8C638E54 */ lw $v1, %lo(D_80078E54)($v1) +/* 31EF4 80056AF4 3C02042E */ lui $v0, 0x42e +/* 31EF8 80056AF8 AE020000 */ sw $v0, ($s0) +/* 31EFC 80056AFC 8C640024 */ lw $a0, 0x24($v1) +/* 31F00 80056B00 0C0187A4 */ jal osVirtualToPhysical +/* 31F04 80056B04 26730008 */ addiu $s3, $s3, 8 +/* 31F08 80056B08 AE020004 */ sw $v0, 4($s0) +.L80056B0C: +/* 31F0C 80056B0C 0260202D */ daddu $a0, $s3, $zero +/* 31F10 80056B10 26730008 */ addiu $s3, $s3, 8 +/* 31F14 80056B14 0260282D */ daddu $a1, $s3, $zero +/* 31F18 80056B18 26730008 */ addiu $s3, $s3, 8 +/* 31F1C 80056B1C 3C060650 */ lui $a2, 0x650 +/* 31F20 80056B20 3C0204E0 */ lui $v0, 0x4e0 +/* 31F24 80056B24 3C090C00 */ lui $t1, 0xc00 +/* 31F28 80056B28 96830000 */ lhu $v1, ($s4) +/* 31F2C 80056B2C 34C60170 */ ori $a2, $a2, 0x170 +/* 31F30 80056B30 AC820004 */ sw $v0, 4($a0) +/* 31F34 80056B34 00691825 */ or $v1, $v1, $t1 +/* 31F38 80056B38 AC830000 */ sw $v1, ($a0) +/* 31F3C 80056B3C 96820000 */ lhu $v0, ($s4) +/* 31F40 80056B40 3C038008 */ lui $v1, %hi(D_80078E54) +/* 31F44 80056B44 8C638E54 */ lw $v1, %lo(D_80078E54)($v1) +/* 31F48 80056B48 0260802D */ daddu $s0, $s3, $zero +/* 31F4C 80056B4C ACA60004 */ sw $a2, 4($a1) +/* 31F50 80056B50 00491025 */ or $v0, $v0, $t1 +/* 31F54 80056B54 ACA20000 */ sw $v0, ($a1) +/* 31F58 80056B58 3C02062E */ lui $v0, 0x62e +/* 31F5C 80056B5C AE020000 */ sw $v0, ($s0) +/* 31F60 80056B60 8C640024 */ lw $a0, 0x24($v1) +/* 31F64 80056B64 0C0187A4 */ jal osVirtualToPhysical +/* 31F68 80056B68 26730008 */ addiu $s3, $s3, 8 +/* 31F6C 80056B6C AE020004 */ sw $v0, 4($s0) +.L80056B70: +/* 31F70 80056B70 3C038008 */ lui $v1, %hi(D_80078E54) +/* 31F74 80056B74 24638E54 */ addiu $v1, $v1, %lo(D_80078E54) +/* 31F78 80056B78 8C620000 */ lw $v0, ($v1) +/* 31F7C 80056B7C 8C420010 */ lw $v0, 0x10($v0) +/* 31F80 80056B80 26B50001 */ addiu $s5, $s5, 1 +/* 31F84 80056B84 02A2102A */ slt $v0, $s5, $v0 +/* 31F88 80056B88 1440FEF3 */ bnez $v0, .L80056758 +/* 31F8C 80056B8C 26D60018 */ addiu $s6, $s6, 0x18 +.L80056B90: +/* 31F90 80056B90 0260182D */ daddu $v1, $s3, $zero +/* 31F94 80056B94 26730008 */ addiu $s3, $s3, 8 +/* 31F98 80056B98 3C0404E0 */ lui $a0, 0x4e0 +/* 31F9C 80056B9C 348402E0 */ ori $a0, $a0, 0x2e0 +/* 31FA0 80056BA0 3C05042E */ lui $a1, 0x42e +/* 31FA4 80056BA4 34A507C0 */ ori $a1, $a1, 0x7c0 +/* 31FA8 80056BA8 3C020A00 */ lui $v0, 0xa00 +/* 31FAC 80056BAC AC620000 */ sw $v0, ($v1) +/* 31FB0 80056BB0 3C028008 */ lui $v0, %hi(D_80078E54) +/* 31FB4 80056BB4 8C428E54 */ lw $v0, %lo(D_80078E54)($v0) +/* 31FB8 80056BB8 0260802D */ daddu $s0, $s3, $zero +/* 31FBC 80056BBC AC640004 */ sw $a0, 4($v1) +/* 31FC0 80056BC0 AE050000 */ sw $a1, ($s0) +/* 31FC4 80056BC4 8C440028 */ lw $a0, 0x28($v0) +/* 31FC8 80056BC8 0C0187A4 */ jal osVirtualToPhysical +/* 31FCC 80056BCC 26730008 */ addiu $s3, $s3, 8 +/* 31FD0 80056BD0 0260382D */ daddu $a3, $s3, $zero +/* 31FD4 80056BD4 26730008 */ addiu $s3, $s3, 8 +/* 31FD8 80056BD8 3C060C00 */ lui $a2, 0xc00 +/* 31FDC 80056BDC 34C67FFF */ ori $a2, $a2, 0x7fff +/* 31FE0 80056BE0 3C0807C0 */ lui $t0, 0x7c0 +/* 31FE4 80056BE4 350804E0 */ ori $t0, $t0, 0x4e0 +/* 31FE8 80056BE8 0260182D */ daddu $v1, $s3, $zero +/* 31FEC 80056BEC 26730008 */ addiu $s3, $s3, 8 +/* 31FF0 80056BF0 3C040930 */ lui $a0, 0x930 +/* 31FF4 80056BF4 3C058008 */ lui $a1, %hi(D_80078E58) +/* 31FF8 80056BF8 90A58E58 */ lbu $a1, %lo(D_80078E58)($a1) +/* 31FFC 80056BFC 34840650 */ ori $a0, $a0, 0x650 +/* 32000 80056C00 AE020004 */ sw $v0, 4($s0) +/* 32004 80056C04 ACE60000 */ sw $a2, ($a3) +/* 32008 80056C08 ACE80004 */ sw $t0, 4($a3) +/* 3200C 80056C0C AC660000 */ sw $a2, ($v1) +/* 32010 80056C10 10A0001D */ beqz $a1, .L80056C88 +/* 32014 80056C14 AC640004 */ sw $a0, 4($v1) +/* 32018 80056C18 0260202D */ daddu $a0, $s3, $zero +/* 3201C 80056C1C 26730008 */ addiu $s3, $s3, 8 +/* 32020 80056C20 3C020A00 */ lui $v0, 0xa00 +/* 32024 80056C24 344204E0 */ ori $v0, $v0, 0x4e0 +/* 32028 80056C28 0260182D */ daddu $v1, $s3, $zero +/* 3202C 80056C2C 26730008 */ addiu $s3, $s3, 8 +/* 32030 80056C30 3C070200 */ lui $a3, 0x200 +/* 32034 80056C34 34E704E0 */ ori $a3, $a3, 0x4e0 +/* 32038 80056C38 0260282D */ daddu $a1, $s3, $zero +/* 3203C 80056C3C 26730008 */ addiu $s3, $s3, 8 +/* 32040 80056C40 0260302D */ daddu $a2, $s3, $zero +/* 32044 80056C44 26730008 */ addiu $s3, $s3, 8 +/* 32048 80056C48 3C080170 */ lui $t0, 0x170 +/* 3204C 80056C4C 35080650 */ ori $t0, $t0, 0x650 +/* 32050 80056C50 AC820000 */ sw $v0, ($a0) +/* 32054 80056C54 240202E0 */ addiu $v0, $zero, 0x2e0 +/* 32058 80056C58 AC820004 */ sw $v0, 4($a0) +/* 3205C 80056C5C AC670000 */ sw $a3, ($v1) +/* 32060 80056C60 AC620004 */ sw $v0, 4($v1) +/* 32064 80056C64 3C038008 */ lui $v1, %hi(D_80078E5A) +/* 32068 80056C68 94638E5A */ lhu $v1, %lo(D_80078E5A)($v1) +/* 3206C 80056C6C 240204E0 */ addiu $v0, $zero, 0x4e0 +/* 32070 80056C70 ACA20004 */ sw $v0, 4($a1) +/* 32074 80056C74 3C020C00 */ lui $v0, 0xc00 +/* 32078 80056C78 00621825 */ or $v1, $v1, $v0 +/* 3207C 80056C7C ACA30000 */ sw $v1, ($a1) +/* 32080 80056C80 ACC30000 */ sw $v1, ($a2) +/* 32084 80056C84 ACC80004 */ sw $t0, 4($a2) +.L80056C88: +/* 32088 80056C88 0260202D */ daddu $a0, $s3, $zero +/* 3208C 80056C8C 26730008 */ addiu $s3, $s3, 8 +/* 32090 80056C90 0260182D */ daddu $v1, $s3, $zero +/* 32094 80056C94 8FA90054 */ lw $t1, 0x54($sp) +/* 32098 80056C98 3C020D00 */ lui $v0, 0xd00 +/* 3209C 80056C9C 2529FF48 */ addiu $t1, $t1, -0xb8 +/* 320A0 80056CA0 AFA90054 */ sw $t1, 0x54($sp) +/* 320A4 80056CA4 AC820000 */ sw $v0, ($a0) +/* 320A8 80056CA8 8FA90010 */ lw $t1, 0x10($sp) +/* 320AC 80056CAC 3C048008 */ lui $a0, %hi(D_80078E54) +/* 320B0 80056CB0 8C848E54 */ lw $a0, %lo(D_80078E54)($a0) +/* 320B4 80056CB4 3C02062E */ lui $v0, 0x62e +/* 320B8 80056CB8 AC690004 */ sw $t1, 4($v1) +/* 320BC 80056CBC 252902E0 */ addiu $t1, $t1, 0x2e0 +/* 320C0 80056CC0 AFA90010 */ sw $t1, 0x10($sp) +/* 320C4 80056CC4 AC620000 */ sw $v0, ($v1) +/* 320C8 80056CC8 8FC20000 */ lw $v0, ($fp) +/* 320CC 80056CCC 8C830000 */ lw $v1, ($a0) +/* 320D0 80056CD0 24420001 */ addiu $v0, $v0, 1 +/* 320D4 80056CD4 246300B8 */ addiu $v1, $v1, 0xb8 +/* 320D8 80056CD8 AFC20000 */ sw $v0, ($fp) +/* 320DC 80056CDC AC830000 */ sw $v1, ($a0) +/* 320E0 80056CE0 8FA90054 */ lw $t1, 0x54($sp) +/* 320E4 80056CE4 1D20FE70 */ bgtz $t1, .L800566A8 +/* 320E8 80056CE8 26730008 */ addiu $s3, $s3, 8 +.L80056CEC: +/* 320EC 80056CEC 8FA90048 */ lw $t1, 0x48($sp) +/* 320F0 80056CF0 02691023 */ subu $v0, $s3, $t1 +/* 320F4 80056CF4 8FA9004C */ lw $t1, 0x4c($sp) +/* 320F8 80056CF8 000210C3 */ sra $v0, $v0, 3 +/* 320FC 80056CFC AD220000 */ sw $v0, ($t1) +.L80056D00: +/* 32100 80056D00 0260102D */ daddu $v0, $s3, $zero +/* 32104 80056D04 8FBF0044 */ lw $ra, 0x44($sp) +/* 32108 80056D08 8FBE0040 */ lw $fp, 0x40($sp) +/* 3210C 80056D0C 8FB7003C */ lw $s7, 0x3c($sp) +/* 32110 80056D10 8FB60038 */ lw $s6, 0x38($sp) +/* 32114 80056D14 8FB50034 */ lw $s5, 0x34($sp) +/* 32118 80056D18 8FB40030 */ lw $s4, 0x30($sp) +/* 3211C 80056D1C 8FB3002C */ lw $s3, 0x2c($sp) +/* 32120 80056D20 8FB20028 */ lw $s2, 0x28($sp) +/* 32124 80056D24 8FB10024 */ lw $s1, 0x24($sp) +/* 32128 80056D28 8FB00020 */ lw $s0, 0x20($sp) +/* 3212C 80056D2C 03E00008 */ jr $ra +/* 32130 80056D30 27BD0048 */ addiu $sp, $sp, 0x48 diff --git a/asm/nonmatchings/code_31650/func_80056250.s b/asm/nonmatchings/code_31650/func_80056250.s new file mode 100644 index 0000000000..cb2edcba8a --- /dev/null +++ b/asm/nonmatchings/code_31650/func_80056250.s @@ -0,0 +1,223 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80056250 +/* 31650 80056250 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* 31654 80056254 AFB50024 */ sw $s5, 0x24($sp) +/* 31658 80056258 00A0A82D */ daddu $s5, $a1, $zero +/* 3165C 8005625C 3C038008 */ lui $v1, %hi(D_80078E50) +/* 31660 80056260 24638E50 */ addiu $v1, $v1, %lo(D_80078E50) +/* 31664 80056264 AFBF002C */ sw $ra, 0x2c($sp) +/* 31668 80056268 AFB60028 */ sw $s6, 0x28($sp) +/* 3166C 8005626C AFB40020 */ sw $s4, 0x20($sp) +/* 31670 80056270 AFB3001C */ sw $s3, 0x1c($sp) +/* 31674 80056274 AFB20018 */ sw $s2, 0x18($sp) +/* 31678 80056278 AFB10014 */ sw $s1, 0x14($sp) +/* 3167C 8005627C AFB00010 */ sw $s0, 0x10($sp) +/* 31680 80056280 8C620000 */ lw $v0, ($v1) +/* 31684 80056284 8EB30014 */ lw $s3, 0x14($s5) +/* 31688 80056288 144000BC */ bnez $v0, .L8005657C +/* 3168C 8005628C 0080382D */ daddu $a3, $a0, $zero +/* 31690 80056290 8EA20000 */ lw $v0, ($s5) +/* 31694 80056294 0260202D */ daddu $a0, $s3, $zero +/* 31698 80056298 ACE2000C */ sw $v0, 0xc($a3) +/* 3169C 8005629C 8EA20004 */ lw $v0, 4($s5) +/* 316A0 800562A0 AC670000 */ sw $a3, ($v1) +/* 316A4 800562A4 ACE00000 */ sw $zero, ($a3) +/* 316A8 800562A8 ACE00004 */ sw $zero, 4($a3) +/* 316AC 800562AC ACE20010 */ sw $v0, 0x10($a3) +/* 316B0 800562B0 8EA20008 */ lw $v0, 8($s5) +/* 316B4 800562B4 3C108008 */ lui $s0, %hi(D_80078E54) +/* 316B8 800562B8 26108E54 */ addiu $s0, $s0, %lo(D_80078E54) +/* 316BC 800562BC AE070000 */ sw $a3, ($s0) +/* 316C0 800562C0 3C018008 */ lui $at, %hi(D_80078E58) +/* 316C4 800562C4 A0208E58 */ sb $zero, %lo(D_80078E58)($at) +/* 316C8 800562C8 ACE20008 */ sw $v0, 8($a3) +/* 316CC 800562CC 8EA30010 */ lw $v1, 0x10($s5) +/* 316D0 800562D0 24027FFF */ addiu $v0, $zero, 0x7fff +/* 316D4 800562D4 3C018008 */ lui $at, %hi(D_80078E5A) +/* 316D8 800562D8 A4228E5A */ sh $v0, %lo(D_80078E5A)($at) +/* 316DC 800562DC ACE30014 */ sw $v1, 0x14($a3) +/* 316E0 800562E0 8EA50000 */ lw $a1, ($s5) +/* 316E4 800562E4 24020001 */ addiu $v0, $zero, 1 +/* 316E8 800562E8 3C018008 */ lui $at, %hi(D_80078E5C) +/* 316EC 800562EC A0228E5C */ sb $v0, %lo(D_80078E5C)($at) +/* 316F0 800562F0 0C015FE4 */ jal alHeapAlloc +/* 316F4 800562F4 2406007C */ addiu $a2, $zero, 0x7c +/* 316F8 800562F8 8E030000 */ lw $v1, ($s0) +/* 316FC 800562FC AC62001C */ sw $v0, 0x1c($v1) +/* 31700 80056300 8EA20000 */ lw $v0, ($s5) +/* 31704 80056304 18400043 */ blez $v0, .L80056414 +/* 31708 80056308 0000882D */ daddu $s1, $zero, $zero +/* 3170C 8005630C 0200B02D */ daddu $s6, $s0, $zero +/* 31710 80056310 24120001 */ addiu $s2, $zero, 1 +/* 31714 80056314 0220A02D */ daddu $s4, $s1, $zero +/* 31718 80056318 0260202D */ daddu $a0, $s3, $zero +.L8005631C: +/* 3171C 8005631C 8EC20000 */ lw $v0, ($s6) +/* 31720 80056320 24050001 */ addiu $a1, $zero, 1 +/* 31724 80056324 8C50001C */ lw $s0, 0x1c($v0) +/* 31728 80056328 24060020 */ addiu $a2, $zero, 0x20 +/* 3172C 8005632C 0C015FE4 */ jal alHeapAlloc +/* 31730 80056330 02148021 */ addu $s0, $s0, $s4 +/* 31734 80056334 0260202D */ daddu $a0, $s3, $zero +/* 31738 80056338 24050001 */ addiu $a1, $zero, 1 +/* 3173C 8005633C 24060020 */ addiu $a2, $zero, 0x20 +/* 31740 80056340 0C015FE4 */ jal alHeapAlloc +/* 31744 80056344 AE020004 */ sw $v0, 4($s0) +/* 31748 80056348 8EC30000 */ lw $v1, ($s6) +/* 3174C 8005634C 26040024 */ addiu $a0, $s0, 0x24 +/* 31750 80056350 AE020008 */ sw $v0, 8($s0) +/* 31754 80056354 8C620014 */ lw $v0, 0x14($v1) +/* 31758 80056358 0040F809 */ jalr $v0 +/* 3175C 8005635C 2694007C */ addiu $s4, $s4, 0x7c +/* 31760 80056360 0260202D */ daddu $a0, $s3, $zero +/* 31764 80056364 24050001 */ addiu $a1, $zero, 1 +/* 31768 80056368 24060020 */ addiu $a2, $zero, 0x20 +/* 3176C 8005636C AE020020 */ sw $v0, 0x20($s0) +/* 31770 80056370 AE00002C */ sw $zero, 0x2c($s0) +/* 31774 80056374 AE120030 */ sw $s2, 0x30($s0) +/* 31778 80056378 0C015FE4 */ jal alHeapAlloc +/* 3177C 8005637C AE000034 */ sw $zero, 0x34($s0) +/* 31780 80056380 0260202D */ daddu $a0, $s3, $zero +/* 31784 80056384 24050001 */ addiu $a1, $zero, 1 +/* 31788 80056388 3C013F80 */ lui $at, 0x3f80 +/* 3178C 8005638C 44810000 */ mtc1 $at, $f0 +/* 31790 80056390 24060050 */ addiu $a2, $zero, 0x50 +/* 31794 80056394 AE020038 */ sw $v0, 0x38($s0) +/* 31798 80056398 AE000040 */ sw $zero, 0x40($s0) +/* 3179C 8005639C AE120044 */ sw $s2, 0x44($s0) +/* 317A0 800563A0 0C015FE4 */ jal alHeapAlloc +/* 317A4 800563A4 E600003C */ swc1 $f0, 0x3c($s0) +/* 317A8 800563A8 AE020048 */ sw $v0, 0x48($s0) +/* 317AC 800563AC 24020040 */ addiu $v0, $zero, 0x40 +/* 317B0 800563B0 AE12006C */ sw $s2, 0x6c($s0) +/* 317B4 800563B4 AE000070 */ sw $zero, 0x70($s0) +/* 317B8 800563B8 A612004E */ sh $s2, 0x4e($s0) +/* 317BC 800563BC A612005C */ sh $s2, 0x5c($s0) +/* 317C0 800563C0 A6120062 */ sh $s2, 0x62($s0) +/* 317C4 800563C4 A6120050 */ sh $s2, 0x50($s0) +/* 317C8 800563C8 A6120052 */ sh $s2, 0x52($s0) +/* 317CC 800563CC A6000054 */ sh $zero, 0x54($s0) +/* 317D0 800563D0 A6000056 */ sh $zero, 0x56($s0) +/* 317D4 800563D4 A612005A */ sh $s2, 0x5a($s0) +/* 317D8 800563D8 A6000058 */ sh $zero, 0x58($s0) +/* 317DC 800563DC A6120060 */ sh $s2, 0x60($s0) +/* 317E0 800563E0 A600005E */ sh $zero, 0x5e($s0) +/* 317E4 800563E4 AE000064 */ sw $zero, 0x64($s0) +/* 317E8 800563E8 AE000068 */ sw $zero, 0x68($s0) +/* 317EC 800563EC A602004C */ sh $v0, 0x4c($s0) +/* 317F0 800563F0 A6000074 */ sh $zero, 0x74($s0) +/* 317F4 800563F4 AE000000 */ sw $zero, ($s0) +/* 317F8 800563F8 A2000078 */ sb $zero, 0x78($s0) +/* 317FC 800563FC A2110079 */ sb $s1, 0x79($s0) +/* 31800 80056400 8EA20000 */ lw $v0, ($s5) +/* 31804 80056404 26310001 */ addiu $s1, $s1, 1 +/* 31808 80056408 0222102A */ slt $v0, $s1, $v0 +/* 3180C 8005640C 1440FFC3 */ bnez $v0, .L8005631C +/* 31810 80056410 0260202D */ daddu $a0, $s3, $zero +.L80056414: +/* 31814 80056414 0260202D */ daddu $a0, $s3, $zero +/* 31818 80056418 8EA50004 */ lw $a1, 4($s5) +/* 3181C 8005641C 0C015FE4 */ jal alHeapAlloc +/* 31820 80056420 24060018 */ addiu $a2, $zero, 0x18 +/* 31824 80056424 3C038008 */ lui $v1, %hi(D_80078E54) +/* 31828 80056428 8C638E54 */ lw $v1, %lo(D_80078E54)($v1) +/* 3182C 8005642C AC620020 */ sw $v0, 0x20($v1) +/* 31830 80056430 8EA20004 */ lw $v0, 4($s5) +/* 31834 80056434 18400022 */ blez $v0, .L800564C0 +/* 31838 80056438 0000882D */ daddu $s1, $zero, $zero +/* 3183C 8005643C 24147FFF */ addiu $s4, $zero, 0x7fff +/* 31840 80056440 0220902D */ daddu $s2, $s1, $zero +.L80056444: +/* 31844 80056444 0260202D */ daddu $a0, $s3, $zero +/* 31848 80056448 24050001 */ addiu $a1, $zero, 1 +/* 3184C 8005644C 3C028008 */ lui $v0, %hi(D_80078E54) +/* 31850 80056450 8C428E54 */ lw $v0, %lo(D_80078E54)($v0) +/* 31854 80056454 24060014 */ addiu $a2, $zero, 0x14 +/* 31858 80056458 8C500020 */ lw $s0, 0x20($v0) +/* 3185C 8005645C 02258821 */ addu $s1, $s1, $a1 +/* 31860 80056460 02128021 */ addu $s0, $s0, $s2 +/* 31864 80056464 AE000010 */ sw $zero, 0x10($s0) +/* 31868 80056468 AE000014 */ sw $zero, 0x14($s0) +/* 3186C 8005646C A6140000 */ sh $s4, ($s0) +/* 31870 80056470 0C015FE4 */ jal alHeapAlloc +/* 31874 80056474 A200000C */ sb $zero, 0xc($s0) +/* 31878 80056478 0260202D */ daddu $a0, $s3, $zero +/* 3187C 8005647C 24050001 */ addiu $a1, $zero, 1 +/* 31880 80056480 24060014 */ addiu $a2, $zero, 0x14 +/* 31884 80056484 0C015FE4 */ jal alHeapAlloc +/* 31888 80056488 AE020004 */ sw $v0, 4($s0) +/* 3188C 8005648C 8E040004 */ lw $a0, 4($s0) +/* 31890 80056490 9205000C */ lbu $a1, 0xc($s0) +/* 31894 80056494 0260302D */ daddu $a2, $s3, $zero +/* 31898 80056498 0C0163A1 */ jal func_80058E84 +/* 3189C 8005649C AE020008 */ sw $v0, 8($s0) +/* 318A0 800564A0 8E040008 */ lw $a0, 8($s0) +/* 318A4 800564A4 9205000C */ lbu $a1, 0xc($s0) +/* 318A8 800564A8 0C0163A1 */ jal func_80058E84 +/* 318AC 800564AC 0260302D */ daddu $a2, $s3, $zero +/* 318B0 800564B0 8EA20004 */ lw $v0, 4($s5) +/* 318B4 800564B4 0222102A */ slt $v0, $s1, $v0 +/* 318B8 800564B8 1440FFE2 */ bnez $v0, .L80056444 +/* 318BC 800564BC 26520018 */ addiu $s2, $s2, 0x18 +.L800564C0: +/* 318C0 800564C0 0260202D */ daddu $a0, $s3, $zero +/* 318C4 800564C4 24050170 */ addiu $a1, $zero, 0x170 +/* 318C8 800564C8 0C015FE4 */ jal alHeapAlloc +/* 318CC 800564CC 24060002 */ addiu $a2, $zero, 2 +/* 318D0 800564D0 0260202D */ daddu $a0, $s3, $zero +/* 318D4 800564D4 24050170 */ addiu $a1, $zero, 0x170 +/* 318D8 800564D8 24060002 */ addiu $a2, $zero, 2 +/* 318DC 800564DC 3C108008 */ lui $s0, %hi(D_80078E54) +/* 318E0 800564E0 26108E54 */ addiu $s0, $s0, %lo(D_80078E54) +/* 318E4 800564E4 8E030000 */ lw $v1, ($s0) +/* 318E8 800564E8 0000882D */ daddu $s1, $zero, $zero +/* 318EC 800564EC 0C015FE4 */ jal alHeapAlloc +/* 318F0 800564F0 AC620024 */ sw $v0, 0x24($v1) +/* 318F4 800564F4 0260202D */ daddu $a0, $s3, $zero +/* 318F8 800564F8 240502E0 */ addiu $a1, $zero, 0x2e0 +/* 318FC 800564FC 24060002 */ addiu $a2, $zero, 2 +/* 31900 80056500 3C01800A */ lui $at, %hi(D_800A3FEC) +/* 31904 80056504 A0203FEC */ sb $zero, %lo(D_800A3FEC)($at) +/* 31908 80056508 3C01800A */ lui $at, %hi(D_800A3FEE) +/* 3190C 8005650C A4203FEE */ sh $zero, %lo(D_800A3FEE)($at) +/* 31910 80056510 8E070000 */ lw $a3, ($s0) +/* 31914 80056514 24030004 */ addiu $v1, $zero, 4 +/* 31918 80056518 3C01800A */ lui $at, %hi(D_800A3FF0) +/* 3191C 8005651C AC233FF0 */ sw $v1, %lo(D_800A3FF0)($at) +/* 31920 80056520 0C015FE4 */ jal alHeapAlloc +/* 31924 80056524 ACE20028 */ sw $v0, 0x28($a3) +/* 31928 80056528 0260202D */ daddu $a0, $s3, $zero +/* 3192C 8005652C 240502E0 */ addiu $a1, $zero, 0x2e0 +/* 31930 80056530 24060002 */ addiu $a2, $zero, 2 +/* 31934 80056534 3C10800A */ lui $s0, %hi(D_800A3FE0) +/* 31938 80056538 26103FE0 */ addiu $s0, $s0, %lo(D_800A3FE0) +/* 3193C 8005653C 0C015FE4 */ jal alHeapAlloc +/* 31940 80056540 AE020000 */ sw $v0, ($s0) +/* 31944 80056544 8E100000 */ lw $s0, ($s0) +/* 31948 80056548 0040182D */ daddu $v1, $v0, $zero +/* 3194C 8005654C 3C01800A */ lui $at, %hi(D_800A3FE4) +/* 31950 80056550 AC233FE4 */ sw $v1, %lo(D_800A3FE4)($at) +.L80056554: +/* 31954 80056554 A6000000 */ sh $zero, ($s0) +/* 31958 80056558 A4600000 */ sh $zero, ($v1) +/* 3195C 8005655C 24630002 */ addiu $v1, $v1, 2 +/* 31960 80056560 26310001 */ addiu $s1, $s1, 1 +/* 31964 80056564 2A2202E0 */ slti $v0, $s1, 0x2e0 +/* 31968 80056568 1440FFFA */ bnez $v0, .L80056554 +/* 3196C 8005656C 26100002 */ addiu $s0, $s0, 2 +/* 31970 80056570 3C028008 */ lui $v0, %hi(D_80078E54) +/* 31974 80056574 8C428E54 */ lw $v0, %lo(D_80078E54)($v0) +/* 31978 80056578 AC530018 */ sw $s3, 0x18($v0) +.L8005657C: +/* 3197C 8005657C 8FBF002C */ lw $ra, 0x2c($sp) +/* 31980 80056580 8FB60028 */ lw $s6, 0x28($sp) +/* 31984 80056584 8FB50024 */ lw $s5, 0x24($sp) +/* 31988 80056588 8FB40020 */ lw $s4, 0x20($sp) +/* 3198C 8005658C 8FB3001C */ lw $s3, 0x1c($sp) +/* 31990 80056590 8FB20018 */ lw $s2, 0x18($sp) +/* 31994 80056594 8FB10014 */ lw $s1, 0x14($sp) +/* 31998 80056598 8FB00010 */ lw $s0, 0x10($sp) +/* 3199C 8005659C 03E00008 */ jr $ra +/* 319A0 800565A0 27BD0030 */ addiu $sp, $sp, 0x30 diff --git a/asm/nonmatchings/code_31650/func_800565A4.s b/asm/nonmatchings/code_31650/func_800565A4.s new file mode 100644 index 0000000000..d831b054be --- /dev/null +++ b/asm/nonmatchings/code_31650/func_800565A4.s @@ -0,0 +1,12 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_800565A4 +/* 319A4 800565A4 3C038008 */ lui $v1, %hi(D_80078E50) +/* 319A8 800565A8 24638E50 */ addiu $v1, $v1, %lo(D_80078E50) +/* 319AC 800565AC 8C620000 */ lw $v0, ($v1) +/* 319B0 800565B0 54400001 */ bnel $v0, $zero, .L800565B8 +/* 319B4 800565B4 AC600000 */ sw $zero, ($v1) +.L800565B8: +/* 319B8 800565B8 03E00008 */ jr $ra +/* 319BC 800565BC 00000000 */ nop diff --git a/asm/nonmatchings/code_31650/func_80056D34.s b/asm/nonmatchings/code_31650/func_80056D34.s new file mode 100644 index 0000000000..56fc10663e --- /dev/null +++ b/asm/nonmatchings/code_31650/func_80056D34.s @@ -0,0 +1,8 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80056D34 +/* 32134 80056D34 24020001 */ addiu $v0, $zero, 1 +/* 32138 80056D38 3C018008 */ lui $at, %hi(D_80078E58) +/* 3213C 80056D3C 03E00008 */ jr $ra +/* 32140 80056D40 A0228E58 */ sb $v0, %lo(D_80078E58)($at) diff --git a/asm/nonmatchings/code_31650/func_80056D44.s b/asm/nonmatchings/code_31650/func_80056D44.s new file mode 100644 index 0000000000..c7f3137a8b --- /dev/null +++ b/asm/nonmatchings/code_31650/func_80056D44.s @@ -0,0 +1,7 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80056D44 +/* 32144 80056D44 3C018008 */ lui $at, %hi(D_80078E5A) +/* 32148 80056D48 03E00008 */ jr $ra +/* 3214C 80056D4C A4248E5A */ sh $a0, %lo(D_80078E5A)($at) diff --git a/asm/nonmatchings/code_31650/func_80056D50.s b/asm/nonmatchings/code_31650/func_80056D50.s new file mode 100644 index 0000000000..35aca52663 --- /dev/null +++ b/asm/nonmatchings/code_31650/func_80056D50.s @@ -0,0 +1,7 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80056D50 +/* 32150 80056D50 3C028008 */ lui $v0, %hi(D_80078E5A) +/* 32154 80056D54 03E00008 */ jr $ra +/* 32158 80056D58 84428E5A */ lh $v0, %lo(D_80078E5A)($v0) diff --git a/asm/nonmatchings/code_31650/func_80056D5C.s b/asm/nonmatchings/code_31650/func_80056D5C.s new file mode 100644 index 0000000000..31f3fecee4 --- /dev/null +++ b/asm/nonmatchings/code_31650/func_80056D5C.s @@ -0,0 +1,11 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80056D5C +/* 3215C 80056D5C 3C028008 */ lui $v0, %hi(D_80078181) +/* 32160 80056D60 24428181 */ addiu $v0, $v0, %lo(D_80078181) +/* 32164 80056D64 A0440000 */ sb $a0, ($v0) +/* 32168 80056D68 24020001 */ addiu $v0, $zero, 1 +/* 3216C 80056D6C 3C018008 */ lui $at, %hi(D_80078E5C) +/* 32170 80056D70 03E00008 */ jr $ra +/* 32174 80056D74 A0228E5C */ sb $v0, %lo(D_80078E5C)($at) diff --git a/asm/nonmatchings/code_31650/func_80056D78.s b/asm/nonmatchings/code_31650/func_80056D78.s new file mode 100644 index 0000000000..f81c89cc13 --- /dev/null +++ b/asm/nonmatchings/code_31650/func_80056D78.s @@ -0,0 +1,15 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80056D78 +/* 32178 80056D78 308400FF */ andi $a0, $a0, 0xff +/* 3217C 80056D7C 00041040 */ sll $v0, $a0, 1 +/* 32180 80056D80 00441021 */ addu $v0, $v0, $a0 +/* 32184 80056D84 3C038008 */ lui $v1, %hi(D_80078E54) +/* 32188 80056D88 8C638E54 */ lw $v1, %lo(D_80078E54)($v1) +/* 3218C 80056D8C 000210C0 */ sll $v0, $v0, 3 +/* 32190 80056D90 8C630020 */ lw $v1, 0x20($v1) +/* 32194 80056D94 30A57FFF */ andi $a1, $a1, 0x7fff +/* 32198 80056D98 00621821 */ addu $v1, $v1, $v0 +/* 3219C 80056D9C 03E00008 */ jr $ra +/* 321A0 80056DA0 A4650000 */ sh $a1, ($v1) diff --git a/asm/nonmatchings/code_31650/func_80056DA4.s b/asm/nonmatchings/code_31650/func_80056DA4.s new file mode 100644 index 0000000000..5929744cea --- /dev/null +++ b/asm/nonmatchings/code_31650/func_80056DA4.s @@ -0,0 +1,14 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80056DA4 +/* 321A4 80056DA4 308400FF */ andi $a0, $a0, 0xff +/* 321A8 80056DA8 00041840 */ sll $v1, $a0, 1 +/* 321AC 80056DAC 3C028008 */ lui $v0, %hi(D_80078E54) +/* 321B0 80056DB0 8C428E54 */ lw $v0, %lo(D_80078E54)($v0) +/* 321B4 80056DB4 00641821 */ addu $v1, $v1, $a0 +/* 321B8 80056DB8 8C420020 */ lw $v0, 0x20($v0) +/* 321BC 80056DBC 000318C0 */ sll $v1, $v1, 3 +/* 321C0 80056DC0 00431021 */ addu $v0, $v0, $v1 +/* 321C4 80056DC4 03E00008 */ jr $ra +/* 321C8 80056DC8 94420000 */ lhu $v0, ($v0) diff --git a/asm/nonmatchings/code_31650/func_80056DCC.s b/asm/nonmatchings/code_31650/func_80056DCC.s new file mode 100644 index 0000000000..0b3ee24ab1 --- /dev/null +++ b/asm/nonmatchings/code_31650/func_80056DCC.s @@ -0,0 +1,30 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80056DCC +/* 321CC 80056DCC 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 321D0 80056DD0 00A0302D */ daddu $a2, $a1, $zero +/* 321D4 80056DD4 308400FF */ andi $a0, $a0, 0xff +/* 321D8 80056DD8 00041040 */ sll $v0, $a0, 1 +/* 321DC 80056DDC 00441021 */ addu $v0, $v0, $a0 +/* 321E0 80056DE0 3C038008 */ lui $v1, %hi(D_80078E54) +/* 321E4 80056DE4 8C638E54 */ lw $v1, %lo(D_80078E54)($v1) +/* 321E8 80056DE8 000210C0 */ sll $v0, $v0, 3 +/* 321EC 80056DEC AFBF0018 */ sw $ra, 0x18($sp) +/* 321F0 80056DF0 AFB10014 */ sw $s1, 0x14($sp) +/* 321F4 80056DF4 AFB00010 */ sw $s0, 0x10($sp) +/* 321F8 80056DF8 8C700020 */ lw $s0, 0x20($v1) +/* 321FC 80056DFC 30D100FF */ andi $s1, $a2, 0xff +/* 32200 80056E00 02028021 */ addu $s0, $s0, $v0 +/* 32204 80056E04 8E040004 */ lw $a0, 4($s0) +/* 32208 80056E08 0220282D */ daddu $a1, $s1, $zero +/* 3220C 80056E0C 0C016413 */ jal func_8005904C +/* 32210 80056E10 A206000C */ sb $a2, 0xc($s0) +/* 32214 80056E14 8E040008 */ lw $a0, 8($s0) +/* 32218 80056E18 0C016413 */ jal func_8005904C +/* 3221C 80056E1C 0220282D */ daddu $a1, $s1, $zero +/* 32220 80056E20 8FBF0018 */ lw $ra, 0x18($sp) +/* 32224 80056E24 8FB10014 */ lw $s1, 0x14($sp) +/* 32228 80056E28 8FB00010 */ lw $s0, 0x10($sp) +/* 3222C 80056E2C 03E00008 */ jr $ra +/* 32230 80056E30 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/code_31650/func_80056E34.s b/asm/nonmatchings/code_31650/func_80056E34.s new file mode 100644 index 0000000000..7b78aba935 --- /dev/null +++ b/asm/nonmatchings/code_31650/func_80056E34.s @@ -0,0 +1,39 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80056E34 +/* 32234 80056E34 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 32238 80056E38 AFB3001C */ sw $s3, 0x1c($sp) +/* 3223C 80056E3C 00E0982D */ daddu $s3, $a3, $zero +/* 32240 80056E40 AFB20018 */ sw $s2, 0x18($sp) +/* 32244 80056E44 00059400 */ sll $s2, $a1, 0x10 +/* 32248 80056E48 00129403 */ sra $s2, $s2, 0x10 +/* 3224C 80056E4C 0240282D */ daddu $a1, $s2, $zero +/* 32250 80056E50 AFB10014 */ sw $s1, 0x14($sp) +/* 32254 80056E54 00068C00 */ sll $s1, $a2, 0x10 +/* 32258 80056E58 00118C03 */ sra $s1, $s1, 0x10 +/* 3225C 80056E5C 308400FF */ andi $a0, $a0, 0xff +/* 32260 80056E60 00041040 */ sll $v0, $a0, 1 +/* 32264 80056E64 3C038008 */ lui $v1, %hi(D_80078E54) +/* 32268 80056E68 8C638E54 */ lw $v1, %lo(D_80078E54)($v1) +/* 3226C 80056E6C 00441021 */ addu $v0, $v0, $a0 +/* 32270 80056E70 AFBF0020 */ sw $ra, 0x20($sp) +/* 32274 80056E74 AFB00010 */ sw $s0, 0x10($sp) +/* 32278 80056E78 8C700020 */ lw $s0, 0x20($v1) +/* 3227C 80056E7C 000210C0 */ sll $v0, $v0, 3 +/* 32280 80056E80 02028021 */ addu $s0, $s0, $v0 +/* 32284 80056E84 8E040004 */ lw $a0, 4($s0) +/* 32288 80056E88 0C016628 */ jal func_800598A0 +/* 3228C 80056E8C 0220302D */ daddu $a2, $s1, $zero +/* 32290 80056E90 0240282D */ daddu $a1, $s2, $zero +/* 32294 80056E94 0220302D */ daddu $a2, $s1, $zero +/* 32298 80056E98 8E040008 */ lw $a0, 8($s0) +/* 3229C 80056E9C 0C016628 */ jal func_800598A0 +/* 322A0 80056EA0 0260382D */ daddu $a3, $s3, $zero +/* 322A4 80056EA4 8FBF0020 */ lw $ra, 0x20($sp) +/* 322A8 80056EA8 8FB3001C */ lw $s3, 0x1c($sp) +/* 322AC 80056EAC 8FB20018 */ lw $s2, 0x18($sp) +/* 322B0 80056EB0 8FB10014 */ lw $s1, 0x14($sp) +/* 322B4 80056EB4 8FB00010 */ lw $s0, 0x10($sp) +/* 322B8 80056EB8 03E00008 */ jr $ra +/* 322BC 80056EBC 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/code_31650/func_80056EC0.s b/asm/nonmatchings/code_31650/func_80056EC0.s new file mode 100644 index 0000000000..bbfc4ef0eb --- /dev/null +++ b/asm/nonmatchings/code_31650/func_80056EC0.s @@ -0,0 +1,14 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80056EC0 +/* 322C0 80056EC0 308400FF */ andi $a0, $a0, 0xff +/* 322C4 80056EC4 00041940 */ sll $v1, $a0, 5 +/* 322C8 80056EC8 3C028008 */ lui $v0, %hi(D_80078E54) +/* 322CC 80056ECC 8C428E54 */ lw $v0, %lo(D_80078E54)($v0) +/* 322D0 80056ED0 00641823 */ subu $v1, $v1, $a0 +/* 322D4 80056ED4 8C42001C */ lw $v0, 0x1c($v0) +/* 322D8 80056ED8 00031880 */ sll $v1, $v1, 2 +/* 322DC 80056EDC 00431021 */ addu $v0, $v0, $v1 +/* 322E0 80056EE0 03E00008 */ jr $ra +/* 322E4 80056EE4 A0450078 */ sb $a1, 0x78($v0) diff --git a/asm/nonmatchings/code_31650/func_80056EE8.s b/asm/nonmatchings/code_31650/func_80056EE8.s new file mode 100644 index 0000000000..7b281402b2 --- /dev/null +++ b/asm/nonmatchings/code_31650/func_80056EE8.s @@ -0,0 +1,42 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80056EE8 +/* 322E8 80056EE8 308400FF */ andi $a0, $a0, 0xff +/* 322EC 80056EEC 00041140 */ sll $v0, $a0, 5 +/* 322F0 80056EF0 00441023 */ subu $v0, $v0, $a0 +/* 322F4 80056EF4 3C038008 */ lui $v1, %hi(D_80078E54) +/* 322F8 80056EF8 8C638E54 */ lw $v1, %lo(D_80078E54)($v1) +/* 322FC 80056EFC 00021080 */ sll $v0, $v0, 2 +/* 32300 80056F00 8C63001C */ lw $v1, 0x1c($v1) +/* 32304 80056F04 24050001 */ addiu $a1, $zero, 1 +/* 32308 80056F08 00621821 */ addu $v1, $v1, $v0 +/* 3230C 80056F0C 8C620018 */ lw $v0, 0x18($v1) +/* 32310 80056F10 24640004 */ addiu $a0, $v1, 4 +/* 32314 80056F14 AC600070 */ sw $zero, 0x70($v1) +/* 32318 80056F18 AC65006C */ sw $a1, 0x6c($v1) +/* 3231C 80056F1C A465004E */ sh $a1, 0x4e($v1) +/* 32320 80056F20 AC600040 */ sw $zero, 0x40($v1) +/* 32324 80056F24 AC650044 */ sw $a1, 0x44($v1) +/* 32328 80056F28 AC60002C */ sw $zero, 0x2c($v1) +/* 3232C 80056F2C AC650030 */ sw $a1, 0x30($v1) +/* 32330 80056F30 1040000F */ beqz $v0, .L80056F70 +/* 32334 80056F34 AC600028 */ sw $zero, 0x28($v1) +/* 32338 80056F38 8C820014 */ lw $v0, 0x14($a0) +/* 3233C 80056F3C 8C420000 */ lw $v0, ($v0) +/* 32340 80056F40 AC620034 */ sw $v0, 0x34($v1) +/* 32344 80056F44 8C840014 */ lw $a0, 0x14($a0) +/* 32348 80056F48 90820024 */ lbu $v0, 0x24($a0) +/* 3234C 80056F4C 10400003 */ beqz $v0, .L80056F5C +/* 32350 80056F50 00000000 */ nop +/* 32354 80056F54 14450006 */ bne $v0, $a1, .L80056F70 +/* 32358 80056F58 00000000 */ nop +.L80056F5C: +/* 3235C 80056F5C 8C820010 */ lw $v0, 0x10($a0) +/* 32360 80056F60 10400003 */ beqz $v0, .L80056F70 +/* 32364 80056F64 00000000 */ nop +/* 32368 80056F68 8C820014 */ lw $v0, 0x14($a0) +/* 3236C 80056F6C AC620014 */ sw $v0, 0x14($v1) +.L80056F70: +/* 32370 80056F70 03E00008 */ jr $ra +/* 32374 80056F74 00000000 */ nop diff --git a/asm/nonmatchings/code_31650/func_80056F78.s b/asm/nonmatchings/code_31650/func_80056F78.s new file mode 100644 index 0000000000..2716ed4dd7 --- /dev/null +++ b/asm/nonmatchings/code_31650/func_80056F78.s @@ -0,0 +1,15 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80056F78 +/* 32378 80056F78 308400FF */ andi $a0, $a0, 0xff +/* 3237C 80056F7C 00041140 */ sll $v0, $a0, 5 +/* 32380 80056F80 3C038008 */ lui $v1, %hi(D_80078E54) +/* 32384 80056F84 8C638E54 */ lw $v1, %lo(D_80078E54)($v1) +/* 32388 80056F88 00441023 */ subu $v0, $v0, $a0 +/* 3238C 80056F8C 8C63001C */ lw $v1, 0x1c($v1) +/* 32390 80056F90 00021080 */ sll $v0, $v0, 2 +/* 32394 80056F94 00621821 */ addu $v1, $v1, $v0 +/* 32398 80056F98 24020001 */ addiu $v0, $zero, 1 +/* 3239C 80056F9C 03E00008 */ jr $ra +/* 323A0 80056FA0 AC620070 */ sw $v0, 0x70($v1) diff --git a/asm/nonmatchings/code_31650/func_80056FA4.s b/asm/nonmatchings/code_31650/func_80056FA4.s new file mode 100644 index 0000000000..ffa7b7d466 --- /dev/null +++ b/asm/nonmatchings/code_31650/func_80056FA4.s @@ -0,0 +1,173 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80056FA4 +/* 323A4 80056FA4 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* 323A8 80056FA8 308400FF */ andi $a0, $a0, 0xff +/* 323AC 80056FAC F7B40028 */ sdc1 $f20, 0x28($sp) +/* 323B0 80056FB0 4487A000 */ mtc1 $a3, $f20 +/* 323B4 80056FB4 00041140 */ sll $v0, $a0, 5 +/* 323B8 80056FB8 AFB10014 */ sw $s1, 0x14($sp) +/* 323BC 80056FBC 97B10042 */ lhu $s1, 0x42($sp) +/* 323C0 80056FC0 3C038008 */ lui $v1, %hi(D_80078E54) +/* 323C4 80056FC4 8C638E54 */ lw $v1, %lo(D_80078E54)($v1) +/* 323C8 80056FC8 00441023 */ subu $v0, $v0, $a0 +/* 323CC 80056FCC AFB20018 */ sw $s2, 0x18($sp) +/* 323D0 80056FD0 93B20047 */ lbu $s2, 0x47($sp) +/* 323D4 80056FD4 00021080 */ sll $v0, $v0, 2 +/* 323D8 80056FD8 AFBF0024 */ sw $ra, 0x24($sp) +/* 323DC 80056FDC AFB40020 */ sw $s4, 0x20($sp) +/* 323E0 80056FE0 AFB3001C */ sw $s3, 0x1c($sp) +/* 323E4 80056FE4 AFB00010 */ sw $s0, 0x10($sp) +/* 323E8 80056FE8 8C63001C */ lw $v1, 0x1c($v1) +/* 323EC 80056FEC 93B3004B */ lbu $s3, 0x4b($sp) +/* 323F0 80056FF0 00623821 */ addu $a3, $v1, $v0 +/* 323F4 80056FF4 24E40004 */ addiu $a0, $a3, 4 +/* 323F8 80056FF8 A0E50078 */ sb $a1, 0x78($a3) +/* 323FC 80056FFC ACE60018 */ sw $a2, 0x18($a3) +/* 32400 80057000 8C820014 */ lw $v0, 0x14($a0) +/* 32404 80057004 8C420000 */ lw $v0, ($v0) +/* 32408 80057008 ACE00028 */ sw $zero, 0x28($a3) +/* 3240C 8005700C ACE20034 */ sw $v0, 0x34($a3) +/* 32410 80057010 8C850014 */ lw $a1, 0x14($a0) +/* 32414 80057014 24F00048 */ addiu $s0, $a3, 0x48 +/* 32418 80057018 90A30024 */ lbu $v1, 0x24($a1) +/* 3241C 8005701C 10600006 */ beqz $v1, .L80057038 +/* 32420 80057020 24F40038 */ addiu $s4, $a3, 0x38 +/* 32424 80057024 24020001 */ addiu $v0, $zero, 1 +/* 32428 80057028 10620022 */ beq $v1, $v0, .L800570B4 +/* 3242C 8005702C 00000000 */ nop +/* 32430 80057030 08015C3C */ j .L800570F0 +/* 32434 80057034 24050001 */ addiu $a1, $zero, 1 +.L80057038: +/* 32438 80057038 3C0338E3 */ lui $v1, 0x38e3 +/* 3243C 8005703C 8CA20004 */ lw $v0, 4($a1) +/* 32440 80057040 34638E39 */ ori $v1, $v1, 0x8e39 +/* 32444 80057044 00430019 */ multu $v0, $v1 +/* 32448 80057048 00004010 */ mfhi $t0 +/* 3244C 8005704C 00081842 */ srl $v1, $t0, 1 +/* 32450 80057050 000310C0 */ sll $v0, $v1, 3 +/* 32454 80057054 00431021 */ addu $v0, $v0, $v1 +/* 32458 80057058 ACA20004 */ sw $v0, 4($a1) +/* 3245C 8005705C 8C820014 */ lw $v0, 0x14($a0) +/* 32460 80057060 9442001C */ lhu $v0, 0x1c($v0) +/* 32464 80057064 ACE2001C */ sw $v0, 0x1c($a3) +/* 32468 80057068 8C830014 */ lw $v1, 0x14($a0) +/* 3246C 8005706C 8C620010 */ lw $v0, 0x10($v1) +/* 32470 80057070 5040001C */ beql $v0, $zero, .L800570E4 +/* 32474 80057074 ACE00014 */ sw $zero, 0x14($a3) +/* 32478 80057078 8C62000C */ lw $v0, 0xc($v1) +/* 3247C 8005707C ACE2000C */ sw $v0, 0xc($a3) +/* 32480 80057080 8C820014 */ lw $v0, 0x14($a0) +/* 32484 80057084 8C420010 */ lw $v0, 0x10($v0) +/* 32488 80057088 ACE20010 */ sw $v0, 0x10($a3) +/* 3248C 8005708C 8C820014 */ lw $v0, 0x14($a0) +/* 32490 80057090 8C420014 */ lw $v0, 0x14($v0) +/* 32494 80057094 ACE20014 */ sw $v0, 0x14($a3) +/* 32498 80057098 8C820014 */ lw $v0, 0x14($a0) +/* 3249C 8005709C 8CE50008 */ lw $a1, 8($a3) +/* 324A0 800570A0 8C440008 */ lw $a0, 8($v0) +/* 324A4 800570A4 0C015FF6 */ jal func_80057FD8 +/* 324A8 800570A8 24060020 */ addiu $a2, $zero, 0x20 +/* 324AC 800570AC 08015C3C */ j .L800570F0 +/* 324B0 800570B0 24050001 */ addiu $a1, $zero, 1 +.L800570B4: +/* 324B4 800570B4 8CA20010 */ lw $v0, 0x10($a1) +/* 324B8 800570B8 5040000A */ beql $v0, $zero, .L800570E4 +/* 324BC 800570BC ACE00014 */ sw $zero, 0x14($a3) +/* 324C0 800570C0 8CA2000C */ lw $v0, 0xc($a1) +/* 324C4 800570C4 ACE2000C */ sw $v0, 0xc($a3) +/* 324C8 800570C8 8C820014 */ lw $v0, 0x14($a0) +/* 324CC 800570CC 8C420010 */ lw $v0, 0x10($v0) +/* 324D0 800570D0 ACE20010 */ sw $v0, 0x10($a3) +/* 324D4 800570D4 8C820014 */ lw $v0, 0x14($a0) +/* 324D8 800570D8 8C420014 */ lw $v0, 0x14($v0) +/* 324DC 800570DC 08015C3B */ j .L800570EC +/* 324E0 800570E0 ACE20014 */ sw $v0, 0x14($a3) +.L800570E4: +/* 324E4 800570E4 ACE00010 */ sw $zero, 0x10($a3) +/* 324E8 800570E8 ACE0000C */ sw $zero, 0xc($a3) +.L800570EC: +/* 324EC 800570EC 24050001 */ addiu $a1, $zero, 1 +.L800570F0: +/* 324F0 800570F0 00111400 */ sll $v0, $s1, 0x10 +/* 324F4 800570F4 00021403 */ sra $v0, $v0, 0x10 +/* 324F8 800570F8 326300FF */ andi $v1, $s3, 0xff +/* 324FC 800570FC 00420018 */ mult $v0, $v0 +/* 32500 80057100 AE050028 */ sw $a1, 0x28($s0) +/* 32504 80057104 AE050024 */ sw $a1, 0x24($s0) +/* 32508 80057108 AE00001C */ sw $zero, 0x1c($s0) +/* 3250C 8005710C 8FA2004C */ lw $v0, 0x4c($sp) +/* 32510 80057110 2406007F */ addiu $a2, $zero, 0x7f +/* 32514 80057114 AE020020 */ sw $v0, 0x20($s0) +/* 32518 80057118 324200FF */ andi $v0, $s2, 0xff +/* 3251C 8005711C A6020004 */ sh $v0, 4($s0) +/* 32520 80057120 00004012 */ mflo $t0 +/* 32524 80057124 000813C3 */ sra $v0, $t0, 0xf +/* 32528 80057128 A6020006 */ sh $v0, 6($s0) +/* 3252C 8005712C 00A31004 */ sllv $v0, $v1, $a1 +/* 32530 80057130 00C31823 */ subu $v1, $a2, $v1 +/* 32534 80057134 3C018008 */ lui $at, %hi(D_80078E60) +/* 32538 80057138 00220821 */ addu $at, $at, $v0 +/* 3253C 8005713C 94228E60 */ lhu $v0, %lo(D_80078E60)($at) +/* 32540 80057140 00A31804 */ sllv $v1, $v1, $a1 +/* 32544 80057144 A602000C */ sh $v0, 0xc($s0) +/* 32548 80057148 3C028008 */ lui $v0, %hi(D_80078E60) +/* 3254C 8005714C 00431021 */ addu $v0, $v0, $v1 +/* 32550 80057150 94428E60 */ lhu $v0, %lo(D_80078E60)($v0) +/* 32554 80057154 A602000E */ sh $v0, 0xe($s0) +/* 32558 80057158 8E020020 */ lw $v0, 0x20($s0) +/* 3255C 8005715C 3C048008 */ lui $a0, %hi(D_80078E60) +/* 32560 80057160 24848E60 */ addiu $a0, $a0, %lo(D_80078E60) +/* 32564 80057164 10400004 */ beqz $v0, .L80057178 +/* 32568 80057168 00000000 */ nop +/* 3256C 8005716C A6050008 */ sh $a1, 8($s0) +/* 32570 80057170 08015C7F */ j .L800571FC +/* 32574 80057174 A605000A */ sh $a1, 0xa($s0) +.L80057178: +/* 32578 80057178 3C028008 */ lui $v0, %hi(D_80078181) +/* 3257C 8005717C 24428181 */ addiu $v0, $v0, %lo(D_80078181) +/* 32580 80057180 90420000 */ lbu $v0, ($v0) +/* 32584 80057184 1440000A */ bnez $v0, .L800571B0 +/* 32588 80057188 00000000 */ nop +/* 3258C 8005718C 86030006 */ lh $v1, 6($s0) +/* 32590 80057190 84820080 */ lh $v0, 0x80($a0) +/* 32594 80057194 00620018 */ mult $v1, $v0 +/* 32598 80057198 00004012 */ mflo $t0 +/* 3259C 8005719C 000813C3 */ sra $v0, $t0, 0xf +/* 325A0 800571A0 A6020008 */ sh $v0, 8($s0) +/* 325A4 800571A4 84820080 */ lh $v0, 0x80($a0) +/* 325A8 800571A8 08015C7C */ j .L800571F0 +/* 325AC 800571AC 00620018 */ mult $v1, $v0 +.L800571B0: +/* 325B0 800571B0 86020004 */ lh $v0, 4($s0) +/* 325B4 800571B4 86030006 */ lh $v1, 6($s0) +/* 325B8 800571B8 00021040 */ sll $v0, $v0, 1 +/* 325BC 800571BC 00441021 */ addu $v0, $v0, $a0 +/* 325C0 800571C0 84420000 */ lh $v0, ($v0) +/* 325C4 800571C4 00620018 */ mult $v1, $v0 +/* 325C8 800571C8 86020004 */ lh $v0, 4($s0) +/* 325CC 800571CC 00C21023 */ subu $v0, $a2, $v0 +/* 325D0 800571D0 00021040 */ sll $v0, $v0, 1 +/* 325D4 800571D4 00441021 */ addu $v0, $v0, $a0 +/* 325D8 800571D8 00004012 */ mflo $t0 +/* 325DC 800571DC 00081BC3 */ sra $v1, $t0, 0xf +/* 325E0 800571E0 A6030008 */ sh $v1, 8($s0) +/* 325E4 800571E4 86030006 */ lh $v1, 6($s0) +/* 325E8 800571E8 84420000 */ lh $v0, ($v0) +/* 325EC 800571EC 00620018 */ mult $v1, $v0 +.L800571F0: +/* 325F0 800571F0 00004012 */ mflo $t0 +/* 325F4 800571F4 000813C3 */ sra $v0, $t0, 0xf +/* 325F8 800571F8 A602000A */ sh $v0, 0xa($s0) +.L800571FC: +/* 325FC 800571FC E6940004 */ swc1 $f20, 4($s4) +/* 32600 80057200 8FBF0024 */ lw $ra, 0x24($sp) +/* 32604 80057204 8FB40020 */ lw $s4, 0x20($sp) +/* 32608 80057208 8FB3001C */ lw $s3, 0x1c($sp) +/* 3260C 8005720C 8FB20018 */ lw $s2, 0x18($sp) +/* 32610 80057210 8FB10014 */ lw $s1, 0x14($sp) +/* 32614 80057214 8FB00010 */ lw $s0, 0x10($sp) +/* 32618 80057218 D7B40028 */ ldc1 $f20, 0x28($sp) +/* 3261C 8005721C 03E00008 */ jr $ra +/* 32620 80057220 27BD0030 */ addiu $sp, $sp, 0x30 diff --git a/asm/nonmatchings/code_31650/func_80057224.s b/asm/nonmatchings/code_31650/func_80057224.s new file mode 100644 index 0000000000..0ccc428d61 --- /dev/null +++ b/asm/nonmatchings/code_31650/func_80057224.s @@ -0,0 +1,80 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80057224 +/* 32624 80057224 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 32628 80057228 308400FF */ andi $a0, $a0, 0xff +/* 3262C 8005722C 00041140 */ sll $v0, $a0, 5 +/* 32630 80057230 3C038008 */ lui $v1, %hi(D_80078E54) +/* 32634 80057234 8C638E54 */ lw $v1, %lo(D_80078E54)($v1) +/* 32638 80057238 00441023 */ subu $v0, $v0, $a0 +/* 3263C 8005723C AFBF0010 */ sw $ra, 0x10($sp) +/* 32640 80057240 8C63001C */ lw $v1, 0x1c($v1) +/* 32644 80057244 00021080 */ sll $v0, $v0, 2 +/* 32648 80057248 00623021 */ addu $a2, $v1, $v0 +/* 3264C 8005724C ACC50018 */ sw $a1, 0x18($a2) +/* 32650 80057250 24C50004 */ addiu $a1, $a2, 4 +/* 32654 80057254 8CA20014 */ lw $v0, 0x14($a1) +/* 32658 80057258 8C420000 */ lw $v0, ($v0) +/* 3265C 8005725C ACC00028 */ sw $zero, 0x28($a2) +/* 32660 80057260 ACC20034 */ sw $v0, 0x34($a2) +/* 32664 80057264 8CA40014 */ lw $a0, 0x14($a1) +/* 32668 80057268 90830024 */ lbu $v1, 0x24($a0) +/* 3266C 8005726C 10600005 */ beqz $v1, .L80057284 +/* 32670 80057270 24020001 */ addiu $v0, $zero, 1 +/* 32674 80057274 10620022 */ beq $v1, $v0, .L80057300 +/* 32678 80057278 00000000 */ nop +/* 3267C 8005727C 08015CCE */ j .L80057338 +/* 32680 80057280 00000000 */ nop +.L80057284: +/* 32684 80057284 3C0338E3 */ lui $v1, 0x38e3 +/* 32688 80057288 8C820004 */ lw $v0, 4($a0) +/* 3268C 8005728C 34638E39 */ ori $v1, $v1, 0x8e39 +/* 32690 80057290 00430019 */ multu $v0, $v1 +/* 32694 80057294 00003810 */ mfhi $a3 +/* 32698 80057298 00071842 */ srl $v1, $a3, 1 +/* 3269C 8005729C 000310C0 */ sll $v0, $v1, 3 +/* 326A0 800572A0 00431021 */ addu $v0, $v0, $v1 +/* 326A4 800572A4 AC820004 */ sw $v0, 4($a0) +/* 326A8 800572A8 8CA20014 */ lw $v0, 0x14($a1) +/* 326AC 800572AC 9442001C */ lhu $v0, 0x1c($v0) +/* 326B0 800572B0 ACC2001C */ sw $v0, 0x1c($a2) +/* 326B4 800572B4 8CA30014 */ lw $v1, 0x14($a1) +/* 326B8 800572B8 8C620010 */ lw $v0, 0x10($v1) +/* 326BC 800572BC 5040001C */ beql $v0, $zero, .L80057330 +/* 326C0 800572C0 ACC00014 */ sw $zero, 0x14($a2) +/* 326C4 800572C4 8C62000C */ lw $v0, 0xc($v1) +/* 326C8 800572C8 ACC2000C */ sw $v0, 0xc($a2) +/* 326CC 800572CC 8CA20014 */ lw $v0, 0x14($a1) +/* 326D0 800572D0 8C420010 */ lw $v0, 0x10($v0) +/* 326D4 800572D4 ACC20010 */ sw $v0, 0x10($a2) +/* 326D8 800572D8 8CA20014 */ lw $v0, 0x14($a1) +/* 326DC 800572DC 8C420014 */ lw $v0, 0x14($v0) +/* 326E0 800572E0 ACC20014 */ sw $v0, 0x14($a2) +/* 326E4 800572E4 8CA20014 */ lw $v0, 0x14($a1) +/* 326E8 800572E8 8CC50008 */ lw $a1, 8($a2) +/* 326EC 800572EC 8C440008 */ lw $a0, 8($v0) +/* 326F0 800572F0 0C015FF6 */ jal func_80057FD8 +/* 326F4 800572F4 24060020 */ addiu $a2, $zero, 0x20 +/* 326F8 800572F8 08015CCE */ j .L80057338 +/* 326FC 800572FC 00000000 */ nop +.L80057300: +/* 32700 80057300 8C820010 */ lw $v0, 0x10($a0) +/* 32704 80057304 5040000A */ beql $v0, $zero, .L80057330 +/* 32708 80057308 ACC00014 */ sw $zero, 0x14($a2) +/* 3270C 8005730C 8C82000C */ lw $v0, 0xc($a0) +/* 32710 80057310 ACC2000C */ sw $v0, 0xc($a2) +/* 32714 80057314 8CA20014 */ lw $v0, 0x14($a1) +/* 32718 80057318 8C420010 */ lw $v0, 0x10($v0) +/* 3271C 8005731C ACC20010 */ sw $v0, 0x10($a2) +/* 32720 80057320 8CA20014 */ lw $v0, 0x14($a1) +/* 32724 80057324 8C420014 */ lw $v0, 0x14($v0) +/* 32728 80057328 08015CCE */ j .L80057338 +/* 3272C 8005732C ACC20014 */ sw $v0, 0x14($a2) +.L80057330: +/* 32730 80057330 ACC00010 */ sw $zero, 0x10($a2) +/* 32734 80057334 ACC0000C */ sw $zero, 0xc($a2) +.L80057338: +/* 32738 80057338 8FBF0010 */ lw $ra, 0x10($sp) +/* 3273C 8005733C 03E00008 */ jr $ra +/* 32740 80057340 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/code_31650/func_80057344.s b/asm/nonmatchings/code_31650/func_80057344.s new file mode 100644 index 0000000000..107e6ba4ca --- /dev/null +++ b/asm/nonmatchings/code_31650/func_80057344.s @@ -0,0 +1,14 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80057344 +/* 32744 80057344 308400FF */ andi $a0, $a0, 0xff +/* 32748 80057348 00041940 */ sll $v1, $a0, 5 +/* 3274C 8005734C 3C028008 */ lui $v0, %hi(D_80078E54) +/* 32750 80057350 8C428E54 */ lw $v0, %lo(D_80078E54)($v0) +/* 32754 80057354 00641823 */ subu $v1, $v1, $a0 +/* 32758 80057358 8C42001C */ lw $v0, 0x1c($v0) +/* 3275C 8005735C 00031880 */ sll $v1, $v1, 2 +/* 32760 80057360 00431021 */ addu $v0, $v0, $v1 +/* 32764 80057364 03E00008 */ jr $ra +/* 32768 80057368 AC45003C */ sw $a1, 0x3c($v0) diff --git a/asm/nonmatchings/code_31650/func_8005736C.s b/asm/nonmatchings/code_31650/func_8005736C.s new file mode 100644 index 0000000000..d153088e98 --- /dev/null +++ b/asm/nonmatchings/code_31650/func_8005736C.s @@ -0,0 +1,128 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_8005736C +/* 3276C 8005736C 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* 32770 80057370 AFB50024 */ sw $s5, 0x24($sp) +/* 32774 80057374 00C0A82D */ daddu $s5, $a2, $zero +/* 32778 80057378 AFB3001C */ sw $s3, 0x1c($sp) +/* 3277C 8005737C 00A0982D */ daddu $s3, $a1, $zero +/* 32780 80057380 AFB40020 */ sw $s4, 0x20($sp) +/* 32784 80057384 00E0A02D */ daddu $s4, $a3, $zero +/* 32788 80057388 308400FF */ andi $a0, $a0, 0xff +/* 3278C 8005738C 00041140 */ sll $v0, $a0, 5 +/* 32790 80057390 00441023 */ subu $v0, $v0, $a0 +/* 32794 80057394 3C038008 */ lui $v1, %hi(D_80078E54) +/* 32798 80057398 8C638E54 */ lw $v1, %lo(D_80078E54)($v1) +/* 3279C 8005739C 00021080 */ sll $v0, $v0, 2 +/* 327A0 800573A0 AFBF0028 */ sw $ra, 0x28($sp) +/* 327A4 800573A4 AFB20018 */ sw $s2, 0x18($sp) +/* 327A8 800573A8 AFB10014 */ sw $s1, 0x14($sp) +/* 327AC 800573AC AFB00010 */ sw $s0, 0x10($sp) +/* 327B0 800573B0 8C63001C */ lw $v1, 0x1c($v1) +/* 327B4 800573B4 93B20043 */ lbu $s2, 0x43($sp) +/* 327B8 800573B8 00628021 */ addu $s0, $v1, $v0 +/* 327BC 800573BC 8E050064 */ lw $a1, 0x64($s0) +/* 327C0 800573C0 8E030068 */ lw $v1, 0x68($s0) +/* 327C4 800573C4 00A3102A */ slt $v0, $a1, $v1 +/* 327C8 800573C8 14400029 */ bnez $v0, .L80057470 +/* 327CC 800573CC 26110048 */ addiu $s1, $s0, 0x48 +/* 327D0 800573D0 3C028008 */ lui $v0, %hi(D_80078181) +/* 327D4 800573D4 24428181 */ addiu $v0, $v0, %lo(D_80078181) +/* 327D8 800573D8 90420000 */ lbu $v0, ($v0) +/* 327DC 800573DC 1440000E */ bnez $v0, .L80057418 +/* 327E0 800573E0 AE030064 */ sw $v1, 0x64($s0) +/* 327E4 800573E4 3C048008 */ lui $a0, %hi(D_80078E60) +/* 327E8 800573E8 24848E60 */ addiu $a0, $a0, %lo(D_80078E60) +/* 327EC 800573EC 8603004E */ lh $v1, 0x4e($s0) +/* 327F0 800573F0 84820080 */ lh $v0, 0x80($a0) +/* 327F4 800573F4 00620018 */ mult $v1, $v0 +/* 327F8 800573F8 00004012 */ mflo $t0 +/* 327FC 800573FC 000813C3 */ sra $v0, $t0, 0xf +/* 32800 80057400 A6020050 */ sh $v0, 0x50($s0) +/* 32804 80057404 84820080 */ lh $v0, 0x80($a0) +/* 32808 80057408 00620018 */ mult $v1, $v0 +/* 3280C 8005740C 00004012 */ mflo $t0 +/* 32810 80057410 08015D26 */ j .L80057498 +/* 32814 80057414 000813C3 */ sra $v0, $t0, 0xf +.L80057418: +/* 32818 80057418 8602004C */ lh $v0, 0x4c($s0) +/* 3281C 8005741C 8603004E */ lh $v1, 0x4e($s0) +/* 32820 80057420 00021040 */ sll $v0, $v0, 1 +/* 32824 80057424 3C018008 */ lui $at, %hi(D_80078E60) +/* 32828 80057428 00220821 */ addu $at, $at, $v0 +/* 3282C 8005742C 84228E60 */ lh $v0, %lo(D_80078E60)($at) +/* 32830 80057430 00620018 */ mult $v1, $v0 +/* 32834 80057434 8603004C */ lh $v1, 0x4c($s0) +/* 32838 80057438 00004012 */ mflo $t0 +/* 3283C 8005743C 000813C3 */ sra $v0, $t0, 0xf +/* 32840 80057440 A6020050 */ sh $v0, 0x50($s0) +/* 32844 80057444 2402007F */ addiu $v0, $zero, 0x7f +/* 32848 80057448 00431023 */ subu $v0, $v0, $v1 +/* 3284C 8005744C 00021040 */ sll $v0, $v0, 1 +/* 32850 80057450 8603004E */ lh $v1, 0x4e($s0) +/* 32854 80057454 3C018008 */ lui $at, %hi(D_80078E60) +/* 32858 80057458 00220821 */ addu $at, $at, $v0 +/* 3285C 8005745C 84228E60 */ lh $v0, %lo(D_80078E60)($at) +/* 32860 80057460 00620018 */ mult $v1, $v0 +/* 32864 80057464 00004012 */ mflo $t0 +/* 32868 80057468 08015D26 */ j .L80057498 +/* 3286C 8005746C 000813C3 */ sra $v0, $t0, 0xf +.L80057470: +/* 32870 80057470 86040050 */ lh $a0, 0x50($s0) +/* 32874 80057474 8606005A */ lh $a2, 0x5a($s0) +/* 32878 80057478 0C016001 */ jal func_80058004 +/* 3287C 8005747C 96070058 */ lhu $a3, 0x58($s0) +/* 32880 80057480 86040052 */ lh $a0, 0x52($s0) +/* 32884 80057484 8E050064 */ lw $a1, 0x64($s0) +/* 32888 80057488 86060060 */ lh $a2, 0x60($s0) +/* 3288C 8005748C 9607005E */ lhu $a3, 0x5e($s0) +/* 32890 80057490 0C016001 */ jal func_80058004 +/* 32894 80057494 A6020050 */ sh $v0, 0x50($s0) +.L80057498: +/* 32898 80057498 A6020052 */ sh $v0, 0x52($s0) +/* 3289C 8005749C 86220008 */ lh $v0, 8($s1) +/* 328A0 800574A0 14400002 */ bnez $v0, .L800574AC +/* 328A4 800574A4 24020001 */ addiu $v0, $zero, 1 +/* 328A8 800574A8 A6220008 */ sh $v0, 8($s1) +.L800574AC: +/* 328AC 800574AC 8622000A */ lh $v0, 0xa($s1) +/* 328B0 800574B0 14400004 */ bnez $v0, .L800574C4 +/* 328B4 800574B4 00131400 */ sll $v0, $s3, 0x10 +/* 328B8 800574B8 24020001 */ addiu $v0, $zero, 1 +/* 328BC 800574BC A622000A */ sh $v0, 0xa($s1) +/* 328C0 800574C0 00131400 */ sll $v0, $s3, 0x10 +.L800574C4: +/* 328C4 800574C4 00021403 */ sra $v0, $v0, 0x10 +/* 328C8 800574C8 00420018 */ mult $v0, $v0 +/* 328CC 800574CC 328200FF */ andi $v0, $s4, 0xff +/* 328D0 800574D0 324300FF */ andi $v1, $s2, 0xff +/* 328D4 800574D4 AE20001C */ sw $zero, 0x1c($s1) +/* 328D8 800574D8 AE350020 */ sw $s5, 0x20($s1) +/* 328DC 800574DC A6220004 */ sh $v0, 4($s1) +/* 328E0 800574E0 00004012 */ mflo $t0 +/* 328E4 800574E4 000813C3 */ sra $v0, $t0, 0xf +/* 328E8 800574E8 A6220006 */ sh $v0, 6($s1) +/* 328EC 800574EC 00031040 */ sll $v0, $v1, 1 +/* 328F0 800574F0 3C018008 */ lui $at, %hi(D_80078E60) +/* 328F4 800574F4 00220821 */ addu $at, $at, $v0 +/* 328F8 800574F8 94228E60 */ lhu $v0, %lo(D_80078E60)($at) +/* 328FC 800574FC A622000C */ sh $v0, 0xc($s1) +/* 32900 80057500 2402007F */ addiu $v0, $zero, 0x7f +/* 32904 80057504 00431023 */ subu $v0, $v0, $v1 +/* 32908 80057508 00021040 */ sll $v0, $v0, 1 +/* 3290C 8005750C 3C038008 */ lui $v1, %hi(D_80078E60) +/* 32910 80057510 00621821 */ addu $v1, $v1, $v0 +/* 32914 80057514 94638E60 */ lhu $v1, %lo(D_80078E60)($v1) +/* 32918 80057518 24020001 */ addiu $v0, $zero, 1 +/* 3291C 8005751C AE220024 */ sw $v0, 0x24($s1) +/* 32920 80057520 A623000E */ sh $v1, 0xe($s1) +/* 32924 80057524 8FBF0028 */ lw $ra, 0x28($sp) +/* 32928 80057528 8FB50024 */ lw $s5, 0x24($sp) +/* 3292C 8005752C 8FB40020 */ lw $s4, 0x20($sp) +/* 32930 80057530 8FB3001C */ lw $s3, 0x1c($sp) +/* 32934 80057534 8FB20018 */ lw $s2, 0x18($sp) +/* 32938 80057538 8FB10014 */ lw $s1, 0x14($sp) +/* 3293C 8005753C 8FB00010 */ lw $s0, 0x10($sp) +/* 32940 80057540 03E00008 */ jr $ra +/* 32944 80057544 27BD0030 */ addiu $sp, $sp, 0x30 diff --git a/asm/nonmatchings/code_31650/func_80057548.s b/asm/nonmatchings/code_31650/func_80057548.s new file mode 100644 index 0000000000..0349d24b40 --- /dev/null +++ b/asm/nonmatchings/code_31650/func_80057548.s @@ -0,0 +1,114 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80057548 +/* 32948 80057548 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 3294C 8005754C AFB20018 */ sw $s2, 0x18($sp) +/* 32950 80057550 00A0902D */ daddu $s2, $a1, $zero +/* 32954 80057554 AFB3001C */ sw $s3, 0x1c($sp) +/* 32958 80057558 00C0982D */ daddu $s3, $a2, $zero +/* 3295C 8005755C 308400FF */ andi $a0, $a0, 0xff +/* 32960 80057560 00041140 */ sll $v0, $a0, 5 +/* 32964 80057564 3C038008 */ lui $v1, %hi(D_80078E54) +/* 32968 80057568 8C638E54 */ lw $v1, %lo(D_80078E54)($v1) +/* 3296C 8005756C 00441023 */ subu $v0, $v0, $a0 +/* 32970 80057570 AFBF0020 */ sw $ra, 0x20($sp) +/* 32974 80057574 AFB10014 */ sw $s1, 0x14($sp) +/* 32978 80057578 AFB00010 */ sw $s0, 0x10($sp) +/* 3297C 8005757C 8C63001C */ lw $v1, 0x1c($v1) +/* 32980 80057580 00021080 */ sll $v0, $v0, 2 +/* 32984 80057584 00628021 */ addu $s0, $v1, $v0 +/* 32988 80057588 8E050064 */ lw $a1, 0x64($s0) +/* 3298C 8005758C 8E030068 */ lw $v1, 0x68($s0) +/* 32990 80057590 00A3102A */ slt $v0, $a1, $v1 +/* 32994 80057594 14400029 */ bnez $v0, .L8005763C +/* 32998 80057598 26110048 */ addiu $s1, $s0, 0x48 +/* 3299C 8005759C 3C028008 */ lui $v0, %hi(D_80078181) +/* 329A0 800575A0 24428181 */ addiu $v0, $v0, %lo(D_80078181) +/* 329A4 800575A4 90420000 */ lbu $v0, ($v0) +/* 329A8 800575A8 1440000E */ bnez $v0, .L800575E4 +/* 329AC 800575AC AE030064 */ sw $v1, 0x64($s0) +/* 329B0 800575B0 3C048008 */ lui $a0, %hi(D_80078E60) +/* 329B4 800575B4 24848E60 */ addiu $a0, $a0, %lo(D_80078E60) +/* 329B8 800575B8 8603004E */ lh $v1, 0x4e($s0) +/* 329BC 800575BC 84820080 */ lh $v0, 0x80($a0) +/* 329C0 800575C0 00620018 */ mult $v1, $v0 +/* 329C4 800575C4 00004012 */ mflo $t0 +/* 329C8 800575C8 000813C3 */ sra $v0, $t0, 0xf +/* 329CC 800575CC A6020050 */ sh $v0, 0x50($s0) +/* 329D0 800575D0 84820080 */ lh $v0, 0x80($a0) +/* 329D4 800575D4 00620018 */ mult $v1, $v0 +/* 329D8 800575D8 00004012 */ mflo $t0 +/* 329DC 800575DC 08015D99 */ j .L80057664 +/* 329E0 800575E0 000813C3 */ sra $v0, $t0, 0xf +.L800575E4: +/* 329E4 800575E4 8602004C */ lh $v0, 0x4c($s0) +/* 329E8 800575E8 8603004E */ lh $v1, 0x4e($s0) +/* 329EC 800575EC 00021040 */ sll $v0, $v0, 1 +/* 329F0 800575F0 3C018008 */ lui $at, %hi(D_80078E60) +/* 329F4 800575F4 00220821 */ addu $at, $at, $v0 +/* 329F8 800575F8 84228E60 */ lh $v0, %lo(D_80078E60)($at) +/* 329FC 800575FC 00620018 */ mult $v1, $v0 +/* 32A00 80057600 8603004C */ lh $v1, 0x4c($s0) +/* 32A04 80057604 00004012 */ mflo $t0 +/* 32A08 80057608 000813C3 */ sra $v0, $t0, 0xf +/* 32A0C 8005760C A6020050 */ sh $v0, 0x50($s0) +/* 32A10 80057610 2402007F */ addiu $v0, $zero, 0x7f +/* 32A14 80057614 00431023 */ subu $v0, $v0, $v1 +/* 32A18 80057618 00021040 */ sll $v0, $v0, 1 +/* 32A1C 8005761C 8603004E */ lh $v1, 0x4e($s0) +/* 32A20 80057620 3C018008 */ lui $at, %hi(D_80078E60) +/* 32A24 80057624 00220821 */ addu $at, $at, $v0 +/* 32A28 80057628 84228E60 */ lh $v0, %lo(D_80078E60)($at) +/* 32A2C 8005762C 00620018 */ mult $v1, $v0 +/* 32A30 80057630 00004012 */ mflo $t0 +/* 32A34 80057634 08015D99 */ j .L80057664 +/* 32A38 80057638 000813C3 */ sra $v0, $t0, 0xf +.L8005763C: +/* 32A3C 8005763C 86040050 */ lh $a0, 0x50($s0) +/* 32A40 80057640 8606005A */ lh $a2, 0x5a($s0) +/* 32A44 80057644 0C016001 */ jal func_80058004 +/* 32A48 80057648 96070058 */ lhu $a3, 0x58($s0) +/* 32A4C 8005764C 86040052 */ lh $a0, 0x52($s0) +/* 32A50 80057650 8E050064 */ lw $a1, 0x64($s0) +/* 32A54 80057654 86060060 */ lh $a2, 0x60($s0) +/* 32A58 80057658 9607005E */ lhu $a3, 0x5e($s0) +/* 32A5C 8005765C 0C016001 */ jal func_80058004 +/* 32A60 80057660 A6020050 */ sh $v0, 0x50($s0) +.L80057664: +/* 32A64 80057664 A6020052 */ sh $v0, 0x52($s0) +/* 32A68 80057668 86220008 */ lh $v0, 8($s1) +/* 32A6C 8005766C 14400002 */ bnez $v0, .L80057678 +/* 32A70 80057670 24020001 */ addiu $v0, $zero, 1 +/* 32A74 80057674 A6220008 */ sh $v0, 8($s1) +.L80057678: +/* 32A78 80057678 8622000A */ lh $v0, 0xa($s1) +/* 32A7C 8005767C 14400004 */ bnez $v0, .L80057690 +/* 32A80 80057680 324200FF */ andi $v0, $s2, 0xff +/* 32A84 80057684 24020001 */ addiu $v0, $zero, 1 +/* 32A88 80057688 A622000A */ sh $v0, 0xa($s1) +/* 32A8C 8005768C 324200FF */ andi $v0, $s2, 0xff +.L80057690: +/* 32A90 80057690 326300FF */ andi $v1, $s3, 0xff +/* 32A94 80057694 A6220004 */ sh $v0, 4($s1) +/* 32A98 80057698 00031040 */ sll $v0, $v1, 1 +/* 32A9C 8005769C 3C018008 */ lui $at, %hi(D_80078E60) +/* 32AA0 800576A0 00220821 */ addu $at, $at, $v0 +/* 32AA4 800576A4 94228E60 */ lhu $v0, %lo(D_80078E60)($at) +/* 32AA8 800576A8 A622000C */ sh $v0, 0xc($s1) +/* 32AAC 800576AC 2402007F */ addiu $v0, $zero, 0x7f +/* 32AB0 800576B0 00431023 */ subu $v0, $v0, $v1 +/* 32AB4 800576B4 00021040 */ sll $v0, $v0, 1 +/* 32AB8 800576B8 3C038008 */ lui $v1, %hi(D_80078E60) +/* 32ABC 800576BC 00621821 */ addu $v1, $v1, $v0 +/* 32AC0 800576C0 94638E60 */ lhu $v1, %lo(D_80078E60)($v1) +/* 32AC4 800576C4 24020001 */ addiu $v0, $zero, 1 +/* 32AC8 800576C8 AE220024 */ sw $v0, 0x24($s1) +/* 32ACC 800576CC A623000E */ sh $v1, 0xe($s1) +/* 32AD0 800576D0 8FBF0020 */ lw $ra, 0x20($sp) +/* 32AD4 800576D4 8FB3001C */ lw $s3, 0x1c($sp) +/* 32AD8 800576D8 8FB20018 */ lw $s2, 0x18($sp) +/* 32ADC 800576DC 8FB10014 */ lw $s1, 0x14($sp) +/* 32AE0 800576E0 8FB00010 */ lw $s0, 0x10($sp) +/* 32AE4 800576E4 03E00008 */ jr $ra +/* 32AE8 800576E8 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/code_31650/func_800576EC.s b/asm/nonmatchings/code_31650/func_800576EC.s new file mode 100644 index 0000000000..79ebca8337 --- /dev/null +++ b/asm/nonmatchings/code_31650/func_800576EC.s @@ -0,0 +1,107 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_800576EC +/* 32AEC 800576EC 27BDFFD8 */ addiu $sp, $sp, -0x28 +/* 32AF0 800576F0 AFB3001C */ sw $s3, 0x1c($sp) +/* 32AF4 800576F4 00C0982D */ daddu $s3, $a2, $zero +/* 32AF8 800576F8 AFB20018 */ sw $s2, 0x18($sp) +/* 32AFC 800576FC 00A0902D */ daddu $s2, $a1, $zero +/* 32B00 80057700 308400FF */ andi $a0, $a0, 0xff +/* 32B04 80057704 00041140 */ sll $v0, $a0, 5 +/* 32B08 80057708 3C038008 */ lui $v1, %hi(D_80078E54) +/* 32B0C 8005770C 8C638E54 */ lw $v1, %lo(D_80078E54)($v1) +/* 32B10 80057710 00441023 */ subu $v0, $v0, $a0 +/* 32B14 80057714 AFBF0020 */ sw $ra, 0x20($sp) +/* 32B18 80057718 AFB10014 */ sw $s1, 0x14($sp) +/* 32B1C 8005771C AFB00010 */ sw $s0, 0x10($sp) +/* 32B20 80057720 8C63001C */ lw $v1, 0x1c($v1) +/* 32B24 80057724 00021080 */ sll $v0, $v0, 2 +/* 32B28 80057728 00628021 */ addu $s0, $v1, $v0 +/* 32B2C 8005772C 8E050064 */ lw $a1, 0x64($s0) +/* 32B30 80057730 8E030068 */ lw $v1, 0x68($s0) +/* 32B34 80057734 00A3102A */ slt $v0, $a1, $v1 +/* 32B38 80057738 14400029 */ bnez $v0, .L800577E0 +/* 32B3C 8005773C 26110048 */ addiu $s1, $s0, 0x48 +/* 32B40 80057740 3C028008 */ lui $v0, %hi(D_80078181) +/* 32B44 80057744 24428181 */ addiu $v0, $v0, %lo(D_80078181) +/* 32B48 80057748 90420000 */ lbu $v0, ($v0) +/* 32B4C 8005774C 1440000E */ bnez $v0, .L80057788 +/* 32B50 80057750 AE030064 */ sw $v1, 0x64($s0) +/* 32B54 80057754 3C048008 */ lui $a0, %hi(D_80078E60) +/* 32B58 80057758 24848E60 */ addiu $a0, $a0, %lo(D_80078E60) +/* 32B5C 8005775C 8603004E */ lh $v1, 0x4e($s0) +/* 32B60 80057760 84820080 */ lh $v0, 0x80($a0) +/* 32B64 80057764 00620018 */ mult $v1, $v0 +/* 32B68 80057768 00004012 */ mflo $t0 +/* 32B6C 8005776C 000813C3 */ sra $v0, $t0, 0xf +/* 32B70 80057770 A6020050 */ sh $v0, 0x50($s0) +/* 32B74 80057774 84820080 */ lh $v0, 0x80($a0) +/* 32B78 80057778 00620018 */ mult $v1, $v0 +/* 32B7C 8005777C 00004012 */ mflo $t0 +/* 32B80 80057780 08015E02 */ j .L80057808 +/* 32B84 80057784 000813C3 */ sra $v0, $t0, 0xf +.L80057788: +/* 32B88 80057788 8602004C */ lh $v0, 0x4c($s0) +/* 32B8C 8005778C 8603004E */ lh $v1, 0x4e($s0) +/* 32B90 80057790 00021040 */ sll $v0, $v0, 1 +/* 32B94 80057794 3C018008 */ lui $at, %hi(D_80078E60) +/* 32B98 80057798 00220821 */ addu $at, $at, $v0 +/* 32B9C 8005779C 84228E60 */ lh $v0, %lo(D_80078E60)($at) +/* 32BA0 800577A0 00620018 */ mult $v1, $v0 +/* 32BA4 800577A4 8603004C */ lh $v1, 0x4c($s0) +/* 32BA8 800577A8 00004012 */ mflo $t0 +/* 32BAC 800577AC 000813C3 */ sra $v0, $t0, 0xf +/* 32BB0 800577B0 A6020050 */ sh $v0, 0x50($s0) +/* 32BB4 800577B4 2402007F */ addiu $v0, $zero, 0x7f +/* 32BB8 800577B8 00431023 */ subu $v0, $v0, $v1 +/* 32BBC 800577BC 00021040 */ sll $v0, $v0, 1 +/* 32BC0 800577C0 8603004E */ lh $v1, 0x4e($s0) +/* 32BC4 800577C4 3C018008 */ lui $at, %hi(D_80078E60) +/* 32BC8 800577C8 00220821 */ addu $at, $at, $v0 +/* 32BCC 800577CC 84228E60 */ lh $v0, %lo(D_80078E60)($at) +/* 32BD0 800577D0 00620018 */ mult $v1, $v0 +/* 32BD4 800577D4 00004012 */ mflo $t0 +/* 32BD8 800577D8 08015E02 */ j .L80057808 +/* 32BDC 800577DC 000813C3 */ sra $v0, $t0, 0xf +.L800577E0: +/* 32BE0 800577E0 86040050 */ lh $a0, 0x50($s0) +/* 32BE4 800577E4 8606005A */ lh $a2, 0x5a($s0) +/* 32BE8 800577E8 0C016001 */ jal func_80058004 +/* 32BEC 800577EC 96070058 */ lhu $a3, 0x58($s0) +/* 32BF0 800577F0 86040052 */ lh $a0, 0x52($s0) +/* 32BF4 800577F4 8E050064 */ lw $a1, 0x64($s0) +/* 32BF8 800577F8 86060060 */ lh $a2, 0x60($s0) +/* 32BFC 800577FC 9607005E */ lhu $a3, 0x5e($s0) +/* 32C00 80057800 0C016001 */ jal func_80058004 +/* 32C04 80057804 A6020050 */ sh $v0, 0x50($s0) +.L80057808: +/* 32C08 80057808 A6020052 */ sh $v0, 0x52($s0) +/* 32C0C 8005780C 86220008 */ lh $v0, 8($s1) +/* 32C10 80057810 14400002 */ bnez $v0, .L8005781C +/* 32C14 80057814 24020001 */ addiu $v0, $zero, 1 +/* 32C18 80057818 A6220008 */ sh $v0, 8($s1) +.L8005781C: +/* 32C1C 8005781C 8622000A */ lh $v0, 0xa($s1) +/* 32C20 80057820 14400004 */ bnez $v0, .L80057834 +/* 32C24 80057824 00121400 */ sll $v0, $s2, 0x10 +/* 32C28 80057828 24020001 */ addiu $v0, $zero, 1 +/* 32C2C 8005782C A622000A */ sh $v0, 0xa($s1) +/* 32C30 80057830 00121400 */ sll $v0, $s2, 0x10 +.L80057834: +/* 32C34 80057834 00021403 */ sra $v0, $v0, 0x10 +/* 32C38 80057838 00420018 */ mult $v0, $v0 +/* 32C3C 8005783C 24020001 */ addiu $v0, $zero, 1 +/* 32C40 80057840 AE20001C */ sw $zero, 0x1c($s1) +/* 32C44 80057844 AE330020 */ sw $s3, 0x20($s1) +/* 32C48 80057848 AE220024 */ sw $v0, 0x24($s1) +/* 32C4C 8005784C 00004012 */ mflo $t0 +/* 32C50 80057850 000813C3 */ sra $v0, $t0, 0xf +/* 32C54 80057854 A6220006 */ sh $v0, 6($s1) +/* 32C58 80057858 8FBF0020 */ lw $ra, 0x20($sp) +/* 32C5C 8005785C 8FB3001C */ lw $s3, 0x1c($sp) +/* 32C60 80057860 8FB20018 */ lw $s2, 0x18($sp) +/* 32C64 80057864 8FB10014 */ lw $s1, 0x14($sp) +/* 32C68 80057868 8FB00010 */ lw $s0, 0x10($sp) +/* 32C6C 8005786C 03E00008 */ jr $ra +/* 32C70 80057870 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/code_31650/func_80057874.s b/asm/nonmatchings/code_31650/func_80057874.s new file mode 100644 index 0000000000..9ec4fff3f8 --- /dev/null +++ b/asm/nonmatchings/code_31650/func_80057874.s @@ -0,0 +1,98 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80057874 +/* 32C74 80057874 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 32C78 80057878 AFB20018 */ sw $s2, 0x18($sp) +/* 32C7C 8005787C 00A0902D */ daddu $s2, $a1, $zero +/* 32C80 80057880 308400FF */ andi $a0, $a0, 0xff +/* 32C84 80057884 00041140 */ sll $v0, $a0, 5 +/* 32C88 80057888 3C038008 */ lui $v1, %hi(D_80078E54) +/* 32C8C 8005788C 8C638E54 */ lw $v1, %lo(D_80078E54)($v1) +/* 32C90 80057890 00441023 */ subu $v0, $v0, $a0 +/* 32C94 80057894 AFBF001C */ sw $ra, 0x1c($sp) +/* 32C98 80057898 AFB10014 */ sw $s1, 0x14($sp) +/* 32C9C 8005789C AFB00010 */ sw $s0, 0x10($sp) +/* 32CA0 800578A0 8C63001C */ lw $v1, 0x1c($v1) +/* 32CA4 800578A4 00021080 */ sll $v0, $v0, 2 +/* 32CA8 800578A8 00628021 */ addu $s0, $v1, $v0 +/* 32CAC 800578AC 8E050064 */ lw $a1, 0x64($s0) +/* 32CB0 800578B0 8E030068 */ lw $v1, 0x68($s0) +/* 32CB4 800578B4 00A3102A */ slt $v0, $a1, $v1 +/* 32CB8 800578B8 14400029 */ bnez $v0, .L80057960 +/* 32CBC 800578BC 26110048 */ addiu $s1, $s0, 0x48 +/* 32CC0 800578C0 3C028008 */ lui $v0, %hi(D_80078181) +/* 32CC4 800578C4 24428181 */ addiu $v0, $v0, %lo(D_80078181) +/* 32CC8 800578C8 90420000 */ lbu $v0, ($v0) +/* 32CCC 800578CC 1440000E */ bnez $v0, .L80057908 +/* 32CD0 800578D0 AE030064 */ sw $v1, 0x64($s0) +/* 32CD4 800578D4 3C048008 */ lui $a0, %hi(D_80078E60) +/* 32CD8 800578D8 24848E60 */ addiu $a0, $a0, %lo(D_80078E60) +/* 32CDC 800578DC 8603004E */ lh $v1, 0x4e($s0) +/* 32CE0 800578E0 84820080 */ lh $v0, 0x80($a0) +/* 32CE4 800578E4 00620018 */ mult $v1, $v0 +/* 32CE8 800578E8 00004012 */ mflo $t0 +/* 32CEC 800578EC 000813C3 */ sra $v0, $t0, 0xf +/* 32CF0 800578F0 A6020050 */ sh $v0, 0x50($s0) +/* 32CF4 800578F4 84820080 */ lh $v0, 0x80($a0) +/* 32CF8 800578F8 00620018 */ mult $v1, $v0 +/* 32CFC 800578FC 00004012 */ mflo $t0 +/* 32D00 80057900 08015E62 */ j .L80057988 +/* 32D04 80057904 000813C3 */ sra $v0, $t0, 0xf +.L80057908: +/* 32D08 80057908 8602004C */ lh $v0, 0x4c($s0) +/* 32D0C 8005790C 8603004E */ lh $v1, 0x4e($s0) +/* 32D10 80057910 00021040 */ sll $v0, $v0, 1 +/* 32D14 80057914 3C018008 */ lui $at, %hi(D_80078E60) +/* 32D18 80057918 00220821 */ addu $at, $at, $v0 +/* 32D1C 8005791C 84228E60 */ lh $v0, %lo(D_80078E60)($at) +/* 32D20 80057920 00620018 */ mult $v1, $v0 +/* 32D24 80057924 8603004C */ lh $v1, 0x4c($s0) +/* 32D28 80057928 00004012 */ mflo $t0 +/* 32D2C 8005792C 000813C3 */ sra $v0, $t0, 0xf +/* 32D30 80057930 A6020050 */ sh $v0, 0x50($s0) +/* 32D34 80057934 2402007F */ addiu $v0, $zero, 0x7f +/* 32D38 80057938 00431023 */ subu $v0, $v0, $v1 +/* 32D3C 8005793C 00021040 */ sll $v0, $v0, 1 +/* 32D40 80057940 8603004E */ lh $v1, 0x4e($s0) +/* 32D44 80057944 3C018008 */ lui $at, %hi(D_80078E60) +/* 32D48 80057948 00220821 */ addu $at, $at, $v0 +/* 32D4C 8005794C 84228E60 */ lh $v0, %lo(D_80078E60)($at) +/* 32D50 80057950 00620018 */ mult $v1, $v0 +/* 32D54 80057954 00004012 */ mflo $t0 +/* 32D58 80057958 08015E62 */ j .L80057988 +/* 32D5C 8005795C 000813C3 */ sra $v0, $t0, 0xf +.L80057960: +/* 32D60 80057960 86040050 */ lh $a0, 0x50($s0) +/* 32D64 80057964 8606005A */ lh $a2, 0x5a($s0) +/* 32D68 80057968 0C016001 */ jal func_80058004 +/* 32D6C 8005796C 96070058 */ lhu $a3, 0x58($s0) +/* 32D70 80057970 86040052 */ lh $a0, 0x52($s0) +/* 32D74 80057974 8E050064 */ lw $a1, 0x64($s0) +/* 32D78 80057978 86060060 */ lh $a2, 0x60($s0) +/* 32D7C 8005797C 9607005E */ lhu $a3, 0x5e($s0) +/* 32D80 80057980 0C016001 */ jal func_80058004 +/* 32D84 80057984 A6020050 */ sh $v0, 0x50($s0) +.L80057988: +/* 32D88 80057988 A6020052 */ sh $v0, 0x52($s0) +/* 32D8C 8005798C 86220008 */ lh $v0, 8($s1) +/* 32D90 80057990 14400002 */ bnez $v0, .L8005799C +/* 32D94 80057994 24020001 */ addiu $v0, $zero, 1 +/* 32D98 80057998 A6220008 */ sh $v0, 8($s1) +.L8005799C: +/* 32D9C 8005799C 8622000A */ lh $v0, 0xa($s1) +/* 32DA0 800579A0 14400004 */ bnez $v0, .L800579B4 +/* 32DA4 800579A4 324200FF */ andi $v0, $s2, 0xff +/* 32DA8 800579A8 24020001 */ addiu $v0, $zero, 1 +/* 32DAC 800579AC A622000A */ sh $v0, 0xa($s1) +/* 32DB0 800579B0 324200FF */ andi $v0, $s2, 0xff +.L800579B4: +/* 32DB4 800579B4 A6220004 */ sh $v0, 4($s1) +/* 32DB8 800579B8 24020001 */ addiu $v0, $zero, 1 +/* 32DBC 800579BC AE220024 */ sw $v0, 0x24($s1) +/* 32DC0 800579C0 8FBF001C */ lw $ra, 0x1c($sp) +/* 32DC4 800579C4 8FB20018 */ lw $s2, 0x18($sp) +/* 32DC8 800579C8 8FB10014 */ lw $s1, 0x14($sp) +/* 32DCC 800579CC 8FB00010 */ lw $s0, 0x10($sp) +/* 32DD0 800579D0 03E00008 */ jr $ra +/* 32DD4 800579D4 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/code_31650/func_800579D8.s b/asm/nonmatchings/code_31650/func_800579D8.s new file mode 100644 index 0000000000..e97a4c0a7a --- /dev/null +++ b/asm/nonmatchings/code_31650/func_800579D8.s @@ -0,0 +1,108 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_800579D8 +/* 32DD8 800579D8 27BDFFE0 */ addiu $sp, $sp, -0x20 +/* 32DDC 800579DC AFB20018 */ sw $s2, 0x18($sp) +/* 32DE0 800579E0 00A0902D */ daddu $s2, $a1, $zero +/* 32DE4 800579E4 308400FF */ andi $a0, $a0, 0xff +/* 32DE8 800579E8 00041140 */ sll $v0, $a0, 5 +/* 32DEC 800579EC 3C038008 */ lui $v1, %hi(D_80078E54) +/* 32DF0 800579F0 8C638E54 */ lw $v1, %lo(D_80078E54)($v1) +/* 32DF4 800579F4 00441023 */ subu $v0, $v0, $a0 +/* 32DF8 800579F8 AFBF001C */ sw $ra, 0x1c($sp) +/* 32DFC 800579FC AFB10014 */ sw $s1, 0x14($sp) +/* 32E00 80057A00 AFB00010 */ sw $s0, 0x10($sp) +/* 32E04 80057A04 8C63001C */ lw $v1, 0x1c($v1) +/* 32E08 80057A08 00021080 */ sll $v0, $v0, 2 +/* 32E0C 80057A0C 00628021 */ addu $s0, $v1, $v0 +/* 32E10 80057A10 8E050064 */ lw $a1, 0x64($s0) +/* 32E14 80057A14 8E030068 */ lw $v1, 0x68($s0) +/* 32E18 80057A18 00A3102A */ slt $v0, $a1, $v1 +/* 32E1C 80057A1C 14400029 */ bnez $v0, .L80057AC4 +/* 32E20 80057A20 26110048 */ addiu $s1, $s0, 0x48 +/* 32E24 80057A24 3C028008 */ lui $v0, %hi(D_80078181) +/* 32E28 80057A28 24428181 */ addiu $v0, $v0, %lo(D_80078181) +/* 32E2C 80057A2C 90420000 */ lbu $v0, ($v0) +/* 32E30 80057A30 1440000E */ bnez $v0, .L80057A6C +/* 32E34 80057A34 AE030064 */ sw $v1, 0x64($s0) +/* 32E38 80057A38 3C048008 */ lui $a0, %hi(D_80078E60) +/* 32E3C 80057A3C 24848E60 */ addiu $a0, $a0, %lo(D_80078E60) +/* 32E40 80057A40 8603004E */ lh $v1, 0x4e($s0) +/* 32E44 80057A44 84820080 */ lh $v0, 0x80($a0) +/* 32E48 80057A48 00620018 */ mult $v1, $v0 +/* 32E4C 80057A4C 00004012 */ mflo $t0 +/* 32E50 80057A50 000813C3 */ sra $v0, $t0, 0xf +/* 32E54 80057A54 A6020050 */ sh $v0, 0x50($s0) +/* 32E58 80057A58 84820080 */ lh $v0, 0x80($a0) +/* 32E5C 80057A5C 00620018 */ mult $v1, $v0 +/* 32E60 80057A60 00004012 */ mflo $t0 +/* 32E64 80057A64 08015EBB */ j .L80057AEC +/* 32E68 80057A68 000813C3 */ sra $v0, $t0, 0xf +.L80057A6C: +/* 32E6C 80057A6C 8602004C */ lh $v0, 0x4c($s0) +/* 32E70 80057A70 8603004E */ lh $v1, 0x4e($s0) +/* 32E74 80057A74 00021040 */ sll $v0, $v0, 1 +/* 32E78 80057A78 3C018008 */ lui $at, %hi(D_80078E60) +/* 32E7C 80057A7C 00220821 */ addu $at, $at, $v0 +/* 32E80 80057A80 84228E60 */ lh $v0, %lo(D_80078E60)($at) +/* 32E84 80057A84 00620018 */ mult $v1, $v0 +/* 32E88 80057A88 8603004C */ lh $v1, 0x4c($s0) +/* 32E8C 80057A8C 00004012 */ mflo $t0 +/* 32E90 80057A90 000813C3 */ sra $v0, $t0, 0xf +/* 32E94 80057A94 A6020050 */ sh $v0, 0x50($s0) +/* 32E98 80057A98 2402007F */ addiu $v0, $zero, 0x7f +/* 32E9C 80057A9C 00431023 */ subu $v0, $v0, $v1 +/* 32EA0 80057AA0 00021040 */ sll $v0, $v0, 1 +/* 32EA4 80057AA4 8603004E */ lh $v1, 0x4e($s0) +/* 32EA8 80057AA8 3C018008 */ lui $at, %hi(D_80078E60) +/* 32EAC 80057AAC 00220821 */ addu $at, $at, $v0 +/* 32EB0 80057AB0 84228E60 */ lh $v0, %lo(D_80078E60)($at) +/* 32EB4 80057AB4 00620018 */ mult $v1, $v0 +/* 32EB8 80057AB8 00004012 */ mflo $t0 +/* 32EBC 80057ABC 08015EBB */ j .L80057AEC +/* 32EC0 80057AC0 000813C3 */ sra $v0, $t0, 0xf +.L80057AC4: +/* 32EC4 80057AC4 86040050 */ lh $a0, 0x50($s0) +/* 32EC8 80057AC8 8606005A */ lh $a2, 0x5a($s0) +/* 32ECC 80057ACC 0C016001 */ jal func_80058004 +/* 32ED0 80057AD0 96070058 */ lhu $a3, 0x58($s0) +/* 32ED4 80057AD4 86040052 */ lh $a0, 0x52($s0) +/* 32ED8 80057AD8 8E050064 */ lw $a1, 0x64($s0) +/* 32EDC 80057ADC 86060060 */ lh $a2, 0x60($s0) +/* 32EE0 80057AE0 9607005E */ lhu $a3, 0x5e($s0) +/* 32EE4 80057AE4 0C016001 */ jal func_80058004 +/* 32EE8 80057AE8 A6020050 */ sh $v0, 0x50($s0) +.L80057AEC: +/* 32EEC 80057AEC A6020052 */ sh $v0, 0x52($s0) +/* 32EF0 80057AF0 86220008 */ lh $v0, 8($s1) +/* 32EF4 80057AF4 14400002 */ bnez $v0, .L80057B00 +/* 32EF8 80057AF8 24020001 */ addiu $v0, $zero, 1 +/* 32EFC 80057AFC A6220008 */ sh $v0, 8($s1) +.L80057B00: +/* 32F00 80057B00 8622000A */ lh $v0, 0xa($s1) +/* 32F04 80057B04 14400003 */ bnez $v0, .L80057B14 +/* 32F08 80057B08 324300FF */ andi $v1, $s2, 0xff +/* 32F0C 80057B0C 24020001 */ addiu $v0, $zero, 1 +/* 32F10 80057B10 A622000A */ sh $v0, 0xa($s1) +.L80057B14: +/* 32F14 80057B14 00031040 */ sll $v0, $v1, 1 +/* 32F18 80057B18 3C018008 */ lui $at, %hi(D_80078E60) +/* 32F1C 80057B1C 00220821 */ addu $at, $at, $v0 +/* 32F20 80057B20 94228E60 */ lhu $v0, %lo(D_80078E60)($at) +/* 32F24 80057B24 A622000C */ sh $v0, 0xc($s1) +/* 32F28 80057B28 2402007F */ addiu $v0, $zero, 0x7f +/* 32F2C 80057B2C 00431023 */ subu $v0, $v0, $v1 +/* 32F30 80057B30 00021040 */ sll $v0, $v0, 1 +/* 32F34 80057B34 3C038008 */ lui $v1, %hi(D_80078E60) +/* 32F38 80057B38 00621821 */ addu $v1, $v1, $v0 +/* 32F3C 80057B3C 94638E60 */ lhu $v1, %lo(D_80078E60)($v1) +/* 32F40 80057B40 24020001 */ addiu $v0, $zero, 1 +/* 32F44 80057B44 AE220024 */ sw $v0, 0x24($s1) +/* 32F48 80057B48 A623000E */ sh $v1, 0xe($s1) +/* 32F4C 80057B4C 8FBF001C */ lw $ra, 0x1c($sp) +/* 32F50 80057B50 8FB20018 */ lw $s2, 0x18($sp) +/* 32F54 80057B54 8FB10014 */ lw $s1, 0x14($sp) +/* 32F58 80057B58 8FB00010 */ lw $s0, 0x10($sp) +/* 32F5C 80057B5C 03E00008 */ jr $ra +/* 32F60 80057B60 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/code_31650/func_80057B64.s b/asm/nonmatchings/code_31650/func_80057B64.s new file mode 100644 index 0000000000..33a238ea38 --- /dev/null +++ b/asm/nonmatchings/code_31650/func_80057B64.s @@ -0,0 +1,14 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80057B64 +/* 32F64 80057B64 308400FF */ andi $a0, $a0, 0xff +/* 32F68 80057B68 00041940 */ sll $v1, $a0, 5 +/* 32F6C 80057B6C 3C028008 */ lui $v0, %hi(D_80078E54) +/* 32F70 80057B70 8C428E54 */ lw $v0, %lo(D_80078E54)($v0) +/* 32F74 80057B74 00641823 */ subu $v1, $v1, $a0 +/* 32F78 80057B78 8C42001C */ lw $v0, 0x1c($v0) +/* 32F7C 80057B7C 00031880 */ sll $v1, $v1, 2 +/* 32F80 80057B80 00431021 */ addu $v0, $v0, $v1 +/* 32F84 80057B84 03E00008 */ jr $ra +/* 32F88 80057B88 8C420070 */ lw $v0, 0x70($v0) diff --git a/asm/nonmatchings/code_31650/func_80057B8C.s b/asm/nonmatchings/code_31650/func_80057B8C.s new file mode 100644 index 0000000000..c3600f33bd --- /dev/null +++ b/asm/nonmatchings/code_31650/func_80057B8C.s @@ -0,0 +1,14 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80057B8C +/* 32F8C 80057B8C 308400FF */ andi $a0, $a0, 0xff +/* 32F90 80057B90 00041940 */ sll $v1, $a0, 5 +/* 32F94 80057B94 3C028008 */ lui $v0, %hi(D_80078E54) +/* 32F98 80057B98 8C428E54 */ lw $v0, %lo(D_80078E54)($v0) +/* 32F9C 80057B9C 00641823 */ subu $v1, $v1, $a0 +/* 32FA0 80057BA0 8C42001C */ lw $v0, 0x1c($v0) +/* 32FA4 80057BA4 00031880 */ sll $v1, $v1, 2 +/* 32FA8 80057BA8 00431021 */ addu $v0, $v0, $v1 +/* 32FAC 80057BAC 03E00008 */ jr $ra +/* 32FB0 80057BB0 90420078 */ lbu $v0, 0x78($v0) diff --git a/asm/nonmatchings/code_31650/func_80057BB4.s b/asm/nonmatchings/code_31650/func_80057BB4.s new file mode 100644 index 0000000000..8ee44c1d63 --- /dev/null +++ b/asm/nonmatchings/code_31650/func_80057BB4.s @@ -0,0 +1,14 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80057BB4 +/* 32FB4 80057BB4 308400FF */ andi $a0, $a0, 0xff +/* 32FB8 80057BB8 00041940 */ sll $v1, $a0, 5 +/* 32FBC 80057BBC 3C028008 */ lui $v0, %hi(D_80078E54) +/* 32FC0 80057BC0 8C428E54 */ lw $v0, %lo(D_80078E54)($v0) +/* 32FC4 80057BC4 00641823 */ subu $v1, $v1, $a0 +/* 32FC8 80057BC8 8C42001C */ lw $v0, 0x1c($v0) +/* 32FCC 80057BCC 00031880 */ sll $v1, $v1, 2 +/* 32FD0 80057BD0 00431021 */ addu $v0, $v0, $v1 +/* 32FD4 80057BD4 03E00008 */ jr $ra +/* 32FD8 80057BD8 C440003C */ lwc1 $f0, 0x3c($v0) diff --git a/asm/nonmatchings/code_31650/func_80057BDC.s b/asm/nonmatchings/code_31650/func_80057BDC.s new file mode 100644 index 0000000000..c2d51bf68a --- /dev/null +++ b/asm/nonmatchings/code_31650/func_80057BDC.s @@ -0,0 +1,14 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80057BDC +/* 32FDC 80057BDC 308400FF */ andi $a0, $a0, 0xff +/* 32FE0 80057BE0 00041940 */ sll $v1, $a0, 5 +/* 32FE4 80057BE4 3C028008 */ lui $v0, %hi(D_80078E54) +/* 32FE8 80057BE8 8C428E54 */ lw $v0, %lo(D_80078E54)($v0) +/* 32FEC 80057BEC 00641823 */ subu $v1, $v1, $a0 +/* 32FF0 80057BF0 8C42001C */ lw $v0, 0x1c($v0) +/* 32FF4 80057BF4 00031880 */ sll $v1, $v1, 2 +/* 32FF8 80057BF8 00431021 */ addu $v0, $v0, $v1 +/* 32FFC 80057BFC 03E00008 */ jr $ra +/* 33000 80057C00 9042004D */ lbu $v0, 0x4d($v0) diff --git a/asm/nonmatchings/code_31650/func_80057C04.s b/asm/nonmatchings/code_31650/func_80057C04.s new file mode 100644 index 0000000000..85b9121543 --- /dev/null +++ b/asm/nonmatchings/code_31650/func_80057C04.s @@ -0,0 +1,14 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80057C04 +/* 33004 80057C04 308400FF */ andi $a0, $a0, 0xff +/* 33008 80057C08 00041940 */ sll $v1, $a0, 5 +/* 3300C 80057C0C 3C028008 */ lui $v0, %hi(D_80078E54) +/* 33010 80057C10 8C428E54 */ lw $v0, %lo(D_80078E54)($v0) +/* 33014 80057C14 00641823 */ subu $v1, $v1, $a0 +/* 33018 80057C18 8C42001C */ lw $v0, 0x1c($v0) +/* 3301C 80057C1C 00031880 */ sll $v1, $v1, 2 +/* 33020 80057C20 00431021 */ addu $v0, $v0, $v1 +/* 33024 80057C24 03E00008 */ jr $ra +/* 33028 80057C28 84420054 */ lh $v0, 0x54($v0) diff --git a/asm/nonmatchings/code_31650/func_80057C2C.s b/asm/nonmatchings/code_31650/func_80057C2C.s new file mode 100644 index 0000000000..1a9c1fde19 --- /dev/null +++ b/asm/nonmatchings/code_31650/func_80057C2C.s @@ -0,0 +1,14 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80057C2C +/* 3302C 80057C2C 308400FF */ andi $a0, $a0, 0xff +/* 33030 80057C30 00041940 */ sll $v1, $a0, 5 +/* 33034 80057C34 3C028008 */ lui $v0, %hi(D_80078E54) +/* 33038 80057C38 8C428E54 */ lw $v0, %lo(D_80078E54)($v0) +/* 3303C 80057C3C 00641823 */ subu $v1, $v1, $a0 +/* 33040 80057C40 8C42001C */ lw $v0, 0x1c($v0) +/* 33044 80057C44 00031880 */ sll $v1, $v1, 2 +/* 33048 80057C48 00431021 */ addu $v0, $v0, $v1 +/* 3304C 80057C4C 03E00008 */ jr $ra +/* 33050 80057C50 84420056 */ lh $v0, 0x56($v0) diff --git a/asm/nonmatchings/code_31650/func_80057C54.s b/asm/nonmatchings/code_31650/func_80057C54.s new file mode 100644 index 0000000000..02eed05f52 --- /dev/null +++ b/asm/nonmatchings/code_31650/func_80057C54.s @@ -0,0 +1,53 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80057C54 +/* 33054 80057C54 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 33058 80057C58 308400FF */ andi $a0, $a0, 0xff +/* 3305C 80057C5C 00041140 */ sll $v0, $a0, 5 +/* 33060 80057C60 3C038008 */ lui $v1, %hi(D_80078E54) +/* 33064 80057C64 8C638E54 */ lw $v1, %lo(D_80078E54)($v1) +/* 33068 80057C68 00441023 */ subu $v0, $v0, $a0 +/* 3306C 80057C6C AFBF0010 */ sw $ra, 0x10($sp) +/* 33070 80057C70 8C63001C */ lw $v1, 0x1c($v1) +/* 33074 80057C74 00021080 */ sll $v0, $v0, 2 +/* 33078 80057C78 00621821 */ addu $v1, $v1, $v0 +/* 3307C 80057C7C 8C650064 */ lw $a1, 0x64($v1) +/* 33080 80057C80 8C620068 */ lw $v0, 0x68($v1) +/* 33084 80057C84 00A2102A */ slt $v0, $a1, $v0 +/* 33088 80057C88 14400017 */ bnez $v0, .L80057CE8 +/* 3308C 80057C8C 00000000 */ nop +/* 33090 80057C90 3C028008 */ lui $v0, %hi(D_80078181) +/* 33094 80057C94 24428181 */ addiu $v0, $v0, %lo(D_80078181) +/* 33098 80057C98 90420000 */ lbu $v0, ($v0) +/* 3309C 80057C9C 14400008 */ bnez $v0, .L80057CC0 +/* 330A0 80057CA0 00000000 */ nop +/* 330A4 80057CA4 8463004E */ lh $v1, 0x4e($v1) +/* 330A8 80057CA8 3C028008 */ lui $v0, %hi(D_80078EE0) +/* 330AC 80057CAC 84428EE0 */ lh $v0, %lo(D_80078EE0)($v0) +/* 330B0 80057CB0 00620018 */ mult $v1, $v0 +/* 330B4 80057CB4 00004012 */ mflo $t0 +/* 330B8 80057CB8 08015F3F */ j .L80057CFC +/* 330BC 80057CBC 00081040 */ sll $v0, $t0, 1 +.L80057CC0: +/* 330C0 80057CC0 8462004C */ lh $v0, 0x4c($v1) +/* 330C4 80057CC4 8463004E */ lh $v1, 0x4e($v1) +/* 330C8 80057CC8 00021040 */ sll $v0, $v0, 1 +/* 330CC 80057CCC 3C018008 */ lui $at, %hi(D_80078E60) +/* 330D0 80057CD0 00220821 */ addu $at, $at, $v0 +/* 330D4 80057CD4 84228E60 */ lh $v0, %lo(D_80078E60)($at) +/* 330D8 80057CD8 00620018 */ mult $v1, $v0 +/* 330DC 80057CDC 00004012 */ mflo $t0 +/* 330E0 80057CE0 08015F3F */ j .L80057CFC +/* 330E4 80057CE4 00081040 */ sll $v0, $t0, 1 +.L80057CE8: +/* 330E8 80057CE8 84640050 */ lh $a0, 0x50($v1) +/* 330EC 80057CEC 8466005A */ lh $a2, 0x5a($v1) +/* 330F0 80057CF0 0C016001 */ jal func_80058004 +/* 330F4 80057CF4 94670058 */ lhu $a3, 0x58($v1) +/* 330F8 80057CF8 00021400 */ sll $v0, $v0, 0x10 +.L80057CFC: +/* 330FC 80057CFC 00021403 */ sra $v0, $v0, 0x10 +/* 33100 80057D00 8FBF0010 */ lw $ra, 0x10($sp) +/* 33104 80057D04 03E00008 */ jr $ra +/* 33108 80057D08 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/code_31650/func_80057D0C.s b/asm/nonmatchings/code_31650/func_80057D0C.s new file mode 100644 index 0000000000..df1bb68858 --- /dev/null +++ b/asm/nonmatchings/code_31650/func_80057D0C.s @@ -0,0 +1,54 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80057D0C +/* 3310C 80057D0C 27BDFFE8 */ addiu $sp, $sp, -0x18 +/* 33110 80057D10 308400FF */ andi $a0, $a0, 0xff +/* 33114 80057D14 00041140 */ sll $v0, $a0, 5 +/* 33118 80057D18 3C038008 */ lui $v1, %hi(D_80078E54) +/* 3311C 80057D1C 8C638E54 */ lw $v1, %lo(D_80078E54)($v1) +/* 33120 80057D20 00441023 */ subu $v0, $v0, $a0 +/* 33124 80057D24 AFBF0010 */ sw $ra, 0x10($sp) +/* 33128 80057D28 8C63001C */ lw $v1, 0x1c($v1) +/* 3312C 80057D2C 00021080 */ sll $v0, $v0, 2 +/* 33130 80057D30 00623821 */ addu $a3, $v1, $v0 +/* 33134 80057D34 8CE50064 */ lw $a1, 0x64($a3) +/* 33138 80057D38 8CE20068 */ lw $v0, 0x68($a3) +/* 3313C 80057D3C 00A2102A */ slt $v0, $a1, $v0 +/* 33140 80057D40 14400018 */ bnez $v0, .L80057DA4 +/* 33144 80057D44 00000000 */ nop +/* 33148 80057D48 3C028008 */ lui $v0, %hi(D_80078181) +/* 3314C 80057D4C 24428181 */ addiu $v0, $v0, %lo(D_80078181) +/* 33150 80057D50 90420000 */ lbu $v0, ($v0) +/* 33154 80057D54 54400008 */ bnel $v0, $zero, .L80057D78 +/* 33158 80057D58 2402007F */ addiu $v0, $zero, 0x7f +/* 3315C 80057D5C 84E3004E */ lh $v1, 0x4e($a3) +/* 33160 80057D60 3C028008 */ lui $v0, %hi(D_80078EE0) +/* 33164 80057D64 84428EE0 */ lh $v0, %lo(D_80078EE0)($v0) +/* 33168 80057D68 00620018 */ mult $v1, $v0 +/* 3316C 80057D6C 00004012 */ mflo $t0 +/* 33170 80057D70 08015F6E */ j .L80057DB8 +/* 33174 80057D74 00081040 */ sll $v0, $t0, 1 +.L80057D78: +/* 33178 80057D78 84E3004C */ lh $v1, 0x4c($a3) +/* 3317C 80057D7C 00431023 */ subu $v0, $v0, $v1 +/* 33180 80057D80 00021040 */ sll $v0, $v0, 1 +/* 33184 80057D84 84E3004E */ lh $v1, 0x4e($a3) +/* 33188 80057D88 3C018008 */ lui $at, %hi(D_80078E60) +/* 3318C 80057D8C 00220821 */ addu $at, $at, $v0 +/* 33190 80057D90 84228E60 */ lh $v0, %lo(D_80078E60)($at) +/* 33194 80057D94 00620018 */ mult $v1, $v0 +/* 33198 80057D98 00004012 */ mflo $t0 +/* 3319C 80057D9C 08015F6E */ j .L80057DB8 +/* 331A0 80057DA0 00081040 */ sll $v0, $t0, 1 +.L80057DA4: +/* 331A4 80057DA4 84E40050 */ lh $a0, 0x50($a3) +/* 331A8 80057DA8 84E6005A */ lh $a2, 0x5a($a3) +/* 331AC 80057DAC 0C016001 */ jal func_80058004 +/* 331B0 80057DB0 94E70058 */ lhu $a3, 0x58($a3) +/* 331B4 80057DB4 00021400 */ sll $v0, $v0, 0x10 +.L80057DB8: +/* 331B8 80057DB8 00021403 */ sra $v0, $v0, 0x10 +/* 331BC 80057DBC 8FBF0010 */ lw $ra, 0x10($sp) +/* 331C0 80057DC0 03E00008 */ jr $ra +/* 331C4 80057DC4 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/code_31650/func_80057DC8.s b/asm/nonmatchings/code_31650/func_80057DC8.s new file mode 100644 index 0000000000..5ed3d3687f --- /dev/null +++ b/asm/nonmatchings/code_31650/func_80057DC8.s @@ -0,0 +1,22 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80057DC8 +/* 331C8 80057DC8 28820002 */ slti $v0, $a0, 2 +/* 331CC 80057DCC 10400005 */ beqz $v0, .L80057DE4 +/* 331D0 80057DD0 00000000 */ nop +/* 331D4 80057DD4 3C01800A */ lui $at, %hi(D_800A3FF0) +/* 331D8 80057DD8 AC203FF0 */ sw $zero, %lo(D_800A3FF0)($at) +/* 331DC 80057DDC 3C01800A */ lui $at, %hi(D_800A3FEE) +/* 331E0 80057DE0 A4203FEE */ sh $zero, %lo(D_800A3FEE)($at) +.L80057DE4: +/* 331E4 80057DE4 3C03800A */ lui $v1, %hi(D_800A3FF0) +/* 331E8 80057DE8 24633FF0 */ addiu $v1, $v1, %lo(D_800A3FF0) +/* 331EC 80057DEC 28820005 */ slti $v0, $a0, 5 +/* 331F0 80057DF0 14400003 */ bnez $v0, .L80057E00 +/* 331F4 80057DF4 AC640000 */ sw $a0, ($v1) +/* 331F8 80057DF8 24020004 */ addiu $v0, $zero, 4 +/* 331FC 80057DFC AC620000 */ sw $v0, ($v1) +.L80057E00: +/* 33200 80057E00 03E00008 */ jr $ra +/* 33204 80057E04 00000000 */ nop diff --git a/asm/nonmatchings/code_31650/func_80057E08.s b/asm/nonmatchings/code_31650/func_80057E08.s new file mode 100644 index 0000000000..cc772371cf --- /dev/null +++ b/asm/nonmatchings/code_31650/func_80057E08.s @@ -0,0 +1,26 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80057E08 +/* 33208 80057E08 0000302D */ daddu $a2, $zero, $zero +/* 3320C 80057E0C 3C05800A */ lui $a1, %hi(D_800A3FE0) +/* 33210 80057E10 8CA53FE0 */ lw $a1, %lo(D_800A3FE0)($a1) +/* 33214 80057E14 3C03800A */ lui $v1, %hi(D_800A3FE4) +/* 33218 80057E18 8C633FE4 */ lw $v1, %lo(D_800A3FE4)($v1) +.L80057E1C: +/* 3321C 80057E1C ACA00000 */ sw $zero, ($a1) +/* 33220 80057E20 24A50004 */ addiu $a1, $a1, 4 +/* 33224 80057E24 AC600000 */ sw $zero, ($v1) +/* 33228 80057E28 24C60001 */ addiu $a2, $a2, 1 +/* 3322C 80057E2C 28C20170 */ slti $v0, $a2, 0x170 +/* 33230 80057E30 1440FFFA */ bnez $v0, .L80057E1C +/* 33234 80057E34 24630004 */ addiu $v1, $v1, 4 +/* 33238 80057E38 24020001 */ addiu $v0, $zero, 1 +/* 3323C 80057E3C 3C01800A */ lui $at, %hi(D_800A3FEC) +/* 33240 80057E40 A0243FEC */ sb $a0, %lo(D_800A3FEC)($at) +/* 33244 80057E44 3C01800A */ lui $at, %hi(D_800A3FEE) +/* 33248 80057E48 A4223FEE */ sh $v0, %lo(D_800A3FEE)($at) +/* 3324C 80057E4C 3C01800A */ lui $at, %hi(D_800A3FE8) +/* 33250 80057E50 AC203FE8 */ sw $zero, %lo(D_800A3FE8)($at) +/* 33254 80057E54 03E00008 */ jr $ra +/* 33258 80057E58 00000000 */ nop diff --git a/asm/nonmatchings/code_31650/func_80057E5C.s b/asm/nonmatchings/code_31650/func_80057E5C.s new file mode 100644 index 0000000000..0080543cf0 --- /dev/null +++ b/asm/nonmatchings/code_31650/func_80057E5C.s @@ -0,0 +1,26 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80057E5C +/* 3325C 80057E5C 0000302D */ daddu $a2, $zero, $zero +/* 33260 80057E60 3C05800A */ lui $a1, %hi(D_800A3FE0) +/* 33264 80057E64 8CA53FE0 */ lw $a1, %lo(D_800A3FE0)($a1) +/* 33268 80057E68 3C03800A */ lui $v1, %hi(D_800A3FE4) +/* 3326C 80057E6C 8C633FE4 */ lw $v1, %lo(D_800A3FE4)($v1) +.L80057E70: +/* 33270 80057E70 ACA00000 */ sw $zero, ($a1) +/* 33274 80057E74 24A50004 */ addiu $a1, $a1, 4 +/* 33278 80057E78 AC600000 */ sw $zero, ($v1) +/* 3327C 80057E7C 24C60001 */ addiu $a2, $a2, 1 +/* 33280 80057E80 28C20170 */ slti $v0, $a2, 0x170 +/* 33284 80057E84 1440FFFA */ bnez $v0, .L80057E70 +/* 33288 80057E88 24630004 */ addiu $v1, $v1, 4 +/* 3328C 80057E8C 24020002 */ addiu $v0, $zero, 2 +/* 33290 80057E90 3C01800A */ lui $at, %hi(D_800A3FEC) +/* 33294 80057E94 A0243FEC */ sb $a0, %lo(D_800A3FEC)($at) +/* 33298 80057E98 3C01800A */ lui $at, %hi(D_800A3FEE) +/* 3329C 80057E9C A4223FEE */ sh $v0, %lo(D_800A3FEE)($at) +/* 332A0 80057EA0 3C01800A */ lui $at, %hi(D_800A3FE8) +/* 332A4 80057EA4 AC203FE8 */ sw $zero, %lo(D_800A3FE8)($at) +/* 332A8 80057EA8 03E00008 */ jr $ra +/* 332AC 80057EAC 00000000 */ nop diff --git a/asm/nonmatchings/code_31650/func_80057EB0.s b/asm/nonmatchings/code_31650/func_80057EB0.s new file mode 100644 index 0000000000..4159ded706 --- /dev/null +++ b/asm/nonmatchings/code_31650/func_80057EB0.s @@ -0,0 +1,12 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80057EB0 +/* 332B0 80057EB0 3C01800A */ lui $at, %hi(D_800A3FEC) +/* 332B4 80057EB4 A0203FEC */ sb $zero, %lo(D_800A3FEC)($at) +/* 332B8 80057EB8 3C01800A */ lui $at, %hi(D_800A3FEE) +/* 332BC 80057EBC A4203FEE */ sh $zero, %lo(D_800A3FEE)($at) +/* 332C0 80057EC0 3C01800A */ lui $at, %hi(D_800A3FE8) +/* 332C4 80057EC4 AC203FE8 */ sw $zero, %lo(D_800A3FE8)($at) +/* 332C8 80057EC8 03E00008 */ jr $ra +/* 332CC 80057ECC 00000000 */ nop diff --git a/asm/nonmatchings/code_31650/func_80057ED0.s b/asm/nonmatchings/code_31650/func_80057ED0.s new file mode 100644 index 0000000000..2b400e97f9 --- /dev/null +++ b/asm/nonmatchings/code_31650/func_80057ED0.s @@ -0,0 +1,25 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80057ED0 +/* 332D0 80057ED0 0000302D */ daddu $a2, $zero, $zero +/* 332D4 80057ED4 3C05800A */ lui $a1, %hi(D_800A3FE0) +/* 332D8 80057ED8 8CA53FE0 */ lw $a1, %lo(D_800A3FE0)($a1) +/* 332DC 80057EDC 3C03800A */ lui $v1, %hi(D_800A3FE4) +/* 332E0 80057EE0 8C633FE4 */ lw $v1, %lo(D_800A3FE4)($v1) +.L80057EE4: +/* 332E4 80057EE4 ACA00000 */ sw $zero, ($a1) +/* 332E8 80057EE8 24A50004 */ addiu $a1, $a1, 4 +/* 332EC 80057EEC AC600000 */ sw $zero, ($v1) +/* 332F0 80057EF0 24C60001 */ addiu $a2, $a2, 1 +/* 332F4 80057EF4 28C20170 */ slti $v0, $a2, 0x170 +/* 332F8 80057EF8 1440FFFA */ bnez $v0, .L80057EE4 +/* 332FC 80057EFC 24630004 */ addiu $v1, $v1, 4 +/* 33300 80057F00 3C01800A */ lui $at, %hi(D_800A3FEC) +/* 33304 80057F04 A0203FEC */ sb $zero, %lo(D_800A3FEC)($at) +/* 33308 80057F08 3C01800A */ lui $at, %hi(D_800A3FEE) +/* 3330C 80057F0C A4243FEE */ sh $a0, %lo(D_800A3FEE)($at) +/* 33310 80057F10 3C01800A */ lui $at, %hi(D_800A3FE8) +/* 33314 80057F14 AC203FE8 */ sw $zero, %lo(D_800A3FE8)($at) +/* 33318 80057F18 03E00008 */ jr $ra +/* 3331C 80057F1C 00000000 */ nop diff --git a/asm/nonmatchings/code_31650/func_80057F20.s b/asm/nonmatchings/code_31650/func_80057F20.s new file mode 100644 index 0000000000..c2ec9b45c6 --- /dev/null +++ b/asm/nonmatchings/code_31650/func_80057F20.s @@ -0,0 +1,36 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80057F20 +/* 33320 80057F20 30A3000F */ andi $v1, $a1, 0xf +/* 33324 80057F24 24020010 */ addiu $v0, $zero, 0x10 +/* 33328 80057F28 00431823 */ subu $v1, $v0, $v1 +/* 3332C 80057F2C 10620003 */ beq $v1, $v0, .L80057F3C +/* 33330 80057F30 00A31021 */ addu $v0, $a1, $v1 +/* 33334 80057F34 08015FD0 */ j .L80057F40 +/* 33338 80057F38 AC820000 */ sw $v0, ($a0) +.L80057F3C: +/* 3333C 80057F3C AC850000 */ sw $a1, ($a0) +.L80057F40: +/* 33340 80057F40 AC860008 */ sw $a2, 8($a0) +/* 33344 80057F44 00C0102D */ daddu $v0, $a2, $zero +/* 33348 80057F48 0000282D */ daddu $a1, $zero, $zero +/* 3334C 80057F4C 8C830000 */ lw $v1, ($a0) +/* 33350 80057F50 00021082 */ srl $v0, $v0, 2 +/* 33354 80057F54 AC80000C */ sw $zero, 0xc($a0) +/* 33358 80057F58 1040000B */ beqz $v0, .L80057F88 +/* 3335C 80057F5C AC830004 */ sw $v1, 4($a0) +.L80057F60: +/* 33360 80057F60 8C820000 */ lw $v0, ($a0) +/* 33364 80057F64 00051880 */ sll $v1, $a1, 2 +/* 33368 80057F68 00621821 */ addu $v1, $v1, $v0 +/* 3336C 80057F6C AC600000 */ sw $zero, ($v1) +/* 33370 80057F70 8C820008 */ lw $v0, 8($a0) +/* 33374 80057F74 24A50001 */ addiu $a1, $a1, 1 +/* 33378 80057F78 00021082 */ srl $v0, $v0, 2 +/* 3337C 80057F7C 00A2102B */ sltu $v0, $a1, $v0 +/* 33380 80057F80 1440FFF7 */ bnez $v0, .L80057F60 +/* 33384 80057F84 00000000 */ nop +.L80057F88: +/* 33388 80057F88 03E00008 */ jr $ra +/* 3338C 80057F8C 00000000 */ nop diff --git a/asm/nonmatchings/code_31650/func_80057FD8.s b/asm/nonmatchings/code_31650/func_80057FD8.s new file mode 100644 index 0000000000..b84379d644 --- /dev/null +++ b/asm/nonmatchings/code_31650/func_80057FD8.s @@ -0,0 +1,17 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80057FD8 +/* 333D8 80057FD8 18C00008 */ blez $a2, .L80057FFC +/* 333DC 80057FDC 0000182D */ daddu $v1, $zero, $zero +.L80057FE0: +/* 333E0 80057FE0 90820000 */ lbu $v0, ($a0) +/* 333E4 80057FE4 24840001 */ addiu $a0, $a0, 1 +/* 333E8 80057FE8 24630001 */ addiu $v1, $v1, 1 +/* 333EC 80057FEC A0A20000 */ sb $v0, ($a1) +/* 333F0 80057FF0 0066102A */ slt $v0, $v1, $a2 +/* 333F4 80057FF4 1440FFFA */ bnez $v0, .L80057FE0 +/* 333F8 80057FF8 24A50001 */ addiu $a1, $a1, 1 +.L80057FFC: +/* 333FC 80057FFC 03E00008 */ jr $ra +/* 33400 80058000 00000000 */ nop diff --git a/asm/nonmatchings/code_31650/func_80058004.s b/asm/nonmatchings/code_31650/func_80058004.s new file mode 100644 index 0000000000..0d5a8168f5 --- /dev/null +++ b/asm/nonmatchings/code_31650/func_80058004.s @@ -0,0 +1,24 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80058004 +/* 33404 80058004 000528C3 */ sra $a1, $a1, 3 +/* 33408 80058008 50A0000E */ beql $a1, $zero, .L80058044 +/* 3340C 8005800C 00041400 */ sll $v0, $a0, 0x10 +/* 33410 80058010 30E2FFFF */ andi $v0, $a3, 0xffff +/* 33414 80058014 00450018 */ mult $v0, $a1 +/* 33418 80058018 00001012 */ mflo $v0 +/* 3341C 8005801C 00061C00 */ sll $v1, $a2, 0x10 +/* 33420 80058020 00031C03 */ sra $v1, $v1, 0x10 +/* 33424 80058024 00650018 */ mult $v1, $a1 +/* 33428 80058028 00021403 */ sra $v0, $v0, 0x10 +/* 3342C 8005802C 00001812 */ mflo $v1 +/* 33430 80058030 00431021 */ addu $v0, $v0, $v1 +/* 33434 80058034 00821021 */ addu $v0, $a0, $v0 +/* 33438 80058038 00021400 */ sll $v0, $v0, 0x10 +/* 3343C 8005803C 03E00008 */ jr $ra +/* 33440 80058040 00021403 */ sra $v0, $v0, 0x10 +.L80058044: +/* 33444 80058044 03E00008 */ jr $ra +/* 33448 80058048 00021403 */ sra $v0, $v0, 0x10 +/* 3344C 8005804C 00000000 */ nop diff --git a/asm/nonmatchings/code_31650/func_80058050.s b/asm/nonmatchings/code_31650/func_80058050.s new file mode 100644 index 0000000000..a3b81402f4 --- /dev/null +++ b/asm/nonmatchings/code_31650/func_80058050.s @@ -0,0 +1,745 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80058050 +/* 33450 80058050 27BDFFA0 */ addiu $sp, $sp, -0x60 +/* 33454 80058054 AFB60050 */ sw $s6, 0x50($sp) +/* 33458 80058058 00A0B02D */ daddu $s6, $a1, $zero +/* 3345C 8005805C AFB1003C */ sw $s1, 0x3c($sp) +/* 33460 80058060 02C0882D */ daddu $s1, $s6, $zero +/* 33464 80058064 AFB70054 */ sw $s7, 0x54($sp) +/* 33468 80058068 AFA40060 */ sw $a0, 0x60($sp) +/* 3346C 8005806C 24970048 */ addiu $s7, $a0, 0x48 +/* 33470 80058070 24880038 */ addiu $t0, $a0, 0x38 +/* 33474 80058074 AFB20040 */ sw $s2, 0x40($sp) +/* 33478 80058078 AFBF005C */ sw $ra, 0x5c($sp) +/* 3347C 8005807C AFBE0058 */ sw $fp, 0x58($sp) +/* 33480 80058080 AFB5004C */ sw $s5, 0x4c($sp) +/* 33484 80058084 AFB40048 */ sw $s4, 0x48($sp) +/* 33488 80058088 AFB30044 */ sw $s3, 0x44($sp) +/* 3348C 8005808C AFB00038 */ sw $s0, 0x38($sp) +/* 33490 80058090 AFA80020 */ sw $t0, 0x20($sp) +/* 33494 80058094 8C830070 */ lw $v1, 0x70($a0) +/* 33498 80058098 24020001 */ addiu $v0, $zero, 1 +/* 3349C 8005809C 14620293 */ bne $v1, $v0, .L80058AEC +/* 334A0 800580A0 24920004 */ addiu $s2, $a0, 4 +/* 334A4 800580A4 8FA80060 */ lw $t0, 0x60($sp) +/* 334A8 800580A8 C500003C */ lwc1 $f0, 0x3c($t0) +/* 334AC 800580AC 3C01800A */ lui $at, %hi(D_80098930) +/* 334B0 800580B0 D4228930 */ ldc1 $f2, %lo(D_80098930)($at) +/* 334B4 800580B4 46000021 */ cvt.d.s $f0, $f0 +/* 334B8 800580B8 4620103C */ c.lt.d $f2, $f0 +/* 334BC 800580BC 00000000 */ nop +/* 334C0 800580C0 45000007 */ bc1f .L800580E0 +/* 334C4 800580C4 241E0170 */ addiu $fp, $zero, 0x170 +/* 334C8 800580C8 3C013FFF */ lui $at, 0x3fff +/* 334CC 800580CC 3421FEB0 */ ori $at, $at, 0xfeb0 +/* 334D0 800580D0 44810000 */ mtc1 $at, $f0 +/* 334D4 800580D4 00000000 */ nop +/* 334D8 800580D8 E500003C */ swc1 $f0, 0x3c($t0) +/* 334DC 800580DC 8FA80060 */ lw $t0, 0x60($sp) +.L800580E0: +/* 334E0 800580E0 3C014700 */ lui $at, 0x4700 +/* 334E4 800580E4 44811000 */ mtc1 $at, $f2 +/* 334E8 800580E8 C500003C */ lwc1 $f0, 0x3c($t0) +/* 334EC 800580EC 46020002 */ mul.s $f0, $f0, $f2 +/* 334F0 800580F0 00000000 */ nop +/* 334F4 800580F4 4600018D */ trunc.w.s $f6, $f0 +/* 334F8 800580F8 44023000 */ mfc1 $v0, $f6 +/* 334FC 800580FC 3C013800 */ lui $at, 0x3800 +/* 33500 80058100 44810000 */ mtc1 $at, $f0 +/* 33504 80058104 44822000 */ mtc1 $v0, $f4 +/* 33508 80058108 00000000 */ nop +/* 3350C 8005810C 46802120 */ cvt.s.w $f4, $f4 +/* 33510 80058110 46002102 */ mul.s $f4, $f4, $f0 +/* 33514 80058114 00000000 */ nop +/* 33518 80058118 3C014338 */ lui $at, 0x4338 +/* 3351C 8005811C 44810000 */ mtc1 $at, $f0 +/* 33520 80058120 00000000 */ nop +/* 33524 80058124 46002002 */ mul.s $f0, $f4, $f0 +/* 33528 80058128 00000000 */ nop +/* 3352C 8005812C 8FA80060 */ lw $t0, 0x60($sp) +/* 33530 80058130 C5020040 */ lwc1 $f2, 0x40($t0) +/* 33534 80058134 46001080 */ add.s $f2, $f2, $f0 +/* 33538 80058138 4600118D */ trunc.w.s $f6, $f2 +/* 3353C 8005813C 44143000 */ mfc1 $s4, $f6 +/* 33540 80058140 00000000 */ nop +/* 33544 80058144 44940000 */ mtc1 $s4, $f0 +/* 33548 80058148 00000000 */ nop +/* 3354C 8005814C 46800020 */ cvt.s.w $f0, $f0 +/* 33550 80058150 46001081 */ sub.s $f2, $f2, $f0 +/* 33554 80058154 8FA80060 */ lw $t0, 0x60($sp) +/* 33558 80058158 E504003C */ swc1 $f4, 0x3c($t0) +/* 3355C 8005815C 128001BA */ beqz $s4, .L80058848 +/* 33560 80058160 E5020040 */ swc1 $f2, 0x40($t0) +/* 33564 80058164 8E470014 */ lw $a3, 0x14($s2) +/* 33568 80058168 90E20024 */ lbu $v0, 0x24($a3) +/* 3356C 8005816C 144000F2 */ bnez $v0, .L80058538 +/* 33570 80058170 3C0300FF */ lui $v1, 0xff +/* 33574 80058174 3463FFFF */ ori $v1, $v1, 0xffff +/* 33578 80058178 AFA00024 */ sw $zero, 0x24($sp) +/* 3357C 8005817C 8D02001C */ lw $v0, 0x1c($t0) +/* 33580 80058180 3C041FFF */ lui $a0, 0x1fff +/* 33584 80058184 00431024 */ and $v0, $v0, $v1 +/* 33588 80058188 3C030B00 */ lui $v1, 0xb00 +/* 3358C 8005818C 00431025 */ or $v0, $v0, $v1 +/* 33590 80058190 AE220000 */ sw $v0, ($s1) +/* 33594 80058194 8E420014 */ lw $v0, 0x14($s2) +/* 33598 80058198 3484FFFF */ ori $a0, $a0, 0xffff +/* 3359C 8005819C 8C420018 */ lw $v0, 0x18($v0) +/* 335A0 800581A0 8FA50024 */ lw $a1, 0x24($sp) +/* 335A4 800581A4 00441024 */ and $v0, $v0, $a0 +/* 335A8 800581A8 AE220004 */ sw $v0, 4($s1) +/* 335AC 800581AC 8D040028 */ lw $a0, 0x28($t0) +/* 335B0 800581B0 8D030010 */ lw $v1, 0x10($t0) +/* 335B4 800581B4 02841021 */ addu $v0, $s4, $a0 +/* 335B8 800581B8 0062102B */ sltu $v0, $v1, $v0 +/* 335BC 800581BC 10400003 */ beqz $v0, .L800581CC +/* 335C0 800581C0 26D60008 */ addiu $s6, $s6, 8 +/* 335C4 800581C4 8D020014 */ lw $v0, 0x14($t0) +/* 335C8 800581C8 0002282B */ sltu $a1, $zero, $v0 +.L800581CC: +/* 335CC 800581CC 10A00002 */ beqz $a1, .L800581D8 +/* 335D0 800581D0 0280802D */ daddu $s0, $s4, $zero +/* 335D4 800581D4 00648023 */ subu $s0, $v1, $a0 +.L800581D8: +/* 335D8 800581D8 8E430028 */ lw $v1, 0x28($s2) +/* 335DC 800581DC 10600003 */ beqz $v1, .L800581EC +/* 335E0 800581E0 24020010 */ addiu $v0, $zero, 0x10 +/* 335E4 800581E4 0801607C */ j .L800581F0 +/* 335E8 800581E8 0043A823 */ subu $s5, $v0, $v1 +.L800581EC: +/* 335EC 800581EC 0000A82D */ daddu $s5, $zero, $zero +.L800581F0: +/* 335F0 800581F0 02153023 */ subu $a2, $s0, $s5 +/* 335F4 800581F4 04C20001 */ bltzl $a2, .L800581FC +/* 335F8 800581F8 0000302D */ daddu $a2, $zero, $zero +.L800581FC: +/* 335FC 800581FC 24C2000F */ addiu $v0, $a2, 0xf +/* 33600 80058200 00028903 */ sra $s1, $v0, 4 +/* 33604 80058204 001110C0 */ sll $v0, $s1, 3 +/* 33608 80058208 10A00072 */ beqz $a1, .L800583D4 +/* 3360C 8005820C 00513821 */ addu $a3, $v0, $s1 +/* 33610 80058210 02C0202D */ daddu $a0, $s6, $zero +/* 33614 80058214 001E1400 */ sll $v0, $fp, 0x10 +/* 33618 80058218 00021403 */ sra $v0, $v0, 0x10 +/* 3361C 8005821C AFA20010 */ sw $v0, 0x10($sp) +/* 33620 80058220 AFA00014 */ sw $zero, 0x14($sp) +/* 33624 80058224 8E42002C */ lw $v0, 0x2c($s2) +/* 33628 80058228 0240282D */ daddu $a1, $s2, $zero +/* 3362C 8005822C 0C0162C8 */ jal func_80058B20 +/* 33630 80058230 AFA20018 */ sw $v0, 0x18($sp) +/* 33634 80058234 8E430028 */ lw $v1, 0x28($s2) +/* 33638 80058238 10600005 */ beqz $v1, .L80058250 +/* 3363C 8005823C 0040B02D */ daddu $s6, $v0, $zero +/* 33640 80058240 9642002A */ lhu $v0, 0x2a($s2) +/* 33644 80058244 00021040 */ sll $v0, $v0, 1 +/* 33648 80058248 08016095 */ j .L80058254 +/* 3364C 8005824C 03C2F021 */ addu $fp, $fp, $v0 +.L80058250: +/* 33650 80058250 27DE0020 */ addiu $fp, $fp, 0x20 +.L80058254: +/* 33654 80058254 001E2C00 */ sll $a1, $fp, 0x10 +/* 33658 80058258 8E420008 */ lw $v0, 8($s2) +/* 3365C 8005825C 00059C03 */ sra $s3, $a1, 0x10 +/* 33660 80058260 3042000F */ andi $v0, $v0, 0xf +/* 33664 80058264 AE420028 */ sw $v0, 0x28($s2) +/* 33668 80058268 8E420014 */ lw $v0, 0x14($s2) +/* 3366C 8005826C 8E430008 */ lw $v1, 8($s2) +/* 33670 80058270 8C440000 */ lw $a0, ($v0) +/* 33674 80058274 0060102D */ daddu $v0, $v1, $zero +/* 33678 80058278 00031902 */ srl $v1, $v1, 4 +/* 3367C 8005827C 24630001 */ addiu $v1, $v1, 1 +/* 33680 80058280 AE420024 */ sw $v0, 0x24($s2) +/* 33684 80058284 000310C0 */ sll $v0, $v1, 3 +/* 33688 80058288 00431021 */ addu $v0, $v0, $v1 +/* 3368C 8005828C 00822021 */ addu $a0, $a0, $v0 +/* 33690 80058290 0214102A */ slt $v0, $s0, $s4 +/* 33694 80058294 10400042 */ beqz $v0, .L800583A0 +/* 33698 80058298 AE440030 */ sw $a0, 0x30($s2) +/* 3369C 8005829C 0000402D */ daddu $t0, $zero, $zero +/* 336A0 800582A0 00081400 */ sll $v0, $t0, 0x10 +/* 336A4 800582A4 00021403 */ sra $v0, $v0, 0x10 +/* 336A8 800582A8 AFA2002C */ sw $v0, 0x2c($sp) +.L800582AC: +/* 336AC 800582AC 26220001 */ addiu $v0, $s1, 1 +/* 336B0 800582B0 00021140 */ sll $v0, $v0, 5 +/* 336B4 800582B4 02621021 */ addu $v0, $s3, $v0 +/* 336B8 800582B8 00101840 */ sll $v1, $s0, 1 +/* 336BC 800582BC 02639821 */ addu $s3, $s3, $v1 +/* 336C0 800582C0 24420010 */ addiu $v0, $v0, 0x10 +/* 336C4 800582C4 2403FFE0 */ addiu $v1, $zero, -0x20 +/* 336C8 800582C8 0043A824 */ and $s5, $v0, $v1 +/* 336CC 800582CC 8E430010 */ lw $v1, 0x10($s2) +/* 336D0 800582D0 2402FFFF */ addiu $v0, $zero, -1 +/* 336D4 800582D4 10620004 */ beq $v1, $v0, .L800582E8 +/* 336D8 800582D8 0290A023 */ subu $s4, $s4, $s0 +/* 336DC 800582DC 10600002 */ beqz $v1, .L800582E8 +/* 336E0 800582E0 00621021 */ addu $v0, $v1, $v0 +/* 336E4 800582E4 AE420010 */ sw $v0, 0x10($s2) +.L800582E8: +/* 336E8 800582E8 8E43000C */ lw $v1, 0xc($s2) +/* 336EC 800582EC 8E420008 */ lw $v0, 8($s2) +/* 336F0 800582F0 00621823 */ subu $v1, $v1, $v0 +/* 336F4 800582F4 0283102B */ sltu $v0, $s4, $v1 +/* 336F8 800582F8 14400002 */ bnez $v0, .L80058304 +/* 336FC 800582FC 0280802D */ daddu $s0, $s4, $zero +/* 33700 80058300 0060802D */ daddu $s0, $v1, $zero +.L80058304: +/* 33704 80058304 8E420028 */ lw $v0, 0x28($s2) +/* 33708 80058308 2442FFF0 */ addiu $v0, $v0, -0x10 +/* 3370C 8005830C 02023021 */ addu $a2, $s0, $v0 +/* 33710 80058310 04C20001 */ bltzl $a2, .L80058318 +/* 33714 80058314 0000302D */ daddu $a2, $zero, $zero +.L80058318: +/* 33718 80058318 24C2000F */ addiu $v0, $a2, 0xf +/* 3371C 8005831C 00028903 */ sra $s1, $v0, 4 +/* 33720 80058320 02C0202D */ daddu $a0, $s6, $zero +/* 33724 80058324 0240282D */ daddu $a1, $s2, $zero +/* 33728 80058328 00151400 */ sll $v0, $s5, 0x10 +/* 3372C 8005832C 00021403 */ sra $v0, $v0, 0x10 +/* 33730 80058330 8FA8002C */ lw $t0, 0x2c($sp) +/* 33734 80058334 001138C0 */ sll $a3, $s1, 3 +/* 33738 80058338 AFA20010 */ sw $v0, 0x10($sp) +/* 3373C 8005833C AFA80014 */ sw $t0, 0x14($sp) +/* 33740 80058340 8E42002C */ lw $v0, 0x2c($s2) +/* 33744 80058344 00F13821 */ addu $a3, $a3, $s1 +/* 33748 80058348 34420002 */ ori $v0, $v0, 2 +/* 3374C 8005834C 0C0162C8 */ jal func_80058B20 +/* 33750 80058350 AFA20018 */ sw $v0, 0x18($sp) +/* 33754 80058354 0040B02D */ daddu $s6, $v0, $zero +/* 33758 80058358 02C0282D */ daddu $a1, $s6, $zero +/* 3375C 8005835C 3C0600FF */ lui $a2, 0xff +/* 33760 80058360 34C6FFFF */ ori $a2, $a2, 0xffff +/* 33764 80058364 00132400 */ sll $a0, $s3, 0x10 +/* 33768 80058368 00101840 */ sll $v1, $s0, 1 +/* 3376C 8005836C 3063FFFF */ andi $v1, $v1, 0xffff +/* 33770 80058370 00832025 */ or $a0, $a0, $v1 +/* 33774 80058374 8E420028 */ lw $v0, 0x28($s2) +/* 33778 80058378 3C030A00 */ lui $v1, 0xa00 +/* 3377C 8005837C ACA40004 */ sw $a0, 4($a1) +/* 33780 80058380 00021040 */ sll $v0, $v0, 1 +/* 33784 80058384 02A21021 */ addu $v0, $s5, $v0 +/* 33788 80058388 00461024 */ and $v0, $v0, $a2 +/* 3378C 8005838C 00431025 */ or $v0, $v0, $v1 +/* 33790 80058390 ACA20000 */ sw $v0, ($a1) +/* 33794 80058394 0214102A */ slt $v0, $s0, $s4 +/* 33798 80058398 1440FFC4 */ bnez $v0, .L800582AC +/* 3379C 8005839C 26D60008 */ addiu $s6, $s6, 8 +.L800583A0: +/* 337A0 800583A0 8E420028 */ lw $v0, 0x28($s2) +/* 337A4 800583A4 8E430024 */ lw $v1, 0x24($s2) +/* 337A8 800583A8 02821021 */ addu $v0, $s4, $v0 +/* 337AC 800583AC 3042000F */ andi $v0, $v0, 0xf +/* 337B0 800583B0 00741821 */ addu $v1, $v1, $s4 +/* 337B4 800583B4 AE420028 */ sw $v0, 0x28($s2) +/* 337B8 800583B8 001110C0 */ sll $v0, $s1, 3 +/* 337BC 800583BC AE430024 */ sw $v1, 0x24($s2) +/* 337C0 800583C0 8E430030 */ lw $v1, 0x30($s2) +/* 337C4 800583C4 00511021 */ addu $v0, $v0, $s1 +/* 337C8 800583C8 00621821 */ addu $v1, $v1, $v0 +/* 337CC 800583CC 08016212 */ j .L80058848 +/* 337D0 800583D0 AE430030 */ sw $v1, 0x30($s2) +.L800583D4: +/* 337D4 800583D4 8E440014 */ lw $a0, 0x14($s2) +/* 337D8 800583D8 8E430030 */ lw $v1, 0x30($s2) +/* 337DC 800583DC 8C820000 */ lw $v0, ($a0) +/* 337E0 800583E0 8C840004 */ lw $a0, 4($a0) +/* 337E4 800583E4 00671821 */ addu $v1, $v1, $a3 +/* 337E8 800583E8 00441021 */ addu $v0, $v0, $a0 +/* 337EC 800583EC 00622023 */ subu $a0, $v1, $v0 +/* 337F0 800583F0 1C800003 */ bgtz $a0, .L80058400 +/* 337F4 800583F4 00118100 */ sll $s0, $s1, 4 +/* 337F8 800583F8 08016101 */ j .L80058404 +/* 337FC 800583FC 0000202D */ daddu $a0, $zero, $zero +.L80058400: +/* 33800 80058400 AEE00028 */ sw $zero, 0x28($s7) +.L80058404: +/* 33804 80058404 3C0238E3 */ lui $v0, 0x38e3 +/* 33808 80058408 34428E39 */ ori $v0, $v0, 0x8e39 +/* 3380C 8005840C 00820018 */ mult $a0, $v0 +/* 33810 80058410 00041FC3 */ sra $v1, $a0, 0x1f +/* 33814 80058414 00004010 */ mfhi $t0 +/* 33818 80058418 00081043 */ sra $v0, $t0, 1 +/* 3381C 8005841C 00431023 */ subu $v0, $v0, $v1 +/* 33820 80058420 00029900 */ sll $s3, $v0, 4 +/* 33824 80058424 02151821 */ addu $v1, $s0, $s5 +/* 33828 80058428 0073102A */ slt $v0, $v1, $s3 +/* 3382C 8005842C 54400001 */ bnel $v0, $zero, .L80058434 +/* 33830 80058430 0060982D */ daddu $s3, $v1, $zero +.L80058434: +/* 33834 80058434 3262000F */ andi $v0, $s3, 0xf +/* 33838 80058438 02621023 */ subu $v0, $s3, $v0 +/* 3383C 8005843C 0054102A */ slt $v0, $v0, $s4 +/* 33840 80058440 10400020 */ beqz $v0, .L800584C4 +/* 33844 80058444 00E43823 */ subu $a3, $a3, $a0 +/* 33848 80058448 24080001 */ addiu $t0, $zero, 1 +/* 3384C 8005844C 02C0202D */ daddu $a0, $s6, $zero +/* 33850 80058450 0240282D */ daddu $a1, $s2, $zero +/* 33854 80058454 001E1400 */ sll $v0, $fp, 0x10 +/* 33858 80058458 00021403 */ sra $v0, $v0, 0x10 +/* 3385C 8005845C AFA80024 */ sw $t0, 0x24($sp) +/* 33860 80058460 AFA20010 */ sw $v0, 0x10($sp) +/* 33864 80058464 AFA00014 */ sw $zero, 0x14($sp) +/* 33868 80058468 8E42002C */ lw $v0, 0x2c($s2) +/* 3386C 8005846C 02133023 */ subu $a2, $s0, $s3 +/* 33870 80058470 0C0162C8 */ jal func_80058B20 +/* 33874 80058474 AFA20018 */ sw $v0, 0x18($sp) +/* 33878 80058478 8E430028 */ lw $v1, 0x28($s2) +/* 3387C 8005847C 10600005 */ beqz $v1, .L80058494 +/* 33880 80058480 0040B02D */ daddu $s6, $v0, $zero +/* 33884 80058484 9642002A */ lhu $v0, 0x2a($s2) +/* 33888 80058488 00021040 */ sll $v0, $v0, 1 +/* 3388C 8005848C 08016126 */ j .L80058498 +/* 33890 80058490 03C2F021 */ addu $fp, $fp, $v0 +.L80058494: +/* 33894 80058494 27DE0020 */ addiu $fp, $fp, 0x20 +.L80058498: +/* 33898 80058498 8E420028 */ lw $v0, 0x28($s2) +/* 3389C 8005849C 8E430024 */ lw $v1, 0x24($s2) +/* 338A0 800584A0 02821021 */ addu $v0, $s4, $v0 +/* 338A4 800584A4 3042000F */ andi $v0, $v0, 0xf +/* 338A8 800584A8 00741821 */ addu $v1, $v1, $s4 +/* 338AC 800584AC AE420028 */ sw $v0, 0x28($s2) +/* 338B0 800584B0 001110C0 */ sll $v0, $s1, 3 +/* 338B4 800584B4 AE430024 */ sw $v1, 0x24($s2) +/* 338B8 800584B8 8E430030 */ lw $v1, 0x30($s2) +/* 338BC 800584BC 08016135 */ j .L800584D4 +/* 338C0 800584C0 00511021 */ addu $v0, $v0, $s1 +.L800584C4: +/* 338C4 800584C4 001110C0 */ sll $v0, $s1, 3 +/* 338C8 800584C8 8E430030 */ lw $v1, 0x30($s2) +/* 338CC 800584CC 00511021 */ addu $v0, $v0, $s1 +/* 338D0 800584D0 AE400028 */ sw $zero, 0x28($s2) +.L800584D4: +/* 338D4 800584D4 00621821 */ addu $v1, $v1, $v0 +/* 338D8 800584D8 126000DB */ beqz $s3, .L80058848 +/* 338DC 800584DC AE430030 */ sw $v1, 0x30($s2) +/* 338E0 800584E0 AE400028 */ sw $zero, 0x28($s2) +/* 338E4 800584E4 8FA80024 */ lw $t0, 0x24($sp) +/* 338E8 800584E8 11000004 */ beqz $t0, .L800584FC +/* 338EC 800584EC 02B01021 */ addu $v0, $s5, $s0 +/* 338F0 800584F0 00531023 */ subu $v0, $v0, $s3 +/* 338F4 800584F4 08016140 */ j .L80058500 +/* 338F8 800584F8 00022840 */ sll $a1, $v0, 1 +.L800584FC: +/* 338FC 800584FC 0000282D */ daddu $a1, $zero, $zero +.L80058500: +/* 33900 80058500 02C0202D */ daddu $a0, $s6, $zero +/* 33904 80058504 26D60008 */ addiu $s6, $s6, 8 +/* 33908 80058508 3C0300FF */ lui $v1, 0xff +/* 3390C 8005850C 3463FFFF */ ori $v1, $v1, 0xffff +/* 33910 80058510 001E1400 */ sll $v0, $fp, 0x10 +/* 33914 80058514 00021403 */ sra $v0, $v0, 0x10 +/* 33918 80058518 00A21021 */ addu $v0, $a1, $v0 +/* 3391C 8005851C 00431024 */ and $v0, $v0, $v1 +/* 33920 80058520 3C030200 */ lui $v1, 0x200 +/* 33924 80058524 00431025 */ or $v0, $v0, $v1 +/* 33928 80058528 AC820000 */ sw $v0, ($a0) +/* 3392C 8005852C 00131040 */ sll $v0, $s3, 1 +/* 33930 80058530 08016212 */ j .L80058848 +/* 33934 80058534 AC820004 */ sw $v0, 4($a0) +.L80058538: +/* 33938 80058538 8FA80060 */ lw $t0, 0x60($sp) +/* 3393C 8005853C 8D040028 */ lw $a0, 0x28($t0) +/* 33940 80058540 8D030010 */ lw $v1, 0x10($t0) +/* 33944 80058544 02841021 */ addu $v0, $s4, $a0 +/* 33948 80058548 0062102B */ sltu $v0, $v1, $v0 +/* 3394C 8005854C 10400079 */ beqz $v0, .L80058734 +/* 33950 80058550 00148040 */ sll $s0, $s4, 1 +/* 33954 80058554 8D020014 */ lw $v0, 0x14($t0) +/* 33958 80058558 10400076 */ beqz $v0, .L80058734 +/* 3395C 8005855C 00649823 */ subu $s3, $v1, $a0 +/* 33960 80058560 1A600017 */ blez $s3, .L800585C0 +/* 33964 80058564 00138040 */ sll $s0, $s3, 1 +/* 33968 80058568 0200282D */ daddu $a1, $s0, $zero +/* 3396C 8005856C 8D040034 */ lw $a0, 0x34($t0) +/* 33970 80058570 8D060024 */ lw $a2, 0x24($t0) +/* 33974 80058574 90E70025 */ lbu $a3, 0x25($a3) +/* 33978 80058578 8D020020 */ lw $v0, 0x20($t0) +/* 3397C 8005857C 0040F809 */ jalr $v0 +/* 33980 80058580 26D60008 */ addiu $s6, $s6, 8 +/* 33984 80058584 0040382D */ daddu $a3, $v0, $zero +/* 33988 80058588 30E60007 */ andi $a2, $a3, 7 +/* 3398C 8005858C 02068021 */ addu $s0, $s0, $a2 +/* 33990 80058590 3C030400 */ lui $v1, 0x400 +/* 33994 80058594 34630170 */ ori $v1, $v1, 0x170 +/* 33998 80058598 32020007 */ andi $v0, $s0, 7 +/* 3399C 8005859C 2442FFF8 */ addiu $v0, $v0, -8 +/* 339A0 800585A0 02021023 */ subu $v0, $s0, $v0 +/* 339A4 800585A4 30420FFF */ andi $v0, $v0, 0xfff +/* 339A8 800585A8 00021300 */ sll $v0, $v0, 0xc +/* 339AC 800585AC 00431025 */ or $v0, $v0, $v1 +/* 339B0 800585B0 AE220000 */ sw $v0, ($s1) +/* 339B4 800585B4 00E61023 */ subu $v0, $a3, $a2 +/* 339B8 800585B8 08016171 */ j .L800585C4 +/* 339BC 800585BC AE220004 */ sw $v0, 4($s1) +.L800585C0: +/* 339C0 800585C0 0000302D */ daddu $a2, $zero, $zero +.L800585C4: +/* 339C4 800585C4 03C61021 */ addu $v0, $fp, $a2 +/* 339C8 800585C8 0040F02D */ daddu $fp, $v0, $zero +/* 339CC 800585CC 00021400 */ sll $v0, $v0, 0x10 +/* 339D0 800585D0 0002AC03 */ sra $s5, $v0, 0x10 +/* 339D4 800585D4 0274102A */ slt $v0, $s3, $s4 +/* 339D8 800585D8 8E430008 */ lw $v1, 8($s2) +/* 339DC 800585DC 8E440014 */ lw $a0, 0x14($s2) +/* 339E0 800585E0 0060282D */ daddu $a1, $v1, $zero +/* 339E4 800585E4 8C840000 */ lw $a0, ($a0) +/* 339E8 800585E8 00031840 */ sll $v1, $v1, 1 +/* 339EC 800585EC AE450024 */ sw $a1, 0x24($s2) +/* 339F0 800585F0 00832021 */ addu $a0, $a0, $v1 +/* 339F4 800585F4 10400047 */ beqz $v0, .L80058714 +/* 339F8 800585F8 AE440030 */ sw $a0, 0x30($s2) +/* 339FC 800585FC 26D1FFFC */ addiu $s1, $s6, -4 +/* 33A00 80058600 00131040 */ sll $v0, $s3, 1 +.L80058604: +/* 33A04 80058604 02A2A821 */ addu $s5, $s5, $v0 +/* 33A08 80058608 8E430010 */ lw $v1, 0x10($s2) +/* 33A0C 8005860C 2402FFFF */ addiu $v0, $zero, -1 +/* 33A10 80058610 10620004 */ beq $v1, $v0, .L80058624 +/* 33A14 80058614 0293A023 */ subu $s4, $s4, $s3 +/* 33A18 80058618 10600002 */ beqz $v1, .L80058624 +/* 33A1C 8005861C 00621021 */ addu $v0, $v1, $v0 +/* 33A20 80058620 AE420010 */ sw $v0, 0x10($s2) +.L80058624: +/* 33A24 80058624 8E43000C */ lw $v1, 0xc($s2) +/* 33A28 80058628 8E420008 */ lw $v0, 8($s2) +/* 33A2C 8005862C 00621823 */ subu $v1, $v1, $v0 +/* 33A30 80058630 0283102B */ sltu $v0, $s4, $v1 +/* 33A34 80058634 14400002 */ bnez $v0, .L80058640 +/* 33A38 80058638 0280982D */ daddu $s3, $s4, $zero +/* 33A3C 8005863C 0060982D */ daddu $s3, $v1, $zero +.L80058640: +/* 33A40 80058640 00138040 */ sll $s0, $s3, 1 +/* 33A44 80058644 8E440030 */ lw $a0, 0x30($s2) +/* 33A48 80058648 8E420014 */ lw $v0, 0x14($s2) +/* 33A4C 8005864C 8E460020 */ lw $a2, 0x20($s2) +/* 33A50 80058650 90470025 */ lbu $a3, 0x25($v0) +/* 33A54 80058654 8E42001C */ lw $v0, 0x1c($s2) +/* 33A58 80058658 0040F809 */ jalr $v0 +/* 33A5C 8005865C 0200282D */ daddu $a1, $s0, $zero +/* 33A60 80058660 0040382D */ daddu $a3, $v0, $zero +/* 33A64 80058664 30E60007 */ andi $a2, $a3, 7 +/* 33A68 80058668 32A30007 */ andi $v1, $s5, 7 +/* 33A6C 8005866C 10600004 */ beqz $v1, .L80058680 +/* 33A70 80058670 02068021 */ addu $s0, $s0, $a2 +/* 33A74 80058674 24020008 */ addiu $v0, $zero, 8 +/* 33A78 80058678 080161A1 */ j .L80058684 +/* 33A7C 8005867C 00432823 */ subu $a1, $v0, $v1 +.L80058680: +/* 33A80 80058680 0000282D */ daddu $a1, $zero, $zero +.L80058684: +/* 33A84 80058684 26310008 */ addiu $s1, $s1, 8 +/* 33A88 80058688 26D60008 */ addiu $s6, $s6, 8 +/* 33A8C 8005868C 32020007 */ andi $v0, $s0, 7 +/* 33A90 80058690 2442FFF8 */ addiu $v0, $v0, -8 +/* 33A94 80058694 02021023 */ subu $v0, $s0, $v0 +/* 33A98 80058698 30420FFF */ andi $v0, $v0, 0xfff +/* 33A9C 8005869C 00021300 */ sll $v0, $v0, 0xc +/* 33AA0 800586A0 02A51821 */ addu $v1, $s5, $a1 +/* 33AA4 800586A4 30630FFF */ andi $v1, $v1, 0xfff +/* 33AA8 800586A8 3C040400 */ lui $a0, 0x400 +/* 33AAC 800586AC 00641825 */ or $v1, $v1, $a0 +/* 33AB0 800586B0 00431025 */ or $v0, $v0, $v1 +/* 33AB4 800586B4 AE22FFFC */ sw $v0, -4($s1) +/* 33AB8 800586B8 00E61023 */ subu $v0, $a3, $a2 +/* 33ABC 800586BC 14C00003 */ bnez $a2, .L800586CC +/* 33AC0 800586C0 AE220000 */ sw $v0, ($s1) +/* 33AC4 800586C4 10A00011 */ beqz $a1, .L8005870C +/* 33AC8 800586C8 0274102A */ slt $v0, $s3, $s4 +.L800586CC: +/* 33ACC 800586CC 26310008 */ addiu $s1, $s1, 8 +/* 33AD0 800586D0 26D60008 */ addiu $s6, $s6, 8 +/* 33AD4 800586D4 3C0300FF */ lui $v1, 0xff +/* 33AD8 800586D8 3463FFFF */ ori $v1, $v1, 0xffff +/* 33ADC 800586DC 02A61021 */ addu $v0, $s5, $a2 +/* 33AE0 800586E0 00451021 */ addu $v0, $v0, $a1 +/* 33AE4 800586E4 00431024 */ and $v0, $v0, $v1 +/* 33AE8 800586E8 3C030A00 */ lui $v1, 0xa00 +/* 33AEC 800586EC 00431025 */ or $v0, $v0, $v1 +/* 33AF0 800586F0 00151C00 */ sll $v1, $s5, 0x10 +/* 33AF4 800586F4 AE22FFFC */ sw $v0, -4($s1) +/* 33AF8 800586F8 00131040 */ sll $v0, $s3, 1 +/* 33AFC 800586FC 3042FFFF */ andi $v0, $v0, 0xffff +/* 33B00 80058700 00621825 */ or $v1, $v1, $v0 +/* 33B04 80058704 AE230000 */ sw $v1, ($s1) +/* 33B08 80058708 0274102A */ slt $v0, $s3, $s4 +.L8005870C: +/* 33B0C 8005870C 1440FFBD */ bnez $v0, .L80058604 +/* 33B10 80058710 00131040 */ sll $v0, $s3, 1 +.L80058714: +/* 33B14 80058714 8E420024 */ lw $v0, 0x24($s2) +/* 33B18 80058718 00541021 */ addu $v0, $v0, $s4 +/* 33B1C 8005871C AE420024 */ sw $v0, 0x24($s2) +/* 33B20 80058720 8E420030 */ lw $v0, 0x30($s2) +/* 33B24 80058724 00141840 */ sll $v1, $s4, 1 +/* 33B28 80058728 00431021 */ addu $v0, $v0, $v1 +/* 33B2C 8005872C 08016212 */ j .L80058848 +/* 33B30 80058730 AE420030 */ sw $v0, 0x30($s2) +.L80058734: +/* 33B34 80058734 8E440014 */ lw $a0, 0x14($s2) +/* 33B38 80058738 8E430030 */ lw $v1, 0x30($s2) +/* 33B3C 8005873C 8C820000 */ lw $v0, ($a0) +/* 33B40 80058740 8C840004 */ lw $a0, 4($a0) +/* 33B44 80058744 00701821 */ addu $v1, $v1, $s0 +/* 33B48 80058748 00441021 */ addu $v0, $v0, $a0 +/* 33B4C 8005874C 00628823 */ subu $s1, $v1, $v0 +/* 33B50 80058750 5E200002 */ bgtzl $s1, .L8005875C +/* 33B54 80058754 AEE00028 */ sw $zero, 0x28($s7) +/* 33B58 80058758 0000882D */ daddu $s1, $zero, $zero +.L8005875C: +/* 33B5C 8005875C 0211102A */ slt $v0, $s0, $s1 +/* 33B60 80058760 54400001 */ bnel $v0, $zero, .L80058768 +/* 33B64 80058764 0200882D */ daddu $s1, $s0, $zero +.L80058768: +/* 33B68 80058768 0230102A */ slt $v0, $s1, $s0 +/* 33B6C 8005876C 10400021 */ beqz $v0, .L800587F4 +/* 33B70 80058770 00000000 */ nop +/* 33B74 80058774 1A80001A */ blez $s4, .L800587E0 +/* 33B78 80058778 02118023 */ subu $s0, $s0, $s1 +/* 33B7C 8005877C 8E440030 */ lw $a0, 0x30($s2) +/* 33B80 80058780 8E420014 */ lw $v0, 0x14($s2) +/* 33B84 80058784 8E460020 */ lw $a2, 0x20($s2) +/* 33B88 80058788 90470025 */ lbu $a3, 0x25($v0) +/* 33B8C 8005878C 8E42001C */ lw $v0, 0x1c($s2) +/* 33B90 80058790 0040F809 */ jalr $v0 +/* 33B94 80058794 0200282D */ daddu $a1, $s0, $zero +/* 33B98 80058798 0040382D */ daddu $a3, $v0, $zero +/* 33B9C 8005879C 30E60007 */ andi $a2, $a3, 7 +/* 33BA0 800587A0 02068021 */ addu $s0, $s0, $a2 +/* 33BA4 800587A4 02C0282D */ daddu $a1, $s6, $zero +/* 33BA8 800587A8 26D60008 */ addiu $s6, $s6, 8 +/* 33BAC 800587AC 32020007 */ andi $v0, $s0, 7 +/* 33BB0 800587B0 2442FFF8 */ addiu $v0, $v0, -8 +/* 33BB4 800587B4 02021023 */ subu $v0, $s0, $v0 +/* 33BB8 800587B8 30420FFF */ andi $v0, $v0, 0xfff +/* 33BBC 800587BC 00021300 */ sll $v0, $v0, 0xc +/* 33BC0 800587C0 33C30FFF */ andi $v1, $fp, 0xfff +/* 33BC4 800587C4 3C040400 */ lui $a0, 0x400 +/* 33BC8 800587C8 00641825 */ or $v1, $v1, $a0 +/* 33BCC 800587CC 00431025 */ or $v0, $v0, $v1 +/* 33BD0 800587D0 ACA20000 */ sw $v0, ($a1) +/* 33BD4 800587D4 00E61023 */ subu $v0, $a3, $a2 +/* 33BD8 800587D8 080161F9 */ j .L800587E4 +/* 33BDC 800587DC ACA20004 */ sw $v0, 4($a1) +.L800587E0: +/* 33BE0 800587E0 0000302D */ daddu $a2, $zero, $zero +.L800587E4: +/* 33BE4 800587E4 8E420024 */ lw $v0, 0x24($s2) +/* 33BE8 800587E8 03C6F021 */ addu $fp, $fp, $a2 +/* 33BEC 800587EC 00541021 */ addu $v0, $v0, $s4 +/* 33BF0 800587F0 AE420024 */ sw $v0, 0x24($s2) +.L800587F4: +/* 33BF4 800587F4 8E420030 */ lw $v0, 0x30($s2) +/* 33BF8 800587F8 00141840 */ sll $v1, $s4, 1 +/* 33BFC 800587FC 00431021 */ addu $v0, $v0, $v1 +/* 33C00 80058800 12200011 */ beqz $s1, .L80058848 +/* 33C04 80058804 AE420030 */ sw $v0, 0x30($s2) +/* 33C08 80058808 00141040 */ sll $v0, $s4, 1 +/* 33C0C 8005880C 00512823 */ subu $a1, $v0, $s1 +/* 33C10 80058810 04A20001 */ bltzl $a1, .L80058818 +/* 33C14 80058814 0000282D */ daddu $a1, $zero, $zero +.L80058818: +/* 33C18 80058818 02C0202D */ daddu $a0, $s6, $zero +/* 33C1C 8005881C 26D60008 */ addiu $s6, $s6, 8 +/* 33C20 80058820 3C0300FF */ lui $v1, 0xff +/* 33C24 80058824 3463FFFF */ ori $v1, $v1, 0xffff +/* 33C28 80058828 001E1400 */ sll $v0, $fp, 0x10 +/* 33C2C 8005882C 00021403 */ sra $v0, $v0, 0x10 +/* 33C30 80058830 00A21021 */ addu $v0, $a1, $v0 +/* 33C34 80058834 00431024 */ and $v0, $v0, $v1 +/* 33C38 80058838 3C030200 */ lui $v1, 0x200 +/* 33C3C 8005883C 00431025 */ or $v0, $v0, $v1 +/* 33C40 80058840 AC820000 */ sw $v0, ($a0) +/* 33C44 80058844 AC910004 */ sw $s1, 4($a0) +.L80058848: +/* 33C48 80058848 8FA80020 */ lw $t0, 0x20($sp) +/* 33C4C 8005884C 3C014700 */ lui $at, 0x4700 +/* 33C50 80058850 44811000 */ mtc1 $at, $f2 +/* 33C54 80058854 C5000004 */ lwc1 $f0, 4($t0) +/* 33C58 80058858 46020002 */ mul.s $f0, $f0, $f2 +/* 33C5C 8005885C 00000000 */ nop +/* 33C60 80058860 8D040000 */ lw $a0, ($t0) +/* 33C64 80058864 4600018D */ trunc.w.s $f6, $f0 +/* 33C68 80058868 44103000 */ mfc1 $s0, $f6 +/* 33C6C 8005886C 0C0187A4 */ jal osVirtualToPhysical +/* 33C70 80058870 3210FFFF */ andi $s0, $s0, 0xffff +/* 33C74 80058874 3C0300FF */ lui $v1, 0xff +/* 33C78 80058878 3463FFFF */ ori $v1, $v1, 0xffff +/* 33C7C 8005887C 02C0202D */ daddu $a0, $s6, $zero +/* 33C80 80058880 00431024 */ and $v0, $v0, $v1 +/* 33C84 80058884 3C030500 */ lui $v1, 0x500 +/* 33C88 80058888 00431025 */ or $v0, $v0, $v1 +/* 33C8C 8005888C 00108380 */ sll $s0, $s0, 0xe +/* 33C90 80058890 AC820000 */ sw $v0, ($a0) +/* 33C94 80058894 8FA80020 */ lw $t0, 0x20($sp) +/* 33C98 80058898 33C20FFF */ andi $v0, $fp, 0xfff +/* 33C9C 8005889C 8D03000C */ lw $v1, 0xc($t0) +/* 33CA0 800588A0 00021080 */ sll $v0, $v0, 2 +/* 33CA4 800588A4 00031F80 */ sll $v1, $v1, 0x1e +/* 33CA8 800588A8 00701825 */ or $v1, $v1, $s0 +/* 33CAC 800588AC 00621825 */ or $v1, $v1, $v0 +/* 33CB0 800588B0 AC830004 */ sw $v1, 4($a0) +/* 33CB4 800588B4 AD00000C */ sw $zero, 0xc($t0) +/* 33CB8 800588B8 8EE20024 */ lw $v0, 0x24($s7) +/* 33CBC 800588BC 10400069 */ beqz $v0, .L80058A64 +/* 33CC0 800588C0 26D60008 */ addiu $s6, $s6, 8 +/* 33CC4 800588C4 3C028008 */ lui $v0, %hi(D_80078181) +/* 33CC8 800588C8 24428181 */ addiu $v0, $v0, %lo(D_80078181) +/* 33CCC 800588CC 90420000 */ lbu $v0, ($v0) +/* 33CD0 800588D0 1440000C */ bnez $v0, .L80058904 +/* 33CD4 800588D4 AEE00024 */ sw $zero, 0x24($s7) +/* 33CD8 800588D8 3C048008 */ lui $a0, %hi(D_80078E60) +/* 33CDC 800588DC 24848E60 */ addiu $a0, $a0, %lo(D_80078E60) +/* 33CE0 800588E0 86E30006 */ lh $v1, 6($s7) +/* 33CE4 800588E4 84820080 */ lh $v0, 0x80($a0) +/* 33CE8 800588E8 00620018 */ mult $v1, $v0 +/* 33CEC 800588EC 00004012 */ mflo $t0 +/* 33CF0 800588F0 000813C3 */ sra $v0, $t0, 0xf +/* 33CF4 800588F4 A6E20014 */ sh $v0, 0x14($s7) +/* 33CF8 800588F8 84820080 */ lh $v0, 0x80($a0) +/* 33CFC 800588FC 08016254 */ j .L80058950 +/* 33D00 80058900 00620018 */ mult $v1, $v0 +.L80058904: +/* 33D04 80058904 86E20004 */ lh $v0, 4($s7) +/* 33D08 80058908 86E30006 */ lh $v1, 6($s7) +/* 33D0C 8005890C 00021040 */ sll $v0, $v0, 1 +/* 33D10 80058910 3C018008 */ lui $at, %hi(D_80078E60) +/* 33D14 80058914 00220821 */ addu $at, $at, $v0 +/* 33D18 80058918 84228E60 */ lh $v0, %lo(D_80078E60)($at) +/* 33D1C 8005891C 00620018 */ mult $v1, $v0 +/* 33D20 80058920 86E30004 */ lh $v1, 4($s7) +/* 33D24 80058924 00004012 */ mflo $t0 +/* 33D28 80058928 000813C3 */ sra $v0, $t0, 0xf +/* 33D2C 8005892C A6E20014 */ sh $v0, 0x14($s7) +/* 33D30 80058930 2402007F */ addiu $v0, $zero, 0x7f +/* 33D34 80058934 00431023 */ subu $v0, $v0, $v1 +/* 33D38 80058938 00021040 */ sll $v0, $v0, 1 +/* 33D3C 8005893C 86E30006 */ lh $v1, 6($s7) +/* 33D40 80058940 3C018008 */ lui $at, %hi(D_80078E60) +/* 33D44 80058944 00220821 */ addu $at, $at, $v0 +/* 33D48 80058948 84228E60 */ lh $v0, %lo(D_80078E60)($at) +/* 33D4C 8005894C 00620018 */ mult $v1, $v0 +.L80058950: +/* 33D50 80058950 00004012 */ mflo $t0 +/* 33D54 80058954 000813C3 */ sra $v0, $t0, 0xf +/* 33D58 80058958 A6E2001A */ sh $v0, 0x1a($s7) +/* 33D5C 8005895C 86E30008 */ lh $v1, 8($s7) +/* 33D60 80058960 86E40014 */ lh $a0, 0x14($s7) +/* 33D64 80058964 8EE50020 */ lw $a1, 0x20($s7) +/* 33D68 80058968 26E20010 */ addiu $v0, $s7, 0x10 +/* 33D6C 8005896C AFA20014 */ sw $v0, 0x14($sp) +/* 33D70 80058970 44836000 */ mtc1 $v1, $f12 +/* 33D74 80058974 00000000 */ nop +/* 33D78 80058978 46806321 */ cvt.d.w $f12, $f12 +/* 33D7C 8005897C 44847000 */ mtc1 $a0, $f14 +/* 33D80 80058980 00000000 */ nop +/* 33D84 80058984 468073A1 */ cvt.d.w $f14, $f14 +/* 33D88 80058988 0C01631B */ jal func_80058C6C +/* 33D8C 8005898C AFA50010 */ sw $a1, 0x10($sp) +/* 33D90 80058990 86E3000A */ lh $v1, 0xa($s7) +/* 33D94 80058994 86E4001A */ lh $a0, 0x1a($s7) +/* 33D98 80058998 8EE50020 */ lw $a1, 0x20($s7) +/* 33D9C 8005899C A6E20012 */ sh $v0, 0x12($s7) +/* 33DA0 800589A0 26E20016 */ addiu $v0, $s7, 0x16 +/* 33DA4 800589A4 AFA20014 */ sw $v0, 0x14($sp) +/* 33DA8 800589A8 44836000 */ mtc1 $v1, $f12 +/* 33DAC 800589AC 00000000 */ nop +/* 33DB0 800589B0 46806321 */ cvt.d.w $f12, $f12 +/* 33DB4 800589B4 44847000 */ mtc1 $a0, $f14 +/* 33DB8 800589B8 00000000 */ nop +/* 33DBC 800589BC 468073A1 */ cvt.d.w $f14, $f14 +/* 33DC0 800589C0 0C01631B */ jal func_80058C6C +/* 33DC4 800589C4 AFA50010 */ sw $a1, 0x10($sp) +/* 33DC8 800589C8 02C0202D */ daddu $a0, $s6, $zero +/* 33DCC 800589CC 26D60008 */ addiu $s6, $s6, 8 +/* 33DD0 800589D0 02C0282D */ daddu $a1, $s6, $zero +/* 33DD4 800589D4 26D60008 */ addiu $s6, $s6, 8 +/* 33DD8 800589D8 02C0302D */ daddu $a2, $s6, $zero +/* 33DDC 800589DC 26D60008 */ addiu $s6, $s6, 8 +/* 33DE0 800589E0 3C030900 */ lui $v1, 0x900 +/* 33DE4 800589E4 A6E20018 */ sh $v0, 0x18($s7) +/* 33DE8 800589E8 96E20014 */ lhu $v0, 0x14($s7) +/* 33DEC 800589EC 02C0802D */ daddu $s0, $s6, $zero +/* 33DF0 800589F0 00431025 */ or $v0, $v0, $v1 +/* 33DF4 800589F4 AC820000 */ sw $v0, ($a0) +/* 33DF8 800589F8 96E20012 */ lhu $v0, 0x12($s7) +/* 33DFC 800589FC 96E30010 */ lhu $v1, 0x10($s7) +/* 33E00 80058A00 00021400 */ sll $v0, $v0, 0x10 +/* 33E04 80058A04 00431025 */ or $v0, $v0, $v1 +/* 33E08 80058A08 AC820004 */ sw $v0, 4($a0) +/* 33E0C 80058A0C 96E20008 */ lhu $v0, 8($s7) +/* 33E10 80058A10 3C030906 */ lui $v1, 0x906 +/* 33E14 80058A14 00431025 */ or $v0, $v0, $v1 +/* 33E18 80058A18 ACA20000 */ sw $v0, ($a1) +/* 33E1C 80058A1C 96E2000C */ lhu $v0, 0xc($s7) +/* 33E20 80058A20 96E3000E */ lhu $v1, 0xe($s7) +/* 33E24 80058A24 00021400 */ sll $v0, $v0, 0x10 +/* 33E28 80058A28 00431025 */ or $v0, $v0, $v1 +/* 33E2C 80058A2C ACA20004 */ sw $v0, 4($a1) +/* 33E30 80058A30 96E2001A */ lhu $v0, 0x1a($s7) +/* 33E34 80058A34 3C030904 */ lui $v1, 0x904 +/* 33E38 80058A38 00431025 */ or $v0, $v0, $v1 +/* 33E3C 80058A3C ACC20000 */ sw $v0, ($a2) +/* 33E40 80058A40 96E20018 */ lhu $v0, 0x18($s7) +/* 33E44 80058A44 96E30016 */ lhu $v1, 0x16($s7) +/* 33E48 80058A48 00021400 */ sll $v0, $v0, 0x10 +/* 33E4C 80058A4C 00431025 */ or $v0, $v0, $v1 +/* 33E50 80058A50 ACC20004 */ sw $v0, 4($a2) +/* 33E54 80058A54 96E2000A */ lhu $v0, 0xa($s7) +/* 33E58 80058A58 3C030301 */ lui $v1, 0x301 +/* 33E5C 80058A5C 0801629B */ j .L80058A6C +/* 33E60 80058A60 00431025 */ or $v0, $v0, $v1 +.L80058A64: +/* 33E64 80058A64 02C0802D */ daddu $s0, $s6, $zero +/* 33E68 80058A68 3C020300 */ lui $v0, 0x300 +.L80058A6C: +/* 33E6C 80058A6C AE020000 */ sw $v0, ($s0) +/* 33E70 80058A70 8EE40000 */ lw $a0, ($s7) +/* 33E74 80058A74 0C0187A4 */ jal osVirtualToPhysical +/* 33E78 80058A78 26D60008 */ addiu $s6, $s6, 8 +/* 33E7C 80058A7C AE020004 */ sw $v0, 4($s0) +/* 33E80 80058A80 8EE2001C */ lw $v0, 0x1c($s7) +/* 33E84 80058A84 8EE30020 */ lw $v1, 0x20($s7) +/* 33E88 80058A88 244200B8 */ addiu $v0, $v0, 0xb8 +/* 33E8C 80058A8C AEE2001C */ sw $v0, 0x1c($s7) +/* 33E90 80058A90 0062102A */ slt $v0, $v1, $v0 +/* 33E94 80058A94 54400001 */ bnel $v0, $zero, .L80058A9C +/* 33E98 80058A98 AEE3001C */ sw $v1, 0x1c($s7) +.L80058A9C: +/* 33E9C 80058A9C 8EE20028 */ lw $v0, 0x28($s7) +/* 33EA0 80058AA0 14400013 */ bnez $v0, .L80058AF0 +/* 33EA4 80058AA4 02C0102D */ daddu $v0, $s6, $zero +/* 33EA8 80058AA8 24020001 */ addiu $v0, $zero, 1 +/* 33EAC 80058AAC AEE20024 */ sw $v0, 0x24($s7) +/* 33EB0 80058AB0 A6E20006 */ sh $v0, 6($s7) +/* 33EB4 80058AB4 8FA80020 */ lw $t0, 0x20($sp) +/* 33EB8 80058AB8 AD000008 */ sw $zero, 8($t0) +/* 33EBC 80058ABC AD02000C */ sw $v0, 0xc($t0) +/* 33EC0 80058AC0 8E430014 */ lw $v1, 0x14($s2) +/* 33EC4 80058AC4 AE400028 */ sw $zero, 0x28($s2) +/* 33EC8 80058AC8 AE42002C */ sw $v0, 0x2c($s2) +/* 33ECC 80058ACC AE400024 */ sw $zero, 0x24($s2) +/* 33ED0 80058AD0 8C620000 */ lw $v0, ($v1) +/* 33ED4 80058AD4 AE420030 */ sw $v0, 0x30($s2) +/* 33ED8 80058AD8 8C620014 */ lw $v0, 0x14($v1) +/* 33EDC 80058ADC AE420010 */ sw $v0, 0x10($s2) +/* 33EE0 80058AE0 8FA80060 */ lw $t0, 0x60($sp) +/* 33EE4 80058AE4 0C014B8C */ jal func_80052E30 +/* 33EE8 80058AE8 91040079 */ lbu $a0, 0x79($t0) +.L80058AEC: +/* 33EEC 80058AEC 02C0102D */ daddu $v0, $s6, $zero +.L80058AF0: +/* 33EF0 80058AF0 8FBF005C */ lw $ra, 0x5c($sp) +/* 33EF4 80058AF4 8FBE0058 */ lw $fp, 0x58($sp) +/* 33EF8 80058AF8 8FB70054 */ lw $s7, 0x54($sp) +/* 33EFC 80058AFC 8FB60050 */ lw $s6, 0x50($sp) +/* 33F00 80058B00 8FB5004C */ lw $s5, 0x4c($sp) +/* 33F04 80058B04 8FB40048 */ lw $s4, 0x48($sp) +/* 33F08 80058B08 8FB30044 */ lw $s3, 0x44($sp) +/* 33F0C 80058B0C 8FB20040 */ lw $s2, 0x40($sp) +/* 33F10 80058B10 8FB1003C */ lw $s1, 0x3c($sp) +/* 33F14 80058B14 8FB00038 */ lw $s0, 0x38($sp) +/* 33F18 80058B18 03E00008 */ jr $ra +/* 33F1C 80058B1C 27BD0060 */ addiu $sp, $sp, 0x60 diff --git a/asm/nonmatchings/code_31650/func_80058B20.s b/asm/nonmatchings/code_31650/func_80058B20.s new file mode 100644 index 0000000000..07bc6ae0a5 --- /dev/null +++ b/asm/nonmatchings/code_31650/func_80058B20.s @@ -0,0 +1,90 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80058B20 +/* 33F20 80058B20 27BDFFD0 */ addiu $sp, $sp, -0x30 +/* 33F24 80058B24 AFB3001C */ sw $s3, 0x1c($sp) +/* 33F28 80058B28 8FB30044 */ lw $s3, 0x44($sp) +/* 33F2C 80058B2C AFB50024 */ sw $s5, 0x24($sp) +/* 33F30 80058B30 8FB50048 */ lw $s5, 0x48($sp) +/* 33F34 80058B34 AFB40020 */ sw $s4, 0x20($sp) +/* 33F38 80058B38 97B40042 */ lhu $s4, 0x42($sp) +/* 33F3C 80058B3C AFB10014 */ sw $s1, 0x14($sp) +/* 33F40 80058B40 0080882D */ daddu $s1, $a0, $zero +/* 33F44 80058B44 AFB20018 */ sw $s2, 0x18($sp) +/* 33F48 80058B48 00A0902D */ daddu $s2, $a1, $zero +/* 33F4C 80058B4C AFB60028 */ sw $s6, 0x28($sp) +/* 33F50 80058B50 00C0B02D */ daddu $s6, $a2, $zero +/* 33F54 80058B54 AFB00010 */ sw $s0, 0x10($sp) +/* 33F58 80058B58 00E0802D */ daddu $s0, $a3, $zero +/* 33F5C 80058B5C 1A000019 */ blez $s0, .L80058BC4 +/* 33F60 80058B60 AFBF002C */ sw $ra, 0x2c($sp) +/* 33F64 80058B64 8E430014 */ lw $v1, 0x14($s2) +/* 33F68 80058B68 8E42001C */ lw $v0, 0x1c($s2) +/* 33F6C 80058B6C 8E440030 */ lw $a0, 0x30($s2) +/* 33F70 80058B70 8E460020 */ lw $a2, 0x20($s2) +/* 33F74 80058B74 90670025 */ lbu $a3, 0x25($v1) +/* 33F78 80058B78 0040F809 */ jalr $v0 +/* 33F7C 80058B7C 0200282D */ daddu $a1, $s0, $zero +/* 33F80 80058B80 30480007 */ andi $t0, $v0, 7 +/* 33F84 80058B84 02088021 */ addu $s0, $s0, $t0 +/* 33F88 80058B88 0220302D */ daddu $a2, $s1, $zero +/* 33F8C 80058B8C 26310008 */ addiu $s1, $s1, 8 +/* 33F90 80058B90 32030007 */ andi $v1, $s0, 7 +/* 33F94 80058B94 2463FFF8 */ addiu $v1, $v1, -8 +/* 33F98 80058B98 02031823 */ subu $v1, $s0, $v1 +/* 33F9C 80058B9C 30630FFF */ andi $v1, $v1, 0xfff +/* 33FA0 80058BA0 00031B00 */ sll $v1, $v1, 0xc +/* 33FA4 80058BA4 32640FFF */ andi $a0, $s3, 0xfff +/* 33FA8 80058BA8 3C050400 */ lui $a1, 0x400 +/* 33FAC 80058BAC 00852025 */ or $a0, $a0, $a1 +/* 33FB0 80058BB0 00641825 */ or $v1, $v1, $a0 +/* 33FB4 80058BB4 00481023 */ subu $v0, $v0, $t0 +/* 33FB8 80058BB8 ACC30000 */ sw $v1, ($a2) +/* 33FBC 80058BBC 080162F2 */ j .L80058BC8 +/* 33FC0 80058BC0 ACC20004 */ sw $v0, 4($a2) +.L80058BC4: +/* 33FC4 80058BC4 0000402D */ daddu $t0, $zero, $zero +.L80058BC8: +/* 33FC8 80058BC8 32A20002 */ andi $v0, $s5, 2 +/* 33FCC 80058BCC 10400009 */ beqz $v0, .L80058BF4 +/* 33FD0 80058BD0 0220202D */ daddu $a0, $s1, $zero +/* 33FD4 80058BD4 26310008 */ addiu $s1, $s1, 8 +/* 33FD8 80058BD8 3C031FFF */ lui $v1, 0x1fff +/* 33FDC 80058BDC 3C020F00 */ lui $v0, 0xf00 +/* 33FE0 80058BE0 AC820000 */ sw $v0, ($a0) +/* 33FE4 80058BE4 8E420004 */ lw $v0, 4($s2) +/* 33FE8 80058BE8 3463FFFF */ ori $v1, $v1, 0xffff +/* 33FEC 80058BEC 00431024 */ and $v0, $v0, $v1 +/* 33FF0 80058BF0 AC820004 */ sw $v0, 4($a0) +.L80058BF4: +/* 33FF4 80058BF4 3C0700FF */ lui $a3, 0xff +/* 33FF8 80058BF8 34E7FFFF */ ori $a3, $a3, 0xffff +/* 33FFC 80058BFC 26220008 */ addiu $v0, $s1, 8 +/* 34000 80058C00 0220302D */ daddu $a2, $s1, $zero +/* 34004 80058C04 00152700 */ sll $a0, $s5, 0x1c +/* 34008 80058C08 00161840 */ sll $v1, $s6, 1 +/* 3400C 80058C0C 30630FFF */ andi $v1, $v1, 0xfff +/* 34010 80058C10 00031C00 */ sll $v1, $v1, 0x10 +/* 34014 80058C14 00832025 */ or $a0, $a0, $v1 +/* 34018 80058C18 00081B00 */ sll $v1, $t0, 0xc +/* 3401C 80058C1C 00832025 */ or $a0, $a0, $v1 +/* 34020 80058C20 32850FFF */ andi $a1, $s4, 0xfff +/* 34024 80058C24 8E430000 */ lw $v1, ($s2) +/* 34028 80058C28 00852025 */ or $a0, $a0, $a1 +/* 3402C 80058C2C ACC40004 */ sw $a0, 4($a2) +/* 34030 80058C30 3C040100 */ lui $a0, 0x100 +/* 34034 80058C34 00671824 */ and $v1, $v1, $a3 +/* 34038 80058C38 00641825 */ or $v1, $v1, $a0 +/* 3403C 80058C3C ACC30000 */ sw $v1, ($a2) +/* 34040 80058C40 AE40002C */ sw $zero, 0x2c($s2) +/* 34044 80058C44 8FBF002C */ lw $ra, 0x2c($sp) +/* 34048 80058C48 8FB60028 */ lw $s6, 0x28($sp) +/* 3404C 80058C4C 8FB50024 */ lw $s5, 0x24($sp) +/* 34050 80058C50 8FB40020 */ lw $s4, 0x20($sp) +/* 34054 80058C54 8FB3001C */ lw $s3, 0x1c($sp) +/* 34058 80058C58 8FB20018 */ lw $s2, 0x18($sp) +/* 3405C 80058C5C 8FB10014 */ lw $s1, 0x14($sp) +/* 34060 80058C60 8FB00010 */ lw $s0, 0x10($sp) +/* 34064 80058C64 03E00008 */ jr $ra +/* 34068 80058C68 27BD0030 */ addiu $sp, $sp, 0x30 diff --git a/asm/nonmatchings/code_31650/func_80058C6C.s b/asm/nonmatchings/code_31650/func_80058C6C.s new file mode 100644 index 0000000000..fbc8587270 --- /dev/null +++ b/asm/nonmatchings/code_31650/func_80058C6C.s @@ -0,0 +1,99 @@ +.set noat # allow manual use of $at +.set noreorder # don't insert nops after branches + +glabel func_80058C6C +/* 3406C 80058C6C 8FA20010 */ lw $v0, 0x10($sp) +/* 34070 80058C70 1440000B */ bnez $v0, .L80058CA0 +/* 34074 80058C74 8FA50014 */ lw $a1, 0x14($sp) +/* 34078 80058C78 462E603E */ c.le.d $f12, $f14 +/* 3407C 80058C7C 00000000 */ nop +/* 34080 80058C80 45020005 */ bc1fl .L80058C98 +/* 34084 80058C84 A4A00000 */ sh $zero, ($a1) +/* 34088 80058C88 3402FFFF */ ori $v0, $zero, 0xffff +/* 3408C 80058C8C A4A20000 */ sh $v0, ($a1) +/* 34090 80058C90 03E00008 */ jr $ra +/* 34094 80058C94 24027FFF */ addiu $v0, $zero, 0x7fff +.L80058C98: +/* 34098 80058C98 03E00008 */ jr $ra +/* 3409C 80058C9C 0000102D */ daddu $v0, $zero, $zero +.L80058CA0: +/* 340A0 80058CA0 3C013FF0 */ lui $at, 0x3ff0 +/* 340A4 80058CA4 44812800 */ mtc1 $at, $f5 +/* 340A8 80058CA8 44802000 */ mtc1 $zero, $f4 +/* 340AC 80058CAC 44820000 */ mtc1 $v0, $f0 +/* 340B0 80058CB0 00000000 */ nop +/* 340B4 80058CB4 46800021 */ cvt.d.w $f0, $f0 +/* 340B8 80058CB8 4624703C */ c.lt.d $f14, $f4 +/* 340BC 80058CBC 00000000 */ nop +/* 340C0 80058CC0 45000002 */ bc1f .L80058CCC +/* 340C4 80058CC4 46202083 */ div.d $f2, $f4, $f0 +/* 340C8 80058CC8 46202386 */ mov.d $f14, $f4 +.L80058CCC: +/* 340CC 80058CCC 44800000 */ mtc1 $zero, $f0 +/* 340D0 80058CD0 44800800 */ mtc1 $zero, $f1 +/* 340D4 80058CD4 00000000 */ nop +/* 340D8 80058CD8 4620603E */ c.le.d $f12, $f0 +/* 340DC 80058CDC 00000000 */ nop +/* 340E0 80058CE0 45030001 */ bc1tl .L80058CE8 +/* 340E4 80058CE4 46202306 */ mov.d $f12, $f4 +.L80058CE8: +/* 340E8 80058CE8 462C7001 */ sub.d $f0, $f14, $f12 +/* 340EC 80058CEC 46220002 */ mul.d $f0, $f0, $f2 +/* 340F0 80058CF0 00000000 */ nop +/* 340F4 80058CF4 3C014020 */ lui $at, 0x4020 +/* 340F8 80058CF8 44811800 */ mtc1 $at, $f3 +/* 340FC 80058CFC 44801000 */ mtc1 $zero, $f2 +/* 34100 80058D00 00000000 */ nop +/* 34104 80058D04 46220002 */ mul.d $f0, $f0, $f2 +/* 34108 80058D08 00000000 */ nop +/* 3410C 80058D0C 4620018D */ trunc.w.d $f6, $f0 +/* 34110 80058D10 44033000 */ mfc1 $v1, $f6 +/* 34114 80058D14 00000000 */ nop +/* 34118 80058D18 00031400 */ sll $v0, $v1, 0x10 +/* 3411C 80058D1C 00021403 */ sra $v0, $v0, 0x10 +/* 34120 80058D20 44821000 */ mtc1 $v0, $f2 +/* 34124 80058D24 00000000 */ nop +/* 34128 80058D28 468010A1 */ cvt.d.w $f2, $f2 +/* 3412C 80058D2C 46220001 */ sub.d $f0, $f0, $f2 +/* 34130 80058D30 46240000 */ add.d $f0, $f0, $f4 +/* 34134 80058D34 4620018D */ trunc.w.d $f6, $f0 +/* 34138 80058D38 44043000 */ mfc1 $a0, $f6 +/* 3413C 80058D3C 00000000 */ nop +/* 34140 80058D40 00041400 */ sll $v0, $a0, 0x10 +/* 34144 80058D44 00021403 */ sra $v0, $v0, 0x10 +/* 34148 80058D48 44821000 */ mtc1 $v0, $f2 +/* 3414C 80058D4C 00000000 */ nop +/* 34150 80058D50 468010A1 */ cvt.d.w $f2, $f2 +/* 34154 80058D54 46220001 */ sub.d $f0, $f0, $f2 +/* 34158 80058D58 3C01800A */ lui $at, %hi(D_80098938) +/* 3415C 80058D5C D4228938 */ ldc1 $f2, %lo(D_80098938)($at) +/* 34160 80058D60 46220002 */ mul.d $f0, $f0, $f2 +/* 34164 80058D64 00000000 */ nop +/* 34168 80058D68 2463FFFF */ addiu $v1, $v1, -1 +/* 3416C 80058D6C 3C0141E0 */ lui $at, 0x41e0 +/* 34170 80058D70 44811800 */ mtc1 $at, $f3 +/* 34174 80058D74 44801000 */ mtc1 $zero, $f2 +/* 34178 80058D78 00000000 */ nop +/* 3417C 80058D7C 4620103E */ c.le.d $f2, $f0 +/* 34180 80058D80 00000000 */ nop +/* 34184 80058D84 45010005 */ bc1t .L80058D9C +/* 34188 80058D88 00641821 */ addu $v1, $v1, $a0 +/* 3418C 80058D8C 4620018D */ trunc.w.d $f6, $f0 +/* 34190 80058D90 44043000 */ mfc1 $a0, $f6 +/* 34194 80058D94 0801636E */ j .L80058DB8 +/* 34198 80058D98 A4A40000 */ sh $a0, ($a1) +.L80058D9C: +/* 3419C 80058D9C 46220001 */ sub.d $f0, $f0, $f2 +/* 341A0 80058DA0 3C028000 */ lui $v0, 0x8000 +/* 341A4 80058DA4 4620018D */ trunc.w.d $f6, $f0 +/* 341A8 80058DA8 44043000 */ mfc1 $a0, $f6 +/* 341AC 80058DAC 00000000 */ nop +/* 341B0 80058DB0 00822025 */ or $a0, $a0, $v0 +/* 341B4 80058DB4 A4A40000 */ sh $a0, ($a1) +.L80058DB8: +/* 341B8 80058DB8 00031400 */ sll $v0, $v1, 0x10 +/* 341BC 80058DBC 03E00008 */ jr $ra +/* 341C0 80058DC0 00021403 */ sra $v0, $v0, 0x10 +/* 341C4 80058DC4 00000000 */ nop +/* 341C8 80058DC8 00000000 */ nop +/* 341CC 80058DCC 00000000 */ nop diff --git a/include/functions.h b/include/functions.h index e9a3be6e7b..fe2254e58a 100644 --- a/include/functions.h +++ b/include/functions.h @@ -71,7 +71,7 @@ s32 func_80055464(s32, s32); s32 func_800554A4(s32, s32); s32 func_800554E8(s32, s32); s32 func_800555E4(s32); -void func_800561A4(s16); +void func_800561A4(s32); s32 osGetId(); void set_curtain_scale_goal(f32 scale); diff --git a/src/audio.h b/src/audio.h index f1b28c5940..9fb462b19c 100644 --- a/src/audio.h +++ b/src/audio.h @@ -44,7 +44,9 @@ typedef struct UnkAl6CC { /* 0x0BA */ s16 unk_BA; /* 0x0BC */ char unk_BC[0x2]; /* 0x0BE */ u8 unk_BE; - /* 0x0BF */ char unk_BF[0x60D]; + /* 0x0BF */ char unk_BF[0xA9]; + /* 0x168 */ s32 unk_168; + /* 0x16C */ char unk_16C[0x560]; } UnkAl6CC; typedef struct UnkAlA9C { @@ -154,7 +156,9 @@ typedef struct UnkAl19E0 { /* 0x001C */ s32 unk_1C; /* 0x0020 */ UnkTemp2* unk_20; /* 0x0024 */ s32 unk_24; - /* 0x0028 */ char unk_28[0x14]; + /* 0x0028 */ char unk_28[0xC]; + /* 0x0034 */ s32 unk_34; + /* 0x0038 */ s32 unk_38; /* 0x003C */ UnkAl19E0Sub* unk_3C; /* 0x0040 */ UnkAl19E0Sub2 unk_40[4]; /* 0x0050 */ s8 unk_50; @@ -241,6 +245,10 @@ extern s32* D_80078190; extern s32* D_800781D0; extern s32* D_80078544; extern s32* D_80078DB0; + +extern s8 D_80078E58; +extern s16 D_80078E5A; + extern UnkAl19E0* D_8009A5C0; extern UnkAlA9C* D_8009A5CC; extern UnkAlA9C* D_8009A5FC; @@ -249,7 +257,10 @@ extern UnkAl834* D_8009A628; extern UnkAl6CC* D_8009A640; extern UnkAlA9C* D_8009A664; +void al_LoadBKHeaders(UnkAl19E0* arg0, ALHeap* arg1); + void func_8004B748(UnkAl6CC*); +void func_8004BA54(UnkAl6CC* arg0, s32 arg1); void func_8004D510(UnkAlA9C*); void func_8004DAA8(UnkStructFor8004DAA8* arg0); void func_800532F4(UnkAl30*); @@ -260,7 +271,9 @@ void func_80053A18(UnkStructFor80053A18* arg0); void func_80053A28(s32); void func_80053A98(s16 arg0, s32 arg1, s32 arg2); void func_80053BA8(UnkAl1*); +void func_80054CE0(s32, s32); void func_8005610C(void); +s16 func_80056D50(void); void func_80056D78(u8, u16); void func_800576EC(u8, s32, s32); diff --git a/src/code_26840_len_20d0.c b/src/code_26840_len_20d0.c index bab0205b46..2324838167 100644 --- a/src/code_26840_len_20d0.c +++ b/src/code_26840_len_20d0.c @@ -13,7 +13,7 @@ INCLUDE_ASM(void, "code_26840_len_20d0", func_8004B748, UnkAl6CC* arg0); INCLUDE_ASM(s32, "code_26840_len_20d0", func_8004B9E4); -INCLUDE_ASM(s32, "code_26840_len_20d0", func_8004BA54); +INCLUDE_ASM(void, "code_26840_len_20d0", func_8004BA54, UnkAl6CC* arg0, s32 arg1); INCLUDE_ASM(s32, "code_26840_len_20d0", func_8004BA74); diff --git a/src/code_2e230_len_2190.c b/src/code_2e230_len_2190.c index 0980f8a851..065ed12807 100644 --- a/src/code_2e230_len_2190.c +++ b/src/code_2e230_len_2190.c @@ -409,7 +409,7 @@ s32 func_80054C4C(s32 arg0, s32 arg1) { INCLUDE_ASM(s32, "code_2e230_len_2190", func_80054C84); -INCLUDE_ASM(s32, "code_2e230_len_2190", func_80054CE0); +INCLUDE_ASM(void, "code_2e230_len_2190", func_80054CE0, s32 arg0, s32 arg1); s32 func_80054D74(s32 arg0) { if (arg0 & 0x10) { diff --git a/src/code_303c0_len_3e10.c b/src/code_303c0_len_3e10.c index ece317290b..af0edc6bb4 100644 --- a/src/code_303c0_len_3e10.c +++ b/src/code_303c0_len_3e10.c @@ -1,11 +1,10 @@ #include "common.h" - #include "audio.h" // TODO: rodata extern u16 D_80078DB4; -INCLUDE_ASM(s32, "code_303c0_len_3e10", al_LoadBKHeaders); +INCLUDE_ASM(void, "code_303c0_len_3e10", al_LoadBKHeaders, UnkAl19E0* arg0, ALHeap* arg1); #ifdef NON_MATCHING // Delay slot (probably needs rodata) @@ -33,7 +32,9 @@ INCLUDE_ASM(s32, "code_303c0_len_3e10", func_80055330); INCLUDE_ASM(s32, "code_303c0_len_3e10", func_800553C0); -INCLUDE_ASM(s32, "code_303c0_len_3e10", func_800553F4); +void func_800553F4(void) { + D_8009A640->unk_168 = 1; +} INCLUDE_ASM(s32, "code_303c0_len_3e10", func_80055408); @@ -131,7 +132,9 @@ INCLUDE_ASM(s32, "code_303c0_len_3e10", func_80056068); INCLUDE_ASM(s32, "code_303c0_len_3e10", func_8005608C); -INCLUDE_ASM(s32, "code_303c0_len_3e10", func_800560A8); +void func_800560A8(void) { + D_8009A5C0->unk_9C = 1; +} INCLUDE_ASM(s32, "code_303c0_len_3e10", func_800560BC); @@ -139,109 +142,32 @@ INCLUDE_ASM(void, "code_303c0_len_3e10", func_8005610C, void); INCLUDE_ASM(s32, "code_303c0_len_3e10", func_80056144); -INCLUDE_ASM(s32, "code_303c0_len_3e10", func_8005615C); - -INCLUDE_ASM(s32, "code_303c0_len_3e10", func_80056180); - -INCLUDE_ASM(void, "code_303c0_len_3e10", func_800561A4, s16 arg0); - -INCLUDE_ASM(s32, "code_303c0_len_3e10", func_800561C4); - -INCLUDE_ASM(s32, "code_303c0_len_3e10", func_800561E4); - -INCLUDE_ASM(s32, "code_303c0_len_3e10", func_80056204); - -INCLUDE_ASM(s32, "code_303c0_len_3e10", func_80056228); - -INCLUDE_ASM(s32, "code_303c0_len_3e10", func_80056250); - -INCLUDE_ASM(s32, "code_303c0_len_3e10", func_800565A4); - -INCLUDE_ASM(Acmd*, "code_303c0_len_3e10", alAudioFrame, Acmd* cmdList, s32* cmdLen, s16* outBuf, s32 outLen); - -INCLUDE_ASM(s32, "code_303c0_len_3e10", func_80056D34); - -INCLUDE_ASM(s32, "code_303c0_len_3e10", func_80056D44); - -INCLUDE_ASM(s32, "code_303c0_len_3e10", func_80056D50); - -INCLUDE_ASM(s32, "code_303c0_len_3e10", func_80056D5C); - -INCLUDE_ASM(void, "code_303c0_len_3e10", func_80056D78, u8 arg0, u16 arg1); - -INCLUDE_ASM(s32, "code_303c0_len_3e10", func_80056DA4); - -INCLUDE_ASM(s32, "code_303c0_len_3e10", func_80056DCC); - -INCLUDE_ASM(s32, "code_303c0_len_3e10", func_80056E34); - -INCLUDE_ASM(s32, "code_303c0_len_3e10", func_80056EC0); - -INCLUDE_ASM(s32, "code_303c0_len_3e10", func_80056EE8); - -INCLUDE_ASM(s32, "code_303c0_len_3e10", func_80056F78); - -INCLUDE_ASM(s32, "code_303c0_len_3e10", func_80056FA4); - -INCLUDE_ASM(s32, "code_303c0_len_3e10", func_80057224); - -INCLUDE_ASM(s32, "code_303c0_len_3e10", func_80057344); - -INCLUDE_ASM(s32, "code_303c0_len_3e10", func_8005736C); - -INCLUDE_ASM(s32, "code_303c0_len_3e10", func_80057548); - -INCLUDE_ASM(void, "code_303c0_len_3e10", func_800576EC, u8 arg0, s32 arg1, s32 arg2); - -INCLUDE_ASM(s32, "code_303c0_len_3e10", func_80057874); - -INCLUDE_ASM(s32, "code_303c0_len_3e10", func_800579D8); - -INCLUDE_ASM(s32, "code_303c0_len_3e10", func_80057B64); - -INCLUDE_ASM(s32, "code_303c0_len_3e10", func_80057B8C); - -INCLUDE_ASM(s32, "code_303c0_len_3e10", func_80057BB4); - -INCLUDE_ASM(s32, "code_303c0_len_3e10", func_80057BDC); - -INCLUDE_ASM(s32, "code_303c0_len_3e10", func_80057C04); - -INCLUDE_ASM(s32, "code_303c0_len_3e10", func_80057C2C); - -INCLUDE_ASM(s32, "code_303c0_len_3e10", func_80057C54); - -INCLUDE_ASM(s32, "code_303c0_len_3e10", func_80057D0C); - -INCLUDE_ASM(s32, "code_303c0_len_3e10", func_80057DC8); - -INCLUDE_ASM(s32, "code_303c0_len_3e10", func_80057E08); - -INCLUDE_ASM(s32, "code_303c0_len_3e10", func_80057E5C); - -INCLUDE_ASM(s32, "code_303c0_len_3e10", func_80057EB0); - -INCLUDE_ASM(s32, "code_303c0_len_3e10", func_80057ED0); - -INCLUDE_ASM(s32, "code_303c0_len_3e10", func_80057F20); - -void* alHeapAlloc(ALHeap *heap, s32 arg1, s32 size) { - void* ret = NULL; - u8* newCur = &heap->cur[ALIGN16(arg1 * size)]; - - if (&heap->base[heap->len] >= newCur) { - ret = heap->cur; - heap->cur = newCur; - } - return ret; +void func_8005615C(void) { + func_80056D5C(1); + func_80054DA8(0); } -INCLUDE_ASM(s32, "code_303c0_len_3e10", func_80057FD8); +void func_80056180(void) { + func_80056D5C(0); + func_80054DA8(1); +} -INCLUDE_ASM(s32, "code_303c0_len_3e10", func_80058004); +void func_800561A4(s32 arg0) { + func_80054CE0(1, arg0); +} -INCLUDE_ASM(s32, "code_303c0_len_3e10", func_80058050); +void func_800561C4(s32 arg0) { + func_80054CE0(16, arg0); +} -INCLUDE_ASM(s32, "code_303c0_len_3e10", func_80058B20); +void func_800561E4(s32 arg0) { + func_80054D74(16, arg0); +} -INCLUDE_ASM(s32, "code_303c0_len_3e10", func_80058C6C); +void func_80056204(void) { + func_8004BA54(D_8009A640, 0); +} + +void func_80056228(void) { + func_8004BA54(D_8009A640, 1); +} diff --git a/src/code_31650.c b/src/code_31650.c new file mode 100644 index 0000000000..819d4de7b3 --- /dev/null +++ b/src/code_31650.c @@ -0,0 +1,113 @@ +#include "common.h" +#include "audio.h" + +INCLUDE_ASM(s32, "code_31650", func_80056250); + +INCLUDE_ASM(s32, "code_31650", func_800565A4); + +INCLUDE_ASM(Acmd*, "code_31650", alAudioFrame, Acmd* cmdList, s32* cmdLen, s16* outBuf, s32 outLen); + +#ifdef NON_MATCHING +void func_80056D34(void) { + D_80078E58 = 1; +} +#else +INCLUDE_ASM(s32, "code_31650", func_80056D34); +#endif + +#ifdef NON_MATCHING +void func_80056D44(s16 arg0) { + D_80078E5A = arg0; +} +#else +INCLUDE_ASM(s16, "code_31650", func_80056D44); +#endif + +#ifdef NON_MATCHING +s16 func_80056D50(void) { + return D_80078E5A; +} +#else +INCLUDE_ASM(s16, "code_31650", func_80056D50); +#endif + +INCLUDE_ASM(s32, "code_31650", func_80056D5C); + +INCLUDE_ASM(void, "code_31650", func_80056D78, u8 arg0, u16 arg1); + +INCLUDE_ASM(s32, "code_31650", func_80056DA4); + +INCLUDE_ASM(s32, "code_31650", func_80056DCC); + +INCLUDE_ASM(s32, "code_31650", func_80056E34); + +INCLUDE_ASM(s32, "code_31650", func_80056EC0); + +INCLUDE_ASM(s32, "code_31650", func_80056EE8); + +INCLUDE_ASM(s32, "code_31650", func_80056F78); + +INCLUDE_ASM(s32, "code_31650", func_80056FA4); + +INCLUDE_ASM(s32, "code_31650", func_80057224); + +INCLUDE_ASM(s32, "code_31650", func_80057344); + +INCLUDE_ASM(s32, "code_31650", func_8005736C); + +INCLUDE_ASM(s32, "code_31650", func_80057548); + +INCLUDE_ASM(void, "code_31650", func_800576EC, u8 arg0, s32 arg1, s32 arg2); + +INCLUDE_ASM(s32, "code_31650", func_80057874); + +INCLUDE_ASM(s32, "code_31650", func_800579D8); + +INCLUDE_ASM(s32, "code_31650", func_80057B64); + +INCLUDE_ASM(s32, "code_31650", func_80057B8C); + +INCLUDE_ASM(s32, "code_31650", func_80057BB4); + +INCLUDE_ASM(s32, "code_31650", func_80057BDC); + +INCLUDE_ASM(s32, "code_31650", func_80057C04); + +INCLUDE_ASM(s32, "code_31650", func_80057C2C); + +INCLUDE_ASM(s32, "code_31650", func_80057C54); + +INCLUDE_ASM(s32, "code_31650", func_80057D0C); + +INCLUDE_ASM(s32, "code_31650", func_80057DC8); + +INCLUDE_ASM(s32, "code_31650", func_80057E08); + +INCLUDE_ASM(s32, "code_31650", func_80057E5C); + +INCLUDE_ASM(s32, "code_31650", func_80057EB0); + +INCLUDE_ASM(s32, "code_31650", func_80057ED0); + +INCLUDE_ASM(s32, "code_31650", func_80057F20); + +void* alHeapAlloc(ALHeap *heap, s32 arg1, s32 size) { + void* ret = NULL; + u8* newCur = &heap->cur[ALIGN16(arg1 * size)]; + + if (&heap->base[heap->len] >= newCur) { + ret = heap->cur; + heap->cur = newCur; + } + return ret; +} + +INCLUDE_ASM(s32, "code_31650", func_80057FD8); + +INCLUDE_ASM(s32, "code_31650", func_80058004); + +INCLUDE_ASM(s32, "code_31650", func_80058050); + +INCLUDE_ASM(s32, "code_31650", func_80058B20); + +INCLUDE_ASM(s32, "code_31650", func_80058C6C); diff --git a/tools/splat.yaml b/tools/splat.yaml index df9ba53af0..18c3a76de2 100644 --- a/tools/splat.yaml +++ b/tools/splat.yaml @@ -62,6 +62,7 @@ segments: - [0x2d9a0, c, code_2d9a0_len_890] - [0x2e230, c, code_2e230_len_2190] - [0x303c0, c, code_303c0_len_3e10] + - [0x31650, c, code_31650] - [0x341d0, c, world/world] - [0x362a0, c, code_362a0_len_2f70] - [0x39210, c, code_39210_len_aa0] From eed8dc90bff766f9d2e1984a121ccef9ce119a4a Mon Sep 17 00:00:00 2001 From: Ethan Roseman Date: Tue, 1 Dec 2020 23:50:32 -0500 Subject: [PATCH 19/97] more audio --- .../code_28910_len_5090/func_80050C30.s | 14 -- .../code_2e230_len_2190/func_80053654.s | 161 ------------------ .../code_303c0_len_3e10/func_800553C0.s | 17 -- .../code_303c0_len_3e10/func_80055408.s | 20 --- .../code_303c0_len_3e10/func_80055448.s | 11 -- .../code_303c0_len_3e10/func_80055464.s | 21 --- .../code_303c0_len_3e10/func_800554A4.s | 22 --- .../code_303c0_len_3e10/func_800554E8.s | 26 --- .../code_303c0_len_3e10/func_8005553C.s | 26 --- .../code_303c0_len_3e10/func_80055590.s | 26 --- .../code_303c0_len_3e10/func_800555E4.s | 18 -- .../code_303c0_len_3e10/func_80055618.s | 26 --- .../code_303c0_len_3e10/func_8005566C.s | 30 ---- .../code_303c0_len_3e10/func_800556D0.s | 23 --- .../code_303c0_len_3e10/func_80055718.s | 23 --- .../code_303c0_len_3e10/func_80055760.s | 33 ---- .../code_303c0_len_3e10/func_800559E0.s | 11 -- .../code_303c0_len_3e10/func_800559FC.s | 11 -- .../code_303c0_len_3e10/func_80056228.s | 14 -- include/functions.h | 3 - src/audio.h | 48 ++++-- src/code_26840_len_20d0.c | 2 +- src/code_28910_len_5090.c | 8 +- src/code_2e230_len_2190.c | 78 ++++++++- src/code_303c0_len_3e10.c | 132 ++++++++++++-- src/code_31650.c | 8 +- 26 files changed, 241 insertions(+), 571 deletions(-) delete mode 100644 asm/nonmatchings/code_28910_len_5090/func_80050C30.s delete mode 100644 asm/nonmatchings/code_2e230_len_2190/func_80053654.s delete mode 100644 asm/nonmatchings/code_303c0_len_3e10/func_800553C0.s delete mode 100644 asm/nonmatchings/code_303c0_len_3e10/func_80055408.s delete mode 100644 asm/nonmatchings/code_303c0_len_3e10/func_80055448.s delete mode 100644 asm/nonmatchings/code_303c0_len_3e10/func_80055464.s delete mode 100644 asm/nonmatchings/code_303c0_len_3e10/func_800554A4.s delete mode 100644 asm/nonmatchings/code_303c0_len_3e10/func_800554E8.s delete mode 100644 asm/nonmatchings/code_303c0_len_3e10/func_8005553C.s delete mode 100644 asm/nonmatchings/code_303c0_len_3e10/func_80055590.s delete mode 100644 asm/nonmatchings/code_303c0_len_3e10/func_800555E4.s delete mode 100644 asm/nonmatchings/code_303c0_len_3e10/func_80055618.s delete mode 100644 asm/nonmatchings/code_303c0_len_3e10/func_8005566C.s delete mode 100644 asm/nonmatchings/code_303c0_len_3e10/func_800556D0.s delete mode 100644 asm/nonmatchings/code_303c0_len_3e10/func_80055718.s delete mode 100644 asm/nonmatchings/code_303c0_len_3e10/func_80055760.s delete mode 100644 asm/nonmatchings/code_303c0_len_3e10/func_800559E0.s delete mode 100644 asm/nonmatchings/code_303c0_len_3e10/func_800559FC.s delete mode 100644 asm/nonmatchings/code_303c0_len_3e10/func_80056228.s diff --git a/asm/nonmatchings/code_28910_len_5090/func_80050C30.s b/asm/nonmatchings/code_28910_len_5090/func_80050C30.s deleted file mode 100644 index 15b9f68d46..0000000000 --- a/asm/nonmatchings/code_28910_len_5090/func_80050C30.s +++ /dev/null @@ -1,14 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel func_80050C30 -/* 2C030 80050C30 3C02800A */ lui $v0, %hi(D_8009A628) -/* 2C034 80050C34 8C42A628 */ lw $v0, %lo(D_8009A628)($v0) -/* 2C038 80050C38 90430020 */ lbu $v1, 0x20($v0) -/* 2C03C 80050C3C 0083202B */ sltu $a0, $a0, $v1 -/* 2C040 80050C40 10800002 */ beqz $a0, .L80050C4C -/* 2C044 80050C44 24020003 */ addiu $v0, $zero, 3 -/* 2C048 80050C48 0000102D */ daddu $v0, $zero, $zero -.L80050C4C: -/* 2C04C 80050C4C 03E00008 */ jr $ra -/* 2C050 80050C50 00000000 */ nop diff --git a/asm/nonmatchings/code_2e230_len_2190/func_80053654.s b/asm/nonmatchings/code_2e230_len_2190/func_80053654.s deleted file mode 100644 index 86c607e953..0000000000 --- a/asm/nonmatchings/code_2e230_len_2190/func_80053654.s +++ /dev/null @@ -1,161 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel func_80053654 -/* 2EA54 80053654 27BDFFC8 */ addiu $sp, $sp, -0x38 -/* 2EA58 80053658 AFB3002C */ sw $s3, 0x2c($sp) -/* 2EA5C 8005365C 0080982D */ daddu $s3, $a0, $zero -/* 2EA60 80053660 AFBF0034 */ sw $ra, 0x34($sp) -/* 2EA64 80053664 AFB40030 */ sw $s4, 0x30($sp) -/* 2EA68 80053668 AFB20028 */ sw $s2, 0x28($sp) -/* 2EA6C 8005366C AFB10024 */ sw $s1, 0x24($sp) -/* 2EA70 80053670 AFB00020 */ sw $s0, 0x20($sp) -/* 2EA74 80053674 9262130C */ lbu $v0, 0x130c($s3) -/* 2EA78 80053678 24100002 */ addiu $s0, $zero, 2 -/* 2EA7C 8005367C 14500003 */ bne $v0, $s0, .L8005368C -/* 2EA80 80053680 24020001 */ addiu $v0, $zero, 1 -/* 2EA84 80053684 0C015FAC */ jal func_80057EB0 -/* 2EA88 80053688 A262130C */ sb $v0, 0x130c($s3) -.L8005368C: -/* 2EA8C 8005368C 92620050 */ lbu $v0, 0x50($s3) -/* 2EA90 80053690 1040001B */ beqz $v0, .L80053700 -/* 2EA94 80053694 00000000 */ nop -/* 2EA98 80053698 9262130C */ lbu $v0, 0x130c($s3) -/* 2EA9C 8005369C 14400018 */ bnez $v0, .L80053700 -/* 2EAA0 800536A0 24020001 */ addiu $v0, $zero, 1 -/* 2EAA4 800536A4 92630053 */ lbu $v1, 0x53($s3) -/* 2EAA8 800536A8 10620005 */ beq $v1, $v0, .L800536C0 -/* 2EAAC 800536AC 00000000 */ nop -/* 2EAB0 800536B0 10700009 */ beq $v1, $s0, .L800536D8 -/* 2EAB4 800536B4 00000000 */ nop -/* 2EAB8 800536B8 08014DBD */ j .L800536F4 -/* 2EABC 800536BC 00000000 */ nop -.L800536C0: -/* 2EAC0 800536C0 0C015F72 */ jal func_80057DC8 -/* 2EAC4 800536C4 92640052 */ lbu $a0, 0x52($s3) -/* 2EAC8 800536C8 0C015F82 */ jal func_80057E08 -/* 2EACC 800536CC 92640051 */ lbu $a0, 0x51($s3) -/* 2EAD0 800536D0 08014DC0 */ j .L80053700 -/* 2EAD4 800536D4 A2600050 */ sb $zero, 0x50($s3) -.L800536D8: -/* 2EAD8 800536D8 92640052 */ lbu $a0, 0x52($s3) -/* 2EADC 800536DC 0C015F72 */ jal func_80057DC8 -/* 2EAE0 800536E0 00000000 */ nop -/* 2EAE4 800536E4 0C015F97 */ jal func_80057E5C -/* 2EAE8 800536E8 92640051 */ lbu $a0, 0x51($s3) -/* 2EAEC 800536EC 08014DC0 */ j .L80053700 -/* 2EAF0 800536F0 A2600050 */ sb $zero, 0x50($s3) -.L800536F4: -/* 2EAF4 800536F4 0C015FAC */ jal func_80057EB0 -/* 2EAF8 800536F8 00000000 */ nop -/* 2EAFC 800536FC A2600050 */ sb $zero, 0x50($s3) -.L80053700: -/* 2EB00 80053700 92620041 */ lbu $v0, 0x41($s3) -/* 2EB04 80053704 10400005 */ beqz $v0, .L8005371C -/* 2EB08 80053708 00000000 */ nop -/* 2EB0C 8005370C 92650040 */ lbu $a1, 0x40($s3) -/* 2EB10 80053710 0C015B73 */ jal func_80056DCC -/* 2EB14 80053714 0000202D */ daddu $a0, $zero, $zero -/* 2EB18 80053718 A2600041 */ sb $zero, 0x41($s3) -.L8005371C: -/* 2EB1C 8005371C 92620045 */ lbu $v0, 0x45($s3) -/* 2EB20 80053720 10400005 */ beqz $v0, .L80053738 -/* 2EB24 80053724 00000000 */ nop -/* 2EB28 80053728 92650044 */ lbu $a1, 0x44($s3) -/* 2EB2C 8005372C 0C015B73 */ jal func_80056DCC -/* 2EB30 80053730 24040001 */ addiu $a0, $zero, 1 -/* 2EB34 80053734 A2600045 */ sb $zero, 0x45($s3) -.L80053738: -/* 2EB38 80053738 92620049 */ lbu $v0, 0x49($s3) -/* 2EB3C 8005373C 10400005 */ beqz $v0, .L80053754 -/* 2EB40 80053740 00000000 */ nop -/* 2EB44 80053744 92650048 */ lbu $a1, 0x48($s3) -/* 2EB48 80053748 0C015B73 */ jal func_80056DCC -/* 2EB4C 8005374C 24040002 */ addiu $a0, $zero, 2 -/* 2EB50 80053750 A2600049 */ sb $zero, 0x49($s3) -.L80053754: -/* 2EB54 80053754 9262004D */ lbu $v0, 0x4d($s3) -/* 2EB58 80053758 10400006 */ beqz $v0, .L80053774 -/* 2EB5C 8005375C 0000902D */ daddu $s2, $zero, $zero -/* 2EB60 80053760 9265004C */ lbu $a1, 0x4c($s3) -/* 2EB64 80053764 0C015B73 */ jal func_80056DCC -/* 2EB68 80053768 24040003 */ addiu $a0, $zero, 3 -/* 2EB6C 8005376C A260004D */ sb $zero, 0x4d($s3) -/* 2EB70 80053770 0000902D */ daddu $s2, $zero, $zero -.L80053774: -/* 2EB74 80053774 24141320 */ addiu $s4, $zero, 0x1320 -.L80053778: -/* 2EB78 80053778 02748021 */ addu $s0, $s3, $s4 -/* 2EB7C 8005377C 92020042 */ lbu $v0, 0x42($s0) -/* 2EB80 80053780 92110043 */ lbu $s1, 0x43($s0) -/* 2EB84 80053784 10400007 */ beqz $v0, .L800537A4 -/* 2EB88 80053788 32220002 */ andi $v0, $s1, 2 -/* 2EB8C 8005378C 0C015BBA */ jal func_80056EE8 -/* 2EB90 80053790 324400FF */ andi $a0, $s2, 0xff -/* 2EB94 80053794 A2000042 */ sb $zero, 0x42($s0) -/* 2EB98 80053798 AE00001C */ sw $zero, 0x1c($s0) -/* 2EB9C 8005379C A2000045 */ sb $zero, 0x45($s0) -/* 2EBA0 800537A0 32220002 */ andi $v0, $s1, 2 -.L800537A4: -/* 2EBA4 800537A4 10400013 */ beqz $v0, .L800537F4 -/* 2EBA8 800537A8 0200202D */ daddu $a0, $s0, $zero -/* 2EBAC 800537AC 0C014AFE */ jal func_80052BF8 -/* 2EBB0 800537B0 26050014 */ addiu $a1, $s0, 0x14 -/* 2EBB4 800537B4 8602000C */ lh $v0, 0xc($s0) -/* 2EBB8 800537B8 92050010 */ lbu $a1, 0x10($s0) -/* 2EBBC 800537BC AFA20010 */ sw $v0, 0x10($sp) -/* 2EBC0 800537C0 9202000E */ lbu $v0, 0xe($s0) -/* 2EBC4 800537C4 AFA20014 */ sw $v0, 0x14($sp) -/* 2EBC8 800537C8 9202000F */ lbu $v0, 0xf($s0) -/* 2EBCC 800537CC AFA20018 */ sw $v0, 0x18($sp) -/* 2EBD0 800537D0 8E020008 */ lw $v0, 8($s0) -/* 2EBD4 800537D4 AFA2001C */ sw $v0, 0x1c($sp) -/* 2EBD8 800537D8 8E060000 */ lw $a2, ($s0) -/* 2EBDC 800537DC 8E070004 */ lw $a3, 4($s0) -/* 2EBE0 800537E0 0C015BE9 */ jal func_80056FA4 -/* 2EBE4 800537E4 324400FF */ andi $a0, $s2, 0xff -/* 2EBE8 800537E8 92020044 */ lbu $v0, 0x44($s0) -/* 2EBEC 800537EC 08014E15 */ j .L80053854 -/* 2EBF0 800537F0 A2020045 */ sb $v0, 0x45($s0) -.L800537F4: -/* 2EBF4 800537F4 32220008 */ andi $v0, $s1, 8 -/* 2EBF8 800537F8 10400005 */ beqz $v0, .L80053810 -/* 2EBFC 800537FC 32220004 */ andi $v0, $s1, 4 -/* 2EC00 80053800 8E050004 */ lw $a1, 4($s0) -/* 2EC04 80053804 0C015CD1 */ jal func_80057344 -/* 2EC08 80053808 324400FF */ andi $a0, $s2, 0xff -/* 2EC0C 8005380C 32220004 */ andi $v0, $s1, 4 -.L80053810: -/* 2EC10 80053810 1040000A */ beqz $v0, .L8005383C -/* 2EC14 80053814 32220010 */ andi $v0, $s1, 0x10 -/* 2EC18 80053818 9202000F */ lbu $v0, 0xf($s0) -/* 2EC1C 8005381C 8605000C */ lh $a1, 0xc($s0) -/* 2EC20 80053820 9207000E */ lbu $a3, 0xe($s0) -/* 2EC24 80053824 AFA20010 */ sw $v0, 0x10($sp) -/* 2EC28 80053828 8E060008 */ lw $a2, 8($s0) -/* 2EC2C 8005382C 0C015CDB */ jal func_8005736C -/* 2EC30 80053830 324400FF */ andi $a0, $s2, 0xff -/* 2EC34 80053834 08014E16 */ j .L80053858 -/* 2EC38 80053838 A2000043 */ sb $zero, 0x43($s0) -.L8005383C: -/* 2EC3C 8005383C 50400006 */ beql $v0, $zero, .L80053858 -/* 2EC40 80053840 A2000043 */ sb $zero, 0x43($s0) -/* 2EC44 80053844 9205000E */ lbu $a1, 0xe($s0) -/* 2EC48 80053848 9206000F */ lbu $a2, 0xf($s0) -/* 2EC4C 8005384C 0C015D52 */ jal func_80057548 -/* 2EC50 80053850 324400FF */ andi $a0, $s2, 0xff -.L80053854: -/* 2EC54 80053854 A2000043 */ sb $zero, 0x43($s0) -.L80053858: -/* 2EC58 80053858 26520001 */ addiu $s2, $s2, 1 -/* 2EC5C 8005385C 2E420018 */ sltiu $v0, $s2, 0x18 -/* 2EC60 80053860 1440FFC5 */ bnez $v0, .L80053778 -/* 2EC64 80053864 26940048 */ addiu $s4, $s4, 0x48 -/* 2EC68 80053868 8FBF0034 */ lw $ra, 0x34($sp) -/* 2EC6C 8005386C 8FB40030 */ lw $s4, 0x30($sp) -/* 2EC70 80053870 8FB3002C */ lw $s3, 0x2c($sp) -/* 2EC74 80053874 8FB20028 */ lw $s2, 0x28($sp) -/* 2EC78 80053878 8FB10024 */ lw $s1, 0x24($sp) -/* 2EC7C 8005387C 8FB00020 */ lw $s0, 0x20($sp) -/* 2EC80 80053880 03E00008 */ jr $ra -/* 2EC84 80053884 27BD0038 */ addiu $sp, $sp, 0x38 diff --git a/asm/nonmatchings/code_303c0_len_3e10/func_800553C0.s b/asm/nonmatchings/code_303c0_len_3e10/func_800553C0.s deleted file mode 100644 index c71e1b6505..0000000000 --- a/asm/nonmatchings/code_303c0_len_3e10/func_800553C0.s +++ /dev/null @@ -1,17 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel func_800553C0 -/* 307C0 800553C0 27BDFFE0 */ addiu $sp, $sp, -0x20 -/* 307C4 800553C4 34858000 */ ori $a1, $a0, 0x8000 -/* 307C8 800553C8 0000302D */ daddu $a2, $zero, $zero -/* 307CC 800553CC 3C02800A */ lui $v0, %hi(D_8009A640) -/* 307D0 800553D0 8C42A640 */ lw $v0, %lo(D_8009A640)($v0) -/* 307D4 800553D4 00C0382D */ daddu $a3, $a2, $zero -/* 307D8 800553D8 AFBF0018 */ sw $ra, 0x18($sp) -/* 307DC 800553DC AFA00010 */ sw $zero, 0x10($sp) -/* 307E0 800553E0 0C012DB6 */ jal func_8004B6D8 -/* 307E4 800553E4 0040202D */ daddu $a0, $v0, $zero -/* 307E8 800553E8 8FBF0018 */ lw $ra, 0x18($sp) -/* 307EC 800553EC 03E00008 */ jr $ra -/* 307F0 800553F0 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/code_303c0_len_3e10/func_80055408.s b/asm/nonmatchings/code_303c0_len_3e10/func_80055408.s deleted file mode 100644 index 1c6b51600a..0000000000 --- a/asm/nonmatchings/code_303c0_len_3e10/func_80055408.s +++ /dev/null @@ -1,20 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel func_80055408 -/* 30808 80055408 27BDFFE0 */ addiu $sp, $sp, -0x20 -/* 3080C 8005540C 0080182D */ daddu $v1, $a0, $zero -/* 30810 80055410 30E700FF */ andi $a3, $a3, 0xff -/* 30814 80055414 00051400 */ sll $v0, $a1, 0x10 -/* 30818 80055418 AFA70010 */ sw $a3, 0x10($sp) -/* 3081C 8005541C 00063C00 */ sll $a3, $a2, 0x10 -/* 30820 80055420 0060282D */ daddu $a1, $v1, $zero -/* 30824 80055424 00023403 */ sra $a2, $v0, 0x10 -/* 30828 80055428 3C04800A */ lui $a0, %hi(D_8009A640) -/* 3082C 8005542C 8C84A640 */ lw $a0, %lo(D_8009A640)($a0) -/* 30830 80055430 AFBF0018 */ sw $ra, 0x18($sp) -/* 30834 80055434 0C012DB6 */ jal func_8004B6D8 -/* 30838 80055438 00073C03 */ sra $a3, $a3, 0x10 -/* 3083C 8005543C 8FBF0018 */ lw $ra, 0x18($sp) -/* 30840 80055440 03E00008 */ jr $ra -/* 30844 80055444 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/code_303c0_len_3e10/func_80055448.s b/asm/nonmatchings/code_303c0_len_3e10/func_80055448.s deleted file mode 100644 index 36b9043bfd..0000000000 --- a/asm/nonmatchings/code_303c0_len_3e10/func_80055448.s +++ /dev/null @@ -1,11 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel func_80055448 -/* 30848 80055448 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 3084C 8005544C AFBF0010 */ sw $ra, 0x10($sp) -/* 30850 80055450 0C014FE0 */ jal func_80053F80 -/* 30854 80055454 00000000 */ nop -/* 30858 80055458 8FBF0010 */ lw $ra, 0x10($sp) -/* 3085C 8005545C 03E00008 */ jr $ra -/* 30860 80055460 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/code_303c0_len_3e10/func_80055464.s b/asm/nonmatchings/code_303c0_len_3e10/func_80055464.s deleted file mode 100644 index 6d7f64c816..0000000000 --- a/asm/nonmatchings/code_303c0_len_3e10/func_80055464.s +++ /dev/null @@ -1,21 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel func_80055464 -/* 30864 80055464 27BDFFE0 */ addiu $sp, $sp, -0x20 -/* 30868 80055468 AFB00010 */ sw $s0, 0x10($sp) -/* 3086C 8005546C 0080802D */ daddu $s0, $a0, $zero -/* 30870 80055470 AFB10014 */ sw $s1, 0x14($sp) -/* 30874 80055474 AFBF0018 */ sw $ra, 0x18($sp) -/* 30878 80055478 0C01430C */ jal func_80050C30 -/* 3087C 8005547C 00A0882D */ daddu $s1, $a1, $zero -/* 30880 80055480 14400003 */ bnez $v0, .L80055490 -/* 30884 80055484 0200202D */ daddu $a0, $s0, $zero -/* 30888 80055488 0C014328 */ jal func_80050CA0 -/* 3088C 8005548C 0220282D */ daddu $a1, $s1, $zero -.L80055490: -/* 30890 80055490 8FBF0018 */ lw $ra, 0x18($sp) -/* 30894 80055494 8FB10014 */ lw $s1, 0x14($sp) -/* 30898 80055498 8FB00010 */ lw $s0, 0x10($sp) -/* 3089C 8005549C 03E00008 */ jr $ra -/* 308A0 800554A0 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/code_303c0_len_3e10/func_800554A4.s b/asm/nonmatchings/code_303c0_len_3e10/func_800554A4.s deleted file mode 100644 index 45b2471fdd..0000000000 --- a/asm/nonmatchings/code_303c0_len_3e10/func_800554A4.s +++ /dev/null @@ -1,22 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel func_800554A4 -/* 308A4 800554A4 27BDFFE0 */ addiu $sp, $sp, -0x20 -/* 308A8 800554A8 AFB10014 */ sw $s1, 0x14($sp) -/* 308AC 800554AC 0080882D */ daddu $s1, $a0, $zero -/* 308B0 800554B0 AFBF0018 */ sw $ra, 0x18($sp) -/* 308B4 800554B4 0C01430C */ jal func_80050C30 -/* 308B8 800554B8 AFB00010 */ sw $s0, 0x10($sp) -/* 308BC 800554BC 0040802D */ daddu $s0, $v0, $zero -/* 308C0 800554C0 16000004 */ bnez $s0, .L800554D4 -/* 308C4 800554C4 0200102D */ daddu $v0, $s0, $zero -/* 308C8 800554C8 0C0143BC */ jal func_80050EF0 -/* 308CC 800554CC 0220202D */ daddu $a0, $s1, $zero -/* 308D0 800554D0 0200102D */ daddu $v0, $s0, $zero -.L800554D4: -/* 308D4 800554D4 8FBF0018 */ lw $ra, 0x18($sp) -/* 308D8 800554D8 8FB10014 */ lw $s1, 0x14($sp) -/* 308DC 800554DC 8FB00010 */ lw $s0, 0x10($sp) -/* 308E0 800554E0 03E00008 */ jr $ra -/* 308E4 800554E4 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/code_303c0_len_3e10/func_800554E8.s b/asm/nonmatchings/code_303c0_len_3e10/func_800554E8.s deleted file mode 100644 index aa3883a30b..0000000000 --- a/asm/nonmatchings/code_303c0_len_3e10/func_800554E8.s +++ /dev/null @@ -1,26 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel func_800554E8 -/* 308E8 800554E8 27BDFFE0 */ addiu $sp, $sp, -0x20 -/* 308EC 800554EC AFB10014 */ sw $s1, 0x14($sp) -/* 308F0 800554F0 0080882D */ daddu $s1, $a0, $zero -/* 308F4 800554F4 AFB20018 */ sw $s2, 0x18($sp) -/* 308F8 800554F8 00A0902D */ daddu $s2, $a1, $zero -/* 308FC 800554FC AFBF001C */ sw $ra, 0x1c($sp) -/* 30900 80055500 0C01430C */ jal func_80050C30 -/* 30904 80055504 AFB00010 */ sw $s0, 0x10($sp) -/* 30908 80055508 0040802D */ daddu $s0, $v0, $zero -/* 3090C 8005550C 16000005 */ bnez $s0, .L80055524 -/* 30910 80055510 0200102D */ daddu $v0, $s0, $zero -/* 30914 80055514 0220202D */ daddu $a0, $s1, $zero -/* 30918 80055518 0C0143D9 */ jal func_80050F64 -/* 3091C 8005551C 0240282D */ daddu $a1, $s2, $zero -/* 30920 80055520 0200102D */ daddu $v0, $s0, $zero -.L80055524: -/* 30924 80055524 8FBF001C */ lw $ra, 0x1c($sp) -/* 30928 80055528 8FB20018 */ lw $s2, 0x18($sp) -/* 3092C 8005552C 8FB10014 */ lw $s1, 0x14($sp) -/* 30930 80055530 8FB00010 */ lw $s0, 0x10($sp) -/* 30934 80055534 03E00008 */ jr $ra -/* 30938 80055538 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/code_303c0_len_3e10/func_8005553C.s b/asm/nonmatchings/code_303c0_len_3e10/func_8005553C.s deleted file mode 100644 index e19aa7f17e..0000000000 --- a/asm/nonmatchings/code_303c0_len_3e10/func_8005553C.s +++ /dev/null @@ -1,26 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel func_8005553C -/* 3093C 8005553C 27BDFFE0 */ addiu $sp, $sp, -0x20 -/* 30940 80055540 AFB10014 */ sw $s1, 0x14($sp) -/* 30944 80055544 0080882D */ daddu $s1, $a0, $zero -/* 30948 80055548 AFB20018 */ sw $s2, 0x18($sp) -/* 3094C 8005554C 00A0902D */ daddu $s2, $a1, $zero -/* 30950 80055550 AFBF001C */ sw $ra, 0x1c($sp) -/* 30954 80055554 0C01430C */ jal func_80050C30 -/* 30958 80055558 AFB00010 */ sw $s0, 0x10($sp) -/* 3095C 8005555C 0040802D */ daddu $s0, $v0, $zero -/* 30960 80055560 16000005 */ bnez $s0, .L80055578 -/* 30964 80055564 0200102D */ daddu $v0, $s0, $zero -/* 30968 80055568 0220202D */ daddu $a0, $s1, $zero -/* 3096C 8005556C 0C014386 */ jal func_80050E18 -/* 30970 80055570 0240282D */ daddu $a1, $s2, $zero -/* 30974 80055574 0200102D */ daddu $v0, $s0, $zero -.L80055578: -/* 30978 80055578 8FBF001C */ lw $ra, 0x1c($sp) -/* 3097C 8005557C 8FB20018 */ lw $s2, 0x18($sp) -/* 30980 80055580 8FB10014 */ lw $s1, 0x14($sp) -/* 30984 80055584 8FB00010 */ lw $s0, 0x10($sp) -/* 30988 80055588 03E00008 */ jr $ra -/* 3098C 8005558C 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/code_303c0_len_3e10/func_80055590.s b/asm/nonmatchings/code_303c0_len_3e10/func_80055590.s deleted file mode 100644 index 6ce28090ad..0000000000 --- a/asm/nonmatchings/code_303c0_len_3e10/func_80055590.s +++ /dev/null @@ -1,26 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel func_80055590 -/* 30990 80055590 27BDFFE0 */ addiu $sp, $sp, -0x20 -/* 30994 80055594 AFB10014 */ sw $s1, 0x14($sp) -/* 30998 80055598 0080882D */ daddu $s1, $a0, $zero -/* 3099C 8005559C AFB20018 */ sw $s2, 0x18($sp) -/* 309A0 800555A0 00A0902D */ daddu $s2, $a1, $zero -/* 309A4 800555A4 AFBF001C */ sw $ra, 0x1c($sp) -/* 309A8 800555A8 0C01430C */ jal func_80050C30 -/* 309AC 800555AC AFB00010 */ sw $s0, 0x10($sp) -/* 309B0 800555B0 0040802D */ daddu $s0, $v0, $zero -/* 309B4 800555B4 16000005 */ bnez $s0, .L800555CC -/* 309B8 800555B8 0200102D */ daddu $v0, $s0, $zero -/* 309BC 800555BC 0220202D */ daddu $a0, $s1, $zero -/* 309C0 800555C0 0C0143A1 */ jal func_80050E84 -/* 309C4 800555C4 0240282D */ daddu $a1, $s2, $zero -/* 309C8 800555C8 0200102D */ daddu $v0, $s0, $zero -.L800555CC: -/* 309CC 800555CC 8FBF001C */ lw $ra, 0x1c($sp) -/* 309D0 800555D0 8FB20018 */ lw $s2, 0x18($sp) -/* 309D4 800555D4 8FB10014 */ lw $s1, 0x14($sp) -/* 309D8 800555D8 8FB00010 */ lw $s0, 0x10($sp) -/* 309DC 800555DC 03E00008 */ jr $ra -/* 309E0 800555E0 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/code_303c0_len_3e10/func_800555E4.s b/asm/nonmatchings/code_303c0_len_3e10/func_800555E4.s deleted file mode 100644 index 76478744f6..0000000000 --- a/asm/nonmatchings/code_303c0_len_3e10/func_800555E4.s +++ /dev/null @@ -1,18 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel func_800555E4 -/* 309E4 800555E4 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 309E8 800555E8 AFB00010 */ sw $s0, 0x10($sp) -/* 309EC 800555EC AFBF0014 */ sw $ra, 0x14($sp) -/* 309F0 800555F0 0C01430C */ jal func_80050C30 -/* 309F4 800555F4 0080802D */ daddu $s0, $a0, $zero -/* 309F8 800555F8 14400003 */ bnez $v0, .L80055608 -/* 309FC 800555FC 00000000 */ nop -/* 30A00 80055600 0C014414 */ jal func_80051050 -/* 30A04 80055604 0200202D */ daddu $a0, $s0, $zero -.L80055608: -/* 30A08 80055608 8FBF0014 */ lw $ra, 0x14($sp) -/* 30A0C 8005560C 8FB00010 */ lw $s0, 0x10($sp) -/* 30A10 80055610 03E00008 */ jr $ra -/* 30A14 80055614 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/code_303c0_len_3e10/func_80055618.s b/asm/nonmatchings/code_303c0_len_3e10/func_80055618.s deleted file mode 100644 index 7e6c18a327..0000000000 --- a/asm/nonmatchings/code_303c0_len_3e10/func_80055618.s +++ /dev/null @@ -1,26 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel func_80055618 -/* 30A18 80055618 27BDFFE0 */ addiu $sp, $sp, -0x20 -/* 30A1C 8005561C AFB10014 */ sw $s1, 0x14($sp) -/* 30A20 80055620 0080882D */ daddu $s1, $a0, $zero -/* 30A24 80055624 AFB20018 */ sw $s2, 0x18($sp) -/* 30A28 80055628 00A0902D */ daddu $s2, $a1, $zero -/* 30A2C 8005562C AFBF001C */ sw $ra, 0x1c($sp) -/* 30A30 80055630 0C01430C */ jal func_80050C30 -/* 30A34 80055634 AFB00010 */ sw $s0, 0x10($sp) -/* 30A38 80055638 0040802D */ daddu $s0, $v0, $zero -/* 30A3C 8005563C 16000005 */ bnez $s0, .L80055654 -/* 30A40 80055640 0200102D */ daddu $v0, $s0, $zero -/* 30A44 80055644 0220202D */ daddu $a0, $s1, $zero -/* 30A48 80055648 0C014315 */ jal func_80050C54 -/* 30A4C 8005564C 0240282D */ daddu $a1, $s2, $zero -/* 30A50 80055650 0200102D */ daddu $v0, $s0, $zero -.L80055654: -/* 30A54 80055654 8FBF001C */ lw $ra, 0x1c($sp) -/* 30A58 80055658 8FB20018 */ lw $s2, 0x18($sp) -/* 30A5C 8005565C 8FB10014 */ lw $s1, 0x14($sp) -/* 30A60 80055660 8FB00010 */ lw $s0, 0x10($sp) -/* 30A64 80055664 03E00008 */ jr $ra -/* 30A68 80055668 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/code_303c0_len_3e10/func_8005566C.s b/asm/nonmatchings/code_303c0_len_3e10/func_8005566C.s deleted file mode 100644 index f4bbf974e5..0000000000 --- a/asm/nonmatchings/code_303c0_len_3e10/func_8005566C.s +++ /dev/null @@ -1,30 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel func_8005566C -/* 30A6C 8005566C 27BDFFD8 */ addiu $sp, $sp, -0x28 -/* 30A70 80055670 AFB10014 */ sw $s1, 0x14($sp) -/* 30A74 80055674 0080882D */ daddu $s1, $a0, $zero -/* 30A78 80055678 AFB20018 */ sw $s2, 0x18($sp) -/* 30A7C 8005567C 00A0902D */ daddu $s2, $a1, $zero -/* 30A80 80055680 AFB3001C */ sw $s3, 0x1c($sp) -/* 30A84 80055684 00C0982D */ daddu $s3, $a2, $zero -/* 30A88 80055688 AFBF0020 */ sw $ra, 0x20($sp) -/* 30A8C 8005568C 0C01430C */ jal func_80050C30 -/* 30A90 80055690 AFB00010 */ sw $s0, 0x10($sp) -/* 30A94 80055694 0040802D */ daddu $s0, $v0, $zero -/* 30A98 80055698 16000006 */ bnez $s0, .L800556B4 -/* 30A9C 8005569C 0200102D */ daddu $v0, $s0, $zero -/* 30AA0 800556A0 0220202D */ daddu $a0, $s1, $zero -/* 30AA4 800556A4 0240282D */ daddu $a1, $s2, $zero -/* 30AA8 800556A8 0C0143F4 */ jal func_80050FD0 -/* 30AAC 800556AC 0260302D */ daddu $a2, $s3, $zero -/* 30AB0 800556B0 0200102D */ daddu $v0, $s0, $zero -.L800556B4: -/* 30AB4 800556B4 8FBF0020 */ lw $ra, 0x20($sp) -/* 30AB8 800556B8 8FB3001C */ lw $s3, 0x1c($sp) -/* 30ABC 800556BC 8FB20018 */ lw $s2, 0x18($sp) -/* 30AC0 800556C0 8FB10014 */ lw $s1, 0x14($sp) -/* 30AC4 800556C4 8FB00010 */ lw $s0, 0x10($sp) -/* 30AC8 800556C8 03E00008 */ jr $ra -/* 30ACC 800556CC 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/code_303c0_len_3e10/func_800556D0.s b/asm/nonmatchings/code_303c0_len_3e10/func_800556D0.s deleted file mode 100644 index 4a2fe9b37a..0000000000 --- a/asm/nonmatchings/code_303c0_len_3e10/func_800556D0.s +++ /dev/null @@ -1,23 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel func_800556D0 -/* 30AD0 800556D0 27BDFFE0 */ addiu $sp, $sp, -0x20 -/* 30AD4 800556D4 AFB10014 */ sw $s1, 0x14($sp) -/* 30AD8 800556D8 0080882D */ daddu $s1, $a0, $zero -/* 30ADC 800556DC AFBF0018 */ sw $ra, 0x18($sp) -/* 30AE0 800556E0 0C01430C */ jal func_80050C30 -/* 30AE4 800556E4 AFB00010 */ sw $s0, 0x10($sp) -/* 30AE8 800556E8 0040802D */ daddu $s0, $v0, $zero -/* 30AEC 800556EC 16000005 */ bnez $s0, .L80055704 -/* 30AF0 800556F0 0200102D */ daddu $v0, $s0, $zero -/* 30AF4 800556F4 0220202D */ daddu $a0, $s1, $zero -/* 30AF8 800556F8 0C014319 */ jal func_80050C64 -/* 30AFC 800556FC 24050001 */ addiu $a1, $zero, 1 -/* 30B00 80055700 0200102D */ daddu $v0, $s0, $zero -.L80055704: -/* 30B04 80055704 8FBF0018 */ lw $ra, 0x18($sp) -/* 30B08 80055708 8FB10014 */ lw $s1, 0x14($sp) -/* 30B0C 8005570C 8FB00010 */ lw $s0, 0x10($sp) -/* 30B10 80055710 03E00008 */ jr $ra -/* 30B14 80055714 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/code_303c0_len_3e10/func_80055718.s b/asm/nonmatchings/code_303c0_len_3e10/func_80055718.s deleted file mode 100644 index 088d248bda..0000000000 --- a/asm/nonmatchings/code_303c0_len_3e10/func_80055718.s +++ /dev/null @@ -1,23 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel func_80055718 -/* 30B18 80055718 27BDFFE0 */ addiu $sp, $sp, -0x20 -/* 30B1C 8005571C AFB10014 */ sw $s1, 0x14($sp) -/* 30B20 80055720 0080882D */ daddu $s1, $a0, $zero -/* 30B24 80055724 AFBF0018 */ sw $ra, 0x18($sp) -/* 30B28 80055728 0C01430C */ jal func_80050C30 -/* 30B2C 8005572C AFB00010 */ sw $s0, 0x10($sp) -/* 30B30 80055730 0040802D */ daddu $s0, $v0, $zero -/* 30B34 80055734 16000005 */ bnez $s0, .L8005574C -/* 30B38 80055738 0200102D */ daddu $v0, $s0, $zero -/* 30B3C 8005573C 0220202D */ daddu $a0, $s1, $zero -/* 30B40 80055740 0C014319 */ jal func_80050C64 -/* 30B44 80055744 0000282D */ daddu $a1, $zero, $zero -/* 30B48 80055748 0200102D */ daddu $v0, $s0, $zero -.L8005574C: -/* 30B4C 8005574C 8FBF0018 */ lw $ra, 0x18($sp) -/* 30B50 80055750 8FB10014 */ lw $s1, 0x14($sp) -/* 30B54 80055754 8FB00010 */ lw $s0, 0x10($sp) -/* 30B58 80055758 03E00008 */ jr $ra -/* 30B5C 8005575C 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/code_303c0_len_3e10/func_80055760.s b/asm/nonmatchings/code_303c0_len_3e10/func_80055760.s deleted file mode 100644 index 2cbf40cc5c..0000000000 --- a/asm/nonmatchings/code_303c0_len_3e10/func_80055760.s +++ /dev/null @@ -1,33 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel func_80055760 -/* 30B60 80055760 27BDFFE0 */ addiu $sp, $sp, -0x20 -/* 30B64 80055764 AFB20018 */ sw $s2, 0x18($sp) -/* 30B68 80055768 0080902D */ daddu $s2, $a0, $zero -/* 30B6C 8005576C AFB10014 */ sw $s1, 0x14($sp) -/* 30B70 80055770 24110004 */ addiu $s1, $zero, 4 -/* 30B74 80055774 240200FF */ addiu $v0, $zero, 0xff -/* 30B78 80055778 AFB00010 */ sw $s0, 0x10($sp) -/* 30B7C 8005577C 0000802D */ daddu $s0, $zero, $zero -/* 30B80 80055780 AFBF001C */ sw $ra, 0x1c($sp) -/* 30B84 80055784 3C018008 */ lui $at, %hi(D_80078DB6) -/* 30B88 80055788 A4228DB6 */ sh $v0, %lo(D_80078DB6)($at) -/* 30B8C 8005578C 0200202D */ daddu $a0, $s0, $zero -.L80055790: -/* 30B90 80055790 0C015519 */ jal func_80055464 -/* 30B94 80055794 0000282D */ daddu $a1, $zero, $zero -/* 30B98 80055798 14400006 */ bnez $v0, .L800557B4 -/* 30B9C 8005579C 26100001 */ addiu $s0, $s0, 1 -/* 30BA0 800557A0 0211102B */ sltu $v0, $s0, $s1 -/* 30BA4 800557A4 1440FFFA */ bnez $v0, .L80055790 -/* 30BA8 800557A8 0200202D */ daddu $a0, $s0, $zero -/* 30BAC 800557AC 0C015612 */ jal func_80055848 -/* 30BB0 800557B0 0240202D */ daddu $a0, $s2, $zero -.L800557B4: -/* 30BB4 800557B4 8FBF001C */ lw $ra, 0x1c($sp) -/* 30BB8 800557B8 8FB20018 */ lw $s2, 0x18($sp) -/* 30BBC 800557BC 8FB10014 */ lw $s1, 0x14($sp) -/* 30BC0 800557C0 8FB00010 */ lw $s0, 0x10($sp) -/* 30BC4 800557C4 03E00008 */ jr $ra -/* 30BC8 800557C8 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/code_303c0_len_3e10/func_800559E0.s b/asm/nonmatchings/code_303c0_len_3e10/func_800559E0.s deleted file mode 100644 index a7ec8e7fa0..0000000000 --- a/asm/nonmatchings/code_303c0_len_3e10/func_800559E0.s +++ /dev/null @@ -1,11 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel func_800559E0 -/* 30DE0 800559E0 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 30DE4 800559E4 AFBF0010 */ sw $ra, 0x10($sp) -/* 30DE8 800559E8 0C01369D */ jal func_8004DA74 -/* 30DEC 800559EC 00000000 */ nop -/* 30DF0 800559F0 8FBF0010 */ lw $ra, 0x10($sp) -/* 30DF4 800559F4 03E00008 */ jr $ra -/* 30DF8 800559F8 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/code_303c0_len_3e10/func_800559FC.s b/asm/nonmatchings/code_303c0_len_3e10/func_800559FC.s deleted file mode 100644 index 813bb214c5..0000000000 --- a/asm/nonmatchings/code_303c0_len_3e10/func_800559FC.s +++ /dev/null @@ -1,11 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel func_800559FC -/* 30DFC 800559FC 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 30E00 80055A00 AFBF0010 */ sw $ra, 0x10($sp) -/* 30E04 80055A04 0C0136B8 */ jal func_8004DAE0 -/* 30E08 80055A08 00000000 */ nop -/* 30E0C 80055A0C 8FBF0010 */ lw $ra, 0x10($sp) -/* 30E10 80055A10 03E00008 */ jr $ra -/* 30E14 80055A14 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/code_303c0_len_3e10/func_80056228.s b/asm/nonmatchings/code_303c0_len_3e10/func_80056228.s deleted file mode 100644 index 3a48629bd8..0000000000 --- a/asm/nonmatchings/code_303c0_len_3e10/func_80056228.s +++ /dev/null @@ -1,14 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel func_80056228 -/* 31628 80056228 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 3162C 8005622C 3C04800A */ lui $a0, %hi(D_8009A640) -/* 31630 80056230 8C84A640 */ lw $a0, %lo(D_8009A640)($a0) -/* 31634 80056234 AFBF0010 */ sw $ra, 0x10($sp) -/* 31638 80056238 0C012E95 */ jal func_8004BA54 -/* 3163C 8005623C 24050001 */ addiu $a1, $zero, 1 -/* 31640 80056240 8FBF0010 */ lw $ra, 0x10($sp) -/* 31644 80056244 03E00008 */ jr $ra -/* 31648 80056248 27BD0018 */ addiu $sp, $sp, 0x18 -/* 3164C 8005624C 00000000 */ nop diff --git a/include/functions.h b/include/functions.h index fe2254e58a..c6ca90208c 100644 --- a/include/functions.h +++ b/include/functions.h @@ -68,9 +68,6 @@ f32 clamp_angle(f32 theta); s32 sign(s32 value); s32 func_80055448(s32); s32 func_80055464(s32, s32); -s32 func_800554A4(s32, s32); -s32 func_800554E8(s32, s32); -s32 func_800555E4(s32); void func_800561A4(s32); s32 osGetId(); diff --git a/src/audio.h b/src/audio.h index 9fb462b19c..d5ec532c21 100644 --- a/src/audio.h +++ b/src/audio.h @@ -25,9 +25,20 @@ typedef struct UnkAl2 { /* 0x06 */ s8 unk_06; } UnkAl2; +typedef struct UnkLen18 { + /* 0x00 */ s16 unk_00; + /* 0x02 */ char unk_02[0x2]; + /* 0x04 */ s32 unk_04; + /* 0x08 */ s32 unk_08; + /* 0x0C */ s8 unk_0C; + /* 0x0D */ char unk_0D[0xB]; +} UnkLen18; + typedef struct UnkAl0 { /* 0x00 */ char unk_00[0x18]; /* 0x18 */ ALHeap* unk_18; + /* 0x1C */ char unk_1C[0x4]; + /* 0x20 */ UnkLen18 unk_20[1]; // amt unknown } UnkAl0; typedef struct UnkAl6CC { @@ -72,16 +83,18 @@ typedef struct UnkAlA9C { typedef struct UnkAl48 { /* 0x00 */ s32 unk_00; /* 0x04 */ s32 unk_04; - /* 0x08 */ char unk_08[4]; + /* 0x08 */ s32 unk_08; /* 0x0C */ s16 unk_0C; /* 0x0E */ u8 unk_0E; /* 0x0F */ u8 unk_0F; - /* 0x10 */ s8 unk_10; - /* 0x11 */ char unk_11[0xB]; + /* 0x10 */ u8 unk_10; + /* 0x11 */ char unk_11[0x3]; + /* 0x14 */ s32 unk_14; + /* 0x18 */ char unk_18[0x4]; /* 0x1C */ s32 unk_1C; /* 0x20 */ char unk_20[0x22]; - /* 0x42 */ s8 unk_42; - /* 0x43 */ s8 unk_43; + /* 0x42 */ u8 unk_42; + /* 0x43 */ u8 unk_43; /* 0x44 */ s8 unk_44; /* 0x45 */ u8 unk_45; /* 0x46 */ char unk_46[2]; @@ -161,10 +174,10 @@ typedef struct UnkAl19E0 { /* 0x0038 */ s32 unk_38; /* 0x003C */ UnkAl19E0Sub* unk_3C; /* 0x0040 */ UnkAl19E0Sub2 unk_40[4]; - /* 0x0050 */ s8 unk_50; - /* 0x0051 */ s8 unk_51; - /* 0x0052 */ s8 unk_52; - /* 0x0053 */ s8 unk_53; + /* 0x0050 */ u8 unk_50; + /* 0x0051 */ u8 unk_51; + /* 0x0052 */ u8 unk_52; + /* 0x0053 */ u8 unk_53; /* 0x0054 */ s32* unk_54; /* 0x0058 */ s32* unk_58; /* 0x005C */ s32* unk_5C; @@ -211,11 +224,13 @@ typedef struct UnkAl19E0 { } UnkAl19E0; // size = 0x19E0 typedef struct UnkAl834 { - /* 0x00 */ UnkAl19E0* unk_00; - /* 0x04 */ s32 unk_04; - /* 0x08 */ s32 unk_08; - /* 0x0C */ s32 unk_0C; - /* 0x10 */ char unk_10[0x824]; + /* 0x000 */ UnkAl19E0* unk_00; + /* 0x004 */ s32 unk_04; + /* 0x008 */ s32 unk_08; + /* 0x00C */ s32 unk_0C; + /* 0x010 */ char unk_10[0x10]; + /* 0x020 */ u8 unk_20; + /* 0x021 */ char unk_21[0x813]; } UnkAl834; // Probably some libultra audio thing @@ -241,13 +256,16 @@ typedef struct { } UnkStructFor8004DAA8; // size unknown extern UnkAl0* D_80078E54; +extern s8 D_80078181; extern s32* D_80078190; extern s32* D_800781D0; extern s32* D_80078544; extern s32* D_80078DB0; +extern u16 D_80078DB6; extern s8 D_80078E58; extern s16 D_80078E5A; +extern s8 D_80078E5C; extern UnkAl19E0* D_8009A5C0; extern UnkAlA9C* D_8009A5CC; @@ -259,10 +277,12 @@ extern UnkAlA9C* D_8009A664; void al_LoadBKHeaders(UnkAl19E0* arg0, ALHeap* arg1); +void func_8004B6D8(UnkAl6CC*, s32, s16, s16, u8); void func_8004B748(UnkAl6CC*); void func_8004BA54(UnkAl6CC* arg0, s32 arg1); void func_8004D510(UnkAlA9C*); void func_8004DAA8(UnkStructFor8004DAA8* arg0); +s32 func_80050C30(u32 arg0); void func_800532F4(UnkAl30*); void func_80053370(UnkAl12*); void func_800533A8(UnkAl2*); diff --git a/src/code_26840_len_20d0.c b/src/code_26840_len_20d0.c index 2324838167..6b44de2563 100644 --- a/src/code_26840_len_20d0.c +++ b/src/code_26840_len_20d0.c @@ -7,7 +7,7 @@ INCLUDE_ASM(s32, "code_26840_len_20d0", func_8004B62C); INCLUDE_ASM(s32, "code_26840_len_20d0", func_8004B698); -INCLUDE_ASM(s32, "code_26840_len_20d0", func_8004B6D8); +INCLUDE_ASM(void, "code_26840_len_20d0", func_8004B6D8, UnkAl6CC* arg0, s32 arg1, s16 arg2, s16 arg3, u8 arg4); INCLUDE_ASM(void, "code_26840_len_20d0", func_8004B748, UnkAl6CC* arg0); diff --git a/src/code_28910_len_5090.c b/src/code_28910_len_5090.c index e7fa42fa88..55393e7dd9 100644 --- a/src/code_28910_len_5090.c +++ b/src/code_28910_len_5090.c @@ -169,7 +169,13 @@ INCLUDE_ASM(s32, "code_28910_len_5090", func_80050970); INCLUDE_ASM(s32, "code_28910_len_5090", func_80050B90); -INCLUDE_ASM(s32, "code_28910_len_5090", func_80050C30); +s32 func_80050C30(u32 arg0) { + if (D_8009A628->unk_20 <= arg0) { + return 3; + } else { + return 0; + } +} INCLUDE_ASM(s32, "code_28910_len_5090", func_80050C54); diff --git a/src/code_2e230_len_2190.c b/src/code_2e230_len_2190.c index 065ed12807..3947d9afc2 100644 --- a/src/code_2e230_len_2190.c +++ b/src/code_2e230_len_2190.c @@ -275,7 +275,83 @@ void func_800535C0(void) { func_8004B748(temp_s2); } -INCLUDE_ASM(void, "code_2e230_len_2190", func_80053654, UnkAl19E0* arg0); +//INCLUDE_ASM(void, "code_2e230_len_2190", func_80053654, UnkAl19E0* arg0); +void func_80053654(UnkAl19E0 *arg0) { + u32 i; + + if (arg0->unk_130C == 2) { + arg0->unk_130C = 1; + func_80057EB0(); + } + + if ((arg0->unk_50 != 0) && (arg0->unk_130C == 0)) { + switch (arg0->unk_53) { + case 1: + func_80057DC8(arg0->unk_52); + func_80057E08(arg0->unk_51); + arg0->unk_50 = 0; + break; + case 2: + func_80057DC8(arg0->unk_52); + func_80057E5C(arg0->unk_51); + arg0->unk_50 = 0; + break; + default: + func_80057EB0(); + arg0->unk_50 = 0; + break; + } + } + + if (arg0->unk_40[0].unk_01 != 0) { + func_80056DCC(0, arg0->unk_40[0].unk_00); + arg0->unk_40[0].unk_01 = 0; + } + if (arg0->unk_40[1].unk_01 != 0) { + func_80056DCC(1, arg0->unk_40[1].unk_00); + arg0->unk_40[1].unk_01 = 0; + + }if (arg0->unk_40[2].unk_01 != 0) { + func_80056DCC(2, arg0->unk_40[2].unk_00); + arg0->unk_40[2].unk_01 = 0; + } + if (arg0->unk_40[3].unk_01 != 0) { + func_80056DCC(3, arg0->unk_40[3].unk_00); + arg0->unk_40[3].unk_01 = 0; + } + + for (i = 0; i < ARRAY_COUNT(arg0->unk_1320); i++) { + UnkAl48* it = &arg0->unk_1320[i]; + s8 unk_43 = it->unk_43; + + if (it->unk_42 != 0) { + func_80056EE8((u8)i); // todo add decl + it->unk_42 = 0; + it->unk_1C = 0; + it->unk_45 = 0; + } + + if (unk_43 & 2) { + func_80052BF8(it, &it->unk_14); + func_80056FA4((u8)i, it->unk_10, it->unk_00, it->unk_04, it->unk_0C, it->unk_0E, it->unk_0F, it->unk_08); + it->unk_45 = it->unk_44; + } else { + if (unk_43 & 8) { + func_80057344((u8)i, it->unk_04); + } + + if (unk_43 & 4) { + func_8005736C((u8)i, it->unk_0C, it->unk_08, it->unk_0E, it->unk_0F); + } else if (unk_43 & 0x10) { + func_80057548((u8)i, it->unk_0E, it->unk_0F); + } + } + it->unk_43 = 0; + } +} + + + void func_80053888(UnkAl48* arg0, s32 arg1) { // type may be wrong but it seems good if (arg0->unk_45 != 0) { diff --git a/src/code_303c0_len_3e10.c b/src/code_303c0_len_3e10.c index af0edc6bb4..1cc72aac02 100644 --- a/src/code_303c0_len_3e10.c +++ b/src/code_303c0_len_3e10.c @@ -30,41 +30,135 @@ INCLUDE_ASM(s32, "code_303c0_len_3e10", func_800552D0); INCLUDE_ASM(s32, "code_303c0_len_3e10", func_80055330); -INCLUDE_ASM(s32, "code_303c0_len_3e10", func_800553C0); +void func_800553C0(s32 arg0) { + func_8004B6D8(D_8009A640, arg0 | 0x8000, 0, 0, 0); +} void func_800553F4(void) { D_8009A640->unk_168 = 1; } -INCLUDE_ASM(s32, "code_303c0_len_3e10", func_80055408); +void func_80055408(s32 arg0, s16 arg1, s16 arg2, s32 arg3) { + func_8004B6D8(D_8009A640, arg0, arg1, arg2, arg3); +} -INCLUDE_ASM(s32, "code_303c0_len_3e10", func_80055448, s32 arg0); +s32 func_80055448(s32 arg0) { + return func_80053F80(arg0); +} -INCLUDE_ASM(s32, "code_303c0_len_3e10", func_80055464, s32 arg0, s32 arg1); +s32 func_80055464(s32 arg0, s32 arg1) { + if (func_80050C30(arg0) == 0) { + func_80050CA0(arg0, arg1); + } +} -INCLUDE_ASM(s32, "code_303c0_len_3e10", func_800554A4, s32 arg0, s32 arg1); +s32 func_800554A4(s32 arg0, s32 arg1) { + s32 ret = func_80050C30(arg0); -INCLUDE_ASM(s32, "code_303c0_len_3e10", func_800554E8, s32 arg0, s32 arg1); + if (ret == 0) { + func_80050EF0(arg0); + } -INCLUDE_ASM(s32, "code_303c0_len_3e10", func_8005553C); + return ret; +} -INCLUDE_ASM(s32, "code_303c0_len_3e10", func_80055590); +s32 func_800554E8(s32 arg0, s32 arg1) { + s32 ret = func_80050C30(arg0); -INCLUDE_ASM(s32, "code_303c0_len_3e10", func_800555E4, s32 arg0); + if (ret == 0) { + func_80050F64(arg0, arg1); + } -INCLUDE_ASM(s32, "code_303c0_len_3e10", func_80055618); + return ret; +} -INCLUDE_ASM(s32, "code_303c0_len_3e10", func_8005566C); +s32 func_8005553C(s32 arg0, s32 arg1) { + s32 ret = func_80050C30(arg0); -INCLUDE_ASM(s32, "code_303c0_len_3e10", func_800556D0); + if (ret == 0) { + func_80050E18(arg0, arg1); + } -INCLUDE_ASM(s32, "code_303c0_len_3e10", func_80055718); + return ret; +} -INCLUDE_ASM(s32, "code_303c0_len_3e10", func_80055760); + +s32 func_80055590(s32 arg0, s32 arg1) { + s32 ret = func_80050C30(arg0); + + if (ret == 0) { + func_80050E84(arg0, arg1); + } + + return ret; +} + +void func_800555E4(s32 arg0) { + if (func_80050C30(arg0) == 0) { + func_80051050(arg0); + } +} + +s32 func_80055618(s32 arg0, s32 arg1) { + s32 ret = func_80050C30(arg0); + + if (ret == 0) { + func_80050C54(arg0, arg1); + } + + return ret; +} + +s32 func_8005566C(s32 arg0, s32 arg1, s32 arg2) { + s32 ret = func_80050C30(arg0); + + if (ret == 0) { + func_80050FD0(arg0, arg1, arg2); + } + + return ret; +} + +s32 func_800556D0(s32 arg0) { + s32 ret = func_80050C30(arg0); + + if (ret == 0) { + func_80050C64(arg0, 1); + } + + return ret; +} + +s32 func_80055718(s32 arg0) { + s32 ret = func_80050C30(arg0); + + if (ret == 0) { + func_80050C64(arg0, 0); + } + + return ret; +} + +void func_80055848(s32); + +void func_80055760(s32 arg0) { + u32 i; + s32 lim = 4; + + D_80078DB6 = 0xFF; + + for (i = 0; i < lim; i++) { + if (func_80055464(i, 0) != 0) { + return; + } + } + + func_80055848(arg0); +} INCLUDE_ASM(s32, "code_303c0_len_3e10", func_800557CC); -INCLUDE_ASM(s32, "code_303c0_len_3e10", func_80055848); +INCLUDE_ASM(void, "code_303c0_len_3e10", func_80055848, s32 arg1); INCLUDE_ASM(s32, "code_303c0_len_3e10", func_800558D4); @@ -76,9 +170,13 @@ s32 func_800559C4(UNK_TYPE arg0) { return func_8004DA0C(arg0); } -INCLUDE_ASM(s32, "code_303c0_len_3e10", func_800559E0); +void func_800559E0(void) { + func_8004DA74(); +} -INCLUDE_ASM(s32, "code_303c0_len_3e10", func_800559FC); +void func_800559FC(void) { + func_8004DAE0(); +} INCLUDE_ASM(s32, "code_303c0_len_3e10", func_80055A18); diff --git a/src/code_31650.c b/src/code_31650.c index 819d4de7b3..d47e0bcf21 100644 --- a/src/code_31650.c +++ b/src/code_31650.c @@ -33,7 +33,13 @@ INCLUDE_ASM(s16, "code_31650", func_80056D50); INCLUDE_ASM(s32, "code_31650", func_80056D5C); +#ifdef NON_MATCHING +void func_80056D78(u8 arg0, u16 arg1) { + D_80078E54->unk_20[arg0].unk_00 = arg1 & 0x7FFF; +} +#else INCLUDE_ASM(void, "code_31650", func_80056D78, u8 arg0, u16 arg1); +#endif INCLUDE_ASM(s32, "code_31650", func_80056DA4); @@ -85,7 +91,7 @@ INCLUDE_ASM(s32, "code_31650", func_80057E08); INCLUDE_ASM(s32, "code_31650", func_80057E5C); -INCLUDE_ASM(s32, "code_31650", func_80057EB0); +INCLUDE_ASM(void, "code_31650", func_80057EB0, void); INCLUDE_ASM(s32, "code_31650", func_80057ED0); From e92eac58688e6c2828507c7624feefe9f6663e52 Mon Sep 17 00:00:00 2001 From: Ethan Roseman Date: Wed, 2 Dec 2020 00:00:44 -0500 Subject: [PATCH 20/97] tidying --- .clang-tidy | 12 ++++++------ src/audio.h | 7 +++++++ src/code_2e230_len_2190.c | 7 +++---- src/code_31650.c | 12 ++++++------ 4 files changed, 22 insertions(+), 16 deletions(-) diff --git a/.clang-tidy b/.clang-tidy index 5bea913a68..22587a37ed 100644 --- a/.clang-tidy +++ b/.clang-tidy @@ -1,12 +1,12 @@ Checks: '-*,clang-analyzer-core.*,clang-analyzer-deadcode.*,readability-*,-readability-magic-numbers,-readability-else-after-return,-readability-named-parameter,-readability-braces-around-statements,-readability-isolate-declaration,-readability-uppercase-literal-suffix,-readability-function-size,-readability-non-const-parameter,readability-identifier-naming' CheckOptions: - - key: readability-identifier-naming.LocalVariableCase - value: camelBack - - key: readability-identifier-naming.ParameterCase - value: camelBack + #- key: readability-identifier-naming.LocalVariableCase + # value: camelBack + #- key: readability-identifier-naming.ParameterCase + # value: camelBack - - key: readability-identifier-naming.TypedefCase - value: CamelCase + #- key: readability-identifier-naming.TypedefCase + # value: CamelCase # TODO: rename all unk_XXX members #- key: readability-identifier-naming.MemberCase diff --git a/src/audio.h b/src/audio.h index d5ec532c21..6c44f5e187 100644 --- a/src/audio.h +++ b/src/audio.h @@ -295,7 +295,14 @@ void func_80054CE0(s32, s32); void func_8005610C(void); s16 func_80056D50(void); void func_80056D78(u8, u16); +void func_80056DCC(u8, u8); +void func_80056EE8(u8); void func_800576EC(u8, s32, s32); +void func_80057DC8(u8); +void func_80057E08(u8); +void func_80057548(u8, u8, u8); +void func_80057E5C(u8); +void func_80057EB0(void); void al_LoadINIT(UnkAl19E0*, s32, ALHeap*); s32 al_CopyFileTableEntry(u16 arg0, s32 arg1, s32* arg2); diff --git a/src/code_2e230_len_2190.c b/src/code_2e230_len_2190.c index 3947d9afc2..4c109d792e 100644 --- a/src/code_2e230_len_2190.c +++ b/src/code_2e230_len_2190.c @@ -275,7 +275,6 @@ void func_800535C0(void) { func_8004B748(temp_s2); } -//INCLUDE_ASM(void, "code_2e230_len_2190", func_80053654, UnkAl19E0* arg0); void func_80053654(UnkAl19E0 *arg0) { u32 i; @@ -322,10 +321,10 @@ void func_80053654(UnkAl19E0 *arg0) { for (i = 0; i < ARRAY_COUNT(arg0->unk_1320); i++) { UnkAl48* it = &arg0->unk_1320[i]; - s8 unk_43 = it->unk_43; + u8 unk_43 = it->unk_43; if (it->unk_42 != 0) { - func_80056EE8((u8)i); // todo add decl + func_80056EE8(i); // todo add decl it->unk_42 = 0; it->unk_1C = 0; it->unk_45 = 0; @@ -343,7 +342,7 @@ void func_80053654(UnkAl19E0 *arg0) { if (unk_43 & 4) { func_8005736C((u8)i, it->unk_0C, it->unk_08, it->unk_0E, it->unk_0F); } else if (unk_43 & 0x10) { - func_80057548((u8)i, it->unk_0E, it->unk_0F); + func_80057548(i, it->unk_0E, it->unk_0F); } } it->unk_43 = 0; diff --git a/src/code_31650.c b/src/code_31650.c index d47e0bcf21..cad778b67c 100644 --- a/src/code_31650.c +++ b/src/code_31650.c @@ -43,13 +43,13 @@ INCLUDE_ASM(void, "code_31650", func_80056D78, u8 arg0, u16 arg1); INCLUDE_ASM(s32, "code_31650", func_80056DA4); -INCLUDE_ASM(s32, "code_31650", func_80056DCC); +INCLUDE_ASM(void, "code_31650", func_80056DCC, u8 arg0, u8 arg1); INCLUDE_ASM(s32, "code_31650", func_80056E34); INCLUDE_ASM(s32, "code_31650", func_80056EC0); -INCLUDE_ASM(s32, "code_31650", func_80056EE8); +INCLUDE_ASM(void, "code_31650", func_80056EE8, u8 arg0); INCLUDE_ASM(s32, "code_31650", func_80056F78); @@ -61,7 +61,7 @@ INCLUDE_ASM(s32, "code_31650", func_80057344); INCLUDE_ASM(s32, "code_31650", func_8005736C); -INCLUDE_ASM(s32, "code_31650", func_80057548); +INCLUDE_ASM(void, "code_31650", func_80057548, u8 arg0, u8 arg1, u8 arg2); INCLUDE_ASM(void, "code_31650", func_800576EC, u8 arg0, s32 arg1, s32 arg2); @@ -85,11 +85,11 @@ INCLUDE_ASM(s32, "code_31650", func_80057C54); INCLUDE_ASM(s32, "code_31650", func_80057D0C); -INCLUDE_ASM(s32, "code_31650", func_80057DC8); +INCLUDE_ASM(void, "code_31650", func_80057DC8, u8 arg0); -INCLUDE_ASM(s32, "code_31650", func_80057E08); +INCLUDE_ASM(void, "code_31650", func_80057E08, u8 arg0); -INCLUDE_ASM(s32, "code_31650", func_80057E5C); +INCLUDE_ASM(void, "code_31650", func_80057E5C, u8 arg0); INCLUDE_ASM(void, "code_31650", func_80057EB0, void); From 9e5a9710be6ddb93258e86280101b683c2ed2a6b Mon Sep 17 00:00:00 2001 From: Ethan Roseman Date: Wed, 2 Dec 2020 01:23:13 -0500 Subject: [PATCH 21/97] fix splat regression, cleanup --- .../code_1b40_len_20b0/load_engine_data.s | 12 +++++----- src/audio.h | 2 +- src/code_2e230_len_2190.c | 24 +++++++++---------- src/code_303c0_len_3e10.c | 1 - tools/n64splat | 2 +- 5 files changed, 19 insertions(+), 22 deletions(-) diff --git a/asm/nonmatchings/code_1b40_len_20b0/load_engine_data.s b/asm/nonmatchings/code_1b40_len_20b0/load_engine_data.s index d120ccb1a2..67f8cd42ab 100644 --- a/asm/nonmatchings/code_1b40_len_20b0/load_engine_data.s +++ b/asm/nonmatchings/code_1b40_len_20b0/load_engine_data.s @@ -24,24 +24,24 @@ glabel load_engine_data /* 2228 80026E28 248479B0 */ addiu $a0, $a0, 0x79b0 /* 222C 80026E2C 3C050010 */ lui $a1, 0x10 /* 2230 80026E30 24A5EE30 */ addiu $a1, $a1, -0x11d0 -/* 2234 80026E34 3C06802C */ lui $a2, %hi(D_802C3000) -/* 2238 80026E38 24C63000 */ addiu $a2, $a2, %lo(D_802C3000) +/* 2234 80026E34 3C06802C */ lui $a2, %hi(sort_scripts) +/* 2238 80026E38 24C63000 */ addiu $a2, $a2, %lo(sort_scripts) /* 223C 80026E3C 0C00A5CF */ jal dma_copy /* 2240 80026E40 00000000 */ nop /* 2244 80026E44 3C040010 */ lui $a0, 0x10 /* 2248 80026E48 24842610 */ addiu $a0, $a0, 0x2610 /* 224C 80026E4C 3C050011 */ lui $a1, 0x11 /* 2250 80026E50 24A5CC10 */ addiu $a1, $a1, -0x33f0 -/* 2254 80026E54 3C06802E */ lui $a2, %hi(D_802E0D90) -/* 2258 80026E58 24C60D90 */ addiu $a2, $a2, %lo(D_802E0D90) +/* 2254 80026E54 3C06802E */ lui $a2, %hi(create_shadow_callback) +/* 2258 80026E58 24C60D90 */ addiu $a2, $a2, %lo(create_shadow_callback) /* 225C 80026E5C 0C00A5CF */ jal dma_copy /* 2260 80026E60 00000000 */ nop /* 2264 80026E64 3C04000A */ lui $a0, 0xa /* 2268 80026E68 24845DD0 */ addiu $a0, $a0, 0x5dd0 /* 226C 80026E6C 3C05000E */ lui $a1, 0xe /* 2270 80026E70 24A579B0 */ addiu $a1, $a1, 0x79b0 -/* 2274 80026E74 3C068011 */ lui $a2, %hi(D_8010F6D0) -/* 2278 80026E78 24C6F6D0 */ addiu $a2, $a2, %lo(D_8010F6D0) +/* 2274 80026E74 3C068011 */ lui $a2, %hi(update_entities) +/* 2278 80026E78 24C6F6D0 */ addiu $a2, $a2, %lo(update_entities) /* 227C 80026E7C 0C00A5CF */ jal dma_copy /* 2280 80026E80 00000000 */ nop /* 2284 80026E84 3C040011 */ lui $a0, 0x11 diff --git a/src/audio.h b/src/audio.h index 6c44f5e187..8ca7d246df 100644 --- a/src/audio.h +++ b/src/audio.h @@ -289,7 +289,7 @@ void func_800533A8(UnkAl2*); void func_80053654(UnkAl19E0*); void func_80053A18(UnkStructFor80053A18* arg0); void func_80053A28(s32); -void func_80053A98(s16 arg0, s32 arg1, s32 arg2); +void func_80053A98(u8 arg0, u16 arg1, s32 arg2); void func_80053BA8(UnkAl1*); void func_80054CE0(s32, s32); void func_8005610C(void); diff --git a/src/code_2e230_len_2190.c b/src/code_2e230_len_2190.c index 4c109d792e..4ab91734bb 100644 --- a/src/code_2e230_len_2190.c +++ b/src/code_2e230_len_2190.c @@ -21,8 +21,6 @@ void func_80052E5C(s32 arg0) { UnkAl6CC** temp2_1; UnkAlA9C** temp3; UnkAl48* temp5; - u8* temp7; - s32** temp8; alHeap = D_80078E54->unk_18; *temp_s4 = alHeapAlloc(alHeap, 1, 0x19E0); @@ -95,31 +93,31 @@ void func_80052E5C(s32 arg0) { temp2_1 = &D_8009A640; temp3 = &D_8009A5FC; temp1_1 = &D_8009A664; - func_8004E158((*temp1_1), 1, 0, temp4); + + func_8004E158(*temp1_1, 1, 0, temp4); temp6[0] = 0; temp6[1] = 3; temp6[2] = 0xff; temp6[3] = 0xff; - temp7 = &temp6[0]; - func_8004E344((*temp1_1), temp7); - func_8004E158((*temp3), 2, 2, temp4); + func_8004E344(*temp1_1, &temp6); + func_8004E158(*temp3, 2, 2, temp4); temp6[0] = 2; temp6[1] = 0xff; temp6[2] = 0xff; temp6[3] = 0xff; - func_8004E344((*temp3), temp7); - func_8004B440((*temp2_1), 4, 1, temp4, 0x10); + func_8004E344(*temp3, &temp6); + func_8004B440(*temp2_1, 4, 1, temp4, 0x10); func_80050B90(D_8009A628, 6, 1, temp4); func_80052614(temp4); al_LoadBKHeaders(temp4, alHeap); - if (al_CopyFileTableEntry(temp4->unk_3C->unk_0, 0x20, &subroutine_arg7) == 0) { + if (al_CopyFileTableEntry(temp4->unk_3C->unk_0, 0x20, subroutine_arg7) == 0) { al_DmaCopy(subroutine_arg7[0], temp4->unk_A0, subroutine_arg7[1] & 0xFFFFFF); } func_8004B62C((*temp2_1)); if (al_CopyFileTableEntry(temp4->unk_3C->unk_2, 0x40, subroutine_arg7) == 0) { al_LoadPER(temp4, subroutine_arg7[0]); } - if (al_CopyFileTableEntry(temp4->unk_3C->unk_4, 0x40, &subroutine_arg7) == 0) { + if (al_CopyFileTableEntry(temp4->unk_3C->unk_4, 0x40, subroutine_arg7) == 0) { al_LoadPRG(temp4, subroutine_arg7[0]); } @@ -380,8 +378,8 @@ void func_80053A18(UnkStructFor80053A18* arg0) { INCLUDE_ASM(void, "code_2e230_len_2190", func_80053A28, s32 arg0); -void func_80053A98(s16 arg0, s32 arg1, s32 arg2) { - func_80056D78(arg0, (u32) ((u16)arg1 * arg2) >> 15); +void func_80053A98(u8 arg0, u16 arg1, s32 arg2) { + func_80056D78(arg0, (u32) (arg1 * arg2) >> 15); } void func_80053AC8(UnkAl1* arg0) { @@ -439,7 +437,7 @@ INCLUDE_ASM(s32, "code_2e230_len_2190", func_80053E58); UnkAlA9C* func_80053F64(s32 arg0) { if (arg0 == 0) { - return D_8009A5C0->unk_6C[0].unk_0; // 0x6C + return D_8009A5C0->unk_6C[0].unk_0; } return NULL; } diff --git a/src/code_303c0_len_3e10.c b/src/code_303c0_len_3e10.c index 1cc72aac02..d12bee1c09 100644 --- a/src/code_303c0_len_3e10.c +++ b/src/code_303c0_len_3e10.c @@ -82,7 +82,6 @@ s32 func_8005553C(s32 arg0, s32 arg1) { return ret; } - s32 func_80055590(s32 arg0, s32 arg1) { s32 ret = func_80050C30(arg0); diff --git a/tools/n64splat b/tools/n64splat index a515a468e1..33c1f8eb4a 160000 --- a/tools/n64splat +++ b/tools/n64splat @@ -1 +1 @@ -Subproject commit a515a468e1bf9abec6472293d75ee8a1d6615efc +Subproject commit 33c1f8eb4ac4da83262eadb62fe9104470242ddd From 04eebda913bc87cfc69dc4094606d8eedde255f5 Mon Sep 17 00:00:00 2001 From: Ethan Roseman Date: Wed, 2 Dec 2020 02:09:33 -0500 Subject: [PATCH 22/97] cleanup --- include/functions.h | 2 ++ src/audio.h | 2 +- src/code_2e230_len_2190.c | 2 +- 3 files changed, 4 insertions(+), 2 deletions(-) diff --git a/include/functions.h b/include/functions.h index c6ca90208c..ca4e7eea15 100644 --- a/include/functions.h +++ b/include/functions.h @@ -148,4 +148,6 @@ ScriptInstance* get_script_by_index(s32 index); void suspend_all_group(s32 groupFlags); void kill_script(ScriptInstance* instanceToKill); +void nuPiReadRom(u32 rom_addr, void* buf_ptr, u32 size); + #endif diff --git a/src/audio.h b/src/audio.h index 8ca7d246df..c845cf6596 100644 --- a/src/audio.h +++ b/src/audio.h @@ -308,7 +308,7 @@ void al_LoadINIT(UnkAl19E0*, s32, ALHeap*); s32 al_CopyFileTableEntry(u16 arg0, s32 arg1, s32* arg2); void al_LoadPER(UnkAl19E0*, s32*); void al_LoadPRG(UnkAl19E0*, s32*); -void al_DmaCopy(s32*, s32*, s32); +void al_DmaCopy(s32, s32*, s32); #undef alHeapAlloc void* alHeapAlloc(ALHeap *heap, s32 arg1, s32 size); diff --git a/src/code_2e230_len_2190.c b/src/code_2e230_len_2190.c index 4ab91734bb..4ec8f1b86b 100644 --- a/src/code_2e230_len_2190.c +++ b/src/code_2e230_len_2190.c @@ -493,7 +493,7 @@ s32 func_80054D74(s32 arg0) { INCLUDE_ASM(s32, "code_2e230_len_2190", func_80054DA8); -INCLUDE_ASM(void, "code_2e230_len_2190", al_DmaCopy, s32* arg0, s32* arg1, s32 arg2); +INCLUDE_ASM(void, "code_2e230_len_2190", al_DmaCopy, s32 arg0, s32* arg1, s32 arg2); INCLUDE_ASM(s32, "code_2e230_len_2190", func_80054E90); From 6982113b7ce21b55f4832ccf9447a68a54643434 Mon Sep 17 00:00:00 2001 From: Ethan Roseman Date: Sat, 5 Dec 2020 21:25:25 -0500 Subject: [PATCH 23/97] more --- .../code_26840_len_20d0/func_8004BA54.s | 14 ---- .../code_303c0_len_3e10/func_80056EC0.s | 14 ---- .../code_303c0_len_3e10/func_80056F78.s | 15 ---- .../code_303c0_len_3e10/func_80057344.s | 14 ---- .../code_303c0_len_3e10/func_80057B64.s | 14 ---- .../code_303c0_len_3e10/func_80057B8C.s | 14 ---- .../code_303c0_len_3e10/func_80057BB4.s | 14 ---- .../code_303c0_len_3e10/func_80057BDC.s | 14 ---- .../code_303c0_len_3e10/func_80057C04.s | 14 ---- .../code_303c0_len_3e10/func_80057C2C.s | 14 ---- .../code_303c0_len_3e10/func_80057DC8.s | 22 ------ asm/nonmatchings/code_31650/func_80056EC0.s | 14 ---- asm/nonmatchings/code_31650/func_80056F78.s | 15 ---- asm/nonmatchings/code_31650/func_80057344.s | 14 ---- asm/nonmatchings/code_31650/func_80057B64.s | 14 ---- asm/nonmatchings/code_31650/func_80057B8C.s | 14 ---- asm/nonmatchings/code_31650/func_80057BB4.s | 14 ---- asm/nonmatchings/code_31650/func_80057BDC.s | 14 ---- asm/nonmatchings/code_31650/func_80057C04.s | 14 ---- asm/nonmatchings/code_31650/func_80057C2C.s | 14 ---- asm/nonmatchings/code_31650/func_80057DC8.s | 22 ------ src/audio.h | 23 +++++- src/code_26840_len_20d0.c | 8 ++- src/code_31650.c | 71 ++++++++++++++++--- 24 files changed, 88 insertions(+), 326 deletions(-) delete mode 100644 asm/nonmatchings/code_26840_len_20d0/func_8004BA54.s delete mode 100644 asm/nonmatchings/code_303c0_len_3e10/func_80056EC0.s delete mode 100644 asm/nonmatchings/code_303c0_len_3e10/func_80056F78.s delete mode 100644 asm/nonmatchings/code_303c0_len_3e10/func_80057344.s delete mode 100644 asm/nonmatchings/code_303c0_len_3e10/func_80057B64.s delete mode 100644 asm/nonmatchings/code_303c0_len_3e10/func_80057B8C.s delete mode 100644 asm/nonmatchings/code_303c0_len_3e10/func_80057BB4.s delete mode 100644 asm/nonmatchings/code_303c0_len_3e10/func_80057BDC.s delete mode 100644 asm/nonmatchings/code_303c0_len_3e10/func_80057C04.s delete mode 100644 asm/nonmatchings/code_303c0_len_3e10/func_80057C2C.s delete mode 100644 asm/nonmatchings/code_303c0_len_3e10/func_80057DC8.s delete mode 100644 asm/nonmatchings/code_31650/func_80056EC0.s delete mode 100644 asm/nonmatchings/code_31650/func_80056F78.s delete mode 100644 asm/nonmatchings/code_31650/func_80057344.s delete mode 100644 asm/nonmatchings/code_31650/func_80057B64.s delete mode 100644 asm/nonmatchings/code_31650/func_80057B8C.s delete mode 100644 asm/nonmatchings/code_31650/func_80057BB4.s delete mode 100644 asm/nonmatchings/code_31650/func_80057BDC.s delete mode 100644 asm/nonmatchings/code_31650/func_80057C04.s delete mode 100644 asm/nonmatchings/code_31650/func_80057C2C.s delete mode 100644 asm/nonmatchings/code_31650/func_80057DC8.s diff --git a/asm/nonmatchings/code_26840_len_20d0/func_8004BA54.s b/asm/nonmatchings/code_26840_len_20d0/func_8004BA54.s deleted file mode 100644 index 06a3e4b95b..0000000000 --- a/asm/nonmatchings/code_26840_len_20d0/func_8004BA54.s +++ /dev/null @@ -1,14 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel func_8004BA54 -/* 26E54 8004BA54 14A00003 */ bnez $a1, .L8004BA64 -/* 26E58 8004BA58 24020001 */ addiu $v0, $zero, 1 -/* 26E5C 8004BA5C 03E00008 */ jr $ra -/* 26E60 8004BA60 A08000C0 */ sb $zero, 0xc0($a0) -.L8004BA64: -/* 26E64 8004BA64 50A20001 */ beql $a1, $v0, .L8004BA6C -/* 26E68 8004BA68 A08500C0 */ sb $a1, 0xc0($a0) -.L8004BA6C: -/* 26E6C 8004BA6C 03E00008 */ jr $ra -/* 26E70 8004BA70 00000000 */ nop diff --git a/asm/nonmatchings/code_303c0_len_3e10/func_80056EC0.s b/asm/nonmatchings/code_303c0_len_3e10/func_80056EC0.s deleted file mode 100644 index bbfc4ef0eb..0000000000 --- a/asm/nonmatchings/code_303c0_len_3e10/func_80056EC0.s +++ /dev/null @@ -1,14 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel func_80056EC0 -/* 322C0 80056EC0 308400FF */ andi $a0, $a0, 0xff -/* 322C4 80056EC4 00041940 */ sll $v1, $a0, 5 -/* 322C8 80056EC8 3C028008 */ lui $v0, %hi(D_80078E54) -/* 322CC 80056ECC 8C428E54 */ lw $v0, %lo(D_80078E54)($v0) -/* 322D0 80056ED0 00641823 */ subu $v1, $v1, $a0 -/* 322D4 80056ED4 8C42001C */ lw $v0, 0x1c($v0) -/* 322D8 80056ED8 00031880 */ sll $v1, $v1, 2 -/* 322DC 80056EDC 00431021 */ addu $v0, $v0, $v1 -/* 322E0 80056EE0 03E00008 */ jr $ra -/* 322E4 80056EE4 A0450078 */ sb $a1, 0x78($v0) diff --git a/asm/nonmatchings/code_303c0_len_3e10/func_80056F78.s b/asm/nonmatchings/code_303c0_len_3e10/func_80056F78.s deleted file mode 100644 index 2716ed4dd7..0000000000 --- a/asm/nonmatchings/code_303c0_len_3e10/func_80056F78.s +++ /dev/null @@ -1,15 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel func_80056F78 -/* 32378 80056F78 308400FF */ andi $a0, $a0, 0xff -/* 3237C 80056F7C 00041140 */ sll $v0, $a0, 5 -/* 32380 80056F80 3C038008 */ lui $v1, %hi(D_80078E54) -/* 32384 80056F84 8C638E54 */ lw $v1, %lo(D_80078E54)($v1) -/* 32388 80056F88 00441023 */ subu $v0, $v0, $a0 -/* 3238C 80056F8C 8C63001C */ lw $v1, 0x1c($v1) -/* 32390 80056F90 00021080 */ sll $v0, $v0, 2 -/* 32394 80056F94 00621821 */ addu $v1, $v1, $v0 -/* 32398 80056F98 24020001 */ addiu $v0, $zero, 1 -/* 3239C 80056F9C 03E00008 */ jr $ra -/* 323A0 80056FA0 AC620070 */ sw $v0, 0x70($v1) diff --git a/asm/nonmatchings/code_303c0_len_3e10/func_80057344.s b/asm/nonmatchings/code_303c0_len_3e10/func_80057344.s deleted file mode 100644 index 107e6ba4ca..0000000000 --- a/asm/nonmatchings/code_303c0_len_3e10/func_80057344.s +++ /dev/null @@ -1,14 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel func_80057344 -/* 32744 80057344 308400FF */ andi $a0, $a0, 0xff -/* 32748 80057348 00041940 */ sll $v1, $a0, 5 -/* 3274C 8005734C 3C028008 */ lui $v0, %hi(D_80078E54) -/* 32750 80057350 8C428E54 */ lw $v0, %lo(D_80078E54)($v0) -/* 32754 80057354 00641823 */ subu $v1, $v1, $a0 -/* 32758 80057358 8C42001C */ lw $v0, 0x1c($v0) -/* 3275C 8005735C 00031880 */ sll $v1, $v1, 2 -/* 32760 80057360 00431021 */ addu $v0, $v0, $v1 -/* 32764 80057364 03E00008 */ jr $ra -/* 32768 80057368 AC45003C */ sw $a1, 0x3c($v0) diff --git a/asm/nonmatchings/code_303c0_len_3e10/func_80057B64.s b/asm/nonmatchings/code_303c0_len_3e10/func_80057B64.s deleted file mode 100644 index 33a238ea38..0000000000 --- a/asm/nonmatchings/code_303c0_len_3e10/func_80057B64.s +++ /dev/null @@ -1,14 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel func_80057B64 -/* 32F64 80057B64 308400FF */ andi $a0, $a0, 0xff -/* 32F68 80057B68 00041940 */ sll $v1, $a0, 5 -/* 32F6C 80057B6C 3C028008 */ lui $v0, %hi(D_80078E54) -/* 32F70 80057B70 8C428E54 */ lw $v0, %lo(D_80078E54)($v0) -/* 32F74 80057B74 00641823 */ subu $v1, $v1, $a0 -/* 32F78 80057B78 8C42001C */ lw $v0, 0x1c($v0) -/* 32F7C 80057B7C 00031880 */ sll $v1, $v1, 2 -/* 32F80 80057B80 00431021 */ addu $v0, $v0, $v1 -/* 32F84 80057B84 03E00008 */ jr $ra -/* 32F88 80057B88 8C420070 */ lw $v0, 0x70($v0) diff --git a/asm/nonmatchings/code_303c0_len_3e10/func_80057B8C.s b/asm/nonmatchings/code_303c0_len_3e10/func_80057B8C.s deleted file mode 100644 index c3600f33bd..0000000000 --- a/asm/nonmatchings/code_303c0_len_3e10/func_80057B8C.s +++ /dev/null @@ -1,14 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel func_80057B8C -/* 32F8C 80057B8C 308400FF */ andi $a0, $a0, 0xff -/* 32F90 80057B90 00041940 */ sll $v1, $a0, 5 -/* 32F94 80057B94 3C028008 */ lui $v0, %hi(D_80078E54) -/* 32F98 80057B98 8C428E54 */ lw $v0, %lo(D_80078E54)($v0) -/* 32F9C 80057B9C 00641823 */ subu $v1, $v1, $a0 -/* 32FA0 80057BA0 8C42001C */ lw $v0, 0x1c($v0) -/* 32FA4 80057BA4 00031880 */ sll $v1, $v1, 2 -/* 32FA8 80057BA8 00431021 */ addu $v0, $v0, $v1 -/* 32FAC 80057BAC 03E00008 */ jr $ra -/* 32FB0 80057BB0 90420078 */ lbu $v0, 0x78($v0) diff --git a/asm/nonmatchings/code_303c0_len_3e10/func_80057BB4.s b/asm/nonmatchings/code_303c0_len_3e10/func_80057BB4.s deleted file mode 100644 index 8ee44c1d63..0000000000 --- a/asm/nonmatchings/code_303c0_len_3e10/func_80057BB4.s +++ /dev/null @@ -1,14 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel func_80057BB4 -/* 32FB4 80057BB4 308400FF */ andi $a0, $a0, 0xff -/* 32FB8 80057BB8 00041940 */ sll $v1, $a0, 5 -/* 32FBC 80057BBC 3C028008 */ lui $v0, %hi(D_80078E54) -/* 32FC0 80057BC0 8C428E54 */ lw $v0, %lo(D_80078E54)($v0) -/* 32FC4 80057BC4 00641823 */ subu $v1, $v1, $a0 -/* 32FC8 80057BC8 8C42001C */ lw $v0, 0x1c($v0) -/* 32FCC 80057BCC 00031880 */ sll $v1, $v1, 2 -/* 32FD0 80057BD0 00431021 */ addu $v0, $v0, $v1 -/* 32FD4 80057BD4 03E00008 */ jr $ra -/* 32FD8 80057BD8 C440003C */ lwc1 $f0, 0x3c($v0) diff --git a/asm/nonmatchings/code_303c0_len_3e10/func_80057BDC.s b/asm/nonmatchings/code_303c0_len_3e10/func_80057BDC.s deleted file mode 100644 index c2d51bf68a..0000000000 --- a/asm/nonmatchings/code_303c0_len_3e10/func_80057BDC.s +++ /dev/null @@ -1,14 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel func_80057BDC -/* 32FDC 80057BDC 308400FF */ andi $a0, $a0, 0xff -/* 32FE0 80057BE0 00041940 */ sll $v1, $a0, 5 -/* 32FE4 80057BE4 3C028008 */ lui $v0, %hi(D_80078E54) -/* 32FE8 80057BE8 8C428E54 */ lw $v0, %lo(D_80078E54)($v0) -/* 32FEC 80057BEC 00641823 */ subu $v1, $v1, $a0 -/* 32FF0 80057BF0 8C42001C */ lw $v0, 0x1c($v0) -/* 32FF4 80057BF4 00031880 */ sll $v1, $v1, 2 -/* 32FF8 80057BF8 00431021 */ addu $v0, $v0, $v1 -/* 32FFC 80057BFC 03E00008 */ jr $ra -/* 33000 80057C00 9042004D */ lbu $v0, 0x4d($v0) diff --git a/asm/nonmatchings/code_303c0_len_3e10/func_80057C04.s b/asm/nonmatchings/code_303c0_len_3e10/func_80057C04.s deleted file mode 100644 index 85b9121543..0000000000 --- a/asm/nonmatchings/code_303c0_len_3e10/func_80057C04.s +++ /dev/null @@ -1,14 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel func_80057C04 -/* 33004 80057C04 308400FF */ andi $a0, $a0, 0xff -/* 33008 80057C08 00041940 */ sll $v1, $a0, 5 -/* 3300C 80057C0C 3C028008 */ lui $v0, %hi(D_80078E54) -/* 33010 80057C10 8C428E54 */ lw $v0, %lo(D_80078E54)($v0) -/* 33014 80057C14 00641823 */ subu $v1, $v1, $a0 -/* 33018 80057C18 8C42001C */ lw $v0, 0x1c($v0) -/* 3301C 80057C1C 00031880 */ sll $v1, $v1, 2 -/* 33020 80057C20 00431021 */ addu $v0, $v0, $v1 -/* 33024 80057C24 03E00008 */ jr $ra -/* 33028 80057C28 84420054 */ lh $v0, 0x54($v0) diff --git a/asm/nonmatchings/code_303c0_len_3e10/func_80057C2C.s b/asm/nonmatchings/code_303c0_len_3e10/func_80057C2C.s deleted file mode 100644 index 1a9c1fde19..0000000000 --- a/asm/nonmatchings/code_303c0_len_3e10/func_80057C2C.s +++ /dev/null @@ -1,14 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel func_80057C2C -/* 3302C 80057C2C 308400FF */ andi $a0, $a0, 0xff -/* 33030 80057C30 00041940 */ sll $v1, $a0, 5 -/* 33034 80057C34 3C028008 */ lui $v0, %hi(D_80078E54) -/* 33038 80057C38 8C428E54 */ lw $v0, %lo(D_80078E54)($v0) -/* 3303C 80057C3C 00641823 */ subu $v1, $v1, $a0 -/* 33040 80057C40 8C42001C */ lw $v0, 0x1c($v0) -/* 33044 80057C44 00031880 */ sll $v1, $v1, 2 -/* 33048 80057C48 00431021 */ addu $v0, $v0, $v1 -/* 3304C 80057C4C 03E00008 */ jr $ra -/* 33050 80057C50 84420056 */ lh $v0, 0x56($v0) diff --git a/asm/nonmatchings/code_303c0_len_3e10/func_80057DC8.s b/asm/nonmatchings/code_303c0_len_3e10/func_80057DC8.s deleted file mode 100644 index 5ed3d3687f..0000000000 --- a/asm/nonmatchings/code_303c0_len_3e10/func_80057DC8.s +++ /dev/null @@ -1,22 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel func_80057DC8 -/* 331C8 80057DC8 28820002 */ slti $v0, $a0, 2 -/* 331CC 80057DCC 10400005 */ beqz $v0, .L80057DE4 -/* 331D0 80057DD0 00000000 */ nop -/* 331D4 80057DD4 3C01800A */ lui $at, %hi(D_800A3FF0) -/* 331D8 80057DD8 AC203FF0 */ sw $zero, %lo(D_800A3FF0)($at) -/* 331DC 80057DDC 3C01800A */ lui $at, %hi(D_800A3FEE) -/* 331E0 80057DE0 A4203FEE */ sh $zero, %lo(D_800A3FEE)($at) -.L80057DE4: -/* 331E4 80057DE4 3C03800A */ lui $v1, %hi(D_800A3FF0) -/* 331E8 80057DE8 24633FF0 */ addiu $v1, $v1, %lo(D_800A3FF0) -/* 331EC 80057DEC 28820005 */ slti $v0, $a0, 5 -/* 331F0 80057DF0 14400003 */ bnez $v0, .L80057E00 -/* 331F4 80057DF4 AC640000 */ sw $a0, ($v1) -/* 331F8 80057DF8 24020004 */ addiu $v0, $zero, 4 -/* 331FC 80057DFC AC620000 */ sw $v0, ($v1) -.L80057E00: -/* 33200 80057E00 03E00008 */ jr $ra -/* 33204 80057E04 00000000 */ nop diff --git a/asm/nonmatchings/code_31650/func_80056EC0.s b/asm/nonmatchings/code_31650/func_80056EC0.s deleted file mode 100644 index bbfc4ef0eb..0000000000 --- a/asm/nonmatchings/code_31650/func_80056EC0.s +++ /dev/null @@ -1,14 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel func_80056EC0 -/* 322C0 80056EC0 308400FF */ andi $a0, $a0, 0xff -/* 322C4 80056EC4 00041940 */ sll $v1, $a0, 5 -/* 322C8 80056EC8 3C028008 */ lui $v0, %hi(D_80078E54) -/* 322CC 80056ECC 8C428E54 */ lw $v0, %lo(D_80078E54)($v0) -/* 322D0 80056ED0 00641823 */ subu $v1, $v1, $a0 -/* 322D4 80056ED4 8C42001C */ lw $v0, 0x1c($v0) -/* 322D8 80056ED8 00031880 */ sll $v1, $v1, 2 -/* 322DC 80056EDC 00431021 */ addu $v0, $v0, $v1 -/* 322E0 80056EE0 03E00008 */ jr $ra -/* 322E4 80056EE4 A0450078 */ sb $a1, 0x78($v0) diff --git a/asm/nonmatchings/code_31650/func_80056F78.s b/asm/nonmatchings/code_31650/func_80056F78.s deleted file mode 100644 index 2716ed4dd7..0000000000 --- a/asm/nonmatchings/code_31650/func_80056F78.s +++ /dev/null @@ -1,15 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel func_80056F78 -/* 32378 80056F78 308400FF */ andi $a0, $a0, 0xff -/* 3237C 80056F7C 00041140 */ sll $v0, $a0, 5 -/* 32380 80056F80 3C038008 */ lui $v1, %hi(D_80078E54) -/* 32384 80056F84 8C638E54 */ lw $v1, %lo(D_80078E54)($v1) -/* 32388 80056F88 00441023 */ subu $v0, $v0, $a0 -/* 3238C 80056F8C 8C63001C */ lw $v1, 0x1c($v1) -/* 32390 80056F90 00021080 */ sll $v0, $v0, 2 -/* 32394 80056F94 00621821 */ addu $v1, $v1, $v0 -/* 32398 80056F98 24020001 */ addiu $v0, $zero, 1 -/* 3239C 80056F9C 03E00008 */ jr $ra -/* 323A0 80056FA0 AC620070 */ sw $v0, 0x70($v1) diff --git a/asm/nonmatchings/code_31650/func_80057344.s b/asm/nonmatchings/code_31650/func_80057344.s deleted file mode 100644 index 107e6ba4ca..0000000000 --- a/asm/nonmatchings/code_31650/func_80057344.s +++ /dev/null @@ -1,14 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel func_80057344 -/* 32744 80057344 308400FF */ andi $a0, $a0, 0xff -/* 32748 80057348 00041940 */ sll $v1, $a0, 5 -/* 3274C 8005734C 3C028008 */ lui $v0, %hi(D_80078E54) -/* 32750 80057350 8C428E54 */ lw $v0, %lo(D_80078E54)($v0) -/* 32754 80057354 00641823 */ subu $v1, $v1, $a0 -/* 32758 80057358 8C42001C */ lw $v0, 0x1c($v0) -/* 3275C 8005735C 00031880 */ sll $v1, $v1, 2 -/* 32760 80057360 00431021 */ addu $v0, $v0, $v1 -/* 32764 80057364 03E00008 */ jr $ra -/* 32768 80057368 AC45003C */ sw $a1, 0x3c($v0) diff --git a/asm/nonmatchings/code_31650/func_80057B64.s b/asm/nonmatchings/code_31650/func_80057B64.s deleted file mode 100644 index 33a238ea38..0000000000 --- a/asm/nonmatchings/code_31650/func_80057B64.s +++ /dev/null @@ -1,14 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel func_80057B64 -/* 32F64 80057B64 308400FF */ andi $a0, $a0, 0xff -/* 32F68 80057B68 00041940 */ sll $v1, $a0, 5 -/* 32F6C 80057B6C 3C028008 */ lui $v0, %hi(D_80078E54) -/* 32F70 80057B70 8C428E54 */ lw $v0, %lo(D_80078E54)($v0) -/* 32F74 80057B74 00641823 */ subu $v1, $v1, $a0 -/* 32F78 80057B78 8C42001C */ lw $v0, 0x1c($v0) -/* 32F7C 80057B7C 00031880 */ sll $v1, $v1, 2 -/* 32F80 80057B80 00431021 */ addu $v0, $v0, $v1 -/* 32F84 80057B84 03E00008 */ jr $ra -/* 32F88 80057B88 8C420070 */ lw $v0, 0x70($v0) diff --git a/asm/nonmatchings/code_31650/func_80057B8C.s b/asm/nonmatchings/code_31650/func_80057B8C.s deleted file mode 100644 index c3600f33bd..0000000000 --- a/asm/nonmatchings/code_31650/func_80057B8C.s +++ /dev/null @@ -1,14 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel func_80057B8C -/* 32F8C 80057B8C 308400FF */ andi $a0, $a0, 0xff -/* 32F90 80057B90 00041940 */ sll $v1, $a0, 5 -/* 32F94 80057B94 3C028008 */ lui $v0, %hi(D_80078E54) -/* 32F98 80057B98 8C428E54 */ lw $v0, %lo(D_80078E54)($v0) -/* 32F9C 80057B9C 00641823 */ subu $v1, $v1, $a0 -/* 32FA0 80057BA0 8C42001C */ lw $v0, 0x1c($v0) -/* 32FA4 80057BA4 00031880 */ sll $v1, $v1, 2 -/* 32FA8 80057BA8 00431021 */ addu $v0, $v0, $v1 -/* 32FAC 80057BAC 03E00008 */ jr $ra -/* 32FB0 80057BB0 90420078 */ lbu $v0, 0x78($v0) diff --git a/asm/nonmatchings/code_31650/func_80057BB4.s b/asm/nonmatchings/code_31650/func_80057BB4.s deleted file mode 100644 index 8ee44c1d63..0000000000 --- a/asm/nonmatchings/code_31650/func_80057BB4.s +++ /dev/null @@ -1,14 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel func_80057BB4 -/* 32FB4 80057BB4 308400FF */ andi $a0, $a0, 0xff -/* 32FB8 80057BB8 00041940 */ sll $v1, $a0, 5 -/* 32FBC 80057BBC 3C028008 */ lui $v0, %hi(D_80078E54) -/* 32FC0 80057BC0 8C428E54 */ lw $v0, %lo(D_80078E54)($v0) -/* 32FC4 80057BC4 00641823 */ subu $v1, $v1, $a0 -/* 32FC8 80057BC8 8C42001C */ lw $v0, 0x1c($v0) -/* 32FCC 80057BCC 00031880 */ sll $v1, $v1, 2 -/* 32FD0 80057BD0 00431021 */ addu $v0, $v0, $v1 -/* 32FD4 80057BD4 03E00008 */ jr $ra -/* 32FD8 80057BD8 C440003C */ lwc1 $f0, 0x3c($v0) diff --git a/asm/nonmatchings/code_31650/func_80057BDC.s b/asm/nonmatchings/code_31650/func_80057BDC.s deleted file mode 100644 index c2d51bf68a..0000000000 --- a/asm/nonmatchings/code_31650/func_80057BDC.s +++ /dev/null @@ -1,14 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel func_80057BDC -/* 32FDC 80057BDC 308400FF */ andi $a0, $a0, 0xff -/* 32FE0 80057BE0 00041940 */ sll $v1, $a0, 5 -/* 32FE4 80057BE4 3C028008 */ lui $v0, %hi(D_80078E54) -/* 32FE8 80057BE8 8C428E54 */ lw $v0, %lo(D_80078E54)($v0) -/* 32FEC 80057BEC 00641823 */ subu $v1, $v1, $a0 -/* 32FF0 80057BF0 8C42001C */ lw $v0, 0x1c($v0) -/* 32FF4 80057BF4 00031880 */ sll $v1, $v1, 2 -/* 32FF8 80057BF8 00431021 */ addu $v0, $v0, $v1 -/* 32FFC 80057BFC 03E00008 */ jr $ra -/* 33000 80057C00 9042004D */ lbu $v0, 0x4d($v0) diff --git a/asm/nonmatchings/code_31650/func_80057C04.s b/asm/nonmatchings/code_31650/func_80057C04.s deleted file mode 100644 index 85b9121543..0000000000 --- a/asm/nonmatchings/code_31650/func_80057C04.s +++ /dev/null @@ -1,14 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel func_80057C04 -/* 33004 80057C04 308400FF */ andi $a0, $a0, 0xff -/* 33008 80057C08 00041940 */ sll $v1, $a0, 5 -/* 3300C 80057C0C 3C028008 */ lui $v0, %hi(D_80078E54) -/* 33010 80057C10 8C428E54 */ lw $v0, %lo(D_80078E54)($v0) -/* 33014 80057C14 00641823 */ subu $v1, $v1, $a0 -/* 33018 80057C18 8C42001C */ lw $v0, 0x1c($v0) -/* 3301C 80057C1C 00031880 */ sll $v1, $v1, 2 -/* 33020 80057C20 00431021 */ addu $v0, $v0, $v1 -/* 33024 80057C24 03E00008 */ jr $ra -/* 33028 80057C28 84420054 */ lh $v0, 0x54($v0) diff --git a/asm/nonmatchings/code_31650/func_80057C2C.s b/asm/nonmatchings/code_31650/func_80057C2C.s deleted file mode 100644 index 1a9c1fde19..0000000000 --- a/asm/nonmatchings/code_31650/func_80057C2C.s +++ /dev/null @@ -1,14 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel func_80057C2C -/* 3302C 80057C2C 308400FF */ andi $a0, $a0, 0xff -/* 33030 80057C30 00041940 */ sll $v1, $a0, 5 -/* 33034 80057C34 3C028008 */ lui $v0, %hi(D_80078E54) -/* 33038 80057C38 8C428E54 */ lw $v0, %lo(D_80078E54)($v0) -/* 3303C 80057C3C 00641823 */ subu $v1, $v1, $a0 -/* 33040 80057C40 8C42001C */ lw $v0, 0x1c($v0) -/* 33044 80057C44 00031880 */ sll $v1, $v1, 2 -/* 33048 80057C48 00431021 */ addu $v0, $v0, $v1 -/* 3304C 80057C4C 03E00008 */ jr $ra -/* 33050 80057C50 84420056 */ lh $v0, 0x56($v0) diff --git a/asm/nonmatchings/code_31650/func_80057DC8.s b/asm/nonmatchings/code_31650/func_80057DC8.s deleted file mode 100644 index 5ed3d3687f..0000000000 --- a/asm/nonmatchings/code_31650/func_80057DC8.s +++ /dev/null @@ -1,22 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel func_80057DC8 -/* 331C8 80057DC8 28820002 */ slti $v0, $a0, 2 -/* 331CC 80057DCC 10400005 */ beqz $v0, .L80057DE4 -/* 331D0 80057DD0 00000000 */ nop -/* 331D4 80057DD4 3C01800A */ lui $at, %hi(D_800A3FF0) -/* 331D8 80057DD8 AC203FF0 */ sw $zero, %lo(D_800A3FF0)($at) -/* 331DC 80057DDC 3C01800A */ lui $at, %hi(D_800A3FEE) -/* 331E0 80057DE0 A4203FEE */ sh $zero, %lo(D_800A3FEE)($at) -.L80057DE4: -/* 331E4 80057DE4 3C03800A */ lui $v1, %hi(D_800A3FF0) -/* 331E8 80057DE8 24633FF0 */ addiu $v1, $v1, %lo(D_800A3FF0) -/* 331EC 80057DEC 28820005 */ slti $v0, $a0, 5 -/* 331F0 80057DF0 14400003 */ bnez $v0, .L80057E00 -/* 331F4 80057DF4 AC640000 */ sw $a0, ($v1) -/* 331F8 80057DF8 24020004 */ addiu $v0, $zero, 4 -/* 331FC 80057DFC AC620000 */ sw $v0, ($v1) -.L80057E00: -/* 33200 80057E00 03E00008 */ jr $ra -/* 33204 80057E04 00000000 */ nop diff --git a/src/audio.h b/src/audio.h index c845cf6596..73a8679097 100644 --- a/src/audio.h +++ b/src/audio.h @@ -34,10 +34,25 @@ typedef struct UnkLen18 { /* 0x0D */ char unk_0D[0xB]; } UnkLen18; +typedef struct UnkAl7C { + /* 0x00 */ char unk_00[0x3C]; + /* 0x3C */ f32 unk_3C; + /* 0x40 */ char unk_40[0xD]; + /* 0x4D */ u8 unk_4D; + /* 0x4E */ char unk_4E[0x6]; + /* 0x54 */ s16 unk_54; + /* 0x56 */ s16 unk_56; + /* 0x58 */ char unk_58[0x18]; + /* 0x70 */ s32 unk_70; + /* 0x74 */ char unk_74[0x4]; + /* 0x78 */ u8 unk_78; + /* 0x79 */ char unk_79[0x3]; +} UnkAl7C; + typedef struct UnkAl0 { /* 0x00 */ char unk_00[0x18]; /* 0x18 */ ALHeap* unk_18; - /* 0x1C */ char unk_1C[0x4]; + /* 0x1C */ UnkAl7C* unk_1C; /* 0x20 */ UnkLen18 unk_20[1]; // amt unknown } UnkAl0; @@ -55,7 +70,9 @@ typedef struct UnkAl6CC { /* 0x0BA */ s16 unk_BA; /* 0x0BC */ char unk_BC[0x2]; /* 0x0BE */ u8 unk_BE; - /* 0x0BF */ char unk_BF[0xA9]; + /* 0x0BF */ char unk_BF[0x1]; + /* 0x0C0 */ s8 unk_C0; + /* 0x0C1 */ char unk_C1[0xA7]; /* 0x168 */ s32 unk_168; /* 0x16C */ char unk_16C[0x560]; } UnkAl6CC; @@ -298,7 +315,7 @@ void func_80056D78(u8, u16); void func_80056DCC(u8, u8); void func_80056EE8(u8); void func_800576EC(u8, s32, s32); -void func_80057DC8(u8); +void func_80057DC8(s32); void func_80057E08(u8); void func_80057548(u8, u8, u8); void func_80057E5C(u8); diff --git a/src/code_26840_len_20d0.c b/src/code_26840_len_20d0.c index 6b44de2563..c618a53b86 100644 --- a/src/code_26840_len_20d0.c +++ b/src/code_26840_len_20d0.c @@ -13,7 +13,13 @@ INCLUDE_ASM(void, "code_26840_len_20d0", func_8004B748, UnkAl6CC* arg0); INCLUDE_ASM(s32, "code_26840_len_20d0", func_8004B9E4); -INCLUDE_ASM(void, "code_26840_len_20d0", func_8004BA54, UnkAl6CC* arg0, s32 arg1); +void func_8004BA54(UnkAl6CC* arg0, s32 arg1) { + if (arg1 == 0) { + arg0->unk_C0 = 0; + } else if (arg1 == 1) { + arg0->unk_C0 = 1; + } +} INCLUDE_ASM(s32, "code_26840_len_20d0", func_8004BA74); diff --git a/src/code_31650.c b/src/code_31650.c index cad778b67c..f2c6fc9a7c 100644 --- a/src/code_31650.c +++ b/src/code_31650.c @@ -47,17 +47,29 @@ INCLUDE_ASM(void, "code_31650", func_80056DCC, u8 arg0, u8 arg1); INCLUDE_ASM(s32, "code_31650", func_80056E34); -INCLUDE_ASM(s32, "code_31650", func_80056EC0); +void func_80056EC0(u8 arg0, s8 arg1) { + UnkAl7C* al7C = &D_80078E54->unk_1C[arg0]; + + al7C->unk_78 = arg1; +} INCLUDE_ASM(void, "code_31650", func_80056EE8, u8 arg0); -INCLUDE_ASM(s32, "code_31650", func_80056F78); +void func_80056F78(u8 arg0) { + UnkAl7C* al7C = &D_80078E54->unk_1C[arg0]; + + al7C->unk_70 = 1; +} INCLUDE_ASM(s32, "code_31650", func_80056FA4); INCLUDE_ASM(s32, "code_31650", func_80057224); -INCLUDE_ASM(s32, "code_31650", func_80057344); +void func_80057344(u8 arg0, f32 arg1) { + UnkAl7C* al7C = &D_80078E54->unk_1C[arg0]; + + al7C->unk_3C = arg1; +} INCLUDE_ASM(s32, "code_31650", func_8005736C); @@ -69,23 +81,62 @@ INCLUDE_ASM(s32, "code_31650", func_80057874); INCLUDE_ASM(s32, "code_31650", func_800579D8); -INCLUDE_ASM(s32, "code_31650", func_80057B64); +s32 func_80057B64(u8 arg0) { + UnkAl7C* al7C = &D_80078E54->unk_1C[arg0]; -INCLUDE_ASM(s32, "code_31650", func_80057B8C); + return al7C->unk_70; +} -INCLUDE_ASM(s32, "code_31650", func_80057BB4); +s32 func_80057B8C(u8 arg0) { + UnkAl7C* al7C = &D_80078E54->unk_1C[arg0]; -INCLUDE_ASM(s32, "code_31650", func_80057BDC); + return al7C->unk_78; +} -INCLUDE_ASM(s32, "code_31650", func_80057C04); +f32 func_80057BB4(u8 arg0) { + UnkAl7C* al7C = &D_80078E54->unk_1C[arg0]; -INCLUDE_ASM(s32, "code_31650", func_80057C2C); + return al7C->unk_3C; +} + +u8 func_80057BDC(u8 arg0) { + UnkAl7C* al7C = &D_80078E54->unk_1C[arg0]; + + return al7C->unk_4D; +} + +s16 func_80057C04(u8 arg0) { + UnkAl7C* al7C = &D_80078E54->unk_1C[arg0]; + + return al7C->unk_54; +} + +s16 func_80057C2C(u8 arg0) { + UnkAl7C* al7C = &D_80078E54->unk_1C[arg0]; + + return al7C->unk_56; +} INCLUDE_ASM(s32, "code_31650", func_80057C54); INCLUDE_ASM(s32, "code_31650", func_80057D0C); -INCLUDE_ASM(void, "code_31650", func_80057DC8, u8 arg0); +extern s16 D_800A3FEE; +extern s32 D_800A3FF0; + +void func_80057DC8(s32 arg0) { + s32* sym; + if (arg0 < 2) { + D_800A3FF0 = 0; + D_800A3FEE = 0; + } + + sym = &D_800A3FF0; + *sym = arg0; + if (arg0 >= 5) { + *sym = 4; + } +} INCLUDE_ASM(void, "code_31650", func_80057E08, u8 arg0); From 00393ab4e163c84ae32e693a7331bd141e474cce Mon Sep 17 00:00:00 2001 From: Ethan Roseman Date: Sat, 5 Dec 2020 22:00:52 -0500 Subject: [PATCH 24/97] 1 mas --- asm/nonmatchings/code_303c0_len_3e10/func_80057EB0.s | 12 ------------ asm/nonmatchings/code_31650/func_80057EB0.s | 12 ------------ src/audio.h | 7 ++++++- src/code_31650.c | 9 +++++---- 4 files changed, 11 insertions(+), 29 deletions(-) delete mode 100644 asm/nonmatchings/code_303c0_len_3e10/func_80057EB0.s delete mode 100644 asm/nonmatchings/code_31650/func_80057EB0.s diff --git a/asm/nonmatchings/code_303c0_len_3e10/func_80057EB0.s b/asm/nonmatchings/code_303c0_len_3e10/func_80057EB0.s deleted file mode 100644 index 4159ded706..0000000000 --- a/asm/nonmatchings/code_303c0_len_3e10/func_80057EB0.s +++ /dev/null @@ -1,12 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel func_80057EB0 -/* 332B0 80057EB0 3C01800A */ lui $at, %hi(D_800A3FEC) -/* 332B4 80057EB4 A0203FEC */ sb $zero, %lo(D_800A3FEC)($at) -/* 332B8 80057EB8 3C01800A */ lui $at, %hi(D_800A3FEE) -/* 332BC 80057EBC A4203FEE */ sh $zero, %lo(D_800A3FEE)($at) -/* 332C0 80057EC0 3C01800A */ lui $at, %hi(D_800A3FE8) -/* 332C4 80057EC4 AC203FE8 */ sw $zero, %lo(D_800A3FE8)($at) -/* 332C8 80057EC8 03E00008 */ jr $ra -/* 332CC 80057ECC 00000000 */ nop diff --git a/asm/nonmatchings/code_31650/func_80057EB0.s b/asm/nonmatchings/code_31650/func_80057EB0.s deleted file mode 100644 index 4159ded706..0000000000 --- a/asm/nonmatchings/code_31650/func_80057EB0.s +++ /dev/null @@ -1,12 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel func_80057EB0 -/* 332B0 80057EB0 3C01800A */ lui $at, %hi(D_800A3FEC) -/* 332B4 80057EB4 A0203FEC */ sb $zero, %lo(D_800A3FEC)($at) -/* 332B8 80057EB8 3C01800A */ lui $at, %hi(D_800A3FEE) -/* 332BC 80057EBC A4203FEE */ sh $zero, %lo(D_800A3FEE)($at) -/* 332C0 80057EC0 3C01800A */ lui $at, %hi(D_800A3FE8) -/* 332C4 80057EC4 AC203FE8 */ sw $zero, %lo(D_800A3FE8)($at) -/* 332C8 80057EC8 03E00008 */ jr $ra -/* 332CC 80057ECC 00000000 */ nop diff --git a/src/audio.h b/src/audio.h index 73a8679097..d3766ffb7f 100644 --- a/src/audio.h +++ b/src/audio.h @@ -273,7 +273,7 @@ typedef struct { } UnkStructFor8004DAA8; // size unknown extern UnkAl0* D_80078E54; -extern s8 D_80078181; +extern s8* D_80078181; extern s32* D_80078190; extern s32* D_800781D0; extern s32* D_80078544; @@ -292,6 +292,11 @@ extern UnkAl834* D_8009A628; extern UnkAl6CC* D_8009A640; extern UnkAlA9C* D_8009A664; +extern s32 D_800A3FE8; +extern s8 D_800A3FEC; +extern s16 D_800A3FEE; +extern s32 D_800A3FF0; + void al_LoadBKHeaders(UnkAl19E0* arg0, ALHeap* arg1); void func_8004B6D8(UnkAl6CC*, s32, s16, s16, u8); diff --git a/src/code_31650.c b/src/code_31650.c index f2c6fc9a7c..1a6916eda5 100644 --- a/src/code_31650.c +++ b/src/code_31650.c @@ -121,9 +121,6 @@ INCLUDE_ASM(s32, "code_31650", func_80057C54); INCLUDE_ASM(s32, "code_31650", func_80057D0C); -extern s16 D_800A3FEE; -extern s32 D_800A3FF0; - void func_80057DC8(s32 arg0) { s32* sym; if (arg0 < 2) { @@ -142,7 +139,11 @@ INCLUDE_ASM(void, "code_31650", func_80057E08, u8 arg0); INCLUDE_ASM(void, "code_31650", func_80057E5C, u8 arg0); -INCLUDE_ASM(void, "code_31650", func_80057EB0, void); +void func_80057EB0(void) { + D_800A3FEC = 0; + D_800A3FEE = 0; + D_800A3FE8 = 0; +} INCLUDE_ASM(s32, "code_31650", func_80057ED0); From 6201aca296a1c371d675e82ea9cc65ed72bb3899 Mon Sep 17 00:00:00 2001 From: Ethan Roseman Date: Mon, 7 Dec 2020 08:50:02 +0900 Subject: [PATCH 25/97] data disasm --- asm/data/code_1000_len_60.data.s | 129 +++++++++++++++++++++++++++++++ tools/splat.yaml | 2 +- 2 files changed, 130 insertions(+), 1 deletion(-) create mode 100644 asm/data/code_1000_len_60.data.s diff --git a/asm/data/code_1000_len_60.data.s b/asm/data/code_1000_len_60.data.s new file mode 100644 index 0000000000..679f42b3c3 --- /dev/null +++ b/asm/data/code_1000_len_60.data.s @@ -0,0 +1,129 @@ +.include "macro.inc" + +.section .data + +glabel D_800731A0 +.word 0x40055800, 0x8C3C0030, 0x8C3B0034, 0x30A40001, 0x10800006, 0x30A40100, 0x10800004, 0x40045800, 0x30840100, 0x1C80FFFE, 0x40045800, 0x20180FA0, 0x0D000448, 0x001C1020, 0x40023000, 0x1440FFFF, 0x40023000, 0x40803800, 0x8FBA0000, 0x8FB90004, 0x239C0008, 0x001A0DC2, 0x302100FE, 0x84210000, 0x00200008, 0x237BFFF8, 0x0000000D, 0x1FC0FFF6, 0x23BD0008, 0x1B600005, 0x34014000, 0x0D000448, 0x001C1020, 0x0900042F, 0x40023000, 0x40812000, 0x0000000D, 0x00000000, 0x1000FFFF, 0x00000000, 0x23E50000, 0x23630000, 0x2064FEC0, 0x18800002, 0x200102B0, 0x20030140, 0x207E0000, 0x0D000453, 0x2063FFFF, 0x00A00008, 0x201D02B0, 0x40043800, 0x1480FFFF, 0x40043800, 0x40042800, 0x1480FFFF, 0x40042800, 0x40810000, 0x40820800, 0x03E00008, 0x40831000, 0x40043800, 0x1480FFFF, 0x40043800, 0x40042800, 0x1480FFFF, 0x40042800, 0x40810000, 0x40820800, 0x03E00008, 0x40831800, 0x3322FFFF, 0x4A01086C, 0x3341FFFF, 0x202104F0, 0xE8211800, 0xE8211801, 0x2042FFF0, 0x1C40FFFC, 0x20210010, 0x0900043B, 0x23DEFFF8, 0x001A1A00, 0x00031D02, 0x1060FFC6, 0x23DEFFF8, 0x33410FFF, 0x202104F0, 0x00191200, 0x00021202, 0x2063FFFF, 0x0D000453, 0x20420000, 0x40013000, 0x1420FFFF, 0x40013000, 0x0900043B, 0x40803800, 0x001A1A00, 0x00031D02, 0x1060FFB6, 0x23DEFFF8, 0x33410FFF, 0x202104F0, 0x00191200, 0x00021202, 0x2063FFFF, 0x0D00045D, 0x20420000, 0x40013000, 0x1420FFFF, 0x40013000, 0x0900043B, 0x40803800, 0x00191200, 0x00021202, 0x20420000, 0x200103F0, 0x3343FFFF, 0x0D000453, 0x2063FFFF, 0x40013000, 0x1420FFFF, 0x40013000, 0x40803800, 0x0900043B, 0x23DEFFF8, 0x001A1C02, 0x30610004, 0x1020000D, 0x30610002, 0x10200006, 0x00191402, 0xA71A0050, 0xA702004C, 0xA719004E, 0x0900043B, 0x23DEFFF8, 0xA71A0046, 0xA7020048, 0xA719004A, 0x0900043B, 0x23DEFFF8, 0x00191402, 0xA71A0040, 0xA7020042, 0xA7190044, 0x0900043B, 0x23DEFFF8, 0x20010170, 0x200404F0, 0x200209D0, 0x20030B40, 0xC8412000, 0xC8622000, 0x2021FFF0, 0x20420010, 0x20630010, 0xE8810800, 0xE8820801, 0xE8810902, 0xE8820903, 0xE8810A04, 0xE8820A05, 0xE8810B06, 0xE8820B07, 0xE8810C08, 0xE8820C09, 0xE8810D0A, 0xE8820D0B, 0xE8810E0C, 0xE8820E0D, 0xE8810F0E, 0xE8820F0F, 0x1C20FFEA, 0x20840020, 0x0900043B, 0x23DEFFF8, 0x3321FFFF, 0x3342FFFF, 0x204204F0, 0x00191C02, 0x206304F0, 0xC8411800, 0xC8421801, 0x2021FFF0, 0x20420010, 0xE8611800, 0xE8621801, 0x1C20FFF9, 0x20630010, 0x0900043B, 0x23DEFFF8, 0x00190A00, 0x00010A02, 0x20210000, 0xAC01000E, 0x0900043B, 0x23DEFFF8, 0xC81F2005, 0x0019BB02, 0x4A19CE6C, 0x32F7000F, 0x4A18C62C, 0x22F704F0, 0x4A0D6B6C, 0x33210FFF, 0x4A0E73AC, 0x202104F0, 0x4A0F7BEC, 0x0019AC02, 0x4A10842C, 0x32B50FFF, 0x4A118C6C, 0x001AA200, 0x4A1294AC, 0x0014A202, 0x4A139CEC, 0x2003001F, 0x00196F02, 0x31A20001, 0x1C40001A, 0x22F60001, 0x31A20002, 0x10400002, 0x22820000, 0x8C02000E, 0x400D3800, 0x15A0FFFF, 0x400D3800, 0x400D2800, 0x15A0FFFF, 0x400D2800, 0x40810000, 0x40820800, 0x40831000, 0x20130020, 0x201203F0, 0xCA791800, 0xCA781C00, 0xCA771801, 0xCA771C01, 0x40053000, 0x14A0FFFF, 0x40053000, 0x40803800, 0x09000521, 0xC83B2001, 0x20130020, 0x4A1BDEEC, 0x201203F0, 0xCA791800, 0xCA781C00, 0xCA771801, 0xCA771C01, 0xE83B2000, 0xE83B2001, 0x12A0006B, 0x20210020, 0xCACC1800, 0x92EA0000, 0x200D000C, 0x200C0001, 0x314E000F, 0x000E7140, 0x4B0CCAA8, 0x01D28020, 0x4B2CC268, 0x000A8902, 0x4B4CCA28, 0x01B18822, 0x4B6CC1E8, 0x222DFFFF, 0x000C63C0, 0x01AC5806, 0x488BB000, 0xCA152000, 0xCA142001, 0x2210FFFE, 0xCA132802, 0x2210FFFE, 0xCA122802, 0x2210FFFE, 0xCA112802, 0x2210FFFE, 0xCA102802, 0x2210FFFE, 0xCA0F2802, 0x2210FFFE, 0xCA0E2802, 0x2210FFFE, 0xCA0D2802, 0x22D60009, 0x4A175786, 0x22F70009, 0x4A174F8E, 0x92EA0000, 0x4A174746, 0xCACC1800, 0x4A173F4E, 0x200D000C, 0x1A200003, 0x314E000F, 0x4B16F785, 0x4B16EF45, 0x000E7140, 0x4BDBAAC7, 0x01D28020, 0x4BFBA2CF, 0x4B1E9ACF, 0x4B3E92CF, 0x000A8902, 0x4B5E8ACF, 0x4B7E82CF, 0x01B18822, 0x4B9E7F0F, 0x222DFFFF, 0x4BBE72CF, 0x4BDE6ACF, 0x4B7FF2CF, 0x01AC5806, 0x4B3C369D, 0x488BB000, 0x4B1C371D, 0x4B0CCAA8, 0x4B2CC268, 0x4B4CCA28, 0x4B6CC1E8, 0x4B3FD2C6, 0x4B3FE70F, 0x4B1D9AC7, 0x220FFFFE, 0x4B3D92CF, 0xC9F32802, 0x4B5D8ACF, 0x21EFFFFE, 0x4B7D82CF, 0xC9F22802, 0x4B9D7ACF, 0x21EFFFFE, 0x4BBD72CF, 0xC9F12802, 0x4BDD6ACF, 0x21EFFFFE, 0x4B7FEACF, 0xC9F02802, 0x4BDCAACF, 0x21EFFFFE, 0x4BFCA2CF, 0xC9EF2802, 0x4B3B369D, 0x21EFFFFE, 0x4B1B36DD, 0xC9EE2802, 0x21EFFFFE, 0xC9ED2802, 0xCA152000, 0x4B3FD2C6, 0xCA142001, 0x4B3FDECF, 0x22B5FFE0, 0xE83C2000, 0x20210020, 0x1EA0FFB8, 0xE83B207F, 0x2021FFE0, 0x0D00045D, 0x22820000, 0x23DEFFF8, 0x40053000, 0x14A0FFFF, 0x40053000, 0x0900043B, 0x40803800, 0x00199E02, 0x201403F0, 0x4A15AD6C, 0x12600002, 0x201704F0, 0x20170660, 0xCA9C2001, 0x4A16B5AC, 0x489A9500, 0x4A17BDEC, 0x001AD080, 0x4A18C62C, 0x489AA000, 0x4A19CE6C, 0x00191200, 0x4A1AD6AC, 0x00021202, 0x4A1BDEEC, 0x20420000, 0x20030007, 0x20130004, 0x48939000, 0x20160170, 0x4B14E505, 0x001A9C82, 0x32730001, 0x1E60001F, 0xEA942001, 0x23010000, 0x40133800, 0x1660FFFF, 0x40133800, 0x40132800, 0x1660FFFF, 0x40132800, 0x40810000, 0x40820800, 0x40831000, 0x2294FFFE, 0xCA9B2802, 0x2294FFFE, 0xCA9A2802, 0x2294FFFE, 0xCA992802, 0x2294FFFE, 0xCA982802, 0x2294FFFE, 0xCA972802, 0x2294FFFE, 0xCA962802, 0x2294FFFE, 0xCA952802, 0x40053000, 0x14A0FFFF, 0x40053000, 0x40803800, 0x090005DF, 0xC83E1C00, 0x2294FFFE, 0x4A1EF7AC, 0xCA9B2802, 0x2294FFFE, 0xCA9A2802, 0x2294FFFE, 0xCA992802, 0x2294FFFE, 0xCA982802, 0x2294FFFE, 0xCA972802, 0x2294FFFE, 0xCA962802, 0x2294FFFE, 0xCA952802, 0xCAFF2000, 0x4BFEE507, 0x4B1FDD0F, 0x22D6FFF0, 0x4B3FD50F, 0x4B5FCD0F, 0xEAFE207F, 0x4B7FC50F, 0x4B9FBF8F, 0x4BBFB50F, 0x4BDFAD0F, 0x4BB2FD0F, 0xCAFF2001, 0x4B3E9F5D, 0x4B1E9F9D, 0x4B12ED06, 0x4B12F78F, 0x1EC0FFEF, 0x22F70010, 0x22E1FFF8, 0x0D00045D, 0xEAFE207F, 0x23DEFFF8, 0x40053000, 0x14A0FFFF, 0x40053000, 0x0900043B, 0x40803800, 0x001A1200, 0x4A17BDEC, 0x00021202, 0x20420000, 0x2003000F, 0x0019AF82, 0x1EA00016, 0x23010000, 0x40043800, 0x1480FFFF, 0x40043800, 0x40042800, 0x1480FFFF, 0x40042800, 0x40810000, 0x40820800, 0x40831000, 0x0019A082, 0x32940FFF, 0x229404E8, 0xC81F2004, 0xC8192003, 0x40053000, 0x14A0FFFF, 0x40053000, 0x40803800, 0xCB131800, 0x0900061F, 0xCB180F04, 0x0019A082, 0x32940FFF, 0x229404E8, 0xC81F2004, 0x4A139CEC, 0xC8192003, 0x4A18C62C, 0x4894AA00, 0x200400B0, 0x4884AB00, 0x4A1FCE51, 0x00192382, 0x4884AC00, 0x20040040, 0x4884AD00, 0x4A1FCE51, 0xC81E2005, 0xC81D2006, 0xC81C2007, 0x4BF8FE05, 0xC81B2008, 0x4B95CDCD, 0xC81A2009, 0x4B1EFE0E, 0xEA931800, 0xC8192003, 0x4B55FD86, 0x20160170, 0x4B5EBD8E, 0x33240003, 0x4BB5C504, 0x10800002, 0x201704F0, 0x20170660, 0xEB180B84, 0x4B9EA506, 0xE816207B, 0x4B75FD0E, 0xE814207C, 0x84150FB0, 0x840D0FC0, 0x84110FB8, 0x84090FC8, 0x84140FB2, 0x840C0FC2, 0x84100FBA, 0x84080FCA, 0x84130FB4, 0x840B0FC4, 0x840F0FBC, 0x84070FCC, 0x84120FB6, 0x840A0FC6, 0x840E0FBE, 0x84060FCE, 0xCAB31800, 0x4BF8FE05, 0xC9B21800, 0x4BF7FE0F, 0xCA331C00, 0x4B95CDCD, 0xC9321C00, 0x4B1EFE0E, 0xCA911800, 0x4B55FD86, 0xC9901800, 0xCA111C00, 0x4B5EBD8E, 0xC9101C00, 0x4BB5C504, 0xCA6F1800, 0xC96E1800, 0xC9EF1C00, 0xC8EE1C00, 0x4B9EA506, 0xCA4D1800, 0x4B75FD0E, 0xC94C1800, 0xC9CD1C00, 0x4A129AC0, 0xC8CC1C00, 0x4A108A80, 0xE816207B, 0x4A0E7A40, 0xE814207C, 0x84150FB0, 0x840D0FC0, 0x4A0C6A00, 0x84110FB8, 0x4A6B5AD0, 0x84090FC8, 0x4A6A5290, 0x84140FB2, 0x4A694A50, 0x840C0FC2, 0x4A684210, 0x84100FBA, 0x4ACB5AD0, 0x84080FCA, 0x4ACA5290, 0x84130FB4, 0x4AC94A50, 0x840B0FC4, 0x4AC84210, 0x840F0FBC, 0x4A8BE9C6, 0x84070FCC, 0x4A8AE1CE, 0x84120FB6, 0x4A89D9CE, 0x840A0FC6, 0x4A88D1CE, 0x840E0FBE, 0x84060FCE, 0x22D6FFF0, 0x1AC00003, 0xEAE72000, 0x0900064F, 0x22F70010, 0xCAB31800, 0xEB180804, 0x0D00045D, 0xEB131800, 0x23DEFFF8, 0x40053000, 0x14A0FFFF, 0x40053000, 0x0900043B, 0x40803800, 0x00191200, 0x00021202, 0x20420000, 0xC81F2004, 0xC80A2005, 0xC81E200A, 0x4A00002C, 0x001A7402, 0x31CF0001, 0x1DE0000B, 0x23010000, 0x0D000453, 0x2003004F, 0x40053000, 0x14A0FFFF, 0x40053000, 0x40803800, 0xCB142000, 0xCB152001, 0xCB122002, 0xCB132003, 0xCB182004, 0x201004F0, 0x201509D0, 0x20140B40, 0x20130CB0, 0x20120E20, 0x20110170, 0x4816C400, 0x11E00033, 0x4817C100, 0x2003004F, 0x4A14A52C, 0xCB140F28, 0x4A15AD6C, 0xCA112000, 0x4A1294AC, 0x489A9700, 0x4B58F5C4, 0xCABD2000, 0x4B38F5CE, 0xCA7B2000, 0x4BF4FD0F, 0xCA9C2000, 0x4B00FD4E, 0x06E10003, 0x4A139CEC, 0x090006CB, 0x4B18A523, 0x4B18A520, 0x4BB8F5C4, 0xCA5A2000, 0x4B98F5CE, 0x2231FFF0, 0x4BF2FC8F, 0x22100010, 0x4B00FCCE, 0x4BD8A400, 0x06C10003, 0x4BF8A3C0, 0x090006D8, 0x4B7894A3, 0x4B7894A0, 0x4BAAEF40, 0x4A108F48, 0x4BAADEC0, 0x4A0F8EC8, 0x4BD89400, 0x4BF893C0, 0xEABD2000, 0x4BAAE700, 0x22B50010, 0x4A108F08, 0xEA7B2000, 0x4BAAD680, 0x22730010, 0x4A0F8E88, 0xEA9C2000, 0x22940010, 0xEA5A2000, 0x22520010, 0x4B58AD54, 0x4B38A510, 0xCABD2000, 0x4BB89CD4, 0xCA112000, 0x06E10003, 0x4B989490, 0x090006F4, 0x4B18A523, 0x4B18A520, 0x06C10003, 0xCA7B2000, 0x090006F9, 0x4B7894A3, 0x4B7894A0, 0x4BD8A400, 0xEB142000, 0x4BF8A3C0, 0xEB152001, 0x4BAAEF40, 0x4A108F48, 0xCA9C2000, 0x4BAADEC0, 0xCA5A2000, 0x4A0F8EC8, 0x2231FFF0, 0x4B58AD54, 0x22100010, 0x4B38A510, 0xEABD2000, 0x4BD89400, 0x22B50010, 0x4BF893C0, 0xEA7B2000, 0x4BAAE700, 0x22730010, 0x4A108F08, 0x4BAAD680, 0x4A0F8E88, 0xEA9C2000, 0x22940010, 0x1A200003, 0xEA5A2000, 0x090006EC, 0x22520010, 0xEB122002, 0xEB132003, 0x0D00045D, 0xEB182004, 0x40053000, 0x14A0FFFF, 0x40053000, 0x40803800, 0x0900043B, 0x23DEFFF8, 0xC81F2005, 0x3336FFFF, 0x22D604F0, 0xCADC2000, 0x0019BC02, 0x22F704F0, 0xCAFD2000, 0x489AF000, 0x20150170, 0x4BBFE6C0, 0x22B5FFF0, 0x22F70010, 0x22D60010, 0x4B1EEEC8, 0xCADC2000, 0xCAFD2000, 0x1EA0FFF8, 0xEADB207F, 0x0900043B, 0x23DEFFF8, 0x00000000, 0x00000000, 0x00000000 + +glabel D_80073E00 +.word 0x00000000 + +glabel D_80073E04 +.word 0x00000000 + +glabel D_80073E08 +.word 0x00000000 + +glabel D_80073E0A +.word 0x00000000 + +glabel D_80073E10 +.word 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x0FFFFFFF, 0x00FFFFFF, 0x000FFFFF, 0x0000FFFF, 0x00000FFF, 0x000000FF, 0x0000000F, 0x00000000, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x0FFFFFFF, 0x00FFFFFF, 0x000FFFFF, 0x0000FFFF, 0x00000FFF, 0x000000FF, 0x0000000F, 0x00000000, 0x00000000, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x0FFFFFFF, 0x00FFFFFF, 0x000FFFFF, 0x0000FFFF, 0x00000FFF, 0x000000FF, 0x0000000F, 0x00000000, 0x00000000, 0x00000000, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x0FFFFFFF, 0x00FFFFFF, 0x000FFFFF, 0x0000FFFF, 0x00000FFF, 0x000000FF, 0x0000000F, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x0FFFFFFF, 0x00FFFFFF, 0x000FFFFF, 0x0000FFFF, 0x00000FFF, 0x000000FF, 0x0000000F, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x0FFFFFFF, 0x00FFFFFF, 0x000FFFFF, 0x0000FFFF, 0x00000FFF, 0x000000FF, 0x0000000F, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0xFFFFFFFF, 0xFFFFFFFF, 0x0FFFFFFF, 0x00FFFFFF, 0x000FFFFF, 0x0000FFFF, 0x00000FFF, 0x000000FF, 0x0000000F, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0xFFFFFFFF, 0x0FFFFFFF, 0x00FFFFFF, 0x000FFFFF, 0x0000FFFF, 0x00000FFF, 0x000000FF, 0x0000000F, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000 + +glabel D_80074010 +.ascii "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" + +glabel D_80074020 +.ascii "" + +glabel D_80074021 +.ascii "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" + +glabel gGameStatusPtr +.word 0x80074024 + +glabel D_800741A0 +.word 0x00000000 + +glabel D_800741A2 +.word 0x00000000 + +glabel D_800741A8 +.ascii "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" + +glabel D_800741F0 +.word 0x00000000 + +glabel D_800741F4 +.word 0x00000000 + +glabel D_800741F8 +.word 0x00000000, 0x00000000, 0x028001E0, 0x01FF0000, 0x028001E0, 0x01FF0000, 0xE200001C, 0x0F0A4000, 0xFCFFFFFF, 0xFFFE793C, 0xE3001801, 0x00000040, 0xDF000000, 0x00000000, 0xDC080008, 0x80074200, 0xD9000000, 0x00000000, 0xD9FFFFFF, 0x00200405, 0xD7000000, 0x00000000, 0xDF000000, 0x00000000, 0x00000000, 0x00000000 + +glabel D_80074260 +.word 0x00000000 + +glabel D_80074264 +.word 0x00000000, 0x00000000, 0x00000000 + +glabel D_80074270 +.word 0x00000000 + +glabel D_80074274 +.word 0x00000000, 0x3C8EF77F, 0x3D0EF241, 0x3D565E46, 0x3D8EDC3C, 0x3DB27ED8, 0x3DD612C7, 0x3DF99674, 0x3E0E835E, 0x3E20303C, 0x3E31D0C8, 0x3E43636F, 0x3E54E6E2, 0x3E66598E, 0x3E77BA67, 0x3E8483ED, 0x3E8D204B, 0x3E95B1C8, 0x3E9E377A, 0x3EA6B0D9, 0x3EAF1D3F, 0x3EB77C03, 0x3EBFCC7D, 0x3EC80DE5, 0x3ED03FD5, 0x3ED86163, 0x3EE0722A, 0x3EE87161, 0x3EF05EA2, 0x3EF83904, 0x3F000000, 0x3F03D988, 0x3F07A8C6, 0x3F0B6D76, 0x3F0F2746, 0x3F12D5E0, 0x3F167914, 0x3F1A108C, 0x3F1D9BF6, 0x3F211B1E, 0x3F248DC1, 0x3F27F37C, 0x3F2B4C2B, 0x3F2E976C, 0x3F31D51B, 0x3F3504F7, 0x3F3826AB, 0x3F3B3A04, 0x3F3E3EC0, 0x3F4134AD, 0x3F441B76, 0x3F46F30A, 0x3F49BB17, 0x3F4C7369, 0x3F4F1BBD, 0x3F51B3F2, 0x3F543BD6, 0x3F56B325, 0x3F5919AC, 0x3F5B6F4C, 0x3F5DB3D0, 0x3F5FE719, 0x3F6208E1, 0x3F641909, 0x3F66175D, 0x3F6803CD, 0x3F69DE16, 0x3F6BA637, 0x3F6D5BEE, 0x3F6EFF19, 0x3F708FB8, 0x3F720D88, 0x3F737879, 0x3F74D068, 0x3F761544, 0x3F7746ED, 0x3F786552, 0x3F797050, 0x3F7A67E8, 0x3F7B4BE8, 0x3F7C1C61, 0x3F7CD91F, 0x3F7D8234, 0x3F7E177F, 0x3F7E98FE, 0x3F7F06A3, 0x3F7F605B, 0x3F7FA637, 0x3F7FD817, 0x3F7FF60A, 0x3F800000 + +glabel D_800743E0 +.ascii "0123456789abcdefghijklmnopqrstuvwxyz\0\0\0\0\0\0\0\0\0\0\0\0" + +glabel gRandSeed +.ascii "\0\0\0" + +glabel D_80074414 +.word 0x3F800000, 0x3FA2F7CB, 0x3FA2F2A6, 0x3FA2EA10, 0x3FA2DE12, 0x3FA2CEAB, 0x3FA2BBDC, 0x3FA2A5AD, 0x3FA28C26, 0x3FA26F48, 0x3FA24F12, 0x3FA22B9D, 0x3FA204E2, 0x3FA1DAF0, 0x3FA1ADC9, 0x3FA17D85, 0x3FA14A23, 0x3FA113AD, 0x3FA0DA34, 0x3FA09DC7, 0x3FA05E68, 0x3FA01C26, 0x3F9FD71B, 0x3F9F8F47, 0x3F9F44BB, 0x3F9EF788, 0x3F9EA7BD, 0x3F9E5565, 0x3F9E0097, 0x3F9DA95D, 0x3F9D4FC6, 0x3F9CF3DC, 0x3F9C95C0, 0x3F9C357A, 0x3F9BD313, 0x3F9B6EAD, 0x3F9B083E, 0x3F9A9FF1, 0x3F9A35C6, 0x3F99C9CD, 0x3F995C21, 0x3F98ECD0, 0x3F987BE5, 0x3F980968, 0x3F979581, 0x3F972029, 0x3F96A97A, 0x3F963183, 0x3F95B84E, 0x3F953DEA, 0x3F94C272, 0x3F9445ED, 0x3F93C865, 0x3F9349E9, 0x3F92CA8A, 0x3F924A51, 0x3F91C958, 0x3F91479D, 0x3F90C533, 0x3F904229, 0x3F8FBE88, 0x3F8F3A60, 0x3F8EB5B3, 0x3F8E3098, 0x3F8DAB11, 0x3F8D252D, 0x3F8C9EF5, 0x3F8C1872, 0x3F8B91B4, 0x3F8B0AC4, 0x3F8A83A1, 0x3F89FC5D, 0x3F897500, 0x3F88ED91, 0x3F88661B, 0x3F87DEA4, 0x3F87572E, 0x3F86CFC8, 0x3F86487C, 0x3F85C140, 0x3F853A2E, 0x3F84B346, 0x3F842C91, 0x3F83A605, 0x3F831FBC, 0x3F8299B7, 0x3F8213F5, 0x3F818E75, 0x3F810953, 0x3F80847B, 0x3F800000 + +glabel D_80074580 +.word 0xE7000000, 0x00000000, 0xD7000000, 0xFFFFFFFF, 0xE3000A01, 0x00000000, 0xE3000C00, 0x00000000, 0xE3000D01, 0x00000000, 0xE3000F00, 0x00000000, 0xE3001201, 0x00000000, 0xE3001001, 0x00000000, 0xE3001402, 0x00000C00, 0xDF000000, 0x00000000 + +glabel D_800745D0 +.word 0x4D617269, 0x6F205374, 0x6F727920, 0x30303600, 0x99999999, 0x33333333, 0x99999999, 0x33333333, 0x99999999, 0x33333333, 0x99999999, 0x33333333, 0x99999999, 0x33333333, 0x99999999, 0x33333333, 0x33333333, 0x99999999, 0x44444444, 0x99999999, 0x44444444, 0xAAAAAAAA, 0x44444444, 0xAAAAAAAA, 0x44444444, 0xAAAAAAAA, 0x44444444, 0xAAAAAAAA, 0x44444444, 0xAAAAAAAA, 0x55555555, 0xAAAAAAAA, 0x55555555, 0xAAAAAAAA, 0x55555555, 0xBBBBBBBB, 0xBBBBBBBB, 0x66666666, 0xBBBBBBBB, 0x66666666, 0xBBBBBBBB, 0x66666666, 0xCCCCCCCC, 0x66666666, 0xCCCCCCCC, 0x66666666, 0xCCCCCCCC, 0x77777777, 0xCCCCCCCC, 0x77777777, 0xCCCCCCCC, 0x77777777, 0xCCCCCCCC, 0x77777777, 0x88888888, 0xDDDDDDDD, 0x88888888, 0xDDDDDDDD, 0x88888888, 0xDDDDDDDD, 0x88888888, 0xDDDDDDDD, 0x88888888, 0xDDDDDDDD, 0x88888888, 0xDDDDDDDD, 0x88888888, 0xDDDDDDDD, 0xE3001001, 0x00000000, 0xD7000002, 0xFFFFFFFF, 0xFD900000, 0x800745E0, 0xF5900000, 0x07094040, 0xE6000000, 0x00000000, 0xF3000000, 0x0707F800, 0xE7000000, 0x00000000, 0xF5800200, 0x00094040, 0xF2000000, 0x0003C07C, 0xDF000000, 0x00000000, 0x9F7C1A00, 0xA9851B00, 0xA9851B00, 0xA9851B00, 0xA9851B00, 0xA9851B00, 0xA9851B00, 0xA9851B00, 0xA9851B00, 0xA9851B00, 0xA9851B00, 0xA9851B00, 0xA9851B00, 0xA9851B00, 0xA9851B00, 0xA9851B00, 0xA9851B00, 0xAA851B00, 0xAA851B00, 0xAA851B00, 0xAA851B00, 0xAA851B00, 0xAA851B00, 0xAA851B00, 0xAA851B00, 0xAA851B00, 0xAA851B02, 0xAA851B03, 0xAA851B05, 0xAA851B05, 0xAA851B05, 0xA07E1A05, 0xAC871C00, 0xB48D1D00, 0xB48D1D00, 0xB48D1D00, 0xB48D1D00, 0xB48D1D00, 0xB48D1D00, 0xB48D1D00, 0xB48D1D00, 0xB48D1D00, 0xB48D1D00, 0xB48D1D00, 0xB48D1D00, 0xB48D1D00, 0xB48D1D00, 0xB48D1D00, 0xB48D1D00, 0xB48D1D00, 0xB58F1D01, 0xB7931E03, 0xBC9A200E, 0xBE9E2126, 0xC3A72453, 0xC4A92477, 0xD0BA2C92, 0xD1BA2BAA, 0xD5C030CF, 0xCBB327EB, 0xD3BD2EEB, 0xCDB629EC, 0xCAB127E6, 0xCCB327DE, 0xA9851B00, 0xB48D1D00, 0xB48D1D00, 0xB48D1D00, 0xB48D1D00, 0xB48D1D00, 0xB48D1D00, 0xB48D1D00, 0xB48D1D00, 0xB48D1D00, 0xB48D1D00, 0xB48D1D00, 0xB48D1D00, 0xB48D1D00, 0xB48D1D00, 0xB8931E00, 0xBC9B2112, 0xCEB62C38, 0xCDB52973, 0xCDB627B4, 0xD0B929E0, 0xD3BE2CE8, 0xE2D039ED, 0xC9B122EE, 0xE8D83FEF, 0xDBC734EE, 0xEDDE45ED, 0xCDB422CF, 0xE5D43DF2, 0xD9C42FD8, 0xC6AA1FE9, 0xE4D33AF4, 0xA9851B00, 0xB48D1D00, 0xB48D1D00, 0xB48D1D00, 0xB48D1D00, 0xB48D1D00, 0xB48D1D00, 0xB48D1D00, 0xB48D1D00, 0xB48D1D00, 0xB48D1D00, 0xB48D1D00, 0xB48D1D00, 0xB9951F0C, 0xC3A72341, 0xD1BB2A9D, 0xCCB525DF, 0xEBDC42E1, 0xD5BF2DD2, 0xE3D13AE8, 0xD6C02BCB, 0xDECB37F0, 0xE4D239CC, 0xC2A51CD8, 0xE9DA3FEE, 0xD3BB2AD5, 0xEDDD45E2, 0xCFB824CC, 0xEADB43F1, 0xDCC62FCE, 0xC2A61CE9, 0xE7D73CFC, 0xA9851B00, 0xB48D1D00, 0xB48D1D00, 0xB48D1D00, 0xB48D1D00, 0xB48D1D00, 0xB48D1D00, 0xB48D1D00, 0xB48D1D00, 0xB48D1D00, 0xB8941F06, 0xC2A3232D, 0xC6AA256E, 0xD3BE2BC0, 0xD4BF2BFD, 0xE6D43BDA, 0xC3A61CD5, 0xF0E247EE, 0xD3BB2ACE, 0xE7D63EE2, 0xD9C42DCE, 0xE3D13BF2, 0xEDDE44CF, 0xC4A71DD6, 0xECDD42F0, 0xCFB726CE, 0xECDD44E2, 0xD3BC27CD, 0xE9D942F2, 0xDCC72FCE, 0xC7AC20E9, 0xE3D035FC, 0xAA851B00, 0xB48D1D00, 0xB48D1D00, 0xB48D1D00, 0xB48D1D00, 0xB48D1D00, 0xB48D1D00, 0xB48D1D00, 0xB6911E01, 0xBE9E2229, 0xD1BB2AA2, 0xD1BA27ED, 0xD7C22DF3, 0xF2E54AD2, 0xD1BC2BF0, 0xE8D83DCF, 0xC4A81DD6, 0xF2E54AF0, 0xCAB020CE, 0xECDD44E3, 0xD2BB27CC, 0xD2BC2DF1, 0xE5D43CCC, 0xC7AD22D5, 0xEDDE44EF, 0xD4BF2ECF, 0xE4D33DE4, 0xD9C331D2, 0xF4E64CF5, 0xE7D63FD7, 0xD6C230EE, 0xEADA43FD, 0xAE8A1B00, 0xB48D1D00, 0xB48D1D00, 0xB48D1D00, 0xB48D1D00, 0xB48D1D00, 0xB58F1D01, 0xBC9A201F, 0xCEB62993, 0xCEB927F3, 0xD9C62DF8, 0xC9AE20CC, 0xE5D43DE2, 0xF4E64CCE, 0xD6C12FF2, 0xEBDB41CF, 0xC4A81DD4, 0xECDD44EF, 0xC8AE22CD, 0xD7C230E4, 0xD1B92AD4, 0xD7C32FF8, 0xDBC833E2, 0xDAC62FF2, 0xDCC634F9, 0xD3B92DF6, 0xCCAC2AFB, 0xC59E26FD, 0xC09324FF, 0xC29124FE, 0xC38F25FF, 0xCA9627FF, 0xB38F1B00, 0xB48D1D00, 0xB38C1D00, 0xB28B1C00, 0xB38C1C01, 0xBC9B2059, 0xCCB328A8, 0xCFB928F0, 0xE0CE34E6, 0xC5A91ED5, 0xE1CF34EF, 0xCAB020CE, 0xE4D23CE2, 0xEEE046CC, 0xCDB629F2, 0xF3E64BCE, 0xCDB529E3, 0xE7D63DF2, 0xDFCD32EF, 0xDDCA31F9, 0xD4BC2DFD, 0xC09024FF, 0xAB5C1AFF, 0xA34715FF, 0x95330FFF, 0x88260BFF, 0x822009FF, 0x811F09FF, 0x801E09FF, 0x821F09FF, 0x811D08FF, 0x801D08FF, 0xC8AF25A0, 0xC5AB2487, 0xBE9E2198, 0xC0A32265, 0xBE9F2174, 0xC8AF23F6, 0xD2BC28EC, 0xC8AF22F3, 0xECDC42CF, 0xD2BA2BD6, 0xEADA40F0, 0xC9AE20CB, 0xD8C332E3, 0xD9C533D6, 0xD8C32EFC, 0xDFCE33F1, 0xE0CB34FF, 0xD7AA2DFF, 0xC17221FF, 0x9F4013FF, 0x87250BFF, 0x7E1D07FF, 0x7A1B06FF, 0x791A06FF, 0x771A06FF, 0x771A06FF, 0x791A06FF, 0x7B1B07FF, 0x7E1E07FF, 0x7C1B07FF, 0x7B1B07FF, 0x7B1B07FF, 0xCDB828FF, 0xCAB326FF, 0xBFA321FF, 0xC8B026FF, 0xE3D434FB, 0xC3A821F5, 0xD3BD2BD2, 0xCBB325F2, 0xE8D73DCF, 0xCEB528D5, 0xE2D03AEC, 0xD3B92BE4, 0xDFCD33F6, 0xDBC331FE, 0xC88B26FF, 0xB75C1AFF, 0xA23712FF, 0x89230AFF, 0x7C1C08FF, 0x781A06FF, 0x771A06FF, 0x771A06FF, 0x771A06FF, 0x781A06FF, 0x781A06FF, 0x781A06FF, 0x791B07FF, 0x7B1B07FF, 0x7C1C07FF, 0x7A1B07FF, 0x7B1B07FF, 0x7B1B07FF, 0xD9C530FF, 0xCBB527FF, 0xD7BF38FF, 0xD0B92DFF, 0xDECE30FC, 0xBFA31FF1, 0xE1CF3ACB, 0xDDC936F2, 0xEDDD45CC, 0xDFCB36F2, 0xE4D536F9, 0xD8BA30FF, 0xB35E1BFF, 0x97300EFF, 0x8A220AFF, 0x811E08FF, 0x7A1B07FF, 0x781B06FF, 0x771A06FF, 0x771A06FF, 0x781A06FF, 0x781A06FF, 0x771A06FF, 0x751906FF, 0x751805FF, 0x741804FF, 0x731704FF, 0x751704FF, 0x771905FF, 0x7A1A06FF, 0x791A06FF, 0x7A1A06FF, 0xE4D33AFF, 0xCCB627FF, 0xDBC63CFF, 0xCFB82EFF, 0xC9B327E3, 0xBC9D27EA, 0xCEB529CC, 0xD5B62FFC, 0xE9DB3BF2, 0xE8D237FF, 0xCB8524FF, 0x98350FFF, 0x831E08FF, 0x801D08FF, 0x811E08FF, 0x7E1C07FF, 0x7B1B07FF, 0x791B07FF, 0x771A06FF, 0x751905FF, 0x731805FF, 0x731804FF, 0x751703FF, 0x761704FF, 0x771804FF, 0x781804FF, 0x791804FF, 0x7A1804FF, 0x7A1804FF, 0x7A1804FF, 0x7B1804FF, 0x7A1804FF, 0xE8D543FF, 0xCDB729FF, 0xDEC841FF, 0xBCA119FF, 0xC2A943DC, 0xB08819F2, 0xD5C02DF5, 0xEAD737FF, 0xCB8A25FF, 0x95330DFF, 0x871E07FF, 0x861E07FF, 0x821D08FF, 0x801C07FF, 0x7B1A06FF, 0x761905FF, 0x741805FF, 0x731704FF, 0x741804FF, 0x771804FF, 0x791804FF, 0x7B1805FF, 0x7B1805FF, 0x7B1805FF, 0x7B1805FF, 0x7B1805FF, 0x7A1805FF, 0x791805FF, 0x791805FF, 0x791905FF, 0x7A1905FF, 0x791805FF, 0xEAD74EFF, 0xD3BD31FF, 0xDEC842FF, 0xB5961AFF, 0xB6913AF4, 0xC9AD24FC, 0xCFA128FF, 0x96370EFF, 0x801804FF, 0x801904FF, 0x821904FF, 0x801803FF, 0x7B1703FF, 0x751502FF, 0x721503FF, 0x731603FF, 0x781704FF, 0x7A1804FF, 0x7B1804FF, 0x7C1804FF, 0x7C1805FF, 0x7A1805FF, 0x7A1805FF, 0x791805FF, 0x781805FF, 0x761805FF, 0x751805FF, 0x741705FF, 0x721705FF, 0x721705FF, 0x721705FF, 0x721705FF, 0xECD955FF, 0xE5D049FF, 0xD2B934FF, 0xB19127FF, 0xC1A12EFF, 0xA56715FF, 0x7C1D05FF, 0x7E1804FF, 0x7D1703FF, 0x7B1702FF, 0x771501FF, 0x761401FF, 0x741401FF, 0x751603FF, 0x781704FF, 0x7A1704FF, 0x7B1704FF, 0x7B1704FF, 0x7A1805FF, 0x791805FF, 0x771705FF, 0x751705FF, 0x731705FF, 0x721705FF, 0x701605FF, 0x6D1605FF, 0x6B1605FF, 0x691505FF, 0x681505FF, 0x671404FF, 0x671405FF, 0x671405FF, 0xEDDA57FF, 0xEAD64FFF, 0xD1B933FF, 0xA88622FF, 0x8C491EFF, 0x6C1302FF, 0x771503FF, 0x761502FF, 0x701402FF, 0x6D1301FF, 0x6E1403FF, 0x701503FF, 0x751603FF, 0x781804FF, 0x7A1804FF, 0x791804FF, 0x781705FF, 0x751705FF, 0x721805FF, 0x6F1705FF, 0x6C1605FF, 0x691605FF, 0x671605FF, 0x661405FF, 0x641305FF, 0x621305FF, 0x601304FF, 0x611304FF, 0x611304FF, 0x611304FF, 0x611304FF, 0x631404FF, 0xEFDB56FF, 0xF0DF53FF, 0xD5BE38FF, 0x9B7016FF, 0x671704FF, 0x6C1202FF, 0x6E1301FF, 0x691302FF, 0x681303FF, 0x6B1404FF, 0x6F1605FF, 0x731805FF, 0x761705FF, 0x761805FF, 0x741705FF, 0x701605FF, 0x6E1705FF, 0x691605FF, 0x651504FF, 0x631404FF, 0x611304FF, 0x5F1204FF, 0x5E1204FF, 0x5E1204FF, 0x5D1204FF, 0x5D1204FF, 0x5F1204FF, 0x5F1204FF, 0x601304FF, 0x621404FF, 0x621404FF, 0x651604FF, 0xF3E44FFF, 0xF4E74CFF, 0xCFB82EFF, 0x905A19FF, 0x610F01FF, 0x641202FF, 0x631203FF, 0x641303FF, 0x691404FF, 0x701705FF, 0x721805FF, 0x721805FF, 0x711705FF, 0x6E1705FF, 0x691504FF, 0x661405FF, 0x621404FF, 0x5F1304FF, 0x5E1204FF, 0x5D1204FF, 0x5C1204FF, 0x5C1204FF, 0x5C1204FF, 0x5D1204FF, 0x5E1204FF, 0x5F1304FF, 0x601304FF, 0x611404FF, 0x621404FF, 0x631504FF, 0x651604FF, 0x671704FF, 0xEBDC42FF, 0xDCCB35FF, 0xAE8B1EFF, 0x692008FF, 0x580E01FF, 0x590F02FF, 0x5F1203FF, 0x681404FF, 0x6F1605FF, 0x711705FF, 0x6D1705FF, 0x6A1605FF, 0x671505FF, 0x641404FF, 0x601303FF, 0x5E1304FF, 0x5D1204FF, 0x5C1204FF, 0x5C1204FF, 0x5C1203FF, 0x5C1203FF, 0x5D1303FF, 0x5D1304FF, 0x5D1404FF, 0x5D1404FF, 0x5E1404FF, 0x5F1403FF, 0x5F1403FF, 0x601403FF, 0x611403FF, 0x621402FF, 0x641402FF, 0xE2CD3AFF, 0xB09020FF, 0x6C2A0BFF, 0x4F0C01FF, 0x4D0D01FF, 0x591102FF, 0x651404FF, 0x6C1605FF, 0x6C1605FF, 0x681605FF, 0x641405FF, 0x611304FF, 0x601204FF, 0x5E1203FF, 0x5C1203FF, 0x5C1203FF, 0x5C1204FF, 0x5D1304FF, 0x5F1304FF, 0x601404FF, 0x611404FF, 0x601403FF, 0x5F1403FF, 0x5D1403FF, 0x5E1403FF, 0x5F1403FF, 0x601403FF, 0x621403FF, 0x621403FF, 0x631403FF, 0x641402FF, 0x651402FF, 0xE9D63EFF, 0xA98421FF, 0x4E0F03FF, 0x470B01FF, 0x530F03FF, 0x621305FF, 0x681605FF, 0x651505FF, 0x611404FF, 0x5E1203FF, 0x5C1204FF, 0x5C1204FF, 0x5C1203FF, 0x5C1304FF, 0x5D1204FF, 0x5F1405FF, 0x611506FF, 0x631505FF, 0x641505FF, 0x641505FF, 0x641504FF, 0x631503FF, 0x621403FF, 0x641403FF, 0x671503FF, 0x681603FF, 0x6A1604FF, 0x6C1704FF, 0x6D1704FF, 0x6D1704FF, 0x6D1804FF, 0x6C1804FF, 0xE4CC37FF, 0x9E7322FF, 0x440901FF, 0x4A0C01FF, 0x5C1204FF, 0x651405FF, 0x611504FF, 0x5C1204FF, 0x5A1102FF, 0x591003FF, 0x5A1104FF, 0x5C1204FF, 0x5E1305FF, 0x601405FF, 0x611405FF, 0x621605FF, 0x621605FF, 0x631604FF, 0x631504FF, 0x651603FF, 0x671603FF, 0x691603FF, 0x6D1703FF, 0x701704FF, 0x721804FF, 0x731804FF, 0x751904FF, 0x751904FF, 0x761904FF, 0x751904FF, 0x751904FF, 0x731804FF, 0xEDD639FF, 0xAA8624FF, 0x460B01FF, 0x510F03FF, 0x5E1304FF, 0x5E1304FF, 0x5A1103FF, 0x571002FF, 0x561002FF, 0x581104FF, 0x5E1205FF, 0x611505FF, 0x621506FF, 0x611505FF, 0x5F1404FF, 0x5D1403FF, 0x5F1403FF, 0x641503FF, 0x681603FF, 0x6B1703FF, 0x6E1704FF, 0x721804FF, 0x751804FF, 0x771904FF, 0x771904FF, 0x781905FF, 0x791905FF, 0x791905FF, 0x781905FF, 0x781905FF, 0x781905FF, 0x751805FF, 0xCBAE27FF, 0x956E1DFF, 0x4A0C02FF, 0x520F03FF, 0x591104FF, 0x571102FF, 0x550F02FF, 0x540F03FF, 0x571104FF, 0x5D1405FF, 0x631506FF, 0x621505FF, 0x5E1404FF, 0x5C1204FF, 0x5B1203FF, 0x5D1303FF, 0x631503FF, 0x6A1703FF, 0x6E1804FF, 0x711804FF, 0x741905FF, 0x771904FF, 0x791A05FF, 0x7A1A05FF, 0x7A1A05FF, 0x7A1A05FF, 0x7A1A05FF, 0x791905FF, 0x791905FF, 0x791905FF, 0x781905FF, 0x751805FF, 0xAF8612FF, 0x612C0CFF, 0x480C02FF, 0x4B0D02FF, 0x510E01FF, 0x510E01FF, 0x530F03FF, 0x571104FF, 0x5D1305FF, 0x611505FF, 0x601404FF, 0x5C1303FF, 0x5B1103FF, 0x5D1203FF, 0x601403FF, 0x651504FF, 0x6C1804FF, 0x721905FF, 0x761A05FF, 0x781905FF, 0x7A1A05FF, 0x7B1A05FF, 0x7B1A05FF, 0x7B1A06FF, 0x7B1A06FF, 0x7B1A05FF, 0x7A1A05FF, 0x7A1A05FF, 0x7A1905FF, 0x781905FF, 0x781905FF, 0x751804FF, 0xA6790EFF, 0x481002FF, 0x400A01FF, 0x420A01FF, 0x490C01FF, 0x510E03FF, 0x571204FF, 0x5D1405FF, 0x5E1405FF, 0x5C1304FF, 0x5A1203FF, 0x5A1203FF, 0x5D1303FF, 0x621504FF, 0x6A1705FF, 0x701805FF, 0x761905FF, 0x791A05FF, 0x7A1A06FF, 0x7B1A06FF, 0x7A1A06FF, 0x791A06FF, 0x781A06FF, 0x781A06FF, 0x771906FF, 0x761905FF, 0x771905FF, 0x781905FF, 0x781905FF, 0x771905FF, 0x761905FF, 0x731804FF, 0xAA7F10FF, 0x440F01FF, 0x390800FF, 0x3D0801FF, 0x4B0E03FF, 0x571204FF, 0x5D1305FF, 0x5D1405FF, 0x5B1304FF, 0x591102FF, 0x581102FF, 0x5A1304FF, 0x621504FF, 0x6C1705FF, 0x741905FF, 0x781A05FF, 0x7A1A05FF, 0x791A06FF, 0x771906FF, 0x751905FF, 0x741805FF, 0x731805FF, 0x711704FF, 0x701704FF, 0x701703FF, 0x711704FF, 0x731805FF, 0x741805FF, 0x741805FF, 0x731804FF, 0x721804FF, 0x701704FF, 0xA97E0FFF, 0x430F02FF, 0x370801FF, 0x420B02FF, 0x531104FF, 0x5C1305FF, 0x5C1305FF, 0x581103FF, 0x561002FF, 0x571103FF, 0x5A1304FF, 0x631605FF, 0x6E1704FF, 0x741905FF, 0x761905FF, 0x751905FF, 0x741805FF, 0x711705FF, 0x6E1703FF, 0x6D1703FF, 0x6C1703FF, 0x6C1604FF, 0x6C1603FF, 0x6D1604FF, 0x6E1704FF, 0x701705FF, 0x701705FF, 0x701704FF, 0x6F1604FF, 0x6D1604FF, 0x6C1604FF, 0x6A1604FF, 0xA97F0FFF, 0x410D01FF, 0x3C0A01FF, 0x4B0F03FF, 0x5A1305FF, 0x591305FF, 0x511002FF, 0x4F0F02FF, 0x551204FF, 0x5F1404FF, 0x681605FF, 0x6C1704FF, 0x6D1704FF, 0x6E1805FF, 0x6D1804FF, 0x6B1604FF, 0x691504FF, 0x691503FF, 0x681503FF, 0x681503FF, 0x691504FF, 0x691504FF, 0x6A1604FF, 0x6A1605FF, 0x6A1504FF, 0x691604FF, 0x681604FF, 0x661504FF, 0x641504FF, 0x641504FF, 0x641504FF, 0x601504FF, 0xA97F10FF, 0x3E0D01FF, 0x420B02FF, 0x521003FF, 0x561205FF, 0x4B0E03FF, 0x4B0D02FF, 0x561203FF, 0x611504FF, 0x671504FF, 0x651604FF, 0x621504FF, 0x611504FF, 0x621404FF, 0x601404FF, 0x5F1404FF, 0x5F1404FF, 0x611404FF, 0x611404FF, 0x611404FF, 0x611404FF, 0x611404FF, 0x601404FF, 0x611503FF, 0x601403FF, 0x5F1403FF, 0x5E1404FF, 0x5D1404FF, 0x5C1403FF, 0x5C1403FF, 0x5C1403FF, 0x5A1403FF, 0xA87E0FFF, 0x430E01FF, 0x4B0E03FF, 0x4E0F03FF, 0x460C02FF, 0x490C02FF, 0x571204FF, 0x5F1504FF, 0x5D1403FF, 0x591404FF, 0x571304FF, 0x571304FF, 0x571304FF, 0x571304FF, 0x571304FF, 0x561303FF, 0x571403FF, 0x571403FF, 0x571403FF, 0x571403FF, 0x581403FF, 0x581403FF, 0x581403FF, 0x581403FF, 0x581403FF, 0x581403FF, 0x571403FF, 0x571303FF, 0x571303FF, 0x561303FF, 0x561303FF, 0x541303F4, 0xA77D12FF, 0x4B1002FF, 0x4B0F03FF, 0x450C03FF, 0x4A0D02FF, 0x541304FF, 0x561404FF, 0x521304FF, 0x501203FF, 0x501203FF, 0x501203FF, 0x511203FF, 0x511203FF, 0x511203FF, 0x511203FF, 0x511203FF, 0x511203FF, 0x511203FF, 0x511203FF, 0x521303FF, 0x531303FF, 0x531303FF, 0x531303FF, 0x531303FF, 0x531303FF, 0x531303FF, 0x531303FF, 0x531203FF, 0x521203FF, 0x521303FF, 0x521303FF, 0x521303FF, 0xE3001001, 0x00000000, 0xD7000002, 0xFFFFFFFF, 0xFD180000, 0x80074730, 0xF5180000, 0x07094150, 0xE6000000, 0x00000000, 0xF3000000, 0x073FF080, 0xE7000000, 0x00000000, 0xF5181000, 0x00094150, 0xF2000000, 0x0007C07C, 0xDF000000, 0x00000000, 0x09333336, 0x72222222, 0x53333336, 0x72222222, 0x44005553, 0x11177772, 0x00005553, 0x11177D82, 0x44005553, 0x11117772, 0x00005553, 0x11117D82, 0x44A00553, 0x16111772, 0x00000553, 0x16111D82, 0x44A00053, 0x16611172, 0x00000053, 0x16611782, 0x44A00003, 0x16661112, 0x00000003, 0x16661782, 0x44A00003, 0x16666112, 0x00000003, 0x16666182, 0x4400000F, 0x1111111D, 0x0000000F, 0x111111D2, 0x61D22222, 0x53333336, 0x72222222, 0x5333336D, 0xE9677772, 0x00005553, 0x11177772, 0x0000537D, 0xE9617772, 0x00005553, 0x11117772, 0x0000537D, 0xE9611772, 0x00000553, 0x16111772, 0x00000C7D, 0xE9B61172, 0x00000053, 0x16611172, 0x00000C7D, 0xE9B61112, 0x00000003, 0x16661112, 0x0000091D, 0xE9B66112, 0x00000003, 0x16666112, 0x0000051D, 0xEE11111D, 0x0000000F, 0x1111111D, 0x00000097, 0xE5D79BC9, 0x7285BCCF, 0xEE9FDD93, 0xA40D9345, 0x6203C515, 0xE61BAC4F, 0xCD118309, 0xB4D5D555, 0xE3001001, 0x00008000, 0xFD100000, 0x80075880, 0xE8000000, 0x00000000, 0xF5000100, 0x07000000, 0xE6000000, 0x00000000, 0xF0000000, 0x0703C000, 0xE7000000, 0x00000000, 0xD7000002, 0xFFFFFFFF, 0xFD500000, 0x80075780, 0xF5500000, 0x07010250, 0xE6000000, 0x00000000, 0xF3000000, 0x0707F400, 0xE7000000, 0x00000000, 0xF5400400, 0x00010250, 0xF2000000, 0x0007C03C, 0xDF000000, 0x00000000, 0xF9C0FD44, 0x00500000, 0x00CD0000, 0xFFFFFFFF, 0xFAB0FD44, 0x00500000, 0x035C0000, 0xFFFFFFFF, 0xFAB0039D, 0x00500000, 0x035C1155, 0xFFFFFFFF, 0xF9C0039D, 0x00500000, 0x00CD1155, 0xFFFFFFFF, 0xFAECFD44, 0x00000000, 0x04000000, 0xC1BBA3FF, 0xFAEC039D, 0x00000000, 0x04001155, 0xC1BBA3FF, 0x0514FD44, 0x00000000, 0x00000000, 0xFFFFFFFF, 0x0550FD44, 0x00500000, 0x00A40000, 0xFFFFFFFF, 0x0550039D, 0x00500000, 0x00A41155, 0xC1BBA3FF, 0x0514039D, 0x00000000, 0x00001155, 0xFFFFFFFF, 0x0640FD44, 0x00500000, 0x03330000, 0xC5B69FFF, 0x0640039D, 0x00500000, 0x03331155, 0x867C49FF, 0x0320FD44, 0x00000000, 0x0A800400, 0xFFFFFFFF, 0x0000FD44, 0x00000000, 0x06800400, 0xFFFFFFFF, 0x0000FD13, 0x03480000, 0x0680008B, 0xFFFFFFFF, 0x0320FD13, 0x03480000, 0x0A80008B, 0xFFFFFFFF, 0x0640FD13, 0x03480000, 0x0E80008B, 0xC7C7D0FF, 0x0640FD44, 0x00000000, 0x0E800400, 0xC7C7D0FF, 0xFCE0FD44, 0x00000000, 0x02800400, 0xFFFFFFFF, 0xFCE0FD13, 0x03480000, 0x0280008B, 0xFFFFFFFF, 0x0000FD13, 0x03480000, 0x0680008B, 0xFFFFFFFF, 0x0000FCDD, 0x03520000, 0x06800080, 0xC7C7D0FF, 0x0320FCDD, 0x03520000, 0x0A800080, 0xC7C7D0FF, 0x0640FCDD, 0x03520000, 0x0E800080, 0x8C8CA9FF, 0xFCE0FD13, 0x03480000, 0x0280008B, 0xFFFFFFFF, 0xF9C0FD13, 0x03480000, 0xFE80008B, 0xC7C7D0FF, 0xF9C0FCDD, 0x03520000, 0xFE800080, 0x8C8CA9FF, 0xFCE0FCDD, 0x03520000, 0x02800080, 0xC7C7D0FF, 0xF9C0FD44, 0x00000000, 0xFE800400, 0xC7C7D0FF, 0xF9C0F9BD, 0x03200000, 0xFE80FD00, 0x8C8CA9FF, 0xFCE0F9BD, 0x03200000, 0x0280FD00, 0x8C8CA9FF, 0xFCE0FCDD, 0x03520000, 0x02800080, 0xA5A5B6FF, 0x0640F9BD, 0x03200000, 0x0E80FD00, 0x8C8CA9FF, 0x0320F9BD, 0x03200000, 0x0A80FD00, 0x8C8CA9FF, 0x0320FCDD, 0x03520000, 0x0A800080, 0xA5A5B6FF, 0x0000FCDD, 0x03520000, 0x06800080, 0xA5A5B6FF, 0x0000F9BD, 0x03200000, 0x0680FD00, 0x8C8CA9FF, 0x04C9FD44, 0x00000000, 0x00000000, 0x00000000, 0x0514FD44, 0x00000000, 0x00000000, 0x00000065, 0x0514038E, 0x00000000, 0x00000000, 0x00000065, 0x04C9038E, 0x00000000, 0x00000000, 0x00000000, 0xFAECFD44, 0xFFFF0000, 0x00000000, 0x00000065, 0xFB37FD44, 0xFFFF0000, 0x00000000, 0x00000000, 0xFB37038E, 0xFFFF0000, 0x00000000, 0x00000000, 0xFAEC038E, 0xFFFF0000, 0x00000000, 0x00000065, 0x01400470, 0x013A0000, 0xFC000400, 0xFFFFFFFF, 0x03C00467, 0x01080000, 0x04000400, 0xFFFFFFFF, 0x03C00623, 0x00C30000, 0x04000800, 0x000000FF, 0x0140062C, 0x00F40000, 0xFC000800, 0x000000FF, 0xFEC00470, 0x013A0000, 0xFC000400, 0xFFFFFFFF, 0x01400470, 0x013A0000, 0x04000400, 0xFFFFFFFF, 0x0140062C, 0x00F40000, 0x04000800, 0x000000FF, 0xFEC0062C, 0x00F40000, 0xFC000800, 0x000000FF, 0xFC400467, 0x01080000, 0xFC000400, 0xFFFFFFFF, 0xFEC00470, 0x013A0000, 0x04000400, 0xFFFFFFFF, 0xFEC0062C, 0x00F40000, 0x04000800, 0x000000FF, 0xFC400623, 0x00C30000, 0xFC000800, 0x000000FF, 0xF9C0029A, 0x00EB0000, 0xFC000000, 0xC1A9A3FF, 0xFC4002AB, 0x014E0000, 0x04000000, 0xFFFFFFFF, 0xFC400467, 0x01080000, 0x04000400, 0xFFFFFFFF, 0xF9C00456, 0x00A60000, 0xFC000400, 0xC1A9A3FF, 0xFC400467, 0x01080000, 0x04000400, 0xFFFFFFFF, 0xFC400623, 0x00C30000, 0x04000800, 0x000000FF, 0xF9C00612, 0x00610000, 0xFC000800, 0x000000FF, 0x03C00467, 0x01080000, 0xFC000400, 0xFFFFFFFF, 0x06400456, 0x00A60000, 0x04000400, 0xC1A9A3FF, 0x06400612, 0x00610000, 0x04000800, 0x000000FF, 0x03C00623, 0x00C30000, 0xFC000800, 0x000000FF, 0xFEC002B4, 0x017F0000, 0x0C000000, 0xFFFFFFFF, 0xFEC00470, 0x013A0000, 0x0C000400, 0xFFFFFFFF, 0x014002B4, 0x017F0000, 0x14000000, 0xFFFFFFFF, 0x01400470, 0x013A0000, 0x14000400, 0xFFFFFFFF, 0x03C002AB, 0x014E0000, 0x1C000000, 0xFFFFFFFF, 0x03C00467, 0x01080000, 0x1C000400, 0xFFFFFFFF, 0x0640029A, 0x00EB0000, 0x24000000, 0xC1A9A3FF, 0x06400456, 0x00A60000, 0x24000400, 0xC1A9A3FF, 0xF9C002A3, 0x006E0000, 0xFC000000, 0x0000004B, 0xFB3702A3, 0x006E0000, 0x00B00000, 0x00000023, 0xFB37039D, 0x006E0000, 0x00B00253, 0x00000023, 0xF9C0039D, 0x006E0000, 0xFC000253, 0x0000004B, 0x04C902A3, 0x006E0000, 0x1F500000, 0x00000023, 0x064002A3, 0x006E0000, 0x24000000, 0x0000004B, 0x0640039D, 0x006E0000, 0x24000253, 0x0000004B, 0x04C9039D, 0x006E0000, 0x1F500253, 0x00000023, 0xE7000000, 0x00000000, 0xE200001C, 0x0C184340, 0xFC121803, 0xFFFFFFF8, 0xDE000000, 0x80075730, 0x01008010, 0x80075DE0, 0x06000204, 0x00000406, 0x06080A0C, 0x00080C0E, 0xDF000000, 0x00000000, 0xE7000000, 0x00000000, 0xE200001C, 0x0C184240, 0xFC127E03, 0xFFFFF3F8, 0xDE000000, 0x80075730, 0x0101F03E, 0x80075BF0, 0x06000204, 0x00000406, 0x06080A0C, 0x00080C0E, 0x06101214, 0x00101416, 0x06181A1C, 0x00181C1E, 0x061E2022, 0x001E2224, 0x0626282A, 0x00262A2C, 0x061A2E30, 0x001A301C, 0x062E3234, 0x002E3430, 0x06323638, 0x00323834, 0x06363A3C, 0x00363C38, 0xDF000000, 0x00000000, 0xE7000000, 0x00000000, 0xE200001C, 0x0C184240, 0xFCFFFE03, 0xFFFE79F8, 0xD7000000, 0x00800080, 0x01004008, 0x80075B70, 0x06000204, 0x00000406, 0x01004008, 0x80075BB0, 0x06000204, 0x00000406, 0xDF000000, 0x00000000, 0xE7000000, 0x00000000, 0xE200001C, 0x0F0A4200, 0xFC121803, 0xFFFFFFF8, 0xDE000000, 0x800746E0, 0x01019032, 0x800759E0, 0x06000204, 0x00000406, 0x06080A00, 0x00080006, 0x06020C0E, 0x00020E04, 0x06061012, 0x00061214, 0x06160806, 0x00160614, 0x06181A1C, 0x00181C1E, 0x0610181E, 0x00101E12, 0x060C201A, 0x000C1A0E, 0x061C2224, 0x00261C24, 0x0628162A, 0x00162C2A, 0x062E2624, 0x002E2430, 0x062C2E30, 0x002C302A, 0xDF000000, 0x00000000, 0xE7000000, 0x00000000, 0xE200001C, 0x0F0A4200, 0xFC121803, 0xFFFFFFF8, 0xDE000000, 0x800758A0, 0x0100600C, 0x80075980, 0x06000204, 0x00000406, 0x0602080A, 0x00020A04, 0xDF000000, 0x00000000, 0xE7000000, 0x00000000, 0xE200001C, 0x0F0A4200, 0xFC121803, 0xFFFFFFF8, 0xDE000000, 0x800758A0, 0x0100600C, 0x80075920, 0x06000204, 0x00000406, 0x0602080A, 0x00020A04, 0xDF000000, 0x00000000 + +glabel D_80076078 +.word 0xDE000000, 0x80075F68, 0xDE000000, 0x80076038, 0xDE000000, 0x80075FF8, 0xDE000000, 0x80075F20, 0xDE000000, 0x80075E60, 0xDE000000, 0x80075EA0, 0xDF000000, 0x00000000, 0x028001E0, 0x01FF0000, 0x028001E0, 0x01FF0000 + +glabel D_800760C0 +.word 0xDC080008, 0x800760B0, 0xE3000A01, 0x00100000, 0xE3000F00, 0x00000000, 0xE3000C00, 0x00080000, 0xE3001201, 0x00002000, 0xE3000D01, 0x00000000, 0xE3001402, 0x00000C00, 0xE3001700, 0x00000000, 0xE2001E01, 0x00000000, 0xED000000, 0x005003C0, 0xE3001801, 0x00000000, 0xE3001A01, 0x00000000, 0xD9000000, 0x00000000, 0xD9FFFFFF, 0x00200004, 0xDB0E0000, 0x00000014, 0xDF000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00030404, 0x04010000, 0x00000000, 0x00000000, 0x00000000, 0x00000008, 0x0B0B0B0B, 0x03000000, 0x00000000, 0x00000000, 0x00020000, 0x0000000B, 0x0B0B0F0F, 0x0F0F0F0F, 0x0F0F0F0F, 0x0F0F0A00, 0x04080B0E, 0x08000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000406, 0x080A0000, 0x00000408, 0x03000000, 0x00000108, 0x08000000, 0x000B2F3F, 0x1F080000, 0x07080808, 0x08050000, 0x00000000, 0x0000092F, 0xBFBFBF7F, 0x0E030000, 0x02080808, 0x08080102, 0x090F0C01, 0x0000000F, 0xBFBF2FBF, 0xFFFFFFFF, 0xFFFFFFEF, 0x0F0F0E0F, 0x2F5F8FCF, 0x0F070000, 0x00000708, 0x08080803, 0x00020B0B, 0x0B0B0800, 0x0000040F, 0x0F0F0F0A, 0x02040404, 0x04040709, 0x0C0F1F3F, 0x6F0F0508, 0x0B0F2F4F, 0x0E030000, 0x00080E3F, 0x2F0B0100, 0x000BBFFF, 0x6F080009, 0x2F6F6F6F, 0x6F0F0600, 0x00000000, 0x00092FEF, 0xFFFFFFFF, 0x8F0E0301, 0x0C3F6F6F, 0x6F3F0D0F, 0x4FDF4F0D, 0x0300000F, 0xFFFF3FBF, 0xFFFFFFFF, 0xFFFFFF0F, 0x9FFFFFEF, 0xFFFFFFFF, 0xCF0F0600, 0x00082F6F, 0x6F6F5F0E, 0x03073FBF, 0xBF7F0B00, 0x0000085F, 0xFFFF9F0B, 0x0A1F3F3F, 0x3F3F4F7F, 0xBFEFFF8F, 0x2F0F3F6F, 0x9FEFFFFF, 0x7F0E0100, 0x001FBFFF, 0xEF3F0C01, 0x000BBFFF, 0x6F08060F, 0xCFFFFFFF, 0xFFCF0F06, 0x00000000, 0x092FEFFF, 0xFFFFFFFF, 0xFF8F0E0C, 0x4FFFFFFF, 0xFFFF3F6F, 0xFFFFFF5F, 0x0E03000F, 0xFFFF3FBF, 0xFFFFFFFF, 0xFFFFFF0F, 0xBFFFFFFF, 0x7F4FEFFF, 0xFF9F0E03, 0x060FCFFF, 0xFFFFFF8F, 0x0E0A6FFF, 0xFF7F0B00, 0x0000097F, 0xFFFF6F0B, 0x086FFFFF, 0xFFFFFFFF, 0xFFFFFF3F, 0x7FFFFFFF, 0xFFCFFFFF, 0xFF4F0C01, 0x003FFFFF, 0xFFFF4F0C, 0x010BBFFF, 0x6F0C0FCF, 0xFFFFFFFF, 0xFFFF8F0F, 0x03000009, 0x2FEFFFFF, 0x6F0FCFFF, 0xFF8F0F3F, 0xFFFFFFFF, 0xFFFF6F6F, 0xFFFFFFFF, 0x8F0E030F, 0xFFFF3FBF, 0xFFFFFFFF, 0xFF3F0F0F, 0x4FFFFFBF, 0x0F0F2FEF, 0xFFFF8F0E, 0x0FCFFFFF, 0xFFFFFFFF, 0x7F0F8FFF, 0xFF6F0B00, 0x00000BBF, 0xFFFF6F0A, 0x086FFFFF, 0xFFFFFFFF, 0xFFFFFF3F, 0x9FFFFFDF, 0x0F0F8FFF, 0xFFFF3F0A, 0x003FFFFF, 0xFFFFFF4F, 0x0D0DBFFF, 0x6F0FCFFF, 0xFFEF5F0F, 0x8FFFFF8F, 0x0E00092F, 0xEFFFFF4F, 0x0F0F0F8F, 0x8F0F2FEF, 0xFFFFCF3F, 0x2FEF6F3F, 0xFFFFFFFF, 0xFF8F0E0F, 0xFFFF3F7F, 0x7F3F9FFF, 0xFF0F0F0F, 0x0F7FFFBF, 0x0F0F0F3F, 0xFFFFCF0F, 0xBFFFFFFF, 0x6F2FCFFF, 0xFF4F3FFF, 0xFF6F0800, 0x00000EDF, 0xFFFF6F08, 0x082FCFFF, 0xFFFFFFBF, 0xBFBFBF5F, 0x0F9FFFBF, 0x0F0F0F8F, 0xFFFFEF0F, 0x000F9FFF, 0xFFFFFFFF, 0x5F0FBFFF, 0x3F7FFFFF, 0xFF0F0F0F, 0x0FFFFFBF, 0x0C000FEF, 0xFFFF8F0F, 0x0F0F0F0F, 0x0F1FEFFF, 0xFF9F0F0F, 0x0F3FEF1F, 0xBFFFFFFF, 0xFFFF8F3F, 0xFFFF3F0F, 0x0F0F6FFF, 0xFF0F0C0B, 0x0F6FFFBF, 0x0F0F0F7F, 0xFFCF0F7F, 0xFFFFEF1F, 0x0F0F1FFF, 0xFFBF3FFF, 0xFF5F0800, 0x00000FFF, 0xFFFF3F08, 0x080F6FFF, 0xFFFFDF3F, 0x1F0F0F0F, 0x0F6FFFBF, 0x0F0F0F3F, 0xFFFF4F0F, 0x000F0FFF, 0xFFFFFFFF, 0xFFCFFFFF, 0x3FBFFFFF, 0xFF0F0F0F, 0x0FFFFFBF, 0x0E020FFF, 0xFFFF6F0F, 0x0F0F0F0F, 0x0F3FFFFF, 0xFF6F0F0F, 0x0F3FFF3F, 0xBFFFFFFF, 0xFFFFFFFF, 0xFFFF3F0F, 0x0F0F8FFF, 0xFF1F0300, 0x0F9FFFBF, 0x0F0F5FFF, 0xEF2F0FBF, 0xFFFFBF0F, 0x0F0F0FFF, 0xFFBF3FFF, 0xFF3F0800, 0x00042FFF, 0xFFFF3F08, 0x050F6FFF, 0xFFFFFFFF, 0xFFFF3F0F, 0x0F6FFFBF, 0x0F0F0FCF, 0xFF7F0F0F, 0x000A0FFF, 0xFF8FFFFF, 0xFFFFFFFF, 0x3FBFFFFF, 0xFF0F0F0F, 0x0FFFFFBF, 0x0B043FFF, 0xFFFF7F0F, 0x0F0F0F2F, 0x0F3FFFFF, 0xFF6F0F0F, 0x0F3FFF3F, 0xBFFFCF2F, 0xFFFFFFFF, 0xFFFF3F09, 0x050CBFFF, 0xFF3F0400, 0x0FBFFFEF, 0xBFEFFFEF, 0x2F0F0FBF, 0xFFFFBF0F, 0x0F0F0FFF, 0xFFBF3FFF, 0xFF3F0700, 0x00063FFF, 0xFFFF3F05, 0x00086FFF, 0xFFFFFFFF, 0xFFFF0F0F, 0x0F8FFFDF, 0x3F5FCFFF, 0x8F0F0F09, 0x00080FFF, 0xFF0F6FFF, 0xFFFFFFFF, 0x3FBFFFFF, 0xFF2F0F0F, 0x8FFFFFBF, 0x0B043FFF, 0xFFFFEF1F, 0x0F0F9FFF, 0x3F3FFFFF, 0xFF9F0F0F, 0x2FCFFF3F, 0xBFFFBF0F, 0x6FFFFFFF, 0xFFFF3F04, 0x000BBFFF, 0xFF3F0400, 0x0FBFFFFF, 0xFFFFFF4F, 0x0F0F0FBF, 0xFFFFEF0F, 0x0F0F8FFF, 0xFFBF3FFF, 0xFF3F0404, 0x04094FBF, 0xCFFF1F09, 0x080B3F6F, 0x6F7FFFFF, 0xFFFF0F0F, 0x0FBFFFFF, 0xFFFFFFCF, 0x0F0F0900, 0x00080FFF, 0xFF0F0FDF, 0xFFFFFFFF, 0x3F7FFFFF, 0xFFCF3FCF, 0xFFFFFFBF, 0x0B043FFF, 0xFFFFFFCF, 0x3FDFFFFF, 0xCF0FDFFF, 0xFFFF7F4F, 0xEFFFFF3F, 0xBFFFBF0F, 0x0FCFFFFF, 0xFFFF3F04, 0x000DCFFF, 0xFF3F0500, 0x0FBFFFFF, 0x8FEFFF2F, 0x0F0F0F9F, 0xFFFFFF9F, 0x2FBFFFFF, 0xFF6F5FFF, 0xFF2F0F3F, 0x3F3F3F2F, 0x2FFF7F6F, 0x6F6F6F6F, 0x3F3F6F1F, 0x0F0F0F0F, 0x0FBFFFFF, 0xFFFFFF0F, 0x0F0C0100, 0x00080FFF, 0xFF0F0F3F, 0xFFFFFFFF, 0x6F0F9FFF, 0xFFFFFFFF, 0xFFFFDF2F, 0x0B041FEF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFF5F2FEF, 0xFFFFFFFF, 0xFFFFFF3F, 0xBFFFBF0F, 0x0F3FFFFF, 0xFFFF2F04, 0x000FFFFF, 0xFF6F0800, 0x0FFFFF9F, 0x0F5FFFFF, 0x9F3F0F0F, 0xCFFFFFFF, 0xFFFFFFFF, 0xEF2F7FFF, 0xFFFFFFFF, 0xFFFFFF5F, 0x5FFFFFFF, 0xFFFFFFFF, 0x3F7FDFBF, 0xBFBFBFBF, 0x0FBFFFEF, 0x2F9FFFBF, 0x3F0E0801, 0x00080FFF, 0xFF0F0E0F, 0x7FFFFFEF, 0x2F0F0FCF, 0xFFFFFFFF, 0xFFCF0F0F, 0x0B040F2F, 0xEFFFFFFF, 0xFFFFFFFF, 0xFF8F0F3F, 0xFFFFFFFF, 0xFFFF8F0F, 0xBFFFBF0C, 0x0D0F7FFF, 0xFF4F0F04, 0x000FFFFF, 0xFF6F0800, 0x0FFFFF7F, 0x0F0FCFFF, 0xFFFFBF0F, 0x2FEFFFFF, 0xFFFFFFCF, 0x1F4FFFFF, 0xFFFFFFFF, 0xFFFFFF1F, 0xBFFFFFFF, 0xFFFFFFFF, 0x0FDFFFFF, 0xFFFFFFFF, 0x0FEFFF8F, 0x0F0FEFFF, 0xFFBF4F0E, 0x00080FFF, 0xFF0F050F, 0x0FEFEF2F, 0x0F0F0F0F, 0xEFFFFFFF, 0xCF0F0F0E, 0x05030F0F, 0x2FEFFFFF, 0xFFFFFFFF, 0x8F0F0F0F, 0x4FFFFFFF, 0xFF5F0F0F, 0xBFFFBF0B, 0x040F0FCF, 0x3F0F0F03, 0x000FFFFF, 0xFF6F0800, 0x0FFFFFBF, 0x0F0F3FFF, 0xFFFFFF0F, 0x0F2FFFFF, 0xFFFFCF0F, 0x0FFFFFFF, 0xFFFFFFFF, 0xFFFFDF0F, 0xFFFFFFFF, 0xFFFFFF9F, 0x1FFFFFFF, 0xFFFFFFFF, 0x0FFFFFBF, 0x0F0F5FFF, 0xFFFFFF0F, 0x00080FFF, 0xFF0F000A, 0x0F3F0F0F, 0x0F060E0F, 0x0F0F0F0F, 0x0F0F0E03, 0x0000060F, 0x0F2FEFFF, 0xDFBFBF7F, 0x0F0F0B0F, 0x0F0F0F0F, 0x0F0F0F0F, 0x4F6F4F0B, 0x000A0F0F, 0x0F0F0900, 0x040F6F6F, 0x6F3F0B03, 0x0F6F6F4F, 0x0B0D0F6F, 0xBFBFBF0F, 0x0F0F2F3F, 0x3F3F0F0F, 0x0F3F6FBF, 0xDFFFFFFF, 0xFFFF7F0F, 0x4F7FBFEF, 0xFFFFFF5F, 0x5FFFCFBF, 0xBFBFBFBF, 0x0FFFFFBF, 0x0E0E0FCF, 0xFFFFFF0F, 0x00080F0F, 0x0F0F0001, 0x0E0F0F0F, 0x0600030E, 0x0F0F0F0F, 0x0F0E0300, 0x00000006, 0x0F0F0F0F, 0x0F0F0F0F, 0x0F090009, 0x0F0F0F0F, 0x0F0F090C, 0x0F0F0F0B, 0x00010E0F, 0x0F080000, 0x030F0F0F, 0x0F0F0901, 0x0F0F0F0F, 0x0B040F0F, 0x0F0F0F0F, 0x0D0F0F0F, 0x0F0F0F0F, 0x0F0F0F0F, 0x0F0F3F6F, 0x8FCF3F0F, 0x0F0F0F0F, 0x1F3F6F1F, 0x0F0F0F0F, 0x0F0F0F0F, 0x0F0F0F0F, 0x0E080F1F, 0x3F3F3F0F, 0x00080F0F, 0x0F0F0000, 0x070F0E04, 0x00000005, 0x0B0B0B0B, 0x0A030000, 0x00000000, 0x060F0F0F, 0x0F0F0F0F, 0x09000000, 0x080B0B0B, 0x0B08000B, 0x0F0F0F0B, 0x0000050F, 0x06000000, 0x030F0F0F, 0x0F0F0A03, 0x0F0F0F0F, 0x0B000A0F, 0x0F0F0F0F, 0x00080B0B, 0x0B0B0E0F, 0x0F0F0F0F, 0x0F0F0F0F, 0x0F0F0F0F, 0x0F0F0F0F, 0x0F0F0F0F, 0x0F0F0F0F, 0x0F0F0F0F, 0x0F0F0F0F, 0x0D000D0F, 0x0F0F0F0F, 0x00030B0B, 0x0B0A0000, 0x00080300, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00050808, 0x08080807, 0x00000000, 0x00000000, 0x00000002, 0x04040402, 0x00000001, 0x00000000, 0x00030404, 0x04040100, 0x03040404, 0x02000108, 0x08080807, 0x00000000, 0x00000000, 0x00000407, 0x090B0F0F, 0x0F0F0F04, 0x0104080A, 0x0C0F0F0F, 0x08080808, 0x08080808, 0x0A0B0B0B, 0x0800040B, 0x0B0B0B0B, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000003, 0x06080A00, 0x00000000, 0x00000403, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000 + +glabel D_80077140 +.word 0xE7000000, 0x00000000, 0xD7000002, 0xFFFFFFFF, 0xE3000A01, 0x00000000, 0xE3000C00, 0x00000000, 0xE3000D01, 0x00000000, 0xE3000F00, 0x00000000, 0xE3001201, 0x00000000, 0xE3001402, 0x00000C00, 0xFC119623, 0xFF2FFFFF, 0xE200001C, 0x00504240, 0xE3001001, 0x00000000, 0xFD68007F, 0x80076140, 0xF5682000, 0x07094270, 0xE6000000, 0x00000000, 0xF4000000, 0x071FC07C, 0xE7000000, 0x00000000, 0xF5682000, 0x00094270, 0xF2000000, 0x001FC07C, 0xD9FDF9FF, 0x00000000, 0xD9FFFFFF, 0x00200004, 0xDF000000, 0x00000000 + +glabel D_800771E8 +.word 0xE43802E0, 0x00180260, 0xE1000000, 0x00000000, 0xF1000000, 0x04000400, 0xE7000000, 0x00000000, 0xDF000000, 0x00000000 + +glabel D_80077210 +.word 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFF29FFFF, 0xFF2BFFFF, 0x2526FF2A, 0xFF272CFF, 0x00010203, 0x04050607, 0x080924FF, 0xFFFFFF28, 0xFF0A0B0C, 0x0D0E0F10, 0x11121314, 0x15161718, 0x191A1B1C, 0x1D1E1F20, 0x212223FF, 0xFFFFFFFF, 0xFF0A0B0C, 0x0D0E0F10, 0x11121314, 0x15161718, 0x191A1B1C, 0x1D1E1F20, 0x212223FF, 0xFFFFFFFF + +glabel D_80077290 +.word 0x70871C30, 0x8988A250, 0x88808290, 0x88831C90, 0x888402F8, 0x88882210, 0x71CF9C10, 0xF9CF9C70, 0x8228A288, 0xF200A288, 0x0BC11C78, 0x0A222208, 0x8A222288, 0x71C21C70, 0x23C738F8, 0x5228A480, 0x8A282280, 0x8BC822F0, 0xFA282280, 0x8A28A480, 0x8BC738F8, 0xF9C89C08, 0x82288808, 0x82088808, 0xF2EF8808, 0x82288888, 0x82288888, 0x81C89C70, 0x8A08A270, 0x920DA288, 0xA20AB288, 0xC20AAA88, 0xA208A688, 0x9208A288, 0x8BE8A270, 0xF1CF1CF8, 0x8A28A220, 0x8A28A020, 0xF22F1C20, 0x82AA0220, 0x82492220, 0x81A89C20, 0x8A28A288, 0x8A28A288, 0x8A289488, 0x8A2A8850, 0x894A9420, 0x894AA220, 0x70852220, 0xF8011000, 0x08020800, 0x10840400, 0x20040470, 0x40840400, 0x80020800, 0xF8011000, 0x70800000, 0x88822200, 0x08820400, 0x108F8800, 0x20821000, 0x00022200, 0x20800020, 0x00000000 + +glabel D_80077390 +.word 0x80097FBC, 0x80097FA8, 0x80097F90, 0x80097F78, 0x80097F60, 0x80097F48, 0x80097F34, 0x80097F20, 0x80097F08, 0x80097EF0, 0x80097ED8, 0x80097EC0, 0x80097EAC, 0x80097E9C, 0x80097E80, 0x80097E64, 0x80097E4C, 0x80097E30 + +glabel D_800773D8 +.word 0x8009801C, 0x80098008, 0x80097FF4, 0x80097FE8, 0x80097FDC, 0x80097FC8 + +glabel D_800773F0 +.ascii "\0\0\0" + +glabel D_800773F4 +.word 0x00000000 + +glabel D_800773F8 +.word 0x00000000 + +glabel D_800773FC +.word 0x00000000 + +glabel D_80077400 +.word 0x00000000, 0x00000000, 0x00000000, 0x00000000 + +glabel gCurrentCameraID +.word 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000000E4, 0x000000E1, 0x000000EB, 0x000000EF, 0x000000F6, 0x0000010A, 0x0000010C, 0x00000121, 0x00000122, 0x00000123, 0x00000118, 0x0000010E, 0x00000131, 0x0000012E, 0x0000012F, 0x000000E0, 0x000000EE, 0x000000F0, 0x00000109, 0x0000010B, 0x00000107, 0x000000E8, 0x00000117, 0x00000108, 0x00000124, 0x00000125, 0x00000126, 0x0000010F, 0x0000012B, 0x0000012C, 0x000000E9, 0x00000106, 0x00000143, 0x000000ED, 0x00000129, 0x0000012A, 0x000000E7, 0x000000F8, 0x000000FF, 0x00000140, 0x00000105, 0x00000110, 0x00000119, 0x000000E3, 0x00000116, 0x00000113, 0x000000F4, 0x000000E2, 0x000000F5, 0x00000115, 0x00000101, 0x00000102, 0x0000012D, 0x00000111, 0x0000010D, 0x00000112, 0x000000F9, 0x00000130, 0x000000FB, 0x000000FA, 0x000000EC, 0x000000E5, 0x00000150, 0x000000F2, 0x00000100, 0x000000F1, 0x00000114, 0x000000F7, 0x000000F3, 0x00000145, 0x00000146, 0x00000147, 0x00000148, 0x00000149, 0x00000104, 0x000000FC, 0x00000103, 0x0000011A, 0x0000011B, 0x000000FD, 0x00000144, 0x0000011E, 0x000000FE, 0x0000011F, 0x0000011D, 0x0000011C, 0x000000E6, 0x00000120, 0x00000080, 0x00000081, 0x00000082, 0x00000084, 0x00000083, 0x00000086, 0x00000085, 0x00000088, 0x0000008B, 0x0000008A, 0x0000008C, 0x0000008E, 0x00000095, 0x0000008D, 0x00000089, 0x0000009B, 0x0000009E, 0x0000009F, 0x000000A0, 0x000000A1, 0x0000009D, 0x0000009C, 0x000000A4, 0x000000A3, 0x000000A2, 0x00000093, 0x00000094, 0x000000A5, 0x000000A6, 0x000000A7, 0x000000A8, 0x000000A9, 0x000000AA, 0x000000AB, 0x000000AC, 0x000000AD, 0x000000AE, 0x000000AF, 0x0000008F, 0x00000090, 0x00000091, 0x00000092, 0x0000009A, 0x00000098, 0x00000096, 0x00000097, 0x00000087, 0x000000B0, 0x000000B1, 0x000000B2, 0x000000B3, 0x000000B4, 0x000000B5, 0x000000B6, 0x000000B9, 0x000000B8, 0x000000B7, 0x000000BA, 0x000000BD, 0x000000BB, 0x000000BE, 0x000000BF, 0x000000BC, 0x000000C0, 0x000000C1, 0x000000C2, 0x000000C3, 0x000000C4, 0x000000C5, 0x000000C6, 0x000000C7, 0x000000C8, 0x000000C9, 0x000000CA, 0x000000CB, 0x000000CC, 0x000000CD, 0x000000CE, 0x000000CF, 0x000000D0, 0x000000D1, 0x000000D2, 0x000000D3, 0x000000D4, 0x000000D5, 0x000000D6, 0x000000D7, 0x000000D8, 0x000000D9, 0x000000DA, 0x00000000, begin_state_init, step_init_state, 0x00000000, 0x80033788, 0x00000000, begin_state_logos, step_logos, 0x00000000, 0x80034388, 0x00000000, begin_state_title_screen, step_title_screen, 0x00000000, 0x800375A4, 0x00000000, 0x80035E00, 0x80035EEC, 0x00000000, 0x800360FC, 0x00000000, 0x80036130, 0x8003617C, 0x00000000, 0x800363FC, 0x00000000, 0x80036430, 0x8003646C, 0x00000000, 0x80036640, 0x00000000, 0x80035E24, 0x80035EEC, 0x00000000, 0x800360FC, 0x00000000, begin_state_world, step_world, 0x00000000, 0x80035DA0, 0x00000000, begin_state_battle, step_battle, 0x00000000, 0x80033B54, 0x00000000, 0x80033B88, 0x80033BC0, 0x00000000, 0x80033E64, 0x00000000, begin_state_pause_menu, step_pause_menu, 0x00000000, 0x80034BF4, 0x00000000, 0x80034BFC, 0x80034C3C, 0x00000000, 0x80034FF0, 0x00000000, 0x80035000, 0x800351C8, 0x00000000, 0x800355C4, 0x00000000, 0x800355D4, 0x80035704, 0x00000000, 0x80035D18, 0x00000000, 0x80035058, 0x800354EC, 0x00000000, 0x800355CC, 0x00000000, 0x80035660, 0x80035B40, 0x00000000, 0x80035D20, 0x00000000, begin_state_intro, step_intro, 0x00000000, 0x80036DE0, 0x00000000, init_demo_data, next_demo_scene, 0x00000000, 0x8003845C + +glabel D_80077850 +.word 0x800776E8, 0x800776FC, 0x80077710, 0x80077724, 0x80077774, 0x80077738, 0x8007774C, 0x80077760, 0x80077788, 0x8007779C, 0x800777B0, 0x800777C4, 0x800777D8, 0x800777EC, 0x80077800, 0x80077814, 0x80077828, 0x8007783C, 0x00000000, 0x00000000 + +glabel D_800778A0 +.word 0x8038F800, 0x803B5000, D_803DA800, 0x00000000, 0xFFFFFF00, 0xFFFFFF00, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0xE7000000, 0x00000000, 0xE3000A01, 0x00200000, 0xE3000C00, 0x00000000, 0xE3001001, 0x00000000, 0xFCFFFFFF, 0xFFFCF87C, 0xE200001C, 0x00000000, 0xE3001201, 0x00000000, 0xDF000000, 0x00000000 + +glabel D_80077908 +.word 0xE7000000, 0x00000000, 0xE3000A01, 0x00000000, 0xE3000C00, 0x00000000, 0xE3001001, 0x00000000, 0xFCFFFFFF, 0xFFFCF87C, 0xE200001C, 0x0F0A4000, 0xE3001201, 0x00000000, 0xDF000000, 0x00000000, 0x00000000, 0x00000000 \ No newline at end of file diff --git a/tools/splat.yaml b/tools/splat.yaml index 5a4c0eab7b..af710520c2 100644 --- a/tools/splat.yaml +++ b/tools/splat.yaml @@ -205,7 +205,7 @@ segments: - [0x4a1f0, c, os/code_4a1f0_len_170] - [0x4a360, c, os/code_4a360_len_930] - [0x4ac90, c, os/code_4ac90_len_3910] - - [0x4E5A0, bin] + - [0x4E5A0, data, code_1000_len_60] - [0x52D50, bin] - [0x6B450, .data, world/world] - [0x6EAC0, bin] # has scripts From e78900aa0d380670a68e828fd0deb8ca30cdb24d Mon Sep 17 00:00:00 2001 From: Ethan Roseman Date: Mon, 7 Dec 2020 08:52:16 +0900 Subject: [PATCH 26/97] use settings.mk --- .gitignore | 1 - Makefile | 2 -- 2 files changed, 3 deletions(-) diff --git a/.gitignore b/.gitignore index 81e1b818af..61f6368094 100644 --- a/.gitignore +++ b/.gitignore @@ -28,4 +28,3 @@ settings.mk /sprite tools/Yay0compress -cpp.mk diff --git a/Makefile b/Makefile index f802cb7973..2c55403d01 100644 --- a/Makefile +++ b/Makefile @@ -58,8 +58,6 @@ CPP := cpp LD := $(CROSS)ld OBJCOPY := $(CROSS)objcopy --include cpp.mk # Used to specify alternate CPP if `cpp` is the clang one on MacOS - UNAME_S := $(shell uname -s) ifeq ($(UNAME_S),Linux) OS=linux From bba92dd7d2b5647200182effff42cf28a28f5ae0 Mon Sep 17 00:00:00 2001 From: Ethan Roseman Date: Tue, 8 Dec 2020 19:50:14 +0900 Subject: [PATCH 27/97] condensing some structs! :) --- Makefile | 2 +- .../code_25f00_len_940/func_8004ADD0.s | 18 ------- include/variables.h | 1 + src/audio.h | 52 ++++++------------- src/code_25f00_len_940.c | 7 ++- src/code_28910_len_5090.c | 12 ++--- src/code_2e230_len_2190.c | 13 ++--- tools/Yay0compress.c | 2 +- 8 files changed, 35 insertions(+), 72 deletions(-) delete mode 100644 asm/nonmatchings/code_25f00_len_940/func_8004ADD0.s diff --git a/Makefile b/Makefile index 2c55403d01..53916da4dd 100644 --- a/Makefile +++ b/Makefile @@ -54,7 +54,7 @@ CROSS := mips-linux-gnu- AS := $(CROSS)as OLD_AS := tools/mips-nintendo-nu64-as CC := tools/cc1 -CPP := cpp +CPP ?= cpp LD := $(CROSS)ld OBJCOPY := $(CROSS)objcopy diff --git a/asm/nonmatchings/code_25f00_len_940/func_8004ADD0.s b/asm/nonmatchings/code_25f00_len_940/func_8004ADD0.s deleted file mode 100644 index b5137fbdbc..0000000000 --- a/asm/nonmatchings/code_25f00_len_940/func_8004ADD0.s +++ /dev/null @@ -1,18 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel func_8004ADD0 -/* 261D0 8004ADD0 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 261D4 8004ADD4 AFB00010 */ sw $s0, 0x10($sp) -/* 261D8 8004ADD8 0080802D */ daddu $s0, $a0, $zero -/* 261DC 8004ADDC AFBF0014 */ sw $ra, 0x14($sp) -/* 261E0 8004ADE0 0C018250 */ jal osSetIntMask -/* 261E4 8004ADE4 24040001 */ addiu $a0, $zero, 1 -/* 261E8 8004ADE8 3C018008 */ lui $at, %hi(D_80078174) -/* 261EC 8004ADEC AC308174 */ sw $s0, %lo(D_80078174)($at) -/* 261F0 8004ADF0 0C018250 */ jal osSetIntMask -/* 261F4 8004ADF4 0040202D */ daddu $a0, $v0, $zero -/* 261F8 8004ADF8 8FBF0014 */ lw $ra, 0x14($sp) -/* 261FC 8004ADFC 8FB00010 */ lw $s0, 0x10($sp) -/* 26200 8004AE00 03E00008 */ jr $ra -/* 26204 8004AE04 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/include/variables.h b/include/variables.h index 562091a94c..306bfa29d8 100644 --- a/include/variables.h +++ b/include/variables.h @@ -221,6 +221,7 @@ extern u32 gBattleMapFlags[MAX_MAPFLAGS]; extern s32 D_8009A5D8; extern u8 D_800779B0; +extern u32 D_80078174; extern u8 D_800A0963; // Scripts diff --git a/src/audio.h b/src/audio.h index d3766ffb7f..0cea93329e 100644 --- a/src/audio.h +++ b/src/audio.h @@ -9,12 +9,12 @@ typedef struct UnkAl1 { /* 0x04 */ s32 unk_04; /* 0x08 */ s16 unk_08; /* 0x0A */ s16 unk_0A; - /* 0x0C */ char unk_0C[4]; + /* 0x0C */ s32 unk_0C; /* 0x10 */ s32 unk_10; /* 0x14 */ s32 unk_14; /* 0x18 */ s16 unk_18; /* 0x1A */ s16 unk_1A; -} UnkAl1; +} UnkAl1; // size unknown (currently 0x1C) typedef struct UnkAl2 { /* 0x00 */ s16 unk_00; @@ -72,7 +72,9 @@ typedef struct UnkAl6CC { /* 0x0BE */ u8 unk_BE; /* 0x0BF */ char unk_BF[0x1]; /* 0x0C0 */ s8 unk_C0; - /* 0x0C1 */ char unk_C1[0xA7]; + /* 0x0C1 */ char unk_C1[0xA2]; + /* 0x163 */ s8 unk_163; + /* 0x164 */ s32 unk_164; /* 0x168 */ s32 unk_168; /* 0x16C */ char unk_16C[0x560]; } UnkAl6CC; @@ -87,14 +89,12 @@ typedef struct UnkAlA9C { /* 0x018 */ s32 unk_18; /* 0x01C */ s32 unk_1C; /* 0x020 */ char unk_20[0xC]; - /* 0x02C */ s32* unk_2C; - /* 0x030 */ char unk_30[0x6]; - /* 0x036 */ s16 unk_36; - /* 0x038 */ char unk_38[0xE]; - /* 0x046 */ s16 unk_46; + /* 0x02C */ UnkAl1 unk_2C; /* 0x048 */ char unk_48[0x14]; /* 0x05C */ s16 unk_5C; - /* 0x05E */ char unk_5E[0xA3A]; + /* 0x05E */ char unk_5E[0x1C3]; + /* 0x221 */ u8 unk_221; + /* 0x222 */ char unk_222[0x87A]; } UnkAlA9C; typedef struct UnkAl48 { @@ -250,28 +250,6 @@ typedef struct UnkAl834 { /* 0x021 */ char unk_21[0x813]; } UnkAl834; -// Probably some libultra audio thing -typedef struct UnkStructFor80053A18 { - /* 0x00 */ UNK_TYPE unk_00; - /* 0x04 */ s32 unk_04; - /* 0x08 */ char unk_08[2]; - /* 0x0A */ u16 unk_0A; - /* 0x0C */ s32 unk_0C; -} UnkStructFor80053A18; // size unknown - -typedef struct { - /* 0x000 */ char unk_000[8]; - /* 0x008 */ s32 unk_008; - /* 0x00C */ char unk_00C[4]; - /* 0x010 */ s32 unk_010; - /* 0x014 */ char unk_014[8]; - /* 0x01C */ UNK_TYPE unk_01C; - /* 0x020 */ char unk_020[0xC]; - /* 0x02C */ UnkStructFor80053A18 unk_02C; - /* 0x03C */ char unk_03C[0x1E5]; - /* 0x221 */ u8 unk_221; -} UnkStructFor8004DAA8; // size unknown - extern UnkAl0* D_80078E54; extern s8* D_80078181; extern s32* D_80078190; @@ -301,17 +279,17 @@ void al_LoadBKHeaders(UnkAl19E0* arg0, ALHeap* arg1); void func_8004B6D8(UnkAl6CC*, s32, s16, s16, u8); void func_8004B748(UnkAl6CC*); -void func_8004BA54(UnkAl6CC* arg0, s32 arg1); +void func_8004BA54(UnkAl6CC*, s32); void func_8004D510(UnkAlA9C*); -void func_8004DAA8(UnkStructFor8004DAA8* arg0); -s32 func_80050C30(u32 arg0); +void func_8004DAA8(UnkAlA9C*); +s32 func_80050C30(u32); void func_800532F4(UnkAl30*); void func_80053370(UnkAl12*); void func_800533A8(UnkAl2*); void func_80053654(UnkAl19E0*); -void func_80053A18(UnkStructFor80053A18* arg0); +void func_80053A18(UnkAl1*); void func_80053A28(s32); -void func_80053A98(u8 arg0, u16 arg1, s32 arg2); +void func_80053A98(u8, u16, s32); void func_80053BA8(UnkAl1*); void func_80054CE0(s32, s32); void func_8005610C(void); @@ -327,7 +305,7 @@ void func_80057E5C(u8); void func_80057EB0(void); void al_LoadINIT(UnkAl19E0*, s32, ALHeap*); -s32 al_CopyFileTableEntry(u16 arg0, s32 arg1, s32* arg2); +s32 al_CopyFileTableEntry(u16, s32, s32*); void al_LoadPER(UnkAl19E0*, s32*); void al_LoadPRG(UnkAl19E0*, s32*); void al_DmaCopy(s32, s32*, s32); diff --git a/src/code_25f00_len_940.c b/src/code_25f00_len_940.c index 601ebe4882..1228a355e3 100644 --- a/src/code_25f00_len_940.c +++ b/src/code_25f00_len_940.c @@ -2,7 +2,12 @@ INCLUDE_ASM(s32, "code_25f00_len_940", func_8004AB00); -INCLUDE_ASM(s32, "code_25f00_len_940", func_8004ADD0); +void func_8004ADD0(s32 arg0) { + OSIntMask osIntMask = osSetIntMask(OS_IM_NONE); + + D_80078174 = arg0; + osSetIntMask(osIntMask); +} INCLUDE_ASM(s32, "code_25f00_len_940", func_8004AE08); diff --git a/src/code_28910_len_5090.c b/src/code_28910_len_5090.c index 55393e7dd9..728ed67a16 100644 --- a/src/code_28910_len_5090.c +++ b/src/code_28910_len_5090.c @@ -10,7 +10,7 @@ s32 func_8004DA0C(UNK_TYPE arg0) { s32 ret = 0; if (arg0 != 0) { - UnkStructFor8004DAA8* unknown; + UnkAlA9C* unknown; do { unknown = func_8004D794(); @@ -19,7 +19,7 @@ s32 func_8004DA0C(UNK_TYPE arg0) { do { if (unknown == NULL) { ret = 2; - } else if (arg0 == unknown->unk_01C) { + } else if (arg0 == unknown->unk_1C) { func_8004DAA8(unknown); ret = 0; } @@ -33,12 +33,12 @@ s32 func_8004DA0C(UNK_TYPE arg0) { INCLUDE_ASM(s32, "code_28910_len_5090", func_8004DA74); -void func_8004DAA8(UnkStructFor8004DAA8* arg0) { +void func_8004DAA8(UnkAlA9C* arg0) { if (arg0->unk_221 != 0) { arg0->unk_221 = 4; - arg0->unk_010 = 1; - arg0->unk_008 = 1; - func_80053A18(&arg0->unk_02C); + arg0->unk_10 = 1; + arg0->unk_08 = 1; + func_80053A18(&arg0->unk_2C); } } diff --git a/src/code_2e230_len_2190.c b/src/code_2e230_len_2190.c index 4ec8f1b86b..432904a361 100644 --- a/src/code_2e230_len_2190.c +++ b/src/code_2e230_len_2190.c @@ -212,7 +212,7 @@ void func_800533D0(void) { t1 = &D_80078DB0; if (t1[0] == 0) { temp_s0_2 = D_8009A5FC; - if (temp_s0_2->unk_36 != 0) { + if (temp_s0_2->unk_2C.unk_0A != 0) { func_8004E3A4(temp_s0_2); } if (temp_s0_2->unk_1C != 0) { @@ -229,14 +229,14 @@ void func_800533D0(void) { func_8004DFD4(temp_s2); } temp_s0_3 = D_8009A664; - if (temp_s0_3->unk_46 != 0) { + if (temp_s0_3->unk_2C.unk_1A != 0) { func_80053BA8(&temp_s0_3->unk_2C); - if (temp_s0_3->unk_36 == 0) { + if (temp_s0_3->unk_2C.unk_0A == 0) { func_8004E444(temp_s0_3); } else { func_8004E3A4(temp_s0_3); } - } else if (temp_s0_3->unk_36 != 0) { + } else if (temp_s0_3->unk_2C.unk_0A != 0) { func_8004E3A4(temp_s0_3); } if (temp_s0_3->unk_1C != 0) { @@ -347,9 +347,6 @@ void func_80053654(UnkAl19E0 *arg0) { } } - - - void func_80053888(UnkAl48* arg0, s32 arg1) { // type may be wrong but it seems good if (arg0->unk_45 != 0) { arg0->unk_1C = 0; @@ -370,7 +367,7 @@ INCLUDE_ASM(s32, "code_2e230_len_2190", func_800538F8); INCLUDE_ASM(s32, "code_2e230_len_2190", func_80053974); -void func_80053A18(UnkStructFor80053A18* arg0) { +void func_80053A18(UnkAl1* arg0) { arg0->unk_0A = 0; arg0->unk_04 = 0; arg0->unk_0C = 0; diff --git a/tools/Yay0compress.c b/tools/Yay0compress.c index bbcae98760..1b9cd64fc3 100644 --- a/tools/Yay0compress.c +++ b/tools/Yay0compress.c @@ -32,7 +32,7 @@ int main(int argc, const char **argv, const char **envp) if (argc < 3) { - fprintf(stderr, "Yay0decompress [infile] [outfile]\n"); + fprintf(stderr, "Yay0compress [infile] [outfile]\n"); return 1; } From 3528a01b2b9192fdfbdebb1c895595479950d139 Mon Sep 17 00:00:00 2001 From: Ethan Roseman Date: Wed, 9 Dec 2020 06:00:51 +0900 Subject: [PATCH 28/97] some stuff --- Makefile | 5 +- .../code_303c0_len_3e10/func_80055110.s | 16 -- src/audio.h | 212 ++++++++++++------ src/code_28910_len_5090.c | 2 +- src/code_2d9a0_len_890.c | 5 +- src/code_2e230_len_2190.c | 12 +- src/code_303c0_len_3e10.c | 13 +- src/code_31650.c | 7 +- 8 files changed, 173 insertions(+), 99 deletions(-) delete mode 100644 asm/nonmatchings/code_303c0_len_3e10/func_80055110.s diff --git a/Makefile b/Makefile index 53916da4dd..5b410e6a5c 100644 --- a/Makefile +++ b/Makefile @@ -8,8 +8,6 @@ COMPARE = 1 NON_MATCHING = 0 WATCH_INCLUDES = 1 --include settings.mk - # Fail early if baserom does not exist ifeq ($(wildcard $(BASEROM)),) $(error Baserom `$(BASEROM)' not found.) @@ -54,7 +52,7 @@ CROSS := mips-linux-gnu- AS := $(CROSS)as OLD_AS := tools/mips-nintendo-nu64-as CC := tools/cc1 -CPP ?= cpp +CPP := cpp LD := $(CROSS)ld OBJCOPY := $(CROSS)objcopy @@ -86,6 +84,7 @@ ifeq ($(NON_MATCHING),1) CPPFLAGS += -DNON_MATCHING endif +-include settings.mk ### Sources ### diff --git a/asm/nonmatchings/code_303c0_len_3e10/func_80055110.s b/asm/nonmatchings/code_303c0_len_3e10/func_80055110.s deleted file mode 100644 index e07c52186c..0000000000 --- a/asm/nonmatchings/code_303c0_len_3e10/func_80055110.s +++ /dev/null @@ -1,16 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel func_80055110 -/* 30510 80055110 24030007 */ addiu $v1, $zero, 7 -/* 30514 80055114 2482001C */ addiu $v0, $a0, 0x1c -.L80055118: -/* 30518 80055118 AC400238 */ sw $zero, 0x238($v0) -/* 3051C 8005511C 2463FFFF */ addiu $v1, $v1, -1 -/* 30520 80055120 0461FFFD */ bgez $v1, .L80055118 -/* 30524 80055124 2442FFFC */ addiu $v0, $v0, -4 -/* 30528 80055128 A080025B */ sb $zero, 0x25b($a0) -/* 3052C 8005512C A080025A */ sb $zero, 0x25a($a0) -/* 30530 80055130 A0800259 */ sb $zero, 0x259($a0) -/* 30534 80055134 03E00008 */ jr $ra -/* 30538 80055138 A0800258 */ sb $zero, 0x258($a0) diff --git a/src/audio.h b/src/audio.h index 0cea93329e..a4349b9f31 100644 --- a/src/audio.h +++ b/src/audio.h @@ -3,6 +3,8 @@ #include "common.h" +typedef void (*UnkFuncAl)(); + typedef struct UnkAl1 { /* 0x00 */ s16 unk_00; /* 0x02 */ char unk_02[2]; @@ -79,61 +81,17 @@ typedef struct UnkAl6CC { /* 0x16C */ char unk_16C[0x560]; } UnkAl6CC; -typedef struct UnkAlA9C { - /* 0x000 */ char unk_00[0x4]; - /* 0x004 */ UnkAl6CC* unk_04; - /* 0x008 */ s32 unk_08; - /* 0x00C */ s32 unk_0C; - /* 0x010 */ s32 unk_10; - /* 0x014 */ char unk_14[0x4]; - /* 0x018 */ s32 unk_18; - /* 0x01C */ s32 unk_1C; - /* 0x020 */ char unk_20[0xC]; - /* 0x02C */ UnkAl1 unk_2C; - /* 0x048 */ char unk_48[0x14]; - /* 0x05C */ s16 unk_5C; - /* 0x05E */ char unk_5E[0x1C3]; - /* 0x221 */ u8 unk_221; - /* 0x222 */ char unk_222[0x87A]; -} UnkAlA9C; - -typedef struct UnkAl48 { - /* 0x00 */ s32 unk_00; - /* 0x04 */ s32 unk_04; - /* 0x08 */ s32 unk_08; - /* 0x0C */ s16 unk_0C; - /* 0x0E */ u8 unk_0E; - /* 0x0F */ u8 unk_0F; - /* 0x10 */ u8 unk_10; - /* 0x11 */ char unk_11[0x3]; - /* 0x14 */ s32 unk_14; - /* 0x18 */ char unk_18[0x4]; - /* 0x1C */ s32 unk_1C; - /* 0x20 */ char unk_20[0x22]; - /* 0x42 */ u8 unk_42; - /* 0x43 */ u8 unk_43; - /* 0x44 */ s8 unk_44; - /* 0x45 */ u8 unk_45; - /* 0x46 */ char unk_46[2]; -} UnkAl48; // size = 0x48 - -typedef struct UnkAl19E0Sub { - /* 0x0 */ u16 unk_0; - /* 0x2 */ u16 unk_2; - /* 0x4 */ u16 unk_4; -} UnkAl19E0Sub; - -typedef struct UnkAl19E0Sub2 { - /* 0x0 */ u8 unk_00; - /* 0x1 */ u8 unk_01; - /* 0x2 */ char unk_02[2]; -} UnkAl19E0Sub2; - -typedef struct UnkAl19E0Sub3 { - /* 0x00 */ UnkAlA9C* unk_0; - /* 0x04 */ s8 unk_4; - /* 0x05 */ s8 unk_5; -} UnkAl19E0Sub3; +typedef struct UnkAl12 { + /* 0x0 */ s16 unk_00; + /* 0x2 */ s16 unk_02; + /* 0x4 */ s8 unk_04; + /* 0x5 */ s8 unk_05; + /* 0x6 */ s8 unk_06; + /* 0x7 */ s8 unk_07; + /* 0x8 */ s8 unk_08; + /* 0x9 */ s8 unk_09; + /* 0xA */ s8 unk_0A; +} UnkAl12; typedef struct UnkAl30 { /* 0x00 */ s32* unk_00; @@ -157,24 +115,64 @@ typedef struct UnkAl30 { /* 0x2C */ s32* unk_2C; } UnkAl30; -typedef struct UnkAl12 { - /* 0x0 */ s16 unk_00; - /* 0x2 */ s16 unk_02; - /* 0x4 */ s8 unk_04; - /* 0x5 */ s8 unk_05; - /* 0x6 */ s8 unk_06; - /* 0x7 */ s8 unk_07; - /* 0x8 */ s8 unk_08; - /* 0x9 */ s8 unk_09; - /* 0xA */ s8 unk_0A; -} UnkAl12; +typedef struct UnkAl48 { + /* 0x00 */ s32 unk_00; + /* 0x04 */ f32 unk_04; + /* 0x08 */ s32 unk_08; + /* 0x0C */ s16 unk_0C; + /* 0x0E */ u8 unk_0E; + /* 0x0F */ u8 unk_0F; + /* 0x10 */ u8 unk_10; + /* 0x11 */ char unk_11[0x3]; + /* 0x14 */ s32 unk_14; + /* 0x18 */ s32 unk_18; + /* 0x1C */ s32* unk_1C; + /* 0x20 */ char unk_20[0x4]; + /* 0x24 */ s32 unk_24; + /* 0x28 */ s32 unk_28; + /* 0x2C */ f32 unk_2C; + /* 0x30 */ s32 unk_30; + /* 0x34 */ s32 unk_34; + /* 0x38 */ char unk_38[0x1]; + /* 0x39 */ u8 unk_39; + /* 0x3A */ u8 unk_3A; + /* 0x3B */ u8 unk_3B; + /* 0x3C */ char unk_3C[0x1]; + /* 0x3D */ u8 unk_3D; + /* 0x3E */ u8 unk_3E; + /* 0x3F */ u8 unk_3F; + /* 0x40 */ s16 unk_40; + /* 0x42 */ u8 unk_42; + /* 0x43 */ u8 unk_43; + /* 0x44 */ s8 unk_44; + /* 0x45 */ u8 unk_45; + /* 0x46 */ char unk_46[2]; +} UnkAl48; // size = 0x48 typedef struct UnkTemp2 { /* 0x00 */ s32 unk_00; /* 0x08 */ s32 unk_04; } UnkTemp2; -typedef void (*UnkFuncAl)(); +typedef struct UnkAl19E0Sub { + /* 0x0 */ u16 unk_0; + /* 0x2 */ u16 unk_2; + /* 0x4 */ u16 unk_4; +} UnkAl19E0Sub; + +typedef struct UnkAl19E0Sub2 { + /* 0x0 */ u8 unk_00; + /* 0x1 */ u8 unk_01; + /* 0x2 */ char unk_02[2]; +} UnkAl19E0Sub2; + +struct UnkAlA9C; + +typedef struct UnkAl19E0Sub3 { + /* 0x00 */ struct UnkAlA9C* unk_0; + /* 0x04 */ s8 unk_4; + /* 0x05 */ s8 unk_5; +} UnkAl19E0Sub3; typedef struct UnkAl19E0 { /* 0x0000 */ f32 unk_00; @@ -240,6 +238,72 @@ typedef struct UnkAl19E0 { /* 0x1320 */ UnkAl48 unk_1320[24]; } UnkAl19E0; // size = 0x19E0 +typedef struct UnkAlA9C { + /* 0x000 */ UnkAl19E0* unk_00; + /* 0x004 */ UnkAl6CC* unk_04; + /* 0x008 */ s32 unk_08; + /* 0x00C */ s32 unk_0C; + /* 0x010 */ s32 unk_10; + /* 0x014 */ s32 unk_14; + /* 0x018 */ s32 unk_18; + /* 0x01C */ s32 unk_1C; + /* 0x020 */ s32 unk_20; + /* 0x024 */ char unk_24[0x8]; + /* 0x02C */ UnkAl1 unk_2C; + /* 0x048 */ s32 unk_48; + /* 0x04C */ char unk_4C[0xC]; + /* 0x058 */ s16 unk_58; + /* 0x05A */ s16 unk_5A; + /* 0x05C */ s16 unk_5C; + /* 0x05E */ char unk_5E[0xA]; + /* 0x068 */ s16 unk_68; + /* 0x06A */ char unk_6A[0x2]; + /* 0x06C */ s32 unk_6C; + /* 0x070 */ s32 unk_70; + /* 0x074 */ char unk_74[0x3C]; + /* 0x0B0 */ s32 unk_B0; + /* 0x0B4 */ s32 unk_B4; + /* 0x0B8 */ s32 unk_B8; + /* 0x0BC */ s32 unk_BC; + /* 0x0C0 */ s32 unk_C0; + /* 0x0C4 */ s32 unk_C4; + /* 0x0C8 */ s32 unk_C8; + /* 0x0CC */ s32 unk_CC; + /* 0x0D0 */ f32 unk_D0; + /* 0x0D4 */ char unk_D4[0x94]; + /* 0x168 */ s32 unk_168; + /* 0x16C */ char unk_16C[0x98]; + /* 0x204 */ s32 unk_204; + /* 0x208 */ char unk_208[0x4]; + /* 0x20C */ s16 unk_20C; + /* 0x20E */ s16 unk_20E; + /* 0x210 */ char unk_210[0x10]; + /* 0x220 */ u8 unk_220; + /* 0x221 */ u8 unk_221; + /* 0x222 */ u8 unk_222; + /* 0x223 */ u8 unk_223; + /* 0x224 */ char unk_224[0x6]; + /* 0x22A */ u8 unk_22A; + /* 0x22B */ u8 unk_22B; + /* 0x22C */ u8 unk_22C; + /* 0x22D */ u8 unk_22D; + /* 0x22E */ u8 unk_22E; + /* 0x22F */ u8 unk_22F; + /* 0x230 */ u8 unk_230; + /* 0x231 */ u8 unk_231; + /* 0x232 */ u8 unk_232; + /* 0x233 */ char unk_233[0x1]; + /* 0x234 */ u8 unk_234; + /* 0x235 */ u8 unk_235; + /* 0x236 */ char unk_236[0x2]; + /* 0x238 */ s32 unk_238[8]; + /* 0x258 */ s8 unk_258; + /* 0x259 */ s8 unk_259; + /* 0x25A */ s8 unk_25A; + /* 0x25B */ s8 unk_25B; + /* 0x25C */ char unk_25C[0x840]; +} UnkAlA9C; // size = 0xA9C + typedef struct UnkAl834 { /* 0x000 */ UnkAl19E0* unk_00; /* 0x004 */ s32 unk_04; @@ -282,7 +346,11 @@ void func_8004B748(UnkAl6CC*); void func_8004BA54(UnkAl6CC*, s32); void func_8004D510(UnkAlA9C*); void func_8004DAA8(UnkAlA9C*); +void func_8004E158(UnkAlA9C*, s32, s32, UnkAl19E0*); s32 func_80050C30(u32); + +void func_80052BF8(UnkAl48* arg0, s32* arg1); + void func_800532F4(UnkAl30*); void func_80053370(UnkAl12*); void func_800533A8(UnkAl2*); @@ -290,17 +358,25 @@ void func_80053654(UnkAl19E0*); void func_80053A18(UnkAl1*); void func_80053A28(s32); void func_80053A98(u8, u16, s32); +void func_80053AEC(UnkAl1*, s16); void func_80053BA8(UnkAl1*); void func_80054CE0(s32, s32); void func_8005610C(void); + +void func_80055110(UnkAlA9C*); s16 func_80056D50(void); void func_80056D78(u8, u16); void func_80056DCC(u8, u8); +void func_80056EC0(u8, s8); void func_80056EE8(u8); +void func_80056FA4(u8, u8, s32, f32, s16, u8, u8, s32); +void func_80057224(u8, UnkAl30*); +void func_80057344(u8, f32); +void func_8005736C(u8, s16, s32, u8, u8); +void func_80057548(u8, u8, u8); void func_800576EC(u8, s32, s32); void func_80057DC8(s32); void func_80057E08(u8); -void func_80057548(u8, u8, u8); void func_80057E5C(u8); void func_80057EB0(void); diff --git a/src/code_28910_len_5090.c b/src/code_28910_len_5090.c index 728ed67a16..017f2c2aad 100644 --- a/src/code_28910_len_5090.c +++ b/src/code_28910_len_5090.c @@ -58,7 +58,7 @@ INCLUDE_ASM(s32, "code_28910_len_5090", func_8004DFD4); INCLUDE_ASM(s32, "code_28910_len_5090", func_8004E0F4); -INCLUDE_ASM(s32, "code_28910_len_5090", func_8004E158); +INCLUDE_ASM(void, "code_28910_len_5090", func_8004E158, UnkAlA9C* arg0, s32 arg1, s32 arg2, UnkAl19E0* arg3); INCLUDE_ASM(s32, "code_28910_len_5090", func_8004E344); diff --git a/src/code_2d9a0_len_890.c b/src/code_2d9a0_len_890.c index 168ab886c9..406c13b003 100644 --- a/src/code_2d9a0_len_890.c +++ b/src/code_2d9a0_len_890.c @@ -1,4 +1,5 @@ #include "common.h" +#include "audio.h" INCLUDE_ASM(s32, "code_2d9a0_len_890", func_800525A0); @@ -10,7 +11,9 @@ INCLUDE_ASM(s32, "code_2d9a0_len_890", func_80052B44); INCLUDE_ASM(s32, "code_2d9a0_len_890", func_80052BC0); -INCLUDE_ASM(s32, "code_2d9a0_len_890", func_80052BF8); +extern s32* D_800785A0; + +INCLUDE_ASM(void, "code_2d9a0_len_890", func_80052BF8, UnkAl48* arg0, s32* arg1); INCLUDE_ASM(s32, "code_2d9a0_len_890", func_80052CFC); diff --git a/src/code_2e230_len_2190.c b/src/code_2e230_len_2190.c index 432904a361..8e456dfeaa 100644 --- a/src/code_2e230_len_2190.c +++ b/src/code_2e230_len_2190.c @@ -69,8 +69,8 @@ void func_80052E5C(s32 arg0) { } for (i = 0; i < 24; i++) { - func_80056EC0((u8)i, 0); - func_80057224((u8)i, temp4->unk_04); + func_80056EC0(i, 0); + func_80057224(i, temp4->unk_04); temp5 = &temp4->unk_1320[i]; temp5->unk_00 = 0; temp5->unk_04 = 0; @@ -322,7 +322,7 @@ void func_80053654(UnkAl19E0 *arg0) { u8 unk_43 = it->unk_43; if (it->unk_42 != 0) { - func_80056EE8(i); // todo add decl + func_80056EE8(i); it->unk_42 = 0; it->unk_1C = 0; it->unk_45 = 0; @@ -330,15 +330,15 @@ void func_80053654(UnkAl19E0 *arg0) { if (unk_43 & 2) { func_80052BF8(it, &it->unk_14); - func_80056FA4((u8)i, it->unk_10, it->unk_00, it->unk_04, it->unk_0C, it->unk_0E, it->unk_0F, it->unk_08); + func_80056FA4(i, it->unk_10, it->unk_00, it->unk_04, it->unk_0C, it->unk_0E, it->unk_0F, it->unk_08); it->unk_45 = it->unk_44; } else { if (unk_43 & 8) { - func_80057344((u8)i, it->unk_04); + func_80057344(i, it->unk_04); } if (unk_43 & 4) { - func_8005736C((u8)i, it->unk_0C, it->unk_08, it->unk_0E, it->unk_0F); + func_8005736C(i, it->unk_0C, it->unk_08, it->unk_0E, it->unk_0F); } else if (unk_43 & 0x10) { func_80057548(i, it->unk_0E, it->unk_0F); } diff --git a/src/code_303c0_len_3e10.c b/src/code_303c0_len_3e10.c index d12bee1c09..bd4ce8232e 100644 --- a/src/code_303c0_len_3e10.c +++ b/src/code_303c0_len_3e10.c @@ -18,7 +18,18 @@ INCLUDE_ASM(void, "code_303c0_len_3e10", func_80055050, void); INCLUDE_ASM(void, "code_303c0_len_3e10", func_80055068, u32 arg0); -INCLUDE_ASM(s32, "code_303c0_len_3e10", func_80055110); +void func_80055110(UnkAlA9C *arg0) { + s32 i; + + for (i = 0; i < 8; i++) { + arg0->unk_238[i] = 0; + } + + arg0->unk_25B = 0; + arg0->unk_25A = 0; + arg0->unk_259 = 0; + arg0->unk_258 = 0; +} INCLUDE_ASM(s32, "code_303c0_len_3e10", func_8005513C); diff --git a/src/code_31650.c b/src/code_31650.c index 1a6916eda5..c8b717eaf3 100644 --- a/src/code_31650.c +++ b/src/code_31650.c @@ -61,9 +61,9 @@ void func_80056F78(u8 arg0) { al7C->unk_70 = 1; } -INCLUDE_ASM(s32, "code_31650", func_80056FA4); +INCLUDE_ASM(void, "code_31650", func_80056FA4, u8 arg0, u8 arg1, s32 arg2, f32 arg3, s16 arg4, u8 arg5, u8 arg6, s32 arg7); -INCLUDE_ASM(s32, "code_31650", func_80057224); +INCLUDE_ASM(void, "code_31650", func_80057224, u8 arg0, UnkAl30* arg1); void func_80057344(u8 arg0, f32 arg1) { UnkAl7C* al7C = &D_80078E54->unk_1C[arg0]; @@ -71,7 +71,7 @@ void func_80057344(u8 arg0, f32 arg1) { al7C->unk_3C = arg1; } -INCLUDE_ASM(s32, "code_31650", func_8005736C); +INCLUDE_ASM(void, "code_31650", func_8005736C, u8 arg0, s16 arg1, s32 arg2, u8 arg3, u8 arg4); INCLUDE_ASM(void, "code_31650", func_80057548, u8 arg0, u8 arg1, u8 arg2); @@ -157,6 +157,7 @@ void* alHeapAlloc(ALHeap *heap, s32 arg1, s32 size) { ret = heap->cur; heap->cur = newCur; } + return ret; } From dcdab9710c6f14e44570fb839cbd6caae9b6bda6 Mon Sep 17 00:00:00 2001 From: Ethan Roseman Date: Wed, 9 Dec 2020 13:24:00 +0900 Subject: [PATCH 29/97] 1 more --- .../code_303c0_len_3e10/func_800565A4.s | 12 ------------ asm/nonmatchings/code_31650/func_800565A4.s | 12 ------------ src/audio.h | 3 ++- src/code_31650.c | 15 ++++++++++++++- tools/splat.yaml | 2 +- 5 files changed, 17 insertions(+), 27 deletions(-) delete mode 100644 asm/nonmatchings/code_303c0_len_3e10/func_800565A4.s delete mode 100644 asm/nonmatchings/code_31650/func_800565A4.s diff --git a/asm/nonmatchings/code_303c0_len_3e10/func_800565A4.s b/asm/nonmatchings/code_303c0_len_3e10/func_800565A4.s deleted file mode 100644 index d831b054be..0000000000 --- a/asm/nonmatchings/code_303c0_len_3e10/func_800565A4.s +++ /dev/null @@ -1,12 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel func_800565A4 -/* 319A4 800565A4 3C038008 */ lui $v1, %hi(D_80078E50) -/* 319A8 800565A8 24638E50 */ addiu $v1, $v1, %lo(D_80078E50) -/* 319AC 800565AC 8C620000 */ lw $v0, ($v1) -/* 319B0 800565B0 54400001 */ bnel $v0, $zero, .L800565B8 -/* 319B4 800565B4 AC600000 */ sw $zero, ($v1) -.L800565B8: -/* 319B8 800565B8 03E00008 */ jr $ra -/* 319BC 800565BC 00000000 */ nop diff --git a/asm/nonmatchings/code_31650/func_800565A4.s b/asm/nonmatchings/code_31650/func_800565A4.s deleted file mode 100644 index d831b054be..0000000000 --- a/asm/nonmatchings/code_31650/func_800565A4.s +++ /dev/null @@ -1,12 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel func_800565A4 -/* 319A4 800565A4 3C038008 */ lui $v1, %hi(D_80078E50) -/* 319A8 800565A8 24638E50 */ addiu $v1, $v1, %lo(D_80078E50) -/* 319AC 800565AC 8C620000 */ lw $v0, ($v1) -/* 319B0 800565B0 54400001 */ bnel $v0, $zero, .L800565B8 -/* 319B4 800565B4 AC600000 */ sw $zero, ($v1) -.L800565B8: -/* 319B8 800565B8 03E00008 */ jr $ra -/* 319BC 800565BC 00000000 */ nop diff --git a/src/audio.h b/src/audio.h index a4349b9f31..ce8bb0cefb 100644 --- a/src/audio.h +++ b/src/audio.h @@ -28,7 +28,7 @@ typedef struct UnkAl2 { } UnkAl2; typedef struct UnkLen18 { - /* 0x00 */ s16 unk_00; + /* 0x00 */ u16 unk_00; /* 0x02 */ char unk_02[0x2]; /* 0x04 */ s32 unk_04; /* 0x08 */ s32 unk_08; @@ -314,6 +314,7 @@ typedef struct UnkAl834 { /* 0x021 */ char unk_21[0x813]; } UnkAl834; +extern s32 D_80078E50; extern UnkAl0* D_80078E54; extern s8* D_80078181; extern s32* D_80078190; diff --git a/src/code_31650.c b/src/code_31650.c index c8b717eaf3..3f19d4555d 100644 --- a/src/code_31650.c +++ b/src/code_31650.c @@ -3,7 +3,13 @@ INCLUDE_ASM(s32, "code_31650", func_80056250); -INCLUDE_ASM(s32, "code_31650", func_800565A4); +void func_800565A4(void) { + s32 *sym = &D_80078E50; + + if (*sym != 0) { + *sym = 0; + } +} INCLUDE_ASM(Acmd*, "code_31650", alAudioFrame, Acmd* cmdList, s32* cmdLen, s16* outBuf, s32 outLen); @@ -31,7 +37,14 @@ s16 func_80056D50(void) { INCLUDE_ASM(s16, "code_31650", func_80056D50); #endif +#ifdef NON_MATCHING +void func_80056D5C(s8 arg0) { + D_80078181 = arg0; + D_80078E5C = 1; +} +#else INCLUDE_ASM(s32, "code_31650", func_80056D5C); +#endif #ifdef NON_MATCHING void func_80056D78(u8 arg0, u16 arg1) { diff --git a/tools/splat.yaml b/tools/splat.yaml index af710520c2..e0f4362933 100644 --- a/tools/splat.yaml +++ b/tools/splat.yaml @@ -206,7 +206,7 @@ segments: - [0x4a360, c, os/code_4a360_len_930] - [0x4ac90, c, os/code_4ac90_len_3910] - [0x4E5A0, data, code_1000_len_60] - - [0x52D50, bin] + - [0x52D50, data, code_10400_len_d30] - [0x6B450, .data, world/world] - [0x6EAC0, bin] # has scripts - [0x70E30, bin, battle/battle] From a9c6fd694e38811b70a1616bf9e6184a3d73f158 Mon Sep 17 00:00:00 2001 From: Ethan Roseman Date: Wed, 9 Dec 2020 15:28:31 +0900 Subject: [PATCH 30/97] 10400+ data --- asm/data/code_10400_len_d30.data.s | 717 +++++++++++++++++++++++++++++ tools/n64splat | 2 +- 2 files changed, 718 insertions(+), 1 deletion(-) create mode 100644 asm/data/code_10400_len_d30.data.s diff --git a/asm/data/code_10400_len_d30.data.s b/asm/data/code_10400_len_d30.data.s new file mode 100644 index 0000000000..0aa94e97a3 --- /dev/null +++ b/asm/data/code_10400_len_d30.data.s @@ -0,0 +1,717 @@ +.include "macro.inc" + +.section .data + +glabel D_80077950 +.word 0x8038F800, 0x803B5000, D_803DA800 + +glabel D_8007795C +.word 0x00135EE0, 0x00163400, pause_set_cursor_opacity, pause_set_cursor_opacity, gPauseMenuIconScripts, gPauseMenuIconScripts, gPauseMenuHeldButtons, gPauseMenuHeldButtons, 0x80278640 + +glabel D_80077980 +.word 0x8038F800, 0x803B5000, D_803DA800 + +glabel D_8007798C +.word 0x00163400, 0x0016C8E0, pause_set_cursor_opacity, pause_set_cursor_opacity, 0x80249B80, 0x80249B80, 0x8024C080, 0x8024C080, 0x8024C120 + +glabel D_800779B0 +.word 0x00000000, 0x00000000, 0x00000000, 0x00000000 + +glabel D_800779C0 +.word 0x00000000 + +glabel D_800779C4 +.word 0x00000000 + +glabel D_800779C8 +.short 0x0000 + +glabel D_800779CA +.short 0x0045 + +glabel D_800779CC +.word 0x52524F52 + +glabel D_800779D0 +.word 0xF7F7F700 + +glabel D_800779D4 +.word 0x00000000 + +glabel D_800779D8 +.word 0x00000000, 0x00000000, 0x00000045, 0x52524F52, 0xF7F7F700, 0x00000000, 0x00000000, 0x00000000, 0x00000045, 0x52524F52, 0xF7F7F700, 0x00000000, 0x00000000, 0x00000000, 0x00000045, 0x52524F52, 0xF7F7F700, 0x00000000, 0x00000000, 0x01010101 + +glabel D_80077A28 +.byte 0x00, 0x00, 0x00 + +glabel D_80077A2B +.byte 0x00 + +glabel D_80077A2C +.word 0x00000000 + +glabel D_80077A30 +.word 0x00000000 + +glabel D_80077A34 +.word 0x00000000, 0xFFFFFF00, 0xFFFFFF00 + +glabel D_80077A40 +.word 0x00000000, 0x00000000, 0x00000000, 0x00000000 + +glabel D_80077A50 +.word 0xE7000000, 0x00000000, 0xE3000A01, 0x00000000, 0xE200001C, 0x00504340, 0xFCFFFFFF, 0xFFFCF279, 0xE3001201, 0x00000000, 0xD7000002, 0xFFFFFFFF, 0xE3000C00, 0x00000000, 0xE3001801, 0x000000C0, 0xE3001A01, 0x00000030, 0xE3000F00, 0x00000000, 0xE3001001, 0x00000000, 0xE3000D01, 0x00000000, 0xE3001402, 0x00000C00, 0xE3001700, 0x00000000, 0xE2001E01, 0x00000000, 0x00000000, 0x00000000, 0xED000000, 0x005003C0, 0xDF000000, 0x00000000 + +glabel D_80077AE0 +.word 0x00000002, 0x00019D00, 0x80098454, 0x00020000, 0x00000000, 0x00000000, 0x00000005, 0x00049D00, 0x8009844C, 0x00000002, 0x00029D00, 0x80098444, 0x00000002, 0x0004B300, 0x8009843C, 0x00000004, 0x00079D00, 0x80098434, 0x00020001, 0x00000000, 0x00000000, 0x00000006, 0x00039D00, 0x8009842C, 0x00000002, 0x00021B00, 0x80098424, 0x00020002, 0x00000000, 0x00000000, 0x00000003, 0x00039D00, 0x8009841C, 0x00000004, 0x00019D00, 0x80098414, 0x00020003, 0x00000000, 0x00000000, 0x00010008, 0x000B2600, 0x8009840C, 0x00000002, 0x0009E800, 0x80098404, 0x00020004, 0x00000000, 0x00000000, 0x00000003, 0x00019D00, 0x80098454, 0x00010003, 0x00009D00, 0x800983FC, 0x00030000, 0x00000000, 0x800983F8, 0x00000000, 0x00000000, 0x00000000, 0x50726720, 0x5665722E, 0x30302F31, 0x322F3035, 0x2031363A, 0x35340000, 0x00000000, 0x00000000 + +glabel D_80077BF0 +.word 0x01020034, 0x01040036, 0x00360102, 0x001C0102, 0x00060102, 0x002C0102, 0x002CFF00, 0x00000000 + +glabel D_80077C10 +.word 0x00000000 + +glabel D_80077C14 +.word 0x00040000 + +glabel D_80077C18 +.word 0x00000000 + +glabel D_80077C1C +.short 0x0004 + +glabel D_80077C1E +.short 0x0005 + +glabel D_80077C20 +.word 0x00000000 + +glabel D_80077C24 +.word 0x00000000 + +glabel D_80077C28 +.word 0x00040000 + +glabel D_80077C2C +.word 0x00000000 + +glabel D_80077C30 +.word 0x00040000 + +glabel D_80077C34 +.word 0x00000000 + +glabel D_80077C38 +.short 0x0004 + +glabel D_80077C3A +.short 0x0004, 0x0000, 0x0000 + +glabel D_80077C40 +.word 0x00000000 + +glabel D_80077C44 +.word 0x00000008, 0x00000001, 0x0000000A, 0x00000043, 0x00000001, FadeBackgroundToBlack, 0x00000008, 0x00000001, 0x0000000A, 0x00000043, 0x00000003, CreateNpc, 0xFFFFFFF6, 0x00BB0001, 0x00000043, 0x00000004, SetNpcFlagBits, 0xFFFFFFF6, 0x00000100, 0x00000001, 0x00000043, 0x00000003, SetNpcYaw, 0xFFFFFFF6, 0x00000000, 0x00000043, 0x00000001, GetCamLookAtObjVector, 0x00000043, 0x00000005, SetNpcPos, 0xFFFFFFF6, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000056, 0x00000000, 0x00000043, 0x00000001, 0x8003F0C4, 0x00000057, 0x00000000, 0x00000043, 0x00000001, 0x8003F018, 0x00000008, 0x00000001, 0x0000001E, 0x00000043, 0x00000003, SetNpcAnimation, 0xFFFFFFF6, 0x00BB0000, 0x00000043, 0x00000001, 0x8003F384, 0x00000043, 0x00000001, UnfadeBackgroundFromBlack, 0x00000008, 0x00000001, 0x00000014, 0x00000056, 0x00000000, 0x00000043, 0x00000001, 0x8003F084, 0x00000043, 0x00000002, DeleteNpc, 0xFFFFFFF6, 0x00000057, 0x00000000, 0x00000043, 0x00000002, PlaySound, 0x00002075, 0x00000043, 0x00000004, GetPlayerPos, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000004, 0x8003F414, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000004, 0x8003F4CC, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000008, 0x00000001, 0x0000000F, 0x00000043, 0x00000001, 0x8003EE98, 0x00000008, 0x00000001, 0x0000000F, 0x00000043, 0x00000001, HasMerleeCasts, 0x0000000A, 0x00000002, 0xFE363C80, 0x00000001, 0x00000002, 0x00000000, 0x00000013, 0x00000000, 0x00000043, 0x00000001, 0x8003EECC, 0x00000008, 0x00000001, 0x0000000F, 0x00000002, 0x00000000, 0x00000001, 0x00000000 + +glabel SCRIPT_NpcDefeat +.word 0x00000043, 0x00000002, GetBattleOutcome, 0xFE363C80, 0x00000014, 0x00000001, 0xFE363C80, 0x00000016, 0x00000001, 0x00000000, 0x00000043, 0x00000001, OnDefeatEnemy, 0x00000016, 0x00000001, 0x00000001, 0x00000016, 0x00000001, 0x00000002, 0x00000023, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 + +glabel D_80077E9C +.word 0x00000043, 0x00000001, OnFleeBattleDrops, 0x00000002, 0x00000000, 0x00000001, 0x00000000 + +glabel D_80077EB8 +.word 0x800A008A, 0x0032FFFF, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00005FFF, 0x7FFF0000, 0x00013FFF, 0x5FFF0000, 0x00021FFF, 0x3FFF0000, 0x00030000, 0x1FFF0000, 0x00040000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000001, 0x00030000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000043, 0x00000002, GetOwnerEncounterTrigger, 0xFE363C80, 0x00000014, 0x00000001, 0xFE363C80, 0x00000016, 0x00000001, 0x00000001, 0x0000001D, 0x00000001, 0x00000002, 0x0000001D, 0x00000001, 0x00000004, 0x0000001D, 0x00000001, 0x00000006, 0x00000043, 0x00000003, GetSelfAnimationFromTable, 0x00000007, 0xFE363C80, 0x00000046, 0x00000001, 0x800936DC, 0x00000016, 0x00000001, 0x00000003, 0x00000056, 0x00000000, 0x00000043, 0x00000002, 0x800458CC, 0xFE363C80, 0x0000000A, 0x00000002, 0xFE363C80, 0x00000000, 0x00000024, 0x00000002, 0xFE363C8A, 0x00000000, 0x00000005, 0x00000001, 0x0000001E, 0x00000027, 0x00000002, 0xFE363C8A, 0x00000028, 0x00000043, 0x00000005, SetNpcRotation, 0xFFFFFFFF, 0x00000000, 0xFE363C8A, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000006, 0x00000000, 0x00000013, 0x00000000, 0x00000057, 0x00000000, 0x00000020, 0x00000000, 0x00000023, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000, 0x00000043, 0x00000005, SetNpcRotation, 0xFFFFFFFF, 0x00000000, 0x00000000, 0x00000000, 0x00000043, 0x00000002, GetBattleOutcome, 0xFE363C80, 0x00000014, 0x00000001, 0xFE363C80, 0x00000016, 0x00000001, 0x00000000, 0x00000043, 0x00000001, DoNpcDefeat, 0x00000016, 0x00000001, 0x00000002, 0x00000043, 0x00000002, 0x80045900, 0x00000000, 0x00000016, 0x00000001, 0x00000003, 0x00000043, 0x00000004, SetEnemyFlagBits, 0xFFFFFFFF, 0x00000010, 0x00000001, 0x00000043, 0x00000002, RemoveNpc, 0xFFFFFFFF, 0x00000023, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000, 0x00000000, 0x00000000, 0x00000000 + +glabel D_80078160 +.word 0x001C0028 + +glabel D_80078164 +.word 0x0000FFFE + +glabel D_80078168 +.word 0x001D0074, 0x001D0075 + +glabel D_80078170 +.word 0x00000000 + +glabel D_80078174 +.word 0x00000000 + +glabel D_80078178 +.word 0x00000000 + +glabel D_8007817C +.word 0x00000000 + +glabel D_80078180 +.byte 0x01 + +glabel D_80078181 +.byte 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + +glabel D_80078190 +.word 0xF8030125, 0x07D0FDBC, 0xF8860355, 0x06FCFBAB, 0xFEDAF82D, 0x0245077D, 0xFCA9F901, 0x0456065D, 0xFC33FBB2, 0xFCEFFE94, 0xFFD80080, 0x00A4007D, 0x090E0673, 0x02FF0053, 0xFEF2FEA7, 0xFEF9FF7B + +glabel D_800781D0 +.word 0xB1011110, 0x00FFFE34, 0xBB90E21E, 0x00FB10EF, 0xF2D180C4, 0xB3B1D3CF, 0xD1FDFE80, 0x1D2D3D3B, 0x2C3BFC1D, 0x80DEF0D0, 0xD3D2B3D1, 0xF480A203, 0xD00DA9EA, 0xCB729041, 0x4E1D2D0C, 0x1E102F90, 0xF21203F0, 0xC2D1D4F3, 0x80B0A1BF, 0xD21E1270, 0x4D804C39, 0x2C7E306D, 0xB9CF90E1, 0xF2F3F2E1, 0xE21622C1, 0xE728F4F0, 0x211010FF, 0xA1ED9F2F, 0xF561333C, 0xD0A1DAC2, 0xFF144122, 0x2DEFA1FA, 0xE10E2330, 0x320EF091, 0x9AF2CF55, 0x1361EE1C, 0x919D0FD2, 0x52064DE1, 0x0991D01B, 0x152E36FD, 0x12CB8122, 0xBC65F073, 0xCE3FAE71, 0x4E9370F5, 0x6ED21BD1, 0x610A5D00, 0x00000000, 0x00000000 + +glabel D_80078290 +.word 0x00000003, 0x0000000B, 0x00000000, 0x00000009, 0x00002666, 0xFFFFD99A, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000003, 0x00000007, 0x00000CCC, 0xFFFFF334, 0x00003FFF, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x0000000A, 0x00001388, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00005000 + +glabel D_800782F8 +.word 0x00000001, 0x0000000B, 0x00000000, 0x0000000A, 0x00004E20, 0x00000000, 0x00007FFF, 0x00000000, 0x00000000, 0x00007FFF + +glabel D_80078320 +.word 0x00000001, 0x0000000D, 0x00000000, 0x0000000C, 0x00004E20, 0x00000000, 0x00007FFF, 0x00000000, 0x00000000, 0x00007FFF + +glabel D_80078348 +.short 0x0000, 0x0001, 0x0000, 0x000E, 0x0000, 0x0000, 0x0000, 0x000D, 0x0000, 0x4E20, 0x0000, 0x0000, 0x0000, 0x7FFF, 0x0000, 0x0000, 0x0000 + +glabel D_8007836A +.short 0x0000, 0x0000, 0x7FFF, 0x034A, 0x0349, 0x0100, 0x0000, 0x0100, 0x0000, 0x0008, 0x0012, 0x3C7F, 0x2D7F, 0x2B5F, 0x1D00, 0xFF00, 0x2700, 0xFF00, 0x0000, 0x0100, 0x0000, 0x0008, 0x001A, 0x3C7F, 0x237F, 0x3C3F, 0x2A1F, 0x2A0F, 0x2A07, 0x2A03, 0x3600, 0xFF00, 0x3600, 0xFF00, 0x0000, 0x3433, 0x7F26, 0x3F16, 0x00FF, 0x343B, 0x7F3B, 0x3FFF, 0x0000 + +glabel D_800783C0 +.word 0x80078378, 0x80078390, 0x80078390, 0x80078390, 0x80078390, 0x80078390, 0x80078390, 0x80078390, 0x80078390, 0x80078390, 0x80078390, 0x80078390, 0x80078390, 0x80078390, 0x80078390, 0x80078390 + +glabel D_80078400 +.word 0x8004CE70, 0x8004CEA4, 0x8004CEC4, 0x8004CF0C + +glabel D_80078410 +.word 0x8004CF3C, 0x8004D00C, 0x8004D038, 0x8004D050, 0x8004D07C, 0x8004D114, 0x8004D130, 0x8004D15C, 0x8004D180, 0x8004D1B4, 0x8004D23C, 0x8004D2B0, 0x8004D2E4, 0x8004D310, 0x8004D31C, 0x8004D324, 0x8004D33C, 0x8004D354, 0x8004D36C, 0x8004D3A0, 0x8004D3F8 + +glabel D_80078464 +.word 0x00000000, 0x00000000, 0x00000000 + +glabel D_80078470 +.word 0x8004FBBC, 0x8004FCB4, 0x8004FCE4, 0x8004FD04, 0x8004FD94, 0x8004FE10, 0x8004FD38, 0x80050560, 0x8004FE6C, 0x8004FEB0, 0x8004FF3C, 0x8004FF58, 0x8004FF70, 0x8004FF88, 0x8004FFA8, 0x8004FFB4, 0x8004FFC8, 0x8004FFE4, 0x8004FFF0, 0x8004FFFC, 0x80050004, 0x80050020, 0x8004FED0, 0x80050128, 0x80050560, 0x80050560, 0x80050560, 0x80050560, 0x800501A8, 0x8005015C, 0x80050184, 0x800502F0, 0x02010101, 0x04030200, 0x02010101, 0x01010102, 0x03010100, 0x02010301, 0x00000000, 0x03030303 + +glabel D_80078510 +.word 0x30182028, 0x30384030, 0x00000000, 0x00000000 + +glabel D_80078520 +.word 0x00000000, 0x00000000, 0x00000000, 0x00000000 + +glabel D_80078530 +.word 0x00000200, 0x08001200, 0x20003200, 0x48006200, 0x80000000 + +glabel D_80078544 +.word 0x01000000, 0x0008000C + +glabel D_8007854C +.word 0x3D7FFF00, 0x3400FF00 + +glabel D_80078554 +.word 0x5C00FF00 + +glabel D_80078558 +.ascii "^]\\[ZXVSQOJE@;7531/-+)'&%#! " + +glabel D_80078580 +.word 0x03040506, 0x0708090A, 0x0B0C0D0E, 0x0F101112, 0x13141516, 0x17000000, 0x00000000, 0x00000000 + +glabel D_800785A0 +.word 0x0393756C, 0x034736DE, 0x02FAE1DA, 0x02AEA34C, 0x02624E48, 0x0215F944, 0x01C9BAB6, 0x01A39034, 0x017D65B2, 0x015751A6, 0x01312724, 0x0121E2F0, 0x01129EBC, 0x01035A88, 0x00F41654, 0x00E4D220, 0x00D58DEC, 0x00C649B8, 0x00B70584, 0x00A7D7C6, 0x00989392, 0x00894F5E, 0x007A0B2A, 0x006AC6F6, 0x005B82C2, 0x004C3E8E, 0x00449C74, 0x003CFA5A, 0x00355840, 0x002DB626, 0x0029F054, 0x0026140C, 0x00224E3A, 0x001E71F2, 0x001CF41C, 0x001B7646, 0x0019E1FA, 0x00186424, 0x0016CFD8, 0x00155202, 0x0013D42C, 0x00123FE0, 0x0010C20A, 0x000F2DBE, 0x000E7A0E, 0x000DAFE8, 0x000CE5C2, 0x000C3212, 0x000B67EC, 0x000A9DC6, 0x0009EA16, 0x00091FF0, 0x000855CA, 0x00078BA4, 0x0006D7F4, 0x00060DCE, 0x0005B3F6, 0x000543A8, 0x0004E9D0, 0x00048FF8, 0x0004630C, 0x00043620, 0x00040934, 0x0003F2BE, 0x0003C5D2, 0x000398E6, 0x00038270, 0x00035584, 0x00032898, 0x0002FBAC, 0x0002E536, 0x0002B84A, 0x00028B5E, 0x00025E72, 0x000247FC, 0x00021B10, 0x0001EE24, 0x0001C138, 0x0001AAC2, 0x00017DD6, 0x00016760, 0x00013A74, 0x00010D88, 0x0000F712, 0x0000E09C, 0x0000CA26, 0x0000B3B0, 0x00009D3A, 0x000086C4, 0x0000704E, 0x000059D8, 0x00004362, 0x00002CEC, 0x00001676, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000 + +glabel D_80078730 +.word 0x3F800000, 0x3F8012EF, 0x3F8025E1, 0x3F8038D6, 0x3F804BCD, 0x3F805EC7, 0x3F8071C4, 0x3F8084C4, 0x3F8097C7, 0x3F80AACC, 0x3F80BDD4, 0x3F80D0DF, 0x3F80E3ED, 0x3F80F6FE, 0x3F810A12, 0x3F811D28, 0x3F813041, 0x3F81435D, 0x3F81567C, 0x3F81699E, 0x3F817CC2, 0x3F818FE9, 0x3F81A313, 0x3F81B640, 0x3F81C970, 0x3F81DCA3, 0x3F81EFD9, 0x3F820311, 0x3F82164C, 0x3F82298A, 0x3F823CCB, 0x3F82500F, 0x3F826356, 0x3F82769F, 0x3F8289EB, 0x3F829D3A, 0x3F82B08C, 0x3F82C3E1, 0x3F82D739, 0x3F82EA94, 0x3F82FDF1, 0x3F831151, 0x3F8324B4, 0x3F83381A, 0x3F834B83, 0x3F835EEF, 0x3F83725E, 0x3F8385D0, 0x3F839944, 0x3F83ACBB, 0x3F83C035, 0x3F83D3B2, 0x3F83E732, 0x3F83FAB5, 0x3F840E3B, 0x3F8421C4, 0x3F84354F, 0x3F8448DD, 0x3F845C6E, 0x3F847002, 0x3F848399, 0x3F849733, 0x3F84AAD0, 0x3F84BE70, 0x3F84D213, 0x3F84E5B9, 0x3F84F961, 0x3F850D0C, 0x3F8520BA, 0x3F85346B, 0x3F85481F, 0x3F855BD6, 0x3F856F90, 0x3F85834D, 0x3F85970D, 0x3F85AAD0, 0x3F85BE96, 0x3F85D25F, 0x3F85E62A, 0x3F85F9F8, 0x3F860DC9, 0x3F86219D, 0x3F863574, 0x3F86494E, 0x3F865D2B, 0x3F86710B, 0x3F8684EE, 0x3F8698D4, 0x3F86ACBD, 0x3F86C0A9, 0x3F86D498, 0x3F86E88A, 0x3F86FC7F, 0x3F871077, 0x3F872472, 0x3F87386F, 0x3F874C6F, 0x3F876072, 0x3F877478, 0x3F878881, 0x3F879C8D, 0x3F87B09C, 0x3F87C4AE, 0x3F87D8C3, 0x3F87ECDB, 0x3F8800F6, 0x3F881514, 0x3F882935, 0x3F883D59, 0x3F885180, 0x3F8865AA, 0x3F8879D7, 0x3F888E07, 0x3F88A23A, 0x3F88B670, 0x3F88CAA9, 0x3F88DEE5, 0x3F88F324, 0x3F890766, 0x3F891BAB, 0x3F892FF3, 0x3F89443E, 0x3F89588C, 0x3F896CDD, 0x3F898131, 0x3F899588, 0x3F89A9E2, 0x3F89BE3F, 0x3F800000, 0x3F89D29F, 0x3F946637, 0x3F9FC997, 0x3FAC0CB1, 0x3FB940B0, 0x3FC77811, 0x3FD6C6BB, 0x3FE7421D, 0x3FF9014B, 0x40060E8F, 0x4010582B, 0x401B6BE2, 0x40275936, 0x403430DA, 0x404204C9, 0x4050E860, 0x4060F077, 0x40723381, 0x408264D5, 0x408C667B, 0x40972CB6, 0x40A2C69C, 0x40AF446B, 0x40BCB7A0, 0x40CB3311, 0x40DACB04, 0x40EB954F, 0x40FDA974, 0x41089062, 0x41130B3F, 0x411E53FF, 0x3F800000, 0x3F7FDA28, 0x3F7FB456, 0x3F7F8E89, 0x3F7F68C2, 0x3F7F4300, 0x3F7F1D44, 0x3F7EF78E, 0x3F7ED1DD, 0x3F7EAC32, 0x3F7E868C, 0x3F7E60EC, 0x3F7E3B51, 0x3F7E15BC, 0x3F7DF02C, 0x3F7DCAA2, 0x3F7DA51E, 0x3F7D7F9F, 0x3F7D5A26, 0x3F7D34B2, 0x3F7D0F44, 0x3F7CE9DB, 0x3F7CC478, 0x3F7C9F1A, 0x3F7C79C2, 0x3F7C546F, 0x3F7C2F22, 0x3F7C09DA, 0x3F7BE498, 0x3F7BBF5B, 0x3F7B9A24, 0x3F7B74F2, 0x3F7B4FC6, 0x3F7B2A9F, 0x3F7B057E, 0x3F7AE062, 0x3F7ABB4C, 0x3F7A963B, 0x3F7A7130, 0x3F7A4C2A, 0x3F7A272A, 0x3F7A022F, 0x3F79DD3A, 0x3F79B84A, 0x3F799360, 0x3F796E7B, 0x3F79499C, 0x3F7924C2, 0x3F78FFED, 0x3F78DB1E, 0x3F78B654, 0x3F789190, 0x3F786CD1, 0x3F784818, 0x3F782364, 0x3F77FEB6, 0x3F77DA0D, 0x3F77B569, 0x3F7790CB, 0x3F776C32, 0x3F77479F, 0x3F772311, 0x3F76FE88, 0x3F76DA05, 0x3F76B587, 0x3F76910F, 0x3F766C9C, 0x3F76482E, 0x3F7623C6, 0x3F75FF63, 0x3F75DB06, 0x3F75B6AE, 0x3F75925B, 0x3F756E0E, 0x3F7549C6, 0x3F752583, 0x3F750146, 0x3F74DD0E, 0x3F74B8DB, 0x3F7494AE, 0x3F747086, 0x3F744C63, 0x3F742846, 0x3F74042E, 0x3F73E01C, 0x3F73BC0F, 0x3F739807, 0x3F737404, 0x3F735007, 0x3F732C0F, 0x3F73081C, 0x3F72E42F, 0x3F72C047, 0x3F729C64, 0x3F727887, 0x3F7254AF, 0x3F7230DC, 0x3F720D0F, 0x3F71E947, 0x3F71C584, 0x3F71A1C6, 0x3F717E0E, 0x3F715A5B, 0x3F7136AD, 0x3F711305, 0x3F70EF62, 0x3F70CBC4, 0x3F70A82B, 0x3F708498, 0x3F70610A, 0x3F703D81, 0x3F7019FD, 0x3F6FF67F, 0x3F6FD306, 0x3F6FAF92, 0x3F6F8C23, 0x3F6F68BA, 0x3F6F4556, 0x3F6F21F7, 0x3F6EFE9D, 0x3F6EDB49, 0x3F6EB7FA, 0x3F6E94B0, 0x3F6E716B, 0x3F6E4E2B, 0x3F6E2AF1, 0x3F6E07BC, 0x3F6DE48C, 0x3F800000, 0x3F6DC161, 0x3F5CCFA0, 0x3F4D1303, 0x3F3E7583, 0x3F30E2A9, 0x3F244774, 0x3F18923F, 0x3F0DB2A4, 0x3F03996B, 0x3EF470E1, 0x3EE30526, 0x3ED2D741, 0x3EC3D08B, 0x3EB5DBFB, 0x3EA8E607, 0x3E9CDC8A, 0x3E91AEA9, 0x3E874CBE, 0x3E7B5080, 0x3E69675D, 0x3E58C500, 0x3E495220, 0x3E3AF91B, 0x3E2DA5DB, 0x3E2145B8, 0x3E15C75E, 0x3E0B1AB6, 0x3E0130CE, 0x3DEFF78B, 0x3DDEDD71, 0x3DCEFB5A, 0x3DC03B0C, 0x3DB287E0, 0x3DA5CEA6, 0x3D99FD90, 0x3D8F0410, 0x3D84D2CB, 0x3D76B6F6, 0x3D6521C0, 0x3D54CD52, 0x3D45A2D5, 0x3D378D0A, 0x3D2A7839, 0x3D1E5213, 0x3D130992, 0x3D088EF0, 0x3CFDA6F5, 0x3CEB932C, 0x3CDAC934, 0x3CCB318C, 0x3CBCB65A, 0x3CAF435F, 0x3CA2C5C3, 0x3C972C06, 0x3C8C65F5, 0x3C826474, 0x3C7232F8, 0x3C60F025, 0x3C50E83A, 0x3C4204D2, 0x3C3430FF, 0x3C275980, 0x3C1B6C42, 0x3C10589D, 0x3C060F18, 0x3BF90275, 0x3BE7435B, 0x3BD6C80E, 0x3BC7797C, 0x3BB9422B, 0x3BAC0E26, 0x3B9FCB0C, 0x3B9467C1, 0x3B89D42A, 0x3B800183, 0x3B6DC413, 0x3B5CD229, 0x3B4D1572, 0x3B3E77CA, 0x3B30E4BA, 0x3B24494B, 0x3B18940B, 0x3B0DB45E, 0x3B039B00, 0x3AF473B0, 0x3AE307F8, 0x3AD2D9AC, 0x3AC3D2FE, 0x3AB5DE1E, 0x3AA8E7EB, 0x3A9CDE48, 0x3A91B06C, 0x3A874E3D, 0x3A7B5348, 0x3A696A67, 0x3A58C7AD, 0x3A495447, 0x3A3AFB69, 0x3A2DA799, 0x3A214763, 0x3A15C955, 0x3A0B1CA9, 0x3A01329B, 0x39EFFA23, 0x39DEDFF5, 0x39CEFD29, 0x39C03D9D, 0x39B28A81, 0x39A5D10A, 0x3999FFC6, 0x398F0541, 0x3984D410, 0x3976BADD, 0x39652533, 0x3954CEFA, 0x3945A566, 0x39379050, 0x392A7A3D, 0x391E5312, 0x39130AB4, 0x39089109, 0x38FDABE8, 0x38EB9814, 0x38DACBBE, 0x38CB316C, 0x38BCB903, 0x38AF47AC + +glabel D_80078DB0 +.word 0x00000000 + +glabel D_80078DB4 +.short 0x0000 + +glabel D_80078DB6 +.short 0x0000 + +glabel D_80078DB8 +.word 0x025E0350, 0x04640554, 0x00000000 + +glabel D_80078DC4 +.word 0x0264036E, 0x045A0000 + +glabel D_80078DCC +.word 0x025F0000 + +glabel D_80078DD0 +.word 0x0546065A, 0x075A0864, 0x00000000 + +glabel D_80078DDC +.word 0x05000600, 0x07000800, 0x09000A00, 0x0B000C00, 0x0D000E00, 0x0F001000, 0x00000000 + +glabel D_80078DF8 +.word 0x05640666, 0x0758086E, 0x09000A00, 0x0B000C00, 0x0D000E00, 0x0F001000, 0x00000000 + +glabel D_80078E14 +.word 0x05640666, 0x0758086E, 0x097E0A58, 0x0B640C00, 0x0D000E00, 0x0F001000, 0x00000000 + +glabel D_80078E30 +.word 0x05640666, 0x0758086E, 0x097E0A58, 0x0B640C64, 0x0D6A0E64, 0x0F64106E, 0x00000000, 0x00000000 + +glabel D_80078E50 +.word 0x00000000 + +glabel D_80078E54 +.word 0x00000000 + +glabel D_80078E58 +.short 0x0000 + +glabel D_80078E5A +.short 0x7FFF + +glabel D_80078E5C +.word 0x00000000 + +glabel D_80078E60 +.word 0x7FFF7FFC, 0x7FF57FE8, 0x7FD77FC0, 0x7FA57F84, 0x7F5F7F34, 0x7F057ED0, 0x7E977E58, 0x7E157DCD, 0x7D7F7D2D, 0x7CD67C7A, 0x7C1A7BB4, 0x7B497ADA, 0x7A6679ED, 0x796F78ED, 0x786677DA, 0x774976B4, 0x761A757B, 0x74D87430, 0x738472D3, 0x721E7164, 0x70A66FE3, 0x6F1C6E51, 0x6D816CAD, 0x6BD56AF9, 0x6A186933, 0x684A675D, 0x666C6577, 0x647E6381, 0x6280617C, 0x60735F67, 0x5E575D43, 0x5C2C5B11 + +glabel D_80078EE0 +.word 0x59F258D0, 0x57AA5681, 0x55555425, 0x52F251BC, 0x50824F46, 0x4E064CC3, 0x4B7D4A35, 0x48E9479B, 0x464944F5, 0x439E4245, 0x40E93F8A, 0x3E293CC6, 0x3B6039F8, 0x388D3721, 0x35B23441, 0x32CE3159, 0x2FE22E69, 0x2CEF2B72, 0x29F42875, 0x26F32570, 0x23EC2266, 0x20DF1F57, 0x1DCE1C43, 0x1AB7192A, 0x179C160E, 0x147E12ED, 0x115C0FCA, 0x0E380CA5, 0x0B11097D, 0x07E90654, 0x04C0032A, 0x01950000, 0xBF800000, 0x00000000, 0x36813045, 0x36CCC25E, 0x37013056, 0x3715FBD1, 0x3726F96C, 0x373556F8, 0x3741C897, 0x374CC288, 0x3756941E, 0x375F75EA, 0x376791B7, 0x376F074D, 0x3775EF48, 0x377C5D3E, 0x37813079, 0x3784039E, 0x3786AD71, 0x37893260, 0x378B9637, 0x378DDC3A, 0x37900722, 0x3792195F, 0x37941509, 0x3795FC00, 0x3797CFD4, 0x37999207, 0x379B43D7, 0x379CE668, 0x379E7AD2, 0x37A001F1, 0x37A17CA6, 0x37A2EBB8, 0x37A44FD1, 0x37A5A99A, 0x37A6F9A4, 0x37A84077, 0x37A97E93, 0x37AAB46F, 0x37ABE26F, 0x37AD08FC, 0x37AE286C, 0x37AF4119, 0x37B05355, 0x37B15F67, 0x37B26597, 0x37B36621, 0x37B46141, 0x37B55735, 0x37B64832, 0x37B7346C, 0x37B81C0C, 0x37B8FF46, 0x37B9DE3F, 0x37BAB91E, 0x37BB900F, 0x37BC632E, 0x37BD32A6, 0x37BDFE8D, 0x37BEC70A, 0x37BF8C33, 0x37C04E29, 0x37C10D07, 0x37C1C8E4, 0x37C281D5, 0x37C337F0, 0x37C3EB51, 0x37C49C0E, 0x37C54A32, 0x37C5F5D3, 0x37C69F06, 0x37C745DC, 0x37C7EA67, 0x37C88CB5, 0x37C92CD3, 0x37C9CAD0, 0x37CA66BE, 0x37CB00A7, 0x37CB98A1, 0x37CC2EAD, 0x37CCC2DA, 0x37CD5539, 0x37CDE5D0, 0x37CE74AA, 0x37CF01D7, 0x37CF8D57, 0x37D01741, 0x37D09F93, 0x37D1265F, 0x37D1ABA5, 0x37D22F75, 0x37D2B1D5, 0x37D332CA, 0x37D3B25F, 0x37D43099, 0x37D4AD7F, 0x37D52921, 0x37D5A378, 0x37D61C91, 0x37D69476, 0x37D70B27, 0x37D780A9, 0x37D7F50E, 0x37D8684A, 0x37D8DA73, 0x37D94B84, 0x37D9BB87, 0x37DA2A7D, 0x37DA9870, 0x37DB055C, 0x37DB7150, 0x37DBDC4D, 0x37DC4658, 0x37DCAF71, 0x37DD179E, 0x37DD7EE3, 0x37DDE548, 0x37DE4AD0, 0x37DEAF77, 0x37DF1348, 0x37DF7648, 0x37DFD877, 0x37E039D4, 0x37E09A6C, 0x37E0FA3F, 0x37E1594B, 0x37E1B797, 0x37E21527, 0x37E271F8, 0x37E2CE18, 0x37E3297E, 0x37E38434, 0x37E3DE3F, 0x37E43795, 0x37E49046, 0x37E4E852, 0x37E53FB3, 0x37E59675, 0x37E5EC93, 0x37E64216, 0x37E696FF, 0x37E6EB49, 0x37E73F04, 0x37E79220, 0x37E7E4AC, 0x37E836AA, 0x37E88819, 0x37E8D8F8, 0x37E92949, 0x37E97916, 0x37E9C85A, 0x37EA1714, 0x37EA654F, 0x37EAB302, 0x37EB0035, 0x37EB4CF0, 0x37EB9927, 0x37EBE4E5, 0x37EC3024, 0x37EC7AF0, 0x37ECC543, 0x37ED0F1D, 0x37ED588A, 0x37EDA17D, 0x37EDEA02, 0x37EE3214, 0x37EE79B8, 0x37EEC0EE, 0x37EF07BB, 0x37EF4E1B, 0x37EF9412, 0x37EFD9A0, 0x37F01EC6, 0x37F06389, 0x37F0A7E4, 0x37F0EBDC, 0x37F12F71, 0x37F172A3, 0x37F1B577, 0x37F1F7EE, 0x37F23A02, 0x37F27BBE, 0x37F2BD17, 0x37F2FE18, 0x37F33EC1, 0x37F37F13, 0x37F3BF06, 0x37F3FEA2, 0x37F43DEB, 0x37F47CE2, 0x37F4BB7C, 0x37F4F9C8, 0x37F537C2, 0x37F57564, 0x37F5B2B9, 0x37F5EFBB, 0x37F62C71, 0x37F668DA, 0x37F6A4F0, 0x37F6E0B9, 0x37F71C3B, 0x37F75770, 0x37F79257, 0x37F7CCF2, 0x37F80746, 0x37F84151, 0x37F87B16, 0x37F8B493, 0x37F8EDC8, 0x37F926BC, 0x37F95F68, 0x37F997CD, 0x37F9CFEF, 0x37FA07D0, 0x37FA3F69, 0x37FA76C6, 0x37FAADE0, 0x37FAE4B9, 0x37FB1B50, 0x37FB51A5, 0x37FB87C3, 0x37FBBD99, 0x37FBF338, 0x37FC2896, 0x37FC5DB7, 0x37FC92A1, 0x37FCC749, 0x37FCFBBA, 0x37FD2FEE, 0x37FD63E6, 0x37FD97A8, 0x37FDCB2C, 0x37FDFE7A, 0x37FE3191, 0x37FE6470, 0x37FE9719, 0x37FEC985, 0x37FEFBC0, 0x37FF2DC4, 0x37FF5F96, 0x37FF912C, 0x37FFC291, 0x37FFF3C3, 0x38001260, 0x38002AC5, 0x38004311, 0x38005B42, 0x3800735B, 0x38008B5D, 0x3800A344, 0x3800BB14, 0x3800D2CA, 0x3800EA69, 0x380101F0, 0x38011960, 0x380130B8, 0x380147F7, 0x38015F23, 0x38017633, 0x38018D31, 0x3801A415, 0x3801BAE6, 0x3801D19F, 0x3801E841, 0x3801FECD, 0x38021544, 0x38022BA4, 0x380241F2, 0x38025829, 0x38026E4A, 0x38028455, 0x38029A4D, 0x3802B032, 0x3802C601, 0x3802DBBA, 0x3802F15F, 0x380306F1, 0x38031C70, 0x380331DA, 0x38034732, 0x38035C75, 0x380371A4, 0x380386C3, 0x38039BCC, 0x3803B0C1, 0x3803C5A6, 0x3803DA78, 0x3803EF37, 0x380403E2, 0x3804187D, 0x38042D05, 0x3804417C, 0x380455E0, 0x38046A31, 0x38047E74, 0x380492A1, 0x3804A6C0, 0x3804BACC, 0x3804CEC7, 0x3804E2B0, 0x3804F68A, 0x38050A51, 0x38051E0B, 0x380531B1, 0x38054547, 0x380558CC, 0x38056C41, 0x38057FA8, 0x380592FC, 0x3805A642, 0x3805B977, 0x3805CC9C, 0x3805DFB4, 0x3805F2BB, 0x380605B1, 0x3806189A, 0x38062B72, 0x38063E39, 0x380650F3, 0x3806639F, 0x3806763B, 0x380688C9, 0x38069B46, 0x3806ADB6, 0x3806C018, 0x3806D269, 0x3806E4B0, 0x3806F6E6, 0x3807090E, 0x38071B25, 0x38072D32, 0x38073F31, 0x38075120, 0x38076303, 0x380774D9, 0x3807869E, 0x38079858, 0x3807AA05, 0x3807BBA3, 0x3807CD34, 0x3807DEB8, 0x3807F030, 0x3808019A, 0x380812F7, 0x38082446, 0x3808358A, 0x380846C1, 0x380857E9, 0x38086907, 0x38087A19, 0x38088B1E, 0x38089C15, 0x3808AD01, 0x3808BDE0, 0x3808CEB3, 0x3808DF78, 0x3808F036, 0x380900E3, 0x38091187, 0x3809221E, 0x380932AA, 0x38094328, 0x3809539E, 0x38096406, 0x38097463, 0x380984B3, 0x380994FA, 0x3809A536, 0x3809B564, 0x3809C588, 0x3809D5A0, 0x3809E5B0, 0x3809F5B3, 0x380A05AA, 0x380A1597, 0x380A257B, 0x380A3551, 0x380A451D, 0x380A54E0, 0x380A6498, 0x380A7445, 0x380A83E8, 0x380A937F, 0x380AA30B, 0x380AB28F, 0x380AC208, 0x380AD176, 0x380AE0D9, 0x380AF034, 0x380AFF84, 0x380B0ECB, 0x380B1E08, 0x380B2D39, 0x380B3C60, 0x380B4B7E, 0x380B5A94, 0x380B699F, 0x380B789F, 0x380B8797, 0x380B9686, 0x380BA56B, 0x380BB445, 0x380BC316, 0x380BD1DF, 0x380BE09D, 0x380BEF53, 0x380BFDFE, 0x380C0CA0, 0x380C1B3B, 0x380C29CD, 0x380C3854, 0x380C46D3, 0x380C5547, 0x380C63B5, 0x380C7218, 0x380C8073, 0x380C8EC3, 0x380C9D0E, 0x380CAB4E, 0x380CB985, 0x380CC7B4, 0x380CD5DB, 0x380CE3FA, 0x380CF20D, 0x380D001C, 0x380D0E1F, 0x380D1C1C, 0x380D2A0F, 0x380D37F9, 0x380D45DE, 0x380D53B8, 0x380D618A, 0x380D6F56, 0x380D7D17, 0x380D8AD3, 0x380D9884, 0x380DA62F, 0x380DB3CF, 0x380DC16A, 0x380DCEFC, 0x380DDC87, 0x380DEA08, 0x380DF782, 0x380E04F6, 0x380E1260, 0x380E1FC3, 0x380E2D1F, 0x380E3A75, 0x380E47C0, 0x380E5505, 0x380E6243, 0x380E6F78, 0x380E7CA7, 0x380E89CE, 0x380E96ED, 0x380EA404, 0x380EB115, 0x380EBE1E, 0x380ECB22, 0x380ED81D, 0x380EE510, 0x380EF1FB, 0x380EFEE0, 0x380F0BC0, 0x380F1898, 0x380F2567, 0x380F3231, 0x380F3EF2, 0x380F4BAE, 0x380F5862, 0x380F650E, 0x380F71B4, 0x380F7E54, 0x380F8AED, 0x380F977F, 0x380FA40A, 0x380FB08F, 0x380FBD0C, 0x380FC983, 0x380FD5F2, 0x380FE25C, 0x380FEEC0, 0x380FFB1C, 0x38100772, 0x381013C3, 0x3810200C, 0x38102C4C, 0x3810388A, 0x381044BF, 0x381050EF, 0x38105D16, 0x38106939, 0x38107555, 0x3810816C, 0x38108D7B, 0x38109985, 0x3810A588, 0x3810B184, 0x3810BD7D, 0x3810C96E, 0x3810D559, 0x3810E13C, 0x3810ED1C, 0x3810F8F4, 0x381104C6, 0x38111093, 0x38111C58, 0x3811281A, 0x381133D3, 0x38113F8A, 0x38114B39, 0xBF800000, 0x00000000, 0x36915629, 0x36E65A71, 0x3711563E, 0x3728BB21, 0x373BD86E, 0x374C01A5, 0x375A017E, 0x37665AA2, 0x37716665, 0x377B646F, 0x378241DE, 0x378673FF, 0x378A567A, 0x378DF452, 0x37915666, 0x379483F4, 0x379782FE, 0x379A588A, 0x379D08DF, 0x379F979E, 0x37A207E4, 0x37A45C6C, 0x37A6978B, 0x37A8BB58, 0x37AAC9AC, 0x37ACC422, 0x37AEAC2C, 0x37B08318, 0x37B24A04, 0x37B4020F, 0x37B5AC19, 0x37B74909, 0x37B8D9A6, 0x37BA5EAA, 0x37BBD8B5, 0x37BD4861, 0x37BEAE42, 0x37C00AD6, 0x37C15E97, 0x37C2A9F2, 0x37C3ED56, 0x37C5291A, 0x37C65D9C, 0x37C78B2E, 0x37C8B223, 0x37C9D2BD, 0x37CAED43, 0x37CC01F7, 0x37CD1116, 0x37CE1AD6, 0x37CF1F69, 0x37D01F07, 0x37D119E0, 0x37D2101B, 0x37D301E9, 0x37D3EF6C, 0x37D4D8D0, 0x37D5BE3A, 0x37D69FC1, 0x37D77D97, 0x37D857CC, 0x37D92E81, 0x37DA01D6, 0x37DAD1E8, 0x37DB9ECC, 0x37DC6899, 0x37DD2F69, 0x37DDF34E, 0x37DEB468, 0x37DF72C2, 0x37E02E73, 0x37E0E78A, 0x37E19E24, 0x37E25245, 0x37E30405, 0x37E3B36D, 0x37E46099, 0x37E50B8A, 0x37E5B45A, 0x37E65B10, 0x37E6FFB5, 0x37E7A261, 0x37E84319, 0x37E8E1E7, 0x37E97EDD, 0x37EA19FF, 0x37EAB35F, 0x37EB4B01, 0x37EBE0F1, 0x37EC753A, 0x37ED07E6, 0x37ED98FC, 0x37EE2880, 0x37EEB683, 0x37EF430B, 0x37EFCE18, 0x37F057BF, 0x37F0DFFC, 0x37F166D8, 0x37F1EC60, 0x37F27099, 0x37F2F387, 0x37F3752C, 0x37F3F598, 0x37F474CA, 0x37F4F2CD, 0x37F56FA3, 0x37F5EB54, 0x37F665E3, 0x37F6DF54, 0x37F757AC, 0x37F7CEF7, 0x37F84535, 0x37F8BA6A, 0x37F92E98, 0x37F9A1C9, 0x37FA13FD, 0x37FA853F, 0x37FAF58A, 0x37FB64E8, 0x37FBD35A, 0x37FC40EB, 0x37FCAD94, 0x37FD195C, 0x37FD8449, 0x37FDEE5F, 0x37FE579E, 0x37FEC00D, 0x37FF27B0, 0x37FF8E88, 0x37FFF494, 0x38002CED, 0x38005F30, 0x38009113, 0x3800C299, 0x3800F3C1, 0x3801248E, 0x38015500, 0x38018518, 0x3801B4DB, 0x3801E445, 0x3802135D, 0x3802421E, 0x3802708E, 0x38029EAC, 0x3802CC78, 0x3802F9F6, 0x38032725, 0x38035407, 0x3803809C, 0x3803ACE7, 0x3803D8E7, 0x3804049D, 0x38043009, 0x38045B31, 0x38048611, 0x3804B0AC, 0x3804DAFF, 0x38050511, 0x38052EE1, 0x3805586C, 0x380581B8, 0x3805AAC2, 0x3805D38C, 0x3805FC15, 0x38062464, 0x38064C71, 0x38067444, 0x38069BDB, 0x3806C335, 0x3806EA55, 0x3807113A, 0x380737E7, 0x38075E5A, 0x38078496, 0x3807AA99, 0x3807D068, 0x3807F5FF, 0x38081B60, 0x3808408C, 0x38086584, 0x38088A48, 0x3808AEDA, 0x3808D338, 0x3808F765, 0x38091B5D, 0x38093F27, 0x380962BF, 0x38098629, 0x3809A961, 0x3809CC6D, 0x3809EF47, 0x380A11F3, 0x380A3473, 0x380A56C7, 0x380A78EC, 0x380A9AE5, 0x380ABCB2, 0x380ADE53, 0x380AFFCB, 0x380B2117, 0x380B423A, 0x380B6333, 0x380B8404, 0x380BA4AB, 0x380BC528, 0x380BE580, 0x380C05AE, 0x380C25B5, 0x380C4594, 0x380C654E, 0x380C84E3, 0x380CA450, 0x380CC397, 0x380CE2BB, 0x380D01B8, 0x380D2091, 0x380D3F47, 0x380D5DD8, 0x380D7C46, 0x380D9A91, 0x380DB8BA, 0x380DD6C0, 0x380DF4A2, 0x380E1265, 0x380E3005, 0x380E4D81, 0x380E6ADF, 0x380E881C, 0x380EA538, 0x380EC236, 0x380EDF10, 0x380EFBCE, 0x380F1869, 0x380F34E8, 0x380F5146, 0x380F6D86, 0x380F89AB, 0x380FA5AF, 0x380FC194, 0x380FDD5E, 0x380FF909, 0x38101497, 0x38103009, 0x38104B5C, 0x38106694, 0x381081B1, 0x38109CB2, 0x3810B798, 0x3810D25F, 0x3810ED0E, 0x381107A1, 0x38112219, 0x38113C75, 0x381156B9, 0x381170E4, 0x38118AF0, 0x3811A4E7, 0x3811BEC2, 0x3811D884, 0x3811F22B, 0x38120BBC, 0x38122534, 0x38123E90, 0x381257D7, 0x38127105, 0x38128A1A, 0x3812A317, 0x3812BBFD, 0x3812D4CB, 0x3812ED82, 0x38130621, 0x38131EAA, 0x3813371A, 0x38134F77, 0x381367BC, 0x38137FEA, 0x381397FF, 0x3813B002, 0x3813C7EE, 0x3813DFC4, 0x3813F785, 0x38140F2F, 0x381426C6, 0x38143E47, 0x381455B2, 0x38146D07, 0x38148449, 0x38149B78, 0x3814B290, 0x3814C996, 0x3814E085, 0x3814F764, 0x38150E2A, 0x381524E0, 0x38153B82, 0x3815520F, 0x3815688B, 0x38157EF1, 0x38159546, 0x3815AB85, 0x3815C1B4, 0x3815D7D0, 0x3815EDDB, 0x381603D1, 0x381619B5, 0x38162F87, 0x38164548, 0x38165AF6, 0x38167090, 0x3816861D, 0x38169B94, 0x3816B0FD, 0x3816C653, 0x3816DB95, 0x3816F0CA, 0x381705EC, 0x38171AFD, 0x38172FFE, 0x381744EE, 0x381759CB, 0x38176E9A, 0x38178358, 0x38179804, 0x3817ACA1, 0x3817C12F, 0x3817D5AB, 0x3817EA1A, 0x3817FE76, 0x381812C4, 0x38182701, 0x38183B2E, 0x38184F4D, 0x3818635C, 0x3818775D, 0x38188B4E, 0x38189F30, 0x3818B303, 0x3818C6C4, 0x3818DA7B, 0x3818EE21, 0x381901B7, 0x3819153F, 0x381928B9, 0x38193C26, 0x38194F82, 0x381962D3, 0x38197614, 0x38198946, 0x38199C6B, 0x3819AF83, 0x3819C28A, 0x3819D586, 0x3819E874, 0x3819FB54, 0x381A0E27, 0x381A20EB, 0x381A33A3, 0x381A464C, 0x381A58E8, 0x381A6B78, 0x381A7DFB, 0x381A9070, 0x381AA2DA, 0x381AB534, 0x381AC783, 0x381AD9C6, 0x381AEBFC, 0x381AFE25, 0x381B103F, 0x381B2251, 0x381B3453, 0x381B464A, 0x381B5835, 0x381B6A13, 0x381B7BE6, 0x381B8DAB, 0x381B9F66, 0x381BB115, 0x381BC2B6, 0x381BD44D, 0x381BE5D8, 0x381BF759, 0x381C08CC, 0x381C1A33, 0x381C2B90, 0x381C3CDF, 0x381C4E26, 0x381C5F5F, 0x381C708D, 0x381C81B3, 0x381C92CB, 0x381CA3D8, 0x381CB4DA, 0x381CC5D1, 0x381CD6BD, 0x381CE79E, 0x381CF874, 0x381D0940, 0x381D1A02, 0x381D2AB7, 0x381D3B64, 0x381D4C03, 0x381D5C9A, 0x381D6D26, 0x381D7DAA, 0x381D8E20, 0x381D9E8D, 0x381DAEF0, 0x381DBF48, 0x381DCF97, 0x381DDFDB, 0x381DF015, 0x381E0046, 0x381E106C, 0x381E2087, 0x381E309A, 0x381E40A2, 0x381E50A2, 0x381E6097, 0x381E7080, 0x381E8062, 0x381E903B, 0x381EA009, 0x381EAFCF, 0x381EBF8A, 0x381ECF3D, 0x381EDEE4, 0x381EEE84, 0x381EFE1B, 0x381F0DA7, 0x381F1D2B, 0x381F2CA4, 0x381F3C18, 0x381F4B7E, 0x381F5ADE, 0x381F6A33, 0x381F7983, 0x381F88C5, 0x381F9801, 0x381FA733, 0x381FB65F, 0x381FC580, 0x381FD499, 0x381FE3A6, 0x381FF2AF, 0x382001AC, 0x382010A4, 0x38201F91, 0x38202E75, 0x38203D52, 0x38204C26, 0x38205AF1, 0x382069B5, 0x38207870, 0x38208723, 0x382095CE, 0x3820A471, 0x3820B30B, 0x3820C19D, 0x3820D027, 0x3820DEA9, 0x3820ED22, 0x3820FB93, 0x382109FF, 0x3821185F, 0x382126BB, 0x3821350D, 0x38214358, 0x3821519A, 0x38215FD5, 0x38216E09, 0x38217C36, 0x38218A5A, 0x38219876, 0x3821A689, 0x3821B497, 0x3821C29D, 0x3821D09B, 0x3821DE93, 0x3821EC83, 0x3821FA6B, 0x3822084A, 0x38221624, 0x382223F6, 0x382231C2, 0x38223F86, 0x38224D42, 0x38225AF8, 0x382268A6, 0x3822764B, 0x382283EC, 0x38229184, 0x38229F16, 0x3822ACA0, 0x3822BA25, 0x3822C7A1, 0x3822D516, 0x3822E284, 0x3822EFEE, 0x3822FD4E, 0x38230AAA, 0x382317FD, 0x38232548, 0x38233290, 0x38233FCE, 0x38234D08, 0x38235A3A, 0x38236764, 0x38237489, 0xBF800000, 0x00000000, 0x36A6196A, 0x3703A179, 0x37261985, 0x3740D603, 0x3756AE5C, 0x3769269A, 0x37792674, 0x3783A19B, 0x3789F17B, 0x378FA735, 0x3794DDA7, 0x3799A93E, 0x379E19D1, 0x37A23BED, 0x37A619B9, 0x37A9BB85, 0x37AD281F, 0x37B06554, 0x37B377FF, 0x37B66449, 0x37B92DBF, 0x37BBD77C, 0x37BE6436, 0x37C0D64A, 0x37C32FCD, 0x37C5729C, 0x37C7A05B, 0x37C9BA8F, 0x37CBC27C, 0x37CDB962, 0x37CFA04E, 0x37D1783C, 0x37D34214, 0x37D4FEA6, 0x37D6AEB4, 0x37D852E6, 0x37D9EBE9, 0x37DB7A4A, 0x37DCFE94, 0x37DE7949, 0x37DFEADE, 0x37E153C0, 0x37E2B453, 0x37E40CFF, 0x37E55E11, 0x37E6A7EB, 0x37E7EACB, 0x37E92708, 0x37EA5CDF, 0x37EB8C97, 0x37ECB667, 0x37EDDA86, 0x37EEF937, 0x37F0129F, 0x37F126FB, 0x37F2366C, 0x37F34129, 0x37F44753, 0x37F5491C, 0x37F64699, 0x37F73FFC, 0x37F83561, 0x37F926E8, 0x37FA14B2, 0x37FAFEDC, 0x37FBE57A, 0x37FCC8B4, 0x37FDA899, 0x37FE8546, 0x37FF5ED0, 0x38001AAA, 0x38008470, 0x3800ECC6, 0x380153B4, 0x3801B944, 0x38021D83, 0x38028075, 0x3802E225, 0x3803429C, 0x3803A1E0, 0x3803FFF7, 0x38045CE9, 0x3804B8C2, 0x38051380, 0x38056D30, 0x3805C5D9, 0x38061D7C, 0x38067423, 0x3806C9D2, 0x38071E8D, 0x3807725B, 0x3807C542, 0x38081748, 0x3808686D, 0x3808B8B8, 0x38090830, 0x380956D7, 0x3809A4B2, 0x3809F1C5, 0x380A3E12, 0x380A899E, 0x380AD470, 0x380B1E86, 0x380B67E7, 0x380BB098, 0x380BF89A, 0x380C3FEE, 0x380C869D, 0x380CCCA5, 0x380D120A, 0x380D56D0, 0x380D9AFC, 0x380DDE8B, 0x380E2183, 0x380E63EA, 0x380EA5BC, 0x380EE6FF, 0x380F27B6, 0x380F67E1, 0x380FA785, 0x380FE6A2, 0x3810253B, 0x38106353, 0x3810A0ED, 0x3810DE06, 0x38111AA5, 0x381156C9, 0x38119277, 0x3811CDAF, 0x38120873, 0x381242C3, 0x38127CA3, 0x3812B615, 0x3812EF16, 0x381327AF, 0x38135FDD, 0x381397A2, 0x3813CF01, 0x381405F8, 0x38143C8F, 0x381472C0, 0x3814A891, 0x3814DDFF, 0x38151312, 0x381547C5, 0x38157C1E, 0x3815B01B, 0x3815E3C1, 0x3816170C, 0x381649FF, 0x38167C9C, 0x3816AEE5, 0x3816E0DB, 0x3817127C, 0x381743CD, 0x381774CE, 0x3817A57D, 0x3817D5DF, 0x381805F4, 0x381835BA, 0x38186538, 0x38189469, 0x3818C34F, 0x3818F1EC, 0x38192041, 0x38194E51, 0x38197C1A, 0x3819A99B, 0x3819D6DA, 0x381A03D2, 0x381A308B, 0x381A5CFF, 0x381A8931, 0x381AB524, 0x381AE0D4, 0x381B0C49, 0x381B377B, 0x381B6271, 0x381B8D2A, 0x381BB7A7, 0x381BE1E5, 0x381C0BEC, 0x381C35B6, 0x381C5F46, 0x381C889D, 0x381CB1BA, 0x381CDAA0, 0x381D034F, 0x381D2BC8, 0x381D5409, 0x381D7C13, 0x381DA3E9, 0x381DCB8B, 0x381DF2F8, 0x381E1A32, 0x381E4137, 0x381E680D, 0x381E8EAC, 0x381EB51D, 0x381EDB5C, 0x381F016C, 0x381F2749, 0x381F4CF9, 0x381F7278, 0x381F97CA, 0x381FBCEC, 0x381FE1E1, 0x382006A8, 0x38202B42, 0x38204FB1, 0x382073F3, 0x3820980A, 0x3820BBF5, 0x3820DFB3, 0x38210349, 0x382126B5, 0x382149F8, 0x38216D0F, 0x38219000, 0x3821B2C7, 0x3821D565, 0x3821F7DC, 0x38221A2B, 0x38223C55, 0x38225E57, 0x38228032, 0x3822A1E6, 0x3822C377, 0x3822E4E1, 0x38230625, 0x38232745, 0x38234841, 0x38236917, 0x382389CC, 0x3823AA5A, 0x3823CAC7, 0x3823EB11, 0x38240B39, 0x38242B3E, 0x38244B1F, 0x38246AE2, 0x38248A81, 0x3824AA00, 0x3824C95D, 0x3824E899, 0x382507B4, 0x382526B1, 0x3825458D, 0x38256448, 0x382582E5, 0x3825A163, 0x3825BFC1, 0x3825DE03, 0x3825FC24, 0x38261A27, 0x3826380B, 0x382655D5, 0x3826737F, 0x3826910C, 0x3826AE7B, 0x3826CBCD, 0x3826E905, 0x38270621, 0x3827231F, 0x38274001, 0x38275CC5, 0x38277970, 0x38279600, 0x3827B274, 0x3827CECD, 0x3827EB0D, 0x38280731, 0x3828233A, 0x38283F2B, 0x38285B00, 0x382876BC, 0x3828925F, 0x3828ADE7, 0x3828C956, 0x3828E4AC, 0x3828FFED, 0x38291B12, 0x3829361E, 0x38295111, 0x38296BEF, 0x382986B1, 0x3829A15D, 0x3829BBF3, 0x3829D670, 0x3829F0D4, 0x382A0B23, 0x382A255B, 0x382A3F7B, 0x382A5985, 0x382A7379, 0x382A8D57, 0x382AA71E, 0x382AC0CE, 0x382ADA69, 0x382AF3EC, 0x382B0D5C, 0x382B26B6, 0x382B3FFA, 0x382B592B, 0x382B7245, 0x382B8B4A, 0x382BA439, 0x382BBD14, 0x382BD5DC, 0x382BEE8E, 0x382C072D, 0x382C1FB6, 0x382C382C, 0x382C508F, 0x382C68DE, 0x382C8117, 0x382C993D, 0x382CB153, 0x382CC952, 0x382CE13E, 0x382CF91A, 0x382D10E0, 0x382D2895, 0x382D4037, 0x382D57C6, 0x382D6F42, 0x382D86AD, 0x382D9E05, 0x382DB54C, 0x382DCC80, 0x382DE3A1, 0x382DFAB1, 0x382E11AE, 0x382E289B, 0x382E3F77, 0x382E5643, 0x382E6CFB, 0x382E83A3, 0x382E9A38, 0x382EB0BF, 0x382EC733, 0x382EDD96, 0x382EF3E9, 0x382F0A2B, 0x382F205C, 0x382F3680, 0x382F4C91, 0x382F6291, 0x382F7884, 0x382F8E63, 0x382FA435, 0x382FB9F6, 0x382FCFA6, 0x382FE549, 0x382FFADB, 0x3830105D, 0x383025D1, 0x38303B35, 0x3830508B, 0x383065D0, 0x38307B05, 0x3830902F, 0x3830A545, 0x3830BA51, 0x3830CF4C, 0x3830E437, 0x3830F916, 0x38310DE5, 0x383122A7, 0x38313758, 0x38314BFE, 0x38316093, 0x3831751B, 0x38318995, 0x38319E01, 0x3831B25F, 0x3831C6B0, 0x3831DAF3, 0x3831EF28, 0x3832034F, 0x38321769, 0x38322B75, 0x38323F73, 0x38325364, 0x38326749, 0x38327B21, 0x38328EEB, 0x3832A2A7, 0x3832B659, 0x3832C9FC, 0x3832DD92, 0x3832F11D, 0x3833049A, 0x38331809, 0x38332B6D, 0x38333EC4, 0x3833520F, 0x3833654D, 0x3833787D, 0x38338BA5, 0x38339EBC, 0x3833B1CB, 0x3833C4CD, 0x3833D7C0, 0x3833EAAC, 0x3833FD89, 0x38341059, 0x3834231E, 0x383435D8, 0x38344887, 0x38345B2B, 0x38346DC1, 0x3834804C, 0x383492CC, 0x3834A541, 0x3834B7AB, 0x3834CA0B, 0x3834DC5C, 0x3834EEA5, 0x383500E1, 0x38351311, 0x38352539, 0x38353754, 0x38354966, 0x38355B6A, 0x38356D67, 0x38357F55, 0x3835913B, 0x3835A316, 0x3835B4E7, 0x3835C6AC, 0x3835D866, 0x3835EA18, 0x3835FBBC, 0x38360D58, 0x38361EE9, 0x38363072, 0x383641ED, 0x38365360, 0x383664CA, 0x38367627, 0x3836877C, 0x383698C8, 0x3836AA07, 0x3836BB40, 0x3836CC6B, 0x3836DD8E, 0x3836EEA6, 0x3836FFB6, 0x383710BD, 0x383721B7, 0x383732AB, 0x38374392, 0x38375473, 0x38376549, 0x38377614, 0x383786D7, 0x38379792, 0x3837A841, 0x3837B8E9, 0x3837C988, 0x3837DA1C, 0x3837EAA8, 0x3837FB29, 0x38380BA1, 0x38381C12, 0x38382C7A, 0x38383CD7, 0x38384D2F, 0x38385D7B, 0x38386DBD, 0x38387DF9, 0x38388E2A, 0x38389E53, 0x3838AE74, 0x3838BE8C, 0x3838CE9C, 0x3838DEA2, 0x3838EEA1, 0x3838FE96, 0x38390E82, 0x38391E67, 0x38392E43, 0x38393E19, 0x38394DE4, 0x38395DA8, 0x38396D63, 0x38397D15, 0x38398CC0, 0x38399C62, 0x3839ABFC, 0x3839BB8E, 0x3839CB17, 0x3839DA98, 0x3839EA14, 0x3839F985, 0x383A08F0, 0x383A1850, 0x383A27AB, 0x383A36FE, 0x383A4648, 0x383A558A, 0x383A64C6, 0x383A73F8, 0x383A8324, 0x383A9248, 0x383AA166, 0x383AB079, 0x383ABF87, 0x383ACE8D, 0xBF800000, 0x00000000, 0x36C1C874, 0x371991D6, 0x3741C897, 0x3760F9D6, 0x377A7647, 0x37880153, 0x3791568D, 0x37999207, 0x37A0EF37, 0x37A79893, 0x37ADAD70, 0x37B345A3, 0x37B8739F, 0x37BD461A, 0x37C1C8E4, 0x37C605A1, 0x37CA045E, 0x37CDCBC4, 0x37D1618F, 0x37D4CA8D, 0x37D80AF0, 0x37DB264D, 0x37DE1FD2, 0x37E0FA3F, 0x37E3B805, 0x37E65B4C, 0x37E8E607, 0x37EB59E9, 0x37EDB882, 0x37F00333, 0x37F23B4C, 0x37F461E4, 0x37F67808, 0x37F87EB7, 0x37FA76C6, 0x37FC6105, 0x37FE3E31, 0x3800077C, 0x3800E9FE, 0x3801C6E7, 0x38029E7D, 0x38037102, 0x38043EAF, 0x380507BE, 0x3805CC60, 0x38068CC7, 0x38074922, 0x3808019A, 0x3808B659, 0x38096781, 0x380A153C, 0x380ABFA6, 0x380B66DF, 0x380C0B09, 0x380CAC3D, 0x380D4A98, 0x380DE630, 0x380E7F1F, 0x380F157D, 0x380FA95D, 0x38103AD6, 0x3810C9FD, 0x381156E2, 0x3811E197, 0x38126A2E, 0x3812F0B8, 0x38137543, 0x3813F7DF, 0x38147898, 0x3814F77F, 0x381574A2, 0x3815F007, 0x381669C2, 0x3816E1D8, 0x38175857, 0x3817CD4B, 0x381840BB, 0x3818B2B3, 0x3819233D, 0x38199261, 0x381A0026, 0x381A6C99, 0x381AD7BF, 0x381B419E, 0x381BAA43, 0x381C11B0, 0x381C77F0, 0x381CDD08, 0x381D40FC, 0x381DA3D8, 0x381E059F, 0x381E6658, 0x381EC609, 0x381F24B5, 0x381F8264, 0x381FDF19, 0x38203ADC, 0x382095B0, 0x3820EF9A, 0x382148A0, 0x3821A0C5, 0x3821F80E, 0x38224E7E, 0x3822A41C, 0x3822F8E7, 0x38234CEA, 0x3823A024, 0x3823F298, 0x3824444E, 0x38249544, 0x3824E581, 0x38253507, 0x382583D9, 0x3825D1FC, 0x38261F72, 0x38266C40, 0x3826B864, 0x382703E2, 0x38274EC2, 0x382798FF, 0x3827E2A2, 0x38282BAB, 0x3828741D, 0x3828BBF8, 0x38290341, 0x382949FB, 0x38299026, 0x3829D5C5, 0x382A1ADB, 0x382A5F6A, 0x382AA375, 0x382AE6F9, 0x382B29FD, 0x382B6C81, 0x382BAE87, 0x382BF015, 0x382C3124, 0x382C71BC, 0x382CB1DF, 0x382CF18E, 0x382D30C7, 0x382D6F8F, 0x382DADE9, 0x382DEBD2, 0x382E294E, 0x382E6661, 0x382EA309, 0x382EDF48, 0x382F1B1F, 0x382F5693, 0x382F919F, 0x382FCC4A, 0x38300692, 0x3830407A, 0x38307A02, 0x3830B330, 0x3830EBFD, 0x3831246F, 0x38315C87, 0x38319444, 0x3831CBA9, 0x383202B8, 0x38323970, 0x38326FD3, 0x3832A5E3, 0x3832DB9E, 0x38331106, 0x3833461F, 0x38337AE8, 0x3833AF61, 0x3833E38B, 0x3834176A, 0x38344AFA, 0x38347E3F, 0x3834B13A, 0x3834E3E8, 0x38351652, 0x38354871, 0x38357A46, 0x3835ABD9, 0x3835DD22, 0x38360E29, 0x38363EEB, 0x38366F69, 0x38369FA2, 0x3836CF9B, 0x3836FF53, 0x38372EC8, 0x38375DFF, 0x38378CF6, 0x3837BBAE, 0x3837EA27, 0x38381863, 0x38384663, 0x38387426, 0x3838A1B0, 0x3838CEFA, 0x3838FC0D, 0x383928E7, 0x38395584, 0x383981EA, 0x3839AE19, 0x3839DA0F, 0x383A05D0, 0x383A315B, 0x383A5CAB, 0x383A87CA, 0x383AB2B2, 0x383ADD66, 0x383B07E9, 0x383B3234, 0x383B5C4E, 0x383B8637, 0x383BAFEB, 0x383BD970, 0x383C02C2, 0x383C2BE4, 0x383C54D8, 0x383C7D9A, 0x383CA62B, 0x383CCE90, 0x383CF6C6, 0x383D1ECE, 0x383D46A9, 0x383D6E53, 0x383D95D4, 0x383DBD29, 0x383DE44F, 0x383E0B4C, 0x383E321D, 0x383E58C1, 0x383E7F3D, 0x383EA58D, 0x383ECBB3, 0x383EF1B0, 0x383F1784, 0x383F3D32, 0x383F62B3, 0x383F880E, 0x383FAD43, 0x383FD24E, 0x383FF733, 0x38401BF1, 0x38404089, 0x384064FA, 0x38408945, 0x3840AD6A, 0x3840D16A, 0x3840F547, 0x384118FE, 0x38413C90, 0x38415FFF, 0x3841834A, 0x3841A672, 0x3841C976, 0x3841EC56, 0x38420F15, 0x384231B0, 0x3842542A, 0x38427684, 0x384298B9, 0x3842BACE, 0x3842DCC2, 0x3842FE97, 0x38432049, 0x384341D9, 0x3843634C, 0x384384A0, 0x3843A5D1, 0x3843C6E6, 0x3843E7DA, 0x384408AD, 0x38442964, 0x384449FB, 0x38446A76, 0x38448AD0, 0x3844AB0E, 0x3844CB2C, 0x3844EB2E, 0x38450B15, 0x38452ADD, 0x38454A87, 0x38456A16, 0x38458989, 0x3845A8E1, 0x3845C81A, 0x3845E738, 0x3846063B, 0x38462522, 0x384643F0, 0x384662A0, 0x38468137, 0x38469FB0, 0x3846BE13, 0x3846DC58, 0x3846FA87, 0x38471897, 0x38473692, 0x38475471, 0x38477238, 0x38478FE2, 0x3847AD77, 0x3847CAF1, 0x3847E851, 0x3848059C, 0x384822CB, 0x38483FE4, 0x38485CE5, 0x384879CD, 0x3848969C, 0x3848B355, 0x3848CFF8, 0x3848EC7F, 0x384908F3, 0x3849254F, 0x38494192, 0x38495DC1, 0x384979D8, 0x384995D9, 0x3849B1C1, 0x3849CD96, 0x3849E955, 0x384A04FB, 0x384A208D, 0x384A3C0A, 0x384A5771, 0x384A72C2, 0x384A8DFD, 0x384AA925, 0x384AC436, 0x384ADF35, 0x384AFA1D, 0x384B14F0, 0x384B2FAF, 0x384B4A5B, 0x384B64F1, 0x384B7F71, 0x384B99E0, 0x384BB43A, 0x384BCE80, 0x384BE8B3, 0x384C02D3, 0x384C1CDF, 0x384C36D6, 0x384C50BC, 0x384C6A8F, 0x384C844C, 0x384C9DF8, 0x384CB791, 0x384CD11A, 0x384CEA8C, 0x384D03EE, 0x384D1D3D, 0x384D3679, 0x384D4FA4, 0x384D68BC, 0x384D81C3, 0x384D9AB8, 0x384DB39B, 0x384DCC6C, 0x384DE52C, 0x384DFDDB, 0x384E1677, 0x384E2F03, 0x384E477B, 0x384E5FE6, 0x384E783E, 0x384E9085, 0x384EA8BB, 0x384EC0E1, 0x384ED8F7, 0x384EF0FC, 0x384F08F0, 0x384F20D4, 0x384F38A8, 0x384F506B, 0x384F681D, 0x384F7FBF, 0x384F9754, 0x384FAED8, 0x384FC64B, 0x384FDDAE, 0x384FF503, 0x38500C47, 0x3850237B, 0x38503AA2, 0x385051B8, 0x385068C0, 0x38507FB8, 0x385096A1, 0x3850AD7B, 0x3850C446, 0x3850DB04, 0x3850F1B2, 0x3851084F, 0x38511EE1, 0x38513562, 0x38514BD6, 0x3851623C, 0x38517891, 0x38518ED9, 0x3851A513, 0x3851BB3F, 0x3851D15E, 0x3851E76E, 0x3851FD71, 0x38521367, 0x3852294B, 0x38523F25, 0x385254F1, 0x38526AAF, 0x38528060, 0x38529603, 0x3852AB98, 0x3852C11F, 0x3852D69B, 0x3852EC07, 0x38530168, 0x385316BE, 0x38532C03, 0x3853413E, 0x3853566A, 0x38536B89, 0x3853809D, 0x385395A6, 0x3853AA9E, 0x3853BF8B, 0x3853D46E, 0x3853E942, 0x3853FE09, 0x385412C5, 0x38542776, 0x38543C19, 0x385450AF, 0x3854653C, 0x385479BB, 0x38548E2D, 0x3854A294, 0x3854B6EF, 0x3854CB40, 0x3854DF83, 0x3854F3BB, 0x385507E8, 0x38551C07, 0x3855301B, 0x38554427, 0x38555825, 0x38556C16, 0x38557FFE, 0x385593DB, 0x3855A7AB, 0x3855BB6F, 0x3855CF2C, 0x3855E2DA, 0x3855F67E, 0x38560A16, 0x38561DA6, 0x38563129, 0x385644A1, 0x38565810, 0x38566B71, 0x38567ECB, 0x38569216, 0x3856A55A, 0x3856B892, 0x3856CBBF, 0x3856DEE4, 0x3856F1FC, 0x3857050B, 0x3857180F, 0x38572B08, 0x38573DF6, 0x385750DC, 0x385763B7, 0x38577687, 0x3857894E, 0x38579C0B, 0x3857AEBC, 0x3857C166, 0x3857D404, 0x3857E69A, 0x3857F923, 0x38580BA6, 0x38581E1D, 0x3858308A, 0x385842EC, 0x38585549, 0x38586797, 0x385879DE, 0x38588C1C, 0x38589E4F, 0x3858B07A, 0x3858C29D, 0x3858D4B4, 0x3858E6C1, 0x3858F8C6, 0x38590AC2, 0x38591CB6, 0x38592E9F, 0x3859407F, 0x38595255, 0x38596423, 0x385975E8, 0x385987A5, 0x38599957, 0x3859AB01, 0x3859BCA2, 0x3859CE3B, 0x3859DFCA, 0x3859F150, 0xBF800000, 0x00000000, 0x36E88A61, 0x373848D3, 0x37688A91, 0x3786FC78, 0x37964729, 0x37A334FE, 0x37AE6819, 0x37B8490F, 0x37C11F4E, 0x37C91DC0, 0x37D06A04, 0x37D720AB, 0x37DD57DE, 0x37E3213F, 0x37E88AFF, 0x37EDA0B7, 0x37F26BFB, 0x37F6F4E3, 0x37FB423F, 0x37FF59DA, 0x3801A05B, 0x38037D95, 0x3805467D, 0x3806FCC0, 0x3808A1D1, 0x380A36FE, 0x380BBD6D, 0x380D3629, 0x380EA220, 0x38100227, 0x38115700, 0x3812A15C, 0x3813E1DC, 0x38151910, 0x38164781, 0x38176DA8, 0x38188BF8, 0x3819A2D5, 0x381AB2A6, 0x381BBBBE, 0x381CBE74, 0x381DBB12, 0x381EB1E2, 0x381FA327, 0x38208F1E, 0x38217601, 0x38225807, 0x38233566, 0x38240E49, 0x3824E2E3, 0x3825B35D, 0x38267FDB, 0x3827488A, 0x38280D87, 0x3828CEF9, 0x38298CFE, 0x382A47B8, 0x382AFF3E, 0x382BB3AF, 0x382C6524, 0x382D13B6, 0x382DBF7D, 0x382E688F, 0x382F0F02, 0x382FB2EB, 0x3830545D, 0x3830F36B, 0x38319027, 0x38322AA1, 0x3832C2EB, 0x38335912, 0x3833ED27, 0x38347F39, 0x38350F54, 0x38359D89, 0x383629E0, 0x3836B469, 0x38373D2C, 0x3837C437, 0x38384996, 0x3838CD50, 0x38394F73, 0x3839D008, 0x383A4F13, 0x383ACCA6, 0x383B48C3, 0x383BC376, 0x383C3CC5, 0x383CB4BB, 0x383D2B5B, 0x383DA0B2, 0x383E14C1, 0x383E8795, 0x383EF932, 0x383F699D, 0x383FD8DD, 0x384046FA, 0x3840B3F9, 0x38411FE0, 0x38418AB3, 0x3841F479, 0x38425D38, 0x3842C4F4, 0x38432BB0, 0x38439175, 0x3843F642, 0x38445A21, 0x3844BD16, 0x38451F21, 0x38458048, 0x3845E093, 0x38464002, 0x38469E98, 0x3846FC5D, 0x38475951, 0x3847B577, 0x384810D7, 0x38486B71, 0x3848C548, 0x38491E5F, 0x384976BE, 0x3849CE61, 0x384A254F, 0x384A7B8B, 0x384AD116, 0x384B25F7, 0x384B7A2B, 0x384BCDB7, 0x384C209F, 0x384C72E4, 0x384CC487, 0x384D1590, 0x384D65FA, 0x384DB5CC, 0x384E0507, 0x384E53AE, 0x384EA1C3, 0x384EEF49, 0x384F3C3E, 0x384F88A9, 0x384FD488, 0x38501FE0, 0x38506AAF, 0x3850B4FC, 0x3850FEC6, 0x3851480E, 0x385190D8, 0x3851D924, 0x385220F4, 0x3852684A, 0x3852AF28, 0x3852F58D, 0x38533B7F, 0x385380FD, 0x3853C608, 0x38540AA2, 0x38544ECB, 0x38549286, 0x3854D5D6, 0x385518BB, 0x38555B35, 0x38559D46, 0x3855DEF2, 0x38562035, 0x38566112, 0x3856A18F, 0x3856E1A7, 0x3857215E, 0x385760B5, 0x38579FAC, 0x3857DE48, 0x38581C84, 0x38585A65, 0x385897EC, 0x3858D517, 0x385911EB, 0x38594E67, 0x38598A8E, 0x3859C65C, 0x385A01D9, 0x385A3CFD, 0x385A77D2, 0x385AB254, 0x385AEC86, 0x385B2666, 0x385B5FF6, 0x385B9939, 0x385BD22D, 0x385C0AD3, 0x385C4330, 0x385C7B3F, 0x385CB307, 0x385CEA82, 0x385D21B6, 0x385D589F, 0x385D8F41, 0x385DC59E, 0x385DFBB3, 0x385E3184, 0x385E6710, 0x385E9C58, 0x385ED15D, 0x385F061E, 0x385F3A9F, 0x385F6EDC, 0x385FA2DA, 0x385FD698, 0x38600A15, 0x38603D55, 0x38607055, 0x3860A319, 0x3860D59E, 0x386107E7, 0x386139F6, 0x38616BC5, 0x38619D5E, 0x3861CEBA, 0x3861FFDD, 0x386230C5, 0x38626177, 0x386291EF, 0x3862C230, 0x3862F23A, 0x3863220A, 0x386351A6, 0x3863810E, 0x3863B03F, 0x3863DF3C, 0x38640E01, 0x38643C96, 0x38646AF6, 0x38649924, 0x3864C71E, 0x3864F4E7, 0x3865227F, 0x38654FE4, 0x38657D19, 0x3865AA1C, 0x3865D6F0, 0x38660392, 0x38663006, 0x38665C4E, 0x38668865, 0x3866B44D, 0x3866E008, 0x38670B98, 0x386736F7, 0x3867622C, 0x38678D35, 0x3867B80F, 0x3867E2C0, 0x38680D45, 0x3868379F, 0x386861CF, 0x38688BD3, 0x3868B5AD, 0x3868DF5F, 0x386908E7, 0x38693246, 0x38695B7F, 0x3869848B, 0x3869AD71, 0x3869D631, 0x3869FEC7, 0x386A2737, 0x386A4F81, 0x386A77A4, 0x386A9FA0, 0x386AC776, 0x386AEF25, 0x386B16B1, 0x386B3E19, 0x386B6558, 0x386B8C76, 0x386BB36D, 0x386BDA41, 0x386C00F3, 0x386C277F, 0x386C4DE8, 0x386C742F, 0x386C9A53, 0x386CC053, 0x386CE632, 0x386D0BF0, 0x386D318A, 0x386D5703, 0x386D7C5B, 0x386DA190, 0x386DC6A6, 0x386DEB9C, 0x386E1070, 0x386E3526, 0x386E59B8, 0x386E7E2F, 0x386EA282, 0x386EC6B7, 0x386EEACE, 0x386F0EC6, 0x386F32A0, 0x386F565A, 0x386F79F5, 0x386F9D74, 0x386FC0D2, 0x386FE415, 0x3870073A, 0x38702A41, 0x38704D2C, 0x38706FF9, 0x387092A7, 0x3870B53D, 0x3870D7B2, 0x3870FA0E, 0x38711C4E, 0x38713E71, 0x38716078, 0x38718263, 0x3871A433, 0x3871C5EA, 0x3871E783, 0x38720903, 0x38722A68, 0x38724BB1, 0x38726CE2, 0x38728DF7, 0x3872AEF3, 0x3872CFD6, 0x3872F09E, 0x3873114E, 0x387331E2, 0x3873525D, 0x387372C2, 0x3873930B, 0x3873B33C, 0x3873D354, 0x3873F354, 0x3874133D, 0x3874330B, 0x387452C3, 0x38747262, 0x387491EB, 0x3874B15B, 0x3874D0B3, 0x3874EFF5, 0x38750F1E, 0x38752E31, 0x38754D2E, 0x38756C12, 0x38758AE3, 0x3875A998, 0x3875C83B, 0x3875E6C7, 0x3876053B, 0x3876239B, 0x387641E2, 0x38766017, 0x38767E35, 0x38769C3D, 0x3876BA30, 0x3876D80C, 0x3876F5D2, 0x38771386, 0x38773125, 0x38774EAD, 0x38776C23, 0x38778981, 0x3877A6CC, 0x3877C403, 0x3877E127, 0x3877FE36, 0x38781B2E, 0x38783816, 0x387854E7, 0x387871A6, 0x38788E51, 0x3878AAE9, 0x3878C76B, 0x3878E3DC, 0x3879003B, 0x38791C86, 0x387938BB, 0x387954DF, 0x387970F1, 0x38798CF2, 0x3879A8DC, 0x3879C4B7, 0x3879E07E, 0x3879FC32, 0x387A17D5, 0x387A3365, 0x387A4EE2, 0x387A6A4E, 0x387A85AA, 0x387AA0F3, 0x387ABC28, 0x387AD750, 0x387AF262, 0x387B0D66, 0x387B2856, 0x387B4336, 0x387B5E03, 0x387B78C3, 0x387B936F, 0x387BAE0A, 0x387BC895, 0x387BE310, 0x387BFD77, 0x387C17D0, 0x387C3219, 0x387C4C4F, 0x387C6677, 0x387C808F, 0x387C9A96, 0x387CB48C, 0x387CCE72, 0x387CE84B, 0x387D0210, 0x387D1BC7, 0x387D3571, 0x387D4F07, 0x387D688F, 0x387D8208, 0x387D9B72, 0x387DB4CC, 0x387DCE15, 0x387DE751, 0x387E007C, 0x387E1999, 0x387E32A9, 0x387E4BA8, 0x387E6497, 0x387E7D7A, 0x387E964B, 0x387EAF10, 0x387EC7C5, 0x387EE06C, 0x387EF906, 0x387F118F, 0x387F2A0A, 0x387F4278, 0x387F5AD7, 0x387F7329, 0x387F8B6E, 0x387FA3A1, 0x387FBBCA, 0x387FD3E2, 0x387FEBED, 0x388001F6, 0x38800DEE, 0x388019E0, 0x388025C9, 0x388031AE, 0x38803D8A, 0x38804960, 0x38805530, 0x388060F9, 0x38806CBC, 0x38807877, 0x3880842D, 0x38808FDB, 0x38809B83, 0x3880A725, 0x3880B2C1, 0x3880BE55, 0x3880C9E4, 0x3880D56D, 0x3880E0EE, 0x3880EC6A, 0x3880F7DF, 0x3881034E, 0x38810EB7, 0x38811A18, 0x38812576, 0x388130CB, 0x38813C1B, 0x38814766, 0x388152AA, 0x38815DE8, 0x3881691F, 0x38817452, 0x38817F7D, 0x38818AA4, 0x388195C4, 0x3881A0DE, 0x3881ABF2, 0x3881B702, 0x3881C20A, 0x3881CD0D, 0x3881D80A, 0x3881E301, 0x3881EDF3, 0x3881F8DF, 0x388203C5, 0x38820EA7, 0x38821982, 0x38822456, 0x38822F26, 0x388239F0, 0x388244B5, 0x38824F75, 0x38825A2E, 0x388264E2, 0x38826F91, 0x38827A3B, 0x388284DF, 0x38828F7D, 0x38829A16, 0x3882A4AA, 0x3882AF39, 0x3882B9C2, 0x3882C446, 0xBF800000, 0x00000000, 0x3904CF18, 0x3952814E, 0x3984D142, 0x399A3308, 0x39ABAB9C, 0x39BA713C, 0x39C73D1D, 0x39D286B3, 0x39DC9F96, 0x39E5C1F1, 0x39EE18BA, 0x39F5C48F, 0x39FCDED2, 0x3A01BDCD, 0x3A04D58F, 0x3A07BD4E, 0x3A0A7A8A, 0x3A0D11DA, 0x3A0F8725, 0x3A11DDBA, 0x3A141878, 0x3A1639D6, 0x3A1843FF, 0x3A1A38D8, 0x3A1C1A0A, 0x3A1DE916, 0x3A1FA749, 0x3A2155D6, 0x3A22F5C8, 0x3A24881A, 0x3A260DA4, 0x3A278732, 0x3A28F57B, 0x3A2A5927, 0x3A2BB2CD, 0x3A2D02FC, 0x3A2E4A33, 0x3A2F88EC, 0x3A30BF93, 0x3A31EE8D, 0x3A33163C, 0x3A3436F4, 0x3A35510C, 0x3A3664CA, 0x3A37727B, 0x3A387A60, 0x3A397CB5, 0x3A3A79B7, 0x3A3B719E, 0x3A3C649B, 0x3A3D52E0, 0x3A3E3C9D, 0x3A3F21FB, 0x3A400323, 0x3A40E03D, 0x3A41B96C, 0x3A428ED6, 0x3A43609B, 0x3A442ED8, 0x3A44F9AD, 0x3A45C136, 0x3A46858D, 0x3A4746CC, 0x3A48050D, 0x3A48C067, 0x3A4978EF, 0x3A4A2EBB, 0x3A4AE1E1, 0x3A4B9273, 0x3A4C4084, 0x3A4CEC26, 0x3A4D9569, 0x3A4E3C5E, 0x3A4EE116, 0x3A4F83A0, 0x3A50240B, 0x3A50C263, 0x3A515EB7, 0x3A51F914, 0x3A529186, 0x3A532819, 0x3A53BCD8, 0x3A544FD0, 0x3A54E10B, 0x3A557093, 0x3A55FE73, 0x3A568AB3, 0x3A57155E, 0x3A579E7C, 0x3A582615, 0x3A58AC35, 0x3A5930E0, 0x3A59B420, 0x3A5A35FD, 0x3A5AB67F, 0x3A5B35AB, 0x3A5BB389, 0x3A5C3021, 0x3A5CAB78, 0x3A5D2595, 0x3A5D9E7C, 0x3A5E1638, 0x3A5E8CCA, 0x3A5F023B, 0x3A5F768E, 0x3A5FE9CA, 0x3A605BF2, 0x3A60CD0F, 0x3A613D23, 0x3A61AC32, 0x3A621A45, 0x3A62875A, 0x3A62F37B, 0x3A635EAA, 0x3A63C8EB, 0x3A643244, 0x3A649AB7, 0x3A650247, 0x3A6568FB, 0x3A65CED3, 0x3A6633D6, 0x3A669804, 0x3A66FB64, 0x3A675DF8, 0x3A67BFC2, 0x3A6820C7, 0x3A688108, 0x3A68E08B, 0x3A693F50, 0x3A699D5C, 0x3A69FAB0, 0x3A6A5750, 0x3A6AB33E, 0x3A6B0E7E, 0x3A6B6910, 0x3A6BC2F9, 0x3A6C1C3C, 0x3A6C74D9, 0x3A6CCCD3, 0x3A6D242D, 0x3A6D7AEA, 0x3A6DD109, 0x3A6E2690, 0x3A6E7B7F, 0x3A6ECFD9, 0x3A6F23A0, 0x3A6F76D4, 0x3A6FC97A, 0x3A701B92, 0x3A706D1F, 0x3A70BE21, 0x3A710E9B, 0x3A715E91, 0x3A71AE01, 0x3A71FCEE, 0x3A724B5B, 0x3A729948, 0x3A72E6B6, 0x3A7333A8, 0x3A738021, 0x3A73CC1F, 0x3A7417A7, 0x3A7462B7, 0x3A74AD54, 0x3A74F77B, 0x3A754133, 0x3A758A78, 0x3A75D34F, 0x3A761BB9, 0x3A7663B4, 0x3A76AB44, 0x3A76F26C, 0x3A773929, 0x3A777F7E, 0x3A77C56D, 0x3A780AF7, 0x3A78501D, 0x3A7894DF, 0x3A78D940, 0x3A791D3F, 0x3A7960DD, 0x3A79A41F, 0x3A79E702, 0x3A7A2987, 0x3A7A6BB2, 0x3A7AAD81, 0x3A7AEEF6, 0x3A7B3013, 0x3A7B70D8, 0x3A7BB144, 0x3A7BF15D, 0x3A7C311F, 0x3A7C708C, 0x3A7CAFA8, 0x3A7CEE70, 0x3A7D2CE5, 0x3A7D6B0B, 0x3A7DA8DF, 0x3A7DE666, 0x3A7E239D, 0x3A7E6086, 0x3A7E9D23, 0x3A7ED972, 0x3A7F1578, 0x3A7F5132, 0x3A7F8CA0, 0x3A7FC7C8, 0x3A800153, 0x3A801E9E, 0x3A803BC5, 0x3A8058CA, 0x3A8075AA, 0x3A809269, 0x3A80AF05, 0x3A80CB7F, 0x3A80E7D8, 0x3A81040F, 0x3A812026, 0x3A813C1B, 0x3A8157F1, 0x3A8173A5, 0x3A818F3A, 0x3A81AAAF, 0x3A81C606, 0x3A81E13D, 0x3A81FC55, 0x3A82174F, 0x3A82322A, 0x3A824CE8, 0x3A826787, 0x3A82820A, 0x3A829C70, 0x3A82B6B8, 0x3A82D0E4, 0x3A82EAF3, 0x3A8304E6, 0x3A831EBF, 0x3A83387C, 0x3A835216, 0x3A836B9F, 0x3A838505, 0x3A839E52, 0x3A83B785, 0x3A83D0A7, 0x3A83E9A6, 0x3A84028C, 0x3A841B58, 0x3A84340A, 0x3A844CA3, 0x3A846521, 0x3A847D86, 0x3A8495D1, 0x3A84AE0B, 0x3A84C62B, 0x3A84DE29, 0x3A84F616, 0x3A850DF1, 0x3A8525AA, 0x3A853D52, 0x3A8554E0, 0x3A856C5D, 0x3A8583B8, 0x3A859B0A, 0x3A85B23A, 0x3A85C958, 0x3A85E05D, 0x3A85F750, 0x3A860E2A, 0x3A8624F3, 0x3A863BA1, 0x3A86523F, 0x3A8668C3, 0x3A867F36, 0x3A86958E, 0x3A86ABD6, 0x3A86C204, 0x3A86D821, 0x3A86EE2C, 0x3A870427, 0x3A871A08, 0x3A872FCE, 0x3A87458D, 0x3A875B31, 0x3A8770C5, 0x3A878647, 0x3A879BAF, 0x3A87B106, 0x3A87C64C, 0x3A87DB81, 0x3A87F0A5, 0x3A8805AF, 0x3A881AA7, 0x3A882F97, 0x3A88446E, 0x3A885933, 0x3A886DDE, 0x3A888281, 0x3A889713, 0x3A88AB93, 0x3A88BFFA, 0x3A88D458, 0x3A88E8A5, 0x3A88FCD8, 0x3A891103, 0x3A89251C, 0x3A89391C, 0x3A894D13, 0x3A8960F8, 0x3A8974CD, 0x3A898891, 0x3A899C43, 0x3A89AFED, 0x3A89C37D, 0x3A89D704, 0x3A89EA71, 0x3A89FDD6, 0x3A8A112A, 0x3A8A2475, 0x3A8A37A7, 0x3A8A4AD0, 0x3A8A5DE7, 0x3A8A70EE, 0x3A8A83E3, 0x3A8A96D0, 0x3A8AA9AB, 0x3A8ABC76, 0x3A8ACF38, 0x3A8AE1E8, 0x3A8AF488, 0x3A8B0716, 0x3A8B199B, 0x3A8B2C10, 0x3A8B3E73, 0x3A8B50CE, 0x3A8B6317, 0x3A8B7558, 0x3A8B8788, 0x3A8B99A7, 0x3A8BABBD, 0x3A8BBDC1, 0x3A8BCFBE, 0x3A8BE1A9, 0x3A8BF383, 0x3A8C0554, 0x3A8C171C, 0x3A8C28D4, 0x3A8C3A7A, 0x3A8C4C18, 0x3A8C5DA4, 0x3A8C6F28, 0x3A8C809B, 0x3A8C9205, 0x3A8CA367, 0x3A8CB4B7, 0x3A8CC5F7, 0x3A8CD72D, 0x3A8CE85B, 0x3A8CF978, 0x3A8D0A8C, 0x3A8D1B90, 0x3A8D2C8A, 0x3A8D3D7C, 0x3A8D4E5D, 0x3A8D5F35, 0x3A8D6FFC, 0x3A8D80BA, 0x3A8D9170, 0x3A8DA215, 0x3A8DB2B9, 0x3A8DC344, 0x3A8DD3CF, 0x3A8DE449, 0x3A8DF4B1, 0x3A8E0519, 0x3A8E1571, 0x3A8E25BF, 0x3A8E35FD, 0x3A8E4632, 0x3A8E565E, 0x3A8E6682, 0x3A8E769D, 0x3A8E86A7, 0x3A8E96A9, 0x3A8EA6A1, 0x3A8EB689, 0x3A8EC668, 0x3A8ED63F, 0x3A8EE60C, 0x3A8EF5D2, 0x3A8F0586, 0x3A8F1531, 0x3A8F24D4, 0x3A8F346E, 0x3A8F4400, 0x3A8F5381, 0x3A8F6301, 0x3A8F7271, 0x3A8F81D7, 0x3A8F9136, 0x3A8FA083, 0x3A8FAFD0, 0x3A8FBF14, 0x3A8FCE47, 0x3A8FDD72, 0x3A8FEC94, 0x3A8FFBAE, 0x3A900ABE, 0x3A9019C7, 0x3A9028BE, 0x3A9037B5, 0x3A9046A3, 0x3A905581, 0x3A906456, 0x3A90732A, 0x3A9081EE, 0x3A9090A9, 0x3A909F5B, 0x3A90AE05, 0x3A90BCA6, 0x3A90CB3F, 0x3A90D9CF, 0x3A90E856, 0x3A90F6D5, 0x3A91054B, 0x3A9113B9, 0x3A91221E, 0x3A91307B, 0x3A913ECF, 0x3A914D11, 0x3A915B54, 0x3A91698E, 0x3A9177C0, 0x3A9185E9, 0x3A919409, 0x3A91A221, 0x3A91B030, 0x3A91BE37, 0x3A91CC35, 0x3A91DA33, 0x3A91E81F, 0x3A91F604, 0x3A9203E8, 0x3A9211BB, 0x3A921F8E, 0x3A922D50, 0x3A923B12, 0x3A9248CB, 0x3A925673, 0x3A92641B, 0x3A9271BB, 0x3A927F52, 0x3A928CE9, 0x3A929A6E, 0x3A92A7F4, 0x3A92B569, 0x3A92C2DD, 0x3A92D049, 0x3A92DDAD, 0x3A92EB07, 0x3A92F85A, 0x3A9305A3, 0x3A9312ED, 0x3A932025, 0x3A932D5E, 0x3A933A8D, 0x3A9347B5, 0x3A9354DC, 0x3A9361F2, 0x3A936F08, 0x3A937C0D, 0x3A938912, 0x3A93960E, 0x3A93A30B, 0x3A93AFF6, 0x3A93BCE1, 0x3A93C9C3, 0x3A93D69D, 0x3A93E36F, 0x3A93F040, 0x3A93FD00, 0x3A9409C0, 0x3A941678, 0x3A94232F, 0x3A942FD6, 0x3A943C7C, 0x3A94491A, 0x3A9455AF, 0x3A946245, 0x3A946EC9, 0x3A947B4D, 0x3A9487D1, 0x3A949444, 0x3A94A0B6, 0x3A94AD21, 0x3A94B982, 0x3A94C5DB, 0x3A94D235, 0x3A94DE85, 0x3A94EACD, 0x3A94F70C, 0x3A95034C, 0x3A950F82, 0x3A951BB9, 0x3A9527DF, 0x3A953404, 0x3A954021, 0x3A954C3E, 0x3A95584A, 0x3A956456, 0x3A957062, 0xBF800000, 0x00000000, 0x391AC8FE, 0x397556DD, 0x399ACBEF, 0x39B3B7B1, 0x39C8148F, 0x39D94C26, 0x39E83648, 0x39F55E35, 0x3A00917F, 0x3A05E437, 0x3A0AC050, 0x3A0F38C9, 0x3A135C6E, 0x3A1736F1, 0x3A1AD1C7, 0x3A1E34AA, 0x3A2165FD, 0x3A246B1F, 0x3A27489A, 0x3A2A024B, 0x3A2C9B88, 0x3A2F1731, 0x3A3177CF, 0x3A33BF93, 0x3A35F073, 0x3A380C29, 0x3A3A143F, 0x3A3C0A15, 0x3A3DEEE9, 0x3A3FC3D7, 0x3A4189E1, 0x3A4341F3, 0x3A44ECE4, 0x3A468B73, 0x3A481E56, 0x3A49A62F, 0x3A4B2396, 0x3A4C9714, 0x3A4E012C, 0x3A4F6253, 0x3A50BAF8, 0x3A520B80, 0x3A53544D, 0x3A5495B6, 0x3A55D010, 0x3A5703A6, 0x3A5830C4, 0x3A5957AC, 0x3A5A789F, 0x3A5B93D9, 0x3A5CA994, 0x3A5DBA05, 0x3A5EC55E, 0x3A5FCBCF, 0x3A60CD87, 0x3A61CAAF, 0x3A62C371, 0x3A63B7F1, 0x3A64A856, 0x3A6594C1, 0x3A667D56, 0x3A676230, 0x3A684371, 0x3A692134, 0x3A69FB95, 0x3A6AD2AC, 0x3A6BA695, 0x3A6C7765, 0x3A6D4535, 0x3A6E1019, 0x3A6ED826, 0x3A6F9D73, 0x3A70600F, 0x3A71200E, 0x3A71DD84, 0x3A72987F, 0x3A735111, 0x3A740749, 0x3A74BB36, 0x3A756CE7, 0x3A761C69, 0x3A76C9CB, 0x3A77751A, 0x3A781E63, 0x3A78C5B0, 0x3A796B0F, 0x3A7A0E8B, 0x3A7AB02C, 0x3A7B5000, 0x3A7BEE10, 0x3A7C8A64, 0x3A7D2509, 0x3A7DBE06, 0x3A7E5565, 0x3A7EEB2F, 0x3A7F7F6B, 0x3A800911, 0x3A8051AE, 0x3A809990, 0x3A80E0BB, 0x3A812733, 0x3A816CFA, 0x3A81B215, 0x3A81F687, 0x3A823A53, 0x3A827D7C, 0x3A82C005, 0x3A8301F1, 0x3A834341, 0x3A8383FB, 0x3A83C423, 0x3A8403B9, 0x3A8442BD, 0x3A848137, 0x3A84BF20, 0x3A84FC87, 0x3A853965, 0x3A8575C3, 0x3A85B19F, 0x3A85ECFB, 0x3A8627D5, 0x3A866238, 0x3A869C22, 0x3A86D59D, 0x3A870E96, 0x3A874720, 0x3A877F3B, 0x3A87B6E5, 0x3A87EE21, 0x3A8824F4, 0x3A885B59, 0x3A889156, 0x3A88C6E3, 0x3A88FC13, 0x3A8930DB, 0x3A896544, 0x3A899946, 0x3A89CCF3, 0x3A8A0038, 0x3A8A331F, 0x3A8A65A8, 0x3A8A97DA, 0x3A8AC9B7, 0x3A8AFB35, 0x3A8B2C5D, 0x3A8B5D30, 0x3A8B8DB5, 0x3A8BBDDB, 0x3A8BEDB4, 0x3A8C1D40, 0x3A8C4C76, 0x3A8C7B5F, 0x3A8CA9F2, 0x3A8CD840, 0x3A8D0641, 0x3A8D33F4, 0x3A8D6163, 0x3A8D8E85, 0x3A8DBB59, 0x3A8DE7E8, 0x3A8E1433, 0x3A8E4039, 0x3A8E6BFA, 0x3A8E9777, 0x3A8EC2AF, 0x3A8EEDAA, 0x3A8F1859, 0x3A8F42CB, 0x3A8F6D01, 0x3A8F96F3, 0x3A8FC0A8, 0x3A8FEA21, 0x3A90135E, 0x3A903C5F, 0x3A90651B, 0x3A908DA4, 0x3A90B5F0, 0x3A90DE09, 0x3A9105DD, 0x3A912D7E, 0x3A9154EB, 0x3A917C1C, 0x3A91A31A, 0x3A91C9DB, 0x3A91F069, 0x3A9216CC, 0x3A923CF3, 0x3A9262DD, 0x3A92889D, 0x3A92AE32, 0x3A92D38A, 0x3A92F8AF, 0x3A931DAA, 0x3A934270, 0x3A93670C, 0x3A938B6B, 0x3A93AFA8, 0x3A93D3B2, 0x3A93F791, 0x3A941B3C, 0x3A943EBC, 0x3A946211, 0x3A948533, 0x3A94A832, 0x3A94CAFE, 0x3A94EDA7, 0x3A95101D, 0x3A953268, 0x3A955490, 0x3A95768E, 0x3A959861, 0x3A95BA08, 0x3A95DB8E, 0x3A95FCE8, 0x3A961E18, 0x3A963F25, 0x3A966007, 0x3A9680BE, 0x3A96A15B, 0x3A96C1CE, 0x3A96E215, 0x3A97023B, 0x3A97223D, 0x3A97421E, 0x3A9761D3, 0x3A978166, 0x3A97A0E0, 0x3A97C02E, 0x3A97DF52, 0x3A97FE5B, 0x3A981D43, 0x3A983C08, 0x3A985AAA, 0x3A98792B, 0x3A989791, 0x3A98B5CD, 0x3A98D3EE, 0x3A98F1EE, 0x3A990FCB, 0x3A992D85, 0x3A994B26, 0x3A9968A5, 0x3A99860A, 0x3A99A34C, 0x3A99C06C, 0x3A99DD72, 0x3A99FA5F, 0x3A9A1729, 0x3A9A33D1, 0x3A9A505F, 0x3A9A6CD3, 0x3A9A8925, 0x3A9AA55D, 0x3A9AC17C, 0x3A9ADD78, 0x3A9AF962, 0x3A9B152B, 0x3A9B30D1, 0x3A9B4C66, 0x3A9B67D9, 0x3A9B833A, 0x3A9B9E79, 0x3A9BB99E, 0x3A9BD4AA, 0x3A9BEF9B, 0x3A9C0A73, 0x3A9C2532, 0x3A9C3FD6, 0x3A9C5A61, 0x3A9C74D1, 0x3A9C8F31, 0x3A9CA96E, 0x3A9CC39B, 0x3A9CDDA4, 0x3A9CF79D, 0x3A9D117C, 0x3A9D2B41, 0x3A9D44F5, 0x3A9D5E8F, 0x3A9D780F, 0x3A9D9176, 0x3A9DAACB, 0x3A9DC407, 0x3A9DDD29, 0x3A9DF639, 0x3A9E0F30, 0x3A9E2816, 0x3A9E40E2, 0x3A9E5994, 0x3A9E7235, 0x3A9E8AC5, 0x3A9EA33B, 0x3A9EBB97, 0x3A9ED3E3, 0x3A9EEC1C, 0x3A9F043D, 0x3A9F1C43, 0x3A9F3441, 0x3A9F4C1C, 0x3A9F63EF, 0x3A9F7BA8, 0x3A9F9350, 0x3A9FAADE, 0x3A9FC264, 0x3A9FD9C7, 0x3A9FF122, 0x3AA00862, 0x3AA01F9B, 0x3AA036B1, 0x3AA04DBE, 0x3AA064BA, 0x3AA07B9C, 0x3AA0926D, 0x3AA0A92D, 0x3AA0BFDC, 0x3AA0D671, 0x3AA0ECFE, 0x3AA10370, 0x3AA119D2, 0x3AA1302B, 0x3AA1466A, 0x3AA15C98, 0x3AA172B5, 0x3AA188C0, 0x3AA19EBB, 0x3AA1B4A4, 0x3AA1CA7C, 0x3AA1E043, 0x3AA1F5F8, 0x3AA20B9D, 0x3AA22139, 0x3AA236BB, 0x3AA24C2C, 0x3AA26194, 0x3AA276E3, 0x3AA28C29, 0x3AA2A155, 0x3AA2B679, 0x3AA2CB8B, 0x3AA2E08D, 0x3AA2F585, 0x3AA30A64, 0x3AA31F3B, 0x3AA33400, 0x3AA348B4, 0x3AA35D57, 0x3AA371F1, 0x3AA3867A, 0x3AA39AF2, 0x3AA3AF58, 0x3AA3C3B6, 0x3AA3D803, 0x3AA3EC3F, 0x3AA4006A, 0x3AA4148C, 0x3AA4289C, 0x3AA43C9C, 0x3AA45093, 0x3AA46479, 0x3AA47856, 0x3AA48C1A, 0x3AA49FDD, 0x3AA4B387, 0x3AA4C728, 0x3AA4DAB8, 0x3AA4EE3F, 0x3AA501B5, 0x3AA51523, 0x3AA5287F, 0x3AA53BD3, 0x3AA54F0D, 0x3AA56247, 0x3AA57570, 0x3AA58888, 0x3AA59B97, 0x3AA5AE95, 0x3AA5C18A, 0x3AA5D46E, 0x3AA5E74A, 0x3AA5FA1D, 0x3AA60CD6, 0x3AA61F8F, 0x3AA63237, 0x3AA644CE, 0x3AA6575C, 0x3AA669E2, 0x3AA67C56, 0x3AA68EC2, 0x3AA6A125, 0x3AA6B377, 0x3AA6C5B8, 0x3AA6D7F1, 0x3AA6EA20, 0x3AA6FC47, 0x3AA70E5D, 0x3AA7206B, 0x3AA73267, 0x3AA7445B, 0x3AA75646, 0x3AA76820, 0x3AA779F1, 0x3AA78BB9, 0x3AA79D71, 0x3AA7AF28, 0x3AA7C0C6, 0x3AA7D264, 0x3AA7E3F0, 0x3AA7F574, 0x3AA806F0, 0x3AA8185A, 0x3AA829BB, 0x3AA83B14, 0x3AA84C65, 0x3AA85DA4, 0x3AA86EDB, 0x3AA88009, 0x3AA8912E, 0x3AA8A24B, 0x3AA8B357, 0x3AA8C45A, 0x3AA8D554, 0x3AA8E63E, 0x3AA8F727, 0x3AA907FF, 0x3AA918CF, 0x3AA92996, 0x3AA93A54, 0x3AA94B0A, 0x3AA95BAE, 0x3AA96C4B, 0x3AA97CDE, 0x3AA98D69, 0x3AA99DEB, 0x3AA9AE65, 0x3AA9BED6, 0x3AA9CF36, 0x3AA9DF96, 0x3AA9EFE4, 0x3AAA002A, 0x3AAA1068, 0x3AAA209D, 0x3AAA30C9, 0x3AAA40ED, 0x3AAA50FF, 0x3AAA6112, 0x3AAA7113, 0x3AAA8115, 0x3AAA9105, 0x3AAAA0F5, 0x3AAAB0D4, 0x3AAAC0AB, 0x3AAAD079, 0x3AAAE047, 0x3AAAF003, 0x3AAAFFB7, 0x3AAB0F63, 0x3AAB1F06, 0x3AAB2EA0, 0x3AAB3E32, 0x3AAB4DBB, 0x3AAB5D3B, 0x3AAB6CB3, 0x3AAB7C23, 0x3AAB8B8A, 0x3AAB9AE8, 0x3AABAA3D, 0x3AABB993, 0x3AABC8D7, 0x3AABD813, 0x3AABE746, 0x3AABF671, 0x3AAC059C, 0x3AAC14B5, 0x3AAC23C6, 0x3AAC32D7, 0x3AAC41D7, 0x3AAC50D6, 0x3AAC5FC5, 0x3AAC6EB3, 0x3AAC7D99, 0x3AAC8C77, 0x3AAC9B4B, 0x3AACAA18, 0x3AACB8DB, 0x3AACC796, 0x3AACD649, 0x3AACE4F2, 0x3AACF39C, 0x3AAD023D, 0x3AAD10CD, 0x3AAD1F5D, 0x3AAD2DE5, 0x3AAD3C64, 0x3AAD4ADA, 0x3AAD5950, 0x3AAD67B5, 0x3AAD761A, 0x3AAD846E, 0x3AAD92C2, 0x3AADA10E, 0x3AADAF59, 0x3AADBD93, 0x3AADCBC4, 0x3AADD9F6, 0x3AADE81F, 0x3AADF63F, 0x3AAE0457, 0x3AAE1266, 0x3AAE2075, 0x3AAE2E7C, 0xBF800000, 0x00000000, 0x39396DD5, 0x3992F4E5, 0x39B97208, 0x39D74D35, 0x39EFB277, 0x3A02297E, 0x3A0B18AB, 0x3A12FA2B, 0x3A1A06EF, 0x3A206796, 0x3A263A1D, 0x3A2B954B, 0x3A308AD7, 0x3A3528C6, 0x3A397A6C, 0x3A3D890A, 0x3A415C47, 0x3A44FA95, 0x3A48695D, 0x3A4BAD47, 0x3A4ECA4E, 0x3A51C3E9, 0x3A549D18, 0x3A575886, 0x3A59F886, 0x3A5C7F2A, 0x3A5EEE4A, 0x3A61478D, 0x3A638C6F, 0x3A65BE47, 0x3A67DE46, 0x3A69ED8B, 0x3A6BED12, 0x3A6DDDC7, 0x3A6FC07E, 0x3A7195FB, 0x3A735EF3, 0x3A751C0E, 0x3A76CDE5, 0x3A787506, 0x3A7A11F5, 0x3A7BA52D, 0x3A7D2F20, 0x3A7EB039, 0x3A80146E, 0x3A80CCB3, 0x3A818117, 0x3A8231C3, 0x3A82DEDE, 0x3A83888B, 0x3A842EF1, 0x3A84D226, 0x3A85724E, 0x3A860F8A, 0x3A86A9ED, 0x3A874197, 0x3A87D69B, 0x3A886912, 0x3A88F916, 0x3A8986B8, 0x3A8A1212, 0x3A8A9B2D, 0x3A8B2221, 0x3A8BA6F9, 0x3A8C29CD, 0x3A8CAAA6, 0x3A8D299F, 0x3A8DA6B6, 0x3A8E21FD, 0x3A8E9B8F, 0x3A8F136A, 0x3A8F8998, 0x3A8FFE32, 0x3A907138, 0x3A90E2B3, 0x3A9152BD, 0x3A91C14D, 0x3A922E7C, 0x3A929A43, 0x3A9304BB, 0x3A936DDB, 0x3A93D5BE, 0x3A943C5A, 0x3A94A1C9, 0x3A950603, 0x3A956911, 0x3A95CB03, 0x3A962BDA, 0x3A968B9D, 0x3A96EA4E, 0x3A9747F4, 0x3A97A499, 0x3A980045, 0x3A985AEF, 0x3A98B4B1, 0x3A990D7A, 0x3A996564, 0x3A99BC65, 0x3A9A1288, 0x3A9A67CB, 0x3A9ABC37, 0x3A9B0FD5, 0x3A9B62A5, 0x3A9BB4A7, 0x3A9C05E3, 0x3A9C565A, 0x3A9CA613, 0x3A9CF510, 0x3A9D4350, 0x3A9D90E4, 0x3A9DDDBB, 0x3A9E29EF, 0x3A9E756E, 0x3A9EC04A, 0x3A9F0A7A, 0x3A9F5410, 0x3A9F9CFA, 0x3A9FE552, 0x3AA02D07, 0x3AA07429, 0x3AA0BAB1, 0x3AA100A7, 0x3AA1460B, 0x3AA18AE6, 0x3AA1CF2E, 0x3AA212ED, 0x3AA25623, 0x3AA298D8, 0x3AA2DB03, 0x3AA31CAE, 0x3AA35DE0, 0x3AA39E91, 0x3AA3DEC2, 0x3AA41E7A, 0x3AA45DBA, 0x3AA49C82, 0x3AA4DADA, 0x3AA518BA, 0x3AA5562A, 0x3AA5932B, 0x3AA5CFBB, 0x3AA60BE5, 0x3AA6479F, 0x3AA682EA, 0x3AA6BDD6, 0x3AA6F852, 0x3AA73270, 0x3AA76C26, 0x3AA7A57F, 0x3AA7DE70, 0x3AA81702, 0x3AA84F36, 0x3AA8870C, 0x3AA8BE83, 0x3AA8F5A4, 0x3AA92C67, 0x3AA962D4, 0x3AA998E3, 0x3AA9CEA4, 0x3AAA0406, 0x3AAA391B, 0x3AAA6DDB, 0x3AAAA244, 0x3AAAD660, 0x3AAB0A27, 0x3AAB3DA0, 0x3AAB70CB, 0x3AABA3AA, 0x3AABD63B, 0x3AAC087E, 0x3AAC3A7D, 0x3AAC6C2F, 0x3AAC9D94, 0x3AACCEB3, 0x3AACFF86, 0x3AAD301C, 0x3AAD6065, 0x3AAD9069, 0x3AADC028, 0x3AADEFA3, 0x3AAE1ED9, 0x3AAE4DD3, 0x3AAE7C88, 0x3AAEAB01, 0x3AAED936, 0x3AAF0725, 0x3AAF34E1, 0x3AAF6259, 0x3AAF8F94, 0x3AAFBC93, 0x3AAFE956, 0x3AB015DD, 0x3AB04228, 0x3AB06E36, 0x3AB09A11, 0x3AB0C5B0, 0x3AB0F113, 0x3AB11C42, 0x3AB14735, 0x3AB171F5, 0x3AB19C81, 0x3AB1C6D9, 0x3AB1F0F6, 0x3AB21ADF, 0x3AB24494, 0x3AB26E16, 0x3AB29764, 0x3AB2C07F, 0x3AB2E96E, 0x3AB31222, 0x3AB33AAA, 0x3AB36300, 0x3AB38B2A, 0x3AB3B320, 0x3AB3DAE3, 0x3AB4027C, 0x3AB429E0, 0x3AB45122, 0x3AB47828, 0x3AB49F0C, 0x3AB4C5BC, 0x3AB4EC42, 0x3AB5129C, 0x3AB538CB, 0x3AB55ED0, 0x3AB584A9, 0x3AB5AA58, 0x3AB5CFDB, 0x3AB5F534, 0x3AB61A61, 0x3AB63F6D, 0x3AB66444, 0x3AB688FA, 0x3AB6AD8D, 0x3AB6D1EC, 0x3AB6F632, 0x3AB71A44, 0x3AB73E34, 0x3AB76201, 0x3AB785A4, 0x3AB7A924, 0x3AB7CC79, 0x3AB7EFB5, 0x3AB812BD, 0x3AB835AB, 0x3AB8586E, 0x3AB87B0F, 0x3AB89D96, 0x3AB8BFE9, 0x3AB8E223, 0x3AB9043A, 0x3AB9262F, 0x3AB947FA, 0x3AB969AA, 0x3AB98B38, 0x3AB9ACA3, 0x3AB9CDED, 0x3AB9EF13, 0x3ABA1020, 0x3ABA310B, 0x3ABA51CB, 0x3ABA727A, 0x3ABA92FD, 0x3ABAB367, 0x3ABAD3AF, 0x3ABAF3DC, 0x3ABB13E8, 0x3ABB33D1, 0x3ABB53A0, 0x3ABB7356, 0x3ABB92E9, 0x3ABBB259, 0x3ABBD1B0, 0x3ABBF0EE, 0x3ABC1009, 0x3ABC2F0A, 0x3ABC4DF1, 0x3ABC6CB6, 0x3ABC8B61, 0x3ABCA9F3, 0x3ABCC862, 0x3ABCE6C0, 0x3ABD04FB, 0x3ABD231D, 0x3ABD411C, 0x3ABD5F0A, 0x3ABD7CDF, 0x3ABD9A91, 0x3ABDB832, 0x3ABDD5B0, 0x3ABDF31E, 0x3ABE1069, 0x3ABE2D9A, 0x3ABE4ABA, 0x3ABE67B8, 0x3ABE84A4, 0x3ABEA177, 0x3ABEBE30, 0x3ABEDACF, 0x3ABEF755, 0x3ABF13C0, 0x3ABF301B, 0x3ABF4C53, 0x3ABF687A, 0x3ABF8490, 0x3ABFA083, 0x3ABFBC65, 0x3ABFD82E, 0x3ABFF3E5, 0x3AC00F7A, 0x3AC02B06, 0x3AC04670, 0x3AC061C9, 0x3AC07D08, 0x3AC09836, 0x3AC0B34A, 0x3AC0CE4D, 0x3AC0E936, 0x3AC1040E, 0x3AC11ECC, 0x3AC13971, 0x3AC1540D, 0x3AC16E86, 0x3AC188F7, 0x3AC1A34E, 0x3AC1BD8B, 0x3AC1D7B7, 0x3AC1F1D2, 0x3AC20BD4, 0x3AC225C4, 0x3AC23FA2, 0x3AC25968, 0x3AC2731B, 0x3AC28CBE, 0x3AC2A650, 0x3AC2BFC7, 0x3AC2D92E, 0x3AC2F27B, 0x3AC30BBF, 0x3AC324E9, 0x3AC33E03, 0x3AC3570B, 0x3AC37002, 0x3AC388E8, 0x3AC3A1B3, 0x3AC3BA77, 0x3AC3D320, 0x3AC3EBB9, 0x3AC40440, 0x3AC41CB6, 0x3AC4351B, 0x3AC44D66, 0x3AC465A9, 0x3AC47DDA, 0x3AC495F2, 0x3AC4AE01, 0x3AC4C5FE, 0x3AC4DDE2, 0x3AC4F5BE, 0x3AC50D88, 0x3AC52539, 0x3AC53CE1, 0x3AC55477, 0x3AC56BFD, 0x3AC58371, 0x3AC59AD4, 0x3AC5B226, 0x3AC5C970, 0x3AC5E09F, 0x3AC5F7C6, 0x3AC60ED4, 0x3AC625D8, 0x3AC63CCC, 0x3AC653B7, 0x3AC66A88, 0x3AC68151, 0x3AC697FF, 0x3AC6AEA6, 0x3AC6C543, 0x3AC6DBC7, 0x3AC6F242, 0x3AC708AC, 0x3AC71F05, 0x3AC7354D, 0x3AC74B8C, 0x3AC761BA, 0x3AC777D7, 0x3AC78DEB, 0x3AC7A3EE, 0x3AC7B9E0, 0x3AC7CFC9, 0x3AC7E5A1, 0x3AC7FB68, 0x3AC81126, 0x3AC826D3, 0x3AC83C6F, 0x3AC85203, 0x3AC86785, 0x3AC87CF6, 0x3AC8925E, 0x3AC8A7BE, 0x3AC8BD0C, 0x3AC8D24A, 0x3AC8E776, 0x3AC8FC9A, 0x3AC911B5, 0x3AC926BF, 0x3AC93BB7, 0x3AC950A8, 0x3AC9658F, 0x3AC97A65, 0x3AC98F2B, 0x3AC9A3E7, 0x3AC9B893, 0x3AC9CD35, 0x3AC9E1D0, 0x3AC9F659, 0x3ACA0AD1, 0x3ACA1F40, 0x3ACA33A7, 0x3ACA47FC, 0x3ACA5C49, 0x3ACA7085, 0x3ACA84B8, 0x3ACA98DA, 0x3ACAACF3, 0x3ACAC104, 0x3ACAD504, 0x3ACAE8FB, 0x3ACAFCE9, 0x3ACB10C6, 0x3ACB2492, 0x3ACB385E, 0x3ACB4C19, 0x3ACB5FC3, 0x3ACB736D, 0x3ACB8705, 0x3ACB9A8C, 0x3ACBAE14, 0x3ACBC18A, 0x3ACBD4F8, 0x3ACBE854, 0x3ACBFBA8, 0x3ACC0EF3, 0x3ACC222D, 0x3ACC3567, 0x3ACC4890, 0x3ACC5BA8, 0x3ACC6EBF, 0x3ACC81C6, 0x3ACC94C4, 0x3ACCA7B0, 0x3ACCBA9D, 0x3ACCCD79, 0x3ACCE04C, 0x3ACCF30D, 0x3ACD05CF, 0x3ACD1880, 0x3ACD2B28, 0x3ACD3DC7, 0x3ACD505E, 0x3ACD62E4, 0x3ACD7561, 0x3ACD87D5, 0x3ACD9A41, 0x3ACDACA4, 0x3ACDBEFF, 0x3ACDD148, 0x3ACDE389, 0x3ACDF5C2, 0x3ACE07F1, 0x3ACE1A19, 0x3ACE2C2F, 0x3ACE3E45, 0x3ACE5049, 0x3ACE6246, 0x3ACE7439, 0x3ACE8624, 0x3ACE9807, 0x3ACEA9E0, 0x3ACEBBB2, 0x3ACECD72, 0x3ACEDF32, 0x3ACEF0E1, 0x3ACF0287, 0x3ACF142D, 0x3ACF25C3, 0x3ACF374F, 0x3ACF48D3, 0x3ACF5A4E, 0x3ACF6BB9, 0x3ACF7D23, 0x3ACF8E84, 0x3ACF9FDD, 0x3ACFB125, 0x3ACFC26D, 0x3ACFD3A4, 0x3ACFE4DA, 0x3ACFF608, 0x3AD00725, 0x3AD01842, 0x3AD0294E, 0x3AD03A51, 0x3AD04B54, 0x3AD05C46, 0x3AD06D38, 0x3AD07E18, 0x3AD08EF9, 0x3AD09FC9, 0x3AD0B098, 0xBF800000, 0x00000000, 0x3967339A, 0x39B73C13, 0x39E73A1D, 0x3A063A58, 0x3A15701D, 0x3A224C6B, 0x3A2D707C, 0x3A374447, 0x3A400ED0, 0x3A4802BE, 0x3A4F4571, 0x3A55F356, 0x3A5C227B, 0x3A61E465, 0x3A67472C, 0x3A6C565C, 0x3A711B86, 0x3A759EAA, 0x3A79E68F, 0x3A7DF8FD, 0x3A80ED77, 0x3A82C859, 0x3A848F02, 0x3A864326, 0x3A87E624, 0x3A89795D, 0x3A8AFDE4, 0x3A8C74D4, 0x3A8DDF04, 0x3A8F3D5B, 0x3A90908F, 0x3A91D953, 0x3A93184B, 0x3A944E09, 0x3A957B05, 0x3A969FC8, 0x3A97BCB9, 0x3A98D241, 0x3A99E0C5, 0x3A9AE89C, 0x3A9BEA1B, 0x3A9CE587, 0x3A9DDB2E, 0x3A9ECB54, 0x3A9FB62D, 0x3AA09BFE, 0x3AA17CF0, 0x3AA2594B, 0x3AA3312E, 0x3AA404C6, 0x3AA4D446, 0x3AA59FD1, 0x3AA66791, 0x3AA72BA8, 0x3AA7EC32, 0x3AA8A957, 0x3AA96333, 0x3AAA19DE, 0x3AAACD7C, 0x3AAB7E1E, 0x3AAC2BE5, 0x3AACD6E3, 0x3AAD7F2A, 0x3AAE24DB, 0x3AAEC808, 0x3AAF68B9, 0x3AB00711, 0x3AB0A30F, 0x3AB13CD7, 0x3AB1D470, 0x3AB269E4, 0x3AB2FD54, 0x3AB38EB8, 0x3AB41E2A, 0x3AB4ABBB, 0x3AB5376B, 0x3AB5C154, 0x3AB6497E, 0x3AB6CFE9, 0x3AB754AF, 0x3AB7D7D1, 0x3AB8595E, 0x3AB8D958, 0x3AB957D9, 0x3AB9D4D6, 0x3ABA506B, 0x3ABACA8E, 0x3ABB4351, 0x3ABBBABD, 0x3ABC30D9, 0x3ABCA5A7, 0x3ABD192E, 0x3ABD8B80, 0x3ABDFC9D, 0x3ABE6C84, 0x3ABEDB48, 0x3ABF48E7, 0x3ABFB56B, 0x3AC020D3, 0x3AC08B31, 0x3AC0F47C, 0x3AC15CC6, 0x3AC1C405, 0x3AC22A4B, 0x3AC28FA1, 0x3AC2F3FD, 0x3AC35769, 0x3AC3B9ED, 0x3AC41B8A, 0x3AC47C46, 0x3AC4DC24, 0x3AC53B22, 0x3AC59952, 0x3AC5F6AB, 0x3AC65336, 0x3AC6AEF3, 0x3AC709EA, 0x3AC7641C, 0x3AC7BD91, 0x3AC81649, 0x3AC86E3B, 0x3AC8C581, 0x3AC91C0B, 0x3AC971E8, 0x3AC9C711, 0x3ACA1B98, 0x3ACA6F69, 0x3ACAC298, 0x3ACB1523, 0x3ACB670B, 0x3ACBB858, 0x3ACC0903, 0x3ACC5912, 0x3ACCA890, 0x3ACCF773, 0x3ACD45BB, 0x3ACD937A, 0x3ACDE0A7, 0x3ACE2D4A, 0x3ACE795B, 0x3ACEC4EC, 0x3ACF0FEA, 0x3ACF5A68, 0x3ACFA465, 0x3ACFEDE1, 0x3AD036D3, 0x3AD07F4E, 0x3AD0C747, 0x3AD10EC8, 0x3AD155D1, 0x3AD19C62, 0x3AD1E27A, 0x3AD2281A, 0x3AD26D4B, 0x3AD2B20B, 0x3AD2F65D, 0x3AD33A35, 0x3AD37DA7, 0x3AD3C0B2, 0x3AD4034D, 0x3AD44578, 0x3AD48745, 0x3AD4C8A2, 0x3AD509A1, 0x3AD54A39, 0x3AD58A69, 0x3AD5CA3B, 0x3AD609AF, 0x3AD648C4, 0x3AD68772, 0x3AD6C5CA, 0x3AD703C4, 0x3AD7415F, 0x3AD77EA4, 0x3AD7BB8B, 0x3AD7F81B, 0x3AD83456, 0x3AD8703B, 0x3AD8ABCB, 0x3AD8E704, 0x3AD921E7, 0x3AD95C7D, 0x3AD996BD, 0x3AD9D0B0, 0x3ADA0A4D, 0x3ADA43A5, 0x3ADA7CA8, 0x3ADAB55D, 0x3ADAEDC4, 0x3ADB25E7, 0x3ADB5DB4, 0x3ADB953D, 0x3ADBCC80, 0x3ADC0377, 0x3ADC3A28, 0x3ADC708C, 0x3ADCA6AC, 0x3ADCDC87, 0x3ADD121D, 0x3ADD476E, 0x3ADD7C7B, 0x3ADDB14C, 0x3ADDE5CF, 0x3ADE1A16, 0x3ADE4E21, 0x3ADE81E7, 0x3ADEB569, 0x3ADEE8AE, 0x3ADF1BB7, 0x3ADF4E85, 0x3ADF810D, 0x3ADFB359, 0x3ADFE572, 0x3AE01746, 0x3AE048E7, 0x3AE07A43, 0x3AE0AB6B, 0x3AE0DC57, 0x3AE10D0F, 0x3AE13D8C, 0x3AE16DCC, 0x3AE19DD9, 0x3AE1CDB2, 0x3AE1FD4F, 0x3AE22CB9, 0x3AE25BEF, 0x3AE28AE9, 0x3AE2B9AF, 0x3AE2E84B, 0x3AE316AA, 0x3AE344D6, 0x3AE372D7, 0x3AE3A09B, 0x3AE3CE35, 0x3AE3FB9B, 0x3AE428CE, 0x3AE455D5, 0x3AE482AA, 0x3AE4AF4A, 0x3AE4DBC0, 0x3AE50802, 0x3AE53419, 0x3AE56005, 0x3AE58BBE, 0x3AE5B74C, 0x3AE5E2A6, 0x3AE60DDE, 0x3AE638E2, 0x3AE663BC, 0x3AE68E6A, 0x3AE6B8ED, 0x3AE6E346, 0x3AE70D73, 0x3AE73776, 0x3AE7614E, 0x3AE78AFA, 0x3AE7B47C, 0x3AE7DDDB, 0x3AE80710, 0x3AE83019, 0x3AE858F8, 0x3AE881B4, 0x3AE8AA45, 0x3AE8D2B4, 0x3AE8FAF8, 0x3AE9231A, 0x3AE94B10, 0x3AE972E5, 0x3AE99A8E, 0x3AE9C215, 0x3AE9E971, 0x3AEA10B3, 0x3AEA37CA, 0x3AEA5EBF, 0x3AEA8589, 0x3AEAAC39, 0x3AEAD2BF, 0x3AEAF922, 0x3AEB1F62, 0x3AEB4580, 0x3AEB6B7C, 0x3AEB9155, 0x3AEBB70D, 0x3AEBDCA1, 0x3AEC0214, 0x3AEC2764, 0x3AEC4C91, 0x3AEC71A5, 0x3AEC968E, 0x3AECBB5D, 0x3AECE00A, 0x3AED049D, 0x3AED2905, 0x3AED4D53, 0x3AED7188, 0x3AED9592, 0x3AEDB981, 0x3AEDDD57, 0x3AEE010B, 0x3AEE249C, 0x3AEE4814, 0x3AEE6B69, 0x3AEE8EA5, 0x3AEEB1C6, 0x3AEED4C6, 0x3AEEF7A3, 0x3AEF1A6E, 0x3AEF3D18, 0x3AEF5F9F, 0x3AEF820C, 0x3AEFA460, 0x3AEFC699, 0x3AEFE8B1, 0x3AF00AB7, 0x3AF02C9B, 0x3AF04E5C, 0x3AF0700C, 0x3AF0919A, 0x3AF0B317, 0x3AF0D472, 0x3AF0F5B2, 0x3AF116D9, 0x3AF137E6, 0x3AF158D9, 0x3AF179B3, 0x3AF19A73, 0x3AF1BB19, 0x3AF1DBA5, 0x3AF1FC17, 0x3AF21C70, 0x3AF23CB8, 0x3AF25CDD, 0x3AF27CE8, 0x3AF29CE2, 0x3AF2BCC3, 0x3AF2DC8A, 0x3AF2FC36, 0x3AF31BCA, 0x3AF33B4C, 0x3AF35AB4, 0x3AF37A02, 0x3AF39937, 0x3AF3B85A, 0x3AF3D764, 0x3AF3F654, 0x3AF41533, 0x3AF433F8, 0x3AF452A3, 0x3AF4713D, 0x3AF48FBD, 0x3AF4AE2C, 0x3AF4CC81, 0x3AF4EABD, 0x3AF508E7, 0x3AF52700, 0x3AF544F7, 0x3AF562E5, 0x3AF580BA, 0x3AF59E75, 0x3AF5BC1E, 0x3AF5D9B6, 0x3AF5F735, 0x3AF6149A, 0x3AF631F6, 0x3AF64F30, 0x3AF66C61, 0x3AF68978, 0x3AF6A67F, 0x3AF6C36B, 0x3AF6E047, 0x3AF6FD11, 0x3AF719CA, 0x3AF73669, 0x3AF752F7, 0x3AF76F6B, 0x3AF78BD7, 0x3AF7A829, 0x3AF7C46A, 0x3AF7E091, 0x3AF7FCAF, 0x3AF818B4, 0x3AF834A7, 0x3AF85089, 0x3AF86C5A, 0x3AF8881A, 0x3AF8A3C0, 0x3AF8BF5E, 0x3AF8DAE1, 0x3AF8F654, 0x3AF911B5, 0x3AF92D06, 0x3AF94845, 0x3AF96373, 0x3AF97E8F, 0x3AF99992, 0x3AF9B48C, 0x3AF9CF76, 0x3AF9EA45, 0x3AFA050C, 0x3AFA1FC1, 0x3AFA3A5D, 0x3AFA54F0, 0x3AFA6F72, 0x3AFA89E3, 0x3AFAA443, 0x3AFABE91, 0x3AFAD8CF, 0x3AFAF2FB, 0x3AFB0D16, 0x3AFB2720, 0x3AFB4121, 0x3AFB5B08, 0x3AFB74E7, 0x3AFB8EB5, 0x3AFBA871, 0x3AFBC21D, 0x3AFBDBB7, 0x3AFBF548, 0x3AFC0EC0, 0x3AFC282F, 0x3AFC418D, 0x3AFC5ADA, 0x3AFC741E, 0x3AFC8D51, 0x3AFCA673, 0x3AFCBF84, 0x3AFCD883, 0x3AFCF17A, 0x3AFD0A60, 0x3AFD2334, 0x3AFD3C00, 0x3AFD54BB, 0x3AFD6D65, 0x3AFD85FD, 0x3AFD9E8D, 0x3AFDB70C, 0x3AFDCF79, 0x3AFDE7DE, 0x3AFE0032, 0x3AFE187D, 0x3AFE30B7, 0x3AFE48E0, 0x3AFE60F7, 0x3AFE7906, 0x3AFE910C, 0x3AFEA8F9, 0x3AFEC0E6, 0x3AFED8B9, 0x3AFEF083, 0x3AFF083C, 0x3AFF1FEC, 0x3AFF3794, 0x3AFF4F22, 0x3AFF66A8, 0x3AFF7E25, 0x3AFF9591, 0x3AFFACF4, 0x3AFFC446, 0x3AFFDB87, 0x3AFFF2BF, 0x3B0004F7, 0x3B001087, 0x3B001C11, 0x3B002794, 0x3B00330E, 0x3B003E83, 0x3B0049F4, 0x3B00555D, 0x3B0060C1, 0x3B006C21, 0x3B007774, 0x3B0082C7, 0x3B008E12, 0x3B009958, 0x3B00A496, 0x3B00AFCF, 0x3B00BB00, 0x3B00C62C, 0x3B00D154, 0x3B00DC74, 0x3B00E78F, 0x3B00F2A2, 0x3B00FDB0, 0x3B0108BA, 0x3B0113C0, 0x3B011EBD, 0x3B0129B2, 0x3B0134A7, 0x3B013F93, 0x3B014A7A, 0x3B015559, 0x3B016034, 0x3B016B0B, 0x3B0175D9, 0x3B0180A7, 0x3B018B68, 0x3B019629, 0x3B01A0E1, 0x3B01AB96, 0x3B01B645, 0x3B01C0F1, 0x3B01CB94, 0x3B01D633, 0x3B01E0CD, 0x3B01EB5F, 0x3B01F5ED, 0x3B020076, 0x3B020AFB, 0x3B021577, 0x3B021FF3, 0xBF800000, 0x00000000, 0x3B8E43B4, 0x3BE1C520, 0x3C0E92C4, 0x3C25A35D, 0x3C3881DC, 0x3C487A58, 0x3C565313, 0x3C628C3C, 0x3C6D7D51, 0x3C7764C6, 0x3C803864, 0x3C84623A, 0x3C883D81, 0x3C8BD50B, 0x3C8F3191, 0x3C925A3B, 0x3C9554F1, 0x3C9826A8, 0x3C9AD391, 0x3C9D5F41, 0x3C9FCCCF, 0x3CA21EE4, 0x3CA457D9, 0x3CA679B2, 0x3CA8864C, 0x3CAA7F30, 0x3CAC65DA, 0x3CAE3B87, 0x3CB00160, 0x3CB1B86F, 0x3CB361A7, 0x3CB4FDD9, 0x3CB68DD1, 0x3CB81245, 0x3CB98BD8, 0x3CBAFB23, 0x3CBC60AE, 0x3CBDBCFF, 0x3CBF1091, 0x3CC05BCB, 0x3CC19F17, 0x3CC2DAD1, 0x3CC40F54, 0x3CC53CF6, 0x3CC663FD, 0x3CC784B9, 0x3CC89F6C, 0x3CC9B454, 0x3CCAC3A8, 0x3CCBCDA9, 0x3CCCD286, 0x3CCDD271, 0x3CCECD9E, 0x3CCFC433, 0x3CD0B661, 0x3CD1A44D, 0x3CD28E1D, 0x3CD373F0, 0x3CD455EE, 0x3CD53435, 0x3CD60EE5, 0x3CD6E61B, 0x3CD7B9F0, 0x3CD88A86, 0x3CD957F0, 0x3CDA224B, 0x3CDAE9A6, 0x3CDBAE1C, 0x3CDC6FC8, 0x3CDD2EB5, 0x3CDDEAFD, 0x3CDEA4B1, 0x3CDF5BE0, 0x3CE0109C, 0x3CE0C2F9, 0x3CE17307, 0x3CE220D2, 0x3CE2CC68, 0x3CE375DC, 0x3CE41D36, 0x3CE4C282, 0x3CE565D6, 0x3CE60736, 0x3CE6A6AD, 0x3CE74452, 0x3CE7E01E, 0x3CE87A2D, 0x3CE9127E, 0x3CE9A91C, 0x3CEA3E12, 0x3CEAD16A, 0x3CEB6330, 0x3CEBF369, 0x3CEC821F, 0x3CED0F52, 0x3CED9B19, 0x3CEE256D, 0x3CEEAE5E, 0x3CEF35F3, 0x3CEFBC2B, 0x3CF0411B, 0x3CF0C4B9, 0x3CF1471A, 0x3CF1C83A, 0x3CF24821, 0x3CF2C6D7, 0x3CF34466, 0x3CF3C0C7, 0x3CF43C0D, 0x3CF4B635, 0x3CF52F47, 0x3CF5A747, 0x3CF61E3A, 0x3CF69426, 0x3CF7090B, 0x3CF77CF4, 0x3CF7EFE1, 0x3CF861D6, 0x3CF8D2DA, 0x3CF942ED, 0x3CF9B218, 0x3CFA205D, 0x3CFA8DBB, 0x3CFAFA3C, 0x3CFB65E2, 0x3CFBD0AB, 0x3CFC3AA4, 0x3CFCA3CA, 0x3CFD0C20, 0x3CFD73A9, 0x3CFDDA6C, 0x3CFE406D, 0x3CFEA5A8, 0x3CFF0A21, 0x3CFF6DE4, 0x3CFFD0E6, 0x3D00199B, 0x3D004A68, 0x3D007ADA, 0x3D00AAF6, 0x3D00DABC, 0x3D010A2C, 0x3D013948, 0x3D016812, 0x3D019688, 0x3D01C4AE, 0x3D01F286, 0x3D022010, 0x3D024D4A, 0x3D027A39, 0x3D02A6DC, 0x3D02D334, 0x3D02FF44, 0x3D032B0B, 0x3D035689, 0x3D0381C2, 0x3D03ACB3, 0x3D03D760, 0x3D0401CA, 0x3D042BF1, 0x3D0455D5, 0x3D047F76, 0x3D04A8D9, 0x3D04D1FA, 0x3D04FADC, 0x3D052380, 0x3D054BE7, 0x3D057410, 0x3D059BFC, 0x3D05C3AC, 0x3D05EB24, 0x3D061261, 0x3D063962, 0x3D06602C, 0x3D0686BD, 0x3D06AD18, 0x3D06D33B, 0x3D06F926, 0x3D071EDE, 0x3D074460, 0x3D0769AC, 0x3D078EC5, 0x3D07B3AB, 0x3D07D85E, 0x3D07FCDF, 0x3D08212C, 0x3D08454C, 0x3D086938, 0x3D088CF4, 0x3D08B080, 0x3D08D3DF, 0x3D08F70D, 0x3D091A0D, 0x3D093CE0, 0x3D095F85, 0x3D0981FC, 0x3D09A449, 0x3D09C66B, 0x3D09E85E, 0x3D0A0A27, 0x3D0A2BC8, 0x3D0A4D3B, 0x3D0A6E86, 0x3D0A8FA9, 0x3D0AB0A0, 0x3D0AD170, 0x3D0AF217, 0x3D0B1298, 0x3D0B32EF, 0x3D0B5320, 0x3D0B732B, 0x3D0B930E, 0x3D0BB2CE, 0x3D0BD266, 0x3D0BF1D9, 0x3D0C1128, 0x3D0C3052, 0x3D0C4F56, 0x3D0C6E38, 0x3D0C8CF6, 0x3D0CAB8F, 0x3D0CCA08, 0x3D0CE85B, 0x3D0D068E, 0x3D0D249E, 0x3D0D428E, 0x3D0D605B, 0x3D0D7E05, 0x3D0D9B92, 0x3D0DB8FB, 0x3D0DD645, 0x3D0DF370, 0x3D0E1079, 0x3D0E2D65, 0x3D0E4A30, 0x3D0E66DB, 0x3D0E8369, 0x3D0E9FD9, 0x3D0EBC2B, 0x3D0ED85D, 0x3D0EF472, 0x3D0F106C, 0x3D0F2C46, 0x3D0F4804, 0x3D0F63A6, 0x3D0F7F29, 0x3D0F9A92, 0x3D0FB5DE, 0x3D0FD10E, 0x3D0FEC24, 0x3D10071C, 0x3D1021F9, 0x3D103CBE, 0x3D105766, 0x3D1071F3, 0x3D108C68, 0x3D10A6C1, 0x3D10C100, 0x3D10DB27, 0x3D10F533, 0x3D110F24, 0x3D112900, 0x3D1142C0, 0x3D115C69, 0x3D1175F7, 0x3D118F6F, 0x3D11A8CD, 0x3D11C215, 0x3D11DB42, 0x3D11F459, 0x3D120D59, 0x3D122643, 0x3D123F15, 0x3D1257CE, 0x3D127070, 0x3D1288FF, 0x3D12A175, 0x3D12B9D4, 0x3D12D21D, 0x3D12EA50, 0x3D13026E, 0x3D131A77, 0x3D13326A, 0x3D134A47, 0x3D136210, 0x3D1379C2, 0x3D13915F, 0x3D13A8E7, 0x3D13C05C, 0x3D13D7BB, 0x3D13EF08, 0x3D14063F, 0x3D141D61, 0x3D143470, 0x3D144B6C, 0x3D146253, 0x3D147926, 0x3D148FE7, 0x3D14A693, 0x3D14BD2E, 0x3D14D3B4, 0x3D14EA28, 0x3D150088, 0x3D1516D6, 0x3D152D13, 0x3D15433B, 0x3D155953, 0x3D156F58, 0x3D15854B, 0x3D159B2A, 0x3D15B0FA, 0x3D15C6B6, 0x3D15DC60, 0x3D15F1FA, 0x3D160784, 0x3D161CFB, 0x3D163261, 0x3D1647B5, 0x3D165CF9, 0x3D16722D, 0x3D16874E, 0x3D169C5F, 0x3D16B160, 0x3D16C650, 0x3D16DB31, 0x3D16F001, 0x3D1704C2, 0x3D17196F, 0x3D172E0F, 0x3D17429F, 0x3D17571F, 0x3D176B8F, 0x3D177FF1, 0x3D179441, 0x3D17A883, 0x3D17BCB5, 0x3D17D0DA, 0x3D17E4EE, 0x3D17F8F3, 0x3D180CE7, 0x3D1820D1, 0x3D1834A7, 0x3D184871, 0x3D185C2D, 0x3D186FD9, 0x3D188377, 0x3D189708, 0x3D18AA89, 0x3D18BDFC, 0x3D18D163, 0x3D18E4B8, 0x3D18F801, 0x3D190B3C, 0x3D191E6A, 0x3D19318A, 0x3D19449D, 0x3D1957A2, 0x3D196A98, 0x3D197D82, 0x3D19905F, 0x3D19A32C, 0x3D19B5EF, 0x3D19C8A4, 0x3D19DB4B, 0x3D19EDE5, 0x3D1A0074, 0x3D1A12F4, 0x3D1A2568, 0x3D1A37CF, 0x3D1A4A2B, 0x3D1A5C7A, 0x3D1A6EBC, 0x3D1A80F0, 0x3D1A9319, 0x3D1AA535, 0x3D1AB746, 0x3D1AC94A, 0x3D1ADB43, 0x3D1AED2E, 0x3D1AFF0F, 0x3D1B10E3, 0x3D1B22AB, 0x3D1B3467, 0x3D1B461A, 0x3D1B57BD, 0x3D1B6958, 0x3D1B7AE5, 0x3D1B8C68, 0x3D1B9DDE, 0x3D1BAF4B, 0x3D1BC0AB, 0x3D1BD200, 0x3D1BE348, 0x3D1BF488, 0x3D1C05BA, 0x3D1C16E5, 0x3D1C2801, 0x3D1C3914, 0x3D1C4A1B, 0x3D1C5B18, 0x3D1C6C0C, 0x3D1C7CF3, 0x3D1C8DD0, 0x3D1C9EA2, 0x3D1CAF69, 0x3D1CC027, 0x3D1CD0D9, 0x3D1CE182, 0x3D1CF21E, 0x3D1D02B2, 0x3D1D133C, 0x3D1D23BD, 0x3D1D3431, 0x3D1D449C, 0x3D1D54FD, 0x3D1D6553, 0x3D1D75A2, 0x3D1D85E2, 0x3D1D961E, 0x3D1DA64C, 0x3D1DB672, 0x3D1DC68D, 0x3D1DD6A0, 0x3D1DE6A8, 0x3D1DF6A6, 0x3D1E069B, 0x3D1E1689, 0x3D1E266C, 0x3D1E3644, 0x3D1E4614, 0x3D1E55D9, 0x3D1E6596, 0x3D1E754C, 0x3D1E84F6, 0x3D1E9498, 0x3D1EA430, 0x3D1EB3C0, 0x3D1EC344, 0x3D1ED2C4, 0x3D1EE236, 0x3D1EF1A3, 0x3D1F0105, 0x3D1F105E, 0x3D1F1FB0, 0x3D1F2EF7, 0x3D1F3E39, 0x3D1F4D6D, 0x3D1F5C9C, 0x3D1F6BC3, 0x3D1F7ADF, 0x3D1F89F4, 0x3D1F9900, 0x3D1FA804, 0x3D1FB700, 0x3D1FC5F3, 0x3D1FD4DD, 0x3D1FE3C0, 0x3D1FF299, 0x3D20016A, 0x3D201033, 0x3D201EF7, 0x3D202DB0, 0x3D203C61, 0x3D204B09, 0x3D2059AA, 0x3D206845, 0x3D2076D6, 0x3D20855E, 0x3D2093E1, 0x3D20A25A, 0x3D20B0CD, 0x3D20BF35, 0x3D20CD98, 0x3D20DBF3, 0x3D20EA46, 0x3D20F891, 0x3D2106D3, 0x3D211511, 0x3D212346, 0x3D213173, 0x3D213F98, 0x3D214DB6, 0x3D215BCD, 0x3D2169DA, 0x3D2177E5, 0x3D2185E4, 0x3D2193DF, 0x3D21A1CE, 0x3D21AFBB, 0x3D21BD9D, 0x3D21CB7A, 0x3D21D94E, 0x3D21E71E, 0x3D21F4E5, 0x3D2202A4, 0x3D22105B, 0x3D221E0D, 0x3D222BB9, 0x3D22395E, 0x3D2246FA, 0x3D22548E, 0x3D226220, 0x3D226FA7, 0x3D227D28, 0x3D228AA2, 0x3D229816, 0x3D22A584, 0x3D22B2EB, 0x3D22C049, 0x3D22CDA3, 0xBF800000, 0x00000000, 0x3BB1ED50, 0x3C0D3A42, 0x3C3268FE, 0x3C4F4F08, 0x3C66F537, 0x3C7AFABD, 0x3C862BCE, 0x3C8DD617, 0x3C94B2EA, 0x3C9AE96B, 0x3CA09678, 0x3CA5D003, 0x3CAAA723, 0x3CAF295E, 0x3CB361A7, 0x3CB758E7, 0x3CBB1692, 0x3CBEA0D5, 0x3CC1FCF0, 0x3CC52F6A, 0x3CC83C14, 0x3CCB264F, 0x3CCDF104, 0x3CD09EC4, 0x3CD331D6, 0x3CD5AC34, 0x3CD80FAC, 0x3CDA5DDA, 0x3CDC982C, 0x3CDEBFF4, 0x3CE0D654, 0x3CE2DC63, 0x3CE4D319, 0x3CE6BB5B, 0x3CE895F6, 0x3CEA63A6, 0x3CEC2522, 0x3CEDDB0A, 0x3CEF85EF, 0x3CF1265E, 0x3CF2BCD6, 0x3CF449D4, 0x3CF5CDBD, 0x3CF74907, 0x3CF8BC09, 0x3CFA271E, 0x3CFB8AA0, 0x3CFCE6D6, 0x3CFE3C16, 0x3CFF8A9F, 0x3D00695C, 0x3D010A4F, 0x3D01A846, 0x3D02435C, 0x3D02DBAA, 0x3D03714F, 0x3D04045C, 0x3D0494ED, 0x3D052312, 0x3D05AEE4, 0x3D063874, 0x3D06BFD5, 0x3D074519, 0x3D07C84E, 0x3D084988, 0x3D08C8D4, 0x3D094642, 0x3D09C1DE, 0x3D0A3BB6, 0x3D0AB3D6, 0x3D0B2A4E, 0x3D0B9F23, 0x3D0C1268, 0x3D0C8422, 0x3D0CF45D, 0x3D0D6322, 0x3D0DD080, 0x3D0E3C79, 0x3D0EA71A, 0x3D0F106C, 0x3D0F7873, 0x3D0FDF3B, 0x3D1044C9, 0x3D10A928, 0x3D110C5D, 0x3D116E6D, 0x3D11CF60, 0x3D122F3F, 0x3D128E0D, 0x3D12EBD0, 0x3D13488F, 0x3D13A44F, 0x3D13FF16, 0x3D1458E8, 0x3D14B1CE, 0x3D1509C8, 0x3D1560DD, 0x3D15B711, 0x3D160C69, 0x3D1660EA, 0x3D16B498, 0x3D170773, 0x3D175986, 0x3D17AAD2, 0x3D17FB59, 0x3D184B20, 0x3D189A2B, 0x3D18E87C, 0x3D193617, 0x3D198301, 0x3D19CF3C, 0x3D1A1AC9, 0x3D1A65AF, 0x3D1AAFEF, 0x3D1AF989, 0x3D1B4284, 0x3D1B8AE3, 0x3D1BD2A4, 0x3D1C19CF, 0x3D1C6061, 0x3D1CA661, 0x3D1CEBD1, 0x3D1D30B0, 0x3D1D7506, 0x3D1DB8CE, 0x3D1DFC0F, 0x3D1E3ECA, 0x3D1E8102, 0x3D1EC2B9, 0x3D1F03EC, 0x3D1F44A4, 0x3D1F84E0, 0x3D1FC4A1, 0x3D2003EC, 0x3D2042BE, 0x3D20811A, 0x3D20BF05, 0x3D20FC7D, 0x3D213986, 0x3D21761F, 0x3D21B24D, 0x3D21EE11, 0x3D222968, 0x3D226459, 0x3D229EE1, 0x3D22D906, 0x3D2312C4, 0x3D234C23, 0x3D23851D, 0x3D23BDBA, 0x3D23F5F6, 0x3D242DD5, 0x3D246558, 0x3D249C7D, 0x3D24D34C, 0x3D2509C0, 0x3D253FDB, 0x3D2575A0, 0x3D25AB10, 0x3D25E02C, 0x3D2614F2, 0x3D264968, 0x3D267D8B, 0x3D26B160, 0x3D26E4E4, 0x3D271817, 0x3D274B00, 0x3D277D9B, 0x3D27AFE8, 0x3D27E1EC, 0x3D2813A5, 0x3D284516, 0x3D28763E, 0x3D28A721, 0x3D28D7BB, 0x3D29080F, 0x3D29381D, 0x3D2967E6, 0x3D29976E, 0x3D29C6B3, 0x3D29F5B2, 0x3D2A2474, 0x3D2A52F2, 0x3D2A8133, 0x3D2AAF33, 0x3D2ADCF6, 0x3D2B0A78, 0x3D2B37BF, 0x3D2B64C8, 0x3D2B9196, 0x3D2BBE2A, 0x3D2BEA7F, 0x3D2C169C, 0x3D2C4281, 0x3D2C6E2B, 0x3D2C999C, 0x3D2CC4D7, 0x3D2CEFDB, 0x3D2D1AA5, 0x3D2D453D, 0x3D2D6F9D, 0x3D2D99C7, 0x3D2DC3BD, 0x3D2DED81, 0x3D2E170F, 0x3D2E406A, 0x3D2E6992, 0x3D2E928A, 0x3D2EBB4F, 0x3D2EE3E3, 0x3D2F0C48, 0x3D2F3479, 0x3D2F5C7C, 0x3D2F844F, 0x3D2FABF5, 0x3D2FD36A, 0x3D2FFAB4, 0x3D3021CE, 0x3D3048BB, 0x3D306F7C, 0x3D309610, 0x3D30BC79, 0x3D30E2B4, 0x3D3108C4, 0x3D312EAC, 0x3D315466, 0x3D3179F8, 0x3D319F5F, 0x3D31C49E, 0x3D31E9B2, 0x3D320EA0, 0x3D323364, 0x3D325801, 0x3D327C74, 0x3D32A0C2, 0x3D32C4E9, 0x3D32E8E9, 0x3D330CC2, 0x3D333074, 0x3D335403, 0x3D33776C, 0x3D339AAF, 0x3D33BDCD, 0x3D33E0C5, 0x3D34039B, 0x3D34264D, 0x3D3448DD, 0x3D346B47, 0x3D348D8E, 0x3D34AFB2, 0x3D34D1B6, 0x3D34F398, 0x3D351556, 0x3D3536F1, 0x3D35586C, 0x3D3579C7, 0x3D359AFF, 0x3D35BC1A, 0x3D35DD11, 0x3D35FDE9, 0x3D361EA3, 0x3D363F3A, 0x3D365FB3, 0x3D36800C, 0x3D36A048, 0x3D36C064, 0x3D36E061, 0x3D370042, 0x3D372002, 0x3D373FA8, 0x3D375F2D, 0x3D377E94, 0x3D379DE1, 0x3D37BD0E, 0x3D37DC1F, 0x3D37FB16, 0x3D3819F0, 0x3D3838AC, 0x3D38574D, 0x3D3875D3, 0x3D38943B, 0x3D38B289, 0x3D38D0BC, 0x3D38EED4, 0x3D390CD1, 0x3D392AB4, 0x3D39487B, 0x3D39662B, 0x3D3983BF, 0x3D39A139, 0x3D39BE9B, 0x3D39DBE1, 0x3D39F90D, 0x3D3A1624, 0x3D3A331F, 0x3D3A5000, 0x3D3A6CCB, 0x3D3A897C, 0x3D3AA616, 0x3D3AC297, 0x3D3ADEFE, 0x3D3AFB51, 0x3D3B178B, 0x3D3B33AB, 0x3D3B4FB7, 0x3D3B6BA9, 0x3D3B8785, 0x3D3BA34C, 0x3D3BBEF8, 0x3D3BDA92, 0x3D3BF613, 0x3D3C117E, 0x3D3C2CD2, 0x3D3C4810, 0x3D3C633B, 0x3D3C7E4E, 0x3D3C9949, 0x3D3CB431, 0x3D3CCF03, 0x3D3CE9C0, 0x3D3D0468, 0x3D3D1EFD, 0x3D3D3979, 0x3D3D53E3, 0x3D3D6E38, 0x3D3D8879, 0x3D3DA2A3, 0x3D3DBCBC, 0x3D3DD6C0, 0x3D3DF0AE, 0x3D3E0A8A, 0x3D3E2453, 0x3D3E3E06, 0x3D3E57A7, 0x3D3E7135, 0x3D3E8AB0, 0x3D3EA415, 0x3D3EBD6B, 0x3D3ED6AA, 0x3D3EEFDA, 0x3D3F08F5, 0x3D3F21FC, 0x3D3F3AF4, 0x3D3F53D8, 0x3D3F6CA7, 0x3D3F8569, 0x3D3F9E15, 0x3D3FB6B2, 0x3D3FCF38, 0x3D3FE7B2, 0x3D400018, 0x3D40186C, 0x3D4030AF, 0x3D4048E0, 0x3D406101, 0x3D40790F, 0x3D40910D, 0x3D40A8FA, 0x3D40C0D5, 0x3D40D8A0, 0x3D40F05B, 0x3D410805, 0x3D411F9D, 0x3D413728, 0x3D414E9F, 0x3D416609, 0x3D417D61, 0x3D4194A8, 0x3D41ABDF, 0x3D41C309, 0x3D41DA20, 0x3D41F129, 0x3D420823, 0x3D421F09, 0x3D4235E5, 0x3D424CAE, 0x3D42636A, 0x3D427A16, 0x3D4290B1, 0x3D42A73F, 0x3D42BDBD, 0x3D42D42E, 0x3D42EA8E, 0x3D4300E1, 0x3D431724, 0x3D432D57, 0x3D43437C, 0x3D435994, 0x3D436F9E, 0x3D438599, 0x3D439B86, 0x3D43B163, 0x3D43C732, 0x3D43DCF4, 0x3D43F2A9, 0x3D440850, 0x3D441DE7, 0x3D443373, 0x3D4448F0, 0x3D445E5F, 0x3D4473C0, 0x3D448917, 0x3D449E5D, 0x3D44B396, 0x3D44C8C2, 0x3D44DDE0, 0x3D44F2F4, 0x3D4507F7, 0x3D451CF0, 0x3D4531D9, 0x3D4546B6, 0x3D455B8A, 0x3D45704D, 0x3D458505, 0x3D4599B0, 0x3D45AE4D, 0x3D45C2DD, 0x3D45D762, 0x3D45EBDD, 0x3D460047, 0x3D4614A7, 0x3D4628FC, 0x3D463D44, 0x3D465180, 0x3D4665B0, 0x3D4679D2, 0x3D468DE9, 0x3D46A1F6, 0x3D46B5F5, 0x3D46C9E9, 0x3D46DDD0, 0x3D46F1AC, 0x3D47057D, 0x3D471941, 0x3D472CFD, 0x3D4740A9, 0x3D47544D, 0x3D4767E3, 0x3D477B6F, 0x3D478EF0, 0x3D47A266, 0x3D47B5D2, 0x3D47C930, 0x3D47DC85, 0x3D47EFCE, 0x3D48030C, 0x3D48163F, 0x3D482967, 0x3D483C85, 0x3D484F98, 0x3D4862A0, 0x3D48759D, 0x3D488890, 0x3D489B78, 0x3D48AE55, 0x3D48C12A, 0x3D48D3F2, 0x3D48E6AE, 0x3D48F963, 0x3D490C0D, 0x3D491EAD, 0x3D493142, 0x3D4943CC, 0x3D49564D, 0x3D4968C5, 0x3D497B31, 0x3D498D93, 0x3D499FEC, 0x3D49B23B, 0x3D49C47F, 0x3D49D6B9, 0x3D49E8EA, 0x3D49FB13, 0x3D4A0D2F, 0x3D4A1F43, 0x3D4A314F, 0x3D4A4350, 0x3D4A5546, 0x3D4A6734, 0x3D4A7918, 0x3D4A8AF3, 0x3D4A9CC4, 0x3D4AAE8D, 0x3D4AC04B, 0x3D4AD201, 0x3D4AE3AE, 0x3D4AF54F, 0x3D4B06EA, 0x3D4B187A, 0x3D4B2A02, 0x3D4B3B80, 0x3D4B4CF5, 0x3D4B5E63, 0x3D4B6FC5, 0x3D4B8120, 0x3D4B9273, 0x3D4BA3BA, 0x3D4BB4FD, 0x3D4BC632, 0x3D4BD761, 0x3D4BE886, 0x3D4BF9A6, 0x3D4C0AB8, 0x3D4C1BC5, 0x3D4C2CCA, 0x3D4C3DC4, 0x3D4C4EB5, 0x3D4C5F9F, 0x3D4C7081, 0x3D4C815B, 0xBF800000, 0x00000000, 0x3BED734F, 0x3C3C92CE, 0x3C6E4F89, 0x3C8A7F15, 0x3C9A5526, 0x3CA7BED1, 0x3CB361A7, 0x3CBDA89D, 0x3CC6DCD4, 0x3CCF3283, 0x3CD6D046, 0x3CDDD36A, 0x3CE452D0, 0x3CEA608C, 0x3CF00B40, 0x3CF55ED7, 0x3CFA6547, 0x3CFF26D7, 0x3D01D548, 0x3D03FB3D, 0x3D0607DA, 0x3D07FD65, 0x3D09DDCD, 0x3D0BAAC9, 0x3D0D65E2, 0x3D0F106C, 0x3D10AB99, 0x3D123882, 0x3D13B816, 0x3D152B38, 0x3D1692AE, 0x3D17EF35, 0x3D19416D, 0x3D1A89F2, 0x3D1BC94C, 0x3D1D0001, 0x3D1E2E7F, 0x3D1F5538, 0x3D20748D, 0x3D218CDB, 0x3D229E7B, 0x3D23A9BB, 0x3D24AEE9, 0x3D25AE45, 0x3D26A813, 0x3D279C92, 0x3D288BF5, 0x3D297679, 0x3D2A5C4A, 0x3D2B3D9B, 0x3D2C1A98, 0x3D2CF36B, 0x3D2DC83A, 0x3D2E992D, 0x3D2F6665, 0x3D303004, 0x3D30F62A, 0x3D31B8F8, 0x3D327888, 0x3D3334F6, 0x3D33EE5A, 0x3D34A4D0, 0x3D35586C, 0x3D360949, 0x3D36B77A, 0x3D376311, 0x3D380C26, 0x3D38B2C7, 0x3D39570C, 0x3D39F900, 0x3D3A98B8, 0x3D3B363F, 0x3D3BD1AB, 0x3D3C6B03, 0x3D3D025A, 0x3D3D97BB, 0x3D3E2B34, 0x3D3EBCD2, 0x3D3F4C9F, 0x3D3FDAA6, 0x3D4066F6, 0x3D40F195, 0x3D417A91, 0x3D4201F3, 0x3D4287C2, 0x3D430C09, 0x3D438ED3, 0x3D441025, 0x3D449008, 0x3D450E88, 0x3D458BA8, 0x3D460771, 0x3D4681EA, 0x3D46FB1C, 0x3D47730C, 0x3D47E9C1, 0x3D485F42, 0x3D48D394, 0x3D4946BE, 0x3D49B8C6, 0x3D4A29B2, 0x3D4A9984, 0x3D4B0847, 0x3D4B75FD, 0x3D4BE2AD, 0x3D4C4E57, 0x3D4CB906, 0x3D4D22BB, 0x3D4D8B7C, 0x3D4DF34B, 0x3D4E5A30, 0x3D4EC02D, 0x3D4F2544, 0x3D4F8980, 0x3D4FECDD, 0x3D504F61, 0x3D50B113, 0x3D5111F3, 0x3D517206, 0x3D51D14E, 0x3D522FD0, 0x3D528D8E, 0x3D52EA8E, 0x3D5346CF, 0x3D53A257, 0x3D53FD25, 0x3D545740, 0x3D54B0A9, 0x3D550964, 0x3D556174, 0x3D55B8D7, 0x3D560F94, 0x3D5665AD, 0x3D56BB25, 0x3D570FFA, 0x3D576435, 0x3D57B7D2, 0x3D580AD9, 0x3D585D47, 0x3D58AF21, 0x3D590067, 0x3D59511F, 0x3D59A147, 0x3D59F0E2, 0x3D5A3FF5, 0x3D5A8E7C, 0x3D5ADC80, 0x3D5B29FA, 0x3D5B76F4, 0x3D5BC36D, 0x3D5C0F63, 0x3D5C5ADD, 0x3D5CA5DB, 0x3D5CF05B, 0x3D5D3A66, 0x3D5D83F7, 0x3D5DCD10, 0x3D5E15B5, 0x3D5E5DE9, 0x3D5EA5A8, 0x3D5EECF8, 0x3D5F33DA, 0x3D5F7A4C, 0x3D5FC052, 0x3D6005ED, 0x3D604B1F, 0x3D608FE5, 0x3D60D449, 0x3D611843, 0x3D615BD8, 0x3D619F09, 0x3D61E1DA, 0x3D622448, 0x3D626654, 0x3D62A803, 0x3D62E951, 0x3D632A44, 0x3D636ADC, 0x3D63AB15, 0x3D63EAF7, 0x3D642A7F, 0x3D6469AF, 0x3D64A886, 0x3D64E70A, 0x3D652536, 0x3D65630E, 0x3D65A093, 0x3D65DDC5, 0x3D661AA7, 0x3D665735, 0x3D669375, 0x3D66CF65, 0x3D670B04, 0x3D674658, 0x3D678161, 0x3D67BC19, 0x3D67F689, 0x3D6830AE, 0x3D686A8A, 0x3D68A41B, 0x3D68DD64, 0x3D691667, 0x3D694F21, 0x3D698796, 0x3D69BFC5, 0x3D69F7B0, 0x3D6A2F56, 0x3D6A66B9, 0x3D6A9DD6, 0x3D6AD4B2, 0x3D6B0B4F, 0x3D6B41AA, 0x3D6B77C3, 0x3D6BAD9B, 0x3D6BE335, 0x3D6C1892, 0x3D6C4DAE, 0x3D6C8290, 0x3D6CB733, 0x3D6CEB99, 0x3D6D1FC3, 0x3D6D53B3, 0x3D6D8768, 0x3D6DBAE1, 0x3D6DEE20, 0x3D6E2128, 0x3D6E53F6, 0x3D6E868B, 0x3D6EB8E8, 0x3D6EEB10, 0x3D6F1CFE, 0x3D6F4EB8, 0x3D6F803B, 0x3D6FB189, 0x3D6FE2A1, 0x3D701384, 0x3D704436, 0x3D7074AF, 0x3D70A4F9, 0x3D70D50F, 0x3D7104F3, 0x3D7134A3, 0x3D716423, 0x3D719373, 0x3D71C290, 0x3D71F17F, 0x3D72203B, 0x3D724ECA, 0x3D727D28, 0x3D72AB59, 0x3D72D959, 0x3D73072C, 0x3D7334D1, 0x3D736248, 0x3D738F92, 0x3D73BCB0, 0x3D73E9A2, 0x3D741668, 0x3D744300, 0x3D746F71, 0x3D749BB3, 0x3D74C7CB, 0x3D74F3BA, 0x3D751F7F, 0x3D754B19, 0x3D75768A, 0x3D75A1D0, 0x3D75CCF1, 0x3D75F7E7, 0x3D7622B4, 0x3D764D59, 0x3D7677D9, 0x3D76A231, 0x3D76CC60, 0x3D76F669, 0x3D77204D, 0x3D774A09, 0x3D77739F, 0x3D779D10, 0x3D77C65B, 0x3D77EF83, 0x3D781883, 0x3D784160, 0x3D786A1A, 0x3D7892AE, 0x3D78BB1D, 0x3D78E369, 0x3D790B95, 0x3D79339B, 0x3D795B7E, 0x3D79833F, 0x3D79AADC, 0x3D79D257, 0x3D79F9B1, 0x3D7A20EB, 0x3D7A4800, 0x3D7A6EF7, 0x3D7A95CB, 0x3D7ABC7F, 0x3D7AE313, 0x3D7B0984, 0x3D7B2FD7, 0x3D7B560A, 0x3D7B7C1A, 0x3D7BA210, 0x3D7BC7E2, 0x3D7BED97, 0x3D7C132C, 0x3D7C38A3, 0x3D7C5DFA, 0x3D7C8333, 0x3D7CA84F, 0x3D7CCD4E, 0x3D7CF22F, 0x3D7D16EF, 0x3D7D3B95, 0x3D7D601D, 0x3D7D8488, 0x3D7DA8D5, 0x3D7DCD05, 0x3D7DF11A, 0x3D7E1511, 0x3D7E38EE, 0x3D7E5CAD, 0x3D7E8051, 0x3D7EA3DA, 0x3D7EC748, 0x3D7EEA99, 0x3D7F0DCF, 0x3D7F30EB, 0x3D7F53EB, 0x3D7F76D1, 0x3D7F999E, 0x3D7FBC4E, 0x3D7FDEE5, 0x3D8000B1, 0x3D8011E2, 0x3D802307, 0x3D80341F, 0x3D80452A, 0x3D805629, 0x3D80671B, 0x3D807800, 0x3D8088DA, 0x3D8099A6, 0x3D80AA66, 0x3D80BB1A, 0x3D80CBC2, 0x3D80DC5E, 0x3D80ECEE, 0x3D80FD72, 0x3D810DEA, 0x3D811E57, 0x3D812EB7, 0x3D813F0C, 0x3D814F56, 0x3D815F92, 0x3D816FC6, 0x3D817FEC, 0x3D819008, 0x3D81A019, 0x3D81B01D, 0x3D81C017, 0x3D81D005, 0x3D81DFEA, 0x3D81EFC2, 0x3D81FF90, 0x3D820F53, 0x3D821F0B, 0x3D822EB8, 0x3D823E5A, 0x3D824DF3, 0x3D825D80, 0x3D826D04, 0x3D827C7C, 0x3D828BEA, 0x3D829B4E, 0x3D82AAA8, 0x3D82B9F7, 0x3D82C93B, 0x3D82D876, 0x3D82E7A6, 0x3D82F6CD, 0x3D8305E9, 0x3D8314FC, 0x3D832406, 0x3D833306, 0x3D8341FB, 0x3D8350E5, 0x3D835FC8, 0x3D836E9F, 0x3D837D6F, 0x3D838C34, 0x3D839AF0, 0x3D83A9A2, 0x3D83B84A, 0x3D83C6EA, 0x3D83D580, 0x3D83E40E, 0x3D83F291, 0x3D84010C, 0x3D840F7D, 0x3D841DE6, 0x3D842C45, 0x3D843A9C, 0x3D8448E9, 0x3D84572D, 0x3D846569, 0x3D84739C, 0x3D8481C6, 0x3D848FE7, 0x3D849E01, 0x3D84AC10, 0x3D84BA18, 0x3D84C818, 0x3D84D60E, 0x3D84E3FC, 0x3D84F1E1, 0x3D84FFBF, 0x3D850D93, 0x3D851B60, 0x3D852923, 0x3D8536E0, 0x3D854494, 0x3D85523F, 0x3D855FE2, 0x3D856D7F, 0x3D857B11, 0x3D85889E, 0x3D859620, 0x3D85A39C, 0x3D85B10F, 0x3D85BE7B, 0x3D85CBDF, 0x3D85D93B, 0x3D85E690, 0x3D85F3DC, 0x3D860121, 0x3D860E5E, 0x3D861B94, 0x3D8628C2, 0x3D8635E9, 0x3D864308, 0x3D86501F, 0x3D865D30, 0x3D866A39, 0x3D867739, 0x3D868433, 0x3D869127, 0x3D869E12, 0x3D86AAF6, 0x3D86B7D2, 0x3D86C4A8, 0x3D86D177, 0x3D86DE3F, 0x3D86EAFF, 0x3D86F7B9, 0x3D87046A, 0x3D871116, 0x3D871DBA, 0x3D872A58, 0x3D8736EE, 0x3D87437E, 0x3D875006, 0x3D875C88, 0x3D876904, 0x3D877578, 0x3D8781E6, 0x3D878E4C, 0x3D879AAD, 0x3D87A706, 0x3D87B359, 0x3D87BFA6, 0x3D87CBEB, 0x3D87D82A, 0x3D87E463, 0x3D87F096, 0x3D87FCC1, 0x3D8808E7, 0x3D881506, 0x3D88211F, 0x3D882D30, 0x3D88393D, 0x3D884542, 0x3D885141, 0x3D885D3B, 0x3D88692D, 0x3D88751B, 0x3D888100, 0x3D888CE2, 0x3D8898BB, 0x3D88A490, 0x3D88B05E, 0x3D88BC25, 0x3D88C7E8, 0x3D88D3A4, 0x3D88DF5A, 0x3D88EB0A, 0x3D88F6B4, 0x3D890258, 0x3D890DF6, 0x3D89198F, 0x3D892522, 0x3D8930AF, 0x3D893C35, 0x3D8947B7, 0x3D895333, 0x3D895EA9, 0x3D896A18, 0x3D897583, 0x00010203, 0x04000102, 0x03040001, 0x02030400, 0x01020304, 0x00010203, 0x04050607, 0x08050607, 0x08050607, 0x08050607, 0x08050607, 0x08090A0B, 0x090A0B09, 0x0A0B090A, 0x0B090A0B, 0x00000000, 0x00010101, 0x01010202, 0x02020203, 0x03030303, 0x04040404, 0x04000000, 0x00010101, 0x01020202, 0x02030303, 0x03040404, 0x04000000, 0x01010102, 0x02020303, 0x03040404, 0x00000000, 0x00000000 + +glabel D_8007EFE0 +.word 0x00000003, 0x0000000B, 0x00000000, 0x00000009, 0x00002666, 0xFFFFD99A, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000003, 0x00000007, 0x00000CCC, 0xFFFFF334, 0x00003FFF, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x0000000A, 0x00001388, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00005000 + +glabel D_8007F048 +.word 0x00000004, 0x0000000E, 0x00000000, 0x00000009, 0x00002666, 0xFFFFD99A, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000002, 0x00000006, 0x00000CCC, 0xFFFFF334, 0x00003FFF, 0x00000000, 0x00000000, 0x00000000, 0x00000009, 0x0000000C, 0x00000CCC, 0xFFFFF334, 0x00003FFF, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x0000000D, 0x00001770, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00005000, 0x00000004, 0x00000011, 0x00000000, 0x0000000B, 0x00002666, 0xFFFFD99A, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000004, 0x00000009, 0x00000CCC, 0xFFFFF334, 0x00003FFF, 0x00000000, 0x00000000, 0x00000000, 0x0000000B, 0x0000000F, 0x00000CCC, 0xFFFFF334, 0x00003FFF, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000010, 0x00001F40, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00005000 + +glabel D_8007F158 +.word 0x00000001, 0x0000000E, 0x00000000, 0x0000000D, 0x00004E20, 0x00000000, 0x00007FFF, 0x00000000, 0x00000000, 0x00007FFF + +glabel D_8007F180 +.word 0x00000001, 0x00000003, 0x00000000, 0x00000001, 0x00004000, 0x00000000, 0x00007FFF, 0x00001DB0, 0x000002BC, 0x00000000 + +glabel D_8007F1A8 +.word 0x00000001, 0x00000003, 0x00000000, 0x00000001, 0x00000000, 0x00005FFF, 0x00007FFF, 0x0000017C, 0x000001F4, 0x00000000 + +glabel D_8007F1D0 +.word 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000 + +glabel D_8007F1F8 +.word 0x8007F1D0 + +glabel D_8007F1FC +.word 0x8007F1D0 + +glabel D_8007F200 +.word 0x8007F1D0 + +glabel D_8007F204 +.word 0x8007F1D0, 0x00000000, 0x00000000 + +glabel D_8007F210 +.word 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000 + +glabel D_8007F228 +.word 0xE0002000, 0x003278F0, 0x00328110, 0xE0002000, 0x00326410, 0x003278F0 + +glabel D_8007F240 +.word 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000 + +glabel D_8007F258 +.word 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000 + +glabel D_8007F270 +.word 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000 + +glabel D_8007F288 +.word 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000 + +glabel D_8007F2A0 +.word 0xE000C160, 0x00328110, 0x00328EA0, 0xE000C000, 0x00328EA0, 0x0032C110 + +glabel D_8007F2B8 +.word 0xE000E000, 0x0032C110, 0x0032C7A0, 0xE000E000, 0x00328EA0, 0x0032C110 + +glabel D_8007F2D0 +.word 0xE00101E8, 0x0032C7A0, 0x0032CEC0, 0xE0010000, 0x0032CEC0, 0x0032DD10 + +glabel D_8007F2E8 +.word 0xE0012204, 0x0032DD10, 0x0032E490, 0xE0012000, 0x0032CEC0, 0x0032DD10 + +glabel D_8007F300 +.word 0xE0014000, 0x0032E490, 0x0032EC50, 0xE0014000, 0x0032EC50, 0x0032EE30 + +glabel D_8007F318 +.word 0xE0016000, 0x0032EE30, 0x0032F580, 0xE0016000, 0x0032EC50, 0x0032EE30 + +glabel D_8007F330 +.word 0xE0018078, 0x0032F580, 0x0032FB50, 0xE0018000, 0x0032FB50, 0x0032FE30 + +glabel D_8007F348 +.word 0xE001A000, 0x0032FE30, 0x00330460, 0xE001A000, 0x00330460, 0x00330910 + +glabel D_8007F360 +.word 0xE001C000, 0x00330910, 0x00330F00, 0xE001C000, 0x00330F00, 0x00331940 + +glabel D_8007F378 +.word 0xE001E000, 0x00331940, 0x003326A0, 0xE001E000, 0x003326A0, 0x00333EC0 + +glabel D_8007F390 +.word 0xE00202CC, 0x00333EC0, 0x00334C70, 0xE0020000, 0x00334C70, 0x00337240 + +glabel D_8007F3A8 +.word 0xE0022000, 0x00337240, 0x00337FC0, 0xE0022000, 0x00337FC0, 0x00339250 + +glabel D_8007F3C0 +.word 0xE0024000, 0x00339250, 0x00339F60, 0xE0024000, 0x00339F60, 0x0033B180 + +glabel D_8007F3D8 +.word 0xE0026000, 0x0033B180, 0x0033BBD0, 0xE0026000, 0x0033BBD0, 0x0033CDF0 + +glabel D_8007F3F0 +.word 0xE0028000, 0x0033CDF0, 0x0033D610, 0xE0028000, 0x0033D610, 0x0033E8C0 + +glabel D_8007F408 +.word 0xE002A000, 0x0033E8C0, 0x0033F000, 0xE002A000, 0x0033F000, 0x0033FE80 + +glabel D_8007F420 +.word 0xE002C000, 0x0033FE80, 0x00340880, 0xE002C000, 0x00340880, 0x003419E0 + +glabel D_8007F438 +.word 0xE002E000, 0x003419E0, 0x00342140, 0xE002E000, 0x00328EA0, 0x0032C110 + +glabel D_8007F450 +.word 0xE0030000, 0x00342140, 0x00343040, 0xE0030000, 0x00343040, 0x00343680 + +glabel D_8007F468 +.word 0xE0032000, 0x00343680, 0x00343F70, 0xE0032000, 0x00343F70, 0x00344A10 + +glabel D_8007F480 +.word 0xE0034000, 0x00344A10, 0x003451E0, 0xE0034000, 0x003451E0, 0x003454E0 + +glabel D_8007F498 +.word 0xE0036000, 0x003454E0, 0x00345B40, 0xE0036000, 0x00345B40, 0x0034DD20 + +glabel D_8007F4B0 +.word 0xE0038000, 0x0034DD20, 0x0034E770, 0xE0038000, 0x0034E770, 0x0034EC80 + +glabel D_8007F4C8 +.word 0xE003A000, 0x0034EC80, 0x0034F4C0, 0xE003A000, 0x00328EA0, 0x0032C110 + +glabel D_8007F4E0 +.word 0xE003C000, 0x0034F4C0, 0x00350220, 0xE003C000, 0x00350220, 0x00352440 + +glabel D_8007F4F8 +.word 0xE003E000, 0x00352440, 0x00352CE0, 0xE003E000, 0x00352CE0, 0x00353300 + +glabel D_8007F510 +.word 0xE0040000, 0x00353300, 0x00353BB0, 0xE0040000, 0x00353BB0, 0x003547A0 + +glabel D_8007F528 +.word 0xE0042000, 0x003547A0, 0x00354F60, 0xE0042000, 0x00343040, 0x00343680 + +glabel D_8007F540 +.word 0xE0044000, 0x00354F60, 0x00355EE0, 0xE0044000, 0x00337FC0, 0x00339250 + +glabel D_8007F558 +.word 0xE0046000, 0x00355EE0, 0x00356530, 0xE0046000, 0x00356530, 0x00356980 + +glabel D_8007F570 +.word 0xE0048000, 0x00356980, 0x003573A0, 0xE0048000, 0x003573A0, 0x003584C0 + +glabel D_8007F588 +.word 0xE004A000, 0x003584C0, 0x003593B0, 0xE004A000, 0x003593B0, 0x00359F20 + +glabel D_8007F5A0 +.word 0xE004C000, 0x00359F20, 0x0035A5E0, 0xE004C000, 0x0035A5E0, 0x0035B9D0 + +glabel D_8007F5B8 +.word 0xE004E000, 0x0035B9D0, 0x0035BFD0, 0xE004E000, 0x00328EA0, 0x0032C110 + +glabel D_8007F5D0 +.word 0xE0050000, 0x0035BFD0, 0x0035C550, 0xE0050000, 0x0035C550, 0x0035CA80 + +glabel D_8007F5E8 +.word 0xE0052000, 0x0035CA80, 0x0035D510, 0xE0052000, 0x0035D510, 0x0035DA00 + +glabel D_8007F600 +.word 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000 + +glabel D_8007F618 +.word 0xE0056000, 0x0035DA00, 0x0035E920, 0xE0056000, 0x0033D610, 0x0033E8C0 + +glabel D_8007F630 +.word 0xE0058000, 0x0035E920, 0x0035F0E0, 0xE0058000, 0x0035F0E0, 0x003602C0 + +glabel D_8007F648 +.word 0xE005A000, 0x003602C0, 0x00360A30, 0xE005A000, 0x00360A30, 0x00360F40 + +glabel D_8007F660 +.word 0xE005C000, 0x00360F40, 0x00361670, 0xE005C000, 0x00361670, 0x003625C0 + +glabel D_8007F678 +.word 0xE005E000, 0x003625C0, 0x00362C50, 0xE005E000, 0x00362C50, 0x00363160 + +glabel D_8007F690 +.word 0xE0060000, 0x00363160, 0x003638C0, 0xE0060000, 0x003638C0, 0x00364300 + +glabel D_8007F6A8 +.word 0xE0062000, 0x00364300, 0x00364C00, 0xE0062000, 0x00364C00, 0x00364F10 + +glabel D_8007F6C0 +.word 0xE0064000, 0x00364F10, 0x003659B0, 0xE0064000, 0x003659B0, 0x00366030 + +glabel D_8007F6D8 +.word 0xE0066000, 0x00366030, 0x00366D60, 0xE0066000, 0x00366D60, 0x0036A8D0 + +glabel D_8007F6F0 +.word 0xE0068000, 0x0036A8D0, 0x0036AEE0, 0xE0068000, 0x0036AEE0, 0x0036D020 + +glabel D_8007F708 +.word 0xE006A1E8, 0x0036D020, 0x0036DF90, 0xE006A000, 0x0036DF90, 0x0036E1D0 + +glabel D_8007F720 +.word 0xE006C000, 0x0036E1D0, 0x0036ED60, 0xE006C000, 0x0036ED60, 0x00372790 + +glabel D_8007F738 +.word 0xE006E000, 0x00372790, 0x003733E0, 0xE006E000, 0x003733E0, 0x003740B0 + +glabel D_8007F750 +.word 0xE0070000, 0x003740B0, 0x00374E50, 0xE0070000, 0x00337FC0, 0x00339250 + +glabel D_8007F768 +.word 0xE0072000, 0x00374E50, 0x00375510, 0xE0072000, 0x00375510, 0x00376460 + +glabel D_8007F780 +.word 0xE0074000, 0x00376460, 0x00377070, 0xE0074000, 0x00337FC0, 0x00339250 + +glabel D_8007F798 +.word 0xE0076000, 0x00377070, 0x00377F80, 0xE0076000, 0x00377F80, 0x0037A3F0 + +glabel D_8007F7B0 +.word 0xE0078000, 0x0037A3F0, 0x0037ADD0, 0xE0078000, 0x0037ADD0, 0x0037C540 + +glabel D_8007F7C8 +.word 0xE007A000, 0x0037C540, 0x0037D180, 0xE007A000, 0x0037D180, 0x0037D490 + +glabel D_8007F7E0 +.word 0xE007C000, 0x0037D490, 0x0037D9D0, 0xE007C000, 0x0037D9D0, 0x0037F720 + +glabel D_8007F7F8 +.word 0xE007E000, 0x0037F720, 0x003803A0, 0xE007E000, 0x003803A0, 0x003812C0 + +glabel D_8007F810 +.word 0xE0080000, 0x003812C0, 0x00381E00, 0xE0080000, 0x00381E00, 0x00385640 + +glabel D_8007F828 +.word 0xE0082000, 0x00385640, 0x003863B0, 0xE0082000, 0x003863B0, 0x003889D0 + +glabel D_8007F840 +.word 0xE0084084, 0x003889D0, 0x00389850, 0xE0084000, 0x0037D9D0, 0x0037F720 + +glabel D_8007F858 +.word 0xE0086000, 0x00389850, 0x0038A350, 0xE0086000, 0x0038A350, 0x0038ADF0 + +glabel D_8007F870 +.word 0xE008817C, 0x0038ADF0, 0x0038BBA0, 0xE0088000, 0x0038BBA0, 0x0038C5F0 + +glabel D_8007F888 +.word 0xE008A188, 0x0038C5F0, 0x0038D070, 0xE008A000, 0x0038D070, 0x0038DE00 + +glabel D_8007F8A0 +.word 0xE008C000, 0x0038DE00, 0x0038E990, 0xE008C000, 0x0038E990, 0x0038EE60 + +glabel D_8007F8B8 +.word 0xE008E000, 0x0038EE60, 0x0038F710, 0xE008E000, 0x0038F710, 0x0038F900 + +glabel D_8007F8D0 +.word 0xE0090000, 0x0038F900, 0x003903D0, 0xE0090000, 0x003903D0, 0x00391D30 + +glabel D_8007F8E8 +.word 0xE0092000, 0x00391D30, 0x00392440, 0xE0092000, 0x00392440, 0x003928D0 + +glabel D_8007F900 +.word 0xE0094000, 0x003928D0, 0x003930A0, 0xE0094000, 0x003930A0, 0x00394280 + +glabel D_8007F918 +.word 0xE0096000, 0x00394280, 0x00394670, 0xE0096000, 0x00394670, 0x00395BB0 + +glabel D_8007F930 +.word 0xE0098000, 0x00395BB0, 0x003960F0, 0xE0098000, 0x003960F0, 0x003965B0 + +glabel D_8007F948 +.word 0xE009A000, 0x003965B0, 0x00397040, 0xE009A000, 0x00397040, 0x003981F0 + +glabel D_8007F960 +.word 0xE009C000, 0x003981F0, 0x00398BC0, 0xE009C000, 0x00398BC0, 0x0039FF20 + +glabel D_8007F978 +.word 0xE009E000, 0x0039FF20, 0x003A0D60, 0xE009E000, 0x003A0D60, 0x003A2290 + +glabel D_8007F990 +.word 0xE00A0000, 0x003A2290, 0x003A2440, 0xE00A0000, 0x003A2440, 0x003A2990 + +glabel D_8007F9A8 +.word 0xE00A2000, 0x003A2990, 0x003A33D0, 0xE00A2000, 0x003A33D0, 0x003A37E0 + +glabel D_8007F9C0 +.word 0xE00A4000, 0x003A37E0, 0x003A4320, 0xE00A4000, 0x003A4320, 0x003A5550 + +glabel D_8007F9D8 +.word 0xE00A6000, 0x003A5550, 0x003A5BE0, 0xE00A6000, 0x003A5BE0, 0x003A70F0 + +glabel D_8007F9F0 +.word 0xE00A8000, 0x003A70F0, 0x003A77A0, 0xE00A8000, 0x003A77A0, 0x003AA920 + +glabel D_8007FA08 +.word 0xE00AA000, 0x003AA920, 0x003AB030, 0xE00AA000, 0x003AB030, 0x003AEE20 + +glabel D_8007FA20 +.word 0xE00AC000, 0x003AEE20, 0x003AF700, 0xE00AC000, 0x003AF700, 0x003B2350 + +glabel D_8007FA38 +.word 0xE00AE000, 0x003B2350, 0x003B2D90, 0xE00AE000, 0x003B2D90, 0x003B3EB0 + +glabel D_8007FA50 +.word 0xE00B0000, 0x003B3EB0, 0x003B46A0, 0xE00B0000, 0x003B46A0, 0x003B4790 + +glabel D_8007FA68 +.word 0xE00B2000, 0x003B4790, 0x003B5340, 0xE00B2000, 0x003B5340, 0x003B5CF0 + +glabel D_8007FA80 +.word 0xE00B4000, 0x003B5CF0, 0x003B6BF0, 0xE00B4000, 0x003B6BF0, 0x003B7160 + +glabel D_8007FA98 +.word 0xE00B6000, 0x003B7160, 0x003B78D0, 0xE00B6000, 0x003B78D0, 0x003B7B80 + +glabel D_8007FAB0 +.word 0xE00B8000, 0x003B7B80, 0x003B8860, 0xE00B8000, 0x003B8860, 0x003B8BD0 + +glabel D_8007FAC8 +.word 0xE00BA000, 0x003B8BD0, 0x003B9A70, 0xE00BA000, 0x003B9A70, 0x003BA030 + +glabel D_8007FAE0 +.word 0xE00BC000, 0x003BA030, 0x003BAEA0, 0xE00BC000, 0x003BAEA0, 0x003BBF60 + +glabel D_8007FAF8 +.word 0xE00BE000, 0x003BBF60, 0x003BCA90, 0xE00BE000, 0x003BCA90, 0x003BCD60 + +glabel D_8007FB10 +.word 0xE00C0000, 0x003BCD60, 0x003BD9A0, 0xE00C0000, 0x003BD9A0, 0x003C11D0 + +glabel D_8007FB28 +.word 0xE00C2000, 0x003C11D0, 0x003C1BA0, 0xE00C2000, 0x003C1BA0, 0x003CADF0 + +glabel D_8007FB40 +.word 0xE00C4000, 0x003CADF0, 0x003CB890, 0xE00C4000, 0x003CB890, 0x003CC9E0 + +glabel D_8007FB58 +.word 0xE00C6000, 0x003CC9E0, 0x003CD6E0, 0xE00C6000, 0x003CD6E0, 0x003CF3A0 + +glabel D_8007FB70 +.word 0xE00C8000, 0x003CF3A0, 0x003CFAF0, 0xE00C8000, 0x003CFAF0, 0x003D0500 + +glabel D_8007FB88 +.word 0xE00CA000, 0x003D0500, 0x003D11E0, 0xE00CA000, 0x003D11E0, 0x003D1690 + +glabel D_8007FBA0 +.word 0xE00CC000, 0x003D1690, 0x003D2580, 0xE00CC000, 0x003D2580, 0x003D2AC0 + +glabel D_8007FBB8 +.word 0xE00CE000, 0x003D2AC0, 0x003D3930, 0xE00CE000, 0x003D3930, 0x003D3E20 + +glabel D_8007FBD0 +.word 0xE00D0000, 0x003D3E20, 0x003D4970, 0xE00D0000, 0x003593B0, 0x00359F20 + +glabel D_8007FBE8 +.word 0xE00D2000, 0x003D4970, 0x003D4E90, 0xE00D2000, 0x003D4E90, 0x003D5020 + +glabel D_8007FC00 +.word 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000 + +glabel D_8007FC18 +.word 0xE00D6000, 0x003D5020, 0x003D5F30, 0xE00D6000, 0x003D5F30, 0x003D67C0 + +glabel D_8007FC30 +.word 0xE00D8000, 0x003D67C0, 0x003D7040, 0xE00D8000, 0x003D7040, 0x003D7240 + +glabel D_8007FC48 +.word 0xE00DA000, 0x003D7240, 0x003D7770, 0xE00DA000, 0x003D7770, 0x003D7A70 + +glabel D_8007FC60 +.word 0xE00DC000, 0x003D7A70, 0x003D80C0, 0xE00DC000, 0x003D80C0, 0x003D8720 + +glabel D_8007FC78 +.word 0xE00DE000, 0x003D8720, 0x003D9100, 0xE00DE000, 0x003D9100, 0x003DB460 + +glabel D_8007FC90 +.word 0xE00E0000, 0x003DB460, 0x003DBF40, 0xE00E0000, 0x003DBF40, 0x003DC310 + +glabel D_8007FCA8 +.word 0xE00E2000, 0x003DC310, 0x003DCD50, 0xE00E2000, 0x003DCD50, 0x003DE000 + +glabel D_8007FCC0 +.word 0xE00E4000, 0x003DE000, 0x003DEE60, 0xE00E4000, 0x003DEE60, 0x003E0930 + +glabel D_8007FCD8 +.word 0xE00E6000, 0x003E0930, 0x003E12D0, 0xE00E6000, 0x003E12D0, 0x003E1690 + +glabel D_8007FCF0 +.word 0xE00E8000, 0x003E1690, 0x003E1CD0, 0xE00E8000, 0x003E1CD0, 0x003E1EE0 + +glabel D_8007FD08 +.word 0xE00EA000, 0x003E1EE0, 0x003E2960, 0xE00EA000, 0x003E2960, 0x003E43A0 + +glabel D_8007FD20 +.word 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000 + +glabel D_8007FD38 +.word 0xE010A000, 0x003E43A0, 0x003E5350, 0xE010A000, 0x003E5350, 0x003E54C0 + +glabel D_8007FD50 +.word 0xE010C000, 0x003E54C0, 0x003E5F30, 0xE010C000, 0x003E5F30, 0x003EB4E0 + +glabel D_8007FD68 +.word 0xE010E32C, 0x003EB4E0, 0x003EBE60, 0xE010E000, 0x003EBE60, 0x003F83F0 + +glabel D_8007FD80 +.word 0xE0110000, 0x003F83F0, 0x003F8CC0, 0xE0110000, 0x003F8CC0, 0x003F9E50 + +glabel D_8007FD98 +.word 0xE0112000, 0x003F9E50, 0x003FA4B0, 0xE0112000, 0x003FA4B0, 0x003FEAE0 + +glabel D_8007FDB0 +.word 0xE0114000, 0x003FEAE0, 0x003FF250, 0xE0114000, 0x003FF250, 0x00402640 + +glabel D_8007FDC8 +.word 0xE0116000, 0x00402640, 0x00403400, 0xE0116000, 0x003FA4B0, 0x003FEAE0 + +glabel D_8007FDE0 +.word 0xE0118000, 0x00403400, 0x00403BF0, 0xE0118000, 0x00403BF0, 0x00404220 + +glabel D_8007FDF8 +.word 0xE011A000, 0x00404220, 0x00404F40, 0xE011A000, 0x00404F40, 0x00406B40 + +glabel D_8007FE10 +.word 0xE011C000, 0x00406B40, 0x00407080, 0xE011C000, 0x00407080, 0x00409990 + +glabel D_8007FE28 +.word 0xE011E000, 0x00409990, 0x0040A1C0, 0xE011E000, 0x0040A1C0, 0x0040B3F0 + +glabel D_8007FE40 +.word 0xE0120000, 0x0040B3F0, 0x0040BBA0, 0xE0120000, 0x0040BBA0, 0x0040C5A0 + +glabel D_8007FE58 +.word 0xE0122000, 0x0040C5A0, 0x0040D290, 0xE0122000, 0x0040D290, 0x00412730 + +glabel D_8007FE70 +.word 0xE0124000, 0x00412730, 0x00413360, 0xE0124000, 0x00337FC0, 0x00339250 + +glabel D_8007FE88 +.word 0xE0126000, 0x00413360, 0x00413FA0, 0xE0126000, 0x00413FA0, 0x00414BA0 + +glabel D_8007FEA0 +.word 0xE0128000, 0x00414BA0, 0x00415060, 0xE0128000, 0x00415060, 0x00415D90, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00000000, 0x00000200, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000002, 0x00000004, 0x0000000C, 0x00000000, 0xFFFFFFFF, 0x0000000D, 0x00000001, 0x0002C7C0, 0x0002C8E0, 0x00000000, 0x00000000, 0x0000000C, 0x00000000, 0xFFFFFFFF, 0x0000000D, 0x00000001, 0x0002C7C0, 0x0002C8E0, 0x00000000, 0x00000000, 0x0000000C, 0x00000000, 0xFFFFFFFF, 0x0000000D, 0x00000001, 0x0002C7C0, 0x0002C8E0, 0x00000000, 0x00000000, 0x0000000C, 0x00000000, 0xFFFFFFFF, 0x0000000D, 0x00000001, 0x0002C7C0, 0x0002C8E0, 0x00000000, 0x00000000, 0x0000000C, 0x00000002, 0xFFFFFFFF, 0x0000000D, 0x00000001, 0x0002C900, 0x0002CA20, 0x00000000, 0x00000000, 0x0000000C, 0x00000002, 0xFFFFFFFF, 0x0000000D, 0x00000001, 0x0002CA40, 0x0002CB60, 0x00000000, 0x00000000, 0x0000000C, 0x00000002, 0xFFFFFFFF, 0x0000000D, 0x00000004, 0x0002CB80, 0x0002CCA0, 0x00000000, 0x00000000, 0x0000000C, 0x00000002, 0x00000004, 0x0000000D, 0x00000001, 0x0002C900, 0x0002CA20, 0x00000000, 0x00000000, 0x0000000C, 0x00000000, 0x00000003, 0x0000000D, 0x00000001, 0x0002C7C0, 0x0002C8E0, 0x00000000, 0x00000000, 0x0000000C, 0x00000000, 0xFFFFFFFF, 0x0000000D, 0x0000000E, 0x0002CCC0, 0x0002CDE0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000002, 0x0000000C, 0x00000000, 0xFFFFFFFF, 0x0000000D, 0x00000001, 0x0002C7C0, 0x0002C8E0, 0x00000000, 0x00000000, 0x0000000C, 0x00000002, 0xFFFFFFFF, 0x0000000D, 0x00000001, 0x0002C900, 0x0002CA20, 0x00000000, 0x00000000, 0x0000000C, 0x00000002, 0xFFFFFFFF, 0x0000000D, 0x00000001, 0x0002CA40, 0x0002CB60, 0x00000000, 0x00000000, 0x0000000C, 0x00000002, 0xFFFFFFFF, 0x0000000D, 0x00000004, 0x0002CB80, 0x0002CCA0, 0x00000000, 0x00000000, 0x0000000C, 0x00000002, 0x00000004, 0x0000000D, 0x00000001, 0x0002C900, 0x0002CA20, 0x00000000, 0x00000000, 0x0000000C, 0x00000000, 0x00000003, 0x0000000D, 0x00000001, 0x0002C7C0, 0x0002C8E0, 0x00000000, 0x00000000, 0x0000000C, 0x00000000, 0xFFFFFFFF, 0x0000000D, 0x00000002, 0x0002CCC0, 0x0002CDE0, 0x00000000, 0x00000000, 0x0000000C, 0x00000000, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0002C7C0, 0x0002C8E0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000002, 0x00000004, 0x0000000D, 0x0000003C, 0x0002C7C0, 0x0002C8E0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000002, 0x00000004, 0x0000000C, 0x00000000, 0x00000000, 0x0000000D, 0x00000001, 0x0002CE00, 0x0002CF20, 0x00000000, 0x00000000, 0x0000000C, 0x00000000, 0x00000000, 0x0000000D, 0x00000001, 0x0002CE00, 0x0002CF20, 0x00000000, 0x00000000, 0x0000000C, 0x00000000, 0x00000000, 0x0000000D, 0x00000001, 0x0002CE00, 0x0002CF20, 0x00000000, 0x00000000, 0x0000000C, 0x00000000, 0x00000000, 0x0000000D, 0x00000001, 0x0002CE00, 0x0002CF20, 0x00000000, 0x00000000, 0x0000000C, 0x00000000, 0xFFFFFFFF, 0x0000000D, 0x00000001, 0x0002CF40, 0x0002D060, 0x00000000, 0x00000000, 0x0000000C, 0x00000000, 0xFFFFFFFF, 0x0000000D, 0x00000001, 0x0002D080, 0x0002D1A0, 0x00000000, 0x00000000, 0x0000000C, 0x00000001, 0xFFFFFFFD, 0x0000000D, 0x00000004, 0x0002D1C0, 0x0002D2E0, 0x00000000, 0x00000000, 0x0000000C, 0x00000000, 0x00000004, 0x0000000D, 0x00000001, 0x0002CF40, 0x0002D060, 0x00000000, 0x00000000, 0x0000000C, 0x00000000, 0x00000004, 0x0000000D, 0x00000001, 0x0002CE00, 0x0002CF20, 0x00000000, 0x00000000, 0x0000000C, 0x00000000, 0x00000001, 0x0000000D, 0x0000000E, 0x0002D300, 0x0002D420, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000002, 0x0000000C, 0x00000000, 0x00000000, 0x0000000D, 0x00000001, 0x0002CE00, 0x0002CF20, 0x00000000, 0x00000000, 0x0000000C, 0x00000000, 0xFFFFFFFF, 0x0000000D, 0x00000001, 0x0002CF40, 0x0002D060, 0x00000000, 0x00000000, 0x0000000C, 0x00000000, 0xFFFFFFFF, 0x0000000D, 0x00000001, 0x0002D080, 0x0002D1A0, 0x00000000, 0x00000000, 0x0000000C, 0x00000001, 0xFFFFFFFD, 0x0000000D, 0x00000004, 0x0002D1C0, 0x0002D2E0, 0x00000000, 0x00000000, 0x0000000C, 0x00000000, 0x00000004, 0x0000000D, 0x00000001, 0x0002CF40, 0x0002D060, 0x00000000, 0x00000000, 0x0000000C, 0x00000000, 0x00000004, 0x0000000D, 0x00000001, 0x0002CE00, 0x0002CF20, 0x00000000, 0x00000000, 0x0000000C, 0x00000000, 0x00000001, 0x0000000D, 0x00000002, 0x0002D300, 0x0002D420, 0x00000000, 0x00000000, 0x0000000C, 0x00000000, 0x00000004, 0x00000004, 0x0000000D, 0x0000003C, 0x0002CE00, 0x0002CF20, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000002, 0x00000004, 0x0000000D, 0x0000003C, 0x0002CE00, 0x0002CF20, 0x00000000, 0x00000000, 0x00000003, 0x00000000 + +glabel D_800804F0 +.word 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00000000, 0x00000200, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00000220, 0x00000420, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00000440, 0x00000640, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00000660, 0x00000860, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00000880, 0x00000A80, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00000AA0, 0x00000CA0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00000CC0, 0x00000EC0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00000EE0, 0x000010E0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00001100, 0x00001300, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0002D940, 0x0002DB40, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0002DB80, 0x0002DD80, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0002DDC0, 0x0002DFC0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0002E000, 0x0002E200, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0002E240, 0x0002E440, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0002E480, 0x0002E680, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0002E6C0, 0x0002E8C0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000002, 0x00000004, 0x0000000D, 0x0000003C, 0x00030CE0, 0x00030E00, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000002, 0x00000004, 0x0000000D, 0x0000000A, 0x00030A60, 0x00030B80, 0x00000000, 0x00000000, 0x0000000D, 0x00000006, 0x00030BA0, 0x00030CC0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000002, 0x00000004, 0x00000015, 0x00000000, 0x0000000D, 0x00000003, 0x0002F5C0, 0x0002F6E0, 0x00000000, 0x00000000, 0x0000000D, 0x00000003, 0x0002F700, 0x0002F820, 0x00000000, 0x00000000, 0x0000000D, 0x00000003, 0x0002FAC0, 0x0002FBE0, 0x00000000, 0x00000000, 0x0000000D, 0x00000003, 0x0002FC00, 0x0002FD20, 0x00000000, 0x00000000, 0x0000000D, 0x00000003, 0x0002FD40, 0x0002FE60, 0x00000000, 0x00000000, 0x0000000D, 0x00000003, 0x0002FE80, 0x0002FFA0, 0x00000000, 0x00000000, 0x0000000D, 0x00000003, 0x0002FFC0, 0x000300E0, 0x00000000, 0x00000000, 0x0000000D, 0x00000003, 0x00030100, 0x00030220, 0x00000000, 0x00000000, 0x00000014, 0x00000064, 0x00000046, 0x00000015, 0x00000001, 0x0000000D, 0x00000003, 0x0002F5C0, 0x0002F6E0, 0x00000000, 0x00000000, 0x0000000D, 0x00000002, 0x0002F700, 0x0002F820, 0x00000000, 0x00000000, 0x0000000D, 0x00000001, 0x0002F840, 0x0002F960, 0x00000000, 0x00000000, 0x0000000D, 0x00000001, 0x0002F980, 0x0002FAA0, 0x00000000, 0x00000000, 0x0000000D, 0x00000002, 0x0002FAC0, 0x0002FBE0, 0x00000000, 0x00000000, 0x0000000D, 0x00000003, 0x0002FC00, 0x0002FD20, 0x00000000, 0x00000000, 0x0000000D, 0x00000003, 0x0002FD40, 0x0002FE60, 0x00000000, 0x00000000, 0x0000000D, 0x00000003, 0x0002FE80, 0x0002FFA0, 0x00000000, 0x00000000, 0x0000000D, 0x00000003, 0x0002FFC0, 0x000300E0, 0x00000000, 0x00000000, 0x0000000D, 0x00000003, 0x00030100, 0x00030220, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x0000000C, 0xFFFFFFF8, 0x00000000, 0x0000000D, 0x00000001, 0x00030240, 0x00030260, 0x00000000, 0x00000000, 0x0000000D, 0x00000001, 0x00030280, 0x000302A0, 0x00000000, 0x00000000, 0x0000000D, 0x00000001, 0x000302C0, 0x000302E0, 0x00000000, 0x00000000, 0x0000000D, 0x00000002, 0x000303C0, 0x000303E0, 0x00000000, 0x00000000, 0x0000000D, 0x00000001, 0x000302C0, 0x000302E0, 0x00000000, 0x00000000, 0x0000000D, 0x00000001, 0x00030300, 0x00030320, 0x00000000, 0x00000000, 0x0000000D, 0x00000001, 0x000303C0, 0x000303E0, 0x00000000, 0x00000000, 0x0000000D, 0x00000001, 0x00030340, 0x00030360, 0x00000000, 0x00000000, 0x0000000D, 0x00000001, 0x000303C0, 0x000303E0, 0x00000000, 0x00000000, 0x0000000D, 0x00000001, 0x00030380, 0x000303A0, 0x00000000, 0x00000000, 0x0000000D, 0x00000010, 0x000303C0, 0x000303E0, 0x00000000, 0x00000000, 0x00000000, 0x0000000C, 0x00000008, 0x00000008, 0x0000000D, 0x00000001, 0x00030240, 0x00030260, 0x00000000, 0x00000000, 0x0000000D, 0x00000001, 0x00030280, 0x000302A0, 0x00000000, 0x00000000, 0x0000000D, 0x00000001, 0x000302C0, 0x000302E0, 0x00000000, 0x00000000, 0x0000000D, 0x00000002, 0x000303C0, 0x000303E0, 0x00000000, 0x00000000, 0x0000000D, 0x00000001, 0x000302C0, 0x000302E0, 0x00000000, 0x00000000, 0x0000000D, 0x00000001, 0x00030300, 0x00030320, 0x00000000, 0x00000000, 0x0000000D, 0x00000001, 0x000303C0, 0x000303E0, 0x00000000, 0x00000000, 0x0000000D, 0x00000001, 0x00030340, 0x00030360, 0x00000000, 0x00000000, 0x0000000D, 0x00000001, 0x000303C0, 0x000303E0, 0x00000000, 0x00000000, 0x0000000D, 0x00000001, 0x00030380, 0x000303A0, 0x00000000, 0x00000000, 0x0000000D, 0x00000010, 0x000303C0, 0x000303E0, 0x00000000, 0x00000000, 0x00000000, 0x0000000C, 0xFFFFFFFC, 0x00000008, 0x0000000D, 0x00000001, 0x00030240, 0x00030260, 0x00000000, 0x00000000, 0x0000000D, 0x00000001, 0x00030280, 0x000302A0, 0x00000000, 0x00000000, 0x0000000D, 0x00000001, 0x000302C0, 0x000302E0, 0x00000000, 0x00000000, 0x0000000D, 0x00000002, 0x000303C0, 0x000303E0, 0x00000000, 0x00000000, 0x0000000D, 0x00000001, 0x000302C0, 0x000302E0, 0x00000000, 0x00000000, 0x0000000D, 0x00000001, 0x00030300, 0x00030320, 0x00000000, 0x00000000, 0x0000000D, 0x00000001, 0x000303C0, 0x000303E0, 0x00000000, 0x00000000, 0x0000000D, 0x00000001, 0x00030340, 0x00030360, 0x00000000, 0x00000000, 0x0000000D, 0x00000001, 0x000303C0, 0x000303E0, 0x00000000, 0x00000000, 0x0000000D, 0x00000001, 0x00030380, 0x000303A0, 0x00000000, 0x00000000, 0x0000000D, 0x00000010, 0x000303C0, 0x000303E0, 0x00000000, 0x00000000, 0x00000000, 0x0000000C, 0x00000006, 0xFFFFFFFA, 0x0000000D, 0x00000001, 0x00030240, 0x00030260, 0x00000000, 0x00000000, 0x0000000D, 0x00000001, 0x00030280, 0x000302A0, 0x00000000, 0x00000000, 0x0000000D, 0x00000001, 0x000302C0, 0x000302E0, 0x00000000, 0x00000000, 0x0000000D, 0x00000002, 0x000303C0, 0x000303E0, 0x00000000, 0x00000000, 0x0000000D, 0x00000001, 0x000302C0, 0x000302E0, 0x00000000, 0x00000000, 0x0000000D, 0x00000001, 0x00030300, 0x00030320, 0x00000000, 0x00000000, 0x0000000D, 0x00000001, 0x000303C0, 0x000303E0, 0x00000000, 0x00000000, 0x0000000D, 0x00000001, 0x00030340, 0x00030360, 0x00000000, 0x00000000, 0x0000000D, 0x00000001, 0x000303C0, 0x000303E0, 0x00000000, 0x00000000, 0x0000000D, 0x00000001, 0x00030380, 0x000303A0, 0x00000000, 0x00000000, 0x0000000D, 0x00000010, 0x000303C0, 0x000303E0, 0x00000000, 0x00000000, 0x00000000, 0x0000000C, 0x00000001, 0xFFFFFFF8, 0x0000000D, 0x00000001, 0x00030240, 0x00030260, 0x00000000, 0x00000000, 0x0000000D, 0x00000001, 0x00030280, 0x000302A0, 0x00000000, 0x00000000, 0x0000000D, 0x00000001, 0x000302C0, 0x000302E0, 0x00000000, 0x00000000, 0x0000000D, 0x00000002, 0x000303C0, 0x000303E0, 0x00000000, 0x00000000, 0x0000000D, 0x00000001, 0x000302C0, 0x000302E0, 0x00000000, 0x00000000, 0x0000000D, 0x00000001, 0x00030300, 0x00030320, 0x00000000, 0x00000000, 0x0000000D, 0x00000001, 0x000303C0, 0x000303E0, 0x00000000, 0x00000000, 0x0000000D, 0x00000001, 0x00030340, 0x00030360, 0x00000000, 0x00000000, 0x0000000D, 0x00000001, 0x000303C0, 0x000303E0, 0x00000000, 0x00000000, 0x0000000D, 0x00000001, 0x00030380, 0x000303A0, 0x00000000, 0x00000000, 0x0000000D, 0x00000010, 0x000303C0, 0x000303E0, 0x00000000, 0x00000000, 0x00000000, 0x00000008, 0x00000005, 0x00000000, 0x00000017, 0x00000005, 0x80080A4C, 0x80080B64, 0x80080C7C, 0x80080D94, 0x80080EAC, 0x00000000, 0x00000008, 0x00000005, 0x00000002, 0x00000004, 0x0000000D, 0x00000002, 0x00030E20, 0x00030F40, 0x00000000, 0x00000000, 0x0000000D, 0x00000002, 0x00030F60, 0x00031080, 0x00000000, 0x00000000, 0x0000000D, 0x00000002, 0x000310A0, 0x000311C0, 0x00000000, 0x00000000, 0x0000000D, 0x00000002, 0x000311E0, 0x00031300, 0x00000000, 0x00000000, 0x0000000D, 0x00000002, 0x00031320, 0x00031440, 0x00000000, 0x00000000, 0x0000000D, 0x00000002, 0x00031460, 0x00031580, 0x00000000, 0x00000000, 0x0000000D, 0x00000002, 0x000315A0, 0x000316C0, 0x00000000, 0x00000000, 0x0000000D, 0x00000002, 0x000316E0, 0x00031800, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000000, 0x00000004, 0x0000000D, 0x00000002, 0x00031CA0, 0x00031CC0, 0x00000000, 0x00000000, 0x0000000D, 0x00000002, 0x00031CE0, 0x00031D00, 0x00000000, 0x00000000, 0x0000000D, 0x00000002, 0x00031D20, 0x00031D40, 0x00000000, 0x00000000, 0x0000000D, 0x00000002, 0x00031D60, 0x00031D80, 0x00000000, 0x00000000, 0x0000000D, 0x00000002, 0x00031DA0, 0x00031DC0, 0x00000000, 0x00000000, 0x0000000D, 0x00000002, 0x00031DE0, 0x00031E00, 0x00000000, 0x00000000, 0x0000000D, 0x00000002, 0x00031E20, 0x00031E40, 0x00000000, 0x00000000, 0x0000000D, 0x00000002, 0x00031E60, 0x00031E80, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x00000008, 0x0002E900, 0x0002EB00, 0x00000000, 0x00000000, 0x0000000D, 0x00000005, 0x0002EB20, 0x0002ED20, 0x00000000, 0x00000000, 0x0000000D, 0x00000008, 0x0002ED40, 0x0002EF40, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x00000008, 0x0002EF60, 0x0002F160, 0x00000000, 0x00000000, 0x0000000D, 0x00000005, 0x0002F180, 0x0002F380, 0x00000000, 0x00000000, 0x0000000D, 0x00000008, 0x0002F3A0, 0x0002F5A0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000000C, 0x00030400, 0x00030600, 0x00000000, 0x00000000, 0x0000000D, 0x00000004, 0x00030620, 0x00030820, 0x00000000, 0x00000000, 0x0000000D, 0x0000000C, 0x00030840, 0x00030A40, 0x00000000, 0x00000000, 0x0000000D, 0x00000004, 0x00030620, 0x00030820, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00001320, 0x00001520, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00001540, 0x00001740, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00001760, 0x00001960, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00001980, 0x00001B80, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00001BA0, 0x00001DA0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00001DC0, 0x00001FC0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00001FE0, 0x000021E0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00002200, 0x00002400, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00009020, 0x00009220, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00009240, 0x00009440, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00009460, 0x00009660, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00009680, 0x00009880, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x000098A0, 0x00009AA0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00009AC0, 0x00009CC0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00009CE0, 0x00009EE0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00009F00, 0x0000A100, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0000A120, 0x0000A320, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0000A340, 0x0000A540, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0000A560, 0x0000A760, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0000A780, 0x0000A980, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0000A9A0, 0x0000ABA0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0000ABC0, 0x0000ADC0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0000ADE0, 0x0000AFE0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0000B000, 0x0000B200, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0000B220, 0x0000B420, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0000B440, 0x0000B640, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0000B660, 0x0000B860, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0000B880, 0x0000BA80, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0000BAA0, 0x0000BCA0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0000BCC0, 0x0000BEC0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0000BEE0, 0x0000C0E0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0000C100, 0x0000C300, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0000C320, 0x0000C520, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0000C540, 0x0000C740, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0000C760, 0x0000C960, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0000C980, 0x0000CB80, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0000CBA0, 0x0000CDA0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0000CDC0, 0x0000CFC0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0000CFE0, 0x0000D1E0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0000D200, 0x0000D400, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0000D420, 0x0000D620, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0000D640, 0x0000D840, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0000D860, 0x0000DA60, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0000DAA0, 0x0000DCA0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0000DCC0, 0x0000DEC0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0000DEE0, 0x0000E0E0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0000E100, 0x0000E300, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0000E320, 0x0000E520, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0000E540, 0x0000E740, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0000E760, 0x0000E960, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0000E980, 0x0000EB80, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0000EBC0, 0x0000EDC0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0000EDE0, 0x0000EFE0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0000F000, 0x0000F200, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0000F220, 0x0000F420, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0000F440, 0x0000F640, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0000F660, 0x0000F860, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0000F880, 0x0000FA80, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0000FAA0, 0x0000FCA0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0000FCE0, 0x0000FEE0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0000FF00, 0x00010100, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00010120, 0x00010320, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00010340, 0x00010540, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00010560, 0x00010760, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00010780, 0x00010980, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x000109A0, 0x00010BA0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00010BC0, 0x00010DC0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00010E00, 0x00011000, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00011020, 0x00011220, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00011240, 0x00011440, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00011460, 0x00011660, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00011680, 0x00011880, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x000118A0, 0x00011AA0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00011AC0, 0x00011CC0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00011CE0, 0x00011EE0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00011F20, 0x00012120, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00012140, 0x00012340, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00012360, 0x00012560, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00012580, 0x00012780, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x000127A0, 0x000129A0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x000129C0, 0x00012BC0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x000129C0, 0x00012BE0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00012C00, 0x00012E00, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00012C00, 0x00012E20, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00012E40, 0x00013040, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00012E40, 0x00013060, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00013080, 0x00013280, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00013080, 0x000132A0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x000132C0, 0x000134C0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x000132C0, 0x000134E0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00013500, 0x00013700, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00013500, 0x00013720, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00013740, 0x00013940, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00013740, 0x00013960, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00013980, 0x00013B80, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00013980, 0x00013BA0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00013BC0, 0x00013DC0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00013BC0, 0x00013DE0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00013E00, 0x00014000, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00013E00, 0x00014020, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00014040, 0x00014240, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00014040, 0x00014260, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00014280, 0x00014480, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00014280, 0x000144A0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x000144C0, 0x000146C0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x000144C0, 0x000146E0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00014700, 0x00014900, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00014700, 0x00014920, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00014940, 0x00014B40, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00014940, 0x00014B60, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00014B80, 0x00014D80, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00014B80, 0x00014DA0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00002420, 0x00002620, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00002420, 0x00002640, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00002660, 0x00002860, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00002660, 0x00002880, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x000028A0, 0x00002AA0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x000028A0, 0x00002AC0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00002AE0, 0x00002CE0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00002AE0, 0x00002D00, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00002D20, 0x00002F20, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00002D20, 0x00002F40, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00002F60, 0x00003160, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00002F60, 0x00003180, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x000031A0, 0x000033A0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x000031A0, 0x000033C0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x000033E0, 0x000035E0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x000033E0, 0x00003600, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00003620, 0x00003820, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00003620, 0x00003840, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00003860, 0x00003A60, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00003860, 0x00003A80, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00003AA0, 0x00003CA0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00003AA0, 0x00003CC0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00003CE0, 0x00003EE0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00003CE0, 0x00003F00, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00003F20, 0x00004120, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00003F20, 0x00004140, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00004160, 0x00004360, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00004160, 0x00004380, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x000043A0, 0x000045A0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x000043A0, 0x000045C0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x000045E0, 0x000047E0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x000045E0, 0x00004800, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00004820, 0x00004A20, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00004820, 0x00004A40, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00004A60, 0x00004C60, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00004A60, 0x00004C80, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00004CA0, 0x00004EA0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00004CA0, 0x00004EC0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00004EE0, 0x000050E0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00004EE0, 0x00005100, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00005120, 0x00005320, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00005120, 0x00005340, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00005360, 0x00005560, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00005360, 0x00005580, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x000055A0, 0x000057A0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x000055A0, 0x000057C0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x000057E0, 0x000059E0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x000057E0, 0x00005A00, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00005A20, 0x00005C20, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00005A20, 0x00005C40, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00005C60, 0x00005E60, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00005C60, 0x00005E80, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00005EA0, 0x000060A0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00005EA0, 0x000060C0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x000060E0, 0x000062E0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x000060E0, 0x00006300, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00006320, 0x00006520, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00006320, 0x00006540, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00006560, 0x00006760, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00006560, 0x00006780, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x000067A0, 0x000069A0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x000067A0, 0x000069C0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x000069E0, 0x00006BE0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x000069E0, 0x00006C00, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00006C20, 0x00006E20, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00006C20, 0x00006E40, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00006E60, 0x00007060, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00006E60, 0x00007080, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x000070A0, 0x000072A0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x000070A0, 0x000072C0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x000072E0, 0x000074E0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x000072E0, 0x00007500, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00007520, 0x00007720, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00007520, 0x00007740, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00007760, 0x00007960, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00007760, 0x00007980, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x000079A0, 0x00007BA0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x000079A0, 0x00007BC0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00007BE0, 0x00007DE0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00007BE0, 0x00007E00, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00007E20, 0x00008020, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00007E20, 0x00008040, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00008060, 0x00008260, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00008060, 0x00008280, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x000082A0, 0x000084A0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x000082A0, 0x000084C0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x000084E0, 0x000086E0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x000084E0, 0x00008700, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00008720, 0x00008920, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00008720, 0x00008940, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00008960, 0x00008B60, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00008960, 0x00008B80, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00008BA0, 0x00008DA0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00008BA0, 0x00008DC0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00008DE0, 0x00008FE0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00008DE0, 0x00009000, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00014DC0, 0x00014FC0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00014DC0, 0x00014FE0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00015000, 0x00015200, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00015000, 0x00015220, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00015240, 0x00015440, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00015240, 0x00015460, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00015480, 0x00015680, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00015480, 0x000156A0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x000156C0, 0x000158C0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x000156C0, 0x000158E0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00015900, 0x00015B00, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00015900, 0x00015B20, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00015B40, 0x00015D40, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00015B40, 0x00015D60, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00015D80, 0x00015F80, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00015D80, 0x00015FA0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00015FC0, 0x000161C0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00015FC0, 0x000161E0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00016200, 0x00016400, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00016200, 0x00016420, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00016440, 0x00016640, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00016440, 0x00016660, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00016680, 0x00016880, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00016680, 0x000168A0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x000168C0, 0x00016AC0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x000168C0, 0x00016AE0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00016B00, 0x00016D00, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00016B00, 0x00016D20, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00016D40, 0x00016F40, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00016D40, 0x00016F60, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00016F80, 0x00017180, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00016F80, 0x000171A0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x000171C0, 0x000173C0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x000171C0, 0x000173E0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00017400, 0x00017600, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00017400, 0x00017620, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00017640, 0x00017840, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00017640, 0x00017860, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00017880, 0x00017A80, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00017880, 0x00017AA0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00017AC0, 0x00017CC0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00017AC0, 0x00017CE0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00017D00, 0x00017F00, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00017D00, 0x00017F20, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00017F40, 0x00018140, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00017F40, 0x00018160, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00018180, 0x00018380, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00018180, 0x000183A0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x000183C0, 0x000185C0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x000183C0, 0x000185E0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00018600, 0x00018800, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00018600, 0x00018820, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00018840, 0x00018A40, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00018840, 0x00018A60, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00018A80, 0x00018C80, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00018A80, 0x00018CA0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00018CC0, 0x00018EC0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00018CC0, 0x00018EE0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00018F00, 0x00019100, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00018F00, 0x00019120, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00019140, 0x00019340, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00019140, 0x00019360, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00019380, 0x00019580, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00019380, 0x000195A0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x000195C0, 0x000197C0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x000195C0, 0x000197E0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00019800, 0x00019A00, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00019800, 0x00019A20, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00019A40, 0x00019C40, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00019A40, 0x00019C60, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00019C80, 0x00019E80, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00019C80, 0x00019EA0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00019EC0, 0x0001A0C0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00019EC0, 0x0001A0E0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001A100, 0x0001A300, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001A100, 0x0001A320, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001A340, 0x0001A540, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001A340, 0x0001A560, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001A580, 0x0001A780, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001A580, 0x0001A7A0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001A7C0, 0x0001A9C0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001A7C0, 0x0001A9E0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001AA00, 0x0001AC00, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001AA00, 0x0001AC20, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001AC40, 0x0001AE40, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001AC40, 0x0001AE60, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001AE80, 0x0001B080, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001AE80, 0x0001B0A0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001B0C0, 0x0001B2C0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001B0C0, 0x0001B2E0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001B300, 0x0001B500, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001B300, 0x0001B520, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001B540, 0x0001B740, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001B540, 0x0001B760, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001B780, 0x0001B980, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001B780, 0x0001B9A0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001B9C0, 0x0001BBC0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001B9C0, 0x0001BBE0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001BC00, 0x0001BE00, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001BC00, 0x0001BE20, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001BE40, 0x0001C040, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001BE40, 0x0001C060, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001C080, 0x0001C280, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001C080, 0x0001C2A0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001C2C0, 0x0001C4C0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001C2C0, 0x0001C4E0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001C500, 0x0001C700, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001C500, 0x0001C720, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001C740, 0x0001C940, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001C740, 0x0001C960, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001C980, 0x0001CB80, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001C980, 0x0001CBA0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001CBC0, 0x0001CDC0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001CBC0, 0x0001CDE0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001CE00, 0x0001D000, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001CE00, 0x0001D020, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001D040, 0x0001D240, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001D040, 0x0001D260, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001D280, 0x0001D480, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001D280, 0x0001D4A0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001D4C0, 0x0001D6C0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001D4C0, 0x0001D6E0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001D700, 0x0001D900, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001D700, 0x0001D920, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001D940, 0x0001DB40, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001D940, 0x0001DB60, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001DB80, 0x0001DD80, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001DB80, 0x0001DDA0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001DDC0, 0x0001DFC0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001DDC0, 0x0001DFE0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001E000, 0x0001E200, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001E000, 0x0001E220, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001E240, 0x0001E440, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001E240, 0x0001E460, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001E480, 0x0001E680, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001E480, 0x0001E6A0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001E6C0, 0x0001E8C0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001E6C0, 0x0001E8E0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001E900, 0x0001EB00, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001E900, 0x0001EB20, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001EB40, 0x0001ED40, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001EB40, 0x0001ED60, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001ED80, 0x0001EF80, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001ED80, 0x0001EFA0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001EFC0, 0x0001F1C0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001EFC0, 0x0001F1E0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001F200, 0x0001F400, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001F200, 0x0001F420, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001F440, 0x0001F640, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001F440, 0x0001F660, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001F680, 0x0001F880, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001F680, 0x0001F8A0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001F8C0, 0x0001FAC0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001F8C0, 0x0001FAE0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001FB00, 0x0001FD00, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001FB00, 0x0001FD20, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001FD40, 0x0001FF40, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001FD40, 0x0001FF60, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001FF80, 0x00020180, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001FF80, 0x000201A0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x000201C0, 0x000203C0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x000201C0, 0x000203E0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00020400, 0x00020600, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00020400, 0x00020620, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00020640, 0x00020840, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00020640, 0x00020860, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00020880, 0x00020A80, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00020880, 0x00020AA0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00020AC0, 0x00020CC0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00020AC0, 0x00020CE0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00020D00, 0x00020F00, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00020D00, 0x00020F20, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00020F40, 0x00021140, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00020F40, 0x00021160, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00021180, 0x00021380, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00021180, 0x000213A0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x000213C0, 0x000215C0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x000213C0, 0x000215E0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00021600, 0x00021800, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00021600, 0x00021820, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00021840, 0x00021A40, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00021840, 0x00021A60, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00021A80, 0x00021C80, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00021A80, 0x00021CA0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00021CC0, 0x00021EC0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00021CC0, 0x00021EE0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00021F00, 0x00022100, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00021F00, 0x00022120, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00022140, 0x00022340, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00022140, 0x00022360, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00022380, 0x00022580, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00022380, 0x000225A0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x000225C0, 0x000227C0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x000225C0, 0x000227E0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00022800, 0x00022A00, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00022800, 0x00022A20, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00022A40, 0x00022C40, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00022A40, 0x00022C60, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00022C80, 0x00022E80, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00022C80, 0x00022EA0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00022EC0, 0x000230C0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00022EC0, 0x000230E0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00023100, 0x00023300, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00023100, 0x00023320, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00023340, 0x00023540, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00023340, 0x00023560, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00023580, 0x00023780, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00023580, 0x000237A0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0002A3C0, 0x0002A5C0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0002A3C0, 0x0002A5E0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0002A600, 0x0002A800, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0002A600, 0x0002A820, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0002A840, 0x0002AA40, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0002A840, 0x0002AA60, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0002AA80, 0x0002AC80, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0002AA80, 0x0002ACA0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0002ACC0, 0x0002AEC0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0002ACC0, 0x0002AEE0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0002AF00, 0x0002B100, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0002AF00, 0x0002B120, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0002B140, 0x0002B340, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0002B140, 0x0002B360, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0002B380, 0x0002B580, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0002B380, 0x0002B5A0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0002B5C0, 0x0002B7C0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0002B5C0, 0x0002B7E0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0002B800, 0x0002BA00, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0002B800, 0x0002BA20, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0002BA40, 0x0002BC40, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0002BA40, 0x0002BC60, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0002BC80, 0x0002BE80, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0002BC80, 0x0002BEA0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0002BEC0, 0x0002C0C0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0002BEC0, 0x0002C0E0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0002C100, 0x0002C300, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0002C100, 0x0002C320, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0002C340, 0x0002C540, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0002C340, 0x0002C560, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0002C580, 0x0002C780, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0002C580, 0x0002C7A0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x000237C0, 0x000239C0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x000237C0, 0x000239E0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00023A00, 0x00023C00, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00023A00, 0x00023C20, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00023C40, 0x00023E40, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00023C40, 0x00023E60, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00023E80, 0x00024080, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00023E80, 0x000240A0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x000240C0, 0x000242C0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x000240C0, 0x000242E0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00024300, 0x00024500, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00024300, 0x00024520, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00024540, 0x00024740, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00024540, 0x00024760, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00024780, 0x00024980, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00024780, 0x000249A0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x000249C0, 0x00024BC0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x000249C0, 0x00024BE0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00024C00, 0x00024E00, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00024C00, 0x00024E20, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00024E40, 0x00025040, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00024E40, 0x00025060, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00025080, 0x00025280, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00025080, 0x000252A0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x000252C0, 0x000254C0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x000252C0, 0x000254E0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00025500, 0x00025700, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00025500, 0x00025720, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00025740, 0x00025940, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00025740, 0x00025960, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00025980, 0x00025B80, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00025980, 0x00025BA0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00025BC0, 0x00025DC0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00025BC0, 0x00025DE0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00025E00, 0x00026000, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00025E00, 0x00026020, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00026040, 0x00026240, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00026040, 0x00026260, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00026280, 0x00026480, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00026280, 0x000264A0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x000264C0, 0x000266C0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x000264C0, 0x000266E0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00026700, 0x00026900, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00026700, 0x00026920, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00026940, 0x00026B40, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00026940, 0x00026B60, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00026B80, 0x00026D80, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00026B80, 0x00026DA0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00026DC0, 0x00026FC0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00026DC0, 0x00026FE0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00027000, 0x00027200, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00027000, 0x00027220, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00027240, 0x00027440, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00027240, 0x00027460, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00027480, 0x00027680, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00027480, 0x000276A0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x000276C0, 0x000278C0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x000276C0, 0x000278E0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00027900, 0x00027B00, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00027900, 0x00027B20, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00027B40, 0x00027D40, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00027B40, 0x00027D60, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00027D80, 0x00027F80, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00027D80, 0x00027FA0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00027FC0, 0x000281C0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00027FC0, 0x000281E0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00028200, 0x00028400, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00028200, 0x00028420, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00028440, 0x00028640, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00028440, 0x00028660, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00028680, 0x00028880, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00028680, 0x000288A0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x000288C0, 0x00028AC0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x000288C0, 0x00028AE0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00028B00, 0x00028D00, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00028B00, 0x00028D20, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00028D40, 0x00028F40, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00028D40, 0x00028F60, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00028F80, 0x00029180, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00028F80, 0x000291A0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x000291C0, 0x000293C0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x000291C0, 0x000293E0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00029400, 0x00029600, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00029400, 0x00029620, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00029640, 0x00029840, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00029640, 0x00029860, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00029880, 0x00029A80, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00029880, 0x00029AA0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00029AC0, 0x00029CC0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00029AC0, 0x00029CE0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00029D00, 0x00029F00, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00029D00, 0x00029F20, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00029F40, 0x0002A140, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00029F40, 0x0002A160, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0002A180, 0x0002A380, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0002A180, 0x0002A3A0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x01400000, 0x00000008, 0x00000000, 0x00000000, 0x00000000, 0x10000000, 0x00000000, 0x002600A0, 0x00380000, 0x00000008, 0xFFFF0000, 0x00000000, 0x00000000, 0x10200000, 0x00000000, 0x002600A1, 0x00390000, 0x00000002, 0xFFFF0000, 0x00000000, 0x00000000, 0x10200000, 0x00000000, 0x002600A2, 0x003A0000, 0x00000001, 0xFFFF0000, 0x00000000, 0x00000000, 0x10200000, 0x00000000, 0x002600A3, 0x003B0000, 0x00000008, 0xFFFF0000, 0x00000000, 0x00000000, 0x10200000, 0x00000000, 0x002600A4, 0x003C0000, 0x00000001, 0xFFFF0000, 0x00000000, 0x00000000, 0x10200000, 0x00000000, 0x002600A5, 0x003D0000, 0x00000002, 0xFFFF0000, 0x00000000, 0x00000000, 0x10200000, 0x00000000, 0x002600A6, 0x003E0000, 0x00000002, 0xFFFF0000, 0x002500A6, 0x002300A6, 0x10080000, 0x00000000, 0x00000000, 0x01400000, 0x00000002, 0xFFFF0000, 0x00000000, 0x00000000, 0x10200000, 0x00000000, 0x00000000, 0x01400000, 0x00000002, 0xFFFF0000, 0x00000000, 0x00000000, 0x10200000, 0x00000000, 0x002600E2, 0x00780000, 0x00000002, 0xFFFF0000, 0x002500E2, 0x002300E2, 0x10080000, 0x00000000, 0x002600E3, 0x00790000, 0x00000002, 0xFFFF0000, 0x002500E3, 0x002300E3, 0x10080000, 0x00000000, 0x002600E4, 0x007A0000, 0x00000002, 0xFFFF0000, 0x002500E4, 0x002300E4, 0x10080000, 0x00000000, 0x002600E5, 0x007B0000, 0x00000002, 0xFFFF0000, 0x002500E5, 0x002300E5, 0x10080000, 0x00000000, 0x002600E6, 0x007C0000, 0x00000002, 0xFFFF0000, 0x002500E6, 0x002300E6, 0x10080000, 0x00000000, 0x002600E7, 0x00620000, 0x00000002, 0xFFFF0000, 0x002500E7, 0x002300E7, 0x10080000, 0x00000000, 0x002600A7, 0x00400000, 0x00000008, 0xFFFF0000, 0x002500A7, 0x002300A7, 0x10090000, 0x00000000, 0x002600A8, 0x00410000, 0x00000008, 0xFFFF0000, 0x002500A8, 0x002300A8, 0x10090000, 0x00000000, 0x002600B0, 0x00470000, 0x00000008, 0xFFFF0000, 0x002500B0, 0x002300B0, 0x10090000, 0x00000000, 0x002600A9, 0x00420000, 0x00000008, 0xFFFF0000, 0x002500A9, 0x002300A9, 0x10090000, 0x00000000, 0x002600AA, 0x00430000, 0x00000008, 0xFFFF0000, 0x002500AA, 0x002300AA, 0x10090000, 0x00000000, 0x002600B3, 0x004C0000, 0x00000008, 0xFFFF0000, 0x002500B3, 0x002300B3, 0x10090000, 0x00000000, 0x002600B4, 0x004A0000, 0x00000008, 0xFFFF0000, 0x002500B4, 0x002300B4, 0x10090000, 0x00000000, 0x002600B5, 0x004B0000, 0x00000008, 0xFFFF0000, 0x002500B5, 0x002300B5, 0x10090000, 0x00000000, 0x002600B2, 0x00490000, 0x00000008, 0xFFFF0000, 0x002500B2, 0x002300B2, 0x10090000, 0x00000000, 0x002600AF, 0x00460000, 0x00000008, 0xFFFF0000, 0x002500AF, 0x002300AF, 0x10090000, 0x00000000, 0x002600AB, 0x00440000, 0x00000008, 0xFFFF0000, 0x002500AB, 0x002300AB, 0x10090000, 0x00000000, 0x00000000, 0x004D0000, 0x00000008, 0xFFFF0000, 0x00000000, 0x00000000, 0x10090000, 0x00000000, 0x002600B7, 0x00500000, 0x00000008, 0xFFFF0000, 0x002500B7, 0x002300B7, 0x10090000, 0x00000000, 0x002600B8, 0x00510000, 0x00000008, 0xFFFF0000, 0x002500B8, 0x002300B8, 0x10090000, 0x00000000, 0x002600C4, 0x005D0000, 0x00000008, 0xFFFF0000, 0x002500C4, 0x002300C4, 0x10090000, 0x00000000, 0x002600B9, 0x00520000, 0x00000008, 0xFFFF0000, 0x002500B9, 0x002300B9, 0x10090000, 0x00000000, 0x002600BA, 0x00530000, 0x00000008, 0xFFFF0000, 0x002500BA, 0x002300BA, 0x10090000, 0x00000000, 0x002600BB, 0x00540000, 0x00000008, 0xFFFF0000, 0x002500BB, 0x002300BB, 0x10090000, 0x00000000, 0x002600B6, 0x004F0000, 0x00000008, 0xFFFF0000, 0x002500B6, 0x002300B6, 0x10090000, 0x00000000, 0x002600BC, 0x00550000, 0x00000008, 0xFFFF0000, 0x002500BC, 0x002300BC, 0x10090000, 0x00000000, 0x002600BD, 0x00560000, 0x00000008, 0xFFFF0000, 0x002500BD, 0x002300BD, 0x10090000, 0x00000000, 0x002600BE, 0x00570000, 0x00000008, 0xFFFF0000, 0x002500BE, 0x002300BE, 0x10090000, 0x00000000, 0x00000000, 0x00580000, 0x00000008, 0xFFFF0000, 0x00000000, 0x00000000, 0x10090000, 0x00000000, 0x002600C9, 0x007D0000, 0x00000008, 0xFFFF0000, 0x002500C9, 0x002300C9, 0x10090000, 0x00000000, 0x00000000, 0x00650000, 0x00000008, 0xFFFF0000, 0x00000000, 0x00000000, 0x10090000, 0x00000000, 0x002600CB, 0x00660000, 0x00000008, 0xFFFF0000, 0x002500CB, 0x002300CB, 0x10090000, 0x00000000, 0x002600CC, 0x00670000, 0x00000008, 0xFFFF0000, 0x002500CC, 0x002300CC, 0x10090000, 0x00000000, 0x002600C0, 0x00590000, 0x00000008, 0xFFFF0000, 0x002500C0, 0x002300C0, 0x10090000, 0x00000000, 0x002600C1, 0x005A0000, 0x00000008, 0xFFFF0000, 0x002500C1, 0x002300C1, 0x10090000, 0x00000000, 0x002600C2, 0x005B0000, 0x00000008, 0xFFFF0000, 0x002500C2, 0x002300C2, 0x10090000, 0x00000000, 0x002600C3, 0x005C0000, 0x00000008, 0xFFFF0000, 0x002500C3, 0x002300C3, 0x10090000, 0x00000000, 0x00000000, 0x00630000, 0x00000008, 0xFFFF0000, 0x00000000, 0x00000000, 0x10090000, 0x00000000, 0x002600CA, 0x00640000, 0x00000008, 0xFFFF0000, 0x002500CA, 0x002300CA, 0x10090000, 0x00000000, 0x002600CF, 0x00680000, 0x00000008, 0xFFFF0000, 0x002500CF, 0x002300CF, 0x10090000, 0x00000000, 0x002600D0, 0x00690000, 0x00000008, 0xFFFF0000, 0x002500D0, 0x002300D0, 0x10090000, 0x00000000, 0x002600D2, 0x006A0000, 0x00000008, 0xFFFF0000, 0x002500D2, 0x002300D2, 0x10090000, 0x00000000, 0x002600D3, 0x006B0000, 0x00000008, 0xFFFF0000, 0x002500D3, 0x002300D3, 0x10090000, 0x00000000, 0x00000000, 0x00880000, 0x00000008, 0xFFFF0000, 0x00000000, 0x00000000, 0x10090000, 0x00000000, 0x002600EB, 0x00880000, 0x00000008, 0xFFFF0000, 0x002500EB, 0x002300EB, 0x10090000, 0x00000000, 0x002600EC, 0x00880000, 0x00000008, 0xFFFF0000, 0x002500EC, 0x002300EC, 0x10090000, 0x00000000, 0x002600ED, 0x00880000, 0x00000008, 0xFFFF0000, 0x002500ED, 0x002300ED, 0x10090000, 0x00000000, 0x002600EE, 0x00880000, 0x00000008, 0xFFFF0000, 0x002500EE, 0x002300EE, 0x10090000, 0x00000000, 0x002600EF, 0x00880000, 0x00000008, 0xFFFF0000, 0x002500EF, 0x002300EF, 0x10090000, 0x00000000, 0x002600F0, 0x00880000, 0x00000008, 0xFFFF0000, 0x002500F0, 0x002300F0, 0x10090000, 0x00000000, 0x002600F1, 0x00880000, 0x00000008, 0xFFFF0000, 0x002500F1, 0x002300F1, 0x10090000, 0x00000000, 0x002600F2, 0x00880000, 0x00000008, 0xFFFF0000, 0x002500F2, 0x002300F2, 0x10090000, 0x00000000, 0x002600F3, 0x00880000, 0x00000008, 0xFFFF0000, 0x002500F3, 0x002300F3, 0x10090000, 0x00000000, 0x00000000, 0x00880000, 0x00000008, 0xFFFF0000, 0x00000000, 0x00000000, 0x10090000, 0x00000000, 0x002600F4, 0x00880000, 0x00000008, 0xFFFF0000, 0x002500F4, 0x002300F4, 0x10090000, 0x00000000, 0x002600F5, 0x00880000, 0x00000008, 0xFFFF0000, 0x002500F5, 0x002300F5, 0x10090000, 0x00000000, 0x00000000, 0x00880000, 0x00000008, 0xFFFF0000, 0x00000000, 0x00000000, 0x10090000, 0x00000000, 0x00000000, 0x00880000, 0x00000008, 0xFFFF0000, 0x00000000, 0x00000000, 0x10090000, 0x00000000, 0x00000000, 0x00880000, 0x00000008, 0xFFFF0000, 0x00000000, 0x00000000, 0x10090000, 0x00000000, 0x002600F6, 0x00880000, 0x00000008, 0xFFFF0000, 0x002500F6, 0x002300F6, 0x10090000, 0x00000000, 0x002600F7, 0x00880000, 0x00000008, 0xFFFF0000, 0x002500F7, 0x002300F7, 0x10090000, 0x00000000, 0x002600F8, 0x00880000, 0x00000008, 0xFFFF0000, 0x002500F8, 0x002300F8, 0x10090000, 0x00000000, 0x002600F9, 0x00880000, 0x00000008, 0xFFFF0000, 0x002500F9, 0x002300F9, 0x10090000, 0x00000000, 0x002600FA, 0x00880000, 0x00000008, 0xFFFF0000, 0x002500FA, 0x002300FA, 0x10090000, 0x00000000, 0x002600FB, 0x00880000, 0x00000008, 0xFFFF0000, 0x002500FB, 0x002300FB, 0x10090000, 0x00000000, 0x002600FC, 0x00880000, 0x00000008, 0xFFFF0000, 0x002500FC, 0x002300FC, 0x10090000, 0x00000000, 0x002600FD, 0x00880000, 0x00000008, 0xFFFF0000, 0x002500FD, 0x002300FD, 0x10090000, 0x00000000, 0x00000000, 0x00880000, 0x00000008, 0xFFFF0000, 0x00000000, 0x00000000, 0x10090000, 0x00000000, 0x002600FE, 0x00880000, 0x00000008, 0xFFFF0000, 0x002500FE, 0x002300FE, 0x10090000, 0x00000000, 0x002600FF, 0x00880000, 0x00000008, 0xFFFF0000, 0x002500FF, 0x002300FF, 0x10090000, 0x00000000, 0x00260100, 0x00880000, 0x00000008, 0xFFFF0000, 0x00250100, 0x00230100, 0x10090000, 0x00000000, 0x00260101, 0x00880000, 0x00000008, 0xFFFF0000, 0x00250101, 0x00230101, 0x10090000, 0x00000000, 0x00260102, 0x00880000, 0x00000008, 0xFFFF0000, 0x00250102, 0x00230102, 0x10090000, 0x00000000, 0x002600B1, 0x00480000, 0x00000008, 0xFFFF0000, 0x002500B1, 0x002300B1, 0x10090000, 0x00000000, 0x002600EA, 0x00880000, 0x00000008, 0xFFFF0000, 0x002500EA, 0x002300EA, 0x10090000, 0x00000000, 0x00000000, 0x00880000, 0x00000008, 0xFFFF0000, 0x00000000, 0x00000000, 0x10090000, 0x00000000, 0x002600AE, 0x00450000, 0x00000008, 0xFFFF0000, 0x002500AE, 0x002300AE, 0x10090000, 0x00000000, 0x002600C5, 0x005E0000, 0x00000008, 0xFFFF0000, 0x002500C5, 0x002300C5, 0x10090000, 0x00000000, 0x002600C6, 0x005F0000, 0x00000008, 0xFFFF0000, 0x002500C6, 0x002300C6, 0x10090000, 0x00000000, 0x002600C7, 0x00600000, 0x00000008, 0xFFFF0000, 0x002500C7, 0x002300C7, 0x10090000, 0x00000000, 0x002600C8, 0x00610000, 0x00000008, 0xFFFF0000, 0x002500C8, 0x002300C8, 0x10090000, 0x00000000, 0x002600CD, 0x00490000, 0x00000008, 0xFFFF0000, 0x002500CD, 0x002300CD, 0x10090000, 0x00000000, 0x00260104, 0x00810000, 0x00000008, 0xFFFF0000, 0x00250104, 0x00230104, 0x10090000, 0x00000000, 0x002600D8, 0x01160000, 0x00000008, 0xFFFF0000, 0x002500D8, 0x002300D8, 0x10090000, 0x00000000, 0x002600D9, 0x01150000, 0x00000008, 0xFFFF0000, 0x002500D9, 0x002300D9, 0x10090000, 0x00000000, 0x002600DA, 0x01170000, 0x00000008, 0xFFFF0000, 0x002500DA, 0x002300DA, 0x10090000, 0x00000000, 0x002600DB, 0x01180000, 0x00000008, 0xFFFF0000, 0x002500DB, 0x002300DB, 0x10090000, 0x00000000, 0x002600DC, 0x01190000, 0x00000008, 0xFFFF0000, 0x002500DC, 0x002300DC, 0x10090000, 0x00000000, 0x002600DD, 0x011A0000, 0x00000008, 0xFFFF0000, 0x002500DD, 0x002300DD, 0x10090000, 0x00000000, 0x002600DE, 0x011B0000, 0x00000008, 0xFFFF0000, 0x002500DE, 0x002300DE, 0x10090000, 0x00000000, 0x002600DF, 0x011C0000, 0x00000008, 0xFFFF0000, 0x002500DF, 0x002300DF, 0x10090000, 0x00000000, 0x002600E0, 0x011D0000, 0x00000008, 0xFFFF0000, 0x002500E0, 0x002300E0, 0x10090000, 0x00000000, 0x002600E1, 0x011E0000, 0x00000008, 0xFFFF0000, 0x002500E1, 0x002300E1, 0x10090000, 0x00000000, 0x002600D6, 0x006F0000, 0x00000008, 0xFFFF0000, 0x002500D6, 0x002300D6, 0x10090000, 0x00000000, 0x002600D7, 0x006E0000, 0x00000008, 0xFFFF0000, 0x002500D7, 0x002300D7, 0x10090000, 0x00000000, 0x002600BF, 0x00700000, 0x00000008, 0xFFFF0000, 0x002500BF, 0x002300BF, 0x10090000, 0x00000000, 0x002600AC, 0x00730000, 0x00000008, 0xFFFF0000, 0x002500AC, 0x002300AC, 0x10090000, 0x00000000, 0x002600AD, 0x00530000, 0x00000008, 0xFFFF0000, 0x002500AD, 0x002300AD, 0x10090000, 0x00000000, 0x002600D1, 0x00710000, 0x00000008, 0xFFFF0000, 0x002500D1, 0x002300D1, 0x10090000, 0x00000000, 0x002600D4, 0x00720000, 0x00000008, 0xFFFF0000, 0x002500D4, 0x002300D4, 0x10090000, 0x00000000, 0x00260103, 0x00800000, 0x00000008, 0xFFFF0000, 0x00250103, 0x00230103, 0x10090000, 0x00000000, 0x00260105, 0x00820000, 0x00000008, 0xFFFF0000, 0x00250105, 0x00230105, 0x10090000, 0x00000000, 0x00260106, 0x00830000, 0x00000008, 0xFFFF0000, 0x00250106, 0x00230106, 0x10090000, 0x00000000, 0x00260107, 0x00840000, 0x00000008, 0xFFFF0000, 0x00250107, 0x00230107, 0x10090000, 0x00000000, 0x00000000, 0x00850000, 0x00000008, 0xFFFF0000, 0x00000000, 0x00000000, 0x10090000, 0x00000000, 0x00260108, 0x00860000, 0x00000008, 0xFFFF0000, 0x00250108, 0x00230108, 0x10090000, 0x00000000, 0x00260109, 0x00870000, 0x00000008, 0xFFFF0000, 0x00250109, 0x00230109, 0x10090000, 0x00000000, 0x00000000, 0x00860000, 0x00000008, 0xFFFF0000, 0x00000000, 0x00000000, 0x10090000, 0x00000000, 0x0026010A, 0x006C0000, 0x00000008, 0xFFFF0000, 0x0025010A, 0x0023010A, 0x10090000, 0x00000000, 0x0026010B, 0x006D0000, 0x00000008, 0xFFFF0000, 0x0025010B, 0x0023010B, 0x10090000, 0x00000000, 0x002600AC, 0x00730000, 0x00000008, 0xFFFF0000, 0x002500AC, 0x002300AC, 0x10090000, 0x00000000, 0x002600CE, 0x00530000, 0x00000008, 0xFFFF0000, 0x002500CE, 0x002300CE, 0x10090000, 0x00000000, 0x002600D5, 0x00530000, 0x00000008, 0xFFFF0000, 0x002500D5, 0x002300D5, 0x10090000, 0x00000000, 0x002600E8, 0x007F0000, 0x00000008, 0xFFFF0000, 0x002500E8, 0x002300E8, 0x10090000, 0x00000000, 0x002600E9, 0x007E0000, 0x00000008, 0xFFFF0000, 0x002500E9, 0x002300E9, 0x10090000, 0x00000000, 0x002600D5, 0x00730000, 0x00000008, 0xFFFF0000, 0x002500D5, 0x002300D5, 0x10090000, 0x00000000, 0x002600D5, 0x00730000, 0x00000008, 0xFFFF0000, 0x002500D5, 0x002300D5, 0x10090000, 0x00000000, 0x002600D5, 0x00730000, 0x00000008, 0xFFFF0000, 0x002500D5, 0x002300D5, 0x10090000, 0x00000000, 0x00260000, 0x01200000, 0x00008002, 0x00040000, 0x00250000, 0x00230000, 0x10060003, 0x00000000, 0x00260001, 0x01210000, 0x00008002, 0x00060000, 0x00250001, 0x00230001, 0x10060004, 0x00000000, 0x00260002, 0x01220000, 0x00008002, 0x00080000, 0x00250002, 0x00230002, 0x10060005, 0x00000000, 0x00260004, 0x01240000, 0x00008002, 0x000F0000, 0x00250004, 0x00230004, 0x10060006, 0x00000000, 0x00260003, 0x01230000, 0x00008003, 0x00040000, 0x00250003, 0x00230003, 0x10060005, 0x00000000, 0x00260006, 0x01260000, 0x00008003, 0x00010000, 0x00250006, 0x00230006, 0x10060001, 0x00000000, 0x00260005, 0x01250000, 0x00008003, 0x00010000, 0x00250005, 0x00230005, 0x10060001, 0x00000000, 0x00000000, 0x013D0000, 0x00008003, 0x00010000, 0x00000000, 0x00000000, 0x10060000, 0x00000000, 0x00260007, 0x01280000, 0x00000008, 0x000F0000, 0x00250007, 0x00230007, 0x10060003, 0x00000000, 0x0026000E, 0x00FD0000, 0x00000009, 0x00010000, 0x0025000E, 0x0023000E, 0x11870000, 0x00000000, 0x00260009, 0x00F80000, 0x00000009, 0x00020000, 0x00250009, 0x00230009, 0x10870005, 0x00000000, 0x00260008, 0x01290000, 0x00000008, 0x00070000, 0x00250008, 0x00230008, 0x10860004, 0x00000000, 0x0026000A, 0x00F90000, 0x00000009, 0x00070000, 0x0025000A, 0x0023000A, 0x1087000A, 0x00000000, 0x0026000D, 0x00FC0000, 0x00000009, 0x00010000, 0x0025000D, 0x0023000D, 0x10870001, 0x00000000, 0x0026000B, 0x00FA0000, 0x00000009, 0x00320000, 0x0025000B, 0x0023000B, 0x10870032, 0x00000000, 0x00260026, 0x01300000, 0x00008002, 0x00040000, 0x00250026, 0x00230026, 0x10060003, 0x00000000, 0x00260027, 0x01320000, 0x00008002, 0x00030000, 0x00250027, 0x00230027, 0x10060002, 0x00000000, 0x00000000, 0x01330000, 0x00000008, 0x000A0000, 0x00000000, 0x00000000, 0x11860002, 0x00000000, 0x00260028, 0x01340000, 0x00008002, 0x000A0000, 0x00250028, 0x00230028, 0x10060004, 0x00000000, 0x00260019, 0x01130000, 0x00000009, 0x001E0000, 0x00250019, 0x00230019, 0x10870019, 0x19000000, 0x0026001A, 0x01140000, 0x00000009, 0x00020000, 0x0025001A, 0x0023001A, 0x10870005, 0x00000000, 0x0026000C, 0x00FB0000, 0x00000009, 0x00140000, 0x0025000C, 0x0023000C, 0x1087000A, 0x00000000, 0x0026002B, 0x013B0000, 0x00000008, 0x00010000, 0x0025002B, 0x0023002B, 0x10060000, 0x00000000, 0x0026002C, 0x013C0000, 0x00000008, 0x000F0000, 0x0025002C, 0x0023002C, 0x10060002, 0x00000000, 0x0026002A, 0x013A0000, 0x00008002, 0x00030000, 0x0025002A, 0x0023002A, 0x10060000, 0x00000000, 0x00000000, 0x01380000, 0x00000008, 0x00050000, 0x00000000, 0x00000000, 0x10060000, 0x00000000, 0x00260029, 0x01350000, 0x00008002, 0x00060000, 0x00250029, 0x00230029, 0x10060003, 0x00000000, 0x0026000F, 0x00FE0000, 0x00000009, 0x00030000, 0x0025000F, 0x0023000F, 0x11870000, 0x05000000, 0x00260015, 0x01070000, 0x00000009, 0x00010000, 0x00250015, 0x00230015, 0x10870001, 0x02000000, 0x00260014, 0x01060000, 0x00000009, 0x00010000, 0x00250014, 0x00230014, 0x10870000, 0x03000000, 0x00260010, 0x00FF0000, 0x00000009, 0x00020000, 0x00250010, 0x00230010, 0x10870000, 0x05000000, 0x00260011, 0x01000000, 0x00000009, 0x00020000, 0x00250011, 0x00230011, 0x10870005, 0x00000000, 0x00260012, 0x01010000, 0x00000009, 0x00020000, 0x00250012, 0x00230012, 0x10870003, 0x03000000, 0x00260013, 0x01020000, 0x00000009, 0x00030000, 0x00250013, 0x00230013, 0x10870005, 0x00000000, 0x00260018, 0x01120000, 0x00000009, 0x00320000, 0x00250018, 0x00230018, 0x10870000, 0x32000000, 0x00260017, 0x01110000, 0x00000009, 0x000A0000, 0x00250017, 0x00230017, 0x11870000, 0x0A000000, 0x00260016, 0x01100000, 0x00000009, 0x00030000, 0x00250016, 0x00230016, 0x11870000, 0x05000000, 0x0026001B, 0x01030000, 0x00000009, 0x00020000, 0x0025001B, 0x0023001B, 0x10870000, 0x03000000, 0x0026001C, 0x01040000, 0x00000009, 0x00010000, 0x0025001C, 0x0023001C, 0x10870000, 0x03000000, 0x0026001D, 0x01050000, 0x00000009, 0x00040000, 0x0025001D, 0x0023001D, 0x10870003, 0x02000000, 0x0026001E, 0x01080000, 0x00000009, 0x00050000, 0x0025001E, 0x0023001E, 0x1087000F, 0x00000000, 0x0026001F, 0x01090000, 0x00000009, 0x00020000, 0x0025001F, 0x0023001F, 0x10870000, 0x05000000, 0x00260020, 0x010A0000, 0x00000009, 0x00030000, 0x00250020, 0x00230020, 0x10870000, 0x01000000, 0x00260021, 0x010B0000, 0x00000009, 0x00020000, 0x00250021, 0x00230021, 0x10870005, 0x00000000, 0x00260022, 0x010C0000, 0x00008003, 0x00010000, 0x00250022, 0x00230022, 0x10060003, 0x00000000, 0x00260023, 0x010D0000, 0x00000009, 0x00070000, 0x00250023, 0x00230023, 0x1087000F, 0x00000000, 0x00260024, 0x010E0000, 0x00000009, 0x00010000, 0x00250024, 0x00230024, 0x10870000, 0x05000000, 0x00260025, 0x010F0000, 0x00000009, 0x00030000, 0x00250025, 0x00230025, 0x10870005, 0x00000000, 0x0026002D, 0x00010000, 0x00000009, 0x000A0000, 0x0025002D, 0x0023002D, 0x11870004, 0x04000000, 0x0026002E, 0x00020000, 0x00000009, 0x000A0000, 0x0025002E, 0x0023002E, 0x10870005, 0x0F000000, 0x00260035, 0x00030000, 0x00000009, 0x004B0000, 0x00250035, 0x00230035, 0x10870032, 0x05000000, 0x00260036, 0x00040000, 0x00000009, 0x00640000, 0x00250036, 0x00230036, 0x10870032, 0x0A000000, 0x00260037, 0x00050000, 0x00000009, 0x00960000, 0x00250037, 0x00230037, 0x10870032, 0x32000000, 0x00260038, 0x00060000, 0x00000009, 0x000A0000, 0x00250038, 0x00230038, 0x10870007, 0x07000000, 0x00260039, 0x00070000, 0x00000009, 0x00050000, 0x00250039, 0x00230039, 0x10870006, 0x02000000, 0x0026003C, 0x00080000, 0x00000009, 0x00140000, 0x0025003C, 0x0023003C, 0x1087000A, 0x0A000000, 0x0026003B, 0x00090000, 0x00000009, 0x002D0000, 0x0025003B, 0x0023003B, 0x1087001E, 0x0A000000, 0x0026003A, 0x000A0000, 0x00000009, 0x000F0000, 0x0025003A, 0x0023003A, 0x1087000F, 0x05000000, 0x0026003D, 0x000B0000, 0x00000009, 0x00320000, 0x0025003D, 0x0023003D, 0x1087001E, 0x14000000, 0x0026003F, 0x000E0000, 0x00000009, 0x000F0000, 0x0025003F, 0x0023003F, 0x10870014, 0x14000000, 0x00260042, 0x000C0000, 0x00000009, 0x00190000, 0x00250042, 0x00230042, 0x11870000, 0x28000000, 0x0026003E, 0x000D0000, 0x00000009, 0x000A0000, 0x0025003E, 0x0023003E, 0x1087000A, 0x0A000000, 0x00260040, 0x000F0000, 0x00000009, 0x003C0000, 0x00250040, 0x00230040, 0x10870028, 0x28000000, 0x00260041, 0x00100000, 0x00000009, 0x000A0000, 0x00250041, 0x00230041, 0x11870000, 0x14000000, 0x00260043, 0x00110000, 0x00000009, 0x000A0000, 0x00250043, 0x00230043, 0x10870000, 0x14000000, 0x00260044, 0x00120000, 0x00000009, 0x000A0000, 0x00250044, 0x00230044, 0x10870000, 0x0F000000, 0x00260045, 0x00130000, 0x00000009, 0x00010000, 0x00250045, 0x00230045, 0x10870001, 0x01000000, 0x00260046, 0x00140000, 0x00000009, 0x00030000, 0x00250046, 0x00230046, 0x11870000, 0x07000000, 0x00260032, 0x00150000, 0x00000009, 0x00140000, 0x00250032, 0x00230032, 0x1087000A, 0x05000000, 0x00260033, 0x00160000, 0x00000009, 0x00230000, 0x00250033, 0x00230033, 0x1087000A, 0x0A000000, 0x00260034, 0x00170000, 0x00000009, 0x00640000, 0x00250034, 0x00230034, 0x1087000A, 0x32000000, 0x00260047, 0x00180000, 0x00000009, 0x00070000, 0x00250047, 0x00230047, 0x10870006, 0x04000000, 0x00260048, 0x00190000, 0x00008003, 0x000A0000, 0x00250048, 0x00230048, 0x10060006, 0x00000000, 0x00260049, 0x001A0000, 0x00000009, 0x00070000, 0x00250049, 0x00230049, 0x1087000A, 0x00000000, 0x0026002F, 0x001B0000, 0x00000009, 0x000A0000, 0x0025002F, 0x0023002F, 0x10870005, 0x05000000, 0x0026004A, 0x001C0000, 0x00000009, 0x000F0000, 0x0025004A, 0x0023004A, 0x10870000, 0x14000000, 0x0026004B, 0x001D0000, 0x00000009, 0x00190000, 0x0025004B, 0x0023004B, 0x10870000, 0x0F000000, 0x0026004C, 0x001E0000, 0x00000009, 0x00140000, 0x0025004C, 0x0023004C, 0x108700FF, 0x14000000, 0x0026004D, 0x001F0000, 0x00000009, 0x000F0000, 0x0025004D, 0x0023004D, 0x10870000, 0x14000000, 0x0026004E, 0x00200000, 0x00000009, 0x000C0000, 0x0025004E, 0x0023004E, 0x10870003, 0x0F000000, 0x0026004F, 0x00210000, 0x00000009, 0x000F0000, 0x0025004F, 0x0023004F, 0x10870005, 0x0F000000, 0x00260050, 0x00220000, 0x00000009, 0x00640000, 0x00250050, 0x00230050, 0x10870000, 0x40000000, 0x00260051, 0x00230000, 0x00000009, 0x000A0000, 0x00250051, 0x00230051, 0x10860000, 0x00000000, 0x00260052, 0x00240000, 0x00000009, 0x000C0000, 0x00250052, 0x00230052, 0x10870000, 0x0F000000, 0x00260053, 0x00250000, 0x00000009, 0x000F0000, 0x00250053, 0x00230053, 0x1087000F, 0x00000000, 0x00260054, 0x00260000, 0x00000009, 0x00060000, 0x00250054, 0x00230054, 0x1087000A, 0x00000000, 0x00260055, 0x00270000, 0x00000009, 0x00060000, 0x00250055, 0x00230055, 0x10870000, 0x0A000000, 0x00260030, 0x00280000, 0x00000009, 0x00190000, 0x00250030, 0x00230030, 0x10870005, 0x0A000000, 0x00260056, 0x00290000, 0x00000009, 0x000A0000, 0x00250056, 0x00230056, 0x10870008, 0x08000000, 0x00260057, 0x002A0000, 0x00000009, 0x00140000, 0x00250057, 0x00230057, 0x1087000F, 0x0F000000, 0x00260031, 0x002B0000, 0x00000009, 0x004B0000, 0x00250031, 0x00230031, 0x10870005, 0x32000000, 0x00260031, 0x002B0000, 0x00000009, 0x004B0000, 0x00250031, 0x00230031, 0x10870005, 0x32000000, 0x00260031, 0x002B0000, 0x00000009, 0x004B0000, 0x00250031, 0x00230031, 0x10870005, 0x32000000, 0x00260031, 0x002B0000, 0x00000009, 0x004B0000, 0x00250031, 0x00230031, 0x10870005, 0x32000000, 0x00260031, 0x002B0000, 0x00000009, 0x004B0000, 0x00250031, 0x00230031, 0x10870005, 0x32000000, 0x00260031, 0x002B0000, 0x00000009, 0x004B0000, 0x00250031, 0x00230031, 0x10870005, 0x32000000, 0x00260068, 0x00900017, 0x00000000, 0x004B0000, 0x00250068, 0x00230068, 0x10400800, 0x00000000, 0x0026005E, 0x00910004, 0x00000000, 0x004B0000, 0x0025005E, 0x0023005E, 0x10401F00, 0x00000000, 0x00260073, 0x00920043, 0x00000000, 0x00FA0000, 0x00250073, 0x00230073, 0x10403B00, 0x00000000, 0x00260080, 0x00930028, 0x00000000, 0x00640000, 0x00250080, 0x00230080, 0x10404C00, 0x00000000, 0x00260061, 0x0094000D, 0x00000000, 0x00640000, 0x00250061, 0x00230061, 0x10402000, 0x00000000, 0x0026007F, 0x0095005C, 0x00000000, 0x00640000, 0x0025007F, 0x0023007F, 0x10404000, 0x00000000, 0x00260087, 0x0096006D, 0x00000000, 0x00640000, 0x00250087, 0x00230087, 0x10404D00, 0x00000000, 0x00260071, 0x00970035, 0x00000000, 0x00960000, 0x00250071, 0x00230071, 0x10405200, 0x00000000, 0x0026006A, 0x00980018, 0x00000000, 0x00640000, 0x0025006A, 0x0023006A, 0x10400900, 0x00000000, 0x0026006D, 0x00990021, 0x00000000, 0x00640000, 0x0025006D, 0x0023006D, 0x10403500, 0x00000000, 0x00000000, 0x01400000, 0x00000000, 0x00640000, 0x00000000, 0x00000000, 0x10405300, 0x00000000, 0x0026005C, 0x009C0009, 0x00000000, 0x004B0000, 0x0025005C, 0x0023005C, 0x10402100, 0x00000000, 0x00260097, 0x00A0005B, 0x00000000, 0x004B0000, 0x00250097, 0x00230097, 0x10404100, 0x00000000, 0x00260070, 0x00E30024, 0x00000000, 0x00C80000, 0x00250070, 0x00230070, 0x10403800, 0x00000000, 0x00260069, 0x00A4001D, 0x00000000, 0x004B0000, 0x00250069, 0x00230069, 0x10400A00, 0x00000000, 0x0026005D, 0x00A6000A, 0x00000000, 0x004B0000, 0x0025005D, 0x0023005D, 0x10402200, 0x00000000, 0x00000000, 0x00A80014, 0x00000000, 0x001E0000, 0x00000000, 0x00000000, 0x10400B00, 0x00000000, 0x00260081, 0x00A90055, 0x00000000, 0x00640000, 0x00250081, 0x00230081, 0x10404200, 0x00000000, 0x0026008C, 0x00AA005E, 0x00000000, 0x00640000, 0x0025008C, 0x0023008C, 0x10404300, 0x00000000, 0x0026008D, 0x00AB0070, 0x00000000, 0x001E0000, 0x0025008D, 0x0023008D, 0x10405400, 0x00000000, 0x00260093, 0x00AC0050, 0x00000000, 0x00640000, 0x00250093, 0x00230093, 0x10403C00, 0x00000000, 0x00260078, 0x00AD004F, 0x00000000, 0x00320000, 0x00250078, 0x00230078, 0x10405A00, 0x00000000, 0x00000000, 0x00AE0004, 0x00000000, 0x001E0000, 0x00000000, 0x00000000, 0x10402300, 0x00000000, 0x00260094, 0x00AF006F, 0x00000000, 0x000A0000, 0x00250094, 0x00230094, 0x10404E00, 0x00000000, 0x00260072, 0x00B0003A, 0x00000000, 0x00960000, 0x00250072, 0x00230072, 0x10405B00, 0x00000000, 0x00260086, 0x00B10051, 0x00000000, 0x00320000, 0x00250086, 0x00230086, 0x10405F00, 0x00000000, 0x00260095, 0x00B2005A, 0x00000000, 0x004B0000, 0x00250095, 0x00230095, 0x10403D00, 0x00000000, 0x00260074, 0x00B30046, 0x00000000, 0x00FA0000, 0x00250074, 0x00230074, 0x10404500, 0x00000000, 0x00260096, 0x00B40065, 0x00000000, 0x00320000, 0x00250096, 0x00230096, 0x10406300, 0x00000000, 0x0026009A, 0x00B50065, 0x00000000, 0x00C80000, 0x0025009A, 0x0023009A, 0x10405C00, 0x00000000, 0x00260098, 0x00B60069, 0x00000000, 0x00320000, 0x00250098, 0x00230098, 0x10405D00, 0x00000000, 0x00260079, 0x00B7002A, 0x00000000, 0x00640000, 0x00250079, 0x00230079, 0x10405E00, 0x00000000, 0x00260099, 0x00B8005F, 0x00000000, 0x00640000, 0x00250099, 0x00230099, 0x10404400, 0x00000000, 0x00000000, 0x00B90058, 0x00000000, 0x012C0000, 0x00000000, 0x00000000, 0x10406000, 0x00000000, 0x0026009B, 0x00BA0029, 0x00000000, 0x012C0000, 0x0025009B, 0x0023009B, 0x10404F00, 0x00000000, 0x0026009C, 0x00BB0063, 0x00000000, 0x00320000, 0x0025009C, 0x0023009C, 0x10406100, 0x00000000, 0x0026009D, 0x00BC0064, 0x00000000, 0x00320000, 0x0025009D, 0x0023009D, 0x10406E00, 0x00000000, 0x0026007B, 0x00BD003F, 0x00000000, 0x00FA0000, 0x0025007B, 0x0023007B, 0x10406200, 0x00000000, 0x0026006E, 0x00BE0022, 0x00000000, 0x00C80000, 0x0025006E, 0x0023006E, 0x10403600, 0x00000000, 0x00260066, 0x00A7001C, 0x00000000, 0x004B0000, 0x00250066, 0x00230066, 0x10400D00, 0x00000000, 0x0026006C, 0x009B001A, 0x00000000, 0x00C80000, 0x0025006C, 0x0023006C, 0x10400E00, 0x00000000, 0x00260064, 0x009D0015, 0x00000000, 0x00320000, 0x00250064, 0x00230064, 0x10400F00, 0x00000000, 0x0026005A, 0x00A10005, 0x00000000, 0x00320000, 0x0025005A, 0x0023005A, 0x10402500, 0x00000000, 0x00260065, 0x009E0016, 0x00000000, 0x00640000, 0x00250065, 0x00230065, 0x10401100, 0x00000000, 0x0026005B, 0x00A20006, 0x00000000, 0x00640000, 0x0025005B, 0x0023005B, 0x10402700, 0x00000000, 0x00260084, 0x00D10053, 0x00000000, 0x00320000, 0x00250084, 0x00230084, 0x10406400, 0x00000000, 0x00000000, 0x00A3000F, 0x00000000, 0x00320000, 0x00000000, 0x00000000, 0x10402900, 0x00000000, 0x00000000, 0x009F001F, 0x00000000, 0x00320000, 0x00000000, 0x00000000, 0x10401300, 0x00000000, 0x00000000, 0x00D4002D, 0x00000000, 0x012C0000, 0x00000000, 0x00000000, 0x10406500, 0x00000000, 0x00260085, 0x00D20052, 0x00000000, 0x00320000, 0x00250085, 0x00230085, 0x10404600, 0x00000000, 0x00260083, 0x00D30054, 0x00000000, 0x00320000, 0x00250083, 0x00230083, 0x10404700, 0x00000000, 0x00260076, 0x00C9004E, 0x00000000, 0x00640000, 0x00250076, 0x00230076, 0x10403E00, 0x00000000, 0x00260082, 0x00C60056, 0x00000000, 0x012C0000, 0x00250082, 0x00230082, 0x10404800, 0x00000000, 0x00000000, 0x00C70057, 0x00000000, 0x00640000, 0x00000000, 0x00000000, 0x10406600, 0x00000000, 0x00260077, 0x00CA004D, 0x00000000, 0x00640000, 0x00250077, 0x00230077, 0x10404900, 0x00000000, 0x0026006B, 0x009A0019, 0x00000000, 0x00960000, 0x0025006B, 0x0023006B, 0x10401400, 0x00000000, 0x00000000, 0x00A5000E, 0x00000000, 0x004B0000, 0x00000000, 0x00000000, 0x10402A00, 0x00000000, 0x00000000, 0x00BF0042, 0x00000000, 0x012C0000, 0x00000000, 0x00000000, 0x10406700, 0x00000000, 0x0026007C, 0x00CB0061, 0x00000000, 0x004B0000, 0x0025007C, 0x0023007C, 0x10406800, 0x00000000, 0x0026007D, 0x00CC0062, 0x00000000, 0x004B0000, 0x0025007D, 0x0023007D, 0x10406900, 0x00000000, 0x00260089, 0x00CF006C, 0x00000000, 0x00960000, 0x00250089, 0x00230089, 0x10406A00, 0x00000000, 0x0026008A, 0x00CD006B, 0x00000000, 0x00640000, 0x0025008A, 0x0023008A, 0x10406B00, 0x00000000, 0x0026009E, 0x00D00068, 0x00000000, 0x00C80000, 0x0025009E, 0x0023009E, 0x10406C00, 0x00000000, 0x0026008B, 0x00CE006A, 0x00000000, 0x00320000, 0x0025008B, 0x0023008B, 0x10406D00, 0x00000000, 0x00260088, 0x00C8006E, 0x00000000, 0x00C80000, 0x00250088, 0x00230088, 0x10405000, 0x00000000, 0x00260058, 0x00C00001, 0x00000000, 0x00320000, 0x00250058, 0x00230058, 0x10402B00, 0x00000000, 0x00000000, 0x00C10002, 0x00000000, 0x00640000, 0x00000000, 0x00000000, 0x10402C00, 0x00000000, 0x00260059, 0x00C20003, 0x00000000, 0x00C80000, 0x00250059, 0x00230059, 0x10402D00, 0x00000000, 0x00260062, 0x00C30011, 0x00000000, 0x00320000, 0x00250062, 0x00230062, 0x10401500, 0x00000000, 0x00000000, 0x00C40012, 0x00000000, 0x00640000, 0x00000000, 0x00000000, 0x10401600, 0x00000000, 0x00260063, 0x00C50013, 0x00000000, 0x00C80000, 0x00250063, 0x00230063, 0x10401700, 0x00000000, 0x00260062, 0x01400011, 0x00000000, 0x00320000, 0x00250062, 0x00230062, 0x10401700, 0x00000000, 0x00260062, 0x01400011, 0x00000000, 0x00320000, 0x00250062, 0x00230062, 0x10401700, 0x00000000, 0x0026007E, 0x00E00031, 0x00000000, 0x00320000, 0x0025007E, 0x0023007E, 0x10407100, 0x00000000, 0x00000000, 0x00E10034, 0x00000000, 0x00640000, 0x00000000, 0x00000000, 0x10407200, 0x00000000, 0x00260067, 0x00D8001B, 0x00000000, 0x004B0000, 0x00250067, 0x00230067, 0x10401800, 0x00000000, 0x00000000, 0x0140001E, 0x00000000, 0x00640000, 0x00000000, 0x00000000, 0x10401900, 0x00000000, 0x00000000, 0x00E20027, 0x00000000, 0x012C0000, 0x00000000, 0x00000000, 0x10407300, 0x00000000, 0x00260060, 0x00DA000C, 0x00000000, 0x00640000, 0x00250060, 0x00230060, 0x10402E00, 0x00000000, 0x0026005F, 0x00D90008, 0x00000000, 0x004B0000, 0x0025005F, 0x0023005F, 0x10402F00, 0x00000000, 0x00260075, 0x00DB0049, 0x00000000, 0x00960000, 0x00250075, 0x00230075, 0x10403300, 0x00000000, 0x00000000, 0x00DC000B, 0x00000000, 0x00640000, 0x00000000, 0x00000000, 0x10403000, 0x00000000, 0x0026007E, 0x00E00031, 0x00000000, 0x00320000, 0x0025007E, 0x0023007E, 0x10407100, 0x00000000, 0x0026007E, 0x00E00031, 0x00000000, 0x00320000, 0x0025007E, 0x0023007E, 0x10407100, 0x00000000, 0x00260071, 0x00970035, 0x00000000, 0x00960000, 0x00250071, 0x00230071, 0x10405200, 0x00000000, 0x00260072, 0x00B0003A, 0x00000000, 0x00960000, 0x00250072, 0x00230072, 0x10405B00, 0x00000000, 0x00260079, 0x00B7002A, 0x00000000, 0x00640000, 0x00250079, 0x00230079, 0x10405E00, 0x00000000, 0x00260079, 0x00B7002A, 0x00000000, 0x00640000, 0x00250079, 0x00230079, 0x10405E00, 0x00000000, 0x0026007B, 0x00BD003F, 0x00000000, 0x00FA0000, 0x0025007B, 0x0023007B, 0x10406200, 0x00000000, 0x0026007B, 0x00BD003F, 0x00000000, 0x00FA0000, 0x0025007B, 0x0023007B, 0x10406200, 0x00000000, 0x00260075, 0x00DB0049, 0x00000000, 0x00960000, 0x00250075, 0x00230075, 0x10403300, 0x00000000, 0x00260075, 0x00DB0049, 0x00000000, 0x00960000, 0x00250075, 0x00230075, 0x10403300, 0x00000000, 0x00260073, 0x00920043, 0x00000000, 0x00FA0000, 0x00250073, 0x00230073, 0x10403B00, 0x00000000, 0x00260073, 0x00920043, 0x00000000, 0x00FA0000, 0x00250073, 0x00230073, 0x10403B00, 0x00000000, 0x00260074, 0x00B30046, 0x00000000, 0x00FA0000, 0x00250074, 0x00230074, 0x10404500, 0x00000000, 0x00260074, 0x00B30046, 0x00000000, 0x00FA0000, 0x00250074, 0x00230074, 0x10404500, 0x00000000, 0x0026007A, 0x00DD002E, 0x00000000, 0x00640000, 0x0025007A, 0x0023007A, 0x10407400, 0x00000000, 0x0026007A, 0x00DD002E, 0x00000000, 0x00640000, 0x0025007A, 0x0023007A, 0x10407400, 0x00000000, 0x0026007A, 0x00DD002E, 0x00000000, 0x00640000, 0x0025007A, 0x0023007A, 0x10407400, 0x00000000, 0x0026006F, 0x00E90023, 0x00000000, 0x00640000, 0x0025006F, 0x0023006F, 0x10407500, 0x00000000, 0x0026009F, 0x00E80025, 0x00000000, 0x00640000, 0x0025009F, 0x0023009F, 0x10407600, 0x00000000, 0x0026008E, 0x00EA0073, 0x00000000, 0x001E0000, 0x0025008E, 0x0023008E, 0x10405500, 0x00000000, 0x0026008F, 0x00EB0071, 0x00000000, 0x001E0000, 0x0025008F, 0x0023008F, 0x10405600, 0x00000000, 0x00260090, 0x00EC0074, 0x00000000, 0x001E0000, 0x00250090, 0x00230090, 0x10405700, 0x00000000, 0x00260091, 0x00ED0072, 0x00000000, 0x001E0000, 0x00250091, 0x00230091, 0x10405800, 0x00000000, 0x00260092, 0x00EE0075, 0x00000000, 0x001E0000, 0x00250092, 0x00230092, 0x10405900, 0x00000000, 0x00260071, 0x00970035, 0x00000000, 0x00960000, 0x00250071, 0x00230071, 0x10405200, 0x00000000, 0x00260071, 0x00970035, 0x00000000, 0x00960000, 0x00250071, 0x00230071, 0x10405200, 0x00000000, 0x00260071, 0x00970035, 0x00000000, 0x00960000, 0x00250071, 0x00230071, 0x10405200, 0x00000000, 0x00260072, 0x00B0003A, 0x00000000, 0x00960000, 0x00250072, 0x00230072, 0x10405B00, 0x00000000, 0x00260072, 0x00B0003A, 0x00000000, 0x00960000, 0x00250072, 0x00230072, 0x10405B00, 0x00000000, 0x00260072, 0x00B0003A, 0x00000000, 0x00960000, 0x00250072, 0x00230072, 0x10405B00, 0x00000000, 0x00000000, 0x00F0005D, 0x00000000, 0x00640000, 0x00000000, 0x00000000, 0x10404A00, 0x00000000, 0x00260092, 0x00EE0075, 0x00000000, 0x001E0000, 0x00250092, 0x00230092, 0x10405900, 0x00000000, 0x00260092, 0x00EE0075, 0x00000000, 0x001E0000, 0x00250092, 0x00230092, 0x10405900, 0x00000000, 0x00260092, 0x00EE0075, 0x00000000, 0x001E0000, 0x00250092, 0x00230092, 0x10405900, 0x00000000, 0x00260092, 0x00EE0075, 0x00000000, 0x001E0000, 0x00250092, 0x00230092, 0x10405900, 0x00000000, 0x00000000, 0x01490000, 0x00000008, 0x00010000, 0x00000000, 0x00000000, 0x10400000, 0x00000000, 0x00000000, 0x00310000, 0x00000008, 0xFFFF0000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00320000, 0x00000008, 0x00010000, 0x00000000, 0x00000000, 0x02000000, 0x00000000, 0x00000000, 0x00330000, 0x00000008, 0xFFFF0000, 0x00000000, 0x00000000, 0x02000000, 0x00000000, 0x00000000, 0x00340000, 0x00000008, 0xFFFF0000, 0x00000000, 0x00000000, 0x02000000, 0x00000000, 0x00000000, 0x00350000, 0x00000008, 0xFFFF0000, 0x00000000, 0x00000000, 0x12000000, 0x00000000, 0x00000000, 0x00360000, 0x00000008, 0x00010000, 0x00000000, 0x00000000, 0x12000000, 0x00000000, 0x0026010C, 0x00370000, 0x00000008, 0x00010000, 0x00000000, 0x00000000, 0x12000000, 0x00000000, 0x00000000, 0x01400000, 0x00000008, 0x00000000, 0x00000000, 0x00000000, 0x10000000, 0x00000000, 0x00000000, 0x01410000, 0x00000008, 0x00000000, 0x00000000, 0x00000000, 0x10000000, 0x00000000, 0x00000000, 0x01420000, 0x00000008, 0x00000000, 0x00000000, 0x00000000, 0x10000000, 0x00000000, 0x00000000, 0x01430000, 0x00000008, 0x00000000, 0x00000000, 0x00000000, 0x10000000, 0x00000000, 0x00000000, 0x01440000, 0x00000008, 0x00000000, 0x00000000, 0x00000000, 0x10000000, 0x00000000, 0x00000000, 0x01450000, 0x00000008, 0x00000000, 0x00000000, 0x00000000, 0x10000000, 0x00000000, 0x00000000, 0x01460000, 0x00000008, 0x00000000, 0x00000000, 0x00000000, 0x10000000, 0x00000000, 0x00000000, 0x01470000, 0x00000008, 0x00000000, 0x00000000, 0x00000000, 0x10000000, 0x00000000, 0x00000000, 0x01480000, 0x00000008, 0x00000000, 0x00000000, 0x00000000, 0x10000000, 0x00000000, 0x00000000, 0x014A0000, 0x00000008, 0x00000000, 0x00000000, 0x00000000, 0x10000000, 0x00000000, 0x00000000, 0x014B0000, 0x00000008, 0x00000000, 0x00000000, 0x00000000, 0x10000000, 0x00000000, 0x00000000, 0x014C0000, 0x00000008, 0x00000000, 0x00000000, 0x00000000, 0x10000000, 0x00000000, 0x00000000, 0x014D0000, 0x00000008, 0x00000000, 0x00000000, 0x00000000, 0x10000000, 0x00000000, 0x00000000, 0x014E0000, 0x00000008, 0x00000000, 0x00000000, 0x00000000, 0x10000000, 0x00000000, 0x00000000, 0x014F0000, 0x00000008, 0x00000000, 0x00000000, 0x00000000, 0x10000000, 0x00000000, 0x00000000, 0x01500000, 0x00000008, 0x00000000, 0x00000000, 0x00000000, 0x10000000, 0x00000000, 0x00000000, 0x00000000, 0x800827D8, 0x80082808, 0x80082838, 0x80082868, 0x80082898, 0x800828C8, 0x800828F8, 0x80082928, 0x80082958, 0x80082988, 0x800829B8, 0x800829E8, 0x80082A18, 0x80082A48, 0x80082A78, 0x80082AA8, 0x80082AD8, 0x80082B08, 0x80082B38, 0x80082B68, 0x80082B98, 0x80082BC8, 0x80082BF8, 0x80082C28, 0x80082C58, 0x80082C88, 0x80082CB8, 0x80082CE8, 0x80082D18, 0x80082D48, 0x80082D78, 0x80082DA8, 0x80082DD8, 0x80082E08, 0x80082E38, 0x80082E68, 0x80082E98, 0x80082EC8, 0x80082EF8, 0x80082F28, 0x80082F58, 0x80082F88, 0x80082FB8, 0x80082FE8, 0x80083018, 0x80083048, 0x80083078, 0x800830A8, 0x800830D8, 0x80083108, 0x80083138, 0x80083168, 0x80083198, 0x800831C8, 0x800831F8, 0x80083228, 0x80083258, 0x80083288, 0x800832B8, 0x800832E8, 0x80083318, 0x80083348, 0x80083378, 0x800833A8, 0x800833D8, 0x80083408, 0x80083438, 0x80083468, 0x80083498, 0x800834C8, 0x800834F8, 0x80083528, 0x80083558, 0x80083588, 0x800835B8, 0x800835E8, 0x80083618, 0x80083648, 0x80083678, 0x800836A8, 0x800836D8, 0x80083708, 0x80083738, 0x80083768, 0x80083798, 0x800837C8, 0x800837F8, 0x80083828, 0x80083858, 0x80083888, 0x800838B8, 0x800838E8, 0x80083918, 0x80083948, 0x80083978, 0x800839A8, 0x80080820, 0x80080820, 0x80080868, 0x80080868, 0x800807F0, 0x800807F0, 0x80080FF0, 0x80080FF0, 0x800811A0, 0x800811A0, 0x80081200, 0x80081200, 0x80081260, 0x80081260, 0x800812D8, 0x800812D8, 0x80081308, 0x80081308, 0x80081338, 0x80081338, 0x80081368, 0x80081368, 0x80081398, 0x80081398, 0x800813C8, 0x800813C8, 0x800813F8, 0x800813F8, 0x80081428, 0x80081428, 0x80081458, 0x80081458, 0x80081488, 0x80081488, 0x800814B8, 0x800814B8, 0x800814E8, 0x800814E8, 0x80081518, 0x80081518, 0x80081548, 0x80081548, 0x80081578, 0x80081578, 0x800815A8, 0x800815A8, 0x800815D8, 0x800815D8, 0x80081608, 0x80081608, 0x80081638, 0x80081638, 0x80081668, 0x80081668, 0x80081698, 0x80081698, 0x800816C8, 0x800816C8, 0x800816F8, 0x800816F8, 0x80081728, 0x80081728, 0x80081758, 0x80081758, 0x80081788, 0x80081788, 0x800817B8, 0x800817B8, 0x800817E8, 0x800817E8, 0x80081818, 0x80081818, 0x80081848, 0x80081848, 0x80081878, 0x80081878, 0x800818A8, 0x800818A8, 0x800818D8, 0x800818D8, 0x80081908, 0x80081908, 0x80081938, 0x80081938, 0x80081968, 0x80081968, 0x80081998, 0x80081998, 0x800819C8, 0x800819C8, 0x800819F8, 0x800819F8, 0x80081A28, 0x80081A28, 0x80081A58, 0x80081A58, 0x80081A88, 0x80081A88, 0x80081AB8, 0x80081AB8, 0x80081AE8, 0x80081AE8, 0x80081B18, 0x80081B18, 0x80081B48, 0x80081B48, 0x80081B78, 0x80081B78, 0x80081BA8, 0x80081BA8, 0x80081BD8, 0x80081BD8, 0x80081C08, 0x80081C08, 0x80081C38, 0x80081C38, 0x80081C68, 0x80081C68, 0x80081C98, 0x80081C98, 0x80081CC8, 0x80081CC8, 0x80081CF8, 0x80081CF8, 0x80081D28, 0x80081D28, 0x80081D58, 0x80081D58, 0x80081D88, 0x80081D88, 0x80081DB8, 0x80081DB8, 0x80081DE8, 0x80081DE8, 0x80081E18, 0x80081E18, 0x80081E48, 0x80081E48, 0x80081E78, 0x80081E78, 0x80081EA8, 0x80081EA8, 0x80081ED8, 0x80081ED8, 0x80081F08, 0x80081F08, 0x80081F38, 0x80081F38, 0x80081F68, 0x80081F68, 0x80081F98, 0x80081F98, 0x80081FC8, 0x80081FC8, 0x80081FF8, 0x80081FF8, 0x80082028, 0x80082028, 0x80082058, 0x80082058, 0x80082088, 0x80082088, 0x800820B8, 0x800820B8, 0x800820E8, 0x800820E8, 0x80082118, 0x80082118, 0x80082148, 0x80082148, 0x80082178, 0x80082178, 0x800821A8, 0x800821A8, 0x800821D8, 0x80082208, 0x80082238, 0x80082268, 0x80082298, 0x800822C8, 0x800822F8, 0x80082328, 0x80082358, 0x80082388, 0x800823B8, 0x800823E8, 0x80082418, 0x80082448, 0x80082478, 0x800824A8, 0x800839D8, 0x80083A08, 0x80083A38, 0x80083A68, 0x80083A98, 0x80083AC8, 0x80083AF8, 0x80083B28, 0x80083B58, 0x80083B88, 0x80083BB8, 0x80083BE8, 0x80083C18, 0x80083C48, 0x80083C78, 0x80083CA8, 0x80083CD8, 0x80083D08, 0x80083D38, 0x80083D68, 0x80083D98, 0x80083DC8, 0x80083DF8, 0x80083E28, 0x80083E58, 0x80083E88, 0x80083EB8, 0x80083EE8, 0x80083F18, 0x80083F48, 0x80083F78, 0x80083FA8, 0x80083FD8, 0x80084008, 0x80084038, 0x80084068, 0x80084098, 0x800840C8, 0x800840F8, 0x80084128, 0x80084158, 0x80084188, 0x800841B8, 0x800841E8, 0x80084218, 0x80084248, 0x80084278, 0x800842A8, 0x800842D8, 0x80084308, 0x80084338, 0x80084368, 0x80084398, 0x800843C8, 0x800843F8, 0x80084428, 0x80084458, 0x80084488, 0x800844B8, 0x800844E8, 0x80084518, 0x80084548, 0x80084578, 0x800845A8, 0x800845D8, 0x80084608, 0x80084638, 0x80084668, 0x80084698, 0x800846C8, 0x800846F8, 0x80084728, 0x80084758, 0x80084788, 0x800847B8, 0x800847E8, 0x80084818, 0x80084848, 0x80084878, 0x800848A8, 0x800848D8, 0x80084908, 0x80084938, 0x80084968, 0x80084998, 0x800849C8, 0x800849F8, 0x80084A28, 0x80084A58, 0x80084A88, 0x80084AB8, 0x80084AE8, 0x80084B18, 0x80084B48, 0x80084B78, 0x80084BA8, 0x80084BD8, 0x80084C08, 0x80084C38, 0x80084C68, 0x80084C98, 0x80084CC8, 0x80084CF8, 0x80084D28, 0x80084D58, 0x80084D88, 0x80084DB8, 0x80084DE8, 0x80084E18, 0x80084E48, 0x80084E78, 0x80084EA8, 0x80084ED8, 0x80084F08, 0x80084F38, 0x80084F68, 0x80084F98, 0x80084FC8, 0x80084FF8, 0x80085028, 0x80085058, 0x80085088, 0x800850B8, 0x800850E8, 0x80085118, 0x80085148, 0x80085178, 0x800851A8, 0x800851D8, 0x80085208, 0x80085238, 0x80085268, 0x80085298, 0x800852C8, 0x800852F8, 0x80085328, 0x80085358, 0x80085388, 0x800853B8, 0x800853E8, 0x80085418, 0x80085448, 0x80085478, 0x800854A8, 0x800854D8, 0x80085508, 0x80085538, 0x80085568, 0x80085598, 0x800855C8, 0x800855F8, 0x80085628, 0x80085658, 0x80085688, 0x800856B8, 0x800856E8, 0x80085718, 0x80085748, 0x80085778, 0x800857A8, 0x800857D8, 0x80085808, 0x80085838, 0x80085868, 0x80085898, 0x800858C8, 0x800858F8, 0x80085928, 0x80085958, 0x80085988, 0x800859B8, 0x800859E8, 0x80085A18, 0x80085A48, 0x80085A78, 0x80085AA8, 0x80085AD8, 0x80085B08, 0x80085B38, 0x80085B68, 0x80085B98, 0x80085BC8, 0x80085BF8, 0x80085C28, 0x80085C58, 0x80085C88, 0x80085CB8, 0x80085CE8, 0x80085D18, 0x80085D48, 0x80085D78, 0x80085DA8, 0x80085DD8, 0x80085E08, 0x80085E38, 0x80085E68, 0x80085E98, 0x80085EC8, 0x80085EF8, 0x80085F28, 0x80085F58, 0x80085F88, 0x80085FB8, 0x80085FE8, 0x80086018, 0x80086048, 0x80086078, 0x800860A8, 0x800866D8, 0x80086708, 0x80086738, 0x80086768, 0x80086798, 0x800867C8, 0x800867F8, 0x80086828, 0x80086858, 0x80086888, 0x800868B8, 0x800868E8, 0x80086918, 0x80086948, 0x80086978, 0x800869A8, 0x800869D8, 0x80086A08, 0x80086A38, 0x80086A68, 0x80086A98, 0x80086AC8, 0x80086AF8, 0x80086B28, 0x80086B58, 0x80086B88, 0x80086BB8, 0x80086BE8, 0x80086C18, 0x80086C48, 0x80086C78, 0x80086CA8, 0x80086CD8, 0x80086D08, 0x80086D38, 0x80086D68, 0x80086D98, 0x80086DC8, 0x80086DF8, 0x80086E28, 0x80086E58, 0x80086E88, 0x80086EB8, 0x80086EE8, 0x80086F18, 0x80086F48, 0x80086F78, 0x80086FA8, 0x80086FD8, 0x80087008, 0x80087038, 0x80087068, 0x80087098, 0x800870C8, 0x800870F8, 0x80087128, 0x80087158, 0x80087188, 0x800871B8, 0x800871E8, 0x80087218, 0x80087248, 0x80087278, 0x800872A8, 0x800872D8, 0x80087308, 0x80087338, 0x80087368, 0x80087398, 0x800873C8, 0x800873F8, 0x80087428, 0x80087458, 0x80087488, 0x800874B8, 0x800874E8, 0x80087518, 0x80087548, 0x80087578, 0x800875A8, 0x800860D8, 0x80086108, 0x80086138, 0x80086168, 0x80086198, 0x800861C8, 0x800861F8, 0x80086228, 0x80086258, 0x80086288, 0x800862B8, 0x800862E8, 0x80086318, 0x80086348, 0x80086378, 0x800863A8, 0x800863D8, 0x80086408, 0x80086438, 0x80086468, 0x80086498, 0x800864C8, 0x800864F8, 0x80086528, 0x80086558, 0x80086588, 0x800865B8, 0x800865E8, 0x80086618, 0x80086648, 0x80086678, 0x800866A8, 0x800875D8, 0x80087608, 0x80087638, 0x80087668, 0x80087698, 0x800876C8, 0x800876F8, 0x80087728, 0x80087758, 0x80087788, 0x800877B8, 0x800877E8, 0x80087818, 0x80087848, 0x80087878, 0x800878A8, 0x800824D8, 0x80082508, 0x80082538, 0x80082568, 0x80082598, 0x800825C8, 0x800825F8, 0x80082628, 0x80082658, 0x80082688, 0x800826B8, 0x800826E8, 0x80082718, 0x80082748, 0x80082778, 0x800827A8, 0x800804F0, 0x800804F0, 0x80080520, 0x80080520, 0x80080550, 0x80080550, 0x80080580, 0x80080580, 0x800805B0, 0x800805B0, 0x800805E0, 0x800805E0, 0x80080610, 0x80080610, 0x80080640, 0x80080640, 0x80080670, 0x80080670, 0x80109338, 0x801093D8, 0x800806A0, 0x800806A0, 0x800806D0, 0x800806D0, 0x80080700, 0x80080700, 0x80080730, 0x80080730, 0x80080760, 0x80080760, 0x80080790, 0x80080790, 0x800807C0, 0x800807C0, 0x00000001, 0x000000FF, 0x00000000, 0x00000200, 0x00000000, 0x00000000, 0x00000000, 0x00000001, 0x000000FF, 0x00000000, 0x00000200, 0x00000000, 0x00000000, 0x00000000, 0x00000001, 0x000000FF, 0x00000220, 0x00000420, 0x00000000, 0x00000000, 0x00000000, 0x00000001, 0x000000FF, 0x00000440, 0x00000640, 0x00000000, 0x00000000, 0x00000000, 0x00000001, 0x000000FF, 0x00000660, 0x00000860, 0x00000000, 0x00000000, 0x00000000, 0x00000001, 0x000000FF, 0x00000880, 0x00000A80, 0x00000000, 0x00000000, 0x00000000, 0x00000001, 0x000000FF, 0x00000AA0, 0x00000CA0, 0x00000000, 0x00000000, 0x00000000, 0x00000001, 0x000000FF, 0x00000CC0, 0x00000EC0, 0x00000000, 0x00000000, 0x00000000, 0x00000001, 0x000000FF, 0x00000EE0, 0x000010E0, 0x00000000, 0x00000000, 0x00000000, 0x00000001, 0x000000FF, 0x00001100, 0x00001300, 0x00000000, 0x00000000, 0x00000000, 0x00000001, 0x000000FF, 0x0002D940, 0x0002DB40, 0x00000000, 0x00000000, 0x00000000, 0x00000001, 0x000000FF, 0x0002DB80, 0x0002DD80, 0x00000000, 0x00000000, 0x00000000, 0x00000001, 0x000000FF, 0x0002DDC0, 0x0002DFC0, 0x00000000, 0x00000000, 0x00000000, 0x00000001, 0x000000FF, 0x0002E000, 0x0002E200, 0x00000000, 0x00000000, 0x00000000, 0x00000001, 0x000000FF, 0x0002E240, 0x0002E440, 0x00000000, 0x00000000, 0x00000000, 0x00000001, 0x000000FF, 0x0002E480, 0x0002E680, 0x00000000, 0x00000000, 0x00000000, 0x00000001, 0x000000FF, 0x0002E6C0, 0x0002E8C0, 0x00000000, 0x00000000, 0x00000000, 0x00000001, 0x0000003C, 0x00013BC0, 0x00013DC0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00013E00, 0x00014000, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00014040, 0x00014240, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00014280, 0x00014480, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x000144C0, 0x000146C0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00014700, 0x00014900, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00014940, 0x00014B40, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00014B80, 0x00014D80, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00001320, 0x00001520, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00001540, 0x00001740, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00001760, 0x00001960, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00001980, 0x00001B80, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00001BA0, 0x00001DA0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00001DC0, 0x00001FC0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00001FE0, 0x000021E0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00002200, 0x00002400, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00009020, 0x00009220, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00009240, 0x00009440, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00009460, 0x00009660, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00009680, 0x00009880, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x000098A0, 0x00009AA0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00009AC0, 0x00009CC0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00009CE0, 0x00009EE0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00009F00, 0x0000A100, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0000A120, 0x0000A320, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0000A340, 0x0000A540, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0000A560, 0x0000A760, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0000A780, 0x0000A980, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0000A9A0, 0x0000ABA0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0000ABC0, 0x0000ADC0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0000ADE0, 0x0000AFE0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0000B000, 0x0000B200, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0000B220, 0x0000B420, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0000B440, 0x0000B640, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0000B660, 0x0000B860, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0000B880, 0x0000BA80, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0000BAA0, 0x0000BCA0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0000BCC0, 0x0000BEC0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0000BEE0, 0x0000C0E0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0000C100, 0x0000C300, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0000C320, 0x0000C520, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0000C540, 0x0000C740, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0000C760, 0x0000C960, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0000C980, 0x0000CB80, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0000CBA0, 0x0000CDA0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0000CDC0, 0x0000CFC0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0000CFE0, 0x0000D1E0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0000D200, 0x0000D400, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0000D420, 0x0000D620, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0000D640, 0x0000D840, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0000D860, 0x0000DA60, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0000DAA0, 0x0000DCA0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0000DCC0, 0x0000DEC0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0000DEE0, 0x0000E0E0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0000E100, 0x0000E300, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0000E320, 0x0000E520, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0000E540, 0x0000E740, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0000E760, 0x0000E960, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0000E980, 0x0000EB80, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0000EBC0, 0x0000EDC0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0000EDE0, 0x0000EFE0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0000F000, 0x0000F200, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0000F220, 0x0000F420, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0000F440, 0x0000F640, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0000F660, 0x0000F860, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0000F880, 0x0000FA80, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0000FAA0, 0x0000FCA0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0000FCE0, 0x0000FEE0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0000FF00, 0x00010100, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00010120, 0x00010320, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00010340, 0x00010540, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00010560, 0x00010760, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00010780, 0x00010980, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x000109A0, 0x00010BA0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00010BC0, 0x00010DC0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00010E00, 0x00011000, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00011020, 0x00011220, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00011240, 0x00011440, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00011460, 0x00011660, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00011680, 0x00011880, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x000118A0, 0x00011AA0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00011AC0, 0x00011CC0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00011CE0, 0x00011EE0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00011F20, 0x00012120, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00012140, 0x00012340, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00012360, 0x00012560, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00012580, 0x00012780, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x000127A0, 0x000129A0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x000129C0, 0x00012BC0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00012C00, 0x00012E00, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00012E40, 0x00013040, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00013080, 0x00013280, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x000132C0, 0x000134C0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00013500, 0x00013700, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00013740, 0x00013940, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00013980, 0x00013B80, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00014DC0, 0x00014FC0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00015000, 0x00015200, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00015240, 0x00015440, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00015480, 0x00015680, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x000156C0, 0x000158C0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00015900, 0x00015B00, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00015B40, 0x00015D40, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00015D80, 0x00015F80, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00015FC0, 0x000161C0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00016200, 0x00016400, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00016440, 0x00016640, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00016680, 0x00016880, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x000168C0, 0x00016AC0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00016B00, 0x00016D00, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00016D40, 0x00016F40, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00016F80, 0x00017180, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x000171C0, 0x000173C0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00017400, 0x00017600, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00017640, 0x00017840, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00017880, 0x00017A80, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00017AC0, 0x00017CC0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00017D00, 0x00017F00, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00017F40, 0x00018140, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00018180, 0x00018380, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x000183C0, 0x000185C0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00018600, 0x00018800, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00018840, 0x00018A40, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00018A80, 0x00018C80, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00018CC0, 0x00018EC0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00018F00, 0x00019100, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00019140, 0x00019340, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00019380, 0x00019580, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x000195C0, 0x000197C0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00019800, 0x00019A00, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00019A40, 0x00019C40, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00019C80, 0x00019E80, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00019EC0, 0x0001A0C0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0001A100, 0x0001A300, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0001A340, 0x0001A540, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0001A580, 0x0001A780, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0001A7C0, 0x0001A9C0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0001AA00, 0x0001AC00, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0001AC40, 0x0001AE40, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0001AE80, 0x0001B080, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0001B0C0, 0x0001B2C0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0001B300, 0x0001B500, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0001B540, 0x0001B740, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0001B780, 0x0001B980, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0001B9C0, 0x0001BBC0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0001BC00, 0x0001BE00, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0001BE40, 0x0001C040, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0001C080, 0x0001C280, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0001C2C0, 0x0001C4C0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0001C500, 0x0001C700, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0001C740, 0x0001C940, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0001C980, 0x0001CB80, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0001CBC0, 0x0001CDC0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0001CE00, 0x0001D000, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0001D040, 0x0001D240, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0001D280, 0x0001D480, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0001D4C0, 0x0001D6C0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0001D700, 0x0001D900, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0001D940, 0x0001DB40, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0001DB80, 0x0001DD80, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0001DDC0, 0x0001DFC0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0001E000, 0x0001E200, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0001E240, 0x0001E440, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0001E480, 0x0001E680, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0001E6C0, 0x0001E8C0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0001E900, 0x0001EB00, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0001EB40, 0x0001ED40, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0001ED80, 0x0001EF80, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0001EFC0, 0x0001F1C0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0001F200, 0x0001F400, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0001F440, 0x0001F640, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0001F680, 0x0001F880, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0001F8C0, 0x0001FAC0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0001FB00, 0x0001FD00, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0001FD40, 0x0001FF40, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0001FF80, 0x00020180, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x000201C0, 0x000203C0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00020400, 0x00020600, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00020640, 0x00020840, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00020880, 0x00020A80, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00020AC0, 0x00020CC0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00020D00, 0x00020F00, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00020F40, 0x00021140, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00021180, 0x00021380, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x000213C0, 0x000215C0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00021600, 0x00021800, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00021840, 0x00021A40, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00021A80, 0x00021C80, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00021CC0, 0x00021EC0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00021F00, 0x00022100, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00022140, 0x00022340, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00022380, 0x00022580, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x000225C0, 0x000227C0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00022800, 0x00022A00, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00022A40, 0x00022C40, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00022C80, 0x00022E80, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00022EC0, 0x000230C0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00023100, 0x00023300, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00023340, 0x00023540, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00023580, 0x00023780, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000000A, 0x00030A60, 0x00030B80, 0x00000000, 0x00000000, 0x00000001, 0x00000006, 0x00030BA0, 0x00030CC0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000003, 0x00000001, 0x00000003, 0x0002F5C0, 0x0002F6E0, 0x00000000, 0x00000000, 0x00000001, 0x00000003, 0x0002F700, 0x0002F820, 0x00000000, 0x00000000, 0x00000001, 0x00000003, 0x0002FAC0, 0x0002FBE0, 0x00000000, 0x00000000, 0x00000001, 0x00000003, 0x0002FC00, 0x0002FD20, 0x00000000, 0x00000000, 0x00000001, 0x00000003, 0x0002FD40, 0x0002FE60, 0x00000000, 0x00000000, 0x00000001, 0x00000003, 0x0002FE80, 0x0002FFA0, 0x00000000, 0x00000000, 0x00000001, 0x00000003, 0x0002FFC0, 0x000300E0, 0x00000000, 0x00000000, 0x00000001, 0x00000003, 0x00030100, 0x00030220, 0x00000000, 0x00000000, 0x00000004, 0x00000064, 0x00000032, 0x00000001, 0x00000003, 0x0002F5C0, 0x0002F6E0, 0x00000000, 0x00000000, 0x00000001, 0x00000002, 0x0002F700, 0x0002F820, 0x00000000, 0x00000000, 0x00000001, 0x00000001, 0x0002F840, 0x0002F960, 0x00000000, 0x00000000, 0x00000001, 0x00000001, 0x0002F980, 0x0002FAA0, 0x00000000, 0x00000000, 0x00000001, 0x00000002, 0x0002FAC0, 0x0002FBE0, 0x00000000, 0x00000000, 0x00000001, 0x00000003, 0x0002FC00, 0x0002FD20, 0x00000000, 0x00000000, 0x00000001, 0x00000003, 0x0002FD40, 0x0002FE60, 0x00000000, 0x00000000, 0x00000001, 0x00000003, 0x0002FE80, 0x0002FFA0, 0x00000000, 0x00000000, 0x00000001, 0x00000003, 0x0002FFC0, 0x000300E0, 0x00000000, 0x00000000, 0x00000001, 0x00000003, 0x00030100, 0x00030220, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00030CE0, 0x00030E00, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000002, 0x00030E20, 0x00030F40, 0x00000000, 0x00000000, 0x00000001, 0x00000002, 0x00030F60, 0x00031080, 0x00000000, 0x00000000, 0x00000001, 0x00000002, 0x000310A0, 0x000311C0, 0x00000000, 0x00000000, 0x00000001, 0x00000002, 0x000311E0, 0x00031300, 0x00000000, 0x00000000, 0x00000001, 0x00000002, 0x00031320, 0x00031440, 0x00000000, 0x00000000, 0x00000001, 0x00000002, 0x00031460, 0x00031580, 0x00000000, 0x00000000, 0x00000001, 0x00000002, 0x000315A0, 0x000316C0, 0x00000000, 0x00000000, 0x00000001, 0x00000002, 0x000316E0, 0x00031800, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000008, 0x0002E900, 0x0002EB00, 0x00000000, 0x00000000, 0x00000001, 0x00000005, 0x0002EB20, 0x0002ED20, 0x00000000, 0x00000000, 0x00000001, 0x00000008, 0x0002ED40, 0x0002EF40, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000008, 0x0002EF60, 0x0002F160, 0x00000000, 0x00000000, 0x00000001, 0x00000005, 0x0002F180, 0x0002F380, 0x00000000, 0x00000000, 0x00000001, 0x00000008, 0x0002F3A0, 0x0002F5A0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000000C, 0x00030400, 0x00030600, 0x00000000, 0x00000000, 0x00000001, 0x00000004, 0x00030620, 0x00030820, 0x00000000, 0x00000000, 0x00000001, 0x0000000C, 0x00030840, 0x00030A40, 0x00000000, 0x00000000, 0x00000001, 0x00000004, 0x00030620, 0x00030820, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00002420, 0x00002620, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00002660, 0x00002860, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x000028A0, 0x00002AA0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00002AE0, 0x00002CE0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00002D20, 0x00002F20, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00002F60, 0x00003160, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x000031A0, 0x000033A0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x000033E0, 0x000035E0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00003620, 0x00003820, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00003860, 0x00003A60, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00003AA0, 0x00003CA0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00003CE0, 0x00003EE0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00003F20, 0x00004120, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00004160, 0x00004360, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x000043A0, 0x000045A0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x000045E0, 0x000047E0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00004820, 0x00004A20, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00004A60, 0x00004C60, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00004CA0, 0x00004EA0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00004EE0, 0x000050E0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00005120, 0x00005320, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00005360, 0x00005560, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x000055A0, 0x000057A0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x000057E0, 0x000059E0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00005A20, 0x00005C20, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00005C60, 0x00005E60, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00005EA0, 0x000060A0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x000060E0, 0x000062E0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00006320, 0x00006520, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00006560, 0x00006760, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x000067A0, 0x000069A0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x000069E0, 0x00006BE0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00006C20, 0x00006E20, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00006E60, 0x00007060, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x000070A0, 0x000072A0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x000072E0, 0x000074E0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00007520, 0x00007720, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00007760, 0x00007960, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x000079A0, 0x00007BA0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00007BE0, 0x00007DE0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00007E20, 0x00008020, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00008060, 0x00008260, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x000082A0, 0x000084A0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x000084E0, 0x000086E0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00008720, 0x00008920, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00008960, 0x00008B60, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00008BA0, 0x00008DA0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00008DE0, 0x00008FE0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0002A3C0, 0x0002A5C0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0002A600, 0x0002A800, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0002A840, 0x0002AA40, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0002AA80, 0x0002AC80, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0002ACC0, 0x0002AEC0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0002AF00, 0x0002B100, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0002B140, 0x0002B340, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0002B380, 0x0002B580, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0002B5C0, 0x0002B7C0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0002B800, 0x0002BA00, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0002BA40, 0x0002BC40, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0002BC80, 0x0002BE80, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0002BEC0, 0x0002C0C0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0002C100, 0x0002C300, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0002C340, 0x0002C540, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0002C580, 0x0002C780, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x000237C0, 0x000239C0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00023A00, 0x00023C00, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00023C40, 0x00023E40, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00023E80, 0x00024080, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x000240C0, 0x000242C0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00024300, 0x00024500, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00024540, 0x00024740, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00024780, 0x00024980, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x000249C0, 0x00024BC0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00024C00, 0x00024E00, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00024E40, 0x00025040, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00025080, 0x00025280, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x000252C0, 0x000254C0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00025500, 0x00025700, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00025740, 0x00025940, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00025980, 0x00025B80, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00025BC0, 0x00025DC0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00025E00, 0x00026000, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00026040, 0x00026240, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00026280, 0x00026480, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x000264C0, 0x000266C0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00026700, 0x00026900, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00026940, 0x00026B40, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00026B80, 0x00026D80, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00026DC0, 0x00026FC0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00027000, 0x00027200, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00027240, 0x00027440, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00027480, 0x00027680, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x000276C0, 0x000278C0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00027900, 0x00027B00, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00027B40, 0x00027D40, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00027D80, 0x00027F80, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00027FC0, 0x000281C0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00028200, 0x00028400, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00028440, 0x00028640, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00028680, 0x00028880, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x000288C0, 0x00028AC0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00028B00, 0x00028D00, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00028D40, 0x00028F40, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00028F80, 0x00029180, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x000291C0, 0x000293C0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00029400, 0x00029600, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00029640, 0x00029840, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00029880, 0x00029A80, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00029AC0, 0x00029CC0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00029D00, 0x00029F00, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00029F40, 0x0002A140, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0002A180, 0x0002A380, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x8008B108, 0x8008B3E4, 0x8008B404, 0x8008B424, 0x8008B444, 0x8008B464, 0x8008B484, 0x8008B4A4, 0x8008B108, 0x8008B108, 0x8008BBE4, 0x8008BC04, 0x8008BC24, 0x8008BC44, 0x8008BC64, 0x8008B924, 0x8008B4E4, 0x8008B504, 0x8008B5C4, 0x8008B524, 0x8008B544, 0x8008B664, 0x8008B624, 0x8008B644, 0x8008B604, 0x8008B5A4, 0x8008B564, 0x8008B684, 0x8008B6E4, 0x8008B704, 0x8008B884, 0x8008B724, 0x8008B744, 0x8008B764, 0x8008B6C4, 0x8008B784, 0x8008B7A4, 0x8008B7C4, 0x8008B7E4, 0x8008BC84, 0x8008B984, 0x8008B9A4, 0x8008B9C4, 0x8008B804, 0x8008B824, 0x8008B844, 0x8008B864, 0x8008B944, 0x8008B964, 0x8008B9E4, 0x8008BA04, 0x8008BA24, 0x8008BA44, 0x8008BDE4, 0x8008BDE4, 0x8008BDE4, 0x8008BDE4, 0x8008BDE4, 0x8008BDE4, 0x8008BDE4, 0x8008BDE4, 0x8008BDE4, 0x8008BDE4, 0x8008BDE4, 0x8008BDE4, 0x8008BDE4, 0x8008BDE4, 0x8008BDE4, 0x8008BDE4, 0x8008BDE4, 0x8008BDE4, 0x8008BDE4, 0x8008BDE4, 0x8008BDE4, 0x8008BDE4, 0x8008BDE4, 0x8008BDE4, 0x8008BDE4, 0x8008BDE4, 0x8008BDE4, 0x8008BDE4, 0x8008BDE4, 0x8008BDE4, 0x8008B5E4, 0x8008BDE4, 0x8008BDE4, 0x8008B584, 0x8008B8A4, 0x8008B8C4, 0x8008B8E4, 0x8008B904, 0x8008B604, 0x8008BD04, 0x8008DB94, 0x8008DB74, 0x8008DBB4, 0x8008DBD4, 0x8008DBF4, 0x8008DC14, 0x8008DC34, 0x8008DC54, 0x8008DC74, 0x8008DC94, 0x8008BAC4, 0x8008BAA4, 0x8008BAE4, 0x8008BB44, 0x8008B744, 0x8008BB04, 0x8008BB24, 0x8008BCE4, 0x8008BD24, 0x8008BD44, 0x8008BD64, 0x8008BD84, 0x8008BDA4, 0x8008BDC4, 0x8008BDA4, 0x8008BA64, 0x8008BA84, 0x8008BB44, 0x8008B744, 0x8008B744, 0x8008BCC4, 0x8008BCA4, 0x8008B108, 0x8008B108, 0x8008B108, 0x8008D5D4, 0x8008D5F4, 0x8008D614, 0x8008D654, 0x8008D634, 0x8008D694, 0x8008D674, 0x8008B384, 0x8008D6D4, 0x8008D874, 0x8008D7D4, 0x8008D6F4, 0x8008D7F4, 0x8008D854, 0x8008D814, 0x8008DCD4, 0x8008DD14, 0x8008DD34, 0x8008DD54, 0x8008DB34, 0x8008DB54, 0x8008D834, 0x8008B344, 0x8008B364, 0x8008B324, 0x8008B2E4, 0x8008DD74, 0x8008D894, 0x8008D9B4, 0x8008D994, 0x8008D8B4, 0x8008D8D4, 0x8008D8F4, 0x8008D914, 0x8008DB14, 0x8008DAF4, 0x8008DAD4, 0x8008D934, 0x8008D954, 0x8008D974, 0x8008D9D4, 0x8008D9F4, 0x8008DA14, 0x8008DA34, 0x8008DA54, 0x8008DA74, 0x8008DA94, 0x8008DAB4, 0x8008CFD4, 0x8008CFF4, 0x8008D014, 0x8008D034, 0x8008D054, 0x8008D074, 0x8008D094, 0x8008D0B4, 0x8008D0D4, 0x8008D0F4, 0x8008D114, 0x8008D174, 0x8008D134, 0x8008D154, 0x8008D194, 0x8008D1B4, 0x8008D1D4, 0x8008D1F4, 0x8008D214, 0x8008D234, 0x8008D254, 0x8008D274, 0x8008D294, 0x8008D2B4, 0x8008D2D4, 0x8008D2F4, 0x8008D314, 0x8008D334, 0x8008D354, 0x8008D374, 0x8008D394, 0x8008D3B4, 0x8008D3D4, 0x8008D3F4, 0x8008D414, 0x8008D434, 0x8008D454, 0x8008D474, 0x8008D494, 0x8008D4B4, 0x8008D4D4, 0x8008D4F4, 0x8008D514, 0x8008B108, 0x8008B108, 0x8008B108, 0x8008B108, 0x8008B108, 0x8008BEE4, 0x8008BF04, 0x8008BF24, 0x8008BF44, 0x8008BF64, 0x8008BF84, 0x8008BFA4, 0x8008BFC4, 0x8008BFE4, 0x8008C004, 0x8008B108, 0x8008C064, 0x8008C0E4, 0x8008C944, 0x8008C164, 0x8008C1A4, 0x8008C1E4, 0x8008C204, 0x8008C224, 0x8008C244, 0x8008C264, 0x8008C284, 0x8008C2A4, 0x8008C2C4, 0x8008C2E4, 0x8008C304, 0x8008C324, 0x8008C344, 0x8008C364, 0x8008C384, 0x8008C3A4, 0x8008C3C4, 0x8008C3E4, 0x8008C404, 0x8008C424, 0x8008C444, 0x8008C464, 0x8008C484, 0x8008C4A4, 0x8008C1C4, 0x8008C044, 0x8008C084, 0x8008C104, 0x8008C0A4, 0x8008C124, 0x8008C704, 0x8008C144, 0x8008C0C4, 0x8008C764, 0x8008C724, 0x8008C744, 0x8008C604, 0x8008C5A4, 0x8008C5C4, 0x8008C624, 0x8008C024, 0x8008C184, 0x8008C4C4, 0x8008C644, 0x8008C664, 0x8008C6C4, 0x8008C684, 0x8008C6E4, 0x8008C6A4, 0x8008C5E4, 0x8008C4E4, 0x8008C504, 0x8008C524, 0x8008C544, 0x8008C564, 0x8008C584, 0x8008B108, 0x8008B108, 0x8008C8E4, 0x8008C904, 0x8008C7E4, 0x8008B108, 0x8008C924, 0x8008C824, 0x8008C804, 0x8008C844, 0x8008C864, 0x8008C8E4, 0x8008C904, 0x8008BFC4, 0x8008C2E4, 0x8008C3C4, 0x8008C3C4, 0x8008C484, 0x8008C484, 0x8008C844, 0x8008C844, 0x8008BF24, 0x8008BF24, 0x8008C344, 0x8008C344, 0x8008C884, 0x8008C884, 0x8008C884, 0x8008CA04, 0x8008C9E4, 0x8008CA24, 0x8008CA44, 0x8008CA64, 0x8008CA84, 0x8008CAA4, 0x8008BFC4, 0x8008BFC4, 0x8008BFC4, 0x8008C2E4, 0x8008C2E4, 0x8008C2E4, 0x8008CAE4, 0x8008B108, 0x8008B108, 0x8008B108, 0x8008B108, 0x8008B108, 0x8008CBE4, 0x8008CC1C, 0x8008CDE4, 0x8008CE04, 0x8008CECC, 0x8008CF1C, 0x8008CF6C, 0x8008B124, 0x8008B140, 0x8008B15C, 0x8008B178, 0x8008B194, 0x8008B1B0, 0x8008B1CC, 0x8008B1E8, 0x8008B204, 0x8008B220, 0x8008B23C, 0x8008B258, 0x8008B274, 0x8008B290, 0x8008B2AC, 0x8008B2C8, 0x8008B108, 0x8008B108, 0x8008B108, 0x8008B108, 0x8008B108, 0x8008B108, 0x8008B108, 0x8008B108, 0x8008B108, 0x8008B108, 0x8008B108, 0x8008B108, 0x8008B108, 0x8008B108, 0x8008B108, 0x8008B108, 0x8008B108, 0x8008B108, 0x8008B108, 0x8008B108, 0x00000000, 0x00001320, 0x00001540, 0x00001760, 0x00001980, 0x00001BA0, 0x00001DC0, 0x00001FE0, 0x00000000, 0x00000000, 0x00010780, 0x000109A0, 0x00010BC0, 0x00010E00, 0x00011020, 0x0000D860, 0x00009020, 0x00009240, 0x00009F00, 0x00009460, 0x00009680, 0x0000A9A0, 0x0000A560, 0x0000A780, 0x0000A340, 0x00009CE0, 0x000098A0, 0x0000ABC0, 0x0000B220, 0x0000B440, 0x0000CDC0, 0x0000B660, 0x0000B880, 0x0000BAA0, 0x0000B000, 0x0000BCC0, 0x0000BEE0, 0x0000C100, 0x0000C320, 0x00011240, 0x0000DEE0, 0x0000E100, 0x0000E320, 0x0000C540, 0x0000C760, 0x0000C980, 0x0000CBA0, 0x0000DAA0, 0x0000DCC0, 0x0000E540, 0x0000E760, 0x0000E980, 0x0000EBC0, 0x000129C0, 0x000129C0, 0x000129C0, 0x000129C0, 0x000129C0, 0x000129C0, 0x000129C0, 0x000129C0, 0x000129C0, 0x000129C0, 0x000129C0, 0x000129C0, 0x000129C0, 0x000129C0, 0x000129C0, 0x000129C0, 0x000129C0, 0x000129C0, 0x000129C0, 0x000129C0, 0x000129C0, 0x000129C0, 0x000129C0, 0x000129C0, 0x000129C0, 0x000129C0, 0x000129C0, 0x000129C0, 0x000129C0, 0x000129C0, 0x0000A120, 0x000129C0, 0x000129C0, 0x00009AC0, 0x0000CFE0, 0x0000D200, 0x0000D420, 0x0000D640, 0x0000A340, 0x00011AC0, 0x00027B40, 0x00027900, 0x00027D80, 0x00027FC0, 0x00028200, 0x00028440, 0x00028680, 0x000288C0, 0x00028B00, 0x00028D40, 0x0000F440, 0x0000F220, 0x0000F660, 0x0000FCE0, 0x0000B880, 0x0000F880, 0x0000FAA0, 0x000118A0, 0x00011CE0, 0x00011F20, 0x00012140, 0x00012360, 0x00012580, 0x000127A0, 0x00012580, 0x0000EDE0, 0x0000F000, 0x0000FCE0, 0x0000B880, 0x0000B880, 0x00011680, 0x00011460, 0x00000000, 0x00000000, 0x00000000, 0x0002A3C0, 0x0002A600, 0x0002A840, 0x0002ACC0, 0x0002AA80, 0x0002B140, 0x0002AF00, 0x00014700, 0x0002B5C0, 0x00024300, 0x000237C0, 0x0002B800, 0x00023A00, 0x000240C0, 0x00023C40, 0x000291C0, 0x00029640, 0x00029880, 0x00029AC0, 0x00027480, 0x000276C0, 0x00023E80, 0x00014280, 0x000144C0, 0x00014040, 0x00013BC0, 0x00029D00, 0x00024540, 0x00025980, 0x00025740, 0x00024780, 0x000249C0, 0x00024C00, 0x00024E40, 0x00027240, 0x00027000, 0x00026DC0, 0x00025080, 0x000252C0, 0x00025500, 0x00025BC0, 0x00025E00, 0x00026040, 0x00026280, 0x000264C0, 0x00026700, 0x00026940, 0x00026B80, 0x00002420, 0x00002660, 0x000028A0, 0x00002AE0, 0x00002D20, 0x00002F60, 0x000031A0, 0x000033E0, 0x00003620, 0x00003860, 0x00003AA0, 0x00004160, 0x00003CE0, 0x00003F20, 0x000043A0, 0x000045E0, 0x00004820, 0x00004A60, 0x00004CA0, 0x00004EE0, 0x00005120, 0x00005360, 0x000055A0, 0x000057E0, 0x00005A20, 0x00005C60, 0x00005EA0, 0x000060E0, 0x00006320, 0x00006560, 0x000067A0, 0x000069E0, 0x00006C20, 0x00006E60, 0x000070A0, 0x000072E0, 0x00007520, 0x00007760, 0x000079A0, 0x00007BE0, 0x00007E20, 0x00008060, 0x000082A0, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00014DC0, 0x00015000, 0x00015240, 0x00015480, 0x000156C0, 0x00015900, 0x00015B40, 0x00015D80, 0x00015FC0, 0x00016200, 0x00000000, 0x000168C0, 0x000171C0, 0x00020880, 0x00017AC0, 0x00017F40, 0x000183C0, 0x00018600, 0x00018840, 0x00018A80, 0x00018CC0, 0x00018F00, 0x00019140, 0x00019380, 0x000195C0, 0x00019800, 0x00019A40, 0x00019C80, 0x00019EC0, 0x0001A100, 0x0001A340, 0x0001A580, 0x0001A7C0, 0x0001AA00, 0x0001AC40, 0x0001AE80, 0x0001B0C0, 0x0001B300, 0x0001B540, 0x00018180, 0x00016680, 0x00016B00, 0x00017400, 0x00016D40, 0x00017640, 0x0001E000, 0x00017880, 0x00016F80, 0x0001E6C0, 0x0001E240, 0x0001E480, 0x0001CE00, 0x0001C740, 0x0001C980, 0x0001D040, 0x00016440, 0x00017D00, 0x0001B780, 0x0001D280, 0x0001D4C0, 0x0001DB80, 0x0001D700, 0x0001DDC0, 0x0001D940, 0x0001CBC0, 0x0001B9C0, 0x0001BC00, 0x0001BE40, 0x0001C080, 0x0001C2C0, 0x0001C500, 0x00000000, 0x00000000, 0x000201C0, 0x00020400, 0x0001EFC0, 0x00000000, 0x00020640, 0x0001F440, 0x0001F200, 0x0001F680, 0x0001F8C0, 0x000201C0, 0x00020400, 0x00015D80, 0x000195C0, 0x0001A580, 0x0001A580, 0x0001B300, 0x0001B300, 0x0001F680, 0x0001F680, 0x00015240, 0x00015240, 0x00019C80, 0x00019C80, 0x0001FB00, 0x0001FB00, 0x0001FB00, 0x00021600, 0x000213C0, 0x00021840, 0x00021A80, 0x00021CC0, 0x00021F00, 0x00022140, 0x00015D80, 0x00015D80, 0x00015D80, 0x000195C0, 0x000195C0, 0x000195C0, 0x000225C0, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00030A60, 0x0002F5C0, 0x00030CE0, 0x00030E20, 0x0002E900, 0x0002EF60, 0x00030400, 0x00000200, 0x00001520, 0x00001740, 0x00001960, 0x00001B80, 0x00001DA0, 0x00001FC0, 0x000021E0, 0x00000200, 0x00000200, 0x00010980, 0x00010BA0, 0x00010DC0, 0x00011000, 0x00011220, 0x0000DA60, 0x00009220, 0x00009440, 0x0000A100, 0x00009660, 0x00009880, 0x0000ABA0, 0x0000A760, 0x0000A980, 0x0000A540, 0x00009EE0, 0x00009AA0, 0x0000ADC0, 0x0000B420, 0x0000B640, 0x0000CFC0, 0x0000B860, 0x0000BA80, 0x0000BCA0, 0x0000B200, 0x0000BEC0, 0x0000C0E0, 0x0000C300, 0x0000C520, 0x00011440, 0x0000E0E0, 0x0000E300, 0x0000E520, 0x0000C740, 0x0000C960, 0x0000CB80, 0x0000CDA0, 0x0000DCA0, 0x0000DEC0, 0x0000E740, 0x0000E960, 0x0000EB80, 0x0000EDC0, 0x00012BC0, 0x00012BC0, 0x00012BC0, 0x00012BC0, 0x00012BC0, 0x00012BC0, 0x00012BC0, 0x00012BC0, 0x00012BC0, 0x00012BC0, 0x00012BC0, 0x00012BC0, 0x00012BC0, 0x00012BC0, 0x00012BC0, 0x00012BC0, 0x00012BC0, 0x00012BC0, 0x00012BC0, 0x00012BC0, 0x00012BC0, 0x00012BC0, 0x00012BC0, 0x00012BC0, 0x00012BC0, 0x00012BC0, 0x00012BC0, 0x00012BC0, 0x00012BC0, 0x00012BC0, 0x0000A320, 0x00012BC0, 0x00012BC0, 0x00009CC0, 0x0000D1E0, 0x0000D400, 0x0000D620, 0x0000D840, 0x0000A540, 0x00011CC0, 0x00027D40, 0x00027B00, 0x00027F80, 0x000281C0, 0x00028400, 0x00028640, 0x00028880, 0x00028AC0, 0x00028D00, 0x00028F40, 0x0000F640, 0x0000F420, 0x0000F860, 0x0000FEE0, 0x0000BA80, 0x0000FA80, 0x0000FCA0, 0x00011AA0, 0x00011EE0, 0x00012120, 0x00012340, 0x00012560, 0x00012780, 0x000129A0, 0x00012780, 0x0000EFE0, 0x0000F200, 0x0000FEE0, 0x0000BA80, 0x0000BA80, 0x00011880, 0x00011660, 0x00000200, 0x00000200, 0x00000200, 0x0002A5C0, 0x0002A800, 0x0002AA40, 0x0002AEC0, 0x0002AC80, 0x0002B340, 0x0002B100, 0x00014900, 0x0002B7C0, 0x00024500, 0x000239C0, 0x0002BA00, 0x00023C00, 0x000242C0, 0x00023E40, 0x000293C0, 0x00029840, 0x00029A80, 0x00029CC0, 0x00027680, 0x000278C0, 0x00024080, 0x00014480, 0x000146C0, 0x00014240, 0x00013DC0, 0x00029F00, 0x00024740, 0x00025B80, 0x00025940, 0x00024980, 0x00024BC0, 0x00024E00, 0x00025040, 0x00027440, 0x00027200, 0x00026FC0, 0x00025280, 0x000254C0, 0x00025700, 0x00025DC0, 0x00026000, 0x00026240, 0x00026480, 0x000266C0, 0x00026900, 0x00026B40, 0x00026D80, 0x00002620, 0x00002860, 0x00002AA0, 0x00002CE0, 0x00002F20, 0x00003160, 0x000033A0, 0x000035E0, 0x00003820, 0x00003A60, 0x00003CA0, 0x00004360, 0x00003EE0, 0x00004120, 0x000045A0, 0x000047E0, 0x00004A20, 0x00004C60, 0x00004EA0, 0x000050E0, 0x00005320, 0x00005560, 0x000057A0, 0x000059E0, 0x00005C20, 0x00005E60, 0x000060A0, 0x000062E0, 0x00006520, 0x00006760, 0x000069A0, 0x00006BE0, 0x00006E20, 0x00007060, 0x000072A0, 0x000074E0, 0x00007720, 0x00007960, 0x00007BA0, 0x00007DE0, 0x00008020, 0x00008260, 0x000084A0, 0x00000200, 0x00000200, 0x00000200, 0x00000200, 0x00000200, 0x00014FC0, 0x00015200, 0x00015440, 0x00015680, 0x000158C0, 0x00015B00, 0x00015D40, 0x00015F80, 0x000161C0, 0x00016400, 0x00000200, 0x00016AC0, 0x000173C0, 0x00020A80, 0x00017CC0, 0x00018140, 0x000185C0, 0x00018800, 0x00018A40, 0x00018C80, 0x00018EC0, 0x00019100, 0x00019340, 0x00019580, 0x000197C0, 0x00019A00, 0x00019C40, 0x00019E80, 0x0001A0C0, 0x0001A300, 0x0001A540, 0x0001A780, 0x0001A9C0, 0x0001AC00, 0x0001AE40, 0x0001B080, 0x0001B2C0, 0x0001B500, 0x0001B740, 0x00018380, 0x00016880, 0x00016D00, 0x00017600, 0x00016F40, 0x00017840, 0x0001E200, 0x00017A80, 0x00017180, 0x0001E8C0, 0x0001E440, 0x0001E680, 0x0001D000, 0x0001C940, 0x0001CB80, 0x0001D240, 0x00016640, 0x00017F00, 0x0001B980, 0x0001D480, 0x0001D6C0, 0x0001DD80, 0x0001D900, 0x0001DFC0, 0x0001DB40, 0x0001CDC0, 0x0001BBC0, 0x0001BE00, 0x0001C040, 0x0001C280, 0x0001C4C0, 0x0001C700, 0x00000200, 0x00000200, 0x000203C0, 0x00020600, 0x0001F1C0, 0x00000200, 0x00020840, 0x0001F640, 0x0001F400, 0x0001F880, 0x0001FAC0, 0x000203C0, 0x00020600, 0x00015F80, 0x000197C0, 0x0001A780, 0x0001A780, 0x0001B500, 0x0001B500, 0x0001F880, 0x0001F880, 0x00015440, 0x00015440, 0x00019E80, 0x00019E80, 0x0001FD00, 0x0001FD00, 0x0001FD00, 0x00021800, 0x000215C0, 0x00021A40, 0x00021C80, 0x00021EC0, 0x00022100, 0x00022340, 0x00015F80, 0x00015F80, 0x00015F80, 0x000197C0, 0x000197C0, 0x000197C0, 0x000227C0, 0x00000200, 0x00000200, 0x00000200, 0x00000200, 0x00000200, 0x00030B80, 0x0002F6E0, 0x00030E00, 0x00030F40, 0x0002EB00, 0x0002F160, 0x00030600, 0x00000000, 0x00000001, 0x00000002, 0x00000003, 0x00000004, 0x00000009, 0x00000006, 0x00000007, 0x00000008, 0x00000005, 0x0000000A, 0x0000000B, 0x00000000, 0x00000001, 0x00000002, 0x00000003, 0x00000004, 0x00000000, 0x00000006, 0x00000007, 0x00000008, 0x00000005, 0x00000000, 0x00000000, 0x800989A0, 0x00000000, 0x00000000, 0x00000000, 0x001D0007, 0x00000002, 0x00280000, 0x00280001, 0x001D0008, 0x00000003, 0x0028000D, 0x0028000E, 0x001D0009, 0x00000004, 0x0028001A, 0x0028001B, 0x001D000A, 0x00000005, 0x00280027, 0x00280028, 0x001D000B, 0x00000001, 0x00000000, 0x00000000, 0x001D000C, 0x00000007, 0x00280041, 0x00280042, 0x001D000D, 0x00000008, 0x0028004E, 0x0028004F, 0x001D000E, 0x00000009, 0x0028005B, 0x0028005C, 0x001D000F, 0x00000006, 0x00280034, 0x00280035, 0x001D0010, 0x00000001, 0x00000000, 0x00000000, 0x001D0011, 0x00000001, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x80107CA8, 0x80107CD0, 0x80107CF8, 0x80107D20, 0x80107D48, 0x80107D70, 0x80107D98, 0x80107DC0, 0x80107DE8, 0x80107E10, 0x80107E38, 0x80107E60, 0x80107E88, 0x80107EB0, 0x80107ED8, 0x80107F00, 0x80107F28, 0x80107F50, 0x80107F78, 0x80107FA0, 0x80107FC8, 0x80107FF0, 0x80108018, 0x80108040, 0x80108018, 0x80108040, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000000FF, 0x00000000, 0x00000002, 0x00000000, 0x00000000, 0x000000FF, 0x00000000, 0x00000008, 0x00000000, 0x00000000, 0x000000FF, 0x001D0038, 0x00013005, 0x002300A3, 0x00000000, 0x01000001, 0x001D0038, 0x00013005, 0x002300A4, 0x002300A4, 0x01000001, 0x001D0038, 0x00013005, 0x002300A5, 0x002300A5, 0x01000001, 0x001D0038, 0x00013005, 0x00000000, 0x00000000, 0x01000001, 0x00000000, 0x00013005, 0x00000000, 0x00000000, 0x01000001, 0x002A0010, 0x00013005, 0x00230068, 0x00250068, 0x01020101, 0x002A0012, 0x00008020, 0x0023006A, 0x0025006A, 0x01020101, 0x002A0011, 0x00013005, 0x00230069, 0x00250069, 0x01020201, 0x00000000, 0x00000008, 0x00000000, 0x00000000, 0x010101FF, 0x001D0038, 0x00055001, 0x00000000, 0x00000000, 0x01000001, 0x002A000E, 0x00000003, 0x00230066, 0x00250066, 0x01020201, 0x002A0014, 0x00008020, 0x0023006C, 0x0025006C, 0x01070301, 0x002A000C, 0x00000008, 0x00230064, 0x00250064, 0x010101FF, 0x001D0038, 0x00054001, 0x00230064, 0x00250064, 0x01000001, 0x002A000D, 0x00000008, 0x00230065, 0x00250065, 0x010402FF, 0x001D0038, 0x00055001, 0x00230065, 0x00250065, 0x01000001, 0x00000000, 0x00013005, 0x00000000, 0x00000000, 0x010201FF, 0x002A0013, 0x00008020, 0x0023006B, 0x0025006B, 0x01040201, 0x002A000A, 0x00013005, 0x00230062, 0x00250062, 0x01020101, 0x00000000, 0x00013005, 0x00000000, 0x00000000, 0x01040201, 0x002A000B, 0x00013005, 0x00230063, 0x00250063, 0x01060301, 0x002A000F, 0x00013005, 0x00230067, 0x00250067, 0x01020101, 0x00000000, 0x00013005, 0x00000000, 0x00000000, 0x01060301, 0x001D0039, 0x00054881, 0x002300A0, 0x002300A0, 0x02000000, 0x001D0039, 0x00054881, 0x002300A1, 0x002300A1, 0x02000000, 0x001D0039, 0x00054881, 0x002300A2, 0x002300A2, 0x02000000, 0x001D0039, 0x00054881, 0x00000000, 0x00000000, 0x02000000, 0x001D0039, 0x00054881, 0x00000000, 0x00000000, 0x02000000, 0x002A0006, 0x0004C880, 0x0023005E, 0x0025005E, 0x02020100, 0x002A0009, 0x00054881, 0x00230061, 0x00250061, 0x02030200, 0x002A0004, 0x00054881, 0x0023005C, 0x0025005C, 0x02020100, 0x002A0005, 0x00054881, 0x0023005D, 0x0025005D, 0x02020100, 0x00000000, 0x00000808, 0x00000000, 0x00000000, 0x020101FF, 0x001D0039, 0x00054881, 0x00000000, 0x00000000, 0x02010100, 0x002A0002, 0x00000808, 0x0023005A, 0x0025005A, 0x020101FF, 0x001D0039, 0x00054881, 0x0023005A, 0x0025005A, 0x02000000, 0x002A0003, 0x00000808, 0x0023005B, 0x0025005B, 0x020402FF, 0x001D0039, 0x00054881, 0x0023005B, 0x0025005B, 0x02000000, 0x00000000, 0x00054881, 0x00000000, 0x00000000, 0x020201FF, 0x00000000, 0x0004C880, 0x00000000, 0x00000000, 0x020502FF, 0x002A0000, 0x00054881, 0x00230058, 0x00250058, 0x02020100, 0x00000000, 0x00054881, 0x00000000, 0x00000000, 0x02040200, 0x002A0001, 0x00054881, 0x00230059, 0x00250059, 0x02060300, 0x002A0008, 0x00054881, 0x00230060, 0x00250060, 0x02020200, 0x002A0007, 0x00054881, 0x0023005F, 0x0025005F, 0x02020100, 0x00000000, 0x00008020, 0x00000000, 0x00000000, 0x02020214, 0x00000000, 0x00010005, 0x00230074, 0x00250074, 0x030006FF, 0x00000000, 0x00000008, 0x00000000, 0x00000000, 0x030008FF, 0x00260075, 0x00000008, 0x00230075, 0x00250075, 0x030003FF, 0x001D003F, 0x00010005, 0x001D00A4, 0x00000000, 0x040000FF, 0x002A0015, 0x00000000, 0x0023006D, 0x0025006D, 0x040301FF, 0x002A0016, 0x00000000, 0x0023006E, 0x0025006E, 0x040603FF, 0x80098A04, 0x00000000, 0x00000000, 0x00000000, 0x050000FF, 0x002A0018, 0x00000000, 0x00230070, 0x00250070, 0x050004FF, 0x80098A04, 0x00010005, 0x00000000, 0x00000000, 0x060000FF, 0x80098A04, 0x00000000, 0x00000000, 0x00000000, 0x070000FF, 0x00260073, 0x00000000, 0x00230073, 0x00250073, 0x070006FF, 0x00260093, 0x00000000, 0x00230093, 0x00250093, 0x070004FF, 0x00260095, 0x00000000, 0x00230095, 0x00250095, 0x070002FF, 0x002A0019, 0x00000000, 0x00230076, 0x00250076, 0x070002FF, 0x80098A04, 0x00010005, 0x00000000, 0x00000000, 0x080000FF, 0x0026007F, 0x00000000, 0x0023007F, 0x0025007F, 0x080002FF, 0x00260097, 0x00000000, 0x00230097, 0x00250097, 0x080002FF, 0x00260081, 0x00000000, 0x00230081, 0x00250081, 0x080003FF, 0x0026008C, 0x00000000, 0x0023008C, 0x0025008C, 0x080003FF, 0x00260099, 0x00000000, 0x00230099, 0x00250099, 0x080004FF, 0x00260074, 0x00000000, 0x00230074, 0x00250074, 0x080006FF, 0x00000000, 0x00000000, 0x00230085, 0x00250085, 0x080001FF, 0x00000000, 0x00000000, 0x00230083, 0x00250083, 0x080001FF, 0x00000000, 0x00000000, 0x00230082, 0x00250082, 0x080007FF, 0x002A001A, 0x00000000, 0x00230077, 0x00250077, 0x080002FF, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x080001FF, 0x80098A04, 0x00000000, 0x00000000, 0x00000000, 0x090000FF, 0x00260080, 0x00000000, 0x00230080, 0x00250080, 0x090002FF, 0x00260087, 0x00000000, 0x00230087, 0x00250087, 0x090001FF, 0x00260094, 0x00000000, 0x00230094, 0x00250094, 0x090000FF, 0x0026009B, 0x00000000, 0x0023009B, 0x0025009B, 0x090008FF, 0x00000000, 0x00000000, 0x00230088, 0x00250088, 0x090005FF, 0x80098A04, 0x00010005, 0x00000000, 0x00000000, 0x000000FF, 0x00260071, 0x00010005, 0x00230071, 0x00250071, 0x000003FF, 0x00000000, 0x00000002, 0x00000000, 0x00000000, 0x000000FF, 0x0026008D, 0x00000002, 0x0023008D, 0x0025008D, 0x000000FF, 0x0026008E, 0x00000002, 0x0023008E, 0x0025008E, 0x000000FF, 0x0026008F, 0x00000002, 0x0023008F, 0x0025008F, 0x000000FF, 0x00260090, 0x00000002, 0x00230090, 0x00250090, 0x000000FF, 0x00260091, 0x00000002, 0x00230091, 0x00250091, 0x000000FF, 0x00260092, 0x00000002, 0x00230092, 0x00250092, 0x000000FF, 0x00260078, 0x00000002, 0x00230078, 0x00250078, 0x000003FF, 0x00260072, 0x00000002, 0x00230072, 0x00250072, 0x000003FF, 0x0026009A, 0x00000002, 0x0023009A, 0x0025009A, 0x000007FF, 0x00260098, 0x00000002, 0x00230098, 0x00250098, 0x000002FF, 0x00260079, 0x00000002, 0x00230079, 0x00250079, 0x000003FF, 0x00260086, 0x00000002, 0x00230086, 0x00250086, 0x000001FF, 0x00000000, 0x00000002, 0x00000000, 0x00000000, 0x000008FF, 0x0026009C, 0x00000002, 0x0023009C, 0x0025009C, 0x000002FF, 0x0026007B, 0x00000002, 0x0023007B, 0x0025007B, 0x000006FF, 0x00260096, 0x00000002, 0x00230096, 0x00250096, 0x000002FF, 0x00000000, 0x00000002, 0x00230084, 0x00250084, 0x000001FF, 0x00000000, 0x00000002, 0x00000000, 0x00000000, 0x00000AFF, 0x00000000, 0x00000002, 0x00000000, 0x00000000, 0x00000AFF, 0x00000000, 0x00000002, 0x00000000, 0x00000000, 0x00000AFF, 0x00000000, 0x00000002, 0x0023007C, 0x0025007C, 0x000003FF, 0x00000000, 0x00000002, 0x0023007D, 0x0025007D, 0x000003FF, 0x00000000, 0x00000002, 0x00230089, 0x00250089, 0x000003FF, 0x00000000, 0x00000002, 0x0023008A, 0x0025008A, 0x000002FF, 0x00000000, 0x00000002, 0x0023009E, 0x0025009E, 0x000001FF, 0x00000000, 0x00000002, 0x0023008B, 0x0025008B, 0x000001FF, 0x0026009D, 0x00000002, 0x0023009D, 0x0025009D, 0x000001FF, 0x800989F0, 0x00000002, 0x00000000, 0x00000000, 0x000001FF, 0x800989DC, 0x00000002, 0x00000000, 0x00000000, 0x000001FF, 0x0026007E, 0x00000002, 0x0023007E, 0x0025007E, 0x000001FF, 0x00000000, 0x00000002, 0x00000000, 0x00000000, 0x000005FF, 0x00000000, 0x80000000, 0x00000000, 0x00000000, 0x000000FF, 0x0026007A, 0x00000002, 0x0023007A, 0x0025007A, 0x000003FF, 0x0026006F, 0x00000002, 0x0023006F, 0x0025006F, 0x000002FF, 0x0026009F, 0x00000002, 0x0023009F, 0x0025009F, 0x000003FF, 0x001D0014, 0x80000000, 0x001D0020, 0x00000000, 0x0A0000FF, 0x001D0015, 0x00000008, 0x001D0021, 0x00000000, 0x0A0101FF, 0x001D0016, 0x00008002, 0x001D0022, 0x00000000, 0x0A0101FF, 0x001D0017, 0x00008002, 0x001D0023, 0x00000000, 0x0A0202FF, 0x001D0018, 0x00008002, 0x001D0024, 0x00000000, 0x0A0202FF, 0x001D0019, 0x00000008, 0x001D0025, 0x00000000, 0x0A0303FF, 0x001D001A, 0x00008002, 0x001D0026, 0x00000000, 0x0A0202FF, 0x001D001B, 0x00008002, 0x001D0027, 0x00000000, 0x0A0202FF, 0x001D001C, 0x00008002, 0x001D0028, 0x00000000, 0x0A0000FF, 0x001D001D, 0x00008002, 0x001D0029, 0x00000000, 0x0A0000FF, 0x001D001E, 0x00000100, 0x001D0020, 0x00000000, 0x0A0000FF, 0x001D001F, 0x00008003, 0x001D0020, 0x00000000, 0x0A0000FF, 0x002B0000, 0x00054881, 0x00280002, 0x00280007, 0x0B000002, 0x002B0000, 0x00054881, 0x00280002, 0x00280008, 0x0B000002, 0x002B0000, 0x00054881, 0x00280002, 0x00280009, 0x0B000002, 0x002B0001, 0x00038003, 0x00280003, 0x0028000A, 0x0B0000FF, 0x002B0002, 0x00000100, 0x00280004, 0x0028000B, 0x0B0100FF, 0x002B0003, 0x00054881, 0x00280005, 0x0028000C, 0x0B030002, 0x002B0004, 0x00012005, 0x0028000F, 0x00280014, 0x0B000001, 0x002B0004, 0x00012005, 0x0028000F, 0x00280015, 0x0B000001, 0x002B0004, 0x00012005, 0x0028000F, 0x00280016, 0x0B000001, 0x002B0005, 0x00008004, 0x00280010, 0x00280017, 0x0B030001, 0x002B0006, 0x00008004, 0x00280011, 0x00280018, 0x0B040003, 0x002B0007, 0x00008004, 0x00280012, 0x00280019, 0x0B050004, 0x002B0008, 0x00012005, 0x0028001C, 0x00280021, 0x0B00000F, 0x002B0008, 0x00012005, 0x0028001C, 0x00280022, 0x0B00000F, 0x002B0008, 0x00012005, 0x0028001C, 0x00280023, 0x0B00000F, 0x002B0009, 0x00012005, 0x0028001D, 0x00280024, 0x0B030003, 0x002B000A, 0x00008004, 0x0028001E, 0x00280025, 0x0B060003, 0x002B000B, 0x00008002, 0x0028001F, 0x00280026, 0x0B080003, 0x002B000C, 0x00010003, 0x00280029, 0x0028002E, 0x0B000000, 0x002B000C, 0x00010003, 0x00280029, 0x0028002F, 0x0B000000, 0x002B000C, 0x00010003, 0x00280029, 0x00280030, 0x0B000000, 0x002B000D, 0x00010003, 0x0028002A, 0x00280031, 0x0B030005, 0x002B000E, 0x00008403, 0x0028002B, 0x00280032, 0x0B030003, 0x002B000F, 0x00008002, 0x0028002C, 0x00280033, 0x0B060004, 0x800989D0, 0x00000003, 0x00000000, 0x00000000, 0x0B000000, 0x800989D0, 0x00000003, 0x00000000, 0x00000000, 0x0B000000, 0x800989D0, 0x00000003, 0x00000000, 0x00000000, 0x0B000000, 0x800989C0, 0x00000004, 0x00000000, 0x00000000, 0x0B000000, 0x800989B4, 0x00000003, 0x00000000, 0x00000000, 0x0B000000, 0x800989A8, 0x00000003, 0x00000000, 0x00000000, 0x0B000000, 0x002B0014, 0x00000003, 0x00280043, 0x00280048, 0x0B00000F, 0x002B0014, 0x00000003, 0x00280043, 0x00280049, 0x0B00000F, 0x002B0014, 0x00000003, 0x00280043, 0x0028004A, 0x0B00000F, 0x002B0015, 0x00000003, 0x00280044, 0x0028004B, 0x0B020003, 0x002B0016, 0x00000008, 0x00280045, 0x0028004C, 0x0B03000A, 0x002B0017, 0x00008002, 0x00280046, 0x0028004D, 0x0B05000C, 0x002B0018, 0x00054881, 0x00280050, 0x00280055, 0x0B000001, 0x002B0018, 0x00054881, 0x00280050, 0x00280056, 0x0B000001, 0x002B0018, 0x00054881, 0x00280050, 0x00280057, 0x0B000001, 0x002B0019, 0x00000003, 0x00280051, 0x00280058, 0x0B03000E, 0x002B001A, 0x00000008, 0x00280052, 0x00280059, 0x0B03000A, 0x002B001B, 0x00008002, 0x00280053, 0x0028005A, 0x0B060008, 0x002B001C, 0x00000003, 0x0028005D, 0x00280062, 0x0B000010, 0x002B001C, 0x00000003, 0x0028005D, 0x00280063, 0x0B000010, 0x002B001C, 0x00000003, 0x0028005D, 0x00280064, 0x0B000010, 0x002B001D, 0x00008002, 0x0028005E, 0x00280065, 0x0B040004, 0x002B001E, 0x00000008, 0x0028005F, 0x00280066, 0x0B04000A, 0x002B001F, 0x00008002, 0x00280060, 0x00280067, 0x0B05000C, 0x002B0010, 0x00000003, 0x00280036, 0x0028003B, 0x0B000004, 0x002B0010, 0x00000003, 0x00280036, 0x0028003C, 0x0B000004, 0x002B0010, 0x00000003, 0x00280036, 0x0028003D, 0x0B000004, 0x002B0011, 0x00000008, 0x00280037, 0x0028003E, 0x0B0200FF, 0x002B0012, 0x00008002, 0x00280038, 0x0028003F, 0x0B030004, 0x002B0013, 0x00000003, 0x00280039, 0x00280040, 0x0B050004, 0x00000000, 0x00000000, 0x00000000, 0x802EBFF0, 0x802EC010, 0x802EC030, 0x802EC050, 0x802EC070, 0x802EC090, 0x802EC0B0, 0x802EC0D0, 0x802EC0F0, 0x802EC110, 0x802EC130, 0x802EC150, 0x802EC170, 0x802EC190, 0x802EC1B0, 0x802EC1D0, 0x802EC1F0, 0x802EC210, 0x802EC230, 0x802EC250, 0x802EC270, 0x802EC290, 0x802EC2B0, 0x802EC2D0, 0x802EC2F0, 0x802EC310, 0x802EC330, 0x802EC350, 0x802EC370, 0x802EC390, 0x802EC3B0, 0x802EC3D0 + +glabel D_8008FF60 +.word 0x00000000, 0x00000001, 0x00000002, 0x00000003 + +glabel D_8008FF70 +.word 0x00040006, 0x00050004, 0x00070006, 0x00000003, 0x00040003, 0x00070004, 0x00030002, 0x00070002, 0x00060007, 0x00020001, 0x00060001, 0x00050006, 0x00010000, 0x00050000, 0x00040005, 0x00000001, 0x00020000, 0x00020003 + +glabel D_8008FFB8 +.word 0x00000000, 0x3F800000, 0x00000000, 0x00000000, 0x3F800000, 0x00000000, 0x3F800000, 0x00000000, 0x00000000, 0x3F800000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0xBF800000, 0x00000000, 0x00000000, 0xBF800000, 0xBF800000, 0x00000000, 0x00000000, 0xBF800000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x3F800000, 0x00000000, 0x00000000, 0x3F800000, 0x00000000, 0xBF800000, 0x00000000, 0x00000000, 0xBF800000, 0x00000000, 0x00000000, 0x00000000 diff --git a/tools/n64splat b/tools/n64splat index e0262202ef..09eca0b285 160000 --- a/tools/n64splat +++ b/tools/n64splat @@ -1 +1 @@ -Subproject commit e0262202ef931e0a0d09a144fcded281d0dc1656 +Subproject commit 09eca0b28586d9ae2db3708985a9b5a4da5850d4 From bec22c22e4ee66caa0ac1a8e55d7d505d590e6d9 Mon Sep 17 00:00:00 2001 From: Ethan Roseman Date: Wed, 9 Dec 2020 15:49:49 +0900 Subject: [PATCH 31/97] consolidate data --- asm/data/code_1000_len_60.data.s | 716 +++++++++++++++++++++++++++- asm/data/code_10400_len_d30.data.s | 717 ----------------------------- tools/splat.yaml | 3 +- 3 files changed, 716 insertions(+), 720 deletions(-) delete mode 100644 asm/data/code_10400_len_d30.data.s diff --git a/asm/data/code_1000_len_60.data.s b/asm/data/code_1000_len_60.data.s index 679f42b3c3..1905f2ef4b 100644 --- a/asm/data/code_1000_len_60.data.s +++ b/asm/data/code_1000_len_60.data.s @@ -126,4 +126,718 @@ glabel D_800778A0 .word 0x8038F800, 0x803B5000, D_803DA800, 0x00000000, 0xFFFFFF00, 0xFFFFFF00, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0xE7000000, 0x00000000, 0xE3000A01, 0x00200000, 0xE3000C00, 0x00000000, 0xE3001001, 0x00000000, 0xFCFFFFFF, 0xFFFCF87C, 0xE200001C, 0x00000000, 0xE3001201, 0x00000000, 0xDF000000, 0x00000000 glabel D_80077908 -.word 0xE7000000, 0x00000000, 0xE3000A01, 0x00000000, 0xE3000C00, 0x00000000, 0xE3001001, 0x00000000, 0xFCFFFFFF, 0xFFFCF87C, 0xE200001C, 0x0F0A4000, 0xE3001201, 0x00000000, 0xDF000000, 0x00000000, 0x00000000, 0x00000000 \ No newline at end of file +.word 0xE7000000, 0x00000000, 0xE3000A01, 0x00000000, 0xE3000C00, 0x00000000, 0xE3001001, 0x00000000, 0xFCFFFFFF, 0xFFFCF87C, 0xE200001C, 0x0F0A4000, 0xE3001201, 0x00000000, 0xDF000000, 0x00000000, 0x00000000, 0x00000000 + +glabel D_80077950 +.word 0x8038F800, 0x803B5000, D_803DA800 + +glabel D_8007795C +.word 0x00135EE0, 0x00163400, pause_set_cursor_opacity, pause_set_cursor_opacity, gPauseMenuIconScripts, gPauseMenuIconScripts, gPauseMenuHeldButtons, gPauseMenuHeldButtons, 0x80278640 + +glabel D_80077980 +.word 0x8038F800, 0x803B5000, D_803DA800 + +glabel D_8007798C +.word 0x00163400, 0x0016C8E0, pause_set_cursor_opacity, pause_set_cursor_opacity, 0x80249B80, 0x80249B80, 0x8024C080, 0x8024C080, 0x8024C120 + +glabel D_800779B0 +.word 0x00000000, 0x00000000, 0x00000000, 0x00000000 + +glabel D_800779C0 +.word 0x00000000 + +glabel D_800779C4 +.word 0x00000000 + +glabel D_800779C8 +.short 0x0000 + +glabel D_800779CA +.short 0x0045 + +glabel D_800779CC +.word 0x52524F52 + +glabel D_800779D0 +.word 0xF7F7F700 + +glabel D_800779D4 +.word 0x00000000 + +glabel D_800779D8 +.word 0x00000000, 0x00000000, 0x00000045, 0x52524F52, 0xF7F7F700, 0x00000000, 0x00000000, 0x00000000, 0x00000045, 0x52524F52, 0xF7F7F700, 0x00000000, 0x00000000, 0x00000000, 0x00000045, 0x52524F52, 0xF7F7F700, 0x00000000, 0x00000000, 0x01010101 + +glabel D_80077A28 +.byte 0x00, 0x00, 0x00 + +glabel D_80077A2B +.byte 0x00 + +glabel D_80077A2C +.word 0x00000000 + +glabel D_80077A30 +.word 0x00000000 + +glabel D_80077A34 +.word 0x00000000, 0xFFFFFF00, 0xFFFFFF00 + +glabel D_80077A40 +.word 0x00000000, 0x00000000, 0x00000000, 0x00000000 + +glabel D_80077A50 +.word 0xE7000000, 0x00000000, 0xE3000A01, 0x00000000, 0xE200001C, 0x00504340, 0xFCFFFFFF, 0xFFFCF279, 0xE3001201, 0x00000000, 0xD7000002, 0xFFFFFFFF, 0xE3000C00, 0x00000000, 0xE3001801, 0x000000C0, 0xE3001A01, 0x00000030, 0xE3000F00, 0x00000000, 0xE3001001, 0x00000000, 0xE3000D01, 0x00000000, 0xE3001402, 0x00000C00, 0xE3001700, 0x00000000, 0xE2001E01, 0x00000000, 0x00000000, 0x00000000, 0xED000000, 0x005003C0, 0xDF000000, 0x00000000 + +glabel D_80077AE0 +.word 0x00000002, 0x00019D00, 0x80098454, 0x00020000, 0x00000000, 0x00000000, 0x00000005, 0x00049D00, 0x8009844C, 0x00000002, 0x00029D00, 0x80098444, 0x00000002, 0x0004B300, 0x8009843C, 0x00000004, 0x00079D00, 0x80098434, 0x00020001, 0x00000000, 0x00000000, 0x00000006, 0x00039D00, 0x8009842C, 0x00000002, 0x00021B00, 0x80098424, 0x00020002, 0x00000000, 0x00000000, 0x00000003, 0x00039D00, 0x8009841C, 0x00000004, 0x00019D00, 0x80098414, 0x00020003, 0x00000000, 0x00000000, 0x00010008, 0x000B2600, 0x8009840C, 0x00000002, 0x0009E800, 0x80098404, 0x00020004, 0x00000000, 0x00000000, 0x00000003, 0x00019D00, 0x80098454, 0x00010003, 0x00009D00, 0x800983FC, 0x00030000, 0x00000000, 0x800983F8, 0x00000000, 0x00000000, 0x00000000, 0x50726720, 0x5665722E, 0x30302F31, 0x322F3035, 0x2031363A, 0x35340000, 0x00000000, 0x00000000 + +glabel D_80077BF0 +.word 0x01020034, 0x01040036, 0x00360102, 0x001C0102, 0x00060102, 0x002C0102, 0x002CFF00, 0x00000000 + +glabel D_80077C10 +.word 0x00000000 + +glabel D_80077C14 +.word 0x00040000 + +glabel D_80077C18 +.word 0x00000000 + +glabel D_80077C1C +.short 0x0004 + +glabel D_80077C1E +.short 0x0005 + +glabel D_80077C20 +.word 0x00000000 + +glabel D_80077C24 +.word 0x00000000 + +glabel D_80077C28 +.word 0x00040000 + +glabel D_80077C2C +.word 0x00000000 + +glabel D_80077C30 +.word 0x00040000 + +glabel D_80077C34 +.word 0x00000000 + +glabel D_80077C38 +.short 0x0004 + +glabel D_80077C3A +.short 0x0004, 0x0000, 0x0000 + +glabel D_80077C40 +.word 0x00000000 + +glabel D_80077C44 +.word 0x00000008, 0x00000001, 0x0000000A, 0x00000043, 0x00000001, FadeBackgroundToBlack, 0x00000008, 0x00000001, 0x0000000A, 0x00000043, 0x00000003, CreateNpc, 0xFFFFFFF6, 0x00BB0001, 0x00000043, 0x00000004, SetNpcFlagBits, 0xFFFFFFF6, 0x00000100, 0x00000001, 0x00000043, 0x00000003, SetNpcYaw, 0xFFFFFFF6, 0x00000000, 0x00000043, 0x00000001, GetCamLookAtObjVector, 0x00000043, 0x00000005, SetNpcPos, 0xFFFFFFF6, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000056, 0x00000000, 0x00000043, 0x00000001, 0x8003F0C4, 0x00000057, 0x00000000, 0x00000043, 0x00000001, 0x8003F018, 0x00000008, 0x00000001, 0x0000001E, 0x00000043, 0x00000003, SetNpcAnimation, 0xFFFFFFF6, 0x00BB0000, 0x00000043, 0x00000001, 0x8003F384, 0x00000043, 0x00000001, UnfadeBackgroundFromBlack, 0x00000008, 0x00000001, 0x00000014, 0x00000056, 0x00000000, 0x00000043, 0x00000001, 0x8003F084, 0x00000043, 0x00000002, DeleteNpc, 0xFFFFFFF6, 0x00000057, 0x00000000, 0x00000043, 0x00000002, PlaySound, 0x00002075, 0x00000043, 0x00000004, GetPlayerPos, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000004, 0x8003F414, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000004, 0x8003F4CC, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000008, 0x00000001, 0x0000000F, 0x00000043, 0x00000001, 0x8003EE98, 0x00000008, 0x00000001, 0x0000000F, 0x00000043, 0x00000001, HasMerleeCasts, 0x0000000A, 0x00000002, 0xFE363C80, 0x00000001, 0x00000002, 0x00000000, 0x00000013, 0x00000000, 0x00000043, 0x00000001, 0x8003EECC, 0x00000008, 0x00000001, 0x0000000F, 0x00000002, 0x00000000, 0x00000001, 0x00000000 + +glabel SCRIPT_NpcDefeat +.word 0x00000043, 0x00000002, GetBattleOutcome, 0xFE363C80, 0x00000014, 0x00000001, 0xFE363C80, 0x00000016, 0x00000001, 0x00000000, 0x00000043, 0x00000001, OnDefeatEnemy, 0x00000016, 0x00000001, 0x00000001, 0x00000016, 0x00000001, 0x00000002, 0x00000023, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 + +glabel D_80077E9C +.word 0x00000043, 0x00000001, OnFleeBattleDrops, 0x00000002, 0x00000000, 0x00000001, 0x00000000 + +glabel D_80077EB8 +.word 0x800A008A, 0x0032FFFF, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00005FFF, 0x7FFF0000, 0x00013FFF, 0x5FFF0000, 0x00021FFF, 0x3FFF0000, 0x00030000, 0x1FFF0000, 0x00040000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000001, 0x00030000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000043, 0x00000002, GetOwnerEncounterTrigger, 0xFE363C80, 0x00000014, 0x00000001, 0xFE363C80, 0x00000016, 0x00000001, 0x00000001, 0x0000001D, 0x00000001, 0x00000002, 0x0000001D, 0x00000001, 0x00000004, 0x0000001D, 0x00000001, 0x00000006, 0x00000043, 0x00000003, GetSelfAnimationFromTable, 0x00000007, 0xFE363C80, 0x00000046, 0x00000001, 0x800936DC, 0x00000016, 0x00000001, 0x00000003, 0x00000056, 0x00000000, 0x00000043, 0x00000002, 0x800458CC, 0xFE363C80, 0x0000000A, 0x00000002, 0xFE363C80, 0x00000000, 0x00000024, 0x00000002, 0xFE363C8A, 0x00000000, 0x00000005, 0x00000001, 0x0000001E, 0x00000027, 0x00000002, 0xFE363C8A, 0x00000028, 0x00000043, 0x00000005, SetNpcRotation, 0xFFFFFFFF, 0x00000000, 0xFE363C8A, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000006, 0x00000000, 0x00000013, 0x00000000, 0x00000057, 0x00000000, 0x00000020, 0x00000000, 0x00000023, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000, 0x00000043, 0x00000005, SetNpcRotation, 0xFFFFFFFF, 0x00000000, 0x00000000, 0x00000000, 0x00000043, 0x00000002, GetBattleOutcome, 0xFE363C80, 0x00000014, 0x00000001, 0xFE363C80, 0x00000016, 0x00000001, 0x00000000, 0x00000043, 0x00000001, DoNpcDefeat, 0x00000016, 0x00000001, 0x00000002, 0x00000043, 0x00000002, 0x80045900, 0x00000000, 0x00000016, 0x00000001, 0x00000003, 0x00000043, 0x00000004, SetEnemyFlagBits, 0xFFFFFFFF, 0x00000010, 0x00000001, 0x00000043, 0x00000002, RemoveNpc, 0xFFFFFFFF, 0x00000023, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000, 0x00000000, 0x00000000, 0x00000000 + +glabel D_80078160 +.word 0x001C0028 + +glabel D_80078164 +.word 0x0000FFFE + +glabel D_80078168 +.word 0x001D0074, 0x001D0075 + +glabel D_80078170 +.word 0x00000000 + +glabel D_80078174 +.word 0x00000000 + +glabel D_80078178 +.word 0x00000000 + +glabel D_8007817C +.word 0x00000000 + +glabel D_80078180 +.byte 0x01 + +glabel D_80078181 +.byte 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + +glabel D_80078190 +.word 0xF8030125, 0x07D0FDBC, 0xF8860355, 0x06FCFBAB, 0xFEDAF82D, 0x0245077D, 0xFCA9F901, 0x0456065D, 0xFC33FBB2, 0xFCEFFE94, 0xFFD80080, 0x00A4007D, 0x090E0673, 0x02FF0053, 0xFEF2FEA7, 0xFEF9FF7B + +glabel D_800781D0 +.word 0xB1011110, 0x00FFFE34, 0xBB90E21E, 0x00FB10EF, 0xF2D180C4, 0xB3B1D3CF, 0xD1FDFE80, 0x1D2D3D3B, 0x2C3BFC1D, 0x80DEF0D0, 0xD3D2B3D1, 0xF480A203, 0xD00DA9EA, 0xCB729041, 0x4E1D2D0C, 0x1E102F90, 0xF21203F0, 0xC2D1D4F3, 0x80B0A1BF, 0xD21E1270, 0x4D804C39, 0x2C7E306D, 0xB9CF90E1, 0xF2F3F2E1, 0xE21622C1, 0xE728F4F0, 0x211010FF, 0xA1ED9F2F, 0xF561333C, 0xD0A1DAC2, 0xFF144122, 0x2DEFA1FA, 0xE10E2330, 0x320EF091, 0x9AF2CF55, 0x1361EE1C, 0x919D0FD2, 0x52064DE1, 0x0991D01B, 0x152E36FD, 0x12CB8122, 0xBC65F073, 0xCE3FAE71, 0x4E9370F5, 0x6ED21BD1, 0x610A5D00, 0x00000000, 0x00000000 + +glabel D_80078290 +.word 0x00000003, 0x0000000B, 0x00000000, 0x00000009, 0x00002666, 0xFFFFD99A, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000003, 0x00000007, 0x00000CCC, 0xFFFFF334, 0x00003FFF, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x0000000A, 0x00001388, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00005000 + +glabel D_800782F8 +.word 0x00000001, 0x0000000B, 0x00000000, 0x0000000A, 0x00004E20, 0x00000000, 0x00007FFF, 0x00000000, 0x00000000, 0x00007FFF + +glabel D_80078320 +.word 0x00000001, 0x0000000D, 0x00000000, 0x0000000C, 0x00004E20, 0x00000000, 0x00007FFF, 0x00000000, 0x00000000, 0x00007FFF + +glabel D_80078348 +.short 0x0000, 0x0001, 0x0000, 0x000E, 0x0000, 0x0000, 0x0000, 0x000D, 0x0000, 0x4E20, 0x0000, 0x0000, 0x0000, 0x7FFF, 0x0000, 0x0000, 0x0000 + +glabel D_8007836A +.short 0x0000, 0x0000, 0x7FFF, 0x034A, 0x0349, 0x0100, 0x0000, 0x0100, 0x0000, 0x0008, 0x0012, 0x3C7F, 0x2D7F, 0x2B5F, 0x1D00, 0xFF00, 0x2700, 0xFF00, 0x0000, 0x0100, 0x0000, 0x0008, 0x001A, 0x3C7F, 0x237F, 0x3C3F, 0x2A1F, 0x2A0F, 0x2A07, 0x2A03, 0x3600, 0xFF00, 0x3600, 0xFF00, 0x0000, 0x3433, 0x7F26, 0x3F16, 0x00FF, 0x343B, 0x7F3B, 0x3FFF, 0x0000 + +glabel D_800783C0 +.word 0x80078378, 0x80078390, 0x80078390, 0x80078390, 0x80078390, 0x80078390, 0x80078390, 0x80078390, 0x80078390, 0x80078390, 0x80078390, 0x80078390, 0x80078390, 0x80078390, 0x80078390, 0x80078390 + +glabel D_80078400 +.word 0x8004CE70, 0x8004CEA4, 0x8004CEC4, 0x8004CF0C + +glabel D_80078410 +.word 0x8004CF3C, 0x8004D00C, 0x8004D038, 0x8004D050, 0x8004D07C, 0x8004D114, 0x8004D130, 0x8004D15C, 0x8004D180, 0x8004D1B4, 0x8004D23C, 0x8004D2B0, 0x8004D2E4, 0x8004D310, 0x8004D31C, 0x8004D324, 0x8004D33C, 0x8004D354, 0x8004D36C, 0x8004D3A0, 0x8004D3F8 + +glabel D_80078464 +.word 0x00000000, 0x00000000, 0x00000000 + +glabel D_80078470 +.word 0x8004FBBC, 0x8004FCB4, 0x8004FCE4, 0x8004FD04, 0x8004FD94, 0x8004FE10, 0x8004FD38, 0x80050560, 0x8004FE6C, 0x8004FEB0, 0x8004FF3C, 0x8004FF58, 0x8004FF70, 0x8004FF88, 0x8004FFA8, 0x8004FFB4, 0x8004FFC8, 0x8004FFE4, 0x8004FFF0, 0x8004FFFC, 0x80050004, 0x80050020, 0x8004FED0, 0x80050128, 0x80050560, 0x80050560, 0x80050560, 0x80050560, 0x800501A8, 0x8005015C, 0x80050184, 0x800502F0, 0x02010101, 0x04030200, 0x02010101, 0x01010102, 0x03010100, 0x02010301, 0x00000000, 0x03030303 + +glabel D_80078510 +.word 0x30182028, 0x30384030, 0x00000000, 0x00000000 + +glabel D_80078520 +.word 0x00000000, 0x00000000, 0x00000000, 0x00000000 + +glabel D_80078530 +.word 0x00000200, 0x08001200, 0x20003200, 0x48006200, 0x80000000 + +glabel D_80078544 +.word 0x01000000, 0x0008000C + +glabel D_8007854C +.word 0x3D7FFF00, 0x3400FF00 + +glabel D_80078554 +.word 0x5C00FF00 + +glabel D_80078558 +.ascii "^]\\[ZXVSQOJE@;7531/-+)'&%#! " + +glabel D_80078580 +.word 0x03040506, 0x0708090A, 0x0B0C0D0E, 0x0F101112, 0x13141516, 0x17000000, 0x00000000, 0x00000000 + +glabel D_800785A0 +.word 0x0393756C, 0x034736DE, 0x02FAE1DA, 0x02AEA34C, 0x02624E48, 0x0215F944, 0x01C9BAB6, 0x01A39034, 0x017D65B2, 0x015751A6, 0x01312724, 0x0121E2F0, 0x01129EBC, 0x01035A88, 0x00F41654, 0x00E4D220, 0x00D58DEC, 0x00C649B8, 0x00B70584, 0x00A7D7C6, 0x00989392, 0x00894F5E, 0x007A0B2A, 0x006AC6F6, 0x005B82C2, 0x004C3E8E, 0x00449C74, 0x003CFA5A, 0x00355840, 0x002DB626, 0x0029F054, 0x0026140C, 0x00224E3A, 0x001E71F2, 0x001CF41C, 0x001B7646, 0x0019E1FA, 0x00186424, 0x0016CFD8, 0x00155202, 0x0013D42C, 0x00123FE0, 0x0010C20A, 0x000F2DBE, 0x000E7A0E, 0x000DAFE8, 0x000CE5C2, 0x000C3212, 0x000B67EC, 0x000A9DC6, 0x0009EA16, 0x00091FF0, 0x000855CA, 0x00078BA4, 0x0006D7F4, 0x00060DCE, 0x0005B3F6, 0x000543A8, 0x0004E9D0, 0x00048FF8, 0x0004630C, 0x00043620, 0x00040934, 0x0003F2BE, 0x0003C5D2, 0x000398E6, 0x00038270, 0x00035584, 0x00032898, 0x0002FBAC, 0x0002E536, 0x0002B84A, 0x00028B5E, 0x00025E72, 0x000247FC, 0x00021B10, 0x0001EE24, 0x0001C138, 0x0001AAC2, 0x00017DD6, 0x00016760, 0x00013A74, 0x00010D88, 0x0000F712, 0x0000E09C, 0x0000CA26, 0x0000B3B0, 0x00009D3A, 0x000086C4, 0x0000704E, 0x000059D8, 0x00004362, 0x00002CEC, 0x00001676, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000 + +glabel D_80078730 +.word 0x3F800000, 0x3F8012EF, 0x3F8025E1, 0x3F8038D6, 0x3F804BCD, 0x3F805EC7, 0x3F8071C4, 0x3F8084C4, 0x3F8097C7, 0x3F80AACC, 0x3F80BDD4, 0x3F80D0DF, 0x3F80E3ED, 0x3F80F6FE, 0x3F810A12, 0x3F811D28, 0x3F813041, 0x3F81435D, 0x3F81567C, 0x3F81699E, 0x3F817CC2, 0x3F818FE9, 0x3F81A313, 0x3F81B640, 0x3F81C970, 0x3F81DCA3, 0x3F81EFD9, 0x3F820311, 0x3F82164C, 0x3F82298A, 0x3F823CCB, 0x3F82500F, 0x3F826356, 0x3F82769F, 0x3F8289EB, 0x3F829D3A, 0x3F82B08C, 0x3F82C3E1, 0x3F82D739, 0x3F82EA94, 0x3F82FDF1, 0x3F831151, 0x3F8324B4, 0x3F83381A, 0x3F834B83, 0x3F835EEF, 0x3F83725E, 0x3F8385D0, 0x3F839944, 0x3F83ACBB, 0x3F83C035, 0x3F83D3B2, 0x3F83E732, 0x3F83FAB5, 0x3F840E3B, 0x3F8421C4, 0x3F84354F, 0x3F8448DD, 0x3F845C6E, 0x3F847002, 0x3F848399, 0x3F849733, 0x3F84AAD0, 0x3F84BE70, 0x3F84D213, 0x3F84E5B9, 0x3F84F961, 0x3F850D0C, 0x3F8520BA, 0x3F85346B, 0x3F85481F, 0x3F855BD6, 0x3F856F90, 0x3F85834D, 0x3F85970D, 0x3F85AAD0, 0x3F85BE96, 0x3F85D25F, 0x3F85E62A, 0x3F85F9F8, 0x3F860DC9, 0x3F86219D, 0x3F863574, 0x3F86494E, 0x3F865D2B, 0x3F86710B, 0x3F8684EE, 0x3F8698D4, 0x3F86ACBD, 0x3F86C0A9, 0x3F86D498, 0x3F86E88A, 0x3F86FC7F, 0x3F871077, 0x3F872472, 0x3F87386F, 0x3F874C6F, 0x3F876072, 0x3F877478, 0x3F878881, 0x3F879C8D, 0x3F87B09C, 0x3F87C4AE, 0x3F87D8C3, 0x3F87ECDB, 0x3F8800F6, 0x3F881514, 0x3F882935, 0x3F883D59, 0x3F885180, 0x3F8865AA, 0x3F8879D7, 0x3F888E07, 0x3F88A23A, 0x3F88B670, 0x3F88CAA9, 0x3F88DEE5, 0x3F88F324, 0x3F890766, 0x3F891BAB, 0x3F892FF3, 0x3F89443E, 0x3F89588C, 0x3F896CDD, 0x3F898131, 0x3F899588, 0x3F89A9E2, 0x3F89BE3F, 0x3F800000, 0x3F89D29F, 0x3F946637, 0x3F9FC997, 0x3FAC0CB1, 0x3FB940B0, 0x3FC77811, 0x3FD6C6BB, 0x3FE7421D, 0x3FF9014B, 0x40060E8F, 0x4010582B, 0x401B6BE2, 0x40275936, 0x403430DA, 0x404204C9, 0x4050E860, 0x4060F077, 0x40723381, 0x408264D5, 0x408C667B, 0x40972CB6, 0x40A2C69C, 0x40AF446B, 0x40BCB7A0, 0x40CB3311, 0x40DACB04, 0x40EB954F, 0x40FDA974, 0x41089062, 0x41130B3F, 0x411E53FF, 0x3F800000, 0x3F7FDA28, 0x3F7FB456, 0x3F7F8E89, 0x3F7F68C2, 0x3F7F4300, 0x3F7F1D44, 0x3F7EF78E, 0x3F7ED1DD, 0x3F7EAC32, 0x3F7E868C, 0x3F7E60EC, 0x3F7E3B51, 0x3F7E15BC, 0x3F7DF02C, 0x3F7DCAA2, 0x3F7DA51E, 0x3F7D7F9F, 0x3F7D5A26, 0x3F7D34B2, 0x3F7D0F44, 0x3F7CE9DB, 0x3F7CC478, 0x3F7C9F1A, 0x3F7C79C2, 0x3F7C546F, 0x3F7C2F22, 0x3F7C09DA, 0x3F7BE498, 0x3F7BBF5B, 0x3F7B9A24, 0x3F7B74F2, 0x3F7B4FC6, 0x3F7B2A9F, 0x3F7B057E, 0x3F7AE062, 0x3F7ABB4C, 0x3F7A963B, 0x3F7A7130, 0x3F7A4C2A, 0x3F7A272A, 0x3F7A022F, 0x3F79DD3A, 0x3F79B84A, 0x3F799360, 0x3F796E7B, 0x3F79499C, 0x3F7924C2, 0x3F78FFED, 0x3F78DB1E, 0x3F78B654, 0x3F789190, 0x3F786CD1, 0x3F784818, 0x3F782364, 0x3F77FEB6, 0x3F77DA0D, 0x3F77B569, 0x3F7790CB, 0x3F776C32, 0x3F77479F, 0x3F772311, 0x3F76FE88, 0x3F76DA05, 0x3F76B587, 0x3F76910F, 0x3F766C9C, 0x3F76482E, 0x3F7623C6, 0x3F75FF63, 0x3F75DB06, 0x3F75B6AE, 0x3F75925B, 0x3F756E0E, 0x3F7549C6, 0x3F752583, 0x3F750146, 0x3F74DD0E, 0x3F74B8DB, 0x3F7494AE, 0x3F747086, 0x3F744C63, 0x3F742846, 0x3F74042E, 0x3F73E01C, 0x3F73BC0F, 0x3F739807, 0x3F737404, 0x3F735007, 0x3F732C0F, 0x3F73081C, 0x3F72E42F, 0x3F72C047, 0x3F729C64, 0x3F727887, 0x3F7254AF, 0x3F7230DC, 0x3F720D0F, 0x3F71E947, 0x3F71C584, 0x3F71A1C6, 0x3F717E0E, 0x3F715A5B, 0x3F7136AD, 0x3F711305, 0x3F70EF62, 0x3F70CBC4, 0x3F70A82B, 0x3F708498, 0x3F70610A, 0x3F703D81, 0x3F7019FD, 0x3F6FF67F, 0x3F6FD306, 0x3F6FAF92, 0x3F6F8C23, 0x3F6F68BA, 0x3F6F4556, 0x3F6F21F7, 0x3F6EFE9D, 0x3F6EDB49, 0x3F6EB7FA, 0x3F6E94B0, 0x3F6E716B, 0x3F6E4E2B, 0x3F6E2AF1, 0x3F6E07BC, 0x3F6DE48C, 0x3F800000, 0x3F6DC161, 0x3F5CCFA0, 0x3F4D1303, 0x3F3E7583, 0x3F30E2A9, 0x3F244774, 0x3F18923F, 0x3F0DB2A4, 0x3F03996B, 0x3EF470E1, 0x3EE30526, 0x3ED2D741, 0x3EC3D08B, 0x3EB5DBFB, 0x3EA8E607, 0x3E9CDC8A, 0x3E91AEA9, 0x3E874CBE, 0x3E7B5080, 0x3E69675D, 0x3E58C500, 0x3E495220, 0x3E3AF91B, 0x3E2DA5DB, 0x3E2145B8, 0x3E15C75E, 0x3E0B1AB6, 0x3E0130CE, 0x3DEFF78B, 0x3DDEDD71, 0x3DCEFB5A, 0x3DC03B0C, 0x3DB287E0, 0x3DA5CEA6, 0x3D99FD90, 0x3D8F0410, 0x3D84D2CB, 0x3D76B6F6, 0x3D6521C0, 0x3D54CD52, 0x3D45A2D5, 0x3D378D0A, 0x3D2A7839, 0x3D1E5213, 0x3D130992, 0x3D088EF0, 0x3CFDA6F5, 0x3CEB932C, 0x3CDAC934, 0x3CCB318C, 0x3CBCB65A, 0x3CAF435F, 0x3CA2C5C3, 0x3C972C06, 0x3C8C65F5, 0x3C826474, 0x3C7232F8, 0x3C60F025, 0x3C50E83A, 0x3C4204D2, 0x3C3430FF, 0x3C275980, 0x3C1B6C42, 0x3C10589D, 0x3C060F18, 0x3BF90275, 0x3BE7435B, 0x3BD6C80E, 0x3BC7797C, 0x3BB9422B, 0x3BAC0E26, 0x3B9FCB0C, 0x3B9467C1, 0x3B89D42A, 0x3B800183, 0x3B6DC413, 0x3B5CD229, 0x3B4D1572, 0x3B3E77CA, 0x3B30E4BA, 0x3B24494B, 0x3B18940B, 0x3B0DB45E, 0x3B039B00, 0x3AF473B0, 0x3AE307F8, 0x3AD2D9AC, 0x3AC3D2FE, 0x3AB5DE1E, 0x3AA8E7EB, 0x3A9CDE48, 0x3A91B06C, 0x3A874E3D, 0x3A7B5348, 0x3A696A67, 0x3A58C7AD, 0x3A495447, 0x3A3AFB69, 0x3A2DA799, 0x3A214763, 0x3A15C955, 0x3A0B1CA9, 0x3A01329B, 0x39EFFA23, 0x39DEDFF5, 0x39CEFD29, 0x39C03D9D, 0x39B28A81, 0x39A5D10A, 0x3999FFC6, 0x398F0541, 0x3984D410, 0x3976BADD, 0x39652533, 0x3954CEFA, 0x3945A566, 0x39379050, 0x392A7A3D, 0x391E5312, 0x39130AB4, 0x39089109, 0x38FDABE8, 0x38EB9814, 0x38DACBBE, 0x38CB316C, 0x38BCB903, 0x38AF47AC + +glabel D_80078DB0 +.word 0x00000000 + +glabel D_80078DB4 +.short 0x0000 + +glabel D_80078DB6 +.short 0x0000 + +glabel D_80078DB8 +.word 0x025E0350, 0x04640554, 0x00000000 + +glabel D_80078DC4 +.word 0x0264036E, 0x045A0000 + +glabel D_80078DCC +.word 0x025F0000 + +glabel D_80078DD0 +.word 0x0546065A, 0x075A0864, 0x00000000 + +glabel D_80078DDC +.word 0x05000600, 0x07000800, 0x09000A00, 0x0B000C00, 0x0D000E00, 0x0F001000, 0x00000000 + +glabel D_80078DF8 +.word 0x05640666, 0x0758086E, 0x09000A00, 0x0B000C00, 0x0D000E00, 0x0F001000, 0x00000000 + +glabel D_80078E14 +.word 0x05640666, 0x0758086E, 0x097E0A58, 0x0B640C00, 0x0D000E00, 0x0F001000, 0x00000000 + +glabel D_80078E30 +.word 0x05640666, 0x0758086E, 0x097E0A58, 0x0B640C64, 0x0D6A0E64, 0x0F64106E, 0x00000000, 0x00000000 + +glabel D_80078E50 +.word 0x00000000 + +glabel D_80078E54 +.word 0x00000000 + +glabel D_80078E58 +.short 0x0000 + +glabel D_80078E5A +.short 0x7FFF + +glabel D_80078E5C +.word 0x00000000 + +glabel D_80078E60 +.word 0x7FFF7FFC, 0x7FF57FE8, 0x7FD77FC0, 0x7FA57F84, 0x7F5F7F34, 0x7F057ED0, 0x7E977E58, 0x7E157DCD, 0x7D7F7D2D, 0x7CD67C7A, 0x7C1A7BB4, 0x7B497ADA, 0x7A6679ED, 0x796F78ED, 0x786677DA, 0x774976B4, 0x761A757B, 0x74D87430, 0x738472D3, 0x721E7164, 0x70A66FE3, 0x6F1C6E51, 0x6D816CAD, 0x6BD56AF9, 0x6A186933, 0x684A675D, 0x666C6577, 0x647E6381, 0x6280617C, 0x60735F67, 0x5E575D43, 0x5C2C5B11 + +glabel D_80078EE0 +.word 0x59F258D0, 0x57AA5681, 0x55555425, 0x52F251BC, 0x50824F46, 0x4E064CC3, 0x4B7D4A35, 0x48E9479B, 0x464944F5, 0x439E4245, 0x40E93F8A, 0x3E293CC6, 0x3B6039F8, 0x388D3721, 0x35B23441, 0x32CE3159, 0x2FE22E69, 0x2CEF2B72, 0x29F42875, 0x26F32570, 0x23EC2266, 0x20DF1F57, 0x1DCE1C43, 0x1AB7192A, 0x179C160E, 0x147E12ED, 0x115C0FCA, 0x0E380CA5, 0x0B11097D, 0x07E90654, 0x04C0032A, 0x01950000, 0xBF800000, 0x00000000, 0x36813045, 0x36CCC25E, 0x37013056, 0x3715FBD1, 0x3726F96C, 0x373556F8, 0x3741C897, 0x374CC288, 0x3756941E, 0x375F75EA, 0x376791B7, 0x376F074D, 0x3775EF48, 0x377C5D3E, 0x37813079, 0x3784039E, 0x3786AD71, 0x37893260, 0x378B9637, 0x378DDC3A, 0x37900722, 0x3792195F, 0x37941509, 0x3795FC00, 0x3797CFD4, 0x37999207, 0x379B43D7, 0x379CE668, 0x379E7AD2, 0x37A001F1, 0x37A17CA6, 0x37A2EBB8, 0x37A44FD1, 0x37A5A99A, 0x37A6F9A4, 0x37A84077, 0x37A97E93, 0x37AAB46F, 0x37ABE26F, 0x37AD08FC, 0x37AE286C, 0x37AF4119, 0x37B05355, 0x37B15F67, 0x37B26597, 0x37B36621, 0x37B46141, 0x37B55735, 0x37B64832, 0x37B7346C, 0x37B81C0C, 0x37B8FF46, 0x37B9DE3F, 0x37BAB91E, 0x37BB900F, 0x37BC632E, 0x37BD32A6, 0x37BDFE8D, 0x37BEC70A, 0x37BF8C33, 0x37C04E29, 0x37C10D07, 0x37C1C8E4, 0x37C281D5, 0x37C337F0, 0x37C3EB51, 0x37C49C0E, 0x37C54A32, 0x37C5F5D3, 0x37C69F06, 0x37C745DC, 0x37C7EA67, 0x37C88CB5, 0x37C92CD3, 0x37C9CAD0, 0x37CA66BE, 0x37CB00A7, 0x37CB98A1, 0x37CC2EAD, 0x37CCC2DA, 0x37CD5539, 0x37CDE5D0, 0x37CE74AA, 0x37CF01D7, 0x37CF8D57, 0x37D01741, 0x37D09F93, 0x37D1265F, 0x37D1ABA5, 0x37D22F75, 0x37D2B1D5, 0x37D332CA, 0x37D3B25F, 0x37D43099, 0x37D4AD7F, 0x37D52921, 0x37D5A378, 0x37D61C91, 0x37D69476, 0x37D70B27, 0x37D780A9, 0x37D7F50E, 0x37D8684A, 0x37D8DA73, 0x37D94B84, 0x37D9BB87, 0x37DA2A7D, 0x37DA9870, 0x37DB055C, 0x37DB7150, 0x37DBDC4D, 0x37DC4658, 0x37DCAF71, 0x37DD179E, 0x37DD7EE3, 0x37DDE548, 0x37DE4AD0, 0x37DEAF77, 0x37DF1348, 0x37DF7648, 0x37DFD877, 0x37E039D4, 0x37E09A6C, 0x37E0FA3F, 0x37E1594B, 0x37E1B797, 0x37E21527, 0x37E271F8, 0x37E2CE18, 0x37E3297E, 0x37E38434, 0x37E3DE3F, 0x37E43795, 0x37E49046, 0x37E4E852, 0x37E53FB3, 0x37E59675, 0x37E5EC93, 0x37E64216, 0x37E696FF, 0x37E6EB49, 0x37E73F04, 0x37E79220, 0x37E7E4AC, 0x37E836AA, 0x37E88819, 0x37E8D8F8, 0x37E92949, 0x37E97916, 0x37E9C85A, 0x37EA1714, 0x37EA654F, 0x37EAB302, 0x37EB0035, 0x37EB4CF0, 0x37EB9927, 0x37EBE4E5, 0x37EC3024, 0x37EC7AF0, 0x37ECC543, 0x37ED0F1D, 0x37ED588A, 0x37EDA17D, 0x37EDEA02, 0x37EE3214, 0x37EE79B8, 0x37EEC0EE, 0x37EF07BB, 0x37EF4E1B, 0x37EF9412, 0x37EFD9A0, 0x37F01EC6, 0x37F06389, 0x37F0A7E4, 0x37F0EBDC, 0x37F12F71, 0x37F172A3, 0x37F1B577, 0x37F1F7EE, 0x37F23A02, 0x37F27BBE, 0x37F2BD17, 0x37F2FE18, 0x37F33EC1, 0x37F37F13, 0x37F3BF06, 0x37F3FEA2, 0x37F43DEB, 0x37F47CE2, 0x37F4BB7C, 0x37F4F9C8, 0x37F537C2, 0x37F57564, 0x37F5B2B9, 0x37F5EFBB, 0x37F62C71, 0x37F668DA, 0x37F6A4F0, 0x37F6E0B9, 0x37F71C3B, 0x37F75770, 0x37F79257, 0x37F7CCF2, 0x37F80746, 0x37F84151, 0x37F87B16, 0x37F8B493, 0x37F8EDC8, 0x37F926BC, 0x37F95F68, 0x37F997CD, 0x37F9CFEF, 0x37FA07D0, 0x37FA3F69, 0x37FA76C6, 0x37FAADE0, 0x37FAE4B9, 0x37FB1B50, 0x37FB51A5, 0x37FB87C3, 0x37FBBD99, 0x37FBF338, 0x37FC2896, 0x37FC5DB7, 0x37FC92A1, 0x37FCC749, 0x37FCFBBA, 0x37FD2FEE, 0x37FD63E6, 0x37FD97A8, 0x37FDCB2C, 0x37FDFE7A, 0x37FE3191, 0x37FE6470, 0x37FE9719, 0x37FEC985, 0x37FEFBC0, 0x37FF2DC4, 0x37FF5F96, 0x37FF912C, 0x37FFC291, 0x37FFF3C3, 0x38001260, 0x38002AC5, 0x38004311, 0x38005B42, 0x3800735B, 0x38008B5D, 0x3800A344, 0x3800BB14, 0x3800D2CA, 0x3800EA69, 0x380101F0, 0x38011960, 0x380130B8, 0x380147F7, 0x38015F23, 0x38017633, 0x38018D31, 0x3801A415, 0x3801BAE6, 0x3801D19F, 0x3801E841, 0x3801FECD, 0x38021544, 0x38022BA4, 0x380241F2, 0x38025829, 0x38026E4A, 0x38028455, 0x38029A4D, 0x3802B032, 0x3802C601, 0x3802DBBA, 0x3802F15F, 0x380306F1, 0x38031C70, 0x380331DA, 0x38034732, 0x38035C75, 0x380371A4, 0x380386C3, 0x38039BCC, 0x3803B0C1, 0x3803C5A6, 0x3803DA78, 0x3803EF37, 0x380403E2, 0x3804187D, 0x38042D05, 0x3804417C, 0x380455E0, 0x38046A31, 0x38047E74, 0x380492A1, 0x3804A6C0, 0x3804BACC, 0x3804CEC7, 0x3804E2B0, 0x3804F68A, 0x38050A51, 0x38051E0B, 0x380531B1, 0x38054547, 0x380558CC, 0x38056C41, 0x38057FA8, 0x380592FC, 0x3805A642, 0x3805B977, 0x3805CC9C, 0x3805DFB4, 0x3805F2BB, 0x380605B1, 0x3806189A, 0x38062B72, 0x38063E39, 0x380650F3, 0x3806639F, 0x3806763B, 0x380688C9, 0x38069B46, 0x3806ADB6, 0x3806C018, 0x3806D269, 0x3806E4B0, 0x3806F6E6, 0x3807090E, 0x38071B25, 0x38072D32, 0x38073F31, 0x38075120, 0x38076303, 0x380774D9, 0x3807869E, 0x38079858, 0x3807AA05, 0x3807BBA3, 0x3807CD34, 0x3807DEB8, 0x3807F030, 0x3808019A, 0x380812F7, 0x38082446, 0x3808358A, 0x380846C1, 0x380857E9, 0x38086907, 0x38087A19, 0x38088B1E, 0x38089C15, 0x3808AD01, 0x3808BDE0, 0x3808CEB3, 0x3808DF78, 0x3808F036, 0x380900E3, 0x38091187, 0x3809221E, 0x380932AA, 0x38094328, 0x3809539E, 0x38096406, 0x38097463, 0x380984B3, 0x380994FA, 0x3809A536, 0x3809B564, 0x3809C588, 0x3809D5A0, 0x3809E5B0, 0x3809F5B3, 0x380A05AA, 0x380A1597, 0x380A257B, 0x380A3551, 0x380A451D, 0x380A54E0, 0x380A6498, 0x380A7445, 0x380A83E8, 0x380A937F, 0x380AA30B, 0x380AB28F, 0x380AC208, 0x380AD176, 0x380AE0D9, 0x380AF034, 0x380AFF84, 0x380B0ECB, 0x380B1E08, 0x380B2D39, 0x380B3C60, 0x380B4B7E, 0x380B5A94, 0x380B699F, 0x380B789F, 0x380B8797, 0x380B9686, 0x380BA56B, 0x380BB445, 0x380BC316, 0x380BD1DF, 0x380BE09D, 0x380BEF53, 0x380BFDFE, 0x380C0CA0, 0x380C1B3B, 0x380C29CD, 0x380C3854, 0x380C46D3, 0x380C5547, 0x380C63B5, 0x380C7218, 0x380C8073, 0x380C8EC3, 0x380C9D0E, 0x380CAB4E, 0x380CB985, 0x380CC7B4, 0x380CD5DB, 0x380CE3FA, 0x380CF20D, 0x380D001C, 0x380D0E1F, 0x380D1C1C, 0x380D2A0F, 0x380D37F9, 0x380D45DE, 0x380D53B8, 0x380D618A, 0x380D6F56, 0x380D7D17, 0x380D8AD3, 0x380D9884, 0x380DA62F, 0x380DB3CF, 0x380DC16A, 0x380DCEFC, 0x380DDC87, 0x380DEA08, 0x380DF782, 0x380E04F6, 0x380E1260, 0x380E1FC3, 0x380E2D1F, 0x380E3A75, 0x380E47C0, 0x380E5505, 0x380E6243, 0x380E6F78, 0x380E7CA7, 0x380E89CE, 0x380E96ED, 0x380EA404, 0x380EB115, 0x380EBE1E, 0x380ECB22, 0x380ED81D, 0x380EE510, 0x380EF1FB, 0x380EFEE0, 0x380F0BC0, 0x380F1898, 0x380F2567, 0x380F3231, 0x380F3EF2, 0x380F4BAE, 0x380F5862, 0x380F650E, 0x380F71B4, 0x380F7E54, 0x380F8AED, 0x380F977F, 0x380FA40A, 0x380FB08F, 0x380FBD0C, 0x380FC983, 0x380FD5F2, 0x380FE25C, 0x380FEEC0, 0x380FFB1C, 0x38100772, 0x381013C3, 0x3810200C, 0x38102C4C, 0x3810388A, 0x381044BF, 0x381050EF, 0x38105D16, 0x38106939, 0x38107555, 0x3810816C, 0x38108D7B, 0x38109985, 0x3810A588, 0x3810B184, 0x3810BD7D, 0x3810C96E, 0x3810D559, 0x3810E13C, 0x3810ED1C, 0x3810F8F4, 0x381104C6, 0x38111093, 0x38111C58, 0x3811281A, 0x381133D3, 0x38113F8A, 0x38114B39, 0xBF800000, 0x00000000, 0x36915629, 0x36E65A71, 0x3711563E, 0x3728BB21, 0x373BD86E, 0x374C01A5, 0x375A017E, 0x37665AA2, 0x37716665, 0x377B646F, 0x378241DE, 0x378673FF, 0x378A567A, 0x378DF452, 0x37915666, 0x379483F4, 0x379782FE, 0x379A588A, 0x379D08DF, 0x379F979E, 0x37A207E4, 0x37A45C6C, 0x37A6978B, 0x37A8BB58, 0x37AAC9AC, 0x37ACC422, 0x37AEAC2C, 0x37B08318, 0x37B24A04, 0x37B4020F, 0x37B5AC19, 0x37B74909, 0x37B8D9A6, 0x37BA5EAA, 0x37BBD8B5, 0x37BD4861, 0x37BEAE42, 0x37C00AD6, 0x37C15E97, 0x37C2A9F2, 0x37C3ED56, 0x37C5291A, 0x37C65D9C, 0x37C78B2E, 0x37C8B223, 0x37C9D2BD, 0x37CAED43, 0x37CC01F7, 0x37CD1116, 0x37CE1AD6, 0x37CF1F69, 0x37D01F07, 0x37D119E0, 0x37D2101B, 0x37D301E9, 0x37D3EF6C, 0x37D4D8D0, 0x37D5BE3A, 0x37D69FC1, 0x37D77D97, 0x37D857CC, 0x37D92E81, 0x37DA01D6, 0x37DAD1E8, 0x37DB9ECC, 0x37DC6899, 0x37DD2F69, 0x37DDF34E, 0x37DEB468, 0x37DF72C2, 0x37E02E73, 0x37E0E78A, 0x37E19E24, 0x37E25245, 0x37E30405, 0x37E3B36D, 0x37E46099, 0x37E50B8A, 0x37E5B45A, 0x37E65B10, 0x37E6FFB5, 0x37E7A261, 0x37E84319, 0x37E8E1E7, 0x37E97EDD, 0x37EA19FF, 0x37EAB35F, 0x37EB4B01, 0x37EBE0F1, 0x37EC753A, 0x37ED07E6, 0x37ED98FC, 0x37EE2880, 0x37EEB683, 0x37EF430B, 0x37EFCE18, 0x37F057BF, 0x37F0DFFC, 0x37F166D8, 0x37F1EC60, 0x37F27099, 0x37F2F387, 0x37F3752C, 0x37F3F598, 0x37F474CA, 0x37F4F2CD, 0x37F56FA3, 0x37F5EB54, 0x37F665E3, 0x37F6DF54, 0x37F757AC, 0x37F7CEF7, 0x37F84535, 0x37F8BA6A, 0x37F92E98, 0x37F9A1C9, 0x37FA13FD, 0x37FA853F, 0x37FAF58A, 0x37FB64E8, 0x37FBD35A, 0x37FC40EB, 0x37FCAD94, 0x37FD195C, 0x37FD8449, 0x37FDEE5F, 0x37FE579E, 0x37FEC00D, 0x37FF27B0, 0x37FF8E88, 0x37FFF494, 0x38002CED, 0x38005F30, 0x38009113, 0x3800C299, 0x3800F3C1, 0x3801248E, 0x38015500, 0x38018518, 0x3801B4DB, 0x3801E445, 0x3802135D, 0x3802421E, 0x3802708E, 0x38029EAC, 0x3802CC78, 0x3802F9F6, 0x38032725, 0x38035407, 0x3803809C, 0x3803ACE7, 0x3803D8E7, 0x3804049D, 0x38043009, 0x38045B31, 0x38048611, 0x3804B0AC, 0x3804DAFF, 0x38050511, 0x38052EE1, 0x3805586C, 0x380581B8, 0x3805AAC2, 0x3805D38C, 0x3805FC15, 0x38062464, 0x38064C71, 0x38067444, 0x38069BDB, 0x3806C335, 0x3806EA55, 0x3807113A, 0x380737E7, 0x38075E5A, 0x38078496, 0x3807AA99, 0x3807D068, 0x3807F5FF, 0x38081B60, 0x3808408C, 0x38086584, 0x38088A48, 0x3808AEDA, 0x3808D338, 0x3808F765, 0x38091B5D, 0x38093F27, 0x380962BF, 0x38098629, 0x3809A961, 0x3809CC6D, 0x3809EF47, 0x380A11F3, 0x380A3473, 0x380A56C7, 0x380A78EC, 0x380A9AE5, 0x380ABCB2, 0x380ADE53, 0x380AFFCB, 0x380B2117, 0x380B423A, 0x380B6333, 0x380B8404, 0x380BA4AB, 0x380BC528, 0x380BE580, 0x380C05AE, 0x380C25B5, 0x380C4594, 0x380C654E, 0x380C84E3, 0x380CA450, 0x380CC397, 0x380CE2BB, 0x380D01B8, 0x380D2091, 0x380D3F47, 0x380D5DD8, 0x380D7C46, 0x380D9A91, 0x380DB8BA, 0x380DD6C0, 0x380DF4A2, 0x380E1265, 0x380E3005, 0x380E4D81, 0x380E6ADF, 0x380E881C, 0x380EA538, 0x380EC236, 0x380EDF10, 0x380EFBCE, 0x380F1869, 0x380F34E8, 0x380F5146, 0x380F6D86, 0x380F89AB, 0x380FA5AF, 0x380FC194, 0x380FDD5E, 0x380FF909, 0x38101497, 0x38103009, 0x38104B5C, 0x38106694, 0x381081B1, 0x38109CB2, 0x3810B798, 0x3810D25F, 0x3810ED0E, 0x381107A1, 0x38112219, 0x38113C75, 0x381156B9, 0x381170E4, 0x38118AF0, 0x3811A4E7, 0x3811BEC2, 0x3811D884, 0x3811F22B, 0x38120BBC, 0x38122534, 0x38123E90, 0x381257D7, 0x38127105, 0x38128A1A, 0x3812A317, 0x3812BBFD, 0x3812D4CB, 0x3812ED82, 0x38130621, 0x38131EAA, 0x3813371A, 0x38134F77, 0x381367BC, 0x38137FEA, 0x381397FF, 0x3813B002, 0x3813C7EE, 0x3813DFC4, 0x3813F785, 0x38140F2F, 0x381426C6, 0x38143E47, 0x381455B2, 0x38146D07, 0x38148449, 0x38149B78, 0x3814B290, 0x3814C996, 0x3814E085, 0x3814F764, 0x38150E2A, 0x381524E0, 0x38153B82, 0x3815520F, 0x3815688B, 0x38157EF1, 0x38159546, 0x3815AB85, 0x3815C1B4, 0x3815D7D0, 0x3815EDDB, 0x381603D1, 0x381619B5, 0x38162F87, 0x38164548, 0x38165AF6, 0x38167090, 0x3816861D, 0x38169B94, 0x3816B0FD, 0x3816C653, 0x3816DB95, 0x3816F0CA, 0x381705EC, 0x38171AFD, 0x38172FFE, 0x381744EE, 0x381759CB, 0x38176E9A, 0x38178358, 0x38179804, 0x3817ACA1, 0x3817C12F, 0x3817D5AB, 0x3817EA1A, 0x3817FE76, 0x381812C4, 0x38182701, 0x38183B2E, 0x38184F4D, 0x3818635C, 0x3818775D, 0x38188B4E, 0x38189F30, 0x3818B303, 0x3818C6C4, 0x3818DA7B, 0x3818EE21, 0x381901B7, 0x3819153F, 0x381928B9, 0x38193C26, 0x38194F82, 0x381962D3, 0x38197614, 0x38198946, 0x38199C6B, 0x3819AF83, 0x3819C28A, 0x3819D586, 0x3819E874, 0x3819FB54, 0x381A0E27, 0x381A20EB, 0x381A33A3, 0x381A464C, 0x381A58E8, 0x381A6B78, 0x381A7DFB, 0x381A9070, 0x381AA2DA, 0x381AB534, 0x381AC783, 0x381AD9C6, 0x381AEBFC, 0x381AFE25, 0x381B103F, 0x381B2251, 0x381B3453, 0x381B464A, 0x381B5835, 0x381B6A13, 0x381B7BE6, 0x381B8DAB, 0x381B9F66, 0x381BB115, 0x381BC2B6, 0x381BD44D, 0x381BE5D8, 0x381BF759, 0x381C08CC, 0x381C1A33, 0x381C2B90, 0x381C3CDF, 0x381C4E26, 0x381C5F5F, 0x381C708D, 0x381C81B3, 0x381C92CB, 0x381CA3D8, 0x381CB4DA, 0x381CC5D1, 0x381CD6BD, 0x381CE79E, 0x381CF874, 0x381D0940, 0x381D1A02, 0x381D2AB7, 0x381D3B64, 0x381D4C03, 0x381D5C9A, 0x381D6D26, 0x381D7DAA, 0x381D8E20, 0x381D9E8D, 0x381DAEF0, 0x381DBF48, 0x381DCF97, 0x381DDFDB, 0x381DF015, 0x381E0046, 0x381E106C, 0x381E2087, 0x381E309A, 0x381E40A2, 0x381E50A2, 0x381E6097, 0x381E7080, 0x381E8062, 0x381E903B, 0x381EA009, 0x381EAFCF, 0x381EBF8A, 0x381ECF3D, 0x381EDEE4, 0x381EEE84, 0x381EFE1B, 0x381F0DA7, 0x381F1D2B, 0x381F2CA4, 0x381F3C18, 0x381F4B7E, 0x381F5ADE, 0x381F6A33, 0x381F7983, 0x381F88C5, 0x381F9801, 0x381FA733, 0x381FB65F, 0x381FC580, 0x381FD499, 0x381FE3A6, 0x381FF2AF, 0x382001AC, 0x382010A4, 0x38201F91, 0x38202E75, 0x38203D52, 0x38204C26, 0x38205AF1, 0x382069B5, 0x38207870, 0x38208723, 0x382095CE, 0x3820A471, 0x3820B30B, 0x3820C19D, 0x3820D027, 0x3820DEA9, 0x3820ED22, 0x3820FB93, 0x382109FF, 0x3821185F, 0x382126BB, 0x3821350D, 0x38214358, 0x3821519A, 0x38215FD5, 0x38216E09, 0x38217C36, 0x38218A5A, 0x38219876, 0x3821A689, 0x3821B497, 0x3821C29D, 0x3821D09B, 0x3821DE93, 0x3821EC83, 0x3821FA6B, 0x3822084A, 0x38221624, 0x382223F6, 0x382231C2, 0x38223F86, 0x38224D42, 0x38225AF8, 0x382268A6, 0x3822764B, 0x382283EC, 0x38229184, 0x38229F16, 0x3822ACA0, 0x3822BA25, 0x3822C7A1, 0x3822D516, 0x3822E284, 0x3822EFEE, 0x3822FD4E, 0x38230AAA, 0x382317FD, 0x38232548, 0x38233290, 0x38233FCE, 0x38234D08, 0x38235A3A, 0x38236764, 0x38237489, 0xBF800000, 0x00000000, 0x36A6196A, 0x3703A179, 0x37261985, 0x3740D603, 0x3756AE5C, 0x3769269A, 0x37792674, 0x3783A19B, 0x3789F17B, 0x378FA735, 0x3794DDA7, 0x3799A93E, 0x379E19D1, 0x37A23BED, 0x37A619B9, 0x37A9BB85, 0x37AD281F, 0x37B06554, 0x37B377FF, 0x37B66449, 0x37B92DBF, 0x37BBD77C, 0x37BE6436, 0x37C0D64A, 0x37C32FCD, 0x37C5729C, 0x37C7A05B, 0x37C9BA8F, 0x37CBC27C, 0x37CDB962, 0x37CFA04E, 0x37D1783C, 0x37D34214, 0x37D4FEA6, 0x37D6AEB4, 0x37D852E6, 0x37D9EBE9, 0x37DB7A4A, 0x37DCFE94, 0x37DE7949, 0x37DFEADE, 0x37E153C0, 0x37E2B453, 0x37E40CFF, 0x37E55E11, 0x37E6A7EB, 0x37E7EACB, 0x37E92708, 0x37EA5CDF, 0x37EB8C97, 0x37ECB667, 0x37EDDA86, 0x37EEF937, 0x37F0129F, 0x37F126FB, 0x37F2366C, 0x37F34129, 0x37F44753, 0x37F5491C, 0x37F64699, 0x37F73FFC, 0x37F83561, 0x37F926E8, 0x37FA14B2, 0x37FAFEDC, 0x37FBE57A, 0x37FCC8B4, 0x37FDA899, 0x37FE8546, 0x37FF5ED0, 0x38001AAA, 0x38008470, 0x3800ECC6, 0x380153B4, 0x3801B944, 0x38021D83, 0x38028075, 0x3802E225, 0x3803429C, 0x3803A1E0, 0x3803FFF7, 0x38045CE9, 0x3804B8C2, 0x38051380, 0x38056D30, 0x3805C5D9, 0x38061D7C, 0x38067423, 0x3806C9D2, 0x38071E8D, 0x3807725B, 0x3807C542, 0x38081748, 0x3808686D, 0x3808B8B8, 0x38090830, 0x380956D7, 0x3809A4B2, 0x3809F1C5, 0x380A3E12, 0x380A899E, 0x380AD470, 0x380B1E86, 0x380B67E7, 0x380BB098, 0x380BF89A, 0x380C3FEE, 0x380C869D, 0x380CCCA5, 0x380D120A, 0x380D56D0, 0x380D9AFC, 0x380DDE8B, 0x380E2183, 0x380E63EA, 0x380EA5BC, 0x380EE6FF, 0x380F27B6, 0x380F67E1, 0x380FA785, 0x380FE6A2, 0x3810253B, 0x38106353, 0x3810A0ED, 0x3810DE06, 0x38111AA5, 0x381156C9, 0x38119277, 0x3811CDAF, 0x38120873, 0x381242C3, 0x38127CA3, 0x3812B615, 0x3812EF16, 0x381327AF, 0x38135FDD, 0x381397A2, 0x3813CF01, 0x381405F8, 0x38143C8F, 0x381472C0, 0x3814A891, 0x3814DDFF, 0x38151312, 0x381547C5, 0x38157C1E, 0x3815B01B, 0x3815E3C1, 0x3816170C, 0x381649FF, 0x38167C9C, 0x3816AEE5, 0x3816E0DB, 0x3817127C, 0x381743CD, 0x381774CE, 0x3817A57D, 0x3817D5DF, 0x381805F4, 0x381835BA, 0x38186538, 0x38189469, 0x3818C34F, 0x3818F1EC, 0x38192041, 0x38194E51, 0x38197C1A, 0x3819A99B, 0x3819D6DA, 0x381A03D2, 0x381A308B, 0x381A5CFF, 0x381A8931, 0x381AB524, 0x381AE0D4, 0x381B0C49, 0x381B377B, 0x381B6271, 0x381B8D2A, 0x381BB7A7, 0x381BE1E5, 0x381C0BEC, 0x381C35B6, 0x381C5F46, 0x381C889D, 0x381CB1BA, 0x381CDAA0, 0x381D034F, 0x381D2BC8, 0x381D5409, 0x381D7C13, 0x381DA3E9, 0x381DCB8B, 0x381DF2F8, 0x381E1A32, 0x381E4137, 0x381E680D, 0x381E8EAC, 0x381EB51D, 0x381EDB5C, 0x381F016C, 0x381F2749, 0x381F4CF9, 0x381F7278, 0x381F97CA, 0x381FBCEC, 0x381FE1E1, 0x382006A8, 0x38202B42, 0x38204FB1, 0x382073F3, 0x3820980A, 0x3820BBF5, 0x3820DFB3, 0x38210349, 0x382126B5, 0x382149F8, 0x38216D0F, 0x38219000, 0x3821B2C7, 0x3821D565, 0x3821F7DC, 0x38221A2B, 0x38223C55, 0x38225E57, 0x38228032, 0x3822A1E6, 0x3822C377, 0x3822E4E1, 0x38230625, 0x38232745, 0x38234841, 0x38236917, 0x382389CC, 0x3823AA5A, 0x3823CAC7, 0x3823EB11, 0x38240B39, 0x38242B3E, 0x38244B1F, 0x38246AE2, 0x38248A81, 0x3824AA00, 0x3824C95D, 0x3824E899, 0x382507B4, 0x382526B1, 0x3825458D, 0x38256448, 0x382582E5, 0x3825A163, 0x3825BFC1, 0x3825DE03, 0x3825FC24, 0x38261A27, 0x3826380B, 0x382655D5, 0x3826737F, 0x3826910C, 0x3826AE7B, 0x3826CBCD, 0x3826E905, 0x38270621, 0x3827231F, 0x38274001, 0x38275CC5, 0x38277970, 0x38279600, 0x3827B274, 0x3827CECD, 0x3827EB0D, 0x38280731, 0x3828233A, 0x38283F2B, 0x38285B00, 0x382876BC, 0x3828925F, 0x3828ADE7, 0x3828C956, 0x3828E4AC, 0x3828FFED, 0x38291B12, 0x3829361E, 0x38295111, 0x38296BEF, 0x382986B1, 0x3829A15D, 0x3829BBF3, 0x3829D670, 0x3829F0D4, 0x382A0B23, 0x382A255B, 0x382A3F7B, 0x382A5985, 0x382A7379, 0x382A8D57, 0x382AA71E, 0x382AC0CE, 0x382ADA69, 0x382AF3EC, 0x382B0D5C, 0x382B26B6, 0x382B3FFA, 0x382B592B, 0x382B7245, 0x382B8B4A, 0x382BA439, 0x382BBD14, 0x382BD5DC, 0x382BEE8E, 0x382C072D, 0x382C1FB6, 0x382C382C, 0x382C508F, 0x382C68DE, 0x382C8117, 0x382C993D, 0x382CB153, 0x382CC952, 0x382CE13E, 0x382CF91A, 0x382D10E0, 0x382D2895, 0x382D4037, 0x382D57C6, 0x382D6F42, 0x382D86AD, 0x382D9E05, 0x382DB54C, 0x382DCC80, 0x382DE3A1, 0x382DFAB1, 0x382E11AE, 0x382E289B, 0x382E3F77, 0x382E5643, 0x382E6CFB, 0x382E83A3, 0x382E9A38, 0x382EB0BF, 0x382EC733, 0x382EDD96, 0x382EF3E9, 0x382F0A2B, 0x382F205C, 0x382F3680, 0x382F4C91, 0x382F6291, 0x382F7884, 0x382F8E63, 0x382FA435, 0x382FB9F6, 0x382FCFA6, 0x382FE549, 0x382FFADB, 0x3830105D, 0x383025D1, 0x38303B35, 0x3830508B, 0x383065D0, 0x38307B05, 0x3830902F, 0x3830A545, 0x3830BA51, 0x3830CF4C, 0x3830E437, 0x3830F916, 0x38310DE5, 0x383122A7, 0x38313758, 0x38314BFE, 0x38316093, 0x3831751B, 0x38318995, 0x38319E01, 0x3831B25F, 0x3831C6B0, 0x3831DAF3, 0x3831EF28, 0x3832034F, 0x38321769, 0x38322B75, 0x38323F73, 0x38325364, 0x38326749, 0x38327B21, 0x38328EEB, 0x3832A2A7, 0x3832B659, 0x3832C9FC, 0x3832DD92, 0x3832F11D, 0x3833049A, 0x38331809, 0x38332B6D, 0x38333EC4, 0x3833520F, 0x3833654D, 0x3833787D, 0x38338BA5, 0x38339EBC, 0x3833B1CB, 0x3833C4CD, 0x3833D7C0, 0x3833EAAC, 0x3833FD89, 0x38341059, 0x3834231E, 0x383435D8, 0x38344887, 0x38345B2B, 0x38346DC1, 0x3834804C, 0x383492CC, 0x3834A541, 0x3834B7AB, 0x3834CA0B, 0x3834DC5C, 0x3834EEA5, 0x383500E1, 0x38351311, 0x38352539, 0x38353754, 0x38354966, 0x38355B6A, 0x38356D67, 0x38357F55, 0x3835913B, 0x3835A316, 0x3835B4E7, 0x3835C6AC, 0x3835D866, 0x3835EA18, 0x3835FBBC, 0x38360D58, 0x38361EE9, 0x38363072, 0x383641ED, 0x38365360, 0x383664CA, 0x38367627, 0x3836877C, 0x383698C8, 0x3836AA07, 0x3836BB40, 0x3836CC6B, 0x3836DD8E, 0x3836EEA6, 0x3836FFB6, 0x383710BD, 0x383721B7, 0x383732AB, 0x38374392, 0x38375473, 0x38376549, 0x38377614, 0x383786D7, 0x38379792, 0x3837A841, 0x3837B8E9, 0x3837C988, 0x3837DA1C, 0x3837EAA8, 0x3837FB29, 0x38380BA1, 0x38381C12, 0x38382C7A, 0x38383CD7, 0x38384D2F, 0x38385D7B, 0x38386DBD, 0x38387DF9, 0x38388E2A, 0x38389E53, 0x3838AE74, 0x3838BE8C, 0x3838CE9C, 0x3838DEA2, 0x3838EEA1, 0x3838FE96, 0x38390E82, 0x38391E67, 0x38392E43, 0x38393E19, 0x38394DE4, 0x38395DA8, 0x38396D63, 0x38397D15, 0x38398CC0, 0x38399C62, 0x3839ABFC, 0x3839BB8E, 0x3839CB17, 0x3839DA98, 0x3839EA14, 0x3839F985, 0x383A08F0, 0x383A1850, 0x383A27AB, 0x383A36FE, 0x383A4648, 0x383A558A, 0x383A64C6, 0x383A73F8, 0x383A8324, 0x383A9248, 0x383AA166, 0x383AB079, 0x383ABF87, 0x383ACE8D, 0xBF800000, 0x00000000, 0x36C1C874, 0x371991D6, 0x3741C897, 0x3760F9D6, 0x377A7647, 0x37880153, 0x3791568D, 0x37999207, 0x37A0EF37, 0x37A79893, 0x37ADAD70, 0x37B345A3, 0x37B8739F, 0x37BD461A, 0x37C1C8E4, 0x37C605A1, 0x37CA045E, 0x37CDCBC4, 0x37D1618F, 0x37D4CA8D, 0x37D80AF0, 0x37DB264D, 0x37DE1FD2, 0x37E0FA3F, 0x37E3B805, 0x37E65B4C, 0x37E8E607, 0x37EB59E9, 0x37EDB882, 0x37F00333, 0x37F23B4C, 0x37F461E4, 0x37F67808, 0x37F87EB7, 0x37FA76C6, 0x37FC6105, 0x37FE3E31, 0x3800077C, 0x3800E9FE, 0x3801C6E7, 0x38029E7D, 0x38037102, 0x38043EAF, 0x380507BE, 0x3805CC60, 0x38068CC7, 0x38074922, 0x3808019A, 0x3808B659, 0x38096781, 0x380A153C, 0x380ABFA6, 0x380B66DF, 0x380C0B09, 0x380CAC3D, 0x380D4A98, 0x380DE630, 0x380E7F1F, 0x380F157D, 0x380FA95D, 0x38103AD6, 0x3810C9FD, 0x381156E2, 0x3811E197, 0x38126A2E, 0x3812F0B8, 0x38137543, 0x3813F7DF, 0x38147898, 0x3814F77F, 0x381574A2, 0x3815F007, 0x381669C2, 0x3816E1D8, 0x38175857, 0x3817CD4B, 0x381840BB, 0x3818B2B3, 0x3819233D, 0x38199261, 0x381A0026, 0x381A6C99, 0x381AD7BF, 0x381B419E, 0x381BAA43, 0x381C11B0, 0x381C77F0, 0x381CDD08, 0x381D40FC, 0x381DA3D8, 0x381E059F, 0x381E6658, 0x381EC609, 0x381F24B5, 0x381F8264, 0x381FDF19, 0x38203ADC, 0x382095B0, 0x3820EF9A, 0x382148A0, 0x3821A0C5, 0x3821F80E, 0x38224E7E, 0x3822A41C, 0x3822F8E7, 0x38234CEA, 0x3823A024, 0x3823F298, 0x3824444E, 0x38249544, 0x3824E581, 0x38253507, 0x382583D9, 0x3825D1FC, 0x38261F72, 0x38266C40, 0x3826B864, 0x382703E2, 0x38274EC2, 0x382798FF, 0x3827E2A2, 0x38282BAB, 0x3828741D, 0x3828BBF8, 0x38290341, 0x382949FB, 0x38299026, 0x3829D5C5, 0x382A1ADB, 0x382A5F6A, 0x382AA375, 0x382AE6F9, 0x382B29FD, 0x382B6C81, 0x382BAE87, 0x382BF015, 0x382C3124, 0x382C71BC, 0x382CB1DF, 0x382CF18E, 0x382D30C7, 0x382D6F8F, 0x382DADE9, 0x382DEBD2, 0x382E294E, 0x382E6661, 0x382EA309, 0x382EDF48, 0x382F1B1F, 0x382F5693, 0x382F919F, 0x382FCC4A, 0x38300692, 0x3830407A, 0x38307A02, 0x3830B330, 0x3830EBFD, 0x3831246F, 0x38315C87, 0x38319444, 0x3831CBA9, 0x383202B8, 0x38323970, 0x38326FD3, 0x3832A5E3, 0x3832DB9E, 0x38331106, 0x3833461F, 0x38337AE8, 0x3833AF61, 0x3833E38B, 0x3834176A, 0x38344AFA, 0x38347E3F, 0x3834B13A, 0x3834E3E8, 0x38351652, 0x38354871, 0x38357A46, 0x3835ABD9, 0x3835DD22, 0x38360E29, 0x38363EEB, 0x38366F69, 0x38369FA2, 0x3836CF9B, 0x3836FF53, 0x38372EC8, 0x38375DFF, 0x38378CF6, 0x3837BBAE, 0x3837EA27, 0x38381863, 0x38384663, 0x38387426, 0x3838A1B0, 0x3838CEFA, 0x3838FC0D, 0x383928E7, 0x38395584, 0x383981EA, 0x3839AE19, 0x3839DA0F, 0x383A05D0, 0x383A315B, 0x383A5CAB, 0x383A87CA, 0x383AB2B2, 0x383ADD66, 0x383B07E9, 0x383B3234, 0x383B5C4E, 0x383B8637, 0x383BAFEB, 0x383BD970, 0x383C02C2, 0x383C2BE4, 0x383C54D8, 0x383C7D9A, 0x383CA62B, 0x383CCE90, 0x383CF6C6, 0x383D1ECE, 0x383D46A9, 0x383D6E53, 0x383D95D4, 0x383DBD29, 0x383DE44F, 0x383E0B4C, 0x383E321D, 0x383E58C1, 0x383E7F3D, 0x383EA58D, 0x383ECBB3, 0x383EF1B0, 0x383F1784, 0x383F3D32, 0x383F62B3, 0x383F880E, 0x383FAD43, 0x383FD24E, 0x383FF733, 0x38401BF1, 0x38404089, 0x384064FA, 0x38408945, 0x3840AD6A, 0x3840D16A, 0x3840F547, 0x384118FE, 0x38413C90, 0x38415FFF, 0x3841834A, 0x3841A672, 0x3841C976, 0x3841EC56, 0x38420F15, 0x384231B0, 0x3842542A, 0x38427684, 0x384298B9, 0x3842BACE, 0x3842DCC2, 0x3842FE97, 0x38432049, 0x384341D9, 0x3843634C, 0x384384A0, 0x3843A5D1, 0x3843C6E6, 0x3843E7DA, 0x384408AD, 0x38442964, 0x384449FB, 0x38446A76, 0x38448AD0, 0x3844AB0E, 0x3844CB2C, 0x3844EB2E, 0x38450B15, 0x38452ADD, 0x38454A87, 0x38456A16, 0x38458989, 0x3845A8E1, 0x3845C81A, 0x3845E738, 0x3846063B, 0x38462522, 0x384643F0, 0x384662A0, 0x38468137, 0x38469FB0, 0x3846BE13, 0x3846DC58, 0x3846FA87, 0x38471897, 0x38473692, 0x38475471, 0x38477238, 0x38478FE2, 0x3847AD77, 0x3847CAF1, 0x3847E851, 0x3848059C, 0x384822CB, 0x38483FE4, 0x38485CE5, 0x384879CD, 0x3848969C, 0x3848B355, 0x3848CFF8, 0x3848EC7F, 0x384908F3, 0x3849254F, 0x38494192, 0x38495DC1, 0x384979D8, 0x384995D9, 0x3849B1C1, 0x3849CD96, 0x3849E955, 0x384A04FB, 0x384A208D, 0x384A3C0A, 0x384A5771, 0x384A72C2, 0x384A8DFD, 0x384AA925, 0x384AC436, 0x384ADF35, 0x384AFA1D, 0x384B14F0, 0x384B2FAF, 0x384B4A5B, 0x384B64F1, 0x384B7F71, 0x384B99E0, 0x384BB43A, 0x384BCE80, 0x384BE8B3, 0x384C02D3, 0x384C1CDF, 0x384C36D6, 0x384C50BC, 0x384C6A8F, 0x384C844C, 0x384C9DF8, 0x384CB791, 0x384CD11A, 0x384CEA8C, 0x384D03EE, 0x384D1D3D, 0x384D3679, 0x384D4FA4, 0x384D68BC, 0x384D81C3, 0x384D9AB8, 0x384DB39B, 0x384DCC6C, 0x384DE52C, 0x384DFDDB, 0x384E1677, 0x384E2F03, 0x384E477B, 0x384E5FE6, 0x384E783E, 0x384E9085, 0x384EA8BB, 0x384EC0E1, 0x384ED8F7, 0x384EF0FC, 0x384F08F0, 0x384F20D4, 0x384F38A8, 0x384F506B, 0x384F681D, 0x384F7FBF, 0x384F9754, 0x384FAED8, 0x384FC64B, 0x384FDDAE, 0x384FF503, 0x38500C47, 0x3850237B, 0x38503AA2, 0x385051B8, 0x385068C0, 0x38507FB8, 0x385096A1, 0x3850AD7B, 0x3850C446, 0x3850DB04, 0x3850F1B2, 0x3851084F, 0x38511EE1, 0x38513562, 0x38514BD6, 0x3851623C, 0x38517891, 0x38518ED9, 0x3851A513, 0x3851BB3F, 0x3851D15E, 0x3851E76E, 0x3851FD71, 0x38521367, 0x3852294B, 0x38523F25, 0x385254F1, 0x38526AAF, 0x38528060, 0x38529603, 0x3852AB98, 0x3852C11F, 0x3852D69B, 0x3852EC07, 0x38530168, 0x385316BE, 0x38532C03, 0x3853413E, 0x3853566A, 0x38536B89, 0x3853809D, 0x385395A6, 0x3853AA9E, 0x3853BF8B, 0x3853D46E, 0x3853E942, 0x3853FE09, 0x385412C5, 0x38542776, 0x38543C19, 0x385450AF, 0x3854653C, 0x385479BB, 0x38548E2D, 0x3854A294, 0x3854B6EF, 0x3854CB40, 0x3854DF83, 0x3854F3BB, 0x385507E8, 0x38551C07, 0x3855301B, 0x38554427, 0x38555825, 0x38556C16, 0x38557FFE, 0x385593DB, 0x3855A7AB, 0x3855BB6F, 0x3855CF2C, 0x3855E2DA, 0x3855F67E, 0x38560A16, 0x38561DA6, 0x38563129, 0x385644A1, 0x38565810, 0x38566B71, 0x38567ECB, 0x38569216, 0x3856A55A, 0x3856B892, 0x3856CBBF, 0x3856DEE4, 0x3856F1FC, 0x3857050B, 0x3857180F, 0x38572B08, 0x38573DF6, 0x385750DC, 0x385763B7, 0x38577687, 0x3857894E, 0x38579C0B, 0x3857AEBC, 0x3857C166, 0x3857D404, 0x3857E69A, 0x3857F923, 0x38580BA6, 0x38581E1D, 0x3858308A, 0x385842EC, 0x38585549, 0x38586797, 0x385879DE, 0x38588C1C, 0x38589E4F, 0x3858B07A, 0x3858C29D, 0x3858D4B4, 0x3858E6C1, 0x3858F8C6, 0x38590AC2, 0x38591CB6, 0x38592E9F, 0x3859407F, 0x38595255, 0x38596423, 0x385975E8, 0x385987A5, 0x38599957, 0x3859AB01, 0x3859BCA2, 0x3859CE3B, 0x3859DFCA, 0x3859F150, 0xBF800000, 0x00000000, 0x36E88A61, 0x373848D3, 0x37688A91, 0x3786FC78, 0x37964729, 0x37A334FE, 0x37AE6819, 0x37B8490F, 0x37C11F4E, 0x37C91DC0, 0x37D06A04, 0x37D720AB, 0x37DD57DE, 0x37E3213F, 0x37E88AFF, 0x37EDA0B7, 0x37F26BFB, 0x37F6F4E3, 0x37FB423F, 0x37FF59DA, 0x3801A05B, 0x38037D95, 0x3805467D, 0x3806FCC0, 0x3808A1D1, 0x380A36FE, 0x380BBD6D, 0x380D3629, 0x380EA220, 0x38100227, 0x38115700, 0x3812A15C, 0x3813E1DC, 0x38151910, 0x38164781, 0x38176DA8, 0x38188BF8, 0x3819A2D5, 0x381AB2A6, 0x381BBBBE, 0x381CBE74, 0x381DBB12, 0x381EB1E2, 0x381FA327, 0x38208F1E, 0x38217601, 0x38225807, 0x38233566, 0x38240E49, 0x3824E2E3, 0x3825B35D, 0x38267FDB, 0x3827488A, 0x38280D87, 0x3828CEF9, 0x38298CFE, 0x382A47B8, 0x382AFF3E, 0x382BB3AF, 0x382C6524, 0x382D13B6, 0x382DBF7D, 0x382E688F, 0x382F0F02, 0x382FB2EB, 0x3830545D, 0x3830F36B, 0x38319027, 0x38322AA1, 0x3832C2EB, 0x38335912, 0x3833ED27, 0x38347F39, 0x38350F54, 0x38359D89, 0x383629E0, 0x3836B469, 0x38373D2C, 0x3837C437, 0x38384996, 0x3838CD50, 0x38394F73, 0x3839D008, 0x383A4F13, 0x383ACCA6, 0x383B48C3, 0x383BC376, 0x383C3CC5, 0x383CB4BB, 0x383D2B5B, 0x383DA0B2, 0x383E14C1, 0x383E8795, 0x383EF932, 0x383F699D, 0x383FD8DD, 0x384046FA, 0x3840B3F9, 0x38411FE0, 0x38418AB3, 0x3841F479, 0x38425D38, 0x3842C4F4, 0x38432BB0, 0x38439175, 0x3843F642, 0x38445A21, 0x3844BD16, 0x38451F21, 0x38458048, 0x3845E093, 0x38464002, 0x38469E98, 0x3846FC5D, 0x38475951, 0x3847B577, 0x384810D7, 0x38486B71, 0x3848C548, 0x38491E5F, 0x384976BE, 0x3849CE61, 0x384A254F, 0x384A7B8B, 0x384AD116, 0x384B25F7, 0x384B7A2B, 0x384BCDB7, 0x384C209F, 0x384C72E4, 0x384CC487, 0x384D1590, 0x384D65FA, 0x384DB5CC, 0x384E0507, 0x384E53AE, 0x384EA1C3, 0x384EEF49, 0x384F3C3E, 0x384F88A9, 0x384FD488, 0x38501FE0, 0x38506AAF, 0x3850B4FC, 0x3850FEC6, 0x3851480E, 0x385190D8, 0x3851D924, 0x385220F4, 0x3852684A, 0x3852AF28, 0x3852F58D, 0x38533B7F, 0x385380FD, 0x3853C608, 0x38540AA2, 0x38544ECB, 0x38549286, 0x3854D5D6, 0x385518BB, 0x38555B35, 0x38559D46, 0x3855DEF2, 0x38562035, 0x38566112, 0x3856A18F, 0x3856E1A7, 0x3857215E, 0x385760B5, 0x38579FAC, 0x3857DE48, 0x38581C84, 0x38585A65, 0x385897EC, 0x3858D517, 0x385911EB, 0x38594E67, 0x38598A8E, 0x3859C65C, 0x385A01D9, 0x385A3CFD, 0x385A77D2, 0x385AB254, 0x385AEC86, 0x385B2666, 0x385B5FF6, 0x385B9939, 0x385BD22D, 0x385C0AD3, 0x385C4330, 0x385C7B3F, 0x385CB307, 0x385CEA82, 0x385D21B6, 0x385D589F, 0x385D8F41, 0x385DC59E, 0x385DFBB3, 0x385E3184, 0x385E6710, 0x385E9C58, 0x385ED15D, 0x385F061E, 0x385F3A9F, 0x385F6EDC, 0x385FA2DA, 0x385FD698, 0x38600A15, 0x38603D55, 0x38607055, 0x3860A319, 0x3860D59E, 0x386107E7, 0x386139F6, 0x38616BC5, 0x38619D5E, 0x3861CEBA, 0x3861FFDD, 0x386230C5, 0x38626177, 0x386291EF, 0x3862C230, 0x3862F23A, 0x3863220A, 0x386351A6, 0x3863810E, 0x3863B03F, 0x3863DF3C, 0x38640E01, 0x38643C96, 0x38646AF6, 0x38649924, 0x3864C71E, 0x3864F4E7, 0x3865227F, 0x38654FE4, 0x38657D19, 0x3865AA1C, 0x3865D6F0, 0x38660392, 0x38663006, 0x38665C4E, 0x38668865, 0x3866B44D, 0x3866E008, 0x38670B98, 0x386736F7, 0x3867622C, 0x38678D35, 0x3867B80F, 0x3867E2C0, 0x38680D45, 0x3868379F, 0x386861CF, 0x38688BD3, 0x3868B5AD, 0x3868DF5F, 0x386908E7, 0x38693246, 0x38695B7F, 0x3869848B, 0x3869AD71, 0x3869D631, 0x3869FEC7, 0x386A2737, 0x386A4F81, 0x386A77A4, 0x386A9FA0, 0x386AC776, 0x386AEF25, 0x386B16B1, 0x386B3E19, 0x386B6558, 0x386B8C76, 0x386BB36D, 0x386BDA41, 0x386C00F3, 0x386C277F, 0x386C4DE8, 0x386C742F, 0x386C9A53, 0x386CC053, 0x386CE632, 0x386D0BF0, 0x386D318A, 0x386D5703, 0x386D7C5B, 0x386DA190, 0x386DC6A6, 0x386DEB9C, 0x386E1070, 0x386E3526, 0x386E59B8, 0x386E7E2F, 0x386EA282, 0x386EC6B7, 0x386EEACE, 0x386F0EC6, 0x386F32A0, 0x386F565A, 0x386F79F5, 0x386F9D74, 0x386FC0D2, 0x386FE415, 0x3870073A, 0x38702A41, 0x38704D2C, 0x38706FF9, 0x387092A7, 0x3870B53D, 0x3870D7B2, 0x3870FA0E, 0x38711C4E, 0x38713E71, 0x38716078, 0x38718263, 0x3871A433, 0x3871C5EA, 0x3871E783, 0x38720903, 0x38722A68, 0x38724BB1, 0x38726CE2, 0x38728DF7, 0x3872AEF3, 0x3872CFD6, 0x3872F09E, 0x3873114E, 0x387331E2, 0x3873525D, 0x387372C2, 0x3873930B, 0x3873B33C, 0x3873D354, 0x3873F354, 0x3874133D, 0x3874330B, 0x387452C3, 0x38747262, 0x387491EB, 0x3874B15B, 0x3874D0B3, 0x3874EFF5, 0x38750F1E, 0x38752E31, 0x38754D2E, 0x38756C12, 0x38758AE3, 0x3875A998, 0x3875C83B, 0x3875E6C7, 0x3876053B, 0x3876239B, 0x387641E2, 0x38766017, 0x38767E35, 0x38769C3D, 0x3876BA30, 0x3876D80C, 0x3876F5D2, 0x38771386, 0x38773125, 0x38774EAD, 0x38776C23, 0x38778981, 0x3877A6CC, 0x3877C403, 0x3877E127, 0x3877FE36, 0x38781B2E, 0x38783816, 0x387854E7, 0x387871A6, 0x38788E51, 0x3878AAE9, 0x3878C76B, 0x3878E3DC, 0x3879003B, 0x38791C86, 0x387938BB, 0x387954DF, 0x387970F1, 0x38798CF2, 0x3879A8DC, 0x3879C4B7, 0x3879E07E, 0x3879FC32, 0x387A17D5, 0x387A3365, 0x387A4EE2, 0x387A6A4E, 0x387A85AA, 0x387AA0F3, 0x387ABC28, 0x387AD750, 0x387AF262, 0x387B0D66, 0x387B2856, 0x387B4336, 0x387B5E03, 0x387B78C3, 0x387B936F, 0x387BAE0A, 0x387BC895, 0x387BE310, 0x387BFD77, 0x387C17D0, 0x387C3219, 0x387C4C4F, 0x387C6677, 0x387C808F, 0x387C9A96, 0x387CB48C, 0x387CCE72, 0x387CE84B, 0x387D0210, 0x387D1BC7, 0x387D3571, 0x387D4F07, 0x387D688F, 0x387D8208, 0x387D9B72, 0x387DB4CC, 0x387DCE15, 0x387DE751, 0x387E007C, 0x387E1999, 0x387E32A9, 0x387E4BA8, 0x387E6497, 0x387E7D7A, 0x387E964B, 0x387EAF10, 0x387EC7C5, 0x387EE06C, 0x387EF906, 0x387F118F, 0x387F2A0A, 0x387F4278, 0x387F5AD7, 0x387F7329, 0x387F8B6E, 0x387FA3A1, 0x387FBBCA, 0x387FD3E2, 0x387FEBED, 0x388001F6, 0x38800DEE, 0x388019E0, 0x388025C9, 0x388031AE, 0x38803D8A, 0x38804960, 0x38805530, 0x388060F9, 0x38806CBC, 0x38807877, 0x3880842D, 0x38808FDB, 0x38809B83, 0x3880A725, 0x3880B2C1, 0x3880BE55, 0x3880C9E4, 0x3880D56D, 0x3880E0EE, 0x3880EC6A, 0x3880F7DF, 0x3881034E, 0x38810EB7, 0x38811A18, 0x38812576, 0x388130CB, 0x38813C1B, 0x38814766, 0x388152AA, 0x38815DE8, 0x3881691F, 0x38817452, 0x38817F7D, 0x38818AA4, 0x388195C4, 0x3881A0DE, 0x3881ABF2, 0x3881B702, 0x3881C20A, 0x3881CD0D, 0x3881D80A, 0x3881E301, 0x3881EDF3, 0x3881F8DF, 0x388203C5, 0x38820EA7, 0x38821982, 0x38822456, 0x38822F26, 0x388239F0, 0x388244B5, 0x38824F75, 0x38825A2E, 0x388264E2, 0x38826F91, 0x38827A3B, 0x388284DF, 0x38828F7D, 0x38829A16, 0x3882A4AA, 0x3882AF39, 0x3882B9C2, 0x3882C446, 0xBF800000, 0x00000000, 0x3904CF18, 0x3952814E, 0x3984D142, 0x399A3308, 0x39ABAB9C, 0x39BA713C, 0x39C73D1D, 0x39D286B3, 0x39DC9F96, 0x39E5C1F1, 0x39EE18BA, 0x39F5C48F, 0x39FCDED2, 0x3A01BDCD, 0x3A04D58F, 0x3A07BD4E, 0x3A0A7A8A, 0x3A0D11DA, 0x3A0F8725, 0x3A11DDBA, 0x3A141878, 0x3A1639D6, 0x3A1843FF, 0x3A1A38D8, 0x3A1C1A0A, 0x3A1DE916, 0x3A1FA749, 0x3A2155D6, 0x3A22F5C8, 0x3A24881A, 0x3A260DA4, 0x3A278732, 0x3A28F57B, 0x3A2A5927, 0x3A2BB2CD, 0x3A2D02FC, 0x3A2E4A33, 0x3A2F88EC, 0x3A30BF93, 0x3A31EE8D, 0x3A33163C, 0x3A3436F4, 0x3A35510C, 0x3A3664CA, 0x3A37727B, 0x3A387A60, 0x3A397CB5, 0x3A3A79B7, 0x3A3B719E, 0x3A3C649B, 0x3A3D52E0, 0x3A3E3C9D, 0x3A3F21FB, 0x3A400323, 0x3A40E03D, 0x3A41B96C, 0x3A428ED6, 0x3A43609B, 0x3A442ED8, 0x3A44F9AD, 0x3A45C136, 0x3A46858D, 0x3A4746CC, 0x3A48050D, 0x3A48C067, 0x3A4978EF, 0x3A4A2EBB, 0x3A4AE1E1, 0x3A4B9273, 0x3A4C4084, 0x3A4CEC26, 0x3A4D9569, 0x3A4E3C5E, 0x3A4EE116, 0x3A4F83A0, 0x3A50240B, 0x3A50C263, 0x3A515EB7, 0x3A51F914, 0x3A529186, 0x3A532819, 0x3A53BCD8, 0x3A544FD0, 0x3A54E10B, 0x3A557093, 0x3A55FE73, 0x3A568AB3, 0x3A57155E, 0x3A579E7C, 0x3A582615, 0x3A58AC35, 0x3A5930E0, 0x3A59B420, 0x3A5A35FD, 0x3A5AB67F, 0x3A5B35AB, 0x3A5BB389, 0x3A5C3021, 0x3A5CAB78, 0x3A5D2595, 0x3A5D9E7C, 0x3A5E1638, 0x3A5E8CCA, 0x3A5F023B, 0x3A5F768E, 0x3A5FE9CA, 0x3A605BF2, 0x3A60CD0F, 0x3A613D23, 0x3A61AC32, 0x3A621A45, 0x3A62875A, 0x3A62F37B, 0x3A635EAA, 0x3A63C8EB, 0x3A643244, 0x3A649AB7, 0x3A650247, 0x3A6568FB, 0x3A65CED3, 0x3A6633D6, 0x3A669804, 0x3A66FB64, 0x3A675DF8, 0x3A67BFC2, 0x3A6820C7, 0x3A688108, 0x3A68E08B, 0x3A693F50, 0x3A699D5C, 0x3A69FAB0, 0x3A6A5750, 0x3A6AB33E, 0x3A6B0E7E, 0x3A6B6910, 0x3A6BC2F9, 0x3A6C1C3C, 0x3A6C74D9, 0x3A6CCCD3, 0x3A6D242D, 0x3A6D7AEA, 0x3A6DD109, 0x3A6E2690, 0x3A6E7B7F, 0x3A6ECFD9, 0x3A6F23A0, 0x3A6F76D4, 0x3A6FC97A, 0x3A701B92, 0x3A706D1F, 0x3A70BE21, 0x3A710E9B, 0x3A715E91, 0x3A71AE01, 0x3A71FCEE, 0x3A724B5B, 0x3A729948, 0x3A72E6B6, 0x3A7333A8, 0x3A738021, 0x3A73CC1F, 0x3A7417A7, 0x3A7462B7, 0x3A74AD54, 0x3A74F77B, 0x3A754133, 0x3A758A78, 0x3A75D34F, 0x3A761BB9, 0x3A7663B4, 0x3A76AB44, 0x3A76F26C, 0x3A773929, 0x3A777F7E, 0x3A77C56D, 0x3A780AF7, 0x3A78501D, 0x3A7894DF, 0x3A78D940, 0x3A791D3F, 0x3A7960DD, 0x3A79A41F, 0x3A79E702, 0x3A7A2987, 0x3A7A6BB2, 0x3A7AAD81, 0x3A7AEEF6, 0x3A7B3013, 0x3A7B70D8, 0x3A7BB144, 0x3A7BF15D, 0x3A7C311F, 0x3A7C708C, 0x3A7CAFA8, 0x3A7CEE70, 0x3A7D2CE5, 0x3A7D6B0B, 0x3A7DA8DF, 0x3A7DE666, 0x3A7E239D, 0x3A7E6086, 0x3A7E9D23, 0x3A7ED972, 0x3A7F1578, 0x3A7F5132, 0x3A7F8CA0, 0x3A7FC7C8, 0x3A800153, 0x3A801E9E, 0x3A803BC5, 0x3A8058CA, 0x3A8075AA, 0x3A809269, 0x3A80AF05, 0x3A80CB7F, 0x3A80E7D8, 0x3A81040F, 0x3A812026, 0x3A813C1B, 0x3A8157F1, 0x3A8173A5, 0x3A818F3A, 0x3A81AAAF, 0x3A81C606, 0x3A81E13D, 0x3A81FC55, 0x3A82174F, 0x3A82322A, 0x3A824CE8, 0x3A826787, 0x3A82820A, 0x3A829C70, 0x3A82B6B8, 0x3A82D0E4, 0x3A82EAF3, 0x3A8304E6, 0x3A831EBF, 0x3A83387C, 0x3A835216, 0x3A836B9F, 0x3A838505, 0x3A839E52, 0x3A83B785, 0x3A83D0A7, 0x3A83E9A6, 0x3A84028C, 0x3A841B58, 0x3A84340A, 0x3A844CA3, 0x3A846521, 0x3A847D86, 0x3A8495D1, 0x3A84AE0B, 0x3A84C62B, 0x3A84DE29, 0x3A84F616, 0x3A850DF1, 0x3A8525AA, 0x3A853D52, 0x3A8554E0, 0x3A856C5D, 0x3A8583B8, 0x3A859B0A, 0x3A85B23A, 0x3A85C958, 0x3A85E05D, 0x3A85F750, 0x3A860E2A, 0x3A8624F3, 0x3A863BA1, 0x3A86523F, 0x3A8668C3, 0x3A867F36, 0x3A86958E, 0x3A86ABD6, 0x3A86C204, 0x3A86D821, 0x3A86EE2C, 0x3A870427, 0x3A871A08, 0x3A872FCE, 0x3A87458D, 0x3A875B31, 0x3A8770C5, 0x3A878647, 0x3A879BAF, 0x3A87B106, 0x3A87C64C, 0x3A87DB81, 0x3A87F0A5, 0x3A8805AF, 0x3A881AA7, 0x3A882F97, 0x3A88446E, 0x3A885933, 0x3A886DDE, 0x3A888281, 0x3A889713, 0x3A88AB93, 0x3A88BFFA, 0x3A88D458, 0x3A88E8A5, 0x3A88FCD8, 0x3A891103, 0x3A89251C, 0x3A89391C, 0x3A894D13, 0x3A8960F8, 0x3A8974CD, 0x3A898891, 0x3A899C43, 0x3A89AFED, 0x3A89C37D, 0x3A89D704, 0x3A89EA71, 0x3A89FDD6, 0x3A8A112A, 0x3A8A2475, 0x3A8A37A7, 0x3A8A4AD0, 0x3A8A5DE7, 0x3A8A70EE, 0x3A8A83E3, 0x3A8A96D0, 0x3A8AA9AB, 0x3A8ABC76, 0x3A8ACF38, 0x3A8AE1E8, 0x3A8AF488, 0x3A8B0716, 0x3A8B199B, 0x3A8B2C10, 0x3A8B3E73, 0x3A8B50CE, 0x3A8B6317, 0x3A8B7558, 0x3A8B8788, 0x3A8B99A7, 0x3A8BABBD, 0x3A8BBDC1, 0x3A8BCFBE, 0x3A8BE1A9, 0x3A8BF383, 0x3A8C0554, 0x3A8C171C, 0x3A8C28D4, 0x3A8C3A7A, 0x3A8C4C18, 0x3A8C5DA4, 0x3A8C6F28, 0x3A8C809B, 0x3A8C9205, 0x3A8CA367, 0x3A8CB4B7, 0x3A8CC5F7, 0x3A8CD72D, 0x3A8CE85B, 0x3A8CF978, 0x3A8D0A8C, 0x3A8D1B90, 0x3A8D2C8A, 0x3A8D3D7C, 0x3A8D4E5D, 0x3A8D5F35, 0x3A8D6FFC, 0x3A8D80BA, 0x3A8D9170, 0x3A8DA215, 0x3A8DB2B9, 0x3A8DC344, 0x3A8DD3CF, 0x3A8DE449, 0x3A8DF4B1, 0x3A8E0519, 0x3A8E1571, 0x3A8E25BF, 0x3A8E35FD, 0x3A8E4632, 0x3A8E565E, 0x3A8E6682, 0x3A8E769D, 0x3A8E86A7, 0x3A8E96A9, 0x3A8EA6A1, 0x3A8EB689, 0x3A8EC668, 0x3A8ED63F, 0x3A8EE60C, 0x3A8EF5D2, 0x3A8F0586, 0x3A8F1531, 0x3A8F24D4, 0x3A8F346E, 0x3A8F4400, 0x3A8F5381, 0x3A8F6301, 0x3A8F7271, 0x3A8F81D7, 0x3A8F9136, 0x3A8FA083, 0x3A8FAFD0, 0x3A8FBF14, 0x3A8FCE47, 0x3A8FDD72, 0x3A8FEC94, 0x3A8FFBAE, 0x3A900ABE, 0x3A9019C7, 0x3A9028BE, 0x3A9037B5, 0x3A9046A3, 0x3A905581, 0x3A906456, 0x3A90732A, 0x3A9081EE, 0x3A9090A9, 0x3A909F5B, 0x3A90AE05, 0x3A90BCA6, 0x3A90CB3F, 0x3A90D9CF, 0x3A90E856, 0x3A90F6D5, 0x3A91054B, 0x3A9113B9, 0x3A91221E, 0x3A91307B, 0x3A913ECF, 0x3A914D11, 0x3A915B54, 0x3A91698E, 0x3A9177C0, 0x3A9185E9, 0x3A919409, 0x3A91A221, 0x3A91B030, 0x3A91BE37, 0x3A91CC35, 0x3A91DA33, 0x3A91E81F, 0x3A91F604, 0x3A9203E8, 0x3A9211BB, 0x3A921F8E, 0x3A922D50, 0x3A923B12, 0x3A9248CB, 0x3A925673, 0x3A92641B, 0x3A9271BB, 0x3A927F52, 0x3A928CE9, 0x3A929A6E, 0x3A92A7F4, 0x3A92B569, 0x3A92C2DD, 0x3A92D049, 0x3A92DDAD, 0x3A92EB07, 0x3A92F85A, 0x3A9305A3, 0x3A9312ED, 0x3A932025, 0x3A932D5E, 0x3A933A8D, 0x3A9347B5, 0x3A9354DC, 0x3A9361F2, 0x3A936F08, 0x3A937C0D, 0x3A938912, 0x3A93960E, 0x3A93A30B, 0x3A93AFF6, 0x3A93BCE1, 0x3A93C9C3, 0x3A93D69D, 0x3A93E36F, 0x3A93F040, 0x3A93FD00, 0x3A9409C0, 0x3A941678, 0x3A94232F, 0x3A942FD6, 0x3A943C7C, 0x3A94491A, 0x3A9455AF, 0x3A946245, 0x3A946EC9, 0x3A947B4D, 0x3A9487D1, 0x3A949444, 0x3A94A0B6, 0x3A94AD21, 0x3A94B982, 0x3A94C5DB, 0x3A94D235, 0x3A94DE85, 0x3A94EACD, 0x3A94F70C, 0x3A95034C, 0x3A950F82, 0x3A951BB9, 0x3A9527DF, 0x3A953404, 0x3A954021, 0x3A954C3E, 0x3A95584A, 0x3A956456, 0x3A957062, 0xBF800000, 0x00000000, 0x391AC8FE, 0x397556DD, 0x399ACBEF, 0x39B3B7B1, 0x39C8148F, 0x39D94C26, 0x39E83648, 0x39F55E35, 0x3A00917F, 0x3A05E437, 0x3A0AC050, 0x3A0F38C9, 0x3A135C6E, 0x3A1736F1, 0x3A1AD1C7, 0x3A1E34AA, 0x3A2165FD, 0x3A246B1F, 0x3A27489A, 0x3A2A024B, 0x3A2C9B88, 0x3A2F1731, 0x3A3177CF, 0x3A33BF93, 0x3A35F073, 0x3A380C29, 0x3A3A143F, 0x3A3C0A15, 0x3A3DEEE9, 0x3A3FC3D7, 0x3A4189E1, 0x3A4341F3, 0x3A44ECE4, 0x3A468B73, 0x3A481E56, 0x3A49A62F, 0x3A4B2396, 0x3A4C9714, 0x3A4E012C, 0x3A4F6253, 0x3A50BAF8, 0x3A520B80, 0x3A53544D, 0x3A5495B6, 0x3A55D010, 0x3A5703A6, 0x3A5830C4, 0x3A5957AC, 0x3A5A789F, 0x3A5B93D9, 0x3A5CA994, 0x3A5DBA05, 0x3A5EC55E, 0x3A5FCBCF, 0x3A60CD87, 0x3A61CAAF, 0x3A62C371, 0x3A63B7F1, 0x3A64A856, 0x3A6594C1, 0x3A667D56, 0x3A676230, 0x3A684371, 0x3A692134, 0x3A69FB95, 0x3A6AD2AC, 0x3A6BA695, 0x3A6C7765, 0x3A6D4535, 0x3A6E1019, 0x3A6ED826, 0x3A6F9D73, 0x3A70600F, 0x3A71200E, 0x3A71DD84, 0x3A72987F, 0x3A735111, 0x3A740749, 0x3A74BB36, 0x3A756CE7, 0x3A761C69, 0x3A76C9CB, 0x3A77751A, 0x3A781E63, 0x3A78C5B0, 0x3A796B0F, 0x3A7A0E8B, 0x3A7AB02C, 0x3A7B5000, 0x3A7BEE10, 0x3A7C8A64, 0x3A7D2509, 0x3A7DBE06, 0x3A7E5565, 0x3A7EEB2F, 0x3A7F7F6B, 0x3A800911, 0x3A8051AE, 0x3A809990, 0x3A80E0BB, 0x3A812733, 0x3A816CFA, 0x3A81B215, 0x3A81F687, 0x3A823A53, 0x3A827D7C, 0x3A82C005, 0x3A8301F1, 0x3A834341, 0x3A8383FB, 0x3A83C423, 0x3A8403B9, 0x3A8442BD, 0x3A848137, 0x3A84BF20, 0x3A84FC87, 0x3A853965, 0x3A8575C3, 0x3A85B19F, 0x3A85ECFB, 0x3A8627D5, 0x3A866238, 0x3A869C22, 0x3A86D59D, 0x3A870E96, 0x3A874720, 0x3A877F3B, 0x3A87B6E5, 0x3A87EE21, 0x3A8824F4, 0x3A885B59, 0x3A889156, 0x3A88C6E3, 0x3A88FC13, 0x3A8930DB, 0x3A896544, 0x3A899946, 0x3A89CCF3, 0x3A8A0038, 0x3A8A331F, 0x3A8A65A8, 0x3A8A97DA, 0x3A8AC9B7, 0x3A8AFB35, 0x3A8B2C5D, 0x3A8B5D30, 0x3A8B8DB5, 0x3A8BBDDB, 0x3A8BEDB4, 0x3A8C1D40, 0x3A8C4C76, 0x3A8C7B5F, 0x3A8CA9F2, 0x3A8CD840, 0x3A8D0641, 0x3A8D33F4, 0x3A8D6163, 0x3A8D8E85, 0x3A8DBB59, 0x3A8DE7E8, 0x3A8E1433, 0x3A8E4039, 0x3A8E6BFA, 0x3A8E9777, 0x3A8EC2AF, 0x3A8EEDAA, 0x3A8F1859, 0x3A8F42CB, 0x3A8F6D01, 0x3A8F96F3, 0x3A8FC0A8, 0x3A8FEA21, 0x3A90135E, 0x3A903C5F, 0x3A90651B, 0x3A908DA4, 0x3A90B5F0, 0x3A90DE09, 0x3A9105DD, 0x3A912D7E, 0x3A9154EB, 0x3A917C1C, 0x3A91A31A, 0x3A91C9DB, 0x3A91F069, 0x3A9216CC, 0x3A923CF3, 0x3A9262DD, 0x3A92889D, 0x3A92AE32, 0x3A92D38A, 0x3A92F8AF, 0x3A931DAA, 0x3A934270, 0x3A93670C, 0x3A938B6B, 0x3A93AFA8, 0x3A93D3B2, 0x3A93F791, 0x3A941B3C, 0x3A943EBC, 0x3A946211, 0x3A948533, 0x3A94A832, 0x3A94CAFE, 0x3A94EDA7, 0x3A95101D, 0x3A953268, 0x3A955490, 0x3A95768E, 0x3A959861, 0x3A95BA08, 0x3A95DB8E, 0x3A95FCE8, 0x3A961E18, 0x3A963F25, 0x3A966007, 0x3A9680BE, 0x3A96A15B, 0x3A96C1CE, 0x3A96E215, 0x3A97023B, 0x3A97223D, 0x3A97421E, 0x3A9761D3, 0x3A978166, 0x3A97A0E0, 0x3A97C02E, 0x3A97DF52, 0x3A97FE5B, 0x3A981D43, 0x3A983C08, 0x3A985AAA, 0x3A98792B, 0x3A989791, 0x3A98B5CD, 0x3A98D3EE, 0x3A98F1EE, 0x3A990FCB, 0x3A992D85, 0x3A994B26, 0x3A9968A5, 0x3A99860A, 0x3A99A34C, 0x3A99C06C, 0x3A99DD72, 0x3A99FA5F, 0x3A9A1729, 0x3A9A33D1, 0x3A9A505F, 0x3A9A6CD3, 0x3A9A8925, 0x3A9AA55D, 0x3A9AC17C, 0x3A9ADD78, 0x3A9AF962, 0x3A9B152B, 0x3A9B30D1, 0x3A9B4C66, 0x3A9B67D9, 0x3A9B833A, 0x3A9B9E79, 0x3A9BB99E, 0x3A9BD4AA, 0x3A9BEF9B, 0x3A9C0A73, 0x3A9C2532, 0x3A9C3FD6, 0x3A9C5A61, 0x3A9C74D1, 0x3A9C8F31, 0x3A9CA96E, 0x3A9CC39B, 0x3A9CDDA4, 0x3A9CF79D, 0x3A9D117C, 0x3A9D2B41, 0x3A9D44F5, 0x3A9D5E8F, 0x3A9D780F, 0x3A9D9176, 0x3A9DAACB, 0x3A9DC407, 0x3A9DDD29, 0x3A9DF639, 0x3A9E0F30, 0x3A9E2816, 0x3A9E40E2, 0x3A9E5994, 0x3A9E7235, 0x3A9E8AC5, 0x3A9EA33B, 0x3A9EBB97, 0x3A9ED3E3, 0x3A9EEC1C, 0x3A9F043D, 0x3A9F1C43, 0x3A9F3441, 0x3A9F4C1C, 0x3A9F63EF, 0x3A9F7BA8, 0x3A9F9350, 0x3A9FAADE, 0x3A9FC264, 0x3A9FD9C7, 0x3A9FF122, 0x3AA00862, 0x3AA01F9B, 0x3AA036B1, 0x3AA04DBE, 0x3AA064BA, 0x3AA07B9C, 0x3AA0926D, 0x3AA0A92D, 0x3AA0BFDC, 0x3AA0D671, 0x3AA0ECFE, 0x3AA10370, 0x3AA119D2, 0x3AA1302B, 0x3AA1466A, 0x3AA15C98, 0x3AA172B5, 0x3AA188C0, 0x3AA19EBB, 0x3AA1B4A4, 0x3AA1CA7C, 0x3AA1E043, 0x3AA1F5F8, 0x3AA20B9D, 0x3AA22139, 0x3AA236BB, 0x3AA24C2C, 0x3AA26194, 0x3AA276E3, 0x3AA28C29, 0x3AA2A155, 0x3AA2B679, 0x3AA2CB8B, 0x3AA2E08D, 0x3AA2F585, 0x3AA30A64, 0x3AA31F3B, 0x3AA33400, 0x3AA348B4, 0x3AA35D57, 0x3AA371F1, 0x3AA3867A, 0x3AA39AF2, 0x3AA3AF58, 0x3AA3C3B6, 0x3AA3D803, 0x3AA3EC3F, 0x3AA4006A, 0x3AA4148C, 0x3AA4289C, 0x3AA43C9C, 0x3AA45093, 0x3AA46479, 0x3AA47856, 0x3AA48C1A, 0x3AA49FDD, 0x3AA4B387, 0x3AA4C728, 0x3AA4DAB8, 0x3AA4EE3F, 0x3AA501B5, 0x3AA51523, 0x3AA5287F, 0x3AA53BD3, 0x3AA54F0D, 0x3AA56247, 0x3AA57570, 0x3AA58888, 0x3AA59B97, 0x3AA5AE95, 0x3AA5C18A, 0x3AA5D46E, 0x3AA5E74A, 0x3AA5FA1D, 0x3AA60CD6, 0x3AA61F8F, 0x3AA63237, 0x3AA644CE, 0x3AA6575C, 0x3AA669E2, 0x3AA67C56, 0x3AA68EC2, 0x3AA6A125, 0x3AA6B377, 0x3AA6C5B8, 0x3AA6D7F1, 0x3AA6EA20, 0x3AA6FC47, 0x3AA70E5D, 0x3AA7206B, 0x3AA73267, 0x3AA7445B, 0x3AA75646, 0x3AA76820, 0x3AA779F1, 0x3AA78BB9, 0x3AA79D71, 0x3AA7AF28, 0x3AA7C0C6, 0x3AA7D264, 0x3AA7E3F0, 0x3AA7F574, 0x3AA806F0, 0x3AA8185A, 0x3AA829BB, 0x3AA83B14, 0x3AA84C65, 0x3AA85DA4, 0x3AA86EDB, 0x3AA88009, 0x3AA8912E, 0x3AA8A24B, 0x3AA8B357, 0x3AA8C45A, 0x3AA8D554, 0x3AA8E63E, 0x3AA8F727, 0x3AA907FF, 0x3AA918CF, 0x3AA92996, 0x3AA93A54, 0x3AA94B0A, 0x3AA95BAE, 0x3AA96C4B, 0x3AA97CDE, 0x3AA98D69, 0x3AA99DEB, 0x3AA9AE65, 0x3AA9BED6, 0x3AA9CF36, 0x3AA9DF96, 0x3AA9EFE4, 0x3AAA002A, 0x3AAA1068, 0x3AAA209D, 0x3AAA30C9, 0x3AAA40ED, 0x3AAA50FF, 0x3AAA6112, 0x3AAA7113, 0x3AAA8115, 0x3AAA9105, 0x3AAAA0F5, 0x3AAAB0D4, 0x3AAAC0AB, 0x3AAAD079, 0x3AAAE047, 0x3AAAF003, 0x3AAAFFB7, 0x3AAB0F63, 0x3AAB1F06, 0x3AAB2EA0, 0x3AAB3E32, 0x3AAB4DBB, 0x3AAB5D3B, 0x3AAB6CB3, 0x3AAB7C23, 0x3AAB8B8A, 0x3AAB9AE8, 0x3AABAA3D, 0x3AABB993, 0x3AABC8D7, 0x3AABD813, 0x3AABE746, 0x3AABF671, 0x3AAC059C, 0x3AAC14B5, 0x3AAC23C6, 0x3AAC32D7, 0x3AAC41D7, 0x3AAC50D6, 0x3AAC5FC5, 0x3AAC6EB3, 0x3AAC7D99, 0x3AAC8C77, 0x3AAC9B4B, 0x3AACAA18, 0x3AACB8DB, 0x3AACC796, 0x3AACD649, 0x3AACE4F2, 0x3AACF39C, 0x3AAD023D, 0x3AAD10CD, 0x3AAD1F5D, 0x3AAD2DE5, 0x3AAD3C64, 0x3AAD4ADA, 0x3AAD5950, 0x3AAD67B5, 0x3AAD761A, 0x3AAD846E, 0x3AAD92C2, 0x3AADA10E, 0x3AADAF59, 0x3AADBD93, 0x3AADCBC4, 0x3AADD9F6, 0x3AADE81F, 0x3AADF63F, 0x3AAE0457, 0x3AAE1266, 0x3AAE2075, 0x3AAE2E7C, 0xBF800000, 0x00000000, 0x39396DD5, 0x3992F4E5, 0x39B97208, 0x39D74D35, 0x39EFB277, 0x3A02297E, 0x3A0B18AB, 0x3A12FA2B, 0x3A1A06EF, 0x3A206796, 0x3A263A1D, 0x3A2B954B, 0x3A308AD7, 0x3A3528C6, 0x3A397A6C, 0x3A3D890A, 0x3A415C47, 0x3A44FA95, 0x3A48695D, 0x3A4BAD47, 0x3A4ECA4E, 0x3A51C3E9, 0x3A549D18, 0x3A575886, 0x3A59F886, 0x3A5C7F2A, 0x3A5EEE4A, 0x3A61478D, 0x3A638C6F, 0x3A65BE47, 0x3A67DE46, 0x3A69ED8B, 0x3A6BED12, 0x3A6DDDC7, 0x3A6FC07E, 0x3A7195FB, 0x3A735EF3, 0x3A751C0E, 0x3A76CDE5, 0x3A787506, 0x3A7A11F5, 0x3A7BA52D, 0x3A7D2F20, 0x3A7EB039, 0x3A80146E, 0x3A80CCB3, 0x3A818117, 0x3A8231C3, 0x3A82DEDE, 0x3A83888B, 0x3A842EF1, 0x3A84D226, 0x3A85724E, 0x3A860F8A, 0x3A86A9ED, 0x3A874197, 0x3A87D69B, 0x3A886912, 0x3A88F916, 0x3A8986B8, 0x3A8A1212, 0x3A8A9B2D, 0x3A8B2221, 0x3A8BA6F9, 0x3A8C29CD, 0x3A8CAAA6, 0x3A8D299F, 0x3A8DA6B6, 0x3A8E21FD, 0x3A8E9B8F, 0x3A8F136A, 0x3A8F8998, 0x3A8FFE32, 0x3A907138, 0x3A90E2B3, 0x3A9152BD, 0x3A91C14D, 0x3A922E7C, 0x3A929A43, 0x3A9304BB, 0x3A936DDB, 0x3A93D5BE, 0x3A943C5A, 0x3A94A1C9, 0x3A950603, 0x3A956911, 0x3A95CB03, 0x3A962BDA, 0x3A968B9D, 0x3A96EA4E, 0x3A9747F4, 0x3A97A499, 0x3A980045, 0x3A985AEF, 0x3A98B4B1, 0x3A990D7A, 0x3A996564, 0x3A99BC65, 0x3A9A1288, 0x3A9A67CB, 0x3A9ABC37, 0x3A9B0FD5, 0x3A9B62A5, 0x3A9BB4A7, 0x3A9C05E3, 0x3A9C565A, 0x3A9CA613, 0x3A9CF510, 0x3A9D4350, 0x3A9D90E4, 0x3A9DDDBB, 0x3A9E29EF, 0x3A9E756E, 0x3A9EC04A, 0x3A9F0A7A, 0x3A9F5410, 0x3A9F9CFA, 0x3A9FE552, 0x3AA02D07, 0x3AA07429, 0x3AA0BAB1, 0x3AA100A7, 0x3AA1460B, 0x3AA18AE6, 0x3AA1CF2E, 0x3AA212ED, 0x3AA25623, 0x3AA298D8, 0x3AA2DB03, 0x3AA31CAE, 0x3AA35DE0, 0x3AA39E91, 0x3AA3DEC2, 0x3AA41E7A, 0x3AA45DBA, 0x3AA49C82, 0x3AA4DADA, 0x3AA518BA, 0x3AA5562A, 0x3AA5932B, 0x3AA5CFBB, 0x3AA60BE5, 0x3AA6479F, 0x3AA682EA, 0x3AA6BDD6, 0x3AA6F852, 0x3AA73270, 0x3AA76C26, 0x3AA7A57F, 0x3AA7DE70, 0x3AA81702, 0x3AA84F36, 0x3AA8870C, 0x3AA8BE83, 0x3AA8F5A4, 0x3AA92C67, 0x3AA962D4, 0x3AA998E3, 0x3AA9CEA4, 0x3AAA0406, 0x3AAA391B, 0x3AAA6DDB, 0x3AAAA244, 0x3AAAD660, 0x3AAB0A27, 0x3AAB3DA0, 0x3AAB70CB, 0x3AABA3AA, 0x3AABD63B, 0x3AAC087E, 0x3AAC3A7D, 0x3AAC6C2F, 0x3AAC9D94, 0x3AACCEB3, 0x3AACFF86, 0x3AAD301C, 0x3AAD6065, 0x3AAD9069, 0x3AADC028, 0x3AADEFA3, 0x3AAE1ED9, 0x3AAE4DD3, 0x3AAE7C88, 0x3AAEAB01, 0x3AAED936, 0x3AAF0725, 0x3AAF34E1, 0x3AAF6259, 0x3AAF8F94, 0x3AAFBC93, 0x3AAFE956, 0x3AB015DD, 0x3AB04228, 0x3AB06E36, 0x3AB09A11, 0x3AB0C5B0, 0x3AB0F113, 0x3AB11C42, 0x3AB14735, 0x3AB171F5, 0x3AB19C81, 0x3AB1C6D9, 0x3AB1F0F6, 0x3AB21ADF, 0x3AB24494, 0x3AB26E16, 0x3AB29764, 0x3AB2C07F, 0x3AB2E96E, 0x3AB31222, 0x3AB33AAA, 0x3AB36300, 0x3AB38B2A, 0x3AB3B320, 0x3AB3DAE3, 0x3AB4027C, 0x3AB429E0, 0x3AB45122, 0x3AB47828, 0x3AB49F0C, 0x3AB4C5BC, 0x3AB4EC42, 0x3AB5129C, 0x3AB538CB, 0x3AB55ED0, 0x3AB584A9, 0x3AB5AA58, 0x3AB5CFDB, 0x3AB5F534, 0x3AB61A61, 0x3AB63F6D, 0x3AB66444, 0x3AB688FA, 0x3AB6AD8D, 0x3AB6D1EC, 0x3AB6F632, 0x3AB71A44, 0x3AB73E34, 0x3AB76201, 0x3AB785A4, 0x3AB7A924, 0x3AB7CC79, 0x3AB7EFB5, 0x3AB812BD, 0x3AB835AB, 0x3AB8586E, 0x3AB87B0F, 0x3AB89D96, 0x3AB8BFE9, 0x3AB8E223, 0x3AB9043A, 0x3AB9262F, 0x3AB947FA, 0x3AB969AA, 0x3AB98B38, 0x3AB9ACA3, 0x3AB9CDED, 0x3AB9EF13, 0x3ABA1020, 0x3ABA310B, 0x3ABA51CB, 0x3ABA727A, 0x3ABA92FD, 0x3ABAB367, 0x3ABAD3AF, 0x3ABAF3DC, 0x3ABB13E8, 0x3ABB33D1, 0x3ABB53A0, 0x3ABB7356, 0x3ABB92E9, 0x3ABBB259, 0x3ABBD1B0, 0x3ABBF0EE, 0x3ABC1009, 0x3ABC2F0A, 0x3ABC4DF1, 0x3ABC6CB6, 0x3ABC8B61, 0x3ABCA9F3, 0x3ABCC862, 0x3ABCE6C0, 0x3ABD04FB, 0x3ABD231D, 0x3ABD411C, 0x3ABD5F0A, 0x3ABD7CDF, 0x3ABD9A91, 0x3ABDB832, 0x3ABDD5B0, 0x3ABDF31E, 0x3ABE1069, 0x3ABE2D9A, 0x3ABE4ABA, 0x3ABE67B8, 0x3ABE84A4, 0x3ABEA177, 0x3ABEBE30, 0x3ABEDACF, 0x3ABEF755, 0x3ABF13C0, 0x3ABF301B, 0x3ABF4C53, 0x3ABF687A, 0x3ABF8490, 0x3ABFA083, 0x3ABFBC65, 0x3ABFD82E, 0x3ABFF3E5, 0x3AC00F7A, 0x3AC02B06, 0x3AC04670, 0x3AC061C9, 0x3AC07D08, 0x3AC09836, 0x3AC0B34A, 0x3AC0CE4D, 0x3AC0E936, 0x3AC1040E, 0x3AC11ECC, 0x3AC13971, 0x3AC1540D, 0x3AC16E86, 0x3AC188F7, 0x3AC1A34E, 0x3AC1BD8B, 0x3AC1D7B7, 0x3AC1F1D2, 0x3AC20BD4, 0x3AC225C4, 0x3AC23FA2, 0x3AC25968, 0x3AC2731B, 0x3AC28CBE, 0x3AC2A650, 0x3AC2BFC7, 0x3AC2D92E, 0x3AC2F27B, 0x3AC30BBF, 0x3AC324E9, 0x3AC33E03, 0x3AC3570B, 0x3AC37002, 0x3AC388E8, 0x3AC3A1B3, 0x3AC3BA77, 0x3AC3D320, 0x3AC3EBB9, 0x3AC40440, 0x3AC41CB6, 0x3AC4351B, 0x3AC44D66, 0x3AC465A9, 0x3AC47DDA, 0x3AC495F2, 0x3AC4AE01, 0x3AC4C5FE, 0x3AC4DDE2, 0x3AC4F5BE, 0x3AC50D88, 0x3AC52539, 0x3AC53CE1, 0x3AC55477, 0x3AC56BFD, 0x3AC58371, 0x3AC59AD4, 0x3AC5B226, 0x3AC5C970, 0x3AC5E09F, 0x3AC5F7C6, 0x3AC60ED4, 0x3AC625D8, 0x3AC63CCC, 0x3AC653B7, 0x3AC66A88, 0x3AC68151, 0x3AC697FF, 0x3AC6AEA6, 0x3AC6C543, 0x3AC6DBC7, 0x3AC6F242, 0x3AC708AC, 0x3AC71F05, 0x3AC7354D, 0x3AC74B8C, 0x3AC761BA, 0x3AC777D7, 0x3AC78DEB, 0x3AC7A3EE, 0x3AC7B9E0, 0x3AC7CFC9, 0x3AC7E5A1, 0x3AC7FB68, 0x3AC81126, 0x3AC826D3, 0x3AC83C6F, 0x3AC85203, 0x3AC86785, 0x3AC87CF6, 0x3AC8925E, 0x3AC8A7BE, 0x3AC8BD0C, 0x3AC8D24A, 0x3AC8E776, 0x3AC8FC9A, 0x3AC911B5, 0x3AC926BF, 0x3AC93BB7, 0x3AC950A8, 0x3AC9658F, 0x3AC97A65, 0x3AC98F2B, 0x3AC9A3E7, 0x3AC9B893, 0x3AC9CD35, 0x3AC9E1D0, 0x3AC9F659, 0x3ACA0AD1, 0x3ACA1F40, 0x3ACA33A7, 0x3ACA47FC, 0x3ACA5C49, 0x3ACA7085, 0x3ACA84B8, 0x3ACA98DA, 0x3ACAACF3, 0x3ACAC104, 0x3ACAD504, 0x3ACAE8FB, 0x3ACAFCE9, 0x3ACB10C6, 0x3ACB2492, 0x3ACB385E, 0x3ACB4C19, 0x3ACB5FC3, 0x3ACB736D, 0x3ACB8705, 0x3ACB9A8C, 0x3ACBAE14, 0x3ACBC18A, 0x3ACBD4F8, 0x3ACBE854, 0x3ACBFBA8, 0x3ACC0EF3, 0x3ACC222D, 0x3ACC3567, 0x3ACC4890, 0x3ACC5BA8, 0x3ACC6EBF, 0x3ACC81C6, 0x3ACC94C4, 0x3ACCA7B0, 0x3ACCBA9D, 0x3ACCCD79, 0x3ACCE04C, 0x3ACCF30D, 0x3ACD05CF, 0x3ACD1880, 0x3ACD2B28, 0x3ACD3DC7, 0x3ACD505E, 0x3ACD62E4, 0x3ACD7561, 0x3ACD87D5, 0x3ACD9A41, 0x3ACDACA4, 0x3ACDBEFF, 0x3ACDD148, 0x3ACDE389, 0x3ACDF5C2, 0x3ACE07F1, 0x3ACE1A19, 0x3ACE2C2F, 0x3ACE3E45, 0x3ACE5049, 0x3ACE6246, 0x3ACE7439, 0x3ACE8624, 0x3ACE9807, 0x3ACEA9E0, 0x3ACEBBB2, 0x3ACECD72, 0x3ACEDF32, 0x3ACEF0E1, 0x3ACF0287, 0x3ACF142D, 0x3ACF25C3, 0x3ACF374F, 0x3ACF48D3, 0x3ACF5A4E, 0x3ACF6BB9, 0x3ACF7D23, 0x3ACF8E84, 0x3ACF9FDD, 0x3ACFB125, 0x3ACFC26D, 0x3ACFD3A4, 0x3ACFE4DA, 0x3ACFF608, 0x3AD00725, 0x3AD01842, 0x3AD0294E, 0x3AD03A51, 0x3AD04B54, 0x3AD05C46, 0x3AD06D38, 0x3AD07E18, 0x3AD08EF9, 0x3AD09FC9, 0x3AD0B098, 0xBF800000, 0x00000000, 0x3967339A, 0x39B73C13, 0x39E73A1D, 0x3A063A58, 0x3A15701D, 0x3A224C6B, 0x3A2D707C, 0x3A374447, 0x3A400ED0, 0x3A4802BE, 0x3A4F4571, 0x3A55F356, 0x3A5C227B, 0x3A61E465, 0x3A67472C, 0x3A6C565C, 0x3A711B86, 0x3A759EAA, 0x3A79E68F, 0x3A7DF8FD, 0x3A80ED77, 0x3A82C859, 0x3A848F02, 0x3A864326, 0x3A87E624, 0x3A89795D, 0x3A8AFDE4, 0x3A8C74D4, 0x3A8DDF04, 0x3A8F3D5B, 0x3A90908F, 0x3A91D953, 0x3A93184B, 0x3A944E09, 0x3A957B05, 0x3A969FC8, 0x3A97BCB9, 0x3A98D241, 0x3A99E0C5, 0x3A9AE89C, 0x3A9BEA1B, 0x3A9CE587, 0x3A9DDB2E, 0x3A9ECB54, 0x3A9FB62D, 0x3AA09BFE, 0x3AA17CF0, 0x3AA2594B, 0x3AA3312E, 0x3AA404C6, 0x3AA4D446, 0x3AA59FD1, 0x3AA66791, 0x3AA72BA8, 0x3AA7EC32, 0x3AA8A957, 0x3AA96333, 0x3AAA19DE, 0x3AAACD7C, 0x3AAB7E1E, 0x3AAC2BE5, 0x3AACD6E3, 0x3AAD7F2A, 0x3AAE24DB, 0x3AAEC808, 0x3AAF68B9, 0x3AB00711, 0x3AB0A30F, 0x3AB13CD7, 0x3AB1D470, 0x3AB269E4, 0x3AB2FD54, 0x3AB38EB8, 0x3AB41E2A, 0x3AB4ABBB, 0x3AB5376B, 0x3AB5C154, 0x3AB6497E, 0x3AB6CFE9, 0x3AB754AF, 0x3AB7D7D1, 0x3AB8595E, 0x3AB8D958, 0x3AB957D9, 0x3AB9D4D6, 0x3ABA506B, 0x3ABACA8E, 0x3ABB4351, 0x3ABBBABD, 0x3ABC30D9, 0x3ABCA5A7, 0x3ABD192E, 0x3ABD8B80, 0x3ABDFC9D, 0x3ABE6C84, 0x3ABEDB48, 0x3ABF48E7, 0x3ABFB56B, 0x3AC020D3, 0x3AC08B31, 0x3AC0F47C, 0x3AC15CC6, 0x3AC1C405, 0x3AC22A4B, 0x3AC28FA1, 0x3AC2F3FD, 0x3AC35769, 0x3AC3B9ED, 0x3AC41B8A, 0x3AC47C46, 0x3AC4DC24, 0x3AC53B22, 0x3AC59952, 0x3AC5F6AB, 0x3AC65336, 0x3AC6AEF3, 0x3AC709EA, 0x3AC7641C, 0x3AC7BD91, 0x3AC81649, 0x3AC86E3B, 0x3AC8C581, 0x3AC91C0B, 0x3AC971E8, 0x3AC9C711, 0x3ACA1B98, 0x3ACA6F69, 0x3ACAC298, 0x3ACB1523, 0x3ACB670B, 0x3ACBB858, 0x3ACC0903, 0x3ACC5912, 0x3ACCA890, 0x3ACCF773, 0x3ACD45BB, 0x3ACD937A, 0x3ACDE0A7, 0x3ACE2D4A, 0x3ACE795B, 0x3ACEC4EC, 0x3ACF0FEA, 0x3ACF5A68, 0x3ACFA465, 0x3ACFEDE1, 0x3AD036D3, 0x3AD07F4E, 0x3AD0C747, 0x3AD10EC8, 0x3AD155D1, 0x3AD19C62, 0x3AD1E27A, 0x3AD2281A, 0x3AD26D4B, 0x3AD2B20B, 0x3AD2F65D, 0x3AD33A35, 0x3AD37DA7, 0x3AD3C0B2, 0x3AD4034D, 0x3AD44578, 0x3AD48745, 0x3AD4C8A2, 0x3AD509A1, 0x3AD54A39, 0x3AD58A69, 0x3AD5CA3B, 0x3AD609AF, 0x3AD648C4, 0x3AD68772, 0x3AD6C5CA, 0x3AD703C4, 0x3AD7415F, 0x3AD77EA4, 0x3AD7BB8B, 0x3AD7F81B, 0x3AD83456, 0x3AD8703B, 0x3AD8ABCB, 0x3AD8E704, 0x3AD921E7, 0x3AD95C7D, 0x3AD996BD, 0x3AD9D0B0, 0x3ADA0A4D, 0x3ADA43A5, 0x3ADA7CA8, 0x3ADAB55D, 0x3ADAEDC4, 0x3ADB25E7, 0x3ADB5DB4, 0x3ADB953D, 0x3ADBCC80, 0x3ADC0377, 0x3ADC3A28, 0x3ADC708C, 0x3ADCA6AC, 0x3ADCDC87, 0x3ADD121D, 0x3ADD476E, 0x3ADD7C7B, 0x3ADDB14C, 0x3ADDE5CF, 0x3ADE1A16, 0x3ADE4E21, 0x3ADE81E7, 0x3ADEB569, 0x3ADEE8AE, 0x3ADF1BB7, 0x3ADF4E85, 0x3ADF810D, 0x3ADFB359, 0x3ADFE572, 0x3AE01746, 0x3AE048E7, 0x3AE07A43, 0x3AE0AB6B, 0x3AE0DC57, 0x3AE10D0F, 0x3AE13D8C, 0x3AE16DCC, 0x3AE19DD9, 0x3AE1CDB2, 0x3AE1FD4F, 0x3AE22CB9, 0x3AE25BEF, 0x3AE28AE9, 0x3AE2B9AF, 0x3AE2E84B, 0x3AE316AA, 0x3AE344D6, 0x3AE372D7, 0x3AE3A09B, 0x3AE3CE35, 0x3AE3FB9B, 0x3AE428CE, 0x3AE455D5, 0x3AE482AA, 0x3AE4AF4A, 0x3AE4DBC0, 0x3AE50802, 0x3AE53419, 0x3AE56005, 0x3AE58BBE, 0x3AE5B74C, 0x3AE5E2A6, 0x3AE60DDE, 0x3AE638E2, 0x3AE663BC, 0x3AE68E6A, 0x3AE6B8ED, 0x3AE6E346, 0x3AE70D73, 0x3AE73776, 0x3AE7614E, 0x3AE78AFA, 0x3AE7B47C, 0x3AE7DDDB, 0x3AE80710, 0x3AE83019, 0x3AE858F8, 0x3AE881B4, 0x3AE8AA45, 0x3AE8D2B4, 0x3AE8FAF8, 0x3AE9231A, 0x3AE94B10, 0x3AE972E5, 0x3AE99A8E, 0x3AE9C215, 0x3AE9E971, 0x3AEA10B3, 0x3AEA37CA, 0x3AEA5EBF, 0x3AEA8589, 0x3AEAAC39, 0x3AEAD2BF, 0x3AEAF922, 0x3AEB1F62, 0x3AEB4580, 0x3AEB6B7C, 0x3AEB9155, 0x3AEBB70D, 0x3AEBDCA1, 0x3AEC0214, 0x3AEC2764, 0x3AEC4C91, 0x3AEC71A5, 0x3AEC968E, 0x3AECBB5D, 0x3AECE00A, 0x3AED049D, 0x3AED2905, 0x3AED4D53, 0x3AED7188, 0x3AED9592, 0x3AEDB981, 0x3AEDDD57, 0x3AEE010B, 0x3AEE249C, 0x3AEE4814, 0x3AEE6B69, 0x3AEE8EA5, 0x3AEEB1C6, 0x3AEED4C6, 0x3AEEF7A3, 0x3AEF1A6E, 0x3AEF3D18, 0x3AEF5F9F, 0x3AEF820C, 0x3AEFA460, 0x3AEFC699, 0x3AEFE8B1, 0x3AF00AB7, 0x3AF02C9B, 0x3AF04E5C, 0x3AF0700C, 0x3AF0919A, 0x3AF0B317, 0x3AF0D472, 0x3AF0F5B2, 0x3AF116D9, 0x3AF137E6, 0x3AF158D9, 0x3AF179B3, 0x3AF19A73, 0x3AF1BB19, 0x3AF1DBA5, 0x3AF1FC17, 0x3AF21C70, 0x3AF23CB8, 0x3AF25CDD, 0x3AF27CE8, 0x3AF29CE2, 0x3AF2BCC3, 0x3AF2DC8A, 0x3AF2FC36, 0x3AF31BCA, 0x3AF33B4C, 0x3AF35AB4, 0x3AF37A02, 0x3AF39937, 0x3AF3B85A, 0x3AF3D764, 0x3AF3F654, 0x3AF41533, 0x3AF433F8, 0x3AF452A3, 0x3AF4713D, 0x3AF48FBD, 0x3AF4AE2C, 0x3AF4CC81, 0x3AF4EABD, 0x3AF508E7, 0x3AF52700, 0x3AF544F7, 0x3AF562E5, 0x3AF580BA, 0x3AF59E75, 0x3AF5BC1E, 0x3AF5D9B6, 0x3AF5F735, 0x3AF6149A, 0x3AF631F6, 0x3AF64F30, 0x3AF66C61, 0x3AF68978, 0x3AF6A67F, 0x3AF6C36B, 0x3AF6E047, 0x3AF6FD11, 0x3AF719CA, 0x3AF73669, 0x3AF752F7, 0x3AF76F6B, 0x3AF78BD7, 0x3AF7A829, 0x3AF7C46A, 0x3AF7E091, 0x3AF7FCAF, 0x3AF818B4, 0x3AF834A7, 0x3AF85089, 0x3AF86C5A, 0x3AF8881A, 0x3AF8A3C0, 0x3AF8BF5E, 0x3AF8DAE1, 0x3AF8F654, 0x3AF911B5, 0x3AF92D06, 0x3AF94845, 0x3AF96373, 0x3AF97E8F, 0x3AF99992, 0x3AF9B48C, 0x3AF9CF76, 0x3AF9EA45, 0x3AFA050C, 0x3AFA1FC1, 0x3AFA3A5D, 0x3AFA54F0, 0x3AFA6F72, 0x3AFA89E3, 0x3AFAA443, 0x3AFABE91, 0x3AFAD8CF, 0x3AFAF2FB, 0x3AFB0D16, 0x3AFB2720, 0x3AFB4121, 0x3AFB5B08, 0x3AFB74E7, 0x3AFB8EB5, 0x3AFBA871, 0x3AFBC21D, 0x3AFBDBB7, 0x3AFBF548, 0x3AFC0EC0, 0x3AFC282F, 0x3AFC418D, 0x3AFC5ADA, 0x3AFC741E, 0x3AFC8D51, 0x3AFCA673, 0x3AFCBF84, 0x3AFCD883, 0x3AFCF17A, 0x3AFD0A60, 0x3AFD2334, 0x3AFD3C00, 0x3AFD54BB, 0x3AFD6D65, 0x3AFD85FD, 0x3AFD9E8D, 0x3AFDB70C, 0x3AFDCF79, 0x3AFDE7DE, 0x3AFE0032, 0x3AFE187D, 0x3AFE30B7, 0x3AFE48E0, 0x3AFE60F7, 0x3AFE7906, 0x3AFE910C, 0x3AFEA8F9, 0x3AFEC0E6, 0x3AFED8B9, 0x3AFEF083, 0x3AFF083C, 0x3AFF1FEC, 0x3AFF3794, 0x3AFF4F22, 0x3AFF66A8, 0x3AFF7E25, 0x3AFF9591, 0x3AFFACF4, 0x3AFFC446, 0x3AFFDB87, 0x3AFFF2BF, 0x3B0004F7, 0x3B001087, 0x3B001C11, 0x3B002794, 0x3B00330E, 0x3B003E83, 0x3B0049F4, 0x3B00555D, 0x3B0060C1, 0x3B006C21, 0x3B007774, 0x3B0082C7, 0x3B008E12, 0x3B009958, 0x3B00A496, 0x3B00AFCF, 0x3B00BB00, 0x3B00C62C, 0x3B00D154, 0x3B00DC74, 0x3B00E78F, 0x3B00F2A2, 0x3B00FDB0, 0x3B0108BA, 0x3B0113C0, 0x3B011EBD, 0x3B0129B2, 0x3B0134A7, 0x3B013F93, 0x3B014A7A, 0x3B015559, 0x3B016034, 0x3B016B0B, 0x3B0175D9, 0x3B0180A7, 0x3B018B68, 0x3B019629, 0x3B01A0E1, 0x3B01AB96, 0x3B01B645, 0x3B01C0F1, 0x3B01CB94, 0x3B01D633, 0x3B01E0CD, 0x3B01EB5F, 0x3B01F5ED, 0x3B020076, 0x3B020AFB, 0x3B021577, 0x3B021FF3, 0xBF800000, 0x00000000, 0x3B8E43B4, 0x3BE1C520, 0x3C0E92C4, 0x3C25A35D, 0x3C3881DC, 0x3C487A58, 0x3C565313, 0x3C628C3C, 0x3C6D7D51, 0x3C7764C6, 0x3C803864, 0x3C84623A, 0x3C883D81, 0x3C8BD50B, 0x3C8F3191, 0x3C925A3B, 0x3C9554F1, 0x3C9826A8, 0x3C9AD391, 0x3C9D5F41, 0x3C9FCCCF, 0x3CA21EE4, 0x3CA457D9, 0x3CA679B2, 0x3CA8864C, 0x3CAA7F30, 0x3CAC65DA, 0x3CAE3B87, 0x3CB00160, 0x3CB1B86F, 0x3CB361A7, 0x3CB4FDD9, 0x3CB68DD1, 0x3CB81245, 0x3CB98BD8, 0x3CBAFB23, 0x3CBC60AE, 0x3CBDBCFF, 0x3CBF1091, 0x3CC05BCB, 0x3CC19F17, 0x3CC2DAD1, 0x3CC40F54, 0x3CC53CF6, 0x3CC663FD, 0x3CC784B9, 0x3CC89F6C, 0x3CC9B454, 0x3CCAC3A8, 0x3CCBCDA9, 0x3CCCD286, 0x3CCDD271, 0x3CCECD9E, 0x3CCFC433, 0x3CD0B661, 0x3CD1A44D, 0x3CD28E1D, 0x3CD373F0, 0x3CD455EE, 0x3CD53435, 0x3CD60EE5, 0x3CD6E61B, 0x3CD7B9F0, 0x3CD88A86, 0x3CD957F0, 0x3CDA224B, 0x3CDAE9A6, 0x3CDBAE1C, 0x3CDC6FC8, 0x3CDD2EB5, 0x3CDDEAFD, 0x3CDEA4B1, 0x3CDF5BE0, 0x3CE0109C, 0x3CE0C2F9, 0x3CE17307, 0x3CE220D2, 0x3CE2CC68, 0x3CE375DC, 0x3CE41D36, 0x3CE4C282, 0x3CE565D6, 0x3CE60736, 0x3CE6A6AD, 0x3CE74452, 0x3CE7E01E, 0x3CE87A2D, 0x3CE9127E, 0x3CE9A91C, 0x3CEA3E12, 0x3CEAD16A, 0x3CEB6330, 0x3CEBF369, 0x3CEC821F, 0x3CED0F52, 0x3CED9B19, 0x3CEE256D, 0x3CEEAE5E, 0x3CEF35F3, 0x3CEFBC2B, 0x3CF0411B, 0x3CF0C4B9, 0x3CF1471A, 0x3CF1C83A, 0x3CF24821, 0x3CF2C6D7, 0x3CF34466, 0x3CF3C0C7, 0x3CF43C0D, 0x3CF4B635, 0x3CF52F47, 0x3CF5A747, 0x3CF61E3A, 0x3CF69426, 0x3CF7090B, 0x3CF77CF4, 0x3CF7EFE1, 0x3CF861D6, 0x3CF8D2DA, 0x3CF942ED, 0x3CF9B218, 0x3CFA205D, 0x3CFA8DBB, 0x3CFAFA3C, 0x3CFB65E2, 0x3CFBD0AB, 0x3CFC3AA4, 0x3CFCA3CA, 0x3CFD0C20, 0x3CFD73A9, 0x3CFDDA6C, 0x3CFE406D, 0x3CFEA5A8, 0x3CFF0A21, 0x3CFF6DE4, 0x3CFFD0E6, 0x3D00199B, 0x3D004A68, 0x3D007ADA, 0x3D00AAF6, 0x3D00DABC, 0x3D010A2C, 0x3D013948, 0x3D016812, 0x3D019688, 0x3D01C4AE, 0x3D01F286, 0x3D022010, 0x3D024D4A, 0x3D027A39, 0x3D02A6DC, 0x3D02D334, 0x3D02FF44, 0x3D032B0B, 0x3D035689, 0x3D0381C2, 0x3D03ACB3, 0x3D03D760, 0x3D0401CA, 0x3D042BF1, 0x3D0455D5, 0x3D047F76, 0x3D04A8D9, 0x3D04D1FA, 0x3D04FADC, 0x3D052380, 0x3D054BE7, 0x3D057410, 0x3D059BFC, 0x3D05C3AC, 0x3D05EB24, 0x3D061261, 0x3D063962, 0x3D06602C, 0x3D0686BD, 0x3D06AD18, 0x3D06D33B, 0x3D06F926, 0x3D071EDE, 0x3D074460, 0x3D0769AC, 0x3D078EC5, 0x3D07B3AB, 0x3D07D85E, 0x3D07FCDF, 0x3D08212C, 0x3D08454C, 0x3D086938, 0x3D088CF4, 0x3D08B080, 0x3D08D3DF, 0x3D08F70D, 0x3D091A0D, 0x3D093CE0, 0x3D095F85, 0x3D0981FC, 0x3D09A449, 0x3D09C66B, 0x3D09E85E, 0x3D0A0A27, 0x3D0A2BC8, 0x3D0A4D3B, 0x3D0A6E86, 0x3D0A8FA9, 0x3D0AB0A0, 0x3D0AD170, 0x3D0AF217, 0x3D0B1298, 0x3D0B32EF, 0x3D0B5320, 0x3D0B732B, 0x3D0B930E, 0x3D0BB2CE, 0x3D0BD266, 0x3D0BF1D9, 0x3D0C1128, 0x3D0C3052, 0x3D0C4F56, 0x3D0C6E38, 0x3D0C8CF6, 0x3D0CAB8F, 0x3D0CCA08, 0x3D0CE85B, 0x3D0D068E, 0x3D0D249E, 0x3D0D428E, 0x3D0D605B, 0x3D0D7E05, 0x3D0D9B92, 0x3D0DB8FB, 0x3D0DD645, 0x3D0DF370, 0x3D0E1079, 0x3D0E2D65, 0x3D0E4A30, 0x3D0E66DB, 0x3D0E8369, 0x3D0E9FD9, 0x3D0EBC2B, 0x3D0ED85D, 0x3D0EF472, 0x3D0F106C, 0x3D0F2C46, 0x3D0F4804, 0x3D0F63A6, 0x3D0F7F29, 0x3D0F9A92, 0x3D0FB5DE, 0x3D0FD10E, 0x3D0FEC24, 0x3D10071C, 0x3D1021F9, 0x3D103CBE, 0x3D105766, 0x3D1071F3, 0x3D108C68, 0x3D10A6C1, 0x3D10C100, 0x3D10DB27, 0x3D10F533, 0x3D110F24, 0x3D112900, 0x3D1142C0, 0x3D115C69, 0x3D1175F7, 0x3D118F6F, 0x3D11A8CD, 0x3D11C215, 0x3D11DB42, 0x3D11F459, 0x3D120D59, 0x3D122643, 0x3D123F15, 0x3D1257CE, 0x3D127070, 0x3D1288FF, 0x3D12A175, 0x3D12B9D4, 0x3D12D21D, 0x3D12EA50, 0x3D13026E, 0x3D131A77, 0x3D13326A, 0x3D134A47, 0x3D136210, 0x3D1379C2, 0x3D13915F, 0x3D13A8E7, 0x3D13C05C, 0x3D13D7BB, 0x3D13EF08, 0x3D14063F, 0x3D141D61, 0x3D143470, 0x3D144B6C, 0x3D146253, 0x3D147926, 0x3D148FE7, 0x3D14A693, 0x3D14BD2E, 0x3D14D3B4, 0x3D14EA28, 0x3D150088, 0x3D1516D6, 0x3D152D13, 0x3D15433B, 0x3D155953, 0x3D156F58, 0x3D15854B, 0x3D159B2A, 0x3D15B0FA, 0x3D15C6B6, 0x3D15DC60, 0x3D15F1FA, 0x3D160784, 0x3D161CFB, 0x3D163261, 0x3D1647B5, 0x3D165CF9, 0x3D16722D, 0x3D16874E, 0x3D169C5F, 0x3D16B160, 0x3D16C650, 0x3D16DB31, 0x3D16F001, 0x3D1704C2, 0x3D17196F, 0x3D172E0F, 0x3D17429F, 0x3D17571F, 0x3D176B8F, 0x3D177FF1, 0x3D179441, 0x3D17A883, 0x3D17BCB5, 0x3D17D0DA, 0x3D17E4EE, 0x3D17F8F3, 0x3D180CE7, 0x3D1820D1, 0x3D1834A7, 0x3D184871, 0x3D185C2D, 0x3D186FD9, 0x3D188377, 0x3D189708, 0x3D18AA89, 0x3D18BDFC, 0x3D18D163, 0x3D18E4B8, 0x3D18F801, 0x3D190B3C, 0x3D191E6A, 0x3D19318A, 0x3D19449D, 0x3D1957A2, 0x3D196A98, 0x3D197D82, 0x3D19905F, 0x3D19A32C, 0x3D19B5EF, 0x3D19C8A4, 0x3D19DB4B, 0x3D19EDE5, 0x3D1A0074, 0x3D1A12F4, 0x3D1A2568, 0x3D1A37CF, 0x3D1A4A2B, 0x3D1A5C7A, 0x3D1A6EBC, 0x3D1A80F0, 0x3D1A9319, 0x3D1AA535, 0x3D1AB746, 0x3D1AC94A, 0x3D1ADB43, 0x3D1AED2E, 0x3D1AFF0F, 0x3D1B10E3, 0x3D1B22AB, 0x3D1B3467, 0x3D1B461A, 0x3D1B57BD, 0x3D1B6958, 0x3D1B7AE5, 0x3D1B8C68, 0x3D1B9DDE, 0x3D1BAF4B, 0x3D1BC0AB, 0x3D1BD200, 0x3D1BE348, 0x3D1BF488, 0x3D1C05BA, 0x3D1C16E5, 0x3D1C2801, 0x3D1C3914, 0x3D1C4A1B, 0x3D1C5B18, 0x3D1C6C0C, 0x3D1C7CF3, 0x3D1C8DD0, 0x3D1C9EA2, 0x3D1CAF69, 0x3D1CC027, 0x3D1CD0D9, 0x3D1CE182, 0x3D1CF21E, 0x3D1D02B2, 0x3D1D133C, 0x3D1D23BD, 0x3D1D3431, 0x3D1D449C, 0x3D1D54FD, 0x3D1D6553, 0x3D1D75A2, 0x3D1D85E2, 0x3D1D961E, 0x3D1DA64C, 0x3D1DB672, 0x3D1DC68D, 0x3D1DD6A0, 0x3D1DE6A8, 0x3D1DF6A6, 0x3D1E069B, 0x3D1E1689, 0x3D1E266C, 0x3D1E3644, 0x3D1E4614, 0x3D1E55D9, 0x3D1E6596, 0x3D1E754C, 0x3D1E84F6, 0x3D1E9498, 0x3D1EA430, 0x3D1EB3C0, 0x3D1EC344, 0x3D1ED2C4, 0x3D1EE236, 0x3D1EF1A3, 0x3D1F0105, 0x3D1F105E, 0x3D1F1FB0, 0x3D1F2EF7, 0x3D1F3E39, 0x3D1F4D6D, 0x3D1F5C9C, 0x3D1F6BC3, 0x3D1F7ADF, 0x3D1F89F4, 0x3D1F9900, 0x3D1FA804, 0x3D1FB700, 0x3D1FC5F3, 0x3D1FD4DD, 0x3D1FE3C0, 0x3D1FF299, 0x3D20016A, 0x3D201033, 0x3D201EF7, 0x3D202DB0, 0x3D203C61, 0x3D204B09, 0x3D2059AA, 0x3D206845, 0x3D2076D6, 0x3D20855E, 0x3D2093E1, 0x3D20A25A, 0x3D20B0CD, 0x3D20BF35, 0x3D20CD98, 0x3D20DBF3, 0x3D20EA46, 0x3D20F891, 0x3D2106D3, 0x3D211511, 0x3D212346, 0x3D213173, 0x3D213F98, 0x3D214DB6, 0x3D215BCD, 0x3D2169DA, 0x3D2177E5, 0x3D2185E4, 0x3D2193DF, 0x3D21A1CE, 0x3D21AFBB, 0x3D21BD9D, 0x3D21CB7A, 0x3D21D94E, 0x3D21E71E, 0x3D21F4E5, 0x3D2202A4, 0x3D22105B, 0x3D221E0D, 0x3D222BB9, 0x3D22395E, 0x3D2246FA, 0x3D22548E, 0x3D226220, 0x3D226FA7, 0x3D227D28, 0x3D228AA2, 0x3D229816, 0x3D22A584, 0x3D22B2EB, 0x3D22C049, 0x3D22CDA3, 0xBF800000, 0x00000000, 0x3BB1ED50, 0x3C0D3A42, 0x3C3268FE, 0x3C4F4F08, 0x3C66F537, 0x3C7AFABD, 0x3C862BCE, 0x3C8DD617, 0x3C94B2EA, 0x3C9AE96B, 0x3CA09678, 0x3CA5D003, 0x3CAAA723, 0x3CAF295E, 0x3CB361A7, 0x3CB758E7, 0x3CBB1692, 0x3CBEA0D5, 0x3CC1FCF0, 0x3CC52F6A, 0x3CC83C14, 0x3CCB264F, 0x3CCDF104, 0x3CD09EC4, 0x3CD331D6, 0x3CD5AC34, 0x3CD80FAC, 0x3CDA5DDA, 0x3CDC982C, 0x3CDEBFF4, 0x3CE0D654, 0x3CE2DC63, 0x3CE4D319, 0x3CE6BB5B, 0x3CE895F6, 0x3CEA63A6, 0x3CEC2522, 0x3CEDDB0A, 0x3CEF85EF, 0x3CF1265E, 0x3CF2BCD6, 0x3CF449D4, 0x3CF5CDBD, 0x3CF74907, 0x3CF8BC09, 0x3CFA271E, 0x3CFB8AA0, 0x3CFCE6D6, 0x3CFE3C16, 0x3CFF8A9F, 0x3D00695C, 0x3D010A4F, 0x3D01A846, 0x3D02435C, 0x3D02DBAA, 0x3D03714F, 0x3D04045C, 0x3D0494ED, 0x3D052312, 0x3D05AEE4, 0x3D063874, 0x3D06BFD5, 0x3D074519, 0x3D07C84E, 0x3D084988, 0x3D08C8D4, 0x3D094642, 0x3D09C1DE, 0x3D0A3BB6, 0x3D0AB3D6, 0x3D0B2A4E, 0x3D0B9F23, 0x3D0C1268, 0x3D0C8422, 0x3D0CF45D, 0x3D0D6322, 0x3D0DD080, 0x3D0E3C79, 0x3D0EA71A, 0x3D0F106C, 0x3D0F7873, 0x3D0FDF3B, 0x3D1044C9, 0x3D10A928, 0x3D110C5D, 0x3D116E6D, 0x3D11CF60, 0x3D122F3F, 0x3D128E0D, 0x3D12EBD0, 0x3D13488F, 0x3D13A44F, 0x3D13FF16, 0x3D1458E8, 0x3D14B1CE, 0x3D1509C8, 0x3D1560DD, 0x3D15B711, 0x3D160C69, 0x3D1660EA, 0x3D16B498, 0x3D170773, 0x3D175986, 0x3D17AAD2, 0x3D17FB59, 0x3D184B20, 0x3D189A2B, 0x3D18E87C, 0x3D193617, 0x3D198301, 0x3D19CF3C, 0x3D1A1AC9, 0x3D1A65AF, 0x3D1AAFEF, 0x3D1AF989, 0x3D1B4284, 0x3D1B8AE3, 0x3D1BD2A4, 0x3D1C19CF, 0x3D1C6061, 0x3D1CA661, 0x3D1CEBD1, 0x3D1D30B0, 0x3D1D7506, 0x3D1DB8CE, 0x3D1DFC0F, 0x3D1E3ECA, 0x3D1E8102, 0x3D1EC2B9, 0x3D1F03EC, 0x3D1F44A4, 0x3D1F84E0, 0x3D1FC4A1, 0x3D2003EC, 0x3D2042BE, 0x3D20811A, 0x3D20BF05, 0x3D20FC7D, 0x3D213986, 0x3D21761F, 0x3D21B24D, 0x3D21EE11, 0x3D222968, 0x3D226459, 0x3D229EE1, 0x3D22D906, 0x3D2312C4, 0x3D234C23, 0x3D23851D, 0x3D23BDBA, 0x3D23F5F6, 0x3D242DD5, 0x3D246558, 0x3D249C7D, 0x3D24D34C, 0x3D2509C0, 0x3D253FDB, 0x3D2575A0, 0x3D25AB10, 0x3D25E02C, 0x3D2614F2, 0x3D264968, 0x3D267D8B, 0x3D26B160, 0x3D26E4E4, 0x3D271817, 0x3D274B00, 0x3D277D9B, 0x3D27AFE8, 0x3D27E1EC, 0x3D2813A5, 0x3D284516, 0x3D28763E, 0x3D28A721, 0x3D28D7BB, 0x3D29080F, 0x3D29381D, 0x3D2967E6, 0x3D29976E, 0x3D29C6B3, 0x3D29F5B2, 0x3D2A2474, 0x3D2A52F2, 0x3D2A8133, 0x3D2AAF33, 0x3D2ADCF6, 0x3D2B0A78, 0x3D2B37BF, 0x3D2B64C8, 0x3D2B9196, 0x3D2BBE2A, 0x3D2BEA7F, 0x3D2C169C, 0x3D2C4281, 0x3D2C6E2B, 0x3D2C999C, 0x3D2CC4D7, 0x3D2CEFDB, 0x3D2D1AA5, 0x3D2D453D, 0x3D2D6F9D, 0x3D2D99C7, 0x3D2DC3BD, 0x3D2DED81, 0x3D2E170F, 0x3D2E406A, 0x3D2E6992, 0x3D2E928A, 0x3D2EBB4F, 0x3D2EE3E3, 0x3D2F0C48, 0x3D2F3479, 0x3D2F5C7C, 0x3D2F844F, 0x3D2FABF5, 0x3D2FD36A, 0x3D2FFAB4, 0x3D3021CE, 0x3D3048BB, 0x3D306F7C, 0x3D309610, 0x3D30BC79, 0x3D30E2B4, 0x3D3108C4, 0x3D312EAC, 0x3D315466, 0x3D3179F8, 0x3D319F5F, 0x3D31C49E, 0x3D31E9B2, 0x3D320EA0, 0x3D323364, 0x3D325801, 0x3D327C74, 0x3D32A0C2, 0x3D32C4E9, 0x3D32E8E9, 0x3D330CC2, 0x3D333074, 0x3D335403, 0x3D33776C, 0x3D339AAF, 0x3D33BDCD, 0x3D33E0C5, 0x3D34039B, 0x3D34264D, 0x3D3448DD, 0x3D346B47, 0x3D348D8E, 0x3D34AFB2, 0x3D34D1B6, 0x3D34F398, 0x3D351556, 0x3D3536F1, 0x3D35586C, 0x3D3579C7, 0x3D359AFF, 0x3D35BC1A, 0x3D35DD11, 0x3D35FDE9, 0x3D361EA3, 0x3D363F3A, 0x3D365FB3, 0x3D36800C, 0x3D36A048, 0x3D36C064, 0x3D36E061, 0x3D370042, 0x3D372002, 0x3D373FA8, 0x3D375F2D, 0x3D377E94, 0x3D379DE1, 0x3D37BD0E, 0x3D37DC1F, 0x3D37FB16, 0x3D3819F0, 0x3D3838AC, 0x3D38574D, 0x3D3875D3, 0x3D38943B, 0x3D38B289, 0x3D38D0BC, 0x3D38EED4, 0x3D390CD1, 0x3D392AB4, 0x3D39487B, 0x3D39662B, 0x3D3983BF, 0x3D39A139, 0x3D39BE9B, 0x3D39DBE1, 0x3D39F90D, 0x3D3A1624, 0x3D3A331F, 0x3D3A5000, 0x3D3A6CCB, 0x3D3A897C, 0x3D3AA616, 0x3D3AC297, 0x3D3ADEFE, 0x3D3AFB51, 0x3D3B178B, 0x3D3B33AB, 0x3D3B4FB7, 0x3D3B6BA9, 0x3D3B8785, 0x3D3BA34C, 0x3D3BBEF8, 0x3D3BDA92, 0x3D3BF613, 0x3D3C117E, 0x3D3C2CD2, 0x3D3C4810, 0x3D3C633B, 0x3D3C7E4E, 0x3D3C9949, 0x3D3CB431, 0x3D3CCF03, 0x3D3CE9C0, 0x3D3D0468, 0x3D3D1EFD, 0x3D3D3979, 0x3D3D53E3, 0x3D3D6E38, 0x3D3D8879, 0x3D3DA2A3, 0x3D3DBCBC, 0x3D3DD6C0, 0x3D3DF0AE, 0x3D3E0A8A, 0x3D3E2453, 0x3D3E3E06, 0x3D3E57A7, 0x3D3E7135, 0x3D3E8AB0, 0x3D3EA415, 0x3D3EBD6B, 0x3D3ED6AA, 0x3D3EEFDA, 0x3D3F08F5, 0x3D3F21FC, 0x3D3F3AF4, 0x3D3F53D8, 0x3D3F6CA7, 0x3D3F8569, 0x3D3F9E15, 0x3D3FB6B2, 0x3D3FCF38, 0x3D3FE7B2, 0x3D400018, 0x3D40186C, 0x3D4030AF, 0x3D4048E0, 0x3D406101, 0x3D40790F, 0x3D40910D, 0x3D40A8FA, 0x3D40C0D5, 0x3D40D8A0, 0x3D40F05B, 0x3D410805, 0x3D411F9D, 0x3D413728, 0x3D414E9F, 0x3D416609, 0x3D417D61, 0x3D4194A8, 0x3D41ABDF, 0x3D41C309, 0x3D41DA20, 0x3D41F129, 0x3D420823, 0x3D421F09, 0x3D4235E5, 0x3D424CAE, 0x3D42636A, 0x3D427A16, 0x3D4290B1, 0x3D42A73F, 0x3D42BDBD, 0x3D42D42E, 0x3D42EA8E, 0x3D4300E1, 0x3D431724, 0x3D432D57, 0x3D43437C, 0x3D435994, 0x3D436F9E, 0x3D438599, 0x3D439B86, 0x3D43B163, 0x3D43C732, 0x3D43DCF4, 0x3D43F2A9, 0x3D440850, 0x3D441DE7, 0x3D443373, 0x3D4448F0, 0x3D445E5F, 0x3D4473C0, 0x3D448917, 0x3D449E5D, 0x3D44B396, 0x3D44C8C2, 0x3D44DDE0, 0x3D44F2F4, 0x3D4507F7, 0x3D451CF0, 0x3D4531D9, 0x3D4546B6, 0x3D455B8A, 0x3D45704D, 0x3D458505, 0x3D4599B0, 0x3D45AE4D, 0x3D45C2DD, 0x3D45D762, 0x3D45EBDD, 0x3D460047, 0x3D4614A7, 0x3D4628FC, 0x3D463D44, 0x3D465180, 0x3D4665B0, 0x3D4679D2, 0x3D468DE9, 0x3D46A1F6, 0x3D46B5F5, 0x3D46C9E9, 0x3D46DDD0, 0x3D46F1AC, 0x3D47057D, 0x3D471941, 0x3D472CFD, 0x3D4740A9, 0x3D47544D, 0x3D4767E3, 0x3D477B6F, 0x3D478EF0, 0x3D47A266, 0x3D47B5D2, 0x3D47C930, 0x3D47DC85, 0x3D47EFCE, 0x3D48030C, 0x3D48163F, 0x3D482967, 0x3D483C85, 0x3D484F98, 0x3D4862A0, 0x3D48759D, 0x3D488890, 0x3D489B78, 0x3D48AE55, 0x3D48C12A, 0x3D48D3F2, 0x3D48E6AE, 0x3D48F963, 0x3D490C0D, 0x3D491EAD, 0x3D493142, 0x3D4943CC, 0x3D49564D, 0x3D4968C5, 0x3D497B31, 0x3D498D93, 0x3D499FEC, 0x3D49B23B, 0x3D49C47F, 0x3D49D6B9, 0x3D49E8EA, 0x3D49FB13, 0x3D4A0D2F, 0x3D4A1F43, 0x3D4A314F, 0x3D4A4350, 0x3D4A5546, 0x3D4A6734, 0x3D4A7918, 0x3D4A8AF3, 0x3D4A9CC4, 0x3D4AAE8D, 0x3D4AC04B, 0x3D4AD201, 0x3D4AE3AE, 0x3D4AF54F, 0x3D4B06EA, 0x3D4B187A, 0x3D4B2A02, 0x3D4B3B80, 0x3D4B4CF5, 0x3D4B5E63, 0x3D4B6FC5, 0x3D4B8120, 0x3D4B9273, 0x3D4BA3BA, 0x3D4BB4FD, 0x3D4BC632, 0x3D4BD761, 0x3D4BE886, 0x3D4BF9A6, 0x3D4C0AB8, 0x3D4C1BC5, 0x3D4C2CCA, 0x3D4C3DC4, 0x3D4C4EB5, 0x3D4C5F9F, 0x3D4C7081, 0x3D4C815B, 0xBF800000, 0x00000000, 0x3BED734F, 0x3C3C92CE, 0x3C6E4F89, 0x3C8A7F15, 0x3C9A5526, 0x3CA7BED1, 0x3CB361A7, 0x3CBDA89D, 0x3CC6DCD4, 0x3CCF3283, 0x3CD6D046, 0x3CDDD36A, 0x3CE452D0, 0x3CEA608C, 0x3CF00B40, 0x3CF55ED7, 0x3CFA6547, 0x3CFF26D7, 0x3D01D548, 0x3D03FB3D, 0x3D0607DA, 0x3D07FD65, 0x3D09DDCD, 0x3D0BAAC9, 0x3D0D65E2, 0x3D0F106C, 0x3D10AB99, 0x3D123882, 0x3D13B816, 0x3D152B38, 0x3D1692AE, 0x3D17EF35, 0x3D19416D, 0x3D1A89F2, 0x3D1BC94C, 0x3D1D0001, 0x3D1E2E7F, 0x3D1F5538, 0x3D20748D, 0x3D218CDB, 0x3D229E7B, 0x3D23A9BB, 0x3D24AEE9, 0x3D25AE45, 0x3D26A813, 0x3D279C92, 0x3D288BF5, 0x3D297679, 0x3D2A5C4A, 0x3D2B3D9B, 0x3D2C1A98, 0x3D2CF36B, 0x3D2DC83A, 0x3D2E992D, 0x3D2F6665, 0x3D303004, 0x3D30F62A, 0x3D31B8F8, 0x3D327888, 0x3D3334F6, 0x3D33EE5A, 0x3D34A4D0, 0x3D35586C, 0x3D360949, 0x3D36B77A, 0x3D376311, 0x3D380C26, 0x3D38B2C7, 0x3D39570C, 0x3D39F900, 0x3D3A98B8, 0x3D3B363F, 0x3D3BD1AB, 0x3D3C6B03, 0x3D3D025A, 0x3D3D97BB, 0x3D3E2B34, 0x3D3EBCD2, 0x3D3F4C9F, 0x3D3FDAA6, 0x3D4066F6, 0x3D40F195, 0x3D417A91, 0x3D4201F3, 0x3D4287C2, 0x3D430C09, 0x3D438ED3, 0x3D441025, 0x3D449008, 0x3D450E88, 0x3D458BA8, 0x3D460771, 0x3D4681EA, 0x3D46FB1C, 0x3D47730C, 0x3D47E9C1, 0x3D485F42, 0x3D48D394, 0x3D4946BE, 0x3D49B8C6, 0x3D4A29B2, 0x3D4A9984, 0x3D4B0847, 0x3D4B75FD, 0x3D4BE2AD, 0x3D4C4E57, 0x3D4CB906, 0x3D4D22BB, 0x3D4D8B7C, 0x3D4DF34B, 0x3D4E5A30, 0x3D4EC02D, 0x3D4F2544, 0x3D4F8980, 0x3D4FECDD, 0x3D504F61, 0x3D50B113, 0x3D5111F3, 0x3D517206, 0x3D51D14E, 0x3D522FD0, 0x3D528D8E, 0x3D52EA8E, 0x3D5346CF, 0x3D53A257, 0x3D53FD25, 0x3D545740, 0x3D54B0A9, 0x3D550964, 0x3D556174, 0x3D55B8D7, 0x3D560F94, 0x3D5665AD, 0x3D56BB25, 0x3D570FFA, 0x3D576435, 0x3D57B7D2, 0x3D580AD9, 0x3D585D47, 0x3D58AF21, 0x3D590067, 0x3D59511F, 0x3D59A147, 0x3D59F0E2, 0x3D5A3FF5, 0x3D5A8E7C, 0x3D5ADC80, 0x3D5B29FA, 0x3D5B76F4, 0x3D5BC36D, 0x3D5C0F63, 0x3D5C5ADD, 0x3D5CA5DB, 0x3D5CF05B, 0x3D5D3A66, 0x3D5D83F7, 0x3D5DCD10, 0x3D5E15B5, 0x3D5E5DE9, 0x3D5EA5A8, 0x3D5EECF8, 0x3D5F33DA, 0x3D5F7A4C, 0x3D5FC052, 0x3D6005ED, 0x3D604B1F, 0x3D608FE5, 0x3D60D449, 0x3D611843, 0x3D615BD8, 0x3D619F09, 0x3D61E1DA, 0x3D622448, 0x3D626654, 0x3D62A803, 0x3D62E951, 0x3D632A44, 0x3D636ADC, 0x3D63AB15, 0x3D63EAF7, 0x3D642A7F, 0x3D6469AF, 0x3D64A886, 0x3D64E70A, 0x3D652536, 0x3D65630E, 0x3D65A093, 0x3D65DDC5, 0x3D661AA7, 0x3D665735, 0x3D669375, 0x3D66CF65, 0x3D670B04, 0x3D674658, 0x3D678161, 0x3D67BC19, 0x3D67F689, 0x3D6830AE, 0x3D686A8A, 0x3D68A41B, 0x3D68DD64, 0x3D691667, 0x3D694F21, 0x3D698796, 0x3D69BFC5, 0x3D69F7B0, 0x3D6A2F56, 0x3D6A66B9, 0x3D6A9DD6, 0x3D6AD4B2, 0x3D6B0B4F, 0x3D6B41AA, 0x3D6B77C3, 0x3D6BAD9B, 0x3D6BE335, 0x3D6C1892, 0x3D6C4DAE, 0x3D6C8290, 0x3D6CB733, 0x3D6CEB99, 0x3D6D1FC3, 0x3D6D53B3, 0x3D6D8768, 0x3D6DBAE1, 0x3D6DEE20, 0x3D6E2128, 0x3D6E53F6, 0x3D6E868B, 0x3D6EB8E8, 0x3D6EEB10, 0x3D6F1CFE, 0x3D6F4EB8, 0x3D6F803B, 0x3D6FB189, 0x3D6FE2A1, 0x3D701384, 0x3D704436, 0x3D7074AF, 0x3D70A4F9, 0x3D70D50F, 0x3D7104F3, 0x3D7134A3, 0x3D716423, 0x3D719373, 0x3D71C290, 0x3D71F17F, 0x3D72203B, 0x3D724ECA, 0x3D727D28, 0x3D72AB59, 0x3D72D959, 0x3D73072C, 0x3D7334D1, 0x3D736248, 0x3D738F92, 0x3D73BCB0, 0x3D73E9A2, 0x3D741668, 0x3D744300, 0x3D746F71, 0x3D749BB3, 0x3D74C7CB, 0x3D74F3BA, 0x3D751F7F, 0x3D754B19, 0x3D75768A, 0x3D75A1D0, 0x3D75CCF1, 0x3D75F7E7, 0x3D7622B4, 0x3D764D59, 0x3D7677D9, 0x3D76A231, 0x3D76CC60, 0x3D76F669, 0x3D77204D, 0x3D774A09, 0x3D77739F, 0x3D779D10, 0x3D77C65B, 0x3D77EF83, 0x3D781883, 0x3D784160, 0x3D786A1A, 0x3D7892AE, 0x3D78BB1D, 0x3D78E369, 0x3D790B95, 0x3D79339B, 0x3D795B7E, 0x3D79833F, 0x3D79AADC, 0x3D79D257, 0x3D79F9B1, 0x3D7A20EB, 0x3D7A4800, 0x3D7A6EF7, 0x3D7A95CB, 0x3D7ABC7F, 0x3D7AE313, 0x3D7B0984, 0x3D7B2FD7, 0x3D7B560A, 0x3D7B7C1A, 0x3D7BA210, 0x3D7BC7E2, 0x3D7BED97, 0x3D7C132C, 0x3D7C38A3, 0x3D7C5DFA, 0x3D7C8333, 0x3D7CA84F, 0x3D7CCD4E, 0x3D7CF22F, 0x3D7D16EF, 0x3D7D3B95, 0x3D7D601D, 0x3D7D8488, 0x3D7DA8D5, 0x3D7DCD05, 0x3D7DF11A, 0x3D7E1511, 0x3D7E38EE, 0x3D7E5CAD, 0x3D7E8051, 0x3D7EA3DA, 0x3D7EC748, 0x3D7EEA99, 0x3D7F0DCF, 0x3D7F30EB, 0x3D7F53EB, 0x3D7F76D1, 0x3D7F999E, 0x3D7FBC4E, 0x3D7FDEE5, 0x3D8000B1, 0x3D8011E2, 0x3D802307, 0x3D80341F, 0x3D80452A, 0x3D805629, 0x3D80671B, 0x3D807800, 0x3D8088DA, 0x3D8099A6, 0x3D80AA66, 0x3D80BB1A, 0x3D80CBC2, 0x3D80DC5E, 0x3D80ECEE, 0x3D80FD72, 0x3D810DEA, 0x3D811E57, 0x3D812EB7, 0x3D813F0C, 0x3D814F56, 0x3D815F92, 0x3D816FC6, 0x3D817FEC, 0x3D819008, 0x3D81A019, 0x3D81B01D, 0x3D81C017, 0x3D81D005, 0x3D81DFEA, 0x3D81EFC2, 0x3D81FF90, 0x3D820F53, 0x3D821F0B, 0x3D822EB8, 0x3D823E5A, 0x3D824DF3, 0x3D825D80, 0x3D826D04, 0x3D827C7C, 0x3D828BEA, 0x3D829B4E, 0x3D82AAA8, 0x3D82B9F7, 0x3D82C93B, 0x3D82D876, 0x3D82E7A6, 0x3D82F6CD, 0x3D8305E9, 0x3D8314FC, 0x3D832406, 0x3D833306, 0x3D8341FB, 0x3D8350E5, 0x3D835FC8, 0x3D836E9F, 0x3D837D6F, 0x3D838C34, 0x3D839AF0, 0x3D83A9A2, 0x3D83B84A, 0x3D83C6EA, 0x3D83D580, 0x3D83E40E, 0x3D83F291, 0x3D84010C, 0x3D840F7D, 0x3D841DE6, 0x3D842C45, 0x3D843A9C, 0x3D8448E9, 0x3D84572D, 0x3D846569, 0x3D84739C, 0x3D8481C6, 0x3D848FE7, 0x3D849E01, 0x3D84AC10, 0x3D84BA18, 0x3D84C818, 0x3D84D60E, 0x3D84E3FC, 0x3D84F1E1, 0x3D84FFBF, 0x3D850D93, 0x3D851B60, 0x3D852923, 0x3D8536E0, 0x3D854494, 0x3D85523F, 0x3D855FE2, 0x3D856D7F, 0x3D857B11, 0x3D85889E, 0x3D859620, 0x3D85A39C, 0x3D85B10F, 0x3D85BE7B, 0x3D85CBDF, 0x3D85D93B, 0x3D85E690, 0x3D85F3DC, 0x3D860121, 0x3D860E5E, 0x3D861B94, 0x3D8628C2, 0x3D8635E9, 0x3D864308, 0x3D86501F, 0x3D865D30, 0x3D866A39, 0x3D867739, 0x3D868433, 0x3D869127, 0x3D869E12, 0x3D86AAF6, 0x3D86B7D2, 0x3D86C4A8, 0x3D86D177, 0x3D86DE3F, 0x3D86EAFF, 0x3D86F7B9, 0x3D87046A, 0x3D871116, 0x3D871DBA, 0x3D872A58, 0x3D8736EE, 0x3D87437E, 0x3D875006, 0x3D875C88, 0x3D876904, 0x3D877578, 0x3D8781E6, 0x3D878E4C, 0x3D879AAD, 0x3D87A706, 0x3D87B359, 0x3D87BFA6, 0x3D87CBEB, 0x3D87D82A, 0x3D87E463, 0x3D87F096, 0x3D87FCC1, 0x3D8808E7, 0x3D881506, 0x3D88211F, 0x3D882D30, 0x3D88393D, 0x3D884542, 0x3D885141, 0x3D885D3B, 0x3D88692D, 0x3D88751B, 0x3D888100, 0x3D888CE2, 0x3D8898BB, 0x3D88A490, 0x3D88B05E, 0x3D88BC25, 0x3D88C7E8, 0x3D88D3A4, 0x3D88DF5A, 0x3D88EB0A, 0x3D88F6B4, 0x3D890258, 0x3D890DF6, 0x3D89198F, 0x3D892522, 0x3D8930AF, 0x3D893C35, 0x3D8947B7, 0x3D895333, 0x3D895EA9, 0x3D896A18, 0x3D897583, 0x00010203, 0x04000102, 0x03040001, 0x02030400, 0x01020304, 0x00010203, 0x04050607, 0x08050607, 0x08050607, 0x08050607, 0x08050607, 0x08090A0B, 0x090A0B09, 0x0A0B090A, 0x0B090A0B, 0x00000000, 0x00010101, 0x01010202, 0x02020203, 0x03030303, 0x04040404, 0x04000000, 0x00010101, 0x01020202, 0x02030303, 0x03040404, 0x04000000, 0x01010102, 0x02020303, 0x03040404, 0x00000000, 0x00000000 + +glabel D_8007EFE0 +.word 0x00000003, 0x0000000B, 0x00000000, 0x00000009, 0x00002666, 0xFFFFD99A, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000003, 0x00000007, 0x00000CCC, 0xFFFFF334, 0x00003FFF, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x0000000A, 0x00001388, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00005000 + +glabel D_8007F048 +.word 0x00000004, 0x0000000E, 0x00000000, 0x00000009, 0x00002666, 0xFFFFD99A, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000002, 0x00000006, 0x00000CCC, 0xFFFFF334, 0x00003FFF, 0x00000000, 0x00000000, 0x00000000, 0x00000009, 0x0000000C, 0x00000CCC, 0xFFFFF334, 0x00003FFF, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x0000000D, 0x00001770, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00005000, 0x00000004, 0x00000011, 0x00000000, 0x0000000B, 0x00002666, 0xFFFFD99A, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000004, 0x00000009, 0x00000CCC, 0xFFFFF334, 0x00003FFF, 0x00000000, 0x00000000, 0x00000000, 0x0000000B, 0x0000000F, 0x00000CCC, 0xFFFFF334, 0x00003FFF, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000010, 0x00001F40, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00005000 + +glabel D_8007F158 +.word 0x00000001, 0x0000000E, 0x00000000, 0x0000000D, 0x00004E20, 0x00000000, 0x00007FFF, 0x00000000, 0x00000000, 0x00007FFF + +glabel D_8007F180 +.word 0x00000001, 0x00000003, 0x00000000, 0x00000001, 0x00004000, 0x00000000, 0x00007FFF, 0x00001DB0, 0x000002BC, 0x00000000 + +glabel D_8007F1A8 +.word 0x00000001, 0x00000003, 0x00000000, 0x00000001, 0x00000000, 0x00005FFF, 0x00007FFF, 0x0000017C, 0x000001F4, 0x00000000 + +glabel D_8007F1D0 +.word 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000 + +glabel D_8007F1F8 +.word 0x8007F1D0 + +glabel D_8007F1FC +.word 0x8007F1D0 + +glabel D_8007F200 +.word 0x8007F1D0 + +glabel D_8007F204 +.word 0x8007F1D0, 0x00000000, 0x00000000 + +glabel D_8007F210 +.word 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000 + +glabel D_8007F228 +.word 0xE0002000, 0x003278F0, 0x00328110, 0xE0002000, 0x00326410, 0x003278F0 + +glabel D_8007F240 +.word 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000 + +glabel D_8007F258 +.word 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000 + +glabel D_8007F270 +.word 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000 + +glabel D_8007F288 +.word 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000 + +glabel D_8007F2A0 +.word 0xE000C160, 0x00328110, 0x00328EA0, 0xE000C000, 0x00328EA0, 0x0032C110 + +glabel D_8007F2B8 +.word 0xE000E000, 0x0032C110, 0x0032C7A0, 0xE000E000, 0x00328EA0, 0x0032C110 + +glabel D_8007F2D0 +.word 0xE00101E8, 0x0032C7A0, 0x0032CEC0, 0xE0010000, 0x0032CEC0, 0x0032DD10 + +glabel D_8007F2E8 +.word 0xE0012204, 0x0032DD10, 0x0032E490, 0xE0012000, 0x0032CEC0, 0x0032DD10 + +glabel D_8007F300 +.word 0xE0014000, 0x0032E490, 0x0032EC50, 0xE0014000, 0x0032EC50, 0x0032EE30 + +glabel D_8007F318 +.word 0xE0016000, 0x0032EE30, 0x0032F580, 0xE0016000, 0x0032EC50, 0x0032EE30 + +glabel D_8007F330 +.word 0xE0018078, 0x0032F580, 0x0032FB50, 0xE0018000, 0x0032FB50, 0x0032FE30 + +glabel D_8007F348 +.word 0xE001A000, 0x0032FE30, 0x00330460, 0xE001A000, 0x00330460, 0x00330910 + +glabel D_8007F360 +.word 0xE001C000, 0x00330910, 0x00330F00, 0xE001C000, 0x00330F00, 0x00331940 + +glabel D_8007F378 +.word 0xE001E000, 0x00331940, 0x003326A0, 0xE001E000, 0x003326A0, 0x00333EC0 + +glabel D_8007F390 +.word 0xE00202CC, 0x00333EC0, 0x00334C70, 0xE0020000, 0x00334C70, 0x00337240 + +glabel D_8007F3A8 +.word 0xE0022000, 0x00337240, 0x00337FC0, 0xE0022000, 0x00337FC0, 0x00339250 + +glabel D_8007F3C0 +.word 0xE0024000, 0x00339250, 0x00339F60, 0xE0024000, 0x00339F60, 0x0033B180 + +glabel D_8007F3D8 +.word 0xE0026000, 0x0033B180, 0x0033BBD0, 0xE0026000, 0x0033BBD0, 0x0033CDF0 + +glabel D_8007F3F0 +.word 0xE0028000, 0x0033CDF0, 0x0033D610, 0xE0028000, 0x0033D610, 0x0033E8C0 + +glabel D_8007F408 +.word 0xE002A000, 0x0033E8C0, 0x0033F000, 0xE002A000, 0x0033F000, 0x0033FE80 + +glabel D_8007F420 +.word 0xE002C000, 0x0033FE80, 0x00340880, 0xE002C000, 0x00340880, 0x003419E0 + +glabel D_8007F438 +.word 0xE002E000, 0x003419E0, 0x00342140, 0xE002E000, 0x00328EA0, 0x0032C110 + +glabel D_8007F450 +.word 0xE0030000, 0x00342140, 0x00343040, 0xE0030000, 0x00343040, 0x00343680 + +glabel D_8007F468 +.word 0xE0032000, 0x00343680, 0x00343F70, 0xE0032000, 0x00343F70, 0x00344A10 + +glabel D_8007F480 +.word 0xE0034000, 0x00344A10, 0x003451E0, 0xE0034000, 0x003451E0, 0x003454E0 + +glabel D_8007F498 +.word 0xE0036000, 0x003454E0, 0x00345B40, 0xE0036000, 0x00345B40, 0x0034DD20 + +glabel D_8007F4B0 +.word 0xE0038000, 0x0034DD20, 0x0034E770, 0xE0038000, 0x0034E770, 0x0034EC80 + +glabel D_8007F4C8 +.word 0xE003A000, 0x0034EC80, 0x0034F4C0, 0xE003A000, 0x00328EA0, 0x0032C110 + +glabel D_8007F4E0 +.word 0xE003C000, 0x0034F4C0, 0x00350220, 0xE003C000, 0x00350220, 0x00352440 + +glabel D_8007F4F8 +.word 0xE003E000, 0x00352440, 0x00352CE0, 0xE003E000, 0x00352CE0, 0x00353300 + +glabel D_8007F510 +.word 0xE0040000, 0x00353300, 0x00353BB0, 0xE0040000, 0x00353BB0, 0x003547A0 + +glabel D_8007F528 +.word 0xE0042000, 0x003547A0, 0x00354F60, 0xE0042000, 0x00343040, 0x00343680 + +glabel D_8007F540 +.word 0xE0044000, 0x00354F60, 0x00355EE0, 0xE0044000, 0x00337FC0, 0x00339250 + +glabel D_8007F558 +.word 0xE0046000, 0x00355EE0, 0x00356530, 0xE0046000, 0x00356530, 0x00356980 + +glabel D_8007F570 +.word 0xE0048000, 0x00356980, 0x003573A0, 0xE0048000, 0x003573A0, 0x003584C0 + +glabel D_8007F588 +.word 0xE004A000, 0x003584C0, 0x003593B0, 0xE004A000, 0x003593B0, 0x00359F20 + +glabel D_8007F5A0 +.word 0xE004C000, 0x00359F20, 0x0035A5E0, 0xE004C000, 0x0035A5E0, 0x0035B9D0 + +glabel D_8007F5B8 +.word 0xE004E000, 0x0035B9D0, 0x0035BFD0, 0xE004E000, 0x00328EA0, 0x0032C110 + +glabel D_8007F5D0 +.word 0xE0050000, 0x0035BFD0, 0x0035C550, 0xE0050000, 0x0035C550, 0x0035CA80 + +glabel D_8007F5E8 +.word 0xE0052000, 0x0035CA80, 0x0035D510, 0xE0052000, 0x0035D510, 0x0035DA00 + +glabel D_8007F600 +.word 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000 + +glabel D_8007F618 +.word 0xE0056000, 0x0035DA00, 0x0035E920, 0xE0056000, 0x0033D610, 0x0033E8C0 + +glabel D_8007F630 +.word 0xE0058000, 0x0035E920, 0x0035F0E0, 0xE0058000, 0x0035F0E0, 0x003602C0 + +glabel D_8007F648 +.word 0xE005A000, 0x003602C0, 0x00360A30, 0xE005A000, 0x00360A30, 0x00360F40 + +glabel D_8007F660 +.word 0xE005C000, 0x00360F40, 0x00361670, 0xE005C000, 0x00361670, 0x003625C0 + +glabel D_8007F678 +.word 0xE005E000, 0x003625C0, 0x00362C50, 0xE005E000, 0x00362C50, 0x00363160 + +glabel D_8007F690 +.word 0xE0060000, 0x00363160, 0x003638C0, 0xE0060000, 0x003638C0, 0x00364300 + +glabel D_8007F6A8 +.word 0xE0062000, 0x00364300, 0x00364C00, 0xE0062000, 0x00364C00, 0x00364F10 + +glabel D_8007F6C0 +.word 0xE0064000, 0x00364F10, 0x003659B0, 0xE0064000, 0x003659B0, 0x00366030 + +glabel D_8007F6D8 +.word 0xE0066000, 0x00366030, 0x00366D60, 0xE0066000, 0x00366D60, 0x0036A8D0 + +glabel D_8007F6F0 +.word 0xE0068000, 0x0036A8D0, 0x0036AEE0, 0xE0068000, 0x0036AEE0, 0x0036D020 + +glabel D_8007F708 +.word 0xE006A1E8, 0x0036D020, 0x0036DF90, 0xE006A000, 0x0036DF90, 0x0036E1D0 + +glabel D_8007F720 +.word 0xE006C000, 0x0036E1D0, 0x0036ED60, 0xE006C000, 0x0036ED60, 0x00372790 + +glabel D_8007F738 +.word 0xE006E000, 0x00372790, 0x003733E0, 0xE006E000, 0x003733E0, 0x003740B0 + +glabel D_8007F750 +.word 0xE0070000, 0x003740B0, 0x00374E50, 0xE0070000, 0x00337FC0, 0x00339250 + +glabel D_8007F768 +.word 0xE0072000, 0x00374E50, 0x00375510, 0xE0072000, 0x00375510, 0x00376460 + +glabel D_8007F780 +.word 0xE0074000, 0x00376460, 0x00377070, 0xE0074000, 0x00337FC0, 0x00339250 + +glabel D_8007F798 +.word 0xE0076000, 0x00377070, 0x00377F80, 0xE0076000, 0x00377F80, 0x0037A3F0 + +glabel D_8007F7B0 +.word 0xE0078000, 0x0037A3F0, 0x0037ADD0, 0xE0078000, 0x0037ADD0, 0x0037C540 + +glabel D_8007F7C8 +.word 0xE007A000, 0x0037C540, 0x0037D180, 0xE007A000, 0x0037D180, 0x0037D490 + +glabel D_8007F7E0 +.word 0xE007C000, 0x0037D490, 0x0037D9D0, 0xE007C000, 0x0037D9D0, 0x0037F720 + +glabel D_8007F7F8 +.word 0xE007E000, 0x0037F720, 0x003803A0, 0xE007E000, 0x003803A0, 0x003812C0 + +glabel D_8007F810 +.word 0xE0080000, 0x003812C0, 0x00381E00, 0xE0080000, 0x00381E00, 0x00385640 + +glabel D_8007F828 +.word 0xE0082000, 0x00385640, 0x003863B0, 0xE0082000, 0x003863B0, 0x003889D0 + +glabel D_8007F840 +.word 0xE0084084, 0x003889D0, 0x00389850, 0xE0084000, 0x0037D9D0, 0x0037F720 + +glabel D_8007F858 +.word 0xE0086000, 0x00389850, 0x0038A350, 0xE0086000, 0x0038A350, 0x0038ADF0 + +glabel D_8007F870 +.word 0xE008817C, 0x0038ADF0, 0x0038BBA0, 0xE0088000, 0x0038BBA0, 0x0038C5F0 + +glabel D_8007F888 +.word 0xE008A188, 0x0038C5F0, 0x0038D070, 0xE008A000, 0x0038D070, 0x0038DE00 + +glabel D_8007F8A0 +.word 0xE008C000, 0x0038DE00, 0x0038E990, 0xE008C000, 0x0038E990, 0x0038EE60 + +glabel D_8007F8B8 +.word 0xE008E000, 0x0038EE60, 0x0038F710, 0xE008E000, 0x0038F710, 0x0038F900 + +glabel D_8007F8D0 +.word 0xE0090000, 0x0038F900, 0x003903D0, 0xE0090000, 0x003903D0, 0x00391D30 + +glabel D_8007F8E8 +.word 0xE0092000, 0x00391D30, 0x00392440, 0xE0092000, 0x00392440, 0x003928D0 + +glabel D_8007F900 +.word 0xE0094000, 0x003928D0, 0x003930A0, 0xE0094000, 0x003930A0, 0x00394280 + +glabel D_8007F918 +.word 0xE0096000, 0x00394280, 0x00394670, 0xE0096000, 0x00394670, 0x00395BB0 + +glabel D_8007F930 +.word 0xE0098000, 0x00395BB0, 0x003960F0, 0xE0098000, 0x003960F0, 0x003965B0 + +glabel D_8007F948 +.word 0xE009A000, 0x003965B0, 0x00397040, 0xE009A000, 0x00397040, 0x003981F0 + +glabel D_8007F960 +.word 0xE009C000, 0x003981F0, 0x00398BC0, 0xE009C000, 0x00398BC0, 0x0039FF20 + +glabel D_8007F978 +.word 0xE009E000, 0x0039FF20, 0x003A0D60, 0xE009E000, 0x003A0D60, 0x003A2290 + +glabel D_8007F990 +.word 0xE00A0000, 0x003A2290, 0x003A2440, 0xE00A0000, 0x003A2440, 0x003A2990 + +glabel D_8007F9A8 +.word 0xE00A2000, 0x003A2990, 0x003A33D0, 0xE00A2000, 0x003A33D0, 0x003A37E0 + +glabel D_8007F9C0 +.word 0xE00A4000, 0x003A37E0, 0x003A4320, 0xE00A4000, 0x003A4320, 0x003A5550 + +glabel D_8007F9D8 +.word 0xE00A6000, 0x003A5550, 0x003A5BE0, 0xE00A6000, 0x003A5BE0, 0x003A70F0 + +glabel D_8007F9F0 +.word 0xE00A8000, 0x003A70F0, 0x003A77A0, 0xE00A8000, 0x003A77A0, 0x003AA920 + +glabel D_8007FA08 +.word 0xE00AA000, 0x003AA920, 0x003AB030, 0xE00AA000, 0x003AB030, 0x003AEE20 + +glabel D_8007FA20 +.word 0xE00AC000, 0x003AEE20, 0x003AF700, 0xE00AC000, 0x003AF700, 0x003B2350 + +glabel D_8007FA38 +.word 0xE00AE000, 0x003B2350, 0x003B2D90, 0xE00AE000, 0x003B2D90, 0x003B3EB0 + +glabel D_8007FA50 +.word 0xE00B0000, 0x003B3EB0, 0x003B46A0, 0xE00B0000, 0x003B46A0, 0x003B4790 + +glabel D_8007FA68 +.word 0xE00B2000, 0x003B4790, 0x003B5340, 0xE00B2000, 0x003B5340, 0x003B5CF0 + +glabel D_8007FA80 +.word 0xE00B4000, 0x003B5CF0, 0x003B6BF0, 0xE00B4000, 0x003B6BF0, 0x003B7160 + +glabel D_8007FA98 +.word 0xE00B6000, 0x003B7160, 0x003B78D0, 0xE00B6000, 0x003B78D0, 0x003B7B80 + +glabel D_8007FAB0 +.word 0xE00B8000, 0x003B7B80, 0x003B8860, 0xE00B8000, 0x003B8860, 0x003B8BD0 + +glabel D_8007FAC8 +.word 0xE00BA000, 0x003B8BD0, 0x003B9A70, 0xE00BA000, 0x003B9A70, 0x003BA030 + +glabel D_8007FAE0 +.word 0xE00BC000, 0x003BA030, 0x003BAEA0, 0xE00BC000, 0x003BAEA0, 0x003BBF60 + +glabel D_8007FAF8 +.word 0xE00BE000, 0x003BBF60, 0x003BCA90, 0xE00BE000, 0x003BCA90, 0x003BCD60 + +glabel D_8007FB10 +.word 0xE00C0000, 0x003BCD60, 0x003BD9A0, 0xE00C0000, 0x003BD9A0, 0x003C11D0 + +glabel D_8007FB28 +.word 0xE00C2000, 0x003C11D0, 0x003C1BA0, 0xE00C2000, 0x003C1BA0, 0x003CADF0 + +glabel D_8007FB40 +.word 0xE00C4000, 0x003CADF0, 0x003CB890, 0xE00C4000, 0x003CB890, 0x003CC9E0 + +glabel D_8007FB58 +.word 0xE00C6000, 0x003CC9E0, 0x003CD6E0, 0xE00C6000, 0x003CD6E0, 0x003CF3A0 + +glabel D_8007FB70 +.word 0xE00C8000, 0x003CF3A0, 0x003CFAF0, 0xE00C8000, 0x003CFAF0, 0x003D0500 + +glabel D_8007FB88 +.word 0xE00CA000, 0x003D0500, 0x003D11E0, 0xE00CA000, 0x003D11E0, 0x003D1690 + +glabel D_8007FBA0 +.word 0xE00CC000, 0x003D1690, 0x003D2580, 0xE00CC000, 0x003D2580, 0x003D2AC0 + +glabel D_8007FBB8 +.word 0xE00CE000, 0x003D2AC0, 0x003D3930, 0xE00CE000, 0x003D3930, 0x003D3E20 + +glabel D_8007FBD0 +.word 0xE00D0000, 0x003D3E20, 0x003D4970, 0xE00D0000, 0x003593B0, 0x00359F20 + +glabel D_8007FBE8 +.word 0xE00D2000, 0x003D4970, 0x003D4E90, 0xE00D2000, 0x003D4E90, 0x003D5020 + +glabel D_8007FC00 +.word 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000 + +glabel D_8007FC18 +.word 0xE00D6000, 0x003D5020, 0x003D5F30, 0xE00D6000, 0x003D5F30, 0x003D67C0 + +glabel D_8007FC30 +.word 0xE00D8000, 0x003D67C0, 0x003D7040, 0xE00D8000, 0x003D7040, 0x003D7240 + +glabel D_8007FC48 +.word 0xE00DA000, 0x003D7240, 0x003D7770, 0xE00DA000, 0x003D7770, 0x003D7A70 + +glabel D_8007FC60 +.word 0xE00DC000, 0x003D7A70, 0x003D80C0, 0xE00DC000, 0x003D80C0, 0x003D8720 + +glabel D_8007FC78 +.word 0xE00DE000, 0x003D8720, 0x003D9100, 0xE00DE000, 0x003D9100, 0x003DB460 + +glabel D_8007FC90 +.word 0xE00E0000, 0x003DB460, 0x003DBF40, 0xE00E0000, 0x003DBF40, 0x003DC310 + +glabel D_8007FCA8 +.word 0xE00E2000, 0x003DC310, 0x003DCD50, 0xE00E2000, 0x003DCD50, 0x003DE000 + +glabel D_8007FCC0 +.word 0xE00E4000, 0x003DE000, 0x003DEE60, 0xE00E4000, 0x003DEE60, 0x003E0930 + +glabel D_8007FCD8 +.word 0xE00E6000, 0x003E0930, 0x003E12D0, 0xE00E6000, 0x003E12D0, 0x003E1690 + +glabel D_8007FCF0 +.word 0xE00E8000, 0x003E1690, 0x003E1CD0, 0xE00E8000, 0x003E1CD0, 0x003E1EE0 + +glabel D_8007FD08 +.word 0xE00EA000, 0x003E1EE0, 0x003E2960, 0xE00EA000, 0x003E2960, 0x003E43A0 + +glabel D_8007FD20 +.word 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000 + +glabel D_8007FD38 +.word 0xE010A000, 0x003E43A0, 0x003E5350, 0xE010A000, 0x003E5350, 0x003E54C0 + +glabel D_8007FD50 +.word 0xE010C000, 0x003E54C0, 0x003E5F30, 0xE010C000, 0x003E5F30, 0x003EB4E0 + +glabel D_8007FD68 +.word 0xE010E32C, 0x003EB4E0, 0x003EBE60, 0xE010E000, 0x003EBE60, 0x003F83F0 + +glabel D_8007FD80 +.word 0xE0110000, 0x003F83F0, 0x003F8CC0, 0xE0110000, 0x003F8CC0, 0x003F9E50 + +glabel D_8007FD98 +.word 0xE0112000, 0x003F9E50, 0x003FA4B0, 0xE0112000, 0x003FA4B0, 0x003FEAE0 + +glabel D_8007FDB0 +.word 0xE0114000, 0x003FEAE0, 0x003FF250, 0xE0114000, 0x003FF250, 0x00402640 + +glabel D_8007FDC8 +.word 0xE0116000, 0x00402640, 0x00403400, 0xE0116000, 0x003FA4B0, 0x003FEAE0 + +glabel D_8007FDE0 +.word 0xE0118000, 0x00403400, 0x00403BF0, 0xE0118000, 0x00403BF0, 0x00404220 + +glabel D_8007FDF8 +.word 0xE011A000, 0x00404220, 0x00404F40, 0xE011A000, 0x00404F40, 0x00406B40 + +glabel D_8007FE10 +.word 0xE011C000, 0x00406B40, 0x00407080, 0xE011C000, 0x00407080, 0x00409990 + +glabel D_8007FE28 +.word 0xE011E000, 0x00409990, 0x0040A1C0, 0xE011E000, 0x0040A1C0, 0x0040B3F0 + +glabel D_8007FE40 +.word 0xE0120000, 0x0040B3F0, 0x0040BBA0, 0xE0120000, 0x0040BBA0, 0x0040C5A0 + +glabel D_8007FE58 +.word 0xE0122000, 0x0040C5A0, 0x0040D290, 0xE0122000, 0x0040D290, 0x00412730 + +glabel D_8007FE70 +.word 0xE0124000, 0x00412730, 0x00413360, 0xE0124000, 0x00337FC0, 0x00339250 + +glabel D_8007FE88 +.word 0xE0126000, 0x00413360, 0x00413FA0, 0xE0126000, 0x00413FA0, 0x00414BA0 + +glabel D_8007FEA0 +.word 0xE0128000, 0x00414BA0, 0x00415060, 0xE0128000, 0x00415060, 0x00415D90, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00000000, 0x00000200, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000002, 0x00000004, 0x0000000C, 0x00000000, 0xFFFFFFFF, 0x0000000D, 0x00000001, 0x0002C7C0, 0x0002C8E0, 0x00000000, 0x00000000, 0x0000000C, 0x00000000, 0xFFFFFFFF, 0x0000000D, 0x00000001, 0x0002C7C0, 0x0002C8E0, 0x00000000, 0x00000000, 0x0000000C, 0x00000000, 0xFFFFFFFF, 0x0000000D, 0x00000001, 0x0002C7C0, 0x0002C8E0, 0x00000000, 0x00000000, 0x0000000C, 0x00000000, 0xFFFFFFFF, 0x0000000D, 0x00000001, 0x0002C7C0, 0x0002C8E0, 0x00000000, 0x00000000, 0x0000000C, 0x00000002, 0xFFFFFFFF, 0x0000000D, 0x00000001, 0x0002C900, 0x0002CA20, 0x00000000, 0x00000000, 0x0000000C, 0x00000002, 0xFFFFFFFF, 0x0000000D, 0x00000001, 0x0002CA40, 0x0002CB60, 0x00000000, 0x00000000, 0x0000000C, 0x00000002, 0xFFFFFFFF, 0x0000000D, 0x00000004, 0x0002CB80, 0x0002CCA0, 0x00000000, 0x00000000, 0x0000000C, 0x00000002, 0x00000004, 0x0000000D, 0x00000001, 0x0002C900, 0x0002CA20, 0x00000000, 0x00000000, 0x0000000C, 0x00000000, 0x00000003, 0x0000000D, 0x00000001, 0x0002C7C0, 0x0002C8E0, 0x00000000, 0x00000000, 0x0000000C, 0x00000000, 0xFFFFFFFF, 0x0000000D, 0x0000000E, 0x0002CCC0, 0x0002CDE0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000002, 0x0000000C, 0x00000000, 0xFFFFFFFF, 0x0000000D, 0x00000001, 0x0002C7C0, 0x0002C8E0, 0x00000000, 0x00000000, 0x0000000C, 0x00000002, 0xFFFFFFFF, 0x0000000D, 0x00000001, 0x0002C900, 0x0002CA20, 0x00000000, 0x00000000, 0x0000000C, 0x00000002, 0xFFFFFFFF, 0x0000000D, 0x00000001, 0x0002CA40, 0x0002CB60, 0x00000000, 0x00000000, 0x0000000C, 0x00000002, 0xFFFFFFFF, 0x0000000D, 0x00000004, 0x0002CB80, 0x0002CCA0, 0x00000000, 0x00000000, 0x0000000C, 0x00000002, 0x00000004, 0x0000000D, 0x00000001, 0x0002C900, 0x0002CA20, 0x00000000, 0x00000000, 0x0000000C, 0x00000000, 0x00000003, 0x0000000D, 0x00000001, 0x0002C7C0, 0x0002C8E0, 0x00000000, 0x00000000, 0x0000000C, 0x00000000, 0xFFFFFFFF, 0x0000000D, 0x00000002, 0x0002CCC0, 0x0002CDE0, 0x00000000, 0x00000000, 0x0000000C, 0x00000000, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0002C7C0, 0x0002C8E0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000002, 0x00000004, 0x0000000D, 0x0000003C, 0x0002C7C0, 0x0002C8E0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000002, 0x00000004, 0x0000000C, 0x00000000, 0x00000000, 0x0000000D, 0x00000001, 0x0002CE00, 0x0002CF20, 0x00000000, 0x00000000, 0x0000000C, 0x00000000, 0x00000000, 0x0000000D, 0x00000001, 0x0002CE00, 0x0002CF20, 0x00000000, 0x00000000, 0x0000000C, 0x00000000, 0x00000000, 0x0000000D, 0x00000001, 0x0002CE00, 0x0002CF20, 0x00000000, 0x00000000, 0x0000000C, 0x00000000, 0x00000000, 0x0000000D, 0x00000001, 0x0002CE00, 0x0002CF20, 0x00000000, 0x00000000, 0x0000000C, 0x00000000, 0xFFFFFFFF, 0x0000000D, 0x00000001, 0x0002CF40, 0x0002D060, 0x00000000, 0x00000000, 0x0000000C, 0x00000000, 0xFFFFFFFF, 0x0000000D, 0x00000001, 0x0002D080, 0x0002D1A0, 0x00000000, 0x00000000, 0x0000000C, 0x00000001, 0xFFFFFFFD, 0x0000000D, 0x00000004, 0x0002D1C0, 0x0002D2E0, 0x00000000, 0x00000000, 0x0000000C, 0x00000000, 0x00000004, 0x0000000D, 0x00000001, 0x0002CF40, 0x0002D060, 0x00000000, 0x00000000, 0x0000000C, 0x00000000, 0x00000004, 0x0000000D, 0x00000001, 0x0002CE00, 0x0002CF20, 0x00000000, 0x00000000, 0x0000000C, 0x00000000, 0x00000001, 0x0000000D, 0x0000000E, 0x0002D300, 0x0002D420, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000002, 0x0000000C, 0x00000000, 0x00000000, 0x0000000D, 0x00000001, 0x0002CE00, 0x0002CF20, 0x00000000, 0x00000000, 0x0000000C, 0x00000000, 0xFFFFFFFF, 0x0000000D, 0x00000001, 0x0002CF40, 0x0002D060, 0x00000000, 0x00000000, 0x0000000C, 0x00000000, 0xFFFFFFFF, 0x0000000D, 0x00000001, 0x0002D080, 0x0002D1A0, 0x00000000, 0x00000000, 0x0000000C, 0x00000001, 0xFFFFFFFD, 0x0000000D, 0x00000004, 0x0002D1C0, 0x0002D2E0, 0x00000000, 0x00000000, 0x0000000C, 0x00000000, 0x00000004, 0x0000000D, 0x00000001, 0x0002CF40, 0x0002D060, 0x00000000, 0x00000000, 0x0000000C, 0x00000000, 0x00000004, 0x0000000D, 0x00000001, 0x0002CE00, 0x0002CF20, 0x00000000, 0x00000000, 0x0000000C, 0x00000000, 0x00000001, 0x0000000D, 0x00000002, 0x0002D300, 0x0002D420, 0x00000000, 0x00000000, 0x0000000C, 0x00000000, 0x00000004, 0x00000004, 0x0000000D, 0x0000003C, 0x0002CE00, 0x0002CF20, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000002, 0x00000004, 0x0000000D, 0x0000003C, 0x0002CE00, 0x0002CF20, 0x00000000, 0x00000000, 0x00000003, 0x00000000 + +glabel D_800804F0 +.word 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00000000, 0x00000200, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00000220, 0x00000420, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00000440, 0x00000640, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00000660, 0x00000860, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00000880, 0x00000A80, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00000AA0, 0x00000CA0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00000CC0, 0x00000EC0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00000EE0, 0x000010E0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00001100, 0x00001300, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0002D940, 0x0002DB40, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0002DB80, 0x0002DD80, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0002DDC0, 0x0002DFC0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0002E000, 0x0002E200, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0002E240, 0x0002E440, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0002E480, 0x0002E680, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0002E6C0, 0x0002E8C0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000002, 0x00000004, 0x0000000D, 0x0000003C, 0x00030CE0, 0x00030E00, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000002, 0x00000004, 0x0000000D, 0x0000000A, 0x00030A60, 0x00030B80, 0x00000000, 0x00000000, 0x0000000D, 0x00000006, 0x00030BA0, 0x00030CC0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000002, 0x00000004, 0x00000015, 0x00000000, 0x0000000D, 0x00000003, 0x0002F5C0, 0x0002F6E0, 0x00000000, 0x00000000, 0x0000000D, 0x00000003, 0x0002F700, 0x0002F820, 0x00000000, 0x00000000, 0x0000000D, 0x00000003, 0x0002FAC0, 0x0002FBE0, 0x00000000, 0x00000000, 0x0000000D, 0x00000003, 0x0002FC00, 0x0002FD20, 0x00000000, 0x00000000, 0x0000000D, 0x00000003, 0x0002FD40, 0x0002FE60, 0x00000000, 0x00000000, 0x0000000D, 0x00000003, 0x0002FE80, 0x0002FFA0, 0x00000000, 0x00000000, 0x0000000D, 0x00000003, 0x0002FFC0, 0x000300E0, 0x00000000, 0x00000000, 0x0000000D, 0x00000003, 0x00030100, 0x00030220, 0x00000000, 0x00000000, 0x00000014, 0x00000064, 0x00000046, 0x00000015, 0x00000001, 0x0000000D, 0x00000003, 0x0002F5C0, 0x0002F6E0, 0x00000000, 0x00000000, 0x0000000D, 0x00000002, 0x0002F700, 0x0002F820, 0x00000000, 0x00000000, 0x0000000D, 0x00000001, 0x0002F840, 0x0002F960, 0x00000000, 0x00000000, 0x0000000D, 0x00000001, 0x0002F980, 0x0002FAA0, 0x00000000, 0x00000000, 0x0000000D, 0x00000002, 0x0002FAC0, 0x0002FBE0, 0x00000000, 0x00000000, 0x0000000D, 0x00000003, 0x0002FC00, 0x0002FD20, 0x00000000, 0x00000000, 0x0000000D, 0x00000003, 0x0002FD40, 0x0002FE60, 0x00000000, 0x00000000, 0x0000000D, 0x00000003, 0x0002FE80, 0x0002FFA0, 0x00000000, 0x00000000, 0x0000000D, 0x00000003, 0x0002FFC0, 0x000300E0, 0x00000000, 0x00000000, 0x0000000D, 0x00000003, 0x00030100, 0x00030220, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x0000000C, 0xFFFFFFF8, 0x00000000, 0x0000000D, 0x00000001, 0x00030240, 0x00030260, 0x00000000, 0x00000000, 0x0000000D, 0x00000001, 0x00030280, 0x000302A0, 0x00000000, 0x00000000, 0x0000000D, 0x00000001, 0x000302C0, 0x000302E0, 0x00000000, 0x00000000, 0x0000000D, 0x00000002, 0x000303C0, 0x000303E0, 0x00000000, 0x00000000, 0x0000000D, 0x00000001, 0x000302C0, 0x000302E0, 0x00000000, 0x00000000, 0x0000000D, 0x00000001, 0x00030300, 0x00030320, 0x00000000, 0x00000000, 0x0000000D, 0x00000001, 0x000303C0, 0x000303E0, 0x00000000, 0x00000000, 0x0000000D, 0x00000001, 0x00030340, 0x00030360, 0x00000000, 0x00000000, 0x0000000D, 0x00000001, 0x000303C0, 0x000303E0, 0x00000000, 0x00000000, 0x0000000D, 0x00000001, 0x00030380, 0x000303A0, 0x00000000, 0x00000000, 0x0000000D, 0x00000010, 0x000303C0, 0x000303E0, 0x00000000, 0x00000000, 0x00000000, 0x0000000C, 0x00000008, 0x00000008, 0x0000000D, 0x00000001, 0x00030240, 0x00030260, 0x00000000, 0x00000000, 0x0000000D, 0x00000001, 0x00030280, 0x000302A0, 0x00000000, 0x00000000, 0x0000000D, 0x00000001, 0x000302C0, 0x000302E0, 0x00000000, 0x00000000, 0x0000000D, 0x00000002, 0x000303C0, 0x000303E0, 0x00000000, 0x00000000, 0x0000000D, 0x00000001, 0x000302C0, 0x000302E0, 0x00000000, 0x00000000, 0x0000000D, 0x00000001, 0x00030300, 0x00030320, 0x00000000, 0x00000000, 0x0000000D, 0x00000001, 0x000303C0, 0x000303E0, 0x00000000, 0x00000000, 0x0000000D, 0x00000001, 0x00030340, 0x00030360, 0x00000000, 0x00000000, 0x0000000D, 0x00000001, 0x000303C0, 0x000303E0, 0x00000000, 0x00000000, 0x0000000D, 0x00000001, 0x00030380, 0x000303A0, 0x00000000, 0x00000000, 0x0000000D, 0x00000010, 0x000303C0, 0x000303E0, 0x00000000, 0x00000000, 0x00000000, 0x0000000C, 0xFFFFFFFC, 0x00000008, 0x0000000D, 0x00000001, 0x00030240, 0x00030260, 0x00000000, 0x00000000, 0x0000000D, 0x00000001, 0x00030280, 0x000302A0, 0x00000000, 0x00000000, 0x0000000D, 0x00000001, 0x000302C0, 0x000302E0, 0x00000000, 0x00000000, 0x0000000D, 0x00000002, 0x000303C0, 0x000303E0, 0x00000000, 0x00000000, 0x0000000D, 0x00000001, 0x000302C0, 0x000302E0, 0x00000000, 0x00000000, 0x0000000D, 0x00000001, 0x00030300, 0x00030320, 0x00000000, 0x00000000, 0x0000000D, 0x00000001, 0x000303C0, 0x000303E0, 0x00000000, 0x00000000, 0x0000000D, 0x00000001, 0x00030340, 0x00030360, 0x00000000, 0x00000000, 0x0000000D, 0x00000001, 0x000303C0, 0x000303E0, 0x00000000, 0x00000000, 0x0000000D, 0x00000001, 0x00030380, 0x000303A0, 0x00000000, 0x00000000, 0x0000000D, 0x00000010, 0x000303C0, 0x000303E0, 0x00000000, 0x00000000, 0x00000000, 0x0000000C, 0x00000006, 0xFFFFFFFA, 0x0000000D, 0x00000001, 0x00030240, 0x00030260, 0x00000000, 0x00000000, 0x0000000D, 0x00000001, 0x00030280, 0x000302A0, 0x00000000, 0x00000000, 0x0000000D, 0x00000001, 0x000302C0, 0x000302E0, 0x00000000, 0x00000000, 0x0000000D, 0x00000002, 0x000303C0, 0x000303E0, 0x00000000, 0x00000000, 0x0000000D, 0x00000001, 0x000302C0, 0x000302E0, 0x00000000, 0x00000000, 0x0000000D, 0x00000001, 0x00030300, 0x00030320, 0x00000000, 0x00000000, 0x0000000D, 0x00000001, 0x000303C0, 0x000303E0, 0x00000000, 0x00000000, 0x0000000D, 0x00000001, 0x00030340, 0x00030360, 0x00000000, 0x00000000, 0x0000000D, 0x00000001, 0x000303C0, 0x000303E0, 0x00000000, 0x00000000, 0x0000000D, 0x00000001, 0x00030380, 0x000303A0, 0x00000000, 0x00000000, 0x0000000D, 0x00000010, 0x000303C0, 0x000303E0, 0x00000000, 0x00000000, 0x00000000, 0x0000000C, 0x00000001, 0xFFFFFFF8, 0x0000000D, 0x00000001, 0x00030240, 0x00030260, 0x00000000, 0x00000000, 0x0000000D, 0x00000001, 0x00030280, 0x000302A0, 0x00000000, 0x00000000, 0x0000000D, 0x00000001, 0x000302C0, 0x000302E0, 0x00000000, 0x00000000, 0x0000000D, 0x00000002, 0x000303C0, 0x000303E0, 0x00000000, 0x00000000, 0x0000000D, 0x00000001, 0x000302C0, 0x000302E0, 0x00000000, 0x00000000, 0x0000000D, 0x00000001, 0x00030300, 0x00030320, 0x00000000, 0x00000000, 0x0000000D, 0x00000001, 0x000303C0, 0x000303E0, 0x00000000, 0x00000000, 0x0000000D, 0x00000001, 0x00030340, 0x00030360, 0x00000000, 0x00000000, 0x0000000D, 0x00000001, 0x000303C0, 0x000303E0, 0x00000000, 0x00000000, 0x0000000D, 0x00000001, 0x00030380, 0x000303A0, 0x00000000, 0x00000000, 0x0000000D, 0x00000010, 0x000303C0, 0x000303E0, 0x00000000, 0x00000000, 0x00000000, 0x00000008, 0x00000005, 0x00000000, 0x00000017, 0x00000005, 0x80080A4C, 0x80080B64, 0x80080C7C, 0x80080D94, 0x80080EAC, 0x00000000, 0x00000008, 0x00000005, 0x00000002, 0x00000004, 0x0000000D, 0x00000002, 0x00030E20, 0x00030F40, 0x00000000, 0x00000000, 0x0000000D, 0x00000002, 0x00030F60, 0x00031080, 0x00000000, 0x00000000, 0x0000000D, 0x00000002, 0x000310A0, 0x000311C0, 0x00000000, 0x00000000, 0x0000000D, 0x00000002, 0x000311E0, 0x00031300, 0x00000000, 0x00000000, 0x0000000D, 0x00000002, 0x00031320, 0x00031440, 0x00000000, 0x00000000, 0x0000000D, 0x00000002, 0x00031460, 0x00031580, 0x00000000, 0x00000000, 0x0000000D, 0x00000002, 0x000315A0, 0x000316C0, 0x00000000, 0x00000000, 0x0000000D, 0x00000002, 0x000316E0, 0x00031800, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000000, 0x00000004, 0x0000000D, 0x00000002, 0x00031CA0, 0x00031CC0, 0x00000000, 0x00000000, 0x0000000D, 0x00000002, 0x00031CE0, 0x00031D00, 0x00000000, 0x00000000, 0x0000000D, 0x00000002, 0x00031D20, 0x00031D40, 0x00000000, 0x00000000, 0x0000000D, 0x00000002, 0x00031D60, 0x00031D80, 0x00000000, 0x00000000, 0x0000000D, 0x00000002, 0x00031DA0, 0x00031DC0, 0x00000000, 0x00000000, 0x0000000D, 0x00000002, 0x00031DE0, 0x00031E00, 0x00000000, 0x00000000, 0x0000000D, 0x00000002, 0x00031E20, 0x00031E40, 0x00000000, 0x00000000, 0x0000000D, 0x00000002, 0x00031E60, 0x00031E80, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x00000008, 0x0002E900, 0x0002EB00, 0x00000000, 0x00000000, 0x0000000D, 0x00000005, 0x0002EB20, 0x0002ED20, 0x00000000, 0x00000000, 0x0000000D, 0x00000008, 0x0002ED40, 0x0002EF40, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x00000008, 0x0002EF60, 0x0002F160, 0x00000000, 0x00000000, 0x0000000D, 0x00000005, 0x0002F180, 0x0002F380, 0x00000000, 0x00000000, 0x0000000D, 0x00000008, 0x0002F3A0, 0x0002F5A0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000000C, 0x00030400, 0x00030600, 0x00000000, 0x00000000, 0x0000000D, 0x00000004, 0x00030620, 0x00030820, 0x00000000, 0x00000000, 0x0000000D, 0x0000000C, 0x00030840, 0x00030A40, 0x00000000, 0x00000000, 0x0000000D, 0x00000004, 0x00030620, 0x00030820, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00001320, 0x00001520, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00001540, 0x00001740, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00001760, 0x00001960, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00001980, 0x00001B80, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00001BA0, 0x00001DA0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00001DC0, 0x00001FC0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00001FE0, 0x000021E0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00002200, 0x00002400, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00009020, 0x00009220, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00009240, 0x00009440, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00009460, 0x00009660, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00009680, 0x00009880, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x000098A0, 0x00009AA0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00009AC0, 0x00009CC0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00009CE0, 0x00009EE0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00009F00, 0x0000A100, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0000A120, 0x0000A320, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0000A340, 0x0000A540, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0000A560, 0x0000A760, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0000A780, 0x0000A980, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0000A9A0, 0x0000ABA0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0000ABC0, 0x0000ADC0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0000ADE0, 0x0000AFE0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0000B000, 0x0000B200, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0000B220, 0x0000B420, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0000B440, 0x0000B640, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0000B660, 0x0000B860, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0000B880, 0x0000BA80, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0000BAA0, 0x0000BCA0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0000BCC0, 0x0000BEC0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0000BEE0, 0x0000C0E0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0000C100, 0x0000C300, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0000C320, 0x0000C520, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0000C540, 0x0000C740, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0000C760, 0x0000C960, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0000C980, 0x0000CB80, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0000CBA0, 0x0000CDA0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0000CDC0, 0x0000CFC0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0000CFE0, 0x0000D1E0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0000D200, 0x0000D400, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0000D420, 0x0000D620, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0000D640, 0x0000D840, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0000D860, 0x0000DA60, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0000DAA0, 0x0000DCA0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0000DCC0, 0x0000DEC0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0000DEE0, 0x0000E0E0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0000E100, 0x0000E300, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0000E320, 0x0000E520, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0000E540, 0x0000E740, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0000E760, 0x0000E960, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0000E980, 0x0000EB80, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0000EBC0, 0x0000EDC0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0000EDE0, 0x0000EFE0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0000F000, 0x0000F200, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0000F220, 0x0000F420, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0000F440, 0x0000F640, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0000F660, 0x0000F860, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0000F880, 0x0000FA80, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0000FAA0, 0x0000FCA0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0000FCE0, 0x0000FEE0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0000FF00, 0x00010100, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00010120, 0x00010320, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00010340, 0x00010540, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00010560, 0x00010760, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00010780, 0x00010980, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x000109A0, 0x00010BA0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00010BC0, 0x00010DC0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00010E00, 0x00011000, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00011020, 0x00011220, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00011240, 0x00011440, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00011460, 0x00011660, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00011680, 0x00011880, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x000118A0, 0x00011AA0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00011AC0, 0x00011CC0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00011CE0, 0x00011EE0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00011F20, 0x00012120, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00012140, 0x00012340, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00012360, 0x00012560, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00012580, 0x00012780, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x000127A0, 0x000129A0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x000129C0, 0x00012BC0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x000129C0, 0x00012BE0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00012C00, 0x00012E00, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00012C00, 0x00012E20, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00012E40, 0x00013040, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00012E40, 0x00013060, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00013080, 0x00013280, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00013080, 0x000132A0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x000132C0, 0x000134C0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x000132C0, 0x000134E0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00013500, 0x00013700, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00013500, 0x00013720, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00013740, 0x00013940, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00013740, 0x00013960, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00013980, 0x00013B80, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00013980, 0x00013BA0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00013BC0, 0x00013DC0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00013BC0, 0x00013DE0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00013E00, 0x00014000, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00013E00, 0x00014020, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00014040, 0x00014240, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00014040, 0x00014260, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00014280, 0x00014480, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00014280, 0x000144A0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x000144C0, 0x000146C0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x000144C0, 0x000146E0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00014700, 0x00014900, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00014700, 0x00014920, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00014940, 0x00014B40, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00014940, 0x00014B60, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00014B80, 0x00014D80, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00014B80, 0x00014DA0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00002420, 0x00002620, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00002420, 0x00002640, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00002660, 0x00002860, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00002660, 0x00002880, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x000028A0, 0x00002AA0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x000028A0, 0x00002AC0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00002AE0, 0x00002CE0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00002AE0, 0x00002D00, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00002D20, 0x00002F20, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00002D20, 0x00002F40, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00002F60, 0x00003160, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00002F60, 0x00003180, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x000031A0, 0x000033A0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x000031A0, 0x000033C0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x000033E0, 0x000035E0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x000033E0, 0x00003600, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00003620, 0x00003820, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00003620, 0x00003840, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00003860, 0x00003A60, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00003860, 0x00003A80, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00003AA0, 0x00003CA0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00003AA0, 0x00003CC0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00003CE0, 0x00003EE0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00003CE0, 0x00003F00, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00003F20, 0x00004120, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00003F20, 0x00004140, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00004160, 0x00004360, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00004160, 0x00004380, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x000043A0, 0x000045A0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x000043A0, 0x000045C0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x000045E0, 0x000047E0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x000045E0, 0x00004800, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00004820, 0x00004A20, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00004820, 0x00004A40, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00004A60, 0x00004C60, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00004A60, 0x00004C80, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00004CA0, 0x00004EA0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00004CA0, 0x00004EC0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00004EE0, 0x000050E0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00004EE0, 0x00005100, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00005120, 0x00005320, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00005120, 0x00005340, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00005360, 0x00005560, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00005360, 0x00005580, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x000055A0, 0x000057A0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x000055A0, 0x000057C0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x000057E0, 0x000059E0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x000057E0, 0x00005A00, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00005A20, 0x00005C20, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00005A20, 0x00005C40, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00005C60, 0x00005E60, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00005C60, 0x00005E80, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00005EA0, 0x000060A0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00005EA0, 0x000060C0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x000060E0, 0x000062E0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x000060E0, 0x00006300, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00006320, 0x00006520, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00006320, 0x00006540, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00006560, 0x00006760, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00006560, 0x00006780, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x000067A0, 0x000069A0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x000067A0, 0x000069C0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x000069E0, 0x00006BE0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x000069E0, 0x00006C00, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00006C20, 0x00006E20, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00006C20, 0x00006E40, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00006E60, 0x00007060, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00006E60, 0x00007080, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x000070A0, 0x000072A0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x000070A0, 0x000072C0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x000072E0, 0x000074E0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x000072E0, 0x00007500, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00007520, 0x00007720, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00007520, 0x00007740, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00007760, 0x00007960, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00007760, 0x00007980, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x000079A0, 0x00007BA0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x000079A0, 0x00007BC0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00007BE0, 0x00007DE0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00007BE0, 0x00007E00, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00007E20, 0x00008020, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00007E20, 0x00008040, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00008060, 0x00008260, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00008060, 0x00008280, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x000082A0, 0x000084A0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x000082A0, 0x000084C0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x000084E0, 0x000086E0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x000084E0, 0x00008700, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00008720, 0x00008920, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00008720, 0x00008940, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00008960, 0x00008B60, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00008960, 0x00008B80, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00008BA0, 0x00008DA0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00008BA0, 0x00008DC0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00008DE0, 0x00008FE0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00008DE0, 0x00009000, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00014DC0, 0x00014FC0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00014DC0, 0x00014FE0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00015000, 0x00015200, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00015000, 0x00015220, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00015240, 0x00015440, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00015240, 0x00015460, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00015480, 0x00015680, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00015480, 0x000156A0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x000156C0, 0x000158C0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x000156C0, 0x000158E0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00015900, 0x00015B00, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00015900, 0x00015B20, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00015B40, 0x00015D40, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00015B40, 0x00015D60, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00015D80, 0x00015F80, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00015D80, 0x00015FA0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00015FC0, 0x000161C0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00015FC0, 0x000161E0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00016200, 0x00016400, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00016200, 0x00016420, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00016440, 0x00016640, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00016440, 0x00016660, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00016680, 0x00016880, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00016680, 0x000168A0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x000168C0, 0x00016AC0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x000168C0, 0x00016AE0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00016B00, 0x00016D00, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00016B00, 0x00016D20, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00016D40, 0x00016F40, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00016D40, 0x00016F60, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00016F80, 0x00017180, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00016F80, 0x000171A0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x000171C0, 0x000173C0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x000171C0, 0x000173E0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00017400, 0x00017600, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00017400, 0x00017620, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00017640, 0x00017840, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00017640, 0x00017860, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00017880, 0x00017A80, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00017880, 0x00017AA0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00017AC0, 0x00017CC0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00017AC0, 0x00017CE0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00017D00, 0x00017F00, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00017D00, 0x00017F20, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00017F40, 0x00018140, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00017F40, 0x00018160, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00018180, 0x00018380, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00018180, 0x000183A0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x000183C0, 0x000185C0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x000183C0, 0x000185E0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00018600, 0x00018800, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00018600, 0x00018820, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00018840, 0x00018A40, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00018840, 0x00018A60, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00018A80, 0x00018C80, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00018A80, 0x00018CA0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00018CC0, 0x00018EC0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00018CC0, 0x00018EE0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00018F00, 0x00019100, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00018F00, 0x00019120, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00019140, 0x00019340, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00019140, 0x00019360, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00019380, 0x00019580, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00019380, 0x000195A0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x000195C0, 0x000197C0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x000195C0, 0x000197E0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00019800, 0x00019A00, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00019800, 0x00019A20, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00019A40, 0x00019C40, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00019A40, 0x00019C60, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00019C80, 0x00019E80, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00019C80, 0x00019EA0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00019EC0, 0x0001A0C0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00019EC0, 0x0001A0E0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001A100, 0x0001A300, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001A100, 0x0001A320, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001A340, 0x0001A540, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001A340, 0x0001A560, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001A580, 0x0001A780, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001A580, 0x0001A7A0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001A7C0, 0x0001A9C0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001A7C0, 0x0001A9E0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001AA00, 0x0001AC00, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001AA00, 0x0001AC20, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001AC40, 0x0001AE40, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001AC40, 0x0001AE60, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001AE80, 0x0001B080, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001AE80, 0x0001B0A0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001B0C0, 0x0001B2C0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001B0C0, 0x0001B2E0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001B300, 0x0001B500, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001B300, 0x0001B520, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001B540, 0x0001B740, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001B540, 0x0001B760, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001B780, 0x0001B980, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001B780, 0x0001B9A0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001B9C0, 0x0001BBC0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001B9C0, 0x0001BBE0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001BC00, 0x0001BE00, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001BC00, 0x0001BE20, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001BE40, 0x0001C040, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001BE40, 0x0001C060, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001C080, 0x0001C280, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001C080, 0x0001C2A0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001C2C0, 0x0001C4C0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001C2C0, 0x0001C4E0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001C500, 0x0001C700, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001C500, 0x0001C720, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001C740, 0x0001C940, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001C740, 0x0001C960, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001C980, 0x0001CB80, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001C980, 0x0001CBA0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001CBC0, 0x0001CDC0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001CBC0, 0x0001CDE0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001CE00, 0x0001D000, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001CE00, 0x0001D020, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001D040, 0x0001D240, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001D040, 0x0001D260, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001D280, 0x0001D480, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001D280, 0x0001D4A0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001D4C0, 0x0001D6C0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001D4C0, 0x0001D6E0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001D700, 0x0001D900, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001D700, 0x0001D920, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001D940, 0x0001DB40, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001D940, 0x0001DB60, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001DB80, 0x0001DD80, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001DB80, 0x0001DDA0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001DDC0, 0x0001DFC0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001DDC0, 0x0001DFE0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001E000, 0x0001E200, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001E000, 0x0001E220, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001E240, 0x0001E440, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001E240, 0x0001E460, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001E480, 0x0001E680, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001E480, 0x0001E6A0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001E6C0, 0x0001E8C0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001E6C0, 0x0001E8E0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001E900, 0x0001EB00, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001E900, 0x0001EB20, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001EB40, 0x0001ED40, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001EB40, 0x0001ED60, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001ED80, 0x0001EF80, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001ED80, 0x0001EFA0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001EFC0, 0x0001F1C0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001EFC0, 0x0001F1E0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001F200, 0x0001F400, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001F200, 0x0001F420, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001F440, 0x0001F640, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001F440, 0x0001F660, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001F680, 0x0001F880, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001F680, 0x0001F8A0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001F8C0, 0x0001FAC0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001F8C0, 0x0001FAE0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001FB00, 0x0001FD00, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001FB00, 0x0001FD20, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001FD40, 0x0001FF40, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001FD40, 0x0001FF60, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001FF80, 0x00020180, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001FF80, 0x000201A0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x000201C0, 0x000203C0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x000201C0, 0x000203E0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00020400, 0x00020600, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00020400, 0x00020620, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00020640, 0x00020840, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00020640, 0x00020860, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00020880, 0x00020A80, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00020880, 0x00020AA0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00020AC0, 0x00020CC0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00020AC0, 0x00020CE0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00020D00, 0x00020F00, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00020D00, 0x00020F20, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00020F40, 0x00021140, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00020F40, 0x00021160, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00021180, 0x00021380, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00021180, 0x000213A0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x000213C0, 0x000215C0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x000213C0, 0x000215E0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00021600, 0x00021800, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00021600, 0x00021820, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00021840, 0x00021A40, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00021840, 0x00021A60, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00021A80, 0x00021C80, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00021A80, 0x00021CA0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00021CC0, 0x00021EC0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00021CC0, 0x00021EE0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00021F00, 0x00022100, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00021F00, 0x00022120, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00022140, 0x00022340, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00022140, 0x00022360, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00022380, 0x00022580, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00022380, 0x000225A0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x000225C0, 0x000227C0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x000225C0, 0x000227E0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00022800, 0x00022A00, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00022800, 0x00022A20, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00022A40, 0x00022C40, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00022A40, 0x00022C60, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00022C80, 0x00022E80, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00022C80, 0x00022EA0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00022EC0, 0x000230C0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00022EC0, 0x000230E0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00023100, 0x00023300, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00023100, 0x00023320, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00023340, 0x00023540, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00023340, 0x00023560, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00023580, 0x00023780, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00023580, 0x000237A0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0002A3C0, 0x0002A5C0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0002A3C0, 0x0002A5E0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0002A600, 0x0002A800, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0002A600, 0x0002A820, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0002A840, 0x0002AA40, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0002A840, 0x0002AA60, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0002AA80, 0x0002AC80, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0002AA80, 0x0002ACA0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0002ACC0, 0x0002AEC0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0002ACC0, 0x0002AEE0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0002AF00, 0x0002B100, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0002AF00, 0x0002B120, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0002B140, 0x0002B340, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0002B140, 0x0002B360, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0002B380, 0x0002B580, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0002B380, 0x0002B5A0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0002B5C0, 0x0002B7C0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0002B5C0, 0x0002B7E0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0002B800, 0x0002BA00, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0002B800, 0x0002BA20, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0002BA40, 0x0002BC40, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0002BA40, 0x0002BC60, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0002BC80, 0x0002BE80, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0002BC80, 0x0002BEA0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0002BEC0, 0x0002C0C0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0002BEC0, 0x0002C0E0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0002C100, 0x0002C300, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0002C100, 0x0002C320, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0002C340, 0x0002C540, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0002C340, 0x0002C560, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0002C580, 0x0002C780, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0002C580, 0x0002C7A0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x000237C0, 0x000239C0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x000237C0, 0x000239E0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00023A00, 0x00023C00, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00023A00, 0x00023C20, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00023C40, 0x00023E40, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00023C40, 0x00023E60, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00023E80, 0x00024080, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00023E80, 0x000240A0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x000240C0, 0x000242C0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x000240C0, 0x000242E0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00024300, 0x00024500, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00024300, 0x00024520, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00024540, 0x00024740, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00024540, 0x00024760, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00024780, 0x00024980, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00024780, 0x000249A0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x000249C0, 0x00024BC0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x000249C0, 0x00024BE0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00024C00, 0x00024E00, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00024C00, 0x00024E20, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00024E40, 0x00025040, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00024E40, 0x00025060, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00025080, 0x00025280, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00025080, 0x000252A0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x000252C0, 0x000254C0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x000252C0, 0x000254E0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00025500, 0x00025700, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00025500, 0x00025720, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00025740, 0x00025940, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00025740, 0x00025960, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00025980, 0x00025B80, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00025980, 0x00025BA0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00025BC0, 0x00025DC0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00025BC0, 0x00025DE0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00025E00, 0x00026000, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00025E00, 0x00026020, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00026040, 0x00026240, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00026040, 0x00026260, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00026280, 0x00026480, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00026280, 0x000264A0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x000264C0, 0x000266C0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x000264C0, 0x000266E0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00026700, 0x00026900, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00026700, 0x00026920, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00026940, 0x00026B40, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00026940, 0x00026B60, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00026B80, 0x00026D80, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00026B80, 0x00026DA0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00026DC0, 0x00026FC0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00026DC0, 0x00026FE0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00027000, 0x00027200, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00027000, 0x00027220, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00027240, 0x00027440, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00027240, 0x00027460, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00027480, 0x00027680, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00027480, 0x000276A0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x000276C0, 0x000278C0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x000276C0, 0x000278E0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00027900, 0x00027B00, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00027900, 0x00027B20, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00027B40, 0x00027D40, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00027B40, 0x00027D60, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00027D80, 0x00027F80, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00027D80, 0x00027FA0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00027FC0, 0x000281C0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00027FC0, 0x000281E0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00028200, 0x00028400, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00028200, 0x00028420, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00028440, 0x00028640, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00028440, 0x00028660, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00028680, 0x00028880, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00028680, 0x000288A0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x000288C0, 0x00028AC0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x000288C0, 0x00028AE0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00028B00, 0x00028D00, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00028B00, 0x00028D20, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00028D40, 0x00028F40, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00028D40, 0x00028F60, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00028F80, 0x00029180, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00028F80, 0x000291A0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x000291C0, 0x000293C0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x000291C0, 0x000293E0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00029400, 0x00029600, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00029400, 0x00029620, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00029640, 0x00029840, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00029640, 0x00029860, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00029880, 0x00029A80, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00029880, 0x00029AA0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00029AC0, 0x00029CC0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00029AC0, 0x00029CE0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00029D00, 0x00029F00, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00029D00, 0x00029F20, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00029F40, 0x0002A140, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00029F40, 0x0002A160, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0002A180, 0x0002A380, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0002A180, 0x0002A3A0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x01400000, 0x00000008, 0x00000000, 0x00000000, 0x00000000, 0x10000000, 0x00000000, 0x002600A0, 0x00380000, 0x00000008, 0xFFFF0000, 0x00000000, 0x00000000, 0x10200000, 0x00000000, 0x002600A1, 0x00390000, 0x00000002, 0xFFFF0000, 0x00000000, 0x00000000, 0x10200000, 0x00000000, 0x002600A2, 0x003A0000, 0x00000001, 0xFFFF0000, 0x00000000, 0x00000000, 0x10200000, 0x00000000, 0x002600A3, 0x003B0000, 0x00000008, 0xFFFF0000, 0x00000000, 0x00000000, 0x10200000, 0x00000000, 0x002600A4, 0x003C0000, 0x00000001, 0xFFFF0000, 0x00000000, 0x00000000, 0x10200000, 0x00000000, 0x002600A5, 0x003D0000, 0x00000002, 0xFFFF0000, 0x00000000, 0x00000000, 0x10200000, 0x00000000, 0x002600A6, 0x003E0000, 0x00000002, 0xFFFF0000, 0x002500A6, 0x002300A6, 0x10080000, 0x00000000, 0x00000000, 0x01400000, 0x00000002, 0xFFFF0000, 0x00000000, 0x00000000, 0x10200000, 0x00000000, 0x00000000, 0x01400000, 0x00000002, 0xFFFF0000, 0x00000000, 0x00000000, 0x10200000, 0x00000000, 0x002600E2, 0x00780000, 0x00000002, 0xFFFF0000, 0x002500E2, 0x002300E2, 0x10080000, 0x00000000, 0x002600E3, 0x00790000, 0x00000002, 0xFFFF0000, 0x002500E3, 0x002300E3, 0x10080000, 0x00000000, 0x002600E4, 0x007A0000, 0x00000002, 0xFFFF0000, 0x002500E4, 0x002300E4, 0x10080000, 0x00000000, 0x002600E5, 0x007B0000, 0x00000002, 0xFFFF0000, 0x002500E5, 0x002300E5, 0x10080000, 0x00000000, 0x002600E6, 0x007C0000, 0x00000002, 0xFFFF0000, 0x002500E6, 0x002300E6, 0x10080000, 0x00000000, 0x002600E7, 0x00620000, 0x00000002, 0xFFFF0000, 0x002500E7, 0x002300E7, 0x10080000, 0x00000000, 0x002600A7, 0x00400000, 0x00000008, 0xFFFF0000, 0x002500A7, 0x002300A7, 0x10090000, 0x00000000, 0x002600A8, 0x00410000, 0x00000008, 0xFFFF0000, 0x002500A8, 0x002300A8, 0x10090000, 0x00000000, 0x002600B0, 0x00470000, 0x00000008, 0xFFFF0000, 0x002500B0, 0x002300B0, 0x10090000, 0x00000000, 0x002600A9, 0x00420000, 0x00000008, 0xFFFF0000, 0x002500A9, 0x002300A9, 0x10090000, 0x00000000, 0x002600AA, 0x00430000, 0x00000008, 0xFFFF0000, 0x002500AA, 0x002300AA, 0x10090000, 0x00000000, 0x002600B3, 0x004C0000, 0x00000008, 0xFFFF0000, 0x002500B3, 0x002300B3, 0x10090000, 0x00000000, 0x002600B4, 0x004A0000, 0x00000008, 0xFFFF0000, 0x002500B4, 0x002300B4, 0x10090000, 0x00000000, 0x002600B5, 0x004B0000, 0x00000008, 0xFFFF0000, 0x002500B5, 0x002300B5, 0x10090000, 0x00000000, 0x002600B2, 0x00490000, 0x00000008, 0xFFFF0000, 0x002500B2, 0x002300B2, 0x10090000, 0x00000000, 0x002600AF, 0x00460000, 0x00000008, 0xFFFF0000, 0x002500AF, 0x002300AF, 0x10090000, 0x00000000, 0x002600AB, 0x00440000, 0x00000008, 0xFFFF0000, 0x002500AB, 0x002300AB, 0x10090000, 0x00000000, 0x00000000, 0x004D0000, 0x00000008, 0xFFFF0000, 0x00000000, 0x00000000, 0x10090000, 0x00000000, 0x002600B7, 0x00500000, 0x00000008, 0xFFFF0000, 0x002500B7, 0x002300B7, 0x10090000, 0x00000000, 0x002600B8, 0x00510000, 0x00000008, 0xFFFF0000, 0x002500B8, 0x002300B8, 0x10090000, 0x00000000, 0x002600C4, 0x005D0000, 0x00000008, 0xFFFF0000, 0x002500C4, 0x002300C4, 0x10090000, 0x00000000, 0x002600B9, 0x00520000, 0x00000008, 0xFFFF0000, 0x002500B9, 0x002300B9, 0x10090000, 0x00000000, 0x002600BA, 0x00530000, 0x00000008, 0xFFFF0000, 0x002500BA, 0x002300BA, 0x10090000, 0x00000000, 0x002600BB, 0x00540000, 0x00000008, 0xFFFF0000, 0x002500BB, 0x002300BB, 0x10090000, 0x00000000, 0x002600B6, 0x004F0000, 0x00000008, 0xFFFF0000, 0x002500B6, 0x002300B6, 0x10090000, 0x00000000, 0x002600BC, 0x00550000, 0x00000008, 0xFFFF0000, 0x002500BC, 0x002300BC, 0x10090000, 0x00000000, 0x002600BD, 0x00560000, 0x00000008, 0xFFFF0000, 0x002500BD, 0x002300BD, 0x10090000, 0x00000000, 0x002600BE, 0x00570000, 0x00000008, 0xFFFF0000, 0x002500BE, 0x002300BE, 0x10090000, 0x00000000, 0x00000000, 0x00580000, 0x00000008, 0xFFFF0000, 0x00000000, 0x00000000, 0x10090000, 0x00000000, 0x002600C9, 0x007D0000, 0x00000008, 0xFFFF0000, 0x002500C9, 0x002300C9, 0x10090000, 0x00000000, 0x00000000, 0x00650000, 0x00000008, 0xFFFF0000, 0x00000000, 0x00000000, 0x10090000, 0x00000000, 0x002600CB, 0x00660000, 0x00000008, 0xFFFF0000, 0x002500CB, 0x002300CB, 0x10090000, 0x00000000, 0x002600CC, 0x00670000, 0x00000008, 0xFFFF0000, 0x002500CC, 0x002300CC, 0x10090000, 0x00000000, 0x002600C0, 0x00590000, 0x00000008, 0xFFFF0000, 0x002500C0, 0x002300C0, 0x10090000, 0x00000000, 0x002600C1, 0x005A0000, 0x00000008, 0xFFFF0000, 0x002500C1, 0x002300C1, 0x10090000, 0x00000000, 0x002600C2, 0x005B0000, 0x00000008, 0xFFFF0000, 0x002500C2, 0x002300C2, 0x10090000, 0x00000000, 0x002600C3, 0x005C0000, 0x00000008, 0xFFFF0000, 0x002500C3, 0x002300C3, 0x10090000, 0x00000000, 0x00000000, 0x00630000, 0x00000008, 0xFFFF0000, 0x00000000, 0x00000000, 0x10090000, 0x00000000, 0x002600CA, 0x00640000, 0x00000008, 0xFFFF0000, 0x002500CA, 0x002300CA, 0x10090000, 0x00000000, 0x002600CF, 0x00680000, 0x00000008, 0xFFFF0000, 0x002500CF, 0x002300CF, 0x10090000, 0x00000000, 0x002600D0, 0x00690000, 0x00000008, 0xFFFF0000, 0x002500D0, 0x002300D0, 0x10090000, 0x00000000, 0x002600D2, 0x006A0000, 0x00000008, 0xFFFF0000, 0x002500D2, 0x002300D2, 0x10090000, 0x00000000, 0x002600D3, 0x006B0000, 0x00000008, 0xFFFF0000, 0x002500D3, 0x002300D3, 0x10090000, 0x00000000, 0x00000000, 0x00880000, 0x00000008, 0xFFFF0000, 0x00000000, 0x00000000, 0x10090000, 0x00000000, 0x002600EB, 0x00880000, 0x00000008, 0xFFFF0000, 0x002500EB, 0x002300EB, 0x10090000, 0x00000000, 0x002600EC, 0x00880000, 0x00000008, 0xFFFF0000, 0x002500EC, 0x002300EC, 0x10090000, 0x00000000, 0x002600ED, 0x00880000, 0x00000008, 0xFFFF0000, 0x002500ED, 0x002300ED, 0x10090000, 0x00000000, 0x002600EE, 0x00880000, 0x00000008, 0xFFFF0000, 0x002500EE, 0x002300EE, 0x10090000, 0x00000000, 0x002600EF, 0x00880000, 0x00000008, 0xFFFF0000, 0x002500EF, 0x002300EF, 0x10090000, 0x00000000, 0x002600F0, 0x00880000, 0x00000008, 0xFFFF0000, 0x002500F0, 0x002300F0, 0x10090000, 0x00000000, 0x002600F1, 0x00880000, 0x00000008, 0xFFFF0000, 0x002500F1, 0x002300F1, 0x10090000, 0x00000000, 0x002600F2, 0x00880000, 0x00000008, 0xFFFF0000, 0x002500F2, 0x002300F2, 0x10090000, 0x00000000, 0x002600F3, 0x00880000, 0x00000008, 0xFFFF0000, 0x002500F3, 0x002300F3, 0x10090000, 0x00000000, 0x00000000, 0x00880000, 0x00000008, 0xFFFF0000, 0x00000000, 0x00000000, 0x10090000, 0x00000000, 0x002600F4, 0x00880000, 0x00000008, 0xFFFF0000, 0x002500F4, 0x002300F4, 0x10090000, 0x00000000, 0x002600F5, 0x00880000, 0x00000008, 0xFFFF0000, 0x002500F5, 0x002300F5, 0x10090000, 0x00000000, 0x00000000, 0x00880000, 0x00000008, 0xFFFF0000, 0x00000000, 0x00000000, 0x10090000, 0x00000000, 0x00000000, 0x00880000, 0x00000008, 0xFFFF0000, 0x00000000, 0x00000000, 0x10090000, 0x00000000, 0x00000000, 0x00880000, 0x00000008, 0xFFFF0000, 0x00000000, 0x00000000, 0x10090000, 0x00000000, 0x002600F6, 0x00880000, 0x00000008, 0xFFFF0000, 0x002500F6, 0x002300F6, 0x10090000, 0x00000000, 0x002600F7, 0x00880000, 0x00000008, 0xFFFF0000, 0x002500F7, 0x002300F7, 0x10090000, 0x00000000, 0x002600F8, 0x00880000, 0x00000008, 0xFFFF0000, 0x002500F8, 0x002300F8, 0x10090000, 0x00000000, 0x002600F9, 0x00880000, 0x00000008, 0xFFFF0000, 0x002500F9, 0x002300F9, 0x10090000, 0x00000000, 0x002600FA, 0x00880000, 0x00000008, 0xFFFF0000, 0x002500FA, 0x002300FA, 0x10090000, 0x00000000, 0x002600FB, 0x00880000, 0x00000008, 0xFFFF0000, 0x002500FB, 0x002300FB, 0x10090000, 0x00000000, 0x002600FC, 0x00880000, 0x00000008, 0xFFFF0000, 0x002500FC, 0x002300FC, 0x10090000, 0x00000000, 0x002600FD, 0x00880000, 0x00000008, 0xFFFF0000, 0x002500FD, 0x002300FD, 0x10090000, 0x00000000, 0x00000000, 0x00880000, 0x00000008, 0xFFFF0000, 0x00000000, 0x00000000, 0x10090000, 0x00000000, 0x002600FE, 0x00880000, 0x00000008, 0xFFFF0000, 0x002500FE, 0x002300FE, 0x10090000, 0x00000000, 0x002600FF, 0x00880000, 0x00000008, 0xFFFF0000, 0x002500FF, 0x002300FF, 0x10090000, 0x00000000, 0x00260100, 0x00880000, 0x00000008, 0xFFFF0000, 0x00250100, 0x00230100, 0x10090000, 0x00000000, 0x00260101, 0x00880000, 0x00000008, 0xFFFF0000, 0x00250101, 0x00230101, 0x10090000, 0x00000000, 0x00260102, 0x00880000, 0x00000008, 0xFFFF0000, 0x00250102, 0x00230102, 0x10090000, 0x00000000, 0x002600B1, 0x00480000, 0x00000008, 0xFFFF0000, 0x002500B1, 0x002300B1, 0x10090000, 0x00000000, 0x002600EA, 0x00880000, 0x00000008, 0xFFFF0000, 0x002500EA, 0x002300EA, 0x10090000, 0x00000000, 0x00000000, 0x00880000, 0x00000008, 0xFFFF0000, 0x00000000, 0x00000000, 0x10090000, 0x00000000, 0x002600AE, 0x00450000, 0x00000008, 0xFFFF0000, 0x002500AE, 0x002300AE, 0x10090000, 0x00000000, 0x002600C5, 0x005E0000, 0x00000008, 0xFFFF0000, 0x002500C5, 0x002300C5, 0x10090000, 0x00000000, 0x002600C6, 0x005F0000, 0x00000008, 0xFFFF0000, 0x002500C6, 0x002300C6, 0x10090000, 0x00000000, 0x002600C7, 0x00600000, 0x00000008, 0xFFFF0000, 0x002500C7, 0x002300C7, 0x10090000, 0x00000000, 0x002600C8, 0x00610000, 0x00000008, 0xFFFF0000, 0x002500C8, 0x002300C8, 0x10090000, 0x00000000, 0x002600CD, 0x00490000, 0x00000008, 0xFFFF0000, 0x002500CD, 0x002300CD, 0x10090000, 0x00000000, 0x00260104, 0x00810000, 0x00000008, 0xFFFF0000, 0x00250104, 0x00230104, 0x10090000, 0x00000000, 0x002600D8, 0x01160000, 0x00000008, 0xFFFF0000, 0x002500D8, 0x002300D8, 0x10090000, 0x00000000, 0x002600D9, 0x01150000, 0x00000008, 0xFFFF0000, 0x002500D9, 0x002300D9, 0x10090000, 0x00000000, 0x002600DA, 0x01170000, 0x00000008, 0xFFFF0000, 0x002500DA, 0x002300DA, 0x10090000, 0x00000000, 0x002600DB, 0x01180000, 0x00000008, 0xFFFF0000, 0x002500DB, 0x002300DB, 0x10090000, 0x00000000, 0x002600DC, 0x01190000, 0x00000008, 0xFFFF0000, 0x002500DC, 0x002300DC, 0x10090000, 0x00000000, 0x002600DD, 0x011A0000, 0x00000008, 0xFFFF0000, 0x002500DD, 0x002300DD, 0x10090000, 0x00000000, 0x002600DE, 0x011B0000, 0x00000008, 0xFFFF0000, 0x002500DE, 0x002300DE, 0x10090000, 0x00000000, 0x002600DF, 0x011C0000, 0x00000008, 0xFFFF0000, 0x002500DF, 0x002300DF, 0x10090000, 0x00000000, 0x002600E0, 0x011D0000, 0x00000008, 0xFFFF0000, 0x002500E0, 0x002300E0, 0x10090000, 0x00000000, 0x002600E1, 0x011E0000, 0x00000008, 0xFFFF0000, 0x002500E1, 0x002300E1, 0x10090000, 0x00000000, 0x002600D6, 0x006F0000, 0x00000008, 0xFFFF0000, 0x002500D6, 0x002300D6, 0x10090000, 0x00000000, 0x002600D7, 0x006E0000, 0x00000008, 0xFFFF0000, 0x002500D7, 0x002300D7, 0x10090000, 0x00000000, 0x002600BF, 0x00700000, 0x00000008, 0xFFFF0000, 0x002500BF, 0x002300BF, 0x10090000, 0x00000000, 0x002600AC, 0x00730000, 0x00000008, 0xFFFF0000, 0x002500AC, 0x002300AC, 0x10090000, 0x00000000, 0x002600AD, 0x00530000, 0x00000008, 0xFFFF0000, 0x002500AD, 0x002300AD, 0x10090000, 0x00000000, 0x002600D1, 0x00710000, 0x00000008, 0xFFFF0000, 0x002500D1, 0x002300D1, 0x10090000, 0x00000000, 0x002600D4, 0x00720000, 0x00000008, 0xFFFF0000, 0x002500D4, 0x002300D4, 0x10090000, 0x00000000, 0x00260103, 0x00800000, 0x00000008, 0xFFFF0000, 0x00250103, 0x00230103, 0x10090000, 0x00000000, 0x00260105, 0x00820000, 0x00000008, 0xFFFF0000, 0x00250105, 0x00230105, 0x10090000, 0x00000000, 0x00260106, 0x00830000, 0x00000008, 0xFFFF0000, 0x00250106, 0x00230106, 0x10090000, 0x00000000, 0x00260107, 0x00840000, 0x00000008, 0xFFFF0000, 0x00250107, 0x00230107, 0x10090000, 0x00000000, 0x00000000, 0x00850000, 0x00000008, 0xFFFF0000, 0x00000000, 0x00000000, 0x10090000, 0x00000000, 0x00260108, 0x00860000, 0x00000008, 0xFFFF0000, 0x00250108, 0x00230108, 0x10090000, 0x00000000, 0x00260109, 0x00870000, 0x00000008, 0xFFFF0000, 0x00250109, 0x00230109, 0x10090000, 0x00000000, 0x00000000, 0x00860000, 0x00000008, 0xFFFF0000, 0x00000000, 0x00000000, 0x10090000, 0x00000000, 0x0026010A, 0x006C0000, 0x00000008, 0xFFFF0000, 0x0025010A, 0x0023010A, 0x10090000, 0x00000000, 0x0026010B, 0x006D0000, 0x00000008, 0xFFFF0000, 0x0025010B, 0x0023010B, 0x10090000, 0x00000000, 0x002600AC, 0x00730000, 0x00000008, 0xFFFF0000, 0x002500AC, 0x002300AC, 0x10090000, 0x00000000, 0x002600CE, 0x00530000, 0x00000008, 0xFFFF0000, 0x002500CE, 0x002300CE, 0x10090000, 0x00000000, 0x002600D5, 0x00530000, 0x00000008, 0xFFFF0000, 0x002500D5, 0x002300D5, 0x10090000, 0x00000000, 0x002600E8, 0x007F0000, 0x00000008, 0xFFFF0000, 0x002500E8, 0x002300E8, 0x10090000, 0x00000000, 0x002600E9, 0x007E0000, 0x00000008, 0xFFFF0000, 0x002500E9, 0x002300E9, 0x10090000, 0x00000000, 0x002600D5, 0x00730000, 0x00000008, 0xFFFF0000, 0x002500D5, 0x002300D5, 0x10090000, 0x00000000, 0x002600D5, 0x00730000, 0x00000008, 0xFFFF0000, 0x002500D5, 0x002300D5, 0x10090000, 0x00000000, 0x002600D5, 0x00730000, 0x00000008, 0xFFFF0000, 0x002500D5, 0x002300D5, 0x10090000, 0x00000000, 0x00260000, 0x01200000, 0x00008002, 0x00040000, 0x00250000, 0x00230000, 0x10060003, 0x00000000, 0x00260001, 0x01210000, 0x00008002, 0x00060000, 0x00250001, 0x00230001, 0x10060004, 0x00000000, 0x00260002, 0x01220000, 0x00008002, 0x00080000, 0x00250002, 0x00230002, 0x10060005, 0x00000000, 0x00260004, 0x01240000, 0x00008002, 0x000F0000, 0x00250004, 0x00230004, 0x10060006, 0x00000000, 0x00260003, 0x01230000, 0x00008003, 0x00040000, 0x00250003, 0x00230003, 0x10060005, 0x00000000, 0x00260006, 0x01260000, 0x00008003, 0x00010000, 0x00250006, 0x00230006, 0x10060001, 0x00000000, 0x00260005, 0x01250000, 0x00008003, 0x00010000, 0x00250005, 0x00230005, 0x10060001, 0x00000000, 0x00000000, 0x013D0000, 0x00008003, 0x00010000, 0x00000000, 0x00000000, 0x10060000, 0x00000000, 0x00260007, 0x01280000, 0x00000008, 0x000F0000, 0x00250007, 0x00230007, 0x10060003, 0x00000000, 0x0026000E, 0x00FD0000, 0x00000009, 0x00010000, 0x0025000E, 0x0023000E, 0x11870000, 0x00000000, 0x00260009, 0x00F80000, 0x00000009, 0x00020000, 0x00250009, 0x00230009, 0x10870005, 0x00000000, 0x00260008, 0x01290000, 0x00000008, 0x00070000, 0x00250008, 0x00230008, 0x10860004, 0x00000000, 0x0026000A, 0x00F90000, 0x00000009, 0x00070000, 0x0025000A, 0x0023000A, 0x1087000A, 0x00000000, 0x0026000D, 0x00FC0000, 0x00000009, 0x00010000, 0x0025000D, 0x0023000D, 0x10870001, 0x00000000, 0x0026000B, 0x00FA0000, 0x00000009, 0x00320000, 0x0025000B, 0x0023000B, 0x10870032, 0x00000000, 0x00260026, 0x01300000, 0x00008002, 0x00040000, 0x00250026, 0x00230026, 0x10060003, 0x00000000, 0x00260027, 0x01320000, 0x00008002, 0x00030000, 0x00250027, 0x00230027, 0x10060002, 0x00000000, 0x00000000, 0x01330000, 0x00000008, 0x000A0000, 0x00000000, 0x00000000, 0x11860002, 0x00000000, 0x00260028, 0x01340000, 0x00008002, 0x000A0000, 0x00250028, 0x00230028, 0x10060004, 0x00000000, 0x00260019, 0x01130000, 0x00000009, 0x001E0000, 0x00250019, 0x00230019, 0x10870019, 0x19000000, 0x0026001A, 0x01140000, 0x00000009, 0x00020000, 0x0025001A, 0x0023001A, 0x10870005, 0x00000000, 0x0026000C, 0x00FB0000, 0x00000009, 0x00140000, 0x0025000C, 0x0023000C, 0x1087000A, 0x00000000, 0x0026002B, 0x013B0000, 0x00000008, 0x00010000, 0x0025002B, 0x0023002B, 0x10060000, 0x00000000, 0x0026002C, 0x013C0000, 0x00000008, 0x000F0000, 0x0025002C, 0x0023002C, 0x10060002, 0x00000000, 0x0026002A, 0x013A0000, 0x00008002, 0x00030000, 0x0025002A, 0x0023002A, 0x10060000, 0x00000000, 0x00000000, 0x01380000, 0x00000008, 0x00050000, 0x00000000, 0x00000000, 0x10060000, 0x00000000, 0x00260029, 0x01350000, 0x00008002, 0x00060000, 0x00250029, 0x00230029, 0x10060003, 0x00000000, 0x0026000F, 0x00FE0000, 0x00000009, 0x00030000, 0x0025000F, 0x0023000F, 0x11870000, 0x05000000, 0x00260015, 0x01070000, 0x00000009, 0x00010000, 0x00250015, 0x00230015, 0x10870001, 0x02000000, 0x00260014, 0x01060000, 0x00000009, 0x00010000, 0x00250014, 0x00230014, 0x10870000, 0x03000000, 0x00260010, 0x00FF0000, 0x00000009, 0x00020000, 0x00250010, 0x00230010, 0x10870000, 0x05000000, 0x00260011, 0x01000000, 0x00000009, 0x00020000, 0x00250011, 0x00230011, 0x10870005, 0x00000000, 0x00260012, 0x01010000, 0x00000009, 0x00020000, 0x00250012, 0x00230012, 0x10870003, 0x03000000, 0x00260013, 0x01020000, 0x00000009, 0x00030000, 0x00250013, 0x00230013, 0x10870005, 0x00000000, 0x00260018, 0x01120000, 0x00000009, 0x00320000, 0x00250018, 0x00230018, 0x10870000, 0x32000000, 0x00260017, 0x01110000, 0x00000009, 0x000A0000, 0x00250017, 0x00230017, 0x11870000, 0x0A000000, 0x00260016, 0x01100000, 0x00000009, 0x00030000, 0x00250016, 0x00230016, 0x11870000, 0x05000000, 0x0026001B, 0x01030000, 0x00000009, 0x00020000, 0x0025001B, 0x0023001B, 0x10870000, 0x03000000, 0x0026001C, 0x01040000, 0x00000009, 0x00010000, 0x0025001C, 0x0023001C, 0x10870000, 0x03000000, 0x0026001D, 0x01050000, 0x00000009, 0x00040000, 0x0025001D, 0x0023001D, 0x10870003, 0x02000000, 0x0026001E, 0x01080000, 0x00000009, 0x00050000, 0x0025001E, 0x0023001E, 0x1087000F, 0x00000000, 0x0026001F, 0x01090000, 0x00000009, 0x00020000, 0x0025001F, 0x0023001F, 0x10870000, 0x05000000, 0x00260020, 0x010A0000, 0x00000009, 0x00030000, 0x00250020, 0x00230020, 0x10870000, 0x01000000, 0x00260021, 0x010B0000, 0x00000009, 0x00020000, 0x00250021, 0x00230021, 0x10870005, 0x00000000, 0x00260022, 0x010C0000, 0x00008003, 0x00010000, 0x00250022, 0x00230022, 0x10060003, 0x00000000, 0x00260023, 0x010D0000, 0x00000009, 0x00070000, 0x00250023, 0x00230023, 0x1087000F, 0x00000000, 0x00260024, 0x010E0000, 0x00000009, 0x00010000, 0x00250024, 0x00230024, 0x10870000, 0x05000000, 0x00260025, 0x010F0000, 0x00000009, 0x00030000, 0x00250025, 0x00230025, 0x10870005, 0x00000000, 0x0026002D, 0x00010000, 0x00000009, 0x000A0000, 0x0025002D, 0x0023002D, 0x11870004, 0x04000000, 0x0026002E, 0x00020000, 0x00000009, 0x000A0000, 0x0025002E, 0x0023002E, 0x10870005, 0x0F000000, 0x00260035, 0x00030000, 0x00000009, 0x004B0000, 0x00250035, 0x00230035, 0x10870032, 0x05000000, 0x00260036, 0x00040000, 0x00000009, 0x00640000, 0x00250036, 0x00230036, 0x10870032, 0x0A000000, 0x00260037, 0x00050000, 0x00000009, 0x00960000, 0x00250037, 0x00230037, 0x10870032, 0x32000000, 0x00260038, 0x00060000, 0x00000009, 0x000A0000, 0x00250038, 0x00230038, 0x10870007, 0x07000000, 0x00260039, 0x00070000, 0x00000009, 0x00050000, 0x00250039, 0x00230039, 0x10870006, 0x02000000, 0x0026003C, 0x00080000, 0x00000009, 0x00140000, 0x0025003C, 0x0023003C, 0x1087000A, 0x0A000000, 0x0026003B, 0x00090000, 0x00000009, 0x002D0000, 0x0025003B, 0x0023003B, 0x1087001E, 0x0A000000, 0x0026003A, 0x000A0000, 0x00000009, 0x000F0000, 0x0025003A, 0x0023003A, 0x1087000F, 0x05000000, 0x0026003D, 0x000B0000, 0x00000009, 0x00320000, 0x0025003D, 0x0023003D, 0x1087001E, 0x14000000, 0x0026003F, 0x000E0000, 0x00000009, 0x000F0000, 0x0025003F, 0x0023003F, 0x10870014, 0x14000000, 0x00260042, 0x000C0000, 0x00000009, 0x00190000, 0x00250042, 0x00230042, 0x11870000, 0x28000000, 0x0026003E, 0x000D0000, 0x00000009, 0x000A0000, 0x0025003E, 0x0023003E, 0x1087000A, 0x0A000000, 0x00260040, 0x000F0000, 0x00000009, 0x003C0000, 0x00250040, 0x00230040, 0x10870028, 0x28000000, 0x00260041, 0x00100000, 0x00000009, 0x000A0000, 0x00250041, 0x00230041, 0x11870000, 0x14000000, 0x00260043, 0x00110000, 0x00000009, 0x000A0000, 0x00250043, 0x00230043, 0x10870000, 0x14000000, 0x00260044, 0x00120000, 0x00000009, 0x000A0000, 0x00250044, 0x00230044, 0x10870000, 0x0F000000, 0x00260045, 0x00130000, 0x00000009, 0x00010000, 0x00250045, 0x00230045, 0x10870001, 0x01000000, 0x00260046, 0x00140000, 0x00000009, 0x00030000, 0x00250046, 0x00230046, 0x11870000, 0x07000000, 0x00260032, 0x00150000, 0x00000009, 0x00140000, 0x00250032, 0x00230032, 0x1087000A, 0x05000000, 0x00260033, 0x00160000, 0x00000009, 0x00230000, 0x00250033, 0x00230033, 0x1087000A, 0x0A000000, 0x00260034, 0x00170000, 0x00000009, 0x00640000, 0x00250034, 0x00230034, 0x1087000A, 0x32000000, 0x00260047, 0x00180000, 0x00000009, 0x00070000, 0x00250047, 0x00230047, 0x10870006, 0x04000000, 0x00260048, 0x00190000, 0x00008003, 0x000A0000, 0x00250048, 0x00230048, 0x10060006, 0x00000000, 0x00260049, 0x001A0000, 0x00000009, 0x00070000, 0x00250049, 0x00230049, 0x1087000A, 0x00000000, 0x0026002F, 0x001B0000, 0x00000009, 0x000A0000, 0x0025002F, 0x0023002F, 0x10870005, 0x05000000, 0x0026004A, 0x001C0000, 0x00000009, 0x000F0000, 0x0025004A, 0x0023004A, 0x10870000, 0x14000000, 0x0026004B, 0x001D0000, 0x00000009, 0x00190000, 0x0025004B, 0x0023004B, 0x10870000, 0x0F000000, 0x0026004C, 0x001E0000, 0x00000009, 0x00140000, 0x0025004C, 0x0023004C, 0x108700FF, 0x14000000, 0x0026004D, 0x001F0000, 0x00000009, 0x000F0000, 0x0025004D, 0x0023004D, 0x10870000, 0x14000000, 0x0026004E, 0x00200000, 0x00000009, 0x000C0000, 0x0025004E, 0x0023004E, 0x10870003, 0x0F000000, 0x0026004F, 0x00210000, 0x00000009, 0x000F0000, 0x0025004F, 0x0023004F, 0x10870005, 0x0F000000, 0x00260050, 0x00220000, 0x00000009, 0x00640000, 0x00250050, 0x00230050, 0x10870000, 0x40000000, 0x00260051, 0x00230000, 0x00000009, 0x000A0000, 0x00250051, 0x00230051, 0x10860000, 0x00000000, 0x00260052, 0x00240000, 0x00000009, 0x000C0000, 0x00250052, 0x00230052, 0x10870000, 0x0F000000, 0x00260053, 0x00250000, 0x00000009, 0x000F0000, 0x00250053, 0x00230053, 0x1087000F, 0x00000000, 0x00260054, 0x00260000, 0x00000009, 0x00060000, 0x00250054, 0x00230054, 0x1087000A, 0x00000000, 0x00260055, 0x00270000, 0x00000009, 0x00060000, 0x00250055, 0x00230055, 0x10870000, 0x0A000000, 0x00260030, 0x00280000, 0x00000009, 0x00190000, 0x00250030, 0x00230030, 0x10870005, 0x0A000000, 0x00260056, 0x00290000, 0x00000009, 0x000A0000, 0x00250056, 0x00230056, 0x10870008, 0x08000000, 0x00260057, 0x002A0000, 0x00000009, 0x00140000, 0x00250057, 0x00230057, 0x1087000F, 0x0F000000, 0x00260031, 0x002B0000, 0x00000009, 0x004B0000, 0x00250031, 0x00230031, 0x10870005, 0x32000000, 0x00260031, 0x002B0000, 0x00000009, 0x004B0000, 0x00250031, 0x00230031, 0x10870005, 0x32000000, 0x00260031, 0x002B0000, 0x00000009, 0x004B0000, 0x00250031, 0x00230031, 0x10870005, 0x32000000, 0x00260031, 0x002B0000, 0x00000009, 0x004B0000, 0x00250031, 0x00230031, 0x10870005, 0x32000000, 0x00260031, 0x002B0000, 0x00000009, 0x004B0000, 0x00250031, 0x00230031, 0x10870005, 0x32000000, 0x00260031, 0x002B0000, 0x00000009, 0x004B0000, 0x00250031, 0x00230031, 0x10870005, 0x32000000, 0x00260068, 0x00900017, 0x00000000, 0x004B0000, 0x00250068, 0x00230068, 0x10400800, 0x00000000, 0x0026005E, 0x00910004, 0x00000000, 0x004B0000, 0x0025005E, 0x0023005E, 0x10401F00, 0x00000000, 0x00260073, 0x00920043, 0x00000000, 0x00FA0000, 0x00250073, 0x00230073, 0x10403B00, 0x00000000, 0x00260080, 0x00930028, 0x00000000, 0x00640000, 0x00250080, 0x00230080, 0x10404C00, 0x00000000, 0x00260061, 0x0094000D, 0x00000000, 0x00640000, 0x00250061, 0x00230061, 0x10402000, 0x00000000, 0x0026007F, 0x0095005C, 0x00000000, 0x00640000, 0x0025007F, 0x0023007F, 0x10404000, 0x00000000, 0x00260087, 0x0096006D, 0x00000000, 0x00640000, 0x00250087, 0x00230087, 0x10404D00, 0x00000000, 0x00260071, 0x00970035, 0x00000000, 0x00960000, 0x00250071, 0x00230071, 0x10405200, 0x00000000, 0x0026006A, 0x00980018, 0x00000000, 0x00640000, 0x0025006A, 0x0023006A, 0x10400900, 0x00000000, 0x0026006D, 0x00990021, 0x00000000, 0x00640000, 0x0025006D, 0x0023006D, 0x10403500, 0x00000000, 0x00000000, 0x01400000, 0x00000000, 0x00640000, 0x00000000, 0x00000000, 0x10405300, 0x00000000, 0x0026005C, 0x009C0009, 0x00000000, 0x004B0000, 0x0025005C, 0x0023005C, 0x10402100, 0x00000000, 0x00260097, 0x00A0005B, 0x00000000, 0x004B0000, 0x00250097, 0x00230097, 0x10404100, 0x00000000, 0x00260070, 0x00E30024, 0x00000000, 0x00C80000, 0x00250070, 0x00230070, 0x10403800, 0x00000000, 0x00260069, 0x00A4001D, 0x00000000, 0x004B0000, 0x00250069, 0x00230069, 0x10400A00, 0x00000000, 0x0026005D, 0x00A6000A, 0x00000000, 0x004B0000, 0x0025005D, 0x0023005D, 0x10402200, 0x00000000, 0x00000000, 0x00A80014, 0x00000000, 0x001E0000, 0x00000000, 0x00000000, 0x10400B00, 0x00000000, 0x00260081, 0x00A90055, 0x00000000, 0x00640000, 0x00250081, 0x00230081, 0x10404200, 0x00000000, 0x0026008C, 0x00AA005E, 0x00000000, 0x00640000, 0x0025008C, 0x0023008C, 0x10404300, 0x00000000, 0x0026008D, 0x00AB0070, 0x00000000, 0x001E0000, 0x0025008D, 0x0023008D, 0x10405400, 0x00000000, 0x00260093, 0x00AC0050, 0x00000000, 0x00640000, 0x00250093, 0x00230093, 0x10403C00, 0x00000000, 0x00260078, 0x00AD004F, 0x00000000, 0x00320000, 0x00250078, 0x00230078, 0x10405A00, 0x00000000, 0x00000000, 0x00AE0004, 0x00000000, 0x001E0000, 0x00000000, 0x00000000, 0x10402300, 0x00000000, 0x00260094, 0x00AF006F, 0x00000000, 0x000A0000, 0x00250094, 0x00230094, 0x10404E00, 0x00000000, 0x00260072, 0x00B0003A, 0x00000000, 0x00960000, 0x00250072, 0x00230072, 0x10405B00, 0x00000000, 0x00260086, 0x00B10051, 0x00000000, 0x00320000, 0x00250086, 0x00230086, 0x10405F00, 0x00000000, 0x00260095, 0x00B2005A, 0x00000000, 0x004B0000, 0x00250095, 0x00230095, 0x10403D00, 0x00000000, 0x00260074, 0x00B30046, 0x00000000, 0x00FA0000, 0x00250074, 0x00230074, 0x10404500, 0x00000000, 0x00260096, 0x00B40065, 0x00000000, 0x00320000, 0x00250096, 0x00230096, 0x10406300, 0x00000000, 0x0026009A, 0x00B50065, 0x00000000, 0x00C80000, 0x0025009A, 0x0023009A, 0x10405C00, 0x00000000, 0x00260098, 0x00B60069, 0x00000000, 0x00320000, 0x00250098, 0x00230098, 0x10405D00, 0x00000000, 0x00260079, 0x00B7002A, 0x00000000, 0x00640000, 0x00250079, 0x00230079, 0x10405E00, 0x00000000, 0x00260099, 0x00B8005F, 0x00000000, 0x00640000, 0x00250099, 0x00230099, 0x10404400, 0x00000000, 0x00000000, 0x00B90058, 0x00000000, 0x012C0000, 0x00000000, 0x00000000, 0x10406000, 0x00000000, 0x0026009B, 0x00BA0029, 0x00000000, 0x012C0000, 0x0025009B, 0x0023009B, 0x10404F00, 0x00000000, 0x0026009C, 0x00BB0063, 0x00000000, 0x00320000, 0x0025009C, 0x0023009C, 0x10406100, 0x00000000, 0x0026009D, 0x00BC0064, 0x00000000, 0x00320000, 0x0025009D, 0x0023009D, 0x10406E00, 0x00000000, 0x0026007B, 0x00BD003F, 0x00000000, 0x00FA0000, 0x0025007B, 0x0023007B, 0x10406200, 0x00000000, 0x0026006E, 0x00BE0022, 0x00000000, 0x00C80000, 0x0025006E, 0x0023006E, 0x10403600, 0x00000000, 0x00260066, 0x00A7001C, 0x00000000, 0x004B0000, 0x00250066, 0x00230066, 0x10400D00, 0x00000000, 0x0026006C, 0x009B001A, 0x00000000, 0x00C80000, 0x0025006C, 0x0023006C, 0x10400E00, 0x00000000, 0x00260064, 0x009D0015, 0x00000000, 0x00320000, 0x00250064, 0x00230064, 0x10400F00, 0x00000000, 0x0026005A, 0x00A10005, 0x00000000, 0x00320000, 0x0025005A, 0x0023005A, 0x10402500, 0x00000000, 0x00260065, 0x009E0016, 0x00000000, 0x00640000, 0x00250065, 0x00230065, 0x10401100, 0x00000000, 0x0026005B, 0x00A20006, 0x00000000, 0x00640000, 0x0025005B, 0x0023005B, 0x10402700, 0x00000000, 0x00260084, 0x00D10053, 0x00000000, 0x00320000, 0x00250084, 0x00230084, 0x10406400, 0x00000000, 0x00000000, 0x00A3000F, 0x00000000, 0x00320000, 0x00000000, 0x00000000, 0x10402900, 0x00000000, 0x00000000, 0x009F001F, 0x00000000, 0x00320000, 0x00000000, 0x00000000, 0x10401300, 0x00000000, 0x00000000, 0x00D4002D, 0x00000000, 0x012C0000, 0x00000000, 0x00000000, 0x10406500, 0x00000000, 0x00260085, 0x00D20052, 0x00000000, 0x00320000, 0x00250085, 0x00230085, 0x10404600, 0x00000000, 0x00260083, 0x00D30054, 0x00000000, 0x00320000, 0x00250083, 0x00230083, 0x10404700, 0x00000000, 0x00260076, 0x00C9004E, 0x00000000, 0x00640000, 0x00250076, 0x00230076, 0x10403E00, 0x00000000, 0x00260082, 0x00C60056, 0x00000000, 0x012C0000, 0x00250082, 0x00230082, 0x10404800, 0x00000000, 0x00000000, 0x00C70057, 0x00000000, 0x00640000, 0x00000000, 0x00000000, 0x10406600, 0x00000000, 0x00260077, 0x00CA004D, 0x00000000, 0x00640000, 0x00250077, 0x00230077, 0x10404900, 0x00000000, 0x0026006B, 0x009A0019, 0x00000000, 0x00960000, 0x0025006B, 0x0023006B, 0x10401400, 0x00000000, 0x00000000, 0x00A5000E, 0x00000000, 0x004B0000, 0x00000000, 0x00000000, 0x10402A00, 0x00000000, 0x00000000, 0x00BF0042, 0x00000000, 0x012C0000, 0x00000000, 0x00000000, 0x10406700, 0x00000000, 0x0026007C, 0x00CB0061, 0x00000000, 0x004B0000, 0x0025007C, 0x0023007C, 0x10406800, 0x00000000, 0x0026007D, 0x00CC0062, 0x00000000, 0x004B0000, 0x0025007D, 0x0023007D, 0x10406900, 0x00000000, 0x00260089, 0x00CF006C, 0x00000000, 0x00960000, 0x00250089, 0x00230089, 0x10406A00, 0x00000000, 0x0026008A, 0x00CD006B, 0x00000000, 0x00640000, 0x0025008A, 0x0023008A, 0x10406B00, 0x00000000, 0x0026009E, 0x00D00068, 0x00000000, 0x00C80000, 0x0025009E, 0x0023009E, 0x10406C00, 0x00000000, 0x0026008B, 0x00CE006A, 0x00000000, 0x00320000, 0x0025008B, 0x0023008B, 0x10406D00, 0x00000000, 0x00260088, 0x00C8006E, 0x00000000, 0x00C80000, 0x00250088, 0x00230088, 0x10405000, 0x00000000, 0x00260058, 0x00C00001, 0x00000000, 0x00320000, 0x00250058, 0x00230058, 0x10402B00, 0x00000000, 0x00000000, 0x00C10002, 0x00000000, 0x00640000, 0x00000000, 0x00000000, 0x10402C00, 0x00000000, 0x00260059, 0x00C20003, 0x00000000, 0x00C80000, 0x00250059, 0x00230059, 0x10402D00, 0x00000000, 0x00260062, 0x00C30011, 0x00000000, 0x00320000, 0x00250062, 0x00230062, 0x10401500, 0x00000000, 0x00000000, 0x00C40012, 0x00000000, 0x00640000, 0x00000000, 0x00000000, 0x10401600, 0x00000000, 0x00260063, 0x00C50013, 0x00000000, 0x00C80000, 0x00250063, 0x00230063, 0x10401700, 0x00000000, 0x00260062, 0x01400011, 0x00000000, 0x00320000, 0x00250062, 0x00230062, 0x10401700, 0x00000000, 0x00260062, 0x01400011, 0x00000000, 0x00320000, 0x00250062, 0x00230062, 0x10401700, 0x00000000, 0x0026007E, 0x00E00031, 0x00000000, 0x00320000, 0x0025007E, 0x0023007E, 0x10407100, 0x00000000, 0x00000000, 0x00E10034, 0x00000000, 0x00640000, 0x00000000, 0x00000000, 0x10407200, 0x00000000, 0x00260067, 0x00D8001B, 0x00000000, 0x004B0000, 0x00250067, 0x00230067, 0x10401800, 0x00000000, 0x00000000, 0x0140001E, 0x00000000, 0x00640000, 0x00000000, 0x00000000, 0x10401900, 0x00000000, 0x00000000, 0x00E20027, 0x00000000, 0x012C0000, 0x00000000, 0x00000000, 0x10407300, 0x00000000, 0x00260060, 0x00DA000C, 0x00000000, 0x00640000, 0x00250060, 0x00230060, 0x10402E00, 0x00000000, 0x0026005F, 0x00D90008, 0x00000000, 0x004B0000, 0x0025005F, 0x0023005F, 0x10402F00, 0x00000000, 0x00260075, 0x00DB0049, 0x00000000, 0x00960000, 0x00250075, 0x00230075, 0x10403300, 0x00000000, 0x00000000, 0x00DC000B, 0x00000000, 0x00640000, 0x00000000, 0x00000000, 0x10403000, 0x00000000, 0x0026007E, 0x00E00031, 0x00000000, 0x00320000, 0x0025007E, 0x0023007E, 0x10407100, 0x00000000, 0x0026007E, 0x00E00031, 0x00000000, 0x00320000, 0x0025007E, 0x0023007E, 0x10407100, 0x00000000, 0x00260071, 0x00970035, 0x00000000, 0x00960000, 0x00250071, 0x00230071, 0x10405200, 0x00000000, 0x00260072, 0x00B0003A, 0x00000000, 0x00960000, 0x00250072, 0x00230072, 0x10405B00, 0x00000000, 0x00260079, 0x00B7002A, 0x00000000, 0x00640000, 0x00250079, 0x00230079, 0x10405E00, 0x00000000, 0x00260079, 0x00B7002A, 0x00000000, 0x00640000, 0x00250079, 0x00230079, 0x10405E00, 0x00000000, 0x0026007B, 0x00BD003F, 0x00000000, 0x00FA0000, 0x0025007B, 0x0023007B, 0x10406200, 0x00000000, 0x0026007B, 0x00BD003F, 0x00000000, 0x00FA0000, 0x0025007B, 0x0023007B, 0x10406200, 0x00000000, 0x00260075, 0x00DB0049, 0x00000000, 0x00960000, 0x00250075, 0x00230075, 0x10403300, 0x00000000, 0x00260075, 0x00DB0049, 0x00000000, 0x00960000, 0x00250075, 0x00230075, 0x10403300, 0x00000000, 0x00260073, 0x00920043, 0x00000000, 0x00FA0000, 0x00250073, 0x00230073, 0x10403B00, 0x00000000, 0x00260073, 0x00920043, 0x00000000, 0x00FA0000, 0x00250073, 0x00230073, 0x10403B00, 0x00000000, 0x00260074, 0x00B30046, 0x00000000, 0x00FA0000, 0x00250074, 0x00230074, 0x10404500, 0x00000000, 0x00260074, 0x00B30046, 0x00000000, 0x00FA0000, 0x00250074, 0x00230074, 0x10404500, 0x00000000, 0x0026007A, 0x00DD002E, 0x00000000, 0x00640000, 0x0025007A, 0x0023007A, 0x10407400, 0x00000000, 0x0026007A, 0x00DD002E, 0x00000000, 0x00640000, 0x0025007A, 0x0023007A, 0x10407400, 0x00000000, 0x0026007A, 0x00DD002E, 0x00000000, 0x00640000, 0x0025007A, 0x0023007A, 0x10407400, 0x00000000, 0x0026006F, 0x00E90023, 0x00000000, 0x00640000, 0x0025006F, 0x0023006F, 0x10407500, 0x00000000, 0x0026009F, 0x00E80025, 0x00000000, 0x00640000, 0x0025009F, 0x0023009F, 0x10407600, 0x00000000, 0x0026008E, 0x00EA0073, 0x00000000, 0x001E0000, 0x0025008E, 0x0023008E, 0x10405500, 0x00000000, 0x0026008F, 0x00EB0071, 0x00000000, 0x001E0000, 0x0025008F, 0x0023008F, 0x10405600, 0x00000000, 0x00260090, 0x00EC0074, 0x00000000, 0x001E0000, 0x00250090, 0x00230090, 0x10405700, 0x00000000, 0x00260091, 0x00ED0072, 0x00000000, 0x001E0000, 0x00250091, 0x00230091, 0x10405800, 0x00000000, 0x00260092, 0x00EE0075, 0x00000000, 0x001E0000, 0x00250092, 0x00230092, 0x10405900, 0x00000000, 0x00260071, 0x00970035, 0x00000000, 0x00960000, 0x00250071, 0x00230071, 0x10405200, 0x00000000, 0x00260071, 0x00970035, 0x00000000, 0x00960000, 0x00250071, 0x00230071, 0x10405200, 0x00000000, 0x00260071, 0x00970035, 0x00000000, 0x00960000, 0x00250071, 0x00230071, 0x10405200, 0x00000000, 0x00260072, 0x00B0003A, 0x00000000, 0x00960000, 0x00250072, 0x00230072, 0x10405B00, 0x00000000, 0x00260072, 0x00B0003A, 0x00000000, 0x00960000, 0x00250072, 0x00230072, 0x10405B00, 0x00000000, 0x00260072, 0x00B0003A, 0x00000000, 0x00960000, 0x00250072, 0x00230072, 0x10405B00, 0x00000000, 0x00000000, 0x00F0005D, 0x00000000, 0x00640000, 0x00000000, 0x00000000, 0x10404A00, 0x00000000, 0x00260092, 0x00EE0075, 0x00000000, 0x001E0000, 0x00250092, 0x00230092, 0x10405900, 0x00000000, 0x00260092, 0x00EE0075, 0x00000000, 0x001E0000, 0x00250092, 0x00230092, 0x10405900, 0x00000000, 0x00260092, 0x00EE0075, 0x00000000, 0x001E0000, 0x00250092, 0x00230092, 0x10405900, 0x00000000, 0x00260092, 0x00EE0075, 0x00000000, 0x001E0000, 0x00250092, 0x00230092, 0x10405900, 0x00000000, 0x00000000, 0x01490000, 0x00000008, 0x00010000, 0x00000000, 0x00000000, 0x10400000, 0x00000000, 0x00000000, 0x00310000, 0x00000008, 0xFFFF0000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00320000, 0x00000008, 0x00010000, 0x00000000, 0x00000000, 0x02000000, 0x00000000, 0x00000000, 0x00330000, 0x00000008, 0xFFFF0000, 0x00000000, 0x00000000, 0x02000000, 0x00000000, 0x00000000, 0x00340000, 0x00000008, 0xFFFF0000, 0x00000000, 0x00000000, 0x02000000, 0x00000000, 0x00000000, 0x00350000, 0x00000008, 0xFFFF0000, 0x00000000, 0x00000000, 0x12000000, 0x00000000, 0x00000000, 0x00360000, 0x00000008, 0x00010000, 0x00000000, 0x00000000, 0x12000000, 0x00000000, 0x0026010C, 0x00370000, 0x00000008, 0x00010000, 0x00000000, 0x00000000, 0x12000000, 0x00000000, 0x00000000, 0x01400000, 0x00000008, 0x00000000, 0x00000000, 0x00000000, 0x10000000, 0x00000000, 0x00000000, 0x01410000, 0x00000008, 0x00000000, 0x00000000, 0x00000000, 0x10000000, 0x00000000, 0x00000000, 0x01420000, 0x00000008, 0x00000000, 0x00000000, 0x00000000, 0x10000000, 0x00000000, 0x00000000, 0x01430000, 0x00000008, 0x00000000, 0x00000000, 0x00000000, 0x10000000, 0x00000000, 0x00000000, 0x01440000, 0x00000008, 0x00000000, 0x00000000, 0x00000000, 0x10000000, 0x00000000, 0x00000000, 0x01450000, 0x00000008, 0x00000000, 0x00000000, 0x00000000, 0x10000000, 0x00000000, 0x00000000, 0x01460000, 0x00000008, 0x00000000, 0x00000000, 0x00000000, 0x10000000, 0x00000000, 0x00000000, 0x01470000, 0x00000008, 0x00000000, 0x00000000, 0x00000000, 0x10000000, 0x00000000, 0x00000000, 0x01480000, 0x00000008, 0x00000000, 0x00000000, 0x00000000, 0x10000000, 0x00000000, 0x00000000, 0x014A0000, 0x00000008, 0x00000000, 0x00000000, 0x00000000, 0x10000000, 0x00000000, 0x00000000, 0x014B0000, 0x00000008, 0x00000000, 0x00000000, 0x00000000, 0x10000000, 0x00000000, 0x00000000, 0x014C0000, 0x00000008, 0x00000000, 0x00000000, 0x00000000, 0x10000000, 0x00000000, 0x00000000, 0x014D0000, 0x00000008, 0x00000000, 0x00000000, 0x00000000, 0x10000000, 0x00000000, 0x00000000, 0x014E0000, 0x00000008, 0x00000000, 0x00000000, 0x00000000, 0x10000000, 0x00000000, 0x00000000, 0x014F0000, 0x00000008, 0x00000000, 0x00000000, 0x00000000, 0x10000000, 0x00000000, 0x00000000, 0x01500000, 0x00000008, 0x00000000, 0x00000000, 0x00000000, 0x10000000, 0x00000000, 0x00000000, 0x00000000, 0x800827D8, 0x80082808, 0x80082838, 0x80082868, 0x80082898, 0x800828C8, 0x800828F8, 0x80082928, 0x80082958, 0x80082988, 0x800829B8, 0x800829E8, 0x80082A18, 0x80082A48, 0x80082A78, 0x80082AA8, 0x80082AD8, 0x80082B08, 0x80082B38, 0x80082B68, 0x80082B98, 0x80082BC8, 0x80082BF8, 0x80082C28, 0x80082C58, 0x80082C88, 0x80082CB8, 0x80082CE8, 0x80082D18, 0x80082D48, 0x80082D78, 0x80082DA8, 0x80082DD8, 0x80082E08, 0x80082E38, 0x80082E68, 0x80082E98, 0x80082EC8, 0x80082EF8, 0x80082F28, 0x80082F58, 0x80082F88, 0x80082FB8, 0x80082FE8, 0x80083018, 0x80083048, 0x80083078, 0x800830A8, 0x800830D8, 0x80083108, 0x80083138, 0x80083168, 0x80083198, 0x800831C8, 0x800831F8, 0x80083228, 0x80083258, 0x80083288, 0x800832B8, 0x800832E8, 0x80083318, 0x80083348, 0x80083378, 0x800833A8, 0x800833D8, 0x80083408, 0x80083438, 0x80083468, 0x80083498, 0x800834C8, 0x800834F8, 0x80083528, 0x80083558, 0x80083588, 0x800835B8, 0x800835E8, 0x80083618, 0x80083648, 0x80083678, 0x800836A8, 0x800836D8, 0x80083708, 0x80083738, 0x80083768, 0x80083798, 0x800837C8, 0x800837F8, 0x80083828, 0x80083858, 0x80083888, 0x800838B8, 0x800838E8, 0x80083918, 0x80083948, 0x80083978, 0x800839A8, 0x80080820, 0x80080820, 0x80080868, 0x80080868, 0x800807F0, 0x800807F0, 0x80080FF0, 0x80080FF0, 0x800811A0, 0x800811A0, 0x80081200, 0x80081200, 0x80081260, 0x80081260, 0x800812D8, 0x800812D8, 0x80081308, 0x80081308, 0x80081338, 0x80081338, 0x80081368, 0x80081368, 0x80081398, 0x80081398, 0x800813C8, 0x800813C8, 0x800813F8, 0x800813F8, 0x80081428, 0x80081428, 0x80081458, 0x80081458, 0x80081488, 0x80081488, 0x800814B8, 0x800814B8, 0x800814E8, 0x800814E8, 0x80081518, 0x80081518, 0x80081548, 0x80081548, 0x80081578, 0x80081578, 0x800815A8, 0x800815A8, 0x800815D8, 0x800815D8, 0x80081608, 0x80081608, 0x80081638, 0x80081638, 0x80081668, 0x80081668, 0x80081698, 0x80081698, 0x800816C8, 0x800816C8, 0x800816F8, 0x800816F8, 0x80081728, 0x80081728, 0x80081758, 0x80081758, 0x80081788, 0x80081788, 0x800817B8, 0x800817B8, 0x800817E8, 0x800817E8, 0x80081818, 0x80081818, 0x80081848, 0x80081848, 0x80081878, 0x80081878, 0x800818A8, 0x800818A8, 0x800818D8, 0x800818D8, 0x80081908, 0x80081908, 0x80081938, 0x80081938, 0x80081968, 0x80081968, 0x80081998, 0x80081998, 0x800819C8, 0x800819C8, 0x800819F8, 0x800819F8, 0x80081A28, 0x80081A28, 0x80081A58, 0x80081A58, 0x80081A88, 0x80081A88, 0x80081AB8, 0x80081AB8, 0x80081AE8, 0x80081AE8, 0x80081B18, 0x80081B18, 0x80081B48, 0x80081B48, 0x80081B78, 0x80081B78, 0x80081BA8, 0x80081BA8, 0x80081BD8, 0x80081BD8, 0x80081C08, 0x80081C08, 0x80081C38, 0x80081C38, 0x80081C68, 0x80081C68, 0x80081C98, 0x80081C98, 0x80081CC8, 0x80081CC8, 0x80081CF8, 0x80081CF8, 0x80081D28, 0x80081D28, 0x80081D58, 0x80081D58, 0x80081D88, 0x80081D88, 0x80081DB8, 0x80081DB8, 0x80081DE8, 0x80081DE8, 0x80081E18, 0x80081E18, 0x80081E48, 0x80081E48, 0x80081E78, 0x80081E78, 0x80081EA8, 0x80081EA8, 0x80081ED8, 0x80081ED8, 0x80081F08, 0x80081F08, 0x80081F38, 0x80081F38, 0x80081F68, 0x80081F68, 0x80081F98, 0x80081F98, 0x80081FC8, 0x80081FC8, 0x80081FF8, 0x80081FF8, 0x80082028, 0x80082028, 0x80082058, 0x80082058, 0x80082088, 0x80082088, 0x800820B8, 0x800820B8, 0x800820E8, 0x800820E8, 0x80082118, 0x80082118, 0x80082148, 0x80082148, 0x80082178, 0x80082178, 0x800821A8, 0x800821A8, 0x800821D8, 0x80082208, 0x80082238, 0x80082268, 0x80082298, 0x800822C8, 0x800822F8, 0x80082328, 0x80082358, 0x80082388, 0x800823B8, 0x800823E8, 0x80082418, 0x80082448, 0x80082478, 0x800824A8, 0x800839D8, 0x80083A08, 0x80083A38, 0x80083A68, 0x80083A98, 0x80083AC8, 0x80083AF8, 0x80083B28, 0x80083B58, 0x80083B88, 0x80083BB8, 0x80083BE8, 0x80083C18, 0x80083C48, 0x80083C78, 0x80083CA8, 0x80083CD8, 0x80083D08, 0x80083D38, 0x80083D68, 0x80083D98, 0x80083DC8, 0x80083DF8, 0x80083E28, 0x80083E58, 0x80083E88, 0x80083EB8, 0x80083EE8, 0x80083F18, 0x80083F48, 0x80083F78, 0x80083FA8, 0x80083FD8, 0x80084008, 0x80084038, 0x80084068, 0x80084098, 0x800840C8, 0x800840F8, 0x80084128, 0x80084158, 0x80084188, 0x800841B8, 0x800841E8, 0x80084218, 0x80084248, 0x80084278, 0x800842A8, 0x800842D8, 0x80084308, 0x80084338, 0x80084368, 0x80084398, 0x800843C8, 0x800843F8, 0x80084428, 0x80084458, 0x80084488, 0x800844B8, 0x800844E8, 0x80084518, 0x80084548, 0x80084578, 0x800845A8, 0x800845D8, 0x80084608, 0x80084638, 0x80084668, 0x80084698, 0x800846C8, 0x800846F8, 0x80084728, 0x80084758, 0x80084788, 0x800847B8, 0x800847E8, 0x80084818, 0x80084848, 0x80084878, 0x800848A8, 0x800848D8, 0x80084908, 0x80084938, 0x80084968, 0x80084998, 0x800849C8, 0x800849F8, 0x80084A28, 0x80084A58, 0x80084A88, 0x80084AB8, 0x80084AE8, 0x80084B18, 0x80084B48, 0x80084B78, 0x80084BA8, 0x80084BD8, 0x80084C08, 0x80084C38, 0x80084C68, 0x80084C98, 0x80084CC8, 0x80084CF8, 0x80084D28, 0x80084D58, 0x80084D88, 0x80084DB8, 0x80084DE8, 0x80084E18, 0x80084E48, 0x80084E78, 0x80084EA8, 0x80084ED8, 0x80084F08, 0x80084F38, 0x80084F68, 0x80084F98, 0x80084FC8, 0x80084FF8, 0x80085028, 0x80085058, 0x80085088, 0x800850B8, 0x800850E8, 0x80085118, 0x80085148, 0x80085178, 0x800851A8, 0x800851D8, 0x80085208, 0x80085238, 0x80085268, 0x80085298, 0x800852C8, 0x800852F8, 0x80085328, 0x80085358, 0x80085388, 0x800853B8, 0x800853E8, 0x80085418, 0x80085448, 0x80085478, 0x800854A8, 0x800854D8, 0x80085508, 0x80085538, 0x80085568, 0x80085598, 0x800855C8, 0x800855F8, 0x80085628, 0x80085658, 0x80085688, 0x800856B8, 0x800856E8, 0x80085718, 0x80085748, 0x80085778, 0x800857A8, 0x800857D8, 0x80085808, 0x80085838, 0x80085868, 0x80085898, 0x800858C8, 0x800858F8, 0x80085928, 0x80085958, 0x80085988, 0x800859B8, 0x800859E8, 0x80085A18, 0x80085A48, 0x80085A78, 0x80085AA8, 0x80085AD8, 0x80085B08, 0x80085B38, 0x80085B68, 0x80085B98, 0x80085BC8, 0x80085BF8, 0x80085C28, 0x80085C58, 0x80085C88, 0x80085CB8, 0x80085CE8, 0x80085D18, 0x80085D48, 0x80085D78, 0x80085DA8, 0x80085DD8, 0x80085E08, 0x80085E38, 0x80085E68, 0x80085E98, 0x80085EC8, 0x80085EF8, 0x80085F28, 0x80085F58, 0x80085F88, 0x80085FB8, 0x80085FE8, 0x80086018, 0x80086048, 0x80086078, 0x800860A8, 0x800866D8, 0x80086708, 0x80086738, 0x80086768, 0x80086798, 0x800867C8, 0x800867F8, 0x80086828, 0x80086858, 0x80086888, 0x800868B8, 0x800868E8, 0x80086918, 0x80086948, 0x80086978, 0x800869A8, 0x800869D8, 0x80086A08, 0x80086A38, 0x80086A68, 0x80086A98, 0x80086AC8, 0x80086AF8, 0x80086B28, 0x80086B58, 0x80086B88, 0x80086BB8, 0x80086BE8, 0x80086C18, 0x80086C48, 0x80086C78, 0x80086CA8, 0x80086CD8, 0x80086D08, 0x80086D38, 0x80086D68, 0x80086D98, 0x80086DC8, 0x80086DF8, 0x80086E28, 0x80086E58, 0x80086E88, 0x80086EB8, 0x80086EE8, 0x80086F18, 0x80086F48, 0x80086F78, 0x80086FA8, 0x80086FD8, 0x80087008, 0x80087038, 0x80087068, 0x80087098, 0x800870C8, 0x800870F8, 0x80087128, 0x80087158, 0x80087188, 0x800871B8, 0x800871E8, 0x80087218, 0x80087248, 0x80087278, 0x800872A8, 0x800872D8, 0x80087308, 0x80087338, 0x80087368, 0x80087398, 0x800873C8, 0x800873F8, 0x80087428, 0x80087458, 0x80087488, 0x800874B8, 0x800874E8, 0x80087518, 0x80087548, 0x80087578, 0x800875A8, 0x800860D8, 0x80086108, 0x80086138, 0x80086168, 0x80086198, 0x800861C8, 0x800861F8, 0x80086228, 0x80086258, 0x80086288, 0x800862B8, 0x800862E8, 0x80086318, 0x80086348, 0x80086378, 0x800863A8, 0x800863D8, 0x80086408, 0x80086438, 0x80086468, 0x80086498, 0x800864C8, 0x800864F8, 0x80086528, 0x80086558, 0x80086588, 0x800865B8, 0x800865E8, 0x80086618, 0x80086648, 0x80086678, 0x800866A8, 0x800875D8, 0x80087608, 0x80087638, 0x80087668, 0x80087698, 0x800876C8, 0x800876F8, 0x80087728, 0x80087758, 0x80087788, 0x800877B8, 0x800877E8, 0x80087818, 0x80087848, 0x80087878, 0x800878A8, 0x800824D8, 0x80082508, 0x80082538, 0x80082568, 0x80082598, 0x800825C8, 0x800825F8, 0x80082628, 0x80082658, 0x80082688, 0x800826B8, 0x800826E8, 0x80082718, 0x80082748, 0x80082778, 0x800827A8, 0x800804F0, 0x800804F0, 0x80080520, 0x80080520, 0x80080550, 0x80080550, 0x80080580, 0x80080580, 0x800805B0, 0x800805B0, 0x800805E0, 0x800805E0, 0x80080610, 0x80080610, 0x80080640, 0x80080640, 0x80080670, 0x80080670, 0x80109338, 0x801093D8, 0x800806A0, 0x800806A0, 0x800806D0, 0x800806D0, 0x80080700, 0x80080700, 0x80080730, 0x80080730, 0x80080760, 0x80080760, 0x80080790, 0x80080790, 0x800807C0, 0x800807C0, 0x00000001, 0x000000FF, 0x00000000, 0x00000200, 0x00000000, 0x00000000, 0x00000000, 0x00000001, 0x000000FF, 0x00000000, 0x00000200, 0x00000000, 0x00000000, 0x00000000, 0x00000001, 0x000000FF, 0x00000220, 0x00000420, 0x00000000, 0x00000000, 0x00000000, 0x00000001, 0x000000FF, 0x00000440, 0x00000640, 0x00000000, 0x00000000, 0x00000000, 0x00000001, 0x000000FF, 0x00000660, 0x00000860, 0x00000000, 0x00000000, 0x00000000, 0x00000001, 0x000000FF, 0x00000880, 0x00000A80, 0x00000000, 0x00000000, 0x00000000, 0x00000001, 0x000000FF, 0x00000AA0, 0x00000CA0, 0x00000000, 0x00000000, 0x00000000, 0x00000001, 0x000000FF, 0x00000CC0, 0x00000EC0, 0x00000000, 0x00000000, 0x00000000, 0x00000001, 0x000000FF, 0x00000EE0, 0x000010E0, 0x00000000, 0x00000000, 0x00000000, 0x00000001, 0x000000FF, 0x00001100, 0x00001300, 0x00000000, 0x00000000, 0x00000000, 0x00000001, 0x000000FF, 0x0002D940, 0x0002DB40, 0x00000000, 0x00000000, 0x00000000, 0x00000001, 0x000000FF, 0x0002DB80, 0x0002DD80, 0x00000000, 0x00000000, 0x00000000, 0x00000001, 0x000000FF, 0x0002DDC0, 0x0002DFC0, 0x00000000, 0x00000000, 0x00000000, 0x00000001, 0x000000FF, 0x0002E000, 0x0002E200, 0x00000000, 0x00000000, 0x00000000, 0x00000001, 0x000000FF, 0x0002E240, 0x0002E440, 0x00000000, 0x00000000, 0x00000000, 0x00000001, 0x000000FF, 0x0002E480, 0x0002E680, 0x00000000, 0x00000000, 0x00000000, 0x00000001, 0x000000FF, 0x0002E6C0, 0x0002E8C0, 0x00000000, 0x00000000, 0x00000000, 0x00000001, 0x0000003C, 0x00013BC0, 0x00013DC0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00013E00, 0x00014000, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00014040, 0x00014240, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00014280, 0x00014480, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x000144C0, 0x000146C0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00014700, 0x00014900, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00014940, 0x00014B40, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00014B80, 0x00014D80, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00001320, 0x00001520, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00001540, 0x00001740, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00001760, 0x00001960, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00001980, 0x00001B80, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00001BA0, 0x00001DA0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00001DC0, 0x00001FC0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00001FE0, 0x000021E0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00002200, 0x00002400, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00009020, 0x00009220, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00009240, 0x00009440, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00009460, 0x00009660, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00009680, 0x00009880, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x000098A0, 0x00009AA0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00009AC0, 0x00009CC0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00009CE0, 0x00009EE0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00009F00, 0x0000A100, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0000A120, 0x0000A320, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0000A340, 0x0000A540, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0000A560, 0x0000A760, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0000A780, 0x0000A980, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0000A9A0, 0x0000ABA0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0000ABC0, 0x0000ADC0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0000ADE0, 0x0000AFE0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0000B000, 0x0000B200, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0000B220, 0x0000B420, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0000B440, 0x0000B640, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0000B660, 0x0000B860, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0000B880, 0x0000BA80, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0000BAA0, 0x0000BCA0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0000BCC0, 0x0000BEC0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0000BEE0, 0x0000C0E0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0000C100, 0x0000C300, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0000C320, 0x0000C520, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0000C540, 0x0000C740, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0000C760, 0x0000C960, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0000C980, 0x0000CB80, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0000CBA0, 0x0000CDA0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0000CDC0, 0x0000CFC0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0000CFE0, 0x0000D1E0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0000D200, 0x0000D400, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0000D420, 0x0000D620, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0000D640, 0x0000D840, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0000D860, 0x0000DA60, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0000DAA0, 0x0000DCA0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0000DCC0, 0x0000DEC0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0000DEE0, 0x0000E0E0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0000E100, 0x0000E300, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0000E320, 0x0000E520, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0000E540, 0x0000E740, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0000E760, 0x0000E960, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0000E980, 0x0000EB80, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0000EBC0, 0x0000EDC0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0000EDE0, 0x0000EFE0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0000F000, 0x0000F200, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0000F220, 0x0000F420, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0000F440, 0x0000F640, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0000F660, 0x0000F860, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0000F880, 0x0000FA80, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0000FAA0, 0x0000FCA0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0000FCE0, 0x0000FEE0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0000FF00, 0x00010100, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00010120, 0x00010320, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00010340, 0x00010540, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00010560, 0x00010760, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00010780, 0x00010980, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x000109A0, 0x00010BA0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00010BC0, 0x00010DC0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00010E00, 0x00011000, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00011020, 0x00011220, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00011240, 0x00011440, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00011460, 0x00011660, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00011680, 0x00011880, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x000118A0, 0x00011AA0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00011AC0, 0x00011CC0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00011CE0, 0x00011EE0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00011F20, 0x00012120, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00012140, 0x00012340, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00012360, 0x00012560, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00012580, 0x00012780, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x000127A0, 0x000129A0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x000129C0, 0x00012BC0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00012C00, 0x00012E00, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00012E40, 0x00013040, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00013080, 0x00013280, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x000132C0, 0x000134C0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00013500, 0x00013700, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00013740, 0x00013940, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00013980, 0x00013B80, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00014DC0, 0x00014FC0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00015000, 0x00015200, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00015240, 0x00015440, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00015480, 0x00015680, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x000156C0, 0x000158C0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00015900, 0x00015B00, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00015B40, 0x00015D40, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00015D80, 0x00015F80, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00015FC0, 0x000161C0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00016200, 0x00016400, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00016440, 0x00016640, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00016680, 0x00016880, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x000168C0, 0x00016AC0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00016B00, 0x00016D00, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00016D40, 0x00016F40, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00016F80, 0x00017180, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x000171C0, 0x000173C0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00017400, 0x00017600, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00017640, 0x00017840, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00017880, 0x00017A80, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00017AC0, 0x00017CC0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00017D00, 0x00017F00, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00017F40, 0x00018140, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00018180, 0x00018380, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x000183C0, 0x000185C0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00018600, 0x00018800, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00018840, 0x00018A40, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00018A80, 0x00018C80, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00018CC0, 0x00018EC0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00018F00, 0x00019100, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00019140, 0x00019340, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00019380, 0x00019580, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x000195C0, 0x000197C0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00019800, 0x00019A00, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00019A40, 0x00019C40, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00019C80, 0x00019E80, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00019EC0, 0x0001A0C0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0001A100, 0x0001A300, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0001A340, 0x0001A540, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0001A580, 0x0001A780, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0001A7C0, 0x0001A9C0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0001AA00, 0x0001AC00, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0001AC40, 0x0001AE40, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0001AE80, 0x0001B080, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0001B0C0, 0x0001B2C0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0001B300, 0x0001B500, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0001B540, 0x0001B740, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0001B780, 0x0001B980, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0001B9C0, 0x0001BBC0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0001BC00, 0x0001BE00, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0001BE40, 0x0001C040, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0001C080, 0x0001C280, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0001C2C0, 0x0001C4C0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0001C500, 0x0001C700, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0001C740, 0x0001C940, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0001C980, 0x0001CB80, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0001CBC0, 0x0001CDC0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0001CE00, 0x0001D000, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0001D040, 0x0001D240, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0001D280, 0x0001D480, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0001D4C0, 0x0001D6C0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0001D700, 0x0001D900, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0001D940, 0x0001DB40, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0001DB80, 0x0001DD80, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0001DDC0, 0x0001DFC0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0001E000, 0x0001E200, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0001E240, 0x0001E440, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0001E480, 0x0001E680, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0001E6C0, 0x0001E8C0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0001E900, 0x0001EB00, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0001EB40, 0x0001ED40, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0001ED80, 0x0001EF80, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0001EFC0, 0x0001F1C0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0001F200, 0x0001F400, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0001F440, 0x0001F640, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0001F680, 0x0001F880, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0001F8C0, 0x0001FAC0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0001FB00, 0x0001FD00, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0001FD40, 0x0001FF40, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0001FF80, 0x00020180, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x000201C0, 0x000203C0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00020400, 0x00020600, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00020640, 0x00020840, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00020880, 0x00020A80, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00020AC0, 0x00020CC0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00020D00, 0x00020F00, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00020F40, 0x00021140, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00021180, 0x00021380, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x000213C0, 0x000215C0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00021600, 0x00021800, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00021840, 0x00021A40, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00021A80, 0x00021C80, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00021CC0, 0x00021EC0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00021F00, 0x00022100, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00022140, 0x00022340, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00022380, 0x00022580, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x000225C0, 0x000227C0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00022800, 0x00022A00, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00022A40, 0x00022C40, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00022C80, 0x00022E80, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00022EC0, 0x000230C0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00023100, 0x00023300, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00023340, 0x00023540, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00023580, 0x00023780, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000000A, 0x00030A60, 0x00030B80, 0x00000000, 0x00000000, 0x00000001, 0x00000006, 0x00030BA0, 0x00030CC0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000003, 0x00000001, 0x00000003, 0x0002F5C0, 0x0002F6E0, 0x00000000, 0x00000000, 0x00000001, 0x00000003, 0x0002F700, 0x0002F820, 0x00000000, 0x00000000, 0x00000001, 0x00000003, 0x0002FAC0, 0x0002FBE0, 0x00000000, 0x00000000, 0x00000001, 0x00000003, 0x0002FC00, 0x0002FD20, 0x00000000, 0x00000000, 0x00000001, 0x00000003, 0x0002FD40, 0x0002FE60, 0x00000000, 0x00000000, 0x00000001, 0x00000003, 0x0002FE80, 0x0002FFA0, 0x00000000, 0x00000000, 0x00000001, 0x00000003, 0x0002FFC0, 0x000300E0, 0x00000000, 0x00000000, 0x00000001, 0x00000003, 0x00030100, 0x00030220, 0x00000000, 0x00000000, 0x00000004, 0x00000064, 0x00000032, 0x00000001, 0x00000003, 0x0002F5C0, 0x0002F6E0, 0x00000000, 0x00000000, 0x00000001, 0x00000002, 0x0002F700, 0x0002F820, 0x00000000, 0x00000000, 0x00000001, 0x00000001, 0x0002F840, 0x0002F960, 0x00000000, 0x00000000, 0x00000001, 0x00000001, 0x0002F980, 0x0002FAA0, 0x00000000, 0x00000000, 0x00000001, 0x00000002, 0x0002FAC0, 0x0002FBE0, 0x00000000, 0x00000000, 0x00000001, 0x00000003, 0x0002FC00, 0x0002FD20, 0x00000000, 0x00000000, 0x00000001, 0x00000003, 0x0002FD40, 0x0002FE60, 0x00000000, 0x00000000, 0x00000001, 0x00000003, 0x0002FE80, 0x0002FFA0, 0x00000000, 0x00000000, 0x00000001, 0x00000003, 0x0002FFC0, 0x000300E0, 0x00000000, 0x00000000, 0x00000001, 0x00000003, 0x00030100, 0x00030220, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00030CE0, 0x00030E00, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000002, 0x00030E20, 0x00030F40, 0x00000000, 0x00000000, 0x00000001, 0x00000002, 0x00030F60, 0x00031080, 0x00000000, 0x00000000, 0x00000001, 0x00000002, 0x000310A0, 0x000311C0, 0x00000000, 0x00000000, 0x00000001, 0x00000002, 0x000311E0, 0x00031300, 0x00000000, 0x00000000, 0x00000001, 0x00000002, 0x00031320, 0x00031440, 0x00000000, 0x00000000, 0x00000001, 0x00000002, 0x00031460, 0x00031580, 0x00000000, 0x00000000, 0x00000001, 0x00000002, 0x000315A0, 0x000316C0, 0x00000000, 0x00000000, 0x00000001, 0x00000002, 0x000316E0, 0x00031800, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000008, 0x0002E900, 0x0002EB00, 0x00000000, 0x00000000, 0x00000001, 0x00000005, 0x0002EB20, 0x0002ED20, 0x00000000, 0x00000000, 0x00000001, 0x00000008, 0x0002ED40, 0x0002EF40, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000008, 0x0002EF60, 0x0002F160, 0x00000000, 0x00000000, 0x00000001, 0x00000005, 0x0002F180, 0x0002F380, 0x00000000, 0x00000000, 0x00000001, 0x00000008, 0x0002F3A0, 0x0002F5A0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000000C, 0x00030400, 0x00030600, 0x00000000, 0x00000000, 0x00000001, 0x00000004, 0x00030620, 0x00030820, 0x00000000, 0x00000000, 0x00000001, 0x0000000C, 0x00030840, 0x00030A40, 0x00000000, 0x00000000, 0x00000001, 0x00000004, 0x00030620, 0x00030820, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00002420, 0x00002620, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00002660, 0x00002860, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x000028A0, 0x00002AA0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00002AE0, 0x00002CE0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00002D20, 0x00002F20, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00002F60, 0x00003160, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x000031A0, 0x000033A0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x000033E0, 0x000035E0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00003620, 0x00003820, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00003860, 0x00003A60, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00003AA0, 0x00003CA0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00003CE0, 0x00003EE0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00003F20, 0x00004120, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00004160, 0x00004360, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x000043A0, 0x000045A0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x000045E0, 0x000047E0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00004820, 0x00004A20, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00004A60, 0x00004C60, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00004CA0, 0x00004EA0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00004EE0, 0x000050E0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00005120, 0x00005320, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00005360, 0x00005560, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x000055A0, 0x000057A0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x000057E0, 0x000059E0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00005A20, 0x00005C20, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00005C60, 0x00005E60, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00005EA0, 0x000060A0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x000060E0, 0x000062E0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00006320, 0x00006520, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00006560, 0x00006760, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x000067A0, 0x000069A0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x000069E0, 0x00006BE0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00006C20, 0x00006E20, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00006E60, 0x00007060, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x000070A0, 0x000072A0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x000072E0, 0x000074E0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00007520, 0x00007720, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00007760, 0x00007960, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x000079A0, 0x00007BA0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00007BE0, 0x00007DE0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00007E20, 0x00008020, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00008060, 0x00008260, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x000082A0, 0x000084A0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x000084E0, 0x000086E0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00008720, 0x00008920, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00008960, 0x00008B60, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00008BA0, 0x00008DA0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00008DE0, 0x00008FE0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0002A3C0, 0x0002A5C0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0002A600, 0x0002A800, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0002A840, 0x0002AA40, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0002AA80, 0x0002AC80, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0002ACC0, 0x0002AEC0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0002AF00, 0x0002B100, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0002B140, 0x0002B340, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0002B380, 0x0002B580, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0002B5C0, 0x0002B7C0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0002B800, 0x0002BA00, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0002BA40, 0x0002BC40, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0002BC80, 0x0002BE80, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0002BEC0, 0x0002C0C0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0002C100, 0x0002C300, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0002C340, 0x0002C540, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0002C580, 0x0002C780, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x000237C0, 0x000239C0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00023A00, 0x00023C00, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00023C40, 0x00023E40, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00023E80, 0x00024080, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x000240C0, 0x000242C0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00024300, 0x00024500, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00024540, 0x00024740, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00024780, 0x00024980, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x000249C0, 0x00024BC0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00024C00, 0x00024E00, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00024E40, 0x00025040, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00025080, 0x00025280, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x000252C0, 0x000254C0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00025500, 0x00025700, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00025740, 0x00025940, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00025980, 0x00025B80, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00025BC0, 0x00025DC0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00025E00, 0x00026000, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00026040, 0x00026240, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00026280, 0x00026480, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x000264C0, 0x000266C0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00026700, 0x00026900, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00026940, 0x00026B40, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00026B80, 0x00026D80, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00026DC0, 0x00026FC0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00027000, 0x00027200, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00027240, 0x00027440, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00027480, 0x00027680, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x000276C0, 0x000278C0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00027900, 0x00027B00, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00027B40, 0x00027D40, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00027D80, 0x00027F80, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00027FC0, 0x000281C0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00028200, 0x00028400, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00028440, 0x00028640, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00028680, 0x00028880, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x000288C0, 0x00028AC0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00028B00, 0x00028D00, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00028D40, 0x00028F40, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00028F80, 0x00029180, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x000291C0, 0x000293C0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00029400, 0x00029600, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00029640, 0x00029840, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00029880, 0x00029A80, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00029AC0, 0x00029CC0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00029D00, 0x00029F00, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00029F40, 0x0002A140, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0002A180, 0x0002A380, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x8008B108, 0x8008B3E4, 0x8008B404, 0x8008B424, 0x8008B444, 0x8008B464, 0x8008B484, 0x8008B4A4, 0x8008B108, 0x8008B108, 0x8008BBE4, 0x8008BC04, 0x8008BC24, 0x8008BC44, 0x8008BC64, 0x8008B924, 0x8008B4E4, 0x8008B504, 0x8008B5C4, 0x8008B524, 0x8008B544, 0x8008B664, 0x8008B624, 0x8008B644, 0x8008B604, 0x8008B5A4, 0x8008B564, 0x8008B684, 0x8008B6E4, 0x8008B704, 0x8008B884, 0x8008B724, 0x8008B744, 0x8008B764, 0x8008B6C4, 0x8008B784, 0x8008B7A4, 0x8008B7C4, 0x8008B7E4, 0x8008BC84, 0x8008B984, 0x8008B9A4, 0x8008B9C4, 0x8008B804, 0x8008B824, 0x8008B844, 0x8008B864, 0x8008B944, 0x8008B964, 0x8008B9E4, 0x8008BA04, 0x8008BA24, 0x8008BA44, 0x8008BDE4, 0x8008BDE4, 0x8008BDE4, 0x8008BDE4, 0x8008BDE4, 0x8008BDE4, 0x8008BDE4, 0x8008BDE4, 0x8008BDE4, 0x8008BDE4, 0x8008BDE4, 0x8008BDE4, 0x8008BDE4, 0x8008BDE4, 0x8008BDE4, 0x8008BDE4, 0x8008BDE4, 0x8008BDE4, 0x8008BDE4, 0x8008BDE4, 0x8008BDE4, 0x8008BDE4, 0x8008BDE4, 0x8008BDE4, 0x8008BDE4, 0x8008BDE4, 0x8008BDE4, 0x8008BDE4, 0x8008BDE4, 0x8008BDE4, 0x8008B5E4, 0x8008BDE4, 0x8008BDE4, 0x8008B584, 0x8008B8A4, 0x8008B8C4, 0x8008B8E4, 0x8008B904, 0x8008B604, 0x8008BD04, 0x8008DB94, 0x8008DB74, 0x8008DBB4, 0x8008DBD4, 0x8008DBF4, 0x8008DC14, 0x8008DC34, 0x8008DC54, 0x8008DC74, 0x8008DC94, 0x8008BAC4, 0x8008BAA4, 0x8008BAE4, 0x8008BB44, 0x8008B744, 0x8008BB04, 0x8008BB24, 0x8008BCE4, 0x8008BD24, 0x8008BD44, 0x8008BD64, 0x8008BD84, 0x8008BDA4, 0x8008BDC4, 0x8008BDA4, 0x8008BA64, 0x8008BA84, 0x8008BB44, 0x8008B744, 0x8008B744, 0x8008BCC4, 0x8008BCA4, 0x8008B108, 0x8008B108, 0x8008B108, 0x8008D5D4, 0x8008D5F4, 0x8008D614, 0x8008D654, 0x8008D634, 0x8008D694, 0x8008D674, 0x8008B384, 0x8008D6D4, 0x8008D874, 0x8008D7D4, 0x8008D6F4, 0x8008D7F4, 0x8008D854, 0x8008D814, 0x8008DCD4, 0x8008DD14, 0x8008DD34, 0x8008DD54, 0x8008DB34, 0x8008DB54, 0x8008D834, 0x8008B344, 0x8008B364, 0x8008B324, 0x8008B2E4, 0x8008DD74, 0x8008D894, 0x8008D9B4, 0x8008D994, 0x8008D8B4, 0x8008D8D4, 0x8008D8F4, 0x8008D914, 0x8008DB14, 0x8008DAF4, 0x8008DAD4, 0x8008D934, 0x8008D954, 0x8008D974, 0x8008D9D4, 0x8008D9F4, 0x8008DA14, 0x8008DA34, 0x8008DA54, 0x8008DA74, 0x8008DA94, 0x8008DAB4, 0x8008CFD4, 0x8008CFF4, 0x8008D014, 0x8008D034, 0x8008D054, 0x8008D074, 0x8008D094, 0x8008D0B4, 0x8008D0D4, 0x8008D0F4, 0x8008D114, 0x8008D174, 0x8008D134, 0x8008D154, 0x8008D194, 0x8008D1B4, 0x8008D1D4, 0x8008D1F4, 0x8008D214, 0x8008D234, 0x8008D254, 0x8008D274, 0x8008D294, 0x8008D2B4, 0x8008D2D4, 0x8008D2F4, 0x8008D314, 0x8008D334, 0x8008D354, 0x8008D374, 0x8008D394, 0x8008D3B4, 0x8008D3D4, 0x8008D3F4, 0x8008D414, 0x8008D434, 0x8008D454, 0x8008D474, 0x8008D494, 0x8008D4B4, 0x8008D4D4, 0x8008D4F4, 0x8008D514, 0x8008B108, 0x8008B108, 0x8008B108, 0x8008B108, 0x8008B108, 0x8008BEE4, 0x8008BF04, 0x8008BF24, 0x8008BF44, 0x8008BF64, 0x8008BF84, 0x8008BFA4, 0x8008BFC4, 0x8008BFE4, 0x8008C004, 0x8008B108, 0x8008C064, 0x8008C0E4, 0x8008C944, 0x8008C164, 0x8008C1A4, 0x8008C1E4, 0x8008C204, 0x8008C224, 0x8008C244, 0x8008C264, 0x8008C284, 0x8008C2A4, 0x8008C2C4, 0x8008C2E4, 0x8008C304, 0x8008C324, 0x8008C344, 0x8008C364, 0x8008C384, 0x8008C3A4, 0x8008C3C4, 0x8008C3E4, 0x8008C404, 0x8008C424, 0x8008C444, 0x8008C464, 0x8008C484, 0x8008C4A4, 0x8008C1C4, 0x8008C044, 0x8008C084, 0x8008C104, 0x8008C0A4, 0x8008C124, 0x8008C704, 0x8008C144, 0x8008C0C4, 0x8008C764, 0x8008C724, 0x8008C744, 0x8008C604, 0x8008C5A4, 0x8008C5C4, 0x8008C624, 0x8008C024, 0x8008C184, 0x8008C4C4, 0x8008C644, 0x8008C664, 0x8008C6C4, 0x8008C684, 0x8008C6E4, 0x8008C6A4, 0x8008C5E4, 0x8008C4E4, 0x8008C504, 0x8008C524, 0x8008C544, 0x8008C564, 0x8008C584, 0x8008B108, 0x8008B108, 0x8008C8E4, 0x8008C904, 0x8008C7E4, 0x8008B108, 0x8008C924, 0x8008C824, 0x8008C804, 0x8008C844, 0x8008C864, 0x8008C8E4, 0x8008C904, 0x8008BFC4, 0x8008C2E4, 0x8008C3C4, 0x8008C3C4, 0x8008C484, 0x8008C484, 0x8008C844, 0x8008C844, 0x8008BF24, 0x8008BF24, 0x8008C344, 0x8008C344, 0x8008C884, 0x8008C884, 0x8008C884, 0x8008CA04, 0x8008C9E4, 0x8008CA24, 0x8008CA44, 0x8008CA64, 0x8008CA84, 0x8008CAA4, 0x8008BFC4, 0x8008BFC4, 0x8008BFC4, 0x8008C2E4, 0x8008C2E4, 0x8008C2E4, 0x8008CAE4, 0x8008B108, 0x8008B108, 0x8008B108, 0x8008B108, 0x8008B108, 0x8008CBE4, 0x8008CC1C, 0x8008CDE4, 0x8008CE04, 0x8008CECC, 0x8008CF1C, 0x8008CF6C, 0x8008B124, 0x8008B140, 0x8008B15C, 0x8008B178, 0x8008B194, 0x8008B1B0, 0x8008B1CC, 0x8008B1E8, 0x8008B204, 0x8008B220, 0x8008B23C, 0x8008B258, 0x8008B274, 0x8008B290, 0x8008B2AC, 0x8008B2C8, 0x8008B108, 0x8008B108, 0x8008B108, 0x8008B108, 0x8008B108, 0x8008B108, 0x8008B108, 0x8008B108, 0x8008B108, 0x8008B108, 0x8008B108, 0x8008B108, 0x8008B108, 0x8008B108, 0x8008B108, 0x8008B108, 0x8008B108, 0x8008B108, 0x8008B108, 0x8008B108, 0x00000000, 0x00001320, 0x00001540, 0x00001760, 0x00001980, 0x00001BA0, 0x00001DC0, 0x00001FE0, 0x00000000, 0x00000000, 0x00010780, 0x000109A0, 0x00010BC0, 0x00010E00, 0x00011020, 0x0000D860, 0x00009020, 0x00009240, 0x00009F00, 0x00009460, 0x00009680, 0x0000A9A0, 0x0000A560, 0x0000A780, 0x0000A340, 0x00009CE0, 0x000098A0, 0x0000ABC0, 0x0000B220, 0x0000B440, 0x0000CDC0, 0x0000B660, 0x0000B880, 0x0000BAA0, 0x0000B000, 0x0000BCC0, 0x0000BEE0, 0x0000C100, 0x0000C320, 0x00011240, 0x0000DEE0, 0x0000E100, 0x0000E320, 0x0000C540, 0x0000C760, 0x0000C980, 0x0000CBA0, 0x0000DAA0, 0x0000DCC0, 0x0000E540, 0x0000E760, 0x0000E980, 0x0000EBC0, 0x000129C0, 0x000129C0, 0x000129C0, 0x000129C0, 0x000129C0, 0x000129C0, 0x000129C0, 0x000129C0, 0x000129C0, 0x000129C0, 0x000129C0, 0x000129C0, 0x000129C0, 0x000129C0, 0x000129C0, 0x000129C0, 0x000129C0, 0x000129C0, 0x000129C0, 0x000129C0, 0x000129C0, 0x000129C0, 0x000129C0, 0x000129C0, 0x000129C0, 0x000129C0, 0x000129C0, 0x000129C0, 0x000129C0, 0x000129C0, 0x0000A120, 0x000129C0, 0x000129C0, 0x00009AC0, 0x0000CFE0, 0x0000D200, 0x0000D420, 0x0000D640, 0x0000A340, 0x00011AC0, 0x00027B40, 0x00027900, 0x00027D80, 0x00027FC0, 0x00028200, 0x00028440, 0x00028680, 0x000288C0, 0x00028B00, 0x00028D40, 0x0000F440, 0x0000F220, 0x0000F660, 0x0000FCE0, 0x0000B880, 0x0000F880, 0x0000FAA0, 0x000118A0, 0x00011CE0, 0x00011F20, 0x00012140, 0x00012360, 0x00012580, 0x000127A0, 0x00012580, 0x0000EDE0, 0x0000F000, 0x0000FCE0, 0x0000B880, 0x0000B880, 0x00011680, 0x00011460, 0x00000000, 0x00000000, 0x00000000, 0x0002A3C0, 0x0002A600, 0x0002A840, 0x0002ACC0, 0x0002AA80, 0x0002B140, 0x0002AF00, 0x00014700, 0x0002B5C0, 0x00024300, 0x000237C0, 0x0002B800, 0x00023A00, 0x000240C0, 0x00023C40, 0x000291C0, 0x00029640, 0x00029880, 0x00029AC0, 0x00027480, 0x000276C0, 0x00023E80, 0x00014280, 0x000144C0, 0x00014040, 0x00013BC0, 0x00029D00, 0x00024540, 0x00025980, 0x00025740, 0x00024780, 0x000249C0, 0x00024C00, 0x00024E40, 0x00027240, 0x00027000, 0x00026DC0, 0x00025080, 0x000252C0, 0x00025500, 0x00025BC0, 0x00025E00, 0x00026040, 0x00026280, 0x000264C0, 0x00026700, 0x00026940, 0x00026B80, 0x00002420, 0x00002660, 0x000028A0, 0x00002AE0, 0x00002D20, 0x00002F60, 0x000031A0, 0x000033E0, 0x00003620, 0x00003860, 0x00003AA0, 0x00004160, 0x00003CE0, 0x00003F20, 0x000043A0, 0x000045E0, 0x00004820, 0x00004A60, 0x00004CA0, 0x00004EE0, 0x00005120, 0x00005360, 0x000055A0, 0x000057E0, 0x00005A20, 0x00005C60, 0x00005EA0, 0x000060E0, 0x00006320, 0x00006560, 0x000067A0, 0x000069E0, 0x00006C20, 0x00006E60, 0x000070A0, 0x000072E0, 0x00007520, 0x00007760, 0x000079A0, 0x00007BE0, 0x00007E20, 0x00008060, 0x000082A0, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00014DC0, 0x00015000, 0x00015240, 0x00015480, 0x000156C0, 0x00015900, 0x00015B40, 0x00015D80, 0x00015FC0, 0x00016200, 0x00000000, 0x000168C0, 0x000171C0, 0x00020880, 0x00017AC0, 0x00017F40, 0x000183C0, 0x00018600, 0x00018840, 0x00018A80, 0x00018CC0, 0x00018F00, 0x00019140, 0x00019380, 0x000195C0, 0x00019800, 0x00019A40, 0x00019C80, 0x00019EC0, 0x0001A100, 0x0001A340, 0x0001A580, 0x0001A7C0, 0x0001AA00, 0x0001AC40, 0x0001AE80, 0x0001B0C0, 0x0001B300, 0x0001B540, 0x00018180, 0x00016680, 0x00016B00, 0x00017400, 0x00016D40, 0x00017640, 0x0001E000, 0x00017880, 0x00016F80, 0x0001E6C0, 0x0001E240, 0x0001E480, 0x0001CE00, 0x0001C740, 0x0001C980, 0x0001D040, 0x00016440, 0x00017D00, 0x0001B780, 0x0001D280, 0x0001D4C0, 0x0001DB80, 0x0001D700, 0x0001DDC0, 0x0001D940, 0x0001CBC0, 0x0001B9C0, 0x0001BC00, 0x0001BE40, 0x0001C080, 0x0001C2C0, 0x0001C500, 0x00000000, 0x00000000, 0x000201C0, 0x00020400, 0x0001EFC0, 0x00000000, 0x00020640, 0x0001F440, 0x0001F200, 0x0001F680, 0x0001F8C0, 0x000201C0, 0x00020400, 0x00015D80, 0x000195C0, 0x0001A580, 0x0001A580, 0x0001B300, 0x0001B300, 0x0001F680, 0x0001F680, 0x00015240, 0x00015240, 0x00019C80, 0x00019C80, 0x0001FB00, 0x0001FB00, 0x0001FB00, 0x00021600, 0x000213C0, 0x00021840, 0x00021A80, 0x00021CC0, 0x00021F00, 0x00022140, 0x00015D80, 0x00015D80, 0x00015D80, 0x000195C0, 0x000195C0, 0x000195C0, 0x000225C0, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00030A60, 0x0002F5C0, 0x00030CE0, 0x00030E20, 0x0002E900, 0x0002EF60, 0x00030400, 0x00000200, 0x00001520, 0x00001740, 0x00001960, 0x00001B80, 0x00001DA0, 0x00001FC0, 0x000021E0, 0x00000200, 0x00000200, 0x00010980, 0x00010BA0, 0x00010DC0, 0x00011000, 0x00011220, 0x0000DA60, 0x00009220, 0x00009440, 0x0000A100, 0x00009660, 0x00009880, 0x0000ABA0, 0x0000A760, 0x0000A980, 0x0000A540, 0x00009EE0, 0x00009AA0, 0x0000ADC0, 0x0000B420, 0x0000B640, 0x0000CFC0, 0x0000B860, 0x0000BA80, 0x0000BCA0, 0x0000B200, 0x0000BEC0, 0x0000C0E0, 0x0000C300, 0x0000C520, 0x00011440, 0x0000E0E0, 0x0000E300, 0x0000E520, 0x0000C740, 0x0000C960, 0x0000CB80, 0x0000CDA0, 0x0000DCA0, 0x0000DEC0, 0x0000E740, 0x0000E960, 0x0000EB80, 0x0000EDC0, 0x00012BC0, 0x00012BC0, 0x00012BC0, 0x00012BC0, 0x00012BC0, 0x00012BC0, 0x00012BC0, 0x00012BC0, 0x00012BC0, 0x00012BC0, 0x00012BC0, 0x00012BC0, 0x00012BC0, 0x00012BC0, 0x00012BC0, 0x00012BC0, 0x00012BC0, 0x00012BC0, 0x00012BC0, 0x00012BC0, 0x00012BC0, 0x00012BC0, 0x00012BC0, 0x00012BC0, 0x00012BC0, 0x00012BC0, 0x00012BC0, 0x00012BC0, 0x00012BC0, 0x00012BC0, 0x0000A320, 0x00012BC0, 0x00012BC0, 0x00009CC0, 0x0000D1E0, 0x0000D400, 0x0000D620, 0x0000D840, 0x0000A540, 0x00011CC0, 0x00027D40, 0x00027B00, 0x00027F80, 0x000281C0, 0x00028400, 0x00028640, 0x00028880, 0x00028AC0, 0x00028D00, 0x00028F40, 0x0000F640, 0x0000F420, 0x0000F860, 0x0000FEE0, 0x0000BA80, 0x0000FA80, 0x0000FCA0, 0x00011AA0, 0x00011EE0, 0x00012120, 0x00012340, 0x00012560, 0x00012780, 0x000129A0, 0x00012780, 0x0000EFE0, 0x0000F200, 0x0000FEE0, 0x0000BA80, 0x0000BA80, 0x00011880, 0x00011660, 0x00000200, 0x00000200, 0x00000200, 0x0002A5C0, 0x0002A800, 0x0002AA40, 0x0002AEC0, 0x0002AC80, 0x0002B340, 0x0002B100, 0x00014900, 0x0002B7C0, 0x00024500, 0x000239C0, 0x0002BA00, 0x00023C00, 0x000242C0, 0x00023E40, 0x000293C0, 0x00029840, 0x00029A80, 0x00029CC0, 0x00027680, 0x000278C0, 0x00024080, 0x00014480, 0x000146C0, 0x00014240, 0x00013DC0, 0x00029F00, 0x00024740, 0x00025B80, 0x00025940, 0x00024980, 0x00024BC0, 0x00024E00, 0x00025040, 0x00027440, 0x00027200, 0x00026FC0, 0x00025280, 0x000254C0, 0x00025700, 0x00025DC0, 0x00026000, 0x00026240, 0x00026480, 0x000266C0, 0x00026900, 0x00026B40, 0x00026D80, 0x00002620, 0x00002860, 0x00002AA0, 0x00002CE0, 0x00002F20, 0x00003160, 0x000033A0, 0x000035E0, 0x00003820, 0x00003A60, 0x00003CA0, 0x00004360, 0x00003EE0, 0x00004120, 0x000045A0, 0x000047E0, 0x00004A20, 0x00004C60, 0x00004EA0, 0x000050E0, 0x00005320, 0x00005560, 0x000057A0, 0x000059E0, 0x00005C20, 0x00005E60, 0x000060A0, 0x000062E0, 0x00006520, 0x00006760, 0x000069A0, 0x00006BE0, 0x00006E20, 0x00007060, 0x000072A0, 0x000074E0, 0x00007720, 0x00007960, 0x00007BA0, 0x00007DE0, 0x00008020, 0x00008260, 0x000084A0, 0x00000200, 0x00000200, 0x00000200, 0x00000200, 0x00000200, 0x00014FC0, 0x00015200, 0x00015440, 0x00015680, 0x000158C0, 0x00015B00, 0x00015D40, 0x00015F80, 0x000161C0, 0x00016400, 0x00000200, 0x00016AC0, 0x000173C0, 0x00020A80, 0x00017CC0, 0x00018140, 0x000185C0, 0x00018800, 0x00018A40, 0x00018C80, 0x00018EC0, 0x00019100, 0x00019340, 0x00019580, 0x000197C0, 0x00019A00, 0x00019C40, 0x00019E80, 0x0001A0C0, 0x0001A300, 0x0001A540, 0x0001A780, 0x0001A9C0, 0x0001AC00, 0x0001AE40, 0x0001B080, 0x0001B2C0, 0x0001B500, 0x0001B740, 0x00018380, 0x00016880, 0x00016D00, 0x00017600, 0x00016F40, 0x00017840, 0x0001E200, 0x00017A80, 0x00017180, 0x0001E8C0, 0x0001E440, 0x0001E680, 0x0001D000, 0x0001C940, 0x0001CB80, 0x0001D240, 0x00016640, 0x00017F00, 0x0001B980, 0x0001D480, 0x0001D6C0, 0x0001DD80, 0x0001D900, 0x0001DFC0, 0x0001DB40, 0x0001CDC0, 0x0001BBC0, 0x0001BE00, 0x0001C040, 0x0001C280, 0x0001C4C0, 0x0001C700, 0x00000200, 0x00000200, 0x000203C0, 0x00020600, 0x0001F1C0, 0x00000200, 0x00020840, 0x0001F640, 0x0001F400, 0x0001F880, 0x0001FAC0, 0x000203C0, 0x00020600, 0x00015F80, 0x000197C0, 0x0001A780, 0x0001A780, 0x0001B500, 0x0001B500, 0x0001F880, 0x0001F880, 0x00015440, 0x00015440, 0x00019E80, 0x00019E80, 0x0001FD00, 0x0001FD00, 0x0001FD00, 0x00021800, 0x000215C0, 0x00021A40, 0x00021C80, 0x00021EC0, 0x00022100, 0x00022340, 0x00015F80, 0x00015F80, 0x00015F80, 0x000197C0, 0x000197C0, 0x000197C0, 0x000227C0, 0x00000200, 0x00000200, 0x00000200, 0x00000200, 0x00000200, 0x00030B80, 0x0002F6E0, 0x00030E00, 0x00030F40, 0x0002EB00, 0x0002F160, 0x00030600, 0x00000000, 0x00000001, 0x00000002, 0x00000003, 0x00000004, 0x00000009, 0x00000006, 0x00000007, 0x00000008, 0x00000005, 0x0000000A, 0x0000000B, 0x00000000, 0x00000001, 0x00000002, 0x00000003, 0x00000004, 0x00000000, 0x00000006, 0x00000007, 0x00000008, 0x00000005, 0x00000000, 0x00000000, 0x800989A0, 0x00000000, 0x00000000, 0x00000000, 0x001D0007, 0x00000002, 0x00280000, 0x00280001, 0x001D0008, 0x00000003, 0x0028000D, 0x0028000E, 0x001D0009, 0x00000004, 0x0028001A, 0x0028001B, 0x001D000A, 0x00000005, 0x00280027, 0x00280028, 0x001D000B, 0x00000001, 0x00000000, 0x00000000, 0x001D000C, 0x00000007, 0x00280041, 0x00280042, 0x001D000D, 0x00000008, 0x0028004E, 0x0028004F, 0x001D000E, 0x00000009, 0x0028005B, 0x0028005C, 0x001D000F, 0x00000006, 0x00280034, 0x00280035, 0x001D0010, 0x00000001, 0x00000000, 0x00000000, 0x001D0011, 0x00000001, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x80107CA8, 0x80107CD0, 0x80107CF8, 0x80107D20, 0x80107D48, 0x80107D70, 0x80107D98, 0x80107DC0, 0x80107DE8, 0x80107E10, 0x80107E38, 0x80107E60, 0x80107E88, 0x80107EB0, 0x80107ED8, 0x80107F00, 0x80107F28, 0x80107F50, 0x80107F78, 0x80107FA0, 0x80107FC8, 0x80107FF0, 0x80108018, 0x80108040, 0x80108018, 0x80108040, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000000FF, 0x00000000, 0x00000002, 0x00000000, 0x00000000, 0x000000FF, 0x00000000, 0x00000008, 0x00000000, 0x00000000, 0x000000FF, 0x001D0038, 0x00013005, 0x002300A3, 0x00000000, 0x01000001, 0x001D0038, 0x00013005, 0x002300A4, 0x002300A4, 0x01000001, 0x001D0038, 0x00013005, 0x002300A5, 0x002300A5, 0x01000001, 0x001D0038, 0x00013005, 0x00000000, 0x00000000, 0x01000001, 0x00000000, 0x00013005, 0x00000000, 0x00000000, 0x01000001, 0x002A0010, 0x00013005, 0x00230068, 0x00250068, 0x01020101, 0x002A0012, 0x00008020, 0x0023006A, 0x0025006A, 0x01020101, 0x002A0011, 0x00013005, 0x00230069, 0x00250069, 0x01020201, 0x00000000, 0x00000008, 0x00000000, 0x00000000, 0x010101FF, 0x001D0038, 0x00055001, 0x00000000, 0x00000000, 0x01000001, 0x002A000E, 0x00000003, 0x00230066, 0x00250066, 0x01020201, 0x002A0014, 0x00008020, 0x0023006C, 0x0025006C, 0x01070301, 0x002A000C, 0x00000008, 0x00230064, 0x00250064, 0x010101FF, 0x001D0038, 0x00054001, 0x00230064, 0x00250064, 0x01000001, 0x002A000D, 0x00000008, 0x00230065, 0x00250065, 0x010402FF, 0x001D0038, 0x00055001, 0x00230065, 0x00250065, 0x01000001, 0x00000000, 0x00013005, 0x00000000, 0x00000000, 0x010201FF, 0x002A0013, 0x00008020, 0x0023006B, 0x0025006B, 0x01040201, 0x002A000A, 0x00013005, 0x00230062, 0x00250062, 0x01020101, 0x00000000, 0x00013005, 0x00000000, 0x00000000, 0x01040201, 0x002A000B, 0x00013005, 0x00230063, 0x00250063, 0x01060301, 0x002A000F, 0x00013005, 0x00230067, 0x00250067, 0x01020101, 0x00000000, 0x00013005, 0x00000000, 0x00000000, 0x01060301, 0x001D0039, 0x00054881, 0x002300A0, 0x002300A0, 0x02000000, 0x001D0039, 0x00054881, 0x002300A1, 0x002300A1, 0x02000000, 0x001D0039, 0x00054881, 0x002300A2, 0x002300A2, 0x02000000, 0x001D0039, 0x00054881, 0x00000000, 0x00000000, 0x02000000, 0x001D0039, 0x00054881, 0x00000000, 0x00000000, 0x02000000, 0x002A0006, 0x0004C880, 0x0023005E, 0x0025005E, 0x02020100, 0x002A0009, 0x00054881, 0x00230061, 0x00250061, 0x02030200, 0x002A0004, 0x00054881, 0x0023005C, 0x0025005C, 0x02020100, 0x002A0005, 0x00054881, 0x0023005D, 0x0025005D, 0x02020100, 0x00000000, 0x00000808, 0x00000000, 0x00000000, 0x020101FF, 0x001D0039, 0x00054881, 0x00000000, 0x00000000, 0x02010100, 0x002A0002, 0x00000808, 0x0023005A, 0x0025005A, 0x020101FF, 0x001D0039, 0x00054881, 0x0023005A, 0x0025005A, 0x02000000, 0x002A0003, 0x00000808, 0x0023005B, 0x0025005B, 0x020402FF, 0x001D0039, 0x00054881, 0x0023005B, 0x0025005B, 0x02000000, 0x00000000, 0x00054881, 0x00000000, 0x00000000, 0x020201FF, 0x00000000, 0x0004C880, 0x00000000, 0x00000000, 0x020502FF, 0x002A0000, 0x00054881, 0x00230058, 0x00250058, 0x02020100, 0x00000000, 0x00054881, 0x00000000, 0x00000000, 0x02040200, 0x002A0001, 0x00054881, 0x00230059, 0x00250059, 0x02060300, 0x002A0008, 0x00054881, 0x00230060, 0x00250060, 0x02020200, 0x002A0007, 0x00054881, 0x0023005F, 0x0025005F, 0x02020100, 0x00000000, 0x00008020, 0x00000000, 0x00000000, 0x02020214, 0x00000000, 0x00010005, 0x00230074, 0x00250074, 0x030006FF, 0x00000000, 0x00000008, 0x00000000, 0x00000000, 0x030008FF, 0x00260075, 0x00000008, 0x00230075, 0x00250075, 0x030003FF, 0x001D003F, 0x00010005, 0x001D00A4, 0x00000000, 0x040000FF, 0x002A0015, 0x00000000, 0x0023006D, 0x0025006D, 0x040301FF, 0x002A0016, 0x00000000, 0x0023006E, 0x0025006E, 0x040603FF, 0x80098A04, 0x00000000, 0x00000000, 0x00000000, 0x050000FF, 0x002A0018, 0x00000000, 0x00230070, 0x00250070, 0x050004FF, 0x80098A04, 0x00010005, 0x00000000, 0x00000000, 0x060000FF, 0x80098A04, 0x00000000, 0x00000000, 0x00000000, 0x070000FF, 0x00260073, 0x00000000, 0x00230073, 0x00250073, 0x070006FF, 0x00260093, 0x00000000, 0x00230093, 0x00250093, 0x070004FF, 0x00260095, 0x00000000, 0x00230095, 0x00250095, 0x070002FF, 0x002A0019, 0x00000000, 0x00230076, 0x00250076, 0x070002FF, 0x80098A04, 0x00010005, 0x00000000, 0x00000000, 0x080000FF, 0x0026007F, 0x00000000, 0x0023007F, 0x0025007F, 0x080002FF, 0x00260097, 0x00000000, 0x00230097, 0x00250097, 0x080002FF, 0x00260081, 0x00000000, 0x00230081, 0x00250081, 0x080003FF, 0x0026008C, 0x00000000, 0x0023008C, 0x0025008C, 0x080003FF, 0x00260099, 0x00000000, 0x00230099, 0x00250099, 0x080004FF, 0x00260074, 0x00000000, 0x00230074, 0x00250074, 0x080006FF, 0x00000000, 0x00000000, 0x00230085, 0x00250085, 0x080001FF, 0x00000000, 0x00000000, 0x00230083, 0x00250083, 0x080001FF, 0x00000000, 0x00000000, 0x00230082, 0x00250082, 0x080007FF, 0x002A001A, 0x00000000, 0x00230077, 0x00250077, 0x080002FF, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x080001FF, 0x80098A04, 0x00000000, 0x00000000, 0x00000000, 0x090000FF, 0x00260080, 0x00000000, 0x00230080, 0x00250080, 0x090002FF, 0x00260087, 0x00000000, 0x00230087, 0x00250087, 0x090001FF, 0x00260094, 0x00000000, 0x00230094, 0x00250094, 0x090000FF, 0x0026009B, 0x00000000, 0x0023009B, 0x0025009B, 0x090008FF, 0x00000000, 0x00000000, 0x00230088, 0x00250088, 0x090005FF, 0x80098A04, 0x00010005, 0x00000000, 0x00000000, 0x000000FF, 0x00260071, 0x00010005, 0x00230071, 0x00250071, 0x000003FF, 0x00000000, 0x00000002, 0x00000000, 0x00000000, 0x000000FF, 0x0026008D, 0x00000002, 0x0023008D, 0x0025008D, 0x000000FF, 0x0026008E, 0x00000002, 0x0023008E, 0x0025008E, 0x000000FF, 0x0026008F, 0x00000002, 0x0023008F, 0x0025008F, 0x000000FF, 0x00260090, 0x00000002, 0x00230090, 0x00250090, 0x000000FF, 0x00260091, 0x00000002, 0x00230091, 0x00250091, 0x000000FF, 0x00260092, 0x00000002, 0x00230092, 0x00250092, 0x000000FF, 0x00260078, 0x00000002, 0x00230078, 0x00250078, 0x000003FF, 0x00260072, 0x00000002, 0x00230072, 0x00250072, 0x000003FF, 0x0026009A, 0x00000002, 0x0023009A, 0x0025009A, 0x000007FF, 0x00260098, 0x00000002, 0x00230098, 0x00250098, 0x000002FF, 0x00260079, 0x00000002, 0x00230079, 0x00250079, 0x000003FF, 0x00260086, 0x00000002, 0x00230086, 0x00250086, 0x000001FF, 0x00000000, 0x00000002, 0x00000000, 0x00000000, 0x000008FF, 0x0026009C, 0x00000002, 0x0023009C, 0x0025009C, 0x000002FF, 0x0026007B, 0x00000002, 0x0023007B, 0x0025007B, 0x000006FF, 0x00260096, 0x00000002, 0x00230096, 0x00250096, 0x000002FF, 0x00000000, 0x00000002, 0x00230084, 0x00250084, 0x000001FF, 0x00000000, 0x00000002, 0x00000000, 0x00000000, 0x00000AFF, 0x00000000, 0x00000002, 0x00000000, 0x00000000, 0x00000AFF, 0x00000000, 0x00000002, 0x00000000, 0x00000000, 0x00000AFF, 0x00000000, 0x00000002, 0x0023007C, 0x0025007C, 0x000003FF, 0x00000000, 0x00000002, 0x0023007D, 0x0025007D, 0x000003FF, 0x00000000, 0x00000002, 0x00230089, 0x00250089, 0x000003FF, 0x00000000, 0x00000002, 0x0023008A, 0x0025008A, 0x000002FF, 0x00000000, 0x00000002, 0x0023009E, 0x0025009E, 0x000001FF, 0x00000000, 0x00000002, 0x0023008B, 0x0025008B, 0x000001FF, 0x0026009D, 0x00000002, 0x0023009D, 0x0025009D, 0x000001FF, 0x800989F0, 0x00000002, 0x00000000, 0x00000000, 0x000001FF, 0x800989DC, 0x00000002, 0x00000000, 0x00000000, 0x000001FF, 0x0026007E, 0x00000002, 0x0023007E, 0x0025007E, 0x000001FF, 0x00000000, 0x00000002, 0x00000000, 0x00000000, 0x000005FF, 0x00000000, 0x80000000, 0x00000000, 0x00000000, 0x000000FF, 0x0026007A, 0x00000002, 0x0023007A, 0x0025007A, 0x000003FF, 0x0026006F, 0x00000002, 0x0023006F, 0x0025006F, 0x000002FF, 0x0026009F, 0x00000002, 0x0023009F, 0x0025009F, 0x000003FF, 0x001D0014, 0x80000000, 0x001D0020, 0x00000000, 0x0A0000FF, 0x001D0015, 0x00000008, 0x001D0021, 0x00000000, 0x0A0101FF, 0x001D0016, 0x00008002, 0x001D0022, 0x00000000, 0x0A0101FF, 0x001D0017, 0x00008002, 0x001D0023, 0x00000000, 0x0A0202FF, 0x001D0018, 0x00008002, 0x001D0024, 0x00000000, 0x0A0202FF, 0x001D0019, 0x00000008, 0x001D0025, 0x00000000, 0x0A0303FF, 0x001D001A, 0x00008002, 0x001D0026, 0x00000000, 0x0A0202FF, 0x001D001B, 0x00008002, 0x001D0027, 0x00000000, 0x0A0202FF, 0x001D001C, 0x00008002, 0x001D0028, 0x00000000, 0x0A0000FF, 0x001D001D, 0x00008002, 0x001D0029, 0x00000000, 0x0A0000FF, 0x001D001E, 0x00000100, 0x001D0020, 0x00000000, 0x0A0000FF, 0x001D001F, 0x00008003, 0x001D0020, 0x00000000, 0x0A0000FF, 0x002B0000, 0x00054881, 0x00280002, 0x00280007, 0x0B000002, 0x002B0000, 0x00054881, 0x00280002, 0x00280008, 0x0B000002, 0x002B0000, 0x00054881, 0x00280002, 0x00280009, 0x0B000002, 0x002B0001, 0x00038003, 0x00280003, 0x0028000A, 0x0B0000FF, 0x002B0002, 0x00000100, 0x00280004, 0x0028000B, 0x0B0100FF, 0x002B0003, 0x00054881, 0x00280005, 0x0028000C, 0x0B030002, 0x002B0004, 0x00012005, 0x0028000F, 0x00280014, 0x0B000001, 0x002B0004, 0x00012005, 0x0028000F, 0x00280015, 0x0B000001, 0x002B0004, 0x00012005, 0x0028000F, 0x00280016, 0x0B000001, 0x002B0005, 0x00008004, 0x00280010, 0x00280017, 0x0B030001, 0x002B0006, 0x00008004, 0x00280011, 0x00280018, 0x0B040003, 0x002B0007, 0x00008004, 0x00280012, 0x00280019, 0x0B050004, 0x002B0008, 0x00012005, 0x0028001C, 0x00280021, 0x0B00000F, 0x002B0008, 0x00012005, 0x0028001C, 0x00280022, 0x0B00000F, 0x002B0008, 0x00012005, 0x0028001C, 0x00280023, 0x0B00000F, 0x002B0009, 0x00012005, 0x0028001D, 0x00280024, 0x0B030003, 0x002B000A, 0x00008004, 0x0028001E, 0x00280025, 0x0B060003, 0x002B000B, 0x00008002, 0x0028001F, 0x00280026, 0x0B080003, 0x002B000C, 0x00010003, 0x00280029, 0x0028002E, 0x0B000000, 0x002B000C, 0x00010003, 0x00280029, 0x0028002F, 0x0B000000, 0x002B000C, 0x00010003, 0x00280029, 0x00280030, 0x0B000000, 0x002B000D, 0x00010003, 0x0028002A, 0x00280031, 0x0B030005, 0x002B000E, 0x00008403, 0x0028002B, 0x00280032, 0x0B030003, 0x002B000F, 0x00008002, 0x0028002C, 0x00280033, 0x0B060004, 0x800989D0, 0x00000003, 0x00000000, 0x00000000, 0x0B000000, 0x800989D0, 0x00000003, 0x00000000, 0x00000000, 0x0B000000, 0x800989D0, 0x00000003, 0x00000000, 0x00000000, 0x0B000000, 0x800989C0, 0x00000004, 0x00000000, 0x00000000, 0x0B000000, 0x800989B4, 0x00000003, 0x00000000, 0x00000000, 0x0B000000, 0x800989A8, 0x00000003, 0x00000000, 0x00000000, 0x0B000000, 0x002B0014, 0x00000003, 0x00280043, 0x00280048, 0x0B00000F, 0x002B0014, 0x00000003, 0x00280043, 0x00280049, 0x0B00000F, 0x002B0014, 0x00000003, 0x00280043, 0x0028004A, 0x0B00000F, 0x002B0015, 0x00000003, 0x00280044, 0x0028004B, 0x0B020003, 0x002B0016, 0x00000008, 0x00280045, 0x0028004C, 0x0B03000A, 0x002B0017, 0x00008002, 0x00280046, 0x0028004D, 0x0B05000C, 0x002B0018, 0x00054881, 0x00280050, 0x00280055, 0x0B000001, 0x002B0018, 0x00054881, 0x00280050, 0x00280056, 0x0B000001, 0x002B0018, 0x00054881, 0x00280050, 0x00280057, 0x0B000001, 0x002B0019, 0x00000003, 0x00280051, 0x00280058, 0x0B03000E, 0x002B001A, 0x00000008, 0x00280052, 0x00280059, 0x0B03000A, 0x002B001B, 0x00008002, 0x00280053, 0x0028005A, 0x0B060008, 0x002B001C, 0x00000003, 0x0028005D, 0x00280062, 0x0B000010, 0x002B001C, 0x00000003, 0x0028005D, 0x00280063, 0x0B000010, 0x002B001C, 0x00000003, 0x0028005D, 0x00280064, 0x0B000010, 0x002B001D, 0x00008002, 0x0028005E, 0x00280065, 0x0B040004, 0x002B001E, 0x00000008, 0x0028005F, 0x00280066, 0x0B04000A, 0x002B001F, 0x00008002, 0x00280060, 0x00280067, 0x0B05000C, 0x002B0010, 0x00000003, 0x00280036, 0x0028003B, 0x0B000004, 0x002B0010, 0x00000003, 0x00280036, 0x0028003C, 0x0B000004, 0x002B0010, 0x00000003, 0x00280036, 0x0028003D, 0x0B000004, 0x002B0011, 0x00000008, 0x00280037, 0x0028003E, 0x0B0200FF, 0x002B0012, 0x00008002, 0x00280038, 0x0028003F, 0x0B030004, 0x002B0013, 0x00000003, 0x00280039, 0x00280040, 0x0B050004, 0x00000000, 0x00000000, 0x00000000, 0x802EBFF0, 0x802EC010, 0x802EC030, 0x802EC050, 0x802EC070, 0x802EC090, 0x802EC0B0, 0x802EC0D0, 0x802EC0F0, 0x802EC110, 0x802EC130, 0x802EC150, 0x802EC170, 0x802EC190, 0x802EC1B0, 0x802EC1D0, 0x802EC1F0, 0x802EC210, 0x802EC230, 0x802EC250, 0x802EC270, 0x802EC290, 0x802EC2B0, 0x802EC2D0, 0x802EC2F0, 0x802EC310, 0x802EC330, 0x802EC350, 0x802EC370, 0x802EC390, 0x802EC3B0, 0x802EC3D0 + +glabel D_8008FF60 +.word 0x00000000, 0x00000001, 0x00000002, 0x00000003 + +glabel D_8008FF70 +.word 0x00040006, 0x00050004, 0x00070006, 0x00000003, 0x00040003, 0x00070004, 0x00030002, 0x00070002, 0x00060007, 0x00020001, 0x00060001, 0x00050006, 0x00010000, 0x00050000, 0x00040005, 0x00000001, 0x00020000, 0x00020003 + +glabel D_8008FFB8 +.word 0x00000000, 0x3F800000, 0x00000000, 0x00000000, 0x3F800000, 0x00000000, 0x3F800000, 0x00000000, 0x00000000, 0x3F800000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0xBF800000, 0x00000000, 0x00000000, 0xBF800000, 0xBF800000, 0x00000000, 0x00000000, 0xBF800000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x3F800000, 0x00000000, 0x00000000, 0x3F800000, 0x00000000, 0xBF800000, 0x00000000, 0x00000000, 0xBF800000, 0x00000000, 0x00000000, 0x00000000 diff --git a/asm/data/code_10400_len_d30.data.s b/asm/data/code_10400_len_d30.data.s deleted file mode 100644 index 0aa94e97a3..0000000000 --- a/asm/data/code_10400_len_d30.data.s +++ /dev/null @@ -1,717 +0,0 @@ -.include "macro.inc" - -.section .data - -glabel D_80077950 -.word 0x8038F800, 0x803B5000, D_803DA800 - -glabel D_8007795C -.word 0x00135EE0, 0x00163400, pause_set_cursor_opacity, pause_set_cursor_opacity, gPauseMenuIconScripts, gPauseMenuIconScripts, gPauseMenuHeldButtons, gPauseMenuHeldButtons, 0x80278640 - -glabel D_80077980 -.word 0x8038F800, 0x803B5000, D_803DA800 - -glabel D_8007798C -.word 0x00163400, 0x0016C8E0, pause_set_cursor_opacity, pause_set_cursor_opacity, 0x80249B80, 0x80249B80, 0x8024C080, 0x8024C080, 0x8024C120 - -glabel D_800779B0 -.word 0x00000000, 0x00000000, 0x00000000, 0x00000000 - -glabel D_800779C0 -.word 0x00000000 - -glabel D_800779C4 -.word 0x00000000 - -glabel D_800779C8 -.short 0x0000 - -glabel D_800779CA -.short 0x0045 - -glabel D_800779CC -.word 0x52524F52 - -glabel D_800779D0 -.word 0xF7F7F700 - -glabel D_800779D4 -.word 0x00000000 - -glabel D_800779D8 -.word 0x00000000, 0x00000000, 0x00000045, 0x52524F52, 0xF7F7F700, 0x00000000, 0x00000000, 0x00000000, 0x00000045, 0x52524F52, 0xF7F7F700, 0x00000000, 0x00000000, 0x00000000, 0x00000045, 0x52524F52, 0xF7F7F700, 0x00000000, 0x00000000, 0x01010101 - -glabel D_80077A28 -.byte 0x00, 0x00, 0x00 - -glabel D_80077A2B -.byte 0x00 - -glabel D_80077A2C -.word 0x00000000 - -glabel D_80077A30 -.word 0x00000000 - -glabel D_80077A34 -.word 0x00000000, 0xFFFFFF00, 0xFFFFFF00 - -glabel D_80077A40 -.word 0x00000000, 0x00000000, 0x00000000, 0x00000000 - -glabel D_80077A50 -.word 0xE7000000, 0x00000000, 0xE3000A01, 0x00000000, 0xE200001C, 0x00504340, 0xFCFFFFFF, 0xFFFCF279, 0xE3001201, 0x00000000, 0xD7000002, 0xFFFFFFFF, 0xE3000C00, 0x00000000, 0xE3001801, 0x000000C0, 0xE3001A01, 0x00000030, 0xE3000F00, 0x00000000, 0xE3001001, 0x00000000, 0xE3000D01, 0x00000000, 0xE3001402, 0x00000C00, 0xE3001700, 0x00000000, 0xE2001E01, 0x00000000, 0x00000000, 0x00000000, 0xED000000, 0x005003C0, 0xDF000000, 0x00000000 - -glabel D_80077AE0 -.word 0x00000002, 0x00019D00, 0x80098454, 0x00020000, 0x00000000, 0x00000000, 0x00000005, 0x00049D00, 0x8009844C, 0x00000002, 0x00029D00, 0x80098444, 0x00000002, 0x0004B300, 0x8009843C, 0x00000004, 0x00079D00, 0x80098434, 0x00020001, 0x00000000, 0x00000000, 0x00000006, 0x00039D00, 0x8009842C, 0x00000002, 0x00021B00, 0x80098424, 0x00020002, 0x00000000, 0x00000000, 0x00000003, 0x00039D00, 0x8009841C, 0x00000004, 0x00019D00, 0x80098414, 0x00020003, 0x00000000, 0x00000000, 0x00010008, 0x000B2600, 0x8009840C, 0x00000002, 0x0009E800, 0x80098404, 0x00020004, 0x00000000, 0x00000000, 0x00000003, 0x00019D00, 0x80098454, 0x00010003, 0x00009D00, 0x800983FC, 0x00030000, 0x00000000, 0x800983F8, 0x00000000, 0x00000000, 0x00000000, 0x50726720, 0x5665722E, 0x30302F31, 0x322F3035, 0x2031363A, 0x35340000, 0x00000000, 0x00000000 - -glabel D_80077BF0 -.word 0x01020034, 0x01040036, 0x00360102, 0x001C0102, 0x00060102, 0x002C0102, 0x002CFF00, 0x00000000 - -glabel D_80077C10 -.word 0x00000000 - -glabel D_80077C14 -.word 0x00040000 - -glabel D_80077C18 -.word 0x00000000 - -glabel D_80077C1C -.short 0x0004 - -glabel D_80077C1E -.short 0x0005 - -glabel D_80077C20 -.word 0x00000000 - -glabel D_80077C24 -.word 0x00000000 - -glabel D_80077C28 -.word 0x00040000 - -glabel D_80077C2C -.word 0x00000000 - -glabel D_80077C30 -.word 0x00040000 - -glabel D_80077C34 -.word 0x00000000 - -glabel D_80077C38 -.short 0x0004 - -glabel D_80077C3A -.short 0x0004, 0x0000, 0x0000 - -glabel D_80077C40 -.word 0x00000000 - -glabel D_80077C44 -.word 0x00000008, 0x00000001, 0x0000000A, 0x00000043, 0x00000001, FadeBackgroundToBlack, 0x00000008, 0x00000001, 0x0000000A, 0x00000043, 0x00000003, CreateNpc, 0xFFFFFFF6, 0x00BB0001, 0x00000043, 0x00000004, SetNpcFlagBits, 0xFFFFFFF6, 0x00000100, 0x00000001, 0x00000043, 0x00000003, SetNpcYaw, 0xFFFFFFF6, 0x00000000, 0x00000043, 0x00000001, GetCamLookAtObjVector, 0x00000043, 0x00000005, SetNpcPos, 0xFFFFFFF6, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000056, 0x00000000, 0x00000043, 0x00000001, 0x8003F0C4, 0x00000057, 0x00000000, 0x00000043, 0x00000001, 0x8003F018, 0x00000008, 0x00000001, 0x0000001E, 0x00000043, 0x00000003, SetNpcAnimation, 0xFFFFFFF6, 0x00BB0000, 0x00000043, 0x00000001, 0x8003F384, 0x00000043, 0x00000001, UnfadeBackgroundFromBlack, 0x00000008, 0x00000001, 0x00000014, 0x00000056, 0x00000000, 0x00000043, 0x00000001, 0x8003F084, 0x00000043, 0x00000002, DeleteNpc, 0xFFFFFFF6, 0x00000057, 0x00000000, 0x00000043, 0x00000002, PlaySound, 0x00002075, 0x00000043, 0x00000004, GetPlayerPos, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000004, 0x8003F414, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000004, 0x8003F4CC, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000008, 0x00000001, 0x0000000F, 0x00000043, 0x00000001, 0x8003EE98, 0x00000008, 0x00000001, 0x0000000F, 0x00000043, 0x00000001, HasMerleeCasts, 0x0000000A, 0x00000002, 0xFE363C80, 0x00000001, 0x00000002, 0x00000000, 0x00000013, 0x00000000, 0x00000043, 0x00000001, 0x8003EECC, 0x00000008, 0x00000001, 0x0000000F, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -glabel SCRIPT_NpcDefeat -.word 0x00000043, 0x00000002, GetBattleOutcome, 0xFE363C80, 0x00000014, 0x00000001, 0xFE363C80, 0x00000016, 0x00000001, 0x00000000, 0x00000043, 0x00000001, OnDefeatEnemy, 0x00000016, 0x00000001, 0x00000001, 0x00000016, 0x00000001, 0x00000002, 0x00000023, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -glabel D_80077E9C -.word 0x00000043, 0x00000001, OnFleeBattleDrops, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -glabel D_80077EB8 -.word 0x800A008A, 0x0032FFFF, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00005FFF, 0x7FFF0000, 0x00013FFF, 0x5FFF0000, 0x00021FFF, 0x3FFF0000, 0x00030000, 0x1FFF0000, 0x00040000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000001, 0x00030000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000043, 0x00000002, GetOwnerEncounterTrigger, 0xFE363C80, 0x00000014, 0x00000001, 0xFE363C80, 0x00000016, 0x00000001, 0x00000001, 0x0000001D, 0x00000001, 0x00000002, 0x0000001D, 0x00000001, 0x00000004, 0x0000001D, 0x00000001, 0x00000006, 0x00000043, 0x00000003, GetSelfAnimationFromTable, 0x00000007, 0xFE363C80, 0x00000046, 0x00000001, 0x800936DC, 0x00000016, 0x00000001, 0x00000003, 0x00000056, 0x00000000, 0x00000043, 0x00000002, 0x800458CC, 0xFE363C80, 0x0000000A, 0x00000002, 0xFE363C80, 0x00000000, 0x00000024, 0x00000002, 0xFE363C8A, 0x00000000, 0x00000005, 0x00000001, 0x0000001E, 0x00000027, 0x00000002, 0xFE363C8A, 0x00000028, 0x00000043, 0x00000005, SetNpcRotation, 0xFFFFFFFF, 0x00000000, 0xFE363C8A, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000006, 0x00000000, 0x00000013, 0x00000000, 0x00000057, 0x00000000, 0x00000020, 0x00000000, 0x00000023, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000, 0x00000043, 0x00000005, SetNpcRotation, 0xFFFFFFFF, 0x00000000, 0x00000000, 0x00000000, 0x00000043, 0x00000002, GetBattleOutcome, 0xFE363C80, 0x00000014, 0x00000001, 0xFE363C80, 0x00000016, 0x00000001, 0x00000000, 0x00000043, 0x00000001, DoNpcDefeat, 0x00000016, 0x00000001, 0x00000002, 0x00000043, 0x00000002, 0x80045900, 0x00000000, 0x00000016, 0x00000001, 0x00000003, 0x00000043, 0x00000004, SetEnemyFlagBits, 0xFFFFFFFF, 0x00000010, 0x00000001, 0x00000043, 0x00000002, RemoveNpc, 0xFFFFFFFF, 0x00000023, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000, 0x00000000, 0x00000000, 0x00000000 - -glabel D_80078160 -.word 0x001C0028 - -glabel D_80078164 -.word 0x0000FFFE - -glabel D_80078168 -.word 0x001D0074, 0x001D0075 - -glabel D_80078170 -.word 0x00000000 - -glabel D_80078174 -.word 0x00000000 - -glabel D_80078178 -.word 0x00000000 - -glabel D_8007817C -.word 0x00000000 - -glabel D_80078180 -.byte 0x01 - -glabel D_80078181 -.byte 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - -glabel D_80078190 -.word 0xF8030125, 0x07D0FDBC, 0xF8860355, 0x06FCFBAB, 0xFEDAF82D, 0x0245077D, 0xFCA9F901, 0x0456065D, 0xFC33FBB2, 0xFCEFFE94, 0xFFD80080, 0x00A4007D, 0x090E0673, 0x02FF0053, 0xFEF2FEA7, 0xFEF9FF7B - -glabel D_800781D0 -.word 0xB1011110, 0x00FFFE34, 0xBB90E21E, 0x00FB10EF, 0xF2D180C4, 0xB3B1D3CF, 0xD1FDFE80, 0x1D2D3D3B, 0x2C3BFC1D, 0x80DEF0D0, 0xD3D2B3D1, 0xF480A203, 0xD00DA9EA, 0xCB729041, 0x4E1D2D0C, 0x1E102F90, 0xF21203F0, 0xC2D1D4F3, 0x80B0A1BF, 0xD21E1270, 0x4D804C39, 0x2C7E306D, 0xB9CF90E1, 0xF2F3F2E1, 0xE21622C1, 0xE728F4F0, 0x211010FF, 0xA1ED9F2F, 0xF561333C, 0xD0A1DAC2, 0xFF144122, 0x2DEFA1FA, 0xE10E2330, 0x320EF091, 0x9AF2CF55, 0x1361EE1C, 0x919D0FD2, 0x52064DE1, 0x0991D01B, 0x152E36FD, 0x12CB8122, 0xBC65F073, 0xCE3FAE71, 0x4E9370F5, 0x6ED21BD1, 0x610A5D00, 0x00000000, 0x00000000 - -glabel D_80078290 -.word 0x00000003, 0x0000000B, 0x00000000, 0x00000009, 0x00002666, 0xFFFFD99A, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000003, 0x00000007, 0x00000CCC, 0xFFFFF334, 0x00003FFF, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x0000000A, 0x00001388, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00005000 - -glabel D_800782F8 -.word 0x00000001, 0x0000000B, 0x00000000, 0x0000000A, 0x00004E20, 0x00000000, 0x00007FFF, 0x00000000, 0x00000000, 0x00007FFF - -glabel D_80078320 -.word 0x00000001, 0x0000000D, 0x00000000, 0x0000000C, 0x00004E20, 0x00000000, 0x00007FFF, 0x00000000, 0x00000000, 0x00007FFF - -glabel D_80078348 -.short 0x0000, 0x0001, 0x0000, 0x000E, 0x0000, 0x0000, 0x0000, 0x000D, 0x0000, 0x4E20, 0x0000, 0x0000, 0x0000, 0x7FFF, 0x0000, 0x0000, 0x0000 - -glabel D_8007836A -.short 0x0000, 0x0000, 0x7FFF, 0x034A, 0x0349, 0x0100, 0x0000, 0x0100, 0x0000, 0x0008, 0x0012, 0x3C7F, 0x2D7F, 0x2B5F, 0x1D00, 0xFF00, 0x2700, 0xFF00, 0x0000, 0x0100, 0x0000, 0x0008, 0x001A, 0x3C7F, 0x237F, 0x3C3F, 0x2A1F, 0x2A0F, 0x2A07, 0x2A03, 0x3600, 0xFF00, 0x3600, 0xFF00, 0x0000, 0x3433, 0x7F26, 0x3F16, 0x00FF, 0x343B, 0x7F3B, 0x3FFF, 0x0000 - -glabel D_800783C0 -.word 0x80078378, 0x80078390, 0x80078390, 0x80078390, 0x80078390, 0x80078390, 0x80078390, 0x80078390, 0x80078390, 0x80078390, 0x80078390, 0x80078390, 0x80078390, 0x80078390, 0x80078390, 0x80078390 - -glabel D_80078400 -.word 0x8004CE70, 0x8004CEA4, 0x8004CEC4, 0x8004CF0C - -glabel D_80078410 -.word 0x8004CF3C, 0x8004D00C, 0x8004D038, 0x8004D050, 0x8004D07C, 0x8004D114, 0x8004D130, 0x8004D15C, 0x8004D180, 0x8004D1B4, 0x8004D23C, 0x8004D2B0, 0x8004D2E4, 0x8004D310, 0x8004D31C, 0x8004D324, 0x8004D33C, 0x8004D354, 0x8004D36C, 0x8004D3A0, 0x8004D3F8 - -glabel D_80078464 -.word 0x00000000, 0x00000000, 0x00000000 - -glabel D_80078470 -.word 0x8004FBBC, 0x8004FCB4, 0x8004FCE4, 0x8004FD04, 0x8004FD94, 0x8004FE10, 0x8004FD38, 0x80050560, 0x8004FE6C, 0x8004FEB0, 0x8004FF3C, 0x8004FF58, 0x8004FF70, 0x8004FF88, 0x8004FFA8, 0x8004FFB4, 0x8004FFC8, 0x8004FFE4, 0x8004FFF0, 0x8004FFFC, 0x80050004, 0x80050020, 0x8004FED0, 0x80050128, 0x80050560, 0x80050560, 0x80050560, 0x80050560, 0x800501A8, 0x8005015C, 0x80050184, 0x800502F0, 0x02010101, 0x04030200, 0x02010101, 0x01010102, 0x03010100, 0x02010301, 0x00000000, 0x03030303 - -glabel D_80078510 -.word 0x30182028, 0x30384030, 0x00000000, 0x00000000 - -glabel D_80078520 -.word 0x00000000, 0x00000000, 0x00000000, 0x00000000 - -glabel D_80078530 -.word 0x00000200, 0x08001200, 0x20003200, 0x48006200, 0x80000000 - -glabel D_80078544 -.word 0x01000000, 0x0008000C - -glabel D_8007854C -.word 0x3D7FFF00, 0x3400FF00 - -glabel D_80078554 -.word 0x5C00FF00 - -glabel D_80078558 -.ascii "^]\\[ZXVSQOJE@;7531/-+)'&%#! " - -glabel D_80078580 -.word 0x03040506, 0x0708090A, 0x0B0C0D0E, 0x0F101112, 0x13141516, 0x17000000, 0x00000000, 0x00000000 - -glabel D_800785A0 -.word 0x0393756C, 0x034736DE, 0x02FAE1DA, 0x02AEA34C, 0x02624E48, 0x0215F944, 0x01C9BAB6, 0x01A39034, 0x017D65B2, 0x015751A6, 0x01312724, 0x0121E2F0, 0x01129EBC, 0x01035A88, 0x00F41654, 0x00E4D220, 0x00D58DEC, 0x00C649B8, 0x00B70584, 0x00A7D7C6, 0x00989392, 0x00894F5E, 0x007A0B2A, 0x006AC6F6, 0x005B82C2, 0x004C3E8E, 0x00449C74, 0x003CFA5A, 0x00355840, 0x002DB626, 0x0029F054, 0x0026140C, 0x00224E3A, 0x001E71F2, 0x001CF41C, 0x001B7646, 0x0019E1FA, 0x00186424, 0x0016CFD8, 0x00155202, 0x0013D42C, 0x00123FE0, 0x0010C20A, 0x000F2DBE, 0x000E7A0E, 0x000DAFE8, 0x000CE5C2, 0x000C3212, 0x000B67EC, 0x000A9DC6, 0x0009EA16, 0x00091FF0, 0x000855CA, 0x00078BA4, 0x0006D7F4, 0x00060DCE, 0x0005B3F6, 0x000543A8, 0x0004E9D0, 0x00048FF8, 0x0004630C, 0x00043620, 0x00040934, 0x0003F2BE, 0x0003C5D2, 0x000398E6, 0x00038270, 0x00035584, 0x00032898, 0x0002FBAC, 0x0002E536, 0x0002B84A, 0x00028B5E, 0x00025E72, 0x000247FC, 0x00021B10, 0x0001EE24, 0x0001C138, 0x0001AAC2, 0x00017DD6, 0x00016760, 0x00013A74, 0x00010D88, 0x0000F712, 0x0000E09C, 0x0000CA26, 0x0000B3B0, 0x00009D3A, 0x000086C4, 0x0000704E, 0x000059D8, 0x00004362, 0x00002CEC, 0x00001676, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000 - -glabel D_80078730 -.word 0x3F800000, 0x3F8012EF, 0x3F8025E1, 0x3F8038D6, 0x3F804BCD, 0x3F805EC7, 0x3F8071C4, 0x3F8084C4, 0x3F8097C7, 0x3F80AACC, 0x3F80BDD4, 0x3F80D0DF, 0x3F80E3ED, 0x3F80F6FE, 0x3F810A12, 0x3F811D28, 0x3F813041, 0x3F81435D, 0x3F81567C, 0x3F81699E, 0x3F817CC2, 0x3F818FE9, 0x3F81A313, 0x3F81B640, 0x3F81C970, 0x3F81DCA3, 0x3F81EFD9, 0x3F820311, 0x3F82164C, 0x3F82298A, 0x3F823CCB, 0x3F82500F, 0x3F826356, 0x3F82769F, 0x3F8289EB, 0x3F829D3A, 0x3F82B08C, 0x3F82C3E1, 0x3F82D739, 0x3F82EA94, 0x3F82FDF1, 0x3F831151, 0x3F8324B4, 0x3F83381A, 0x3F834B83, 0x3F835EEF, 0x3F83725E, 0x3F8385D0, 0x3F839944, 0x3F83ACBB, 0x3F83C035, 0x3F83D3B2, 0x3F83E732, 0x3F83FAB5, 0x3F840E3B, 0x3F8421C4, 0x3F84354F, 0x3F8448DD, 0x3F845C6E, 0x3F847002, 0x3F848399, 0x3F849733, 0x3F84AAD0, 0x3F84BE70, 0x3F84D213, 0x3F84E5B9, 0x3F84F961, 0x3F850D0C, 0x3F8520BA, 0x3F85346B, 0x3F85481F, 0x3F855BD6, 0x3F856F90, 0x3F85834D, 0x3F85970D, 0x3F85AAD0, 0x3F85BE96, 0x3F85D25F, 0x3F85E62A, 0x3F85F9F8, 0x3F860DC9, 0x3F86219D, 0x3F863574, 0x3F86494E, 0x3F865D2B, 0x3F86710B, 0x3F8684EE, 0x3F8698D4, 0x3F86ACBD, 0x3F86C0A9, 0x3F86D498, 0x3F86E88A, 0x3F86FC7F, 0x3F871077, 0x3F872472, 0x3F87386F, 0x3F874C6F, 0x3F876072, 0x3F877478, 0x3F878881, 0x3F879C8D, 0x3F87B09C, 0x3F87C4AE, 0x3F87D8C3, 0x3F87ECDB, 0x3F8800F6, 0x3F881514, 0x3F882935, 0x3F883D59, 0x3F885180, 0x3F8865AA, 0x3F8879D7, 0x3F888E07, 0x3F88A23A, 0x3F88B670, 0x3F88CAA9, 0x3F88DEE5, 0x3F88F324, 0x3F890766, 0x3F891BAB, 0x3F892FF3, 0x3F89443E, 0x3F89588C, 0x3F896CDD, 0x3F898131, 0x3F899588, 0x3F89A9E2, 0x3F89BE3F, 0x3F800000, 0x3F89D29F, 0x3F946637, 0x3F9FC997, 0x3FAC0CB1, 0x3FB940B0, 0x3FC77811, 0x3FD6C6BB, 0x3FE7421D, 0x3FF9014B, 0x40060E8F, 0x4010582B, 0x401B6BE2, 0x40275936, 0x403430DA, 0x404204C9, 0x4050E860, 0x4060F077, 0x40723381, 0x408264D5, 0x408C667B, 0x40972CB6, 0x40A2C69C, 0x40AF446B, 0x40BCB7A0, 0x40CB3311, 0x40DACB04, 0x40EB954F, 0x40FDA974, 0x41089062, 0x41130B3F, 0x411E53FF, 0x3F800000, 0x3F7FDA28, 0x3F7FB456, 0x3F7F8E89, 0x3F7F68C2, 0x3F7F4300, 0x3F7F1D44, 0x3F7EF78E, 0x3F7ED1DD, 0x3F7EAC32, 0x3F7E868C, 0x3F7E60EC, 0x3F7E3B51, 0x3F7E15BC, 0x3F7DF02C, 0x3F7DCAA2, 0x3F7DA51E, 0x3F7D7F9F, 0x3F7D5A26, 0x3F7D34B2, 0x3F7D0F44, 0x3F7CE9DB, 0x3F7CC478, 0x3F7C9F1A, 0x3F7C79C2, 0x3F7C546F, 0x3F7C2F22, 0x3F7C09DA, 0x3F7BE498, 0x3F7BBF5B, 0x3F7B9A24, 0x3F7B74F2, 0x3F7B4FC6, 0x3F7B2A9F, 0x3F7B057E, 0x3F7AE062, 0x3F7ABB4C, 0x3F7A963B, 0x3F7A7130, 0x3F7A4C2A, 0x3F7A272A, 0x3F7A022F, 0x3F79DD3A, 0x3F79B84A, 0x3F799360, 0x3F796E7B, 0x3F79499C, 0x3F7924C2, 0x3F78FFED, 0x3F78DB1E, 0x3F78B654, 0x3F789190, 0x3F786CD1, 0x3F784818, 0x3F782364, 0x3F77FEB6, 0x3F77DA0D, 0x3F77B569, 0x3F7790CB, 0x3F776C32, 0x3F77479F, 0x3F772311, 0x3F76FE88, 0x3F76DA05, 0x3F76B587, 0x3F76910F, 0x3F766C9C, 0x3F76482E, 0x3F7623C6, 0x3F75FF63, 0x3F75DB06, 0x3F75B6AE, 0x3F75925B, 0x3F756E0E, 0x3F7549C6, 0x3F752583, 0x3F750146, 0x3F74DD0E, 0x3F74B8DB, 0x3F7494AE, 0x3F747086, 0x3F744C63, 0x3F742846, 0x3F74042E, 0x3F73E01C, 0x3F73BC0F, 0x3F739807, 0x3F737404, 0x3F735007, 0x3F732C0F, 0x3F73081C, 0x3F72E42F, 0x3F72C047, 0x3F729C64, 0x3F727887, 0x3F7254AF, 0x3F7230DC, 0x3F720D0F, 0x3F71E947, 0x3F71C584, 0x3F71A1C6, 0x3F717E0E, 0x3F715A5B, 0x3F7136AD, 0x3F711305, 0x3F70EF62, 0x3F70CBC4, 0x3F70A82B, 0x3F708498, 0x3F70610A, 0x3F703D81, 0x3F7019FD, 0x3F6FF67F, 0x3F6FD306, 0x3F6FAF92, 0x3F6F8C23, 0x3F6F68BA, 0x3F6F4556, 0x3F6F21F7, 0x3F6EFE9D, 0x3F6EDB49, 0x3F6EB7FA, 0x3F6E94B0, 0x3F6E716B, 0x3F6E4E2B, 0x3F6E2AF1, 0x3F6E07BC, 0x3F6DE48C, 0x3F800000, 0x3F6DC161, 0x3F5CCFA0, 0x3F4D1303, 0x3F3E7583, 0x3F30E2A9, 0x3F244774, 0x3F18923F, 0x3F0DB2A4, 0x3F03996B, 0x3EF470E1, 0x3EE30526, 0x3ED2D741, 0x3EC3D08B, 0x3EB5DBFB, 0x3EA8E607, 0x3E9CDC8A, 0x3E91AEA9, 0x3E874CBE, 0x3E7B5080, 0x3E69675D, 0x3E58C500, 0x3E495220, 0x3E3AF91B, 0x3E2DA5DB, 0x3E2145B8, 0x3E15C75E, 0x3E0B1AB6, 0x3E0130CE, 0x3DEFF78B, 0x3DDEDD71, 0x3DCEFB5A, 0x3DC03B0C, 0x3DB287E0, 0x3DA5CEA6, 0x3D99FD90, 0x3D8F0410, 0x3D84D2CB, 0x3D76B6F6, 0x3D6521C0, 0x3D54CD52, 0x3D45A2D5, 0x3D378D0A, 0x3D2A7839, 0x3D1E5213, 0x3D130992, 0x3D088EF0, 0x3CFDA6F5, 0x3CEB932C, 0x3CDAC934, 0x3CCB318C, 0x3CBCB65A, 0x3CAF435F, 0x3CA2C5C3, 0x3C972C06, 0x3C8C65F5, 0x3C826474, 0x3C7232F8, 0x3C60F025, 0x3C50E83A, 0x3C4204D2, 0x3C3430FF, 0x3C275980, 0x3C1B6C42, 0x3C10589D, 0x3C060F18, 0x3BF90275, 0x3BE7435B, 0x3BD6C80E, 0x3BC7797C, 0x3BB9422B, 0x3BAC0E26, 0x3B9FCB0C, 0x3B9467C1, 0x3B89D42A, 0x3B800183, 0x3B6DC413, 0x3B5CD229, 0x3B4D1572, 0x3B3E77CA, 0x3B30E4BA, 0x3B24494B, 0x3B18940B, 0x3B0DB45E, 0x3B039B00, 0x3AF473B0, 0x3AE307F8, 0x3AD2D9AC, 0x3AC3D2FE, 0x3AB5DE1E, 0x3AA8E7EB, 0x3A9CDE48, 0x3A91B06C, 0x3A874E3D, 0x3A7B5348, 0x3A696A67, 0x3A58C7AD, 0x3A495447, 0x3A3AFB69, 0x3A2DA799, 0x3A214763, 0x3A15C955, 0x3A0B1CA9, 0x3A01329B, 0x39EFFA23, 0x39DEDFF5, 0x39CEFD29, 0x39C03D9D, 0x39B28A81, 0x39A5D10A, 0x3999FFC6, 0x398F0541, 0x3984D410, 0x3976BADD, 0x39652533, 0x3954CEFA, 0x3945A566, 0x39379050, 0x392A7A3D, 0x391E5312, 0x39130AB4, 0x39089109, 0x38FDABE8, 0x38EB9814, 0x38DACBBE, 0x38CB316C, 0x38BCB903, 0x38AF47AC - -glabel D_80078DB0 -.word 0x00000000 - -glabel D_80078DB4 -.short 0x0000 - -glabel D_80078DB6 -.short 0x0000 - -glabel D_80078DB8 -.word 0x025E0350, 0x04640554, 0x00000000 - -glabel D_80078DC4 -.word 0x0264036E, 0x045A0000 - -glabel D_80078DCC -.word 0x025F0000 - -glabel D_80078DD0 -.word 0x0546065A, 0x075A0864, 0x00000000 - -glabel D_80078DDC -.word 0x05000600, 0x07000800, 0x09000A00, 0x0B000C00, 0x0D000E00, 0x0F001000, 0x00000000 - -glabel D_80078DF8 -.word 0x05640666, 0x0758086E, 0x09000A00, 0x0B000C00, 0x0D000E00, 0x0F001000, 0x00000000 - -glabel D_80078E14 -.word 0x05640666, 0x0758086E, 0x097E0A58, 0x0B640C00, 0x0D000E00, 0x0F001000, 0x00000000 - -glabel D_80078E30 -.word 0x05640666, 0x0758086E, 0x097E0A58, 0x0B640C64, 0x0D6A0E64, 0x0F64106E, 0x00000000, 0x00000000 - -glabel D_80078E50 -.word 0x00000000 - -glabel D_80078E54 -.word 0x00000000 - -glabel D_80078E58 -.short 0x0000 - -glabel D_80078E5A -.short 0x7FFF - -glabel D_80078E5C -.word 0x00000000 - -glabel D_80078E60 -.word 0x7FFF7FFC, 0x7FF57FE8, 0x7FD77FC0, 0x7FA57F84, 0x7F5F7F34, 0x7F057ED0, 0x7E977E58, 0x7E157DCD, 0x7D7F7D2D, 0x7CD67C7A, 0x7C1A7BB4, 0x7B497ADA, 0x7A6679ED, 0x796F78ED, 0x786677DA, 0x774976B4, 0x761A757B, 0x74D87430, 0x738472D3, 0x721E7164, 0x70A66FE3, 0x6F1C6E51, 0x6D816CAD, 0x6BD56AF9, 0x6A186933, 0x684A675D, 0x666C6577, 0x647E6381, 0x6280617C, 0x60735F67, 0x5E575D43, 0x5C2C5B11 - -glabel D_80078EE0 -.word 0x59F258D0, 0x57AA5681, 0x55555425, 0x52F251BC, 0x50824F46, 0x4E064CC3, 0x4B7D4A35, 0x48E9479B, 0x464944F5, 0x439E4245, 0x40E93F8A, 0x3E293CC6, 0x3B6039F8, 0x388D3721, 0x35B23441, 0x32CE3159, 0x2FE22E69, 0x2CEF2B72, 0x29F42875, 0x26F32570, 0x23EC2266, 0x20DF1F57, 0x1DCE1C43, 0x1AB7192A, 0x179C160E, 0x147E12ED, 0x115C0FCA, 0x0E380CA5, 0x0B11097D, 0x07E90654, 0x04C0032A, 0x01950000, 0xBF800000, 0x00000000, 0x36813045, 0x36CCC25E, 0x37013056, 0x3715FBD1, 0x3726F96C, 0x373556F8, 0x3741C897, 0x374CC288, 0x3756941E, 0x375F75EA, 0x376791B7, 0x376F074D, 0x3775EF48, 0x377C5D3E, 0x37813079, 0x3784039E, 0x3786AD71, 0x37893260, 0x378B9637, 0x378DDC3A, 0x37900722, 0x3792195F, 0x37941509, 0x3795FC00, 0x3797CFD4, 0x37999207, 0x379B43D7, 0x379CE668, 0x379E7AD2, 0x37A001F1, 0x37A17CA6, 0x37A2EBB8, 0x37A44FD1, 0x37A5A99A, 0x37A6F9A4, 0x37A84077, 0x37A97E93, 0x37AAB46F, 0x37ABE26F, 0x37AD08FC, 0x37AE286C, 0x37AF4119, 0x37B05355, 0x37B15F67, 0x37B26597, 0x37B36621, 0x37B46141, 0x37B55735, 0x37B64832, 0x37B7346C, 0x37B81C0C, 0x37B8FF46, 0x37B9DE3F, 0x37BAB91E, 0x37BB900F, 0x37BC632E, 0x37BD32A6, 0x37BDFE8D, 0x37BEC70A, 0x37BF8C33, 0x37C04E29, 0x37C10D07, 0x37C1C8E4, 0x37C281D5, 0x37C337F0, 0x37C3EB51, 0x37C49C0E, 0x37C54A32, 0x37C5F5D3, 0x37C69F06, 0x37C745DC, 0x37C7EA67, 0x37C88CB5, 0x37C92CD3, 0x37C9CAD0, 0x37CA66BE, 0x37CB00A7, 0x37CB98A1, 0x37CC2EAD, 0x37CCC2DA, 0x37CD5539, 0x37CDE5D0, 0x37CE74AA, 0x37CF01D7, 0x37CF8D57, 0x37D01741, 0x37D09F93, 0x37D1265F, 0x37D1ABA5, 0x37D22F75, 0x37D2B1D5, 0x37D332CA, 0x37D3B25F, 0x37D43099, 0x37D4AD7F, 0x37D52921, 0x37D5A378, 0x37D61C91, 0x37D69476, 0x37D70B27, 0x37D780A9, 0x37D7F50E, 0x37D8684A, 0x37D8DA73, 0x37D94B84, 0x37D9BB87, 0x37DA2A7D, 0x37DA9870, 0x37DB055C, 0x37DB7150, 0x37DBDC4D, 0x37DC4658, 0x37DCAF71, 0x37DD179E, 0x37DD7EE3, 0x37DDE548, 0x37DE4AD0, 0x37DEAF77, 0x37DF1348, 0x37DF7648, 0x37DFD877, 0x37E039D4, 0x37E09A6C, 0x37E0FA3F, 0x37E1594B, 0x37E1B797, 0x37E21527, 0x37E271F8, 0x37E2CE18, 0x37E3297E, 0x37E38434, 0x37E3DE3F, 0x37E43795, 0x37E49046, 0x37E4E852, 0x37E53FB3, 0x37E59675, 0x37E5EC93, 0x37E64216, 0x37E696FF, 0x37E6EB49, 0x37E73F04, 0x37E79220, 0x37E7E4AC, 0x37E836AA, 0x37E88819, 0x37E8D8F8, 0x37E92949, 0x37E97916, 0x37E9C85A, 0x37EA1714, 0x37EA654F, 0x37EAB302, 0x37EB0035, 0x37EB4CF0, 0x37EB9927, 0x37EBE4E5, 0x37EC3024, 0x37EC7AF0, 0x37ECC543, 0x37ED0F1D, 0x37ED588A, 0x37EDA17D, 0x37EDEA02, 0x37EE3214, 0x37EE79B8, 0x37EEC0EE, 0x37EF07BB, 0x37EF4E1B, 0x37EF9412, 0x37EFD9A0, 0x37F01EC6, 0x37F06389, 0x37F0A7E4, 0x37F0EBDC, 0x37F12F71, 0x37F172A3, 0x37F1B577, 0x37F1F7EE, 0x37F23A02, 0x37F27BBE, 0x37F2BD17, 0x37F2FE18, 0x37F33EC1, 0x37F37F13, 0x37F3BF06, 0x37F3FEA2, 0x37F43DEB, 0x37F47CE2, 0x37F4BB7C, 0x37F4F9C8, 0x37F537C2, 0x37F57564, 0x37F5B2B9, 0x37F5EFBB, 0x37F62C71, 0x37F668DA, 0x37F6A4F0, 0x37F6E0B9, 0x37F71C3B, 0x37F75770, 0x37F79257, 0x37F7CCF2, 0x37F80746, 0x37F84151, 0x37F87B16, 0x37F8B493, 0x37F8EDC8, 0x37F926BC, 0x37F95F68, 0x37F997CD, 0x37F9CFEF, 0x37FA07D0, 0x37FA3F69, 0x37FA76C6, 0x37FAADE0, 0x37FAE4B9, 0x37FB1B50, 0x37FB51A5, 0x37FB87C3, 0x37FBBD99, 0x37FBF338, 0x37FC2896, 0x37FC5DB7, 0x37FC92A1, 0x37FCC749, 0x37FCFBBA, 0x37FD2FEE, 0x37FD63E6, 0x37FD97A8, 0x37FDCB2C, 0x37FDFE7A, 0x37FE3191, 0x37FE6470, 0x37FE9719, 0x37FEC985, 0x37FEFBC0, 0x37FF2DC4, 0x37FF5F96, 0x37FF912C, 0x37FFC291, 0x37FFF3C3, 0x38001260, 0x38002AC5, 0x38004311, 0x38005B42, 0x3800735B, 0x38008B5D, 0x3800A344, 0x3800BB14, 0x3800D2CA, 0x3800EA69, 0x380101F0, 0x38011960, 0x380130B8, 0x380147F7, 0x38015F23, 0x38017633, 0x38018D31, 0x3801A415, 0x3801BAE6, 0x3801D19F, 0x3801E841, 0x3801FECD, 0x38021544, 0x38022BA4, 0x380241F2, 0x38025829, 0x38026E4A, 0x38028455, 0x38029A4D, 0x3802B032, 0x3802C601, 0x3802DBBA, 0x3802F15F, 0x380306F1, 0x38031C70, 0x380331DA, 0x38034732, 0x38035C75, 0x380371A4, 0x380386C3, 0x38039BCC, 0x3803B0C1, 0x3803C5A6, 0x3803DA78, 0x3803EF37, 0x380403E2, 0x3804187D, 0x38042D05, 0x3804417C, 0x380455E0, 0x38046A31, 0x38047E74, 0x380492A1, 0x3804A6C0, 0x3804BACC, 0x3804CEC7, 0x3804E2B0, 0x3804F68A, 0x38050A51, 0x38051E0B, 0x380531B1, 0x38054547, 0x380558CC, 0x38056C41, 0x38057FA8, 0x380592FC, 0x3805A642, 0x3805B977, 0x3805CC9C, 0x3805DFB4, 0x3805F2BB, 0x380605B1, 0x3806189A, 0x38062B72, 0x38063E39, 0x380650F3, 0x3806639F, 0x3806763B, 0x380688C9, 0x38069B46, 0x3806ADB6, 0x3806C018, 0x3806D269, 0x3806E4B0, 0x3806F6E6, 0x3807090E, 0x38071B25, 0x38072D32, 0x38073F31, 0x38075120, 0x38076303, 0x380774D9, 0x3807869E, 0x38079858, 0x3807AA05, 0x3807BBA3, 0x3807CD34, 0x3807DEB8, 0x3807F030, 0x3808019A, 0x380812F7, 0x38082446, 0x3808358A, 0x380846C1, 0x380857E9, 0x38086907, 0x38087A19, 0x38088B1E, 0x38089C15, 0x3808AD01, 0x3808BDE0, 0x3808CEB3, 0x3808DF78, 0x3808F036, 0x380900E3, 0x38091187, 0x3809221E, 0x380932AA, 0x38094328, 0x3809539E, 0x38096406, 0x38097463, 0x380984B3, 0x380994FA, 0x3809A536, 0x3809B564, 0x3809C588, 0x3809D5A0, 0x3809E5B0, 0x3809F5B3, 0x380A05AA, 0x380A1597, 0x380A257B, 0x380A3551, 0x380A451D, 0x380A54E0, 0x380A6498, 0x380A7445, 0x380A83E8, 0x380A937F, 0x380AA30B, 0x380AB28F, 0x380AC208, 0x380AD176, 0x380AE0D9, 0x380AF034, 0x380AFF84, 0x380B0ECB, 0x380B1E08, 0x380B2D39, 0x380B3C60, 0x380B4B7E, 0x380B5A94, 0x380B699F, 0x380B789F, 0x380B8797, 0x380B9686, 0x380BA56B, 0x380BB445, 0x380BC316, 0x380BD1DF, 0x380BE09D, 0x380BEF53, 0x380BFDFE, 0x380C0CA0, 0x380C1B3B, 0x380C29CD, 0x380C3854, 0x380C46D3, 0x380C5547, 0x380C63B5, 0x380C7218, 0x380C8073, 0x380C8EC3, 0x380C9D0E, 0x380CAB4E, 0x380CB985, 0x380CC7B4, 0x380CD5DB, 0x380CE3FA, 0x380CF20D, 0x380D001C, 0x380D0E1F, 0x380D1C1C, 0x380D2A0F, 0x380D37F9, 0x380D45DE, 0x380D53B8, 0x380D618A, 0x380D6F56, 0x380D7D17, 0x380D8AD3, 0x380D9884, 0x380DA62F, 0x380DB3CF, 0x380DC16A, 0x380DCEFC, 0x380DDC87, 0x380DEA08, 0x380DF782, 0x380E04F6, 0x380E1260, 0x380E1FC3, 0x380E2D1F, 0x380E3A75, 0x380E47C0, 0x380E5505, 0x380E6243, 0x380E6F78, 0x380E7CA7, 0x380E89CE, 0x380E96ED, 0x380EA404, 0x380EB115, 0x380EBE1E, 0x380ECB22, 0x380ED81D, 0x380EE510, 0x380EF1FB, 0x380EFEE0, 0x380F0BC0, 0x380F1898, 0x380F2567, 0x380F3231, 0x380F3EF2, 0x380F4BAE, 0x380F5862, 0x380F650E, 0x380F71B4, 0x380F7E54, 0x380F8AED, 0x380F977F, 0x380FA40A, 0x380FB08F, 0x380FBD0C, 0x380FC983, 0x380FD5F2, 0x380FE25C, 0x380FEEC0, 0x380FFB1C, 0x38100772, 0x381013C3, 0x3810200C, 0x38102C4C, 0x3810388A, 0x381044BF, 0x381050EF, 0x38105D16, 0x38106939, 0x38107555, 0x3810816C, 0x38108D7B, 0x38109985, 0x3810A588, 0x3810B184, 0x3810BD7D, 0x3810C96E, 0x3810D559, 0x3810E13C, 0x3810ED1C, 0x3810F8F4, 0x381104C6, 0x38111093, 0x38111C58, 0x3811281A, 0x381133D3, 0x38113F8A, 0x38114B39, 0xBF800000, 0x00000000, 0x36915629, 0x36E65A71, 0x3711563E, 0x3728BB21, 0x373BD86E, 0x374C01A5, 0x375A017E, 0x37665AA2, 0x37716665, 0x377B646F, 0x378241DE, 0x378673FF, 0x378A567A, 0x378DF452, 0x37915666, 0x379483F4, 0x379782FE, 0x379A588A, 0x379D08DF, 0x379F979E, 0x37A207E4, 0x37A45C6C, 0x37A6978B, 0x37A8BB58, 0x37AAC9AC, 0x37ACC422, 0x37AEAC2C, 0x37B08318, 0x37B24A04, 0x37B4020F, 0x37B5AC19, 0x37B74909, 0x37B8D9A6, 0x37BA5EAA, 0x37BBD8B5, 0x37BD4861, 0x37BEAE42, 0x37C00AD6, 0x37C15E97, 0x37C2A9F2, 0x37C3ED56, 0x37C5291A, 0x37C65D9C, 0x37C78B2E, 0x37C8B223, 0x37C9D2BD, 0x37CAED43, 0x37CC01F7, 0x37CD1116, 0x37CE1AD6, 0x37CF1F69, 0x37D01F07, 0x37D119E0, 0x37D2101B, 0x37D301E9, 0x37D3EF6C, 0x37D4D8D0, 0x37D5BE3A, 0x37D69FC1, 0x37D77D97, 0x37D857CC, 0x37D92E81, 0x37DA01D6, 0x37DAD1E8, 0x37DB9ECC, 0x37DC6899, 0x37DD2F69, 0x37DDF34E, 0x37DEB468, 0x37DF72C2, 0x37E02E73, 0x37E0E78A, 0x37E19E24, 0x37E25245, 0x37E30405, 0x37E3B36D, 0x37E46099, 0x37E50B8A, 0x37E5B45A, 0x37E65B10, 0x37E6FFB5, 0x37E7A261, 0x37E84319, 0x37E8E1E7, 0x37E97EDD, 0x37EA19FF, 0x37EAB35F, 0x37EB4B01, 0x37EBE0F1, 0x37EC753A, 0x37ED07E6, 0x37ED98FC, 0x37EE2880, 0x37EEB683, 0x37EF430B, 0x37EFCE18, 0x37F057BF, 0x37F0DFFC, 0x37F166D8, 0x37F1EC60, 0x37F27099, 0x37F2F387, 0x37F3752C, 0x37F3F598, 0x37F474CA, 0x37F4F2CD, 0x37F56FA3, 0x37F5EB54, 0x37F665E3, 0x37F6DF54, 0x37F757AC, 0x37F7CEF7, 0x37F84535, 0x37F8BA6A, 0x37F92E98, 0x37F9A1C9, 0x37FA13FD, 0x37FA853F, 0x37FAF58A, 0x37FB64E8, 0x37FBD35A, 0x37FC40EB, 0x37FCAD94, 0x37FD195C, 0x37FD8449, 0x37FDEE5F, 0x37FE579E, 0x37FEC00D, 0x37FF27B0, 0x37FF8E88, 0x37FFF494, 0x38002CED, 0x38005F30, 0x38009113, 0x3800C299, 0x3800F3C1, 0x3801248E, 0x38015500, 0x38018518, 0x3801B4DB, 0x3801E445, 0x3802135D, 0x3802421E, 0x3802708E, 0x38029EAC, 0x3802CC78, 0x3802F9F6, 0x38032725, 0x38035407, 0x3803809C, 0x3803ACE7, 0x3803D8E7, 0x3804049D, 0x38043009, 0x38045B31, 0x38048611, 0x3804B0AC, 0x3804DAFF, 0x38050511, 0x38052EE1, 0x3805586C, 0x380581B8, 0x3805AAC2, 0x3805D38C, 0x3805FC15, 0x38062464, 0x38064C71, 0x38067444, 0x38069BDB, 0x3806C335, 0x3806EA55, 0x3807113A, 0x380737E7, 0x38075E5A, 0x38078496, 0x3807AA99, 0x3807D068, 0x3807F5FF, 0x38081B60, 0x3808408C, 0x38086584, 0x38088A48, 0x3808AEDA, 0x3808D338, 0x3808F765, 0x38091B5D, 0x38093F27, 0x380962BF, 0x38098629, 0x3809A961, 0x3809CC6D, 0x3809EF47, 0x380A11F3, 0x380A3473, 0x380A56C7, 0x380A78EC, 0x380A9AE5, 0x380ABCB2, 0x380ADE53, 0x380AFFCB, 0x380B2117, 0x380B423A, 0x380B6333, 0x380B8404, 0x380BA4AB, 0x380BC528, 0x380BE580, 0x380C05AE, 0x380C25B5, 0x380C4594, 0x380C654E, 0x380C84E3, 0x380CA450, 0x380CC397, 0x380CE2BB, 0x380D01B8, 0x380D2091, 0x380D3F47, 0x380D5DD8, 0x380D7C46, 0x380D9A91, 0x380DB8BA, 0x380DD6C0, 0x380DF4A2, 0x380E1265, 0x380E3005, 0x380E4D81, 0x380E6ADF, 0x380E881C, 0x380EA538, 0x380EC236, 0x380EDF10, 0x380EFBCE, 0x380F1869, 0x380F34E8, 0x380F5146, 0x380F6D86, 0x380F89AB, 0x380FA5AF, 0x380FC194, 0x380FDD5E, 0x380FF909, 0x38101497, 0x38103009, 0x38104B5C, 0x38106694, 0x381081B1, 0x38109CB2, 0x3810B798, 0x3810D25F, 0x3810ED0E, 0x381107A1, 0x38112219, 0x38113C75, 0x381156B9, 0x381170E4, 0x38118AF0, 0x3811A4E7, 0x3811BEC2, 0x3811D884, 0x3811F22B, 0x38120BBC, 0x38122534, 0x38123E90, 0x381257D7, 0x38127105, 0x38128A1A, 0x3812A317, 0x3812BBFD, 0x3812D4CB, 0x3812ED82, 0x38130621, 0x38131EAA, 0x3813371A, 0x38134F77, 0x381367BC, 0x38137FEA, 0x381397FF, 0x3813B002, 0x3813C7EE, 0x3813DFC4, 0x3813F785, 0x38140F2F, 0x381426C6, 0x38143E47, 0x381455B2, 0x38146D07, 0x38148449, 0x38149B78, 0x3814B290, 0x3814C996, 0x3814E085, 0x3814F764, 0x38150E2A, 0x381524E0, 0x38153B82, 0x3815520F, 0x3815688B, 0x38157EF1, 0x38159546, 0x3815AB85, 0x3815C1B4, 0x3815D7D0, 0x3815EDDB, 0x381603D1, 0x381619B5, 0x38162F87, 0x38164548, 0x38165AF6, 0x38167090, 0x3816861D, 0x38169B94, 0x3816B0FD, 0x3816C653, 0x3816DB95, 0x3816F0CA, 0x381705EC, 0x38171AFD, 0x38172FFE, 0x381744EE, 0x381759CB, 0x38176E9A, 0x38178358, 0x38179804, 0x3817ACA1, 0x3817C12F, 0x3817D5AB, 0x3817EA1A, 0x3817FE76, 0x381812C4, 0x38182701, 0x38183B2E, 0x38184F4D, 0x3818635C, 0x3818775D, 0x38188B4E, 0x38189F30, 0x3818B303, 0x3818C6C4, 0x3818DA7B, 0x3818EE21, 0x381901B7, 0x3819153F, 0x381928B9, 0x38193C26, 0x38194F82, 0x381962D3, 0x38197614, 0x38198946, 0x38199C6B, 0x3819AF83, 0x3819C28A, 0x3819D586, 0x3819E874, 0x3819FB54, 0x381A0E27, 0x381A20EB, 0x381A33A3, 0x381A464C, 0x381A58E8, 0x381A6B78, 0x381A7DFB, 0x381A9070, 0x381AA2DA, 0x381AB534, 0x381AC783, 0x381AD9C6, 0x381AEBFC, 0x381AFE25, 0x381B103F, 0x381B2251, 0x381B3453, 0x381B464A, 0x381B5835, 0x381B6A13, 0x381B7BE6, 0x381B8DAB, 0x381B9F66, 0x381BB115, 0x381BC2B6, 0x381BD44D, 0x381BE5D8, 0x381BF759, 0x381C08CC, 0x381C1A33, 0x381C2B90, 0x381C3CDF, 0x381C4E26, 0x381C5F5F, 0x381C708D, 0x381C81B3, 0x381C92CB, 0x381CA3D8, 0x381CB4DA, 0x381CC5D1, 0x381CD6BD, 0x381CE79E, 0x381CF874, 0x381D0940, 0x381D1A02, 0x381D2AB7, 0x381D3B64, 0x381D4C03, 0x381D5C9A, 0x381D6D26, 0x381D7DAA, 0x381D8E20, 0x381D9E8D, 0x381DAEF0, 0x381DBF48, 0x381DCF97, 0x381DDFDB, 0x381DF015, 0x381E0046, 0x381E106C, 0x381E2087, 0x381E309A, 0x381E40A2, 0x381E50A2, 0x381E6097, 0x381E7080, 0x381E8062, 0x381E903B, 0x381EA009, 0x381EAFCF, 0x381EBF8A, 0x381ECF3D, 0x381EDEE4, 0x381EEE84, 0x381EFE1B, 0x381F0DA7, 0x381F1D2B, 0x381F2CA4, 0x381F3C18, 0x381F4B7E, 0x381F5ADE, 0x381F6A33, 0x381F7983, 0x381F88C5, 0x381F9801, 0x381FA733, 0x381FB65F, 0x381FC580, 0x381FD499, 0x381FE3A6, 0x381FF2AF, 0x382001AC, 0x382010A4, 0x38201F91, 0x38202E75, 0x38203D52, 0x38204C26, 0x38205AF1, 0x382069B5, 0x38207870, 0x38208723, 0x382095CE, 0x3820A471, 0x3820B30B, 0x3820C19D, 0x3820D027, 0x3820DEA9, 0x3820ED22, 0x3820FB93, 0x382109FF, 0x3821185F, 0x382126BB, 0x3821350D, 0x38214358, 0x3821519A, 0x38215FD5, 0x38216E09, 0x38217C36, 0x38218A5A, 0x38219876, 0x3821A689, 0x3821B497, 0x3821C29D, 0x3821D09B, 0x3821DE93, 0x3821EC83, 0x3821FA6B, 0x3822084A, 0x38221624, 0x382223F6, 0x382231C2, 0x38223F86, 0x38224D42, 0x38225AF8, 0x382268A6, 0x3822764B, 0x382283EC, 0x38229184, 0x38229F16, 0x3822ACA0, 0x3822BA25, 0x3822C7A1, 0x3822D516, 0x3822E284, 0x3822EFEE, 0x3822FD4E, 0x38230AAA, 0x382317FD, 0x38232548, 0x38233290, 0x38233FCE, 0x38234D08, 0x38235A3A, 0x38236764, 0x38237489, 0xBF800000, 0x00000000, 0x36A6196A, 0x3703A179, 0x37261985, 0x3740D603, 0x3756AE5C, 0x3769269A, 0x37792674, 0x3783A19B, 0x3789F17B, 0x378FA735, 0x3794DDA7, 0x3799A93E, 0x379E19D1, 0x37A23BED, 0x37A619B9, 0x37A9BB85, 0x37AD281F, 0x37B06554, 0x37B377FF, 0x37B66449, 0x37B92DBF, 0x37BBD77C, 0x37BE6436, 0x37C0D64A, 0x37C32FCD, 0x37C5729C, 0x37C7A05B, 0x37C9BA8F, 0x37CBC27C, 0x37CDB962, 0x37CFA04E, 0x37D1783C, 0x37D34214, 0x37D4FEA6, 0x37D6AEB4, 0x37D852E6, 0x37D9EBE9, 0x37DB7A4A, 0x37DCFE94, 0x37DE7949, 0x37DFEADE, 0x37E153C0, 0x37E2B453, 0x37E40CFF, 0x37E55E11, 0x37E6A7EB, 0x37E7EACB, 0x37E92708, 0x37EA5CDF, 0x37EB8C97, 0x37ECB667, 0x37EDDA86, 0x37EEF937, 0x37F0129F, 0x37F126FB, 0x37F2366C, 0x37F34129, 0x37F44753, 0x37F5491C, 0x37F64699, 0x37F73FFC, 0x37F83561, 0x37F926E8, 0x37FA14B2, 0x37FAFEDC, 0x37FBE57A, 0x37FCC8B4, 0x37FDA899, 0x37FE8546, 0x37FF5ED0, 0x38001AAA, 0x38008470, 0x3800ECC6, 0x380153B4, 0x3801B944, 0x38021D83, 0x38028075, 0x3802E225, 0x3803429C, 0x3803A1E0, 0x3803FFF7, 0x38045CE9, 0x3804B8C2, 0x38051380, 0x38056D30, 0x3805C5D9, 0x38061D7C, 0x38067423, 0x3806C9D2, 0x38071E8D, 0x3807725B, 0x3807C542, 0x38081748, 0x3808686D, 0x3808B8B8, 0x38090830, 0x380956D7, 0x3809A4B2, 0x3809F1C5, 0x380A3E12, 0x380A899E, 0x380AD470, 0x380B1E86, 0x380B67E7, 0x380BB098, 0x380BF89A, 0x380C3FEE, 0x380C869D, 0x380CCCA5, 0x380D120A, 0x380D56D0, 0x380D9AFC, 0x380DDE8B, 0x380E2183, 0x380E63EA, 0x380EA5BC, 0x380EE6FF, 0x380F27B6, 0x380F67E1, 0x380FA785, 0x380FE6A2, 0x3810253B, 0x38106353, 0x3810A0ED, 0x3810DE06, 0x38111AA5, 0x381156C9, 0x38119277, 0x3811CDAF, 0x38120873, 0x381242C3, 0x38127CA3, 0x3812B615, 0x3812EF16, 0x381327AF, 0x38135FDD, 0x381397A2, 0x3813CF01, 0x381405F8, 0x38143C8F, 0x381472C0, 0x3814A891, 0x3814DDFF, 0x38151312, 0x381547C5, 0x38157C1E, 0x3815B01B, 0x3815E3C1, 0x3816170C, 0x381649FF, 0x38167C9C, 0x3816AEE5, 0x3816E0DB, 0x3817127C, 0x381743CD, 0x381774CE, 0x3817A57D, 0x3817D5DF, 0x381805F4, 0x381835BA, 0x38186538, 0x38189469, 0x3818C34F, 0x3818F1EC, 0x38192041, 0x38194E51, 0x38197C1A, 0x3819A99B, 0x3819D6DA, 0x381A03D2, 0x381A308B, 0x381A5CFF, 0x381A8931, 0x381AB524, 0x381AE0D4, 0x381B0C49, 0x381B377B, 0x381B6271, 0x381B8D2A, 0x381BB7A7, 0x381BE1E5, 0x381C0BEC, 0x381C35B6, 0x381C5F46, 0x381C889D, 0x381CB1BA, 0x381CDAA0, 0x381D034F, 0x381D2BC8, 0x381D5409, 0x381D7C13, 0x381DA3E9, 0x381DCB8B, 0x381DF2F8, 0x381E1A32, 0x381E4137, 0x381E680D, 0x381E8EAC, 0x381EB51D, 0x381EDB5C, 0x381F016C, 0x381F2749, 0x381F4CF9, 0x381F7278, 0x381F97CA, 0x381FBCEC, 0x381FE1E1, 0x382006A8, 0x38202B42, 0x38204FB1, 0x382073F3, 0x3820980A, 0x3820BBF5, 0x3820DFB3, 0x38210349, 0x382126B5, 0x382149F8, 0x38216D0F, 0x38219000, 0x3821B2C7, 0x3821D565, 0x3821F7DC, 0x38221A2B, 0x38223C55, 0x38225E57, 0x38228032, 0x3822A1E6, 0x3822C377, 0x3822E4E1, 0x38230625, 0x38232745, 0x38234841, 0x38236917, 0x382389CC, 0x3823AA5A, 0x3823CAC7, 0x3823EB11, 0x38240B39, 0x38242B3E, 0x38244B1F, 0x38246AE2, 0x38248A81, 0x3824AA00, 0x3824C95D, 0x3824E899, 0x382507B4, 0x382526B1, 0x3825458D, 0x38256448, 0x382582E5, 0x3825A163, 0x3825BFC1, 0x3825DE03, 0x3825FC24, 0x38261A27, 0x3826380B, 0x382655D5, 0x3826737F, 0x3826910C, 0x3826AE7B, 0x3826CBCD, 0x3826E905, 0x38270621, 0x3827231F, 0x38274001, 0x38275CC5, 0x38277970, 0x38279600, 0x3827B274, 0x3827CECD, 0x3827EB0D, 0x38280731, 0x3828233A, 0x38283F2B, 0x38285B00, 0x382876BC, 0x3828925F, 0x3828ADE7, 0x3828C956, 0x3828E4AC, 0x3828FFED, 0x38291B12, 0x3829361E, 0x38295111, 0x38296BEF, 0x382986B1, 0x3829A15D, 0x3829BBF3, 0x3829D670, 0x3829F0D4, 0x382A0B23, 0x382A255B, 0x382A3F7B, 0x382A5985, 0x382A7379, 0x382A8D57, 0x382AA71E, 0x382AC0CE, 0x382ADA69, 0x382AF3EC, 0x382B0D5C, 0x382B26B6, 0x382B3FFA, 0x382B592B, 0x382B7245, 0x382B8B4A, 0x382BA439, 0x382BBD14, 0x382BD5DC, 0x382BEE8E, 0x382C072D, 0x382C1FB6, 0x382C382C, 0x382C508F, 0x382C68DE, 0x382C8117, 0x382C993D, 0x382CB153, 0x382CC952, 0x382CE13E, 0x382CF91A, 0x382D10E0, 0x382D2895, 0x382D4037, 0x382D57C6, 0x382D6F42, 0x382D86AD, 0x382D9E05, 0x382DB54C, 0x382DCC80, 0x382DE3A1, 0x382DFAB1, 0x382E11AE, 0x382E289B, 0x382E3F77, 0x382E5643, 0x382E6CFB, 0x382E83A3, 0x382E9A38, 0x382EB0BF, 0x382EC733, 0x382EDD96, 0x382EF3E9, 0x382F0A2B, 0x382F205C, 0x382F3680, 0x382F4C91, 0x382F6291, 0x382F7884, 0x382F8E63, 0x382FA435, 0x382FB9F6, 0x382FCFA6, 0x382FE549, 0x382FFADB, 0x3830105D, 0x383025D1, 0x38303B35, 0x3830508B, 0x383065D0, 0x38307B05, 0x3830902F, 0x3830A545, 0x3830BA51, 0x3830CF4C, 0x3830E437, 0x3830F916, 0x38310DE5, 0x383122A7, 0x38313758, 0x38314BFE, 0x38316093, 0x3831751B, 0x38318995, 0x38319E01, 0x3831B25F, 0x3831C6B0, 0x3831DAF3, 0x3831EF28, 0x3832034F, 0x38321769, 0x38322B75, 0x38323F73, 0x38325364, 0x38326749, 0x38327B21, 0x38328EEB, 0x3832A2A7, 0x3832B659, 0x3832C9FC, 0x3832DD92, 0x3832F11D, 0x3833049A, 0x38331809, 0x38332B6D, 0x38333EC4, 0x3833520F, 0x3833654D, 0x3833787D, 0x38338BA5, 0x38339EBC, 0x3833B1CB, 0x3833C4CD, 0x3833D7C0, 0x3833EAAC, 0x3833FD89, 0x38341059, 0x3834231E, 0x383435D8, 0x38344887, 0x38345B2B, 0x38346DC1, 0x3834804C, 0x383492CC, 0x3834A541, 0x3834B7AB, 0x3834CA0B, 0x3834DC5C, 0x3834EEA5, 0x383500E1, 0x38351311, 0x38352539, 0x38353754, 0x38354966, 0x38355B6A, 0x38356D67, 0x38357F55, 0x3835913B, 0x3835A316, 0x3835B4E7, 0x3835C6AC, 0x3835D866, 0x3835EA18, 0x3835FBBC, 0x38360D58, 0x38361EE9, 0x38363072, 0x383641ED, 0x38365360, 0x383664CA, 0x38367627, 0x3836877C, 0x383698C8, 0x3836AA07, 0x3836BB40, 0x3836CC6B, 0x3836DD8E, 0x3836EEA6, 0x3836FFB6, 0x383710BD, 0x383721B7, 0x383732AB, 0x38374392, 0x38375473, 0x38376549, 0x38377614, 0x383786D7, 0x38379792, 0x3837A841, 0x3837B8E9, 0x3837C988, 0x3837DA1C, 0x3837EAA8, 0x3837FB29, 0x38380BA1, 0x38381C12, 0x38382C7A, 0x38383CD7, 0x38384D2F, 0x38385D7B, 0x38386DBD, 0x38387DF9, 0x38388E2A, 0x38389E53, 0x3838AE74, 0x3838BE8C, 0x3838CE9C, 0x3838DEA2, 0x3838EEA1, 0x3838FE96, 0x38390E82, 0x38391E67, 0x38392E43, 0x38393E19, 0x38394DE4, 0x38395DA8, 0x38396D63, 0x38397D15, 0x38398CC0, 0x38399C62, 0x3839ABFC, 0x3839BB8E, 0x3839CB17, 0x3839DA98, 0x3839EA14, 0x3839F985, 0x383A08F0, 0x383A1850, 0x383A27AB, 0x383A36FE, 0x383A4648, 0x383A558A, 0x383A64C6, 0x383A73F8, 0x383A8324, 0x383A9248, 0x383AA166, 0x383AB079, 0x383ABF87, 0x383ACE8D, 0xBF800000, 0x00000000, 0x36C1C874, 0x371991D6, 0x3741C897, 0x3760F9D6, 0x377A7647, 0x37880153, 0x3791568D, 0x37999207, 0x37A0EF37, 0x37A79893, 0x37ADAD70, 0x37B345A3, 0x37B8739F, 0x37BD461A, 0x37C1C8E4, 0x37C605A1, 0x37CA045E, 0x37CDCBC4, 0x37D1618F, 0x37D4CA8D, 0x37D80AF0, 0x37DB264D, 0x37DE1FD2, 0x37E0FA3F, 0x37E3B805, 0x37E65B4C, 0x37E8E607, 0x37EB59E9, 0x37EDB882, 0x37F00333, 0x37F23B4C, 0x37F461E4, 0x37F67808, 0x37F87EB7, 0x37FA76C6, 0x37FC6105, 0x37FE3E31, 0x3800077C, 0x3800E9FE, 0x3801C6E7, 0x38029E7D, 0x38037102, 0x38043EAF, 0x380507BE, 0x3805CC60, 0x38068CC7, 0x38074922, 0x3808019A, 0x3808B659, 0x38096781, 0x380A153C, 0x380ABFA6, 0x380B66DF, 0x380C0B09, 0x380CAC3D, 0x380D4A98, 0x380DE630, 0x380E7F1F, 0x380F157D, 0x380FA95D, 0x38103AD6, 0x3810C9FD, 0x381156E2, 0x3811E197, 0x38126A2E, 0x3812F0B8, 0x38137543, 0x3813F7DF, 0x38147898, 0x3814F77F, 0x381574A2, 0x3815F007, 0x381669C2, 0x3816E1D8, 0x38175857, 0x3817CD4B, 0x381840BB, 0x3818B2B3, 0x3819233D, 0x38199261, 0x381A0026, 0x381A6C99, 0x381AD7BF, 0x381B419E, 0x381BAA43, 0x381C11B0, 0x381C77F0, 0x381CDD08, 0x381D40FC, 0x381DA3D8, 0x381E059F, 0x381E6658, 0x381EC609, 0x381F24B5, 0x381F8264, 0x381FDF19, 0x38203ADC, 0x382095B0, 0x3820EF9A, 0x382148A0, 0x3821A0C5, 0x3821F80E, 0x38224E7E, 0x3822A41C, 0x3822F8E7, 0x38234CEA, 0x3823A024, 0x3823F298, 0x3824444E, 0x38249544, 0x3824E581, 0x38253507, 0x382583D9, 0x3825D1FC, 0x38261F72, 0x38266C40, 0x3826B864, 0x382703E2, 0x38274EC2, 0x382798FF, 0x3827E2A2, 0x38282BAB, 0x3828741D, 0x3828BBF8, 0x38290341, 0x382949FB, 0x38299026, 0x3829D5C5, 0x382A1ADB, 0x382A5F6A, 0x382AA375, 0x382AE6F9, 0x382B29FD, 0x382B6C81, 0x382BAE87, 0x382BF015, 0x382C3124, 0x382C71BC, 0x382CB1DF, 0x382CF18E, 0x382D30C7, 0x382D6F8F, 0x382DADE9, 0x382DEBD2, 0x382E294E, 0x382E6661, 0x382EA309, 0x382EDF48, 0x382F1B1F, 0x382F5693, 0x382F919F, 0x382FCC4A, 0x38300692, 0x3830407A, 0x38307A02, 0x3830B330, 0x3830EBFD, 0x3831246F, 0x38315C87, 0x38319444, 0x3831CBA9, 0x383202B8, 0x38323970, 0x38326FD3, 0x3832A5E3, 0x3832DB9E, 0x38331106, 0x3833461F, 0x38337AE8, 0x3833AF61, 0x3833E38B, 0x3834176A, 0x38344AFA, 0x38347E3F, 0x3834B13A, 0x3834E3E8, 0x38351652, 0x38354871, 0x38357A46, 0x3835ABD9, 0x3835DD22, 0x38360E29, 0x38363EEB, 0x38366F69, 0x38369FA2, 0x3836CF9B, 0x3836FF53, 0x38372EC8, 0x38375DFF, 0x38378CF6, 0x3837BBAE, 0x3837EA27, 0x38381863, 0x38384663, 0x38387426, 0x3838A1B0, 0x3838CEFA, 0x3838FC0D, 0x383928E7, 0x38395584, 0x383981EA, 0x3839AE19, 0x3839DA0F, 0x383A05D0, 0x383A315B, 0x383A5CAB, 0x383A87CA, 0x383AB2B2, 0x383ADD66, 0x383B07E9, 0x383B3234, 0x383B5C4E, 0x383B8637, 0x383BAFEB, 0x383BD970, 0x383C02C2, 0x383C2BE4, 0x383C54D8, 0x383C7D9A, 0x383CA62B, 0x383CCE90, 0x383CF6C6, 0x383D1ECE, 0x383D46A9, 0x383D6E53, 0x383D95D4, 0x383DBD29, 0x383DE44F, 0x383E0B4C, 0x383E321D, 0x383E58C1, 0x383E7F3D, 0x383EA58D, 0x383ECBB3, 0x383EF1B0, 0x383F1784, 0x383F3D32, 0x383F62B3, 0x383F880E, 0x383FAD43, 0x383FD24E, 0x383FF733, 0x38401BF1, 0x38404089, 0x384064FA, 0x38408945, 0x3840AD6A, 0x3840D16A, 0x3840F547, 0x384118FE, 0x38413C90, 0x38415FFF, 0x3841834A, 0x3841A672, 0x3841C976, 0x3841EC56, 0x38420F15, 0x384231B0, 0x3842542A, 0x38427684, 0x384298B9, 0x3842BACE, 0x3842DCC2, 0x3842FE97, 0x38432049, 0x384341D9, 0x3843634C, 0x384384A0, 0x3843A5D1, 0x3843C6E6, 0x3843E7DA, 0x384408AD, 0x38442964, 0x384449FB, 0x38446A76, 0x38448AD0, 0x3844AB0E, 0x3844CB2C, 0x3844EB2E, 0x38450B15, 0x38452ADD, 0x38454A87, 0x38456A16, 0x38458989, 0x3845A8E1, 0x3845C81A, 0x3845E738, 0x3846063B, 0x38462522, 0x384643F0, 0x384662A0, 0x38468137, 0x38469FB0, 0x3846BE13, 0x3846DC58, 0x3846FA87, 0x38471897, 0x38473692, 0x38475471, 0x38477238, 0x38478FE2, 0x3847AD77, 0x3847CAF1, 0x3847E851, 0x3848059C, 0x384822CB, 0x38483FE4, 0x38485CE5, 0x384879CD, 0x3848969C, 0x3848B355, 0x3848CFF8, 0x3848EC7F, 0x384908F3, 0x3849254F, 0x38494192, 0x38495DC1, 0x384979D8, 0x384995D9, 0x3849B1C1, 0x3849CD96, 0x3849E955, 0x384A04FB, 0x384A208D, 0x384A3C0A, 0x384A5771, 0x384A72C2, 0x384A8DFD, 0x384AA925, 0x384AC436, 0x384ADF35, 0x384AFA1D, 0x384B14F0, 0x384B2FAF, 0x384B4A5B, 0x384B64F1, 0x384B7F71, 0x384B99E0, 0x384BB43A, 0x384BCE80, 0x384BE8B3, 0x384C02D3, 0x384C1CDF, 0x384C36D6, 0x384C50BC, 0x384C6A8F, 0x384C844C, 0x384C9DF8, 0x384CB791, 0x384CD11A, 0x384CEA8C, 0x384D03EE, 0x384D1D3D, 0x384D3679, 0x384D4FA4, 0x384D68BC, 0x384D81C3, 0x384D9AB8, 0x384DB39B, 0x384DCC6C, 0x384DE52C, 0x384DFDDB, 0x384E1677, 0x384E2F03, 0x384E477B, 0x384E5FE6, 0x384E783E, 0x384E9085, 0x384EA8BB, 0x384EC0E1, 0x384ED8F7, 0x384EF0FC, 0x384F08F0, 0x384F20D4, 0x384F38A8, 0x384F506B, 0x384F681D, 0x384F7FBF, 0x384F9754, 0x384FAED8, 0x384FC64B, 0x384FDDAE, 0x384FF503, 0x38500C47, 0x3850237B, 0x38503AA2, 0x385051B8, 0x385068C0, 0x38507FB8, 0x385096A1, 0x3850AD7B, 0x3850C446, 0x3850DB04, 0x3850F1B2, 0x3851084F, 0x38511EE1, 0x38513562, 0x38514BD6, 0x3851623C, 0x38517891, 0x38518ED9, 0x3851A513, 0x3851BB3F, 0x3851D15E, 0x3851E76E, 0x3851FD71, 0x38521367, 0x3852294B, 0x38523F25, 0x385254F1, 0x38526AAF, 0x38528060, 0x38529603, 0x3852AB98, 0x3852C11F, 0x3852D69B, 0x3852EC07, 0x38530168, 0x385316BE, 0x38532C03, 0x3853413E, 0x3853566A, 0x38536B89, 0x3853809D, 0x385395A6, 0x3853AA9E, 0x3853BF8B, 0x3853D46E, 0x3853E942, 0x3853FE09, 0x385412C5, 0x38542776, 0x38543C19, 0x385450AF, 0x3854653C, 0x385479BB, 0x38548E2D, 0x3854A294, 0x3854B6EF, 0x3854CB40, 0x3854DF83, 0x3854F3BB, 0x385507E8, 0x38551C07, 0x3855301B, 0x38554427, 0x38555825, 0x38556C16, 0x38557FFE, 0x385593DB, 0x3855A7AB, 0x3855BB6F, 0x3855CF2C, 0x3855E2DA, 0x3855F67E, 0x38560A16, 0x38561DA6, 0x38563129, 0x385644A1, 0x38565810, 0x38566B71, 0x38567ECB, 0x38569216, 0x3856A55A, 0x3856B892, 0x3856CBBF, 0x3856DEE4, 0x3856F1FC, 0x3857050B, 0x3857180F, 0x38572B08, 0x38573DF6, 0x385750DC, 0x385763B7, 0x38577687, 0x3857894E, 0x38579C0B, 0x3857AEBC, 0x3857C166, 0x3857D404, 0x3857E69A, 0x3857F923, 0x38580BA6, 0x38581E1D, 0x3858308A, 0x385842EC, 0x38585549, 0x38586797, 0x385879DE, 0x38588C1C, 0x38589E4F, 0x3858B07A, 0x3858C29D, 0x3858D4B4, 0x3858E6C1, 0x3858F8C6, 0x38590AC2, 0x38591CB6, 0x38592E9F, 0x3859407F, 0x38595255, 0x38596423, 0x385975E8, 0x385987A5, 0x38599957, 0x3859AB01, 0x3859BCA2, 0x3859CE3B, 0x3859DFCA, 0x3859F150, 0xBF800000, 0x00000000, 0x36E88A61, 0x373848D3, 0x37688A91, 0x3786FC78, 0x37964729, 0x37A334FE, 0x37AE6819, 0x37B8490F, 0x37C11F4E, 0x37C91DC0, 0x37D06A04, 0x37D720AB, 0x37DD57DE, 0x37E3213F, 0x37E88AFF, 0x37EDA0B7, 0x37F26BFB, 0x37F6F4E3, 0x37FB423F, 0x37FF59DA, 0x3801A05B, 0x38037D95, 0x3805467D, 0x3806FCC0, 0x3808A1D1, 0x380A36FE, 0x380BBD6D, 0x380D3629, 0x380EA220, 0x38100227, 0x38115700, 0x3812A15C, 0x3813E1DC, 0x38151910, 0x38164781, 0x38176DA8, 0x38188BF8, 0x3819A2D5, 0x381AB2A6, 0x381BBBBE, 0x381CBE74, 0x381DBB12, 0x381EB1E2, 0x381FA327, 0x38208F1E, 0x38217601, 0x38225807, 0x38233566, 0x38240E49, 0x3824E2E3, 0x3825B35D, 0x38267FDB, 0x3827488A, 0x38280D87, 0x3828CEF9, 0x38298CFE, 0x382A47B8, 0x382AFF3E, 0x382BB3AF, 0x382C6524, 0x382D13B6, 0x382DBF7D, 0x382E688F, 0x382F0F02, 0x382FB2EB, 0x3830545D, 0x3830F36B, 0x38319027, 0x38322AA1, 0x3832C2EB, 0x38335912, 0x3833ED27, 0x38347F39, 0x38350F54, 0x38359D89, 0x383629E0, 0x3836B469, 0x38373D2C, 0x3837C437, 0x38384996, 0x3838CD50, 0x38394F73, 0x3839D008, 0x383A4F13, 0x383ACCA6, 0x383B48C3, 0x383BC376, 0x383C3CC5, 0x383CB4BB, 0x383D2B5B, 0x383DA0B2, 0x383E14C1, 0x383E8795, 0x383EF932, 0x383F699D, 0x383FD8DD, 0x384046FA, 0x3840B3F9, 0x38411FE0, 0x38418AB3, 0x3841F479, 0x38425D38, 0x3842C4F4, 0x38432BB0, 0x38439175, 0x3843F642, 0x38445A21, 0x3844BD16, 0x38451F21, 0x38458048, 0x3845E093, 0x38464002, 0x38469E98, 0x3846FC5D, 0x38475951, 0x3847B577, 0x384810D7, 0x38486B71, 0x3848C548, 0x38491E5F, 0x384976BE, 0x3849CE61, 0x384A254F, 0x384A7B8B, 0x384AD116, 0x384B25F7, 0x384B7A2B, 0x384BCDB7, 0x384C209F, 0x384C72E4, 0x384CC487, 0x384D1590, 0x384D65FA, 0x384DB5CC, 0x384E0507, 0x384E53AE, 0x384EA1C3, 0x384EEF49, 0x384F3C3E, 0x384F88A9, 0x384FD488, 0x38501FE0, 0x38506AAF, 0x3850B4FC, 0x3850FEC6, 0x3851480E, 0x385190D8, 0x3851D924, 0x385220F4, 0x3852684A, 0x3852AF28, 0x3852F58D, 0x38533B7F, 0x385380FD, 0x3853C608, 0x38540AA2, 0x38544ECB, 0x38549286, 0x3854D5D6, 0x385518BB, 0x38555B35, 0x38559D46, 0x3855DEF2, 0x38562035, 0x38566112, 0x3856A18F, 0x3856E1A7, 0x3857215E, 0x385760B5, 0x38579FAC, 0x3857DE48, 0x38581C84, 0x38585A65, 0x385897EC, 0x3858D517, 0x385911EB, 0x38594E67, 0x38598A8E, 0x3859C65C, 0x385A01D9, 0x385A3CFD, 0x385A77D2, 0x385AB254, 0x385AEC86, 0x385B2666, 0x385B5FF6, 0x385B9939, 0x385BD22D, 0x385C0AD3, 0x385C4330, 0x385C7B3F, 0x385CB307, 0x385CEA82, 0x385D21B6, 0x385D589F, 0x385D8F41, 0x385DC59E, 0x385DFBB3, 0x385E3184, 0x385E6710, 0x385E9C58, 0x385ED15D, 0x385F061E, 0x385F3A9F, 0x385F6EDC, 0x385FA2DA, 0x385FD698, 0x38600A15, 0x38603D55, 0x38607055, 0x3860A319, 0x3860D59E, 0x386107E7, 0x386139F6, 0x38616BC5, 0x38619D5E, 0x3861CEBA, 0x3861FFDD, 0x386230C5, 0x38626177, 0x386291EF, 0x3862C230, 0x3862F23A, 0x3863220A, 0x386351A6, 0x3863810E, 0x3863B03F, 0x3863DF3C, 0x38640E01, 0x38643C96, 0x38646AF6, 0x38649924, 0x3864C71E, 0x3864F4E7, 0x3865227F, 0x38654FE4, 0x38657D19, 0x3865AA1C, 0x3865D6F0, 0x38660392, 0x38663006, 0x38665C4E, 0x38668865, 0x3866B44D, 0x3866E008, 0x38670B98, 0x386736F7, 0x3867622C, 0x38678D35, 0x3867B80F, 0x3867E2C0, 0x38680D45, 0x3868379F, 0x386861CF, 0x38688BD3, 0x3868B5AD, 0x3868DF5F, 0x386908E7, 0x38693246, 0x38695B7F, 0x3869848B, 0x3869AD71, 0x3869D631, 0x3869FEC7, 0x386A2737, 0x386A4F81, 0x386A77A4, 0x386A9FA0, 0x386AC776, 0x386AEF25, 0x386B16B1, 0x386B3E19, 0x386B6558, 0x386B8C76, 0x386BB36D, 0x386BDA41, 0x386C00F3, 0x386C277F, 0x386C4DE8, 0x386C742F, 0x386C9A53, 0x386CC053, 0x386CE632, 0x386D0BF0, 0x386D318A, 0x386D5703, 0x386D7C5B, 0x386DA190, 0x386DC6A6, 0x386DEB9C, 0x386E1070, 0x386E3526, 0x386E59B8, 0x386E7E2F, 0x386EA282, 0x386EC6B7, 0x386EEACE, 0x386F0EC6, 0x386F32A0, 0x386F565A, 0x386F79F5, 0x386F9D74, 0x386FC0D2, 0x386FE415, 0x3870073A, 0x38702A41, 0x38704D2C, 0x38706FF9, 0x387092A7, 0x3870B53D, 0x3870D7B2, 0x3870FA0E, 0x38711C4E, 0x38713E71, 0x38716078, 0x38718263, 0x3871A433, 0x3871C5EA, 0x3871E783, 0x38720903, 0x38722A68, 0x38724BB1, 0x38726CE2, 0x38728DF7, 0x3872AEF3, 0x3872CFD6, 0x3872F09E, 0x3873114E, 0x387331E2, 0x3873525D, 0x387372C2, 0x3873930B, 0x3873B33C, 0x3873D354, 0x3873F354, 0x3874133D, 0x3874330B, 0x387452C3, 0x38747262, 0x387491EB, 0x3874B15B, 0x3874D0B3, 0x3874EFF5, 0x38750F1E, 0x38752E31, 0x38754D2E, 0x38756C12, 0x38758AE3, 0x3875A998, 0x3875C83B, 0x3875E6C7, 0x3876053B, 0x3876239B, 0x387641E2, 0x38766017, 0x38767E35, 0x38769C3D, 0x3876BA30, 0x3876D80C, 0x3876F5D2, 0x38771386, 0x38773125, 0x38774EAD, 0x38776C23, 0x38778981, 0x3877A6CC, 0x3877C403, 0x3877E127, 0x3877FE36, 0x38781B2E, 0x38783816, 0x387854E7, 0x387871A6, 0x38788E51, 0x3878AAE9, 0x3878C76B, 0x3878E3DC, 0x3879003B, 0x38791C86, 0x387938BB, 0x387954DF, 0x387970F1, 0x38798CF2, 0x3879A8DC, 0x3879C4B7, 0x3879E07E, 0x3879FC32, 0x387A17D5, 0x387A3365, 0x387A4EE2, 0x387A6A4E, 0x387A85AA, 0x387AA0F3, 0x387ABC28, 0x387AD750, 0x387AF262, 0x387B0D66, 0x387B2856, 0x387B4336, 0x387B5E03, 0x387B78C3, 0x387B936F, 0x387BAE0A, 0x387BC895, 0x387BE310, 0x387BFD77, 0x387C17D0, 0x387C3219, 0x387C4C4F, 0x387C6677, 0x387C808F, 0x387C9A96, 0x387CB48C, 0x387CCE72, 0x387CE84B, 0x387D0210, 0x387D1BC7, 0x387D3571, 0x387D4F07, 0x387D688F, 0x387D8208, 0x387D9B72, 0x387DB4CC, 0x387DCE15, 0x387DE751, 0x387E007C, 0x387E1999, 0x387E32A9, 0x387E4BA8, 0x387E6497, 0x387E7D7A, 0x387E964B, 0x387EAF10, 0x387EC7C5, 0x387EE06C, 0x387EF906, 0x387F118F, 0x387F2A0A, 0x387F4278, 0x387F5AD7, 0x387F7329, 0x387F8B6E, 0x387FA3A1, 0x387FBBCA, 0x387FD3E2, 0x387FEBED, 0x388001F6, 0x38800DEE, 0x388019E0, 0x388025C9, 0x388031AE, 0x38803D8A, 0x38804960, 0x38805530, 0x388060F9, 0x38806CBC, 0x38807877, 0x3880842D, 0x38808FDB, 0x38809B83, 0x3880A725, 0x3880B2C1, 0x3880BE55, 0x3880C9E4, 0x3880D56D, 0x3880E0EE, 0x3880EC6A, 0x3880F7DF, 0x3881034E, 0x38810EB7, 0x38811A18, 0x38812576, 0x388130CB, 0x38813C1B, 0x38814766, 0x388152AA, 0x38815DE8, 0x3881691F, 0x38817452, 0x38817F7D, 0x38818AA4, 0x388195C4, 0x3881A0DE, 0x3881ABF2, 0x3881B702, 0x3881C20A, 0x3881CD0D, 0x3881D80A, 0x3881E301, 0x3881EDF3, 0x3881F8DF, 0x388203C5, 0x38820EA7, 0x38821982, 0x38822456, 0x38822F26, 0x388239F0, 0x388244B5, 0x38824F75, 0x38825A2E, 0x388264E2, 0x38826F91, 0x38827A3B, 0x388284DF, 0x38828F7D, 0x38829A16, 0x3882A4AA, 0x3882AF39, 0x3882B9C2, 0x3882C446, 0xBF800000, 0x00000000, 0x3904CF18, 0x3952814E, 0x3984D142, 0x399A3308, 0x39ABAB9C, 0x39BA713C, 0x39C73D1D, 0x39D286B3, 0x39DC9F96, 0x39E5C1F1, 0x39EE18BA, 0x39F5C48F, 0x39FCDED2, 0x3A01BDCD, 0x3A04D58F, 0x3A07BD4E, 0x3A0A7A8A, 0x3A0D11DA, 0x3A0F8725, 0x3A11DDBA, 0x3A141878, 0x3A1639D6, 0x3A1843FF, 0x3A1A38D8, 0x3A1C1A0A, 0x3A1DE916, 0x3A1FA749, 0x3A2155D6, 0x3A22F5C8, 0x3A24881A, 0x3A260DA4, 0x3A278732, 0x3A28F57B, 0x3A2A5927, 0x3A2BB2CD, 0x3A2D02FC, 0x3A2E4A33, 0x3A2F88EC, 0x3A30BF93, 0x3A31EE8D, 0x3A33163C, 0x3A3436F4, 0x3A35510C, 0x3A3664CA, 0x3A37727B, 0x3A387A60, 0x3A397CB5, 0x3A3A79B7, 0x3A3B719E, 0x3A3C649B, 0x3A3D52E0, 0x3A3E3C9D, 0x3A3F21FB, 0x3A400323, 0x3A40E03D, 0x3A41B96C, 0x3A428ED6, 0x3A43609B, 0x3A442ED8, 0x3A44F9AD, 0x3A45C136, 0x3A46858D, 0x3A4746CC, 0x3A48050D, 0x3A48C067, 0x3A4978EF, 0x3A4A2EBB, 0x3A4AE1E1, 0x3A4B9273, 0x3A4C4084, 0x3A4CEC26, 0x3A4D9569, 0x3A4E3C5E, 0x3A4EE116, 0x3A4F83A0, 0x3A50240B, 0x3A50C263, 0x3A515EB7, 0x3A51F914, 0x3A529186, 0x3A532819, 0x3A53BCD8, 0x3A544FD0, 0x3A54E10B, 0x3A557093, 0x3A55FE73, 0x3A568AB3, 0x3A57155E, 0x3A579E7C, 0x3A582615, 0x3A58AC35, 0x3A5930E0, 0x3A59B420, 0x3A5A35FD, 0x3A5AB67F, 0x3A5B35AB, 0x3A5BB389, 0x3A5C3021, 0x3A5CAB78, 0x3A5D2595, 0x3A5D9E7C, 0x3A5E1638, 0x3A5E8CCA, 0x3A5F023B, 0x3A5F768E, 0x3A5FE9CA, 0x3A605BF2, 0x3A60CD0F, 0x3A613D23, 0x3A61AC32, 0x3A621A45, 0x3A62875A, 0x3A62F37B, 0x3A635EAA, 0x3A63C8EB, 0x3A643244, 0x3A649AB7, 0x3A650247, 0x3A6568FB, 0x3A65CED3, 0x3A6633D6, 0x3A669804, 0x3A66FB64, 0x3A675DF8, 0x3A67BFC2, 0x3A6820C7, 0x3A688108, 0x3A68E08B, 0x3A693F50, 0x3A699D5C, 0x3A69FAB0, 0x3A6A5750, 0x3A6AB33E, 0x3A6B0E7E, 0x3A6B6910, 0x3A6BC2F9, 0x3A6C1C3C, 0x3A6C74D9, 0x3A6CCCD3, 0x3A6D242D, 0x3A6D7AEA, 0x3A6DD109, 0x3A6E2690, 0x3A6E7B7F, 0x3A6ECFD9, 0x3A6F23A0, 0x3A6F76D4, 0x3A6FC97A, 0x3A701B92, 0x3A706D1F, 0x3A70BE21, 0x3A710E9B, 0x3A715E91, 0x3A71AE01, 0x3A71FCEE, 0x3A724B5B, 0x3A729948, 0x3A72E6B6, 0x3A7333A8, 0x3A738021, 0x3A73CC1F, 0x3A7417A7, 0x3A7462B7, 0x3A74AD54, 0x3A74F77B, 0x3A754133, 0x3A758A78, 0x3A75D34F, 0x3A761BB9, 0x3A7663B4, 0x3A76AB44, 0x3A76F26C, 0x3A773929, 0x3A777F7E, 0x3A77C56D, 0x3A780AF7, 0x3A78501D, 0x3A7894DF, 0x3A78D940, 0x3A791D3F, 0x3A7960DD, 0x3A79A41F, 0x3A79E702, 0x3A7A2987, 0x3A7A6BB2, 0x3A7AAD81, 0x3A7AEEF6, 0x3A7B3013, 0x3A7B70D8, 0x3A7BB144, 0x3A7BF15D, 0x3A7C311F, 0x3A7C708C, 0x3A7CAFA8, 0x3A7CEE70, 0x3A7D2CE5, 0x3A7D6B0B, 0x3A7DA8DF, 0x3A7DE666, 0x3A7E239D, 0x3A7E6086, 0x3A7E9D23, 0x3A7ED972, 0x3A7F1578, 0x3A7F5132, 0x3A7F8CA0, 0x3A7FC7C8, 0x3A800153, 0x3A801E9E, 0x3A803BC5, 0x3A8058CA, 0x3A8075AA, 0x3A809269, 0x3A80AF05, 0x3A80CB7F, 0x3A80E7D8, 0x3A81040F, 0x3A812026, 0x3A813C1B, 0x3A8157F1, 0x3A8173A5, 0x3A818F3A, 0x3A81AAAF, 0x3A81C606, 0x3A81E13D, 0x3A81FC55, 0x3A82174F, 0x3A82322A, 0x3A824CE8, 0x3A826787, 0x3A82820A, 0x3A829C70, 0x3A82B6B8, 0x3A82D0E4, 0x3A82EAF3, 0x3A8304E6, 0x3A831EBF, 0x3A83387C, 0x3A835216, 0x3A836B9F, 0x3A838505, 0x3A839E52, 0x3A83B785, 0x3A83D0A7, 0x3A83E9A6, 0x3A84028C, 0x3A841B58, 0x3A84340A, 0x3A844CA3, 0x3A846521, 0x3A847D86, 0x3A8495D1, 0x3A84AE0B, 0x3A84C62B, 0x3A84DE29, 0x3A84F616, 0x3A850DF1, 0x3A8525AA, 0x3A853D52, 0x3A8554E0, 0x3A856C5D, 0x3A8583B8, 0x3A859B0A, 0x3A85B23A, 0x3A85C958, 0x3A85E05D, 0x3A85F750, 0x3A860E2A, 0x3A8624F3, 0x3A863BA1, 0x3A86523F, 0x3A8668C3, 0x3A867F36, 0x3A86958E, 0x3A86ABD6, 0x3A86C204, 0x3A86D821, 0x3A86EE2C, 0x3A870427, 0x3A871A08, 0x3A872FCE, 0x3A87458D, 0x3A875B31, 0x3A8770C5, 0x3A878647, 0x3A879BAF, 0x3A87B106, 0x3A87C64C, 0x3A87DB81, 0x3A87F0A5, 0x3A8805AF, 0x3A881AA7, 0x3A882F97, 0x3A88446E, 0x3A885933, 0x3A886DDE, 0x3A888281, 0x3A889713, 0x3A88AB93, 0x3A88BFFA, 0x3A88D458, 0x3A88E8A5, 0x3A88FCD8, 0x3A891103, 0x3A89251C, 0x3A89391C, 0x3A894D13, 0x3A8960F8, 0x3A8974CD, 0x3A898891, 0x3A899C43, 0x3A89AFED, 0x3A89C37D, 0x3A89D704, 0x3A89EA71, 0x3A89FDD6, 0x3A8A112A, 0x3A8A2475, 0x3A8A37A7, 0x3A8A4AD0, 0x3A8A5DE7, 0x3A8A70EE, 0x3A8A83E3, 0x3A8A96D0, 0x3A8AA9AB, 0x3A8ABC76, 0x3A8ACF38, 0x3A8AE1E8, 0x3A8AF488, 0x3A8B0716, 0x3A8B199B, 0x3A8B2C10, 0x3A8B3E73, 0x3A8B50CE, 0x3A8B6317, 0x3A8B7558, 0x3A8B8788, 0x3A8B99A7, 0x3A8BABBD, 0x3A8BBDC1, 0x3A8BCFBE, 0x3A8BE1A9, 0x3A8BF383, 0x3A8C0554, 0x3A8C171C, 0x3A8C28D4, 0x3A8C3A7A, 0x3A8C4C18, 0x3A8C5DA4, 0x3A8C6F28, 0x3A8C809B, 0x3A8C9205, 0x3A8CA367, 0x3A8CB4B7, 0x3A8CC5F7, 0x3A8CD72D, 0x3A8CE85B, 0x3A8CF978, 0x3A8D0A8C, 0x3A8D1B90, 0x3A8D2C8A, 0x3A8D3D7C, 0x3A8D4E5D, 0x3A8D5F35, 0x3A8D6FFC, 0x3A8D80BA, 0x3A8D9170, 0x3A8DA215, 0x3A8DB2B9, 0x3A8DC344, 0x3A8DD3CF, 0x3A8DE449, 0x3A8DF4B1, 0x3A8E0519, 0x3A8E1571, 0x3A8E25BF, 0x3A8E35FD, 0x3A8E4632, 0x3A8E565E, 0x3A8E6682, 0x3A8E769D, 0x3A8E86A7, 0x3A8E96A9, 0x3A8EA6A1, 0x3A8EB689, 0x3A8EC668, 0x3A8ED63F, 0x3A8EE60C, 0x3A8EF5D2, 0x3A8F0586, 0x3A8F1531, 0x3A8F24D4, 0x3A8F346E, 0x3A8F4400, 0x3A8F5381, 0x3A8F6301, 0x3A8F7271, 0x3A8F81D7, 0x3A8F9136, 0x3A8FA083, 0x3A8FAFD0, 0x3A8FBF14, 0x3A8FCE47, 0x3A8FDD72, 0x3A8FEC94, 0x3A8FFBAE, 0x3A900ABE, 0x3A9019C7, 0x3A9028BE, 0x3A9037B5, 0x3A9046A3, 0x3A905581, 0x3A906456, 0x3A90732A, 0x3A9081EE, 0x3A9090A9, 0x3A909F5B, 0x3A90AE05, 0x3A90BCA6, 0x3A90CB3F, 0x3A90D9CF, 0x3A90E856, 0x3A90F6D5, 0x3A91054B, 0x3A9113B9, 0x3A91221E, 0x3A91307B, 0x3A913ECF, 0x3A914D11, 0x3A915B54, 0x3A91698E, 0x3A9177C0, 0x3A9185E9, 0x3A919409, 0x3A91A221, 0x3A91B030, 0x3A91BE37, 0x3A91CC35, 0x3A91DA33, 0x3A91E81F, 0x3A91F604, 0x3A9203E8, 0x3A9211BB, 0x3A921F8E, 0x3A922D50, 0x3A923B12, 0x3A9248CB, 0x3A925673, 0x3A92641B, 0x3A9271BB, 0x3A927F52, 0x3A928CE9, 0x3A929A6E, 0x3A92A7F4, 0x3A92B569, 0x3A92C2DD, 0x3A92D049, 0x3A92DDAD, 0x3A92EB07, 0x3A92F85A, 0x3A9305A3, 0x3A9312ED, 0x3A932025, 0x3A932D5E, 0x3A933A8D, 0x3A9347B5, 0x3A9354DC, 0x3A9361F2, 0x3A936F08, 0x3A937C0D, 0x3A938912, 0x3A93960E, 0x3A93A30B, 0x3A93AFF6, 0x3A93BCE1, 0x3A93C9C3, 0x3A93D69D, 0x3A93E36F, 0x3A93F040, 0x3A93FD00, 0x3A9409C0, 0x3A941678, 0x3A94232F, 0x3A942FD6, 0x3A943C7C, 0x3A94491A, 0x3A9455AF, 0x3A946245, 0x3A946EC9, 0x3A947B4D, 0x3A9487D1, 0x3A949444, 0x3A94A0B6, 0x3A94AD21, 0x3A94B982, 0x3A94C5DB, 0x3A94D235, 0x3A94DE85, 0x3A94EACD, 0x3A94F70C, 0x3A95034C, 0x3A950F82, 0x3A951BB9, 0x3A9527DF, 0x3A953404, 0x3A954021, 0x3A954C3E, 0x3A95584A, 0x3A956456, 0x3A957062, 0xBF800000, 0x00000000, 0x391AC8FE, 0x397556DD, 0x399ACBEF, 0x39B3B7B1, 0x39C8148F, 0x39D94C26, 0x39E83648, 0x39F55E35, 0x3A00917F, 0x3A05E437, 0x3A0AC050, 0x3A0F38C9, 0x3A135C6E, 0x3A1736F1, 0x3A1AD1C7, 0x3A1E34AA, 0x3A2165FD, 0x3A246B1F, 0x3A27489A, 0x3A2A024B, 0x3A2C9B88, 0x3A2F1731, 0x3A3177CF, 0x3A33BF93, 0x3A35F073, 0x3A380C29, 0x3A3A143F, 0x3A3C0A15, 0x3A3DEEE9, 0x3A3FC3D7, 0x3A4189E1, 0x3A4341F3, 0x3A44ECE4, 0x3A468B73, 0x3A481E56, 0x3A49A62F, 0x3A4B2396, 0x3A4C9714, 0x3A4E012C, 0x3A4F6253, 0x3A50BAF8, 0x3A520B80, 0x3A53544D, 0x3A5495B6, 0x3A55D010, 0x3A5703A6, 0x3A5830C4, 0x3A5957AC, 0x3A5A789F, 0x3A5B93D9, 0x3A5CA994, 0x3A5DBA05, 0x3A5EC55E, 0x3A5FCBCF, 0x3A60CD87, 0x3A61CAAF, 0x3A62C371, 0x3A63B7F1, 0x3A64A856, 0x3A6594C1, 0x3A667D56, 0x3A676230, 0x3A684371, 0x3A692134, 0x3A69FB95, 0x3A6AD2AC, 0x3A6BA695, 0x3A6C7765, 0x3A6D4535, 0x3A6E1019, 0x3A6ED826, 0x3A6F9D73, 0x3A70600F, 0x3A71200E, 0x3A71DD84, 0x3A72987F, 0x3A735111, 0x3A740749, 0x3A74BB36, 0x3A756CE7, 0x3A761C69, 0x3A76C9CB, 0x3A77751A, 0x3A781E63, 0x3A78C5B0, 0x3A796B0F, 0x3A7A0E8B, 0x3A7AB02C, 0x3A7B5000, 0x3A7BEE10, 0x3A7C8A64, 0x3A7D2509, 0x3A7DBE06, 0x3A7E5565, 0x3A7EEB2F, 0x3A7F7F6B, 0x3A800911, 0x3A8051AE, 0x3A809990, 0x3A80E0BB, 0x3A812733, 0x3A816CFA, 0x3A81B215, 0x3A81F687, 0x3A823A53, 0x3A827D7C, 0x3A82C005, 0x3A8301F1, 0x3A834341, 0x3A8383FB, 0x3A83C423, 0x3A8403B9, 0x3A8442BD, 0x3A848137, 0x3A84BF20, 0x3A84FC87, 0x3A853965, 0x3A8575C3, 0x3A85B19F, 0x3A85ECFB, 0x3A8627D5, 0x3A866238, 0x3A869C22, 0x3A86D59D, 0x3A870E96, 0x3A874720, 0x3A877F3B, 0x3A87B6E5, 0x3A87EE21, 0x3A8824F4, 0x3A885B59, 0x3A889156, 0x3A88C6E3, 0x3A88FC13, 0x3A8930DB, 0x3A896544, 0x3A899946, 0x3A89CCF3, 0x3A8A0038, 0x3A8A331F, 0x3A8A65A8, 0x3A8A97DA, 0x3A8AC9B7, 0x3A8AFB35, 0x3A8B2C5D, 0x3A8B5D30, 0x3A8B8DB5, 0x3A8BBDDB, 0x3A8BEDB4, 0x3A8C1D40, 0x3A8C4C76, 0x3A8C7B5F, 0x3A8CA9F2, 0x3A8CD840, 0x3A8D0641, 0x3A8D33F4, 0x3A8D6163, 0x3A8D8E85, 0x3A8DBB59, 0x3A8DE7E8, 0x3A8E1433, 0x3A8E4039, 0x3A8E6BFA, 0x3A8E9777, 0x3A8EC2AF, 0x3A8EEDAA, 0x3A8F1859, 0x3A8F42CB, 0x3A8F6D01, 0x3A8F96F3, 0x3A8FC0A8, 0x3A8FEA21, 0x3A90135E, 0x3A903C5F, 0x3A90651B, 0x3A908DA4, 0x3A90B5F0, 0x3A90DE09, 0x3A9105DD, 0x3A912D7E, 0x3A9154EB, 0x3A917C1C, 0x3A91A31A, 0x3A91C9DB, 0x3A91F069, 0x3A9216CC, 0x3A923CF3, 0x3A9262DD, 0x3A92889D, 0x3A92AE32, 0x3A92D38A, 0x3A92F8AF, 0x3A931DAA, 0x3A934270, 0x3A93670C, 0x3A938B6B, 0x3A93AFA8, 0x3A93D3B2, 0x3A93F791, 0x3A941B3C, 0x3A943EBC, 0x3A946211, 0x3A948533, 0x3A94A832, 0x3A94CAFE, 0x3A94EDA7, 0x3A95101D, 0x3A953268, 0x3A955490, 0x3A95768E, 0x3A959861, 0x3A95BA08, 0x3A95DB8E, 0x3A95FCE8, 0x3A961E18, 0x3A963F25, 0x3A966007, 0x3A9680BE, 0x3A96A15B, 0x3A96C1CE, 0x3A96E215, 0x3A97023B, 0x3A97223D, 0x3A97421E, 0x3A9761D3, 0x3A978166, 0x3A97A0E0, 0x3A97C02E, 0x3A97DF52, 0x3A97FE5B, 0x3A981D43, 0x3A983C08, 0x3A985AAA, 0x3A98792B, 0x3A989791, 0x3A98B5CD, 0x3A98D3EE, 0x3A98F1EE, 0x3A990FCB, 0x3A992D85, 0x3A994B26, 0x3A9968A5, 0x3A99860A, 0x3A99A34C, 0x3A99C06C, 0x3A99DD72, 0x3A99FA5F, 0x3A9A1729, 0x3A9A33D1, 0x3A9A505F, 0x3A9A6CD3, 0x3A9A8925, 0x3A9AA55D, 0x3A9AC17C, 0x3A9ADD78, 0x3A9AF962, 0x3A9B152B, 0x3A9B30D1, 0x3A9B4C66, 0x3A9B67D9, 0x3A9B833A, 0x3A9B9E79, 0x3A9BB99E, 0x3A9BD4AA, 0x3A9BEF9B, 0x3A9C0A73, 0x3A9C2532, 0x3A9C3FD6, 0x3A9C5A61, 0x3A9C74D1, 0x3A9C8F31, 0x3A9CA96E, 0x3A9CC39B, 0x3A9CDDA4, 0x3A9CF79D, 0x3A9D117C, 0x3A9D2B41, 0x3A9D44F5, 0x3A9D5E8F, 0x3A9D780F, 0x3A9D9176, 0x3A9DAACB, 0x3A9DC407, 0x3A9DDD29, 0x3A9DF639, 0x3A9E0F30, 0x3A9E2816, 0x3A9E40E2, 0x3A9E5994, 0x3A9E7235, 0x3A9E8AC5, 0x3A9EA33B, 0x3A9EBB97, 0x3A9ED3E3, 0x3A9EEC1C, 0x3A9F043D, 0x3A9F1C43, 0x3A9F3441, 0x3A9F4C1C, 0x3A9F63EF, 0x3A9F7BA8, 0x3A9F9350, 0x3A9FAADE, 0x3A9FC264, 0x3A9FD9C7, 0x3A9FF122, 0x3AA00862, 0x3AA01F9B, 0x3AA036B1, 0x3AA04DBE, 0x3AA064BA, 0x3AA07B9C, 0x3AA0926D, 0x3AA0A92D, 0x3AA0BFDC, 0x3AA0D671, 0x3AA0ECFE, 0x3AA10370, 0x3AA119D2, 0x3AA1302B, 0x3AA1466A, 0x3AA15C98, 0x3AA172B5, 0x3AA188C0, 0x3AA19EBB, 0x3AA1B4A4, 0x3AA1CA7C, 0x3AA1E043, 0x3AA1F5F8, 0x3AA20B9D, 0x3AA22139, 0x3AA236BB, 0x3AA24C2C, 0x3AA26194, 0x3AA276E3, 0x3AA28C29, 0x3AA2A155, 0x3AA2B679, 0x3AA2CB8B, 0x3AA2E08D, 0x3AA2F585, 0x3AA30A64, 0x3AA31F3B, 0x3AA33400, 0x3AA348B4, 0x3AA35D57, 0x3AA371F1, 0x3AA3867A, 0x3AA39AF2, 0x3AA3AF58, 0x3AA3C3B6, 0x3AA3D803, 0x3AA3EC3F, 0x3AA4006A, 0x3AA4148C, 0x3AA4289C, 0x3AA43C9C, 0x3AA45093, 0x3AA46479, 0x3AA47856, 0x3AA48C1A, 0x3AA49FDD, 0x3AA4B387, 0x3AA4C728, 0x3AA4DAB8, 0x3AA4EE3F, 0x3AA501B5, 0x3AA51523, 0x3AA5287F, 0x3AA53BD3, 0x3AA54F0D, 0x3AA56247, 0x3AA57570, 0x3AA58888, 0x3AA59B97, 0x3AA5AE95, 0x3AA5C18A, 0x3AA5D46E, 0x3AA5E74A, 0x3AA5FA1D, 0x3AA60CD6, 0x3AA61F8F, 0x3AA63237, 0x3AA644CE, 0x3AA6575C, 0x3AA669E2, 0x3AA67C56, 0x3AA68EC2, 0x3AA6A125, 0x3AA6B377, 0x3AA6C5B8, 0x3AA6D7F1, 0x3AA6EA20, 0x3AA6FC47, 0x3AA70E5D, 0x3AA7206B, 0x3AA73267, 0x3AA7445B, 0x3AA75646, 0x3AA76820, 0x3AA779F1, 0x3AA78BB9, 0x3AA79D71, 0x3AA7AF28, 0x3AA7C0C6, 0x3AA7D264, 0x3AA7E3F0, 0x3AA7F574, 0x3AA806F0, 0x3AA8185A, 0x3AA829BB, 0x3AA83B14, 0x3AA84C65, 0x3AA85DA4, 0x3AA86EDB, 0x3AA88009, 0x3AA8912E, 0x3AA8A24B, 0x3AA8B357, 0x3AA8C45A, 0x3AA8D554, 0x3AA8E63E, 0x3AA8F727, 0x3AA907FF, 0x3AA918CF, 0x3AA92996, 0x3AA93A54, 0x3AA94B0A, 0x3AA95BAE, 0x3AA96C4B, 0x3AA97CDE, 0x3AA98D69, 0x3AA99DEB, 0x3AA9AE65, 0x3AA9BED6, 0x3AA9CF36, 0x3AA9DF96, 0x3AA9EFE4, 0x3AAA002A, 0x3AAA1068, 0x3AAA209D, 0x3AAA30C9, 0x3AAA40ED, 0x3AAA50FF, 0x3AAA6112, 0x3AAA7113, 0x3AAA8115, 0x3AAA9105, 0x3AAAA0F5, 0x3AAAB0D4, 0x3AAAC0AB, 0x3AAAD079, 0x3AAAE047, 0x3AAAF003, 0x3AAAFFB7, 0x3AAB0F63, 0x3AAB1F06, 0x3AAB2EA0, 0x3AAB3E32, 0x3AAB4DBB, 0x3AAB5D3B, 0x3AAB6CB3, 0x3AAB7C23, 0x3AAB8B8A, 0x3AAB9AE8, 0x3AABAA3D, 0x3AABB993, 0x3AABC8D7, 0x3AABD813, 0x3AABE746, 0x3AABF671, 0x3AAC059C, 0x3AAC14B5, 0x3AAC23C6, 0x3AAC32D7, 0x3AAC41D7, 0x3AAC50D6, 0x3AAC5FC5, 0x3AAC6EB3, 0x3AAC7D99, 0x3AAC8C77, 0x3AAC9B4B, 0x3AACAA18, 0x3AACB8DB, 0x3AACC796, 0x3AACD649, 0x3AACE4F2, 0x3AACF39C, 0x3AAD023D, 0x3AAD10CD, 0x3AAD1F5D, 0x3AAD2DE5, 0x3AAD3C64, 0x3AAD4ADA, 0x3AAD5950, 0x3AAD67B5, 0x3AAD761A, 0x3AAD846E, 0x3AAD92C2, 0x3AADA10E, 0x3AADAF59, 0x3AADBD93, 0x3AADCBC4, 0x3AADD9F6, 0x3AADE81F, 0x3AADF63F, 0x3AAE0457, 0x3AAE1266, 0x3AAE2075, 0x3AAE2E7C, 0xBF800000, 0x00000000, 0x39396DD5, 0x3992F4E5, 0x39B97208, 0x39D74D35, 0x39EFB277, 0x3A02297E, 0x3A0B18AB, 0x3A12FA2B, 0x3A1A06EF, 0x3A206796, 0x3A263A1D, 0x3A2B954B, 0x3A308AD7, 0x3A3528C6, 0x3A397A6C, 0x3A3D890A, 0x3A415C47, 0x3A44FA95, 0x3A48695D, 0x3A4BAD47, 0x3A4ECA4E, 0x3A51C3E9, 0x3A549D18, 0x3A575886, 0x3A59F886, 0x3A5C7F2A, 0x3A5EEE4A, 0x3A61478D, 0x3A638C6F, 0x3A65BE47, 0x3A67DE46, 0x3A69ED8B, 0x3A6BED12, 0x3A6DDDC7, 0x3A6FC07E, 0x3A7195FB, 0x3A735EF3, 0x3A751C0E, 0x3A76CDE5, 0x3A787506, 0x3A7A11F5, 0x3A7BA52D, 0x3A7D2F20, 0x3A7EB039, 0x3A80146E, 0x3A80CCB3, 0x3A818117, 0x3A8231C3, 0x3A82DEDE, 0x3A83888B, 0x3A842EF1, 0x3A84D226, 0x3A85724E, 0x3A860F8A, 0x3A86A9ED, 0x3A874197, 0x3A87D69B, 0x3A886912, 0x3A88F916, 0x3A8986B8, 0x3A8A1212, 0x3A8A9B2D, 0x3A8B2221, 0x3A8BA6F9, 0x3A8C29CD, 0x3A8CAAA6, 0x3A8D299F, 0x3A8DA6B6, 0x3A8E21FD, 0x3A8E9B8F, 0x3A8F136A, 0x3A8F8998, 0x3A8FFE32, 0x3A907138, 0x3A90E2B3, 0x3A9152BD, 0x3A91C14D, 0x3A922E7C, 0x3A929A43, 0x3A9304BB, 0x3A936DDB, 0x3A93D5BE, 0x3A943C5A, 0x3A94A1C9, 0x3A950603, 0x3A956911, 0x3A95CB03, 0x3A962BDA, 0x3A968B9D, 0x3A96EA4E, 0x3A9747F4, 0x3A97A499, 0x3A980045, 0x3A985AEF, 0x3A98B4B1, 0x3A990D7A, 0x3A996564, 0x3A99BC65, 0x3A9A1288, 0x3A9A67CB, 0x3A9ABC37, 0x3A9B0FD5, 0x3A9B62A5, 0x3A9BB4A7, 0x3A9C05E3, 0x3A9C565A, 0x3A9CA613, 0x3A9CF510, 0x3A9D4350, 0x3A9D90E4, 0x3A9DDDBB, 0x3A9E29EF, 0x3A9E756E, 0x3A9EC04A, 0x3A9F0A7A, 0x3A9F5410, 0x3A9F9CFA, 0x3A9FE552, 0x3AA02D07, 0x3AA07429, 0x3AA0BAB1, 0x3AA100A7, 0x3AA1460B, 0x3AA18AE6, 0x3AA1CF2E, 0x3AA212ED, 0x3AA25623, 0x3AA298D8, 0x3AA2DB03, 0x3AA31CAE, 0x3AA35DE0, 0x3AA39E91, 0x3AA3DEC2, 0x3AA41E7A, 0x3AA45DBA, 0x3AA49C82, 0x3AA4DADA, 0x3AA518BA, 0x3AA5562A, 0x3AA5932B, 0x3AA5CFBB, 0x3AA60BE5, 0x3AA6479F, 0x3AA682EA, 0x3AA6BDD6, 0x3AA6F852, 0x3AA73270, 0x3AA76C26, 0x3AA7A57F, 0x3AA7DE70, 0x3AA81702, 0x3AA84F36, 0x3AA8870C, 0x3AA8BE83, 0x3AA8F5A4, 0x3AA92C67, 0x3AA962D4, 0x3AA998E3, 0x3AA9CEA4, 0x3AAA0406, 0x3AAA391B, 0x3AAA6DDB, 0x3AAAA244, 0x3AAAD660, 0x3AAB0A27, 0x3AAB3DA0, 0x3AAB70CB, 0x3AABA3AA, 0x3AABD63B, 0x3AAC087E, 0x3AAC3A7D, 0x3AAC6C2F, 0x3AAC9D94, 0x3AACCEB3, 0x3AACFF86, 0x3AAD301C, 0x3AAD6065, 0x3AAD9069, 0x3AADC028, 0x3AADEFA3, 0x3AAE1ED9, 0x3AAE4DD3, 0x3AAE7C88, 0x3AAEAB01, 0x3AAED936, 0x3AAF0725, 0x3AAF34E1, 0x3AAF6259, 0x3AAF8F94, 0x3AAFBC93, 0x3AAFE956, 0x3AB015DD, 0x3AB04228, 0x3AB06E36, 0x3AB09A11, 0x3AB0C5B0, 0x3AB0F113, 0x3AB11C42, 0x3AB14735, 0x3AB171F5, 0x3AB19C81, 0x3AB1C6D9, 0x3AB1F0F6, 0x3AB21ADF, 0x3AB24494, 0x3AB26E16, 0x3AB29764, 0x3AB2C07F, 0x3AB2E96E, 0x3AB31222, 0x3AB33AAA, 0x3AB36300, 0x3AB38B2A, 0x3AB3B320, 0x3AB3DAE3, 0x3AB4027C, 0x3AB429E0, 0x3AB45122, 0x3AB47828, 0x3AB49F0C, 0x3AB4C5BC, 0x3AB4EC42, 0x3AB5129C, 0x3AB538CB, 0x3AB55ED0, 0x3AB584A9, 0x3AB5AA58, 0x3AB5CFDB, 0x3AB5F534, 0x3AB61A61, 0x3AB63F6D, 0x3AB66444, 0x3AB688FA, 0x3AB6AD8D, 0x3AB6D1EC, 0x3AB6F632, 0x3AB71A44, 0x3AB73E34, 0x3AB76201, 0x3AB785A4, 0x3AB7A924, 0x3AB7CC79, 0x3AB7EFB5, 0x3AB812BD, 0x3AB835AB, 0x3AB8586E, 0x3AB87B0F, 0x3AB89D96, 0x3AB8BFE9, 0x3AB8E223, 0x3AB9043A, 0x3AB9262F, 0x3AB947FA, 0x3AB969AA, 0x3AB98B38, 0x3AB9ACA3, 0x3AB9CDED, 0x3AB9EF13, 0x3ABA1020, 0x3ABA310B, 0x3ABA51CB, 0x3ABA727A, 0x3ABA92FD, 0x3ABAB367, 0x3ABAD3AF, 0x3ABAF3DC, 0x3ABB13E8, 0x3ABB33D1, 0x3ABB53A0, 0x3ABB7356, 0x3ABB92E9, 0x3ABBB259, 0x3ABBD1B0, 0x3ABBF0EE, 0x3ABC1009, 0x3ABC2F0A, 0x3ABC4DF1, 0x3ABC6CB6, 0x3ABC8B61, 0x3ABCA9F3, 0x3ABCC862, 0x3ABCE6C0, 0x3ABD04FB, 0x3ABD231D, 0x3ABD411C, 0x3ABD5F0A, 0x3ABD7CDF, 0x3ABD9A91, 0x3ABDB832, 0x3ABDD5B0, 0x3ABDF31E, 0x3ABE1069, 0x3ABE2D9A, 0x3ABE4ABA, 0x3ABE67B8, 0x3ABE84A4, 0x3ABEA177, 0x3ABEBE30, 0x3ABEDACF, 0x3ABEF755, 0x3ABF13C0, 0x3ABF301B, 0x3ABF4C53, 0x3ABF687A, 0x3ABF8490, 0x3ABFA083, 0x3ABFBC65, 0x3ABFD82E, 0x3ABFF3E5, 0x3AC00F7A, 0x3AC02B06, 0x3AC04670, 0x3AC061C9, 0x3AC07D08, 0x3AC09836, 0x3AC0B34A, 0x3AC0CE4D, 0x3AC0E936, 0x3AC1040E, 0x3AC11ECC, 0x3AC13971, 0x3AC1540D, 0x3AC16E86, 0x3AC188F7, 0x3AC1A34E, 0x3AC1BD8B, 0x3AC1D7B7, 0x3AC1F1D2, 0x3AC20BD4, 0x3AC225C4, 0x3AC23FA2, 0x3AC25968, 0x3AC2731B, 0x3AC28CBE, 0x3AC2A650, 0x3AC2BFC7, 0x3AC2D92E, 0x3AC2F27B, 0x3AC30BBF, 0x3AC324E9, 0x3AC33E03, 0x3AC3570B, 0x3AC37002, 0x3AC388E8, 0x3AC3A1B3, 0x3AC3BA77, 0x3AC3D320, 0x3AC3EBB9, 0x3AC40440, 0x3AC41CB6, 0x3AC4351B, 0x3AC44D66, 0x3AC465A9, 0x3AC47DDA, 0x3AC495F2, 0x3AC4AE01, 0x3AC4C5FE, 0x3AC4DDE2, 0x3AC4F5BE, 0x3AC50D88, 0x3AC52539, 0x3AC53CE1, 0x3AC55477, 0x3AC56BFD, 0x3AC58371, 0x3AC59AD4, 0x3AC5B226, 0x3AC5C970, 0x3AC5E09F, 0x3AC5F7C6, 0x3AC60ED4, 0x3AC625D8, 0x3AC63CCC, 0x3AC653B7, 0x3AC66A88, 0x3AC68151, 0x3AC697FF, 0x3AC6AEA6, 0x3AC6C543, 0x3AC6DBC7, 0x3AC6F242, 0x3AC708AC, 0x3AC71F05, 0x3AC7354D, 0x3AC74B8C, 0x3AC761BA, 0x3AC777D7, 0x3AC78DEB, 0x3AC7A3EE, 0x3AC7B9E0, 0x3AC7CFC9, 0x3AC7E5A1, 0x3AC7FB68, 0x3AC81126, 0x3AC826D3, 0x3AC83C6F, 0x3AC85203, 0x3AC86785, 0x3AC87CF6, 0x3AC8925E, 0x3AC8A7BE, 0x3AC8BD0C, 0x3AC8D24A, 0x3AC8E776, 0x3AC8FC9A, 0x3AC911B5, 0x3AC926BF, 0x3AC93BB7, 0x3AC950A8, 0x3AC9658F, 0x3AC97A65, 0x3AC98F2B, 0x3AC9A3E7, 0x3AC9B893, 0x3AC9CD35, 0x3AC9E1D0, 0x3AC9F659, 0x3ACA0AD1, 0x3ACA1F40, 0x3ACA33A7, 0x3ACA47FC, 0x3ACA5C49, 0x3ACA7085, 0x3ACA84B8, 0x3ACA98DA, 0x3ACAACF3, 0x3ACAC104, 0x3ACAD504, 0x3ACAE8FB, 0x3ACAFCE9, 0x3ACB10C6, 0x3ACB2492, 0x3ACB385E, 0x3ACB4C19, 0x3ACB5FC3, 0x3ACB736D, 0x3ACB8705, 0x3ACB9A8C, 0x3ACBAE14, 0x3ACBC18A, 0x3ACBD4F8, 0x3ACBE854, 0x3ACBFBA8, 0x3ACC0EF3, 0x3ACC222D, 0x3ACC3567, 0x3ACC4890, 0x3ACC5BA8, 0x3ACC6EBF, 0x3ACC81C6, 0x3ACC94C4, 0x3ACCA7B0, 0x3ACCBA9D, 0x3ACCCD79, 0x3ACCE04C, 0x3ACCF30D, 0x3ACD05CF, 0x3ACD1880, 0x3ACD2B28, 0x3ACD3DC7, 0x3ACD505E, 0x3ACD62E4, 0x3ACD7561, 0x3ACD87D5, 0x3ACD9A41, 0x3ACDACA4, 0x3ACDBEFF, 0x3ACDD148, 0x3ACDE389, 0x3ACDF5C2, 0x3ACE07F1, 0x3ACE1A19, 0x3ACE2C2F, 0x3ACE3E45, 0x3ACE5049, 0x3ACE6246, 0x3ACE7439, 0x3ACE8624, 0x3ACE9807, 0x3ACEA9E0, 0x3ACEBBB2, 0x3ACECD72, 0x3ACEDF32, 0x3ACEF0E1, 0x3ACF0287, 0x3ACF142D, 0x3ACF25C3, 0x3ACF374F, 0x3ACF48D3, 0x3ACF5A4E, 0x3ACF6BB9, 0x3ACF7D23, 0x3ACF8E84, 0x3ACF9FDD, 0x3ACFB125, 0x3ACFC26D, 0x3ACFD3A4, 0x3ACFE4DA, 0x3ACFF608, 0x3AD00725, 0x3AD01842, 0x3AD0294E, 0x3AD03A51, 0x3AD04B54, 0x3AD05C46, 0x3AD06D38, 0x3AD07E18, 0x3AD08EF9, 0x3AD09FC9, 0x3AD0B098, 0xBF800000, 0x00000000, 0x3967339A, 0x39B73C13, 0x39E73A1D, 0x3A063A58, 0x3A15701D, 0x3A224C6B, 0x3A2D707C, 0x3A374447, 0x3A400ED0, 0x3A4802BE, 0x3A4F4571, 0x3A55F356, 0x3A5C227B, 0x3A61E465, 0x3A67472C, 0x3A6C565C, 0x3A711B86, 0x3A759EAA, 0x3A79E68F, 0x3A7DF8FD, 0x3A80ED77, 0x3A82C859, 0x3A848F02, 0x3A864326, 0x3A87E624, 0x3A89795D, 0x3A8AFDE4, 0x3A8C74D4, 0x3A8DDF04, 0x3A8F3D5B, 0x3A90908F, 0x3A91D953, 0x3A93184B, 0x3A944E09, 0x3A957B05, 0x3A969FC8, 0x3A97BCB9, 0x3A98D241, 0x3A99E0C5, 0x3A9AE89C, 0x3A9BEA1B, 0x3A9CE587, 0x3A9DDB2E, 0x3A9ECB54, 0x3A9FB62D, 0x3AA09BFE, 0x3AA17CF0, 0x3AA2594B, 0x3AA3312E, 0x3AA404C6, 0x3AA4D446, 0x3AA59FD1, 0x3AA66791, 0x3AA72BA8, 0x3AA7EC32, 0x3AA8A957, 0x3AA96333, 0x3AAA19DE, 0x3AAACD7C, 0x3AAB7E1E, 0x3AAC2BE5, 0x3AACD6E3, 0x3AAD7F2A, 0x3AAE24DB, 0x3AAEC808, 0x3AAF68B9, 0x3AB00711, 0x3AB0A30F, 0x3AB13CD7, 0x3AB1D470, 0x3AB269E4, 0x3AB2FD54, 0x3AB38EB8, 0x3AB41E2A, 0x3AB4ABBB, 0x3AB5376B, 0x3AB5C154, 0x3AB6497E, 0x3AB6CFE9, 0x3AB754AF, 0x3AB7D7D1, 0x3AB8595E, 0x3AB8D958, 0x3AB957D9, 0x3AB9D4D6, 0x3ABA506B, 0x3ABACA8E, 0x3ABB4351, 0x3ABBBABD, 0x3ABC30D9, 0x3ABCA5A7, 0x3ABD192E, 0x3ABD8B80, 0x3ABDFC9D, 0x3ABE6C84, 0x3ABEDB48, 0x3ABF48E7, 0x3ABFB56B, 0x3AC020D3, 0x3AC08B31, 0x3AC0F47C, 0x3AC15CC6, 0x3AC1C405, 0x3AC22A4B, 0x3AC28FA1, 0x3AC2F3FD, 0x3AC35769, 0x3AC3B9ED, 0x3AC41B8A, 0x3AC47C46, 0x3AC4DC24, 0x3AC53B22, 0x3AC59952, 0x3AC5F6AB, 0x3AC65336, 0x3AC6AEF3, 0x3AC709EA, 0x3AC7641C, 0x3AC7BD91, 0x3AC81649, 0x3AC86E3B, 0x3AC8C581, 0x3AC91C0B, 0x3AC971E8, 0x3AC9C711, 0x3ACA1B98, 0x3ACA6F69, 0x3ACAC298, 0x3ACB1523, 0x3ACB670B, 0x3ACBB858, 0x3ACC0903, 0x3ACC5912, 0x3ACCA890, 0x3ACCF773, 0x3ACD45BB, 0x3ACD937A, 0x3ACDE0A7, 0x3ACE2D4A, 0x3ACE795B, 0x3ACEC4EC, 0x3ACF0FEA, 0x3ACF5A68, 0x3ACFA465, 0x3ACFEDE1, 0x3AD036D3, 0x3AD07F4E, 0x3AD0C747, 0x3AD10EC8, 0x3AD155D1, 0x3AD19C62, 0x3AD1E27A, 0x3AD2281A, 0x3AD26D4B, 0x3AD2B20B, 0x3AD2F65D, 0x3AD33A35, 0x3AD37DA7, 0x3AD3C0B2, 0x3AD4034D, 0x3AD44578, 0x3AD48745, 0x3AD4C8A2, 0x3AD509A1, 0x3AD54A39, 0x3AD58A69, 0x3AD5CA3B, 0x3AD609AF, 0x3AD648C4, 0x3AD68772, 0x3AD6C5CA, 0x3AD703C4, 0x3AD7415F, 0x3AD77EA4, 0x3AD7BB8B, 0x3AD7F81B, 0x3AD83456, 0x3AD8703B, 0x3AD8ABCB, 0x3AD8E704, 0x3AD921E7, 0x3AD95C7D, 0x3AD996BD, 0x3AD9D0B0, 0x3ADA0A4D, 0x3ADA43A5, 0x3ADA7CA8, 0x3ADAB55D, 0x3ADAEDC4, 0x3ADB25E7, 0x3ADB5DB4, 0x3ADB953D, 0x3ADBCC80, 0x3ADC0377, 0x3ADC3A28, 0x3ADC708C, 0x3ADCA6AC, 0x3ADCDC87, 0x3ADD121D, 0x3ADD476E, 0x3ADD7C7B, 0x3ADDB14C, 0x3ADDE5CF, 0x3ADE1A16, 0x3ADE4E21, 0x3ADE81E7, 0x3ADEB569, 0x3ADEE8AE, 0x3ADF1BB7, 0x3ADF4E85, 0x3ADF810D, 0x3ADFB359, 0x3ADFE572, 0x3AE01746, 0x3AE048E7, 0x3AE07A43, 0x3AE0AB6B, 0x3AE0DC57, 0x3AE10D0F, 0x3AE13D8C, 0x3AE16DCC, 0x3AE19DD9, 0x3AE1CDB2, 0x3AE1FD4F, 0x3AE22CB9, 0x3AE25BEF, 0x3AE28AE9, 0x3AE2B9AF, 0x3AE2E84B, 0x3AE316AA, 0x3AE344D6, 0x3AE372D7, 0x3AE3A09B, 0x3AE3CE35, 0x3AE3FB9B, 0x3AE428CE, 0x3AE455D5, 0x3AE482AA, 0x3AE4AF4A, 0x3AE4DBC0, 0x3AE50802, 0x3AE53419, 0x3AE56005, 0x3AE58BBE, 0x3AE5B74C, 0x3AE5E2A6, 0x3AE60DDE, 0x3AE638E2, 0x3AE663BC, 0x3AE68E6A, 0x3AE6B8ED, 0x3AE6E346, 0x3AE70D73, 0x3AE73776, 0x3AE7614E, 0x3AE78AFA, 0x3AE7B47C, 0x3AE7DDDB, 0x3AE80710, 0x3AE83019, 0x3AE858F8, 0x3AE881B4, 0x3AE8AA45, 0x3AE8D2B4, 0x3AE8FAF8, 0x3AE9231A, 0x3AE94B10, 0x3AE972E5, 0x3AE99A8E, 0x3AE9C215, 0x3AE9E971, 0x3AEA10B3, 0x3AEA37CA, 0x3AEA5EBF, 0x3AEA8589, 0x3AEAAC39, 0x3AEAD2BF, 0x3AEAF922, 0x3AEB1F62, 0x3AEB4580, 0x3AEB6B7C, 0x3AEB9155, 0x3AEBB70D, 0x3AEBDCA1, 0x3AEC0214, 0x3AEC2764, 0x3AEC4C91, 0x3AEC71A5, 0x3AEC968E, 0x3AECBB5D, 0x3AECE00A, 0x3AED049D, 0x3AED2905, 0x3AED4D53, 0x3AED7188, 0x3AED9592, 0x3AEDB981, 0x3AEDDD57, 0x3AEE010B, 0x3AEE249C, 0x3AEE4814, 0x3AEE6B69, 0x3AEE8EA5, 0x3AEEB1C6, 0x3AEED4C6, 0x3AEEF7A3, 0x3AEF1A6E, 0x3AEF3D18, 0x3AEF5F9F, 0x3AEF820C, 0x3AEFA460, 0x3AEFC699, 0x3AEFE8B1, 0x3AF00AB7, 0x3AF02C9B, 0x3AF04E5C, 0x3AF0700C, 0x3AF0919A, 0x3AF0B317, 0x3AF0D472, 0x3AF0F5B2, 0x3AF116D9, 0x3AF137E6, 0x3AF158D9, 0x3AF179B3, 0x3AF19A73, 0x3AF1BB19, 0x3AF1DBA5, 0x3AF1FC17, 0x3AF21C70, 0x3AF23CB8, 0x3AF25CDD, 0x3AF27CE8, 0x3AF29CE2, 0x3AF2BCC3, 0x3AF2DC8A, 0x3AF2FC36, 0x3AF31BCA, 0x3AF33B4C, 0x3AF35AB4, 0x3AF37A02, 0x3AF39937, 0x3AF3B85A, 0x3AF3D764, 0x3AF3F654, 0x3AF41533, 0x3AF433F8, 0x3AF452A3, 0x3AF4713D, 0x3AF48FBD, 0x3AF4AE2C, 0x3AF4CC81, 0x3AF4EABD, 0x3AF508E7, 0x3AF52700, 0x3AF544F7, 0x3AF562E5, 0x3AF580BA, 0x3AF59E75, 0x3AF5BC1E, 0x3AF5D9B6, 0x3AF5F735, 0x3AF6149A, 0x3AF631F6, 0x3AF64F30, 0x3AF66C61, 0x3AF68978, 0x3AF6A67F, 0x3AF6C36B, 0x3AF6E047, 0x3AF6FD11, 0x3AF719CA, 0x3AF73669, 0x3AF752F7, 0x3AF76F6B, 0x3AF78BD7, 0x3AF7A829, 0x3AF7C46A, 0x3AF7E091, 0x3AF7FCAF, 0x3AF818B4, 0x3AF834A7, 0x3AF85089, 0x3AF86C5A, 0x3AF8881A, 0x3AF8A3C0, 0x3AF8BF5E, 0x3AF8DAE1, 0x3AF8F654, 0x3AF911B5, 0x3AF92D06, 0x3AF94845, 0x3AF96373, 0x3AF97E8F, 0x3AF99992, 0x3AF9B48C, 0x3AF9CF76, 0x3AF9EA45, 0x3AFA050C, 0x3AFA1FC1, 0x3AFA3A5D, 0x3AFA54F0, 0x3AFA6F72, 0x3AFA89E3, 0x3AFAA443, 0x3AFABE91, 0x3AFAD8CF, 0x3AFAF2FB, 0x3AFB0D16, 0x3AFB2720, 0x3AFB4121, 0x3AFB5B08, 0x3AFB74E7, 0x3AFB8EB5, 0x3AFBA871, 0x3AFBC21D, 0x3AFBDBB7, 0x3AFBF548, 0x3AFC0EC0, 0x3AFC282F, 0x3AFC418D, 0x3AFC5ADA, 0x3AFC741E, 0x3AFC8D51, 0x3AFCA673, 0x3AFCBF84, 0x3AFCD883, 0x3AFCF17A, 0x3AFD0A60, 0x3AFD2334, 0x3AFD3C00, 0x3AFD54BB, 0x3AFD6D65, 0x3AFD85FD, 0x3AFD9E8D, 0x3AFDB70C, 0x3AFDCF79, 0x3AFDE7DE, 0x3AFE0032, 0x3AFE187D, 0x3AFE30B7, 0x3AFE48E0, 0x3AFE60F7, 0x3AFE7906, 0x3AFE910C, 0x3AFEA8F9, 0x3AFEC0E6, 0x3AFED8B9, 0x3AFEF083, 0x3AFF083C, 0x3AFF1FEC, 0x3AFF3794, 0x3AFF4F22, 0x3AFF66A8, 0x3AFF7E25, 0x3AFF9591, 0x3AFFACF4, 0x3AFFC446, 0x3AFFDB87, 0x3AFFF2BF, 0x3B0004F7, 0x3B001087, 0x3B001C11, 0x3B002794, 0x3B00330E, 0x3B003E83, 0x3B0049F4, 0x3B00555D, 0x3B0060C1, 0x3B006C21, 0x3B007774, 0x3B0082C7, 0x3B008E12, 0x3B009958, 0x3B00A496, 0x3B00AFCF, 0x3B00BB00, 0x3B00C62C, 0x3B00D154, 0x3B00DC74, 0x3B00E78F, 0x3B00F2A2, 0x3B00FDB0, 0x3B0108BA, 0x3B0113C0, 0x3B011EBD, 0x3B0129B2, 0x3B0134A7, 0x3B013F93, 0x3B014A7A, 0x3B015559, 0x3B016034, 0x3B016B0B, 0x3B0175D9, 0x3B0180A7, 0x3B018B68, 0x3B019629, 0x3B01A0E1, 0x3B01AB96, 0x3B01B645, 0x3B01C0F1, 0x3B01CB94, 0x3B01D633, 0x3B01E0CD, 0x3B01EB5F, 0x3B01F5ED, 0x3B020076, 0x3B020AFB, 0x3B021577, 0x3B021FF3, 0xBF800000, 0x00000000, 0x3B8E43B4, 0x3BE1C520, 0x3C0E92C4, 0x3C25A35D, 0x3C3881DC, 0x3C487A58, 0x3C565313, 0x3C628C3C, 0x3C6D7D51, 0x3C7764C6, 0x3C803864, 0x3C84623A, 0x3C883D81, 0x3C8BD50B, 0x3C8F3191, 0x3C925A3B, 0x3C9554F1, 0x3C9826A8, 0x3C9AD391, 0x3C9D5F41, 0x3C9FCCCF, 0x3CA21EE4, 0x3CA457D9, 0x3CA679B2, 0x3CA8864C, 0x3CAA7F30, 0x3CAC65DA, 0x3CAE3B87, 0x3CB00160, 0x3CB1B86F, 0x3CB361A7, 0x3CB4FDD9, 0x3CB68DD1, 0x3CB81245, 0x3CB98BD8, 0x3CBAFB23, 0x3CBC60AE, 0x3CBDBCFF, 0x3CBF1091, 0x3CC05BCB, 0x3CC19F17, 0x3CC2DAD1, 0x3CC40F54, 0x3CC53CF6, 0x3CC663FD, 0x3CC784B9, 0x3CC89F6C, 0x3CC9B454, 0x3CCAC3A8, 0x3CCBCDA9, 0x3CCCD286, 0x3CCDD271, 0x3CCECD9E, 0x3CCFC433, 0x3CD0B661, 0x3CD1A44D, 0x3CD28E1D, 0x3CD373F0, 0x3CD455EE, 0x3CD53435, 0x3CD60EE5, 0x3CD6E61B, 0x3CD7B9F0, 0x3CD88A86, 0x3CD957F0, 0x3CDA224B, 0x3CDAE9A6, 0x3CDBAE1C, 0x3CDC6FC8, 0x3CDD2EB5, 0x3CDDEAFD, 0x3CDEA4B1, 0x3CDF5BE0, 0x3CE0109C, 0x3CE0C2F9, 0x3CE17307, 0x3CE220D2, 0x3CE2CC68, 0x3CE375DC, 0x3CE41D36, 0x3CE4C282, 0x3CE565D6, 0x3CE60736, 0x3CE6A6AD, 0x3CE74452, 0x3CE7E01E, 0x3CE87A2D, 0x3CE9127E, 0x3CE9A91C, 0x3CEA3E12, 0x3CEAD16A, 0x3CEB6330, 0x3CEBF369, 0x3CEC821F, 0x3CED0F52, 0x3CED9B19, 0x3CEE256D, 0x3CEEAE5E, 0x3CEF35F3, 0x3CEFBC2B, 0x3CF0411B, 0x3CF0C4B9, 0x3CF1471A, 0x3CF1C83A, 0x3CF24821, 0x3CF2C6D7, 0x3CF34466, 0x3CF3C0C7, 0x3CF43C0D, 0x3CF4B635, 0x3CF52F47, 0x3CF5A747, 0x3CF61E3A, 0x3CF69426, 0x3CF7090B, 0x3CF77CF4, 0x3CF7EFE1, 0x3CF861D6, 0x3CF8D2DA, 0x3CF942ED, 0x3CF9B218, 0x3CFA205D, 0x3CFA8DBB, 0x3CFAFA3C, 0x3CFB65E2, 0x3CFBD0AB, 0x3CFC3AA4, 0x3CFCA3CA, 0x3CFD0C20, 0x3CFD73A9, 0x3CFDDA6C, 0x3CFE406D, 0x3CFEA5A8, 0x3CFF0A21, 0x3CFF6DE4, 0x3CFFD0E6, 0x3D00199B, 0x3D004A68, 0x3D007ADA, 0x3D00AAF6, 0x3D00DABC, 0x3D010A2C, 0x3D013948, 0x3D016812, 0x3D019688, 0x3D01C4AE, 0x3D01F286, 0x3D022010, 0x3D024D4A, 0x3D027A39, 0x3D02A6DC, 0x3D02D334, 0x3D02FF44, 0x3D032B0B, 0x3D035689, 0x3D0381C2, 0x3D03ACB3, 0x3D03D760, 0x3D0401CA, 0x3D042BF1, 0x3D0455D5, 0x3D047F76, 0x3D04A8D9, 0x3D04D1FA, 0x3D04FADC, 0x3D052380, 0x3D054BE7, 0x3D057410, 0x3D059BFC, 0x3D05C3AC, 0x3D05EB24, 0x3D061261, 0x3D063962, 0x3D06602C, 0x3D0686BD, 0x3D06AD18, 0x3D06D33B, 0x3D06F926, 0x3D071EDE, 0x3D074460, 0x3D0769AC, 0x3D078EC5, 0x3D07B3AB, 0x3D07D85E, 0x3D07FCDF, 0x3D08212C, 0x3D08454C, 0x3D086938, 0x3D088CF4, 0x3D08B080, 0x3D08D3DF, 0x3D08F70D, 0x3D091A0D, 0x3D093CE0, 0x3D095F85, 0x3D0981FC, 0x3D09A449, 0x3D09C66B, 0x3D09E85E, 0x3D0A0A27, 0x3D0A2BC8, 0x3D0A4D3B, 0x3D0A6E86, 0x3D0A8FA9, 0x3D0AB0A0, 0x3D0AD170, 0x3D0AF217, 0x3D0B1298, 0x3D0B32EF, 0x3D0B5320, 0x3D0B732B, 0x3D0B930E, 0x3D0BB2CE, 0x3D0BD266, 0x3D0BF1D9, 0x3D0C1128, 0x3D0C3052, 0x3D0C4F56, 0x3D0C6E38, 0x3D0C8CF6, 0x3D0CAB8F, 0x3D0CCA08, 0x3D0CE85B, 0x3D0D068E, 0x3D0D249E, 0x3D0D428E, 0x3D0D605B, 0x3D0D7E05, 0x3D0D9B92, 0x3D0DB8FB, 0x3D0DD645, 0x3D0DF370, 0x3D0E1079, 0x3D0E2D65, 0x3D0E4A30, 0x3D0E66DB, 0x3D0E8369, 0x3D0E9FD9, 0x3D0EBC2B, 0x3D0ED85D, 0x3D0EF472, 0x3D0F106C, 0x3D0F2C46, 0x3D0F4804, 0x3D0F63A6, 0x3D0F7F29, 0x3D0F9A92, 0x3D0FB5DE, 0x3D0FD10E, 0x3D0FEC24, 0x3D10071C, 0x3D1021F9, 0x3D103CBE, 0x3D105766, 0x3D1071F3, 0x3D108C68, 0x3D10A6C1, 0x3D10C100, 0x3D10DB27, 0x3D10F533, 0x3D110F24, 0x3D112900, 0x3D1142C0, 0x3D115C69, 0x3D1175F7, 0x3D118F6F, 0x3D11A8CD, 0x3D11C215, 0x3D11DB42, 0x3D11F459, 0x3D120D59, 0x3D122643, 0x3D123F15, 0x3D1257CE, 0x3D127070, 0x3D1288FF, 0x3D12A175, 0x3D12B9D4, 0x3D12D21D, 0x3D12EA50, 0x3D13026E, 0x3D131A77, 0x3D13326A, 0x3D134A47, 0x3D136210, 0x3D1379C2, 0x3D13915F, 0x3D13A8E7, 0x3D13C05C, 0x3D13D7BB, 0x3D13EF08, 0x3D14063F, 0x3D141D61, 0x3D143470, 0x3D144B6C, 0x3D146253, 0x3D147926, 0x3D148FE7, 0x3D14A693, 0x3D14BD2E, 0x3D14D3B4, 0x3D14EA28, 0x3D150088, 0x3D1516D6, 0x3D152D13, 0x3D15433B, 0x3D155953, 0x3D156F58, 0x3D15854B, 0x3D159B2A, 0x3D15B0FA, 0x3D15C6B6, 0x3D15DC60, 0x3D15F1FA, 0x3D160784, 0x3D161CFB, 0x3D163261, 0x3D1647B5, 0x3D165CF9, 0x3D16722D, 0x3D16874E, 0x3D169C5F, 0x3D16B160, 0x3D16C650, 0x3D16DB31, 0x3D16F001, 0x3D1704C2, 0x3D17196F, 0x3D172E0F, 0x3D17429F, 0x3D17571F, 0x3D176B8F, 0x3D177FF1, 0x3D179441, 0x3D17A883, 0x3D17BCB5, 0x3D17D0DA, 0x3D17E4EE, 0x3D17F8F3, 0x3D180CE7, 0x3D1820D1, 0x3D1834A7, 0x3D184871, 0x3D185C2D, 0x3D186FD9, 0x3D188377, 0x3D189708, 0x3D18AA89, 0x3D18BDFC, 0x3D18D163, 0x3D18E4B8, 0x3D18F801, 0x3D190B3C, 0x3D191E6A, 0x3D19318A, 0x3D19449D, 0x3D1957A2, 0x3D196A98, 0x3D197D82, 0x3D19905F, 0x3D19A32C, 0x3D19B5EF, 0x3D19C8A4, 0x3D19DB4B, 0x3D19EDE5, 0x3D1A0074, 0x3D1A12F4, 0x3D1A2568, 0x3D1A37CF, 0x3D1A4A2B, 0x3D1A5C7A, 0x3D1A6EBC, 0x3D1A80F0, 0x3D1A9319, 0x3D1AA535, 0x3D1AB746, 0x3D1AC94A, 0x3D1ADB43, 0x3D1AED2E, 0x3D1AFF0F, 0x3D1B10E3, 0x3D1B22AB, 0x3D1B3467, 0x3D1B461A, 0x3D1B57BD, 0x3D1B6958, 0x3D1B7AE5, 0x3D1B8C68, 0x3D1B9DDE, 0x3D1BAF4B, 0x3D1BC0AB, 0x3D1BD200, 0x3D1BE348, 0x3D1BF488, 0x3D1C05BA, 0x3D1C16E5, 0x3D1C2801, 0x3D1C3914, 0x3D1C4A1B, 0x3D1C5B18, 0x3D1C6C0C, 0x3D1C7CF3, 0x3D1C8DD0, 0x3D1C9EA2, 0x3D1CAF69, 0x3D1CC027, 0x3D1CD0D9, 0x3D1CE182, 0x3D1CF21E, 0x3D1D02B2, 0x3D1D133C, 0x3D1D23BD, 0x3D1D3431, 0x3D1D449C, 0x3D1D54FD, 0x3D1D6553, 0x3D1D75A2, 0x3D1D85E2, 0x3D1D961E, 0x3D1DA64C, 0x3D1DB672, 0x3D1DC68D, 0x3D1DD6A0, 0x3D1DE6A8, 0x3D1DF6A6, 0x3D1E069B, 0x3D1E1689, 0x3D1E266C, 0x3D1E3644, 0x3D1E4614, 0x3D1E55D9, 0x3D1E6596, 0x3D1E754C, 0x3D1E84F6, 0x3D1E9498, 0x3D1EA430, 0x3D1EB3C0, 0x3D1EC344, 0x3D1ED2C4, 0x3D1EE236, 0x3D1EF1A3, 0x3D1F0105, 0x3D1F105E, 0x3D1F1FB0, 0x3D1F2EF7, 0x3D1F3E39, 0x3D1F4D6D, 0x3D1F5C9C, 0x3D1F6BC3, 0x3D1F7ADF, 0x3D1F89F4, 0x3D1F9900, 0x3D1FA804, 0x3D1FB700, 0x3D1FC5F3, 0x3D1FD4DD, 0x3D1FE3C0, 0x3D1FF299, 0x3D20016A, 0x3D201033, 0x3D201EF7, 0x3D202DB0, 0x3D203C61, 0x3D204B09, 0x3D2059AA, 0x3D206845, 0x3D2076D6, 0x3D20855E, 0x3D2093E1, 0x3D20A25A, 0x3D20B0CD, 0x3D20BF35, 0x3D20CD98, 0x3D20DBF3, 0x3D20EA46, 0x3D20F891, 0x3D2106D3, 0x3D211511, 0x3D212346, 0x3D213173, 0x3D213F98, 0x3D214DB6, 0x3D215BCD, 0x3D2169DA, 0x3D2177E5, 0x3D2185E4, 0x3D2193DF, 0x3D21A1CE, 0x3D21AFBB, 0x3D21BD9D, 0x3D21CB7A, 0x3D21D94E, 0x3D21E71E, 0x3D21F4E5, 0x3D2202A4, 0x3D22105B, 0x3D221E0D, 0x3D222BB9, 0x3D22395E, 0x3D2246FA, 0x3D22548E, 0x3D226220, 0x3D226FA7, 0x3D227D28, 0x3D228AA2, 0x3D229816, 0x3D22A584, 0x3D22B2EB, 0x3D22C049, 0x3D22CDA3, 0xBF800000, 0x00000000, 0x3BB1ED50, 0x3C0D3A42, 0x3C3268FE, 0x3C4F4F08, 0x3C66F537, 0x3C7AFABD, 0x3C862BCE, 0x3C8DD617, 0x3C94B2EA, 0x3C9AE96B, 0x3CA09678, 0x3CA5D003, 0x3CAAA723, 0x3CAF295E, 0x3CB361A7, 0x3CB758E7, 0x3CBB1692, 0x3CBEA0D5, 0x3CC1FCF0, 0x3CC52F6A, 0x3CC83C14, 0x3CCB264F, 0x3CCDF104, 0x3CD09EC4, 0x3CD331D6, 0x3CD5AC34, 0x3CD80FAC, 0x3CDA5DDA, 0x3CDC982C, 0x3CDEBFF4, 0x3CE0D654, 0x3CE2DC63, 0x3CE4D319, 0x3CE6BB5B, 0x3CE895F6, 0x3CEA63A6, 0x3CEC2522, 0x3CEDDB0A, 0x3CEF85EF, 0x3CF1265E, 0x3CF2BCD6, 0x3CF449D4, 0x3CF5CDBD, 0x3CF74907, 0x3CF8BC09, 0x3CFA271E, 0x3CFB8AA0, 0x3CFCE6D6, 0x3CFE3C16, 0x3CFF8A9F, 0x3D00695C, 0x3D010A4F, 0x3D01A846, 0x3D02435C, 0x3D02DBAA, 0x3D03714F, 0x3D04045C, 0x3D0494ED, 0x3D052312, 0x3D05AEE4, 0x3D063874, 0x3D06BFD5, 0x3D074519, 0x3D07C84E, 0x3D084988, 0x3D08C8D4, 0x3D094642, 0x3D09C1DE, 0x3D0A3BB6, 0x3D0AB3D6, 0x3D0B2A4E, 0x3D0B9F23, 0x3D0C1268, 0x3D0C8422, 0x3D0CF45D, 0x3D0D6322, 0x3D0DD080, 0x3D0E3C79, 0x3D0EA71A, 0x3D0F106C, 0x3D0F7873, 0x3D0FDF3B, 0x3D1044C9, 0x3D10A928, 0x3D110C5D, 0x3D116E6D, 0x3D11CF60, 0x3D122F3F, 0x3D128E0D, 0x3D12EBD0, 0x3D13488F, 0x3D13A44F, 0x3D13FF16, 0x3D1458E8, 0x3D14B1CE, 0x3D1509C8, 0x3D1560DD, 0x3D15B711, 0x3D160C69, 0x3D1660EA, 0x3D16B498, 0x3D170773, 0x3D175986, 0x3D17AAD2, 0x3D17FB59, 0x3D184B20, 0x3D189A2B, 0x3D18E87C, 0x3D193617, 0x3D198301, 0x3D19CF3C, 0x3D1A1AC9, 0x3D1A65AF, 0x3D1AAFEF, 0x3D1AF989, 0x3D1B4284, 0x3D1B8AE3, 0x3D1BD2A4, 0x3D1C19CF, 0x3D1C6061, 0x3D1CA661, 0x3D1CEBD1, 0x3D1D30B0, 0x3D1D7506, 0x3D1DB8CE, 0x3D1DFC0F, 0x3D1E3ECA, 0x3D1E8102, 0x3D1EC2B9, 0x3D1F03EC, 0x3D1F44A4, 0x3D1F84E0, 0x3D1FC4A1, 0x3D2003EC, 0x3D2042BE, 0x3D20811A, 0x3D20BF05, 0x3D20FC7D, 0x3D213986, 0x3D21761F, 0x3D21B24D, 0x3D21EE11, 0x3D222968, 0x3D226459, 0x3D229EE1, 0x3D22D906, 0x3D2312C4, 0x3D234C23, 0x3D23851D, 0x3D23BDBA, 0x3D23F5F6, 0x3D242DD5, 0x3D246558, 0x3D249C7D, 0x3D24D34C, 0x3D2509C0, 0x3D253FDB, 0x3D2575A0, 0x3D25AB10, 0x3D25E02C, 0x3D2614F2, 0x3D264968, 0x3D267D8B, 0x3D26B160, 0x3D26E4E4, 0x3D271817, 0x3D274B00, 0x3D277D9B, 0x3D27AFE8, 0x3D27E1EC, 0x3D2813A5, 0x3D284516, 0x3D28763E, 0x3D28A721, 0x3D28D7BB, 0x3D29080F, 0x3D29381D, 0x3D2967E6, 0x3D29976E, 0x3D29C6B3, 0x3D29F5B2, 0x3D2A2474, 0x3D2A52F2, 0x3D2A8133, 0x3D2AAF33, 0x3D2ADCF6, 0x3D2B0A78, 0x3D2B37BF, 0x3D2B64C8, 0x3D2B9196, 0x3D2BBE2A, 0x3D2BEA7F, 0x3D2C169C, 0x3D2C4281, 0x3D2C6E2B, 0x3D2C999C, 0x3D2CC4D7, 0x3D2CEFDB, 0x3D2D1AA5, 0x3D2D453D, 0x3D2D6F9D, 0x3D2D99C7, 0x3D2DC3BD, 0x3D2DED81, 0x3D2E170F, 0x3D2E406A, 0x3D2E6992, 0x3D2E928A, 0x3D2EBB4F, 0x3D2EE3E3, 0x3D2F0C48, 0x3D2F3479, 0x3D2F5C7C, 0x3D2F844F, 0x3D2FABF5, 0x3D2FD36A, 0x3D2FFAB4, 0x3D3021CE, 0x3D3048BB, 0x3D306F7C, 0x3D309610, 0x3D30BC79, 0x3D30E2B4, 0x3D3108C4, 0x3D312EAC, 0x3D315466, 0x3D3179F8, 0x3D319F5F, 0x3D31C49E, 0x3D31E9B2, 0x3D320EA0, 0x3D323364, 0x3D325801, 0x3D327C74, 0x3D32A0C2, 0x3D32C4E9, 0x3D32E8E9, 0x3D330CC2, 0x3D333074, 0x3D335403, 0x3D33776C, 0x3D339AAF, 0x3D33BDCD, 0x3D33E0C5, 0x3D34039B, 0x3D34264D, 0x3D3448DD, 0x3D346B47, 0x3D348D8E, 0x3D34AFB2, 0x3D34D1B6, 0x3D34F398, 0x3D351556, 0x3D3536F1, 0x3D35586C, 0x3D3579C7, 0x3D359AFF, 0x3D35BC1A, 0x3D35DD11, 0x3D35FDE9, 0x3D361EA3, 0x3D363F3A, 0x3D365FB3, 0x3D36800C, 0x3D36A048, 0x3D36C064, 0x3D36E061, 0x3D370042, 0x3D372002, 0x3D373FA8, 0x3D375F2D, 0x3D377E94, 0x3D379DE1, 0x3D37BD0E, 0x3D37DC1F, 0x3D37FB16, 0x3D3819F0, 0x3D3838AC, 0x3D38574D, 0x3D3875D3, 0x3D38943B, 0x3D38B289, 0x3D38D0BC, 0x3D38EED4, 0x3D390CD1, 0x3D392AB4, 0x3D39487B, 0x3D39662B, 0x3D3983BF, 0x3D39A139, 0x3D39BE9B, 0x3D39DBE1, 0x3D39F90D, 0x3D3A1624, 0x3D3A331F, 0x3D3A5000, 0x3D3A6CCB, 0x3D3A897C, 0x3D3AA616, 0x3D3AC297, 0x3D3ADEFE, 0x3D3AFB51, 0x3D3B178B, 0x3D3B33AB, 0x3D3B4FB7, 0x3D3B6BA9, 0x3D3B8785, 0x3D3BA34C, 0x3D3BBEF8, 0x3D3BDA92, 0x3D3BF613, 0x3D3C117E, 0x3D3C2CD2, 0x3D3C4810, 0x3D3C633B, 0x3D3C7E4E, 0x3D3C9949, 0x3D3CB431, 0x3D3CCF03, 0x3D3CE9C0, 0x3D3D0468, 0x3D3D1EFD, 0x3D3D3979, 0x3D3D53E3, 0x3D3D6E38, 0x3D3D8879, 0x3D3DA2A3, 0x3D3DBCBC, 0x3D3DD6C0, 0x3D3DF0AE, 0x3D3E0A8A, 0x3D3E2453, 0x3D3E3E06, 0x3D3E57A7, 0x3D3E7135, 0x3D3E8AB0, 0x3D3EA415, 0x3D3EBD6B, 0x3D3ED6AA, 0x3D3EEFDA, 0x3D3F08F5, 0x3D3F21FC, 0x3D3F3AF4, 0x3D3F53D8, 0x3D3F6CA7, 0x3D3F8569, 0x3D3F9E15, 0x3D3FB6B2, 0x3D3FCF38, 0x3D3FE7B2, 0x3D400018, 0x3D40186C, 0x3D4030AF, 0x3D4048E0, 0x3D406101, 0x3D40790F, 0x3D40910D, 0x3D40A8FA, 0x3D40C0D5, 0x3D40D8A0, 0x3D40F05B, 0x3D410805, 0x3D411F9D, 0x3D413728, 0x3D414E9F, 0x3D416609, 0x3D417D61, 0x3D4194A8, 0x3D41ABDF, 0x3D41C309, 0x3D41DA20, 0x3D41F129, 0x3D420823, 0x3D421F09, 0x3D4235E5, 0x3D424CAE, 0x3D42636A, 0x3D427A16, 0x3D4290B1, 0x3D42A73F, 0x3D42BDBD, 0x3D42D42E, 0x3D42EA8E, 0x3D4300E1, 0x3D431724, 0x3D432D57, 0x3D43437C, 0x3D435994, 0x3D436F9E, 0x3D438599, 0x3D439B86, 0x3D43B163, 0x3D43C732, 0x3D43DCF4, 0x3D43F2A9, 0x3D440850, 0x3D441DE7, 0x3D443373, 0x3D4448F0, 0x3D445E5F, 0x3D4473C0, 0x3D448917, 0x3D449E5D, 0x3D44B396, 0x3D44C8C2, 0x3D44DDE0, 0x3D44F2F4, 0x3D4507F7, 0x3D451CF0, 0x3D4531D9, 0x3D4546B6, 0x3D455B8A, 0x3D45704D, 0x3D458505, 0x3D4599B0, 0x3D45AE4D, 0x3D45C2DD, 0x3D45D762, 0x3D45EBDD, 0x3D460047, 0x3D4614A7, 0x3D4628FC, 0x3D463D44, 0x3D465180, 0x3D4665B0, 0x3D4679D2, 0x3D468DE9, 0x3D46A1F6, 0x3D46B5F5, 0x3D46C9E9, 0x3D46DDD0, 0x3D46F1AC, 0x3D47057D, 0x3D471941, 0x3D472CFD, 0x3D4740A9, 0x3D47544D, 0x3D4767E3, 0x3D477B6F, 0x3D478EF0, 0x3D47A266, 0x3D47B5D2, 0x3D47C930, 0x3D47DC85, 0x3D47EFCE, 0x3D48030C, 0x3D48163F, 0x3D482967, 0x3D483C85, 0x3D484F98, 0x3D4862A0, 0x3D48759D, 0x3D488890, 0x3D489B78, 0x3D48AE55, 0x3D48C12A, 0x3D48D3F2, 0x3D48E6AE, 0x3D48F963, 0x3D490C0D, 0x3D491EAD, 0x3D493142, 0x3D4943CC, 0x3D49564D, 0x3D4968C5, 0x3D497B31, 0x3D498D93, 0x3D499FEC, 0x3D49B23B, 0x3D49C47F, 0x3D49D6B9, 0x3D49E8EA, 0x3D49FB13, 0x3D4A0D2F, 0x3D4A1F43, 0x3D4A314F, 0x3D4A4350, 0x3D4A5546, 0x3D4A6734, 0x3D4A7918, 0x3D4A8AF3, 0x3D4A9CC4, 0x3D4AAE8D, 0x3D4AC04B, 0x3D4AD201, 0x3D4AE3AE, 0x3D4AF54F, 0x3D4B06EA, 0x3D4B187A, 0x3D4B2A02, 0x3D4B3B80, 0x3D4B4CF5, 0x3D4B5E63, 0x3D4B6FC5, 0x3D4B8120, 0x3D4B9273, 0x3D4BA3BA, 0x3D4BB4FD, 0x3D4BC632, 0x3D4BD761, 0x3D4BE886, 0x3D4BF9A6, 0x3D4C0AB8, 0x3D4C1BC5, 0x3D4C2CCA, 0x3D4C3DC4, 0x3D4C4EB5, 0x3D4C5F9F, 0x3D4C7081, 0x3D4C815B, 0xBF800000, 0x00000000, 0x3BED734F, 0x3C3C92CE, 0x3C6E4F89, 0x3C8A7F15, 0x3C9A5526, 0x3CA7BED1, 0x3CB361A7, 0x3CBDA89D, 0x3CC6DCD4, 0x3CCF3283, 0x3CD6D046, 0x3CDDD36A, 0x3CE452D0, 0x3CEA608C, 0x3CF00B40, 0x3CF55ED7, 0x3CFA6547, 0x3CFF26D7, 0x3D01D548, 0x3D03FB3D, 0x3D0607DA, 0x3D07FD65, 0x3D09DDCD, 0x3D0BAAC9, 0x3D0D65E2, 0x3D0F106C, 0x3D10AB99, 0x3D123882, 0x3D13B816, 0x3D152B38, 0x3D1692AE, 0x3D17EF35, 0x3D19416D, 0x3D1A89F2, 0x3D1BC94C, 0x3D1D0001, 0x3D1E2E7F, 0x3D1F5538, 0x3D20748D, 0x3D218CDB, 0x3D229E7B, 0x3D23A9BB, 0x3D24AEE9, 0x3D25AE45, 0x3D26A813, 0x3D279C92, 0x3D288BF5, 0x3D297679, 0x3D2A5C4A, 0x3D2B3D9B, 0x3D2C1A98, 0x3D2CF36B, 0x3D2DC83A, 0x3D2E992D, 0x3D2F6665, 0x3D303004, 0x3D30F62A, 0x3D31B8F8, 0x3D327888, 0x3D3334F6, 0x3D33EE5A, 0x3D34A4D0, 0x3D35586C, 0x3D360949, 0x3D36B77A, 0x3D376311, 0x3D380C26, 0x3D38B2C7, 0x3D39570C, 0x3D39F900, 0x3D3A98B8, 0x3D3B363F, 0x3D3BD1AB, 0x3D3C6B03, 0x3D3D025A, 0x3D3D97BB, 0x3D3E2B34, 0x3D3EBCD2, 0x3D3F4C9F, 0x3D3FDAA6, 0x3D4066F6, 0x3D40F195, 0x3D417A91, 0x3D4201F3, 0x3D4287C2, 0x3D430C09, 0x3D438ED3, 0x3D441025, 0x3D449008, 0x3D450E88, 0x3D458BA8, 0x3D460771, 0x3D4681EA, 0x3D46FB1C, 0x3D47730C, 0x3D47E9C1, 0x3D485F42, 0x3D48D394, 0x3D4946BE, 0x3D49B8C6, 0x3D4A29B2, 0x3D4A9984, 0x3D4B0847, 0x3D4B75FD, 0x3D4BE2AD, 0x3D4C4E57, 0x3D4CB906, 0x3D4D22BB, 0x3D4D8B7C, 0x3D4DF34B, 0x3D4E5A30, 0x3D4EC02D, 0x3D4F2544, 0x3D4F8980, 0x3D4FECDD, 0x3D504F61, 0x3D50B113, 0x3D5111F3, 0x3D517206, 0x3D51D14E, 0x3D522FD0, 0x3D528D8E, 0x3D52EA8E, 0x3D5346CF, 0x3D53A257, 0x3D53FD25, 0x3D545740, 0x3D54B0A9, 0x3D550964, 0x3D556174, 0x3D55B8D7, 0x3D560F94, 0x3D5665AD, 0x3D56BB25, 0x3D570FFA, 0x3D576435, 0x3D57B7D2, 0x3D580AD9, 0x3D585D47, 0x3D58AF21, 0x3D590067, 0x3D59511F, 0x3D59A147, 0x3D59F0E2, 0x3D5A3FF5, 0x3D5A8E7C, 0x3D5ADC80, 0x3D5B29FA, 0x3D5B76F4, 0x3D5BC36D, 0x3D5C0F63, 0x3D5C5ADD, 0x3D5CA5DB, 0x3D5CF05B, 0x3D5D3A66, 0x3D5D83F7, 0x3D5DCD10, 0x3D5E15B5, 0x3D5E5DE9, 0x3D5EA5A8, 0x3D5EECF8, 0x3D5F33DA, 0x3D5F7A4C, 0x3D5FC052, 0x3D6005ED, 0x3D604B1F, 0x3D608FE5, 0x3D60D449, 0x3D611843, 0x3D615BD8, 0x3D619F09, 0x3D61E1DA, 0x3D622448, 0x3D626654, 0x3D62A803, 0x3D62E951, 0x3D632A44, 0x3D636ADC, 0x3D63AB15, 0x3D63EAF7, 0x3D642A7F, 0x3D6469AF, 0x3D64A886, 0x3D64E70A, 0x3D652536, 0x3D65630E, 0x3D65A093, 0x3D65DDC5, 0x3D661AA7, 0x3D665735, 0x3D669375, 0x3D66CF65, 0x3D670B04, 0x3D674658, 0x3D678161, 0x3D67BC19, 0x3D67F689, 0x3D6830AE, 0x3D686A8A, 0x3D68A41B, 0x3D68DD64, 0x3D691667, 0x3D694F21, 0x3D698796, 0x3D69BFC5, 0x3D69F7B0, 0x3D6A2F56, 0x3D6A66B9, 0x3D6A9DD6, 0x3D6AD4B2, 0x3D6B0B4F, 0x3D6B41AA, 0x3D6B77C3, 0x3D6BAD9B, 0x3D6BE335, 0x3D6C1892, 0x3D6C4DAE, 0x3D6C8290, 0x3D6CB733, 0x3D6CEB99, 0x3D6D1FC3, 0x3D6D53B3, 0x3D6D8768, 0x3D6DBAE1, 0x3D6DEE20, 0x3D6E2128, 0x3D6E53F6, 0x3D6E868B, 0x3D6EB8E8, 0x3D6EEB10, 0x3D6F1CFE, 0x3D6F4EB8, 0x3D6F803B, 0x3D6FB189, 0x3D6FE2A1, 0x3D701384, 0x3D704436, 0x3D7074AF, 0x3D70A4F9, 0x3D70D50F, 0x3D7104F3, 0x3D7134A3, 0x3D716423, 0x3D719373, 0x3D71C290, 0x3D71F17F, 0x3D72203B, 0x3D724ECA, 0x3D727D28, 0x3D72AB59, 0x3D72D959, 0x3D73072C, 0x3D7334D1, 0x3D736248, 0x3D738F92, 0x3D73BCB0, 0x3D73E9A2, 0x3D741668, 0x3D744300, 0x3D746F71, 0x3D749BB3, 0x3D74C7CB, 0x3D74F3BA, 0x3D751F7F, 0x3D754B19, 0x3D75768A, 0x3D75A1D0, 0x3D75CCF1, 0x3D75F7E7, 0x3D7622B4, 0x3D764D59, 0x3D7677D9, 0x3D76A231, 0x3D76CC60, 0x3D76F669, 0x3D77204D, 0x3D774A09, 0x3D77739F, 0x3D779D10, 0x3D77C65B, 0x3D77EF83, 0x3D781883, 0x3D784160, 0x3D786A1A, 0x3D7892AE, 0x3D78BB1D, 0x3D78E369, 0x3D790B95, 0x3D79339B, 0x3D795B7E, 0x3D79833F, 0x3D79AADC, 0x3D79D257, 0x3D79F9B1, 0x3D7A20EB, 0x3D7A4800, 0x3D7A6EF7, 0x3D7A95CB, 0x3D7ABC7F, 0x3D7AE313, 0x3D7B0984, 0x3D7B2FD7, 0x3D7B560A, 0x3D7B7C1A, 0x3D7BA210, 0x3D7BC7E2, 0x3D7BED97, 0x3D7C132C, 0x3D7C38A3, 0x3D7C5DFA, 0x3D7C8333, 0x3D7CA84F, 0x3D7CCD4E, 0x3D7CF22F, 0x3D7D16EF, 0x3D7D3B95, 0x3D7D601D, 0x3D7D8488, 0x3D7DA8D5, 0x3D7DCD05, 0x3D7DF11A, 0x3D7E1511, 0x3D7E38EE, 0x3D7E5CAD, 0x3D7E8051, 0x3D7EA3DA, 0x3D7EC748, 0x3D7EEA99, 0x3D7F0DCF, 0x3D7F30EB, 0x3D7F53EB, 0x3D7F76D1, 0x3D7F999E, 0x3D7FBC4E, 0x3D7FDEE5, 0x3D8000B1, 0x3D8011E2, 0x3D802307, 0x3D80341F, 0x3D80452A, 0x3D805629, 0x3D80671B, 0x3D807800, 0x3D8088DA, 0x3D8099A6, 0x3D80AA66, 0x3D80BB1A, 0x3D80CBC2, 0x3D80DC5E, 0x3D80ECEE, 0x3D80FD72, 0x3D810DEA, 0x3D811E57, 0x3D812EB7, 0x3D813F0C, 0x3D814F56, 0x3D815F92, 0x3D816FC6, 0x3D817FEC, 0x3D819008, 0x3D81A019, 0x3D81B01D, 0x3D81C017, 0x3D81D005, 0x3D81DFEA, 0x3D81EFC2, 0x3D81FF90, 0x3D820F53, 0x3D821F0B, 0x3D822EB8, 0x3D823E5A, 0x3D824DF3, 0x3D825D80, 0x3D826D04, 0x3D827C7C, 0x3D828BEA, 0x3D829B4E, 0x3D82AAA8, 0x3D82B9F7, 0x3D82C93B, 0x3D82D876, 0x3D82E7A6, 0x3D82F6CD, 0x3D8305E9, 0x3D8314FC, 0x3D832406, 0x3D833306, 0x3D8341FB, 0x3D8350E5, 0x3D835FC8, 0x3D836E9F, 0x3D837D6F, 0x3D838C34, 0x3D839AF0, 0x3D83A9A2, 0x3D83B84A, 0x3D83C6EA, 0x3D83D580, 0x3D83E40E, 0x3D83F291, 0x3D84010C, 0x3D840F7D, 0x3D841DE6, 0x3D842C45, 0x3D843A9C, 0x3D8448E9, 0x3D84572D, 0x3D846569, 0x3D84739C, 0x3D8481C6, 0x3D848FE7, 0x3D849E01, 0x3D84AC10, 0x3D84BA18, 0x3D84C818, 0x3D84D60E, 0x3D84E3FC, 0x3D84F1E1, 0x3D84FFBF, 0x3D850D93, 0x3D851B60, 0x3D852923, 0x3D8536E0, 0x3D854494, 0x3D85523F, 0x3D855FE2, 0x3D856D7F, 0x3D857B11, 0x3D85889E, 0x3D859620, 0x3D85A39C, 0x3D85B10F, 0x3D85BE7B, 0x3D85CBDF, 0x3D85D93B, 0x3D85E690, 0x3D85F3DC, 0x3D860121, 0x3D860E5E, 0x3D861B94, 0x3D8628C2, 0x3D8635E9, 0x3D864308, 0x3D86501F, 0x3D865D30, 0x3D866A39, 0x3D867739, 0x3D868433, 0x3D869127, 0x3D869E12, 0x3D86AAF6, 0x3D86B7D2, 0x3D86C4A8, 0x3D86D177, 0x3D86DE3F, 0x3D86EAFF, 0x3D86F7B9, 0x3D87046A, 0x3D871116, 0x3D871DBA, 0x3D872A58, 0x3D8736EE, 0x3D87437E, 0x3D875006, 0x3D875C88, 0x3D876904, 0x3D877578, 0x3D8781E6, 0x3D878E4C, 0x3D879AAD, 0x3D87A706, 0x3D87B359, 0x3D87BFA6, 0x3D87CBEB, 0x3D87D82A, 0x3D87E463, 0x3D87F096, 0x3D87FCC1, 0x3D8808E7, 0x3D881506, 0x3D88211F, 0x3D882D30, 0x3D88393D, 0x3D884542, 0x3D885141, 0x3D885D3B, 0x3D88692D, 0x3D88751B, 0x3D888100, 0x3D888CE2, 0x3D8898BB, 0x3D88A490, 0x3D88B05E, 0x3D88BC25, 0x3D88C7E8, 0x3D88D3A4, 0x3D88DF5A, 0x3D88EB0A, 0x3D88F6B4, 0x3D890258, 0x3D890DF6, 0x3D89198F, 0x3D892522, 0x3D8930AF, 0x3D893C35, 0x3D8947B7, 0x3D895333, 0x3D895EA9, 0x3D896A18, 0x3D897583, 0x00010203, 0x04000102, 0x03040001, 0x02030400, 0x01020304, 0x00010203, 0x04050607, 0x08050607, 0x08050607, 0x08050607, 0x08050607, 0x08090A0B, 0x090A0B09, 0x0A0B090A, 0x0B090A0B, 0x00000000, 0x00010101, 0x01010202, 0x02020203, 0x03030303, 0x04040404, 0x04000000, 0x00010101, 0x01020202, 0x02030303, 0x03040404, 0x04000000, 0x01010102, 0x02020303, 0x03040404, 0x00000000, 0x00000000 - -glabel D_8007EFE0 -.word 0x00000003, 0x0000000B, 0x00000000, 0x00000009, 0x00002666, 0xFFFFD99A, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000003, 0x00000007, 0x00000CCC, 0xFFFFF334, 0x00003FFF, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x0000000A, 0x00001388, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00005000 - -glabel D_8007F048 -.word 0x00000004, 0x0000000E, 0x00000000, 0x00000009, 0x00002666, 0xFFFFD99A, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000002, 0x00000006, 0x00000CCC, 0xFFFFF334, 0x00003FFF, 0x00000000, 0x00000000, 0x00000000, 0x00000009, 0x0000000C, 0x00000CCC, 0xFFFFF334, 0x00003FFF, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x0000000D, 0x00001770, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00005000, 0x00000004, 0x00000011, 0x00000000, 0x0000000B, 0x00002666, 0xFFFFD99A, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000004, 0x00000009, 0x00000CCC, 0xFFFFF334, 0x00003FFF, 0x00000000, 0x00000000, 0x00000000, 0x0000000B, 0x0000000F, 0x00000CCC, 0xFFFFF334, 0x00003FFF, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000010, 0x00001F40, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00005000 - -glabel D_8007F158 -.word 0x00000001, 0x0000000E, 0x00000000, 0x0000000D, 0x00004E20, 0x00000000, 0x00007FFF, 0x00000000, 0x00000000, 0x00007FFF - -glabel D_8007F180 -.word 0x00000001, 0x00000003, 0x00000000, 0x00000001, 0x00004000, 0x00000000, 0x00007FFF, 0x00001DB0, 0x000002BC, 0x00000000 - -glabel D_8007F1A8 -.word 0x00000001, 0x00000003, 0x00000000, 0x00000001, 0x00000000, 0x00005FFF, 0x00007FFF, 0x0000017C, 0x000001F4, 0x00000000 - -glabel D_8007F1D0 -.word 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000 - -glabel D_8007F1F8 -.word 0x8007F1D0 - -glabel D_8007F1FC -.word 0x8007F1D0 - -glabel D_8007F200 -.word 0x8007F1D0 - -glabel D_8007F204 -.word 0x8007F1D0, 0x00000000, 0x00000000 - -glabel D_8007F210 -.word 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000 - -glabel D_8007F228 -.word 0xE0002000, 0x003278F0, 0x00328110, 0xE0002000, 0x00326410, 0x003278F0 - -glabel D_8007F240 -.word 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000 - -glabel D_8007F258 -.word 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000 - -glabel D_8007F270 -.word 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000 - -glabel D_8007F288 -.word 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000 - -glabel D_8007F2A0 -.word 0xE000C160, 0x00328110, 0x00328EA0, 0xE000C000, 0x00328EA0, 0x0032C110 - -glabel D_8007F2B8 -.word 0xE000E000, 0x0032C110, 0x0032C7A0, 0xE000E000, 0x00328EA0, 0x0032C110 - -glabel D_8007F2D0 -.word 0xE00101E8, 0x0032C7A0, 0x0032CEC0, 0xE0010000, 0x0032CEC0, 0x0032DD10 - -glabel D_8007F2E8 -.word 0xE0012204, 0x0032DD10, 0x0032E490, 0xE0012000, 0x0032CEC0, 0x0032DD10 - -glabel D_8007F300 -.word 0xE0014000, 0x0032E490, 0x0032EC50, 0xE0014000, 0x0032EC50, 0x0032EE30 - -glabel D_8007F318 -.word 0xE0016000, 0x0032EE30, 0x0032F580, 0xE0016000, 0x0032EC50, 0x0032EE30 - -glabel D_8007F330 -.word 0xE0018078, 0x0032F580, 0x0032FB50, 0xE0018000, 0x0032FB50, 0x0032FE30 - -glabel D_8007F348 -.word 0xE001A000, 0x0032FE30, 0x00330460, 0xE001A000, 0x00330460, 0x00330910 - -glabel D_8007F360 -.word 0xE001C000, 0x00330910, 0x00330F00, 0xE001C000, 0x00330F00, 0x00331940 - -glabel D_8007F378 -.word 0xE001E000, 0x00331940, 0x003326A0, 0xE001E000, 0x003326A0, 0x00333EC0 - -glabel D_8007F390 -.word 0xE00202CC, 0x00333EC0, 0x00334C70, 0xE0020000, 0x00334C70, 0x00337240 - -glabel D_8007F3A8 -.word 0xE0022000, 0x00337240, 0x00337FC0, 0xE0022000, 0x00337FC0, 0x00339250 - -glabel D_8007F3C0 -.word 0xE0024000, 0x00339250, 0x00339F60, 0xE0024000, 0x00339F60, 0x0033B180 - -glabel D_8007F3D8 -.word 0xE0026000, 0x0033B180, 0x0033BBD0, 0xE0026000, 0x0033BBD0, 0x0033CDF0 - -glabel D_8007F3F0 -.word 0xE0028000, 0x0033CDF0, 0x0033D610, 0xE0028000, 0x0033D610, 0x0033E8C0 - -glabel D_8007F408 -.word 0xE002A000, 0x0033E8C0, 0x0033F000, 0xE002A000, 0x0033F000, 0x0033FE80 - -glabel D_8007F420 -.word 0xE002C000, 0x0033FE80, 0x00340880, 0xE002C000, 0x00340880, 0x003419E0 - -glabel D_8007F438 -.word 0xE002E000, 0x003419E0, 0x00342140, 0xE002E000, 0x00328EA0, 0x0032C110 - -glabel D_8007F450 -.word 0xE0030000, 0x00342140, 0x00343040, 0xE0030000, 0x00343040, 0x00343680 - -glabel D_8007F468 -.word 0xE0032000, 0x00343680, 0x00343F70, 0xE0032000, 0x00343F70, 0x00344A10 - -glabel D_8007F480 -.word 0xE0034000, 0x00344A10, 0x003451E0, 0xE0034000, 0x003451E0, 0x003454E0 - -glabel D_8007F498 -.word 0xE0036000, 0x003454E0, 0x00345B40, 0xE0036000, 0x00345B40, 0x0034DD20 - -glabel D_8007F4B0 -.word 0xE0038000, 0x0034DD20, 0x0034E770, 0xE0038000, 0x0034E770, 0x0034EC80 - -glabel D_8007F4C8 -.word 0xE003A000, 0x0034EC80, 0x0034F4C0, 0xE003A000, 0x00328EA0, 0x0032C110 - -glabel D_8007F4E0 -.word 0xE003C000, 0x0034F4C0, 0x00350220, 0xE003C000, 0x00350220, 0x00352440 - -glabel D_8007F4F8 -.word 0xE003E000, 0x00352440, 0x00352CE0, 0xE003E000, 0x00352CE0, 0x00353300 - -glabel D_8007F510 -.word 0xE0040000, 0x00353300, 0x00353BB0, 0xE0040000, 0x00353BB0, 0x003547A0 - -glabel D_8007F528 -.word 0xE0042000, 0x003547A0, 0x00354F60, 0xE0042000, 0x00343040, 0x00343680 - -glabel D_8007F540 -.word 0xE0044000, 0x00354F60, 0x00355EE0, 0xE0044000, 0x00337FC0, 0x00339250 - -glabel D_8007F558 -.word 0xE0046000, 0x00355EE0, 0x00356530, 0xE0046000, 0x00356530, 0x00356980 - -glabel D_8007F570 -.word 0xE0048000, 0x00356980, 0x003573A0, 0xE0048000, 0x003573A0, 0x003584C0 - -glabel D_8007F588 -.word 0xE004A000, 0x003584C0, 0x003593B0, 0xE004A000, 0x003593B0, 0x00359F20 - -glabel D_8007F5A0 -.word 0xE004C000, 0x00359F20, 0x0035A5E0, 0xE004C000, 0x0035A5E0, 0x0035B9D0 - -glabel D_8007F5B8 -.word 0xE004E000, 0x0035B9D0, 0x0035BFD0, 0xE004E000, 0x00328EA0, 0x0032C110 - -glabel D_8007F5D0 -.word 0xE0050000, 0x0035BFD0, 0x0035C550, 0xE0050000, 0x0035C550, 0x0035CA80 - -glabel D_8007F5E8 -.word 0xE0052000, 0x0035CA80, 0x0035D510, 0xE0052000, 0x0035D510, 0x0035DA00 - -glabel D_8007F600 -.word 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000 - -glabel D_8007F618 -.word 0xE0056000, 0x0035DA00, 0x0035E920, 0xE0056000, 0x0033D610, 0x0033E8C0 - -glabel D_8007F630 -.word 0xE0058000, 0x0035E920, 0x0035F0E0, 0xE0058000, 0x0035F0E0, 0x003602C0 - -glabel D_8007F648 -.word 0xE005A000, 0x003602C0, 0x00360A30, 0xE005A000, 0x00360A30, 0x00360F40 - -glabel D_8007F660 -.word 0xE005C000, 0x00360F40, 0x00361670, 0xE005C000, 0x00361670, 0x003625C0 - -glabel D_8007F678 -.word 0xE005E000, 0x003625C0, 0x00362C50, 0xE005E000, 0x00362C50, 0x00363160 - -glabel D_8007F690 -.word 0xE0060000, 0x00363160, 0x003638C0, 0xE0060000, 0x003638C0, 0x00364300 - -glabel D_8007F6A8 -.word 0xE0062000, 0x00364300, 0x00364C00, 0xE0062000, 0x00364C00, 0x00364F10 - -glabel D_8007F6C0 -.word 0xE0064000, 0x00364F10, 0x003659B0, 0xE0064000, 0x003659B0, 0x00366030 - -glabel D_8007F6D8 -.word 0xE0066000, 0x00366030, 0x00366D60, 0xE0066000, 0x00366D60, 0x0036A8D0 - -glabel D_8007F6F0 -.word 0xE0068000, 0x0036A8D0, 0x0036AEE0, 0xE0068000, 0x0036AEE0, 0x0036D020 - -glabel D_8007F708 -.word 0xE006A1E8, 0x0036D020, 0x0036DF90, 0xE006A000, 0x0036DF90, 0x0036E1D0 - -glabel D_8007F720 -.word 0xE006C000, 0x0036E1D0, 0x0036ED60, 0xE006C000, 0x0036ED60, 0x00372790 - -glabel D_8007F738 -.word 0xE006E000, 0x00372790, 0x003733E0, 0xE006E000, 0x003733E0, 0x003740B0 - -glabel D_8007F750 -.word 0xE0070000, 0x003740B0, 0x00374E50, 0xE0070000, 0x00337FC0, 0x00339250 - -glabel D_8007F768 -.word 0xE0072000, 0x00374E50, 0x00375510, 0xE0072000, 0x00375510, 0x00376460 - -glabel D_8007F780 -.word 0xE0074000, 0x00376460, 0x00377070, 0xE0074000, 0x00337FC0, 0x00339250 - -glabel D_8007F798 -.word 0xE0076000, 0x00377070, 0x00377F80, 0xE0076000, 0x00377F80, 0x0037A3F0 - -glabel D_8007F7B0 -.word 0xE0078000, 0x0037A3F0, 0x0037ADD0, 0xE0078000, 0x0037ADD0, 0x0037C540 - -glabel D_8007F7C8 -.word 0xE007A000, 0x0037C540, 0x0037D180, 0xE007A000, 0x0037D180, 0x0037D490 - -glabel D_8007F7E0 -.word 0xE007C000, 0x0037D490, 0x0037D9D0, 0xE007C000, 0x0037D9D0, 0x0037F720 - -glabel D_8007F7F8 -.word 0xE007E000, 0x0037F720, 0x003803A0, 0xE007E000, 0x003803A0, 0x003812C0 - -glabel D_8007F810 -.word 0xE0080000, 0x003812C0, 0x00381E00, 0xE0080000, 0x00381E00, 0x00385640 - -glabel D_8007F828 -.word 0xE0082000, 0x00385640, 0x003863B0, 0xE0082000, 0x003863B0, 0x003889D0 - -glabel D_8007F840 -.word 0xE0084084, 0x003889D0, 0x00389850, 0xE0084000, 0x0037D9D0, 0x0037F720 - -glabel D_8007F858 -.word 0xE0086000, 0x00389850, 0x0038A350, 0xE0086000, 0x0038A350, 0x0038ADF0 - -glabel D_8007F870 -.word 0xE008817C, 0x0038ADF0, 0x0038BBA0, 0xE0088000, 0x0038BBA0, 0x0038C5F0 - -glabel D_8007F888 -.word 0xE008A188, 0x0038C5F0, 0x0038D070, 0xE008A000, 0x0038D070, 0x0038DE00 - -glabel D_8007F8A0 -.word 0xE008C000, 0x0038DE00, 0x0038E990, 0xE008C000, 0x0038E990, 0x0038EE60 - -glabel D_8007F8B8 -.word 0xE008E000, 0x0038EE60, 0x0038F710, 0xE008E000, 0x0038F710, 0x0038F900 - -glabel D_8007F8D0 -.word 0xE0090000, 0x0038F900, 0x003903D0, 0xE0090000, 0x003903D0, 0x00391D30 - -glabel D_8007F8E8 -.word 0xE0092000, 0x00391D30, 0x00392440, 0xE0092000, 0x00392440, 0x003928D0 - -glabel D_8007F900 -.word 0xE0094000, 0x003928D0, 0x003930A0, 0xE0094000, 0x003930A0, 0x00394280 - -glabel D_8007F918 -.word 0xE0096000, 0x00394280, 0x00394670, 0xE0096000, 0x00394670, 0x00395BB0 - -glabel D_8007F930 -.word 0xE0098000, 0x00395BB0, 0x003960F0, 0xE0098000, 0x003960F0, 0x003965B0 - -glabel D_8007F948 -.word 0xE009A000, 0x003965B0, 0x00397040, 0xE009A000, 0x00397040, 0x003981F0 - -glabel D_8007F960 -.word 0xE009C000, 0x003981F0, 0x00398BC0, 0xE009C000, 0x00398BC0, 0x0039FF20 - -glabel D_8007F978 -.word 0xE009E000, 0x0039FF20, 0x003A0D60, 0xE009E000, 0x003A0D60, 0x003A2290 - -glabel D_8007F990 -.word 0xE00A0000, 0x003A2290, 0x003A2440, 0xE00A0000, 0x003A2440, 0x003A2990 - -glabel D_8007F9A8 -.word 0xE00A2000, 0x003A2990, 0x003A33D0, 0xE00A2000, 0x003A33D0, 0x003A37E0 - -glabel D_8007F9C0 -.word 0xE00A4000, 0x003A37E0, 0x003A4320, 0xE00A4000, 0x003A4320, 0x003A5550 - -glabel D_8007F9D8 -.word 0xE00A6000, 0x003A5550, 0x003A5BE0, 0xE00A6000, 0x003A5BE0, 0x003A70F0 - -glabel D_8007F9F0 -.word 0xE00A8000, 0x003A70F0, 0x003A77A0, 0xE00A8000, 0x003A77A0, 0x003AA920 - -glabel D_8007FA08 -.word 0xE00AA000, 0x003AA920, 0x003AB030, 0xE00AA000, 0x003AB030, 0x003AEE20 - -glabel D_8007FA20 -.word 0xE00AC000, 0x003AEE20, 0x003AF700, 0xE00AC000, 0x003AF700, 0x003B2350 - -glabel D_8007FA38 -.word 0xE00AE000, 0x003B2350, 0x003B2D90, 0xE00AE000, 0x003B2D90, 0x003B3EB0 - -glabel D_8007FA50 -.word 0xE00B0000, 0x003B3EB0, 0x003B46A0, 0xE00B0000, 0x003B46A0, 0x003B4790 - -glabel D_8007FA68 -.word 0xE00B2000, 0x003B4790, 0x003B5340, 0xE00B2000, 0x003B5340, 0x003B5CF0 - -glabel D_8007FA80 -.word 0xE00B4000, 0x003B5CF0, 0x003B6BF0, 0xE00B4000, 0x003B6BF0, 0x003B7160 - -glabel D_8007FA98 -.word 0xE00B6000, 0x003B7160, 0x003B78D0, 0xE00B6000, 0x003B78D0, 0x003B7B80 - -glabel D_8007FAB0 -.word 0xE00B8000, 0x003B7B80, 0x003B8860, 0xE00B8000, 0x003B8860, 0x003B8BD0 - -glabel D_8007FAC8 -.word 0xE00BA000, 0x003B8BD0, 0x003B9A70, 0xE00BA000, 0x003B9A70, 0x003BA030 - -glabel D_8007FAE0 -.word 0xE00BC000, 0x003BA030, 0x003BAEA0, 0xE00BC000, 0x003BAEA0, 0x003BBF60 - -glabel D_8007FAF8 -.word 0xE00BE000, 0x003BBF60, 0x003BCA90, 0xE00BE000, 0x003BCA90, 0x003BCD60 - -glabel D_8007FB10 -.word 0xE00C0000, 0x003BCD60, 0x003BD9A0, 0xE00C0000, 0x003BD9A0, 0x003C11D0 - -glabel D_8007FB28 -.word 0xE00C2000, 0x003C11D0, 0x003C1BA0, 0xE00C2000, 0x003C1BA0, 0x003CADF0 - -glabel D_8007FB40 -.word 0xE00C4000, 0x003CADF0, 0x003CB890, 0xE00C4000, 0x003CB890, 0x003CC9E0 - -glabel D_8007FB58 -.word 0xE00C6000, 0x003CC9E0, 0x003CD6E0, 0xE00C6000, 0x003CD6E0, 0x003CF3A0 - -glabel D_8007FB70 -.word 0xE00C8000, 0x003CF3A0, 0x003CFAF0, 0xE00C8000, 0x003CFAF0, 0x003D0500 - -glabel D_8007FB88 -.word 0xE00CA000, 0x003D0500, 0x003D11E0, 0xE00CA000, 0x003D11E0, 0x003D1690 - -glabel D_8007FBA0 -.word 0xE00CC000, 0x003D1690, 0x003D2580, 0xE00CC000, 0x003D2580, 0x003D2AC0 - -glabel D_8007FBB8 -.word 0xE00CE000, 0x003D2AC0, 0x003D3930, 0xE00CE000, 0x003D3930, 0x003D3E20 - -glabel D_8007FBD0 -.word 0xE00D0000, 0x003D3E20, 0x003D4970, 0xE00D0000, 0x003593B0, 0x00359F20 - -glabel D_8007FBE8 -.word 0xE00D2000, 0x003D4970, 0x003D4E90, 0xE00D2000, 0x003D4E90, 0x003D5020 - -glabel D_8007FC00 -.word 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000 - -glabel D_8007FC18 -.word 0xE00D6000, 0x003D5020, 0x003D5F30, 0xE00D6000, 0x003D5F30, 0x003D67C0 - -glabel D_8007FC30 -.word 0xE00D8000, 0x003D67C0, 0x003D7040, 0xE00D8000, 0x003D7040, 0x003D7240 - -glabel D_8007FC48 -.word 0xE00DA000, 0x003D7240, 0x003D7770, 0xE00DA000, 0x003D7770, 0x003D7A70 - -glabel D_8007FC60 -.word 0xE00DC000, 0x003D7A70, 0x003D80C0, 0xE00DC000, 0x003D80C0, 0x003D8720 - -glabel D_8007FC78 -.word 0xE00DE000, 0x003D8720, 0x003D9100, 0xE00DE000, 0x003D9100, 0x003DB460 - -glabel D_8007FC90 -.word 0xE00E0000, 0x003DB460, 0x003DBF40, 0xE00E0000, 0x003DBF40, 0x003DC310 - -glabel D_8007FCA8 -.word 0xE00E2000, 0x003DC310, 0x003DCD50, 0xE00E2000, 0x003DCD50, 0x003DE000 - -glabel D_8007FCC0 -.word 0xE00E4000, 0x003DE000, 0x003DEE60, 0xE00E4000, 0x003DEE60, 0x003E0930 - -glabel D_8007FCD8 -.word 0xE00E6000, 0x003E0930, 0x003E12D0, 0xE00E6000, 0x003E12D0, 0x003E1690 - -glabel D_8007FCF0 -.word 0xE00E8000, 0x003E1690, 0x003E1CD0, 0xE00E8000, 0x003E1CD0, 0x003E1EE0 - -glabel D_8007FD08 -.word 0xE00EA000, 0x003E1EE0, 0x003E2960, 0xE00EA000, 0x003E2960, 0x003E43A0 - -glabel D_8007FD20 -.word 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000 - -glabel D_8007FD38 -.word 0xE010A000, 0x003E43A0, 0x003E5350, 0xE010A000, 0x003E5350, 0x003E54C0 - -glabel D_8007FD50 -.word 0xE010C000, 0x003E54C0, 0x003E5F30, 0xE010C000, 0x003E5F30, 0x003EB4E0 - -glabel D_8007FD68 -.word 0xE010E32C, 0x003EB4E0, 0x003EBE60, 0xE010E000, 0x003EBE60, 0x003F83F0 - -glabel D_8007FD80 -.word 0xE0110000, 0x003F83F0, 0x003F8CC0, 0xE0110000, 0x003F8CC0, 0x003F9E50 - -glabel D_8007FD98 -.word 0xE0112000, 0x003F9E50, 0x003FA4B0, 0xE0112000, 0x003FA4B0, 0x003FEAE0 - -glabel D_8007FDB0 -.word 0xE0114000, 0x003FEAE0, 0x003FF250, 0xE0114000, 0x003FF250, 0x00402640 - -glabel D_8007FDC8 -.word 0xE0116000, 0x00402640, 0x00403400, 0xE0116000, 0x003FA4B0, 0x003FEAE0 - -glabel D_8007FDE0 -.word 0xE0118000, 0x00403400, 0x00403BF0, 0xE0118000, 0x00403BF0, 0x00404220 - -glabel D_8007FDF8 -.word 0xE011A000, 0x00404220, 0x00404F40, 0xE011A000, 0x00404F40, 0x00406B40 - -glabel D_8007FE10 -.word 0xE011C000, 0x00406B40, 0x00407080, 0xE011C000, 0x00407080, 0x00409990 - -glabel D_8007FE28 -.word 0xE011E000, 0x00409990, 0x0040A1C0, 0xE011E000, 0x0040A1C0, 0x0040B3F0 - -glabel D_8007FE40 -.word 0xE0120000, 0x0040B3F0, 0x0040BBA0, 0xE0120000, 0x0040BBA0, 0x0040C5A0 - -glabel D_8007FE58 -.word 0xE0122000, 0x0040C5A0, 0x0040D290, 0xE0122000, 0x0040D290, 0x00412730 - -glabel D_8007FE70 -.word 0xE0124000, 0x00412730, 0x00413360, 0xE0124000, 0x00337FC0, 0x00339250 - -glabel D_8007FE88 -.word 0xE0126000, 0x00413360, 0x00413FA0, 0xE0126000, 0x00413FA0, 0x00414BA0 - -glabel D_8007FEA0 -.word 0xE0128000, 0x00414BA0, 0x00415060, 0xE0128000, 0x00415060, 0x00415D90, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00000000, 0x00000200, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000002, 0x00000004, 0x0000000C, 0x00000000, 0xFFFFFFFF, 0x0000000D, 0x00000001, 0x0002C7C0, 0x0002C8E0, 0x00000000, 0x00000000, 0x0000000C, 0x00000000, 0xFFFFFFFF, 0x0000000D, 0x00000001, 0x0002C7C0, 0x0002C8E0, 0x00000000, 0x00000000, 0x0000000C, 0x00000000, 0xFFFFFFFF, 0x0000000D, 0x00000001, 0x0002C7C0, 0x0002C8E0, 0x00000000, 0x00000000, 0x0000000C, 0x00000000, 0xFFFFFFFF, 0x0000000D, 0x00000001, 0x0002C7C0, 0x0002C8E0, 0x00000000, 0x00000000, 0x0000000C, 0x00000002, 0xFFFFFFFF, 0x0000000D, 0x00000001, 0x0002C900, 0x0002CA20, 0x00000000, 0x00000000, 0x0000000C, 0x00000002, 0xFFFFFFFF, 0x0000000D, 0x00000001, 0x0002CA40, 0x0002CB60, 0x00000000, 0x00000000, 0x0000000C, 0x00000002, 0xFFFFFFFF, 0x0000000D, 0x00000004, 0x0002CB80, 0x0002CCA0, 0x00000000, 0x00000000, 0x0000000C, 0x00000002, 0x00000004, 0x0000000D, 0x00000001, 0x0002C900, 0x0002CA20, 0x00000000, 0x00000000, 0x0000000C, 0x00000000, 0x00000003, 0x0000000D, 0x00000001, 0x0002C7C0, 0x0002C8E0, 0x00000000, 0x00000000, 0x0000000C, 0x00000000, 0xFFFFFFFF, 0x0000000D, 0x0000000E, 0x0002CCC0, 0x0002CDE0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000002, 0x0000000C, 0x00000000, 0xFFFFFFFF, 0x0000000D, 0x00000001, 0x0002C7C0, 0x0002C8E0, 0x00000000, 0x00000000, 0x0000000C, 0x00000002, 0xFFFFFFFF, 0x0000000D, 0x00000001, 0x0002C900, 0x0002CA20, 0x00000000, 0x00000000, 0x0000000C, 0x00000002, 0xFFFFFFFF, 0x0000000D, 0x00000001, 0x0002CA40, 0x0002CB60, 0x00000000, 0x00000000, 0x0000000C, 0x00000002, 0xFFFFFFFF, 0x0000000D, 0x00000004, 0x0002CB80, 0x0002CCA0, 0x00000000, 0x00000000, 0x0000000C, 0x00000002, 0x00000004, 0x0000000D, 0x00000001, 0x0002C900, 0x0002CA20, 0x00000000, 0x00000000, 0x0000000C, 0x00000000, 0x00000003, 0x0000000D, 0x00000001, 0x0002C7C0, 0x0002C8E0, 0x00000000, 0x00000000, 0x0000000C, 0x00000000, 0xFFFFFFFF, 0x0000000D, 0x00000002, 0x0002CCC0, 0x0002CDE0, 0x00000000, 0x00000000, 0x0000000C, 0x00000000, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0002C7C0, 0x0002C8E0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000002, 0x00000004, 0x0000000D, 0x0000003C, 0x0002C7C0, 0x0002C8E0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000002, 0x00000004, 0x0000000C, 0x00000000, 0x00000000, 0x0000000D, 0x00000001, 0x0002CE00, 0x0002CF20, 0x00000000, 0x00000000, 0x0000000C, 0x00000000, 0x00000000, 0x0000000D, 0x00000001, 0x0002CE00, 0x0002CF20, 0x00000000, 0x00000000, 0x0000000C, 0x00000000, 0x00000000, 0x0000000D, 0x00000001, 0x0002CE00, 0x0002CF20, 0x00000000, 0x00000000, 0x0000000C, 0x00000000, 0x00000000, 0x0000000D, 0x00000001, 0x0002CE00, 0x0002CF20, 0x00000000, 0x00000000, 0x0000000C, 0x00000000, 0xFFFFFFFF, 0x0000000D, 0x00000001, 0x0002CF40, 0x0002D060, 0x00000000, 0x00000000, 0x0000000C, 0x00000000, 0xFFFFFFFF, 0x0000000D, 0x00000001, 0x0002D080, 0x0002D1A0, 0x00000000, 0x00000000, 0x0000000C, 0x00000001, 0xFFFFFFFD, 0x0000000D, 0x00000004, 0x0002D1C0, 0x0002D2E0, 0x00000000, 0x00000000, 0x0000000C, 0x00000000, 0x00000004, 0x0000000D, 0x00000001, 0x0002CF40, 0x0002D060, 0x00000000, 0x00000000, 0x0000000C, 0x00000000, 0x00000004, 0x0000000D, 0x00000001, 0x0002CE00, 0x0002CF20, 0x00000000, 0x00000000, 0x0000000C, 0x00000000, 0x00000001, 0x0000000D, 0x0000000E, 0x0002D300, 0x0002D420, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000002, 0x0000000C, 0x00000000, 0x00000000, 0x0000000D, 0x00000001, 0x0002CE00, 0x0002CF20, 0x00000000, 0x00000000, 0x0000000C, 0x00000000, 0xFFFFFFFF, 0x0000000D, 0x00000001, 0x0002CF40, 0x0002D060, 0x00000000, 0x00000000, 0x0000000C, 0x00000000, 0xFFFFFFFF, 0x0000000D, 0x00000001, 0x0002D080, 0x0002D1A0, 0x00000000, 0x00000000, 0x0000000C, 0x00000001, 0xFFFFFFFD, 0x0000000D, 0x00000004, 0x0002D1C0, 0x0002D2E0, 0x00000000, 0x00000000, 0x0000000C, 0x00000000, 0x00000004, 0x0000000D, 0x00000001, 0x0002CF40, 0x0002D060, 0x00000000, 0x00000000, 0x0000000C, 0x00000000, 0x00000004, 0x0000000D, 0x00000001, 0x0002CE00, 0x0002CF20, 0x00000000, 0x00000000, 0x0000000C, 0x00000000, 0x00000001, 0x0000000D, 0x00000002, 0x0002D300, 0x0002D420, 0x00000000, 0x00000000, 0x0000000C, 0x00000000, 0x00000004, 0x00000004, 0x0000000D, 0x0000003C, 0x0002CE00, 0x0002CF20, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000002, 0x00000004, 0x0000000D, 0x0000003C, 0x0002CE00, 0x0002CF20, 0x00000000, 0x00000000, 0x00000003, 0x00000000 - -glabel D_800804F0 -.word 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00000000, 0x00000200, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00000220, 0x00000420, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00000440, 0x00000640, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00000660, 0x00000860, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00000880, 0x00000A80, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00000AA0, 0x00000CA0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00000CC0, 0x00000EC0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00000EE0, 0x000010E0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00001100, 0x00001300, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0002D940, 0x0002DB40, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0002DB80, 0x0002DD80, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0002DDC0, 0x0002DFC0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0002E000, 0x0002E200, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0002E240, 0x0002E440, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0002E480, 0x0002E680, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0002E6C0, 0x0002E8C0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000002, 0x00000004, 0x0000000D, 0x0000003C, 0x00030CE0, 0x00030E00, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000002, 0x00000004, 0x0000000D, 0x0000000A, 0x00030A60, 0x00030B80, 0x00000000, 0x00000000, 0x0000000D, 0x00000006, 0x00030BA0, 0x00030CC0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000002, 0x00000004, 0x00000015, 0x00000000, 0x0000000D, 0x00000003, 0x0002F5C0, 0x0002F6E0, 0x00000000, 0x00000000, 0x0000000D, 0x00000003, 0x0002F700, 0x0002F820, 0x00000000, 0x00000000, 0x0000000D, 0x00000003, 0x0002FAC0, 0x0002FBE0, 0x00000000, 0x00000000, 0x0000000D, 0x00000003, 0x0002FC00, 0x0002FD20, 0x00000000, 0x00000000, 0x0000000D, 0x00000003, 0x0002FD40, 0x0002FE60, 0x00000000, 0x00000000, 0x0000000D, 0x00000003, 0x0002FE80, 0x0002FFA0, 0x00000000, 0x00000000, 0x0000000D, 0x00000003, 0x0002FFC0, 0x000300E0, 0x00000000, 0x00000000, 0x0000000D, 0x00000003, 0x00030100, 0x00030220, 0x00000000, 0x00000000, 0x00000014, 0x00000064, 0x00000046, 0x00000015, 0x00000001, 0x0000000D, 0x00000003, 0x0002F5C0, 0x0002F6E0, 0x00000000, 0x00000000, 0x0000000D, 0x00000002, 0x0002F700, 0x0002F820, 0x00000000, 0x00000000, 0x0000000D, 0x00000001, 0x0002F840, 0x0002F960, 0x00000000, 0x00000000, 0x0000000D, 0x00000001, 0x0002F980, 0x0002FAA0, 0x00000000, 0x00000000, 0x0000000D, 0x00000002, 0x0002FAC0, 0x0002FBE0, 0x00000000, 0x00000000, 0x0000000D, 0x00000003, 0x0002FC00, 0x0002FD20, 0x00000000, 0x00000000, 0x0000000D, 0x00000003, 0x0002FD40, 0x0002FE60, 0x00000000, 0x00000000, 0x0000000D, 0x00000003, 0x0002FE80, 0x0002FFA0, 0x00000000, 0x00000000, 0x0000000D, 0x00000003, 0x0002FFC0, 0x000300E0, 0x00000000, 0x00000000, 0x0000000D, 0x00000003, 0x00030100, 0x00030220, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x0000000C, 0xFFFFFFF8, 0x00000000, 0x0000000D, 0x00000001, 0x00030240, 0x00030260, 0x00000000, 0x00000000, 0x0000000D, 0x00000001, 0x00030280, 0x000302A0, 0x00000000, 0x00000000, 0x0000000D, 0x00000001, 0x000302C0, 0x000302E0, 0x00000000, 0x00000000, 0x0000000D, 0x00000002, 0x000303C0, 0x000303E0, 0x00000000, 0x00000000, 0x0000000D, 0x00000001, 0x000302C0, 0x000302E0, 0x00000000, 0x00000000, 0x0000000D, 0x00000001, 0x00030300, 0x00030320, 0x00000000, 0x00000000, 0x0000000D, 0x00000001, 0x000303C0, 0x000303E0, 0x00000000, 0x00000000, 0x0000000D, 0x00000001, 0x00030340, 0x00030360, 0x00000000, 0x00000000, 0x0000000D, 0x00000001, 0x000303C0, 0x000303E0, 0x00000000, 0x00000000, 0x0000000D, 0x00000001, 0x00030380, 0x000303A0, 0x00000000, 0x00000000, 0x0000000D, 0x00000010, 0x000303C0, 0x000303E0, 0x00000000, 0x00000000, 0x00000000, 0x0000000C, 0x00000008, 0x00000008, 0x0000000D, 0x00000001, 0x00030240, 0x00030260, 0x00000000, 0x00000000, 0x0000000D, 0x00000001, 0x00030280, 0x000302A0, 0x00000000, 0x00000000, 0x0000000D, 0x00000001, 0x000302C0, 0x000302E0, 0x00000000, 0x00000000, 0x0000000D, 0x00000002, 0x000303C0, 0x000303E0, 0x00000000, 0x00000000, 0x0000000D, 0x00000001, 0x000302C0, 0x000302E0, 0x00000000, 0x00000000, 0x0000000D, 0x00000001, 0x00030300, 0x00030320, 0x00000000, 0x00000000, 0x0000000D, 0x00000001, 0x000303C0, 0x000303E0, 0x00000000, 0x00000000, 0x0000000D, 0x00000001, 0x00030340, 0x00030360, 0x00000000, 0x00000000, 0x0000000D, 0x00000001, 0x000303C0, 0x000303E0, 0x00000000, 0x00000000, 0x0000000D, 0x00000001, 0x00030380, 0x000303A0, 0x00000000, 0x00000000, 0x0000000D, 0x00000010, 0x000303C0, 0x000303E0, 0x00000000, 0x00000000, 0x00000000, 0x0000000C, 0xFFFFFFFC, 0x00000008, 0x0000000D, 0x00000001, 0x00030240, 0x00030260, 0x00000000, 0x00000000, 0x0000000D, 0x00000001, 0x00030280, 0x000302A0, 0x00000000, 0x00000000, 0x0000000D, 0x00000001, 0x000302C0, 0x000302E0, 0x00000000, 0x00000000, 0x0000000D, 0x00000002, 0x000303C0, 0x000303E0, 0x00000000, 0x00000000, 0x0000000D, 0x00000001, 0x000302C0, 0x000302E0, 0x00000000, 0x00000000, 0x0000000D, 0x00000001, 0x00030300, 0x00030320, 0x00000000, 0x00000000, 0x0000000D, 0x00000001, 0x000303C0, 0x000303E0, 0x00000000, 0x00000000, 0x0000000D, 0x00000001, 0x00030340, 0x00030360, 0x00000000, 0x00000000, 0x0000000D, 0x00000001, 0x000303C0, 0x000303E0, 0x00000000, 0x00000000, 0x0000000D, 0x00000001, 0x00030380, 0x000303A0, 0x00000000, 0x00000000, 0x0000000D, 0x00000010, 0x000303C0, 0x000303E0, 0x00000000, 0x00000000, 0x00000000, 0x0000000C, 0x00000006, 0xFFFFFFFA, 0x0000000D, 0x00000001, 0x00030240, 0x00030260, 0x00000000, 0x00000000, 0x0000000D, 0x00000001, 0x00030280, 0x000302A0, 0x00000000, 0x00000000, 0x0000000D, 0x00000001, 0x000302C0, 0x000302E0, 0x00000000, 0x00000000, 0x0000000D, 0x00000002, 0x000303C0, 0x000303E0, 0x00000000, 0x00000000, 0x0000000D, 0x00000001, 0x000302C0, 0x000302E0, 0x00000000, 0x00000000, 0x0000000D, 0x00000001, 0x00030300, 0x00030320, 0x00000000, 0x00000000, 0x0000000D, 0x00000001, 0x000303C0, 0x000303E0, 0x00000000, 0x00000000, 0x0000000D, 0x00000001, 0x00030340, 0x00030360, 0x00000000, 0x00000000, 0x0000000D, 0x00000001, 0x000303C0, 0x000303E0, 0x00000000, 0x00000000, 0x0000000D, 0x00000001, 0x00030380, 0x000303A0, 0x00000000, 0x00000000, 0x0000000D, 0x00000010, 0x000303C0, 0x000303E0, 0x00000000, 0x00000000, 0x00000000, 0x0000000C, 0x00000001, 0xFFFFFFF8, 0x0000000D, 0x00000001, 0x00030240, 0x00030260, 0x00000000, 0x00000000, 0x0000000D, 0x00000001, 0x00030280, 0x000302A0, 0x00000000, 0x00000000, 0x0000000D, 0x00000001, 0x000302C0, 0x000302E0, 0x00000000, 0x00000000, 0x0000000D, 0x00000002, 0x000303C0, 0x000303E0, 0x00000000, 0x00000000, 0x0000000D, 0x00000001, 0x000302C0, 0x000302E0, 0x00000000, 0x00000000, 0x0000000D, 0x00000001, 0x00030300, 0x00030320, 0x00000000, 0x00000000, 0x0000000D, 0x00000001, 0x000303C0, 0x000303E0, 0x00000000, 0x00000000, 0x0000000D, 0x00000001, 0x00030340, 0x00030360, 0x00000000, 0x00000000, 0x0000000D, 0x00000001, 0x000303C0, 0x000303E0, 0x00000000, 0x00000000, 0x0000000D, 0x00000001, 0x00030380, 0x000303A0, 0x00000000, 0x00000000, 0x0000000D, 0x00000010, 0x000303C0, 0x000303E0, 0x00000000, 0x00000000, 0x00000000, 0x00000008, 0x00000005, 0x00000000, 0x00000017, 0x00000005, 0x80080A4C, 0x80080B64, 0x80080C7C, 0x80080D94, 0x80080EAC, 0x00000000, 0x00000008, 0x00000005, 0x00000002, 0x00000004, 0x0000000D, 0x00000002, 0x00030E20, 0x00030F40, 0x00000000, 0x00000000, 0x0000000D, 0x00000002, 0x00030F60, 0x00031080, 0x00000000, 0x00000000, 0x0000000D, 0x00000002, 0x000310A0, 0x000311C0, 0x00000000, 0x00000000, 0x0000000D, 0x00000002, 0x000311E0, 0x00031300, 0x00000000, 0x00000000, 0x0000000D, 0x00000002, 0x00031320, 0x00031440, 0x00000000, 0x00000000, 0x0000000D, 0x00000002, 0x00031460, 0x00031580, 0x00000000, 0x00000000, 0x0000000D, 0x00000002, 0x000315A0, 0x000316C0, 0x00000000, 0x00000000, 0x0000000D, 0x00000002, 0x000316E0, 0x00031800, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000000, 0x00000004, 0x0000000D, 0x00000002, 0x00031CA0, 0x00031CC0, 0x00000000, 0x00000000, 0x0000000D, 0x00000002, 0x00031CE0, 0x00031D00, 0x00000000, 0x00000000, 0x0000000D, 0x00000002, 0x00031D20, 0x00031D40, 0x00000000, 0x00000000, 0x0000000D, 0x00000002, 0x00031D60, 0x00031D80, 0x00000000, 0x00000000, 0x0000000D, 0x00000002, 0x00031DA0, 0x00031DC0, 0x00000000, 0x00000000, 0x0000000D, 0x00000002, 0x00031DE0, 0x00031E00, 0x00000000, 0x00000000, 0x0000000D, 0x00000002, 0x00031E20, 0x00031E40, 0x00000000, 0x00000000, 0x0000000D, 0x00000002, 0x00031E60, 0x00031E80, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x00000008, 0x0002E900, 0x0002EB00, 0x00000000, 0x00000000, 0x0000000D, 0x00000005, 0x0002EB20, 0x0002ED20, 0x00000000, 0x00000000, 0x0000000D, 0x00000008, 0x0002ED40, 0x0002EF40, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x00000008, 0x0002EF60, 0x0002F160, 0x00000000, 0x00000000, 0x0000000D, 0x00000005, 0x0002F180, 0x0002F380, 0x00000000, 0x00000000, 0x0000000D, 0x00000008, 0x0002F3A0, 0x0002F5A0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000000C, 0x00030400, 0x00030600, 0x00000000, 0x00000000, 0x0000000D, 0x00000004, 0x00030620, 0x00030820, 0x00000000, 0x00000000, 0x0000000D, 0x0000000C, 0x00030840, 0x00030A40, 0x00000000, 0x00000000, 0x0000000D, 0x00000004, 0x00030620, 0x00030820, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00001320, 0x00001520, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00001540, 0x00001740, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00001760, 0x00001960, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00001980, 0x00001B80, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00001BA0, 0x00001DA0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00001DC0, 0x00001FC0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00001FE0, 0x000021E0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00002200, 0x00002400, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00009020, 0x00009220, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00009240, 0x00009440, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00009460, 0x00009660, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00009680, 0x00009880, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x000098A0, 0x00009AA0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00009AC0, 0x00009CC0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00009CE0, 0x00009EE0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00009F00, 0x0000A100, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0000A120, 0x0000A320, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0000A340, 0x0000A540, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0000A560, 0x0000A760, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0000A780, 0x0000A980, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0000A9A0, 0x0000ABA0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0000ABC0, 0x0000ADC0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0000ADE0, 0x0000AFE0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0000B000, 0x0000B200, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0000B220, 0x0000B420, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0000B440, 0x0000B640, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0000B660, 0x0000B860, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0000B880, 0x0000BA80, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0000BAA0, 0x0000BCA0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0000BCC0, 0x0000BEC0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0000BEE0, 0x0000C0E0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0000C100, 0x0000C300, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0000C320, 0x0000C520, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0000C540, 0x0000C740, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0000C760, 0x0000C960, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0000C980, 0x0000CB80, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0000CBA0, 0x0000CDA0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0000CDC0, 0x0000CFC0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0000CFE0, 0x0000D1E0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0000D200, 0x0000D400, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0000D420, 0x0000D620, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0000D640, 0x0000D840, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0000D860, 0x0000DA60, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0000DAA0, 0x0000DCA0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0000DCC0, 0x0000DEC0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0000DEE0, 0x0000E0E0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0000E100, 0x0000E300, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0000E320, 0x0000E520, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0000E540, 0x0000E740, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0000E760, 0x0000E960, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0000E980, 0x0000EB80, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0000EBC0, 0x0000EDC0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0000EDE0, 0x0000EFE0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0000F000, 0x0000F200, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0000F220, 0x0000F420, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0000F440, 0x0000F640, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0000F660, 0x0000F860, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0000F880, 0x0000FA80, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0000FAA0, 0x0000FCA0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0000FCE0, 0x0000FEE0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0000FF00, 0x00010100, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00010120, 0x00010320, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00010340, 0x00010540, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00010560, 0x00010760, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00010780, 0x00010980, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x000109A0, 0x00010BA0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00010BC0, 0x00010DC0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00010E00, 0x00011000, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00011020, 0x00011220, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00011240, 0x00011440, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00011460, 0x00011660, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00011680, 0x00011880, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x000118A0, 0x00011AA0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00011AC0, 0x00011CC0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00011CE0, 0x00011EE0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00011F20, 0x00012120, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00012140, 0x00012340, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00012360, 0x00012560, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00012580, 0x00012780, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x000127A0, 0x000129A0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x000129C0, 0x00012BC0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x000129C0, 0x00012BE0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00012C00, 0x00012E00, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00012C00, 0x00012E20, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00012E40, 0x00013040, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00012E40, 0x00013060, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00013080, 0x00013280, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00013080, 0x000132A0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x000132C0, 0x000134C0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x000132C0, 0x000134E0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00013500, 0x00013700, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00013500, 0x00013720, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00013740, 0x00013940, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00013740, 0x00013960, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00013980, 0x00013B80, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00013980, 0x00013BA0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00013BC0, 0x00013DC0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00013BC0, 0x00013DE0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00013E00, 0x00014000, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00013E00, 0x00014020, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00014040, 0x00014240, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00014040, 0x00014260, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00014280, 0x00014480, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00014280, 0x000144A0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x000144C0, 0x000146C0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x000144C0, 0x000146E0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00014700, 0x00014900, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00014700, 0x00014920, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00014940, 0x00014B40, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00014940, 0x00014B60, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00014B80, 0x00014D80, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00014B80, 0x00014DA0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00002420, 0x00002620, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00002420, 0x00002640, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00002660, 0x00002860, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00002660, 0x00002880, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x000028A0, 0x00002AA0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x000028A0, 0x00002AC0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00002AE0, 0x00002CE0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00002AE0, 0x00002D00, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00002D20, 0x00002F20, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00002D20, 0x00002F40, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00002F60, 0x00003160, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00002F60, 0x00003180, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x000031A0, 0x000033A0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x000031A0, 0x000033C0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x000033E0, 0x000035E0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x000033E0, 0x00003600, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00003620, 0x00003820, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00003620, 0x00003840, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00003860, 0x00003A60, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00003860, 0x00003A80, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00003AA0, 0x00003CA0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00003AA0, 0x00003CC0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00003CE0, 0x00003EE0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00003CE0, 0x00003F00, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00003F20, 0x00004120, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00003F20, 0x00004140, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00004160, 0x00004360, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00004160, 0x00004380, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x000043A0, 0x000045A0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x000043A0, 0x000045C0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x000045E0, 0x000047E0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x000045E0, 0x00004800, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00004820, 0x00004A20, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00004820, 0x00004A40, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00004A60, 0x00004C60, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00004A60, 0x00004C80, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00004CA0, 0x00004EA0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00004CA0, 0x00004EC0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00004EE0, 0x000050E0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00004EE0, 0x00005100, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00005120, 0x00005320, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00005120, 0x00005340, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00005360, 0x00005560, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00005360, 0x00005580, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x000055A0, 0x000057A0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x000055A0, 0x000057C0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x000057E0, 0x000059E0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x000057E0, 0x00005A00, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00005A20, 0x00005C20, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00005A20, 0x00005C40, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00005C60, 0x00005E60, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00005C60, 0x00005E80, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00005EA0, 0x000060A0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00005EA0, 0x000060C0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x000060E0, 0x000062E0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x000060E0, 0x00006300, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00006320, 0x00006520, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00006320, 0x00006540, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00006560, 0x00006760, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00006560, 0x00006780, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x000067A0, 0x000069A0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x000067A0, 0x000069C0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x000069E0, 0x00006BE0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x000069E0, 0x00006C00, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00006C20, 0x00006E20, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00006C20, 0x00006E40, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00006E60, 0x00007060, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00006E60, 0x00007080, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x000070A0, 0x000072A0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x000070A0, 0x000072C0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x000072E0, 0x000074E0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x000072E0, 0x00007500, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00007520, 0x00007720, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00007520, 0x00007740, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00007760, 0x00007960, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00007760, 0x00007980, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x000079A0, 0x00007BA0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x000079A0, 0x00007BC0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00007BE0, 0x00007DE0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00007BE0, 0x00007E00, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00007E20, 0x00008020, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00007E20, 0x00008040, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00008060, 0x00008260, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00008060, 0x00008280, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x000082A0, 0x000084A0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x000082A0, 0x000084C0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x000084E0, 0x000086E0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x000084E0, 0x00008700, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00008720, 0x00008920, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00008720, 0x00008940, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00008960, 0x00008B60, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00008960, 0x00008B80, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00008BA0, 0x00008DA0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00008BA0, 0x00008DC0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00008DE0, 0x00008FE0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00008DE0, 0x00009000, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00014DC0, 0x00014FC0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00014DC0, 0x00014FE0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00015000, 0x00015200, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00015000, 0x00015220, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00015240, 0x00015440, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00015240, 0x00015460, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00015480, 0x00015680, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00015480, 0x000156A0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x000156C0, 0x000158C0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x000156C0, 0x000158E0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00015900, 0x00015B00, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00015900, 0x00015B20, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00015B40, 0x00015D40, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00015B40, 0x00015D60, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00015D80, 0x00015F80, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00015D80, 0x00015FA0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00015FC0, 0x000161C0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00015FC0, 0x000161E0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00016200, 0x00016400, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00016200, 0x00016420, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00016440, 0x00016640, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00016440, 0x00016660, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00016680, 0x00016880, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00016680, 0x000168A0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x000168C0, 0x00016AC0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x000168C0, 0x00016AE0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00016B00, 0x00016D00, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00016B00, 0x00016D20, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00016D40, 0x00016F40, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00016D40, 0x00016F60, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00016F80, 0x00017180, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00016F80, 0x000171A0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x000171C0, 0x000173C0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x000171C0, 0x000173E0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00017400, 0x00017600, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00017400, 0x00017620, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00017640, 0x00017840, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00017640, 0x00017860, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00017880, 0x00017A80, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00017880, 0x00017AA0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00017AC0, 0x00017CC0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00017AC0, 0x00017CE0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00017D00, 0x00017F00, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00017D00, 0x00017F20, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00017F40, 0x00018140, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00017F40, 0x00018160, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00018180, 0x00018380, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00018180, 0x000183A0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x000183C0, 0x000185C0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x000183C0, 0x000185E0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00018600, 0x00018800, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00018600, 0x00018820, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00018840, 0x00018A40, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00018840, 0x00018A60, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00018A80, 0x00018C80, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00018A80, 0x00018CA0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00018CC0, 0x00018EC0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00018CC0, 0x00018EE0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00018F00, 0x00019100, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00018F00, 0x00019120, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00019140, 0x00019340, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00019140, 0x00019360, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00019380, 0x00019580, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00019380, 0x000195A0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x000195C0, 0x000197C0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x000195C0, 0x000197E0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00019800, 0x00019A00, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00019800, 0x00019A20, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00019A40, 0x00019C40, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00019A40, 0x00019C60, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00019C80, 0x00019E80, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00019C80, 0x00019EA0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00019EC0, 0x0001A0C0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00019EC0, 0x0001A0E0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001A100, 0x0001A300, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001A100, 0x0001A320, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001A340, 0x0001A540, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001A340, 0x0001A560, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001A580, 0x0001A780, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001A580, 0x0001A7A0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001A7C0, 0x0001A9C0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001A7C0, 0x0001A9E0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001AA00, 0x0001AC00, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001AA00, 0x0001AC20, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001AC40, 0x0001AE40, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001AC40, 0x0001AE60, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001AE80, 0x0001B080, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001AE80, 0x0001B0A0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001B0C0, 0x0001B2C0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001B0C0, 0x0001B2E0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001B300, 0x0001B500, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001B300, 0x0001B520, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001B540, 0x0001B740, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001B540, 0x0001B760, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001B780, 0x0001B980, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001B780, 0x0001B9A0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001B9C0, 0x0001BBC0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001B9C0, 0x0001BBE0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001BC00, 0x0001BE00, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001BC00, 0x0001BE20, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001BE40, 0x0001C040, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001BE40, 0x0001C060, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001C080, 0x0001C280, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001C080, 0x0001C2A0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001C2C0, 0x0001C4C0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001C2C0, 0x0001C4E0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001C500, 0x0001C700, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001C500, 0x0001C720, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001C740, 0x0001C940, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001C740, 0x0001C960, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001C980, 0x0001CB80, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001C980, 0x0001CBA0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001CBC0, 0x0001CDC0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001CBC0, 0x0001CDE0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001CE00, 0x0001D000, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001CE00, 0x0001D020, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001D040, 0x0001D240, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001D040, 0x0001D260, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001D280, 0x0001D480, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001D280, 0x0001D4A0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001D4C0, 0x0001D6C0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001D4C0, 0x0001D6E0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001D700, 0x0001D900, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001D700, 0x0001D920, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001D940, 0x0001DB40, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001D940, 0x0001DB60, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001DB80, 0x0001DD80, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001DB80, 0x0001DDA0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001DDC0, 0x0001DFC0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001DDC0, 0x0001DFE0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001E000, 0x0001E200, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001E000, 0x0001E220, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001E240, 0x0001E440, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001E240, 0x0001E460, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001E480, 0x0001E680, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001E480, 0x0001E6A0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001E6C0, 0x0001E8C0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001E6C0, 0x0001E8E0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001E900, 0x0001EB00, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001E900, 0x0001EB20, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001EB40, 0x0001ED40, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001EB40, 0x0001ED60, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001ED80, 0x0001EF80, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001ED80, 0x0001EFA0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001EFC0, 0x0001F1C0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001EFC0, 0x0001F1E0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001F200, 0x0001F400, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001F200, 0x0001F420, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001F440, 0x0001F640, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001F440, 0x0001F660, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001F680, 0x0001F880, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001F680, 0x0001F8A0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001F8C0, 0x0001FAC0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001F8C0, 0x0001FAE0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001FB00, 0x0001FD00, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001FB00, 0x0001FD20, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001FD40, 0x0001FF40, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001FD40, 0x0001FF60, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001FF80, 0x00020180, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001FF80, 0x000201A0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x000201C0, 0x000203C0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x000201C0, 0x000203E0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00020400, 0x00020600, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00020400, 0x00020620, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00020640, 0x00020840, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00020640, 0x00020860, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00020880, 0x00020A80, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00020880, 0x00020AA0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00020AC0, 0x00020CC0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00020AC0, 0x00020CE0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00020D00, 0x00020F00, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00020D00, 0x00020F20, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00020F40, 0x00021140, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00020F40, 0x00021160, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00021180, 0x00021380, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00021180, 0x000213A0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x000213C0, 0x000215C0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x000213C0, 0x000215E0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00021600, 0x00021800, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00021600, 0x00021820, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00021840, 0x00021A40, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00021840, 0x00021A60, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00021A80, 0x00021C80, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00021A80, 0x00021CA0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00021CC0, 0x00021EC0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00021CC0, 0x00021EE0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00021F00, 0x00022100, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00021F00, 0x00022120, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00022140, 0x00022340, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00022140, 0x00022360, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00022380, 0x00022580, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00022380, 0x000225A0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x000225C0, 0x000227C0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x000225C0, 0x000227E0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00022800, 0x00022A00, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00022800, 0x00022A20, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00022A40, 0x00022C40, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00022A40, 0x00022C60, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00022C80, 0x00022E80, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00022C80, 0x00022EA0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00022EC0, 0x000230C0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00022EC0, 0x000230E0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00023100, 0x00023300, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00023100, 0x00023320, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00023340, 0x00023540, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00023340, 0x00023560, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00023580, 0x00023780, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00023580, 0x000237A0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0002A3C0, 0x0002A5C0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0002A3C0, 0x0002A5E0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0002A600, 0x0002A800, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0002A600, 0x0002A820, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0002A840, 0x0002AA40, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0002A840, 0x0002AA60, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0002AA80, 0x0002AC80, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0002AA80, 0x0002ACA0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0002ACC0, 0x0002AEC0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0002ACC0, 0x0002AEE0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0002AF00, 0x0002B100, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0002AF00, 0x0002B120, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0002B140, 0x0002B340, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0002B140, 0x0002B360, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0002B380, 0x0002B580, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0002B380, 0x0002B5A0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0002B5C0, 0x0002B7C0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0002B5C0, 0x0002B7E0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0002B800, 0x0002BA00, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0002B800, 0x0002BA20, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0002BA40, 0x0002BC40, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0002BA40, 0x0002BC60, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0002BC80, 0x0002BE80, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0002BC80, 0x0002BEA0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0002BEC0, 0x0002C0C0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0002BEC0, 0x0002C0E0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0002C100, 0x0002C300, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0002C100, 0x0002C320, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0002C340, 0x0002C540, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0002C340, 0x0002C560, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0002C580, 0x0002C780, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0002C580, 0x0002C7A0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x000237C0, 0x000239C0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x000237C0, 0x000239E0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00023A00, 0x00023C00, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00023A00, 0x00023C20, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00023C40, 0x00023E40, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00023C40, 0x00023E60, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00023E80, 0x00024080, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00023E80, 0x000240A0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x000240C0, 0x000242C0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x000240C0, 0x000242E0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00024300, 0x00024500, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00024300, 0x00024520, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00024540, 0x00024740, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00024540, 0x00024760, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00024780, 0x00024980, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00024780, 0x000249A0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x000249C0, 0x00024BC0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x000249C0, 0x00024BE0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00024C00, 0x00024E00, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00024C00, 0x00024E20, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00024E40, 0x00025040, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00024E40, 0x00025060, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00025080, 0x00025280, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00025080, 0x000252A0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x000252C0, 0x000254C0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x000252C0, 0x000254E0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00025500, 0x00025700, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00025500, 0x00025720, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00025740, 0x00025940, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00025740, 0x00025960, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00025980, 0x00025B80, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00025980, 0x00025BA0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00025BC0, 0x00025DC0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00025BC0, 0x00025DE0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00025E00, 0x00026000, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00025E00, 0x00026020, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00026040, 0x00026240, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00026040, 0x00026260, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00026280, 0x00026480, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00026280, 0x000264A0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x000264C0, 0x000266C0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x000264C0, 0x000266E0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00026700, 0x00026900, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00026700, 0x00026920, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00026940, 0x00026B40, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00026940, 0x00026B60, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00026B80, 0x00026D80, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00026B80, 0x00026DA0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00026DC0, 0x00026FC0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00026DC0, 0x00026FE0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00027000, 0x00027200, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00027000, 0x00027220, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00027240, 0x00027440, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00027240, 0x00027460, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00027480, 0x00027680, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00027480, 0x000276A0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x000276C0, 0x000278C0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x000276C0, 0x000278E0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00027900, 0x00027B00, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00027900, 0x00027B20, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00027B40, 0x00027D40, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00027B40, 0x00027D60, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00027D80, 0x00027F80, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00027D80, 0x00027FA0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00027FC0, 0x000281C0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00027FC0, 0x000281E0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00028200, 0x00028400, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00028200, 0x00028420, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00028440, 0x00028640, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00028440, 0x00028660, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00028680, 0x00028880, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00028680, 0x000288A0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x000288C0, 0x00028AC0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x000288C0, 0x00028AE0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00028B00, 0x00028D00, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00028B00, 0x00028D20, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00028D40, 0x00028F40, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00028D40, 0x00028F60, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00028F80, 0x00029180, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00028F80, 0x000291A0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x000291C0, 0x000293C0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x000291C0, 0x000293E0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00029400, 0x00029600, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00029400, 0x00029620, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00029640, 0x00029840, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00029640, 0x00029860, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00029880, 0x00029A80, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00029880, 0x00029AA0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00029AC0, 0x00029CC0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00029AC0, 0x00029CE0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00029D00, 0x00029F00, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00029D00, 0x00029F20, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00029F40, 0x0002A140, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00029F40, 0x0002A160, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0002A180, 0x0002A380, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0002A180, 0x0002A3A0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x01400000, 0x00000008, 0x00000000, 0x00000000, 0x00000000, 0x10000000, 0x00000000, 0x002600A0, 0x00380000, 0x00000008, 0xFFFF0000, 0x00000000, 0x00000000, 0x10200000, 0x00000000, 0x002600A1, 0x00390000, 0x00000002, 0xFFFF0000, 0x00000000, 0x00000000, 0x10200000, 0x00000000, 0x002600A2, 0x003A0000, 0x00000001, 0xFFFF0000, 0x00000000, 0x00000000, 0x10200000, 0x00000000, 0x002600A3, 0x003B0000, 0x00000008, 0xFFFF0000, 0x00000000, 0x00000000, 0x10200000, 0x00000000, 0x002600A4, 0x003C0000, 0x00000001, 0xFFFF0000, 0x00000000, 0x00000000, 0x10200000, 0x00000000, 0x002600A5, 0x003D0000, 0x00000002, 0xFFFF0000, 0x00000000, 0x00000000, 0x10200000, 0x00000000, 0x002600A6, 0x003E0000, 0x00000002, 0xFFFF0000, 0x002500A6, 0x002300A6, 0x10080000, 0x00000000, 0x00000000, 0x01400000, 0x00000002, 0xFFFF0000, 0x00000000, 0x00000000, 0x10200000, 0x00000000, 0x00000000, 0x01400000, 0x00000002, 0xFFFF0000, 0x00000000, 0x00000000, 0x10200000, 0x00000000, 0x002600E2, 0x00780000, 0x00000002, 0xFFFF0000, 0x002500E2, 0x002300E2, 0x10080000, 0x00000000, 0x002600E3, 0x00790000, 0x00000002, 0xFFFF0000, 0x002500E3, 0x002300E3, 0x10080000, 0x00000000, 0x002600E4, 0x007A0000, 0x00000002, 0xFFFF0000, 0x002500E4, 0x002300E4, 0x10080000, 0x00000000, 0x002600E5, 0x007B0000, 0x00000002, 0xFFFF0000, 0x002500E5, 0x002300E5, 0x10080000, 0x00000000, 0x002600E6, 0x007C0000, 0x00000002, 0xFFFF0000, 0x002500E6, 0x002300E6, 0x10080000, 0x00000000, 0x002600E7, 0x00620000, 0x00000002, 0xFFFF0000, 0x002500E7, 0x002300E7, 0x10080000, 0x00000000, 0x002600A7, 0x00400000, 0x00000008, 0xFFFF0000, 0x002500A7, 0x002300A7, 0x10090000, 0x00000000, 0x002600A8, 0x00410000, 0x00000008, 0xFFFF0000, 0x002500A8, 0x002300A8, 0x10090000, 0x00000000, 0x002600B0, 0x00470000, 0x00000008, 0xFFFF0000, 0x002500B0, 0x002300B0, 0x10090000, 0x00000000, 0x002600A9, 0x00420000, 0x00000008, 0xFFFF0000, 0x002500A9, 0x002300A9, 0x10090000, 0x00000000, 0x002600AA, 0x00430000, 0x00000008, 0xFFFF0000, 0x002500AA, 0x002300AA, 0x10090000, 0x00000000, 0x002600B3, 0x004C0000, 0x00000008, 0xFFFF0000, 0x002500B3, 0x002300B3, 0x10090000, 0x00000000, 0x002600B4, 0x004A0000, 0x00000008, 0xFFFF0000, 0x002500B4, 0x002300B4, 0x10090000, 0x00000000, 0x002600B5, 0x004B0000, 0x00000008, 0xFFFF0000, 0x002500B5, 0x002300B5, 0x10090000, 0x00000000, 0x002600B2, 0x00490000, 0x00000008, 0xFFFF0000, 0x002500B2, 0x002300B2, 0x10090000, 0x00000000, 0x002600AF, 0x00460000, 0x00000008, 0xFFFF0000, 0x002500AF, 0x002300AF, 0x10090000, 0x00000000, 0x002600AB, 0x00440000, 0x00000008, 0xFFFF0000, 0x002500AB, 0x002300AB, 0x10090000, 0x00000000, 0x00000000, 0x004D0000, 0x00000008, 0xFFFF0000, 0x00000000, 0x00000000, 0x10090000, 0x00000000, 0x002600B7, 0x00500000, 0x00000008, 0xFFFF0000, 0x002500B7, 0x002300B7, 0x10090000, 0x00000000, 0x002600B8, 0x00510000, 0x00000008, 0xFFFF0000, 0x002500B8, 0x002300B8, 0x10090000, 0x00000000, 0x002600C4, 0x005D0000, 0x00000008, 0xFFFF0000, 0x002500C4, 0x002300C4, 0x10090000, 0x00000000, 0x002600B9, 0x00520000, 0x00000008, 0xFFFF0000, 0x002500B9, 0x002300B9, 0x10090000, 0x00000000, 0x002600BA, 0x00530000, 0x00000008, 0xFFFF0000, 0x002500BA, 0x002300BA, 0x10090000, 0x00000000, 0x002600BB, 0x00540000, 0x00000008, 0xFFFF0000, 0x002500BB, 0x002300BB, 0x10090000, 0x00000000, 0x002600B6, 0x004F0000, 0x00000008, 0xFFFF0000, 0x002500B6, 0x002300B6, 0x10090000, 0x00000000, 0x002600BC, 0x00550000, 0x00000008, 0xFFFF0000, 0x002500BC, 0x002300BC, 0x10090000, 0x00000000, 0x002600BD, 0x00560000, 0x00000008, 0xFFFF0000, 0x002500BD, 0x002300BD, 0x10090000, 0x00000000, 0x002600BE, 0x00570000, 0x00000008, 0xFFFF0000, 0x002500BE, 0x002300BE, 0x10090000, 0x00000000, 0x00000000, 0x00580000, 0x00000008, 0xFFFF0000, 0x00000000, 0x00000000, 0x10090000, 0x00000000, 0x002600C9, 0x007D0000, 0x00000008, 0xFFFF0000, 0x002500C9, 0x002300C9, 0x10090000, 0x00000000, 0x00000000, 0x00650000, 0x00000008, 0xFFFF0000, 0x00000000, 0x00000000, 0x10090000, 0x00000000, 0x002600CB, 0x00660000, 0x00000008, 0xFFFF0000, 0x002500CB, 0x002300CB, 0x10090000, 0x00000000, 0x002600CC, 0x00670000, 0x00000008, 0xFFFF0000, 0x002500CC, 0x002300CC, 0x10090000, 0x00000000, 0x002600C0, 0x00590000, 0x00000008, 0xFFFF0000, 0x002500C0, 0x002300C0, 0x10090000, 0x00000000, 0x002600C1, 0x005A0000, 0x00000008, 0xFFFF0000, 0x002500C1, 0x002300C1, 0x10090000, 0x00000000, 0x002600C2, 0x005B0000, 0x00000008, 0xFFFF0000, 0x002500C2, 0x002300C2, 0x10090000, 0x00000000, 0x002600C3, 0x005C0000, 0x00000008, 0xFFFF0000, 0x002500C3, 0x002300C3, 0x10090000, 0x00000000, 0x00000000, 0x00630000, 0x00000008, 0xFFFF0000, 0x00000000, 0x00000000, 0x10090000, 0x00000000, 0x002600CA, 0x00640000, 0x00000008, 0xFFFF0000, 0x002500CA, 0x002300CA, 0x10090000, 0x00000000, 0x002600CF, 0x00680000, 0x00000008, 0xFFFF0000, 0x002500CF, 0x002300CF, 0x10090000, 0x00000000, 0x002600D0, 0x00690000, 0x00000008, 0xFFFF0000, 0x002500D0, 0x002300D0, 0x10090000, 0x00000000, 0x002600D2, 0x006A0000, 0x00000008, 0xFFFF0000, 0x002500D2, 0x002300D2, 0x10090000, 0x00000000, 0x002600D3, 0x006B0000, 0x00000008, 0xFFFF0000, 0x002500D3, 0x002300D3, 0x10090000, 0x00000000, 0x00000000, 0x00880000, 0x00000008, 0xFFFF0000, 0x00000000, 0x00000000, 0x10090000, 0x00000000, 0x002600EB, 0x00880000, 0x00000008, 0xFFFF0000, 0x002500EB, 0x002300EB, 0x10090000, 0x00000000, 0x002600EC, 0x00880000, 0x00000008, 0xFFFF0000, 0x002500EC, 0x002300EC, 0x10090000, 0x00000000, 0x002600ED, 0x00880000, 0x00000008, 0xFFFF0000, 0x002500ED, 0x002300ED, 0x10090000, 0x00000000, 0x002600EE, 0x00880000, 0x00000008, 0xFFFF0000, 0x002500EE, 0x002300EE, 0x10090000, 0x00000000, 0x002600EF, 0x00880000, 0x00000008, 0xFFFF0000, 0x002500EF, 0x002300EF, 0x10090000, 0x00000000, 0x002600F0, 0x00880000, 0x00000008, 0xFFFF0000, 0x002500F0, 0x002300F0, 0x10090000, 0x00000000, 0x002600F1, 0x00880000, 0x00000008, 0xFFFF0000, 0x002500F1, 0x002300F1, 0x10090000, 0x00000000, 0x002600F2, 0x00880000, 0x00000008, 0xFFFF0000, 0x002500F2, 0x002300F2, 0x10090000, 0x00000000, 0x002600F3, 0x00880000, 0x00000008, 0xFFFF0000, 0x002500F3, 0x002300F3, 0x10090000, 0x00000000, 0x00000000, 0x00880000, 0x00000008, 0xFFFF0000, 0x00000000, 0x00000000, 0x10090000, 0x00000000, 0x002600F4, 0x00880000, 0x00000008, 0xFFFF0000, 0x002500F4, 0x002300F4, 0x10090000, 0x00000000, 0x002600F5, 0x00880000, 0x00000008, 0xFFFF0000, 0x002500F5, 0x002300F5, 0x10090000, 0x00000000, 0x00000000, 0x00880000, 0x00000008, 0xFFFF0000, 0x00000000, 0x00000000, 0x10090000, 0x00000000, 0x00000000, 0x00880000, 0x00000008, 0xFFFF0000, 0x00000000, 0x00000000, 0x10090000, 0x00000000, 0x00000000, 0x00880000, 0x00000008, 0xFFFF0000, 0x00000000, 0x00000000, 0x10090000, 0x00000000, 0x002600F6, 0x00880000, 0x00000008, 0xFFFF0000, 0x002500F6, 0x002300F6, 0x10090000, 0x00000000, 0x002600F7, 0x00880000, 0x00000008, 0xFFFF0000, 0x002500F7, 0x002300F7, 0x10090000, 0x00000000, 0x002600F8, 0x00880000, 0x00000008, 0xFFFF0000, 0x002500F8, 0x002300F8, 0x10090000, 0x00000000, 0x002600F9, 0x00880000, 0x00000008, 0xFFFF0000, 0x002500F9, 0x002300F9, 0x10090000, 0x00000000, 0x002600FA, 0x00880000, 0x00000008, 0xFFFF0000, 0x002500FA, 0x002300FA, 0x10090000, 0x00000000, 0x002600FB, 0x00880000, 0x00000008, 0xFFFF0000, 0x002500FB, 0x002300FB, 0x10090000, 0x00000000, 0x002600FC, 0x00880000, 0x00000008, 0xFFFF0000, 0x002500FC, 0x002300FC, 0x10090000, 0x00000000, 0x002600FD, 0x00880000, 0x00000008, 0xFFFF0000, 0x002500FD, 0x002300FD, 0x10090000, 0x00000000, 0x00000000, 0x00880000, 0x00000008, 0xFFFF0000, 0x00000000, 0x00000000, 0x10090000, 0x00000000, 0x002600FE, 0x00880000, 0x00000008, 0xFFFF0000, 0x002500FE, 0x002300FE, 0x10090000, 0x00000000, 0x002600FF, 0x00880000, 0x00000008, 0xFFFF0000, 0x002500FF, 0x002300FF, 0x10090000, 0x00000000, 0x00260100, 0x00880000, 0x00000008, 0xFFFF0000, 0x00250100, 0x00230100, 0x10090000, 0x00000000, 0x00260101, 0x00880000, 0x00000008, 0xFFFF0000, 0x00250101, 0x00230101, 0x10090000, 0x00000000, 0x00260102, 0x00880000, 0x00000008, 0xFFFF0000, 0x00250102, 0x00230102, 0x10090000, 0x00000000, 0x002600B1, 0x00480000, 0x00000008, 0xFFFF0000, 0x002500B1, 0x002300B1, 0x10090000, 0x00000000, 0x002600EA, 0x00880000, 0x00000008, 0xFFFF0000, 0x002500EA, 0x002300EA, 0x10090000, 0x00000000, 0x00000000, 0x00880000, 0x00000008, 0xFFFF0000, 0x00000000, 0x00000000, 0x10090000, 0x00000000, 0x002600AE, 0x00450000, 0x00000008, 0xFFFF0000, 0x002500AE, 0x002300AE, 0x10090000, 0x00000000, 0x002600C5, 0x005E0000, 0x00000008, 0xFFFF0000, 0x002500C5, 0x002300C5, 0x10090000, 0x00000000, 0x002600C6, 0x005F0000, 0x00000008, 0xFFFF0000, 0x002500C6, 0x002300C6, 0x10090000, 0x00000000, 0x002600C7, 0x00600000, 0x00000008, 0xFFFF0000, 0x002500C7, 0x002300C7, 0x10090000, 0x00000000, 0x002600C8, 0x00610000, 0x00000008, 0xFFFF0000, 0x002500C8, 0x002300C8, 0x10090000, 0x00000000, 0x002600CD, 0x00490000, 0x00000008, 0xFFFF0000, 0x002500CD, 0x002300CD, 0x10090000, 0x00000000, 0x00260104, 0x00810000, 0x00000008, 0xFFFF0000, 0x00250104, 0x00230104, 0x10090000, 0x00000000, 0x002600D8, 0x01160000, 0x00000008, 0xFFFF0000, 0x002500D8, 0x002300D8, 0x10090000, 0x00000000, 0x002600D9, 0x01150000, 0x00000008, 0xFFFF0000, 0x002500D9, 0x002300D9, 0x10090000, 0x00000000, 0x002600DA, 0x01170000, 0x00000008, 0xFFFF0000, 0x002500DA, 0x002300DA, 0x10090000, 0x00000000, 0x002600DB, 0x01180000, 0x00000008, 0xFFFF0000, 0x002500DB, 0x002300DB, 0x10090000, 0x00000000, 0x002600DC, 0x01190000, 0x00000008, 0xFFFF0000, 0x002500DC, 0x002300DC, 0x10090000, 0x00000000, 0x002600DD, 0x011A0000, 0x00000008, 0xFFFF0000, 0x002500DD, 0x002300DD, 0x10090000, 0x00000000, 0x002600DE, 0x011B0000, 0x00000008, 0xFFFF0000, 0x002500DE, 0x002300DE, 0x10090000, 0x00000000, 0x002600DF, 0x011C0000, 0x00000008, 0xFFFF0000, 0x002500DF, 0x002300DF, 0x10090000, 0x00000000, 0x002600E0, 0x011D0000, 0x00000008, 0xFFFF0000, 0x002500E0, 0x002300E0, 0x10090000, 0x00000000, 0x002600E1, 0x011E0000, 0x00000008, 0xFFFF0000, 0x002500E1, 0x002300E1, 0x10090000, 0x00000000, 0x002600D6, 0x006F0000, 0x00000008, 0xFFFF0000, 0x002500D6, 0x002300D6, 0x10090000, 0x00000000, 0x002600D7, 0x006E0000, 0x00000008, 0xFFFF0000, 0x002500D7, 0x002300D7, 0x10090000, 0x00000000, 0x002600BF, 0x00700000, 0x00000008, 0xFFFF0000, 0x002500BF, 0x002300BF, 0x10090000, 0x00000000, 0x002600AC, 0x00730000, 0x00000008, 0xFFFF0000, 0x002500AC, 0x002300AC, 0x10090000, 0x00000000, 0x002600AD, 0x00530000, 0x00000008, 0xFFFF0000, 0x002500AD, 0x002300AD, 0x10090000, 0x00000000, 0x002600D1, 0x00710000, 0x00000008, 0xFFFF0000, 0x002500D1, 0x002300D1, 0x10090000, 0x00000000, 0x002600D4, 0x00720000, 0x00000008, 0xFFFF0000, 0x002500D4, 0x002300D4, 0x10090000, 0x00000000, 0x00260103, 0x00800000, 0x00000008, 0xFFFF0000, 0x00250103, 0x00230103, 0x10090000, 0x00000000, 0x00260105, 0x00820000, 0x00000008, 0xFFFF0000, 0x00250105, 0x00230105, 0x10090000, 0x00000000, 0x00260106, 0x00830000, 0x00000008, 0xFFFF0000, 0x00250106, 0x00230106, 0x10090000, 0x00000000, 0x00260107, 0x00840000, 0x00000008, 0xFFFF0000, 0x00250107, 0x00230107, 0x10090000, 0x00000000, 0x00000000, 0x00850000, 0x00000008, 0xFFFF0000, 0x00000000, 0x00000000, 0x10090000, 0x00000000, 0x00260108, 0x00860000, 0x00000008, 0xFFFF0000, 0x00250108, 0x00230108, 0x10090000, 0x00000000, 0x00260109, 0x00870000, 0x00000008, 0xFFFF0000, 0x00250109, 0x00230109, 0x10090000, 0x00000000, 0x00000000, 0x00860000, 0x00000008, 0xFFFF0000, 0x00000000, 0x00000000, 0x10090000, 0x00000000, 0x0026010A, 0x006C0000, 0x00000008, 0xFFFF0000, 0x0025010A, 0x0023010A, 0x10090000, 0x00000000, 0x0026010B, 0x006D0000, 0x00000008, 0xFFFF0000, 0x0025010B, 0x0023010B, 0x10090000, 0x00000000, 0x002600AC, 0x00730000, 0x00000008, 0xFFFF0000, 0x002500AC, 0x002300AC, 0x10090000, 0x00000000, 0x002600CE, 0x00530000, 0x00000008, 0xFFFF0000, 0x002500CE, 0x002300CE, 0x10090000, 0x00000000, 0x002600D5, 0x00530000, 0x00000008, 0xFFFF0000, 0x002500D5, 0x002300D5, 0x10090000, 0x00000000, 0x002600E8, 0x007F0000, 0x00000008, 0xFFFF0000, 0x002500E8, 0x002300E8, 0x10090000, 0x00000000, 0x002600E9, 0x007E0000, 0x00000008, 0xFFFF0000, 0x002500E9, 0x002300E9, 0x10090000, 0x00000000, 0x002600D5, 0x00730000, 0x00000008, 0xFFFF0000, 0x002500D5, 0x002300D5, 0x10090000, 0x00000000, 0x002600D5, 0x00730000, 0x00000008, 0xFFFF0000, 0x002500D5, 0x002300D5, 0x10090000, 0x00000000, 0x002600D5, 0x00730000, 0x00000008, 0xFFFF0000, 0x002500D5, 0x002300D5, 0x10090000, 0x00000000, 0x00260000, 0x01200000, 0x00008002, 0x00040000, 0x00250000, 0x00230000, 0x10060003, 0x00000000, 0x00260001, 0x01210000, 0x00008002, 0x00060000, 0x00250001, 0x00230001, 0x10060004, 0x00000000, 0x00260002, 0x01220000, 0x00008002, 0x00080000, 0x00250002, 0x00230002, 0x10060005, 0x00000000, 0x00260004, 0x01240000, 0x00008002, 0x000F0000, 0x00250004, 0x00230004, 0x10060006, 0x00000000, 0x00260003, 0x01230000, 0x00008003, 0x00040000, 0x00250003, 0x00230003, 0x10060005, 0x00000000, 0x00260006, 0x01260000, 0x00008003, 0x00010000, 0x00250006, 0x00230006, 0x10060001, 0x00000000, 0x00260005, 0x01250000, 0x00008003, 0x00010000, 0x00250005, 0x00230005, 0x10060001, 0x00000000, 0x00000000, 0x013D0000, 0x00008003, 0x00010000, 0x00000000, 0x00000000, 0x10060000, 0x00000000, 0x00260007, 0x01280000, 0x00000008, 0x000F0000, 0x00250007, 0x00230007, 0x10060003, 0x00000000, 0x0026000E, 0x00FD0000, 0x00000009, 0x00010000, 0x0025000E, 0x0023000E, 0x11870000, 0x00000000, 0x00260009, 0x00F80000, 0x00000009, 0x00020000, 0x00250009, 0x00230009, 0x10870005, 0x00000000, 0x00260008, 0x01290000, 0x00000008, 0x00070000, 0x00250008, 0x00230008, 0x10860004, 0x00000000, 0x0026000A, 0x00F90000, 0x00000009, 0x00070000, 0x0025000A, 0x0023000A, 0x1087000A, 0x00000000, 0x0026000D, 0x00FC0000, 0x00000009, 0x00010000, 0x0025000D, 0x0023000D, 0x10870001, 0x00000000, 0x0026000B, 0x00FA0000, 0x00000009, 0x00320000, 0x0025000B, 0x0023000B, 0x10870032, 0x00000000, 0x00260026, 0x01300000, 0x00008002, 0x00040000, 0x00250026, 0x00230026, 0x10060003, 0x00000000, 0x00260027, 0x01320000, 0x00008002, 0x00030000, 0x00250027, 0x00230027, 0x10060002, 0x00000000, 0x00000000, 0x01330000, 0x00000008, 0x000A0000, 0x00000000, 0x00000000, 0x11860002, 0x00000000, 0x00260028, 0x01340000, 0x00008002, 0x000A0000, 0x00250028, 0x00230028, 0x10060004, 0x00000000, 0x00260019, 0x01130000, 0x00000009, 0x001E0000, 0x00250019, 0x00230019, 0x10870019, 0x19000000, 0x0026001A, 0x01140000, 0x00000009, 0x00020000, 0x0025001A, 0x0023001A, 0x10870005, 0x00000000, 0x0026000C, 0x00FB0000, 0x00000009, 0x00140000, 0x0025000C, 0x0023000C, 0x1087000A, 0x00000000, 0x0026002B, 0x013B0000, 0x00000008, 0x00010000, 0x0025002B, 0x0023002B, 0x10060000, 0x00000000, 0x0026002C, 0x013C0000, 0x00000008, 0x000F0000, 0x0025002C, 0x0023002C, 0x10060002, 0x00000000, 0x0026002A, 0x013A0000, 0x00008002, 0x00030000, 0x0025002A, 0x0023002A, 0x10060000, 0x00000000, 0x00000000, 0x01380000, 0x00000008, 0x00050000, 0x00000000, 0x00000000, 0x10060000, 0x00000000, 0x00260029, 0x01350000, 0x00008002, 0x00060000, 0x00250029, 0x00230029, 0x10060003, 0x00000000, 0x0026000F, 0x00FE0000, 0x00000009, 0x00030000, 0x0025000F, 0x0023000F, 0x11870000, 0x05000000, 0x00260015, 0x01070000, 0x00000009, 0x00010000, 0x00250015, 0x00230015, 0x10870001, 0x02000000, 0x00260014, 0x01060000, 0x00000009, 0x00010000, 0x00250014, 0x00230014, 0x10870000, 0x03000000, 0x00260010, 0x00FF0000, 0x00000009, 0x00020000, 0x00250010, 0x00230010, 0x10870000, 0x05000000, 0x00260011, 0x01000000, 0x00000009, 0x00020000, 0x00250011, 0x00230011, 0x10870005, 0x00000000, 0x00260012, 0x01010000, 0x00000009, 0x00020000, 0x00250012, 0x00230012, 0x10870003, 0x03000000, 0x00260013, 0x01020000, 0x00000009, 0x00030000, 0x00250013, 0x00230013, 0x10870005, 0x00000000, 0x00260018, 0x01120000, 0x00000009, 0x00320000, 0x00250018, 0x00230018, 0x10870000, 0x32000000, 0x00260017, 0x01110000, 0x00000009, 0x000A0000, 0x00250017, 0x00230017, 0x11870000, 0x0A000000, 0x00260016, 0x01100000, 0x00000009, 0x00030000, 0x00250016, 0x00230016, 0x11870000, 0x05000000, 0x0026001B, 0x01030000, 0x00000009, 0x00020000, 0x0025001B, 0x0023001B, 0x10870000, 0x03000000, 0x0026001C, 0x01040000, 0x00000009, 0x00010000, 0x0025001C, 0x0023001C, 0x10870000, 0x03000000, 0x0026001D, 0x01050000, 0x00000009, 0x00040000, 0x0025001D, 0x0023001D, 0x10870003, 0x02000000, 0x0026001E, 0x01080000, 0x00000009, 0x00050000, 0x0025001E, 0x0023001E, 0x1087000F, 0x00000000, 0x0026001F, 0x01090000, 0x00000009, 0x00020000, 0x0025001F, 0x0023001F, 0x10870000, 0x05000000, 0x00260020, 0x010A0000, 0x00000009, 0x00030000, 0x00250020, 0x00230020, 0x10870000, 0x01000000, 0x00260021, 0x010B0000, 0x00000009, 0x00020000, 0x00250021, 0x00230021, 0x10870005, 0x00000000, 0x00260022, 0x010C0000, 0x00008003, 0x00010000, 0x00250022, 0x00230022, 0x10060003, 0x00000000, 0x00260023, 0x010D0000, 0x00000009, 0x00070000, 0x00250023, 0x00230023, 0x1087000F, 0x00000000, 0x00260024, 0x010E0000, 0x00000009, 0x00010000, 0x00250024, 0x00230024, 0x10870000, 0x05000000, 0x00260025, 0x010F0000, 0x00000009, 0x00030000, 0x00250025, 0x00230025, 0x10870005, 0x00000000, 0x0026002D, 0x00010000, 0x00000009, 0x000A0000, 0x0025002D, 0x0023002D, 0x11870004, 0x04000000, 0x0026002E, 0x00020000, 0x00000009, 0x000A0000, 0x0025002E, 0x0023002E, 0x10870005, 0x0F000000, 0x00260035, 0x00030000, 0x00000009, 0x004B0000, 0x00250035, 0x00230035, 0x10870032, 0x05000000, 0x00260036, 0x00040000, 0x00000009, 0x00640000, 0x00250036, 0x00230036, 0x10870032, 0x0A000000, 0x00260037, 0x00050000, 0x00000009, 0x00960000, 0x00250037, 0x00230037, 0x10870032, 0x32000000, 0x00260038, 0x00060000, 0x00000009, 0x000A0000, 0x00250038, 0x00230038, 0x10870007, 0x07000000, 0x00260039, 0x00070000, 0x00000009, 0x00050000, 0x00250039, 0x00230039, 0x10870006, 0x02000000, 0x0026003C, 0x00080000, 0x00000009, 0x00140000, 0x0025003C, 0x0023003C, 0x1087000A, 0x0A000000, 0x0026003B, 0x00090000, 0x00000009, 0x002D0000, 0x0025003B, 0x0023003B, 0x1087001E, 0x0A000000, 0x0026003A, 0x000A0000, 0x00000009, 0x000F0000, 0x0025003A, 0x0023003A, 0x1087000F, 0x05000000, 0x0026003D, 0x000B0000, 0x00000009, 0x00320000, 0x0025003D, 0x0023003D, 0x1087001E, 0x14000000, 0x0026003F, 0x000E0000, 0x00000009, 0x000F0000, 0x0025003F, 0x0023003F, 0x10870014, 0x14000000, 0x00260042, 0x000C0000, 0x00000009, 0x00190000, 0x00250042, 0x00230042, 0x11870000, 0x28000000, 0x0026003E, 0x000D0000, 0x00000009, 0x000A0000, 0x0025003E, 0x0023003E, 0x1087000A, 0x0A000000, 0x00260040, 0x000F0000, 0x00000009, 0x003C0000, 0x00250040, 0x00230040, 0x10870028, 0x28000000, 0x00260041, 0x00100000, 0x00000009, 0x000A0000, 0x00250041, 0x00230041, 0x11870000, 0x14000000, 0x00260043, 0x00110000, 0x00000009, 0x000A0000, 0x00250043, 0x00230043, 0x10870000, 0x14000000, 0x00260044, 0x00120000, 0x00000009, 0x000A0000, 0x00250044, 0x00230044, 0x10870000, 0x0F000000, 0x00260045, 0x00130000, 0x00000009, 0x00010000, 0x00250045, 0x00230045, 0x10870001, 0x01000000, 0x00260046, 0x00140000, 0x00000009, 0x00030000, 0x00250046, 0x00230046, 0x11870000, 0x07000000, 0x00260032, 0x00150000, 0x00000009, 0x00140000, 0x00250032, 0x00230032, 0x1087000A, 0x05000000, 0x00260033, 0x00160000, 0x00000009, 0x00230000, 0x00250033, 0x00230033, 0x1087000A, 0x0A000000, 0x00260034, 0x00170000, 0x00000009, 0x00640000, 0x00250034, 0x00230034, 0x1087000A, 0x32000000, 0x00260047, 0x00180000, 0x00000009, 0x00070000, 0x00250047, 0x00230047, 0x10870006, 0x04000000, 0x00260048, 0x00190000, 0x00008003, 0x000A0000, 0x00250048, 0x00230048, 0x10060006, 0x00000000, 0x00260049, 0x001A0000, 0x00000009, 0x00070000, 0x00250049, 0x00230049, 0x1087000A, 0x00000000, 0x0026002F, 0x001B0000, 0x00000009, 0x000A0000, 0x0025002F, 0x0023002F, 0x10870005, 0x05000000, 0x0026004A, 0x001C0000, 0x00000009, 0x000F0000, 0x0025004A, 0x0023004A, 0x10870000, 0x14000000, 0x0026004B, 0x001D0000, 0x00000009, 0x00190000, 0x0025004B, 0x0023004B, 0x10870000, 0x0F000000, 0x0026004C, 0x001E0000, 0x00000009, 0x00140000, 0x0025004C, 0x0023004C, 0x108700FF, 0x14000000, 0x0026004D, 0x001F0000, 0x00000009, 0x000F0000, 0x0025004D, 0x0023004D, 0x10870000, 0x14000000, 0x0026004E, 0x00200000, 0x00000009, 0x000C0000, 0x0025004E, 0x0023004E, 0x10870003, 0x0F000000, 0x0026004F, 0x00210000, 0x00000009, 0x000F0000, 0x0025004F, 0x0023004F, 0x10870005, 0x0F000000, 0x00260050, 0x00220000, 0x00000009, 0x00640000, 0x00250050, 0x00230050, 0x10870000, 0x40000000, 0x00260051, 0x00230000, 0x00000009, 0x000A0000, 0x00250051, 0x00230051, 0x10860000, 0x00000000, 0x00260052, 0x00240000, 0x00000009, 0x000C0000, 0x00250052, 0x00230052, 0x10870000, 0x0F000000, 0x00260053, 0x00250000, 0x00000009, 0x000F0000, 0x00250053, 0x00230053, 0x1087000F, 0x00000000, 0x00260054, 0x00260000, 0x00000009, 0x00060000, 0x00250054, 0x00230054, 0x1087000A, 0x00000000, 0x00260055, 0x00270000, 0x00000009, 0x00060000, 0x00250055, 0x00230055, 0x10870000, 0x0A000000, 0x00260030, 0x00280000, 0x00000009, 0x00190000, 0x00250030, 0x00230030, 0x10870005, 0x0A000000, 0x00260056, 0x00290000, 0x00000009, 0x000A0000, 0x00250056, 0x00230056, 0x10870008, 0x08000000, 0x00260057, 0x002A0000, 0x00000009, 0x00140000, 0x00250057, 0x00230057, 0x1087000F, 0x0F000000, 0x00260031, 0x002B0000, 0x00000009, 0x004B0000, 0x00250031, 0x00230031, 0x10870005, 0x32000000, 0x00260031, 0x002B0000, 0x00000009, 0x004B0000, 0x00250031, 0x00230031, 0x10870005, 0x32000000, 0x00260031, 0x002B0000, 0x00000009, 0x004B0000, 0x00250031, 0x00230031, 0x10870005, 0x32000000, 0x00260031, 0x002B0000, 0x00000009, 0x004B0000, 0x00250031, 0x00230031, 0x10870005, 0x32000000, 0x00260031, 0x002B0000, 0x00000009, 0x004B0000, 0x00250031, 0x00230031, 0x10870005, 0x32000000, 0x00260031, 0x002B0000, 0x00000009, 0x004B0000, 0x00250031, 0x00230031, 0x10870005, 0x32000000, 0x00260068, 0x00900017, 0x00000000, 0x004B0000, 0x00250068, 0x00230068, 0x10400800, 0x00000000, 0x0026005E, 0x00910004, 0x00000000, 0x004B0000, 0x0025005E, 0x0023005E, 0x10401F00, 0x00000000, 0x00260073, 0x00920043, 0x00000000, 0x00FA0000, 0x00250073, 0x00230073, 0x10403B00, 0x00000000, 0x00260080, 0x00930028, 0x00000000, 0x00640000, 0x00250080, 0x00230080, 0x10404C00, 0x00000000, 0x00260061, 0x0094000D, 0x00000000, 0x00640000, 0x00250061, 0x00230061, 0x10402000, 0x00000000, 0x0026007F, 0x0095005C, 0x00000000, 0x00640000, 0x0025007F, 0x0023007F, 0x10404000, 0x00000000, 0x00260087, 0x0096006D, 0x00000000, 0x00640000, 0x00250087, 0x00230087, 0x10404D00, 0x00000000, 0x00260071, 0x00970035, 0x00000000, 0x00960000, 0x00250071, 0x00230071, 0x10405200, 0x00000000, 0x0026006A, 0x00980018, 0x00000000, 0x00640000, 0x0025006A, 0x0023006A, 0x10400900, 0x00000000, 0x0026006D, 0x00990021, 0x00000000, 0x00640000, 0x0025006D, 0x0023006D, 0x10403500, 0x00000000, 0x00000000, 0x01400000, 0x00000000, 0x00640000, 0x00000000, 0x00000000, 0x10405300, 0x00000000, 0x0026005C, 0x009C0009, 0x00000000, 0x004B0000, 0x0025005C, 0x0023005C, 0x10402100, 0x00000000, 0x00260097, 0x00A0005B, 0x00000000, 0x004B0000, 0x00250097, 0x00230097, 0x10404100, 0x00000000, 0x00260070, 0x00E30024, 0x00000000, 0x00C80000, 0x00250070, 0x00230070, 0x10403800, 0x00000000, 0x00260069, 0x00A4001D, 0x00000000, 0x004B0000, 0x00250069, 0x00230069, 0x10400A00, 0x00000000, 0x0026005D, 0x00A6000A, 0x00000000, 0x004B0000, 0x0025005D, 0x0023005D, 0x10402200, 0x00000000, 0x00000000, 0x00A80014, 0x00000000, 0x001E0000, 0x00000000, 0x00000000, 0x10400B00, 0x00000000, 0x00260081, 0x00A90055, 0x00000000, 0x00640000, 0x00250081, 0x00230081, 0x10404200, 0x00000000, 0x0026008C, 0x00AA005E, 0x00000000, 0x00640000, 0x0025008C, 0x0023008C, 0x10404300, 0x00000000, 0x0026008D, 0x00AB0070, 0x00000000, 0x001E0000, 0x0025008D, 0x0023008D, 0x10405400, 0x00000000, 0x00260093, 0x00AC0050, 0x00000000, 0x00640000, 0x00250093, 0x00230093, 0x10403C00, 0x00000000, 0x00260078, 0x00AD004F, 0x00000000, 0x00320000, 0x00250078, 0x00230078, 0x10405A00, 0x00000000, 0x00000000, 0x00AE0004, 0x00000000, 0x001E0000, 0x00000000, 0x00000000, 0x10402300, 0x00000000, 0x00260094, 0x00AF006F, 0x00000000, 0x000A0000, 0x00250094, 0x00230094, 0x10404E00, 0x00000000, 0x00260072, 0x00B0003A, 0x00000000, 0x00960000, 0x00250072, 0x00230072, 0x10405B00, 0x00000000, 0x00260086, 0x00B10051, 0x00000000, 0x00320000, 0x00250086, 0x00230086, 0x10405F00, 0x00000000, 0x00260095, 0x00B2005A, 0x00000000, 0x004B0000, 0x00250095, 0x00230095, 0x10403D00, 0x00000000, 0x00260074, 0x00B30046, 0x00000000, 0x00FA0000, 0x00250074, 0x00230074, 0x10404500, 0x00000000, 0x00260096, 0x00B40065, 0x00000000, 0x00320000, 0x00250096, 0x00230096, 0x10406300, 0x00000000, 0x0026009A, 0x00B50065, 0x00000000, 0x00C80000, 0x0025009A, 0x0023009A, 0x10405C00, 0x00000000, 0x00260098, 0x00B60069, 0x00000000, 0x00320000, 0x00250098, 0x00230098, 0x10405D00, 0x00000000, 0x00260079, 0x00B7002A, 0x00000000, 0x00640000, 0x00250079, 0x00230079, 0x10405E00, 0x00000000, 0x00260099, 0x00B8005F, 0x00000000, 0x00640000, 0x00250099, 0x00230099, 0x10404400, 0x00000000, 0x00000000, 0x00B90058, 0x00000000, 0x012C0000, 0x00000000, 0x00000000, 0x10406000, 0x00000000, 0x0026009B, 0x00BA0029, 0x00000000, 0x012C0000, 0x0025009B, 0x0023009B, 0x10404F00, 0x00000000, 0x0026009C, 0x00BB0063, 0x00000000, 0x00320000, 0x0025009C, 0x0023009C, 0x10406100, 0x00000000, 0x0026009D, 0x00BC0064, 0x00000000, 0x00320000, 0x0025009D, 0x0023009D, 0x10406E00, 0x00000000, 0x0026007B, 0x00BD003F, 0x00000000, 0x00FA0000, 0x0025007B, 0x0023007B, 0x10406200, 0x00000000, 0x0026006E, 0x00BE0022, 0x00000000, 0x00C80000, 0x0025006E, 0x0023006E, 0x10403600, 0x00000000, 0x00260066, 0x00A7001C, 0x00000000, 0x004B0000, 0x00250066, 0x00230066, 0x10400D00, 0x00000000, 0x0026006C, 0x009B001A, 0x00000000, 0x00C80000, 0x0025006C, 0x0023006C, 0x10400E00, 0x00000000, 0x00260064, 0x009D0015, 0x00000000, 0x00320000, 0x00250064, 0x00230064, 0x10400F00, 0x00000000, 0x0026005A, 0x00A10005, 0x00000000, 0x00320000, 0x0025005A, 0x0023005A, 0x10402500, 0x00000000, 0x00260065, 0x009E0016, 0x00000000, 0x00640000, 0x00250065, 0x00230065, 0x10401100, 0x00000000, 0x0026005B, 0x00A20006, 0x00000000, 0x00640000, 0x0025005B, 0x0023005B, 0x10402700, 0x00000000, 0x00260084, 0x00D10053, 0x00000000, 0x00320000, 0x00250084, 0x00230084, 0x10406400, 0x00000000, 0x00000000, 0x00A3000F, 0x00000000, 0x00320000, 0x00000000, 0x00000000, 0x10402900, 0x00000000, 0x00000000, 0x009F001F, 0x00000000, 0x00320000, 0x00000000, 0x00000000, 0x10401300, 0x00000000, 0x00000000, 0x00D4002D, 0x00000000, 0x012C0000, 0x00000000, 0x00000000, 0x10406500, 0x00000000, 0x00260085, 0x00D20052, 0x00000000, 0x00320000, 0x00250085, 0x00230085, 0x10404600, 0x00000000, 0x00260083, 0x00D30054, 0x00000000, 0x00320000, 0x00250083, 0x00230083, 0x10404700, 0x00000000, 0x00260076, 0x00C9004E, 0x00000000, 0x00640000, 0x00250076, 0x00230076, 0x10403E00, 0x00000000, 0x00260082, 0x00C60056, 0x00000000, 0x012C0000, 0x00250082, 0x00230082, 0x10404800, 0x00000000, 0x00000000, 0x00C70057, 0x00000000, 0x00640000, 0x00000000, 0x00000000, 0x10406600, 0x00000000, 0x00260077, 0x00CA004D, 0x00000000, 0x00640000, 0x00250077, 0x00230077, 0x10404900, 0x00000000, 0x0026006B, 0x009A0019, 0x00000000, 0x00960000, 0x0025006B, 0x0023006B, 0x10401400, 0x00000000, 0x00000000, 0x00A5000E, 0x00000000, 0x004B0000, 0x00000000, 0x00000000, 0x10402A00, 0x00000000, 0x00000000, 0x00BF0042, 0x00000000, 0x012C0000, 0x00000000, 0x00000000, 0x10406700, 0x00000000, 0x0026007C, 0x00CB0061, 0x00000000, 0x004B0000, 0x0025007C, 0x0023007C, 0x10406800, 0x00000000, 0x0026007D, 0x00CC0062, 0x00000000, 0x004B0000, 0x0025007D, 0x0023007D, 0x10406900, 0x00000000, 0x00260089, 0x00CF006C, 0x00000000, 0x00960000, 0x00250089, 0x00230089, 0x10406A00, 0x00000000, 0x0026008A, 0x00CD006B, 0x00000000, 0x00640000, 0x0025008A, 0x0023008A, 0x10406B00, 0x00000000, 0x0026009E, 0x00D00068, 0x00000000, 0x00C80000, 0x0025009E, 0x0023009E, 0x10406C00, 0x00000000, 0x0026008B, 0x00CE006A, 0x00000000, 0x00320000, 0x0025008B, 0x0023008B, 0x10406D00, 0x00000000, 0x00260088, 0x00C8006E, 0x00000000, 0x00C80000, 0x00250088, 0x00230088, 0x10405000, 0x00000000, 0x00260058, 0x00C00001, 0x00000000, 0x00320000, 0x00250058, 0x00230058, 0x10402B00, 0x00000000, 0x00000000, 0x00C10002, 0x00000000, 0x00640000, 0x00000000, 0x00000000, 0x10402C00, 0x00000000, 0x00260059, 0x00C20003, 0x00000000, 0x00C80000, 0x00250059, 0x00230059, 0x10402D00, 0x00000000, 0x00260062, 0x00C30011, 0x00000000, 0x00320000, 0x00250062, 0x00230062, 0x10401500, 0x00000000, 0x00000000, 0x00C40012, 0x00000000, 0x00640000, 0x00000000, 0x00000000, 0x10401600, 0x00000000, 0x00260063, 0x00C50013, 0x00000000, 0x00C80000, 0x00250063, 0x00230063, 0x10401700, 0x00000000, 0x00260062, 0x01400011, 0x00000000, 0x00320000, 0x00250062, 0x00230062, 0x10401700, 0x00000000, 0x00260062, 0x01400011, 0x00000000, 0x00320000, 0x00250062, 0x00230062, 0x10401700, 0x00000000, 0x0026007E, 0x00E00031, 0x00000000, 0x00320000, 0x0025007E, 0x0023007E, 0x10407100, 0x00000000, 0x00000000, 0x00E10034, 0x00000000, 0x00640000, 0x00000000, 0x00000000, 0x10407200, 0x00000000, 0x00260067, 0x00D8001B, 0x00000000, 0x004B0000, 0x00250067, 0x00230067, 0x10401800, 0x00000000, 0x00000000, 0x0140001E, 0x00000000, 0x00640000, 0x00000000, 0x00000000, 0x10401900, 0x00000000, 0x00000000, 0x00E20027, 0x00000000, 0x012C0000, 0x00000000, 0x00000000, 0x10407300, 0x00000000, 0x00260060, 0x00DA000C, 0x00000000, 0x00640000, 0x00250060, 0x00230060, 0x10402E00, 0x00000000, 0x0026005F, 0x00D90008, 0x00000000, 0x004B0000, 0x0025005F, 0x0023005F, 0x10402F00, 0x00000000, 0x00260075, 0x00DB0049, 0x00000000, 0x00960000, 0x00250075, 0x00230075, 0x10403300, 0x00000000, 0x00000000, 0x00DC000B, 0x00000000, 0x00640000, 0x00000000, 0x00000000, 0x10403000, 0x00000000, 0x0026007E, 0x00E00031, 0x00000000, 0x00320000, 0x0025007E, 0x0023007E, 0x10407100, 0x00000000, 0x0026007E, 0x00E00031, 0x00000000, 0x00320000, 0x0025007E, 0x0023007E, 0x10407100, 0x00000000, 0x00260071, 0x00970035, 0x00000000, 0x00960000, 0x00250071, 0x00230071, 0x10405200, 0x00000000, 0x00260072, 0x00B0003A, 0x00000000, 0x00960000, 0x00250072, 0x00230072, 0x10405B00, 0x00000000, 0x00260079, 0x00B7002A, 0x00000000, 0x00640000, 0x00250079, 0x00230079, 0x10405E00, 0x00000000, 0x00260079, 0x00B7002A, 0x00000000, 0x00640000, 0x00250079, 0x00230079, 0x10405E00, 0x00000000, 0x0026007B, 0x00BD003F, 0x00000000, 0x00FA0000, 0x0025007B, 0x0023007B, 0x10406200, 0x00000000, 0x0026007B, 0x00BD003F, 0x00000000, 0x00FA0000, 0x0025007B, 0x0023007B, 0x10406200, 0x00000000, 0x00260075, 0x00DB0049, 0x00000000, 0x00960000, 0x00250075, 0x00230075, 0x10403300, 0x00000000, 0x00260075, 0x00DB0049, 0x00000000, 0x00960000, 0x00250075, 0x00230075, 0x10403300, 0x00000000, 0x00260073, 0x00920043, 0x00000000, 0x00FA0000, 0x00250073, 0x00230073, 0x10403B00, 0x00000000, 0x00260073, 0x00920043, 0x00000000, 0x00FA0000, 0x00250073, 0x00230073, 0x10403B00, 0x00000000, 0x00260074, 0x00B30046, 0x00000000, 0x00FA0000, 0x00250074, 0x00230074, 0x10404500, 0x00000000, 0x00260074, 0x00B30046, 0x00000000, 0x00FA0000, 0x00250074, 0x00230074, 0x10404500, 0x00000000, 0x0026007A, 0x00DD002E, 0x00000000, 0x00640000, 0x0025007A, 0x0023007A, 0x10407400, 0x00000000, 0x0026007A, 0x00DD002E, 0x00000000, 0x00640000, 0x0025007A, 0x0023007A, 0x10407400, 0x00000000, 0x0026007A, 0x00DD002E, 0x00000000, 0x00640000, 0x0025007A, 0x0023007A, 0x10407400, 0x00000000, 0x0026006F, 0x00E90023, 0x00000000, 0x00640000, 0x0025006F, 0x0023006F, 0x10407500, 0x00000000, 0x0026009F, 0x00E80025, 0x00000000, 0x00640000, 0x0025009F, 0x0023009F, 0x10407600, 0x00000000, 0x0026008E, 0x00EA0073, 0x00000000, 0x001E0000, 0x0025008E, 0x0023008E, 0x10405500, 0x00000000, 0x0026008F, 0x00EB0071, 0x00000000, 0x001E0000, 0x0025008F, 0x0023008F, 0x10405600, 0x00000000, 0x00260090, 0x00EC0074, 0x00000000, 0x001E0000, 0x00250090, 0x00230090, 0x10405700, 0x00000000, 0x00260091, 0x00ED0072, 0x00000000, 0x001E0000, 0x00250091, 0x00230091, 0x10405800, 0x00000000, 0x00260092, 0x00EE0075, 0x00000000, 0x001E0000, 0x00250092, 0x00230092, 0x10405900, 0x00000000, 0x00260071, 0x00970035, 0x00000000, 0x00960000, 0x00250071, 0x00230071, 0x10405200, 0x00000000, 0x00260071, 0x00970035, 0x00000000, 0x00960000, 0x00250071, 0x00230071, 0x10405200, 0x00000000, 0x00260071, 0x00970035, 0x00000000, 0x00960000, 0x00250071, 0x00230071, 0x10405200, 0x00000000, 0x00260072, 0x00B0003A, 0x00000000, 0x00960000, 0x00250072, 0x00230072, 0x10405B00, 0x00000000, 0x00260072, 0x00B0003A, 0x00000000, 0x00960000, 0x00250072, 0x00230072, 0x10405B00, 0x00000000, 0x00260072, 0x00B0003A, 0x00000000, 0x00960000, 0x00250072, 0x00230072, 0x10405B00, 0x00000000, 0x00000000, 0x00F0005D, 0x00000000, 0x00640000, 0x00000000, 0x00000000, 0x10404A00, 0x00000000, 0x00260092, 0x00EE0075, 0x00000000, 0x001E0000, 0x00250092, 0x00230092, 0x10405900, 0x00000000, 0x00260092, 0x00EE0075, 0x00000000, 0x001E0000, 0x00250092, 0x00230092, 0x10405900, 0x00000000, 0x00260092, 0x00EE0075, 0x00000000, 0x001E0000, 0x00250092, 0x00230092, 0x10405900, 0x00000000, 0x00260092, 0x00EE0075, 0x00000000, 0x001E0000, 0x00250092, 0x00230092, 0x10405900, 0x00000000, 0x00000000, 0x01490000, 0x00000008, 0x00010000, 0x00000000, 0x00000000, 0x10400000, 0x00000000, 0x00000000, 0x00310000, 0x00000008, 0xFFFF0000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00320000, 0x00000008, 0x00010000, 0x00000000, 0x00000000, 0x02000000, 0x00000000, 0x00000000, 0x00330000, 0x00000008, 0xFFFF0000, 0x00000000, 0x00000000, 0x02000000, 0x00000000, 0x00000000, 0x00340000, 0x00000008, 0xFFFF0000, 0x00000000, 0x00000000, 0x02000000, 0x00000000, 0x00000000, 0x00350000, 0x00000008, 0xFFFF0000, 0x00000000, 0x00000000, 0x12000000, 0x00000000, 0x00000000, 0x00360000, 0x00000008, 0x00010000, 0x00000000, 0x00000000, 0x12000000, 0x00000000, 0x0026010C, 0x00370000, 0x00000008, 0x00010000, 0x00000000, 0x00000000, 0x12000000, 0x00000000, 0x00000000, 0x01400000, 0x00000008, 0x00000000, 0x00000000, 0x00000000, 0x10000000, 0x00000000, 0x00000000, 0x01410000, 0x00000008, 0x00000000, 0x00000000, 0x00000000, 0x10000000, 0x00000000, 0x00000000, 0x01420000, 0x00000008, 0x00000000, 0x00000000, 0x00000000, 0x10000000, 0x00000000, 0x00000000, 0x01430000, 0x00000008, 0x00000000, 0x00000000, 0x00000000, 0x10000000, 0x00000000, 0x00000000, 0x01440000, 0x00000008, 0x00000000, 0x00000000, 0x00000000, 0x10000000, 0x00000000, 0x00000000, 0x01450000, 0x00000008, 0x00000000, 0x00000000, 0x00000000, 0x10000000, 0x00000000, 0x00000000, 0x01460000, 0x00000008, 0x00000000, 0x00000000, 0x00000000, 0x10000000, 0x00000000, 0x00000000, 0x01470000, 0x00000008, 0x00000000, 0x00000000, 0x00000000, 0x10000000, 0x00000000, 0x00000000, 0x01480000, 0x00000008, 0x00000000, 0x00000000, 0x00000000, 0x10000000, 0x00000000, 0x00000000, 0x014A0000, 0x00000008, 0x00000000, 0x00000000, 0x00000000, 0x10000000, 0x00000000, 0x00000000, 0x014B0000, 0x00000008, 0x00000000, 0x00000000, 0x00000000, 0x10000000, 0x00000000, 0x00000000, 0x014C0000, 0x00000008, 0x00000000, 0x00000000, 0x00000000, 0x10000000, 0x00000000, 0x00000000, 0x014D0000, 0x00000008, 0x00000000, 0x00000000, 0x00000000, 0x10000000, 0x00000000, 0x00000000, 0x014E0000, 0x00000008, 0x00000000, 0x00000000, 0x00000000, 0x10000000, 0x00000000, 0x00000000, 0x014F0000, 0x00000008, 0x00000000, 0x00000000, 0x00000000, 0x10000000, 0x00000000, 0x00000000, 0x01500000, 0x00000008, 0x00000000, 0x00000000, 0x00000000, 0x10000000, 0x00000000, 0x00000000, 0x00000000, 0x800827D8, 0x80082808, 0x80082838, 0x80082868, 0x80082898, 0x800828C8, 0x800828F8, 0x80082928, 0x80082958, 0x80082988, 0x800829B8, 0x800829E8, 0x80082A18, 0x80082A48, 0x80082A78, 0x80082AA8, 0x80082AD8, 0x80082B08, 0x80082B38, 0x80082B68, 0x80082B98, 0x80082BC8, 0x80082BF8, 0x80082C28, 0x80082C58, 0x80082C88, 0x80082CB8, 0x80082CE8, 0x80082D18, 0x80082D48, 0x80082D78, 0x80082DA8, 0x80082DD8, 0x80082E08, 0x80082E38, 0x80082E68, 0x80082E98, 0x80082EC8, 0x80082EF8, 0x80082F28, 0x80082F58, 0x80082F88, 0x80082FB8, 0x80082FE8, 0x80083018, 0x80083048, 0x80083078, 0x800830A8, 0x800830D8, 0x80083108, 0x80083138, 0x80083168, 0x80083198, 0x800831C8, 0x800831F8, 0x80083228, 0x80083258, 0x80083288, 0x800832B8, 0x800832E8, 0x80083318, 0x80083348, 0x80083378, 0x800833A8, 0x800833D8, 0x80083408, 0x80083438, 0x80083468, 0x80083498, 0x800834C8, 0x800834F8, 0x80083528, 0x80083558, 0x80083588, 0x800835B8, 0x800835E8, 0x80083618, 0x80083648, 0x80083678, 0x800836A8, 0x800836D8, 0x80083708, 0x80083738, 0x80083768, 0x80083798, 0x800837C8, 0x800837F8, 0x80083828, 0x80083858, 0x80083888, 0x800838B8, 0x800838E8, 0x80083918, 0x80083948, 0x80083978, 0x800839A8, 0x80080820, 0x80080820, 0x80080868, 0x80080868, 0x800807F0, 0x800807F0, 0x80080FF0, 0x80080FF0, 0x800811A0, 0x800811A0, 0x80081200, 0x80081200, 0x80081260, 0x80081260, 0x800812D8, 0x800812D8, 0x80081308, 0x80081308, 0x80081338, 0x80081338, 0x80081368, 0x80081368, 0x80081398, 0x80081398, 0x800813C8, 0x800813C8, 0x800813F8, 0x800813F8, 0x80081428, 0x80081428, 0x80081458, 0x80081458, 0x80081488, 0x80081488, 0x800814B8, 0x800814B8, 0x800814E8, 0x800814E8, 0x80081518, 0x80081518, 0x80081548, 0x80081548, 0x80081578, 0x80081578, 0x800815A8, 0x800815A8, 0x800815D8, 0x800815D8, 0x80081608, 0x80081608, 0x80081638, 0x80081638, 0x80081668, 0x80081668, 0x80081698, 0x80081698, 0x800816C8, 0x800816C8, 0x800816F8, 0x800816F8, 0x80081728, 0x80081728, 0x80081758, 0x80081758, 0x80081788, 0x80081788, 0x800817B8, 0x800817B8, 0x800817E8, 0x800817E8, 0x80081818, 0x80081818, 0x80081848, 0x80081848, 0x80081878, 0x80081878, 0x800818A8, 0x800818A8, 0x800818D8, 0x800818D8, 0x80081908, 0x80081908, 0x80081938, 0x80081938, 0x80081968, 0x80081968, 0x80081998, 0x80081998, 0x800819C8, 0x800819C8, 0x800819F8, 0x800819F8, 0x80081A28, 0x80081A28, 0x80081A58, 0x80081A58, 0x80081A88, 0x80081A88, 0x80081AB8, 0x80081AB8, 0x80081AE8, 0x80081AE8, 0x80081B18, 0x80081B18, 0x80081B48, 0x80081B48, 0x80081B78, 0x80081B78, 0x80081BA8, 0x80081BA8, 0x80081BD8, 0x80081BD8, 0x80081C08, 0x80081C08, 0x80081C38, 0x80081C38, 0x80081C68, 0x80081C68, 0x80081C98, 0x80081C98, 0x80081CC8, 0x80081CC8, 0x80081CF8, 0x80081CF8, 0x80081D28, 0x80081D28, 0x80081D58, 0x80081D58, 0x80081D88, 0x80081D88, 0x80081DB8, 0x80081DB8, 0x80081DE8, 0x80081DE8, 0x80081E18, 0x80081E18, 0x80081E48, 0x80081E48, 0x80081E78, 0x80081E78, 0x80081EA8, 0x80081EA8, 0x80081ED8, 0x80081ED8, 0x80081F08, 0x80081F08, 0x80081F38, 0x80081F38, 0x80081F68, 0x80081F68, 0x80081F98, 0x80081F98, 0x80081FC8, 0x80081FC8, 0x80081FF8, 0x80081FF8, 0x80082028, 0x80082028, 0x80082058, 0x80082058, 0x80082088, 0x80082088, 0x800820B8, 0x800820B8, 0x800820E8, 0x800820E8, 0x80082118, 0x80082118, 0x80082148, 0x80082148, 0x80082178, 0x80082178, 0x800821A8, 0x800821A8, 0x800821D8, 0x80082208, 0x80082238, 0x80082268, 0x80082298, 0x800822C8, 0x800822F8, 0x80082328, 0x80082358, 0x80082388, 0x800823B8, 0x800823E8, 0x80082418, 0x80082448, 0x80082478, 0x800824A8, 0x800839D8, 0x80083A08, 0x80083A38, 0x80083A68, 0x80083A98, 0x80083AC8, 0x80083AF8, 0x80083B28, 0x80083B58, 0x80083B88, 0x80083BB8, 0x80083BE8, 0x80083C18, 0x80083C48, 0x80083C78, 0x80083CA8, 0x80083CD8, 0x80083D08, 0x80083D38, 0x80083D68, 0x80083D98, 0x80083DC8, 0x80083DF8, 0x80083E28, 0x80083E58, 0x80083E88, 0x80083EB8, 0x80083EE8, 0x80083F18, 0x80083F48, 0x80083F78, 0x80083FA8, 0x80083FD8, 0x80084008, 0x80084038, 0x80084068, 0x80084098, 0x800840C8, 0x800840F8, 0x80084128, 0x80084158, 0x80084188, 0x800841B8, 0x800841E8, 0x80084218, 0x80084248, 0x80084278, 0x800842A8, 0x800842D8, 0x80084308, 0x80084338, 0x80084368, 0x80084398, 0x800843C8, 0x800843F8, 0x80084428, 0x80084458, 0x80084488, 0x800844B8, 0x800844E8, 0x80084518, 0x80084548, 0x80084578, 0x800845A8, 0x800845D8, 0x80084608, 0x80084638, 0x80084668, 0x80084698, 0x800846C8, 0x800846F8, 0x80084728, 0x80084758, 0x80084788, 0x800847B8, 0x800847E8, 0x80084818, 0x80084848, 0x80084878, 0x800848A8, 0x800848D8, 0x80084908, 0x80084938, 0x80084968, 0x80084998, 0x800849C8, 0x800849F8, 0x80084A28, 0x80084A58, 0x80084A88, 0x80084AB8, 0x80084AE8, 0x80084B18, 0x80084B48, 0x80084B78, 0x80084BA8, 0x80084BD8, 0x80084C08, 0x80084C38, 0x80084C68, 0x80084C98, 0x80084CC8, 0x80084CF8, 0x80084D28, 0x80084D58, 0x80084D88, 0x80084DB8, 0x80084DE8, 0x80084E18, 0x80084E48, 0x80084E78, 0x80084EA8, 0x80084ED8, 0x80084F08, 0x80084F38, 0x80084F68, 0x80084F98, 0x80084FC8, 0x80084FF8, 0x80085028, 0x80085058, 0x80085088, 0x800850B8, 0x800850E8, 0x80085118, 0x80085148, 0x80085178, 0x800851A8, 0x800851D8, 0x80085208, 0x80085238, 0x80085268, 0x80085298, 0x800852C8, 0x800852F8, 0x80085328, 0x80085358, 0x80085388, 0x800853B8, 0x800853E8, 0x80085418, 0x80085448, 0x80085478, 0x800854A8, 0x800854D8, 0x80085508, 0x80085538, 0x80085568, 0x80085598, 0x800855C8, 0x800855F8, 0x80085628, 0x80085658, 0x80085688, 0x800856B8, 0x800856E8, 0x80085718, 0x80085748, 0x80085778, 0x800857A8, 0x800857D8, 0x80085808, 0x80085838, 0x80085868, 0x80085898, 0x800858C8, 0x800858F8, 0x80085928, 0x80085958, 0x80085988, 0x800859B8, 0x800859E8, 0x80085A18, 0x80085A48, 0x80085A78, 0x80085AA8, 0x80085AD8, 0x80085B08, 0x80085B38, 0x80085B68, 0x80085B98, 0x80085BC8, 0x80085BF8, 0x80085C28, 0x80085C58, 0x80085C88, 0x80085CB8, 0x80085CE8, 0x80085D18, 0x80085D48, 0x80085D78, 0x80085DA8, 0x80085DD8, 0x80085E08, 0x80085E38, 0x80085E68, 0x80085E98, 0x80085EC8, 0x80085EF8, 0x80085F28, 0x80085F58, 0x80085F88, 0x80085FB8, 0x80085FE8, 0x80086018, 0x80086048, 0x80086078, 0x800860A8, 0x800866D8, 0x80086708, 0x80086738, 0x80086768, 0x80086798, 0x800867C8, 0x800867F8, 0x80086828, 0x80086858, 0x80086888, 0x800868B8, 0x800868E8, 0x80086918, 0x80086948, 0x80086978, 0x800869A8, 0x800869D8, 0x80086A08, 0x80086A38, 0x80086A68, 0x80086A98, 0x80086AC8, 0x80086AF8, 0x80086B28, 0x80086B58, 0x80086B88, 0x80086BB8, 0x80086BE8, 0x80086C18, 0x80086C48, 0x80086C78, 0x80086CA8, 0x80086CD8, 0x80086D08, 0x80086D38, 0x80086D68, 0x80086D98, 0x80086DC8, 0x80086DF8, 0x80086E28, 0x80086E58, 0x80086E88, 0x80086EB8, 0x80086EE8, 0x80086F18, 0x80086F48, 0x80086F78, 0x80086FA8, 0x80086FD8, 0x80087008, 0x80087038, 0x80087068, 0x80087098, 0x800870C8, 0x800870F8, 0x80087128, 0x80087158, 0x80087188, 0x800871B8, 0x800871E8, 0x80087218, 0x80087248, 0x80087278, 0x800872A8, 0x800872D8, 0x80087308, 0x80087338, 0x80087368, 0x80087398, 0x800873C8, 0x800873F8, 0x80087428, 0x80087458, 0x80087488, 0x800874B8, 0x800874E8, 0x80087518, 0x80087548, 0x80087578, 0x800875A8, 0x800860D8, 0x80086108, 0x80086138, 0x80086168, 0x80086198, 0x800861C8, 0x800861F8, 0x80086228, 0x80086258, 0x80086288, 0x800862B8, 0x800862E8, 0x80086318, 0x80086348, 0x80086378, 0x800863A8, 0x800863D8, 0x80086408, 0x80086438, 0x80086468, 0x80086498, 0x800864C8, 0x800864F8, 0x80086528, 0x80086558, 0x80086588, 0x800865B8, 0x800865E8, 0x80086618, 0x80086648, 0x80086678, 0x800866A8, 0x800875D8, 0x80087608, 0x80087638, 0x80087668, 0x80087698, 0x800876C8, 0x800876F8, 0x80087728, 0x80087758, 0x80087788, 0x800877B8, 0x800877E8, 0x80087818, 0x80087848, 0x80087878, 0x800878A8, 0x800824D8, 0x80082508, 0x80082538, 0x80082568, 0x80082598, 0x800825C8, 0x800825F8, 0x80082628, 0x80082658, 0x80082688, 0x800826B8, 0x800826E8, 0x80082718, 0x80082748, 0x80082778, 0x800827A8, 0x800804F0, 0x800804F0, 0x80080520, 0x80080520, 0x80080550, 0x80080550, 0x80080580, 0x80080580, 0x800805B0, 0x800805B0, 0x800805E0, 0x800805E0, 0x80080610, 0x80080610, 0x80080640, 0x80080640, 0x80080670, 0x80080670, 0x80109338, 0x801093D8, 0x800806A0, 0x800806A0, 0x800806D0, 0x800806D0, 0x80080700, 0x80080700, 0x80080730, 0x80080730, 0x80080760, 0x80080760, 0x80080790, 0x80080790, 0x800807C0, 0x800807C0, 0x00000001, 0x000000FF, 0x00000000, 0x00000200, 0x00000000, 0x00000000, 0x00000000, 0x00000001, 0x000000FF, 0x00000000, 0x00000200, 0x00000000, 0x00000000, 0x00000000, 0x00000001, 0x000000FF, 0x00000220, 0x00000420, 0x00000000, 0x00000000, 0x00000000, 0x00000001, 0x000000FF, 0x00000440, 0x00000640, 0x00000000, 0x00000000, 0x00000000, 0x00000001, 0x000000FF, 0x00000660, 0x00000860, 0x00000000, 0x00000000, 0x00000000, 0x00000001, 0x000000FF, 0x00000880, 0x00000A80, 0x00000000, 0x00000000, 0x00000000, 0x00000001, 0x000000FF, 0x00000AA0, 0x00000CA0, 0x00000000, 0x00000000, 0x00000000, 0x00000001, 0x000000FF, 0x00000CC0, 0x00000EC0, 0x00000000, 0x00000000, 0x00000000, 0x00000001, 0x000000FF, 0x00000EE0, 0x000010E0, 0x00000000, 0x00000000, 0x00000000, 0x00000001, 0x000000FF, 0x00001100, 0x00001300, 0x00000000, 0x00000000, 0x00000000, 0x00000001, 0x000000FF, 0x0002D940, 0x0002DB40, 0x00000000, 0x00000000, 0x00000000, 0x00000001, 0x000000FF, 0x0002DB80, 0x0002DD80, 0x00000000, 0x00000000, 0x00000000, 0x00000001, 0x000000FF, 0x0002DDC0, 0x0002DFC0, 0x00000000, 0x00000000, 0x00000000, 0x00000001, 0x000000FF, 0x0002E000, 0x0002E200, 0x00000000, 0x00000000, 0x00000000, 0x00000001, 0x000000FF, 0x0002E240, 0x0002E440, 0x00000000, 0x00000000, 0x00000000, 0x00000001, 0x000000FF, 0x0002E480, 0x0002E680, 0x00000000, 0x00000000, 0x00000000, 0x00000001, 0x000000FF, 0x0002E6C0, 0x0002E8C0, 0x00000000, 0x00000000, 0x00000000, 0x00000001, 0x0000003C, 0x00013BC0, 0x00013DC0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00013E00, 0x00014000, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00014040, 0x00014240, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00014280, 0x00014480, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x000144C0, 0x000146C0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00014700, 0x00014900, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00014940, 0x00014B40, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00014B80, 0x00014D80, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00001320, 0x00001520, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00001540, 0x00001740, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00001760, 0x00001960, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00001980, 0x00001B80, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00001BA0, 0x00001DA0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00001DC0, 0x00001FC0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00001FE0, 0x000021E0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00002200, 0x00002400, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00009020, 0x00009220, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00009240, 0x00009440, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00009460, 0x00009660, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00009680, 0x00009880, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x000098A0, 0x00009AA0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00009AC0, 0x00009CC0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00009CE0, 0x00009EE0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00009F00, 0x0000A100, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0000A120, 0x0000A320, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0000A340, 0x0000A540, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0000A560, 0x0000A760, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0000A780, 0x0000A980, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0000A9A0, 0x0000ABA0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0000ABC0, 0x0000ADC0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0000ADE0, 0x0000AFE0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0000B000, 0x0000B200, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0000B220, 0x0000B420, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0000B440, 0x0000B640, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0000B660, 0x0000B860, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0000B880, 0x0000BA80, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0000BAA0, 0x0000BCA0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0000BCC0, 0x0000BEC0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0000BEE0, 0x0000C0E0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0000C100, 0x0000C300, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0000C320, 0x0000C520, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0000C540, 0x0000C740, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0000C760, 0x0000C960, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0000C980, 0x0000CB80, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0000CBA0, 0x0000CDA0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0000CDC0, 0x0000CFC0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0000CFE0, 0x0000D1E0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0000D200, 0x0000D400, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0000D420, 0x0000D620, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0000D640, 0x0000D840, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0000D860, 0x0000DA60, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0000DAA0, 0x0000DCA0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0000DCC0, 0x0000DEC0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0000DEE0, 0x0000E0E0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0000E100, 0x0000E300, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0000E320, 0x0000E520, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0000E540, 0x0000E740, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0000E760, 0x0000E960, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0000E980, 0x0000EB80, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0000EBC0, 0x0000EDC0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0000EDE0, 0x0000EFE0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0000F000, 0x0000F200, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0000F220, 0x0000F420, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0000F440, 0x0000F640, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0000F660, 0x0000F860, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0000F880, 0x0000FA80, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0000FAA0, 0x0000FCA0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0000FCE0, 0x0000FEE0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0000FF00, 0x00010100, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00010120, 0x00010320, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00010340, 0x00010540, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00010560, 0x00010760, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00010780, 0x00010980, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x000109A0, 0x00010BA0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00010BC0, 0x00010DC0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00010E00, 0x00011000, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00011020, 0x00011220, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00011240, 0x00011440, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00011460, 0x00011660, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00011680, 0x00011880, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x000118A0, 0x00011AA0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00011AC0, 0x00011CC0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00011CE0, 0x00011EE0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00011F20, 0x00012120, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00012140, 0x00012340, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00012360, 0x00012560, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00012580, 0x00012780, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x000127A0, 0x000129A0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x000129C0, 0x00012BC0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00012C00, 0x00012E00, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00012E40, 0x00013040, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00013080, 0x00013280, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x000132C0, 0x000134C0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00013500, 0x00013700, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00013740, 0x00013940, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00013980, 0x00013B80, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00014DC0, 0x00014FC0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00015000, 0x00015200, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00015240, 0x00015440, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00015480, 0x00015680, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x000156C0, 0x000158C0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00015900, 0x00015B00, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00015B40, 0x00015D40, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00015D80, 0x00015F80, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00015FC0, 0x000161C0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00016200, 0x00016400, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00016440, 0x00016640, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00016680, 0x00016880, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x000168C0, 0x00016AC0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00016B00, 0x00016D00, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00016D40, 0x00016F40, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00016F80, 0x00017180, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x000171C0, 0x000173C0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00017400, 0x00017600, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00017640, 0x00017840, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00017880, 0x00017A80, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00017AC0, 0x00017CC0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00017D00, 0x00017F00, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00017F40, 0x00018140, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00018180, 0x00018380, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x000183C0, 0x000185C0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00018600, 0x00018800, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00018840, 0x00018A40, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00018A80, 0x00018C80, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00018CC0, 0x00018EC0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00018F00, 0x00019100, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00019140, 0x00019340, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00019380, 0x00019580, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x000195C0, 0x000197C0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00019800, 0x00019A00, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00019A40, 0x00019C40, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00019C80, 0x00019E80, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00019EC0, 0x0001A0C0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0001A100, 0x0001A300, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0001A340, 0x0001A540, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0001A580, 0x0001A780, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0001A7C0, 0x0001A9C0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0001AA00, 0x0001AC00, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0001AC40, 0x0001AE40, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0001AE80, 0x0001B080, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0001B0C0, 0x0001B2C0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0001B300, 0x0001B500, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0001B540, 0x0001B740, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0001B780, 0x0001B980, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0001B9C0, 0x0001BBC0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0001BC00, 0x0001BE00, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0001BE40, 0x0001C040, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0001C080, 0x0001C280, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0001C2C0, 0x0001C4C0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0001C500, 0x0001C700, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0001C740, 0x0001C940, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0001C980, 0x0001CB80, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0001CBC0, 0x0001CDC0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0001CE00, 0x0001D000, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0001D040, 0x0001D240, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0001D280, 0x0001D480, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0001D4C0, 0x0001D6C0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0001D700, 0x0001D900, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0001D940, 0x0001DB40, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0001DB80, 0x0001DD80, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0001DDC0, 0x0001DFC0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0001E000, 0x0001E200, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0001E240, 0x0001E440, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0001E480, 0x0001E680, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0001E6C0, 0x0001E8C0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0001E900, 0x0001EB00, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0001EB40, 0x0001ED40, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0001ED80, 0x0001EF80, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0001EFC0, 0x0001F1C0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0001F200, 0x0001F400, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0001F440, 0x0001F640, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0001F680, 0x0001F880, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0001F8C0, 0x0001FAC0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0001FB00, 0x0001FD00, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0001FD40, 0x0001FF40, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0001FF80, 0x00020180, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x000201C0, 0x000203C0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00020400, 0x00020600, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00020640, 0x00020840, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00020880, 0x00020A80, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00020AC0, 0x00020CC0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00020D00, 0x00020F00, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00020F40, 0x00021140, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00021180, 0x00021380, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x000213C0, 0x000215C0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00021600, 0x00021800, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00021840, 0x00021A40, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00021A80, 0x00021C80, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00021CC0, 0x00021EC0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00021F00, 0x00022100, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00022140, 0x00022340, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00022380, 0x00022580, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x000225C0, 0x000227C0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00022800, 0x00022A00, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00022A40, 0x00022C40, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00022C80, 0x00022E80, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00022EC0, 0x000230C0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00023100, 0x00023300, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00023340, 0x00023540, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00023580, 0x00023780, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000000A, 0x00030A60, 0x00030B80, 0x00000000, 0x00000000, 0x00000001, 0x00000006, 0x00030BA0, 0x00030CC0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000003, 0x00000001, 0x00000003, 0x0002F5C0, 0x0002F6E0, 0x00000000, 0x00000000, 0x00000001, 0x00000003, 0x0002F700, 0x0002F820, 0x00000000, 0x00000000, 0x00000001, 0x00000003, 0x0002FAC0, 0x0002FBE0, 0x00000000, 0x00000000, 0x00000001, 0x00000003, 0x0002FC00, 0x0002FD20, 0x00000000, 0x00000000, 0x00000001, 0x00000003, 0x0002FD40, 0x0002FE60, 0x00000000, 0x00000000, 0x00000001, 0x00000003, 0x0002FE80, 0x0002FFA0, 0x00000000, 0x00000000, 0x00000001, 0x00000003, 0x0002FFC0, 0x000300E0, 0x00000000, 0x00000000, 0x00000001, 0x00000003, 0x00030100, 0x00030220, 0x00000000, 0x00000000, 0x00000004, 0x00000064, 0x00000032, 0x00000001, 0x00000003, 0x0002F5C0, 0x0002F6E0, 0x00000000, 0x00000000, 0x00000001, 0x00000002, 0x0002F700, 0x0002F820, 0x00000000, 0x00000000, 0x00000001, 0x00000001, 0x0002F840, 0x0002F960, 0x00000000, 0x00000000, 0x00000001, 0x00000001, 0x0002F980, 0x0002FAA0, 0x00000000, 0x00000000, 0x00000001, 0x00000002, 0x0002FAC0, 0x0002FBE0, 0x00000000, 0x00000000, 0x00000001, 0x00000003, 0x0002FC00, 0x0002FD20, 0x00000000, 0x00000000, 0x00000001, 0x00000003, 0x0002FD40, 0x0002FE60, 0x00000000, 0x00000000, 0x00000001, 0x00000003, 0x0002FE80, 0x0002FFA0, 0x00000000, 0x00000000, 0x00000001, 0x00000003, 0x0002FFC0, 0x000300E0, 0x00000000, 0x00000000, 0x00000001, 0x00000003, 0x00030100, 0x00030220, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00030CE0, 0x00030E00, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000002, 0x00030E20, 0x00030F40, 0x00000000, 0x00000000, 0x00000001, 0x00000002, 0x00030F60, 0x00031080, 0x00000000, 0x00000000, 0x00000001, 0x00000002, 0x000310A0, 0x000311C0, 0x00000000, 0x00000000, 0x00000001, 0x00000002, 0x000311E0, 0x00031300, 0x00000000, 0x00000000, 0x00000001, 0x00000002, 0x00031320, 0x00031440, 0x00000000, 0x00000000, 0x00000001, 0x00000002, 0x00031460, 0x00031580, 0x00000000, 0x00000000, 0x00000001, 0x00000002, 0x000315A0, 0x000316C0, 0x00000000, 0x00000000, 0x00000001, 0x00000002, 0x000316E0, 0x00031800, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000008, 0x0002E900, 0x0002EB00, 0x00000000, 0x00000000, 0x00000001, 0x00000005, 0x0002EB20, 0x0002ED20, 0x00000000, 0x00000000, 0x00000001, 0x00000008, 0x0002ED40, 0x0002EF40, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000008, 0x0002EF60, 0x0002F160, 0x00000000, 0x00000000, 0x00000001, 0x00000005, 0x0002F180, 0x0002F380, 0x00000000, 0x00000000, 0x00000001, 0x00000008, 0x0002F3A0, 0x0002F5A0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000000C, 0x00030400, 0x00030600, 0x00000000, 0x00000000, 0x00000001, 0x00000004, 0x00030620, 0x00030820, 0x00000000, 0x00000000, 0x00000001, 0x0000000C, 0x00030840, 0x00030A40, 0x00000000, 0x00000000, 0x00000001, 0x00000004, 0x00030620, 0x00030820, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00002420, 0x00002620, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00002660, 0x00002860, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x000028A0, 0x00002AA0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00002AE0, 0x00002CE0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00002D20, 0x00002F20, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00002F60, 0x00003160, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x000031A0, 0x000033A0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x000033E0, 0x000035E0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00003620, 0x00003820, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00003860, 0x00003A60, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00003AA0, 0x00003CA0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00003CE0, 0x00003EE0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00003F20, 0x00004120, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00004160, 0x00004360, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x000043A0, 0x000045A0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x000045E0, 0x000047E0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00004820, 0x00004A20, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00004A60, 0x00004C60, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00004CA0, 0x00004EA0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00004EE0, 0x000050E0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00005120, 0x00005320, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00005360, 0x00005560, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x000055A0, 0x000057A0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x000057E0, 0x000059E0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00005A20, 0x00005C20, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00005C60, 0x00005E60, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00005EA0, 0x000060A0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x000060E0, 0x000062E0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00006320, 0x00006520, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00006560, 0x00006760, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x000067A0, 0x000069A0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x000069E0, 0x00006BE0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00006C20, 0x00006E20, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00006E60, 0x00007060, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x000070A0, 0x000072A0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x000072E0, 0x000074E0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00007520, 0x00007720, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00007760, 0x00007960, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x000079A0, 0x00007BA0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00007BE0, 0x00007DE0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00007E20, 0x00008020, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00008060, 0x00008260, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x000082A0, 0x000084A0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x000084E0, 0x000086E0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00008720, 0x00008920, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00008960, 0x00008B60, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00008BA0, 0x00008DA0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00008DE0, 0x00008FE0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0002A3C0, 0x0002A5C0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0002A600, 0x0002A800, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0002A840, 0x0002AA40, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0002AA80, 0x0002AC80, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0002ACC0, 0x0002AEC0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0002AF00, 0x0002B100, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0002B140, 0x0002B340, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0002B380, 0x0002B580, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0002B5C0, 0x0002B7C0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0002B800, 0x0002BA00, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0002BA40, 0x0002BC40, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0002BC80, 0x0002BE80, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0002BEC0, 0x0002C0C0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0002C100, 0x0002C300, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0002C340, 0x0002C540, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0002C580, 0x0002C780, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x000237C0, 0x000239C0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00023A00, 0x00023C00, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00023C40, 0x00023E40, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00023E80, 0x00024080, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x000240C0, 0x000242C0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00024300, 0x00024500, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00024540, 0x00024740, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00024780, 0x00024980, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x000249C0, 0x00024BC0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00024C00, 0x00024E00, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00024E40, 0x00025040, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00025080, 0x00025280, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x000252C0, 0x000254C0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00025500, 0x00025700, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00025740, 0x00025940, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00025980, 0x00025B80, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00025BC0, 0x00025DC0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00025E00, 0x00026000, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00026040, 0x00026240, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00026280, 0x00026480, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x000264C0, 0x000266C0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00026700, 0x00026900, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00026940, 0x00026B40, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00026B80, 0x00026D80, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00026DC0, 0x00026FC0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00027000, 0x00027200, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00027240, 0x00027440, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00027480, 0x00027680, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x000276C0, 0x000278C0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00027900, 0x00027B00, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00027B40, 0x00027D40, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00027D80, 0x00027F80, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00027FC0, 0x000281C0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00028200, 0x00028400, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00028440, 0x00028640, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00028680, 0x00028880, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x000288C0, 0x00028AC0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00028B00, 0x00028D00, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00028D40, 0x00028F40, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00028F80, 0x00029180, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x000291C0, 0x000293C0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00029400, 0x00029600, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00029640, 0x00029840, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00029880, 0x00029A80, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00029AC0, 0x00029CC0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00029D00, 0x00029F00, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00029F40, 0x0002A140, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0002A180, 0x0002A380, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x8008B108, 0x8008B3E4, 0x8008B404, 0x8008B424, 0x8008B444, 0x8008B464, 0x8008B484, 0x8008B4A4, 0x8008B108, 0x8008B108, 0x8008BBE4, 0x8008BC04, 0x8008BC24, 0x8008BC44, 0x8008BC64, 0x8008B924, 0x8008B4E4, 0x8008B504, 0x8008B5C4, 0x8008B524, 0x8008B544, 0x8008B664, 0x8008B624, 0x8008B644, 0x8008B604, 0x8008B5A4, 0x8008B564, 0x8008B684, 0x8008B6E4, 0x8008B704, 0x8008B884, 0x8008B724, 0x8008B744, 0x8008B764, 0x8008B6C4, 0x8008B784, 0x8008B7A4, 0x8008B7C4, 0x8008B7E4, 0x8008BC84, 0x8008B984, 0x8008B9A4, 0x8008B9C4, 0x8008B804, 0x8008B824, 0x8008B844, 0x8008B864, 0x8008B944, 0x8008B964, 0x8008B9E4, 0x8008BA04, 0x8008BA24, 0x8008BA44, 0x8008BDE4, 0x8008BDE4, 0x8008BDE4, 0x8008BDE4, 0x8008BDE4, 0x8008BDE4, 0x8008BDE4, 0x8008BDE4, 0x8008BDE4, 0x8008BDE4, 0x8008BDE4, 0x8008BDE4, 0x8008BDE4, 0x8008BDE4, 0x8008BDE4, 0x8008BDE4, 0x8008BDE4, 0x8008BDE4, 0x8008BDE4, 0x8008BDE4, 0x8008BDE4, 0x8008BDE4, 0x8008BDE4, 0x8008BDE4, 0x8008BDE4, 0x8008BDE4, 0x8008BDE4, 0x8008BDE4, 0x8008BDE4, 0x8008BDE4, 0x8008B5E4, 0x8008BDE4, 0x8008BDE4, 0x8008B584, 0x8008B8A4, 0x8008B8C4, 0x8008B8E4, 0x8008B904, 0x8008B604, 0x8008BD04, 0x8008DB94, 0x8008DB74, 0x8008DBB4, 0x8008DBD4, 0x8008DBF4, 0x8008DC14, 0x8008DC34, 0x8008DC54, 0x8008DC74, 0x8008DC94, 0x8008BAC4, 0x8008BAA4, 0x8008BAE4, 0x8008BB44, 0x8008B744, 0x8008BB04, 0x8008BB24, 0x8008BCE4, 0x8008BD24, 0x8008BD44, 0x8008BD64, 0x8008BD84, 0x8008BDA4, 0x8008BDC4, 0x8008BDA4, 0x8008BA64, 0x8008BA84, 0x8008BB44, 0x8008B744, 0x8008B744, 0x8008BCC4, 0x8008BCA4, 0x8008B108, 0x8008B108, 0x8008B108, 0x8008D5D4, 0x8008D5F4, 0x8008D614, 0x8008D654, 0x8008D634, 0x8008D694, 0x8008D674, 0x8008B384, 0x8008D6D4, 0x8008D874, 0x8008D7D4, 0x8008D6F4, 0x8008D7F4, 0x8008D854, 0x8008D814, 0x8008DCD4, 0x8008DD14, 0x8008DD34, 0x8008DD54, 0x8008DB34, 0x8008DB54, 0x8008D834, 0x8008B344, 0x8008B364, 0x8008B324, 0x8008B2E4, 0x8008DD74, 0x8008D894, 0x8008D9B4, 0x8008D994, 0x8008D8B4, 0x8008D8D4, 0x8008D8F4, 0x8008D914, 0x8008DB14, 0x8008DAF4, 0x8008DAD4, 0x8008D934, 0x8008D954, 0x8008D974, 0x8008D9D4, 0x8008D9F4, 0x8008DA14, 0x8008DA34, 0x8008DA54, 0x8008DA74, 0x8008DA94, 0x8008DAB4, 0x8008CFD4, 0x8008CFF4, 0x8008D014, 0x8008D034, 0x8008D054, 0x8008D074, 0x8008D094, 0x8008D0B4, 0x8008D0D4, 0x8008D0F4, 0x8008D114, 0x8008D174, 0x8008D134, 0x8008D154, 0x8008D194, 0x8008D1B4, 0x8008D1D4, 0x8008D1F4, 0x8008D214, 0x8008D234, 0x8008D254, 0x8008D274, 0x8008D294, 0x8008D2B4, 0x8008D2D4, 0x8008D2F4, 0x8008D314, 0x8008D334, 0x8008D354, 0x8008D374, 0x8008D394, 0x8008D3B4, 0x8008D3D4, 0x8008D3F4, 0x8008D414, 0x8008D434, 0x8008D454, 0x8008D474, 0x8008D494, 0x8008D4B4, 0x8008D4D4, 0x8008D4F4, 0x8008D514, 0x8008B108, 0x8008B108, 0x8008B108, 0x8008B108, 0x8008B108, 0x8008BEE4, 0x8008BF04, 0x8008BF24, 0x8008BF44, 0x8008BF64, 0x8008BF84, 0x8008BFA4, 0x8008BFC4, 0x8008BFE4, 0x8008C004, 0x8008B108, 0x8008C064, 0x8008C0E4, 0x8008C944, 0x8008C164, 0x8008C1A4, 0x8008C1E4, 0x8008C204, 0x8008C224, 0x8008C244, 0x8008C264, 0x8008C284, 0x8008C2A4, 0x8008C2C4, 0x8008C2E4, 0x8008C304, 0x8008C324, 0x8008C344, 0x8008C364, 0x8008C384, 0x8008C3A4, 0x8008C3C4, 0x8008C3E4, 0x8008C404, 0x8008C424, 0x8008C444, 0x8008C464, 0x8008C484, 0x8008C4A4, 0x8008C1C4, 0x8008C044, 0x8008C084, 0x8008C104, 0x8008C0A4, 0x8008C124, 0x8008C704, 0x8008C144, 0x8008C0C4, 0x8008C764, 0x8008C724, 0x8008C744, 0x8008C604, 0x8008C5A4, 0x8008C5C4, 0x8008C624, 0x8008C024, 0x8008C184, 0x8008C4C4, 0x8008C644, 0x8008C664, 0x8008C6C4, 0x8008C684, 0x8008C6E4, 0x8008C6A4, 0x8008C5E4, 0x8008C4E4, 0x8008C504, 0x8008C524, 0x8008C544, 0x8008C564, 0x8008C584, 0x8008B108, 0x8008B108, 0x8008C8E4, 0x8008C904, 0x8008C7E4, 0x8008B108, 0x8008C924, 0x8008C824, 0x8008C804, 0x8008C844, 0x8008C864, 0x8008C8E4, 0x8008C904, 0x8008BFC4, 0x8008C2E4, 0x8008C3C4, 0x8008C3C4, 0x8008C484, 0x8008C484, 0x8008C844, 0x8008C844, 0x8008BF24, 0x8008BF24, 0x8008C344, 0x8008C344, 0x8008C884, 0x8008C884, 0x8008C884, 0x8008CA04, 0x8008C9E4, 0x8008CA24, 0x8008CA44, 0x8008CA64, 0x8008CA84, 0x8008CAA4, 0x8008BFC4, 0x8008BFC4, 0x8008BFC4, 0x8008C2E4, 0x8008C2E4, 0x8008C2E4, 0x8008CAE4, 0x8008B108, 0x8008B108, 0x8008B108, 0x8008B108, 0x8008B108, 0x8008CBE4, 0x8008CC1C, 0x8008CDE4, 0x8008CE04, 0x8008CECC, 0x8008CF1C, 0x8008CF6C, 0x8008B124, 0x8008B140, 0x8008B15C, 0x8008B178, 0x8008B194, 0x8008B1B0, 0x8008B1CC, 0x8008B1E8, 0x8008B204, 0x8008B220, 0x8008B23C, 0x8008B258, 0x8008B274, 0x8008B290, 0x8008B2AC, 0x8008B2C8, 0x8008B108, 0x8008B108, 0x8008B108, 0x8008B108, 0x8008B108, 0x8008B108, 0x8008B108, 0x8008B108, 0x8008B108, 0x8008B108, 0x8008B108, 0x8008B108, 0x8008B108, 0x8008B108, 0x8008B108, 0x8008B108, 0x8008B108, 0x8008B108, 0x8008B108, 0x8008B108, 0x00000000, 0x00001320, 0x00001540, 0x00001760, 0x00001980, 0x00001BA0, 0x00001DC0, 0x00001FE0, 0x00000000, 0x00000000, 0x00010780, 0x000109A0, 0x00010BC0, 0x00010E00, 0x00011020, 0x0000D860, 0x00009020, 0x00009240, 0x00009F00, 0x00009460, 0x00009680, 0x0000A9A0, 0x0000A560, 0x0000A780, 0x0000A340, 0x00009CE0, 0x000098A0, 0x0000ABC0, 0x0000B220, 0x0000B440, 0x0000CDC0, 0x0000B660, 0x0000B880, 0x0000BAA0, 0x0000B000, 0x0000BCC0, 0x0000BEE0, 0x0000C100, 0x0000C320, 0x00011240, 0x0000DEE0, 0x0000E100, 0x0000E320, 0x0000C540, 0x0000C760, 0x0000C980, 0x0000CBA0, 0x0000DAA0, 0x0000DCC0, 0x0000E540, 0x0000E760, 0x0000E980, 0x0000EBC0, 0x000129C0, 0x000129C0, 0x000129C0, 0x000129C0, 0x000129C0, 0x000129C0, 0x000129C0, 0x000129C0, 0x000129C0, 0x000129C0, 0x000129C0, 0x000129C0, 0x000129C0, 0x000129C0, 0x000129C0, 0x000129C0, 0x000129C0, 0x000129C0, 0x000129C0, 0x000129C0, 0x000129C0, 0x000129C0, 0x000129C0, 0x000129C0, 0x000129C0, 0x000129C0, 0x000129C0, 0x000129C0, 0x000129C0, 0x000129C0, 0x0000A120, 0x000129C0, 0x000129C0, 0x00009AC0, 0x0000CFE0, 0x0000D200, 0x0000D420, 0x0000D640, 0x0000A340, 0x00011AC0, 0x00027B40, 0x00027900, 0x00027D80, 0x00027FC0, 0x00028200, 0x00028440, 0x00028680, 0x000288C0, 0x00028B00, 0x00028D40, 0x0000F440, 0x0000F220, 0x0000F660, 0x0000FCE0, 0x0000B880, 0x0000F880, 0x0000FAA0, 0x000118A0, 0x00011CE0, 0x00011F20, 0x00012140, 0x00012360, 0x00012580, 0x000127A0, 0x00012580, 0x0000EDE0, 0x0000F000, 0x0000FCE0, 0x0000B880, 0x0000B880, 0x00011680, 0x00011460, 0x00000000, 0x00000000, 0x00000000, 0x0002A3C0, 0x0002A600, 0x0002A840, 0x0002ACC0, 0x0002AA80, 0x0002B140, 0x0002AF00, 0x00014700, 0x0002B5C0, 0x00024300, 0x000237C0, 0x0002B800, 0x00023A00, 0x000240C0, 0x00023C40, 0x000291C0, 0x00029640, 0x00029880, 0x00029AC0, 0x00027480, 0x000276C0, 0x00023E80, 0x00014280, 0x000144C0, 0x00014040, 0x00013BC0, 0x00029D00, 0x00024540, 0x00025980, 0x00025740, 0x00024780, 0x000249C0, 0x00024C00, 0x00024E40, 0x00027240, 0x00027000, 0x00026DC0, 0x00025080, 0x000252C0, 0x00025500, 0x00025BC0, 0x00025E00, 0x00026040, 0x00026280, 0x000264C0, 0x00026700, 0x00026940, 0x00026B80, 0x00002420, 0x00002660, 0x000028A0, 0x00002AE0, 0x00002D20, 0x00002F60, 0x000031A0, 0x000033E0, 0x00003620, 0x00003860, 0x00003AA0, 0x00004160, 0x00003CE0, 0x00003F20, 0x000043A0, 0x000045E0, 0x00004820, 0x00004A60, 0x00004CA0, 0x00004EE0, 0x00005120, 0x00005360, 0x000055A0, 0x000057E0, 0x00005A20, 0x00005C60, 0x00005EA0, 0x000060E0, 0x00006320, 0x00006560, 0x000067A0, 0x000069E0, 0x00006C20, 0x00006E60, 0x000070A0, 0x000072E0, 0x00007520, 0x00007760, 0x000079A0, 0x00007BE0, 0x00007E20, 0x00008060, 0x000082A0, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00014DC0, 0x00015000, 0x00015240, 0x00015480, 0x000156C0, 0x00015900, 0x00015B40, 0x00015D80, 0x00015FC0, 0x00016200, 0x00000000, 0x000168C0, 0x000171C0, 0x00020880, 0x00017AC0, 0x00017F40, 0x000183C0, 0x00018600, 0x00018840, 0x00018A80, 0x00018CC0, 0x00018F00, 0x00019140, 0x00019380, 0x000195C0, 0x00019800, 0x00019A40, 0x00019C80, 0x00019EC0, 0x0001A100, 0x0001A340, 0x0001A580, 0x0001A7C0, 0x0001AA00, 0x0001AC40, 0x0001AE80, 0x0001B0C0, 0x0001B300, 0x0001B540, 0x00018180, 0x00016680, 0x00016B00, 0x00017400, 0x00016D40, 0x00017640, 0x0001E000, 0x00017880, 0x00016F80, 0x0001E6C0, 0x0001E240, 0x0001E480, 0x0001CE00, 0x0001C740, 0x0001C980, 0x0001D040, 0x00016440, 0x00017D00, 0x0001B780, 0x0001D280, 0x0001D4C0, 0x0001DB80, 0x0001D700, 0x0001DDC0, 0x0001D940, 0x0001CBC0, 0x0001B9C0, 0x0001BC00, 0x0001BE40, 0x0001C080, 0x0001C2C0, 0x0001C500, 0x00000000, 0x00000000, 0x000201C0, 0x00020400, 0x0001EFC0, 0x00000000, 0x00020640, 0x0001F440, 0x0001F200, 0x0001F680, 0x0001F8C0, 0x000201C0, 0x00020400, 0x00015D80, 0x000195C0, 0x0001A580, 0x0001A580, 0x0001B300, 0x0001B300, 0x0001F680, 0x0001F680, 0x00015240, 0x00015240, 0x00019C80, 0x00019C80, 0x0001FB00, 0x0001FB00, 0x0001FB00, 0x00021600, 0x000213C0, 0x00021840, 0x00021A80, 0x00021CC0, 0x00021F00, 0x00022140, 0x00015D80, 0x00015D80, 0x00015D80, 0x000195C0, 0x000195C0, 0x000195C0, 0x000225C0, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00030A60, 0x0002F5C0, 0x00030CE0, 0x00030E20, 0x0002E900, 0x0002EF60, 0x00030400, 0x00000200, 0x00001520, 0x00001740, 0x00001960, 0x00001B80, 0x00001DA0, 0x00001FC0, 0x000021E0, 0x00000200, 0x00000200, 0x00010980, 0x00010BA0, 0x00010DC0, 0x00011000, 0x00011220, 0x0000DA60, 0x00009220, 0x00009440, 0x0000A100, 0x00009660, 0x00009880, 0x0000ABA0, 0x0000A760, 0x0000A980, 0x0000A540, 0x00009EE0, 0x00009AA0, 0x0000ADC0, 0x0000B420, 0x0000B640, 0x0000CFC0, 0x0000B860, 0x0000BA80, 0x0000BCA0, 0x0000B200, 0x0000BEC0, 0x0000C0E0, 0x0000C300, 0x0000C520, 0x00011440, 0x0000E0E0, 0x0000E300, 0x0000E520, 0x0000C740, 0x0000C960, 0x0000CB80, 0x0000CDA0, 0x0000DCA0, 0x0000DEC0, 0x0000E740, 0x0000E960, 0x0000EB80, 0x0000EDC0, 0x00012BC0, 0x00012BC0, 0x00012BC0, 0x00012BC0, 0x00012BC0, 0x00012BC0, 0x00012BC0, 0x00012BC0, 0x00012BC0, 0x00012BC0, 0x00012BC0, 0x00012BC0, 0x00012BC0, 0x00012BC0, 0x00012BC0, 0x00012BC0, 0x00012BC0, 0x00012BC0, 0x00012BC0, 0x00012BC0, 0x00012BC0, 0x00012BC0, 0x00012BC0, 0x00012BC0, 0x00012BC0, 0x00012BC0, 0x00012BC0, 0x00012BC0, 0x00012BC0, 0x00012BC0, 0x0000A320, 0x00012BC0, 0x00012BC0, 0x00009CC0, 0x0000D1E0, 0x0000D400, 0x0000D620, 0x0000D840, 0x0000A540, 0x00011CC0, 0x00027D40, 0x00027B00, 0x00027F80, 0x000281C0, 0x00028400, 0x00028640, 0x00028880, 0x00028AC0, 0x00028D00, 0x00028F40, 0x0000F640, 0x0000F420, 0x0000F860, 0x0000FEE0, 0x0000BA80, 0x0000FA80, 0x0000FCA0, 0x00011AA0, 0x00011EE0, 0x00012120, 0x00012340, 0x00012560, 0x00012780, 0x000129A0, 0x00012780, 0x0000EFE0, 0x0000F200, 0x0000FEE0, 0x0000BA80, 0x0000BA80, 0x00011880, 0x00011660, 0x00000200, 0x00000200, 0x00000200, 0x0002A5C0, 0x0002A800, 0x0002AA40, 0x0002AEC0, 0x0002AC80, 0x0002B340, 0x0002B100, 0x00014900, 0x0002B7C0, 0x00024500, 0x000239C0, 0x0002BA00, 0x00023C00, 0x000242C0, 0x00023E40, 0x000293C0, 0x00029840, 0x00029A80, 0x00029CC0, 0x00027680, 0x000278C0, 0x00024080, 0x00014480, 0x000146C0, 0x00014240, 0x00013DC0, 0x00029F00, 0x00024740, 0x00025B80, 0x00025940, 0x00024980, 0x00024BC0, 0x00024E00, 0x00025040, 0x00027440, 0x00027200, 0x00026FC0, 0x00025280, 0x000254C0, 0x00025700, 0x00025DC0, 0x00026000, 0x00026240, 0x00026480, 0x000266C0, 0x00026900, 0x00026B40, 0x00026D80, 0x00002620, 0x00002860, 0x00002AA0, 0x00002CE0, 0x00002F20, 0x00003160, 0x000033A0, 0x000035E0, 0x00003820, 0x00003A60, 0x00003CA0, 0x00004360, 0x00003EE0, 0x00004120, 0x000045A0, 0x000047E0, 0x00004A20, 0x00004C60, 0x00004EA0, 0x000050E0, 0x00005320, 0x00005560, 0x000057A0, 0x000059E0, 0x00005C20, 0x00005E60, 0x000060A0, 0x000062E0, 0x00006520, 0x00006760, 0x000069A0, 0x00006BE0, 0x00006E20, 0x00007060, 0x000072A0, 0x000074E0, 0x00007720, 0x00007960, 0x00007BA0, 0x00007DE0, 0x00008020, 0x00008260, 0x000084A0, 0x00000200, 0x00000200, 0x00000200, 0x00000200, 0x00000200, 0x00014FC0, 0x00015200, 0x00015440, 0x00015680, 0x000158C0, 0x00015B00, 0x00015D40, 0x00015F80, 0x000161C0, 0x00016400, 0x00000200, 0x00016AC0, 0x000173C0, 0x00020A80, 0x00017CC0, 0x00018140, 0x000185C0, 0x00018800, 0x00018A40, 0x00018C80, 0x00018EC0, 0x00019100, 0x00019340, 0x00019580, 0x000197C0, 0x00019A00, 0x00019C40, 0x00019E80, 0x0001A0C0, 0x0001A300, 0x0001A540, 0x0001A780, 0x0001A9C0, 0x0001AC00, 0x0001AE40, 0x0001B080, 0x0001B2C0, 0x0001B500, 0x0001B740, 0x00018380, 0x00016880, 0x00016D00, 0x00017600, 0x00016F40, 0x00017840, 0x0001E200, 0x00017A80, 0x00017180, 0x0001E8C0, 0x0001E440, 0x0001E680, 0x0001D000, 0x0001C940, 0x0001CB80, 0x0001D240, 0x00016640, 0x00017F00, 0x0001B980, 0x0001D480, 0x0001D6C0, 0x0001DD80, 0x0001D900, 0x0001DFC0, 0x0001DB40, 0x0001CDC0, 0x0001BBC0, 0x0001BE00, 0x0001C040, 0x0001C280, 0x0001C4C0, 0x0001C700, 0x00000200, 0x00000200, 0x000203C0, 0x00020600, 0x0001F1C0, 0x00000200, 0x00020840, 0x0001F640, 0x0001F400, 0x0001F880, 0x0001FAC0, 0x000203C0, 0x00020600, 0x00015F80, 0x000197C0, 0x0001A780, 0x0001A780, 0x0001B500, 0x0001B500, 0x0001F880, 0x0001F880, 0x00015440, 0x00015440, 0x00019E80, 0x00019E80, 0x0001FD00, 0x0001FD00, 0x0001FD00, 0x00021800, 0x000215C0, 0x00021A40, 0x00021C80, 0x00021EC0, 0x00022100, 0x00022340, 0x00015F80, 0x00015F80, 0x00015F80, 0x000197C0, 0x000197C0, 0x000197C0, 0x000227C0, 0x00000200, 0x00000200, 0x00000200, 0x00000200, 0x00000200, 0x00030B80, 0x0002F6E0, 0x00030E00, 0x00030F40, 0x0002EB00, 0x0002F160, 0x00030600, 0x00000000, 0x00000001, 0x00000002, 0x00000003, 0x00000004, 0x00000009, 0x00000006, 0x00000007, 0x00000008, 0x00000005, 0x0000000A, 0x0000000B, 0x00000000, 0x00000001, 0x00000002, 0x00000003, 0x00000004, 0x00000000, 0x00000006, 0x00000007, 0x00000008, 0x00000005, 0x00000000, 0x00000000, 0x800989A0, 0x00000000, 0x00000000, 0x00000000, 0x001D0007, 0x00000002, 0x00280000, 0x00280001, 0x001D0008, 0x00000003, 0x0028000D, 0x0028000E, 0x001D0009, 0x00000004, 0x0028001A, 0x0028001B, 0x001D000A, 0x00000005, 0x00280027, 0x00280028, 0x001D000B, 0x00000001, 0x00000000, 0x00000000, 0x001D000C, 0x00000007, 0x00280041, 0x00280042, 0x001D000D, 0x00000008, 0x0028004E, 0x0028004F, 0x001D000E, 0x00000009, 0x0028005B, 0x0028005C, 0x001D000F, 0x00000006, 0x00280034, 0x00280035, 0x001D0010, 0x00000001, 0x00000000, 0x00000000, 0x001D0011, 0x00000001, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x80107CA8, 0x80107CD0, 0x80107CF8, 0x80107D20, 0x80107D48, 0x80107D70, 0x80107D98, 0x80107DC0, 0x80107DE8, 0x80107E10, 0x80107E38, 0x80107E60, 0x80107E88, 0x80107EB0, 0x80107ED8, 0x80107F00, 0x80107F28, 0x80107F50, 0x80107F78, 0x80107FA0, 0x80107FC8, 0x80107FF0, 0x80108018, 0x80108040, 0x80108018, 0x80108040, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000000FF, 0x00000000, 0x00000002, 0x00000000, 0x00000000, 0x000000FF, 0x00000000, 0x00000008, 0x00000000, 0x00000000, 0x000000FF, 0x001D0038, 0x00013005, 0x002300A3, 0x00000000, 0x01000001, 0x001D0038, 0x00013005, 0x002300A4, 0x002300A4, 0x01000001, 0x001D0038, 0x00013005, 0x002300A5, 0x002300A5, 0x01000001, 0x001D0038, 0x00013005, 0x00000000, 0x00000000, 0x01000001, 0x00000000, 0x00013005, 0x00000000, 0x00000000, 0x01000001, 0x002A0010, 0x00013005, 0x00230068, 0x00250068, 0x01020101, 0x002A0012, 0x00008020, 0x0023006A, 0x0025006A, 0x01020101, 0x002A0011, 0x00013005, 0x00230069, 0x00250069, 0x01020201, 0x00000000, 0x00000008, 0x00000000, 0x00000000, 0x010101FF, 0x001D0038, 0x00055001, 0x00000000, 0x00000000, 0x01000001, 0x002A000E, 0x00000003, 0x00230066, 0x00250066, 0x01020201, 0x002A0014, 0x00008020, 0x0023006C, 0x0025006C, 0x01070301, 0x002A000C, 0x00000008, 0x00230064, 0x00250064, 0x010101FF, 0x001D0038, 0x00054001, 0x00230064, 0x00250064, 0x01000001, 0x002A000D, 0x00000008, 0x00230065, 0x00250065, 0x010402FF, 0x001D0038, 0x00055001, 0x00230065, 0x00250065, 0x01000001, 0x00000000, 0x00013005, 0x00000000, 0x00000000, 0x010201FF, 0x002A0013, 0x00008020, 0x0023006B, 0x0025006B, 0x01040201, 0x002A000A, 0x00013005, 0x00230062, 0x00250062, 0x01020101, 0x00000000, 0x00013005, 0x00000000, 0x00000000, 0x01040201, 0x002A000B, 0x00013005, 0x00230063, 0x00250063, 0x01060301, 0x002A000F, 0x00013005, 0x00230067, 0x00250067, 0x01020101, 0x00000000, 0x00013005, 0x00000000, 0x00000000, 0x01060301, 0x001D0039, 0x00054881, 0x002300A0, 0x002300A0, 0x02000000, 0x001D0039, 0x00054881, 0x002300A1, 0x002300A1, 0x02000000, 0x001D0039, 0x00054881, 0x002300A2, 0x002300A2, 0x02000000, 0x001D0039, 0x00054881, 0x00000000, 0x00000000, 0x02000000, 0x001D0039, 0x00054881, 0x00000000, 0x00000000, 0x02000000, 0x002A0006, 0x0004C880, 0x0023005E, 0x0025005E, 0x02020100, 0x002A0009, 0x00054881, 0x00230061, 0x00250061, 0x02030200, 0x002A0004, 0x00054881, 0x0023005C, 0x0025005C, 0x02020100, 0x002A0005, 0x00054881, 0x0023005D, 0x0025005D, 0x02020100, 0x00000000, 0x00000808, 0x00000000, 0x00000000, 0x020101FF, 0x001D0039, 0x00054881, 0x00000000, 0x00000000, 0x02010100, 0x002A0002, 0x00000808, 0x0023005A, 0x0025005A, 0x020101FF, 0x001D0039, 0x00054881, 0x0023005A, 0x0025005A, 0x02000000, 0x002A0003, 0x00000808, 0x0023005B, 0x0025005B, 0x020402FF, 0x001D0039, 0x00054881, 0x0023005B, 0x0025005B, 0x02000000, 0x00000000, 0x00054881, 0x00000000, 0x00000000, 0x020201FF, 0x00000000, 0x0004C880, 0x00000000, 0x00000000, 0x020502FF, 0x002A0000, 0x00054881, 0x00230058, 0x00250058, 0x02020100, 0x00000000, 0x00054881, 0x00000000, 0x00000000, 0x02040200, 0x002A0001, 0x00054881, 0x00230059, 0x00250059, 0x02060300, 0x002A0008, 0x00054881, 0x00230060, 0x00250060, 0x02020200, 0x002A0007, 0x00054881, 0x0023005F, 0x0025005F, 0x02020100, 0x00000000, 0x00008020, 0x00000000, 0x00000000, 0x02020214, 0x00000000, 0x00010005, 0x00230074, 0x00250074, 0x030006FF, 0x00000000, 0x00000008, 0x00000000, 0x00000000, 0x030008FF, 0x00260075, 0x00000008, 0x00230075, 0x00250075, 0x030003FF, 0x001D003F, 0x00010005, 0x001D00A4, 0x00000000, 0x040000FF, 0x002A0015, 0x00000000, 0x0023006D, 0x0025006D, 0x040301FF, 0x002A0016, 0x00000000, 0x0023006E, 0x0025006E, 0x040603FF, 0x80098A04, 0x00000000, 0x00000000, 0x00000000, 0x050000FF, 0x002A0018, 0x00000000, 0x00230070, 0x00250070, 0x050004FF, 0x80098A04, 0x00010005, 0x00000000, 0x00000000, 0x060000FF, 0x80098A04, 0x00000000, 0x00000000, 0x00000000, 0x070000FF, 0x00260073, 0x00000000, 0x00230073, 0x00250073, 0x070006FF, 0x00260093, 0x00000000, 0x00230093, 0x00250093, 0x070004FF, 0x00260095, 0x00000000, 0x00230095, 0x00250095, 0x070002FF, 0x002A0019, 0x00000000, 0x00230076, 0x00250076, 0x070002FF, 0x80098A04, 0x00010005, 0x00000000, 0x00000000, 0x080000FF, 0x0026007F, 0x00000000, 0x0023007F, 0x0025007F, 0x080002FF, 0x00260097, 0x00000000, 0x00230097, 0x00250097, 0x080002FF, 0x00260081, 0x00000000, 0x00230081, 0x00250081, 0x080003FF, 0x0026008C, 0x00000000, 0x0023008C, 0x0025008C, 0x080003FF, 0x00260099, 0x00000000, 0x00230099, 0x00250099, 0x080004FF, 0x00260074, 0x00000000, 0x00230074, 0x00250074, 0x080006FF, 0x00000000, 0x00000000, 0x00230085, 0x00250085, 0x080001FF, 0x00000000, 0x00000000, 0x00230083, 0x00250083, 0x080001FF, 0x00000000, 0x00000000, 0x00230082, 0x00250082, 0x080007FF, 0x002A001A, 0x00000000, 0x00230077, 0x00250077, 0x080002FF, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x080001FF, 0x80098A04, 0x00000000, 0x00000000, 0x00000000, 0x090000FF, 0x00260080, 0x00000000, 0x00230080, 0x00250080, 0x090002FF, 0x00260087, 0x00000000, 0x00230087, 0x00250087, 0x090001FF, 0x00260094, 0x00000000, 0x00230094, 0x00250094, 0x090000FF, 0x0026009B, 0x00000000, 0x0023009B, 0x0025009B, 0x090008FF, 0x00000000, 0x00000000, 0x00230088, 0x00250088, 0x090005FF, 0x80098A04, 0x00010005, 0x00000000, 0x00000000, 0x000000FF, 0x00260071, 0x00010005, 0x00230071, 0x00250071, 0x000003FF, 0x00000000, 0x00000002, 0x00000000, 0x00000000, 0x000000FF, 0x0026008D, 0x00000002, 0x0023008D, 0x0025008D, 0x000000FF, 0x0026008E, 0x00000002, 0x0023008E, 0x0025008E, 0x000000FF, 0x0026008F, 0x00000002, 0x0023008F, 0x0025008F, 0x000000FF, 0x00260090, 0x00000002, 0x00230090, 0x00250090, 0x000000FF, 0x00260091, 0x00000002, 0x00230091, 0x00250091, 0x000000FF, 0x00260092, 0x00000002, 0x00230092, 0x00250092, 0x000000FF, 0x00260078, 0x00000002, 0x00230078, 0x00250078, 0x000003FF, 0x00260072, 0x00000002, 0x00230072, 0x00250072, 0x000003FF, 0x0026009A, 0x00000002, 0x0023009A, 0x0025009A, 0x000007FF, 0x00260098, 0x00000002, 0x00230098, 0x00250098, 0x000002FF, 0x00260079, 0x00000002, 0x00230079, 0x00250079, 0x000003FF, 0x00260086, 0x00000002, 0x00230086, 0x00250086, 0x000001FF, 0x00000000, 0x00000002, 0x00000000, 0x00000000, 0x000008FF, 0x0026009C, 0x00000002, 0x0023009C, 0x0025009C, 0x000002FF, 0x0026007B, 0x00000002, 0x0023007B, 0x0025007B, 0x000006FF, 0x00260096, 0x00000002, 0x00230096, 0x00250096, 0x000002FF, 0x00000000, 0x00000002, 0x00230084, 0x00250084, 0x000001FF, 0x00000000, 0x00000002, 0x00000000, 0x00000000, 0x00000AFF, 0x00000000, 0x00000002, 0x00000000, 0x00000000, 0x00000AFF, 0x00000000, 0x00000002, 0x00000000, 0x00000000, 0x00000AFF, 0x00000000, 0x00000002, 0x0023007C, 0x0025007C, 0x000003FF, 0x00000000, 0x00000002, 0x0023007D, 0x0025007D, 0x000003FF, 0x00000000, 0x00000002, 0x00230089, 0x00250089, 0x000003FF, 0x00000000, 0x00000002, 0x0023008A, 0x0025008A, 0x000002FF, 0x00000000, 0x00000002, 0x0023009E, 0x0025009E, 0x000001FF, 0x00000000, 0x00000002, 0x0023008B, 0x0025008B, 0x000001FF, 0x0026009D, 0x00000002, 0x0023009D, 0x0025009D, 0x000001FF, 0x800989F0, 0x00000002, 0x00000000, 0x00000000, 0x000001FF, 0x800989DC, 0x00000002, 0x00000000, 0x00000000, 0x000001FF, 0x0026007E, 0x00000002, 0x0023007E, 0x0025007E, 0x000001FF, 0x00000000, 0x00000002, 0x00000000, 0x00000000, 0x000005FF, 0x00000000, 0x80000000, 0x00000000, 0x00000000, 0x000000FF, 0x0026007A, 0x00000002, 0x0023007A, 0x0025007A, 0x000003FF, 0x0026006F, 0x00000002, 0x0023006F, 0x0025006F, 0x000002FF, 0x0026009F, 0x00000002, 0x0023009F, 0x0025009F, 0x000003FF, 0x001D0014, 0x80000000, 0x001D0020, 0x00000000, 0x0A0000FF, 0x001D0015, 0x00000008, 0x001D0021, 0x00000000, 0x0A0101FF, 0x001D0016, 0x00008002, 0x001D0022, 0x00000000, 0x0A0101FF, 0x001D0017, 0x00008002, 0x001D0023, 0x00000000, 0x0A0202FF, 0x001D0018, 0x00008002, 0x001D0024, 0x00000000, 0x0A0202FF, 0x001D0019, 0x00000008, 0x001D0025, 0x00000000, 0x0A0303FF, 0x001D001A, 0x00008002, 0x001D0026, 0x00000000, 0x0A0202FF, 0x001D001B, 0x00008002, 0x001D0027, 0x00000000, 0x0A0202FF, 0x001D001C, 0x00008002, 0x001D0028, 0x00000000, 0x0A0000FF, 0x001D001D, 0x00008002, 0x001D0029, 0x00000000, 0x0A0000FF, 0x001D001E, 0x00000100, 0x001D0020, 0x00000000, 0x0A0000FF, 0x001D001F, 0x00008003, 0x001D0020, 0x00000000, 0x0A0000FF, 0x002B0000, 0x00054881, 0x00280002, 0x00280007, 0x0B000002, 0x002B0000, 0x00054881, 0x00280002, 0x00280008, 0x0B000002, 0x002B0000, 0x00054881, 0x00280002, 0x00280009, 0x0B000002, 0x002B0001, 0x00038003, 0x00280003, 0x0028000A, 0x0B0000FF, 0x002B0002, 0x00000100, 0x00280004, 0x0028000B, 0x0B0100FF, 0x002B0003, 0x00054881, 0x00280005, 0x0028000C, 0x0B030002, 0x002B0004, 0x00012005, 0x0028000F, 0x00280014, 0x0B000001, 0x002B0004, 0x00012005, 0x0028000F, 0x00280015, 0x0B000001, 0x002B0004, 0x00012005, 0x0028000F, 0x00280016, 0x0B000001, 0x002B0005, 0x00008004, 0x00280010, 0x00280017, 0x0B030001, 0x002B0006, 0x00008004, 0x00280011, 0x00280018, 0x0B040003, 0x002B0007, 0x00008004, 0x00280012, 0x00280019, 0x0B050004, 0x002B0008, 0x00012005, 0x0028001C, 0x00280021, 0x0B00000F, 0x002B0008, 0x00012005, 0x0028001C, 0x00280022, 0x0B00000F, 0x002B0008, 0x00012005, 0x0028001C, 0x00280023, 0x0B00000F, 0x002B0009, 0x00012005, 0x0028001D, 0x00280024, 0x0B030003, 0x002B000A, 0x00008004, 0x0028001E, 0x00280025, 0x0B060003, 0x002B000B, 0x00008002, 0x0028001F, 0x00280026, 0x0B080003, 0x002B000C, 0x00010003, 0x00280029, 0x0028002E, 0x0B000000, 0x002B000C, 0x00010003, 0x00280029, 0x0028002F, 0x0B000000, 0x002B000C, 0x00010003, 0x00280029, 0x00280030, 0x0B000000, 0x002B000D, 0x00010003, 0x0028002A, 0x00280031, 0x0B030005, 0x002B000E, 0x00008403, 0x0028002B, 0x00280032, 0x0B030003, 0x002B000F, 0x00008002, 0x0028002C, 0x00280033, 0x0B060004, 0x800989D0, 0x00000003, 0x00000000, 0x00000000, 0x0B000000, 0x800989D0, 0x00000003, 0x00000000, 0x00000000, 0x0B000000, 0x800989D0, 0x00000003, 0x00000000, 0x00000000, 0x0B000000, 0x800989C0, 0x00000004, 0x00000000, 0x00000000, 0x0B000000, 0x800989B4, 0x00000003, 0x00000000, 0x00000000, 0x0B000000, 0x800989A8, 0x00000003, 0x00000000, 0x00000000, 0x0B000000, 0x002B0014, 0x00000003, 0x00280043, 0x00280048, 0x0B00000F, 0x002B0014, 0x00000003, 0x00280043, 0x00280049, 0x0B00000F, 0x002B0014, 0x00000003, 0x00280043, 0x0028004A, 0x0B00000F, 0x002B0015, 0x00000003, 0x00280044, 0x0028004B, 0x0B020003, 0x002B0016, 0x00000008, 0x00280045, 0x0028004C, 0x0B03000A, 0x002B0017, 0x00008002, 0x00280046, 0x0028004D, 0x0B05000C, 0x002B0018, 0x00054881, 0x00280050, 0x00280055, 0x0B000001, 0x002B0018, 0x00054881, 0x00280050, 0x00280056, 0x0B000001, 0x002B0018, 0x00054881, 0x00280050, 0x00280057, 0x0B000001, 0x002B0019, 0x00000003, 0x00280051, 0x00280058, 0x0B03000E, 0x002B001A, 0x00000008, 0x00280052, 0x00280059, 0x0B03000A, 0x002B001B, 0x00008002, 0x00280053, 0x0028005A, 0x0B060008, 0x002B001C, 0x00000003, 0x0028005D, 0x00280062, 0x0B000010, 0x002B001C, 0x00000003, 0x0028005D, 0x00280063, 0x0B000010, 0x002B001C, 0x00000003, 0x0028005D, 0x00280064, 0x0B000010, 0x002B001D, 0x00008002, 0x0028005E, 0x00280065, 0x0B040004, 0x002B001E, 0x00000008, 0x0028005F, 0x00280066, 0x0B04000A, 0x002B001F, 0x00008002, 0x00280060, 0x00280067, 0x0B05000C, 0x002B0010, 0x00000003, 0x00280036, 0x0028003B, 0x0B000004, 0x002B0010, 0x00000003, 0x00280036, 0x0028003C, 0x0B000004, 0x002B0010, 0x00000003, 0x00280036, 0x0028003D, 0x0B000004, 0x002B0011, 0x00000008, 0x00280037, 0x0028003E, 0x0B0200FF, 0x002B0012, 0x00008002, 0x00280038, 0x0028003F, 0x0B030004, 0x002B0013, 0x00000003, 0x00280039, 0x00280040, 0x0B050004, 0x00000000, 0x00000000, 0x00000000, 0x802EBFF0, 0x802EC010, 0x802EC030, 0x802EC050, 0x802EC070, 0x802EC090, 0x802EC0B0, 0x802EC0D0, 0x802EC0F0, 0x802EC110, 0x802EC130, 0x802EC150, 0x802EC170, 0x802EC190, 0x802EC1B0, 0x802EC1D0, 0x802EC1F0, 0x802EC210, 0x802EC230, 0x802EC250, 0x802EC270, 0x802EC290, 0x802EC2B0, 0x802EC2D0, 0x802EC2F0, 0x802EC310, 0x802EC330, 0x802EC350, 0x802EC370, 0x802EC390, 0x802EC3B0, 0x802EC3D0 - -glabel D_8008FF60 -.word 0x00000000, 0x00000001, 0x00000002, 0x00000003 - -glabel D_8008FF70 -.word 0x00040006, 0x00050004, 0x00070006, 0x00000003, 0x00040003, 0x00070004, 0x00030002, 0x00070002, 0x00060007, 0x00020001, 0x00060001, 0x00050006, 0x00010000, 0x00050000, 0x00040005, 0x00000001, 0x00020000, 0x00020003 - -glabel D_8008FFB8 -.word 0x00000000, 0x3F800000, 0x00000000, 0x00000000, 0x3F800000, 0x00000000, 0x3F800000, 0x00000000, 0x00000000, 0x3F800000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0xBF800000, 0x00000000, 0x00000000, 0xBF800000, 0xBF800000, 0x00000000, 0x00000000, 0xBF800000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x3F800000, 0x00000000, 0x00000000, 0x3F800000, 0x00000000, 0xBF800000, 0x00000000, 0x00000000, 0xBF800000, 0x00000000, 0x00000000, 0x00000000 diff --git a/tools/splat.yaml b/tools/splat.yaml index e0f4362933..3f5e33f44f 100644 --- a/tools/splat.yaml +++ b/tools/splat.yaml @@ -205,8 +205,7 @@ segments: - [0x4a1f0, c, os/code_4a1f0_len_170] - [0x4a360, c, os/code_4a360_len_930] - [0x4ac90, c, os/code_4ac90_len_3910] - - [0x4E5A0, data, code_1000_len_60] - - [0x52D50, data, code_10400_len_d30] + - [0x4E5A0, data, code_1000_len_60] # data until world - [0x6B450, .data, world/world] - [0x6EAC0, bin] # has scripts - [0x70E30, bin, battle/battle] From 8243e81b2eeea19de60e5a3f1cff84783690c7e2 Mon Sep 17 00:00:00 2001 From: Ethan Roseman Date: Thu, 10 Dec 2020 07:53:35 +0900 Subject: [PATCH 32/97] Audio header --- asm/data/code_1000_len_60.data.s | 2 +- .../code_25f00_len_940/func_8004AB00.s | 6 +- .../code_25f00_len_940/func_8004AE08.s | 20 +- include/nu/nualsgi.h | 346 +++ include/nu/nusys.h | 2198 ++++++++--------- src/code_25f00_len_940.c | 14 +- tools/symbol_addrs.txt | 2 + undefined_syms_auto.txt | 1 - 8 files changed, 1469 insertions(+), 1120 deletions(-) create mode 100644 include/nu/nualsgi.h diff --git a/asm/data/code_1000_len_60.data.s b/asm/data/code_1000_len_60.data.s index 1905f2ef4b..0073e0e497 100644 --- a/asm/data/code_1000_len_60.data.s +++ b/asm/data/code_1000_len_60.data.s @@ -260,7 +260,7 @@ glabel D_80078168 glabel D_80078170 .word 0x00000000 -glabel D_80078174 +glabel nuAuPreNMIFunc .word 0x00000000 glabel D_80078178 diff --git a/asm/nonmatchings/code_25f00_len_940/func_8004AB00.s b/asm/nonmatchings/code_25f00_len_940/func_8004AB00.s index 60ec8a0a65..50b0230b8e 100644 --- a/asm/nonmatchings/code_25f00_len_940/func_8004AB00.s +++ b/asm/nonmatchings/code_25f00_len_940/func_8004AB00.s @@ -158,13 +158,13 @@ glabel func_8004AB00 /* 26154 8004AD54 248491A0 */ addiu $a0, $a0, %lo(D_800B91A0) /* 26158 8004AD58 3C028005 */ lui $v0, %hi(D_8004B328) /* 2615C 8004AD5C 2442B328 */ addiu $v0, $v0, %lo(D_8004B328) -/* 26160 8004AD60 3C018008 */ lui $at, %hi(D_80078174) -/* 26164 8004AD64 AC228174 */ sw $v0, %lo(D_80078174)($at) +/* 26160 8004AD60 3C018008 */ lui $at, %hi(nuAuPreNMIFunc) +/* 26164 8004AD64 AC228174 */ sw $v0, %lo(nuAuPreNMIFunc)($at) /* 26168 8004AD68 0C015894 */ jal func_80056250 /* 2616C 8004AD6C 27A50018 */ addiu $a1, $sp, 0x18 /* 26170 8004AD70 8FA40020 */ lw $a0, 0x20($sp) /* 26174 8004AD74 0C014B97 */ jal func_80052E5C -/* 26178 8004AD78 00000000 */ nop +/* 26178 8004AD78 00000000 */ nop /* 2617C 8004AD7C 3C10800A */ lui $s0, %hi(D_800A0F58) /* 26180 8004AD80 26100F58 */ addiu $s0, $s0, %lo(D_800A0F58) /* 26184 8004AD84 0200202D */ daddu $a0, $s0, $zero diff --git a/asm/nonmatchings/code_25f00_len_940/func_8004AE08.s b/asm/nonmatchings/code_25f00_len_940/func_8004AE08.s index 490392cf5c..a1aa70a518 100644 --- a/asm/nonmatchings/code_25f00_len_940/func_8004AE08.s +++ b/asm/nonmatchings/code_25f00_len_940/func_8004AE08.s @@ -95,14 +95,14 @@ glabel func_8004AE08 /* 2635C 8004AF5C 0000902D */ daddu $s2, $zero, $zero .L8004AF60: /* 26360 8004AF60 0C018554 */ jal osAiGetStatus -/* 26364 8004AF64 00000000 */ nop +/* 26364 8004AF64 00000000 */ nop /* 26368 8004AF68 04410003 */ bgez $v0, .L8004AF78 -/* 2636C 8004AF6C 00000000 */ nop +/* 2636C 8004AF6C 00000000 */ nop /* 26370 8004AF70 08012BA8 */ j .L8004AEA0 /* 26374 8004AF74 0000B02D */ daddu $s6, $zero, $zero .L8004AF78: /* 26378 8004AF78 0C018550 */ jal osAiGetLength -/* 2637C 8004AF7C 00000000 */ nop +/* 2637C 8004AF7C 00000000 */ nop /* 26380 8004AF80 8FA30078 */ lw $v1, 0x78($sp) /* 26384 8004AF84 10600011 */ beqz $v1, .L8004AFCC /* 26388 8004AF88 00028082 */ srl $s0, $v0, 2 @@ -126,7 +126,7 @@ glabel func_8004AE08 /* 263CC 8004AFCC 2A0200B8 */ slti $v0, $s0, 0xb8 .L8004AFD0: /* 263D0 8004AFD0 14400003 */ bnez $v0, .L8004AFE0 -/* 263D4 8004AFD4 00000000 */ nop +/* 263D4 8004AFD4 00000000 */ nop /* 263D8 8004AFD8 12C00005 */ beqz $s6, .L8004AFF0 /* 263DC 8004AFDC 24160001 */ addiu $s6, $zero, 1 .L8004AFE0: @@ -145,8 +145,8 @@ glabel func_8004AE08 /* 26408 8004B008 0040302D */ daddu $a2, $v0, $zero /* 2640C 8004B00C 0C015970 */ jal alAudioFrame /* 26410 8004B010 02A0382D */ daddu $a3, $s5, $zero -/* 26414 8004B014 3C038008 */ lui $v1, %hi(D_80078174) -/* 26418 8004B018 8C638174 */ lw $v1, %lo(D_80078174)($v1) +/* 26414 8004B014 3C038008 */ lui $v1, %hi(nuAuPreNMIFunc) +/* 26418 8004B018 8C638174 */ lw $v1, %lo(nuAuPreNMIFunc)($v1) /* 2641C 8004B01C 1060FFA0 */ beqz $v1, .L8004AEA0 /* 26420 8004B020 AFA2007C */ sw $v0, 0x7c($sp) /* 26424 8004B024 92E20000 */ lbu $v0, ($s7) @@ -156,12 +156,12 @@ glabel func_8004AE08 /* 26434 8004B034 0060F809 */ jalr $v1 /* 26438 8004B038 24040001 */ addiu $a0, $zero, 1 /* 2643C 8004B03C 08012C19 */ j .L8004B064 -/* 26440 8004B040 00000000 */ nop +/* 26440 8004B040 00000000 */ nop .L8004B044: -/* 26444 8004B044 3C028008 */ lui $v0, %hi(D_80078174) -/* 26448 8004B048 8C428174 */ lw $v0, %lo(D_80078174)($v0) +/* 26444 8004B044 3C028008 */ lui $v0, %hi(nuAuPreNMIFunc) +/* 26448 8004B048 8C428174 */ lw $v0, %lo(nuAuPreNMIFunc)($v0) /* 2644C 8004B04C 10400005 */ beqz $v0, .L8004B064 -/* 26450 8004B050 00000000 */ nop +/* 26450 8004B050 00000000 */ nop /* 26454 8004B054 3C058008 */ lui $a1, %hi(D_80078170) /* 26458 8004B058 90A58170 */ lbu $a1, %lo(D_80078170)($a1) /* 2645C 8004B05C 0040F809 */ jalr $v0 diff --git a/include/nu/nualsgi.h b/include/nu/nualsgi.h new file mode 100644 index 0000000000..84030df1d9 --- /dev/null +++ b/include/nu/nualsgi.h @@ -0,0 +1,346 @@ +/*======================================================================*/ +/* NuSYS Audio Library for SGI Library & naudio */ +/* nualsgi.h */ +/* */ +/* Copyright (C) 1997, NINTENDO Co,Ltd. */ +/* */ +/* $Id: nualsgi.h,v 1.10 1999/01/14 05:45:36 ohki Exp ohki $ */ +/*======================================================================*/ +#ifndef _NUALSGI_H_ +#define _NUALSGI_H_ + +#ifdef _LANGUAGE_C_PLUS_PLUS +extern "C" { +#endif +/*----------------------------------------------------------------------*/ +/*----------------------------------------------------------------------*/ +/* DEFINE */ +/*----------------------------------------------------------------------*/ + +/*----------------------------------------------------------------------*/ +/*----------------------------------------------------------------------*/ +/* AUDIO MANAGER DEFINE */ +/*----------------------------------------------------------------------*/ +/* AUDIO HEAP calculation */ +/* */ +/* (1) alInit heap size */ +/* AUDIO HEAP calls the function alHeapAlloc to allocate heap memory when synthesizer, */ +/* sequence, or sound drivers are initialized. */ +/* The size of the alHeap area required is determined as follows. */ +/* */ +/* */ +/* 144 + maxPVoices * 432 + 32 * maxUPdates + FxType */ +/* */ +/* FxType varies with the type of effect and takes the following values. */ +/* AL_FX_NONE 0 */ +/* AL_FX_SMALLROOM 8192 */ +/* AL_FX_BIGROOM 8224 */ +/* AL_FX_ECHO 1640 */ +/* AL_FX_CHORUS 304 */ +/* AL_FX_FLANGE 304 */ +/* */ +/* (2) Heap size for alSeqpNew and alCSPNew */ +/* */ +/* maxChannels * 16 + maxVoices * 64 + maxEvents * 32 */ +/* */ +/* (3)Heap size for alSndpNew */ +/* */ +/* maxSounds * 48 + maxEvents * 32 */ +/* */ +/*----------------------------------------------------------------------*/ +/*--------------------------------------*/ +/* SYNTHE DEFINE */ +/*--------------------------------------*/ +#define NU_AU_SYN_VVOICE_MAX 64 /* Maximum number of virtual voices (Not actually used).*/ +#define NU_AU_SYN_PVOICE_MAX 32 /* Maximum number of physical voices. */ +#define NU_AU_SYN_UPDATE_MAX 128 /* Maximum number of synthesizer parameter updates*/ +#define NU_AU_SYN_HEAP_SIZE (144+NU_AU_SYN_PVOICE_MAX*432+32*NU_AU_SYN_UPDATE_MAX+0x2000) + +/*--------------------------------------*/ +/* SEQUENCE DEFINE */ +/*--------------------------------------*/ +#define NU_AU_SEQ_VOICE_MAX 24 /* Maximum number of voices*/ +#define NU_AU_SEQ_EVENT_MAX 48 /* Number of events */ +#define NU_AU_SEQ_CHANNEL_MAX 16 /* Number of MIDI channels (typically 16) */ +#define NU_AU_SEQ_HEAP_SIZE (16*NU_AU_CHANNEL_MAX+32*NU_AU_EVENT_MAX) +#define NU_AU_SEQ_PLAYER0 0 +#define NU_AU_SEQ_PLAYER1 1 +#define NU_AU_SEQ_MODE_FADEOUT 0x0001 +#define NU_AU_SEQ_MODE_PLAYPENDING 0x0002 + + +/*--------------------------------------*/ +/* SOUND DEFINE */ +/*--------------------------------------*/ +#define NU_AU_SND_SOUND_MAX 8 /* Maximum number of sounds*/ +#define NU_AU_SND_EVENT_MAX (NU_AU_SND_SOUND_MAX*2) /* Maximum number of events */ +#define NU_AU_SND_HEAP_SIZE (NU_AU_SND_SOUND_MAX*48+NU_AU_SND_EVENT*64) + +/*--------------------------------------*/ +/* AUDIO DMA DEFINE */ +/*--------------------------------------*/ +#define NU_AU_DMA_BUFFER_NUM 64 /* Number of DMA transfer buffers */ +#define NU_AU_DMA_BUFFER_SIZE 1024 /* Size of the DMA buffer */ +#define NU_AU_BUFFER_USE_FRAME 1 /* Frame interval for the cleared DMA buffer */ + +/*--------------------------------------*/ +/* SOUND DEFINE */ +/*--------------------------------------*/ +#define NU_AU_MGR_THREAD_PRI 70 +#define NU_AU_MGR_THREAD_ID 6 +#define NU_AU_STACK_SIZE 0x2000 +#define NU_AU_CLIST_LEN 0x800 +#define NU_AU_CLIST_SIZE (NU_AU_CLIST_LEN*sizeof(Acmd)) /* Buffer size for the command list */ + +#define NU_AU_BUFFER_MAX 0x1000 /* Size of the buffer for the synthesizer */ +#define NU_AU_OUTPUT_RATE 32000 /* Set the frequency. */ +#define NU_AU_MESG_MAX 8 +#define NU_AU_HEAP_MIN_SIZE (NU_AU_SND_HEAP_SIZE+NU_AU_SEQ_HEAP_SIZE+NU_AU_SYN_HEAP_SIZE+NU_AU_DMA_BUFFER_NUM*NU_AU_DMA_BUFFER_SIZE+NU_AU_CLIST_SIZE*2) +#define NU_AU_HEAP_SIZE 0x50000 /* Default HEAP size */ +#define NU_AU_HEAP_ADDR (NU_GFX_FRAMEBUFFER_ADDR - NU_AU_HEAP_SIZE) + +#ifdef N_AUDIO +#define NU_AU_AUDIO_SAMPLES 184 /* Sample number is a multiple of 16. */ +#else +#define NU_AU_AUDIO_SAMPLES 16 /* Sample number is a multiple of 16. */ +#endif /* N_AUDIO */ + +#define NU_AU_AUDIO_EXTRASMP 0 /* Number of extra samples */ + +#define NU_AU_TASK_STOP 0 /* Stop audio task execution. */ +#define NU_AU_TASK_RUN 1 /* Allow audio task execution. */ + +#define NU_AU_AI_FIFO_MSG 0x100 /* AI event message */ +#define NU_AU_AI_DEBUG_MSG 0x1000 /* For AI debugging */ + +#define NU_AU_FRAMERATE_NTSC 60 /* NTSC/MPAL */ +#define NU_AU_FRAMERATE_PAL 50 /* PAL */ + +/*--------------------------------------*/ +/* DEBUG & PERFORMANCE */ +/*--------------------------------------*/ +#define NU_AU_DEBUG_NORMAL 0x00000001 /* warning & error */ +#define NU_AU_DEBUG_DISABLEDMA 0x00010000 /* disable dma callback */ +#define NU_AU_DEBUG_DISABLEAI 0x00020000 /* disable set AI */ +#define NU_AU_DEBUG_DISABLETASK 0x00040000 /* disable task */ +#define NU_AU_DEBUG_FIFOOFF 0x00080000 /* FIFO EVENT OFF */ +#define NU_AU_DEBUG_RETRACEOFF 0x00100000 /* RETRACE EVENT OFF */ + +#define NU_AU_DEBUG_NODMABUF 0x00000001 /* No DMA Buffer */ +#define NU_AU_DEBUG_ACMDBUFOVER 0x00000002 /* Acmd buffer is small */ +#define NU_AU_DEBUG_DMABUFSIZE 0x00000004 /* dma buffer size is small */ +#define NU_AU_DEBUG_DMANOTCOMPLETE 0x00000008 /* dma not completed */ + +#if defined(_LANGUAGE_C) || defined(_LANGUAGE_C_PLUS_PLUS) +#include +#ifdef N_AUDIO +#include +#include +#else /* N_AUDIO */ +#include +#endif /* N_AUDIO */ + +/*--------------------------------------*/ +/* audio typedef */ +/*--------------------------------------*/ +/*--------------------------------------*/ +/* DMA BUFFER STRUCT */ +/*--------------------------------------*/ +typedef struct { + ALLink node; /* Pointer to the linked list*/ + s32 startAddr; /* Address in data ROM */ + s32 frameCnt; /* Buffer frame counter */ + char* ptr; /* Value of the pointer to buffer */ +} NUDMABuffer; +/*--------------------------------------*/ +/* DMA callback for the Sequence Player */ +/* DMA status used by the routines */ +/* Structure that stores the use status of the DMABuffer*/ +/*--------------------------------------*/ +typedef struct { + u8 initialized; /* Flag indicating whether the structure has been initialized */ + NUDMABuffer* firstUsed; /* Start of the DMA Buffer linked list being used */ + NUDMABuffer* firstFree; /* Start of the free DMA Buffer linked list */ +} NUDMAState; + +/* Sequence Display structure*/ +typedef struct st_Seqence{ + ALCSPlayer player; /* Sequence Display structure */ + ALCSeq sequence; + u8* data_ptr; /* Sequence data */ + s32 seqno; /* Sequence No. */ + u32 mode; /* Control extension */ + u16 counter; + u16 speed; +} NUAuSeqPlayer; + +typedef struct st_SndState { + ALSndId* Id; + u8 flag; +} NUAuSndId; + + +/*--------------------------------------*/ +/* CALL BACK Function typedef */ +/*--------------------------------------*/ +typedef void (*NUAuPreNMIFunc)(NUScMsg,u32); /* PRENMI callback function */ +typedef void (*NUAuMgrFunc)(void); /* Acmd callback function */ + +/*----------------------------------------------------------------------*/ +/*----------------------------------------------------------------------*/ +/* extern variables */ +/*----------------------------------------------------------------------*/ +/*----------------------------------------------------------------------*/ +/*--------------------------------------*/ +/* audio variables */ +/*--------------------------------------*/ +extern u64* nuAuMgrStack; +extern NUScTask nuAuTask; /* Audio task buffer*/ +extern s16* nuAuBuffer_ptr[]; /* Audio buffer */ +extern NUScClient nuAuClient; +extern OSThread nuAuMgrThread; +extern u32 nuAuFrameCounter; /* Frame counter */ +extern ALHeap nuAuHeap; /* Heap structure */ +extern NUAuSeqPlayer nuAuSeqPlayer[]; +extern u8* nuAuSeqData; +extern ALBankFile* nuAuSeqBank_ptr; +extern ALSeqFile* nuAuSeqFile_ptr; +extern ALSndPlayer nuAuSndPlayer; +extern ALBankFile* nuAuSndBank_ptr; +extern ALSndId* nuAuSndId; +extern ALSynConfig nuAuSynConfig; +extern ALSeqpConfig nuAuSeqpConfig; +extern ALSndpConfig nuAnSndpConfig; +extern u8 nuAuTaskStop; +extern u8 nuAuPreNMI; +extern NUAuPreNMIFunc nuAuPreNMIFunc; +extern NUAuMgrFunc nuAuMgrFunc; +extern OSMesgQueue nuAuMesgQ; /* Audio Manager queue */ +extern ALGlobals nuAuGlobal; +extern s16 nuAuDmaBufNum; +extern s16 nuAuDmaBufSize; +extern NUDMAState nuAuDmaState; +extern NUDMABuffer* nuAuDmaBuf; +extern Acmd* nuAuCmdListBuf; /* pointer of command list */ +extern u32 nuAuAcmdLen; +extern u8 nuAuRetraceCount; + + +extern u32 nuAuDebFlag; +extern u32 nuAuDebStatus; /* Status flag */ +extern u32 nuAuDebDmaCount; /* Total number of PI-DMAs */ +extern u32 nuAuDebDmaFrame; /* DMA counter */ +extern u32 nuAuDebDmaMax; /* Maximum number of PI-DMAs */ +extern u32 nuAuDebDmaBufMaxUse;/* Maximum number of DMA buffers used */ +extern u32 nuAuDebDmaCallbackCount;/* Total number of DMA callbacks */ +extern u32 nuAuDebDmaCallbackFrame;/* Number of DMA callbacks */ +extern u32 nuAuDebDmaCallbackMax; /* Maximum number of DMA callbacks*/ +extern u32 nuAuDebAcmdLenMax; /* Maximum length of the audio command list */ + +extern s16 nuAuFrameSampleSize; /* Number of samples created at one time */ +extern s16 nuAuExtraSampleSize; /* Number of extra samples */ +extern ALSynConfig nuAuSynConfig; +extern ALSeqpConfig nuAuSeqpConfig; +extern ALSndpConfig nuAuSndpConfig; + +/*----------------------------------------------------------------------*/ +/*----------------------------------------------------------------------*/ +/* Global Function */ +/*----------------------------------------------------------------------*/ +/*----------------------------------------------------------------------*/ +/*--------------------------------------*/ +/* audio Manager function */ +/*--------------------------------------*/ +extern s32 nuAuInit(void); +extern s32 nuAuInitEx(void); +extern s32 nuAuMgrInit(void* heap_ptr, u32 size, ALSynConfig* synconfig); +extern s32 nuAuMgrInitEx(void* heap_ptr, u32 size, ALSynConfig* synConfig); + +extern void nuAuSeqPlayerInit(ALSeqpConfig* seqpconfig, u32 size, u32 player_no); +extern void nuAuSeqPlayerBankSet(u8* bank_addr, u32 bank_size, u8* table_addr); +extern void nuAuSeqPlayerPlay(u32 player_no); +extern void nuAuSeqPlayerSeqSet(u8* seq_addr); +extern void nuAuSeqPlayerSetNo(u32 player_no ,u32 seq_no); +extern void nuAuSeqPlayerFadeOut(u32 player_no ,u32 speed); +extern void nuAuSeqPlayerControl(void); + +extern void nuAuSndPlayerInit(ALSndpConfig* sndconfig); +extern void nuAuSndPlayerBankSet(u8* bank_addr, u32 bank_size, u8* table_addr); +extern ALSndId nuAuSndPlayerPlay(u32 sndNo); +extern void nuAuPreNMIFuncSet(NUAuPreNMIFunc func); +extern void nuAuPreNMIProc(NUScMsg mesg_type, u32 frameCounter); +extern void nuAuMgrFuncSet(NUAuMgrFunc func); +extern ALDMAproc nuAuDmaNew(NUDMAState **state); +extern void nuAuCleanDMABuffers(void); + +extern void nuAuHeapInit(ALHeap* hp, u8* base, s32 len); +extern void* nuAuHeapAlloc(s32 length); +extern s32 nuAuHeapGetFree(void); +extern s32 nuAuHeapGetUsed(void); + +/*----------------------------------------------------------------------*/ +/*----------------------------------------------------------------------*/ +/* MACRO */ +/*----------------------------------------------------------------------*/ +/*----------------------------------------------------------------------*/ + +/* Delete the callback function */ +#define nuAuPreNMIFuncRemove() nuAuPreNMIFuncSet(NULL) +#define nuAuMgrFuncRemove() nuAuMgrFuncSet(NULL) + +#define nuAuSeqPlayerGetChlVol(player_no, chan) \ + alCSPGetChlVol(&nuAuSeqPlayer[player_no].player, chan) +#define nuAuSeqPlayerGetChlFXMix(player_no, chan) \ + alCSPGetChlFXMix(&nuAuSeqPlayer[player_no].player, chan) +#define nuAuSeqPlayerGetChlPan(player_no, chan) \ + alCSPGetChlPan(&nuAuSeqPlayer[player_no].player, chan) +#define nuAuSeqPlayerGetChlPriority(player_no, chan) \ + alCSPGetChlPriority(&nuAuSeqPlayer[player_no].player, chan) +#define nuAuSeqPlayerGetChlProgram(player_no, chan) \ + alCSPGetChlProgram(&nuAuSeqPlayer[player_no].player, chan) +#define nuAuSeqPlayerGetSeq(player_no) \ + alCSPGetSeq(&nuAuSeqPlayer[player_no].player) +#define nuAuSeqPlayerGetSeqno(player_no) \ + nuAuSeqPlayer[player_no].seqno +#define nuAuSeqPlayerGetState(player_no) \ + alCSPGetState(&nuAuSeqPlayer[player_no].player) +#define nuAuSeqPlayerGetTempo(player_no) \ + alCSPGetTempo(&nuAuSeqPlayer[player_no].player) +#define nuAuSeqPlayerGetVol(player_no) \ + alCSPGetVol(&nuAuSeqPlayer[player_no].player) +#define nuAuSeqPlayerStop(player_no) \ + alCSPStop(&nuAuSeqPlayer[player_no].player) +#define nuAuSeqPlayerSetVol(player_no, vol) \ + alCSPSetVol(&nuAuSeqPlayer[player_no].player, vol) +#define nuAuSeqPlayerSetTempo(player_no, tempo) \ + alCSPSetTempo(&nuAuSeqPlayer[player_no].player, tempo) +#define nuAuSeqPlayerSetChlProgram(player_no, chan, prog) \ + alCSPSetChlProgram(&nuAuSeqPlayer[player_no].player, chan, prog) +#define nuAuSeqPlayerSetChlPriority(player_no, chan, priority) \ + alCSPSetChlPriority(&nuAuSeqPlayer[player_no].player, chan, priority) +#define nuAuSeqPlayerSetChlPan(player_no, chan, pan) \ + alCSPSetChlPan(&nuAuSeqPlayer[player_no].player, chan, pan) +#define nuAuSeqPlayerSetChlFXMix(player_no, chan, fxmix) \ + alCSPSetChlFXMix(&nuAuSeqPlayer[player_no].player, chan, fxmix) +#define nuAuSeqPlayerSetChlVol(player_no, chan, vol) \ + alCSPSetChlVol(&nuAuSeqPlayer[player_no].player, chan, vol) +#define nuAuSeqPlayerSendMidi(player_no, ticks, status, byte1, byte2) \ + alCSPSetPlayerSendMidi(&nuAuSeqPlayer[player_no].player, ticks, status, byte1, byte2) + +#define nuAuSndPlayerGetState() alSndpGetState(&nuAuSndPlayer) +#define nuAuSndPlayerPlayAt(delta) alSndpPlayAt(&nuAuSndPlayer,delta) +#define nuAuSndPlayerSetFXMix(mix) alSndpSetFXMix(&nuAuSndPlayer,mix) +#define nuAuSndPlayerSetPan(pan) alSndpSetPan(&nuAuSndPlayer,pan) +#define nuAuSndPlayerSetPitch(pitch) alSndpSetPitch(&nuAuSndPlayer,pitch) +#define nuAuSndPlayerSetPriority(id,priority) alSndpSetPriority(&nuAuSndPlayer,id,priority) +#define nuAuSndPlayerSetVol(vol) alSndpSetVol(&nuAuSndPlayer,vol) +#define nuAuSndPlayerStop() alSndpStop(&nuAuSndPlayer) +#define nuAuSndPlayerSetSound(SndId) alSndpSetSound(&nuAuSndPlayer,SndId) + + +/*----------------------------------------------------------------------*/ +#endif /* defined(_LANGUAGE_C) || defined(_LANGUAGE_C_PLUS_PLUS) */ +#ifdef _LANGUAGE_C_PLUS_PLUS +} +#endif +#endif /* _NUALSGI_H_ */ diff --git a/include/nu/nusys.h b/include/nu/nusys.h index 6a3fe46df0..f7f43bd180 100644 --- a/include/nu/nusys.h +++ b/include/nu/nusys.h @@ -1,1099 +1,1099 @@ -/*======================================================================*/ -/* NuSYS */ -/* nusys.h */ -/* */ -/* Copyright (C) 1997, NINTENDO Co,Ltd. */ -/* */ -/*----------------------------------------------------------------------*/ -/* Ver 1.0 97/10/09 Created by Kensaku Ohki(SLANP) */ -/* Ver 1.2 98/07/12 Modified by Kensaku Ohki(SLANP) */ -/* Ver 2.0 90/01/23 Modified by Kensaku Ohki(SLANP) */ -/*----------------------------------------------------------------------*/ -/* $Id: nusys.h,v 1.26 1999/05/07 08:23:45 ohki Exp ohki $ */ -/*======================================================================*/ -#ifndef _NUSYS_H_ -#define _NUSYS_H_ - -#if defined(_LANGUAGE_C) || defined(_LANGUAGE_C_PLUS_PLUS) - -#ifndef F3DEX_GBI -#define F3DEX_GBI -#endif /* F3DEX_GBI */ - -#include -#include -#endif - -#ifdef _LANGUAGE_C_PLUS_PLUS -extern "C" { -#endif - -/*----------------------------------------------------------------------*/ -/*----------------------------------------------------------------------*/ -/* DEFINE */ -/*----------------------------------------------------------------------*/ -/*----------------------------------------------------------------------*/ -#define NU_VERSION "2.05" - -/*--------------------------------------*/ -/* NuSystem spec define */ -/*--------------------------------------*/ -#define NU_SPEC_BOOT_STACK_SIZE 0x2000 -#define NU_SPEC_BOOT_ADDR 0x80025c00 -#define NU_SPEC_BOOT_STACK nuMainStack + NU_SPEC_BOOT_STACK_SIZE - -/*--------------------------------------*/ -/* Thread ID for DEBUG (a precaution) */ -/*--------------------------------------*/ -#define NU_IDLE_THREAD_ID 1 -#define NU_RMON_THREAD_ID 2 /* no use */ -#define NU_MAIN_THREAD_ID 3 - - -/*--------------------------------------*/ -/* NuSYS Thread Priority */ -/*--------------------------------------*/ -#define NU_IDLE_THREAD_PRI OS_PRIORITY_IDLE /* Idle thread */ -#define NU_RMON_THREAD_PRI OS_PRIORITY_RMON /* no use */ -#define NU_MAIN_THREAD_PRI 10 /* main thread */ - -/*--------------------------------------*/ -/* NUSYS STACK SIZE */ -/*--------------------------------------*/ -#define NU_IDLE_STACK_SIZE 0x2000 /* Idle thread */ -#define NU_RMON_STACK_SIZE 0x2000 /* Rmon thread */ -#define NU_MAIN_STACK_SIZE NU_SPEC_BOOT_STACK_SIZE /* Main thread */ - - - - -/*----------------------------------------------------------------------*/ -/* SCHEDULER DEFINE */ -/*----------------------------------------------------------------------*/ -#define NU_SC_STACK_SIZE 0x2000 /* Thread stack size */ -#define NU_SC_NOSWAPBUFFER 0x0000 /* No swap */ -#define NU_SC_SWAPBUFFER 0x0001 /* Swap frame buffer */ -#define NU_SC_NORDP 0x0002 /* Do not wait for RDP finish */ -#define NU_SC_UCODE_XBUS 0x0004 /* XBUS Ucode */ -#define NU_SC_TASK_YIELDED (OS_TASK_YIELEDE<<16) -#define NU_SC_TASK_DP_WAIT (OS_TASK_DP_WAIT<<16) /* RDP WAIT */ -#define NU_SC_TASK_LODABLE (OS_TASK_LOADBLE<<16) /* LOADABLE */ -#define NU_SC_TASK_SP_ONLY (OS_TASK_SP_ONLY<<16) /* SP ONLY */ - - -#define NU_SC_RETRACE_MSG 0x0001 /* Retrace message */ -#define NU_SC_PRENMI_MSG 0x0002 /* NMI message */ -#define NU_SC_SWAPBUFFER_MSG 0x0004 /* Swap frame buffer message*/ -#define NU_SC_GTASKEND_MSG 0x0008 /* Task finished message */ -#define NU_SC_MAX_MESGS 8 /* Message buffer size */ - -#define NU_SC_HANDLER_PRI 120 /* EVENT HANDLER THREAD PRORITY */ -#define NU_SC_AUDIO_PRI 110 /* AUDIO DISPATCHER THREAD PRORITY */ -#define NU_SC_GRAPHICS_PRI 100 /* GFX DISPATCHER THREAD PRORITY */ -#define NU_SC_HANDLER_THREAD_ID 19 -#define NU_SC_AUDIO_THREAD_ID 18 -#define NU_SC_GRAPHICS_THREAD_ID 17 -#define NU_SC_PRENMI_YET 0 /* PRE NMI has not occurred. */ -#define NU_SC_PRENMI_GET 1 /* PRE NMI received flag */ -#define NU_SC_BEFORE_RESET 2 /* Pre-RESET flag for frame before reset */ -#define NU_SC_BEFORE_RESET_FRAME 2 /* Number of frames before reset where BEFORE_RESET flag is set. */ -/*----------------------------------------------------------------------*/ -/* GRAFIC THREAD DEFINE */ -/*----------------------------------------------------------------------*/ -#define NU_GFX_THREAD_ID 4 -#define NU_GFX_TASKMGR_THREAD_ID 5 -#define NU_GFX_STACK_SIZE 0x2000 /* Thread stack size */ -#define NU_GFX_MESGS 8 /* GFX message queue*/ -#define NU_GFX_TASKMGR_STACK_SIZE 0x2000 /* Stack size */ -#define NU_GFX_TASKMGR_MESGS 8 /*Task Manager queue*/ -#define NU_GFX_THREAD_PRI 50 /* GFX thread priority */ -#define NU_GFX_TASKMGR_THREAD_PRI 60 /* Task Manager priority */ - -/*----------------------------------------------------------------------*/ -/* GRAFIC MANEGER DEFINE */ -/*----------------------------------------------------------------------*/ -#ifdef F3DEX_GBI_2 -#define NU_GFX_UCODE_F3DEX2 0 /* F3DEX microcode */ -#define NU_GFX_UCODE_F3DEX2_NON 1 /* F3DEX.NoN microcode */ -#define NU_GFX_UCODE_F3DEX2_REJ 2 /* F3DEX.NoN microcode */ -#define NU_GFX_UCODE_F3DLX2_REJ 3 /* F3DEX.ReJ microcode */ -#define NU_GFX_UCODE_L3DEX2 4 /* L3DEX microcode */ -#define NU_GFX_UCODE_S2DEX2 5 /* S2DEX microcode */ - -#define NU_GFX_UCODE_F3DEX 0 /* For compatibility */ -#define NU_GFX_UCODE_F3DEX_NON 1 /* For compatibility */ -#define NU_GFX_UCODE_F3DLX 0 /* For compatibility */ -#define NU_GFX_UCODE_F3DLX_NON 1 /* For compatibility */ -#define NU_GFX_UCODE_F3DLX_REJ 4 /* For compatibility */ -#define NU_GFX_UCODE_F3DLP_REJ 3 /* For compatibility */ -#define NU_GFX_UCODE_L3DEX 4 /* For compatibility */ -#define NU_GFX_UCODE_S2DEX 5 /* For compatibility */ -#define NU_GFX_UCODE_S2DEX_D 5 /* For compatibility */ - -#else -#define NU_GFX_UCODE_F3DEX 0 /* F3DEX microcode */ -#define NU_GFX_UCODE_F3DEX_NON 1 /* F3DEX.NoN microcode */ -#define NU_GFX_UCODE_F3DLX 2 /* F3DLX microcode */ -#define NU_GFX_UCODE_F3DLX_NON 3 /* F3DLX.NoN microcode */ -#define NU_GFX_UCODE_F3DLX_REJ 4 /* F3DEX.ReJ microcode */ -#define NU_GFX_UCODE_F3DLP_REJ 5 /* F3DLP.Rej microcode */ -#define NU_GFX_UCODE_L3DEX 6 /* L3DEX microcode */ -#define NU_GFX_UCODE_S2DEX 7 /* S2DEX microcode */ -#define NU_GFX_UCODE_S2DEX_D 8 /* S2DEX microcode */ -#endif /* F3DEX_GBI_2 */ - - -/*----------------------------------------------*/ -/* The number of graphics task structures */ -/* should be set to a value at least as large as*/ -/* the Scheduler */ -/* message buffer size. */ -/* Otherwise, a task structure in use may */ -/* be used. */ -/*----------------------------------------------*/ -#define NU_GFX_TASK_NUM 10 /* Number of graphics task structures */ -#define NU_GFX_RDP_OUTPUTBUFF_SIZE 0x20000 /* fifo buffer size */ - -/*--------------------------------------*/ -/* Default frame buffer */ -/* The default frame buffer */ -/* is the 320x240 16-bit triple */ -/* xxbuffer in the high-order */ -/* area of RDRAM.xx */ -/*--------------------------------------*/ -#define NU_GFX_FRAMEBUFFER_NUM 3 -#define NU_GFX_FRAMEBUFFER_ADDR (0x80400000-320*240*2*3) -#define NU_GFX_FRAMEBUFFER0_ADDR (NU_GFX_FRAMEBUFFER_ADDR) -#define NU_GFX_FRAMEBUFFER1_ADDR (NU_GFX_FRAMEBUFFER0_ADDR+320*240*2) -#define NU_GFX_FRAMEBUFFER2_ADDR (NU_GFX_FRAMEBUFFER1_ADDR+320*240*2) - -#define NU_GFX_INIT_SCREEN_WD 320 -#define NU_GFX_INIT_SCREEN_HT 240 - -/*--------------------------------------*/ -/* Default Z -buffer is located in */ -/* xxlow-order memory.xx */ -/*--------------------------------------*/ -#define NU_GFX_ZBUFFER_ADDR 0x80000400 - -#define NU_GFX_DISPLAY_OFF 0 /* No display */ -#define NU_GFX_DISPLAY_ON 1 /* Display */ -#define NU_GFX_DISPLAY_ON_TRIGGER 0x80 /* Trigger */ - -#define NU_GFX_YIELD_BUF_SIZE (OS_YIELD_DATA_SIZE + 0x10) - -/*----------------------------------------------------------------------*/ -/* SI MANAGER DEFINE */ -/*----------------------------------------------------------------------*/ -#define NU_SI_STACK_SIZE NU_CONT_STACK_SIZE -#define NU_SI_THREAD_ID NU_CONT_THREAD_ID -#define NU_SI_THREAD_PRI NU_CONT_THREAD_PRI -#define NU_SI_MESG_MAX NU_CONT_MESG_MAX -#define NU_SI_CALLBACK_END 1 -#define NU_SI_CALLBACK_CONTINUE 0 -#define NU_SI_SC_MAJOR_NO 0x0000 -#define NU_SI_MSG_MAJOR_NO_MASK 0xff00 -#define NU_SI_MSG_MINOR_NO_MASK 0x00ff - -#define NU_SI_MAJOR_NO_CONT 0x0100 -#define NU_SI_MAJOR_NO_PAK 0x0200 -#define NU_SI_MAJOR_NO_RMB 0x0300 -#define NU_SI_MAJOR_NO_EEPROM 0x0400 -#define NU_SI_MAJOR_NO_GBPAK 0x0500 -#define NU_SI_MAJOR_NO_VRS 0x0600 -#define NU_SI_STOP_MGR_MSG 0x7F00 - -/*----------------------------------------------------------------------*/ -/* CONTROLLER MANEGER DEFINE */ -/*----------------------------------------------------------------------*/ -#define NU_CONT_MAXCONTROLLERS MAXCONTROLLERS -#define NU_CONT_STACK_SIZE 0x2000 -#define NU_CONT_MESG_MAX 8 -#define NU_CONT_THREAD_ID 6 -#define NU_CONT_THREAD_PRI 115 -#define NU_CONT_DATA_UNLOCK 0 -#define NU_CONT_DATA_LOCK 1 - - -/*----------------------------------------------------------------------*/ -/* Define messages sent to the Controller Manager */ -/*----------------------------------------------------------------------*/ -#define NU_CONT_MSG_BASE NU_SI_MAJOR_NO_CONT -#define NU_CONT_RETRACE_MSG (NU_CONT_MSG_BASE+0) -#define NU_CONT_READ_MSG (NU_CONT_MSG_BASE+1) -#define NU_CONT_READ_NW_MSG (NU_CONT_MSG_BASE+2) -#define NU_CONT_QUERY_MSG (NU_CONT_MSG_BASE+3) - - -#define NU_CONT_PAK_MSG_BASE NU_SI_MAJOR_NO_PAK -#define NU_CONT_PAK_RETRACE_MSG (NU_CONT_PAK_MSG_BASE+0) -#define NU_CONT_PAK_OPEN_MSG (NU_CONT_PAK_MSG_BASE+1) -#define NU_CONT_PAK_FREE_MSG (NU_CONT_PAK_MSG_BASE+2) -#define NU_CONT_PAK_FOPEN_MSG (NU_CONT_PAK_MSG_BASE+3) -#define NU_CONT_PAK_READWRITE_MSG (NU_CONT_PAK_MSG_BASE+4) -#define NU_CONT_PAK_FILEDELETE_MSG (NU_CONT_PAK_MSG_BASE+5) -#define NU_CONT_PAK_FILESTATE_MSG (NU_CONT_PAK_MSG_BASE+6) -#define NU_CONT_PAK_FILENUM_MSG (NU_CONT_PAK_MSG_BASE+7) -#define NU_CONT_PAK_REPAIRID_MSG (NU_CONT_PAK_MSG_BASE+8) - -#define NU_CONT_PAK_MODE_NOCREATE 0 -#define NU_CONT_PAK_MODE_CREATE 1 -#define NU_CONT_PAK_TYPE_NONE 0 -#define NU_CONT_PAK_TYPE_PAK 1 /* Controller Pak */ -#define NU_CONT_PAK_TYPE_RUMBLE 2 /* Rumble Pak */ -#define NU_CONT_PAK_TYPE_GBPAK 3 /* 64GB Pak */ -#define NU_CONT_PAK_READ PFS_READ -#define NU_CONT_PAK_WRITE PFS_WRITE - -/*----------------------------------------------------------------------*/ -/* Rumble Pak control */ -/*----------------------------------------------------------------------*/ -#define NU_CONT_RMB_STATE_STOP 0x00 -#define NU_CONT_RMB_STATE_STOPPING 0x01 -#define NU_CONT_RMB_STATE_STOPPED 0x02 -#define NU_CONT_RMB_STATE_RUN 0x03 -#define NU_CONT_RMB_STATE_FORCESTOP 0x04 -#define NU_CONT_RMB_MODE_DISABLE 0x00 -#define NU_CONT_RMB_MODE_ENABLE 0x01 -#define NU_CONT_RMB_MODE_AUTORUN 0x02 -#define NU_CONT_RMB_MODE_PAUSE 0x80 -#define NU_CONT_RMB_AUTO_SEARCH 0x00 -#define NU_CONT_RMB_AUTO_FIND 0x01 -#define NU_CONT_RMB_AUTO_SEARCHTIME (60*5) -#define NU_CONT_RMB_MSG_BASE NU_SI_MAJOR_NO_RMB -#define NU_CONT_RMB_RETRACE_MSG (NU_CONT_RMB_MSG_BASE+0) -#define NU_CONT_RMB_CHECK_MSG (NU_CONT_RMB_MSG_BASE+1) -#define NU_CONT_RMB_START_MSG (NU_CONT_RMB_MSG_BASE+2) -#define NU_CONT_RMB_STOP_MSG (NU_CONT_RMB_MSG_BASE+3) -#define NU_CONT_RMB_FORCESTOP_MSG (NU_CONT_RMB_MSG_BASE+4) -#define NU_CONT_RMB_FORCESTOPEND_MSG (NU_CONT_RMB_MSG_BASE+5) - -/*----------------------------------------------------------------------*/ -/* EEPROM */ -/*----------------------------------------------------------------------*/ -#define NU_EEPROM_MSG_BASE NU_SI_MAJOR_NO_EEPROM -#define NU_EEPROM_RETRACE_MSG (NU_EEPROM_MSG_BASE+0) -#define NU_EEPROM_CHECK_MSG (NU_EEPROM_MSG_BASE+1) -#define NU_EEPROM_READ_MSG (NU_EEPROM_MSG_BASE+2) -#define NU_EEPROM_WRITE_MSG (NU_EEPROM_MSG_BASE+3) - - -/*----------------------------------------------------------------------*/ -/* 64GB Pack Manager */ -/*----------------------------------------------------------------------*/ -#define NU_CONT_GBPAK_MSG_BASE NU_SI_MAJOR_NO_GBPAK -#define NU_CONT_GBPAK_RETRACE_MSG (NU_CONT_GBPAK_MSG_BASE+0) -#define NU_CONT_GBPAK_OPEN_MSG (NU_CONT_GBPAK_MSG_BASE+1) -#define NU_CONT_GBPAK_STATUS_MSG (NU_CONT_GBPAK_MSG_BASE+2) -#define NU_CONT_GBPAK_POWER_MSG (NU_CONT_GBPAK_MSG_BASE+3) -#define NU_CONT_GBPAK_READID_MSG (NU_CONT_GBPAK_MSG_BASE+4) -#define NU_CONT_GBPAK_READWRITE_MSG (NU_CONT_GBPAK_MSG_BASE+5) -#define NU_CONT_GBPAK_CHECKCONNECTOR_MSG (NU_CONT_GBPAK_MSG_BASE+6) - -#define NU_CONT_GBPAK_POWER_OFF OS_GBPAK_POWER_OFF -#define NU_CONT_GBPAK_POWER_ON OS_GBPAK_POWER_ON -#define NU_CONT_GBPAK_MBC_RAM_ENABLE_CODE 0x0a -#define NU_CONT_GBPAK_MBC_RAM_DISABLE_CODE 0x00 -#define NU_CONT_GBPAK_MBC_RAM_REG0_ADDR 0x0000 - -#define NU_CONT_GBPAK_MBC_REG0_ADDR 0x0000 /* Register 0 */ -#define NU_CONT_GBPAK_MBC_REG1_ADDR 0x2100 /* Register 1 */ -#define NU_CONT_GBPAK_MBC_REG2_ADDR 0x4000 /* Register 2 */ -#define NU_CONT_GBPAK_MBC_REG3_ADDR 0x6000 /* Register 3 */ - -/*----------------------------------------------------------------------*/ -/* Voice Recognition System Manager */ -/*----------------------------------------------------------------------*/ -#define NU_VRS_MSG_BASE NU_SI_MAJOR_NO_VRS -#define NU_VRS_RETRACE_MSG (NU_VRS_MSG_BASE+0) -#define NU_VRS_OPEN_MSG (NU_VRS_MSG_BASE+1) -#define NU_VRS_CLEAR_DICTIONARY_MSG (NU_VRS_MSG_BASE+2) -#define NU_VRS_SET_WORD_MSG (NU_VRS_MSG_BASE+3) -#define NU_VRS_MASK_DICTIONARY_MSG (NU_VRS_MSG_BASE+4) -#define NU_VRS_START_READ_DATA_MSG (NU_VRS_MSG_BASE+5) -#define NU_VRS_GET_READ_DATA_MSG (NU_VRS_MSG_BASE+6) -#define NU_VRS_STOP_READ_DATA_MSG (NU_VRS_MSG_BASE+7) -#define NU_VRS_CONTROL_GAIN_MSG (NU_VRS_MSG_BASE+8) - -/*----------------------------------------------------------------------*/ -/* PI DEFINE */ -/*----------------------------------------------------------------------*/ -#define NU_PI_MESG_NUM 50 /* PI message buffer size */ -#define NU_PI_CART_BLOCK_READ_SIZE 0x4000 /* cart read block size */ - -/*----------------------------------------------------------------------*/ -/* DEBUG */ -/*----------------------------------------------------------------------*/ -#define NU_DEB_PERF_BUF_NUM 3 -#define NU_DEB_PERF_GFXTASK_CNT 8 /* Graphics task count */ -#define NU_DEB_PERF_AUTASK_CNT 4 /* Audio task count */ -#define NU_DEB_PERF_RUNNING 0 /* Sampling */ -#define NU_DEB_PERF_STOP 1 /* Stop sampling */ -#define NU_DEB_PERF_START 2 /* Start sampling */ -#define NU_DEB_DP_CLOCK_CTR 0 /* RDP internal counter */ -#define NU_DEB_DP_CMD_CTR 1 /* CMD counter */ -#define NU_DEB_DP_PIPE_CTR 2 /* PIPE counter */ -#define NU_DEB_DP_TMEM_CTR 3 /* TMEM counter */ -#define NU_DEB_BAR_FRAME1 0 /* For the performance bar */ -#define NU_DEB_BAR_FRAME2 1 /* Maximum number displayed */ -#define NU_DEB_BAR_FRAME3 2 -#define NU_DEB_BAR_FRAME4 3 -#define NU_DEB_BAR_FRAME5 4 -#define NU_DEB_BAR_FRAME6 5 -#define NU_DEB_BAR_FRAME7 6 -#define NU_DEB_CON_ROW_MAX 40 /* Number of rows in console */ -#define NU_DEB_CON_COLUMN_MAX 30 /* Number of columns in console */ -#define NU_DEB_CON_TEXT_SIZE (NU_DEB_CON_ROW_MAX*NU_DEB_CON_COLUMN_MAX) -#define NU_DEB_CON_WIDTH 320 -#define NU_DEB_CON_WINDOW_NUM 4 -#define NU_DEB_CON_WINDOW0 0 -#define NU_DEB_CON_WINDOW1 1 -#define NU_DEB_CON_WINDOW2 2 -#define NU_DEB_CON_WINDOW3 3 -#define NU_DEB_CON_TEXT_BLACK 0 /* Black */ -#define NU_DEB_CON_TEXT_BLUE 1 /* Blue */ -#define NU_DEB_CON_TEXT_GREEN 2 /* Green */ -#define NU_DEB_CON_TEXT_CYAN 3 /* Cyan */ -#define NU_DEB_CON_TEXT_RED 4 /* Red */ -#define NU_DEB_CON_TEXT_MAGENTA 5 /* Magenta */ -#define NU_DEB_CON_TEXT_YELLOW 6 /* yellow */ -#define NU_DEB_CON_TEXT_WHITE 7 /* White */ -#define NU_DEB_CON_TEXT_LIGHTBLACK 8 /* Gray */ -#define NU_DEB_CON_TEXT_LIGHTBLUE 9 /* Bright Blue */ -#define NU_DEB_CON_TEXT_LIGTHBLUE 9 /* Bright Blue (misspelled) */ -#define NU_DEB_CON_TEXT_LIGHTGREEN 10 /* Bright Green */ -#define NU_DEB_CON_TEXT_LIGHTCYAN 11 /* Bright Cyan */ -#define NU_DEB_CON_TEXT_LIGHTRED 12 /* Bright Red */ -#define NU_DEB_CON_TEXT_LIGHTMAGENTA 13 /* Bright Magenta */ -#define NU_DEB_CON_TEXT_LIGHTYELLOW 14 /* Bright yellow */ -#define NU_DEB_CON_TEXT_LIGHTWHITE 15 /* White */ -#define NU_DEB_CON_ATTR_NORMAL 0x0 /* No attribute*/ -#define NU_DEB_CON_ATTR_BLINK 0x1 /* Blinking */ -#define NU_DEB_CON_ATTR_REVERSE 0x2 /* Highlight */ -#define NU_DEB_CON_SCROLL_ON 1 -#define NU_DEB_CON_SCROLL_OFF 0 -#define NU_DEB_CON_WINDOW_OFF 0 -#define NU_DEB_CON_WINDOW_ON 1 - -#define NU_DEB_MARKER_NUM 10 - -#if defined(_LANGUAGE_C) || defined(_LANGUAGE_C_PLUS_PLUS) -/*----------------------------------------------------------------------*/ -/*----------------------------------------------------------------------*/ -/* structer define */ -/*----------------------------------------------------------------------*/ -/*----------------------------------------------------------------------*/ -/*--------------------------------------*/ -/* Scheduler sturcter */ -/*--------------------------------------*/ -typedef short NUScMsg; /* Scheduler message type */ - -typedef struct st_SCClient { /* Client list structure */ - struct st_SCClient* next; /* Pointer to next client */ - OSMesgQueue* msgQ; /* Message sent to client */ - NUScMsg msgType; /* Type of message */ - /* NU_SC_RETRACE_MSG or*/ - /* NU_SC_PRENMI_MSG */ -} NUScClient; - -typedef struct st_SCTask { /* Task structure */ - struct st_SCTask *next; - u32 state; - u32 flags; - void *framebuffer; /* For graphics tasks */ - OSTask list; - OSMesgQueue *msgQ; - OSMesg msg; -} NUScTask; - -typedef struct st_Sched { /* Define the Scheduler structure. */ - - /* message */ - NUScMsg retraceMsg; - NUScMsg prenmiMsg; - - /* Define the Task request queue. */ - OSMesgQueue audioRequestMQ; - OSMesg audioRequestBuf[NU_SC_MAX_MESGS]; - OSMesgQueue graphicsRequestMQ; - OSMesg graphicsRequestBuf[NU_SC_MAX_MESGS]; - - /* Define the message queue. */ - OSMesgQueue retraceMQ; - OSMesg retraceMsgBuf[NU_SC_MAX_MESGS]; - OSMesgQueue rspMQ; - OSMesg rspMsgBuf[NU_SC_MAX_MESGS]; - OSMesgQueue rdpMQ; - OSMesg rdpMsgBuf[NU_SC_MAX_MESGS]; - - /* Implement wait for next retrace. */ - OSMesgQueue waitMQ; - OSMesg waitMsgBuf[NU_SC_MAX_MESGS]; - - /* Define threads.*/ - OSThread schedulerThread; /* Main thread */ - OSThread audioThread; /* Audio */ - OSThread graphicsThread; /* Graphics */ - - /* client list */ - NUScClient *clientList; - - /* The graphics task being executed. */ - NUScTask *curGraphicsTask; - NUScTask *curAudioTask; - NUScTask *graphicsTaskSuspended; - - u32 retraceCount; - u8 frameRate; - u8 frameBufferNum; /* Number of frame buffers */ - - -} NUSched; - - -/*--------------------------------------*/ -/* ucode structure */ -/*--------------------------------------*/ -typedef struct st_Ucode { - u64* ucode; - u64* ucode_data; -} NUUcode; - -/*--------------------------------------*/ -/* CALL BACK Function typedef */ -/*--------------------------------------*/ -typedef void (*NUIdleFunc)(void); /* Pointer to the idle callback function */ -typedef void (*NUScPreNMIFunc)(void); /* Pointer to PRENMI callback function */ -typedef void (*NUGfxFunc)(u32); /* Pointer to the GFX retrace callback function */ -typedef void (*NUGfxPreNMIFunc)(void); /* Pointer to the GFX PRENMI callback function */ - -typedef void (*NUGfxSwapCfbFunc)(void*);/* Pointer to the SWAPBUF callback function */ -typedef void (*NUGfxTaskEndFunc)(void*);/* Pointer to the TASKEND callback function */ -typedef void (*NUContReadFunc)(u32); /* Pointer to the Controller end-read */ - /* callback function */ -typedef void (*NUContPakFunc)(void*); /* Controller Pak control function callback */ -typedef void (*NUContRmbFunc)(void*); /* Rumble Pak control function callback */ -typedef s32 (*NUCallBackFunc)(void*); /* Callback function */ - - -/*--------------------------------------*/ -/* PI Common Message */ -/*--------------------------------------*/ -typedef struct st_PiOverlaySegment { - u8* romStart; /* Segment's ROM start offset */ - u8* romEnd; /* Segment's ROM end offset */ - u8* ramStart; /* Segment's CPU start address */ - u8* textStart; /* test attribute's DRAM start address */ - u8* textEnd; /* test attribute's DRAM end address */ - u8* dataStart; /* data attribute's DRAM start address */ - u8* dataEnd; /* data attribute's DRAM end address */ - u8* bssStart; /* bss attribute's DRAM start address */ - u8* bssEnd; /* bss attribute's DRAM start address */ -} NUPiOverlaySegment; - -/*--------------------------------------*/ -/* SI Common message */ -/*--------------------------------------*/ -typedef struct st_SiCommonMesg { - NUScMsg mesg; - OSMesgQueue* rtnMesgQ; - s32 error; - void* dataPtr; -} NUSiCommonMesg; - -/*--------------------------------------*/ -/* controller typedef */ -/*--------------------------------------*/ -typedef struct st_ContRead { - NUScMsg mesg; /* Type of message */ - OSMesgQueue* rtnMesgQ; - OSContPad* pad; -} NUContReadMesg; - -typedef struct st_ContData { - u16 button; /* A,B,C,Z,L,R,START,PAD ,button */ - s8 stick_x; /* Range acutally used: -61 <= stick X <= 61 */ - s8 stick_y; /* Range actually used: -63 <= stick Y <= 63 */ - u8 errno; /* Error */ - u16 trigger; /* Button trigger data */ -} NUContData; - -typedef struct st_ContQuery { - NUScMsg mesg; - OSMesgQueue* rtnMesgQ; -} NUContQueryMesg; - - -typedef struct st_ContPakFile { - OSPfs *pfs; - s32 file_no; - s32 error; - u32 type; -} NUContPakFile; - - -typedef struct st_ContPakFreeMesg { - NUContPakFile* file; - s32 size; -} NUContPakFreeMesg; - -typedef struct st_ContPakFileOpenMesg { - NUContPakFile* file; - u8* noteName; - u8* extName; - s32 size; - s32 mode; -} NUContPakFileOpenMesg; - -typedef struct st_ContPakFileRWMesg { - NUContPakFile* file; - s32 offset; - s32 size; - u8 mode; - u8* buf; -} NUContPakFileRWMesg; - -typedef struct st_ContPakFileStateMesg { - NUContPakFile* file; - OSPfsState* state; -} NUContPakFileStateMesg; - -typedef struct st_ContPakFileNumMesg { - NUContPakFile* file; - s32* max_files; - s32* used_files; -} NUContPakFileNumMesg; - -typedef struct st_ContPakIsPlugMesg { - NUScMsg mesg; - OSMesgQueue* rtnMesgQ; - s32 error; - u8 bitPattern; -} NUContPakIsPlugMesg; - -typedef struct st_ContRmbCtl { - u16 freq; /* Vibration frequency */ - u16 frame; - u16 counter; - u8 state; - u8 mode; - u8 autorun; - u8 type; -} NUContRmbCtl; - -typedef struct st_ContRmbMesg { - u8 contNo; - s32 error; - void* data; -} NUContRmbMesg; - -typedef struct st_CallBackList { - struct st_CallBackList* next; - s32 (**func)(NUSiCommonMesg*); - u16 majorNo; - u8 funcNum; -} NUCallBackList; - -typedef struct st_EepromMesg { - void* dataPtr; - s32 error; - u8 address; - u16 dataLen; -} NUEepromMesg; - -typedef struct st_ContGBPakMesg { - NUContPakFile* handle; - s32 data[4]; -} NUContGBPakMesg; - -typedef OSVoiceHandle NUVrsHandle; - -typedef OSVoiceData NUVrsData; - -typedef struct stVrsMesg { - NUVrsHandle* vrsHandle; - s32 data[2]; -} NUVrsMesg; - -/*--------------------------------------*/ -/* Debug */ -/*--------------------------------------*/ -typedef struct st_GfxTaskTime { - s64 rspStart; /* RSPTask start time */ - s64 rspEnd; /* RSPTask end time */ - s64 rdpEnd; /* RDP end time */ - u32 dpCnt[4]; /* RDP internal counter */ -} NUDebTaskTime; - -typedef struct st_DebTaskPerf { - s64 retraceTime; /* retrace event time*/ - s64 markerTime[NU_DEB_MARKER_NUM]; - u8 gfxTaskCnt; /* Number of graphics tasks */ - u8 auTaskCnt; /* Number of audio tasks */ - u8 gfxTaskStart; - NUDebTaskTime gfxTaskTime[NU_DEB_PERF_GFXTASK_CNT]; - NUDebTaskTime auTaskTime[NU_DEB_PERF_AUTASK_CNT]; -} NUDebTaskPerf; - -/* Console window structure */ -typedef struct st_DebConWindow { - u8 windowFlag; /* On/off flag for console window display */ - u16 scroll; /* Scroll value */ - u8 scrollFlag; /* Scrolling enabled/disabled */ - u8 textColor; /* Character color */ - u8 attribute; /* Attribute */ - u16 posX; /* Column position for write */ - u16 posY; /* Line position for write */ - u16 index; /* Position for character buffer write */ - u16 winX; /* x-coordinate of console window display */ - u16 winY; /* y-coordinate of console window display */ - u16 winW; /* Number of columns in console display */ - u16 winH; /* Number of rows in console display */ - u16 text[NU_DEB_CON_TEXT_SIZE]; /* Character buffer*/ -} NUDebConWindow; - -/*----------------------------------------------------------------------*/ -/*----------------------------------------------------------------------*/ -/* extern variables */ -/*----------------------------------------------------------------------*/ -/*----------------------------------------------------------------------*/ - -extern u8 nuRDPOutputBuf[]; -extern u8 nuDramStack[]; -extern u8 nuYieldBuf[]; -extern NUSched nusched; /* Scheduler structure */ -extern OSMesgQueue nuGfxMesgQ; /* Graphics thread queue */ -extern u32 nuScRetraceCounter; /* Retrace counter */ -extern u8 nuScPreNMIFlag; -/*--------------------------------------*/ -/* graphics variables */ -/*--------------------------------------*/ -extern NUUcode* nuGfxUcode; /* Pointer to GFX microcode structure */ -extern u16** nuGfxCfb; /* Pointer to array of pointers to frame buffers */ -extern u16* nuGfxCfb_ptr; /* Pointer to to frame buffer */ -extern u32 nuGfxCfbNum; /* Number of frame buffers */ -extern u16* nuGfxZBuffer; /* Pointer to the Z buffer */ -extern volatile u32 nuGfxTaskSpool; /* Number of tasks in queue */ -extern u32 nuGfxDisplay; /* Display on/off flag */ -extern u32 nuGfxCfbCounter; /* For frame buffer swapping */ -extern OSMesgQueue nuGfxMesgQ; -extern OSThread nuGfxThread; /* graphic thread */ - -/*--------------------------------------*/ -/* controller Manager variables */ -/*--------------------------------------*/ -extern OSContStatus nuContStatus[]; -extern OSContPad nuContData[]; -extern u32 nuContNum; /* Number of controllers connected */ -extern u32 nuContDataLockKey; /* Lock Controller data. */ -extern OSMesgQueue nuContWaitMesgQ; /* Wait for Controller read */ -extern OSPfs nuContPfs[]; -extern NUCallBackList nuContCallBack; -extern u16 nuContPakCompanyCode; /* Company code */ -extern u32 nuContPakGameCode; /* Game code */ -extern NUCallBackList nuContPakCallBack; - -/*--------------------------------------*/ -/* RUMBUL Manager variables */ -/*--------------------------------------*/ -extern NUContRmbCtl nuContRmbCtl[]; -extern u32 nuContRmbSearchTime; -extern NUCallBackList nuContRmbCallBack; - - -/*--------------------------------------*/ -/* EEPROM Manager variables */ -/*--------------------------------------*/ -extern NUCallBackList nuEepromCallBack; - -/*--------------------------------------*/ -/* 64GBPack Manager variables */ -/*--------------------------------------*/ -extern NUCallBackList nuContGBPakCallBack; - -/*--------------------------------------*/ -/* VRS Manager variables */ -/*--------------------------------------*/ -extern NUCallBackList nuVrsCallBack; - -/*--------------------------------------*/ -/* si variables */ -/*--------------------------------------*/ -extern OSMesgQueue nuSiMesgQ; /* SI event message queue */ -extern OSMesgQueue nuSiMgrMesgQ; /* SI Manager queue */ -extern NUCallBackList* nuSiCallBackList;/* Callback function list */ - -/*--------------------------------------*/ -/* pi variables */ -/*--------------------------------------*/ -extern OSPiHandle* nuPiCartHandle; -extern OSPiHandle* nuPiSramHandle; -extern OSPiHandle* nuPiDDRomHandle; - -/*--------------------------------------*/ -/* CALL BACK Function pointer */ -/*--------------------------------------*/ -extern NUIdleFunc nuIdleFunc; /* callback func pointer */ -extern NUScPreNMIFunc nuScPreNMIFunc; /* PRE NMI callback pointer */ -extern NUGfxSwapCfbFunc nuGfxSwapCfbFunc; /* swapbuf callback pointer */ -extern NUGfxFunc nuGfxFunc; /* callback pointer */ -extern NUGfxPreNMIFunc nuGfxPreNMIFunc; /* Callback pointer */ -extern NUGfxTaskEndFunc nuGfxTaskEndFunc; /* task end callback ptr */ -extern NUContReadFunc nuContReadFunc; /* When controller read ends */ - /* Callback function */ -/*--------------------------------------*/ -/* Debug */ -/*--------------------------------------*/ - -extern NUDebTaskPerf* nuDebTaskPerfPtr; -extern NUDebConWindow nuDebConWin[]; -extern NUDebTaskPerf nuDebTaskPerf[]; -extern u32 nuDebTaskPerfInterval; -extern volatile u32 nuDebTaskPerfCnt; -extern volatile u32 nuDebTaskPerfEnd; - - -/*----------------------------------------------------------------------*/ -/*----------------------------------------------------------------------*/ -/* Global Function */ -/*----------------------------------------------------------------------*/ -/*----------------------------------------------------------------------*/ -/*--------------------------------------*/ -/* Boot function */ -/*--------------------------------------*/ -extern void nuIdleFuncSet(void (*func)(void)); -extern void nuPreNMIFuncSet(NUScPreNMIFunc func); -/*--------------------------------------*/ -/* Scheduler function */ -/*--------------------------------------*/ -extern void nuScCreateScheduler(u8 videoMode, u8 numFields); -extern void nuScAddClient(NUScClient *c, OSMesgQueue *mq, NUScMsg msgType); -extern void nuScRemoveClient(NUScClient *client); -extern void nuScResetClientMesgType(NUScClient* client, NUScMsg msgType); -extern OSMesgQueue* nuScGetGfxMQ(void); -extern OSMesgQueue* nuScGetAudioMQ(void); -extern void nuScSetFrameBufferNum(u8 frameBufferNum); -extern s32 nuScGetFrameRate(void); - -/*--------------------------------------*/ -/* graphic(GFX) Manager function */ -/*--------------------------------------*/ -extern void nuGfxInit(void); -extern void nuGfxInitEX2(void); -extern void nuGfxThreadStart(void); -extern void nuGfxTaskMgrInit(void); -extern void nuGfxTaskStart(Gfx *gfxList_ptr, u32 gfxListSize, u32 ucode, u32 flag); -extern void nuGfxFuncSet(NUGfxFunc func); -extern void nuGfxPreNMIFuncSet(NUGfxPreNMIFunc func); -extern void nuGfxSwapCfbFuncSet(NUGfxSwapCfbFunc func); -extern void nuGfxSetCfb(u16** framebuf, u32 framebufnum); -extern void nuGfxSwapCfb(void* framebuffer); - -extern void nuGfxTaskEndFuncSet(NUGfxTaskEndFunc func); -extern void nuGfxTaskAllEndWait(void); -extern void nuGfxRetraceWait(u32 retrace_num); -extern void nuGfxDisplayOff(void); -extern void nuGfxDisplayOn(void); - -#ifdef F3DEX_GBI_2 -#define nuGfxInit() nuGfxInitEX2() -#endif /* F3DEX_GBI_2 */ -/*--------------------------------------*/ -/* controller Manager function */ -/*--------------------------------------*/ -extern u8 nuContInit(void); -extern s32 nuContMgr(void* mesg); -extern u8 nuContMgrInit(void); -extern void nuContMgrRemove(void); -extern void nuContDataLock(void); -extern void nuContDataUnLock(void); -extern void nuContDataRead(OSContPad* pad); -extern void nuContDataReadWait(void); -extern void nuContDataReadStart(void); -extern void nuContDataGet(OSContPad* contdata, u32 padno); -extern void nuContDataGetAll(OSContPad* contdata); -extern void nuContDataGetEx(NUContData *contdata, u32 padno); -extern void nuContDataGetExAll(NUContData *contdata); -extern void nuContReadFuncSet(NUContReadFunc func); -extern void nuContQueryRead(void); -extern void nuContDataClose(void); -extern void nuContDataOpen(void); - -/*--------------------------------------*/ -/* controller pak function */ -/*--------------------------------------*/ -extern s32 nuContPakMgr(void* mesg_type); -extern void nuContPakMgrInit(void); -extern void nuContPakMgrRemove(void); -extern void nuContPakJisToN64(u8* src, u8* dest, u32 len); -extern void nuContPakN64ToJis(u8* src, u8* dest, u32 len); -extern s32 nuContPakOpen(NUContPakFile *file, u32 contNo); -extern s32 nuContPakGetFree(NUContPakFile *file); -extern void nuContPakCodeSet(u8* companyCode, u8* gameCode); -extern s32 nuContPakRepairId(NUContPakFile *file); -extern s32 nuContPakFileOpen(NUContPakFile *file, - u8* noteName,u8* extName, u32 mode, s32 size); -extern s32 nuContPakFileOpenJis(NUContPakFile *file, - u8* noteName,u8* extName, u32 mode, s32 size); -extern s32 nuContPakFileReadWrite(NUContPakFile *file, - s32 offset, s32 size,u8* buf, u32 mode); -extern s32 nuContPakFileDelete(NUContPakFile *file, u8* noteName, u8* extName); -extern s32 nuContPakFileDeleteJis(NUContPakFile *file, u8* noteName, u8* extName); -extern s32 nuContPakFileState(NUContPakFile *file, OSPfsState* state); -extern s32 nuContPakFileNum(NUContPakFile *file, - s32 *max_files, s32 *used_files); -extern s32 nuContPakFileFread(NUContPakFile *file, s32 offset, s32 size, u8* buf); - -/*--------------------------------------*/ -/* rumbler pak functions */ -/*--------------------------------------*/ -extern void nuContRmbMgrInit(void); -extern s32 nuContRmbMgr(void* mesg); -extern void nuContRmbMgrRemove(void); -extern void nuContRmbStart(u32 contNo, u16 freq, u16 frame); -extern void nuContRmbStop(u32 contNo); -extern s32 nuContRmbCheck(u32 contNo); -extern void nuContRmbModeSet(u32 contNo, u8 mode); -extern void nuContRmbForceStop(void); -extern void nuContRmbForceStopEnd(void); -extern void nuContRmbSearchTimeSet(u32 frame); - -/*--------------------------------------*/ -/* 64GB Pack functions */ -/*--------------------------------------*/ -extern s32 nuContGBPakMgr(void* mesg); -extern void nuContGBPakMgrInit(void); -extern void nuContGBPakMgrRemove(void); -extern s32 nuContGBPakOpen(NUContPakFile* handle, s32 contNo); -extern s32 nuContGBPakGetStatus(NUContPakFile* handle, u8* status); -extern s32 nuContGBPakReadID(NUContPakFile* handle, OSGbpakId* id, u8* status); -extern s32 nuContGBPakReadWrite(NUContPakFile* handle, u16 flag , u16 address, u8* buffer, u16 size); -extern s32 nuContGBPakPower(NUContPakFile* handle, s32 flag); -extern s32 nuContGBPakCheckConnector(NUContPakFile* handle, u8* status); -extern s32 nuContGBPakFread(NUContPakFile* handle, u16 address, u8* buffer, u16 size); - -extern s32 nuContGBPakFwrite(NUContPakFile* handle, u16 address, u8* buffer, u16 size); -extern s32 nuContGBPakRegWrite(NUContPakFile* handle, u16 addr, u8 data); - -/*--------------------------------------*/ -/* eeprom functions */ -/*--------------------------------------*/ -extern void nuEepromMgrInit(void); -extern s32 nuEepromMgr(void* mesg); -extern s32 nuEepromCheck(void); -extern void nuEepromMgrRemove(void); -extern s32 nuEepromRead(u8 address, u8* buffer,u16 len); -extern s32 nuEepromWrite(u8 address, u8* buffer,u16 len); - - -/*--------------------------------------*/ -/* pi functions */ -/*--------------------------------------*/ -extern void nuPiInit(void); -extern void nuPiReadRom(u32 rom_addr, void* buf_ptr, u32 size); -extern void nuPiInitSram(void); -extern void nuPiInitDDrom(void); -extern void nuPiReadWriteSram(u32 addr, void* buf_ptr, u32 size, s32 flag); -extern void nuPiReadRomOverlay(NUPiOverlaySegment* segment); - -/*--------------------------------------*/ -/* si functions */ -/*--------------------------------------*/ -extern u8 nuSiMgrInit(void); -extern void nuSiCallBackAdd(NUCallBackList* list); -extern void nuSiCallBackRemove(NUCallBackList* list); -extern s32 nuSiSendMesg(NUScMsg mesg, void* dataPtr); -extern void nuSiSendMesgNW(NUScMsg mesg, void* dataPtr); -extern void nuSiMgrStop(void); -extern void nuSiMgrRestart(void); -/*--------------------------------------*/ -/* si functions */ -/*--------------------------------------*/ -extern s32 nuVrsMgr(void *mesg); -extern void nuVrsMgrInit(void); -extern s32 nuVrsOpen(NUVrsHandle* handle, s32 contNo); -extern s32 nuVrsClearDictionary(NUVrsHandle* handle, u8 words); -extern s32 nuVrsSetWord(NUVrsHandle* handle, u8* word); -extern s32 nuVrsStartReadData(NUVrsHandle* handle); -extern s32 nuVrsGetReadData(NUVrsHandle* handle, NUVrsData* data); -extern s32 nuVrsStopReadData(NUVrsHandle* handle); -extern s32 nuVrsControlGain(NUVrsHandle* handle, s32 analog, s32 digital); -extern s32 nuVrsMaskDictionary(NUVrsHandle* handle, u8* maskpattern, s32 size); - -/*--------------------------------------*/ -/* dubug functions */ -/*--------------------------------------*/ -#ifdef NDEBUG -#define nuDebTaskPerfBar0(EX0 ,EX1 ,EX2) ((void)0) -#define nuDebTaskPerfBar1(EX0 ,EX1 ,EX2) ((void)0) -#define nuDebTaskPerfBar0EX2(EX0 ,EX1 ,EX2) ((void)0) -#define nuDebTaskPerfBar1EX2(EX0 ,EX1 ,EX2) ((void)0) -#define nuDebPerfMarkSet(EX0) ((void)0) -#define nuDebTaskPerfIntervalSet(EX0) ((void)0) -#else -extern void nuDebTaskPerfBar0(u32 frameNum, u32 y, u32 flag); -extern void nuDebTaskPerfBar1(u32 frameNum, u32 y, u32 flag); -extern void nuDebTaskPerfBar0EX2(u32 frameNum, u32 y, u32 flag); -extern void nuDebTaskPerfBar1EX2(u32 frameNum, u32 y, u32 flag); -extern u32 nuDebPerfMarkSet(s32 markNo); -extern void nuDebTaskPerfIntervalSet(u32 interval); -#ifdef F3DEX_GBI_2 -#define nuDebTaskPerfBar0(a, b, c) nuDebTaskPerfBar0EX2(a, b, c) -#define nuDebTaskPerfBar1(a, b, c) nuDebTaskPerfBar1EX2(a, b, c) -#endif /* F3DEX_GBI_2 */ - -#endif /* NDEBUG */ - -extern void nuDebConDisp(u32 flag); -extern void nuDebConDispEX2(u32 flag); -extern void nuDebConCPuts(u32 wndNo, const char *s); -extern void nuDebConInc(NUDebConWindow* conWin); -extern void nuDebConRtn(NUDebConWindow* conWin); -extern void nuDebConEsc(NUDebConWindow* conWin, char esc); -extern void nuDebConWindowSet(u32 wndNo, u32 winX , u32 winY, u32 width, u32 height); -extern void nuDebConWindowSize(u32 wndNo, u32 width, u32 height); -extern void nuDebConWindowPos(u32 wndNo, u32 winX , u32 winY); -extern void nuDebConTextColor(u32 wndNo, u32 color); -extern void nuDebConTextAttr(u32 wndNo, u32 attr); -extern void nuDebConTextPos(u32 wndNo, u32 posX, u32 posY); -extern void nuDebConScroll(u32 wndNo, u32 flag); -extern void nuDebConWindowShow(u32 wndNo, u32 flag); -extern void nuDebConClear(u32 wndNo); -extern void nuDebConPutc(u32 wndNo, u32 c); -extern void nuDebTaskPerfLoad(void); -extern void nuDebConPrintf(u32 wndNo, const char* fmt, ...); - - -#ifdef F3DEX_GBI_2 -#define nuDebConDisp(flag) nuDebConDispEX2(flag) -#endif /* F3DEX_GBI_2 */ - -/*----------------------------------------------------------------------*/ -/*----------------------------------------------------------------------*/ -/* MACRO */ -/*----------------------------------------------------------------------*/ -/*----------------------------------------------------------------------*/ - -/*----------------------------------------------------------------------*/ -/* Registers the graphics microcode */ -/* IN: Pointer to the graphics microcode NUUcode array */ -/*----------------------------------------------------------------------*/ -#define nuGfxSetUcode(ucode) \ -{ \ - nuGfxUcode = ucode; \ -} -/*----------------------------------------------------------------------*/ -/* Z buffer settings */ -/* IN: Pointer to the Z buffer */ -/*----------------------------------------------------------------------*/ -#define nuGfxSetZBuffer(ZBuf_p) \ -{ \ - nuGfxZBuffer = ZBuf_p; \ -} -/*----------------------------------------------------------------------*/ -/* Remove callback functions */ -/* IN: nothing */ -/*----------------------------------------------------------------------*/ -#define nuPreNmiFuncRemove() nuPreNmiFuncSet(NULL) -#define nuGfxFuncRemove() nuGfxFuncSet(NULL) -#define nuGfxPreNMIFuncRemove() nuGfxPreNMIFuncSet(NULL) -#define nuGfxSwapCfbFuncRemove() nuGfxSwapCfbFuncSet(NULL) -#define nuGfxTaskEndFuncRemove() nuGfxTaskEndFuncSet(NULL) -#define nuContReadFuncRemove() nuContReadFuncSet(NULL) - -/*----------------------------------------------------------------------*/ -/* nuContDataGet - Obtains Controller data */ -/* Obtains read data from the Controller Manager. */ -/* */ -/* IN: *contpad Pointer to the Controller structure */ -/* cont_no Controller number */ -/*----------------------------------------------------------------------*/ -#if 0 -#define nuContDataGet(contpad, cont_no) \ -{ \ - bcopy(&nuContData[cont_no], contpad, sizeof(OSContPad)); \ -} - -/*----------------------------------------------------------------------*/ -/* nuContDataGetAll - Obtains Controller data */ -/* Obtains read data from the Controller Manager. */ -/* Copies all 4 buffers. */ -/* IN: *contpad Pointer to the Controller structure */ -/* cont_no Controller number */ -/*----------------------------------------------------------------------*/ -#define nuContDataGetAll(contpad) \ -{ \ - bcopy(&nuContData[0], contpad, sizeof(OSContPad)*MAXCONTROLLERS);\ -} -#endif -/*----------------------------------------------------------------------*/ -/* nuContPakFileFind - Search node */ -/*----------------------------------------------------------------------*/ -#define nuContPakFileFind(file, nodeName, extName) \ - nuContPakFileOpen(file, nodeNname, extName, NU_CONT_PAK_NOCREAT, 0)\ - - -/*----------------------------------------------------------------------*/ -/* nuContPakFileFindJis - Search node */ -/*----------------------------------------------------------------------*/ -#define nuContPakFileFindJis(file, nodeName, extName) \ - nuContPakFileOpenJis(file, nodeNname, extName, NU_CONT_PAK_NOCREAT, 0)\ - -/*----------------------------------------------------------------------*/ -/* nuContPakFileRead - Read note */ -/*----------------------------------------------------------------------*/ -#define nuContPakFileRead(file, offset, size, buf) \ - nuContPakFileReadWrite(file, offset, size, buf, PFS_READ) \ - -/*----------------------------------------------------------------------*/ -/* nuContPakFileWrite - Read note */ -/*----------------------------------------------------------------------*/ -#define nuContPakFileWrite(file, offset, size, buf) \ - nuContPakFileReadWrite(file, offset, size, buf, PFS_WRITE) \ - -/*----------------------------------------------------------------------*/ -/* nuDebConPuts - String output (with newline) */ -/*----------------------------------------------------------------------*/ -#define nuDebConPuts(wndNo, s) \ -{ \ - nuDebConCPuts(wndNo, s); \ - nuDebConRtn(&nuDebConWin[wndNo]); \ -} - -/*----------------------------------------------------------------------*/ -/* nuContGBPakRead - Read from the GB cartridge */ -/*----------------------------------------------------------------------*/ -#define nuContGBPakRead(file, address, buf, size) \ - nuContGBPakReadWrite(file, OS_READ, address, buf, size) - -/*----------------------------------------------------------------------*/ -/* nuContGBPakWrite - Write to the GB cartridge */ -/*----------------------------------------------------------------------*/ -#define nuContGBPakWrite(file, address, buf, size) \ - nuContGBPakReadWrite(file, OS_WRITE, address, buf, size) - -/*----------------------------------------------------------------------*/ -/* nuPiReadSram - Read from SRAM */ -/*----------------------------------------------------------------------*/ -#define nuPiReadSram(addr, buf_ptr, size) \ - nuPiReadWriteSram(addr, buf_ptr, size, OS_READ) - -/*----------------------------------------------------------------------*/ -/* nuPiWriteSram - Write to SRAM */ -/*----------------------------------------------------------------------*/ -#define nuPiWriteSram(addr, buf_ptr, size) \ - nuPiReadWriteSram(addr, buf_ptr, size, OS_WRITE) - -/*----------------------------------------------------------------------*/ -/* Define voice recognition macros */ -/*----------------------------------------------------------------------*/ -#define nuVrsCheckWord osVoiceCheckWord -#define nuVrsCountSyllables osVoiceCountSyllables - - - -#endif /* defined(_LANGUAGE_C) || defined(_LANGUAGE_C_PLUS_PLUS) */ -#ifdef _LANGUAGE_C_PLUS_PLUS -} -#endif -#endif /* _NUSYS_H_ */ +/*======================================================================*/ +/* NuSYS */ +/* nusys.h */ +/* */ +/* Copyright (C) 1997, NINTENDO Co,Ltd. */ +/* */ +/*----------------------------------------------------------------------*/ +/* Ver 1.0 97/10/09 Created by Kensaku Ohki(SLANP) */ +/* Ver 1.2 98/07/12 Modified by Kensaku Ohki(SLANP) */ +/* Ver 2.0 90/01/23 Modified by Kensaku Ohki(SLANP) */ +/*----------------------------------------------------------------------*/ +/* $Id: nusys.h,v 1.26 1999/05/07 08:23:45 ohki Exp ohki $ */ +/*======================================================================*/ +#ifndef _NUSYS_H_ +#define _NUSYS_H_ + +#if defined(_LANGUAGE_C) || defined(_LANGUAGE_C_PLUS_PLUS) + +#ifndef F3DEX_GBI +#define F3DEX_GBI +#endif /* F3DEX_GBI */ + +#include +#include +#endif + +#ifdef _LANGUAGE_C_PLUS_PLUS +extern "C" { +#endif + +/*----------------------------------------------------------------------*/ +/*----------------------------------------------------------------------*/ +/* DEFINE */ +/*----------------------------------------------------------------------*/ +/*----------------------------------------------------------------------*/ +#define NU_VERSION "2.05" + +/*--------------------------------------*/ +/* NuSystem spec define */ +/*--------------------------------------*/ +#define NU_SPEC_BOOT_STACK_SIZE 0x2000 +#define NU_SPEC_BOOT_ADDR 0x80025c00 +#define NU_SPEC_BOOT_STACK nuMainStack + NU_SPEC_BOOT_STACK_SIZE + +/*--------------------------------------*/ +/* Thread ID for DEBUG (a precaution) */ +/*--------------------------------------*/ +#define NU_IDLE_THREAD_ID 1 +#define NU_RMON_THREAD_ID 2 /* no use */ +#define NU_MAIN_THREAD_ID 3 + + +/*--------------------------------------*/ +/* NuSYS Thread Priority */ +/*--------------------------------------*/ +#define NU_IDLE_THREAD_PRI OS_PRIORITY_IDLE /* Idle thread */ +#define NU_RMON_THREAD_PRI OS_PRIORITY_RMON /* no use */ +#define NU_MAIN_THREAD_PRI 10 /* main thread */ + +/*--------------------------------------*/ +/* NUSYS STACK SIZE */ +/*--------------------------------------*/ +#define NU_IDLE_STACK_SIZE 0x2000 /* Idle thread */ +#define NU_RMON_STACK_SIZE 0x2000 /* Rmon thread */ +#define NU_MAIN_STACK_SIZE NU_SPEC_BOOT_STACK_SIZE /* Main thread */ + + + + +/*----------------------------------------------------------------------*/ +/* SCHEDULER DEFINE */ +/*----------------------------------------------------------------------*/ +#define NU_SC_STACK_SIZE 0x2000 /* Thread stack size */ +#define NU_SC_NOSWAPBUFFER 0x0000 /* No swap */ +#define NU_SC_SWAPBUFFER 0x0001 /* Swap frame buffer */ +#define NU_SC_NORDP 0x0002 /* Do not wait for RDP finish */ +#define NU_SC_UCODE_XBUS 0x0004 /* XBUS Ucode */ +#define NU_SC_TASK_YIELDED (OS_TASK_YIELEDE<<16) +#define NU_SC_TASK_DP_WAIT (OS_TASK_DP_WAIT<<16) /* RDP WAIT */ +#define NU_SC_TASK_LODABLE (OS_TASK_LOADBLE<<16) /* LOADABLE */ +#define NU_SC_TASK_SP_ONLY (OS_TASK_SP_ONLY<<16) /* SP ONLY */ + + +#define NU_SC_RETRACE_MSG 0x0001 /* Retrace message */ +#define NU_SC_PRENMI_MSG 0x0002 /* NMI message */ +#define NU_SC_SWAPBUFFER_MSG 0x0004 /* Swap frame buffer message*/ +#define NU_SC_GTASKEND_MSG 0x0008 /* Task finished message */ +#define NU_SC_MAX_MESGS 8 /* Message buffer size */ + +#define NU_SC_HANDLER_PRI 120 /* EVENT HANDLER THREAD PRORITY */ +#define NU_SC_AUDIO_PRI 110 /* AUDIO DISPATCHER THREAD PRORITY */ +#define NU_SC_GRAPHICS_PRI 100 /* GFX DISPATCHER THREAD PRORITY */ +#define NU_SC_HANDLER_THREAD_ID 19 +#define NU_SC_AUDIO_THREAD_ID 18 +#define NU_SC_GRAPHICS_THREAD_ID 17 +#define NU_SC_PRENMI_YET 0 /* PRE NMI has not occurred. */ +#define NU_SC_PRENMI_GET 1 /* PRE NMI received flag */ +#define NU_SC_BEFORE_RESET 2 /* Pre-RESET flag for frame before reset */ +#define NU_SC_BEFORE_RESET_FRAME 2 /* Number of frames before reset where BEFORE_RESET flag is set. */ +/*----------------------------------------------------------------------*/ +/* GRAFIC THREAD DEFINE */ +/*----------------------------------------------------------------------*/ +#define NU_GFX_THREAD_ID 4 +#define NU_GFX_TASKMGR_THREAD_ID 5 +#define NU_GFX_STACK_SIZE 0x2000 /* Thread stack size */ +#define NU_GFX_MESGS 8 /* GFX message queue*/ +#define NU_GFX_TASKMGR_STACK_SIZE 0x2000 /* Stack size */ +#define NU_GFX_TASKMGR_MESGS 8 /*Task Manager queue*/ +#define NU_GFX_THREAD_PRI 50 /* GFX thread priority */ +#define NU_GFX_TASKMGR_THREAD_PRI 60 /* Task Manager priority */ + +/*----------------------------------------------------------------------*/ +/* GRAFIC MANEGER DEFINE */ +/*----------------------------------------------------------------------*/ +#ifdef F3DEX_GBI_2 +#define NU_GFX_UCODE_F3DEX2 0 /* F3DEX microcode */ +#define NU_GFX_UCODE_F3DEX2_NON 1 /* F3DEX.NoN microcode */ +#define NU_GFX_UCODE_F3DEX2_REJ 2 /* F3DEX.NoN microcode */ +#define NU_GFX_UCODE_F3DLX2_REJ 3 /* F3DEX.ReJ microcode */ +#define NU_GFX_UCODE_L3DEX2 4 /* L3DEX microcode */ +#define NU_GFX_UCODE_S2DEX2 5 /* S2DEX microcode */ + +#define NU_GFX_UCODE_F3DEX 0 /* For compatibility */ +#define NU_GFX_UCODE_F3DEX_NON 1 /* For compatibility */ +#define NU_GFX_UCODE_F3DLX 0 /* For compatibility */ +#define NU_GFX_UCODE_F3DLX_NON 1 /* For compatibility */ +#define NU_GFX_UCODE_F3DLX_REJ 4 /* For compatibility */ +#define NU_GFX_UCODE_F3DLP_REJ 3 /* For compatibility */ +#define NU_GFX_UCODE_L3DEX 4 /* For compatibility */ +#define NU_GFX_UCODE_S2DEX 5 /* For compatibility */ +#define NU_GFX_UCODE_S2DEX_D 5 /* For compatibility */ + +#else +#define NU_GFX_UCODE_F3DEX 0 /* F3DEX microcode */ +#define NU_GFX_UCODE_F3DEX_NON 1 /* F3DEX.NoN microcode */ +#define NU_GFX_UCODE_F3DLX 2 /* F3DLX microcode */ +#define NU_GFX_UCODE_F3DLX_NON 3 /* F3DLX.NoN microcode */ +#define NU_GFX_UCODE_F3DLX_REJ 4 /* F3DEX.ReJ microcode */ +#define NU_GFX_UCODE_F3DLP_REJ 5 /* F3DLP.Rej microcode */ +#define NU_GFX_UCODE_L3DEX 6 /* L3DEX microcode */ +#define NU_GFX_UCODE_S2DEX 7 /* S2DEX microcode */ +#define NU_GFX_UCODE_S2DEX_D 8 /* S2DEX microcode */ +#endif /* F3DEX_GBI_2 */ + + +/*----------------------------------------------*/ +/* The number of graphics task structures */ +/* should be set to a value at least as large as*/ +/* the Scheduler */ +/* message buffer size. */ +/* Otherwise, a task structure in use may */ +/* be used. */ +/*----------------------------------------------*/ +#define NU_GFX_TASK_NUM 10 /* Number of graphics task structures */ +#define NU_GFX_RDP_OUTPUTBUFF_SIZE 0x20000 /* fifo buffer size */ + +/*--------------------------------------*/ +/* Default frame buffer */ +/* The default frame buffer */ +/* is the 320x240 16-bit triple */ +/* xxbuffer in the high-order */ +/* area of RDRAM.xx */ +/*--------------------------------------*/ +#define NU_GFX_FRAMEBUFFER_NUM 3 +#define NU_GFX_FRAMEBUFFER_ADDR (0x80400000-320*240*2*3) +#define NU_GFX_FRAMEBUFFER0_ADDR (NU_GFX_FRAMEBUFFER_ADDR) +#define NU_GFX_FRAMEBUFFER1_ADDR (NU_GFX_FRAMEBUFFER0_ADDR+320*240*2) +#define NU_GFX_FRAMEBUFFER2_ADDR (NU_GFX_FRAMEBUFFER1_ADDR+320*240*2) + +#define NU_GFX_INIT_SCREEN_WD 320 +#define NU_GFX_INIT_SCREEN_HT 240 + +/*--------------------------------------*/ +/* Default Z -buffer is located in */ +/* xxlow-order memory.xx */ +/*--------------------------------------*/ +#define NU_GFX_ZBUFFER_ADDR 0x80000400 + +#define NU_GFX_DISPLAY_OFF 0 /* No display */ +#define NU_GFX_DISPLAY_ON 1 /* Display */ +#define NU_GFX_DISPLAY_ON_TRIGGER 0x80 /* Trigger */ + +#define NU_GFX_YIELD_BUF_SIZE (OS_YIELD_DATA_SIZE + 0x10) + +/*----------------------------------------------------------------------*/ +/* SI MANAGER DEFINE */ +/*----------------------------------------------------------------------*/ +#define NU_SI_STACK_SIZE NU_CONT_STACK_SIZE +#define NU_SI_THREAD_ID NU_CONT_THREAD_ID +#define NU_SI_THREAD_PRI NU_CONT_THREAD_PRI +#define NU_SI_MESG_MAX NU_CONT_MESG_MAX +#define NU_SI_CALLBACK_END 1 +#define NU_SI_CALLBACK_CONTINUE 0 +#define NU_SI_SC_MAJOR_NO 0x0000 +#define NU_SI_MSG_MAJOR_NO_MASK 0xff00 +#define NU_SI_MSG_MINOR_NO_MASK 0x00ff + +#define NU_SI_MAJOR_NO_CONT 0x0100 +#define NU_SI_MAJOR_NO_PAK 0x0200 +#define NU_SI_MAJOR_NO_RMB 0x0300 +#define NU_SI_MAJOR_NO_EEPROM 0x0400 +#define NU_SI_MAJOR_NO_GBPAK 0x0500 +#define NU_SI_MAJOR_NO_VRS 0x0600 +#define NU_SI_STOP_MGR_MSG 0x7F00 + +/*----------------------------------------------------------------------*/ +/* CONTROLLER MANEGER DEFINE */ +/*----------------------------------------------------------------------*/ +#define NU_CONT_MAXCONTROLLERS MAXCONTROLLERS +#define NU_CONT_STACK_SIZE 0x2000 +#define NU_CONT_MESG_MAX 8 +#define NU_CONT_THREAD_ID 6 +#define NU_CONT_THREAD_PRI 115 +#define NU_CONT_DATA_UNLOCK 0 +#define NU_CONT_DATA_LOCK 1 + + +/*----------------------------------------------------------------------*/ +/* Define messages sent to the Controller Manager */ +/*----------------------------------------------------------------------*/ +#define NU_CONT_MSG_BASE NU_SI_MAJOR_NO_CONT +#define NU_CONT_RETRACE_MSG (NU_CONT_MSG_BASE+0) +#define NU_CONT_READ_MSG (NU_CONT_MSG_BASE+1) +#define NU_CONT_READ_NW_MSG (NU_CONT_MSG_BASE+2) +#define NU_CONT_QUERY_MSG (NU_CONT_MSG_BASE+3) + + +#define NU_CONT_PAK_MSG_BASE NU_SI_MAJOR_NO_PAK +#define NU_CONT_PAK_RETRACE_MSG (NU_CONT_PAK_MSG_BASE+0) +#define NU_CONT_PAK_OPEN_MSG (NU_CONT_PAK_MSG_BASE+1) +#define NU_CONT_PAK_FREE_MSG (NU_CONT_PAK_MSG_BASE+2) +#define NU_CONT_PAK_FOPEN_MSG (NU_CONT_PAK_MSG_BASE+3) +#define NU_CONT_PAK_READWRITE_MSG (NU_CONT_PAK_MSG_BASE+4) +#define NU_CONT_PAK_FILEDELETE_MSG (NU_CONT_PAK_MSG_BASE+5) +#define NU_CONT_PAK_FILESTATE_MSG (NU_CONT_PAK_MSG_BASE+6) +#define NU_CONT_PAK_FILENUM_MSG (NU_CONT_PAK_MSG_BASE+7) +#define NU_CONT_PAK_REPAIRID_MSG (NU_CONT_PAK_MSG_BASE+8) + +#define NU_CONT_PAK_MODE_NOCREATE 0 +#define NU_CONT_PAK_MODE_CREATE 1 +#define NU_CONT_PAK_TYPE_NONE 0 +#define NU_CONT_PAK_TYPE_PAK 1 /* Controller Pak */ +#define NU_CONT_PAK_TYPE_RUMBLE 2 /* Rumble Pak */ +#define NU_CONT_PAK_TYPE_GBPAK 3 /* 64GB Pak */ +#define NU_CONT_PAK_READ PFS_READ +#define NU_CONT_PAK_WRITE PFS_WRITE + +/*----------------------------------------------------------------------*/ +/* Rumble Pak control */ +/*----------------------------------------------------------------------*/ +#define NU_CONT_RMB_STATE_STOP 0x00 +#define NU_CONT_RMB_STATE_STOPPING 0x01 +#define NU_CONT_RMB_STATE_STOPPED 0x02 +#define NU_CONT_RMB_STATE_RUN 0x03 +#define NU_CONT_RMB_STATE_FORCESTOP 0x04 +#define NU_CONT_RMB_MODE_DISABLE 0x00 +#define NU_CONT_RMB_MODE_ENABLE 0x01 +#define NU_CONT_RMB_MODE_AUTORUN 0x02 +#define NU_CONT_RMB_MODE_PAUSE 0x80 +#define NU_CONT_RMB_AUTO_SEARCH 0x00 +#define NU_CONT_RMB_AUTO_FIND 0x01 +#define NU_CONT_RMB_AUTO_SEARCHTIME (60*5) +#define NU_CONT_RMB_MSG_BASE NU_SI_MAJOR_NO_RMB +#define NU_CONT_RMB_RETRACE_MSG (NU_CONT_RMB_MSG_BASE+0) +#define NU_CONT_RMB_CHECK_MSG (NU_CONT_RMB_MSG_BASE+1) +#define NU_CONT_RMB_START_MSG (NU_CONT_RMB_MSG_BASE+2) +#define NU_CONT_RMB_STOP_MSG (NU_CONT_RMB_MSG_BASE+3) +#define NU_CONT_RMB_FORCESTOP_MSG (NU_CONT_RMB_MSG_BASE+4) +#define NU_CONT_RMB_FORCESTOPEND_MSG (NU_CONT_RMB_MSG_BASE+5) + +/*----------------------------------------------------------------------*/ +/* EEPROM */ +/*----------------------------------------------------------------------*/ +#define NU_EEPROM_MSG_BASE NU_SI_MAJOR_NO_EEPROM +#define NU_EEPROM_RETRACE_MSG (NU_EEPROM_MSG_BASE+0) +#define NU_EEPROM_CHECK_MSG (NU_EEPROM_MSG_BASE+1) +#define NU_EEPROM_READ_MSG (NU_EEPROM_MSG_BASE+2) +#define NU_EEPROM_WRITE_MSG (NU_EEPROM_MSG_BASE+3) + + +/*----------------------------------------------------------------------*/ +/* 64GB Pack Manager */ +/*----------------------------------------------------------------------*/ +#define NU_CONT_GBPAK_MSG_BASE NU_SI_MAJOR_NO_GBPAK +#define NU_CONT_GBPAK_RETRACE_MSG (NU_CONT_GBPAK_MSG_BASE+0) +#define NU_CONT_GBPAK_OPEN_MSG (NU_CONT_GBPAK_MSG_BASE+1) +#define NU_CONT_GBPAK_STATUS_MSG (NU_CONT_GBPAK_MSG_BASE+2) +#define NU_CONT_GBPAK_POWER_MSG (NU_CONT_GBPAK_MSG_BASE+3) +#define NU_CONT_GBPAK_READID_MSG (NU_CONT_GBPAK_MSG_BASE+4) +#define NU_CONT_GBPAK_READWRITE_MSG (NU_CONT_GBPAK_MSG_BASE+5) +#define NU_CONT_GBPAK_CHECKCONNECTOR_MSG (NU_CONT_GBPAK_MSG_BASE+6) + +#define NU_CONT_GBPAK_POWER_OFF OS_GBPAK_POWER_OFF +#define NU_CONT_GBPAK_POWER_ON OS_GBPAK_POWER_ON +#define NU_CONT_GBPAK_MBC_RAM_ENABLE_CODE 0x0a +#define NU_CONT_GBPAK_MBC_RAM_DISABLE_CODE 0x00 +#define NU_CONT_GBPAK_MBC_RAM_REG0_ADDR 0x0000 + +#define NU_CONT_GBPAK_MBC_REG0_ADDR 0x0000 /* Register 0 */ +#define NU_CONT_GBPAK_MBC_REG1_ADDR 0x2100 /* Register 1 */ +#define NU_CONT_GBPAK_MBC_REG2_ADDR 0x4000 /* Register 2 */ +#define NU_CONT_GBPAK_MBC_REG3_ADDR 0x6000 /* Register 3 */ + +/*----------------------------------------------------------------------*/ +/* Voice Recognition System Manager */ +/*----------------------------------------------------------------------*/ +#define NU_VRS_MSG_BASE NU_SI_MAJOR_NO_VRS +#define NU_VRS_RETRACE_MSG (NU_VRS_MSG_BASE+0) +#define NU_VRS_OPEN_MSG (NU_VRS_MSG_BASE+1) +#define NU_VRS_CLEAR_DICTIONARY_MSG (NU_VRS_MSG_BASE+2) +#define NU_VRS_SET_WORD_MSG (NU_VRS_MSG_BASE+3) +#define NU_VRS_MASK_DICTIONARY_MSG (NU_VRS_MSG_BASE+4) +#define NU_VRS_START_READ_DATA_MSG (NU_VRS_MSG_BASE+5) +#define NU_VRS_GET_READ_DATA_MSG (NU_VRS_MSG_BASE+6) +#define NU_VRS_STOP_READ_DATA_MSG (NU_VRS_MSG_BASE+7) +#define NU_VRS_CONTROL_GAIN_MSG (NU_VRS_MSG_BASE+8) + +/*----------------------------------------------------------------------*/ +/* PI DEFINE */ +/*----------------------------------------------------------------------*/ +#define NU_PI_MESG_NUM 50 /* PI message buffer size */ +#define NU_PI_CART_BLOCK_READ_SIZE 0x4000 /* cart read block size */ + +/*----------------------------------------------------------------------*/ +/* DEBUG */ +/*----------------------------------------------------------------------*/ +#define NU_DEB_PERF_BUF_NUM 3 +#define NU_DEB_PERF_GFXTASK_CNT 8 /* Graphics task count */ +#define NU_DEB_PERF_AUTASK_CNT 4 /* Audio task count */ +#define NU_DEB_PERF_RUNNING 0 /* Sampling */ +#define NU_DEB_PERF_STOP 1 /* Stop sampling */ +#define NU_DEB_PERF_START 2 /* Start sampling */ +#define NU_DEB_DP_CLOCK_CTR 0 /* RDP internal counter */ +#define NU_DEB_DP_CMD_CTR 1 /* CMD counter */ +#define NU_DEB_DP_PIPE_CTR 2 /* PIPE counter */ +#define NU_DEB_DP_TMEM_CTR 3 /* TMEM counter */ +#define NU_DEB_BAR_FRAME1 0 /* For the performance bar */ +#define NU_DEB_BAR_FRAME2 1 /* Maximum number displayed */ +#define NU_DEB_BAR_FRAME3 2 +#define NU_DEB_BAR_FRAME4 3 +#define NU_DEB_BAR_FRAME5 4 +#define NU_DEB_BAR_FRAME6 5 +#define NU_DEB_BAR_FRAME7 6 +#define NU_DEB_CON_ROW_MAX 40 /* Number of rows in console */ +#define NU_DEB_CON_COLUMN_MAX 30 /* Number of columns in console */ +#define NU_DEB_CON_TEXT_SIZE (NU_DEB_CON_ROW_MAX*NU_DEB_CON_COLUMN_MAX) +#define NU_DEB_CON_WIDTH 320 +#define NU_DEB_CON_WINDOW_NUM 4 +#define NU_DEB_CON_WINDOW0 0 +#define NU_DEB_CON_WINDOW1 1 +#define NU_DEB_CON_WINDOW2 2 +#define NU_DEB_CON_WINDOW3 3 +#define NU_DEB_CON_TEXT_BLACK 0 /* Black */ +#define NU_DEB_CON_TEXT_BLUE 1 /* Blue */ +#define NU_DEB_CON_TEXT_GREEN 2 /* Green */ +#define NU_DEB_CON_TEXT_CYAN 3 /* Cyan */ +#define NU_DEB_CON_TEXT_RED 4 /* Red */ +#define NU_DEB_CON_TEXT_MAGENTA 5 /* Magenta */ +#define NU_DEB_CON_TEXT_YELLOW 6 /* yellow */ +#define NU_DEB_CON_TEXT_WHITE 7 /* White */ +#define NU_DEB_CON_TEXT_LIGHTBLACK 8 /* Gray */ +#define NU_DEB_CON_TEXT_LIGHTBLUE 9 /* Bright Blue */ +#define NU_DEB_CON_TEXT_LIGTHBLUE 9 /* Bright Blue (misspelled) */ +#define NU_DEB_CON_TEXT_LIGHTGREEN 10 /* Bright Green */ +#define NU_DEB_CON_TEXT_LIGHTCYAN 11 /* Bright Cyan */ +#define NU_DEB_CON_TEXT_LIGHTRED 12 /* Bright Red */ +#define NU_DEB_CON_TEXT_LIGHTMAGENTA 13 /* Bright Magenta */ +#define NU_DEB_CON_TEXT_LIGHTYELLOW 14 /* Bright yellow */ +#define NU_DEB_CON_TEXT_LIGHTWHITE 15 /* White */ +#define NU_DEB_CON_ATTR_NORMAL 0x0 /* No attribute*/ +#define NU_DEB_CON_ATTR_BLINK 0x1 /* Blinking */ +#define NU_DEB_CON_ATTR_REVERSE 0x2 /* Highlight */ +#define NU_DEB_CON_SCROLL_ON 1 +#define NU_DEB_CON_SCROLL_OFF 0 +#define NU_DEB_CON_WINDOW_OFF 0 +#define NU_DEB_CON_WINDOW_ON 1 + +#define NU_DEB_MARKER_NUM 10 + +#if defined(_LANGUAGE_C) || defined(_LANGUAGE_C_PLUS_PLUS) +/*----------------------------------------------------------------------*/ +/*----------------------------------------------------------------------*/ +/* structer define */ +/*----------------------------------------------------------------------*/ +/*----------------------------------------------------------------------*/ +/*--------------------------------------*/ +/* Scheduler sturcter */ +/*--------------------------------------*/ +typedef short NUScMsg; /* Scheduler message type */ + +typedef struct st_SCClient { /* Client list structure */ + struct st_SCClient* next; /* Pointer to next client */ + OSMesgQueue* msgQ; /* Message sent to client */ + NUScMsg msgType; /* Type of message */ + /* NU_SC_RETRACE_MSG or*/ + /* NU_SC_PRENMI_MSG */ +} NUScClient; + +typedef struct st_SCTask { /* Task structure */ + struct st_SCTask *next; + u32 state; + u32 flags; + void *framebuffer; /* For graphics tasks */ + OSTask list; + OSMesgQueue *msgQ; + OSMesg msg; +} NUScTask; + +typedef struct st_Sched { /* Define the Scheduler structure. */ + + /* message */ + NUScMsg retraceMsg; + NUScMsg prenmiMsg; + + /* Define the Task request queue. */ + OSMesgQueue audioRequestMQ; + OSMesg audioRequestBuf[NU_SC_MAX_MESGS]; + OSMesgQueue graphicsRequestMQ; + OSMesg graphicsRequestBuf[NU_SC_MAX_MESGS]; + + /* Define the message queue. */ + OSMesgQueue retraceMQ; + OSMesg retraceMsgBuf[NU_SC_MAX_MESGS]; + OSMesgQueue rspMQ; + OSMesg rspMsgBuf[NU_SC_MAX_MESGS]; + OSMesgQueue rdpMQ; + OSMesg rdpMsgBuf[NU_SC_MAX_MESGS]; + + /* Implement wait for next retrace. */ + OSMesgQueue waitMQ; + OSMesg waitMsgBuf[NU_SC_MAX_MESGS]; + + /* Define threads.*/ + OSThread schedulerThread; /* Main thread */ + OSThread audioThread; /* Audio */ + OSThread graphicsThread; /* Graphics */ + + /* client list */ + NUScClient *clientList; + + /* The graphics task being executed. */ + NUScTask *curGraphicsTask; + NUScTask *curAudioTask; + NUScTask *graphicsTaskSuspended; + + u32 retraceCount; + u8 frameRate; + u8 frameBufferNum; /* Number of frame buffers */ + + +} NUSched; + + +/*--------------------------------------*/ +/* ucode structure */ +/*--------------------------------------*/ +typedef struct st_Ucode { + u64* ucode; + u64* ucode_data; +} NUUcode; + +/*--------------------------------------*/ +/* CALL BACK Function typedef */ +/*--------------------------------------*/ +typedef void (*NUIdleFunc)(void); /* Pointer to the idle callback function */ +typedef void (*NUScPreNMIFunc)(void); /* Pointer to PRENMI callback function */ +typedef void (*NUGfxFunc)(u32); /* Pointer to the GFX retrace callback function */ +typedef void (*NUGfxPreNMIFunc)(void); /* Pointer to the GFX PRENMI callback function */ + +typedef void (*NUGfxSwapCfbFunc)(void*);/* Pointer to the SWAPBUF callback function */ +typedef void (*NUGfxTaskEndFunc)(void*);/* Pointer to the TASKEND callback function */ +typedef void (*NUContReadFunc)(u32); /* Pointer to the Controller end-read */ + /* callback function */ +typedef void (*NUContPakFunc)(void*); /* Controller Pak control function callback */ +typedef void (*NUContRmbFunc)(void*); /* Rumble Pak control function callback */ +typedef s32 (*NUCallBackFunc)(void*); /* Callback function */ + + +/*--------------------------------------*/ +/* PI Common Message */ +/*--------------------------------------*/ +typedef struct st_PiOverlaySegment { + u8* romStart; /* Segment's ROM start offset */ + u8* romEnd; /* Segment's ROM end offset */ + u8* ramStart; /* Segment's CPU start address */ + u8* textStart; /* test attribute's DRAM start address */ + u8* textEnd; /* test attribute's DRAM end address */ + u8* dataStart; /* data attribute's DRAM start address */ + u8* dataEnd; /* data attribute's DRAM end address */ + u8* bssStart; /* bss attribute's DRAM start address */ + u8* bssEnd; /* bss attribute's DRAM start address */ +} NUPiOverlaySegment; + +/*--------------------------------------*/ +/* SI Common message */ +/*--------------------------------------*/ +typedef struct st_SiCommonMesg { + NUScMsg mesg; + OSMesgQueue* rtnMesgQ; + s32 error; + void* dataPtr; +} NUSiCommonMesg; + +/*--------------------------------------*/ +/* controller typedef */ +/*--------------------------------------*/ +typedef struct st_ContRead { + NUScMsg mesg; /* Type of message */ + OSMesgQueue* rtnMesgQ; + OSContPad* pad; +} NUContReadMesg; + +typedef struct st_ContData { + u16 button; /* A,B,C,Z,L,R,START,PAD ,button */ + s8 stick_x; /* Range acutally used: -61 <= stick X <= 61 */ + s8 stick_y; /* Range actually used: -63 <= stick Y <= 63 */ + u8 errno; /* Error */ + u16 trigger; /* Button trigger data */ +} NUContData; + +typedef struct st_ContQuery { + NUScMsg mesg; + OSMesgQueue* rtnMesgQ; +} NUContQueryMesg; + + +typedef struct st_ContPakFile { + OSPfs *pfs; + s32 file_no; + s32 error; + u32 type; +} NUContPakFile; + + +typedef struct st_ContPakFreeMesg { + NUContPakFile* file; + s32 size; +} NUContPakFreeMesg; + +typedef struct st_ContPakFileOpenMesg { + NUContPakFile* file; + u8* noteName; + u8* extName; + s32 size; + s32 mode; +} NUContPakFileOpenMesg; + +typedef struct st_ContPakFileRWMesg { + NUContPakFile* file; + s32 offset; + s32 size; + u8 mode; + u8* buf; +} NUContPakFileRWMesg; + +typedef struct st_ContPakFileStateMesg { + NUContPakFile* file; + OSPfsState* state; +} NUContPakFileStateMesg; + +typedef struct st_ContPakFileNumMesg { + NUContPakFile* file; + s32* max_files; + s32* used_files; +} NUContPakFileNumMesg; + +typedef struct st_ContPakIsPlugMesg { + NUScMsg mesg; + OSMesgQueue* rtnMesgQ; + s32 error; + u8 bitPattern; +} NUContPakIsPlugMesg; + +typedef struct st_ContRmbCtl { + u16 freq; /* Vibration frequency */ + u16 frame; + u16 counter; + u8 state; + u8 mode; + u8 autorun; + u8 type; +} NUContRmbCtl; + +typedef struct st_ContRmbMesg { + u8 contNo; + s32 error; + void* data; +} NUContRmbMesg; + +typedef struct st_CallBackList { + struct st_CallBackList* next; + s32 (**func)(NUSiCommonMesg*); + u16 majorNo; + u8 funcNum; +} NUCallBackList; + +typedef struct st_EepromMesg { + void* dataPtr; + s32 error; + u8 address; + u16 dataLen; +} NUEepromMesg; + +typedef struct st_ContGBPakMesg { + NUContPakFile* handle; + s32 data[4]; +} NUContGBPakMesg; + +typedef OSVoiceHandle NUVrsHandle; + +typedef OSVoiceData NUVrsData; + +typedef struct stVrsMesg { + NUVrsHandle* vrsHandle; + s32 data[2]; +} NUVrsMesg; + +/*--------------------------------------*/ +/* Debug */ +/*--------------------------------------*/ +typedef struct st_GfxTaskTime { + s64 rspStart; /* RSPTask start time */ + s64 rspEnd; /* RSPTask end time */ + s64 rdpEnd; /* RDP end time */ + u32 dpCnt[4]; /* RDP internal counter */ +} NUDebTaskTime; + +typedef struct st_DebTaskPerf { + s64 retraceTime; /* retrace event time*/ + s64 markerTime[NU_DEB_MARKER_NUM]; + u8 gfxTaskCnt; /* Number of graphics tasks */ + u8 auTaskCnt; /* Number of audio tasks */ + u8 gfxTaskStart; + NUDebTaskTime gfxTaskTime[NU_DEB_PERF_GFXTASK_CNT]; + NUDebTaskTime auTaskTime[NU_DEB_PERF_AUTASK_CNT]; +} NUDebTaskPerf; + +/* Console window structure */ +typedef struct st_DebConWindow { + u8 windowFlag; /* On/off flag for console window display */ + u16 scroll; /* Scroll value */ + u8 scrollFlag; /* Scrolling enabled/disabled */ + u8 textColor; /* Character color */ + u8 attribute; /* Attribute */ + u16 posX; /* Column position for write */ + u16 posY; /* Line position for write */ + u16 index; /* Position for character buffer write */ + u16 winX; /* x-coordinate of console window display */ + u16 winY; /* y-coordinate of console window display */ + u16 winW; /* Number of columns in console display */ + u16 winH; /* Number of rows in console display */ + u16 text[NU_DEB_CON_TEXT_SIZE]; /* Character buffer*/ +} NUDebConWindow; + +/*----------------------------------------------------------------------*/ +/*----------------------------------------------------------------------*/ +/* extern variables */ +/*----------------------------------------------------------------------*/ +/*----------------------------------------------------------------------*/ + +extern u8 nuRDPOutputBuf[]; +extern u8 nuDramStack[]; +extern u8 nuYieldBuf[]; +extern NUSched nusched; /* Scheduler structure */ +extern OSMesgQueue nuGfxMesgQ; /* Graphics thread queue */ +extern u32 nuScRetraceCounter; /* Retrace counter */ +extern u8 nuScPreNMIFlag; +/*--------------------------------------*/ +/* graphics variables */ +/*--------------------------------------*/ +extern NUUcode* nuGfxUcode; /* Pointer to GFX microcode structure */ +extern u16** nuGfxCfb; /* Pointer to array of pointers to frame buffers */ +extern u16* nuGfxCfb_ptr; /* Pointer to to frame buffer */ +extern u32 nuGfxCfbNum; /* Number of frame buffers */ +extern u16* nuGfxZBuffer; /* Pointer to the Z buffer */ +extern volatile u32 nuGfxTaskSpool; /* Number of tasks in queue */ +extern u32 nuGfxDisplay; /* Display on/off flag */ +extern u32 nuGfxCfbCounter; /* For frame buffer swapping */ +extern OSMesgQueue nuGfxMesgQ; +extern OSThread nuGfxThread; /* graphic thread */ + +/*--------------------------------------*/ +/* controller Manager variables */ +/*--------------------------------------*/ +extern OSContStatus nuContStatus[]; +extern OSContPad nuContData[]; +extern u32 nuContNum; /* Number of controllers connected */ +extern u32 nuContDataLockKey; /* Lock Controller data. */ +extern OSMesgQueue nuContWaitMesgQ; /* Wait for Controller read */ +extern OSPfs nuContPfs[]; +extern NUCallBackList nuContCallBack; +extern u16 nuContPakCompanyCode; /* Company code */ +extern u32 nuContPakGameCode; /* Game code */ +extern NUCallBackList nuContPakCallBack; + +/*--------------------------------------*/ +/* RUMBUL Manager variables */ +/*--------------------------------------*/ +extern NUContRmbCtl nuContRmbCtl[]; +extern u32 nuContRmbSearchTime; +extern NUCallBackList nuContRmbCallBack; + + +/*--------------------------------------*/ +/* EEPROM Manager variables */ +/*--------------------------------------*/ +extern NUCallBackList nuEepromCallBack; + +/*--------------------------------------*/ +/* 64GBPack Manager variables */ +/*--------------------------------------*/ +extern NUCallBackList nuContGBPakCallBack; + +/*--------------------------------------*/ +/* VRS Manager variables */ +/*--------------------------------------*/ +extern NUCallBackList nuVrsCallBack; + +/*--------------------------------------*/ +/* si variables */ +/*--------------------------------------*/ +extern OSMesgQueue nuSiMesgQ; /* SI event message queue */ +extern OSMesgQueue nuSiMgrMesgQ; /* SI Manager queue */ +extern NUCallBackList* nuSiCallBackList;/* Callback function list */ + +/*--------------------------------------*/ +/* pi variables */ +/*--------------------------------------*/ +extern OSPiHandle* nuPiCartHandle; +extern OSPiHandle* nuPiSramHandle; +extern OSPiHandle* nuPiDDRomHandle; + +/*--------------------------------------*/ +/* CALL BACK Function pointer */ +/*--------------------------------------*/ +extern NUIdleFunc nuIdleFunc; /* callback func pointer */ +extern NUScPreNMIFunc nuScPreNMIFunc; /* PRE NMI callback pointer */ +extern NUGfxSwapCfbFunc nuGfxSwapCfbFunc; /* swapbuf callback pointer */ +extern NUGfxFunc nuGfxFunc; /* callback pointer */ +extern NUGfxPreNMIFunc nuGfxPreNMIFunc; /* Callback pointer */ +extern NUGfxTaskEndFunc nuGfxTaskEndFunc; /* task end callback ptr */ +extern NUContReadFunc nuContReadFunc; /* When controller read ends */ + /* Callback function */ +/*--------------------------------------*/ +/* Debug */ +/*--------------------------------------*/ + +extern NUDebTaskPerf* nuDebTaskPerfPtr; +extern NUDebConWindow nuDebConWin[]; +extern NUDebTaskPerf nuDebTaskPerf[]; +extern u32 nuDebTaskPerfInterval; +extern volatile u32 nuDebTaskPerfCnt; +extern volatile u32 nuDebTaskPerfEnd; + + +/*----------------------------------------------------------------------*/ +/*----------------------------------------------------------------------*/ +/* Global Function */ +/*----------------------------------------------------------------------*/ +/*----------------------------------------------------------------------*/ +/*--------------------------------------*/ +/* Boot function */ +/*--------------------------------------*/ +extern void nuIdleFuncSet(void (*func)(void)); +extern void nuPreNMIFuncSet(NUScPreNMIFunc func); +/*--------------------------------------*/ +/* Scheduler function */ +/*--------------------------------------*/ +extern void nuScCreateScheduler(u8 videoMode, u8 numFields); +extern void nuScAddClient(NUScClient *c, OSMesgQueue *mq, NUScMsg msgType); +extern void nuScRemoveClient(NUScClient *client); +extern void nuScResetClientMesgType(NUScClient* client, NUScMsg msgType); +extern OSMesgQueue* nuScGetGfxMQ(void); +extern OSMesgQueue* nuScGetAudioMQ(void); +extern void nuScSetFrameBufferNum(u8 frameBufferNum); +extern s32 nuScGetFrameRate(void); + +/*--------------------------------------*/ +/* graphic(GFX) Manager function */ +/*--------------------------------------*/ +extern void nuGfxInit(void); +extern void nuGfxInitEX2(void); +extern void nuGfxThreadStart(void); +extern void nuGfxTaskMgrInit(void); +extern void nuGfxTaskStart(Gfx *gfxList_ptr, u32 gfxListSize, u32 ucode, u32 flag); +extern void nuGfxFuncSet(NUGfxFunc func); +extern void nuGfxPreNMIFuncSet(NUGfxPreNMIFunc func); +extern void nuGfxSwapCfbFuncSet(NUGfxSwapCfbFunc func); +extern void nuGfxSetCfb(u16** framebuf, u32 framebufnum); +extern void nuGfxSwapCfb(void* framebuffer); + +extern void nuGfxTaskEndFuncSet(NUGfxTaskEndFunc func); +extern void nuGfxTaskAllEndWait(void); +extern void nuGfxRetraceWait(u32 retrace_num); +extern void nuGfxDisplayOff(void); +extern void nuGfxDisplayOn(void); + +#ifdef F3DEX_GBI_2 +#define nuGfxInit() nuGfxInitEX2() +#endif /* F3DEX_GBI_2 */ +/*--------------------------------------*/ +/* controller Manager function */ +/*--------------------------------------*/ +extern u8 nuContInit(void); +extern s32 nuContMgr(void* mesg); +extern u8 nuContMgrInit(void); +extern void nuContMgrRemove(void); +extern void nuContDataLock(void); +extern void nuContDataUnLock(void); +extern void nuContDataRead(OSContPad* pad); +extern void nuContDataReadWait(void); +extern void nuContDataReadStart(void); +extern void nuContDataGet(OSContPad* contdata, u32 padno); +extern void nuContDataGetAll(OSContPad* contdata); +extern void nuContDataGetEx(NUContData *contdata, u32 padno); +extern void nuContDataGetExAll(NUContData *contdata); +extern void nuContReadFuncSet(NUContReadFunc func); +extern void nuContQueryRead(void); +extern void nuContDataClose(void); +extern void nuContDataOpen(void); + +/*--------------------------------------*/ +/* controller pak function */ +/*--------------------------------------*/ +extern s32 nuContPakMgr(void* mesg_type); +extern void nuContPakMgrInit(void); +extern void nuContPakMgrRemove(void); +extern void nuContPakJisToN64(u8* src, u8* dest, u32 len); +extern void nuContPakN64ToJis(u8* src, u8* dest, u32 len); +extern s32 nuContPakOpen(NUContPakFile *file, u32 contNo); +extern s32 nuContPakGetFree(NUContPakFile *file); +extern void nuContPakCodeSet(u8* companyCode, u8* gameCode); +extern s32 nuContPakRepairId(NUContPakFile *file); +extern s32 nuContPakFileOpen(NUContPakFile *file, + u8* noteName,u8* extName, u32 mode, s32 size); +extern s32 nuContPakFileOpenJis(NUContPakFile *file, + u8* noteName,u8* extName, u32 mode, s32 size); +extern s32 nuContPakFileReadWrite(NUContPakFile *file, + s32 offset, s32 size,u8* buf, u32 mode); +extern s32 nuContPakFileDelete(NUContPakFile *file, u8* noteName, u8* extName); +extern s32 nuContPakFileDeleteJis(NUContPakFile *file, u8* noteName, u8* extName); +extern s32 nuContPakFileState(NUContPakFile *file, OSPfsState* state); +extern s32 nuContPakFileNum(NUContPakFile *file, + s32 *max_files, s32 *used_files); +extern s32 nuContPakFileFread(NUContPakFile *file, s32 offset, s32 size, u8* buf); + +/*--------------------------------------*/ +/* rumbler pak functions */ +/*--------------------------------------*/ +extern void nuContRmbMgrInit(void); +extern s32 nuContRmbMgr(void* mesg); +extern void nuContRmbMgrRemove(void); +extern void nuContRmbStart(u32 contNo, u16 freq, u16 frame); +extern void nuContRmbStop(u32 contNo); +extern s32 nuContRmbCheck(u32 contNo); +extern void nuContRmbModeSet(u32 contNo, u8 mode); +extern void nuContRmbForceStop(void); +extern void nuContRmbForceStopEnd(void); +extern void nuContRmbSearchTimeSet(u32 frame); + +/*--------------------------------------*/ +/* 64GB Pack functions */ +/*--------------------------------------*/ +extern s32 nuContGBPakMgr(void* mesg); +extern void nuContGBPakMgrInit(void); +extern void nuContGBPakMgrRemove(void); +extern s32 nuContGBPakOpen(NUContPakFile* handle, s32 contNo); +extern s32 nuContGBPakGetStatus(NUContPakFile* handle, u8* status); +extern s32 nuContGBPakReadID(NUContPakFile* handle, OSGbpakId* id, u8* status); +extern s32 nuContGBPakReadWrite(NUContPakFile* handle, u16 flag , u16 address, u8* buffer, u16 size); +extern s32 nuContGBPakPower(NUContPakFile* handle, s32 flag); +extern s32 nuContGBPakCheckConnector(NUContPakFile* handle, u8* status); +extern s32 nuContGBPakFread(NUContPakFile* handle, u16 address, u8* buffer, u16 size); + +extern s32 nuContGBPakFwrite(NUContPakFile* handle, u16 address, u8* buffer, u16 size); +extern s32 nuContGBPakRegWrite(NUContPakFile* handle, u16 addr, u8 data); + +/*--------------------------------------*/ +/* eeprom functions */ +/*--------------------------------------*/ +extern void nuEepromMgrInit(void); +extern s32 nuEepromMgr(void* mesg); +extern s32 nuEepromCheck(void); +extern void nuEepromMgrRemove(void); +extern s32 nuEepromRead(u8 address, u8* buffer,u16 len); +extern s32 nuEepromWrite(u8 address, u8* buffer,u16 len); + + +/*--------------------------------------*/ +/* pi functions */ +/*--------------------------------------*/ +extern void nuPiInit(void); +extern void nuPiReadRom(u32 rom_addr, void* buf_ptr, u32 size); +extern void nuPiInitSram(void); +extern void nuPiInitDDrom(void); +extern void nuPiReadWriteSram(u32 addr, void* buf_ptr, u32 size, s32 flag); +extern void nuPiReadRomOverlay(NUPiOverlaySegment* segment); + +/*--------------------------------------*/ +/* si functions */ +/*--------------------------------------*/ +extern u8 nuSiMgrInit(void); +extern void nuSiCallBackAdd(NUCallBackList* list); +extern void nuSiCallBackRemove(NUCallBackList* list); +extern s32 nuSiSendMesg(NUScMsg mesg, void* dataPtr); +extern void nuSiSendMesgNW(NUScMsg mesg, void* dataPtr); +extern void nuSiMgrStop(void); +extern void nuSiMgrRestart(void); +/*--------------------------------------*/ +/* si functions */ +/*--------------------------------------*/ +extern s32 nuVrsMgr(void *mesg); +extern void nuVrsMgrInit(void); +extern s32 nuVrsOpen(NUVrsHandle* handle, s32 contNo); +extern s32 nuVrsClearDictionary(NUVrsHandle* handle, u8 words); +extern s32 nuVrsSetWord(NUVrsHandle* handle, u8* word); +extern s32 nuVrsStartReadData(NUVrsHandle* handle); +extern s32 nuVrsGetReadData(NUVrsHandle* handle, NUVrsData* data); +extern s32 nuVrsStopReadData(NUVrsHandle* handle); +extern s32 nuVrsControlGain(NUVrsHandle* handle, s32 analog, s32 digital); +extern s32 nuVrsMaskDictionary(NUVrsHandle* handle, u8* maskpattern, s32 size); + +/*--------------------------------------*/ +/* dubug functions */ +/*--------------------------------------*/ +#ifdef NDEBUG +#define nuDebTaskPerfBar0(EX0 ,EX1 ,EX2) ((void)0) +#define nuDebTaskPerfBar1(EX0 ,EX1 ,EX2) ((void)0) +#define nuDebTaskPerfBar0EX2(EX0 ,EX1 ,EX2) ((void)0) +#define nuDebTaskPerfBar1EX2(EX0 ,EX1 ,EX2) ((void)0) +#define nuDebPerfMarkSet(EX0) ((void)0) +#define nuDebTaskPerfIntervalSet(EX0) ((void)0) +#else +extern void nuDebTaskPerfBar0(u32 frameNum, u32 y, u32 flag); +extern void nuDebTaskPerfBar1(u32 frameNum, u32 y, u32 flag); +extern void nuDebTaskPerfBar0EX2(u32 frameNum, u32 y, u32 flag); +extern void nuDebTaskPerfBar1EX2(u32 frameNum, u32 y, u32 flag); +extern u32 nuDebPerfMarkSet(s32 markNo); +extern void nuDebTaskPerfIntervalSet(u32 interval); +#ifdef F3DEX_GBI_2 +#define nuDebTaskPerfBar0(a, b, c) nuDebTaskPerfBar0EX2(a, b, c) +#define nuDebTaskPerfBar1(a, b, c) nuDebTaskPerfBar1EX2(a, b, c) +#endif /* F3DEX_GBI_2 */ + +#endif /* NDEBUG */ + +extern void nuDebConDisp(u32 flag); +extern void nuDebConDispEX2(u32 flag); +extern void nuDebConCPuts(u32 wndNo, const char *s); +extern void nuDebConInc(NUDebConWindow* conWin); +extern void nuDebConRtn(NUDebConWindow* conWin); +extern void nuDebConEsc(NUDebConWindow* conWin, char esc); +extern void nuDebConWindowSet(u32 wndNo, u32 winX , u32 winY, u32 width, u32 height); +extern void nuDebConWindowSize(u32 wndNo, u32 width, u32 height); +extern void nuDebConWindowPos(u32 wndNo, u32 winX , u32 winY); +extern void nuDebConTextColor(u32 wndNo, u32 color); +extern void nuDebConTextAttr(u32 wndNo, u32 attr); +extern void nuDebConTextPos(u32 wndNo, u32 posX, u32 posY); +extern void nuDebConScroll(u32 wndNo, u32 flag); +extern void nuDebConWindowShow(u32 wndNo, u32 flag); +extern void nuDebConClear(u32 wndNo); +extern void nuDebConPutc(u32 wndNo, u32 c); +extern void nuDebTaskPerfLoad(void); +extern void nuDebConPrintf(u32 wndNo, const char* fmt, ...); + + +#ifdef F3DEX_GBI_2 +#define nuDebConDisp(flag) nuDebConDispEX2(flag) +#endif /* F3DEX_GBI_2 */ + +/*----------------------------------------------------------------------*/ +/*----------------------------------------------------------------------*/ +/* MACRO */ +/*----------------------------------------------------------------------*/ +/*----------------------------------------------------------------------*/ + +/*----------------------------------------------------------------------*/ +/* Registers the graphics microcode */ +/* IN: Pointer to the graphics microcode NUUcode array */ +/*----------------------------------------------------------------------*/ +#define nuGfxSetUcode(ucode) \ +{ \ + nuGfxUcode = ucode; \ +} +/*----------------------------------------------------------------------*/ +/* Z buffer settings */ +/* IN: Pointer to the Z buffer */ +/*----------------------------------------------------------------------*/ +#define nuGfxSetZBuffer(ZBuf_p) \ +{ \ + nuGfxZBuffer = ZBuf_p; \ +} +/*----------------------------------------------------------------------*/ +/* Remove callback functions */ +/* IN: nothing */ +/*----------------------------------------------------------------------*/ +#define nuPreNmiFuncRemove() nuPreNmiFuncSet(NULL) +#define nuGfxFuncRemove() nuGfxFuncSet(NULL) +#define nuGfxPreNMIFuncRemove() nuGfxPreNMIFuncSet(NULL) +#define nuGfxSwapCfbFuncRemove() nuGfxSwapCfbFuncSet(NULL) +#define nuGfxTaskEndFuncRemove() nuGfxTaskEndFuncSet(NULL) +#define nuContReadFuncRemove() nuContReadFuncSet(NULL) + +/*----------------------------------------------------------------------*/ +/* nuContDataGet - Obtains Controller data */ +/* Obtains read data from the Controller Manager. */ +/* */ +/* IN: *contpad Pointer to the Controller structure */ +/* cont_no Controller number */ +/*----------------------------------------------------------------------*/ +#if 0 +#define nuContDataGet(contpad, cont_no) \ +{ \ + bcopy(&nuContData[cont_no], contpad, sizeof(OSContPad)); \ +} + +/*----------------------------------------------------------------------*/ +/* nuContDataGetAll - Obtains Controller data */ +/* Obtains read data from the Controller Manager. */ +/* Copies all 4 buffers. */ +/* IN: *contpad Pointer to the Controller structure */ +/* cont_no Controller number */ +/*----------------------------------------------------------------------*/ +#define nuContDataGetAll(contpad) \ +{ \ + bcopy(&nuContData[0], contpad, sizeof(OSContPad)*MAXCONTROLLERS);\ +} +#endif +/*----------------------------------------------------------------------*/ +/* nuContPakFileFind - Search node */ +/*----------------------------------------------------------------------*/ +#define nuContPakFileFind(file, nodeName, extName) \ + nuContPakFileOpen(file, nodeNname, extName, NU_CONT_PAK_NOCREAT, 0)\ + + +/*----------------------------------------------------------------------*/ +/* nuContPakFileFindJis - Search node */ +/*----------------------------------------------------------------------*/ +#define nuContPakFileFindJis(file, nodeName, extName) \ + nuContPakFileOpenJis(file, nodeNname, extName, NU_CONT_PAK_NOCREAT, 0)\ + +/*----------------------------------------------------------------------*/ +/* nuContPakFileRead - Read note */ +/*----------------------------------------------------------------------*/ +#define nuContPakFileRead(file, offset, size, buf) \ + nuContPakFileReadWrite(file, offset, size, buf, PFS_READ) \ + +/*----------------------------------------------------------------------*/ +/* nuContPakFileWrite - Read note */ +/*----------------------------------------------------------------------*/ +#define nuContPakFileWrite(file, offset, size, buf) \ + nuContPakFileReadWrite(file, offset, size, buf, PFS_WRITE) \ + +/*----------------------------------------------------------------------*/ +/* nuDebConPuts - String output (with newline) */ +/*----------------------------------------------------------------------*/ +#define nuDebConPuts(wndNo, s) \ +{ \ + nuDebConCPuts(wndNo, s); \ + nuDebConRtn(&nuDebConWin[wndNo]); \ +} + +/*----------------------------------------------------------------------*/ +/* nuContGBPakRead - Read from the GB cartridge */ +/*----------------------------------------------------------------------*/ +#define nuContGBPakRead(file, address, buf, size) \ + nuContGBPakReadWrite(file, OS_READ, address, buf, size) + +/*----------------------------------------------------------------------*/ +/* nuContGBPakWrite - Write to the GB cartridge */ +/*----------------------------------------------------------------------*/ +#define nuContGBPakWrite(file, address, buf, size) \ + nuContGBPakReadWrite(file, OS_WRITE, address, buf, size) + +/*----------------------------------------------------------------------*/ +/* nuPiReadSram - Read from SRAM */ +/*----------------------------------------------------------------------*/ +#define nuPiReadSram(addr, buf_ptr, size) \ + nuPiReadWriteSram(addr, buf_ptr, size, OS_READ) + +/*----------------------------------------------------------------------*/ +/* nuPiWriteSram - Write to SRAM */ +/*----------------------------------------------------------------------*/ +#define nuPiWriteSram(addr, buf_ptr, size) \ + nuPiReadWriteSram(addr, buf_ptr, size, OS_WRITE) + +/*----------------------------------------------------------------------*/ +/* Define voice recognition macros */ +/*----------------------------------------------------------------------*/ +#define nuVrsCheckWord osVoiceCheckWord +#define nuVrsCountSyllables osVoiceCountSyllables + + + +#endif /* defined(_LANGUAGE_C) || defined(_LANGUAGE_C_PLUS_PLUS) */ +#ifdef _LANGUAGE_C_PLUS_PLUS +} +#endif +#endif /* _NUSYS_H_ */ diff --git a/src/code_25f00_len_940.c b/src/code_25f00_len_940.c index 1228a355e3..2647ce0b85 100644 --- a/src/code_25f00_len_940.c +++ b/src/code_25f00_len_940.c @@ -1,21 +1,23 @@ #include "common.h" +#include "nu/nusys.h" +#include "nu/nualsgi.h" INCLUDE_ASM(s32, "code_25f00_len_940", func_8004AB00); -void func_8004ADD0(s32 arg0) { - OSIntMask osIntMask = osSetIntMask(OS_IM_NONE); +void nuAuPreNMIFuncSet(NUAuPreNMIFunc func) { + OSIntMask mask = osSetIntMask(OS_IM_NONE); - D_80078174 = arg0; - osSetIntMask(osIntMask); + nuAuPreNMIFunc = func; + osSetIntMask(mask); } INCLUDE_ASM(s32, "code_25f00_len_940", func_8004AE08); INCLUDE_ASM(s32, "code_25f00_len_940", nuAuDmaCallBack); -INCLUDE_ASM(s32, "code_25f00_len_940", nuAuDmaNew); +INCLUDE_ASM(ALDMAproc, "code_25f00_len_940", nuAuDmaNew, NUDMAState **state); -INCLUDE_ASM(s32, "code_25f00_len_940", nuAuCleanDMABuffers); +INCLUDE_ASM(void, "code_25f00_len_940", nuAuCleanDMABuffers); INCLUDE_ASM(s32, "code_25f00_len_940", func_8004B328); diff --git a/tools/symbol_addrs.txt b/tools/symbol_addrs.txt index 4020f96fef..9dab963800 100644 --- a/tools/symbol_addrs.txt +++ b/tools/symbol_addrs.txt @@ -222,6 +222,7 @@ spawn_drops = 0x80048280; get_coin_drop_amount = 0x80048D50; is_point_within_region = 0x80048FD4; DoBasicAI = 0x8004A47C; +nuAuPreNMIFuncSet = 0x8004ADD0; nuAuDmaCallBack = 0x8004B074; // ! nuAuDmaNew = 0x8004B224; nuAuCleanDMABuffers = 0x8004B268; @@ -561,6 +562,7 @@ setup_demo_player = 0x80072D2C; load_demo_battle = 0x80072E14; EnemyNpcHit = 0x80077F70; EnemyNpcDefeat = 0x8007809C; +nuAuPreNMIFunc = 0x80078174; D_80078DB0 = 0x80078DB0; D_80078DB4 = 0x80078DB4; gEffectTable = 0x8007F214; diff --git a/undefined_syms_auto.txt b/undefined_syms_auto.txt index fade50103d..7619b27f21 100644 --- a/undefined_syms_auto.txt +++ b/undefined_syms_auto.txt @@ -118,7 +118,6 @@ D_80078160 = 0x80078160; D_80078164 = 0x80078164; D_80078168 = 0x80078168; D_80078170 = 0x80078170; -D_80078174 = 0x80078174; D_80078178 = 0x80078178; D_8007817C = 0x8007817C; D_80078180 = 0x80078180; From f9d084937f5aac95f55513b40f7a27dbe7dcfb15 Mon Sep 17 00:00:00 2001 From: Ethan Roseman Date: Thu, 10 Dec 2020 08:58:58 +0900 Subject: [PATCH 33/97] asm update --- asm/boot.s | 8 ++++---- asm/data/code_1000_len_60.data.s | 2 +- asm/nonmatchings/code_18C790/func_8025E190.s | 4 ++-- .../code_25f00_len_940/func_8004AB00.s | 6 +++--- .../code_25f00_len_940/func_8004AE08.s | 12 ++++++------ .../code_7bb60_len_41b0/func_800E2BB0.s | 4 ++-- .../code_de740_len_23f0/func_801489B8.s | 4 ++-- .../code_fee30_len_2d60/func_802DC008.s | 8 ++++---- .../area_dro/dro_02/9694C0/func_802416FC_96A8BC.s | 4 ++-- .../area_hos/hos_05/A2AAC0/func_80240F30_A2B170.s | 4 ++-- .../area_hos/hos_05/A2AAC0/func_80240F88_A2B1C8.s | 4 ++-- .../area_kmr/kmr_22/8FF8B0/func_80240B4C_9001BC.s | 4 ++-- .../area_kmr/kmr_23/907A40/func_80240D14_908744.s | 4 ++-- .../area_kzn/kzn_19/C8DBB0/func_8024140C_C8EFBC.s | 4 ++-- tools/n64splat | 2 +- tools/symbol_addrs.txt | 1 + undefined_syms_auto.txt | 14 -------------- 17 files changed, 38 insertions(+), 51 deletions(-) diff --git a/asm/boot.s b/asm/boot.s index 89d03a5026..068c67d388 100644 --- a/asm/boot.s +++ b/asm/boot.s @@ -231,12 +231,12 @@ glabel func_A4000040 /* 37C A400037C 01324825 */ or $t1, $t1, $s2 /* 380 A4000380 AD490010 */ sw $t1, %lo(D_A4700010)($t2) /* 384 A4000384 8D490010 */ lw $t1, 0x10($t2) -/* 388 A4000388 3C08A000 */ lui $t0, %hi(D_A0000018) +/* 388 A4000388 3C08A000 */ lui $t0, 0xa000 /* 38C A400038C 35080300 */ ori $t0, $t0, 0x300 /* 390 A4000390 3C090FFF */ lui $t1, 0xfff /* 394 A4000394 3529FFFF */ ori $t1, $t1, 0xffff /* 398 A4000398 02C9B024 */ and $s6, $s6, $t1 -/* 39C A400039C AD160018 */ sw $s6, %lo(D_A0000018)($t0) +/* 39C A400039C AD160018 */ sw $s6, 0x18($t0) /* 3A0 A40003A0 03C0E825 */ or $sp, $fp, $zero /* 3A4 A40003A4 27BD0048 */ addiu $sp, $sp, 0x48 /* 3A8 A40003A8 8FB30000 */ lw $s3, ($sp) @@ -459,10 +459,10 @@ glabel func_A40004C0 /* 6C4 A40006C4 24090002 */ addiu $t1, $zero, 2 /* 6C8 A40006C8 3C01A460 */ lui $at, %hi(D_A4600010) /* 6CC A40006CC AC290010 */ sw $t1, %lo(D_A4600010)($at) -/* 6D0 A40006D0 3C08A000 */ lui $t0, %hi(D_A0000010) +/* 6D0 A40006D0 3C08A000 */ lui $t0, 0xa000 /* 6D4 A40006D4 35080300 */ ori $t0, $t0, 0x300 /* 6D8 A40006D8 240917D7 */ addiu $t1, $zero, 0x17d7 -/* 6DC A40006DC AD090010 */ sw $t1, %lo(D_A0000010)($t0) +/* 6DC A40006DC AD090010 */ sw $t1, 0x10($t0) /* 6E0 A40006E0 AD140000 */ sw $s4, ($t0) /* 6E4 A40006E4 AD130004 */ sw $s3, 4($t0) /* 6E8 A40006E8 AD15000C */ sw $s5, 0xc($t0) diff --git a/asm/data/code_1000_len_60.data.s b/asm/data/code_1000_len_60.data.s index 0073e0e497..4cc2d7908a 100644 --- a/asm/data/code_1000_len_60.data.s +++ b/asm/data/code_1000_len_60.data.s @@ -266,7 +266,7 @@ glabel nuAuPreNMIFunc glabel D_80078178 .word 0x00000000 -glabel D_8007817C +glabel nuAuFrameCounter .word 0x00000000 glabel D_80078180 diff --git a/asm/nonmatchings/code_18C790/func_8025E190.s b/asm/nonmatchings/code_18C790/func_8025E190.s index 34145c98c9..c7f6cca229 100644 --- a/asm/nonmatchings/code_18C790/func_8025E190.s +++ b/asm/nonmatchings/code_18C790/func_8025E190.s @@ -303,14 +303,14 @@ glabel func_8025E190 /* 18CEE8 8025E608 24C61000 */ addiu $a2, $a2, %lo(D_802A1000) /* 18CEEC 8025E60C 0C00A5CF */ jal dma_copy /* 18CEF0 8025E610 00000000 */ nop -/* 18CEF4 8025E614 3C048000 */ lui $a0, %hi(D_80004880) +/* 18CEF4 8025E614 3C048000 */ lui $a0, 0x8000 /* 18CEF8 8025E618 0C05272D */ jal play_sound /* 18CEFC 8025E61C 34840008 */ ori $a0, $a0, 8 /* 18CF00 8025E620 24020005 */ addiu $v0, $zero, 5 /* 18CF04 8025E624 08097FD0 */ j .L8025FF40 /* 18CF08 8025E628 AE000000 */ sw $zero, ($s0) /* 18CF0C 8025E62C 3C048028 */ lui $a0, %hi(D_80284880) -/* 18CF10 8025E630 24844880 */ addiu $a0, $a0, %lo(D_80004880) +/* 18CF10 8025E630 24844880 */ addiu $a0, $a0, %lo(D_80284880) /* 18CF14 8025E634 2405000A */ addiu $a1, $zero, 0xa /* 18CF18 8025E638 0C0B0CF8 */ jal start_script /* 18CF1C 8025E63C 0000302D */ daddu $a2, $zero, $zero diff --git a/asm/nonmatchings/code_25f00_len_940/func_8004AB00.s b/asm/nonmatchings/code_25f00_len_940/func_8004AB00.s index 50b0230b8e..849b0c7970 100644 --- a/asm/nonmatchings/code_25f00_len_940/func_8004AB00.s +++ b/asm/nonmatchings/code_25f00_len_940/func_8004AB00.s @@ -39,14 +39,14 @@ glabel func_8004AB00 /* 25F88 8004AB88 26523510 */ addiu $s2, $s2, %lo(D_800A3510) /* 25F8C 8004AB8C AFA20020 */ sw $v0, 0x20($sp) /* 25F90 8004AB90 00001810 */ mfhi $v1 -/* 25F94 8004AB94 3C02B216 */ lui $v0, %hi(D_B215B224) +/* 25F94 8004AB94 3C02B216 */ lui $v0, 0xb216 /* 25F98 8004AB98 344242C9 */ ori $v0, $v0, 0x42c9 /* 25F9C 8004AB9C 00031942 */ srl $v1, $v1, 5 /* 25FA0 8004ABA0 00620019 */ multu $v1, $v0 /* 25FA4 8004ABA4 A3A00024 */ sb $zero, 0x24($sp) /* 25FA8 8004ABA8 AFB0002C */ sw $s0, 0x2c($sp) /* 25FAC 8004ABAC 3C028005 */ lui $v0, %hi(nuAuDmaNew) -/* 25FB0 8004ABB0 2442B224 */ addiu $v0, $v0, %lo(D_B215B224) +/* 25FB0 8004ABB0 2442B224 */ addiu $v0, $v0, %lo(nuAuDmaNew) /* 25FB4 8004ABB4 AFA20028 */ sw $v0, 0x28($sp) /* 25FB8 8004ABB8 00001810 */ mfhi $v1 /* 25FBC 8004ABBC 000319C2 */ srl $v1, $v1, 7 @@ -164,7 +164,7 @@ glabel func_8004AB00 /* 2616C 8004AD6C 27A50018 */ addiu $a1, $sp, 0x18 /* 26170 8004AD70 8FA40020 */ lw $a0, 0x20($sp) /* 26174 8004AD74 0C014B97 */ jal func_80052E5C -/* 26178 8004AD78 00000000 */ nop +/* 26178 8004AD78 00000000 */ nop /* 2617C 8004AD7C 3C10800A */ lui $s0, %hi(D_800A0F58) /* 26180 8004AD80 26100F58 */ addiu $s0, $s0, %lo(D_800A0F58) /* 26184 8004AD84 0200202D */ daddu $a0, $s0, $zero diff --git a/asm/nonmatchings/code_25f00_len_940/func_8004AE08.s b/asm/nonmatchings/code_25f00_len_940/func_8004AE08.s index a1aa70a518..b033ddf2df 100644 --- a/asm/nonmatchings/code_25f00_len_940/func_8004AE08.s +++ b/asm/nonmatchings/code_25f00_len_940/func_8004AE08.s @@ -95,14 +95,14 @@ glabel func_8004AE08 /* 2635C 8004AF5C 0000902D */ daddu $s2, $zero, $zero .L8004AF60: /* 26360 8004AF60 0C018554 */ jal osAiGetStatus -/* 26364 8004AF64 00000000 */ nop +/* 26364 8004AF64 00000000 */ nop /* 26368 8004AF68 04410003 */ bgez $v0, .L8004AF78 -/* 2636C 8004AF6C 00000000 */ nop +/* 2636C 8004AF6C 00000000 */ nop /* 26370 8004AF70 08012BA8 */ j .L8004AEA0 /* 26374 8004AF74 0000B02D */ daddu $s6, $zero, $zero .L8004AF78: /* 26378 8004AF78 0C018550 */ jal osAiGetLength -/* 2637C 8004AF7C 00000000 */ nop +/* 2637C 8004AF7C 00000000 */ nop /* 26380 8004AF80 8FA30078 */ lw $v1, 0x78($sp) /* 26384 8004AF84 10600011 */ beqz $v1, .L8004AFCC /* 26388 8004AF88 00028082 */ srl $s0, $v0, 2 @@ -126,7 +126,7 @@ glabel func_8004AE08 /* 263CC 8004AFCC 2A0200B8 */ slti $v0, $s0, 0xb8 .L8004AFD0: /* 263D0 8004AFD0 14400003 */ bnez $v0, .L8004AFE0 -/* 263D4 8004AFD4 00000000 */ nop +/* 263D4 8004AFD4 00000000 */ nop /* 263D8 8004AFD8 12C00005 */ beqz $s6, .L8004AFF0 /* 263DC 8004AFDC 24160001 */ addiu $s6, $zero, 1 .L8004AFE0: @@ -156,12 +156,12 @@ glabel func_8004AE08 /* 26434 8004B034 0060F809 */ jalr $v1 /* 26438 8004B038 24040001 */ addiu $a0, $zero, 1 /* 2643C 8004B03C 08012C19 */ j .L8004B064 -/* 26440 8004B040 00000000 */ nop +/* 26440 8004B040 00000000 */ nop .L8004B044: /* 26444 8004B044 3C028008 */ lui $v0, %hi(nuAuPreNMIFunc) /* 26448 8004B048 8C428174 */ lw $v0, %lo(nuAuPreNMIFunc)($v0) /* 2644C 8004B04C 10400005 */ beqz $v0, .L8004B064 -/* 26450 8004B050 00000000 */ nop +/* 26450 8004B050 00000000 */ nop /* 26454 8004B054 3C058008 */ lui $a1, %hi(D_80078170) /* 26458 8004B058 90A58170 */ lbu $a1, %lo(D_80078170)($a1) /* 2645C 8004B05C 0040F809 */ jalr $v0 diff --git a/asm/nonmatchings/code_7bb60_len_41b0/func_800E2BB0.s b/asm/nonmatchings/code_7bb60_len_41b0/func_800E2BB0.s index 469ed654f9..a3aa242314 100644 --- a/asm/nonmatchings/code_7bb60_len_41b0/func_800E2BB0.s +++ b/asm/nonmatchings/code_7bb60_len_41b0/func_800E2BB0.s @@ -28,12 +28,12 @@ glabel func_800E2BB0 /* 7C0BC 800E2C0C 00000000 */ nop /* 7C0C0 800E2C10 45000004 */ bc1f .L800E2C24 /* 7C0C4 800E2C14 00000000 */ nop -/* 7C0C8 800E2C18 3C01BEF0 */ lui $at, %hi(D_BEEFBD88) +/* 7C0C8 800E2C18 3C01BEF0 */ lui $at, 0xbef0 /* 7C0CC 800E2C1C 3421A3D7 */ ori $at, $at, 0xa3d7 /* 7C0D0 800E2C20 44813000 */ mtc1 $at, $f6 .L800E2C24: /* 7C0D4 800E2C24 3C018011 */ lui $at, %hi(D_8010BD88) -/* 7C0D8 800E2C28 D422BD88 */ ldc1 $f2, %lo(D_BEEFBD88)($at) +/* 7C0D8 800E2C28 D422BD88 */ ldc1 $f2, %lo(D_8010BD88)($at) /* 7C0DC 800E2C2C 46003021 */ cvt.d.s $f0, $f6 /* 7C0E0 800E2C30 4620103C */ c.lt.d $f2, $f0 /* 7C0E4 800E2C34 00000000 */ nop diff --git a/asm/nonmatchings/code_de740_len_23f0/func_801489B8.s b/asm/nonmatchings/code_de740_len_23f0/func_801489B8.s index f1ac5ea174..a2296e6679 100644 --- a/asm/nonmatchings/code_de740_len_23f0/func_801489B8.s +++ b/asm/nonmatchings/code_de740_len_23f0/func_801489B8.s @@ -476,7 +476,7 @@ glabel func_801489B8 /* DF7D4 801490D4 3463F438 */ ori $v1, $v1, 0xf438 .L801490D8: /* DF7D8 801490D8 34843480 */ ori $a0, $a0, 0x3480 -/* DF7DC 801490DC 3C03F5FF */ lui $v1, %hi(D_F5FEA66C) +/* DF7DC 801490DC 3C03F5FF */ lui $v1, 0xf5ff /* DF7E0 801490E0 3463FE38 */ ori $v1, $v1, 0xfe38 .L801490E4: /* DF7E4 801490E4 25420050 */ addiu $v0, $t2, 0x50 @@ -484,7 +484,7 @@ glabel func_801489B8 /* DF7EC 801490EC AD440048 */ sw $a0, 0x48($t2) /* DF7F0 801490F0 AD43004C */ sw $v1, 0x4c($t2) /* DF7F4 801490F4 3C03800A */ lui $v1, %hi(D_8009A66C) -/* DF7F8 801490F8 2463A66C */ addiu $v1, $v1, %lo(D_F5FEA66C) +/* DF7F8 801490F8 2463A66C */ addiu $v1, $v1, %lo(D_8009A66C) /* DF7FC 801490FC 8C620000 */ lw $v0, ($v1) /* DF800 80149100 461ED002 */ mul.s $f0, $f26, $f30 /* DF804 80149104 00000000 */ nop diff --git a/asm/nonmatchings/code_fee30_len_2d60/func_802DC008.s b/asm/nonmatchings/code_fee30_len_2d60/func_802DC008.s index 2b8313488f..f4d054d335 100644 --- a/asm/nonmatchings/code_fee30_len_2d60/func_802DC008.s +++ b/asm/nonmatchings/code_fee30_len_2d60/func_802DC008.s @@ -164,13 +164,13 @@ glabel func_802DC008 /* FF374 802DC284 80630070 */ lb $v1, 0x70($v1) /* FF378 802DC288 24020002 */ addiu $v0, $zero, 2 /* FF37C 802DC28C 14620009 */ bne $v1, $v0, .L802DC2B4 -/* FF380 802DC290 3C02DC08 */ lui $v0, %hi(D_DC07F3E0) +/* FF380 802DC290 3C02DC08 */ lui $v0, 0xdc08 /* FF384 802DC294 34420008 */ ori $v0, $v0, 8 /* FF388 802DC298 25630080 */ addiu $v1, $t3, 0x80 /* FF38C 802DC29C AD830000 */ sw $v1, ($t4) /* FF390 802DC2A0 AD620078 */ sw $v0, 0x78($t3) /* FF394 802DC2A4 3C02802E */ lui $v0, %hi(D_802DF3E0) -/* FF398 802DC2A8 2442F3E0 */ addiu $v0, $v0, %lo(D_DC07F3E0) +/* FF398 802DC2A8 2442F3E0 */ addiu $v0, $v0, %lo(D_802DF3E0) /* FF39C 802DC2AC 080B70B3 */ j .L802DC2CC /* FF3A0 802DC2B0 AD62007C */ sw $v0, 0x7c($t3) .L802DC2B4: @@ -379,13 +379,13 @@ glabel func_802DC008 /* FF694 802DC5A4 80630070 */ lb $v1, 0x70($v1) /* FF698 802DC5A8 24020002 */ addiu $v0, $zero, 2 /* FF69C 802DC5AC 14620009 */ bne $v1, $v0, .L802DC5D4 -/* FF6A0 802DC5B0 3C02DC08 */ lui $v0, %hi(D_DC07F3E0) +/* FF6A0 802DC5B0 3C02DC08 */ lui $v0, 0xdc08 /* FF6A4 802DC5B4 34420008 */ ori $v0, $v0, 8 /* FF6A8 802DC5B8 24C30018 */ addiu $v1, $a2, 0x18 /* FF6AC 802DC5BC ACE30000 */ sw $v1, ($a3) /* FF6B0 802DC5C0 ACC20010 */ sw $v0, 0x10($a2) /* FF6B4 802DC5C4 3C02802E */ lui $v0, %hi(D_802DF3E0) -/* FF6B8 802DC5C8 2442F3E0 */ addiu $v0, $v0, %lo(D_DC07F3E0) +/* FF6B8 802DC5C8 2442F3E0 */ addiu $v0, $v0, %lo(D_802DF3E0) /* FF6BC 802DC5CC 080B717B */ j .L802DC5EC /* FF6C0 802DC5D0 ACC20014 */ sw $v0, 0x14($a2) .L802DC5D4: diff --git a/asm/nonmatchings/world/area_dro/dro_02/9694C0/func_802416FC_96A8BC.s b/asm/nonmatchings/world/area_dro/dro_02/9694C0/func_802416FC_96A8BC.s index 6063e1b1b9..a1385a7808 100644 --- a/asm/nonmatchings/world/area_dro/dro_02/9694C0/func_802416FC_96A8BC.s +++ b/asm/nonmatchings/world/area_dro/dro_02/9694C0/func_802416FC_96A8BC.s @@ -73,14 +73,14 @@ glabel func_802416FC_96A8BC /* 96A9CC 8024180C 0C04EAA7 */ jal func_8013AA9C /* 96A9D0 80241810 AFB00018 */ sw $s0, 0x18($sp) /* 96A9D4 80241814 0240202D */ daddu $a0, $s2, $zero -/* 96A9D8 80241818 3C05F4AC */ lui $a1, %hi(D_F4AC2EAC) +/* 96A9D8 80241818 3C05F4AC */ lui $a1, 0xf4ac /* 96A9DC 8024181C 34A5D483 */ ori $a1, $a1, 0xd483 /* 96A9E0 80241820 0C0B2026 */ jal set_variable /* 96A9E4 80241824 0260302D */ daddu $a2, $s3, $zero /* 96A9E8 80241828 3C048024 */ lui $a0, %hi(D_8024240C) /* 96A9EC 8024182C 2484240C */ addiu $a0, $a0, %lo(D_8024240C) /* 96A9F0 80241830 3C058024 */ lui $a1, %hi(D_80242EAC) -/* 96A9F4 80241834 24A52EAC */ addiu $a1, $a1, %lo(D_F4AC2EAC) +/* 96A9F4 80241834 24A52EAC */ addiu $a1, $a1, %lo(D_80242EAC) /* 96A9F8 80241838 0C048C56 */ jal bind_dynamic_entity_3 /* 96A9FC 8024183C 00000000 */ nop /* 96AA00 80241840 0240202D */ daddu $a0, $s2, $zero diff --git a/asm/nonmatchings/world/area_hos/hos_05/A2AAC0/func_80240F30_A2B170.s b/asm/nonmatchings/world/area_hos/hos_05/A2AAC0/func_80240F30_A2B170.s index 881af959d0..618d29e3d3 100644 --- a/asm/nonmatchings/world/area_hos/hos_05/A2AAC0/func_80240F30_A2B170.s +++ b/asm/nonmatchings/world/area_hos/hos_05/A2AAC0/func_80240F30_A2B170.s @@ -3,12 +3,12 @@ glabel func_80240F30_A2B170 /* A2B170 80240F30 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* A2B174 80240F34 3C05F4AC */ lui $a1, %hi(D_F4AB95DC) +/* A2B174 80240F34 3C05F4AC */ lui $a1, 0xf4ac /* A2B178 80240F38 AFBF0010 */ sw $ra, 0x10($sp) /* A2B17C 80240F3C 0C0B1EAF */ jal get_variable /* A2B180 80240F40 34A5D480 */ ori $a1, $a1, 0xd480 /* A2B184 80240F44 3C058025 */ lui $a1, %hi(D_802495DC) -/* A2B188 80240F48 24A595DC */ addiu $a1, $a1, %lo(D_F4AB95DC) +/* A2B188 80240F48 24A595DC */ addiu $a1, $a1, %lo(D_802495DC) /* A2B18C 80240F4C 8CA40000 */ lw $a0, ($a1) /* A2B190 80240F50 8C42000C */ lw $v0, 0xc($v0) /* A2B194 80240F54 00041840 */ sll $v1, $a0, 1 diff --git a/asm/nonmatchings/world/area_hos/hos_05/A2AAC0/func_80240F88_A2B1C8.s b/asm/nonmatchings/world/area_hos/hos_05/A2AAC0/func_80240F88_A2B1C8.s index aab87a8e3b..ff890d60c8 100644 --- a/asm/nonmatchings/world/area_hos/hos_05/A2AAC0/func_80240F88_A2B1C8.s +++ b/asm/nonmatchings/world/area_hos/hos_05/A2AAC0/func_80240F88_A2B1C8.s @@ -3,12 +3,12 @@ glabel func_80240F88_A2B1C8 /* A2B1C8 80240F88 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* A2B1CC 80240F8C 3C05F4AC */ lui $a1, %hi(D_F4AB95E0) +/* A2B1CC 80240F8C 3C05F4AC */ lui $a1, 0xf4ac /* A2B1D0 80240F90 AFBF0010 */ sw $ra, 0x10($sp) /* A2B1D4 80240F94 0C0B1EAF */ jal get_variable /* A2B1D8 80240F98 34A5D480 */ ori $a1, $a1, 0xd480 /* A2B1DC 80240F9C 3C058025 */ lui $a1, %hi(D_802495E0) -/* A2B1E0 80240FA0 24A595E0 */ addiu $a1, $a1, %lo(D_F4AB95E0) +/* A2B1E0 80240FA0 24A595E0 */ addiu $a1, $a1, %lo(D_802495E0) /* A2B1E4 80240FA4 8CA40000 */ lw $a0, ($a1) /* A2B1E8 80240FA8 8C42000C */ lw $v0, 0xc($v0) /* A2B1EC 80240FAC 00041840 */ sll $v1, $a0, 1 diff --git a/asm/nonmatchings/world/area_kmr/kmr_22/8FF8B0/func_80240B4C_9001BC.s b/asm/nonmatchings/world/area_kmr/kmr_22/8FF8B0/func_80240B4C_9001BC.s index 49593dcca2..774d3ac36b 100644 --- a/asm/nonmatchings/world/area_kmr/kmr_22/8FF8B0/func_80240B4C_9001BC.s +++ b/asm/nonmatchings/world/area_kmr/kmr_22/8FF8B0/func_80240B4C_9001BC.s @@ -9,13 +9,13 @@ glabel func_80240B4C_9001BC /* 9001CC 80240B5C 0C00AB39 */ jal heap_malloc /* 9001D0 80240B60 24040780 */ addiu $a0, $zero, 0x780 /* 9001D4 80240B64 0200202D */ daddu $a0, $s0, $zero -/* 9001D8 80240B68 3C05FD05 */ lui $a1, %hi(D_FD050B00) +/* 9001D8 80240B68 3C05FD05 */ lui $a1, 0xfd05 /* 9001DC 80240B6C 34A50F80 */ ori $a1, $a1, 0xf80 /* 9001E0 80240B70 0C0B2026 */ jal set_variable /* 9001E4 80240B74 0040302D */ daddu $a2, $v0, $zero /* 9001E8 80240B78 2402FFFF */ addiu $v0, $zero, -1 /* 9001EC 80240B7C 3C058024 */ lui $a1, %hi(D_80240B00) -/* 9001F0 80240B80 24A50B00 */ addiu $a1, $a1, %lo(D_FD050B00) +/* 9001F0 80240B80 24A50B00 */ addiu $a1, $a1, %lo(D_80240B00) /* 9001F4 80240B84 3C018025 */ lui $at, %hi(D_802483D0) /* 9001F8 80240B88 AC2283D0 */ sw $v0, %lo(D_802483D0)($at) /* 9001FC 80240B8C 0C048C56 */ jal bind_dynamic_entity_3 diff --git a/asm/nonmatchings/world/area_kmr/kmr_23/907A40/func_80240D14_908744.s b/asm/nonmatchings/world/area_kmr/kmr_23/907A40/func_80240D14_908744.s index 5687f4e99a..1a7ae46a94 100644 --- a/asm/nonmatchings/world/area_kmr/kmr_23/907A40/func_80240D14_908744.s +++ b/asm/nonmatchings/world/area_kmr/kmr_23/907A40/func_80240D14_908744.s @@ -3,14 +3,14 @@ glabel func_80240D14_908744 /* 908744 80240D14 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 908748 80240D18 3C05FD05 */ lui $a1, %hi(D_FD04A650) +/* 908748 80240D18 3C05FD05 */ lui $a1, 0xfd05 /* 90874C 80240D1C 34A50F80 */ ori $a1, $a1, 0xf80 /* 908750 80240D20 AFBF0010 */ sw $ra, 0x10($sp) /* 908754 80240D24 0C0B1EAF */ jal get_variable /* 908758 80240D28 0000202D */ daddu $a0, $zero, $zero /* 90875C 80240D2C 24030001 */ addiu $v1, $zero, 1 /* 908760 80240D30 3C05800A */ lui $a1, %hi(D_8009A650) -/* 908764 80240D34 24A5A650 */ addiu $a1, $a1, %lo(D_FD04A650) +/* 908764 80240D34 24A5A650 */ addiu $a1, $a1, %lo(D_8009A650) /* 908768 80240D38 A443001E */ sh $v1, 0x1e($v0) /* 90876C 80240D3C 8CA30000 */ lw $v1, ($a1) /* 908770 80240D40 3C040010 */ lui $a0, 0x10 diff --git a/asm/nonmatchings/world/area_kzn/kzn_19/C8DBB0/func_8024140C_C8EFBC.s b/asm/nonmatchings/world/area_kzn/kzn_19/C8DBB0/func_8024140C_C8EFBC.s index e239b3f6cb..f13f8961fe 100644 --- a/asm/nonmatchings/world/area_kzn/kzn_19/C8DBB0/func_8024140C_C8EFBC.s +++ b/asm/nonmatchings/world/area_kzn/kzn_19/C8DBB0/func_8024140C_C8EFBC.s @@ -9,13 +9,13 @@ glabel func_8024140C_C8EFBC /* C8EFCC 8024141C 0C00AB39 */ jal heap_malloc /* C8EFD0 80241420 24040780 */ addiu $a0, $zero, 0x780 /* C8EFD4 80241424 0200202D */ daddu $a0, $s0, $zero -/* C8EFD8 80241428 3C05FD05 */ lui $a1, %hi(D_FD0513C0) +/* C8EFD8 80241428 3C05FD05 */ lui $a1, 0xfd05 /* C8EFDC 8024142C 34A50F80 */ ori $a1, $a1, 0xf80 /* C8EFE0 80241430 0C0B2026 */ jal set_variable /* C8EFE4 80241434 0040302D */ daddu $a2, $v0, $zero /* C8EFE8 80241438 2402FFFF */ addiu $v0, $zero, -1 /* C8EFEC 8024143C 3C058024 */ lui $a1, %hi(D_802413C0) -/* C8EFF0 80241440 24A513C0 */ addiu $a1, $a1, %lo(D_FD0513C0) +/* C8EFF0 80241440 24A513C0 */ addiu $a1, $a1, %lo(D_802413C0) /* C8EFF4 80241444 3C018025 */ lui $at, %hi(D_80248380) /* C8EFF8 80241448 AC228380 */ sw $v0, %lo(D_80248380)($at) /* C8EFFC 8024144C 0C048C56 */ jal bind_dynamic_entity_3 diff --git a/tools/n64splat b/tools/n64splat index 09eca0b285..5c39b85f81 160000 --- a/tools/n64splat +++ b/tools/n64splat @@ -1 +1 @@ -Subproject commit 09eca0b28586d9ae2db3708985a9b5a4da5850d4 +Subproject commit 5c39b85f817ad174f0c562811c183c88bf565f8f diff --git a/tools/symbol_addrs.txt b/tools/symbol_addrs.txt index 9dab963800..126b341c10 100644 --- a/tools/symbol_addrs.txt +++ b/tools/symbol_addrs.txt @@ -563,6 +563,7 @@ load_demo_battle = 0x80072E14; EnemyNpcHit = 0x80077F70; EnemyNpcDefeat = 0x8007809C; nuAuPreNMIFunc = 0x80078174; +nuAuFrameCounter = 0x8007817C; D_80078DB0 = 0x80078DB0; D_80078DB4 = 0x80078DB4; gEffectTable = 0x8007F214; diff --git a/undefined_syms_auto.txt b/undefined_syms_auto.txt index 7619b27f21..651cbac792 100644 --- a/undefined_syms_auto.txt +++ b/undefined_syms_auto.txt @@ -16,7 +16,6 @@ D_800006A4 = 0x800006A4; D_800006A8 = 0x800006A8; D_80001D80 = 0x80001D80; D_8000419C = 0x8000419C; -D_80004880 = 0x80004880; D_80007410 = 0x80007410; D_80025D74 = 0x80025D74; D_80026AC7 = 0x80026AC7; @@ -4750,8 +4749,6 @@ D_802F39D0 = 0x802F39D0; D_802F4560 = 0x802F4560; D_8034F800 = 0x8034F800; D_A0000000 = 0xA0000000; -D_A0000010 = 0xA0000010; -D_A0000018 = 0xA0000018; D_A0000C7C = 0xA0000C7C; D_A0006A70 = 0xA0006A70; D_A4000000 = 0xA4000000; @@ -4775,8 +4772,6 @@ D_A6000000 = 0xA6000000; D_B0000000 = 0xB0000000; D_B0000008 = 0xB0000008; D_B0000010 = 0xB0000010; -D_B215B224 = 0xB215B224; -D_BEEFBD88 = 0xBEEFBD88; D_BF804254 = 0xBF804254; D_BF806900 = 0xBF806900; D_BFDFB110 = 0xBFDFB110; @@ -4797,7 +4792,6 @@ D_D9FCFFFF = 0xD9FCFFFF; D_DA37A674 = 0xDA37A674; D_DA380060 = 0xDA380060; D_DB01C270 = 0xDB01C270; -D_DC07F3E0 = 0xDC07F3E0; D_DDFF8100 = 0xDDFF8100; D_DDFF9710 = 0xDDFF9710; D_DDFF97D8 = 0xDDFF97D8; @@ -5481,12 +5475,7 @@ D_F1000008 = 0xF1000008; D_F1000040 = 0xF1000040; D_F1FFFFFF = 0xF1FFFFFF; D_F4000008 = 0xF4000008; -D_F4AB95DC = 0xF4AB95DC; -D_F4AB95E0 = 0xF4AB95E0; -D_F4AC2EAC = 0xF4AC2EAC; D_F5000007 = 0xF5000007; -D_F5DDF120 = 0xF5DDF120; -D_F5FEA66C = 0xF5FEA66C; D_F79DDD0F = 0xF79DDD0F; D_F7FEC070 = 0xF7FEC070; D_F7FF4EBC = 0xF7FF4EBC; @@ -5504,9 +5493,6 @@ D_FA0015A8 = 0xFA0015A8; D_FA006078 = 0xFA006078; D_FAFFB763 = 0xFAFFB763; D_FB000002 = 0xFB000002; -D_FD04A650 = 0xFD04A650; -D_FD050B00 = 0xFD050B00; -D_FD0513C0 = 0xFD0513C0; D_FD0F93A0 = 0xFD0F93A0; D_FD0FF038 = 0xFD0FF038; D_FD100008 = 0xFD100008; From 55a37ba67361a1b90fa8ad8488900e9f46430f46 Mon Sep 17 00:00:00 2001 From: Ethan Roseman Date: Thu, 10 Dec 2020 15:39:32 +0900 Subject: [PATCH 34/97] nuAuDmaNew --- asm/data/code_1000_len_60.data.s | 2 +- .../code_25f00_len_940/func_8004AB00.s | 6 ++--- .../code_25f00_len_940/nuAuCleanDMABuffers.s | 10 ++++----- .../code_25f00_len_940/nuAuDmaCallBack.s | 22 +++++++++---------- .../code_25f00_len_940/nuAuDmaNew.s | 22 ------------------- src/code_25f00_len_940.c | 15 ++++++++++++- tools/symbol_addrs.txt | 3 +++ undefined_syms.txt | 3 +++ 8 files changed, 40 insertions(+), 43 deletions(-) delete mode 100644 asm/nonmatchings/code_25f00_len_940/nuAuDmaNew.s diff --git a/asm/data/code_1000_len_60.data.s b/asm/data/code_1000_len_60.data.s index 4cc2d7908a..3f762a0c5b 100644 --- a/asm/data/code_1000_len_60.data.s +++ b/asm/data/code_1000_len_60.data.s @@ -263,7 +263,7 @@ glabel D_80078170 glabel nuAuPreNMIFunc .word 0x00000000 -glabel D_80078178 +glabel nuAuDmaNext .word 0x00000000 glabel nuAuFrameCounter diff --git a/asm/nonmatchings/code_25f00_len_940/func_8004AB00.s b/asm/nonmatchings/code_25f00_len_940/func_8004AB00.s index 849b0c7970..7192171a4f 100644 --- a/asm/nonmatchings/code_25f00_len_940/func_8004AB00.s +++ b/asm/nonmatchings/code_25f00_len_940/func_8004AB00.s @@ -118,8 +118,8 @@ glabel func_8004AB00 /* 260B8 8004ACB8 1440FFF6 */ bnez $v0, .L8004AC94 /* 260BC 8004ACBC 26100004 */ addiu $s0, $s0, 4 /* 260C0 8004ACC0 0000882D */ daddu $s1, $zero, $zero -/* 260C4 8004ACC4 3C02800A */ lui $v0, %hi(D_800A3BE0) -/* 260C8 8004ACC8 24423BE0 */ addiu $v0, $v0, %lo(D_800A3BE0) +/* 260C4 8004ACC4 3C02800A */ lui $v0, %hi(nuAuDmaBuf) +/* 260C8 8004ACC8 24423BE0 */ addiu $v0, $v0, %lo(nuAuDmaBuf) /* 260CC 8004ACCC 0040802D */ daddu $s0, $v0, $zero /* 260D0 8004ACD0 26120014 */ addiu $s2, $s0, 0x14 /* 260D4 8004ACD4 AE000004 */ sw $zero, 4($s0) @@ -164,7 +164,7 @@ glabel func_8004AB00 /* 2616C 8004AD6C 27A50018 */ addiu $a1, $sp, 0x18 /* 26170 8004AD70 8FA40020 */ lw $a0, 0x20($sp) /* 26174 8004AD74 0C014B97 */ jal func_80052E5C -/* 26178 8004AD78 00000000 */ nop +/* 26178 8004AD78 00000000 */ nop /* 2617C 8004AD7C 3C10800A */ lui $s0, %hi(D_800A0F58) /* 26180 8004AD80 26100F58 */ addiu $s0, $s0, %lo(D_800A0F58) /* 26184 8004AD84 0200202D */ daddu $a0, $s0, $zero diff --git a/asm/nonmatchings/code_25f00_len_940/nuAuCleanDMABuffers.s b/asm/nonmatchings/code_25f00_len_940/nuAuCleanDMABuffers.s index 9199aedaa2..a6917987a5 100644 --- a/asm/nonmatchings/code_25f00_len_940/nuAuCleanDMABuffers.s +++ b/asm/nonmatchings/code_25f00_len_940/nuAuCleanDMABuffers.s @@ -3,8 +3,8 @@ glabel nuAuCleanDMABuffers /* 26668 8004B268 27BDFFE0 */ addiu $sp, $sp, -0x20 -/* 2666C 8004B26C 3C02800A */ lui $v0, %hi(D_800A3BD0) -/* 26670 8004B270 24423BD0 */ addiu $v0, $v0, %lo(D_800A3BD0) +/* 2666C 8004B26C 3C02800A */ lui $v0, %hi(nuAuDmaState) +/* 26670 8004B270 24423BD0 */ addiu $v0, $v0, %lo(nuAuDmaState) /* 26674 8004B274 AFBF001C */ sw $ra, 0x1c($sp) /* 26678 8004B278 AFB20018 */ sw $s2, 0x18($sp) /* 2667C 8004B27C AFB10014 */ sw $s1, 0x14($sp) @@ -40,13 +40,13 @@ glabel nuAuCleanDMABuffers /* 266E8 8004B2E8 0220802D */ daddu $s0, $s1, $zero .L8004B2EC: /* 266EC 8004B2EC 1600FFE8 */ bnez $s0, .L8004B290 -/* 266F0 8004B2F0 00000000 */ nop +/* 266F0 8004B2F0 00000000 */ nop .L8004B2F4: /* 266F4 8004B2F4 3C038008 */ lui $v1, %hi(D_8007817C) /* 266F8 8004B2F8 2463817C */ addiu $v1, $v1, %lo(D_8007817C) /* 266FC 8004B2FC 8C620000 */ lw $v0, ($v1) -/* 26700 8004B300 3C018008 */ lui $at, %hi(D_80078178) -/* 26704 8004B304 AC208178 */ sw $zero, %lo(D_80078178)($at) +/* 26700 8004B300 3C018008 */ lui $at, %hi(nuAuDmaNext) +/* 26704 8004B304 AC208178 */ sw $zero, %lo(nuAuDmaNext)($at) /* 26708 8004B308 24420001 */ addiu $v0, $v0, 1 /* 2670C 8004B30C AC620000 */ sw $v0, ($v1) /* 26710 8004B310 8FBF001C */ lw $ra, 0x1c($sp) diff --git a/asm/nonmatchings/code_25f00_len_940/nuAuDmaCallBack.s b/asm/nonmatchings/code_25f00_len_940/nuAuDmaCallBack.s index c12d03ac2e..54c4a256e3 100644 --- a/asm/nonmatchings/code_25f00_len_940/nuAuDmaCallBack.s +++ b/asm/nonmatchings/code_25f00_len_940/nuAuDmaCallBack.s @@ -12,9 +12,9 @@ glabel nuAuDmaCallBack /* 26490 8004B090 14E00005 */ bnez $a3, .L8004B0A8 /* 26494 8004B094 AFB00010 */ sw $s0, 0x10($sp) /* 26498 8004B098 0C0187A4 */ jal osVirtualToPhysical -/* 2649C 8004B09C 00000000 */ nop +/* 2649C 8004B09C 00000000 */ nop /* 264A0 8004B0A0 08012C82 */ j .L8004B208 -/* 264A4 8004B0A4 00000000 */ nop +/* 264A4 8004B0A4 00000000 */ nop .L8004B0A8: /* 264A8 8004B0A8 0000802D */ daddu $s0, $zero, $zero /* 264AC 8004B0AC 3C11800A */ lui $s1, %hi(D_800A3BD4) @@ -31,18 +31,18 @@ glabel nuAuDmaCallBack /* 264D4 8004B0D4 0220802D */ daddu $s0, $s1, $zero /* 264D8 8004B0D8 8E310000 */ lw $s1, ($s1) /* 264DC 8004B0DC 1620FFF7 */ bnez $s1, .L8004B0BC -/* 264E0 8004B0E0 00000000 */ nop +/* 264E0 8004B0E0 00000000 */ nop .L8004B0E4: -/* 264E4 8004B0E4 3C12800A */ lui $s2, %hi(D_800A3BD0) -/* 264E8 8004B0E8 26523BD0 */ addiu $s2, $s2, %lo(D_800A3BD0) +/* 264E4 8004B0E4 3C12800A */ lui $s2, %hi(nuAuDmaState) +/* 264E8 8004B0E8 26523BD0 */ addiu $s2, $s2, %lo(nuAuDmaState) /* 264EC 8004B0EC 8E510008 */ lw $s1, 8($s2) /* 264F0 8004B0F0 16200006 */ bnez $s1, .L8004B10C /* 264F4 8004B0F4 0220202D */ daddu $a0, $s1, $zero /* 264F8 8004B0F8 8E440004 */ lw $a0, 4($s2) /* 264FC 8004B0FC 0C0187A4 */ jal osVirtualToPhysical -/* 26500 8004B100 00000000 */ nop +/* 26500 8004B100 00000000 */ nop /* 26504 8004B104 08012C82 */ j .L8004B208 -/* 26508 8004B108 00000000 */ nop +/* 26508 8004B108 00000000 */ nop .L8004B10C: /* 2650C 8004B10C 8E220000 */ lw $v0, ($s1) /* 26510 8004B110 0C012D03 */ jal alUnlink @@ -52,7 +52,7 @@ glabel nuAuDmaCallBack /* 26520 8004B120 0C012CFB */ jal alLink /* 26524 8004B124 0200282D */ daddu $a1, $s0, $zero /* 26528 8004B128 08012C61 */ j .L8004B184 -/* 2652C 8004B12C 00000000 */ nop +/* 2652C 8004B12C 00000000 */ nop .L8004B130: /* 26530 8004B130 8E450004 */ lw $a1, 4($s2) /* 26534 8004B134 10A00010 */ beqz $a1, .L8004B178 @@ -72,14 +72,14 @@ glabel nuAuDmaCallBack /* 26568 8004B168 0C0187A4 */ jal osVirtualToPhysical /* 2656C 8004B16C AE23000C */ sw $v1, 0xc($s1) /* 26570 8004B170 08012C82 */ j .L8004B208 -/* 26574 8004B174 00000000 */ nop +/* 26574 8004B174 00000000 */ nop .L8004B178: /* 26578 8004B178 AE510004 */ sw $s1, 4($s2) /* 2657C 8004B17C AE200000 */ sw $zero, ($s1) /* 26580 8004B180 AE200004 */ sw $zero, 4($s1) .L8004B184: -/* 26584 8004B184 3C048008 */ lui $a0, %hi(D_80078178) -/* 26588 8004B188 24848178 */ addiu $a0, $a0, %lo(D_80078178) +/* 26584 8004B184 3C048008 */ lui $a0, %hi(nuAuDmaNext) +/* 26588 8004B188 24848178 */ addiu $a0, $a0, %lo(nuAuDmaNext) /* 2658C 8004B18C 32700001 */ andi $s0, $s3, 1 /* 26590 8004B190 02709823 */ subu $s3, $s3, $s0 /* 26594 8004B194 3C02800A */ lui $v0, %hi(D_800A3720) diff --git a/asm/nonmatchings/code_25f00_len_940/nuAuDmaNew.s b/asm/nonmatchings/code_25f00_len_940/nuAuDmaNew.s deleted file mode 100644 index 02607364ca..0000000000 --- a/asm/nonmatchings/code_25f00_len_940/nuAuDmaNew.s +++ /dev/null @@ -1,22 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel nuAuDmaNew -/* 26624 8004B224 3C03800A */ lui $v1, %hi(D_800A3BD0) -/* 26628 8004B228 24633BD0 */ addiu $v1, $v1, %lo(D_800A3BD0) -/* 2662C 8004B22C 90620000 */ lbu $v0, ($v1) -/* 26630 8004B230 14400007 */ bnez $v0, .L8004B250 -/* 26634 8004B234 00000000 */ nop -/* 26638 8004B238 3C02800A */ lui $v0, %hi(D_800A3BE0) -/* 2663C 8004B23C 24423BE0 */ addiu $v0, $v0, %lo(D_800A3BE0) -/* 26640 8004B240 AC620008 */ sw $v0, 8($v1) -/* 26644 8004B244 24020001 */ addiu $v0, $zero, 1 -/* 26648 8004B248 AC600004 */ sw $zero, 4($v1) -/* 2664C 8004B24C A0620000 */ sb $v0, ($v1) -.L8004B250: -/* 26650 8004B250 3C028005 */ lui $v0, %hi(nuAuDmaCallBack) -/* 26654 8004B254 2442B074 */ addiu $v0, $v0, %lo(nuAuDmaCallBack) -/* 26658 8004B258 3C018008 */ lui $at, %hi(D_80078178) -/* 2665C 8004B25C AC208178 */ sw $zero, %lo(D_80078178)($at) -/* 26660 8004B260 03E00008 */ jr $ra -/* 26664 8004B264 AC830000 */ sw $v1, ($a0) diff --git a/src/code_25f00_len_940.c b/src/code_25f00_len_940.c index 2647ce0b85..c0192200f4 100644 --- a/src/code_25f00_len_940.c +++ b/src/code_25f00_len_940.c @@ -2,6 +2,9 @@ #include "nu/nusys.h" #include "nu/nualsgi.h" +extern NUDMAState nuAuDmaState; +extern s32 nuAuDmaNext; + INCLUDE_ASM(s32, "code_25f00_len_940", func_8004AB00); void nuAuPreNMIFuncSet(NUAuPreNMIFunc func) { @@ -15,7 +18,17 @@ INCLUDE_ASM(s32, "code_25f00_len_940", func_8004AE08); INCLUDE_ASM(s32, "code_25f00_len_940", nuAuDmaCallBack); -INCLUDE_ASM(ALDMAproc, "code_25f00_len_940", nuAuDmaNew, NUDMAState **state); +ALDMAproc nuAuDmaNew(NUDMAState **state) { + if (!nuAuDmaState.initialized) { + nuAuDmaState.firstFree = &nuAuDmaBuf; + nuAuDmaState.firstUsed = NULL; + nuAuDmaState.initialized = TRUE; + } + + nuAuDmaNext = 0; + *state = &nuAuDmaState; + return nuAuDmaCallBack; +} INCLUDE_ASM(void, "code_25f00_len_940", nuAuCleanDMABuffers); diff --git a/tools/symbol_addrs.txt b/tools/symbol_addrs.txt index 126b341c10..111a83c0a5 100644 --- a/tools/symbol_addrs.txt +++ b/tools/symbol_addrs.txt @@ -563,12 +563,15 @@ load_demo_battle = 0x80072E14; EnemyNpcHit = 0x80077F70; EnemyNpcDefeat = 0x8007809C; nuAuPreNMIFunc = 0x80078174; +nuAuDmaNext = 0x80078178; nuAuFrameCounter = 0x8007817C; D_80078DB0 = 0x80078DB0; D_80078DB4 = 0x80078DB4; gEffectTable = 0x8007F214; gItemTable = 0x800878E0; // size:0x2D80 gAreas = 0x800934F0; +nuAuDmaState = 0x800A3BD0; +nuAuDmaBuf = 0x800A3BE0; gCurrentEncounter = 0x800B0F10; // size:0xB0 gBattleState = 0x800DC068; gBattleStatus = 0x800DC070; // size:0x490 diff --git a/undefined_syms.txt b/undefined_syms.txt index 5f64481f84..6545cca669 100644 --- a/undefined_syms.txt +++ b/undefined_syms.txt @@ -99,6 +99,9 @@ nuContRmbCallBack = 0x80093D00; nuGfxFunc = 0x80093D10; nuGfxPreNMIFunc = 0x80093D14; +nuAuDmaState = 0x800A3BD0; +nuAuDmaBuf = 0x800A3BE0; + osViModeTable = 0x800946A0; D_800959D4 = 0x800959D4; D_8009A5B0 = 0x8009A5B0; From 0286743ae504eed9854ca6b36634ef61125706ba Mon Sep 17 00:00:00 2001 From: Ethan Roseman Date: Thu, 10 Dec 2020 16:11:43 +0900 Subject: [PATCH 35/97] asm update --- asm/boot.s | 4 +- .../code_102610_len_2330/func_802E1EDC.s | 4 +- .../code_104940_len_dc0/func_802E3370.s | 4 +- .../code_105700_len_2130/func_802E4730.s | 4 +- .../code_105700_len_2130/func_802E586C.s | 4 +- .../code_121f0_len_1290/func_80037BC8.s | 4 +- .../code_1370_len_7d0/func_80026164.s | 4 +- .../code_13870_len_6980/func_8003DC38.s | 4 +- .../pause_partners_draw_contents.s | 12 +- .../code_13E120/pause_partners_init.s | 4 +- .../code_16F740/update_run_away.s | 4 +- asm/nonmatchings/code_1776B0/use_cam_preset.s | 16 +- asm/nonmatchings/code_18C790/func_8025E190.s | 4 +- .../code_25f00_len_940/func_8004AB00.s | 2 +- .../code_25f00_len_940/nuAuCleanDMABuffers.s | 10 +- .../code_25f00_len_940/nuAuDmaCallBack.s | 22 +-- asm/nonmatchings/code_316a70/func_80200080.s | 4 +- asm/nonmatchings/code_333EC0/func_E00205D0.s | 4 +- asm/nonmatchings/code_337240/func_E0022998.s | 8 +- asm/nonmatchings/code_339250/func_E0024454.s | 4 +- asm/nonmatchings/code_33FE80/func_E002C414.s | 4 +- asm/nonmatchings/code_342140/func_E0030A68.s | 4 +- asm/nonmatchings/code_343680/func_E003245C.s | 4 +- asm/nonmatchings/code_354F60/func_E004491C.s | 8 +- asm/nonmatchings/code_3584C0/func_E004A78C.s | 4 +- asm/nonmatchings/code_36A8D0/func_E0068234.s | 4 +- asm/nonmatchings/code_372790/func_E006E35C.s | 4 +- asm/nonmatchings/code_389850/func_E00863B4.s | 4 +- asm/nonmatchings/code_38ADF0/func_E00887E0.s | 4 +- asm/nonmatchings/code_3AEE20/func_E00AC2A4.s | 4 +- asm/nonmatchings/code_3B2350/func_E00AE54C.s | 4 +- asm/nonmatchings/code_3B3EB0/func_E00B0234.s | 4 +- .../update_player_shadow.s | 4 +- .../code_891b0_len_fb0/func_800F0490.s | 4 +- .../code_8a160_len_700/func_800F102C.s | 4 +- .../code_8e790_len_2850/draw_box.s | 8 +- .../code_a5dd0_len_114e0/func_801180E8.s | 184 +++++++++--------- .../code_b72b0_len_15ed0/func_80121184.s | 4 +- .../code_b72b0_len_15ed0/func_80122288.s | 4 +- .../code_b72b0_len_15ed0/func_80126790.s | 4 +- .../code_b72b0_len_15ed0/func_80127D90.s | 4 +- .../code_b72b0_len_15ed0/func_8012DB58.s | 4 +- .../code_b72b0_len_15ed0/func_8012E9A0.s | 4 +- .../code_b72b0_len_15ed0/func_8012EC94.s | 4 +- .../code_cd180_len_38f0/func_80136A80.s | 4 +- .../code_cd180_len_38f0/func_80138E54.s | 4 +- .../code_d0a70_len_4fe0/func_8013E2F0.s | 4 +- .../code_dc470_len_14c0/func_80145EC0.s | 4 +- .../os/code_3cb20_len_130/osInvalDCache.s | 4 +- .../os/code_3cb20_len_130/osInvalICache.s | 4 +- .../os/code_3cc50_len_80/osWritebackDCache.s | 4 +- .../code_3ccd0_len_30/osWritebackDCacheAll.s | 4 +- .../os/code_42470_len_310/osViSwapContext.s | 4 +- .../hos_05/A2AAC0/func_80243758_A2D998.s | 4 +- .../kmr_21/8FEE90/func_80240010_8FEE90.s | 4 +- tools/n64splat | 2 +- undefined_syms_auto.txt | 45 ----- 57 files changed, 228 insertions(+), 273 deletions(-) diff --git a/asm/boot.s b/asm/boot.s index 068c67d388..f1df16c865 100644 --- a/asm/boot.s +++ b/asm/boot.s @@ -291,14 +291,14 @@ glabel func_A4000040 .LA4000458: /* 458 A4000458 3C0AA400 */ lui $t2, %hi(D_A4000000) /* 45C A400045C 254A0000 */ addiu $t2, $t2, %lo(D_A4000000) -/* 460 A4000460 3C0BFFF0 */ lui $t3, %hi(D_FFF00768) +/* 460 A4000460 3C0BFFF0 */ lui $t3, 0xfff0 /* 464 A4000464 3C090010 */ lui $t1, 0x10 /* 468 A4000468 014B5024 */ and $t2, $t2, $t3 /* 46C A400046C 3C08A400 */ lui $t0, %hi(D_A40004C0) /* 470 A4000470 2529FFFF */ addiu $t1, $t1, -1 /* 474 A4000474 3C0BA400 */ lui $t3, %hi(D_A4000768) /* 478 A4000478 250804C0 */ addiu $t0, $t0, %lo(D_A40004C0) -/* 47C A400047C 256B0768 */ addiu $t3, $t3, %lo(D_FFF00768) +/* 47C A400047C 256B0768 */ addiu $t3, $t3, %lo(D_A4000768) /* 480 A4000480 01094024 */ and $t0, $t0, $t1 /* 484 A4000484 01695824 */ and $t3, $t3, $t1 /* 488 A4000488 3C09A000 */ lui $t1, %hi(D_A0000000) diff --git a/asm/nonmatchings/code_102610_len_2330/func_802E1EDC.s b/asm/nonmatchings/code_102610_len_2330/func_802E1EDC.s index 0243403684..17b5f0e587 100644 --- a/asm/nonmatchings/code_102610_len_2330/func_802E1EDC.s +++ b/asm/nonmatchings/code_102610_len_2330/func_802E1EDC.s @@ -174,7 +174,7 @@ glabel func_802E1EDC /* 1039E4 802E2164 00000000 */ nop .L802E2168: /* 1039E8 802E2168 C602001C */ lwc1 $f2, 0x1c($s0) -/* 1039EC 802E216C 3C01BFE0 */ lui $at, %hi(D_BFDFB110) +/* 1039EC 802E216C 3C01BFE0 */ lui $at, 0xbfe0 /* 1039F0 802E2170 44810800 */ mtc1 $at, $f1 /* 1039F4 802E2174 44800000 */ mtc1 $zero, $f0 /* 1039F8 802E2178 080B888A */ j .L802E2228 @@ -182,7 +182,7 @@ glabel func_802E1EDC .L802E2180: /* 103A00 802E2180 C602001C */ lwc1 $f2, 0x1c($s0) /* 103A04 802E2184 3C01802F */ lui $at, %hi(D_802EB110) -/* 103A08 802E2188 D420B110 */ ldc1 $f0, %lo(D_BFDFB110)($at) +/* 103A08 802E2188 D420B110 */ ldc1 $f0, %lo(D_802EB110)($at) /* 103A0C 802E218C 460010A1 */ cvt.d.s $f2, $f2 /* 103A10 802E2190 46201082 */ mul.d $f2, $f2, $f0 /* 103A14 802E2194 00000000 */ nop diff --git a/asm/nonmatchings/code_104940_len_dc0/func_802E3370.s b/asm/nonmatchings/code_104940_len_dc0/func_802E3370.s index fb0fed7aea..12015016b3 100644 --- a/asm/nonmatchings/code_104940_len_dc0/func_802E3370.s +++ b/asm/nonmatchings/code_104940_len_dc0/func_802E3370.s @@ -16,7 +16,7 @@ glabel func_802E3370 /* 104C1C 802E339C 10400003 */ beqz $v0, .L802E33AC /* 104C20 802E33A0 00A0902D */ daddu $s2, $a1, $zero /* 104C24 802E33A4 080B8D29 */ j .L802E34A4 -/* 104C28 802E33A8 3C03FFDF */ lui $v1, %hi(D_FFDF0001) +/* 104C28 802E33A8 3C03FFDF */ lui $v1, 0xffdf .L802E33AC: /* 104C2C 802E33AC 8624000E */ lh $a0, 0xe($s1) /* 104C30 802E33B0 9623000E */ lhu $v1, 0xe($s1) @@ -24,7 +24,7 @@ glabel func_802E3370 /* 104C38 802E33B8 1440003F */ bnez $v0, .L802E34B8 /* 104C3C 802E33BC 28820096 */ slti $v0, $a0, 0x96 /* 104C40 802E33C0 1440009C */ bnez $v0, .L802E3634 -/* 104C44 802E33C4 24620001 */ addiu $v0, $v1, %lo(D_FFDF0001) +/* 104C44 802E33C4 24620001 */ addiu $v0, $v1, 1 /* 104C48 802E33C8 C6220014 */ lwc1 $f2, 0x14($s1) /* 104C4C 802E33CC 3C0141C8 */ lui $at, 0x41c8 /* 104C50 802E33D0 44810000 */ mtc1 $at, $f0 diff --git a/asm/nonmatchings/code_105700_len_2130/func_802E4730.s b/asm/nonmatchings/code_105700_len_2130/func_802E4730.s index af8d31e74c..afb2ebf153 100644 --- a/asm/nonmatchings/code_105700_len_2130/func_802E4730.s +++ b/asm/nonmatchings/code_105700_len_2130/func_802E4730.s @@ -107,14 +107,14 @@ glabel func_802E4730 /* 106140 802E48C0 269441F0 */ addiu $s4, $s4, %lo(D_800741F0) /* 106144 802E48C4 AFB60058 */ sw $s6, 0x58($sp) /* 106148 802E48C8 96820000 */ lhu $v0, ($s4) -/* 10614C 802E48CC 3C03DA38 */ lui $v1, %hi(D_DA37A674) +/* 10614C 802E48CC 3C03DA38 */ lui $v1, 0xda38 /* 106150 802E48D0 AD430000 */ sw $v1, ($t2) /* 106154 802E48D4 24430001 */ addiu $v1, $v0, 1 /* 106158 802E48D8 3042FFFF */ andi $v0, $v0, 0xffff /* 10615C 802E48DC 00021180 */ sll $v0, $v0, 6 /* 106160 802E48E0 A6830000 */ sh $v1, ($s4) /* 106164 802E48E4 3C03800A */ lui $v1, %hi(D_8009A674) -/* 106168 802E48E8 8C63A674 */ lw $v1, %lo(D_DA37A674)($v1) +/* 106168 802E48E8 8C63A674 */ lw $v1, %lo(D_8009A674)($v1) /* 10616C 802E48EC 00561021 */ addu $v0, $v0, $s6 /* 106170 802E48F0 00621821 */ addu $v1, $v1, $v0 /* 106174 802E48F4 3C02DE00 */ lui $v0, 0xde00 diff --git a/asm/nonmatchings/code_105700_len_2130/func_802E586C.s b/asm/nonmatchings/code_105700_len_2130/func_802E586C.s index 5b741999d3..81187cac9f 100644 --- a/asm/nonmatchings/code_105700_len_2130/func_802E586C.s +++ b/asm/nonmatchings/code_105700_len_2130/func_802E586C.s @@ -137,14 +137,14 @@ glabel func_802E586C /* 1072EC 802E5A6C 27DE41F0 */ addiu $fp, $fp, %lo(D_800741F0) /* 1072F0 802E5A70 AFB80064 */ sw $t8, 0x64($sp) /* 1072F4 802E5A74 97C20000 */ lhu $v0, ($fp) -/* 1072F8 802E5A78 3C03DA38 */ lui $v1, %hi(D_DA37A674) +/* 1072F8 802E5A78 3C03DA38 */ lui $v1, 0xda38 /* 1072FC 802E5A7C ADC30000 */ sw $v1, ($t6) /* 107300 802E5A80 24430001 */ addiu $v1, $v0, 1 /* 107304 802E5A84 3042FFFF */ andi $v0, $v0, 0xffff /* 107308 802E5A88 00021180 */ sll $v0, $v0, 6 /* 10730C 802E5A8C A7C30000 */ sh $v1, ($fp) /* 107310 802E5A90 3C03800A */ lui $v1, %hi(D_8009A674) -/* 107314 802E5A94 8C63A674 */ lw $v1, %lo(D_DA37A674)($v1) +/* 107314 802E5A94 8C63A674 */ lw $v1, %lo(D_8009A674)($v1) /* 107318 802E5A98 00581021 */ addu $v0, $v0, $t8 /* 10731C 802E5A9C 00621821 */ addu $v1, $v1, $v0 /* 107320 802E5AA0 3C02FD10 */ lui $v0, 0xfd10 diff --git a/asm/nonmatchings/code_121f0_len_1290/func_80037BC8.s b/asm/nonmatchings/code_121f0_len_1290/func_80037BC8.s index 7e555118e9..a1275a0c58 100644 --- a/asm/nonmatchings/code_121f0_len_1290/func_80037BC8.s +++ b/asm/nonmatchings/code_121f0_len_1290/func_80037BC8.s @@ -75,13 +75,13 @@ glabel func_80037BC8 /* 130C8 80037CC8 24A5A66C */ addiu $a1, $a1, %lo(D_8009A66C) /* 130CC 80037CCC 35CE0400 */ ori $t6, $t6, 0x400 /* 130D0 80037CD0 8CA20000 */ lw $v0, ($a1) -/* 130D4 80037CD4 3C03DE00 */ lui $v1, %hi(D_DE007A50) +/* 130D4 80037CD4 3C03DE00 */ lui $v1, 0xde00 /* 130D8 80037CD8 0040202D */ daddu $a0, $v0, $zero /* 130DC 80037CDC 24420008 */ addiu $v0, $v0, 8 /* 130E0 80037CE0 ACA20000 */ sw $v0, ($a1) /* 130E4 80037CE4 AC830000 */ sw $v1, ($a0) /* 130E8 80037CE8 3C038007 */ lui $v1, %hi(D_80077A50) -/* 130EC 80037CEC 24637A50 */ addiu $v1, $v1, %lo(D_DE007A50) +/* 130EC 80037CEC 24637A50 */ addiu $v1, $v1, %lo(D_80077A50) /* 130F0 80037CF0 AC830004 */ sw $v1, 4($a0) /* 130F4 80037CF4 24430008 */ addiu $v1, $v0, 8 /* 130F8 80037CF8 ACA30000 */ sw $v1, ($a1) diff --git a/asm/nonmatchings/code_1370_len_7d0/func_80026164.s b/asm/nonmatchings/code_1370_len_7d0/func_80026164.s index 3a16c1f1d2..10fd8bea6e 100644 --- a/asm/nonmatchings/code_1370_len_7d0/func_80026164.s +++ b/asm/nonmatchings/code_1370_len_7d0/func_80026164.s @@ -136,14 +136,14 @@ glabel func_80026164 /* 1770 80026370 24620048 */ addiu $v0, $v1, 0x48 /* 1774 80026374 AC6E0038 */ sw $t6, 0x38($v1) /* 1778 80026378 AE420000 */ sw $v0, ($s2) -/* 177C 8002637C 3C02F900 */ lui $v0, %hi(D_F9003E10) +/* 177C 8002637C 3C02F900 */ lui $v0, 0xf900 /* 1780 80026380 AC620040 */ sw $v0, 0x40($v1) /* 1784 80026384 2402007F */ addiu $v0, $zero, 0x7f /* 1788 80026388 AC620044 */ sw $v0, 0x44($v1) /* 178C 8002638C 24620050 */ addiu $v0, $v1, 0x50 /* 1790 80026390 AE420000 */ sw $v0, ($s2) /* 1794 80026394 3C028007 */ lui $v0, %hi(D_80073E10) -/* 1798 80026398 24423E10 */ addiu $v0, $v0, %lo(D_F9003E10) +/* 1798 80026398 24423E10 */ addiu $v0, $v0, %lo(D_80073E10) /* 179C 8002639C AC6F0048 */ sw $t7, 0x48($v1) /* 17A0 800263A0 AC62004C */ sw $v0, 0x4c($v1) /* 17A4 800263A4 24620058 */ addiu $v0, $v1, 0x58 diff --git a/asm/nonmatchings/code_13870_len_6980/func_8003DC38.s b/asm/nonmatchings/code_13870_len_6980/func_8003DC38.s index 8ec0bd12dc..91312d186c 100644 --- a/asm/nonmatchings/code_13870_len_6980/func_8003DC38.s +++ b/asm/nonmatchings/code_13870_len_6980/func_8003DC38.s @@ -73,13 +73,13 @@ glabel func_8003DC38 /* 19144 8003DD44 46800020 */ cvt.s.w $f0, $f0 /* 19148 8003DD48 46006307 */ neg.s $f12, $f12 /* 1914C 8003DD4C 46006300 */ add.s $f12, $f12, $f0 -/* 19150 8003DD50 3C01C000 */ lui $at, %hi(D_C0007C28) +/* 19150 8003DD50 3C01C000 */ lui $at, 0xc000 /* 19154 8003DD54 4481A000 */ mtc1 $at, $f20 /* 19158 8003DD58 3C0140A0 */ lui $at, 0x40a0 /* 1915C 8003DD5C 44810000 */ mtc1 $at, $f0 /* 19160 8003DD60 46041080 */ add.s $f2, $f2, $f4 /* 19164 8003DD64 3C018007 */ lui $at, %hi(D_80077C28) -/* 19168 8003DD68 A4207C28 */ sh $zero, %lo(D_C0007C28)($at) +/* 19168 8003DD68 A4207C28 */ sh $zero, %lo(D_80077C28)($at) /* 1916C 8003DD6C 46001083 */ div.s $f2, $f2, $f0 /* 19170 8003DD70 0C00A6C9 */ jal clamp_angle /* 19174 8003DD74 4602A501 */ sub.s $f20, $f20, $f2 diff --git a/asm/nonmatchings/code_13E120/pause_partners_draw_contents.s b/asm/nonmatchings/code_13E120/pause_partners_draw_contents.s index c9693a49ac..c5d9bdcfb8 100644 --- a/asm/nonmatchings/code_13E120/pause_partners_draw_contents.s +++ b/asm/nonmatchings/code_13E120/pause_partners_draw_contents.s @@ -123,14 +123,14 @@ glabel pause_partners_draw_contents .L8024B0CC: /* 13E40C 8024B0CC 2401FFFF */ addiu $at, $zero, -1 /* 13E410 8024B0D0 14410004 */ bne $v0, $at, .L8024B0E4 -/* 13E414 8024B0D4 3C018000 */ lui $at, %hi(D_800006A8) +/* 13E414 8024B0D4 3C018000 */ lui $at, 0x8000 /* 13E418 8024B0D8 16610002 */ bne $s3, $at, .L8024B0E4 /* 13E41C 8024B0DC 00000000 */ nop /* 13E420 8024B0E0 0006000D */ break 6 .L8024B0E4: /* 13E424 8024B0E4 00001012 */ mflo $v0 /* 13E428 8024B0E8 3C018027 */ lui $at, %hi(D_802706A8) -/* 13E42C 8024B0EC C42006A8 */ lwc1 $f0, %lo(D_800006A8)($at) +/* 13E42C 8024B0EC C42006A8 */ lwc1 $f0, %lo(D_802706A8)($at) /* 13E430 8024B0F0 44826000 */ mtc1 $v0, $f12 /* 13E434 8024B0F4 00000000 */ nop /* 13E438 8024B0F8 46806320 */ cvt.s.w $f12, $f12 @@ -212,14 +212,14 @@ glabel pause_partners_draw_contents .L8024B210: /* 13E550 8024B210 2401FFFF */ addiu $at, $zero, -1 /* 13E554 8024B214 14810004 */ bne $a0, $at, .L8024B228 -/* 13E558 8024B218 3C018000 */ lui $at, %hi(D_800006A8) +/* 13E558 8024B218 3C018000 */ lui $at, 0x8000 /* 13E55C 8024B21C 14410002 */ bne $v0, $at, .L8024B228 /* 13E560 8024B220 00000000 */ nop /* 13E564 8024B224 0006000D */ break 6 .L8024B228: /* 13E568 8024B228 00001012 */ mflo $v0 /* 13E56C 8024B22C 3C018027 */ lui $at, %hi(D_802706A8) -/* 13E570 8024B230 C42006A8 */ lwc1 $f0, %lo(D_800006A8)($at) +/* 13E570 8024B230 C42006A8 */ lwc1 $f0, %lo(D_802706A8)($at) /* 13E574 8024B234 4482A000 */ mtc1 $v0, $f20 /* 13E578 8024B238 00000000 */ nop /* 13E57C 8024B23C 4680A520 */ cvt.s.w $f20, $f20 @@ -565,13 +565,13 @@ glabel pause_partners_draw_contents /* 13EAA0 8024B760 01A21021 */ addu $v0, $t5, $v0 /* 13EAA4 8024B764 AFA20124 */ sw $v0, 0x124($sp) /* 13EAA8 8024B768 8E230000 */ lw $v1, ($s1) -/* 13EAAC 8024B76C 3C02DE00 */ lui $v0, %hi(D_DDFFF750) +/* 13EAAC 8024B76C 3C02DE00 */ lui $v0, 0xde00 /* 13EAB0 8024B770 0060202D */ daddu $a0, $v1, $zero /* 13EAB4 8024B774 24630008 */ addiu $v1, $v1, 8 /* 13EAB8 8024B778 AE230000 */ sw $v1, ($s1) /* 13EABC 8024B77C AC820000 */ sw $v0, ($a0) /* 13EAC0 8024B780 3C028025 */ lui $v0, %hi(D_8024F750) -/* 13EAC4 8024B784 2442F750 */ addiu $v0, $v0, %lo(D_DDFFF750) +/* 13EAC4 8024B784 2442F750 */ addiu $v0, $v0, %lo(D_8024F750) /* 13EAC8 8024B788 AC820004 */ sw $v0, 4($a0) /* 13EACC 8024B78C 24620008 */ addiu $v0, $v1, 8 /* 13EAD0 8024B790 AE220000 */ sw $v0, ($s1) diff --git a/asm/nonmatchings/code_13E120/pause_partners_init.s b/asm/nonmatchings/code_13E120/pause_partners_init.s index ed9e66c6ba..54b2347097 100644 --- a/asm/nonmatchings/code_13E120/pause_partners_init.s +++ b/asm/nonmatchings/code_13E120/pause_partners_init.s @@ -136,14 +136,14 @@ glabel pause_partners_init .L8024C2C8: /* 13F608 8024C2C8 2401FFFF */ addiu $at, $zero, -1 /* 13F60C 8024C2CC 14610004 */ bne $v1, $at, .L8024C2E0 -/* 13F610 8024C2D0 3C018000 */ lui $at, %hi(D_800006A4) +/* 13F610 8024C2D0 3C018000 */ lui $at, 0x8000 /* 13F614 8024C2D4 14410002 */ bne $v0, $at, .L8024C2E0 /* 13F618 8024C2D8 00000000 */ nop /* 13F61C 8024C2DC 0006000D */ break 6 .L8024C2E0: /* 13F620 8024C2E0 00001012 */ mflo $v0 /* 13F624 8024C2E4 3C018027 */ lui $at, %hi(D_802706A4) -/* 13F628 8024C2E8 AC2006A4 */ sw $zero, %lo(D_800006A4)($at) +/* 13F628 8024C2E8 AC2006A4 */ sw $zero, %lo(D_802706A4)($at) /* 13F62C 8024C2EC 3C018027 */ lui $at, %hi(D_802706AC) /* 13F630 8024C2F0 AC2006AC */ sw $zero, %lo(D_802706AC)($at) /* 13F634 8024C2F4 44820000 */ mtc1 $v0, $f0 diff --git a/asm/nonmatchings/code_16F740/update_run_away.s b/asm/nonmatchings/code_16F740/update_run_away.s index ebbdb6278a..d29d3d8f90 100644 --- a/asm/nonmatchings/code_16F740/update_run_away.s +++ b/asm/nonmatchings/code_16F740/update_run_away.s @@ -167,14 +167,14 @@ glabel update_run_away .L80245160: /* 173A40 80245160 2401FFFF */ addiu $at, $zero, -1 /* 173A44 80245164 14610004 */ bne $v1, $at, .L80245178 -/* 173A48 80245168 3C018000 */ lui $at, %hi(D_7FFFF264) +/* 173A48 80245168 3C018000 */ lui $at, 0x8000 /* 173A4C 8024516C 14410002 */ bne $v0, $at, .L80245178 /* 173A50 80245170 00000000 */ nop /* 173A54 80245174 0006000D */ break 6 .L80245178: /* 173A58 80245178 00002012 */ mflo $a0 /* 173A5C 8024517C 3C01802A */ lui $at, %hi(D_8029F264) -/* 173A60 80245180 AC20F264 */ sw $zero, %lo(D_7FFFF264)($at) +/* 173A60 80245180 AC20F264 */ sw $zero, %lo(D_8029F264)($at) /* 173A64 80245184 3C01802A */ lui $at, %hi(D_8029F24C) /* 173A68 80245188 AC20F24C */ sw $zero, %lo(D_8029F24C)($at) /* 173A6C 8024518C 3C018028 */ lui $at, %hi(D_80280A30) diff --git a/asm/nonmatchings/code_1776B0/use_cam_preset.s b/asm/nonmatchings/code_1776B0/use_cam_preset.s index 2e87600f17..a00adf398f 100644 --- a/asm/nonmatchings/code_1776B0/use_cam_preset.s +++ b/asm/nonmatchings/code_1776B0/use_cam_preset.s @@ -321,14 +321,14 @@ glabel use_cam_preset /* 17BD00 8024D420 A0220CE0 */ sb $v0, %lo(D_80280CE0)($at) /* 17BD04 8024D424 3C108028 */ lui $s0, %hi(D_80280E00) /* 17BD08 8024D428 26100E00 */ addiu $s0, $s0, %lo(D_80280E00) -/* 17BD0C 8024D42C 3C01C2BE */ lui $at, %hi(D_C2BDF280) +/* 17BD0C 8024D42C 3C01C2BE */ lui $at, 0xc2be /* 17BD10 8024D430 44816000 */ mtc1 $at, $f12 /* 17BD14 8024D434 3C014190 */ lui $at, 0x4190 /* 17BD18 8024D438 44817000 */ mtc1 $at, $f14 /* 17BD1C 8024D43C 3C064120 */ lui $a2, 0x4120 /* 17BD20 8024D440 240200FF */ addiu $v0, $zero, 0xff /* 17BD24 8024D444 3C01802A */ lui $at, %hi(D_8029F280) -/* 17BD28 8024D448 A422F280 */ sh $v0, %lo(D_C2BDF280)($at) +/* 17BD28 8024D448 A422F280 */ sh $v0, %lo(D_8029F280)($at) /* 17BD2C 8024D44C 24020008 */ addiu $v0, $zero, 8 /* 17BD30 8024D450 3C01802A */ lui $at, %hi(D_8029F284) /* 17BD34 8024D454 A422F284 */ sh $v0, %lo(D_8029F284)($at) @@ -461,13 +461,13 @@ glabel use_cam_preset /* 17BF30 8024D650 00000000 */ nop /* 17BF34 8024D654 3C108028 */ lui $s0, %hi(D_80280D90) /* 17BF38 8024D658 26100D90 */ addiu $s0, $s0, %lo(D_80280D90) -/* 17BF3C 8024D65C 3C01C282 */ lui $at, %hi(D_C281F280) +/* 17BF3C 8024D65C 3C01C282 */ lui $at, 0xc282 /* 17BF40 8024D660 44810000 */ mtc1 $at, $f0 /* 17BF44 8024D664 3C0141F0 */ lui $at, 0x41f0 /* 17BF48 8024D668 44811000 */ mtc1 $at, $f2 /* 17BF4C 8024D66C 2402012C */ addiu $v0, $zero, 0x12c /* 17BF50 8024D670 3C01802A */ lui $at, %hi(D_8029F280) -/* 17BF54 8024D674 A422F280 */ sh $v0, %lo(D_C281F280)($at) +/* 17BF54 8024D674 A422F280 */ sh $v0, %lo(D_8029F280)($at) /* 17BF58 8024D678 24020008 */ addiu $v0, $zero, 8 /* 17BF5C 8024D67C 3C01802A */ lui $at, %hi(D_8029F284) /* 17BF60 8024D680 A422F284 */ sh $v0, %lo(D_8029F284)($at) @@ -851,13 +851,13 @@ glabel use_cam_preset /* 17C534 8024DC54 00000000 */ nop /* 17C538 8024DC58 3C108028 */ lui $s0, %hi(D_80280D90) /* 17C53C 8024DC5C 26100D90 */ addiu $s0, $s0, %lo(D_80280D90) -/* 17C540 8024DC60 3C01C296 */ lui $at, %hi(D_C295F280) +/* 17C540 8024DC60 3C01C296 */ lui $at, 0xc296 /* 17C544 8024DC64 44810000 */ mtc1 $at, $f0 /* 17C548 8024DC68 3C014316 */ lui $at, 0x4316 /* 17C54C 8024DC6C 44811000 */ mtc1 $at, $f2 /* 17C550 8024DC70 240200A6 */ addiu $v0, $zero, 0xa6 /* 17C554 8024DC74 3C01802A */ lui $at, %hi(D_8029F280) -/* 17C558 8024DC78 A422F280 */ sh $v0, %lo(D_C295F280)($at) +/* 17C558 8024DC78 A422F280 */ sh $v0, %lo(D_8029F280)($at) /* 17C55C 8024DC7C 24020008 */ addiu $v0, $zero, 8 /* 17C560 8024DC80 3C01802A */ lui $at, %hi(D_8029F284) /* 17C564 8024DC84 A422F284 */ sh $v0, %lo(D_8029F284)($at) @@ -1046,13 +1046,13 @@ glabel use_cam_preset /* 17C838 8024DF58 00000000 */ nop /* 17C83C 8024DF5C 3C108028 */ lui $s0, %hi(D_80280D90) /* 17C840 8024DF60 26100D90 */ addiu $s0, $s0, %lo(D_80280D90) -/* 17C844 8024DF64 3C01C2BE */ lui $at, %hi(D_C2BDF280) +/* 17C844 8024DF64 3C01C2BE */ lui $at, 0xc2be /* 17C848 8024DF68 44810000 */ mtc1 $at, $f0 /* 17C84C 8024DF6C 3C0141B0 */ lui $at, 0x41b0 /* 17C850 8024DF70 44811000 */ mtc1 $at, $f2 /* 17C854 8024DF74 240200D2 */ addiu $v0, $zero, 0xd2 /* 17C858 8024DF78 3C01802A */ lui $at, %hi(D_8029F280) -/* 17C85C 8024DF7C A422F280 */ sh $v0, %lo(D_C2BDF280)($at) +/* 17C85C 8024DF7C A422F280 */ sh $v0, %lo(D_8029F280)($at) /* 17C860 8024DF80 24020008 */ addiu $v0, $zero, 8 /* 17C864 8024DF84 3C01802A */ lui $at, %hi(D_8029F284) /* 17C868 8024DF88 A422F284 */ sh $v0, %lo(D_8029F284)($at) diff --git a/asm/nonmatchings/code_18C790/func_8025E190.s b/asm/nonmatchings/code_18C790/func_8025E190.s index c7f6cca229..981aa4c399 100644 --- a/asm/nonmatchings/code_18C790/func_8025E190.s +++ b/asm/nonmatchings/code_18C790/func_8025E190.s @@ -125,14 +125,14 @@ glabel func_8025E190 .L8025E364: /* 18CC44 8025E364 2401FFFF */ addiu $at, $zero, -1 /* 18CC48 8025E368 14610004 */ bne $v1, $at, .L8025E37C -/* 18CC4C 8025E36C 3C018000 */ lui $at, %hi(D_7FFFFB78) +/* 18CC4C 8025E36C 3C018000 */ lui $at, 0x8000 /* 18CC50 8025E370 14810002 */ bne $a0, $at, .L8025E37C /* 18CC54 8025E374 00000000 */ nop /* 18CC58 8025E378 0006000D */ break 6 .L8025E37C: /* 18CC5C 8025E37C 00002012 */ mflo $a0 /* 18CC60 8025E380 3C01802A */ lui $at, %hi(D_8029FB78) -/* 18CC64 8025E384 AC20FB78 */ sw $zero, %lo(D_7FFFFB78)($at) +/* 18CC64 8025E384 AC20FB78 */ sw $zero, %lo(D_8029FB78)($at) /* 18CC68 8025E388 3C01802A */ lui $at, %hi(D_8029FB54) /* 18CC6C 8025E38C AC23FB54 */ sw $v1, %lo(D_8029FB54)($at) /* 18CC70 8025E390 0040282D */ daddu $a1, $v0, $zero diff --git a/asm/nonmatchings/code_25f00_len_940/func_8004AB00.s b/asm/nonmatchings/code_25f00_len_940/func_8004AB00.s index 7192171a4f..5a3d1080cf 100644 --- a/asm/nonmatchings/code_25f00_len_940/func_8004AB00.s +++ b/asm/nonmatchings/code_25f00_len_940/func_8004AB00.s @@ -164,7 +164,7 @@ glabel func_8004AB00 /* 2616C 8004AD6C 27A50018 */ addiu $a1, $sp, 0x18 /* 26170 8004AD70 8FA40020 */ lw $a0, 0x20($sp) /* 26174 8004AD74 0C014B97 */ jal func_80052E5C -/* 26178 8004AD78 00000000 */ nop +/* 26178 8004AD78 00000000 */ nop /* 2617C 8004AD7C 3C10800A */ lui $s0, %hi(D_800A0F58) /* 26180 8004AD80 26100F58 */ addiu $s0, $s0, %lo(D_800A0F58) /* 26184 8004AD84 0200202D */ daddu $a0, $s0, $zero diff --git a/asm/nonmatchings/code_25f00_len_940/nuAuCleanDMABuffers.s b/asm/nonmatchings/code_25f00_len_940/nuAuCleanDMABuffers.s index a6917987a5..b8fc042bf6 100644 --- a/asm/nonmatchings/code_25f00_len_940/nuAuCleanDMABuffers.s +++ b/asm/nonmatchings/code_25f00_len_940/nuAuCleanDMABuffers.s @@ -14,8 +14,8 @@ glabel nuAuCleanDMABuffers /* 2668C 8004B28C 0040902D */ daddu $s2, $v0, $zero .L8004B290: /* 26690 8004B290 8E02000C */ lw $v0, 0xc($s0) -/* 26694 8004B294 3C038008 */ lui $v1, %hi(D_8007817C) -/* 26698 8004B298 8C63817C */ lw $v1, %lo(D_8007817C)($v1) +/* 26694 8004B294 3C038008 */ lui $v1, %hi(nuAuFrameCounter) +/* 26698 8004B298 8C63817C */ lw $v1, %lo(nuAuFrameCounter)($v1) /* 2669C 8004B29C 8E110000 */ lw $s1, ($s0) /* 266A0 8004B2A0 24420001 */ addiu $v0, $v0, 1 /* 266A4 8004B2A4 0043102B */ sltu $v0, $v0, $v1 @@ -40,10 +40,10 @@ glabel nuAuCleanDMABuffers /* 266E8 8004B2E8 0220802D */ daddu $s0, $s1, $zero .L8004B2EC: /* 266EC 8004B2EC 1600FFE8 */ bnez $s0, .L8004B290 -/* 266F0 8004B2F0 00000000 */ nop +/* 266F0 8004B2F0 00000000 */ nop .L8004B2F4: -/* 266F4 8004B2F4 3C038008 */ lui $v1, %hi(D_8007817C) -/* 266F8 8004B2F8 2463817C */ addiu $v1, $v1, %lo(D_8007817C) +/* 266F4 8004B2F4 3C038008 */ lui $v1, %hi(nuAuFrameCounter) +/* 266F8 8004B2F8 2463817C */ addiu $v1, $v1, %lo(nuAuFrameCounter) /* 266FC 8004B2FC 8C620000 */ lw $v0, ($v1) /* 26700 8004B300 3C018008 */ lui $at, %hi(nuAuDmaNext) /* 26704 8004B304 AC208178 */ sw $zero, %lo(nuAuDmaNext)($at) diff --git a/asm/nonmatchings/code_25f00_len_940/nuAuDmaCallBack.s b/asm/nonmatchings/code_25f00_len_940/nuAuDmaCallBack.s index 54c4a256e3..d6f1a17d0d 100644 --- a/asm/nonmatchings/code_25f00_len_940/nuAuDmaCallBack.s +++ b/asm/nonmatchings/code_25f00_len_940/nuAuDmaCallBack.s @@ -12,9 +12,9 @@ glabel nuAuDmaCallBack /* 26490 8004B090 14E00005 */ bnez $a3, .L8004B0A8 /* 26494 8004B094 AFB00010 */ sw $s0, 0x10($sp) /* 26498 8004B098 0C0187A4 */ jal osVirtualToPhysical -/* 2649C 8004B09C 00000000 */ nop +/* 2649C 8004B09C 00000000 */ nop /* 264A0 8004B0A0 08012C82 */ j .L8004B208 -/* 264A4 8004B0A4 00000000 */ nop +/* 264A4 8004B0A4 00000000 */ nop .L8004B0A8: /* 264A8 8004B0A8 0000802D */ daddu $s0, $zero, $zero /* 264AC 8004B0AC 3C11800A */ lui $s1, %hi(D_800A3BD4) @@ -31,7 +31,7 @@ glabel nuAuDmaCallBack /* 264D4 8004B0D4 0220802D */ daddu $s0, $s1, $zero /* 264D8 8004B0D8 8E310000 */ lw $s1, ($s1) /* 264DC 8004B0DC 1620FFF7 */ bnez $s1, .L8004B0BC -/* 264E0 8004B0E0 00000000 */ nop +/* 264E0 8004B0E0 00000000 */ nop .L8004B0E4: /* 264E4 8004B0E4 3C12800A */ lui $s2, %hi(nuAuDmaState) /* 264E8 8004B0E8 26523BD0 */ addiu $s2, $s2, %lo(nuAuDmaState) @@ -40,9 +40,9 @@ glabel nuAuDmaCallBack /* 264F4 8004B0F4 0220202D */ daddu $a0, $s1, $zero /* 264F8 8004B0F8 8E440004 */ lw $a0, 4($s2) /* 264FC 8004B0FC 0C0187A4 */ jal osVirtualToPhysical -/* 26500 8004B100 00000000 */ nop +/* 26500 8004B100 00000000 */ nop /* 26504 8004B104 08012C82 */ j .L8004B208 -/* 26508 8004B108 00000000 */ nop +/* 26508 8004B108 00000000 */ nop .L8004B10C: /* 2650C 8004B10C 8E220000 */ lw $v0, ($s1) /* 26510 8004B110 0C012D03 */ jal alUnlink @@ -52,7 +52,7 @@ glabel nuAuDmaCallBack /* 26520 8004B120 0C012CFB */ jal alLink /* 26524 8004B124 0200282D */ daddu $a1, $s0, $zero /* 26528 8004B128 08012C61 */ j .L8004B184 -/* 2652C 8004B12C 00000000 */ nop +/* 2652C 8004B12C 00000000 */ nop .L8004B130: /* 26530 8004B130 8E450004 */ lw $a1, 4($s2) /* 26534 8004B134 10A00010 */ beqz $a1, .L8004B178 @@ -65,14 +65,14 @@ glabel nuAuDmaCallBack .L8004B150: /* 26550 8004B150 8E240010 */ lw $a0, 0x10($s1) /* 26554 8004B154 8E220008 */ lw $v0, 8($s1) -/* 26558 8004B158 3C038008 */ lui $v1, %hi(D_8007817C) -/* 2655C 8004B15C 8C63817C */ lw $v1, %lo(D_8007817C)($v1) +/* 26558 8004B158 3C038008 */ lui $v1, %hi(nuAuFrameCounter) +/* 2655C 8004B15C 8C63817C */ lw $v1, %lo(nuAuFrameCounter)($v1) /* 26560 8004B160 00932021 */ addu $a0, $a0, $s3 /* 26564 8004B164 00822023 */ subu $a0, $a0, $v0 /* 26568 8004B168 0C0187A4 */ jal osVirtualToPhysical /* 2656C 8004B16C AE23000C */ sw $v1, 0xc($s1) /* 26570 8004B170 08012C82 */ j .L8004B208 -/* 26574 8004B174 00000000 */ nop +/* 26574 8004B174 00000000 */ nop .L8004B178: /* 26578 8004B178 AE510004 */ sw $s1, 4($s2) /* 2657C 8004B17C AE200000 */ sw $zero, ($s1) @@ -92,8 +92,8 @@ glabel nuAuDmaCallBack /* 265B0 8004B1B0 00A32821 */ addu $a1, $a1, $v1 /* 265B4 8004B1B4 000528C0 */ sll $a1, $a1, 3 /* 265B8 8004B1B8 00A22821 */ addu $a1, $a1, $v0 -/* 265BC 8004B1BC 3C028008 */ lui $v0, %hi(D_8007817C) -/* 265C0 8004B1C0 8C42817C */ lw $v0, %lo(D_8007817C)($v0) +/* 265BC 8004B1BC 3C028008 */ lui $v0, %hi(nuAuFrameCounter) +/* 265C0 8004B1C0 8C42817C */ lw $v0, %lo(nuAuFrameCounter)($v0) /* 265C4 8004B1C4 24630001 */ addiu $v1, $v1, 1 /* 265C8 8004B1C8 AE22000C */ sw $v0, 0xc($s1) /* 265CC 8004B1CC AC830000 */ sw $v1, ($a0) diff --git a/asm/nonmatchings/code_316a70/func_80200080.s b/asm/nonmatchings/code_316a70/func_80200080.s index 3c4e6da5b3..f02f703480 100644 --- a/asm/nonmatchings/code_316a70/func_80200080.s +++ b/asm/nonmatchings/code_316a70/func_80200080.s @@ -29,13 +29,13 @@ glabel func_80200080 /* 316AC8 802000D8 34427508 */ ori $v0, $v0, 0x7508 /* 316ACC 802000DC 0000482D */ daddu $t1, $zero, $zero /* 316AD0 802000E0 00821021 */ addu $v0, $a0, $v0 -/* 316AD4 802000E4 3C03A000 */ lui $v1, %hi(D_A0006A70) +/* 316AD4 802000E4 3C03A000 */ lui $v1, 0xa000 /* 316AD8 802000E8 00431025 */ or $v0, $v0, $v1 /* 316ADC 802000EC 8C420000 */ lw $v0, ($v0) /* 316AE0 802000F0 3C080031 */ lui $t0, 0x31 /* 316AE4 802000F4 250869F0 */ addiu $t0, $t0, 0x69f0 /* 316AE8 802000F8 3C030031 */ lui $v1, 0x31 -/* 316AEC 802000FC 24636A70 */ addiu $v1, $v1, %lo(D_A0006A70) +/* 316AEC 802000FC 24636A70 */ addiu $v1, $v1, 0x6a70 /* 316AF0 80200100 01625823 */ subu $t3, $t3, $v0 /* 316AF4 80200104 0103102B */ sltu $v0, $t0, $v1 /* 316AF8 80200108 10400034 */ beqz $v0, .L802001DC diff --git a/asm/nonmatchings/code_333EC0/func_E00205D0.s b/asm/nonmatchings/code_333EC0/func_E00205D0.s index 02cdf417fc..bc117a8f12 100644 --- a/asm/nonmatchings/code_333EC0/func_E00205D0.s +++ b/asm/nonmatchings/code_333EC0/func_E00205D0.s @@ -419,7 +419,7 @@ glabel func_E00205D0 /* 334ADC E0020C1C ACA30004 */ sw $v1, 4($a1) /* 334AE0 E0020C20 24C20008 */ addiu $v0, $a2, 8 /* 334AE4 E0020C24 ACE20000 */ sw $v0, ($a3) -/* 334AE8 E0020C28 3C02DE00 */ lui $v0, %hi(D_DE000008) +/* 334AE8 E0020C28 3C02DE00 */ lui $v0, 0xde00 /* 334AEC E0020C2C ACC20000 */ sw $v0, ($a2) /* 334AF0 E0020C30 ACC80004 */ sw $t0, 4($a2) .LE0020C34: @@ -427,7 +427,7 @@ glabel func_E00205D0 /* 334AF8 E0020C38 8CE20000 */ lw $v0, ($a3) /* 334AFC E0020C3C 34840002 */ ori $a0, $a0, 2 /* 334B00 E0020C40 0040182D */ daddu $v1, $v0, $zero -/* 334B04 E0020C44 24420008 */ addiu $v0, $v0, %lo(D_DE000008) +/* 334B04 E0020C44 24420008 */ addiu $v0, $v0, 8 /* 334B08 E0020C48 ACE20000 */ sw $v0, ($a3) /* 334B0C E0020C4C 24020040 */ addiu $v0, $zero, 0x40 /* 334B10 E0020C50 AC640000 */ sw $a0, ($v1) diff --git a/asm/nonmatchings/code_337240/func_E0022998.s b/asm/nonmatchings/code_337240/func_E0022998.s index f2a3dd956e..997c82647c 100644 --- a/asm/nonmatchings/code_337240/func_E0022998.s +++ b/asm/nonmatchings/code_337240/func_E0022998.s @@ -40,14 +40,14 @@ glabel func_E0022998 /* 337C64 E0022A24 3C020900 */ lui $v0, 0x900 /* 337C68 E0022A28 24420F20 */ addiu $v0, $v0, %lo(D_DE000F20) /* 337C6C E0022A2C AC62000C */ sw $v0, 0xc($v1) -/* 337C70 E0022A30 3C028000 */ lui $v0, %hi(D_7FFFFFFF) +/* 337C70 E0022A30 3C028000 */ lui $v0, 0x8000 /* 337C74 E0022A34 00A22821 */ addu $a1, $a1, $v0 /* 337C78 E0022A38 AC650004 */ sw $a1, 4($v1) /* 337C7C E0022A3C 8E050004 */ lw $a1, 4($s0) /* 337C80 E0022A40 8E060008 */ lw $a2, 8($s0) /* 337C84 E0022A44 8E020020 */ lw $v0, 0x20($s0) /* 337C88 E0022A48 8E07000C */ lw $a3, 0xc($s0) -/* 337C8C E0022A4C 2442FFFF */ addiu $v0, $v0, %lo(D_7FFFFFFF) +/* 337C8C E0022A4C 2442FFFF */ addiu $v0, $v0, -1 /* 337C90 E0022A50 00021840 */ sll $v1, $v0, 1 /* 337C94 E0022A54 0C080108 */ jal func_E0200420 /* 337C98 E0022A58 00628821 */ addu $s1, $v1, $v0 @@ -158,13 +158,13 @@ glabel func_E0022998 /* 337E38 E0022BF8 00651825 */ or $v1, $v1, $a1 /* 337E3C E0022BFC 346300FF */ ori $v1, $v1, 0xff /* 337E40 E0022C00 AE420000 */ sw $v0, ($s2) -/* 337E44 E0022C04 3C02DA38 */ lui $v0, %hi(D_DA37A674) +/* 337E44 E0022C04 3C02DA38 */ lui $v0, 0xda38 /* 337E48 E0022C08 3084FFFF */ andi $a0, $a0, 0xffff /* 337E4C E0022C0C 00042180 */ sll $a0, $a0, 6 /* 337E50 E0022C10 AD030004 */ sw $v1, 4($t0) /* 337E54 E0022C14 ACE20000 */ sw $v0, ($a3) /* 337E58 E0022C18 3C02800A */ lui $v0, %hi(D_8009A674) -/* 337E5C E0022C1C 8C42A674 */ lw $v0, %lo(D_DA37A674)($v0) +/* 337E5C E0022C1C 8C42A674 */ lw $v0, %lo(D_8009A674)($v0) /* 337E60 E0022C20 00952021 */ addu $a0, $a0, $s5 /* 337E64 E0022C24 00441021 */ addu $v0, $v0, $a0 /* 337E68 E0022C28 ACE20004 */ sw $v0, 4($a3) diff --git a/asm/nonmatchings/code_339250/func_E0024454.s b/asm/nonmatchings/code_339250/func_E0024454.s index d04ba6b873..5a8a084000 100644 --- a/asm/nonmatchings/code_339250/func_E0024454.s +++ b/asm/nonmatchings/code_339250/func_E0024454.s @@ -293,14 +293,14 @@ glabel func_E0024454 /* 339B0C E00248BC AFA50068 */ sw $a1, 0x68($sp) .LE00248C0: /* 339B10 E00248C0 8EB20000 */ lw $s2, ($s5) -/* 339B14 E00248C4 3C02DA38 */ lui $v0, %hi(D_DA380060) +/* 339B14 E00248C4 3C02DA38 */ lui $v0, 0xda38 /* 339B18 E00248C8 0240202D */ daddu $a0, $s2, $zero /* 339B1C E00248CC 26520008 */ addiu $s2, $s2, 8 /* 339B20 E00248D0 AEB20000 */ sw $s2, ($s5) /* 339B24 E00248D4 AC820000 */ sw $v0, ($a0) /* 339B28 E00248D8 00141080 */ sll $v0, $s4, 2 /* 339B2C E00248DC 03A21021 */ addu $v0, $sp, $v0 -/* 339B30 E00248E0 8C430060 */ lw $v1, %lo(D_DA380060)($v0) +/* 339B30 E00248E0 8C430060 */ lw $v1, 0x60($v0) /* 339B34 E00248E4 26420008 */ addiu $v0, $s2, 8 /* 339B38 E00248E8 AEA20000 */ sw $v0, ($s5) /* 339B3C E00248EC 3C02FA00 */ lui $v0, 0xfa00 diff --git a/asm/nonmatchings/code_33FE80/func_E002C414.s b/asm/nonmatchings/code_33FE80/func_E002C414.s index 07c466c4b5..dfe44c2d04 100644 --- a/asm/nonmatchings/code_33FE80/func_E002C414.s +++ b/asm/nonmatchings/code_33FE80/func_E002C414.s @@ -288,14 +288,14 @@ glabel func_E002C414 /* 3406F8 E002C878 24840008 */ addiu $a0, $a0, 8 /* 3406FC E002C87C AE840000 */ sw $a0, ($s4) /* 340700 E002C880 97C20000 */ lhu $v0, ($fp) -/* 340704 E002C884 3C03DA38 */ lui $v1, %hi(D_DA37A674) +/* 340704 E002C884 3C03DA38 */ lui $v1, 0xda38 /* 340708 E002C888 ACA30000 */ sw $v1, ($a1) /* 34070C E002C88C 24430001 */ addiu $v1, $v0, 1 /* 340710 E002C890 3042FFFF */ andi $v0, $v0, 0xffff /* 340714 E002C894 00021180 */ sll $v0, $v0, 6 /* 340718 E002C898 A7C30000 */ sh $v1, ($fp) /* 34071C E002C89C 3C03800A */ lui $v1, %hi(D_8009A674) -/* 340720 E002C8A0 8C63A674 */ lw $v1, %lo(D_DA37A674)($v1) +/* 340720 E002C8A0 8C63A674 */ lw $v1, %lo(D_8009A674)($v1) /* 340724 E002C8A4 00571021 */ addu $v0, $v0, $s7 /* 340728 E002C8A8 00621821 */ addu $v1, $v1, $v0 /* 34072C E002C8AC 24820008 */ addiu $v0, $a0, 8 diff --git a/asm/nonmatchings/code_342140/func_E0030A68.s b/asm/nonmatchings/code_342140/func_E0030A68.s index a245607f40..a27d418ab7 100644 --- a/asm/nonmatchings/code_342140/func_E0030A68.s +++ b/asm/nonmatchings/code_342140/func_E0030A68.s @@ -38,13 +38,13 @@ glabel func_E0030A68 /* 342C2C E0030AEC 3C020900 */ lui $v0, 0x900 /* 342C30 E0030AF0 244204C0 */ addiu $v0, $v0, %lo(D_DE0004C0) /* 342C34 E0030AF4 AC82000C */ sw $v0, 0xc($a0) -/* 342C38 E0030AF8 3C028000 */ lui $v0, %hi(D_7FFFFFFF) +/* 342C38 E0030AF8 3C028000 */ lui $v0, 0x8000 /* 342C3C E0030AFC 00621821 */ addu $v1, $v1, $v0 /* 342C40 E0030B00 AC830004 */ sw $v1, 4($a0) /* 342C44 E0030B04 8CE2002C */ lw $v0, 0x2c($a3) /* 342C48 E0030B08 0000A82D */ daddu $s5, $zero, $zero /* 342C4C E0030B0C AD240000 */ sw $a0, ($t1) -/* 342C50 E0030B10 2442FFFF */ addiu $v0, $v0, %lo(D_7FFFFFFF) +/* 342C50 E0030B10 2442FFFF */ addiu $v0, $v0, -1 /* 342C54 E0030B14 00021840 */ sll $v1, $v0, 1 /* 342C58 E0030B18 0062A021 */ addu $s4, $v1, $v0 /* 342C5C E0030B1C 24820008 */ addiu $v0, $a0, 8 diff --git a/asm/nonmatchings/code_343680/func_E003245C.s b/asm/nonmatchings/code_343680/func_E003245C.s index b3282cea1e..dc40ab54ff 100644 --- a/asm/nonmatchings/code_343680/func_E003245C.s +++ b/asm/nonmatchings/code_343680/func_E003245C.s @@ -236,14 +236,14 @@ glabel func_E003245C /* 343E64 E00327E4 ACE30004 */ sw $v1, 4($a3) /* 343E68 E00327E8 ACC20000 */ sw $v0, ($a2) /* 343E6C E00327EC 94820000 */ lhu $v0, ($a0) -/* 343E70 E00327F0 3C03DA38 */ lui $v1, %hi(D_DA37A674) +/* 343E70 E00327F0 3C03DA38 */ lui $v1, 0xda38 /* 343E74 E00327F4 ACA30000 */ sw $v1, ($a1) /* 343E78 E00327F8 24430001 */ addiu $v1, $v0, 1 /* 343E7C E00327FC 3042FFFF */ andi $v0, $v0, 0xffff /* 343E80 E0032800 00021180 */ sll $v0, $v0, 6 /* 343E84 E0032804 A4830000 */ sh $v1, ($a0) /* 343E88 E0032808 3C03800A */ lui $v1, %hi(D_8009A674) -/* 343E8C E003280C 8C63A674 */ lw $v1, %lo(D_DA37A674)($v1) +/* 343E8C E003280C 8C63A674 */ lw $v1, %lo(D_8009A674)($v1) /* 343E90 E0032810 00481021 */ addu $v0, $v0, $t0 /* 343E94 E0032814 00621821 */ addu $v1, $v1, $v0 /* 343E98 E0032818 24A20010 */ addiu $v0, $a1, 0x10 diff --git a/asm/nonmatchings/code_354F60/func_E004491C.s b/asm/nonmatchings/code_354F60/func_E004491C.s index 4dc95fa9cd..4d897f22b9 100644 --- a/asm/nonmatchings/code_354F60/func_E004491C.s +++ b/asm/nonmatchings/code_354F60/func_E004491C.s @@ -44,14 +44,14 @@ glabel func_E004491C /* 355918 E00449B8 3C020900 */ lui $v0, 0x900 /* 35591C E00449BC 24420F20 */ addiu $v0, $v0, %lo(D_DE000F20) /* 355920 E00449C0 AC62000C */ sw $v0, 0xc($v1) -/* 355924 E00449C4 3C028000 */ lui $v0, %hi(D_7FFFFFFF) +/* 355924 E00449C4 3C028000 */ lui $v0, 0x8000 /* 355928 E00449C8 00A22821 */ addu $a1, $a1, $v0 /* 35592C E00449CC AC650004 */ sw $a1, 4($v1) /* 355930 E00449D0 8E250004 */ lw $a1, 4($s1) /* 355934 E00449D4 8E260008 */ lw $a2, 8($s1) /* 355938 E00449D8 8E220020 */ lw $v0, 0x20($s1) /* 35593C E00449DC 8E27000C */ lw $a3, 0xc($s1) -/* 355940 E00449E0 2442FFFF */ addiu $v0, $v0, %lo(D_7FFFFFFF) +/* 355940 E00449E0 2442FFFF */ addiu $v0, $v0, -1 /* 355944 E00449E4 00021840 */ sll $v1, $v0, 1 /* 355948 E00449E8 0C080108 */ jal func_E0200420 /* 35594C E00449EC 0062A021 */ addu $s4, $v1, $v0 @@ -246,14 +246,14 @@ glabel func_E004491C /* 355C24 E0044CC4 ACA30004 */ sw $v1, 4($a1) /* 355C28 E0044CC8 AE620000 */ sw $v0, ($s3) /* 355C2C E0044CCC 96E20000 */ lhu $v0, ($s7) -/* 355C30 E0044CD0 3C03DA38 */ lui $v1, %hi(D_DA37A674) +/* 355C30 E0044CD0 3C03DA38 */ lui $v1, 0xda38 /* 355C34 E0044CD4 AC830000 */ sw $v1, ($a0) /* 355C38 E0044CD8 24430001 */ addiu $v1, $v0, 1 /* 355C3C E0044CDC 3042FFFF */ andi $v0, $v0, 0xffff /* 355C40 E0044CE0 00021180 */ sll $v0, $v0, 6 /* 355C44 E0044CE4 A6E30000 */ sh $v1, ($s7) /* 355C48 E0044CE8 3C03800A */ lui $v1, %hi(D_8009A674) -/* 355C4C E0044CEC 8C63A674 */ lw $v1, %lo(D_DA37A674)($v1) +/* 355C4C E0044CEC 8C63A674 */ lw $v1, %lo(D_8009A674)($v1) /* 355C50 E0044CF0 00551021 */ addu $v0, $v0, $s5 /* 355C54 E0044CF4 00621821 */ addu $v1, $v1, $v0 /* 355C58 E0044CF8 24820010 */ addiu $v0, $a0, 0x10 diff --git a/asm/nonmatchings/code_3584C0/func_E004A78C.s b/asm/nonmatchings/code_3584C0/func_E004A78C.s index 7419029908..6eed4bbe45 100644 --- a/asm/nonmatchings/code_3584C0/func_E004A78C.s +++ b/asm/nonmatchings/code_3584C0/func_E004A78C.s @@ -288,14 +288,14 @@ glabel func_E004A78C /* 3590B0 E004ABF0 AC670018 */ sw $a3, 0x18($v1) /* 3590B4 E004ABF4 00441021 */ addu $v0, $v0, $a0 /* 3590B8 E004ABF8 AC62000C */ sw $v0, 0xc($v1) -/* 3590BC E004ABFC 3C02DE00 */ lui $v0, %hi(D_DE00007C) +/* 3590BC E004ABFC 3C02DE00 */ lui $v0, 0xde00 /* 3590C0 E004AC00 AC620010 */ sw $v0, 0x10($v1) /* 3590C4 E004AC04 24020040 */ addiu $v0, $zero, 0x40 /* 3590C8 E004AC08 AC62001C */ sw $v0, 0x1c($v1) /* 3590CC E004AC0C 4600018D */ trunc.w.s $f6, $f0 /* 3590D0 E004AC10 44023000 */ mfc1 $v0, $f6 /* 3590D4 E004AC14 00000000 */ nop -/* 3590D8 E004AC18 2442007C */ addiu $v0, $v0, %lo(D_DE00007C) +/* 3590D8 E004AC18 2442007C */ addiu $v0, $v0, 0x7c /* 3590DC E004AC1C 30420FFF */ andi $v0, $v0, 0xfff /* 3590E0 E004AC20 00481025 */ or $v0, $v0, $t0 /* 3590E4 E004AC24 AC620004 */ sw $v0, 4($v1) diff --git a/asm/nonmatchings/code_36A8D0/func_E0068234.s b/asm/nonmatchings/code_36A8D0/func_E0068234.s index da01535fbd..80b1b6168e 100644 --- a/asm/nonmatchings/code_36A8D0/func_E0068234.s +++ b/asm/nonmatchings/code_36A8D0/func_E0068234.s @@ -32,13 +32,13 @@ glabel func_E0068234 /* 36AB70 E00682A0 3C17E007 */ lui $s7, %hi(D_E00685F4) /* 36AB74 E00682A4 02E2B821 */ addu $s7, $s7, $v0 /* 36AB78 E00682A8 8EF785F4 */ lw $s7, %lo(D_E00685F4)($s7) -/* 36AB7C E00682AC 3C02E700 */ lui $v0, %hi(D_E700001C) +/* 36AB7C E00682AC 3C02E700 */ lui $v0, 0xe700 /* 36AB80 E00682B0 AC620000 */ sw $v0, ($v1) /* 36AB84 E00682B4 AC600004 */ sw $zero, 4($v1) /* 36AB88 E00682B8 ACC70000 */ sw $a3, ($a2) /* 36AB8C E00682BC 8C820010 */ lw $v0, 0x10($a0) /* 36AB90 E00682C0 3C048000 */ lui $a0, 0x8000 -/* 36AB94 E00682C4 8C42001C */ lw $v0, %lo(D_E700001C)($v0) +/* 36AB94 E00682C4 8C42001C */ lw $v0, 0x1c($v0) /* 36AB98 E00682C8 3C038007 */ lui $v1, %hi(gCurrentCameraID) /* 36AB9C E00682CC 8C637410 */ lw $v1, %lo(gCurrentCameraID)($v1) /* 36ABA0 E00682D0 00441021 */ addu $v0, $v0, $a0 diff --git a/asm/nonmatchings/code_372790/func_E006E35C.s b/asm/nonmatchings/code_372790/func_E006E35C.s index 4e7371ce52..a4c442a501 100644 --- a/asm/nonmatchings/code_372790/func_E006E35C.s +++ b/asm/nonmatchings/code_372790/func_E006E35C.s @@ -185,7 +185,7 @@ glabel func_E006E35C .LE006E618: /* 372DA8 E006E618 2401FFFF */ addiu $at, $zero, -1 /* 372DAC E006E61C 16410004 */ bne $s2, $at, .LE006E630 -/* 372DB0 E006E620 3C018000 */ lui $at, %hi(D_7FFFEC40) +/* 372DB0 E006E620 3C018000 */ lui $at, 0x8000 /* 372DB4 E006E624 14410002 */ bne $v0, $at, .LE006E630 /* 372DB8 E006E628 00000000 */ nop /* 372DBC E006E62C 0006000D */ break 6 @@ -193,7 +193,7 @@ glabel func_E006E35C /* 372DC0 E006E630 00001012 */ mflo $v0 /* 372DC4 E006E634 C6000038 */ lwc1 $f0, 0x38($s0) /* 372DC8 E006E638 3C01E007 */ lui $at, %hi(D_E006EC40) -/* 372DCC E006E63C D422EC40 */ ldc1 $f2, %lo(D_7FFFEC40)($at) +/* 372DCC E006E63C D422EC40 */ ldc1 $f2, %lo(D_E006EC40)($at) /* 372DD0 E006E640 46000021 */ cvt.d.s $f0, $f0 /* 372DD4 E006E644 46201081 */ sub.d $f2, $f2, $f0 /* 372DD8 E006E648 3C01E007 */ lui $at, %hi(D_E006EC48) diff --git a/asm/nonmatchings/code_389850/func_E00863B4.s b/asm/nonmatchings/code_389850/func_E00863B4.s index 173775412e..cb8d8b8ef6 100644 --- a/asm/nonmatchings/code_389850/func_E00863B4.s +++ b/asm/nonmatchings/code_389850/func_E00863B4.s @@ -290,14 +290,14 @@ glabel func_E00863B4 /* 38A05C E008680C 24840008 */ addiu $a0, $a0, 8 /* 38A060 E0086810 AEA40000 */ sw $a0, ($s5) /* 38A064 E0086814 96E20000 */ lhu $v0, ($s7) -/* 38A068 E0086818 3C03DA38 */ lui $v1, %hi(D_DA37A674) +/* 38A068 E0086818 3C03DA38 */ lui $v1, 0xda38 /* 38A06C E008681C ACA30000 */ sw $v1, ($a1) /* 38A070 E0086820 24430001 */ addiu $v1, $v0, 1 /* 38A074 E0086824 3042FFFF */ andi $v0, $v0, 0xffff /* 38A078 E0086828 00021180 */ sll $v0, $v0, 6 /* 38A07C E008682C A6E30000 */ sh $v1, ($s7) /* 38A080 E0086830 3C03800A */ lui $v1, %hi(D_8009A674) -/* 38A084 E0086834 8C63A674 */ lw $v1, %lo(D_DA37A674)($v1) +/* 38A084 E0086834 8C63A674 */ lw $v1, %lo(D_8009A674)($v1) /* 38A088 E0086838 00561021 */ addu $v0, $v0, $s6 /* 38A08C E008683C 00621821 */ addu $v1, $v1, $v0 /* 38A090 E0086840 ACA30004 */ sw $v1, 4($a1) diff --git a/asm/nonmatchings/code_38ADF0/func_E00887E0.s b/asm/nonmatchings/code_38ADF0/func_E00887E0.s index 1136a7e2db..0a237044a3 100644 --- a/asm/nonmatchings/code_38ADF0/func_E00887E0.s +++ b/asm/nonmatchings/code_38ADF0/func_E00887E0.s @@ -253,14 +253,14 @@ glabel func_E00887E0 /* 38B990 E0088BA0 24A541F0 */ addiu $a1, $a1, %lo(D_800741F0) /* 38B994 E0088BA4 AE220000 */ sw $v0, ($s1) /* 38B998 E0088BA8 94A20000 */ lhu $v0, ($a1) -/* 38B99C E0088BAC 3C03DA38 */ lui $v1, %hi(D_DA37A674) +/* 38B99C E0088BAC 3C03DA38 */ lui $v1, 0xda38 /* 38B9A0 E0088BB0 AC830000 */ sw $v1, ($a0) /* 38B9A4 E0088BB4 24430001 */ addiu $v1, $v0, 1 /* 38B9A8 E0088BB8 3042FFFF */ andi $v0, $v0, 0xffff /* 38B9AC E0088BBC 00021180 */ sll $v0, $v0, 6 /* 38B9B0 E0088BC0 A4A30000 */ sh $v1, ($a1) /* 38B9B4 E0088BC4 3C03800A */ lui $v1, %hi(D_8009A674) -/* 38B9B8 E0088BC8 8C63A674 */ lw $v1, %lo(D_DA37A674)($v1) +/* 38B9B8 E0088BC8 8C63A674 */ lw $v1, %lo(D_8009A674)($v1) /* 38B9BC E0088BCC 00571021 */ addu $v0, $v0, $s7 /* 38B9C0 E0088BD0 00621821 */ addu $v1, $v1, $v0 /* 38B9C4 E0088BD4 24820010 */ addiu $v0, $a0, 0x10 diff --git a/asm/nonmatchings/code_3AEE20/func_E00AC2A4.s b/asm/nonmatchings/code_3AEE20/func_E00AC2A4.s index 8c59d9ae1e..7be0770c4b 100644 --- a/asm/nonmatchings/code_3AEE20/func_E00AC2A4.s +++ b/asm/nonmatchings/code_3AEE20/func_E00AC2A4.s @@ -293,13 +293,13 @@ glabel func_E00AC2A4 /* 3AF530 E00AC710 2484A66C */ addiu $a0, $a0, %lo(D_8009A66C) /* 3AF534 E00AC714 34C60002 */ ori $a2, $a2, 2 /* 3AF538 E00AC718 8C830000 */ lw $v1, ($a0) -/* 3AF53C E00AC71C 3C02DE00 */ lui $v0, %hi(D_DE0028A0) +/* 3AF53C E00AC71C 3C02DE00 */ lui $v0, 0xde00 /* 3AF540 E00AC720 0060282D */ daddu $a1, $v1, $zero /* 3AF544 E00AC724 24630008 */ addiu $v1, $v1, 8 /* 3AF548 E00AC728 AC830000 */ sw $v1, ($a0) /* 3AF54C E00AC72C ACA20000 */ sw $v0, ($a1) /* 3AF550 E00AC730 3C020900 */ lui $v0, 0x900 -/* 3AF554 E00AC734 244228A0 */ addiu $v0, $v0, %lo(D_DE0028A0) +/* 3AF554 E00AC734 244228A0 */ addiu $v0, $v0, 0x28a0 /* 3AF558 E00AC738 ACA20004 */ sw $v0, 4($a1) /* 3AF55C E00AC73C 24620008 */ addiu $v0, $v1, 8 /* 3AF560 E00AC740 24050040 */ addiu $a1, $zero, 0x40 diff --git a/asm/nonmatchings/code_3B2350/func_E00AE54C.s b/asm/nonmatchings/code_3B2350/func_E00AE54C.s index 19b868f64d..03eb3b199d 100644 --- a/asm/nonmatchings/code_3B2350/func_E00AE54C.s +++ b/asm/nonmatchings/code_3B2350/func_E00AE54C.s @@ -234,14 +234,14 @@ glabel func_E00AE54C /* 3B2C2C E00AE8DC 24840008 */ addiu $a0, $a0, 8 /* 3B2C30 E00AE8E0 AE240000 */ sw $a0, ($s1) /* 3B2C34 E00AE8E4 96E20000 */ lhu $v0, ($s7) -/* 3B2C38 E00AE8E8 3C03DA38 */ lui $v1, %hi(D_DA37A674) +/* 3B2C38 E00AE8E8 3C03DA38 */ lui $v1, 0xda38 /* 3B2C3C E00AE8EC ACA30000 */ sw $v1, ($a1) /* 3B2C40 E00AE8F0 24430001 */ addiu $v1, $v0, 1 /* 3B2C44 E00AE8F4 3042FFFF */ andi $v0, $v0, 0xffff /* 3B2C48 E00AE8F8 00021180 */ sll $v0, $v0, 6 /* 3B2C4C E00AE8FC A6E30000 */ sh $v1, ($s7) /* 3B2C50 E00AE900 3C03800A */ lui $v1, %hi(D_8009A674) -/* 3B2C54 E00AE904 8C63A674 */ lw $v1, %lo(D_DA37A674)($v1) +/* 3B2C54 E00AE904 8C63A674 */ lw $v1, %lo(D_8009A674)($v1) /* 3B2C58 E00AE908 00541021 */ addu $v0, $v0, $s4 /* 3B2C5C E00AE90C 00621821 */ addu $v1, $v1, $v0 /* 3B2C60 E00AE910 24820008 */ addiu $v0, $a0, 8 diff --git a/asm/nonmatchings/code_3B3EB0/func_E00B0234.s b/asm/nonmatchings/code_3B3EB0/func_E00B0234.s index 22b674d671..293bd31b62 100644 --- a/asm/nonmatchings/code_3B3EB0/func_E00B0234.s +++ b/asm/nonmatchings/code_3B3EB0/func_E00B0234.s @@ -171,14 +171,14 @@ glabel func_E00B0234 /* 3B4378 E00B04C8 24840008 */ addiu $a0, $a0, 8 /* 3B437C E00B04CC AE440000 */ sw $a0, ($s2) /* 3B4380 E00B04D0 96A20000 */ lhu $v0, ($s5) -/* 3B4384 E00B04D4 3C03DA38 */ lui $v1, %hi(D_DA37A674) +/* 3B4384 E00B04D4 3C03DA38 */ lui $v1, 0xda38 /* 3B4388 E00B04D8 ACA30000 */ sw $v1, ($a1) /* 3B438C E00B04DC 24430001 */ addiu $v1, $v0, 1 /* 3B4390 E00B04E0 3042FFFF */ andi $v0, $v0, 0xffff /* 3B4394 E00B04E4 00021180 */ sll $v0, $v0, 6 /* 3B4398 E00B04E8 A6A30000 */ sh $v1, ($s5) /* 3B439C E00B04EC 3C03800A */ lui $v1, %hi(D_8009A674) -/* 3B43A0 E00B04F0 8C63A674 */ lw $v1, %lo(D_DA37A674)($v1) +/* 3B43A0 E00B04F0 8C63A674 */ lw $v1, %lo(D_8009A674)($v1) /* 3B43A4 E00B04F4 005E1021 */ addu $v0, $v0, $fp /* 3B43A8 E00B04F8 00621821 */ addu $v1, $v1, $v0 /* 3B43AC E00B04FC 24820008 */ addiu $v0, $a0, 8 diff --git a/asm/nonmatchings/code_759b0_len_61b0/update_player_shadow.s b/asm/nonmatchings/code_759b0_len_61b0/update_player_shadow.s index c98a690ce5..4c9c4a6faa 100644 --- a/asm/nonmatchings/code_759b0_len_61b0/update_player_shadow.s +++ b/asm/nonmatchings/code_759b0_len_61b0/update_player_shadow.s @@ -220,7 +220,7 @@ glabel update_player_shadow /* 7B3C0 800E1F10 A0830000 */ sb $v1, ($a0) .L800E1F14: /* 7B3C4 800E1F14 46220001 */ sub.d $f0, $f0, $f2 -/* 7B3C8 800E1F18 3C028000 */ lui $v0, %hi(D_8000419C) +/* 7B3C8 800E1F18 3C028000 */ lui $v0, 0x8000 /* 7B3CC 800E1F1C 4620028D */ trunc.w.d $f10, $f0 /* 7B3D0 800E1F20 44035000 */ mfc1 $v1, $f10 /* 7B3D4 800E1F24 00000000 */ nop @@ -228,7 +228,7 @@ glabel update_player_shadow /* 7B3DC 800E1F2C A0830000 */ sb $v1, ($a0) .L800E1F30: /* 7B3E0 800E1F30 3C028007 */ lui $v0, %hi(gGameStatusPtr) -/* 7B3E4 800E1F34 8C42419C */ lw $v0, %lo(D_8000419C)($v0) +/* 7B3E4 800E1F34 8C42419C */ lw $v0, %lo(gGameStatusPtr)($v0) /* 7B3E8 800E1F38 9042007E */ lbu $v0, 0x7e($v0) /* 7B3EC 800E1F3C 30420001 */ andi $v0, $v0, 1 /* 7B3F0 800E1F40 14400006 */ bnez $v0, .L800E1F5C diff --git a/asm/nonmatchings/code_891b0_len_fb0/func_800F0490.s b/asm/nonmatchings/code_891b0_len_fb0/func_800F0490.s index 9d0c238cef..4708295c6d 100644 --- a/asm/nonmatchings/code_891b0_len_fb0/func_800F0490.s +++ b/asm/nonmatchings/code_891b0_len_fb0/func_800F0490.s @@ -93,13 +93,13 @@ glabel func_800F0490 /* 89A90 800F05E0 46800020 */ cvt.s.w $f0, $f0 /* 89A94 800F05E4 46006307 */ neg.s $f12, $f12 /* 89A98 800F05E8 46006300 */ add.s $f12, $f12, $f0 -/* 89A9C 800F05EC 3C01C000 */ lui $at, %hi(D_BFFF949C) +/* 89A9C 800F05EC 3C01C000 */ lui $at, 0xc000 /* 89AA0 800F05F0 4481A000 */ mtc1 $at, $f20 /* 89AA4 800F05F4 3C0140A0 */ lui $at, 0x40a0 /* 89AA8 800F05F8 44810000 */ mtc1 $at, $f0 /* 89AAC 800F05FC 46041080 */ add.s $f2, $f2, $f4 /* 89AB0 800F0600 3C018011 */ lui $at, %hi(D_8010949C) -/* 89AB4 800F0604 A420949C */ sh $zero, %lo(D_BFFF949C)($at) +/* 89AB4 800F0604 A420949C */ sh $zero, %lo(D_8010949C)($at) /* 89AB8 800F0608 46001083 */ div.s $f2, $f2, $f0 /* 89ABC 800F060C 0C00A6C9 */ jal clamp_angle /* 89AC0 800F0610 4602A501 */ sub.s $f20, $f20, $f2 diff --git a/asm/nonmatchings/code_8a160_len_700/func_800F102C.s b/asm/nonmatchings/code_8a160_len_700/func_800F102C.s index c72dc58235..ec77206650 100644 --- a/asm/nonmatchings/code_8a160_len_700/func_800F102C.s +++ b/asm/nonmatchings/code_8a160_len_700/func_800F102C.s @@ -59,14 +59,14 @@ glabel func_800F102C /* 8A5B4 800F1104 24620010 */ addiu $v0, $v1, 0x10 /* 8A5B8 800F1108 AC600004 */ sw $zero, 4($v1) /* 8A5BC 800F110C AE020000 */ sw $v0, ($s0) -/* 8A5C0 800F1110 3C02ED00 */ lui $v0, %hi(D_ECFF96B0) +/* 8A5C0 800F1110 3C02ED00 */ lui $v0, 0xed00 /* 8A5C4 800F1114 AC620008 */ sw $v0, 8($v1) /* 8A5C8 800F1118 24620018 */ addiu $v0, $v1, 0x18 /* 8A5CC 800F111C AC69000C */ sw $t1, 0xc($v1) /* 8A5D0 800F1120 AE020000 */ sw $v0, ($s0) /* 8A5D4 800F1124 4485B000 */ mtc1 $a1, $f22 /* 8A5D8 800F1128 3C028011 */ lui $v0, %hi(D_801096B0) -/* 8A5DC 800F112C 244296B0 */ addiu $v0, $v0, %lo(D_ECFF96B0) +/* 8A5DC 800F112C 244296B0 */ addiu $v0, $v0, %lo(D_801096B0) /* 8A5E0 800F1130 AC6A0010 */ sw $t2, 0x10($v1) /* 8A5E4 800F1134 AC620014 */ sw $v0, 0x14($v1) /* 8A5E8 800F1138 E7A20018 */ swc1 $f2, 0x18($sp) diff --git a/asm/nonmatchings/code_8e790_len_2850/draw_box.s b/asm/nonmatchings/code_8e790_len_2850/draw_box.s index 7406e4de20..7551a24add 100644 --- a/asm/nonmatchings/code_8e790_len_2850/draw_box.s +++ b/asm/nonmatchings/code_8e790_len_2850/draw_box.s @@ -2002,14 +2002,14 @@ glabel draw_box /* 90508 800F7058 0040182D */ daddu $v1, $v0, $zero /* 9050C 800F705C 24420008 */ addiu $v0, $v0, 8 /* 90510 800F7060 AD820000 */ sw $v0, ($t4) -/* 90514 800F7064 3C02F100 */ lui $v0, %hi(D_F1000008) +/* 90514 800F7064 3C02F100 */ lui $v0, 0xf100 /* 90518 800F7068 AC620000 */ sw $v0, ($v1) /* 9051C 800F706C AC640004 */ sw $a0, 4($v1) .L800F7070: /* 90520 800F7070 8D820000 */ lw $v0, ($t4) /* 90524 800F7074 25AD0001 */ addiu $t5, $t5, 1 /* 90528 800F7078 0040182D */ daddu $v1, $v0, $zero -/* 9052C 800F707C 24420008 */ addiu $v0, $v0, %lo(D_F1000008) +/* 9052C 800F707C 24420008 */ addiu $v0, $v0, 8 /* 90530 800F7080 3C19E700 */ lui $t9, 0xe700 /* 90534 800F7084 AD820000 */ sw $v0, ($t4) /* 90538 800F7088 29A20004 */ slti $v0, $t5, 4 @@ -2174,7 +2174,7 @@ glabel draw_box /* 90780 800F72D0 0040202D */ daddu $a0, $v0, $zero /* 90784 800F72D4 24420008 */ addiu $v0, $v0, 8 /* 90788 800F72D8 AC620000 */ sw $v0, ($v1) -/* 9078C 800F72DC 3C02F100 */ lui $v0, %hi(D_F1000008) +/* 9078C 800F72DC 3C02F100 */ lui $v0, 0xf100 /* 90790 800F72E0 AC820000 */ sw $v0, ($a0) /* 90794 800F72E4 AC850004 */ sw $a1, 4($a0) .L800F72E8: @@ -2182,7 +2182,7 @@ glabel draw_box /* 9079C 800F72EC 2463A66C */ addiu $v1, $v1, %lo(D_8009A66C) /* 907A0 800F72F0 8C620000 */ lw $v0, ($v1) /* 907A4 800F72F4 0040202D */ daddu $a0, $v0, $zero -/* 907A8 800F72F8 24420008 */ addiu $v0, $v0, %lo(D_F1000008) +/* 907A8 800F72F8 24420008 */ addiu $v0, $v0, 8 /* 907AC 800F72FC AC620000 */ sw $v0, ($v1) /* 907B0 800F7300 3C02E700 */ lui $v0, 0xe700 /* 907B4 800F7304 AC820000 */ sw $v0, ($a0) diff --git a/asm/nonmatchings/code_a5dd0_len_114e0/func_801180E8.s b/asm/nonmatchings/code_a5dd0_len_114e0/func_801180E8.s index 73c6a1d1cb..5505f0c3d6 100644 --- a/asm/nonmatchings/code_a5dd0_len_114e0/func_801180E8.s +++ b/asm/nonmatchings/code_a5dd0_len_114e0/func_801180E8.s @@ -240,21 +240,21 @@ glabel func_801180E8 /* AEB3C 8011843C 0040182D */ daddu $v1, $v0, $zero /* AEB40 80118440 24420008 */ addiu $v0, $v0, 8 /* AEB44 80118444 AF020000 */ sw $v0, ($t8) -/* AEB48 80118448 3C02FD10 */ lui $v0, %hi(D_FD100008) +/* AEB48 80118448 3C02FD10 */ lui $v0, 0xfd10 /* AEB4C 8011844C AC620000 */ sw $v0, ($v1) /* AEB50 80118450 AC670004 */ sw $a3, 4($v1) /* AEB54 80118454 8F020000 */ lw $v0, ($t8) /* AEB58 80118458 3C04F500 */ lui $a0, 0xf500 /* AEB5C 8011845C 0040182D */ daddu $v1, $v0, $zero -/* AEB60 80118460 24420008 */ addiu $v0, $v0, %lo(D_FD100008) +/* AEB60 80118460 24420008 */ addiu $v0, $v0, 8 /* AEB64 80118464 AF020000 */ sw $v0, ($t8) -/* AEB68 80118468 3C02E800 */ lui $v0, %hi(D_E8000008) +/* AEB68 80118468 3C02E800 */ lui $v0, 0xe800 /* AEB6C 8011846C AC620000 */ sw $v0, ($v1) /* AEB70 80118470 AC600004 */ sw $zero, 4($v1) /* AEB74 80118474 8F020000 */ lw $v0, ($t8) /* AEB78 80118478 34840100 */ ori $a0, $a0, 0x100 /* AEB7C 8011847C 0040182D */ daddu $v1, $v0, $zero -/* AEB80 80118480 24420008 */ addiu $v0, $v0, %lo(D_E8000008) +/* AEB80 80118480 24420008 */ addiu $v0, $v0, 8 /* AEB84 80118484 AF020000 */ sw $v0, ($t8) /* AEB88 80118488 3C020700 */ lui $v0, 0x700 /* AEB8C 8011848C AC640000 */ sw $a0, ($v1) @@ -276,13 +276,13 @@ glabel func_801180E8 /* AEBC8 801184C8 0040182D */ daddu $v1, $v0, $zero /* AEBCC 801184CC 24420008 */ addiu $v0, $v0, %lo(D_FD100008) /* AEBD0 801184D0 AF020000 */ sw $v0, ($t8) -/* AEBD4 801184D4 3C02E800 */ lui $v0, %hi(D_E8000008) +/* AEBD4 801184D4 3C02E800 */ lui $v0, 0xe800 /* AEBD8 801184D8 AC620000 */ sw $v0, ($v1) /* AEBDC 801184DC AC600004 */ sw $zero, 4($v1) /* AEBE0 801184E0 8F020000 */ lw $v0, ($t8) /* AEBE4 801184E4 34840100 */ ori $a0, $a0, 0x100 /* AEBE8 801184E8 0040182D */ daddu $v1, $v0, $zero -/* AEBEC 801184EC 24420008 */ addiu $v0, $v0, %lo(D_E8000008) +/* AEBEC 801184EC 24420008 */ addiu $v0, $v0, 8 /* AEBF0 801184F0 AF020000 */ sw $v0, ($t8) /* AEBF4 801184F4 3C020700 */ lui $v0, 0x700 /* AEBF8 801184F8 AC640000 */ sw $a0, ($v1) @@ -293,13 +293,13 @@ glabel func_801180E8 /* AEC08 80118508 0040182D */ daddu $v1, $v0, $zero /* AEC0C 8011850C 24420008 */ addiu $v0, $v0, 8 /* AEC10 80118510 AF020000 */ sw $v0, ($t8) -/* AEC14 80118514 3C02E600 */ lui $v0, %hi(D_E6000008) +/* AEC14 80118514 3C02E600 */ lui $v0, 0xe600 /* AEC18 80118518 AC620000 */ sw $v0, ($v1) /* AEC1C 8011851C AC600004 */ sw $zero, 4($v1) /* AEC20 80118520 8F020000 */ lw $v0, ($t8) /* AEC24 80118524 3484C000 */ ori $a0, $a0, 0xc000 /* AEC28 80118528 0040182D */ daddu $v1, $v0, $zero -/* AEC2C 8011852C 24420008 */ addiu $v0, $v0, %lo(D_E6000008) +/* AEC2C 8011852C 24420008 */ addiu $v0, $v0, 8 /* AEC30 80118530 AF020000 */ sw $v0, ($t8) /* AEC34 80118534 3C02F000 */ lui $v0, %hi(D_F0000008) /* AEC38 80118538 AC620000 */ sw $v0, ($v1) @@ -362,13 +362,13 @@ glabel func_801180E8 /* AED14 80118614 0040182D */ daddu $v1, $v0, $zero /* AED18 80118618 24420008 */ addiu $v0, $v0, %lo(D_FD100008) /* AED1C 8011861C AF020000 */ sw $v0, ($t8) -/* AED20 80118620 3C02E800 */ lui $v0, %hi(D_E8000008) +/* AED20 80118620 3C02E800 */ lui $v0, 0xe800 /* AED24 80118624 AC620000 */ sw $v0, ($v1) /* AED28 80118628 AC600004 */ sw $zero, 4($v1) /* AED2C 8011862C 8F020000 */ lw $v0, ($t8) /* AED30 80118630 34840100 */ ori $a0, $a0, 0x100 /* AED34 80118634 0040182D */ daddu $v1, $v0, $zero -/* AED38 80118638 24420008 */ addiu $v0, $v0, %lo(D_E8000008) +/* AED38 80118638 24420008 */ addiu $v0, $v0, 8 /* AED3C 8011863C AF020000 */ sw $v0, ($t8) /* AED40 80118640 3C020700 */ lui $v0, 0x700 /* AED44 80118644 AC640000 */ sw $a0, ($v1) @@ -379,13 +379,13 @@ glabel func_801180E8 /* AED54 80118654 0040182D */ daddu $v1, $v0, $zero /* AED58 80118658 24420008 */ addiu $v0, $v0, 8 /* AED5C 8011865C AF020000 */ sw $v0, ($t8) -/* AED60 80118660 3C02E600 */ lui $v0, %hi(D_E6000008) +/* AED60 80118660 3C02E600 */ lui $v0, 0xe600 /* AED64 80118664 AC620000 */ sw $v0, ($v1) /* AED68 80118668 AC600004 */ sw $zero, 4($v1) /* AED6C 8011866C 8F020000 */ lw $v0, ($t8) /* AED70 80118670 3484C000 */ ori $a0, $a0, 0xc000 /* AED74 80118674 0040182D */ daddu $v1, $v0, $zero -/* AED78 80118678 24420008 */ addiu $v0, $v0, %lo(D_E6000008) +/* AED78 80118678 24420008 */ addiu $v0, $v0, 8 /* AED7C 8011867C AF020000 */ sw $v0, ($t8) /* AED80 80118680 3C02F000 */ lui $v0, %hi(D_F0000008) /* AED84 80118684 AC620000 */ sw $v0, ($v1) @@ -473,14 +473,14 @@ glabel func_801180E8 /* AEEB4 801187B4 0040202D */ daddu $a0, $v0, $zero /* AEEB8 801187B8 24420008 */ addiu $v0, $v0, 8 /* AEEBC 801187BC AF020000 */ sw $v0, ($t8) -/* AEEC0 801187C0 3C02FD10 */ lui $v0, %hi(D_FD100008) +/* AEEC0 801187C0 3C02FD10 */ lui $v0, 0xfd10 /* AEEC4 801187C4 00621025 */ or $v0, $v1, $v0 /* AEEC8 801187C8 AC820000 */ sw $v0, ($a0) /* AEECC 801187CC AC9E0004 */ sw $fp, 4($a0) /* AEED0 801187D0 8F020000 */ lw $v0, ($t8) /* AEED4 801187D4 3C070700 */ lui $a3, 0x700 /* AEED8 801187D8 0040202D */ daddu $a0, $v0, $zero -/* AEEDC 801187DC 24420008 */ addiu $v0, $v0, %lo(D_FD100008) +/* AEEDC 801187DC 24420008 */ addiu $v0, $v0, 8 /* AEEE0 801187E0 AF020000 */ sw $v0, ($t8) /* AEEE4 801187E4 3C02F510 */ lui $v0, 0xf510 /* AEEE8 801187E8 00621825 */ or $v1, $v1, $v0 @@ -502,13 +502,13 @@ glabel func_801180E8 /* AEF28 80118828 0040182D */ daddu $v1, $v0, $zero /* AEF2C 8011882C 24420008 */ addiu $v0, $v0, 8 /* AEF30 80118830 AF020000 */ sw $v0, ($t8) -/* AEF34 80118834 3C02E600 */ lui $v0, %hi(D_E6000008) +/* AEF34 80118834 3C02E600 */ lui $v0, 0xe600 /* AEF38 80118838 AC620000 */ sw $v0, ($v1) /* AEF3C 8011883C AC600004 */ sw $zero, 4($v1) /* AEF40 80118840 8F020000 */ lw $v0, ($t8) /* AEF44 80118844 0320202D */ daddu $a0, $t9, $zero /* AEF48 80118848 0040302D */ daddu $a2, $v0, $zero -/* AEF4C 8011884C 24420008 */ addiu $v0, $v0, %lo(D_E6000008) +/* AEF4C 8011884C 24420008 */ addiu $v0, $v0, 8 /* AEF50 80118850 AF020000 */ sw $v0, ($t8) /* AEF54 80118854 3C02F300 */ lui $v0, 0xf300 /* AEF58 80118858 07210002 */ bgez $t9, .L80118864 @@ -558,13 +558,13 @@ glabel func_801180E8 /* AEFEC 801188EC 0040182D */ daddu $v1, $v0, $zero /* AEFF0 801188F0 24420008 */ addiu $v0, $v0, 8 /* AEFF4 801188F4 AF020000 */ sw $v0, ($t8) -/* AEFF8 801188F8 3C02E700 */ lui $v0, %hi(D_E7000008) +/* AEFF8 801188F8 3C02E700 */ lui $v0, 0xe700 /* AEFFC 801188FC AC620000 */ sw $v0, ($v1) /* AF000 80118900 AC600004 */ sw $zero, 4($v1) /* AF004 80118904 8F020000 */ lw $v0, ($t8) /* AF008 80118908 3C03F500 */ lui $v1, 0xf500 /* AF00C 8011890C 0040282D */ daddu $a1, $v0, $zero -/* AF010 80118910 24420008 */ addiu $v0, $v0, %lo(D_E7000008) +/* AF010 80118910 24420008 */ addiu $v0, $v0, 8 /* AF014 80118914 AF020000 */ sw $v0, ($t8) /* AF018 80118918 08046356 */ j .L80118D58 /* AF01C 8011891C 00191043 */ sra $v0, $t9, 1 @@ -575,14 +575,14 @@ glabel func_801180E8 /* AF02C 8011892C 0040202D */ daddu $a0, $v0, $zero /* AF030 80118930 24420008 */ addiu $v0, $v0, 8 /* AF034 80118934 AF020000 */ sw $v0, ($t8) -/* AF038 80118938 3C02FD10 */ lui $v0, %hi(D_FD100008) +/* AF038 80118938 3C02FD10 */ lui $v0, 0xfd10 /* AF03C 8011893C 00621025 */ or $v0, $v1, $v0 /* AF040 80118940 AC820000 */ sw $v0, ($a0) /* AF044 80118944 AC9E0004 */ sw $fp, 4($a0) /* AF048 80118948 8F020000 */ lw $v0, ($t8) /* AF04C 8011894C 3C070700 */ lui $a3, 0x700 /* AF050 80118950 0040202D */ daddu $a0, $v0, $zero -/* AF054 80118954 24420008 */ addiu $v0, $v0, %lo(D_FD100008) +/* AF054 80118954 24420008 */ addiu $v0, $v0, 8 /* AF058 80118958 AF020000 */ sw $v0, ($t8) /* AF05C 8011895C 3C02F510 */ lui $v0, 0xf510 /* AF060 80118960 00621825 */ or $v1, $v1, $v0 @@ -604,13 +604,13 @@ glabel func_801180E8 /* AF0A0 801189A0 0040182D */ daddu $v1, $v0, $zero /* AF0A4 801189A4 24420008 */ addiu $v0, $v0, 8 /* AF0A8 801189A8 AF020000 */ sw $v0, ($t8) -/* AF0AC 801189AC 3C02E600 */ lui $v0, %hi(D_E6000008) +/* AF0AC 801189AC 3C02E600 */ lui $v0, 0xe600 /* AF0B0 801189B0 AC620000 */ sw $v0, ($v1) /* AF0B4 801189B4 AC600004 */ sw $zero, 4($v1) /* AF0B8 801189B8 8F020000 */ lw $v0, ($t8) /* AF0BC 801189BC 0320202D */ daddu $a0, $t9, $zero /* AF0C0 801189C0 0040302D */ daddu $a2, $v0, $zero -/* AF0C4 801189C4 24420008 */ addiu $v0, $v0, %lo(D_E6000008) +/* AF0C4 801189C4 24420008 */ addiu $v0, $v0, 8 /* AF0C8 801189C8 AF020000 */ sw $v0, ($t8) /* AF0CC 801189CC 3C02F300 */ lui $v0, 0xf300 /* AF0D0 801189D0 07210002 */ bgez $t9, .L801189DC @@ -660,13 +660,13 @@ glabel func_801180E8 /* AF164 80118A64 0040182D */ daddu $v1, $v0, $zero /* AF168 80118A68 24420008 */ addiu $v0, $v0, 8 /* AF16C 80118A6C AF020000 */ sw $v0, ($t8) -/* AF170 80118A70 3C02E700 */ lui $v0, %hi(D_E7000008) +/* AF170 80118A70 3C02E700 */ lui $v0, 0xe700 /* AF174 80118A74 AC620000 */ sw $v0, ($v1) /* AF178 80118A78 AC600004 */ sw $zero, 4($v1) /* AF17C 80118A7C 8F020000 */ lw $v0, ($t8) /* AF180 80118A80 3C03F508 */ lui $v1, 0xf508 /* AF184 80118A84 0040282D */ daddu $a1, $v0, $zero -/* AF188 80118A88 24420008 */ addiu $v0, $v0, %lo(D_E7000008) +/* AF188 80118A88 24420008 */ addiu $v0, $v0, 8 /* AF18C 80118A8C AF020000 */ sw $v0, ($t8) /* AF190 80118A90 08046357 */ j .L80118D5C /* AF194 80118A94 27220007 */ addiu $v0, $t9, 7 @@ -677,14 +677,14 @@ glabel func_801180E8 /* AF1A4 80118AA4 0040202D */ daddu $a0, $v0, $zero /* AF1A8 80118AA8 24420008 */ addiu $v0, $v0, 8 /* AF1AC 80118AAC AF020000 */ sw $v0, ($t8) -/* AF1B0 80118AB0 3C02FD10 */ lui $v0, %hi(D_FD100008) +/* AF1B0 80118AB0 3C02FD10 */ lui $v0, 0xfd10 /* AF1B4 80118AB4 00621025 */ or $v0, $v1, $v0 /* AF1B8 80118AB8 AC820000 */ sw $v0, ($a0) /* AF1BC 80118ABC AC9E0004 */ sw $fp, 4($a0) /* AF1C0 80118AC0 8F020000 */ lw $v0, ($t8) /* AF1C4 80118AC4 3C070700 */ lui $a3, 0x700 /* AF1C8 80118AC8 0040202D */ daddu $a0, $v0, $zero -/* AF1CC 80118ACC 24420008 */ addiu $v0, $v0, %lo(D_FD100008) +/* AF1CC 80118ACC 24420008 */ addiu $v0, $v0, 8 /* AF1D0 80118AD0 AF020000 */ sw $v0, ($t8) /* AF1D4 80118AD4 3C02F510 */ lui $v0, 0xf510 /* AF1D8 80118AD8 00621825 */ or $v1, $v1, $v0 @@ -706,13 +706,13 @@ glabel func_801180E8 /* AF218 80118B18 0040182D */ daddu $v1, $v0, $zero /* AF21C 80118B1C 24420008 */ addiu $v0, $v0, 8 /* AF220 80118B20 AF020000 */ sw $v0, ($t8) -/* AF224 80118B24 3C02E600 */ lui $v0, %hi(D_E6000008) +/* AF224 80118B24 3C02E600 */ lui $v0, 0xe600 /* AF228 80118B28 AC620000 */ sw $v0, ($v1) /* AF22C 80118B2C AC600004 */ sw $zero, 4($v1) /* AF230 80118B30 8F020000 */ lw $v0, ($t8) /* AF234 80118B34 0320202D */ daddu $a0, $t9, $zero /* AF238 80118B38 0040302D */ daddu $a2, $v0, $zero -/* AF23C 80118B3C 24420008 */ addiu $v0, $v0, %lo(D_E6000008) +/* AF23C 80118B3C 24420008 */ addiu $v0, $v0, 8 /* AF240 80118B40 AF020000 */ sw $v0, ($t8) /* AF244 80118B44 3C02F300 */ lui $v0, 0xf300 /* AF248 80118B48 07210002 */ bgez $t9, .L80118B54 @@ -773,14 +773,14 @@ glabel func_801180E8 /* AF304 80118C04 0040202D */ daddu $a0, $v0, $zero /* AF308 80118C08 24420008 */ addiu $v0, $v0, 8 /* AF30C 80118C0C AF020000 */ sw $v0, ($t8) -/* AF310 80118C10 3C02FD18 */ lui $v0, %hi(D_FD180008) +/* AF310 80118C10 3C02FD18 */ lui $v0, 0xfd18 /* AF314 80118C14 00621025 */ or $v0, $v1, $v0 /* AF318 80118C18 AC820000 */ sw $v0, ($a0) /* AF31C 80118C1C AC9E0004 */ sw $fp, 4($a0) /* AF320 80118C20 8F020000 */ lw $v0, ($t8) /* AF324 80118C24 3C070700 */ lui $a3, 0x700 /* AF328 80118C28 0040202D */ daddu $a0, $v0, $zero -/* AF32C 80118C2C 24420008 */ addiu $v0, $v0, %lo(D_FD180008) +/* AF32C 80118C2C 24420008 */ addiu $v0, $v0, 8 /* AF330 80118C30 AF020000 */ sw $v0, ($t8) /* AF334 80118C34 3C02F518 */ lui $v0, 0xf518 /* AF338 80118C38 00621825 */ or $v1, $v1, $v0 @@ -803,13 +803,13 @@ glabel func_801180E8 /* AF37C 80118C7C 0040182D */ daddu $v1, $v0, $zero /* AF380 80118C80 24420008 */ addiu $v0, $v0, 8 /* AF384 80118C84 AF020000 */ sw $v0, ($t8) -/* AF388 80118C88 3C02E600 */ lui $v0, %hi(D_E6000008) +/* AF388 80118C88 3C02E600 */ lui $v0, 0xe600 /* AF38C 80118C8C AC620000 */ sw $v0, ($v1) /* AF390 80118C90 AC600004 */ sw $zero, 4($v1) /* AF394 80118C94 8F020000 */ lw $v0, ($t8) /* AF398 80118C98 24030800 */ addiu $v1, $zero, 0x800 /* AF39C 80118C9C 0040302D */ daddu $a2, $v0, $zero -/* AF3A0 80118CA0 24420008 */ addiu $v0, $v0, %lo(D_E6000008) +/* AF3A0 80118CA0 24420008 */ addiu $v0, $v0, 8 /* AF3A4 80118CA4 AF020000 */ sw $v0, ($t8) /* AF3A8 80118CA8 3C02F300 */ lui $v0, 0xf300 /* AF3AC 80118CAC 18A00002 */ blez $a1, .L80118CB8 @@ -852,14 +852,14 @@ glabel func_801180E8 /* AF428 80118D28 0040182D */ daddu $v1, $v0, $zero /* AF42C 80118D2C 24420008 */ addiu $v0, $v0, 8 /* AF430 80118D30 AF020000 */ sw $v0, ($t8) -/* AF434 80118D34 3C02E700 */ lui $v0, %hi(D_E7000008) +/* AF434 80118D34 3C02E700 */ lui $v0, 0xe700 /* AF438 80118D38 AC620000 */ sw $v0, ($v1) /* AF43C 80118D3C AC600004 */ sw $zero, 4($v1) /* AF440 80118D40 8F020000 */ lw $v0, ($t8) /* AF444 80118D44 3C03F518 */ lui $v1, 0xf518 .L80118D48: /* AF448 80118D48 0040282D */ daddu $a1, $v0, $zero -/* AF44C 80118D4C 24420008 */ addiu $v0, $v0, %lo(D_E7000008) +/* AF44C 80118D4C 24420008 */ addiu $v0, $v0, 8 /* AF450 80118D50 AF020000 */ sw $v0, ($t8) /* AF454 80118D54 00191040 */ sll $v0, $t9, 1 .L80118D58: @@ -1023,13 +1023,13 @@ glabel func_801180E8 /* AF6A0 80118FA0 0040182D */ daddu $v1, $v0, $zero /* AF6A4 80118FA4 24420008 */ addiu $v0, $v0, 8 /* AF6A8 80118FA8 AF020000 */ sw $v0, ($t8) -/* AF6AC 80118FAC 3C02E600 */ lui $v0, %hi(D_E6000008) +/* AF6AC 80118FAC 3C02E600 */ lui $v0, 0xe600 /* AF6B0 80118FB0 AC620000 */ sw $v0, ($v1) /* AF6B4 80118FB4 AC600004 */ sw $zero, 4($v1) /* AF6B8 80118FB8 8F020000 */ lw $v0, ($t8) /* AF6BC 80118FBC 24C6FFFF */ addiu $a2, $a2, -1 /* AF6C0 80118FC0 0040382D */ daddu $a3, $v0, $zero -/* AF6C4 80118FC4 24420008 */ addiu $v0, $v0, %lo(D_E6000008) +/* AF6C4 80118FC4 24420008 */ addiu $v0, $v0, 8 /* AF6C8 80118FC8 AF020000 */ sw $v0, ($t8) /* AF6CC 80118FCC 3C02F400 */ lui $v0, 0xf400 /* AF6D0 80118FD0 ACE20000 */ sw $v0, ($a3) @@ -1236,14 +1236,14 @@ glabel func_801180E8 /* AF9C4 801192C4 0040182D */ daddu $v1, $v0, $zero /* AF9C8 801192C8 24420008 */ addiu $v0, $v0, 8 /* AF9CC 801192CC AF020000 */ sw $v0, ($t8) -/* AF9D0 801192D0 3C02F400 */ lui $v0, %hi(D_F4000008) +/* AF9D0 801192D0 3C02F400 */ lui $v0, 0xf400 /* AF9D4 801192D4 AC620000 */ sw $v0, ($v1) /* AF9D8 801192D8 00B71025 */ or $v0, $a1, $s7 /* AF9DC 801192DC 00E21025 */ or $v0, $a3, $v0 /* AF9E0 801192E0 AC620004 */ sw $v0, 4($v1) /* AF9E4 801192E4 8F020000 */ lw $v0, ($t8) /* AF9E8 801192E8 0040182D */ daddu $v1, $v0, $zero -/* AF9EC 801192EC 24420008 */ addiu $v0, $v0, %lo(D_F4000008) +/* AF9EC 801192EC 24420008 */ addiu $v0, $v0, 8 /* AF9F0 801192F0 AF020000 */ sw $v0, ($t8) /* AF9F4 801192F4 3C02E700 */ lui $v0, 0xe700 /* AF9F8 801192F8 AC620000 */ sw $v0, ($v1) @@ -1412,14 +1412,14 @@ glabel func_801180E8 /* AFC5C 8011955C 0040202D */ daddu $a0, $v0, $zero /* AFC60 80119560 24420008 */ addiu $v0, $v0, 8 /* AFC64 80119564 AF020000 */ sw $v0, ($t8) -/* AFC68 80119568 3C02F400 */ lui $v0, %hi(D_F4000008) +/* AFC68 80119568 3C02F400 */ lui $v0, 0xf400 /* AFC6C 8011956C AC820000 */ sw $v0, ($a0) /* AFC70 80119570 00B71025 */ or $v0, $a1, $s7 /* AFC74 80119574 00C21025 */ or $v0, $a2, $v0 /* AFC78 80119578 AC820004 */ sw $v0, 4($a0) /* AFC7C 8011957C 8F020000 */ lw $v0, ($t8) /* AFC80 80119580 0040202D */ daddu $a0, $v0, $zero -/* AFC84 80119584 24420008 */ addiu $v0, $v0, %lo(D_F4000008) +/* AFC84 80119584 24420008 */ addiu $v0, $v0, 8 /* AFC88 80119588 AF020000 */ sw $v0, ($t8) /* AFC8C 8011958C 3C02E700 */ lui $v0, %hi(D_E7000008) /* AFC90 80119590 AC820000 */ sw $v0, ($a0) @@ -1589,14 +1589,14 @@ glabel func_801180E8 /* AFEF8 801197F8 0040202D */ daddu $a0, $v0, $zero /* AFEFC 801197FC 24420008 */ addiu $v0, $v0, 8 /* AFF00 80119800 AF020000 */ sw $v0, ($t8) -/* AFF04 80119804 3C02F400 */ lui $v0, %hi(D_F4000008) +/* AFF04 80119804 3C02F400 */ lui $v0, 0xf400 /* AFF08 80119808 AC820000 */ sw $v0, ($a0) /* AFF0C 8011980C 00B71025 */ or $v0, $a1, $s7 /* AFF10 80119810 00C21025 */ or $v0, $a2, $v0 /* AFF14 80119814 AC820004 */ sw $v0, 4($a0) /* AFF18 80119818 8F020000 */ lw $v0, ($t8) /* AFF1C 8011981C 0040202D */ daddu $a0, $v0, $zero -/* AFF20 80119820 24420008 */ addiu $v0, $v0, %lo(D_F4000008) +/* AFF20 80119820 24420008 */ addiu $v0, $v0, 8 /* AFF24 80119824 AF020000 */ sw $v0, ($t8) /* AFF28 80119828 3C02E700 */ lui $v0, %hi(D_E7000008) /* AFF2C 8011982C AC820000 */ sw $v0, ($a0) @@ -1684,14 +1684,14 @@ glabel func_801180E8 /* B0060 80119960 0040202D */ daddu $a0, $v0, $zero /* B0064 80119964 24420008 */ addiu $v0, $v0, 8 /* B0068 80119968 AF020000 */ sw $v0, ($t8) -/* B006C 8011996C 3C02FD10 */ lui $v0, %hi(D_FD100008) +/* B006C 8011996C 3C02FD10 */ lui $v0, 0xfd10 /* B0070 80119970 00621025 */ or $v0, $v1, $v0 /* B0074 80119974 AC820000 */ sw $v0, ($a0) /* B0078 80119978 AC9E0004 */ sw $fp, 4($a0) /* B007C 8011997C 8F020000 */ lw $v0, ($t8) /* B0080 80119980 3C070700 */ lui $a3, 0x700 /* B0084 80119984 0040202D */ daddu $a0, $v0, $zero -/* B0088 80119988 24420008 */ addiu $v0, $v0, %lo(D_FD100008) +/* B0088 80119988 24420008 */ addiu $v0, $v0, 8 /* B008C 8011998C AF020000 */ sw $v0, ($t8) /* B0090 80119990 3C02F510 */ lui $v0, 0xf510 /* B0094 80119994 00621825 */ or $v1, $v1, $v0 @@ -1713,13 +1713,13 @@ glabel func_801180E8 /* B00D4 801199D4 0040182D */ daddu $v1, $v0, $zero /* B00D8 801199D8 24420008 */ addiu $v0, $v0, 8 /* B00DC 801199DC AF020000 */ sw $v0, ($t8) -/* B00E0 801199E0 3C02E600 */ lui $v0, %hi(D_E6000008) +/* B00E0 801199E0 3C02E600 */ lui $v0, 0xe600 /* B00E4 801199E4 AC620000 */ sw $v0, ($v1) /* B00E8 801199E8 AC600004 */ sw $zero, 4($v1) /* B00EC 801199EC 8F020000 */ lw $v0, ($t8) /* B00F0 801199F0 0320202D */ daddu $a0, $t9, $zero /* B00F4 801199F4 0040302D */ daddu $a2, $v0, $zero -/* B00F8 801199F8 24420008 */ addiu $v0, $v0, %lo(D_E6000008) +/* B00F8 801199F8 24420008 */ addiu $v0, $v0, 8 /* B00FC 801199FC AF020000 */ sw $v0, ($t8) /* B0100 80119A00 3C02F300 */ lui $v0, 0xf300 /* B0104 80119A04 07210002 */ bgez $t9, .L80119A10 @@ -1778,13 +1778,13 @@ glabel func_801180E8 /* B01BC 80119ABC 0040182D */ daddu $v1, $v0, $zero /* B01C0 80119AC0 24420008 */ addiu $v0, $v0, 8 /* B01C4 80119AC4 AF020000 */ sw $v0, ($t8) -/* B01C8 80119AC8 3C02E700 */ lui $v0, %hi(D_E7000008) +/* B01C8 80119AC8 3C02E700 */ lui $v0, 0xe700 /* B01CC 80119ACC AC620000 */ sw $v0, ($v1) /* B01D0 80119AD0 AC600004 */ sw $zero, 4($v1) /* B01D4 80119AD4 8F020000 */ lw $v0, ($t8) /* B01D8 80119AD8 3C03F500 */ lui $v1, 0xf500 /* B01DC 80119ADC 0040282D */ daddu $a1, $v0, $zero -/* B01E0 80119AE0 24420008 */ addiu $v0, $v0, %lo(D_E7000008) +/* B01E0 80119AE0 24420008 */ addiu $v0, $v0, 8 /* B01E4 80119AE4 AF020000 */ sw $v0, ($t8) /* B01E8 80119AE8 00191043 */ sra $v0, $t9, 1 /* B01EC 80119AEC 24420007 */ addiu $v0, $v0, 7 @@ -1830,14 +1830,14 @@ glabel func_801180E8 /* B0288 80119B88 0040202D */ daddu $a0, $v0, $zero /* B028C 80119B8C 24420008 */ addiu $v0, $v0, 8 /* B0290 80119B90 AF020000 */ sw $v0, ($t8) -/* B0294 80119B94 3C02FD10 */ lui $v0, %hi(D_FD100008) +/* B0294 80119B94 3C02FD10 */ lui $v0, 0xfd10 /* B0298 80119B98 00621025 */ or $v0, $v1, $v0 /* B029C 80119B9C AC820000 */ sw $v0, ($a0) /* B02A0 80119BA0 AC9E0004 */ sw $fp, 4($a0) /* B02A4 80119BA4 8F020000 */ lw $v0, ($t8) /* B02A8 80119BA8 3C070700 */ lui $a3, 0x700 /* B02AC 80119BAC 0040202D */ daddu $a0, $v0, $zero -/* B02B0 80119BB0 24420008 */ addiu $v0, $v0, %lo(D_FD100008) +/* B02B0 80119BB0 24420008 */ addiu $v0, $v0, 8 /* B02B4 80119BB4 AF020000 */ sw $v0, ($t8) /* B02B8 80119BB8 3C02F510 */ lui $v0, 0xf510 /* B02BC 80119BBC 00621825 */ or $v1, $v1, $v0 @@ -1859,13 +1859,13 @@ glabel func_801180E8 /* B02FC 80119BFC 0040182D */ daddu $v1, $v0, $zero /* B0300 80119C00 24420008 */ addiu $v0, $v0, 8 /* B0304 80119C04 AF020000 */ sw $v0, ($t8) -/* B0308 80119C08 3C02E600 */ lui $v0, %hi(D_E6000008) +/* B0308 80119C08 3C02E600 */ lui $v0, 0xe600 /* B030C 80119C0C AC620000 */ sw $v0, ($v1) /* B0310 80119C10 AC600004 */ sw $zero, 4($v1) /* B0314 80119C14 8F020000 */ lw $v0, ($t8) /* B0318 80119C18 0320202D */ daddu $a0, $t9, $zero /* B031C 80119C1C 0040302D */ daddu $a2, $v0, $zero -/* B0320 80119C20 24420008 */ addiu $v0, $v0, %lo(D_E6000008) +/* B0320 80119C20 24420008 */ addiu $v0, $v0, 8 /* B0324 80119C24 AF020000 */ sw $v0, ($t8) /* B0328 80119C28 3C02F300 */ lui $v0, 0xf300 /* B032C 80119C2C 07210002 */ bgez $t9, .L80119C38 @@ -1924,13 +1924,13 @@ glabel func_801180E8 /* B03E4 80119CE4 0040182D */ daddu $v1, $v0, $zero /* B03E8 80119CE8 24420008 */ addiu $v0, $v0, 8 /* B03EC 80119CEC AF020000 */ sw $v0, ($t8) -/* B03F0 80119CF0 3C02E700 */ lui $v0, %hi(D_E7000008) +/* B03F0 80119CF0 3C02E700 */ lui $v0, 0xe700 /* B03F4 80119CF4 AC620000 */ sw $v0, ($v1) /* B03F8 80119CF8 AC600004 */ sw $zero, 4($v1) /* B03FC 80119CFC 8F020000 */ lw $v0, ($t8) /* B0400 80119D00 3C03F508 */ lui $v1, 0xf508 /* B0404 80119D04 0040282D */ daddu $a1, $v0, $zero -/* B0408 80119D08 24420008 */ addiu $v0, $v0, %lo(D_E7000008) +/* B0408 80119D08 24420008 */ addiu $v0, $v0, 8 /* B040C 80119D0C AF020000 */ sw $v0, ($t8) /* B0410 80119D10 27220007 */ addiu $v0, $t9, 7 /* B0414 80119D14 000210C3 */ sra $v0, $v0, 3 @@ -1975,14 +1975,14 @@ glabel func_801180E8 /* B04AC 80119DAC 0040202D */ daddu $a0, $v0, $zero /* B04B0 80119DB0 24420008 */ addiu $v0, $v0, 8 /* B04B4 80119DB4 AF020000 */ sw $v0, ($t8) -/* B04B8 80119DB8 3C02FD10 */ lui $v0, %hi(D_FD100008) +/* B04B8 80119DB8 3C02FD10 */ lui $v0, 0xfd10 /* B04BC 80119DBC 00621025 */ or $v0, $v1, $v0 /* B04C0 80119DC0 AC820000 */ sw $v0, ($a0) /* B04C4 80119DC4 AC9E0004 */ sw $fp, 4($a0) /* B04C8 80119DC8 8F020000 */ lw $v0, ($t8) /* B04CC 80119DCC 3C070700 */ lui $a3, 0x700 /* B04D0 80119DD0 0040202D */ daddu $a0, $v0, $zero -/* B04D4 80119DD4 24420008 */ addiu $v0, $v0, %lo(D_FD100008) +/* B04D4 80119DD4 24420008 */ addiu $v0, $v0, 8 /* B04D8 80119DD8 AF020000 */ sw $v0, ($t8) /* B04DC 80119DDC 3C02F510 */ lui $v0, 0xf510 /* B04E0 80119DE0 00621825 */ or $v1, $v1, $v0 @@ -2004,13 +2004,13 @@ glabel func_801180E8 /* B0520 80119E20 0040182D */ daddu $v1, $v0, $zero /* B0524 80119E24 24420008 */ addiu $v0, $v0, 8 /* B0528 80119E28 AF020000 */ sw $v0, ($t8) -/* B052C 80119E2C 3C02E600 */ lui $v0, %hi(D_E6000008) +/* B052C 80119E2C 3C02E600 */ lui $v0, 0xe600 /* B0530 80119E30 AC620000 */ sw $v0, ($v1) /* B0534 80119E34 AC600004 */ sw $zero, 4($v1) /* B0538 80119E38 8F020000 */ lw $v0, ($t8) /* B053C 80119E3C 0320202D */ daddu $a0, $t9, $zero /* B0540 80119E40 0040302D */ daddu $a2, $v0, $zero -/* B0544 80119E44 24420008 */ addiu $v0, $v0, %lo(D_E6000008) +/* B0544 80119E44 24420008 */ addiu $v0, $v0, 8 /* B0548 80119E48 AF020000 */ sw $v0, ($t8) /* B054C 80119E4C 3C02F300 */ lui $v0, 0xf300 /* B0550 80119E50 07210002 */ bgez $t9, .L80119E5C @@ -2080,14 +2080,14 @@ glabel func_801180E8 /* B0630 80119F30 0040202D */ daddu $a0, $v0, $zero /* B0634 80119F34 24420008 */ addiu $v0, $v0, 8 /* B0638 80119F38 AF020000 */ sw $v0, ($t8) -/* B063C 80119F3C 3C02FD18 */ lui $v0, %hi(D_FD180008) +/* B063C 80119F3C 3C02FD18 */ lui $v0, 0xfd18 /* B0640 80119F40 00621025 */ or $v0, $v1, $v0 /* B0644 80119F44 AC820000 */ sw $v0, ($a0) /* B0648 80119F48 AC9E0004 */ sw $fp, 4($a0) /* B064C 80119F4C 8F020000 */ lw $v0, ($t8) /* B0650 80119F50 3C070700 */ lui $a3, 0x700 /* B0654 80119F54 0040202D */ daddu $a0, $v0, $zero -/* B0658 80119F58 24420008 */ addiu $v0, $v0, %lo(D_FD180008) +/* B0658 80119F58 24420008 */ addiu $v0, $v0, 8 /* B065C 80119F5C AF020000 */ sw $v0, ($t8) /* B0660 80119F60 3C02F518 */ lui $v0, 0xf518 /* B0664 80119F64 00621825 */ or $v1, $v1, $v0 @@ -2110,13 +2110,13 @@ glabel func_801180E8 /* B06A8 80119FA8 0040182D */ daddu $v1, $v0, $zero /* B06AC 80119FAC 24420008 */ addiu $v0, $v0, 8 /* B06B0 80119FB0 AF020000 */ sw $v0, ($t8) -/* B06B4 80119FB4 3C02E600 */ lui $v0, %hi(D_E6000008) +/* B06B4 80119FB4 3C02E600 */ lui $v0, 0xe600 /* B06B8 80119FB8 AC620000 */ sw $v0, ($v1) /* B06BC 80119FBC AC600004 */ sw $zero, 4($v1) /* B06C0 80119FC0 8F020000 */ lw $v0, ($t8) /* B06C4 80119FC4 24030800 */ addiu $v1, $zero, 0x800 /* B06C8 80119FC8 0040302D */ daddu $a2, $v0, $zero -/* B06CC 80119FCC 24420008 */ addiu $v0, $v0, %lo(D_E6000008) +/* B06CC 80119FCC 24420008 */ addiu $v0, $v0, 8 /* B06D0 80119FD0 AF020000 */ sw $v0, ($t8) /* B06D4 80119FD4 3C02F300 */ lui $v0, 0xf300 /* B06D8 80119FD8 18A00002 */ blez $a1, .L80119FE4 @@ -2168,14 +2168,14 @@ glabel func_801180E8 /* B0778 8011A078 0040182D */ daddu $v1, $v0, $zero /* B077C 8011A07C 24420008 */ addiu $v0, $v0, 8 /* B0780 8011A080 AF020000 */ sw $v0, ($t8) -/* B0784 8011A084 3C02E700 */ lui $v0, %hi(D_E7000008) +/* B0784 8011A084 3C02E700 */ lui $v0, 0xe700 /* B0788 8011A088 AC620000 */ sw $v0, ($v1) /* B078C 8011A08C AC600004 */ sw $zero, 4($v1) /* B0790 8011A090 8F020000 */ lw $v0, ($t8) /* B0794 8011A094 3C03F518 */ lui $v1, 0xf518 .L8011A098: /* B0798 8011A098 0040282D */ daddu $a1, $v0, $zero -/* B079C 8011A09C 24420008 */ addiu $v0, $v0, %lo(D_E7000008) +/* B079C 8011A09C 24420008 */ addiu $v0, $v0, 8 /* B07A0 8011A0A0 AF020000 */ sw $v0, ($t8) /* B07A4 8011A0A4 00191040 */ sll $v0, $t9, 1 /* B07A8 8011A0A8 24420007 */ addiu $v0, $v0, 7 @@ -2332,14 +2332,14 @@ glabel func_801180E8 /* B09F0 8011A2F0 0040202D */ daddu $a0, $v0, $zero /* B09F4 8011A2F4 24420008 */ addiu $v0, $v0, 8 /* B09F8 8011A2F8 AF020000 */ sw $v0, ($t8) -/* B09FC 8011A2FC 3C02E600 */ lui $v0, %hi(D_E6000008) +/* B09FC 8011A2FC 3C02E600 */ lui $v0, 0xe600 /* B0A00 8011A300 AC820000 */ sw $v0, ($a0) /* B0A04 8011A304 AC800004 */ sw $zero, 4($a0) /* B0A08 8011A308 2724FFFF */ addiu $a0, $t9, -1 /* B0A0C 8011A30C 8F020000 */ lw $v0, ($t8) /* B0A10 8011A310 00008012 */ mflo $s0 /* B0A14 8011A314 0040502D */ daddu $t2, $v0, $zero -/* B0A18 8011A318 24420008 */ addiu $v0, $v0, %lo(D_E6000008) +/* B0A18 8011A318 24420008 */ addiu $v0, $v0, 8 /* B0A1C 8011A31C AF020000 */ sw $v0, ($t8) /* B0A20 8011A320 3C02F400 */ lui $v0, 0xf400 /* B0A24 8011A324 AD420000 */ sw $v0, ($t2) @@ -2355,13 +2355,13 @@ glabel func_801180E8 /* B0A4C 8011A34C 0040302D */ daddu $a2, $v0, $zero /* B0A50 8011A350 24420008 */ addiu $v0, $v0, 8 /* B0A54 8011A354 AF020000 */ sw $v0, ($t8) -/* B0A58 8011A358 3C02E700 */ lui $v0, %hi(D_E7000008) +/* B0A58 8011A358 3C02E700 */ lui $v0, 0xe700 /* B0A5C 8011A35C ACC20000 */ sw $v0, ($a2) /* B0A60 8011A360 ACC00004 */ sw $zero, 4($a2) /* B0A64 8011A364 8F020000 */ lw $v0, ($t8) /* B0A68 8011A368 00872025 */ or $a0, $a0, $a3 /* B0A6C 8011A36C 0040302D */ daddu $a2, $v0, $zero -/* B0A70 8011A370 24420008 */ addiu $v0, $v0, %lo(D_E7000008) +/* B0A70 8011A370 24420008 */ addiu $v0, $v0, 8 /* B0A74 8011A374 AF020000 */ sw $v0, ($t8) /* B0A78 8011A378 3C02F500 */ lui $v0, %hi(D_F5000007) /* B0A7C 8011A37C 00A22825 */ or $a1, $a1, $v0 @@ -2434,29 +2434,29 @@ glabel func_801180E8 /* B0B84 8011A484 0040202D */ daddu $a0, $v0, $zero /* B0B88 8011A488 24420008 */ addiu $v0, $v0, 8 /* B0B8C 8011A48C AF020000 */ sw $v0, ($t8) -/* B0B90 8011A490 3C02E600 */ lui $v0, %hi(D_E6000008) +/* B0B90 8011A490 3C02E600 */ lui $v0, 0xe600 /* B0B94 8011A494 AC820000 */ sw $v0, ($a0) /* B0B98 8011A498 AC800004 */ sw $zero, 4($a0) /* B0B9C 8011A49C 8F020000 */ lw $v0, ($t8) /* B0BA0 8011A4A0 006A1825 */ or $v1, $v1, $t2 /* B0BA4 8011A4A4 0040202D */ daddu $a0, $v0, $zero -/* B0BA8 8011A4A8 24420008 */ addiu $v0, $v0, %lo(D_E6000008) +/* B0BA8 8011A4A8 24420008 */ addiu $v0, $v0, 8 /* B0BAC 8011A4AC AF020000 */ sw $v0, ($t8) -/* B0BB0 8011A4B0 3C02F400 */ lui $v0, %hi(D_F4000008) +/* B0BB0 8011A4B0 3C02F400 */ lui $v0, 0xf400 /* B0BB4 8011A4B4 AC820000 */ sw $v0, ($a0) /* B0BB8 8011A4B8 AC850004 */ sw $a1, 4($a0) /* B0BBC 8011A4BC 8F020000 */ lw $v0, ($t8) /* B0BC0 8011A4C0 00C73025 */ or $a2, $a2, $a3 /* B0BC4 8011A4C4 0040202D */ daddu $a0, $v0, $zero -/* B0BC8 8011A4C8 24420008 */ addiu $v0, $v0, %lo(D_F4000008) +/* B0BC8 8011A4C8 24420008 */ addiu $v0, $v0, 8 /* B0BCC 8011A4CC AF020000 */ sw $v0, ($t8) -/* B0BD0 8011A4D0 3C02E700 */ lui $v0, %hi(D_E7000008) +/* B0BD0 8011A4D0 3C02E700 */ lui $v0, 0xe700 /* B0BD4 8011A4D4 AC820000 */ sw $v0, ($a0) /* B0BD8 8011A4D8 AC800004 */ sw $zero, 4($a0) /* B0BDC 8011A4DC 8F020000 */ lw $v0, ($t8) /* B0BE0 8011A4E0 00008012 */ mflo $s0 /* B0BE4 8011A4E4 0040202D */ daddu $a0, $v0, $zero -/* B0BE8 8011A4E8 24420008 */ addiu $v0, $v0, %lo(D_E7000008) +/* B0BE8 8011A4E8 24420008 */ addiu $v0, $v0, 8 /* B0BEC 8011A4EC AF020000 */ sw $v0, ($t8) /* B0BF0 8011A4F0 AC830004 */ sw $v1, 4($a0) /* B0BF4 8011A4F4 26030007 */ addiu $v1, $s0, 7 @@ -2523,29 +2523,29 @@ glabel func_801180E8 /* B0CE4 8011A5E4 0040202D */ daddu $a0, $v0, $zero /* B0CE8 8011A5E8 24420008 */ addiu $v0, $v0, 8 /* B0CEC 8011A5EC AF020000 */ sw $v0, ($t8) -/* B0CF0 8011A5F0 3C02E600 */ lui $v0, %hi(D_E6000008) +/* B0CF0 8011A5F0 3C02E600 */ lui $v0, 0xe600 /* B0CF4 8011A5F4 AC820000 */ sw $v0, ($a0) /* B0CF8 8011A5F8 AC800004 */ sw $zero, 4($a0) /* B0CFC 8011A5FC 8F020000 */ lw $v0, ($t8) /* B0D00 8011A600 006A1825 */ or $v1, $v1, $t2 /* B0D04 8011A604 0040202D */ daddu $a0, $v0, $zero -/* B0D08 8011A608 24420008 */ addiu $v0, $v0, %lo(D_E6000008) +/* B0D08 8011A608 24420008 */ addiu $v0, $v0, 8 /* B0D0C 8011A60C AF020000 */ sw $v0, ($t8) -/* B0D10 8011A610 3C02F400 */ lui $v0, %hi(D_F4000008) +/* B0D10 8011A610 3C02F400 */ lui $v0, 0xf400 /* B0D14 8011A614 AC820000 */ sw $v0, ($a0) /* B0D18 8011A618 AC850004 */ sw $a1, 4($a0) /* B0D1C 8011A61C 8F020000 */ lw $v0, ($t8) /* B0D20 8011A620 00C73025 */ or $a2, $a2, $a3 /* B0D24 8011A624 0040202D */ daddu $a0, $v0, $zero -/* B0D28 8011A628 24420008 */ addiu $v0, $v0, %lo(D_F4000008) +/* B0D28 8011A628 24420008 */ addiu $v0, $v0, 8 /* B0D2C 8011A62C AF020000 */ sw $v0, ($t8) -/* B0D30 8011A630 3C02E700 */ lui $v0, %hi(D_E7000008) +/* B0D30 8011A630 3C02E700 */ lui $v0, 0xe700 /* B0D34 8011A634 AC820000 */ sw $v0, ($a0) /* B0D38 8011A638 AC800004 */ sw $zero, 4($a0) /* B0D3C 8011A63C 8F020000 */ lw $v0, ($t8) /* B0D40 8011A640 00008012 */ mflo $s0 /* B0D44 8011A644 0040202D */ daddu $a0, $v0, $zero -/* B0D48 8011A648 24420008 */ addiu $v0, $v0, %lo(D_E7000008) +/* B0D48 8011A648 24420008 */ addiu $v0, $v0, 8 /* B0D4C 8011A64C AF020000 */ sw $v0, ($t8) /* B0D50 8011A650 00101040 */ sll $v0, $s0, 1 /* B0D54 8011A654 24420007 */ addiu $v0, $v0, 7 @@ -2613,29 +2613,29 @@ glabel func_801180E8 /* B0E48 8011A748 0040202D */ daddu $a0, $v0, $zero /* B0E4C 8011A74C 24420008 */ addiu $v0, $v0, 8 /* B0E50 8011A750 AF020000 */ sw $v0, ($t8) -/* B0E54 8011A754 3C02E600 */ lui $v0, %hi(D_E6000008) +/* B0E54 8011A754 3C02E600 */ lui $v0, 0xe600 /* B0E58 8011A758 AC820000 */ sw $v0, ($a0) /* B0E5C 8011A75C AC800004 */ sw $zero, 4($a0) /* B0E60 8011A760 8F020000 */ lw $v0, ($t8) /* B0E64 8011A764 00691825 */ or $v1, $v1, $t1 /* B0E68 8011A768 0040202D */ daddu $a0, $v0, $zero -/* B0E6C 8011A76C 24420008 */ addiu $v0, $v0, %lo(D_E6000008) +/* B0E6C 8011A76C 24420008 */ addiu $v0, $v0, 8 /* B0E70 8011A770 AF020000 */ sw $v0, ($t8) -/* B0E74 8011A774 3C02F400 */ lui $v0, %hi(D_F4000008) +/* B0E74 8011A774 3C02F400 */ lui $v0, 0xf400 /* B0E78 8011A778 AC820000 */ sw $v0, ($a0) /* B0E7C 8011A77C AC850004 */ sw $a1, 4($a0) /* B0E80 8011A780 8F020000 */ lw $v0, ($t8) /* B0E84 8011A784 006A1825 */ or $v1, $v1, $t2 /* B0E88 8011A788 0040202D */ daddu $a0, $v0, $zero -/* B0E8C 8011A78C 24420008 */ addiu $v0, $v0, %lo(D_F4000008) +/* B0E8C 8011A78C 24420008 */ addiu $v0, $v0, 8 /* B0E90 8011A790 AF020000 */ sw $v0, ($t8) -/* B0E94 8011A794 3C02E700 */ lui $v0, %hi(D_E7000008) +/* B0E94 8011A794 3C02E700 */ lui $v0, 0xe700 /* B0E98 8011A798 AC820000 */ sw $v0, ($a0) /* B0E9C 8011A79C AC800004 */ sw $zero, 4($a0) /* B0EA0 8011A7A0 8F020000 */ lw $v0, ($t8) /* B0EA4 8011A7A4 00C73025 */ or $a2, $a2, $a3 /* B0EA8 8011A7A8 0040202D */ daddu $a0, $v0, $zero -/* B0EAC 8011A7AC 24420008 */ addiu $v0, $v0, %lo(D_E7000008) +/* B0EAC 8011A7AC 24420008 */ addiu $v0, $v0, 8 /* B0EB0 8011A7B0 AF020000 */ sw $v0, ($t8) /* B0EB4 8011A7B4 00001012 */ mflo $v0 /* B0EB8 8011A7B8 AC830004 */ sw $v1, 4($a0) @@ -2757,13 +2757,13 @@ glabel func_801180E8 /* B1078 8011A978 0040182D */ daddu $v1, $v0, $zero /* B107C 8011A97C 24420008 */ addiu $v0, $v0, 8 /* B1080 8011A980 AF020000 */ sw $v0, ($t8) -/* B1084 8011A984 3C02E700 */ lui $v0, %hi(D_E7000008) +/* B1084 8011A984 3C02E700 */ lui $v0, 0xe700 /* B1088 8011A988 AC620000 */ sw $v0, ($v1) /* B108C 8011A98C AC600004 */ sw $zero, 4($v1) /* B1090 8011A990 8F020000 */ lw $v0, ($t8) /* B1094 8011A994 010C4025 */ or $t0, $t0, $t4 /* B1098 8011A998 0040182D */ daddu $v1, $v0, $zero -/* B109C 8011A99C 24420008 */ addiu $v0, $v0, %lo(D_E7000008) +/* B109C 8011A99C 24420008 */ addiu $v0, $v0, 8 /* B10A0 8011A9A0 AF020000 */ sw $v0, ($t8) /* B10A4 8011A9A4 3C02F500 */ lui $v0, 0xf500 /* B10A8 8011A9A8 00822025 */ or $a0, $a0, $v0 @@ -2908,13 +2908,13 @@ glabel func_801180E8 /* B12C0 8011ABC0 0040182D */ daddu $v1, $v0, $zero /* B12C4 8011ABC4 24420008 */ addiu $v0, $v0, 8 /* B12C8 8011ABC8 AF020000 */ sw $v0, ($t8) -/* B12CC 8011ABCC 3C02E600 */ lui $v0, %hi(D_E6000008) +/* B12CC 8011ABCC 3C02E600 */ lui $v0, 0xe600 /* B12D0 8011ABD0 AC620000 */ sw $v0, ($v1) /* B12D4 8011ABD4 AC600004 */ sw $zero, 4($v1) /* B12D8 8011ABD8 8F020000 */ lw $v0, ($t8) /* B12DC 8011ABDC 30C30FFF */ andi $v1, $a2, 0xfff /* B12E0 8011ABE0 0040402D */ daddu $t0, $v0, $zero -/* B12E4 8011ABE4 24420008 */ addiu $v0, $v0, %lo(D_E6000008) +/* B12E4 8011ABE4 24420008 */ addiu $v0, $v0, 8 /* B12E8 8011ABE8 AF020000 */ sw $v0, ($t8) /* B12EC 8011ABEC 3C02F400 */ lui $v0, 0xf400 /* B12F0 8011ABF0 AD020000 */ sw $v0, ($t0) @@ -2930,13 +2930,13 @@ glabel func_801180E8 /* B1318 8011AC18 0040182D */ daddu $v1, $v0, $zero /* B131C 8011AC1C 24420008 */ addiu $v0, $v0, 8 /* B1320 8011AC20 AF020000 */ sw $v0, ($t8) -/* B1324 8011AC24 3C02E700 */ lui $v0, %hi(D_E7000008) +/* B1324 8011AC24 3C02E700 */ lui $v0, 0xe700 /* B1328 8011AC28 AC620000 */ sw $v0, ($v1) /* B132C 8011AC2C AC600004 */ sw $zero, 4($v1) /* B1330 8011AC30 8F020000 */ lw $v0, ($t8) /* B1334 8011AC34 3C0B0100 */ lui $t3, 0x100 /* B1338 8011AC38 0040182D */ daddu $v1, $v0, $zero -/* B133C 8011AC3C 24420008 */ addiu $v0, $v0, %lo(D_E7000008) +/* B133C 8011AC3C 24420008 */ addiu $v0, $v0, 8 /* B1340 8011AC40 AF020000 */ sw $v0, ($t8) /* B1344 8011AC44 AC640000 */ sw $a0, ($v1) /* B1348 8011AC48 8FB50030 */ lw $s5, 0x30($sp) diff --git a/asm/nonmatchings/code_b72b0_len_15ed0/func_80121184.s b/asm/nonmatchings/code_b72b0_len_15ed0/func_80121184.s index 339f9f8685..be22b8f2c0 100644 --- a/asm/nonmatchings/code_b72b0_len_15ed0/func_80121184.s +++ b/asm/nonmatchings/code_b72b0_len_15ed0/func_80121184.s @@ -668,14 +668,14 @@ glabel func_80121184 /* B8298 80121B98 AD850010 */ sw $a1, 0x10($t4) /* B829C 80121B9C AD840014 */ sw $a0, 0x14($t4) /* B82A0 80121BA0 ADA20000 */ sw $v0, ($t5) -/* B82A4 80121BA4 3C02DB02 */ lui $v0, %hi(D_DB01C270) +/* B82A4 80121BA4 3C02DB02 */ lui $v0, 0xdb02 /* B82A8 80121BA8 AD820018 */ sw $v0, 0x18($t4) /* B82AC 80121BAC 24020018 */ addiu $v0, $zero, 0x18 /* B82B0 80121BB0 AD82001C */ sw $v0, 0x1c($t4) /* B82B4 80121BB4 25820028 */ addiu $v0, $t4, 0x28 /* B82B8 80121BB8 ADA20000 */ sw $v0, ($t5) /* B82BC 80121BBC 3C028015 */ lui $v0, %hi(D_8014C270) -/* B82C0 80121BC0 2442C270 */ addiu $v0, $v0, %lo(D_DB01C270) +/* B82C0 80121BC0 2442C270 */ addiu $v0, $v0, %lo(D_8014C270) /* B82C4 80121BC4 AD820024 */ sw $v0, 0x24($t4) /* B82C8 80121BC8 2442FFF8 */ addiu $v0, $v0, -8 /* B82CC 80121BCC AD82002C */ sw $v0, 0x2c($t4) diff --git a/asm/nonmatchings/code_b72b0_len_15ed0/func_80122288.s b/asm/nonmatchings/code_b72b0_len_15ed0/func_80122288.s index 2b41f3c5f4..61c1a0797a 100644 --- a/asm/nonmatchings/code_b72b0_len_15ed0/func_80122288.s +++ b/asm/nonmatchings/code_b72b0_len_15ed0/func_80122288.s @@ -640,14 +640,14 @@ glabel func_80122288 /* B932C 80122C2C AD850010 */ sw $a1, 0x10($t4) /* B9330 80122C30 AD840014 */ sw $a0, 0x14($t4) /* B9334 80122C34 ADA20000 */ sw $v0, ($t5) -/* B9338 80122C38 3C02DB02 */ lui $v0, %hi(D_DB01C270) +/* B9338 80122C38 3C02DB02 */ lui $v0, 0xdb02 /* B933C 80122C3C AD820018 */ sw $v0, 0x18($t4) /* B9340 80122C40 24020018 */ addiu $v0, $zero, 0x18 /* B9344 80122C44 AD82001C */ sw $v0, 0x1c($t4) /* B9348 80122C48 25820028 */ addiu $v0, $t4, 0x28 /* B934C 80122C4C ADA20000 */ sw $v0, ($t5) /* B9350 80122C50 3C028015 */ lui $v0, %hi(D_8014C270) -/* B9354 80122C54 2442C270 */ addiu $v0, $v0, %lo(D_DB01C270) +/* B9354 80122C54 2442C270 */ addiu $v0, $v0, %lo(D_8014C270) /* B9358 80122C58 AD820024 */ sw $v0, 0x24($t4) /* B935C 80122C5C 2442FFF8 */ addiu $v0, $v0, -8 /* B9360 80122C60 AD82002C */ sw $v0, 0x2c($t4) diff --git a/asm/nonmatchings/code_b72b0_len_15ed0/func_80126790.s b/asm/nonmatchings/code_b72b0_len_15ed0/func_80126790.s index 833763d078..565441a2e2 100644 --- a/asm/nonmatchings/code_b72b0_len_15ed0/func_80126790.s +++ b/asm/nonmatchings/code_b72b0_len_15ed0/func_80126790.s @@ -377,13 +377,13 @@ glabel func_80126790 /* BD42C 80126D2C 8E240000 */ lw $a0, ($s1) /* BD430 80126D30 00721821 */ addu $v1, $v1, $s2 /* BD434 80126D34 00832021 */ addu $a0, $a0, $v1 -/* BD438 80126D38 3C038000 */ lui $v1, %hi(D_7FFFD690) +/* BD438 80126D38 3C038000 */ lui $v1, 0x8000 /* BD43C 80126D3C 00832021 */ addu $a0, $a0, $v1 /* BD440 80126D40 24430008 */ addiu $v1, $v0, 8 /* BD444 80126D44 ACC40004 */ sw $a0, 4($a2) /* BD448 80126D48 ACA30000 */ sw $v1, ($a1) /* BD44C 80126D4C 3C03802F */ lui $v1, %hi(D_802ED690) -/* BD450 80126D50 2463D690 */ addiu $v1, $v1, %lo(D_7FFFD690) +/* BD450 80126D50 2463D690 */ addiu $v1, $v1, %lo(D_802ED690) /* BD454 80126D54 AC430004 */ sw $v1, 4($v0) /* BD458 80126D58 24430010 */ addiu $v1, $v0, 0x10 /* BD45C 80126D5C AC470000 */ sw $a3, ($v0) diff --git a/asm/nonmatchings/code_b72b0_len_15ed0/func_80127D90.s b/asm/nonmatchings/code_b72b0_len_15ed0/func_80127D90.s index 75b9331d35..c7e218614a 100644 --- a/asm/nonmatchings/code_b72b0_len_15ed0/func_80127D90.s +++ b/asm/nonmatchings/code_b72b0_len_15ed0/func_80127D90.s @@ -2790,14 +2790,14 @@ glabel func_80127D90 /* C0ECC 8012A7CC 00A0382D */ daddu $a3, $a1, $zero /* C0ED0 8012A7D0 00431025 */ or $v0, $v0, $v1 /* C0ED4 8012A7D4 ACC20038 */ sw $v0, 0x38($a2) -/* C0ED8 8012A7D8 3C02FB00 */ lui $v0, %hi(D_FB000002) +/* C0ED8 8012A7D8 3C02FB00 */ lui $v0, 0xfb00 /* C0EDC 8012A7DC ACE20000 */ sw $v0, ($a3) /* C0EE0 8012A7E0 8CC20020 */ lw $v0, 0x20($a2) /* C0EE4 8012A7E4 8CC3004C */ lw $v1, 0x4c($a2) /* C0EE8 8012A7E8 24A50008 */ addiu $a1, $a1, 8 /* C0EEC 8012A7EC AEE50000 */ sw $a1, ($s7) /* C0EF0 8012A7F0 00431021 */ addu $v0, $v0, $v1 -/* C0EF4 8012A7F4 90440002 */ lbu $a0, %lo(D_FB000002)($v0) +/* C0EF4 8012A7F4 90440002 */ lbu $a0, 2($v0) /* C0EF8 8012A7F8 3508F279 */ ori $t0, $t0, 0xf279 /* C0EFC 8012A7FC 00041E00 */ sll $v1, $a0, 0x18 /* C0F00 8012A800 00041400 */ sll $v0, $a0, 0x10 diff --git a/asm/nonmatchings/code_b72b0_len_15ed0/func_8012DB58.s b/asm/nonmatchings/code_b72b0_len_15ed0/func_8012DB58.s index b4e04045ce..882ab9ff4f 100644 --- a/asm/nonmatchings/code_b72b0_len_15ed0/func_8012DB58.s +++ b/asm/nonmatchings/code_b72b0_len_15ed0/func_8012DB58.s @@ -249,13 +249,13 @@ glabel func_8012DB58 /* C45F0 8012DEF0 254AA66C */ addiu $t2, $t2, %lo(D_8009A66C) /* C45F4 8012DEF4 3508C0FC */ ori $t0, $t0, 0xc0fc /* C45F8 8012DEF8 8D490000 */ lw $t1, ($t2) -/* C45FC 8012DEFC 3C02FD90 */ lui $v0, %hi(D_FD8FCD50) +/* C45FC 8012DEFC 3C02FD90 */ lui $v0, 0xfd90 /* C4600 8012DF00 0120182D */ daddu $v1, $t1, $zero /* C4604 8012DF04 25290008 */ addiu $t1, $t1, 8 /* C4608 8012DF08 AD490000 */ sw $t1, ($t2) /* C460C 8012DF0C AC620000 */ sw $v0, ($v1) /* C4610 8012DF10 3C02802F */ lui $v0, %hi(D_802ECD50) -/* C4614 8012DF14 2442CD50 */ addiu $v0, $v0, %lo(D_FD8FCD50) +/* C4614 8012DF14 2442CD50 */ addiu $v0, $v0, %lo(D_802ECD50) /* C4618 8012DF18 AC620004 */ sw $v0, 4($v1) /* C461C 8012DF1C 25220008 */ addiu $v0, $t1, 8 /* C4620 8012DF20 AD420000 */ sw $v0, ($t2) diff --git a/asm/nonmatchings/code_b72b0_len_15ed0/func_8012E9A0.s b/asm/nonmatchings/code_b72b0_len_15ed0/func_8012E9A0.s index 1a8c024bf1..cfd8617f7e 100644 --- a/asm/nonmatchings/code_b72b0_len_15ed0/func_8012E9A0.s +++ b/asm/nonmatchings/code_b72b0_len_15ed0/func_8012E9A0.s @@ -97,14 +97,14 @@ glabel func_8012E9A0 .L8012EB08: /* C5208 8012EB08 24020002 */ addiu $v0, $zero, 2 /* C520C 8012EB0C 16020034 */ bne $s0, $v0, .L8012EBE0 -/* C5210 8012EB10 3C05E300 */ lui $a1, %hi(D_E3000008) +/* C5210 8012EB10 3C05E300 */ lui $a1, 0xe300 /* C5214 8012EB14 3C02E300 */ lui $v0, 0xe300 /* C5218 8012EB18 3C06800A */ lui $a2, %hi(D_8009A66C) /* C521C 8012EB1C 24C6A66C */ addiu $a2, $a2, %lo(D_8009A66C) /* C5220 8012EB20 8CC50000 */ lw $a1, ($a2) /* C5224 8012EB24 34421001 */ ori $v0, $v0, 0x1001 /* C5228 8012EB28 00A0182D */ daddu $v1, $a1, $zero -/* C522C 8012EB2C 24A50008 */ addiu $a1, $a1, %lo(D_E3000008) +/* C522C 8012EB2C 24A50008 */ addiu $a1, $a1, 8 /* C5230 8012EB30 ACC50000 */ sw $a1, ($a2) /* C5234 8012EB34 AC620000 */ sw $v0, ($v1) /* C5238 8012EB38 34028000 */ ori $v0, $zero, 0x8000 diff --git a/asm/nonmatchings/code_b72b0_len_15ed0/func_8012EC94.s b/asm/nonmatchings/code_b72b0_len_15ed0/func_8012EC94.s index fbf308f449..1ef48de5d4 100644 --- a/asm/nonmatchings/code_b72b0_len_15ed0/func_8012EC94.s +++ b/asm/nonmatchings/code_b72b0_len_15ed0/func_8012EC94.s @@ -530,14 +530,14 @@ glabel func_8012EC94 /* C5B78 8012F478 00151140 */ sll $v0, $s5, 5 /* C5B7C 8012F47C 3042FFE0 */ andi $v0, $v0, 0xffe0 /* C5B80 8012F480 00621825 */ or $v1, $v1, $v0 -/* C5B84 8012F484 3C02F100 */ lui $v0, %hi(D_F1000040) +/* C5B84 8012F484 3C02F100 */ lui $v0, 0xf100 /* C5B88 8012F488 ACA20008 */ sw $v0, 8($a1) /* C5B8C 8012F48C 31A200FF */ andi $v0, $t5, 0xff /* C5B90 8012F490 14400007 */ bnez $v0, .L8012F4B0 /* C5B94 8012F494 ACA30004 */ sw $v1, 4($a1) /* C5B98 8012F498 97A20000 */ lhu $v0, ($sp) /* C5B9C 8012F49C 97A3000C */ lhu $v1, 0xc($sp) -/* C5BA0 8012F4A0 24420040 */ addiu $v0, $v0, %lo(D_F1000040) +/* C5BA0 8012F4A0 24420040 */ addiu $v0, $v0, 0x40 /* C5BA4 8012F4A4 A7A20000 */ sh $v0, ($sp) /* C5BA8 8012F4A8 0804BBCD */ j .L8012EF34 /* C5BAC 8012F4AC A7A30008 */ sh $v1, 8($sp) diff --git a/asm/nonmatchings/code_cd180_len_38f0/func_80136A80.s b/asm/nonmatchings/code_cd180_len_38f0/func_80136A80.s index 4b665520af..4f9a6f8fe6 100644 --- a/asm/nonmatchings/code_cd180_len_38f0/func_80136A80.s +++ b/asm/nonmatchings/code_cd180_len_38f0/func_80136A80.s @@ -954,13 +954,13 @@ glabel func_80136A80 /* CE010 80137910 8C830000 */ lw $v1, ($a0) /* CE014 80137914 30E200FF */ andi $v0, $a3, 0xff /* CE018 80137918 ACA20000 */ sw $v0, ($a1) -/* CE01C 8013791C 3C02DE00 */ lui $v0, %hi(D_DDFFE9A8) +/* CE01C 8013791C 3C02DE00 */ lui $v0, 0xde00 /* CE020 80137920 0060282D */ daddu $a1, $v1, $zero /* CE024 80137924 24630008 */ addiu $v1, $v1, 8 /* CE028 80137928 AC830000 */ sw $v1, ($a0) /* CE02C 8013792C ACA20000 */ sw $v0, ($a1) /* CE030 80137930 3C028015 */ lui $v0, %hi(D_8014E9A8) -/* CE034 80137934 2442E9A8 */ addiu $v0, $v0, %lo(D_DDFFE9A8) +/* CE034 80137934 2442E9A8 */ addiu $v0, $v0, %lo(D_8014E9A8) /* CE038 80137938 ACA20004 */ sw $v0, 4($a1) /* CE03C 8013793C 24620008 */ addiu $v0, $v1, 8 /* CE040 80137940 AC820000 */ sw $v0, ($a0) diff --git a/asm/nonmatchings/code_cd180_len_38f0/func_80138E54.s b/asm/nonmatchings/code_cd180_len_38f0/func_80138E54.s index 3b71bdf0e0..486486f279 100644 --- a/asm/nonmatchings/code_cd180_len_38f0/func_80138E54.s +++ b/asm/nonmatchings/code_cd180_len_38f0/func_80138E54.s @@ -215,14 +215,14 @@ glabel func_80138E54 /* CF894 80139194 00042180 */ sll $a0, $a0, 6 /* CF898 80139198 00912021 */ addu $a0, $a0, $s1 /* CF89C 8013919C 00442021 */ addu $a0, $v0, $a0 -/* CF8A0 801391A0 3C02ED00 */ lui $v0, %hi(D_ECFFED98) +/* CF8A0 801391A0 3C02ED00 */ lui $v0, 0xed00 /* CF8A4 801391A4 AE430000 */ sw $v1, ($s2) /* CF8A8 801391A8 AD020000 */ sw $v0, ($t0) /* CF8AC 801391AC 24620008 */ addiu $v0, $v1, 8 /* CF8B0 801391B0 AD090004 */ sw $t1, 4($t0) /* CF8B4 801391B4 AE420000 */ sw $v0, ($s2) /* CF8B8 801391B8 3C028015 */ lui $v0, %hi(D_8014ED98) -/* CF8BC 801391BC 2442ED98 */ addiu $v0, $v0, %lo(D_ECFFED98) +/* CF8BC 801391BC 2442ED98 */ addiu $v0, $v0, %lo(D_8014ED98) /* CF8C0 801391C0 AC620004 */ sw $v0, 4($v1) /* CF8C4 801391C4 24620010 */ addiu $v0, $v1, 0x10 /* CF8C8 801391C8 AC6A0000 */ sw $t2, ($v1) diff --git a/asm/nonmatchings/code_d0a70_len_4fe0/func_8013E2F0.s b/asm/nonmatchings/code_d0a70_len_4fe0/func_8013E2F0.s index f7b445b25a..9a0c2724db 100644 --- a/asm/nonmatchings/code_d0a70_len_4fe0/func_8013E2F0.s +++ b/asm/nonmatchings/code_d0a70_len_4fe0/func_8013E2F0.s @@ -278,7 +278,7 @@ glabel func_8013E2F0 /* D4E20 8013E720 0C052071 */ jal func_801481C4 /* D4E24 8013E724 AFA20018 */ sw $v0, 0x18($sp) /* D4E28 8013E728 0804FA25 */ j .L8013E894 -/* D4E2C 8013E72C 3C07D838 */ lui $a3, %hi(D_D837A66C) +/* D4E2C 8013E72C 3C07D838 */ lui $a3, 0xd838 .L8013E730: /* D4E30 8013E730 3C08070A */ lui $t0, 0x70a .L8013E734: @@ -287,7 +287,7 @@ glabel func_8013E2F0 /* D4E3C 8013E73C 354A0280 */ ori $t2, $t2, 0x280 /* D4E40 8013E740 3C09F240 */ lui $t1, 0xf240 /* D4E44 8013E744 3C07800A */ lui $a3, %hi(D_8009A66C) -/* D4E48 8013E748 24E7A66C */ addiu $a3, $a3, %lo(D_D837A66C) +/* D4E48 8013E748 24E7A66C */ addiu $a3, $a3, %lo(D_8009A66C) /* D4E4C 8013E74C 8CE50000 */ lw $a1, ($a3) /* D4E50 8013E750 35290400 */ ori $t1, $t1, 0x400 /* D4E54 8013E754 00A0202D */ daddu $a0, $a1, $zero diff --git a/asm/nonmatchings/code_dc470_len_14c0/func_80145EC0.s b/asm/nonmatchings/code_dc470_len_14c0/func_80145EC0.s index d289800305..c2f2a68af2 100644 --- a/asm/nonmatchings/code_dc470_len_14c0/func_80145EC0.s +++ b/asm/nonmatchings/code_dc470_len_14c0/func_80145EC0.s @@ -598,13 +598,13 @@ glabel func_80145EC0 /* DCE9C 8014679C 254AA66C */ addiu $t2, $t2, %lo(D_8009A66C) /* DCEA0 801467A0 2642FFFF */ addiu $v0, $s2, -1 /* DCEA4 801467A4 30420FFF */ andi $v0, $v0, 0xfff -/* DCEA8 801467A8 3C03FD48 */ lui $v1, %hi(D_FD47FFFF) +/* DCEA8 801467A8 3C03FD48 */ lui $v1, 0xfd48 /* DCEAC 801467AC 00431025 */ or $v0, $v0, $v1 /* DCEB0 801467B0 3C14F548 */ lui $s4, 0xf548 /* DCEB4 801467B4 36944A00 */ ori $s4, $s4, 0x4a00 /* DCEB8 801467B8 03191821 */ addu $v1, $t8, $t9 /* DCEBC 801467BC AFA2003C */ sw $v0, 0x3c($sp) -/* DCEC0 801467C0 2462FFFF */ addiu $v0, $v1, %lo(D_FD47FFFF) +/* DCEC0 801467C0 2462FFFF */ addiu $v0, $v1, -1 /* DCEC4 801467C4 00021080 */ sll $v0, $v0, 2 /* DCEC8 801467C8 30420FFF */ andi $v0, $v0, 0xfff /* DCECC 801467CC 00021300 */ sll $v0, $v0, 0xc diff --git a/asm/nonmatchings/os/code_3cb20_len_130/osInvalDCache.s b/asm/nonmatchings/os/code_3cb20_len_130/osInvalDCache.s index 2255bd92b8..97e7a81070 100644 --- a/asm/nonmatchings/os/code_3cb20_len_130/osInvalDCache.s +++ b/asm/nonmatchings/os/code_3cb20_len_130/osInvalDCache.s @@ -41,13 +41,13 @@ glabel osInvalDCache /* 3CBA4 800617A4 03E00008 */ jr $ra /* 3CBA8 800617A8 00000000 */ nop .L800617AC: -/* 3CBAC 800617AC 3C088000 */ lui $t0, %hi(D_80000010) +/* 3CBAC 800617AC 3C088000 */ lui $t0, 0x8000 /* 3CBB0 800617B0 010B4821 */ addu $t1, $t0, $t3 /* 3CBB4 800617B4 2529FFF0 */ addiu $t1, $t1, -0x10 .L800617B8: /* 3CBB8 800617B8 BD010000 */ cache 1, ($t0) /* 3CBBC 800617BC 0109082B */ sltu $at, $t0, $t1 /* 3CBC0 800617C0 1420FFFD */ bnez $at, .L800617B8 -/* 3CBC4 800617C4 25080010 */ addiu $t0, $t0, %lo(D_80000010) +/* 3CBC4 800617C4 25080010 */ addiu $t0, $t0, 0x10 /* 3CBC8 800617C8 03E00008 */ jr $ra /* 3CBCC 800617CC 00000000 */ nop diff --git a/asm/nonmatchings/os/code_3cb20_len_130/osInvalICache.s b/asm/nonmatchings/os/code_3cb20_len_130/osInvalICache.s index 7f0e5de8c5..c4e923ee5a 100644 --- a/asm/nonmatchings/os/code_3cb20_len_130/osInvalICache.s +++ b/asm/nonmatchings/os/code_3cb20_len_130/osInvalICache.s @@ -25,14 +25,14 @@ glabel osInvalICache /* 3CC18 80061818 03E00008 */ jr $ra /* 3CC1C 8006181C 00000000 */ nop .L80061820: -/* 3CC20 80061820 3C088000 */ lui $t0, %hi(D_80000020) +/* 3CC20 80061820 3C088000 */ lui $t0, 0x8000 /* 3CC24 80061824 010B4821 */ addu $t1, $t0, $t3 /* 3CC28 80061828 2529FFE0 */ addiu $t1, $t1, -0x20 .L8006182C: /* 3CC2C 8006182C BD000000 */ cache 0, ($t0) /* 3CC30 80061830 0109082B */ sltu $at, $t0, $t1 /* 3CC34 80061834 1420FFFD */ bnez $at, .L8006182C -/* 3CC38 80061838 25080020 */ addiu $t0, $t0, %lo(D_80000020) +/* 3CC38 80061838 25080020 */ addiu $t0, $t0, 0x20 /* 3CC3C 8006183C 03E00008 */ jr $ra /* 3CC40 80061840 00000000 */ nop /* 3CC44 80061844 00000000 */ nop diff --git a/asm/nonmatchings/os/code_3cc50_len_80/osWritebackDCache.s b/asm/nonmatchings/os/code_3cc50_len_80/osWritebackDCache.s index 24c996de1d..8f246c07cb 100644 --- a/asm/nonmatchings/os/code_3cc50_len_80/osWritebackDCache.s +++ b/asm/nonmatchings/os/code_3cc50_len_80/osWritebackDCache.s @@ -25,14 +25,14 @@ glabel osWritebackDCache /* 3CC98 80061898 03E00008 */ jr $ra /* 3CC9C 8006189C 00000000 */ nop .L800618A0: -/* 3CCA0 800618A0 3C088000 */ lui $t0, %hi(D_80000010) +/* 3CCA0 800618A0 3C088000 */ lui $t0, 0x8000 /* 3CCA4 800618A4 010B4821 */ addu $t1, $t0, $t3 /* 3CCA8 800618A8 2529FFF0 */ addiu $t1, $t1, -0x10 .L800618AC: /* 3CCAC 800618AC BD010000 */ cache 1, ($t0) /* 3CCB0 800618B0 0109082B */ sltu $at, $t0, $t1 /* 3CCB4 800618B4 1420FFFD */ bnez $at, .L800618AC -/* 3CCB8 800618B8 25080010 */ addiu $t0, $t0, %lo(D_80000010) +/* 3CCB8 800618B8 25080010 */ addiu $t0, $t0, 0x10 /* 3CCBC 800618BC 03E00008 */ jr $ra /* 3CCC0 800618C0 00000000 */ nop /* 3CCC4 800618C4 00000000 */ nop diff --git a/asm/nonmatchings/os/code_3ccd0_len_30/osWritebackDCacheAll.s b/asm/nonmatchings/os/code_3ccd0_len_30/osWritebackDCacheAll.s index 0a2d68d378..0aa68dcb2c 100644 --- a/asm/nonmatchings/os/code_3ccd0_len_30/osWritebackDCacheAll.s +++ b/asm/nonmatchings/os/code_3ccd0_len_30/osWritebackDCacheAll.s @@ -2,7 +2,7 @@ .set noreorder # don't insert nops after branches glabel osWritebackDCacheAll -/* 3CCD0 800618D0 3C088000 */ lui $t0, %hi(D_80000010) +/* 3CCD0 800618D0 3C088000 */ lui $t0, 0x8000 /* 3CCD4 800618D4 240A2000 */ addiu $t2, $zero, 0x2000 /* 3CCD8 800618D8 010A4821 */ addu $t1, $t0, $t2 /* 3CCDC 800618DC 2529FFF0 */ addiu $t1, $t1, -0x10 @@ -10,7 +10,7 @@ glabel osWritebackDCacheAll /* 3CCE0 800618E0 BD010000 */ cache 1, ($t0) /* 3CCE4 800618E4 0109082B */ sltu $at, $t0, $t1 /* 3CCE8 800618E8 1420FFFD */ bnez $at, .L800618E0 -/* 3CCEC 800618EC 25080010 */ addiu $t0, $t0, %lo(D_80000010) +/* 3CCEC 800618EC 25080010 */ addiu $t0, $t0, 0x10 /* 3CCF0 800618F0 03E00008 */ jr $ra /* 3CCF4 800618F4 00000000 */ nop /* 3CCF8 800618F8 00000000 */ nop diff --git a/asm/nonmatchings/os/code_42470_len_310/osViSwapContext.s b/asm/nonmatchings/os/code_42470_len_310/osViSwapContext.s index e52196abca..ee2ea144b9 100644 --- a/asm/nonmatchings/os/code_42470_len_310/osViSwapContext.s +++ b/asm/nonmatchings/os/code_42470_len_310/osViSwapContext.s @@ -74,7 +74,7 @@ glabel osViSwapContext .L80067178: /* 42578 80067178 4600008D */ trunc.w.s $f2, $f0 /* 4257C 8006717C 44041000 */ mfc1 $a0, $f2 -/* 42580 80067180 3C028000 */ lui $v0, %hi(D_8000002C) +/* 42580 80067180 3C028000 */ lui $v0, 0x8000 /* 42584 80067184 00822025 */ or $a0, $a0, $v0 /* 42588 80067188 00111080 */ sll $v0, $s1, 2 .L8006718C: @@ -82,7 +82,7 @@ glabel osViSwapContext /* 42590 80067190 00021080 */ sll $v0, $v0, 2 /* 42594 80067194 02421021 */ addu $v0, $s2, $v0 /* 42598 80067198 AE04002C */ sw $a0, 0x2c($s0) -/* 4259C 8006719C 8C42002C */ lw $v0, %lo(D_8000002C)($v0) +/* 4259C 8006719C 8C42002C */ lw $v0, 0x2c($v0) /* 425A0 800671A0 2403F000 */ addiu $v1, $zero, -0x1000 /* 425A4 800671A4 00431024 */ and $v0, $v0, $v1 /* 425A8 800671A8 08019C70 */ j .L800671C0 diff --git a/asm/nonmatchings/world/area_hos/hos_05/A2AAC0/func_80243758_A2D998.s b/asm/nonmatchings/world/area_hos/hos_05/A2AAC0/func_80243758_A2D998.s index 3b8f0febb8..b87b699205 100644 --- a/asm/nonmatchings/world/area_hos/hos_05/A2AAC0/func_80243758_A2D998.s +++ b/asm/nonmatchings/world/area_hos/hos_05/A2AAC0/func_80243758_A2D998.s @@ -350,7 +350,7 @@ glabel func_80243758_A2D998 /* A2DEA4 80243C64 0040202D */ daddu $a0, $v0, $zero /* A2DEA8 80243C68 24420008 */ addiu $v0, $v0, 8 /* A2DEAC 80243C6C AC620000 */ sw $v0, ($v1) -/* A2DEB0 80243C70 3C02F100 */ lui $v0, %hi(D_F1000008) +/* A2DEB0 80243C70 3C02F100 */ lui $v0, 0xf100 /* A2DEB4 80243C74 AC820000 */ sw $v0, ($a0) /* A2DEB8 80243C78 AC850004 */ sw $a1, 4($a0) .L80243C7C: @@ -358,7 +358,7 @@ glabel func_80243758_A2D998 /* A2DEC0 80243C80 2463A66C */ addiu $v1, $v1, %lo(D_8009A66C) /* A2DEC4 80243C84 8C620000 */ lw $v0, ($v1) /* A2DEC8 80243C88 0040202D */ daddu $a0, $v0, $zero -/* A2DECC 80243C8C 24420008 */ addiu $v0, $v0, %lo(D_F1000008) +/* A2DECC 80243C8C 24420008 */ addiu $v0, $v0, 8 /* A2DED0 80243C90 AC620000 */ sw $v0, ($v1) /* A2DED4 80243C94 3C02E700 */ lui $v0, 0xe700 /* A2DED8 80243C98 AC820000 */ sw $v0, ($a0) diff --git a/asm/nonmatchings/world/area_kmr/kmr_21/8FEE90/func_80240010_8FEE90.s b/asm/nonmatchings/world/area_kmr/kmr_21/8FEE90/func_80240010_8FEE90.s index e5e925f9df..942629e282 100644 --- a/asm/nonmatchings/world/area_kmr/kmr_21/8FEE90/func_80240010_8FEE90.s +++ b/asm/nonmatchings/world/area_kmr/kmr_21/8FEE90/func_80240010_8FEE90.s @@ -30,13 +30,13 @@ glabel func_80240010_8FEE90 /* 8FEEF4 80240074 25EF0334 */ addiu $t7, $t7, %lo(D_80240334) /* 8FEEF8 80240078 0120502D */ daddu $t2, $t1, $zero /* 8FEEFC 8024007C 8D030000 */ lw $v1, ($t0) -/* 8FEF00 80240080 3C02DE00 */ lui $v0, %hi(D_DE000338) +/* 8FEF00 80240080 3C02DE00 */ lui $v0, 0xde00 /* 8FEF04 80240084 0060202D */ daddu $a0, $v1, $zero /* 8FEF08 80240088 24630008 */ addiu $v1, $v1, 8 /* 8FEF0C 8024008C AD030000 */ sw $v1, ($t0) /* 8FEF10 80240090 AC820000 */ sw $v0, ($a0) /* 8FEF14 80240094 3C028024 */ lui $v0, %hi(D_80240338) -/* 8FEF18 80240098 24420338 */ addiu $v0, $v0, %lo(D_DE000338) +/* 8FEF18 80240098 24420338 */ addiu $v0, $v0, %lo(D_80240338) /* 8FEF1C 8024009C AC820004 */ sw $v0, 4($a0) /* 8FEF20 802400A0 24620008 */ addiu $v0, $v1, 8 /* 8FEF24 802400A4 AD020000 */ sw $v0, ($t0) diff --git a/tools/n64splat b/tools/n64splat index 5c39b85f81..900f9e0166 160000 --- a/tools/n64splat +++ b/tools/n64splat @@ -1 +1 @@ -Subproject commit 5c39b85f817ad174f0c562811c183c88bf565f8f +Subproject commit 900f9e0166f8fa5501bbbc4ef6478ed97f975acd diff --git a/undefined_syms_auto.txt b/undefined_syms_auto.txt index 651cbac792..1472a9edd3 100644 --- a/undefined_syms_auto.txt +++ b/undefined_syms_auto.txt @@ -1,21 +1,10 @@ D_7FFF8918 = 0x7FFF8918; -D_7FFFD690 = 0x7FFFD690; -D_7FFFEC40 = 0x7FFFEC40; -D_7FFFF264 = 0x7FFFF264; -D_7FFFFB78 = 0x7FFFFB78; -D_7FFFFFFF = 0x7FFFFFFF; D_80000000 = 0x80000000; -D_80000010 = 0x80000010; -D_80000020 = 0x80000020; -D_8000002C = 0x8000002C; D_80000308 = 0x80000308; D_8000030C = 0x8000030C; D_80000318 = 0x80000318; D_8000031C = 0x8000031C; -D_800006A4 = 0x800006A4; -D_800006A8 = 0x800006A8; D_80001D80 = 0x80001D80; -D_8000419C = 0x8000419C; D_80007410 = 0x80007410; D_80025D74 = 0x80025D74; D_80026AC7 = 0x80026AC7; @@ -117,8 +106,6 @@ D_80078160 = 0x80078160; D_80078164 = 0x80078164; D_80078168 = 0x80078168; D_80078170 = 0x80078170; -D_80078178 = 0x80078178; -D_8007817C = 0x8007817C; D_80078180 = 0x80078180; D_80078181 = 0x80078181; D_80078190 = 0x80078190; @@ -663,9 +650,7 @@ D_800A3638 = 0x800A3638; D_800A3640 = 0x800A3640; D_800A3658 = 0x800A3658; D_800A3720 = 0x800A3720; -D_800A3BD0 = 0x800A3BD0; D_800A3BD4 = 0x800A3BD4; -D_800A3BE0 = 0x800A3BE0; D_800A3BF0 = 0x800A3BF0; D_800A3FD0 = 0x800A3FD0; D_800A3FE0 = 0x800A3FE0; @@ -4750,7 +4735,6 @@ D_802F4560 = 0x802F4560; D_8034F800 = 0x8034F800; D_A0000000 = 0xA0000000; D_A0000C7C = 0xA0000C7C; -D_A0006A70 = 0xA0006A70; D_A4000000 = 0xA4000000; D_A40004C0 = 0xA40004C0; D_A4000768 = 0xA4000768; @@ -4774,24 +4758,17 @@ D_B0000008 = 0xB0000008; D_B0000010 = 0xB0000010; D_BF804254 = 0xBF804254; D_BF806900 = 0xBF806900; -D_BFDFB110 = 0xBFDFB110; D_BFFF949C = 0xBFFF949C; D_C0007C28 = 0xC0007C28; D_C1F06370 = 0xC1F06370; D_C247F280 = 0xC247F280; -D_C281F280 = 0xC281F280; D_C28BF280 = 0xC28BF280; -D_C295F280 = 0xC295F280; D_C29FF280 = 0xC29FF280; -D_C2BDF280 = 0xC2BDF280; D_C2BE35B8 = 0xC2BE35B8; D_C479EFB0 = 0xC479EFB0; D_C479EFF4 = 0xC479EFF4; -D_D837A66C = 0xD837A66C; D_D9FCFFFF = 0xD9FCFFFF; D_DA37A674 = 0xDA37A674; -D_DA380060 = 0xDA380060; -D_DB01C270 = 0xDB01C270; D_DDFF8100 = 0xDDFF8100; D_DDFF9710 = 0xDDFF9710; D_DDFF97D8 = 0xDDFF97D8; @@ -4834,7 +4811,6 @@ D_DDFFE670 = 0xDDFFE670; D_DDFFE6C0 = 0xDDFFE6C0; D_DDFFE718 = 0xDDFFE718; D_DDFFE8F0 = 0xDDFFE8F0; -D_DDFFE9A8 = 0xDDFFE9A8; D_DDFFEDE8 = 0xDDFFEDE8; D_DDFFEE68 = 0xDDFFEE68; D_DDFFF078 = 0xDDFFF078; @@ -4848,15 +4824,11 @@ D_DDFFF428 = 0xDDFFF428; D_DDFFF460 = 0xDDFFF460; D_DDFFF490 = 0xDDFFF490; D_DDFFF5A0 = 0xDDFFF5A0; -D_DDFFF750 = 0xDDFFF750; D_DE000000 = 0xDE000000; -D_DE000008 = 0xDE000008; -D_DE00007C = 0xDE00007C; D_DE000080 = 0xDE000080; D_DE0000C8 = 0xDE0000C8; D_DE0002C0 = 0xDE0002C0; D_DE000328 = 0xDE000328; -D_DE000338 = 0xDE000338; D_DE000440 = 0xDE000440; D_DE0004C0 = 0xDE0004C0; D_DE0005E0 = 0xDE0005E0; @@ -4874,7 +4846,6 @@ D_DE001230 = 0xDE001230; D_DE001F00 = 0xDE001F00; D_DE002170 = 0xDE002170; D_DE002578 = 0xDE002578; -D_DE0028A0 = 0xDE0028A0; D_DE002950 = 0xDE002950; D_DE003110 = 0xDE003110; D_DE003970 = 0xDE003970; @@ -4887,7 +4858,6 @@ D_DE007908 = 0xDE007908; D_DE007930 = 0xDE007930; D_DE0079B8 = 0xDE0079B8; D_DE007A38 = 0xDE007A38; -D_DE007A50 = 0xDE007A50; D_DE007CA0 = 0xDE007CA0; D_E00021B4 = 0xE00021B4; D_E00021BC = 0xE00021BC; @@ -5460,21 +5430,13 @@ D_E0200730 = 0xE0200730; D_E0200734 = 0xE0200734; D_E1000010 = 0xE1000010; D_E2FFD6B0 = 0xE2FFD6B0; -D_E3000008 = 0xE3000008; -D_E6000008 = 0xE6000008; D_E7000001 = 0xE7000001; D_E7000008 = 0xE7000008; -D_E700001C = 0xE700001C; D_E70013F8 = 0xE70013F8; D_E8000008 = 0xE8000008; -D_ECFF96B0 = 0xECFF96B0; -D_ECFFED98 = 0xECFFED98; D_F0000008 = 0xF0000008; D_F0001328 = 0xF0001328; -D_F1000008 = 0xF1000008; -D_F1000040 = 0xF1000040; D_F1FFFFFF = 0xF1FFFFFF; -D_F4000008 = 0xF4000008; D_F5000007 = 0xF5000007; D_F79DDD0F = 0xF79DDD0F; D_F7FEC070 = 0xF7FEC070; @@ -5483,7 +5445,6 @@ D_F7FFB754 = 0xF7FFB754; D_F8003A4B = 0xF8003A4B; D_F800437F = 0xF800437F; D_F8FFB74D = 0xF8FFB74D; -D_F9003E10 = 0xF9003E10; D_F9FFB750 = 0xF9FFB750; D_F9FFB760 = 0xF9FFB760; D_F9FFBF70 = 0xF9FFBF70; @@ -5492,13 +5453,7 @@ D_FA000A78 = 0xFA000A78; D_FA0015A8 = 0xFA0015A8; D_FA006078 = 0xFA006078; D_FAFFB763 = 0xFAFFB763; -D_FB000002 = 0xFB000002; D_FD0F93A0 = 0xFD0F93A0; D_FD0FF038 = 0xFD0FF038; D_FD100008 = 0xFD100008; -D_FD180008 = 0xFD180008; -D_FD47FFFF = 0xFD47FFFF; -D_FD8FCD50 = 0xFD8FCD50; -D_FFDF0001 = 0xFFDF0001; -D_FFF00768 = 0xFFF00768; D_FFFF41F0 = 0xFFFF41F0; From 9f61df48b15d8a2ada9a941fa58bdd8c04b3298b Mon Sep 17 00:00:00 2001 From: Ethan Roseman Date: Thu, 10 Dec 2020 22:24:28 +0900 Subject: [PATCH 36/97] non-matching nuAuCleanDMABuffers --- src/code_25f00_len_940.c | 36 ++++++++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) diff --git a/src/code_25f00_len_940.c b/src/code_25f00_len_940.c index c0192200f4..cef286d1a7 100644 --- a/src/code_25f00_len_940.c +++ b/src/code_25f00_len_940.c @@ -30,7 +30,43 @@ ALDMAproc nuAuDmaNew(NUDMAState **state) { return nuAuDmaCallBack; } +// Some weird symbol loading shenanigans (addiu vs lw) +#ifdef NON_MATCHING +void nuAuCleanDMABuffers(void) { + NUDMABuffer* dmaPtr = nuAuDmaState.firstUsed; + NUDMABuffer* nextPtr; + + while (dmaPtr != NULL) { + nextPtr = dmaPtr->node.next; + if (&nuAuDmaState) { + + } + + if (dmaPtr->frameCnt + 1 < nuAuFrameCounter) { + if (nuAuDmaState.firstUsed == dmaPtr) { + nuAuDmaState.firstUsed = nextPtr; + } + + alUnlink(dmaPtr); + + if (nuAuDmaState.firstFree != NULL) { + alLink(dmaPtr, nuAuDmaState.firstFree); + } else { + nuAuDmaState.firstFree = dmaPtr; + dmaPtr->node.next = NULL; + dmaPtr->node.prev = NULL; + } + } + + dmaPtr = nextPtr; + } + + nuAuDmaNext = 0; + nuAuFrameCounter += 1; +} +#else INCLUDE_ASM(void, "code_25f00_len_940", nuAuCleanDMABuffers); +#endif INCLUDE_ASM(s32, "code_25f00_len_940", func_8004B328); From dd904df200b18acc5512f0eb9afcabd4b37e8cbb Mon Sep 17 00:00:00 2001 From: Ethan Roseman Date: Fri, 11 Dec 2020 16:20:57 +0900 Subject: [PATCH 37/97] more function sigs --- src/audio.h | 29 ++++++++++++++++++++++++----- src/code_25f00_len_940.c | 3 ++- src/code_26840_len_20d0.c | 8 ++++---- src/code_2e230_len_2190.c | 6 +++--- 4 files changed, 33 insertions(+), 13 deletions(-) diff --git a/src/audio.h b/src/audio.h index ce8bb0cefb..517d185d3c 100644 --- a/src/audio.h +++ b/src/audio.h @@ -3,6 +3,9 @@ #include "common.h" +struct UnkAlA9C; +struct UnkAl19E0; + typedef void (*UnkFuncAl)(); typedef struct UnkAl1 { @@ -59,7 +62,9 @@ typedef struct UnkAl0 { } UnkAl0; typedef struct UnkAl6CC { - /* 0x000 */ char unk_00[0x34]; + /* 0x000 */ struct UnkAl19E0* unk_00; + /* 0x004 */ char unk_04[0x2C]; + /* 0x030 */ s32 unk_30; /* 0x034 */ s32 unk_34; /* 0x038 */ s32 unk_38; /* 0x03C */ s32 unk_3C; @@ -68,9 +73,20 @@ typedef struct UnkAl6CC { /* 0x04A */ s16 unk_4A; /* 0x04C */ char unk_4C[0x10]; /* 0x05C */ s32 unk_5C; - /* 0x060 */ char unk_60[0x5A]; + /* 0x060 */ s32 unk_60; + /* 0x064 */ char unk_64[0x20]; + /* 0x084 */ s8 unk_84; + /* 0x085 */ s8 unk_85; + /* 0x086 */ s8 unk_86; + /* 0x087 */ s8 unk_87; + /* 0x088 */ s8 unk_88; + /* 0x089 */ s8 unk_89; + /* 0x08A */ s8 unk_8A; + /* 0x08B */ s8 unk_8B; + /* 0x08C */ char unk_8C[0x2E]; /* 0x0BA */ s16 unk_BA; - /* 0x0BC */ char unk_BC[0x2]; + /* 0x0BC */ u8 unk_BC; + /* 0x0BD */ u8 unk_BD; /* 0x0BE */ u8 unk_BE; /* 0x0BF */ char unk_BF[0x1]; /* 0x0C0 */ s8 unk_C0; @@ -166,8 +182,6 @@ typedef struct UnkAl19E0Sub2 { /* 0x2 */ char unk_02[2]; } UnkAl19E0Sub2; -struct UnkAlA9C; - typedef struct UnkAl19E0Sub3 { /* 0x00 */ struct UnkAlA9C* unk_0; /* 0x04 */ s8 unk_4; @@ -342,8 +356,12 @@ extern s32 D_800A3FF0; void al_LoadBKHeaders(UnkAl19E0* arg0, ALHeap* arg1); +void func_8004B440(UnkAl6CC*, u8, u8, UnkAl19E0*, s32); +void func_8004B62C(UnkAl6CC*); +void func_8004B698(UnkAl6CC*); void func_8004B6D8(UnkAl6CC*, s32, s16, s16, u8); void func_8004B748(UnkAl6CC*); +s32 func_8004B9E4(UnkAl6CC*, s32); void func_8004BA54(UnkAl6CC*, s32); void func_8004D510(UnkAlA9C*); void func_8004DAA8(UnkAlA9C*); @@ -356,6 +374,7 @@ void func_800532F4(UnkAl30*); void func_80053370(UnkAl12*); void func_800533A8(UnkAl2*); void func_80053654(UnkAl19E0*); +void func_80053974(s32*, s32, s32, s16); void func_80053A18(UnkAl1*); void func_80053A28(s32); void func_80053A98(u8, u16, s32); diff --git a/src/code_25f00_len_940.c b/src/code_25f00_len_940.c index cef286d1a7..7b36a5c16c 100644 --- a/src/code_25f00_len_940.c +++ b/src/code_25f00_len_940.c @@ -16,7 +16,8 @@ void nuAuPreNMIFuncSet(NUAuPreNMIFunc func) { INCLUDE_ASM(s32, "code_25f00_len_940", func_8004AE08); -INCLUDE_ASM(s32, "code_25f00_len_940", nuAuDmaCallBack); +s32 nuAuDmaCallBack(s32 addr, s32 len, void* state); +INCLUDE_ASM(s32, "code_25f00_len_940", nuAuDmaCallBack, s32 addr, s32 len, void* state); ALDMAproc nuAuDmaNew(NUDMAState **state) { if (!nuAuDmaState.initialized) { diff --git a/src/code_26840_len_20d0.c b/src/code_26840_len_20d0.c index c618a53b86..5527d7e4be 100644 --- a/src/code_26840_len_20d0.c +++ b/src/code_26840_len_20d0.c @@ -1,17 +1,17 @@ #include "common.h" #include "audio.h" -INCLUDE_ASM(s32, "code_26840_len_20d0", func_8004B440); +INCLUDE_ASM(void, "code_26840_len_20d0", func_8004B440, UnkAl6CC* arg0, u8 arg1, u8 arg2, UnkAl19E0* arg3, s32 arg4); -INCLUDE_ASM(s32, "code_26840_len_20d0", func_8004B62C); +INCLUDE_ASM(void, "code_26840_len_20d0", func_8004B62C, UnkAl6CC* arg0); -INCLUDE_ASM(s32, "code_26840_len_20d0", func_8004B698); +INCLUDE_ASM(void, "code_26840_len_20d0", func_8004B698, UnkAl6CC* arg0); INCLUDE_ASM(void, "code_26840_len_20d0", func_8004B6D8, UnkAl6CC* arg0, s32 arg1, s16 arg2, s16 arg3, u8 arg4); INCLUDE_ASM(void, "code_26840_len_20d0", func_8004B748, UnkAl6CC* arg0); -INCLUDE_ASM(s32, "code_26840_len_20d0", func_8004B9E4); +INCLUDE_ASM(s32, "code_26840_len_20d0", func_8004B9E4, UnkAl6CC* arg0, s32 arg1); void func_8004BA54(UnkAl6CC* arg0, s32 arg1) { if (arg1 == 0) { diff --git a/src/code_2e230_len_2190.c b/src/code_2e230_len_2190.c index 8e456dfeaa..fe31911a64 100644 --- a/src/code_2e230_len_2190.c +++ b/src/code_2e230_len_2190.c @@ -365,7 +365,7 @@ void func_800538C4(UnkAl48* arg0, s32 arg1) { // type may be wrong but it seems INCLUDE_ASM(s32, "code_2e230_len_2190", func_800538F8); -INCLUDE_ASM(s32, "code_2e230_len_2190", func_80053974); +INCLUDE_ASM(void, "code_2e230_len_2190", func_80053974, s32* arg0, s32 arg1, s32 arg2, s16 arg3); void func_80053A18(UnkAl1* arg0) { arg0->unk_0A = 0; @@ -481,9 +481,9 @@ INCLUDE_ASM(s32, "code_2e230_len_2190", func_80054C84); INCLUDE_ASM(void, "code_2e230_len_2190", func_80054CE0, s32 arg0, s32 arg1); -s32 func_80054D74(s32 arg0) { +s32 func_80054D74(s32 arg0, s32 arg1) { if (arg0 & 0x10) { - return func_8004B9E4(D_8009A640); + return func_8004B9E4(D_8009A640, arg1); } return 0; } From f95a561d3d7108e6cccb79beae1f81871aaa28d3 Mon Sep 17 00:00:00 2001 From: Ethan Roseman Date: Fri, 11 Dec 2020 19:37:10 +0900 Subject: [PATCH 38/97] 2 more --- .../code_26840_len_20d0/func_8004B6D8.s | 35 -------------- .../code_26840_len_20d0/func_8004B9E4.s | 35 -------------- src/audio.h | 33 ++++++++----- src/code_26840_len_20d0.c | 47 ++++++++++++++++++- 4 files changed, 65 insertions(+), 85 deletions(-) delete mode 100644 asm/nonmatchings/code_26840_len_20d0/func_8004B6D8.s delete mode 100644 asm/nonmatchings/code_26840_len_20d0/func_8004B9E4.s diff --git a/asm/nonmatchings/code_26840_len_20d0/func_8004B6D8.s b/asm/nonmatchings/code_26840_len_20d0/func_8004B6D8.s deleted file mode 100644 index a39f22f32e..0000000000 --- a/asm/nonmatchings/code_26840_len_20d0/func_8004B6D8.s +++ /dev/null @@ -1,35 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel func_8004B6D8 -/* 26AD8 8004B6D8 90830164 */ lbu $v1, 0x164($a0) -/* 26ADC 8004B6DC 90820163 */ lbu $v0, 0x163($a0) -/* 26AE0 8004B6E0 8FA90010 */ lw $t1, 0x10($sp) -/* 26AE4 8004B6E4 00621023 */ subu $v0, $v1, $v0 -/* 26AE8 8004B6E8 04420001 */ bltzl $v0, .L8004B6F0 -/* 26AEC 8004B6EC 24420010 */ addiu $v0, $v0, 0x10 -.L8004B6F0: -/* 26AF0 8004B6F0 28420010 */ slti $v0, $v0, 0x10 -/* 26AF4 8004B6F4 10400012 */ beqz $v0, .L8004B740 -/* 26AF8 8004B6F8 0060402D */ daddu $t0, $v1, $zero -/* 26AFC 8004B6FC 00081880 */ sll $v1, $t0, 2 -/* 26B00 8004B700 00681821 */ addu $v1, $v1, $t0 -/* 26B04 8004B704 25080001 */ addiu $t0, $t0, 1 -/* 26B08 8004B708 00031840 */ sll $v1, $v1, 1 -/* 26B0C 8004B70C 00831821 */ addu $v1, $a0, $v1 -/* 26B10 8004B710 30A2BFFF */ andi $v0, $a1, 0xbfff -/* 26B14 8004B714 A46200C2 */ sh $v0, 0xc2($v1) -/* 26B18 8004B718 00051402 */ srl $v0, $a1, 0x10 -/* 26B1C 8004B71C 304203FF */ andi $v0, $v0, 0x3ff -/* 26B20 8004B720 A46200C4 */ sh $v0, 0xc4($v1) -/* 26B24 8004B724 2D020010 */ sltiu $v0, $t0, 0x10 -/* 26B28 8004B728 A46600C6 */ sh $a2, 0xc6($v1) -/* 26B2C 8004B72C A46700C8 */ sh $a3, 0xc8($v1) -/* 26B30 8004B730 14400002 */ bnez $v0, .L8004B73C -/* 26B34 8004B734 A06900CA */ sb $t1, 0xca($v1) -/* 26B38 8004B738 0000402D */ daddu $t0, $zero, $zero -.L8004B73C: -/* 26B3C 8004B73C A0880164 */ sb $t0, 0x164($a0) -.L8004B740: -/* 26B40 8004B740 03E00008 */ jr $ra -/* 26B44 8004B744 00000000 */ nop diff --git a/asm/nonmatchings/code_26840_len_20d0/func_8004B9E4.s b/asm/nonmatchings/code_26840_len_20d0/func_8004B9E4.s deleted file mode 100644 index ad7afdb921..0000000000 --- a/asm/nonmatchings/code_26840_len_20d0/func_8004B9E4.s +++ /dev/null @@ -1,35 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel func_8004B9E4 -/* 26DE4 8004B9E4 30A500FF */ andi $a1, $a1, 0xff -/* 26DE8 8004B9E8 240200F0 */ addiu $v0, $zero, 0xf0 -/* 26DEC 8004B9EC 10A20017 */ beq $a1, $v0, .L8004BA4C -/* 26DF0 8004B9F0 28A20008 */ slti $v0, $a1, 8 -/* 26DF4 8004B9F4 10400013 */ beqz $v0, .L8004BA44 -/* 26DF8 8004B9F8 240200FF */ addiu $v0, $zero, 0xff -/* 26DFC 8004B9FC 9082008C */ lbu $v0, 0x8c($a0) -/* 26E00 8004BA00 1045000C */ beq $v0, $a1, .L8004BA34 -/* 26E04 8004BA04 24020006 */ addiu $v0, $zero, 6 -/* 26E08 8004BA08 8C830000 */ lw $v1, ($a0) -/* 26E0C 8004BA0C A085008C */ sb $a1, 0x8c($a0) -/* 26E10 8004BA10 A0620044 */ sb $v0, 0x44($v1) -/* 26E14 8004BA14 8C830000 */ lw $v1, ($a0) -/* 26E18 8004BA18 24020001 */ addiu $v0, $zero, 1 -/* 26E1C 8004BA1C A0620045 */ sb $v0, 0x45($v1) -/* 26E20 8004BA20 00051080 */ sll $v0, $a1, 2 -/* 26E24 8004BA24 00821021 */ addu $v0, $a0, $v0 -/* 26E28 8004BA28 8C420064 */ lw $v0, 0x64($v0) -/* 26E2C 8004BA2C 3C018008 */ lui $at, %hi(D_8007F1F8) -/* 26E30 8004BA30 AC22F1F8 */ sw $v0, %lo(D_8007F1F8)($at) -.L8004BA34: -/* 26E34 8004BA34 00851021 */ addu $v0, $a0, $a1 -/* 26E38 8004BA38 90420084 */ lbu $v0, 0x84($v0) -/* 26E3C 8004BA3C 08012E93 */ j .L8004BA4C -/* 26E40 8004BA40 A082008D */ sb $v0, 0x8d($a0) -.L8004BA44: -/* 26E44 8004BA44 A082008C */ sb $v0, 0x8c($a0) -/* 26E48 8004BA48 A080008D */ sb $zero, 0x8d($a0) -.L8004BA4C: -/* 26E4C 8004BA4C 03E00008 */ jr $ra -/* 26E50 8004BA50 9082008C */ lbu $v0, 0x8c($a0) diff --git a/src/audio.h b/src/audio.h index 517d185d3c..58bef4e15e 100644 --- a/src/audio.h +++ b/src/audio.h @@ -61,6 +61,14 @@ typedef struct UnkAl0 { /* 0x20 */ UnkLen18 unk_20[1]; // amt unknown } UnkAl0; +typedef struct UnkAlA { + /* 0x0 */ s16 unk_00; + /* 0x2 */ s16 unk_02; + /* 0x4 */ s16 unk_04; + /* 0x6 */ s16 unk_06; + /* 0x8 */ s8 unk_08; +} UnkAlA; // size = 0xA; + typedef struct UnkAl6CC { /* 0x000 */ struct UnkAl19E0* unk_00; /* 0x004 */ char unk_04[0x2C]; @@ -74,25 +82,23 @@ typedef struct UnkAl6CC { /* 0x04C */ char unk_4C[0x10]; /* 0x05C */ s32 unk_5C; /* 0x060 */ s32 unk_60; - /* 0x064 */ char unk_64[0x20]; - /* 0x084 */ s8 unk_84; - /* 0x085 */ s8 unk_85; - /* 0x086 */ s8 unk_86; - /* 0x087 */ s8 unk_87; - /* 0x088 */ s8 unk_88; - /* 0x089 */ s8 unk_89; - /* 0x08A */ s8 unk_8A; - /* 0x08B */ s8 unk_8B; - /* 0x08C */ char unk_8C[0x2E]; + /* 0x064 */ s32 unk_64[8]; + /* 0x084 */ s8 unk_84[8]; + /* 0x08C */ u8 unk_8C; + /* 0x08D */ s8 unk_8D; + /* 0x08E */ char unk_8E[0x2C]; /* 0x0BA */ s16 unk_BA; /* 0x0BC */ u8 unk_BC; /* 0x0BD */ u8 unk_BD; /* 0x0BE */ u8 unk_BE; /* 0x0BF */ char unk_BF[0x1]; /* 0x0C0 */ s8 unk_C0; - /* 0x0C1 */ char unk_C1[0xA2]; + /* 0x0C1 */ char unk_C1[0x1]; + /* 0x0C2 */ UnkAlA unk_C2[16]; + /* 0x162 */ char unk_162[0x1]; /* 0x163 */ s8 unk_163; - /* 0x164 */ s32 unk_164; + /* 0x164 */ s8 unk_164; + /* 0x165 */ char unk_165[0x3]; /* 0x168 */ s32 unk_168; /* 0x16C */ char unk_16C[0x560]; } UnkAl6CC; @@ -340,6 +346,7 @@ extern u16 D_80078DB6; extern s8 D_80078E58; extern s16 D_80078E5A; extern s8 D_80078E5C; +extern s32 D_8007F1F8; extern UnkAl19E0* D_8009A5C0; extern UnkAlA9C* D_8009A5CC; @@ -361,7 +368,7 @@ void func_8004B62C(UnkAl6CC*); void func_8004B698(UnkAl6CC*); void func_8004B6D8(UnkAl6CC*, s32, s16, s16, u8); void func_8004B748(UnkAl6CC*); -s32 func_8004B9E4(UnkAl6CC*, s32); +//s32 func_8004B9E4(UnkAl6CC*, u8); void func_8004BA54(UnkAl6CC*, s32); void func_8004D510(UnkAlA9C*); void func_8004DAA8(UnkAlA9C*); diff --git a/src/code_26840_len_20d0.c b/src/code_26840_len_20d0.c index 5527d7e4be..9b63645efb 100644 --- a/src/code_26840_len_20d0.c +++ b/src/code_26840_len_20d0.c @@ -7,11 +7,54 @@ INCLUDE_ASM(void, "code_26840_len_20d0", func_8004B62C, UnkAl6CC* arg0); INCLUDE_ASM(void, "code_26840_len_20d0", func_8004B698, UnkAl6CC* arg0); -INCLUDE_ASM(void, "code_26840_len_20d0", func_8004B6D8, UnkAl6CC* arg0, s32 arg1, s16 arg2, s16 arg3, u8 arg4); +void func_8004B6D8(UnkAl6CC *arg0, s32 arg1, s16 arg2, s16 arg3, u8 arg4) { + u8 temp_v1 = arg0->unk_164; + s32 temp_v0 = temp_v1 - (u8) arg0->unk_163; + u32 temp_t0; + + if (temp_v0 < 0) { + temp_v0 += 0x10; + } + + if (temp_v0 < 0x10) { + temp_t0 = temp_v1; + + arg0->unk_C2[temp_v1].unk_00 = arg1 & 0xBFFF; + arg0->unk_C2[temp_v1].unk_02 = (((u32) arg1 >> 0x10) & 0x3FF); + arg0->unk_C2[temp_v1].unk_04 = arg2; + arg0->unk_C2[temp_v1].unk_06 = arg3; + arg0->unk_C2[temp_v1].unk_08 = arg4; + + temp_t0++; + if (temp_t0 >= 0x10) { + temp_t0 = 0; + } + + arg0->unk_164 = temp_t0; + } +} INCLUDE_ASM(void, "code_26840_len_20d0", func_8004B748, UnkAl6CC* arg0); -INCLUDE_ASM(s32, "code_26840_len_20d0", func_8004B9E4, UnkAl6CC* arg0, s32 arg1); +s32 func_8004B9E4(UnkAl6CC *arg0, s32 arg1) { + s32 a1 = (u8) arg1; + + if (a1 != 0xF0) { + if (a1 < 8) { + if (arg0->unk_8C != a1) { + arg0->unk_8C = a1; + arg0->unk_00->unk_40[1].unk_00 = 6; + arg0->unk_00->unk_40[1].unk_01 = 1; + D_8007F1F8 = arg0->unk_64[a1]; + } + arg0->unk_8D = arg0->unk_84[a1]; + } else { + arg0->unk_8C = 0xFF; + arg0->unk_8D = 0; + } + } + return arg0->unk_8C; +} void func_8004BA54(UnkAl6CC* arg0, s32 arg1) { if (arg1 == 0) { From 1a1c06109ac7f9d37c2bbbc1bae918cf8f3360c0 Mon Sep 17 00:00:00 2001 From: Ethan Roseman Date: Fri, 11 Dec 2020 20:10:42 +0900 Subject: [PATCH 39/97] 1 more --- .../code_26840_len_20d0/func_8004B698.s | 21 ------------------- src/audio.h | 5 +++-- src/code_26840_len_20d0.c | 17 ++++++++++++++- 3 files changed, 19 insertions(+), 24 deletions(-) delete mode 100644 asm/nonmatchings/code_26840_len_20d0/func_8004B698.s diff --git a/asm/nonmatchings/code_26840_len_20d0/func_8004B698.s b/asm/nonmatchings/code_26840_len_20d0/func_8004B698.s deleted file mode 100644 index fcdf972b69..0000000000 --- a/asm/nonmatchings/code_26840_len_20d0/func_8004B698.s +++ /dev/null @@ -1,21 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel func_8004B698 -/* 26A98 8004B698 0000282D */ daddu $a1, $zero, $zero -/* 26A9C 8004B69C 0080182D */ daddu $v1, $a0, $zero -.L8004B6A0: -/* 26AA0 8004B6A0 A46000C2 */ sh $zero, 0xc2($v1) -/* 26AA4 8004B6A4 A46000C4 */ sh $zero, 0xc4($v1) -/* 26AA8 8004B6A8 A46000C6 */ sh $zero, 0xc6($v1) -/* 26AAC 8004B6AC A46000C8 */ sh $zero, 0xc8($v1) -/* 26AB0 8004B6B0 A06000CA */ sb $zero, 0xca($v1) -/* 26AB4 8004B6B4 24A50001 */ addiu $a1, $a1, 1 -/* 26AB8 8004B6B8 28A20010 */ slti $v0, $a1, 0x10 -/* 26ABC 8004B6BC 1440FFF8 */ bnez $v0, .L8004B6A0 -/* 26AC0 8004B6C0 2463000A */ addiu $v1, $v1, 0xa -/* 26AC4 8004B6C4 A0800165 */ sb $zero, 0x165($a0) -/* 26AC8 8004B6C8 A0800164 */ sb $zero, 0x164($a0) -/* 26ACC 8004B6CC A0800163 */ sb $zero, 0x163($a0) -/* 26AD0 8004B6D0 03E00008 */ jr $ra -/* 26AD4 8004B6D4 A0800162 */ sb $zero, 0x162($a0) diff --git a/src/audio.h b/src/audio.h index 58bef4e15e..4ebbe8c5a6 100644 --- a/src/audio.h +++ b/src/audio.h @@ -95,10 +95,11 @@ typedef struct UnkAl6CC { /* 0x0C0 */ s8 unk_C0; /* 0x0C1 */ char unk_C1[0x1]; /* 0x0C2 */ UnkAlA unk_C2[16]; - /* 0x162 */ char unk_162[0x1]; + /* 0x162 */ s8 unk_162; /* 0x163 */ s8 unk_163; /* 0x164 */ s8 unk_164; - /* 0x165 */ char unk_165[0x3]; + /* 0x165 */ s8 unk_165; + /* 0x166 */ char unk_166[0x2]; /* 0x168 */ s32 unk_168; /* 0x16C */ char unk_16C[0x560]; } UnkAl6CC; diff --git a/src/code_26840_len_20d0.c b/src/code_26840_len_20d0.c index 9b63645efb..aeb54c1d47 100644 --- a/src/code_26840_len_20d0.c +++ b/src/code_26840_len_20d0.c @@ -5,7 +5,22 @@ INCLUDE_ASM(void, "code_26840_len_20d0", func_8004B440, UnkAl6CC* arg0, u8 arg1, INCLUDE_ASM(void, "code_26840_len_20d0", func_8004B62C, UnkAl6CC* arg0); -INCLUDE_ASM(void, "code_26840_len_20d0", func_8004B698, UnkAl6CC* arg0); +void func_8004B698(UnkAl6CC *arg0) { + s32 i; + + for (i = 0; i < ARRAY_COUNT(arg0->unk_C2); i++) { + arg0->unk_C2[i].unk_00 = 0; + arg0->unk_C2[i].unk_02 = 0; + arg0->unk_C2[i].unk_04 = 0; + arg0->unk_C2[i].unk_06 = 0; + arg0->unk_C2[i].unk_08 = 0; + } + + arg0->unk_165 = 0; + arg0->unk_164 = 0; + arg0->unk_163 = 0; + arg0->unk_162 = 0; +} void func_8004B6D8(UnkAl6CC *arg0, s32 arg1, s16 arg2, s16 arg3, u8 arg4) { u8 temp_v1 = arg0->unk_164; From dd40bdae0b428428a2dd1b4e249fc856ae6840b4 Mon Sep 17 00:00:00 2001 From: Ethan Roseman Date: Sat, 12 Dec 2020 08:26:16 +0900 Subject: [PATCH 40/97] 1 more --- .../code_28910_len_5090/func_8004E3A4.s | 48 ------------------ src/audio.h | 31 ++++++++++-- src/code_26840_len_20d0.c | 2 +- src/code_28910_len_5090.c | 49 ++++++++++++++++--- 4 files changed, 69 insertions(+), 61 deletions(-) delete mode 100644 asm/nonmatchings/code_28910_len_5090/func_8004E3A4.s diff --git a/asm/nonmatchings/code_28910_len_5090/func_8004E3A4.s b/asm/nonmatchings/code_28910_len_5090/func_8004E3A4.s deleted file mode 100644 index 2f4f18eecf..0000000000 --- a/asm/nonmatchings/code_28910_len_5090/func_8004E3A4.s +++ /dev/null @@ -1,48 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel func_8004E3A4 -/* 297A4 8004E3A4 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 297A8 8004E3A8 AFB00010 */ sw $s0, 0x10($sp) -/* 297AC 8004E3AC 0080802D */ daddu $s0, $a0, $zero -/* 297B0 8004E3B0 AFBF0014 */ sw $ra, 0x14($sp) -/* 297B4 8004E3B4 96020036 */ lhu $v0, 0x36($s0) -/* 297B8 8004E3B8 2442FFFF */ addiu $v0, $v0, -1 -/* 297BC 8004E3BC A6020036 */ sh $v0, 0x36($s0) -/* 297C0 8004E3C0 00021400 */ sll $v0, $v0, 0x10 -/* 297C4 8004E3C4 10400006 */ beqz $v0, .L8004E3E0 -/* 297C8 8004E3C8 00000000 */ nop -/* 297CC 8004E3CC 8E02002C */ lw $v0, 0x2c($s0) -/* 297D0 8004E3D0 8E030030 */ lw $v1, 0x30($s0) -/* 297D4 8004E3D4 00431021 */ addu $v0, $v0, $v1 -/* 297D8 8004E3D8 0801390B */ j .L8004E42C -/* 297DC 8004E3DC AE02002C */ sw $v0, 0x2c($s0) -.L8004E3E0: -/* 297E0 8004E3E0 86020034 */ lh $v0, 0x34($s0) -/* 297E4 8004E3E4 8E030038 */ lw $v1, 0x38($s0) -/* 297E8 8004E3E8 00021400 */ sll $v0, $v0, 0x10 -/* 297EC 8004E3EC 10600003 */ beqz $v1, .L8004E3FC -/* 297F0 8004E3F0 AE02002C */ sw $v0, 0x2c($s0) -/* 297F4 8004E3F4 0060F809 */ jalr $v1 -/* 297F8 8004E3F8 00000000 */ nop -.L8004E3FC: -/* 297FC 8004E3FC 8E040020 */ lw $a0, 0x20($s0) -/* 29800 8004E400 10800005 */ beqz $a0, .L8004E418 -/* 29804 8004E404 00000000 */ nop -/* 29808 8004E408 0C013720 */ jal func_8004DC80 -/* 2980C 8004E40C 00000000 */ nop -/* 29810 8004E410 0801390B */ j .L8004E42C -/* 29814 8004E414 00000000 */ nop -.L8004E418: -/* 29818 8004E418 8E02002C */ lw $v0, 0x2c($s0) -/* 2981C 8004E41C 14400003 */ bnez $v0, .L8004E42C -/* 29820 8004E420 00000000 */ nop -/* 29824 8004E424 0C0136AA */ jal func_8004DAA8 -/* 29828 8004E428 0200202D */ daddu $a0, $s0, $zero -.L8004E42C: -/* 2982C 8004E42C 0C013911 */ jal func_8004E444 -/* 29830 8004E430 0200202D */ daddu $a0, $s0, $zero -/* 29834 8004E434 8FBF0014 */ lw $ra, 0x14($sp) -/* 29838 8004E438 8FB00010 */ lw $s0, 0x10($sp) -/* 2983C 8004E43C 03E00008 */ jr $ra -/* 29840 8004E440 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/src/audio.h b/src/audio.h index 4ebbe8c5a6..d82450c21b 100644 --- a/src/audio.h +++ b/src/audio.h @@ -9,18 +9,30 @@ struct UnkAl19E0; typedef void (*UnkFuncAl)(); typedef struct UnkAl1 { - /* 0x00 */ s16 unk_00; - /* 0x02 */ char unk_02[2]; + /* 0x00 */ u16 unk_00; + /* 0x02 */ char unk_02[0x2]; /* 0x04 */ s32 unk_04; /* 0x08 */ s16 unk_08; /* 0x0A */ s16 unk_0A; - /* 0x0C */ s32 unk_0C; + /* 0x0C */ UnkFuncAl unk_0C; /* 0x10 */ s32 unk_10; /* 0x14 */ s32 unk_14; /* 0x18 */ s16 unk_18; /* 0x1A */ s16 unk_1A; } UnkAl1; // size unknown (currently 0x1C) +typedef struct UnkAl1Alt { + /* 0x00 */ s32 unk_00; + /* 0x04 */ s32 unk_04; + /* 0x08 */ s16 unk_08; + /* 0x0A */ s16 unk_0A; + /* 0x0C */ UnkFuncAl unk_0C; + /* 0x10 */ s32 unk_10; + /* 0x14 */ s32 unk_14; + /* 0x18 */ s16 unk_18; + /* 0x1A */ s16 unk_1A; +} UnkAl1Alt; // size unknown (currently 0x1C) + typedef struct UnkAl2 { /* 0x00 */ s16 unk_00; /* 0x02 */ u8 unk_02; @@ -270,7 +282,7 @@ typedef struct UnkAlA9C { /* 0x01C */ s32 unk_1C; /* 0x020 */ s32 unk_20; /* 0x024 */ char unk_24[0x8]; - /* 0x02C */ UnkAl1 unk_2C; + /* 0x02C */ UnkAl1Alt unk_2C; /* 0x048 */ s32 unk_48; /* 0x04C */ char unk_4C[0xC]; /* 0x058 */ s16 unk_58; @@ -369,12 +381,21 @@ void func_8004B62C(UnkAl6CC*); void func_8004B698(UnkAl6CC*); void func_8004B6D8(UnkAl6CC*, s32, s16, s16, u8); void func_8004B748(UnkAl6CC*); -//s32 func_8004B9E4(UnkAl6CC*, u8); +s32 func_8004B9E4(UnkAl6CC*, s32); void func_8004BA54(UnkAl6CC*, s32); +s16 func_8004C444(UnkAl6CC*); + void func_8004D510(UnkAlA9C*); +UnkAlA9C* func_8004D794(s32); +s32 func_8004DA0C(UNK_TYPE arg0); void func_8004DAA8(UnkAlA9C*); +void func_8004DFD4(UnkAl19E0*); void func_8004E158(UnkAlA9C*, s32, s32, UnkAl19E0*); +void func_8004E3A4(UnkAlA9C*); +void func_8004E444(UnkAlA9C*); +s16 func_8004E4B8(UnkAlA9C*); s32 func_80050C30(u32); +void func_800511BC(UnkAl834*); void func_80052BF8(UnkAl48* arg0, s32* arg1); diff --git a/src/code_26840_len_20d0.c b/src/code_26840_len_20d0.c index aeb54c1d47..a2a99109a8 100644 --- a/src/code_26840_len_20d0.c +++ b/src/code_26840_len_20d0.c @@ -93,7 +93,7 @@ INCLUDE_ASM(s32, "code_26840_len_20d0", func_8004C358); INCLUDE_ASM(s32, "code_26840_len_20d0", func_8004C3D4); -INCLUDE_ASM(s32, "code_26840_len_20d0", func_8004C444); +INCLUDE_ASM(s16, "code_26840_len_20d0", func_8004C444, UnkAl6CC* arg0); INCLUDE_ASM(s32, "code_26840_len_20d0", func_8004C578); diff --git a/src/code_28910_len_5090.c b/src/code_28910_len_5090.c index 017f2c2aad..365bf8aedb 100644 --- a/src/code_28910_len_5090.c +++ b/src/code_28910_len_5090.c @@ -2,7 +2,23 @@ INCLUDE_ASM(void, "code_28910_len_5090", func_8004D510, UnkAlA9C* arg0); -INCLUDE_ASM(s32, "code_28910_len_5090", func_8004D794); +// Return values are being pushed into v0 in the wrong place +// May depend on data decomp +#ifdef NON_MATCHING +UnkAlA9C* func_8004D794(s32 arg0) { + UnkAl19E0* temp_v1 = D_8009A664->unk_00; + + if (arg0 == temp_v1->unk_5C[2]) { + return D_8009A664; + } + if (arg0 == temp_v1->unk_60[2]) { + return D_8009A5FC; + } + return NULL; +} +#else +INCLUDE_ASM(UnkAlA9C*, "code_28910_len_5090", func_8004D794, s32 arg0); +#endif INCLUDE_ASM(s32, "code_28910_len_5090", func_8004D7E0); @@ -13,7 +29,7 @@ s32 func_8004DA0C(UNK_TYPE arg0) { UnkAlA9C* unknown; do { - unknown = func_8004D794(); + unknown = func_8004D794(arg0); } while (0); do { @@ -54,7 +70,7 @@ INCLUDE_ASM(s32, "code_28910_len_5090", func_8004DCB8); INCLUDE_ASM(s32, "code_28910_len_5090", func_8004DE2C); -INCLUDE_ASM(s32, "code_28910_len_5090", func_8004DFD4); +INCLUDE_ASM(void, "code_28910_len_5090", func_8004DFD4, UnkAl19E0* arg0); INCLUDE_ASM(s32, "code_28910_len_5090", func_8004E0F4); @@ -62,11 +78,30 @@ INCLUDE_ASM(void, "code_28910_len_5090", func_8004E158, UnkAlA9C* arg0, s32 arg1 INCLUDE_ASM(s32, "code_28910_len_5090", func_8004E344); -INCLUDE_ASM(s32, "code_28910_len_5090", func_8004E3A4); +void func_8004E3A4(UnkAlA9C *arg0) { + arg0->unk_2C.unk_0A--; -INCLUDE_ASM(s32, "code_28910_len_5090", func_8004E444); + if (arg0->unk_2C.unk_0A != 0) { + arg0->unk_2C.unk_00 += arg0->unk_2C.unk_04; + } else { + arg0->unk_2C.unk_00 = arg0->unk_2C.unk_08 << 0x10; -INCLUDE_ASM(s32, "code_28910_len_5090", func_8004E4B8); + if (arg0->unk_2C.unk_0C != NULL) { + arg0->unk_2C.unk_0C(); + } + + if (arg0->unk_20 != 0) { + func_8004DC80(arg0->unk_20); + } else if (arg0->unk_2C.unk_00 == 0) { + func_8004DAA8(arg0); + } + } + func_8004E444(arg0); +} + +INCLUDE_ASM(void, "code_28910_len_5090", func_8004E444, UnkAlA9C* arg0); + +INCLUDE_ASM(s16, "code_28910_len_5090", func_8004E4B8, UnkAlA9C* arg0); INCLUDE_ASM(s32, "code_28910_len_5090", func_8004E5D8); @@ -199,7 +234,7 @@ INCLUDE_ASM(s32, "code_28910_len_5090", func_80051050); INCLUDE_ASM(s32, "code_28910_len_5090", func_800510A4); -INCLUDE_ASM(s32, "code_28910_len_5090", func_800511BC); +INCLUDE_ASM(void, "code_28910_len_5090", func_800511BC, UnkAl834* arg0); INCLUDE_ASM(s32, "code_28910_len_5090", func_80051334); From 1311a71f6670a69b4cd7d564f69dbbc740da679e Mon Sep 17 00:00:00 2001 From: Ethan Roseman Date: Sat, 12 Dec 2020 09:42:25 +0900 Subject: [PATCH 41/97] 2 --- .../code_2d9a0_len_890/func_800525A0.s | 35 ------------------- .../code_2d9a0_len_890/func_80052614.s | 24 ------------- src/audio.h | 9 ++--- src/code_2d9a0_len_890.c | 33 +++++++++++++++-- 4 files changed, 36 insertions(+), 65 deletions(-) delete mode 100644 asm/nonmatchings/code_2d9a0_len_890/func_800525A0.s delete mode 100644 asm/nonmatchings/code_2d9a0_len_890/func_80052614.s diff --git a/asm/nonmatchings/code_2d9a0_len_890/func_800525A0.s b/asm/nonmatchings/code_2d9a0_len_890/func_800525A0.s deleted file mode 100644 index b532f9b647..0000000000 --- a/asm/nonmatchings/code_2d9a0_len_890/func_800525A0.s +++ /dev/null @@ -1,35 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel func_800525A0 -/* 2D9A0 800525A0 27BDFFD8 */ addiu $sp, $sp, -0x28 -/* 2D9A4 800525A4 AFB3001C */ sw $s3, 0x1c($sp) -/* 2D9A8 800525A8 0080982D */ daddu $s3, $a0, $zero -/* 2D9AC 800525AC AFB10014 */ sw $s1, 0x14($sp) -/* 2D9B0 800525B0 0000882D */ daddu $s1, $zero, $zero -/* 2D9B4 800525B4 AFB20018 */ sw $s2, 0x18($sp) -/* 2D9B8 800525B8 24121320 */ addiu $s2, $zero, 0x1320 -/* 2D9BC 800525BC AFBF0020 */ sw $ra, 0x20($sp) -/* 2D9C0 800525C0 AFB00010 */ sw $s0, 0x10($sp) -.L800525C4: -/* 2D9C4 800525C4 02728021 */ addu $s0, $s3, $s2 -/* 2D9C8 800525C8 92020042 */ lbu $v0, 0x42($s0) -/* 2D9CC 800525CC 50400007 */ beql $v0, $zero, .L800525EC -/* 2D9D0 800525D0 26310001 */ addiu $s1, $s1, 1 -/* 2D9D4 800525D4 0C015BBA */ jal func_80056EE8 -/* 2D9D8 800525D8 322400FF */ andi $a0, $s1, 0xff -/* 2D9DC 800525DC A2000042 */ sb $zero, 0x42($s0) -/* 2D9E0 800525E0 AE00001C */ sw $zero, 0x1c($s0) -/* 2D9E4 800525E4 A2000045 */ sb $zero, 0x45($s0) -/* 2D9E8 800525E8 26310001 */ addiu $s1, $s1, 1 -.L800525EC: -/* 2D9EC 800525EC 2A220018 */ slti $v0, $s1, 0x18 -/* 2D9F0 800525F0 1440FFF4 */ bnez $v0, .L800525C4 -/* 2D9F4 800525F4 26520048 */ addiu $s2, $s2, 0x48 -/* 2D9F8 800525F8 8FBF0020 */ lw $ra, 0x20($sp) -/* 2D9FC 800525FC 8FB3001C */ lw $s3, 0x1c($sp) -/* 2DA00 80052600 8FB20018 */ lw $s2, 0x18($sp) -/* 2DA04 80052604 8FB10014 */ lw $s1, 0x14($sp) -/* 2DA08 80052608 8FB00010 */ lw $s0, 0x10($sp) -/* 2DA0C 8005260C 03E00008 */ jr $ra -/* 2DA10 80052610 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/code_2d9a0_len_890/func_80052614.s b/asm/nonmatchings/code_2d9a0_len_890/func_80052614.s deleted file mode 100644 index a29039f348..0000000000 --- a/asm/nonmatchings/code_2d9a0_len_890/func_80052614.s +++ /dev/null @@ -1,24 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel func_80052614 -/* 2DA14 80052614 0000282D */ daddu $a1, $zero, $zero -/* 2DA18 80052618 24060080 */ addiu $a2, $zero, 0x80 -/* 2DA1C 8005261C 24031320 */ addiu $v1, $zero, 0x1320 -.L80052620: -/* 2DA20 80052620 00831021 */ addu $v0, $a0, $v1 -/* 2DA24 80052624 24A50001 */ addiu $a1, $a1, 1 -/* 2DA28 80052628 AC40001C */ sw $zero, 0x1c($v0) -/* 2DA2C 8005262C AC400020 */ sw $zero, 0x20($v0) -/* 2DA30 80052630 AC400024 */ sw $zero, 0x24($v0) -/* 2DA34 80052634 AC400028 */ sw $zero, 0x28($v0) -/* 2DA38 80052638 A040003B */ sb $zero, 0x3b($v0) -/* 2DA3C 8005263C A040003C */ sb $zero, 0x3c($v0) -/* 2DA40 80052640 A040003D */ sb $zero, 0x3d($v0) -/* 2DA44 80052644 A040003E */ sb $zero, 0x3e($v0) -/* 2DA48 80052648 A046003F */ sb $a2, 0x3f($v0) -/* 2DA4C 8005264C 28A20018 */ slti $v0, $a1, 0x18 -/* 2DA50 80052650 1440FFF3 */ bnez $v0, .L80052620 -/* 2DA54 80052654 24630048 */ addiu $v1, $v1, 0x48 -/* 2DA58 80052658 03E00008 */ jr $ra -/* 2DA5C 8005265C 00000000 */ nop diff --git a/src/audio.h b/src/audio.h index d82450c21b..6499839616 100644 --- a/src/audio.h +++ b/src/audio.h @@ -162,7 +162,7 @@ typedef struct UnkAl48 { /* 0x14 */ s32 unk_14; /* 0x18 */ s32 unk_18; /* 0x1C */ s32* unk_1C; - /* 0x20 */ char unk_20[0x4]; + /* 0x20 */ s32 unk_20; /* 0x24 */ s32 unk_24; /* 0x28 */ s32 unk_28; /* 0x2C */ f32 unk_2C; @@ -172,7 +172,7 @@ typedef struct UnkAl48 { /* 0x39 */ u8 unk_39; /* 0x3A */ u8 unk_3A; /* 0x3B */ u8 unk_3B; - /* 0x3C */ char unk_3C[0x1]; + /* 0x3C */ u8 unk_3C; /* 0x3D */ u8 unk_3D; /* 0x3E */ u8 unk_3E; /* 0x3F */ u8 unk_3F; @@ -387,7 +387,7 @@ s16 func_8004C444(UnkAl6CC*); void func_8004D510(UnkAlA9C*); UnkAlA9C* func_8004D794(s32); -s32 func_8004DA0C(UNK_TYPE arg0); +s32 func_8004DA0C(UNK_TYPE); void func_8004DAA8(UnkAlA9C*); void func_8004DFD4(UnkAl19E0*); void func_8004E158(UnkAlA9C*, s32, s32, UnkAl19E0*); @@ -397,7 +397,8 @@ s16 func_8004E4B8(UnkAlA9C*); s32 func_80050C30(u32); void func_800511BC(UnkAl834*); -void func_80052BF8(UnkAl48* arg0, s32* arg1); +void func_800525A0(UnkAl19E0*); +void func_80052BF8(UnkAl48*, s32*); void func_800532F4(UnkAl30*); void func_80053370(UnkAl12*); diff --git a/src/code_2d9a0_len_890.c b/src/code_2d9a0_len_890.c index 406c13b003..4250ec1ba7 100644 --- a/src/code_2d9a0_len_890.c +++ b/src/code_2d9a0_len_890.c @@ -1,9 +1,38 @@ #include "common.h" #include "audio.h" -INCLUDE_ASM(s32, "code_2d9a0_len_890", func_800525A0); +void func_800525A0(UnkAl19E0* arg0) { + s32 i; -INCLUDE_ASM(s32, "code_2d9a0_len_890", func_80052614); + for (i = 0; i < ARRAY_COUNT(arg0->unk_1320); i++) { + UnkAl48* temp = &arg0->unk_1320[i]; + + if (temp->unk_42 != 0) { + func_80056EE8(i); + temp->unk_42 = 0; + temp->unk_1C = NULL; + temp->unk_45 = 0; + } + } +} + +void func_80052614(UnkAl19E0* arg0) { + s32 i; + + for (i = 0; i < ARRAY_COUNT(arg0->unk_1320); i++) { + UnkAl48* temp = &arg0->unk_1320[i]; + + temp->unk_1C = 0; + temp->unk_20 = 0; + temp->unk_24 = 0; + temp->unk_28 = 0; + temp->unk_3B = 0; + temp->unk_3C = 0; + temp->unk_3D = 0; + temp->unk_3E = 0; + temp->unk_3F = 0x80; + } +} INCLUDE_ASM(s32, "code_2d9a0_len_890", func_80052660); From 61b69b7a8495862887e47363a341b6d156f1abc3 Mon Sep 17 00:00:00 2001 From: Ethan Roseman Date: Sat, 12 Dec 2020 10:43:10 +0900 Subject: [PATCH 42/97] 2 more --- .../code_2e230_len_2190/al_CopyWords.s | 26 ------------- .../code_2e230_len_2190/func_80053A28.s | 34 ----------------- .../code_2e230_len_2190/func_80053C58.s | 2 +- src/audio.h | 29 +++++---------- src/code_28910_len_5090.c | 6 +-- src/code_2e230_len_2190.c | 37 ++++++++++++++++--- 6 files changed, 45 insertions(+), 89 deletions(-) delete mode 100644 asm/nonmatchings/code_2e230_len_2190/al_CopyWords.s delete mode 100644 asm/nonmatchings/code_2e230_len_2190/func_80053A28.s diff --git a/asm/nonmatchings/code_2e230_len_2190/al_CopyWords.s b/asm/nonmatchings/code_2e230_len_2190/al_CopyWords.s deleted file mode 100644 index 403eb62d40..0000000000 --- a/asm/nonmatchings/code_2e230_len_2190/al_CopyWords.s +++ /dev/null @@ -1,26 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel al_CopyWords -/* 30374 80054F74 04C10002 */ bgez $a2, .L80054F80 -/* 30378 80054F78 00C0102D */ daddu $v0, $a2, $zero -/* 3037C 80054F7C 24C20003 */ addiu $v0, $a2, 3 -.L80054F80: -/* 30380 80054F80 00023083 */ sra $a2, $v0, 2 -/* 30384 80054F84 18C0000B */ blez $a2, .L80054FB4 -/* 30388 80054F88 00851025 */ or $v0, $a0, $a1 -/* 3038C 80054F8C 30420003 */ andi $v0, $v0, 3 -/* 30390 80054F90 14400008 */ bnez $v0, .L80054FB4 -/* 30394 80054F94 24C6FFFF */ addiu $a2, $a2, -1 -.L80054F98: -/* 30398 80054F98 8C820000 */ lw $v0, ($a0) -/* 3039C 80054F9C 24840004 */ addiu $a0, $a0, 4 -/* 303A0 80054FA0 00C0182D */ daddu $v1, $a2, $zero -/* 303A4 80054FA4 24C6FFFF */ addiu $a2, $a2, -1 -/* 303A8 80054FA8 ACA20000 */ sw $v0, ($a1) -/* 303AC 80054FAC 1460FFFA */ bnez $v1, .L80054F98 -/* 303B0 80054FB0 24A50004 */ addiu $a1, $a1, 4 -.L80054FB4: -/* 303B4 80054FB4 03E00008 */ jr $ra -/* 303B8 80054FB8 00000000 */ nop -/* 303BC 80054FBC 00000000 */ nop diff --git a/asm/nonmatchings/code_2e230_len_2190/func_80053A28.s b/asm/nonmatchings/code_2e230_len_2190/func_80053A28.s deleted file mode 100644 index 89b8e8f39a..0000000000 --- a/asm/nonmatchings/code_2e230_len_2190/func_80053A28.s +++ /dev/null @@ -1,34 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel func_80053A28 -/* 2EE28 80053A28 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 2EE2C 80053A2C AFB00010 */ sw $s0, 0x10($sp) -/* 2EE30 80053A30 0080802D */ daddu $s0, $a0, $zero -/* 2EE34 80053A34 AFBF0014 */ sw $ra, 0x14($sp) -/* 2EE38 80053A38 9602000A */ lhu $v0, 0xa($s0) -/* 2EE3C 80053A3C 2442FFFF */ addiu $v0, $v0, -1 -/* 2EE40 80053A40 A602000A */ sh $v0, 0xa($s0) -/* 2EE44 80053A44 00021400 */ sll $v0, $v0, 0x10 -/* 2EE48 80053A48 10400006 */ beqz $v0, .L80053A64 -/* 2EE4C 80053A4C 00000000 */ nop -/* 2EE50 80053A50 8E020000 */ lw $v0, ($s0) -/* 2EE54 80053A54 8E030004 */ lw $v1, 4($s0) -/* 2EE58 80053A58 00431021 */ addu $v0, $v0, $v1 -/* 2EE5C 80053A5C 08014EA2 */ j .L80053A88 -/* 2EE60 80053A60 AE020000 */ sw $v0, ($s0) -.L80053A64: -/* 2EE64 80053A64 86020008 */ lh $v0, 8($s0) -/* 2EE68 80053A68 8E03000C */ lw $v1, 0xc($s0) -/* 2EE6C 80053A6C 00021400 */ sll $v0, $v0, 0x10 -/* 2EE70 80053A70 10600005 */ beqz $v1, .L80053A88 -/* 2EE74 80053A74 AE020000 */ sw $v0, ($s0) -/* 2EE78 80053A78 0060F809 */ jalr $v1 -/* 2EE7C 80053A7C 00000000 */ nop -/* 2EE80 80053A80 AE000004 */ sw $zero, 4($s0) -/* 2EE84 80053A84 AE00000C */ sw $zero, 0xc($s0) -.L80053A88: -/* 2EE88 80053A88 8FBF0014 */ lw $ra, 0x14($sp) -/* 2EE8C 80053A8C 8FB00010 */ lw $s0, 0x10($sp) -/* 2EE90 80053A90 03E00008 */ jr $ra -/* 2EE94 80053A94 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/code_2e230_len_2190/func_80053C58.s b/asm/nonmatchings/code_2e230_len_2190/func_80053C58.s index 9487cda58b..dd89b4351d 100644 --- a/asm/nonmatchings/code_2e230_len_2190/func_80053C58.s +++ b/asm/nonmatchings/code_2e230_len_2190/func_80053C58.s @@ -6,7 +6,7 @@ glabel func_80053C58 /* 2F05C 80053C5C 8C63A5C0 */ lw $v1, %lo(D_8009A5C0)($v1) /* 2F060 80053C60 24020001 */ addiu $v0, $zero, 1 /* 2F064 80053C64 1082000B */ beq $a0, $v0, .L80053C94 -/* 2F068 80053C68 00000000 */ nop +/* 2F068 80053C68 00000000 */ nop /* 2F06C 80053C6C 10800003 */ beqz $a0, .L80053C7C /* 2F070 80053C70 24020002 */ addiu $v0, $zero, 2 /* 2F074 80053C74 5482000D */ bnel $a0, $v0, .L80053CAC diff --git a/src/audio.h b/src/audio.h index 6499839616..82292e9dbc 100644 --- a/src/audio.h +++ b/src/audio.h @@ -8,9 +8,13 @@ struct UnkAl19E0; typedef void (*UnkFuncAl)(); +typedef union UnkAl1U { + u16 u16; + s32 s32; +} UnkAl1U; + typedef struct UnkAl1 { - /* 0x00 */ u16 unk_00; - /* 0x02 */ char unk_02[0x2]; + /* 0x00 */ UnkAl1U unk_00; /* 0x04 */ s32 unk_04; /* 0x08 */ s16 unk_08; /* 0x0A */ s16 unk_0A; @@ -21,18 +25,6 @@ typedef struct UnkAl1 { /* 0x1A */ s16 unk_1A; } UnkAl1; // size unknown (currently 0x1C) -typedef struct UnkAl1Alt { - /* 0x00 */ s32 unk_00; - /* 0x04 */ s32 unk_04; - /* 0x08 */ s16 unk_08; - /* 0x0A */ s16 unk_0A; - /* 0x0C */ UnkFuncAl unk_0C; - /* 0x10 */ s32 unk_10; - /* 0x14 */ s32 unk_14; - /* 0x18 */ s16 unk_18; - /* 0x1A */ s16 unk_1A; -} UnkAl1Alt; // size unknown (currently 0x1C) - typedef struct UnkAl2 { /* 0x00 */ s16 unk_00; /* 0x02 */ u8 unk_02; @@ -88,10 +80,7 @@ typedef struct UnkAl6CC { /* 0x034 */ s32 unk_34; /* 0x038 */ s32 unk_38; /* 0x03C */ s32 unk_3C; - /* 0x040 */ u16 unk_40; - /* 0x042 */ char unk_42[0x8]; - /* 0x04A */ s16 unk_4A; - /* 0x04C */ char unk_4C[0x10]; + /* 0x040 */ UnkAl1 unk_40; /* 0x05C */ s32 unk_5C; /* 0x060 */ s32 unk_60; /* 0x064 */ s32 unk_64[8]; @@ -282,7 +271,7 @@ typedef struct UnkAlA9C { /* 0x01C */ s32 unk_1C; /* 0x020 */ s32 unk_20; /* 0x024 */ char unk_24[0x8]; - /* 0x02C */ UnkAl1Alt unk_2C; + /* 0x02C */ UnkAl1 unk_2C; /* 0x048 */ s32 unk_48; /* 0x04C */ char unk_4C[0xC]; /* 0x058 */ s16 unk_58; @@ -406,7 +395,7 @@ void func_800533A8(UnkAl2*); void func_80053654(UnkAl19E0*); void func_80053974(s32*, s32, s32, s16); void func_80053A18(UnkAl1*); -void func_80053A28(s32); +void func_80053A28(UnkAl1*); void func_80053A98(u8, u16, s32); void func_80053AEC(UnkAl1*, s16); void func_80053BA8(UnkAl1*); diff --git a/src/code_28910_len_5090.c b/src/code_28910_len_5090.c index 365bf8aedb..e9b1edb71e 100644 --- a/src/code_28910_len_5090.c +++ b/src/code_28910_len_5090.c @@ -82,9 +82,9 @@ void func_8004E3A4(UnkAlA9C *arg0) { arg0->unk_2C.unk_0A--; if (arg0->unk_2C.unk_0A != 0) { - arg0->unk_2C.unk_00 += arg0->unk_2C.unk_04; + arg0->unk_2C.unk_00.s32 += arg0->unk_2C.unk_04; } else { - arg0->unk_2C.unk_00 = arg0->unk_2C.unk_08 << 0x10; + arg0->unk_2C.unk_00.s32 = arg0->unk_2C.unk_08 << 0x10; if (arg0->unk_2C.unk_0C != NULL) { arg0->unk_2C.unk_0C(); @@ -92,7 +92,7 @@ void func_8004E3A4(UnkAlA9C *arg0) { if (arg0->unk_20 != 0) { func_8004DC80(arg0->unk_20); - } else if (arg0->unk_2C.unk_00 == 0) { + } else if (arg0->unk_2C.unk_00.s32 == 0) { func_8004DAA8(arg0); } } diff --git a/src/code_2e230_len_2190.c b/src/code_2e230_len_2190.c index fe31911a64..900d30f986 100644 --- a/src/code_2e230_len_2190.c +++ b/src/code_2e230_len_2190.c @@ -198,9 +198,9 @@ void func_800533D0(void) { func_800511BC(temp_s0); } - if (temp_s1->unk_4A != 0) { + if (temp_s1->unk_40.unk_0A != 0) { func_80053A28(&temp_s1->unk_40); - func_80053A98(temp_s1->unk_BE, temp_s1->unk_40, temp_s1->unk_5C); + func_80053A98(temp_s1->unk_BE, temp_s1->unk_40.unk_00.u16, temp_s1->unk_5C); } temp_s1->unk_3C -= temp_s1->unk_34; @@ -373,7 +373,20 @@ void func_80053A18(UnkAl1* arg0) { arg0->unk_0C = 0; } -INCLUDE_ASM(void, "code_2e230_len_2190", func_80053A28, s32 arg0); +void func_80053A28(UnkAl1* arg0) { + arg0->unk_0A--; + + if ((arg0->unk_0A << 0x10) != 0) { + arg0->unk_00.s32 += arg0->unk_04; + } else { + arg0->unk_00.s32 = arg0->unk_08 << 0x10; + if (arg0->unk_0C != 0) { + arg0->unk_0C(); + arg0->unk_04 = 0; + arg0->unk_0C = NULL; + } + } +} void func_80053A98(u8 arg0, u16 arg1, s32 arg2) { func_80056D78(arg0, (u32) (arg1 * arg2) >> 15); @@ -383,7 +396,7 @@ void func_80053AC8(UnkAl1* arg0) { if (arg0->unk_0A == 0) { arg0->unk_0A = 1; arg0->unk_04 = 0; - arg0->unk_08 = arg0->unk_00; + arg0->unk_08 = arg0->unk_00.u16; } } @@ -496,4 +509,18 @@ INCLUDE_ASM(s32, "code_2e230_len_2190", func_80054E90); INCLUDE_ASM(s32, "code_2e230_len_2190", func_80054F48); -INCLUDE_ASM(s32, "code_2e230_len_2190", al_CopyWords); +void al_CopyWords(s32* src, s32* dst, s32 num) { + num /= 4; + + if (num > 0) { + if ((((s32) src | (s32) dst) & 3) == 0) { + s32* srcIt = src; + s32* dstIt = dst; + + num--; + do { + *dstIt++ = *srcIt++; + } while (num-- != 0); + } + } +} From be04290bac6c1c733c1c6005e4da5865689be14a Mon Sep 17 00:00:00 2001 From: Ethan Roseman Date: Sat, 12 Dec 2020 15:04:43 +0900 Subject: [PATCH 43/97] delete extras --- .../code_303c0_len_3e10/func_80056250.s | 223 ------ .../code_303c0_len_3e10/func_80056D34.s | 8 - .../code_303c0_len_3e10/func_80056D44.s | 7 - .../code_303c0_len_3e10/func_80056D50.s | 7 - .../code_303c0_len_3e10/func_80056D78.s | 15 - .../code_303c0_len_3e10/func_80056DA4.s | 14 - .../code_303c0_len_3e10/func_80056DCC.s | 30 - .../code_303c0_len_3e10/func_80056E34.s | 39 - .../code_303c0_len_3e10/func_80056EE8.s | 42 - .../code_303c0_len_3e10/func_80056FA4.s | 173 ---- .../code_303c0_len_3e10/func_80057224.s | 80 -- .../code_303c0_len_3e10/func_8005736C.s | 128 --- .../code_303c0_len_3e10/func_80057548.s | 114 --- .../code_303c0_len_3e10/func_800576EC.s | 107 --- .../code_303c0_len_3e10/func_80057874.s | 98 --- .../code_303c0_len_3e10/func_800579D8.s | 108 --- .../code_303c0_len_3e10/func_80057C54.s | 53 -- .../code_303c0_len_3e10/func_80057D0C.s | 54 -- .../code_303c0_len_3e10/func_80057E08.s | 26 - .../code_303c0_len_3e10/func_80057E5C.s | 26 - .../code_303c0_len_3e10/func_80057ED0.s | 25 - .../code_303c0_len_3e10/func_80057F20.s | 36 - .../code_303c0_len_3e10/func_80057FD8.s | 17 - .../code_303c0_len_3e10/func_80058004.s | 24 - .../code_303c0_len_3e10/func_80058050.s | 745 ------------------ .../code_303c0_len_3e10/func_80058B20.s | 90 --- .../code_303c0_len_3e10/func_80058C6C.s | 99 --- 27 files changed, 2388 deletions(-) delete mode 100644 asm/nonmatchings/code_303c0_len_3e10/func_80056250.s delete mode 100644 asm/nonmatchings/code_303c0_len_3e10/func_80056D34.s delete mode 100644 asm/nonmatchings/code_303c0_len_3e10/func_80056D44.s delete mode 100644 asm/nonmatchings/code_303c0_len_3e10/func_80056D50.s delete mode 100644 asm/nonmatchings/code_303c0_len_3e10/func_80056D78.s delete mode 100644 asm/nonmatchings/code_303c0_len_3e10/func_80056DA4.s delete mode 100644 asm/nonmatchings/code_303c0_len_3e10/func_80056DCC.s delete mode 100644 asm/nonmatchings/code_303c0_len_3e10/func_80056E34.s delete mode 100644 asm/nonmatchings/code_303c0_len_3e10/func_80056EE8.s delete mode 100644 asm/nonmatchings/code_303c0_len_3e10/func_80056FA4.s delete mode 100644 asm/nonmatchings/code_303c0_len_3e10/func_80057224.s delete mode 100644 asm/nonmatchings/code_303c0_len_3e10/func_8005736C.s delete mode 100644 asm/nonmatchings/code_303c0_len_3e10/func_80057548.s delete mode 100644 asm/nonmatchings/code_303c0_len_3e10/func_800576EC.s delete mode 100644 asm/nonmatchings/code_303c0_len_3e10/func_80057874.s delete mode 100644 asm/nonmatchings/code_303c0_len_3e10/func_800579D8.s delete mode 100644 asm/nonmatchings/code_303c0_len_3e10/func_80057C54.s delete mode 100644 asm/nonmatchings/code_303c0_len_3e10/func_80057D0C.s delete mode 100644 asm/nonmatchings/code_303c0_len_3e10/func_80057E08.s delete mode 100644 asm/nonmatchings/code_303c0_len_3e10/func_80057E5C.s delete mode 100644 asm/nonmatchings/code_303c0_len_3e10/func_80057ED0.s delete mode 100644 asm/nonmatchings/code_303c0_len_3e10/func_80057F20.s delete mode 100644 asm/nonmatchings/code_303c0_len_3e10/func_80057FD8.s delete mode 100644 asm/nonmatchings/code_303c0_len_3e10/func_80058004.s delete mode 100644 asm/nonmatchings/code_303c0_len_3e10/func_80058050.s delete mode 100644 asm/nonmatchings/code_303c0_len_3e10/func_80058B20.s delete mode 100644 asm/nonmatchings/code_303c0_len_3e10/func_80058C6C.s diff --git a/asm/nonmatchings/code_303c0_len_3e10/func_80056250.s b/asm/nonmatchings/code_303c0_len_3e10/func_80056250.s deleted file mode 100644 index cb2edcba8a..0000000000 --- a/asm/nonmatchings/code_303c0_len_3e10/func_80056250.s +++ /dev/null @@ -1,223 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel func_80056250 -/* 31650 80056250 27BDFFD0 */ addiu $sp, $sp, -0x30 -/* 31654 80056254 AFB50024 */ sw $s5, 0x24($sp) -/* 31658 80056258 00A0A82D */ daddu $s5, $a1, $zero -/* 3165C 8005625C 3C038008 */ lui $v1, %hi(D_80078E50) -/* 31660 80056260 24638E50 */ addiu $v1, $v1, %lo(D_80078E50) -/* 31664 80056264 AFBF002C */ sw $ra, 0x2c($sp) -/* 31668 80056268 AFB60028 */ sw $s6, 0x28($sp) -/* 3166C 8005626C AFB40020 */ sw $s4, 0x20($sp) -/* 31670 80056270 AFB3001C */ sw $s3, 0x1c($sp) -/* 31674 80056274 AFB20018 */ sw $s2, 0x18($sp) -/* 31678 80056278 AFB10014 */ sw $s1, 0x14($sp) -/* 3167C 8005627C AFB00010 */ sw $s0, 0x10($sp) -/* 31680 80056280 8C620000 */ lw $v0, ($v1) -/* 31684 80056284 8EB30014 */ lw $s3, 0x14($s5) -/* 31688 80056288 144000BC */ bnez $v0, .L8005657C -/* 3168C 8005628C 0080382D */ daddu $a3, $a0, $zero -/* 31690 80056290 8EA20000 */ lw $v0, ($s5) -/* 31694 80056294 0260202D */ daddu $a0, $s3, $zero -/* 31698 80056298 ACE2000C */ sw $v0, 0xc($a3) -/* 3169C 8005629C 8EA20004 */ lw $v0, 4($s5) -/* 316A0 800562A0 AC670000 */ sw $a3, ($v1) -/* 316A4 800562A4 ACE00000 */ sw $zero, ($a3) -/* 316A8 800562A8 ACE00004 */ sw $zero, 4($a3) -/* 316AC 800562AC ACE20010 */ sw $v0, 0x10($a3) -/* 316B0 800562B0 8EA20008 */ lw $v0, 8($s5) -/* 316B4 800562B4 3C108008 */ lui $s0, %hi(D_80078E54) -/* 316B8 800562B8 26108E54 */ addiu $s0, $s0, %lo(D_80078E54) -/* 316BC 800562BC AE070000 */ sw $a3, ($s0) -/* 316C0 800562C0 3C018008 */ lui $at, %hi(D_80078E58) -/* 316C4 800562C4 A0208E58 */ sb $zero, %lo(D_80078E58)($at) -/* 316C8 800562C8 ACE20008 */ sw $v0, 8($a3) -/* 316CC 800562CC 8EA30010 */ lw $v1, 0x10($s5) -/* 316D0 800562D0 24027FFF */ addiu $v0, $zero, 0x7fff -/* 316D4 800562D4 3C018008 */ lui $at, %hi(D_80078E5A) -/* 316D8 800562D8 A4228E5A */ sh $v0, %lo(D_80078E5A)($at) -/* 316DC 800562DC ACE30014 */ sw $v1, 0x14($a3) -/* 316E0 800562E0 8EA50000 */ lw $a1, ($s5) -/* 316E4 800562E4 24020001 */ addiu $v0, $zero, 1 -/* 316E8 800562E8 3C018008 */ lui $at, %hi(D_80078E5C) -/* 316EC 800562EC A0228E5C */ sb $v0, %lo(D_80078E5C)($at) -/* 316F0 800562F0 0C015FE4 */ jal alHeapAlloc -/* 316F4 800562F4 2406007C */ addiu $a2, $zero, 0x7c -/* 316F8 800562F8 8E030000 */ lw $v1, ($s0) -/* 316FC 800562FC AC62001C */ sw $v0, 0x1c($v1) -/* 31700 80056300 8EA20000 */ lw $v0, ($s5) -/* 31704 80056304 18400043 */ blez $v0, .L80056414 -/* 31708 80056308 0000882D */ daddu $s1, $zero, $zero -/* 3170C 8005630C 0200B02D */ daddu $s6, $s0, $zero -/* 31710 80056310 24120001 */ addiu $s2, $zero, 1 -/* 31714 80056314 0220A02D */ daddu $s4, $s1, $zero -/* 31718 80056318 0260202D */ daddu $a0, $s3, $zero -.L8005631C: -/* 3171C 8005631C 8EC20000 */ lw $v0, ($s6) -/* 31720 80056320 24050001 */ addiu $a1, $zero, 1 -/* 31724 80056324 8C50001C */ lw $s0, 0x1c($v0) -/* 31728 80056328 24060020 */ addiu $a2, $zero, 0x20 -/* 3172C 8005632C 0C015FE4 */ jal alHeapAlloc -/* 31730 80056330 02148021 */ addu $s0, $s0, $s4 -/* 31734 80056334 0260202D */ daddu $a0, $s3, $zero -/* 31738 80056338 24050001 */ addiu $a1, $zero, 1 -/* 3173C 8005633C 24060020 */ addiu $a2, $zero, 0x20 -/* 31740 80056340 0C015FE4 */ jal alHeapAlloc -/* 31744 80056344 AE020004 */ sw $v0, 4($s0) -/* 31748 80056348 8EC30000 */ lw $v1, ($s6) -/* 3174C 8005634C 26040024 */ addiu $a0, $s0, 0x24 -/* 31750 80056350 AE020008 */ sw $v0, 8($s0) -/* 31754 80056354 8C620014 */ lw $v0, 0x14($v1) -/* 31758 80056358 0040F809 */ jalr $v0 -/* 3175C 8005635C 2694007C */ addiu $s4, $s4, 0x7c -/* 31760 80056360 0260202D */ daddu $a0, $s3, $zero -/* 31764 80056364 24050001 */ addiu $a1, $zero, 1 -/* 31768 80056368 24060020 */ addiu $a2, $zero, 0x20 -/* 3176C 8005636C AE020020 */ sw $v0, 0x20($s0) -/* 31770 80056370 AE00002C */ sw $zero, 0x2c($s0) -/* 31774 80056374 AE120030 */ sw $s2, 0x30($s0) -/* 31778 80056378 0C015FE4 */ jal alHeapAlloc -/* 3177C 8005637C AE000034 */ sw $zero, 0x34($s0) -/* 31780 80056380 0260202D */ daddu $a0, $s3, $zero -/* 31784 80056384 24050001 */ addiu $a1, $zero, 1 -/* 31788 80056388 3C013F80 */ lui $at, 0x3f80 -/* 3178C 8005638C 44810000 */ mtc1 $at, $f0 -/* 31790 80056390 24060050 */ addiu $a2, $zero, 0x50 -/* 31794 80056394 AE020038 */ sw $v0, 0x38($s0) -/* 31798 80056398 AE000040 */ sw $zero, 0x40($s0) -/* 3179C 8005639C AE120044 */ sw $s2, 0x44($s0) -/* 317A0 800563A0 0C015FE4 */ jal alHeapAlloc -/* 317A4 800563A4 E600003C */ swc1 $f0, 0x3c($s0) -/* 317A8 800563A8 AE020048 */ sw $v0, 0x48($s0) -/* 317AC 800563AC 24020040 */ addiu $v0, $zero, 0x40 -/* 317B0 800563B0 AE12006C */ sw $s2, 0x6c($s0) -/* 317B4 800563B4 AE000070 */ sw $zero, 0x70($s0) -/* 317B8 800563B8 A612004E */ sh $s2, 0x4e($s0) -/* 317BC 800563BC A612005C */ sh $s2, 0x5c($s0) -/* 317C0 800563C0 A6120062 */ sh $s2, 0x62($s0) -/* 317C4 800563C4 A6120050 */ sh $s2, 0x50($s0) -/* 317C8 800563C8 A6120052 */ sh $s2, 0x52($s0) -/* 317CC 800563CC A6000054 */ sh $zero, 0x54($s0) -/* 317D0 800563D0 A6000056 */ sh $zero, 0x56($s0) -/* 317D4 800563D4 A612005A */ sh $s2, 0x5a($s0) -/* 317D8 800563D8 A6000058 */ sh $zero, 0x58($s0) -/* 317DC 800563DC A6120060 */ sh $s2, 0x60($s0) -/* 317E0 800563E0 A600005E */ sh $zero, 0x5e($s0) -/* 317E4 800563E4 AE000064 */ sw $zero, 0x64($s0) -/* 317E8 800563E8 AE000068 */ sw $zero, 0x68($s0) -/* 317EC 800563EC A602004C */ sh $v0, 0x4c($s0) -/* 317F0 800563F0 A6000074 */ sh $zero, 0x74($s0) -/* 317F4 800563F4 AE000000 */ sw $zero, ($s0) -/* 317F8 800563F8 A2000078 */ sb $zero, 0x78($s0) -/* 317FC 800563FC A2110079 */ sb $s1, 0x79($s0) -/* 31800 80056400 8EA20000 */ lw $v0, ($s5) -/* 31804 80056404 26310001 */ addiu $s1, $s1, 1 -/* 31808 80056408 0222102A */ slt $v0, $s1, $v0 -/* 3180C 8005640C 1440FFC3 */ bnez $v0, .L8005631C -/* 31810 80056410 0260202D */ daddu $a0, $s3, $zero -.L80056414: -/* 31814 80056414 0260202D */ daddu $a0, $s3, $zero -/* 31818 80056418 8EA50004 */ lw $a1, 4($s5) -/* 3181C 8005641C 0C015FE4 */ jal alHeapAlloc -/* 31820 80056420 24060018 */ addiu $a2, $zero, 0x18 -/* 31824 80056424 3C038008 */ lui $v1, %hi(D_80078E54) -/* 31828 80056428 8C638E54 */ lw $v1, %lo(D_80078E54)($v1) -/* 3182C 8005642C AC620020 */ sw $v0, 0x20($v1) -/* 31830 80056430 8EA20004 */ lw $v0, 4($s5) -/* 31834 80056434 18400022 */ blez $v0, .L800564C0 -/* 31838 80056438 0000882D */ daddu $s1, $zero, $zero -/* 3183C 8005643C 24147FFF */ addiu $s4, $zero, 0x7fff -/* 31840 80056440 0220902D */ daddu $s2, $s1, $zero -.L80056444: -/* 31844 80056444 0260202D */ daddu $a0, $s3, $zero -/* 31848 80056448 24050001 */ addiu $a1, $zero, 1 -/* 3184C 8005644C 3C028008 */ lui $v0, %hi(D_80078E54) -/* 31850 80056450 8C428E54 */ lw $v0, %lo(D_80078E54)($v0) -/* 31854 80056454 24060014 */ addiu $a2, $zero, 0x14 -/* 31858 80056458 8C500020 */ lw $s0, 0x20($v0) -/* 3185C 8005645C 02258821 */ addu $s1, $s1, $a1 -/* 31860 80056460 02128021 */ addu $s0, $s0, $s2 -/* 31864 80056464 AE000010 */ sw $zero, 0x10($s0) -/* 31868 80056468 AE000014 */ sw $zero, 0x14($s0) -/* 3186C 8005646C A6140000 */ sh $s4, ($s0) -/* 31870 80056470 0C015FE4 */ jal alHeapAlloc -/* 31874 80056474 A200000C */ sb $zero, 0xc($s0) -/* 31878 80056478 0260202D */ daddu $a0, $s3, $zero -/* 3187C 8005647C 24050001 */ addiu $a1, $zero, 1 -/* 31880 80056480 24060014 */ addiu $a2, $zero, 0x14 -/* 31884 80056484 0C015FE4 */ jal alHeapAlloc -/* 31888 80056488 AE020004 */ sw $v0, 4($s0) -/* 3188C 8005648C 8E040004 */ lw $a0, 4($s0) -/* 31890 80056490 9205000C */ lbu $a1, 0xc($s0) -/* 31894 80056494 0260302D */ daddu $a2, $s3, $zero -/* 31898 80056498 0C0163A1 */ jal func_80058E84 -/* 3189C 8005649C AE020008 */ sw $v0, 8($s0) -/* 318A0 800564A0 8E040008 */ lw $a0, 8($s0) -/* 318A4 800564A4 9205000C */ lbu $a1, 0xc($s0) -/* 318A8 800564A8 0C0163A1 */ jal func_80058E84 -/* 318AC 800564AC 0260302D */ daddu $a2, $s3, $zero -/* 318B0 800564B0 8EA20004 */ lw $v0, 4($s5) -/* 318B4 800564B4 0222102A */ slt $v0, $s1, $v0 -/* 318B8 800564B8 1440FFE2 */ bnez $v0, .L80056444 -/* 318BC 800564BC 26520018 */ addiu $s2, $s2, 0x18 -.L800564C0: -/* 318C0 800564C0 0260202D */ daddu $a0, $s3, $zero -/* 318C4 800564C4 24050170 */ addiu $a1, $zero, 0x170 -/* 318C8 800564C8 0C015FE4 */ jal alHeapAlloc -/* 318CC 800564CC 24060002 */ addiu $a2, $zero, 2 -/* 318D0 800564D0 0260202D */ daddu $a0, $s3, $zero -/* 318D4 800564D4 24050170 */ addiu $a1, $zero, 0x170 -/* 318D8 800564D8 24060002 */ addiu $a2, $zero, 2 -/* 318DC 800564DC 3C108008 */ lui $s0, %hi(D_80078E54) -/* 318E0 800564E0 26108E54 */ addiu $s0, $s0, %lo(D_80078E54) -/* 318E4 800564E4 8E030000 */ lw $v1, ($s0) -/* 318E8 800564E8 0000882D */ daddu $s1, $zero, $zero -/* 318EC 800564EC 0C015FE4 */ jal alHeapAlloc -/* 318F0 800564F0 AC620024 */ sw $v0, 0x24($v1) -/* 318F4 800564F4 0260202D */ daddu $a0, $s3, $zero -/* 318F8 800564F8 240502E0 */ addiu $a1, $zero, 0x2e0 -/* 318FC 800564FC 24060002 */ addiu $a2, $zero, 2 -/* 31900 80056500 3C01800A */ lui $at, %hi(D_800A3FEC) -/* 31904 80056504 A0203FEC */ sb $zero, %lo(D_800A3FEC)($at) -/* 31908 80056508 3C01800A */ lui $at, %hi(D_800A3FEE) -/* 3190C 8005650C A4203FEE */ sh $zero, %lo(D_800A3FEE)($at) -/* 31910 80056510 8E070000 */ lw $a3, ($s0) -/* 31914 80056514 24030004 */ addiu $v1, $zero, 4 -/* 31918 80056518 3C01800A */ lui $at, %hi(D_800A3FF0) -/* 3191C 8005651C AC233FF0 */ sw $v1, %lo(D_800A3FF0)($at) -/* 31920 80056520 0C015FE4 */ jal alHeapAlloc -/* 31924 80056524 ACE20028 */ sw $v0, 0x28($a3) -/* 31928 80056528 0260202D */ daddu $a0, $s3, $zero -/* 3192C 8005652C 240502E0 */ addiu $a1, $zero, 0x2e0 -/* 31930 80056530 24060002 */ addiu $a2, $zero, 2 -/* 31934 80056534 3C10800A */ lui $s0, %hi(D_800A3FE0) -/* 31938 80056538 26103FE0 */ addiu $s0, $s0, %lo(D_800A3FE0) -/* 3193C 8005653C 0C015FE4 */ jal alHeapAlloc -/* 31940 80056540 AE020000 */ sw $v0, ($s0) -/* 31944 80056544 8E100000 */ lw $s0, ($s0) -/* 31948 80056548 0040182D */ daddu $v1, $v0, $zero -/* 3194C 8005654C 3C01800A */ lui $at, %hi(D_800A3FE4) -/* 31950 80056550 AC233FE4 */ sw $v1, %lo(D_800A3FE4)($at) -.L80056554: -/* 31954 80056554 A6000000 */ sh $zero, ($s0) -/* 31958 80056558 A4600000 */ sh $zero, ($v1) -/* 3195C 8005655C 24630002 */ addiu $v1, $v1, 2 -/* 31960 80056560 26310001 */ addiu $s1, $s1, 1 -/* 31964 80056564 2A2202E0 */ slti $v0, $s1, 0x2e0 -/* 31968 80056568 1440FFFA */ bnez $v0, .L80056554 -/* 3196C 8005656C 26100002 */ addiu $s0, $s0, 2 -/* 31970 80056570 3C028008 */ lui $v0, %hi(D_80078E54) -/* 31974 80056574 8C428E54 */ lw $v0, %lo(D_80078E54)($v0) -/* 31978 80056578 AC530018 */ sw $s3, 0x18($v0) -.L8005657C: -/* 3197C 8005657C 8FBF002C */ lw $ra, 0x2c($sp) -/* 31980 80056580 8FB60028 */ lw $s6, 0x28($sp) -/* 31984 80056584 8FB50024 */ lw $s5, 0x24($sp) -/* 31988 80056588 8FB40020 */ lw $s4, 0x20($sp) -/* 3198C 8005658C 8FB3001C */ lw $s3, 0x1c($sp) -/* 31990 80056590 8FB20018 */ lw $s2, 0x18($sp) -/* 31994 80056594 8FB10014 */ lw $s1, 0x14($sp) -/* 31998 80056598 8FB00010 */ lw $s0, 0x10($sp) -/* 3199C 8005659C 03E00008 */ jr $ra -/* 319A0 800565A0 27BD0030 */ addiu $sp, $sp, 0x30 diff --git a/asm/nonmatchings/code_303c0_len_3e10/func_80056D34.s b/asm/nonmatchings/code_303c0_len_3e10/func_80056D34.s deleted file mode 100644 index 56fc10663e..0000000000 --- a/asm/nonmatchings/code_303c0_len_3e10/func_80056D34.s +++ /dev/null @@ -1,8 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel func_80056D34 -/* 32134 80056D34 24020001 */ addiu $v0, $zero, 1 -/* 32138 80056D38 3C018008 */ lui $at, %hi(D_80078E58) -/* 3213C 80056D3C 03E00008 */ jr $ra -/* 32140 80056D40 A0228E58 */ sb $v0, %lo(D_80078E58)($at) diff --git a/asm/nonmatchings/code_303c0_len_3e10/func_80056D44.s b/asm/nonmatchings/code_303c0_len_3e10/func_80056D44.s deleted file mode 100644 index c7f3137a8b..0000000000 --- a/asm/nonmatchings/code_303c0_len_3e10/func_80056D44.s +++ /dev/null @@ -1,7 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel func_80056D44 -/* 32144 80056D44 3C018008 */ lui $at, %hi(D_80078E5A) -/* 32148 80056D48 03E00008 */ jr $ra -/* 3214C 80056D4C A4248E5A */ sh $a0, %lo(D_80078E5A)($at) diff --git a/asm/nonmatchings/code_303c0_len_3e10/func_80056D50.s b/asm/nonmatchings/code_303c0_len_3e10/func_80056D50.s deleted file mode 100644 index 35aca52663..0000000000 --- a/asm/nonmatchings/code_303c0_len_3e10/func_80056D50.s +++ /dev/null @@ -1,7 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel func_80056D50 -/* 32150 80056D50 3C028008 */ lui $v0, %hi(D_80078E5A) -/* 32154 80056D54 03E00008 */ jr $ra -/* 32158 80056D58 84428E5A */ lh $v0, %lo(D_80078E5A)($v0) diff --git a/asm/nonmatchings/code_303c0_len_3e10/func_80056D78.s b/asm/nonmatchings/code_303c0_len_3e10/func_80056D78.s deleted file mode 100644 index f81c89cc13..0000000000 --- a/asm/nonmatchings/code_303c0_len_3e10/func_80056D78.s +++ /dev/null @@ -1,15 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel func_80056D78 -/* 32178 80056D78 308400FF */ andi $a0, $a0, 0xff -/* 3217C 80056D7C 00041040 */ sll $v0, $a0, 1 -/* 32180 80056D80 00441021 */ addu $v0, $v0, $a0 -/* 32184 80056D84 3C038008 */ lui $v1, %hi(D_80078E54) -/* 32188 80056D88 8C638E54 */ lw $v1, %lo(D_80078E54)($v1) -/* 3218C 80056D8C 000210C0 */ sll $v0, $v0, 3 -/* 32190 80056D90 8C630020 */ lw $v1, 0x20($v1) -/* 32194 80056D94 30A57FFF */ andi $a1, $a1, 0x7fff -/* 32198 80056D98 00621821 */ addu $v1, $v1, $v0 -/* 3219C 80056D9C 03E00008 */ jr $ra -/* 321A0 80056DA0 A4650000 */ sh $a1, ($v1) diff --git a/asm/nonmatchings/code_303c0_len_3e10/func_80056DA4.s b/asm/nonmatchings/code_303c0_len_3e10/func_80056DA4.s deleted file mode 100644 index 5929744cea..0000000000 --- a/asm/nonmatchings/code_303c0_len_3e10/func_80056DA4.s +++ /dev/null @@ -1,14 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel func_80056DA4 -/* 321A4 80056DA4 308400FF */ andi $a0, $a0, 0xff -/* 321A8 80056DA8 00041840 */ sll $v1, $a0, 1 -/* 321AC 80056DAC 3C028008 */ lui $v0, %hi(D_80078E54) -/* 321B0 80056DB0 8C428E54 */ lw $v0, %lo(D_80078E54)($v0) -/* 321B4 80056DB4 00641821 */ addu $v1, $v1, $a0 -/* 321B8 80056DB8 8C420020 */ lw $v0, 0x20($v0) -/* 321BC 80056DBC 000318C0 */ sll $v1, $v1, 3 -/* 321C0 80056DC0 00431021 */ addu $v0, $v0, $v1 -/* 321C4 80056DC4 03E00008 */ jr $ra -/* 321C8 80056DC8 94420000 */ lhu $v0, ($v0) diff --git a/asm/nonmatchings/code_303c0_len_3e10/func_80056DCC.s b/asm/nonmatchings/code_303c0_len_3e10/func_80056DCC.s deleted file mode 100644 index 0b3ee24ab1..0000000000 --- a/asm/nonmatchings/code_303c0_len_3e10/func_80056DCC.s +++ /dev/null @@ -1,30 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel func_80056DCC -/* 321CC 80056DCC 27BDFFE0 */ addiu $sp, $sp, -0x20 -/* 321D0 80056DD0 00A0302D */ daddu $a2, $a1, $zero -/* 321D4 80056DD4 308400FF */ andi $a0, $a0, 0xff -/* 321D8 80056DD8 00041040 */ sll $v0, $a0, 1 -/* 321DC 80056DDC 00441021 */ addu $v0, $v0, $a0 -/* 321E0 80056DE0 3C038008 */ lui $v1, %hi(D_80078E54) -/* 321E4 80056DE4 8C638E54 */ lw $v1, %lo(D_80078E54)($v1) -/* 321E8 80056DE8 000210C0 */ sll $v0, $v0, 3 -/* 321EC 80056DEC AFBF0018 */ sw $ra, 0x18($sp) -/* 321F0 80056DF0 AFB10014 */ sw $s1, 0x14($sp) -/* 321F4 80056DF4 AFB00010 */ sw $s0, 0x10($sp) -/* 321F8 80056DF8 8C700020 */ lw $s0, 0x20($v1) -/* 321FC 80056DFC 30D100FF */ andi $s1, $a2, 0xff -/* 32200 80056E00 02028021 */ addu $s0, $s0, $v0 -/* 32204 80056E04 8E040004 */ lw $a0, 4($s0) -/* 32208 80056E08 0220282D */ daddu $a1, $s1, $zero -/* 3220C 80056E0C 0C016413 */ jal func_8005904C -/* 32210 80056E10 A206000C */ sb $a2, 0xc($s0) -/* 32214 80056E14 8E040008 */ lw $a0, 8($s0) -/* 32218 80056E18 0C016413 */ jal func_8005904C -/* 3221C 80056E1C 0220282D */ daddu $a1, $s1, $zero -/* 32220 80056E20 8FBF0018 */ lw $ra, 0x18($sp) -/* 32224 80056E24 8FB10014 */ lw $s1, 0x14($sp) -/* 32228 80056E28 8FB00010 */ lw $s0, 0x10($sp) -/* 3222C 80056E2C 03E00008 */ jr $ra -/* 32230 80056E30 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/code_303c0_len_3e10/func_80056E34.s b/asm/nonmatchings/code_303c0_len_3e10/func_80056E34.s deleted file mode 100644 index 7b78aba935..0000000000 --- a/asm/nonmatchings/code_303c0_len_3e10/func_80056E34.s +++ /dev/null @@ -1,39 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel func_80056E34 -/* 32234 80056E34 27BDFFD8 */ addiu $sp, $sp, -0x28 -/* 32238 80056E38 AFB3001C */ sw $s3, 0x1c($sp) -/* 3223C 80056E3C 00E0982D */ daddu $s3, $a3, $zero -/* 32240 80056E40 AFB20018 */ sw $s2, 0x18($sp) -/* 32244 80056E44 00059400 */ sll $s2, $a1, 0x10 -/* 32248 80056E48 00129403 */ sra $s2, $s2, 0x10 -/* 3224C 80056E4C 0240282D */ daddu $a1, $s2, $zero -/* 32250 80056E50 AFB10014 */ sw $s1, 0x14($sp) -/* 32254 80056E54 00068C00 */ sll $s1, $a2, 0x10 -/* 32258 80056E58 00118C03 */ sra $s1, $s1, 0x10 -/* 3225C 80056E5C 308400FF */ andi $a0, $a0, 0xff -/* 32260 80056E60 00041040 */ sll $v0, $a0, 1 -/* 32264 80056E64 3C038008 */ lui $v1, %hi(D_80078E54) -/* 32268 80056E68 8C638E54 */ lw $v1, %lo(D_80078E54)($v1) -/* 3226C 80056E6C 00441021 */ addu $v0, $v0, $a0 -/* 32270 80056E70 AFBF0020 */ sw $ra, 0x20($sp) -/* 32274 80056E74 AFB00010 */ sw $s0, 0x10($sp) -/* 32278 80056E78 8C700020 */ lw $s0, 0x20($v1) -/* 3227C 80056E7C 000210C0 */ sll $v0, $v0, 3 -/* 32280 80056E80 02028021 */ addu $s0, $s0, $v0 -/* 32284 80056E84 8E040004 */ lw $a0, 4($s0) -/* 32288 80056E88 0C016628 */ jal func_800598A0 -/* 3228C 80056E8C 0220302D */ daddu $a2, $s1, $zero -/* 32290 80056E90 0240282D */ daddu $a1, $s2, $zero -/* 32294 80056E94 0220302D */ daddu $a2, $s1, $zero -/* 32298 80056E98 8E040008 */ lw $a0, 8($s0) -/* 3229C 80056E9C 0C016628 */ jal func_800598A0 -/* 322A0 80056EA0 0260382D */ daddu $a3, $s3, $zero -/* 322A4 80056EA4 8FBF0020 */ lw $ra, 0x20($sp) -/* 322A8 80056EA8 8FB3001C */ lw $s3, 0x1c($sp) -/* 322AC 80056EAC 8FB20018 */ lw $s2, 0x18($sp) -/* 322B0 80056EB0 8FB10014 */ lw $s1, 0x14($sp) -/* 322B4 80056EB4 8FB00010 */ lw $s0, 0x10($sp) -/* 322B8 80056EB8 03E00008 */ jr $ra -/* 322BC 80056EBC 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/code_303c0_len_3e10/func_80056EE8.s b/asm/nonmatchings/code_303c0_len_3e10/func_80056EE8.s deleted file mode 100644 index 7b281402b2..0000000000 --- a/asm/nonmatchings/code_303c0_len_3e10/func_80056EE8.s +++ /dev/null @@ -1,42 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel func_80056EE8 -/* 322E8 80056EE8 308400FF */ andi $a0, $a0, 0xff -/* 322EC 80056EEC 00041140 */ sll $v0, $a0, 5 -/* 322F0 80056EF0 00441023 */ subu $v0, $v0, $a0 -/* 322F4 80056EF4 3C038008 */ lui $v1, %hi(D_80078E54) -/* 322F8 80056EF8 8C638E54 */ lw $v1, %lo(D_80078E54)($v1) -/* 322FC 80056EFC 00021080 */ sll $v0, $v0, 2 -/* 32300 80056F00 8C63001C */ lw $v1, 0x1c($v1) -/* 32304 80056F04 24050001 */ addiu $a1, $zero, 1 -/* 32308 80056F08 00621821 */ addu $v1, $v1, $v0 -/* 3230C 80056F0C 8C620018 */ lw $v0, 0x18($v1) -/* 32310 80056F10 24640004 */ addiu $a0, $v1, 4 -/* 32314 80056F14 AC600070 */ sw $zero, 0x70($v1) -/* 32318 80056F18 AC65006C */ sw $a1, 0x6c($v1) -/* 3231C 80056F1C A465004E */ sh $a1, 0x4e($v1) -/* 32320 80056F20 AC600040 */ sw $zero, 0x40($v1) -/* 32324 80056F24 AC650044 */ sw $a1, 0x44($v1) -/* 32328 80056F28 AC60002C */ sw $zero, 0x2c($v1) -/* 3232C 80056F2C AC650030 */ sw $a1, 0x30($v1) -/* 32330 80056F30 1040000F */ beqz $v0, .L80056F70 -/* 32334 80056F34 AC600028 */ sw $zero, 0x28($v1) -/* 32338 80056F38 8C820014 */ lw $v0, 0x14($a0) -/* 3233C 80056F3C 8C420000 */ lw $v0, ($v0) -/* 32340 80056F40 AC620034 */ sw $v0, 0x34($v1) -/* 32344 80056F44 8C840014 */ lw $a0, 0x14($a0) -/* 32348 80056F48 90820024 */ lbu $v0, 0x24($a0) -/* 3234C 80056F4C 10400003 */ beqz $v0, .L80056F5C -/* 32350 80056F50 00000000 */ nop -/* 32354 80056F54 14450006 */ bne $v0, $a1, .L80056F70 -/* 32358 80056F58 00000000 */ nop -.L80056F5C: -/* 3235C 80056F5C 8C820010 */ lw $v0, 0x10($a0) -/* 32360 80056F60 10400003 */ beqz $v0, .L80056F70 -/* 32364 80056F64 00000000 */ nop -/* 32368 80056F68 8C820014 */ lw $v0, 0x14($a0) -/* 3236C 80056F6C AC620014 */ sw $v0, 0x14($v1) -.L80056F70: -/* 32370 80056F70 03E00008 */ jr $ra -/* 32374 80056F74 00000000 */ nop diff --git a/asm/nonmatchings/code_303c0_len_3e10/func_80056FA4.s b/asm/nonmatchings/code_303c0_len_3e10/func_80056FA4.s deleted file mode 100644 index ffa7b7d466..0000000000 --- a/asm/nonmatchings/code_303c0_len_3e10/func_80056FA4.s +++ /dev/null @@ -1,173 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel func_80056FA4 -/* 323A4 80056FA4 27BDFFD0 */ addiu $sp, $sp, -0x30 -/* 323A8 80056FA8 308400FF */ andi $a0, $a0, 0xff -/* 323AC 80056FAC F7B40028 */ sdc1 $f20, 0x28($sp) -/* 323B0 80056FB0 4487A000 */ mtc1 $a3, $f20 -/* 323B4 80056FB4 00041140 */ sll $v0, $a0, 5 -/* 323B8 80056FB8 AFB10014 */ sw $s1, 0x14($sp) -/* 323BC 80056FBC 97B10042 */ lhu $s1, 0x42($sp) -/* 323C0 80056FC0 3C038008 */ lui $v1, %hi(D_80078E54) -/* 323C4 80056FC4 8C638E54 */ lw $v1, %lo(D_80078E54)($v1) -/* 323C8 80056FC8 00441023 */ subu $v0, $v0, $a0 -/* 323CC 80056FCC AFB20018 */ sw $s2, 0x18($sp) -/* 323D0 80056FD0 93B20047 */ lbu $s2, 0x47($sp) -/* 323D4 80056FD4 00021080 */ sll $v0, $v0, 2 -/* 323D8 80056FD8 AFBF0024 */ sw $ra, 0x24($sp) -/* 323DC 80056FDC AFB40020 */ sw $s4, 0x20($sp) -/* 323E0 80056FE0 AFB3001C */ sw $s3, 0x1c($sp) -/* 323E4 80056FE4 AFB00010 */ sw $s0, 0x10($sp) -/* 323E8 80056FE8 8C63001C */ lw $v1, 0x1c($v1) -/* 323EC 80056FEC 93B3004B */ lbu $s3, 0x4b($sp) -/* 323F0 80056FF0 00623821 */ addu $a3, $v1, $v0 -/* 323F4 80056FF4 24E40004 */ addiu $a0, $a3, 4 -/* 323F8 80056FF8 A0E50078 */ sb $a1, 0x78($a3) -/* 323FC 80056FFC ACE60018 */ sw $a2, 0x18($a3) -/* 32400 80057000 8C820014 */ lw $v0, 0x14($a0) -/* 32404 80057004 8C420000 */ lw $v0, ($v0) -/* 32408 80057008 ACE00028 */ sw $zero, 0x28($a3) -/* 3240C 8005700C ACE20034 */ sw $v0, 0x34($a3) -/* 32410 80057010 8C850014 */ lw $a1, 0x14($a0) -/* 32414 80057014 24F00048 */ addiu $s0, $a3, 0x48 -/* 32418 80057018 90A30024 */ lbu $v1, 0x24($a1) -/* 3241C 8005701C 10600006 */ beqz $v1, .L80057038 -/* 32420 80057020 24F40038 */ addiu $s4, $a3, 0x38 -/* 32424 80057024 24020001 */ addiu $v0, $zero, 1 -/* 32428 80057028 10620022 */ beq $v1, $v0, .L800570B4 -/* 3242C 8005702C 00000000 */ nop -/* 32430 80057030 08015C3C */ j .L800570F0 -/* 32434 80057034 24050001 */ addiu $a1, $zero, 1 -.L80057038: -/* 32438 80057038 3C0338E3 */ lui $v1, 0x38e3 -/* 3243C 8005703C 8CA20004 */ lw $v0, 4($a1) -/* 32440 80057040 34638E39 */ ori $v1, $v1, 0x8e39 -/* 32444 80057044 00430019 */ multu $v0, $v1 -/* 32448 80057048 00004010 */ mfhi $t0 -/* 3244C 8005704C 00081842 */ srl $v1, $t0, 1 -/* 32450 80057050 000310C0 */ sll $v0, $v1, 3 -/* 32454 80057054 00431021 */ addu $v0, $v0, $v1 -/* 32458 80057058 ACA20004 */ sw $v0, 4($a1) -/* 3245C 8005705C 8C820014 */ lw $v0, 0x14($a0) -/* 32460 80057060 9442001C */ lhu $v0, 0x1c($v0) -/* 32464 80057064 ACE2001C */ sw $v0, 0x1c($a3) -/* 32468 80057068 8C830014 */ lw $v1, 0x14($a0) -/* 3246C 8005706C 8C620010 */ lw $v0, 0x10($v1) -/* 32470 80057070 5040001C */ beql $v0, $zero, .L800570E4 -/* 32474 80057074 ACE00014 */ sw $zero, 0x14($a3) -/* 32478 80057078 8C62000C */ lw $v0, 0xc($v1) -/* 3247C 8005707C ACE2000C */ sw $v0, 0xc($a3) -/* 32480 80057080 8C820014 */ lw $v0, 0x14($a0) -/* 32484 80057084 8C420010 */ lw $v0, 0x10($v0) -/* 32488 80057088 ACE20010 */ sw $v0, 0x10($a3) -/* 3248C 8005708C 8C820014 */ lw $v0, 0x14($a0) -/* 32490 80057090 8C420014 */ lw $v0, 0x14($v0) -/* 32494 80057094 ACE20014 */ sw $v0, 0x14($a3) -/* 32498 80057098 8C820014 */ lw $v0, 0x14($a0) -/* 3249C 8005709C 8CE50008 */ lw $a1, 8($a3) -/* 324A0 800570A0 8C440008 */ lw $a0, 8($v0) -/* 324A4 800570A4 0C015FF6 */ jal func_80057FD8 -/* 324A8 800570A8 24060020 */ addiu $a2, $zero, 0x20 -/* 324AC 800570AC 08015C3C */ j .L800570F0 -/* 324B0 800570B0 24050001 */ addiu $a1, $zero, 1 -.L800570B4: -/* 324B4 800570B4 8CA20010 */ lw $v0, 0x10($a1) -/* 324B8 800570B8 5040000A */ beql $v0, $zero, .L800570E4 -/* 324BC 800570BC ACE00014 */ sw $zero, 0x14($a3) -/* 324C0 800570C0 8CA2000C */ lw $v0, 0xc($a1) -/* 324C4 800570C4 ACE2000C */ sw $v0, 0xc($a3) -/* 324C8 800570C8 8C820014 */ lw $v0, 0x14($a0) -/* 324CC 800570CC 8C420010 */ lw $v0, 0x10($v0) -/* 324D0 800570D0 ACE20010 */ sw $v0, 0x10($a3) -/* 324D4 800570D4 8C820014 */ lw $v0, 0x14($a0) -/* 324D8 800570D8 8C420014 */ lw $v0, 0x14($v0) -/* 324DC 800570DC 08015C3B */ j .L800570EC -/* 324E0 800570E0 ACE20014 */ sw $v0, 0x14($a3) -.L800570E4: -/* 324E4 800570E4 ACE00010 */ sw $zero, 0x10($a3) -/* 324E8 800570E8 ACE0000C */ sw $zero, 0xc($a3) -.L800570EC: -/* 324EC 800570EC 24050001 */ addiu $a1, $zero, 1 -.L800570F0: -/* 324F0 800570F0 00111400 */ sll $v0, $s1, 0x10 -/* 324F4 800570F4 00021403 */ sra $v0, $v0, 0x10 -/* 324F8 800570F8 326300FF */ andi $v1, $s3, 0xff -/* 324FC 800570FC 00420018 */ mult $v0, $v0 -/* 32500 80057100 AE050028 */ sw $a1, 0x28($s0) -/* 32504 80057104 AE050024 */ sw $a1, 0x24($s0) -/* 32508 80057108 AE00001C */ sw $zero, 0x1c($s0) -/* 3250C 8005710C 8FA2004C */ lw $v0, 0x4c($sp) -/* 32510 80057110 2406007F */ addiu $a2, $zero, 0x7f -/* 32514 80057114 AE020020 */ sw $v0, 0x20($s0) -/* 32518 80057118 324200FF */ andi $v0, $s2, 0xff -/* 3251C 8005711C A6020004 */ sh $v0, 4($s0) -/* 32520 80057120 00004012 */ mflo $t0 -/* 32524 80057124 000813C3 */ sra $v0, $t0, 0xf -/* 32528 80057128 A6020006 */ sh $v0, 6($s0) -/* 3252C 8005712C 00A31004 */ sllv $v0, $v1, $a1 -/* 32530 80057130 00C31823 */ subu $v1, $a2, $v1 -/* 32534 80057134 3C018008 */ lui $at, %hi(D_80078E60) -/* 32538 80057138 00220821 */ addu $at, $at, $v0 -/* 3253C 8005713C 94228E60 */ lhu $v0, %lo(D_80078E60)($at) -/* 32540 80057140 00A31804 */ sllv $v1, $v1, $a1 -/* 32544 80057144 A602000C */ sh $v0, 0xc($s0) -/* 32548 80057148 3C028008 */ lui $v0, %hi(D_80078E60) -/* 3254C 8005714C 00431021 */ addu $v0, $v0, $v1 -/* 32550 80057150 94428E60 */ lhu $v0, %lo(D_80078E60)($v0) -/* 32554 80057154 A602000E */ sh $v0, 0xe($s0) -/* 32558 80057158 8E020020 */ lw $v0, 0x20($s0) -/* 3255C 8005715C 3C048008 */ lui $a0, %hi(D_80078E60) -/* 32560 80057160 24848E60 */ addiu $a0, $a0, %lo(D_80078E60) -/* 32564 80057164 10400004 */ beqz $v0, .L80057178 -/* 32568 80057168 00000000 */ nop -/* 3256C 8005716C A6050008 */ sh $a1, 8($s0) -/* 32570 80057170 08015C7F */ j .L800571FC -/* 32574 80057174 A605000A */ sh $a1, 0xa($s0) -.L80057178: -/* 32578 80057178 3C028008 */ lui $v0, %hi(D_80078181) -/* 3257C 8005717C 24428181 */ addiu $v0, $v0, %lo(D_80078181) -/* 32580 80057180 90420000 */ lbu $v0, ($v0) -/* 32584 80057184 1440000A */ bnez $v0, .L800571B0 -/* 32588 80057188 00000000 */ nop -/* 3258C 8005718C 86030006 */ lh $v1, 6($s0) -/* 32590 80057190 84820080 */ lh $v0, 0x80($a0) -/* 32594 80057194 00620018 */ mult $v1, $v0 -/* 32598 80057198 00004012 */ mflo $t0 -/* 3259C 8005719C 000813C3 */ sra $v0, $t0, 0xf -/* 325A0 800571A0 A6020008 */ sh $v0, 8($s0) -/* 325A4 800571A4 84820080 */ lh $v0, 0x80($a0) -/* 325A8 800571A8 08015C7C */ j .L800571F0 -/* 325AC 800571AC 00620018 */ mult $v1, $v0 -.L800571B0: -/* 325B0 800571B0 86020004 */ lh $v0, 4($s0) -/* 325B4 800571B4 86030006 */ lh $v1, 6($s0) -/* 325B8 800571B8 00021040 */ sll $v0, $v0, 1 -/* 325BC 800571BC 00441021 */ addu $v0, $v0, $a0 -/* 325C0 800571C0 84420000 */ lh $v0, ($v0) -/* 325C4 800571C4 00620018 */ mult $v1, $v0 -/* 325C8 800571C8 86020004 */ lh $v0, 4($s0) -/* 325CC 800571CC 00C21023 */ subu $v0, $a2, $v0 -/* 325D0 800571D0 00021040 */ sll $v0, $v0, 1 -/* 325D4 800571D4 00441021 */ addu $v0, $v0, $a0 -/* 325D8 800571D8 00004012 */ mflo $t0 -/* 325DC 800571DC 00081BC3 */ sra $v1, $t0, 0xf -/* 325E0 800571E0 A6030008 */ sh $v1, 8($s0) -/* 325E4 800571E4 86030006 */ lh $v1, 6($s0) -/* 325E8 800571E8 84420000 */ lh $v0, ($v0) -/* 325EC 800571EC 00620018 */ mult $v1, $v0 -.L800571F0: -/* 325F0 800571F0 00004012 */ mflo $t0 -/* 325F4 800571F4 000813C3 */ sra $v0, $t0, 0xf -/* 325F8 800571F8 A602000A */ sh $v0, 0xa($s0) -.L800571FC: -/* 325FC 800571FC E6940004 */ swc1 $f20, 4($s4) -/* 32600 80057200 8FBF0024 */ lw $ra, 0x24($sp) -/* 32604 80057204 8FB40020 */ lw $s4, 0x20($sp) -/* 32608 80057208 8FB3001C */ lw $s3, 0x1c($sp) -/* 3260C 8005720C 8FB20018 */ lw $s2, 0x18($sp) -/* 32610 80057210 8FB10014 */ lw $s1, 0x14($sp) -/* 32614 80057214 8FB00010 */ lw $s0, 0x10($sp) -/* 32618 80057218 D7B40028 */ ldc1 $f20, 0x28($sp) -/* 3261C 8005721C 03E00008 */ jr $ra -/* 32620 80057220 27BD0030 */ addiu $sp, $sp, 0x30 diff --git a/asm/nonmatchings/code_303c0_len_3e10/func_80057224.s b/asm/nonmatchings/code_303c0_len_3e10/func_80057224.s deleted file mode 100644 index 0ccc428d61..0000000000 --- a/asm/nonmatchings/code_303c0_len_3e10/func_80057224.s +++ /dev/null @@ -1,80 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel func_80057224 -/* 32624 80057224 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 32628 80057228 308400FF */ andi $a0, $a0, 0xff -/* 3262C 8005722C 00041140 */ sll $v0, $a0, 5 -/* 32630 80057230 3C038008 */ lui $v1, %hi(D_80078E54) -/* 32634 80057234 8C638E54 */ lw $v1, %lo(D_80078E54)($v1) -/* 32638 80057238 00441023 */ subu $v0, $v0, $a0 -/* 3263C 8005723C AFBF0010 */ sw $ra, 0x10($sp) -/* 32640 80057240 8C63001C */ lw $v1, 0x1c($v1) -/* 32644 80057244 00021080 */ sll $v0, $v0, 2 -/* 32648 80057248 00623021 */ addu $a2, $v1, $v0 -/* 3264C 8005724C ACC50018 */ sw $a1, 0x18($a2) -/* 32650 80057250 24C50004 */ addiu $a1, $a2, 4 -/* 32654 80057254 8CA20014 */ lw $v0, 0x14($a1) -/* 32658 80057258 8C420000 */ lw $v0, ($v0) -/* 3265C 8005725C ACC00028 */ sw $zero, 0x28($a2) -/* 32660 80057260 ACC20034 */ sw $v0, 0x34($a2) -/* 32664 80057264 8CA40014 */ lw $a0, 0x14($a1) -/* 32668 80057268 90830024 */ lbu $v1, 0x24($a0) -/* 3266C 8005726C 10600005 */ beqz $v1, .L80057284 -/* 32670 80057270 24020001 */ addiu $v0, $zero, 1 -/* 32674 80057274 10620022 */ beq $v1, $v0, .L80057300 -/* 32678 80057278 00000000 */ nop -/* 3267C 8005727C 08015CCE */ j .L80057338 -/* 32680 80057280 00000000 */ nop -.L80057284: -/* 32684 80057284 3C0338E3 */ lui $v1, 0x38e3 -/* 32688 80057288 8C820004 */ lw $v0, 4($a0) -/* 3268C 8005728C 34638E39 */ ori $v1, $v1, 0x8e39 -/* 32690 80057290 00430019 */ multu $v0, $v1 -/* 32694 80057294 00003810 */ mfhi $a3 -/* 32698 80057298 00071842 */ srl $v1, $a3, 1 -/* 3269C 8005729C 000310C0 */ sll $v0, $v1, 3 -/* 326A0 800572A0 00431021 */ addu $v0, $v0, $v1 -/* 326A4 800572A4 AC820004 */ sw $v0, 4($a0) -/* 326A8 800572A8 8CA20014 */ lw $v0, 0x14($a1) -/* 326AC 800572AC 9442001C */ lhu $v0, 0x1c($v0) -/* 326B0 800572B0 ACC2001C */ sw $v0, 0x1c($a2) -/* 326B4 800572B4 8CA30014 */ lw $v1, 0x14($a1) -/* 326B8 800572B8 8C620010 */ lw $v0, 0x10($v1) -/* 326BC 800572BC 5040001C */ beql $v0, $zero, .L80057330 -/* 326C0 800572C0 ACC00014 */ sw $zero, 0x14($a2) -/* 326C4 800572C4 8C62000C */ lw $v0, 0xc($v1) -/* 326C8 800572C8 ACC2000C */ sw $v0, 0xc($a2) -/* 326CC 800572CC 8CA20014 */ lw $v0, 0x14($a1) -/* 326D0 800572D0 8C420010 */ lw $v0, 0x10($v0) -/* 326D4 800572D4 ACC20010 */ sw $v0, 0x10($a2) -/* 326D8 800572D8 8CA20014 */ lw $v0, 0x14($a1) -/* 326DC 800572DC 8C420014 */ lw $v0, 0x14($v0) -/* 326E0 800572E0 ACC20014 */ sw $v0, 0x14($a2) -/* 326E4 800572E4 8CA20014 */ lw $v0, 0x14($a1) -/* 326E8 800572E8 8CC50008 */ lw $a1, 8($a2) -/* 326EC 800572EC 8C440008 */ lw $a0, 8($v0) -/* 326F0 800572F0 0C015FF6 */ jal func_80057FD8 -/* 326F4 800572F4 24060020 */ addiu $a2, $zero, 0x20 -/* 326F8 800572F8 08015CCE */ j .L80057338 -/* 326FC 800572FC 00000000 */ nop -.L80057300: -/* 32700 80057300 8C820010 */ lw $v0, 0x10($a0) -/* 32704 80057304 5040000A */ beql $v0, $zero, .L80057330 -/* 32708 80057308 ACC00014 */ sw $zero, 0x14($a2) -/* 3270C 8005730C 8C82000C */ lw $v0, 0xc($a0) -/* 32710 80057310 ACC2000C */ sw $v0, 0xc($a2) -/* 32714 80057314 8CA20014 */ lw $v0, 0x14($a1) -/* 32718 80057318 8C420010 */ lw $v0, 0x10($v0) -/* 3271C 8005731C ACC20010 */ sw $v0, 0x10($a2) -/* 32720 80057320 8CA20014 */ lw $v0, 0x14($a1) -/* 32724 80057324 8C420014 */ lw $v0, 0x14($v0) -/* 32728 80057328 08015CCE */ j .L80057338 -/* 3272C 8005732C ACC20014 */ sw $v0, 0x14($a2) -.L80057330: -/* 32730 80057330 ACC00010 */ sw $zero, 0x10($a2) -/* 32734 80057334 ACC0000C */ sw $zero, 0xc($a2) -.L80057338: -/* 32738 80057338 8FBF0010 */ lw $ra, 0x10($sp) -/* 3273C 8005733C 03E00008 */ jr $ra -/* 32740 80057340 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/code_303c0_len_3e10/func_8005736C.s b/asm/nonmatchings/code_303c0_len_3e10/func_8005736C.s deleted file mode 100644 index d153088e98..0000000000 --- a/asm/nonmatchings/code_303c0_len_3e10/func_8005736C.s +++ /dev/null @@ -1,128 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel func_8005736C -/* 3276C 8005736C 27BDFFD0 */ addiu $sp, $sp, -0x30 -/* 32770 80057370 AFB50024 */ sw $s5, 0x24($sp) -/* 32774 80057374 00C0A82D */ daddu $s5, $a2, $zero -/* 32778 80057378 AFB3001C */ sw $s3, 0x1c($sp) -/* 3277C 8005737C 00A0982D */ daddu $s3, $a1, $zero -/* 32780 80057380 AFB40020 */ sw $s4, 0x20($sp) -/* 32784 80057384 00E0A02D */ daddu $s4, $a3, $zero -/* 32788 80057388 308400FF */ andi $a0, $a0, 0xff -/* 3278C 8005738C 00041140 */ sll $v0, $a0, 5 -/* 32790 80057390 00441023 */ subu $v0, $v0, $a0 -/* 32794 80057394 3C038008 */ lui $v1, %hi(D_80078E54) -/* 32798 80057398 8C638E54 */ lw $v1, %lo(D_80078E54)($v1) -/* 3279C 8005739C 00021080 */ sll $v0, $v0, 2 -/* 327A0 800573A0 AFBF0028 */ sw $ra, 0x28($sp) -/* 327A4 800573A4 AFB20018 */ sw $s2, 0x18($sp) -/* 327A8 800573A8 AFB10014 */ sw $s1, 0x14($sp) -/* 327AC 800573AC AFB00010 */ sw $s0, 0x10($sp) -/* 327B0 800573B0 8C63001C */ lw $v1, 0x1c($v1) -/* 327B4 800573B4 93B20043 */ lbu $s2, 0x43($sp) -/* 327B8 800573B8 00628021 */ addu $s0, $v1, $v0 -/* 327BC 800573BC 8E050064 */ lw $a1, 0x64($s0) -/* 327C0 800573C0 8E030068 */ lw $v1, 0x68($s0) -/* 327C4 800573C4 00A3102A */ slt $v0, $a1, $v1 -/* 327C8 800573C8 14400029 */ bnez $v0, .L80057470 -/* 327CC 800573CC 26110048 */ addiu $s1, $s0, 0x48 -/* 327D0 800573D0 3C028008 */ lui $v0, %hi(D_80078181) -/* 327D4 800573D4 24428181 */ addiu $v0, $v0, %lo(D_80078181) -/* 327D8 800573D8 90420000 */ lbu $v0, ($v0) -/* 327DC 800573DC 1440000E */ bnez $v0, .L80057418 -/* 327E0 800573E0 AE030064 */ sw $v1, 0x64($s0) -/* 327E4 800573E4 3C048008 */ lui $a0, %hi(D_80078E60) -/* 327E8 800573E8 24848E60 */ addiu $a0, $a0, %lo(D_80078E60) -/* 327EC 800573EC 8603004E */ lh $v1, 0x4e($s0) -/* 327F0 800573F0 84820080 */ lh $v0, 0x80($a0) -/* 327F4 800573F4 00620018 */ mult $v1, $v0 -/* 327F8 800573F8 00004012 */ mflo $t0 -/* 327FC 800573FC 000813C3 */ sra $v0, $t0, 0xf -/* 32800 80057400 A6020050 */ sh $v0, 0x50($s0) -/* 32804 80057404 84820080 */ lh $v0, 0x80($a0) -/* 32808 80057408 00620018 */ mult $v1, $v0 -/* 3280C 8005740C 00004012 */ mflo $t0 -/* 32810 80057410 08015D26 */ j .L80057498 -/* 32814 80057414 000813C3 */ sra $v0, $t0, 0xf -.L80057418: -/* 32818 80057418 8602004C */ lh $v0, 0x4c($s0) -/* 3281C 8005741C 8603004E */ lh $v1, 0x4e($s0) -/* 32820 80057420 00021040 */ sll $v0, $v0, 1 -/* 32824 80057424 3C018008 */ lui $at, %hi(D_80078E60) -/* 32828 80057428 00220821 */ addu $at, $at, $v0 -/* 3282C 8005742C 84228E60 */ lh $v0, %lo(D_80078E60)($at) -/* 32830 80057430 00620018 */ mult $v1, $v0 -/* 32834 80057434 8603004C */ lh $v1, 0x4c($s0) -/* 32838 80057438 00004012 */ mflo $t0 -/* 3283C 8005743C 000813C3 */ sra $v0, $t0, 0xf -/* 32840 80057440 A6020050 */ sh $v0, 0x50($s0) -/* 32844 80057444 2402007F */ addiu $v0, $zero, 0x7f -/* 32848 80057448 00431023 */ subu $v0, $v0, $v1 -/* 3284C 8005744C 00021040 */ sll $v0, $v0, 1 -/* 32850 80057450 8603004E */ lh $v1, 0x4e($s0) -/* 32854 80057454 3C018008 */ lui $at, %hi(D_80078E60) -/* 32858 80057458 00220821 */ addu $at, $at, $v0 -/* 3285C 8005745C 84228E60 */ lh $v0, %lo(D_80078E60)($at) -/* 32860 80057460 00620018 */ mult $v1, $v0 -/* 32864 80057464 00004012 */ mflo $t0 -/* 32868 80057468 08015D26 */ j .L80057498 -/* 3286C 8005746C 000813C3 */ sra $v0, $t0, 0xf -.L80057470: -/* 32870 80057470 86040050 */ lh $a0, 0x50($s0) -/* 32874 80057474 8606005A */ lh $a2, 0x5a($s0) -/* 32878 80057478 0C016001 */ jal func_80058004 -/* 3287C 8005747C 96070058 */ lhu $a3, 0x58($s0) -/* 32880 80057480 86040052 */ lh $a0, 0x52($s0) -/* 32884 80057484 8E050064 */ lw $a1, 0x64($s0) -/* 32888 80057488 86060060 */ lh $a2, 0x60($s0) -/* 3288C 8005748C 9607005E */ lhu $a3, 0x5e($s0) -/* 32890 80057490 0C016001 */ jal func_80058004 -/* 32894 80057494 A6020050 */ sh $v0, 0x50($s0) -.L80057498: -/* 32898 80057498 A6020052 */ sh $v0, 0x52($s0) -/* 3289C 8005749C 86220008 */ lh $v0, 8($s1) -/* 328A0 800574A0 14400002 */ bnez $v0, .L800574AC -/* 328A4 800574A4 24020001 */ addiu $v0, $zero, 1 -/* 328A8 800574A8 A6220008 */ sh $v0, 8($s1) -.L800574AC: -/* 328AC 800574AC 8622000A */ lh $v0, 0xa($s1) -/* 328B0 800574B0 14400004 */ bnez $v0, .L800574C4 -/* 328B4 800574B4 00131400 */ sll $v0, $s3, 0x10 -/* 328B8 800574B8 24020001 */ addiu $v0, $zero, 1 -/* 328BC 800574BC A622000A */ sh $v0, 0xa($s1) -/* 328C0 800574C0 00131400 */ sll $v0, $s3, 0x10 -.L800574C4: -/* 328C4 800574C4 00021403 */ sra $v0, $v0, 0x10 -/* 328C8 800574C8 00420018 */ mult $v0, $v0 -/* 328CC 800574CC 328200FF */ andi $v0, $s4, 0xff -/* 328D0 800574D0 324300FF */ andi $v1, $s2, 0xff -/* 328D4 800574D4 AE20001C */ sw $zero, 0x1c($s1) -/* 328D8 800574D8 AE350020 */ sw $s5, 0x20($s1) -/* 328DC 800574DC A6220004 */ sh $v0, 4($s1) -/* 328E0 800574E0 00004012 */ mflo $t0 -/* 328E4 800574E4 000813C3 */ sra $v0, $t0, 0xf -/* 328E8 800574E8 A6220006 */ sh $v0, 6($s1) -/* 328EC 800574EC 00031040 */ sll $v0, $v1, 1 -/* 328F0 800574F0 3C018008 */ lui $at, %hi(D_80078E60) -/* 328F4 800574F4 00220821 */ addu $at, $at, $v0 -/* 328F8 800574F8 94228E60 */ lhu $v0, %lo(D_80078E60)($at) -/* 328FC 800574FC A622000C */ sh $v0, 0xc($s1) -/* 32900 80057500 2402007F */ addiu $v0, $zero, 0x7f -/* 32904 80057504 00431023 */ subu $v0, $v0, $v1 -/* 32908 80057508 00021040 */ sll $v0, $v0, 1 -/* 3290C 8005750C 3C038008 */ lui $v1, %hi(D_80078E60) -/* 32910 80057510 00621821 */ addu $v1, $v1, $v0 -/* 32914 80057514 94638E60 */ lhu $v1, %lo(D_80078E60)($v1) -/* 32918 80057518 24020001 */ addiu $v0, $zero, 1 -/* 3291C 8005751C AE220024 */ sw $v0, 0x24($s1) -/* 32920 80057520 A623000E */ sh $v1, 0xe($s1) -/* 32924 80057524 8FBF0028 */ lw $ra, 0x28($sp) -/* 32928 80057528 8FB50024 */ lw $s5, 0x24($sp) -/* 3292C 8005752C 8FB40020 */ lw $s4, 0x20($sp) -/* 32930 80057530 8FB3001C */ lw $s3, 0x1c($sp) -/* 32934 80057534 8FB20018 */ lw $s2, 0x18($sp) -/* 32938 80057538 8FB10014 */ lw $s1, 0x14($sp) -/* 3293C 8005753C 8FB00010 */ lw $s0, 0x10($sp) -/* 32940 80057540 03E00008 */ jr $ra -/* 32944 80057544 27BD0030 */ addiu $sp, $sp, 0x30 diff --git a/asm/nonmatchings/code_303c0_len_3e10/func_80057548.s b/asm/nonmatchings/code_303c0_len_3e10/func_80057548.s deleted file mode 100644 index 0349d24b40..0000000000 --- a/asm/nonmatchings/code_303c0_len_3e10/func_80057548.s +++ /dev/null @@ -1,114 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel func_80057548 -/* 32948 80057548 27BDFFD8 */ addiu $sp, $sp, -0x28 -/* 3294C 8005754C AFB20018 */ sw $s2, 0x18($sp) -/* 32950 80057550 00A0902D */ daddu $s2, $a1, $zero -/* 32954 80057554 AFB3001C */ sw $s3, 0x1c($sp) -/* 32958 80057558 00C0982D */ daddu $s3, $a2, $zero -/* 3295C 8005755C 308400FF */ andi $a0, $a0, 0xff -/* 32960 80057560 00041140 */ sll $v0, $a0, 5 -/* 32964 80057564 3C038008 */ lui $v1, %hi(D_80078E54) -/* 32968 80057568 8C638E54 */ lw $v1, %lo(D_80078E54)($v1) -/* 3296C 8005756C 00441023 */ subu $v0, $v0, $a0 -/* 32970 80057570 AFBF0020 */ sw $ra, 0x20($sp) -/* 32974 80057574 AFB10014 */ sw $s1, 0x14($sp) -/* 32978 80057578 AFB00010 */ sw $s0, 0x10($sp) -/* 3297C 8005757C 8C63001C */ lw $v1, 0x1c($v1) -/* 32980 80057580 00021080 */ sll $v0, $v0, 2 -/* 32984 80057584 00628021 */ addu $s0, $v1, $v0 -/* 32988 80057588 8E050064 */ lw $a1, 0x64($s0) -/* 3298C 8005758C 8E030068 */ lw $v1, 0x68($s0) -/* 32990 80057590 00A3102A */ slt $v0, $a1, $v1 -/* 32994 80057594 14400029 */ bnez $v0, .L8005763C -/* 32998 80057598 26110048 */ addiu $s1, $s0, 0x48 -/* 3299C 8005759C 3C028008 */ lui $v0, %hi(D_80078181) -/* 329A0 800575A0 24428181 */ addiu $v0, $v0, %lo(D_80078181) -/* 329A4 800575A4 90420000 */ lbu $v0, ($v0) -/* 329A8 800575A8 1440000E */ bnez $v0, .L800575E4 -/* 329AC 800575AC AE030064 */ sw $v1, 0x64($s0) -/* 329B0 800575B0 3C048008 */ lui $a0, %hi(D_80078E60) -/* 329B4 800575B4 24848E60 */ addiu $a0, $a0, %lo(D_80078E60) -/* 329B8 800575B8 8603004E */ lh $v1, 0x4e($s0) -/* 329BC 800575BC 84820080 */ lh $v0, 0x80($a0) -/* 329C0 800575C0 00620018 */ mult $v1, $v0 -/* 329C4 800575C4 00004012 */ mflo $t0 -/* 329C8 800575C8 000813C3 */ sra $v0, $t0, 0xf -/* 329CC 800575CC A6020050 */ sh $v0, 0x50($s0) -/* 329D0 800575D0 84820080 */ lh $v0, 0x80($a0) -/* 329D4 800575D4 00620018 */ mult $v1, $v0 -/* 329D8 800575D8 00004012 */ mflo $t0 -/* 329DC 800575DC 08015D99 */ j .L80057664 -/* 329E0 800575E0 000813C3 */ sra $v0, $t0, 0xf -.L800575E4: -/* 329E4 800575E4 8602004C */ lh $v0, 0x4c($s0) -/* 329E8 800575E8 8603004E */ lh $v1, 0x4e($s0) -/* 329EC 800575EC 00021040 */ sll $v0, $v0, 1 -/* 329F0 800575F0 3C018008 */ lui $at, %hi(D_80078E60) -/* 329F4 800575F4 00220821 */ addu $at, $at, $v0 -/* 329F8 800575F8 84228E60 */ lh $v0, %lo(D_80078E60)($at) -/* 329FC 800575FC 00620018 */ mult $v1, $v0 -/* 32A00 80057600 8603004C */ lh $v1, 0x4c($s0) -/* 32A04 80057604 00004012 */ mflo $t0 -/* 32A08 80057608 000813C3 */ sra $v0, $t0, 0xf -/* 32A0C 8005760C A6020050 */ sh $v0, 0x50($s0) -/* 32A10 80057610 2402007F */ addiu $v0, $zero, 0x7f -/* 32A14 80057614 00431023 */ subu $v0, $v0, $v1 -/* 32A18 80057618 00021040 */ sll $v0, $v0, 1 -/* 32A1C 8005761C 8603004E */ lh $v1, 0x4e($s0) -/* 32A20 80057620 3C018008 */ lui $at, %hi(D_80078E60) -/* 32A24 80057624 00220821 */ addu $at, $at, $v0 -/* 32A28 80057628 84228E60 */ lh $v0, %lo(D_80078E60)($at) -/* 32A2C 8005762C 00620018 */ mult $v1, $v0 -/* 32A30 80057630 00004012 */ mflo $t0 -/* 32A34 80057634 08015D99 */ j .L80057664 -/* 32A38 80057638 000813C3 */ sra $v0, $t0, 0xf -.L8005763C: -/* 32A3C 8005763C 86040050 */ lh $a0, 0x50($s0) -/* 32A40 80057640 8606005A */ lh $a2, 0x5a($s0) -/* 32A44 80057644 0C016001 */ jal func_80058004 -/* 32A48 80057648 96070058 */ lhu $a3, 0x58($s0) -/* 32A4C 8005764C 86040052 */ lh $a0, 0x52($s0) -/* 32A50 80057650 8E050064 */ lw $a1, 0x64($s0) -/* 32A54 80057654 86060060 */ lh $a2, 0x60($s0) -/* 32A58 80057658 9607005E */ lhu $a3, 0x5e($s0) -/* 32A5C 8005765C 0C016001 */ jal func_80058004 -/* 32A60 80057660 A6020050 */ sh $v0, 0x50($s0) -.L80057664: -/* 32A64 80057664 A6020052 */ sh $v0, 0x52($s0) -/* 32A68 80057668 86220008 */ lh $v0, 8($s1) -/* 32A6C 8005766C 14400002 */ bnez $v0, .L80057678 -/* 32A70 80057670 24020001 */ addiu $v0, $zero, 1 -/* 32A74 80057674 A6220008 */ sh $v0, 8($s1) -.L80057678: -/* 32A78 80057678 8622000A */ lh $v0, 0xa($s1) -/* 32A7C 8005767C 14400004 */ bnez $v0, .L80057690 -/* 32A80 80057680 324200FF */ andi $v0, $s2, 0xff -/* 32A84 80057684 24020001 */ addiu $v0, $zero, 1 -/* 32A88 80057688 A622000A */ sh $v0, 0xa($s1) -/* 32A8C 8005768C 324200FF */ andi $v0, $s2, 0xff -.L80057690: -/* 32A90 80057690 326300FF */ andi $v1, $s3, 0xff -/* 32A94 80057694 A6220004 */ sh $v0, 4($s1) -/* 32A98 80057698 00031040 */ sll $v0, $v1, 1 -/* 32A9C 8005769C 3C018008 */ lui $at, %hi(D_80078E60) -/* 32AA0 800576A0 00220821 */ addu $at, $at, $v0 -/* 32AA4 800576A4 94228E60 */ lhu $v0, %lo(D_80078E60)($at) -/* 32AA8 800576A8 A622000C */ sh $v0, 0xc($s1) -/* 32AAC 800576AC 2402007F */ addiu $v0, $zero, 0x7f -/* 32AB0 800576B0 00431023 */ subu $v0, $v0, $v1 -/* 32AB4 800576B4 00021040 */ sll $v0, $v0, 1 -/* 32AB8 800576B8 3C038008 */ lui $v1, %hi(D_80078E60) -/* 32ABC 800576BC 00621821 */ addu $v1, $v1, $v0 -/* 32AC0 800576C0 94638E60 */ lhu $v1, %lo(D_80078E60)($v1) -/* 32AC4 800576C4 24020001 */ addiu $v0, $zero, 1 -/* 32AC8 800576C8 AE220024 */ sw $v0, 0x24($s1) -/* 32ACC 800576CC A623000E */ sh $v1, 0xe($s1) -/* 32AD0 800576D0 8FBF0020 */ lw $ra, 0x20($sp) -/* 32AD4 800576D4 8FB3001C */ lw $s3, 0x1c($sp) -/* 32AD8 800576D8 8FB20018 */ lw $s2, 0x18($sp) -/* 32ADC 800576DC 8FB10014 */ lw $s1, 0x14($sp) -/* 32AE0 800576E0 8FB00010 */ lw $s0, 0x10($sp) -/* 32AE4 800576E4 03E00008 */ jr $ra -/* 32AE8 800576E8 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/code_303c0_len_3e10/func_800576EC.s b/asm/nonmatchings/code_303c0_len_3e10/func_800576EC.s deleted file mode 100644 index 79ebca8337..0000000000 --- a/asm/nonmatchings/code_303c0_len_3e10/func_800576EC.s +++ /dev/null @@ -1,107 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel func_800576EC -/* 32AEC 800576EC 27BDFFD8 */ addiu $sp, $sp, -0x28 -/* 32AF0 800576F0 AFB3001C */ sw $s3, 0x1c($sp) -/* 32AF4 800576F4 00C0982D */ daddu $s3, $a2, $zero -/* 32AF8 800576F8 AFB20018 */ sw $s2, 0x18($sp) -/* 32AFC 800576FC 00A0902D */ daddu $s2, $a1, $zero -/* 32B00 80057700 308400FF */ andi $a0, $a0, 0xff -/* 32B04 80057704 00041140 */ sll $v0, $a0, 5 -/* 32B08 80057708 3C038008 */ lui $v1, %hi(D_80078E54) -/* 32B0C 8005770C 8C638E54 */ lw $v1, %lo(D_80078E54)($v1) -/* 32B10 80057710 00441023 */ subu $v0, $v0, $a0 -/* 32B14 80057714 AFBF0020 */ sw $ra, 0x20($sp) -/* 32B18 80057718 AFB10014 */ sw $s1, 0x14($sp) -/* 32B1C 8005771C AFB00010 */ sw $s0, 0x10($sp) -/* 32B20 80057720 8C63001C */ lw $v1, 0x1c($v1) -/* 32B24 80057724 00021080 */ sll $v0, $v0, 2 -/* 32B28 80057728 00628021 */ addu $s0, $v1, $v0 -/* 32B2C 8005772C 8E050064 */ lw $a1, 0x64($s0) -/* 32B30 80057730 8E030068 */ lw $v1, 0x68($s0) -/* 32B34 80057734 00A3102A */ slt $v0, $a1, $v1 -/* 32B38 80057738 14400029 */ bnez $v0, .L800577E0 -/* 32B3C 8005773C 26110048 */ addiu $s1, $s0, 0x48 -/* 32B40 80057740 3C028008 */ lui $v0, %hi(D_80078181) -/* 32B44 80057744 24428181 */ addiu $v0, $v0, %lo(D_80078181) -/* 32B48 80057748 90420000 */ lbu $v0, ($v0) -/* 32B4C 8005774C 1440000E */ bnez $v0, .L80057788 -/* 32B50 80057750 AE030064 */ sw $v1, 0x64($s0) -/* 32B54 80057754 3C048008 */ lui $a0, %hi(D_80078E60) -/* 32B58 80057758 24848E60 */ addiu $a0, $a0, %lo(D_80078E60) -/* 32B5C 8005775C 8603004E */ lh $v1, 0x4e($s0) -/* 32B60 80057760 84820080 */ lh $v0, 0x80($a0) -/* 32B64 80057764 00620018 */ mult $v1, $v0 -/* 32B68 80057768 00004012 */ mflo $t0 -/* 32B6C 8005776C 000813C3 */ sra $v0, $t0, 0xf -/* 32B70 80057770 A6020050 */ sh $v0, 0x50($s0) -/* 32B74 80057774 84820080 */ lh $v0, 0x80($a0) -/* 32B78 80057778 00620018 */ mult $v1, $v0 -/* 32B7C 8005777C 00004012 */ mflo $t0 -/* 32B80 80057780 08015E02 */ j .L80057808 -/* 32B84 80057784 000813C3 */ sra $v0, $t0, 0xf -.L80057788: -/* 32B88 80057788 8602004C */ lh $v0, 0x4c($s0) -/* 32B8C 8005778C 8603004E */ lh $v1, 0x4e($s0) -/* 32B90 80057790 00021040 */ sll $v0, $v0, 1 -/* 32B94 80057794 3C018008 */ lui $at, %hi(D_80078E60) -/* 32B98 80057798 00220821 */ addu $at, $at, $v0 -/* 32B9C 8005779C 84228E60 */ lh $v0, %lo(D_80078E60)($at) -/* 32BA0 800577A0 00620018 */ mult $v1, $v0 -/* 32BA4 800577A4 8603004C */ lh $v1, 0x4c($s0) -/* 32BA8 800577A8 00004012 */ mflo $t0 -/* 32BAC 800577AC 000813C3 */ sra $v0, $t0, 0xf -/* 32BB0 800577B0 A6020050 */ sh $v0, 0x50($s0) -/* 32BB4 800577B4 2402007F */ addiu $v0, $zero, 0x7f -/* 32BB8 800577B8 00431023 */ subu $v0, $v0, $v1 -/* 32BBC 800577BC 00021040 */ sll $v0, $v0, 1 -/* 32BC0 800577C0 8603004E */ lh $v1, 0x4e($s0) -/* 32BC4 800577C4 3C018008 */ lui $at, %hi(D_80078E60) -/* 32BC8 800577C8 00220821 */ addu $at, $at, $v0 -/* 32BCC 800577CC 84228E60 */ lh $v0, %lo(D_80078E60)($at) -/* 32BD0 800577D0 00620018 */ mult $v1, $v0 -/* 32BD4 800577D4 00004012 */ mflo $t0 -/* 32BD8 800577D8 08015E02 */ j .L80057808 -/* 32BDC 800577DC 000813C3 */ sra $v0, $t0, 0xf -.L800577E0: -/* 32BE0 800577E0 86040050 */ lh $a0, 0x50($s0) -/* 32BE4 800577E4 8606005A */ lh $a2, 0x5a($s0) -/* 32BE8 800577E8 0C016001 */ jal func_80058004 -/* 32BEC 800577EC 96070058 */ lhu $a3, 0x58($s0) -/* 32BF0 800577F0 86040052 */ lh $a0, 0x52($s0) -/* 32BF4 800577F4 8E050064 */ lw $a1, 0x64($s0) -/* 32BF8 800577F8 86060060 */ lh $a2, 0x60($s0) -/* 32BFC 800577FC 9607005E */ lhu $a3, 0x5e($s0) -/* 32C00 80057800 0C016001 */ jal func_80058004 -/* 32C04 80057804 A6020050 */ sh $v0, 0x50($s0) -.L80057808: -/* 32C08 80057808 A6020052 */ sh $v0, 0x52($s0) -/* 32C0C 8005780C 86220008 */ lh $v0, 8($s1) -/* 32C10 80057810 14400002 */ bnez $v0, .L8005781C -/* 32C14 80057814 24020001 */ addiu $v0, $zero, 1 -/* 32C18 80057818 A6220008 */ sh $v0, 8($s1) -.L8005781C: -/* 32C1C 8005781C 8622000A */ lh $v0, 0xa($s1) -/* 32C20 80057820 14400004 */ bnez $v0, .L80057834 -/* 32C24 80057824 00121400 */ sll $v0, $s2, 0x10 -/* 32C28 80057828 24020001 */ addiu $v0, $zero, 1 -/* 32C2C 8005782C A622000A */ sh $v0, 0xa($s1) -/* 32C30 80057830 00121400 */ sll $v0, $s2, 0x10 -.L80057834: -/* 32C34 80057834 00021403 */ sra $v0, $v0, 0x10 -/* 32C38 80057838 00420018 */ mult $v0, $v0 -/* 32C3C 8005783C 24020001 */ addiu $v0, $zero, 1 -/* 32C40 80057840 AE20001C */ sw $zero, 0x1c($s1) -/* 32C44 80057844 AE330020 */ sw $s3, 0x20($s1) -/* 32C48 80057848 AE220024 */ sw $v0, 0x24($s1) -/* 32C4C 8005784C 00004012 */ mflo $t0 -/* 32C50 80057850 000813C3 */ sra $v0, $t0, 0xf -/* 32C54 80057854 A6220006 */ sh $v0, 6($s1) -/* 32C58 80057858 8FBF0020 */ lw $ra, 0x20($sp) -/* 32C5C 8005785C 8FB3001C */ lw $s3, 0x1c($sp) -/* 32C60 80057860 8FB20018 */ lw $s2, 0x18($sp) -/* 32C64 80057864 8FB10014 */ lw $s1, 0x14($sp) -/* 32C68 80057868 8FB00010 */ lw $s0, 0x10($sp) -/* 32C6C 8005786C 03E00008 */ jr $ra -/* 32C70 80057870 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/code_303c0_len_3e10/func_80057874.s b/asm/nonmatchings/code_303c0_len_3e10/func_80057874.s deleted file mode 100644 index 9ec4fff3f8..0000000000 --- a/asm/nonmatchings/code_303c0_len_3e10/func_80057874.s +++ /dev/null @@ -1,98 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel func_80057874 -/* 32C74 80057874 27BDFFE0 */ addiu $sp, $sp, -0x20 -/* 32C78 80057878 AFB20018 */ sw $s2, 0x18($sp) -/* 32C7C 8005787C 00A0902D */ daddu $s2, $a1, $zero -/* 32C80 80057880 308400FF */ andi $a0, $a0, 0xff -/* 32C84 80057884 00041140 */ sll $v0, $a0, 5 -/* 32C88 80057888 3C038008 */ lui $v1, %hi(D_80078E54) -/* 32C8C 8005788C 8C638E54 */ lw $v1, %lo(D_80078E54)($v1) -/* 32C90 80057890 00441023 */ subu $v0, $v0, $a0 -/* 32C94 80057894 AFBF001C */ sw $ra, 0x1c($sp) -/* 32C98 80057898 AFB10014 */ sw $s1, 0x14($sp) -/* 32C9C 8005789C AFB00010 */ sw $s0, 0x10($sp) -/* 32CA0 800578A0 8C63001C */ lw $v1, 0x1c($v1) -/* 32CA4 800578A4 00021080 */ sll $v0, $v0, 2 -/* 32CA8 800578A8 00628021 */ addu $s0, $v1, $v0 -/* 32CAC 800578AC 8E050064 */ lw $a1, 0x64($s0) -/* 32CB0 800578B0 8E030068 */ lw $v1, 0x68($s0) -/* 32CB4 800578B4 00A3102A */ slt $v0, $a1, $v1 -/* 32CB8 800578B8 14400029 */ bnez $v0, .L80057960 -/* 32CBC 800578BC 26110048 */ addiu $s1, $s0, 0x48 -/* 32CC0 800578C0 3C028008 */ lui $v0, %hi(D_80078181) -/* 32CC4 800578C4 24428181 */ addiu $v0, $v0, %lo(D_80078181) -/* 32CC8 800578C8 90420000 */ lbu $v0, ($v0) -/* 32CCC 800578CC 1440000E */ bnez $v0, .L80057908 -/* 32CD0 800578D0 AE030064 */ sw $v1, 0x64($s0) -/* 32CD4 800578D4 3C048008 */ lui $a0, %hi(D_80078E60) -/* 32CD8 800578D8 24848E60 */ addiu $a0, $a0, %lo(D_80078E60) -/* 32CDC 800578DC 8603004E */ lh $v1, 0x4e($s0) -/* 32CE0 800578E0 84820080 */ lh $v0, 0x80($a0) -/* 32CE4 800578E4 00620018 */ mult $v1, $v0 -/* 32CE8 800578E8 00004012 */ mflo $t0 -/* 32CEC 800578EC 000813C3 */ sra $v0, $t0, 0xf -/* 32CF0 800578F0 A6020050 */ sh $v0, 0x50($s0) -/* 32CF4 800578F4 84820080 */ lh $v0, 0x80($a0) -/* 32CF8 800578F8 00620018 */ mult $v1, $v0 -/* 32CFC 800578FC 00004012 */ mflo $t0 -/* 32D00 80057900 08015E62 */ j .L80057988 -/* 32D04 80057904 000813C3 */ sra $v0, $t0, 0xf -.L80057908: -/* 32D08 80057908 8602004C */ lh $v0, 0x4c($s0) -/* 32D0C 8005790C 8603004E */ lh $v1, 0x4e($s0) -/* 32D10 80057910 00021040 */ sll $v0, $v0, 1 -/* 32D14 80057914 3C018008 */ lui $at, %hi(D_80078E60) -/* 32D18 80057918 00220821 */ addu $at, $at, $v0 -/* 32D1C 8005791C 84228E60 */ lh $v0, %lo(D_80078E60)($at) -/* 32D20 80057920 00620018 */ mult $v1, $v0 -/* 32D24 80057924 8603004C */ lh $v1, 0x4c($s0) -/* 32D28 80057928 00004012 */ mflo $t0 -/* 32D2C 8005792C 000813C3 */ sra $v0, $t0, 0xf -/* 32D30 80057930 A6020050 */ sh $v0, 0x50($s0) -/* 32D34 80057934 2402007F */ addiu $v0, $zero, 0x7f -/* 32D38 80057938 00431023 */ subu $v0, $v0, $v1 -/* 32D3C 8005793C 00021040 */ sll $v0, $v0, 1 -/* 32D40 80057940 8603004E */ lh $v1, 0x4e($s0) -/* 32D44 80057944 3C018008 */ lui $at, %hi(D_80078E60) -/* 32D48 80057948 00220821 */ addu $at, $at, $v0 -/* 32D4C 8005794C 84228E60 */ lh $v0, %lo(D_80078E60)($at) -/* 32D50 80057950 00620018 */ mult $v1, $v0 -/* 32D54 80057954 00004012 */ mflo $t0 -/* 32D58 80057958 08015E62 */ j .L80057988 -/* 32D5C 8005795C 000813C3 */ sra $v0, $t0, 0xf -.L80057960: -/* 32D60 80057960 86040050 */ lh $a0, 0x50($s0) -/* 32D64 80057964 8606005A */ lh $a2, 0x5a($s0) -/* 32D68 80057968 0C016001 */ jal func_80058004 -/* 32D6C 8005796C 96070058 */ lhu $a3, 0x58($s0) -/* 32D70 80057970 86040052 */ lh $a0, 0x52($s0) -/* 32D74 80057974 8E050064 */ lw $a1, 0x64($s0) -/* 32D78 80057978 86060060 */ lh $a2, 0x60($s0) -/* 32D7C 8005797C 9607005E */ lhu $a3, 0x5e($s0) -/* 32D80 80057980 0C016001 */ jal func_80058004 -/* 32D84 80057984 A6020050 */ sh $v0, 0x50($s0) -.L80057988: -/* 32D88 80057988 A6020052 */ sh $v0, 0x52($s0) -/* 32D8C 8005798C 86220008 */ lh $v0, 8($s1) -/* 32D90 80057990 14400002 */ bnez $v0, .L8005799C -/* 32D94 80057994 24020001 */ addiu $v0, $zero, 1 -/* 32D98 80057998 A6220008 */ sh $v0, 8($s1) -.L8005799C: -/* 32D9C 8005799C 8622000A */ lh $v0, 0xa($s1) -/* 32DA0 800579A0 14400004 */ bnez $v0, .L800579B4 -/* 32DA4 800579A4 324200FF */ andi $v0, $s2, 0xff -/* 32DA8 800579A8 24020001 */ addiu $v0, $zero, 1 -/* 32DAC 800579AC A622000A */ sh $v0, 0xa($s1) -/* 32DB0 800579B0 324200FF */ andi $v0, $s2, 0xff -.L800579B4: -/* 32DB4 800579B4 A6220004 */ sh $v0, 4($s1) -/* 32DB8 800579B8 24020001 */ addiu $v0, $zero, 1 -/* 32DBC 800579BC AE220024 */ sw $v0, 0x24($s1) -/* 32DC0 800579C0 8FBF001C */ lw $ra, 0x1c($sp) -/* 32DC4 800579C4 8FB20018 */ lw $s2, 0x18($sp) -/* 32DC8 800579C8 8FB10014 */ lw $s1, 0x14($sp) -/* 32DCC 800579CC 8FB00010 */ lw $s0, 0x10($sp) -/* 32DD0 800579D0 03E00008 */ jr $ra -/* 32DD4 800579D4 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/code_303c0_len_3e10/func_800579D8.s b/asm/nonmatchings/code_303c0_len_3e10/func_800579D8.s deleted file mode 100644 index e97a4c0a7a..0000000000 --- a/asm/nonmatchings/code_303c0_len_3e10/func_800579D8.s +++ /dev/null @@ -1,108 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel func_800579D8 -/* 32DD8 800579D8 27BDFFE0 */ addiu $sp, $sp, -0x20 -/* 32DDC 800579DC AFB20018 */ sw $s2, 0x18($sp) -/* 32DE0 800579E0 00A0902D */ daddu $s2, $a1, $zero -/* 32DE4 800579E4 308400FF */ andi $a0, $a0, 0xff -/* 32DE8 800579E8 00041140 */ sll $v0, $a0, 5 -/* 32DEC 800579EC 3C038008 */ lui $v1, %hi(D_80078E54) -/* 32DF0 800579F0 8C638E54 */ lw $v1, %lo(D_80078E54)($v1) -/* 32DF4 800579F4 00441023 */ subu $v0, $v0, $a0 -/* 32DF8 800579F8 AFBF001C */ sw $ra, 0x1c($sp) -/* 32DFC 800579FC AFB10014 */ sw $s1, 0x14($sp) -/* 32E00 80057A00 AFB00010 */ sw $s0, 0x10($sp) -/* 32E04 80057A04 8C63001C */ lw $v1, 0x1c($v1) -/* 32E08 80057A08 00021080 */ sll $v0, $v0, 2 -/* 32E0C 80057A0C 00628021 */ addu $s0, $v1, $v0 -/* 32E10 80057A10 8E050064 */ lw $a1, 0x64($s0) -/* 32E14 80057A14 8E030068 */ lw $v1, 0x68($s0) -/* 32E18 80057A18 00A3102A */ slt $v0, $a1, $v1 -/* 32E1C 80057A1C 14400029 */ bnez $v0, .L80057AC4 -/* 32E20 80057A20 26110048 */ addiu $s1, $s0, 0x48 -/* 32E24 80057A24 3C028008 */ lui $v0, %hi(D_80078181) -/* 32E28 80057A28 24428181 */ addiu $v0, $v0, %lo(D_80078181) -/* 32E2C 80057A2C 90420000 */ lbu $v0, ($v0) -/* 32E30 80057A30 1440000E */ bnez $v0, .L80057A6C -/* 32E34 80057A34 AE030064 */ sw $v1, 0x64($s0) -/* 32E38 80057A38 3C048008 */ lui $a0, %hi(D_80078E60) -/* 32E3C 80057A3C 24848E60 */ addiu $a0, $a0, %lo(D_80078E60) -/* 32E40 80057A40 8603004E */ lh $v1, 0x4e($s0) -/* 32E44 80057A44 84820080 */ lh $v0, 0x80($a0) -/* 32E48 80057A48 00620018 */ mult $v1, $v0 -/* 32E4C 80057A4C 00004012 */ mflo $t0 -/* 32E50 80057A50 000813C3 */ sra $v0, $t0, 0xf -/* 32E54 80057A54 A6020050 */ sh $v0, 0x50($s0) -/* 32E58 80057A58 84820080 */ lh $v0, 0x80($a0) -/* 32E5C 80057A5C 00620018 */ mult $v1, $v0 -/* 32E60 80057A60 00004012 */ mflo $t0 -/* 32E64 80057A64 08015EBB */ j .L80057AEC -/* 32E68 80057A68 000813C3 */ sra $v0, $t0, 0xf -.L80057A6C: -/* 32E6C 80057A6C 8602004C */ lh $v0, 0x4c($s0) -/* 32E70 80057A70 8603004E */ lh $v1, 0x4e($s0) -/* 32E74 80057A74 00021040 */ sll $v0, $v0, 1 -/* 32E78 80057A78 3C018008 */ lui $at, %hi(D_80078E60) -/* 32E7C 80057A7C 00220821 */ addu $at, $at, $v0 -/* 32E80 80057A80 84228E60 */ lh $v0, %lo(D_80078E60)($at) -/* 32E84 80057A84 00620018 */ mult $v1, $v0 -/* 32E88 80057A88 8603004C */ lh $v1, 0x4c($s0) -/* 32E8C 80057A8C 00004012 */ mflo $t0 -/* 32E90 80057A90 000813C3 */ sra $v0, $t0, 0xf -/* 32E94 80057A94 A6020050 */ sh $v0, 0x50($s0) -/* 32E98 80057A98 2402007F */ addiu $v0, $zero, 0x7f -/* 32E9C 80057A9C 00431023 */ subu $v0, $v0, $v1 -/* 32EA0 80057AA0 00021040 */ sll $v0, $v0, 1 -/* 32EA4 80057AA4 8603004E */ lh $v1, 0x4e($s0) -/* 32EA8 80057AA8 3C018008 */ lui $at, %hi(D_80078E60) -/* 32EAC 80057AAC 00220821 */ addu $at, $at, $v0 -/* 32EB0 80057AB0 84228E60 */ lh $v0, %lo(D_80078E60)($at) -/* 32EB4 80057AB4 00620018 */ mult $v1, $v0 -/* 32EB8 80057AB8 00004012 */ mflo $t0 -/* 32EBC 80057ABC 08015EBB */ j .L80057AEC -/* 32EC0 80057AC0 000813C3 */ sra $v0, $t0, 0xf -.L80057AC4: -/* 32EC4 80057AC4 86040050 */ lh $a0, 0x50($s0) -/* 32EC8 80057AC8 8606005A */ lh $a2, 0x5a($s0) -/* 32ECC 80057ACC 0C016001 */ jal func_80058004 -/* 32ED0 80057AD0 96070058 */ lhu $a3, 0x58($s0) -/* 32ED4 80057AD4 86040052 */ lh $a0, 0x52($s0) -/* 32ED8 80057AD8 8E050064 */ lw $a1, 0x64($s0) -/* 32EDC 80057ADC 86060060 */ lh $a2, 0x60($s0) -/* 32EE0 80057AE0 9607005E */ lhu $a3, 0x5e($s0) -/* 32EE4 80057AE4 0C016001 */ jal func_80058004 -/* 32EE8 80057AE8 A6020050 */ sh $v0, 0x50($s0) -.L80057AEC: -/* 32EEC 80057AEC A6020052 */ sh $v0, 0x52($s0) -/* 32EF0 80057AF0 86220008 */ lh $v0, 8($s1) -/* 32EF4 80057AF4 14400002 */ bnez $v0, .L80057B00 -/* 32EF8 80057AF8 24020001 */ addiu $v0, $zero, 1 -/* 32EFC 80057AFC A6220008 */ sh $v0, 8($s1) -.L80057B00: -/* 32F00 80057B00 8622000A */ lh $v0, 0xa($s1) -/* 32F04 80057B04 14400003 */ bnez $v0, .L80057B14 -/* 32F08 80057B08 324300FF */ andi $v1, $s2, 0xff -/* 32F0C 80057B0C 24020001 */ addiu $v0, $zero, 1 -/* 32F10 80057B10 A622000A */ sh $v0, 0xa($s1) -.L80057B14: -/* 32F14 80057B14 00031040 */ sll $v0, $v1, 1 -/* 32F18 80057B18 3C018008 */ lui $at, %hi(D_80078E60) -/* 32F1C 80057B1C 00220821 */ addu $at, $at, $v0 -/* 32F20 80057B20 94228E60 */ lhu $v0, %lo(D_80078E60)($at) -/* 32F24 80057B24 A622000C */ sh $v0, 0xc($s1) -/* 32F28 80057B28 2402007F */ addiu $v0, $zero, 0x7f -/* 32F2C 80057B2C 00431023 */ subu $v0, $v0, $v1 -/* 32F30 80057B30 00021040 */ sll $v0, $v0, 1 -/* 32F34 80057B34 3C038008 */ lui $v1, %hi(D_80078E60) -/* 32F38 80057B38 00621821 */ addu $v1, $v1, $v0 -/* 32F3C 80057B3C 94638E60 */ lhu $v1, %lo(D_80078E60)($v1) -/* 32F40 80057B40 24020001 */ addiu $v0, $zero, 1 -/* 32F44 80057B44 AE220024 */ sw $v0, 0x24($s1) -/* 32F48 80057B48 A623000E */ sh $v1, 0xe($s1) -/* 32F4C 80057B4C 8FBF001C */ lw $ra, 0x1c($sp) -/* 32F50 80057B50 8FB20018 */ lw $s2, 0x18($sp) -/* 32F54 80057B54 8FB10014 */ lw $s1, 0x14($sp) -/* 32F58 80057B58 8FB00010 */ lw $s0, 0x10($sp) -/* 32F5C 80057B5C 03E00008 */ jr $ra -/* 32F60 80057B60 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/code_303c0_len_3e10/func_80057C54.s b/asm/nonmatchings/code_303c0_len_3e10/func_80057C54.s deleted file mode 100644 index 02eed05f52..0000000000 --- a/asm/nonmatchings/code_303c0_len_3e10/func_80057C54.s +++ /dev/null @@ -1,53 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel func_80057C54 -/* 33054 80057C54 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 33058 80057C58 308400FF */ andi $a0, $a0, 0xff -/* 3305C 80057C5C 00041140 */ sll $v0, $a0, 5 -/* 33060 80057C60 3C038008 */ lui $v1, %hi(D_80078E54) -/* 33064 80057C64 8C638E54 */ lw $v1, %lo(D_80078E54)($v1) -/* 33068 80057C68 00441023 */ subu $v0, $v0, $a0 -/* 3306C 80057C6C AFBF0010 */ sw $ra, 0x10($sp) -/* 33070 80057C70 8C63001C */ lw $v1, 0x1c($v1) -/* 33074 80057C74 00021080 */ sll $v0, $v0, 2 -/* 33078 80057C78 00621821 */ addu $v1, $v1, $v0 -/* 3307C 80057C7C 8C650064 */ lw $a1, 0x64($v1) -/* 33080 80057C80 8C620068 */ lw $v0, 0x68($v1) -/* 33084 80057C84 00A2102A */ slt $v0, $a1, $v0 -/* 33088 80057C88 14400017 */ bnez $v0, .L80057CE8 -/* 3308C 80057C8C 00000000 */ nop -/* 33090 80057C90 3C028008 */ lui $v0, %hi(D_80078181) -/* 33094 80057C94 24428181 */ addiu $v0, $v0, %lo(D_80078181) -/* 33098 80057C98 90420000 */ lbu $v0, ($v0) -/* 3309C 80057C9C 14400008 */ bnez $v0, .L80057CC0 -/* 330A0 80057CA0 00000000 */ nop -/* 330A4 80057CA4 8463004E */ lh $v1, 0x4e($v1) -/* 330A8 80057CA8 3C028008 */ lui $v0, %hi(D_80078EE0) -/* 330AC 80057CAC 84428EE0 */ lh $v0, %lo(D_80078EE0)($v0) -/* 330B0 80057CB0 00620018 */ mult $v1, $v0 -/* 330B4 80057CB4 00004012 */ mflo $t0 -/* 330B8 80057CB8 08015F3F */ j .L80057CFC -/* 330BC 80057CBC 00081040 */ sll $v0, $t0, 1 -.L80057CC0: -/* 330C0 80057CC0 8462004C */ lh $v0, 0x4c($v1) -/* 330C4 80057CC4 8463004E */ lh $v1, 0x4e($v1) -/* 330C8 80057CC8 00021040 */ sll $v0, $v0, 1 -/* 330CC 80057CCC 3C018008 */ lui $at, %hi(D_80078E60) -/* 330D0 80057CD0 00220821 */ addu $at, $at, $v0 -/* 330D4 80057CD4 84228E60 */ lh $v0, %lo(D_80078E60)($at) -/* 330D8 80057CD8 00620018 */ mult $v1, $v0 -/* 330DC 80057CDC 00004012 */ mflo $t0 -/* 330E0 80057CE0 08015F3F */ j .L80057CFC -/* 330E4 80057CE4 00081040 */ sll $v0, $t0, 1 -.L80057CE8: -/* 330E8 80057CE8 84640050 */ lh $a0, 0x50($v1) -/* 330EC 80057CEC 8466005A */ lh $a2, 0x5a($v1) -/* 330F0 80057CF0 0C016001 */ jal func_80058004 -/* 330F4 80057CF4 94670058 */ lhu $a3, 0x58($v1) -/* 330F8 80057CF8 00021400 */ sll $v0, $v0, 0x10 -.L80057CFC: -/* 330FC 80057CFC 00021403 */ sra $v0, $v0, 0x10 -/* 33100 80057D00 8FBF0010 */ lw $ra, 0x10($sp) -/* 33104 80057D04 03E00008 */ jr $ra -/* 33108 80057D08 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/code_303c0_len_3e10/func_80057D0C.s b/asm/nonmatchings/code_303c0_len_3e10/func_80057D0C.s deleted file mode 100644 index df1bb68858..0000000000 --- a/asm/nonmatchings/code_303c0_len_3e10/func_80057D0C.s +++ /dev/null @@ -1,54 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel func_80057D0C -/* 3310C 80057D0C 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 33110 80057D10 308400FF */ andi $a0, $a0, 0xff -/* 33114 80057D14 00041140 */ sll $v0, $a0, 5 -/* 33118 80057D18 3C038008 */ lui $v1, %hi(D_80078E54) -/* 3311C 80057D1C 8C638E54 */ lw $v1, %lo(D_80078E54)($v1) -/* 33120 80057D20 00441023 */ subu $v0, $v0, $a0 -/* 33124 80057D24 AFBF0010 */ sw $ra, 0x10($sp) -/* 33128 80057D28 8C63001C */ lw $v1, 0x1c($v1) -/* 3312C 80057D2C 00021080 */ sll $v0, $v0, 2 -/* 33130 80057D30 00623821 */ addu $a3, $v1, $v0 -/* 33134 80057D34 8CE50064 */ lw $a1, 0x64($a3) -/* 33138 80057D38 8CE20068 */ lw $v0, 0x68($a3) -/* 3313C 80057D3C 00A2102A */ slt $v0, $a1, $v0 -/* 33140 80057D40 14400018 */ bnez $v0, .L80057DA4 -/* 33144 80057D44 00000000 */ nop -/* 33148 80057D48 3C028008 */ lui $v0, %hi(D_80078181) -/* 3314C 80057D4C 24428181 */ addiu $v0, $v0, %lo(D_80078181) -/* 33150 80057D50 90420000 */ lbu $v0, ($v0) -/* 33154 80057D54 54400008 */ bnel $v0, $zero, .L80057D78 -/* 33158 80057D58 2402007F */ addiu $v0, $zero, 0x7f -/* 3315C 80057D5C 84E3004E */ lh $v1, 0x4e($a3) -/* 33160 80057D60 3C028008 */ lui $v0, %hi(D_80078EE0) -/* 33164 80057D64 84428EE0 */ lh $v0, %lo(D_80078EE0)($v0) -/* 33168 80057D68 00620018 */ mult $v1, $v0 -/* 3316C 80057D6C 00004012 */ mflo $t0 -/* 33170 80057D70 08015F6E */ j .L80057DB8 -/* 33174 80057D74 00081040 */ sll $v0, $t0, 1 -.L80057D78: -/* 33178 80057D78 84E3004C */ lh $v1, 0x4c($a3) -/* 3317C 80057D7C 00431023 */ subu $v0, $v0, $v1 -/* 33180 80057D80 00021040 */ sll $v0, $v0, 1 -/* 33184 80057D84 84E3004E */ lh $v1, 0x4e($a3) -/* 33188 80057D88 3C018008 */ lui $at, %hi(D_80078E60) -/* 3318C 80057D8C 00220821 */ addu $at, $at, $v0 -/* 33190 80057D90 84228E60 */ lh $v0, %lo(D_80078E60)($at) -/* 33194 80057D94 00620018 */ mult $v1, $v0 -/* 33198 80057D98 00004012 */ mflo $t0 -/* 3319C 80057D9C 08015F6E */ j .L80057DB8 -/* 331A0 80057DA0 00081040 */ sll $v0, $t0, 1 -.L80057DA4: -/* 331A4 80057DA4 84E40050 */ lh $a0, 0x50($a3) -/* 331A8 80057DA8 84E6005A */ lh $a2, 0x5a($a3) -/* 331AC 80057DAC 0C016001 */ jal func_80058004 -/* 331B0 80057DB0 94E70058 */ lhu $a3, 0x58($a3) -/* 331B4 80057DB4 00021400 */ sll $v0, $v0, 0x10 -.L80057DB8: -/* 331B8 80057DB8 00021403 */ sra $v0, $v0, 0x10 -/* 331BC 80057DBC 8FBF0010 */ lw $ra, 0x10($sp) -/* 331C0 80057DC0 03E00008 */ jr $ra -/* 331C4 80057DC4 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/code_303c0_len_3e10/func_80057E08.s b/asm/nonmatchings/code_303c0_len_3e10/func_80057E08.s deleted file mode 100644 index cc772371cf..0000000000 --- a/asm/nonmatchings/code_303c0_len_3e10/func_80057E08.s +++ /dev/null @@ -1,26 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel func_80057E08 -/* 33208 80057E08 0000302D */ daddu $a2, $zero, $zero -/* 3320C 80057E0C 3C05800A */ lui $a1, %hi(D_800A3FE0) -/* 33210 80057E10 8CA53FE0 */ lw $a1, %lo(D_800A3FE0)($a1) -/* 33214 80057E14 3C03800A */ lui $v1, %hi(D_800A3FE4) -/* 33218 80057E18 8C633FE4 */ lw $v1, %lo(D_800A3FE4)($v1) -.L80057E1C: -/* 3321C 80057E1C ACA00000 */ sw $zero, ($a1) -/* 33220 80057E20 24A50004 */ addiu $a1, $a1, 4 -/* 33224 80057E24 AC600000 */ sw $zero, ($v1) -/* 33228 80057E28 24C60001 */ addiu $a2, $a2, 1 -/* 3322C 80057E2C 28C20170 */ slti $v0, $a2, 0x170 -/* 33230 80057E30 1440FFFA */ bnez $v0, .L80057E1C -/* 33234 80057E34 24630004 */ addiu $v1, $v1, 4 -/* 33238 80057E38 24020001 */ addiu $v0, $zero, 1 -/* 3323C 80057E3C 3C01800A */ lui $at, %hi(D_800A3FEC) -/* 33240 80057E40 A0243FEC */ sb $a0, %lo(D_800A3FEC)($at) -/* 33244 80057E44 3C01800A */ lui $at, %hi(D_800A3FEE) -/* 33248 80057E48 A4223FEE */ sh $v0, %lo(D_800A3FEE)($at) -/* 3324C 80057E4C 3C01800A */ lui $at, %hi(D_800A3FE8) -/* 33250 80057E50 AC203FE8 */ sw $zero, %lo(D_800A3FE8)($at) -/* 33254 80057E54 03E00008 */ jr $ra -/* 33258 80057E58 00000000 */ nop diff --git a/asm/nonmatchings/code_303c0_len_3e10/func_80057E5C.s b/asm/nonmatchings/code_303c0_len_3e10/func_80057E5C.s deleted file mode 100644 index 0080543cf0..0000000000 --- a/asm/nonmatchings/code_303c0_len_3e10/func_80057E5C.s +++ /dev/null @@ -1,26 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel func_80057E5C -/* 3325C 80057E5C 0000302D */ daddu $a2, $zero, $zero -/* 33260 80057E60 3C05800A */ lui $a1, %hi(D_800A3FE0) -/* 33264 80057E64 8CA53FE0 */ lw $a1, %lo(D_800A3FE0)($a1) -/* 33268 80057E68 3C03800A */ lui $v1, %hi(D_800A3FE4) -/* 3326C 80057E6C 8C633FE4 */ lw $v1, %lo(D_800A3FE4)($v1) -.L80057E70: -/* 33270 80057E70 ACA00000 */ sw $zero, ($a1) -/* 33274 80057E74 24A50004 */ addiu $a1, $a1, 4 -/* 33278 80057E78 AC600000 */ sw $zero, ($v1) -/* 3327C 80057E7C 24C60001 */ addiu $a2, $a2, 1 -/* 33280 80057E80 28C20170 */ slti $v0, $a2, 0x170 -/* 33284 80057E84 1440FFFA */ bnez $v0, .L80057E70 -/* 33288 80057E88 24630004 */ addiu $v1, $v1, 4 -/* 3328C 80057E8C 24020002 */ addiu $v0, $zero, 2 -/* 33290 80057E90 3C01800A */ lui $at, %hi(D_800A3FEC) -/* 33294 80057E94 A0243FEC */ sb $a0, %lo(D_800A3FEC)($at) -/* 33298 80057E98 3C01800A */ lui $at, %hi(D_800A3FEE) -/* 3329C 80057E9C A4223FEE */ sh $v0, %lo(D_800A3FEE)($at) -/* 332A0 80057EA0 3C01800A */ lui $at, %hi(D_800A3FE8) -/* 332A4 80057EA4 AC203FE8 */ sw $zero, %lo(D_800A3FE8)($at) -/* 332A8 80057EA8 03E00008 */ jr $ra -/* 332AC 80057EAC 00000000 */ nop diff --git a/asm/nonmatchings/code_303c0_len_3e10/func_80057ED0.s b/asm/nonmatchings/code_303c0_len_3e10/func_80057ED0.s deleted file mode 100644 index 2b400e97f9..0000000000 --- a/asm/nonmatchings/code_303c0_len_3e10/func_80057ED0.s +++ /dev/null @@ -1,25 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel func_80057ED0 -/* 332D0 80057ED0 0000302D */ daddu $a2, $zero, $zero -/* 332D4 80057ED4 3C05800A */ lui $a1, %hi(D_800A3FE0) -/* 332D8 80057ED8 8CA53FE0 */ lw $a1, %lo(D_800A3FE0)($a1) -/* 332DC 80057EDC 3C03800A */ lui $v1, %hi(D_800A3FE4) -/* 332E0 80057EE0 8C633FE4 */ lw $v1, %lo(D_800A3FE4)($v1) -.L80057EE4: -/* 332E4 80057EE4 ACA00000 */ sw $zero, ($a1) -/* 332E8 80057EE8 24A50004 */ addiu $a1, $a1, 4 -/* 332EC 80057EEC AC600000 */ sw $zero, ($v1) -/* 332F0 80057EF0 24C60001 */ addiu $a2, $a2, 1 -/* 332F4 80057EF4 28C20170 */ slti $v0, $a2, 0x170 -/* 332F8 80057EF8 1440FFFA */ bnez $v0, .L80057EE4 -/* 332FC 80057EFC 24630004 */ addiu $v1, $v1, 4 -/* 33300 80057F00 3C01800A */ lui $at, %hi(D_800A3FEC) -/* 33304 80057F04 A0203FEC */ sb $zero, %lo(D_800A3FEC)($at) -/* 33308 80057F08 3C01800A */ lui $at, %hi(D_800A3FEE) -/* 3330C 80057F0C A4243FEE */ sh $a0, %lo(D_800A3FEE)($at) -/* 33310 80057F10 3C01800A */ lui $at, %hi(D_800A3FE8) -/* 33314 80057F14 AC203FE8 */ sw $zero, %lo(D_800A3FE8)($at) -/* 33318 80057F18 03E00008 */ jr $ra -/* 3331C 80057F1C 00000000 */ nop diff --git a/asm/nonmatchings/code_303c0_len_3e10/func_80057F20.s b/asm/nonmatchings/code_303c0_len_3e10/func_80057F20.s deleted file mode 100644 index c2ec9b45c6..0000000000 --- a/asm/nonmatchings/code_303c0_len_3e10/func_80057F20.s +++ /dev/null @@ -1,36 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel func_80057F20 -/* 33320 80057F20 30A3000F */ andi $v1, $a1, 0xf -/* 33324 80057F24 24020010 */ addiu $v0, $zero, 0x10 -/* 33328 80057F28 00431823 */ subu $v1, $v0, $v1 -/* 3332C 80057F2C 10620003 */ beq $v1, $v0, .L80057F3C -/* 33330 80057F30 00A31021 */ addu $v0, $a1, $v1 -/* 33334 80057F34 08015FD0 */ j .L80057F40 -/* 33338 80057F38 AC820000 */ sw $v0, ($a0) -.L80057F3C: -/* 3333C 80057F3C AC850000 */ sw $a1, ($a0) -.L80057F40: -/* 33340 80057F40 AC860008 */ sw $a2, 8($a0) -/* 33344 80057F44 00C0102D */ daddu $v0, $a2, $zero -/* 33348 80057F48 0000282D */ daddu $a1, $zero, $zero -/* 3334C 80057F4C 8C830000 */ lw $v1, ($a0) -/* 33350 80057F50 00021082 */ srl $v0, $v0, 2 -/* 33354 80057F54 AC80000C */ sw $zero, 0xc($a0) -/* 33358 80057F58 1040000B */ beqz $v0, .L80057F88 -/* 3335C 80057F5C AC830004 */ sw $v1, 4($a0) -.L80057F60: -/* 33360 80057F60 8C820000 */ lw $v0, ($a0) -/* 33364 80057F64 00051880 */ sll $v1, $a1, 2 -/* 33368 80057F68 00621821 */ addu $v1, $v1, $v0 -/* 3336C 80057F6C AC600000 */ sw $zero, ($v1) -/* 33370 80057F70 8C820008 */ lw $v0, 8($a0) -/* 33374 80057F74 24A50001 */ addiu $a1, $a1, 1 -/* 33378 80057F78 00021082 */ srl $v0, $v0, 2 -/* 3337C 80057F7C 00A2102B */ sltu $v0, $a1, $v0 -/* 33380 80057F80 1440FFF7 */ bnez $v0, .L80057F60 -/* 33384 80057F84 00000000 */ nop -.L80057F88: -/* 33388 80057F88 03E00008 */ jr $ra -/* 3338C 80057F8C 00000000 */ nop diff --git a/asm/nonmatchings/code_303c0_len_3e10/func_80057FD8.s b/asm/nonmatchings/code_303c0_len_3e10/func_80057FD8.s deleted file mode 100644 index b84379d644..0000000000 --- a/asm/nonmatchings/code_303c0_len_3e10/func_80057FD8.s +++ /dev/null @@ -1,17 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel func_80057FD8 -/* 333D8 80057FD8 18C00008 */ blez $a2, .L80057FFC -/* 333DC 80057FDC 0000182D */ daddu $v1, $zero, $zero -.L80057FE0: -/* 333E0 80057FE0 90820000 */ lbu $v0, ($a0) -/* 333E4 80057FE4 24840001 */ addiu $a0, $a0, 1 -/* 333E8 80057FE8 24630001 */ addiu $v1, $v1, 1 -/* 333EC 80057FEC A0A20000 */ sb $v0, ($a1) -/* 333F0 80057FF0 0066102A */ slt $v0, $v1, $a2 -/* 333F4 80057FF4 1440FFFA */ bnez $v0, .L80057FE0 -/* 333F8 80057FF8 24A50001 */ addiu $a1, $a1, 1 -.L80057FFC: -/* 333FC 80057FFC 03E00008 */ jr $ra -/* 33400 80058000 00000000 */ nop diff --git a/asm/nonmatchings/code_303c0_len_3e10/func_80058004.s b/asm/nonmatchings/code_303c0_len_3e10/func_80058004.s deleted file mode 100644 index 0d5a8168f5..0000000000 --- a/asm/nonmatchings/code_303c0_len_3e10/func_80058004.s +++ /dev/null @@ -1,24 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel func_80058004 -/* 33404 80058004 000528C3 */ sra $a1, $a1, 3 -/* 33408 80058008 50A0000E */ beql $a1, $zero, .L80058044 -/* 3340C 8005800C 00041400 */ sll $v0, $a0, 0x10 -/* 33410 80058010 30E2FFFF */ andi $v0, $a3, 0xffff -/* 33414 80058014 00450018 */ mult $v0, $a1 -/* 33418 80058018 00001012 */ mflo $v0 -/* 3341C 8005801C 00061C00 */ sll $v1, $a2, 0x10 -/* 33420 80058020 00031C03 */ sra $v1, $v1, 0x10 -/* 33424 80058024 00650018 */ mult $v1, $a1 -/* 33428 80058028 00021403 */ sra $v0, $v0, 0x10 -/* 3342C 8005802C 00001812 */ mflo $v1 -/* 33430 80058030 00431021 */ addu $v0, $v0, $v1 -/* 33434 80058034 00821021 */ addu $v0, $a0, $v0 -/* 33438 80058038 00021400 */ sll $v0, $v0, 0x10 -/* 3343C 8005803C 03E00008 */ jr $ra -/* 33440 80058040 00021403 */ sra $v0, $v0, 0x10 -.L80058044: -/* 33444 80058044 03E00008 */ jr $ra -/* 33448 80058048 00021403 */ sra $v0, $v0, 0x10 -/* 3344C 8005804C 00000000 */ nop diff --git a/asm/nonmatchings/code_303c0_len_3e10/func_80058050.s b/asm/nonmatchings/code_303c0_len_3e10/func_80058050.s deleted file mode 100644 index a3b81402f4..0000000000 --- a/asm/nonmatchings/code_303c0_len_3e10/func_80058050.s +++ /dev/null @@ -1,745 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel func_80058050 -/* 33450 80058050 27BDFFA0 */ addiu $sp, $sp, -0x60 -/* 33454 80058054 AFB60050 */ sw $s6, 0x50($sp) -/* 33458 80058058 00A0B02D */ daddu $s6, $a1, $zero -/* 3345C 8005805C AFB1003C */ sw $s1, 0x3c($sp) -/* 33460 80058060 02C0882D */ daddu $s1, $s6, $zero -/* 33464 80058064 AFB70054 */ sw $s7, 0x54($sp) -/* 33468 80058068 AFA40060 */ sw $a0, 0x60($sp) -/* 3346C 8005806C 24970048 */ addiu $s7, $a0, 0x48 -/* 33470 80058070 24880038 */ addiu $t0, $a0, 0x38 -/* 33474 80058074 AFB20040 */ sw $s2, 0x40($sp) -/* 33478 80058078 AFBF005C */ sw $ra, 0x5c($sp) -/* 3347C 8005807C AFBE0058 */ sw $fp, 0x58($sp) -/* 33480 80058080 AFB5004C */ sw $s5, 0x4c($sp) -/* 33484 80058084 AFB40048 */ sw $s4, 0x48($sp) -/* 33488 80058088 AFB30044 */ sw $s3, 0x44($sp) -/* 3348C 8005808C AFB00038 */ sw $s0, 0x38($sp) -/* 33490 80058090 AFA80020 */ sw $t0, 0x20($sp) -/* 33494 80058094 8C830070 */ lw $v1, 0x70($a0) -/* 33498 80058098 24020001 */ addiu $v0, $zero, 1 -/* 3349C 8005809C 14620293 */ bne $v1, $v0, .L80058AEC -/* 334A0 800580A0 24920004 */ addiu $s2, $a0, 4 -/* 334A4 800580A4 8FA80060 */ lw $t0, 0x60($sp) -/* 334A8 800580A8 C500003C */ lwc1 $f0, 0x3c($t0) -/* 334AC 800580AC 3C01800A */ lui $at, %hi(D_80098930) -/* 334B0 800580B0 D4228930 */ ldc1 $f2, %lo(D_80098930)($at) -/* 334B4 800580B4 46000021 */ cvt.d.s $f0, $f0 -/* 334B8 800580B8 4620103C */ c.lt.d $f2, $f0 -/* 334BC 800580BC 00000000 */ nop -/* 334C0 800580C0 45000007 */ bc1f .L800580E0 -/* 334C4 800580C4 241E0170 */ addiu $fp, $zero, 0x170 -/* 334C8 800580C8 3C013FFF */ lui $at, 0x3fff -/* 334CC 800580CC 3421FEB0 */ ori $at, $at, 0xfeb0 -/* 334D0 800580D0 44810000 */ mtc1 $at, $f0 -/* 334D4 800580D4 00000000 */ nop -/* 334D8 800580D8 E500003C */ swc1 $f0, 0x3c($t0) -/* 334DC 800580DC 8FA80060 */ lw $t0, 0x60($sp) -.L800580E0: -/* 334E0 800580E0 3C014700 */ lui $at, 0x4700 -/* 334E4 800580E4 44811000 */ mtc1 $at, $f2 -/* 334E8 800580E8 C500003C */ lwc1 $f0, 0x3c($t0) -/* 334EC 800580EC 46020002 */ mul.s $f0, $f0, $f2 -/* 334F0 800580F0 00000000 */ nop -/* 334F4 800580F4 4600018D */ trunc.w.s $f6, $f0 -/* 334F8 800580F8 44023000 */ mfc1 $v0, $f6 -/* 334FC 800580FC 3C013800 */ lui $at, 0x3800 -/* 33500 80058100 44810000 */ mtc1 $at, $f0 -/* 33504 80058104 44822000 */ mtc1 $v0, $f4 -/* 33508 80058108 00000000 */ nop -/* 3350C 8005810C 46802120 */ cvt.s.w $f4, $f4 -/* 33510 80058110 46002102 */ mul.s $f4, $f4, $f0 -/* 33514 80058114 00000000 */ nop -/* 33518 80058118 3C014338 */ lui $at, 0x4338 -/* 3351C 8005811C 44810000 */ mtc1 $at, $f0 -/* 33520 80058120 00000000 */ nop -/* 33524 80058124 46002002 */ mul.s $f0, $f4, $f0 -/* 33528 80058128 00000000 */ nop -/* 3352C 8005812C 8FA80060 */ lw $t0, 0x60($sp) -/* 33530 80058130 C5020040 */ lwc1 $f2, 0x40($t0) -/* 33534 80058134 46001080 */ add.s $f2, $f2, $f0 -/* 33538 80058138 4600118D */ trunc.w.s $f6, $f2 -/* 3353C 8005813C 44143000 */ mfc1 $s4, $f6 -/* 33540 80058140 00000000 */ nop -/* 33544 80058144 44940000 */ mtc1 $s4, $f0 -/* 33548 80058148 00000000 */ nop -/* 3354C 8005814C 46800020 */ cvt.s.w $f0, $f0 -/* 33550 80058150 46001081 */ sub.s $f2, $f2, $f0 -/* 33554 80058154 8FA80060 */ lw $t0, 0x60($sp) -/* 33558 80058158 E504003C */ swc1 $f4, 0x3c($t0) -/* 3355C 8005815C 128001BA */ beqz $s4, .L80058848 -/* 33560 80058160 E5020040 */ swc1 $f2, 0x40($t0) -/* 33564 80058164 8E470014 */ lw $a3, 0x14($s2) -/* 33568 80058168 90E20024 */ lbu $v0, 0x24($a3) -/* 3356C 8005816C 144000F2 */ bnez $v0, .L80058538 -/* 33570 80058170 3C0300FF */ lui $v1, 0xff -/* 33574 80058174 3463FFFF */ ori $v1, $v1, 0xffff -/* 33578 80058178 AFA00024 */ sw $zero, 0x24($sp) -/* 3357C 8005817C 8D02001C */ lw $v0, 0x1c($t0) -/* 33580 80058180 3C041FFF */ lui $a0, 0x1fff -/* 33584 80058184 00431024 */ and $v0, $v0, $v1 -/* 33588 80058188 3C030B00 */ lui $v1, 0xb00 -/* 3358C 8005818C 00431025 */ or $v0, $v0, $v1 -/* 33590 80058190 AE220000 */ sw $v0, ($s1) -/* 33594 80058194 8E420014 */ lw $v0, 0x14($s2) -/* 33598 80058198 3484FFFF */ ori $a0, $a0, 0xffff -/* 3359C 8005819C 8C420018 */ lw $v0, 0x18($v0) -/* 335A0 800581A0 8FA50024 */ lw $a1, 0x24($sp) -/* 335A4 800581A4 00441024 */ and $v0, $v0, $a0 -/* 335A8 800581A8 AE220004 */ sw $v0, 4($s1) -/* 335AC 800581AC 8D040028 */ lw $a0, 0x28($t0) -/* 335B0 800581B0 8D030010 */ lw $v1, 0x10($t0) -/* 335B4 800581B4 02841021 */ addu $v0, $s4, $a0 -/* 335B8 800581B8 0062102B */ sltu $v0, $v1, $v0 -/* 335BC 800581BC 10400003 */ beqz $v0, .L800581CC -/* 335C0 800581C0 26D60008 */ addiu $s6, $s6, 8 -/* 335C4 800581C4 8D020014 */ lw $v0, 0x14($t0) -/* 335C8 800581C8 0002282B */ sltu $a1, $zero, $v0 -.L800581CC: -/* 335CC 800581CC 10A00002 */ beqz $a1, .L800581D8 -/* 335D0 800581D0 0280802D */ daddu $s0, $s4, $zero -/* 335D4 800581D4 00648023 */ subu $s0, $v1, $a0 -.L800581D8: -/* 335D8 800581D8 8E430028 */ lw $v1, 0x28($s2) -/* 335DC 800581DC 10600003 */ beqz $v1, .L800581EC -/* 335E0 800581E0 24020010 */ addiu $v0, $zero, 0x10 -/* 335E4 800581E4 0801607C */ j .L800581F0 -/* 335E8 800581E8 0043A823 */ subu $s5, $v0, $v1 -.L800581EC: -/* 335EC 800581EC 0000A82D */ daddu $s5, $zero, $zero -.L800581F0: -/* 335F0 800581F0 02153023 */ subu $a2, $s0, $s5 -/* 335F4 800581F4 04C20001 */ bltzl $a2, .L800581FC -/* 335F8 800581F8 0000302D */ daddu $a2, $zero, $zero -.L800581FC: -/* 335FC 800581FC 24C2000F */ addiu $v0, $a2, 0xf -/* 33600 80058200 00028903 */ sra $s1, $v0, 4 -/* 33604 80058204 001110C0 */ sll $v0, $s1, 3 -/* 33608 80058208 10A00072 */ beqz $a1, .L800583D4 -/* 3360C 8005820C 00513821 */ addu $a3, $v0, $s1 -/* 33610 80058210 02C0202D */ daddu $a0, $s6, $zero -/* 33614 80058214 001E1400 */ sll $v0, $fp, 0x10 -/* 33618 80058218 00021403 */ sra $v0, $v0, 0x10 -/* 3361C 8005821C AFA20010 */ sw $v0, 0x10($sp) -/* 33620 80058220 AFA00014 */ sw $zero, 0x14($sp) -/* 33624 80058224 8E42002C */ lw $v0, 0x2c($s2) -/* 33628 80058228 0240282D */ daddu $a1, $s2, $zero -/* 3362C 8005822C 0C0162C8 */ jal func_80058B20 -/* 33630 80058230 AFA20018 */ sw $v0, 0x18($sp) -/* 33634 80058234 8E430028 */ lw $v1, 0x28($s2) -/* 33638 80058238 10600005 */ beqz $v1, .L80058250 -/* 3363C 8005823C 0040B02D */ daddu $s6, $v0, $zero -/* 33640 80058240 9642002A */ lhu $v0, 0x2a($s2) -/* 33644 80058244 00021040 */ sll $v0, $v0, 1 -/* 33648 80058248 08016095 */ j .L80058254 -/* 3364C 8005824C 03C2F021 */ addu $fp, $fp, $v0 -.L80058250: -/* 33650 80058250 27DE0020 */ addiu $fp, $fp, 0x20 -.L80058254: -/* 33654 80058254 001E2C00 */ sll $a1, $fp, 0x10 -/* 33658 80058258 8E420008 */ lw $v0, 8($s2) -/* 3365C 8005825C 00059C03 */ sra $s3, $a1, 0x10 -/* 33660 80058260 3042000F */ andi $v0, $v0, 0xf -/* 33664 80058264 AE420028 */ sw $v0, 0x28($s2) -/* 33668 80058268 8E420014 */ lw $v0, 0x14($s2) -/* 3366C 8005826C 8E430008 */ lw $v1, 8($s2) -/* 33670 80058270 8C440000 */ lw $a0, ($v0) -/* 33674 80058274 0060102D */ daddu $v0, $v1, $zero -/* 33678 80058278 00031902 */ srl $v1, $v1, 4 -/* 3367C 8005827C 24630001 */ addiu $v1, $v1, 1 -/* 33680 80058280 AE420024 */ sw $v0, 0x24($s2) -/* 33684 80058284 000310C0 */ sll $v0, $v1, 3 -/* 33688 80058288 00431021 */ addu $v0, $v0, $v1 -/* 3368C 8005828C 00822021 */ addu $a0, $a0, $v0 -/* 33690 80058290 0214102A */ slt $v0, $s0, $s4 -/* 33694 80058294 10400042 */ beqz $v0, .L800583A0 -/* 33698 80058298 AE440030 */ sw $a0, 0x30($s2) -/* 3369C 8005829C 0000402D */ daddu $t0, $zero, $zero -/* 336A0 800582A0 00081400 */ sll $v0, $t0, 0x10 -/* 336A4 800582A4 00021403 */ sra $v0, $v0, 0x10 -/* 336A8 800582A8 AFA2002C */ sw $v0, 0x2c($sp) -.L800582AC: -/* 336AC 800582AC 26220001 */ addiu $v0, $s1, 1 -/* 336B0 800582B0 00021140 */ sll $v0, $v0, 5 -/* 336B4 800582B4 02621021 */ addu $v0, $s3, $v0 -/* 336B8 800582B8 00101840 */ sll $v1, $s0, 1 -/* 336BC 800582BC 02639821 */ addu $s3, $s3, $v1 -/* 336C0 800582C0 24420010 */ addiu $v0, $v0, 0x10 -/* 336C4 800582C4 2403FFE0 */ addiu $v1, $zero, -0x20 -/* 336C8 800582C8 0043A824 */ and $s5, $v0, $v1 -/* 336CC 800582CC 8E430010 */ lw $v1, 0x10($s2) -/* 336D0 800582D0 2402FFFF */ addiu $v0, $zero, -1 -/* 336D4 800582D4 10620004 */ beq $v1, $v0, .L800582E8 -/* 336D8 800582D8 0290A023 */ subu $s4, $s4, $s0 -/* 336DC 800582DC 10600002 */ beqz $v1, .L800582E8 -/* 336E0 800582E0 00621021 */ addu $v0, $v1, $v0 -/* 336E4 800582E4 AE420010 */ sw $v0, 0x10($s2) -.L800582E8: -/* 336E8 800582E8 8E43000C */ lw $v1, 0xc($s2) -/* 336EC 800582EC 8E420008 */ lw $v0, 8($s2) -/* 336F0 800582F0 00621823 */ subu $v1, $v1, $v0 -/* 336F4 800582F4 0283102B */ sltu $v0, $s4, $v1 -/* 336F8 800582F8 14400002 */ bnez $v0, .L80058304 -/* 336FC 800582FC 0280802D */ daddu $s0, $s4, $zero -/* 33700 80058300 0060802D */ daddu $s0, $v1, $zero -.L80058304: -/* 33704 80058304 8E420028 */ lw $v0, 0x28($s2) -/* 33708 80058308 2442FFF0 */ addiu $v0, $v0, -0x10 -/* 3370C 8005830C 02023021 */ addu $a2, $s0, $v0 -/* 33710 80058310 04C20001 */ bltzl $a2, .L80058318 -/* 33714 80058314 0000302D */ daddu $a2, $zero, $zero -.L80058318: -/* 33718 80058318 24C2000F */ addiu $v0, $a2, 0xf -/* 3371C 8005831C 00028903 */ sra $s1, $v0, 4 -/* 33720 80058320 02C0202D */ daddu $a0, $s6, $zero -/* 33724 80058324 0240282D */ daddu $a1, $s2, $zero -/* 33728 80058328 00151400 */ sll $v0, $s5, 0x10 -/* 3372C 8005832C 00021403 */ sra $v0, $v0, 0x10 -/* 33730 80058330 8FA8002C */ lw $t0, 0x2c($sp) -/* 33734 80058334 001138C0 */ sll $a3, $s1, 3 -/* 33738 80058338 AFA20010 */ sw $v0, 0x10($sp) -/* 3373C 8005833C AFA80014 */ sw $t0, 0x14($sp) -/* 33740 80058340 8E42002C */ lw $v0, 0x2c($s2) -/* 33744 80058344 00F13821 */ addu $a3, $a3, $s1 -/* 33748 80058348 34420002 */ ori $v0, $v0, 2 -/* 3374C 8005834C 0C0162C8 */ jal func_80058B20 -/* 33750 80058350 AFA20018 */ sw $v0, 0x18($sp) -/* 33754 80058354 0040B02D */ daddu $s6, $v0, $zero -/* 33758 80058358 02C0282D */ daddu $a1, $s6, $zero -/* 3375C 8005835C 3C0600FF */ lui $a2, 0xff -/* 33760 80058360 34C6FFFF */ ori $a2, $a2, 0xffff -/* 33764 80058364 00132400 */ sll $a0, $s3, 0x10 -/* 33768 80058368 00101840 */ sll $v1, $s0, 1 -/* 3376C 8005836C 3063FFFF */ andi $v1, $v1, 0xffff -/* 33770 80058370 00832025 */ or $a0, $a0, $v1 -/* 33774 80058374 8E420028 */ lw $v0, 0x28($s2) -/* 33778 80058378 3C030A00 */ lui $v1, 0xa00 -/* 3377C 8005837C ACA40004 */ sw $a0, 4($a1) -/* 33780 80058380 00021040 */ sll $v0, $v0, 1 -/* 33784 80058384 02A21021 */ addu $v0, $s5, $v0 -/* 33788 80058388 00461024 */ and $v0, $v0, $a2 -/* 3378C 8005838C 00431025 */ or $v0, $v0, $v1 -/* 33790 80058390 ACA20000 */ sw $v0, ($a1) -/* 33794 80058394 0214102A */ slt $v0, $s0, $s4 -/* 33798 80058398 1440FFC4 */ bnez $v0, .L800582AC -/* 3379C 8005839C 26D60008 */ addiu $s6, $s6, 8 -.L800583A0: -/* 337A0 800583A0 8E420028 */ lw $v0, 0x28($s2) -/* 337A4 800583A4 8E430024 */ lw $v1, 0x24($s2) -/* 337A8 800583A8 02821021 */ addu $v0, $s4, $v0 -/* 337AC 800583AC 3042000F */ andi $v0, $v0, 0xf -/* 337B0 800583B0 00741821 */ addu $v1, $v1, $s4 -/* 337B4 800583B4 AE420028 */ sw $v0, 0x28($s2) -/* 337B8 800583B8 001110C0 */ sll $v0, $s1, 3 -/* 337BC 800583BC AE430024 */ sw $v1, 0x24($s2) -/* 337C0 800583C0 8E430030 */ lw $v1, 0x30($s2) -/* 337C4 800583C4 00511021 */ addu $v0, $v0, $s1 -/* 337C8 800583C8 00621821 */ addu $v1, $v1, $v0 -/* 337CC 800583CC 08016212 */ j .L80058848 -/* 337D0 800583D0 AE430030 */ sw $v1, 0x30($s2) -.L800583D4: -/* 337D4 800583D4 8E440014 */ lw $a0, 0x14($s2) -/* 337D8 800583D8 8E430030 */ lw $v1, 0x30($s2) -/* 337DC 800583DC 8C820000 */ lw $v0, ($a0) -/* 337E0 800583E0 8C840004 */ lw $a0, 4($a0) -/* 337E4 800583E4 00671821 */ addu $v1, $v1, $a3 -/* 337E8 800583E8 00441021 */ addu $v0, $v0, $a0 -/* 337EC 800583EC 00622023 */ subu $a0, $v1, $v0 -/* 337F0 800583F0 1C800003 */ bgtz $a0, .L80058400 -/* 337F4 800583F4 00118100 */ sll $s0, $s1, 4 -/* 337F8 800583F8 08016101 */ j .L80058404 -/* 337FC 800583FC 0000202D */ daddu $a0, $zero, $zero -.L80058400: -/* 33800 80058400 AEE00028 */ sw $zero, 0x28($s7) -.L80058404: -/* 33804 80058404 3C0238E3 */ lui $v0, 0x38e3 -/* 33808 80058408 34428E39 */ ori $v0, $v0, 0x8e39 -/* 3380C 8005840C 00820018 */ mult $a0, $v0 -/* 33810 80058410 00041FC3 */ sra $v1, $a0, 0x1f -/* 33814 80058414 00004010 */ mfhi $t0 -/* 33818 80058418 00081043 */ sra $v0, $t0, 1 -/* 3381C 8005841C 00431023 */ subu $v0, $v0, $v1 -/* 33820 80058420 00029900 */ sll $s3, $v0, 4 -/* 33824 80058424 02151821 */ addu $v1, $s0, $s5 -/* 33828 80058428 0073102A */ slt $v0, $v1, $s3 -/* 3382C 8005842C 54400001 */ bnel $v0, $zero, .L80058434 -/* 33830 80058430 0060982D */ daddu $s3, $v1, $zero -.L80058434: -/* 33834 80058434 3262000F */ andi $v0, $s3, 0xf -/* 33838 80058438 02621023 */ subu $v0, $s3, $v0 -/* 3383C 8005843C 0054102A */ slt $v0, $v0, $s4 -/* 33840 80058440 10400020 */ beqz $v0, .L800584C4 -/* 33844 80058444 00E43823 */ subu $a3, $a3, $a0 -/* 33848 80058448 24080001 */ addiu $t0, $zero, 1 -/* 3384C 8005844C 02C0202D */ daddu $a0, $s6, $zero -/* 33850 80058450 0240282D */ daddu $a1, $s2, $zero -/* 33854 80058454 001E1400 */ sll $v0, $fp, 0x10 -/* 33858 80058458 00021403 */ sra $v0, $v0, 0x10 -/* 3385C 8005845C AFA80024 */ sw $t0, 0x24($sp) -/* 33860 80058460 AFA20010 */ sw $v0, 0x10($sp) -/* 33864 80058464 AFA00014 */ sw $zero, 0x14($sp) -/* 33868 80058468 8E42002C */ lw $v0, 0x2c($s2) -/* 3386C 8005846C 02133023 */ subu $a2, $s0, $s3 -/* 33870 80058470 0C0162C8 */ jal func_80058B20 -/* 33874 80058474 AFA20018 */ sw $v0, 0x18($sp) -/* 33878 80058478 8E430028 */ lw $v1, 0x28($s2) -/* 3387C 8005847C 10600005 */ beqz $v1, .L80058494 -/* 33880 80058480 0040B02D */ daddu $s6, $v0, $zero -/* 33884 80058484 9642002A */ lhu $v0, 0x2a($s2) -/* 33888 80058488 00021040 */ sll $v0, $v0, 1 -/* 3388C 8005848C 08016126 */ j .L80058498 -/* 33890 80058490 03C2F021 */ addu $fp, $fp, $v0 -.L80058494: -/* 33894 80058494 27DE0020 */ addiu $fp, $fp, 0x20 -.L80058498: -/* 33898 80058498 8E420028 */ lw $v0, 0x28($s2) -/* 3389C 8005849C 8E430024 */ lw $v1, 0x24($s2) -/* 338A0 800584A0 02821021 */ addu $v0, $s4, $v0 -/* 338A4 800584A4 3042000F */ andi $v0, $v0, 0xf -/* 338A8 800584A8 00741821 */ addu $v1, $v1, $s4 -/* 338AC 800584AC AE420028 */ sw $v0, 0x28($s2) -/* 338B0 800584B0 001110C0 */ sll $v0, $s1, 3 -/* 338B4 800584B4 AE430024 */ sw $v1, 0x24($s2) -/* 338B8 800584B8 8E430030 */ lw $v1, 0x30($s2) -/* 338BC 800584BC 08016135 */ j .L800584D4 -/* 338C0 800584C0 00511021 */ addu $v0, $v0, $s1 -.L800584C4: -/* 338C4 800584C4 001110C0 */ sll $v0, $s1, 3 -/* 338C8 800584C8 8E430030 */ lw $v1, 0x30($s2) -/* 338CC 800584CC 00511021 */ addu $v0, $v0, $s1 -/* 338D0 800584D0 AE400028 */ sw $zero, 0x28($s2) -.L800584D4: -/* 338D4 800584D4 00621821 */ addu $v1, $v1, $v0 -/* 338D8 800584D8 126000DB */ beqz $s3, .L80058848 -/* 338DC 800584DC AE430030 */ sw $v1, 0x30($s2) -/* 338E0 800584E0 AE400028 */ sw $zero, 0x28($s2) -/* 338E4 800584E4 8FA80024 */ lw $t0, 0x24($sp) -/* 338E8 800584E8 11000004 */ beqz $t0, .L800584FC -/* 338EC 800584EC 02B01021 */ addu $v0, $s5, $s0 -/* 338F0 800584F0 00531023 */ subu $v0, $v0, $s3 -/* 338F4 800584F4 08016140 */ j .L80058500 -/* 338F8 800584F8 00022840 */ sll $a1, $v0, 1 -.L800584FC: -/* 338FC 800584FC 0000282D */ daddu $a1, $zero, $zero -.L80058500: -/* 33900 80058500 02C0202D */ daddu $a0, $s6, $zero -/* 33904 80058504 26D60008 */ addiu $s6, $s6, 8 -/* 33908 80058508 3C0300FF */ lui $v1, 0xff -/* 3390C 8005850C 3463FFFF */ ori $v1, $v1, 0xffff -/* 33910 80058510 001E1400 */ sll $v0, $fp, 0x10 -/* 33914 80058514 00021403 */ sra $v0, $v0, 0x10 -/* 33918 80058518 00A21021 */ addu $v0, $a1, $v0 -/* 3391C 8005851C 00431024 */ and $v0, $v0, $v1 -/* 33920 80058520 3C030200 */ lui $v1, 0x200 -/* 33924 80058524 00431025 */ or $v0, $v0, $v1 -/* 33928 80058528 AC820000 */ sw $v0, ($a0) -/* 3392C 8005852C 00131040 */ sll $v0, $s3, 1 -/* 33930 80058530 08016212 */ j .L80058848 -/* 33934 80058534 AC820004 */ sw $v0, 4($a0) -.L80058538: -/* 33938 80058538 8FA80060 */ lw $t0, 0x60($sp) -/* 3393C 8005853C 8D040028 */ lw $a0, 0x28($t0) -/* 33940 80058540 8D030010 */ lw $v1, 0x10($t0) -/* 33944 80058544 02841021 */ addu $v0, $s4, $a0 -/* 33948 80058548 0062102B */ sltu $v0, $v1, $v0 -/* 3394C 8005854C 10400079 */ beqz $v0, .L80058734 -/* 33950 80058550 00148040 */ sll $s0, $s4, 1 -/* 33954 80058554 8D020014 */ lw $v0, 0x14($t0) -/* 33958 80058558 10400076 */ beqz $v0, .L80058734 -/* 3395C 8005855C 00649823 */ subu $s3, $v1, $a0 -/* 33960 80058560 1A600017 */ blez $s3, .L800585C0 -/* 33964 80058564 00138040 */ sll $s0, $s3, 1 -/* 33968 80058568 0200282D */ daddu $a1, $s0, $zero -/* 3396C 8005856C 8D040034 */ lw $a0, 0x34($t0) -/* 33970 80058570 8D060024 */ lw $a2, 0x24($t0) -/* 33974 80058574 90E70025 */ lbu $a3, 0x25($a3) -/* 33978 80058578 8D020020 */ lw $v0, 0x20($t0) -/* 3397C 8005857C 0040F809 */ jalr $v0 -/* 33980 80058580 26D60008 */ addiu $s6, $s6, 8 -/* 33984 80058584 0040382D */ daddu $a3, $v0, $zero -/* 33988 80058588 30E60007 */ andi $a2, $a3, 7 -/* 3398C 8005858C 02068021 */ addu $s0, $s0, $a2 -/* 33990 80058590 3C030400 */ lui $v1, 0x400 -/* 33994 80058594 34630170 */ ori $v1, $v1, 0x170 -/* 33998 80058598 32020007 */ andi $v0, $s0, 7 -/* 3399C 8005859C 2442FFF8 */ addiu $v0, $v0, -8 -/* 339A0 800585A0 02021023 */ subu $v0, $s0, $v0 -/* 339A4 800585A4 30420FFF */ andi $v0, $v0, 0xfff -/* 339A8 800585A8 00021300 */ sll $v0, $v0, 0xc -/* 339AC 800585AC 00431025 */ or $v0, $v0, $v1 -/* 339B0 800585B0 AE220000 */ sw $v0, ($s1) -/* 339B4 800585B4 00E61023 */ subu $v0, $a3, $a2 -/* 339B8 800585B8 08016171 */ j .L800585C4 -/* 339BC 800585BC AE220004 */ sw $v0, 4($s1) -.L800585C0: -/* 339C0 800585C0 0000302D */ daddu $a2, $zero, $zero -.L800585C4: -/* 339C4 800585C4 03C61021 */ addu $v0, $fp, $a2 -/* 339C8 800585C8 0040F02D */ daddu $fp, $v0, $zero -/* 339CC 800585CC 00021400 */ sll $v0, $v0, 0x10 -/* 339D0 800585D0 0002AC03 */ sra $s5, $v0, 0x10 -/* 339D4 800585D4 0274102A */ slt $v0, $s3, $s4 -/* 339D8 800585D8 8E430008 */ lw $v1, 8($s2) -/* 339DC 800585DC 8E440014 */ lw $a0, 0x14($s2) -/* 339E0 800585E0 0060282D */ daddu $a1, $v1, $zero -/* 339E4 800585E4 8C840000 */ lw $a0, ($a0) -/* 339E8 800585E8 00031840 */ sll $v1, $v1, 1 -/* 339EC 800585EC AE450024 */ sw $a1, 0x24($s2) -/* 339F0 800585F0 00832021 */ addu $a0, $a0, $v1 -/* 339F4 800585F4 10400047 */ beqz $v0, .L80058714 -/* 339F8 800585F8 AE440030 */ sw $a0, 0x30($s2) -/* 339FC 800585FC 26D1FFFC */ addiu $s1, $s6, -4 -/* 33A00 80058600 00131040 */ sll $v0, $s3, 1 -.L80058604: -/* 33A04 80058604 02A2A821 */ addu $s5, $s5, $v0 -/* 33A08 80058608 8E430010 */ lw $v1, 0x10($s2) -/* 33A0C 8005860C 2402FFFF */ addiu $v0, $zero, -1 -/* 33A10 80058610 10620004 */ beq $v1, $v0, .L80058624 -/* 33A14 80058614 0293A023 */ subu $s4, $s4, $s3 -/* 33A18 80058618 10600002 */ beqz $v1, .L80058624 -/* 33A1C 8005861C 00621021 */ addu $v0, $v1, $v0 -/* 33A20 80058620 AE420010 */ sw $v0, 0x10($s2) -.L80058624: -/* 33A24 80058624 8E43000C */ lw $v1, 0xc($s2) -/* 33A28 80058628 8E420008 */ lw $v0, 8($s2) -/* 33A2C 8005862C 00621823 */ subu $v1, $v1, $v0 -/* 33A30 80058630 0283102B */ sltu $v0, $s4, $v1 -/* 33A34 80058634 14400002 */ bnez $v0, .L80058640 -/* 33A38 80058638 0280982D */ daddu $s3, $s4, $zero -/* 33A3C 8005863C 0060982D */ daddu $s3, $v1, $zero -.L80058640: -/* 33A40 80058640 00138040 */ sll $s0, $s3, 1 -/* 33A44 80058644 8E440030 */ lw $a0, 0x30($s2) -/* 33A48 80058648 8E420014 */ lw $v0, 0x14($s2) -/* 33A4C 8005864C 8E460020 */ lw $a2, 0x20($s2) -/* 33A50 80058650 90470025 */ lbu $a3, 0x25($v0) -/* 33A54 80058654 8E42001C */ lw $v0, 0x1c($s2) -/* 33A58 80058658 0040F809 */ jalr $v0 -/* 33A5C 8005865C 0200282D */ daddu $a1, $s0, $zero -/* 33A60 80058660 0040382D */ daddu $a3, $v0, $zero -/* 33A64 80058664 30E60007 */ andi $a2, $a3, 7 -/* 33A68 80058668 32A30007 */ andi $v1, $s5, 7 -/* 33A6C 8005866C 10600004 */ beqz $v1, .L80058680 -/* 33A70 80058670 02068021 */ addu $s0, $s0, $a2 -/* 33A74 80058674 24020008 */ addiu $v0, $zero, 8 -/* 33A78 80058678 080161A1 */ j .L80058684 -/* 33A7C 8005867C 00432823 */ subu $a1, $v0, $v1 -.L80058680: -/* 33A80 80058680 0000282D */ daddu $a1, $zero, $zero -.L80058684: -/* 33A84 80058684 26310008 */ addiu $s1, $s1, 8 -/* 33A88 80058688 26D60008 */ addiu $s6, $s6, 8 -/* 33A8C 8005868C 32020007 */ andi $v0, $s0, 7 -/* 33A90 80058690 2442FFF8 */ addiu $v0, $v0, -8 -/* 33A94 80058694 02021023 */ subu $v0, $s0, $v0 -/* 33A98 80058698 30420FFF */ andi $v0, $v0, 0xfff -/* 33A9C 8005869C 00021300 */ sll $v0, $v0, 0xc -/* 33AA0 800586A0 02A51821 */ addu $v1, $s5, $a1 -/* 33AA4 800586A4 30630FFF */ andi $v1, $v1, 0xfff -/* 33AA8 800586A8 3C040400 */ lui $a0, 0x400 -/* 33AAC 800586AC 00641825 */ or $v1, $v1, $a0 -/* 33AB0 800586B0 00431025 */ or $v0, $v0, $v1 -/* 33AB4 800586B4 AE22FFFC */ sw $v0, -4($s1) -/* 33AB8 800586B8 00E61023 */ subu $v0, $a3, $a2 -/* 33ABC 800586BC 14C00003 */ bnez $a2, .L800586CC -/* 33AC0 800586C0 AE220000 */ sw $v0, ($s1) -/* 33AC4 800586C4 10A00011 */ beqz $a1, .L8005870C -/* 33AC8 800586C8 0274102A */ slt $v0, $s3, $s4 -.L800586CC: -/* 33ACC 800586CC 26310008 */ addiu $s1, $s1, 8 -/* 33AD0 800586D0 26D60008 */ addiu $s6, $s6, 8 -/* 33AD4 800586D4 3C0300FF */ lui $v1, 0xff -/* 33AD8 800586D8 3463FFFF */ ori $v1, $v1, 0xffff -/* 33ADC 800586DC 02A61021 */ addu $v0, $s5, $a2 -/* 33AE0 800586E0 00451021 */ addu $v0, $v0, $a1 -/* 33AE4 800586E4 00431024 */ and $v0, $v0, $v1 -/* 33AE8 800586E8 3C030A00 */ lui $v1, 0xa00 -/* 33AEC 800586EC 00431025 */ or $v0, $v0, $v1 -/* 33AF0 800586F0 00151C00 */ sll $v1, $s5, 0x10 -/* 33AF4 800586F4 AE22FFFC */ sw $v0, -4($s1) -/* 33AF8 800586F8 00131040 */ sll $v0, $s3, 1 -/* 33AFC 800586FC 3042FFFF */ andi $v0, $v0, 0xffff -/* 33B00 80058700 00621825 */ or $v1, $v1, $v0 -/* 33B04 80058704 AE230000 */ sw $v1, ($s1) -/* 33B08 80058708 0274102A */ slt $v0, $s3, $s4 -.L8005870C: -/* 33B0C 8005870C 1440FFBD */ bnez $v0, .L80058604 -/* 33B10 80058710 00131040 */ sll $v0, $s3, 1 -.L80058714: -/* 33B14 80058714 8E420024 */ lw $v0, 0x24($s2) -/* 33B18 80058718 00541021 */ addu $v0, $v0, $s4 -/* 33B1C 8005871C AE420024 */ sw $v0, 0x24($s2) -/* 33B20 80058720 8E420030 */ lw $v0, 0x30($s2) -/* 33B24 80058724 00141840 */ sll $v1, $s4, 1 -/* 33B28 80058728 00431021 */ addu $v0, $v0, $v1 -/* 33B2C 8005872C 08016212 */ j .L80058848 -/* 33B30 80058730 AE420030 */ sw $v0, 0x30($s2) -.L80058734: -/* 33B34 80058734 8E440014 */ lw $a0, 0x14($s2) -/* 33B38 80058738 8E430030 */ lw $v1, 0x30($s2) -/* 33B3C 8005873C 8C820000 */ lw $v0, ($a0) -/* 33B40 80058740 8C840004 */ lw $a0, 4($a0) -/* 33B44 80058744 00701821 */ addu $v1, $v1, $s0 -/* 33B48 80058748 00441021 */ addu $v0, $v0, $a0 -/* 33B4C 8005874C 00628823 */ subu $s1, $v1, $v0 -/* 33B50 80058750 5E200002 */ bgtzl $s1, .L8005875C -/* 33B54 80058754 AEE00028 */ sw $zero, 0x28($s7) -/* 33B58 80058758 0000882D */ daddu $s1, $zero, $zero -.L8005875C: -/* 33B5C 8005875C 0211102A */ slt $v0, $s0, $s1 -/* 33B60 80058760 54400001 */ bnel $v0, $zero, .L80058768 -/* 33B64 80058764 0200882D */ daddu $s1, $s0, $zero -.L80058768: -/* 33B68 80058768 0230102A */ slt $v0, $s1, $s0 -/* 33B6C 8005876C 10400021 */ beqz $v0, .L800587F4 -/* 33B70 80058770 00000000 */ nop -/* 33B74 80058774 1A80001A */ blez $s4, .L800587E0 -/* 33B78 80058778 02118023 */ subu $s0, $s0, $s1 -/* 33B7C 8005877C 8E440030 */ lw $a0, 0x30($s2) -/* 33B80 80058780 8E420014 */ lw $v0, 0x14($s2) -/* 33B84 80058784 8E460020 */ lw $a2, 0x20($s2) -/* 33B88 80058788 90470025 */ lbu $a3, 0x25($v0) -/* 33B8C 8005878C 8E42001C */ lw $v0, 0x1c($s2) -/* 33B90 80058790 0040F809 */ jalr $v0 -/* 33B94 80058794 0200282D */ daddu $a1, $s0, $zero -/* 33B98 80058798 0040382D */ daddu $a3, $v0, $zero -/* 33B9C 8005879C 30E60007 */ andi $a2, $a3, 7 -/* 33BA0 800587A0 02068021 */ addu $s0, $s0, $a2 -/* 33BA4 800587A4 02C0282D */ daddu $a1, $s6, $zero -/* 33BA8 800587A8 26D60008 */ addiu $s6, $s6, 8 -/* 33BAC 800587AC 32020007 */ andi $v0, $s0, 7 -/* 33BB0 800587B0 2442FFF8 */ addiu $v0, $v0, -8 -/* 33BB4 800587B4 02021023 */ subu $v0, $s0, $v0 -/* 33BB8 800587B8 30420FFF */ andi $v0, $v0, 0xfff -/* 33BBC 800587BC 00021300 */ sll $v0, $v0, 0xc -/* 33BC0 800587C0 33C30FFF */ andi $v1, $fp, 0xfff -/* 33BC4 800587C4 3C040400 */ lui $a0, 0x400 -/* 33BC8 800587C8 00641825 */ or $v1, $v1, $a0 -/* 33BCC 800587CC 00431025 */ or $v0, $v0, $v1 -/* 33BD0 800587D0 ACA20000 */ sw $v0, ($a1) -/* 33BD4 800587D4 00E61023 */ subu $v0, $a3, $a2 -/* 33BD8 800587D8 080161F9 */ j .L800587E4 -/* 33BDC 800587DC ACA20004 */ sw $v0, 4($a1) -.L800587E0: -/* 33BE0 800587E0 0000302D */ daddu $a2, $zero, $zero -.L800587E4: -/* 33BE4 800587E4 8E420024 */ lw $v0, 0x24($s2) -/* 33BE8 800587E8 03C6F021 */ addu $fp, $fp, $a2 -/* 33BEC 800587EC 00541021 */ addu $v0, $v0, $s4 -/* 33BF0 800587F0 AE420024 */ sw $v0, 0x24($s2) -.L800587F4: -/* 33BF4 800587F4 8E420030 */ lw $v0, 0x30($s2) -/* 33BF8 800587F8 00141840 */ sll $v1, $s4, 1 -/* 33BFC 800587FC 00431021 */ addu $v0, $v0, $v1 -/* 33C00 80058800 12200011 */ beqz $s1, .L80058848 -/* 33C04 80058804 AE420030 */ sw $v0, 0x30($s2) -/* 33C08 80058808 00141040 */ sll $v0, $s4, 1 -/* 33C0C 8005880C 00512823 */ subu $a1, $v0, $s1 -/* 33C10 80058810 04A20001 */ bltzl $a1, .L80058818 -/* 33C14 80058814 0000282D */ daddu $a1, $zero, $zero -.L80058818: -/* 33C18 80058818 02C0202D */ daddu $a0, $s6, $zero -/* 33C1C 8005881C 26D60008 */ addiu $s6, $s6, 8 -/* 33C20 80058820 3C0300FF */ lui $v1, 0xff -/* 33C24 80058824 3463FFFF */ ori $v1, $v1, 0xffff -/* 33C28 80058828 001E1400 */ sll $v0, $fp, 0x10 -/* 33C2C 8005882C 00021403 */ sra $v0, $v0, 0x10 -/* 33C30 80058830 00A21021 */ addu $v0, $a1, $v0 -/* 33C34 80058834 00431024 */ and $v0, $v0, $v1 -/* 33C38 80058838 3C030200 */ lui $v1, 0x200 -/* 33C3C 8005883C 00431025 */ or $v0, $v0, $v1 -/* 33C40 80058840 AC820000 */ sw $v0, ($a0) -/* 33C44 80058844 AC910004 */ sw $s1, 4($a0) -.L80058848: -/* 33C48 80058848 8FA80020 */ lw $t0, 0x20($sp) -/* 33C4C 8005884C 3C014700 */ lui $at, 0x4700 -/* 33C50 80058850 44811000 */ mtc1 $at, $f2 -/* 33C54 80058854 C5000004 */ lwc1 $f0, 4($t0) -/* 33C58 80058858 46020002 */ mul.s $f0, $f0, $f2 -/* 33C5C 8005885C 00000000 */ nop -/* 33C60 80058860 8D040000 */ lw $a0, ($t0) -/* 33C64 80058864 4600018D */ trunc.w.s $f6, $f0 -/* 33C68 80058868 44103000 */ mfc1 $s0, $f6 -/* 33C6C 8005886C 0C0187A4 */ jal osVirtualToPhysical -/* 33C70 80058870 3210FFFF */ andi $s0, $s0, 0xffff -/* 33C74 80058874 3C0300FF */ lui $v1, 0xff -/* 33C78 80058878 3463FFFF */ ori $v1, $v1, 0xffff -/* 33C7C 8005887C 02C0202D */ daddu $a0, $s6, $zero -/* 33C80 80058880 00431024 */ and $v0, $v0, $v1 -/* 33C84 80058884 3C030500 */ lui $v1, 0x500 -/* 33C88 80058888 00431025 */ or $v0, $v0, $v1 -/* 33C8C 8005888C 00108380 */ sll $s0, $s0, 0xe -/* 33C90 80058890 AC820000 */ sw $v0, ($a0) -/* 33C94 80058894 8FA80020 */ lw $t0, 0x20($sp) -/* 33C98 80058898 33C20FFF */ andi $v0, $fp, 0xfff -/* 33C9C 8005889C 8D03000C */ lw $v1, 0xc($t0) -/* 33CA0 800588A0 00021080 */ sll $v0, $v0, 2 -/* 33CA4 800588A4 00031F80 */ sll $v1, $v1, 0x1e -/* 33CA8 800588A8 00701825 */ or $v1, $v1, $s0 -/* 33CAC 800588AC 00621825 */ or $v1, $v1, $v0 -/* 33CB0 800588B0 AC830004 */ sw $v1, 4($a0) -/* 33CB4 800588B4 AD00000C */ sw $zero, 0xc($t0) -/* 33CB8 800588B8 8EE20024 */ lw $v0, 0x24($s7) -/* 33CBC 800588BC 10400069 */ beqz $v0, .L80058A64 -/* 33CC0 800588C0 26D60008 */ addiu $s6, $s6, 8 -/* 33CC4 800588C4 3C028008 */ lui $v0, %hi(D_80078181) -/* 33CC8 800588C8 24428181 */ addiu $v0, $v0, %lo(D_80078181) -/* 33CCC 800588CC 90420000 */ lbu $v0, ($v0) -/* 33CD0 800588D0 1440000C */ bnez $v0, .L80058904 -/* 33CD4 800588D4 AEE00024 */ sw $zero, 0x24($s7) -/* 33CD8 800588D8 3C048008 */ lui $a0, %hi(D_80078E60) -/* 33CDC 800588DC 24848E60 */ addiu $a0, $a0, %lo(D_80078E60) -/* 33CE0 800588E0 86E30006 */ lh $v1, 6($s7) -/* 33CE4 800588E4 84820080 */ lh $v0, 0x80($a0) -/* 33CE8 800588E8 00620018 */ mult $v1, $v0 -/* 33CEC 800588EC 00004012 */ mflo $t0 -/* 33CF0 800588F0 000813C3 */ sra $v0, $t0, 0xf -/* 33CF4 800588F4 A6E20014 */ sh $v0, 0x14($s7) -/* 33CF8 800588F8 84820080 */ lh $v0, 0x80($a0) -/* 33CFC 800588FC 08016254 */ j .L80058950 -/* 33D00 80058900 00620018 */ mult $v1, $v0 -.L80058904: -/* 33D04 80058904 86E20004 */ lh $v0, 4($s7) -/* 33D08 80058908 86E30006 */ lh $v1, 6($s7) -/* 33D0C 8005890C 00021040 */ sll $v0, $v0, 1 -/* 33D10 80058910 3C018008 */ lui $at, %hi(D_80078E60) -/* 33D14 80058914 00220821 */ addu $at, $at, $v0 -/* 33D18 80058918 84228E60 */ lh $v0, %lo(D_80078E60)($at) -/* 33D1C 8005891C 00620018 */ mult $v1, $v0 -/* 33D20 80058920 86E30004 */ lh $v1, 4($s7) -/* 33D24 80058924 00004012 */ mflo $t0 -/* 33D28 80058928 000813C3 */ sra $v0, $t0, 0xf -/* 33D2C 8005892C A6E20014 */ sh $v0, 0x14($s7) -/* 33D30 80058930 2402007F */ addiu $v0, $zero, 0x7f -/* 33D34 80058934 00431023 */ subu $v0, $v0, $v1 -/* 33D38 80058938 00021040 */ sll $v0, $v0, 1 -/* 33D3C 8005893C 86E30006 */ lh $v1, 6($s7) -/* 33D40 80058940 3C018008 */ lui $at, %hi(D_80078E60) -/* 33D44 80058944 00220821 */ addu $at, $at, $v0 -/* 33D48 80058948 84228E60 */ lh $v0, %lo(D_80078E60)($at) -/* 33D4C 8005894C 00620018 */ mult $v1, $v0 -.L80058950: -/* 33D50 80058950 00004012 */ mflo $t0 -/* 33D54 80058954 000813C3 */ sra $v0, $t0, 0xf -/* 33D58 80058958 A6E2001A */ sh $v0, 0x1a($s7) -/* 33D5C 8005895C 86E30008 */ lh $v1, 8($s7) -/* 33D60 80058960 86E40014 */ lh $a0, 0x14($s7) -/* 33D64 80058964 8EE50020 */ lw $a1, 0x20($s7) -/* 33D68 80058968 26E20010 */ addiu $v0, $s7, 0x10 -/* 33D6C 8005896C AFA20014 */ sw $v0, 0x14($sp) -/* 33D70 80058970 44836000 */ mtc1 $v1, $f12 -/* 33D74 80058974 00000000 */ nop -/* 33D78 80058978 46806321 */ cvt.d.w $f12, $f12 -/* 33D7C 8005897C 44847000 */ mtc1 $a0, $f14 -/* 33D80 80058980 00000000 */ nop -/* 33D84 80058984 468073A1 */ cvt.d.w $f14, $f14 -/* 33D88 80058988 0C01631B */ jal func_80058C6C -/* 33D8C 8005898C AFA50010 */ sw $a1, 0x10($sp) -/* 33D90 80058990 86E3000A */ lh $v1, 0xa($s7) -/* 33D94 80058994 86E4001A */ lh $a0, 0x1a($s7) -/* 33D98 80058998 8EE50020 */ lw $a1, 0x20($s7) -/* 33D9C 8005899C A6E20012 */ sh $v0, 0x12($s7) -/* 33DA0 800589A0 26E20016 */ addiu $v0, $s7, 0x16 -/* 33DA4 800589A4 AFA20014 */ sw $v0, 0x14($sp) -/* 33DA8 800589A8 44836000 */ mtc1 $v1, $f12 -/* 33DAC 800589AC 00000000 */ nop -/* 33DB0 800589B0 46806321 */ cvt.d.w $f12, $f12 -/* 33DB4 800589B4 44847000 */ mtc1 $a0, $f14 -/* 33DB8 800589B8 00000000 */ nop -/* 33DBC 800589BC 468073A1 */ cvt.d.w $f14, $f14 -/* 33DC0 800589C0 0C01631B */ jal func_80058C6C -/* 33DC4 800589C4 AFA50010 */ sw $a1, 0x10($sp) -/* 33DC8 800589C8 02C0202D */ daddu $a0, $s6, $zero -/* 33DCC 800589CC 26D60008 */ addiu $s6, $s6, 8 -/* 33DD0 800589D0 02C0282D */ daddu $a1, $s6, $zero -/* 33DD4 800589D4 26D60008 */ addiu $s6, $s6, 8 -/* 33DD8 800589D8 02C0302D */ daddu $a2, $s6, $zero -/* 33DDC 800589DC 26D60008 */ addiu $s6, $s6, 8 -/* 33DE0 800589E0 3C030900 */ lui $v1, 0x900 -/* 33DE4 800589E4 A6E20018 */ sh $v0, 0x18($s7) -/* 33DE8 800589E8 96E20014 */ lhu $v0, 0x14($s7) -/* 33DEC 800589EC 02C0802D */ daddu $s0, $s6, $zero -/* 33DF0 800589F0 00431025 */ or $v0, $v0, $v1 -/* 33DF4 800589F4 AC820000 */ sw $v0, ($a0) -/* 33DF8 800589F8 96E20012 */ lhu $v0, 0x12($s7) -/* 33DFC 800589FC 96E30010 */ lhu $v1, 0x10($s7) -/* 33E00 80058A00 00021400 */ sll $v0, $v0, 0x10 -/* 33E04 80058A04 00431025 */ or $v0, $v0, $v1 -/* 33E08 80058A08 AC820004 */ sw $v0, 4($a0) -/* 33E0C 80058A0C 96E20008 */ lhu $v0, 8($s7) -/* 33E10 80058A10 3C030906 */ lui $v1, 0x906 -/* 33E14 80058A14 00431025 */ or $v0, $v0, $v1 -/* 33E18 80058A18 ACA20000 */ sw $v0, ($a1) -/* 33E1C 80058A1C 96E2000C */ lhu $v0, 0xc($s7) -/* 33E20 80058A20 96E3000E */ lhu $v1, 0xe($s7) -/* 33E24 80058A24 00021400 */ sll $v0, $v0, 0x10 -/* 33E28 80058A28 00431025 */ or $v0, $v0, $v1 -/* 33E2C 80058A2C ACA20004 */ sw $v0, 4($a1) -/* 33E30 80058A30 96E2001A */ lhu $v0, 0x1a($s7) -/* 33E34 80058A34 3C030904 */ lui $v1, 0x904 -/* 33E38 80058A38 00431025 */ or $v0, $v0, $v1 -/* 33E3C 80058A3C ACC20000 */ sw $v0, ($a2) -/* 33E40 80058A40 96E20018 */ lhu $v0, 0x18($s7) -/* 33E44 80058A44 96E30016 */ lhu $v1, 0x16($s7) -/* 33E48 80058A48 00021400 */ sll $v0, $v0, 0x10 -/* 33E4C 80058A4C 00431025 */ or $v0, $v0, $v1 -/* 33E50 80058A50 ACC20004 */ sw $v0, 4($a2) -/* 33E54 80058A54 96E2000A */ lhu $v0, 0xa($s7) -/* 33E58 80058A58 3C030301 */ lui $v1, 0x301 -/* 33E5C 80058A5C 0801629B */ j .L80058A6C -/* 33E60 80058A60 00431025 */ or $v0, $v0, $v1 -.L80058A64: -/* 33E64 80058A64 02C0802D */ daddu $s0, $s6, $zero -/* 33E68 80058A68 3C020300 */ lui $v0, 0x300 -.L80058A6C: -/* 33E6C 80058A6C AE020000 */ sw $v0, ($s0) -/* 33E70 80058A70 8EE40000 */ lw $a0, ($s7) -/* 33E74 80058A74 0C0187A4 */ jal osVirtualToPhysical -/* 33E78 80058A78 26D60008 */ addiu $s6, $s6, 8 -/* 33E7C 80058A7C AE020004 */ sw $v0, 4($s0) -/* 33E80 80058A80 8EE2001C */ lw $v0, 0x1c($s7) -/* 33E84 80058A84 8EE30020 */ lw $v1, 0x20($s7) -/* 33E88 80058A88 244200B8 */ addiu $v0, $v0, 0xb8 -/* 33E8C 80058A8C AEE2001C */ sw $v0, 0x1c($s7) -/* 33E90 80058A90 0062102A */ slt $v0, $v1, $v0 -/* 33E94 80058A94 54400001 */ bnel $v0, $zero, .L80058A9C -/* 33E98 80058A98 AEE3001C */ sw $v1, 0x1c($s7) -.L80058A9C: -/* 33E9C 80058A9C 8EE20028 */ lw $v0, 0x28($s7) -/* 33EA0 80058AA0 14400013 */ bnez $v0, .L80058AF0 -/* 33EA4 80058AA4 02C0102D */ daddu $v0, $s6, $zero -/* 33EA8 80058AA8 24020001 */ addiu $v0, $zero, 1 -/* 33EAC 80058AAC AEE20024 */ sw $v0, 0x24($s7) -/* 33EB0 80058AB0 A6E20006 */ sh $v0, 6($s7) -/* 33EB4 80058AB4 8FA80020 */ lw $t0, 0x20($sp) -/* 33EB8 80058AB8 AD000008 */ sw $zero, 8($t0) -/* 33EBC 80058ABC AD02000C */ sw $v0, 0xc($t0) -/* 33EC0 80058AC0 8E430014 */ lw $v1, 0x14($s2) -/* 33EC4 80058AC4 AE400028 */ sw $zero, 0x28($s2) -/* 33EC8 80058AC8 AE42002C */ sw $v0, 0x2c($s2) -/* 33ECC 80058ACC AE400024 */ sw $zero, 0x24($s2) -/* 33ED0 80058AD0 8C620000 */ lw $v0, ($v1) -/* 33ED4 80058AD4 AE420030 */ sw $v0, 0x30($s2) -/* 33ED8 80058AD8 8C620014 */ lw $v0, 0x14($v1) -/* 33EDC 80058ADC AE420010 */ sw $v0, 0x10($s2) -/* 33EE0 80058AE0 8FA80060 */ lw $t0, 0x60($sp) -/* 33EE4 80058AE4 0C014B8C */ jal func_80052E30 -/* 33EE8 80058AE8 91040079 */ lbu $a0, 0x79($t0) -.L80058AEC: -/* 33EEC 80058AEC 02C0102D */ daddu $v0, $s6, $zero -.L80058AF0: -/* 33EF0 80058AF0 8FBF005C */ lw $ra, 0x5c($sp) -/* 33EF4 80058AF4 8FBE0058 */ lw $fp, 0x58($sp) -/* 33EF8 80058AF8 8FB70054 */ lw $s7, 0x54($sp) -/* 33EFC 80058AFC 8FB60050 */ lw $s6, 0x50($sp) -/* 33F00 80058B00 8FB5004C */ lw $s5, 0x4c($sp) -/* 33F04 80058B04 8FB40048 */ lw $s4, 0x48($sp) -/* 33F08 80058B08 8FB30044 */ lw $s3, 0x44($sp) -/* 33F0C 80058B0C 8FB20040 */ lw $s2, 0x40($sp) -/* 33F10 80058B10 8FB1003C */ lw $s1, 0x3c($sp) -/* 33F14 80058B14 8FB00038 */ lw $s0, 0x38($sp) -/* 33F18 80058B18 03E00008 */ jr $ra -/* 33F1C 80058B1C 27BD0060 */ addiu $sp, $sp, 0x60 diff --git a/asm/nonmatchings/code_303c0_len_3e10/func_80058B20.s b/asm/nonmatchings/code_303c0_len_3e10/func_80058B20.s deleted file mode 100644 index 07bc6ae0a5..0000000000 --- a/asm/nonmatchings/code_303c0_len_3e10/func_80058B20.s +++ /dev/null @@ -1,90 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel func_80058B20 -/* 33F20 80058B20 27BDFFD0 */ addiu $sp, $sp, -0x30 -/* 33F24 80058B24 AFB3001C */ sw $s3, 0x1c($sp) -/* 33F28 80058B28 8FB30044 */ lw $s3, 0x44($sp) -/* 33F2C 80058B2C AFB50024 */ sw $s5, 0x24($sp) -/* 33F30 80058B30 8FB50048 */ lw $s5, 0x48($sp) -/* 33F34 80058B34 AFB40020 */ sw $s4, 0x20($sp) -/* 33F38 80058B38 97B40042 */ lhu $s4, 0x42($sp) -/* 33F3C 80058B3C AFB10014 */ sw $s1, 0x14($sp) -/* 33F40 80058B40 0080882D */ daddu $s1, $a0, $zero -/* 33F44 80058B44 AFB20018 */ sw $s2, 0x18($sp) -/* 33F48 80058B48 00A0902D */ daddu $s2, $a1, $zero -/* 33F4C 80058B4C AFB60028 */ sw $s6, 0x28($sp) -/* 33F50 80058B50 00C0B02D */ daddu $s6, $a2, $zero -/* 33F54 80058B54 AFB00010 */ sw $s0, 0x10($sp) -/* 33F58 80058B58 00E0802D */ daddu $s0, $a3, $zero -/* 33F5C 80058B5C 1A000019 */ blez $s0, .L80058BC4 -/* 33F60 80058B60 AFBF002C */ sw $ra, 0x2c($sp) -/* 33F64 80058B64 8E430014 */ lw $v1, 0x14($s2) -/* 33F68 80058B68 8E42001C */ lw $v0, 0x1c($s2) -/* 33F6C 80058B6C 8E440030 */ lw $a0, 0x30($s2) -/* 33F70 80058B70 8E460020 */ lw $a2, 0x20($s2) -/* 33F74 80058B74 90670025 */ lbu $a3, 0x25($v1) -/* 33F78 80058B78 0040F809 */ jalr $v0 -/* 33F7C 80058B7C 0200282D */ daddu $a1, $s0, $zero -/* 33F80 80058B80 30480007 */ andi $t0, $v0, 7 -/* 33F84 80058B84 02088021 */ addu $s0, $s0, $t0 -/* 33F88 80058B88 0220302D */ daddu $a2, $s1, $zero -/* 33F8C 80058B8C 26310008 */ addiu $s1, $s1, 8 -/* 33F90 80058B90 32030007 */ andi $v1, $s0, 7 -/* 33F94 80058B94 2463FFF8 */ addiu $v1, $v1, -8 -/* 33F98 80058B98 02031823 */ subu $v1, $s0, $v1 -/* 33F9C 80058B9C 30630FFF */ andi $v1, $v1, 0xfff -/* 33FA0 80058BA0 00031B00 */ sll $v1, $v1, 0xc -/* 33FA4 80058BA4 32640FFF */ andi $a0, $s3, 0xfff -/* 33FA8 80058BA8 3C050400 */ lui $a1, 0x400 -/* 33FAC 80058BAC 00852025 */ or $a0, $a0, $a1 -/* 33FB0 80058BB0 00641825 */ or $v1, $v1, $a0 -/* 33FB4 80058BB4 00481023 */ subu $v0, $v0, $t0 -/* 33FB8 80058BB8 ACC30000 */ sw $v1, ($a2) -/* 33FBC 80058BBC 080162F2 */ j .L80058BC8 -/* 33FC0 80058BC0 ACC20004 */ sw $v0, 4($a2) -.L80058BC4: -/* 33FC4 80058BC4 0000402D */ daddu $t0, $zero, $zero -.L80058BC8: -/* 33FC8 80058BC8 32A20002 */ andi $v0, $s5, 2 -/* 33FCC 80058BCC 10400009 */ beqz $v0, .L80058BF4 -/* 33FD0 80058BD0 0220202D */ daddu $a0, $s1, $zero -/* 33FD4 80058BD4 26310008 */ addiu $s1, $s1, 8 -/* 33FD8 80058BD8 3C031FFF */ lui $v1, 0x1fff -/* 33FDC 80058BDC 3C020F00 */ lui $v0, 0xf00 -/* 33FE0 80058BE0 AC820000 */ sw $v0, ($a0) -/* 33FE4 80058BE4 8E420004 */ lw $v0, 4($s2) -/* 33FE8 80058BE8 3463FFFF */ ori $v1, $v1, 0xffff -/* 33FEC 80058BEC 00431024 */ and $v0, $v0, $v1 -/* 33FF0 80058BF0 AC820004 */ sw $v0, 4($a0) -.L80058BF4: -/* 33FF4 80058BF4 3C0700FF */ lui $a3, 0xff -/* 33FF8 80058BF8 34E7FFFF */ ori $a3, $a3, 0xffff -/* 33FFC 80058BFC 26220008 */ addiu $v0, $s1, 8 -/* 34000 80058C00 0220302D */ daddu $a2, $s1, $zero -/* 34004 80058C04 00152700 */ sll $a0, $s5, 0x1c -/* 34008 80058C08 00161840 */ sll $v1, $s6, 1 -/* 3400C 80058C0C 30630FFF */ andi $v1, $v1, 0xfff -/* 34010 80058C10 00031C00 */ sll $v1, $v1, 0x10 -/* 34014 80058C14 00832025 */ or $a0, $a0, $v1 -/* 34018 80058C18 00081B00 */ sll $v1, $t0, 0xc -/* 3401C 80058C1C 00832025 */ or $a0, $a0, $v1 -/* 34020 80058C20 32850FFF */ andi $a1, $s4, 0xfff -/* 34024 80058C24 8E430000 */ lw $v1, ($s2) -/* 34028 80058C28 00852025 */ or $a0, $a0, $a1 -/* 3402C 80058C2C ACC40004 */ sw $a0, 4($a2) -/* 34030 80058C30 3C040100 */ lui $a0, 0x100 -/* 34034 80058C34 00671824 */ and $v1, $v1, $a3 -/* 34038 80058C38 00641825 */ or $v1, $v1, $a0 -/* 3403C 80058C3C ACC30000 */ sw $v1, ($a2) -/* 34040 80058C40 AE40002C */ sw $zero, 0x2c($s2) -/* 34044 80058C44 8FBF002C */ lw $ra, 0x2c($sp) -/* 34048 80058C48 8FB60028 */ lw $s6, 0x28($sp) -/* 3404C 80058C4C 8FB50024 */ lw $s5, 0x24($sp) -/* 34050 80058C50 8FB40020 */ lw $s4, 0x20($sp) -/* 34054 80058C54 8FB3001C */ lw $s3, 0x1c($sp) -/* 34058 80058C58 8FB20018 */ lw $s2, 0x18($sp) -/* 3405C 80058C5C 8FB10014 */ lw $s1, 0x14($sp) -/* 34060 80058C60 8FB00010 */ lw $s0, 0x10($sp) -/* 34064 80058C64 03E00008 */ jr $ra -/* 34068 80058C68 27BD0030 */ addiu $sp, $sp, 0x30 diff --git a/asm/nonmatchings/code_303c0_len_3e10/func_80058C6C.s b/asm/nonmatchings/code_303c0_len_3e10/func_80058C6C.s deleted file mode 100644 index fbc8587270..0000000000 --- a/asm/nonmatchings/code_303c0_len_3e10/func_80058C6C.s +++ /dev/null @@ -1,99 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel func_80058C6C -/* 3406C 80058C6C 8FA20010 */ lw $v0, 0x10($sp) -/* 34070 80058C70 1440000B */ bnez $v0, .L80058CA0 -/* 34074 80058C74 8FA50014 */ lw $a1, 0x14($sp) -/* 34078 80058C78 462E603E */ c.le.d $f12, $f14 -/* 3407C 80058C7C 00000000 */ nop -/* 34080 80058C80 45020005 */ bc1fl .L80058C98 -/* 34084 80058C84 A4A00000 */ sh $zero, ($a1) -/* 34088 80058C88 3402FFFF */ ori $v0, $zero, 0xffff -/* 3408C 80058C8C A4A20000 */ sh $v0, ($a1) -/* 34090 80058C90 03E00008 */ jr $ra -/* 34094 80058C94 24027FFF */ addiu $v0, $zero, 0x7fff -.L80058C98: -/* 34098 80058C98 03E00008 */ jr $ra -/* 3409C 80058C9C 0000102D */ daddu $v0, $zero, $zero -.L80058CA0: -/* 340A0 80058CA0 3C013FF0 */ lui $at, 0x3ff0 -/* 340A4 80058CA4 44812800 */ mtc1 $at, $f5 -/* 340A8 80058CA8 44802000 */ mtc1 $zero, $f4 -/* 340AC 80058CAC 44820000 */ mtc1 $v0, $f0 -/* 340B0 80058CB0 00000000 */ nop -/* 340B4 80058CB4 46800021 */ cvt.d.w $f0, $f0 -/* 340B8 80058CB8 4624703C */ c.lt.d $f14, $f4 -/* 340BC 80058CBC 00000000 */ nop -/* 340C0 80058CC0 45000002 */ bc1f .L80058CCC -/* 340C4 80058CC4 46202083 */ div.d $f2, $f4, $f0 -/* 340C8 80058CC8 46202386 */ mov.d $f14, $f4 -.L80058CCC: -/* 340CC 80058CCC 44800000 */ mtc1 $zero, $f0 -/* 340D0 80058CD0 44800800 */ mtc1 $zero, $f1 -/* 340D4 80058CD4 00000000 */ nop -/* 340D8 80058CD8 4620603E */ c.le.d $f12, $f0 -/* 340DC 80058CDC 00000000 */ nop -/* 340E0 80058CE0 45030001 */ bc1tl .L80058CE8 -/* 340E4 80058CE4 46202306 */ mov.d $f12, $f4 -.L80058CE8: -/* 340E8 80058CE8 462C7001 */ sub.d $f0, $f14, $f12 -/* 340EC 80058CEC 46220002 */ mul.d $f0, $f0, $f2 -/* 340F0 80058CF0 00000000 */ nop -/* 340F4 80058CF4 3C014020 */ lui $at, 0x4020 -/* 340F8 80058CF8 44811800 */ mtc1 $at, $f3 -/* 340FC 80058CFC 44801000 */ mtc1 $zero, $f2 -/* 34100 80058D00 00000000 */ nop -/* 34104 80058D04 46220002 */ mul.d $f0, $f0, $f2 -/* 34108 80058D08 00000000 */ nop -/* 3410C 80058D0C 4620018D */ trunc.w.d $f6, $f0 -/* 34110 80058D10 44033000 */ mfc1 $v1, $f6 -/* 34114 80058D14 00000000 */ nop -/* 34118 80058D18 00031400 */ sll $v0, $v1, 0x10 -/* 3411C 80058D1C 00021403 */ sra $v0, $v0, 0x10 -/* 34120 80058D20 44821000 */ mtc1 $v0, $f2 -/* 34124 80058D24 00000000 */ nop -/* 34128 80058D28 468010A1 */ cvt.d.w $f2, $f2 -/* 3412C 80058D2C 46220001 */ sub.d $f0, $f0, $f2 -/* 34130 80058D30 46240000 */ add.d $f0, $f0, $f4 -/* 34134 80058D34 4620018D */ trunc.w.d $f6, $f0 -/* 34138 80058D38 44043000 */ mfc1 $a0, $f6 -/* 3413C 80058D3C 00000000 */ nop -/* 34140 80058D40 00041400 */ sll $v0, $a0, 0x10 -/* 34144 80058D44 00021403 */ sra $v0, $v0, 0x10 -/* 34148 80058D48 44821000 */ mtc1 $v0, $f2 -/* 3414C 80058D4C 00000000 */ nop -/* 34150 80058D50 468010A1 */ cvt.d.w $f2, $f2 -/* 34154 80058D54 46220001 */ sub.d $f0, $f0, $f2 -/* 34158 80058D58 3C01800A */ lui $at, %hi(D_80098938) -/* 3415C 80058D5C D4228938 */ ldc1 $f2, %lo(D_80098938)($at) -/* 34160 80058D60 46220002 */ mul.d $f0, $f0, $f2 -/* 34164 80058D64 00000000 */ nop -/* 34168 80058D68 2463FFFF */ addiu $v1, $v1, -1 -/* 3416C 80058D6C 3C0141E0 */ lui $at, 0x41e0 -/* 34170 80058D70 44811800 */ mtc1 $at, $f3 -/* 34174 80058D74 44801000 */ mtc1 $zero, $f2 -/* 34178 80058D78 00000000 */ nop -/* 3417C 80058D7C 4620103E */ c.le.d $f2, $f0 -/* 34180 80058D80 00000000 */ nop -/* 34184 80058D84 45010005 */ bc1t .L80058D9C -/* 34188 80058D88 00641821 */ addu $v1, $v1, $a0 -/* 3418C 80058D8C 4620018D */ trunc.w.d $f6, $f0 -/* 34190 80058D90 44043000 */ mfc1 $a0, $f6 -/* 34194 80058D94 0801636E */ j .L80058DB8 -/* 34198 80058D98 A4A40000 */ sh $a0, ($a1) -.L80058D9C: -/* 3419C 80058D9C 46220001 */ sub.d $f0, $f0, $f2 -/* 341A0 80058DA0 3C028000 */ lui $v0, 0x8000 -/* 341A4 80058DA4 4620018D */ trunc.w.d $f6, $f0 -/* 341A8 80058DA8 44043000 */ mfc1 $a0, $f6 -/* 341AC 80058DAC 00000000 */ nop -/* 341B0 80058DB0 00822025 */ or $a0, $a0, $v0 -/* 341B4 80058DB4 A4A40000 */ sh $a0, ($a1) -.L80058DB8: -/* 341B8 80058DB8 00031400 */ sll $v0, $v1, 0x10 -/* 341BC 80058DBC 03E00008 */ jr $ra -/* 341C0 80058DC0 00021403 */ sra $v0, $v0, 0x10 -/* 341C4 80058DC4 00000000 */ nop -/* 341C8 80058DC8 00000000 */ nop -/* 341CC 80058DCC 00000000 */ nop From d8911cabc31f7572fd6fee8df3c75eba3fd56a0f Mon Sep 17 00:00:00 2001 From: Ethan Roseman Date: Sat, 12 Dec 2020 15:09:40 +0900 Subject: [PATCH 44/97] 2 more gone --- .../code_303c0_len_3e10/alAudioFrame.s | 517 ------------------ .../code_303c0_len_3e10/func_80056D5C.s | 11 - 2 files changed, 528 deletions(-) delete mode 100644 asm/nonmatchings/code_303c0_len_3e10/alAudioFrame.s delete mode 100644 asm/nonmatchings/code_303c0_len_3e10/func_80056D5C.s diff --git a/asm/nonmatchings/code_303c0_len_3e10/alAudioFrame.s b/asm/nonmatchings/code_303c0_len_3e10/alAudioFrame.s deleted file mode 100644 index c396e84cf3..0000000000 --- a/asm/nonmatchings/code_303c0_len_3e10/alAudioFrame.s +++ /dev/null @@ -1,517 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel alAudioFrame -/* 319C0 800565C0 3C028008 */ lui $v0, %hi(D_80078E50) -/* 319C4 800565C4 8C428E50 */ lw $v0, %lo(D_80078E50)($v0) -/* 319C8 800565C8 27BDFFB8 */ addiu $sp, $sp, -0x48 -/* 319CC 800565CC AFB3002C */ sw $s3, 0x2c($sp) -/* 319D0 800565D0 AFA40048 */ sw $a0, 0x48($sp) -/* 319D4 800565D4 0080982D */ daddu $s3, $a0, $zero -/* 319D8 800565D8 AFBF0044 */ sw $ra, 0x44($sp) -/* 319DC 800565DC AFBE0040 */ sw $fp, 0x40($sp) -/* 319E0 800565E0 AFB7003C */ sw $s7, 0x3c($sp) -/* 319E4 800565E4 AFB60038 */ sw $s6, 0x38($sp) -/* 319E8 800565E8 AFB50034 */ sw $s5, 0x34($sp) -/* 319EC 800565EC AFB40030 */ sw $s4, 0x30($sp) -/* 319F0 800565F0 AFB20028 */ sw $s2, 0x28($sp) -/* 319F4 800565F4 AFB10024 */ sw $s1, 0x24($sp) -/* 319F8 800565F8 AFB00020 */ sw $s0, 0x20($sp) -/* 319FC 800565FC AFA5004C */ sw $a1, 0x4c($sp) -/* 31A00 80056600 AFA70054 */ sw $a3, 0x54($sp) -/* 31A04 80056604 14400003 */ bnez $v0, .L80056614 -/* 31A08 80056608 AFA60010 */ sw $a2, 0x10($sp) -/* 31A0C 8005660C 08015B40 */ j .L80056D00 -/* 31A10 80056610 ACA00000 */ sw $zero, ($a1) -.L80056614: -/* 31A14 80056614 0C014D70 */ jal func_800535C0 -/* 31A18 80056618 00000000 */ nop -/* 31A1C 8005661C 3C028008 */ lui $v0, %hi(D_80078E5C) -/* 31A20 80056620 90428E5C */ lbu $v0, %lo(D_80078E5C)($v0) -/* 31A24 80056624 1040001B */ beqz $v0, .L80056694 -/* 31A28 80056628 00000000 */ nop -/* 31A2C 8005662C 3C038008 */ lui $v1, %hi(D_80078E54) -/* 31A30 80056630 24638E54 */ addiu $v1, $v1, %lo(D_80078E54) -/* 31A34 80056634 8C620000 */ lw $v0, ($v1) -/* 31A38 80056638 8C42000C */ lw $v0, 0xc($v0) -/* 31A3C 8005663C 18400013 */ blez $v0, .L8005668C -/* 31A40 80056640 0000A82D */ daddu $s5, $zero, $zero -/* 31A44 80056644 0060882D */ daddu $s1, $v1, $zero -/* 31A48 80056648 24120001 */ addiu $s2, $zero, 1 -/* 31A4C 8005664C 02A0802D */ daddu $s0, $s5, $zero -.L80056650: -/* 31A50 80056650 8E220000 */ lw $v0, ($s1) -/* 31A54 80056654 8C42001C */ lw $v0, 0x1c($v0) -/* 31A58 80056658 00502021 */ addu $a0, $v0, $s0 -/* 31A5C 8005665C 8C820070 */ lw $v0, 0x70($a0) -/* 31A60 80056660 14520004 */ bne $v0, $s2, .L80056674 -/* 31A64 80056664 00000000 */ nop -/* 31A68 80056668 9085004D */ lbu $a1, 0x4d($a0) -/* 31A6C 8005666C 0C015E1D */ jal func_80057874 -/* 31A70 80056670 32A400FF */ andi $a0, $s5, 0xff -.L80056674: -/* 31A74 80056674 8E220000 */ lw $v0, ($s1) -/* 31A78 80056678 8C42000C */ lw $v0, 0xc($v0) -/* 31A7C 8005667C 26B50001 */ addiu $s5, $s5, 1 -/* 31A80 80056680 02A2102A */ slt $v0, $s5, $v0 -/* 31A84 80056684 1440FFF2 */ bnez $v0, .L80056650 -/* 31A88 80056688 2610007C */ addiu $s0, $s0, 0x7c -.L8005668C: -/* 31A8C 8005668C 3C018008 */ lui $at, %hi(D_80078E5C) -/* 31A90 80056690 A0208E5C */ sb $zero, %lo(D_80078E5C)($at) -.L80056694: -/* 31A94 80056694 8FA90054 */ lw $t1, 0x54($sp) -/* 31A98 80056698 19200194 */ blez $t1, .L80056CEC -/* 31A9C 8005669C 00000000 */ nop -/* 31AA0 800566A0 3C1E800A */ lui $fp, %hi(D_800A3FE8) -/* 31AA4 800566A4 27DE3FE8 */ addiu $fp, $fp, %lo(D_800A3FE8) -.L800566A8: -/* 31AA8 800566A8 0C014CF4 */ jal func_800533D0 -/* 31AAC 800566AC 0000A82D */ daddu $s5, $zero, $zero -/* 31AB0 800566B0 3C038008 */ lui $v1, %hi(D_80078E54) -/* 31AB4 800566B4 8C638E54 */ lw $v1, %lo(D_80078E54)($v1) -/* 31AB8 800566B8 8C62000C */ lw $v0, 0xc($v1) -/* 31ABC 800566BC 1840001E */ blez $v0, .L80056738 -/* 31AC0 800566C0 24170001 */ addiu $s7, $zero, 1 -/* 31AC4 800566C4 0060302D */ daddu $a2, $v1, $zero -/* 31AC8 800566C8 02A0282D */ daddu $a1, $s5, $zero -.L800566CC: -/* 31ACC 800566CC 8CC2001C */ lw $v0, 0x1c($a2) -/* 31AD0 800566D0 00452021 */ addu $a0, $v0, $a1 -/* 31AD4 800566D4 90820078 */ lbu $v0, 0x78($a0) -/* 31AD8 800566D8 240900FF */ addiu $t1, $zero, 0xff -/* 31ADC 800566DC 1049000E */ beq $v0, $t1, .L80056718 -/* 31AE0 800566E0 0040182D */ daddu $v1, $v0, $zero -/* 31AE4 800566E4 8CC20010 */ lw $v0, 0x10($a2) -/* 31AE8 800566E8 0062102A */ slt $v0, $v1, $v0 -/* 31AEC 800566EC 1040000A */ beqz $v0, .L80056718 -/* 31AF0 800566F0 00031040 */ sll $v0, $v1, 1 -/* 31AF4 800566F4 00431021 */ addu $v0, $v0, $v1 -/* 31AF8 800566F8 8CC30020 */ lw $v1, 0x20($a2) -/* 31AFC 800566FC 000210C0 */ sll $v0, $v0, 3 -/* 31B00 80056700 0062A021 */ addu $s4, $v1, $v0 -/* 31B04 80056704 8E820014 */ lw $v0, 0x14($s4) -/* 31B08 80056708 50400002 */ beql $v0, $zero, .L80056714 -/* 31B0C 8005670C AE840010 */ sw $a0, 0x10($s4) -/* 31B10 80056710 AC440000 */ sw $a0, ($v0) -.L80056714: -/* 31B14 80056714 AE840014 */ sw $a0, 0x14($s4) -.L80056718: -/* 31B18 80056718 3C028008 */ lui $v0, %hi(D_80078E54) -/* 31B1C 8005671C 8C428E54 */ lw $v0, %lo(D_80078E54)($v0) -/* 31B20 80056720 8C42000C */ lw $v0, 0xc($v0) -/* 31B24 80056724 26B50001 */ addiu $s5, $s5, 1 -/* 31B28 80056728 02A2102A */ slt $v0, $s5, $v0 -/* 31B2C 8005672C 1440FFE7 */ bnez $v0, .L800566CC -/* 31B30 80056730 24A5007C */ addiu $a1, $a1, 0x7c -/* 31B34 80056734 24170001 */ addiu $s7, $zero, 1 -.L80056738: -/* 31B38 80056738 3C028008 */ lui $v0, %hi(D_80078E54) -/* 31B3C 8005673C 8C428E54 */ lw $v0, %lo(D_80078E54)($v0) -/* 31B40 80056740 3C038008 */ lui $v1, %hi(D_80078E54) -/* 31B44 80056744 24638E54 */ addiu $v1, $v1, %lo(D_80078E54) -/* 31B48 80056748 8C420010 */ lw $v0, 0x10($v0) -/* 31B4C 8005674C 18400110 */ blez $v0, .L80056B90 -/* 31B50 80056750 0000A82D */ daddu $s5, $zero, $zero -/* 31B54 80056754 02A0B02D */ daddu $s6, $s5, $zero -.L80056758: -/* 31B58 80056758 8C620000 */ lw $v0, ($v1) -/* 31B5C 8005675C 8C420020 */ lw $v0, 0x20($v0) -/* 31B60 80056760 0056A021 */ addu $s4, $v0, $s6 -/* 31B64 80056764 8E820010 */ lw $v0, 0x10($s4) -/* 31B68 80056768 10400101 */ beqz $v0, .L80056B70 -/* 31B6C 8005676C 3C020200 */ lui $v0, 0x200 -/* 31B70 80056770 344204E0 */ ori $v0, $v0, 0x4e0 -/* 31B74 80056774 0260182D */ daddu $v1, $s3, $zero -/* 31B78 80056778 AC620000 */ sw $v0, ($v1) -/* 31B7C 8005677C 240205C0 */ addiu $v0, $zero, 0x5c0 -/* 31B80 80056780 AC620004 */ sw $v0, 4($v1) -/* 31B84 80056784 8E820010 */ lw $v0, 0x10($s4) -/* 31B88 80056788 1040000B */ beqz $v0, .L800567B8 -/* 31B8C 8005678C 26730008 */ addiu $s3, $s3, 8 -.L80056790: -/* 31B90 80056790 8E840010 */ lw $a0, 0x10($s4) -/* 31B94 80056794 0C016014 */ jal func_80058050 -/* 31B98 80056798 0260282D */ daddu $a1, $s3, $zero -/* 31B9C 8005679C 8E830010 */ lw $v1, 0x10($s4) -/* 31BA0 800567A0 8C640000 */ lw $a0, ($v1) -/* 31BA4 800567A4 0040982D */ daddu $s3, $v0, $zero -/* 31BA8 800567A8 AC600000 */ sw $zero, ($v1) -/* 31BAC 800567AC 1480FFF8 */ bnez $a0, .L80056790 -/* 31BB0 800567B0 AE840010 */ sw $a0, 0x10($s4) -/* 31BB4 800567B4 AE800014 */ sw $zero, 0x14($s4) -.L800567B8: -/* 31BB8 800567B8 9282000C */ lbu $v0, 0xc($s4) -/* 31BBC 800567BC 1040000B */ beqz $v0, .L800567EC -/* 31BC0 800567C0 0260282D */ daddu $a1, $s3, $zero -/* 31BC4 800567C4 240607C0 */ addiu $a2, $zero, 0x7c0 -/* 31BC8 800567C8 8E840004 */ lw $a0, 4($s4) -/* 31BCC 800567CC 0C0164C4 */ jal func_80059310 -/* 31BD0 800567D0 0000382D */ daddu $a3, $zero, $zero -/* 31BD4 800567D4 0040282D */ daddu $a1, $v0, $zero -/* 31BD8 800567D8 24060930 */ addiu $a2, $zero, 0x930 -/* 31BDC 800567DC 8E840008 */ lw $a0, 8($s4) -/* 31BE0 800567E0 0C0164C4 */ jal func_80059310 -/* 31BE4 800567E4 0000382D */ daddu $a3, $zero, $zero -/* 31BE8 800567E8 0040982D */ daddu $s3, $v0, $zero -.L800567EC: -/* 31BEC 800567EC 3C02800A */ lui $v0, %hi(D_800A3FEC) -/* 31BF0 800567F0 90423FEC */ lbu $v0, %lo(D_800A3FEC)($v0) -/* 31BF4 800567F4 16A20089 */ bne $s5, $v0, .L80056A1C -/* 31BF8 800567F8 24020001 */ addiu $v0, $zero, 1 -/* 31BFC 800567FC 3C03800A */ lui $v1, %hi(D_800A3FEE) -/* 31C00 80056800 84633FEE */ lh $v1, %lo(D_800A3FEE)($v1) -/* 31C04 80056804 10620006 */ beq $v1, $v0, .L80056820 -/* 31C08 80056808 2410FFFF */ addiu $s0, $zero, -1 -/* 31C0C 8005680C 24020002 */ addiu $v0, $zero, 2 -/* 31C10 80056810 10620006 */ beq $v1, $v0, .L8005682C -/* 31C14 80056814 00101400 */ sll $v0, $s0, 0x10 -/* 31C18 80056818 08015A10 */ j .L80056840 -/* 31C1C 8005681C 00021403 */ sra $v0, $v0, 0x10 -.L80056820: -/* 31C20 80056820 241004E0 */ addiu $s0, $zero, 0x4e0 -/* 31C24 80056824 08015A0D */ j .L80056834 -/* 31C28 80056828 240907C0 */ addiu $t1, $zero, 0x7c0 -.L8005682C: -/* 31C2C 8005682C 24100650 */ addiu $s0, $zero, 0x650 -/* 31C30 80056830 24090930 */ addiu $t1, $zero, 0x930 -.L80056834: -/* 31C34 80056834 A7A9001E */ sh $t1, 0x1e($sp) -/* 31C38 80056838 00101400 */ sll $v0, $s0, 0x10 -/* 31C3C 8005683C 00021403 */ sra $v0, $v0, 0x10 -.L80056840: -/* 31C40 80056840 2403FFFF */ addiu $v1, $zero, -1 -/* 31C44 80056844 10430075 */ beq $v0, $v1, .L80056A1C -/* 31C48 80056848 0260882D */ daddu $s1, $s3, $zero -/* 31C4C 8005684C 8FC30000 */ lw $v1, ($fp) -/* 31C50 80056850 3C02800A */ lui $v0, %hi(D_800A3FF0) -/* 31C54 80056854 8C423FF0 */ lw $v0, %lo(D_800A3FF0)($v0) -/* 31C58 80056858 14400002 */ bnez $v0, .L80056864 -/* 31C5C 8005685C 0062001A */ div $zero, $v1, $v0 -/* 31C60 80056860 0007000D */ break 7 -.L80056864: -/* 31C64 80056864 2401FFFF */ addiu $at, $zero, -1 -/* 31C68 80056868 14410004 */ bne $v0, $at, .L8005687C -/* 31C6C 8005686C 3C018000 */ lui $at, 0x8000 -/* 31C70 80056870 14610002 */ bne $v1, $at, .L8005687C -/* 31C74 80056874 00000000 */ nop -/* 31C78 80056878 0006000D */ break 6 -.L8005687C: -/* 31C7C 8005687C 00002810 */ mfhi $a1 -/* 31C80 80056880 32100FFF */ andi $s0, $s0, 0xfff -/* 31C84 80056884 3C090617 */ lui $t1, 0x617 -/* 31C88 80056888 02091025 */ or $v0, $s0, $t1 -/* 31C8C 8005688C AE220000 */ sw $v0, ($s1) -/* 31C90 80056890 3C02800A */ lui $v0, %hi(D_800A3FE0) -/* 31C94 80056894 8C423FE0 */ lw $v0, %lo(D_800A3FE0)($v0) -/* 31C98 80056898 00052040 */ sll $a0, $a1, 1 -/* 31C9C 8005689C 00852021 */ addu $a0, $a0, $a1 -/* 31CA0 800568A0 000420C0 */ sll $a0, $a0, 3 -/* 31CA4 800568A4 00852023 */ subu $a0, $a0, $a1 -/* 31CA8 800568A8 00042100 */ sll $a0, $a0, 4 -/* 31CAC 800568AC 0C0187A4 */ jal osVirtualToPhysical -/* 31CB0 800568B0 00442021 */ addu $a0, $v0, $a0 -/* 31CB4 800568B4 8FC30000 */ lw $v1, ($fp) -/* 31CB8 800568B8 3C04800A */ lui $a0, %hi(D_800A3FF0) -/* 31CBC 800568BC 8C843FF0 */ lw $a0, %lo(D_800A3FF0)($a0) -/* 31CC0 800568C0 24630001 */ addiu $v1, $v1, 1 -/* 31CC4 800568C4 14800002 */ bnez $a0, .L800568D0 -/* 31CC8 800568C8 0064001A */ div $zero, $v1, $a0 -/* 31CCC 800568CC 0007000D */ break 7 -.L800568D0: -/* 31CD0 800568D0 2401FFFF */ addiu $at, $zero, -1 -/* 31CD4 800568D4 14810004 */ bne $a0, $at, .L800568E8 -/* 31CD8 800568D8 3C018000 */ lui $at, 0x8000 -/* 31CDC 800568DC 14610002 */ bne $v1, $at, .L800568E8 -/* 31CE0 800568E0 00000000 */ nop -/* 31CE4 800568E4 0006000D */ break 6 -.L800568E8: -/* 31CE8 800568E8 00002810 */ mfhi $a1 -/* 31CEC 800568EC 26730008 */ addiu $s3, $s3, 8 -/* 31CF0 800568F0 AE220004 */ sw $v0, 4($s1) -/* 31CF4 800568F4 0260882D */ daddu $s1, $s3, $zero -/* 31CF8 800568F8 3C090417 */ lui $t1, 0x417 -/* 31CFC 800568FC 3C02800A */ lui $v0, %hi(D_800A3FE0) -/* 31D00 80056900 8C423FE0 */ lw $v0, %lo(D_800A3FE0)($v0) -/* 31D04 80056904 02098025 */ or $s0, $s0, $t1 -/* 31D08 80056908 AE300000 */ sw $s0, ($s1) -/* 31D0C 8005690C 00052040 */ sll $a0, $a1, 1 -/* 31D10 80056910 00852021 */ addu $a0, $a0, $a1 -/* 31D14 80056914 000420C0 */ sll $a0, $a0, 3 -/* 31D18 80056918 00852023 */ subu $a0, $a0, $a1 -/* 31D1C 8005691C 00042100 */ sll $a0, $a0, 4 -/* 31D20 80056920 0C0187A4 */ jal osVirtualToPhysical -/* 31D24 80056924 00442021 */ addu $a0, $v0, $a0 -/* 31D28 80056928 8FC40000 */ lw $a0, ($fp) -/* 31D2C 8005692C 3C03800A */ lui $v1, %hi(D_800A3FF0) -/* 31D30 80056930 8C633FF0 */ lw $v1, %lo(D_800A3FF0)($v1) -/* 31D34 80056934 14600002 */ bnez $v1, .L80056940 -/* 31D38 80056938 0083001A */ div $zero, $a0, $v1 -/* 31D3C 8005693C 0007000D */ break 7 -.L80056940: -/* 31D40 80056940 2401FFFF */ addiu $at, $zero, -1 -/* 31D44 80056944 14610004 */ bne $v1, $at, .L80056958 -/* 31D48 80056948 3C018000 */ lui $at, 0x8000 -/* 31D4C 8005694C 14810002 */ bne $a0, $at, .L80056958 -/* 31D50 80056950 00000000 */ nop -/* 31D54 80056954 0006000D */ break 6 -.L80056958: -/* 31D58 80056958 00001810 */ mfhi $v1 -/* 31D5C 8005695C 26730008 */ addiu $s3, $s3, 8 -/* 31D60 80056960 AE220004 */ sw $v0, 4($s1) -/* 31D64 80056964 97A9001E */ lhu $t1, 0x1e($sp) -/* 31D68 80056968 0260902D */ daddu $s2, $s3, $zero -/* 31D6C 8005696C 31300FFF */ andi $s0, $t1, 0xfff -/* 31D70 80056970 3C090617 */ lui $t1, 0x617 -/* 31D74 80056974 02091025 */ or $v0, $s0, $t1 -/* 31D78 80056978 AE420000 */ sw $v0, ($s2) -/* 31D7C 8005697C 3C02800A */ lui $v0, %hi(D_800A3FE4) -/* 31D80 80056980 8C423FE4 */ lw $v0, %lo(D_800A3FE4)($v0) -/* 31D84 80056984 00032040 */ sll $a0, $v1, 1 -/* 31D88 80056988 00832021 */ addu $a0, $a0, $v1 -/* 31D8C 8005698C 000420C0 */ sll $a0, $a0, 3 -/* 31D90 80056990 00832023 */ subu $a0, $a0, $v1 -/* 31D94 80056994 00042100 */ sll $a0, $a0, 4 -/* 31D98 80056998 0C0187A4 */ jal osVirtualToPhysical -/* 31D9C 8005699C 00442021 */ addu $a0, $v0, $a0 -/* 31DA0 800569A0 8FC30000 */ lw $v1, ($fp) -/* 31DA4 800569A4 3C04800A */ lui $a0, %hi(D_800A3FF0) -/* 31DA8 800569A8 8C843FF0 */ lw $a0, %lo(D_800A3FF0)($a0) -/* 31DAC 800569AC 24630001 */ addiu $v1, $v1, 1 -/* 31DB0 800569B0 14800002 */ bnez $a0, .L800569BC -/* 31DB4 800569B4 0064001A */ div $zero, $v1, $a0 -/* 31DB8 800569B8 0007000D */ break 7 -.L800569BC: -/* 31DBC 800569BC 2401FFFF */ addiu $at, $zero, -1 -/* 31DC0 800569C0 14810004 */ bne $a0, $at, .L800569D4 -/* 31DC4 800569C4 3C018000 */ lui $at, 0x8000 -/* 31DC8 800569C8 14610002 */ bne $v1, $at, .L800569D4 -/* 31DCC 800569CC 00000000 */ nop -/* 31DD0 800569D0 0006000D */ break 6 -.L800569D4: -/* 31DD4 800569D4 00002810 */ mfhi $a1 -/* 31DD8 800569D8 26730008 */ addiu $s3, $s3, 8 -/* 31DDC 800569DC 0260882D */ daddu $s1, $s3, $zero -/* 31DE0 800569E0 26730008 */ addiu $s3, $s3, 8 -/* 31DE4 800569E4 3C090417 */ lui $t1, 0x417 -/* 31DE8 800569E8 AE420004 */ sw $v0, 4($s2) -/* 31DEC 800569EC 3C02800A */ lui $v0, %hi(D_800A3FE4) -/* 31DF0 800569F0 8C423FE4 */ lw $v0, %lo(D_800A3FE4)($v0) -/* 31DF4 800569F4 02098025 */ or $s0, $s0, $t1 -/* 31DF8 800569F8 AE300000 */ sw $s0, ($s1) -/* 31DFC 800569FC 00052040 */ sll $a0, $a1, 1 -/* 31E00 80056A00 00852021 */ addu $a0, $a0, $a1 -/* 31E04 80056A04 000420C0 */ sll $a0, $a0, 3 -/* 31E08 80056A08 00852023 */ subu $a0, $a0, $a1 -/* 31E0C 80056A0C 00042100 */ sll $a0, $a0, 4 -/* 31E10 80056A10 0C0187A4 */ jal osVirtualToPhysical -/* 31E14 80056A14 00442021 */ addu $a0, $v0, $a0 -/* 31E18 80056A18 AE220004 */ sw $v0, 4($s1) -.L80056A1C: -/* 31E1C 80056A1C 12E00007 */ beqz $s7, .L80056A3C -/* 31E20 80056A20 0260102D */ daddu $v0, $s3, $zero -/* 31E24 80056A24 26730008 */ addiu $s3, $s3, 8 -/* 31E28 80056A28 3C030200 */ lui $v1, 0x200 -/* 31E2C 80056A2C AC430000 */ sw $v1, ($v0) -/* 31E30 80056A30 240302E0 */ addiu $v1, $zero, 0x2e0 -/* 31E34 80056A34 08015A98 */ j .L80056A60 -/* 31E38 80056A38 AC430004 */ sw $v1, 4($v0) -.L80056A3C: -/* 31E3C 80056A3C 0260802D */ daddu $s0, $s3, $zero -/* 31E40 80056A40 3C038008 */ lui $v1, %hi(D_80078E54) -/* 31E44 80056A44 8C638E54 */ lw $v1, %lo(D_80078E54)($v1) -/* 31E48 80056A48 3C02042E */ lui $v0, 0x42e -/* 31E4C 80056A4C AE020000 */ sw $v0, ($s0) -/* 31E50 80056A50 8C640028 */ lw $a0, 0x28($v1) -/* 31E54 80056A54 0C0187A4 */ jal osVirtualToPhysical -/* 31E58 80056A58 26730008 */ addiu $s3, $s3, 8 -/* 31E5C 80056A5C AE020004 */ sw $v0, 4($s0) -.L80056A60: -/* 31E60 80056A60 0260202D */ daddu $a0, $s3, $zero -/* 31E64 80056A64 26730008 */ addiu $s3, $s3, 8 -/* 31E68 80056A68 0260282D */ daddu $a1, $s3, $zero -/* 31E6C 80056A6C 26730008 */ addiu $s3, $s3, 8 -/* 31E70 80056A70 3C060930 */ lui $a2, 0x930 -/* 31E74 80056A74 3C0207C0 */ lui $v0, 0x7c0 -/* 31E78 80056A78 3C090C00 */ lui $t1, 0xc00 -/* 31E7C 80056A7C 96830000 */ lhu $v1, ($s4) -/* 31E80 80056A80 34C60170 */ ori $a2, $a2, 0x170 -/* 31E84 80056A84 AC820004 */ sw $v0, 4($a0) -/* 31E88 80056A88 00691825 */ or $v1, $v1, $t1 -/* 31E8C 80056A8C AC830000 */ sw $v1, ($a0) -/* 31E90 80056A90 96820000 */ lhu $v0, ($s4) -/* 31E94 80056A94 3C038008 */ lui $v1, %hi(D_80078E54) -/* 31E98 80056A98 8C638E54 */ lw $v1, %lo(D_80078E54)($v1) -/* 31E9C 80056A9C 0260802D */ daddu $s0, $s3, $zero -/* 31EA0 80056AA0 ACA60004 */ sw $a2, 4($a1) -/* 31EA4 80056AA4 00491025 */ or $v0, $v0, $t1 -/* 31EA8 80056AA8 ACA20000 */ sw $v0, ($a1) -/* 31EAC 80056AAC 3C02062E */ lui $v0, 0x62e -/* 31EB0 80056AB0 AE020000 */ sw $v0, ($s0) -/* 31EB4 80056AB4 8C640028 */ lw $a0, 0x28($v1) -/* 31EB8 80056AB8 0C0187A4 */ jal osVirtualToPhysical -/* 31EBC 80056ABC 26730008 */ addiu $s3, $s3, 8 -/* 31EC0 80056AC0 12E00009 */ beqz $s7, .L80056AE8 -/* 31EC4 80056AC4 AE020004 */ sw $v0, 4($s0) -/* 31EC8 80056AC8 0260102D */ daddu $v0, $s3, $zero -/* 31ECC 80056ACC 26730008 */ addiu $s3, $s3, 8 -/* 31ED0 80056AD0 0000B82D */ daddu $s7, $zero, $zero -/* 31ED4 80056AD4 3C030200 */ lui $v1, 0x200 -/* 31ED8 80056AD8 AC430000 */ sw $v1, ($v0) -/* 31EDC 80056ADC 240302E0 */ addiu $v1, $zero, 0x2e0 -/* 31EE0 80056AE0 08015AC3 */ j .L80056B0C -/* 31EE4 80056AE4 AC430004 */ sw $v1, 4($v0) -.L80056AE8: -/* 31EE8 80056AE8 0260802D */ daddu $s0, $s3, $zero -/* 31EEC 80056AEC 3C038008 */ lui $v1, %hi(D_80078E54) -/* 31EF0 80056AF0 8C638E54 */ lw $v1, %lo(D_80078E54)($v1) -/* 31EF4 80056AF4 3C02042E */ lui $v0, 0x42e -/* 31EF8 80056AF8 AE020000 */ sw $v0, ($s0) -/* 31EFC 80056AFC 8C640024 */ lw $a0, 0x24($v1) -/* 31F00 80056B00 0C0187A4 */ jal osVirtualToPhysical -/* 31F04 80056B04 26730008 */ addiu $s3, $s3, 8 -/* 31F08 80056B08 AE020004 */ sw $v0, 4($s0) -.L80056B0C: -/* 31F0C 80056B0C 0260202D */ daddu $a0, $s3, $zero -/* 31F10 80056B10 26730008 */ addiu $s3, $s3, 8 -/* 31F14 80056B14 0260282D */ daddu $a1, $s3, $zero -/* 31F18 80056B18 26730008 */ addiu $s3, $s3, 8 -/* 31F1C 80056B1C 3C060650 */ lui $a2, 0x650 -/* 31F20 80056B20 3C0204E0 */ lui $v0, 0x4e0 -/* 31F24 80056B24 3C090C00 */ lui $t1, 0xc00 -/* 31F28 80056B28 96830000 */ lhu $v1, ($s4) -/* 31F2C 80056B2C 34C60170 */ ori $a2, $a2, 0x170 -/* 31F30 80056B30 AC820004 */ sw $v0, 4($a0) -/* 31F34 80056B34 00691825 */ or $v1, $v1, $t1 -/* 31F38 80056B38 AC830000 */ sw $v1, ($a0) -/* 31F3C 80056B3C 96820000 */ lhu $v0, ($s4) -/* 31F40 80056B40 3C038008 */ lui $v1, %hi(D_80078E54) -/* 31F44 80056B44 8C638E54 */ lw $v1, %lo(D_80078E54)($v1) -/* 31F48 80056B48 0260802D */ daddu $s0, $s3, $zero -/* 31F4C 80056B4C ACA60004 */ sw $a2, 4($a1) -/* 31F50 80056B50 00491025 */ or $v0, $v0, $t1 -/* 31F54 80056B54 ACA20000 */ sw $v0, ($a1) -/* 31F58 80056B58 3C02062E */ lui $v0, 0x62e -/* 31F5C 80056B5C AE020000 */ sw $v0, ($s0) -/* 31F60 80056B60 8C640024 */ lw $a0, 0x24($v1) -/* 31F64 80056B64 0C0187A4 */ jal osVirtualToPhysical -/* 31F68 80056B68 26730008 */ addiu $s3, $s3, 8 -/* 31F6C 80056B6C AE020004 */ sw $v0, 4($s0) -.L80056B70: -/* 31F70 80056B70 3C038008 */ lui $v1, %hi(D_80078E54) -/* 31F74 80056B74 24638E54 */ addiu $v1, $v1, %lo(D_80078E54) -/* 31F78 80056B78 8C620000 */ lw $v0, ($v1) -/* 31F7C 80056B7C 8C420010 */ lw $v0, 0x10($v0) -/* 31F80 80056B80 26B50001 */ addiu $s5, $s5, 1 -/* 31F84 80056B84 02A2102A */ slt $v0, $s5, $v0 -/* 31F88 80056B88 1440FEF3 */ bnez $v0, .L80056758 -/* 31F8C 80056B8C 26D60018 */ addiu $s6, $s6, 0x18 -.L80056B90: -/* 31F90 80056B90 0260182D */ daddu $v1, $s3, $zero -/* 31F94 80056B94 26730008 */ addiu $s3, $s3, 8 -/* 31F98 80056B98 3C0404E0 */ lui $a0, 0x4e0 -/* 31F9C 80056B9C 348402E0 */ ori $a0, $a0, 0x2e0 -/* 31FA0 80056BA0 3C05042E */ lui $a1, 0x42e -/* 31FA4 80056BA4 34A507C0 */ ori $a1, $a1, 0x7c0 -/* 31FA8 80056BA8 3C020A00 */ lui $v0, 0xa00 -/* 31FAC 80056BAC AC620000 */ sw $v0, ($v1) -/* 31FB0 80056BB0 3C028008 */ lui $v0, %hi(D_80078E54) -/* 31FB4 80056BB4 8C428E54 */ lw $v0, %lo(D_80078E54)($v0) -/* 31FB8 80056BB8 0260802D */ daddu $s0, $s3, $zero -/* 31FBC 80056BBC AC640004 */ sw $a0, 4($v1) -/* 31FC0 80056BC0 AE050000 */ sw $a1, ($s0) -/* 31FC4 80056BC4 8C440028 */ lw $a0, 0x28($v0) -/* 31FC8 80056BC8 0C0187A4 */ jal osVirtualToPhysical -/* 31FCC 80056BCC 26730008 */ addiu $s3, $s3, 8 -/* 31FD0 80056BD0 0260382D */ daddu $a3, $s3, $zero -/* 31FD4 80056BD4 26730008 */ addiu $s3, $s3, 8 -/* 31FD8 80056BD8 3C060C00 */ lui $a2, 0xc00 -/* 31FDC 80056BDC 34C67FFF */ ori $a2, $a2, 0x7fff -/* 31FE0 80056BE0 3C0807C0 */ lui $t0, 0x7c0 -/* 31FE4 80056BE4 350804E0 */ ori $t0, $t0, 0x4e0 -/* 31FE8 80056BE8 0260182D */ daddu $v1, $s3, $zero -/* 31FEC 80056BEC 26730008 */ addiu $s3, $s3, 8 -/* 31FF0 80056BF0 3C040930 */ lui $a0, 0x930 -/* 31FF4 80056BF4 3C058008 */ lui $a1, %hi(D_80078E58) -/* 31FF8 80056BF8 90A58E58 */ lbu $a1, %lo(D_80078E58)($a1) -/* 31FFC 80056BFC 34840650 */ ori $a0, $a0, 0x650 -/* 32000 80056C00 AE020004 */ sw $v0, 4($s0) -/* 32004 80056C04 ACE60000 */ sw $a2, ($a3) -/* 32008 80056C08 ACE80004 */ sw $t0, 4($a3) -/* 3200C 80056C0C AC660000 */ sw $a2, ($v1) -/* 32010 80056C10 10A0001D */ beqz $a1, .L80056C88 -/* 32014 80056C14 AC640004 */ sw $a0, 4($v1) -/* 32018 80056C18 0260202D */ daddu $a0, $s3, $zero -/* 3201C 80056C1C 26730008 */ addiu $s3, $s3, 8 -/* 32020 80056C20 3C020A00 */ lui $v0, 0xa00 -/* 32024 80056C24 344204E0 */ ori $v0, $v0, 0x4e0 -/* 32028 80056C28 0260182D */ daddu $v1, $s3, $zero -/* 3202C 80056C2C 26730008 */ addiu $s3, $s3, 8 -/* 32030 80056C30 3C070200 */ lui $a3, 0x200 -/* 32034 80056C34 34E704E0 */ ori $a3, $a3, 0x4e0 -/* 32038 80056C38 0260282D */ daddu $a1, $s3, $zero -/* 3203C 80056C3C 26730008 */ addiu $s3, $s3, 8 -/* 32040 80056C40 0260302D */ daddu $a2, $s3, $zero -/* 32044 80056C44 26730008 */ addiu $s3, $s3, 8 -/* 32048 80056C48 3C080170 */ lui $t0, 0x170 -/* 3204C 80056C4C 35080650 */ ori $t0, $t0, 0x650 -/* 32050 80056C50 AC820000 */ sw $v0, ($a0) -/* 32054 80056C54 240202E0 */ addiu $v0, $zero, 0x2e0 -/* 32058 80056C58 AC820004 */ sw $v0, 4($a0) -/* 3205C 80056C5C AC670000 */ sw $a3, ($v1) -/* 32060 80056C60 AC620004 */ sw $v0, 4($v1) -/* 32064 80056C64 3C038008 */ lui $v1, %hi(D_80078E5A) -/* 32068 80056C68 94638E5A */ lhu $v1, %lo(D_80078E5A)($v1) -/* 3206C 80056C6C 240204E0 */ addiu $v0, $zero, 0x4e0 -/* 32070 80056C70 ACA20004 */ sw $v0, 4($a1) -/* 32074 80056C74 3C020C00 */ lui $v0, 0xc00 -/* 32078 80056C78 00621825 */ or $v1, $v1, $v0 -/* 3207C 80056C7C ACA30000 */ sw $v1, ($a1) -/* 32080 80056C80 ACC30000 */ sw $v1, ($a2) -/* 32084 80056C84 ACC80004 */ sw $t0, 4($a2) -.L80056C88: -/* 32088 80056C88 0260202D */ daddu $a0, $s3, $zero -/* 3208C 80056C8C 26730008 */ addiu $s3, $s3, 8 -/* 32090 80056C90 0260182D */ daddu $v1, $s3, $zero -/* 32094 80056C94 8FA90054 */ lw $t1, 0x54($sp) -/* 32098 80056C98 3C020D00 */ lui $v0, 0xd00 -/* 3209C 80056C9C 2529FF48 */ addiu $t1, $t1, -0xb8 -/* 320A0 80056CA0 AFA90054 */ sw $t1, 0x54($sp) -/* 320A4 80056CA4 AC820000 */ sw $v0, ($a0) -/* 320A8 80056CA8 8FA90010 */ lw $t1, 0x10($sp) -/* 320AC 80056CAC 3C048008 */ lui $a0, %hi(D_80078E54) -/* 320B0 80056CB0 8C848E54 */ lw $a0, %lo(D_80078E54)($a0) -/* 320B4 80056CB4 3C02062E */ lui $v0, 0x62e -/* 320B8 80056CB8 AC690004 */ sw $t1, 4($v1) -/* 320BC 80056CBC 252902E0 */ addiu $t1, $t1, 0x2e0 -/* 320C0 80056CC0 AFA90010 */ sw $t1, 0x10($sp) -/* 320C4 80056CC4 AC620000 */ sw $v0, ($v1) -/* 320C8 80056CC8 8FC20000 */ lw $v0, ($fp) -/* 320CC 80056CCC 8C830000 */ lw $v1, ($a0) -/* 320D0 80056CD0 24420001 */ addiu $v0, $v0, 1 -/* 320D4 80056CD4 246300B8 */ addiu $v1, $v1, 0xb8 -/* 320D8 80056CD8 AFC20000 */ sw $v0, ($fp) -/* 320DC 80056CDC AC830000 */ sw $v1, ($a0) -/* 320E0 80056CE0 8FA90054 */ lw $t1, 0x54($sp) -/* 320E4 80056CE4 1D20FE70 */ bgtz $t1, .L800566A8 -/* 320E8 80056CE8 26730008 */ addiu $s3, $s3, 8 -.L80056CEC: -/* 320EC 80056CEC 8FA90048 */ lw $t1, 0x48($sp) -/* 320F0 80056CF0 02691023 */ subu $v0, $s3, $t1 -/* 320F4 80056CF4 8FA9004C */ lw $t1, 0x4c($sp) -/* 320F8 80056CF8 000210C3 */ sra $v0, $v0, 3 -/* 320FC 80056CFC AD220000 */ sw $v0, ($t1) -.L80056D00: -/* 32100 80056D00 0260102D */ daddu $v0, $s3, $zero -/* 32104 80056D04 8FBF0044 */ lw $ra, 0x44($sp) -/* 32108 80056D08 8FBE0040 */ lw $fp, 0x40($sp) -/* 3210C 80056D0C 8FB7003C */ lw $s7, 0x3c($sp) -/* 32110 80056D10 8FB60038 */ lw $s6, 0x38($sp) -/* 32114 80056D14 8FB50034 */ lw $s5, 0x34($sp) -/* 32118 80056D18 8FB40030 */ lw $s4, 0x30($sp) -/* 3211C 80056D1C 8FB3002C */ lw $s3, 0x2c($sp) -/* 32120 80056D20 8FB20028 */ lw $s2, 0x28($sp) -/* 32124 80056D24 8FB10024 */ lw $s1, 0x24($sp) -/* 32128 80056D28 8FB00020 */ lw $s0, 0x20($sp) -/* 3212C 80056D2C 03E00008 */ jr $ra -/* 32130 80056D30 27BD0048 */ addiu $sp, $sp, 0x48 diff --git a/asm/nonmatchings/code_303c0_len_3e10/func_80056D5C.s b/asm/nonmatchings/code_303c0_len_3e10/func_80056D5C.s deleted file mode 100644 index 31f3fecee4..0000000000 --- a/asm/nonmatchings/code_303c0_len_3e10/func_80056D5C.s +++ /dev/null @@ -1,11 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel func_80056D5C -/* 3215C 80056D5C 3C028008 */ lui $v0, %hi(D_80078181) -/* 32160 80056D60 24428181 */ addiu $v0, $v0, %lo(D_80078181) -/* 32164 80056D64 A0440000 */ sb $a0, ($v0) -/* 32168 80056D68 24020001 */ addiu $v0, $zero, 1 -/* 3216C 80056D6C 3C018008 */ lui $at, %hi(D_80078E5C) -/* 32170 80056D70 03E00008 */ jr $ra -/* 32174 80056D74 A0228E5C */ sb $v0, %lo(D_80078E5C)($at) From 02654be7432d9500fb8f798f32e96f445879357e Mon Sep 17 00:00:00 2001 From: Ethan Roseman Date: Sat, 12 Dec 2020 15:56:00 +0900 Subject: [PATCH 45/97] some progrs --- asm/data/code_1000_len_60.data.s | 468 -------------------- asm/data/code_31650.data.s | 453 +++++++++++++++++++ asm/nonmatchings/code_31650/func_80056D34.s | 8 - asm/nonmatchings/code_31650/func_80056D44.s | 7 - asm/nonmatchings/code_31650/func_80056D50.s | 7 - src/code_31650.c | 23 +- tools/splat.yaml | 2 + 7 files changed, 466 insertions(+), 502 deletions(-) create mode 100644 asm/data/code_31650.data.s delete mode 100644 asm/nonmatchings/code_31650/func_80056D34.s delete mode 100644 asm/nonmatchings/code_31650/func_80056D44.s delete mode 100644 asm/nonmatchings/code_31650/func_80056D50.s diff --git a/asm/data/code_1000_len_60.data.s b/asm/data/code_1000_len_60.data.s index 3f762a0c5b..0399abb91b 100644 --- a/asm/data/code_1000_len_60.data.s +++ b/asm/data/code_1000_len_60.data.s @@ -373,471 +373,3 @@ glabel D_80078E14 glabel D_80078E30 .word 0x05640666, 0x0758086E, 0x097E0A58, 0x0B640C64, 0x0D6A0E64, 0x0F64106E, 0x00000000, 0x00000000 - -glabel D_80078E50 -.word 0x00000000 - -glabel D_80078E54 -.word 0x00000000 - -glabel D_80078E58 -.short 0x0000 - -glabel D_80078E5A -.short 0x7FFF - -glabel D_80078E5C -.word 0x00000000 - -glabel D_80078E60 -.word 0x7FFF7FFC, 0x7FF57FE8, 0x7FD77FC0, 0x7FA57F84, 0x7F5F7F34, 0x7F057ED0, 0x7E977E58, 0x7E157DCD, 0x7D7F7D2D, 0x7CD67C7A, 0x7C1A7BB4, 0x7B497ADA, 0x7A6679ED, 0x796F78ED, 0x786677DA, 0x774976B4, 0x761A757B, 0x74D87430, 0x738472D3, 0x721E7164, 0x70A66FE3, 0x6F1C6E51, 0x6D816CAD, 0x6BD56AF9, 0x6A186933, 0x684A675D, 0x666C6577, 0x647E6381, 0x6280617C, 0x60735F67, 0x5E575D43, 0x5C2C5B11 - -glabel D_80078EE0 -.word 0x59F258D0, 0x57AA5681, 0x55555425, 0x52F251BC, 0x50824F46, 0x4E064CC3, 0x4B7D4A35, 0x48E9479B, 0x464944F5, 0x439E4245, 0x40E93F8A, 0x3E293CC6, 0x3B6039F8, 0x388D3721, 0x35B23441, 0x32CE3159, 0x2FE22E69, 0x2CEF2B72, 0x29F42875, 0x26F32570, 0x23EC2266, 0x20DF1F57, 0x1DCE1C43, 0x1AB7192A, 0x179C160E, 0x147E12ED, 0x115C0FCA, 0x0E380CA5, 0x0B11097D, 0x07E90654, 0x04C0032A, 0x01950000, 0xBF800000, 0x00000000, 0x36813045, 0x36CCC25E, 0x37013056, 0x3715FBD1, 0x3726F96C, 0x373556F8, 0x3741C897, 0x374CC288, 0x3756941E, 0x375F75EA, 0x376791B7, 0x376F074D, 0x3775EF48, 0x377C5D3E, 0x37813079, 0x3784039E, 0x3786AD71, 0x37893260, 0x378B9637, 0x378DDC3A, 0x37900722, 0x3792195F, 0x37941509, 0x3795FC00, 0x3797CFD4, 0x37999207, 0x379B43D7, 0x379CE668, 0x379E7AD2, 0x37A001F1, 0x37A17CA6, 0x37A2EBB8, 0x37A44FD1, 0x37A5A99A, 0x37A6F9A4, 0x37A84077, 0x37A97E93, 0x37AAB46F, 0x37ABE26F, 0x37AD08FC, 0x37AE286C, 0x37AF4119, 0x37B05355, 0x37B15F67, 0x37B26597, 0x37B36621, 0x37B46141, 0x37B55735, 0x37B64832, 0x37B7346C, 0x37B81C0C, 0x37B8FF46, 0x37B9DE3F, 0x37BAB91E, 0x37BB900F, 0x37BC632E, 0x37BD32A6, 0x37BDFE8D, 0x37BEC70A, 0x37BF8C33, 0x37C04E29, 0x37C10D07, 0x37C1C8E4, 0x37C281D5, 0x37C337F0, 0x37C3EB51, 0x37C49C0E, 0x37C54A32, 0x37C5F5D3, 0x37C69F06, 0x37C745DC, 0x37C7EA67, 0x37C88CB5, 0x37C92CD3, 0x37C9CAD0, 0x37CA66BE, 0x37CB00A7, 0x37CB98A1, 0x37CC2EAD, 0x37CCC2DA, 0x37CD5539, 0x37CDE5D0, 0x37CE74AA, 0x37CF01D7, 0x37CF8D57, 0x37D01741, 0x37D09F93, 0x37D1265F, 0x37D1ABA5, 0x37D22F75, 0x37D2B1D5, 0x37D332CA, 0x37D3B25F, 0x37D43099, 0x37D4AD7F, 0x37D52921, 0x37D5A378, 0x37D61C91, 0x37D69476, 0x37D70B27, 0x37D780A9, 0x37D7F50E, 0x37D8684A, 0x37D8DA73, 0x37D94B84, 0x37D9BB87, 0x37DA2A7D, 0x37DA9870, 0x37DB055C, 0x37DB7150, 0x37DBDC4D, 0x37DC4658, 0x37DCAF71, 0x37DD179E, 0x37DD7EE3, 0x37DDE548, 0x37DE4AD0, 0x37DEAF77, 0x37DF1348, 0x37DF7648, 0x37DFD877, 0x37E039D4, 0x37E09A6C, 0x37E0FA3F, 0x37E1594B, 0x37E1B797, 0x37E21527, 0x37E271F8, 0x37E2CE18, 0x37E3297E, 0x37E38434, 0x37E3DE3F, 0x37E43795, 0x37E49046, 0x37E4E852, 0x37E53FB3, 0x37E59675, 0x37E5EC93, 0x37E64216, 0x37E696FF, 0x37E6EB49, 0x37E73F04, 0x37E79220, 0x37E7E4AC, 0x37E836AA, 0x37E88819, 0x37E8D8F8, 0x37E92949, 0x37E97916, 0x37E9C85A, 0x37EA1714, 0x37EA654F, 0x37EAB302, 0x37EB0035, 0x37EB4CF0, 0x37EB9927, 0x37EBE4E5, 0x37EC3024, 0x37EC7AF0, 0x37ECC543, 0x37ED0F1D, 0x37ED588A, 0x37EDA17D, 0x37EDEA02, 0x37EE3214, 0x37EE79B8, 0x37EEC0EE, 0x37EF07BB, 0x37EF4E1B, 0x37EF9412, 0x37EFD9A0, 0x37F01EC6, 0x37F06389, 0x37F0A7E4, 0x37F0EBDC, 0x37F12F71, 0x37F172A3, 0x37F1B577, 0x37F1F7EE, 0x37F23A02, 0x37F27BBE, 0x37F2BD17, 0x37F2FE18, 0x37F33EC1, 0x37F37F13, 0x37F3BF06, 0x37F3FEA2, 0x37F43DEB, 0x37F47CE2, 0x37F4BB7C, 0x37F4F9C8, 0x37F537C2, 0x37F57564, 0x37F5B2B9, 0x37F5EFBB, 0x37F62C71, 0x37F668DA, 0x37F6A4F0, 0x37F6E0B9, 0x37F71C3B, 0x37F75770, 0x37F79257, 0x37F7CCF2, 0x37F80746, 0x37F84151, 0x37F87B16, 0x37F8B493, 0x37F8EDC8, 0x37F926BC, 0x37F95F68, 0x37F997CD, 0x37F9CFEF, 0x37FA07D0, 0x37FA3F69, 0x37FA76C6, 0x37FAADE0, 0x37FAE4B9, 0x37FB1B50, 0x37FB51A5, 0x37FB87C3, 0x37FBBD99, 0x37FBF338, 0x37FC2896, 0x37FC5DB7, 0x37FC92A1, 0x37FCC749, 0x37FCFBBA, 0x37FD2FEE, 0x37FD63E6, 0x37FD97A8, 0x37FDCB2C, 0x37FDFE7A, 0x37FE3191, 0x37FE6470, 0x37FE9719, 0x37FEC985, 0x37FEFBC0, 0x37FF2DC4, 0x37FF5F96, 0x37FF912C, 0x37FFC291, 0x37FFF3C3, 0x38001260, 0x38002AC5, 0x38004311, 0x38005B42, 0x3800735B, 0x38008B5D, 0x3800A344, 0x3800BB14, 0x3800D2CA, 0x3800EA69, 0x380101F0, 0x38011960, 0x380130B8, 0x380147F7, 0x38015F23, 0x38017633, 0x38018D31, 0x3801A415, 0x3801BAE6, 0x3801D19F, 0x3801E841, 0x3801FECD, 0x38021544, 0x38022BA4, 0x380241F2, 0x38025829, 0x38026E4A, 0x38028455, 0x38029A4D, 0x3802B032, 0x3802C601, 0x3802DBBA, 0x3802F15F, 0x380306F1, 0x38031C70, 0x380331DA, 0x38034732, 0x38035C75, 0x380371A4, 0x380386C3, 0x38039BCC, 0x3803B0C1, 0x3803C5A6, 0x3803DA78, 0x3803EF37, 0x380403E2, 0x3804187D, 0x38042D05, 0x3804417C, 0x380455E0, 0x38046A31, 0x38047E74, 0x380492A1, 0x3804A6C0, 0x3804BACC, 0x3804CEC7, 0x3804E2B0, 0x3804F68A, 0x38050A51, 0x38051E0B, 0x380531B1, 0x38054547, 0x380558CC, 0x38056C41, 0x38057FA8, 0x380592FC, 0x3805A642, 0x3805B977, 0x3805CC9C, 0x3805DFB4, 0x3805F2BB, 0x380605B1, 0x3806189A, 0x38062B72, 0x38063E39, 0x380650F3, 0x3806639F, 0x3806763B, 0x380688C9, 0x38069B46, 0x3806ADB6, 0x3806C018, 0x3806D269, 0x3806E4B0, 0x3806F6E6, 0x3807090E, 0x38071B25, 0x38072D32, 0x38073F31, 0x38075120, 0x38076303, 0x380774D9, 0x3807869E, 0x38079858, 0x3807AA05, 0x3807BBA3, 0x3807CD34, 0x3807DEB8, 0x3807F030, 0x3808019A, 0x380812F7, 0x38082446, 0x3808358A, 0x380846C1, 0x380857E9, 0x38086907, 0x38087A19, 0x38088B1E, 0x38089C15, 0x3808AD01, 0x3808BDE0, 0x3808CEB3, 0x3808DF78, 0x3808F036, 0x380900E3, 0x38091187, 0x3809221E, 0x380932AA, 0x38094328, 0x3809539E, 0x38096406, 0x38097463, 0x380984B3, 0x380994FA, 0x3809A536, 0x3809B564, 0x3809C588, 0x3809D5A0, 0x3809E5B0, 0x3809F5B3, 0x380A05AA, 0x380A1597, 0x380A257B, 0x380A3551, 0x380A451D, 0x380A54E0, 0x380A6498, 0x380A7445, 0x380A83E8, 0x380A937F, 0x380AA30B, 0x380AB28F, 0x380AC208, 0x380AD176, 0x380AE0D9, 0x380AF034, 0x380AFF84, 0x380B0ECB, 0x380B1E08, 0x380B2D39, 0x380B3C60, 0x380B4B7E, 0x380B5A94, 0x380B699F, 0x380B789F, 0x380B8797, 0x380B9686, 0x380BA56B, 0x380BB445, 0x380BC316, 0x380BD1DF, 0x380BE09D, 0x380BEF53, 0x380BFDFE, 0x380C0CA0, 0x380C1B3B, 0x380C29CD, 0x380C3854, 0x380C46D3, 0x380C5547, 0x380C63B5, 0x380C7218, 0x380C8073, 0x380C8EC3, 0x380C9D0E, 0x380CAB4E, 0x380CB985, 0x380CC7B4, 0x380CD5DB, 0x380CE3FA, 0x380CF20D, 0x380D001C, 0x380D0E1F, 0x380D1C1C, 0x380D2A0F, 0x380D37F9, 0x380D45DE, 0x380D53B8, 0x380D618A, 0x380D6F56, 0x380D7D17, 0x380D8AD3, 0x380D9884, 0x380DA62F, 0x380DB3CF, 0x380DC16A, 0x380DCEFC, 0x380DDC87, 0x380DEA08, 0x380DF782, 0x380E04F6, 0x380E1260, 0x380E1FC3, 0x380E2D1F, 0x380E3A75, 0x380E47C0, 0x380E5505, 0x380E6243, 0x380E6F78, 0x380E7CA7, 0x380E89CE, 0x380E96ED, 0x380EA404, 0x380EB115, 0x380EBE1E, 0x380ECB22, 0x380ED81D, 0x380EE510, 0x380EF1FB, 0x380EFEE0, 0x380F0BC0, 0x380F1898, 0x380F2567, 0x380F3231, 0x380F3EF2, 0x380F4BAE, 0x380F5862, 0x380F650E, 0x380F71B4, 0x380F7E54, 0x380F8AED, 0x380F977F, 0x380FA40A, 0x380FB08F, 0x380FBD0C, 0x380FC983, 0x380FD5F2, 0x380FE25C, 0x380FEEC0, 0x380FFB1C, 0x38100772, 0x381013C3, 0x3810200C, 0x38102C4C, 0x3810388A, 0x381044BF, 0x381050EF, 0x38105D16, 0x38106939, 0x38107555, 0x3810816C, 0x38108D7B, 0x38109985, 0x3810A588, 0x3810B184, 0x3810BD7D, 0x3810C96E, 0x3810D559, 0x3810E13C, 0x3810ED1C, 0x3810F8F4, 0x381104C6, 0x38111093, 0x38111C58, 0x3811281A, 0x381133D3, 0x38113F8A, 0x38114B39, 0xBF800000, 0x00000000, 0x36915629, 0x36E65A71, 0x3711563E, 0x3728BB21, 0x373BD86E, 0x374C01A5, 0x375A017E, 0x37665AA2, 0x37716665, 0x377B646F, 0x378241DE, 0x378673FF, 0x378A567A, 0x378DF452, 0x37915666, 0x379483F4, 0x379782FE, 0x379A588A, 0x379D08DF, 0x379F979E, 0x37A207E4, 0x37A45C6C, 0x37A6978B, 0x37A8BB58, 0x37AAC9AC, 0x37ACC422, 0x37AEAC2C, 0x37B08318, 0x37B24A04, 0x37B4020F, 0x37B5AC19, 0x37B74909, 0x37B8D9A6, 0x37BA5EAA, 0x37BBD8B5, 0x37BD4861, 0x37BEAE42, 0x37C00AD6, 0x37C15E97, 0x37C2A9F2, 0x37C3ED56, 0x37C5291A, 0x37C65D9C, 0x37C78B2E, 0x37C8B223, 0x37C9D2BD, 0x37CAED43, 0x37CC01F7, 0x37CD1116, 0x37CE1AD6, 0x37CF1F69, 0x37D01F07, 0x37D119E0, 0x37D2101B, 0x37D301E9, 0x37D3EF6C, 0x37D4D8D0, 0x37D5BE3A, 0x37D69FC1, 0x37D77D97, 0x37D857CC, 0x37D92E81, 0x37DA01D6, 0x37DAD1E8, 0x37DB9ECC, 0x37DC6899, 0x37DD2F69, 0x37DDF34E, 0x37DEB468, 0x37DF72C2, 0x37E02E73, 0x37E0E78A, 0x37E19E24, 0x37E25245, 0x37E30405, 0x37E3B36D, 0x37E46099, 0x37E50B8A, 0x37E5B45A, 0x37E65B10, 0x37E6FFB5, 0x37E7A261, 0x37E84319, 0x37E8E1E7, 0x37E97EDD, 0x37EA19FF, 0x37EAB35F, 0x37EB4B01, 0x37EBE0F1, 0x37EC753A, 0x37ED07E6, 0x37ED98FC, 0x37EE2880, 0x37EEB683, 0x37EF430B, 0x37EFCE18, 0x37F057BF, 0x37F0DFFC, 0x37F166D8, 0x37F1EC60, 0x37F27099, 0x37F2F387, 0x37F3752C, 0x37F3F598, 0x37F474CA, 0x37F4F2CD, 0x37F56FA3, 0x37F5EB54, 0x37F665E3, 0x37F6DF54, 0x37F757AC, 0x37F7CEF7, 0x37F84535, 0x37F8BA6A, 0x37F92E98, 0x37F9A1C9, 0x37FA13FD, 0x37FA853F, 0x37FAF58A, 0x37FB64E8, 0x37FBD35A, 0x37FC40EB, 0x37FCAD94, 0x37FD195C, 0x37FD8449, 0x37FDEE5F, 0x37FE579E, 0x37FEC00D, 0x37FF27B0, 0x37FF8E88, 0x37FFF494, 0x38002CED, 0x38005F30, 0x38009113, 0x3800C299, 0x3800F3C1, 0x3801248E, 0x38015500, 0x38018518, 0x3801B4DB, 0x3801E445, 0x3802135D, 0x3802421E, 0x3802708E, 0x38029EAC, 0x3802CC78, 0x3802F9F6, 0x38032725, 0x38035407, 0x3803809C, 0x3803ACE7, 0x3803D8E7, 0x3804049D, 0x38043009, 0x38045B31, 0x38048611, 0x3804B0AC, 0x3804DAFF, 0x38050511, 0x38052EE1, 0x3805586C, 0x380581B8, 0x3805AAC2, 0x3805D38C, 0x3805FC15, 0x38062464, 0x38064C71, 0x38067444, 0x38069BDB, 0x3806C335, 0x3806EA55, 0x3807113A, 0x380737E7, 0x38075E5A, 0x38078496, 0x3807AA99, 0x3807D068, 0x3807F5FF, 0x38081B60, 0x3808408C, 0x38086584, 0x38088A48, 0x3808AEDA, 0x3808D338, 0x3808F765, 0x38091B5D, 0x38093F27, 0x380962BF, 0x38098629, 0x3809A961, 0x3809CC6D, 0x3809EF47, 0x380A11F3, 0x380A3473, 0x380A56C7, 0x380A78EC, 0x380A9AE5, 0x380ABCB2, 0x380ADE53, 0x380AFFCB, 0x380B2117, 0x380B423A, 0x380B6333, 0x380B8404, 0x380BA4AB, 0x380BC528, 0x380BE580, 0x380C05AE, 0x380C25B5, 0x380C4594, 0x380C654E, 0x380C84E3, 0x380CA450, 0x380CC397, 0x380CE2BB, 0x380D01B8, 0x380D2091, 0x380D3F47, 0x380D5DD8, 0x380D7C46, 0x380D9A91, 0x380DB8BA, 0x380DD6C0, 0x380DF4A2, 0x380E1265, 0x380E3005, 0x380E4D81, 0x380E6ADF, 0x380E881C, 0x380EA538, 0x380EC236, 0x380EDF10, 0x380EFBCE, 0x380F1869, 0x380F34E8, 0x380F5146, 0x380F6D86, 0x380F89AB, 0x380FA5AF, 0x380FC194, 0x380FDD5E, 0x380FF909, 0x38101497, 0x38103009, 0x38104B5C, 0x38106694, 0x381081B1, 0x38109CB2, 0x3810B798, 0x3810D25F, 0x3810ED0E, 0x381107A1, 0x38112219, 0x38113C75, 0x381156B9, 0x381170E4, 0x38118AF0, 0x3811A4E7, 0x3811BEC2, 0x3811D884, 0x3811F22B, 0x38120BBC, 0x38122534, 0x38123E90, 0x381257D7, 0x38127105, 0x38128A1A, 0x3812A317, 0x3812BBFD, 0x3812D4CB, 0x3812ED82, 0x38130621, 0x38131EAA, 0x3813371A, 0x38134F77, 0x381367BC, 0x38137FEA, 0x381397FF, 0x3813B002, 0x3813C7EE, 0x3813DFC4, 0x3813F785, 0x38140F2F, 0x381426C6, 0x38143E47, 0x381455B2, 0x38146D07, 0x38148449, 0x38149B78, 0x3814B290, 0x3814C996, 0x3814E085, 0x3814F764, 0x38150E2A, 0x381524E0, 0x38153B82, 0x3815520F, 0x3815688B, 0x38157EF1, 0x38159546, 0x3815AB85, 0x3815C1B4, 0x3815D7D0, 0x3815EDDB, 0x381603D1, 0x381619B5, 0x38162F87, 0x38164548, 0x38165AF6, 0x38167090, 0x3816861D, 0x38169B94, 0x3816B0FD, 0x3816C653, 0x3816DB95, 0x3816F0CA, 0x381705EC, 0x38171AFD, 0x38172FFE, 0x381744EE, 0x381759CB, 0x38176E9A, 0x38178358, 0x38179804, 0x3817ACA1, 0x3817C12F, 0x3817D5AB, 0x3817EA1A, 0x3817FE76, 0x381812C4, 0x38182701, 0x38183B2E, 0x38184F4D, 0x3818635C, 0x3818775D, 0x38188B4E, 0x38189F30, 0x3818B303, 0x3818C6C4, 0x3818DA7B, 0x3818EE21, 0x381901B7, 0x3819153F, 0x381928B9, 0x38193C26, 0x38194F82, 0x381962D3, 0x38197614, 0x38198946, 0x38199C6B, 0x3819AF83, 0x3819C28A, 0x3819D586, 0x3819E874, 0x3819FB54, 0x381A0E27, 0x381A20EB, 0x381A33A3, 0x381A464C, 0x381A58E8, 0x381A6B78, 0x381A7DFB, 0x381A9070, 0x381AA2DA, 0x381AB534, 0x381AC783, 0x381AD9C6, 0x381AEBFC, 0x381AFE25, 0x381B103F, 0x381B2251, 0x381B3453, 0x381B464A, 0x381B5835, 0x381B6A13, 0x381B7BE6, 0x381B8DAB, 0x381B9F66, 0x381BB115, 0x381BC2B6, 0x381BD44D, 0x381BE5D8, 0x381BF759, 0x381C08CC, 0x381C1A33, 0x381C2B90, 0x381C3CDF, 0x381C4E26, 0x381C5F5F, 0x381C708D, 0x381C81B3, 0x381C92CB, 0x381CA3D8, 0x381CB4DA, 0x381CC5D1, 0x381CD6BD, 0x381CE79E, 0x381CF874, 0x381D0940, 0x381D1A02, 0x381D2AB7, 0x381D3B64, 0x381D4C03, 0x381D5C9A, 0x381D6D26, 0x381D7DAA, 0x381D8E20, 0x381D9E8D, 0x381DAEF0, 0x381DBF48, 0x381DCF97, 0x381DDFDB, 0x381DF015, 0x381E0046, 0x381E106C, 0x381E2087, 0x381E309A, 0x381E40A2, 0x381E50A2, 0x381E6097, 0x381E7080, 0x381E8062, 0x381E903B, 0x381EA009, 0x381EAFCF, 0x381EBF8A, 0x381ECF3D, 0x381EDEE4, 0x381EEE84, 0x381EFE1B, 0x381F0DA7, 0x381F1D2B, 0x381F2CA4, 0x381F3C18, 0x381F4B7E, 0x381F5ADE, 0x381F6A33, 0x381F7983, 0x381F88C5, 0x381F9801, 0x381FA733, 0x381FB65F, 0x381FC580, 0x381FD499, 0x381FE3A6, 0x381FF2AF, 0x382001AC, 0x382010A4, 0x38201F91, 0x38202E75, 0x38203D52, 0x38204C26, 0x38205AF1, 0x382069B5, 0x38207870, 0x38208723, 0x382095CE, 0x3820A471, 0x3820B30B, 0x3820C19D, 0x3820D027, 0x3820DEA9, 0x3820ED22, 0x3820FB93, 0x382109FF, 0x3821185F, 0x382126BB, 0x3821350D, 0x38214358, 0x3821519A, 0x38215FD5, 0x38216E09, 0x38217C36, 0x38218A5A, 0x38219876, 0x3821A689, 0x3821B497, 0x3821C29D, 0x3821D09B, 0x3821DE93, 0x3821EC83, 0x3821FA6B, 0x3822084A, 0x38221624, 0x382223F6, 0x382231C2, 0x38223F86, 0x38224D42, 0x38225AF8, 0x382268A6, 0x3822764B, 0x382283EC, 0x38229184, 0x38229F16, 0x3822ACA0, 0x3822BA25, 0x3822C7A1, 0x3822D516, 0x3822E284, 0x3822EFEE, 0x3822FD4E, 0x38230AAA, 0x382317FD, 0x38232548, 0x38233290, 0x38233FCE, 0x38234D08, 0x38235A3A, 0x38236764, 0x38237489, 0xBF800000, 0x00000000, 0x36A6196A, 0x3703A179, 0x37261985, 0x3740D603, 0x3756AE5C, 0x3769269A, 0x37792674, 0x3783A19B, 0x3789F17B, 0x378FA735, 0x3794DDA7, 0x3799A93E, 0x379E19D1, 0x37A23BED, 0x37A619B9, 0x37A9BB85, 0x37AD281F, 0x37B06554, 0x37B377FF, 0x37B66449, 0x37B92DBF, 0x37BBD77C, 0x37BE6436, 0x37C0D64A, 0x37C32FCD, 0x37C5729C, 0x37C7A05B, 0x37C9BA8F, 0x37CBC27C, 0x37CDB962, 0x37CFA04E, 0x37D1783C, 0x37D34214, 0x37D4FEA6, 0x37D6AEB4, 0x37D852E6, 0x37D9EBE9, 0x37DB7A4A, 0x37DCFE94, 0x37DE7949, 0x37DFEADE, 0x37E153C0, 0x37E2B453, 0x37E40CFF, 0x37E55E11, 0x37E6A7EB, 0x37E7EACB, 0x37E92708, 0x37EA5CDF, 0x37EB8C97, 0x37ECB667, 0x37EDDA86, 0x37EEF937, 0x37F0129F, 0x37F126FB, 0x37F2366C, 0x37F34129, 0x37F44753, 0x37F5491C, 0x37F64699, 0x37F73FFC, 0x37F83561, 0x37F926E8, 0x37FA14B2, 0x37FAFEDC, 0x37FBE57A, 0x37FCC8B4, 0x37FDA899, 0x37FE8546, 0x37FF5ED0, 0x38001AAA, 0x38008470, 0x3800ECC6, 0x380153B4, 0x3801B944, 0x38021D83, 0x38028075, 0x3802E225, 0x3803429C, 0x3803A1E0, 0x3803FFF7, 0x38045CE9, 0x3804B8C2, 0x38051380, 0x38056D30, 0x3805C5D9, 0x38061D7C, 0x38067423, 0x3806C9D2, 0x38071E8D, 0x3807725B, 0x3807C542, 0x38081748, 0x3808686D, 0x3808B8B8, 0x38090830, 0x380956D7, 0x3809A4B2, 0x3809F1C5, 0x380A3E12, 0x380A899E, 0x380AD470, 0x380B1E86, 0x380B67E7, 0x380BB098, 0x380BF89A, 0x380C3FEE, 0x380C869D, 0x380CCCA5, 0x380D120A, 0x380D56D0, 0x380D9AFC, 0x380DDE8B, 0x380E2183, 0x380E63EA, 0x380EA5BC, 0x380EE6FF, 0x380F27B6, 0x380F67E1, 0x380FA785, 0x380FE6A2, 0x3810253B, 0x38106353, 0x3810A0ED, 0x3810DE06, 0x38111AA5, 0x381156C9, 0x38119277, 0x3811CDAF, 0x38120873, 0x381242C3, 0x38127CA3, 0x3812B615, 0x3812EF16, 0x381327AF, 0x38135FDD, 0x381397A2, 0x3813CF01, 0x381405F8, 0x38143C8F, 0x381472C0, 0x3814A891, 0x3814DDFF, 0x38151312, 0x381547C5, 0x38157C1E, 0x3815B01B, 0x3815E3C1, 0x3816170C, 0x381649FF, 0x38167C9C, 0x3816AEE5, 0x3816E0DB, 0x3817127C, 0x381743CD, 0x381774CE, 0x3817A57D, 0x3817D5DF, 0x381805F4, 0x381835BA, 0x38186538, 0x38189469, 0x3818C34F, 0x3818F1EC, 0x38192041, 0x38194E51, 0x38197C1A, 0x3819A99B, 0x3819D6DA, 0x381A03D2, 0x381A308B, 0x381A5CFF, 0x381A8931, 0x381AB524, 0x381AE0D4, 0x381B0C49, 0x381B377B, 0x381B6271, 0x381B8D2A, 0x381BB7A7, 0x381BE1E5, 0x381C0BEC, 0x381C35B6, 0x381C5F46, 0x381C889D, 0x381CB1BA, 0x381CDAA0, 0x381D034F, 0x381D2BC8, 0x381D5409, 0x381D7C13, 0x381DA3E9, 0x381DCB8B, 0x381DF2F8, 0x381E1A32, 0x381E4137, 0x381E680D, 0x381E8EAC, 0x381EB51D, 0x381EDB5C, 0x381F016C, 0x381F2749, 0x381F4CF9, 0x381F7278, 0x381F97CA, 0x381FBCEC, 0x381FE1E1, 0x382006A8, 0x38202B42, 0x38204FB1, 0x382073F3, 0x3820980A, 0x3820BBF5, 0x3820DFB3, 0x38210349, 0x382126B5, 0x382149F8, 0x38216D0F, 0x38219000, 0x3821B2C7, 0x3821D565, 0x3821F7DC, 0x38221A2B, 0x38223C55, 0x38225E57, 0x38228032, 0x3822A1E6, 0x3822C377, 0x3822E4E1, 0x38230625, 0x38232745, 0x38234841, 0x38236917, 0x382389CC, 0x3823AA5A, 0x3823CAC7, 0x3823EB11, 0x38240B39, 0x38242B3E, 0x38244B1F, 0x38246AE2, 0x38248A81, 0x3824AA00, 0x3824C95D, 0x3824E899, 0x382507B4, 0x382526B1, 0x3825458D, 0x38256448, 0x382582E5, 0x3825A163, 0x3825BFC1, 0x3825DE03, 0x3825FC24, 0x38261A27, 0x3826380B, 0x382655D5, 0x3826737F, 0x3826910C, 0x3826AE7B, 0x3826CBCD, 0x3826E905, 0x38270621, 0x3827231F, 0x38274001, 0x38275CC5, 0x38277970, 0x38279600, 0x3827B274, 0x3827CECD, 0x3827EB0D, 0x38280731, 0x3828233A, 0x38283F2B, 0x38285B00, 0x382876BC, 0x3828925F, 0x3828ADE7, 0x3828C956, 0x3828E4AC, 0x3828FFED, 0x38291B12, 0x3829361E, 0x38295111, 0x38296BEF, 0x382986B1, 0x3829A15D, 0x3829BBF3, 0x3829D670, 0x3829F0D4, 0x382A0B23, 0x382A255B, 0x382A3F7B, 0x382A5985, 0x382A7379, 0x382A8D57, 0x382AA71E, 0x382AC0CE, 0x382ADA69, 0x382AF3EC, 0x382B0D5C, 0x382B26B6, 0x382B3FFA, 0x382B592B, 0x382B7245, 0x382B8B4A, 0x382BA439, 0x382BBD14, 0x382BD5DC, 0x382BEE8E, 0x382C072D, 0x382C1FB6, 0x382C382C, 0x382C508F, 0x382C68DE, 0x382C8117, 0x382C993D, 0x382CB153, 0x382CC952, 0x382CE13E, 0x382CF91A, 0x382D10E0, 0x382D2895, 0x382D4037, 0x382D57C6, 0x382D6F42, 0x382D86AD, 0x382D9E05, 0x382DB54C, 0x382DCC80, 0x382DE3A1, 0x382DFAB1, 0x382E11AE, 0x382E289B, 0x382E3F77, 0x382E5643, 0x382E6CFB, 0x382E83A3, 0x382E9A38, 0x382EB0BF, 0x382EC733, 0x382EDD96, 0x382EF3E9, 0x382F0A2B, 0x382F205C, 0x382F3680, 0x382F4C91, 0x382F6291, 0x382F7884, 0x382F8E63, 0x382FA435, 0x382FB9F6, 0x382FCFA6, 0x382FE549, 0x382FFADB, 0x3830105D, 0x383025D1, 0x38303B35, 0x3830508B, 0x383065D0, 0x38307B05, 0x3830902F, 0x3830A545, 0x3830BA51, 0x3830CF4C, 0x3830E437, 0x3830F916, 0x38310DE5, 0x383122A7, 0x38313758, 0x38314BFE, 0x38316093, 0x3831751B, 0x38318995, 0x38319E01, 0x3831B25F, 0x3831C6B0, 0x3831DAF3, 0x3831EF28, 0x3832034F, 0x38321769, 0x38322B75, 0x38323F73, 0x38325364, 0x38326749, 0x38327B21, 0x38328EEB, 0x3832A2A7, 0x3832B659, 0x3832C9FC, 0x3832DD92, 0x3832F11D, 0x3833049A, 0x38331809, 0x38332B6D, 0x38333EC4, 0x3833520F, 0x3833654D, 0x3833787D, 0x38338BA5, 0x38339EBC, 0x3833B1CB, 0x3833C4CD, 0x3833D7C0, 0x3833EAAC, 0x3833FD89, 0x38341059, 0x3834231E, 0x383435D8, 0x38344887, 0x38345B2B, 0x38346DC1, 0x3834804C, 0x383492CC, 0x3834A541, 0x3834B7AB, 0x3834CA0B, 0x3834DC5C, 0x3834EEA5, 0x383500E1, 0x38351311, 0x38352539, 0x38353754, 0x38354966, 0x38355B6A, 0x38356D67, 0x38357F55, 0x3835913B, 0x3835A316, 0x3835B4E7, 0x3835C6AC, 0x3835D866, 0x3835EA18, 0x3835FBBC, 0x38360D58, 0x38361EE9, 0x38363072, 0x383641ED, 0x38365360, 0x383664CA, 0x38367627, 0x3836877C, 0x383698C8, 0x3836AA07, 0x3836BB40, 0x3836CC6B, 0x3836DD8E, 0x3836EEA6, 0x3836FFB6, 0x383710BD, 0x383721B7, 0x383732AB, 0x38374392, 0x38375473, 0x38376549, 0x38377614, 0x383786D7, 0x38379792, 0x3837A841, 0x3837B8E9, 0x3837C988, 0x3837DA1C, 0x3837EAA8, 0x3837FB29, 0x38380BA1, 0x38381C12, 0x38382C7A, 0x38383CD7, 0x38384D2F, 0x38385D7B, 0x38386DBD, 0x38387DF9, 0x38388E2A, 0x38389E53, 0x3838AE74, 0x3838BE8C, 0x3838CE9C, 0x3838DEA2, 0x3838EEA1, 0x3838FE96, 0x38390E82, 0x38391E67, 0x38392E43, 0x38393E19, 0x38394DE4, 0x38395DA8, 0x38396D63, 0x38397D15, 0x38398CC0, 0x38399C62, 0x3839ABFC, 0x3839BB8E, 0x3839CB17, 0x3839DA98, 0x3839EA14, 0x3839F985, 0x383A08F0, 0x383A1850, 0x383A27AB, 0x383A36FE, 0x383A4648, 0x383A558A, 0x383A64C6, 0x383A73F8, 0x383A8324, 0x383A9248, 0x383AA166, 0x383AB079, 0x383ABF87, 0x383ACE8D, 0xBF800000, 0x00000000, 0x36C1C874, 0x371991D6, 0x3741C897, 0x3760F9D6, 0x377A7647, 0x37880153, 0x3791568D, 0x37999207, 0x37A0EF37, 0x37A79893, 0x37ADAD70, 0x37B345A3, 0x37B8739F, 0x37BD461A, 0x37C1C8E4, 0x37C605A1, 0x37CA045E, 0x37CDCBC4, 0x37D1618F, 0x37D4CA8D, 0x37D80AF0, 0x37DB264D, 0x37DE1FD2, 0x37E0FA3F, 0x37E3B805, 0x37E65B4C, 0x37E8E607, 0x37EB59E9, 0x37EDB882, 0x37F00333, 0x37F23B4C, 0x37F461E4, 0x37F67808, 0x37F87EB7, 0x37FA76C6, 0x37FC6105, 0x37FE3E31, 0x3800077C, 0x3800E9FE, 0x3801C6E7, 0x38029E7D, 0x38037102, 0x38043EAF, 0x380507BE, 0x3805CC60, 0x38068CC7, 0x38074922, 0x3808019A, 0x3808B659, 0x38096781, 0x380A153C, 0x380ABFA6, 0x380B66DF, 0x380C0B09, 0x380CAC3D, 0x380D4A98, 0x380DE630, 0x380E7F1F, 0x380F157D, 0x380FA95D, 0x38103AD6, 0x3810C9FD, 0x381156E2, 0x3811E197, 0x38126A2E, 0x3812F0B8, 0x38137543, 0x3813F7DF, 0x38147898, 0x3814F77F, 0x381574A2, 0x3815F007, 0x381669C2, 0x3816E1D8, 0x38175857, 0x3817CD4B, 0x381840BB, 0x3818B2B3, 0x3819233D, 0x38199261, 0x381A0026, 0x381A6C99, 0x381AD7BF, 0x381B419E, 0x381BAA43, 0x381C11B0, 0x381C77F0, 0x381CDD08, 0x381D40FC, 0x381DA3D8, 0x381E059F, 0x381E6658, 0x381EC609, 0x381F24B5, 0x381F8264, 0x381FDF19, 0x38203ADC, 0x382095B0, 0x3820EF9A, 0x382148A0, 0x3821A0C5, 0x3821F80E, 0x38224E7E, 0x3822A41C, 0x3822F8E7, 0x38234CEA, 0x3823A024, 0x3823F298, 0x3824444E, 0x38249544, 0x3824E581, 0x38253507, 0x382583D9, 0x3825D1FC, 0x38261F72, 0x38266C40, 0x3826B864, 0x382703E2, 0x38274EC2, 0x382798FF, 0x3827E2A2, 0x38282BAB, 0x3828741D, 0x3828BBF8, 0x38290341, 0x382949FB, 0x38299026, 0x3829D5C5, 0x382A1ADB, 0x382A5F6A, 0x382AA375, 0x382AE6F9, 0x382B29FD, 0x382B6C81, 0x382BAE87, 0x382BF015, 0x382C3124, 0x382C71BC, 0x382CB1DF, 0x382CF18E, 0x382D30C7, 0x382D6F8F, 0x382DADE9, 0x382DEBD2, 0x382E294E, 0x382E6661, 0x382EA309, 0x382EDF48, 0x382F1B1F, 0x382F5693, 0x382F919F, 0x382FCC4A, 0x38300692, 0x3830407A, 0x38307A02, 0x3830B330, 0x3830EBFD, 0x3831246F, 0x38315C87, 0x38319444, 0x3831CBA9, 0x383202B8, 0x38323970, 0x38326FD3, 0x3832A5E3, 0x3832DB9E, 0x38331106, 0x3833461F, 0x38337AE8, 0x3833AF61, 0x3833E38B, 0x3834176A, 0x38344AFA, 0x38347E3F, 0x3834B13A, 0x3834E3E8, 0x38351652, 0x38354871, 0x38357A46, 0x3835ABD9, 0x3835DD22, 0x38360E29, 0x38363EEB, 0x38366F69, 0x38369FA2, 0x3836CF9B, 0x3836FF53, 0x38372EC8, 0x38375DFF, 0x38378CF6, 0x3837BBAE, 0x3837EA27, 0x38381863, 0x38384663, 0x38387426, 0x3838A1B0, 0x3838CEFA, 0x3838FC0D, 0x383928E7, 0x38395584, 0x383981EA, 0x3839AE19, 0x3839DA0F, 0x383A05D0, 0x383A315B, 0x383A5CAB, 0x383A87CA, 0x383AB2B2, 0x383ADD66, 0x383B07E9, 0x383B3234, 0x383B5C4E, 0x383B8637, 0x383BAFEB, 0x383BD970, 0x383C02C2, 0x383C2BE4, 0x383C54D8, 0x383C7D9A, 0x383CA62B, 0x383CCE90, 0x383CF6C6, 0x383D1ECE, 0x383D46A9, 0x383D6E53, 0x383D95D4, 0x383DBD29, 0x383DE44F, 0x383E0B4C, 0x383E321D, 0x383E58C1, 0x383E7F3D, 0x383EA58D, 0x383ECBB3, 0x383EF1B0, 0x383F1784, 0x383F3D32, 0x383F62B3, 0x383F880E, 0x383FAD43, 0x383FD24E, 0x383FF733, 0x38401BF1, 0x38404089, 0x384064FA, 0x38408945, 0x3840AD6A, 0x3840D16A, 0x3840F547, 0x384118FE, 0x38413C90, 0x38415FFF, 0x3841834A, 0x3841A672, 0x3841C976, 0x3841EC56, 0x38420F15, 0x384231B0, 0x3842542A, 0x38427684, 0x384298B9, 0x3842BACE, 0x3842DCC2, 0x3842FE97, 0x38432049, 0x384341D9, 0x3843634C, 0x384384A0, 0x3843A5D1, 0x3843C6E6, 0x3843E7DA, 0x384408AD, 0x38442964, 0x384449FB, 0x38446A76, 0x38448AD0, 0x3844AB0E, 0x3844CB2C, 0x3844EB2E, 0x38450B15, 0x38452ADD, 0x38454A87, 0x38456A16, 0x38458989, 0x3845A8E1, 0x3845C81A, 0x3845E738, 0x3846063B, 0x38462522, 0x384643F0, 0x384662A0, 0x38468137, 0x38469FB0, 0x3846BE13, 0x3846DC58, 0x3846FA87, 0x38471897, 0x38473692, 0x38475471, 0x38477238, 0x38478FE2, 0x3847AD77, 0x3847CAF1, 0x3847E851, 0x3848059C, 0x384822CB, 0x38483FE4, 0x38485CE5, 0x384879CD, 0x3848969C, 0x3848B355, 0x3848CFF8, 0x3848EC7F, 0x384908F3, 0x3849254F, 0x38494192, 0x38495DC1, 0x384979D8, 0x384995D9, 0x3849B1C1, 0x3849CD96, 0x3849E955, 0x384A04FB, 0x384A208D, 0x384A3C0A, 0x384A5771, 0x384A72C2, 0x384A8DFD, 0x384AA925, 0x384AC436, 0x384ADF35, 0x384AFA1D, 0x384B14F0, 0x384B2FAF, 0x384B4A5B, 0x384B64F1, 0x384B7F71, 0x384B99E0, 0x384BB43A, 0x384BCE80, 0x384BE8B3, 0x384C02D3, 0x384C1CDF, 0x384C36D6, 0x384C50BC, 0x384C6A8F, 0x384C844C, 0x384C9DF8, 0x384CB791, 0x384CD11A, 0x384CEA8C, 0x384D03EE, 0x384D1D3D, 0x384D3679, 0x384D4FA4, 0x384D68BC, 0x384D81C3, 0x384D9AB8, 0x384DB39B, 0x384DCC6C, 0x384DE52C, 0x384DFDDB, 0x384E1677, 0x384E2F03, 0x384E477B, 0x384E5FE6, 0x384E783E, 0x384E9085, 0x384EA8BB, 0x384EC0E1, 0x384ED8F7, 0x384EF0FC, 0x384F08F0, 0x384F20D4, 0x384F38A8, 0x384F506B, 0x384F681D, 0x384F7FBF, 0x384F9754, 0x384FAED8, 0x384FC64B, 0x384FDDAE, 0x384FF503, 0x38500C47, 0x3850237B, 0x38503AA2, 0x385051B8, 0x385068C0, 0x38507FB8, 0x385096A1, 0x3850AD7B, 0x3850C446, 0x3850DB04, 0x3850F1B2, 0x3851084F, 0x38511EE1, 0x38513562, 0x38514BD6, 0x3851623C, 0x38517891, 0x38518ED9, 0x3851A513, 0x3851BB3F, 0x3851D15E, 0x3851E76E, 0x3851FD71, 0x38521367, 0x3852294B, 0x38523F25, 0x385254F1, 0x38526AAF, 0x38528060, 0x38529603, 0x3852AB98, 0x3852C11F, 0x3852D69B, 0x3852EC07, 0x38530168, 0x385316BE, 0x38532C03, 0x3853413E, 0x3853566A, 0x38536B89, 0x3853809D, 0x385395A6, 0x3853AA9E, 0x3853BF8B, 0x3853D46E, 0x3853E942, 0x3853FE09, 0x385412C5, 0x38542776, 0x38543C19, 0x385450AF, 0x3854653C, 0x385479BB, 0x38548E2D, 0x3854A294, 0x3854B6EF, 0x3854CB40, 0x3854DF83, 0x3854F3BB, 0x385507E8, 0x38551C07, 0x3855301B, 0x38554427, 0x38555825, 0x38556C16, 0x38557FFE, 0x385593DB, 0x3855A7AB, 0x3855BB6F, 0x3855CF2C, 0x3855E2DA, 0x3855F67E, 0x38560A16, 0x38561DA6, 0x38563129, 0x385644A1, 0x38565810, 0x38566B71, 0x38567ECB, 0x38569216, 0x3856A55A, 0x3856B892, 0x3856CBBF, 0x3856DEE4, 0x3856F1FC, 0x3857050B, 0x3857180F, 0x38572B08, 0x38573DF6, 0x385750DC, 0x385763B7, 0x38577687, 0x3857894E, 0x38579C0B, 0x3857AEBC, 0x3857C166, 0x3857D404, 0x3857E69A, 0x3857F923, 0x38580BA6, 0x38581E1D, 0x3858308A, 0x385842EC, 0x38585549, 0x38586797, 0x385879DE, 0x38588C1C, 0x38589E4F, 0x3858B07A, 0x3858C29D, 0x3858D4B4, 0x3858E6C1, 0x3858F8C6, 0x38590AC2, 0x38591CB6, 0x38592E9F, 0x3859407F, 0x38595255, 0x38596423, 0x385975E8, 0x385987A5, 0x38599957, 0x3859AB01, 0x3859BCA2, 0x3859CE3B, 0x3859DFCA, 0x3859F150, 0xBF800000, 0x00000000, 0x36E88A61, 0x373848D3, 0x37688A91, 0x3786FC78, 0x37964729, 0x37A334FE, 0x37AE6819, 0x37B8490F, 0x37C11F4E, 0x37C91DC0, 0x37D06A04, 0x37D720AB, 0x37DD57DE, 0x37E3213F, 0x37E88AFF, 0x37EDA0B7, 0x37F26BFB, 0x37F6F4E3, 0x37FB423F, 0x37FF59DA, 0x3801A05B, 0x38037D95, 0x3805467D, 0x3806FCC0, 0x3808A1D1, 0x380A36FE, 0x380BBD6D, 0x380D3629, 0x380EA220, 0x38100227, 0x38115700, 0x3812A15C, 0x3813E1DC, 0x38151910, 0x38164781, 0x38176DA8, 0x38188BF8, 0x3819A2D5, 0x381AB2A6, 0x381BBBBE, 0x381CBE74, 0x381DBB12, 0x381EB1E2, 0x381FA327, 0x38208F1E, 0x38217601, 0x38225807, 0x38233566, 0x38240E49, 0x3824E2E3, 0x3825B35D, 0x38267FDB, 0x3827488A, 0x38280D87, 0x3828CEF9, 0x38298CFE, 0x382A47B8, 0x382AFF3E, 0x382BB3AF, 0x382C6524, 0x382D13B6, 0x382DBF7D, 0x382E688F, 0x382F0F02, 0x382FB2EB, 0x3830545D, 0x3830F36B, 0x38319027, 0x38322AA1, 0x3832C2EB, 0x38335912, 0x3833ED27, 0x38347F39, 0x38350F54, 0x38359D89, 0x383629E0, 0x3836B469, 0x38373D2C, 0x3837C437, 0x38384996, 0x3838CD50, 0x38394F73, 0x3839D008, 0x383A4F13, 0x383ACCA6, 0x383B48C3, 0x383BC376, 0x383C3CC5, 0x383CB4BB, 0x383D2B5B, 0x383DA0B2, 0x383E14C1, 0x383E8795, 0x383EF932, 0x383F699D, 0x383FD8DD, 0x384046FA, 0x3840B3F9, 0x38411FE0, 0x38418AB3, 0x3841F479, 0x38425D38, 0x3842C4F4, 0x38432BB0, 0x38439175, 0x3843F642, 0x38445A21, 0x3844BD16, 0x38451F21, 0x38458048, 0x3845E093, 0x38464002, 0x38469E98, 0x3846FC5D, 0x38475951, 0x3847B577, 0x384810D7, 0x38486B71, 0x3848C548, 0x38491E5F, 0x384976BE, 0x3849CE61, 0x384A254F, 0x384A7B8B, 0x384AD116, 0x384B25F7, 0x384B7A2B, 0x384BCDB7, 0x384C209F, 0x384C72E4, 0x384CC487, 0x384D1590, 0x384D65FA, 0x384DB5CC, 0x384E0507, 0x384E53AE, 0x384EA1C3, 0x384EEF49, 0x384F3C3E, 0x384F88A9, 0x384FD488, 0x38501FE0, 0x38506AAF, 0x3850B4FC, 0x3850FEC6, 0x3851480E, 0x385190D8, 0x3851D924, 0x385220F4, 0x3852684A, 0x3852AF28, 0x3852F58D, 0x38533B7F, 0x385380FD, 0x3853C608, 0x38540AA2, 0x38544ECB, 0x38549286, 0x3854D5D6, 0x385518BB, 0x38555B35, 0x38559D46, 0x3855DEF2, 0x38562035, 0x38566112, 0x3856A18F, 0x3856E1A7, 0x3857215E, 0x385760B5, 0x38579FAC, 0x3857DE48, 0x38581C84, 0x38585A65, 0x385897EC, 0x3858D517, 0x385911EB, 0x38594E67, 0x38598A8E, 0x3859C65C, 0x385A01D9, 0x385A3CFD, 0x385A77D2, 0x385AB254, 0x385AEC86, 0x385B2666, 0x385B5FF6, 0x385B9939, 0x385BD22D, 0x385C0AD3, 0x385C4330, 0x385C7B3F, 0x385CB307, 0x385CEA82, 0x385D21B6, 0x385D589F, 0x385D8F41, 0x385DC59E, 0x385DFBB3, 0x385E3184, 0x385E6710, 0x385E9C58, 0x385ED15D, 0x385F061E, 0x385F3A9F, 0x385F6EDC, 0x385FA2DA, 0x385FD698, 0x38600A15, 0x38603D55, 0x38607055, 0x3860A319, 0x3860D59E, 0x386107E7, 0x386139F6, 0x38616BC5, 0x38619D5E, 0x3861CEBA, 0x3861FFDD, 0x386230C5, 0x38626177, 0x386291EF, 0x3862C230, 0x3862F23A, 0x3863220A, 0x386351A6, 0x3863810E, 0x3863B03F, 0x3863DF3C, 0x38640E01, 0x38643C96, 0x38646AF6, 0x38649924, 0x3864C71E, 0x3864F4E7, 0x3865227F, 0x38654FE4, 0x38657D19, 0x3865AA1C, 0x3865D6F0, 0x38660392, 0x38663006, 0x38665C4E, 0x38668865, 0x3866B44D, 0x3866E008, 0x38670B98, 0x386736F7, 0x3867622C, 0x38678D35, 0x3867B80F, 0x3867E2C0, 0x38680D45, 0x3868379F, 0x386861CF, 0x38688BD3, 0x3868B5AD, 0x3868DF5F, 0x386908E7, 0x38693246, 0x38695B7F, 0x3869848B, 0x3869AD71, 0x3869D631, 0x3869FEC7, 0x386A2737, 0x386A4F81, 0x386A77A4, 0x386A9FA0, 0x386AC776, 0x386AEF25, 0x386B16B1, 0x386B3E19, 0x386B6558, 0x386B8C76, 0x386BB36D, 0x386BDA41, 0x386C00F3, 0x386C277F, 0x386C4DE8, 0x386C742F, 0x386C9A53, 0x386CC053, 0x386CE632, 0x386D0BF0, 0x386D318A, 0x386D5703, 0x386D7C5B, 0x386DA190, 0x386DC6A6, 0x386DEB9C, 0x386E1070, 0x386E3526, 0x386E59B8, 0x386E7E2F, 0x386EA282, 0x386EC6B7, 0x386EEACE, 0x386F0EC6, 0x386F32A0, 0x386F565A, 0x386F79F5, 0x386F9D74, 0x386FC0D2, 0x386FE415, 0x3870073A, 0x38702A41, 0x38704D2C, 0x38706FF9, 0x387092A7, 0x3870B53D, 0x3870D7B2, 0x3870FA0E, 0x38711C4E, 0x38713E71, 0x38716078, 0x38718263, 0x3871A433, 0x3871C5EA, 0x3871E783, 0x38720903, 0x38722A68, 0x38724BB1, 0x38726CE2, 0x38728DF7, 0x3872AEF3, 0x3872CFD6, 0x3872F09E, 0x3873114E, 0x387331E2, 0x3873525D, 0x387372C2, 0x3873930B, 0x3873B33C, 0x3873D354, 0x3873F354, 0x3874133D, 0x3874330B, 0x387452C3, 0x38747262, 0x387491EB, 0x3874B15B, 0x3874D0B3, 0x3874EFF5, 0x38750F1E, 0x38752E31, 0x38754D2E, 0x38756C12, 0x38758AE3, 0x3875A998, 0x3875C83B, 0x3875E6C7, 0x3876053B, 0x3876239B, 0x387641E2, 0x38766017, 0x38767E35, 0x38769C3D, 0x3876BA30, 0x3876D80C, 0x3876F5D2, 0x38771386, 0x38773125, 0x38774EAD, 0x38776C23, 0x38778981, 0x3877A6CC, 0x3877C403, 0x3877E127, 0x3877FE36, 0x38781B2E, 0x38783816, 0x387854E7, 0x387871A6, 0x38788E51, 0x3878AAE9, 0x3878C76B, 0x3878E3DC, 0x3879003B, 0x38791C86, 0x387938BB, 0x387954DF, 0x387970F1, 0x38798CF2, 0x3879A8DC, 0x3879C4B7, 0x3879E07E, 0x3879FC32, 0x387A17D5, 0x387A3365, 0x387A4EE2, 0x387A6A4E, 0x387A85AA, 0x387AA0F3, 0x387ABC28, 0x387AD750, 0x387AF262, 0x387B0D66, 0x387B2856, 0x387B4336, 0x387B5E03, 0x387B78C3, 0x387B936F, 0x387BAE0A, 0x387BC895, 0x387BE310, 0x387BFD77, 0x387C17D0, 0x387C3219, 0x387C4C4F, 0x387C6677, 0x387C808F, 0x387C9A96, 0x387CB48C, 0x387CCE72, 0x387CE84B, 0x387D0210, 0x387D1BC7, 0x387D3571, 0x387D4F07, 0x387D688F, 0x387D8208, 0x387D9B72, 0x387DB4CC, 0x387DCE15, 0x387DE751, 0x387E007C, 0x387E1999, 0x387E32A9, 0x387E4BA8, 0x387E6497, 0x387E7D7A, 0x387E964B, 0x387EAF10, 0x387EC7C5, 0x387EE06C, 0x387EF906, 0x387F118F, 0x387F2A0A, 0x387F4278, 0x387F5AD7, 0x387F7329, 0x387F8B6E, 0x387FA3A1, 0x387FBBCA, 0x387FD3E2, 0x387FEBED, 0x388001F6, 0x38800DEE, 0x388019E0, 0x388025C9, 0x388031AE, 0x38803D8A, 0x38804960, 0x38805530, 0x388060F9, 0x38806CBC, 0x38807877, 0x3880842D, 0x38808FDB, 0x38809B83, 0x3880A725, 0x3880B2C1, 0x3880BE55, 0x3880C9E4, 0x3880D56D, 0x3880E0EE, 0x3880EC6A, 0x3880F7DF, 0x3881034E, 0x38810EB7, 0x38811A18, 0x38812576, 0x388130CB, 0x38813C1B, 0x38814766, 0x388152AA, 0x38815DE8, 0x3881691F, 0x38817452, 0x38817F7D, 0x38818AA4, 0x388195C4, 0x3881A0DE, 0x3881ABF2, 0x3881B702, 0x3881C20A, 0x3881CD0D, 0x3881D80A, 0x3881E301, 0x3881EDF3, 0x3881F8DF, 0x388203C5, 0x38820EA7, 0x38821982, 0x38822456, 0x38822F26, 0x388239F0, 0x388244B5, 0x38824F75, 0x38825A2E, 0x388264E2, 0x38826F91, 0x38827A3B, 0x388284DF, 0x38828F7D, 0x38829A16, 0x3882A4AA, 0x3882AF39, 0x3882B9C2, 0x3882C446, 0xBF800000, 0x00000000, 0x3904CF18, 0x3952814E, 0x3984D142, 0x399A3308, 0x39ABAB9C, 0x39BA713C, 0x39C73D1D, 0x39D286B3, 0x39DC9F96, 0x39E5C1F1, 0x39EE18BA, 0x39F5C48F, 0x39FCDED2, 0x3A01BDCD, 0x3A04D58F, 0x3A07BD4E, 0x3A0A7A8A, 0x3A0D11DA, 0x3A0F8725, 0x3A11DDBA, 0x3A141878, 0x3A1639D6, 0x3A1843FF, 0x3A1A38D8, 0x3A1C1A0A, 0x3A1DE916, 0x3A1FA749, 0x3A2155D6, 0x3A22F5C8, 0x3A24881A, 0x3A260DA4, 0x3A278732, 0x3A28F57B, 0x3A2A5927, 0x3A2BB2CD, 0x3A2D02FC, 0x3A2E4A33, 0x3A2F88EC, 0x3A30BF93, 0x3A31EE8D, 0x3A33163C, 0x3A3436F4, 0x3A35510C, 0x3A3664CA, 0x3A37727B, 0x3A387A60, 0x3A397CB5, 0x3A3A79B7, 0x3A3B719E, 0x3A3C649B, 0x3A3D52E0, 0x3A3E3C9D, 0x3A3F21FB, 0x3A400323, 0x3A40E03D, 0x3A41B96C, 0x3A428ED6, 0x3A43609B, 0x3A442ED8, 0x3A44F9AD, 0x3A45C136, 0x3A46858D, 0x3A4746CC, 0x3A48050D, 0x3A48C067, 0x3A4978EF, 0x3A4A2EBB, 0x3A4AE1E1, 0x3A4B9273, 0x3A4C4084, 0x3A4CEC26, 0x3A4D9569, 0x3A4E3C5E, 0x3A4EE116, 0x3A4F83A0, 0x3A50240B, 0x3A50C263, 0x3A515EB7, 0x3A51F914, 0x3A529186, 0x3A532819, 0x3A53BCD8, 0x3A544FD0, 0x3A54E10B, 0x3A557093, 0x3A55FE73, 0x3A568AB3, 0x3A57155E, 0x3A579E7C, 0x3A582615, 0x3A58AC35, 0x3A5930E0, 0x3A59B420, 0x3A5A35FD, 0x3A5AB67F, 0x3A5B35AB, 0x3A5BB389, 0x3A5C3021, 0x3A5CAB78, 0x3A5D2595, 0x3A5D9E7C, 0x3A5E1638, 0x3A5E8CCA, 0x3A5F023B, 0x3A5F768E, 0x3A5FE9CA, 0x3A605BF2, 0x3A60CD0F, 0x3A613D23, 0x3A61AC32, 0x3A621A45, 0x3A62875A, 0x3A62F37B, 0x3A635EAA, 0x3A63C8EB, 0x3A643244, 0x3A649AB7, 0x3A650247, 0x3A6568FB, 0x3A65CED3, 0x3A6633D6, 0x3A669804, 0x3A66FB64, 0x3A675DF8, 0x3A67BFC2, 0x3A6820C7, 0x3A688108, 0x3A68E08B, 0x3A693F50, 0x3A699D5C, 0x3A69FAB0, 0x3A6A5750, 0x3A6AB33E, 0x3A6B0E7E, 0x3A6B6910, 0x3A6BC2F9, 0x3A6C1C3C, 0x3A6C74D9, 0x3A6CCCD3, 0x3A6D242D, 0x3A6D7AEA, 0x3A6DD109, 0x3A6E2690, 0x3A6E7B7F, 0x3A6ECFD9, 0x3A6F23A0, 0x3A6F76D4, 0x3A6FC97A, 0x3A701B92, 0x3A706D1F, 0x3A70BE21, 0x3A710E9B, 0x3A715E91, 0x3A71AE01, 0x3A71FCEE, 0x3A724B5B, 0x3A729948, 0x3A72E6B6, 0x3A7333A8, 0x3A738021, 0x3A73CC1F, 0x3A7417A7, 0x3A7462B7, 0x3A74AD54, 0x3A74F77B, 0x3A754133, 0x3A758A78, 0x3A75D34F, 0x3A761BB9, 0x3A7663B4, 0x3A76AB44, 0x3A76F26C, 0x3A773929, 0x3A777F7E, 0x3A77C56D, 0x3A780AF7, 0x3A78501D, 0x3A7894DF, 0x3A78D940, 0x3A791D3F, 0x3A7960DD, 0x3A79A41F, 0x3A79E702, 0x3A7A2987, 0x3A7A6BB2, 0x3A7AAD81, 0x3A7AEEF6, 0x3A7B3013, 0x3A7B70D8, 0x3A7BB144, 0x3A7BF15D, 0x3A7C311F, 0x3A7C708C, 0x3A7CAFA8, 0x3A7CEE70, 0x3A7D2CE5, 0x3A7D6B0B, 0x3A7DA8DF, 0x3A7DE666, 0x3A7E239D, 0x3A7E6086, 0x3A7E9D23, 0x3A7ED972, 0x3A7F1578, 0x3A7F5132, 0x3A7F8CA0, 0x3A7FC7C8, 0x3A800153, 0x3A801E9E, 0x3A803BC5, 0x3A8058CA, 0x3A8075AA, 0x3A809269, 0x3A80AF05, 0x3A80CB7F, 0x3A80E7D8, 0x3A81040F, 0x3A812026, 0x3A813C1B, 0x3A8157F1, 0x3A8173A5, 0x3A818F3A, 0x3A81AAAF, 0x3A81C606, 0x3A81E13D, 0x3A81FC55, 0x3A82174F, 0x3A82322A, 0x3A824CE8, 0x3A826787, 0x3A82820A, 0x3A829C70, 0x3A82B6B8, 0x3A82D0E4, 0x3A82EAF3, 0x3A8304E6, 0x3A831EBF, 0x3A83387C, 0x3A835216, 0x3A836B9F, 0x3A838505, 0x3A839E52, 0x3A83B785, 0x3A83D0A7, 0x3A83E9A6, 0x3A84028C, 0x3A841B58, 0x3A84340A, 0x3A844CA3, 0x3A846521, 0x3A847D86, 0x3A8495D1, 0x3A84AE0B, 0x3A84C62B, 0x3A84DE29, 0x3A84F616, 0x3A850DF1, 0x3A8525AA, 0x3A853D52, 0x3A8554E0, 0x3A856C5D, 0x3A8583B8, 0x3A859B0A, 0x3A85B23A, 0x3A85C958, 0x3A85E05D, 0x3A85F750, 0x3A860E2A, 0x3A8624F3, 0x3A863BA1, 0x3A86523F, 0x3A8668C3, 0x3A867F36, 0x3A86958E, 0x3A86ABD6, 0x3A86C204, 0x3A86D821, 0x3A86EE2C, 0x3A870427, 0x3A871A08, 0x3A872FCE, 0x3A87458D, 0x3A875B31, 0x3A8770C5, 0x3A878647, 0x3A879BAF, 0x3A87B106, 0x3A87C64C, 0x3A87DB81, 0x3A87F0A5, 0x3A8805AF, 0x3A881AA7, 0x3A882F97, 0x3A88446E, 0x3A885933, 0x3A886DDE, 0x3A888281, 0x3A889713, 0x3A88AB93, 0x3A88BFFA, 0x3A88D458, 0x3A88E8A5, 0x3A88FCD8, 0x3A891103, 0x3A89251C, 0x3A89391C, 0x3A894D13, 0x3A8960F8, 0x3A8974CD, 0x3A898891, 0x3A899C43, 0x3A89AFED, 0x3A89C37D, 0x3A89D704, 0x3A89EA71, 0x3A89FDD6, 0x3A8A112A, 0x3A8A2475, 0x3A8A37A7, 0x3A8A4AD0, 0x3A8A5DE7, 0x3A8A70EE, 0x3A8A83E3, 0x3A8A96D0, 0x3A8AA9AB, 0x3A8ABC76, 0x3A8ACF38, 0x3A8AE1E8, 0x3A8AF488, 0x3A8B0716, 0x3A8B199B, 0x3A8B2C10, 0x3A8B3E73, 0x3A8B50CE, 0x3A8B6317, 0x3A8B7558, 0x3A8B8788, 0x3A8B99A7, 0x3A8BABBD, 0x3A8BBDC1, 0x3A8BCFBE, 0x3A8BE1A9, 0x3A8BF383, 0x3A8C0554, 0x3A8C171C, 0x3A8C28D4, 0x3A8C3A7A, 0x3A8C4C18, 0x3A8C5DA4, 0x3A8C6F28, 0x3A8C809B, 0x3A8C9205, 0x3A8CA367, 0x3A8CB4B7, 0x3A8CC5F7, 0x3A8CD72D, 0x3A8CE85B, 0x3A8CF978, 0x3A8D0A8C, 0x3A8D1B90, 0x3A8D2C8A, 0x3A8D3D7C, 0x3A8D4E5D, 0x3A8D5F35, 0x3A8D6FFC, 0x3A8D80BA, 0x3A8D9170, 0x3A8DA215, 0x3A8DB2B9, 0x3A8DC344, 0x3A8DD3CF, 0x3A8DE449, 0x3A8DF4B1, 0x3A8E0519, 0x3A8E1571, 0x3A8E25BF, 0x3A8E35FD, 0x3A8E4632, 0x3A8E565E, 0x3A8E6682, 0x3A8E769D, 0x3A8E86A7, 0x3A8E96A9, 0x3A8EA6A1, 0x3A8EB689, 0x3A8EC668, 0x3A8ED63F, 0x3A8EE60C, 0x3A8EF5D2, 0x3A8F0586, 0x3A8F1531, 0x3A8F24D4, 0x3A8F346E, 0x3A8F4400, 0x3A8F5381, 0x3A8F6301, 0x3A8F7271, 0x3A8F81D7, 0x3A8F9136, 0x3A8FA083, 0x3A8FAFD0, 0x3A8FBF14, 0x3A8FCE47, 0x3A8FDD72, 0x3A8FEC94, 0x3A8FFBAE, 0x3A900ABE, 0x3A9019C7, 0x3A9028BE, 0x3A9037B5, 0x3A9046A3, 0x3A905581, 0x3A906456, 0x3A90732A, 0x3A9081EE, 0x3A9090A9, 0x3A909F5B, 0x3A90AE05, 0x3A90BCA6, 0x3A90CB3F, 0x3A90D9CF, 0x3A90E856, 0x3A90F6D5, 0x3A91054B, 0x3A9113B9, 0x3A91221E, 0x3A91307B, 0x3A913ECF, 0x3A914D11, 0x3A915B54, 0x3A91698E, 0x3A9177C0, 0x3A9185E9, 0x3A919409, 0x3A91A221, 0x3A91B030, 0x3A91BE37, 0x3A91CC35, 0x3A91DA33, 0x3A91E81F, 0x3A91F604, 0x3A9203E8, 0x3A9211BB, 0x3A921F8E, 0x3A922D50, 0x3A923B12, 0x3A9248CB, 0x3A925673, 0x3A92641B, 0x3A9271BB, 0x3A927F52, 0x3A928CE9, 0x3A929A6E, 0x3A92A7F4, 0x3A92B569, 0x3A92C2DD, 0x3A92D049, 0x3A92DDAD, 0x3A92EB07, 0x3A92F85A, 0x3A9305A3, 0x3A9312ED, 0x3A932025, 0x3A932D5E, 0x3A933A8D, 0x3A9347B5, 0x3A9354DC, 0x3A9361F2, 0x3A936F08, 0x3A937C0D, 0x3A938912, 0x3A93960E, 0x3A93A30B, 0x3A93AFF6, 0x3A93BCE1, 0x3A93C9C3, 0x3A93D69D, 0x3A93E36F, 0x3A93F040, 0x3A93FD00, 0x3A9409C0, 0x3A941678, 0x3A94232F, 0x3A942FD6, 0x3A943C7C, 0x3A94491A, 0x3A9455AF, 0x3A946245, 0x3A946EC9, 0x3A947B4D, 0x3A9487D1, 0x3A949444, 0x3A94A0B6, 0x3A94AD21, 0x3A94B982, 0x3A94C5DB, 0x3A94D235, 0x3A94DE85, 0x3A94EACD, 0x3A94F70C, 0x3A95034C, 0x3A950F82, 0x3A951BB9, 0x3A9527DF, 0x3A953404, 0x3A954021, 0x3A954C3E, 0x3A95584A, 0x3A956456, 0x3A957062, 0xBF800000, 0x00000000, 0x391AC8FE, 0x397556DD, 0x399ACBEF, 0x39B3B7B1, 0x39C8148F, 0x39D94C26, 0x39E83648, 0x39F55E35, 0x3A00917F, 0x3A05E437, 0x3A0AC050, 0x3A0F38C9, 0x3A135C6E, 0x3A1736F1, 0x3A1AD1C7, 0x3A1E34AA, 0x3A2165FD, 0x3A246B1F, 0x3A27489A, 0x3A2A024B, 0x3A2C9B88, 0x3A2F1731, 0x3A3177CF, 0x3A33BF93, 0x3A35F073, 0x3A380C29, 0x3A3A143F, 0x3A3C0A15, 0x3A3DEEE9, 0x3A3FC3D7, 0x3A4189E1, 0x3A4341F3, 0x3A44ECE4, 0x3A468B73, 0x3A481E56, 0x3A49A62F, 0x3A4B2396, 0x3A4C9714, 0x3A4E012C, 0x3A4F6253, 0x3A50BAF8, 0x3A520B80, 0x3A53544D, 0x3A5495B6, 0x3A55D010, 0x3A5703A6, 0x3A5830C4, 0x3A5957AC, 0x3A5A789F, 0x3A5B93D9, 0x3A5CA994, 0x3A5DBA05, 0x3A5EC55E, 0x3A5FCBCF, 0x3A60CD87, 0x3A61CAAF, 0x3A62C371, 0x3A63B7F1, 0x3A64A856, 0x3A6594C1, 0x3A667D56, 0x3A676230, 0x3A684371, 0x3A692134, 0x3A69FB95, 0x3A6AD2AC, 0x3A6BA695, 0x3A6C7765, 0x3A6D4535, 0x3A6E1019, 0x3A6ED826, 0x3A6F9D73, 0x3A70600F, 0x3A71200E, 0x3A71DD84, 0x3A72987F, 0x3A735111, 0x3A740749, 0x3A74BB36, 0x3A756CE7, 0x3A761C69, 0x3A76C9CB, 0x3A77751A, 0x3A781E63, 0x3A78C5B0, 0x3A796B0F, 0x3A7A0E8B, 0x3A7AB02C, 0x3A7B5000, 0x3A7BEE10, 0x3A7C8A64, 0x3A7D2509, 0x3A7DBE06, 0x3A7E5565, 0x3A7EEB2F, 0x3A7F7F6B, 0x3A800911, 0x3A8051AE, 0x3A809990, 0x3A80E0BB, 0x3A812733, 0x3A816CFA, 0x3A81B215, 0x3A81F687, 0x3A823A53, 0x3A827D7C, 0x3A82C005, 0x3A8301F1, 0x3A834341, 0x3A8383FB, 0x3A83C423, 0x3A8403B9, 0x3A8442BD, 0x3A848137, 0x3A84BF20, 0x3A84FC87, 0x3A853965, 0x3A8575C3, 0x3A85B19F, 0x3A85ECFB, 0x3A8627D5, 0x3A866238, 0x3A869C22, 0x3A86D59D, 0x3A870E96, 0x3A874720, 0x3A877F3B, 0x3A87B6E5, 0x3A87EE21, 0x3A8824F4, 0x3A885B59, 0x3A889156, 0x3A88C6E3, 0x3A88FC13, 0x3A8930DB, 0x3A896544, 0x3A899946, 0x3A89CCF3, 0x3A8A0038, 0x3A8A331F, 0x3A8A65A8, 0x3A8A97DA, 0x3A8AC9B7, 0x3A8AFB35, 0x3A8B2C5D, 0x3A8B5D30, 0x3A8B8DB5, 0x3A8BBDDB, 0x3A8BEDB4, 0x3A8C1D40, 0x3A8C4C76, 0x3A8C7B5F, 0x3A8CA9F2, 0x3A8CD840, 0x3A8D0641, 0x3A8D33F4, 0x3A8D6163, 0x3A8D8E85, 0x3A8DBB59, 0x3A8DE7E8, 0x3A8E1433, 0x3A8E4039, 0x3A8E6BFA, 0x3A8E9777, 0x3A8EC2AF, 0x3A8EEDAA, 0x3A8F1859, 0x3A8F42CB, 0x3A8F6D01, 0x3A8F96F3, 0x3A8FC0A8, 0x3A8FEA21, 0x3A90135E, 0x3A903C5F, 0x3A90651B, 0x3A908DA4, 0x3A90B5F0, 0x3A90DE09, 0x3A9105DD, 0x3A912D7E, 0x3A9154EB, 0x3A917C1C, 0x3A91A31A, 0x3A91C9DB, 0x3A91F069, 0x3A9216CC, 0x3A923CF3, 0x3A9262DD, 0x3A92889D, 0x3A92AE32, 0x3A92D38A, 0x3A92F8AF, 0x3A931DAA, 0x3A934270, 0x3A93670C, 0x3A938B6B, 0x3A93AFA8, 0x3A93D3B2, 0x3A93F791, 0x3A941B3C, 0x3A943EBC, 0x3A946211, 0x3A948533, 0x3A94A832, 0x3A94CAFE, 0x3A94EDA7, 0x3A95101D, 0x3A953268, 0x3A955490, 0x3A95768E, 0x3A959861, 0x3A95BA08, 0x3A95DB8E, 0x3A95FCE8, 0x3A961E18, 0x3A963F25, 0x3A966007, 0x3A9680BE, 0x3A96A15B, 0x3A96C1CE, 0x3A96E215, 0x3A97023B, 0x3A97223D, 0x3A97421E, 0x3A9761D3, 0x3A978166, 0x3A97A0E0, 0x3A97C02E, 0x3A97DF52, 0x3A97FE5B, 0x3A981D43, 0x3A983C08, 0x3A985AAA, 0x3A98792B, 0x3A989791, 0x3A98B5CD, 0x3A98D3EE, 0x3A98F1EE, 0x3A990FCB, 0x3A992D85, 0x3A994B26, 0x3A9968A5, 0x3A99860A, 0x3A99A34C, 0x3A99C06C, 0x3A99DD72, 0x3A99FA5F, 0x3A9A1729, 0x3A9A33D1, 0x3A9A505F, 0x3A9A6CD3, 0x3A9A8925, 0x3A9AA55D, 0x3A9AC17C, 0x3A9ADD78, 0x3A9AF962, 0x3A9B152B, 0x3A9B30D1, 0x3A9B4C66, 0x3A9B67D9, 0x3A9B833A, 0x3A9B9E79, 0x3A9BB99E, 0x3A9BD4AA, 0x3A9BEF9B, 0x3A9C0A73, 0x3A9C2532, 0x3A9C3FD6, 0x3A9C5A61, 0x3A9C74D1, 0x3A9C8F31, 0x3A9CA96E, 0x3A9CC39B, 0x3A9CDDA4, 0x3A9CF79D, 0x3A9D117C, 0x3A9D2B41, 0x3A9D44F5, 0x3A9D5E8F, 0x3A9D780F, 0x3A9D9176, 0x3A9DAACB, 0x3A9DC407, 0x3A9DDD29, 0x3A9DF639, 0x3A9E0F30, 0x3A9E2816, 0x3A9E40E2, 0x3A9E5994, 0x3A9E7235, 0x3A9E8AC5, 0x3A9EA33B, 0x3A9EBB97, 0x3A9ED3E3, 0x3A9EEC1C, 0x3A9F043D, 0x3A9F1C43, 0x3A9F3441, 0x3A9F4C1C, 0x3A9F63EF, 0x3A9F7BA8, 0x3A9F9350, 0x3A9FAADE, 0x3A9FC264, 0x3A9FD9C7, 0x3A9FF122, 0x3AA00862, 0x3AA01F9B, 0x3AA036B1, 0x3AA04DBE, 0x3AA064BA, 0x3AA07B9C, 0x3AA0926D, 0x3AA0A92D, 0x3AA0BFDC, 0x3AA0D671, 0x3AA0ECFE, 0x3AA10370, 0x3AA119D2, 0x3AA1302B, 0x3AA1466A, 0x3AA15C98, 0x3AA172B5, 0x3AA188C0, 0x3AA19EBB, 0x3AA1B4A4, 0x3AA1CA7C, 0x3AA1E043, 0x3AA1F5F8, 0x3AA20B9D, 0x3AA22139, 0x3AA236BB, 0x3AA24C2C, 0x3AA26194, 0x3AA276E3, 0x3AA28C29, 0x3AA2A155, 0x3AA2B679, 0x3AA2CB8B, 0x3AA2E08D, 0x3AA2F585, 0x3AA30A64, 0x3AA31F3B, 0x3AA33400, 0x3AA348B4, 0x3AA35D57, 0x3AA371F1, 0x3AA3867A, 0x3AA39AF2, 0x3AA3AF58, 0x3AA3C3B6, 0x3AA3D803, 0x3AA3EC3F, 0x3AA4006A, 0x3AA4148C, 0x3AA4289C, 0x3AA43C9C, 0x3AA45093, 0x3AA46479, 0x3AA47856, 0x3AA48C1A, 0x3AA49FDD, 0x3AA4B387, 0x3AA4C728, 0x3AA4DAB8, 0x3AA4EE3F, 0x3AA501B5, 0x3AA51523, 0x3AA5287F, 0x3AA53BD3, 0x3AA54F0D, 0x3AA56247, 0x3AA57570, 0x3AA58888, 0x3AA59B97, 0x3AA5AE95, 0x3AA5C18A, 0x3AA5D46E, 0x3AA5E74A, 0x3AA5FA1D, 0x3AA60CD6, 0x3AA61F8F, 0x3AA63237, 0x3AA644CE, 0x3AA6575C, 0x3AA669E2, 0x3AA67C56, 0x3AA68EC2, 0x3AA6A125, 0x3AA6B377, 0x3AA6C5B8, 0x3AA6D7F1, 0x3AA6EA20, 0x3AA6FC47, 0x3AA70E5D, 0x3AA7206B, 0x3AA73267, 0x3AA7445B, 0x3AA75646, 0x3AA76820, 0x3AA779F1, 0x3AA78BB9, 0x3AA79D71, 0x3AA7AF28, 0x3AA7C0C6, 0x3AA7D264, 0x3AA7E3F0, 0x3AA7F574, 0x3AA806F0, 0x3AA8185A, 0x3AA829BB, 0x3AA83B14, 0x3AA84C65, 0x3AA85DA4, 0x3AA86EDB, 0x3AA88009, 0x3AA8912E, 0x3AA8A24B, 0x3AA8B357, 0x3AA8C45A, 0x3AA8D554, 0x3AA8E63E, 0x3AA8F727, 0x3AA907FF, 0x3AA918CF, 0x3AA92996, 0x3AA93A54, 0x3AA94B0A, 0x3AA95BAE, 0x3AA96C4B, 0x3AA97CDE, 0x3AA98D69, 0x3AA99DEB, 0x3AA9AE65, 0x3AA9BED6, 0x3AA9CF36, 0x3AA9DF96, 0x3AA9EFE4, 0x3AAA002A, 0x3AAA1068, 0x3AAA209D, 0x3AAA30C9, 0x3AAA40ED, 0x3AAA50FF, 0x3AAA6112, 0x3AAA7113, 0x3AAA8115, 0x3AAA9105, 0x3AAAA0F5, 0x3AAAB0D4, 0x3AAAC0AB, 0x3AAAD079, 0x3AAAE047, 0x3AAAF003, 0x3AAAFFB7, 0x3AAB0F63, 0x3AAB1F06, 0x3AAB2EA0, 0x3AAB3E32, 0x3AAB4DBB, 0x3AAB5D3B, 0x3AAB6CB3, 0x3AAB7C23, 0x3AAB8B8A, 0x3AAB9AE8, 0x3AABAA3D, 0x3AABB993, 0x3AABC8D7, 0x3AABD813, 0x3AABE746, 0x3AABF671, 0x3AAC059C, 0x3AAC14B5, 0x3AAC23C6, 0x3AAC32D7, 0x3AAC41D7, 0x3AAC50D6, 0x3AAC5FC5, 0x3AAC6EB3, 0x3AAC7D99, 0x3AAC8C77, 0x3AAC9B4B, 0x3AACAA18, 0x3AACB8DB, 0x3AACC796, 0x3AACD649, 0x3AACE4F2, 0x3AACF39C, 0x3AAD023D, 0x3AAD10CD, 0x3AAD1F5D, 0x3AAD2DE5, 0x3AAD3C64, 0x3AAD4ADA, 0x3AAD5950, 0x3AAD67B5, 0x3AAD761A, 0x3AAD846E, 0x3AAD92C2, 0x3AADA10E, 0x3AADAF59, 0x3AADBD93, 0x3AADCBC4, 0x3AADD9F6, 0x3AADE81F, 0x3AADF63F, 0x3AAE0457, 0x3AAE1266, 0x3AAE2075, 0x3AAE2E7C, 0xBF800000, 0x00000000, 0x39396DD5, 0x3992F4E5, 0x39B97208, 0x39D74D35, 0x39EFB277, 0x3A02297E, 0x3A0B18AB, 0x3A12FA2B, 0x3A1A06EF, 0x3A206796, 0x3A263A1D, 0x3A2B954B, 0x3A308AD7, 0x3A3528C6, 0x3A397A6C, 0x3A3D890A, 0x3A415C47, 0x3A44FA95, 0x3A48695D, 0x3A4BAD47, 0x3A4ECA4E, 0x3A51C3E9, 0x3A549D18, 0x3A575886, 0x3A59F886, 0x3A5C7F2A, 0x3A5EEE4A, 0x3A61478D, 0x3A638C6F, 0x3A65BE47, 0x3A67DE46, 0x3A69ED8B, 0x3A6BED12, 0x3A6DDDC7, 0x3A6FC07E, 0x3A7195FB, 0x3A735EF3, 0x3A751C0E, 0x3A76CDE5, 0x3A787506, 0x3A7A11F5, 0x3A7BA52D, 0x3A7D2F20, 0x3A7EB039, 0x3A80146E, 0x3A80CCB3, 0x3A818117, 0x3A8231C3, 0x3A82DEDE, 0x3A83888B, 0x3A842EF1, 0x3A84D226, 0x3A85724E, 0x3A860F8A, 0x3A86A9ED, 0x3A874197, 0x3A87D69B, 0x3A886912, 0x3A88F916, 0x3A8986B8, 0x3A8A1212, 0x3A8A9B2D, 0x3A8B2221, 0x3A8BA6F9, 0x3A8C29CD, 0x3A8CAAA6, 0x3A8D299F, 0x3A8DA6B6, 0x3A8E21FD, 0x3A8E9B8F, 0x3A8F136A, 0x3A8F8998, 0x3A8FFE32, 0x3A907138, 0x3A90E2B3, 0x3A9152BD, 0x3A91C14D, 0x3A922E7C, 0x3A929A43, 0x3A9304BB, 0x3A936DDB, 0x3A93D5BE, 0x3A943C5A, 0x3A94A1C9, 0x3A950603, 0x3A956911, 0x3A95CB03, 0x3A962BDA, 0x3A968B9D, 0x3A96EA4E, 0x3A9747F4, 0x3A97A499, 0x3A980045, 0x3A985AEF, 0x3A98B4B1, 0x3A990D7A, 0x3A996564, 0x3A99BC65, 0x3A9A1288, 0x3A9A67CB, 0x3A9ABC37, 0x3A9B0FD5, 0x3A9B62A5, 0x3A9BB4A7, 0x3A9C05E3, 0x3A9C565A, 0x3A9CA613, 0x3A9CF510, 0x3A9D4350, 0x3A9D90E4, 0x3A9DDDBB, 0x3A9E29EF, 0x3A9E756E, 0x3A9EC04A, 0x3A9F0A7A, 0x3A9F5410, 0x3A9F9CFA, 0x3A9FE552, 0x3AA02D07, 0x3AA07429, 0x3AA0BAB1, 0x3AA100A7, 0x3AA1460B, 0x3AA18AE6, 0x3AA1CF2E, 0x3AA212ED, 0x3AA25623, 0x3AA298D8, 0x3AA2DB03, 0x3AA31CAE, 0x3AA35DE0, 0x3AA39E91, 0x3AA3DEC2, 0x3AA41E7A, 0x3AA45DBA, 0x3AA49C82, 0x3AA4DADA, 0x3AA518BA, 0x3AA5562A, 0x3AA5932B, 0x3AA5CFBB, 0x3AA60BE5, 0x3AA6479F, 0x3AA682EA, 0x3AA6BDD6, 0x3AA6F852, 0x3AA73270, 0x3AA76C26, 0x3AA7A57F, 0x3AA7DE70, 0x3AA81702, 0x3AA84F36, 0x3AA8870C, 0x3AA8BE83, 0x3AA8F5A4, 0x3AA92C67, 0x3AA962D4, 0x3AA998E3, 0x3AA9CEA4, 0x3AAA0406, 0x3AAA391B, 0x3AAA6DDB, 0x3AAAA244, 0x3AAAD660, 0x3AAB0A27, 0x3AAB3DA0, 0x3AAB70CB, 0x3AABA3AA, 0x3AABD63B, 0x3AAC087E, 0x3AAC3A7D, 0x3AAC6C2F, 0x3AAC9D94, 0x3AACCEB3, 0x3AACFF86, 0x3AAD301C, 0x3AAD6065, 0x3AAD9069, 0x3AADC028, 0x3AADEFA3, 0x3AAE1ED9, 0x3AAE4DD3, 0x3AAE7C88, 0x3AAEAB01, 0x3AAED936, 0x3AAF0725, 0x3AAF34E1, 0x3AAF6259, 0x3AAF8F94, 0x3AAFBC93, 0x3AAFE956, 0x3AB015DD, 0x3AB04228, 0x3AB06E36, 0x3AB09A11, 0x3AB0C5B0, 0x3AB0F113, 0x3AB11C42, 0x3AB14735, 0x3AB171F5, 0x3AB19C81, 0x3AB1C6D9, 0x3AB1F0F6, 0x3AB21ADF, 0x3AB24494, 0x3AB26E16, 0x3AB29764, 0x3AB2C07F, 0x3AB2E96E, 0x3AB31222, 0x3AB33AAA, 0x3AB36300, 0x3AB38B2A, 0x3AB3B320, 0x3AB3DAE3, 0x3AB4027C, 0x3AB429E0, 0x3AB45122, 0x3AB47828, 0x3AB49F0C, 0x3AB4C5BC, 0x3AB4EC42, 0x3AB5129C, 0x3AB538CB, 0x3AB55ED0, 0x3AB584A9, 0x3AB5AA58, 0x3AB5CFDB, 0x3AB5F534, 0x3AB61A61, 0x3AB63F6D, 0x3AB66444, 0x3AB688FA, 0x3AB6AD8D, 0x3AB6D1EC, 0x3AB6F632, 0x3AB71A44, 0x3AB73E34, 0x3AB76201, 0x3AB785A4, 0x3AB7A924, 0x3AB7CC79, 0x3AB7EFB5, 0x3AB812BD, 0x3AB835AB, 0x3AB8586E, 0x3AB87B0F, 0x3AB89D96, 0x3AB8BFE9, 0x3AB8E223, 0x3AB9043A, 0x3AB9262F, 0x3AB947FA, 0x3AB969AA, 0x3AB98B38, 0x3AB9ACA3, 0x3AB9CDED, 0x3AB9EF13, 0x3ABA1020, 0x3ABA310B, 0x3ABA51CB, 0x3ABA727A, 0x3ABA92FD, 0x3ABAB367, 0x3ABAD3AF, 0x3ABAF3DC, 0x3ABB13E8, 0x3ABB33D1, 0x3ABB53A0, 0x3ABB7356, 0x3ABB92E9, 0x3ABBB259, 0x3ABBD1B0, 0x3ABBF0EE, 0x3ABC1009, 0x3ABC2F0A, 0x3ABC4DF1, 0x3ABC6CB6, 0x3ABC8B61, 0x3ABCA9F3, 0x3ABCC862, 0x3ABCE6C0, 0x3ABD04FB, 0x3ABD231D, 0x3ABD411C, 0x3ABD5F0A, 0x3ABD7CDF, 0x3ABD9A91, 0x3ABDB832, 0x3ABDD5B0, 0x3ABDF31E, 0x3ABE1069, 0x3ABE2D9A, 0x3ABE4ABA, 0x3ABE67B8, 0x3ABE84A4, 0x3ABEA177, 0x3ABEBE30, 0x3ABEDACF, 0x3ABEF755, 0x3ABF13C0, 0x3ABF301B, 0x3ABF4C53, 0x3ABF687A, 0x3ABF8490, 0x3ABFA083, 0x3ABFBC65, 0x3ABFD82E, 0x3ABFF3E5, 0x3AC00F7A, 0x3AC02B06, 0x3AC04670, 0x3AC061C9, 0x3AC07D08, 0x3AC09836, 0x3AC0B34A, 0x3AC0CE4D, 0x3AC0E936, 0x3AC1040E, 0x3AC11ECC, 0x3AC13971, 0x3AC1540D, 0x3AC16E86, 0x3AC188F7, 0x3AC1A34E, 0x3AC1BD8B, 0x3AC1D7B7, 0x3AC1F1D2, 0x3AC20BD4, 0x3AC225C4, 0x3AC23FA2, 0x3AC25968, 0x3AC2731B, 0x3AC28CBE, 0x3AC2A650, 0x3AC2BFC7, 0x3AC2D92E, 0x3AC2F27B, 0x3AC30BBF, 0x3AC324E9, 0x3AC33E03, 0x3AC3570B, 0x3AC37002, 0x3AC388E8, 0x3AC3A1B3, 0x3AC3BA77, 0x3AC3D320, 0x3AC3EBB9, 0x3AC40440, 0x3AC41CB6, 0x3AC4351B, 0x3AC44D66, 0x3AC465A9, 0x3AC47DDA, 0x3AC495F2, 0x3AC4AE01, 0x3AC4C5FE, 0x3AC4DDE2, 0x3AC4F5BE, 0x3AC50D88, 0x3AC52539, 0x3AC53CE1, 0x3AC55477, 0x3AC56BFD, 0x3AC58371, 0x3AC59AD4, 0x3AC5B226, 0x3AC5C970, 0x3AC5E09F, 0x3AC5F7C6, 0x3AC60ED4, 0x3AC625D8, 0x3AC63CCC, 0x3AC653B7, 0x3AC66A88, 0x3AC68151, 0x3AC697FF, 0x3AC6AEA6, 0x3AC6C543, 0x3AC6DBC7, 0x3AC6F242, 0x3AC708AC, 0x3AC71F05, 0x3AC7354D, 0x3AC74B8C, 0x3AC761BA, 0x3AC777D7, 0x3AC78DEB, 0x3AC7A3EE, 0x3AC7B9E0, 0x3AC7CFC9, 0x3AC7E5A1, 0x3AC7FB68, 0x3AC81126, 0x3AC826D3, 0x3AC83C6F, 0x3AC85203, 0x3AC86785, 0x3AC87CF6, 0x3AC8925E, 0x3AC8A7BE, 0x3AC8BD0C, 0x3AC8D24A, 0x3AC8E776, 0x3AC8FC9A, 0x3AC911B5, 0x3AC926BF, 0x3AC93BB7, 0x3AC950A8, 0x3AC9658F, 0x3AC97A65, 0x3AC98F2B, 0x3AC9A3E7, 0x3AC9B893, 0x3AC9CD35, 0x3AC9E1D0, 0x3AC9F659, 0x3ACA0AD1, 0x3ACA1F40, 0x3ACA33A7, 0x3ACA47FC, 0x3ACA5C49, 0x3ACA7085, 0x3ACA84B8, 0x3ACA98DA, 0x3ACAACF3, 0x3ACAC104, 0x3ACAD504, 0x3ACAE8FB, 0x3ACAFCE9, 0x3ACB10C6, 0x3ACB2492, 0x3ACB385E, 0x3ACB4C19, 0x3ACB5FC3, 0x3ACB736D, 0x3ACB8705, 0x3ACB9A8C, 0x3ACBAE14, 0x3ACBC18A, 0x3ACBD4F8, 0x3ACBE854, 0x3ACBFBA8, 0x3ACC0EF3, 0x3ACC222D, 0x3ACC3567, 0x3ACC4890, 0x3ACC5BA8, 0x3ACC6EBF, 0x3ACC81C6, 0x3ACC94C4, 0x3ACCA7B0, 0x3ACCBA9D, 0x3ACCCD79, 0x3ACCE04C, 0x3ACCF30D, 0x3ACD05CF, 0x3ACD1880, 0x3ACD2B28, 0x3ACD3DC7, 0x3ACD505E, 0x3ACD62E4, 0x3ACD7561, 0x3ACD87D5, 0x3ACD9A41, 0x3ACDACA4, 0x3ACDBEFF, 0x3ACDD148, 0x3ACDE389, 0x3ACDF5C2, 0x3ACE07F1, 0x3ACE1A19, 0x3ACE2C2F, 0x3ACE3E45, 0x3ACE5049, 0x3ACE6246, 0x3ACE7439, 0x3ACE8624, 0x3ACE9807, 0x3ACEA9E0, 0x3ACEBBB2, 0x3ACECD72, 0x3ACEDF32, 0x3ACEF0E1, 0x3ACF0287, 0x3ACF142D, 0x3ACF25C3, 0x3ACF374F, 0x3ACF48D3, 0x3ACF5A4E, 0x3ACF6BB9, 0x3ACF7D23, 0x3ACF8E84, 0x3ACF9FDD, 0x3ACFB125, 0x3ACFC26D, 0x3ACFD3A4, 0x3ACFE4DA, 0x3ACFF608, 0x3AD00725, 0x3AD01842, 0x3AD0294E, 0x3AD03A51, 0x3AD04B54, 0x3AD05C46, 0x3AD06D38, 0x3AD07E18, 0x3AD08EF9, 0x3AD09FC9, 0x3AD0B098, 0xBF800000, 0x00000000, 0x3967339A, 0x39B73C13, 0x39E73A1D, 0x3A063A58, 0x3A15701D, 0x3A224C6B, 0x3A2D707C, 0x3A374447, 0x3A400ED0, 0x3A4802BE, 0x3A4F4571, 0x3A55F356, 0x3A5C227B, 0x3A61E465, 0x3A67472C, 0x3A6C565C, 0x3A711B86, 0x3A759EAA, 0x3A79E68F, 0x3A7DF8FD, 0x3A80ED77, 0x3A82C859, 0x3A848F02, 0x3A864326, 0x3A87E624, 0x3A89795D, 0x3A8AFDE4, 0x3A8C74D4, 0x3A8DDF04, 0x3A8F3D5B, 0x3A90908F, 0x3A91D953, 0x3A93184B, 0x3A944E09, 0x3A957B05, 0x3A969FC8, 0x3A97BCB9, 0x3A98D241, 0x3A99E0C5, 0x3A9AE89C, 0x3A9BEA1B, 0x3A9CE587, 0x3A9DDB2E, 0x3A9ECB54, 0x3A9FB62D, 0x3AA09BFE, 0x3AA17CF0, 0x3AA2594B, 0x3AA3312E, 0x3AA404C6, 0x3AA4D446, 0x3AA59FD1, 0x3AA66791, 0x3AA72BA8, 0x3AA7EC32, 0x3AA8A957, 0x3AA96333, 0x3AAA19DE, 0x3AAACD7C, 0x3AAB7E1E, 0x3AAC2BE5, 0x3AACD6E3, 0x3AAD7F2A, 0x3AAE24DB, 0x3AAEC808, 0x3AAF68B9, 0x3AB00711, 0x3AB0A30F, 0x3AB13CD7, 0x3AB1D470, 0x3AB269E4, 0x3AB2FD54, 0x3AB38EB8, 0x3AB41E2A, 0x3AB4ABBB, 0x3AB5376B, 0x3AB5C154, 0x3AB6497E, 0x3AB6CFE9, 0x3AB754AF, 0x3AB7D7D1, 0x3AB8595E, 0x3AB8D958, 0x3AB957D9, 0x3AB9D4D6, 0x3ABA506B, 0x3ABACA8E, 0x3ABB4351, 0x3ABBBABD, 0x3ABC30D9, 0x3ABCA5A7, 0x3ABD192E, 0x3ABD8B80, 0x3ABDFC9D, 0x3ABE6C84, 0x3ABEDB48, 0x3ABF48E7, 0x3ABFB56B, 0x3AC020D3, 0x3AC08B31, 0x3AC0F47C, 0x3AC15CC6, 0x3AC1C405, 0x3AC22A4B, 0x3AC28FA1, 0x3AC2F3FD, 0x3AC35769, 0x3AC3B9ED, 0x3AC41B8A, 0x3AC47C46, 0x3AC4DC24, 0x3AC53B22, 0x3AC59952, 0x3AC5F6AB, 0x3AC65336, 0x3AC6AEF3, 0x3AC709EA, 0x3AC7641C, 0x3AC7BD91, 0x3AC81649, 0x3AC86E3B, 0x3AC8C581, 0x3AC91C0B, 0x3AC971E8, 0x3AC9C711, 0x3ACA1B98, 0x3ACA6F69, 0x3ACAC298, 0x3ACB1523, 0x3ACB670B, 0x3ACBB858, 0x3ACC0903, 0x3ACC5912, 0x3ACCA890, 0x3ACCF773, 0x3ACD45BB, 0x3ACD937A, 0x3ACDE0A7, 0x3ACE2D4A, 0x3ACE795B, 0x3ACEC4EC, 0x3ACF0FEA, 0x3ACF5A68, 0x3ACFA465, 0x3ACFEDE1, 0x3AD036D3, 0x3AD07F4E, 0x3AD0C747, 0x3AD10EC8, 0x3AD155D1, 0x3AD19C62, 0x3AD1E27A, 0x3AD2281A, 0x3AD26D4B, 0x3AD2B20B, 0x3AD2F65D, 0x3AD33A35, 0x3AD37DA7, 0x3AD3C0B2, 0x3AD4034D, 0x3AD44578, 0x3AD48745, 0x3AD4C8A2, 0x3AD509A1, 0x3AD54A39, 0x3AD58A69, 0x3AD5CA3B, 0x3AD609AF, 0x3AD648C4, 0x3AD68772, 0x3AD6C5CA, 0x3AD703C4, 0x3AD7415F, 0x3AD77EA4, 0x3AD7BB8B, 0x3AD7F81B, 0x3AD83456, 0x3AD8703B, 0x3AD8ABCB, 0x3AD8E704, 0x3AD921E7, 0x3AD95C7D, 0x3AD996BD, 0x3AD9D0B0, 0x3ADA0A4D, 0x3ADA43A5, 0x3ADA7CA8, 0x3ADAB55D, 0x3ADAEDC4, 0x3ADB25E7, 0x3ADB5DB4, 0x3ADB953D, 0x3ADBCC80, 0x3ADC0377, 0x3ADC3A28, 0x3ADC708C, 0x3ADCA6AC, 0x3ADCDC87, 0x3ADD121D, 0x3ADD476E, 0x3ADD7C7B, 0x3ADDB14C, 0x3ADDE5CF, 0x3ADE1A16, 0x3ADE4E21, 0x3ADE81E7, 0x3ADEB569, 0x3ADEE8AE, 0x3ADF1BB7, 0x3ADF4E85, 0x3ADF810D, 0x3ADFB359, 0x3ADFE572, 0x3AE01746, 0x3AE048E7, 0x3AE07A43, 0x3AE0AB6B, 0x3AE0DC57, 0x3AE10D0F, 0x3AE13D8C, 0x3AE16DCC, 0x3AE19DD9, 0x3AE1CDB2, 0x3AE1FD4F, 0x3AE22CB9, 0x3AE25BEF, 0x3AE28AE9, 0x3AE2B9AF, 0x3AE2E84B, 0x3AE316AA, 0x3AE344D6, 0x3AE372D7, 0x3AE3A09B, 0x3AE3CE35, 0x3AE3FB9B, 0x3AE428CE, 0x3AE455D5, 0x3AE482AA, 0x3AE4AF4A, 0x3AE4DBC0, 0x3AE50802, 0x3AE53419, 0x3AE56005, 0x3AE58BBE, 0x3AE5B74C, 0x3AE5E2A6, 0x3AE60DDE, 0x3AE638E2, 0x3AE663BC, 0x3AE68E6A, 0x3AE6B8ED, 0x3AE6E346, 0x3AE70D73, 0x3AE73776, 0x3AE7614E, 0x3AE78AFA, 0x3AE7B47C, 0x3AE7DDDB, 0x3AE80710, 0x3AE83019, 0x3AE858F8, 0x3AE881B4, 0x3AE8AA45, 0x3AE8D2B4, 0x3AE8FAF8, 0x3AE9231A, 0x3AE94B10, 0x3AE972E5, 0x3AE99A8E, 0x3AE9C215, 0x3AE9E971, 0x3AEA10B3, 0x3AEA37CA, 0x3AEA5EBF, 0x3AEA8589, 0x3AEAAC39, 0x3AEAD2BF, 0x3AEAF922, 0x3AEB1F62, 0x3AEB4580, 0x3AEB6B7C, 0x3AEB9155, 0x3AEBB70D, 0x3AEBDCA1, 0x3AEC0214, 0x3AEC2764, 0x3AEC4C91, 0x3AEC71A5, 0x3AEC968E, 0x3AECBB5D, 0x3AECE00A, 0x3AED049D, 0x3AED2905, 0x3AED4D53, 0x3AED7188, 0x3AED9592, 0x3AEDB981, 0x3AEDDD57, 0x3AEE010B, 0x3AEE249C, 0x3AEE4814, 0x3AEE6B69, 0x3AEE8EA5, 0x3AEEB1C6, 0x3AEED4C6, 0x3AEEF7A3, 0x3AEF1A6E, 0x3AEF3D18, 0x3AEF5F9F, 0x3AEF820C, 0x3AEFA460, 0x3AEFC699, 0x3AEFE8B1, 0x3AF00AB7, 0x3AF02C9B, 0x3AF04E5C, 0x3AF0700C, 0x3AF0919A, 0x3AF0B317, 0x3AF0D472, 0x3AF0F5B2, 0x3AF116D9, 0x3AF137E6, 0x3AF158D9, 0x3AF179B3, 0x3AF19A73, 0x3AF1BB19, 0x3AF1DBA5, 0x3AF1FC17, 0x3AF21C70, 0x3AF23CB8, 0x3AF25CDD, 0x3AF27CE8, 0x3AF29CE2, 0x3AF2BCC3, 0x3AF2DC8A, 0x3AF2FC36, 0x3AF31BCA, 0x3AF33B4C, 0x3AF35AB4, 0x3AF37A02, 0x3AF39937, 0x3AF3B85A, 0x3AF3D764, 0x3AF3F654, 0x3AF41533, 0x3AF433F8, 0x3AF452A3, 0x3AF4713D, 0x3AF48FBD, 0x3AF4AE2C, 0x3AF4CC81, 0x3AF4EABD, 0x3AF508E7, 0x3AF52700, 0x3AF544F7, 0x3AF562E5, 0x3AF580BA, 0x3AF59E75, 0x3AF5BC1E, 0x3AF5D9B6, 0x3AF5F735, 0x3AF6149A, 0x3AF631F6, 0x3AF64F30, 0x3AF66C61, 0x3AF68978, 0x3AF6A67F, 0x3AF6C36B, 0x3AF6E047, 0x3AF6FD11, 0x3AF719CA, 0x3AF73669, 0x3AF752F7, 0x3AF76F6B, 0x3AF78BD7, 0x3AF7A829, 0x3AF7C46A, 0x3AF7E091, 0x3AF7FCAF, 0x3AF818B4, 0x3AF834A7, 0x3AF85089, 0x3AF86C5A, 0x3AF8881A, 0x3AF8A3C0, 0x3AF8BF5E, 0x3AF8DAE1, 0x3AF8F654, 0x3AF911B5, 0x3AF92D06, 0x3AF94845, 0x3AF96373, 0x3AF97E8F, 0x3AF99992, 0x3AF9B48C, 0x3AF9CF76, 0x3AF9EA45, 0x3AFA050C, 0x3AFA1FC1, 0x3AFA3A5D, 0x3AFA54F0, 0x3AFA6F72, 0x3AFA89E3, 0x3AFAA443, 0x3AFABE91, 0x3AFAD8CF, 0x3AFAF2FB, 0x3AFB0D16, 0x3AFB2720, 0x3AFB4121, 0x3AFB5B08, 0x3AFB74E7, 0x3AFB8EB5, 0x3AFBA871, 0x3AFBC21D, 0x3AFBDBB7, 0x3AFBF548, 0x3AFC0EC0, 0x3AFC282F, 0x3AFC418D, 0x3AFC5ADA, 0x3AFC741E, 0x3AFC8D51, 0x3AFCA673, 0x3AFCBF84, 0x3AFCD883, 0x3AFCF17A, 0x3AFD0A60, 0x3AFD2334, 0x3AFD3C00, 0x3AFD54BB, 0x3AFD6D65, 0x3AFD85FD, 0x3AFD9E8D, 0x3AFDB70C, 0x3AFDCF79, 0x3AFDE7DE, 0x3AFE0032, 0x3AFE187D, 0x3AFE30B7, 0x3AFE48E0, 0x3AFE60F7, 0x3AFE7906, 0x3AFE910C, 0x3AFEA8F9, 0x3AFEC0E6, 0x3AFED8B9, 0x3AFEF083, 0x3AFF083C, 0x3AFF1FEC, 0x3AFF3794, 0x3AFF4F22, 0x3AFF66A8, 0x3AFF7E25, 0x3AFF9591, 0x3AFFACF4, 0x3AFFC446, 0x3AFFDB87, 0x3AFFF2BF, 0x3B0004F7, 0x3B001087, 0x3B001C11, 0x3B002794, 0x3B00330E, 0x3B003E83, 0x3B0049F4, 0x3B00555D, 0x3B0060C1, 0x3B006C21, 0x3B007774, 0x3B0082C7, 0x3B008E12, 0x3B009958, 0x3B00A496, 0x3B00AFCF, 0x3B00BB00, 0x3B00C62C, 0x3B00D154, 0x3B00DC74, 0x3B00E78F, 0x3B00F2A2, 0x3B00FDB0, 0x3B0108BA, 0x3B0113C0, 0x3B011EBD, 0x3B0129B2, 0x3B0134A7, 0x3B013F93, 0x3B014A7A, 0x3B015559, 0x3B016034, 0x3B016B0B, 0x3B0175D9, 0x3B0180A7, 0x3B018B68, 0x3B019629, 0x3B01A0E1, 0x3B01AB96, 0x3B01B645, 0x3B01C0F1, 0x3B01CB94, 0x3B01D633, 0x3B01E0CD, 0x3B01EB5F, 0x3B01F5ED, 0x3B020076, 0x3B020AFB, 0x3B021577, 0x3B021FF3, 0xBF800000, 0x00000000, 0x3B8E43B4, 0x3BE1C520, 0x3C0E92C4, 0x3C25A35D, 0x3C3881DC, 0x3C487A58, 0x3C565313, 0x3C628C3C, 0x3C6D7D51, 0x3C7764C6, 0x3C803864, 0x3C84623A, 0x3C883D81, 0x3C8BD50B, 0x3C8F3191, 0x3C925A3B, 0x3C9554F1, 0x3C9826A8, 0x3C9AD391, 0x3C9D5F41, 0x3C9FCCCF, 0x3CA21EE4, 0x3CA457D9, 0x3CA679B2, 0x3CA8864C, 0x3CAA7F30, 0x3CAC65DA, 0x3CAE3B87, 0x3CB00160, 0x3CB1B86F, 0x3CB361A7, 0x3CB4FDD9, 0x3CB68DD1, 0x3CB81245, 0x3CB98BD8, 0x3CBAFB23, 0x3CBC60AE, 0x3CBDBCFF, 0x3CBF1091, 0x3CC05BCB, 0x3CC19F17, 0x3CC2DAD1, 0x3CC40F54, 0x3CC53CF6, 0x3CC663FD, 0x3CC784B9, 0x3CC89F6C, 0x3CC9B454, 0x3CCAC3A8, 0x3CCBCDA9, 0x3CCCD286, 0x3CCDD271, 0x3CCECD9E, 0x3CCFC433, 0x3CD0B661, 0x3CD1A44D, 0x3CD28E1D, 0x3CD373F0, 0x3CD455EE, 0x3CD53435, 0x3CD60EE5, 0x3CD6E61B, 0x3CD7B9F0, 0x3CD88A86, 0x3CD957F0, 0x3CDA224B, 0x3CDAE9A6, 0x3CDBAE1C, 0x3CDC6FC8, 0x3CDD2EB5, 0x3CDDEAFD, 0x3CDEA4B1, 0x3CDF5BE0, 0x3CE0109C, 0x3CE0C2F9, 0x3CE17307, 0x3CE220D2, 0x3CE2CC68, 0x3CE375DC, 0x3CE41D36, 0x3CE4C282, 0x3CE565D6, 0x3CE60736, 0x3CE6A6AD, 0x3CE74452, 0x3CE7E01E, 0x3CE87A2D, 0x3CE9127E, 0x3CE9A91C, 0x3CEA3E12, 0x3CEAD16A, 0x3CEB6330, 0x3CEBF369, 0x3CEC821F, 0x3CED0F52, 0x3CED9B19, 0x3CEE256D, 0x3CEEAE5E, 0x3CEF35F3, 0x3CEFBC2B, 0x3CF0411B, 0x3CF0C4B9, 0x3CF1471A, 0x3CF1C83A, 0x3CF24821, 0x3CF2C6D7, 0x3CF34466, 0x3CF3C0C7, 0x3CF43C0D, 0x3CF4B635, 0x3CF52F47, 0x3CF5A747, 0x3CF61E3A, 0x3CF69426, 0x3CF7090B, 0x3CF77CF4, 0x3CF7EFE1, 0x3CF861D6, 0x3CF8D2DA, 0x3CF942ED, 0x3CF9B218, 0x3CFA205D, 0x3CFA8DBB, 0x3CFAFA3C, 0x3CFB65E2, 0x3CFBD0AB, 0x3CFC3AA4, 0x3CFCA3CA, 0x3CFD0C20, 0x3CFD73A9, 0x3CFDDA6C, 0x3CFE406D, 0x3CFEA5A8, 0x3CFF0A21, 0x3CFF6DE4, 0x3CFFD0E6, 0x3D00199B, 0x3D004A68, 0x3D007ADA, 0x3D00AAF6, 0x3D00DABC, 0x3D010A2C, 0x3D013948, 0x3D016812, 0x3D019688, 0x3D01C4AE, 0x3D01F286, 0x3D022010, 0x3D024D4A, 0x3D027A39, 0x3D02A6DC, 0x3D02D334, 0x3D02FF44, 0x3D032B0B, 0x3D035689, 0x3D0381C2, 0x3D03ACB3, 0x3D03D760, 0x3D0401CA, 0x3D042BF1, 0x3D0455D5, 0x3D047F76, 0x3D04A8D9, 0x3D04D1FA, 0x3D04FADC, 0x3D052380, 0x3D054BE7, 0x3D057410, 0x3D059BFC, 0x3D05C3AC, 0x3D05EB24, 0x3D061261, 0x3D063962, 0x3D06602C, 0x3D0686BD, 0x3D06AD18, 0x3D06D33B, 0x3D06F926, 0x3D071EDE, 0x3D074460, 0x3D0769AC, 0x3D078EC5, 0x3D07B3AB, 0x3D07D85E, 0x3D07FCDF, 0x3D08212C, 0x3D08454C, 0x3D086938, 0x3D088CF4, 0x3D08B080, 0x3D08D3DF, 0x3D08F70D, 0x3D091A0D, 0x3D093CE0, 0x3D095F85, 0x3D0981FC, 0x3D09A449, 0x3D09C66B, 0x3D09E85E, 0x3D0A0A27, 0x3D0A2BC8, 0x3D0A4D3B, 0x3D0A6E86, 0x3D0A8FA9, 0x3D0AB0A0, 0x3D0AD170, 0x3D0AF217, 0x3D0B1298, 0x3D0B32EF, 0x3D0B5320, 0x3D0B732B, 0x3D0B930E, 0x3D0BB2CE, 0x3D0BD266, 0x3D0BF1D9, 0x3D0C1128, 0x3D0C3052, 0x3D0C4F56, 0x3D0C6E38, 0x3D0C8CF6, 0x3D0CAB8F, 0x3D0CCA08, 0x3D0CE85B, 0x3D0D068E, 0x3D0D249E, 0x3D0D428E, 0x3D0D605B, 0x3D0D7E05, 0x3D0D9B92, 0x3D0DB8FB, 0x3D0DD645, 0x3D0DF370, 0x3D0E1079, 0x3D0E2D65, 0x3D0E4A30, 0x3D0E66DB, 0x3D0E8369, 0x3D0E9FD9, 0x3D0EBC2B, 0x3D0ED85D, 0x3D0EF472, 0x3D0F106C, 0x3D0F2C46, 0x3D0F4804, 0x3D0F63A6, 0x3D0F7F29, 0x3D0F9A92, 0x3D0FB5DE, 0x3D0FD10E, 0x3D0FEC24, 0x3D10071C, 0x3D1021F9, 0x3D103CBE, 0x3D105766, 0x3D1071F3, 0x3D108C68, 0x3D10A6C1, 0x3D10C100, 0x3D10DB27, 0x3D10F533, 0x3D110F24, 0x3D112900, 0x3D1142C0, 0x3D115C69, 0x3D1175F7, 0x3D118F6F, 0x3D11A8CD, 0x3D11C215, 0x3D11DB42, 0x3D11F459, 0x3D120D59, 0x3D122643, 0x3D123F15, 0x3D1257CE, 0x3D127070, 0x3D1288FF, 0x3D12A175, 0x3D12B9D4, 0x3D12D21D, 0x3D12EA50, 0x3D13026E, 0x3D131A77, 0x3D13326A, 0x3D134A47, 0x3D136210, 0x3D1379C2, 0x3D13915F, 0x3D13A8E7, 0x3D13C05C, 0x3D13D7BB, 0x3D13EF08, 0x3D14063F, 0x3D141D61, 0x3D143470, 0x3D144B6C, 0x3D146253, 0x3D147926, 0x3D148FE7, 0x3D14A693, 0x3D14BD2E, 0x3D14D3B4, 0x3D14EA28, 0x3D150088, 0x3D1516D6, 0x3D152D13, 0x3D15433B, 0x3D155953, 0x3D156F58, 0x3D15854B, 0x3D159B2A, 0x3D15B0FA, 0x3D15C6B6, 0x3D15DC60, 0x3D15F1FA, 0x3D160784, 0x3D161CFB, 0x3D163261, 0x3D1647B5, 0x3D165CF9, 0x3D16722D, 0x3D16874E, 0x3D169C5F, 0x3D16B160, 0x3D16C650, 0x3D16DB31, 0x3D16F001, 0x3D1704C2, 0x3D17196F, 0x3D172E0F, 0x3D17429F, 0x3D17571F, 0x3D176B8F, 0x3D177FF1, 0x3D179441, 0x3D17A883, 0x3D17BCB5, 0x3D17D0DA, 0x3D17E4EE, 0x3D17F8F3, 0x3D180CE7, 0x3D1820D1, 0x3D1834A7, 0x3D184871, 0x3D185C2D, 0x3D186FD9, 0x3D188377, 0x3D189708, 0x3D18AA89, 0x3D18BDFC, 0x3D18D163, 0x3D18E4B8, 0x3D18F801, 0x3D190B3C, 0x3D191E6A, 0x3D19318A, 0x3D19449D, 0x3D1957A2, 0x3D196A98, 0x3D197D82, 0x3D19905F, 0x3D19A32C, 0x3D19B5EF, 0x3D19C8A4, 0x3D19DB4B, 0x3D19EDE5, 0x3D1A0074, 0x3D1A12F4, 0x3D1A2568, 0x3D1A37CF, 0x3D1A4A2B, 0x3D1A5C7A, 0x3D1A6EBC, 0x3D1A80F0, 0x3D1A9319, 0x3D1AA535, 0x3D1AB746, 0x3D1AC94A, 0x3D1ADB43, 0x3D1AED2E, 0x3D1AFF0F, 0x3D1B10E3, 0x3D1B22AB, 0x3D1B3467, 0x3D1B461A, 0x3D1B57BD, 0x3D1B6958, 0x3D1B7AE5, 0x3D1B8C68, 0x3D1B9DDE, 0x3D1BAF4B, 0x3D1BC0AB, 0x3D1BD200, 0x3D1BE348, 0x3D1BF488, 0x3D1C05BA, 0x3D1C16E5, 0x3D1C2801, 0x3D1C3914, 0x3D1C4A1B, 0x3D1C5B18, 0x3D1C6C0C, 0x3D1C7CF3, 0x3D1C8DD0, 0x3D1C9EA2, 0x3D1CAF69, 0x3D1CC027, 0x3D1CD0D9, 0x3D1CE182, 0x3D1CF21E, 0x3D1D02B2, 0x3D1D133C, 0x3D1D23BD, 0x3D1D3431, 0x3D1D449C, 0x3D1D54FD, 0x3D1D6553, 0x3D1D75A2, 0x3D1D85E2, 0x3D1D961E, 0x3D1DA64C, 0x3D1DB672, 0x3D1DC68D, 0x3D1DD6A0, 0x3D1DE6A8, 0x3D1DF6A6, 0x3D1E069B, 0x3D1E1689, 0x3D1E266C, 0x3D1E3644, 0x3D1E4614, 0x3D1E55D9, 0x3D1E6596, 0x3D1E754C, 0x3D1E84F6, 0x3D1E9498, 0x3D1EA430, 0x3D1EB3C0, 0x3D1EC344, 0x3D1ED2C4, 0x3D1EE236, 0x3D1EF1A3, 0x3D1F0105, 0x3D1F105E, 0x3D1F1FB0, 0x3D1F2EF7, 0x3D1F3E39, 0x3D1F4D6D, 0x3D1F5C9C, 0x3D1F6BC3, 0x3D1F7ADF, 0x3D1F89F4, 0x3D1F9900, 0x3D1FA804, 0x3D1FB700, 0x3D1FC5F3, 0x3D1FD4DD, 0x3D1FE3C0, 0x3D1FF299, 0x3D20016A, 0x3D201033, 0x3D201EF7, 0x3D202DB0, 0x3D203C61, 0x3D204B09, 0x3D2059AA, 0x3D206845, 0x3D2076D6, 0x3D20855E, 0x3D2093E1, 0x3D20A25A, 0x3D20B0CD, 0x3D20BF35, 0x3D20CD98, 0x3D20DBF3, 0x3D20EA46, 0x3D20F891, 0x3D2106D3, 0x3D211511, 0x3D212346, 0x3D213173, 0x3D213F98, 0x3D214DB6, 0x3D215BCD, 0x3D2169DA, 0x3D2177E5, 0x3D2185E4, 0x3D2193DF, 0x3D21A1CE, 0x3D21AFBB, 0x3D21BD9D, 0x3D21CB7A, 0x3D21D94E, 0x3D21E71E, 0x3D21F4E5, 0x3D2202A4, 0x3D22105B, 0x3D221E0D, 0x3D222BB9, 0x3D22395E, 0x3D2246FA, 0x3D22548E, 0x3D226220, 0x3D226FA7, 0x3D227D28, 0x3D228AA2, 0x3D229816, 0x3D22A584, 0x3D22B2EB, 0x3D22C049, 0x3D22CDA3, 0xBF800000, 0x00000000, 0x3BB1ED50, 0x3C0D3A42, 0x3C3268FE, 0x3C4F4F08, 0x3C66F537, 0x3C7AFABD, 0x3C862BCE, 0x3C8DD617, 0x3C94B2EA, 0x3C9AE96B, 0x3CA09678, 0x3CA5D003, 0x3CAAA723, 0x3CAF295E, 0x3CB361A7, 0x3CB758E7, 0x3CBB1692, 0x3CBEA0D5, 0x3CC1FCF0, 0x3CC52F6A, 0x3CC83C14, 0x3CCB264F, 0x3CCDF104, 0x3CD09EC4, 0x3CD331D6, 0x3CD5AC34, 0x3CD80FAC, 0x3CDA5DDA, 0x3CDC982C, 0x3CDEBFF4, 0x3CE0D654, 0x3CE2DC63, 0x3CE4D319, 0x3CE6BB5B, 0x3CE895F6, 0x3CEA63A6, 0x3CEC2522, 0x3CEDDB0A, 0x3CEF85EF, 0x3CF1265E, 0x3CF2BCD6, 0x3CF449D4, 0x3CF5CDBD, 0x3CF74907, 0x3CF8BC09, 0x3CFA271E, 0x3CFB8AA0, 0x3CFCE6D6, 0x3CFE3C16, 0x3CFF8A9F, 0x3D00695C, 0x3D010A4F, 0x3D01A846, 0x3D02435C, 0x3D02DBAA, 0x3D03714F, 0x3D04045C, 0x3D0494ED, 0x3D052312, 0x3D05AEE4, 0x3D063874, 0x3D06BFD5, 0x3D074519, 0x3D07C84E, 0x3D084988, 0x3D08C8D4, 0x3D094642, 0x3D09C1DE, 0x3D0A3BB6, 0x3D0AB3D6, 0x3D0B2A4E, 0x3D0B9F23, 0x3D0C1268, 0x3D0C8422, 0x3D0CF45D, 0x3D0D6322, 0x3D0DD080, 0x3D0E3C79, 0x3D0EA71A, 0x3D0F106C, 0x3D0F7873, 0x3D0FDF3B, 0x3D1044C9, 0x3D10A928, 0x3D110C5D, 0x3D116E6D, 0x3D11CF60, 0x3D122F3F, 0x3D128E0D, 0x3D12EBD0, 0x3D13488F, 0x3D13A44F, 0x3D13FF16, 0x3D1458E8, 0x3D14B1CE, 0x3D1509C8, 0x3D1560DD, 0x3D15B711, 0x3D160C69, 0x3D1660EA, 0x3D16B498, 0x3D170773, 0x3D175986, 0x3D17AAD2, 0x3D17FB59, 0x3D184B20, 0x3D189A2B, 0x3D18E87C, 0x3D193617, 0x3D198301, 0x3D19CF3C, 0x3D1A1AC9, 0x3D1A65AF, 0x3D1AAFEF, 0x3D1AF989, 0x3D1B4284, 0x3D1B8AE3, 0x3D1BD2A4, 0x3D1C19CF, 0x3D1C6061, 0x3D1CA661, 0x3D1CEBD1, 0x3D1D30B0, 0x3D1D7506, 0x3D1DB8CE, 0x3D1DFC0F, 0x3D1E3ECA, 0x3D1E8102, 0x3D1EC2B9, 0x3D1F03EC, 0x3D1F44A4, 0x3D1F84E0, 0x3D1FC4A1, 0x3D2003EC, 0x3D2042BE, 0x3D20811A, 0x3D20BF05, 0x3D20FC7D, 0x3D213986, 0x3D21761F, 0x3D21B24D, 0x3D21EE11, 0x3D222968, 0x3D226459, 0x3D229EE1, 0x3D22D906, 0x3D2312C4, 0x3D234C23, 0x3D23851D, 0x3D23BDBA, 0x3D23F5F6, 0x3D242DD5, 0x3D246558, 0x3D249C7D, 0x3D24D34C, 0x3D2509C0, 0x3D253FDB, 0x3D2575A0, 0x3D25AB10, 0x3D25E02C, 0x3D2614F2, 0x3D264968, 0x3D267D8B, 0x3D26B160, 0x3D26E4E4, 0x3D271817, 0x3D274B00, 0x3D277D9B, 0x3D27AFE8, 0x3D27E1EC, 0x3D2813A5, 0x3D284516, 0x3D28763E, 0x3D28A721, 0x3D28D7BB, 0x3D29080F, 0x3D29381D, 0x3D2967E6, 0x3D29976E, 0x3D29C6B3, 0x3D29F5B2, 0x3D2A2474, 0x3D2A52F2, 0x3D2A8133, 0x3D2AAF33, 0x3D2ADCF6, 0x3D2B0A78, 0x3D2B37BF, 0x3D2B64C8, 0x3D2B9196, 0x3D2BBE2A, 0x3D2BEA7F, 0x3D2C169C, 0x3D2C4281, 0x3D2C6E2B, 0x3D2C999C, 0x3D2CC4D7, 0x3D2CEFDB, 0x3D2D1AA5, 0x3D2D453D, 0x3D2D6F9D, 0x3D2D99C7, 0x3D2DC3BD, 0x3D2DED81, 0x3D2E170F, 0x3D2E406A, 0x3D2E6992, 0x3D2E928A, 0x3D2EBB4F, 0x3D2EE3E3, 0x3D2F0C48, 0x3D2F3479, 0x3D2F5C7C, 0x3D2F844F, 0x3D2FABF5, 0x3D2FD36A, 0x3D2FFAB4, 0x3D3021CE, 0x3D3048BB, 0x3D306F7C, 0x3D309610, 0x3D30BC79, 0x3D30E2B4, 0x3D3108C4, 0x3D312EAC, 0x3D315466, 0x3D3179F8, 0x3D319F5F, 0x3D31C49E, 0x3D31E9B2, 0x3D320EA0, 0x3D323364, 0x3D325801, 0x3D327C74, 0x3D32A0C2, 0x3D32C4E9, 0x3D32E8E9, 0x3D330CC2, 0x3D333074, 0x3D335403, 0x3D33776C, 0x3D339AAF, 0x3D33BDCD, 0x3D33E0C5, 0x3D34039B, 0x3D34264D, 0x3D3448DD, 0x3D346B47, 0x3D348D8E, 0x3D34AFB2, 0x3D34D1B6, 0x3D34F398, 0x3D351556, 0x3D3536F1, 0x3D35586C, 0x3D3579C7, 0x3D359AFF, 0x3D35BC1A, 0x3D35DD11, 0x3D35FDE9, 0x3D361EA3, 0x3D363F3A, 0x3D365FB3, 0x3D36800C, 0x3D36A048, 0x3D36C064, 0x3D36E061, 0x3D370042, 0x3D372002, 0x3D373FA8, 0x3D375F2D, 0x3D377E94, 0x3D379DE1, 0x3D37BD0E, 0x3D37DC1F, 0x3D37FB16, 0x3D3819F0, 0x3D3838AC, 0x3D38574D, 0x3D3875D3, 0x3D38943B, 0x3D38B289, 0x3D38D0BC, 0x3D38EED4, 0x3D390CD1, 0x3D392AB4, 0x3D39487B, 0x3D39662B, 0x3D3983BF, 0x3D39A139, 0x3D39BE9B, 0x3D39DBE1, 0x3D39F90D, 0x3D3A1624, 0x3D3A331F, 0x3D3A5000, 0x3D3A6CCB, 0x3D3A897C, 0x3D3AA616, 0x3D3AC297, 0x3D3ADEFE, 0x3D3AFB51, 0x3D3B178B, 0x3D3B33AB, 0x3D3B4FB7, 0x3D3B6BA9, 0x3D3B8785, 0x3D3BA34C, 0x3D3BBEF8, 0x3D3BDA92, 0x3D3BF613, 0x3D3C117E, 0x3D3C2CD2, 0x3D3C4810, 0x3D3C633B, 0x3D3C7E4E, 0x3D3C9949, 0x3D3CB431, 0x3D3CCF03, 0x3D3CE9C0, 0x3D3D0468, 0x3D3D1EFD, 0x3D3D3979, 0x3D3D53E3, 0x3D3D6E38, 0x3D3D8879, 0x3D3DA2A3, 0x3D3DBCBC, 0x3D3DD6C0, 0x3D3DF0AE, 0x3D3E0A8A, 0x3D3E2453, 0x3D3E3E06, 0x3D3E57A7, 0x3D3E7135, 0x3D3E8AB0, 0x3D3EA415, 0x3D3EBD6B, 0x3D3ED6AA, 0x3D3EEFDA, 0x3D3F08F5, 0x3D3F21FC, 0x3D3F3AF4, 0x3D3F53D8, 0x3D3F6CA7, 0x3D3F8569, 0x3D3F9E15, 0x3D3FB6B2, 0x3D3FCF38, 0x3D3FE7B2, 0x3D400018, 0x3D40186C, 0x3D4030AF, 0x3D4048E0, 0x3D406101, 0x3D40790F, 0x3D40910D, 0x3D40A8FA, 0x3D40C0D5, 0x3D40D8A0, 0x3D40F05B, 0x3D410805, 0x3D411F9D, 0x3D413728, 0x3D414E9F, 0x3D416609, 0x3D417D61, 0x3D4194A8, 0x3D41ABDF, 0x3D41C309, 0x3D41DA20, 0x3D41F129, 0x3D420823, 0x3D421F09, 0x3D4235E5, 0x3D424CAE, 0x3D42636A, 0x3D427A16, 0x3D4290B1, 0x3D42A73F, 0x3D42BDBD, 0x3D42D42E, 0x3D42EA8E, 0x3D4300E1, 0x3D431724, 0x3D432D57, 0x3D43437C, 0x3D435994, 0x3D436F9E, 0x3D438599, 0x3D439B86, 0x3D43B163, 0x3D43C732, 0x3D43DCF4, 0x3D43F2A9, 0x3D440850, 0x3D441DE7, 0x3D443373, 0x3D4448F0, 0x3D445E5F, 0x3D4473C0, 0x3D448917, 0x3D449E5D, 0x3D44B396, 0x3D44C8C2, 0x3D44DDE0, 0x3D44F2F4, 0x3D4507F7, 0x3D451CF0, 0x3D4531D9, 0x3D4546B6, 0x3D455B8A, 0x3D45704D, 0x3D458505, 0x3D4599B0, 0x3D45AE4D, 0x3D45C2DD, 0x3D45D762, 0x3D45EBDD, 0x3D460047, 0x3D4614A7, 0x3D4628FC, 0x3D463D44, 0x3D465180, 0x3D4665B0, 0x3D4679D2, 0x3D468DE9, 0x3D46A1F6, 0x3D46B5F5, 0x3D46C9E9, 0x3D46DDD0, 0x3D46F1AC, 0x3D47057D, 0x3D471941, 0x3D472CFD, 0x3D4740A9, 0x3D47544D, 0x3D4767E3, 0x3D477B6F, 0x3D478EF0, 0x3D47A266, 0x3D47B5D2, 0x3D47C930, 0x3D47DC85, 0x3D47EFCE, 0x3D48030C, 0x3D48163F, 0x3D482967, 0x3D483C85, 0x3D484F98, 0x3D4862A0, 0x3D48759D, 0x3D488890, 0x3D489B78, 0x3D48AE55, 0x3D48C12A, 0x3D48D3F2, 0x3D48E6AE, 0x3D48F963, 0x3D490C0D, 0x3D491EAD, 0x3D493142, 0x3D4943CC, 0x3D49564D, 0x3D4968C5, 0x3D497B31, 0x3D498D93, 0x3D499FEC, 0x3D49B23B, 0x3D49C47F, 0x3D49D6B9, 0x3D49E8EA, 0x3D49FB13, 0x3D4A0D2F, 0x3D4A1F43, 0x3D4A314F, 0x3D4A4350, 0x3D4A5546, 0x3D4A6734, 0x3D4A7918, 0x3D4A8AF3, 0x3D4A9CC4, 0x3D4AAE8D, 0x3D4AC04B, 0x3D4AD201, 0x3D4AE3AE, 0x3D4AF54F, 0x3D4B06EA, 0x3D4B187A, 0x3D4B2A02, 0x3D4B3B80, 0x3D4B4CF5, 0x3D4B5E63, 0x3D4B6FC5, 0x3D4B8120, 0x3D4B9273, 0x3D4BA3BA, 0x3D4BB4FD, 0x3D4BC632, 0x3D4BD761, 0x3D4BE886, 0x3D4BF9A6, 0x3D4C0AB8, 0x3D4C1BC5, 0x3D4C2CCA, 0x3D4C3DC4, 0x3D4C4EB5, 0x3D4C5F9F, 0x3D4C7081, 0x3D4C815B, 0xBF800000, 0x00000000, 0x3BED734F, 0x3C3C92CE, 0x3C6E4F89, 0x3C8A7F15, 0x3C9A5526, 0x3CA7BED1, 0x3CB361A7, 0x3CBDA89D, 0x3CC6DCD4, 0x3CCF3283, 0x3CD6D046, 0x3CDDD36A, 0x3CE452D0, 0x3CEA608C, 0x3CF00B40, 0x3CF55ED7, 0x3CFA6547, 0x3CFF26D7, 0x3D01D548, 0x3D03FB3D, 0x3D0607DA, 0x3D07FD65, 0x3D09DDCD, 0x3D0BAAC9, 0x3D0D65E2, 0x3D0F106C, 0x3D10AB99, 0x3D123882, 0x3D13B816, 0x3D152B38, 0x3D1692AE, 0x3D17EF35, 0x3D19416D, 0x3D1A89F2, 0x3D1BC94C, 0x3D1D0001, 0x3D1E2E7F, 0x3D1F5538, 0x3D20748D, 0x3D218CDB, 0x3D229E7B, 0x3D23A9BB, 0x3D24AEE9, 0x3D25AE45, 0x3D26A813, 0x3D279C92, 0x3D288BF5, 0x3D297679, 0x3D2A5C4A, 0x3D2B3D9B, 0x3D2C1A98, 0x3D2CF36B, 0x3D2DC83A, 0x3D2E992D, 0x3D2F6665, 0x3D303004, 0x3D30F62A, 0x3D31B8F8, 0x3D327888, 0x3D3334F6, 0x3D33EE5A, 0x3D34A4D0, 0x3D35586C, 0x3D360949, 0x3D36B77A, 0x3D376311, 0x3D380C26, 0x3D38B2C7, 0x3D39570C, 0x3D39F900, 0x3D3A98B8, 0x3D3B363F, 0x3D3BD1AB, 0x3D3C6B03, 0x3D3D025A, 0x3D3D97BB, 0x3D3E2B34, 0x3D3EBCD2, 0x3D3F4C9F, 0x3D3FDAA6, 0x3D4066F6, 0x3D40F195, 0x3D417A91, 0x3D4201F3, 0x3D4287C2, 0x3D430C09, 0x3D438ED3, 0x3D441025, 0x3D449008, 0x3D450E88, 0x3D458BA8, 0x3D460771, 0x3D4681EA, 0x3D46FB1C, 0x3D47730C, 0x3D47E9C1, 0x3D485F42, 0x3D48D394, 0x3D4946BE, 0x3D49B8C6, 0x3D4A29B2, 0x3D4A9984, 0x3D4B0847, 0x3D4B75FD, 0x3D4BE2AD, 0x3D4C4E57, 0x3D4CB906, 0x3D4D22BB, 0x3D4D8B7C, 0x3D4DF34B, 0x3D4E5A30, 0x3D4EC02D, 0x3D4F2544, 0x3D4F8980, 0x3D4FECDD, 0x3D504F61, 0x3D50B113, 0x3D5111F3, 0x3D517206, 0x3D51D14E, 0x3D522FD0, 0x3D528D8E, 0x3D52EA8E, 0x3D5346CF, 0x3D53A257, 0x3D53FD25, 0x3D545740, 0x3D54B0A9, 0x3D550964, 0x3D556174, 0x3D55B8D7, 0x3D560F94, 0x3D5665AD, 0x3D56BB25, 0x3D570FFA, 0x3D576435, 0x3D57B7D2, 0x3D580AD9, 0x3D585D47, 0x3D58AF21, 0x3D590067, 0x3D59511F, 0x3D59A147, 0x3D59F0E2, 0x3D5A3FF5, 0x3D5A8E7C, 0x3D5ADC80, 0x3D5B29FA, 0x3D5B76F4, 0x3D5BC36D, 0x3D5C0F63, 0x3D5C5ADD, 0x3D5CA5DB, 0x3D5CF05B, 0x3D5D3A66, 0x3D5D83F7, 0x3D5DCD10, 0x3D5E15B5, 0x3D5E5DE9, 0x3D5EA5A8, 0x3D5EECF8, 0x3D5F33DA, 0x3D5F7A4C, 0x3D5FC052, 0x3D6005ED, 0x3D604B1F, 0x3D608FE5, 0x3D60D449, 0x3D611843, 0x3D615BD8, 0x3D619F09, 0x3D61E1DA, 0x3D622448, 0x3D626654, 0x3D62A803, 0x3D62E951, 0x3D632A44, 0x3D636ADC, 0x3D63AB15, 0x3D63EAF7, 0x3D642A7F, 0x3D6469AF, 0x3D64A886, 0x3D64E70A, 0x3D652536, 0x3D65630E, 0x3D65A093, 0x3D65DDC5, 0x3D661AA7, 0x3D665735, 0x3D669375, 0x3D66CF65, 0x3D670B04, 0x3D674658, 0x3D678161, 0x3D67BC19, 0x3D67F689, 0x3D6830AE, 0x3D686A8A, 0x3D68A41B, 0x3D68DD64, 0x3D691667, 0x3D694F21, 0x3D698796, 0x3D69BFC5, 0x3D69F7B0, 0x3D6A2F56, 0x3D6A66B9, 0x3D6A9DD6, 0x3D6AD4B2, 0x3D6B0B4F, 0x3D6B41AA, 0x3D6B77C3, 0x3D6BAD9B, 0x3D6BE335, 0x3D6C1892, 0x3D6C4DAE, 0x3D6C8290, 0x3D6CB733, 0x3D6CEB99, 0x3D6D1FC3, 0x3D6D53B3, 0x3D6D8768, 0x3D6DBAE1, 0x3D6DEE20, 0x3D6E2128, 0x3D6E53F6, 0x3D6E868B, 0x3D6EB8E8, 0x3D6EEB10, 0x3D6F1CFE, 0x3D6F4EB8, 0x3D6F803B, 0x3D6FB189, 0x3D6FE2A1, 0x3D701384, 0x3D704436, 0x3D7074AF, 0x3D70A4F9, 0x3D70D50F, 0x3D7104F3, 0x3D7134A3, 0x3D716423, 0x3D719373, 0x3D71C290, 0x3D71F17F, 0x3D72203B, 0x3D724ECA, 0x3D727D28, 0x3D72AB59, 0x3D72D959, 0x3D73072C, 0x3D7334D1, 0x3D736248, 0x3D738F92, 0x3D73BCB0, 0x3D73E9A2, 0x3D741668, 0x3D744300, 0x3D746F71, 0x3D749BB3, 0x3D74C7CB, 0x3D74F3BA, 0x3D751F7F, 0x3D754B19, 0x3D75768A, 0x3D75A1D0, 0x3D75CCF1, 0x3D75F7E7, 0x3D7622B4, 0x3D764D59, 0x3D7677D9, 0x3D76A231, 0x3D76CC60, 0x3D76F669, 0x3D77204D, 0x3D774A09, 0x3D77739F, 0x3D779D10, 0x3D77C65B, 0x3D77EF83, 0x3D781883, 0x3D784160, 0x3D786A1A, 0x3D7892AE, 0x3D78BB1D, 0x3D78E369, 0x3D790B95, 0x3D79339B, 0x3D795B7E, 0x3D79833F, 0x3D79AADC, 0x3D79D257, 0x3D79F9B1, 0x3D7A20EB, 0x3D7A4800, 0x3D7A6EF7, 0x3D7A95CB, 0x3D7ABC7F, 0x3D7AE313, 0x3D7B0984, 0x3D7B2FD7, 0x3D7B560A, 0x3D7B7C1A, 0x3D7BA210, 0x3D7BC7E2, 0x3D7BED97, 0x3D7C132C, 0x3D7C38A3, 0x3D7C5DFA, 0x3D7C8333, 0x3D7CA84F, 0x3D7CCD4E, 0x3D7CF22F, 0x3D7D16EF, 0x3D7D3B95, 0x3D7D601D, 0x3D7D8488, 0x3D7DA8D5, 0x3D7DCD05, 0x3D7DF11A, 0x3D7E1511, 0x3D7E38EE, 0x3D7E5CAD, 0x3D7E8051, 0x3D7EA3DA, 0x3D7EC748, 0x3D7EEA99, 0x3D7F0DCF, 0x3D7F30EB, 0x3D7F53EB, 0x3D7F76D1, 0x3D7F999E, 0x3D7FBC4E, 0x3D7FDEE5, 0x3D8000B1, 0x3D8011E2, 0x3D802307, 0x3D80341F, 0x3D80452A, 0x3D805629, 0x3D80671B, 0x3D807800, 0x3D8088DA, 0x3D8099A6, 0x3D80AA66, 0x3D80BB1A, 0x3D80CBC2, 0x3D80DC5E, 0x3D80ECEE, 0x3D80FD72, 0x3D810DEA, 0x3D811E57, 0x3D812EB7, 0x3D813F0C, 0x3D814F56, 0x3D815F92, 0x3D816FC6, 0x3D817FEC, 0x3D819008, 0x3D81A019, 0x3D81B01D, 0x3D81C017, 0x3D81D005, 0x3D81DFEA, 0x3D81EFC2, 0x3D81FF90, 0x3D820F53, 0x3D821F0B, 0x3D822EB8, 0x3D823E5A, 0x3D824DF3, 0x3D825D80, 0x3D826D04, 0x3D827C7C, 0x3D828BEA, 0x3D829B4E, 0x3D82AAA8, 0x3D82B9F7, 0x3D82C93B, 0x3D82D876, 0x3D82E7A6, 0x3D82F6CD, 0x3D8305E9, 0x3D8314FC, 0x3D832406, 0x3D833306, 0x3D8341FB, 0x3D8350E5, 0x3D835FC8, 0x3D836E9F, 0x3D837D6F, 0x3D838C34, 0x3D839AF0, 0x3D83A9A2, 0x3D83B84A, 0x3D83C6EA, 0x3D83D580, 0x3D83E40E, 0x3D83F291, 0x3D84010C, 0x3D840F7D, 0x3D841DE6, 0x3D842C45, 0x3D843A9C, 0x3D8448E9, 0x3D84572D, 0x3D846569, 0x3D84739C, 0x3D8481C6, 0x3D848FE7, 0x3D849E01, 0x3D84AC10, 0x3D84BA18, 0x3D84C818, 0x3D84D60E, 0x3D84E3FC, 0x3D84F1E1, 0x3D84FFBF, 0x3D850D93, 0x3D851B60, 0x3D852923, 0x3D8536E0, 0x3D854494, 0x3D85523F, 0x3D855FE2, 0x3D856D7F, 0x3D857B11, 0x3D85889E, 0x3D859620, 0x3D85A39C, 0x3D85B10F, 0x3D85BE7B, 0x3D85CBDF, 0x3D85D93B, 0x3D85E690, 0x3D85F3DC, 0x3D860121, 0x3D860E5E, 0x3D861B94, 0x3D8628C2, 0x3D8635E9, 0x3D864308, 0x3D86501F, 0x3D865D30, 0x3D866A39, 0x3D867739, 0x3D868433, 0x3D869127, 0x3D869E12, 0x3D86AAF6, 0x3D86B7D2, 0x3D86C4A8, 0x3D86D177, 0x3D86DE3F, 0x3D86EAFF, 0x3D86F7B9, 0x3D87046A, 0x3D871116, 0x3D871DBA, 0x3D872A58, 0x3D8736EE, 0x3D87437E, 0x3D875006, 0x3D875C88, 0x3D876904, 0x3D877578, 0x3D8781E6, 0x3D878E4C, 0x3D879AAD, 0x3D87A706, 0x3D87B359, 0x3D87BFA6, 0x3D87CBEB, 0x3D87D82A, 0x3D87E463, 0x3D87F096, 0x3D87FCC1, 0x3D8808E7, 0x3D881506, 0x3D88211F, 0x3D882D30, 0x3D88393D, 0x3D884542, 0x3D885141, 0x3D885D3B, 0x3D88692D, 0x3D88751B, 0x3D888100, 0x3D888CE2, 0x3D8898BB, 0x3D88A490, 0x3D88B05E, 0x3D88BC25, 0x3D88C7E8, 0x3D88D3A4, 0x3D88DF5A, 0x3D88EB0A, 0x3D88F6B4, 0x3D890258, 0x3D890DF6, 0x3D89198F, 0x3D892522, 0x3D8930AF, 0x3D893C35, 0x3D8947B7, 0x3D895333, 0x3D895EA9, 0x3D896A18, 0x3D897583, 0x00010203, 0x04000102, 0x03040001, 0x02030400, 0x01020304, 0x00010203, 0x04050607, 0x08050607, 0x08050607, 0x08050607, 0x08050607, 0x08090A0B, 0x090A0B09, 0x0A0B090A, 0x0B090A0B, 0x00000000, 0x00010101, 0x01010202, 0x02020203, 0x03030303, 0x04040404, 0x04000000, 0x00010101, 0x01020202, 0x02030303, 0x03040404, 0x04000000, 0x01010102, 0x02020303, 0x03040404, 0x00000000, 0x00000000 - -glabel D_8007EFE0 -.word 0x00000003, 0x0000000B, 0x00000000, 0x00000009, 0x00002666, 0xFFFFD99A, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000003, 0x00000007, 0x00000CCC, 0xFFFFF334, 0x00003FFF, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x0000000A, 0x00001388, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00005000 - -glabel D_8007F048 -.word 0x00000004, 0x0000000E, 0x00000000, 0x00000009, 0x00002666, 0xFFFFD99A, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000002, 0x00000006, 0x00000CCC, 0xFFFFF334, 0x00003FFF, 0x00000000, 0x00000000, 0x00000000, 0x00000009, 0x0000000C, 0x00000CCC, 0xFFFFF334, 0x00003FFF, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x0000000D, 0x00001770, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00005000, 0x00000004, 0x00000011, 0x00000000, 0x0000000B, 0x00002666, 0xFFFFD99A, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000004, 0x00000009, 0x00000CCC, 0xFFFFF334, 0x00003FFF, 0x00000000, 0x00000000, 0x00000000, 0x0000000B, 0x0000000F, 0x00000CCC, 0xFFFFF334, 0x00003FFF, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000010, 0x00001F40, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00005000 - -glabel D_8007F158 -.word 0x00000001, 0x0000000E, 0x00000000, 0x0000000D, 0x00004E20, 0x00000000, 0x00007FFF, 0x00000000, 0x00000000, 0x00007FFF - -glabel D_8007F180 -.word 0x00000001, 0x00000003, 0x00000000, 0x00000001, 0x00004000, 0x00000000, 0x00007FFF, 0x00001DB0, 0x000002BC, 0x00000000 - -glabel D_8007F1A8 -.word 0x00000001, 0x00000003, 0x00000000, 0x00000001, 0x00000000, 0x00005FFF, 0x00007FFF, 0x0000017C, 0x000001F4, 0x00000000 - -glabel D_8007F1D0 -.word 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000 - -glabel D_8007F1F8 -.word 0x8007F1D0 - -glabel D_8007F1FC -.word 0x8007F1D0 - -glabel D_8007F200 -.word 0x8007F1D0 - -glabel D_8007F204 -.word 0x8007F1D0, 0x00000000, 0x00000000 - -glabel D_8007F210 -.word 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000 - -glabel D_8007F228 -.word 0xE0002000, 0x003278F0, 0x00328110, 0xE0002000, 0x00326410, 0x003278F0 - -glabel D_8007F240 -.word 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000 - -glabel D_8007F258 -.word 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000 - -glabel D_8007F270 -.word 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000 - -glabel D_8007F288 -.word 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000 - -glabel D_8007F2A0 -.word 0xE000C160, 0x00328110, 0x00328EA0, 0xE000C000, 0x00328EA0, 0x0032C110 - -glabel D_8007F2B8 -.word 0xE000E000, 0x0032C110, 0x0032C7A0, 0xE000E000, 0x00328EA0, 0x0032C110 - -glabel D_8007F2D0 -.word 0xE00101E8, 0x0032C7A0, 0x0032CEC0, 0xE0010000, 0x0032CEC0, 0x0032DD10 - -glabel D_8007F2E8 -.word 0xE0012204, 0x0032DD10, 0x0032E490, 0xE0012000, 0x0032CEC0, 0x0032DD10 - -glabel D_8007F300 -.word 0xE0014000, 0x0032E490, 0x0032EC50, 0xE0014000, 0x0032EC50, 0x0032EE30 - -glabel D_8007F318 -.word 0xE0016000, 0x0032EE30, 0x0032F580, 0xE0016000, 0x0032EC50, 0x0032EE30 - -glabel D_8007F330 -.word 0xE0018078, 0x0032F580, 0x0032FB50, 0xE0018000, 0x0032FB50, 0x0032FE30 - -glabel D_8007F348 -.word 0xE001A000, 0x0032FE30, 0x00330460, 0xE001A000, 0x00330460, 0x00330910 - -glabel D_8007F360 -.word 0xE001C000, 0x00330910, 0x00330F00, 0xE001C000, 0x00330F00, 0x00331940 - -glabel D_8007F378 -.word 0xE001E000, 0x00331940, 0x003326A0, 0xE001E000, 0x003326A0, 0x00333EC0 - -glabel D_8007F390 -.word 0xE00202CC, 0x00333EC0, 0x00334C70, 0xE0020000, 0x00334C70, 0x00337240 - -glabel D_8007F3A8 -.word 0xE0022000, 0x00337240, 0x00337FC0, 0xE0022000, 0x00337FC0, 0x00339250 - -glabel D_8007F3C0 -.word 0xE0024000, 0x00339250, 0x00339F60, 0xE0024000, 0x00339F60, 0x0033B180 - -glabel D_8007F3D8 -.word 0xE0026000, 0x0033B180, 0x0033BBD0, 0xE0026000, 0x0033BBD0, 0x0033CDF0 - -glabel D_8007F3F0 -.word 0xE0028000, 0x0033CDF0, 0x0033D610, 0xE0028000, 0x0033D610, 0x0033E8C0 - -glabel D_8007F408 -.word 0xE002A000, 0x0033E8C0, 0x0033F000, 0xE002A000, 0x0033F000, 0x0033FE80 - -glabel D_8007F420 -.word 0xE002C000, 0x0033FE80, 0x00340880, 0xE002C000, 0x00340880, 0x003419E0 - -glabel D_8007F438 -.word 0xE002E000, 0x003419E0, 0x00342140, 0xE002E000, 0x00328EA0, 0x0032C110 - -glabel D_8007F450 -.word 0xE0030000, 0x00342140, 0x00343040, 0xE0030000, 0x00343040, 0x00343680 - -glabel D_8007F468 -.word 0xE0032000, 0x00343680, 0x00343F70, 0xE0032000, 0x00343F70, 0x00344A10 - -glabel D_8007F480 -.word 0xE0034000, 0x00344A10, 0x003451E0, 0xE0034000, 0x003451E0, 0x003454E0 - -glabel D_8007F498 -.word 0xE0036000, 0x003454E0, 0x00345B40, 0xE0036000, 0x00345B40, 0x0034DD20 - -glabel D_8007F4B0 -.word 0xE0038000, 0x0034DD20, 0x0034E770, 0xE0038000, 0x0034E770, 0x0034EC80 - -glabel D_8007F4C8 -.word 0xE003A000, 0x0034EC80, 0x0034F4C0, 0xE003A000, 0x00328EA0, 0x0032C110 - -glabel D_8007F4E0 -.word 0xE003C000, 0x0034F4C0, 0x00350220, 0xE003C000, 0x00350220, 0x00352440 - -glabel D_8007F4F8 -.word 0xE003E000, 0x00352440, 0x00352CE0, 0xE003E000, 0x00352CE0, 0x00353300 - -glabel D_8007F510 -.word 0xE0040000, 0x00353300, 0x00353BB0, 0xE0040000, 0x00353BB0, 0x003547A0 - -glabel D_8007F528 -.word 0xE0042000, 0x003547A0, 0x00354F60, 0xE0042000, 0x00343040, 0x00343680 - -glabel D_8007F540 -.word 0xE0044000, 0x00354F60, 0x00355EE0, 0xE0044000, 0x00337FC0, 0x00339250 - -glabel D_8007F558 -.word 0xE0046000, 0x00355EE0, 0x00356530, 0xE0046000, 0x00356530, 0x00356980 - -glabel D_8007F570 -.word 0xE0048000, 0x00356980, 0x003573A0, 0xE0048000, 0x003573A0, 0x003584C0 - -glabel D_8007F588 -.word 0xE004A000, 0x003584C0, 0x003593B0, 0xE004A000, 0x003593B0, 0x00359F20 - -glabel D_8007F5A0 -.word 0xE004C000, 0x00359F20, 0x0035A5E0, 0xE004C000, 0x0035A5E0, 0x0035B9D0 - -glabel D_8007F5B8 -.word 0xE004E000, 0x0035B9D0, 0x0035BFD0, 0xE004E000, 0x00328EA0, 0x0032C110 - -glabel D_8007F5D0 -.word 0xE0050000, 0x0035BFD0, 0x0035C550, 0xE0050000, 0x0035C550, 0x0035CA80 - -glabel D_8007F5E8 -.word 0xE0052000, 0x0035CA80, 0x0035D510, 0xE0052000, 0x0035D510, 0x0035DA00 - -glabel D_8007F600 -.word 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000 - -glabel D_8007F618 -.word 0xE0056000, 0x0035DA00, 0x0035E920, 0xE0056000, 0x0033D610, 0x0033E8C0 - -glabel D_8007F630 -.word 0xE0058000, 0x0035E920, 0x0035F0E0, 0xE0058000, 0x0035F0E0, 0x003602C0 - -glabel D_8007F648 -.word 0xE005A000, 0x003602C0, 0x00360A30, 0xE005A000, 0x00360A30, 0x00360F40 - -glabel D_8007F660 -.word 0xE005C000, 0x00360F40, 0x00361670, 0xE005C000, 0x00361670, 0x003625C0 - -glabel D_8007F678 -.word 0xE005E000, 0x003625C0, 0x00362C50, 0xE005E000, 0x00362C50, 0x00363160 - -glabel D_8007F690 -.word 0xE0060000, 0x00363160, 0x003638C0, 0xE0060000, 0x003638C0, 0x00364300 - -glabel D_8007F6A8 -.word 0xE0062000, 0x00364300, 0x00364C00, 0xE0062000, 0x00364C00, 0x00364F10 - -glabel D_8007F6C0 -.word 0xE0064000, 0x00364F10, 0x003659B0, 0xE0064000, 0x003659B0, 0x00366030 - -glabel D_8007F6D8 -.word 0xE0066000, 0x00366030, 0x00366D60, 0xE0066000, 0x00366D60, 0x0036A8D0 - -glabel D_8007F6F0 -.word 0xE0068000, 0x0036A8D0, 0x0036AEE0, 0xE0068000, 0x0036AEE0, 0x0036D020 - -glabel D_8007F708 -.word 0xE006A1E8, 0x0036D020, 0x0036DF90, 0xE006A000, 0x0036DF90, 0x0036E1D0 - -glabel D_8007F720 -.word 0xE006C000, 0x0036E1D0, 0x0036ED60, 0xE006C000, 0x0036ED60, 0x00372790 - -glabel D_8007F738 -.word 0xE006E000, 0x00372790, 0x003733E0, 0xE006E000, 0x003733E0, 0x003740B0 - -glabel D_8007F750 -.word 0xE0070000, 0x003740B0, 0x00374E50, 0xE0070000, 0x00337FC0, 0x00339250 - -glabel D_8007F768 -.word 0xE0072000, 0x00374E50, 0x00375510, 0xE0072000, 0x00375510, 0x00376460 - -glabel D_8007F780 -.word 0xE0074000, 0x00376460, 0x00377070, 0xE0074000, 0x00337FC0, 0x00339250 - -glabel D_8007F798 -.word 0xE0076000, 0x00377070, 0x00377F80, 0xE0076000, 0x00377F80, 0x0037A3F0 - -glabel D_8007F7B0 -.word 0xE0078000, 0x0037A3F0, 0x0037ADD0, 0xE0078000, 0x0037ADD0, 0x0037C540 - -glabel D_8007F7C8 -.word 0xE007A000, 0x0037C540, 0x0037D180, 0xE007A000, 0x0037D180, 0x0037D490 - -glabel D_8007F7E0 -.word 0xE007C000, 0x0037D490, 0x0037D9D0, 0xE007C000, 0x0037D9D0, 0x0037F720 - -glabel D_8007F7F8 -.word 0xE007E000, 0x0037F720, 0x003803A0, 0xE007E000, 0x003803A0, 0x003812C0 - -glabel D_8007F810 -.word 0xE0080000, 0x003812C0, 0x00381E00, 0xE0080000, 0x00381E00, 0x00385640 - -glabel D_8007F828 -.word 0xE0082000, 0x00385640, 0x003863B0, 0xE0082000, 0x003863B0, 0x003889D0 - -glabel D_8007F840 -.word 0xE0084084, 0x003889D0, 0x00389850, 0xE0084000, 0x0037D9D0, 0x0037F720 - -glabel D_8007F858 -.word 0xE0086000, 0x00389850, 0x0038A350, 0xE0086000, 0x0038A350, 0x0038ADF0 - -glabel D_8007F870 -.word 0xE008817C, 0x0038ADF0, 0x0038BBA0, 0xE0088000, 0x0038BBA0, 0x0038C5F0 - -glabel D_8007F888 -.word 0xE008A188, 0x0038C5F0, 0x0038D070, 0xE008A000, 0x0038D070, 0x0038DE00 - -glabel D_8007F8A0 -.word 0xE008C000, 0x0038DE00, 0x0038E990, 0xE008C000, 0x0038E990, 0x0038EE60 - -glabel D_8007F8B8 -.word 0xE008E000, 0x0038EE60, 0x0038F710, 0xE008E000, 0x0038F710, 0x0038F900 - -glabel D_8007F8D0 -.word 0xE0090000, 0x0038F900, 0x003903D0, 0xE0090000, 0x003903D0, 0x00391D30 - -glabel D_8007F8E8 -.word 0xE0092000, 0x00391D30, 0x00392440, 0xE0092000, 0x00392440, 0x003928D0 - -glabel D_8007F900 -.word 0xE0094000, 0x003928D0, 0x003930A0, 0xE0094000, 0x003930A0, 0x00394280 - -glabel D_8007F918 -.word 0xE0096000, 0x00394280, 0x00394670, 0xE0096000, 0x00394670, 0x00395BB0 - -glabel D_8007F930 -.word 0xE0098000, 0x00395BB0, 0x003960F0, 0xE0098000, 0x003960F0, 0x003965B0 - -glabel D_8007F948 -.word 0xE009A000, 0x003965B0, 0x00397040, 0xE009A000, 0x00397040, 0x003981F0 - -glabel D_8007F960 -.word 0xE009C000, 0x003981F0, 0x00398BC0, 0xE009C000, 0x00398BC0, 0x0039FF20 - -glabel D_8007F978 -.word 0xE009E000, 0x0039FF20, 0x003A0D60, 0xE009E000, 0x003A0D60, 0x003A2290 - -glabel D_8007F990 -.word 0xE00A0000, 0x003A2290, 0x003A2440, 0xE00A0000, 0x003A2440, 0x003A2990 - -glabel D_8007F9A8 -.word 0xE00A2000, 0x003A2990, 0x003A33D0, 0xE00A2000, 0x003A33D0, 0x003A37E0 - -glabel D_8007F9C0 -.word 0xE00A4000, 0x003A37E0, 0x003A4320, 0xE00A4000, 0x003A4320, 0x003A5550 - -glabel D_8007F9D8 -.word 0xE00A6000, 0x003A5550, 0x003A5BE0, 0xE00A6000, 0x003A5BE0, 0x003A70F0 - -glabel D_8007F9F0 -.word 0xE00A8000, 0x003A70F0, 0x003A77A0, 0xE00A8000, 0x003A77A0, 0x003AA920 - -glabel D_8007FA08 -.word 0xE00AA000, 0x003AA920, 0x003AB030, 0xE00AA000, 0x003AB030, 0x003AEE20 - -glabel D_8007FA20 -.word 0xE00AC000, 0x003AEE20, 0x003AF700, 0xE00AC000, 0x003AF700, 0x003B2350 - -glabel D_8007FA38 -.word 0xE00AE000, 0x003B2350, 0x003B2D90, 0xE00AE000, 0x003B2D90, 0x003B3EB0 - -glabel D_8007FA50 -.word 0xE00B0000, 0x003B3EB0, 0x003B46A0, 0xE00B0000, 0x003B46A0, 0x003B4790 - -glabel D_8007FA68 -.word 0xE00B2000, 0x003B4790, 0x003B5340, 0xE00B2000, 0x003B5340, 0x003B5CF0 - -glabel D_8007FA80 -.word 0xE00B4000, 0x003B5CF0, 0x003B6BF0, 0xE00B4000, 0x003B6BF0, 0x003B7160 - -glabel D_8007FA98 -.word 0xE00B6000, 0x003B7160, 0x003B78D0, 0xE00B6000, 0x003B78D0, 0x003B7B80 - -glabel D_8007FAB0 -.word 0xE00B8000, 0x003B7B80, 0x003B8860, 0xE00B8000, 0x003B8860, 0x003B8BD0 - -glabel D_8007FAC8 -.word 0xE00BA000, 0x003B8BD0, 0x003B9A70, 0xE00BA000, 0x003B9A70, 0x003BA030 - -glabel D_8007FAE0 -.word 0xE00BC000, 0x003BA030, 0x003BAEA0, 0xE00BC000, 0x003BAEA0, 0x003BBF60 - -glabel D_8007FAF8 -.word 0xE00BE000, 0x003BBF60, 0x003BCA90, 0xE00BE000, 0x003BCA90, 0x003BCD60 - -glabel D_8007FB10 -.word 0xE00C0000, 0x003BCD60, 0x003BD9A0, 0xE00C0000, 0x003BD9A0, 0x003C11D0 - -glabel D_8007FB28 -.word 0xE00C2000, 0x003C11D0, 0x003C1BA0, 0xE00C2000, 0x003C1BA0, 0x003CADF0 - -glabel D_8007FB40 -.word 0xE00C4000, 0x003CADF0, 0x003CB890, 0xE00C4000, 0x003CB890, 0x003CC9E0 - -glabel D_8007FB58 -.word 0xE00C6000, 0x003CC9E0, 0x003CD6E0, 0xE00C6000, 0x003CD6E0, 0x003CF3A0 - -glabel D_8007FB70 -.word 0xE00C8000, 0x003CF3A0, 0x003CFAF0, 0xE00C8000, 0x003CFAF0, 0x003D0500 - -glabel D_8007FB88 -.word 0xE00CA000, 0x003D0500, 0x003D11E0, 0xE00CA000, 0x003D11E0, 0x003D1690 - -glabel D_8007FBA0 -.word 0xE00CC000, 0x003D1690, 0x003D2580, 0xE00CC000, 0x003D2580, 0x003D2AC0 - -glabel D_8007FBB8 -.word 0xE00CE000, 0x003D2AC0, 0x003D3930, 0xE00CE000, 0x003D3930, 0x003D3E20 - -glabel D_8007FBD0 -.word 0xE00D0000, 0x003D3E20, 0x003D4970, 0xE00D0000, 0x003593B0, 0x00359F20 - -glabel D_8007FBE8 -.word 0xE00D2000, 0x003D4970, 0x003D4E90, 0xE00D2000, 0x003D4E90, 0x003D5020 - -glabel D_8007FC00 -.word 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000 - -glabel D_8007FC18 -.word 0xE00D6000, 0x003D5020, 0x003D5F30, 0xE00D6000, 0x003D5F30, 0x003D67C0 - -glabel D_8007FC30 -.word 0xE00D8000, 0x003D67C0, 0x003D7040, 0xE00D8000, 0x003D7040, 0x003D7240 - -glabel D_8007FC48 -.word 0xE00DA000, 0x003D7240, 0x003D7770, 0xE00DA000, 0x003D7770, 0x003D7A70 - -glabel D_8007FC60 -.word 0xE00DC000, 0x003D7A70, 0x003D80C0, 0xE00DC000, 0x003D80C0, 0x003D8720 - -glabel D_8007FC78 -.word 0xE00DE000, 0x003D8720, 0x003D9100, 0xE00DE000, 0x003D9100, 0x003DB460 - -glabel D_8007FC90 -.word 0xE00E0000, 0x003DB460, 0x003DBF40, 0xE00E0000, 0x003DBF40, 0x003DC310 - -glabel D_8007FCA8 -.word 0xE00E2000, 0x003DC310, 0x003DCD50, 0xE00E2000, 0x003DCD50, 0x003DE000 - -glabel D_8007FCC0 -.word 0xE00E4000, 0x003DE000, 0x003DEE60, 0xE00E4000, 0x003DEE60, 0x003E0930 - -glabel D_8007FCD8 -.word 0xE00E6000, 0x003E0930, 0x003E12D0, 0xE00E6000, 0x003E12D0, 0x003E1690 - -glabel D_8007FCF0 -.word 0xE00E8000, 0x003E1690, 0x003E1CD0, 0xE00E8000, 0x003E1CD0, 0x003E1EE0 - -glabel D_8007FD08 -.word 0xE00EA000, 0x003E1EE0, 0x003E2960, 0xE00EA000, 0x003E2960, 0x003E43A0 - -glabel D_8007FD20 -.word 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000 - -glabel D_8007FD38 -.word 0xE010A000, 0x003E43A0, 0x003E5350, 0xE010A000, 0x003E5350, 0x003E54C0 - -glabel D_8007FD50 -.word 0xE010C000, 0x003E54C0, 0x003E5F30, 0xE010C000, 0x003E5F30, 0x003EB4E0 - -glabel D_8007FD68 -.word 0xE010E32C, 0x003EB4E0, 0x003EBE60, 0xE010E000, 0x003EBE60, 0x003F83F0 - -glabel D_8007FD80 -.word 0xE0110000, 0x003F83F0, 0x003F8CC0, 0xE0110000, 0x003F8CC0, 0x003F9E50 - -glabel D_8007FD98 -.word 0xE0112000, 0x003F9E50, 0x003FA4B0, 0xE0112000, 0x003FA4B0, 0x003FEAE0 - -glabel D_8007FDB0 -.word 0xE0114000, 0x003FEAE0, 0x003FF250, 0xE0114000, 0x003FF250, 0x00402640 - -glabel D_8007FDC8 -.word 0xE0116000, 0x00402640, 0x00403400, 0xE0116000, 0x003FA4B0, 0x003FEAE0 - -glabel D_8007FDE0 -.word 0xE0118000, 0x00403400, 0x00403BF0, 0xE0118000, 0x00403BF0, 0x00404220 - -glabel D_8007FDF8 -.word 0xE011A000, 0x00404220, 0x00404F40, 0xE011A000, 0x00404F40, 0x00406B40 - -glabel D_8007FE10 -.word 0xE011C000, 0x00406B40, 0x00407080, 0xE011C000, 0x00407080, 0x00409990 - -glabel D_8007FE28 -.word 0xE011E000, 0x00409990, 0x0040A1C0, 0xE011E000, 0x0040A1C0, 0x0040B3F0 - -glabel D_8007FE40 -.word 0xE0120000, 0x0040B3F0, 0x0040BBA0, 0xE0120000, 0x0040BBA0, 0x0040C5A0 - -glabel D_8007FE58 -.word 0xE0122000, 0x0040C5A0, 0x0040D290, 0xE0122000, 0x0040D290, 0x00412730 - -glabel D_8007FE70 -.word 0xE0124000, 0x00412730, 0x00413360, 0xE0124000, 0x00337FC0, 0x00339250 - -glabel D_8007FE88 -.word 0xE0126000, 0x00413360, 0x00413FA0, 0xE0126000, 0x00413FA0, 0x00414BA0 - -glabel D_8007FEA0 -.word 0xE0128000, 0x00414BA0, 0x00415060, 0xE0128000, 0x00415060, 0x00415D90, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00000000, 0x00000200, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000002, 0x00000004, 0x0000000C, 0x00000000, 0xFFFFFFFF, 0x0000000D, 0x00000001, 0x0002C7C0, 0x0002C8E0, 0x00000000, 0x00000000, 0x0000000C, 0x00000000, 0xFFFFFFFF, 0x0000000D, 0x00000001, 0x0002C7C0, 0x0002C8E0, 0x00000000, 0x00000000, 0x0000000C, 0x00000000, 0xFFFFFFFF, 0x0000000D, 0x00000001, 0x0002C7C0, 0x0002C8E0, 0x00000000, 0x00000000, 0x0000000C, 0x00000000, 0xFFFFFFFF, 0x0000000D, 0x00000001, 0x0002C7C0, 0x0002C8E0, 0x00000000, 0x00000000, 0x0000000C, 0x00000002, 0xFFFFFFFF, 0x0000000D, 0x00000001, 0x0002C900, 0x0002CA20, 0x00000000, 0x00000000, 0x0000000C, 0x00000002, 0xFFFFFFFF, 0x0000000D, 0x00000001, 0x0002CA40, 0x0002CB60, 0x00000000, 0x00000000, 0x0000000C, 0x00000002, 0xFFFFFFFF, 0x0000000D, 0x00000004, 0x0002CB80, 0x0002CCA0, 0x00000000, 0x00000000, 0x0000000C, 0x00000002, 0x00000004, 0x0000000D, 0x00000001, 0x0002C900, 0x0002CA20, 0x00000000, 0x00000000, 0x0000000C, 0x00000000, 0x00000003, 0x0000000D, 0x00000001, 0x0002C7C0, 0x0002C8E0, 0x00000000, 0x00000000, 0x0000000C, 0x00000000, 0xFFFFFFFF, 0x0000000D, 0x0000000E, 0x0002CCC0, 0x0002CDE0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000002, 0x0000000C, 0x00000000, 0xFFFFFFFF, 0x0000000D, 0x00000001, 0x0002C7C0, 0x0002C8E0, 0x00000000, 0x00000000, 0x0000000C, 0x00000002, 0xFFFFFFFF, 0x0000000D, 0x00000001, 0x0002C900, 0x0002CA20, 0x00000000, 0x00000000, 0x0000000C, 0x00000002, 0xFFFFFFFF, 0x0000000D, 0x00000001, 0x0002CA40, 0x0002CB60, 0x00000000, 0x00000000, 0x0000000C, 0x00000002, 0xFFFFFFFF, 0x0000000D, 0x00000004, 0x0002CB80, 0x0002CCA0, 0x00000000, 0x00000000, 0x0000000C, 0x00000002, 0x00000004, 0x0000000D, 0x00000001, 0x0002C900, 0x0002CA20, 0x00000000, 0x00000000, 0x0000000C, 0x00000000, 0x00000003, 0x0000000D, 0x00000001, 0x0002C7C0, 0x0002C8E0, 0x00000000, 0x00000000, 0x0000000C, 0x00000000, 0xFFFFFFFF, 0x0000000D, 0x00000002, 0x0002CCC0, 0x0002CDE0, 0x00000000, 0x00000000, 0x0000000C, 0x00000000, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0002C7C0, 0x0002C8E0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000002, 0x00000004, 0x0000000D, 0x0000003C, 0x0002C7C0, 0x0002C8E0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000002, 0x00000004, 0x0000000C, 0x00000000, 0x00000000, 0x0000000D, 0x00000001, 0x0002CE00, 0x0002CF20, 0x00000000, 0x00000000, 0x0000000C, 0x00000000, 0x00000000, 0x0000000D, 0x00000001, 0x0002CE00, 0x0002CF20, 0x00000000, 0x00000000, 0x0000000C, 0x00000000, 0x00000000, 0x0000000D, 0x00000001, 0x0002CE00, 0x0002CF20, 0x00000000, 0x00000000, 0x0000000C, 0x00000000, 0x00000000, 0x0000000D, 0x00000001, 0x0002CE00, 0x0002CF20, 0x00000000, 0x00000000, 0x0000000C, 0x00000000, 0xFFFFFFFF, 0x0000000D, 0x00000001, 0x0002CF40, 0x0002D060, 0x00000000, 0x00000000, 0x0000000C, 0x00000000, 0xFFFFFFFF, 0x0000000D, 0x00000001, 0x0002D080, 0x0002D1A0, 0x00000000, 0x00000000, 0x0000000C, 0x00000001, 0xFFFFFFFD, 0x0000000D, 0x00000004, 0x0002D1C0, 0x0002D2E0, 0x00000000, 0x00000000, 0x0000000C, 0x00000000, 0x00000004, 0x0000000D, 0x00000001, 0x0002CF40, 0x0002D060, 0x00000000, 0x00000000, 0x0000000C, 0x00000000, 0x00000004, 0x0000000D, 0x00000001, 0x0002CE00, 0x0002CF20, 0x00000000, 0x00000000, 0x0000000C, 0x00000000, 0x00000001, 0x0000000D, 0x0000000E, 0x0002D300, 0x0002D420, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000002, 0x0000000C, 0x00000000, 0x00000000, 0x0000000D, 0x00000001, 0x0002CE00, 0x0002CF20, 0x00000000, 0x00000000, 0x0000000C, 0x00000000, 0xFFFFFFFF, 0x0000000D, 0x00000001, 0x0002CF40, 0x0002D060, 0x00000000, 0x00000000, 0x0000000C, 0x00000000, 0xFFFFFFFF, 0x0000000D, 0x00000001, 0x0002D080, 0x0002D1A0, 0x00000000, 0x00000000, 0x0000000C, 0x00000001, 0xFFFFFFFD, 0x0000000D, 0x00000004, 0x0002D1C0, 0x0002D2E0, 0x00000000, 0x00000000, 0x0000000C, 0x00000000, 0x00000004, 0x0000000D, 0x00000001, 0x0002CF40, 0x0002D060, 0x00000000, 0x00000000, 0x0000000C, 0x00000000, 0x00000004, 0x0000000D, 0x00000001, 0x0002CE00, 0x0002CF20, 0x00000000, 0x00000000, 0x0000000C, 0x00000000, 0x00000001, 0x0000000D, 0x00000002, 0x0002D300, 0x0002D420, 0x00000000, 0x00000000, 0x0000000C, 0x00000000, 0x00000004, 0x00000004, 0x0000000D, 0x0000003C, 0x0002CE00, 0x0002CF20, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000002, 0x00000004, 0x0000000D, 0x0000003C, 0x0002CE00, 0x0002CF20, 0x00000000, 0x00000000, 0x00000003, 0x00000000 - -glabel D_800804F0 -.word 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00000000, 0x00000200, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00000220, 0x00000420, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00000440, 0x00000640, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00000660, 0x00000860, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00000880, 0x00000A80, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00000AA0, 0x00000CA0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00000CC0, 0x00000EC0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00000EE0, 0x000010E0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00001100, 0x00001300, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0002D940, 0x0002DB40, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0002DB80, 0x0002DD80, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0002DDC0, 0x0002DFC0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0002E000, 0x0002E200, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0002E240, 0x0002E440, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0002E480, 0x0002E680, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0002E6C0, 0x0002E8C0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000002, 0x00000004, 0x0000000D, 0x0000003C, 0x00030CE0, 0x00030E00, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000002, 0x00000004, 0x0000000D, 0x0000000A, 0x00030A60, 0x00030B80, 0x00000000, 0x00000000, 0x0000000D, 0x00000006, 0x00030BA0, 0x00030CC0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000002, 0x00000004, 0x00000015, 0x00000000, 0x0000000D, 0x00000003, 0x0002F5C0, 0x0002F6E0, 0x00000000, 0x00000000, 0x0000000D, 0x00000003, 0x0002F700, 0x0002F820, 0x00000000, 0x00000000, 0x0000000D, 0x00000003, 0x0002FAC0, 0x0002FBE0, 0x00000000, 0x00000000, 0x0000000D, 0x00000003, 0x0002FC00, 0x0002FD20, 0x00000000, 0x00000000, 0x0000000D, 0x00000003, 0x0002FD40, 0x0002FE60, 0x00000000, 0x00000000, 0x0000000D, 0x00000003, 0x0002FE80, 0x0002FFA0, 0x00000000, 0x00000000, 0x0000000D, 0x00000003, 0x0002FFC0, 0x000300E0, 0x00000000, 0x00000000, 0x0000000D, 0x00000003, 0x00030100, 0x00030220, 0x00000000, 0x00000000, 0x00000014, 0x00000064, 0x00000046, 0x00000015, 0x00000001, 0x0000000D, 0x00000003, 0x0002F5C0, 0x0002F6E0, 0x00000000, 0x00000000, 0x0000000D, 0x00000002, 0x0002F700, 0x0002F820, 0x00000000, 0x00000000, 0x0000000D, 0x00000001, 0x0002F840, 0x0002F960, 0x00000000, 0x00000000, 0x0000000D, 0x00000001, 0x0002F980, 0x0002FAA0, 0x00000000, 0x00000000, 0x0000000D, 0x00000002, 0x0002FAC0, 0x0002FBE0, 0x00000000, 0x00000000, 0x0000000D, 0x00000003, 0x0002FC00, 0x0002FD20, 0x00000000, 0x00000000, 0x0000000D, 0x00000003, 0x0002FD40, 0x0002FE60, 0x00000000, 0x00000000, 0x0000000D, 0x00000003, 0x0002FE80, 0x0002FFA0, 0x00000000, 0x00000000, 0x0000000D, 0x00000003, 0x0002FFC0, 0x000300E0, 0x00000000, 0x00000000, 0x0000000D, 0x00000003, 0x00030100, 0x00030220, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x0000000C, 0xFFFFFFF8, 0x00000000, 0x0000000D, 0x00000001, 0x00030240, 0x00030260, 0x00000000, 0x00000000, 0x0000000D, 0x00000001, 0x00030280, 0x000302A0, 0x00000000, 0x00000000, 0x0000000D, 0x00000001, 0x000302C0, 0x000302E0, 0x00000000, 0x00000000, 0x0000000D, 0x00000002, 0x000303C0, 0x000303E0, 0x00000000, 0x00000000, 0x0000000D, 0x00000001, 0x000302C0, 0x000302E0, 0x00000000, 0x00000000, 0x0000000D, 0x00000001, 0x00030300, 0x00030320, 0x00000000, 0x00000000, 0x0000000D, 0x00000001, 0x000303C0, 0x000303E0, 0x00000000, 0x00000000, 0x0000000D, 0x00000001, 0x00030340, 0x00030360, 0x00000000, 0x00000000, 0x0000000D, 0x00000001, 0x000303C0, 0x000303E0, 0x00000000, 0x00000000, 0x0000000D, 0x00000001, 0x00030380, 0x000303A0, 0x00000000, 0x00000000, 0x0000000D, 0x00000010, 0x000303C0, 0x000303E0, 0x00000000, 0x00000000, 0x00000000, 0x0000000C, 0x00000008, 0x00000008, 0x0000000D, 0x00000001, 0x00030240, 0x00030260, 0x00000000, 0x00000000, 0x0000000D, 0x00000001, 0x00030280, 0x000302A0, 0x00000000, 0x00000000, 0x0000000D, 0x00000001, 0x000302C0, 0x000302E0, 0x00000000, 0x00000000, 0x0000000D, 0x00000002, 0x000303C0, 0x000303E0, 0x00000000, 0x00000000, 0x0000000D, 0x00000001, 0x000302C0, 0x000302E0, 0x00000000, 0x00000000, 0x0000000D, 0x00000001, 0x00030300, 0x00030320, 0x00000000, 0x00000000, 0x0000000D, 0x00000001, 0x000303C0, 0x000303E0, 0x00000000, 0x00000000, 0x0000000D, 0x00000001, 0x00030340, 0x00030360, 0x00000000, 0x00000000, 0x0000000D, 0x00000001, 0x000303C0, 0x000303E0, 0x00000000, 0x00000000, 0x0000000D, 0x00000001, 0x00030380, 0x000303A0, 0x00000000, 0x00000000, 0x0000000D, 0x00000010, 0x000303C0, 0x000303E0, 0x00000000, 0x00000000, 0x00000000, 0x0000000C, 0xFFFFFFFC, 0x00000008, 0x0000000D, 0x00000001, 0x00030240, 0x00030260, 0x00000000, 0x00000000, 0x0000000D, 0x00000001, 0x00030280, 0x000302A0, 0x00000000, 0x00000000, 0x0000000D, 0x00000001, 0x000302C0, 0x000302E0, 0x00000000, 0x00000000, 0x0000000D, 0x00000002, 0x000303C0, 0x000303E0, 0x00000000, 0x00000000, 0x0000000D, 0x00000001, 0x000302C0, 0x000302E0, 0x00000000, 0x00000000, 0x0000000D, 0x00000001, 0x00030300, 0x00030320, 0x00000000, 0x00000000, 0x0000000D, 0x00000001, 0x000303C0, 0x000303E0, 0x00000000, 0x00000000, 0x0000000D, 0x00000001, 0x00030340, 0x00030360, 0x00000000, 0x00000000, 0x0000000D, 0x00000001, 0x000303C0, 0x000303E0, 0x00000000, 0x00000000, 0x0000000D, 0x00000001, 0x00030380, 0x000303A0, 0x00000000, 0x00000000, 0x0000000D, 0x00000010, 0x000303C0, 0x000303E0, 0x00000000, 0x00000000, 0x00000000, 0x0000000C, 0x00000006, 0xFFFFFFFA, 0x0000000D, 0x00000001, 0x00030240, 0x00030260, 0x00000000, 0x00000000, 0x0000000D, 0x00000001, 0x00030280, 0x000302A0, 0x00000000, 0x00000000, 0x0000000D, 0x00000001, 0x000302C0, 0x000302E0, 0x00000000, 0x00000000, 0x0000000D, 0x00000002, 0x000303C0, 0x000303E0, 0x00000000, 0x00000000, 0x0000000D, 0x00000001, 0x000302C0, 0x000302E0, 0x00000000, 0x00000000, 0x0000000D, 0x00000001, 0x00030300, 0x00030320, 0x00000000, 0x00000000, 0x0000000D, 0x00000001, 0x000303C0, 0x000303E0, 0x00000000, 0x00000000, 0x0000000D, 0x00000001, 0x00030340, 0x00030360, 0x00000000, 0x00000000, 0x0000000D, 0x00000001, 0x000303C0, 0x000303E0, 0x00000000, 0x00000000, 0x0000000D, 0x00000001, 0x00030380, 0x000303A0, 0x00000000, 0x00000000, 0x0000000D, 0x00000010, 0x000303C0, 0x000303E0, 0x00000000, 0x00000000, 0x00000000, 0x0000000C, 0x00000001, 0xFFFFFFF8, 0x0000000D, 0x00000001, 0x00030240, 0x00030260, 0x00000000, 0x00000000, 0x0000000D, 0x00000001, 0x00030280, 0x000302A0, 0x00000000, 0x00000000, 0x0000000D, 0x00000001, 0x000302C0, 0x000302E0, 0x00000000, 0x00000000, 0x0000000D, 0x00000002, 0x000303C0, 0x000303E0, 0x00000000, 0x00000000, 0x0000000D, 0x00000001, 0x000302C0, 0x000302E0, 0x00000000, 0x00000000, 0x0000000D, 0x00000001, 0x00030300, 0x00030320, 0x00000000, 0x00000000, 0x0000000D, 0x00000001, 0x000303C0, 0x000303E0, 0x00000000, 0x00000000, 0x0000000D, 0x00000001, 0x00030340, 0x00030360, 0x00000000, 0x00000000, 0x0000000D, 0x00000001, 0x000303C0, 0x000303E0, 0x00000000, 0x00000000, 0x0000000D, 0x00000001, 0x00030380, 0x000303A0, 0x00000000, 0x00000000, 0x0000000D, 0x00000010, 0x000303C0, 0x000303E0, 0x00000000, 0x00000000, 0x00000000, 0x00000008, 0x00000005, 0x00000000, 0x00000017, 0x00000005, 0x80080A4C, 0x80080B64, 0x80080C7C, 0x80080D94, 0x80080EAC, 0x00000000, 0x00000008, 0x00000005, 0x00000002, 0x00000004, 0x0000000D, 0x00000002, 0x00030E20, 0x00030F40, 0x00000000, 0x00000000, 0x0000000D, 0x00000002, 0x00030F60, 0x00031080, 0x00000000, 0x00000000, 0x0000000D, 0x00000002, 0x000310A0, 0x000311C0, 0x00000000, 0x00000000, 0x0000000D, 0x00000002, 0x000311E0, 0x00031300, 0x00000000, 0x00000000, 0x0000000D, 0x00000002, 0x00031320, 0x00031440, 0x00000000, 0x00000000, 0x0000000D, 0x00000002, 0x00031460, 0x00031580, 0x00000000, 0x00000000, 0x0000000D, 0x00000002, 0x000315A0, 0x000316C0, 0x00000000, 0x00000000, 0x0000000D, 0x00000002, 0x000316E0, 0x00031800, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000000, 0x00000004, 0x0000000D, 0x00000002, 0x00031CA0, 0x00031CC0, 0x00000000, 0x00000000, 0x0000000D, 0x00000002, 0x00031CE0, 0x00031D00, 0x00000000, 0x00000000, 0x0000000D, 0x00000002, 0x00031D20, 0x00031D40, 0x00000000, 0x00000000, 0x0000000D, 0x00000002, 0x00031D60, 0x00031D80, 0x00000000, 0x00000000, 0x0000000D, 0x00000002, 0x00031DA0, 0x00031DC0, 0x00000000, 0x00000000, 0x0000000D, 0x00000002, 0x00031DE0, 0x00031E00, 0x00000000, 0x00000000, 0x0000000D, 0x00000002, 0x00031E20, 0x00031E40, 0x00000000, 0x00000000, 0x0000000D, 0x00000002, 0x00031E60, 0x00031E80, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x00000008, 0x0002E900, 0x0002EB00, 0x00000000, 0x00000000, 0x0000000D, 0x00000005, 0x0002EB20, 0x0002ED20, 0x00000000, 0x00000000, 0x0000000D, 0x00000008, 0x0002ED40, 0x0002EF40, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x00000008, 0x0002EF60, 0x0002F160, 0x00000000, 0x00000000, 0x0000000D, 0x00000005, 0x0002F180, 0x0002F380, 0x00000000, 0x00000000, 0x0000000D, 0x00000008, 0x0002F3A0, 0x0002F5A0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000000C, 0x00030400, 0x00030600, 0x00000000, 0x00000000, 0x0000000D, 0x00000004, 0x00030620, 0x00030820, 0x00000000, 0x00000000, 0x0000000D, 0x0000000C, 0x00030840, 0x00030A40, 0x00000000, 0x00000000, 0x0000000D, 0x00000004, 0x00030620, 0x00030820, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00001320, 0x00001520, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00001540, 0x00001740, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00001760, 0x00001960, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00001980, 0x00001B80, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00001BA0, 0x00001DA0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00001DC0, 0x00001FC0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00001FE0, 0x000021E0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00002200, 0x00002400, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00009020, 0x00009220, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00009240, 0x00009440, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00009460, 0x00009660, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00009680, 0x00009880, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x000098A0, 0x00009AA0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00009AC0, 0x00009CC0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00009CE0, 0x00009EE0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00009F00, 0x0000A100, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0000A120, 0x0000A320, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0000A340, 0x0000A540, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0000A560, 0x0000A760, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0000A780, 0x0000A980, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0000A9A0, 0x0000ABA0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0000ABC0, 0x0000ADC0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0000ADE0, 0x0000AFE0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0000B000, 0x0000B200, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0000B220, 0x0000B420, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0000B440, 0x0000B640, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0000B660, 0x0000B860, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0000B880, 0x0000BA80, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0000BAA0, 0x0000BCA0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0000BCC0, 0x0000BEC0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0000BEE0, 0x0000C0E0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0000C100, 0x0000C300, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0000C320, 0x0000C520, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0000C540, 0x0000C740, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0000C760, 0x0000C960, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0000C980, 0x0000CB80, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0000CBA0, 0x0000CDA0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0000CDC0, 0x0000CFC0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0000CFE0, 0x0000D1E0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0000D200, 0x0000D400, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0000D420, 0x0000D620, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0000D640, 0x0000D840, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0000D860, 0x0000DA60, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0000DAA0, 0x0000DCA0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0000DCC0, 0x0000DEC0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0000DEE0, 0x0000E0E0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0000E100, 0x0000E300, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0000E320, 0x0000E520, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0000E540, 0x0000E740, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0000E760, 0x0000E960, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0000E980, 0x0000EB80, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0000EBC0, 0x0000EDC0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0000EDE0, 0x0000EFE0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0000F000, 0x0000F200, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0000F220, 0x0000F420, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0000F440, 0x0000F640, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0000F660, 0x0000F860, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0000F880, 0x0000FA80, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0000FAA0, 0x0000FCA0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0000FCE0, 0x0000FEE0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0000FF00, 0x00010100, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00010120, 0x00010320, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00010340, 0x00010540, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00010560, 0x00010760, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00010780, 0x00010980, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x000109A0, 0x00010BA0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00010BC0, 0x00010DC0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00010E00, 0x00011000, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00011020, 0x00011220, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00011240, 0x00011440, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00011460, 0x00011660, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00011680, 0x00011880, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x000118A0, 0x00011AA0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00011AC0, 0x00011CC0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00011CE0, 0x00011EE0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00011F20, 0x00012120, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00012140, 0x00012340, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00012360, 0x00012560, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00012580, 0x00012780, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x000127A0, 0x000129A0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x000129C0, 0x00012BC0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x000129C0, 0x00012BE0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00012C00, 0x00012E00, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00012C00, 0x00012E20, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00012E40, 0x00013040, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00012E40, 0x00013060, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00013080, 0x00013280, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00013080, 0x000132A0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x000132C0, 0x000134C0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x000132C0, 0x000134E0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00013500, 0x00013700, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00013500, 0x00013720, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00013740, 0x00013940, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00013740, 0x00013960, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00013980, 0x00013B80, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00013980, 0x00013BA0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00013BC0, 0x00013DC0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00013BC0, 0x00013DE0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00013E00, 0x00014000, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00013E00, 0x00014020, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00014040, 0x00014240, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00014040, 0x00014260, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00014280, 0x00014480, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00014280, 0x000144A0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x000144C0, 0x000146C0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x000144C0, 0x000146E0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00014700, 0x00014900, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00014700, 0x00014920, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00014940, 0x00014B40, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00014940, 0x00014B60, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00014B80, 0x00014D80, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00014B80, 0x00014DA0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00002420, 0x00002620, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00002420, 0x00002640, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00002660, 0x00002860, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00002660, 0x00002880, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x000028A0, 0x00002AA0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x000028A0, 0x00002AC0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00002AE0, 0x00002CE0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00002AE0, 0x00002D00, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00002D20, 0x00002F20, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00002D20, 0x00002F40, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00002F60, 0x00003160, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00002F60, 0x00003180, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x000031A0, 0x000033A0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x000031A0, 0x000033C0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x000033E0, 0x000035E0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x000033E0, 0x00003600, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00003620, 0x00003820, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00003620, 0x00003840, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00003860, 0x00003A60, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00003860, 0x00003A80, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00003AA0, 0x00003CA0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00003AA0, 0x00003CC0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00003CE0, 0x00003EE0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00003CE0, 0x00003F00, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00003F20, 0x00004120, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00003F20, 0x00004140, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00004160, 0x00004360, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00004160, 0x00004380, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x000043A0, 0x000045A0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x000043A0, 0x000045C0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x000045E0, 0x000047E0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x000045E0, 0x00004800, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00004820, 0x00004A20, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00004820, 0x00004A40, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00004A60, 0x00004C60, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00004A60, 0x00004C80, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00004CA0, 0x00004EA0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00004CA0, 0x00004EC0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00004EE0, 0x000050E0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00004EE0, 0x00005100, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00005120, 0x00005320, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00005120, 0x00005340, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00005360, 0x00005560, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00005360, 0x00005580, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x000055A0, 0x000057A0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x000055A0, 0x000057C0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x000057E0, 0x000059E0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x000057E0, 0x00005A00, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00005A20, 0x00005C20, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00005A20, 0x00005C40, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00005C60, 0x00005E60, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00005C60, 0x00005E80, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00005EA0, 0x000060A0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00005EA0, 0x000060C0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x000060E0, 0x000062E0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x000060E0, 0x00006300, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00006320, 0x00006520, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00006320, 0x00006540, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00006560, 0x00006760, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00006560, 0x00006780, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x000067A0, 0x000069A0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x000067A0, 0x000069C0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x000069E0, 0x00006BE0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x000069E0, 0x00006C00, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00006C20, 0x00006E20, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00006C20, 0x00006E40, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00006E60, 0x00007060, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00006E60, 0x00007080, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x000070A0, 0x000072A0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x000070A0, 0x000072C0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x000072E0, 0x000074E0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x000072E0, 0x00007500, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00007520, 0x00007720, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00007520, 0x00007740, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00007760, 0x00007960, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00007760, 0x00007980, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x000079A0, 0x00007BA0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x000079A0, 0x00007BC0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00007BE0, 0x00007DE0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00007BE0, 0x00007E00, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00007E20, 0x00008020, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00007E20, 0x00008040, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00008060, 0x00008260, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00008060, 0x00008280, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x000082A0, 0x000084A0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x000082A0, 0x000084C0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x000084E0, 0x000086E0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x000084E0, 0x00008700, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00008720, 0x00008920, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00008720, 0x00008940, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00008960, 0x00008B60, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00008960, 0x00008B80, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00008BA0, 0x00008DA0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00008BA0, 0x00008DC0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00008DE0, 0x00008FE0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00008DE0, 0x00009000, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00014DC0, 0x00014FC0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00014DC0, 0x00014FE0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00015000, 0x00015200, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00015000, 0x00015220, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00015240, 0x00015440, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00015240, 0x00015460, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00015480, 0x00015680, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00015480, 0x000156A0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x000156C0, 0x000158C0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x000156C0, 0x000158E0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00015900, 0x00015B00, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00015900, 0x00015B20, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00015B40, 0x00015D40, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00015B40, 0x00015D60, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00015D80, 0x00015F80, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00015D80, 0x00015FA0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00015FC0, 0x000161C0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00015FC0, 0x000161E0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00016200, 0x00016400, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00016200, 0x00016420, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00016440, 0x00016640, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00016440, 0x00016660, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00016680, 0x00016880, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00016680, 0x000168A0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x000168C0, 0x00016AC0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x000168C0, 0x00016AE0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00016B00, 0x00016D00, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00016B00, 0x00016D20, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00016D40, 0x00016F40, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00016D40, 0x00016F60, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00016F80, 0x00017180, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00016F80, 0x000171A0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x000171C0, 0x000173C0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x000171C0, 0x000173E0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00017400, 0x00017600, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00017400, 0x00017620, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00017640, 0x00017840, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00017640, 0x00017860, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00017880, 0x00017A80, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00017880, 0x00017AA0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00017AC0, 0x00017CC0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00017AC0, 0x00017CE0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00017D00, 0x00017F00, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00017D00, 0x00017F20, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00017F40, 0x00018140, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00017F40, 0x00018160, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00018180, 0x00018380, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00018180, 0x000183A0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x000183C0, 0x000185C0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x000183C0, 0x000185E0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00018600, 0x00018800, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00018600, 0x00018820, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00018840, 0x00018A40, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00018840, 0x00018A60, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00018A80, 0x00018C80, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00018A80, 0x00018CA0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00018CC0, 0x00018EC0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00018CC0, 0x00018EE0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00018F00, 0x00019100, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00018F00, 0x00019120, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00019140, 0x00019340, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00019140, 0x00019360, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00019380, 0x00019580, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00019380, 0x000195A0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x000195C0, 0x000197C0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x000195C0, 0x000197E0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00019800, 0x00019A00, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00019800, 0x00019A20, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00019A40, 0x00019C40, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00019A40, 0x00019C60, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00019C80, 0x00019E80, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00019C80, 0x00019EA0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00019EC0, 0x0001A0C0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00019EC0, 0x0001A0E0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001A100, 0x0001A300, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001A100, 0x0001A320, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001A340, 0x0001A540, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001A340, 0x0001A560, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001A580, 0x0001A780, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001A580, 0x0001A7A0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001A7C0, 0x0001A9C0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001A7C0, 0x0001A9E0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001AA00, 0x0001AC00, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001AA00, 0x0001AC20, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001AC40, 0x0001AE40, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001AC40, 0x0001AE60, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001AE80, 0x0001B080, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001AE80, 0x0001B0A0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001B0C0, 0x0001B2C0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001B0C0, 0x0001B2E0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001B300, 0x0001B500, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001B300, 0x0001B520, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001B540, 0x0001B740, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001B540, 0x0001B760, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001B780, 0x0001B980, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001B780, 0x0001B9A0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001B9C0, 0x0001BBC0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001B9C0, 0x0001BBE0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001BC00, 0x0001BE00, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001BC00, 0x0001BE20, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001BE40, 0x0001C040, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001BE40, 0x0001C060, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001C080, 0x0001C280, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001C080, 0x0001C2A0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001C2C0, 0x0001C4C0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001C2C0, 0x0001C4E0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001C500, 0x0001C700, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001C500, 0x0001C720, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001C740, 0x0001C940, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001C740, 0x0001C960, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001C980, 0x0001CB80, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001C980, 0x0001CBA0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001CBC0, 0x0001CDC0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001CBC0, 0x0001CDE0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001CE00, 0x0001D000, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001CE00, 0x0001D020, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001D040, 0x0001D240, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001D040, 0x0001D260, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001D280, 0x0001D480, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001D280, 0x0001D4A0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001D4C0, 0x0001D6C0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001D4C0, 0x0001D6E0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001D700, 0x0001D900, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001D700, 0x0001D920, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001D940, 0x0001DB40, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001D940, 0x0001DB60, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001DB80, 0x0001DD80, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001DB80, 0x0001DDA0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001DDC0, 0x0001DFC0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001DDC0, 0x0001DFE0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001E000, 0x0001E200, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001E000, 0x0001E220, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001E240, 0x0001E440, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001E240, 0x0001E460, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001E480, 0x0001E680, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001E480, 0x0001E6A0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001E6C0, 0x0001E8C0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001E6C0, 0x0001E8E0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001E900, 0x0001EB00, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001E900, 0x0001EB20, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001EB40, 0x0001ED40, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001EB40, 0x0001ED60, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001ED80, 0x0001EF80, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001ED80, 0x0001EFA0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001EFC0, 0x0001F1C0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001EFC0, 0x0001F1E0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001F200, 0x0001F400, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001F200, 0x0001F420, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001F440, 0x0001F640, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001F440, 0x0001F660, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001F680, 0x0001F880, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001F680, 0x0001F8A0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001F8C0, 0x0001FAC0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001F8C0, 0x0001FAE0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001FB00, 0x0001FD00, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001FB00, 0x0001FD20, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001FD40, 0x0001FF40, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001FD40, 0x0001FF60, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001FF80, 0x00020180, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001FF80, 0x000201A0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x000201C0, 0x000203C0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x000201C0, 0x000203E0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00020400, 0x00020600, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00020400, 0x00020620, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00020640, 0x00020840, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00020640, 0x00020860, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00020880, 0x00020A80, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00020880, 0x00020AA0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00020AC0, 0x00020CC0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00020AC0, 0x00020CE0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00020D00, 0x00020F00, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00020D00, 0x00020F20, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00020F40, 0x00021140, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00020F40, 0x00021160, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00021180, 0x00021380, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00021180, 0x000213A0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x000213C0, 0x000215C0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x000213C0, 0x000215E0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00021600, 0x00021800, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00021600, 0x00021820, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00021840, 0x00021A40, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00021840, 0x00021A60, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00021A80, 0x00021C80, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00021A80, 0x00021CA0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00021CC0, 0x00021EC0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00021CC0, 0x00021EE0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00021F00, 0x00022100, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00021F00, 0x00022120, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00022140, 0x00022340, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00022140, 0x00022360, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00022380, 0x00022580, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00022380, 0x000225A0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x000225C0, 0x000227C0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x000225C0, 0x000227E0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00022800, 0x00022A00, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00022800, 0x00022A20, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00022A40, 0x00022C40, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00022A40, 0x00022C60, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00022C80, 0x00022E80, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00022C80, 0x00022EA0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00022EC0, 0x000230C0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00022EC0, 0x000230E0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00023100, 0x00023300, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00023100, 0x00023320, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00023340, 0x00023540, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00023340, 0x00023560, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00023580, 0x00023780, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00023580, 0x000237A0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0002A3C0, 0x0002A5C0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0002A3C0, 0x0002A5E0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0002A600, 0x0002A800, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0002A600, 0x0002A820, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0002A840, 0x0002AA40, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0002A840, 0x0002AA60, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0002AA80, 0x0002AC80, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0002AA80, 0x0002ACA0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0002ACC0, 0x0002AEC0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0002ACC0, 0x0002AEE0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0002AF00, 0x0002B100, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0002AF00, 0x0002B120, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0002B140, 0x0002B340, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0002B140, 0x0002B360, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0002B380, 0x0002B580, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0002B380, 0x0002B5A0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0002B5C0, 0x0002B7C0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0002B5C0, 0x0002B7E0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0002B800, 0x0002BA00, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0002B800, 0x0002BA20, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0002BA40, 0x0002BC40, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0002BA40, 0x0002BC60, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0002BC80, 0x0002BE80, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0002BC80, 0x0002BEA0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0002BEC0, 0x0002C0C0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0002BEC0, 0x0002C0E0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0002C100, 0x0002C300, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0002C100, 0x0002C320, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0002C340, 0x0002C540, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0002C340, 0x0002C560, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0002C580, 0x0002C780, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0002C580, 0x0002C7A0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x000237C0, 0x000239C0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x000237C0, 0x000239E0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00023A00, 0x00023C00, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00023A00, 0x00023C20, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00023C40, 0x00023E40, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00023C40, 0x00023E60, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00023E80, 0x00024080, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00023E80, 0x000240A0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x000240C0, 0x000242C0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x000240C0, 0x000242E0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00024300, 0x00024500, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00024300, 0x00024520, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00024540, 0x00024740, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00024540, 0x00024760, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00024780, 0x00024980, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00024780, 0x000249A0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x000249C0, 0x00024BC0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x000249C0, 0x00024BE0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00024C00, 0x00024E00, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00024C00, 0x00024E20, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00024E40, 0x00025040, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00024E40, 0x00025060, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00025080, 0x00025280, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00025080, 0x000252A0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x000252C0, 0x000254C0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x000252C0, 0x000254E0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00025500, 0x00025700, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00025500, 0x00025720, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00025740, 0x00025940, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00025740, 0x00025960, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00025980, 0x00025B80, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00025980, 0x00025BA0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00025BC0, 0x00025DC0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00025BC0, 0x00025DE0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00025E00, 0x00026000, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00025E00, 0x00026020, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00026040, 0x00026240, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00026040, 0x00026260, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00026280, 0x00026480, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00026280, 0x000264A0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x000264C0, 0x000266C0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x000264C0, 0x000266E0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00026700, 0x00026900, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00026700, 0x00026920, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00026940, 0x00026B40, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00026940, 0x00026B60, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00026B80, 0x00026D80, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00026B80, 0x00026DA0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00026DC0, 0x00026FC0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00026DC0, 0x00026FE0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00027000, 0x00027200, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00027000, 0x00027220, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00027240, 0x00027440, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00027240, 0x00027460, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00027480, 0x00027680, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00027480, 0x000276A0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x000276C0, 0x000278C0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x000276C0, 0x000278E0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00027900, 0x00027B00, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00027900, 0x00027B20, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00027B40, 0x00027D40, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00027B40, 0x00027D60, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00027D80, 0x00027F80, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00027D80, 0x00027FA0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00027FC0, 0x000281C0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00027FC0, 0x000281E0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00028200, 0x00028400, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00028200, 0x00028420, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00028440, 0x00028640, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00028440, 0x00028660, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00028680, 0x00028880, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00028680, 0x000288A0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x000288C0, 0x00028AC0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x000288C0, 0x00028AE0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00028B00, 0x00028D00, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00028B00, 0x00028D20, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00028D40, 0x00028F40, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00028D40, 0x00028F60, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00028F80, 0x00029180, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00028F80, 0x000291A0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x000291C0, 0x000293C0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x000291C0, 0x000293E0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00029400, 0x00029600, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00029400, 0x00029620, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00029640, 0x00029840, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00029640, 0x00029860, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00029880, 0x00029A80, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00029880, 0x00029AA0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00029AC0, 0x00029CC0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00029AC0, 0x00029CE0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00029D00, 0x00029F00, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00029D00, 0x00029F20, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00029F40, 0x0002A140, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00029F40, 0x0002A160, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0002A180, 0x0002A380, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0002A180, 0x0002A3A0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x01400000, 0x00000008, 0x00000000, 0x00000000, 0x00000000, 0x10000000, 0x00000000, 0x002600A0, 0x00380000, 0x00000008, 0xFFFF0000, 0x00000000, 0x00000000, 0x10200000, 0x00000000, 0x002600A1, 0x00390000, 0x00000002, 0xFFFF0000, 0x00000000, 0x00000000, 0x10200000, 0x00000000, 0x002600A2, 0x003A0000, 0x00000001, 0xFFFF0000, 0x00000000, 0x00000000, 0x10200000, 0x00000000, 0x002600A3, 0x003B0000, 0x00000008, 0xFFFF0000, 0x00000000, 0x00000000, 0x10200000, 0x00000000, 0x002600A4, 0x003C0000, 0x00000001, 0xFFFF0000, 0x00000000, 0x00000000, 0x10200000, 0x00000000, 0x002600A5, 0x003D0000, 0x00000002, 0xFFFF0000, 0x00000000, 0x00000000, 0x10200000, 0x00000000, 0x002600A6, 0x003E0000, 0x00000002, 0xFFFF0000, 0x002500A6, 0x002300A6, 0x10080000, 0x00000000, 0x00000000, 0x01400000, 0x00000002, 0xFFFF0000, 0x00000000, 0x00000000, 0x10200000, 0x00000000, 0x00000000, 0x01400000, 0x00000002, 0xFFFF0000, 0x00000000, 0x00000000, 0x10200000, 0x00000000, 0x002600E2, 0x00780000, 0x00000002, 0xFFFF0000, 0x002500E2, 0x002300E2, 0x10080000, 0x00000000, 0x002600E3, 0x00790000, 0x00000002, 0xFFFF0000, 0x002500E3, 0x002300E3, 0x10080000, 0x00000000, 0x002600E4, 0x007A0000, 0x00000002, 0xFFFF0000, 0x002500E4, 0x002300E4, 0x10080000, 0x00000000, 0x002600E5, 0x007B0000, 0x00000002, 0xFFFF0000, 0x002500E5, 0x002300E5, 0x10080000, 0x00000000, 0x002600E6, 0x007C0000, 0x00000002, 0xFFFF0000, 0x002500E6, 0x002300E6, 0x10080000, 0x00000000, 0x002600E7, 0x00620000, 0x00000002, 0xFFFF0000, 0x002500E7, 0x002300E7, 0x10080000, 0x00000000, 0x002600A7, 0x00400000, 0x00000008, 0xFFFF0000, 0x002500A7, 0x002300A7, 0x10090000, 0x00000000, 0x002600A8, 0x00410000, 0x00000008, 0xFFFF0000, 0x002500A8, 0x002300A8, 0x10090000, 0x00000000, 0x002600B0, 0x00470000, 0x00000008, 0xFFFF0000, 0x002500B0, 0x002300B0, 0x10090000, 0x00000000, 0x002600A9, 0x00420000, 0x00000008, 0xFFFF0000, 0x002500A9, 0x002300A9, 0x10090000, 0x00000000, 0x002600AA, 0x00430000, 0x00000008, 0xFFFF0000, 0x002500AA, 0x002300AA, 0x10090000, 0x00000000, 0x002600B3, 0x004C0000, 0x00000008, 0xFFFF0000, 0x002500B3, 0x002300B3, 0x10090000, 0x00000000, 0x002600B4, 0x004A0000, 0x00000008, 0xFFFF0000, 0x002500B4, 0x002300B4, 0x10090000, 0x00000000, 0x002600B5, 0x004B0000, 0x00000008, 0xFFFF0000, 0x002500B5, 0x002300B5, 0x10090000, 0x00000000, 0x002600B2, 0x00490000, 0x00000008, 0xFFFF0000, 0x002500B2, 0x002300B2, 0x10090000, 0x00000000, 0x002600AF, 0x00460000, 0x00000008, 0xFFFF0000, 0x002500AF, 0x002300AF, 0x10090000, 0x00000000, 0x002600AB, 0x00440000, 0x00000008, 0xFFFF0000, 0x002500AB, 0x002300AB, 0x10090000, 0x00000000, 0x00000000, 0x004D0000, 0x00000008, 0xFFFF0000, 0x00000000, 0x00000000, 0x10090000, 0x00000000, 0x002600B7, 0x00500000, 0x00000008, 0xFFFF0000, 0x002500B7, 0x002300B7, 0x10090000, 0x00000000, 0x002600B8, 0x00510000, 0x00000008, 0xFFFF0000, 0x002500B8, 0x002300B8, 0x10090000, 0x00000000, 0x002600C4, 0x005D0000, 0x00000008, 0xFFFF0000, 0x002500C4, 0x002300C4, 0x10090000, 0x00000000, 0x002600B9, 0x00520000, 0x00000008, 0xFFFF0000, 0x002500B9, 0x002300B9, 0x10090000, 0x00000000, 0x002600BA, 0x00530000, 0x00000008, 0xFFFF0000, 0x002500BA, 0x002300BA, 0x10090000, 0x00000000, 0x002600BB, 0x00540000, 0x00000008, 0xFFFF0000, 0x002500BB, 0x002300BB, 0x10090000, 0x00000000, 0x002600B6, 0x004F0000, 0x00000008, 0xFFFF0000, 0x002500B6, 0x002300B6, 0x10090000, 0x00000000, 0x002600BC, 0x00550000, 0x00000008, 0xFFFF0000, 0x002500BC, 0x002300BC, 0x10090000, 0x00000000, 0x002600BD, 0x00560000, 0x00000008, 0xFFFF0000, 0x002500BD, 0x002300BD, 0x10090000, 0x00000000, 0x002600BE, 0x00570000, 0x00000008, 0xFFFF0000, 0x002500BE, 0x002300BE, 0x10090000, 0x00000000, 0x00000000, 0x00580000, 0x00000008, 0xFFFF0000, 0x00000000, 0x00000000, 0x10090000, 0x00000000, 0x002600C9, 0x007D0000, 0x00000008, 0xFFFF0000, 0x002500C9, 0x002300C9, 0x10090000, 0x00000000, 0x00000000, 0x00650000, 0x00000008, 0xFFFF0000, 0x00000000, 0x00000000, 0x10090000, 0x00000000, 0x002600CB, 0x00660000, 0x00000008, 0xFFFF0000, 0x002500CB, 0x002300CB, 0x10090000, 0x00000000, 0x002600CC, 0x00670000, 0x00000008, 0xFFFF0000, 0x002500CC, 0x002300CC, 0x10090000, 0x00000000, 0x002600C0, 0x00590000, 0x00000008, 0xFFFF0000, 0x002500C0, 0x002300C0, 0x10090000, 0x00000000, 0x002600C1, 0x005A0000, 0x00000008, 0xFFFF0000, 0x002500C1, 0x002300C1, 0x10090000, 0x00000000, 0x002600C2, 0x005B0000, 0x00000008, 0xFFFF0000, 0x002500C2, 0x002300C2, 0x10090000, 0x00000000, 0x002600C3, 0x005C0000, 0x00000008, 0xFFFF0000, 0x002500C3, 0x002300C3, 0x10090000, 0x00000000, 0x00000000, 0x00630000, 0x00000008, 0xFFFF0000, 0x00000000, 0x00000000, 0x10090000, 0x00000000, 0x002600CA, 0x00640000, 0x00000008, 0xFFFF0000, 0x002500CA, 0x002300CA, 0x10090000, 0x00000000, 0x002600CF, 0x00680000, 0x00000008, 0xFFFF0000, 0x002500CF, 0x002300CF, 0x10090000, 0x00000000, 0x002600D0, 0x00690000, 0x00000008, 0xFFFF0000, 0x002500D0, 0x002300D0, 0x10090000, 0x00000000, 0x002600D2, 0x006A0000, 0x00000008, 0xFFFF0000, 0x002500D2, 0x002300D2, 0x10090000, 0x00000000, 0x002600D3, 0x006B0000, 0x00000008, 0xFFFF0000, 0x002500D3, 0x002300D3, 0x10090000, 0x00000000, 0x00000000, 0x00880000, 0x00000008, 0xFFFF0000, 0x00000000, 0x00000000, 0x10090000, 0x00000000, 0x002600EB, 0x00880000, 0x00000008, 0xFFFF0000, 0x002500EB, 0x002300EB, 0x10090000, 0x00000000, 0x002600EC, 0x00880000, 0x00000008, 0xFFFF0000, 0x002500EC, 0x002300EC, 0x10090000, 0x00000000, 0x002600ED, 0x00880000, 0x00000008, 0xFFFF0000, 0x002500ED, 0x002300ED, 0x10090000, 0x00000000, 0x002600EE, 0x00880000, 0x00000008, 0xFFFF0000, 0x002500EE, 0x002300EE, 0x10090000, 0x00000000, 0x002600EF, 0x00880000, 0x00000008, 0xFFFF0000, 0x002500EF, 0x002300EF, 0x10090000, 0x00000000, 0x002600F0, 0x00880000, 0x00000008, 0xFFFF0000, 0x002500F0, 0x002300F0, 0x10090000, 0x00000000, 0x002600F1, 0x00880000, 0x00000008, 0xFFFF0000, 0x002500F1, 0x002300F1, 0x10090000, 0x00000000, 0x002600F2, 0x00880000, 0x00000008, 0xFFFF0000, 0x002500F2, 0x002300F2, 0x10090000, 0x00000000, 0x002600F3, 0x00880000, 0x00000008, 0xFFFF0000, 0x002500F3, 0x002300F3, 0x10090000, 0x00000000, 0x00000000, 0x00880000, 0x00000008, 0xFFFF0000, 0x00000000, 0x00000000, 0x10090000, 0x00000000, 0x002600F4, 0x00880000, 0x00000008, 0xFFFF0000, 0x002500F4, 0x002300F4, 0x10090000, 0x00000000, 0x002600F5, 0x00880000, 0x00000008, 0xFFFF0000, 0x002500F5, 0x002300F5, 0x10090000, 0x00000000, 0x00000000, 0x00880000, 0x00000008, 0xFFFF0000, 0x00000000, 0x00000000, 0x10090000, 0x00000000, 0x00000000, 0x00880000, 0x00000008, 0xFFFF0000, 0x00000000, 0x00000000, 0x10090000, 0x00000000, 0x00000000, 0x00880000, 0x00000008, 0xFFFF0000, 0x00000000, 0x00000000, 0x10090000, 0x00000000, 0x002600F6, 0x00880000, 0x00000008, 0xFFFF0000, 0x002500F6, 0x002300F6, 0x10090000, 0x00000000, 0x002600F7, 0x00880000, 0x00000008, 0xFFFF0000, 0x002500F7, 0x002300F7, 0x10090000, 0x00000000, 0x002600F8, 0x00880000, 0x00000008, 0xFFFF0000, 0x002500F8, 0x002300F8, 0x10090000, 0x00000000, 0x002600F9, 0x00880000, 0x00000008, 0xFFFF0000, 0x002500F9, 0x002300F9, 0x10090000, 0x00000000, 0x002600FA, 0x00880000, 0x00000008, 0xFFFF0000, 0x002500FA, 0x002300FA, 0x10090000, 0x00000000, 0x002600FB, 0x00880000, 0x00000008, 0xFFFF0000, 0x002500FB, 0x002300FB, 0x10090000, 0x00000000, 0x002600FC, 0x00880000, 0x00000008, 0xFFFF0000, 0x002500FC, 0x002300FC, 0x10090000, 0x00000000, 0x002600FD, 0x00880000, 0x00000008, 0xFFFF0000, 0x002500FD, 0x002300FD, 0x10090000, 0x00000000, 0x00000000, 0x00880000, 0x00000008, 0xFFFF0000, 0x00000000, 0x00000000, 0x10090000, 0x00000000, 0x002600FE, 0x00880000, 0x00000008, 0xFFFF0000, 0x002500FE, 0x002300FE, 0x10090000, 0x00000000, 0x002600FF, 0x00880000, 0x00000008, 0xFFFF0000, 0x002500FF, 0x002300FF, 0x10090000, 0x00000000, 0x00260100, 0x00880000, 0x00000008, 0xFFFF0000, 0x00250100, 0x00230100, 0x10090000, 0x00000000, 0x00260101, 0x00880000, 0x00000008, 0xFFFF0000, 0x00250101, 0x00230101, 0x10090000, 0x00000000, 0x00260102, 0x00880000, 0x00000008, 0xFFFF0000, 0x00250102, 0x00230102, 0x10090000, 0x00000000, 0x002600B1, 0x00480000, 0x00000008, 0xFFFF0000, 0x002500B1, 0x002300B1, 0x10090000, 0x00000000, 0x002600EA, 0x00880000, 0x00000008, 0xFFFF0000, 0x002500EA, 0x002300EA, 0x10090000, 0x00000000, 0x00000000, 0x00880000, 0x00000008, 0xFFFF0000, 0x00000000, 0x00000000, 0x10090000, 0x00000000, 0x002600AE, 0x00450000, 0x00000008, 0xFFFF0000, 0x002500AE, 0x002300AE, 0x10090000, 0x00000000, 0x002600C5, 0x005E0000, 0x00000008, 0xFFFF0000, 0x002500C5, 0x002300C5, 0x10090000, 0x00000000, 0x002600C6, 0x005F0000, 0x00000008, 0xFFFF0000, 0x002500C6, 0x002300C6, 0x10090000, 0x00000000, 0x002600C7, 0x00600000, 0x00000008, 0xFFFF0000, 0x002500C7, 0x002300C7, 0x10090000, 0x00000000, 0x002600C8, 0x00610000, 0x00000008, 0xFFFF0000, 0x002500C8, 0x002300C8, 0x10090000, 0x00000000, 0x002600CD, 0x00490000, 0x00000008, 0xFFFF0000, 0x002500CD, 0x002300CD, 0x10090000, 0x00000000, 0x00260104, 0x00810000, 0x00000008, 0xFFFF0000, 0x00250104, 0x00230104, 0x10090000, 0x00000000, 0x002600D8, 0x01160000, 0x00000008, 0xFFFF0000, 0x002500D8, 0x002300D8, 0x10090000, 0x00000000, 0x002600D9, 0x01150000, 0x00000008, 0xFFFF0000, 0x002500D9, 0x002300D9, 0x10090000, 0x00000000, 0x002600DA, 0x01170000, 0x00000008, 0xFFFF0000, 0x002500DA, 0x002300DA, 0x10090000, 0x00000000, 0x002600DB, 0x01180000, 0x00000008, 0xFFFF0000, 0x002500DB, 0x002300DB, 0x10090000, 0x00000000, 0x002600DC, 0x01190000, 0x00000008, 0xFFFF0000, 0x002500DC, 0x002300DC, 0x10090000, 0x00000000, 0x002600DD, 0x011A0000, 0x00000008, 0xFFFF0000, 0x002500DD, 0x002300DD, 0x10090000, 0x00000000, 0x002600DE, 0x011B0000, 0x00000008, 0xFFFF0000, 0x002500DE, 0x002300DE, 0x10090000, 0x00000000, 0x002600DF, 0x011C0000, 0x00000008, 0xFFFF0000, 0x002500DF, 0x002300DF, 0x10090000, 0x00000000, 0x002600E0, 0x011D0000, 0x00000008, 0xFFFF0000, 0x002500E0, 0x002300E0, 0x10090000, 0x00000000, 0x002600E1, 0x011E0000, 0x00000008, 0xFFFF0000, 0x002500E1, 0x002300E1, 0x10090000, 0x00000000, 0x002600D6, 0x006F0000, 0x00000008, 0xFFFF0000, 0x002500D6, 0x002300D6, 0x10090000, 0x00000000, 0x002600D7, 0x006E0000, 0x00000008, 0xFFFF0000, 0x002500D7, 0x002300D7, 0x10090000, 0x00000000, 0x002600BF, 0x00700000, 0x00000008, 0xFFFF0000, 0x002500BF, 0x002300BF, 0x10090000, 0x00000000, 0x002600AC, 0x00730000, 0x00000008, 0xFFFF0000, 0x002500AC, 0x002300AC, 0x10090000, 0x00000000, 0x002600AD, 0x00530000, 0x00000008, 0xFFFF0000, 0x002500AD, 0x002300AD, 0x10090000, 0x00000000, 0x002600D1, 0x00710000, 0x00000008, 0xFFFF0000, 0x002500D1, 0x002300D1, 0x10090000, 0x00000000, 0x002600D4, 0x00720000, 0x00000008, 0xFFFF0000, 0x002500D4, 0x002300D4, 0x10090000, 0x00000000, 0x00260103, 0x00800000, 0x00000008, 0xFFFF0000, 0x00250103, 0x00230103, 0x10090000, 0x00000000, 0x00260105, 0x00820000, 0x00000008, 0xFFFF0000, 0x00250105, 0x00230105, 0x10090000, 0x00000000, 0x00260106, 0x00830000, 0x00000008, 0xFFFF0000, 0x00250106, 0x00230106, 0x10090000, 0x00000000, 0x00260107, 0x00840000, 0x00000008, 0xFFFF0000, 0x00250107, 0x00230107, 0x10090000, 0x00000000, 0x00000000, 0x00850000, 0x00000008, 0xFFFF0000, 0x00000000, 0x00000000, 0x10090000, 0x00000000, 0x00260108, 0x00860000, 0x00000008, 0xFFFF0000, 0x00250108, 0x00230108, 0x10090000, 0x00000000, 0x00260109, 0x00870000, 0x00000008, 0xFFFF0000, 0x00250109, 0x00230109, 0x10090000, 0x00000000, 0x00000000, 0x00860000, 0x00000008, 0xFFFF0000, 0x00000000, 0x00000000, 0x10090000, 0x00000000, 0x0026010A, 0x006C0000, 0x00000008, 0xFFFF0000, 0x0025010A, 0x0023010A, 0x10090000, 0x00000000, 0x0026010B, 0x006D0000, 0x00000008, 0xFFFF0000, 0x0025010B, 0x0023010B, 0x10090000, 0x00000000, 0x002600AC, 0x00730000, 0x00000008, 0xFFFF0000, 0x002500AC, 0x002300AC, 0x10090000, 0x00000000, 0x002600CE, 0x00530000, 0x00000008, 0xFFFF0000, 0x002500CE, 0x002300CE, 0x10090000, 0x00000000, 0x002600D5, 0x00530000, 0x00000008, 0xFFFF0000, 0x002500D5, 0x002300D5, 0x10090000, 0x00000000, 0x002600E8, 0x007F0000, 0x00000008, 0xFFFF0000, 0x002500E8, 0x002300E8, 0x10090000, 0x00000000, 0x002600E9, 0x007E0000, 0x00000008, 0xFFFF0000, 0x002500E9, 0x002300E9, 0x10090000, 0x00000000, 0x002600D5, 0x00730000, 0x00000008, 0xFFFF0000, 0x002500D5, 0x002300D5, 0x10090000, 0x00000000, 0x002600D5, 0x00730000, 0x00000008, 0xFFFF0000, 0x002500D5, 0x002300D5, 0x10090000, 0x00000000, 0x002600D5, 0x00730000, 0x00000008, 0xFFFF0000, 0x002500D5, 0x002300D5, 0x10090000, 0x00000000, 0x00260000, 0x01200000, 0x00008002, 0x00040000, 0x00250000, 0x00230000, 0x10060003, 0x00000000, 0x00260001, 0x01210000, 0x00008002, 0x00060000, 0x00250001, 0x00230001, 0x10060004, 0x00000000, 0x00260002, 0x01220000, 0x00008002, 0x00080000, 0x00250002, 0x00230002, 0x10060005, 0x00000000, 0x00260004, 0x01240000, 0x00008002, 0x000F0000, 0x00250004, 0x00230004, 0x10060006, 0x00000000, 0x00260003, 0x01230000, 0x00008003, 0x00040000, 0x00250003, 0x00230003, 0x10060005, 0x00000000, 0x00260006, 0x01260000, 0x00008003, 0x00010000, 0x00250006, 0x00230006, 0x10060001, 0x00000000, 0x00260005, 0x01250000, 0x00008003, 0x00010000, 0x00250005, 0x00230005, 0x10060001, 0x00000000, 0x00000000, 0x013D0000, 0x00008003, 0x00010000, 0x00000000, 0x00000000, 0x10060000, 0x00000000, 0x00260007, 0x01280000, 0x00000008, 0x000F0000, 0x00250007, 0x00230007, 0x10060003, 0x00000000, 0x0026000E, 0x00FD0000, 0x00000009, 0x00010000, 0x0025000E, 0x0023000E, 0x11870000, 0x00000000, 0x00260009, 0x00F80000, 0x00000009, 0x00020000, 0x00250009, 0x00230009, 0x10870005, 0x00000000, 0x00260008, 0x01290000, 0x00000008, 0x00070000, 0x00250008, 0x00230008, 0x10860004, 0x00000000, 0x0026000A, 0x00F90000, 0x00000009, 0x00070000, 0x0025000A, 0x0023000A, 0x1087000A, 0x00000000, 0x0026000D, 0x00FC0000, 0x00000009, 0x00010000, 0x0025000D, 0x0023000D, 0x10870001, 0x00000000, 0x0026000B, 0x00FA0000, 0x00000009, 0x00320000, 0x0025000B, 0x0023000B, 0x10870032, 0x00000000, 0x00260026, 0x01300000, 0x00008002, 0x00040000, 0x00250026, 0x00230026, 0x10060003, 0x00000000, 0x00260027, 0x01320000, 0x00008002, 0x00030000, 0x00250027, 0x00230027, 0x10060002, 0x00000000, 0x00000000, 0x01330000, 0x00000008, 0x000A0000, 0x00000000, 0x00000000, 0x11860002, 0x00000000, 0x00260028, 0x01340000, 0x00008002, 0x000A0000, 0x00250028, 0x00230028, 0x10060004, 0x00000000, 0x00260019, 0x01130000, 0x00000009, 0x001E0000, 0x00250019, 0x00230019, 0x10870019, 0x19000000, 0x0026001A, 0x01140000, 0x00000009, 0x00020000, 0x0025001A, 0x0023001A, 0x10870005, 0x00000000, 0x0026000C, 0x00FB0000, 0x00000009, 0x00140000, 0x0025000C, 0x0023000C, 0x1087000A, 0x00000000, 0x0026002B, 0x013B0000, 0x00000008, 0x00010000, 0x0025002B, 0x0023002B, 0x10060000, 0x00000000, 0x0026002C, 0x013C0000, 0x00000008, 0x000F0000, 0x0025002C, 0x0023002C, 0x10060002, 0x00000000, 0x0026002A, 0x013A0000, 0x00008002, 0x00030000, 0x0025002A, 0x0023002A, 0x10060000, 0x00000000, 0x00000000, 0x01380000, 0x00000008, 0x00050000, 0x00000000, 0x00000000, 0x10060000, 0x00000000, 0x00260029, 0x01350000, 0x00008002, 0x00060000, 0x00250029, 0x00230029, 0x10060003, 0x00000000, 0x0026000F, 0x00FE0000, 0x00000009, 0x00030000, 0x0025000F, 0x0023000F, 0x11870000, 0x05000000, 0x00260015, 0x01070000, 0x00000009, 0x00010000, 0x00250015, 0x00230015, 0x10870001, 0x02000000, 0x00260014, 0x01060000, 0x00000009, 0x00010000, 0x00250014, 0x00230014, 0x10870000, 0x03000000, 0x00260010, 0x00FF0000, 0x00000009, 0x00020000, 0x00250010, 0x00230010, 0x10870000, 0x05000000, 0x00260011, 0x01000000, 0x00000009, 0x00020000, 0x00250011, 0x00230011, 0x10870005, 0x00000000, 0x00260012, 0x01010000, 0x00000009, 0x00020000, 0x00250012, 0x00230012, 0x10870003, 0x03000000, 0x00260013, 0x01020000, 0x00000009, 0x00030000, 0x00250013, 0x00230013, 0x10870005, 0x00000000, 0x00260018, 0x01120000, 0x00000009, 0x00320000, 0x00250018, 0x00230018, 0x10870000, 0x32000000, 0x00260017, 0x01110000, 0x00000009, 0x000A0000, 0x00250017, 0x00230017, 0x11870000, 0x0A000000, 0x00260016, 0x01100000, 0x00000009, 0x00030000, 0x00250016, 0x00230016, 0x11870000, 0x05000000, 0x0026001B, 0x01030000, 0x00000009, 0x00020000, 0x0025001B, 0x0023001B, 0x10870000, 0x03000000, 0x0026001C, 0x01040000, 0x00000009, 0x00010000, 0x0025001C, 0x0023001C, 0x10870000, 0x03000000, 0x0026001D, 0x01050000, 0x00000009, 0x00040000, 0x0025001D, 0x0023001D, 0x10870003, 0x02000000, 0x0026001E, 0x01080000, 0x00000009, 0x00050000, 0x0025001E, 0x0023001E, 0x1087000F, 0x00000000, 0x0026001F, 0x01090000, 0x00000009, 0x00020000, 0x0025001F, 0x0023001F, 0x10870000, 0x05000000, 0x00260020, 0x010A0000, 0x00000009, 0x00030000, 0x00250020, 0x00230020, 0x10870000, 0x01000000, 0x00260021, 0x010B0000, 0x00000009, 0x00020000, 0x00250021, 0x00230021, 0x10870005, 0x00000000, 0x00260022, 0x010C0000, 0x00008003, 0x00010000, 0x00250022, 0x00230022, 0x10060003, 0x00000000, 0x00260023, 0x010D0000, 0x00000009, 0x00070000, 0x00250023, 0x00230023, 0x1087000F, 0x00000000, 0x00260024, 0x010E0000, 0x00000009, 0x00010000, 0x00250024, 0x00230024, 0x10870000, 0x05000000, 0x00260025, 0x010F0000, 0x00000009, 0x00030000, 0x00250025, 0x00230025, 0x10870005, 0x00000000, 0x0026002D, 0x00010000, 0x00000009, 0x000A0000, 0x0025002D, 0x0023002D, 0x11870004, 0x04000000, 0x0026002E, 0x00020000, 0x00000009, 0x000A0000, 0x0025002E, 0x0023002E, 0x10870005, 0x0F000000, 0x00260035, 0x00030000, 0x00000009, 0x004B0000, 0x00250035, 0x00230035, 0x10870032, 0x05000000, 0x00260036, 0x00040000, 0x00000009, 0x00640000, 0x00250036, 0x00230036, 0x10870032, 0x0A000000, 0x00260037, 0x00050000, 0x00000009, 0x00960000, 0x00250037, 0x00230037, 0x10870032, 0x32000000, 0x00260038, 0x00060000, 0x00000009, 0x000A0000, 0x00250038, 0x00230038, 0x10870007, 0x07000000, 0x00260039, 0x00070000, 0x00000009, 0x00050000, 0x00250039, 0x00230039, 0x10870006, 0x02000000, 0x0026003C, 0x00080000, 0x00000009, 0x00140000, 0x0025003C, 0x0023003C, 0x1087000A, 0x0A000000, 0x0026003B, 0x00090000, 0x00000009, 0x002D0000, 0x0025003B, 0x0023003B, 0x1087001E, 0x0A000000, 0x0026003A, 0x000A0000, 0x00000009, 0x000F0000, 0x0025003A, 0x0023003A, 0x1087000F, 0x05000000, 0x0026003D, 0x000B0000, 0x00000009, 0x00320000, 0x0025003D, 0x0023003D, 0x1087001E, 0x14000000, 0x0026003F, 0x000E0000, 0x00000009, 0x000F0000, 0x0025003F, 0x0023003F, 0x10870014, 0x14000000, 0x00260042, 0x000C0000, 0x00000009, 0x00190000, 0x00250042, 0x00230042, 0x11870000, 0x28000000, 0x0026003E, 0x000D0000, 0x00000009, 0x000A0000, 0x0025003E, 0x0023003E, 0x1087000A, 0x0A000000, 0x00260040, 0x000F0000, 0x00000009, 0x003C0000, 0x00250040, 0x00230040, 0x10870028, 0x28000000, 0x00260041, 0x00100000, 0x00000009, 0x000A0000, 0x00250041, 0x00230041, 0x11870000, 0x14000000, 0x00260043, 0x00110000, 0x00000009, 0x000A0000, 0x00250043, 0x00230043, 0x10870000, 0x14000000, 0x00260044, 0x00120000, 0x00000009, 0x000A0000, 0x00250044, 0x00230044, 0x10870000, 0x0F000000, 0x00260045, 0x00130000, 0x00000009, 0x00010000, 0x00250045, 0x00230045, 0x10870001, 0x01000000, 0x00260046, 0x00140000, 0x00000009, 0x00030000, 0x00250046, 0x00230046, 0x11870000, 0x07000000, 0x00260032, 0x00150000, 0x00000009, 0x00140000, 0x00250032, 0x00230032, 0x1087000A, 0x05000000, 0x00260033, 0x00160000, 0x00000009, 0x00230000, 0x00250033, 0x00230033, 0x1087000A, 0x0A000000, 0x00260034, 0x00170000, 0x00000009, 0x00640000, 0x00250034, 0x00230034, 0x1087000A, 0x32000000, 0x00260047, 0x00180000, 0x00000009, 0x00070000, 0x00250047, 0x00230047, 0x10870006, 0x04000000, 0x00260048, 0x00190000, 0x00008003, 0x000A0000, 0x00250048, 0x00230048, 0x10060006, 0x00000000, 0x00260049, 0x001A0000, 0x00000009, 0x00070000, 0x00250049, 0x00230049, 0x1087000A, 0x00000000, 0x0026002F, 0x001B0000, 0x00000009, 0x000A0000, 0x0025002F, 0x0023002F, 0x10870005, 0x05000000, 0x0026004A, 0x001C0000, 0x00000009, 0x000F0000, 0x0025004A, 0x0023004A, 0x10870000, 0x14000000, 0x0026004B, 0x001D0000, 0x00000009, 0x00190000, 0x0025004B, 0x0023004B, 0x10870000, 0x0F000000, 0x0026004C, 0x001E0000, 0x00000009, 0x00140000, 0x0025004C, 0x0023004C, 0x108700FF, 0x14000000, 0x0026004D, 0x001F0000, 0x00000009, 0x000F0000, 0x0025004D, 0x0023004D, 0x10870000, 0x14000000, 0x0026004E, 0x00200000, 0x00000009, 0x000C0000, 0x0025004E, 0x0023004E, 0x10870003, 0x0F000000, 0x0026004F, 0x00210000, 0x00000009, 0x000F0000, 0x0025004F, 0x0023004F, 0x10870005, 0x0F000000, 0x00260050, 0x00220000, 0x00000009, 0x00640000, 0x00250050, 0x00230050, 0x10870000, 0x40000000, 0x00260051, 0x00230000, 0x00000009, 0x000A0000, 0x00250051, 0x00230051, 0x10860000, 0x00000000, 0x00260052, 0x00240000, 0x00000009, 0x000C0000, 0x00250052, 0x00230052, 0x10870000, 0x0F000000, 0x00260053, 0x00250000, 0x00000009, 0x000F0000, 0x00250053, 0x00230053, 0x1087000F, 0x00000000, 0x00260054, 0x00260000, 0x00000009, 0x00060000, 0x00250054, 0x00230054, 0x1087000A, 0x00000000, 0x00260055, 0x00270000, 0x00000009, 0x00060000, 0x00250055, 0x00230055, 0x10870000, 0x0A000000, 0x00260030, 0x00280000, 0x00000009, 0x00190000, 0x00250030, 0x00230030, 0x10870005, 0x0A000000, 0x00260056, 0x00290000, 0x00000009, 0x000A0000, 0x00250056, 0x00230056, 0x10870008, 0x08000000, 0x00260057, 0x002A0000, 0x00000009, 0x00140000, 0x00250057, 0x00230057, 0x1087000F, 0x0F000000, 0x00260031, 0x002B0000, 0x00000009, 0x004B0000, 0x00250031, 0x00230031, 0x10870005, 0x32000000, 0x00260031, 0x002B0000, 0x00000009, 0x004B0000, 0x00250031, 0x00230031, 0x10870005, 0x32000000, 0x00260031, 0x002B0000, 0x00000009, 0x004B0000, 0x00250031, 0x00230031, 0x10870005, 0x32000000, 0x00260031, 0x002B0000, 0x00000009, 0x004B0000, 0x00250031, 0x00230031, 0x10870005, 0x32000000, 0x00260031, 0x002B0000, 0x00000009, 0x004B0000, 0x00250031, 0x00230031, 0x10870005, 0x32000000, 0x00260031, 0x002B0000, 0x00000009, 0x004B0000, 0x00250031, 0x00230031, 0x10870005, 0x32000000, 0x00260068, 0x00900017, 0x00000000, 0x004B0000, 0x00250068, 0x00230068, 0x10400800, 0x00000000, 0x0026005E, 0x00910004, 0x00000000, 0x004B0000, 0x0025005E, 0x0023005E, 0x10401F00, 0x00000000, 0x00260073, 0x00920043, 0x00000000, 0x00FA0000, 0x00250073, 0x00230073, 0x10403B00, 0x00000000, 0x00260080, 0x00930028, 0x00000000, 0x00640000, 0x00250080, 0x00230080, 0x10404C00, 0x00000000, 0x00260061, 0x0094000D, 0x00000000, 0x00640000, 0x00250061, 0x00230061, 0x10402000, 0x00000000, 0x0026007F, 0x0095005C, 0x00000000, 0x00640000, 0x0025007F, 0x0023007F, 0x10404000, 0x00000000, 0x00260087, 0x0096006D, 0x00000000, 0x00640000, 0x00250087, 0x00230087, 0x10404D00, 0x00000000, 0x00260071, 0x00970035, 0x00000000, 0x00960000, 0x00250071, 0x00230071, 0x10405200, 0x00000000, 0x0026006A, 0x00980018, 0x00000000, 0x00640000, 0x0025006A, 0x0023006A, 0x10400900, 0x00000000, 0x0026006D, 0x00990021, 0x00000000, 0x00640000, 0x0025006D, 0x0023006D, 0x10403500, 0x00000000, 0x00000000, 0x01400000, 0x00000000, 0x00640000, 0x00000000, 0x00000000, 0x10405300, 0x00000000, 0x0026005C, 0x009C0009, 0x00000000, 0x004B0000, 0x0025005C, 0x0023005C, 0x10402100, 0x00000000, 0x00260097, 0x00A0005B, 0x00000000, 0x004B0000, 0x00250097, 0x00230097, 0x10404100, 0x00000000, 0x00260070, 0x00E30024, 0x00000000, 0x00C80000, 0x00250070, 0x00230070, 0x10403800, 0x00000000, 0x00260069, 0x00A4001D, 0x00000000, 0x004B0000, 0x00250069, 0x00230069, 0x10400A00, 0x00000000, 0x0026005D, 0x00A6000A, 0x00000000, 0x004B0000, 0x0025005D, 0x0023005D, 0x10402200, 0x00000000, 0x00000000, 0x00A80014, 0x00000000, 0x001E0000, 0x00000000, 0x00000000, 0x10400B00, 0x00000000, 0x00260081, 0x00A90055, 0x00000000, 0x00640000, 0x00250081, 0x00230081, 0x10404200, 0x00000000, 0x0026008C, 0x00AA005E, 0x00000000, 0x00640000, 0x0025008C, 0x0023008C, 0x10404300, 0x00000000, 0x0026008D, 0x00AB0070, 0x00000000, 0x001E0000, 0x0025008D, 0x0023008D, 0x10405400, 0x00000000, 0x00260093, 0x00AC0050, 0x00000000, 0x00640000, 0x00250093, 0x00230093, 0x10403C00, 0x00000000, 0x00260078, 0x00AD004F, 0x00000000, 0x00320000, 0x00250078, 0x00230078, 0x10405A00, 0x00000000, 0x00000000, 0x00AE0004, 0x00000000, 0x001E0000, 0x00000000, 0x00000000, 0x10402300, 0x00000000, 0x00260094, 0x00AF006F, 0x00000000, 0x000A0000, 0x00250094, 0x00230094, 0x10404E00, 0x00000000, 0x00260072, 0x00B0003A, 0x00000000, 0x00960000, 0x00250072, 0x00230072, 0x10405B00, 0x00000000, 0x00260086, 0x00B10051, 0x00000000, 0x00320000, 0x00250086, 0x00230086, 0x10405F00, 0x00000000, 0x00260095, 0x00B2005A, 0x00000000, 0x004B0000, 0x00250095, 0x00230095, 0x10403D00, 0x00000000, 0x00260074, 0x00B30046, 0x00000000, 0x00FA0000, 0x00250074, 0x00230074, 0x10404500, 0x00000000, 0x00260096, 0x00B40065, 0x00000000, 0x00320000, 0x00250096, 0x00230096, 0x10406300, 0x00000000, 0x0026009A, 0x00B50065, 0x00000000, 0x00C80000, 0x0025009A, 0x0023009A, 0x10405C00, 0x00000000, 0x00260098, 0x00B60069, 0x00000000, 0x00320000, 0x00250098, 0x00230098, 0x10405D00, 0x00000000, 0x00260079, 0x00B7002A, 0x00000000, 0x00640000, 0x00250079, 0x00230079, 0x10405E00, 0x00000000, 0x00260099, 0x00B8005F, 0x00000000, 0x00640000, 0x00250099, 0x00230099, 0x10404400, 0x00000000, 0x00000000, 0x00B90058, 0x00000000, 0x012C0000, 0x00000000, 0x00000000, 0x10406000, 0x00000000, 0x0026009B, 0x00BA0029, 0x00000000, 0x012C0000, 0x0025009B, 0x0023009B, 0x10404F00, 0x00000000, 0x0026009C, 0x00BB0063, 0x00000000, 0x00320000, 0x0025009C, 0x0023009C, 0x10406100, 0x00000000, 0x0026009D, 0x00BC0064, 0x00000000, 0x00320000, 0x0025009D, 0x0023009D, 0x10406E00, 0x00000000, 0x0026007B, 0x00BD003F, 0x00000000, 0x00FA0000, 0x0025007B, 0x0023007B, 0x10406200, 0x00000000, 0x0026006E, 0x00BE0022, 0x00000000, 0x00C80000, 0x0025006E, 0x0023006E, 0x10403600, 0x00000000, 0x00260066, 0x00A7001C, 0x00000000, 0x004B0000, 0x00250066, 0x00230066, 0x10400D00, 0x00000000, 0x0026006C, 0x009B001A, 0x00000000, 0x00C80000, 0x0025006C, 0x0023006C, 0x10400E00, 0x00000000, 0x00260064, 0x009D0015, 0x00000000, 0x00320000, 0x00250064, 0x00230064, 0x10400F00, 0x00000000, 0x0026005A, 0x00A10005, 0x00000000, 0x00320000, 0x0025005A, 0x0023005A, 0x10402500, 0x00000000, 0x00260065, 0x009E0016, 0x00000000, 0x00640000, 0x00250065, 0x00230065, 0x10401100, 0x00000000, 0x0026005B, 0x00A20006, 0x00000000, 0x00640000, 0x0025005B, 0x0023005B, 0x10402700, 0x00000000, 0x00260084, 0x00D10053, 0x00000000, 0x00320000, 0x00250084, 0x00230084, 0x10406400, 0x00000000, 0x00000000, 0x00A3000F, 0x00000000, 0x00320000, 0x00000000, 0x00000000, 0x10402900, 0x00000000, 0x00000000, 0x009F001F, 0x00000000, 0x00320000, 0x00000000, 0x00000000, 0x10401300, 0x00000000, 0x00000000, 0x00D4002D, 0x00000000, 0x012C0000, 0x00000000, 0x00000000, 0x10406500, 0x00000000, 0x00260085, 0x00D20052, 0x00000000, 0x00320000, 0x00250085, 0x00230085, 0x10404600, 0x00000000, 0x00260083, 0x00D30054, 0x00000000, 0x00320000, 0x00250083, 0x00230083, 0x10404700, 0x00000000, 0x00260076, 0x00C9004E, 0x00000000, 0x00640000, 0x00250076, 0x00230076, 0x10403E00, 0x00000000, 0x00260082, 0x00C60056, 0x00000000, 0x012C0000, 0x00250082, 0x00230082, 0x10404800, 0x00000000, 0x00000000, 0x00C70057, 0x00000000, 0x00640000, 0x00000000, 0x00000000, 0x10406600, 0x00000000, 0x00260077, 0x00CA004D, 0x00000000, 0x00640000, 0x00250077, 0x00230077, 0x10404900, 0x00000000, 0x0026006B, 0x009A0019, 0x00000000, 0x00960000, 0x0025006B, 0x0023006B, 0x10401400, 0x00000000, 0x00000000, 0x00A5000E, 0x00000000, 0x004B0000, 0x00000000, 0x00000000, 0x10402A00, 0x00000000, 0x00000000, 0x00BF0042, 0x00000000, 0x012C0000, 0x00000000, 0x00000000, 0x10406700, 0x00000000, 0x0026007C, 0x00CB0061, 0x00000000, 0x004B0000, 0x0025007C, 0x0023007C, 0x10406800, 0x00000000, 0x0026007D, 0x00CC0062, 0x00000000, 0x004B0000, 0x0025007D, 0x0023007D, 0x10406900, 0x00000000, 0x00260089, 0x00CF006C, 0x00000000, 0x00960000, 0x00250089, 0x00230089, 0x10406A00, 0x00000000, 0x0026008A, 0x00CD006B, 0x00000000, 0x00640000, 0x0025008A, 0x0023008A, 0x10406B00, 0x00000000, 0x0026009E, 0x00D00068, 0x00000000, 0x00C80000, 0x0025009E, 0x0023009E, 0x10406C00, 0x00000000, 0x0026008B, 0x00CE006A, 0x00000000, 0x00320000, 0x0025008B, 0x0023008B, 0x10406D00, 0x00000000, 0x00260088, 0x00C8006E, 0x00000000, 0x00C80000, 0x00250088, 0x00230088, 0x10405000, 0x00000000, 0x00260058, 0x00C00001, 0x00000000, 0x00320000, 0x00250058, 0x00230058, 0x10402B00, 0x00000000, 0x00000000, 0x00C10002, 0x00000000, 0x00640000, 0x00000000, 0x00000000, 0x10402C00, 0x00000000, 0x00260059, 0x00C20003, 0x00000000, 0x00C80000, 0x00250059, 0x00230059, 0x10402D00, 0x00000000, 0x00260062, 0x00C30011, 0x00000000, 0x00320000, 0x00250062, 0x00230062, 0x10401500, 0x00000000, 0x00000000, 0x00C40012, 0x00000000, 0x00640000, 0x00000000, 0x00000000, 0x10401600, 0x00000000, 0x00260063, 0x00C50013, 0x00000000, 0x00C80000, 0x00250063, 0x00230063, 0x10401700, 0x00000000, 0x00260062, 0x01400011, 0x00000000, 0x00320000, 0x00250062, 0x00230062, 0x10401700, 0x00000000, 0x00260062, 0x01400011, 0x00000000, 0x00320000, 0x00250062, 0x00230062, 0x10401700, 0x00000000, 0x0026007E, 0x00E00031, 0x00000000, 0x00320000, 0x0025007E, 0x0023007E, 0x10407100, 0x00000000, 0x00000000, 0x00E10034, 0x00000000, 0x00640000, 0x00000000, 0x00000000, 0x10407200, 0x00000000, 0x00260067, 0x00D8001B, 0x00000000, 0x004B0000, 0x00250067, 0x00230067, 0x10401800, 0x00000000, 0x00000000, 0x0140001E, 0x00000000, 0x00640000, 0x00000000, 0x00000000, 0x10401900, 0x00000000, 0x00000000, 0x00E20027, 0x00000000, 0x012C0000, 0x00000000, 0x00000000, 0x10407300, 0x00000000, 0x00260060, 0x00DA000C, 0x00000000, 0x00640000, 0x00250060, 0x00230060, 0x10402E00, 0x00000000, 0x0026005F, 0x00D90008, 0x00000000, 0x004B0000, 0x0025005F, 0x0023005F, 0x10402F00, 0x00000000, 0x00260075, 0x00DB0049, 0x00000000, 0x00960000, 0x00250075, 0x00230075, 0x10403300, 0x00000000, 0x00000000, 0x00DC000B, 0x00000000, 0x00640000, 0x00000000, 0x00000000, 0x10403000, 0x00000000, 0x0026007E, 0x00E00031, 0x00000000, 0x00320000, 0x0025007E, 0x0023007E, 0x10407100, 0x00000000, 0x0026007E, 0x00E00031, 0x00000000, 0x00320000, 0x0025007E, 0x0023007E, 0x10407100, 0x00000000, 0x00260071, 0x00970035, 0x00000000, 0x00960000, 0x00250071, 0x00230071, 0x10405200, 0x00000000, 0x00260072, 0x00B0003A, 0x00000000, 0x00960000, 0x00250072, 0x00230072, 0x10405B00, 0x00000000, 0x00260079, 0x00B7002A, 0x00000000, 0x00640000, 0x00250079, 0x00230079, 0x10405E00, 0x00000000, 0x00260079, 0x00B7002A, 0x00000000, 0x00640000, 0x00250079, 0x00230079, 0x10405E00, 0x00000000, 0x0026007B, 0x00BD003F, 0x00000000, 0x00FA0000, 0x0025007B, 0x0023007B, 0x10406200, 0x00000000, 0x0026007B, 0x00BD003F, 0x00000000, 0x00FA0000, 0x0025007B, 0x0023007B, 0x10406200, 0x00000000, 0x00260075, 0x00DB0049, 0x00000000, 0x00960000, 0x00250075, 0x00230075, 0x10403300, 0x00000000, 0x00260075, 0x00DB0049, 0x00000000, 0x00960000, 0x00250075, 0x00230075, 0x10403300, 0x00000000, 0x00260073, 0x00920043, 0x00000000, 0x00FA0000, 0x00250073, 0x00230073, 0x10403B00, 0x00000000, 0x00260073, 0x00920043, 0x00000000, 0x00FA0000, 0x00250073, 0x00230073, 0x10403B00, 0x00000000, 0x00260074, 0x00B30046, 0x00000000, 0x00FA0000, 0x00250074, 0x00230074, 0x10404500, 0x00000000, 0x00260074, 0x00B30046, 0x00000000, 0x00FA0000, 0x00250074, 0x00230074, 0x10404500, 0x00000000, 0x0026007A, 0x00DD002E, 0x00000000, 0x00640000, 0x0025007A, 0x0023007A, 0x10407400, 0x00000000, 0x0026007A, 0x00DD002E, 0x00000000, 0x00640000, 0x0025007A, 0x0023007A, 0x10407400, 0x00000000, 0x0026007A, 0x00DD002E, 0x00000000, 0x00640000, 0x0025007A, 0x0023007A, 0x10407400, 0x00000000, 0x0026006F, 0x00E90023, 0x00000000, 0x00640000, 0x0025006F, 0x0023006F, 0x10407500, 0x00000000, 0x0026009F, 0x00E80025, 0x00000000, 0x00640000, 0x0025009F, 0x0023009F, 0x10407600, 0x00000000, 0x0026008E, 0x00EA0073, 0x00000000, 0x001E0000, 0x0025008E, 0x0023008E, 0x10405500, 0x00000000, 0x0026008F, 0x00EB0071, 0x00000000, 0x001E0000, 0x0025008F, 0x0023008F, 0x10405600, 0x00000000, 0x00260090, 0x00EC0074, 0x00000000, 0x001E0000, 0x00250090, 0x00230090, 0x10405700, 0x00000000, 0x00260091, 0x00ED0072, 0x00000000, 0x001E0000, 0x00250091, 0x00230091, 0x10405800, 0x00000000, 0x00260092, 0x00EE0075, 0x00000000, 0x001E0000, 0x00250092, 0x00230092, 0x10405900, 0x00000000, 0x00260071, 0x00970035, 0x00000000, 0x00960000, 0x00250071, 0x00230071, 0x10405200, 0x00000000, 0x00260071, 0x00970035, 0x00000000, 0x00960000, 0x00250071, 0x00230071, 0x10405200, 0x00000000, 0x00260071, 0x00970035, 0x00000000, 0x00960000, 0x00250071, 0x00230071, 0x10405200, 0x00000000, 0x00260072, 0x00B0003A, 0x00000000, 0x00960000, 0x00250072, 0x00230072, 0x10405B00, 0x00000000, 0x00260072, 0x00B0003A, 0x00000000, 0x00960000, 0x00250072, 0x00230072, 0x10405B00, 0x00000000, 0x00260072, 0x00B0003A, 0x00000000, 0x00960000, 0x00250072, 0x00230072, 0x10405B00, 0x00000000, 0x00000000, 0x00F0005D, 0x00000000, 0x00640000, 0x00000000, 0x00000000, 0x10404A00, 0x00000000, 0x00260092, 0x00EE0075, 0x00000000, 0x001E0000, 0x00250092, 0x00230092, 0x10405900, 0x00000000, 0x00260092, 0x00EE0075, 0x00000000, 0x001E0000, 0x00250092, 0x00230092, 0x10405900, 0x00000000, 0x00260092, 0x00EE0075, 0x00000000, 0x001E0000, 0x00250092, 0x00230092, 0x10405900, 0x00000000, 0x00260092, 0x00EE0075, 0x00000000, 0x001E0000, 0x00250092, 0x00230092, 0x10405900, 0x00000000, 0x00000000, 0x01490000, 0x00000008, 0x00010000, 0x00000000, 0x00000000, 0x10400000, 0x00000000, 0x00000000, 0x00310000, 0x00000008, 0xFFFF0000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00320000, 0x00000008, 0x00010000, 0x00000000, 0x00000000, 0x02000000, 0x00000000, 0x00000000, 0x00330000, 0x00000008, 0xFFFF0000, 0x00000000, 0x00000000, 0x02000000, 0x00000000, 0x00000000, 0x00340000, 0x00000008, 0xFFFF0000, 0x00000000, 0x00000000, 0x02000000, 0x00000000, 0x00000000, 0x00350000, 0x00000008, 0xFFFF0000, 0x00000000, 0x00000000, 0x12000000, 0x00000000, 0x00000000, 0x00360000, 0x00000008, 0x00010000, 0x00000000, 0x00000000, 0x12000000, 0x00000000, 0x0026010C, 0x00370000, 0x00000008, 0x00010000, 0x00000000, 0x00000000, 0x12000000, 0x00000000, 0x00000000, 0x01400000, 0x00000008, 0x00000000, 0x00000000, 0x00000000, 0x10000000, 0x00000000, 0x00000000, 0x01410000, 0x00000008, 0x00000000, 0x00000000, 0x00000000, 0x10000000, 0x00000000, 0x00000000, 0x01420000, 0x00000008, 0x00000000, 0x00000000, 0x00000000, 0x10000000, 0x00000000, 0x00000000, 0x01430000, 0x00000008, 0x00000000, 0x00000000, 0x00000000, 0x10000000, 0x00000000, 0x00000000, 0x01440000, 0x00000008, 0x00000000, 0x00000000, 0x00000000, 0x10000000, 0x00000000, 0x00000000, 0x01450000, 0x00000008, 0x00000000, 0x00000000, 0x00000000, 0x10000000, 0x00000000, 0x00000000, 0x01460000, 0x00000008, 0x00000000, 0x00000000, 0x00000000, 0x10000000, 0x00000000, 0x00000000, 0x01470000, 0x00000008, 0x00000000, 0x00000000, 0x00000000, 0x10000000, 0x00000000, 0x00000000, 0x01480000, 0x00000008, 0x00000000, 0x00000000, 0x00000000, 0x10000000, 0x00000000, 0x00000000, 0x014A0000, 0x00000008, 0x00000000, 0x00000000, 0x00000000, 0x10000000, 0x00000000, 0x00000000, 0x014B0000, 0x00000008, 0x00000000, 0x00000000, 0x00000000, 0x10000000, 0x00000000, 0x00000000, 0x014C0000, 0x00000008, 0x00000000, 0x00000000, 0x00000000, 0x10000000, 0x00000000, 0x00000000, 0x014D0000, 0x00000008, 0x00000000, 0x00000000, 0x00000000, 0x10000000, 0x00000000, 0x00000000, 0x014E0000, 0x00000008, 0x00000000, 0x00000000, 0x00000000, 0x10000000, 0x00000000, 0x00000000, 0x014F0000, 0x00000008, 0x00000000, 0x00000000, 0x00000000, 0x10000000, 0x00000000, 0x00000000, 0x01500000, 0x00000008, 0x00000000, 0x00000000, 0x00000000, 0x10000000, 0x00000000, 0x00000000, 0x00000000, 0x800827D8, 0x80082808, 0x80082838, 0x80082868, 0x80082898, 0x800828C8, 0x800828F8, 0x80082928, 0x80082958, 0x80082988, 0x800829B8, 0x800829E8, 0x80082A18, 0x80082A48, 0x80082A78, 0x80082AA8, 0x80082AD8, 0x80082B08, 0x80082B38, 0x80082B68, 0x80082B98, 0x80082BC8, 0x80082BF8, 0x80082C28, 0x80082C58, 0x80082C88, 0x80082CB8, 0x80082CE8, 0x80082D18, 0x80082D48, 0x80082D78, 0x80082DA8, 0x80082DD8, 0x80082E08, 0x80082E38, 0x80082E68, 0x80082E98, 0x80082EC8, 0x80082EF8, 0x80082F28, 0x80082F58, 0x80082F88, 0x80082FB8, 0x80082FE8, 0x80083018, 0x80083048, 0x80083078, 0x800830A8, 0x800830D8, 0x80083108, 0x80083138, 0x80083168, 0x80083198, 0x800831C8, 0x800831F8, 0x80083228, 0x80083258, 0x80083288, 0x800832B8, 0x800832E8, 0x80083318, 0x80083348, 0x80083378, 0x800833A8, 0x800833D8, 0x80083408, 0x80083438, 0x80083468, 0x80083498, 0x800834C8, 0x800834F8, 0x80083528, 0x80083558, 0x80083588, 0x800835B8, 0x800835E8, 0x80083618, 0x80083648, 0x80083678, 0x800836A8, 0x800836D8, 0x80083708, 0x80083738, 0x80083768, 0x80083798, 0x800837C8, 0x800837F8, 0x80083828, 0x80083858, 0x80083888, 0x800838B8, 0x800838E8, 0x80083918, 0x80083948, 0x80083978, 0x800839A8, 0x80080820, 0x80080820, 0x80080868, 0x80080868, 0x800807F0, 0x800807F0, 0x80080FF0, 0x80080FF0, 0x800811A0, 0x800811A0, 0x80081200, 0x80081200, 0x80081260, 0x80081260, 0x800812D8, 0x800812D8, 0x80081308, 0x80081308, 0x80081338, 0x80081338, 0x80081368, 0x80081368, 0x80081398, 0x80081398, 0x800813C8, 0x800813C8, 0x800813F8, 0x800813F8, 0x80081428, 0x80081428, 0x80081458, 0x80081458, 0x80081488, 0x80081488, 0x800814B8, 0x800814B8, 0x800814E8, 0x800814E8, 0x80081518, 0x80081518, 0x80081548, 0x80081548, 0x80081578, 0x80081578, 0x800815A8, 0x800815A8, 0x800815D8, 0x800815D8, 0x80081608, 0x80081608, 0x80081638, 0x80081638, 0x80081668, 0x80081668, 0x80081698, 0x80081698, 0x800816C8, 0x800816C8, 0x800816F8, 0x800816F8, 0x80081728, 0x80081728, 0x80081758, 0x80081758, 0x80081788, 0x80081788, 0x800817B8, 0x800817B8, 0x800817E8, 0x800817E8, 0x80081818, 0x80081818, 0x80081848, 0x80081848, 0x80081878, 0x80081878, 0x800818A8, 0x800818A8, 0x800818D8, 0x800818D8, 0x80081908, 0x80081908, 0x80081938, 0x80081938, 0x80081968, 0x80081968, 0x80081998, 0x80081998, 0x800819C8, 0x800819C8, 0x800819F8, 0x800819F8, 0x80081A28, 0x80081A28, 0x80081A58, 0x80081A58, 0x80081A88, 0x80081A88, 0x80081AB8, 0x80081AB8, 0x80081AE8, 0x80081AE8, 0x80081B18, 0x80081B18, 0x80081B48, 0x80081B48, 0x80081B78, 0x80081B78, 0x80081BA8, 0x80081BA8, 0x80081BD8, 0x80081BD8, 0x80081C08, 0x80081C08, 0x80081C38, 0x80081C38, 0x80081C68, 0x80081C68, 0x80081C98, 0x80081C98, 0x80081CC8, 0x80081CC8, 0x80081CF8, 0x80081CF8, 0x80081D28, 0x80081D28, 0x80081D58, 0x80081D58, 0x80081D88, 0x80081D88, 0x80081DB8, 0x80081DB8, 0x80081DE8, 0x80081DE8, 0x80081E18, 0x80081E18, 0x80081E48, 0x80081E48, 0x80081E78, 0x80081E78, 0x80081EA8, 0x80081EA8, 0x80081ED8, 0x80081ED8, 0x80081F08, 0x80081F08, 0x80081F38, 0x80081F38, 0x80081F68, 0x80081F68, 0x80081F98, 0x80081F98, 0x80081FC8, 0x80081FC8, 0x80081FF8, 0x80081FF8, 0x80082028, 0x80082028, 0x80082058, 0x80082058, 0x80082088, 0x80082088, 0x800820B8, 0x800820B8, 0x800820E8, 0x800820E8, 0x80082118, 0x80082118, 0x80082148, 0x80082148, 0x80082178, 0x80082178, 0x800821A8, 0x800821A8, 0x800821D8, 0x80082208, 0x80082238, 0x80082268, 0x80082298, 0x800822C8, 0x800822F8, 0x80082328, 0x80082358, 0x80082388, 0x800823B8, 0x800823E8, 0x80082418, 0x80082448, 0x80082478, 0x800824A8, 0x800839D8, 0x80083A08, 0x80083A38, 0x80083A68, 0x80083A98, 0x80083AC8, 0x80083AF8, 0x80083B28, 0x80083B58, 0x80083B88, 0x80083BB8, 0x80083BE8, 0x80083C18, 0x80083C48, 0x80083C78, 0x80083CA8, 0x80083CD8, 0x80083D08, 0x80083D38, 0x80083D68, 0x80083D98, 0x80083DC8, 0x80083DF8, 0x80083E28, 0x80083E58, 0x80083E88, 0x80083EB8, 0x80083EE8, 0x80083F18, 0x80083F48, 0x80083F78, 0x80083FA8, 0x80083FD8, 0x80084008, 0x80084038, 0x80084068, 0x80084098, 0x800840C8, 0x800840F8, 0x80084128, 0x80084158, 0x80084188, 0x800841B8, 0x800841E8, 0x80084218, 0x80084248, 0x80084278, 0x800842A8, 0x800842D8, 0x80084308, 0x80084338, 0x80084368, 0x80084398, 0x800843C8, 0x800843F8, 0x80084428, 0x80084458, 0x80084488, 0x800844B8, 0x800844E8, 0x80084518, 0x80084548, 0x80084578, 0x800845A8, 0x800845D8, 0x80084608, 0x80084638, 0x80084668, 0x80084698, 0x800846C8, 0x800846F8, 0x80084728, 0x80084758, 0x80084788, 0x800847B8, 0x800847E8, 0x80084818, 0x80084848, 0x80084878, 0x800848A8, 0x800848D8, 0x80084908, 0x80084938, 0x80084968, 0x80084998, 0x800849C8, 0x800849F8, 0x80084A28, 0x80084A58, 0x80084A88, 0x80084AB8, 0x80084AE8, 0x80084B18, 0x80084B48, 0x80084B78, 0x80084BA8, 0x80084BD8, 0x80084C08, 0x80084C38, 0x80084C68, 0x80084C98, 0x80084CC8, 0x80084CF8, 0x80084D28, 0x80084D58, 0x80084D88, 0x80084DB8, 0x80084DE8, 0x80084E18, 0x80084E48, 0x80084E78, 0x80084EA8, 0x80084ED8, 0x80084F08, 0x80084F38, 0x80084F68, 0x80084F98, 0x80084FC8, 0x80084FF8, 0x80085028, 0x80085058, 0x80085088, 0x800850B8, 0x800850E8, 0x80085118, 0x80085148, 0x80085178, 0x800851A8, 0x800851D8, 0x80085208, 0x80085238, 0x80085268, 0x80085298, 0x800852C8, 0x800852F8, 0x80085328, 0x80085358, 0x80085388, 0x800853B8, 0x800853E8, 0x80085418, 0x80085448, 0x80085478, 0x800854A8, 0x800854D8, 0x80085508, 0x80085538, 0x80085568, 0x80085598, 0x800855C8, 0x800855F8, 0x80085628, 0x80085658, 0x80085688, 0x800856B8, 0x800856E8, 0x80085718, 0x80085748, 0x80085778, 0x800857A8, 0x800857D8, 0x80085808, 0x80085838, 0x80085868, 0x80085898, 0x800858C8, 0x800858F8, 0x80085928, 0x80085958, 0x80085988, 0x800859B8, 0x800859E8, 0x80085A18, 0x80085A48, 0x80085A78, 0x80085AA8, 0x80085AD8, 0x80085B08, 0x80085B38, 0x80085B68, 0x80085B98, 0x80085BC8, 0x80085BF8, 0x80085C28, 0x80085C58, 0x80085C88, 0x80085CB8, 0x80085CE8, 0x80085D18, 0x80085D48, 0x80085D78, 0x80085DA8, 0x80085DD8, 0x80085E08, 0x80085E38, 0x80085E68, 0x80085E98, 0x80085EC8, 0x80085EF8, 0x80085F28, 0x80085F58, 0x80085F88, 0x80085FB8, 0x80085FE8, 0x80086018, 0x80086048, 0x80086078, 0x800860A8, 0x800866D8, 0x80086708, 0x80086738, 0x80086768, 0x80086798, 0x800867C8, 0x800867F8, 0x80086828, 0x80086858, 0x80086888, 0x800868B8, 0x800868E8, 0x80086918, 0x80086948, 0x80086978, 0x800869A8, 0x800869D8, 0x80086A08, 0x80086A38, 0x80086A68, 0x80086A98, 0x80086AC8, 0x80086AF8, 0x80086B28, 0x80086B58, 0x80086B88, 0x80086BB8, 0x80086BE8, 0x80086C18, 0x80086C48, 0x80086C78, 0x80086CA8, 0x80086CD8, 0x80086D08, 0x80086D38, 0x80086D68, 0x80086D98, 0x80086DC8, 0x80086DF8, 0x80086E28, 0x80086E58, 0x80086E88, 0x80086EB8, 0x80086EE8, 0x80086F18, 0x80086F48, 0x80086F78, 0x80086FA8, 0x80086FD8, 0x80087008, 0x80087038, 0x80087068, 0x80087098, 0x800870C8, 0x800870F8, 0x80087128, 0x80087158, 0x80087188, 0x800871B8, 0x800871E8, 0x80087218, 0x80087248, 0x80087278, 0x800872A8, 0x800872D8, 0x80087308, 0x80087338, 0x80087368, 0x80087398, 0x800873C8, 0x800873F8, 0x80087428, 0x80087458, 0x80087488, 0x800874B8, 0x800874E8, 0x80087518, 0x80087548, 0x80087578, 0x800875A8, 0x800860D8, 0x80086108, 0x80086138, 0x80086168, 0x80086198, 0x800861C8, 0x800861F8, 0x80086228, 0x80086258, 0x80086288, 0x800862B8, 0x800862E8, 0x80086318, 0x80086348, 0x80086378, 0x800863A8, 0x800863D8, 0x80086408, 0x80086438, 0x80086468, 0x80086498, 0x800864C8, 0x800864F8, 0x80086528, 0x80086558, 0x80086588, 0x800865B8, 0x800865E8, 0x80086618, 0x80086648, 0x80086678, 0x800866A8, 0x800875D8, 0x80087608, 0x80087638, 0x80087668, 0x80087698, 0x800876C8, 0x800876F8, 0x80087728, 0x80087758, 0x80087788, 0x800877B8, 0x800877E8, 0x80087818, 0x80087848, 0x80087878, 0x800878A8, 0x800824D8, 0x80082508, 0x80082538, 0x80082568, 0x80082598, 0x800825C8, 0x800825F8, 0x80082628, 0x80082658, 0x80082688, 0x800826B8, 0x800826E8, 0x80082718, 0x80082748, 0x80082778, 0x800827A8, 0x800804F0, 0x800804F0, 0x80080520, 0x80080520, 0x80080550, 0x80080550, 0x80080580, 0x80080580, 0x800805B0, 0x800805B0, 0x800805E0, 0x800805E0, 0x80080610, 0x80080610, 0x80080640, 0x80080640, 0x80080670, 0x80080670, 0x80109338, 0x801093D8, 0x800806A0, 0x800806A0, 0x800806D0, 0x800806D0, 0x80080700, 0x80080700, 0x80080730, 0x80080730, 0x80080760, 0x80080760, 0x80080790, 0x80080790, 0x800807C0, 0x800807C0, 0x00000001, 0x000000FF, 0x00000000, 0x00000200, 0x00000000, 0x00000000, 0x00000000, 0x00000001, 0x000000FF, 0x00000000, 0x00000200, 0x00000000, 0x00000000, 0x00000000, 0x00000001, 0x000000FF, 0x00000220, 0x00000420, 0x00000000, 0x00000000, 0x00000000, 0x00000001, 0x000000FF, 0x00000440, 0x00000640, 0x00000000, 0x00000000, 0x00000000, 0x00000001, 0x000000FF, 0x00000660, 0x00000860, 0x00000000, 0x00000000, 0x00000000, 0x00000001, 0x000000FF, 0x00000880, 0x00000A80, 0x00000000, 0x00000000, 0x00000000, 0x00000001, 0x000000FF, 0x00000AA0, 0x00000CA0, 0x00000000, 0x00000000, 0x00000000, 0x00000001, 0x000000FF, 0x00000CC0, 0x00000EC0, 0x00000000, 0x00000000, 0x00000000, 0x00000001, 0x000000FF, 0x00000EE0, 0x000010E0, 0x00000000, 0x00000000, 0x00000000, 0x00000001, 0x000000FF, 0x00001100, 0x00001300, 0x00000000, 0x00000000, 0x00000000, 0x00000001, 0x000000FF, 0x0002D940, 0x0002DB40, 0x00000000, 0x00000000, 0x00000000, 0x00000001, 0x000000FF, 0x0002DB80, 0x0002DD80, 0x00000000, 0x00000000, 0x00000000, 0x00000001, 0x000000FF, 0x0002DDC0, 0x0002DFC0, 0x00000000, 0x00000000, 0x00000000, 0x00000001, 0x000000FF, 0x0002E000, 0x0002E200, 0x00000000, 0x00000000, 0x00000000, 0x00000001, 0x000000FF, 0x0002E240, 0x0002E440, 0x00000000, 0x00000000, 0x00000000, 0x00000001, 0x000000FF, 0x0002E480, 0x0002E680, 0x00000000, 0x00000000, 0x00000000, 0x00000001, 0x000000FF, 0x0002E6C0, 0x0002E8C0, 0x00000000, 0x00000000, 0x00000000, 0x00000001, 0x0000003C, 0x00013BC0, 0x00013DC0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00013E00, 0x00014000, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00014040, 0x00014240, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00014280, 0x00014480, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x000144C0, 0x000146C0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00014700, 0x00014900, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00014940, 0x00014B40, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00014B80, 0x00014D80, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00001320, 0x00001520, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00001540, 0x00001740, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00001760, 0x00001960, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00001980, 0x00001B80, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00001BA0, 0x00001DA0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00001DC0, 0x00001FC0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00001FE0, 0x000021E0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00002200, 0x00002400, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00009020, 0x00009220, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00009240, 0x00009440, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00009460, 0x00009660, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00009680, 0x00009880, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x000098A0, 0x00009AA0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00009AC0, 0x00009CC0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00009CE0, 0x00009EE0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00009F00, 0x0000A100, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0000A120, 0x0000A320, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0000A340, 0x0000A540, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0000A560, 0x0000A760, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0000A780, 0x0000A980, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0000A9A0, 0x0000ABA0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0000ABC0, 0x0000ADC0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0000ADE0, 0x0000AFE0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0000B000, 0x0000B200, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0000B220, 0x0000B420, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0000B440, 0x0000B640, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0000B660, 0x0000B860, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0000B880, 0x0000BA80, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0000BAA0, 0x0000BCA0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0000BCC0, 0x0000BEC0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0000BEE0, 0x0000C0E0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0000C100, 0x0000C300, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0000C320, 0x0000C520, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0000C540, 0x0000C740, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0000C760, 0x0000C960, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0000C980, 0x0000CB80, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0000CBA0, 0x0000CDA0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0000CDC0, 0x0000CFC0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0000CFE0, 0x0000D1E0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0000D200, 0x0000D400, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0000D420, 0x0000D620, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0000D640, 0x0000D840, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0000D860, 0x0000DA60, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0000DAA0, 0x0000DCA0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0000DCC0, 0x0000DEC0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0000DEE0, 0x0000E0E0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0000E100, 0x0000E300, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0000E320, 0x0000E520, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0000E540, 0x0000E740, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0000E760, 0x0000E960, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0000E980, 0x0000EB80, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0000EBC0, 0x0000EDC0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0000EDE0, 0x0000EFE0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0000F000, 0x0000F200, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0000F220, 0x0000F420, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0000F440, 0x0000F640, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0000F660, 0x0000F860, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0000F880, 0x0000FA80, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0000FAA0, 0x0000FCA0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0000FCE0, 0x0000FEE0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0000FF00, 0x00010100, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00010120, 0x00010320, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00010340, 0x00010540, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00010560, 0x00010760, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00010780, 0x00010980, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x000109A0, 0x00010BA0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00010BC0, 0x00010DC0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00010E00, 0x00011000, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00011020, 0x00011220, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00011240, 0x00011440, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00011460, 0x00011660, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00011680, 0x00011880, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x000118A0, 0x00011AA0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00011AC0, 0x00011CC0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00011CE0, 0x00011EE0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00011F20, 0x00012120, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00012140, 0x00012340, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00012360, 0x00012560, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00012580, 0x00012780, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x000127A0, 0x000129A0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x000129C0, 0x00012BC0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00012C00, 0x00012E00, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00012E40, 0x00013040, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00013080, 0x00013280, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x000132C0, 0x000134C0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00013500, 0x00013700, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00013740, 0x00013940, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00013980, 0x00013B80, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00014DC0, 0x00014FC0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00015000, 0x00015200, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00015240, 0x00015440, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00015480, 0x00015680, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x000156C0, 0x000158C0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00015900, 0x00015B00, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00015B40, 0x00015D40, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00015D80, 0x00015F80, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00015FC0, 0x000161C0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00016200, 0x00016400, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00016440, 0x00016640, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00016680, 0x00016880, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x000168C0, 0x00016AC0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00016B00, 0x00016D00, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00016D40, 0x00016F40, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00016F80, 0x00017180, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x000171C0, 0x000173C0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00017400, 0x00017600, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00017640, 0x00017840, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00017880, 0x00017A80, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00017AC0, 0x00017CC0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00017D00, 0x00017F00, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00017F40, 0x00018140, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00018180, 0x00018380, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x000183C0, 0x000185C0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00018600, 0x00018800, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00018840, 0x00018A40, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00018A80, 0x00018C80, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00018CC0, 0x00018EC0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00018F00, 0x00019100, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00019140, 0x00019340, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00019380, 0x00019580, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x000195C0, 0x000197C0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00019800, 0x00019A00, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00019A40, 0x00019C40, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00019C80, 0x00019E80, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00019EC0, 0x0001A0C0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0001A100, 0x0001A300, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0001A340, 0x0001A540, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0001A580, 0x0001A780, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0001A7C0, 0x0001A9C0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0001AA00, 0x0001AC00, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0001AC40, 0x0001AE40, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0001AE80, 0x0001B080, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0001B0C0, 0x0001B2C0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0001B300, 0x0001B500, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0001B540, 0x0001B740, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0001B780, 0x0001B980, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0001B9C0, 0x0001BBC0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0001BC00, 0x0001BE00, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0001BE40, 0x0001C040, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0001C080, 0x0001C280, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0001C2C0, 0x0001C4C0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0001C500, 0x0001C700, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0001C740, 0x0001C940, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0001C980, 0x0001CB80, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0001CBC0, 0x0001CDC0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0001CE00, 0x0001D000, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0001D040, 0x0001D240, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0001D280, 0x0001D480, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0001D4C0, 0x0001D6C0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0001D700, 0x0001D900, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0001D940, 0x0001DB40, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0001DB80, 0x0001DD80, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0001DDC0, 0x0001DFC0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0001E000, 0x0001E200, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0001E240, 0x0001E440, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0001E480, 0x0001E680, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0001E6C0, 0x0001E8C0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0001E900, 0x0001EB00, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0001EB40, 0x0001ED40, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0001ED80, 0x0001EF80, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0001EFC0, 0x0001F1C0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0001F200, 0x0001F400, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0001F440, 0x0001F640, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0001F680, 0x0001F880, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0001F8C0, 0x0001FAC0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0001FB00, 0x0001FD00, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0001FD40, 0x0001FF40, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0001FF80, 0x00020180, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x000201C0, 0x000203C0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00020400, 0x00020600, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00020640, 0x00020840, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00020880, 0x00020A80, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00020AC0, 0x00020CC0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00020D00, 0x00020F00, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00020F40, 0x00021140, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00021180, 0x00021380, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x000213C0, 0x000215C0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00021600, 0x00021800, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00021840, 0x00021A40, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00021A80, 0x00021C80, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00021CC0, 0x00021EC0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00021F00, 0x00022100, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00022140, 0x00022340, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00022380, 0x00022580, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x000225C0, 0x000227C0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00022800, 0x00022A00, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00022A40, 0x00022C40, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00022C80, 0x00022E80, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00022EC0, 0x000230C0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00023100, 0x00023300, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00023340, 0x00023540, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00023580, 0x00023780, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000000A, 0x00030A60, 0x00030B80, 0x00000000, 0x00000000, 0x00000001, 0x00000006, 0x00030BA0, 0x00030CC0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000003, 0x00000001, 0x00000003, 0x0002F5C0, 0x0002F6E0, 0x00000000, 0x00000000, 0x00000001, 0x00000003, 0x0002F700, 0x0002F820, 0x00000000, 0x00000000, 0x00000001, 0x00000003, 0x0002FAC0, 0x0002FBE0, 0x00000000, 0x00000000, 0x00000001, 0x00000003, 0x0002FC00, 0x0002FD20, 0x00000000, 0x00000000, 0x00000001, 0x00000003, 0x0002FD40, 0x0002FE60, 0x00000000, 0x00000000, 0x00000001, 0x00000003, 0x0002FE80, 0x0002FFA0, 0x00000000, 0x00000000, 0x00000001, 0x00000003, 0x0002FFC0, 0x000300E0, 0x00000000, 0x00000000, 0x00000001, 0x00000003, 0x00030100, 0x00030220, 0x00000000, 0x00000000, 0x00000004, 0x00000064, 0x00000032, 0x00000001, 0x00000003, 0x0002F5C0, 0x0002F6E0, 0x00000000, 0x00000000, 0x00000001, 0x00000002, 0x0002F700, 0x0002F820, 0x00000000, 0x00000000, 0x00000001, 0x00000001, 0x0002F840, 0x0002F960, 0x00000000, 0x00000000, 0x00000001, 0x00000001, 0x0002F980, 0x0002FAA0, 0x00000000, 0x00000000, 0x00000001, 0x00000002, 0x0002FAC0, 0x0002FBE0, 0x00000000, 0x00000000, 0x00000001, 0x00000003, 0x0002FC00, 0x0002FD20, 0x00000000, 0x00000000, 0x00000001, 0x00000003, 0x0002FD40, 0x0002FE60, 0x00000000, 0x00000000, 0x00000001, 0x00000003, 0x0002FE80, 0x0002FFA0, 0x00000000, 0x00000000, 0x00000001, 0x00000003, 0x0002FFC0, 0x000300E0, 0x00000000, 0x00000000, 0x00000001, 0x00000003, 0x00030100, 0x00030220, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00030CE0, 0x00030E00, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000002, 0x00030E20, 0x00030F40, 0x00000000, 0x00000000, 0x00000001, 0x00000002, 0x00030F60, 0x00031080, 0x00000000, 0x00000000, 0x00000001, 0x00000002, 0x000310A0, 0x000311C0, 0x00000000, 0x00000000, 0x00000001, 0x00000002, 0x000311E0, 0x00031300, 0x00000000, 0x00000000, 0x00000001, 0x00000002, 0x00031320, 0x00031440, 0x00000000, 0x00000000, 0x00000001, 0x00000002, 0x00031460, 0x00031580, 0x00000000, 0x00000000, 0x00000001, 0x00000002, 0x000315A0, 0x000316C0, 0x00000000, 0x00000000, 0x00000001, 0x00000002, 0x000316E0, 0x00031800, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000008, 0x0002E900, 0x0002EB00, 0x00000000, 0x00000000, 0x00000001, 0x00000005, 0x0002EB20, 0x0002ED20, 0x00000000, 0x00000000, 0x00000001, 0x00000008, 0x0002ED40, 0x0002EF40, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000008, 0x0002EF60, 0x0002F160, 0x00000000, 0x00000000, 0x00000001, 0x00000005, 0x0002F180, 0x0002F380, 0x00000000, 0x00000000, 0x00000001, 0x00000008, 0x0002F3A0, 0x0002F5A0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000000C, 0x00030400, 0x00030600, 0x00000000, 0x00000000, 0x00000001, 0x00000004, 0x00030620, 0x00030820, 0x00000000, 0x00000000, 0x00000001, 0x0000000C, 0x00030840, 0x00030A40, 0x00000000, 0x00000000, 0x00000001, 0x00000004, 0x00030620, 0x00030820, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00002420, 0x00002620, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00002660, 0x00002860, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x000028A0, 0x00002AA0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00002AE0, 0x00002CE0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00002D20, 0x00002F20, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00002F60, 0x00003160, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x000031A0, 0x000033A0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x000033E0, 0x000035E0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00003620, 0x00003820, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00003860, 0x00003A60, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00003AA0, 0x00003CA0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00003CE0, 0x00003EE0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00003F20, 0x00004120, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00004160, 0x00004360, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x000043A0, 0x000045A0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x000045E0, 0x000047E0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00004820, 0x00004A20, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00004A60, 0x00004C60, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00004CA0, 0x00004EA0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00004EE0, 0x000050E0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00005120, 0x00005320, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00005360, 0x00005560, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x000055A0, 0x000057A0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x000057E0, 0x000059E0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00005A20, 0x00005C20, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00005C60, 0x00005E60, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00005EA0, 0x000060A0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x000060E0, 0x000062E0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00006320, 0x00006520, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00006560, 0x00006760, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x000067A0, 0x000069A0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x000069E0, 0x00006BE0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00006C20, 0x00006E20, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00006E60, 0x00007060, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x000070A0, 0x000072A0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x000072E0, 0x000074E0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00007520, 0x00007720, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00007760, 0x00007960, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x000079A0, 0x00007BA0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00007BE0, 0x00007DE0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00007E20, 0x00008020, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00008060, 0x00008260, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x000082A0, 0x000084A0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x000084E0, 0x000086E0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00008720, 0x00008920, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00008960, 0x00008B60, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00008BA0, 0x00008DA0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00008DE0, 0x00008FE0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0002A3C0, 0x0002A5C0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0002A600, 0x0002A800, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0002A840, 0x0002AA40, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0002AA80, 0x0002AC80, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0002ACC0, 0x0002AEC0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0002AF00, 0x0002B100, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0002B140, 0x0002B340, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0002B380, 0x0002B580, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0002B5C0, 0x0002B7C0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0002B800, 0x0002BA00, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0002BA40, 0x0002BC40, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0002BC80, 0x0002BE80, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0002BEC0, 0x0002C0C0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0002C100, 0x0002C300, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0002C340, 0x0002C540, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0002C580, 0x0002C780, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x000237C0, 0x000239C0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00023A00, 0x00023C00, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00023C40, 0x00023E40, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00023E80, 0x00024080, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x000240C0, 0x000242C0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00024300, 0x00024500, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00024540, 0x00024740, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00024780, 0x00024980, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x000249C0, 0x00024BC0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00024C00, 0x00024E00, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00024E40, 0x00025040, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00025080, 0x00025280, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x000252C0, 0x000254C0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00025500, 0x00025700, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00025740, 0x00025940, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00025980, 0x00025B80, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00025BC0, 0x00025DC0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00025E00, 0x00026000, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00026040, 0x00026240, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00026280, 0x00026480, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x000264C0, 0x000266C0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00026700, 0x00026900, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00026940, 0x00026B40, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00026B80, 0x00026D80, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00026DC0, 0x00026FC0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00027000, 0x00027200, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00027240, 0x00027440, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00027480, 0x00027680, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x000276C0, 0x000278C0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00027900, 0x00027B00, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00027B40, 0x00027D40, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00027D80, 0x00027F80, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00027FC0, 0x000281C0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00028200, 0x00028400, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00028440, 0x00028640, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00028680, 0x00028880, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x000288C0, 0x00028AC0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00028B00, 0x00028D00, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00028D40, 0x00028F40, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00028F80, 0x00029180, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x000291C0, 0x000293C0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00029400, 0x00029600, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00029640, 0x00029840, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00029880, 0x00029A80, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00029AC0, 0x00029CC0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00029D00, 0x00029F00, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00029F40, 0x0002A140, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0002A180, 0x0002A380, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x8008B108, 0x8008B3E4, 0x8008B404, 0x8008B424, 0x8008B444, 0x8008B464, 0x8008B484, 0x8008B4A4, 0x8008B108, 0x8008B108, 0x8008BBE4, 0x8008BC04, 0x8008BC24, 0x8008BC44, 0x8008BC64, 0x8008B924, 0x8008B4E4, 0x8008B504, 0x8008B5C4, 0x8008B524, 0x8008B544, 0x8008B664, 0x8008B624, 0x8008B644, 0x8008B604, 0x8008B5A4, 0x8008B564, 0x8008B684, 0x8008B6E4, 0x8008B704, 0x8008B884, 0x8008B724, 0x8008B744, 0x8008B764, 0x8008B6C4, 0x8008B784, 0x8008B7A4, 0x8008B7C4, 0x8008B7E4, 0x8008BC84, 0x8008B984, 0x8008B9A4, 0x8008B9C4, 0x8008B804, 0x8008B824, 0x8008B844, 0x8008B864, 0x8008B944, 0x8008B964, 0x8008B9E4, 0x8008BA04, 0x8008BA24, 0x8008BA44, 0x8008BDE4, 0x8008BDE4, 0x8008BDE4, 0x8008BDE4, 0x8008BDE4, 0x8008BDE4, 0x8008BDE4, 0x8008BDE4, 0x8008BDE4, 0x8008BDE4, 0x8008BDE4, 0x8008BDE4, 0x8008BDE4, 0x8008BDE4, 0x8008BDE4, 0x8008BDE4, 0x8008BDE4, 0x8008BDE4, 0x8008BDE4, 0x8008BDE4, 0x8008BDE4, 0x8008BDE4, 0x8008BDE4, 0x8008BDE4, 0x8008BDE4, 0x8008BDE4, 0x8008BDE4, 0x8008BDE4, 0x8008BDE4, 0x8008BDE4, 0x8008B5E4, 0x8008BDE4, 0x8008BDE4, 0x8008B584, 0x8008B8A4, 0x8008B8C4, 0x8008B8E4, 0x8008B904, 0x8008B604, 0x8008BD04, 0x8008DB94, 0x8008DB74, 0x8008DBB4, 0x8008DBD4, 0x8008DBF4, 0x8008DC14, 0x8008DC34, 0x8008DC54, 0x8008DC74, 0x8008DC94, 0x8008BAC4, 0x8008BAA4, 0x8008BAE4, 0x8008BB44, 0x8008B744, 0x8008BB04, 0x8008BB24, 0x8008BCE4, 0x8008BD24, 0x8008BD44, 0x8008BD64, 0x8008BD84, 0x8008BDA4, 0x8008BDC4, 0x8008BDA4, 0x8008BA64, 0x8008BA84, 0x8008BB44, 0x8008B744, 0x8008B744, 0x8008BCC4, 0x8008BCA4, 0x8008B108, 0x8008B108, 0x8008B108, 0x8008D5D4, 0x8008D5F4, 0x8008D614, 0x8008D654, 0x8008D634, 0x8008D694, 0x8008D674, 0x8008B384, 0x8008D6D4, 0x8008D874, 0x8008D7D4, 0x8008D6F4, 0x8008D7F4, 0x8008D854, 0x8008D814, 0x8008DCD4, 0x8008DD14, 0x8008DD34, 0x8008DD54, 0x8008DB34, 0x8008DB54, 0x8008D834, 0x8008B344, 0x8008B364, 0x8008B324, 0x8008B2E4, 0x8008DD74, 0x8008D894, 0x8008D9B4, 0x8008D994, 0x8008D8B4, 0x8008D8D4, 0x8008D8F4, 0x8008D914, 0x8008DB14, 0x8008DAF4, 0x8008DAD4, 0x8008D934, 0x8008D954, 0x8008D974, 0x8008D9D4, 0x8008D9F4, 0x8008DA14, 0x8008DA34, 0x8008DA54, 0x8008DA74, 0x8008DA94, 0x8008DAB4, 0x8008CFD4, 0x8008CFF4, 0x8008D014, 0x8008D034, 0x8008D054, 0x8008D074, 0x8008D094, 0x8008D0B4, 0x8008D0D4, 0x8008D0F4, 0x8008D114, 0x8008D174, 0x8008D134, 0x8008D154, 0x8008D194, 0x8008D1B4, 0x8008D1D4, 0x8008D1F4, 0x8008D214, 0x8008D234, 0x8008D254, 0x8008D274, 0x8008D294, 0x8008D2B4, 0x8008D2D4, 0x8008D2F4, 0x8008D314, 0x8008D334, 0x8008D354, 0x8008D374, 0x8008D394, 0x8008D3B4, 0x8008D3D4, 0x8008D3F4, 0x8008D414, 0x8008D434, 0x8008D454, 0x8008D474, 0x8008D494, 0x8008D4B4, 0x8008D4D4, 0x8008D4F4, 0x8008D514, 0x8008B108, 0x8008B108, 0x8008B108, 0x8008B108, 0x8008B108, 0x8008BEE4, 0x8008BF04, 0x8008BF24, 0x8008BF44, 0x8008BF64, 0x8008BF84, 0x8008BFA4, 0x8008BFC4, 0x8008BFE4, 0x8008C004, 0x8008B108, 0x8008C064, 0x8008C0E4, 0x8008C944, 0x8008C164, 0x8008C1A4, 0x8008C1E4, 0x8008C204, 0x8008C224, 0x8008C244, 0x8008C264, 0x8008C284, 0x8008C2A4, 0x8008C2C4, 0x8008C2E4, 0x8008C304, 0x8008C324, 0x8008C344, 0x8008C364, 0x8008C384, 0x8008C3A4, 0x8008C3C4, 0x8008C3E4, 0x8008C404, 0x8008C424, 0x8008C444, 0x8008C464, 0x8008C484, 0x8008C4A4, 0x8008C1C4, 0x8008C044, 0x8008C084, 0x8008C104, 0x8008C0A4, 0x8008C124, 0x8008C704, 0x8008C144, 0x8008C0C4, 0x8008C764, 0x8008C724, 0x8008C744, 0x8008C604, 0x8008C5A4, 0x8008C5C4, 0x8008C624, 0x8008C024, 0x8008C184, 0x8008C4C4, 0x8008C644, 0x8008C664, 0x8008C6C4, 0x8008C684, 0x8008C6E4, 0x8008C6A4, 0x8008C5E4, 0x8008C4E4, 0x8008C504, 0x8008C524, 0x8008C544, 0x8008C564, 0x8008C584, 0x8008B108, 0x8008B108, 0x8008C8E4, 0x8008C904, 0x8008C7E4, 0x8008B108, 0x8008C924, 0x8008C824, 0x8008C804, 0x8008C844, 0x8008C864, 0x8008C8E4, 0x8008C904, 0x8008BFC4, 0x8008C2E4, 0x8008C3C4, 0x8008C3C4, 0x8008C484, 0x8008C484, 0x8008C844, 0x8008C844, 0x8008BF24, 0x8008BF24, 0x8008C344, 0x8008C344, 0x8008C884, 0x8008C884, 0x8008C884, 0x8008CA04, 0x8008C9E4, 0x8008CA24, 0x8008CA44, 0x8008CA64, 0x8008CA84, 0x8008CAA4, 0x8008BFC4, 0x8008BFC4, 0x8008BFC4, 0x8008C2E4, 0x8008C2E4, 0x8008C2E4, 0x8008CAE4, 0x8008B108, 0x8008B108, 0x8008B108, 0x8008B108, 0x8008B108, 0x8008CBE4, 0x8008CC1C, 0x8008CDE4, 0x8008CE04, 0x8008CECC, 0x8008CF1C, 0x8008CF6C, 0x8008B124, 0x8008B140, 0x8008B15C, 0x8008B178, 0x8008B194, 0x8008B1B0, 0x8008B1CC, 0x8008B1E8, 0x8008B204, 0x8008B220, 0x8008B23C, 0x8008B258, 0x8008B274, 0x8008B290, 0x8008B2AC, 0x8008B2C8, 0x8008B108, 0x8008B108, 0x8008B108, 0x8008B108, 0x8008B108, 0x8008B108, 0x8008B108, 0x8008B108, 0x8008B108, 0x8008B108, 0x8008B108, 0x8008B108, 0x8008B108, 0x8008B108, 0x8008B108, 0x8008B108, 0x8008B108, 0x8008B108, 0x8008B108, 0x8008B108, 0x00000000, 0x00001320, 0x00001540, 0x00001760, 0x00001980, 0x00001BA0, 0x00001DC0, 0x00001FE0, 0x00000000, 0x00000000, 0x00010780, 0x000109A0, 0x00010BC0, 0x00010E00, 0x00011020, 0x0000D860, 0x00009020, 0x00009240, 0x00009F00, 0x00009460, 0x00009680, 0x0000A9A0, 0x0000A560, 0x0000A780, 0x0000A340, 0x00009CE0, 0x000098A0, 0x0000ABC0, 0x0000B220, 0x0000B440, 0x0000CDC0, 0x0000B660, 0x0000B880, 0x0000BAA0, 0x0000B000, 0x0000BCC0, 0x0000BEE0, 0x0000C100, 0x0000C320, 0x00011240, 0x0000DEE0, 0x0000E100, 0x0000E320, 0x0000C540, 0x0000C760, 0x0000C980, 0x0000CBA0, 0x0000DAA0, 0x0000DCC0, 0x0000E540, 0x0000E760, 0x0000E980, 0x0000EBC0, 0x000129C0, 0x000129C0, 0x000129C0, 0x000129C0, 0x000129C0, 0x000129C0, 0x000129C0, 0x000129C0, 0x000129C0, 0x000129C0, 0x000129C0, 0x000129C0, 0x000129C0, 0x000129C0, 0x000129C0, 0x000129C0, 0x000129C0, 0x000129C0, 0x000129C0, 0x000129C0, 0x000129C0, 0x000129C0, 0x000129C0, 0x000129C0, 0x000129C0, 0x000129C0, 0x000129C0, 0x000129C0, 0x000129C0, 0x000129C0, 0x0000A120, 0x000129C0, 0x000129C0, 0x00009AC0, 0x0000CFE0, 0x0000D200, 0x0000D420, 0x0000D640, 0x0000A340, 0x00011AC0, 0x00027B40, 0x00027900, 0x00027D80, 0x00027FC0, 0x00028200, 0x00028440, 0x00028680, 0x000288C0, 0x00028B00, 0x00028D40, 0x0000F440, 0x0000F220, 0x0000F660, 0x0000FCE0, 0x0000B880, 0x0000F880, 0x0000FAA0, 0x000118A0, 0x00011CE0, 0x00011F20, 0x00012140, 0x00012360, 0x00012580, 0x000127A0, 0x00012580, 0x0000EDE0, 0x0000F000, 0x0000FCE0, 0x0000B880, 0x0000B880, 0x00011680, 0x00011460, 0x00000000, 0x00000000, 0x00000000, 0x0002A3C0, 0x0002A600, 0x0002A840, 0x0002ACC0, 0x0002AA80, 0x0002B140, 0x0002AF00, 0x00014700, 0x0002B5C0, 0x00024300, 0x000237C0, 0x0002B800, 0x00023A00, 0x000240C0, 0x00023C40, 0x000291C0, 0x00029640, 0x00029880, 0x00029AC0, 0x00027480, 0x000276C0, 0x00023E80, 0x00014280, 0x000144C0, 0x00014040, 0x00013BC0, 0x00029D00, 0x00024540, 0x00025980, 0x00025740, 0x00024780, 0x000249C0, 0x00024C00, 0x00024E40, 0x00027240, 0x00027000, 0x00026DC0, 0x00025080, 0x000252C0, 0x00025500, 0x00025BC0, 0x00025E00, 0x00026040, 0x00026280, 0x000264C0, 0x00026700, 0x00026940, 0x00026B80, 0x00002420, 0x00002660, 0x000028A0, 0x00002AE0, 0x00002D20, 0x00002F60, 0x000031A0, 0x000033E0, 0x00003620, 0x00003860, 0x00003AA0, 0x00004160, 0x00003CE0, 0x00003F20, 0x000043A0, 0x000045E0, 0x00004820, 0x00004A60, 0x00004CA0, 0x00004EE0, 0x00005120, 0x00005360, 0x000055A0, 0x000057E0, 0x00005A20, 0x00005C60, 0x00005EA0, 0x000060E0, 0x00006320, 0x00006560, 0x000067A0, 0x000069E0, 0x00006C20, 0x00006E60, 0x000070A0, 0x000072E0, 0x00007520, 0x00007760, 0x000079A0, 0x00007BE0, 0x00007E20, 0x00008060, 0x000082A0, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00014DC0, 0x00015000, 0x00015240, 0x00015480, 0x000156C0, 0x00015900, 0x00015B40, 0x00015D80, 0x00015FC0, 0x00016200, 0x00000000, 0x000168C0, 0x000171C0, 0x00020880, 0x00017AC0, 0x00017F40, 0x000183C0, 0x00018600, 0x00018840, 0x00018A80, 0x00018CC0, 0x00018F00, 0x00019140, 0x00019380, 0x000195C0, 0x00019800, 0x00019A40, 0x00019C80, 0x00019EC0, 0x0001A100, 0x0001A340, 0x0001A580, 0x0001A7C0, 0x0001AA00, 0x0001AC40, 0x0001AE80, 0x0001B0C0, 0x0001B300, 0x0001B540, 0x00018180, 0x00016680, 0x00016B00, 0x00017400, 0x00016D40, 0x00017640, 0x0001E000, 0x00017880, 0x00016F80, 0x0001E6C0, 0x0001E240, 0x0001E480, 0x0001CE00, 0x0001C740, 0x0001C980, 0x0001D040, 0x00016440, 0x00017D00, 0x0001B780, 0x0001D280, 0x0001D4C0, 0x0001DB80, 0x0001D700, 0x0001DDC0, 0x0001D940, 0x0001CBC0, 0x0001B9C0, 0x0001BC00, 0x0001BE40, 0x0001C080, 0x0001C2C0, 0x0001C500, 0x00000000, 0x00000000, 0x000201C0, 0x00020400, 0x0001EFC0, 0x00000000, 0x00020640, 0x0001F440, 0x0001F200, 0x0001F680, 0x0001F8C0, 0x000201C0, 0x00020400, 0x00015D80, 0x000195C0, 0x0001A580, 0x0001A580, 0x0001B300, 0x0001B300, 0x0001F680, 0x0001F680, 0x00015240, 0x00015240, 0x00019C80, 0x00019C80, 0x0001FB00, 0x0001FB00, 0x0001FB00, 0x00021600, 0x000213C0, 0x00021840, 0x00021A80, 0x00021CC0, 0x00021F00, 0x00022140, 0x00015D80, 0x00015D80, 0x00015D80, 0x000195C0, 0x000195C0, 0x000195C0, 0x000225C0, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00030A60, 0x0002F5C0, 0x00030CE0, 0x00030E20, 0x0002E900, 0x0002EF60, 0x00030400, 0x00000200, 0x00001520, 0x00001740, 0x00001960, 0x00001B80, 0x00001DA0, 0x00001FC0, 0x000021E0, 0x00000200, 0x00000200, 0x00010980, 0x00010BA0, 0x00010DC0, 0x00011000, 0x00011220, 0x0000DA60, 0x00009220, 0x00009440, 0x0000A100, 0x00009660, 0x00009880, 0x0000ABA0, 0x0000A760, 0x0000A980, 0x0000A540, 0x00009EE0, 0x00009AA0, 0x0000ADC0, 0x0000B420, 0x0000B640, 0x0000CFC0, 0x0000B860, 0x0000BA80, 0x0000BCA0, 0x0000B200, 0x0000BEC0, 0x0000C0E0, 0x0000C300, 0x0000C520, 0x00011440, 0x0000E0E0, 0x0000E300, 0x0000E520, 0x0000C740, 0x0000C960, 0x0000CB80, 0x0000CDA0, 0x0000DCA0, 0x0000DEC0, 0x0000E740, 0x0000E960, 0x0000EB80, 0x0000EDC0, 0x00012BC0, 0x00012BC0, 0x00012BC0, 0x00012BC0, 0x00012BC0, 0x00012BC0, 0x00012BC0, 0x00012BC0, 0x00012BC0, 0x00012BC0, 0x00012BC0, 0x00012BC0, 0x00012BC0, 0x00012BC0, 0x00012BC0, 0x00012BC0, 0x00012BC0, 0x00012BC0, 0x00012BC0, 0x00012BC0, 0x00012BC0, 0x00012BC0, 0x00012BC0, 0x00012BC0, 0x00012BC0, 0x00012BC0, 0x00012BC0, 0x00012BC0, 0x00012BC0, 0x00012BC0, 0x0000A320, 0x00012BC0, 0x00012BC0, 0x00009CC0, 0x0000D1E0, 0x0000D400, 0x0000D620, 0x0000D840, 0x0000A540, 0x00011CC0, 0x00027D40, 0x00027B00, 0x00027F80, 0x000281C0, 0x00028400, 0x00028640, 0x00028880, 0x00028AC0, 0x00028D00, 0x00028F40, 0x0000F640, 0x0000F420, 0x0000F860, 0x0000FEE0, 0x0000BA80, 0x0000FA80, 0x0000FCA0, 0x00011AA0, 0x00011EE0, 0x00012120, 0x00012340, 0x00012560, 0x00012780, 0x000129A0, 0x00012780, 0x0000EFE0, 0x0000F200, 0x0000FEE0, 0x0000BA80, 0x0000BA80, 0x00011880, 0x00011660, 0x00000200, 0x00000200, 0x00000200, 0x0002A5C0, 0x0002A800, 0x0002AA40, 0x0002AEC0, 0x0002AC80, 0x0002B340, 0x0002B100, 0x00014900, 0x0002B7C0, 0x00024500, 0x000239C0, 0x0002BA00, 0x00023C00, 0x000242C0, 0x00023E40, 0x000293C0, 0x00029840, 0x00029A80, 0x00029CC0, 0x00027680, 0x000278C0, 0x00024080, 0x00014480, 0x000146C0, 0x00014240, 0x00013DC0, 0x00029F00, 0x00024740, 0x00025B80, 0x00025940, 0x00024980, 0x00024BC0, 0x00024E00, 0x00025040, 0x00027440, 0x00027200, 0x00026FC0, 0x00025280, 0x000254C0, 0x00025700, 0x00025DC0, 0x00026000, 0x00026240, 0x00026480, 0x000266C0, 0x00026900, 0x00026B40, 0x00026D80, 0x00002620, 0x00002860, 0x00002AA0, 0x00002CE0, 0x00002F20, 0x00003160, 0x000033A0, 0x000035E0, 0x00003820, 0x00003A60, 0x00003CA0, 0x00004360, 0x00003EE0, 0x00004120, 0x000045A0, 0x000047E0, 0x00004A20, 0x00004C60, 0x00004EA0, 0x000050E0, 0x00005320, 0x00005560, 0x000057A0, 0x000059E0, 0x00005C20, 0x00005E60, 0x000060A0, 0x000062E0, 0x00006520, 0x00006760, 0x000069A0, 0x00006BE0, 0x00006E20, 0x00007060, 0x000072A0, 0x000074E0, 0x00007720, 0x00007960, 0x00007BA0, 0x00007DE0, 0x00008020, 0x00008260, 0x000084A0, 0x00000200, 0x00000200, 0x00000200, 0x00000200, 0x00000200, 0x00014FC0, 0x00015200, 0x00015440, 0x00015680, 0x000158C0, 0x00015B00, 0x00015D40, 0x00015F80, 0x000161C0, 0x00016400, 0x00000200, 0x00016AC0, 0x000173C0, 0x00020A80, 0x00017CC0, 0x00018140, 0x000185C0, 0x00018800, 0x00018A40, 0x00018C80, 0x00018EC0, 0x00019100, 0x00019340, 0x00019580, 0x000197C0, 0x00019A00, 0x00019C40, 0x00019E80, 0x0001A0C0, 0x0001A300, 0x0001A540, 0x0001A780, 0x0001A9C0, 0x0001AC00, 0x0001AE40, 0x0001B080, 0x0001B2C0, 0x0001B500, 0x0001B740, 0x00018380, 0x00016880, 0x00016D00, 0x00017600, 0x00016F40, 0x00017840, 0x0001E200, 0x00017A80, 0x00017180, 0x0001E8C0, 0x0001E440, 0x0001E680, 0x0001D000, 0x0001C940, 0x0001CB80, 0x0001D240, 0x00016640, 0x00017F00, 0x0001B980, 0x0001D480, 0x0001D6C0, 0x0001DD80, 0x0001D900, 0x0001DFC0, 0x0001DB40, 0x0001CDC0, 0x0001BBC0, 0x0001BE00, 0x0001C040, 0x0001C280, 0x0001C4C0, 0x0001C700, 0x00000200, 0x00000200, 0x000203C0, 0x00020600, 0x0001F1C0, 0x00000200, 0x00020840, 0x0001F640, 0x0001F400, 0x0001F880, 0x0001FAC0, 0x000203C0, 0x00020600, 0x00015F80, 0x000197C0, 0x0001A780, 0x0001A780, 0x0001B500, 0x0001B500, 0x0001F880, 0x0001F880, 0x00015440, 0x00015440, 0x00019E80, 0x00019E80, 0x0001FD00, 0x0001FD00, 0x0001FD00, 0x00021800, 0x000215C0, 0x00021A40, 0x00021C80, 0x00021EC0, 0x00022100, 0x00022340, 0x00015F80, 0x00015F80, 0x00015F80, 0x000197C0, 0x000197C0, 0x000197C0, 0x000227C0, 0x00000200, 0x00000200, 0x00000200, 0x00000200, 0x00000200, 0x00030B80, 0x0002F6E0, 0x00030E00, 0x00030F40, 0x0002EB00, 0x0002F160, 0x00030600, 0x00000000, 0x00000001, 0x00000002, 0x00000003, 0x00000004, 0x00000009, 0x00000006, 0x00000007, 0x00000008, 0x00000005, 0x0000000A, 0x0000000B, 0x00000000, 0x00000001, 0x00000002, 0x00000003, 0x00000004, 0x00000000, 0x00000006, 0x00000007, 0x00000008, 0x00000005, 0x00000000, 0x00000000, 0x800989A0, 0x00000000, 0x00000000, 0x00000000, 0x001D0007, 0x00000002, 0x00280000, 0x00280001, 0x001D0008, 0x00000003, 0x0028000D, 0x0028000E, 0x001D0009, 0x00000004, 0x0028001A, 0x0028001B, 0x001D000A, 0x00000005, 0x00280027, 0x00280028, 0x001D000B, 0x00000001, 0x00000000, 0x00000000, 0x001D000C, 0x00000007, 0x00280041, 0x00280042, 0x001D000D, 0x00000008, 0x0028004E, 0x0028004F, 0x001D000E, 0x00000009, 0x0028005B, 0x0028005C, 0x001D000F, 0x00000006, 0x00280034, 0x00280035, 0x001D0010, 0x00000001, 0x00000000, 0x00000000, 0x001D0011, 0x00000001, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x80107CA8, 0x80107CD0, 0x80107CF8, 0x80107D20, 0x80107D48, 0x80107D70, 0x80107D98, 0x80107DC0, 0x80107DE8, 0x80107E10, 0x80107E38, 0x80107E60, 0x80107E88, 0x80107EB0, 0x80107ED8, 0x80107F00, 0x80107F28, 0x80107F50, 0x80107F78, 0x80107FA0, 0x80107FC8, 0x80107FF0, 0x80108018, 0x80108040, 0x80108018, 0x80108040, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000000FF, 0x00000000, 0x00000002, 0x00000000, 0x00000000, 0x000000FF, 0x00000000, 0x00000008, 0x00000000, 0x00000000, 0x000000FF, 0x001D0038, 0x00013005, 0x002300A3, 0x00000000, 0x01000001, 0x001D0038, 0x00013005, 0x002300A4, 0x002300A4, 0x01000001, 0x001D0038, 0x00013005, 0x002300A5, 0x002300A5, 0x01000001, 0x001D0038, 0x00013005, 0x00000000, 0x00000000, 0x01000001, 0x00000000, 0x00013005, 0x00000000, 0x00000000, 0x01000001, 0x002A0010, 0x00013005, 0x00230068, 0x00250068, 0x01020101, 0x002A0012, 0x00008020, 0x0023006A, 0x0025006A, 0x01020101, 0x002A0011, 0x00013005, 0x00230069, 0x00250069, 0x01020201, 0x00000000, 0x00000008, 0x00000000, 0x00000000, 0x010101FF, 0x001D0038, 0x00055001, 0x00000000, 0x00000000, 0x01000001, 0x002A000E, 0x00000003, 0x00230066, 0x00250066, 0x01020201, 0x002A0014, 0x00008020, 0x0023006C, 0x0025006C, 0x01070301, 0x002A000C, 0x00000008, 0x00230064, 0x00250064, 0x010101FF, 0x001D0038, 0x00054001, 0x00230064, 0x00250064, 0x01000001, 0x002A000D, 0x00000008, 0x00230065, 0x00250065, 0x010402FF, 0x001D0038, 0x00055001, 0x00230065, 0x00250065, 0x01000001, 0x00000000, 0x00013005, 0x00000000, 0x00000000, 0x010201FF, 0x002A0013, 0x00008020, 0x0023006B, 0x0025006B, 0x01040201, 0x002A000A, 0x00013005, 0x00230062, 0x00250062, 0x01020101, 0x00000000, 0x00013005, 0x00000000, 0x00000000, 0x01040201, 0x002A000B, 0x00013005, 0x00230063, 0x00250063, 0x01060301, 0x002A000F, 0x00013005, 0x00230067, 0x00250067, 0x01020101, 0x00000000, 0x00013005, 0x00000000, 0x00000000, 0x01060301, 0x001D0039, 0x00054881, 0x002300A0, 0x002300A0, 0x02000000, 0x001D0039, 0x00054881, 0x002300A1, 0x002300A1, 0x02000000, 0x001D0039, 0x00054881, 0x002300A2, 0x002300A2, 0x02000000, 0x001D0039, 0x00054881, 0x00000000, 0x00000000, 0x02000000, 0x001D0039, 0x00054881, 0x00000000, 0x00000000, 0x02000000, 0x002A0006, 0x0004C880, 0x0023005E, 0x0025005E, 0x02020100, 0x002A0009, 0x00054881, 0x00230061, 0x00250061, 0x02030200, 0x002A0004, 0x00054881, 0x0023005C, 0x0025005C, 0x02020100, 0x002A0005, 0x00054881, 0x0023005D, 0x0025005D, 0x02020100, 0x00000000, 0x00000808, 0x00000000, 0x00000000, 0x020101FF, 0x001D0039, 0x00054881, 0x00000000, 0x00000000, 0x02010100, 0x002A0002, 0x00000808, 0x0023005A, 0x0025005A, 0x020101FF, 0x001D0039, 0x00054881, 0x0023005A, 0x0025005A, 0x02000000, 0x002A0003, 0x00000808, 0x0023005B, 0x0025005B, 0x020402FF, 0x001D0039, 0x00054881, 0x0023005B, 0x0025005B, 0x02000000, 0x00000000, 0x00054881, 0x00000000, 0x00000000, 0x020201FF, 0x00000000, 0x0004C880, 0x00000000, 0x00000000, 0x020502FF, 0x002A0000, 0x00054881, 0x00230058, 0x00250058, 0x02020100, 0x00000000, 0x00054881, 0x00000000, 0x00000000, 0x02040200, 0x002A0001, 0x00054881, 0x00230059, 0x00250059, 0x02060300, 0x002A0008, 0x00054881, 0x00230060, 0x00250060, 0x02020200, 0x002A0007, 0x00054881, 0x0023005F, 0x0025005F, 0x02020100, 0x00000000, 0x00008020, 0x00000000, 0x00000000, 0x02020214, 0x00000000, 0x00010005, 0x00230074, 0x00250074, 0x030006FF, 0x00000000, 0x00000008, 0x00000000, 0x00000000, 0x030008FF, 0x00260075, 0x00000008, 0x00230075, 0x00250075, 0x030003FF, 0x001D003F, 0x00010005, 0x001D00A4, 0x00000000, 0x040000FF, 0x002A0015, 0x00000000, 0x0023006D, 0x0025006D, 0x040301FF, 0x002A0016, 0x00000000, 0x0023006E, 0x0025006E, 0x040603FF, 0x80098A04, 0x00000000, 0x00000000, 0x00000000, 0x050000FF, 0x002A0018, 0x00000000, 0x00230070, 0x00250070, 0x050004FF, 0x80098A04, 0x00010005, 0x00000000, 0x00000000, 0x060000FF, 0x80098A04, 0x00000000, 0x00000000, 0x00000000, 0x070000FF, 0x00260073, 0x00000000, 0x00230073, 0x00250073, 0x070006FF, 0x00260093, 0x00000000, 0x00230093, 0x00250093, 0x070004FF, 0x00260095, 0x00000000, 0x00230095, 0x00250095, 0x070002FF, 0x002A0019, 0x00000000, 0x00230076, 0x00250076, 0x070002FF, 0x80098A04, 0x00010005, 0x00000000, 0x00000000, 0x080000FF, 0x0026007F, 0x00000000, 0x0023007F, 0x0025007F, 0x080002FF, 0x00260097, 0x00000000, 0x00230097, 0x00250097, 0x080002FF, 0x00260081, 0x00000000, 0x00230081, 0x00250081, 0x080003FF, 0x0026008C, 0x00000000, 0x0023008C, 0x0025008C, 0x080003FF, 0x00260099, 0x00000000, 0x00230099, 0x00250099, 0x080004FF, 0x00260074, 0x00000000, 0x00230074, 0x00250074, 0x080006FF, 0x00000000, 0x00000000, 0x00230085, 0x00250085, 0x080001FF, 0x00000000, 0x00000000, 0x00230083, 0x00250083, 0x080001FF, 0x00000000, 0x00000000, 0x00230082, 0x00250082, 0x080007FF, 0x002A001A, 0x00000000, 0x00230077, 0x00250077, 0x080002FF, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x080001FF, 0x80098A04, 0x00000000, 0x00000000, 0x00000000, 0x090000FF, 0x00260080, 0x00000000, 0x00230080, 0x00250080, 0x090002FF, 0x00260087, 0x00000000, 0x00230087, 0x00250087, 0x090001FF, 0x00260094, 0x00000000, 0x00230094, 0x00250094, 0x090000FF, 0x0026009B, 0x00000000, 0x0023009B, 0x0025009B, 0x090008FF, 0x00000000, 0x00000000, 0x00230088, 0x00250088, 0x090005FF, 0x80098A04, 0x00010005, 0x00000000, 0x00000000, 0x000000FF, 0x00260071, 0x00010005, 0x00230071, 0x00250071, 0x000003FF, 0x00000000, 0x00000002, 0x00000000, 0x00000000, 0x000000FF, 0x0026008D, 0x00000002, 0x0023008D, 0x0025008D, 0x000000FF, 0x0026008E, 0x00000002, 0x0023008E, 0x0025008E, 0x000000FF, 0x0026008F, 0x00000002, 0x0023008F, 0x0025008F, 0x000000FF, 0x00260090, 0x00000002, 0x00230090, 0x00250090, 0x000000FF, 0x00260091, 0x00000002, 0x00230091, 0x00250091, 0x000000FF, 0x00260092, 0x00000002, 0x00230092, 0x00250092, 0x000000FF, 0x00260078, 0x00000002, 0x00230078, 0x00250078, 0x000003FF, 0x00260072, 0x00000002, 0x00230072, 0x00250072, 0x000003FF, 0x0026009A, 0x00000002, 0x0023009A, 0x0025009A, 0x000007FF, 0x00260098, 0x00000002, 0x00230098, 0x00250098, 0x000002FF, 0x00260079, 0x00000002, 0x00230079, 0x00250079, 0x000003FF, 0x00260086, 0x00000002, 0x00230086, 0x00250086, 0x000001FF, 0x00000000, 0x00000002, 0x00000000, 0x00000000, 0x000008FF, 0x0026009C, 0x00000002, 0x0023009C, 0x0025009C, 0x000002FF, 0x0026007B, 0x00000002, 0x0023007B, 0x0025007B, 0x000006FF, 0x00260096, 0x00000002, 0x00230096, 0x00250096, 0x000002FF, 0x00000000, 0x00000002, 0x00230084, 0x00250084, 0x000001FF, 0x00000000, 0x00000002, 0x00000000, 0x00000000, 0x00000AFF, 0x00000000, 0x00000002, 0x00000000, 0x00000000, 0x00000AFF, 0x00000000, 0x00000002, 0x00000000, 0x00000000, 0x00000AFF, 0x00000000, 0x00000002, 0x0023007C, 0x0025007C, 0x000003FF, 0x00000000, 0x00000002, 0x0023007D, 0x0025007D, 0x000003FF, 0x00000000, 0x00000002, 0x00230089, 0x00250089, 0x000003FF, 0x00000000, 0x00000002, 0x0023008A, 0x0025008A, 0x000002FF, 0x00000000, 0x00000002, 0x0023009E, 0x0025009E, 0x000001FF, 0x00000000, 0x00000002, 0x0023008B, 0x0025008B, 0x000001FF, 0x0026009D, 0x00000002, 0x0023009D, 0x0025009D, 0x000001FF, 0x800989F0, 0x00000002, 0x00000000, 0x00000000, 0x000001FF, 0x800989DC, 0x00000002, 0x00000000, 0x00000000, 0x000001FF, 0x0026007E, 0x00000002, 0x0023007E, 0x0025007E, 0x000001FF, 0x00000000, 0x00000002, 0x00000000, 0x00000000, 0x000005FF, 0x00000000, 0x80000000, 0x00000000, 0x00000000, 0x000000FF, 0x0026007A, 0x00000002, 0x0023007A, 0x0025007A, 0x000003FF, 0x0026006F, 0x00000002, 0x0023006F, 0x0025006F, 0x000002FF, 0x0026009F, 0x00000002, 0x0023009F, 0x0025009F, 0x000003FF, 0x001D0014, 0x80000000, 0x001D0020, 0x00000000, 0x0A0000FF, 0x001D0015, 0x00000008, 0x001D0021, 0x00000000, 0x0A0101FF, 0x001D0016, 0x00008002, 0x001D0022, 0x00000000, 0x0A0101FF, 0x001D0017, 0x00008002, 0x001D0023, 0x00000000, 0x0A0202FF, 0x001D0018, 0x00008002, 0x001D0024, 0x00000000, 0x0A0202FF, 0x001D0019, 0x00000008, 0x001D0025, 0x00000000, 0x0A0303FF, 0x001D001A, 0x00008002, 0x001D0026, 0x00000000, 0x0A0202FF, 0x001D001B, 0x00008002, 0x001D0027, 0x00000000, 0x0A0202FF, 0x001D001C, 0x00008002, 0x001D0028, 0x00000000, 0x0A0000FF, 0x001D001D, 0x00008002, 0x001D0029, 0x00000000, 0x0A0000FF, 0x001D001E, 0x00000100, 0x001D0020, 0x00000000, 0x0A0000FF, 0x001D001F, 0x00008003, 0x001D0020, 0x00000000, 0x0A0000FF, 0x002B0000, 0x00054881, 0x00280002, 0x00280007, 0x0B000002, 0x002B0000, 0x00054881, 0x00280002, 0x00280008, 0x0B000002, 0x002B0000, 0x00054881, 0x00280002, 0x00280009, 0x0B000002, 0x002B0001, 0x00038003, 0x00280003, 0x0028000A, 0x0B0000FF, 0x002B0002, 0x00000100, 0x00280004, 0x0028000B, 0x0B0100FF, 0x002B0003, 0x00054881, 0x00280005, 0x0028000C, 0x0B030002, 0x002B0004, 0x00012005, 0x0028000F, 0x00280014, 0x0B000001, 0x002B0004, 0x00012005, 0x0028000F, 0x00280015, 0x0B000001, 0x002B0004, 0x00012005, 0x0028000F, 0x00280016, 0x0B000001, 0x002B0005, 0x00008004, 0x00280010, 0x00280017, 0x0B030001, 0x002B0006, 0x00008004, 0x00280011, 0x00280018, 0x0B040003, 0x002B0007, 0x00008004, 0x00280012, 0x00280019, 0x0B050004, 0x002B0008, 0x00012005, 0x0028001C, 0x00280021, 0x0B00000F, 0x002B0008, 0x00012005, 0x0028001C, 0x00280022, 0x0B00000F, 0x002B0008, 0x00012005, 0x0028001C, 0x00280023, 0x0B00000F, 0x002B0009, 0x00012005, 0x0028001D, 0x00280024, 0x0B030003, 0x002B000A, 0x00008004, 0x0028001E, 0x00280025, 0x0B060003, 0x002B000B, 0x00008002, 0x0028001F, 0x00280026, 0x0B080003, 0x002B000C, 0x00010003, 0x00280029, 0x0028002E, 0x0B000000, 0x002B000C, 0x00010003, 0x00280029, 0x0028002F, 0x0B000000, 0x002B000C, 0x00010003, 0x00280029, 0x00280030, 0x0B000000, 0x002B000D, 0x00010003, 0x0028002A, 0x00280031, 0x0B030005, 0x002B000E, 0x00008403, 0x0028002B, 0x00280032, 0x0B030003, 0x002B000F, 0x00008002, 0x0028002C, 0x00280033, 0x0B060004, 0x800989D0, 0x00000003, 0x00000000, 0x00000000, 0x0B000000, 0x800989D0, 0x00000003, 0x00000000, 0x00000000, 0x0B000000, 0x800989D0, 0x00000003, 0x00000000, 0x00000000, 0x0B000000, 0x800989C0, 0x00000004, 0x00000000, 0x00000000, 0x0B000000, 0x800989B4, 0x00000003, 0x00000000, 0x00000000, 0x0B000000, 0x800989A8, 0x00000003, 0x00000000, 0x00000000, 0x0B000000, 0x002B0014, 0x00000003, 0x00280043, 0x00280048, 0x0B00000F, 0x002B0014, 0x00000003, 0x00280043, 0x00280049, 0x0B00000F, 0x002B0014, 0x00000003, 0x00280043, 0x0028004A, 0x0B00000F, 0x002B0015, 0x00000003, 0x00280044, 0x0028004B, 0x0B020003, 0x002B0016, 0x00000008, 0x00280045, 0x0028004C, 0x0B03000A, 0x002B0017, 0x00008002, 0x00280046, 0x0028004D, 0x0B05000C, 0x002B0018, 0x00054881, 0x00280050, 0x00280055, 0x0B000001, 0x002B0018, 0x00054881, 0x00280050, 0x00280056, 0x0B000001, 0x002B0018, 0x00054881, 0x00280050, 0x00280057, 0x0B000001, 0x002B0019, 0x00000003, 0x00280051, 0x00280058, 0x0B03000E, 0x002B001A, 0x00000008, 0x00280052, 0x00280059, 0x0B03000A, 0x002B001B, 0x00008002, 0x00280053, 0x0028005A, 0x0B060008, 0x002B001C, 0x00000003, 0x0028005D, 0x00280062, 0x0B000010, 0x002B001C, 0x00000003, 0x0028005D, 0x00280063, 0x0B000010, 0x002B001C, 0x00000003, 0x0028005D, 0x00280064, 0x0B000010, 0x002B001D, 0x00008002, 0x0028005E, 0x00280065, 0x0B040004, 0x002B001E, 0x00000008, 0x0028005F, 0x00280066, 0x0B04000A, 0x002B001F, 0x00008002, 0x00280060, 0x00280067, 0x0B05000C, 0x002B0010, 0x00000003, 0x00280036, 0x0028003B, 0x0B000004, 0x002B0010, 0x00000003, 0x00280036, 0x0028003C, 0x0B000004, 0x002B0010, 0x00000003, 0x00280036, 0x0028003D, 0x0B000004, 0x002B0011, 0x00000008, 0x00280037, 0x0028003E, 0x0B0200FF, 0x002B0012, 0x00008002, 0x00280038, 0x0028003F, 0x0B030004, 0x002B0013, 0x00000003, 0x00280039, 0x00280040, 0x0B050004, 0x00000000, 0x00000000, 0x00000000, 0x802EBFF0, 0x802EC010, 0x802EC030, 0x802EC050, 0x802EC070, 0x802EC090, 0x802EC0B0, 0x802EC0D0, 0x802EC0F0, 0x802EC110, 0x802EC130, 0x802EC150, 0x802EC170, 0x802EC190, 0x802EC1B0, 0x802EC1D0, 0x802EC1F0, 0x802EC210, 0x802EC230, 0x802EC250, 0x802EC270, 0x802EC290, 0x802EC2B0, 0x802EC2D0, 0x802EC2F0, 0x802EC310, 0x802EC330, 0x802EC350, 0x802EC370, 0x802EC390, 0x802EC3B0, 0x802EC3D0 - -glabel D_8008FF60 -.word 0x00000000, 0x00000001, 0x00000002, 0x00000003 - -glabel D_8008FF70 -.word 0x00040006, 0x00050004, 0x00070006, 0x00000003, 0x00040003, 0x00070004, 0x00030002, 0x00070002, 0x00060007, 0x00020001, 0x00060001, 0x00050006, 0x00010000, 0x00050000, 0x00040005, 0x00000001, 0x00020000, 0x00020003 - -glabel D_8008FFB8 -.word 0x00000000, 0x3F800000, 0x00000000, 0x00000000, 0x3F800000, 0x00000000, 0x3F800000, 0x00000000, 0x00000000, 0x3F800000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0xBF800000, 0x00000000, 0x00000000, 0xBF800000, 0xBF800000, 0x00000000, 0x00000000, 0xBF800000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x3F800000, 0x00000000, 0x00000000, 0x3F800000, 0x00000000, 0xBF800000, 0x00000000, 0x00000000, 0xBF800000, 0x00000000, 0x00000000, 0x00000000 diff --git a/asm/data/code_31650.data.s b/asm/data/code_31650.data.s new file mode 100644 index 0000000000..fbee982a2c --- /dev/null +++ b/asm/data/code_31650.data.s @@ -0,0 +1,453 @@ +.include "macro.inc" + +.section .data + +glabel D_80078EE0 +.word 0x59F258D0, 0x57AA5681, 0x55555425, 0x52F251BC, 0x50824F46, 0x4E064CC3, 0x4B7D4A35, 0x48E9479B, 0x464944F5, 0x439E4245, 0x40E93F8A, 0x3E293CC6, 0x3B6039F8, 0x388D3721, 0x35B23441, 0x32CE3159, 0x2FE22E69, 0x2CEF2B72, 0x29F42875, 0x26F32570, 0x23EC2266, 0x20DF1F57, 0x1DCE1C43, 0x1AB7192A, 0x179C160E, 0x147E12ED, 0x115C0FCA, 0x0E380CA5, 0x0B11097D, 0x07E90654, 0x04C0032A, 0x01950000, 0xBF800000, 0x00000000, 0x36813045, 0x36CCC25E, 0x37013056, 0x3715FBD1, 0x3726F96C, 0x373556F8, 0x3741C897, 0x374CC288, 0x3756941E, 0x375F75EA, 0x376791B7, 0x376F074D, 0x3775EF48, 0x377C5D3E, 0x37813079, 0x3784039E, 0x3786AD71, 0x37893260, 0x378B9637, 0x378DDC3A, 0x37900722, 0x3792195F, 0x37941509, 0x3795FC00, 0x3797CFD4, 0x37999207, 0x379B43D7, 0x379CE668, 0x379E7AD2, 0x37A001F1, 0x37A17CA6, 0x37A2EBB8, 0x37A44FD1, 0x37A5A99A, 0x37A6F9A4, 0x37A84077, 0x37A97E93, 0x37AAB46F, 0x37ABE26F, 0x37AD08FC, 0x37AE286C, 0x37AF4119, 0x37B05355, 0x37B15F67, 0x37B26597, 0x37B36621, 0x37B46141, 0x37B55735, 0x37B64832, 0x37B7346C, 0x37B81C0C, 0x37B8FF46, 0x37B9DE3F, 0x37BAB91E, 0x37BB900F, 0x37BC632E, 0x37BD32A6, 0x37BDFE8D, 0x37BEC70A, 0x37BF8C33, 0x37C04E29, 0x37C10D07, 0x37C1C8E4, 0x37C281D5, 0x37C337F0, 0x37C3EB51, 0x37C49C0E, 0x37C54A32, 0x37C5F5D3, 0x37C69F06, 0x37C745DC, 0x37C7EA67, 0x37C88CB5, 0x37C92CD3, 0x37C9CAD0, 0x37CA66BE, 0x37CB00A7, 0x37CB98A1, 0x37CC2EAD, 0x37CCC2DA, 0x37CD5539, 0x37CDE5D0, 0x37CE74AA, 0x37CF01D7, 0x37CF8D57, 0x37D01741, 0x37D09F93, 0x37D1265F, 0x37D1ABA5, 0x37D22F75, 0x37D2B1D5, 0x37D332CA, 0x37D3B25F, 0x37D43099, 0x37D4AD7F, 0x37D52921, 0x37D5A378, 0x37D61C91, 0x37D69476, 0x37D70B27, 0x37D780A9, 0x37D7F50E, 0x37D8684A, 0x37D8DA73, 0x37D94B84, 0x37D9BB87, 0x37DA2A7D, 0x37DA9870, 0x37DB055C, 0x37DB7150, 0x37DBDC4D, 0x37DC4658, 0x37DCAF71, 0x37DD179E, 0x37DD7EE3, 0x37DDE548, 0x37DE4AD0, 0x37DEAF77, 0x37DF1348, 0x37DF7648, 0x37DFD877, 0x37E039D4, 0x37E09A6C, 0x37E0FA3F, 0x37E1594B, 0x37E1B797, 0x37E21527, 0x37E271F8, 0x37E2CE18, 0x37E3297E, 0x37E38434, 0x37E3DE3F, 0x37E43795, 0x37E49046, 0x37E4E852, 0x37E53FB3, 0x37E59675, 0x37E5EC93, 0x37E64216, 0x37E696FF, 0x37E6EB49, 0x37E73F04, 0x37E79220, 0x37E7E4AC, 0x37E836AA, 0x37E88819, 0x37E8D8F8, 0x37E92949, 0x37E97916, 0x37E9C85A, 0x37EA1714, 0x37EA654F, 0x37EAB302, 0x37EB0035, 0x37EB4CF0, 0x37EB9927, 0x37EBE4E5, 0x37EC3024, 0x37EC7AF0, 0x37ECC543, 0x37ED0F1D, 0x37ED588A, 0x37EDA17D, 0x37EDEA02, 0x37EE3214, 0x37EE79B8, 0x37EEC0EE, 0x37EF07BB, 0x37EF4E1B, 0x37EF9412, 0x37EFD9A0, 0x37F01EC6, 0x37F06389, 0x37F0A7E4, 0x37F0EBDC, 0x37F12F71, 0x37F172A3, 0x37F1B577, 0x37F1F7EE, 0x37F23A02, 0x37F27BBE, 0x37F2BD17, 0x37F2FE18, 0x37F33EC1, 0x37F37F13, 0x37F3BF06, 0x37F3FEA2, 0x37F43DEB, 0x37F47CE2, 0x37F4BB7C, 0x37F4F9C8, 0x37F537C2, 0x37F57564, 0x37F5B2B9, 0x37F5EFBB, 0x37F62C71, 0x37F668DA, 0x37F6A4F0, 0x37F6E0B9, 0x37F71C3B, 0x37F75770, 0x37F79257, 0x37F7CCF2, 0x37F80746, 0x37F84151, 0x37F87B16, 0x37F8B493, 0x37F8EDC8, 0x37F926BC, 0x37F95F68, 0x37F997CD, 0x37F9CFEF, 0x37FA07D0, 0x37FA3F69, 0x37FA76C6, 0x37FAADE0, 0x37FAE4B9, 0x37FB1B50, 0x37FB51A5, 0x37FB87C3, 0x37FBBD99, 0x37FBF338, 0x37FC2896, 0x37FC5DB7, 0x37FC92A1, 0x37FCC749, 0x37FCFBBA, 0x37FD2FEE, 0x37FD63E6, 0x37FD97A8, 0x37FDCB2C, 0x37FDFE7A, 0x37FE3191, 0x37FE6470, 0x37FE9719, 0x37FEC985, 0x37FEFBC0, 0x37FF2DC4, 0x37FF5F96, 0x37FF912C, 0x37FFC291, 0x37FFF3C3, 0x38001260, 0x38002AC5, 0x38004311, 0x38005B42, 0x3800735B, 0x38008B5D, 0x3800A344, 0x3800BB14, 0x3800D2CA, 0x3800EA69, 0x380101F0, 0x38011960, 0x380130B8, 0x380147F7, 0x38015F23, 0x38017633, 0x38018D31, 0x3801A415, 0x3801BAE6, 0x3801D19F, 0x3801E841, 0x3801FECD, 0x38021544, 0x38022BA4, 0x380241F2, 0x38025829, 0x38026E4A, 0x38028455, 0x38029A4D, 0x3802B032, 0x3802C601, 0x3802DBBA, 0x3802F15F, 0x380306F1, 0x38031C70, 0x380331DA, 0x38034732, 0x38035C75, 0x380371A4, 0x380386C3, 0x38039BCC, 0x3803B0C1, 0x3803C5A6, 0x3803DA78, 0x3803EF37, 0x380403E2, 0x3804187D, 0x38042D05, 0x3804417C, 0x380455E0, 0x38046A31, 0x38047E74, 0x380492A1, 0x3804A6C0, 0x3804BACC, 0x3804CEC7, 0x3804E2B0, 0x3804F68A, 0x38050A51, 0x38051E0B, 0x380531B1, 0x38054547, 0x380558CC, 0x38056C41, 0x38057FA8, 0x380592FC, 0x3805A642, 0x3805B977, 0x3805CC9C, 0x3805DFB4, 0x3805F2BB, 0x380605B1, 0x3806189A, 0x38062B72, 0x38063E39, 0x380650F3, 0x3806639F, 0x3806763B, 0x380688C9, 0x38069B46, 0x3806ADB6, 0x3806C018, 0x3806D269, 0x3806E4B0, 0x3806F6E6, 0x3807090E, 0x38071B25, 0x38072D32, 0x38073F31, 0x38075120, 0x38076303, 0x380774D9, 0x3807869E, 0x38079858, 0x3807AA05, 0x3807BBA3, 0x3807CD34, 0x3807DEB8, 0x3807F030, 0x3808019A, 0x380812F7, 0x38082446, 0x3808358A, 0x380846C1, 0x380857E9, 0x38086907, 0x38087A19, 0x38088B1E, 0x38089C15, 0x3808AD01, 0x3808BDE0, 0x3808CEB3, 0x3808DF78, 0x3808F036, 0x380900E3, 0x38091187, 0x3809221E, 0x380932AA, 0x38094328, 0x3809539E, 0x38096406, 0x38097463, 0x380984B3, 0x380994FA, 0x3809A536, 0x3809B564, 0x3809C588, 0x3809D5A0, 0x3809E5B0, 0x3809F5B3, 0x380A05AA, 0x380A1597, 0x380A257B, 0x380A3551, 0x380A451D, 0x380A54E0, 0x380A6498, 0x380A7445, 0x380A83E8, 0x380A937F, 0x380AA30B, 0x380AB28F, 0x380AC208, 0x380AD176, 0x380AE0D9, 0x380AF034, 0x380AFF84, 0x380B0ECB, 0x380B1E08, 0x380B2D39, 0x380B3C60, 0x380B4B7E, 0x380B5A94, 0x380B699F, 0x380B789F, 0x380B8797, 0x380B9686, 0x380BA56B, 0x380BB445, 0x380BC316, 0x380BD1DF, 0x380BE09D, 0x380BEF53, 0x380BFDFE, 0x380C0CA0, 0x380C1B3B, 0x380C29CD, 0x380C3854, 0x380C46D3, 0x380C5547, 0x380C63B5, 0x380C7218, 0x380C8073, 0x380C8EC3, 0x380C9D0E, 0x380CAB4E, 0x380CB985, 0x380CC7B4, 0x380CD5DB, 0x380CE3FA, 0x380CF20D, 0x380D001C, 0x380D0E1F, 0x380D1C1C, 0x380D2A0F, 0x380D37F9, 0x380D45DE, 0x380D53B8, 0x380D618A, 0x380D6F56, 0x380D7D17, 0x380D8AD3, 0x380D9884, 0x380DA62F, 0x380DB3CF, 0x380DC16A, 0x380DCEFC, 0x380DDC87, 0x380DEA08, 0x380DF782, 0x380E04F6, 0x380E1260, 0x380E1FC3, 0x380E2D1F, 0x380E3A75, 0x380E47C0, 0x380E5505, 0x380E6243, 0x380E6F78, 0x380E7CA7, 0x380E89CE, 0x380E96ED, 0x380EA404, 0x380EB115, 0x380EBE1E, 0x380ECB22, 0x380ED81D, 0x380EE510, 0x380EF1FB, 0x380EFEE0, 0x380F0BC0, 0x380F1898, 0x380F2567, 0x380F3231, 0x380F3EF2, 0x380F4BAE, 0x380F5862, 0x380F650E, 0x380F71B4, 0x380F7E54, 0x380F8AED, 0x380F977F, 0x380FA40A, 0x380FB08F, 0x380FBD0C, 0x380FC983, 0x380FD5F2, 0x380FE25C, 0x380FEEC0, 0x380FFB1C, 0x38100772, 0x381013C3, 0x3810200C, 0x38102C4C, 0x3810388A, 0x381044BF, 0x381050EF, 0x38105D16, 0x38106939, 0x38107555, 0x3810816C, 0x38108D7B, 0x38109985, 0x3810A588, 0x3810B184, 0x3810BD7D, 0x3810C96E, 0x3810D559, 0x3810E13C, 0x3810ED1C, 0x3810F8F4, 0x381104C6, 0x38111093, 0x38111C58, 0x3811281A, 0x381133D3, 0x38113F8A, 0x38114B39, 0xBF800000, 0x00000000, 0x36915629, 0x36E65A71, 0x3711563E, 0x3728BB21, 0x373BD86E, 0x374C01A5, 0x375A017E, 0x37665AA2, 0x37716665, 0x377B646F, 0x378241DE, 0x378673FF, 0x378A567A, 0x378DF452, 0x37915666, 0x379483F4, 0x379782FE, 0x379A588A, 0x379D08DF, 0x379F979E, 0x37A207E4, 0x37A45C6C, 0x37A6978B, 0x37A8BB58, 0x37AAC9AC, 0x37ACC422, 0x37AEAC2C, 0x37B08318, 0x37B24A04, 0x37B4020F, 0x37B5AC19, 0x37B74909, 0x37B8D9A6, 0x37BA5EAA, 0x37BBD8B5, 0x37BD4861, 0x37BEAE42, 0x37C00AD6, 0x37C15E97, 0x37C2A9F2, 0x37C3ED56, 0x37C5291A, 0x37C65D9C, 0x37C78B2E, 0x37C8B223, 0x37C9D2BD, 0x37CAED43, 0x37CC01F7, 0x37CD1116, 0x37CE1AD6, 0x37CF1F69, 0x37D01F07, 0x37D119E0, 0x37D2101B, 0x37D301E9, 0x37D3EF6C, 0x37D4D8D0, 0x37D5BE3A, 0x37D69FC1, 0x37D77D97, 0x37D857CC, 0x37D92E81, 0x37DA01D6, 0x37DAD1E8, 0x37DB9ECC, 0x37DC6899, 0x37DD2F69, 0x37DDF34E, 0x37DEB468, 0x37DF72C2, 0x37E02E73, 0x37E0E78A, 0x37E19E24, 0x37E25245, 0x37E30405, 0x37E3B36D, 0x37E46099, 0x37E50B8A, 0x37E5B45A, 0x37E65B10, 0x37E6FFB5, 0x37E7A261, 0x37E84319, 0x37E8E1E7, 0x37E97EDD, 0x37EA19FF, 0x37EAB35F, 0x37EB4B01, 0x37EBE0F1, 0x37EC753A, 0x37ED07E6, 0x37ED98FC, 0x37EE2880, 0x37EEB683, 0x37EF430B, 0x37EFCE18, 0x37F057BF, 0x37F0DFFC, 0x37F166D8, 0x37F1EC60, 0x37F27099, 0x37F2F387, 0x37F3752C, 0x37F3F598, 0x37F474CA, 0x37F4F2CD, 0x37F56FA3, 0x37F5EB54, 0x37F665E3, 0x37F6DF54, 0x37F757AC, 0x37F7CEF7, 0x37F84535, 0x37F8BA6A, 0x37F92E98, 0x37F9A1C9, 0x37FA13FD, 0x37FA853F, 0x37FAF58A, 0x37FB64E8, 0x37FBD35A, 0x37FC40EB, 0x37FCAD94, 0x37FD195C, 0x37FD8449, 0x37FDEE5F, 0x37FE579E, 0x37FEC00D, 0x37FF27B0, 0x37FF8E88, 0x37FFF494, 0x38002CED, 0x38005F30, 0x38009113, 0x3800C299, 0x3800F3C1, 0x3801248E, 0x38015500, 0x38018518, 0x3801B4DB, 0x3801E445, 0x3802135D, 0x3802421E, 0x3802708E, 0x38029EAC, 0x3802CC78, 0x3802F9F6, 0x38032725, 0x38035407, 0x3803809C, 0x3803ACE7, 0x3803D8E7, 0x3804049D, 0x38043009, 0x38045B31, 0x38048611, 0x3804B0AC, 0x3804DAFF, 0x38050511, 0x38052EE1, 0x3805586C, 0x380581B8, 0x3805AAC2, 0x3805D38C, 0x3805FC15, 0x38062464, 0x38064C71, 0x38067444, 0x38069BDB, 0x3806C335, 0x3806EA55, 0x3807113A, 0x380737E7, 0x38075E5A, 0x38078496, 0x3807AA99, 0x3807D068, 0x3807F5FF, 0x38081B60, 0x3808408C, 0x38086584, 0x38088A48, 0x3808AEDA, 0x3808D338, 0x3808F765, 0x38091B5D, 0x38093F27, 0x380962BF, 0x38098629, 0x3809A961, 0x3809CC6D, 0x3809EF47, 0x380A11F3, 0x380A3473, 0x380A56C7, 0x380A78EC, 0x380A9AE5, 0x380ABCB2, 0x380ADE53, 0x380AFFCB, 0x380B2117, 0x380B423A, 0x380B6333, 0x380B8404, 0x380BA4AB, 0x380BC528, 0x380BE580, 0x380C05AE, 0x380C25B5, 0x380C4594, 0x380C654E, 0x380C84E3, 0x380CA450, 0x380CC397, 0x380CE2BB, 0x380D01B8, 0x380D2091, 0x380D3F47, 0x380D5DD8, 0x380D7C46, 0x380D9A91, 0x380DB8BA, 0x380DD6C0, 0x380DF4A2, 0x380E1265, 0x380E3005, 0x380E4D81, 0x380E6ADF, 0x380E881C, 0x380EA538, 0x380EC236, 0x380EDF10, 0x380EFBCE, 0x380F1869, 0x380F34E8, 0x380F5146, 0x380F6D86, 0x380F89AB, 0x380FA5AF, 0x380FC194, 0x380FDD5E, 0x380FF909, 0x38101497, 0x38103009, 0x38104B5C, 0x38106694, 0x381081B1, 0x38109CB2, 0x3810B798, 0x3810D25F, 0x3810ED0E, 0x381107A1, 0x38112219, 0x38113C75, 0x381156B9, 0x381170E4, 0x38118AF0, 0x3811A4E7, 0x3811BEC2, 0x3811D884, 0x3811F22B, 0x38120BBC, 0x38122534, 0x38123E90, 0x381257D7, 0x38127105, 0x38128A1A, 0x3812A317, 0x3812BBFD, 0x3812D4CB, 0x3812ED82, 0x38130621, 0x38131EAA, 0x3813371A, 0x38134F77, 0x381367BC, 0x38137FEA, 0x381397FF, 0x3813B002, 0x3813C7EE, 0x3813DFC4, 0x3813F785, 0x38140F2F, 0x381426C6, 0x38143E47, 0x381455B2, 0x38146D07, 0x38148449, 0x38149B78, 0x3814B290, 0x3814C996, 0x3814E085, 0x3814F764, 0x38150E2A, 0x381524E0, 0x38153B82, 0x3815520F, 0x3815688B, 0x38157EF1, 0x38159546, 0x3815AB85, 0x3815C1B4, 0x3815D7D0, 0x3815EDDB, 0x381603D1, 0x381619B5, 0x38162F87, 0x38164548, 0x38165AF6, 0x38167090, 0x3816861D, 0x38169B94, 0x3816B0FD, 0x3816C653, 0x3816DB95, 0x3816F0CA, 0x381705EC, 0x38171AFD, 0x38172FFE, 0x381744EE, 0x381759CB, 0x38176E9A, 0x38178358, 0x38179804, 0x3817ACA1, 0x3817C12F, 0x3817D5AB, 0x3817EA1A, 0x3817FE76, 0x381812C4, 0x38182701, 0x38183B2E, 0x38184F4D, 0x3818635C, 0x3818775D, 0x38188B4E, 0x38189F30, 0x3818B303, 0x3818C6C4, 0x3818DA7B, 0x3818EE21, 0x381901B7, 0x3819153F, 0x381928B9, 0x38193C26, 0x38194F82, 0x381962D3, 0x38197614, 0x38198946, 0x38199C6B, 0x3819AF83, 0x3819C28A, 0x3819D586, 0x3819E874, 0x3819FB54, 0x381A0E27, 0x381A20EB, 0x381A33A3, 0x381A464C, 0x381A58E8, 0x381A6B78, 0x381A7DFB, 0x381A9070, 0x381AA2DA, 0x381AB534, 0x381AC783, 0x381AD9C6, 0x381AEBFC, 0x381AFE25, 0x381B103F, 0x381B2251, 0x381B3453, 0x381B464A, 0x381B5835, 0x381B6A13, 0x381B7BE6, 0x381B8DAB, 0x381B9F66, 0x381BB115, 0x381BC2B6, 0x381BD44D, 0x381BE5D8, 0x381BF759, 0x381C08CC, 0x381C1A33, 0x381C2B90, 0x381C3CDF, 0x381C4E26, 0x381C5F5F, 0x381C708D, 0x381C81B3, 0x381C92CB, 0x381CA3D8, 0x381CB4DA, 0x381CC5D1, 0x381CD6BD, 0x381CE79E, 0x381CF874, 0x381D0940, 0x381D1A02, 0x381D2AB7, 0x381D3B64, 0x381D4C03, 0x381D5C9A, 0x381D6D26, 0x381D7DAA, 0x381D8E20, 0x381D9E8D, 0x381DAEF0, 0x381DBF48, 0x381DCF97, 0x381DDFDB, 0x381DF015, 0x381E0046, 0x381E106C, 0x381E2087, 0x381E309A, 0x381E40A2, 0x381E50A2, 0x381E6097, 0x381E7080, 0x381E8062, 0x381E903B, 0x381EA009, 0x381EAFCF, 0x381EBF8A, 0x381ECF3D, 0x381EDEE4, 0x381EEE84, 0x381EFE1B, 0x381F0DA7, 0x381F1D2B, 0x381F2CA4, 0x381F3C18, 0x381F4B7E, 0x381F5ADE, 0x381F6A33, 0x381F7983, 0x381F88C5, 0x381F9801, 0x381FA733, 0x381FB65F, 0x381FC580, 0x381FD499, 0x381FE3A6, 0x381FF2AF, 0x382001AC, 0x382010A4, 0x38201F91, 0x38202E75, 0x38203D52, 0x38204C26, 0x38205AF1, 0x382069B5, 0x38207870, 0x38208723, 0x382095CE, 0x3820A471, 0x3820B30B, 0x3820C19D, 0x3820D027, 0x3820DEA9, 0x3820ED22, 0x3820FB93, 0x382109FF, 0x3821185F, 0x382126BB, 0x3821350D, 0x38214358, 0x3821519A, 0x38215FD5, 0x38216E09, 0x38217C36, 0x38218A5A, 0x38219876, 0x3821A689, 0x3821B497, 0x3821C29D, 0x3821D09B, 0x3821DE93, 0x3821EC83, 0x3821FA6B, 0x3822084A, 0x38221624, 0x382223F6, 0x382231C2, 0x38223F86, 0x38224D42, 0x38225AF8, 0x382268A6, 0x3822764B, 0x382283EC, 0x38229184, 0x38229F16, 0x3822ACA0, 0x3822BA25, 0x3822C7A1, 0x3822D516, 0x3822E284, 0x3822EFEE, 0x3822FD4E, 0x38230AAA, 0x382317FD, 0x38232548, 0x38233290, 0x38233FCE, 0x38234D08, 0x38235A3A, 0x38236764, 0x38237489, 0xBF800000, 0x00000000, 0x36A6196A, 0x3703A179, 0x37261985, 0x3740D603, 0x3756AE5C, 0x3769269A, 0x37792674, 0x3783A19B, 0x3789F17B, 0x378FA735, 0x3794DDA7, 0x3799A93E, 0x379E19D1, 0x37A23BED, 0x37A619B9, 0x37A9BB85, 0x37AD281F, 0x37B06554, 0x37B377FF, 0x37B66449, 0x37B92DBF, 0x37BBD77C, 0x37BE6436, 0x37C0D64A, 0x37C32FCD, 0x37C5729C, 0x37C7A05B, 0x37C9BA8F, 0x37CBC27C, 0x37CDB962, 0x37CFA04E, 0x37D1783C, 0x37D34214, 0x37D4FEA6, 0x37D6AEB4, 0x37D852E6, 0x37D9EBE9, 0x37DB7A4A, 0x37DCFE94, 0x37DE7949, 0x37DFEADE, 0x37E153C0, 0x37E2B453, 0x37E40CFF, 0x37E55E11, 0x37E6A7EB, 0x37E7EACB, 0x37E92708, 0x37EA5CDF, 0x37EB8C97, 0x37ECB667, 0x37EDDA86, 0x37EEF937, 0x37F0129F, 0x37F126FB, 0x37F2366C, 0x37F34129, 0x37F44753, 0x37F5491C, 0x37F64699, 0x37F73FFC, 0x37F83561, 0x37F926E8, 0x37FA14B2, 0x37FAFEDC, 0x37FBE57A, 0x37FCC8B4, 0x37FDA899, 0x37FE8546, 0x37FF5ED0, 0x38001AAA, 0x38008470, 0x3800ECC6, 0x380153B4, 0x3801B944, 0x38021D83, 0x38028075, 0x3802E225, 0x3803429C, 0x3803A1E0, 0x3803FFF7, 0x38045CE9, 0x3804B8C2, 0x38051380, 0x38056D30, 0x3805C5D9, 0x38061D7C, 0x38067423, 0x3806C9D2, 0x38071E8D, 0x3807725B, 0x3807C542, 0x38081748, 0x3808686D, 0x3808B8B8, 0x38090830, 0x380956D7, 0x3809A4B2, 0x3809F1C5, 0x380A3E12, 0x380A899E, 0x380AD470, 0x380B1E86, 0x380B67E7, 0x380BB098, 0x380BF89A, 0x380C3FEE, 0x380C869D, 0x380CCCA5, 0x380D120A, 0x380D56D0, 0x380D9AFC, 0x380DDE8B, 0x380E2183, 0x380E63EA, 0x380EA5BC, 0x380EE6FF, 0x380F27B6, 0x380F67E1, 0x380FA785, 0x380FE6A2, 0x3810253B, 0x38106353, 0x3810A0ED, 0x3810DE06, 0x38111AA5, 0x381156C9, 0x38119277, 0x3811CDAF, 0x38120873, 0x381242C3, 0x38127CA3, 0x3812B615, 0x3812EF16, 0x381327AF, 0x38135FDD, 0x381397A2, 0x3813CF01, 0x381405F8, 0x38143C8F, 0x381472C0, 0x3814A891, 0x3814DDFF, 0x38151312, 0x381547C5, 0x38157C1E, 0x3815B01B, 0x3815E3C1, 0x3816170C, 0x381649FF, 0x38167C9C, 0x3816AEE5, 0x3816E0DB, 0x3817127C, 0x381743CD, 0x381774CE, 0x3817A57D, 0x3817D5DF, 0x381805F4, 0x381835BA, 0x38186538, 0x38189469, 0x3818C34F, 0x3818F1EC, 0x38192041, 0x38194E51, 0x38197C1A, 0x3819A99B, 0x3819D6DA, 0x381A03D2, 0x381A308B, 0x381A5CFF, 0x381A8931, 0x381AB524, 0x381AE0D4, 0x381B0C49, 0x381B377B, 0x381B6271, 0x381B8D2A, 0x381BB7A7, 0x381BE1E5, 0x381C0BEC, 0x381C35B6, 0x381C5F46, 0x381C889D, 0x381CB1BA, 0x381CDAA0, 0x381D034F, 0x381D2BC8, 0x381D5409, 0x381D7C13, 0x381DA3E9, 0x381DCB8B, 0x381DF2F8, 0x381E1A32, 0x381E4137, 0x381E680D, 0x381E8EAC, 0x381EB51D, 0x381EDB5C, 0x381F016C, 0x381F2749, 0x381F4CF9, 0x381F7278, 0x381F97CA, 0x381FBCEC, 0x381FE1E1, 0x382006A8, 0x38202B42, 0x38204FB1, 0x382073F3, 0x3820980A, 0x3820BBF5, 0x3820DFB3, 0x38210349, 0x382126B5, 0x382149F8, 0x38216D0F, 0x38219000, 0x3821B2C7, 0x3821D565, 0x3821F7DC, 0x38221A2B, 0x38223C55, 0x38225E57, 0x38228032, 0x3822A1E6, 0x3822C377, 0x3822E4E1, 0x38230625, 0x38232745, 0x38234841, 0x38236917, 0x382389CC, 0x3823AA5A, 0x3823CAC7, 0x3823EB11, 0x38240B39, 0x38242B3E, 0x38244B1F, 0x38246AE2, 0x38248A81, 0x3824AA00, 0x3824C95D, 0x3824E899, 0x382507B4, 0x382526B1, 0x3825458D, 0x38256448, 0x382582E5, 0x3825A163, 0x3825BFC1, 0x3825DE03, 0x3825FC24, 0x38261A27, 0x3826380B, 0x382655D5, 0x3826737F, 0x3826910C, 0x3826AE7B, 0x3826CBCD, 0x3826E905, 0x38270621, 0x3827231F, 0x38274001, 0x38275CC5, 0x38277970, 0x38279600, 0x3827B274, 0x3827CECD, 0x3827EB0D, 0x38280731, 0x3828233A, 0x38283F2B, 0x38285B00, 0x382876BC, 0x3828925F, 0x3828ADE7, 0x3828C956, 0x3828E4AC, 0x3828FFED, 0x38291B12, 0x3829361E, 0x38295111, 0x38296BEF, 0x382986B1, 0x3829A15D, 0x3829BBF3, 0x3829D670, 0x3829F0D4, 0x382A0B23, 0x382A255B, 0x382A3F7B, 0x382A5985, 0x382A7379, 0x382A8D57, 0x382AA71E, 0x382AC0CE, 0x382ADA69, 0x382AF3EC, 0x382B0D5C, 0x382B26B6, 0x382B3FFA, 0x382B592B, 0x382B7245, 0x382B8B4A, 0x382BA439, 0x382BBD14, 0x382BD5DC, 0x382BEE8E, 0x382C072D, 0x382C1FB6, 0x382C382C, 0x382C508F, 0x382C68DE, 0x382C8117, 0x382C993D, 0x382CB153, 0x382CC952, 0x382CE13E, 0x382CF91A, 0x382D10E0, 0x382D2895, 0x382D4037, 0x382D57C6, 0x382D6F42, 0x382D86AD, 0x382D9E05, 0x382DB54C, 0x382DCC80, 0x382DE3A1, 0x382DFAB1, 0x382E11AE, 0x382E289B, 0x382E3F77, 0x382E5643, 0x382E6CFB, 0x382E83A3, 0x382E9A38, 0x382EB0BF, 0x382EC733, 0x382EDD96, 0x382EF3E9, 0x382F0A2B, 0x382F205C, 0x382F3680, 0x382F4C91, 0x382F6291, 0x382F7884, 0x382F8E63, 0x382FA435, 0x382FB9F6, 0x382FCFA6, 0x382FE549, 0x382FFADB, 0x3830105D, 0x383025D1, 0x38303B35, 0x3830508B, 0x383065D0, 0x38307B05, 0x3830902F, 0x3830A545, 0x3830BA51, 0x3830CF4C, 0x3830E437, 0x3830F916, 0x38310DE5, 0x383122A7, 0x38313758, 0x38314BFE, 0x38316093, 0x3831751B, 0x38318995, 0x38319E01, 0x3831B25F, 0x3831C6B0, 0x3831DAF3, 0x3831EF28, 0x3832034F, 0x38321769, 0x38322B75, 0x38323F73, 0x38325364, 0x38326749, 0x38327B21, 0x38328EEB, 0x3832A2A7, 0x3832B659, 0x3832C9FC, 0x3832DD92, 0x3832F11D, 0x3833049A, 0x38331809, 0x38332B6D, 0x38333EC4, 0x3833520F, 0x3833654D, 0x3833787D, 0x38338BA5, 0x38339EBC, 0x3833B1CB, 0x3833C4CD, 0x3833D7C0, 0x3833EAAC, 0x3833FD89, 0x38341059, 0x3834231E, 0x383435D8, 0x38344887, 0x38345B2B, 0x38346DC1, 0x3834804C, 0x383492CC, 0x3834A541, 0x3834B7AB, 0x3834CA0B, 0x3834DC5C, 0x3834EEA5, 0x383500E1, 0x38351311, 0x38352539, 0x38353754, 0x38354966, 0x38355B6A, 0x38356D67, 0x38357F55, 0x3835913B, 0x3835A316, 0x3835B4E7, 0x3835C6AC, 0x3835D866, 0x3835EA18, 0x3835FBBC, 0x38360D58, 0x38361EE9, 0x38363072, 0x383641ED, 0x38365360, 0x383664CA, 0x38367627, 0x3836877C, 0x383698C8, 0x3836AA07, 0x3836BB40, 0x3836CC6B, 0x3836DD8E, 0x3836EEA6, 0x3836FFB6, 0x383710BD, 0x383721B7, 0x383732AB, 0x38374392, 0x38375473, 0x38376549, 0x38377614, 0x383786D7, 0x38379792, 0x3837A841, 0x3837B8E9, 0x3837C988, 0x3837DA1C, 0x3837EAA8, 0x3837FB29, 0x38380BA1, 0x38381C12, 0x38382C7A, 0x38383CD7, 0x38384D2F, 0x38385D7B, 0x38386DBD, 0x38387DF9, 0x38388E2A, 0x38389E53, 0x3838AE74, 0x3838BE8C, 0x3838CE9C, 0x3838DEA2, 0x3838EEA1, 0x3838FE96, 0x38390E82, 0x38391E67, 0x38392E43, 0x38393E19, 0x38394DE4, 0x38395DA8, 0x38396D63, 0x38397D15, 0x38398CC0, 0x38399C62, 0x3839ABFC, 0x3839BB8E, 0x3839CB17, 0x3839DA98, 0x3839EA14, 0x3839F985, 0x383A08F0, 0x383A1850, 0x383A27AB, 0x383A36FE, 0x383A4648, 0x383A558A, 0x383A64C6, 0x383A73F8, 0x383A8324, 0x383A9248, 0x383AA166, 0x383AB079, 0x383ABF87, 0x383ACE8D, 0xBF800000, 0x00000000, 0x36C1C874, 0x371991D6, 0x3741C897, 0x3760F9D6, 0x377A7647, 0x37880153, 0x3791568D, 0x37999207, 0x37A0EF37, 0x37A79893, 0x37ADAD70, 0x37B345A3, 0x37B8739F, 0x37BD461A, 0x37C1C8E4, 0x37C605A1, 0x37CA045E, 0x37CDCBC4, 0x37D1618F, 0x37D4CA8D, 0x37D80AF0, 0x37DB264D, 0x37DE1FD2, 0x37E0FA3F, 0x37E3B805, 0x37E65B4C, 0x37E8E607, 0x37EB59E9, 0x37EDB882, 0x37F00333, 0x37F23B4C, 0x37F461E4, 0x37F67808, 0x37F87EB7, 0x37FA76C6, 0x37FC6105, 0x37FE3E31, 0x3800077C, 0x3800E9FE, 0x3801C6E7, 0x38029E7D, 0x38037102, 0x38043EAF, 0x380507BE, 0x3805CC60, 0x38068CC7, 0x38074922, 0x3808019A, 0x3808B659, 0x38096781, 0x380A153C, 0x380ABFA6, 0x380B66DF, 0x380C0B09, 0x380CAC3D, 0x380D4A98, 0x380DE630, 0x380E7F1F, 0x380F157D, 0x380FA95D, 0x38103AD6, 0x3810C9FD, 0x381156E2, 0x3811E197, 0x38126A2E, 0x3812F0B8, 0x38137543, 0x3813F7DF, 0x38147898, 0x3814F77F, 0x381574A2, 0x3815F007, 0x381669C2, 0x3816E1D8, 0x38175857, 0x3817CD4B, 0x381840BB, 0x3818B2B3, 0x3819233D, 0x38199261, 0x381A0026, 0x381A6C99, 0x381AD7BF, 0x381B419E, 0x381BAA43, 0x381C11B0, 0x381C77F0, 0x381CDD08, 0x381D40FC, 0x381DA3D8, 0x381E059F, 0x381E6658, 0x381EC609, 0x381F24B5, 0x381F8264, 0x381FDF19, 0x38203ADC, 0x382095B0, 0x3820EF9A, 0x382148A0, 0x3821A0C5, 0x3821F80E, 0x38224E7E, 0x3822A41C, 0x3822F8E7, 0x38234CEA, 0x3823A024, 0x3823F298, 0x3824444E, 0x38249544, 0x3824E581, 0x38253507, 0x382583D9, 0x3825D1FC, 0x38261F72, 0x38266C40, 0x3826B864, 0x382703E2, 0x38274EC2, 0x382798FF, 0x3827E2A2, 0x38282BAB, 0x3828741D, 0x3828BBF8, 0x38290341, 0x382949FB, 0x38299026, 0x3829D5C5, 0x382A1ADB, 0x382A5F6A, 0x382AA375, 0x382AE6F9, 0x382B29FD, 0x382B6C81, 0x382BAE87, 0x382BF015, 0x382C3124, 0x382C71BC, 0x382CB1DF, 0x382CF18E, 0x382D30C7, 0x382D6F8F, 0x382DADE9, 0x382DEBD2, 0x382E294E, 0x382E6661, 0x382EA309, 0x382EDF48, 0x382F1B1F, 0x382F5693, 0x382F919F, 0x382FCC4A, 0x38300692, 0x3830407A, 0x38307A02, 0x3830B330, 0x3830EBFD, 0x3831246F, 0x38315C87, 0x38319444, 0x3831CBA9, 0x383202B8, 0x38323970, 0x38326FD3, 0x3832A5E3, 0x3832DB9E, 0x38331106, 0x3833461F, 0x38337AE8, 0x3833AF61, 0x3833E38B, 0x3834176A, 0x38344AFA, 0x38347E3F, 0x3834B13A, 0x3834E3E8, 0x38351652, 0x38354871, 0x38357A46, 0x3835ABD9, 0x3835DD22, 0x38360E29, 0x38363EEB, 0x38366F69, 0x38369FA2, 0x3836CF9B, 0x3836FF53, 0x38372EC8, 0x38375DFF, 0x38378CF6, 0x3837BBAE, 0x3837EA27, 0x38381863, 0x38384663, 0x38387426, 0x3838A1B0, 0x3838CEFA, 0x3838FC0D, 0x383928E7, 0x38395584, 0x383981EA, 0x3839AE19, 0x3839DA0F, 0x383A05D0, 0x383A315B, 0x383A5CAB, 0x383A87CA, 0x383AB2B2, 0x383ADD66, 0x383B07E9, 0x383B3234, 0x383B5C4E, 0x383B8637, 0x383BAFEB, 0x383BD970, 0x383C02C2, 0x383C2BE4, 0x383C54D8, 0x383C7D9A, 0x383CA62B, 0x383CCE90, 0x383CF6C6, 0x383D1ECE, 0x383D46A9, 0x383D6E53, 0x383D95D4, 0x383DBD29, 0x383DE44F, 0x383E0B4C, 0x383E321D, 0x383E58C1, 0x383E7F3D, 0x383EA58D, 0x383ECBB3, 0x383EF1B0, 0x383F1784, 0x383F3D32, 0x383F62B3, 0x383F880E, 0x383FAD43, 0x383FD24E, 0x383FF733, 0x38401BF1, 0x38404089, 0x384064FA, 0x38408945, 0x3840AD6A, 0x3840D16A, 0x3840F547, 0x384118FE, 0x38413C90, 0x38415FFF, 0x3841834A, 0x3841A672, 0x3841C976, 0x3841EC56, 0x38420F15, 0x384231B0, 0x3842542A, 0x38427684, 0x384298B9, 0x3842BACE, 0x3842DCC2, 0x3842FE97, 0x38432049, 0x384341D9, 0x3843634C, 0x384384A0, 0x3843A5D1, 0x3843C6E6, 0x3843E7DA, 0x384408AD, 0x38442964, 0x384449FB, 0x38446A76, 0x38448AD0, 0x3844AB0E, 0x3844CB2C, 0x3844EB2E, 0x38450B15, 0x38452ADD, 0x38454A87, 0x38456A16, 0x38458989, 0x3845A8E1, 0x3845C81A, 0x3845E738, 0x3846063B, 0x38462522, 0x384643F0, 0x384662A0, 0x38468137, 0x38469FB0, 0x3846BE13, 0x3846DC58, 0x3846FA87, 0x38471897, 0x38473692, 0x38475471, 0x38477238, 0x38478FE2, 0x3847AD77, 0x3847CAF1, 0x3847E851, 0x3848059C, 0x384822CB, 0x38483FE4, 0x38485CE5, 0x384879CD, 0x3848969C, 0x3848B355, 0x3848CFF8, 0x3848EC7F, 0x384908F3, 0x3849254F, 0x38494192, 0x38495DC1, 0x384979D8, 0x384995D9, 0x3849B1C1, 0x3849CD96, 0x3849E955, 0x384A04FB, 0x384A208D, 0x384A3C0A, 0x384A5771, 0x384A72C2, 0x384A8DFD, 0x384AA925, 0x384AC436, 0x384ADF35, 0x384AFA1D, 0x384B14F0, 0x384B2FAF, 0x384B4A5B, 0x384B64F1, 0x384B7F71, 0x384B99E0, 0x384BB43A, 0x384BCE80, 0x384BE8B3, 0x384C02D3, 0x384C1CDF, 0x384C36D6, 0x384C50BC, 0x384C6A8F, 0x384C844C, 0x384C9DF8, 0x384CB791, 0x384CD11A, 0x384CEA8C, 0x384D03EE, 0x384D1D3D, 0x384D3679, 0x384D4FA4, 0x384D68BC, 0x384D81C3, 0x384D9AB8, 0x384DB39B, 0x384DCC6C, 0x384DE52C, 0x384DFDDB, 0x384E1677, 0x384E2F03, 0x384E477B, 0x384E5FE6, 0x384E783E, 0x384E9085, 0x384EA8BB, 0x384EC0E1, 0x384ED8F7, 0x384EF0FC, 0x384F08F0, 0x384F20D4, 0x384F38A8, 0x384F506B, 0x384F681D, 0x384F7FBF, 0x384F9754, 0x384FAED8, 0x384FC64B, 0x384FDDAE, 0x384FF503, 0x38500C47, 0x3850237B, 0x38503AA2, 0x385051B8, 0x385068C0, 0x38507FB8, 0x385096A1, 0x3850AD7B, 0x3850C446, 0x3850DB04, 0x3850F1B2, 0x3851084F, 0x38511EE1, 0x38513562, 0x38514BD6, 0x3851623C, 0x38517891, 0x38518ED9, 0x3851A513, 0x3851BB3F, 0x3851D15E, 0x3851E76E, 0x3851FD71, 0x38521367, 0x3852294B, 0x38523F25, 0x385254F1, 0x38526AAF, 0x38528060, 0x38529603, 0x3852AB98, 0x3852C11F, 0x3852D69B, 0x3852EC07, 0x38530168, 0x385316BE, 0x38532C03, 0x3853413E, 0x3853566A, 0x38536B89, 0x3853809D, 0x385395A6, 0x3853AA9E, 0x3853BF8B, 0x3853D46E, 0x3853E942, 0x3853FE09, 0x385412C5, 0x38542776, 0x38543C19, 0x385450AF, 0x3854653C, 0x385479BB, 0x38548E2D, 0x3854A294, 0x3854B6EF, 0x3854CB40, 0x3854DF83, 0x3854F3BB, 0x385507E8, 0x38551C07, 0x3855301B, 0x38554427, 0x38555825, 0x38556C16, 0x38557FFE, 0x385593DB, 0x3855A7AB, 0x3855BB6F, 0x3855CF2C, 0x3855E2DA, 0x3855F67E, 0x38560A16, 0x38561DA6, 0x38563129, 0x385644A1, 0x38565810, 0x38566B71, 0x38567ECB, 0x38569216, 0x3856A55A, 0x3856B892, 0x3856CBBF, 0x3856DEE4, 0x3856F1FC, 0x3857050B, 0x3857180F, 0x38572B08, 0x38573DF6, 0x385750DC, 0x385763B7, 0x38577687, 0x3857894E, 0x38579C0B, 0x3857AEBC, 0x3857C166, 0x3857D404, 0x3857E69A, 0x3857F923, 0x38580BA6, 0x38581E1D, 0x3858308A, 0x385842EC, 0x38585549, 0x38586797, 0x385879DE, 0x38588C1C, 0x38589E4F, 0x3858B07A, 0x3858C29D, 0x3858D4B4, 0x3858E6C1, 0x3858F8C6, 0x38590AC2, 0x38591CB6, 0x38592E9F, 0x3859407F, 0x38595255, 0x38596423, 0x385975E8, 0x385987A5, 0x38599957, 0x3859AB01, 0x3859BCA2, 0x3859CE3B, 0x3859DFCA, 0x3859F150, 0xBF800000, 0x00000000, 0x36E88A61, 0x373848D3, 0x37688A91, 0x3786FC78, 0x37964729, 0x37A334FE, 0x37AE6819, 0x37B8490F, 0x37C11F4E, 0x37C91DC0, 0x37D06A04, 0x37D720AB, 0x37DD57DE, 0x37E3213F, 0x37E88AFF, 0x37EDA0B7, 0x37F26BFB, 0x37F6F4E3, 0x37FB423F, 0x37FF59DA, 0x3801A05B, 0x38037D95, 0x3805467D, 0x3806FCC0, 0x3808A1D1, 0x380A36FE, 0x380BBD6D, 0x380D3629, 0x380EA220, 0x38100227, 0x38115700, 0x3812A15C, 0x3813E1DC, 0x38151910, 0x38164781, 0x38176DA8, 0x38188BF8, 0x3819A2D5, 0x381AB2A6, 0x381BBBBE, 0x381CBE74, 0x381DBB12, 0x381EB1E2, 0x381FA327, 0x38208F1E, 0x38217601, 0x38225807, 0x38233566, 0x38240E49, 0x3824E2E3, 0x3825B35D, 0x38267FDB, 0x3827488A, 0x38280D87, 0x3828CEF9, 0x38298CFE, 0x382A47B8, 0x382AFF3E, 0x382BB3AF, 0x382C6524, 0x382D13B6, 0x382DBF7D, 0x382E688F, 0x382F0F02, 0x382FB2EB, 0x3830545D, 0x3830F36B, 0x38319027, 0x38322AA1, 0x3832C2EB, 0x38335912, 0x3833ED27, 0x38347F39, 0x38350F54, 0x38359D89, 0x383629E0, 0x3836B469, 0x38373D2C, 0x3837C437, 0x38384996, 0x3838CD50, 0x38394F73, 0x3839D008, 0x383A4F13, 0x383ACCA6, 0x383B48C3, 0x383BC376, 0x383C3CC5, 0x383CB4BB, 0x383D2B5B, 0x383DA0B2, 0x383E14C1, 0x383E8795, 0x383EF932, 0x383F699D, 0x383FD8DD, 0x384046FA, 0x3840B3F9, 0x38411FE0, 0x38418AB3, 0x3841F479, 0x38425D38, 0x3842C4F4, 0x38432BB0, 0x38439175, 0x3843F642, 0x38445A21, 0x3844BD16, 0x38451F21, 0x38458048, 0x3845E093, 0x38464002, 0x38469E98, 0x3846FC5D, 0x38475951, 0x3847B577, 0x384810D7, 0x38486B71, 0x3848C548, 0x38491E5F, 0x384976BE, 0x3849CE61, 0x384A254F, 0x384A7B8B, 0x384AD116, 0x384B25F7, 0x384B7A2B, 0x384BCDB7, 0x384C209F, 0x384C72E4, 0x384CC487, 0x384D1590, 0x384D65FA, 0x384DB5CC, 0x384E0507, 0x384E53AE, 0x384EA1C3, 0x384EEF49, 0x384F3C3E, 0x384F88A9, 0x384FD488, 0x38501FE0, 0x38506AAF, 0x3850B4FC, 0x3850FEC6, 0x3851480E, 0x385190D8, 0x3851D924, 0x385220F4, 0x3852684A, 0x3852AF28, 0x3852F58D, 0x38533B7F, 0x385380FD, 0x3853C608, 0x38540AA2, 0x38544ECB, 0x38549286, 0x3854D5D6, 0x385518BB, 0x38555B35, 0x38559D46, 0x3855DEF2, 0x38562035, 0x38566112, 0x3856A18F, 0x3856E1A7, 0x3857215E, 0x385760B5, 0x38579FAC, 0x3857DE48, 0x38581C84, 0x38585A65, 0x385897EC, 0x3858D517, 0x385911EB, 0x38594E67, 0x38598A8E, 0x3859C65C, 0x385A01D9, 0x385A3CFD, 0x385A77D2, 0x385AB254, 0x385AEC86, 0x385B2666, 0x385B5FF6, 0x385B9939, 0x385BD22D, 0x385C0AD3, 0x385C4330, 0x385C7B3F, 0x385CB307, 0x385CEA82, 0x385D21B6, 0x385D589F, 0x385D8F41, 0x385DC59E, 0x385DFBB3, 0x385E3184, 0x385E6710, 0x385E9C58, 0x385ED15D, 0x385F061E, 0x385F3A9F, 0x385F6EDC, 0x385FA2DA, 0x385FD698, 0x38600A15, 0x38603D55, 0x38607055, 0x3860A319, 0x3860D59E, 0x386107E7, 0x386139F6, 0x38616BC5, 0x38619D5E, 0x3861CEBA, 0x3861FFDD, 0x386230C5, 0x38626177, 0x386291EF, 0x3862C230, 0x3862F23A, 0x3863220A, 0x386351A6, 0x3863810E, 0x3863B03F, 0x3863DF3C, 0x38640E01, 0x38643C96, 0x38646AF6, 0x38649924, 0x3864C71E, 0x3864F4E7, 0x3865227F, 0x38654FE4, 0x38657D19, 0x3865AA1C, 0x3865D6F0, 0x38660392, 0x38663006, 0x38665C4E, 0x38668865, 0x3866B44D, 0x3866E008, 0x38670B98, 0x386736F7, 0x3867622C, 0x38678D35, 0x3867B80F, 0x3867E2C0, 0x38680D45, 0x3868379F, 0x386861CF, 0x38688BD3, 0x3868B5AD, 0x3868DF5F, 0x386908E7, 0x38693246, 0x38695B7F, 0x3869848B, 0x3869AD71, 0x3869D631, 0x3869FEC7, 0x386A2737, 0x386A4F81, 0x386A77A4, 0x386A9FA0, 0x386AC776, 0x386AEF25, 0x386B16B1, 0x386B3E19, 0x386B6558, 0x386B8C76, 0x386BB36D, 0x386BDA41, 0x386C00F3, 0x386C277F, 0x386C4DE8, 0x386C742F, 0x386C9A53, 0x386CC053, 0x386CE632, 0x386D0BF0, 0x386D318A, 0x386D5703, 0x386D7C5B, 0x386DA190, 0x386DC6A6, 0x386DEB9C, 0x386E1070, 0x386E3526, 0x386E59B8, 0x386E7E2F, 0x386EA282, 0x386EC6B7, 0x386EEACE, 0x386F0EC6, 0x386F32A0, 0x386F565A, 0x386F79F5, 0x386F9D74, 0x386FC0D2, 0x386FE415, 0x3870073A, 0x38702A41, 0x38704D2C, 0x38706FF9, 0x387092A7, 0x3870B53D, 0x3870D7B2, 0x3870FA0E, 0x38711C4E, 0x38713E71, 0x38716078, 0x38718263, 0x3871A433, 0x3871C5EA, 0x3871E783, 0x38720903, 0x38722A68, 0x38724BB1, 0x38726CE2, 0x38728DF7, 0x3872AEF3, 0x3872CFD6, 0x3872F09E, 0x3873114E, 0x387331E2, 0x3873525D, 0x387372C2, 0x3873930B, 0x3873B33C, 0x3873D354, 0x3873F354, 0x3874133D, 0x3874330B, 0x387452C3, 0x38747262, 0x387491EB, 0x3874B15B, 0x3874D0B3, 0x3874EFF5, 0x38750F1E, 0x38752E31, 0x38754D2E, 0x38756C12, 0x38758AE3, 0x3875A998, 0x3875C83B, 0x3875E6C7, 0x3876053B, 0x3876239B, 0x387641E2, 0x38766017, 0x38767E35, 0x38769C3D, 0x3876BA30, 0x3876D80C, 0x3876F5D2, 0x38771386, 0x38773125, 0x38774EAD, 0x38776C23, 0x38778981, 0x3877A6CC, 0x3877C403, 0x3877E127, 0x3877FE36, 0x38781B2E, 0x38783816, 0x387854E7, 0x387871A6, 0x38788E51, 0x3878AAE9, 0x3878C76B, 0x3878E3DC, 0x3879003B, 0x38791C86, 0x387938BB, 0x387954DF, 0x387970F1, 0x38798CF2, 0x3879A8DC, 0x3879C4B7, 0x3879E07E, 0x3879FC32, 0x387A17D5, 0x387A3365, 0x387A4EE2, 0x387A6A4E, 0x387A85AA, 0x387AA0F3, 0x387ABC28, 0x387AD750, 0x387AF262, 0x387B0D66, 0x387B2856, 0x387B4336, 0x387B5E03, 0x387B78C3, 0x387B936F, 0x387BAE0A, 0x387BC895, 0x387BE310, 0x387BFD77, 0x387C17D0, 0x387C3219, 0x387C4C4F, 0x387C6677, 0x387C808F, 0x387C9A96, 0x387CB48C, 0x387CCE72, 0x387CE84B, 0x387D0210, 0x387D1BC7, 0x387D3571, 0x387D4F07, 0x387D688F, 0x387D8208, 0x387D9B72, 0x387DB4CC, 0x387DCE15, 0x387DE751, 0x387E007C, 0x387E1999, 0x387E32A9, 0x387E4BA8, 0x387E6497, 0x387E7D7A, 0x387E964B, 0x387EAF10, 0x387EC7C5, 0x387EE06C, 0x387EF906, 0x387F118F, 0x387F2A0A, 0x387F4278, 0x387F5AD7, 0x387F7329, 0x387F8B6E, 0x387FA3A1, 0x387FBBCA, 0x387FD3E2, 0x387FEBED, 0x388001F6, 0x38800DEE, 0x388019E0, 0x388025C9, 0x388031AE, 0x38803D8A, 0x38804960, 0x38805530, 0x388060F9, 0x38806CBC, 0x38807877, 0x3880842D, 0x38808FDB, 0x38809B83, 0x3880A725, 0x3880B2C1, 0x3880BE55, 0x3880C9E4, 0x3880D56D, 0x3880E0EE, 0x3880EC6A, 0x3880F7DF, 0x3881034E, 0x38810EB7, 0x38811A18, 0x38812576, 0x388130CB, 0x38813C1B, 0x38814766, 0x388152AA, 0x38815DE8, 0x3881691F, 0x38817452, 0x38817F7D, 0x38818AA4, 0x388195C4, 0x3881A0DE, 0x3881ABF2, 0x3881B702, 0x3881C20A, 0x3881CD0D, 0x3881D80A, 0x3881E301, 0x3881EDF3, 0x3881F8DF, 0x388203C5, 0x38820EA7, 0x38821982, 0x38822456, 0x38822F26, 0x388239F0, 0x388244B5, 0x38824F75, 0x38825A2E, 0x388264E2, 0x38826F91, 0x38827A3B, 0x388284DF, 0x38828F7D, 0x38829A16, 0x3882A4AA, 0x3882AF39, 0x3882B9C2, 0x3882C446, 0xBF800000, 0x00000000, 0x3904CF18, 0x3952814E, 0x3984D142, 0x399A3308, 0x39ABAB9C, 0x39BA713C, 0x39C73D1D, 0x39D286B3, 0x39DC9F96, 0x39E5C1F1, 0x39EE18BA, 0x39F5C48F, 0x39FCDED2, 0x3A01BDCD, 0x3A04D58F, 0x3A07BD4E, 0x3A0A7A8A, 0x3A0D11DA, 0x3A0F8725, 0x3A11DDBA, 0x3A141878, 0x3A1639D6, 0x3A1843FF, 0x3A1A38D8, 0x3A1C1A0A, 0x3A1DE916, 0x3A1FA749, 0x3A2155D6, 0x3A22F5C8, 0x3A24881A, 0x3A260DA4, 0x3A278732, 0x3A28F57B, 0x3A2A5927, 0x3A2BB2CD, 0x3A2D02FC, 0x3A2E4A33, 0x3A2F88EC, 0x3A30BF93, 0x3A31EE8D, 0x3A33163C, 0x3A3436F4, 0x3A35510C, 0x3A3664CA, 0x3A37727B, 0x3A387A60, 0x3A397CB5, 0x3A3A79B7, 0x3A3B719E, 0x3A3C649B, 0x3A3D52E0, 0x3A3E3C9D, 0x3A3F21FB, 0x3A400323, 0x3A40E03D, 0x3A41B96C, 0x3A428ED6, 0x3A43609B, 0x3A442ED8, 0x3A44F9AD, 0x3A45C136, 0x3A46858D, 0x3A4746CC, 0x3A48050D, 0x3A48C067, 0x3A4978EF, 0x3A4A2EBB, 0x3A4AE1E1, 0x3A4B9273, 0x3A4C4084, 0x3A4CEC26, 0x3A4D9569, 0x3A4E3C5E, 0x3A4EE116, 0x3A4F83A0, 0x3A50240B, 0x3A50C263, 0x3A515EB7, 0x3A51F914, 0x3A529186, 0x3A532819, 0x3A53BCD8, 0x3A544FD0, 0x3A54E10B, 0x3A557093, 0x3A55FE73, 0x3A568AB3, 0x3A57155E, 0x3A579E7C, 0x3A582615, 0x3A58AC35, 0x3A5930E0, 0x3A59B420, 0x3A5A35FD, 0x3A5AB67F, 0x3A5B35AB, 0x3A5BB389, 0x3A5C3021, 0x3A5CAB78, 0x3A5D2595, 0x3A5D9E7C, 0x3A5E1638, 0x3A5E8CCA, 0x3A5F023B, 0x3A5F768E, 0x3A5FE9CA, 0x3A605BF2, 0x3A60CD0F, 0x3A613D23, 0x3A61AC32, 0x3A621A45, 0x3A62875A, 0x3A62F37B, 0x3A635EAA, 0x3A63C8EB, 0x3A643244, 0x3A649AB7, 0x3A650247, 0x3A6568FB, 0x3A65CED3, 0x3A6633D6, 0x3A669804, 0x3A66FB64, 0x3A675DF8, 0x3A67BFC2, 0x3A6820C7, 0x3A688108, 0x3A68E08B, 0x3A693F50, 0x3A699D5C, 0x3A69FAB0, 0x3A6A5750, 0x3A6AB33E, 0x3A6B0E7E, 0x3A6B6910, 0x3A6BC2F9, 0x3A6C1C3C, 0x3A6C74D9, 0x3A6CCCD3, 0x3A6D242D, 0x3A6D7AEA, 0x3A6DD109, 0x3A6E2690, 0x3A6E7B7F, 0x3A6ECFD9, 0x3A6F23A0, 0x3A6F76D4, 0x3A6FC97A, 0x3A701B92, 0x3A706D1F, 0x3A70BE21, 0x3A710E9B, 0x3A715E91, 0x3A71AE01, 0x3A71FCEE, 0x3A724B5B, 0x3A729948, 0x3A72E6B6, 0x3A7333A8, 0x3A738021, 0x3A73CC1F, 0x3A7417A7, 0x3A7462B7, 0x3A74AD54, 0x3A74F77B, 0x3A754133, 0x3A758A78, 0x3A75D34F, 0x3A761BB9, 0x3A7663B4, 0x3A76AB44, 0x3A76F26C, 0x3A773929, 0x3A777F7E, 0x3A77C56D, 0x3A780AF7, 0x3A78501D, 0x3A7894DF, 0x3A78D940, 0x3A791D3F, 0x3A7960DD, 0x3A79A41F, 0x3A79E702, 0x3A7A2987, 0x3A7A6BB2, 0x3A7AAD81, 0x3A7AEEF6, 0x3A7B3013, 0x3A7B70D8, 0x3A7BB144, 0x3A7BF15D, 0x3A7C311F, 0x3A7C708C, 0x3A7CAFA8, 0x3A7CEE70, 0x3A7D2CE5, 0x3A7D6B0B, 0x3A7DA8DF, 0x3A7DE666, 0x3A7E239D, 0x3A7E6086, 0x3A7E9D23, 0x3A7ED972, 0x3A7F1578, 0x3A7F5132, 0x3A7F8CA0, 0x3A7FC7C8, 0x3A800153, 0x3A801E9E, 0x3A803BC5, 0x3A8058CA, 0x3A8075AA, 0x3A809269, 0x3A80AF05, 0x3A80CB7F, 0x3A80E7D8, 0x3A81040F, 0x3A812026, 0x3A813C1B, 0x3A8157F1, 0x3A8173A5, 0x3A818F3A, 0x3A81AAAF, 0x3A81C606, 0x3A81E13D, 0x3A81FC55, 0x3A82174F, 0x3A82322A, 0x3A824CE8, 0x3A826787, 0x3A82820A, 0x3A829C70, 0x3A82B6B8, 0x3A82D0E4, 0x3A82EAF3, 0x3A8304E6, 0x3A831EBF, 0x3A83387C, 0x3A835216, 0x3A836B9F, 0x3A838505, 0x3A839E52, 0x3A83B785, 0x3A83D0A7, 0x3A83E9A6, 0x3A84028C, 0x3A841B58, 0x3A84340A, 0x3A844CA3, 0x3A846521, 0x3A847D86, 0x3A8495D1, 0x3A84AE0B, 0x3A84C62B, 0x3A84DE29, 0x3A84F616, 0x3A850DF1, 0x3A8525AA, 0x3A853D52, 0x3A8554E0, 0x3A856C5D, 0x3A8583B8, 0x3A859B0A, 0x3A85B23A, 0x3A85C958, 0x3A85E05D, 0x3A85F750, 0x3A860E2A, 0x3A8624F3, 0x3A863BA1, 0x3A86523F, 0x3A8668C3, 0x3A867F36, 0x3A86958E, 0x3A86ABD6, 0x3A86C204, 0x3A86D821, 0x3A86EE2C, 0x3A870427, 0x3A871A08, 0x3A872FCE, 0x3A87458D, 0x3A875B31, 0x3A8770C5, 0x3A878647, 0x3A879BAF, 0x3A87B106, 0x3A87C64C, 0x3A87DB81, 0x3A87F0A5, 0x3A8805AF, 0x3A881AA7, 0x3A882F97, 0x3A88446E, 0x3A885933, 0x3A886DDE, 0x3A888281, 0x3A889713, 0x3A88AB93, 0x3A88BFFA, 0x3A88D458, 0x3A88E8A5, 0x3A88FCD8, 0x3A891103, 0x3A89251C, 0x3A89391C, 0x3A894D13, 0x3A8960F8, 0x3A8974CD, 0x3A898891, 0x3A899C43, 0x3A89AFED, 0x3A89C37D, 0x3A89D704, 0x3A89EA71, 0x3A89FDD6, 0x3A8A112A, 0x3A8A2475, 0x3A8A37A7, 0x3A8A4AD0, 0x3A8A5DE7, 0x3A8A70EE, 0x3A8A83E3, 0x3A8A96D0, 0x3A8AA9AB, 0x3A8ABC76, 0x3A8ACF38, 0x3A8AE1E8, 0x3A8AF488, 0x3A8B0716, 0x3A8B199B, 0x3A8B2C10, 0x3A8B3E73, 0x3A8B50CE, 0x3A8B6317, 0x3A8B7558, 0x3A8B8788, 0x3A8B99A7, 0x3A8BABBD, 0x3A8BBDC1, 0x3A8BCFBE, 0x3A8BE1A9, 0x3A8BF383, 0x3A8C0554, 0x3A8C171C, 0x3A8C28D4, 0x3A8C3A7A, 0x3A8C4C18, 0x3A8C5DA4, 0x3A8C6F28, 0x3A8C809B, 0x3A8C9205, 0x3A8CA367, 0x3A8CB4B7, 0x3A8CC5F7, 0x3A8CD72D, 0x3A8CE85B, 0x3A8CF978, 0x3A8D0A8C, 0x3A8D1B90, 0x3A8D2C8A, 0x3A8D3D7C, 0x3A8D4E5D, 0x3A8D5F35, 0x3A8D6FFC, 0x3A8D80BA, 0x3A8D9170, 0x3A8DA215, 0x3A8DB2B9, 0x3A8DC344, 0x3A8DD3CF, 0x3A8DE449, 0x3A8DF4B1, 0x3A8E0519, 0x3A8E1571, 0x3A8E25BF, 0x3A8E35FD, 0x3A8E4632, 0x3A8E565E, 0x3A8E6682, 0x3A8E769D, 0x3A8E86A7, 0x3A8E96A9, 0x3A8EA6A1, 0x3A8EB689, 0x3A8EC668, 0x3A8ED63F, 0x3A8EE60C, 0x3A8EF5D2, 0x3A8F0586, 0x3A8F1531, 0x3A8F24D4, 0x3A8F346E, 0x3A8F4400, 0x3A8F5381, 0x3A8F6301, 0x3A8F7271, 0x3A8F81D7, 0x3A8F9136, 0x3A8FA083, 0x3A8FAFD0, 0x3A8FBF14, 0x3A8FCE47, 0x3A8FDD72, 0x3A8FEC94, 0x3A8FFBAE, 0x3A900ABE, 0x3A9019C7, 0x3A9028BE, 0x3A9037B5, 0x3A9046A3, 0x3A905581, 0x3A906456, 0x3A90732A, 0x3A9081EE, 0x3A9090A9, 0x3A909F5B, 0x3A90AE05, 0x3A90BCA6, 0x3A90CB3F, 0x3A90D9CF, 0x3A90E856, 0x3A90F6D5, 0x3A91054B, 0x3A9113B9, 0x3A91221E, 0x3A91307B, 0x3A913ECF, 0x3A914D11, 0x3A915B54, 0x3A91698E, 0x3A9177C0, 0x3A9185E9, 0x3A919409, 0x3A91A221, 0x3A91B030, 0x3A91BE37, 0x3A91CC35, 0x3A91DA33, 0x3A91E81F, 0x3A91F604, 0x3A9203E8, 0x3A9211BB, 0x3A921F8E, 0x3A922D50, 0x3A923B12, 0x3A9248CB, 0x3A925673, 0x3A92641B, 0x3A9271BB, 0x3A927F52, 0x3A928CE9, 0x3A929A6E, 0x3A92A7F4, 0x3A92B569, 0x3A92C2DD, 0x3A92D049, 0x3A92DDAD, 0x3A92EB07, 0x3A92F85A, 0x3A9305A3, 0x3A9312ED, 0x3A932025, 0x3A932D5E, 0x3A933A8D, 0x3A9347B5, 0x3A9354DC, 0x3A9361F2, 0x3A936F08, 0x3A937C0D, 0x3A938912, 0x3A93960E, 0x3A93A30B, 0x3A93AFF6, 0x3A93BCE1, 0x3A93C9C3, 0x3A93D69D, 0x3A93E36F, 0x3A93F040, 0x3A93FD00, 0x3A9409C0, 0x3A941678, 0x3A94232F, 0x3A942FD6, 0x3A943C7C, 0x3A94491A, 0x3A9455AF, 0x3A946245, 0x3A946EC9, 0x3A947B4D, 0x3A9487D1, 0x3A949444, 0x3A94A0B6, 0x3A94AD21, 0x3A94B982, 0x3A94C5DB, 0x3A94D235, 0x3A94DE85, 0x3A94EACD, 0x3A94F70C, 0x3A95034C, 0x3A950F82, 0x3A951BB9, 0x3A9527DF, 0x3A953404, 0x3A954021, 0x3A954C3E, 0x3A95584A, 0x3A956456, 0x3A957062, 0xBF800000, 0x00000000, 0x391AC8FE, 0x397556DD, 0x399ACBEF, 0x39B3B7B1, 0x39C8148F, 0x39D94C26, 0x39E83648, 0x39F55E35, 0x3A00917F, 0x3A05E437, 0x3A0AC050, 0x3A0F38C9, 0x3A135C6E, 0x3A1736F1, 0x3A1AD1C7, 0x3A1E34AA, 0x3A2165FD, 0x3A246B1F, 0x3A27489A, 0x3A2A024B, 0x3A2C9B88, 0x3A2F1731, 0x3A3177CF, 0x3A33BF93, 0x3A35F073, 0x3A380C29, 0x3A3A143F, 0x3A3C0A15, 0x3A3DEEE9, 0x3A3FC3D7, 0x3A4189E1, 0x3A4341F3, 0x3A44ECE4, 0x3A468B73, 0x3A481E56, 0x3A49A62F, 0x3A4B2396, 0x3A4C9714, 0x3A4E012C, 0x3A4F6253, 0x3A50BAF8, 0x3A520B80, 0x3A53544D, 0x3A5495B6, 0x3A55D010, 0x3A5703A6, 0x3A5830C4, 0x3A5957AC, 0x3A5A789F, 0x3A5B93D9, 0x3A5CA994, 0x3A5DBA05, 0x3A5EC55E, 0x3A5FCBCF, 0x3A60CD87, 0x3A61CAAF, 0x3A62C371, 0x3A63B7F1, 0x3A64A856, 0x3A6594C1, 0x3A667D56, 0x3A676230, 0x3A684371, 0x3A692134, 0x3A69FB95, 0x3A6AD2AC, 0x3A6BA695, 0x3A6C7765, 0x3A6D4535, 0x3A6E1019, 0x3A6ED826, 0x3A6F9D73, 0x3A70600F, 0x3A71200E, 0x3A71DD84, 0x3A72987F, 0x3A735111, 0x3A740749, 0x3A74BB36, 0x3A756CE7, 0x3A761C69, 0x3A76C9CB, 0x3A77751A, 0x3A781E63, 0x3A78C5B0, 0x3A796B0F, 0x3A7A0E8B, 0x3A7AB02C, 0x3A7B5000, 0x3A7BEE10, 0x3A7C8A64, 0x3A7D2509, 0x3A7DBE06, 0x3A7E5565, 0x3A7EEB2F, 0x3A7F7F6B, 0x3A800911, 0x3A8051AE, 0x3A809990, 0x3A80E0BB, 0x3A812733, 0x3A816CFA, 0x3A81B215, 0x3A81F687, 0x3A823A53, 0x3A827D7C, 0x3A82C005, 0x3A8301F1, 0x3A834341, 0x3A8383FB, 0x3A83C423, 0x3A8403B9, 0x3A8442BD, 0x3A848137, 0x3A84BF20, 0x3A84FC87, 0x3A853965, 0x3A8575C3, 0x3A85B19F, 0x3A85ECFB, 0x3A8627D5, 0x3A866238, 0x3A869C22, 0x3A86D59D, 0x3A870E96, 0x3A874720, 0x3A877F3B, 0x3A87B6E5, 0x3A87EE21, 0x3A8824F4, 0x3A885B59, 0x3A889156, 0x3A88C6E3, 0x3A88FC13, 0x3A8930DB, 0x3A896544, 0x3A899946, 0x3A89CCF3, 0x3A8A0038, 0x3A8A331F, 0x3A8A65A8, 0x3A8A97DA, 0x3A8AC9B7, 0x3A8AFB35, 0x3A8B2C5D, 0x3A8B5D30, 0x3A8B8DB5, 0x3A8BBDDB, 0x3A8BEDB4, 0x3A8C1D40, 0x3A8C4C76, 0x3A8C7B5F, 0x3A8CA9F2, 0x3A8CD840, 0x3A8D0641, 0x3A8D33F4, 0x3A8D6163, 0x3A8D8E85, 0x3A8DBB59, 0x3A8DE7E8, 0x3A8E1433, 0x3A8E4039, 0x3A8E6BFA, 0x3A8E9777, 0x3A8EC2AF, 0x3A8EEDAA, 0x3A8F1859, 0x3A8F42CB, 0x3A8F6D01, 0x3A8F96F3, 0x3A8FC0A8, 0x3A8FEA21, 0x3A90135E, 0x3A903C5F, 0x3A90651B, 0x3A908DA4, 0x3A90B5F0, 0x3A90DE09, 0x3A9105DD, 0x3A912D7E, 0x3A9154EB, 0x3A917C1C, 0x3A91A31A, 0x3A91C9DB, 0x3A91F069, 0x3A9216CC, 0x3A923CF3, 0x3A9262DD, 0x3A92889D, 0x3A92AE32, 0x3A92D38A, 0x3A92F8AF, 0x3A931DAA, 0x3A934270, 0x3A93670C, 0x3A938B6B, 0x3A93AFA8, 0x3A93D3B2, 0x3A93F791, 0x3A941B3C, 0x3A943EBC, 0x3A946211, 0x3A948533, 0x3A94A832, 0x3A94CAFE, 0x3A94EDA7, 0x3A95101D, 0x3A953268, 0x3A955490, 0x3A95768E, 0x3A959861, 0x3A95BA08, 0x3A95DB8E, 0x3A95FCE8, 0x3A961E18, 0x3A963F25, 0x3A966007, 0x3A9680BE, 0x3A96A15B, 0x3A96C1CE, 0x3A96E215, 0x3A97023B, 0x3A97223D, 0x3A97421E, 0x3A9761D3, 0x3A978166, 0x3A97A0E0, 0x3A97C02E, 0x3A97DF52, 0x3A97FE5B, 0x3A981D43, 0x3A983C08, 0x3A985AAA, 0x3A98792B, 0x3A989791, 0x3A98B5CD, 0x3A98D3EE, 0x3A98F1EE, 0x3A990FCB, 0x3A992D85, 0x3A994B26, 0x3A9968A5, 0x3A99860A, 0x3A99A34C, 0x3A99C06C, 0x3A99DD72, 0x3A99FA5F, 0x3A9A1729, 0x3A9A33D1, 0x3A9A505F, 0x3A9A6CD3, 0x3A9A8925, 0x3A9AA55D, 0x3A9AC17C, 0x3A9ADD78, 0x3A9AF962, 0x3A9B152B, 0x3A9B30D1, 0x3A9B4C66, 0x3A9B67D9, 0x3A9B833A, 0x3A9B9E79, 0x3A9BB99E, 0x3A9BD4AA, 0x3A9BEF9B, 0x3A9C0A73, 0x3A9C2532, 0x3A9C3FD6, 0x3A9C5A61, 0x3A9C74D1, 0x3A9C8F31, 0x3A9CA96E, 0x3A9CC39B, 0x3A9CDDA4, 0x3A9CF79D, 0x3A9D117C, 0x3A9D2B41, 0x3A9D44F5, 0x3A9D5E8F, 0x3A9D780F, 0x3A9D9176, 0x3A9DAACB, 0x3A9DC407, 0x3A9DDD29, 0x3A9DF639, 0x3A9E0F30, 0x3A9E2816, 0x3A9E40E2, 0x3A9E5994, 0x3A9E7235, 0x3A9E8AC5, 0x3A9EA33B, 0x3A9EBB97, 0x3A9ED3E3, 0x3A9EEC1C, 0x3A9F043D, 0x3A9F1C43, 0x3A9F3441, 0x3A9F4C1C, 0x3A9F63EF, 0x3A9F7BA8, 0x3A9F9350, 0x3A9FAADE, 0x3A9FC264, 0x3A9FD9C7, 0x3A9FF122, 0x3AA00862, 0x3AA01F9B, 0x3AA036B1, 0x3AA04DBE, 0x3AA064BA, 0x3AA07B9C, 0x3AA0926D, 0x3AA0A92D, 0x3AA0BFDC, 0x3AA0D671, 0x3AA0ECFE, 0x3AA10370, 0x3AA119D2, 0x3AA1302B, 0x3AA1466A, 0x3AA15C98, 0x3AA172B5, 0x3AA188C0, 0x3AA19EBB, 0x3AA1B4A4, 0x3AA1CA7C, 0x3AA1E043, 0x3AA1F5F8, 0x3AA20B9D, 0x3AA22139, 0x3AA236BB, 0x3AA24C2C, 0x3AA26194, 0x3AA276E3, 0x3AA28C29, 0x3AA2A155, 0x3AA2B679, 0x3AA2CB8B, 0x3AA2E08D, 0x3AA2F585, 0x3AA30A64, 0x3AA31F3B, 0x3AA33400, 0x3AA348B4, 0x3AA35D57, 0x3AA371F1, 0x3AA3867A, 0x3AA39AF2, 0x3AA3AF58, 0x3AA3C3B6, 0x3AA3D803, 0x3AA3EC3F, 0x3AA4006A, 0x3AA4148C, 0x3AA4289C, 0x3AA43C9C, 0x3AA45093, 0x3AA46479, 0x3AA47856, 0x3AA48C1A, 0x3AA49FDD, 0x3AA4B387, 0x3AA4C728, 0x3AA4DAB8, 0x3AA4EE3F, 0x3AA501B5, 0x3AA51523, 0x3AA5287F, 0x3AA53BD3, 0x3AA54F0D, 0x3AA56247, 0x3AA57570, 0x3AA58888, 0x3AA59B97, 0x3AA5AE95, 0x3AA5C18A, 0x3AA5D46E, 0x3AA5E74A, 0x3AA5FA1D, 0x3AA60CD6, 0x3AA61F8F, 0x3AA63237, 0x3AA644CE, 0x3AA6575C, 0x3AA669E2, 0x3AA67C56, 0x3AA68EC2, 0x3AA6A125, 0x3AA6B377, 0x3AA6C5B8, 0x3AA6D7F1, 0x3AA6EA20, 0x3AA6FC47, 0x3AA70E5D, 0x3AA7206B, 0x3AA73267, 0x3AA7445B, 0x3AA75646, 0x3AA76820, 0x3AA779F1, 0x3AA78BB9, 0x3AA79D71, 0x3AA7AF28, 0x3AA7C0C6, 0x3AA7D264, 0x3AA7E3F0, 0x3AA7F574, 0x3AA806F0, 0x3AA8185A, 0x3AA829BB, 0x3AA83B14, 0x3AA84C65, 0x3AA85DA4, 0x3AA86EDB, 0x3AA88009, 0x3AA8912E, 0x3AA8A24B, 0x3AA8B357, 0x3AA8C45A, 0x3AA8D554, 0x3AA8E63E, 0x3AA8F727, 0x3AA907FF, 0x3AA918CF, 0x3AA92996, 0x3AA93A54, 0x3AA94B0A, 0x3AA95BAE, 0x3AA96C4B, 0x3AA97CDE, 0x3AA98D69, 0x3AA99DEB, 0x3AA9AE65, 0x3AA9BED6, 0x3AA9CF36, 0x3AA9DF96, 0x3AA9EFE4, 0x3AAA002A, 0x3AAA1068, 0x3AAA209D, 0x3AAA30C9, 0x3AAA40ED, 0x3AAA50FF, 0x3AAA6112, 0x3AAA7113, 0x3AAA8115, 0x3AAA9105, 0x3AAAA0F5, 0x3AAAB0D4, 0x3AAAC0AB, 0x3AAAD079, 0x3AAAE047, 0x3AAAF003, 0x3AAAFFB7, 0x3AAB0F63, 0x3AAB1F06, 0x3AAB2EA0, 0x3AAB3E32, 0x3AAB4DBB, 0x3AAB5D3B, 0x3AAB6CB3, 0x3AAB7C23, 0x3AAB8B8A, 0x3AAB9AE8, 0x3AABAA3D, 0x3AABB993, 0x3AABC8D7, 0x3AABD813, 0x3AABE746, 0x3AABF671, 0x3AAC059C, 0x3AAC14B5, 0x3AAC23C6, 0x3AAC32D7, 0x3AAC41D7, 0x3AAC50D6, 0x3AAC5FC5, 0x3AAC6EB3, 0x3AAC7D99, 0x3AAC8C77, 0x3AAC9B4B, 0x3AACAA18, 0x3AACB8DB, 0x3AACC796, 0x3AACD649, 0x3AACE4F2, 0x3AACF39C, 0x3AAD023D, 0x3AAD10CD, 0x3AAD1F5D, 0x3AAD2DE5, 0x3AAD3C64, 0x3AAD4ADA, 0x3AAD5950, 0x3AAD67B5, 0x3AAD761A, 0x3AAD846E, 0x3AAD92C2, 0x3AADA10E, 0x3AADAF59, 0x3AADBD93, 0x3AADCBC4, 0x3AADD9F6, 0x3AADE81F, 0x3AADF63F, 0x3AAE0457, 0x3AAE1266, 0x3AAE2075, 0x3AAE2E7C, 0xBF800000, 0x00000000, 0x39396DD5, 0x3992F4E5, 0x39B97208, 0x39D74D35, 0x39EFB277, 0x3A02297E, 0x3A0B18AB, 0x3A12FA2B, 0x3A1A06EF, 0x3A206796, 0x3A263A1D, 0x3A2B954B, 0x3A308AD7, 0x3A3528C6, 0x3A397A6C, 0x3A3D890A, 0x3A415C47, 0x3A44FA95, 0x3A48695D, 0x3A4BAD47, 0x3A4ECA4E, 0x3A51C3E9, 0x3A549D18, 0x3A575886, 0x3A59F886, 0x3A5C7F2A, 0x3A5EEE4A, 0x3A61478D, 0x3A638C6F, 0x3A65BE47, 0x3A67DE46, 0x3A69ED8B, 0x3A6BED12, 0x3A6DDDC7, 0x3A6FC07E, 0x3A7195FB, 0x3A735EF3, 0x3A751C0E, 0x3A76CDE5, 0x3A787506, 0x3A7A11F5, 0x3A7BA52D, 0x3A7D2F20, 0x3A7EB039, 0x3A80146E, 0x3A80CCB3, 0x3A818117, 0x3A8231C3, 0x3A82DEDE, 0x3A83888B, 0x3A842EF1, 0x3A84D226, 0x3A85724E, 0x3A860F8A, 0x3A86A9ED, 0x3A874197, 0x3A87D69B, 0x3A886912, 0x3A88F916, 0x3A8986B8, 0x3A8A1212, 0x3A8A9B2D, 0x3A8B2221, 0x3A8BA6F9, 0x3A8C29CD, 0x3A8CAAA6, 0x3A8D299F, 0x3A8DA6B6, 0x3A8E21FD, 0x3A8E9B8F, 0x3A8F136A, 0x3A8F8998, 0x3A8FFE32, 0x3A907138, 0x3A90E2B3, 0x3A9152BD, 0x3A91C14D, 0x3A922E7C, 0x3A929A43, 0x3A9304BB, 0x3A936DDB, 0x3A93D5BE, 0x3A943C5A, 0x3A94A1C9, 0x3A950603, 0x3A956911, 0x3A95CB03, 0x3A962BDA, 0x3A968B9D, 0x3A96EA4E, 0x3A9747F4, 0x3A97A499, 0x3A980045, 0x3A985AEF, 0x3A98B4B1, 0x3A990D7A, 0x3A996564, 0x3A99BC65, 0x3A9A1288, 0x3A9A67CB, 0x3A9ABC37, 0x3A9B0FD5, 0x3A9B62A5, 0x3A9BB4A7, 0x3A9C05E3, 0x3A9C565A, 0x3A9CA613, 0x3A9CF510, 0x3A9D4350, 0x3A9D90E4, 0x3A9DDDBB, 0x3A9E29EF, 0x3A9E756E, 0x3A9EC04A, 0x3A9F0A7A, 0x3A9F5410, 0x3A9F9CFA, 0x3A9FE552, 0x3AA02D07, 0x3AA07429, 0x3AA0BAB1, 0x3AA100A7, 0x3AA1460B, 0x3AA18AE6, 0x3AA1CF2E, 0x3AA212ED, 0x3AA25623, 0x3AA298D8, 0x3AA2DB03, 0x3AA31CAE, 0x3AA35DE0, 0x3AA39E91, 0x3AA3DEC2, 0x3AA41E7A, 0x3AA45DBA, 0x3AA49C82, 0x3AA4DADA, 0x3AA518BA, 0x3AA5562A, 0x3AA5932B, 0x3AA5CFBB, 0x3AA60BE5, 0x3AA6479F, 0x3AA682EA, 0x3AA6BDD6, 0x3AA6F852, 0x3AA73270, 0x3AA76C26, 0x3AA7A57F, 0x3AA7DE70, 0x3AA81702, 0x3AA84F36, 0x3AA8870C, 0x3AA8BE83, 0x3AA8F5A4, 0x3AA92C67, 0x3AA962D4, 0x3AA998E3, 0x3AA9CEA4, 0x3AAA0406, 0x3AAA391B, 0x3AAA6DDB, 0x3AAAA244, 0x3AAAD660, 0x3AAB0A27, 0x3AAB3DA0, 0x3AAB70CB, 0x3AABA3AA, 0x3AABD63B, 0x3AAC087E, 0x3AAC3A7D, 0x3AAC6C2F, 0x3AAC9D94, 0x3AACCEB3, 0x3AACFF86, 0x3AAD301C, 0x3AAD6065, 0x3AAD9069, 0x3AADC028, 0x3AADEFA3, 0x3AAE1ED9, 0x3AAE4DD3, 0x3AAE7C88, 0x3AAEAB01, 0x3AAED936, 0x3AAF0725, 0x3AAF34E1, 0x3AAF6259, 0x3AAF8F94, 0x3AAFBC93, 0x3AAFE956, 0x3AB015DD, 0x3AB04228, 0x3AB06E36, 0x3AB09A11, 0x3AB0C5B0, 0x3AB0F113, 0x3AB11C42, 0x3AB14735, 0x3AB171F5, 0x3AB19C81, 0x3AB1C6D9, 0x3AB1F0F6, 0x3AB21ADF, 0x3AB24494, 0x3AB26E16, 0x3AB29764, 0x3AB2C07F, 0x3AB2E96E, 0x3AB31222, 0x3AB33AAA, 0x3AB36300, 0x3AB38B2A, 0x3AB3B320, 0x3AB3DAE3, 0x3AB4027C, 0x3AB429E0, 0x3AB45122, 0x3AB47828, 0x3AB49F0C, 0x3AB4C5BC, 0x3AB4EC42, 0x3AB5129C, 0x3AB538CB, 0x3AB55ED0, 0x3AB584A9, 0x3AB5AA58, 0x3AB5CFDB, 0x3AB5F534, 0x3AB61A61, 0x3AB63F6D, 0x3AB66444, 0x3AB688FA, 0x3AB6AD8D, 0x3AB6D1EC, 0x3AB6F632, 0x3AB71A44, 0x3AB73E34, 0x3AB76201, 0x3AB785A4, 0x3AB7A924, 0x3AB7CC79, 0x3AB7EFB5, 0x3AB812BD, 0x3AB835AB, 0x3AB8586E, 0x3AB87B0F, 0x3AB89D96, 0x3AB8BFE9, 0x3AB8E223, 0x3AB9043A, 0x3AB9262F, 0x3AB947FA, 0x3AB969AA, 0x3AB98B38, 0x3AB9ACA3, 0x3AB9CDED, 0x3AB9EF13, 0x3ABA1020, 0x3ABA310B, 0x3ABA51CB, 0x3ABA727A, 0x3ABA92FD, 0x3ABAB367, 0x3ABAD3AF, 0x3ABAF3DC, 0x3ABB13E8, 0x3ABB33D1, 0x3ABB53A0, 0x3ABB7356, 0x3ABB92E9, 0x3ABBB259, 0x3ABBD1B0, 0x3ABBF0EE, 0x3ABC1009, 0x3ABC2F0A, 0x3ABC4DF1, 0x3ABC6CB6, 0x3ABC8B61, 0x3ABCA9F3, 0x3ABCC862, 0x3ABCE6C0, 0x3ABD04FB, 0x3ABD231D, 0x3ABD411C, 0x3ABD5F0A, 0x3ABD7CDF, 0x3ABD9A91, 0x3ABDB832, 0x3ABDD5B0, 0x3ABDF31E, 0x3ABE1069, 0x3ABE2D9A, 0x3ABE4ABA, 0x3ABE67B8, 0x3ABE84A4, 0x3ABEA177, 0x3ABEBE30, 0x3ABEDACF, 0x3ABEF755, 0x3ABF13C0, 0x3ABF301B, 0x3ABF4C53, 0x3ABF687A, 0x3ABF8490, 0x3ABFA083, 0x3ABFBC65, 0x3ABFD82E, 0x3ABFF3E5, 0x3AC00F7A, 0x3AC02B06, 0x3AC04670, 0x3AC061C9, 0x3AC07D08, 0x3AC09836, 0x3AC0B34A, 0x3AC0CE4D, 0x3AC0E936, 0x3AC1040E, 0x3AC11ECC, 0x3AC13971, 0x3AC1540D, 0x3AC16E86, 0x3AC188F7, 0x3AC1A34E, 0x3AC1BD8B, 0x3AC1D7B7, 0x3AC1F1D2, 0x3AC20BD4, 0x3AC225C4, 0x3AC23FA2, 0x3AC25968, 0x3AC2731B, 0x3AC28CBE, 0x3AC2A650, 0x3AC2BFC7, 0x3AC2D92E, 0x3AC2F27B, 0x3AC30BBF, 0x3AC324E9, 0x3AC33E03, 0x3AC3570B, 0x3AC37002, 0x3AC388E8, 0x3AC3A1B3, 0x3AC3BA77, 0x3AC3D320, 0x3AC3EBB9, 0x3AC40440, 0x3AC41CB6, 0x3AC4351B, 0x3AC44D66, 0x3AC465A9, 0x3AC47DDA, 0x3AC495F2, 0x3AC4AE01, 0x3AC4C5FE, 0x3AC4DDE2, 0x3AC4F5BE, 0x3AC50D88, 0x3AC52539, 0x3AC53CE1, 0x3AC55477, 0x3AC56BFD, 0x3AC58371, 0x3AC59AD4, 0x3AC5B226, 0x3AC5C970, 0x3AC5E09F, 0x3AC5F7C6, 0x3AC60ED4, 0x3AC625D8, 0x3AC63CCC, 0x3AC653B7, 0x3AC66A88, 0x3AC68151, 0x3AC697FF, 0x3AC6AEA6, 0x3AC6C543, 0x3AC6DBC7, 0x3AC6F242, 0x3AC708AC, 0x3AC71F05, 0x3AC7354D, 0x3AC74B8C, 0x3AC761BA, 0x3AC777D7, 0x3AC78DEB, 0x3AC7A3EE, 0x3AC7B9E0, 0x3AC7CFC9, 0x3AC7E5A1, 0x3AC7FB68, 0x3AC81126, 0x3AC826D3, 0x3AC83C6F, 0x3AC85203, 0x3AC86785, 0x3AC87CF6, 0x3AC8925E, 0x3AC8A7BE, 0x3AC8BD0C, 0x3AC8D24A, 0x3AC8E776, 0x3AC8FC9A, 0x3AC911B5, 0x3AC926BF, 0x3AC93BB7, 0x3AC950A8, 0x3AC9658F, 0x3AC97A65, 0x3AC98F2B, 0x3AC9A3E7, 0x3AC9B893, 0x3AC9CD35, 0x3AC9E1D0, 0x3AC9F659, 0x3ACA0AD1, 0x3ACA1F40, 0x3ACA33A7, 0x3ACA47FC, 0x3ACA5C49, 0x3ACA7085, 0x3ACA84B8, 0x3ACA98DA, 0x3ACAACF3, 0x3ACAC104, 0x3ACAD504, 0x3ACAE8FB, 0x3ACAFCE9, 0x3ACB10C6, 0x3ACB2492, 0x3ACB385E, 0x3ACB4C19, 0x3ACB5FC3, 0x3ACB736D, 0x3ACB8705, 0x3ACB9A8C, 0x3ACBAE14, 0x3ACBC18A, 0x3ACBD4F8, 0x3ACBE854, 0x3ACBFBA8, 0x3ACC0EF3, 0x3ACC222D, 0x3ACC3567, 0x3ACC4890, 0x3ACC5BA8, 0x3ACC6EBF, 0x3ACC81C6, 0x3ACC94C4, 0x3ACCA7B0, 0x3ACCBA9D, 0x3ACCCD79, 0x3ACCE04C, 0x3ACCF30D, 0x3ACD05CF, 0x3ACD1880, 0x3ACD2B28, 0x3ACD3DC7, 0x3ACD505E, 0x3ACD62E4, 0x3ACD7561, 0x3ACD87D5, 0x3ACD9A41, 0x3ACDACA4, 0x3ACDBEFF, 0x3ACDD148, 0x3ACDE389, 0x3ACDF5C2, 0x3ACE07F1, 0x3ACE1A19, 0x3ACE2C2F, 0x3ACE3E45, 0x3ACE5049, 0x3ACE6246, 0x3ACE7439, 0x3ACE8624, 0x3ACE9807, 0x3ACEA9E0, 0x3ACEBBB2, 0x3ACECD72, 0x3ACEDF32, 0x3ACEF0E1, 0x3ACF0287, 0x3ACF142D, 0x3ACF25C3, 0x3ACF374F, 0x3ACF48D3, 0x3ACF5A4E, 0x3ACF6BB9, 0x3ACF7D23, 0x3ACF8E84, 0x3ACF9FDD, 0x3ACFB125, 0x3ACFC26D, 0x3ACFD3A4, 0x3ACFE4DA, 0x3ACFF608, 0x3AD00725, 0x3AD01842, 0x3AD0294E, 0x3AD03A51, 0x3AD04B54, 0x3AD05C46, 0x3AD06D38, 0x3AD07E18, 0x3AD08EF9, 0x3AD09FC9, 0x3AD0B098, 0xBF800000, 0x00000000, 0x3967339A, 0x39B73C13, 0x39E73A1D, 0x3A063A58, 0x3A15701D, 0x3A224C6B, 0x3A2D707C, 0x3A374447, 0x3A400ED0, 0x3A4802BE, 0x3A4F4571, 0x3A55F356, 0x3A5C227B, 0x3A61E465, 0x3A67472C, 0x3A6C565C, 0x3A711B86, 0x3A759EAA, 0x3A79E68F, 0x3A7DF8FD, 0x3A80ED77, 0x3A82C859, 0x3A848F02, 0x3A864326, 0x3A87E624, 0x3A89795D, 0x3A8AFDE4, 0x3A8C74D4, 0x3A8DDF04, 0x3A8F3D5B, 0x3A90908F, 0x3A91D953, 0x3A93184B, 0x3A944E09, 0x3A957B05, 0x3A969FC8, 0x3A97BCB9, 0x3A98D241, 0x3A99E0C5, 0x3A9AE89C, 0x3A9BEA1B, 0x3A9CE587, 0x3A9DDB2E, 0x3A9ECB54, 0x3A9FB62D, 0x3AA09BFE, 0x3AA17CF0, 0x3AA2594B, 0x3AA3312E, 0x3AA404C6, 0x3AA4D446, 0x3AA59FD1, 0x3AA66791, 0x3AA72BA8, 0x3AA7EC32, 0x3AA8A957, 0x3AA96333, 0x3AAA19DE, 0x3AAACD7C, 0x3AAB7E1E, 0x3AAC2BE5, 0x3AACD6E3, 0x3AAD7F2A, 0x3AAE24DB, 0x3AAEC808, 0x3AAF68B9, 0x3AB00711, 0x3AB0A30F, 0x3AB13CD7, 0x3AB1D470, 0x3AB269E4, 0x3AB2FD54, 0x3AB38EB8, 0x3AB41E2A, 0x3AB4ABBB, 0x3AB5376B, 0x3AB5C154, 0x3AB6497E, 0x3AB6CFE9, 0x3AB754AF, 0x3AB7D7D1, 0x3AB8595E, 0x3AB8D958, 0x3AB957D9, 0x3AB9D4D6, 0x3ABA506B, 0x3ABACA8E, 0x3ABB4351, 0x3ABBBABD, 0x3ABC30D9, 0x3ABCA5A7, 0x3ABD192E, 0x3ABD8B80, 0x3ABDFC9D, 0x3ABE6C84, 0x3ABEDB48, 0x3ABF48E7, 0x3ABFB56B, 0x3AC020D3, 0x3AC08B31, 0x3AC0F47C, 0x3AC15CC6, 0x3AC1C405, 0x3AC22A4B, 0x3AC28FA1, 0x3AC2F3FD, 0x3AC35769, 0x3AC3B9ED, 0x3AC41B8A, 0x3AC47C46, 0x3AC4DC24, 0x3AC53B22, 0x3AC59952, 0x3AC5F6AB, 0x3AC65336, 0x3AC6AEF3, 0x3AC709EA, 0x3AC7641C, 0x3AC7BD91, 0x3AC81649, 0x3AC86E3B, 0x3AC8C581, 0x3AC91C0B, 0x3AC971E8, 0x3AC9C711, 0x3ACA1B98, 0x3ACA6F69, 0x3ACAC298, 0x3ACB1523, 0x3ACB670B, 0x3ACBB858, 0x3ACC0903, 0x3ACC5912, 0x3ACCA890, 0x3ACCF773, 0x3ACD45BB, 0x3ACD937A, 0x3ACDE0A7, 0x3ACE2D4A, 0x3ACE795B, 0x3ACEC4EC, 0x3ACF0FEA, 0x3ACF5A68, 0x3ACFA465, 0x3ACFEDE1, 0x3AD036D3, 0x3AD07F4E, 0x3AD0C747, 0x3AD10EC8, 0x3AD155D1, 0x3AD19C62, 0x3AD1E27A, 0x3AD2281A, 0x3AD26D4B, 0x3AD2B20B, 0x3AD2F65D, 0x3AD33A35, 0x3AD37DA7, 0x3AD3C0B2, 0x3AD4034D, 0x3AD44578, 0x3AD48745, 0x3AD4C8A2, 0x3AD509A1, 0x3AD54A39, 0x3AD58A69, 0x3AD5CA3B, 0x3AD609AF, 0x3AD648C4, 0x3AD68772, 0x3AD6C5CA, 0x3AD703C4, 0x3AD7415F, 0x3AD77EA4, 0x3AD7BB8B, 0x3AD7F81B, 0x3AD83456, 0x3AD8703B, 0x3AD8ABCB, 0x3AD8E704, 0x3AD921E7, 0x3AD95C7D, 0x3AD996BD, 0x3AD9D0B0, 0x3ADA0A4D, 0x3ADA43A5, 0x3ADA7CA8, 0x3ADAB55D, 0x3ADAEDC4, 0x3ADB25E7, 0x3ADB5DB4, 0x3ADB953D, 0x3ADBCC80, 0x3ADC0377, 0x3ADC3A28, 0x3ADC708C, 0x3ADCA6AC, 0x3ADCDC87, 0x3ADD121D, 0x3ADD476E, 0x3ADD7C7B, 0x3ADDB14C, 0x3ADDE5CF, 0x3ADE1A16, 0x3ADE4E21, 0x3ADE81E7, 0x3ADEB569, 0x3ADEE8AE, 0x3ADF1BB7, 0x3ADF4E85, 0x3ADF810D, 0x3ADFB359, 0x3ADFE572, 0x3AE01746, 0x3AE048E7, 0x3AE07A43, 0x3AE0AB6B, 0x3AE0DC57, 0x3AE10D0F, 0x3AE13D8C, 0x3AE16DCC, 0x3AE19DD9, 0x3AE1CDB2, 0x3AE1FD4F, 0x3AE22CB9, 0x3AE25BEF, 0x3AE28AE9, 0x3AE2B9AF, 0x3AE2E84B, 0x3AE316AA, 0x3AE344D6, 0x3AE372D7, 0x3AE3A09B, 0x3AE3CE35, 0x3AE3FB9B, 0x3AE428CE, 0x3AE455D5, 0x3AE482AA, 0x3AE4AF4A, 0x3AE4DBC0, 0x3AE50802, 0x3AE53419, 0x3AE56005, 0x3AE58BBE, 0x3AE5B74C, 0x3AE5E2A6, 0x3AE60DDE, 0x3AE638E2, 0x3AE663BC, 0x3AE68E6A, 0x3AE6B8ED, 0x3AE6E346, 0x3AE70D73, 0x3AE73776, 0x3AE7614E, 0x3AE78AFA, 0x3AE7B47C, 0x3AE7DDDB, 0x3AE80710, 0x3AE83019, 0x3AE858F8, 0x3AE881B4, 0x3AE8AA45, 0x3AE8D2B4, 0x3AE8FAF8, 0x3AE9231A, 0x3AE94B10, 0x3AE972E5, 0x3AE99A8E, 0x3AE9C215, 0x3AE9E971, 0x3AEA10B3, 0x3AEA37CA, 0x3AEA5EBF, 0x3AEA8589, 0x3AEAAC39, 0x3AEAD2BF, 0x3AEAF922, 0x3AEB1F62, 0x3AEB4580, 0x3AEB6B7C, 0x3AEB9155, 0x3AEBB70D, 0x3AEBDCA1, 0x3AEC0214, 0x3AEC2764, 0x3AEC4C91, 0x3AEC71A5, 0x3AEC968E, 0x3AECBB5D, 0x3AECE00A, 0x3AED049D, 0x3AED2905, 0x3AED4D53, 0x3AED7188, 0x3AED9592, 0x3AEDB981, 0x3AEDDD57, 0x3AEE010B, 0x3AEE249C, 0x3AEE4814, 0x3AEE6B69, 0x3AEE8EA5, 0x3AEEB1C6, 0x3AEED4C6, 0x3AEEF7A3, 0x3AEF1A6E, 0x3AEF3D18, 0x3AEF5F9F, 0x3AEF820C, 0x3AEFA460, 0x3AEFC699, 0x3AEFE8B1, 0x3AF00AB7, 0x3AF02C9B, 0x3AF04E5C, 0x3AF0700C, 0x3AF0919A, 0x3AF0B317, 0x3AF0D472, 0x3AF0F5B2, 0x3AF116D9, 0x3AF137E6, 0x3AF158D9, 0x3AF179B3, 0x3AF19A73, 0x3AF1BB19, 0x3AF1DBA5, 0x3AF1FC17, 0x3AF21C70, 0x3AF23CB8, 0x3AF25CDD, 0x3AF27CE8, 0x3AF29CE2, 0x3AF2BCC3, 0x3AF2DC8A, 0x3AF2FC36, 0x3AF31BCA, 0x3AF33B4C, 0x3AF35AB4, 0x3AF37A02, 0x3AF39937, 0x3AF3B85A, 0x3AF3D764, 0x3AF3F654, 0x3AF41533, 0x3AF433F8, 0x3AF452A3, 0x3AF4713D, 0x3AF48FBD, 0x3AF4AE2C, 0x3AF4CC81, 0x3AF4EABD, 0x3AF508E7, 0x3AF52700, 0x3AF544F7, 0x3AF562E5, 0x3AF580BA, 0x3AF59E75, 0x3AF5BC1E, 0x3AF5D9B6, 0x3AF5F735, 0x3AF6149A, 0x3AF631F6, 0x3AF64F30, 0x3AF66C61, 0x3AF68978, 0x3AF6A67F, 0x3AF6C36B, 0x3AF6E047, 0x3AF6FD11, 0x3AF719CA, 0x3AF73669, 0x3AF752F7, 0x3AF76F6B, 0x3AF78BD7, 0x3AF7A829, 0x3AF7C46A, 0x3AF7E091, 0x3AF7FCAF, 0x3AF818B4, 0x3AF834A7, 0x3AF85089, 0x3AF86C5A, 0x3AF8881A, 0x3AF8A3C0, 0x3AF8BF5E, 0x3AF8DAE1, 0x3AF8F654, 0x3AF911B5, 0x3AF92D06, 0x3AF94845, 0x3AF96373, 0x3AF97E8F, 0x3AF99992, 0x3AF9B48C, 0x3AF9CF76, 0x3AF9EA45, 0x3AFA050C, 0x3AFA1FC1, 0x3AFA3A5D, 0x3AFA54F0, 0x3AFA6F72, 0x3AFA89E3, 0x3AFAA443, 0x3AFABE91, 0x3AFAD8CF, 0x3AFAF2FB, 0x3AFB0D16, 0x3AFB2720, 0x3AFB4121, 0x3AFB5B08, 0x3AFB74E7, 0x3AFB8EB5, 0x3AFBA871, 0x3AFBC21D, 0x3AFBDBB7, 0x3AFBF548, 0x3AFC0EC0, 0x3AFC282F, 0x3AFC418D, 0x3AFC5ADA, 0x3AFC741E, 0x3AFC8D51, 0x3AFCA673, 0x3AFCBF84, 0x3AFCD883, 0x3AFCF17A, 0x3AFD0A60, 0x3AFD2334, 0x3AFD3C00, 0x3AFD54BB, 0x3AFD6D65, 0x3AFD85FD, 0x3AFD9E8D, 0x3AFDB70C, 0x3AFDCF79, 0x3AFDE7DE, 0x3AFE0032, 0x3AFE187D, 0x3AFE30B7, 0x3AFE48E0, 0x3AFE60F7, 0x3AFE7906, 0x3AFE910C, 0x3AFEA8F9, 0x3AFEC0E6, 0x3AFED8B9, 0x3AFEF083, 0x3AFF083C, 0x3AFF1FEC, 0x3AFF3794, 0x3AFF4F22, 0x3AFF66A8, 0x3AFF7E25, 0x3AFF9591, 0x3AFFACF4, 0x3AFFC446, 0x3AFFDB87, 0x3AFFF2BF, 0x3B0004F7, 0x3B001087, 0x3B001C11, 0x3B002794, 0x3B00330E, 0x3B003E83, 0x3B0049F4, 0x3B00555D, 0x3B0060C1, 0x3B006C21, 0x3B007774, 0x3B0082C7, 0x3B008E12, 0x3B009958, 0x3B00A496, 0x3B00AFCF, 0x3B00BB00, 0x3B00C62C, 0x3B00D154, 0x3B00DC74, 0x3B00E78F, 0x3B00F2A2, 0x3B00FDB0, 0x3B0108BA, 0x3B0113C0, 0x3B011EBD, 0x3B0129B2, 0x3B0134A7, 0x3B013F93, 0x3B014A7A, 0x3B015559, 0x3B016034, 0x3B016B0B, 0x3B0175D9, 0x3B0180A7, 0x3B018B68, 0x3B019629, 0x3B01A0E1, 0x3B01AB96, 0x3B01B645, 0x3B01C0F1, 0x3B01CB94, 0x3B01D633, 0x3B01E0CD, 0x3B01EB5F, 0x3B01F5ED, 0x3B020076, 0x3B020AFB, 0x3B021577, 0x3B021FF3, 0xBF800000, 0x00000000, 0x3B8E43B4, 0x3BE1C520, 0x3C0E92C4, 0x3C25A35D, 0x3C3881DC, 0x3C487A58, 0x3C565313, 0x3C628C3C, 0x3C6D7D51, 0x3C7764C6, 0x3C803864, 0x3C84623A, 0x3C883D81, 0x3C8BD50B, 0x3C8F3191, 0x3C925A3B, 0x3C9554F1, 0x3C9826A8, 0x3C9AD391, 0x3C9D5F41, 0x3C9FCCCF, 0x3CA21EE4, 0x3CA457D9, 0x3CA679B2, 0x3CA8864C, 0x3CAA7F30, 0x3CAC65DA, 0x3CAE3B87, 0x3CB00160, 0x3CB1B86F, 0x3CB361A7, 0x3CB4FDD9, 0x3CB68DD1, 0x3CB81245, 0x3CB98BD8, 0x3CBAFB23, 0x3CBC60AE, 0x3CBDBCFF, 0x3CBF1091, 0x3CC05BCB, 0x3CC19F17, 0x3CC2DAD1, 0x3CC40F54, 0x3CC53CF6, 0x3CC663FD, 0x3CC784B9, 0x3CC89F6C, 0x3CC9B454, 0x3CCAC3A8, 0x3CCBCDA9, 0x3CCCD286, 0x3CCDD271, 0x3CCECD9E, 0x3CCFC433, 0x3CD0B661, 0x3CD1A44D, 0x3CD28E1D, 0x3CD373F0, 0x3CD455EE, 0x3CD53435, 0x3CD60EE5, 0x3CD6E61B, 0x3CD7B9F0, 0x3CD88A86, 0x3CD957F0, 0x3CDA224B, 0x3CDAE9A6, 0x3CDBAE1C, 0x3CDC6FC8, 0x3CDD2EB5, 0x3CDDEAFD, 0x3CDEA4B1, 0x3CDF5BE0, 0x3CE0109C, 0x3CE0C2F9, 0x3CE17307, 0x3CE220D2, 0x3CE2CC68, 0x3CE375DC, 0x3CE41D36, 0x3CE4C282, 0x3CE565D6, 0x3CE60736, 0x3CE6A6AD, 0x3CE74452, 0x3CE7E01E, 0x3CE87A2D, 0x3CE9127E, 0x3CE9A91C, 0x3CEA3E12, 0x3CEAD16A, 0x3CEB6330, 0x3CEBF369, 0x3CEC821F, 0x3CED0F52, 0x3CED9B19, 0x3CEE256D, 0x3CEEAE5E, 0x3CEF35F3, 0x3CEFBC2B, 0x3CF0411B, 0x3CF0C4B9, 0x3CF1471A, 0x3CF1C83A, 0x3CF24821, 0x3CF2C6D7, 0x3CF34466, 0x3CF3C0C7, 0x3CF43C0D, 0x3CF4B635, 0x3CF52F47, 0x3CF5A747, 0x3CF61E3A, 0x3CF69426, 0x3CF7090B, 0x3CF77CF4, 0x3CF7EFE1, 0x3CF861D6, 0x3CF8D2DA, 0x3CF942ED, 0x3CF9B218, 0x3CFA205D, 0x3CFA8DBB, 0x3CFAFA3C, 0x3CFB65E2, 0x3CFBD0AB, 0x3CFC3AA4, 0x3CFCA3CA, 0x3CFD0C20, 0x3CFD73A9, 0x3CFDDA6C, 0x3CFE406D, 0x3CFEA5A8, 0x3CFF0A21, 0x3CFF6DE4, 0x3CFFD0E6, 0x3D00199B, 0x3D004A68, 0x3D007ADA, 0x3D00AAF6, 0x3D00DABC, 0x3D010A2C, 0x3D013948, 0x3D016812, 0x3D019688, 0x3D01C4AE, 0x3D01F286, 0x3D022010, 0x3D024D4A, 0x3D027A39, 0x3D02A6DC, 0x3D02D334, 0x3D02FF44, 0x3D032B0B, 0x3D035689, 0x3D0381C2, 0x3D03ACB3, 0x3D03D760, 0x3D0401CA, 0x3D042BF1, 0x3D0455D5, 0x3D047F76, 0x3D04A8D9, 0x3D04D1FA, 0x3D04FADC, 0x3D052380, 0x3D054BE7, 0x3D057410, 0x3D059BFC, 0x3D05C3AC, 0x3D05EB24, 0x3D061261, 0x3D063962, 0x3D06602C, 0x3D0686BD, 0x3D06AD18, 0x3D06D33B, 0x3D06F926, 0x3D071EDE, 0x3D074460, 0x3D0769AC, 0x3D078EC5, 0x3D07B3AB, 0x3D07D85E, 0x3D07FCDF, 0x3D08212C, 0x3D08454C, 0x3D086938, 0x3D088CF4, 0x3D08B080, 0x3D08D3DF, 0x3D08F70D, 0x3D091A0D, 0x3D093CE0, 0x3D095F85, 0x3D0981FC, 0x3D09A449, 0x3D09C66B, 0x3D09E85E, 0x3D0A0A27, 0x3D0A2BC8, 0x3D0A4D3B, 0x3D0A6E86, 0x3D0A8FA9, 0x3D0AB0A0, 0x3D0AD170, 0x3D0AF217, 0x3D0B1298, 0x3D0B32EF, 0x3D0B5320, 0x3D0B732B, 0x3D0B930E, 0x3D0BB2CE, 0x3D0BD266, 0x3D0BF1D9, 0x3D0C1128, 0x3D0C3052, 0x3D0C4F56, 0x3D0C6E38, 0x3D0C8CF6, 0x3D0CAB8F, 0x3D0CCA08, 0x3D0CE85B, 0x3D0D068E, 0x3D0D249E, 0x3D0D428E, 0x3D0D605B, 0x3D0D7E05, 0x3D0D9B92, 0x3D0DB8FB, 0x3D0DD645, 0x3D0DF370, 0x3D0E1079, 0x3D0E2D65, 0x3D0E4A30, 0x3D0E66DB, 0x3D0E8369, 0x3D0E9FD9, 0x3D0EBC2B, 0x3D0ED85D, 0x3D0EF472, 0x3D0F106C, 0x3D0F2C46, 0x3D0F4804, 0x3D0F63A6, 0x3D0F7F29, 0x3D0F9A92, 0x3D0FB5DE, 0x3D0FD10E, 0x3D0FEC24, 0x3D10071C, 0x3D1021F9, 0x3D103CBE, 0x3D105766, 0x3D1071F3, 0x3D108C68, 0x3D10A6C1, 0x3D10C100, 0x3D10DB27, 0x3D10F533, 0x3D110F24, 0x3D112900, 0x3D1142C0, 0x3D115C69, 0x3D1175F7, 0x3D118F6F, 0x3D11A8CD, 0x3D11C215, 0x3D11DB42, 0x3D11F459, 0x3D120D59, 0x3D122643, 0x3D123F15, 0x3D1257CE, 0x3D127070, 0x3D1288FF, 0x3D12A175, 0x3D12B9D4, 0x3D12D21D, 0x3D12EA50, 0x3D13026E, 0x3D131A77, 0x3D13326A, 0x3D134A47, 0x3D136210, 0x3D1379C2, 0x3D13915F, 0x3D13A8E7, 0x3D13C05C, 0x3D13D7BB, 0x3D13EF08, 0x3D14063F, 0x3D141D61, 0x3D143470, 0x3D144B6C, 0x3D146253, 0x3D147926, 0x3D148FE7, 0x3D14A693, 0x3D14BD2E, 0x3D14D3B4, 0x3D14EA28, 0x3D150088, 0x3D1516D6, 0x3D152D13, 0x3D15433B, 0x3D155953, 0x3D156F58, 0x3D15854B, 0x3D159B2A, 0x3D15B0FA, 0x3D15C6B6, 0x3D15DC60, 0x3D15F1FA, 0x3D160784, 0x3D161CFB, 0x3D163261, 0x3D1647B5, 0x3D165CF9, 0x3D16722D, 0x3D16874E, 0x3D169C5F, 0x3D16B160, 0x3D16C650, 0x3D16DB31, 0x3D16F001, 0x3D1704C2, 0x3D17196F, 0x3D172E0F, 0x3D17429F, 0x3D17571F, 0x3D176B8F, 0x3D177FF1, 0x3D179441, 0x3D17A883, 0x3D17BCB5, 0x3D17D0DA, 0x3D17E4EE, 0x3D17F8F3, 0x3D180CE7, 0x3D1820D1, 0x3D1834A7, 0x3D184871, 0x3D185C2D, 0x3D186FD9, 0x3D188377, 0x3D189708, 0x3D18AA89, 0x3D18BDFC, 0x3D18D163, 0x3D18E4B8, 0x3D18F801, 0x3D190B3C, 0x3D191E6A, 0x3D19318A, 0x3D19449D, 0x3D1957A2, 0x3D196A98, 0x3D197D82, 0x3D19905F, 0x3D19A32C, 0x3D19B5EF, 0x3D19C8A4, 0x3D19DB4B, 0x3D19EDE5, 0x3D1A0074, 0x3D1A12F4, 0x3D1A2568, 0x3D1A37CF, 0x3D1A4A2B, 0x3D1A5C7A, 0x3D1A6EBC, 0x3D1A80F0, 0x3D1A9319, 0x3D1AA535, 0x3D1AB746, 0x3D1AC94A, 0x3D1ADB43, 0x3D1AED2E, 0x3D1AFF0F, 0x3D1B10E3, 0x3D1B22AB, 0x3D1B3467, 0x3D1B461A, 0x3D1B57BD, 0x3D1B6958, 0x3D1B7AE5, 0x3D1B8C68, 0x3D1B9DDE, 0x3D1BAF4B, 0x3D1BC0AB, 0x3D1BD200, 0x3D1BE348, 0x3D1BF488, 0x3D1C05BA, 0x3D1C16E5, 0x3D1C2801, 0x3D1C3914, 0x3D1C4A1B, 0x3D1C5B18, 0x3D1C6C0C, 0x3D1C7CF3, 0x3D1C8DD0, 0x3D1C9EA2, 0x3D1CAF69, 0x3D1CC027, 0x3D1CD0D9, 0x3D1CE182, 0x3D1CF21E, 0x3D1D02B2, 0x3D1D133C, 0x3D1D23BD, 0x3D1D3431, 0x3D1D449C, 0x3D1D54FD, 0x3D1D6553, 0x3D1D75A2, 0x3D1D85E2, 0x3D1D961E, 0x3D1DA64C, 0x3D1DB672, 0x3D1DC68D, 0x3D1DD6A0, 0x3D1DE6A8, 0x3D1DF6A6, 0x3D1E069B, 0x3D1E1689, 0x3D1E266C, 0x3D1E3644, 0x3D1E4614, 0x3D1E55D9, 0x3D1E6596, 0x3D1E754C, 0x3D1E84F6, 0x3D1E9498, 0x3D1EA430, 0x3D1EB3C0, 0x3D1EC344, 0x3D1ED2C4, 0x3D1EE236, 0x3D1EF1A3, 0x3D1F0105, 0x3D1F105E, 0x3D1F1FB0, 0x3D1F2EF7, 0x3D1F3E39, 0x3D1F4D6D, 0x3D1F5C9C, 0x3D1F6BC3, 0x3D1F7ADF, 0x3D1F89F4, 0x3D1F9900, 0x3D1FA804, 0x3D1FB700, 0x3D1FC5F3, 0x3D1FD4DD, 0x3D1FE3C0, 0x3D1FF299, 0x3D20016A, 0x3D201033, 0x3D201EF7, 0x3D202DB0, 0x3D203C61, 0x3D204B09, 0x3D2059AA, 0x3D206845, 0x3D2076D6, 0x3D20855E, 0x3D2093E1, 0x3D20A25A, 0x3D20B0CD, 0x3D20BF35, 0x3D20CD98, 0x3D20DBF3, 0x3D20EA46, 0x3D20F891, 0x3D2106D3, 0x3D211511, 0x3D212346, 0x3D213173, 0x3D213F98, 0x3D214DB6, 0x3D215BCD, 0x3D2169DA, 0x3D2177E5, 0x3D2185E4, 0x3D2193DF, 0x3D21A1CE, 0x3D21AFBB, 0x3D21BD9D, 0x3D21CB7A, 0x3D21D94E, 0x3D21E71E, 0x3D21F4E5, 0x3D2202A4, 0x3D22105B, 0x3D221E0D, 0x3D222BB9, 0x3D22395E, 0x3D2246FA, 0x3D22548E, 0x3D226220, 0x3D226FA7, 0x3D227D28, 0x3D228AA2, 0x3D229816, 0x3D22A584, 0x3D22B2EB, 0x3D22C049, 0x3D22CDA3, 0xBF800000, 0x00000000, 0x3BB1ED50, 0x3C0D3A42, 0x3C3268FE, 0x3C4F4F08, 0x3C66F537, 0x3C7AFABD, 0x3C862BCE, 0x3C8DD617, 0x3C94B2EA, 0x3C9AE96B, 0x3CA09678, 0x3CA5D003, 0x3CAAA723, 0x3CAF295E, 0x3CB361A7, 0x3CB758E7, 0x3CBB1692, 0x3CBEA0D5, 0x3CC1FCF0, 0x3CC52F6A, 0x3CC83C14, 0x3CCB264F, 0x3CCDF104, 0x3CD09EC4, 0x3CD331D6, 0x3CD5AC34, 0x3CD80FAC, 0x3CDA5DDA, 0x3CDC982C, 0x3CDEBFF4, 0x3CE0D654, 0x3CE2DC63, 0x3CE4D319, 0x3CE6BB5B, 0x3CE895F6, 0x3CEA63A6, 0x3CEC2522, 0x3CEDDB0A, 0x3CEF85EF, 0x3CF1265E, 0x3CF2BCD6, 0x3CF449D4, 0x3CF5CDBD, 0x3CF74907, 0x3CF8BC09, 0x3CFA271E, 0x3CFB8AA0, 0x3CFCE6D6, 0x3CFE3C16, 0x3CFF8A9F, 0x3D00695C, 0x3D010A4F, 0x3D01A846, 0x3D02435C, 0x3D02DBAA, 0x3D03714F, 0x3D04045C, 0x3D0494ED, 0x3D052312, 0x3D05AEE4, 0x3D063874, 0x3D06BFD5, 0x3D074519, 0x3D07C84E, 0x3D084988, 0x3D08C8D4, 0x3D094642, 0x3D09C1DE, 0x3D0A3BB6, 0x3D0AB3D6, 0x3D0B2A4E, 0x3D0B9F23, 0x3D0C1268, 0x3D0C8422, 0x3D0CF45D, 0x3D0D6322, 0x3D0DD080, 0x3D0E3C79, 0x3D0EA71A, 0x3D0F106C, 0x3D0F7873, 0x3D0FDF3B, 0x3D1044C9, 0x3D10A928, 0x3D110C5D, 0x3D116E6D, 0x3D11CF60, 0x3D122F3F, 0x3D128E0D, 0x3D12EBD0, 0x3D13488F, 0x3D13A44F, 0x3D13FF16, 0x3D1458E8, 0x3D14B1CE, 0x3D1509C8, 0x3D1560DD, 0x3D15B711, 0x3D160C69, 0x3D1660EA, 0x3D16B498, 0x3D170773, 0x3D175986, 0x3D17AAD2, 0x3D17FB59, 0x3D184B20, 0x3D189A2B, 0x3D18E87C, 0x3D193617, 0x3D198301, 0x3D19CF3C, 0x3D1A1AC9, 0x3D1A65AF, 0x3D1AAFEF, 0x3D1AF989, 0x3D1B4284, 0x3D1B8AE3, 0x3D1BD2A4, 0x3D1C19CF, 0x3D1C6061, 0x3D1CA661, 0x3D1CEBD1, 0x3D1D30B0, 0x3D1D7506, 0x3D1DB8CE, 0x3D1DFC0F, 0x3D1E3ECA, 0x3D1E8102, 0x3D1EC2B9, 0x3D1F03EC, 0x3D1F44A4, 0x3D1F84E0, 0x3D1FC4A1, 0x3D2003EC, 0x3D2042BE, 0x3D20811A, 0x3D20BF05, 0x3D20FC7D, 0x3D213986, 0x3D21761F, 0x3D21B24D, 0x3D21EE11, 0x3D222968, 0x3D226459, 0x3D229EE1, 0x3D22D906, 0x3D2312C4, 0x3D234C23, 0x3D23851D, 0x3D23BDBA, 0x3D23F5F6, 0x3D242DD5, 0x3D246558, 0x3D249C7D, 0x3D24D34C, 0x3D2509C0, 0x3D253FDB, 0x3D2575A0, 0x3D25AB10, 0x3D25E02C, 0x3D2614F2, 0x3D264968, 0x3D267D8B, 0x3D26B160, 0x3D26E4E4, 0x3D271817, 0x3D274B00, 0x3D277D9B, 0x3D27AFE8, 0x3D27E1EC, 0x3D2813A5, 0x3D284516, 0x3D28763E, 0x3D28A721, 0x3D28D7BB, 0x3D29080F, 0x3D29381D, 0x3D2967E6, 0x3D29976E, 0x3D29C6B3, 0x3D29F5B2, 0x3D2A2474, 0x3D2A52F2, 0x3D2A8133, 0x3D2AAF33, 0x3D2ADCF6, 0x3D2B0A78, 0x3D2B37BF, 0x3D2B64C8, 0x3D2B9196, 0x3D2BBE2A, 0x3D2BEA7F, 0x3D2C169C, 0x3D2C4281, 0x3D2C6E2B, 0x3D2C999C, 0x3D2CC4D7, 0x3D2CEFDB, 0x3D2D1AA5, 0x3D2D453D, 0x3D2D6F9D, 0x3D2D99C7, 0x3D2DC3BD, 0x3D2DED81, 0x3D2E170F, 0x3D2E406A, 0x3D2E6992, 0x3D2E928A, 0x3D2EBB4F, 0x3D2EE3E3, 0x3D2F0C48, 0x3D2F3479, 0x3D2F5C7C, 0x3D2F844F, 0x3D2FABF5, 0x3D2FD36A, 0x3D2FFAB4, 0x3D3021CE, 0x3D3048BB, 0x3D306F7C, 0x3D309610, 0x3D30BC79, 0x3D30E2B4, 0x3D3108C4, 0x3D312EAC, 0x3D315466, 0x3D3179F8, 0x3D319F5F, 0x3D31C49E, 0x3D31E9B2, 0x3D320EA0, 0x3D323364, 0x3D325801, 0x3D327C74, 0x3D32A0C2, 0x3D32C4E9, 0x3D32E8E9, 0x3D330CC2, 0x3D333074, 0x3D335403, 0x3D33776C, 0x3D339AAF, 0x3D33BDCD, 0x3D33E0C5, 0x3D34039B, 0x3D34264D, 0x3D3448DD, 0x3D346B47, 0x3D348D8E, 0x3D34AFB2, 0x3D34D1B6, 0x3D34F398, 0x3D351556, 0x3D3536F1, 0x3D35586C, 0x3D3579C7, 0x3D359AFF, 0x3D35BC1A, 0x3D35DD11, 0x3D35FDE9, 0x3D361EA3, 0x3D363F3A, 0x3D365FB3, 0x3D36800C, 0x3D36A048, 0x3D36C064, 0x3D36E061, 0x3D370042, 0x3D372002, 0x3D373FA8, 0x3D375F2D, 0x3D377E94, 0x3D379DE1, 0x3D37BD0E, 0x3D37DC1F, 0x3D37FB16, 0x3D3819F0, 0x3D3838AC, 0x3D38574D, 0x3D3875D3, 0x3D38943B, 0x3D38B289, 0x3D38D0BC, 0x3D38EED4, 0x3D390CD1, 0x3D392AB4, 0x3D39487B, 0x3D39662B, 0x3D3983BF, 0x3D39A139, 0x3D39BE9B, 0x3D39DBE1, 0x3D39F90D, 0x3D3A1624, 0x3D3A331F, 0x3D3A5000, 0x3D3A6CCB, 0x3D3A897C, 0x3D3AA616, 0x3D3AC297, 0x3D3ADEFE, 0x3D3AFB51, 0x3D3B178B, 0x3D3B33AB, 0x3D3B4FB7, 0x3D3B6BA9, 0x3D3B8785, 0x3D3BA34C, 0x3D3BBEF8, 0x3D3BDA92, 0x3D3BF613, 0x3D3C117E, 0x3D3C2CD2, 0x3D3C4810, 0x3D3C633B, 0x3D3C7E4E, 0x3D3C9949, 0x3D3CB431, 0x3D3CCF03, 0x3D3CE9C0, 0x3D3D0468, 0x3D3D1EFD, 0x3D3D3979, 0x3D3D53E3, 0x3D3D6E38, 0x3D3D8879, 0x3D3DA2A3, 0x3D3DBCBC, 0x3D3DD6C0, 0x3D3DF0AE, 0x3D3E0A8A, 0x3D3E2453, 0x3D3E3E06, 0x3D3E57A7, 0x3D3E7135, 0x3D3E8AB0, 0x3D3EA415, 0x3D3EBD6B, 0x3D3ED6AA, 0x3D3EEFDA, 0x3D3F08F5, 0x3D3F21FC, 0x3D3F3AF4, 0x3D3F53D8, 0x3D3F6CA7, 0x3D3F8569, 0x3D3F9E15, 0x3D3FB6B2, 0x3D3FCF38, 0x3D3FE7B2, 0x3D400018, 0x3D40186C, 0x3D4030AF, 0x3D4048E0, 0x3D406101, 0x3D40790F, 0x3D40910D, 0x3D40A8FA, 0x3D40C0D5, 0x3D40D8A0, 0x3D40F05B, 0x3D410805, 0x3D411F9D, 0x3D413728, 0x3D414E9F, 0x3D416609, 0x3D417D61, 0x3D4194A8, 0x3D41ABDF, 0x3D41C309, 0x3D41DA20, 0x3D41F129, 0x3D420823, 0x3D421F09, 0x3D4235E5, 0x3D424CAE, 0x3D42636A, 0x3D427A16, 0x3D4290B1, 0x3D42A73F, 0x3D42BDBD, 0x3D42D42E, 0x3D42EA8E, 0x3D4300E1, 0x3D431724, 0x3D432D57, 0x3D43437C, 0x3D435994, 0x3D436F9E, 0x3D438599, 0x3D439B86, 0x3D43B163, 0x3D43C732, 0x3D43DCF4, 0x3D43F2A9, 0x3D440850, 0x3D441DE7, 0x3D443373, 0x3D4448F0, 0x3D445E5F, 0x3D4473C0, 0x3D448917, 0x3D449E5D, 0x3D44B396, 0x3D44C8C2, 0x3D44DDE0, 0x3D44F2F4, 0x3D4507F7, 0x3D451CF0, 0x3D4531D9, 0x3D4546B6, 0x3D455B8A, 0x3D45704D, 0x3D458505, 0x3D4599B0, 0x3D45AE4D, 0x3D45C2DD, 0x3D45D762, 0x3D45EBDD, 0x3D460047, 0x3D4614A7, 0x3D4628FC, 0x3D463D44, 0x3D465180, 0x3D4665B0, 0x3D4679D2, 0x3D468DE9, 0x3D46A1F6, 0x3D46B5F5, 0x3D46C9E9, 0x3D46DDD0, 0x3D46F1AC, 0x3D47057D, 0x3D471941, 0x3D472CFD, 0x3D4740A9, 0x3D47544D, 0x3D4767E3, 0x3D477B6F, 0x3D478EF0, 0x3D47A266, 0x3D47B5D2, 0x3D47C930, 0x3D47DC85, 0x3D47EFCE, 0x3D48030C, 0x3D48163F, 0x3D482967, 0x3D483C85, 0x3D484F98, 0x3D4862A0, 0x3D48759D, 0x3D488890, 0x3D489B78, 0x3D48AE55, 0x3D48C12A, 0x3D48D3F2, 0x3D48E6AE, 0x3D48F963, 0x3D490C0D, 0x3D491EAD, 0x3D493142, 0x3D4943CC, 0x3D49564D, 0x3D4968C5, 0x3D497B31, 0x3D498D93, 0x3D499FEC, 0x3D49B23B, 0x3D49C47F, 0x3D49D6B9, 0x3D49E8EA, 0x3D49FB13, 0x3D4A0D2F, 0x3D4A1F43, 0x3D4A314F, 0x3D4A4350, 0x3D4A5546, 0x3D4A6734, 0x3D4A7918, 0x3D4A8AF3, 0x3D4A9CC4, 0x3D4AAE8D, 0x3D4AC04B, 0x3D4AD201, 0x3D4AE3AE, 0x3D4AF54F, 0x3D4B06EA, 0x3D4B187A, 0x3D4B2A02, 0x3D4B3B80, 0x3D4B4CF5, 0x3D4B5E63, 0x3D4B6FC5, 0x3D4B8120, 0x3D4B9273, 0x3D4BA3BA, 0x3D4BB4FD, 0x3D4BC632, 0x3D4BD761, 0x3D4BE886, 0x3D4BF9A6, 0x3D4C0AB8, 0x3D4C1BC5, 0x3D4C2CCA, 0x3D4C3DC4, 0x3D4C4EB5, 0x3D4C5F9F, 0x3D4C7081, 0x3D4C815B, 0xBF800000, 0x00000000, 0x3BED734F, 0x3C3C92CE, 0x3C6E4F89, 0x3C8A7F15, 0x3C9A5526, 0x3CA7BED1, 0x3CB361A7, 0x3CBDA89D, 0x3CC6DCD4, 0x3CCF3283, 0x3CD6D046, 0x3CDDD36A, 0x3CE452D0, 0x3CEA608C, 0x3CF00B40, 0x3CF55ED7, 0x3CFA6547, 0x3CFF26D7, 0x3D01D548, 0x3D03FB3D, 0x3D0607DA, 0x3D07FD65, 0x3D09DDCD, 0x3D0BAAC9, 0x3D0D65E2, 0x3D0F106C, 0x3D10AB99, 0x3D123882, 0x3D13B816, 0x3D152B38, 0x3D1692AE, 0x3D17EF35, 0x3D19416D, 0x3D1A89F2, 0x3D1BC94C, 0x3D1D0001, 0x3D1E2E7F, 0x3D1F5538, 0x3D20748D, 0x3D218CDB, 0x3D229E7B, 0x3D23A9BB, 0x3D24AEE9, 0x3D25AE45, 0x3D26A813, 0x3D279C92, 0x3D288BF5, 0x3D297679, 0x3D2A5C4A, 0x3D2B3D9B, 0x3D2C1A98, 0x3D2CF36B, 0x3D2DC83A, 0x3D2E992D, 0x3D2F6665, 0x3D303004, 0x3D30F62A, 0x3D31B8F8, 0x3D327888, 0x3D3334F6, 0x3D33EE5A, 0x3D34A4D0, 0x3D35586C, 0x3D360949, 0x3D36B77A, 0x3D376311, 0x3D380C26, 0x3D38B2C7, 0x3D39570C, 0x3D39F900, 0x3D3A98B8, 0x3D3B363F, 0x3D3BD1AB, 0x3D3C6B03, 0x3D3D025A, 0x3D3D97BB, 0x3D3E2B34, 0x3D3EBCD2, 0x3D3F4C9F, 0x3D3FDAA6, 0x3D4066F6, 0x3D40F195, 0x3D417A91, 0x3D4201F3, 0x3D4287C2, 0x3D430C09, 0x3D438ED3, 0x3D441025, 0x3D449008, 0x3D450E88, 0x3D458BA8, 0x3D460771, 0x3D4681EA, 0x3D46FB1C, 0x3D47730C, 0x3D47E9C1, 0x3D485F42, 0x3D48D394, 0x3D4946BE, 0x3D49B8C6, 0x3D4A29B2, 0x3D4A9984, 0x3D4B0847, 0x3D4B75FD, 0x3D4BE2AD, 0x3D4C4E57, 0x3D4CB906, 0x3D4D22BB, 0x3D4D8B7C, 0x3D4DF34B, 0x3D4E5A30, 0x3D4EC02D, 0x3D4F2544, 0x3D4F8980, 0x3D4FECDD, 0x3D504F61, 0x3D50B113, 0x3D5111F3, 0x3D517206, 0x3D51D14E, 0x3D522FD0, 0x3D528D8E, 0x3D52EA8E, 0x3D5346CF, 0x3D53A257, 0x3D53FD25, 0x3D545740, 0x3D54B0A9, 0x3D550964, 0x3D556174, 0x3D55B8D7, 0x3D560F94, 0x3D5665AD, 0x3D56BB25, 0x3D570FFA, 0x3D576435, 0x3D57B7D2, 0x3D580AD9, 0x3D585D47, 0x3D58AF21, 0x3D590067, 0x3D59511F, 0x3D59A147, 0x3D59F0E2, 0x3D5A3FF5, 0x3D5A8E7C, 0x3D5ADC80, 0x3D5B29FA, 0x3D5B76F4, 0x3D5BC36D, 0x3D5C0F63, 0x3D5C5ADD, 0x3D5CA5DB, 0x3D5CF05B, 0x3D5D3A66, 0x3D5D83F7, 0x3D5DCD10, 0x3D5E15B5, 0x3D5E5DE9, 0x3D5EA5A8, 0x3D5EECF8, 0x3D5F33DA, 0x3D5F7A4C, 0x3D5FC052, 0x3D6005ED, 0x3D604B1F, 0x3D608FE5, 0x3D60D449, 0x3D611843, 0x3D615BD8, 0x3D619F09, 0x3D61E1DA, 0x3D622448, 0x3D626654, 0x3D62A803, 0x3D62E951, 0x3D632A44, 0x3D636ADC, 0x3D63AB15, 0x3D63EAF7, 0x3D642A7F, 0x3D6469AF, 0x3D64A886, 0x3D64E70A, 0x3D652536, 0x3D65630E, 0x3D65A093, 0x3D65DDC5, 0x3D661AA7, 0x3D665735, 0x3D669375, 0x3D66CF65, 0x3D670B04, 0x3D674658, 0x3D678161, 0x3D67BC19, 0x3D67F689, 0x3D6830AE, 0x3D686A8A, 0x3D68A41B, 0x3D68DD64, 0x3D691667, 0x3D694F21, 0x3D698796, 0x3D69BFC5, 0x3D69F7B0, 0x3D6A2F56, 0x3D6A66B9, 0x3D6A9DD6, 0x3D6AD4B2, 0x3D6B0B4F, 0x3D6B41AA, 0x3D6B77C3, 0x3D6BAD9B, 0x3D6BE335, 0x3D6C1892, 0x3D6C4DAE, 0x3D6C8290, 0x3D6CB733, 0x3D6CEB99, 0x3D6D1FC3, 0x3D6D53B3, 0x3D6D8768, 0x3D6DBAE1, 0x3D6DEE20, 0x3D6E2128, 0x3D6E53F6, 0x3D6E868B, 0x3D6EB8E8, 0x3D6EEB10, 0x3D6F1CFE, 0x3D6F4EB8, 0x3D6F803B, 0x3D6FB189, 0x3D6FE2A1, 0x3D701384, 0x3D704436, 0x3D7074AF, 0x3D70A4F9, 0x3D70D50F, 0x3D7104F3, 0x3D7134A3, 0x3D716423, 0x3D719373, 0x3D71C290, 0x3D71F17F, 0x3D72203B, 0x3D724ECA, 0x3D727D28, 0x3D72AB59, 0x3D72D959, 0x3D73072C, 0x3D7334D1, 0x3D736248, 0x3D738F92, 0x3D73BCB0, 0x3D73E9A2, 0x3D741668, 0x3D744300, 0x3D746F71, 0x3D749BB3, 0x3D74C7CB, 0x3D74F3BA, 0x3D751F7F, 0x3D754B19, 0x3D75768A, 0x3D75A1D0, 0x3D75CCF1, 0x3D75F7E7, 0x3D7622B4, 0x3D764D59, 0x3D7677D9, 0x3D76A231, 0x3D76CC60, 0x3D76F669, 0x3D77204D, 0x3D774A09, 0x3D77739F, 0x3D779D10, 0x3D77C65B, 0x3D77EF83, 0x3D781883, 0x3D784160, 0x3D786A1A, 0x3D7892AE, 0x3D78BB1D, 0x3D78E369, 0x3D790B95, 0x3D79339B, 0x3D795B7E, 0x3D79833F, 0x3D79AADC, 0x3D79D257, 0x3D79F9B1, 0x3D7A20EB, 0x3D7A4800, 0x3D7A6EF7, 0x3D7A95CB, 0x3D7ABC7F, 0x3D7AE313, 0x3D7B0984, 0x3D7B2FD7, 0x3D7B560A, 0x3D7B7C1A, 0x3D7BA210, 0x3D7BC7E2, 0x3D7BED97, 0x3D7C132C, 0x3D7C38A3, 0x3D7C5DFA, 0x3D7C8333, 0x3D7CA84F, 0x3D7CCD4E, 0x3D7CF22F, 0x3D7D16EF, 0x3D7D3B95, 0x3D7D601D, 0x3D7D8488, 0x3D7DA8D5, 0x3D7DCD05, 0x3D7DF11A, 0x3D7E1511, 0x3D7E38EE, 0x3D7E5CAD, 0x3D7E8051, 0x3D7EA3DA, 0x3D7EC748, 0x3D7EEA99, 0x3D7F0DCF, 0x3D7F30EB, 0x3D7F53EB, 0x3D7F76D1, 0x3D7F999E, 0x3D7FBC4E, 0x3D7FDEE5, 0x3D8000B1, 0x3D8011E2, 0x3D802307, 0x3D80341F, 0x3D80452A, 0x3D805629, 0x3D80671B, 0x3D807800, 0x3D8088DA, 0x3D8099A6, 0x3D80AA66, 0x3D80BB1A, 0x3D80CBC2, 0x3D80DC5E, 0x3D80ECEE, 0x3D80FD72, 0x3D810DEA, 0x3D811E57, 0x3D812EB7, 0x3D813F0C, 0x3D814F56, 0x3D815F92, 0x3D816FC6, 0x3D817FEC, 0x3D819008, 0x3D81A019, 0x3D81B01D, 0x3D81C017, 0x3D81D005, 0x3D81DFEA, 0x3D81EFC2, 0x3D81FF90, 0x3D820F53, 0x3D821F0B, 0x3D822EB8, 0x3D823E5A, 0x3D824DF3, 0x3D825D80, 0x3D826D04, 0x3D827C7C, 0x3D828BEA, 0x3D829B4E, 0x3D82AAA8, 0x3D82B9F7, 0x3D82C93B, 0x3D82D876, 0x3D82E7A6, 0x3D82F6CD, 0x3D8305E9, 0x3D8314FC, 0x3D832406, 0x3D833306, 0x3D8341FB, 0x3D8350E5, 0x3D835FC8, 0x3D836E9F, 0x3D837D6F, 0x3D838C34, 0x3D839AF0, 0x3D83A9A2, 0x3D83B84A, 0x3D83C6EA, 0x3D83D580, 0x3D83E40E, 0x3D83F291, 0x3D84010C, 0x3D840F7D, 0x3D841DE6, 0x3D842C45, 0x3D843A9C, 0x3D8448E9, 0x3D84572D, 0x3D846569, 0x3D84739C, 0x3D8481C6, 0x3D848FE7, 0x3D849E01, 0x3D84AC10, 0x3D84BA18, 0x3D84C818, 0x3D84D60E, 0x3D84E3FC, 0x3D84F1E1, 0x3D84FFBF, 0x3D850D93, 0x3D851B60, 0x3D852923, 0x3D8536E0, 0x3D854494, 0x3D85523F, 0x3D855FE2, 0x3D856D7F, 0x3D857B11, 0x3D85889E, 0x3D859620, 0x3D85A39C, 0x3D85B10F, 0x3D85BE7B, 0x3D85CBDF, 0x3D85D93B, 0x3D85E690, 0x3D85F3DC, 0x3D860121, 0x3D860E5E, 0x3D861B94, 0x3D8628C2, 0x3D8635E9, 0x3D864308, 0x3D86501F, 0x3D865D30, 0x3D866A39, 0x3D867739, 0x3D868433, 0x3D869127, 0x3D869E12, 0x3D86AAF6, 0x3D86B7D2, 0x3D86C4A8, 0x3D86D177, 0x3D86DE3F, 0x3D86EAFF, 0x3D86F7B9, 0x3D87046A, 0x3D871116, 0x3D871DBA, 0x3D872A58, 0x3D8736EE, 0x3D87437E, 0x3D875006, 0x3D875C88, 0x3D876904, 0x3D877578, 0x3D8781E6, 0x3D878E4C, 0x3D879AAD, 0x3D87A706, 0x3D87B359, 0x3D87BFA6, 0x3D87CBEB, 0x3D87D82A, 0x3D87E463, 0x3D87F096, 0x3D87FCC1, 0x3D8808E7, 0x3D881506, 0x3D88211F, 0x3D882D30, 0x3D88393D, 0x3D884542, 0x3D885141, 0x3D885D3B, 0x3D88692D, 0x3D88751B, 0x3D888100, 0x3D888CE2, 0x3D8898BB, 0x3D88A490, 0x3D88B05E, 0x3D88BC25, 0x3D88C7E8, 0x3D88D3A4, 0x3D88DF5A, 0x3D88EB0A, 0x3D88F6B4, 0x3D890258, 0x3D890DF6, 0x3D89198F, 0x3D892522, 0x3D8930AF, 0x3D893C35, 0x3D8947B7, 0x3D895333, 0x3D895EA9, 0x3D896A18, 0x3D897583, 0x00010203, 0x04000102, 0x03040001, 0x02030400, 0x01020304, 0x00010203, 0x04050607, 0x08050607, 0x08050607, 0x08050607, 0x08050607, 0x08090A0B, 0x090A0B09, 0x0A0B090A, 0x0B090A0B, 0x00000000, 0x00010101, 0x01010202, 0x02020203, 0x03030303, 0x04040404, 0x04000000, 0x00010101, 0x01020202, 0x02030303, 0x03040404, 0x04000000, 0x01010102, 0x02020303, 0x03040404, 0x00000000, 0x00000000 + +glabel D_8007EFE0 +.word 0x00000003, 0x0000000B, 0x00000000, 0x00000009, 0x00002666, 0xFFFFD99A, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000003, 0x00000007, 0x00000CCC, 0xFFFFF334, 0x00003FFF, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x0000000A, 0x00001388, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00005000 + +glabel D_8007F048 +.word 0x00000004, 0x0000000E, 0x00000000, 0x00000009, 0x00002666, 0xFFFFD99A, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000002, 0x00000006, 0x00000CCC, 0xFFFFF334, 0x00003FFF, 0x00000000, 0x00000000, 0x00000000, 0x00000009, 0x0000000C, 0x00000CCC, 0xFFFFF334, 0x00003FFF, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x0000000D, 0x00001770, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00005000, 0x00000004, 0x00000011, 0x00000000, 0x0000000B, 0x00002666, 0xFFFFD99A, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000004, 0x00000009, 0x00000CCC, 0xFFFFF334, 0x00003FFF, 0x00000000, 0x00000000, 0x00000000, 0x0000000B, 0x0000000F, 0x00000CCC, 0xFFFFF334, 0x00003FFF, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000010, 0x00001F40, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00005000 + +glabel D_8007F158 +.word 0x00000001, 0x0000000E, 0x00000000, 0x0000000D, 0x00004E20, 0x00000000, 0x00007FFF, 0x00000000, 0x00000000, 0x00007FFF + +glabel D_8007F180 +.word 0x00000001, 0x00000003, 0x00000000, 0x00000001, 0x00004000, 0x00000000, 0x00007FFF, 0x00001DB0, 0x000002BC, 0x00000000 + +glabel D_8007F1A8 +.word 0x00000001, 0x00000003, 0x00000000, 0x00000001, 0x00000000, 0x00005FFF, 0x00007FFF, 0x0000017C, 0x000001F4, 0x00000000 + +glabel D_8007F1D0 +.word 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000 + +glabel D_8007F1F8 +.word 0x8007F1D0 + +glabel D_8007F1FC +.word 0x8007F1D0 + +glabel D_8007F200 +.word 0x8007F1D0 + +glabel D_8007F204 +.word 0x8007F1D0, 0x00000000, 0x00000000 + +glabel D_8007F210 +.word 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000 + +glabel D_8007F228 +.word 0xE0002000, 0x003278F0, 0x00328110, 0xE0002000, 0x00326410, 0x003278F0 + +glabel D_8007F240 +.word 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000 + +glabel D_8007F258 +.word 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000 + +glabel D_8007F270 +.word 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000 + +glabel D_8007F288 +.word 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000 + +glabel D_8007F2A0 +.word 0xE000C160, 0x00328110, 0x00328EA0, 0xE000C000, 0x00328EA0, 0x0032C110 + +glabel D_8007F2B8 +.word 0xE000E000, 0x0032C110, 0x0032C7A0, 0xE000E000, 0x00328EA0, 0x0032C110 + +glabel D_8007F2D0 +.word 0xE00101E8, 0x0032C7A0, 0x0032CEC0, 0xE0010000, 0x0032CEC0, 0x0032DD10 + +glabel D_8007F2E8 +.word 0xE0012204, 0x0032DD10, 0x0032E490, 0xE0012000, 0x0032CEC0, 0x0032DD10 + +glabel D_8007F300 +.word 0xE0014000, 0x0032E490, 0x0032EC50, 0xE0014000, 0x0032EC50, 0x0032EE30 + +glabel D_8007F318 +.word 0xE0016000, 0x0032EE30, 0x0032F580, 0xE0016000, 0x0032EC50, 0x0032EE30 + +glabel D_8007F330 +.word 0xE0018078, 0x0032F580, 0x0032FB50, 0xE0018000, 0x0032FB50, 0x0032FE30 + +glabel D_8007F348 +.word 0xE001A000, 0x0032FE30, 0x00330460, 0xE001A000, 0x00330460, 0x00330910 + +glabel D_8007F360 +.word 0xE001C000, 0x00330910, 0x00330F00, 0xE001C000, 0x00330F00, 0x00331940 + +glabel D_8007F378 +.word 0xE001E000, 0x00331940, 0x003326A0, 0xE001E000, 0x003326A0, 0x00333EC0 + +glabel D_8007F390 +.word 0xE00202CC, 0x00333EC0, 0x00334C70, 0xE0020000, 0x00334C70, 0x00337240 + +glabel D_8007F3A8 +.word 0xE0022000, 0x00337240, 0x00337FC0, 0xE0022000, 0x00337FC0, 0x00339250 + +glabel D_8007F3C0 +.word 0xE0024000, 0x00339250, 0x00339F60, 0xE0024000, 0x00339F60, 0x0033B180 + +glabel D_8007F3D8 +.word 0xE0026000, 0x0033B180, 0x0033BBD0, 0xE0026000, 0x0033BBD0, 0x0033CDF0 + +glabel D_8007F3F0 +.word 0xE0028000, 0x0033CDF0, 0x0033D610, 0xE0028000, 0x0033D610, 0x0033E8C0 + +glabel D_8007F408 +.word 0xE002A000, 0x0033E8C0, 0x0033F000, 0xE002A000, 0x0033F000, 0x0033FE80 + +glabel D_8007F420 +.word 0xE002C000, 0x0033FE80, 0x00340880, 0xE002C000, 0x00340880, 0x003419E0 + +glabel D_8007F438 +.word 0xE002E000, 0x003419E0, 0x00342140, 0xE002E000, 0x00328EA0, 0x0032C110 + +glabel D_8007F450 +.word 0xE0030000, 0x00342140, 0x00343040, 0xE0030000, 0x00343040, 0x00343680 + +glabel D_8007F468 +.word 0xE0032000, 0x00343680, 0x00343F70, 0xE0032000, 0x00343F70, 0x00344A10 + +glabel D_8007F480 +.word 0xE0034000, 0x00344A10, 0x003451E0, 0xE0034000, 0x003451E0, 0x003454E0 + +glabel D_8007F498 +.word 0xE0036000, 0x003454E0, 0x00345B40, 0xE0036000, 0x00345B40, 0x0034DD20 + +glabel D_8007F4B0 +.word 0xE0038000, 0x0034DD20, 0x0034E770, 0xE0038000, 0x0034E770, 0x0034EC80 + +glabel D_8007F4C8 +.word 0xE003A000, 0x0034EC80, 0x0034F4C0, 0xE003A000, 0x00328EA0, 0x0032C110 + +glabel D_8007F4E0 +.word 0xE003C000, 0x0034F4C0, 0x00350220, 0xE003C000, 0x00350220, 0x00352440 + +glabel D_8007F4F8 +.word 0xE003E000, 0x00352440, 0x00352CE0, 0xE003E000, 0x00352CE0, 0x00353300 + +glabel D_8007F510 +.word 0xE0040000, 0x00353300, 0x00353BB0, 0xE0040000, 0x00353BB0, 0x003547A0 + +glabel D_8007F528 +.word 0xE0042000, 0x003547A0, 0x00354F60, 0xE0042000, 0x00343040, 0x00343680 + +glabel D_8007F540 +.word 0xE0044000, 0x00354F60, 0x00355EE0, 0xE0044000, 0x00337FC0, 0x00339250 + +glabel D_8007F558 +.word 0xE0046000, 0x00355EE0, 0x00356530, 0xE0046000, 0x00356530, 0x00356980 + +glabel D_8007F570 +.word 0xE0048000, 0x00356980, 0x003573A0, 0xE0048000, 0x003573A0, 0x003584C0 + +glabel D_8007F588 +.word 0xE004A000, 0x003584C0, 0x003593B0, 0xE004A000, 0x003593B0, 0x00359F20 + +glabel D_8007F5A0 +.word 0xE004C000, 0x00359F20, 0x0035A5E0, 0xE004C000, 0x0035A5E0, 0x0035B9D0 + +glabel D_8007F5B8 +.word 0xE004E000, 0x0035B9D0, 0x0035BFD0, 0xE004E000, 0x00328EA0, 0x0032C110 + +glabel D_8007F5D0 +.word 0xE0050000, 0x0035BFD0, 0x0035C550, 0xE0050000, 0x0035C550, 0x0035CA80 + +glabel D_8007F5E8 +.word 0xE0052000, 0x0035CA80, 0x0035D510, 0xE0052000, 0x0035D510, 0x0035DA00 + +glabel D_8007F600 +.word 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000 + +glabel D_8007F618 +.word 0xE0056000, 0x0035DA00, 0x0035E920, 0xE0056000, 0x0033D610, 0x0033E8C0 + +glabel D_8007F630 +.word 0xE0058000, 0x0035E920, 0x0035F0E0, 0xE0058000, 0x0035F0E0, 0x003602C0 + +glabel D_8007F648 +.word 0xE005A000, 0x003602C0, 0x00360A30, 0xE005A000, 0x00360A30, 0x00360F40 + +glabel D_8007F660 +.word 0xE005C000, 0x00360F40, 0x00361670, 0xE005C000, 0x00361670, 0x003625C0 + +glabel D_8007F678 +.word 0xE005E000, 0x003625C0, 0x00362C50, 0xE005E000, 0x00362C50, 0x00363160 + +glabel D_8007F690 +.word 0xE0060000, 0x00363160, 0x003638C0, 0xE0060000, 0x003638C0, 0x00364300 + +glabel D_8007F6A8 +.word 0xE0062000, 0x00364300, 0x00364C00, 0xE0062000, 0x00364C00, 0x00364F10 + +glabel D_8007F6C0 +.word 0xE0064000, 0x00364F10, 0x003659B0, 0xE0064000, 0x003659B0, 0x00366030 + +glabel D_8007F6D8 +.word 0xE0066000, 0x00366030, 0x00366D60, 0xE0066000, 0x00366D60, 0x0036A8D0 + +glabel D_8007F6F0 +.word 0xE0068000, 0x0036A8D0, 0x0036AEE0, 0xE0068000, 0x0036AEE0, 0x0036D020 + +glabel D_8007F708 +.word 0xE006A1E8, 0x0036D020, 0x0036DF90, 0xE006A000, 0x0036DF90, 0x0036E1D0 + +glabel D_8007F720 +.word 0xE006C000, 0x0036E1D0, 0x0036ED60, 0xE006C000, 0x0036ED60, 0x00372790 + +glabel D_8007F738 +.word 0xE006E000, 0x00372790, 0x003733E0, 0xE006E000, 0x003733E0, 0x003740B0 + +glabel D_8007F750 +.word 0xE0070000, 0x003740B0, 0x00374E50, 0xE0070000, 0x00337FC0, 0x00339250 + +glabel D_8007F768 +.word 0xE0072000, 0x00374E50, 0x00375510, 0xE0072000, 0x00375510, 0x00376460 + +glabel D_8007F780 +.word 0xE0074000, 0x00376460, 0x00377070, 0xE0074000, 0x00337FC0, 0x00339250 + +glabel D_8007F798 +.word 0xE0076000, 0x00377070, 0x00377F80, 0xE0076000, 0x00377F80, 0x0037A3F0 + +glabel D_8007F7B0 +.word 0xE0078000, 0x0037A3F0, 0x0037ADD0, 0xE0078000, 0x0037ADD0, 0x0037C540 + +glabel D_8007F7C8 +.word 0xE007A000, 0x0037C540, 0x0037D180, 0xE007A000, 0x0037D180, 0x0037D490 + +glabel D_8007F7E0 +.word 0xE007C000, 0x0037D490, 0x0037D9D0, 0xE007C000, 0x0037D9D0, 0x0037F720 + +glabel D_8007F7F8 +.word 0xE007E000, 0x0037F720, 0x003803A0, 0xE007E000, 0x003803A0, 0x003812C0 + +glabel D_8007F810 +.word 0xE0080000, 0x003812C0, 0x00381E00, 0xE0080000, 0x00381E00, 0x00385640 + +glabel D_8007F828 +.word 0xE0082000, 0x00385640, 0x003863B0, 0xE0082000, 0x003863B0, 0x003889D0 + +glabel D_8007F840 +.word 0xE0084084, 0x003889D0, 0x00389850, 0xE0084000, 0x0037D9D0, 0x0037F720 + +glabel D_8007F858 +.word 0xE0086000, 0x00389850, 0x0038A350, 0xE0086000, 0x0038A350, 0x0038ADF0 + +glabel D_8007F870 +.word 0xE008817C, 0x0038ADF0, 0x0038BBA0, 0xE0088000, 0x0038BBA0, 0x0038C5F0 + +glabel D_8007F888 +.word 0xE008A188, 0x0038C5F0, 0x0038D070, 0xE008A000, 0x0038D070, 0x0038DE00 + +glabel D_8007F8A0 +.word 0xE008C000, 0x0038DE00, 0x0038E990, 0xE008C000, 0x0038E990, 0x0038EE60 + +glabel D_8007F8B8 +.word 0xE008E000, 0x0038EE60, 0x0038F710, 0xE008E000, 0x0038F710, 0x0038F900 + +glabel D_8007F8D0 +.word 0xE0090000, 0x0038F900, 0x003903D0, 0xE0090000, 0x003903D0, 0x00391D30 + +glabel D_8007F8E8 +.word 0xE0092000, 0x00391D30, 0x00392440, 0xE0092000, 0x00392440, 0x003928D0 + +glabel D_8007F900 +.word 0xE0094000, 0x003928D0, 0x003930A0, 0xE0094000, 0x003930A0, 0x00394280 + +glabel D_8007F918 +.word 0xE0096000, 0x00394280, 0x00394670, 0xE0096000, 0x00394670, 0x00395BB0 + +glabel D_8007F930 +.word 0xE0098000, 0x00395BB0, 0x003960F0, 0xE0098000, 0x003960F0, 0x003965B0 + +glabel D_8007F948 +.word 0xE009A000, 0x003965B0, 0x00397040, 0xE009A000, 0x00397040, 0x003981F0 + +glabel D_8007F960 +.word 0xE009C000, 0x003981F0, 0x00398BC0, 0xE009C000, 0x00398BC0, 0x0039FF20 + +glabel D_8007F978 +.word 0xE009E000, 0x0039FF20, 0x003A0D60, 0xE009E000, 0x003A0D60, 0x003A2290 + +glabel D_8007F990 +.word 0xE00A0000, 0x003A2290, 0x003A2440, 0xE00A0000, 0x003A2440, 0x003A2990 + +glabel D_8007F9A8 +.word 0xE00A2000, 0x003A2990, 0x003A33D0, 0xE00A2000, 0x003A33D0, 0x003A37E0 + +glabel D_8007F9C0 +.word 0xE00A4000, 0x003A37E0, 0x003A4320, 0xE00A4000, 0x003A4320, 0x003A5550 + +glabel D_8007F9D8 +.word 0xE00A6000, 0x003A5550, 0x003A5BE0, 0xE00A6000, 0x003A5BE0, 0x003A70F0 + +glabel D_8007F9F0 +.word 0xE00A8000, 0x003A70F0, 0x003A77A0, 0xE00A8000, 0x003A77A0, 0x003AA920 + +glabel D_8007FA08 +.word 0xE00AA000, 0x003AA920, 0x003AB030, 0xE00AA000, 0x003AB030, 0x003AEE20 + +glabel D_8007FA20 +.word 0xE00AC000, 0x003AEE20, 0x003AF700, 0xE00AC000, 0x003AF700, 0x003B2350 + +glabel D_8007FA38 +.word 0xE00AE000, 0x003B2350, 0x003B2D90, 0xE00AE000, 0x003B2D90, 0x003B3EB0 + +glabel D_8007FA50 +.word 0xE00B0000, 0x003B3EB0, 0x003B46A0, 0xE00B0000, 0x003B46A0, 0x003B4790 + +glabel D_8007FA68 +.word 0xE00B2000, 0x003B4790, 0x003B5340, 0xE00B2000, 0x003B5340, 0x003B5CF0 + +glabel D_8007FA80 +.word 0xE00B4000, 0x003B5CF0, 0x003B6BF0, 0xE00B4000, 0x003B6BF0, 0x003B7160 + +glabel D_8007FA98 +.word 0xE00B6000, 0x003B7160, 0x003B78D0, 0xE00B6000, 0x003B78D0, 0x003B7B80 + +glabel D_8007FAB0 +.word 0xE00B8000, 0x003B7B80, 0x003B8860, 0xE00B8000, 0x003B8860, 0x003B8BD0 + +glabel D_8007FAC8 +.word 0xE00BA000, 0x003B8BD0, 0x003B9A70, 0xE00BA000, 0x003B9A70, 0x003BA030 + +glabel D_8007FAE0 +.word 0xE00BC000, 0x003BA030, 0x003BAEA0, 0xE00BC000, 0x003BAEA0, 0x003BBF60 + +glabel D_8007FAF8 +.word 0xE00BE000, 0x003BBF60, 0x003BCA90, 0xE00BE000, 0x003BCA90, 0x003BCD60 + +glabel D_8007FB10 +.word 0xE00C0000, 0x003BCD60, 0x003BD9A0, 0xE00C0000, 0x003BD9A0, 0x003C11D0 + +glabel D_8007FB28 +.word 0xE00C2000, 0x003C11D0, 0x003C1BA0, 0xE00C2000, 0x003C1BA0, 0x003CADF0 + +glabel D_8007FB40 +.word 0xE00C4000, 0x003CADF0, 0x003CB890, 0xE00C4000, 0x003CB890, 0x003CC9E0 + +glabel D_8007FB58 +.word 0xE00C6000, 0x003CC9E0, 0x003CD6E0, 0xE00C6000, 0x003CD6E0, 0x003CF3A0 + +glabel D_8007FB70 +.word 0xE00C8000, 0x003CF3A0, 0x003CFAF0, 0xE00C8000, 0x003CFAF0, 0x003D0500 + +glabel D_8007FB88 +.word 0xE00CA000, 0x003D0500, 0x003D11E0, 0xE00CA000, 0x003D11E0, 0x003D1690 + +glabel D_8007FBA0 +.word 0xE00CC000, 0x003D1690, 0x003D2580, 0xE00CC000, 0x003D2580, 0x003D2AC0 + +glabel D_8007FBB8 +.word 0xE00CE000, 0x003D2AC0, 0x003D3930, 0xE00CE000, 0x003D3930, 0x003D3E20 + +glabel D_8007FBD0 +.word 0xE00D0000, 0x003D3E20, 0x003D4970, 0xE00D0000, 0x003593B0, 0x00359F20 + +glabel D_8007FBE8 +.word 0xE00D2000, 0x003D4970, 0x003D4E90, 0xE00D2000, 0x003D4E90, 0x003D5020 + +glabel D_8007FC00 +.word 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000 + +glabel D_8007FC18 +.word 0xE00D6000, 0x003D5020, 0x003D5F30, 0xE00D6000, 0x003D5F30, 0x003D67C0 + +glabel D_8007FC30 +.word 0xE00D8000, 0x003D67C0, 0x003D7040, 0xE00D8000, 0x003D7040, 0x003D7240 + +glabel D_8007FC48 +.word 0xE00DA000, 0x003D7240, 0x003D7770, 0xE00DA000, 0x003D7770, 0x003D7A70 + +glabel D_8007FC60 +.word 0xE00DC000, 0x003D7A70, 0x003D80C0, 0xE00DC000, 0x003D80C0, 0x003D8720 + +glabel D_8007FC78 +.word 0xE00DE000, 0x003D8720, 0x003D9100, 0xE00DE000, 0x003D9100, 0x003DB460 + +glabel D_8007FC90 +.word 0xE00E0000, 0x003DB460, 0x003DBF40, 0xE00E0000, 0x003DBF40, 0x003DC310 + +glabel D_8007FCA8 +.word 0xE00E2000, 0x003DC310, 0x003DCD50, 0xE00E2000, 0x003DCD50, 0x003DE000 + +glabel D_8007FCC0 +.word 0xE00E4000, 0x003DE000, 0x003DEE60, 0xE00E4000, 0x003DEE60, 0x003E0930 + +glabel D_8007FCD8 +.word 0xE00E6000, 0x003E0930, 0x003E12D0, 0xE00E6000, 0x003E12D0, 0x003E1690 + +glabel D_8007FCF0 +.word 0xE00E8000, 0x003E1690, 0x003E1CD0, 0xE00E8000, 0x003E1CD0, 0x003E1EE0 + +glabel D_8007FD08 +.word 0xE00EA000, 0x003E1EE0, 0x003E2960, 0xE00EA000, 0x003E2960, 0x003E43A0 + +glabel D_8007FD20 +.word 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000 + +glabel D_8007FD38 +.word 0xE010A000, 0x003E43A0, 0x003E5350, 0xE010A000, 0x003E5350, 0x003E54C0 + +glabel D_8007FD50 +.word 0xE010C000, 0x003E54C0, 0x003E5F30, 0xE010C000, 0x003E5F30, 0x003EB4E0 + +glabel D_8007FD68 +.word 0xE010E32C, 0x003EB4E0, 0x003EBE60, 0xE010E000, 0x003EBE60, 0x003F83F0 + +glabel D_8007FD80 +.word 0xE0110000, 0x003F83F0, 0x003F8CC0, 0xE0110000, 0x003F8CC0, 0x003F9E50 + +glabel D_8007FD98 +.word 0xE0112000, 0x003F9E50, 0x003FA4B0, 0xE0112000, 0x003FA4B0, 0x003FEAE0 + +glabel D_8007FDB0 +.word 0xE0114000, 0x003FEAE0, 0x003FF250, 0xE0114000, 0x003FF250, 0x00402640 + +glabel D_8007FDC8 +.word 0xE0116000, 0x00402640, 0x00403400, 0xE0116000, 0x003FA4B0, 0x003FEAE0 + +glabel D_8007FDE0 +.word 0xE0118000, 0x00403400, 0x00403BF0, 0xE0118000, 0x00403BF0, 0x00404220 + +glabel D_8007FDF8 +.word 0xE011A000, 0x00404220, 0x00404F40, 0xE011A000, 0x00404F40, 0x00406B40 + +glabel D_8007FE10 +.word 0xE011C000, 0x00406B40, 0x00407080, 0xE011C000, 0x00407080, 0x00409990 + +glabel D_8007FE28 +.word 0xE011E000, 0x00409990, 0x0040A1C0, 0xE011E000, 0x0040A1C0, 0x0040B3F0 + +glabel D_8007FE40 +.word 0xE0120000, 0x0040B3F0, 0x0040BBA0, 0xE0120000, 0x0040BBA0, 0x0040C5A0 + +glabel D_8007FE58 +.word 0xE0122000, 0x0040C5A0, 0x0040D290, 0xE0122000, 0x0040D290, 0x00412730 + +glabel D_8007FE70 +.word 0xE0124000, 0x00412730, 0x00413360, 0xE0124000, 0x00337FC0, 0x00339250 + +glabel D_8007FE88 +.word 0xE0126000, 0x00413360, 0x00413FA0, 0xE0126000, 0x00413FA0, 0x00414BA0 + +glabel D_8007FEA0 +.word 0xE0128000, 0x00414BA0, 0x00415060, 0xE0128000, 0x00415060, 0x00415D90, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00000000, 0x00000200, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000002, 0x00000004, 0x0000000C, 0x00000000, 0xFFFFFFFF, 0x0000000D, 0x00000001, 0x0002C7C0, 0x0002C8E0, 0x00000000, 0x00000000, 0x0000000C, 0x00000000, 0xFFFFFFFF, 0x0000000D, 0x00000001, 0x0002C7C0, 0x0002C8E0, 0x00000000, 0x00000000, 0x0000000C, 0x00000000, 0xFFFFFFFF, 0x0000000D, 0x00000001, 0x0002C7C0, 0x0002C8E0, 0x00000000, 0x00000000, 0x0000000C, 0x00000000, 0xFFFFFFFF, 0x0000000D, 0x00000001, 0x0002C7C0, 0x0002C8E0, 0x00000000, 0x00000000, 0x0000000C, 0x00000002, 0xFFFFFFFF, 0x0000000D, 0x00000001, 0x0002C900, 0x0002CA20, 0x00000000, 0x00000000, 0x0000000C, 0x00000002, 0xFFFFFFFF, 0x0000000D, 0x00000001, 0x0002CA40, 0x0002CB60, 0x00000000, 0x00000000, 0x0000000C, 0x00000002, 0xFFFFFFFF, 0x0000000D, 0x00000004, 0x0002CB80, 0x0002CCA0, 0x00000000, 0x00000000, 0x0000000C, 0x00000002, 0x00000004, 0x0000000D, 0x00000001, 0x0002C900, 0x0002CA20, 0x00000000, 0x00000000, 0x0000000C, 0x00000000, 0x00000003, 0x0000000D, 0x00000001, 0x0002C7C0, 0x0002C8E0, 0x00000000, 0x00000000, 0x0000000C, 0x00000000, 0xFFFFFFFF, 0x0000000D, 0x0000000E, 0x0002CCC0, 0x0002CDE0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000002, 0x0000000C, 0x00000000, 0xFFFFFFFF, 0x0000000D, 0x00000001, 0x0002C7C0, 0x0002C8E0, 0x00000000, 0x00000000, 0x0000000C, 0x00000002, 0xFFFFFFFF, 0x0000000D, 0x00000001, 0x0002C900, 0x0002CA20, 0x00000000, 0x00000000, 0x0000000C, 0x00000002, 0xFFFFFFFF, 0x0000000D, 0x00000001, 0x0002CA40, 0x0002CB60, 0x00000000, 0x00000000, 0x0000000C, 0x00000002, 0xFFFFFFFF, 0x0000000D, 0x00000004, 0x0002CB80, 0x0002CCA0, 0x00000000, 0x00000000, 0x0000000C, 0x00000002, 0x00000004, 0x0000000D, 0x00000001, 0x0002C900, 0x0002CA20, 0x00000000, 0x00000000, 0x0000000C, 0x00000000, 0x00000003, 0x0000000D, 0x00000001, 0x0002C7C0, 0x0002C8E0, 0x00000000, 0x00000000, 0x0000000C, 0x00000000, 0xFFFFFFFF, 0x0000000D, 0x00000002, 0x0002CCC0, 0x0002CDE0, 0x00000000, 0x00000000, 0x0000000C, 0x00000000, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0002C7C0, 0x0002C8E0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000002, 0x00000004, 0x0000000D, 0x0000003C, 0x0002C7C0, 0x0002C8E0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000002, 0x00000004, 0x0000000C, 0x00000000, 0x00000000, 0x0000000D, 0x00000001, 0x0002CE00, 0x0002CF20, 0x00000000, 0x00000000, 0x0000000C, 0x00000000, 0x00000000, 0x0000000D, 0x00000001, 0x0002CE00, 0x0002CF20, 0x00000000, 0x00000000, 0x0000000C, 0x00000000, 0x00000000, 0x0000000D, 0x00000001, 0x0002CE00, 0x0002CF20, 0x00000000, 0x00000000, 0x0000000C, 0x00000000, 0x00000000, 0x0000000D, 0x00000001, 0x0002CE00, 0x0002CF20, 0x00000000, 0x00000000, 0x0000000C, 0x00000000, 0xFFFFFFFF, 0x0000000D, 0x00000001, 0x0002CF40, 0x0002D060, 0x00000000, 0x00000000, 0x0000000C, 0x00000000, 0xFFFFFFFF, 0x0000000D, 0x00000001, 0x0002D080, 0x0002D1A0, 0x00000000, 0x00000000, 0x0000000C, 0x00000001, 0xFFFFFFFD, 0x0000000D, 0x00000004, 0x0002D1C0, 0x0002D2E0, 0x00000000, 0x00000000, 0x0000000C, 0x00000000, 0x00000004, 0x0000000D, 0x00000001, 0x0002CF40, 0x0002D060, 0x00000000, 0x00000000, 0x0000000C, 0x00000000, 0x00000004, 0x0000000D, 0x00000001, 0x0002CE00, 0x0002CF20, 0x00000000, 0x00000000, 0x0000000C, 0x00000000, 0x00000001, 0x0000000D, 0x0000000E, 0x0002D300, 0x0002D420, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000002, 0x0000000C, 0x00000000, 0x00000000, 0x0000000D, 0x00000001, 0x0002CE00, 0x0002CF20, 0x00000000, 0x00000000, 0x0000000C, 0x00000000, 0xFFFFFFFF, 0x0000000D, 0x00000001, 0x0002CF40, 0x0002D060, 0x00000000, 0x00000000, 0x0000000C, 0x00000000, 0xFFFFFFFF, 0x0000000D, 0x00000001, 0x0002D080, 0x0002D1A0, 0x00000000, 0x00000000, 0x0000000C, 0x00000001, 0xFFFFFFFD, 0x0000000D, 0x00000004, 0x0002D1C0, 0x0002D2E0, 0x00000000, 0x00000000, 0x0000000C, 0x00000000, 0x00000004, 0x0000000D, 0x00000001, 0x0002CF40, 0x0002D060, 0x00000000, 0x00000000, 0x0000000C, 0x00000000, 0x00000004, 0x0000000D, 0x00000001, 0x0002CE00, 0x0002CF20, 0x00000000, 0x00000000, 0x0000000C, 0x00000000, 0x00000001, 0x0000000D, 0x00000002, 0x0002D300, 0x0002D420, 0x00000000, 0x00000000, 0x0000000C, 0x00000000, 0x00000004, 0x00000004, 0x0000000D, 0x0000003C, 0x0002CE00, 0x0002CF20, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000002, 0x00000004, 0x0000000D, 0x0000003C, 0x0002CE00, 0x0002CF20, 0x00000000, 0x00000000, 0x00000003, 0x00000000 + +glabel D_800804F0 +.word 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00000000, 0x00000200, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00000220, 0x00000420, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00000440, 0x00000640, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00000660, 0x00000860, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00000880, 0x00000A80, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00000AA0, 0x00000CA0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00000CC0, 0x00000EC0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00000EE0, 0x000010E0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00001100, 0x00001300, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0002D940, 0x0002DB40, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0002DB80, 0x0002DD80, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0002DDC0, 0x0002DFC0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0002E000, 0x0002E200, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0002E240, 0x0002E440, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0002E480, 0x0002E680, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0002E6C0, 0x0002E8C0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000002, 0x00000004, 0x0000000D, 0x0000003C, 0x00030CE0, 0x00030E00, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000002, 0x00000004, 0x0000000D, 0x0000000A, 0x00030A60, 0x00030B80, 0x00000000, 0x00000000, 0x0000000D, 0x00000006, 0x00030BA0, 0x00030CC0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000002, 0x00000004, 0x00000015, 0x00000000, 0x0000000D, 0x00000003, 0x0002F5C0, 0x0002F6E0, 0x00000000, 0x00000000, 0x0000000D, 0x00000003, 0x0002F700, 0x0002F820, 0x00000000, 0x00000000, 0x0000000D, 0x00000003, 0x0002FAC0, 0x0002FBE0, 0x00000000, 0x00000000, 0x0000000D, 0x00000003, 0x0002FC00, 0x0002FD20, 0x00000000, 0x00000000, 0x0000000D, 0x00000003, 0x0002FD40, 0x0002FE60, 0x00000000, 0x00000000, 0x0000000D, 0x00000003, 0x0002FE80, 0x0002FFA0, 0x00000000, 0x00000000, 0x0000000D, 0x00000003, 0x0002FFC0, 0x000300E0, 0x00000000, 0x00000000, 0x0000000D, 0x00000003, 0x00030100, 0x00030220, 0x00000000, 0x00000000, 0x00000014, 0x00000064, 0x00000046, 0x00000015, 0x00000001, 0x0000000D, 0x00000003, 0x0002F5C0, 0x0002F6E0, 0x00000000, 0x00000000, 0x0000000D, 0x00000002, 0x0002F700, 0x0002F820, 0x00000000, 0x00000000, 0x0000000D, 0x00000001, 0x0002F840, 0x0002F960, 0x00000000, 0x00000000, 0x0000000D, 0x00000001, 0x0002F980, 0x0002FAA0, 0x00000000, 0x00000000, 0x0000000D, 0x00000002, 0x0002FAC0, 0x0002FBE0, 0x00000000, 0x00000000, 0x0000000D, 0x00000003, 0x0002FC00, 0x0002FD20, 0x00000000, 0x00000000, 0x0000000D, 0x00000003, 0x0002FD40, 0x0002FE60, 0x00000000, 0x00000000, 0x0000000D, 0x00000003, 0x0002FE80, 0x0002FFA0, 0x00000000, 0x00000000, 0x0000000D, 0x00000003, 0x0002FFC0, 0x000300E0, 0x00000000, 0x00000000, 0x0000000D, 0x00000003, 0x00030100, 0x00030220, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x0000000C, 0xFFFFFFF8, 0x00000000, 0x0000000D, 0x00000001, 0x00030240, 0x00030260, 0x00000000, 0x00000000, 0x0000000D, 0x00000001, 0x00030280, 0x000302A0, 0x00000000, 0x00000000, 0x0000000D, 0x00000001, 0x000302C0, 0x000302E0, 0x00000000, 0x00000000, 0x0000000D, 0x00000002, 0x000303C0, 0x000303E0, 0x00000000, 0x00000000, 0x0000000D, 0x00000001, 0x000302C0, 0x000302E0, 0x00000000, 0x00000000, 0x0000000D, 0x00000001, 0x00030300, 0x00030320, 0x00000000, 0x00000000, 0x0000000D, 0x00000001, 0x000303C0, 0x000303E0, 0x00000000, 0x00000000, 0x0000000D, 0x00000001, 0x00030340, 0x00030360, 0x00000000, 0x00000000, 0x0000000D, 0x00000001, 0x000303C0, 0x000303E0, 0x00000000, 0x00000000, 0x0000000D, 0x00000001, 0x00030380, 0x000303A0, 0x00000000, 0x00000000, 0x0000000D, 0x00000010, 0x000303C0, 0x000303E0, 0x00000000, 0x00000000, 0x00000000, 0x0000000C, 0x00000008, 0x00000008, 0x0000000D, 0x00000001, 0x00030240, 0x00030260, 0x00000000, 0x00000000, 0x0000000D, 0x00000001, 0x00030280, 0x000302A0, 0x00000000, 0x00000000, 0x0000000D, 0x00000001, 0x000302C0, 0x000302E0, 0x00000000, 0x00000000, 0x0000000D, 0x00000002, 0x000303C0, 0x000303E0, 0x00000000, 0x00000000, 0x0000000D, 0x00000001, 0x000302C0, 0x000302E0, 0x00000000, 0x00000000, 0x0000000D, 0x00000001, 0x00030300, 0x00030320, 0x00000000, 0x00000000, 0x0000000D, 0x00000001, 0x000303C0, 0x000303E0, 0x00000000, 0x00000000, 0x0000000D, 0x00000001, 0x00030340, 0x00030360, 0x00000000, 0x00000000, 0x0000000D, 0x00000001, 0x000303C0, 0x000303E0, 0x00000000, 0x00000000, 0x0000000D, 0x00000001, 0x00030380, 0x000303A0, 0x00000000, 0x00000000, 0x0000000D, 0x00000010, 0x000303C0, 0x000303E0, 0x00000000, 0x00000000, 0x00000000, 0x0000000C, 0xFFFFFFFC, 0x00000008, 0x0000000D, 0x00000001, 0x00030240, 0x00030260, 0x00000000, 0x00000000, 0x0000000D, 0x00000001, 0x00030280, 0x000302A0, 0x00000000, 0x00000000, 0x0000000D, 0x00000001, 0x000302C0, 0x000302E0, 0x00000000, 0x00000000, 0x0000000D, 0x00000002, 0x000303C0, 0x000303E0, 0x00000000, 0x00000000, 0x0000000D, 0x00000001, 0x000302C0, 0x000302E0, 0x00000000, 0x00000000, 0x0000000D, 0x00000001, 0x00030300, 0x00030320, 0x00000000, 0x00000000, 0x0000000D, 0x00000001, 0x000303C0, 0x000303E0, 0x00000000, 0x00000000, 0x0000000D, 0x00000001, 0x00030340, 0x00030360, 0x00000000, 0x00000000, 0x0000000D, 0x00000001, 0x000303C0, 0x000303E0, 0x00000000, 0x00000000, 0x0000000D, 0x00000001, 0x00030380, 0x000303A0, 0x00000000, 0x00000000, 0x0000000D, 0x00000010, 0x000303C0, 0x000303E0, 0x00000000, 0x00000000, 0x00000000, 0x0000000C, 0x00000006, 0xFFFFFFFA, 0x0000000D, 0x00000001, 0x00030240, 0x00030260, 0x00000000, 0x00000000, 0x0000000D, 0x00000001, 0x00030280, 0x000302A0, 0x00000000, 0x00000000, 0x0000000D, 0x00000001, 0x000302C0, 0x000302E0, 0x00000000, 0x00000000, 0x0000000D, 0x00000002, 0x000303C0, 0x000303E0, 0x00000000, 0x00000000, 0x0000000D, 0x00000001, 0x000302C0, 0x000302E0, 0x00000000, 0x00000000, 0x0000000D, 0x00000001, 0x00030300, 0x00030320, 0x00000000, 0x00000000, 0x0000000D, 0x00000001, 0x000303C0, 0x000303E0, 0x00000000, 0x00000000, 0x0000000D, 0x00000001, 0x00030340, 0x00030360, 0x00000000, 0x00000000, 0x0000000D, 0x00000001, 0x000303C0, 0x000303E0, 0x00000000, 0x00000000, 0x0000000D, 0x00000001, 0x00030380, 0x000303A0, 0x00000000, 0x00000000, 0x0000000D, 0x00000010, 0x000303C0, 0x000303E0, 0x00000000, 0x00000000, 0x00000000, 0x0000000C, 0x00000001, 0xFFFFFFF8, 0x0000000D, 0x00000001, 0x00030240, 0x00030260, 0x00000000, 0x00000000, 0x0000000D, 0x00000001, 0x00030280, 0x000302A0, 0x00000000, 0x00000000, 0x0000000D, 0x00000001, 0x000302C0, 0x000302E0, 0x00000000, 0x00000000, 0x0000000D, 0x00000002, 0x000303C0, 0x000303E0, 0x00000000, 0x00000000, 0x0000000D, 0x00000001, 0x000302C0, 0x000302E0, 0x00000000, 0x00000000, 0x0000000D, 0x00000001, 0x00030300, 0x00030320, 0x00000000, 0x00000000, 0x0000000D, 0x00000001, 0x000303C0, 0x000303E0, 0x00000000, 0x00000000, 0x0000000D, 0x00000001, 0x00030340, 0x00030360, 0x00000000, 0x00000000, 0x0000000D, 0x00000001, 0x000303C0, 0x000303E0, 0x00000000, 0x00000000, 0x0000000D, 0x00000001, 0x00030380, 0x000303A0, 0x00000000, 0x00000000, 0x0000000D, 0x00000010, 0x000303C0, 0x000303E0, 0x00000000, 0x00000000, 0x00000000, 0x00000008, 0x00000005, 0x00000000, 0x00000017, 0x00000005, 0x80080A4C, 0x80080B64, 0x80080C7C, 0x80080D94, 0x80080EAC, 0x00000000, 0x00000008, 0x00000005, 0x00000002, 0x00000004, 0x0000000D, 0x00000002, 0x00030E20, 0x00030F40, 0x00000000, 0x00000000, 0x0000000D, 0x00000002, 0x00030F60, 0x00031080, 0x00000000, 0x00000000, 0x0000000D, 0x00000002, 0x000310A0, 0x000311C0, 0x00000000, 0x00000000, 0x0000000D, 0x00000002, 0x000311E0, 0x00031300, 0x00000000, 0x00000000, 0x0000000D, 0x00000002, 0x00031320, 0x00031440, 0x00000000, 0x00000000, 0x0000000D, 0x00000002, 0x00031460, 0x00031580, 0x00000000, 0x00000000, 0x0000000D, 0x00000002, 0x000315A0, 0x000316C0, 0x00000000, 0x00000000, 0x0000000D, 0x00000002, 0x000316E0, 0x00031800, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000000, 0x00000004, 0x0000000D, 0x00000002, 0x00031CA0, 0x00031CC0, 0x00000000, 0x00000000, 0x0000000D, 0x00000002, 0x00031CE0, 0x00031D00, 0x00000000, 0x00000000, 0x0000000D, 0x00000002, 0x00031D20, 0x00031D40, 0x00000000, 0x00000000, 0x0000000D, 0x00000002, 0x00031D60, 0x00031D80, 0x00000000, 0x00000000, 0x0000000D, 0x00000002, 0x00031DA0, 0x00031DC0, 0x00000000, 0x00000000, 0x0000000D, 0x00000002, 0x00031DE0, 0x00031E00, 0x00000000, 0x00000000, 0x0000000D, 0x00000002, 0x00031E20, 0x00031E40, 0x00000000, 0x00000000, 0x0000000D, 0x00000002, 0x00031E60, 0x00031E80, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x00000008, 0x0002E900, 0x0002EB00, 0x00000000, 0x00000000, 0x0000000D, 0x00000005, 0x0002EB20, 0x0002ED20, 0x00000000, 0x00000000, 0x0000000D, 0x00000008, 0x0002ED40, 0x0002EF40, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x00000008, 0x0002EF60, 0x0002F160, 0x00000000, 0x00000000, 0x0000000D, 0x00000005, 0x0002F180, 0x0002F380, 0x00000000, 0x00000000, 0x0000000D, 0x00000008, 0x0002F3A0, 0x0002F5A0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000000C, 0x00030400, 0x00030600, 0x00000000, 0x00000000, 0x0000000D, 0x00000004, 0x00030620, 0x00030820, 0x00000000, 0x00000000, 0x0000000D, 0x0000000C, 0x00030840, 0x00030A40, 0x00000000, 0x00000000, 0x0000000D, 0x00000004, 0x00030620, 0x00030820, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00001320, 0x00001520, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00001540, 0x00001740, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00001760, 0x00001960, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00001980, 0x00001B80, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00001BA0, 0x00001DA0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00001DC0, 0x00001FC0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00001FE0, 0x000021E0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00002200, 0x00002400, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00009020, 0x00009220, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00009240, 0x00009440, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00009460, 0x00009660, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00009680, 0x00009880, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x000098A0, 0x00009AA0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00009AC0, 0x00009CC0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00009CE0, 0x00009EE0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00009F00, 0x0000A100, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0000A120, 0x0000A320, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0000A340, 0x0000A540, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0000A560, 0x0000A760, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0000A780, 0x0000A980, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0000A9A0, 0x0000ABA0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0000ABC0, 0x0000ADC0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0000ADE0, 0x0000AFE0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0000B000, 0x0000B200, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0000B220, 0x0000B420, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0000B440, 0x0000B640, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0000B660, 0x0000B860, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0000B880, 0x0000BA80, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0000BAA0, 0x0000BCA0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0000BCC0, 0x0000BEC0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0000BEE0, 0x0000C0E0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0000C100, 0x0000C300, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0000C320, 0x0000C520, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0000C540, 0x0000C740, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0000C760, 0x0000C960, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0000C980, 0x0000CB80, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0000CBA0, 0x0000CDA0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0000CDC0, 0x0000CFC0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0000CFE0, 0x0000D1E0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0000D200, 0x0000D400, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0000D420, 0x0000D620, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0000D640, 0x0000D840, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0000D860, 0x0000DA60, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0000DAA0, 0x0000DCA0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0000DCC0, 0x0000DEC0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0000DEE0, 0x0000E0E0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0000E100, 0x0000E300, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0000E320, 0x0000E520, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0000E540, 0x0000E740, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0000E760, 0x0000E960, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0000E980, 0x0000EB80, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0000EBC0, 0x0000EDC0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0000EDE0, 0x0000EFE0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0000F000, 0x0000F200, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0000F220, 0x0000F420, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0000F440, 0x0000F640, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0000F660, 0x0000F860, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0000F880, 0x0000FA80, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0000FAA0, 0x0000FCA0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0000FCE0, 0x0000FEE0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0000FF00, 0x00010100, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00010120, 0x00010320, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00010340, 0x00010540, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00010560, 0x00010760, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00010780, 0x00010980, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x000109A0, 0x00010BA0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00010BC0, 0x00010DC0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00010E00, 0x00011000, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00011020, 0x00011220, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00011240, 0x00011440, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00011460, 0x00011660, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00011680, 0x00011880, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x000118A0, 0x00011AA0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00011AC0, 0x00011CC0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00011CE0, 0x00011EE0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00011F20, 0x00012120, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00012140, 0x00012340, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00012360, 0x00012560, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00012580, 0x00012780, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x000127A0, 0x000129A0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x000129C0, 0x00012BC0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x000129C0, 0x00012BE0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00012C00, 0x00012E00, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00012C00, 0x00012E20, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00012E40, 0x00013040, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00012E40, 0x00013060, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00013080, 0x00013280, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00013080, 0x000132A0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x000132C0, 0x000134C0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x000132C0, 0x000134E0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00013500, 0x00013700, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00013500, 0x00013720, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00013740, 0x00013940, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00013740, 0x00013960, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00013980, 0x00013B80, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00013980, 0x00013BA0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00013BC0, 0x00013DC0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00013BC0, 0x00013DE0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00013E00, 0x00014000, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00013E00, 0x00014020, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00014040, 0x00014240, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00014040, 0x00014260, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00014280, 0x00014480, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00014280, 0x000144A0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x000144C0, 0x000146C0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x000144C0, 0x000146E0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00014700, 0x00014900, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00014700, 0x00014920, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00014940, 0x00014B40, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00014940, 0x00014B60, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00014B80, 0x00014D80, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00014B80, 0x00014DA0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00002420, 0x00002620, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00002420, 0x00002640, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00002660, 0x00002860, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00002660, 0x00002880, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x000028A0, 0x00002AA0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x000028A0, 0x00002AC0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00002AE0, 0x00002CE0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00002AE0, 0x00002D00, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00002D20, 0x00002F20, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00002D20, 0x00002F40, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00002F60, 0x00003160, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00002F60, 0x00003180, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x000031A0, 0x000033A0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x000031A0, 0x000033C0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x000033E0, 0x000035E0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x000033E0, 0x00003600, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00003620, 0x00003820, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00003620, 0x00003840, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00003860, 0x00003A60, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00003860, 0x00003A80, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00003AA0, 0x00003CA0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00003AA0, 0x00003CC0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00003CE0, 0x00003EE0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00003CE0, 0x00003F00, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00003F20, 0x00004120, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00003F20, 0x00004140, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00004160, 0x00004360, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00004160, 0x00004380, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x000043A0, 0x000045A0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x000043A0, 0x000045C0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x000045E0, 0x000047E0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x000045E0, 0x00004800, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00004820, 0x00004A20, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00004820, 0x00004A40, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00004A60, 0x00004C60, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00004A60, 0x00004C80, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00004CA0, 0x00004EA0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00004CA0, 0x00004EC0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00004EE0, 0x000050E0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00004EE0, 0x00005100, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00005120, 0x00005320, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00005120, 0x00005340, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00005360, 0x00005560, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00005360, 0x00005580, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x000055A0, 0x000057A0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x000055A0, 0x000057C0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x000057E0, 0x000059E0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x000057E0, 0x00005A00, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00005A20, 0x00005C20, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00005A20, 0x00005C40, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00005C60, 0x00005E60, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00005C60, 0x00005E80, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00005EA0, 0x000060A0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00005EA0, 0x000060C0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x000060E0, 0x000062E0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x000060E0, 0x00006300, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00006320, 0x00006520, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00006320, 0x00006540, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00006560, 0x00006760, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00006560, 0x00006780, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x000067A0, 0x000069A0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x000067A0, 0x000069C0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x000069E0, 0x00006BE0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x000069E0, 0x00006C00, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00006C20, 0x00006E20, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00006C20, 0x00006E40, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00006E60, 0x00007060, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00006E60, 0x00007080, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x000070A0, 0x000072A0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x000070A0, 0x000072C0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x000072E0, 0x000074E0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x000072E0, 0x00007500, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00007520, 0x00007720, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00007520, 0x00007740, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00007760, 0x00007960, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00007760, 0x00007980, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x000079A0, 0x00007BA0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x000079A0, 0x00007BC0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00007BE0, 0x00007DE0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00007BE0, 0x00007E00, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00007E20, 0x00008020, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00007E20, 0x00008040, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00008060, 0x00008260, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00008060, 0x00008280, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x000082A0, 0x000084A0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x000082A0, 0x000084C0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x000084E0, 0x000086E0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x000084E0, 0x00008700, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00008720, 0x00008920, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00008720, 0x00008940, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00008960, 0x00008B60, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00008960, 0x00008B80, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00008BA0, 0x00008DA0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00008BA0, 0x00008DC0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00008DE0, 0x00008FE0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00008DE0, 0x00009000, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00014DC0, 0x00014FC0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00014DC0, 0x00014FE0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00015000, 0x00015200, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00015000, 0x00015220, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00015240, 0x00015440, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00015240, 0x00015460, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00015480, 0x00015680, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00015480, 0x000156A0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x000156C0, 0x000158C0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x000156C0, 0x000158E0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00015900, 0x00015B00, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00015900, 0x00015B20, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00015B40, 0x00015D40, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00015B40, 0x00015D60, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00015D80, 0x00015F80, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00015D80, 0x00015FA0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00015FC0, 0x000161C0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00015FC0, 0x000161E0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00016200, 0x00016400, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00016200, 0x00016420, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00016440, 0x00016640, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00016440, 0x00016660, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00016680, 0x00016880, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00016680, 0x000168A0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x000168C0, 0x00016AC0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x000168C0, 0x00016AE0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00016B00, 0x00016D00, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00016B00, 0x00016D20, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00016D40, 0x00016F40, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00016D40, 0x00016F60, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00016F80, 0x00017180, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00016F80, 0x000171A0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x000171C0, 0x000173C0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x000171C0, 0x000173E0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00017400, 0x00017600, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00017400, 0x00017620, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00017640, 0x00017840, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00017640, 0x00017860, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00017880, 0x00017A80, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00017880, 0x00017AA0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00017AC0, 0x00017CC0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00017AC0, 0x00017CE0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00017D00, 0x00017F00, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00017D00, 0x00017F20, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00017F40, 0x00018140, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00017F40, 0x00018160, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00018180, 0x00018380, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00018180, 0x000183A0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x000183C0, 0x000185C0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x000183C0, 0x000185E0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00018600, 0x00018800, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00018600, 0x00018820, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00018840, 0x00018A40, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00018840, 0x00018A60, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00018A80, 0x00018C80, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00018A80, 0x00018CA0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00018CC0, 0x00018EC0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00018CC0, 0x00018EE0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00018F00, 0x00019100, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00018F00, 0x00019120, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00019140, 0x00019340, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00019140, 0x00019360, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00019380, 0x00019580, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00019380, 0x000195A0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x000195C0, 0x000197C0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x000195C0, 0x000197E0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00019800, 0x00019A00, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00019800, 0x00019A20, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00019A40, 0x00019C40, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00019A40, 0x00019C60, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00019C80, 0x00019E80, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00019C80, 0x00019EA0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00019EC0, 0x0001A0C0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00019EC0, 0x0001A0E0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001A100, 0x0001A300, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001A100, 0x0001A320, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001A340, 0x0001A540, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001A340, 0x0001A560, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001A580, 0x0001A780, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001A580, 0x0001A7A0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001A7C0, 0x0001A9C0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001A7C0, 0x0001A9E0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001AA00, 0x0001AC00, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001AA00, 0x0001AC20, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001AC40, 0x0001AE40, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001AC40, 0x0001AE60, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001AE80, 0x0001B080, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001AE80, 0x0001B0A0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001B0C0, 0x0001B2C0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001B0C0, 0x0001B2E0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001B300, 0x0001B500, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001B300, 0x0001B520, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001B540, 0x0001B740, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001B540, 0x0001B760, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001B780, 0x0001B980, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001B780, 0x0001B9A0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001B9C0, 0x0001BBC0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001B9C0, 0x0001BBE0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001BC00, 0x0001BE00, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001BC00, 0x0001BE20, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001BE40, 0x0001C040, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001BE40, 0x0001C060, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001C080, 0x0001C280, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001C080, 0x0001C2A0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001C2C0, 0x0001C4C0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001C2C0, 0x0001C4E0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001C500, 0x0001C700, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001C500, 0x0001C720, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001C740, 0x0001C940, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001C740, 0x0001C960, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001C980, 0x0001CB80, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001C980, 0x0001CBA0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001CBC0, 0x0001CDC0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001CBC0, 0x0001CDE0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001CE00, 0x0001D000, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001CE00, 0x0001D020, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001D040, 0x0001D240, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001D040, 0x0001D260, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001D280, 0x0001D480, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001D280, 0x0001D4A0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001D4C0, 0x0001D6C0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001D4C0, 0x0001D6E0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001D700, 0x0001D900, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001D700, 0x0001D920, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001D940, 0x0001DB40, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001D940, 0x0001DB60, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001DB80, 0x0001DD80, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001DB80, 0x0001DDA0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001DDC0, 0x0001DFC0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001DDC0, 0x0001DFE0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001E000, 0x0001E200, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001E000, 0x0001E220, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001E240, 0x0001E440, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001E240, 0x0001E460, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001E480, 0x0001E680, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001E480, 0x0001E6A0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001E6C0, 0x0001E8C0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001E6C0, 0x0001E8E0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001E900, 0x0001EB00, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001E900, 0x0001EB20, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001EB40, 0x0001ED40, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001EB40, 0x0001ED60, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001ED80, 0x0001EF80, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001ED80, 0x0001EFA0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001EFC0, 0x0001F1C0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001EFC0, 0x0001F1E0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001F200, 0x0001F400, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001F200, 0x0001F420, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001F440, 0x0001F640, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001F440, 0x0001F660, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001F680, 0x0001F880, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001F680, 0x0001F8A0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001F8C0, 0x0001FAC0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001F8C0, 0x0001FAE0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001FB00, 0x0001FD00, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001FB00, 0x0001FD20, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001FD40, 0x0001FF40, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001FD40, 0x0001FF60, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001FF80, 0x00020180, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0001FF80, 0x000201A0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x000201C0, 0x000203C0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x000201C0, 0x000203E0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00020400, 0x00020600, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00020400, 0x00020620, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00020640, 0x00020840, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00020640, 0x00020860, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00020880, 0x00020A80, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00020880, 0x00020AA0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00020AC0, 0x00020CC0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00020AC0, 0x00020CE0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00020D00, 0x00020F00, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00020D00, 0x00020F20, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00020F40, 0x00021140, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00020F40, 0x00021160, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00021180, 0x00021380, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00021180, 0x000213A0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x000213C0, 0x000215C0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x000213C0, 0x000215E0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00021600, 0x00021800, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00021600, 0x00021820, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00021840, 0x00021A40, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00021840, 0x00021A60, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00021A80, 0x00021C80, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00021A80, 0x00021CA0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00021CC0, 0x00021EC0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00021CC0, 0x00021EE0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00021F00, 0x00022100, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00021F00, 0x00022120, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00022140, 0x00022340, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00022140, 0x00022360, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00022380, 0x00022580, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00022380, 0x000225A0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x000225C0, 0x000227C0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x000225C0, 0x000227E0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00022800, 0x00022A00, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00022800, 0x00022A20, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00022A40, 0x00022C40, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00022A40, 0x00022C60, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00022C80, 0x00022E80, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00022C80, 0x00022EA0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00022EC0, 0x000230C0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00022EC0, 0x000230E0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00023100, 0x00023300, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00023100, 0x00023320, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00023340, 0x00023540, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00023340, 0x00023560, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00023580, 0x00023780, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00023580, 0x000237A0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0002A3C0, 0x0002A5C0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0002A3C0, 0x0002A5E0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0002A600, 0x0002A800, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0002A600, 0x0002A820, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0002A840, 0x0002AA40, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0002A840, 0x0002AA60, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0002AA80, 0x0002AC80, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0002AA80, 0x0002ACA0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0002ACC0, 0x0002AEC0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0002ACC0, 0x0002AEE0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0002AF00, 0x0002B100, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0002AF00, 0x0002B120, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0002B140, 0x0002B340, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0002B140, 0x0002B360, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0002B380, 0x0002B580, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0002B380, 0x0002B5A0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0002B5C0, 0x0002B7C0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0002B5C0, 0x0002B7E0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0002B800, 0x0002BA00, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0002B800, 0x0002BA20, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0002BA40, 0x0002BC40, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0002BA40, 0x0002BC60, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0002BC80, 0x0002BE80, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0002BC80, 0x0002BEA0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0002BEC0, 0x0002C0C0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0002BEC0, 0x0002C0E0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0002C100, 0x0002C300, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0002C100, 0x0002C320, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0002C340, 0x0002C540, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0002C340, 0x0002C560, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0002C580, 0x0002C780, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0002C580, 0x0002C7A0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x000237C0, 0x000239C0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x000237C0, 0x000239E0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00023A00, 0x00023C00, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00023A00, 0x00023C20, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00023C40, 0x00023E40, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00023C40, 0x00023E60, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00023E80, 0x00024080, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00023E80, 0x000240A0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x000240C0, 0x000242C0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x000240C0, 0x000242E0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00024300, 0x00024500, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00024300, 0x00024520, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00024540, 0x00024740, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00024540, 0x00024760, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00024780, 0x00024980, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00024780, 0x000249A0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x000249C0, 0x00024BC0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x000249C0, 0x00024BE0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00024C00, 0x00024E00, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00024C00, 0x00024E20, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00024E40, 0x00025040, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00024E40, 0x00025060, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00025080, 0x00025280, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00025080, 0x000252A0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x000252C0, 0x000254C0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x000252C0, 0x000254E0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00025500, 0x00025700, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00025500, 0x00025720, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00025740, 0x00025940, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00025740, 0x00025960, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00025980, 0x00025B80, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00025980, 0x00025BA0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00025BC0, 0x00025DC0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00025BC0, 0x00025DE0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00025E00, 0x00026000, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00025E00, 0x00026020, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00026040, 0x00026240, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00026040, 0x00026260, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00026280, 0x00026480, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00026280, 0x000264A0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x000264C0, 0x000266C0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x000264C0, 0x000266E0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00026700, 0x00026900, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00026700, 0x00026920, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00026940, 0x00026B40, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00026940, 0x00026B60, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00026B80, 0x00026D80, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00026B80, 0x00026DA0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00026DC0, 0x00026FC0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00026DC0, 0x00026FE0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00027000, 0x00027200, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00027000, 0x00027220, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00027240, 0x00027440, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00027240, 0x00027460, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00027480, 0x00027680, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00027480, 0x000276A0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x000276C0, 0x000278C0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x000276C0, 0x000278E0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00027900, 0x00027B00, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00027900, 0x00027B20, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00027B40, 0x00027D40, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00027B40, 0x00027D60, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00027D80, 0x00027F80, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00027D80, 0x00027FA0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00027FC0, 0x000281C0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00027FC0, 0x000281E0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00028200, 0x00028400, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00028200, 0x00028420, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00028440, 0x00028640, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00028440, 0x00028660, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00028680, 0x00028880, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00028680, 0x000288A0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x000288C0, 0x00028AC0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x000288C0, 0x00028AE0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00028B00, 0x00028D00, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00028B00, 0x00028D20, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00028D40, 0x00028F40, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00028D40, 0x00028F60, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00028F80, 0x00029180, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00028F80, 0x000291A0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x000291C0, 0x000293C0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x000291C0, 0x000293E0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00029400, 0x00029600, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00029400, 0x00029620, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00029640, 0x00029840, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00029640, 0x00029860, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00029880, 0x00029A80, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00029880, 0x00029AA0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00029AC0, 0x00029CC0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00029AC0, 0x00029CE0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00029D00, 0x00029F00, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00029D00, 0x00029F20, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00029F40, 0x0002A140, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x00029F40, 0x0002A160, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0002A180, 0x0002A380, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000008, 0x00000005, 0x00000003, 0x00000004, 0x0000000D, 0x0000003C, 0x0002A180, 0x0002A3A0, 0x00000000, 0x00000000, 0x00000003, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x01400000, 0x00000008, 0x00000000, 0x00000000, 0x00000000, 0x10000000, 0x00000000, 0x002600A0, 0x00380000, 0x00000008, 0xFFFF0000, 0x00000000, 0x00000000, 0x10200000, 0x00000000, 0x002600A1, 0x00390000, 0x00000002, 0xFFFF0000, 0x00000000, 0x00000000, 0x10200000, 0x00000000, 0x002600A2, 0x003A0000, 0x00000001, 0xFFFF0000, 0x00000000, 0x00000000, 0x10200000, 0x00000000, 0x002600A3, 0x003B0000, 0x00000008, 0xFFFF0000, 0x00000000, 0x00000000, 0x10200000, 0x00000000, 0x002600A4, 0x003C0000, 0x00000001, 0xFFFF0000, 0x00000000, 0x00000000, 0x10200000, 0x00000000, 0x002600A5, 0x003D0000, 0x00000002, 0xFFFF0000, 0x00000000, 0x00000000, 0x10200000, 0x00000000, 0x002600A6, 0x003E0000, 0x00000002, 0xFFFF0000, 0x002500A6, 0x002300A6, 0x10080000, 0x00000000, 0x00000000, 0x01400000, 0x00000002, 0xFFFF0000, 0x00000000, 0x00000000, 0x10200000, 0x00000000, 0x00000000, 0x01400000, 0x00000002, 0xFFFF0000, 0x00000000, 0x00000000, 0x10200000, 0x00000000, 0x002600E2, 0x00780000, 0x00000002, 0xFFFF0000, 0x002500E2, 0x002300E2, 0x10080000, 0x00000000, 0x002600E3, 0x00790000, 0x00000002, 0xFFFF0000, 0x002500E3, 0x002300E3, 0x10080000, 0x00000000, 0x002600E4, 0x007A0000, 0x00000002, 0xFFFF0000, 0x002500E4, 0x002300E4, 0x10080000, 0x00000000, 0x002600E5, 0x007B0000, 0x00000002, 0xFFFF0000, 0x002500E5, 0x002300E5, 0x10080000, 0x00000000, 0x002600E6, 0x007C0000, 0x00000002, 0xFFFF0000, 0x002500E6, 0x002300E6, 0x10080000, 0x00000000, 0x002600E7, 0x00620000, 0x00000002, 0xFFFF0000, 0x002500E7, 0x002300E7, 0x10080000, 0x00000000, 0x002600A7, 0x00400000, 0x00000008, 0xFFFF0000, 0x002500A7, 0x002300A7, 0x10090000, 0x00000000, 0x002600A8, 0x00410000, 0x00000008, 0xFFFF0000, 0x002500A8, 0x002300A8, 0x10090000, 0x00000000, 0x002600B0, 0x00470000, 0x00000008, 0xFFFF0000, 0x002500B0, 0x002300B0, 0x10090000, 0x00000000, 0x002600A9, 0x00420000, 0x00000008, 0xFFFF0000, 0x002500A9, 0x002300A9, 0x10090000, 0x00000000, 0x002600AA, 0x00430000, 0x00000008, 0xFFFF0000, 0x002500AA, 0x002300AA, 0x10090000, 0x00000000, 0x002600B3, 0x004C0000, 0x00000008, 0xFFFF0000, 0x002500B3, 0x002300B3, 0x10090000, 0x00000000, 0x002600B4, 0x004A0000, 0x00000008, 0xFFFF0000, 0x002500B4, 0x002300B4, 0x10090000, 0x00000000, 0x002600B5, 0x004B0000, 0x00000008, 0xFFFF0000, 0x002500B5, 0x002300B5, 0x10090000, 0x00000000, 0x002600B2, 0x00490000, 0x00000008, 0xFFFF0000, 0x002500B2, 0x002300B2, 0x10090000, 0x00000000, 0x002600AF, 0x00460000, 0x00000008, 0xFFFF0000, 0x002500AF, 0x002300AF, 0x10090000, 0x00000000, 0x002600AB, 0x00440000, 0x00000008, 0xFFFF0000, 0x002500AB, 0x002300AB, 0x10090000, 0x00000000, 0x00000000, 0x004D0000, 0x00000008, 0xFFFF0000, 0x00000000, 0x00000000, 0x10090000, 0x00000000, 0x002600B7, 0x00500000, 0x00000008, 0xFFFF0000, 0x002500B7, 0x002300B7, 0x10090000, 0x00000000, 0x002600B8, 0x00510000, 0x00000008, 0xFFFF0000, 0x002500B8, 0x002300B8, 0x10090000, 0x00000000, 0x002600C4, 0x005D0000, 0x00000008, 0xFFFF0000, 0x002500C4, 0x002300C4, 0x10090000, 0x00000000, 0x002600B9, 0x00520000, 0x00000008, 0xFFFF0000, 0x002500B9, 0x002300B9, 0x10090000, 0x00000000, 0x002600BA, 0x00530000, 0x00000008, 0xFFFF0000, 0x002500BA, 0x002300BA, 0x10090000, 0x00000000, 0x002600BB, 0x00540000, 0x00000008, 0xFFFF0000, 0x002500BB, 0x002300BB, 0x10090000, 0x00000000, 0x002600B6, 0x004F0000, 0x00000008, 0xFFFF0000, 0x002500B6, 0x002300B6, 0x10090000, 0x00000000, 0x002600BC, 0x00550000, 0x00000008, 0xFFFF0000, 0x002500BC, 0x002300BC, 0x10090000, 0x00000000, 0x002600BD, 0x00560000, 0x00000008, 0xFFFF0000, 0x002500BD, 0x002300BD, 0x10090000, 0x00000000, 0x002600BE, 0x00570000, 0x00000008, 0xFFFF0000, 0x002500BE, 0x002300BE, 0x10090000, 0x00000000, 0x00000000, 0x00580000, 0x00000008, 0xFFFF0000, 0x00000000, 0x00000000, 0x10090000, 0x00000000, 0x002600C9, 0x007D0000, 0x00000008, 0xFFFF0000, 0x002500C9, 0x002300C9, 0x10090000, 0x00000000, 0x00000000, 0x00650000, 0x00000008, 0xFFFF0000, 0x00000000, 0x00000000, 0x10090000, 0x00000000, 0x002600CB, 0x00660000, 0x00000008, 0xFFFF0000, 0x002500CB, 0x002300CB, 0x10090000, 0x00000000, 0x002600CC, 0x00670000, 0x00000008, 0xFFFF0000, 0x002500CC, 0x002300CC, 0x10090000, 0x00000000, 0x002600C0, 0x00590000, 0x00000008, 0xFFFF0000, 0x002500C0, 0x002300C0, 0x10090000, 0x00000000, 0x002600C1, 0x005A0000, 0x00000008, 0xFFFF0000, 0x002500C1, 0x002300C1, 0x10090000, 0x00000000, 0x002600C2, 0x005B0000, 0x00000008, 0xFFFF0000, 0x002500C2, 0x002300C2, 0x10090000, 0x00000000, 0x002600C3, 0x005C0000, 0x00000008, 0xFFFF0000, 0x002500C3, 0x002300C3, 0x10090000, 0x00000000, 0x00000000, 0x00630000, 0x00000008, 0xFFFF0000, 0x00000000, 0x00000000, 0x10090000, 0x00000000, 0x002600CA, 0x00640000, 0x00000008, 0xFFFF0000, 0x002500CA, 0x002300CA, 0x10090000, 0x00000000, 0x002600CF, 0x00680000, 0x00000008, 0xFFFF0000, 0x002500CF, 0x002300CF, 0x10090000, 0x00000000, 0x002600D0, 0x00690000, 0x00000008, 0xFFFF0000, 0x002500D0, 0x002300D0, 0x10090000, 0x00000000, 0x002600D2, 0x006A0000, 0x00000008, 0xFFFF0000, 0x002500D2, 0x002300D2, 0x10090000, 0x00000000, 0x002600D3, 0x006B0000, 0x00000008, 0xFFFF0000, 0x002500D3, 0x002300D3, 0x10090000, 0x00000000, 0x00000000, 0x00880000, 0x00000008, 0xFFFF0000, 0x00000000, 0x00000000, 0x10090000, 0x00000000, 0x002600EB, 0x00880000, 0x00000008, 0xFFFF0000, 0x002500EB, 0x002300EB, 0x10090000, 0x00000000, 0x002600EC, 0x00880000, 0x00000008, 0xFFFF0000, 0x002500EC, 0x002300EC, 0x10090000, 0x00000000, 0x002600ED, 0x00880000, 0x00000008, 0xFFFF0000, 0x002500ED, 0x002300ED, 0x10090000, 0x00000000, 0x002600EE, 0x00880000, 0x00000008, 0xFFFF0000, 0x002500EE, 0x002300EE, 0x10090000, 0x00000000, 0x002600EF, 0x00880000, 0x00000008, 0xFFFF0000, 0x002500EF, 0x002300EF, 0x10090000, 0x00000000, 0x002600F0, 0x00880000, 0x00000008, 0xFFFF0000, 0x002500F0, 0x002300F0, 0x10090000, 0x00000000, 0x002600F1, 0x00880000, 0x00000008, 0xFFFF0000, 0x002500F1, 0x002300F1, 0x10090000, 0x00000000, 0x002600F2, 0x00880000, 0x00000008, 0xFFFF0000, 0x002500F2, 0x002300F2, 0x10090000, 0x00000000, 0x002600F3, 0x00880000, 0x00000008, 0xFFFF0000, 0x002500F3, 0x002300F3, 0x10090000, 0x00000000, 0x00000000, 0x00880000, 0x00000008, 0xFFFF0000, 0x00000000, 0x00000000, 0x10090000, 0x00000000, 0x002600F4, 0x00880000, 0x00000008, 0xFFFF0000, 0x002500F4, 0x002300F4, 0x10090000, 0x00000000, 0x002600F5, 0x00880000, 0x00000008, 0xFFFF0000, 0x002500F5, 0x002300F5, 0x10090000, 0x00000000, 0x00000000, 0x00880000, 0x00000008, 0xFFFF0000, 0x00000000, 0x00000000, 0x10090000, 0x00000000, 0x00000000, 0x00880000, 0x00000008, 0xFFFF0000, 0x00000000, 0x00000000, 0x10090000, 0x00000000, 0x00000000, 0x00880000, 0x00000008, 0xFFFF0000, 0x00000000, 0x00000000, 0x10090000, 0x00000000, 0x002600F6, 0x00880000, 0x00000008, 0xFFFF0000, 0x002500F6, 0x002300F6, 0x10090000, 0x00000000, 0x002600F7, 0x00880000, 0x00000008, 0xFFFF0000, 0x002500F7, 0x002300F7, 0x10090000, 0x00000000, 0x002600F8, 0x00880000, 0x00000008, 0xFFFF0000, 0x002500F8, 0x002300F8, 0x10090000, 0x00000000, 0x002600F9, 0x00880000, 0x00000008, 0xFFFF0000, 0x002500F9, 0x002300F9, 0x10090000, 0x00000000, 0x002600FA, 0x00880000, 0x00000008, 0xFFFF0000, 0x002500FA, 0x002300FA, 0x10090000, 0x00000000, 0x002600FB, 0x00880000, 0x00000008, 0xFFFF0000, 0x002500FB, 0x002300FB, 0x10090000, 0x00000000, 0x002600FC, 0x00880000, 0x00000008, 0xFFFF0000, 0x002500FC, 0x002300FC, 0x10090000, 0x00000000, 0x002600FD, 0x00880000, 0x00000008, 0xFFFF0000, 0x002500FD, 0x002300FD, 0x10090000, 0x00000000, 0x00000000, 0x00880000, 0x00000008, 0xFFFF0000, 0x00000000, 0x00000000, 0x10090000, 0x00000000, 0x002600FE, 0x00880000, 0x00000008, 0xFFFF0000, 0x002500FE, 0x002300FE, 0x10090000, 0x00000000, 0x002600FF, 0x00880000, 0x00000008, 0xFFFF0000, 0x002500FF, 0x002300FF, 0x10090000, 0x00000000, 0x00260100, 0x00880000, 0x00000008, 0xFFFF0000, 0x00250100, 0x00230100, 0x10090000, 0x00000000, 0x00260101, 0x00880000, 0x00000008, 0xFFFF0000, 0x00250101, 0x00230101, 0x10090000, 0x00000000, 0x00260102, 0x00880000, 0x00000008, 0xFFFF0000, 0x00250102, 0x00230102, 0x10090000, 0x00000000, 0x002600B1, 0x00480000, 0x00000008, 0xFFFF0000, 0x002500B1, 0x002300B1, 0x10090000, 0x00000000, 0x002600EA, 0x00880000, 0x00000008, 0xFFFF0000, 0x002500EA, 0x002300EA, 0x10090000, 0x00000000, 0x00000000, 0x00880000, 0x00000008, 0xFFFF0000, 0x00000000, 0x00000000, 0x10090000, 0x00000000, 0x002600AE, 0x00450000, 0x00000008, 0xFFFF0000, 0x002500AE, 0x002300AE, 0x10090000, 0x00000000, 0x002600C5, 0x005E0000, 0x00000008, 0xFFFF0000, 0x002500C5, 0x002300C5, 0x10090000, 0x00000000, 0x002600C6, 0x005F0000, 0x00000008, 0xFFFF0000, 0x002500C6, 0x002300C6, 0x10090000, 0x00000000, 0x002600C7, 0x00600000, 0x00000008, 0xFFFF0000, 0x002500C7, 0x002300C7, 0x10090000, 0x00000000, 0x002600C8, 0x00610000, 0x00000008, 0xFFFF0000, 0x002500C8, 0x002300C8, 0x10090000, 0x00000000, 0x002600CD, 0x00490000, 0x00000008, 0xFFFF0000, 0x002500CD, 0x002300CD, 0x10090000, 0x00000000, 0x00260104, 0x00810000, 0x00000008, 0xFFFF0000, 0x00250104, 0x00230104, 0x10090000, 0x00000000, 0x002600D8, 0x01160000, 0x00000008, 0xFFFF0000, 0x002500D8, 0x002300D8, 0x10090000, 0x00000000, 0x002600D9, 0x01150000, 0x00000008, 0xFFFF0000, 0x002500D9, 0x002300D9, 0x10090000, 0x00000000, 0x002600DA, 0x01170000, 0x00000008, 0xFFFF0000, 0x002500DA, 0x002300DA, 0x10090000, 0x00000000, 0x002600DB, 0x01180000, 0x00000008, 0xFFFF0000, 0x002500DB, 0x002300DB, 0x10090000, 0x00000000, 0x002600DC, 0x01190000, 0x00000008, 0xFFFF0000, 0x002500DC, 0x002300DC, 0x10090000, 0x00000000, 0x002600DD, 0x011A0000, 0x00000008, 0xFFFF0000, 0x002500DD, 0x002300DD, 0x10090000, 0x00000000, 0x002600DE, 0x011B0000, 0x00000008, 0xFFFF0000, 0x002500DE, 0x002300DE, 0x10090000, 0x00000000, 0x002600DF, 0x011C0000, 0x00000008, 0xFFFF0000, 0x002500DF, 0x002300DF, 0x10090000, 0x00000000, 0x002600E0, 0x011D0000, 0x00000008, 0xFFFF0000, 0x002500E0, 0x002300E0, 0x10090000, 0x00000000, 0x002600E1, 0x011E0000, 0x00000008, 0xFFFF0000, 0x002500E1, 0x002300E1, 0x10090000, 0x00000000, 0x002600D6, 0x006F0000, 0x00000008, 0xFFFF0000, 0x002500D6, 0x002300D6, 0x10090000, 0x00000000, 0x002600D7, 0x006E0000, 0x00000008, 0xFFFF0000, 0x002500D7, 0x002300D7, 0x10090000, 0x00000000, 0x002600BF, 0x00700000, 0x00000008, 0xFFFF0000, 0x002500BF, 0x002300BF, 0x10090000, 0x00000000, 0x002600AC, 0x00730000, 0x00000008, 0xFFFF0000, 0x002500AC, 0x002300AC, 0x10090000, 0x00000000, 0x002600AD, 0x00530000, 0x00000008, 0xFFFF0000, 0x002500AD, 0x002300AD, 0x10090000, 0x00000000, 0x002600D1, 0x00710000, 0x00000008, 0xFFFF0000, 0x002500D1, 0x002300D1, 0x10090000, 0x00000000, 0x002600D4, 0x00720000, 0x00000008, 0xFFFF0000, 0x002500D4, 0x002300D4, 0x10090000, 0x00000000, 0x00260103, 0x00800000, 0x00000008, 0xFFFF0000, 0x00250103, 0x00230103, 0x10090000, 0x00000000, 0x00260105, 0x00820000, 0x00000008, 0xFFFF0000, 0x00250105, 0x00230105, 0x10090000, 0x00000000, 0x00260106, 0x00830000, 0x00000008, 0xFFFF0000, 0x00250106, 0x00230106, 0x10090000, 0x00000000, 0x00260107, 0x00840000, 0x00000008, 0xFFFF0000, 0x00250107, 0x00230107, 0x10090000, 0x00000000, 0x00000000, 0x00850000, 0x00000008, 0xFFFF0000, 0x00000000, 0x00000000, 0x10090000, 0x00000000, 0x00260108, 0x00860000, 0x00000008, 0xFFFF0000, 0x00250108, 0x00230108, 0x10090000, 0x00000000, 0x00260109, 0x00870000, 0x00000008, 0xFFFF0000, 0x00250109, 0x00230109, 0x10090000, 0x00000000, 0x00000000, 0x00860000, 0x00000008, 0xFFFF0000, 0x00000000, 0x00000000, 0x10090000, 0x00000000, 0x0026010A, 0x006C0000, 0x00000008, 0xFFFF0000, 0x0025010A, 0x0023010A, 0x10090000, 0x00000000, 0x0026010B, 0x006D0000, 0x00000008, 0xFFFF0000, 0x0025010B, 0x0023010B, 0x10090000, 0x00000000, 0x002600AC, 0x00730000, 0x00000008, 0xFFFF0000, 0x002500AC, 0x002300AC, 0x10090000, 0x00000000, 0x002600CE, 0x00530000, 0x00000008, 0xFFFF0000, 0x002500CE, 0x002300CE, 0x10090000, 0x00000000, 0x002600D5, 0x00530000, 0x00000008, 0xFFFF0000, 0x002500D5, 0x002300D5, 0x10090000, 0x00000000, 0x002600E8, 0x007F0000, 0x00000008, 0xFFFF0000, 0x002500E8, 0x002300E8, 0x10090000, 0x00000000, 0x002600E9, 0x007E0000, 0x00000008, 0xFFFF0000, 0x002500E9, 0x002300E9, 0x10090000, 0x00000000, 0x002600D5, 0x00730000, 0x00000008, 0xFFFF0000, 0x002500D5, 0x002300D5, 0x10090000, 0x00000000, 0x002600D5, 0x00730000, 0x00000008, 0xFFFF0000, 0x002500D5, 0x002300D5, 0x10090000, 0x00000000, 0x002600D5, 0x00730000, 0x00000008, 0xFFFF0000, 0x002500D5, 0x002300D5, 0x10090000, 0x00000000, 0x00260000, 0x01200000, 0x00008002, 0x00040000, 0x00250000, 0x00230000, 0x10060003, 0x00000000, 0x00260001, 0x01210000, 0x00008002, 0x00060000, 0x00250001, 0x00230001, 0x10060004, 0x00000000, 0x00260002, 0x01220000, 0x00008002, 0x00080000, 0x00250002, 0x00230002, 0x10060005, 0x00000000, 0x00260004, 0x01240000, 0x00008002, 0x000F0000, 0x00250004, 0x00230004, 0x10060006, 0x00000000, 0x00260003, 0x01230000, 0x00008003, 0x00040000, 0x00250003, 0x00230003, 0x10060005, 0x00000000, 0x00260006, 0x01260000, 0x00008003, 0x00010000, 0x00250006, 0x00230006, 0x10060001, 0x00000000, 0x00260005, 0x01250000, 0x00008003, 0x00010000, 0x00250005, 0x00230005, 0x10060001, 0x00000000, 0x00000000, 0x013D0000, 0x00008003, 0x00010000, 0x00000000, 0x00000000, 0x10060000, 0x00000000, 0x00260007, 0x01280000, 0x00000008, 0x000F0000, 0x00250007, 0x00230007, 0x10060003, 0x00000000, 0x0026000E, 0x00FD0000, 0x00000009, 0x00010000, 0x0025000E, 0x0023000E, 0x11870000, 0x00000000, 0x00260009, 0x00F80000, 0x00000009, 0x00020000, 0x00250009, 0x00230009, 0x10870005, 0x00000000, 0x00260008, 0x01290000, 0x00000008, 0x00070000, 0x00250008, 0x00230008, 0x10860004, 0x00000000, 0x0026000A, 0x00F90000, 0x00000009, 0x00070000, 0x0025000A, 0x0023000A, 0x1087000A, 0x00000000, 0x0026000D, 0x00FC0000, 0x00000009, 0x00010000, 0x0025000D, 0x0023000D, 0x10870001, 0x00000000, 0x0026000B, 0x00FA0000, 0x00000009, 0x00320000, 0x0025000B, 0x0023000B, 0x10870032, 0x00000000, 0x00260026, 0x01300000, 0x00008002, 0x00040000, 0x00250026, 0x00230026, 0x10060003, 0x00000000, 0x00260027, 0x01320000, 0x00008002, 0x00030000, 0x00250027, 0x00230027, 0x10060002, 0x00000000, 0x00000000, 0x01330000, 0x00000008, 0x000A0000, 0x00000000, 0x00000000, 0x11860002, 0x00000000, 0x00260028, 0x01340000, 0x00008002, 0x000A0000, 0x00250028, 0x00230028, 0x10060004, 0x00000000, 0x00260019, 0x01130000, 0x00000009, 0x001E0000, 0x00250019, 0x00230019, 0x10870019, 0x19000000, 0x0026001A, 0x01140000, 0x00000009, 0x00020000, 0x0025001A, 0x0023001A, 0x10870005, 0x00000000, 0x0026000C, 0x00FB0000, 0x00000009, 0x00140000, 0x0025000C, 0x0023000C, 0x1087000A, 0x00000000, 0x0026002B, 0x013B0000, 0x00000008, 0x00010000, 0x0025002B, 0x0023002B, 0x10060000, 0x00000000, 0x0026002C, 0x013C0000, 0x00000008, 0x000F0000, 0x0025002C, 0x0023002C, 0x10060002, 0x00000000, 0x0026002A, 0x013A0000, 0x00008002, 0x00030000, 0x0025002A, 0x0023002A, 0x10060000, 0x00000000, 0x00000000, 0x01380000, 0x00000008, 0x00050000, 0x00000000, 0x00000000, 0x10060000, 0x00000000, 0x00260029, 0x01350000, 0x00008002, 0x00060000, 0x00250029, 0x00230029, 0x10060003, 0x00000000, 0x0026000F, 0x00FE0000, 0x00000009, 0x00030000, 0x0025000F, 0x0023000F, 0x11870000, 0x05000000, 0x00260015, 0x01070000, 0x00000009, 0x00010000, 0x00250015, 0x00230015, 0x10870001, 0x02000000, 0x00260014, 0x01060000, 0x00000009, 0x00010000, 0x00250014, 0x00230014, 0x10870000, 0x03000000, 0x00260010, 0x00FF0000, 0x00000009, 0x00020000, 0x00250010, 0x00230010, 0x10870000, 0x05000000, 0x00260011, 0x01000000, 0x00000009, 0x00020000, 0x00250011, 0x00230011, 0x10870005, 0x00000000, 0x00260012, 0x01010000, 0x00000009, 0x00020000, 0x00250012, 0x00230012, 0x10870003, 0x03000000, 0x00260013, 0x01020000, 0x00000009, 0x00030000, 0x00250013, 0x00230013, 0x10870005, 0x00000000, 0x00260018, 0x01120000, 0x00000009, 0x00320000, 0x00250018, 0x00230018, 0x10870000, 0x32000000, 0x00260017, 0x01110000, 0x00000009, 0x000A0000, 0x00250017, 0x00230017, 0x11870000, 0x0A000000, 0x00260016, 0x01100000, 0x00000009, 0x00030000, 0x00250016, 0x00230016, 0x11870000, 0x05000000, 0x0026001B, 0x01030000, 0x00000009, 0x00020000, 0x0025001B, 0x0023001B, 0x10870000, 0x03000000, 0x0026001C, 0x01040000, 0x00000009, 0x00010000, 0x0025001C, 0x0023001C, 0x10870000, 0x03000000, 0x0026001D, 0x01050000, 0x00000009, 0x00040000, 0x0025001D, 0x0023001D, 0x10870003, 0x02000000, 0x0026001E, 0x01080000, 0x00000009, 0x00050000, 0x0025001E, 0x0023001E, 0x1087000F, 0x00000000, 0x0026001F, 0x01090000, 0x00000009, 0x00020000, 0x0025001F, 0x0023001F, 0x10870000, 0x05000000, 0x00260020, 0x010A0000, 0x00000009, 0x00030000, 0x00250020, 0x00230020, 0x10870000, 0x01000000, 0x00260021, 0x010B0000, 0x00000009, 0x00020000, 0x00250021, 0x00230021, 0x10870005, 0x00000000, 0x00260022, 0x010C0000, 0x00008003, 0x00010000, 0x00250022, 0x00230022, 0x10060003, 0x00000000, 0x00260023, 0x010D0000, 0x00000009, 0x00070000, 0x00250023, 0x00230023, 0x1087000F, 0x00000000, 0x00260024, 0x010E0000, 0x00000009, 0x00010000, 0x00250024, 0x00230024, 0x10870000, 0x05000000, 0x00260025, 0x010F0000, 0x00000009, 0x00030000, 0x00250025, 0x00230025, 0x10870005, 0x00000000, 0x0026002D, 0x00010000, 0x00000009, 0x000A0000, 0x0025002D, 0x0023002D, 0x11870004, 0x04000000, 0x0026002E, 0x00020000, 0x00000009, 0x000A0000, 0x0025002E, 0x0023002E, 0x10870005, 0x0F000000, 0x00260035, 0x00030000, 0x00000009, 0x004B0000, 0x00250035, 0x00230035, 0x10870032, 0x05000000, 0x00260036, 0x00040000, 0x00000009, 0x00640000, 0x00250036, 0x00230036, 0x10870032, 0x0A000000, 0x00260037, 0x00050000, 0x00000009, 0x00960000, 0x00250037, 0x00230037, 0x10870032, 0x32000000, 0x00260038, 0x00060000, 0x00000009, 0x000A0000, 0x00250038, 0x00230038, 0x10870007, 0x07000000, 0x00260039, 0x00070000, 0x00000009, 0x00050000, 0x00250039, 0x00230039, 0x10870006, 0x02000000, 0x0026003C, 0x00080000, 0x00000009, 0x00140000, 0x0025003C, 0x0023003C, 0x1087000A, 0x0A000000, 0x0026003B, 0x00090000, 0x00000009, 0x002D0000, 0x0025003B, 0x0023003B, 0x1087001E, 0x0A000000, 0x0026003A, 0x000A0000, 0x00000009, 0x000F0000, 0x0025003A, 0x0023003A, 0x1087000F, 0x05000000, 0x0026003D, 0x000B0000, 0x00000009, 0x00320000, 0x0025003D, 0x0023003D, 0x1087001E, 0x14000000, 0x0026003F, 0x000E0000, 0x00000009, 0x000F0000, 0x0025003F, 0x0023003F, 0x10870014, 0x14000000, 0x00260042, 0x000C0000, 0x00000009, 0x00190000, 0x00250042, 0x00230042, 0x11870000, 0x28000000, 0x0026003E, 0x000D0000, 0x00000009, 0x000A0000, 0x0025003E, 0x0023003E, 0x1087000A, 0x0A000000, 0x00260040, 0x000F0000, 0x00000009, 0x003C0000, 0x00250040, 0x00230040, 0x10870028, 0x28000000, 0x00260041, 0x00100000, 0x00000009, 0x000A0000, 0x00250041, 0x00230041, 0x11870000, 0x14000000, 0x00260043, 0x00110000, 0x00000009, 0x000A0000, 0x00250043, 0x00230043, 0x10870000, 0x14000000, 0x00260044, 0x00120000, 0x00000009, 0x000A0000, 0x00250044, 0x00230044, 0x10870000, 0x0F000000, 0x00260045, 0x00130000, 0x00000009, 0x00010000, 0x00250045, 0x00230045, 0x10870001, 0x01000000, 0x00260046, 0x00140000, 0x00000009, 0x00030000, 0x00250046, 0x00230046, 0x11870000, 0x07000000, 0x00260032, 0x00150000, 0x00000009, 0x00140000, 0x00250032, 0x00230032, 0x1087000A, 0x05000000, 0x00260033, 0x00160000, 0x00000009, 0x00230000, 0x00250033, 0x00230033, 0x1087000A, 0x0A000000, 0x00260034, 0x00170000, 0x00000009, 0x00640000, 0x00250034, 0x00230034, 0x1087000A, 0x32000000, 0x00260047, 0x00180000, 0x00000009, 0x00070000, 0x00250047, 0x00230047, 0x10870006, 0x04000000, 0x00260048, 0x00190000, 0x00008003, 0x000A0000, 0x00250048, 0x00230048, 0x10060006, 0x00000000, 0x00260049, 0x001A0000, 0x00000009, 0x00070000, 0x00250049, 0x00230049, 0x1087000A, 0x00000000, 0x0026002F, 0x001B0000, 0x00000009, 0x000A0000, 0x0025002F, 0x0023002F, 0x10870005, 0x05000000, 0x0026004A, 0x001C0000, 0x00000009, 0x000F0000, 0x0025004A, 0x0023004A, 0x10870000, 0x14000000, 0x0026004B, 0x001D0000, 0x00000009, 0x00190000, 0x0025004B, 0x0023004B, 0x10870000, 0x0F000000, 0x0026004C, 0x001E0000, 0x00000009, 0x00140000, 0x0025004C, 0x0023004C, 0x108700FF, 0x14000000, 0x0026004D, 0x001F0000, 0x00000009, 0x000F0000, 0x0025004D, 0x0023004D, 0x10870000, 0x14000000, 0x0026004E, 0x00200000, 0x00000009, 0x000C0000, 0x0025004E, 0x0023004E, 0x10870003, 0x0F000000, 0x0026004F, 0x00210000, 0x00000009, 0x000F0000, 0x0025004F, 0x0023004F, 0x10870005, 0x0F000000, 0x00260050, 0x00220000, 0x00000009, 0x00640000, 0x00250050, 0x00230050, 0x10870000, 0x40000000, 0x00260051, 0x00230000, 0x00000009, 0x000A0000, 0x00250051, 0x00230051, 0x10860000, 0x00000000, 0x00260052, 0x00240000, 0x00000009, 0x000C0000, 0x00250052, 0x00230052, 0x10870000, 0x0F000000, 0x00260053, 0x00250000, 0x00000009, 0x000F0000, 0x00250053, 0x00230053, 0x1087000F, 0x00000000, 0x00260054, 0x00260000, 0x00000009, 0x00060000, 0x00250054, 0x00230054, 0x1087000A, 0x00000000, 0x00260055, 0x00270000, 0x00000009, 0x00060000, 0x00250055, 0x00230055, 0x10870000, 0x0A000000, 0x00260030, 0x00280000, 0x00000009, 0x00190000, 0x00250030, 0x00230030, 0x10870005, 0x0A000000, 0x00260056, 0x00290000, 0x00000009, 0x000A0000, 0x00250056, 0x00230056, 0x10870008, 0x08000000, 0x00260057, 0x002A0000, 0x00000009, 0x00140000, 0x00250057, 0x00230057, 0x1087000F, 0x0F000000, 0x00260031, 0x002B0000, 0x00000009, 0x004B0000, 0x00250031, 0x00230031, 0x10870005, 0x32000000, 0x00260031, 0x002B0000, 0x00000009, 0x004B0000, 0x00250031, 0x00230031, 0x10870005, 0x32000000, 0x00260031, 0x002B0000, 0x00000009, 0x004B0000, 0x00250031, 0x00230031, 0x10870005, 0x32000000, 0x00260031, 0x002B0000, 0x00000009, 0x004B0000, 0x00250031, 0x00230031, 0x10870005, 0x32000000, 0x00260031, 0x002B0000, 0x00000009, 0x004B0000, 0x00250031, 0x00230031, 0x10870005, 0x32000000, 0x00260031, 0x002B0000, 0x00000009, 0x004B0000, 0x00250031, 0x00230031, 0x10870005, 0x32000000, 0x00260068, 0x00900017, 0x00000000, 0x004B0000, 0x00250068, 0x00230068, 0x10400800, 0x00000000, 0x0026005E, 0x00910004, 0x00000000, 0x004B0000, 0x0025005E, 0x0023005E, 0x10401F00, 0x00000000, 0x00260073, 0x00920043, 0x00000000, 0x00FA0000, 0x00250073, 0x00230073, 0x10403B00, 0x00000000, 0x00260080, 0x00930028, 0x00000000, 0x00640000, 0x00250080, 0x00230080, 0x10404C00, 0x00000000, 0x00260061, 0x0094000D, 0x00000000, 0x00640000, 0x00250061, 0x00230061, 0x10402000, 0x00000000, 0x0026007F, 0x0095005C, 0x00000000, 0x00640000, 0x0025007F, 0x0023007F, 0x10404000, 0x00000000, 0x00260087, 0x0096006D, 0x00000000, 0x00640000, 0x00250087, 0x00230087, 0x10404D00, 0x00000000, 0x00260071, 0x00970035, 0x00000000, 0x00960000, 0x00250071, 0x00230071, 0x10405200, 0x00000000, 0x0026006A, 0x00980018, 0x00000000, 0x00640000, 0x0025006A, 0x0023006A, 0x10400900, 0x00000000, 0x0026006D, 0x00990021, 0x00000000, 0x00640000, 0x0025006D, 0x0023006D, 0x10403500, 0x00000000, 0x00000000, 0x01400000, 0x00000000, 0x00640000, 0x00000000, 0x00000000, 0x10405300, 0x00000000, 0x0026005C, 0x009C0009, 0x00000000, 0x004B0000, 0x0025005C, 0x0023005C, 0x10402100, 0x00000000, 0x00260097, 0x00A0005B, 0x00000000, 0x004B0000, 0x00250097, 0x00230097, 0x10404100, 0x00000000, 0x00260070, 0x00E30024, 0x00000000, 0x00C80000, 0x00250070, 0x00230070, 0x10403800, 0x00000000, 0x00260069, 0x00A4001D, 0x00000000, 0x004B0000, 0x00250069, 0x00230069, 0x10400A00, 0x00000000, 0x0026005D, 0x00A6000A, 0x00000000, 0x004B0000, 0x0025005D, 0x0023005D, 0x10402200, 0x00000000, 0x00000000, 0x00A80014, 0x00000000, 0x001E0000, 0x00000000, 0x00000000, 0x10400B00, 0x00000000, 0x00260081, 0x00A90055, 0x00000000, 0x00640000, 0x00250081, 0x00230081, 0x10404200, 0x00000000, 0x0026008C, 0x00AA005E, 0x00000000, 0x00640000, 0x0025008C, 0x0023008C, 0x10404300, 0x00000000, 0x0026008D, 0x00AB0070, 0x00000000, 0x001E0000, 0x0025008D, 0x0023008D, 0x10405400, 0x00000000, 0x00260093, 0x00AC0050, 0x00000000, 0x00640000, 0x00250093, 0x00230093, 0x10403C00, 0x00000000, 0x00260078, 0x00AD004F, 0x00000000, 0x00320000, 0x00250078, 0x00230078, 0x10405A00, 0x00000000, 0x00000000, 0x00AE0004, 0x00000000, 0x001E0000, 0x00000000, 0x00000000, 0x10402300, 0x00000000, 0x00260094, 0x00AF006F, 0x00000000, 0x000A0000, 0x00250094, 0x00230094, 0x10404E00, 0x00000000, 0x00260072, 0x00B0003A, 0x00000000, 0x00960000, 0x00250072, 0x00230072, 0x10405B00, 0x00000000, 0x00260086, 0x00B10051, 0x00000000, 0x00320000, 0x00250086, 0x00230086, 0x10405F00, 0x00000000, 0x00260095, 0x00B2005A, 0x00000000, 0x004B0000, 0x00250095, 0x00230095, 0x10403D00, 0x00000000, 0x00260074, 0x00B30046, 0x00000000, 0x00FA0000, 0x00250074, 0x00230074, 0x10404500, 0x00000000, 0x00260096, 0x00B40065, 0x00000000, 0x00320000, 0x00250096, 0x00230096, 0x10406300, 0x00000000, 0x0026009A, 0x00B50065, 0x00000000, 0x00C80000, 0x0025009A, 0x0023009A, 0x10405C00, 0x00000000, 0x00260098, 0x00B60069, 0x00000000, 0x00320000, 0x00250098, 0x00230098, 0x10405D00, 0x00000000, 0x00260079, 0x00B7002A, 0x00000000, 0x00640000, 0x00250079, 0x00230079, 0x10405E00, 0x00000000, 0x00260099, 0x00B8005F, 0x00000000, 0x00640000, 0x00250099, 0x00230099, 0x10404400, 0x00000000, 0x00000000, 0x00B90058, 0x00000000, 0x012C0000, 0x00000000, 0x00000000, 0x10406000, 0x00000000, 0x0026009B, 0x00BA0029, 0x00000000, 0x012C0000, 0x0025009B, 0x0023009B, 0x10404F00, 0x00000000, 0x0026009C, 0x00BB0063, 0x00000000, 0x00320000, 0x0025009C, 0x0023009C, 0x10406100, 0x00000000, 0x0026009D, 0x00BC0064, 0x00000000, 0x00320000, 0x0025009D, 0x0023009D, 0x10406E00, 0x00000000, 0x0026007B, 0x00BD003F, 0x00000000, 0x00FA0000, 0x0025007B, 0x0023007B, 0x10406200, 0x00000000, 0x0026006E, 0x00BE0022, 0x00000000, 0x00C80000, 0x0025006E, 0x0023006E, 0x10403600, 0x00000000, 0x00260066, 0x00A7001C, 0x00000000, 0x004B0000, 0x00250066, 0x00230066, 0x10400D00, 0x00000000, 0x0026006C, 0x009B001A, 0x00000000, 0x00C80000, 0x0025006C, 0x0023006C, 0x10400E00, 0x00000000, 0x00260064, 0x009D0015, 0x00000000, 0x00320000, 0x00250064, 0x00230064, 0x10400F00, 0x00000000, 0x0026005A, 0x00A10005, 0x00000000, 0x00320000, 0x0025005A, 0x0023005A, 0x10402500, 0x00000000, 0x00260065, 0x009E0016, 0x00000000, 0x00640000, 0x00250065, 0x00230065, 0x10401100, 0x00000000, 0x0026005B, 0x00A20006, 0x00000000, 0x00640000, 0x0025005B, 0x0023005B, 0x10402700, 0x00000000, 0x00260084, 0x00D10053, 0x00000000, 0x00320000, 0x00250084, 0x00230084, 0x10406400, 0x00000000, 0x00000000, 0x00A3000F, 0x00000000, 0x00320000, 0x00000000, 0x00000000, 0x10402900, 0x00000000, 0x00000000, 0x009F001F, 0x00000000, 0x00320000, 0x00000000, 0x00000000, 0x10401300, 0x00000000, 0x00000000, 0x00D4002D, 0x00000000, 0x012C0000, 0x00000000, 0x00000000, 0x10406500, 0x00000000, 0x00260085, 0x00D20052, 0x00000000, 0x00320000, 0x00250085, 0x00230085, 0x10404600, 0x00000000, 0x00260083, 0x00D30054, 0x00000000, 0x00320000, 0x00250083, 0x00230083, 0x10404700, 0x00000000, 0x00260076, 0x00C9004E, 0x00000000, 0x00640000, 0x00250076, 0x00230076, 0x10403E00, 0x00000000, 0x00260082, 0x00C60056, 0x00000000, 0x012C0000, 0x00250082, 0x00230082, 0x10404800, 0x00000000, 0x00000000, 0x00C70057, 0x00000000, 0x00640000, 0x00000000, 0x00000000, 0x10406600, 0x00000000, 0x00260077, 0x00CA004D, 0x00000000, 0x00640000, 0x00250077, 0x00230077, 0x10404900, 0x00000000, 0x0026006B, 0x009A0019, 0x00000000, 0x00960000, 0x0025006B, 0x0023006B, 0x10401400, 0x00000000, 0x00000000, 0x00A5000E, 0x00000000, 0x004B0000, 0x00000000, 0x00000000, 0x10402A00, 0x00000000, 0x00000000, 0x00BF0042, 0x00000000, 0x012C0000, 0x00000000, 0x00000000, 0x10406700, 0x00000000, 0x0026007C, 0x00CB0061, 0x00000000, 0x004B0000, 0x0025007C, 0x0023007C, 0x10406800, 0x00000000, 0x0026007D, 0x00CC0062, 0x00000000, 0x004B0000, 0x0025007D, 0x0023007D, 0x10406900, 0x00000000, 0x00260089, 0x00CF006C, 0x00000000, 0x00960000, 0x00250089, 0x00230089, 0x10406A00, 0x00000000, 0x0026008A, 0x00CD006B, 0x00000000, 0x00640000, 0x0025008A, 0x0023008A, 0x10406B00, 0x00000000, 0x0026009E, 0x00D00068, 0x00000000, 0x00C80000, 0x0025009E, 0x0023009E, 0x10406C00, 0x00000000, 0x0026008B, 0x00CE006A, 0x00000000, 0x00320000, 0x0025008B, 0x0023008B, 0x10406D00, 0x00000000, 0x00260088, 0x00C8006E, 0x00000000, 0x00C80000, 0x00250088, 0x00230088, 0x10405000, 0x00000000, 0x00260058, 0x00C00001, 0x00000000, 0x00320000, 0x00250058, 0x00230058, 0x10402B00, 0x00000000, 0x00000000, 0x00C10002, 0x00000000, 0x00640000, 0x00000000, 0x00000000, 0x10402C00, 0x00000000, 0x00260059, 0x00C20003, 0x00000000, 0x00C80000, 0x00250059, 0x00230059, 0x10402D00, 0x00000000, 0x00260062, 0x00C30011, 0x00000000, 0x00320000, 0x00250062, 0x00230062, 0x10401500, 0x00000000, 0x00000000, 0x00C40012, 0x00000000, 0x00640000, 0x00000000, 0x00000000, 0x10401600, 0x00000000, 0x00260063, 0x00C50013, 0x00000000, 0x00C80000, 0x00250063, 0x00230063, 0x10401700, 0x00000000, 0x00260062, 0x01400011, 0x00000000, 0x00320000, 0x00250062, 0x00230062, 0x10401700, 0x00000000, 0x00260062, 0x01400011, 0x00000000, 0x00320000, 0x00250062, 0x00230062, 0x10401700, 0x00000000, 0x0026007E, 0x00E00031, 0x00000000, 0x00320000, 0x0025007E, 0x0023007E, 0x10407100, 0x00000000, 0x00000000, 0x00E10034, 0x00000000, 0x00640000, 0x00000000, 0x00000000, 0x10407200, 0x00000000, 0x00260067, 0x00D8001B, 0x00000000, 0x004B0000, 0x00250067, 0x00230067, 0x10401800, 0x00000000, 0x00000000, 0x0140001E, 0x00000000, 0x00640000, 0x00000000, 0x00000000, 0x10401900, 0x00000000, 0x00000000, 0x00E20027, 0x00000000, 0x012C0000, 0x00000000, 0x00000000, 0x10407300, 0x00000000, 0x00260060, 0x00DA000C, 0x00000000, 0x00640000, 0x00250060, 0x00230060, 0x10402E00, 0x00000000, 0x0026005F, 0x00D90008, 0x00000000, 0x004B0000, 0x0025005F, 0x0023005F, 0x10402F00, 0x00000000, 0x00260075, 0x00DB0049, 0x00000000, 0x00960000, 0x00250075, 0x00230075, 0x10403300, 0x00000000, 0x00000000, 0x00DC000B, 0x00000000, 0x00640000, 0x00000000, 0x00000000, 0x10403000, 0x00000000, 0x0026007E, 0x00E00031, 0x00000000, 0x00320000, 0x0025007E, 0x0023007E, 0x10407100, 0x00000000, 0x0026007E, 0x00E00031, 0x00000000, 0x00320000, 0x0025007E, 0x0023007E, 0x10407100, 0x00000000, 0x00260071, 0x00970035, 0x00000000, 0x00960000, 0x00250071, 0x00230071, 0x10405200, 0x00000000, 0x00260072, 0x00B0003A, 0x00000000, 0x00960000, 0x00250072, 0x00230072, 0x10405B00, 0x00000000, 0x00260079, 0x00B7002A, 0x00000000, 0x00640000, 0x00250079, 0x00230079, 0x10405E00, 0x00000000, 0x00260079, 0x00B7002A, 0x00000000, 0x00640000, 0x00250079, 0x00230079, 0x10405E00, 0x00000000, 0x0026007B, 0x00BD003F, 0x00000000, 0x00FA0000, 0x0025007B, 0x0023007B, 0x10406200, 0x00000000, 0x0026007B, 0x00BD003F, 0x00000000, 0x00FA0000, 0x0025007B, 0x0023007B, 0x10406200, 0x00000000, 0x00260075, 0x00DB0049, 0x00000000, 0x00960000, 0x00250075, 0x00230075, 0x10403300, 0x00000000, 0x00260075, 0x00DB0049, 0x00000000, 0x00960000, 0x00250075, 0x00230075, 0x10403300, 0x00000000, 0x00260073, 0x00920043, 0x00000000, 0x00FA0000, 0x00250073, 0x00230073, 0x10403B00, 0x00000000, 0x00260073, 0x00920043, 0x00000000, 0x00FA0000, 0x00250073, 0x00230073, 0x10403B00, 0x00000000, 0x00260074, 0x00B30046, 0x00000000, 0x00FA0000, 0x00250074, 0x00230074, 0x10404500, 0x00000000, 0x00260074, 0x00B30046, 0x00000000, 0x00FA0000, 0x00250074, 0x00230074, 0x10404500, 0x00000000, 0x0026007A, 0x00DD002E, 0x00000000, 0x00640000, 0x0025007A, 0x0023007A, 0x10407400, 0x00000000, 0x0026007A, 0x00DD002E, 0x00000000, 0x00640000, 0x0025007A, 0x0023007A, 0x10407400, 0x00000000, 0x0026007A, 0x00DD002E, 0x00000000, 0x00640000, 0x0025007A, 0x0023007A, 0x10407400, 0x00000000, 0x0026006F, 0x00E90023, 0x00000000, 0x00640000, 0x0025006F, 0x0023006F, 0x10407500, 0x00000000, 0x0026009F, 0x00E80025, 0x00000000, 0x00640000, 0x0025009F, 0x0023009F, 0x10407600, 0x00000000, 0x0026008E, 0x00EA0073, 0x00000000, 0x001E0000, 0x0025008E, 0x0023008E, 0x10405500, 0x00000000, 0x0026008F, 0x00EB0071, 0x00000000, 0x001E0000, 0x0025008F, 0x0023008F, 0x10405600, 0x00000000, 0x00260090, 0x00EC0074, 0x00000000, 0x001E0000, 0x00250090, 0x00230090, 0x10405700, 0x00000000, 0x00260091, 0x00ED0072, 0x00000000, 0x001E0000, 0x00250091, 0x00230091, 0x10405800, 0x00000000, 0x00260092, 0x00EE0075, 0x00000000, 0x001E0000, 0x00250092, 0x00230092, 0x10405900, 0x00000000, 0x00260071, 0x00970035, 0x00000000, 0x00960000, 0x00250071, 0x00230071, 0x10405200, 0x00000000, 0x00260071, 0x00970035, 0x00000000, 0x00960000, 0x00250071, 0x00230071, 0x10405200, 0x00000000, 0x00260071, 0x00970035, 0x00000000, 0x00960000, 0x00250071, 0x00230071, 0x10405200, 0x00000000, 0x00260072, 0x00B0003A, 0x00000000, 0x00960000, 0x00250072, 0x00230072, 0x10405B00, 0x00000000, 0x00260072, 0x00B0003A, 0x00000000, 0x00960000, 0x00250072, 0x00230072, 0x10405B00, 0x00000000, 0x00260072, 0x00B0003A, 0x00000000, 0x00960000, 0x00250072, 0x00230072, 0x10405B00, 0x00000000, 0x00000000, 0x00F0005D, 0x00000000, 0x00640000, 0x00000000, 0x00000000, 0x10404A00, 0x00000000, 0x00260092, 0x00EE0075, 0x00000000, 0x001E0000, 0x00250092, 0x00230092, 0x10405900, 0x00000000, 0x00260092, 0x00EE0075, 0x00000000, 0x001E0000, 0x00250092, 0x00230092, 0x10405900, 0x00000000, 0x00260092, 0x00EE0075, 0x00000000, 0x001E0000, 0x00250092, 0x00230092, 0x10405900, 0x00000000, 0x00260092, 0x00EE0075, 0x00000000, 0x001E0000, 0x00250092, 0x00230092, 0x10405900, 0x00000000, 0x00000000, 0x01490000, 0x00000008, 0x00010000, 0x00000000, 0x00000000, 0x10400000, 0x00000000, 0x00000000, 0x00310000, 0x00000008, 0xFFFF0000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00320000, 0x00000008, 0x00010000, 0x00000000, 0x00000000, 0x02000000, 0x00000000, 0x00000000, 0x00330000, 0x00000008, 0xFFFF0000, 0x00000000, 0x00000000, 0x02000000, 0x00000000, 0x00000000, 0x00340000, 0x00000008, 0xFFFF0000, 0x00000000, 0x00000000, 0x02000000, 0x00000000, 0x00000000, 0x00350000, 0x00000008, 0xFFFF0000, 0x00000000, 0x00000000, 0x12000000, 0x00000000, 0x00000000, 0x00360000, 0x00000008, 0x00010000, 0x00000000, 0x00000000, 0x12000000, 0x00000000, 0x0026010C, 0x00370000, 0x00000008, 0x00010000, 0x00000000, 0x00000000, 0x12000000, 0x00000000, 0x00000000, 0x01400000, 0x00000008, 0x00000000, 0x00000000, 0x00000000, 0x10000000, 0x00000000, 0x00000000, 0x01410000, 0x00000008, 0x00000000, 0x00000000, 0x00000000, 0x10000000, 0x00000000, 0x00000000, 0x01420000, 0x00000008, 0x00000000, 0x00000000, 0x00000000, 0x10000000, 0x00000000, 0x00000000, 0x01430000, 0x00000008, 0x00000000, 0x00000000, 0x00000000, 0x10000000, 0x00000000, 0x00000000, 0x01440000, 0x00000008, 0x00000000, 0x00000000, 0x00000000, 0x10000000, 0x00000000, 0x00000000, 0x01450000, 0x00000008, 0x00000000, 0x00000000, 0x00000000, 0x10000000, 0x00000000, 0x00000000, 0x01460000, 0x00000008, 0x00000000, 0x00000000, 0x00000000, 0x10000000, 0x00000000, 0x00000000, 0x01470000, 0x00000008, 0x00000000, 0x00000000, 0x00000000, 0x10000000, 0x00000000, 0x00000000, 0x01480000, 0x00000008, 0x00000000, 0x00000000, 0x00000000, 0x10000000, 0x00000000, 0x00000000, 0x014A0000, 0x00000008, 0x00000000, 0x00000000, 0x00000000, 0x10000000, 0x00000000, 0x00000000, 0x014B0000, 0x00000008, 0x00000000, 0x00000000, 0x00000000, 0x10000000, 0x00000000, 0x00000000, 0x014C0000, 0x00000008, 0x00000000, 0x00000000, 0x00000000, 0x10000000, 0x00000000, 0x00000000, 0x014D0000, 0x00000008, 0x00000000, 0x00000000, 0x00000000, 0x10000000, 0x00000000, 0x00000000, 0x014E0000, 0x00000008, 0x00000000, 0x00000000, 0x00000000, 0x10000000, 0x00000000, 0x00000000, 0x014F0000, 0x00000008, 0x00000000, 0x00000000, 0x00000000, 0x10000000, 0x00000000, 0x00000000, 0x01500000, 0x00000008, 0x00000000, 0x00000000, 0x00000000, 0x10000000, 0x00000000, 0x00000000, 0x00000000, 0x800827D8, 0x80082808, 0x80082838, 0x80082868, 0x80082898, 0x800828C8, 0x800828F8, 0x80082928, 0x80082958, 0x80082988, 0x800829B8, 0x800829E8, 0x80082A18, 0x80082A48, 0x80082A78, 0x80082AA8, 0x80082AD8, 0x80082B08, 0x80082B38, 0x80082B68, 0x80082B98, 0x80082BC8, 0x80082BF8, 0x80082C28, 0x80082C58, 0x80082C88, 0x80082CB8, 0x80082CE8, 0x80082D18, 0x80082D48, 0x80082D78, 0x80082DA8, 0x80082DD8, 0x80082E08, 0x80082E38, 0x80082E68, 0x80082E98, 0x80082EC8, 0x80082EF8, 0x80082F28, 0x80082F58, 0x80082F88, 0x80082FB8, 0x80082FE8, 0x80083018, 0x80083048, 0x80083078, 0x800830A8, 0x800830D8, 0x80083108, 0x80083138, 0x80083168, 0x80083198, 0x800831C8, 0x800831F8, 0x80083228, 0x80083258, 0x80083288, 0x800832B8, 0x800832E8, 0x80083318, 0x80083348, 0x80083378, 0x800833A8, 0x800833D8, 0x80083408, 0x80083438, 0x80083468, 0x80083498, 0x800834C8, 0x800834F8, 0x80083528, 0x80083558, 0x80083588, 0x800835B8, 0x800835E8, 0x80083618, 0x80083648, 0x80083678, 0x800836A8, 0x800836D8, 0x80083708, 0x80083738, 0x80083768, 0x80083798, 0x800837C8, 0x800837F8, 0x80083828, 0x80083858, 0x80083888, 0x800838B8, 0x800838E8, 0x80083918, 0x80083948, 0x80083978, 0x800839A8, 0x80080820, 0x80080820, 0x80080868, 0x80080868, 0x800807F0, 0x800807F0, 0x80080FF0, 0x80080FF0, 0x800811A0, 0x800811A0, 0x80081200, 0x80081200, 0x80081260, 0x80081260, 0x800812D8, 0x800812D8, 0x80081308, 0x80081308, 0x80081338, 0x80081338, 0x80081368, 0x80081368, 0x80081398, 0x80081398, 0x800813C8, 0x800813C8, 0x800813F8, 0x800813F8, 0x80081428, 0x80081428, 0x80081458, 0x80081458, 0x80081488, 0x80081488, 0x800814B8, 0x800814B8, 0x800814E8, 0x800814E8, 0x80081518, 0x80081518, 0x80081548, 0x80081548, 0x80081578, 0x80081578, 0x800815A8, 0x800815A8, 0x800815D8, 0x800815D8, 0x80081608, 0x80081608, 0x80081638, 0x80081638, 0x80081668, 0x80081668, 0x80081698, 0x80081698, 0x800816C8, 0x800816C8, 0x800816F8, 0x800816F8, 0x80081728, 0x80081728, 0x80081758, 0x80081758, 0x80081788, 0x80081788, 0x800817B8, 0x800817B8, 0x800817E8, 0x800817E8, 0x80081818, 0x80081818, 0x80081848, 0x80081848, 0x80081878, 0x80081878, 0x800818A8, 0x800818A8, 0x800818D8, 0x800818D8, 0x80081908, 0x80081908, 0x80081938, 0x80081938, 0x80081968, 0x80081968, 0x80081998, 0x80081998, 0x800819C8, 0x800819C8, 0x800819F8, 0x800819F8, 0x80081A28, 0x80081A28, 0x80081A58, 0x80081A58, 0x80081A88, 0x80081A88, 0x80081AB8, 0x80081AB8, 0x80081AE8, 0x80081AE8, 0x80081B18, 0x80081B18, 0x80081B48, 0x80081B48, 0x80081B78, 0x80081B78, 0x80081BA8, 0x80081BA8, 0x80081BD8, 0x80081BD8, 0x80081C08, 0x80081C08, 0x80081C38, 0x80081C38, 0x80081C68, 0x80081C68, 0x80081C98, 0x80081C98, 0x80081CC8, 0x80081CC8, 0x80081CF8, 0x80081CF8, 0x80081D28, 0x80081D28, 0x80081D58, 0x80081D58, 0x80081D88, 0x80081D88, 0x80081DB8, 0x80081DB8, 0x80081DE8, 0x80081DE8, 0x80081E18, 0x80081E18, 0x80081E48, 0x80081E48, 0x80081E78, 0x80081E78, 0x80081EA8, 0x80081EA8, 0x80081ED8, 0x80081ED8, 0x80081F08, 0x80081F08, 0x80081F38, 0x80081F38, 0x80081F68, 0x80081F68, 0x80081F98, 0x80081F98, 0x80081FC8, 0x80081FC8, 0x80081FF8, 0x80081FF8, 0x80082028, 0x80082028, 0x80082058, 0x80082058, 0x80082088, 0x80082088, 0x800820B8, 0x800820B8, 0x800820E8, 0x800820E8, 0x80082118, 0x80082118, 0x80082148, 0x80082148, 0x80082178, 0x80082178, 0x800821A8, 0x800821A8, 0x800821D8, 0x80082208, 0x80082238, 0x80082268, 0x80082298, 0x800822C8, 0x800822F8, 0x80082328, 0x80082358, 0x80082388, 0x800823B8, 0x800823E8, 0x80082418, 0x80082448, 0x80082478, 0x800824A8, 0x800839D8, 0x80083A08, 0x80083A38, 0x80083A68, 0x80083A98, 0x80083AC8, 0x80083AF8, 0x80083B28, 0x80083B58, 0x80083B88, 0x80083BB8, 0x80083BE8, 0x80083C18, 0x80083C48, 0x80083C78, 0x80083CA8, 0x80083CD8, 0x80083D08, 0x80083D38, 0x80083D68, 0x80083D98, 0x80083DC8, 0x80083DF8, 0x80083E28, 0x80083E58, 0x80083E88, 0x80083EB8, 0x80083EE8, 0x80083F18, 0x80083F48, 0x80083F78, 0x80083FA8, 0x80083FD8, 0x80084008, 0x80084038, 0x80084068, 0x80084098, 0x800840C8, 0x800840F8, 0x80084128, 0x80084158, 0x80084188, 0x800841B8, 0x800841E8, 0x80084218, 0x80084248, 0x80084278, 0x800842A8, 0x800842D8, 0x80084308, 0x80084338, 0x80084368, 0x80084398, 0x800843C8, 0x800843F8, 0x80084428, 0x80084458, 0x80084488, 0x800844B8, 0x800844E8, 0x80084518, 0x80084548, 0x80084578, 0x800845A8, 0x800845D8, 0x80084608, 0x80084638, 0x80084668, 0x80084698, 0x800846C8, 0x800846F8, 0x80084728, 0x80084758, 0x80084788, 0x800847B8, 0x800847E8, 0x80084818, 0x80084848, 0x80084878, 0x800848A8, 0x800848D8, 0x80084908, 0x80084938, 0x80084968, 0x80084998, 0x800849C8, 0x800849F8, 0x80084A28, 0x80084A58, 0x80084A88, 0x80084AB8, 0x80084AE8, 0x80084B18, 0x80084B48, 0x80084B78, 0x80084BA8, 0x80084BD8, 0x80084C08, 0x80084C38, 0x80084C68, 0x80084C98, 0x80084CC8, 0x80084CF8, 0x80084D28, 0x80084D58, 0x80084D88, 0x80084DB8, 0x80084DE8, 0x80084E18, 0x80084E48, 0x80084E78, 0x80084EA8, 0x80084ED8, 0x80084F08, 0x80084F38, 0x80084F68, 0x80084F98, 0x80084FC8, 0x80084FF8, 0x80085028, 0x80085058, 0x80085088, 0x800850B8, 0x800850E8, 0x80085118, 0x80085148, 0x80085178, 0x800851A8, 0x800851D8, 0x80085208, 0x80085238, 0x80085268, 0x80085298, 0x800852C8, 0x800852F8, 0x80085328, 0x80085358, 0x80085388, 0x800853B8, 0x800853E8, 0x80085418, 0x80085448, 0x80085478, 0x800854A8, 0x800854D8, 0x80085508, 0x80085538, 0x80085568, 0x80085598, 0x800855C8, 0x800855F8, 0x80085628, 0x80085658, 0x80085688, 0x800856B8, 0x800856E8, 0x80085718, 0x80085748, 0x80085778, 0x800857A8, 0x800857D8, 0x80085808, 0x80085838, 0x80085868, 0x80085898, 0x800858C8, 0x800858F8, 0x80085928, 0x80085958, 0x80085988, 0x800859B8, 0x800859E8, 0x80085A18, 0x80085A48, 0x80085A78, 0x80085AA8, 0x80085AD8, 0x80085B08, 0x80085B38, 0x80085B68, 0x80085B98, 0x80085BC8, 0x80085BF8, 0x80085C28, 0x80085C58, 0x80085C88, 0x80085CB8, 0x80085CE8, 0x80085D18, 0x80085D48, 0x80085D78, 0x80085DA8, 0x80085DD8, 0x80085E08, 0x80085E38, 0x80085E68, 0x80085E98, 0x80085EC8, 0x80085EF8, 0x80085F28, 0x80085F58, 0x80085F88, 0x80085FB8, 0x80085FE8, 0x80086018, 0x80086048, 0x80086078, 0x800860A8, 0x800866D8, 0x80086708, 0x80086738, 0x80086768, 0x80086798, 0x800867C8, 0x800867F8, 0x80086828, 0x80086858, 0x80086888, 0x800868B8, 0x800868E8, 0x80086918, 0x80086948, 0x80086978, 0x800869A8, 0x800869D8, 0x80086A08, 0x80086A38, 0x80086A68, 0x80086A98, 0x80086AC8, 0x80086AF8, 0x80086B28, 0x80086B58, 0x80086B88, 0x80086BB8, 0x80086BE8, 0x80086C18, 0x80086C48, 0x80086C78, 0x80086CA8, 0x80086CD8, 0x80086D08, 0x80086D38, 0x80086D68, 0x80086D98, 0x80086DC8, 0x80086DF8, 0x80086E28, 0x80086E58, 0x80086E88, 0x80086EB8, 0x80086EE8, 0x80086F18, 0x80086F48, 0x80086F78, 0x80086FA8, 0x80086FD8, 0x80087008, 0x80087038, 0x80087068, 0x80087098, 0x800870C8, 0x800870F8, 0x80087128, 0x80087158, 0x80087188, 0x800871B8, 0x800871E8, 0x80087218, 0x80087248, 0x80087278, 0x800872A8, 0x800872D8, 0x80087308, 0x80087338, 0x80087368, 0x80087398, 0x800873C8, 0x800873F8, 0x80087428, 0x80087458, 0x80087488, 0x800874B8, 0x800874E8, 0x80087518, 0x80087548, 0x80087578, 0x800875A8, 0x800860D8, 0x80086108, 0x80086138, 0x80086168, 0x80086198, 0x800861C8, 0x800861F8, 0x80086228, 0x80086258, 0x80086288, 0x800862B8, 0x800862E8, 0x80086318, 0x80086348, 0x80086378, 0x800863A8, 0x800863D8, 0x80086408, 0x80086438, 0x80086468, 0x80086498, 0x800864C8, 0x800864F8, 0x80086528, 0x80086558, 0x80086588, 0x800865B8, 0x800865E8, 0x80086618, 0x80086648, 0x80086678, 0x800866A8, 0x800875D8, 0x80087608, 0x80087638, 0x80087668, 0x80087698, 0x800876C8, 0x800876F8, 0x80087728, 0x80087758, 0x80087788, 0x800877B8, 0x800877E8, 0x80087818, 0x80087848, 0x80087878, 0x800878A8, 0x800824D8, 0x80082508, 0x80082538, 0x80082568, 0x80082598, 0x800825C8, 0x800825F8, 0x80082628, 0x80082658, 0x80082688, 0x800826B8, 0x800826E8, 0x80082718, 0x80082748, 0x80082778, 0x800827A8, 0x800804F0, 0x800804F0, 0x80080520, 0x80080520, 0x80080550, 0x80080550, 0x80080580, 0x80080580, 0x800805B0, 0x800805B0, 0x800805E0, 0x800805E0, 0x80080610, 0x80080610, 0x80080640, 0x80080640, 0x80080670, 0x80080670, 0x80109338, 0x801093D8, 0x800806A0, 0x800806A0, 0x800806D0, 0x800806D0, 0x80080700, 0x80080700, 0x80080730, 0x80080730, 0x80080760, 0x80080760, 0x80080790, 0x80080790, 0x800807C0, 0x800807C0, 0x00000001, 0x000000FF, 0x00000000, 0x00000200, 0x00000000, 0x00000000, 0x00000000, 0x00000001, 0x000000FF, 0x00000000, 0x00000200, 0x00000000, 0x00000000, 0x00000000, 0x00000001, 0x000000FF, 0x00000220, 0x00000420, 0x00000000, 0x00000000, 0x00000000, 0x00000001, 0x000000FF, 0x00000440, 0x00000640, 0x00000000, 0x00000000, 0x00000000, 0x00000001, 0x000000FF, 0x00000660, 0x00000860, 0x00000000, 0x00000000, 0x00000000, 0x00000001, 0x000000FF, 0x00000880, 0x00000A80, 0x00000000, 0x00000000, 0x00000000, 0x00000001, 0x000000FF, 0x00000AA0, 0x00000CA0, 0x00000000, 0x00000000, 0x00000000, 0x00000001, 0x000000FF, 0x00000CC0, 0x00000EC0, 0x00000000, 0x00000000, 0x00000000, 0x00000001, 0x000000FF, 0x00000EE0, 0x000010E0, 0x00000000, 0x00000000, 0x00000000, 0x00000001, 0x000000FF, 0x00001100, 0x00001300, 0x00000000, 0x00000000, 0x00000000, 0x00000001, 0x000000FF, 0x0002D940, 0x0002DB40, 0x00000000, 0x00000000, 0x00000000, 0x00000001, 0x000000FF, 0x0002DB80, 0x0002DD80, 0x00000000, 0x00000000, 0x00000000, 0x00000001, 0x000000FF, 0x0002DDC0, 0x0002DFC0, 0x00000000, 0x00000000, 0x00000000, 0x00000001, 0x000000FF, 0x0002E000, 0x0002E200, 0x00000000, 0x00000000, 0x00000000, 0x00000001, 0x000000FF, 0x0002E240, 0x0002E440, 0x00000000, 0x00000000, 0x00000000, 0x00000001, 0x000000FF, 0x0002E480, 0x0002E680, 0x00000000, 0x00000000, 0x00000000, 0x00000001, 0x000000FF, 0x0002E6C0, 0x0002E8C0, 0x00000000, 0x00000000, 0x00000000, 0x00000001, 0x0000003C, 0x00013BC0, 0x00013DC0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00013E00, 0x00014000, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00014040, 0x00014240, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00014280, 0x00014480, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x000144C0, 0x000146C0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00014700, 0x00014900, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00014940, 0x00014B40, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00014B80, 0x00014D80, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00001320, 0x00001520, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00001540, 0x00001740, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00001760, 0x00001960, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00001980, 0x00001B80, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00001BA0, 0x00001DA0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00001DC0, 0x00001FC0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00001FE0, 0x000021E0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00002200, 0x00002400, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00009020, 0x00009220, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00009240, 0x00009440, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00009460, 0x00009660, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00009680, 0x00009880, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x000098A0, 0x00009AA0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00009AC0, 0x00009CC0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00009CE0, 0x00009EE0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00009F00, 0x0000A100, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0000A120, 0x0000A320, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0000A340, 0x0000A540, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0000A560, 0x0000A760, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0000A780, 0x0000A980, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0000A9A0, 0x0000ABA0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0000ABC0, 0x0000ADC0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0000ADE0, 0x0000AFE0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0000B000, 0x0000B200, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0000B220, 0x0000B420, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0000B440, 0x0000B640, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0000B660, 0x0000B860, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0000B880, 0x0000BA80, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0000BAA0, 0x0000BCA0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0000BCC0, 0x0000BEC0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0000BEE0, 0x0000C0E0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0000C100, 0x0000C300, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0000C320, 0x0000C520, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0000C540, 0x0000C740, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0000C760, 0x0000C960, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0000C980, 0x0000CB80, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0000CBA0, 0x0000CDA0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0000CDC0, 0x0000CFC0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0000CFE0, 0x0000D1E0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0000D200, 0x0000D400, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0000D420, 0x0000D620, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0000D640, 0x0000D840, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0000D860, 0x0000DA60, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0000DAA0, 0x0000DCA0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0000DCC0, 0x0000DEC0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0000DEE0, 0x0000E0E0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0000E100, 0x0000E300, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0000E320, 0x0000E520, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0000E540, 0x0000E740, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0000E760, 0x0000E960, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0000E980, 0x0000EB80, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0000EBC0, 0x0000EDC0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0000EDE0, 0x0000EFE0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0000F000, 0x0000F200, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0000F220, 0x0000F420, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0000F440, 0x0000F640, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0000F660, 0x0000F860, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0000F880, 0x0000FA80, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0000FAA0, 0x0000FCA0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0000FCE0, 0x0000FEE0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0000FF00, 0x00010100, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00010120, 0x00010320, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00010340, 0x00010540, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00010560, 0x00010760, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00010780, 0x00010980, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x000109A0, 0x00010BA0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00010BC0, 0x00010DC0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00010E00, 0x00011000, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00011020, 0x00011220, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00011240, 0x00011440, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00011460, 0x00011660, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00011680, 0x00011880, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x000118A0, 0x00011AA0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00011AC0, 0x00011CC0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00011CE0, 0x00011EE0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00011F20, 0x00012120, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00012140, 0x00012340, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00012360, 0x00012560, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00012580, 0x00012780, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x000127A0, 0x000129A0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x000129C0, 0x00012BC0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00012C00, 0x00012E00, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00012E40, 0x00013040, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00013080, 0x00013280, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x000132C0, 0x000134C0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00013500, 0x00013700, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00013740, 0x00013940, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00013980, 0x00013B80, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00014DC0, 0x00014FC0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00015000, 0x00015200, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00015240, 0x00015440, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00015480, 0x00015680, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x000156C0, 0x000158C0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00015900, 0x00015B00, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00015B40, 0x00015D40, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00015D80, 0x00015F80, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00015FC0, 0x000161C0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00016200, 0x00016400, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00016440, 0x00016640, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00016680, 0x00016880, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x000168C0, 0x00016AC0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00016B00, 0x00016D00, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00016D40, 0x00016F40, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00016F80, 0x00017180, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x000171C0, 0x000173C0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00017400, 0x00017600, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00017640, 0x00017840, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00017880, 0x00017A80, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00017AC0, 0x00017CC0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00017D00, 0x00017F00, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00017F40, 0x00018140, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00018180, 0x00018380, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x000183C0, 0x000185C0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00018600, 0x00018800, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00018840, 0x00018A40, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00018A80, 0x00018C80, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00018CC0, 0x00018EC0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00018F00, 0x00019100, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00019140, 0x00019340, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00019380, 0x00019580, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x000195C0, 0x000197C0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00019800, 0x00019A00, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00019A40, 0x00019C40, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00019C80, 0x00019E80, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00019EC0, 0x0001A0C0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0001A100, 0x0001A300, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0001A340, 0x0001A540, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0001A580, 0x0001A780, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0001A7C0, 0x0001A9C0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0001AA00, 0x0001AC00, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0001AC40, 0x0001AE40, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0001AE80, 0x0001B080, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0001B0C0, 0x0001B2C0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0001B300, 0x0001B500, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0001B540, 0x0001B740, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0001B780, 0x0001B980, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0001B9C0, 0x0001BBC0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0001BC00, 0x0001BE00, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0001BE40, 0x0001C040, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0001C080, 0x0001C280, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0001C2C0, 0x0001C4C0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0001C500, 0x0001C700, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0001C740, 0x0001C940, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0001C980, 0x0001CB80, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0001CBC0, 0x0001CDC0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0001CE00, 0x0001D000, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0001D040, 0x0001D240, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0001D280, 0x0001D480, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0001D4C0, 0x0001D6C0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0001D700, 0x0001D900, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0001D940, 0x0001DB40, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0001DB80, 0x0001DD80, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0001DDC0, 0x0001DFC0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0001E000, 0x0001E200, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0001E240, 0x0001E440, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0001E480, 0x0001E680, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0001E6C0, 0x0001E8C0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0001E900, 0x0001EB00, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0001EB40, 0x0001ED40, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0001ED80, 0x0001EF80, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0001EFC0, 0x0001F1C0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0001F200, 0x0001F400, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0001F440, 0x0001F640, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0001F680, 0x0001F880, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0001F8C0, 0x0001FAC0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0001FB00, 0x0001FD00, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0001FD40, 0x0001FF40, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0001FF80, 0x00020180, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x000201C0, 0x000203C0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00020400, 0x00020600, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00020640, 0x00020840, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00020880, 0x00020A80, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00020AC0, 0x00020CC0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00020D00, 0x00020F00, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00020F40, 0x00021140, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00021180, 0x00021380, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x000213C0, 0x000215C0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00021600, 0x00021800, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00021840, 0x00021A40, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00021A80, 0x00021C80, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00021CC0, 0x00021EC0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00021F00, 0x00022100, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00022140, 0x00022340, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00022380, 0x00022580, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x000225C0, 0x000227C0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00022800, 0x00022A00, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00022A40, 0x00022C40, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00022C80, 0x00022E80, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00022EC0, 0x000230C0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00023100, 0x00023300, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00023340, 0x00023540, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00023580, 0x00023780, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000000A, 0x00030A60, 0x00030B80, 0x00000000, 0x00000000, 0x00000001, 0x00000006, 0x00030BA0, 0x00030CC0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000003, 0x00000001, 0x00000003, 0x0002F5C0, 0x0002F6E0, 0x00000000, 0x00000000, 0x00000001, 0x00000003, 0x0002F700, 0x0002F820, 0x00000000, 0x00000000, 0x00000001, 0x00000003, 0x0002FAC0, 0x0002FBE0, 0x00000000, 0x00000000, 0x00000001, 0x00000003, 0x0002FC00, 0x0002FD20, 0x00000000, 0x00000000, 0x00000001, 0x00000003, 0x0002FD40, 0x0002FE60, 0x00000000, 0x00000000, 0x00000001, 0x00000003, 0x0002FE80, 0x0002FFA0, 0x00000000, 0x00000000, 0x00000001, 0x00000003, 0x0002FFC0, 0x000300E0, 0x00000000, 0x00000000, 0x00000001, 0x00000003, 0x00030100, 0x00030220, 0x00000000, 0x00000000, 0x00000004, 0x00000064, 0x00000032, 0x00000001, 0x00000003, 0x0002F5C0, 0x0002F6E0, 0x00000000, 0x00000000, 0x00000001, 0x00000002, 0x0002F700, 0x0002F820, 0x00000000, 0x00000000, 0x00000001, 0x00000001, 0x0002F840, 0x0002F960, 0x00000000, 0x00000000, 0x00000001, 0x00000001, 0x0002F980, 0x0002FAA0, 0x00000000, 0x00000000, 0x00000001, 0x00000002, 0x0002FAC0, 0x0002FBE0, 0x00000000, 0x00000000, 0x00000001, 0x00000003, 0x0002FC00, 0x0002FD20, 0x00000000, 0x00000000, 0x00000001, 0x00000003, 0x0002FD40, 0x0002FE60, 0x00000000, 0x00000000, 0x00000001, 0x00000003, 0x0002FE80, 0x0002FFA0, 0x00000000, 0x00000000, 0x00000001, 0x00000003, 0x0002FFC0, 0x000300E0, 0x00000000, 0x00000000, 0x00000001, 0x00000003, 0x00030100, 0x00030220, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00030CE0, 0x00030E00, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000002, 0x00030E20, 0x00030F40, 0x00000000, 0x00000000, 0x00000001, 0x00000002, 0x00030F60, 0x00031080, 0x00000000, 0x00000000, 0x00000001, 0x00000002, 0x000310A0, 0x000311C0, 0x00000000, 0x00000000, 0x00000001, 0x00000002, 0x000311E0, 0x00031300, 0x00000000, 0x00000000, 0x00000001, 0x00000002, 0x00031320, 0x00031440, 0x00000000, 0x00000000, 0x00000001, 0x00000002, 0x00031460, 0x00031580, 0x00000000, 0x00000000, 0x00000001, 0x00000002, 0x000315A0, 0x000316C0, 0x00000000, 0x00000000, 0x00000001, 0x00000002, 0x000316E0, 0x00031800, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000008, 0x0002E900, 0x0002EB00, 0x00000000, 0x00000000, 0x00000001, 0x00000005, 0x0002EB20, 0x0002ED20, 0x00000000, 0x00000000, 0x00000001, 0x00000008, 0x0002ED40, 0x0002EF40, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000008, 0x0002EF60, 0x0002F160, 0x00000000, 0x00000000, 0x00000001, 0x00000005, 0x0002F180, 0x0002F380, 0x00000000, 0x00000000, 0x00000001, 0x00000008, 0x0002F3A0, 0x0002F5A0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000000C, 0x00030400, 0x00030600, 0x00000000, 0x00000000, 0x00000001, 0x00000004, 0x00030620, 0x00030820, 0x00000000, 0x00000000, 0x00000001, 0x0000000C, 0x00030840, 0x00030A40, 0x00000000, 0x00000000, 0x00000001, 0x00000004, 0x00030620, 0x00030820, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00002420, 0x00002620, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00002660, 0x00002860, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x000028A0, 0x00002AA0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00002AE0, 0x00002CE0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00002D20, 0x00002F20, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00002F60, 0x00003160, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x000031A0, 0x000033A0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x000033E0, 0x000035E0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00003620, 0x00003820, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00003860, 0x00003A60, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00003AA0, 0x00003CA0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00003CE0, 0x00003EE0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00003F20, 0x00004120, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00004160, 0x00004360, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x000043A0, 0x000045A0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x000045E0, 0x000047E0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00004820, 0x00004A20, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00004A60, 0x00004C60, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00004CA0, 0x00004EA0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00004EE0, 0x000050E0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00005120, 0x00005320, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00005360, 0x00005560, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x000055A0, 0x000057A0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x000057E0, 0x000059E0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00005A20, 0x00005C20, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00005C60, 0x00005E60, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00005EA0, 0x000060A0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x000060E0, 0x000062E0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00006320, 0x00006520, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00006560, 0x00006760, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x000067A0, 0x000069A0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x000069E0, 0x00006BE0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00006C20, 0x00006E20, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00006E60, 0x00007060, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x000070A0, 0x000072A0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x000072E0, 0x000074E0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00007520, 0x00007720, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00007760, 0x00007960, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x000079A0, 0x00007BA0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00007BE0, 0x00007DE0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00007E20, 0x00008020, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00008060, 0x00008260, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x000082A0, 0x000084A0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x000084E0, 0x000086E0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00008720, 0x00008920, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00008960, 0x00008B60, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00008BA0, 0x00008DA0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00008DE0, 0x00008FE0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0002A3C0, 0x0002A5C0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0002A600, 0x0002A800, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0002A840, 0x0002AA40, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0002AA80, 0x0002AC80, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0002ACC0, 0x0002AEC0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0002AF00, 0x0002B100, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0002B140, 0x0002B340, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0002B380, 0x0002B580, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0002B5C0, 0x0002B7C0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0002B800, 0x0002BA00, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0002BA40, 0x0002BC40, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0002BC80, 0x0002BE80, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0002BEC0, 0x0002C0C0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0002C100, 0x0002C300, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0002C340, 0x0002C540, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0002C580, 0x0002C780, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x000237C0, 0x000239C0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00023A00, 0x00023C00, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00023C40, 0x00023E40, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00023E80, 0x00024080, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x000240C0, 0x000242C0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00024300, 0x00024500, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00024540, 0x00024740, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00024780, 0x00024980, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x000249C0, 0x00024BC0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00024C00, 0x00024E00, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00024E40, 0x00025040, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00025080, 0x00025280, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x000252C0, 0x000254C0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00025500, 0x00025700, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00025740, 0x00025940, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00025980, 0x00025B80, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00025BC0, 0x00025DC0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00025E00, 0x00026000, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00026040, 0x00026240, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00026280, 0x00026480, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x000264C0, 0x000266C0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00026700, 0x00026900, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00026940, 0x00026B40, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00026B80, 0x00026D80, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00026DC0, 0x00026FC0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00027000, 0x00027200, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00027240, 0x00027440, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00027480, 0x00027680, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x000276C0, 0x000278C0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00027900, 0x00027B00, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00027B40, 0x00027D40, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00027D80, 0x00027F80, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00027FC0, 0x000281C0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00028200, 0x00028400, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00028440, 0x00028640, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00028680, 0x00028880, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x000288C0, 0x00028AC0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00028B00, 0x00028D00, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00028D40, 0x00028F40, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00028F80, 0x00029180, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x000291C0, 0x000293C0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00029400, 0x00029600, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00029640, 0x00029840, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00029880, 0x00029A80, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00029AC0, 0x00029CC0, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00029D00, 0x00029F00, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x00029F40, 0x0002A140, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x0000003C, 0x0002A180, 0x0002A380, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x8008B108, 0x8008B3E4, 0x8008B404, 0x8008B424, 0x8008B444, 0x8008B464, 0x8008B484, 0x8008B4A4, 0x8008B108, 0x8008B108, 0x8008BBE4, 0x8008BC04, 0x8008BC24, 0x8008BC44, 0x8008BC64, 0x8008B924, 0x8008B4E4, 0x8008B504, 0x8008B5C4, 0x8008B524, 0x8008B544, 0x8008B664, 0x8008B624, 0x8008B644, 0x8008B604, 0x8008B5A4, 0x8008B564, 0x8008B684, 0x8008B6E4, 0x8008B704, 0x8008B884, 0x8008B724, 0x8008B744, 0x8008B764, 0x8008B6C4, 0x8008B784, 0x8008B7A4, 0x8008B7C4, 0x8008B7E4, 0x8008BC84, 0x8008B984, 0x8008B9A4, 0x8008B9C4, 0x8008B804, 0x8008B824, 0x8008B844, 0x8008B864, 0x8008B944, 0x8008B964, 0x8008B9E4, 0x8008BA04, 0x8008BA24, 0x8008BA44, 0x8008BDE4, 0x8008BDE4, 0x8008BDE4, 0x8008BDE4, 0x8008BDE4, 0x8008BDE4, 0x8008BDE4, 0x8008BDE4, 0x8008BDE4, 0x8008BDE4, 0x8008BDE4, 0x8008BDE4, 0x8008BDE4, 0x8008BDE4, 0x8008BDE4, 0x8008BDE4, 0x8008BDE4, 0x8008BDE4, 0x8008BDE4, 0x8008BDE4, 0x8008BDE4, 0x8008BDE4, 0x8008BDE4, 0x8008BDE4, 0x8008BDE4, 0x8008BDE4, 0x8008BDE4, 0x8008BDE4, 0x8008BDE4, 0x8008BDE4, 0x8008B5E4, 0x8008BDE4, 0x8008BDE4, 0x8008B584, 0x8008B8A4, 0x8008B8C4, 0x8008B8E4, 0x8008B904, 0x8008B604, 0x8008BD04, 0x8008DB94, 0x8008DB74, 0x8008DBB4, 0x8008DBD4, 0x8008DBF4, 0x8008DC14, 0x8008DC34, 0x8008DC54, 0x8008DC74, 0x8008DC94, 0x8008BAC4, 0x8008BAA4, 0x8008BAE4, 0x8008BB44, 0x8008B744, 0x8008BB04, 0x8008BB24, 0x8008BCE4, 0x8008BD24, 0x8008BD44, 0x8008BD64, 0x8008BD84, 0x8008BDA4, 0x8008BDC4, 0x8008BDA4, 0x8008BA64, 0x8008BA84, 0x8008BB44, 0x8008B744, 0x8008B744, 0x8008BCC4, 0x8008BCA4, 0x8008B108, 0x8008B108, 0x8008B108, 0x8008D5D4, 0x8008D5F4, 0x8008D614, 0x8008D654, 0x8008D634, 0x8008D694, 0x8008D674, 0x8008B384, 0x8008D6D4, 0x8008D874, 0x8008D7D4, 0x8008D6F4, 0x8008D7F4, 0x8008D854, 0x8008D814, 0x8008DCD4, 0x8008DD14, 0x8008DD34, 0x8008DD54, 0x8008DB34, 0x8008DB54, 0x8008D834, 0x8008B344, 0x8008B364, 0x8008B324, 0x8008B2E4, 0x8008DD74, 0x8008D894, 0x8008D9B4, 0x8008D994, 0x8008D8B4, 0x8008D8D4, 0x8008D8F4, 0x8008D914, 0x8008DB14, 0x8008DAF4, 0x8008DAD4, 0x8008D934, 0x8008D954, 0x8008D974, 0x8008D9D4, 0x8008D9F4, 0x8008DA14, 0x8008DA34, 0x8008DA54, 0x8008DA74, 0x8008DA94, 0x8008DAB4, 0x8008CFD4, 0x8008CFF4, 0x8008D014, 0x8008D034, 0x8008D054, 0x8008D074, 0x8008D094, 0x8008D0B4, 0x8008D0D4, 0x8008D0F4, 0x8008D114, 0x8008D174, 0x8008D134, 0x8008D154, 0x8008D194, 0x8008D1B4, 0x8008D1D4, 0x8008D1F4, 0x8008D214, 0x8008D234, 0x8008D254, 0x8008D274, 0x8008D294, 0x8008D2B4, 0x8008D2D4, 0x8008D2F4, 0x8008D314, 0x8008D334, 0x8008D354, 0x8008D374, 0x8008D394, 0x8008D3B4, 0x8008D3D4, 0x8008D3F4, 0x8008D414, 0x8008D434, 0x8008D454, 0x8008D474, 0x8008D494, 0x8008D4B4, 0x8008D4D4, 0x8008D4F4, 0x8008D514, 0x8008B108, 0x8008B108, 0x8008B108, 0x8008B108, 0x8008B108, 0x8008BEE4, 0x8008BF04, 0x8008BF24, 0x8008BF44, 0x8008BF64, 0x8008BF84, 0x8008BFA4, 0x8008BFC4, 0x8008BFE4, 0x8008C004, 0x8008B108, 0x8008C064, 0x8008C0E4, 0x8008C944, 0x8008C164, 0x8008C1A4, 0x8008C1E4, 0x8008C204, 0x8008C224, 0x8008C244, 0x8008C264, 0x8008C284, 0x8008C2A4, 0x8008C2C4, 0x8008C2E4, 0x8008C304, 0x8008C324, 0x8008C344, 0x8008C364, 0x8008C384, 0x8008C3A4, 0x8008C3C4, 0x8008C3E4, 0x8008C404, 0x8008C424, 0x8008C444, 0x8008C464, 0x8008C484, 0x8008C4A4, 0x8008C1C4, 0x8008C044, 0x8008C084, 0x8008C104, 0x8008C0A4, 0x8008C124, 0x8008C704, 0x8008C144, 0x8008C0C4, 0x8008C764, 0x8008C724, 0x8008C744, 0x8008C604, 0x8008C5A4, 0x8008C5C4, 0x8008C624, 0x8008C024, 0x8008C184, 0x8008C4C4, 0x8008C644, 0x8008C664, 0x8008C6C4, 0x8008C684, 0x8008C6E4, 0x8008C6A4, 0x8008C5E4, 0x8008C4E4, 0x8008C504, 0x8008C524, 0x8008C544, 0x8008C564, 0x8008C584, 0x8008B108, 0x8008B108, 0x8008C8E4, 0x8008C904, 0x8008C7E4, 0x8008B108, 0x8008C924, 0x8008C824, 0x8008C804, 0x8008C844, 0x8008C864, 0x8008C8E4, 0x8008C904, 0x8008BFC4, 0x8008C2E4, 0x8008C3C4, 0x8008C3C4, 0x8008C484, 0x8008C484, 0x8008C844, 0x8008C844, 0x8008BF24, 0x8008BF24, 0x8008C344, 0x8008C344, 0x8008C884, 0x8008C884, 0x8008C884, 0x8008CA04, 0x8008C9E4, 0x8008CA24, 0x8008CA44, 0x8008CA64, 0x8008CA84, 0x8008CAA4, 0x8008BFC4, 0x8008BFC4, 0x8008BFC4, 0x8008C2E4, 0x8008C2E4, 0x8008C2E4, 0x8008CAE4, 0x8008B108, 0x8008B108, 0x8008B108, 0x8008B108, 0x8008B108, 0x8008CBE4, 0x8008CC1C, 0x8008CDE4, 0x8008CE04, 0x8008CECC, 0x8008CF1C, 0x8008CF6C, 0x8008B124, 0x8008B140, 0x8008B15C, 0x8008B178, 0x8008B194, 0x8008B1B0, 0x8008B1CC, 0x8008B1E8, 0x8008B204, 0x8008B220, 0x8008B23C, 0x8008B258, 0x8008B274, 0x8008B290, 0x8008B2AC, 0x8008B2C8, 0x8008B108, 0x8008B108, 0x8008B108, 0x8008B108, 0x8008B108, 0x8008B108, 0x8008B108, 0x8008B108, 0x8008B108, 0x8008B108, 0x8008B108, 0x8008B108, 0x8008B108, 0x8008B108, 0x8008B108, 0x8008B108, 0x8008B108, 0x8008B108, 0x8008B108, 0x8008B108, 0x00000000, 0x00001320, 0x00001540, 0x00001760, 0x00001980, 0x00001BA0, 0x00001DC0, 0x00001FE0, 0x00000000, 0x00000000, 0x00010780, 0x000109A0, 0x00010BC0, 0x00010E00, 0x00011020, 0x0000D860, 0x00009020, 0x00009240, 0x00009F00, 0x00009460, 0x00009680, 0x0000A9A0, 0x0000A560, 0x0000A780, 0x0000A340, 0x00009CE0, 0x000098A0, 0x0000ABC0, 0x0000B220, 0x0000B440, 0x0000CDC0, 0x0000B660, 0x0000B880, 0x0000BAA0, 0x0000B000, 0x0000BCC0, 0x0000BEE0, 0x0000C100, 0x0000C320, 0x00011240, 0x0000DEE0, 0x0000E100, 0x0000E320, 0x0000C540, 0x0000C760, 0x0000C980, 0x0000CBA0, 0x0000DAA0, 0x0000DCC0, 0x0000E540, 0x0000E760, 0x0000E980, 0x0000EBC0, 0x000129C0, 0x000129C0, 0x000129C0, 0x000129C0, 0x000129C0, 0x000129C0, 0x000129C0, 0x000129C0, 0x000129C0, 0x000129C0, 0x000129C0, 0x000129C0, 0x000129C0, 0x000129C0, 0x000129C0, 0x000129C0, 0x000129C0, 0x000129C0, 0x000129C0, 0x000129C0, 0x000129C0, 0x000129C0, 0x000129C0, 0x000129C0, 0x000129C0, 0x000129C0, 0x000129C0, 0x000129C0, 0x000129C0, 0x000129C0, 0x0000A120, 0x000129C0, 0x000129C0, 0x00009AC0, 0x0000CFE0, 0x0000D200, 0x0000D420, 0x0000D640, 0x0000A340, 0x00011AC0, 0x00027B40, 0x00027900, 0x00027D80, 0x00027FC0, 0x00028200, 0x00028440, 0x00028680, 0x000288C0, 0x00028B00, 0x00028D40, 0x0000F440, 0x0000F220, 0x0000F660, 0x0000FCE0, 0x0000B880, 0x0000F880, 0x0000FAA0, 0x000118A0, 0x00011CE0, 0x00011F20, 0x00012140, 0x00012360, 0x00012580, 0x000127A0, 0x00012580, 0x0000EDE0, 0x0000F000, 0x0000FCE0, 0x0000B880, 0x0000B880, 0x00011680, 0x00011460, 0x00000000, 0x00000000, 0x00000000, 0x0002A3C0, 0x0002A600, 0x0002A840, 0x0002ACC0, 0x0002AA80, 0x0002B140, 0x0002AF00, 0x00014700, 0x0002B5C0, 0x00024300, 0x000237C0, 0x0002B800, 0x00023A00, 0x000240C0, 0x00023C40, 0x000291C0, 0x00029640, 0x00029880, 0x00029AC0, 0x00027480, 0x000276C0, 0x00023E80, 0x00014280, 0x000144C0, 0x00014040, 0x00013BC0, 0x00029D00, 0x00024540, 0x00025980, 0x00025740, 0x00024780, 0x000249C0, 0x00024C00, 0x00024E40, 0x00027240, 0x00027000, 0x00026DC0, 0x00025080, 0x000252C0, 0x00025500, 0x00025BC0, 0x00025E00, 0x00026040, 0x00026280, 0x000264C0, 0x00026700, 0x00026940, 0x00026B80, 0x00002420, 0x00002660, 0x000028A0, 0x00002AE0, 0x00002D20, 0x00002F60, 0x000031A0, 0x000033E0, 0x00003620, 0x00003860, 0x00003AA0, 0x00004160, 0x00003CE0, 0x00003F20, 0x000043A0, 0x000045E0, 0x00004820, 0x00004A60, 0x00004CA0, 0x00004EE0, 0x00005120, 0x00005360, 0x000055A0, 0x000057E0, 0x00005A20, 0x00005C60, 0x00005EA0, 0x000060E0, 0x00006320, 0x00006560, 0x000067A0, 0x000069E0, 0x00006C20, 0x00006E60, 0x000070A0, 0x000072E0, 0x00007520, 0x00007760, 0x000079A0, 0x00007BE0, 0x00007E20, 0x00008060, 0x000082A0, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00014DC0, 0x00015000, 0x00015240, 0x00015480, 0x000156C0, 0x00015900, 0x00015B40, 0x00015D80, 0x00015FC0, 0x00016200, 0x00000000, 0x000168C0, 0x000171C0, 0x00020880, 0x00017AC0, 0x00017F40, 0x000183C0, 0x00018600, 0x00018840, 0x00018A80, 0x00018CC0, 0x00018F00, 0x00019140, 0x00019380, 0x000195C0, 0x00019800, 0x00019A40, 0x00019C80, 0x00019EC0, 0x0001A100, 0x0001A340, 0x0001A580, 0x0001A7C0, 0x0001AA00, 0x0001AC40, 0x0001AE80, 0x0001B0C0, 0x0001B300, 0x0001B540, 0x00018180, 0x00016680, 0x00016B00, 0x00017400, 0x00016D40, 0x00017640, 0x0001E000, 0x00017880, 0x00016F80, 0x0001E6C0, 0x0001E240, 0x0001E480, 0x0001CE00, 0x0001C740, 0x0001C980, 0x0001D040, 0x00016440, 0x00017D00, 0x0001B780, 0x0001D280, 0x0001D4C0, 0x0001DB80, 0x0001D700, 0x0001DDC0, 0x0001D940, 0x0001CBC0, 0x0001B9C0, 0x0001BC00, 0x0001BE40, 0x0001C080, 0x0001C2C0, 0x0001C500, 0x00000000, 0x00000000, 0x000201C0, 0x00020400, 0x0001EFC0, 0x00000000, 0x00020640, 0x0001F440, 0x0001F200, 0x0001F680, 0x0001F8C0, 0x000201C0, 0x00020400, 0x00015D80, 0x000195C0, 0x0001A580, 0x0001A580, 0x0001B300, 0x0001B300, 0x0001F680, 0x0001F680, 0x00015240, 0x00015240, 0x00019C80, 0x00019C80, 0x0001FB00, 0x0001FB00, 0x0001FB00, 0x00021600, 0x000213C0, 0x00021840, 0x00021A80, 0x00021CC0, 0x00021F00, 0x00022140, 0x00015D80, 0x00015D80, 0x00015D80, 0x000195C0, 0x000195C0, 0x000195C0, 0x000225C0, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00030A60, 0x0002F5C0, 0x00030CE0, 0x00030E20, 0x0002E900, 0x0002EF60, 0x00030400, 0x00000200, 0x00001520, 0x00001740, 0x00001960, 0x00001B80, 0x00001DA0, 0x00001FC0, 0x000021E0, 0x00000200, 0x00000200, 0x00010980, 0x00010BA0, 0x00010DC0, 0x00011000, 0x00011220, 0x0000DA60, 0x00009220, 0x00009440, 0x0000A100, 0x00009660, 0x00009880, 0x0000ABA0, 0x0000A760, 0x0000A980, 0x0000A540, 0x00009EE0, 0x00009AA0, 0x0000ADC0, 0x0000B420, 0x0000B640, 0x0000CFC0, 0x0000B860, 0x0000BA80, 0x0000BCA0, 0x0000B200, 0x0000BEC0, 0x0000C0E0, 0x0000C300, 0x0000C520, 0x00011440, 0x0000E0E0, 0x0000E300, 0x0000E520, 0x0000C740, 0x0000C960, 0x0000CB80, 0x0000CDA0, 0x0000DCA0, 0x0000DEC0, 0x0000E740, 0x0000E960, 0x0000EB80, 0x0000EDC0, 0x00012BC0, 0x00012BC0, 0x00012BC0, 0x00012BC0, 0x00012BC0, 0x00012BC0, 0x00012BC0, 0x00012BC0, 0x00012BC0, 0x00012BC0, 0x00012BC0, 0x00012BC0, 0x00012BC0, 0x00012BC0, 0x00012BC0, 0x00012BC0, 0x00012BC0, 0x00012BC0, 0x00012BC0, 0x00012BC0, 0x00012BC0, 0x00012BC0, 0x00012BC0, 0x00012BC0, 0x00012BC0, 0x00012BC0, 0x00012BC0, 0x00012BC0, 0x00012BC0, 0x00012BC0, 0x0000A320, 0x00012BC0, 0x00012BC0, 0x00009CC0, 0x0000D1E0, 0x0000D400, 0x0000D620, 0x0000D840, 0x0000A540, 0x00011CC0, 0x00027D40, 0x00027B00, 0x00027F80, 0x000281C0, 0x00028400, 0x00028640, 0x00028880, 0x00028AC0, 0x00028D00, 0x00028F40, 0x0000F640, 0x0000F420, 0x0000F860, 0x0000FEE0, 0x0000BA80, 0x0000FA80, 0x0000FCA0, 0x00011AA0, 0x00011EE0, 0x00012120, 0x00012340, 0x00012560, 0x00012780, 0x000129A0, 0x00012780, 0x0000EFE0, 0x0000F200, 0x0000FEE0, 0x0000BA80, 0x0000BA80, 0x00011880, 0x00011660, 0x00000200, 0x00000200, 0x00000200, 0x0002A5C0, 0x0002A800, 0x0002AA40, 0x0002AEC0, 0x0002AC80, 0x0002B340, 0x0002B100, 0x00014900, 0x0002B7C0, 0x00024500, 0x000239C0, 0x0002BA00, 0x00023C00, 0x000242C0, 0x00023E40, 0x000293C0, 0x00029840, 0x00029A80, 0x00029CC0, 0x00027680, 0x000278C0, 0x00024080, 0x00014480, 0x000146C0, 0x00014240, 0x00013DC0, 0x00029F00, 0x00024740, 0x00025B80, 0x00025940, 0x00024980, 0x00024BC0, 0x00024E00, 0x00025040, 0x00027440, 0x00027200, 0x00026FC0, 0x00025280, 0x000254C0, 0x00025700, 0x00025DC0, 0x00026000, 0x00026240, 0x00026480, 0x000266C0, 0x00026900, 0x00026B40, 0x00026D80, 0x00002620, 0x00002860, 0x00002AA0, 0x00002CE0, 0x00002F20, 0x00003160, 0x000033A0, 0x000035E0, 0x00003820, 0x00003A60, 0x00003CA0, 0x00004360, 0x00003EE0, 0x00004120, 0x000045A0, 0x000047E0, 0x00004A20, 0x00004C60, 0x00004EA0, 0x000050E0, 0x00005320, 0x00005560, 0x000057A0, 0x000059E0, 0x00005C20, 0x00005E60, 0x000060A0, 0x000062E0, 0x00006520, 0x00006760, 0x000069A0, 0x00006BE0, 0x00006E20, 0x00007060, 0x000072A0, 0x000074E0, 0x00007720, 0x00007960, 0x00007BA0, 0x00007DE0, 0x00008020, 0x00008260, 0x000084A0, 0x00000200, 0x00000200, 0x00000200, 0x00000200, 0x00000200, 0x00014FC0, 0x00015200, 0x00015440, 0x00015680, 0x000158C0, 0x00015B00, 0x00015D40, 0x00015F80, 0x000161C0, 0x00016400, 0x00000200, 0x00016AC0, 0x000173C0, 0x00020A80, 0x00017CC0, 0x00018140, 0x000185C0, 0x00018800, 0x00018A40, 0x00018C80, 0x00018EC0, 0x00019100, 0x00019340, 0x00019580, 0x000197C0, 0x00019A00, 0x00019C40, 0x00019E80, 0x0001A0C0, 0x0001A300, 0x0001A540, 0x0001A780, 0x0001A9C0, 0x0001AC00, 0x0001AE40, 0x0001B080, 0x0001B2C0, 0x0001B500, 0x0001B740, 0x00018380, 0x00016880, 0x00016D00, 0x00017600, 0x00016F40, 0x00017840, 0x0001E200, 0x00017A80, 0x00017180, 0x0001E8C0, 0x0001E440, 0x0001E680, 0x0001D000, 0x0001C940, 0x0001CB80, 0x0001D240, 0x00016640, 0x00017F00, 0x0001B980, 0x0001D480, 0x0001D6C0, 0x0001DD80, 0x0001D900, 0x0001DFC0, 0x0001DB40, 0x0001CDC0, 0x0001BBC0, 0x0001BE00, 0x0001C040, 0x0001C280, 0x0001C4C0, 0x0001C700, 0x00000200, 0x00000200, 0x000203C0, 0x00020600, 0x0001F1C0, 0x00000200, 0x00020840, 0x0001F640, 0x0001F400, 0x0001F880, 0x0001FAC0, 0x000203C0, 0x00020600, 0x00015F80, 0x000197C0, 0x0001A780, 0x0001A780, 0x0001B500, 0x0001B500, 0x0001F880, 0x0001F880, 0x00015440, 0x00015440, 0x00019E80, 0x00019E80, 0x0001FD00, 0x0001FD00, 0x0001FD00, 0x00021800, 0x000215C0, 0x00021A40, 0x00021C80, 0x00021EC0, 0x00022100, 0x00022340, 0x00015F80, 0x00015F80, 0x00015F80, 0x000197C0, 0x000197C0, 0x000197C0, 0x000227C0, 0x00000200, 0x00000200, 0x00000200, 0x00000200, 0x00000200, 0x00030B80, 0x0002F6E0, 0x00030E00, 0x00030F40, 0x0002EB00, 0x0002F160, 0x00030600, 0x00000000, 0x00000001, 0x00000002, 0x00000003, 0x00000004, 0x00000009, 0x00000006, 0x00000007, 0x00000008, 0x00000005, 0x0000000A, 0x0000000B, 0x00000000, 0x00000001, 0x00000002, 0x00000003, 0x00000004, 0x00000000, 0x00000006, 0x00000007, 0x00000008, 0x00000005, 0x00000000, 0x00000000, 0x800989A0, 0x00000000, 0x00000000, 0x00000000, 0x001D0007, 0x00000002, 0x00280000, 0x00280001, 0x001D0008, 0x00000003, 0x0028000D, 0x0028000E, 0x001D0009, 0x00000004, 0x0028001A, 0x0028001B, 0x001D000A, 0x00000005, 0x00280027, 0x00280028, 0x001D000B, 0x00000001, 0x00000000, 0x00000000, 0x001D000C, 0x00000007, 0x00280041, 0x00280042, 0x001D000D, 0x00000008, 0x0028004E, 0x0028004F, 0x001D000E, 0x00000009, 0x0028005B, 0x0028005C, 0x001D000F, 0x00000006, 0x00280034, 0x00280035, 0x001D0010, 0x00000001, 0x00000000, 0x00000000, 0x001D0011, 0x00000001, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x80107CA8, 0x80107CD0, 0x80107CF8, 0x80107D20, 0x80107D48, 0x80107D70, 0x80107D98, 0x80107DC0, 0x80107DE8, 0x80107E10, 0x80107E38, 0x80107E60, 0x80107E88, 0x80107EB0, 0x80107ED8, 0x80107F00, 0x80107F28, 0x80107F50, 0x80107F78, 0x80107FA0, 0x80107FC8, 0x80107FF0, 0x80108018, 0x80108040, 0x80108018, 0x80108040, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000000FF, 0x00000000, 0x00000002, 0x00000000, 0x00000000, 0x000000FF, 0x00000000, 0x00000008, 0x00000000, 0x00000000, 0x000000FF, 0x001D0038, 0x00013005, 0x002300A3, 0x00000000, 0x01000001, 0x001D0038, 0x00013005, 0x002300A4, 0x002300A4, 0x01000001, 0x001D0038, 0x00013005, 0x002300A5, 0x002300A5, 0x01000001, 0x001D0038, 0x00013005, 0x00000000, 0x00000000, 0x01000001, 0x00000000, 0x00013005, 0x00000000, 0x00000000, 0x01000001, 0x002A0010, 0x00013005, 0x00230068, 0x00250068, 0x01020101, 0x002A0012, 0x00008020, 0x0023006A, 0x0025006A, 0x01020101, 0x002A0011, 0x00013005, 0x00230069, 0x00250069, 0x01020201, 0x00000000, 0x00000008, 0x00000000, 0x00000000, 0x010101FF, 0x001D0038, 0x00055001, 0x00000000, 0x00000000, 0x01000001, 0x002A000E, 0x00000003, 0x00230066, 0x00250066, 0x01020201, 0x002A0014, 0x00008020, 0x0023006C, 0x0025006C, 0x01070301, 0x002A000C, 0x00000008, 0x00230064, 0x00250064, 0x010101FF, 0x001D0038, 0x00054001, 0x00230064, 0x00250064, 0x01000001, 0x002A000D, 0x00000008, 0x00230065, 0x00250065, 0x010402FF, 0x001D0038, 0x00055001, 0x00230065, 0x00250065, 0x01000001, 0x00000000, 0x00013005, 0x00000000, 0x00000000, 0x010201FF, 0x002A0013, 0x00008020, 0x0023006B, 0x0025006B, 0x01040201, 0x002A000A, 0x00013005, 0x00230062, 0x00250062, 0x01020101, 0x00000000, 0x00013005, 0x00000000, 0x00000000, 0x01040201, 0x002A000B, 0x00013005, 0x00230063, 0x00250063, 0x01060301, 0x002A000F, 0x00013005, 0x00230067, 0x00250067, 0x01020101, 0x00000000, 0x00013005, 0x00000000, 0x00000000, 0x01060301, 0x001D0039, 0x00054881, 0x002300A0, 0x002300A0, 0x02000000, 0x001D0039, 0x00054881, 0x002300A1, 0x002300A1, 0x02000000, 0x001D0039, 0x00054881, 0x002300A2, 0x002300A2, 0x02000000, 0x001D0039, 0x00054881, 0x00000000, 0x00000000, 0x02000000, 0x001D0039, 0x00054881, 0x00000000, 0x00000000, 0x02000000, 0x002A0006, 0x0004C880, 0x0023005E, 0x0025005E, 0x02020100, 0x002A0009, 0x00054881, 0x00230061, 0x00250061, 0x02030200, 0x002A0004, 0x00054881, 0x0023005C, 0x0025005C, 0x02020100, 0x002A0005, 0x00054881, 0x0023005D, 0x0025005D, 0x02020100, 0x00000000, 0x00000808, 0x00000000, 0x00000000, 0x020101FF, 0x001D0039, 0x00054881, 0x00000000, 0x00000000, 0x02010100, 0x002A0002, 0x00000808, 0x0023005A, 0x0025005A, 0x020101FF, 0x001D0039, 0x00054881, 0x0023005A, 0x0025005A, 0x02000000, 0x002A0003, 0x00000808, 0x0023005B, 0x0025005B, 0x020402FF, 0x001D0039, 0x00054881, 0x0023005B, 0x0025005B, 0x02000000, 0x00000000, 0x00054881, 0x00000000, 0x00000000, 0x020201FF, 0x00000000, 0x0004C880, 0x00000000, 0x00000000, 0x020502FF, 0x002A0000, 0x00054881, 0x00230058, 0x00250058, 0x02020100, 0x00000000, 0x00054881, 0x00000000, 0x00000000, 0x02040200, 0x002A0001, 0x00054881, 0x00230059, 0x00250059, 0x02060300, 0x002A0008, 0x00054881, 0x00230060, 0x00250060, 0x02020200, 0x002A0007, 0x00054881, 0x0023005F, 0x0025005F, 0x02020100, 0x00000000, 0x00008020, 0x00000000, 0x00000000, 0x02020214, 0x00000000, 0x00010005, 0x00230074, 0x00250074, 0x030006FF, 0x00000000, 0x00000008, 0x00000000, 0x00000000, 0x030008FF, 0x00260075, 0x00000008, 0x00230075, 0x00250075, 0x030003FF, 0x001D003F, 0x00010005, 0x001D00A4, 0x00000000, 0x040000FF, 0x002A0015, 0x00000000, 0x0023006D, 0x0025006D, 0x040301FF, 0x002A0016, 0x00000000, 0x0023006E, 0x0025006E, 0x040603FF, 0x80098A04, 0x00000000, 0x00000000, 0x00000000, 0x050000FF, 0x002A0018, 0x00000000, 0x00230070, 0x00250070, 0x050004FF, 0x80098A04, 0x00010005, 0x00000000, 0x00000000, 0x060000FF, 0x80098A04, 0x00000000, 0x00000000, 0x00000000, 0x070000FF, 0x00260073, 0x00000000, 0x00230073, 0x00250073, 0x070006FF, 0x00260093, 0x00000000, 0x00230093, 0x00250093, 0x070004FF, 0x00260095, 0x00000000, 0x00230095, 0x00250095, 0x070002FF, 0x002A0019, 0x00000000, 0x00230076, 0x00250076, 0x070002FF, 0x80098A04, 0x00010005, 0x00000000, 0x00000000, 0x080000FF, 0x0026007F, 0x00000000, 0x0023007F, 0x0025007F, 0x080002FF, 0x00260097, 0x00000000, 0x00230097, 0x00250097, 0x080002FF, 0x00260081, 0x00000000, 0x00230081, 0x00250081, 0x080003FF, 0x0026008C, 0x00000000, 0x0023008C, 0x0025008C, 0x080003FF, 0x00260099, 0x00000000, 0x00230099, 0x00250099, 0x080004FF, 0x00260074, 0x00000000, 0x00230074, 0x00250074, 0x080006FF, 0x00000000, 0x00000000, 0x00230085, 0x00250085, 0x080001FF, 0x00000000, 0x00000000, 0x00230083, 0x00250083, 0x080001FF, 0x00000000, 0x00000000, 0x00230082, 0x00250082, 0x080007FF, 0x002A001A, 0x00000000, 0x00230077, 0x00250077, 0x080002FF, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x080001FF, 0x80098A04, 0x00000000, 0x00000000, 0x00000000, 0x090000FF, 0x00260080, 0x00000000, 0x00230080, 0x00250080, 0x090002FF, 0x00260087, 0x00000000, 0x00230087, 0x00250087, 0x090001FF, 0x00260094, 0x00000000, 0x00230094, 0x00250094, 0x090000FF, 0x0026009B, 0x00000000, 0x0023009B, 0x0025009B, 0x090008FF, 0x00000000, 0x00000000, 0x00230088, 0x00250088, 0x090005FF, 0x80098A04, 0x00010005, 0x00000000, 0x00000000, 0x000000FF, 0x00260071, 0x00010005, 0x00230071, 0x00250071, 0x000003FF, 0x00000000, 0x00000002, 0x00000000, 0x00000000, 0x000000FF, 0x0026008D, 0x00000002, 0x0023008D, 0x0025008D, 0x000000FF, 0x0026008E, 0x00000002, 0x0023008E, 0x0025008E, 0x000000FF, 0x0026008F, 0x00000002, 0x0023008F, 0x0025008F, 0x000000FF, 0x00260090, 0x00000002, 0x00230090, 0x00250090, 0x000000FF, 0x00260091, 0x00000002, 0x00230091, 0x00250091, 0x000000FF, 0x00260092, 0x00000002, 0x00230092, 0x00250092, 0x000000FF, 0x00260078, 0x00000002, 0x00230078, 0x00250078, 0x000003FF, 0x00260072, 0x00000002, 0x00230072, 0x00250072, 0x000003FF, 0x0026009A, 0x00000002, 0x0023009A, 0x0025009A, 0x000007FF, 0x00260098, 0x00000002, 0x00230098, 0x00250098, 0x000002FF, 0x00260079, 0x00000002, 0x00230079, 0x00250079, 0x000003FF, 0x00260086, 0x00000002, 0x00230086, 0x00250086, 0x000001FF, 0x00000000, 0x00000002, 0x00000000, 0x00000000, 0x000008FF, 0x0026009C, 0x00000002, 0x0023009C, 0x0025009C, 0x000002FF, 0x0026007B, 0x00000002, 0x0023007B, 0x0025007B, 0x000006FF, 0x00260096, 0x00000002, 0x00230096, 0x00250096, 0x000002FF, 0x00000000, 0x00000002, 0x00230084, 0x00250084, 0x000001FF, 0x00000000, 0x00000002, 0x00000000, 0x00000000, 0x00000AFF, 0x00000000, 0x00000002, 0x00000000, 0x00000000, 0x00000AFF, 0x00000000, 0x00000002, 0x00000000, 0x00000000, 0x00000AFF, 0x00000000, 0x00000002, 0x0023007C, 0x0025007C, 0x000003FF, 0x00000000, 0x00000002, 0x0023007D, 0x0025007D, 0x000003FF, 0x00000000, 0x00000002, 0x00230089, 0x00250089, 0x000003FF, 0x00000000, 0x00000002, 0x0023008A, 0x0025008A, 0x000002FF, 0x00000000, 0x00000002, 0x0023009E, 0x0025009E, 0x000001FF, 0x00000000, 0x00000002, 0x0023008B, 0x0025008B, 0x000001FF, 0x0026009D, 0x00000002, 0x0023009D, 0x0025009D, 0x000001FF, 0x800989F0, 0x00000002, 0x00000000, 0x00000000, 0x000001FF, 0x800989DC, 0x00000002, 0x00000000, 0x00000000, 0x000001FF, 0x0026007E, 0x00000002, 0x0023007E, 0x0025007E, 0x000001FF, 0x00000000, 0x00000002, 0x00000000, 0x00000000, 0x000005FF, 0x00000000, 0x80000000, 0x00000000, 0x00000000, 0x000000FF, 0x0026007A, 0x00000002, 0x0023007A, 0x0025007A, 0x000003FF, 0x0026006F, 0x00000002, 0x0023006F, 0x0025006F, 0x000002FF, 0x0026009F, 0x00000002, 0x0023009F, 0x0025009F, 0x000003FF, 0x001D0014, 0x80000000, 0x001D0020, 0x00000000, 0x0A0000FF, 0x001D0015, 0x00000008, 0x001D0021, 0x00000000, 0x0A0101FF, 0x001D0016, 0x00008002, 0x001D0022, 0x00000000, 0x0A0101FF, 0x001D0017, 0x00008002, 0x001D0023, 0x00000000, 0x0A0202FF, 0x001D0018, 0x00008002, 0x001D0024, 0x00000000, 0x0A0202FF, 0x001D0019, 0x00000008, 0x001D0025, 0x00000000, 0x0A0303FF, 0x001D001A, 0x00008002, 0x001D0026, 0x00000000, 0x0A0202FF, 0x001D001B, 0x00008002, 0x001D0027, 0x00000000, 0x0A0202FF, 0x001D001C, 0x00008002, 0x001D0028, 0x00000000, 0x0A0000FF, 0x001D001D, 0x00008002, 0x001D0029, 0x00000000, 0x0A0000FF, 0x001D001E, 0x00000100, 0x001D0020, 0x00000000, 0x0A0000FF, 0x001D001F, 0x00008003, 0x001D0020, 0x00000000, 0x0A0000FF, 0x002B0000, 0x00054881, 0x00280002, 0x00280007, 0x0B000002, 0x002B0000, 0x00054881, 0x00280002, 0x00280008, 0x0B000002, 0x002B0000, 0x00054881, 0x00280002, 0x00280009, 0x0B000002, 0x002B0001, 0x00038003, 0x00280003, 0x0028000A, 0x0B0000FF, 0x002B0002, 0x00000100, 0x00280004, 0x0028000B, 0x0B0100FF, 0x002B0003, 0x00054881, 0x00280005, 0x0028000C, 0x0B030002, 0x002B0004, 0x00012005, 0x0028000F, 0x00280014, 0x0B000001, 0x002B0004, 0x00012005, 0x0028000F, 0x00280015, 0x0B000001, 0x002B0004, 0x00012005, 0x0028000F, 0x00280016, 0x0B000001, 0x002B0005, 0x00008004, 0x00280010, 0x00280017, 0x0B030001, 0x002B0006, 0x00008004, 0x00280011, 0x00280018, 0x0B040003, 0x002B0007, 0x00008004, 0x00280012, 0x00280019, 0x0B050004, 0x002B0008, 0x00012005, 0x0028001C, 0x00280021, 0x0B00000F, 0x002B0008, 0x00012005, 0x0028001C, 0x00280022, 0x0B00000F, 0x002B0008, 0x00012005, 0x0028001C, 0x00280023, 0x0B00000F, 0x002B0009, 0x00012005, 0x0028001D, 0x00280024, 0x0B030003, 0x002B000A, 0x00008004, 0x0028001E, 0x00280025, 0x0B060003, 0x002B000B, 0x00008002, 0x0028001F, 0x00280026, 0x0B080003, 0x002B000C, 0x00010003, 0x00280029, 0x0028002E, 0x0B000000, 0x002B000C, 0x00010003, 0x00280029, 0x0028002F, 0x0B000000, 0x002B000C, 0x00010003, 0x00280029, 0x00280030, 0x0B000000, 0x002B000D, 0x00010003, 0x0028002A, 0x00280031, 0x0B030005, 0x002B000E, 0x00008403, 0x0028002B, 0x00280032, 0x0B030003, 0x002B000F, 0x00008002, 0x0028002C, 0x00280033, 0x0B060004, 0x800989D0, 0x00000003, 0x00000000, 0x00000000, 0x0B000000, 0x800989D0, 0x00000003, 0x00000000, 0x00000000, 0x0B000000, 0x800989D0, 0x00000003, 0x00000000, 0x00000000, 0x0B000000, 0x800989C0, 0x00000004, 0x00000000, 0x00000000, 0x0B000000, 0x800989B4, 0x00000003, 0x00000000, 0x00000000, 0x0B000000, 0x800989A8, 0x00000003, 0x00000000, 0x00000000, 0x0B000000, 0x002B0014, 0x00000003, 0x00280043, 0x00280048, 0x0B00000F, 0x002B0014, 0x00000003, 0x00280043, 0x00280049, 0x0B00000F, 0x002B0014, 0x00000003, 0x00280043, 0x0028004A, 0x0B00000F, 0x002B0015, 0x00000003, 0x00280044, 0x0028004B, 0x0B020003, 0x002B0016, 0x00000008, 0x00280045, 0x0028004C, 0x0B03000A, 0x002B0017, 0x00008002, 0x00280046, 0x0028004D, 0x0B05000C, 0x002B0018, 0x00054881, 0x00280050, 0x00280055, 0x0B000001, 0x002B0018, 0x00054881, 0x00280050, 0x00280056, 0x0B000001, 0x002B0018, 0x00054881, 0x00280050, 0x00280057, 0x0B000001, 0x002B0019, 0x00000003, 0x00280051, 0x00280058, 0x0B03000E, 0x002B001A, 0x00000008, 0x00280052, 0x00280059, 0x0B03000A, 0x002B001B, 0x00008002, 0x00280053, 0x0028005A, 0x0B060008, 0x002B001C, 0x00000003, 0x0028005D, 0x00280062, 0x0B000010, 0x002B001C, 0x00000003, 0x0028005D, 0x00280063, 0x0B000010, 0x002B001C, 0x00000003, 0x0028005D, 0x00280064, 0x0B000010, 0x002B001D, 0x00008002, 0x0028005E, 0x00280065, 0x0B040004, 0x002B001E, 0x00000008, 0x0028005F, 0x00280066, 0x0B04000A, 0x002B001F, 0x00008002, 0x00280060, 0x00280067, 0x0B05000C, 0x002B0010, 0x00000003, 0x00280036, 0x0028003B, 0x0B000004, 0x002B0010, 0x00000003, 0x00280036, 0x0028003C, 0x0B000004, 0x002B0010, 0x00000003, 0x00280036, 0x0028003D, 0x0B000004, 0x002B0011, 0x00000008, 0x00280037, 0x0028003E, 0x0B0200FF, 0x002B0012, 0x00008002, 0x00280038, 0x0028003F, 0x0B030004, 0x002B0013, 0x00000003, 0x00280039, 0x00280040, 0x0B050004, 0x00000000, 0x00000000, 0x00000000, 0x802EBFF0, 0x802EC010, 0x802EC030, 0x802EC050, 0x802EC070, 0x802EC090, 0x802EC0B0, 0x802EC0D0, 0x802EC0F0, 0x802EC110, 0x802EC130, 0x802EC150, 0x802EC170, 0x802EC190, 0x802EC1B0, 0x802EC1D0, 0x802EC1F0, 0x802EC210, 0x802EC230, 0x802EC250, 0x802EC270, 0x802EC290, 0x802EC2B0, 0x802EC2D0, 0x802EC2F0, 0x802EC310, 0x802EC330, 0x802EC350, 0x802EC370, 0x802EC390, 0x802EC3B0, 0x802EC3D0 + +glabel D_8008FF60 +.word 0x00000000, 0x00000001, 0x00000002, 0x00000003 + +glabel D_8008FF70 +.word 0x00040006, 0x00050004, 0x00070006, 0x00000003, 0x00040003, 0x00070004, 0x00030002, 0x00070002, 0x00060007, 0x00020001, 0x00060001, 0x00050006, 0x00010000, 0x00050000, 0x00040005, 0x00000001, 0x00020000, 0x00020003 + +glabel D_8008FFB8 +.word 0x00000000, 0x3F800000, 0x00000000, 0x00000000, 0x3F800000, 0x00000000, 0x3F800000, 0x00000000, 0x00000000, 0x3F800000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0xBF800000, 0x00000000, 0x00000000, 0xBF800000, 0xBF800000, 0x00000000, 0x00000000, 0xBF800000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x3F800000, 0x00000000, 0x00000000, 0x3F800000, 0x00000000, 0xBF800000, 0x00000000, 0x00000000, 0xBF800000, 0x00000000, 0x00000000, 0x00000000 diff --git a/asm/nonmatchings/code_31650/func_80056D34.s b/asm/nonmatchings/code_31650/func_80056D34.s deleted file mode 100644 index 56fc10663e..0000000000 --- a/asm/nonmatchings/code_31650/func_80056D34.s +++ /dev/null @@ -1,8 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel func_80056D34 -/* 32134 80056D34 24020001 */ addiu $v0, $zero, 1 -/* 32138 80056D38 3C018008 */ lui $at, %hi(D_80078E58) -/* 3213C 80056D3C 03E00008 */ jr $ra -/* 32140 80056D40 A0228E58 */ sb $v0, %lo(D_80078E58)($at) diff --git a/asm/nonmatchings/code_31650/func_80056D44.s b/asm/nonmatchings/code_31650/func_80056D44.s deleted file mode 100644 index c7f3137a8b..0000000000 --- a/asm/nonmatchings/code_31650/func_80056D44.s +++ /dev/null @@ -1,7 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel func_80056D44 -/* 32144 80056D44 3C018008 */ lui $at, %hi(D_80078E5A) -/* 32148 80056D48 03E00008 */ jr $ra -/* 3214C 80056D4C A4248E5A */ sh $a0, %lo(D_80078E5A)($at) diff --git a/asm/nonmatchings/code_31650/func_80056D50.s b/asm/nonmatchings/code_31650/func_80056D50.s deleted file mode 100644 index 35aca52663..0000000000 --- a/asm/nonmatchings/code_31650/func_80056D50.s +++ /dev/null @@ -1,7 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel func_80056D50 -/* 32150 80056D50 3C028008 */ lui $v0, %hi(D_80078E5A) -/* 32154 80056D54 03E00008 */ jr $ra -/* 32158 80056D58 84428E5A */ lh $v0, %lo(D_80078E5A)($v0) diff --git a/src/code_31650.c b/src/code_31650.c index 3f19d4555d..87c4e710c2 100644 --- a/src/code_31650.c +++ b/src/code_31650.c @@ -1,6 +1,17 @@ #include "common.h" #include "audio.h" +s32 D_80078E50 = 0; +UnkAl0* D_80078E54 = 0; +s8 D_80078E58 = 0; +s16 D_80078E5A = 0x7FFF; +s8 D_80078E5C = 0; +s32 D_80078E60[] = { 0x7FFF7FFC, 0x7FF57FE8, 0x7FD77FC0, 0x7FA57F84, 0x7F5F7F34, 0x7F057ED0, 0x7E977E58, 0x7E157DCD, + 0x7D7F7D2D, 0x7CD67C7A, 0x7C1A7BB4, 0x7B497ADA, 0x7A6679ED, 0x796F78ED, 0x786677DA, 0x774976B4, 0x761A757B, + 0x74D87430, 0x738472D3, 0x721E7164, 0x70A66FE3, 0x6F1C6E51, 0x6D816CAD, 0x6BD56AF9, 0x6A186933, 0x684A675D, + 0x666C6577, 0x647E6381, 0x6280617C, 0x60735F67, 0x5E575D43, 0x5C2C5B11, }; + + INCLUDE_ASM(s32, "code_31650", func_80056250); void func_800565A4(void) { @@ -13,29 +24,17 @@ void func_800565A4(void) { INCLUDE_ASM(Acmd*, "code_31650", alAudioFrame, Acmd* cmdList, s32* cmdLen, s16* outBuf, s32 outLen); -#ifdef NON_MATCHING void func_80056D34(void) { D_80078E58 = 1; } -#else -INCLUDE_ASM(s32, "code_31650", func_80056D34); -#endif -#ifdef NON_MATCHING void func_80056D44(s16 arg0) { D_80078E5A = arg0; } -#else -INCLUDE_ASM(s16, "code_31650", func_80056D44); -#endif -#ifdef NON_MATCHING s16 func_80056D50(void) { return D_80078E5A; } -#else -INCLUDE_ASM(s16, "code_31650", func_80056D50); -#endif #ifdef NON_MATCHING void func_80056D5C(s8 arg0) { diff --git a/tools/splat.yaml b/tools/splat.yaml index 3f5e33f44f..c2080b6bce 100644 --- a/tools/splat.yaml +++ b/tools/splat.yaml @@ -206,6 +206,8 @@ segments: - [0x4a360, c, os/code_4a360_len_930] - [0x4ac90, c, os/code_4ac90_len_3910] - [0x4E5A0, data, code_1000_len_60] # data until world + - [0x54250, .data, code_31650] + - [0x542E0, data, code_31650] - [0x6B450, .data, world/world] - [0x6EAC0, bin] # has scripts - [0x70E30, bin, battle/battle] From fb48afaf4bed38a4868ace3bda411c02ab9971c4 Mon Sep 17 00:00:00 2001 From: Ethan Roseman Date: Sat, 12 Dec 2020 17:12:45 +0900 Subject: [PATCH 46/97] 5 more --- asm/data/code_1000_len_60.data.s | 33 ----- .../code_303c0_len_3e10/func_80055050.s | 10 -- .../code_303c0_len_3e10/func_80055240.s | 44 ------ .../code_303c0_len_3e10/func_800552D0.s | 30 ---- .../code_303c0_len_3e10/func_800557CC.s | 39 ----- .../code_303c0_len_3e10/func_80055848.s | 43 ------ src/code_303c0_len_3e10.c | 140 ++++++++++++++++-- tools/splat.yaml | 1 + 8 files changed, 127 insertions(+), 213 deletions(-) delete mode 100644 asm/nonmatchings/code_303c0_len_3e10/func_80055050.s delete mode 100644 asm/nonmatchings/code_303c0_len_3e10/func_80055240.s delete mode 100644 asm/nonmatchings/code_303c0_len_3e10/func_800552D0.s delete mode 100644 asm/nonmatchings/code_303c0_len_3e10/func_800557CC.s delete mode 100644 asm/nonmatchings/code_303c0_len_3e10/func_80055848.s diff --git a/asm/data/code_1000_len_60.data.s b/asm/data/code_1000_len_60.data.s index 0399abb91b..bdf82f5c9b 100644 --- a/asm/data/code_1000_len_60.data.s +++ b/asm/data/code_1000_len_60.data.s @@ -340,36 +340,3 @@ glabel D_800785A0 glabel D_80078730 .word 0x3F800000, 0x3F8012EF, 0x3F8025E1, 0x3F8038D6, 0x3F804BCD, 0x3F805EC7, 0x3F8071C4, 0x3F8084C4, 0x3F8097C7, 0x3F80AACC, 0x3F80BDD4, 0x3F80D0DF, 0x3F80E3ED, 0x3F80F6FE, 0x3F810A12, 0x3F811D28, 0x3F813041, 0x3F81435D, 0x3F81567C, 0x3F81699E, 0x3F817CC2, 0x3F818FE9, 0x3F81A313, 0x3F81B640, 0x3F81C970, 0x3F81DCA3, 0x3F81EFD9, 0x3F820311, 0x3F82164C, 0x3F82298A, 0x3F823CCB, 0x3F82500F, 0x3F826356, 0x3F82769F, 0x3F8289EB, 0x3F829D3A, 0x3F82B08C, 0x3F82C3E1, 0x3F82D739, 0x3F82EA94, 0x3F82FDF1, 0x3F831151, 0x3F8324B4, 0x3F83381A, 0x3F834B83, 0x3F835EEF, 0x3F83725E, 0x3F8385D0, 0x3F839944, 0x3F83ACBB, 0x3F83C035, 0x3F83D3B2, 0x3F83E732, 0x3F83FAB5, 0x3F840E3B, 0x3F8421C4, 0x3F84354F, 0x3F8448DD, 0x3F845C6E, 0x3F847002, 0x3F848399, 0x3F849733, 0x3F84AAD0, 0x3F84BE70, 0x3F84D213, 0x3F84E5B9, 0x3F84F961, 0x3F850D0C, 0x3F8520BA, 0x3F85346B, 0x3F85481F, 0x3F855BD6, 0x3F856F90, 0x3F85834D, 0x3F85970D, 0x3F85AAD0, 0x3F85BE96, 0x3F85D25F, 0x3F85E62A, 0x3F85F9F8, 0x3F860DC9, 0x3F86219D, 0x3F863574, 0x3F86494E, 0x3F865D2B, 0x3F86710B, 0x3F8684EE, 0x3F8698D4, 0x3F86ACBD, 0x3F86C0A9, 0x3F86D498, 0x3F86E88A, 0x3F86FC7F, 0x3F871077, 0x3F872472, 0x3F87386F, 0x3F874C6F, 0x3F876072, 0x3F877478, 0x3F878881, 0x3F879C8D, 0x3F87B09C, 0x3F87C4AE, 0x3F87D8C3, 0x3F87ECDB, 0x3F8800F6, 0x3F881514, 0x3F882935, 0x3F883D59, 0x3F885180, 0x3F8865AA, 0x3F8879D7, 0x3F888E07, 0x3F88A23A, 0x3F88B670, 0x3F88CAA9, 0x3F88DEE5, 0x3F88F324, 0x3F890766, 0x3F891BAB, 0x3F892FF3, 0x3F89443E, 0x3F89588C, 0x3F896CDD, 0x3F898131, 0x3F899588, 0x3F89A9E2, 0x3F89BE3F, 0x3F800000, 0x3F89D29F, 0x3F946637, 0x3F9FC997, 0x3FAC0CB1, 0x3FB940B0, 0x3FC77811, 0x3FD6C6BB, 0x3FE7421D, 0x3FF9014B, 0x40060E8F, 0x4010582B, 0x401B6BE2, 0x40275936, 0x403430DA, 0x404204C9, 0x4050E860, 0x4060F077, 0x40723381, 0x408264D5, 0x408C667B, 0x40972CB6, 0x40A2C69C, 0x40AF446B, 0x40BCB7A0, 0x40CB3311, 0x40DACB04, 0x40EB954F, 0x40FDA974, 0x41089062, 0x41130B3F, 0x411E53FF, 0x3F800000, 0x3F7FDA28, 0x3F7FB456, 0x3F7F8E89, 0x3F7F68C2, 0x3F7F4300, 0x3F7F1D44, 0x3F7EF78E, 0x3F7ED1DD, 0x3F7EAC32, 0x3F7E868C, 0x3F7E60EC, 0x3F7E3B51, 0x3F7E15BC, 0x3F7DF02C, 0x3F7DCAA2, 0x3F7DA51E, 0x3F7D7F9F, 0x3F7D5A26, 0x3F7D34B2, 0x3F7D0F44, 0x3F7CE9DB, 0x3F7CC478, 0x3F7C9F1A, 0x3F7C79C2, 0x3F7C546F, 0x3F7C2F22, 0x3F7C09DA, 0x3F7BE498, 0x3F7BBF5B, 0x3F7B9A24, 0x3F7B74F2, 0x3F7B4FC6, 0x3F7B2A9F, 0x3F7B057E, 0x3F7AE062, 0x3F7ABB4C, 0x3F7A963B, 0x3F7A7130, 0x3F7A4C2A, 0x3F7A272A, 0x3F7A022F, 0x3F79DD3A, 0x3F79B84A, 0x3F799360, 0x3F796E7B, 0x3F79499C, 0x3F7924C2, 0x3F78FFED, 0x3F78DB1E, 0x3F78B654, 0x3F789190, 0x3F786CD1, 0x3F784818, 0x3F782364, 0x3F77FEB6, 0x3F77DA0D, 0x3F77B569, 0x3F7790CB, 0x3F776C32, 0x3F77479F, 0x3F772311, 0x3F76FE88, 0x3F76DA05, 0x3F76B587, 0x3F76910F, 0x3F766C9C, 0x3F76482E, 0x3F7623C6, 0x3F75FF63, 0x3F75DB06, 0x3F75B6AE, 0x3F75925B, 0x3F756E0E, 0x3F7549C6, 0x3F752583, 0x3F750146, 0x3F74DD0E, 0x3F74B8DB, 0x3F7494AE, 0x3F747086, 0x3F744C63, 0x3F742846, 0x3F74042E, 0x3F73E01C, 0x3F73BC0F, 0x3F739807, 0x3F737404, 0x3F735007, 0x3F732C0F, 0x3F73081C, 0x3F72E42F, 0x3F72C047, 0x3F729C64, 0x3F727887, 0x3F7254AF, 0x3F7230DC, 0x3F720D0F, 0x3F71E947, 0x3F71C584, 0x3F71A1C6, 0x3F717E0E, 0x3F715A5B, 0x3F7136AD, 0x3F711305, 0x3F70EF62, 0x3F70CBC4, 0x3F70A82B, 0x3F708498, 0x3F70610A, 0x3F703D81, 0x3F7019FD, 0x3F6FF67F, 0x3F6FD306, 0x3F6FAF92, 0x3F6F8C23, 0x3F6F68BA, 0x3F6F4556, 0x3F6F21F7, 0x3F6EFE9D, 0x3F6EDB49, 0x3F6EB7FA, 0x3F6E94B0, 0x3F6E716B, 0x3F6E4E2B, 0x3F6E2AF1, 0x3F6E07BC, 0x3F6DE48C, 0x3F800000, 0x3F6DC161, 0x3F5CCFA0, 0x3F4D1303, 0x3F3E7583, 0x3F30E2A9, 0x3F244774, 0x3F18923F, 0x3F0DB2A4, 0x3F03996B, 0x3EF470E1, 0x3EE30526, 0x3ED2D741, 0x3EC3D08B, 0x3EB5DBFB, 0x3EA8E607, 0x3E9CDC8A, 0x3E91AEA9, 0x3E874CBE, 0x3E7B5080, 0x3E69675D, 0x3E58C500, 0x3E495220, 0x3E3AF91B, 0x3E2DA5DB, 0x3E2145B8, 0x3E15C75E, 0x3E0B1AB6, 0x3E0130CE, 0x3DEFF78B, 0x3DDEDD71, 0x3DCEFB5A, 0x3DC03B0C, 0x3DB287E0, 0x3DA5CEA6, 0x3D99FD90, 0x3D8F0410, 0x3D84D2CB, 0x3D76B6F6, 0x3D6521C0, 0x3D54CD52, 0x3D45A2D5, 0x3D378D0A, 0x3D2A7839, 0x3D1E5213, 0x3D130992, 0x3D088EF0, 0x3CFDA6F5, 0x3CEB932C, 0x3CDAC934, 0x3CCB318C, 0x3CBCB65A, 0x3CAF435F, 0x3CA2C5C3, 0x3C972C06, 0x3C8C65F5, 0x3C826474, 0x3C7232F8, 0x3C60F025, 0x3C50E83A, 0x3C4204D2, 0x3C3430FF, 0x3C275980, 0x3C1B6C42, 0x3C10589D, 0x3C060F18, 0x3BF90275, 0x3BE7435B, 0x3BD6C80E, 0x3BC7797C, 0x3BB9422B, 0x3BAC0E26, 0x3B9FCB0C, 0x3B9467C1, 0x3B89D42A, 0x3B800183, 0x3B6DC413, 0x3B5CD229, 0x3B4D1572, 0x3B3E77CA, 0x3B30E4BA, 0x3B24494B, 0x3B18940B, 0x3B0DB45E, 0x3B039B00, 0x3AF473B0, 0x3AE307F8, 0x3AD2D9AC, 0x3AC3D2FE, 0x3AB5DE1E, 0x3AA8E7EB, 0x3A9CDE48, 0x3A91B06C, 0x3A874E3D, 0x3A7B5348, 0x3A696A67, 0x3A58C7AD, 0x3A495447, 0x3A3AFB69, 0x3A2DA799, 0x3A214763, 0x3A15C955, 0x3A0B1CA9, 0x3A01329B, 0x39EFFA23, 0x39DEDFF5, 0x39CEFD29, 0x39C03D9D, 0x39B28A81, 0x39A5D10A, 0x3999FFC6, 0x398F0541, 0x3984D410, 0x3976BADD, 0x39652533, 0x3954CEFA, 0x3945A566, 0x39379050, 0x392A7A3D, 0x391E5312, 0x39130AB4, 0x39089109, 0x38FDABE8, 0x38EB9814, 0x38DACBBE, 0x38CB316C, 0x38BCB903, 0x38AF47AC - -glabel D_80078DB0 -.word 0x00000000 - -glabel D_80078DB4 -.short 0x0000 - -glabel D_80078DB6 -.short 0x0000 - -glabel D_80078DB8 -.word 0x025E0350, 0x04640554, 0x00000000 - -glabel D_80078DC4 -.word 0x0264036E, 0x045A0000 - -glabel D_80078DCC -.word 0x025F0000 - -glabel D_80078DD0 -.word 0x0546065A, 0x075A0864, 0x00000000 - -glabel D_80078DDC -.word 0x05000600, 0x07000800, 0x09000A00, 0x0B000C00, 0x0D000E00, 0x0F001000, 0x00000000 - -glabel D_80078DF8 -.word 0x05640666, 0x0758086E, 0x09000A00, 0x0B000C00, 0x0D000E00, 0x0F001000, 0x00000000 - -glabel D_80078E14 -.word 0x05640666, 0x0758086E, 0x097E0A58, 0x0B640C00, 0x0D000E00, 0x0F001000, 0x00000000 - -glabel D_80078E30 -.word 0x05640666, 0x0758086E, 0x097E0A58, 0x0B640C64, 0x0D6A0E64, 0x0F64106E, 0x00000000, 0x00000000 diff --git a/asm/nonmatchings/code_303c0_len_3e10/func_80055050.s b/asm/nonmatchings/code_303c0_len_3e10/func_80055050.s deleted file mode 100644 index dd88d59e19..0000000000 --- a/asm/nonmatchings/code_303c0_len_3e10/func_80055050.s +++ /dev/null @@ -1,10 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel func_80055050 -/* 30450 80055050 24020001 */ addiu $v0, $zero, 1 -/* 30454 80055054 3C018008 */ lui $at, 0x8008 -/* 30458 80055058 A4228DB4 */ sh $v0, -0x724c($at) -/* 3045C 8005505C 3C018008 */ lui $at, 0x8008 -/* 30460 80055060 03E00008 */ jr $ra -/* 30464 80055064 AC208DB0 */ sw $zero, -0x7250($at) diff --git a/asm/nonmatchings/code_303c0_len_3e10/func_80055240.s b/asm/nonmatchings/code_303c0_len_3e10/func_80055240.s deleted file mode 100644 index e2fcc6b414..0000000000 --- a/asm/nonmatchings/code_303c0_len_3e10/func_80055240.s +++ /dev/null @@ -1,44 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel func_80055240 -/* 30640 80055240 27BDFFE0 */ addiu $sp, $sp, -0x20 -/* 30644 80055244 0080582D */ daddu $t3, $a0, $zero -/* 30648 80055248 00C0502D */ daddu $t2, $a2, $zero -/* 3064C 8005524C 00E0402D */ daddu $t0, $a3, $zero -/* 30650 80055250 0100382D */ daddu $a3, $t0, $zero -/* 30654 80055254 30A500FF */ andi $a1, $a1, 0xff -/* 30658 80055258 00051A00 */ sll $v1, $a1, 8 -/* 3065C 8005525C 3C04800A */ lui $a0, %hi(D_8009A640) -/* 30660 80055260 8C84A640 */ lw $a0, %lo(D_8009A640)($a0) -/* 30664 80055264 0060482D */ daddu $t1, $v1, $zero -/* 30668 80055268 10A00002 */ beqz $a1, .L80055274 -/* 3066C 8005526C AFBF0018 */ sw $ra, 0x18($sp) -/* 30670 80055270 346900FF */ ori $t1, $v1, 0xff -.L80055274: -/* 30674 80055274 00061600 */ sll $v0, $a2, 0x18 -/* 30678 80055278 04420001 */ bltzl $v0, .L80055280 -/* 3067C 8005527C 240A007F */ addiu $t2, $zero, 0x7f -.L80055280: -/* 30680 80055280 00081400 */ sll $v0, $t0, 0x10 -/* 30684 80055284 00021C03 */ sra $v1, $v0, 0x10 -/* 30688 80055288 28620961 */ slti $v0, $v1, 0x961 -/* 3068C 8005528C 14400003 */ bnez $v0, .L8005529C -/* 30690 80055290 2862F6A0 */ slti $v0, $v1, -0x960 -/* 30694 80055294 080154A9 */ j .L800552A4 -/* 30698 80055298 24070960 */ addiu $a3, $zero, 0x960 -.L8005529C: -/* 3069C 8005529C 54400001 */ bnel $v0, $zero, .L800552A4 -/* 306A0 800552A0 2407F6A0 */ addiu $a3, $zero, -0x960 -.L800552A4: -/* 306A4 800552A4 314200FF */ andi $v0, $t2, 0xff -/* 306A8 800552A8 00093400 */ sll $a2, $t1, 0x10 -/* 306AC 800552AC 00073C00 */ sll $a3, $a3, 0x10 -/* 306B0 800552B0 0160282D */ daddu $a1, $t3, $zero -/* 306B4 800552B4 00063403 */ sra $a2, $a2, 0x10 -/* 306B8 800552B8 00073C03 */ sra $a3, $a3, 0x10 -/* 306BC 800552BC 0C012DB6 */ jal func_8004B6D8 -/* 306C0 800552C0 AFA20010 */ sw $v0, 0x10($sp) -/* 306C4 800552C4 8FBF0018 */ lw $ra, 0x18($sp) -/* 306C8 800552C8 03E00008 */ jr $ra -/* 306CC 800552CC 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/code_303c0_len_3e10/func_800552D0.s b/asm/nonmatchings/code_303c0_len_3e10/func_800552D0.s deleted file mode 100644 index 0b82c43298..0000000000 --- a/asm/nonmatchings/code_303c0_len_3e10/func_800552D0.s +++ /dev/null @@ -1,30 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel func_800552D0 -/* 306D0 800552D0 27BDFFE0 */ addiu $sp, $sp, -0x20 -/* 306D4 800552D4 0080482D */ daddu $t1, $a0, $zero -/* 306D8 800552D8 00C0402D */ daddu $t0, $a2, $zero -/* 306DC 800552DC 30A500FF */ andi $a1, $a1, 0xff -/* 306E0 800552E0 00051A00 */ sll $v1, $a1, 8 -/* 306E4 800552E4 3C04800A */ lui $a0, %hi(D_8009A640) -/* 306E8 800552E8 8C84A640 */ lw $a0, %lo(D_8009A640)($a0) -/* 306EC 800552EC 0060382D */ daddu $a3, $v1, $zero -/* 306F0 800552F0 10A00002 */ beqz $a1, .L800552FC -/* 306F4 800552F4 AFBF0018 */ sw $ra, 0x18($sp) -/* 306F8 800552F8 346700FF */ ori $a3, $v1, 0xff -.L800552FC: -/* 306FC 800552FC 00061600 */ sll $v0, $a2, 0x18 -/* 30700 80055300 04420001 */ bltzl $v0, .L80055308 -/* 30704 80055304 2408007F */ addiu $t0, $zero, 0x7f -.L80055308: -/* 30708 80055308 310200FF */ andi $v0, $t0, 0xff -/* 3070C 8005530C 00073400 */ sll $a2, $a3, 0x10 -/* 30710 80055310 35251000 */ ori $a1, $t1, 0x1000 -/* 30714 80055314 00063403 */ sra $a2, $a2, 0x10 -/* 30718 80055318 0000382D */ daddu $a3, $zero, $zero -/* 3071C 8005531C 0C012DB6 */ jal func_8004B6D8 -/* 30720 80055320 AFA20010 */ sw $v0, 0x10($sp) -/* 30724 80055324 8FBF0018 */ lw $ra, 0x18($sp) -/* 30728 80055328 03E00008 */ jr $ra -/* 3072C 8005532C 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/code_303c0_len_3e10/func_800557CC.s b/asm/nonmatchings/code_303c0_len_3e10/func_800557CC.s deleted file mode 100644 index bbe2c23395..0000000000 --- a/asm/nonmatchings/code_303c0_len_3e10/func_800557CC.s +++ /dev/null @@ -1,39 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel func_800557CC -/* 30BCC 800557CC 27BDFFE0 */ addiu $sp, $sp, -0x20 -/* 30BD0 800557D0 AFB10014 */ sw $s1, 0x14($sp) -/* 30BD4 800557D4 0080882D */ daddu $s1, $a0, $zero -/* 30BD8 800557D8 AFB20018 */ sw $s2, 0x18($sp) -/* 30BDC 800557DC 24120004 */ addiu $s2, $zero, 4 -/* 30BE0 800557E0 AFB00010 */ sw $s0, 0x10($sp) -/* 30BE4 800557E4 0000802D */ daddu $s0, $zero, $zero -/* 30BE8 800557E8 AFBF001C */ sw $ra, 0x1c($sp) -.L800557EC: -/* 30BEC 800557EC 3C028008 */ lui $v0, %hi(D_80078DB6) -/* 30BF0 800557F0 94428DB6 */ lhu $v0, %lo(D_80078DB6)($v0) -/* 30BF4 800557F4 16020005 */ bne $s0, $v0, .L8005580C -/* 30BF8 800557F8 0200202D */ daddu $a0, $s0, $zero -/* 30BFC 800557FC 0C01553A */ jal func_800554E8 -/* 30C00 80055800 0220282D */ daddu $a1, $s1, $zero -/* 30C04 80055804 08015606 */ j .L80055818 -/* 30C08 80055808 0040182D */ daddu $v1, $v0, $zero -.L8005580C: -/* 30C0C 8005580C 0C015529 */ jal func_800554A4 -/* 30C10 80055810 0200202D */ daddu $a0, $s0, $zero -/* 30C14 80055814 0040182D */ daddu $v1, $v0, $zero -.L80055818: -/* 30C18 80055818 14600004 */ bnez $v1, .L8005582C -/* 30C1C 8005581C 26100001 */ addiu $s0, $s0, 1 -/* 30C20 80055820 0212102B */ sltu $v0, $s0, $s2 -/* 30C24 80055824 1440FFF1 */ bnez $v0, .L800557EC -/* 30C28 80055828 00000000 */ nop -.L8005582C: -/* 30C2C 8005582C 8FBF001C */ lw $ra, 0x1c($sp) -/* 30C30 80055830 8FB20018 */ lw $s2, 0x18($sp) -/* 30C34 80055834 8FB10014 */ lw $s1, 0x14($sp) -/* 30C38 80055838 8FB00010 */ lw $s0, 0x10($sp) -/* 30C3C 8005583C 0060102D */ daddu $v0, $v1, $zero -/* 30C40 80055840 03E00008 */ jr $ra -/* 30C44 80055844 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/code_303c0_len_3e10/func_80055848.s b/asm/nonmatchings/code_303c0_len_3e10/func_80055848.s deleted file mode 100644 index 90e0ef7ec1..0000000000 --- a/asm/nonmatchings/code_303c0_len_3e10/func_80055848.s +++ /dev/null @@ -1,43 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel func_80055848 -/* 30C48 80055848 27BDFFE0 */ addiu $sp, $sp, -0x20 -/* 30C4C 8005584C AFB10014 */ sw $s1, 0x14($sp) -/* 30C50 80055850 0080882D */ daddu $s1, $a0, $zero -/* 30C54 80055854 3C028008 */ lui $v0, %hi(D_80078DB6) -/* 30C58 80055858 94428DB6 */ lhu $v0, %lo(D_80078DB6)($v0) -/* 30C5C 8005585C 0000182D */ daddu $v1, $zero, $zero -/* 30C60 80055860 AFB20018 */ sw $s2, 0x18($sp) -/* 30C64 80055864 24120004 */ addiu $s2, $zero, 4 -/* 30C68 80055868 AFBF001C */ sw $ra, 0x1c($sp) -/* 30C6C 8005586C 12220012 */ beq $s1, $v0, .L800558B8 -/* 30C70 80055870 AFB00010 */ sw $s0, 0x10($sp) -/* 30C74 80055874 0060802D */ daddu $s0, $v1, $zero -.L80055878: -/* 30C78 80055878 16110005 */ bne $s0, $s1, .L80055890 -/* 30C7C 8005587C 00000000 */ nop -/* 30C80 80055880 0C0155C6 */ jal func_80055718 -/* 30C84 80055884 0220202D */ daddu $a0, $s1, $zero -/* 30C88 80055888 08015627 */ j .L8005589C -/* 30C8C 8005588C 0040182D */ daddu $v1, $v0, $zero -.L80055890: -/* 30C90 80055890 0C0155B4 */ jal func_800556D0 -/* 30C94 80055894 0200202D */ daddu $a0, $s0, $zero -/* 30C98 80055898 0040182D */ daddu $v1, $v0, $zero -.L8005589C: -/* 30C9C 8005589C 14600006 */ bnez $v1, .L800558B8 -/* 30CA0 800558A0 26100001 */ addiu $s0, $s0, 1 -/* 30CA4 800558A4 0212102B */ sltu $v0, $s0, $s2 -/* 30CA8 800558A8 1440FFF3 */ bnez $v0, .L80055878 -/* 30CAC 800558AC 00000000 */ nop -/* 30CB0 800558B0 3C018008 */ lui $at, %hi(D_80078DB6) -/* 30CB4 800558B4 A4318DB6 */ sh $s1, %lo(D_80078DB6)($at) -.L800558B8: -/* 30CB8 800558B8 8FBF001C */ lw $ra, 0x1c($sp) -/* 30CBC 800558BC 8FB20018 */ lw $s2, 0x18($sp) -/* 30CC0 800558C0 8FB10014 */ lw $s1, 0x14($sp) -/* 30CC4 800558C4 8FB00010 */ lw $s0, 0x10($sp) -/* 30CC8 800558C8 0060102D */ daddu $v0, $v1, $zero -/* 30CCC 800558CC 03E00008 */ jr $ra -/* 30CD0 800558D0 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/src/code_303c0_len_3e10.c b/src/code_303c0_len_3e10.c index bd4ce8232e..fbac937890 100644 --- a/src/code_303c0_len_3e10.c +++ b/src/code_303c0_len_3e10.c @@ -1,20 +1,24 @@ #include "common.h" #include "audio.h" -// TODO: rodata -extern u16 D_80078DB4; +s32* D_80078DB0 = 0; +u16 D_80078DB4 = 0; +u16 D_80078DB6 = 0; +s32 D_80078DB8[] = { 0x025E0350, 0x04640554, 0x00000000, }; +s32 D_80078DC4[] = { 0x0264036E, 0x045A0000, }; +s32 D_80078DCC[] = { 0x025F0000, }; +s32 D_80078DD0[] = { 0x0546065A, 0x075A0864, 0x00000000, }; +s32 D_80078DDC[] = { 0x05000600, 0x07000800, 0x09000A00, 0x0B000C00, 0x0D000E00, 0x0F001000, 0x00000000, }; +s32 D_80078DF8[] = { 0x05640666, 0x0758086E, 0x09000A00, 0x0B000C00, 0x0D000E00, 0x0F001000, 0x00000000, }; +s32 D_80078E14[] = { 0x05640666, 0x0758086E, 0x097E0A58, 0x0B640C00, 0x0D000E00, 0x0F001000, 0x00000000, }; +s32 D_80078E30[] = { 0x05640666, 0x0758086E, 0x097E0A58, 0x0B640C64, 0x0D6A0E64, 0x0F64106E, 0x00000000, 0x00000000, }; INCLUDE_ASM(void, "code_303c0_len_3e10", al_LoadBKHeaders, UnkAl19E0* arg0, ALHeap* arg1); -#ifdef NON_MATCHING -// Delay slot (probably needs rodata) void func_80055050(void) { D_80078DB4 = 1; D_80078DB0 = 0; } -#else -INCLUDE_ASM(void, "code_303c0_len_3e10", func_80055050, void); -#endif INCLUDE_ASM(void, "code_303c0_len_3e10", func_80055068, u32 arg0); @@ -35,9 +39,41 @@ INCLUDE_ASM(s32, "code_303c0_len_3e10", func_8005513C); INCLUDE_ASM(s32, "code_303c0_len_3e10", func_800551E0); -INCLUDE_ASM(s32, "code_303c0_len_3e10", func_80055240); +void func_80055240(s32 arg0, u8 arg1, s8 arg2, s16 arg3) { + UnkAl6CC* sym = D_8009A640; + s16 a1temp = arg1 * 256; -INCLUDE_ASM(s32, "code_303c0_len_3e10", func_800552D0); + if (a1temp != 0) { + a1temp |= 0xFF; + } + + if (arg2 < 0) { + arg2 = 0x7F; + } + + if (arg3 > 0x960) { + arg3 = 0x960; + } else if (arg3 < -0x960) { + arg3 = -0x960; + } + + func_8004B6D8(sym, arg0, a1temp, arg3, arg2); +} + +void func_800552D0(s32 arg0, u8 arg1, s8 arg2) { + UnkAl6CC* sym = D_8009A640; + s16 a1temp = arg1 * 256; + + if (a1temp != 0) { + a1temp |= 0xFF; + } + + if (arg2 < 0) { + arg2 = 0x7F; + } + + func_8004B6D8(sym, arg0 | 0x1000, a1temp, 0, arg2); +} INCLUDE_ASM(s32, "code_303c0_len_3e10", func_80055330); @@ -63,7 +99,7 @@ s32 func_80055464(s32 arg0, s32 arg1) { } } -s32 func_800554A4(s32 arg0, s32 arg1) { +s32 func_800554A4(s32 arg0) { s32 ret = func_80050C30(arg0); if (ret == 0) { @@ -149,8 +185,6 @@ s32 func_80055718(s32 arg0) { return ret; } -void func_80055848(s32); - void func_80055760(s32 arg0) { u32 i; s32 lim = 4; @@ -166,9 +200,51 @@ void func_80055760(s32 arg0) { func_80055848(arg0); } -INCLUDE_ASM(s32, "code_303c0_len_3e10", func_800557CC); +s32 func_800557CC(s32 arg0) { + u32 i; + s32 lim = 4; + s32 phi_v1; -INCLUDE_ASM(void, "code_303c0_len_3e10", func_80055848, s32 arg1); + for (i = 0; i < lim; i++) { + if (i == D_80078DB6) { + phi_v1 = func_800554E8(i, arg0); + } else { + phi_v1 = func_800554A4(i); + } + + if (phi_v1 != 0) { + break; + } + } + return phi_v1; +} + +s32 func_80055848(s32 arg0) { + s32 lim = 4; + s32 phi_v1 = 0; + + if (arg0 != D_80078DB6) { + u32 i; + + for (i = 0; i < lim; i++) { + if (i == arg0) { + phi_v1 = func_80055718(arg0); + } else { + phi_v1 = func_800556D0(i); + } + + if (phi_v1 != 0) { + break; + } + } + + if (phi_v1 == 0) { + D_80078DB6 = arg0; + } + } + + return phi_v1; +} INCLUDE_ASM(s32, "code_303c0_len_3e10", func_800558D4); @@ -222,7 +298,43 @@ INCLUDE_ASM(s32, "code_303c0_len_3e10", func_80055DDC); INCLUDE_ASM(s32, "code_303c0_len_3e10", func_80055E48); +// needs rodata +#ifdef NON_MATCHING +s32* func_80055EB4(s32 arg0) { + s32* ret = NULL; + + switch(arg0) { + case 0: + ret = &D_80078DB8; + break; + case 1: + ret = &D_80078DC4; + break; + case 2: + ret = &D_80078DCC; + break; + case 3: + ret = &D_80078DD0; + break; + case 4: + ret = &D_80078DDC; + break; + case 5: + ret = &D_80078DF8; + break; + case 6: + ret = &D_80078E14; + break; + case 7: + ret = &D_80078E30; + break; + } + + return ret; +} +#else INCLUDE_ASM(s32, "code_303c0_len_3e10", func_80055EB4); +#endif INCLUDE_ASM(s32, "code_303c0_len_3e10", func_80055F58); diff --git a/tools/splat.yaml b/tools/splat.yaml index c2080b6bce..858cbd5958 100644 --- a/tools/splat.yaml +++ b/tools/splat.yaml @@ -206,6 +206,7 @@ segments: - [0x4a360, c, os/code_4a360_len_930] - [0x4ac90, c, os/code_4ac90_len_3910] - [0x4E5A0, data, code_1000_len_60] # data until world + - [0x541B0, .data, code_303c0_len_3e10] - [0x54250, .data, code_31650] - [0x542E0, data, code_31650] - [0x6B450, .data, world/world] From c66cb9f81af898362fdeb4d1d2656757daa76d51 Mon Sep 17 00:00:00 2001 From: Ethan Roseman Date: Sat, 12 Dec 2020 17:21:27 +0900 Subject: [PATCH 47/97] 3 --- .../code_303c0_len_3e10/func_800551E0.s | 30 ------------- .../code_303c0_len_3e10/func_80055330.s | 44 ------------------- .../code_303c0_len_3e10/func_80056144.s | 10 ----- src/audio.h | 3 +- src/code_2e230_len_2190.c | 7 +-- src/code_303c0_len_3e10.c | 40 +++++++++++++++-- 6 files changed, 42 insertions(+), 92 deletions(-) delete mode 100644 asm/nonmatchings/code_303c0_len_3e10/func_800551E0.s delete mode 100644 asm/nonmatchings/code_303c0_len_3e10/func_80055330.s delete mode 100644 asm/nonmatchings/code_303c0_len_3e10/func_80056144.s diff --git a/asm/nonmatchings/code_303c0_len_3e10/func_800551E0.s b/asm/nonmatchings/code_303c0_len_3e10/func_800551E0.s deleted file mode 100644 index 324d0aab4c..0000000000 --- a/asm/nonmatchings/code_303c0_len_3e10/func_800551E0.s +++ /dev/null @@ -1,30 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel func_800551E0 -/* 305E0 800551E0 27BDFFE0 */ addiu $sp, $sp, -0x20 -/* 305E4 800551E4 0080482D */ daddu $t1, $a0, $zero -/* 305E8 800551E8 00C0402D */ daddu $t0, $a2, $zero -/* 305EC 800551EC 30A500FF */ andi $a1, $a1, 0xff -/* 305F0 800551F0 00051A00 */ sll $v1, $a1, 8 -/* 305F4 800551F4 3C04800A */ lui $a0, %hi(D_8009A640) -/* 305F8 800551F8 8C84A640 */ lw $a0, %lo(D_8009A640)($a0) -/* 305FC 800551FC 0060382D */ daddu $a3, $v1, $zero -/* 30600 80055200 10A00002 */ beqz $a1, .L8005520C -/* 30604 80055204 AFBF0018 */ sw $ra, 0x18($sp) -/* 30608 80055208 346700FF */ ori $a3, $v1, 0xff -.L8005520C: -/* 3060C 8005520C 00061600 */ sll $v0, $a2, 0x18 -/* 30610 80055210 04420001 */ bltzl $v0, .L80055218 -/* 30614 80055214 2408007F */ addiu $t0, $zero, 0x7f -.L80055218: -/* 30618 80055218 310200FF */ andi $v0, $t0, 0xff -/* 3061C 8005521C 00073400 */ sll $a2, $a3, 0x10 -/* 30620 80055220 0120282D */ daddu $a1, $t1, $zero -/* 30624 80055224 00063403 */ sra $a2, $a2, 0x10 -/* 30628 80055228 0000382D */ daddu $a3, $zero, $zero -/* 3062C 8005522C 0C012DB6 */ jal func_8004B6D8 -/* 30630 80055230 AFA20010 */ sw $v0, 0x10($sp) -/* 30634 80055234 8FBF0018 */ lw $ra, 0x18($sp) -/* 30638 80055238 03E00008 */ jr $ra -/* 3063C 8005523C 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/code_303c0_len_3e10/func_80055330.s b/asm/nonmatchings/code_303c0_len_3e10/func_80055330.s deleted file mode 100644 index 9f994c3fb5..0000000000 --- a/asm/nonmatchings/code_303c0_len_3e10/func_80055330.s +++ /dev/null @@ -1,44 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel func_80055330 -/* 30730 80055330 27BDFFE0 */ addiu $sp, $sp, -0x20 -/* 30734 80055334 0080582D */ daddu $t3, $a0, $zero -/* 30738 80055338 00C0502D */ daddu $t2, $a2, $zero -/* 3073C 8005533C 00E0402D */ daddu $t0, $a3, $zero -/* 30740 80055340 0100382D */ daddu $a3, $t0, $zero -/* 30744 80055344 30A500FF */ andi $a1, $a1, 0xff -/* 30748 80055348 00051A00 */ sll $v1, $a1, 8 -/* 3074C 8005534C 3C04800A */ lui $a0, %hi(D_8009A640) -/* 30750 80055350 8C84A640 */ lw $a0, %lo(D_8009A640)($a0) -/* 30754 80055354 0060482D */ daddu $t1, $v1, $zero -/* 30758 80055358 10A00002 */ beqz $a1, .L80055364 -/* 3075C 8005535C AFBF0018 */ sw $ra, 0x18($sp) -/* 30760 80055360 346900FF */ ori $t1, $v1, 0xff -.L80055364: -/* 30764 80055364 00061600 */ sll $v0, $a2, 0x18 -/* 30768 80055368 04420001 */ bltzl $v0, .L80055370 -/* 3076C 8005536C 240A007F */ addiu $t2, $zero, 0x7f -.L80055370: -/* 30770 80055370 00081400 */ sll $v0, $t0, 0x10 -/* 30774 80055374 00021C03 */ sra $v1, $v0, 0x10 -/* 30778 80055378 28620961 */ slti $v0, $v1, 0x961 -/* 3077C 8005537C 14400003 */ bnez $v0, .L8005538C -/* 30780 80055380 2862F6A0 */ slti $v0, $v1, -0x960 -/* 30784 80055384 080154E5 */ j .L80055394 -/* 30788 80055388 24070960 */ addiu $a3, $zero, 0x960 -.L8005538C: -/* 3078C 8005538C 54400001 */ bnel $v0, $zero, .L80055394 -/* 30790 80055390 2407F6A0 */ addiu $a3, $zero, -0x960 -.L80055394: -/* 30794 80055394 314200FF */ andi $v0, $t2, 0xff -/* 30798 80055398 00093400 */ sll $a2, $t1, 0x10 -/* 3079C 8005539C 00073C00 */ sll $a3, $a3, 0x10 -/* 307A0 800553A0 35651000 */ ori $a1, $t3, 0x1000 -/* 307A4 800553A4 00063403 */ sra $a2, $a2, 0x10 -/* 307A8 800553A8 00073C03 */ sra $a3, $a3, 0x10 -/* 307AC 800553AC 0C012DB6 */ jal func_8004B6D8 -/* 307B0 800553B0 AFA20010 */ sw $v0, 0x10($sp) -/* 307B4 800553B4 8FBF0018 */ lw $ra, 0x18($sp) -/* 307B8 800553B8 03E00008 */ jr $ra -/* 307BC 800553BC 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/code_303c0_len_3e10/func_80056144.s b/asm/nonmatchings/code_303c0_len_3e10/func_80056144.s deleted file mode 100644 index e621946915..0000000000 --- a/asm/nonmatchings/code_303c0_len_3e10/func_80056144.s +++ /dev/null @@ -1,10 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel func_80056144 -/* 31544 80056144 3C02800A */ lui $v0, %hi(D_8009A5C0) -/* 31548 80056148 8C42A5C0 */ lw $v0, %lo(D_8009A5C0)($v0) -/* 3154C 8005614C 00052880 */ sll $a1, $a1, 2 -/* 31550 80056150 00451021 */ addu $v0, $v0, $a1 -/* 31554 80056154 03E00008 */ jr $ra -/* 31558 80056158 AC4400A4 */ sw $a0, 0xa4($v0) diff --git a/src/audio.h b/src/audio.h index 82292e9dbc..f47bb900fe 100644 --- a/src/audio.h +++ b/src/audio.h @@ -229,8 +229,7 @@ typedef struct UnkAl19E0 { /* 0x0098 */ char unk_98[0x4]; /* 0x009C */ s32 unk_9C; /* 0x00A0 */ s32* unk_A0; - /* 0x00A4 */ UnkFuncAl unk_A4; - /* 0x00A8 */ s32 unk_A8; + /* 0x00A4 */ UnkFuncAl unk_A4[2]; /* 0x00AC */ s32* unk_AC; /* 0x00B0 */ char unk_B0[0x3C]; /* 0x00EC */ s32* unk_EC; diff --git a/src/code_2e230_len_2190.c b/src/code_2e230_len_2190.c index 900d30f986..500e99eaa8 100644 --- a/src/code_2e230_len_2190.c +++ b/src/code_2e230_len_2190.c @@ -55,8 +55,9 @@ void func_80052E5C(s32 arg0) { func_80053370(&temp4->unk_08); func_800533A8(&temp4->unk_14); func_8005610C(); - temp4->unk_A4 = 0; - temp4->unk_A8 = 0; + + temp4->unk_A4[0] = NULL; + temp4->unk_A4[1] = NULL; for (i = 0; i < 1; i++) { temp4->unk_6C[i].unk_4 = 0; @@ -262,7 +263,7 @@ void func_800535C0(void) { func_8005610C(); } - D_8009A5E8 = temp_s1->unk_A4; + D_8009A5E8 = temp_s1->unk_A4[0]; if (D_8009A5E8 != NULL) { D_8009A5E8(); } diff --git a/src/code_303c0_len_3e10.c b/src/code_303c0_len_3e10.c index fbac937890..ea51f8b074 100644 --- a/src/code_303c0_len_3e10.c +++ b/src/code_303c0_len_3e10.c @@ -37,7 +37,20 @@ void func_80055110(UnkAlA9C *arg0) { INCLUDE_ASM(s32, "code_303c0_len_3e10", func_8005513C); -INCLUDE_ASM(s32, "code_303c0_len_3e10", func_800551E0); +void func_800551E0(s32 arg0, u8 arg1, s8 arg2) { + UnkAl6CC* sym = D_8009A640; + s16 a1temp = arg1 * 256; + + if (a1temp != 0) { + a1temp |= 0xFF; + } + + if (arg2 < 0) { + arg2 = 0x7F; + } + + func_8004B6D8(sym, arg0, a1temp, 0, arg2); +} void func_80055240(s32 arg0, u8 arg1, s8 arg2, s16 arg3) { UnkAl6CC* sym = D_8009A640; @@ -75,7 +88,26 @@ void func_800552D0(s32 arg0, u8 arg1, s8 arg2) { func_8004B6D8(sym, arg0 | 0x1000, a1temp, 0, arg2); } -INCLUDE_ASM(s32, "code_303c0_len_3e10", func_80055330); +void func_80055330(s32 arg0, u8 arg1, s8 arg2, s16 arg3) { + UnkAl6CC* sym = D_8009A640; + s16 a1temp = arg1 * 256; + + if (a1temp != 0) { + a1temp |= 0xFF; + } + + if (arg2 < 0) { + arg2 = 0x7F; + } + + if (arg3 > 0x960) { + arg3 = 0x960; + } else if (arg3 < -0x960) { + arg3 = -0x960; + } + + func_8004B6D8(sym, arg0 | 0x1000, a1temp, arg3, arg2); +} void func_800553C0(s32 arg0) { func_8004B6D8(D_8009A640, arg0 | 0x8000, 0, 0, 0); @@ -360,7 +392,9 @@ INCLUDE_ASM(s32, "code_303c0_len_3e10", func_800560BC); INCLUDE_ASM(void, "code_303c0_len_3e10", func_8005610C, void); -INCLUDE_ASM(s32, "code_303c0_len_3e10", func_80056144); +void func_80056144(UnkFuncAl arg0, s32 arg1) { + D_8009A5C0->unk_A4[arg1] = arg0; +} void func_8005615C(void) { func_80056D5C(1); From a124c54d79a0c438a735d941453ca9e87195283a Mon Sep 17 00:00:00 2001 From: Ethan Roseman Date: Sat, 12 Dec 2020 17:34:56 +0900 Subject: [PATCH 48/97] 4 more --- .../code_303c0_len_3e10/func_80056028.s | 11 ----------- .../code_303c0_len_3e10/func_80056044.s | 13 ------------- .../code_303c0_len_3e10/func_80056068.s | 13 ------------- .../code_303c0_len_3e10/func_8005608C.s | 11 ----------- src/audio.h | 19 ++++++++++++++++++- src/code_28910_len_5090.c | 2 +- src/code_303c0_len_3e10.c | 19 +++++++++++++++---- 7 files changed, 34 insertions(+), 54 deletions(-) delete mode 100644 asm/nonmatchings/code_303c0_len_3e10/func_80056028.s delete mode 100644 asm/nonmatchings/code_303c0_len_3e10/func_80056044.s delete mode 100644 asm/nonmatchings/code_303c0_len_3e10/func_80056068.s delete mode 100644 asm/nonmatchings/code_303c0_len_3e10/func_8005608C.s diff --git a/asm/nonmatchings/code_303c0_len_3e10/func_80056028.s b/asm/nonmatchings/code_303c0_len_3e10/func_80056028.s deleted file mode 100644 index c14fcb341b..0000000000 --- a/asm/nonmatchings/code_303c0_len_3e10/func_80056028.s +++ /dev/null @@ -1,11 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel func_80056028 -/* 31428 80056028 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 3142C 8005602C AFBF0010 */ sw $ra, 0x10($sp) -/* 31430 80056030 0C0141B2 */ jal func_800506C8 -/* 31434 80056034 30A500FF */ andi $a1, $a1, 0xff -/* 31438 80056038 8FBF0010 */ lw $ra, 0x10($sp) -/* 3143C 8005603C 03E00008 */ jr $ra -/* 31440 80056040 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/code_303c0_len_3e10/func_80056044.s b/asm/nonmatchings/code_303c0_len_3e10/func_80056044.s deleted file mode 100644 index 9e7c6b5f52..0000000000 --- a/asm/nonmatchings/code_303c0_len_3e10/func_80056044.s +++ /dev/null @@ -1,13 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel func_80056044 -/* 31444 80056044 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 31448 80056048 30A200FF */ andi $v0, $a1, 0xff -/* 3144C 8005604C 3C055700 */ lui $a1, 0x5700 -/* 31450 80056050 AFBF0010 */ sw $ra, 0x10($sp) -/* 31454 80056054 0C0141B2 */ jal func_800506C8 -/* 31458 80056058 00452825 */ or $a1, $v0, $a1 -/* 3145C 8005605C 8FBF0010 */ lw $ra, 0x10($sp) -/* 31460 80056060 03E00008 */ jr $ra -/* 31464 80056064 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/code_303c0_len_3e10/func_80056068.s b/asm/nonmatchings/code_303c0_len_3e10/func_80056068.s deleted file mode 100644 index 15aee12753..0000000000 --- a/asm/nonmatchings/code_303c0_len_3e10/func_80056068.s +++ /dev/null @@ -1,13 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel func_80056068 -/* 31468 80056068 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 3146C 8005606C 30A200FF */ andi $v0, $a1, 0xff -/* 31470 80056070 3C057F00 */ lui $a1, 0x7f00 -/* 31474 80056074 AFBF0010 */ sw $ra, 0x10($sp) -/* 31478 80056078 0C0141B2 */ jal func_800506C8 -/* 3147C 8005607C 00452825 */ or $a1, $v0, $a1 -/* 31480 80056080 8FBF0010 */ lw $ra, 0x10($sp) -/* 31484 80056084 03E00008 */ jr $ra -/* 31488 80056088 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/code_303c0_len_3e10/func_8005608C.s b/asm/nonmatchings/code_303c0_len_3e10/func_8005608C.s deleted file mode 100644 index afbd6c6c53..0000000000 --- a/asm/nonmatchings/code_303c0_len_3e10/func_8005608C.s +++ /dev/null @@ -1,11 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel func_8005608C -/* 3148C 8005608C 3C02800A */ lui $v0, %hi(D_8009A5C0) -/* 31490 80056090 8C42A5C0 */ lw $v0, %lo(D_8009A5C0)($v0) -/* 31494 80056094 8C430094 */ lw $v1, 0x94($v0) -/* 31498 80056098 AC830000 */ sw $v1, ($a0) -/* 3149C 8005609C 8C420098 */ lw $v0, 0x98($v0) -/* 314A0 800560A0 03E00008 */ jr $ra -/* 314A4 800560A4 ACA20000 */ sw $v0, ($a1) diff --git a/src/audio.h b/src/audio.h index f47bb900fe..87a24c5d44 100644 --- a/src/audio.h +++ b/src/audio.h @@ -226,7 +226,7 @@ typedef struct UnkAl19E0 { /* 0x0080 */ s32 unk_80; /* 0x0084 */ char unk_84[0x10]; /* 0x0094 */ s32* unk_94; - /* 0x0098 */ char unk_98[0x4]; + /* 0x0098 */ s32* unk_98; /* 0x009C */ s32 unk_9C; /* 0x00A0 */ s32* unk_A0; /* 0x00A4 */ UnkFuncAl unk_A4[2]; @@ -382,6 +382,8 @@ void func_8004E158(UnkAlA9C*, s32, s32, UnkAl19E0*); void func_8004E3A4(UnkAlA9C*); void func_8004E444(UnkAlA9C*); s16 func_8004E4B8(UnkAlA9C*); +void func_80056068(s32, u8); +void func_800506C8(s32, s32); s32 func_80050C30(u32); void func_800511BC(UnkAl834*); @@ -402,6 +404,21 @@ void func_80054CE0(s32, s32); void func_8005610C(void); void func_80055110(UnkAlA9C*); +void func_80056028(s32, u8); +void func_80056044(s32, u8); +void func_80056068(s32, u8); +void func_8005608C(s32*, s32*); +void func_800560A8(void); +void func_8005610C(void); +void func_80056144(UnkFuncAl, s32); +void func_8005615C(void); +void func_80056180(void); +void func_800561A4(s32); +void func_800561C4(s32); +void func_800561E4(s32); +void func_80056204(void); +void func_80056228(void); + s16 func_80056D50(void); void func_80056D78(u8, u16); void func_80056DCC(u8, u8); diff --git a/src/code_28910_len_5090.c b/src/code_28910_len_5090.c index e9b1edb71e..980fa48ab5 100644 --- a/src/code_28910_len_5090.c +++ b/src/code_28910_len_5090.c @@ -186,7 +186,7 @@ INCLUDE_ASM(s32, "code_28910_len_5090", func_80050654); INCLUDE_ASM(s32, "code_28910_len_5090", func_8005068C); -INCLUDE_ASM(s32, "code_28910_len_5090", func_800506C8); +INCLUDE_ASM(void, "code_28910_len_5090", func_800506C8, s32 arg0, s32 arg1); INCLUDE_ASM(s32, "code_28910_len_5090", func_80050770); diff --git a/src/code_303c0_len_3e10.c b/src/code_303c0_len_3e10.c index ea51f8b074..517097c11c 100644 --- a/src/code_303c0_len_3e10.c +++ b/src/code_303c0_len_3e10.c @@ -376,13 +376,24 @@ INCLUDE_ASM(s32, "code_303c0_len_3e10", func_80055FF0); INCLUDE_ASM(s32, "code_303c0_len_3e10", func_8005600C); -INCLUDE_ASM(s32, "code_303c0_len_3e10", func_80056028); +void func_80056028(s32 arg0, u8 arg1) { + func_800506C8(arg0, arg1); +} -INCLUDE_ASM(s32, "code_303c0_len_3e10", func_80056044); +void func_80056044(s32 arg0, u8 arg1) { + func_800506C8(arg0, arg1 | 0x57000000); +} -INCLUDE_ASM(s32, "code_303c0_len_3e10", func_80056068); +void func_80056068(s32 arg0, u8 arg1) { + func_800506C8(arg0, arg1 | 0x7F000000); +} -INCLUDE_ASM(s32, "code_303c0_len_3e10", func_8005608C); +void func_8005608C(s32 *arg0, s32 *arg1) { + UnkAl19E0 *temp_v0 = D_8009A5C0; + + *arg0 = temp_v0->unk_94; + *arg1 = temp_v0->unk_98; +} void func_800560A8(void) { D_8009A5C0->unk_9C = 1; From 5ca6409423ec4e28baec917702c2c8fd9330af1a Mon Sep 17 00:00:00 2001 From: Ethan Roseman Date: Sat, 12 Dec 2020 17:55:21 +0900 Subject: [PATCH 49/97] 4 more and format --- .../code_303c0_len_3e10/func_80055F58.s | 38 ------------- .../code_303c0_len_3e10/func_80055FD4.s | 11 ---- .../code_303c0_len_3e10/func_80055FF0.s | 11 ---- .../code_303c0_len_3e10/func_8005600C.s | 11 ---- format.sh | 2 +- src/audio.h | 12 ++-- src/code_25f00_len_940.c | 2 +- src/code_26840_len_20d0.c | 6 +- src/code_28910_len_5090.c | 4 +- src/code_2e230_len_2190.c | 10 ++-- src/code_303c0_len_3e10.c | 55 +++++++++++++------ src/code_31650.c | 14 +++-- 12 files changed, 65 insertions(+), 111 deletions(-) delete mode 100644 asm/nonmatchings/code_303c0_len_3e10/func_80055F58.s delete mode 100644 asm/nonmatchings/code_303c0_len_3e10/func_80055FD4.s delete mode 100644 asm/nonmatchings/code_303c0_len_3e10/func_80055FF0.s delete mode 100644 asm/nonmatchings/code_303c0_len_3e10/func_8005600C.s diff --git a/asm/nonmatchings/code_303c0_len_3e10/func_80055F58.s b/asm/nonmatchings/code_303c0_len_3e10/func_80055F58.s deleted file mode 100644 index 9ec70efa82..0000000000 --- a/asm/nonmatchings/code_303c0_len_3e10/func_80055F58.s +++ /dev/null @@ -1,38 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel func_80055F58 -/* 31358 80055F58 27BDFFD8 */ addiu $sp, $sp, -0x28 -/* 3135C 80055F5C AFB00018 */ sw $s0, 0x18($sp) -/* 31360 80055F60 00A0802D */ daddu $s0, $a1, $zero -/* 31364 80055F64 AFB1001C */ sw $s1, 0x1c($sp) -/* 31368 80055F68 00C0882D */ daddu $s1, $a2, $zero -/* 3136C 80055F6C 27A50010 */ addiu $a1, $sp, 0x10 -/* 31370 80055F70 27A60014 */ addiu $a2, $sp, 0x14 -/* 31374 80055F74 AFBF0024 */ sw $ra, 0x24($sp) -/* 31378 80055F78 0C01573A */ jal func_80055CE8 -/* 3137C 80055F7C AFB20020 */ sw $s2, 0x20($sp) -/* 31380 80055F80 0040902D */ daddu $s2, $v0, $zero -/* 31384 80055F84 1640000D */ bnez $s2, .L80055FBC -/* 31388 80055F88 0240102D */ daddu $v0, $s2, $zero -/* 3138C 80055F8C 2E220080 */ sltiu $v0, $s1, 0x80 -/* 31390 80055F90 50400001 */ beql $v0, $zero, .L80055F98 -/* 31394 80055F94 2411007F */ addiu $s1, $zero, 0x7f -.L80055F98: -/* 31398 80055F98 2E020010 */ sltiu $v0, $s0, 0x10 -/* 3139C 80055F9C 50400001 */ beql $v0, $zero, .L80055FA4 -/* 313A0 80055FA0 2410000F */ addiu $s0, $zero, 0xf -.L80055FA4: -/* 313A4 80055FA4 8FA40014 */ lw $a0, 0x14($sp) -/* 313A8 80055FA8 0200282D */ daddu $a1, $s0, $zero -/* 313AC 80055FAC 24060060 */ addiu $a2, $zero, 0x60 -/* 313B0 80055FB0 0C01420F */ jal func_8005083C -/* 313B4 80055FB4 322700FF */ andi $a3, $s1, 0xff -/* 313B8 80055FB8 0240102D */ daddu $v0, $s2, $zero -.L80055FBC: -/* 313BC 80055FBC 8FBF0024 */ lw $ra, 0x24($sp) -/* 313C0 80055FC0 8FB20020 */ lw $s2, 0x20($sp) -/* 313C4 80055FC4 8FB1001C */ lw $s1, 0x1c($sp) -/* 313C8 80055FC8 8FB00018 */ lw $s0, 0x18($sp) -/* 313CC 80055FCC 03E00008 */ jr $ra -/* 313D0 80055FD0 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/code_303c0_len_3e10/func_80055FD4.s b/asm/nonmatchings/code_303c0_len_3e10/func_80055FD4.s deleted file mode 100644 index 3bde86a368..0000000000 --- a/asm/nonmatchings/code_303c0_len_3e10/func_80055FD4.s +++ /dev/null @@ -1,11 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel func_80055FD4 -/* 313D4 80055FD4 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 313D8 80055FD8 AFBF0010 */ sw $ra, 0x10($sp) -/* 313DC 80055FDC 0C0157D6 */ jal func_80055F58 -/* 313E0 80055FE0 0000302D */ daddu $a2, $zero, $zero -/* 313E4 80055FE4 8FBF0010 */ lw $ra, 0x10($sp) -/* 313E8 80055FE8 03E00008 */ jr $ra -/* 313EC 80055FEC 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/code_303c0_len_3e10/func_80055FF0.s b/asm/nonmatchings/code_303c0_len_3e10/func_80055FF0.s deleted file mode 100644 index 3c2b7ba36f..0000000000 --- a/asm/nonmatchings/code_303c0_len_3e10/func_80055FF0.s +++ /dev/null @@ -1,11 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel func_80055FF0 -/* 313F0 80055FF0 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 313F4 80055FF4 AFBF0010 */ sw $ra, 0x10($sp) -/* 313F8 80055FF8 0C0157D6 */ jal func_80055F58 -/* 313FC 80055FFC 2406003F */ addiu $a2, $zero, 0x3f -/* 31400 80056000 8FBF0010 */ lw $ra, 0x10($sp) -/* 31404 80056004 03E00008 */ jr $ra -/* 31408 80056008 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/code_303c0_len_3e10/func_8005600C.s b/asm/nonmatchings/code_303c0_len_3e10/func_8005600C.s deleted file mode 100644 index 22e31486e7..0000000000 --- a/asm/nonmatchings/code_303c0_len_3e10/func_8005600C.s +++ /dev/null @@ -1,11 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel func_8005600C -/* 3140C 8005600C 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 31410 80056010 AFBF0010 */ sw $ra, 0x10($sp) -/* 31414 80056014 0C0157D6 */ jal func_80055F58 -/* 31418 80056018 2406007F */ addiu $a2, $zero, 0x7f -/* 3141C 8005601C 8FBF0010 */ lw $ra, 0x10($sp) -/* 31420 80056020 03E00008 */ jr $ra -/* 31424 80056024 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/format.sh b/format.sh index 7ce4d215ff..ba64effa51 100755 --- a/format.sh +++ b/format.sh @@ -1,4 +1,4 @@ -#!/bin/bash +#!/usr/bin/env bash COMPILER_OPTS="-std=gnu89 -Iinclude -Isrc -D_LANGUAGE_C -DSCRIPT(...)={}" diff --git a/src/audio.h b/src/audio.h index 87a24c5d44..640b548728 100644 --- a/src/audio.h +++ b/src/audio.h @@ -382,8 +382,8 @@ void func_8004E158(UnkAlA9C*, s32, s32, UnkAl19E0*); void func_8004E3A4(UnkAlA9C*); void func_8004E444(UnkAlA9C*); s16 func_8004E4B8(UnkAlA9C*); -void func_80056068(s32, u8); -void func_800506C8(s32, s32); +s32 func_80056068(s32, u8); +s32 func_800506C8(s32, s32); s32 func_80050C30(u32); void func_800511BC(UnkAl834*); @@ -404,9 +404,11 @@ void func_80054CE0(s32, s32); void func_8005610C(void); void func_80055110(UnkAlA9C*); -void func_80056028(s32, u8); -void func_80056044(s32, u8); -void func_80056068(s32, u8); +s32 func_80055FF0(s32, s32); +s32 func_8005600C(s32, s32); +s32 func_80056028(s32, u8); +s32 func_80056044(s32, u8); +s32 func_80056068(s32, u8); void func_8005608C(s32*, s32*); void func_800560A8(void); void func_8005610C(void); diff --git a/src/code_25f00_len_940.c b/src/code_25f00_len_940.c index 7b36a5c16c..f46f1710b7 100644 --- a/src/code_25f00_len_940.c +++ b/src/code_25f00_len_940.c @@ -19,7 +19,7 @@ INCLUDE_ASM(s32, "code_25f00_len_940", func_8004AE08); s32 nuAuDmaCallBack(s32 addr, s32 len, void* state); INCLUDE_ASM(s32, "code_25f00_len_940", nuAuDmaCallBack, s32 addr, s32 len, void* state); -ALDMAproc nuAuDmaNew(NUDMAState **state) { +ALDMAproc nuAuDmaNew(NUDMAState** state) { if (!nuAuDmaState.initialized) { nuAuDmaState.firstFree = &nuAuDmaBuf; nuAuDmaState.firstUsed = NULL; diff --git a/src/code_26840_len_20d0.c b/src/code_26840_len_20d0.c index a2a99109a8..91f048f574 100644 --- a/src/code_26840_len_20d0.c +++ b/src/code_26840_len_20d0.c @@ -5,7 +5,7 @@ INCLUDE_ASM(void, "code_26840_len_20d0", func_8004B440, UnkAl6CC* arg0, u8 arg1, INCLUDE_ASM(void, "code_26840_len_20d0", func_8004B62C, UnkAl6CC* arg0); -void func_8004B698(UnkAl6CC *arg0) { +void func_8004B698(UnkAl6CC* arg0) { s32 i; for (i = 0; i < ARRAY_COUNT(arg0->unk_C2); i++) { @@ -22,7 +22,7 @@ void func_8004B698(UnkAl6CC *arg0) { arg0->unk_162 = 0; } -void func_8004B6D8(UnkAl6CC *arg0, s32 arg1, s16 arg2, s16 arg3, u8 arg4) { +void func_8004B6D8(UnkAl6CC* arg0, s32 arg1, s16 arg2, s16 arg3, u8 arg4) { u8 temp_v1 = arg0->unk_164; s32 temp_v0 = temp_v1 - (u8) arg0->unk_163; u32 temp_t0; @@ -51,7 +51,7 @@ void func_8004B6D8(UnkAl6CC *arg0, s32 arg1, s16 arg2, s16 arg3, u8 arg4) { INCLUDE_ASM(void, "code_26840_len_20d0", func_8004B748, UnkAl6CC* arg0); -s32 func_8004B9E4(UnkAl6CC *arg0, s32 arg1) { +s32 func_8004B9E4(UnkAl6CC* arg0, s32 arg1) { s32 a1 = (u8) arg1; if (a1 != 0xF0) { diff --git a/src/code_28910_len_5090.c b/src/code_28910_len_5090.c index 980fa48ab5..43aa7431da 100644 --- a/src/code_28910_len_5090.c +++ b/src/code_28910_len_5090.c @@ -78,7 +78,7 @@ INCLUDE_ASM(void, "code_28910_len_5090", func_8004E158, UnkAlA9C* arg0, s32 arg1 INCLUDE_ASM(s32, "code_28910_len_5090", func_8004E344); -void func_8004E3A4(UnkAlA9C *arg0) { +void func_8004E3A4(UnkAlA9C* arg0) { arg0->unk_2C.unk_0A--; if (arg0->unk_2C.unk_0A != 0) { @@ -186,7 +186,7 @@ INCLUDE_ASM(s32, "code_28910_len_5090", func_80050654); INCLUDE_ASM(s32, "code_28910_len_5090", func_8005068C); -INCLUDE_ASM(void, "code_28910_len_5090", func_800506C8, s32 arg0, s32 arg1); +INCLUDE_ASM(s32, "code_28910_len_5090", func_800506C8, s32 arg0, s32 arg1); INCLUDE_ASM(s32, "code_28910_len_5090", func_80050770); diff --git a/src/code_2e230_len_2190.c b/src/code_2e230_len_2190.c index 500e99eaa8..dcc59a3422 100644 --- a/src/code_2e230_len_2190.c +++ b/src/code_2e230_len_2190.c @@ -274,7 +274,7 @@ void func_800535C0(void) { func_8004B748(temp_s2); } -void func_80053654(UnkAl19E0 *arg0) { +void func_80053654(UnkAl19E0* arg0) { u32 i; if (arg0->unk_130C == 2) { @@ -309,7 +309,7 @@ void func_80053654(UnkAl19E0 *arg0) { func_80056DCC(1, arg0->unk_40[1].unk_00); arg0->unk_40[1].unk_01 = 0; - }if (arg0->unk_40[2].unk_01 != 0) { + } if (arg0->unk_40[2].unk_01 != 0) { func_80056DCC(2, arg0->unk_40[2].unk_00); arg0->unk_40[2].unk_01 = 0; } @@ -390,7 +390,7 @@ void func_80053A28(UnkAl1* arg0) { } void func_80053A98(u8 arg0, u16 arg1, s32 arg2) { - func_80056D78(arg0, (u32) (arg1 * arg2) >> 15); + func_80056D78(arg0, (u32)(arg1 * arg2) >> 15); } void func_80053AC8(UnkAl1* arg0) { @@ -408,7 +408,7 @@ void func_80053AEC(UnkAl1* arg0, s16 arg1) { arg0->unk_14 = 0; } -void func_80053B04(UnkAl1 *arg0, u32 arg1, s16 arg2) { +void func_80053B04(UnkAl1* arg0, u32 arg1, s16 arg2) { s16 temp_a0; s32 temp_v1; @@ -425,7 +425,7 @@ void func_80053B04(UnkAl1 *arg0, u32 arg1, s16 arg2) { } } -void func_80053BA8(UnkAl1 *arg0) { +void func_80053BA8(UnkAl1* arg0) { arg0->unk_1A--; if (arg0->unk_1A != 0) { diff --git a/src/code_303c0_len_3e10.c b/src/code_303c0_len_3e10.c index 517097c11c..63b9cfdf61 100644 --- a/src/code_303c0_len_3e10.c +++ b/src/code_303c0_len_3e10.c @@ -22,7 +22,7 @@ void func_80055050(void) { INCLUDE_ASM(void, "code_303c0_len_3e10", func_80055068, u32 arg0); -void func_80055110(UnkAlA9C *arg0) { +void func_80055110(UnkAlA9C* arg0) { s32 i; for (i = 0; i < 8; i++) { @@ -335,7 +335,7 @@ INCLUDE_ASM(s32, "code_303c0_len_3e10", func_80055E48); s32* func_80055EB4(s32 arg0) { s32* ret = NULL; - switch(arg0) { + switch (arg0) { case 0: ret = &D_80078DB8; break; @@ -368,28 +368,49 @@ s32* func_80055EB4(s32 arg0) { INCLUDE_ASM(s32, "code_303c0_len_3e10", func_80055EB4); #endif -INCLUDE_ASM(s32, "code_303c0_len_3e10", func_80055F58); +s32 func_80055F58(s32 arg0, u32 arg1, u32 arg2) { + s32* subroutine_arg4; + s32* subroutine_arg5; + s32 temp_s2 = func_80055CE8(arg0, &subroutine_arg4, &subroutine_arg5); -INCLUDE_ASM(s32, "code_303c0_len_3e10", func_80055FD4); - -INCLUDE_ASM(s32, "code_303c0_len_3e10", func_80055FF0); - -INCLUDE_ASM(s32, "code_303c0_len_3e10", func_8005600C); - -void func_80056028(s32 arg0, u8 arg1) { - func_800506C8(arg0, arg1); + if (temp_s2 == 0) { + if (arg2 > 0x7F) { + arg2 = 0x7F; + } + if (arg1 > 0xF) { + arg1 = 0xF; + } + func_8005083C(subroutine_arg5, arg1, 0x60, (u8)arg2); // todo remove cast when func is defined + } + return temp_s2; } -void func_80056044(s32 arg0, u8 arg1) { - func_800506C8(arg0, arg1 | 0x57000000); +s32 func_80055FD4(s32 arg0, s32 arg1) { + return func_80055F58(arg0, arg1, 0); } -void func_80056068(s32 arg0, u8 arg1) { - func_800506C8(arg0, arg1 | 0x7F000000); +s32 func_80055FF0(s32 arg0, s32 arg1) { + return func_80055F58(arg0, arg1, 0x3F); } -void func_8005608C(s32 *arg0, s32 *arg1) { - UnkAl19E0 *temp_v0 = D_8009A5C0; +s32 func_8005600C(s32 arg0, s32 arg1) { + return func_80055F58(arg0, arg1, 0x7F); +} + +s32 func_80056028(s32 arg0, u8 arg1) { + return func_800506C8(arg0, arg1); +} + +s32 func_80056044(s32 arg0, u8 arg1) { + return func_800506C8(arg0, arg1 | 0x57000000); +} + +s32 func_80056068(s32 arg0, u8 arg1) { + return func_800506C8(arg0, arg1 | 0x7F000000); +} + +void func_8005608C(s32* arg0, s32* arg1) { + UnkAl19E0* temp_v0 = D_8009A5C0; *arg0 = temp_v0->unk_94; *arg1 = temp_v0->unk_98; diff --git a/src/code_31650.c b/src/code_31650.c index 87c4e710c2..fd92e57395 100644 --- a/src/code_31650.c +++ b/src/code_31650.c @@ -7,15 +7,16 @@ s8 D_80078E58 = 0; s16 D_80078E5A = 0x7FFF; s8 D_80078E5C = 0; s32 D_80078E60[] = { 0x7FFF7FFC, 0x7FF57FE8, 0x7FD77FC0, 0x7FA57F84, 0x7F5F7F34, 0x7F057ED0, 0x7E977E58, 0x7E157DCD, - 0x7D7F7D2D, 0x7CD67C7A, 0x7C1A7BB4, 0x7B497ADA, 0x7A6679ED, 0x796F78ED, 0x786677DA, 0x774976B4, 0x761A757B, - 0x74D87430, 0x738472D3, 0x721E7164, 0x70A66FE3, 0x6F1C6E51, 0x6D816CAD, 0x6BD56AF9, 0x6A186933, 0x684A675D, - 0x666C6577, 0x647E6381, 0x6280617C, 0x60735F67, 0x5E575D43, 0x5C2C5B11, }; + 0x7D7F7D2D, 0x7CD67C7A, 0x7C1A7BB4, 0x7B497ADA, 0x7A6679ED, 0x796F78ED, 0x786677DA, 0x774976B4, 0x761A757B, + 0x74D87430, 0x738472D3, 0x721E7164, 0x70A66FE3, 0x6F1C6E51, 0x6D816CAD, 0x6BD56AF9, 0x6A186933, 0x684A675D, + 0x666C6577, 0x647E6381, 0x6280617C, 0x60735F67, 0x5E575D43, 0x5C2C5B11, + }; INCLUDE_ASM(s32, "code_31650", func_80056250); void func_800565A4(void) { - s32 *sym = &D_80078E50; + s32* sym = &D_80078E50; if (*sym != 0) { *sym = 0; @@ -73,7 +74,8 @@ void func_80056F78(u8 arg0) { al7C->unk_70 = 1; } -INCLUDE_ASM(void, "code_31650", func_80056FA4, u8 arg0, u8 arg1, s32 arg2, f32 arg3, s16 arg4, u8 arg5, u8 arg6, s32 arg7); +INCLUDE_ASM(void, "code_31650", func_80056FA4, u8 arg0, u8 arg1, s32 arg2, f32 arg3, s16 arg4, u8 arg5, u8 arg6, + s32 arg7); INCLUDE_ASM(void, "code_31650", func_80057224, u8 arg0, UnkAl30* arg1); @@ -161,7 +163,7 @@ INCLUDE_ASM(s32, "code_31650", func_80057ED0); INCLUDE_ASM(s32, "code_31650", func_80057F20); -void* alHeapAlloc(ALHeap *heap, s32 arg1, s32 size) { +void* alHeapAlloc(ALHeap* heap, s32 arg1, s32 size) { void* ret = NULL; u8* newCur = &heap->cur[ALIGN16(arg1 * size)]; From 943f2d204a1c04db1649430dbfd971920437c713 Mon Sep 17 00:00:00 2001 From: Ethan Roseman Date: Sat, 12 Dec 2020 18:07:53 +0900 Subject: [PATCH 50/97] organization --- src/audio.h | 2 +- src/code_2e230_len_2190.c | 4 ++-- src/code_303c0_len_3e10.c | 4 +++- 3 files changed, 6 insertions(+), 4 deletions(-) diff --git a/src/audio.h b/src/audio.h index 640b548728..aa2e1fae05 100644 --- a/src/audio.h +++ b/src/audio.h @@ -341,7 +341,7 @@ extern s8* D_80078181; extern s32* D_80078190; extern s32* D_800781D0; extern s32* D_80078544; -extern s32* D_80078DB0; +extern s32 D_80078DB0; extern u16 D_80078DB6; extern s8 D_80078E58; diff --git a/src/code_2e230_len_2190.c b/src/code_2e230_len_2190.c index dcc59a3422..f5737bfd9f 100644 --- a/src/code_2e230_len_2190.c +++ b/src/code_2e230_len_2190.c @@ -211,7 +211,7 @@ void func_800533D0(void) { } t1 = &D_80078DB0; - if (t1[0] == 0) { + if (*t1 == 0) { temp_s0_2 = D_8009A5FC; if (temp_s0_2->unk_2C.unk_0A != 0) { func_8004E3A4(temp_s0_2); @@ -225,7 +225,7 @@ void func_800533D0(void) { temp_s0_2->unk_10 += temp_s0_2->unk_0C; temp_s0_2->unk_5C = func_8004E4B8(temp_s0_2); } - if (t1[0] == 0) { + if (*t1 == 0) { if (temp_s2->unk_80 != 0) { func_8004DFD4(temp_s2); } diff --git a/src/code_303c0_len_3e10.c b/src/code_303c0_len_3e10.c index 63b9cfdf61..b02a5d000b 100644 --- a/src/code_303c0_len_3e10.c +++ b/src/code_303c0_len_3e10.c @@ -1,9 +1,11 @@ #include "common.h" #include "audio.h" -s32* D_80078DB0 = 0; +s32 D_80078DB0 = 0; u16 D_80078DB4 = 0; u16 D_80078DB6 = 0; + +// chunks of data, not sure what s32 D_80078DB8[] = { 0x025E0350, 0x04640554, 0x00000000, }; s32 D_80078DC4[] = { 0x0264036E, 0x045A0000, }; s32 D_80078DCC[] = { 0x025F0000, }; From a3add6c1a9789ce1c81fea1614b204584ef6536f Mon Sep 17 00:00:00 2001 From: Ethan Roseman Date: Sat, 12 Dec 2020 21:29:07 +0900 Subject: [PATCH 51/97] uhhhh here we go --- tools/n64splat | 2 +- tools/splat.yaml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/tools/n64splat b/tools/n64splat index 900f9e0166..b06b08e0c6 160000 --- a/tools/n64splat +++ b/tools/n64splat @@ -1 +1 @@ -Subproject commit 900f9e0166f8fa5501bbbc4ef6478ed97f975acd +Subproject commit b06b08e0c66ea36b0a3ab3556a97a08a9ce36b0a diff --git a/tools/splat.yaml b/tools/splat.yaml index 858cbd5958..704bbe94f3 100644 --- a/tools/splat.yaml +++ b/tools/splat.yaml @@ -1,7 +1,7 @@ name: Paper Mario (North America) basename: papermario options: - find-file-boundaries: True + find_file_boundaries: True compiler: GCC mnemonic_ljust: 10 ld_o_replace_extension: False From 2372f6b319a60b458a62c83df2600004dc08b83f Mon Sep 17 00:00:00 2001 From: Ethan Roseman Date: Sun, 13 Dec 2020 19:13:02 +0900 Subject: [PATCH 52/97] 4 more --- asm/nonmatchings/code_31650/func_80057E08.s | 26 ---------- asm/nonmatchings/code_31650/func_80057E5C.s | 26 ---------- asm/nonmatchings/code_31650/func_80057ED0.s | 25 ---------- asm/nonmatchings/code_31650/func_80057FD8.s | 17 ------- src/audio.h | 23 +++++++-- src/code_31650.c | 55 +++++++++++++++++++-- 6 files changed, 70 insertions(+), 102 deletions(-) delete mode 100644 asm/nonmatchings/code_31650/func_80057E08.s delete mode 100644 asm/nonmatchings/code_31650/func_80057E5C.s delete mode 100644 asm/nonmatchings/code_31650/func_80057ED0.s delete mode 100644 asm/nonmatchings/code_31650/func_80057FD8.s diff --git a/asm/nonmatchings/code_31650/func_80057E08.s b/asm/nonmatchings/code_31650/func_80057E08.s deleted file mode 100644 index cc772371cf..0000000000 --- a/asm/nonmatchings/code_31650/func_80057E08.s +++ /dev/null @@ -1,26 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel func_80057E08 -/* 33208 80057E08 0000302D */ daddu $a2, $zero, $zero -/* 3320C 80057E0C 3C05800A */ lui $a1, %hi(D_800A3FE0) -/* 33210 80057E10 8CA53FE0 */ lw $a1, %lo(D_800A3FE0)($a1) -/* 33214 80057E14 3C03800A */ lui $v1, %hi(D_800A3FE4) -/* 33218 80057E18 8C633FE4 */ lw $v1, %lo(D_800A3FE4)($v1) -.L80057E1C: -/* 3321C 80057E1C ACA00000 */ sw $zero, ($a1) -/* 33220 80057E20 24A50004 */ addiu $a1, $a1, 4 -/* 33224 80057E24 AC600000 */ sw $zero, ($v1) -/* 33228 80057E28 24C60001 */ addiu $a2, $a2, 1 -/* 3322C 80057E2C 28C20170 */ slti $v0, $a2, 0x170 -/* 33230 80057E30 1440FFFA */ bnez $v0, .L80057E1C -/* 33234 80057E34 24630004 */ addiu $v1, $v1, 4 -/* 33238 80057E38 24020001 */ addiu $v0, $zero, 1 -/* 3323C 80057E3C 3C01800A */ lui $at, %hi(D_800A3FEC) -/* 33240 80057E40 A0243FEC */ sb $a0, %lo(D_800A3FEC)($at) -/* 33244 80057E44 3C01800A */ lui $at, %hi(D_800A3FEE) -/* 33248 80057E48 A4223FEE */ sh $v0, %lo(D_800A3FEE)($at) -/* 3324C 80057E4C 3C01800A */ lui $at, %hi(D_800A3FE8) -/* 33250 80057E50 AC203FE8 */ sw $zero, %lo(D_800A3FE8)($at) -/* 33254 80057E54 03E00008 */ jr $ra -/* 33258 80057E58 00000000 */ nop diff --git a/asm/nonmatchings/code_31650/func_80057E5C.s b/asm/nonmatchings/code_31650/func_80057E5C.s deleted file mode 100644 index 0080543cf0..0000000000 --- a/asm/nonmatchings/code_31650/func_80057E5C.s +++ /dev/null @@ -1,26 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel func_80057E5C -/* 3325C 80057E5C 0000302D */ daddu $a2, $zero, $zero -/* 33260 80057E60 3C05800A */ lui $a1, %hi(D_800A3FE0) -/* 33264 80057E64 8CA53FE0 */ lw $a1, %lo(D_800A3FE0)($a1) -/* 33268 80057E68 3C03800A */ lui $v1, %hi(D_800A3FE4) -/* 3326C 80057E6C 8C633FE4 */ lw $v1, %lo(D_800A3FE4)($v1) -.L80057E70: -/* 33270 80057E70 ACA00000 */ sw $zero, ($a1) -/* 33274 80057E74 24A50004 */ addiu $a1, $a1, 4 -/* 33278 80057E78 AC600000 */ sw $zero, ($v1) -/* 3327C 80057E7C 24C60001 */ addiu $a2, $a2, 1 -/* 33280 80057E80 28C20170 */ slti $v0, $a2, 0x170 -/* 33284 80057E84 1440FFFA */ bnez $v0, .L80057E70 -/* 33288 80057E88 24630004 */ addiu $v1, $v1, 4 -/* 3328C 80057E8C 24020002 */ addiu $v0, $zero, 2 -/* 33290 80057E90 3C01800A */ lui $at, %hi(D_800A3FEC) -/* 33294 80057E94 A0243FEC */ sb $a0, %lo(D_800A3FEC)($at) -/* 33298 80057E98 3C01800A */ lui $at, %hi(D_800A3FEE) -/* 3329C 80057E9C A4223FEE */ sh $v0, %lo(D_800A3FEE)($at) -/* 332A0 80057EA0 3C01800A */ lui $at, %hi(D_800A3FE8) -/* 332A4 80057EA4 AC203FE8 */ sw $zero, %lo(D_800A3FE8)($at) -/* 332A8 80057EA8 03E00008 */ jr $ra -/* 332AC 80057EAC 00000000 */ nop diff --git a/asm/nonmatchings/code_31650/func_80057ED0.s b/asm/nonmatchings/code_31650/func_80057ED0.s deleted file mode 100644 index 2b400e97f9..0000000000 --- a/asm/nonmatchings/code_31650/func_80057ED0.s +++ /dev/null @@ -1,25 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel func_80057ED0 -/* 332D0 80057ED0 0000302D */ daddu $a2, $zero, $zero -/* 332D4 80057ED4 3C05800A */ lui $a1, %hi(D_800A3FE0) -/* 332D8 80057ED8 8CA53FE0 */ lw $a1, %lo(D_800A3FE0)($a1) -/* 332DC 80057EDC 3C03800A */ lui $v1, %hi(D_800A3FE4) -/* 332E0 80057EE0 8C633FE4 */ lw $v1, %lo(D_800A3FE4)($v1) -.L80057EE4: -/* 332E4 80057EE4 ACA00000 */ sw $zero, ($a1) -/* 332E8 80057EE8 24A50004 */ addiu $a1, $a1, 4 -/* 332EC 80057EEC AC600000 */ sw $zero, ($v1) -/* 332F0 80057EF0 24C60001 */ addiu $a2, $a2, 1 -/* 332F4 80057EF4 28C20170 */ slti $v0, $a2, 0x170 -/* 332F8 80057EF8 1440FFFA */ bnez $v0, .L80057EE4 -/* 332FC 80057EFC 24630004 */ addiu $v1, $v1, 4 -/* 33300 80057F00 3C01800A */ lui $at, %hi(D_800A3FEC) -/* 33304 80057F04 A0203FEC */ sb $zero, %lo(D_800A3FEC)($at) -/* 33308 80057F08 3C01800A */ lui $at, %hi(D_800A3FEE) -/* 3330C 80057F0C A4243FEE */ sh $a0, %lo(D_800A3FEE)($at) -/* 33310 80057F10 3C01800A */ lui $at, %hi(D_800A3FE8) -/* 33314 80057F14 AC203FE8 */ sw $zero, %lo(D_800A3FE8)($at) -/* 33318 80057F18 03E00008 */ jr $ra -/* 3331C 80057F1C 00000000 */ nop diff --git a/asm/nonmatchings/code_31650/func_80057FD8.s b/asm/nonmatchings/code_31650/func_80057FD8.s deleted file mode 100644 index b84379d644..0000000000 --- a/asm/nonmatchings/code_31650/func_80057FD8.s +++ /dev/null @@ -1,17 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel func_80057FD8 -/* 333D8 80057FD8 18C00008 */ blez $a2, .L80057FFC -/* 333DC 80057FDC 0000182D */ daddu $v1, $zero, $zero -.L80057FE0: -/* 333E0 80057FE0 90820000 */ lbu $v0, ($a0) -/* 333E4 80057FE4 24840001 */ addiu $a0, $a0, 1 -/* 333E8 80057FE8 24630001 */ addiu $v1, $v1, 1 -/* 333EC 80057FEC A0A20000 */ sb $v0, ($a1) -/* 333F0 80057FF0 0066102A */ slt $v0, $v1, $a2 -/* 333F4 80057FF4 1440FFFA */ bnez $v0, .L80057FE0 -/* 333F8 80057FF8 24A50001 */ addiu $a1, $a1, 1 -.L80057FFC: -/* 333FC 80057FFC 03E00008 */ jr $ra -/* 33400 80058000 00000000 */ nop diff --git a/src/audio.h b/src/audio.h index aa2e1fae05..789d404cce 100644 --- a/src/audio.h +++ b/src/audio.h @@ -44,14 +44,26 @@ typedef struct UnkLen18 { } UnkLen18; typedef struct UnkAl7C { - /* 0x00 */ char unk_00[0x3C]; + /* 0x00 */ char unk_00[0x14]; + /* 0x14 */ s32 unk_14; + /* 0x18 */ s32 unk_18; + /* 0x1C */ char unk_1C[0xC]; + /* 0x28 */ s32 unk_28; + /* 0x2C */ s32 unk_2C; + /* 0x30 */ s32 unk_30; + /* 0x34 */ s32 unk_34; + /* 0x38 */ char unk_38[0x4]; /* 0x3C */ f32 unk_3C; - /* 0x40 */ char unk_40[0xD]; + /* 0x40 */ s32 unk_40; + /* 0x44 */ s32 unk_44; + /* 0x48 */ char unk_48[0x7]; /* 0x4D */ u8 unk_4D; - /* 0x4E */ char unk_4E[0x6]; + /* 0x4E */ s16 unk_4E; + /* 0x50 */ char unk_50[0x4]; /* 0x54 */ s16 unk_54; /* 0x56 */ s16 unk_56; - /* 0x58 */ char unk_58[0x18]; + /* 0x58 */ char unk_58[0x14]; + /* 0x6C */ s32 unk_6C; /* 0x70 */ s32 unk_70; /* 0x74 */ char unk_74[0x4]; /* 0x78 */ u8 unk_78; @@ -357,6 +369,8 @@ extern UnkAl834* D_8009A628; extern UnkAl6CC* D_8009A640; extern UnkAlA9C* D_8009A664; +extern s32* D_800A3FE0; +extern s32* D_800A3FE4; extern s32 D_800A3FE8; extern s8 D_800A3FEC; extern s16 D_800A3FEE; @@ -436,6 +450,7 @@ void func_80057DC8(s32); void func_80057E08(u8); void func_80057E5C(u8); void func_80057EB0(void); +void func_80057ED0(s16); void al_LoadINIT(UnkAl19E0*, s32, ALHeap*); s32 al_CopyFileTableEntry(u16, s32, s32*); diff --git a/src/code_31650.c b/src/code_31650.c index fd92e57395..33e672048c 100644 --- a/src/code_31650.c +++ b/src/code_31650.c @@ -149,9 +149,35 @@ void func_80057DC8(s32 arg0) { } } -INCLUDE_ASM(void, "code_31650", func_80057E08, u8 arg0); +void func_80057E08(u8 arg0) { + s32* phi_a1 = D_800A3FE0; + s32* phi_v1 = D_800A3FE4; + s32 i; -INCLUDE_ASM(void, "code_31650", func_80057E5C, u8 arg0); + for (i = 0; i < 0x170; i++) { + *phi_a1++ = 0; + *phi_v1++ = 0; + } + + D_800A3FEC = arg0; + D_800A3FEE = 1; + D_800A3FE8 = 0; +} + +void func_80057E5C(u8 arg0) { + s32* phi_a1 = D_800A3FE0; + s32* phi_v1 = D_800A3FE4; + s32 i; + + for (i = 0; i < 0x170; i++) { + *phi_a1++ = 0; + *phi_v1++ = 0; + } + + D_800A3FEC = arg0; + D_800A3FEE = 2; + D_800A3FE8 = 0; +} void func_80057EB0(void) { D_800A3FEC = 0; @@ -159,7 +185,20 @@ void func_80057EB0(void) { D_800A3FE8 = 0; } -INCLUDE_ASM(s32, "code_31650", func_80057ED0); +void func_80057ED0(s16 arg0) { + s32* phi_a1 = D_800A3FE0; + s32* phi_v1 = D_800A3FE4; + s32 i; + + for (i = 0; i < 0x170; i++) { + *phi_a1++ = 0; + *phi_v1++ = 0; + } + + D_800A3FEC = 0; + D_800A3FEE = arg0; + D_800A3FE8 = 0; +} INCLUDE_ASM(s32, "code_31650", func_80057F20); @@ -175,7 +214,15 @@ void* alHeapAlloc(ALHeap* heap, s32 arg1, s32 size) { return ret; } -INCLUDE_ASM(s32, "code_31650", func_80057FD8); +void func_80057FD8(u8* src, u8* dst, s32 size) { + s32 i; + u8* srcIt = src; + u8* dstIt = dst; + + for (i = 0; i < size; i++) { + *dstIt++ = *srcIt++; + } +} INCLUDE_ASM(s32, "code_31650", func_80058004); From 853c60ea51151d85c5eed153c6bf9d5df488ad4e Mon Sep 17 00:00:00 2001 From: Ethan Roseman Date: Sun, 13 Dec 2020 19:33:57 +0900 Subject: [PATCH 53/97] Fix --- src/audio.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/audio.h b/src/audio.h index 789d404cce..4f03f7d1f2 100644 --- a/src/audio.h +++ b/src/audio.h @@ -56,7 +56,7 @@ typedef struct UnkAl7C { /* 0x3C */ f32 unk_3C; /* 0x40 */ s32 unk_40; /* 0x44 */ s32 unk_44; - /* 0x48 */ char unk_48[0x7]; + /* 0x48 */ char unk_48[0x5]; /* 0x4D */ u8 unk_4D; /* 0x4E */ s16 unk_4E; /* 0x50 */ char unk_50[0x4]; From 904a0faba151f71cb6b401ed7d135cc7bf356e22 Mon Sep 17 00:00:00 2001 From: Ethan Roseman Date: Mon, 14 Dec 2020 18:57:21 +0900 Subject: [PATCH 54/97] 1 big boi --- .../code_26840_len_20d0/func_8004B440.s | 132 ------------------ src/audio.h | 46 +++++- src/code_26840_len_20d0.c | 82 ++++++++++- src/code_2e230_len_2190.c | 2 +- 4 files changed, 123 insertions(+), 139 deletions(-) delete mode 100644 asm/nonmatchings/code_26840_len_20d0/func_8004B440.s diff --git a/asm/nonmatchings/code_26840_len_20d0/func_8004B440.s b/asm/nonmatchings/code_26840_len_20d0/func_8004B440.s deleted file mode 100644 index ceda053103..0000000000 --- a/asm/nonmatchings/code_26840_len_20d0/func_8004B440.s +++ /dev/null @@ -1,132 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel func_8004B440 -/* 26840 8004B440 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 26844 8004B444 AFB00010 */ sw $s0, 0x10($sp) -/* 26848 8004B448 0080802D */ daddu $s0, $a0, $zero -/* 2684C 8004B44C 3C030006 */ lui $v1, 6 -/* 26850 8004B450 3463A25E */ ori $v1, $v1, 0xa25e -/* 26854 8004B454 3C020004 */ lui $v0, 4 -/* 26858 8004B458 8FA40028 */ lw $a0, 0x28($sp) -/* 2685C 8004B45C 3442C4B4 */ ori $v0, $v0, 0xc4b4 -/* 26860 8004B460 AFBF0014 */ sw $ra, 0x14($sp) -/* 26864 8004B464 AE070000 */ sw $a3, ($s0) -/* 26868 8004B468 AE020034 */ sw $v0, 0x34($s0) -/* 2686C 8004B46C AE03003C */ sw $v1, 0x3c($s0) -/* 26870 8004B470 AE030038 */ sw $v1, 0x38($s0) -/* 26874 8004B474 A20500BC */ sb $a1, 0xbc($s0) -/* 26878 8004B478 308200FF */ andi $v0, $a0, 0xff -/* 2687C 8004B47C 2C420011 */ sltiu $v0, $v0, 0x11 -/* 26880 8004B480 14400004 */ bnez $v0, .L8004B494 -/* 26884 8004B484 A20600BE */ sb $a2, 0xbe($s0) -/* 26888 8004B488 24020010 */ addiu $v0, $zero, 0x10 -/* 2688C 8004B48C 08012D26 */ j .L8004B498 -/* 26890 8004B490 A20200BD */ sb $v0, 0xbd($s0) -.L8004B494: -/* 26894 8004B494 A20400BD */ sb $a0, 0xbd($s0) -.L8004B498: -/* 26898 8004B498 0000202D */ daddu $a0, $zero, $zero -/* 2689C 8004B49C 24060040 */ addiu $a2, $zero, 0x40 -/* 268A0 8004B4A0 240500B0 */ addiu $a1, $zero, 0xb0 -/* 268A4 8004B4A4 2403016C */ addiu $v1, $zero, 0x16c -/* 268A8 8004B4A8 34028000 */ ori $v0, $zero, 0x8000 -/* 268AC 8004B4AC AE02005C */ sw $v0, 0x5c($s0) -/* 268B0 8004B4B0 A60200B8 */ sh $v0, 0xb8($s0) -/* 268B4 8004B4B4 AE000030 */ sw $zero, 0x30($s0) -/* 268B8 8004B4B8 AE000060 */ sw $zero, 0x60($s0) -.L8004B4BC: -/* 268BC 8004B4BC 02031021 */ addu $v0, $s0, $v1 -/* 268C0 8004B4C0 24840001 */ addiu $a0, $a0, 1 -/* 268C4 8004B4C4 AC400000 */ sw $zero, ($v0) -/* 268C8 8004B4C8 A440005C */ sh $zero, 0x5c($v0) -/* 268CC 8004B4CC A440008E */ sh $zero, 0x8e($v0) -/* 268D0 8004B4D0 A4400090 */ sh $zero, 0x90($v0) -/* 268D4 8004B4D4 A4400092 */ sh $zero, 0x92($v0) -/* 268D8 8004B4D8 A0400094 */ sb $zero, 0x94($v0) -/* 268DC 8004B4DC A040009B */ sb $zero, 0x9b($v0) -/* 268E0 8004B4E0 A040009C */ sb $zero, 0x9c($v0) -/* 268E4 8004B4E4 A040009D */ sb $zero, 0x9d($v0) -/* 268E8 8004B4E8 A040009E */ sb $zero, 0x9e($v0) -/* 268EC 8004B4EC A040009F */ sb $zero, 0x9f($v0) -/* 268F0 8004B4F0 A0400099 */ sb $zero, 0x99($v0) -/* 268F4 8004B4F4 A0400078 */ sb $zero, 0x78($v0) -/* 268F8 8004B4F8 A0400079 */ sb $zero, 0x79($v0) -/* 268FC 8004B4FC A040007A */ sb $zero, 0x7a($v0) -/* 26900 8004B500 A046007B */ sb $a2, 0x7b($v0) -/* 26904 8004B504 A040007C */ sb $zero, 0x7c($v0) -/* 26908 8004B508 A045007D */ sb $a1, 0x7d($v0) -/* 2690C 8004B50C A040007E */ sb $zero, 0x7e($v0) -/* 26910 8004B510 A040007F */ sb $zero, 0x7f($v0) -/* 26914 8004B514 2C820008 */ sltiu $v0, $a0, 8 -/* 26918 8004B518 1440FFE8 */ bnez $v0, .L8004B4BC -/* 2691C 8004B51C 246300AC */ addiu $v1, $v1, 0xac -/* 26920 8004B520 0000202D */ daddu $a0, $zero, $zero -/* 26924 8004B524 0200182D */ daddu $v1, $s0, $zero -.L8004B528: -/* 26928 8004B528 AC600090 */ sw $zero, 0x90($v1) -/* 2692C 8004B52C 24840001 */ addiu $a0, $a0, 1 -/* 26930 8004B530 2C820004 */ sltiu $v0, $a0, 4 -/* 26934 8004B534 1440FFFC */ bnez $v0, .L8004B528 -/* 26938 8004B538 24630004 */ addiu $v1, $v1, 4 -/* 2693C 8004B53C 0000202D */ daddu $a0, $zero, $zero -/* 26940 8004B540 0200182D */ daddu $v1, $s0, $zero -.L8004B544: -/* 26944 8004B544 A46000A0 */ sh $zero, 0xa0($v1) -/* 26948 8004B548 24840001 */ addiu $a0, $a0, 1 -/* 2694C 8004B54C 2C820004 */ sltiu $v0, $a0, 4 -/* 26950 8004B550 1440FFFC */ bnez $v0, .L8004B544 -/* 26954 8004B554 24630006 */ addiu $v1, $v1, 6 -/* 26958 8004B558 0200202D */ daddu $a0, $s0, $zero -/* 2695C 8004B55C 0000282D */ daddu $a1, $zero, $zero -/* 26960 8004B560 0C012E95 */ jal func_8004BA54 -/* 26964 8004B564 AE000168 */ sw $zero, 0x168($s0) -/* 26968 8004B568 0C012DA6 */ jal func_8004B698 -/* 2696C 8004B56C 0200202D */ daddu $a0, $s0, $zero -/* 26970 8004B570 26040040 */ addiu $a0, $s0, 0x40 -/* 26974 8004B574 0000282D */ daddu $a1, $zero, $zero -/* 26978 8004B578 24067FFF */ addiu $a2, $zero, 0x7fff -/* 2697C 8004B57C 0C014E5D */ jal func_80053974 -/* 26980 8004B580 00C0382D */ daddu $a3, $a2, $zero -/* 26984 8004B584 920400BE */ lbu $a0, 0xbe($s0) -/* 26988 8004B588 96050040 */ lhu $a1, 0x40($s0) -/* 2698C 8004B58C 0C014EA6 */ jal func_80053A98 -/* 26990 8004B590 8E06005C */ lw $a2, 0x5c($s0) -/* 26994 8004B594 0200202D */ daddu $a0, $s0, $zero -/* 26998 8004B598 0000282D */ daddu $a1, $zero, $zero -/* 2699C 8004B59C 240200FF */ addiu $v0, $zero, 0xff -/* 269A0 8004B5A0 A082008C */ sb $v0, 0x8c($a0) -/* 269A4 8004B5A4 3C028008 */ lui $v0, %hi(D_80078290) -/* 269A8 8004B5A8 24428290 */ addiu $v0, $v0, %lo(D_80078290) -/* 269AC 8004B5AC AC820064 */ sw $v0, 0x64($a0) -/* 269B0 8004B5B0 3C028008 */ lui $v0, %hi(D_800782F8) -/* 269B4 8004B5B4 244282F8 */ addiu $v0, $v0, %lo(D_800782F8) -/* 269B8 8004B5B8 AC820068 */ sw $v0, 0x68($a0) -/* 269BC 8004B5BC 3C028008 */ lui $v0, %hi(D_80078320) -/* 269C0 8004B5C0 24428320 */ addiu $v0, $v0, %lo(D_80078320) -/* 269C4 8004B5C4 AC82006C */ sw $v0, 0x6c($a0) -/* 269C8 8004B5C8 3C028008 */ lui $v0, %hi(D_80078348) -/* 269CC 8004B5CC 24428348 */ addiu $v0, $v0, %lo(D_80078348) -/* 269D0 8004B5D0 AC820070 */ sw $v0, 0x70($a0) -/* 269D4 8004B5D4 AC820074 */ sw $v0, 0x74($a0) -/* 269D8 8004B5D8 AC820078 */ sw $v0, 0x78($a0) -/* 269DC 8004B5DC AC82007C */ sw $v0, 0x7c($a0) -/* 269E0 8004B5E0 AC820080 */ sw $v0, 0x80($a0) -/* 269E4 8004B5E4 24020010 */ addiu $v0, $zero, 0x10 -/* 269E8 8004B5E8 A0820084 */ sb $v0, 0x84($a0) -/* 269EC 8004B5EC 24020020 */ addiu $v0, $zero, 0x20 -/* 269F0 8004B5F0 A0820085 */ sb $v0, 0x85($a0) -/* 269F4 8004B5F4 A0820086 */ sb $v0, 0x86($a0) -/* 269F8 8004B5F8 A0820087 */ sb $v0, 0x87($a0) -/* 269FC 8004B5FC A0820088 */ sb $v0, 0x88($a0) -/* 26A00 8004B600 24020030 */ addiu $v0, $zero, 0x30 -/* 26A04 8004B604 A0820089 */ sb $v0, 0x89($a0) -/* 26A08 8004B608 24020040 */ addiu $v0, $zero, 0x40 -/* 26A0C 8004B60C A082008A */ sb $v0, 0x8a($a0) -/* 26A10 8004B610 24020050 */ addiu $v0, $zero, 0x50 -/* 26A14 8004B614 0C012E79 */ jal func_8004B9E4 -/* 26A18 8004B618 A082008B */ sb $v0, 0x8b($a0) -/* 26A1C 8004B61C 8FBF0014 */ lw $ra, 0x14($sp) -/* 26A20 8004B620 8FB00010 */ lw $s0, 0x10($sp) -/* 26A24 8004B624 03E00008 */ jr $ra -/* 26A28 8004B628 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/src/audio.h b/src/audio.h index 4f03f7d1f2..8a4e19c0ae 100644 --- a/src/audio.h +++ b/src/audio.h @@ -83,7 +83,36 @@ typedef struct UnkAlA { /* 0x4 */ s16 unk_04; /* 0x6 */ s16 unk_06; /* 0x8 */ s8 unk_08; -} UnkAlA; // size = 0xA; +} UnkAlA; // size = 0xA + +typedef struct UnkAlAC { + /* 0x00 */ s32 unk_00; + /* 0x04 */ char unk_04[0x58]; + /* 0x5C */ u16 unk_5C; + /* 0x5E */ char unk_5E[0x1A]; + /* 0x78 */ u8 unk_78; + /* 0x79 */ u8 unk_79; + /* 0x7A */ u8 unk_7A; + /* 0x7B */ u8 unk_7B; + /* 0x7C */ u8 unk_7C; + /* 0x7D */ u8 unk_7D; + /* 0x7E */ u8 unk_7E; + /* 0x7F */ u8 unk_7F; + /* 0x80 */ char unk_80[0xE]; + /* 0x8E */ u16 unk_8E; + /* 0x90 */ u16 unk_90; + /* 0x92 */ u16 unk_92; + /* 0x94 */ u8 unk_94; + /* 0x95 */ char unk_05[0x4]; + /* 0x99 */ u8 unk_99; + /* 0x9A */ char unk_9A[0x1]; + /* 0x9B */ u8 unk_9B; + /* 0x9C */ u8 unk_9C; + /* 0x9D */ u8 unk_9D; + /* 0x9E */ u8 unk_9E; + /* 0x9F */ u8 unk_9F; + /* 0xA0 */ char unk_A0[0xC]; +} UnkAlAC; // size = 0xAC typedef struct UnkAl6CC { /* 0x000 */ struct UnkAl19E0* unk_00; @@ -99,7 +128,10 @@ typedef struct UnkAl6CC { /* 0x084 */ s8 unk_84[8]; /* 0x08C */ u8 unk_8C; /* 0x08D */ s8 unk_8D; - /* 0x08E */ char unk_8E[0x2C]; + /* 0x08E */ char unk_8E[0x2]; + /* 0x090 */ s32 unk_90[4]; + /* 0x0A0 */ Vec3s unk_A0[4]; + /* 0x0B8 */ u16 unk_B8; /* 0x0BA */ s16 unk_BA; /* 0x0BC */ u8 unk_BC; /* 0x0BD */ u8 unk_BD; @@ -114,7 +146,7 @@ typedef struct UnkAl6CC { /* 0x165 */ s8 unk_165; /* 0x166 */ char unk_166[0x2]; /* 0x168 */ s32 unk_168; - /* 0x16C */ char unk_16C[0x560]; + /* 0x16C */ UnkAlAC unk_16C[8]; } UnkAl6CC; typedef struct UnkAl12 { @@ -352,6 +384,10 @@ extern UnkAl0* D_80078E54; extern s8* D_80078181; extern s32* D_80078190; extern s32* D_800781D0; +extern s32* D_80078290; +extern s32* D_800782F8; +extern s32* D_80078348; +extern s32* D_80078320; extern s32* D_80078544; extern s32 D_80078DB0; extern u16 D_80078DB6; @@ -378,7 +414,7 @@ extern s32 D_800A3FF0; void al_LoadBKHeaders(UnkAl19E0* arg0, ALHeap* arg1); -void func_8004B440(UnkAl6CC*, u8, u8, UnkAl19E0*, s32); +void func_8004B440(UnkAl6CC*, u8, u8, UnkAl19E0*, u8); void func_8004B62C(UnkAl6CC*); void func_8004B698(UnkAl6CC*); void func_8004B6D8(UnkAl6CC*, s32, s16, s16, u8); @@ -408,7 +444,7 @@ void func_800532F4(UnkAl30*); void func_80053370(UnkAl12*); void func_800533A8(UnkAl2*); void func_80053654(UnkAl19E0*); -void func_80053974(s32*, s32, s32, s16); +void func_80053974(UnkAl1*, s32, s32, s16); void func_80053A18(UnkAl1*); void func_80053A28(UnkAl1*); void func_80053A98(u8, u16, s32); diff --git a/src/code_26840_len_20d0.c b/src/code_26840_len_20d0.c index 91f048f574..e1607a0cf7 100644 --- a/src/code_26840_len_20d0.c +++ b/src/code_26840_len_20d0.c @@ -1,7 +1,87 @@ #include "common.h" #include "audio.h" -INCLUDE_ASM(void, "code_26840_len_20d0", func_8004B440, UnkAl6CC* arg0, u8 arg1, u8 arg2, UnkAl19E0* arg3, s32 arg4); +void func_8004B440(UnkAl6CC *arg0, u8 arg1, u8 arg2, UnkAl19E0 *arg3, u8 arg4) { + u32 i; + s32 c = 0x6A25E; + + arg0->unk_00 = arg3; + arg0->unk_34 = 0x4C4B4; + arg0->unk_38 = arg0->unk_3C = c; + arg0->unk_BC = arg1; + arg0->unk_BE = arg2; + + if (arg4 > 0x10) { + arg0->unk_BD = 0x10; + } else { + arg0->unk_BD = arg4; + } + + arg0->unk_5C = 0x8000; + arg0->unk_B8 = 0x8000; + arg0->unk_30 = 0; + arg0->unk_60 = 0; + + for (i = 0; i < ARRAY_COUNT(arg0->unk_16C); i++) { + UnkAlAC* sub = &arg0->unk_16C[i]; + + sub->unk_00 = 0; + sub->unk_5C = 0; + sub->unk_8E = 0; + sub->unk_90 = 0; + sub->unk_92 = 0; + sub->unk_94 = 0; + sub->unk_9B = 0; + sub->unk_9C = 0; + sub->unk_9D = 0; + sub->unk_9E = 0; + sub->unk_9F = 0; + sub->unk_99 = 0; + sub->unk_78 = 0; + sub->unk_79 = 0; + sub->unk_7A = 0; + sub->unk_7B = 0x40; + sub->unk_7C = 0; + sub->unk_7D = 0xB0; + sub->unk_7E = 0; + sub->unk_7F = 0; + } + + for (i = 0; i < 4; i++) { + arg0->unk_90[i] = 0; + } + + for (i = 0; i < 4; i++) { + arg0->unk_A0[i].x = 0; + } + + arg0->unk_168 = 0; + func_8004BA54(arg0, 0); + func_8004B698(arg0); + func_80053974(&arg0->unk_40, 0, 0x7FFF, 0x7FFF); + func_80053A98(arg0->unk_BE, arg0->unk_40.unk_00.u16, arg0->unk_5C); + arg0->unk_8C = 0xFF; + + arg0->unk_64[0] = &D_80078290; + arg0->unk_64[1] = &D_800782F8; + arg0->unk_64[2] = &D_80078320; + arg0->unk_64[3] = &D_80078348; + arg0->unk_64[4] = &D_80078348; + arg0->unk_64[5] = &D_80078348; + arg0->unk_64[6] = &D_80078348; + arg0->unk_64[7] = &D_80078348; + + arg0->unk_84[0] = 0x10; + arg0->unk_84[1] = 0x20; + arg0->unk_84[2] = 0x20; + arg0->unk_84[3] = 0x20; + arg0->unk_84[4] = 0x20; + arg0->unk_84[5] = 0x30; + arg0->unk_84[6] = 0x40; + arg0->unk_84[7] = 0x50; + + func_8004B9E4(arg0, 0); +} INCLUDE_ASM(void, "code_26840_len_20d0", func_8004B62C, UnkAl6CC* arg0); diff --git a/src/code_2e230_len_2190.c b/src/code_2e230_len_2190.c index f5737bfd9f..1b6f8e7b1d 100644 --- a/src/code_2e230_len_2190.c +++ b/src/code_2e230_len_2190.c @@ -366,7 +366,7 @@ void func_800538C4(UnkAl48* arg0, s32 arg1) { // type may be wrong but it seems INCLUDE_ASM(s32, "code_2e230_len_2190", func_800538F8); -INCLUDE_ASM(void, "code_2e230_len_2190", func_80053974, s32* arg0, s32 arg1, s32 arg2, s16 arg3); +INCLUDE_ASM(void, "code_2e230_len_2190", func_80053974, UnkAl1* arg0, s32 arg1, s32 arg2, s16 arg3); void func_80053A18(UnkAl1* arg0) { arg0->unk_0A = 0; From 7e16241aa167fb3871e7026b9ac3dce819d2825e Mon Sep 17 00:00:00 2001 From: Ethan Roseman Date: Tue, 15 Dec 2020 12:08:01 +0900 Subject: [PATCH 55/97] a baker's dozen --- .../code_28910_len_5090/func_8004FBBC.s | 23 ---- .../code_28910_len_5090/func_8004FC08.s | 52 ------- .../code_28910_len_5090/func_8004FCB4.s | 17 --- .../code_28910_len_5090/func_8004FCE4.s | 12 -- .../code_28910_len_5090/func_8004FD04.s | 17 --- .../code_28910_len_5090/func_8004FF70.s | 10 -- .../code_28910_len_5090/func_8004FF88.s | 12 -- .../code_28910_len_5090/func_8004FFA8.s | 7 - .../code_28910_len_5090/func_8004FFB4.s | 9 -- .../code_28910_len_5090/func_8004FFC8.s | 11 -- .../code_28910_len_5090/func_8004FFE4.s | 7 - .../code_28910_len_5090/func_8004FFF0.s | 7 - .../code_28910_len_5090/func_8004FFFC.s | 6 - src/audio.h | 71 +++++++++- src/code_28910_len_5090.c | 128 ++++++++++++++---- 15 files changed, 164 insertions(+), 225 deletions(-) delete mode 100644 asm/nonmatchings/code_28910_len_5090/func_8004FBBC.s delete mode 100644 asm/nonmatchings/code_28910_len_5090/func_8004FC08.s delete mode 100644 asm/nonmatchings/code_28910_len_5090/func_8004FCB4.s delete mode 100644 asm/nonmatchings/code_28910_len_5090/func_8004FCE4.s delete mode 100644 asm/nonmatchings/code_28910_len_5090/func_8004FD04.s delete mode 100644 asm/nonmatchings/code_28910_len_5090/func_8004FF70.s delete mode 100644 asm/nonmatchings/code_28910_len_5090/func_8004FF88.s delete mode 100644 asm/nonmatchings/code_28910_len_5090/func_8004FFA8.s delete mode 100644 asm/nonmatchings/code_28910_len_5090/func_8004FFB4.s delete mode 100644 asm/nonmatchings/code_28910_len_5090/func_8004FFC8.s delete mode 100644 asm/nonmatchings/code_28910_len_5090/func_8004FFE4.s delete mode 100644 asm/nonmatchings/code_28910_len_5090/func_8004FFF0.s delete mode 100644 asm/nonmatchings/code_28910_len_5090/func_8004FFFC.s diff --git a/asm/nonmatchings/code_28910_len_5090/func_8004FBBC.s b/asm/nonmatchings/code_28910_len_5090/func_8004FBBC.s deleted file mode 100644 index 072f379b99..0000000000 --- a/asm/nonmatchings/code_28910_len_5090/func_8004FBBC.s +++ /dev/null @@ -1,23 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel func_8004FBBC -/* 2AFBC 8004FBBC 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 2AFC0 8004FBC0 AFB00010 */ sw $s0, 0x10($sp) -/* 2AFC4 8004FBC4 0080802D */ daddu $s0, $a0, $zero -/* 2AFC8 8004FBC8 AFBF0014 */ sw $ra, 0x14($sp) -/* 2AFCC 8004FBCC 960500D4 */ lhu $a1, 0xd4($s0) -/* 2AFD0 8004FBD0 0C013F02 */ jal func_8004FC08 -/* 2AFD4 8004FBD4 A6050208 */ sh $a1, 0x208($s0) -/* 2AFD8 8004FBD8 00021880 */ sll $v1, $v0, 2 -/* 2AFDC 8004FBDC 00621821 */ addu $v1, $v1, $v0 -/* 2AFE0 8004FBE0 00031840 */ sll $v1, $v1, 1 -/* 2AFE4 8004FBE4 AE0200B0 */ sw $v0, 0xb0($s0) -/* 2AFE8 8004FBE8 AE030008 */ sw $v1, 8($s0) -/* 2AFEC 8004FBEC AE0000BC */ sw $zero, 0xbc($s0) -/* 2AFF0 8004FBF0 AE0000B8 */ sw $zero, 0xb8($s0) -/* 2AFF4 8004FBF4 AE0000B4 */ sw $zero, 0xb4($s0) -/* 2AFF8 8004FBF8 8FBF0014 */ lw $ra, 0x14($sp) -/* 2AFFC 8004FBFC 8FB00010 */ lw $s0, 0x10($sp) -/* 2B000 8004FC00 03E00008 */ jr $ra -/* 2B004 8004FC04 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/code_28910_len_5090/func_8004FC08.s b/asm/nonmatchings/code_28910_len_5090/func_8004FC08.s deleted file mode 100644 index e3f8d0f20f..0000000000 --- a/asm/nonmatchings/code_28910_len_5090/func_8004FC08.s +++ /dev/null @@ -1,52 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel func_8004FC08 -/* 2B008 8004FC08 44852000 */ mtc1 $a1, $f4 -/* 2B00C 8004FC0C 00000000 */ nop -/* 2B010 8004FC10 46802121 */ cvt.d.w $f4, $f4 -/* 2B014 8004FC14 04A10006 */ bgez $a1, .L8004FC30 -/* 2B018 8004FC18 9483020A */ lhu $v1, 0x20a($a0) -/* 2B01C 8004FC1C 3C0141F0 */ lui $at, 0x41f0 -/* 2B020 8004FC20 44810800 */ mtc1 $at, $f1 -/* 2B024 8004FC24 44800000 */ mtc1 $zero, $f0 -/* 2B028 8004FC28 00000000 */ nop -/* 2B02C 8004FC2C 46202100 */ add.d $f4, $f4, $f0 -.L8004FC30: -/* 2B030 8004FC30 C48200D0 */ lwc1 $f2, 0xd0($a0) -/* 2B034 8004FC34 46202020 */ cvt.s.d $f0, $f4 -/* 2B038 8004FC38 46020002 */ mul.s $f0, $f0, $f2 -/* 2B03C 8004FC3C 00000000 */ nop -/* 2B040 8004FC40 3C014F00 */ lui $at, 0x4f00 -/* 2B044 8004FC44 44811000 */ mtc1 $at, $f2 -/* 2B048 8004FC48 00000000 */ nop -/* 2B04C 8004FC4C 4600103E */ c.le.s $f2, $f0 -/* 2B050 8004FC50 00000000 */ nop -/* 2B054 8004FC54 45030005 */ bc1tl .L8004FC6C -/* 2B058 8004FC58 46020001 */ sub.s $f0, $f0, $f2 -/* 2B05C 8004FC5C 4600018D */ trunc.w.s $f6, $f0 -/* 2B060 8004FC60 44053000 */ mfc1 $a1, $f6 -/* 2B064 8004FC64 08013F21 */ j .L8004FC84 -/* 2B068 8004FC68 0065102B */ sltu $v0, $v1, $a1 -.L8004FC6C: -/* 2B06C 8004FC6C 3C028000 */ lui $v0, 0x8000 -/* 2B070 8004FC70 4600018D */ trunc.w.s $f6, $f0 -/* 2B074 8004FC74 44053000 */ mfc1 $a1, $f6 -/* 2B078 8004FC78 00000000 */ nop -/* 2B07C 8004FC7C 00A22825 */ or $a1, $a1, $v0 -/* 2B080 8004FC80 0065102B */ sltu $v0, $v1, $a1 -.L8004FC84: -/* 2B084 8004FC84 10400003 */ beqz $v0, .L8004FC94 -/* 2B088 8004FC88 00000000 */ nop -/* 2B08C 8004FC8C 08013F27 */ j .L8004FC9C -/* 2B090 8004FC90 0060282D */ daddu $a1, $v1, $zero -.L8004FC94: -/* 2B094 8004FC94 50A00001 */ beql $a1, $zero, .L8004FC9C -/* 2B098 8004FC98 24050001 */ addiu $a1, $zero, 1 -.L8004FC9C: -/* 2B09C 8004FC9C 00051040 */ sll $v0, $a1, 1 -/* 2B0A0 8004FCA0 00451021 */ addu $v0, $v0, $a1 -/* 2B0A4 8004FCA4 000210C0 */ sll $v0, $v0, 3 -/* 2B0A8 8004FCA8 00451021 */ addu $v0, $v0, $a1 -/* 2B0AC 8004FCAC 03E00008 */ jr $ra -/* 2B0B0 8004FCB0 00021080 */ sll $v0, $v0, 2 diff --git a/asm/nonmatchings/code_28910_len_5090/func_8004FCB4.s b/asm/nonmatchings/code_28910_len_5090/func_8004FCB4.s deleted file mode 100644 index e964649142..0000000000 --- a/asm/nonmatchings/code_28910_len_5090/func_8004FCB4.s +++ /dev/null @@ -1,17 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel func_8004FCB4 -/* 2B0B4 8004FCB4 908200D4 */ lbu $v0, 0xd4($a0) -/* 2B0B8 8004FCB8 3042007F */ andi $v0, $v0, 0x7f -/* 2B0BC 8004FCBC 54400001 */ bnel $v0, $zero, .L8004FCC4 -/* 2B0C0 8004FCC0 00021600 */ sll $v0, $v0, 0x18 -.L8004FCC4: -/* 2B0C4 8004FCC4 AC8200C0 */ sw $v0, 0xc0($a0) -/* 2B0C8 8004FCC8 24020001 */ addiu $v0, $zero, 1 -/* 2B0CC 8004FCCC AC8000CC */ sw $zero, 0xcc($a0) -/* 2B0D0 8004FCD0 AC8000C8 */ sw $zero, 0xc8($a0) -/* 2B0D4 8004FCD4 AC8000C4 */ sw $zero, 0xc4($a0) -/* 2B0D8 8004FCD8 A082021A */ sb $v0, 0x21a($a0) -/* 2B0DC 8004FCDC 03E00008 */ jr $ra -/* 2B0E0 8004FCE0 A0A20041 */ sb $v0, 0x41($a1) diff --git a/asm/nonmatchings/code_28910_len_5090/func_8004FCE4.s b/asm/nonmatchings/code_28910_len_5090/func_8004FCE4.s deleted file mode 100644 index e71725d895..0000000000 --- a/asm/nonmatchings/code_28910_len_5090/func_8004FCE4.s +++ /dev/null @@ -1,12 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel func_8004FCE4 -/* 2B0E4 8004FCE4 808300D4 */ lb $v1, 0xd4($a0) -/* 2B0E8 8004FCE8 00031040 */ sll $v0, $v1, 1 -/* 2B0EC 8004FCEC 00431021 */ addu $v0, $v0, $v1 -/* 2B0F0 8004FCF0 000210C0 */ sll $v0, $v0, 3 -/* 2B0F4 8004FCF4 00431021 */ addu $v0, $v0, $v1 -/* 2B0F8 8004FCF8 00021080 */ sll $v0, $v0, 2 -/* 2B0FC 8004FCFC 03E00008 */ jr $ra -/* 2B100 8004FD00 A482020C */ sh $v0, 0x20c($a0) diff --git a/asm/nonmatchings/code_28910_len_5090/func_8004FD04.s b/asm/nonmatchings/code_28910_len_5090/func_8004FD04.s deleted file mode 100644 index eee88f8b12..0000000000 --- a/asm/nonmatchings/code_28910_len_5090/func_8004FD04.s +++ /dev/null @@ -1,17 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel func_8004FD04 -/* 2B104 8004FD04 90830235 */ lbu $v1, 0x235($a0) -/* 2B108 8004FD08 8C820000 */ lw $v0, ($a0) -/* 2B10C 8004FD0C 908500D4 */ lbu $a1, 0xd4($a0) -/* 2B110 8004FD10 00031880 */ sll $v1, $v1, 2 -/* 2B114 8004FD14 00431021 */ addu $v0, $v0, $v1 -/* 2B118 8004FD18 A0450040 */ sb $a1, 0x40($v0) -/* 2B11C 8004FD1C 90820235 */ lbu $v0, 0x235($a0) -/* 2B120 8004FD20 8C830000 */ lw $v1, ($a0) -/* 2B124 8004FD24 00021080 */ sll $v0, $v0, 2 -/* 2B128 8004FD28 00621821 */ addu $v1, $v1, $v0 -/* 2B12C 8004FD2C 24020001 */ addiu $v0, $zero, 1 -/* 2B130 8004FD30 03E00008 */ jr $ra -/* 2B134 8004FD34 A0620041 */ sb $v0, 0x41($v1) diff --git a/asm/nonmatchings/code_28910_len_5090/func_8004FF70.s b/asm/nonmatchings/code_28910_len_5090/func_8004FF70.s deleted file mode 100644 index 3ca414af7f..0000000000 --- a/asm/nonmatchings/code_28910_len_5090/func_8004FF70.s +++ /dev/null @@ -1,10 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel func_8004FF70 -/* 2B370 8004FF70 908200D4 */ lbu $v0, 0xd4($a0) -/* 2B374 8004FF74 24030001 */ addiu $v1, $zero, 1 -/* 2B378 8004FF78 A0A30041 */ sb $v1, 0x41($a1) -/* 2B37C 8004FF7C 3042007F */ andi $v0, $v0, 0x7f -/* 2B380 8004FF80 03E00008 */ jr $ra -/* 2B384 8004FF84 A0A20049 */ sb $v0, 0x49($a1) diff --git a/asm/nonmatchings/code_28910_len_5090/func_8004FF88.s b/asm/nonmatchings/code_28910_len_5090/func_8004FF88.s deleted file mode 100644 index e29a31a5cf..0000000000 --- a/asm/nonmatchings/code_28910_len_5090/func_8004FF88.s +++ /dev/null @@ -1,12 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel func_8004FF88 -/* 2B388 8004FF88 808300D4 */ lb $v1, 0xd4($a0) -/* 2B38C 8004FF8C 00031040 */ sll $v0, $v1, 1 -/* 2B390 8004FF90 00431021 */ addu $v0, $v0, $v1 -/* 2B394 8004FF94 000210C0 */ sll $v0, $v0, 3 -/* 2B398 8004FF98 00431021 */ addu $v0, $v0, $v1 -/* 2B39C 8004FF9C 00021080 */ sll $v0, $v0, 2 -/* 2B3A0 8004FFA0 03E00008 */ jr $ra -/* 2B3A4 8004FFA4 A4A20046 */ sh $v0, 0x46($a1) diff --git a/asm/nonmatchings/code_28910_len_5090/func_8004FFA8.s b/asm/nonmatchings/code_28910_len_5090/func_8004FFA8.s deleted file mode 100644 index 1304ed7ae0..0000000000 --- a/asm/nonmatchings/code_28910_len_5090/func_8004FFA8.s +++ /dev/null @@ -1,7 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel func_8004FFA8 -/* 2B3A8 8004FFA8 908200D4 */ lbu $v0, 0xd4($a0) -/* 2B3AC 8004FFAC 03E00008 */ jr $ra -/* 2B3B0 8004FFB0 A0A20048 */ sb $v0, 0x48($a1) diff --git a/asm/nonmatchings/code_28910_len_5090/func_8004FFB4.s b/asm/nonmatchings/code_28910_len_5090/func_8004FFB4.s deleted file mode 100644 index fab4e3865c..0000000000 --- a/asm/nonmatchings/code_28910_len_5090/func_8004FFB4.s +++ /dev/null @@ -1,9 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel func_8004FFB4 -/* 2B3B4 8004FFB4 948300D4 */ lhu $v1, 0xd4($a0) -/* 2B3B8 8004FFB8 24020001 */ addiu $v0, $zero, 1 -/* 2B3BC 8004FFBC A0A20040 */ sb $v0, 0x40($a1) -/* 2B3C0 8004FFC0 03E00008 */ jr $ra -/* 2B3C4 8004FFC4 A4A30038 */ sh $v1, 0x38($a1) diff --git a/asm/nonmatchings/code_28910_len_5090/func_8004FFC8.s b/asm/nonmatchings/code_28910_len_5090/func_8004FFC8.s deleted file mode 100644 index 796cae8608..0000000000 --- a/asm/nonmatchings/code_28910_len_5090/func_8004FFC8.s +++ /dev/null @@ -1,11 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel func_8004FFC8 -/* 2B3C8 8004FFC8 908200D4 */ lbu $v0, 0xd4($a0) -/* 2B3CC 8004FFCC A4A2003A */ sh $v0, 0x3a($a1) -/* 2B3D0 8004FFD0 908200D5 */ lbu $v0, 0xd5($a0) -/* 2B3D4 8004FFD4 A0A20055 */ sb $v0, 0x55($a1) -/* 2B3D8 8004FFD8 908200D6 */ lbu $v0, 0xd6($a0) -/* 2B3DC 8004FFDC 03E00008 */ jr $ra -/* 2B3E0 8004FFE0 A0A20056 */ sb $v0, 0x56($a1) diff --git a/asm/nonmatchings/code_28910_len_5090/func_8004FFE4.s b/asm/nonmatchings/code_28910_len_5090/func_8004FFE4.s deleted file mode 100644 index 109cb31479..0000000000 --- a/asm/nonmatchings/code_28910_len_5090/func_8004FFE4.s +++ /dev/null @@ -1,7 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel func_8004FFE4 -/* 2B3E4 8004FFE4 908200D4 */ lbu $v0, 0xd4($a0) -/* 2B3E8 8004FFE8 03E00008 */ jr $ra -/* 2B3EC 8004FFEC A0A20055 */ sb $v0, 0x55($a1) diff --git a/asm/nonmatchings/code_28910_len_5090/func_8004FFF0.s b/asm/nonmatchings/code_28910_len_5090/func_8004FFF0.s deleted file mode 100644 index e8679c87cd..0000000000 --- a/asm/nonmatchings/code_28910_len_5090/func_8004FFF0.s +++ /dev/null @@ -1,7 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel func_8004FFF0 -/* 2B3F0 8004FFF0 908200D4 */ lbu $v0, 0xd4($a0) -/* 2B3F4 8004FFF4 03E00008 */ jr $ra -/* 2B3F8 8004FFF8 A0A20056 */ sb $v0, 0x56($a1) diff --git a/asm/nonmatchings/code_28910_len_5090/func_8004FFFC.s b/asm/nonmatchings/code_28910_len_5090/func_8004FFFC.s deleted file mode 100644 index cd3943bb81..0000000000 --- a/asm/nonmatchings/code_28910_len_5090/func_8004FFFC.s +++ /dev/null @@ -1,6 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel func_8004FFFC -/* 2B3FC 8004FFFC 03E00008 */ jr $ra -/* 2B400 80050000 A0A00056 */ sb $zero, 0x56($a1) diff --git a/src/audio.h b/src/audio.h index 8a4e19c0ae..7c5a93a62f 100644 --- a/src/audio.h +++ b/src/audio.h @@ -8,13 +8,21 @@ struct UnkAl19E0; typedef void (*UnkFuncAl)(); -typedef union UnkAl1U { +typedef union UnkField { + u8 u8; u16 u16; + u32 u32; + s8 s8; s32 s32; -} UnkAl1U; +} UnkField; + +typedef union X16 { + u8 u8[2]; + u16 u16; +} X16; typedef struct UnkAl1 { - /* 0x00 */ UnkAl1U unk_00; + /* 0x00 */ UnkField unk_00; /* 0x04 */ s32 unk_04; /* 0x08 */ s16 unk_08; /* 0x0A */ s16 unk_0A; @@ -34,6 +42,22 @@ typedef struct UnkAl2 { /* 0x06 */ s8 unk_06; } UnkAl2; +typedef struct UnkAl3 { + /* 0x00 */ char unk_00[0x38]; + /* 0x38 */ u16 unk_38; + /* 0x3A */ s16 unk_3A; + /* 0x3C */ char unk_3C[0x4]; + /* 0x40 */ s8 unk_40; + /* 0x41 */ s8 unk_41; + /* 0x42 */ char unk_42[0x4]; + /* 0x46 */ s16 unk_46; + /* 0x48 */ s8 unk_48; + /* 0x49 */ s8 unk_49; + /* 0x4A */ char unk_4A[0xB]; + /* 0x55 */ s8 unk_55; + /* 0x56 */ s8 unk_56; +} UnkAl3; + typedef struct UnkLen18 { /* 0x00 */ u16 unk_00; /* 0x02 */ char unk_02[0x2]; @@ -335,14 +359,20 @@ typedef struct UnkAlA9C { /* 0x0C8 */ s32 unk_C8; /* 0x0CC */ s32 unk_CC; /* 0x0D0 */ f32 unk_D0; - /* 0x0D4 */ char unk_D4[0x94]; + /* 0x0D4 */ X16 unk_D4; + /* 0x0D6 */ u8 unk_D6; + /* 0x0D7 */ char unk_D7; + /* 0x0D8 */ char unk_D8[0x90]; /* 0x168 */ s32 unk_168; /* 0x16C */ char unk_16C[0x98]; /* 0x204 */ s32 unk_204; - /* 0x208 */ char unk_208[0x4]; + /* 0x208 */ s16 unk_208; + /* 0x20A */ s16 unk_20A; /* 0x20C */ s16 unk_20C; /* 0x20E */ s16 unk_20E; - /* 0x210 */ char unk_210[0x10]; + /* 0x210 */ char unk_210[0xA]; + /* 0x21A */ u8 unk_21A; + /* 0x21B */ char unk_21B[0x5]; /* 0x220 */ u8 unk_220; /* 0x221 */ u8 unk_221; /* 0x222 */ u8 unk_222; @@ -432,6 +462,35 @@ void func_8004E158(UnkAlA9C*, s32, s32, UnkAl19E0*); void func_8004E3A4(UnkAlA9C*); void func_8004E444(UnkAlA9C*); s16 func_8004E4B8(UnkAlA9C*); +void func_8004FBBC(UnkAlA9C*, UnkAl3*); +s32 func_8004FC08(UnkAlA9C*, u32); +void func_8004FCB4(UnkAlA9C*, UnkAl3*); +void func_8004FCE4(UnkAlA9C*, UnkAl3*); +void func_8004FD04(UnkAlA9C*, UnkAl3*); +void func_8004FD38(UnkAlA9C*, UnkAl3*); +void func_8004FD94(UnkAlA9C*, UnkAl3*); +void func_8004FE10(UnkAlA9C*, UnkAl3*); +void func_8004FE6C(UnkAlA9C*, UnkAl3*); +void func_8004FEB0(UnkAlA9C*, UnkAl3*); +void func_8004FED0(UnkAlA9C*, UnkAl3*); +void func_8004FF3C(UnkAlA9C*, UnkAl3*); +void func_8004FF58(UnkAlA9C*, UnkAl3*); +void func_8004FF70(UnkAlA9C*, UnkAl3*); +void func_8004FF88(UnkAlA9C*, UnkAl3*); +void func_8004FFA8(UnkAlA9C*, UnkAl3*); +void func_8004FFB4(UnkAlA9C*, UnkAl3*); +void func_8004FFC8(UnkAlA9C*, UnkAl3*); +void func_8004FFE4(UnkAlA9C*, UnkAl3*); +void func_8004FFF0(UnkAlA9C*, UnkAl3*); +void func_8004FFFC(UnkAlA9C*, UnkAl3*); +void func_80050004(UnkAlA9C*, UnkAl3*); +void func_80050020(UnkAlA9C*, UnkAl3*); +void func_80050128(UnkAlA9C*, UnkAl3*); +void func_8005015C(UnkAlA9C*, UnkAl3*); +void func_80050184(UnkAlA9C*, UnkAl3*); +void func_800501A8(UnkAlA9C*, UnkAl3*); +void func_800502F0(UnkAlA9C*, UnkAl3*); +void func_80050560(UnkAlA9C*, UnkAl3*); s32 func_80056068(s32, u8); s32 func_800506C8(s32, s32); s32 func_80050C30(u32); diff --git a/src/code_28910_len_5090.c b/src/code_28910_len_5090.c index 43aa7431da..cf43f12995 100644 --- a/src/code_28910_len_5090.c +++ b/src/code_28910_len_5090.c @@ -119,63 +119,133 @@ INCLUDE_ASM(s32, "code_28910_len_5090", func_8004EC04); INCLUDE_ASM(s32, "code_28910_len_5090", func_8004EC68); -INCLUDE_ASM(s32, "code_28910_len_5090", func_8004FBBC); +void func_8004FBBC(UnkAlA9C *arg0, UnkAl3 *arg1) { + u32 unk_D4 = arg0->unk_D4.u16; + s32 temp_v0; -INCLUDE_ASM(s32, "code_28910_len_5090", func_8004FC08); + arg0->unk_208 = unk_D4; + temp_v0 = func_8004FC08(arg0, unk_D4); + arg0->unk_B0 = temp_v0; + arg0->unk_08 = temp_v0 * 10; + arg0->unk_BC = 0; + arg0->unk_B8 = 0; + arg0->unk_B4 = 0; +} -INCLUDE_ASM(s32, "code_28910_len_5090", func_8004FCB4); +s32 func_8004FC08(UnkAlA9C* arg0, u32 arg1) { + u32 t32; + u16 t16; + u32 ret; -INCLUDE_ASM(s32, "code_28910_len_5090", func_8004FCE4); + t32 = t16 = arg0->unk_20A; -INCLUDE_ASM(s32, "code_28910_len_5090", func_8004FD04); + ret = arg1; + ret *= arg0->unk_D0; -INCLUDE_ASM(s32, "code_28910_len_5090", func_8004FD38); + if (t32 < ret) { + ret = t32; + } else if (ret == 0) { + ret = 1; + } -INCLUDE_ASM(s32, "code_28910_len_5090", func_8004FD94); + return ret * 100; +} -INCLUDE_ASM(s32, "code_28910_len_5090", func_8004FE10); +// todo clean the below +void func_8004FCB4(UnkAlA9C *arg0, UnkAl3 *arg1) { + s32 temp_v0; + s32 phi_v0; -INCLUDE_ASM(s32, "code_28910_len_5090", func_8004FE6C); + temp_v0 = (u8) arg0->unk_D4.u8[0] & 0x7F; + phi_v0 = temp_v0; + if (temp_v0 != 0) { + phi_v0 = temp_v0 << 0x18; + } -INCLUDE_ASM(s32, "code_28910_len_5090", func_8004FEB0); + arg0->unk_C0 = phi_v0; + arg0->unk_CC = 0; + arg0->unk_C8 = 0; + arg0->unk_C4 = 0; + arg0->unk_21A = 1; + arg1->unk_41 = 1; +} -INCLUDE_ASM(s32, "code_28910_len_5090", func_8004FED0); +void func_8004FCE4(UnkAlA9C *arg0, UnkAl3 *arg1) { + arg0->unk_20C = (s8)arg0->unk_D4.u8[0] * 100; +} -INCLUDE_ASM(s32, "code_28910_len_5090", func_8004FF3C); +void func_8004FD04(UnkAlA9C *arg0, UnkAl3 *arg1) { + arg0->unk_00->unk_40[arg0->unk_235].unk_00 = arg0->unk_D4.u8[0]; + arg0->unk_00->unk_40[arg0->unk_235].unk_01 = 1; +} -INCLUDE_ASM(s32, "code_28910_len_5090", func_8004FF58); +INCLUDE_ASM(void, "code_28910_len_5090", func_8004FD38, UnkAlA9C* arg0, UnkAl3* arg1); -INCLUDE_ASM(s32, "code_28910_len_5090", func_8004FF70); +INCLUDE_ASM(void, "code_28910_len_5090", func_8004FD94, UnkAlA9C* arg0, UnkAl3* arg1); -INCLUDE_ASM(s32, "code_28910_len_5090", func_8004FF88); +INCLUDE_ASM(void, "code_28910_len_5090", func_8004FE10, UnkAlA9C* arg0, UnkAl3* arg1); -INCLUDE_ASM(s32, "code_28910_len_5090", func_8004FFA8); +INCLUDE_ASM(void, "code_28910_len_5090", func_8004FE6C, UnkAlA9C* arg0, UnkAl3* arg1); -INCLUDE_ASM(s32, "code_28910_len_5090", func_8004FFB4); +INCLUDE_ASM(void, "code_28910_len_5090", func_8004FEB0, UnkAlA9C* arg0, UnkAl3* arg1); -INCLUDE_ASM(s32, "code_28910_len_5090", func_8004FFC8); +INCLUDE_ASM(void, "code_28910_len_5090", func_8004FED0, UnkAlA9C* arg0, UnkAl3* arg1); -INCLUDE_ASM(s32, "code_28910_len_5090", func_8004FFE4); +INCLUDE_ASM(void, "code_28910_len_5090", func_8004FF3C, UnkAlA9C* arg0, UnkAl3* arg1); -INCLUDE_ASM(s32, "code_28910_len_5090", func_8004FFF0); +INCLUDE_ASM(void, "code_28910_len_5090", func_8004FF58, UnkAlA9C* arg0, UnkAl3* arg1); -INCLUDE_ASM(s32, "code_28910_len_5090", func_8004FFFC); +void func_8004FF70(UnkAlA9C *arg0, UnkAl3 *arg1) { + arg1->unk_49 = arg0->unk_D4.u8[0] & 0x7F; + arg1->unk_41 = 1; +} -INCLUDE_ASM(s32, "code_28910_len_5090", func_80050004); +void func_8004FF88(UnkAlA9C *arg0, UnkAl3 *arg1) { + arg1->unk_46 = (s8)arg0->unk_D4.u8[0] * 100; +} -INCLUDE_ASM(s32, "code_28910_len_5090", func_80050020); +void func_8004FFA8(UnkAlA9C *arg0, UnkAl3 *arg1) { + arg1->unk_48 = arg0->unk_D4.u8[0]; +} -INCLUDE_ASM(s32, "code_28910_len_5090", func_80050128); +void func_8004FFB4(UnkAlA9C *arg0, UnkAl3 *arg1) { + arg1->unk_38 = arg0->unk_D4.u16; + arg1->unk_40 = 1; +} -INCLUDE_ASM(s32, "code_28910_len_5090", func_8005015C); +void func_8004FFC8(UnkAlA9C *arg0, UnkAl3 *arg1) { + arg1->unk_3A = arg0->unk_D4.u8[0]; + arg1->unk_55 = arg0->unk_D4.u8[1]; + arg1->unk_56 = arg0->unk_D6; +} -INCLUDE_ASM(s32, "code_28910_len_5090", func_80050184); +void func_8004FFE4(UnkAlA9C *arg0, UnkAl3 *arg1) { + arg1->unk_55 = arg0->unk_D4.u8[0]; +} -INCLUDE_ASM(s32, "code_28910_len_5090", func_800501A8); +void func_8004FFF0(UnkAlA9C *arg0, UnkAl3 *arg1) { + arg1->unk_56 = arg0->unk_D4.u8[0]; +} -INCLUDE_ASM(s32, "code_28910_len_5090", func_800502F0); +void func_8004FFFC(UnkAlA9C *arg0, UnkAl3 *arg1) { + arg1->unk_56 = 0; +} -void func_80050560(void) { +INCLUDE_ASM(void, "code_28910_len_5090", func_80050004, UnkAlA9C* arg0, UnkAl3* arg1); + +INCLUDE_ASM(void, "code_28910_len_5090", func_80050020, UnkAlA9C* arg0, UnkAl3* arg1); + +INCLUDE_ASM(void, "code_28910_len_5090", func_80050128, UnkAlA9C* arg0, UnkAl3* arg1); + +INCLUDE_ASM(void, "code_28910_len_5090", func_8005015C, UnkAlA9C* arg0, UnkAl3* arg1); + +INCLUDE_ASM(void, "code_28910_len_5090", func_80050184, UnkAlA9C* arg0, UnkAl3* arg1); + +INCLUDE_ASM(void, "code_28910_len_5090", func_800501A8, UnkAlA9C* arg0, UnkAl3* arg1); + +INCLUDE_ASM(void, "code_28910_len_5090", func_800502F0, UnkAlA9C* arg0, UnkAl3* arg1); + +void func_80050560(UnkAlA9C* arg0, UnkAl3* arg1) { } INCLUDE_ASM(s32, "code_28910_len_5090", func_80050568); From 6a21c99b1e10a57c877452acb331660c5747e397 Mon Sep 17 00:00:00 2001 From: Ethan Roseman Date: Tue, 15 Dec 2020 16:29:16 +0900 Subject: [PATCH 56/97] 5 more --- .../code_28910_len_5090/func_8004FD38.s | 29 -------------- .../code_28910_len_5090/func_8004FF3C.s | 11 ----- .../code_28910_len_5090/func_8004FF58.s | 10 ----- .../code_28910_len_5090/func_80050004.s | 11 ----- .../code_28910_len_5090/func_80050128.s | 18 --------- src/audio.h | 27 +++++++++---- src/code_28910_len_5090.c | 40 ++++++++++++++++--- 7 files changed, 55 insertions(+), 91 deletions(-) delete mode 100644 asm/nonmatchings/code_28910_len_5090/func_8004FD38.s delete mode 100644 asm/nonmatchings/code_28910_len_5090/func_8004FF3C.s delete mode 100644 asm/nonmatchings/code_28910_len_5090/func_8004FF58.s delete mode 100644 asm/nonmatchings/code_28910_len_5090/func_80050004.s delete mode 100644 asm/nonmatchings/code_28910_len_5090/func_80050128.s diff --git a/asm/nonmatchings/code_28910_len_5090/func_8004FD38.s b/asm/nonmatchings/code_28910_len_5090/func_8004FD38.s deleted file mode 100644 index 7906ad11ee..0000000000 --- a/asm/nonmatchings/code_28910_len_5090/func_8004FD38.s +++ /dev/null @@ -1,29 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel func_8004FD38 -/* 2B138 8004FD38 908200D4 */ lbu $v0, 0xd4($a0) -/* 2B13C 8004FD3C 00823821 */ addu $a3, $a0, $v0 -/* 2B140 8004FD40 2C420004 */ sltiu $v0, $v0, 4 -/* 2B144 8004FD44 90E3004C */ lbu $v1, 0x4c($a3) -/* 2B148 8004FD48 10400010 */ beqz $v0, .L8004FD8C -/* 2B14C 8004FD4C 2C620080 */ sltiu $v0, $v1, 0x80 -/* 2B150 8004FD50 1040000E */ beqz $v0, .L8004FD8C -/* 2B154 8004FD54 00033080 */ sll $a2, $v1, 2 -/* 2B158 8004FD58 8C820000 */ lw $v0, ($a0) -/* 2B15C 8004FD5C 908300D5 */ lbu $v1, 0xd5($a0) -/* 2B160 8004FD60 00462821 */ addu $a1, $v0, $a2 -/* 2B164 8004FD64 90A20040 */ lbu $v0, 0x40($a1) -/* 2B168 8004FD68 10430006 */ beq $v0, $v1, .L8004FD84 -/* 2B16C 8004FD6C 00000000 */ nop -/* 2B170 8004FD70 A0A30040 */ sb $v1, 0x40($a1) -/* 2B174 8004FD74 8C820000 */ lw $v0, ($a0) -/* 2B178 8004FD78 24030001 */ addiu $v1, $zero, 1 -/* 2B17C 8004FD7C 00461021 */ addu $v0, $v0, $a2 -/* 2B180 8004FD80 A0430041 */ sb $v1, 0x41($v0) -.L8004FD84: -/* 2B184 8004FD84 908200D5 */ lbu $v0, 0xd5($a0) -/* 2B188 8004FD88 A0E20224 */ sb $v0, 0x224($a3) -.L8004FD8C: -/* 2B18C 8004FD8C 03E00008 */ jr $ra -/* 2B190 8004FD90 00000000 */ nop diff --git a/asm/nonmatchings/code_28910_len_5090/func_8004FF3C.s b/asm/nonmatchings/code_28910_len_5090/func_8004FF3C.s deleted file mode 100644 index 7515b01594..0000000000 --- a/asm/nonmatchings/code_28910_len_5090/func_8004FF3C.s +++ /dev/null @@ -1,11 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel func_8004FF3C -/* 2B33C 8004FF3C 908300D4 */ lbu $v1, 0xd4($a0) -/* 2B340 8004FF40 24020001 */ addiu $v0, $zero, 1 -/* 2B344 8004FF44 A0A00057 */ sb $zero, 0x57($a1) -/* 2B348 8004FF48 A0A20042 */ sb $v0, 0x42($a1) -/* 2B34C 8004FF4C 3063007F */ andi $v1, $v1, 0x7f -/* 2B350 8004FF50 03E00008 */ jr $ra -/* 2B354 8004FF54 A0A3004A */ sb $v1, 0x4a($a1) diff --git a/asm/nonmatchings/code_28910_len_5090/func_8004FF58.s b/asm/nonmatchings/code_28910_len_5090/func_8004FF58.s deleted file mode 100644 index 36cd1013e5..0000000000 --- a/asm/nonmatchings/code_28910_len_5090/func_8004FF58.s +++ /dev/null @@ -1,10 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel func_8004FF58 -/* 2B358 8004FF58 908200D4 */ lbu $v0, 0xd4($a0) -/* 2B35C 8004FF5C 24030001 */ addiu $v1, $zero, 1 -/* 2B360 8004FF60 A0A30043 */ sb $v1, 0x43($a1) -/* 2B364 8004FF64 3042007F */ andi $v0, $v0, 0x7f -/* 2B368 8004FF68 03E00008 */ jr $ra -/* 2B36C 8004FF6C A0A2004B */ sb $v0, 0x4b($a1) diff --git a/asm/nonmatchings/code_28910_len_5090/func_80050004.s b/asm/nonmatchings/code_28910_len_5090/func_80050004.s deleted file mode 100644 index b2533c9057..0000000000 --- a/asm/nonmatchings/code_28910_len_5090/func_80050004.s +++ /dev/null @@ -1,11 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel func_80050004 -/* 2B404 80050004 908200D4 */ lbu $v0, 0xd4($a0) -/* 2B408 80050008 3042007F */ andi $v0, $v0, 0x7f -/* 2B40C 8005000C A0A2004A */ sb $v0, 0x4a($a1) -/* 2B410 80050010 908200D5 */ lbu $v0, 0xd5($a0) -/* 2B414 80050014 3042007F */ andi $v0, $v0, 0x7f -/* 2B418 80050018 03E00008 */ jr $ra -/* 2B41C 8005001C A0A20057 */ sb $v0, 0x57($a1) diff --git a/asm/nonmatchings/code_28910_len_5090/func_80050128.s b/asm/nonmatchings/code_28910_len_5090/func_80050128.s deleted file mode 100644 index 8379a584b3..0000000000 --- a/asm/nonmatchings/code_28910_len_5090/func_80050128.s +++ /dev/null @@ -1,18 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel func_80050128 -/* 2B528 80050128 908200D4 */ lbu $v0, 0xd4($a0) -/* 2B52C 8005012C 00821821 */ addu $v1, $a0, $v0 -/* 2B530 80050130 2C420004 */ sltiu $v0, $v0, 4 -/* 2B534 80050134 9063004C */ lbu $v1, 0x4c($v1) -/* 2B538 80050138 10400005 */ beqz $v0, .L80050150 -/* 2B53C 8005013C 00031600 */ sll $v0, $v1, 0x18 -/* 2B540 80050140 04400003 */ bltz $v0, .L80050150 -/* 2B544 80050144 00000000 */ nop -/* 2B548 80050148 03E00008 */ jr $ra -/* 2B54C 8005014C A0A3005B */ sb $v1, 0x5b($a1) -.L80050150: -/* 2B550 80050150 90820235 */ lbu $v0, 0x235($a0) -/* 2B554 80050154 03E00008 */ jr $ra -/* 2B558 80050158 A0A2005B */ sb $v0, 0x5b($a1) diff --git a/src/audio.h b/src/audio.h index 7c5a93a62f..a739a11f2e 100644 --- a/src/audio.h +++ b/src/audio.h @@ -43,19 +43,29 @@ typedef struct UnkAl2 { } UnkAl2; typedef struct UnkAl3 { - /* 0x00 */ char unk_00[0x38]; + /* 0x00 */ u32 unk_00; + /* 0x04 */ u32 unk_04; + /* 0x08 */ char unk_08[0x30]; /* 0x38 */ u16 unk_38; /* 0x3A */ s16 unk_3A; - /* 0x3C */ char unk_3C[0x4]; + /* 0x3C */ char unk_3C[0x2]; + /* 0x3E */ s16 unk_3E; /* 0x40 */ s8 unk_40; /* 0x41 */ s8 unk_41; - /* 0x42 */ char unk_42[0x4]; + /* 0x42 */ s8 unk_42; + /* 0x43 */ s8 unk_43; + /* 0x44 */ char unk_44[0x2]; /* 0x46 */ s16 unk_46; /* 0x48 */ s8 unk_48; /* 0x49 */ s8 unk_49; - /* 0x4A */ char unk_4A[0xB]; + /* 0x4A */ s8 unk_4A; + /* 0x4B */ s8 unk_4B; + /* 0x4C */ char unk_4C[0x9]; /* 0x55 */ s8 unk_55; /* 0x56 */ s8 unk_56; + /* 0x57 */ s8 unk_57; + /* 0x58 */ char unk_58[0x3]; + /* 0x5B */ s8 unk_5B; } UnkAl3; typedef struct UnkLen18 { @@ -340,11 +350,13 @@ typedef struct UnkAlA9C { /* 0x024 */ char unk_24[0x8]; /* 0x02C */ UnkAl1 unk_2C; /* 0x048 */ s32 unk_48; - /* 0x04C */ char unk_4C[0xC]; + /* 0x04C */ u8 unk_4C[0x1]; // not sure how long this is + /* 0x04D */ char unk_4D[0xB]; /* 0x058 */ s16 unk_58; /* 0x05A */ s16 unk_5A; /* 0x05C */ s16 unk_5C; - /* 0x05E */ char unk_5E[0xA]; + /* 0x05E */ char unk_5E[0x6]; + /* 0x064 */ s32 unk_64; /* 0x068 */ s16 unk_68; /* 0x06A */ char unk_6A[0x2]; /* 0x06C */ s32 unk_6C; @@ -377,7 +389,8 @@ typedef struct UnkAlA9C { /* 0x221 */ u8 unk_221; /* 0x222 */ u8 unk_222; /* 0x223 */ u8 unk_223; - /* 0x224 */ char unk_224[0x6]; + /* 0x224 */ u8 unk_224[3]; + /* 0x227 */ char unk_227[0x3]; /* 0x22A */ u8 unk_22A; /* 0x22B */ u8 unk_22B; /* 0x22C */ u8 unk_22C; diff --git a/src/code_28910_len_5090.c b/src/code_28910_len_5090.c index cf43f12995..5b9afafb0c 100644 --- a/src/code_28910_len_5090.c +++ b/src/code_28910_len_5090.c @@ -179,7 +179,18 @@ void func_8004FD04(UnkAlA9C *arg0, UnkAl3 *arg1) { arg0->unk_00->unk_40[arg0->unk_235].unk_01 = 1; } -INCLUDE_ASM(void, "code_28910_len_5090", func_8004FD38, UnkAlA9C* arg0, UnkAl3* arg1); +void func_8004FD38(UnkAlA9C *arg0, UnkAl3 *arg1) { + u8 unk_D4 = arg0->unk_D4.u8[0]; + u32 temp_v1 = arg0->unk_4C[unk_D4]; + + if ((unk_D4 < 4) && (temp_v1 < 0x80)) { + if (arg0->unk_00->unk_40[temp_v1].unk_00 != arg0->unk_D4.u8[1]) { + arg0->unk_00->unk_40[temp_v1].unk_00 = arg0->unk_D4.u8[1]; + arg0->unk_00->unk_40[temp_v1].unk_01 = 1; + } + arg0->unk_224[unk_D4] = arg0->unk_D4.u8[1]; + } +} INCLUDE_ASM(void, "code_28910_len_5090", func_8004FD94, UnkAlA9C* arg0, UnkAl3* arg1); @@ -191,9 +202,16 @@ INCLUDE_ASM(void, "code_28910_len_5090", func_8004FEB0, UnkAlA9C* arg0, UnkAl3* INCLUDE_ASM(void, "code_28910_len_5090", func_8004FED0, UnkAlA9C* arg0, UnkAl3* arg1); -INCLUDE_ASM(void, "code_28910_len_5090", func_8004FF3C, UnkAlA9C* arg0, UnkAl3* arg1); +void func_8004FF3C(UnkAlA9C *arg0, UnkAl3 *arg1) { + arg1->unk_4A = arg0->unk_D4.u8[0] & 0x7F; + arg1->unk_42 = 1; + arg1->unk_57 = 0; +} -INCLUDE_ASM(void, "code_28910_len_5090", func_8004FF58, UnkAlA9C* arg0, UnkAl3* arg1); +void func_8004FF58(UnkAlA9C *arg0, UnkAl3 *arg1) { + arg1->unk_4B = arg0->unk_D4.u8[0] & 0x7F; + arg1->unk_43 = 1; +} void func_8004FF70(UnkAlA9C *arg0, UnkAl3 *arg1) { arg1->unk_49 = arg0->unk_D4.u8[0] & 0x7F; @@ -231,11 +249,23 @@ void func_8004FFFC(UnkAlA9C *arg0, UnkAl3 *arg1) { arg1->unk_56 = 0; } -INCLUDE_ASM(void, "code_28910_len_5090", func_80050004, UnkAlA9C* arg0, UnkAl3* arg1); +void func_80050004(UnkAlA9C *arg0, UnkAl3 *arg1) { + arg1->unk_4A = arg0->unk_D4.u8[0] & 0x7F; + arg1->unk_57 = arg0->unk_D4.u8[1] & 0x7F; +} INCLUDE_ASM(void, "code_28910_len_5090", func_80050020, UnkAlA9C* arg0, UnkAl3* arg1); -INCLUDE_ASM(void, "code_28910_len_5090", func_80050128, UnkAlA9C* arg0, UnkAl3* arg1); +void func_80050128(UnkAlA9C *arg0, UnkAl3 *arg1) { + u8 temp_v0 = arg0->unk_D4.u8[0]; + u8 temp_v1 = arg0->unk_4C[temp_v0]; + + if ((temp_v0 < 4) && ((s8)temp_v1 >= 0)) { + arg1->unk_5B = temp_v1; + } else { + arg1->unk_5B = arg0->unk_235; + } +} INCLUDE_ASM(void, "code_28910_len_5090", func_8005015C, UnkAlA9C* arg0, UnkAl3* arg1); From f6917aacbe0b8d7154abaeb1c972679c0a7d3298 Mon Sep 17 00:00:00 2001 From: Ethan Roseman Date: Tue, 15 Dec 2020 16:31:48 +0900 Subject: [PATCH 57/97] oops --- src/code_28910_len_5090.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/code_28910_len_5090.c b/src/code_28910_len_5090.c index 5b9afafb0c..cba5acbcb5 100644 --- a/src/code_28910_len_5090.c +++ b/src/code_28910_len_5090.c @@ -204,8 +204,8 @@ INCLUDE_ASM(void, "code_28910_len_5090", func_8004FED0, UnkAlA9C* arg0, UnkAl3* void func_8004FF3C(UnkAlA9C *arg0, UnkAl3 *arg1) { arg1->unk_4A = arg0->unk_D4.u8[0] & 0x7F; - arg1->unk_42 = 1; arg1->unk_57 = 0; + arg1->unk_42 = 1; } void func_8004FF58(UnkAlA9C *arg0, UnkAl3 *arg1) { From 350917b437ed9e02577ff588cc5a3e821b8ae758 Mon Sep 17 00:00:00 2001 From: Ethan Roseman Date: Tue, 15 Dec 2020 17:20:16 +0900 Subject: [PATCH 58/97] 1 more --- .../code_2d9a0_len_890/func_80052B44.s | 35 ------------------- src/audio.h | 4 +++ src/code_2d9a0_len_890.c | 15 +++++--- 3 files changed, 14 insertions(+), 40 deletions(-) delete mode 100644 asm/nonmatchings/code_2d9a0_len_890/func_80052B44.s diff --git a/asm/nonmatchings/code_2d9a0_len_890/func_80052B44.s b/asm/nonmatchings/code_2d9a0_len_890/func_80052B44.s deleted file mode 100644 index 9272b946d9..0000000000 --- a/asm/nonmatchings/code_2d9a0_len_890/func_80052B44.s +++ /dev/null @@ -1,35 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel func_80052B44 -/* 2DF44 80052B44 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 2DF48 80052B48 AFB00010 */ sw $s0, 0x10($sp) -/* 2DF4C 80052B4C 0080802D */ daddu $s0, $a0, $zero -/* 2DF50 80052B50 AFBF0014 */ sw $ra, 0x14($sp) -/* 2DF54 80052B54 9203003A */ lbu $v1, 0x3a($s0) -/* 2DF58 80052B58 86020040 */ lh $v0, 0x40($s0) -/* 2DF5C 80052B5C 00620018 */ mult $v1, $v0 -/* 2DF60 80052B60 00002812 */ mflo $a1 -/* 2DF64 80052B64 9202003F */ lbu $v0, 0x3f($s0) -/* 2DF68 80052B68 00000000 */ nop -/* 2DF6C 80052B6C 00A20018 */ mult $a1, $v0 -/* 2DF70 80052B70 00002812 */ mflo $a1 -/* 2DF74 80052B74 8E030030 */ lw $v1, 0x30($s0) -/* 2DF78 80052B78 00051383 */ sra $v0, $a1, 0xe -/* 2DF7C 80052B7C 00430018 */ mult $v0, $v1 -/* 2DF80 80052B80 8E040028 */ lw $a0, 0x28($s0) -/* 2DF84 80052B84 00002812 */ mflo $a1 -/* 2DF88 80052B88 000511C3 */ sra $v0, $a1, 7 -/* 2DF8C 80052B8C 0C014AF0 */ jal func_80052BC0 -/* 2DF90 80052B90 A602000C */ sh $v0, 0xc($s0) -/* 2DF94 80052B94 AE020008 */ sw $v0, 8($s0) -/* 2DF98 80052B98 9202003D */ lbu $v0, 0x3d($s0) -/* 2DF9C 80052B9C 92030043 */ lbu $v1, 0x43($s0) -/* 2DFA0 80052BA0 304200FD */ andi $v0, $v0, 0xfd -/* 2DFA4 80052BA4 34630004 */ ori $v1, $v1, 4 -/* 2DFA8 80052BA8 A202003D */ sb $v0, 0x3d($s0) -/* 2DFAC 80052BAC A2030043 */ sb $v1, 0x43($s0) -/* 2DFB0 80052BB0 8FBF0014 */ lw $ra, 0x14($sp) -/* 2DFB4 80052BB4 8FB00010 */ lw $s0, 0x10($sp) -/* 2DFB8 80052BB8 03E00008 */ jr $ra -/* 2DFBC 80052BBC 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/src/audio.h b/src/audio.h index a739a11f2e..bf498a49a3 100644 --- a/src/audio.h +++ b/src/audio.h @@ -432,6 +432,7 @@ extern s32* D_800782F8; extern s32* D_80078348; extern s32* D_80078320; extern s32* D_80078544; +extern s32* D_800785A0; extern s32 D_80078DB0; extern u16 D_80078DB6; @@ -510,6 +511,9 @@ s32 func_80050C30(u32); void func_800511BC(UnkAl834*); void func_800525A0(UnkAl19E0*); +void func_80052614(UnkAl19E0*); +void func_80052660(UnkAl19E0*); +void func_80052B44(UnkAl48*); void func_80052BF8(UnkAl48*, s32*); void func_800532F4(UnkAl30*); diff --git a/src/code_2d9a0_len_890.c b/src/code_2d9a0_len_890.c index 4250ec1ba7..a8583fb218 100644 --- a/src/code_2d9a0_len_890.c +++ b/src/code_2d9a0_len_890.c @@ -34,16 +34,21 @@ void func_80052614(UnkAl19E0* arg0) { } } -INCLUDE_ASM(s32, "code_2d9a0_len_890", func_80052660); +INCLUDE_ASM(void, "code_2d9a0_len_890", func_80052660, UnkAl19E0* arg0); -INCLUDE_ASM(s32, "code_2d9a0_len_890", func_80052B44); +void func_80052B44(UnkAl48 *arg0) { + s32 temp_lo = ((arg0->unk_3A * arg0->unk_40 * arg0->unk_3F) >> 14) * arg0->unk_30; + + arg0->unk_0C = temp_lo >> 7; + arg0->unk_08 = func_80052BC0(arg0->unk_28); + arg0->unk_3D &= ~0x2; + arg0->unk_43 |= 0x4; +} INCLUDE_ASM(s32, "code_2d9a0_len_890", func_80052BC0); -extern s32* D_800785A0; - INCLUDE_ASM(void, "code_2d9a0_len_890", func_80052BF8, UnkAl48* arg0, s32* arg1); -INCLUDE_ASM(s32, "code_2d9a0_len_890", func_80052CFC); +INCLUDE_ASM(s32, "code_2d9a0_len_890", func_80052CFC, UnkAl48* arg0); INCLUDE_ASM(s32, "code_2d9a0_len_890", func_80052E18); From 9720c3c84114e689bf2db39f6225ccdc35ad0397 Mon Sep 17 00:00:00 2001 From: Ethan Roseman Date: Tue, 15 Dec 2020 22:25:19 +0900 Subject: [PATCH 59/97] updates and notes --- src/audio.h | 22 ++++++++++------------ src/code_2e230_len_2190.c | 4 ++-- 2 files changed, 12 insertions(+), 14 deletions(-) diff --git a/src/audio.h b/src/audio.h index bf498a49a3..6d16316f46 100644 --- a/src/audio.h +++ b/src/audio.h @@ -33,14 +33,14 @@ typedef struct UnkAl1 { /* 0x1A */ s16 unk_1A; } UnkAl1; // size unknown (currently 0x1C) -typedef struct UnkAl2 { +typedef struct UnkAl4 { // maybe same as UnkAlC? /* 0x00 */ s16 unk_00; /* 0x02 */ u8 unk_02; /* 0x03 */ s8 unk_03; /* 0x04 */ s8 unk_04; /* 0x05 */ s8 unk_05; /* 0x06 */ s8 unk_06; -} UnkAl2; +} UnkAl4; typedef struct UnkAl3 { /* 0x00 */ u32 unk_00; @@ -183,7 +183,7 @@ typedef struct UnkAl6CC { /* 0x16C */ UnkAlAC unk_16C[8]; } UnkAl6CC; -typedef struct UnkAl12 { +typedef struct UnkAlC { /* 0x0 */ s16 unk_00; /* 0x2 */ s16 unk_02; /* 0x4 */ s8 unk_04; @@ -193,7 +193,7 @@ typedef struct UnkAl12 { /* 0x8 */ s8 unk_08; /* 0x9 */ s8 unk_09; /* 0xA */ s8 unk_0A; -} UnkAl12; +} UnkAlC; typedef struct UnkAl30 { /* 0x00 */ s32* unk_00; @@ -217,8 +217,8 @@ typedef struct UnkAl30 { /* 0x2C */ s32* unk_2C; } UnkAl30; -typedef struct UnkAl48 { - /* 0x00 */ s32 unk_00; +typedef struct UnkAl48 { // TRack? + /* 0x00 */ s32 unk_00; // pointer to something /* 0x04 */ f32 unk_04; /* 0x08 */ s32 unk_08; /* 0x0C */ s16 unk_0C; @@ -277,10 +277,8 @@ typedef struct UnkAl19E0Sub3 { typedef struct UnkAl19E0 { /* 0x0000 */ f32 unk_00; /* 0x0004 */ UnkAl30* unk_04; - /* 0x0008 */ UnkAl12* unk_08; - /* 0x000C */ char unk_0C[0x8]; - /* 0x0014 */ UnkAl2* unk_14; - /* 0x0018 */ char unk_18[0x4]; + /* 0x0008 */ UnkAlC unk_08; + /* 0x0014 */ UnkAl4 unk_14; /* 0x001C */ s32 unk_1C; /* 0x0020 */ UnkTemp2* unk_20; /* 0x0024 */ s32 unk_24; @@ -517,8 +515,8 @@ void func_80052B44(UnkAl48*); void func_80052BF8(UnkAl48*, s32*); void func_800532F4(UnkAl30*); -void func_80053370(UnkAl12*); -void func_800533A8(UnkAl2*); +void func_80053370(UnkAlC*); +void func_800533A8(UnkAl4*); void func_80053654(UnkAl19E0*); void func_80053974(UnkAl1*, s32, s32, s16); void func_80053A18(UnkAl1*); diff --git a/src/code_2e230_len_2190.c b/src/code_2e230_len_2190.c index 1b6f8e7b1d..3adc72b3fe 100644 --- a/src/code_2e230_len_2190.c +++ b/src/code_2e230_len_2190.c @@ -161,7 +161,7 @@ void func_800532F4(UnkAl30* arg0) { arg0->unk_20 = 0.5f; } -void func_80053370(UnkAl12* arg0) { +void func_80053370(UnkAlC* arg0) { arg0->unk_00 = 8208; arg0->unk_02 = 4800; arg0->unk_04 = ~0x80; @@ -173,7 +173,7 @@ void func_80053370(UnkAl12* arg0) { arg0->unk_0A = 0; } -void func_800533A8(UnkAl2* arg0) { +void func_800533A8(UnkAl4* arg0) { arg0->unk_00 = 8208; arg0->unk_02 = ~0x80; arg0->unk_03 = 64; From 2e3fe2875037640a3b14fc6658614f29f0d8f75a Mon Sep 17 00:00:00 2001 From: Ethan Roseman Date: Tue, 15 Dec 2020 22:27:58 +0900 Subject: [PATCH 60/97] data disasm / migration for some files --- asm/data/code_a5dd0_len_114e0.data.s | 264 +++++++++++++++++++++++++++ src/audio.h | 2 +- src/code_d0a70_len_4fe0.c | 29 +++ src/code_d5a50_len_5fd0.c | 17 ++ tools/splat.yaml | 4 +- 5 files changed, 314 insertions(+), 2 deletions(-) create mode 100644 asm/data/code_a5dd0_len_114e0.data.s diff --git a/asm/data/code_a5dd0_len_114e0.data.s b/asm/data/code_a5dd0_len_114e0.data.s new file mode 100644 index 0000000000..cfe8a12bac --- /dev/null +++ b/asm/data/code_a5dd0_len_114e0.data.s @@ -0,0 +1,264 @@ +.include "macro.inc" + +.section .data + +glabel D_8014AFB0 +.word 0x000000FF, 0x00000000, 0x00000000, 0x00000000 + +glabel D_8014AFC0 +.word 0x8014B7F8, 0x8014B910, 0x8014B820, 0x8014B938, 0x8014B848, 0x8014B960, 0x8014B870, 0x8014B988, 0x8014B898, 0x8014BA20, 0x8014B9B0, 0x8014BAC0, 0x8014B8C0, 0x8014B9D8, 0x8014B8E8, 0x8014BA00 + +glabel D_8014B000 +.word 0x8014BB60, 0x8014BC78, 0x8014BB88, 0x8014BCA0, 0x8014BBB0, 0x8014BCC8, 0x8014BBD8, 0x8014BCF8, 0x8014BC00, 0x8014BD88, 0x8014BD18, 0x8014BC28, 0x8014BD40, 0x8014BC50, 0x8014BD68, 0x8014BE78, 0x8014BF90, 0x8014BEA0, 0x8014BFB8, 0x8014BEC8, 0x8014BFE0, 0x8014BEF0, 0x8014C008, 0x8014BF18, 0x8014C098, 0x8014C028, 0x8014BF40, 0x8014C050, 0x8014BF68, 0x8014C078, 0x8014BA48, 0x8014BA70, 0x8014BA98, 0x8014BDB0, 0x8014BDD8, 0x8014BE00, 0x8014C0C0, 0x8014C0E8, 0x8014C110, 0x8014BB10, 0x8014BB38, 0x8014BE28, 0x8014BE50, 0x8014C138, 0x8014C160, 0x00000000 + +glabel D_8014B0B8 +.word 0xFCFFFFFF + +glabel D_8014B0BC +.word 0xFFFE793C, 0xFCFFFFFF, 0xFFFE7838, 0xFCFFFFFF, 0xFFFE7838, 0xFC457FFF, 0xFFFDF838, 0xFC41FFFF, 0xFFFEF838, 0xFC121824, 0xFF33FFFF, 0xFC127FFF, 0xFFFFF238, 0xFC1219FF, 0xFFFFFE38, 0xFC127E0A, 0xF3FFF238, 0xFC121803, 0xFFFFFF78, 0xFC147E28, 0x44FE793C, 0xFC147FFF, 0x4FFE7838, 0xFC147FFF, 0x4FFE7838, 0xFC147E0A, 0x4FFE72F8, 0xFC147E03, 0x4FFE7978, 0xFCFFFFFF, 0xFFFCF279, 0xFCFFFFFF, 0xFFFCF238, 0xFCFFFFFF, 0xFFFCF238, 0xFC157FFF, 0xFFFDF238, 0xFCFFFE03, 0xFFFCF378, 0xFC26A004, 0x1F1093FF, 0xFC26A004, 0x1FFC93F8, 0xFC26A004, 0x1F1093FF, 0xFC26A004, 0x1FFC92F8, 0xFC26A003, 0x1FFC9378, 0xFC26A004, 0x1F1093FF, 0xFC26A004, 0x1FFC93F8, 0xFC26A004, 0x1F1093FF, 0xFC26A004, 0x1FFC92F8, 0xFC26A003, 0x1FFC9378, 0xFC26A004, 0x1F1093FF, 0xFC26A004, 0x1FFC93F8, 0xFC26A004, 0x1F1093FF, 0xFC26A004, 0x1FFC92F8, 0xFC26A003, 0x1FFC9378, 0xFC20A204, 0xFF13FFFF, 0xFC111404, 0xFFFFFFF8, 0xFC20A204, 0xFF13FFFF, 0xFC20A204, 0xFF13FFFF, 0xFC20A203, 0xFF13FF7F, 0xFC20A204, 0xFF13FFFF, 0xFC111404, 0xFFFFFFF8, 0xFC20A204, 0xFF13FFFF, 0xFC20A204, 0xFF13FFFF, 0xFC20A203, 0xFF13FF7F, 0xFC20A204, 0xFF13FFFF, 0xFC111404, 0xFFFFFFF8, 0xFC20A204, 0xFF13FFFF, 0xFC20A204, 0xFF13FFFF, 0xFC20A203, 0xFF13FF7F, 0xFC20A204, 0xFF13FFFF, 0xFC111404, 0xFFFFFFF8, 0xFC20A204, 0xFF13FFFF, 0xFC20A204, 0xFF13FFFF, 0xFC20A203, 0xFF13FF7F, 0xFC20A204, 0xFF13FFFF, 0xFC111404, 0xFFFFFFF8, 0xFC20A204, 0xFF13FFFF, 0xFC20A204, 0xFF13FFFF, 0xFC20A203, 0xFF13FF7F, 0xFC20A204, 0xFF13FFFF, 0xFC111404, 0xFFFFFFF8, 0xFC20A204, 0xFF13FFFF, 0xFC20A204, 0xFF13FFFF, 0xFC20A203, 0xFF13FF7F, 0xFCFF99FF, 0xFFFFAF38, 0xFCFF99FF, 0xFFFFAF38, 0xFCFF99FF, 0xFFFFAF38, 0xFCFF99FF, 0xFFFFAF38, 0xFCFF9883, 0xFFFFAF78, 0xFC15FFFF, 0x2FFD7238, 0xFC15FFFF, 0x2FFD7238, 0xFC15FFFF, 0x2FFD7238, 0xFC15FFFF, 0x2FFD7238, 0xFC15FE03, 0x2FFD7378, 0xFC61E4C1, 0x12FC9238, 0xFC61E4C1, 0x12FC9238, 0xFC61E4C1, 0x12FC9238, 0xFC61E4C1, 0x12FC9238, 0xFC61E4C1, 0x12FC9238, 0xFC61FEC3, 0x11FCF279, 0xFC61FFFF, 0x1FFCF238, 0xFC61FFFF, 0x1FFCF238, 0xFC61FFFF, 0x1FFCF238, 0xFC61FE03, 0x1FFCF378, 0xFC10E228, 0x40C8A449, 0xFC10E228, 0x40C8A449, 0xFC10E228, 0x40C8A449, 0xFC10E228, 0x40C8A449, 0xFC10E228, 0x40C8A449, 0xFC75FEEB, 0xFFFFFDFE, 0xFC75FEEB, 0xFFFFFDFE, 0xFC75FEEB, 0xFFFFFDFE, 0xFC75FEEB, 0xFFFFFDFE, 0xFC75FEEB, 0xFFFFFDFE, 0xFC75FEEB, 0xFFFFFDFE, 0xFC75FEEB, 0xFFFFFDFE, 0xFC75FEEB, 0xFFFFFDFE, 0xFC75FEEB, 0xFFFFFDFE, 0xFC75FEEB, 0xFFFFFDFE, 0xFC75FEEB, 0xFFFFFDFE, 0xFC75FEEB, 0xFFFFFDFE, 0xFC75FEEB, 0xFFFFFDFE, 0xFC75FEEB, 0xFFFFFDFE, 0xFC75FEEB, 0xFFFFFDFE + +glabel D_8014B400 +.word 0xFCFFFFFF + +glabel D_8014B404 +.word 0xFFFE793C, 0xFCFFFFFF, 0xFFFE7838, 0xFCFFFFFF, 0xFFFE7838, 0xFC457FFF, 0xFFFDF838, 0xFC41FFFF, 0xFFFEF838, 0xFC127E24, 0xFFFFF3F9, 0xFC127FFF, 0xFFFFF238, 0xFC127FFF, 0xFFFFF238, 0xFC127E0A, 0xF3FFF238, 0xFC127E03, 0xFFFFF378, 0xFC147E28, 0x44FE793C, 0xFC147FFF, 0x4FFE7838, 0xFC147FFF, 0x4FFE7838, 0xFC147E0A, 0x4FFE72F8, 0xFC147E03, 0x4FFE7978, 0xFCFFFFFF, 0xFFFCF279, 0xFCFFFFFF, 0xFFFCF238, 0xFCFFFFFF, 0xFFFCF238, 0xFC157FFF, 0xFFFDF238, 0xFCFFFE03, 0xFFFCF378, 0xFC26A004, 0x1FFC93FC, 0xFC26A004, 0x1FFC93F8, 0xFC26A004, 0x1FFC93FC, 0xFC26A004, 0x1FFC92F8, 0xFC26A003, 0x1FFC9378, 0xFC26A004, 0x1F1093FF, 0xFC26A004, 0x1FFC93F8, 0xFC26A004, 0x1F1093FF, 0xFC26A004, 0x1FFC92F8, 0xFC26A003, 0x1FFC9378, 0xFC26A004, 0x1F1093FF, 0xFC26A004, 0x1FFC93F8, 0xFC26A004, 0x1F1093FF, 0xFC26A004, 0x1FFC92F8, 0xFC26A003, 0x1FFC9378, 0xFC20A204, 0xFFFFFFF8, 0xFC111404, 0xFFFFFFF8, 0xFC20A204, 0xFFFFFFF8, 0xFC20A204, 0xFFFFFFF8, 0xFC20A203, 0xFF13FF7F, 0xFC20A204, 0xFFFFFFF8, 0xFC111404, 0xFFFFFFF8, 0xFC20A204, 0xFFFFFFF8, 0xFC20A204, 0xFFFFFFF8, 0xFC20A203, 0xFFFFFF78, 0xFC20A204, 0xFFFFFFF8, 0xFC111404, 0xFFFFFFF8, 0xFC20A204, 0xFFFFFFF8, 0xFC20A204, 0xFFFFFFF8, 0xFC20A203, 0xFFFFFF78, 0xFC20A204, 0xFFFFFFF8, 0xFC111404, 0xFFFFFFF8, 0xFC20A204, 0xFFFFFFF8, 0xFC20A204, 0xFFFFFFF8, 0xFC20A203, 0xFFFFFF78, 0xFC20A204, 0xFFFFFFF8, 0xFC111404, 0xFFFFFFF8, 0xFC20A204, 0xFFFFFFF8, 0xFC20A204, 0xFFFFFFF8, 0xFC20A203, 0xFFFFFF78, 0xFC20A204, 0xFFFFFFF8, 0xFC111404, 0xFFFFFFF8, 0xFC20A204, 0xFFFFFFF8, 0xFC20A204, 0xFFFFFFF8, 0xFC20A203, 0xFFFFFF78, 0xFCFF99FF, 0xFFFFAF38, 0xFCFF99FF, 0xFFFFAF38, 0xFCFF99FF, 0xFFFFAF38, 0xFCFF99FF, 0xFFFFAF38, 0xFCFF9883, 0xFFFFAF78, 0xFC15FFFF, 0x2FFD7238, 0xFC15FFFF, 0x2FFD7238, 0xFC15FFFF, 0x2FFD7238, 0xFC15FFFF, 0x2FFD7238, 0xFC15FE03, 0x2FFD7378, 0xFC61E4C1, 0x12FC9238, 0xFC61E4C1, 0x12FC9238, 0xFC61E4C1, 0x12FC9238, 0xFC61E4C1, 0x12FC9238, 0xFC61E4C1, 0x12FC9238, 0xFC61FEC3, 0x11FCF279, 0xFC61FFFF, 0x1FFCF238, 0xFC61FFFF, 0x1FFCF238, 0xFC61FFFF, 0x1FFCF238, 0xFC61FE03, 0x1FFCF378, 0xFC10E228, 0x40C8A449, 0xFC10E228, 0x40C8A449, 0xFC10E228, 0x40C8A449, 0xFC10E228, 0x40C8A449, 0xFC10E228, 0x40C8A449, 0xFC75FEEB, 0xFFFFFDFE, 0xFC75FEEB, 0xFFFFFDFE, 0xFC75FEEB, 0xFFFFFDFE, 0xFC75FEEB, 0xFFFFFDFE, 0xFC75FEEB, 0xFFFFFDFE, 0xFC75FEEB, 0xFFFFFDFE, 0xFC75FEEB, 0xFFFFFDFE, 0xFC75FEEB, 0xFFFFFDFE, 0xFC75FEEB, 0xFFFFFDFE, 0xFC75FEEB, 0xFFFFFDFE, 0xFC75FEEB, 0xFFFFFDFE, 0xFC75FEEB, 0xFFFFFDFE, 0xFC75FEEB, 0xFFFFFDFE, 0xFC75FEEB, 0xFFFFFDFE, 0xFC75FEEB, 0xFFFFFDFE + +glabel D_8014B748 +.word 0x8028E000 + +glabel D_8014B74C +.byte 0x00 + +glabel D_8014B74D +.byte 0x00 + +glabel D_8014B74E +.byte 0x00 + +glabel D_8014B74F +.byte 0x00 + +glabel D_8014B750 +.byte 0x00 + +glabel D_8014B751 +.byte 0x00 + +glabel D_8014B752 +.byte 0x00 + +glabel D_8014B753 +.byte 0x00 + +glabel D_8014B754 +.byte 0x00 + +glabel D_8014B755 +.byte 0x00 + +glabel D_8014B756 +.short 0x0000 + +glabel D_8014B758 +.word 0x000003B6 + +glabel D_8014B75C +.word 0x000003E8 + +glabel D_8014B760 +.byte 0xFF + +glabel D_8014B761 +.byte 0xFF + +glabel D_8014B762 +.byte 0xFF + +glabel D_8014B763 +.byte 0x00 + +glabel D_8014B764 +.byte 0x00 + +glabel D_8014B765 +.byte 0x00, 0x00, 0x00 + +glabel D_8014B768 +.word 0x00010000, 0x00000000, 0x00000001, 0x00000000, 0x00000000, 0x00010000, 0x00000000, 0x00000001, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000 + +glabel D_8014B7A8 +.word 0x00000006, 0x00000000, 0x00000005, 0x00020000, 0x00000004, 0x00030000, 0x00000003, 0x00038000, 0x00000002, 0x0003C000, 0x00000001, 0x0003E000, 0x00000000, 0x0003F000, 0x00000000, 0x0003F800, 0x00000000, 0x00000000 + +glabel D_8014B7F0 +.word 0x00000000, 0x00000000 + +glabel D_8014B7F8 +.word 0xE200001C, 0x00552078, 0xE3000A01, 0x00000000, 0xD9C0F9FB, 0x00000000, 0xD9FFFFFF, 0x00220405, 0xDF000000, 0x00000000 + +glabel D_8014B820 +.word 0xE200001C, 0x00552D58, 0xE3000A01, 0x00000000, 0xD9C0F9FB, 0x00000000, 0xD9FFFFFF, 0x00220405, 0xDF000000, 0x00000000 + +glabel D_8014B848 +.word 0xE200001C, 0x00552478, 0xE3000A01, 0x00000000, 0xD9C0F9FB, 0x00000000, 0xD9FFFFFF, 0x00220405, 0xDF000000, 0x00000000 + +glabel D_8014B870 +.word 0xE200001C, 0x00553078, 0xE3000A01, 0x00000000, 0xD9C0F9FB, 0x00000000, 0xD9FFFFFF, 0x00220005, 0xDF000000, 0x00000000 + +glabel D_8014B898 +.word 0xE200001C, 0x005049D8, 0xE3000A01, 0x00000000, 0xD9C0F9FB, 0x00000000, 0xD9FFFFFF, 0x00220005, 0xDF000000, 0x00000000 + +glabel D_8014B8C0 +.word 0xE200001C, 0x00504DD8, 0xE3000A01, 0x00000000, 0xD9C0F9FB, 0x00000000, 0xD9FFFFFF, 0x00220005, 0xDF000000, 0x00000000 + +glabel D_8014B8E8 +.word 0xE200001C, 0x005045D8, 0xE3000A01, 0x00000000, 0xD9C0F9FB, 0x00000000, 0xD9FFFFFF, 0x00220005, 0xDF000000, 0x00000000, 0xE200001C, 0x00552230, 0xE3000A01, 0x00000000, 0xD9C0F9FB, 0x00000000, 0xD9FFFFFF, 0x00220405, 0xDF000000, 0x00000000, 0xE200001C, 0x00552E10, 0xE3000A01, 0x00000000, 0xD9C0F9FB, 0x00000000, 0xD9FFFFFF, 0x00220405, 0xDF000000, 0x00000000, 0xE200001C, 0x00552478, 0xD9C0F9FB, 0x00000000, 0xD9FFFFFF, 0x00220405, 0xFCFFFFFF, 0xFFFE793C, 0xDF000000, 0x00000000 + +glabel D_8014B988 +.word 0xE200001C, 0x00553078, 0xE3000A01, 0x00000000, 0xD9C0F9FB, 0x00000000, 0xD9FFFFFF, 0x00220405, 0xDF000000, 0x00000000 + +glabel D_8014B9B0 +.word 0xE200001C, 0x00504A50, 0xE3000A01, 0x00000000, 0xD9C0F9FB, 0x00000000, 0xD9FFFFFF, 0x00220005, 0xDF000000, 0x00000000 + +glabel D_8014B9D8 +.word 0xE200001C, 0x00504F50, 0xE3000A01, 0x00000000, 0xD9C0F9FB, 0x00000000, 0xD9FFFFFF, 0x00220005, 0xDF000000, 0x00000000 + +glabel D_8014BA00 +.word 0xE3000A01, 0x00000000, 0xD9C0F9FB, 0x00000000, 0xD9FFFFFF, 0x00220005, 0xDF000000, 0x00000000, 0xE200001C, 0x005049F8, 0xE3000A01, 0x00000000, 0xD9C0F9FB, 0x00000000, 0xD9FFFFFF, 0x00220005, 0xDF000000, 0x00000000 + +glabel D_8014BA48 +.word 0xE200001C, 0x00552048, 0xE3000A01, 0x00000000, 0xD9C0F9FA, 0x00000000, 0xD9FFFFFF, 0x00220404, 0xDF000000, 0x00000000 + +glabel D_8014BA70 +.word 0xE200001C, 0x00553048, 0xE3000A01, 0x00000000, 0xD9C0F9FA, 0x00000000, 0xD9FFFFFF, 0x00220004, 0xDF000000, 0x00000000 + +glabel D_8014BA98 +.word 0xE200001C, 0x005041C8, 0xE3000A01, 0x00000000, 0xD9C0F9FA, 0x00000000, 0xD9FFFFFF, 0x00220004, 0xDF000000, 0x00000000, 0xE200001C, 0x005049F8, 0xE3000A01, 0x00000000, 0xD9C0F9FB, 0x00000000, 0xD9FFFFFF, 0x00220005, 0xDF000000, 0x00000000 + +glabel D_8014BAE8 +.word 0xE200001C, 0x00504B40, 0xE3000A01, 0x00000000, 0xD9C0F9FB, 0x00000000, 0xD9FFFFFF, 0x00220005, 0xDF000000, 0x00000000, 0xE200001C, 0x00504B50, 0xE3000A01, 0x00000000, 0xD9C0F9FB, 0x00000000, 0xD9FFFFFF, 0x00220005, 0xDF000000, 0x00000000, 0xE200001C, 0x00504340, 0xE3000A01, 0x00000000, 0xD9C0F9FB, 0x00000000, 0xD9FFFFFF, 0x00220005, 0xDF000000, 0x00000000, 0xE200001C, 0x0C192078, 0xE3000A01, 0x00100000, 0xD9C0F9FB, 0x00000000, 0xD9FFFFFF, 0x00220405, 0xDF000000, 0x00000000, 0xE200001C, 0x0C192D58, 0xE3000A01, 0x00100000, 0xD9C0F9FB, 0x00000000, 0xD9FFFFFF, 0x00220405, 0xDF000000, 0x00000000, 0xE200001C, 0x0C192478, 0xE3000A01, 0x00100000, 0xD9C0F9FB, 0x00000000, 0xD9FFFFFF, 0x00220405, 0xDF000000, 0x00000000 + +glabel D_8014BBD8 +.word 0xE200001C, 0x0C193078, 0xE3000A01, 0x00100000, 0xD9C0F9FB, 0x00000000, 0xD9FFFFFF, 0x00220005, 0xDF000000, 0x00000000, 0xE200001C, 0x0C1849D8, 0xE3000A01, 0x00100000, 0xD9C0F9FB, 0x00000000, 0xD9FFFFFF, 0x00220005, 0xDF000000, 0x00000000, 0xE200001C, 0x0C184DD8, 0xE3000A01, 0x00100000, 0xD9C0F9FB, 0x00000000, 0xD9FFFFFF, 0x00220005, 0xDF000000, 0x00000000, 0xE200001C, 0x0C1845D8, 0xE3000A01, 0x00100000, 0xD9C0F9FB, 0x00000000, 0xD9FFFFFF, 0x00220005, 0xDF000000, 0x00000000, 0xE200001C, 0x0C192230, 0xE3000A01, 0x00100000, 0xD9C0F9FB, 0x00000000, 0xD9FFFFFF, 0x00220405, 0xDF000000, 0x00000000, 0xE200001C, 0x0C192E10, 0xE3000A01, 0x00100000, 0xD9C0F9FB, 0x00000000, 0xD9FFFFFF, 0x00220405, 0xDF000000, 0x00000000, 0xE200001C, 0x0C192478, 0xE3000A01, 0x00100000, 0xD9C0F9FB, 0x00000000, 0xD9FFFFFF, 0x00220405, 0xFCFFFFFF, 0xFFFE793C, 0xDF000000, 0x00000000, 0xE200001C, 0x0C193078, 0xE3000A01, 0x00100000, 0xD9C0F9FB, 0x00000000, 0xDF000000, 0x00000000, 0xE200001C, 0x0C184A50, 0xE3000A01, 0x00100000, 0xD9C0F9FB, 0x00000000, 0xD9FFFFFF, 0x00220005, 0xDF000000, 0x00000000, 0xE200001C, 0x0C184E50, 0xE3000A01, 0x00100000, 0xD9C0F9FB, 0x00000000, 0xD9FFFFFF, 0x00220005, 0xDF000000, 0x00000000, 0xE3000A01, 0x00100000, 0xD9C0F9FB, 0x00000000, 0xD9FFFFFF, 0x00220005, 0xDF000000, 0x00000000, 0xE200001C, 0x0C1849D8, 0xE3000A01, 0x00100000, 0xD9C0F9FB, 0x00000000, 0xD9FFFFFF, 0x00220005, 0xDF000000, 0x00000000, 0xE200001C, 0x0C192048, 0xE3000A01, 0x00100000, 0xD9C0F9FA, 0x00000000, 0xD9FFFFFF, 0x00220404, 0xDF000000, 0x00000000, 0xE200001C, 0x0C193048, 0xE3000A01, 0x00100000, 0xD9C0F9FA, 0x00000000, 0xD9FFFFFF, 0x00220004, 0xDF000000, 0x00000000, 0xE200001C, 0x0C1841C8, 0xE3000A01, 0x00100000, 0xD9C0F9FA, 0x00000000, 0xD9FFFFFF, 0x00220004, 0xDF000000, 0x00000000, 0xE200001C, 0x0C184B50, 0xE3000A01, 0x00100000, 0xD9C0F9FB, 0x00000000, 0xD9FFFFFF, 0x00220005, 0xDF000000, 0x00000000, 0xE200001C, 0x0C184340, 0xE3000A01, 0x00100000, 0xD9C0F9FB, 0x00000000, 0xD9FFFFFF, 0x00220005, 0xDF000000, 0x00000000 + +glabel D_8014BE78 +.word 0xE200001C, 0xC8112078, 0xE3000A01, 0x00100000, 0xD9C0F9FB, 0x00000000, 0xD9FFFFFF, 0x00230405, 0xDF000000, 0x00000000 + +glabel D_8014BEA0 +.word 0xE200001C, 0xC8112D58, 0xE3000A01, 0x00100000, 0xD9C0F9FB, 0x00000000, 0xD9FFFFFF, 0x00230405, 0xDF000000, 0x00000000 + +glabel D_8014BEC8 +.word 0xE200001C, 0xC8112478, 0xE3000A01, 0x00100000, 0xD9C0F9FB, 0x00000000, 0xD9FFFFFF, 0x00230405, 0xDF000000, 0x00000000 + +glabel D_8014BEF0 +.word 0xE200001C, 0xC8113078, 0xE3000A01, 0x00100000, 0xD9C0F9FB, 0x00000000, 0xD9FFFFFF, 0x00230005, 0xDF000000, 0x00000000 + +glabel D_8014BF18 +.word 0xE200001C, 0xC81049D8, 0xE3000A01, 0x00100000, 0xD9C0F9FB, 0x00000000, 0xD9FFFFFF, 0x00230005, 0xDF000000, 0x00000000 + +glabel D_8014BF40 +.word 0xE200001C, 0xC8104DD8, 0xE3000A01, 0x00100000, 0xD9C0F9FB, 0x00000000, 0xD9FFFFFF, 0x00230005, 0xDF000000, 0x00000000 + +glabel D_8014BF68 +.word 0xE200001C, 0xC81045D8, 0xE3000A01, 0x00100000, 0xD9C0F9FB, 0x00000000, 0xD9FFFFFF, 0x00230005, 0xDF000000, 0x00000000, 0xE200001C, 0xC8112230, 0xE3000A01, 0x00100000, 0xD9C0F9FB, 0x00000000, 0xD9FFFFFF, 0x00230405, 0xDF000000, 0x00000000, 0xE200001C, 0xC8112E10, 0xE3000A01, 0x00100000, 0xD9C0F9FB, 0x00000000, 0xD9FFFFFF, 0x00230405, 0xDF000000, 0x00000000, 0xE200001C, 0xC8112478, 0xE3000A01, 0x00100000, 0xD9C0F9FB, 0x00000000, 0xD9FFFFFF, 0x00230405, 0xDF000000, 0x00000000, 0xE200001C, 0xC8113078, 0xE3000A01, 0x00100000, 0xD9C0F9FB, 0x00000000, 0xDF000000, 0x00000000, 0xE200001C, 0xC8104A50, 0xE3000A01, 0x00100000, 0xD9C0F9FB, 0x00000000, 0xD9FFFFFF, 0x00230005, 0xDF000000, 0x00000000, 0xE200001C, 0xC8104E50, 0xE3000A01, 0x00100000, 0xD9C0F9FB, 0x00000000, 0xD9FFFFFF, 0x00230005, 0xDF000000, 0x00000000, 0xE3000A01, 0x00100000, 0xD9C0F9FB, 0x00000000, 0xD9FFFFFF, 0x00230005, 0xDF000000, 0x00000000, 0xE200001C, 0xC81049D8, 0xE3000A01, 0x00100000, 0xD9C0F9FB, 0x00000000, 0xD9FFFFFF, 0x00230005, 0xDF000000, 0x00000000, 0xE200001C, 0xC8112048, 0xE3000A01, 0x00100000, 0xD9C0F9FA, 0x00000000, 0xD9FFFFFF, 0x00230404, 0xDF000000, 0x00000000, 0xE200001C, 0xC8113048, 0xE3000A01, 0x00100000, 0xD9C0F9FA, 0x00000000, 0xD9FFFFFF, 0x00230004, 0xDF000000, 0x00000000, 0xE200001C, 0xC81041C8, 0xE3000A01, 0x00100000, 0xD9C0F9FA, 0x00000000, 0xD9FFFFFF, 0x00230004, 0xDF000000, 0x00000000, 0xE200001C, 0xC8104B50, 0xE3000A01, 0x00100000, 0xD9C0F9FB, 0x00000000, 0xD9FFFFFF, 0x00220005, 0xDF000000, 0x00000000, 0xE200001C, 0xC8104340, 0xE3000A01, 0x00100000, 0xD9C0F9FB, 0x00000000, 0xD9FFFFFF, 0x00220005, 0xDF000000, 0x00000000 + +glabel D_8014C188 +.word 0xFFFE7960, 0x000F4240, 0x000F4240, 0x000F4240, 0x00000000, 0x000F4240, 0x000F4240, 0x000F4240, 0x00000000, 0x000F4240, 0x000F4240, 0x000F4240, 0x00000000, 0x000F4240, 0x000F4240, 0x000F4240, 0x00000000, 0x007A1200, 0x007A1200, 0x007A1200, 0x00000000, 0x007A1200, 0x007270E0, 0x007270E0, 0x007270E0, 0x00000000, 0x006ACFC0, 0x006ACFC0, 0x006ACFC0, 0x006ACFC0, 0x00632EA0, 0x00632EA0, 0x00632EA0, 0x00000000, 0x005B8D80, 0x005B8D80, 0x005B8D80, 0x00000000, 0x0053EC60, 0x0053EC60, 0x0053EC60, 0x007A1200, 0x003D0900, 0x0040D990, 0x0044AA20, 0x0044AA20, 0x007A1200, 0x000AAE60, 0x00000000, 0x00000000 + +glabel D_8014C250 +.word 0x0001003C, 0x00000000, 0x00000000, 0x00000000 + +glabel D_8014C260 +.word 0x00000000, 0x00000000, 0xFFFFFF00, 0xFFFFFF00 + +glabel D_8014C270 +.word 0x00000000, 0x00000000, 0x00000000, 0x00000000 + +glabel D_8014C280 +.short 0x0280, 0x01E0, 0x01FF, 0x0000, 0x0280, 0x01E0, 0x01FF, 0x0000, 0x53FD, 0x0000, 0xF0FD + +glabel D_8014C296 +.short 0x0000 + +glabel D_8014C298 +.word 0xFFF00009, 0x00000000, 0x00000000, 0xFFFFFFFF, 0x00100009, 0x00000000, 0x04000000, 0xFFFFFFFF, 0xFFF0FFF7, 0x00000000, 0x00000240, 0xFFFFFFFF, 0x0010FFF7, 0x00000000, 0x04000240, 0xFFFFFFFF + +glabel D_8014C2D8 +.word 0xE3000A01, 0x00100000, 0xD9FDF9FF, 0x00000000, 0xD9FFFFFF, 0x00200004, 0xE3001801, 0x000000C0, 0xE3001A01, 0x00000030, 0xE2001E01, 0x00000000, 0xD7000002, 0xFFFFFFFF, 0xE3000C00, 0x00080000, 0xE3001001, 0x00000000, 0xE3001201, 0x00003000, 0xE200001C, 0x0C184B40, 0xFC11FFFF, 0xFFFFF438, 0xDF000000, 0x00000000 + +glabel D_8014C340 +.word 0x802EF0D0, 0x8010100B, 0x080B0B0B, 0x0B0B0B0B, 0x0B0B0000, 0x802EF0D0, 0x80101009, 0x08090909, 0x09090909, 0x09090000 + +glabel D_8014C368 +.word 0xE7000000, 0x00000000, 0xE3000A01, 0x00000000, 0xE3001201, 0x00000000, 0xE3000C00, 0x00000000, 0xE3001801, 0x000000C0, 0xE3001A01, 0x00000030, 0xE3001700, 0x00000000, 0xE2001E01, 0x00000000, 0xE3001001, 0x00008000, 0xD7000002, 0xFFFFFFFF, 0xDF000000, 0x00000000 + +glabel D_8014C3C0 +.word 0x00010000, 0x00000000, 0x00000000, 0xFFFFF8FF, 0x00200000, 0x00000000, 0x04000000, 0xFFFFF8FF, 0x0001FFC0, 0x00000000, 0x00000800, 0xBFB8B0FF, 0x0020FFC0, 0x00000000, 0x04000800, 0xBFB8B0FF + +glabel D_8014C400 +.word 0x00200000, 0x00000000, 0x00000000, 0xFFFFF8FF, 0x00E10000, 0x00000000, 0x01000000, 0xFFFFF8FF, 0x0020FFC0, 0x00000000, 0x00000800, 0xBFB8B0FF, 0x00E1FFC0, 0x00000000, 0x01000800, 0xBFB8B0FF + +glabel D_8014C440 +.word 0x00E10000, 0x00000000, 0x00000000, 0xFFFFF8FF, 0x01000000, 0x00000000, 0x04000000, 0xFFFFF8FF, 0x00E1FFC0, 0x00000000, 0x00000800, 0xBFB8B0FF, 0x0100FFC0, 0x00000000, 0x04000800, 0xBFB8B0FF + +glabel D_8014C480 +.word 0xFFF1001E, 0x00000000, 0x00000000, 0xBFB8B0FF, 0x000F001E, 0x00000000, 0x01E00000, 0xBFB8B0FF, 0xFFFF0000, 0x00000000, 0x000001E0, 0xBFB8B0FF, 0x00010000, 0x00000000, 0x01E001E0, 0xBFB8B0FF + +glabel D_8014C4C0 +.word 0xFFF1001E, 0x00000000, 0x00000000, 0xBFB8B0FF, 0x000F001E, 0x00000000, 0x01E00000, 0xBFB8B0FF, 0xFFFF0000, 0x00000000, 0x000001E0, 0xBFB8B0FF, 0x00010000, 0x00000000, 0x01E001E0, 0xBFB8B0FF + +glabel D_8014C500 +.word 0xE3000A01, 0x00000000, 0xE200001C, 0x0F0A7008, 0xFCFFFFFF, 0xFFFCF279, 0xE3001201, 0x00003000, 0xD7000002, 0xFFFFFFFF, 0xE3000C00, 0x00000000, 0xE3001801, 0x000000C0, 0xE3001A01, 0x00000030, 0xE3000F00, 0x00000000, 0xE3001001, 0x00008000, 0xE3000D01, 0x00000000, 0xE3001402, 0x00000C00, 0xE3001700, 0x00000000, 0xE2001E01, 0x00000000, 0x00000000, 0x00000000, 0xDF000000, 0x00000000 + +glabel D_8014C580 +.word 0x32506469, 0x64000000 + +glabel D_8014C588 +.word 0x69644D39, 0x281B1008, 0x03000000, 0x00000000, 0x00000000, 0x00000000, 0xFFF40000, 0x00000000, 0x23002300, 0x000000FF, 0x000B0000, 0x00000000, 0x20002300, 0x000000FF, 0x000B0017, 0x00000000, 0x20002000, 0x000000FF, 0xFFF40017, 0x00000000, 0x23002000, 0x000000FF, 0xFFF00000, 0x00000000, 0x24002400, 0x000000FF, 0x000F0000, 0x00000000, 0x20002400, 0x000000FF, 0x000F001F, 0x00000000, 0x20002000, 0x000000FF, 0xFFF0001F, 0x00000000, 0x24002000, 0x000000FF + +glabel D_8014C620 +.word 0xE7000000, 0x00000000, 0xD7000002, 0xFFFFFFFF, 0xFCFFFFFF, 0xFFFCF279, 0xE3000C00, 0x00080000, 0xE3000D01, 0x00000000, 0xE3000F00, 0x00000000, 0xE3001001, 0x00000000, 0xE3001201, 0x00002000, 0xE3001402, 0x00000C00, 0xE3001001, 0x00008000, 0xDF000000, 0x00000000 + +glabel D_8014C678 +.word 0xD9DDFBFF, 0x00000000, 0x01004008, 0x8014C5A0, 0x06000204, 0x00000406, 0xE7000000, 0x00000000, 0xDF000000, 0x00000000 + +glabel D_8014C6A0 +.word 0xD9DDFBFF, 0x00000000, 0x01004008, 0x8014C5E0, 0x06000204, 0x00000406, 0xE7000000, 0x00000000, 0xDF000000, 0x00000000, 0xFFFFFF00, 0xFFFFFF00 + +glabel D_8014C6D0 +.word 0x00000000, 0x00000000, 0x00000000, 0x00000000 + +glabel D_8014C6E0 +.word 0x00200028 + +glabel D_8014C6E4 +.word 0x00080004, 0x00000000, 0x00000000 + +glabel D_8014C6F0 +.word 0x00000002, 0x00000000, 0x00000000, 0x00000000, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFCA, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFC86, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFD853, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFA621, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFD8410, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFA5200, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFD73100, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFA52000, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFC731000, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFA520000, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xC7310000, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xA5200000, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFC, 0x73100000, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFE9, 0x52000000, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFC7, 0x31000000, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFE94, 0x10000000, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFA62, 0x10000000, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFEA731, 0x00000000, 0xFFFFFFFF, 0xFFFFFFFE, 0xDCA86310, 0x00000000, 0xFFFFFFFF, 0xEDCBAA98, 0x76542100, 0x00000000, 0xFFFDCBA9, 0x87665443, 0x32211000, 0x00000000, 0xFEB86544, 0x33222111, 0x10000000, 0x00000000, 0xFC853211, 0x11000000, 0x00000000, 0x00000000, 0xFD842100, 0x00000000, 0x00000000, 0x00000000, 0xFEA63100, 0x00000000, 0x00000000, 0x00000000, 0xFFD85200, 0x00000000, 0x00000000, 0x00000000, 0xFFFC8420, 0x00000000, 0x00000000, 0x00000000, 0xFFFFC741, 0x00000000, 0x00000000, 0x00000000, 0xFFFFFB73, 0x10000000, 0x00000000, 0x00000000, 0xFFFFFFA6, 0x31000000, 0x00000000, 0x00000000, 0xFFFFFFEA, 0x63100000, 0x00000000, 0x00000000, 0xFFFFFFFE, 0x95210000, 0x00000000, 0x00000000, 0xFFFFFFFF, 0xD9521000, 0x00000000, 0x00000000, 0xFFFFFFFF, 0xFD852000, 0x00000000, 0x00000000, 0xFFFFFFFF, 0xFFC84200, 0x00000000, 0x00000000, 0xFFFFFFFF, 0xFFFC7310, 0x00000000, 0x00000000, 0xFFFFFFFF, 0xFFFFB631, 0x00000000, 0x00000000, 0xFFFFFFFF, 0xFFFFE941, 0x00000000, 0x00000000, 0xFFFFFFFF, 0xFFFFFB62, 0x00000000, 0x00000000, 0xFFFFFFFF, 0xFFFFFC62, 0x00000000, 0x00000000, 0xFFFFFFFF, 0xFFFFFC73, 0x00000000, 0x00000000, 0xFFFFFFFF, 0xFFFFFC72, 0x00000000, 0x00000000, 0xFFFFFFFF, 0xFFFFFC62, 0x00000000, 0x00000000, 0xFFFFFFFF, 0xFFFFFB52, 0x00000000, 0x00000000, 0xFFFFFFFF, 0xFFFFFA51, 0x00000000, 0x00000000, 0xFFFFFFFF, 0xFFFFF941, 0x00000000, 0x00000000, 0xFFFFFFFF, 0xFFFFE941, 0x00000000, 0x00000000, 0xFFFFFFFF, 0xFFFFE831, 0x00000000, 0x00000000, 0xFFFFFFFF, 0xFFFFD731, 0x00000000, 0x00000000, 0xFFFFFFFF, 0xFFFFC620, 0x00000000, 0x00011223, 0xFFFFFFFF, 0xFFFFB620, 0x00000000, 0x01234567, 0xFFFFFFFF, 0xFFFFA520, 0x00000001, 0x23579ACC, 0xFFFFFFFF, 0xFFFFA510, 0x00001134, 0x68ACEFFF, 0xFFFFFFFF, 0xFFFF9410, 0x00123569, 0xBDFFFFFF, 0xFFFFFFFF, 0xFFFF9521, 0x224579CE, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFA644, 0x568ADFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFC988, 0x9BEFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFDDD, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFDCCCCCD, 0xEFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFEB, 0x97655567, 0x9BCEFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFDA86, 0x42111112, 0x3569CEFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFDA7532, 0x10000000, 0x012469CF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xEB742100, 0x00000000, 0x0001247C, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFC, 0x85310000, 0x00000000, 0x00000137, 0xDFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFEB7, 0x41000000, 0x00000000, 0x00000014, 0x9FFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFD963, 0x10000000, 0x00000000, 0x00000002, 0x6CFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFC8420, 0x00000000, 0x00000000, 0x00000001, 0x49FFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFC74100, 0x00000000, 0x00000000, 0x00000000, 0x27DFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFC731000, 0x00000000, 0x00000000, 0x00000000, 0x26CFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xC7310000, 0x00000000, 0x00000000, 0x00000000, 0x26CFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFC, 0x73100000, 0x00000000, 0x00000000, 0x00000000, 0x15CFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFEC8, 0x41000000, 0x00000000, 0x00000000, 0x00000000, 0x15BFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFDCBA964, 0x10000000, 0x00000000, 0x00000000, 0x00000000, 0x15CFFFFF, 0xFFFFFFFF, 0xFFFFFFFC, 0xA7654321, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x16CFFFFF, 0xFFFFFFFF, 0xFFFFFDA7, 0x42111100, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x16BFFFFF, 0xFFFFFFFF, 0xFFFFC842, 0x10000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x149CEEDD, 0xEEFFFFFF, 0xFFFC7310, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x02578877, 0x889ACFFF, 0xFFD83100, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x01233322, 0x33358DFF, 0xFFA51000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00125BFF, 0xFE830000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00025BFF, 0xFC620000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00138DFF, 0xFC510000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x1247CFFF, 0xFC510000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000012, 0x469CFFFF, 0xFC510000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00012346, 0x9CEFFFFF, 0xFC510000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x013468AC, 0xEFFFFFFF, 0xFC510000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x1479BDFF, 0xFFFFFFFF, 0xFD720000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x37BEFFFF, 0xFFFFFFFF, 0xFE941000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000001, 0x38DFFFFF, 0xFFFFFFFF, 0xFFD84100, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x27DFFFFF, 0xFFFFFFFF, 0xFFFC7310, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x26ADDBAA, 0xABDFFFFF, 0xFFFFA520, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x14787544, 0x457AEFFF, 0xFFFEA520, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x02342111, 0x1135AEFF, 0xFFFB7310, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00110000, 0x00026BFF, 0xFFC73100, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000137DF, 0xFE941000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000016CF, 0xFD720000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000015BF, 0xFC610000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000015CF, 0xFC510000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000027DF, 0xFC510000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00014AFF, 0xFC510000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00138DFF, 0xFD720000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x1147CFFF, 0xFF941000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000012, 0x358CFFFF, 0xFFD84100, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000136, 0x8BDFFFFF, 0xFFFC8421, 0x11110000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x0000026B, 0xEFFFFFFF, 0xFFFFDA75, 0x55442100, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x0000149E, 0xFFFFFFFF, 0xFFFFFFDC, 0xBBA97310, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000015BF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFC731, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000027CF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFB62, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00025AFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFA5, 0x20000000, 0x00000000, 0x00000000, 0x00000000, 0x01259EFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFE9, 0x52000000, 0x00000000, 0x00000000, 0x00000001, 0x2469DFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFD, 0x95310000, 0x00000000, 0x00000000, 0x00000013, 0x69CEFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xEB742000, 0x00000000, 0x00000000, 0x00000025, 0xAEFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFC85310, 0x00000000, 0x00000000, 0x00000259, 0xEFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFEA753, 0x11000000, 0x00000000, 0x0001359E, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFDA7, 0x53211000, 0x00000000, 0x11347AEF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFD, 0xB9754333, 0x33333333, 0x457ACFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFEDBA988, 0x88888889, 0xABDFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFEE, 0xEEEEEEEF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFEDDDCCC, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFEDC, 0xBBAA9999, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFDCBA9, 0x88776666, 0xFFFFFFFF, 0xFFFFFFFF, 0xFDCB9876, 0x65443333, 0xFFFFFFFF, 0xFFFFFFFE, 0xCA987643, 0x32111000, 0xFFFFFFFF, 0xFFFFFFDB, 0x98654321, 0x00000000, 0xFFFFFFFF, 0xFFFFECA8, 0x75421000, 0x00000000, 0xFFFFFFFF, 0xFFFDBA86, 0x43100000, 0x00000000, 0xFFFFFFFF, 0xFFDB9753, 0x20000000, 0x00000000, 0xFFFFFFFF, 0xFDB97531, 0x00000000, 0x00000000, 0xFFFFFFFF, 0xDB974310, 0x00000000, 0x00000000, 0xFFFFFFFE, 0xB9743100, 0x00000000, 0x00000000, 0xFFFFFFFC, 0xA7531000, 0x00000000, 0x00000000, 0xFFFFFFDA, 0x85310000, 0x00000000, 0x00000000, 0xFFFFFEB8, 0x63100000, 0x00000000, 0x00000000, 0xFFFFFC97, 0x42000000, 0x00000000, 0x00000000, 0xFFFFDA85, 0x30000000, 0x00000000, 0x00000000, 0xFFFFC964, 0x10000000, 0x00000000, 0x00000000, 0xFFFDB852, 0x00000000, 0x00000000, 0x00000000, 0xFFFC9741, 0x00000000, 0x00000000, 0x00000000, 0xFFEB8630, 0x00000000, 0x00000000, 0x00000000, 0xFFDA7420, 0x00000000, 0x00000000, 0x00000000, 0xFFC96310, 0x00000000, 0x00000000, 0x00000000, 0xFFB86300, 0x00000000, 0x00000000, 0x00000000, 0xFEB85200, 0x00000000, 0x00000000, 0x00000000, 0xFDA74100, 0x00000000, 0x00000000, 0x00000000, 0xFDA74100, 0x00000000, 0x00000000, 0x00000000, 0xFD963100, 0x00000000, 0x00000000, 0x00000000, 0xFC963000, 0x00000000, 0x00000000, 0x00000000, 0xFC963000, 0x00000000, 0x00000000, 0x00000000, 0xFC963000, 0x00000000, 0x00000000, 0x00000000, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFE, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFEF8, 0xFEFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFE, 0xFFFEFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFEFFFFFF, 0xFEFEFEFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFE, 0xFEFEFEFD, 0xFBFBFDFD, 0xFEFDFEFD, 0xFEFEFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFEFEFE, 0xFEFEFCF8, 0xF5F7FAFD, 0xFEFEFEFE, 0xFEFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFEFCFC, 0xFCFBF8F6, 0xF0F6F9FB, 0xFCFDFEFD, 0xFEFEFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFEFCFBFB, 0xFAFAF6F5, 0xF0F5F5F9, 0xFAFDFCFE, 0xFCFEFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFEFE, 0xFEFFFFFF, 0xFFFFFFFE, 0xFBF7F8F8, 0xF8F7F5F4, 0xEEF4F3F7, 0xF8F9F9F9, 0xFCFCFDFD, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFEFEFE, 0xFEFEFFFF, 0xFFFEFCF9, 0xF6F3F4F5, 0xF6F4F4F4, 0xF0EDF0F1, 0xF4F4F8F8, 0xF8F8FAFB, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFEFEFDFE, 0xFEFFFFFF, 0xFEFDFAF7, 0xF2EFF0F2, 0xF1F2F1EF, 0xECE8ECEC, 0xF0F2F3F4, 0xF4F6F7F9, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFEFE, 0xFEFEFEFD, 0xFFFFFFFE, 0xFCF8F5F1, 0xEFEEECED, 0xEEEDEDE8, 0xE8E4E8E9, 0xEBEDEFF2, 0xF2F4F4F5, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFEFEFE, 0xFEFEFEFF, 0xFFFFFDF9, 0xF9F5F2EE, 0xEDEAE7E7, 0xE9E9E8E5, 0xE5E3E5E6, 0xE8EBEBED, 0xEEF1F2F2, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFEFEFDFD, 0xFEFDFFFE, 0xFDFCFCF9, 0xF4F1ECEB, 0xEAE9E4E4, 0xE5E4E3E4, 0xE1E0E0E2, 0xE3E6E6E9, 0xEBEDEDF0, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFEFBFEFE, 0xFDFCFCFD, 0xFDFEFEFC, 0xFAF9F9F7, 0xF1EEEAE7, 0xE7E6E2E0, 0xE0E1DFDF, 0xDEDDDBDF, 0xDEE0E1E3, 0xE5E9EBEE, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFEFAFB, 0xFCFBFBFA, 0xFDFCFBF8, 0xF7F6F6F5, 0xEEEAE5E4, 0xE3E0DEDE, 0xDBDAD8D7, 0xD6D7D6D9, 0xD9D9DBDD, 0xE0E2E6EA, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFE, 0xFEFEFBF8, 0xF8F9F7F9, 0xF9F9F8F7, 0xF5F4F4F2, 0xEDE8E3E0, 0xDEDCD9D5, 0xD4D1CFCF, 0xD0CECED0, 0xD1D3D6D5, 0xDADDE0E3, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFEFDFD, 0xFCFCFAF8, 0xF7F6F6F8, 0xF7F6F3F3, 0xF1F2F1F0, 0xEBE6DED8, 0xD7D4D4D1, 0xCBC8C4C5, 0xC5C7C9CA, 0xCBCACDD0, 0xD1D3D6D9, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFEFEFD, 0xFCFBFBF9, 0xFAF9F9F5, 0xF4F3F3F3, 0xF4F3F2EF, 0xEFEDEDED, 0xE8E1DAD4, 0xD2CFCAC6, 0xC1BDB9BA, 0xBEC2C3C2, 0xC3C4C4C6, 0xC7CACFD3, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFEFCFBFB, 0xFAF8F9F9, 0xF9F7F8F7, 0xF4F2F1F0, 0xF1EEEDE9, 0xE9E9E9E7, 0xE3DED3CE, 0xCBC9C5BD, 0xB7B3B2B5, 0xB7BABEBD, 0xBFBEBDBD, 0xC0C1C8CE, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFCF9F7, 0xF7F6F6F8, 0xF7F5F4F5, 0xF5F0EEEE, 0xECEBE5E3, 0xE1E3E5E3, 0xDCD3CBC6, 0xC2BFB9B4, 0xACABA8AD, 0xB3B7BAB6, 0xB5B4B5B6, 0xB8BDC4C8, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFEF9F8F6, 0xF4F5F6F5, 0xF4F4F4F2, 0xF2F1EDEB, 0xE9E4DEDD, 0xDDDFE1DD, 0xD5CAC2BC, 0xB9B4AEA9, 0xA3A4A6AA, 0xADB1B0B0, 0xAFAFAEB1, 0xB1B6BABF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFDF9F7F6, 0xF3F2F3F3, 0xF3F1F1F0, 0xF0EFEEE9, 0xE4DED8D6, 0xD8DBDBD7, 0xCFC4B9B3, 0xAFA9A59F, 0x9C9EA0A5, 0xA9AAA9A9, 0xA8A7A8A8, 0xA8A8ACB2, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFEFE, 0xFDFBF8F5, 0xF3F3F3F2, 0xF0EFEEEE, 0xEEEEEDE7, 0xDFD7D0D0, 0xD3D5D6D3, 0xCABFB5AC, 0xA8A29C97, 0x9698999B, 0x9EA0A09E, 0x9C9E9C9A, 0x999DA1A6, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFEFEFC, 0xFBFAF7F5, 0xF1F0F2F0, 0xEDEAEBEB, 0xEDECE9E3, 0xD9D0CBCB, 0xCED0D4D2, 0xC9BFB3AA, 0xA19A9592, 0x91919194, 0x96979695, 0x91918E8D, 0x8F91949E, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFEFDFB, 0xFBF8F6F5, 0xF1F0EDED, 0xE9E7E8E8, 0xE8E9E5DE, 0xD3CBC4C3, 0xC5CACDCE, 0xC7BCB2A7, 0x9F94908C, 0x8D8A8B8A, 0x8D8D8C88, 0x85848581, 0x84898E93, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFEFDFCFB, 0xFAF9F7F5, 0xF5F0EEE9, 0xE6E2E2E5, 0xE6E5E0D5, 0xCBC2BDBB, 0xBDC2C2C3, 0xC1B9B0A5, 0x9D908B88, 0x88838383, 0x8383807D, 0x7A7A7B7C, 0x797E8288, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFE, 0xFDFCFBFB, 0xFAF8F5F2, 0xF1F1ECE5, 0xE2E1E0E2, 0xE2E1D9CF, 0xC4BCB8B5, 0xB5B4B7B7, 0xB6B1ACA2, 0x9A908984, 0x837F7D7A, 0x7A787774, 0x736C7073, 0x75747877, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFD, 0xFDFCFBFB, 0xFAF8F3F2, 0xEDECE7E2, 0xDCDADDDF, 0xE0DACFC6, 0xBEB8B4B0, 0xAEAAABA9, 0xA9A9A6A0, 0x978C8380, 0x7C7B7774, 0x6F706C6A, 0x6A6F6263, 0x616A686C, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFD, 0xFDFCFBFB, 0xF9F8F1EC, 0xEAE7E4DF, 0xDBD8D7DA, 0xDBD4CABF, 0xB9B4AEAA, 0xA5A29F9D, 0x9E9F9E99, 0x92867E79, 0x73746D6B, 0x67636562, 0x6263665D, 0x63515963, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFEFD, 0xFCFCFCFC, 0xFAF5EFEA, 0xE7E2DEDA, 0xD4D2D3D4, 0xD4CFC4BE, 0xB6B0ACA5, 0xA09A9593, 0x94959692, 0x8C817871, 0x6C696662, 0x5E5C5B5B, 0x56585A59, 0x565A5A59, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFDFD, 0xFCFDFDF8, 0xFAF4EDE8, 0xE3DFDCD7, 0xD2CDCECE, 0xCDC6BEBA, 0xB6AFA9A2, 0x9C978E8A, 0x8B8D8B89, 0x8279716A, 0x635F5E57, 0x55515051, 0x50484F4F, 0x4B4B5556, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFDFC, 0xFCFEFEFB, 0xF6F1ECE6, 0xE1DFDCD6, 0xCFC9C7C6, 0xC5BBB2B0, 0xAFACA7A0, 0x9A928B84, 0x82848381, 0x79716B62, 0x5F585451, 0x4A484648, 0x4A49404F, 0x4D524241, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFEFDFC, 0xFCFFFDFA, 0xF5EFE9E7, 0xE4E0DDD5, 0xCFC7C4C1, 0xBDB6A9A1, 0x9EA09E9C, 0x948F867D, 0x7A7A7877, 0x72696861, 0x5A534C4C, 0x44413E41, 0x46484541, 0x4B494941, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFDFC, 0xFCFEFDF8, 0xF3EFEBE7, 0xE1DEDBD3, 0xCBC5C2BE, 0xB7B0A69D, 0x99959492, 0x8E88807B, 0x716F6D6B, 0x6B66635F, 0x58504743, 0x403B343D, 0x41444246, 0x413D3A36, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFEFCFC, 0xFBFDFAF9, 0xF5F2EFEA, 0xE2DBD6D0, 0xC9C0BCB8, 0xB4B0A8A0, 0x97918F89, 0x86817973, 0x6B666362, 0x63655E5C, 0x564D423B, 0x3E353238, 0x3D403C44, 0x463B3831, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFEFCFB, 0xFBFBFAF7, 0xF4F5F1EE, 0xE7DED5CB, 0xC6BDBBB5, 0xB1ADA39D, 0x968F8983, 0x7F7A746E, 0x67635A57, 0x585B5A57, 0x52483D36, 0x34322E32, 0x383A3740, 0x4137322C, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFDFBFA, 0xFAF9F9F7, 0xF7F7F6F1, 0xEBE1D8CD, 0xC2BDB7B4, 0xAFAAA49B, 0x938F8681, 0x7A766F6B, 0x645F5650, 0x4D51524F, 0x4A41362F, 0x2C2E292A, 0x32323339, 0x39322D28, 0xFFFFFFFF, 0xFFFFFFFF, 0xFEFCFBFA, 0xF9FAFAF9, 0xF7F6F5F2, 0xEDE4D9D1, 0xC6BEB7B3, 0xADA7A29A, 0x938A857D, 0x76706B69, 0x635C554D, 0x45474A49, 0x403B3029, 0x24262524, 0x292B2F2F, 0x312B2825, 0xFFFFFFFF, 0xFFFFFFFF, 0xFDFDFAFA, 0xFAF8F8F7, 0xF6F7F6F2, 0xEDE4DACF, 0xC8C1B9B2, 0xACA59D95, 0x9088827B, 0x746A6461, 0x5E5B544C, 0x433F403F, 0x3A332B27, 0x23222320, 0x22252725, 0x2725211F, 0xFFFFFFFF, 0xFFFFFFFE, 0xFDFCF9F9, 0xF9F6F6F4, 0xF4F4F1F1, 0xEBE2D9D0, 0xCAC2BCB7, 0xADA39D94, 0x8D847F76, 0x7069605A, 0x5959534A, 0x41393636, 0x352C2823, 0x1F1E1E1D, 0x1D1E1F1E, 0x1E211B1D, 0xFFFFFFFF, 0xFFFFFEFD, 0xFDFBF9FA, 0xF8F6F4F3, 0xEFEEEBEA, 0xE6DED3C9, 0xC4BFBBB3, 0xAEA39A8F, 0x877F7670, 0x6B686156, 0x5153514C, 0x3F39312E, 0x2D292520, 0x1C1A171A, 0x181A1A19, 0x191B1617, 0xFFFFFFFF, 0xFFFEFEFD, 0xFCF8F7F6, 0xF5F3EFEC, 0xE7E3E0DB, 0xD6D1C8C0, 0xBEBBB6B1, 0xA8A1968A, 0x81766F68, 0x655F5D56, 0x4D494844, 0x3D362E28, 0x2423211D, 0x19181418, 0x14131415, 0x13161214, 0xFFFFFFFF, 0xFFFEF9FD, 0xFBF7F6F6, 0xF3F2EDE7, 0xE2D9D2CD, 0xC7C1BAB3, 0xB1B0ACA7, 0x9F998F88, 0x7B6F6763, 0x5A58534F, 0x47403D3A, 0x36312A22, 0x1B1C1D19, 0x16121110, 0x100E1110, 0x0D110E10, 0xFFFFFFFF, 0xFFFEFDFC, 0xF8F3F2F2, 0xF0EDEAE5, 0xDDD4CDC3, 0xBEB6B1AA, 0xA7A7A29B, 0x95908A83, 0x786D6057, 0x524F4A47, 0x423A3733, 0x312C2620, 0x1A16181B, 0x16120F0C, 0x0E0B0D0C, 0x080D0A0C, 0xFFFFFFFF, 0xFEFCFEFD, 0xFCF8F1E9, 0xE5E4E4E0, 0xDBD5CEC4, 0xBCB4AAA4, 0x9D9A9691, 0x8D88867C, 0x756A6258, 0x4C46423D, 0x3B35322C, 0x2926241C, 0x19161114, 0x14100D0A, 0x0B09090A, 0x080A080A, 0xFFFFFFFF, 0xFEFDFDFD, 0xFCF7F2E9, 0xE5E0DAD6, 0xD3D2CDC7, 0xBDB3A99F, 0x96918C88, 0x85827D7A, 0x72695E57, 0x4C463A37, 0x312F2C2B, 0x271F1D1A, 0x17140E0F, 0x110E0C09, 0x08080608, 0x08090808, 0xFFFFFFFF, 0xFEFEFDFD, 0xFDF9F4EC, 0xE3DFD9D5, 0xD0CAC8C4, 0xBCB5A99F, 0x958B8680, 0x7B797670, 0x6A675C56, 0x4E463E34, 0x2E2A2726, 0x231D1515, 0x16130F0C, 0x0C0E0B08, 0x06070507, 0x07060706, 0xFFFFFFFF, 0xFDFDFDFD, 0xFBF9F4EE, 0xE8E2DDDB, 0xD5D1CBC4, 0xBEB4ADA3, 0x998F867E, 0x736F6B67, 0x645C5853, 0x4B433C34, 0x2C262521, 0x201B150E, 0x10110E0A, 0x07090908, 0x06050404, 0x05040505, 0xFFFFFFFF, 0xFEFDFDFD, 0xFCF9F7F1, 0xEBE6E2DE, 0xDAD6D3CD, 0xC7BEB3A9, 0x9D94897E, 0x746D6660, 0x5D57534B, 0x47423C32, 0x2B26221F, 0x1A181510, 0x0C0C0C0A, 0x07060606, 0x05040403, 0x03030403, 0xFFFFFFFF, 0xFDFDFDFE, 0xFCF5F0F0, 0xEDE7E3DF, 0xDBD9D4CD, 0xC8C2B9B1, 0xA59B8D80, 0x756C655E, 0x5A534C46, 0x423E3A31, 0x2B24201F, 0x18151110, 0x0C090909, 0x07050506, 0x05030302, 0x03030302, 0xFFFFFFFF, 0xFDFDFDFF, 0xFEFCF9F5, 0xF0E8E4DF, 0xDCD8D5CF, 0xC7C0B7AF, 0xA4988D81, 0x746A625D, 0x58504942, 0x3D393530, 0x2A25201C, 0x1C160F0D, 0x0C090706, 0x06050404, 0x04030203, 0x02020202, 0xFFFFFFFF, 0xFDFDFEFD, 0xFCFBF9F7, 0xF0EBE7E3, 0xDEDCD4CF, 0xC6BDB4AA, 0xA1958B7E, 0x73685F59, 0x534E4840, 0x3933312D, 0x26221F1D, 0x1A15120B, 0x0A080706, 0x05050402, 0x02020201, 0x01020201, 0xFFFFFFFE, 0xFEFEFDFC, 0xFCFAF6F4, 0xF1EAE8E3, 0xE0DCD6CD, 0xC4BAAFA5, 0x9893867D, 0x6F666057, 0x524B4239, 0x35352F27, 0x231E1A18, 0x1917110C, 0x0A070506, 0x04030303, 0x02020201, 0x01010101, 0xFFFFFFFE, 0xFEFEFCF9, 0xF7F3F1EF, 0xEBE6E3E0, 0xDDD8D2C6, 0xBFB6AA9F, 0x958C8178, 0x6B625A50, 0x4D474139, 0x342E2926, 0x221D1713, 0x11110F0D, 0x0A080505, 0x04030203, 0x02010201, 0x01010101, 0xFFFFFFFF, 0xFEFCFBF8, 0xF6F5F2EC, 0xE8E1DED8, 0xD7CFC8C0, 0xB8ADA39B, 0x8E887F79, 0x6B5F524A, 0x46403D37, 0x332D2B24, 0x1E191613, 0x0E0C0B0A, 0x08080605, 0x03020202, 0x02010101, 0x01010101, 0xFFFFFFFF, 0xFFFCF9F3, 0xF3F0EEE6, 0xE1DCDBD5, 0xD3CAC3BA, 0xAEA79D93, 0x8A827A73, 0x695C534B, 0x433E3630, 0x2E2C2822, 0x1D19130F, 0x0D0C0906, 0x06050504, 0x03020202, 0x01010101, 0x01010101, 0xFFFFFFFF, 0xFFFBF7F1, 0xEFEBE5DF, 0xD9D5D1CE, 0xCDC3BDB6, 0xAAA0988F, 0x847D746D, 0x62585148, 0x413C3835, 0x312C231B, 0x1917130E, 0x0C0A0806, 0x06040303, 0x03020201, 0x01010101, 0x01010101, 0xFFFFFFFF, 0xFEF8F0EC, 0xEAE5E1D8, 0xD3CECCC8, 0xC2BCB5AD, 0xA29A928C, 0x847D766F, 0x665D5348, 0x413C3831, 0x2C29241D, 0x19150F0B, 0x0B0A0806, 0x06040303, 0x02020201, 0x01010101, 0x01010101, 0xFFFFFFFF, 0xFFFDF8F6, 0xF1EAE2D9, 0xD5CCC7C1, 0xBEB6B0A7, 0x9F968B84, 0x7F77706C, 0x625B554E, 0x48413A35, 0x2D251D18, 0x14130E0B, 0x0B0B0705, 0x05040303, 0x02020101, 0x01010101, 0x01010101, 0xFFFFFFFF, 0xFEFCFAF9, 0xF5EFE7E0, 0xD6D3CFC7, 0xC1B8B0A9, 0x9F988F86, 0x7D766D66, 0x5D554E47, 0x403B342D, 0x29211E1A, 0x1715100E, 0x0B080605, 0x05040302, 0x01020101, 0x01010101, 0x01010101, 0xFFFFFFFF, 0xFEFDFBF8, 0xF3EBE4DE, 0xD9D6D2CE, 0xC7BFB8B1, 0xA89F978F, 0x847D746C, 0x6257524E, 0x463E342D, 0x25221D19, 0x1511110D, 0x0A080807, 0x06050302, 0x01010101, 0x01010101, 0x01010101, 0xFFFFFFFF, 0xFEFCFBF9, 0xF3EBE4DE, 0xD9D6D5D1, 0xCCC5BCB5, 0xADA59F93, 0x8C857B71, 0x685D564F, 0x493E352E, 0x2A24231E, 0x1C15120E, 0x0C0A0907, 0x05040202, 0x01010101, 0x01010101, 0x01010101, 0xFF8000A9, 0x00000000, 0x00000000, 0xFFFFFF00, 0xFF34FFBB, 0x00000000, 0x00000000, 0xFFFFFF00, 0x0000FF24, 0x00000000, 0x00000000, 0xFFFFFF00, 0x008000A9, 0x00000000, 0x00000000, 0xFFFFFF00, 0xFE88007B, 0x00000000, 0x00000000, 0xFFFFFF00, 0x0000018B, 0x00000000, 0x00000000, 0xFFFFFF00, 0xFF17FEC0, 0x00000000, 0x00000000, 0xFFFFFF00, 0x00CCFFBB, 0x00000000, 0x00000000, 0xFFFFFF00, 0x00E8FEC0, 0x00000000, 0x00000000, 0xFFFFFF00, 0x0178007A, 0x00000000, 0x00000000, 0xFFFFFF00, 0xD7000002, 0xFFFFFFFF, 0xE7000000, 0x00000000, 0xE3000A01, 0x00000000, 0xE3000D01, 0x00000000, 0xE3000F00, 0x00000000, 0xE3001201, 0x00003000, 0xE3001402, 0x00000C00, 0xE3000C00, 0x00000000, 0xE3001801, 0x00000000, 0xE3001A01, 0x00000000, 0xFCFFE7FF, 0xFFCD92C9, 0xE200001C, 0x00504340, 0xD9000000, 0x00000000, 0xD9FFFFFF, 0x00200004, 0xDF000000, 0x00000000 + +glabel D_8014E618 +.word 0xDE000000, 0x8014E5A0, 0xE3001001, 0x00000000, 0xFD88000F, 0x8014D300, 0xF5880400, 0x070D4350, 0xE6000000, 0x00000000, 0xF4000000, 0x0703E07C, 0xE7000000, 0x00000000, 0xF5800400, 0x000D4350, 0xF2000000, 0x0007C07C, 0xF2000000, 0x000FC0FC, 0xDF000000, 0x00000000 + +glabel D_8014E670 +.word 0xDE000000, 0x8014E5A0, 0xE3001001, 0x00000000, 0xFD88001F, 0x8014CB00, 0xF5880800, 0x07098260, 0xE6000000, 0x00000000, 0xF4000000, 0x0707E0FC, 0xE7000000, 0x00000000, 0xF5800800, 0x00098260, 0xF2000000, 0x000FC0FC, 0xDF000000, 0x00000000 + +glabel D_8014E6C0 +.word 0xDE000000, 0x8014E5A0, 0xE3001001, 0x00000000, 0xFD88000F, 0x8014C700, 0xF5880400, 0x07098350, 0xE6000000, 0x00000000, 0xF4000000, 0x0703E0FC, 0xE7000000, 0x00000000, 0xF5800400, 0x00098350, 0xF2000000, 0x0007C0FC, 0xF2000000, 0x000FC0FC, 0xDF000000, 0x00000000 + +glabel D_8014E718 +.word 0xDE000000, 0x8014E5A0, 0xE3001001, 0x00000000, 0xFD88003F, 0x8014D500, 0xF5881000, 0x070D8360, 0xE6000000, 0x00000000, 0xF4000000, 0x070FC0FC, 0xE7000000, 0x00000000, 0xF5881000, 0x000D8360, 0xF2000000, 0x000FC0FC, 0xF2000000, 0x001FC1FC, 0xDF000000, 0x00000000, 0x000000F0, 0x00000000, 0x00000000, 0xFFFFFFFF, 0x014000F0, 0x00000000, 0x28000000, 0xFFFFFFFF, 0x000000DA, 0x00000000, 0x000002C0, 0xFFFFFFFF, 0x014000DA, 0x00000000, 0x280002C0, 0xFFFFFFFF, 0x000000C4, 0x00000000, 0x00000580, 0xFFFFFFFF, 0x014000C4, 0x00000000, 0x28000580, 0xFFFFFFFF, 0x000000AE, 0x00000000, 0x00000840, 0xFFFFFFFF, 0x014000AE, 0x00000000, 0x28000840, 0xFFFFFFFF, 0x00000098, 0x00000000, 0x00000B00, 0xFFFFFFFF, 0x01400098, 0x00000000, 0x28000B00, 0xFFFFFFFF, 0x00000082, 0x00000000, 0x00000DC0, 0xFFFFFFFF, 0x01400082, 0x00000000, 0x28000DC0, 0xFFFFFFFF, 0x0000006C, 0x00000000, 0x00001080, 0xFFFFFFFF, 0x0140006C, 0x00000000, 0x28001080, 0xFFFFFFFF, 0x00000056, 0x00000000, 0x00001340, 0xFFFFFFFF, 0x01400056, 0x00000000, 0x28001340, 0xFFFFFFFF, 0x00000040, 0x00000000, 0x00001600, 0xFFFFFFFF, 0x01400040, 0x00000000, 0x28001600, 0xFFFFFFFF, 0x0000002A, 0x00000000, 0x000018C0, 0xFFFFFFFF, 0x0140002A, 0x00000000, 0x280018C0, 0xFFFFFFFF, 0x00000014, 0x00000000, 0x00001B80, 0xFFFFFFFF, 0x01400014, 0x00000000, 0x28001B80, 0xFFFFFFFF, 0x00000000, 0x00000000, 0x00001E00, 0xFFFFFFFF, 0x01400000, 0x00000000, 0x28001E00, 0xFFFFFFFF + +glabel D_8014E8F0 +.word 0xD7000000, 0x80008000, 0xE7000000, 0x00000000, 0xE3000A01, 0x00000000, 0xE2001D00, 0x00000004, 0xEE000000, 0x00000000, 0xE200001C, 0x50504360, 0xFCFFE7FF, 0xFFCE7F3F, 0xE3000C00, 0x00080000, 0xE3000D01, 0x00000000, 0xE3000F00, 0x00000000, 0xE3001001, 0x00000000, 0xE3001201, 0x00002000, 0xE3001402, 0x00000C00, 0xD9DDF9FF, 0x00000000, 0xD9FFFFFF, 0x00000405, 0x0100A014, 0x8014E500, 0x06000204, 0x00060004, 0x06000802, 0x00060A00, 0x06020C04, 0x000E0604, 0x06100E04, 0x000E1206, 0xE7000000, 0x00000000, 0xE2001D00, 0x00000000, 0xDF000000, 0x00000000 + +glabel D_8014E9A8 +.word 0xE7000000, 0x00000000, 0xE2001D00, 0x00000004, 0xEE000000, 0x00140000, 0xE200001C, 0x00504A50, 0xFCFFE7FF, 0xFFCE7F3F, 0xD9DDF9FF, 0x00000000, 0xD9FFFFFF, 0x00000005, 0xE3001801, 0x00000000, 0xE3000A01, 0x00000000, 0xE3001201, 0x00002000, 0xE3000C00, 0x00000000, 0xE3000F00, 0x00000000, 0xE3001001, 0x00000000, 0xE3000D01, 0x00000000, 0xE3001402, 0x00000C00, 0xF65003C0, 0x00000000, 0xE3001801, 0x000000C0, 0xE7000000, 0x00000000, 0xE2001D00, 0x00000000, 0xDF000000, 0x00000000 + +glabel D_8014EA48 +.word 0xE2001D00, 0x00000004, 0xEE000000, 0x00140000, 0xE200001C, 0x00552210, 0xD9FDF9FF, 0x00000000, 0xD9DFFFFF, 0x00000000, 0xD7000002, 0x80008000, 0xE7000000, 0x00000000, 0xFC121824, 0xFF33FFFF, 0xE3000C00, 0x00080000, 0xE3000D01, 0x00000000, 0xE3000F00, 0x00000000, 0xE3001001, 0x00000000, 0xE3001201, 0x00002000, 0xE3001402, 0x00000C00, 0x01018030, 0x8014E770, 0xFD10009F, 0x80156910, 0xF5105000, 0x07090280, 0xE6000000, 0x00000000, 0xF4000000, 0x0727C02C, 0xE7000000, 0x00000000, 0xF5105000, 0x00090280, 0xF2000000, 0x0027C02C, 0x06000402, 0x00060204, 0xFD10009F, 0x80156910, 0xF5105000, 0x07090280, 0xE6000000, 0x00000000, 0xF400002C, 0x0727C058, 0xE7000000, 0x00000000, 0xF5105000, 0x00090280, 0xF200002C, 0x0027C058, 0x06040806, 0x000A0608, 0xFD10009F, 0x80156910, 0xF5105000, 0x07090280, 0xE6000000, 0x00000000, 0xF4000058, 0x0727C084, 0xE7000000, 0x00000000, 0xF5105000, 0x00090280, 0xF2000058, 0x0027C084, 0x06080C0A, 0x000E0A0C, 0xFD10009F, 0x80156910, 0xF5105000, 0x07090280, 0xE6000000, 0x00000000, 0xF4000084, 0x0727C0B0, 0xE7000000, 0x00000000, 0xF5105000, 0x00090280, 0xF2000084, 0x0027C0B0, 0x060C100E, 0x00120E10, 0xFD10009F, 0x80156910, 0xF5105000, 0x07090280, 0xE6000000, 0x00000000, 0xF40000B0, 0x0727C0DC, 0xE7000000, 0x00000000, 0xF5105000, 0x00090280, 0xF20000B0, 0x0027C0DC, 0x06101412, 0x00161214, 0xFD10009F, 0x80156910, 0xF5105000, 0x07090280, 0xE6000000, 0x00000000, 0xF40000DC, 0x0727C108, 0xE7000000, 0x00000000, 0xF5105000, 0x00090280, 0xF20000DC, 0x0027C108, 0x06141816, 0x001A1618, 0xFD10009F, 0x80156910, 0xF5105000, 0x07090280, 0xE6000000, 0x00000000, 0xF4000108, 0x0727C134, 0xE7000000, 0x00000000, 0xF5105000, 0x00090280, 0xF2000108, 0x0027C134, 0x06181C1A, 0x001E1A1C, 0xFD10009F, 0x80156910, 0xF5105000, 0x07090280, 0xE6000000, 0x00000000, 0xF4000134, 0x0727C160, 0xE7000000, 0x00000000, 0xF5105000, 0x00090280, 0xF2000134, 0x0027C160, 0x061C201E, 0x00221E20, 0xFD10009F, 0x80156910, 0xF5105000, 0x07090280, 0xE6000000, 0x00000000, 0xF4000160, 0x0727C18C, 0xE7000000, 0x00000000, 0xF5105000, 0x00090280, 0xF2000160, 0x0027C18C, 0x06202422, 0x00262224, 0xFD10009F, 0x80156910, 0xF5105000, 0x07090280, 0xE6000000, 0x00000000, 0xF400018C, 0x0727C1B8, 0xE7000000, 0x00000000, 0xF5105000, 0x00090280, 0xF200018C, 0x0027C1B8, 0x06242826, 0x002A2628, 0xFD10009F, 0x80156910, 0xF5105000, 0x07090280, 0xE6000000, 0x00000000, 0xF40001B8, 0x0727C1DC, 0xE7000000, 0x00000000, 0xF5105000, 0x00090280, 0xF20001B8, 0x0027C1DC, 0x06282C2A, 0x002E2A2C, 0xE7000000, 0x00000000, 0xE2001D00, 0x00000000, 0xDF000000, 0x00000000 + +glabel D_8014ED98 +.word 0x00800080, 0x01FF0000, 0x00800080, 0x01FF0000, 0xFFF0FFF0, 0x00000000, 0x00000000, 0x000000FF, 0x0010FFF0, 0x00000000, 0x10000000, 0x000000FF, 0x00100010, 0x00000000, 0x10001000, 0x000000FF, 0xFFF00010, 0x00000000, 0x00001000, 0x000000FF + +glabel D_8014EDE8 +.word 0x01004008, 0x8014EDA8, 0x06000204, 0x00000406, 0xE7000000, 0x00000000, 0xDF000000, 0x00000000, 0x00000000, 0x00000000 diff --git a/src/audio.h b/src/audio.h index bf498a49a3..b8d63583f9 100644 --- a/src/audio.h +++ b/src/audio.h @@ -158,7 +158,7 @@ typedef struct UnkAl6CC { /* 0x040 */ UnkAl1 unk_40; /* 0x05C */ s32 unk_5C; /* 0x060 */ s32 unk_60; - /* 0x064 */ s32 unk_64[8]; + /* 0x064 */ s32* unk_64[8]; /* 0x084 */ s8 unk_84[8]; /* 0x08C */ u8 unk_8C; /* 0x08D */ s8 unk_8D; diff --git a/src/code_d0a70_len_4fe0.c b/src/code_d0a70_len_4fe0.c index 336acd6a5d..e66d8d60fb 100644 --- a/src/code_d0a70_len_4fe0.c +++ b/src/code_d0a70_len_4fe0.c @@ -1,5 +1,34 @@ #include "common.h" +s32 D_8014EE10[] = { 0x80156920, }; + +s32 D_8014EE14[] = { 0x00000000, }; + +s32 D_8014EE18[] = { 0x90909000, 0x90909000, 0xFFFFFF00, 0xFFFFFF00, 0x00007800, 0x00000000, 0xFFFFFF00, 0xFFFFFF00, + 0x00008800, 0x00000000, }; + +s32 D_8014EE40[] = { 0x028001E0, 0x01FF0000, 0x028001E0, 0x01FF0000, }; + +s32 D_8014EE50[] = { 0x028001E0, 0x01FF0000, 0x028001E0, 0x02000000, }; + +s32 D_8014EE60[] = { 0x012C0000, 0x00000000, }; + +s32 D_8014EE68[] = { 0xD9FDF9FF, 0x00000000, 0xD9FFFFFF, 0x00200005, 0xD7000002, 0xFFFFFFFF, 0xE2001E01, 0x00000000, + 0xE3000A11, 0x00082CF0, 0xDF000000, 0x00000000, }; + +s32 D_8014EE98[] = { 0x00441208, 0x00111208, 0x00000000, 0x00441208, 0x00111208, 0x00000000, 0x00404B40, 0x00104B40, + 0x01000000, 0x00404B40, 0x00104B40, 0x01000000, 0x00441208, 0x00111208, 0x00000000, 0x00404B40, + 0x00104B40, 0x01000000, 0x00441208, 0x00111208, 0x00000000, 0x00404B40, 0x00104B40, 0x01000000, + 0x00404B40, 0x00104B40, 0x01000000, 0x00441208, 0x00111208, 0x00000000, 0x00404B40, 0x00104B40, + 0x01000000, 0x00441208, 0x00111208, 0x00000000, 0x00404B40, 0x00104B40, 0x01000000, 0x00441208, + 0x00111208, 0x00000000, 0x00441208, 0x00111208, 0x00000000, 0x00404B40, 0x00104B40, 0x01000000, + 0x00441208, 0x00111208, 0x00000000, }; + +s32 D_8014EF64[] = { 0x00014358, 0x00018200, 0x0001A858, 0x0001E830, 0x00029458, 0x000314E0, 0x00033498, 0x00038988, + 0x00039228, 0x0005B7A8, 0x0007CF10, 0x00086490, 0x00096258, 0x000A1820, 0x000ACDE8, 0x000BBF68, + 0x000C0490, 0x000C49B8, 0x000C6150, 0x000CA380, 0x00000000, 0x00000000, 0x00000000, }; + + #define UNKSTRUCT8013A854_SIZE 90 INCLUDE_ASM(s32, "code_d0a70_len_4fe0", func_8013A370); diff --git a/src/code_d5a50_len_5fd0.c b/src/code_d5a50_len_5fd0.c index 21d68bb4b9..1cbc487c12 100644 --- a/src/code_d5a50_len_5fd0.c +++ b/src/code_d5a50_len_5fd0.c @@ -1,5 +1,22 @@ #include "common.h" +s32 D_8014EFC0[] = { 0x00000000, }; +s32 D_8014EFC4[] = { 0x00011000, }; +s32 D_8014EFC8[] = { 0x00000000, }; +s32 D_8014EFCC[] = { 0x00080008, 0x00200010, 0x00100080, 0x00180018, 0x01200020, 0x00200200, 0x00300030, 0x04800040, + 0x00400800, 0x00080010, 0x00400010, 0x00080040, 0x00100018, 0x00C00010, 0x00200100, 0x00400020, + 0x04000020, 0x00100100, 0x000C000C, 0x00480030, 0x00180240, 0x00200008, 0x00800018, 0x00080060, + 0x00400010, 0x02000010, 0x00400200, 0x00C00020, 0x0C000028, 0x00280320, 0x00180010, 0x00C00020, + 0x00280280, 0x00280010, 0x01400028, 0x001801E0, 0x00200018, 0x01800014, 0x00200000, 0x00220020, + 0x00000028, 0x002803C8, 0x00000000, 0xED000000, 0x005003C0, 0xE7000000, 0x00000000, 0xE3000A11, + 0x00002CF0, 0xE2001E01, 0x00000000, 0xDF000000, 0x00000000, 0xED000000, 0x005003C0, 0xE7000000, + 0x00000000, 0xE3000A11, 0x00002CF0, 0xE2001E01, 0x00000000, 0xDF000000, 0x00000000, }; +s32 D_8014F0C8[] = { 0xFFF40000, 0x00000000, 0x08000800, 0x000000FF, 0x00330000, 0x00000000, 0x00000800, 0x000000FF, + 0x0033003F, 0x00000000, 0x00000000, 0x000000FF, 0xFFF4003F, 0x00000000, 0x08000000, 0x000000FF, + 0xFFFFFF00, 0xFFFFFF00, }; +s32 D_8014F110[] = { 0x00000000, 0x00000000, 0x00000000, 0x00000000 }; + + INCLUDE_ASM(s32, "code_d5a50_len_5fd0", func_8013F350); INCLUDE_ASM(s32, "code_d5a50_len_5fd0", func_8013F704); diff --git a/tools/splat.yaml b/tools/splat.yaml index 704bbe94f3..b4d43e726a 100644 --- a/tools/splat.yaml +++ b/tools/splat.yaml @@ -253,7 +253,9 @@ segments: - [0xddaf0, c, code_ddaf0_len_c50] - [0xde740, c, code_de740_len_23f0] - [0xe0b30, c, code_e0b30_len_b80] - - [0xe16b0, bin] + - [0xE16B0, data, code_a5dd0_len_114e0] + - [0xE5510, .data, code_d0a70_len_4fe0] + - [0xE56C0, .data, code_d5a50_len_5fd0] - [0xE5820, .data, code_dc470_len_14c0] - [0xE5830, bin] - type: code From 052f201f6e52ce04d70bd8b56abd7c2a7ec68a3c Mon Sep 17 00:00:00 2001 From: Ethan Roseman Date: Fri, 18 Dec 2020 11:29:35 +0900 Subject: [PATCH 61/97] more progz --- asm/data/code_1000_len_60.data.s | 84 ------------------ asm/data/code_26840_len_20d0.data.s | 69 +++++++++++++++ .../code_25f00_len_940/nuAuCleanDMABuffers.s | 57 ------------ asm/nonmatchings/code_31650/func_80056D78.s | 15 ---- asm/nonmatchings/code_31650/func_80056DA4.s | 14 --- asm/nonmatchings/code_31650/func_80056DCC.s | 30 ------- src/audio.h | 55 +++++++----- src/code_25f00_len_940.c | 87 ++++++++++++------- src/code_31650.c | 32 ++++--- tools/splat.yaml | 4 +- 10 files changed, 180 insertions(+), 267 deletions(-) create mode 100644 asm/data/code_26840_len_20d0.data.s delete mode 100644 asm/nonmatchings/code_25f00_len_940/nuAuCleanDMABuffers.s delete mode 100644 asm/nonmatchings/code_31650/func_80056D78.s delete mode 100644 asm/nonmatchings/code_31650/func_80056DA4.s delete mode 100644 asm/nonmatchings/code_31650/func_80056DCC.s diff --git a/asm/data/code_1000_len_60.data.s b/asm/data/code_1000_len_60.data.s index bdf82f5c9b..a6f6dff56d 100644 --- a/asm/data/code_1000_len_60.data.s +++ b/asm/data/code_1000_len_60.data.s @@ -256,87 +256,3 @@ glabel D_80078164 glabel D_80078168 .word 0x001D0074, 0x001D0075 - -glabel D_80078170 -.word 0x00000000 - -glabel nuAuPreNMIFunc -.word 0x00000000 - -glabel nuAuDmaNext -.word 0x00000000 - -glabel nuAuFrameCounter -.word 0x00000000 - -glabel D_80078180 -.byte 0x01 - -glabel D_80078181 -.byte 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - -glabel D_80078190 -.word 0xF8030125, 0x07D0FDBC, 0xF8860355, 0x06FCFBAB, 0xFEDAF82D, 0x0245077D, 0xFCA9F901, 0x0456065D, 0xFC33FBB2, 0xFCEFFE94, 0xFFD80080, 0x00A4007D, 0x090E0673, 0x02FF0053, 0xFEF2FEA7, 0xFEF9FF7B - -glabel D_800781D0 -.word 0xB1011110, 0x00FFFE34, 0xBB90E21E, 0x00FB10EF, 0xF2D180C4, 0xB3B1D3CF, 0xD1FDFE80, 0x1D2D3D3B, 0x2C3BFC1D, 0x80DEF0D0, 0xD3D2B3D1, 0xF480A203, 0xD00DA9EA, 0xCB729041, 0x4E1D2D0C, 0x1E102F90, 0xF21203F0, 0xC2D1D4F3, 0x80B0A1BF, 0xD21E1270, 0x4D804C39, 0x2C7E306D, 0xB9CF90E1, 0xF2F3F2E1, 0xE21622C1, 0xE728F4F0, 0x211010FF, 0xA1ED9F2F, 0xF561333C, 0xD0A1DAC2, 0xFF144122, 0x2DEFA1FA, 0xE10E2330, 0x320EF091, 0x9AF2CF55, 0x1361EE1C, 0x919D0FD2, 0x52064DE1, 0x0991D01B, 0x152E36FD, 0x12CB8122, 0xBC65F073, 0xCE3FAE71, 0x4E9370F5, 0x6ED21BD1, 0x610A5D00, 0x00000000, 0x00000000 - -glabel D_80078290 -.word 0x00000003, 0x0000000B, 0x00000000, 0x00000009, 0x00002666, 0xFFFFD99A, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000003, 0x00000007, 0x00000CCC, 0xFFFFF334, 0x00003FFF, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x0000000A, 0x00001388, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00005000 - -glabel D_800782F8 -.word 0x00000001, 0x0000000B, 0x00000000, 0x0000000A, 0x00004E20, 0x00000000, 0x00007FFF, 0x00000000, 0x00000000, 0x00007FFF - -glabel D_80078320 -.word 0x00000001, 0x0000000D, 0x00000000, 0x0000000C, 0x00004E20, 0x00000000, 0x00007FFF, 0x00000000, 0x00000000, 0x00007FFF - -glabel D_80078348 -.short 0x0000, 0x0001, 0x0000, 0x000E, 0x0000, 0x0000, 0x0000, 0x000D, 0x0000, 0x4E20, 0x0000, 0x0000, 0x0000, 0x7FFF, 0x0000, 0x0000, 0x0000 - -glabel D_8007836A -.short 0x0000, 0x0000, 0x7FFF, 0x034A, 0x0349, 0x0100, 0x0000, 0x0100, 0x0000, 0x0008, 0x0012, 0x3C7F, 0x2D7F, 0x2B5F, 0x1D00, 0xFF00, 0x2700, 0xFF00, 0x0000, 0x0100, 0x0000, 0x0008, 0x001A, 0x3C7F, 0x237F, 0x3C3F, 0x2A1F, 0x2A0F, 0x2A07, 0x2A03, 0x3600, 0xFF00, 0x3600, 0xFF00, 0x0000, 0x3433, 0x7F26, 0x3F16, 0x00FF, 0x343B, 0x7F3B, 0x3FFF, 0x0000 - -glabel D_800783C0 -.word 0x80078378, 0x80078390, 0x80078390, 0x80078390, 0x80078390, 0x80078390, 0x80078390, 0x80078390, 0x80078390, 0x80078390, 0x80078390, 0x80078390, 0x80078390, 0x80078390, 0x80078390, 0x80078390 - -glabel D_80078400 -.word 0x8004CE70, 0x8004CEA4, 0x8004CEC4, 0x8004CF0C - -glabel D_80078410 -.word 0x8004CF3C, 0x8004D00C, 0x8004D038, 0x8004D050, 0x8004D07C, 0x8004D114, 0x8004D130, 0x8004D15C, 0x8004D180, 0x8004D1B4, 0x8004D23C, 0x8004D2B0, 0x8004D2E4, 0x8004D310, 0x8004D31C, 0x8004D324, 0x8004D33C, 0x8004D354, 0x8004D36C, 0x8004D3A0, 0x8004D3F8 - -glabel D_80078464 -.word 0x00000000, 0x00000000, 0x00000000 - -glabel D_80078470 -.word 0x8004FBBC, 0x8004FCB4, 0x8004FCE4, 0x8004FD04, 0x8004FD94, 0x8004FE10, 0x8004FD38, 0x80050560, 0x8004FE6C, 0x8004FEB0, 0x8004FF3C, 0x8004FF58, 0x8004FF70, 0x8004FF88, 0x8004FFA8, 0x8004FFB4, 0x8004FFC8, 0x8004FFE4, 0x8004FFF0, 0x8004FFFC, 0x80050004, 0x80050020, 0x8004FED0, 0x80050128, 0x80050560, 0x80050560, 0x80050560, 0x80050560, 0x800501A8, 0x8005015C, 0x80050184, 0x800502F0, 0x02010101, 0x04030200, 0x02010101, 0x01010102, 0x03010100, 0x02010301, 0x00000000, 0x03030303 - -glabel D_80078510 -.word 0x30182028, 0x30384030, 0x00000000, 0x00000000 - -glabel D_80078520 -.word 0x00000000, 0x00000000, 0x00000000, 0x00000000 - -glabel D_80078530 -.word 0x00000200, 0x08001200, 0x20003200, 0x48006200, 0x80000000 - -glabel D_80078544 -.word 0x01000000, 0x0008000C - -glabel D_8007854C -.word 0x3D7FFF00, 0x3400FF00 - -glabel D_80078554 -.word 0x5C00FF00 - -glabel D_80078558 -.ascii "^]\\[ZXVSQOJE@;7531/-+)'&%#! " - -glabel D_80078580 -.word 0x03040506, 0x0708090A, 0x0B0C0D0E, 0x0F101112, 0x13141516, 0x17000000, 0x00000000, 0x00000000 - -glabel D_800785A0 -.word 0x0393756C, 0x034736DE, 0x02FAE1DA, 0x02AEA34C, 0x02624E48, 0x0215F944, 0x01C9BAB6, 0x01A39034, 0x017D65B2, 0x015751A6, 0x01312724, 0x0121E2F0, 0x01129EBC, 0x01035A88, 0x00F41654, 0x00E4D220, 0x00D58DEC, 0x00C649B8, 0x00B70584, 0x00A7D7C6, 0x00989392, 0x00894F5E, 0x007A0B2A, 0x006AC6F6, 0x005B82C2, 0x004C3E8E, 0x00449C74, 0x003CFA5A, 0x00355840, 0x002DB626, 0x0029F054, 0x0026140C, 0x00224E3A, 0x001E71F2, 0x001CF41C, 0x001B7646, 0x0019E1FA, 0x00186424, 0x0016CFD8, 0x00155202, 0x0013D42C, 0x00123FE0, 0x0010C20A, 0x000F2DBE, 0x000E7A0E, 0x000DAFE8, 0x000CE5C2, 0x000C3212, 0x000B67EC, 0x000A9DC6, 0x0009EA16, 0x00091FF0, 0x000855CA, 0x00078BA4, 0x0006D7F4, 0x00060DCE, 0x0005B3F6, 0x000543A8, 0x0004E9D0, 0x00048FF8, 0x0004630C, 0x00043620, 0x00040934, 0x0003F2BE, 0x0003C5D2, 0x000398E6, 0x00038270, 0x00035584, 0x00032898, 0x0002FBAC, 0x0002E536, 0x0002B84A, 0x00028B5E, 0x00025E72, 0x000247FC, 0x00021B10, 0x0001EE24, 0x0001C138, 0x0001AAC2, 0x00017DD6, 0x00016760, 0x00013A74, 0x00010D88, 0x0000F712, 0x0000E09C, 0x0000CA26, 0x0000B3B0, 0x00009D3A, 0x000086C4, 0x0000704E, 0x000059D8, 0x00004362, 0x00002CEC, 0x00001676, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000 - -glabel D_80078730 -.word 0x3F800000, 0x3F8012EF, 0x3F8025E1, 0x3F8038D6, 0x3F804BCD, 0x3F805EC7, 0x3F8071C4, 0x3F8084C4, 0x3F8097C7, 0x3F80AACC, 0x3F80BDD4, 0x3F80D0DF, 0x3F80E3ED, 0x3F80F6FE, 0x3F810A12, 0x3F811D28, 0x3F813041, 0x3F81435D, 0x3F81567C, 0x3F81699E, 0x3F817CC2, 0x3F818FE9, 0x3F81A313, 0x3F81B640, 0x3F81C970, 0x3F81DCA3, 0x3F81EFD9, 0x3F820311, 0x3F82164C, 0x3F82298A, 0x3F823CCB, 0x3F82500F, 0x3F826356, 0x3F82769F, 0x3F8289EB, 0x3F829D3A, 0x3F82B08C, 0x3F82C3E1, 0x3F82D739, 0x3F82EA94, 0x3F82FDF1, 0x3F831151, 0x3F8324B4, 0x3F83381A, 0x3F834B83, 0x3F835EEF, 0x3F83725E, 0x3F8385D0, 0x3F839944, 0x3F83ACBB, 0x3F83C035, 0x3F83D3B2, 0x3F83E732, 0x3F83FAB5, 0x3F840E3B, 0x3F8421C4, 0x3F84354F, 0x3F8448DD, 0x3F845C6E, 0x3F847002, 0x3F848399, 0x3F849733, 0x3F84AAD0, 0x3F84BE70, 0x3F84D213, 0x3F84E5B9, 0x3F84F961, 0x3F850D0C, 0x3F8520BA, 0x3F85346B, 0x3F85481F, 0x3F855BD6, 0x3F856F90, 0x3F85834D, 0x3F85970D, 0x3F85AAD0, 0x3F85BE96, 0x3F85D25F, 0x3F85E62A, 0x3F85F9F8, 0x3F860DC9, 0x3F86219D, 0x3F863574, 0x3F86494E, 0x3F865D2B, 0x3F86710B, 0x3F8684EE, 0x3F8698D4, 0x3F86ACBD, 0x3F86C0A9, 0x3F86D498, 0x3F86E88A, 0x3F86FC7F, 0x3F871077, 0x3F872472, 0x3F87386F, 0x3F874C6F, 0x3F876072, 0x3F877478, 0x3F878881, 0x3F879C8D, 0x3F87B09C, 0x3F87C4AE, 0x3F87D8C3, 0x3F87ECDB, 0x3F8800F6, 0x3F881514, 0x3F882935, 0x3F883D59, 0x3F885180, 0x3F8865AA, 0x3F8879D7, 0x3F888E07, 0x3F88A23A, 0x3F88B670, 0x3F88CAA9, 0x3F88DEE5, 0x3F88F324, 0x3F890766, 0x3F891BAB, 0x3F892FF3, 0x3F89443E, 0x3F89588C, 0x3F896CDD, 0x3F898131, 0x3F899588, 0x3F89A9E2, 0x3F89BE3F, 0x3F800000, 0x3F89D29F, 0x3F946637, 0x3F9FC997, 0x3FAC0CB1, 0x3FB940B0, 0x3FC77811, 0x3FD6C6BB, 0x3FE7421D, 0x3FF9014B, 0x40060E8F, 0x4010582B, 0x401B6BE2, 0x40275936, 0x403430DA, 0x404204C9, 0x4050E860, 0x4060F077, 0x40723381, 0x408264D5, 0x408C667B, 0x40972CB6, 0x40A2C69C, 0x40AF446B, 0x40BCB7A0, 0x40CB3311, 0x40DACB04, 0x40EB954F, 0x40FDA974, 0x41089062, 0x41130B3F, 0x411E53FF, 0x3F800000, 0x3F7FDA28, 0x3F7FB456, 0x3F7F8E89, 0x3F7F68C2, 0x3F7F4300, 0x3F7F1D44, 0x3F7EF78E, 0x3F7ED1DD, 0x3F7EAC32, 0x3F7E868C, 0x3F7E60EC, 0x3F7E3B51, 0x3F7E15BC, 0x3F7DF02C, 0x3F7DCAA2, 0x3F7DA51E, 0x3F7D7F9F, 0x3F7D5A26, 0x3F7D34B2, 0x3F7D0F44, 0x3F7CE9DB, 0x3F7CC478, 0x3F7C9F1A, 0x3F7C79C2, 0x3F7C546F, 0x3F7C2F22, 0x3F7C09DA, 0x3F7BE498, 0x3F7BBF5B, 0x3F7B9A24, 0x3F7B74F2, 0x3F7B4FC6, 0x3F7B2A9F, 0x3F7B057E, 0x3F7AE062, 0x3F7ABB4C, 0x3F7A963B, 0x3F7A7130, 0x3F7A4C2A, 0x3F7A272A, 0x3F7A022F, 0x3F79DD3A, 0x3F79B84A, 0x3F799360, 0x3F796E7B, 0x3F79499C, 0x3F7924C2, 0x3F78FFED, 0x3F78DB1E, 0x3F78B654, 0x3F789190, 0x3F786CD1, 0x3F784818, 0x3F782364, 0x3F77FEB6, 0x3F77DA0D, 0x3F77B569, 0x3F7790CB, 0x3F776C32, 0x3F77479F, 0x3F772311, 0x3F76FE88, 0x3F76DA05, 0x3F76B587, 0x3F76910F, 0x3F766C9C, 0x3F76482E, 0x3F7623C6, 0x3F75FF63, 0x3F75DB06, 0x3F75B6AE, 0x3F75925B, 0x3F756E0E, 0x3F7549C6, 0x3F752583, 0x3F750146, 0x3F74DD0E, 0x3F74B8DB, 0x3F7494AE, 0x3F747086, 0x3F744C63, 0x3F742846, 0x3F74042E, 0x3F73E01C, 0x3F73BC0F, 0x3F739807, 0x3F737404, 0x3F735007, 0x3F732C0F, 0x3F73081C, 0x3F72E42F, 0x3F72C047, 0x3F729C64, 0x3F727887, 0x3F7254AF, 0x3F7230DC, 0x3F720D0F, 0x3F71E947, 0x3F71C584, 0x3F71A1C6, 0x3F717E0E, 0x3F715A5B, 0x3F7136AD, 0x3F711305, 0x3F70EF62, 0x3F70CBC4, 0x3F70A82B, 0x3F708498, 0x3F70610A, 0x3F703D81, 0x3F7019FD, 0x3F6FF67F, 0x3F6FD306, 0x3F6FAF92, 0x3F6F8C23, 0x3F6F68BA, 0x3F6F4556, 0x3F6F21F7, 0x3F6EFE9D, 0x3F6EDB49, 0x3F6EB7FA, 0x3F6E94B0, 0x3F6E716B, 0x3F6E4E2B, 0x3F6E2AF1, 0x3F6E07BC, 0x3F6DE48C, 0x3F800000, 0x3F6DC161, 0x3F5CCFA0, 0x3F4D1303, 0x3F3E7583, 0x3F30E2A9, 0x3F244774, 0x3F18923F, 0x3F0DB2A4, 0x3F03996B, 0x3EF470E1, 0x3EE30526, 0x3ED2D741, 0x3EC3D08B, 0x3EB5DBFB, 0x3EA8E607, 0x3E9CDC8A, 0x3E91AEA9, 0x3E874CBE, 0x3E7B5080, 0x3E69675D, 0x3E58C500, 0x3E495220, 0x3E3AF91B, 0x3E2DA5DB, 0x3E2145B8, 0x3E15C75E, 0x3E0B1AB6, 0x3E0130CE, 0x3DEFF78B, 0x3DDEDD71, 0x3DCEFB5A, 0x3DC03B0C, 0x3DB287E0, 0x3DA5CEA6, 0x3D99FD90, 0x3D8F0410, 0x3D84D2CB, 0x3D76B6F6, 0x3D6521C0, 0x3D54CD52, 0x3D45A2D5, 0x3D378D0A, 0x3D2A7839, 0x3D1E5213, 0x3D130992, 0x3D088EF0, 0x3CFDA6F5, 0x3CEB932C, 0x3CDAC934, 0x3CCB318C, 0x3CBCB65A, 0x3CAF435F, 0x3CA2C5C3, 0x3C972C06, 0x3C8C65F5, 0x3C826474, 0x3C7232F8, 0x3C60F025, 0x3C50E83A, 0x3C4204D2, 0x3C3430FF, 0x3C275980, 0x3C1B6C42, 0x3C10589D, 0x3C060F18, 0x3BF90275, 0x3BE7435B, 0x3BD6C80E, 0x3BC7797C, 0x3BB9422B, 0x3BAC0E26, 0x3B9FCB0C, 0x3B9467C1, 0x3B89D42A, 0x3B800183, 0x3B6DC413, 0x3B5CD229, 0x3B4D1572, 0x3B3E77CA, 0x3B30E4BA, 0x3B24494B, 0x3B18940B, 0x3B0DB45E, 0x3B039B00, 0x3AF473B0, 0x3AE307F8, 0x3AD2D9AC, 0x3AC3D2FE, 0x3AB5DE1E, 0x3AA8E7EB, 0x3A9CDE48, 0x3A91B06C, 0x3A874E3D, 0x3A7B5348, 0x3A696A67, 0x3A58C7AD, 0x3A495447, 0x3A3AFB69, 0x3A2DA799, 0x3A214763, 0x3A15C955, 0x3A0B1CA9, 0x3A01329B, 0x39EFFA23, 0x39DEDFF5, 0x39CEFD29, 0x39C03D9D, 0x39B28A81, 0x39A5D10A, 0x3999FFC6, 0x398F0541, 0x3984D410, 0x3976BADD, 0x39652533, 0x3954CEFA, 0x3945A566, 0x39379050, 0x392A7A3D, 0x391E5312, 0x39130AB4, 0x39089109, 0x38FDABE8, 0x38EB9814, 0x38DACBBE, 0x38CB316C, 0x38BCB903, 0x38AF47AC diff --git a/asm/data/code_26840_len_20d0.data.s b/asm/data/code_26840_len_20d0.data.s new file mode 100644 index 0000000000..6787bc9375 --- /dev/null +++ b/asm/data/code_26840_len_20d0.data.s @@ -0,0 +1,69 @@ +.include "macro.inc" + +.section .data + +glabel D_80078190 +.word 0xF8030125, 0x07D0FDBC, 0xF8860355, 0x06FCFBAB, 0xFEDAF82D, 0x0245077D, 0xFCA9F901, 0x0456065D, 0xFC33FBB2, 0xFCEFFE94, 0xFFD80080, 0x00A4007D, 0x090E0673, 0x02FF0053, 0xFEF2FEA7, 0xFEF9FF7B + +glabel D_800781D0 +.word 0xB1011110, 0x00FFFE34, 0xBB90E21E, 0x00FB10EF, 0xF2D180C4, 0xB3B1D3CF, 0xD1FDFE80, 0x1D2D3D3B, 0x2C3BFC1D, 0x80DEF0D0, 0xD3D2B3D1, 0xF480A203, 0xD00DA9EA, 0xCB729041, 0x4E1D2D0C, 0x1E102F90, 0xF21203F0, 0xC2D1D4F3, 0x80B0A1BF, 0xD21E1270, 0x4D804C39, 0x2C7E306D, 0xB9CF90E1, 0xF2F3F2E1, 0xE21622C1, 0xE728F4F0, 0x211010FF, 0xA1ED9F2F, 0xF561333C, 0xD0A1DAC2, 0xFF144122, 0x2DEFA1FA, 0xE10E2330, 0x320EF091, 0x9AF2CF55, 0x1361EE1C, 0x919D0FD2, 0x52064DE1, 0x0991D01B, 0x152E36FD, 0x12CB8122, 0xBC65F073, 0xCE3FAE71, 0x4E9370F5, 0x6ED21BD1, 0x610A5D00, 0x00000000, 0x00000000 + +glabel D_80078290 +.word 0x00000003, 0x0000000B, 0x00000000, 0x00000009, 0x00002666, 0xFFFFD99A, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000003, 0x00000007, 0x00000CCC, 0xFFFFF334, 0x00003FFF, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x0000000A, 0x00001388, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00005000 + +glabel D_800782F8 +.word 0x00000001, 0x0000000B, 0x00000000, 0x0000000A, 0x00004E20, 0x00000000, 0x00007FFF, 0x00000000, 0x00000000, 0x00007FFF + +glabel D_80078320 +.word 0x00000001, 0x0000000D, 0x00000000, 0x0000000C, 0x00004E20, 0x00000000, 0x00007FFF, 0x00000000, 0x00000000, 0x00007FFF + +glabel D_80078348 +.short 0x0000, 0x0001, 0x0000, 0x000E, 0x0000, 0x0000, 0x0000, 0x000D, 0x0000, 0x4E20, 0x0000, 0x0000, 0x0000, 0x7FFF, 0x0000, 0x0000, 0x0000 + +glabel D_8007836A +.short 0x0000, 0x0000, 0x7FFF, 0x034A, 0x0349, 0x0100, 0x0000, 0x0100, 0x0000, 0x0008, 0x0012, 0x3C7F, 0x2D7F, 0x2B5F, 0x1D00, 0xFF00, 0x2700, 0xFF00, 0x0000, 0x0100, 0x0000, 0x0008, 0x001A, 0x3C7F, 0x237F, 0x3C3F, 0x2A1F, 0x2A0F, 0x2A07, 0x2A03, 0x3600, 0xFF00, 0x3600, 0xFF00, 0x0000, 0x3433, 0x7F26, 0x3F16, 0x00FF, 0x343B, 0x7F3B, 0x3FFF, 0x0000 + +glabel D_800783C0 +.word 0x80078378, 0x80078390, 0x80078390, 0x80078390, 0x80078390, 0x80078390, 0x80078390, 0x80078390, 0x80078390, 0x80078390, 0x80078390, 0x80078390, 0x80078390, 0x80078390, 0x80078390, 0x80078390 + +glabel D_80078400 +.word 0x8004CE70, 0x8004CEA4, 0x8004CEC4, 0x8004CF0C + +glabel D_80078410 +.word 0x8004CF3C, 0x8004D00C, 0x8004D038, 0x8004D050, 0x8004D07C, 0x8004D114, 0x8004D130, 0x8004D15C, 0x8004D180, 0x8004D1B4, 0x8004D23C, 0x8004D2B0, 0x8004D2E4, 0x8004D310, 0x8004D31C, 0x8004D324, 0x8004D33C, 0x8004D354, 0x8004D36C, 0x8004D3A0, 0x8004D3F8 + +glabel D_80078464 +.word 0x00000000, 0x00000000, 0x00000000 + +glabel D_80078470 +.word 0x8004FBBC, 0x8004FCB4, 0x8004FCE4, 0x8004FD04, 0x8004FD94, 0x8004FE10, 0x8004FD38, 0x80050560, 0x8004FE6C, 0x8004FEB0, 0x8004FF3C, 0x8004FF58, 0x8004FF70, 0x8004FF88, 0x8004FFA8, 0x8004FFB4, 0x8004FFC8, 0x8004FFE4, 0x8004FFF0, 0x8004FFFC, 0x80050004, 0x80050020, 0x8004FED0, 0x80050128, 0x80050560, 0x80050560, 0x80050560, 0x80050560, 0x800501A8, 0x8005015C, 0x80050184, 0x800502F0, 0x02010101, 0x04030200, 0x02010101, 0x01010102, 0x03010100, 0x02010301, 0x00000000, 0x03030303 + +glabel D_80078510 +.word 0x30182028, 0x30384030, 0x00000000, 0x00000000 + +glabel D_80078520 +.word 0x00000000, 0x00000000, 0x00000000, 0x00000000 + +glabel D_80078530 +.word 0x00000200, 0x08001200, 0x20003200, 0x48006200, 0x80000000 + +glabel D_80078544 +.word 0x01000000, 0x0008000C + +glabel D_8007854C +.word 0x3D7FFF00, 0x3400FF00 + +glabel D_80078554 +.word 0x5C00FF00 + +glabel D_80078558 +.ascii "^]\\[ZXVSQOJE@;7531/-+)'&%#! " + +glabel D_80078580 +.word 0x03040506, 0x0708090A, 0x0B0C0D0E, 0x0F101112, 0x13141516, 0x17000000, 0x00000000, 0x00000000 + +glabel D_800785A0 +.word 0x0393756C, 0x034736DE, 0x02FAE1DA, 0x02AEA34C, 0x02624E48, 0x0215F944, 0x01C9BAB6, 0x01A39034, 0x017D65B2, 0x015751A6, 0x01312724, 0x0121E2F0, 0x01129EBC, 0x01035A88, 0x00F41654, 0x00E4D220, 0x00D58DEC, 0x00C649B8, 0x00B70584, 0x00A7D7C6, 0x00989392, 0x00894F5E, 0x007A0B2A, 0x006AC6F6, 0x005B82C2, 0x004C3E8E, 0x00449C74, 0x003CFA5A, 0x00355840, 0x002DB626, 0x0029F054, 0x0026140C, 0x00224E3A, 0x001E71F2, 0x001CF41C, 0x001B7646, 0x0019E1FA, 0x00186424, 0x0016CFD8, 0x00155202, 0x0013D42C, 0x00123FE0, 0x0010C20A, 0x000F2DBE, 0x000E7A0E, 0x000DAFE8, 0x000CE5C2, 0x000C3212, 0x000B67EC, 0x000A9DC6, 0x0009EA16, 0x00091FF0, 0x000855CA, 0x00078BA4, 0x0006D7F4, 0x00060DCE, 0x0005B3F6, 0x000543A8, 0x0004E9D0, 0x00048FF8, 0x0004630C, 0x00043620, 0x00040934, 0x0003F2BE, 0x0003C5D2, 0x000398E6, 0x00038270, 0x00035584, 0x00032898, 0x0002FBAC, 0x0002E536, 0x0002B84A, 0x00028B5E, 0x00025E72, 0x000247FC, 0x00021B10, 0x0001EE24, 0x0001C138, 0x0001AAC2, 0x00017DD6, 0x00016760, 0x00013A74, 0x00010D88, 0x0000F712, 0x0000E09C, 0x0000CA26, 0x0000B3B0, 0x00009D3A, 0x000086C4, 0x0000704E, 0x000059D8, 0x00004362, 0x00002CEC, 0x00001676, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000 + +glabel D_80078730 +.word 0x3F800000, 0x3F8012EF, 0x3F8025E1, 0x3F8038D6, 0x3F804BCD, 0x3F805EC7, 0x3F8071C4, 0x3F8084C4, 0x3F8097C7, 0x3F80AACC, 0x3F80BDD4, 0x3F80D0DF, 0x3F80E3ED, 0x3F80F6FE, 0x3F810A12, 0x3F811D28, 0x3F813041, 0x3F81435D, 0x3F81567C, 0x3F81699E, 0x3F817CC2, 0x3F818FE9, 0x3F81A313, 0x3F81B640, 0x3F81C970, 0x3F81DCA3, 0x3F81EFD9, 0x3F820311, 0x3F82164C, 0x3F82298A, 0x3F823CCB, 0x3F82500F, 0x3F826356, 0x3F82769F, 0x3F8289EB, 0x3F829D3A, 0x3F82B08C, 0x3F82C3E1, 0x3F82D739, 0x3F82EA94, 0x3F82FDF1, 0x3F831151, 0x3F8324B4, 0x3F83381A, 0x3F834B83, 0x3F835EEF, 0x3F83725E, 0x3F8385D0, 0x3F839944, 0x3F83ACBB, 0x3F83C035, 0x3F83D3B2, 0x3F83E732, 0x3F83FAB5, 0x3F840E3B, 0x3F8421C4, 0x3F84354F, 0x3F8448DD, 0x3F845C6E, 0x3F847002, 0x3F848399, 0x3F849733, 0x3F84AAD0, 0x3F84BE70, 0x3F84D213, 0x3F84E5B9, 0x3F84F961, 0x3F850D0C, 0x3F8520BA, 0x3F85346B, 0x3F85481F, 0x3F855BD6, 0x3F856F90, 0x3F85834D, 0x3F85970D, 0x3F85AAD0, 0x3F85BE96, 0x3F85D25F, 0x3F85E62A, 0x3F85F9F8, 0x3F860DC9, 0x3F86219D, 0x3F863574, 0x3F86494E, 0x3F865D2B, 0x3F86710B, 0x3F8684EE, 0x3F8698D4, 0x3F86ACBD, 0x3F86C0A9, 0x3F86D498, 0x3F86E88A, 0x3F86FC7F, 0x3F871077, 0x3F872472, 0x3F87386F, 0x3F874C6F, 0x3F876072, 0x3F877478, 0x3F878881, 0x3F879C8D, 0x3F87B09C, 0x3F87C4AE, 0x3F87D8C3, 0x3F87ECDB, 0x3F8800F6, 0x3F881514, 0x3F882935, 0x3F883D59, 0x3F885180, 0x3F8865AA, 0x3F8879D7, 0x3F888E07, 0x3F88A23A, 0x3F88B670, 0x3F88CAA9, 0x3F88DEE5, 0x3F88F324, 0x3F890766, 0x3F891BAB, 0x3F892FF3, 0x3F89443E, 0x3F89588C, 0x3F896CDD, 0x3F898131, 0x3F899588, 0x3F89A9E2, 0x3F89BE3F, 0x3F800000, 0x3F89D29F, 0x3F946637, 0x3F9FC997, 0x3FAC0CB1, 0x3FB940B0, 0x3FC77811, 0x3FD6C6BB, 0x3FE7421D, 0x3FF9014B, 0x40060E8F, 0x4010582B, 0x401B6BE2, 0x40275936, 0x403430DA, 0x404204C9, 0x4050E860, 0x4060F077, 0x40723381, 0x408264D5, 0x408C667B, 0x40972CB6, 0x40A2C69C, 0x40AF446B, 0x40BCB7A0, 0x40CB3311, 0x40DACB04, 0x40EB954F, 0x40FDA974, 0x41089062, 0x41130B3F, 0x411E53FF, 0x3F800000, 0x3F7FDA28, 0x3F7FB456, 0x3F7F8E89, 0x3F7F68C2, 0x3F7F4300, 0x3F7F1D44, 0x3F7EF78E, 0x3F7ED1DD, 0x3F7EAC32, 0x3F7E868C, 0x3F7E60EC, 0x3F7E3B51, 0x3F7E15BC, 0x3F7DF02C, 0x3F7DCAA2, 0x3F7DA51E, 0x3F7D7F9F, 0x3F7D5A26, 0x3F7D34B2, 0x3F7D0F44, 0x3F7CE9DB, 0x3F7CC478, 0x3F7C9F1A, 0x3F7C79C2, 0x3F7C546F, 0x3F7C2F22, 0x3F7C09DA, 0x3F7BE498, 0x3F7BBF5B, 0x3F7B9A24, 0x3F7B74F2, 0x3F7B4FC6, 0x3F7B2A9F, 0x3F7B057E, 0x3F7AE062, 0x3F7ABB4C, 0x3F7A963B, 0x3F7A7130, 0x3F7A4C2A, 0x3F7A272A, 0x3F7A022F, 0x3F79DD3A, 0x3F79B84A, 0x3F799360, 0x3F796E7B, 0x3F79499C, 0x3F7924C2, 0x3F78FFED, 0x3F78DB1E, 0x3F78B654, 0x3F789190, 0x3F786CD1, 0x3F784818, 0x3F782364, 0x3F77FEB6, 0x3F77DA0D, 0x3F77B569, 0x3F7790CB, 0x3F776C32, 0x3F77479F, 0x3F772311, 0x3F76FE88, 0x3F76DA05, 0x3F76B587, 0x3F76910F, 0x3F766C9C, 0x3F76482E, 0x3F7623C6, 0x3F75FF63, 0x3F75DB06, 0x3F75B6AE, 0x3F75925B, 0x3F756E0E, 0x3F7549C6, 0x3F752583, 0x3F750146, 0x3F74DD0E, 0x3F74B8DB, 0x3F7494AE, 0x3F747086, 0x3F744C63, 0x3F742846, 0x3F74042E, 0x3F73E01C, 0x3F73BC0F, 0x3F739807, 0x3F737404, 0x3F735007, 0x3F732C0F, 0x3F73081C, 0x3F72E42F, 0x3F72C047, 0x3F729C64, 0x3F727887, 0x3F7254AF, 0x3F7230DC, 0x3F720D0F, 0x3F71E947, 0x3F71C584, 0x3F71A1C6, 0x3F717E0E, 0x3F715A5B, 0x3F7136AD, 0x3F711305, 0x3F70EF62, 0x3F70CBC4, 0x3F70A82B, 0x3F708498, 0x3F70610A, 0x3F703D81, 0x3F7019FD, 0x3F6FF67F, 0x3F6FD306, 0x3F6FAF92, 0x3F6F8C23, 0x3F6F68BA, 0x3F6F4556, 0x3F6F21F7, 0x3F6EFE9D, 0x3F6EDB49, 0x3F6EB7FA, 0x3F6E94B0, 0x3F6E716B, 0x3F6E4E2B, 0x3F6E2AF1, 0x3F6E07BC, 0x3F6DE48C, 0x3F800000, 0x3F6DC161, 0x3F5CCFA0, 0x3F4D1303, 0x3F3E7583, 0x3F30E2A9, 0x3F244774, 0x3F18923F, 0x3F0DB2A4, 0x3F03996B, 0x3EF470E1, 0x3EE30526, 0x3ED2D741, 0x3EC3D08B, 0x3EB5DBFB, 0x3EA8E607, 0x3E9CDC8A, 0x3E91AEA9, 0x3E874CBE, 0x3E7B5080, 0x3E69675D, 0x3E58C500, 0x3E495220, 0x3E3AF91B, 0x3E2DA5DB, 0x3E2145B8, 0x3E15C75E, 0x3E0B1AB6, 0x3E0130CE, 0x3DEFF78B, 0x3DDEDD71, 0x3DCEFB5A, 0x3DC03B0C, 0x3DB287E0, 0x3DA5CEA6, 0x3D99FD90, 0x3D8F0410, 0x3D84D2CB, 0x3D76B6F6, 0x3D6521C0, 0x3D54CD52, 0x3D45A2D5, 0x3D378D0A, 0x3D2A7839, 0x3D1E5213, 0x3D130992, 0x3D088EF0, 0x3CFDA6F5, 0x3CEB932C, 0x3CDAC934, 0x3CCB318C, 0x3CBCB65A, 0x3CAF435F, 0x3CA2C5C3, 0x3C972C06, 0x3C8C65F5, 0x3C826474, 0x3C7232F8, 0x3C60F025, 0x3C50E83A, 0x3C4204D2, 0x3C3430FF, 0x3C275980, 0x3C1B6C42, 0x3C10589D, 0x3C060F18, 0x3BF90275, 0x3BE7435B, 0x3BD6C80E, 0x3BC7797C, 0x3BB9422B, 0x3BAC0E26, 0x3B9FCB0C, 0x3B9467C1, 0x3B89D42A, 0x3B800183, 0x3B6DC413, 0x3B5CD229, 0x3B4D1572, 0x3B3E77CA, 0x3B30E4BA, 0x3B24494B, 0x3B18940B, 0x3B0DB45E, 0x3B039B00, 0x3AF473B0, 0x3AE307F8, 0x3AD2D9AC, 0x3AC3D2FE, 0x3AB5DE1E, 0x3AA8E7EB, 0x3A9CDE48, 0x3A91B06C, 0x3A874E3D, 0x3A7B5348, 0x3A696A67, 0x3A58C7AD, 0x3A495447, 0x3A3AFB69, 0x3A2DA799, 0x3A214763, 0x3A15C955, 0x3A0B1CA9, 0x3A01329B, 0x39EFFA23, 0x39DEDFF5, 0x39CEFD29, 0x39C03D9D, 0x39B28A81, 0x39A5D10A, 0x3999FFC6, 0x398F0541, 0x3984D410, 0x3976BADD, 0x39652533, 0x3954CEFA, 0x3945A566, 0x39379050, 0x392A7A3D, 0x391E5312, 0x39130AB4, 0x39089109, 0x38FDABE8, 0x38EB9814, 0x38DACBBE, 0x38CB316C, 0x38BCB903, 0x38AF47AC diff --git a/asm/nonmatchings/code_25f00_len_940/nuAuCleanDMABuffers.s b/asm/nonmatchings/code_25f00_len_940/nuAuCleanDMABuffers.s deleted file mode 100644 index b8fc042bf6..0000000000 --- a/asm/nonmatchings/code_25f00_len_940/nuAuCleanDMABuffers.s +++ /dev/null @@ -1,57 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel nuAuCleanDMABuffers -/* 26668 8004B268 27BDFFE0 */ addiu $sp, $sp, -0x20 -/* 2666C 8004B26C 3C02800A */ lui $v0, %hi(nuAuDmaState) -/* 26670 8004B270 24423BD0 */ addiu $v0, $v0, %lo(nuAuDmaState) -/* 26674 8004B274 AFBF001C */ sw $ra, 0x1c($sp) -/* 26678 8004B278 AFB20018 */ sw $s2, 0x18($sp) -/* 2667C 8004B27C AFB10014 */ sw $s1, 0x14($sp) -/* 26680 8004B280 AFB00010 */ sw $s0, 0x10($sp) -/* 26684 8004B284 8C500004 */ lw $s0, 4($v0) -/* 26688 8004B288 1200001A */ beqz $s0, .L8004B2F4 -/* 2668C 8004B28C 0040902D */ daddu $s2, $v0, $zero -.L8004B290: -/* 26690 8004B290 8E02000C */ lw $v0, 0xc($s0) -/* 26694 8004B294 3C038008 */ lui $v1, %hi(nuAuFrameCounter) -/* 26698 8004B298 8C63817C */ lw $v1, %lo(nuAuFrameCounter)($v1) -/* 2669C 8004B29C 8E110000 */ lw $s1, ($s0) -/* 266A0 8004B2A0 24420001 */ addiu $v0, $v0, 1 -/* 266A4 8004B2A4 0043102B */ sltu $v0, $v0, $v1 -/* 266A8 8004B2A8 50400010 */ beql $v0, $zero, .L8004B2EC -/* 266AC 8004B2AC 0220802D */ daddu $s0, $s1, $zero -/* 266B0 8004B2B0 8E420004 */ lw $v0, 4($s2) -/* 266B4 8004B2B4 50500001 */ beql $v0, $s0, .L8004B2BC -/* 266B8 8004B2B8 AE510004 */ sw $s1, 4($s2) -.L8004B2BC: -/* 266BC 8004B2BC 0C012D03 */ jal alUnlink -/* 266C0 8004B2C0 0200202D */ daddu $a0, $s0, $zero -/* 266C4 8004B2C4 8E450008 */ lw $a1, 8($s2) -/* 266C8 8004B2C8 50A00005 */ beql $a1, $zero, .L8004B2E0 -/* 266CC 8004B2CC AE500008 */ sw $s0, 8($s2) -/* 266D0 8004B2D0 0C012CFB */ jal alLink -/* 266D4 8004B2D4 0200202D */ daddu $a0, $s0, $zero -/* 266D8 8004B2D8 08012CBB */ j .L8004B2EC -/* 266DC 8004B2DC 0220802D */ daddu $s0, $s1, $zero -.L8004B2E0: -/* 266E0 8004B2E0 AE000000 */ sw $zero, ($s0) -/* 266E4 8004B2E4 AE000004 */ sw $zero, 4($s0) -/* 266E8 8004B2E8 0220802D */ daddu $s0, $s1, $zero -.L8004B2EC: -/* 266EC 8004B2EC 1600FFE8 */ bnez $s0, .L8004B290 -/* 266F0 8004B2F0 00000000 */ nop -.L8004B2F4: -/* 266F4 8004B2F4 3C038008 */ lui $v1, %hi(nuAuFrameCounter) -/* 266F8 8004B2F8 2463817C */ addiu $v1, $v1, %lo(nuAuFrameCounter) -/* 266FC 8004B2FC 8C620000 */ lw $v0, ($v1) -/* 26700 8004B300 3C018008 */ lui $at, %hi(nuAuDmaNext) -/* 26704 8004B304 AC208178 */ sw $zero, %lo(nuAuDmaNext)($at) -/* 26708 8004B308 24420001 */ addiu $v0, $v0, 1 -/* 2670C 8004B30C AC620000 */ sw $v0, ($v1) -/* 26710 8004B310 8FBF001C */ lw $ra, 0x1c($sp) -/* 26714 8004B314 8FB20018 */ lw $s2, 0x18($sp) -/* 26718 8004B318 8FB10014 */ lw $s1, 0x14($sp) -/* 2671C 8004B31C 8FB00010 */ lw $s0, 0x10($sp) -/* 26720 8004B320 03E00008 */ jr $ra -/* 26724 8004B324 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/code_31650/func_80056D78.s b/asm/nonmatchings/code_31650/func_80056D78.s deleted file mode 100644 index f81c89cc13..0000000000 --- a/asm/nonmatchings/code_31650/func_80056D78.s +++ /dev/null @@ -1,15 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel func_80056D78 -/* 32178 80056D78 308400FF */ andi $a0, $a0, 0xff -/* 3217C 80056D7C 00041040 */ sll $v0, $a0, 1 -/* 32180 80056D80 00441021 */ addu $v0, $v0, $a0 -/* 32184 80056D84 3C038008 */ lui $v1, %hi(D_80078E54) -/* 32188 80056D88 8C638E54 */ lw $v1, %lo(D_80078E54)($v1) -/* 3218C 80056D8C 000210C0 */ sll $v0, $v0, 3 -/* 32190 80056D90 8C630020 */ lw $v1, 0x20($v1) -/* 32194 80056D94 30A57FFF */ andi $a1, $a1, 0x7fff -/* 32198 80056D98 00621821 */ addu $v1, $v1, $v0 -/* 3219C 80056D9C 03E00008 */ jr $ra -/* 321A0 80056DA0 A4650000 */ sh $a1, ($v1) diff --git a/asm/nonmatchings/code_31650/func_80056DA4.s b/asm/nonmatchings/code_31650/func_80056DA4.s deleted file mode 100644 index 5929744cea..0000000000 --- a/asm/nonmatchings/code_31650/func_80056DA4.s +++ /dev/null @@ -1,14 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel func_80056DA4 -/* 321A4 80056DA4 308400FF */ andi $a0, $a0, 0xff -/* 321A8 80056DA8 00041840 */ sll $v1, $a0, 1 -/* 321AC 80056DAC 3C028008 */ lui $v0, %hi(D_80078E54) -/* 321B0 80056DB0 8C428E54 */ lw $v0, %lo(D_80078E54)($v0) -/* 321B4 80056DB4 00641821 */ addu $v1, $v1, $a0 -/* 321B8 80056DB8 8C420020 */ lw $v0, 0x20($v0) -/* 321BC 80056DBC 000318C0 */ sll $v1, $v1, 3 -/* 321C0 80056DC0 00431021 */ addu $v0, $v0, $v1 -/* 321C4 80056DC4 03E00008 */ jr $ra -/* 321C8 80056DC8 94420000 */ lhu $v0, ($v0) diff --git a/asm/nonmatchings/code_31650/func_80056DCC.s b/asm/nonmatchings/code_31650/func_80056DCC.s deleted file mode 100644 index 0b3ee24ab1..0000000000 --- a/asm/nonmatchings/code_31650/func_80056DCC.s +++ /dev/null @@ -1,30 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel func_80056DCC -/* 321CC 80056DCC 27BDFFE0 */ addiu $sp, $sp, -0x20 -/* 321D0 80056DD0 00A0302D */ daddu $a2, $a1, $zero -/* 321D4 80056DD4 308400FF */ andi $a0, $a0, 0xff -/* 321D8 80056DD8 00041040 */ sll $v0, $a0, 1 -/* 321DC 80056DDC 00441021 */ addu $v0, $v0, $a0 -/* 321E0 80056DE0 3C038008 */ lui $v1, %hi(D_80078E54) -/* 321E4 80056DE4 8C638E54 */ lw $v1, %lo(D_80078E54)($v1) -/* 321E8 80056DE8 000210C0 */ sll $v0, $v0, 3 -/* 321EC 80056DEC AFBF0018 */ sw $ra, 0x18($sp) -/* 321F0 80056DF0 AFB10014 */ sw $s1, 0x14($sp) -/* 321F4 80056DF4 AFB00010 */ sw $s0, 0x10($sp) -/* 321F8 80056DF8 8C700020 */ lw $s0, 0x20($v1) -/* 321FC 80056DFC 30D100FF */ andi $s1, $a2, 0xff -/* 32200 80056E00 02028021 */ addu $s0, $s0, $v0 -/* 32204 80056E04 8E040004 */ lw $a0, 4($s0) -/* 32208 80056E08 0220282D */ daddu $a1, $s1, $zero -/* 3220C 80056E0C 0C016413 */ jal func_8005904C -/* 32210 80056E10 A206000C */ sb $a2, 0xc($s0) -/* 32214 80056E14 8E040008 */ lw $a0, 8($s0) -/* 32218 80056E18 0C016413 */ jal func_8005904C -/* 3221C 80056E1C 0220282D */ daddu $a1, $s1, $zero -/* 32220 80056E20 8FBF0018 */ lw $ra, 0x18($sp) -/* 32224 80056E24 8FB10014 */ lw $s1, 0x14($sp) -/* 32228 80056E28 8FB00010 */ lw $s0, 0x10($sp) -/* 3222C 80056E2C 03E00008 */ jr $ra -/* 32230 80056E30 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/src/audio.h b/src/audio.h index 620d3b2f32..fd77026d70 100644 --- a/src/audio.h +++ b/src/audio.h @@ -71,16 +71,21 @@ typedef struct UnkAl3 { typedef struct UnkLen18 { /* 0x00 */ u16 unk_00; /* 0x02 */ char unk_02[0x2]; - /* 0x04 */ s32 unk_04; - /* 0x08 */ s32 unk_08; + /* 0x04 */ s32* unk_04; + /* 0x08 */ s32* unk_08; /* 0x0C */ s8 unk_0C; - /* 0x0D */ char unk_0D[0xB]; + /* 0x0D */ char unk_0D[0x3]; + /* 0x10 */ s32* unk_10; + /* 0x14 */ s32* unk_14; } UnkLen18; typedef struct UnkAl7C { - /* 0x00 */ char unk_00[0x14]; - /* 0x14 */ s32 unk_14; - /* 0x18 */ s32 unk_18; + /* 0x00 */ char unk_00[0x4]; + /* 0x04 */ s32* unk_04; + /* 0x08 */ s32* unk_08; + /* 0x0C */ char unk_0C[0x8]; + /* 0x14 */ s32* unk_14; + /* 0x18 */ s32* unk_18; /* 0x1C */ char unk_1C[0xC]; /* 0x28 */ s32 unk_28; /* 0x2C */ s32 unk_2C; @@ -105,10 +110,13 @@ typedef struct UnkAl7C { } UnkAl7C; typedef struct UnkAl0 { - /* 0x00 */ char unk_00[0x18]; + /* 0x00 */ char unk_00[0x14]; + /* 0x14 */ s32* unk_14; // pointer to nuAuDmaNew /* 0x18 */ ALHeap* unk_18; - /* 0x1C */ UnkAl7C* unk_1C; - /* 0x20 */ UnkLen18 unk_20[1]; // amt unknown + /* 0x1C */ UnkAl7C* unk_1C; // pointer to list of UnkAl7C + /* 0x20 */ UnkLen18* unk_20; // amt unknown + /* 0x24 */ s32* unk_24; + /* 0x28 */ s32* unk_28; } UnkAl0; typedef struct UnkAlA { @@ -282,7 +290,9 @@ typedef struct UnkAl19E0 { /* 0x001C */ s32 unk_1C; /* 0x0020 */ UnkTemp2* unk_20; /* 0x0024 */ s32 unk_24; - /* 0x0028 */ char unk_28[0xC]; + /* 0x0028 */ char unk_28[0x4]; + /* 0x002C */ s32* unk_2C; + /* 0x0030 */ char unk_30[0x4]; /* 0x0034 */ s32 unk_34; /* 0x0038 */ s32 unk_38; /* 0x003C */ UnkAl19E0Sub* unk_3C; @@ -420,24 +430,24 @@ typedef struct UnkAl834 { /* 0x021 */ char unk_21[0x813]; } UnkAl834; -extern s32 D_80078E50; -extern UnkAl0* D_80078E54; -extern s8* D_80078181; -extern s32* D_80078190; -extern s32* D_800781D0; -extern s32* D_80078290; -extern s32* D_800782F8; -extern s32* D_80078348; -extern s32* D_80078320; -extern s32* D_80078544; -extern s32* D_800785A0; +extern u8 D_80078181; +extern s32 D_80078190; +extern s32 D_800781D0; +extern s32 D_80078290; +extern s32 D_800782F8; +extern s32 D_80078348; +extern s32 D_80078320; +extern s32 D_80078544; +extern s32 D_800785A0; extern s32 D_80078DB0; extern u16 D_80078DB6; +extern UnkAl0* D_80078E50; +extern UnkAl0* D_80078E54; extern s8 D_80078E58; extern s16 D_80078E5A; extern s8 D_80078E5C; -extern s32 D_8007F1F8; +extern s32* D_8007F1F8; // points to 80078290 extern UnkAl19E0* D_8009A5C0; extern UnkAlA9C* D_8009A5CC; @@ -545,6 +555,7 @@ void func_800561E4(s32); void func_80056204(void); void func_80056228(void); +void func_80056D44(s16); s16 func_80056D50(void); void func_80056D78(u8, u16); void func_80056DCC(u8, u8); diff --git a/src/code_25f00_len_940.c b/src/code_25f00_len_940.c index f46f1710b7..e982354553 100644 --- a/src/code_25f00_len_940.c +++ b/src/code_25f00_len_940.c @@ -1,9 +1,16 @@ #include "common.h" #include "nu/nusys.h" #include "nu/nualsgi.h" +#include "audio.h" extern NUDMAState nuAuDmaState; -extern s32 nuAuDmaNext; + +s32 D_80078170 = 0; +NUAuPreNMIFunc nuAuPreNMIFunc = NULL; +s32 nuAuDmaNext = 0; +u32 nuAuFrameCounter = 0; +u8 D_80078180 = 1; +u8 D_80078181 = 1; INCLUDE_ASM(s32, "code_25f00_len_940", func_8004AB00); @@ -31,45 +38,61 @@ ALDMAproc nuAuDmaNew(NUDMAState** state) { return nuAuDmaCallBack; } -// Some weird symbol loading shenanigans (addiu vs lw) -#ifdef NON_MATCHING void nuAuCleanDMABuffers(void) { - NUDMABuffer* dmaPtr = nuAuDmaState.firstUsed; - NUDMABuffer* nextPtr; + NUDMAState* state = &nuAuDmaState; + NUDMABuffer* dmaPtr = state->firstUsed; - while (dmaPtr != NULL) { - nextPtr = dmaPtr->node.next; - if (&nuAuDmaState) { + do { + NUDMAState* state = &nuAuDmaState; + NUDMABuffer* nextPtr; + u32* frameCounter; + while (dmaPtr != NULL) { + nextPtr = dmaPtr->node.next; + if ((dmaPtr->frameCnt + 1) < nuAuFrameCounter) { + if (state->firstUsed == dmaPtr) { + state->firstUsed = nextPtr; + } + alUnlink(dmaPtr); + if (state->firstFree != 0) { + alLink(dmaPtr, state->firstFree); + } else { + state->firstFree = dmaPtr; + dmaPtr->node.next = 0; + dmaPtr->node.prev = 0; + } + } + dmaPtr = nextPtr; } - if (dmaPtr->frameCnt + 1 < nuAuFrameCounter) { - if (nuAuDmaState.firstUsed == dmaPtr) { - nuAuDmaState.firstUsed = nextPtr; - } - - alUnlink(dmaPtr); - - if (nuAuDmaState.firstFree != NULL) { - alLink(dmaPtr, nuAuDmaState.firstFree); - } else { - nuAuDmaState.firstFree = dmaPtr; - dmaPtr->node.next = NULL; - dmaPtr->node.prev = NULL; - } - } - - dmaPtr = nextPtr; - } - - nuAuDmaNext = 0; - nuAuFrameCounter += 1; + nuAuDmaNext = 0; + frameCounter = &nuAuFrameCounter; + *frameCounter += 1; + } while (0); } -#else -INCLUDE_ASM(void, "code_25f00_len_940", nuAuCleanDMABuffers); -#endif + +extern u16 D_800A0F50; INCLUDE_ASM(s32, "code_25f00_len_940", func_8004B328); +// void func_8004B328(s16 arg0, s32 arg1) { +// s32 temp_s0; +// s32 temp_hi; + +// switch (arg0) { +// case 2: +// D_800A0F50 = func_80056D50(); +// func_80056D34(); +// break; +// case 1: +// temp_s0 = D_800A0F50 - D_800A0F50 * (s32)(0x66666667) * arg1; + +// func_80056D44(temp_s0); +// if (temp_s0 == 0) { +// D_80078180 = 0; +// } +// break; +// } +// } void alLink(ALLink* element, ALLink* after) { element->next = after->next; diff --git a/src/code_31650.c b/src/code_31650.c index 33e672048c..7a03bc9b01 100644 --- a/src/code_31650.c +++ b/src/code_31650.c @@ -1,8 +1,8 @@ #include "common.h" #include "audio.h" -s32 D_80078E50 = 0; -UnkAl0* D_80078E54 = 0; +UnkAl0* D_80078E50 = NULL; +UnkAl0* D_80078E54 = NULL; s8 D_80078E58 = 0; s16 D_80078E5A = 0x7FFF; s8 D_80078E5C = 0; @@ -16,10 +16,10 @@ s32 D_80078E60[] = { 0x7FFF7FFC, 0x7FF57FE8, 0x7FD77FC0, 0x7FA57F84, 0x7F5F7F34, INCLUDE_ASM(s32, "code_31650", func_80056250); void func_800565A4(void) { - s32* sym = &D_80078E50; + UnkAl0** sym = &D_80078E50; - if (*sym != 0) { - *sym = 0; + if (*sym != NULL) { + *sym = NULL; } } @@ -46,17 +46,25 @@ void func_80056D5C(s8 arg0) { INCLUDE_ASM(s32, "code_31650", func_80056D5C); #endif -#ifdef NON_MATCHING void func_80056D78(u8 arg0, u16 arg1) { - D_80078E54->unk_20[arg0].unk_00 = arg1 & 0x7FFF; + UnkLen18* temp = &D_80078E54->unk_20[arg0]; + + temp->unk_00 = arg1 & 0x7FFF; } -#else -INCLUDE_ASM(void, "code_31650", func_80056D78, u8 arg0, u16 arg1); -#endif -INCLUDE_ASM(s32, "code_31650", func_80056DA4); +u16 func_80056DA4(u8 arg0, u16 arg1) { + UnkLen18* temp = &D_80078E54->unk_20[arg0]; -INCLUDE_ASM(void, "code_31650", func_80056DCC, u8 arg0, u8 arg1); + return temp->unk_00; +} + +void func_80056DCC(u8 arg0, u8 arg1) { + UnkLen18* temp = &D_80078E54->unk_20[arg0]; + + temp->unk_0C = arg1; + func_8005904C(temp->unk_04, arg1); + func_8005904C(temp->unk_08, arg1); +} INCLUDE_ASM(s32, "code_31650", func_80056E34); diff --git a/tools/splat.yaml b/tools/splat.yaml index b4d43e726a..62ee2a3f5d 100644 --- a/tools/splat.yaml +++ b/tools/splat.yaml @@ -205,7 +205,9 @@ segments: - [0x4a1f0, c, os/code_4a1f0_len_170] - [0x4a360, c, os/code_4a360_len_930] - [0x4ac90, c, os/code_4ac90_len_3910] - - [0x4E5A0, data, code_1000_len_60] # data until world + - [0x4E5A0, data, code_1000_len_60] + - [0x53570, .data, code_25f00_len_940] + - [0x53590, data, code_26840_len_20d0] - [0x541B0, .data, code_303c0_len_3e10] - [0x54250, .data, code_31650] - [0x542E0, data, code_31650] From c0421dcda4c4a34415f561b940f9c539d96912da Mon Sep 17 00:00:00 2001 From: Ethan Roseman Date: Fri, 18 Dec 2020 11:31:02 +0900 Subject: [PATCH 62/97] cleanup --- src/audio.h | 2 ++ src/code_25f00_len_940.c | 9 ++++++--- 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/src/audio.h b/src/audio.h index fd77026d70..6fbf481dbd 100644 --- a/src/audio.h +++ b/src/audio.h @@ -457,6 +457,8 @@ extern UnkAl834* D_8009A628; extern UnkAl6CC* D_8009A640; extern UnkAlA9C* D_8009A664; +extern u16 D_800A0F50; + extern s32* D_800A3FE0; extern s32* D_800A3FE4; extern s32 D_800A3FE8; diff --git a/src/code_25f00_len_940.c b/src/code_25f00_len_940.c index e982354553..ad0c604e93 100644 --- a/src/code_25f00_len_940.c +++ b/src/code_25f00_len_940.c @@ -42,6 +42,7 @@ void nuAuCleanDMABuffers(void) { NUDMAState* state = &nuAuDmaState; NUDMABuffer* dmaPtr = state->firstUsed; + // A bit odd, this do { NUDMAState* state = &nuAuDmaState; NUDMABuffer* nextPtr; @@ -49,11 +50,14 @@ void nuAuCleanDMABuffers(void) { while (dmaPtr != NULL) { nextPtr = dmaPtr->node.next; - if ((dmaPtr->frameCnt + 1) < nuAuFrameCounter) { + + if (dmaPtr->frameCnt + 1 < nuAuFrameCounter) { if (state->firstUsed == dmaPtr) { state->firstUsed = nextPtr; } + alUnlink(dmaPtr); + if (state->firstFree != 0) { alLink(dmaPtr, state->firstFree); } else { @@ -62,6 +66,7 @@ void nuAuCleanDMABuffers(void) { dmaPtr->node.prev = 0; } } + dmaPtr = nextPtr; } @@ -71,8 +76,6 @@ void nuAuCleanDMABuffers(void) { } while (0); } -extern u16 D_800A0F50; - INCLUDE_ASM(s32, "code_25f00_len_940", func_8004B328); // void func_8004B328(s16 arg0, s32 arg1) { // s32 temp_s0; From 7537984f584df40cc9ce669314bcbdbdb0de1982 Mon Sep 17 00:00:00 2001 From: Ethan Roseman Date: Fri, 18 Dec 2020 19:12:41 +0900 Subject: [PATCH 63/97] clean --- src/code_25f00_len_940.c | 4 ++-- src/code_26840_len_20d0.c | 2 +- src/code_28910_len_5090.c | 34 +++++++++++++++++----------------- src/code_2d9a0_len_890.c | 2 +- src/code_d0a70_len_4fe0.c | 24 ++++++++++++++---------- src/code_d5a50_len_5fd0.c | 20 +++++++++++--------- 6 files changed, 46 insertions(+), 40 deletions(-) diff --git a/src/code_25f00_len_940.c b/src/code_25f00_len_940.c index ad0c604e93..7161120d3a 100644 --- a/src/code_25f00_len_940.c +++ b/src/code_25f00_len_940.c @@ -23,8 +23,8 @@ void nuAuPreNMIFuncSet(NUAuPreNMIFunc func) { INCLUDE_ASM(s32, "code_25f00_len_940", func_8004AE08); -s32 nuAuDmaCallBack(s32 addr, s32 len, void* state); -INCLUDE_ASM(s32, "code_25f00_len_940", nuAuDmaCallBack, s32 addr, s32 len, void* state); +s32 nuAuDmaCallBack(s32 addr, s32 len, void* state, s32 arg3); +INCLUDE_ASM(s32, "code_25f00_len_940", nuAuDmaCallBack, s32 addr, s32 len, void* state, s32 arg3); ALDMAproc nuAuDmaNew(NUDMAState** state) { if (!nuAuDmaState.initialized) { diff --git a/src/code_26840_len_20d0.c b/src/code_26840_len_20d0.c index e1607a0cf7..8b8181fa4b 100644 --- a/src/code_26840_len_20d0.c +++ b/src/code_26840_len_20d0.c @@ -1,7 +1,7 @@ #include "common.h" #include "audio.h" -void func_8004B440(UnkAl6CC *arg0, u8 arg1, u8 arg2, UnkAl19E0 *arg3, u8 arg4) { +void func_8004B440(UnkAl6CC* arg0, u8 arg1, u8 arg2, UnkAl19E0* arg3, u8 arg4) { u32 i; s32 c = 0x6A25E; diff --git a/src/code_28910_len_5090.c b/src/code_28910_len_5090.c index cba5acbcb5..e9b74f6f0b 100644 --- a/src/code_28910_len_5090.c +++ b/src/code_28910_len_5090.c @@ -119,7 +119,7 @@ INCLUDE_ASM(s32, "code_28910_len_5090", func_8004EC04); INCLUDE_ASM(s32, "code_28910_len_5090", func_8004EC68); -void func_8004FBBC(UnkAlA9C *arg0, UnkAl3 *arg1) { +void func_8004FBBC(UnkAlA9C* arg0, UnkAl3* arg1) { u32 unk_D4 = arg0->unk_D4.u16; s32 temp_v0; @@ -152,7 +152,7 @@ s32 func_8004FC08(UnkAlA9C* arg0, u32 arg1) { } // todo clean the below -void func_8004FCB4(UnkAlA9C *arg0, UnkAl3 *arg1) { +void func_8004FCB4(UnkAlA9C* arg0, UnkAl3* arg1) { s32 temp_v0; s32 phi_v0; @@ -170,16 +170,16 @@ void func_8004FCB4(UnkAlA9C *arg0, UnkAl3 *arg1) { arg1->unk_41 = 1; } -void func_8004FCE4(UnkAlA9C *arg0, UnkAl3 *arg1) { +void func_8004FCE4(UnkAlA9C* arg0, UnkAl3* arg1) { arg0->unk_20C = (s8)arg0->unk_D4.u8[0] * 100; } -void func_8004FD04(UnkAlA9C *arg0, UnkAl3 *arg1) { +void func_8004FD04(UnkAlA9C* arg0, UnkAl3* arg1) { arg0->unk_00->unk_40[arg0->unk_235].unk_00 = arg0->unk_D4.u8[0]; arg0->unk_00->unk_40[arg0->unk_235].unk_01 = 1; } -void func_8004FD38(UnkAlA9C *arg0, UnkAl3 *arg1) { +void func_8004FD38(UnkAlA9C* arg0, UnkAl3* arg1) { u8 unk_D4 = arg0->unk_D4.u8[0]; u32 temp_v1 = arg0->unk_4C[unk_D4]; @@ -202,61 +202,61 @@ INCLUDE_ASM(void, "code_28910_len_5090", func_8004FEB0, UnkAlA9C* arg0, UnkAl3* INCLUDE_ASM(void, "code_28910_len_5090", func_8004FED0, UnkAlA9C* arg0, UnkAl3* arg1); -void func_8004FF3C(UnkAlA9C *arg0, UnkAl3 *arg1) { +void func_8004FF3C(UnkAlA9C* arg0, UnkAl3* arg1) { arg1->unk_4A = arg0->unk_D4.u8[0] & 0x7F; arg1->unk_57 = 0; arg1->unk_42 = 1; } -void func_8004FF58(UnkAlA9C *arg0, UnkAl3 *arg1) { +void func_8004FF58(UnkAlA9C* arg0, UnkAl3* arg1) { arg1->unk_4B = arg0->unk_D4.u8[0] & 0x7F; arg1->unk_43 = 1; } -void func_8004FF70(UnkAlA9C *arg0, UnkAl3 *arg1) { +void func_8004FF70(UnkAlA9C* arg0, UnkAl3* arg1) { arg1->unk_49 = arg0->unk_D4.u8[0] & 0x7F; arg1->unk_41 = 1; } -void func_8004FF88(UnkAlA9C *arg0, UnkAl3 *arg1) { +void func_8004FF88(UnkAlA9C* arg0, UnkAl3* arg1) { arg1->unk_46 = (s8)arg0->unk_D4.u8[0] * 100; } -void func_8004FFA8(UnkAlA9C *arg0, UnkAl3 *arg1) { +void func_8004FFA8(UnkAlA9C* arg0, UnkAl3* arg1) { arg1->unk_48 = arg0->unk_D4.u8[0]; } -void func_8004FFB4(UnkAlA9C *arg0, UnkAl3 *arg1) { +void func_8004FFB4(UnkAlA9C* arg0, UnkAl3* arg1) { arg1->unk_38 = arg0->unk_D4.u16; arg1->unk_40 = 1; } -void func_8004FFC8(UnkAlA9C *arg0, UnkAl3 *arg1) { +void func_8004FFC8(UnkAlA9C* arg0, UnkAl3* arg1) { arg1->unk_3A = arg0->unk_D4.u8[0]; arg1->unk_55 = arg0->unk_D4.u8[1]; arg1->unk_56 = arg0->unk_D6; } -void func_8004FFE4(UnkAlA9C *arg0, UnkAl3 *arg1) { +void func_8004FFE4(UnkAlA9C* arg0, UnkAl3* arg1) { arg1->unk_55 = arg0->unk_D4.u8[0]; } -void func_8004FFF0(UnkAlA9C *arg0, UnkAl3 *arg1) { +void func_8004FFF0(UnkAlA9C* arg0, UnkAl3* arg1) { arg1->unk_56 = arg0->unk_D4.u8[0]; } -void func_8004FFFC(UnkAlA9C *arg0, UnkAl3 *arg1) { +void func_8004FFFC(UnkAlA9C* arg0, UnkAl3* arg1) { arg1->unk_56 = 0; } -void func_80050004(UnkAlA9C *arg0, UnkAl3 *arg1) { +void func_80050004(UnkAlA9C* arg0, UnkAl3* arg1) { arg1->unk_4A = arg0->unk_D4.u8[0] & 0x7F; arg1->unk_57 = arg0->unk_D4.u8[1] & 0x7F; } INCLUDE_ASM(void, "code_28910_len_5090", func_80050020, UnkAlA9C* arg0, UnkAl3* arg1); -void func_80050128(UnkAlA9C *arg0, UnkAl3 *arg1) { +void func_80050128(UnkAlA9C* arg0, UnkAl3* arg1) { u8 temp_v0 = arg0->unk_D4.u8[0]; u8 temp_v1 = arg0->unk_4C[temp_v0]; diff --git a/src/code_2d9a0_len_890.c b/src/code_2d9a0_len_890.c index a8583fb218..53f4b3b5f7 100644 --- a/src/code_2d9a0_len_890.c +++ b/src/code_2d9a0_len_890.c @@ -36,7 +36,7 @@ void func_80052614(UnkAl19E0* arg0) { INCLUDE_ASM(void, "code_2d9a0_len_890", func_80052660, UnkAl19E0* arg0); -void func_80052B44(UnkAl48 *arg0) { +void func_80052B44(UnkAl48* arg0) { s32 temp_lo = ((arg0->unk_3A * arg0->unk_40 * arg0->unk_3F) >> 14) * arg0->unk_30; arg0->unk_0C = temp_lo >> 7; diff --git a/src/code_d0a70_len_4fe0.c b/src/code_d0a70_len_4fe0.c index e66d8d60fb..9d94ce162a 100644 --- a/src/code_d0a70_len_4fe0.c +++ b/src/code_d0a70_len_4fe0.c @@ -5,7 +5,8 @@ s32 D_8014EE10[] = { 0x80156920, }; s32 D_8014EE14[] = { 0x00000000, }; s32 D_8014EE18[] = { 0x90909000, 0x90909000, 0xFFFFFF00, 0xFFFFFF00, 0x00007800, 0x00000000, 0xFFFFFF00, 0xFFFFFF00, - 0x00008800, 0x00000000, }; + 0x00008800, 0x00000000, + }; s32 D_8014EE40[] = { 0x028001E0, 0x01FF0000, 0x028001E0, 0x01FF0000, }; @@ -14,19 +15,22 @@ s32 D_8014EE50[] = { 0x028001E0, 0x01FF0000, 0x028001E0, 0x02000000, }; s32 D_8014EE60[] = { 0x012C0000, 0x00000000, }; s32 D_8014EE68[] = { 0xD9FDF9FF, 0x00000000, 0xD9FFFFFF, 0x00200005, 0xD7000002, 0xFFFFFFFF, 0xE2001E01, 0x00000000, - 0xE3000A11, 0x00082CF0, 0xDF000000, 0x00000000, }; + 0xE3000A11, 0x00082CF0, 0xDF000000, 0x00000000, + }; s32 D_8014EE98[] = { 0x00441208, 0x00111208, 0x00000000, 0x00441208, 0x00111208, 0x00000000, 0x00404B40, 0x00104B40, - 0x01000000, 0x00404B40, 0x00104B40, 0x01000000, 0x00441208, 0x00111208, 0x00000000, 0x00404B40, - 0x00104B40, 0x01000000, 0x00441208, 0x00111208, 0x00000000, 0x00404B40, 0x00104B40, 0x01000000, - 0x00404B40, 0x00104B40, 0x01000000, 0x00441208, 0x00111208, 0x00000000, 0x00404B40, 0x00104B40, - 0x01000000, 0x00441208, 0x00111208, 0x00000000, 0x00404B40, 0x00104B40, 0x01000000, 0x00441208, - 0x00111208, 0x00000000, 0x00441208, 0x00111208, 0x00000000, 0x00404B40, 0x00104B40, 0x01000000, - 0x00441208, 0x00111208, 0x00000000, }; + 0x01000000, 0x00404B40, 0x00104B40, 0x01000000, 0x00441208, 0x00111208, 0x00000000, 0x00404B40, + 0x00104B40, 0x01000000, 0x00441208, 0x00111208, 0x00000000, 0x00404B40, 0x00104B40, 0x01000000, + 0x00404B40, 0x00104B40, 0x01000000, 0x00441208, 0x00111208, 0x00000000, 0x00404B40, 0x00104B40, + 0x01000000, 0x00441208, 0x00111208, 0x00000000, 0x00404B40, 0x00104B40, 0x01000000, 0x00441208, + 0x00111208, 0x00000000, 0x00441208, 0x00111208, 0x00000000, 0x00404B40, 0x00104B40, 0x01000000, + 0x00441208, 0x00111208, 0x00000000, + }; s32 D_8014EF64[] = { 0x00014358, 0x00018200, 0x0001A858, 0x0001E830, 0x00029458, 0x000314E0, 0x00033498, 0x00038988, - 0x00039228, 0x0005B7A8, 0x0007CF10, 0x00086490, 0x00096258, 0x000A1820, 0x000ACDE8, 0x000BBF68, - 0x000C0490, 0x000C49B8, 0x000C6150, 0x000CA380, 0x00000000, 0x00000000, 0x00000000, }; + 0x00039228, 0x0005B7A8, 0x0007CF10, 0x00086490, 0x00096258, 0x000A1820, 0x000ACDE8, 0x000BBF68, + 0x000C0490, 0x000C49B8, 0x000C6150, 0x000CA380, 0x00000000, 0x00000000, 0x00000000, + }; #define UNKSTRUCT8013A854_SIZE 90 diff --git a/src/code_d5a50_len_5fd0.c b/src/code_d5a50_len_5fd0.c index 1cbc487c12..873b2bf4e7 100644 --- a/src/code_d5a50_len_5fd0.c +++ b/src/code_d5a50_len_5fd0.c @@ -4,16 +4,18 @@ s32 D_8014EFC0[] = { 0x00000000, }; s32 D_8014EFC4[] = { 0x00011000, }; s32 D_8014EFC8[] = { 0x00000000, }; s32 D_8014EFCC[] = { 0x00080008, 0x00200010, 0x00100080, 0x00180018, 0x01200020, 0x00200200, 0x00300030, 0x04800040, - 0x00400800, 0x00080010, 0x00400010, 0x00080040, 0x00100018, 0x00C00010, 0x00200100, 0x00400020, - 0x04000020, 0x00100100, 0x000C000C, 0x00480030, 0x00180240, 0x00200008, 0x00800018, 0x00080060, - 0x00400010, 0x02000010, 0x00400200, 0x00C00020, 0x0C000028, 0x00280320, 0x00180010, 0x00C00020, - 0x00280280, 0x00280010, 0x01400028, 0x001801E0, 0x00200018, 0x01800014, 0x00200000, 0x00220020, - 0x00000028, 0x002803C8, 0x00000000, 0xED000000, 0x005003C0, 0xE7000000, 0x00000000, 0xE3000A11, - 0x00002CF0, 0xE2001E01, 0x00000000, 0xDF000000, 0x00000000, 0xED000000, 0x005003C0, 0xE7000000, - 0x00000000, 0xE3000A11, 0x00002CF0, 0xE2001E01, 0x00000000, 0xDF000000, 0x00000000, }; + 0x00400800, 0x00080010, 0x00400010, 0x00080040, 0x00100018, 0x00C00010, 0x00200100, 0x00400020, + 0x04000020, 0x00100100, 0x000C000C, 0x00480030, 0x00180240, 0x00200008, 0x00800018, 0x00080060, + 0x00400010, 0x02000010, 0x00400200, 0x00C00020, 0x0C000028, 0x00280320, 0x00180010, 0x00C00020, + 0x00280280, 0x00280010, 0x01400028, 0x001801E0, 0x00200018, 0x01800014, 0x00200000, 0x00220020, + 0x00000028, 0x002803C8, 0x00000000, 0xED000000, 0x005003C0, 0xE7000000, 0x00000000, 0xE3000A11, + 0x00002CF0, 0xE2001E01, 0x00000000, 0xDF000000, 0x00000000, 0xED000000, 0x005003C0, 0xE7000000, + 0x00000000, 0xE3000A11, 0x00002CF0, 0xE2001E01, 0x00000000, 0xDF000000, 0x00000000, + }; s32 D_8014F0C8[] = { 0xFFF40000, 0x00000000, 0x08000800, 0x000000FF, 0x00330000, 0x00000000, 0x00000800, 0x000000FF, - 0x0033003F, 0x00000000, 0x00000000, 0x000000FF, 0xFFF4003F, 0x00000000, 0x08000000, 0x000000FF, - 0xFFFFFF00, 0xFFFFFF00, }; + 0x0033003F, 0x00000000, 0x00000000, 0x000000FF, 0xFFF4003F, 0x00000000, 0x08000000, 0x000000FF, + 0xFFFFFF00, 0xFFFFFF00, + }; s32 D_8014F110[] = { 0x00000000, 0x00000000, 0x00000000, 0x00000000 }; From bf42c205b8edce7502c5e48849a0c92f38ae86b5 Mon Sep 17 00:00:00 2001 From: Ethan Roseman Date: Fri, 18 Dec 2020 19:49:11 +0900 Subject: [PATCH 64/97] 1 func --- .../code_28910_len_5090/func_8004E158.s | 130 ------------------ src/audio.h | 39 +++++- src/code_26840_len_20d0.c | 36 +++++ src/code_28910_len_5090.c | 79 ++++++++++- 4 files changed, 149 insertions(+), 135 deletions(-) delete mode 100644 asm/nonmatchings/code_28910_len_5090/func_8004E158.s diff --git a/asm/nonmatchings/code_28910_len_5090/func_8004E158.s b/asm/nonmatchings/code_28910_len_5090/func_8004E158.s deleted file mode 100644 index 9bc920e90a..0000000000 --- a/asm/nonmatchings/code_28910_len_5090/func_8004E158.s +++ /dev/null @@ -1,130 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel func_8004E158 -/* 29558 8004E158 27BDFFE0 */ addiu $sp, $sp, -0x20 -/* 2955C 8004E15C AFB20018 */ sw $s2, 0x18($sp) -/* 29560 8004E160 0080902D */ daddu $s2, $a0, $zero -/* 29564 8004E164 AFB00010 */ sw $s0, 0x10($sp) -/* 29568 8004E168 00A0802D */ daddu $s0, $a1, $zero -/* 2956C 8004E16C AFB10014 */ sw $s1, 0x14($sp) -/* 29570 8004E170 00C0882D */ daddu $s1, $a2, $zero -/* 29574 8004E174 3C050002 */ lui $a1, 2 -/* 29578 8004E178 34A5625A */ ori $a1, $a1, 0x625a -/* 2957C 8004E17C 24060030 */ addiu $a2, $zero, 0x30 -/* 29580 8004E180 AFBF001C */ sw $ra, 0x1c($sp) -/* 29584 8004E184 0C013A20 */ jal func_8004E880 -/* 29588 8004E188 AE470000 */ sw $a3, ($s2) -/* 2958C 8004E18C 0000282D */ daddu $a1, $zero, $zero -/* 29590 8004E190 2404007F */ addiu $a0, $zero, 0x7f -/* 29594 8004E194 3C013F80 */ lui $at, 0x3f80 -/* 29598 8004E198 44810000 */ mtc1 $at, $f0 -/* 2959C 8004E19C 34028000 */ ori $v0, $zero, 0x8000 -/* 295A0 8004E1A0 AE420048 */ sw $v0, 0x48($s2) -/* 295A4 8004E1A4 24023CF0 */ addiu $v0, $zero, 0x3cf0 -/* 295A8 8004E1A8 AE4200B0 */ sw $v0, 0xb0($s2) -/* 295AC 8004E1AC 3C027F00 */ lui $v0, 0x7f00 -/* 295B0 8004E1B0 AE4200C0 */ sw $v0, 0xc0($s2) -/* 295B4 8004E1B4 24020001 */ addiu $v0, $zero, 1 -/* 295B8 8004E1B8 A242022B */ sb $v0, 0x22b($s2) -/* 295BC 8004E1BC 24020002 */ addiu $v0, $zero, 2 -/* 295C0 8004E1C0 AE400014 */ sw $zero, 0x14($s2) -/* 295C4 8004E1C4 AE400018 */ sw $zero, 0x18($s2) -/* 295C8 8004E1C8 AE40001C */ sw $zero, 0x1c($s2) -/* 295CC 8004E1CC AE400020 */ sw $zero, 0x20($s2) -/* 295D0 8004E1D0 A6400058 */ sh $zero, 0x58($s2) -/* 295D4 8004E1D4 A640005A */ sh $zero, 0x5a($s2) -/* 295D8 8004E1D8 AE400068 */ sw $zero, 0x68($s2) -/* 295DC 8004E1DC AE40006C */ sw $zero, 0x6c($s2) -/* 295E0 8004E1E0 AE400070 */ sw $zero, 0x70($s2) -/* 295E4 8004E1E4 AE4000BC */ sw $zero, 0xbc($s2) -/* 295E8 8004E1E8 AE4000B8 */ sw $zero, 0xb8($s2) -/* 295EC 8004E1EC AE4000B4 */ sw $zero, 0xb4($s2) -/* 295F0 8004E1F0 AE4000CC */ sw $zero, 0xcc($s2) -/* 295F4 8004E1F4 AE4000C8 */ sw $zero, 0xc8($s2) -/* 295F8 8004E1F8 AE4000C4 */ sw $zero, 0xc4($s2) -/* 295FC 8004E1FC A640020C */ sh $zero, 0x20c($s2) -/* 29600 8004E200 A640020E */ sh $zero, 0x20e($s2) -/* 29604 8004E204 A2400220 */ sb $zero, 0x220($s2) -/* 29608 8004E208 AE400204 */ sw $zero, 0x204($s2) -/* 2960C 8004E20C A2400232 */ sb $zero, 0x232($s2) -/* 29610 8004E210 A2400221 */ sb $zero, 0x221($s2) -/* 29614 8004E214 A2500234 */ sb $s0, 0x234($s2) -/* 29618 8004E218 A2510235 */ sb $s1, 0x235($s2) -/* 2961C 8004E21C AE400168 */ sw $zero, 0x168($s2) -/* 29620 8004E220 A2400222 */ sb $zero, 0x222($s2) -/* 29624 8004E224 A2400223 */ sb $zero, 0x223($s2) -/* 29628 8004E228 A240022A */ sb $zero, 0x22a($s2) -/* 2962C 8004E22C A240022C */ sb $zero, 0x22c($s2) -/* 29630 8004E230 E64000D0 */ swc1 $f0, 0xd0($s2) -/* 29634 8004E234 A240022D */ sb $zero, 0x22d($s2) -/* 29638 8004E238 A242022F */ sb $v0, 0x22f($s2) -/* 2963C 8004E23C 24020003 */ addiu $v0, $zero, 3 -/* 29640 8004E240 A2420230 */ sb $v0, 0x230($s2) -/* 29644 8004E244 24020004 */ addiu $v0, $zero, 4 -/* 29648 8004E248 A240022E */ sb $zero, 0x22e($s2) -/* 2964C 8004E24C A2420231 */ sb $v0, 0x231($s2) -/* 29650 8004E250 00051400 */ sll $v0, $a1, 0x10 -.L8004E254: -/* 29654 8004E254 00021C03 */ sra $v1, $v0, 0x10 -/* 29658 8004E258 00031040 */ sll $v0, $v1, 1 -/* 2965C 8004E25C 00431021 */ addu $v0, $v0, $v1 -/* 29660 8004E260 00021140 */ sll $v0, $v0, 5 -/* 29664 8004E264 2442025C */ addiu $v0, $v0, 0x25c -/* 29668 8004E268 02421021 */ addu $v0, $s2, $v0 -/* 2966C 8004E26C AC400018 */ sw $zero, 0x18($v0) -/* 29670 8004E270 AC400028 */ sw $zero, 0x28($v0) -/* 29674 8004E274 A4400046 */ sh $zero, 0x46($v0) -/* 29678 8004E278 A0400048 */ sb $zero, 0x48($v0) -/* 2967C 8004E27C A040004A */ sb $zero, 0x4a($v0) -/* 29680 8004E280 A040004B */ sb $zero, 0x4b($v0) -/* 29684 8004E284 A4400044 */ sh $zero, 0x44($v0) -/* 29688 8004E288 A0400058 */ sb $zero, 0x58($v0) -/* 2968C 8004E28C A0440049 */ sb $a0, 0x49($v0) -/* 29690 8004E290 A040004C */ sb $zero, 0x4c($v0) -/* 29694 8004E294 28620008 */ slti $v0, $v1, 8 -/* 29698 8004E298 10400005 */ beqz $v0, .L8004E2B0 -/* 2969C 8004E29C 24A20001 */ addiu $v0, $a1, 1 -/* 296A0 8004E2A0 00031080 */ sll $v0, $v1, 2 -/* 296A4 8004E2A4 02421021 */ addu $v0, $s2, $v0 -/* 296A8 8004E2A8 AC400238 */ sw $zero, 0x238($v0) -/* 296AC 8004E2AC 24A20001 */ addiu $v0, $a1, 1 -.L8004E2B0: -/* 296B0 8004E2B0 0040282D */ daddu $a1, $v0, $zero -/* 296B4 8004E2B4 00021400 */ sll $v0, $v0, 0x10 -/* 296B8 8004E2B8 00021403 */ sra $v0, $v0, 0x10 -/* 296BC 8004E2BC 28420010 */ slti $v0, $v0, 0x10 -/* 296C0 8004E2C0 1440FFE4 */ bnez $v0, .L8004E254 -/* 296C4 8004E2C4 00051400 */ sll $v0, $a1, 0x10 -/* 296C8 8004E2C8 0000282D */ daddu $a1, $zero, $zero -.L8004E2CC: -/* 296CC 8004E2CC 00051400 */ sll $v0, $a1, 0x10 -/* 296D0 8004E2D0 24A40001 */ addiu $a0, $a1, 1 -/* 296D4 8004E2D4 0080282D */ daddu $a1, $a0, $zero -/* 296D8 8004E2D8 00021403 */ sra $v0, $v0, 0x10 -/* 296DC 8004E2DC 00021840 */ sll $v1, $v0, 1 -/* 296E0 8004E2E0 00621821 */ addu $v1, $v1, $v0 -/* 296E4 8004E2E4 000318C0 */ sll $v1, $v1, 3 -/* 296E8 8004E2E8 2463085C */ addiu $v1, $v1, 0x85c -/* 296EC 8004E2EC 02431821 */ addu $v1, $s2, $v1 -/* 296F0 8004E2F0 00042400 */ sll $a0, $a0, 0x10 -/* 296F4 8004E2F4 00042403 */ sra $a0, $a0, 0x10 -/* 296F8 8004E2F8 28840018 */ slti $a0, $a0, 0x18 -/* 296FC 8004E2FC A4600008 */ sh $zero, 8($v1) -/* 29700 8004E300 A460000A */ sh $zero, 0xa($v1) -/* 29704 8004E304 AC60000C */ sw $zero, 0xc($v1) -/* 29708 8004E308 A4600014 */ sh $zero, 0x14($v1) -/* 2970C 8004E30C A0600016 */ sb $zero, 0x16($v1) -/* 29710 8004E310 1480FFEE */ bnez $a0, .L8004E2CC -/* 29714 8004E314 A0600017 */ sb $zero, 0x17($v1) -/* 29718 8004E318 2644002C */ addiu $a0, $s2, 0x2c -/* 2971C 8004E31C 0C014EBB */ jal func_80053AEC -/* 29720 8004E320 24057FFF */ addiu $a1, $zero, 0x7fff -/* 29724 8004E324 0C015444 */ jal func_80055110 -/* 29728 8004E328 0240202D */ daddu $a0, $s2, $zero -/* 2972C 8004E32C 8FBF001C */ lw $ra, 0x1c($sp) -/* 29730 8004E330 8FB20018 */ lw $s2, 0x18($sp) -/* 29734 8004E334 8FB10014 */ lw $s1, 0x14($sp) -/* 29738 8004E338 8FB00010 */ lw $s0, 0x10($sp) -/* 2973C 8004E33C 03E00008 */ jr $ra -/* 29740 8004E340 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/src/audio.h b/src/audio.h index 6fbf481dbd..70ead8cd00 100644 --- a/src/audio.h +++ b/src/audio.h @@ -158,7 +158,9 @@ typedef struct UnkAlAC { typedef struct UnkAl6CC { /* 0x000 */ struct UnkAl19E0* unk_00; - /* 0x004 */ char unk_04[0x2C]; + /* 0x004 */ char unk_04[0x4]; + /* 0x008 */ s32* unk_08; + /* 0x00C */ char unk_0C[0x24]; /* 0x030 */ s32 unk_30; /* 0x034 */ s32 unk_34; /* 0x038 */ s32 unk_38; @@ -345,6 +347,35 @@ typedef struct UnkAl19E0 { /* 0x1320 */ UnkAl48 unk_1320[24]; } UnkAl19E0; // size = 0x19E0 +typedef struct UnkAl60 { + /* 0x00 */ char unk_00[0x18]; + /* 0x18 */ s32 unk_18; + /* 0x1C */ char unk_1C[0x8]; + /* 0x24 */ s32 unk_24[2]; + /* 0x2C */ char unk_2C[0x18]; + /* 0x44 */ u16 unk_44; + /* 0x46 */ u16 unk_46; + /* 0x48 */ u8 unk_48; + /* 0x49 */ u8 unk_49; + /* 0x4A */ u8 unk_4A; + /* 0x4B */ u8 unk_4B; + /* 0x4C */ u8 unk_4C; + /* 0x4D */ char unk_4D[0xB]; + /* 0x58 */ u8 unk_58; + /* 0x59 */ char unk_59[0x7]; +} UnkAl60; // size = 0x60; + +typedef struct UnkAl24 { + /* 0x00 */ char unk_00[0x8]; + /* 0x08 */ u16 unk_08; + /* 0x0A */ u16 unk_0A; + /* 0x0C */ s32 unk_0C; + /* 0x10 */ char unk_10[0x4]; + /* 0x14 */ u16 unk_14; + /* 0x16 */ u8 unk_16; + /* 0x17 */ u8 unk_17; +} UnkAl24; // size = 0x18; + typedef struct UnkAlA9C { /* 0x000 */ UnkAl19E0* unk_00; /* 0x004 */ UnkAl6CC* unk_04; @@ -365,8 +396,7 @@ typedef struct UnkAlA9C { /* 0x05C */ s16 unk_5C; /* 0x05E */ char unk_5E[0x6]; /* 0x064 */ s32 unk_64; - /* 0x068 */ s16 unk_68; - /* 0x06A */ char unk_6A[0x2]; + /* 0x068 */ s32 unk_68; /* 0x06C */ s32 unk_6C; /* 0x070 */ s32 unk_70; /* 0x074 */ char unk_74[0x3C]; @@ -417,7 +447,8 @@ typedef struct UnkAlA9C { /* 0x259 */ s8 unk_259; /* 0x25A */ s8 unk_25A; /* 0x25B */ s8 unk_25B; - /* 0x25C */ char unk_25C[0x840]; + /* 0x25C */ UnkAl60 unk_25C[16]; + /* 0x85C */ UnkAl24 unk_85C[24]; } UnkAlA9C; // size = 0xA9C typedef struct UnkAl834 { diff --git a/src/code_26840_len_20d0.c b/src/code_26840_len_20d0.c index 8b8181fa4b..27529df71f 100644 --- a/src/code_26840_len_20d0.c +++ b/src/code_26840_len_20d0.c @@ -84,6 +84,42 @@ void func_8004B440(UnkAl6CC* arg0, u8 arg1, u8 arg2, UnkAl19E0* arg3, u8 arg4) { } INCLUDE_ASM(void, "code_26840_len_20d0", func_8004B62C, UnkAl6CC* arg0); +// void func_8004B62C(UnkAl6CC *arg0) { +// s32 *temp_a1; +// u16 temp_v0; +// u16 temp_v0_2; +// u32 temp_a3; +// s32 *phi_v1; +// UnkAl6CC *phi_a2; +// u32 phi_a3; + +// temp_a1 = arg0->unk_00->unk_A0; +// arg0->unk_08 = temp_a1; + +// phi_v1 = temp_a1; +// phi_a2 = arg0; +// phi_a3 = 0U; +// loop_1: +// temp_v0 = phi_v1->unk10; +// if (temp_v0 != 0) { +// phi_a2->unkC = (void *) (temp_v0 + temp_a1); +// } +// temp_a3 = phi_a3 + 1; +// phi_v1 = phi_v1 + 2; +// phi_a2 = phi_a2 + 4; +// phi_a3 = temp_a3; +// if (temp_a3 < 8U) { +// goto loop_1; +// } + + +// if (temp_a1->unkE == 1) { +// temp_v0_2 = ; +// if (temp_a1->unk_20 != 0) { +// arg0->unk_2C = (void *) (temp_v0_2 + temp_a1); +// } +// } +// } void func_8004B698(UnkAl6CC* arg0) { s32 i; diff --git a/src/code_28910_len_5090.c b/src/code_28910_len_5090.c index e9b74f6f0b..45d7481c5c 100644 --- a/src/code_28910_len_5090.c +++ b/src/code_28910_len_5090.c @@ -74,7 +74,84 @@ INCLUDE_ASM(void, "code_28910_len_5090", func_8004DFD4, UnkAl19E0* arg0); INCLUDE_ASM(s32, "code_28910_len_5090", func_8004E0F4); -INCLUDE_ASM(void, "code_28910_len_5090", func_8004E158, UnkAlA9C* arg0, s32 arg1, s32 arg2, UnkAl19E0* arg3); +void func_8004E158(UnkAlA9C *arg0, s32 arg1, s32 arg2, UnkAl19E0 *arg3) { + s16 i; + + arg0->unk_00 = arg3; + func_8004E880(arg0, 0x2625A, 0x30); + arg0->unk_48 = 0x8000; + arg0->unk_B0 = 0x3CF0; + arg0->unk_C0 = 0x7F000000; + arg0->unk_22B = 1; + arg0->unk_14 = 0; + arg0->unk_18 = 0; + arg0->unk_1C = 0; + arg0->unk_20 = 0; + arg0->unk_58 = 0; + arg0->unk_5A = 0; + arg0->unk_68 = 0; + arg0->unk_6C = 0; + arg0->unk_70 = 0; + arg0->unk_BC = 0; + arg0->unk_B8 = 0; + arg0->unk_B4 = 0; + arg0->unk_CC = 0; + arg0->unk_C8 = 0; + arg0->unk_C4 = 0; + arg0->unk_20C = 0; + arg0->unk_20E = 0; + arg0->unk_220 = 0; + arg0->unk_204 = 0; + arg0->unk_232 = 0; + arg0->unk_221 = 0; + arg0->unk_234 = arg1; + arg0->unk_235 = arg2; + arg0->unk_168 = 0; + arg0->unk_222 = 0; + arg0->unk_223 = 0; + arg0->unk_22A = 0; + arg0->unk_22C = 0; + arg0->unk_D0 = 1.0f; + arg0->unk_22D = 0; + arg0->unk_22F = 2; + arg0->unk_230 = 3; + arg0->unk_22E = 0; + arg0->unk_231 = 4; + + for (i = 0; i < ARRAY_COUNT(arg0->unk_25C); i++) { + UnkAl60* temp = &arg0->unk_25C[i]; + + temp->unk_18 = 0; + temp->unk_24[1] = 0; + temp->unk_46 = 0; + temp->unk_48 = 0; + temp->unk_4A = 0; + temp->unk_4B = 0; + temp->unk_44 = 0; + temp->unk_58 = 0; + temp->unk_49 = 0x7F; + temp->unk_4C = 0; + + if (i < ARRAY_COUNT(arg0->unk_238)) { + arg0->unk_238[i] = 0; + } + } + + for (i = 0; i < ARRAY_COUNT(arg0->unk_85C); i++) { + UnkAl24* temp = &arg0->unk_85C[i]; + + temp->unk_08 = 0; + temp->unk_0A = 0; + temp->unk_0C = 0; + temp->unk_14 = 0; + temp->unk_16 = 0; + temp->unk_17 = 0; + } + + func_80053AEC(&arg0->unk_2C, 0x7FFF); + func_80055110(arg0); +} + INCLUDE_ASM(s32, "code_28910_len_5090", func_8004E344); From 4af26166bf4292abf313db3e1cac24ee74c11bfc Mon Sep 17 00:00:00 2001 From: Ethan Roseman Date: Fri, 18 Dec 2020 23:11:54 +0900 Subject: [PATCH 65/97] 6 mo --- .../code_28910_len_5090/func_8004FD94.s | 38 ---- .../code_28910_len_5090/func_8004FE10.s | 31 ---- .../code_28910_len_5090/func_8004FEB0.s | 13 -- .../code_28910_len_5090/func_80050184.s | 13 -- .../code_28910_len_5090/func_8005083C.s | 21 --- .../code_28910_len_5090/func_80050C54.s | 8 - src/audio.h | 119 ++++++------ src/code_25f00_len_940.c | 49 +++-- src/code_28910_len_5090.c | 175 ++++++++++++++---- src/code_2e230_len_2190.c | 2 +- 10 files changed, 223 insertions(+), 246 deletions(-) delete mode 100644 asm/nonmatchings/code_28910_len_5090/func_8004FD94.s delete mode 100644 asm/nonmatchings/code_28910_len_5090/func_8004FE10.s delete mode 100644 asm/nonmatchings/code_28910_len_5090/func_8004FEB0.s delete mode 100644 asm/nonmatchings/code_28910_len_5090/func_80050184.s delete mode 100644 asm/nonmatchings/code_28910_len_5090/func_8005083C.s delete mode 100644 asm/nonmatchings/code_28910_len_5090/func_80050C54.s diff --git a/asm/nonmatchings/code_28910_len_5090/func_8004FD94.s b/asm/nonmatchings/code_28910_len_5090/func_8004FD94.s deleted file mode 100644 index 90cdb1b95e..0000000000 --- a/asm/nonmatchings/code_28910_len_5090/func_8004FD94.s +++ /dev/null @@ -1,38 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel func_8004FD94 -/* 2B194 8004FD94 27BDFFE0 */ addiu $sp, $sp, -0x20 -/* 2B198 8004FD98 AFB10014 */ sw $s1, 0x14($sp) -/* 2B19C 8004FD9C 0080882D */ daddu $s1, $a0, $zero -/* 2B1A0 8004FDA0 AFBF0018 */ sw $ra, 0x18($sp) -/* 2B1A4 8004FDA4 AFB00010 */ sw $s0, 0x10($sp) -/* 2B1A8 8004FDA8 962500D6 */ lhu $a1, 0xd6($s1) -/* 2B1AC 8004FDAC 0C013F02 */ jal func_8004FC08 -/* 2B1B0 8004FDB0 963000D4 */ lhu $s0, 0xd4($s1) -/* 2B1B4 8004FDB4 1E000002 */ bgtz $s0, .L8004FDC0 -/* 2B1B8 8004FDB8 0040202D */ daddu $a0, $v0, $zero -/* 2B1BC 8004FDBC 24100001 */ addiu $s0, $zero, 1 -.L8004FDC0: -/* 2B1C0 8004FDC0 8E2200B0 */ lw $v0, 0xb0($s1) -/* 2B1C4 8004FDC4 00821023 */ subu $v0, $a0, $v0 -/* 2B1C8 8004FDC8 16000002 */ bnez $s0, .L8004FDD4 -/* 2B1CC 8004FDCC 0050001A */ div $zero, $v0, $s0 -/* 2B1D0 8004FDD0 0007000D */ break 7 -.L8004FDD4: -/* 2B1D4 8004FDD4 2401FFFF */ addiu $at, $zero, -1 -/* 2B1D8 8004FDD8 16010004 */ bne $s0, $at, .L8004FDEC -/* 2B1DC 8004FDDC 3C018000 */ lui $at, 0x8000 -/* 2B1E0 8004FDE0 14410002 */ bne $v0, $at, .L8004FDEC -/* 2B1E4 8004FDE4 00000000 */ nop -/* 2B1E8 8004FDE8 0006000D */ break 6 -.L8004FDEC: -/* 2B1EC 8004FDEC 00001012 */ mflo $v0 -/* 2B1F0 8004FDF0 AE3000BC */ sw $s0, 0xbc($s1) -/* 2B1F4 8004FDF4 AE2400B8 */ sw $a0, 0xb8($s1) -/* 2B1F8 8004FDF8 AE2200B4 */ sw $v0, 0xb4($s1) -/* 2B1FC 8004FDFC 8FBF0018 */ lw $ra, 0x18($sp) -/* 2B200 8004FE00 8FB10014 */ lw $s1, 0x14($sp) -/* 2B204 8004FE04 8FB00010 */ lw $s0, 0x10($sp) -/* 2B208 8004FE08 03E00008 */ jr $ra -/* 2B20C 8004FE0C 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/asm/nonmatchings/code_28910_len_5090/func_8004FE10.s b/asm/nonmatchings/code_28910_len_5090/func_8004FE10.s deleted file mode 100644 index 7c80d22698..0000000000 --- a/asm/nonmatchings/code_28910_len_5090/func_8004FE10.s +++ /dev/null @@ -1,31 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel func_8004FE10 -/* 2B210 8004FE10 908200D6 */ lbu $v0, 0xd6($a0) -/* 2B214 8004FE14 948500D4 */ lhu $a1, 0xd4($a0) -/* 2B218 8004FE18 3046007F */ andi $a2, $v0, 0x7f -/* 2B21C 8004FE1C 54C00001 */ bnel $a2, $zero, .L8004FE24 -/* 2B220 8004FE20 00063600 */ sll $a2, $a2, 0x18 -.L8004FE24: -/* 2B224 8004FE24 58A00001 */ blezl $a1, .L8004FE2C -/* 2B228 8004FE28 24050001 */ addiu $a1, $zero, 1 -.L8004FE2C: -/* 2B22C 8004FE2C 8C8200C0 */ lw $v0, 0xc0($a0) -/* 2B230 8004FE30 00C21023 */ subu $v0, $a2, $v0 -/* 2B234 8004FE34 14A00002 */ bnez $a1, .L8004FE40 -/* 2B238 8004FE38 0045001A */ div $zero, $v0, $a1 -/* 2B23C 8004FE3C 0007000D */ break 7 -.L8004FE40: -/* 2B240 8004FE40 2401FFFF */ addiu $at, $zero, -1 -/* 2B244 8004FE44 14A10004 */ bne $a1, $at, .L8004FE58 -/* 2B248 8004FE48 3C018000 */ lui $at, 0x8000 -/* 2B24C 8004FE4C 14410002 */ bne $v0, $at, .L8004FE58 -/* 2B250 8004FE50 00000000 */ nop -/* 2B254 8004FE54 0006000D */ break 6 -.L8004FE58: -/* 2B258 8004FE58 00001012 */ mflo $v0 -/* 2B25C 8004FE5C AC8500CC */ sw $a1, 0xcc($a0) -/* 2B260 8004FE60 AC8600C8 */ sw $a2, 0xc8($a0) -/* 2B264 8004FE64 03E00008 */ jr $ra -/* 2B268 8004FE68 AC8200C4 */ sw $v0, 0xc4($a0) diff --git a/asm/nonmatchings/code_28910_len_5090/func_8004FEB0.s b/asm/nonmatchings/code_28910_len_5090/func_8004FEB0.s deleted file mode 100644 index cf397c0eb5..0000000000 --- a/asm/nonmatchings/code_28910_len_5090/func_8004FEB0.s +++ /dev/null @@ -1,13 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel func_8004FEB0 -/* 2B2B0 8004FEB0 908200D4 */ lbu $v0, 0xd4($a0) -/* 2B2B4 8004FEB4 3042007F */ andi $v0, $v0, 0x7f -/* 2B2B8 8004FEB8 54400001 */ bnel $v0, $zero, .L8004FEC0 -/* 2B2BC 8004FEBC 00021600 */ sll $v0, $v0, 0x18 -.L8004FEC0: -/* 2B2C0 8004FEC0 ACA20018 */ sw $v0, 0x18($a1) -/* 2B2C4 8004FEC4 24020001 */ addiu $v0, $zero, 1 -/* 2B2C8 8004FEC8 03E00008 */ jr $ra -/* 2B2CC 8004FECC A0A20041 */ sb $v0, 0x41($a1) diff --git a/asm/nonmatchings/code_28910_len_5090/func_80050184.s b/asm/nonmatchings/code_28910_len_5090/func_80050184.s deleted file mode 100644 index d8725ef0c7..0000000000 --- a/asm/nonmatchings/code_28910_len_5090/func_80050184.s +++ /dev/null @@ -1,13 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel func_80050184 -/* 2B584 80050184 908600D6 */ lbu $a2, 0xd6($a0) -/* 2B588 80050188 948200D4 */ lhu $v0, 0xd4($a0) -/* 2B58C 8005018C 8C840064 */ lw $a0, 0x64($a0) -/* 2B590 80050190 8CA30000 */ lw $v1, ($a1) -/* 2B594 80050194 00441021 */ addu $v0, $v0, $a0 -/* 2B598 80050198 A4A6003E */ sh $a2, 0x3e($a1) -/* 2B59C 8005019C ACA30004 */ sw $v1, 4($a1) -/* 2B5A0 800501A0 03E00008 */ jr $ra -/* 2B5A4 800501A4 ACA20000 */ sw $v0, ($a1) diff --git a/asm/nonmatchings/code_28910_len_5090/func_8005083C.s b/asm/nonmatchings/code_28910_len_5090/func_8005083C.s deleted file mode 100644 index 0132c9dde2..0000000000 --- a/asm/nonmatchings/code_28910_len_5090/func_8005083C.s +++ /dev/null @@ -1,21 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel func_8005083C -/* 2BC3C 8005083C 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 2BC40 80050840 00051040 */ sll $v0, $a1, 1 -/* 2BC44 80050844 00451021 */ addu $v0, $v0, $a1 -/* 2BC48 80050848 00021140 */ sll $v0, $v0, 5 -/* 2BC4C 8005084C 2442025C */ addiu $v0, $v0, 0x25c -/* 2BC50 80050850 00822821 */ addu $a1, $a0, $v0 -/* 2BC54 80050854 AFBF0010 */ sw $ra, 0x10($sp) -/* 2BC58 80050858 8CA20000 */ lw $v0, ($a1) -/* 2BC5C 8005085C 10400004 */ beqz $v0, .L80050870 -/* 2BC60 80050860 00000000 */ nop -/* 2BC64 80050864 A48600D4 */ sh $a2, 0xd4($a0) -/* 2BC68 80050868 0C013FB4 */ jal func_8004FED0 -/* 2BC6C 8005086C A08700D6 */ sb $a3, 0xd6($a0) -.L80050870: -/* 2BC70 80050870 8FBF0010 */ lw $ra, 0x10($sp) -/* 2BC74 80050874 03E00008 */ jr $ra -/* 2BC78 80050878 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/code_28910_len_5090/func_80050C54.s b/asm/nonmatchings/code_28910_len_5090/func_80050C54.s deleted file mode 100644 index 0bc0fdef1d..0000000000 --- a/asm/nonmatchings/code_28910_len_5090/func_80050C54.s +++ /dev/null @@ -1,8 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel func_80050C54 -/* 2C054 80050C54 3C02800A */ lui $v0, %hi(D_8009A628) -/* 2C058 80050C58 8C42A628 */ lw $v0, %lo(D_8009A628)($v0) -/* 2C05C 80050C5C 03E00008 */ jr $ra -/* 2C060 80050C60 A0450021 */ sb $a1, 0x21($v0) diff --git a/src/audio.h b/src/audio.h index 70ead8cd00..d73408f1d4 100644 --- a/src/audio.h +++ b/src/audio.h @@ -42,32 +42,6 @@ typedef struct UnkAl4 { // maybe same as UnkAlC? /* 0x06 */ s8 unk_06; } UnkAl4; -typedef struct UnkAl3 { - /* 0x00 */ u32 unk_00; - /* 0x04 */ u32 unk_04; - /* 0x08 */ char unk_08[0x30]; - /* 0x38 */ u16 unk_38; - /* 0x3A */ s16 unk_3A; - /* 0x3C */ char unk_3C[0x2]; - /* 0x3E */ s16 unk_3E; - /* 0x40 */ s8 unk_40; - /* 0x41 */ s8 unk_41; - /* 0x42 */ s8 unk_42; - /* 0x43 */ s8 unk_43; - /* 0x44 */ char unk_44[0x2]; - /* 0x46 */ s16 unk_46; - /* 0x48 */ s8 unk_48; - /* 0x49 */ s8 unk_49; - /* 0x4A */ s8 unk_4A; - /* 0x4B */ s8 unk_4B; - /* 0x4C */ char unk_4C[0x9]; - /* 0x55 */ s8 unk_55; - /* 0x56 */ s8 unk_56; - /* 0x57 */ s8 unk_57; - /* 0x58 */ char unk_58[0x3]; - /* 0x5B */ s8 unk_5B; -} UnkAl3; - typedef struct UnkLen18 { /* 0x00 */ u16 unk_00; /* 0x02 */ char unk_02[0x2]; @@ -348,11 +322,25 @@ typedef struct UnkAl19E0 { } UnkAl19E0; // size = 0x19E0 typedef struct UnkAl60 { - /* 0x00 */ char unk_00[0x18]; + /* 0x00 */ u32 unk_00; + /* 0x04 */ u32 unk_04; + /* 0x08 */ char unk_08[0x4]; + /* 0x0C */ s32 unk_0C; + /* 0x10 */ s32 unk_10; + /* 0x14 */ char unk_14[0x4]; /* 0x18 */ s32 unk_18; - /* 0x1C */ char unk_1C[0x8]; + /* 0x1C */ s32 unk_1C; + /* 0x20 */ s32 unk_20; /* 0x24 */ s32 unk_24[2]; - /* 0x2C */ char unk_2C[0x18]; + /* 0x2C */ char unk_2C[0xC]; + /* 0x38 */ u16 unk_38; + /* 0x3A */ s16 unk_3A; + /* 0x3C */ char unk_3C[0x2]; + /* 0x3E */ s16 unk_3E; + /* 0x40 */ s8 unk_40; + /* 0x41 */ s8 unk_41; + /* 0x42 */ s8 unk_42; + /* 0x43 */ s8 unk_43; /* 0x44 */ u16 unk_44; /* 0x46 */ u16 unk_46; /* 0x48 */ u8 unk_48; @@ -360,9 +348,15 @@ typedef struct UnkAl60 { /* 0x4A */ u8 unk_4A; /* 0x4B */ u8 unk_4B; /* 0x4C */ u8 unk_4C; - /* 0x4D */ char unk_4D[0xB]; + /* 0x4D */ char unk_4D[0x8]; + /* 0x55 */ s8 unk_55; + /* 0x56 */ s8 unk_56; + /* 0x57 */ s8 unk_57; /* 0x58 */ u8 unk_58; - /* 0x59 */ char unk_59[0x7]; + /* 0x59 */ char unk_59[0x2]; + /* 0x5B */ s8 unk_5B; + /* 0x5C */ u8 unk_5C; + /* 0x5D */ char unk_5D[0x3]; } UnkAl60; // size = 0x60; typedef struct UnkAl24 { @@ -410,8 +404,7 @@ typedef struct UnkAlA9C { /* 0x0CC */ s32 unk_CC; /* 0x0D0 */ f32 unk_D0; /* 0x0D4 */ X16 unk_D4; - /* 0x0D6 */ u8 unk_D6; - /* 0x0D7 */ char unk_D7; + /* 0x0D6 */ X16 unk_D6; /* 0x0D8 */ char unk_D8[0x90]; /* 0x168 */ s32 unk_168; /* 0x16C */ char unk_16C[0x98]; @@ -458,7 +451,8 @@ typedef struct UnkAl834 { /* 0x00C */ s32 unk_0C; /* 0x010 */ char unk_10[0x10]; /* 0x020 */ u8 unk_20; - /* 0x021 */ char unk_21[0x813]; + /* 0x021 */ s8 unk_21; + /* 0x022 */ char unk_22[0x812]; } UnkAl834; extern u8 D_80078181; @@ -517,35 +511,35 @@ void func_8004E158(UnkAlA9C*, s32, s32, UnkAl19E0*); void func_8004E3A4(UnkAlA9C*); void func_8004E444(UnkAlA9C*); s16 func_8004E4B8(UnkAlA9C*); -void func_8004FBBC(UnkAlA9C*, UnkAl3*); +void func_8004FBBC(UnkAlA9C*, UnkAl60*); s32 func_8004FC08(UnkAlA9C*, u32); -void func_8004FCB4(UnkAlA9C*, UnkAl3*); -void func_8004FCE4(UnkAlA9C*, UnkAl3*); -void func_8004FD04(UnkAlA9C*, UnkAl3*); -void func_8004FD38(UnkAlA9C*, UnkAl3*); -void func_8004FD94(UnkAlA9C*, UnkAl3*); -void func_8004FE10(UnkAlA9C*, UnkAl3*); -void func_8004FE6C(UnkAlA9C*, UnkAl3*); -void func_8004FEB0(UnkAlA9C*, UnkAl3*); -void func_8004FED0(UnkAlA9C*, UnkAl3*); -void func_8004FF3C(UnkAlA9C*, UnkAl3*); -void func_8004FF58(UnkAlA9C*, UnkAl3*); -void func_8004FF70(UnkAlA9C*, UnkAl3*); -void func_8004FF88(UnkAlA9C*, UnkAl3*); -void func_8004FFA8(UnkAlA9C*, UnkAl3*); -void func_8004FFB4(UnkAlA9C*, UnkAl3*); -void func_8004FFC8(UnkAlA9C*, UnkAl3*); -void func_8004FFE4(UnkAlA9C*, UnkAl3*); -void func_8004FFF0(UnkAlA9C*, UnkAl3*); -void func_8004FFFC(UnkAlA9C*, UnkAl3*); -void func_80050004(UnkAlA9C*, UnkAl3*); -void func_80050020(UnkAlA9C*, UnkAl3*); -void func_80050128(UnkAlA9C*, UnkAl3*); -void func_8005015C(UnkAlA9C*, UnkAl3*); -void func_80050184(UnkAlA9C*, UnkAl3*); -void func_800501A8(UnkAlA9C*, UnkAl3*); -void func_800502F0(UnkAlA9C*, UnkAl3*); -void func_80050560(UnkAlA9C*, UnkAl3*); +void func_8004FCB4(UnkAlA9C*, UnkAl60*); +void func_8004FCE4(UnkAlA9C*, UnkAl60*); +void func_8004FD04(UnkAlA9C*, UnkAl60*); +void func_8004FD38(UnkAlA9C*, UnkAl60*); +void func_8004FD94(UnkAlA9C*, UnkAl60*); +void func_8004FE10(UnkAlA9C*, UnkAl60*); +void func_8004FE6C(UnkAlA9C*, UnkAl60*); +void func_8004FEB0(UnkAlA9C*, UnkAl60*); +void func_8004FED0(UnkAlA9C*, UnkAl60*); +void func_8004FF3C(UnkAlA9C*, UnkAl60*); +void func_8004FF58(UnkAlA9C*, UnkAl60*); +void func_8004FF70(UnkAlA9C*, UnkAl60*); +void func_8004FF88(UnkAlA9C*, UnkAl60*); +void func_8004FFA8(UnkAlA9C*, UnkAl60*); +void func_8004FFB4(UnkAlA9C*, UnkAl60*); +void func_8004FFC8(UnkAlA9C*, UnkAl60*); +void func_8004FFE4(UnkAlA9C*, UnkAl60*); +void func_8004FFF0(UnkAlA9C*, UnkAl60*); +void func_8004FFFC(UnkAlA9C*, UnkAl60*); +void func_80050004(UnkAlA9C*, UnkAl60*); +void func_80050020(UnkAlA9C*, UnkAl60*); +void func_80050128(UnkAlA9C*, UnkAl60*); +void func_8005015C(UnkAlA9C*, UnkAl60*); +void func_80050184(UnkAlA9C*, UnkAl60*); +void func_800501A8(UnkAlA9C*, UnkAl60*); +void func_800502F0(UnkAlA9C*, UnkAl60*); +void func_80050560(UnkAlA9C*, UnkAl60*); s32 func_80056068(s32, u8); s32 func_800506C8(s32, s32); s32 func_80050C30(u32); @@ -567,6 +561,7 @@ void func_80053A28(UnkAl1*); void func_80053A98(u8, u16, s32); void func_80053AEC(UnkAl1*, s16); void func_80053BA8(UnkAl1*); +s32 func_80053BE8(UnkAl19E0*, s32, s32, s32*); void func_80054CE0(s32, s32); void func_8005610C(void); diff --git a/src/code_25f00_len_940.c b/src/code_25f00_len_940.c index 7161120d3a..fcc62a7d10 100644 --- a/src/code_25f00_len_940.c +++ b/src/code_25f00_len_940.c @@ -76,26 +76,37 @@ void nuAuCleanDMABuffers(void) { } while (0); } +// Nop issue +#ifdef NON_MATCHING +void func_8004B328(s16 arg0, s32 arg1) { + s16 temp_a0_2; + s32 temp_s0; + + switch (arg0) { + case 2: + D_800A0F50 = func_80056D50(); + func_80056D34(); + break; + case 1: + temp_a0_2 = D_800A0F50; + temp_s0 = temp_a0_2 - (temp_a0_2 / 20) * arg1; + + if (temp_s0 < 0) { + temp_s0 = 0; + } + + temp_s0 = (temp_s0 * temp_s0) >> 0xF; + func_80056D44(temp_s0); + + if (temp_s0 == 0) { + D_80078180 = 0; + } + break; + } +} +#else INCLUDE_ASM(s32, "code_25f00_len_940", func_8004B328); -// void func_8004B328(s16 arg0, s32 arg1) { -// s32 temp_s0; -// s32 temp_hi; - -// switch (arg0) { -// case 2: -// D_800A0F50 = func_80056D50(); -// func_80056D34(); -// break; -// case 1: -// temp_s0 = D_800A0F50 - D_800A0F50 * (s32)(0x66666667) * arg1; - -// func_80056D44(temp_s0); -// if (temp_s0 == 0) { -// D_80078180 = 0; -// } -// break; -// } -// } +#endif void alLink(ALLink* element, ALLink* after) { element->next = after->next; diff --git a/src/code_28910_len_5090.c b/src/code_28910_len_5090.c index 45d7481c5c..686185e1cb 100644 --- a/src/code_28910_len_5090.c +++ b/src/code_28910_len_5090.c @@ -74,7 +74,7 @@ INCLUDE_ASM(void, "code_28910_len_5090", func_8004DFD4, UnkAl19E0* arg0); INCLUDE_ASM(s32, "code_28910_len_5090", func_8004E0F4); -void func_8004E158(UnkAlA9C *arg0, s32 arg1, s32 arg2, UnkAl19E0 *arg3) { +void func_8004E158(UnkAlA9C* arg0, s32 arg1, s32 arg2, UnkAl19E0* arg3) { s16 i; arg0->unk_00 = arg3; @@ -196,7 +196,7 @@ INCLUDE_ASM(s32, "code_28910_len_5090", func_8004EC04); INCLUDE_ASM(s32, "code_28910_len_5090", func_8004EC68); -void func_8004FBBC(UnkAlA9C* arg0, UnkAl3* arg1) { +void func_8004FBBC(UnkAlA9C* arg0, UnkAl60* arg1) { u32 unk_D4 = arg0->unk_D4.u16; s32 temp_v0; @@ -228,18 +228,14 @@ s32 func_8004FC08(UnkAlA9C* arg0, u32 arg1) { return ret * 100; } -// todo clean the below -void func_8004FCB4(UnkAlA9C* arg0, UnkAl3* arg1) { - s32 temp_v0; - s32 phi_v0; +void func_8004FCB4(UnkAlA9C* arg0, UnkAl60* arg1) { + s32 unk_D4 = arg0->unk_D4.u8[0] & 0x7F; - temp_v0 = (u8) arg0->unk_D4.u8[0] & 0x7F; - phi_v0 = temp_v0; - if (temp_v0 != 0) { - phi_v0 = temp_v0 << 0x18; + if (unk_D4 != 0) { + unk_D4 = unk_D4 << 0x18; } - arg0->unk_C0 = phi_v0; + arg0->unk_C0 = unk_D4; arg0->unk_CC = 0; arg0->unk_C8 = 0; arg0->unk_C4 = 0; @@ -247,16 +243,16 @@ void func_8004FCB4(UnkAlA9C* arg0, UnkAl3* arg1) { arg1->unk_41 = 1; } -void func_8004FCE4(UnkAlA9C* arg0, UnkAl3* arg1) { +void func_8004FCE4(UnkAlA9C* arg0, UnkAl60* arg1) { arg0->unk_20C = (s8)arg0->unk_D4.u8[0] * 100; } -void func_8004FD04(UnkAlA9C* arg0, UnkAl3* arg1) { +void func_8004FD04(UnkAlA9C* arg0, UnkAl60* arg1) { arg0->unk_00->unk_40[arg0->unk_235].unk_00 = arg0->unk_D4.u8[0]; arg0->unk_00->unk_40[arg0->unk_235].unk_01 = 1; } -void func_8004FD38(UnkAlA9C* arg0, UnkAl3* arg1) { +void func_8004FD38(UnkAlA9C* arg0, UnkAl60* arg1) { u8 unk_D4 = arg0->unk_D4.u8[0]; u32 temp_v1 = arg0->unk_4C[unk_D4]; @@ -269,71 +265,147 @@ void func_8004FD38(UnkAlA9C* arg0, UnkAl3* arg1) { } } -INCLUDE_ASM(void, "code_28910_len_5090", func_8004FD94, UnkAlA9C* arg0, UnkAl3* arg1); +void func_8004FD94(UnkAlA9C* arg0, UnkAl60* arg1) { + s32 unk_D4 = arg0->unk_D4.u16; + s32 temp_a0 = func_8004FC08(arg0, arg0->unk_D6.u16); + s32 temp_v0; -INCLUDE_ASM(void, "code_28910_len_5090", func_8004FE10, UnkAlA9C* arg0, UnkAl3* arg1); + if (unk_D4 <= 0) { + unk_D4 = 1; + } + temp_v0 = (temp_a0 - arg0->unk_B0) / unk_D4; -INCLUDE_ASM(void, "code_28910_len_5090", func_8004FE6C, UnkAlA9C* arg0, UnkAl3* arg1); + arg0->unk_BC = unk_D4; + arg0->unk_B8 = temp_a0; + arg0->unk_B4 = temp_v0; +} -INCLUDE_ASM(void, "code_28910_len_5090", func_8004FEB0, UnkAlA9C* arg0, UnkAl3* arg1); +void func_8004FE10(UnkAlA9C* arg0, UnkAl60* arg1) { + s32 temp_a1; + s32 temp_a2; -INCLUDE_ASM(void, "code_28910_len_5090", func_8004FED0, UnkAlA9C* arg0, UnkAl3* arg1); + temp_a1 = arg0->unk_D4.u16; + temp_a2 = arg0->unk_D6.u8[0] & 0x7F; -void func_8004FF3C(UnkAlA9C* arg0, UnkAl3* arg1) { + if (temp_a2 != 0) { + temp_a2 = temp_a2 << 0x18; + } + + if (temp_a1 <= 0) { + temp_a1 = 1; + } + + arg0->unk_CC = temp_a1; + arg0->unk_C8 = temp_a2; + arg0->unk_C4 = (temp_a2 - arg0->unk_C0) / temp_a1; +} + +// Not sure about types +#ifdef NON_MATCHING +void func_8004FE6C(UnkAlA9C* arg0, UnkAl60* arg1) { + u8 temp_v1 = arg0->unk_D4.u16; + + arg1->unk_44 = temp_v1; + arg1->unk_0C = func_80053BE8(arg0->unk_00, arg0->unk_D4.u8[0], temp_v1, &arg1->unk_10); +} +#else +INCLUDE_ASM(void, "code_28910_len_5090", func_8004FE6C, UnkAlA9C* arg0, UnkAl60* arg1); +#endif + +void func_8004FEB0(UnkAlA9C* arg0, UnkAl60* arg1) { + u32 unk_D4 = arg0->unk_D4.u8[0] & 0x7F; + + if (unk_D4 != 0) { + unk_D4 = unk_D4 << 0x18; + } + + arg1->unk_18 = unk_D4; + arg1->unk_41 = 1; +} + +// Type shenanigans +#ifdef NON_MATCHING +void func_8004FED0(UnkAlA9C* arg0, UnkAl60* arg1) { + s32 temp_a2 = arg0->unk_D4.u16; + s32 temp_a0 = arg0->unk_D6.u8[0] & 0x7F; + s32 phi_a2; + + if (temp_a0 != 0) { + temp_a0 = temp_a0 << 0x18; + } + + if (temp_a0 != arg1->unk_18) { + + + if (temp_a2 <= 0) { + phi_a2 = 1; + } else { + phi_a2 = temp_a2; + } + arg1->unk_24[0] = phi_a2; + arg1->unk_20 = temp_a0; + arg1->unk_1C = (temp_a0 - arg1->unk_18) / phi_a2; + } +} +#else +INCLUDE_ASM(void, "code_28910_len_5090", func_8004FED0, UnkAlA9C* arg0, UnkAl60* arg1); +#endif + +void func_8004FF3C(UnkAlA9C* arg0, UnkAl60* arg1) { arg1->unk_4A = arg0->unk_D4.u8[0] & 0x7F; arg1->unk_57 = 0; arg1->unk_42 = 1; } -void func_8004FF58(UnkAlA9C* arg0, UnkAl3* arg1) { +void func_8004FF58(UnkAlA9C* arg0, UnkAl60* arg1) { arg1->unk_4B = arg0->unk_D4.u8[0] & 0x7F; arg1->unk_43 = 1; } -void func_8004FF70(UnkAlA9C* arg0, UnkAl3* arg1) { +void func_8004FF70(UnkAlA9C* arg0, UnkAl60* arg1) { arg1->unk_49 = arg0->unk_D4.u8[0] & 0x7F; arg1->unk_41 = 1; } -void func_8004FF88(UnkAlA9C* arg0, UnkAl3* arg1) { +void func_8004FF88(UnkAlA9C* arg0, UnkAl60* arg1) { arg1->unk_46 = (s8)arg0->unk_D4.u8[0] * 100; } -void func_8004FFA8(UnkAlA9C* arg0, UnkAl3* arg1) { +void func_8004FFA8(UnkAlA9C* arg0, UnkAl60* arg1) { arg1->unk_48 = arg0->unk_D4.u8[0]; } -void func_8004FFB4(UnkAlA9C* arg0, UnkAl3* arg1) { +void func_8004FFB4(UnkAlA9C* arg0, UnkAl60* arg1) { arg1->unk_38 = arg0->unk_D4.u16; arg1->unk_40 = 1; } -void func_8004FFC8(UnkAlA9C* arg0, UnkAl3* arg1) { +void func_8004FFC8(UnkAlA9C* arg0, UnkAl60* arg1) { arg1->unk_3A = arg0->unk_D4.u8[0]; arg1->unk_55 = arg0->unk_D4.u8[1]; - arg1->unk_56 = arg0->unk_D6; + arg1->unk_56 = arg0->unk_D6.u8[0]; } -void func_8004FFE4(UnkAlA9C* arg0, UnkAl3* arg1) { +void func_8004FFE4(UnkAlA9C* arg0, UnkAl60* arg1) { arg1->unk_55 = arg0->unk_D4.u8[0]; } -void func_8004FFF0(UnkAlA9C* arg0, UnkAl3* arg1) { +void func_8004FFF0(UnkAlA9C* arg0, UnkAl60* arg1) { arg1->unk_56 = arg0->unk_D4.u8[0]; } -void func_8004FFFC(UnkAlA9C* arg0, UnkAl3* arg1) { +void func_8004FFFC(UnkAlA9C* arg0, UnkAl60* arg1) { arg1->unk_56 = 0; } -void func_80050004(UnkAlA9C* arg0, UnkAl3* arg1) { +void func_80050004(UnkAlA9C* arg0, UnkAl60* arg1) { arg1->unk_4A = arg0->unk_D4.u8[0] & 0x7F; arg1->unk_57 = arg0->unk_D4.u8[1] & 0x7F; } -INCLUDE_ASM(void, "code_28910_len_5090", func_80050020, UnkAlA9C* arg0, UnkAl3* arg1); +INCLUDE_ASM(void, "code_28910_len_5090", func_80050020, UnkAlA9C* arg0, UnkAl60* arg1); -void func_80050128(UnkAlA9C* arg0, UnkAl3* arg1) { +void func_80050128(UnkAlA9C* arg0, UnkAl60* arg1) { u8 temp_v0 = arg0->unk_D4.u8[0]; u8 temp_v1 = arg0->unk_4C[temp_v0]; @@ -344,15 +416,28 @@ void func_80050128(UnkAlA9C* arg0, UnkAl3* arg1) { } } -INCLUDE_ASM(void, "code_28910_len_5090", func_8005015C, UnkAlA9C* arg0, UnkAl3* arg1); +// unk_D4 type shenanigans +#ifdef NON_MATCHING +void func_8005015C(UnkAlA9C* arg0, UnkAl60* arg1) { + func_800560BC(arg0->unk_234, arg1->unk_5C, arg0->unk_D4.u16 >> 8); +} +#else +INCLUDE_ASM(void, "code_28910_len_5090", func_8005015C, UnkAlA9C* arg0, UnkAl60* arg1); +#endif -INCLUDE_ASM(void, "code_28910_len_5090", func_80050184, UnkAlA9C* arg0, UnkAl3* arg1); +void func_80050184(UnkAlA9C* arg0, UnkAl60* arg1) { + s32 temp = arg0->unk_D4.u16 + arg0->unk_64; -INCLUDE_ASM(void, "code_28910_len_5090", func_800501A8, UnkAlA9C* arg0, UnkAl3* arg1); + arg1->unk_3E = arg0->unk_D6.u8[0]; + arg1->unk_04 = arg1->unk_00; + arg1->unk_00 = temp; +} -INCLUDE_ASM(void, "code_28910_len_5090", func_800502F0, UnkAlA9C* arg0, UnkAl3* arg1); +INCLUDE_ASM(void, "code_28910_len_5090", func_800501A8, UnkAlA9C* arg0, UnkAl60* arg1); -void func_80050560(UnkAlA9C* arg0, UnkAl3* arg1) { +INCLUDE_ASM(void, "code_28910_len_5090", func_800502F0, UnkAlA9C* arg0, UnkAl60* arg1); + +void func_80050560(UnkAlA9C* arg0, UnkAl60* arg1) { } INCLUDE_ASM(s32, "code_28910_len_5090", func_80050568); @@ -369,7 +454,15 @@ INCLUDE_ASM(s32, "code_28910_len_5090", func_80050770); INCLUDE_ASM(s32, "code_28910_len_5090", func_80050818); -INCLUDE_ASM(s32, "code_28910_len_5090", func_8005083C); +void func_8005083C(UnkAlA9C* arg0, s32 arg1, s16 arg2, s8 arg3) { + UnkAl60* temp_a1 = &arg0->unk_25C[arg1]; + + if (temp_a1->unk_00 != 0) { + arg0->unk_D4.u16 = arg2; + arg0->unk_D6.u8[0] = arg3; + func_8004FED0(arg0, temp_a1); + } +} INCLUDE_ASM(s32, "code_28910_len_5090", func_8005087C); @@ -389,7 +482,9 @@ s32 func_80050C30(u32 arg0) { } } -INCLUDE_ASM(s32, "code_28910_len_5090", func_80050C54); +void func_80050C54(s32 arg0, s8 arg1) { + D_8009A628->unk_21 = arg1; +} INCLUDE_ASM(s32, "code_28910_len_5090", func_80050C64); diff --git a/src/code_2e230_len_2190.c b/src/code_2e230_len_2190.c index 3adc72b3fe..66328667e6 100644 --- a/src/code_2e230_len_2190.c +++ b/src/code_2e230_len_2190.c @@ -436,7 +436,7 @@ void func_80053BA8(UnkAl1* arg0) { } } -INCLUDE_ASM(s32, "code_2e230_len_2190", func_80053BE8); +INCLUDE_ASM(s32, "code_2e230_len_2190", func_80053BE8, UnkAl19E0* arg0, s32 arg1, s32 arg2, s32* arg3); INCLUDE_ASM(s32, "code_2e230_len_2190", func_80053C58); From 9b5a49eda3c034335f818f0d1759b52a85a17976 Mon Sep 17 00:00:00 2001 From: Ethan Roseman Date: Sat, 19 Dec 2020 15:26:48 +0900 Subject: [PATCH 66/97] more info --- src/audio.h | 35 +++++++++++++++++++-- src/code_28910_len_5090.c | 65 +++++++++++++++++++++++++++++++++++---- 2 files changed, 92 insertions(+), 8 deletions(-) diff --git a/src/audio.h b/src/audio.h index d73408f1d4..231974e7fa 100644 --- a/src/audio.h +++ b/src/audio.h @@ -444,6 +444,28 @@ typedef struct UnkAlA9C { /* 0x85C */ UnkAl24 unk_85C[24]; } UnkAlA9C; // size = 0xA9C +typedef union Q32 { + u8 u8[4]; + u16 u16[2]; + s32 s32; +} Q32; + +typedef struct UnkAl8 { + /* 0x00 */ Q32 unk_00; + /* 0x04 */ char unk_04[0x4]; +} UnkAl8; // size = 0x8 + +typedef struct UnkAl1E4 { + /* 0x00 */ char unk_00[0x8]; + /* 0x08 */ s32 unk_08; + /* 0x0C */ char unk_0C[0x18]; + /* 0x24 */ u8 unk_24; + /* 0x25 */ u8 unk_25; + /* 0x26 */ char unk_26[0x2]; + /* 0x28 */ u16 unk_28; + /* 0x29 */ char unk_2A[0x1BA]; +} UnkAl1E4; // size = 0x1E4 + typedef struct UnkAl834 { /* 0x000 */ UnkAl19E0* unk_00; /* 0x004 */ s32 unk_04; @@ -451,8 +473,11 @@ typedef struct UnkAl834 { /* 0x00C */ s32 unk_0C; /* 0x010 */ char unk_10[0x10]; /* 0x020 */ u8 unk_20; - /* 0x021 */ s8 unk_21; - /* 0x022 */ char unk_22[0x812]; + /* 0x021 */ u8 unk_21; + /* 0x022 */ u8 unk_22; + /* 0x023 */ char unk_23[0x1]; + /* 0x024 */ UnkAl1E4 unk_24[4]; + /* 0x7B4 */ UnkAl8 unk_7B4[16]; } UnkAl834; extern u8 D_80078181; @@ -543,7 +568,13 @@ void func_80050560(UnkAlA9C*, UnkAl60*); s32 func_80056068(s32, u8); s32 func_800506C8(s32, s32); s32 func_80050C30(u32); +void func_80050D50(UnkAl1E4*); void func_800511BC(UnkAl834*); +void func_80051334(UnkAl834*, UnkAl1E4*); +void func_80051434(UnkAl834*, UnkAl1E4*); +void func_800521E8(UnkAl834*, UnkAl1E4*); +void func_800522A8(UnkAl834*, UnkAl1E4*); +void func_8005232C(UnkAl834*, UnkAl1E4*); void func_800525A0(UnkAl19E0*); void func_80052614(UnkAl19E0*); diff --git a/src/code_28910_len_5090.c b/src/code_28910_len_5090.c index 686185e1cb..4461d05b6a 100644 --- a/src/code_28910_len_5090.c +++ b/src/code_28910_len_5090.c @@ -490,7 +490,7 @@ INCLUDE_ASM(s32, "code_28910_len_5090", func_80050C64); INCLUDE_ASM(s32, "code_28910_len_5090", func_80050CA0); -INCLUDE_ASM(s32, "code_28910_len_5090", func_80050D50); +INCLUDE_ASM(void, "code_28910_len_5090", func_80050D50, UnkAl1E4* arg0); INCLUDE_ASM(s32, "code_28910_len_5090", func_80050E18); @@ -506,16 +506,69 @@ INCLUDE_ASM(s32, "code_28910_len_5090", func_80051050); INCLUDE_ASM(s32, "code_28910_len_5090", func_800510A4); +// Something wrong with the switch control flow +#ifdef NON_MATCHING +void func_800511BC(UnkAl834* arg0) { + u32 i; + s32 j; + + for (i = 0; i < ARRAY_COUNT(arg0->unk_7B4); i++) { + UnkAl8* temp = &arg0->unk_7B4[i]; + + if ((temp->unk_00.u8[3] == 1) && (arg0->unk_00->unk_1320[i].unk_45 != arg0->unk_22)) { + temp->unk_00.s32 = 0; + } + } + + for (j = 0; j < ARRAY_COUNT(arg0->unk_24); j++) { + UnkAl1E4* temp = &arg0->unk_24[j]; + + if (temp->unk_08 != 0) { + if (arg0->unk_21 != 0) { + func_80051334(arg0, temp); + } + + switch (temp->unk_24) { + case 3: + temp->unk_24 = 2; + func_800522A8(arg0, temp); + func_800521E8(arg0, temp); + break; + case 1: + temp->unk_24 = 0; + if (temp->unk_28 != 0) { + func_80050D50(temp); + } + func_8005232C(arg0, temp); + break; + case 0: + if (temp->unk_28 != 0) { + func_80050D50(temp); + } + if (temp->unk_25 == 2) { + func_800521E8(arg0, temp); + temp->unk_25 = 1; + } + func_80051434(arg0, temp); + break; + } + } + } + + arg0->unk_21 = 0; +} +#else INCLUDE_ASM(void, "code_28910_len_5090", func_800511BC, UnkAl834* arg0); +#endif -INCLUDE_ASM(s32, "code_28910_len_5090", func_80051334); +INCLUDE_ASM(void, "code_28910_len_5090", func_80051334, UnkAl834* arg0, UnkAl1E4* arg1); -INCLUDE_ASM(s32, "code_28910_len_5090", func_80051434); +INCLUDE_ASM(void, "code_28910_len_5090", func_80051434, UnkAl834* arg0, UnkAl1E4* arg1); INCLUDE_ASM(s32, "code_28910_len_5090", func_800521D0); -INCLUDE_ASM(s32, "code_28910_len_5090", func_800521E8); +INCLUDE_ASM(void, "code_28910_len_5090", func_800521E8, UnkAl834* arg0, UnkAl1E4* arg1); -INCLUDE_ASM(s32, "code_28910_len_5090", func_800522A8); +INCLUDE_ASM(void, "code_28910_len_5090", func_800522A8, UnkAl834* arg0, UnkAl1E4* arg1); -INCLUDE_ASM(s32, "code_28910_len_5090", func_8005232C); +INCLUDE_ASM(void, "code_28910_len_5090", func_8005232C, UnkAl834* arg0, UnkAl1E4* arg1); From bb992afece5547037debd4e7073d16c6da5a1335 Mon Sep 17 00:00:00 2001 From: Ethan Roseman Date: Sat, 19 Dec 2020 18:55:51 +0900 Subject: [PATCH 67/97] 1 more --- .../code_2d9a0_len_890/func_80052BC0.s | 18 ------------------ src/audio.h | 2 +- src/code_2d9a0_len_890.c | 4 +++- 3 files changed, 4 insertions(+), 20 deletions(-) delete mode 100644 asm/nonmatchings/code_2d9a0_len_890/func_80052BC0.s diff --git a/asm/nonmatchings/code_2d9a0_len_890/func_80052BC0.s b/asm/nonmatchings/code_2d9a0_len_890/func_80052BC0.s deleted file mode 100644 index 9f590f412f..0000000000 --- a/asm/nonmatchings/code_2d9a0_len_890/func_80052BC0.s +++ /dev/null @@ -1,18 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel func_80052BC0 -/* 2DFC0 80052BC0 3C02B65C */ lui $v0, 0xb65c -/* 2DFC4 80052BC4 34426D59 */ ori $v0, $v0, 0x6d59 -/* 2DFC8 80052BC8 00820018 */ mult $a0, $v0 -/* 2DFCC 80052BCC 00002810 */ mfhi $a1 -/* 2DFD0 80052BD0 00A41821 */ addu $v1, $a1, $a0 -/* 2DFD4 80052BD4 00031B03 */ sra $v1, $v1, 0xc -/* 2DFD8 80052BD8 000427C3 */ sra $a0, $a0, 0x1f -/* 2DFDC 80052BDC 00641823 */ subu $v1, $v1, $a0 -/* 2DFE0 80052BE0 00031040 */ sll $v0, $v1, 1 -/* 2DFE4 80052BE4 00431021 */ addu $v0, $v0, $v1 -/* 2DFE8 80052BE8 000210C0 */ sll $v0, $v0, 3 -/* 2DFEC 80052BEC 00431023 */ subu $v0, $v0, $v1 -/* 2DFF0 80052BF0 03E00008 */ jr $ra -/* 2DFF4 80052BF4 000210C0 */ sll $v0, $v0, 3 diff --git a/src/audio.h b/src/audio.h index 231974e7fa..3d380fc3c7 100644 --- a/src/audio.h +++ b/src/audio.h @@ -201,7 +201,7 @@ typedef struct UnkAl30 { /* 0x2C */ s32* unk_2C; } UnkAl30; -typedef struct UnkAl48 { // TRack? +typedef struct UnkAl48 { // Track? /* 0x00 */ s32 unk_00; // pointer to something /* 0x04 */ f32 unk_04; /* 0x08 */ s32 unk_08; diff --git a/src/code_2d9a0_len_890.c b/src/code_2d9a0_len_890.c index 53f4b3b5f7..9f3dc87c4a 100644 --- a/src/code_2d9a0_len_890.c +++ b/src/code_2d9a0_len_890.c @@ -45,7 +45,9 @@ void func_80052B44(UnkAl48* arg0) { arg0->unk_43 |= 0x4; } -INCLUDE_ASM(s32, "code_2d9a0_len_890", func_80052BC0); +s32 func_80052BC0(s32 arg0) { + return (arg0 / 5750) * 0xB8; +} INCLUDE_ASM(void, "code_2d9a0_len_890", func_80052BF8, UnkAl48* arg0, s32* arg1); From b753ff25ed6bc76091e3346bedc5f1f99a36e772 Mon Sep 17 00:00:00 2001 From: Ethan Roseman Date: Sun, 20 Dec 2020 12:47:09 +0900 Subject: [PATCH 68/97] non audio :floshed: --- .../code_13870_len_6980/npc_move_heading.s | 42 ------------- .../code_13870_len_6980/set_npc_yaw.s | 42 ------------- .../code_1f580_len_1940/MakeNpcs.s | 51 ---------------- include/functions.h | 1 + include/macros.h | 1 + src/code_13870_len_6980.c | 21 ++++++- src/code_1f580_len_1940.c | 60 ++++++++++++++++++- 7 files changed, 80 insertions(+), 138 deletions(-) delete mode 100644 asm/nonmatchings/code_13870_len_6980/npc_move_heading.s delete mode 100644 asm/nonmatchings/code_13870_len_6980/set_npc_yaw.s delete mode 100644 asm/nonmatchings/code_1f580_len_1940/MakeNpcs.s diff --git a/asm/nonmatchings/code_13870_len_6980/npc_move_heading.s b/asm/nonmatchings/code_13870_len_6980/npc_move_heading.s deleted file mode 100644 index 56e7a5b6d4..0000000000 --- a/asm/nonmatchings/code_13870_len_6980/npc_move_heading.s +++ /dev/null @@ -1,42 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel npc_move_heading -/* 15E54 8003AA54 27BDFFD8 */ addiu $sp, $sp, -0x28 -/* 15E58 8003AA58 F7B60020 */ sdc1 $f22, 0x20($sp) -/* 15E5C 8003AA5C 4485B000 */ mtc1 $a1, $f22 -/* 15E60 8003AA60 3C0140C9 */ lui $at, 0x40c9 -/* 15E64 8003AA64 34210FD0 */ ori $at, $at, 0xfd0 -/* 15E68 8003AA68 44810000 */ mtc1 $at, $f0 -/* 15E6C 8003AA6C 44862000 */ mtc1 $a2, $f4 -/* 15E70 8003AA70 F7B40018 */ sdc1 $f20, 0x18($sp) -/* 15E74 8003AA74 46002502 */ mul.s $f20, $f4, $f0 -/* 15E78 8003AA78 00000000 */ nop -/* 15E7C 8003AA7C AFB00010 */ sw $s0, 0x10($sp) -/* 15E80 8003AA80 3C0143B4 */ lui $at, 0x43b4 -/* 15E84 8003AA84 44810000 */ mtc1 $at, $f0 -/* 15E88 8003AA88 0080802D */ daddu $s0, $a0, $zero -/* 15E8C 8003AA8C AFBF0014 */ sw $ra, 0x14($sp) -/* 15E90 8003AA90 4600A503 */ div.s $f20, $f20, $f0 -/* 15E94 8003AA94 0C00A85B */ jal sin_rad -/* 15E98 8003AA98 4600A306 */ mov.s $f12, $f20 -/* 15E9C 8003AA9C 4600A306 */ mov.s $f12, $f20 -/* 15EA0 8003AAA0 0C00A874 */ jal cos_rad -/* 15EA4 8003AAA4 46000506 */ mov.s $f20, $f0 -/* 15EA8 8003AAA8 4614B502 */ mul.s $f20, $f22, $f20 -/* 15EAC 8003AAAC 00000000 */ nop -/* 15EB0 8003AAB0 4600B587 */ neg.s $f22, $f22 -/* 15EB4 8003AAB4 4600B582 */ mul.s $f22, $f22, $f0 -/* 15EB8 8003AAB8 00000000 */ nop -/* 15EBC 8003AABC C6020038 */ lwc1 $f2, 0x38($s0) -/* 15EC0 8003AAC0 46141080 */ add.s $f2, $f2, $f20 -/* 15EC4 8003AAC4 C6000040 */ lwc1 $f0, 0x40($s0) -/* 15EC8 8003AAC8 46160000 */ add.s $f0, $f0, $f22 -/* 15ECC 8003AACC E6020038 */ swc1 $f2, 0x38($s0) -/* 15ED0 8003AAD0 E6000040 */ swc1 $f0, 0x40($s0) -/* 15ED4 8003AAD4 8FBF0014 */ lw $ra, 0x14($sp) -/* 15ED8 8003AAD8 8FB00010 */ lw $s0, 0x10($sp) -/* 15EDC 8003AADC D7B60020 */ ldc1 $f22, 0x20($sp) -/* 15EE0 8003AAE0 D7B40018 */ ldc1 $f20, 0x18($sp) -/* 15EE4 8003AAE4 03E00008 */ jr $ra -/* 15EE8 8003AAE8 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/asm/nonmatchings/code_13870_len_6980/set_npc_yaw.s b/asm/nonmatchings/code_13870_len_6980/set_npc_yaw.s deleted file mode 100644 index 66397df8a8..0000000000 --- a/asm/nonmatchings/code_13870_len_6980/set_npc_yaw.s +++ /dev/null @@ -1,42 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel set_npc_yaw -/* 16740 8003B340 44857000 */ mtc1 $a1, $f14 -/* 16744 8003B344 3C038007 */ lui $v1, %hi(gCurrentCameraID) -/* 16748 8003B348 8C637410 */ lw $v1, %lo(gCurrentCameraID)($v1) -/* 1674C 8003B34C 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 16750 8003B350 AFB00010 */ sw $s0, 0x10($sp) -/* 16754 8003B354 0080802D */ daddu $s0, $a0, $zero -/* 16758 8003B358 AFBF0014 */ sw $ra, 0x14($sp) -/* 1675C 8003B35C 00031080 */ sll $v0, $v1, 2 -/* 16760 8003B360 00431021 */ addu $v0, $v0, $v1 -/* 16764 8003B364 00021080 */ sll $v0, $v0, 2 -/* 16768 8003B368 00431023 */ subu $v0, $v0, $v1 -/* 1676C 8003B36C 000218C0 */ sll $v1, $v0, 3 -/* 16770 8003B370 00431021 */ addu $v0, $v0, $v1 -/* 16774 8003B374 000210C0 */ sll $v0, $v0, 3 -/* 16778 8003B378 E60E000C */ swc1 $f14, 0xc($s0) -/* 1677C 8003B37C 3C01800B */ lui $at, %hi(D_800B1DEC) -/* 16780 8003B380 00220821 */ addu $at, $at, $v0 -/* 16784 8003B384 C42C1DEC */ lwc1 $f12, %lo(D_800B1DEC)($at) -/* 16788 8003B388 0C00A70A */ jal get_clamped_angle_diff -/* 1678C 8003B38C 00000000 */ nop -/* 16790 8003B390 44801000 */ mtc1 $zero, $f2 -/* 16794 8003B394 00000000 */ nop -/* 16798 8003B398 4600103E */ c.le.s $f2, $f0 -/* 1679C 8003B39C 00000000 */ nop -/* 167A0 8003B3A0 45000005 */ bc1f .L8003B3B8 -/* 167A4 8003B3A4 240200B4 */ addiu $v0, $zero, 0xb4 -/* 167A8 8003B3A8 A602008A */ sh $v0, 0x8a($s0) -/* 167AC 8003B3AC 24020001 */ addiu $v0, $zero, 1 -/* 167B0 8003B3B0 0800ECF0 */ j .L8003B3C0 -/* 167B4 8003B3B4 A6020088 */ sh $v0, 0x88($s0) -.L8003B3B8: -/* 167B8 8003B3B8 A600008A */ sh $zero, 0x8a($s0) -/* 167BC 8003B3BC A6000088 */ sh $zero, 0x88($s0) -.L8003B3C0: -/* 167C0 8003B3C0 8FBF0014 */ lw $ra, 0x14($sp) -/* 167C4 8003B3C4 8FB00010 */ lw $s0, 0x10($sp) -/* 167C8 8003B3C8 03E00008 */ jr $ra -/* 167CC 8003B3CC 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/asm/nonmatchings/code_1f580_len_1940/MakeNpcs.s b/asm/nonmatchings/code_1f580_len_1940/MakeNpcs.s deleted file mode 100644 index b25a3bf5be..0000000000 --- a/asm/nonmatchings/code_1f580_len_1940/MakeNpcs.s +++ /dev/null @@ -1,51 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel MakeNpcs -/* 1F698 80044298 27BDFFE0 */ addiu $sp, $sp, -0x20 -/* 1F69C 8004429C AFB10014 */ sw $s1, 0x14($sp) -/* 1F6A0 800442A0 0080882D */ daddu $s1, $a0, $zero -/* 1F6A4 800442A4 AFBF0018 */ sw $ra, 0x18($sp) -/* 1F6A8 800442A8 AFB00010 */ sw $s0, 0x10($sp) -/* 1F6AC 800442AC 8E30000C */ lw $s0, 0xc($s1) -/* 1F6B0 800442B0 54A00001 */ bnel $a1, $zero, .L800442B8 -/* 1F6B4 800442B4 AE200070 */ sw $zero, 0x70($s1) -.L800442B8: -/* 1F6B8 800442B8 8E240070 */ lw $a0, 0x70($s1) -/* 1F6BC 800442BC 10800005 */ beqz $a0, .L800442D4 -/* 1F6C0 800442C0 24020001 */ addiu $v0, $zero, 1 -/* 1F6C4 800442C4 10820014 */ beq $a0, $v0, .L80044318 -/* 1F6C8 800442C8 0000102D */ daddu $v0, $zero, $zero -/* 1F6CC 800442CC 080110CB */ j .L8004432C -/* 1F6D0 800442D0 00000000 */ nop -.L800442D4: -/* 1F6D4 800442D4 8E050000 */ lw $a1, ($s0) -/* 1F6D8 800442D8 26100004 */ addiu $s0, $s0, 4 -/* 1F6DC 800442DC 0C0B1EAF */ jal get_variable -/* 1F6E0 800442E0 0220202D */ daddu $a0, $s1, $zero -/* 1F6E4 800442E4 0220202D */ daddu $a0, $s1, $zero -/* 1F6E8 800442E8 8E050000 */ lw $a1, ($s0) -/* 1F6EC 800442EC 0C0B1EAF */ jal get_variable -/* 1F6F0 800442F0 0040802D */ daddu $s0, $v0, $zero -/* 1F6F4 800442F4 3C038007 */ lui $v1, %hi(gGameStatusPtr) -/* 1F6F8 800442F8 8C63419C */ lw $v1, %lo(gGameStatusPtr)($v1) -/* 1F6FC 800442FC 0200202D */ daddu $a0, $s0, $zero -/* 1F700 80044300 8465008C */ lh $a1, 0x8c($v1) -/* 1F704 80044304 0C00F99E */ jal make_npcs -/* 1F708 80044308 0040302D */ daddu $a2, $v0, $zero -/* 1F70C 8004430C 24020001 */ addiu $v0, $zero, 1 -/* 1F710 80044310 080110CA */ j .L80044328 -/* 1F714 80044314 AE220070 */ sw $v0, 0x70($s1) -.L80044318: -/* 1F718 80044318 3C03800A */ lui $v1, %hi(gGameState) -/* 1F71C 8004431C 8C63A600 */ lw $v1, %lo(gGameState)($v1) -/* 1F720 80044320 14640002 */ bne $v1, $a0, .L8004432C -/* 1F724 80044324 24020002 */ addiu $v0, $zero, 2 -.L80044328: -/* 1F728 80044328 0000102D */ daddu $v0, $zero, $zero -.L8004432C: -/* 1F72C 8004432C 8FBF0018 */ lw $ra, 0x18($sp) -/* 1F730 80044330 8FB10014 */ lw $s1, 0x14($sp) -/* 1F734 80044334 8FB00010 */ lw $s0, 0x10($sp) -/* 1F738 80044338 03E00008 */ jr $ra -/* 1F73C 8004433C 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/include/functions.h b/include/functions.h index c852164ae3..b89c7ecf94 100644 --- a/include/functions.h +++ b/include/functions.h @@ -21,6 +21,7 @@ Shadow* get_shadow_by_index(s32 index); void render_player_model(); f32 integrate_gravity(void); +f32 get_clamped_angle_diff(f32, f32); // Text PrintContext* load_string(s32 stringID, s32* a1); diff --git a/include/macros.h b/include/macros.h index d181e67656..52812faacd 100644 --- a/include/macros.h +++ b/include/macros.h @@ -44,6 +44,7 @@ // Alternative to libultra's M_PI: non-float version; more digits cause issues #define PI 3.141592f +#define TAU 6.28318f //NOTE: SCRIPT_ALLOC is probably not quite correct, but this is the closest thing to matching for the functions its used in. Needs more work. #define SCRIPT_ALLOC(new, index) \ diff --git a/src/code_13870_len_6980.c b/src/code_13870_len_6980.c index 3199d38f7f..f83f0e8bb9 100644 --- a/src/code_13870_len_6980.c +++ b/src/code_13870_len_6980.c @@ -52,7 +52,14 @@ INCLUDE_ASM(s32, "code_13870_len_6980", appendGfx_npc); INCLUDE_ASM(s32, "code_13870_len_6980", render_npcs); -INCLUDE_ASM(void, "code_13870_len_6980", npc_move_heading, Npc* npc, f32 speed, f32 yaw); +void npc_move_heading(Npc* npc, f32 speed, f32 yaw) { + f32 angle = (yaw * TAU) / 360.0f; + f32 sin = sin_rad(angle); + f32 cos = cos_rad(angle); + + npc->pos.x += speed * sin; + npc->pos.z += -speed * cos; +} INCLUDE_ASM(Npc*, "code_13870_len_6980", get_npc_unsafe, NpcId npcId); @@ -101,7 +108,17 @@ void func_8003B1A8(void) { INCLUDE_ASM(s32, "code_13870_len_6980", func_8003B1B0); -INCLUDE_ASM(void, "code_13870_len_6980", set_npc_yaw, Npc* npcPtr, f32 angle); +void set_npc_yaw(Npc* npc, f32 angle) { + npc->yaw = angle; + + if (get_clamped_angle_diff(gCameras[gCurrentCameraID].currentYaw, angle) >= 0.0f) { + npc->yawCamOffset = 180; + npc->isFacingAway = TRUE; + } else { + npc->yawCamOffset = 0; + npc->isFacingAway = FALSE; + } +} INCLUDE_ASM(s32, "code_13870_len_6980", func_8003B3D0); diff --git a/src/code_1f580_len_1940.c b/src/code_1f580_len_1940.c index 7ca226c865..513b11e991 100644 --- a/src/code_1f580_len_1940.c +++ b/src/code_1f580_len_1940.c @@ -37,7 +37,26 @@ ApiStatus func_80044290(ScriptInstance* script, s32 isInitialCall) { return ApiStatus_DONE2; } -INCLUDE_ASM(s32, "code_1f580_len_1940", MakeNpcs, ScriptInstance* script, s32 isInitialCall); +ApiStatus MakeNpcs(ScriptInstance* script, s32 isInitialCall) { + Bytecode* args = script->ptrReadPos; + + if (isInitialCall) { + script->functionTemp[0].s = 0; + } + + switch (script->functionTemp[0].s) { + case 0: + make_npcs(get_variable(script, *args++), GAME_STATUS->mapID, get_variable(script, *args++)); + script->functionTemp[0].s = 1; + break; + case 1: + if (gGameState != script->functionTemp[0].s) { + return ApiStatus_DONE2; + } + } + + return ApiStatus_BLOCK; +} INCLUDE_ASM(s32, "code_1f580_len_1940", RemoveNpc, ScriptInstance* script, s32 isInitialCall); @@ -504,7 +523,46 @@ ApiStatus func_800458CC(ScriptInstance* script, s32 isInitialCall) { return ApiStatus_DONE2; } +// comments inline, WIP +#ifdef NON_MATCHIING +ApiStatus func_80045900(ScriptInstance* script) { + Enemy* enemy = script->owner1.enemy; + Npc* npc = get_npc_unsafe(enemy->npcID); + s32 var0 = get_variable(script, *script->ptrReadPos); + + enemy->unk_B0 |= 4; + + if (var0 == 0) { + // idk what these are supposed to be + f32 subroutine_argE; + f32 subroutine_argD; + f32 subroutine_argC; + f32 subroutine_argB; + s32 subroutine_argA; + + if (!(enemy->unk_B0 & 0x10)) { + npc->currentAnim = *enemy->animList; + } + + if (!(enemy->unk_B0 & 0x8)) { + fx_emote(2, npc, 0, npc->collisionHeight, 1.0f, 0.0f, -20.0f, 40, &subroutine_argA); + } + + if ((npc->flags & 0xA08) == 0x808) { + // function decl needed + if (func_800DCB7C(npc->unk_80, &subroutine_argB, &subroutine_argC, &subroutine_argD, &subroutine_argE, npc->pos.x, + npc->pos.y + npc->collisionHeight, npc->pos.z, 100.0f) != 0) { + npc->pos.y = subroutine_argC; + } + npc->flags &= ~0x800; + } + } + + return ApiStatus_DONE2; +} +#else INCLUDE_ASM(s32, "code_1f580_len_1940", func_80045900); +#endif ApiStatus SetTattleString(ScriptInstance* script, s32 isInitialCall) { Bytecode* args = script->ptrReadPos; From 6f6be839b39701667b948573f25735eed79b9ddf Mon Sep 17 00:00:00 2001 From: Ethan Roseman Date: Tue, 22 Dec 2020 18:35:44 +0900 Subject: [PATCH 69/97] Makefile changes --- Makefile | 23 ++++++++++++----------- 1 file changed, 12 insertions(+), 11 deletions(-) diff --git a/Makefile b/Makefile index 07e2b70587..483344a684 100644 --- a/Makefile +++ b/Makefile @@ -47,8 +47,6 @@ YAY0COMPRESS = tools/Yay0compress EMULATOR = mupen64plus -### Compiler Options ### - CROSS := mips-linux-gnu- AS := $(CROSS)as OLD_AS := tools/mips-nintendo-nu64-as @@ -57,28 +55,31 @@ CPP := cpp LD := $(CROSS)ld OBJCOPY := $(CROSS)objcopy +WSL := 0 +JAVA := java + UNAME_S := $(shell uname -s) ifeq ($(UNAME_S),Linux) OS=linux ICONV := iconv --from UTF-8 --to SHIFT-JIS + + ifeq ($(findstring microsoft,$(shell cat /proc/sys/kernel/osrelease)),microsoft) + WSL := 1 + ifeq ($(WSL_ELEVATE_GUI),1) + JAVA := powershell.exe -command java + endif +endif endif ifeq ($(UNAME_S),Darwin) OS=mac ICONV := tools/iconv.py UTF-8 SHIFT-JIS endif -WSL := 0 -JAVA := java -ifeq ($(findstring microsoft,$(shell cat /proc/sys/kernel/osrelease)),microsoft) - WSL := 1 - ifeq ($(WSL_ELEVATE_GUI),1) - JAVA := powershell.exe -command java - endif -endif - OLD_AS=tools/$(OS)/mips-nintendo-nu64-as CC=tools/$(OS)/cc1 +### Compiler Options ### + CPPFLAGS := -Iinclude -Isrc -D _LANGUAGE_C -ffreestanding -DF3DEX_GBI_2 -D_MIPS_SZLONG=32 -Wundef -Wcomment ASFLAGS := -EB -Iinclude -march=vr4300 -mtune=vr4300 OLDASFLAGS := -EB -Iinclude -G 0 From 2754ed84fee1b7c7b2d150823ca6b46ad5ca07e9 Mon Sep 17 00:00:00 2001 From: Ethan Roseman Date: Tue, 22 Dec 2020 22:24:49 +0900 Subject: [PATCH 70/97] cleanup + 1 match --- Makefile | 2 +- .../code_1f580_len_1940/func_80045900.s | 94 ------------------- include/functions.h | 4 +- src/code_1f580_len_1940.c | 29 +++--- src/code_759b0_len_61b0.c | 2 +- src/os/code_4ac90_len_3910.c | 2 +- src/world/common/UnkNpcAIFunc11.inc.c | 2 +- src/world/common/UnkNpcAIFunc8.inc.c | 2 +- 8 files changed, 19 insertions(+), 118 deletions(-) delete mode 100644 asm/nonmatchings/code_1f580_len_1940/func_80045900.s diff --git a/Makefile b/Makefile index 483344a684..af2187bd6f 100644 --- a/Makefile +++ b/Makefile @@ -128,7 +128,7 @@ setup: clean submodules tools split $(LD_SCRIPT) # tools/star-rod submodule intentionally omitted submodules: git submodule init tools/n64splat - git submodule update --init --recursive + git submodule update --recursive split: $(SPLAT) --modes ld bin Yay0 PaperMarioMapFS PaperMarioMessages img PaperMarioNpcSprites --new diff --git a/asm/nonmatchings/code_1f580_len_1940/func_80045900.s b/asm/nonmatchings/code_1f580_len_1940/func_80045900.s deleted file mode 100644 index 136b00433c..0000000000 --- a/asm/nonmatchings/code_1f580_len_1940/func_80045900.s +++ /dev/null @@ -1,94 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel func_80045900 -/* 20D00 80045900 27BDFFB0 */ addiu $sp, $sp, -0x50 -/* 20D04 80045904 AFB00040 */ sw $s0, 0x40($sp) -/* 20D08 80045908 0080802D */ daddu $s0, $a0, $zero -/* 20D0C 8004590C AFBF0048 */ sw $ra, 0x48($sp) -/* 20D10 80045910 AFB10044 */ sw $s1, 0x44($sp) -/* 20D14 80045914 8E110148 */ lw $s1, 0x148($s0) -/* 20D18 80045918 0C00EABB */ jal get_npc_unsafe -/* 20D1C 8004591C 86240008 */ lh $a0, 8($s1) -/* 20D20 80045920 8E03000C */ lw $v1, 0xc($s0) -/* 20D24 80045924 0200202D */ daddu $a0, $s0, $zero -/* 20D28 80045928 8C650000 */ lw $a1, ($v1) -/* 20D2C 8004592C 0C0B1EAF */ jal get_variable -/* 20D30 80045930 0040802D */ daddu $s0, $v0, $zero -/* 20D34 80045934 8E2300B0 */ lw $v1, 0xb0($s1) -/* 20D38 80045938 34630004 */ ori $v1, $v1, 4 -/* 20D3C 8004593C 14400040 */ bnez $v0, .L80045A40 -/* 20D40 80045940 AE2300B0 */ sw $v1, 0xb0($s1) -/* 20D44 80045944 30620010 */ andi $v0, $v1, 0x10 -/* 20D48 80045948 14400004 */ bnez $v0, .L8004595C -/* 20D4C 8004594C 00000000 */ nop -/* 20D50 80045950 8E2200CC */ lw $v0, 0xcc($s1) -/* 20D54 80045954 8C420000 */ lw $v0, ($v0) -/* 20D58 80045958 AE020028 */ sw $v0, 0x28($s0) -.L8004595C: -/* 20D5C 8004595C 8E2200B0 */ lw $v0, 0xb0($s1) -/* 20D60 80045960 30420008 */ andi $v0, $v0, 8 -/* 20D64 80045964 14400015 */ bnez $v0, .L800459BC -/* 20D68 80045968 24040002 */ addiu $a0, $zero, 2 -/* 20D6C 8004596C 0200282D */ daddu $a1, $s0, $zero -/* 20D70 80045970 860300A8 */ lh $v1, 0xa8($s0) -/* 20D74 80045974 44800000 */ mtc1 $zero, $f0 -/* 20D78 80045978 3C01C1A0 */ lui $at, 0xc1a0 -/* 20D7C 8004597C 44811000 */ mtc1 $at, $f2 -/* 20D80 80045980 24020028 */ addiu $v0, $zero, 0x28 -/* 20D84 80045984 AFA2001C */ sw $v0, 0x1c($sp) -/* 20D88 80045988 44834000 */ mtc1 $v1, $f8 -/* 20D8C 8004598C 00000000 */ nop -/* 20D90 80045990 46804220 */ cvt.s.w $f8, $f8 -/* 20D94 80045994 44060000 */ mfc1 $a2, $f0 -/* 20D98 80045998 3C013F80 */ lui $at, 0x3f80 -/* 20D9C 8004599C 44810000 */ mtc1 $at, $f0 -/* 20DA0 800459A0 44074000 */ mfc1 $a3, $f8 -/* 20DA4 800459A4 03A21021 */ addu $v0, $sp, $v0 -/* 20DA8 800459A8 AFA20020 */ sw $v0, 0x20($sp) -/* 20DAC 800459AC E7A20018 */ swc1 $f2, 0x18($sp) -/* 20DB0 800459B0 E7A00010 */ swc1 $f0, 0x10($sp) -/* 20DB4 800459B4 0C01BFA4 */ jal fx_emote -/* 20DB8 800459B8 AFA60014 */ sw $a2, 0x14($sp) -.L800459BC: -/* 20DBC 800459BC 8E020000 */ lw $v0, ($s0) -/* 20DC0 800459C0 24030808 */ addiu $v1, $zero, 0x808 -/* 20DC4 800459C4 30420A08 */ andi $v0, $v0, 0xa08 -/* 20DC8 800459C8 1443001D */ bne $v0, $v1, .L80045A40 -/* 20DCC 800459CC 27A5002C */ addiu $a1, $sp, 0x2c -/* 20DD0 800459D0 27A60030 */ addiu $a2, $sp, 0x30 -/* 20DD4 800459D4 C6000038 */ lwc1 $f0, 0x38($s0) -/* 20DD8 800459D8 860200A8 */ lh $v0, 0xa8($s0) -/* 20DDC 800459DC 3C0142C8 */ lui $at, 0x42c8 -/* 20DE0 800459E0 44812000 */ mtc1 $at, $f4 -/* 20DE4 800459E4 44823000 */ mtc1 $v0, $f6 -/* 20DE8 800459E8 00000000 */ nop -/* 20DEC 800459EC 468031A0 */ cvt.s.w $f6, $f6 -/* 20DF0 800459F0 27A20038 */ addiu $v0, $sp, 0x38 -/* 20DF4 800459F4 E7A0002C */ swc1 $f0, 0x2c($sp) -/* 20DF8 800459F8 C600003C */ lwc1 $f0, 0x3c($s0) -/* 20DFC 800459FC C6020040 */ lwc1 $f2, 0x40($s0) -/* 20E00 80045A00 46060000 */ add.s $f0, $f0, $f6 -/* 20E04 80045A04 E7A40038 */ swc1 $f4, 0x38($sp) -/* 20E08 80045A08 E7A20034 */ swc1 $f2, 0x34($sp) -/* 20E0C 80045A0C E7A00030 */ swc1 $f0, 0x30($sp) -/* 20E10 80045A10 AFA20010 */ sw $v0, 0x10($sp) -/* 20E14 80045A14 8E040080 */ lw $a0, 0x80($s0) -/* 20E18 80045A18 0C0372DF */ jal func_800DCB7C -/* 20E1C 80045A1C 27A70034 */ addiu $a3, $sp, 0x34 -/* 20E20 80045A20 10400003 */ beqz $v0, .L80045A30 -/* 20E24 80045A24 00000000 */ nop -/* 20E28 80045A28 C7A00030 */ lwc1 $f0, 0x30($sp) -/* 20E2C 80045A2C E600003C */ swc1 $f0, 0x3c($s0) -.L80045A30: -/* 20E30 80045A30 8E020000 */ lw $v0, ($s0) -/* 20E34 80045A34 2403F7FF */ addiu $v1, $zero, -0x801 -/* 20E38 80045A38 00431024 */ and $v0, $v0, $v1 -/* 20E3C 80045A3C AE020000 */ sw $v0, ($s0) -.L80045A40: -/* 20E40 80045A40 8FBF0048 */ lw $ra, 0x48($sp) -/* 20E44 80045A44 8FB10044 */ lw $s1, 0x44($sp) -/* 20E48 80045A48 8FB00040 */ lw $s0, 0x40($sp) -/* 20E4C 80045A4C 24020002 */ addiu $v0, $zero, 2 -/* 20E50 80045A50 03E00008 */ jr $ra -/* 20E54 80045A54 27BD0050 */ addiu $sp, $sp, 0x50 diff --git a/include/functions.h b/include/functions.h index 48df6e1cbb..79ba43bfc9 100644 --- a/include/functions.h +++ b/include/functions.h @@ -77,7 +77,7 @@ void set_curtain_scale_goal(f32 scale); void set_curtain_fade(f32 scale); void fx_walk_normal(s32 arg0, f32 arg1, f32 arg2, f32 arg3, s32 arg4, s32 arg5); -void fx_emote(s32, Npc*, s32, f32, f32, f32, f32, s32, s32*); +void fx_emote(s32, Npc*, f32, f32, f32, f32, f32, s32, s32*); f32 func_800E0088(f32, f32); void func_800E97B8(void); @@ -90,6 +90,8 @@ PlayerData* get_player_data(void); s32 pause_interp_vertical_scroll(s32 deltaBefore); void pause_draw_rect(s32 ulx, s32 uly, s32 lrx, s32 lry, s32 tileDescriptor, s32 uls, s32 ult, s32 dsdx, s32 dtdy); +s32 func_800DCB7C(s32, f32*, f32*, f32*, f32*); + // Partner void func_800EBA3C(Npc* partner); void func_800EBB40(Npc* partner); diff --git a/src/code_1f580_len_1940.c b/src/code_1f580_len_1940.c index 513b11e991..60522e416e 100644 --- a/src/code_1f580_len_1940.c +++ b/src/code_1f580_len_1940.c @@ -84,11 +84,11 @@ ApiStatus GetOwnerEncounterTrigger(ScriptInstance* script, s32 isInitialCall) { ApiStatus DoNpcDefeat(ScriptInstance* script, s32 isInitialCall) { Enemy* owner = script->owner1.enemy; - Npc* temp_s1 = get_npc_unsafe(owner->npcID); + Npc* npc = get_npc_unsafe(owner->npcID); ScriptInstance* newScript; kill_script(script); - temp_s1->currentAnim = owner->animList[6]; + npc->currentAnim = owner->animList[6]; newScript = start_script(&SCRIPT_NpcDefeat, 10, 0); owner->defeatScript = newScript; owner->defeatScriptID = newScript->id; @@ -523,8 +523,6 @@ ApiStatus func_800458CC(ScriptInstance* script, s32 isInitialCall) { return ApiStatus_DONE2; } -// comments inline, WIP -#ifdef NON_MATCHIING ApiStatus func_80045900(ScriptInstance* script) { Enemy* enemy = script->owner1.enemy; Npc* npc = get_npc_unsafe(enemy->npcID); @@ -533,26 +531,24 @@ ApiStatus func_80045900(ScriptInstance* script) { enemy->unk_B0 |= 4; if (var0 == 0) { - // idk what these are supposed to be - f32 subroutine_argE; - f32 subroutine_argD; - f32 subroutine_argC; - f32 subroutine_argB; - s32 subroutine_argA; + s32 unk; if (!(enemy->unk_B0 & 0x10)) { npc->currentAnim = *enemy->animList; } if (!(enemy->unk_B0 & 0x8)) { - fx_emote(2, npc, 0, npc->collisionHeight, 1.0f, 0.0f, -20.0f, 40, &subroutine_argA); + fx_emote(2, npc, 0.0f, npc->collisionHeight, 1.0f, 0.0f, -20.0f, 40, &unk); } if ((npc->flags & 0xA08) == 0x808) { - // function decl needed - if (func_800DCB7C(npc->unk_80, &subroutine_argB, &subroutine_argC, &subroutine_argD, &subroutine_argE, npc->pos.x, - npc->pos.y + npc->collisionHeight, npc->pos.z, 100.0f) != 0) { - npc->pos.y = subroutine_argC; + f32 x = npc->pos.x; + f32 y = npc->pos.y + npc->collisionHeight; + f32 z = npc->pos.z; + f32 a = 100.0f; + + if (func_800DCB7C(npc->unk_80, &x, &y, &z, &a) != 0) { + npc->pos.y = y; } npc->flags &= ~0x800; } @@ -560,9 +556,6 @@ ApiStatus func_80045900(ScriptInstance* script) { return ApiStatus_DONE2; } -#else -INCLUDE_ASM(s32, "code_1f580_len_1940", func_80045900); -#endif ApiStatus SetTattleString(ScriptInstance* script, s32 isInitialCall) { Bytecode* args = script->ptrReadPos; diff --git a/src/code_759b0_len_61b0.c b/src/code_759b0_len_61b0.c index 2f827e8efb..10be5f6775 100644 --- a/src/code_759b0_len_61b0.c +++ b/src/code_759b0_len_61b0.c @@ -4,7 +4,7 @@ INCLUDE_ASM(s32, "code_759b0_len_61b0", func_800DC500); INCLUDE_ASM(s32, "code_759b0_len_61b0", func_800DC778); -INCLUDE_ASM(s32, "code_759b0_len_61b0", func_800DCB7C); +INCLUDE_ASM(s32, "code_759b0_len_61b0", func_800DCB7C, s32 arg0, f32* arg1, f32* arg2, f32* arg3, f32* arg4); INCLUDE_ASM(s32, "code_759b0_len_61b0", func_800DCE70); diff --git a/src/os/code_4ac90_len_3910.c b/src/os/code_4ac90_len_3910.c index 0e74612759..e5df490a49 100644 --- a/src/os/code_4ac90_len_3910.c +++ b/src/os/code_4ac90_len_3910.c @@ -32,7 +32,7 @@ INCLUDE_ASM(s32, "os/code_4ac90_len_3910", func_8006FDD0); INCLUDE_ASM(s32, "os/code_4ac90_len_3910", func_8006FE30); -INCLUDE_ASM(void, "os/code_4ac90_len_3910", fx_emote, s32 arg0, Npc* arg1, s32 arg2, f32 arg3, f32 arg4, f32 arg5, +INCLUDE_ASM(void, "os/code_4ac90_len_3910", fx_emote, s32 arg0, Npc* arg1, f32 arg2, f32 arg3, f32 arg4, f32 arg5, f32 arg6, s32 arg7, s32* arg8); INCLUDE_ASM(void, "os/code_4ac90_len_3910", func_8006FEF0, s32 a0, f32 a1, f32 a2, f32 a3, f32 a4); diff --git a/src/world/common/UnkNpcAIFunc11.inc.c b/src/world/common/UnkNpcAIFunc11.inc.c index 250c081824..9abc9378ce 100644 --- a/src/world/common/UnkNpcAIFunc11.inc.c +++ b/src/world/common/UnkNpcAIFunc11.inc.c @@ -8,7 +8,7 @@ static void UnkNpcAIFunc11(ScriptInstance* script, NpcAISettings* aiSettings, s3 if (func_800490B4(arg2, enemy, aiSettings->chaseSpeed, aiSettings->unk_1C, 1) == 0) { s32* something; - fx_emote(2, npc, 0, npc->collisionHeight, 1.0f, 2.0f, -20.0f, 0xF, &something); + fx_emote(2, npc, 0.0f, npc->collisionHeight, 1.0f, 2.0f, -20.0f, 0xF, &something); npc->currentAnim = enemy->animList[0]; npc->duration = 25; script->functionTemp[0].s = 14; diff --git a/src/world/common/UnkNpcAIFunc8.inc.c b/src/world/common/UnkNpcAIFunc8.inc.c index d79df68192..6bb7eb9049 100644 --- a/src/world/common/UnkNpcAIFunc8.inc.c +++ b/src/world/common/UnkNpcAIFunc8.inc.c @@ -13,7 +13,7 @@ static void UnkNpcAIFunc8(ScriptInstance* script) { if (enemy->varTable[3] >= 8) { s32 something; - fx_emote(3, npc, 0, npc->collisionHeight, 1.0f, 2.0f, -20.0f, enemy->varTable[3] - 1, &something); + fx_emote(3, npc, 0.0f, npc->collisionHeight, 1.0f, 2.0f, -20.0f, enemy->varTable[3] - 1, &something); } script->functionTemp[0].s = 33; } From 9df06a74bab42f799a90a08bd3cf144e9550b540 Mon Sep 17 00:00:00 2001 From: Ethan Roseman Date: Tue, 22 Dec 2020 22:31:22 +0900 Subject: [PATCH 71/97] cleanup --- src/code_1f580_len_1940.c | 17 ++++++----------- 1 file changed, 6 insertions(+), 11 deletions(-) diff --git a/src/code_1f580_len_1940.c b/src/code_1f580_len_1940.c index 60522e416e..4965b3997a 100644 --- a/src/code_1f580_len_1940.c +++ b/src/code_1f580_len_1940.c @@ -364,15 +364,10 @@ ApiStatus SetNpcVar(ScriptInstance* script, s32 isInitialCall) { ApiStatus GetNpcVar(ScriptInstance* script, s32 isInitialCall) { Bytecode* args = script->ptrReadPos; - Enemy* npc; - NpcId npcID; - s32 varIdx; - s32 var3; - - npc = script->owner1.enemy; - npcID = get_variable(script, *args++); - varIdx = get_variable(script, *args++); - var3 = *args; + Enemy* npc = script->owner1.enemy; + NpcId npcID = get_variable(script, *args++); + s32 varIdx = get_variable(script, *args++); + s32 var3 = *args; if (npcID == NpcId_SELF) { npcID = npc->npcID; @@ -439,8 +434,8 @@ ApiStatus ClearDefeatedEnemies(ScriptInstance* script, s32 isInitialCall) { s32 i; s32 j; - for (i = 0; i < 60; i++) { - for (j = 0; j < 12; j++) { + for (i = 0; i < ARRAY_COUNT(currentEncounter->defeatFlags); i++) { + for (j = 0; j < ARRAY_COUNT(currentEncounter->defeatFlags[0]); j++) { currentEncounter->defeatFlags[i][j] = 0; } } From fe82f4be0af588549e43419cd47c358885262687 Mon Sep 17 00:00:00 2001 From: Ethan Roseman Date: Tue, 22 Dec 2020 22:50:47 +0900 Subject: [PATCH 72/97] clean 2 --- include/functions.h | 2 -- 1 file changed, 2 deletions(-) diff --git a/include/functions.h b/include/functions.h index 79ba43bfc9..2921bf6ff7 100644 --- a/include/functions.h +++ b/include/functions.h @@ -154,6 +154,4 @@ ScriptInstance* get_script_by_index(s32 index); void suspend_all_group(s32 groupFlags); void kill_script(ScriptInstance* instanceToKill); -void nuPiReadRom(u32 rom_addr, void* buf_ptr, u32 size); - #endif From 64dbc07d560fbe27d45452ab1a3dba1f29992243 Mon Sep 17 00:00:00 2001 From: Alex Bates <16batesa@gmail.com> Date: Tue, 22 Dec 2020 15:53:16 +0000 Subject: [PATCH 73/97] match world partner table --- .gitignore | 2 + Makefile | 16 +- ...02BDBBC.s => world_goombario_pre_battle.s} | 10 +- sources.mk | 2 +- src/code_317020.c | 9 +- src/world/partner/goombaria.c | 43 ++++ src/world/partner/goombario.h | 20 ++ src/world/partner/goompa.c | 32 +++ src/world/partner/kooper.h | 9 + src/world/partner/twink.c | 44 ++++ src/world/partners.c | 227 ++++++++++++++++++ tools/splat.yaml | 35 ++- undefined_syms.txt | 2 + 13 files changed, 426 insertions(+), 25 deletions(-) rename asm/nonmatchings/code_317020/{func_802BDBBC.s => world_goombario_pre_battle.s} (90%) create mode 100644 src/world/partner/goombaria.c create mode 100644 src/world/partner/goombario.h create mode 100644 src/world/partner/goompa.c create mode 100644 src/world/partner/kooper.h create mode 100644 src/world/partner/twink.c create mode 100644 src/world/partners.c diff --git a/.gitignore b/.gitignore index f408c80f71..73c21dc658 100644 --- a/.gitignore +++ b/.gitignore @@ -19,7 +19,9 @@ settings.mk /build/ /docs/doxygen/ /include/ld_addrs.h +/include/message_ids.h /include/sprite/ +/include/map # Assets /bin diff --git a/Makefile b/Makefile index da7cc3140a..19126f5a15 100644 --- a/Makefile +++ b/Makefile @@ -37,7 +37,7 @@ LD_MAP := $(BUILD_DIR)/$(TARGET).map ASSETS_BIN := $(BUILD_DIR)/bin/assets/assets.bin MSG_BIN := $(BUILD_DIR)/msg.bin NPC_BIN := $(BUILD_DIR)/sprite/npc.bin -GENERATED_HEADERS := include/ld_addrs.h include/sprite +GENERATED_HEADERS := include/ld_addrs.h $(foreach dir, $(NPC_DIRS), include/$(dir).h) ### Tools ### @@ -128,7 +128,7 @@ setup: clean submodules tools split $(LD_SCRIPT) # tools/star-rod submodule intentionally omitted submodules: git submodule init tools/n64splat - git submodule update --init --recursive + git submodule update --recursive split: $(SPLAT) --modes ld bin Yay0 PaperMarioMapFS PaperMarioMessages img PaperMarioNpcSprites --new @@ -161,12 +161,12 @@ $(BUILD_DIR)/%.Yay0.o: $(BUILD_DIR)/%.bin.Yay0 $(LD) -r -b binary -o $@ $< # Compile C files -$(BUILD_DIR)/%.c.o: %.c $(MDEPS) | $(GENERATED_HEADERS) +$(BUILD_DIR)/%.c.o: %.c $(MDEPS) $(GENERATED_HEADERS) @mkdir -p $(shell dirname $@) $(CPP) $(CPPFLAGS) -o - $(CPPMFLAGS) $< | $(ICONV) | $(CC) $(CFLAGS) -o - | $(OLD_AS) $(OLDASFLAGS) -o $@ - # Compile C files (with DSL macros) -$(foreach cfile, $(DSL_C_FILES), $(BUILD_DIR)/$(cfile).o): $(BUILD_DIR)/%.c.o: %.c $(MDEPS) tools/compile_dsl_macros.py | $(GENERATED_HEADERS) +$(foreach cfile, $(DSL_C_FILES), $(BUILD_DIR)/$(cfile).o): $(BUILD_DIR)/%.c.o: %.c $(MDEPS) tools/compile_dsl_macros.py $(GENERATED_HEADERS) @mkdir -p $(shell dirname $@) $(CPP) $(CPPFLAGS) -o - $< $(CPPMFLAGS) | $(PYTHON) tools/compile_dsl_macros.py | $(ICONV) | $(CC) $(CFLAGS) -o - | $(OLD_AS) $(OLDASFLAGS) -o $@ - @@ -257,10 +257,12 @@ include/sprite/npc/%.h: sprite/npc/%/SpriteSheet.xml tools/gen_sprite_animations @mkdir -p $(shell dirname $@) @echo "building $@" @$(PYTHON) tools/gen_sprite_animations_h.py $@ sprite/npc/$* $(NPC_DIRS) -include/sprite: $(foreach dir, $(NPC_DIRS), include/$(dir).h) + + +### Linker ### $(LD_SCRIPT): $(SPLAT_YAML) - $(SPLAT) --modes ld + $(SPLAT) --modes ld > /dev/null $(BUILD_DIR)/$(LD_SCRIPT): $(LD_SCRIPT) @mkdir -p $(shell dirname $@) @@ -299,7 +301,7 @@ editor: tools/star-rod sprite/SpriteTable.xml ### Make Settings ### -.PHONY: clean tools test setup submodules split editor $(ROM) include/sprite +.PHONY: clean tools test setup submodules split editor $(ROM) .DELETE_ON_ERROR: .SECONDARY: .PRECIOUS: $(ROM) %.Yay0 diff --git a/asm/nonmatchings/code_317020/func_802BDBBC.s b/asm/nonmatchings/code_317020/world_goombario_pre_battle.s similarity index 90% rename from asm/nonmatchings/code_317020/func_802BDBBC.s rename to asm/nonmatchings/code_317020/world_goombario_pre_battle.s index 49ebbff6d8..02787887ac 100644 --- a/asm/nonmatchings/code_317020/func_802BDBBC.s +++ b/asm/nonmatchings/code_317020/world_goombario_pre_battle.s @@ -1,7 +1,7 @@ .set noat # allow manual use of $at .set noreorder # don't insert nops after branches -glabel func_802BDBBC +glabel world_goombario_pre_battle /* 317ADC 802BDBBC 27BDFFE0 */ addiu $sp, $sp, -0x20 /* 317AE0 802BDBC0 AFB10014 */ sw $s1, 0x14($sp) /* 317AE4 802BDBC4 0080882D */ daddu $s1, $a0, $zero @@ -16,9 +16,9 @@ glabel func_802BDBBC /* 317B08 802BDBE8 0C009C22 */ jal func_80027088 /* 317B0C 802BDBEC 0000202D */ daddu $a0, $zero, $zero /* 317B10 802BDBF0 0C038069 */ jal enable_player_input -/* 317B14 802BDBF4 00000000 */ nop +/* 317B14 802BDBF4 00000000 */ nop /* 317B18 802BDBF8 0C0B4312 */ jal CancelMessageAndBlock -/* 317B1C 802BDBFC 00000000 */ nop +/* 317B1C 802BDBFC 00000000 */ nop /* 317B20 802BDC00 0C03BD17 */ jal clear_partner_move_history /* 317B24 802BDC04 0220202D */ daddu $a0, $s1, $zero /* 317B28 802BDC08 0220202D */ daddu $a0, $s1, $zero @@ -34,5 +34,5 @@ glabel func_802BDBBC /* 317B4C 802BDC2C 8FB00010 */ lw $s0, 0x10($sp) /* 317B50 802BDC30 03E00008 */ jr $ra /* 317B54 802BDC34 27BD0020 */ addiu $sp, $sp, 0x20 -/* 317B58 802BDC38 00000000 */ nop -/* 317B5C 802BDC3C 00000000 */ nop +/* 317B58 802BDC38 00000000 */ nop +/* 317B5C 802BDC3C 00000000 */ nop diff --git a/sources.mk b/sources.mk index 20170f1f79..b97c0445f5 100644 --- a/sources.mk +++ b/sources.mk @@ -58,7 +58,7 @@ ASSETS := \ MESSAGES := $(shell find msg -type f -name "*.msg" 2> /dev/null) -NPC_SPRITES := world_goombario world_kooper world_bombette world_parakarry world_bow world_watt world_sushi world_lakilester battle_goombario battle_kooper battle_bombette battle_parakarry battle_bow battle_watt battle_sushi battle_lakilester kooper_without_shell world_eldstar world_mamar world_skolar world_muskular world_misstar world_klevar world_kalmar battle_eldstar battle_mamar battle_skolar battle_muskular battle_misstar battle_klevar battle_kalmar twink jr_troopa spiked_jr_troopa spiked_para_jr_troopa mage_jr_troopa para_jr_troopa goomba spiked_goomba paragoomba koopa_troopa para_troopa fuzzy bob_omb bullet_bill bill_blaster monty_mole cleft pokey battle_bandit buzzy_beetle swooper stone_chomp putrid_piranha piranha_plant sentinel world_clubba battle_clubba shy_guy groove_guy sky_guy pyro_guy spy_guy medi_guy fuzzipede jungle_guy heart_plant hurt_plant m_bush bubble kent_c_koopa dayzee lakitu spiny bzzap ruff_puff spike_top duplighost albino_dino blooper baby_blooper gulpit dry_bones thrown_bone bony_beetle magikoopa flying_magikoopa world_koopatrol koopatrol hammer_bros bush_basic bush_blocky bush_dry bush_leafy bush_matted world_kammy battle_kammy goomba_bros goomba_king spiky_goomnut dark_toad koopa_bros buzzar tutankoopa chain_chomp world_tubba battle_tubba tubbas_heart big_lantern_ghost shy_squad_guy marshal_guy stilt_guy stilt_guy_unfold shy_stack_guy shy_stack_unfold shy_stack_damage shy_stack_rock general_guy general_guy_bomb tank_guy lava_piranha_head petit_piranha lava_bud huff_n_puff tuff_puff monstar crystal_king world_bowser battle_bowser luigi toad three_sisters vanna_t toad_kid toad_guard harry_t toad_minister postmaster conductor_toad train_station_toad fishmael artist_toad koopa koopa_without_shell world_bob_omb whacka dryite mouser boo yoshi yoshi_kid raven bubulb penguin shiver_toad world_bandit goompapa goombaria goomama goompa goomma the_master chan lee merlon chet_rippo rowf minh_t russ_t tayce_t fice_t bartender chanterelle rip_cheato chuck_quizmo merluvlee merlar merlow star_kid kolorado_wife koopa_koot kolorado battle_kolorado archeologist nomadimouse world_merlee battle_merlee disguised_moustafa moustafa oaklie bootler yakkey gourmet_guy village_leader leaders_friend rafael_raven tolielup gate_flower petunia posie lily rosie sun lakilulu ninji mayor_penguin mayor_penguin_wife penguin_patrol herringway merle star_rod fire coin parade_peach parade_koopas parade_burnt_bowser parade_luigi parade_partners parade_yoshis parade_kolorados parade_chicks parade_ice_show parade_toads parade_batons parade_drums parade_flags parade_horns parade_tubba_balloon parade_wizards parade_mario parade_shy_guys parade_twink leaf +NPC_SPRITES := world_goombario world_kooper world_bombette world_parakarry world_bow world_watt world_sushie world_lakilester battle_goombario battle_kooper battle_bombette battle_parakarry battle_bow battle_watt battle_sushie battle_lakilester kooper_without_shell world_eldstar world_mamar world_skolar world_muskular world_misstar world_klevar world_kalmar battle_eldstar battle_mamar battle_skolar battle_muskular battle_misstar battle_klevar battle_kalmar twink jr_troopa spiked_jr_troopa spiked_para_jr_troopa mage_jr_troopa para_jr_troopa goomba spiked_goomba paragoomba koopa_troopa para_troopa fuzzy bob_omb bullet_bill bill_blaster monty_mole cleft pokey battle_bandit buzzy_beetle swooper stone_chomp putrid_piranha piranha_plant sentinel world_clubba battle_clubba shy_guy groove_guy sky_guy pyro_guy spy_guy medi_guy fuzzipede jungle_guy heart_plant hurt_plant m_bush bubble kent_c_koopa dayzee lakitu spiny bzzap ruff_puff spike_top duplighost albino_dino blooper baby_blooper gulpit dry_bones thrown_bone bony_beetle magikoopa flying_magikoopa world_koopatrol koopatrol hammer_bros bush_basic bush_blocky bush_dry bush_leafy bush_matted world_kammy battle_kammy goomba_bros goomba_king spiky_goomnut dark_toad koopa_bros buzzar tutankoopa chain_chomp world_tubba battle_tubba tubbas_heart big_lantern_ghost shy_squad_guy marshal_guy stilt_guy stilt_guy_unfold shy_stack_guy shy_stack_unfold shy_stack_damage shy_stack_rock general_guy general_guy_bomb tank_guy lava_piranha_head petit_piranha lava_bud huff_n_puff tuff_puff monstar crystal_king world_bowser battle_bowser luigi toad three_sisters vanna_t toad_kid toad_guard harry_t toad_minister postmaster conductor_toad train_station_toad fishmael artist_toad koopa koopa_without_shell world_bob_omb whacka dryite mouser boo yoshi yoshi_kid raven bubulb penguin shiver_toad world_bandit goompa goombaria gooma goompapa goomama the_master chan lee merlon chet_rippo rowf minh_t russ_t tayce_t fice_t bartender chanterelle rip_cheato chuck_quizmo merluvlee merlar merlow star_kid kolorado_wife koopa_koot kolorado battle_kolorado archeologist nomadimouse world_merlee battle_merlee disguised_moustafa moustafa oaklie bootler yakkey gourmet_guy village_leader leaders_friend rafael_raven tolielup gate_flower petunia posie lily rosie sun lakilulu ninji mayor_penguin mayor_penguin_wife penguin_patrol herringway merle star_rod fire coin parade_peach parade_koopas parade_burnt_bowser parade_luigi parade_partners parade_yoshis parade_kolorados parade_chicks parade_ice_show parade_toads parade_batons parade_drums parade_flags parade_horns parade_tubba_balloon parade_wizards parade_mario parade_shy_guys parade_twink leaf # Image settings $(BUILD_DIR)/img/battle/text_action_command_ratings.ia4.png: IMG_FLAGS = --flip-y diff --git a/src/code_317020.c b/src/code_317020.c index 95b8c24a09..e65fb76488 100644 --- a/src/code_317020.c +++ b/src/code_317020.c @@ -1,4 +1,7 @@ #include "common.h" +#include "world/partner/goombario.h" + +// TODO: move to world/partner/goombario.c s32 func_802BD100(s32 arg0) { s32 i; @@ -13,7 +16,7 @@ s32 func_802BD100(s32 arg0) { return 0; } -void func_802BD174(Npc* npc) { +void world_goombario_init(Npc* npc) { npc->collisionHeight = 24; npc->collisionRadius = 20; } @@ -42,7 +45,7 @@ ApiStatus func_802BDB84(ScriptInstance* script, s32 isInitialCall) { // Something is up with D_8010EBB0 I think. It might be a struct or something #ifdef NON_MATCHING -void func_802BDBBC(s32 arg0) { +void world_goombario_pre_battle(s32 arg0) { if (D_8010EBB0[0] != 0) { func_80027088(0); enable_player_input(); @@ -55,5 +58,5 @@ void func_802BDBBC(s32 arg0) { D_8010EBB0[3] = 1; } #else -INCLUDE_ASM(s32, "code_317020", func_802BDBBC); +INCLUDE_ASM(void, "code_317020", world_goombario_pre_battle, s32 arg0); #endif diff --git a/src/world/partner/goombaria.c b/src/world/partner/goombaria.c new file mode 100644 index 0000000000..6a62c9edc6 --- /dev/null +++ b/src/world/partner/goombaria.c @@ -0,0 +1,43 @@ +#include "common.h" + +void func_802BD100_324F10(Npc* npc) { + npc->collisionHeight = 24; + npc->collisionRadius = 20; +} + +ApiStatus func_802BD114_324F10(ScriptInstance* script, s32 isInitialCall) { + Npc* owner = script->owner2.npc; + + if (isInitialCall) { + func_800EECC4(owner); + } + return func_800EECE8(owner) != 0; +} + +ApiStatus func_802BD14C_324F10(ScriptInstance* script, s32 isInitialCall) { + PlayerData* playerData = &gPlayerData; + Npc* owner = script->owner2.npc; + + if (isInitialCall) { + enable_partner_walking(owner, TRUE); + } + + func_800EBA3C(owner); + func_800EBB40(owner); + playerData->unk_2F4[PartnerId_GOOMBARIA]++; + + return ApiStatus_BLOCK; +} + +ApiStatus func_802BD1AC_324F10(ScriptInstance* script, s32 isInitialCall) { + return ApiStatus_DONE2; +} + +ApiStatus func_802BD1B4(ScriptInstance* script, s32 isInitialCall) { + Npc* owner = script->owner2.npc; + + if (isInitialCall) { + func_800EE994(owner); + } + return func_800EE9B8(owner) != 0; +} diff --git a/src/world/partner/goombario.h b/src/world/partner/goombario.h new file mode 100644 index 0000000000..7b9f16453b --- /dev/null +++ b/src/world/partner/goombario.h @@ -0,0 +1,20 @@ +#ifndef _WORLD_PARTNER_GOOMBARIO_H_ +#define _WORLD_PARTNER_GOOMBARIO_H_ + +#include "common.h" +#include "script_api/map.h" + +s32 func_802BD100(s32 arg0); +void world_goombario_init(Npc* npc); +s32 func_802BD188(); +s32 func_802BD1D0(); +s32 func_802BD564(); +s32 func_802BD5A8(); +s32 func_802BD5D8(); +s32 func_802BDB30(); +ApiStatus func_802BDB84(ScriptInstance* script, s32 isInitialCall); +void world_goombario_pre_battle(s32 arg0); + +extern Script world_goombario_take_out; + +#endif diff --git a/src/world/partner/goompa.c b/src/world/partner/goompa.c new file mode 100644 index 0000000000..7a385c3ddb --- /dev/null +++ b/src/world/partner/goompa.c @@ -0,0 +1,32 @@ +#include "common.h" + +void func_802BD100_324A10(Npc* npc) { + npc->collisionHeight = 24; + npc->collisionRadius = 20; +} + +ApiStatus func_802BD114(ScriptInstance* script, s32 isInitialCall) { + Npc* owner = script->owner2.npc; + + if (isInitialCall) { + func_800EECC4(owner); + } + return func_800EECE8(owner) != 0; +} + +INCLUDE_ASM(s32, "world_goompa", func_802BD14C); + +INCLUDE_ASM(s32, "world_goompa", func_802BD4E0); + +ApiStatus func_802BD524(ScriptInstance* script, s32 isInitialCall) { + return ApiStatus_DONE2; +} + +ApiStatus func_802BD52C(ScriptInstance* script, s32 isInitialCall) { + Npc* owner = script->owner2.npc; + + if (isInitialCall) { + func_800EE994(owner); + } + return func_800EE9B8(owner) != 0; +} diff --git a/src/world/partner/kooper.h b/src/world/partner/kooper.h new file mode 100644 index 0000000000..c3359d5907 --- /dev/null +++ b/src/world/partner/kooper.h @@ -0,0 +1,9 @@ +#ifndef _WORLD_PARTNER_KOOPER_H_ +#define _WORLD_PARTNER_KOOPER_H_ + +#include "common.h" +#include "script_api/map.h" + +// TODO + +#endif diff --git a/src/world/partner/twink.c b/src/world/partner/twink.c new file mode 100644 index 0000000000..1fb4e6a25d --- /dev/null +++ b/src/world/partner/twink.c @@ -0,0 +1,44 @@ +#include "common.h" + +// Init +void func_802BD100_325070(Npc* npc) { + npc->collisionHeight = 20; + npc->collisionRadius = 20; +} + +ApiStatus func_802BD110(ScriptInstance* script, s32 isInitialCall) { + Npc* owner = script->owner2.npc; + + if (isInitialCall) { + func_800EECC4(owner); + } + return func_800EECE8(owner) != 0; +} + +ApiStatus func_802BD148_325070(ScriptInstance* script, s32 isInitialCall) { + PlayerData* playerData = &gPlayerData; + Npc* owner = script->owner2.npc; + + if (isInitialCall) { + enable_partner_flying(owner, TRUE); + } + + update_player_move_history(owner); + func_800ED5D0(owner); + playerData->unk_2F4[PartnerId_TWINK]++; + + return ApiStatus_BLOCK; +} + +ApiStatus func_802BD1A8(ScriptInstance* script, s32 isInitialCall) { + return ApiStatus_DONE2; +} + +ApiStatus func_802BD1B0(ScriptInstance* script, s32 isInitialCall) { + Npc* owner = script->owner2.npc; + + if (isInitialCall) { + func_800EE994(owner); + } + return func_800EE9B8(owner) != 0; +} diff --git a/src/world/partners.c b/src/world/partners.c new file mode 100644 index 0000000000..092c102c2d --- /dev/null +++ b/src/world/partners.c @@ -0,0 +1,227 @@ +#include "common.h" +#include "ld_addrs.h" + +#include "partner/goombario.h" +#include "sprite/npc/world_goombario.h" + +#include "partner/kooper.h" +#include "sprite/npc/world_kooper.h" + +#include "sprite/npc/world_bombette.h" + +#include "sprite/npc/world_parakarry.h" + +#include "sprite/npc/goompa.h" + +#include "sprite/npc/world_watt.h" + +#include "sprite/npc/world_sushie.h" + +#include "sprite/npc/world_lakilester.h" + +#include "sprite/npc/world_bow.h" + +#include "sprite/npc/goombaria.h" + +#include "sprite/npc/twink.h" + +typedef struct WorldPartner { + /* 0x00 */ void* dmaStart; + /* 0x04 */ void* dmaEnd; + /* 0x08 */ void* dmaDest; ///< Always `0x802BD100` + /* 0x10 */ s32 isFlying; + /* 0x14 */ void (*init)(Npc* partner); + /* 0x18 */ Bytecode* takeOut; + /* 0x1C */ Bytecode* useAbility; + /* 0x20 */ Bytecode* update; + /* 0x24 */ Bytecode* putAway; + /* 0x28 */ NpcAnimID idle; + /* 0x2C */ UNK_FUN_PTR(testFirstStrike); + /* 0x30 */ UNK_FUN_PTR(canUseAbility); + /* 0x34 */ UNK_FUN_PTR(canPlayerPause); + /* 0x38 */ void (*preBattle)(Npc* partner); + /* 0x3C */ UNK_FUN_PTR(postBattle); + /* 0x40 */ Bytecode* whileRiding; +} WorldPartner; // size = 0x40 + +static s32 _pad[] = { 0x00, 0x00, 0x00 }; + +WorldPartner gWorldPartners[] = { + { + // Goombario + .dmaStart = &world_partner_goombario_ROM_START, + .dmaEnd = &world_partner_goombario_ROM_END, + .dmaDest = &world_partner_goombario_VRAM, + .isFlying = FALSE, + .init = world_goombario_init, + .takeOut = world_goombario_take_out, + .useAbility = 0x802BDD8C, + .update = 0x802BDDA8, + .putAway = 0x802BDE60, + .idle = NPC_ANIM(world_goombario, normal, idle), + .canUseAbility = func_802BD5A8, + .canPlayerPause = func_802BD5A8, + .preBattle = world_goombario_pre_battle, + }, + { + // Kooper + .dmaStart = &world_partner_kooper_ROM_START, + .dmaEnd = &world_partner_kooper_ROM_END, + .dmaDest = &world_partner_kooper_VRAM, + .isFlying = FALSE, + .init = 0x802BD200, + .takeOut = 0x802BEB44, + .useAbility = 0x802BEB64, + .update = 0x802BEB80, + .putAway = 0x802BEB9C, + .idle = NPC_ANIM(world_kooper, Palette_00, Anim_3), + .testFirstStrike = 0x802BE818, + .canUseAbility = 0x800EA514, + .canPlayerPause = 0x800EA514, + .preBattle = 0x802BEA24, + .postBattle = 0x802BEB10, + }, + { + // Bombette + .dmaStart = &world_partner_bombette_ROM_START, + .dmaEnd = &world_partner_bombette_ROM_END, + .dmaDest = &world_partner_bombette_VRAM, + .isFlying = FALSE, + .init = 0x802BD2D8, + .takeOut = 0x802BE880, + .useAbility = 0x802BE8A0, + .update = 0x802BE8BC, + .putAway = 0x802BE8D8, + .idle = NPC_ANIM(world_bombette, Palette_00, Anim_3), + .testFirstStrike = 0x802BE520, + .canUseAbility = 0x802BD720, + .canPlayerPause = 0x802BD748, + .preBattle = 0x802BE6E8, + }, + { + // Parakarry + .dmaStart = &world_partner_parakarry_ROM_START, + .dmaEnd = &world_partner_parakarry_ROM_END, + .dmaDest = &world_partner_parakarry_VRAM, + .isFlying = TRUE, + .init = 0x802BD100, + .takeOut = 0x802BEA90, + .useAbility = 0x802BEAB0, + .update = 0x802BEACC, + .putAway = 0x802BEAE8, + .idle = NPC_ANIM(world_parakarry, Palette_00, Anim_1), + .canPlayerPause = 0x800EA514, + .preBattle = 0x802BE90C, + .postBattle = 0x802BE9D0, + }, + { + // Goompa + .dmaStart = &world_partner_goompa_ROM_START, + .dmaEnd = &world_partner_goompa_ROM_END, + .dmaDest = &world_partner_goompa_VRAM, + .isFlying = FALSE, + .init = 0x802BD100, + .takeOut = 0x802BD570, + .useAbility = 0x802BD590, + .update = 0x802BD5AC, + .putAway = 0x802BD5C8, + .idle = NPC_ANIM(goompa, Palette_00, Anim_1), + }, + { + // Watt + .dmaStart = &world_partner_watt_ROM_START, + .dmaEnd = &world_partner_watt_ROM_END, + .dmaDest = &world_partner_watt_VRAM, + .isFlying = TRUE, + .init = 0x802BD23C, + .takeOut = 0x802BE258, + .useAbility = 0x802BE27C, + .update = 0x802BE298, + .putAway = 0x802BE2B4, + .idle = NPC_ANIM(world_watt, Palette_00, Anim_1), + .canPlayerPause = 0x800EA524, + .preBattle = 0x802BDD9C, + .postBattle = 0x802BDE10, + .whileRiding = 0x802BE2D0, + }, + { + // Sushie + .dmaStart = &world_partner_sushie_ROM_START, + .dmaEnd = &world_partner_sushie_ROM_END, + .dmaDest = &world_partner_sushie_VRAM, + .isFlying = FALSE, + .init = 0x802BF520, + .takeOut = 0x802BFDDC, + .useAbility = 0x802BFDFC, + .update = 0x802BFDC0, + .putAway = 0x802BFE18, + .idle = NPC_ANIM(world_sushie, Palette_00, Anim_1), + .canPlayerPause = 0x800EA524, + .preBattle = 0x802BF9B8, + .postBattle = 0x802BFA58, + .whileRiding = 0x802BFE34, + }, + { + // Lakilester + .dmaStart = &world_partner_lakilester_ROM_START, + .dmaEnd = &world_partner_lakilester_ROM_END, + .dmaDest = &world_partner_lakilester_VRAM, + .isFlying = TRUE, + .init = 0x802BD21C, + .takeOut = 0x802BFE60, + .useAbility = 0x802BFE80, + .update = 0x802BFE9C, + .putAway = 0x802BFEB8, + .idle = NPC_ANIM(world_lakilester, Palette_00, Anim_1), + .canPlayerPause = 0x800EA524, + .preBattle = 0x802BFA00, + .postBattle = 0x802BFAA8, + .whileRiding = 0x802BFED4, + }, + { + // Bow + .dmaStart = &world_partner_bow_ROM_START, + .dmaEnd = &world_partner_bow_ROM_END, + .dmaDest = &world_partner_bow_VRAM, + .isFlying = TRUE, + .init = 0x802BD100, + .takeOut = 0x802BDFE0, + .useAbility = 0x802BE000, + .update = 0x802BE01C, + .putAway = 0x802BE038, + .idle = NPC_ANIM(world_bow, Palette_00, Anim_1), + .canUseAbility = 0x800EA514, + .canPlayerPause = 0x800EA524, + .preBattle = 0x802BDF64, + }, + { + // Goombaria + .dmaStart = &world_partner_goombaria_ROM_START, + .dmaEnd = &world_partner_goombaria_ROM_END, + .dmaDest = &world_partner_goombaria_VRAM, + .isFlying = FALSE, + .init = 0x802BD100, + .takeOut = 0x802BD1F0, + .useAbility = 0x802BD20C, + .update = 0x802BD228, + .putAway = 0x802BD244, + .idle = NPC_ANIM(goombaria, Palette_00, Anim_1), + .canUseAbility = 0x800EA514, + .canPlayerPause = 0x800EA514, + }, + { + // Twink + .dmaStart = &world_partner_twink_ROM_START, + .dmaEnd = &world_partner_twink_ROM_END, + .dmaDest = &world_partner_twink_VRAM, + .isFlying = TRUE, + .init = 0x802BD100, + .takeOut = 0x802BD1F0, + .useAbility = 0x802BD20C, + .update = 0x802BD228, + .putAway = 0x802BD244, + .idle = NPC_ANIM(twink, Palette_00, Anim_1), + .canUseAbility = 0x800EA514, + .canPlayerPause = 0x800EA514, + }, +}; diff --git a/tools/splat.yaml b/tools/splat.yaml index 83fa42f220..9b80271083 100644 --- a/tools/splat.yaml +++ b/tools/splat.yaml @@ -226,6 +226,12 @@ segments: - [0x8a860, c, code_8a860_len_3f30] - [0x8e790, c, code_8e790_len_2850] - [0x90fe0, bin] + - type: code + start: 0x91520 # section may start earlier + vram: 0 # TODO + files: + - [0x91520, .data, world/partners] + - [0x917EC, bin] - [0x93CD0, ci4, ui/hammer, 32, 32] - [0x93ED0, palette, ui/hammer] - [0x93EF0, palette, ui/hammer.disabled] @@ -401,70 +407,81 @@ segments: files: - [0x316f30, c, code_316f30] - type: code + ld_name: world_partner_goombario start: 0x317020 vram: 0x802BD100 files: - [0x317020, c] - [0x317b60, bin] - type: code + ld_name: world_partner_bombette start: 0x317e50 vram: 0x802BD100 files: - [0x317e50, c] - [0x3195d0, bin] - type: code + ld_name: world_partner_parakarry start: 0x319670 vram: 0x802BD100 files: - [0x319670, c] - [0x31b000, bin] - type: code + ld_name: world_partner_kooper start: 0x31b120 vram: 0x802BD100 files: - [0x31b120, c] - [0x31cb60, bin] - type: code + ld_name: world_partner_watt start: 0x31cc70 vram: 0x802BD100 files: - [0x31cc70, c] - [0x31ddc0, bin] - type: code + ld_name: world_partner_sushie start: 0x31de70 vram: 0x802BD100 files: - [0x31de70, c] - [0x320b20, bin] - type: code + ld_name: world_partner_lakilester start: 0x320c50 vram: 0x802BD100 files: - [0x320c50, c] - [0x3239b0, bin] - type: code + ld_name: world_partner_bow start: 0x323A50 vram: 0x802BD100 files: - [0x323A50, c] - [0x324930, bin] - type: code + ld_name: world_partner_goompa start: 0x324a10 vram: 0x802BD100 files: - - [0x324a10, c, world_goompa] + - [0x324a10, c, world/partner/goompa] - [0x324e80, bin] - type: code + ld_name: world_partner_goombaria start: 0x324f10 vram: 0x802BD100 files: - - [0x324f10, c, world_goombaria] + - [0x324f10, c, world/partner/goombaria] - [0x325000, bin] - type: code + ld_name: world_partner_twink start: 0x325070 vram: 0x802BD100 files: - - [0x325070, c, world_twink] + - [0x325070, c, world/partner/twink] - [0x325160, bin] - type: code start: 0x3251d0 @@ -7074,7 +7091,7 @@ segments: - world_parakarry - world_bow - world_watt - - world_sushi + - world_sushie - world_lakilester - battle_goombario - battle_kooper @@ -7082,7 +7099,7 @@ segments: - battle_parakarry - battle_bow - battle_watt - - battle_sushi + - battle_sushie - battle_lakilester - kooper_without_shell - world_eldstar @@ -7285,11 +7302,11 @@ segments: - penguin - shiver_toad - world_bandit - - goompapa - - goombaria - - goomama - goompa - - goomma + - goombaria + - gooma + - goompapa + - goomama - the_master - chan - lee diff --git a/undefined_syms.txt b/undefined_syms.txt index 5f64481f84..d592ebf275 100644 --- a/undefined_syms.txt +++ b/undefined_syms.txt @@ -332,3 +332,5 @@ D_80078DB4 = 0x80078DB4; gSongsUsingVariationFlag = 0x8014F720; D_8014F738 = 0x8014F738; + +world_goombario_take_out = 0x802BDD6C; From fb1bb896a5845ada0f250c0907f19260f6f6fb0a Mon Sep 17 00:00:00 2001 From: Alex Bates <16batesa@gmail.com> Date: Tue, 22 Dec 2020 16:18:51 +0000 Subject: [PATCH 74/97] use partners.h --- Makefile | 4 +- include/enums.h | 14 ------ src/code_7bb60_len_41b0.c | 7 +-- src/world/area_kmr/kmr_03/8C7F90.c | 5 ++- .../common/PartnerToggleAbilityScript.inc.c | 3 +- src/world/partner/goombaria.c | 3 +- src/world/partner/twink.c | 3 +- src/world/partners.c | 21 +-------- src/world/partners.h | 43 ++++++++++++++++++ src/world/script_api/7E3700.c | 5 ++- src/world_goombaria.c | 43 ------------------ src/world_goompa.c | 32 -------------- src/world_twink.c | 44 ------------------- 13 files changed, 63 insertions(+), 164 deletions(-) create mode 100644 src/world/partners.h delete mode 100644 src/world_goombaria.c delete mode 100644 src/world_goompa.c delete mode 100644 src/world_twink.c diff --git a/Makefile b/Makefile index 19126f5a15..fafc40df36 100644 --- a/Makefile +++ b/Makefile @@ -161,12 +161,12 @@ $(BUILD_DIR)/%.Yay0.o: $(BUILD_DIR)/%.bin.Yay0 $(LD) -r -b binary -o $@ $< # Compile C files -$(BUILD_DIR)/%.c.o: %.c $(MDEPS) $(GENERATED_HEADERS) +$(BUILD_DIR)/%.c.o: %.c $(MDEPS) $(GENERATED_HEADERS) | $(GENERATED_HEADERS) @mkdir -p $(shell dirname $@) $(CPP) $(CPPFLAGS) -o - $(CPPMFLAGS) $< | $(ICONV) | $(CC) $(CFLAGS) -o - | $(OLD_AS) $(OLDASFLAGS) -o $@ - # Compile C files (with DSL macros) -$(foreach cfile, $(DSL_C_FILES), $(BUILD_DIR)/$(cfile).o): $(BUILD_DIR)/%.c.o: %.c $(MDEPS) tools/compile_dsl_macros.py $(GENERATED_HEADERS) +$(foreach cfile, $(DSL_C_FILES), $(BUILD_DIR)/$(cfile).o): $(BUILD_DIR)/%.c.o: %.c $(MDEPS) tools/compile_dsl_macros.py $(GENERATED_HEADERS) | $(GENERATED_HEADERS) @mkdir -p $(shell dirname $@) $(CPP) $(CPPFLAGS) -o - $< $(CPPMFLAGS) | $(PYTHON) tools/compile_dsl_macros.py | $(ICONV) | $(CC) $(CFLAGS) -o - | $(OLD_AS) $(OLDASFLAGS) -o $@ - diff --git a/include/enums.h b/include/enums.h index 8997b7ffe2..5156552b4b 100644 --- a/include/enums.h +++ b/include/enums.h @@ -11,20 +11,6 @@ typedef UNK_TYPE EncounterTriggerFlags; #define EncounterTriggerFlags_HAMMER 0x00000004 #define EncounterTriggerFlags_PARTNER 0x00000006 -typedef s8 PartnerId; -#define PartnerId_NONE 0x00 -#define PartnerId_GOOMBARIO 0x01 -#define PartnerId_KOOPER 0x02 -#define PartnerId_BOMBETTE 0x03 -#define PartnerId_PARAKARRY 0x04 -#define PartnerId_GOOMPA 0x05 -#define PartnerId_WATT 0x06 -#define PartnerId_SUSHIE 0x07 -#define PartnerId_LAKILESTER 0x08 -#define PartnerId_BOW 0x09 -#define PartnerId_GOOMBARIA 0x0A -#define PartnerId_TWINK 0x0B - typedef s32 SongID; #define Song_TOAD_TOWN 0x00000000 #define Song_NORMAL_BATTLE 0x00000002 diff --git a/src/code_7bb60_len_41b0.c b/src/code_7bb60_len_41b0.c index 7becacbe3f..c77926fa26 100644 --- a/src/code_7bb60_len_41b0.c +++ b/src/code_7bb60_len_41b0.c @@ -1,4 +1,5 @@ #include "common.h" +#include "world/partners.h" void func_800E26B0(void) { PlayerStatus* playerStatus = &gPlayerStatus; @@ -91,7 +92,7 @@ INCLUDE_ASM(s32, "code_7bb60_len_41b0", func_800E4F10); INCLUDE_ASM(s32, "code_7bb60_len_41b0", check_input_midair_jump); -PartnerId get_current_partner_id(void) { +PartnerID get_current_partner_id(void) { return gPlayerData.currentPartner; } @@ -159,7 +160,7 @@ void set_action_state(s32 actionState) { // Whilst Lakilester, Bow, or Parakarry's ability is active, hazards have no effect. partner = playerData->currentPartner; - if (((u8)(partner - 7) < 2) || (playerData->currentPartner == PartnerId_PARAKARRY)) { + if (((u8)(partner - 7) < 2) || (playerData->currentPartner == PartnerID_PARAKARRY)) { if (D_8010EBB0[0]) { playerStatus->animFlags |= 0x4; playerStatus->flags |= 0x800; @@ -247,7 +248,7 @@ s32 check_input_hammer(void) { if (playerStatus->pressedButtons & Button_B) { if (!(playerStatus->flags & 4)) { - if (D_8010EBB0[0] != 1 || playerData->currentPartner != PartnerId_WATT) { + if (D_8010EBB0[0] != 1 || playerData->currentPartner != PartnerID_WATT) { if (playerData->hammerLevel != -1) { set_action_state(ActionState_HAMMER); return TRUE; diff --git a/src/world/area_kmr/kmr_03/8C7F90.c b/src/world/area_kmr/kmr_03/8C7F90.c index bdae212f4d..0768f9c117 100644 --- a/src/world/area_kmr/kmr_03/8C7F90.c +++ b/src/world/area_kmr/kmr_03/8C7F90.c @@ -1,4 +1,5 @@ #include "kmr_03.h" +#include "../../partners.h" Script M(Main); @@ -6,11 +7,11 @@ ApiStatus func_80240000_8C7F90(ScriptInstance* script, s32 isInitialCall) { Bytecode* args = script->ptrReadPos; PlayerData* playerData = PLAYER_DATA; NpcId npcID = get_variable(script, *args++); - PartnerId partnerID = get_variable(script, *args++); + PartnerID partnerID = get_variable(script, *args++); Npc* npc = get_npc_safe(npcID); if (isInitialCall) { - if (gPlayerData.currentPartner == PartnerId_NONE) { + if (gPlayerData.currentPartner == PartnerID_NONE) { script->functionTemp[0].s = 2; } else { script->functionTemp[0].s = 0; diff --git a/src/world/common/PartnerToggleAbilityScript.inc.c b/src/world/common/PartnerToggleAbilityScript.inc.c index a20b7f45de..fb05c0278b 100644 --- a/src/world/common/PartnerToggleAbilityScript.inc.c +++ b/src/world/common/PartnerToggleAbilityScript.inc.c @@ -1,7 +1,8 @@ #include "common.h" +#include "../partners.h" static ApiStatus PartnerSuspendAbilityScript(ScriptInstance* script, s32 isInitialCall) { - if (gPlayerData.currentPartner == PartnerId_NONE) { + if (gPlayerData.currentPartner == PartnerID_NONE) { return ApiStatus_DONE2; } partner_suspend_ability_script(); diff --git a/src/world/partner/goombaria.c b/src/world/partner/goombaria.c index 6a62c9edc6..8f496ca778 100644 --- a/src/world/partner/goombaria.c +++ b/src/world/partner/goombaria.c @@ -1,4 +1,5 @@ #include "common.h" +#include "../partners.h" void func_802BD100_324F10(Npc* npc) { npc->collisionHeight = 24; @@ -24,7 +25,7 @@ ApiStatus func_802BD14C_324F10(ScriptInstance* script, s32 isInitialCall) { func_800EBA3C(owner); func_800EBB40(owner); - playerData->unk_2F4[PartnerId_GOOMBARIA]++; + playerData->unk_2F4[PartnerID_GOOMBARIA]++; return ApiStatus_BLOCK; } diff --git a/src/world/partner/twink.c b/src/world/partner/twink.c index 1fb4e6a25d..6cb17a613a 100644 --- a/src/world/partner/twink.c +++ b/src/world/partner/twink.c @@ -1,4 +1,5 @@ #include "common.h" +#include "../partners.h" // Init void func_802BD100_325070(Npc* npc) { @@ -25,7 +26,7 @@ ApiStatus func_802BD148_325070(ScriptInstance* script, s32 isInitialCall) { update_player_move_history(owner); func_800ED5D0(owner); - playerData->unk_2F4[PartnerId_TWINK]++; + playerData->unk_2F4[PartnerID_TWINK]++; return ApiStatus_BLOCK; } diff --git a/src/world/partners.c b/src/world/partners.c index 092c102c2d..17444b02cb 100644 --- a/src/world/partners.c +++ b/src/world/partners.c @@ -1,5 +1,6 @@ #include "common.h" #include "ld_addrs.h" +#include "partners.h" #include "partner/goombario.h" #include "sprite/npc/world_goombario.h" @@ -25,28 +26,10 @@ #include "sprite/npc/twink.h" -typedef struct WorldPartner { - /* 0x00 */ void* dmaStart; - /* 0x04 */ void* dmaEnd; - /* 0x08 */ void* dmaDest; ///< Always `0x802BD100` - /* 0x10 */ s32 isFlying; - /* 0x14 */ void (*init)(Npc* partner); - /* 0x18 */ Bytecode* takeOut; - /* 0x1C */ Bytecode* useAbility; - /* 0x20 */ Bytecode* update; - /* 0x24 */ Bytecode* putAway; - /* 0x28 */ NpcAnimID idle; - /* 0x2C */ UNK_FUN_PTR(testFirstStrike); - /* 0x30 */ UNK_FUN_PTR(canUseAbility); - /* 0x34 */ UNK_FUN_PTR(canPlayerPause); - /* 0x38 */ void (*preBattle)(Npc* partner); - /* 0x3C */ UNK_FUN_PTR(postBattle); - /* 0x40 */ Bytecode* whileRiding; -} WorldPartner; // size = 0x40 - static s32 _pad[] = { 0x00, 0x00, 0x00 }; WorldPartner gWorldPartners[] = { + // XXX: it's possible that's there's a "none" entry here to match up with enum PartnerID { // Goombario .dmaStart = &world_partner_goombario_ROM_START, diff --git a/src/world/partners.h b/src/world/partners.h new file mode 100644 index 0000000000..83ab85a8e7 --- /dev/null +++ b/src/world/partners.h @@ -0,0 +1,43 @@ +#ifndef _WORLD_PARTNERS_H +#define _WORLD_PARTNERS_H + +#include "common.h" + +typedef struct WorldPartner { + /* 0x00 */ void* dmaStart; + /* 0x04 */ void* dmaEnd; + /* 0x08 */ void* dmaDest; ///< Always `0x802BD100` + /* 0x10 */ s32 isFlying; + /* 0x14 */ void (*init)(Npc* partner); + /* 0x18 */ Bytecode* takeOut; + /* 0x1C */ Bytecode* useAbility; + /* 0x20 */ Bytecode* update; + /* 0x24 */ Bytecode* putAway; + /* 0x28 */ NpcAnimID idle; + /* 0x2C */ UNK_FUN_PTR(testFirstStrike); + /* 0x30 */ UNK_FUN_PTR(canUseAbility); + /* 0x34 */ UNK_FUN_PTR(canPlayerPause); + /* 0x38 */ void (*preBattle)(Npc* partner); + /* 0x3C */ UNK_FUN_PTR(postBattle); + /* 0x40 */ Bytecode* whileRiding; +} WorldPartner; // size = 0x40 + +WorldPartner gWorldPartners[11]; + +typedef s8 PartnerID; +enum PartnerID { + PartnerID_NONE, + PartnerID_GOOMBARIO, + PartnerID_KOOPER, + PartnerID_BOMBETTE, + PartnerID_PARAKARRY, + PartnerID_GOOMPA, + PartnerID_WATT, + PartnerID_SUSHIE, + PartnerID_LAKILESTER, + PartnerID_BOW, + PartnerID_GOOMBARIA, + PartnerID_TWINK, +}; + +#endif diff --git a/src/world/script_api/7E3700.c b/src/world/script_api/7E3700.c index dc0334f9e7..4d5d6c43a6 100644 --- a/src/world/script_api/7E3700.c +++ b/src/world/script_api/7E3700.c @@ -1,4 +1,5 @@ #include "common.h" +#include "../partners.h" ApiStatus func_80282880(ScriptInstance* script, s32 isInitialCall) { PlayerStatus* playerStatus = PLAYER_STATUS; @@ -62,7 +63,7 @@ ApiStatus TeleportPartnerToPlayer(ScriptInstance* script, s32 isInitialCall) { PlayerStatus* playerStatus2 = PLAYER_STATUS; Npc* partner; - if (PLAYER_DATA->currentPartner == PartnerId_NONE) { + if (PLAYER_DATA->currentPartner == PartnerID_NONE) { return ApiStatus_DONE2; } @@ -91,7 +92,7 @@ ApiStatus func_80283908(ScriptInstance* script, s32 isInitialCall) { playerStatus->position.y = GAME_STATUS->savedPos.y; playerStatus->position.z = GAME_STATUS->savedPos.z; - if (currentPartner != PartnerId_NONE) { + if (currentPartner != PartnerID_NONE) { Npc* partner = get_npc_unsafe(NpcId_PARTNER); f32 angle = clamp_angle((playerStatus2->spriteFacingAngle < 180.0f) ? (90.0f) : (-90.0f)); partner->pos.x = playerStatus2->position.x; diff --git a/src/world_goombaria.c b/src/world_goombaria.c deleted file mode 100644 index 6a62c9edc6..0000000000 --- a/src/world_goombaria.c +++ /dev/null @@ -1,43 +0,0 @@ -#include "common.h" - -void func_802BD100_324F10(Npc* npc) { - npc->collisionHeight = 24; - npc->collisionRadius = 20; -} - -ApiStatus func_802BD114_324F10(ScriptInstance* script, s32 isInitialCall) { - Npc* owner = script->owner2.npc; - - if (isInitialCall) { - func_800EECC4(owner); - } - return func_800EECE8(owner) != 0; -} - -ApiStatus func_802BD14C_324F10(ScriptInstance* script, s32 isInitialCall) { - PlayerData* playerData = &gPlayerData; - Npc* owner = script->owner2.npc; - - if (isInitialCall) { - enable_partner_walking(owner, TRUE); - } - - func_800EBA3C(owner); - func_800EBB40(owner); - playerData->unk_2F4[PartnerId_GOOMBARIA]++; - - return ApiStatus_BLOCK; -} - -ApiStatus func_802BD1AC_324F10(ScriptInstance* script, s32 isInitialCall) { - return ApiStatus_DONE2; -} - -ApiStatus func_802BD1B4(ScriptInstance* script, s32 isInitialCall) { - Npc* owner = script->owner2.npc; - - if (isInitialCall) { - func_800EE994(owner); - } - return func_800EE9B8(owner) != 0; -} diff --git a/src/world_goompa.c b/src/world_goompa.c deleted file mode 100644 index 7a385c3ddb..0000000000 --- a/src/world_goompa.c +++ /dev/null @@ -1,32 +0,0 @@ -#include "common.h" - -void func_802BD100_324A10(Npc* npc) { - npc->collisionHeight = 24; - npc->collisionRadius = 20; -} - -ApiStatus func_802BD114(ScriptInstance* script, s32 isInitialCall) { - Npc* owner = script->owner2.npc; - - if (isInitialCall) { - func_800EECC4(owner); - } - return func_800EECE8(owner) != 0; -} - -INCLUDE_ASM(s32, "world_goompa", func_802BD14C); - -INCLUDE_ASM(s32, "world_goompa", func_802BD4E0); - -ApiStatus func_802BD524(ScriptInstance* script, s32 isInitialCall) { - return ApiStatus_DONE2; -} - -ApiStatus func_802BD52C(ScriptInstance* script, s32 isInitialCall) { - Npc* owner = script->owner2.npc; - - if (isInitialCall) { - func_800EE994(owner); - } - return func_800EE9B8(owner) != 0; -} diff --git a/src/world_twink.c b/src/world_twink.c deleted file mode 100644 index 1fb4e6a25d..0000000000 --- a/src/world_twink.c +++ /dev/null @@ -1,44 +0,0 @@ -#include "common.h" - -// Init -void func_802BD100_325070(Npc* npc) { - npc->collisionHeight = 20; - npc->collisionRadius = 20; -} - -ApiStatus func_802BD110(ScriptInstance* script, s32 isInitialCall) { - Npc* owner = script->owner2.npc; - - if (isInitialCall) { - func_800EECC4(owner); - } - return func_800EECE8(owner) != 0; -} - -ApiStatus func_802BD148_325070(ScriptInstance* script, s32 isInitialCall) { - PlayerData* playerData = &gPlayerData; - Npc* owner = script->owner2.npc; - - if (isInitialCall) { - enable_partner_flying(owner, TRUE); - } - - update_player_move_history(owner); - func_800ED5D0(owner); - playerData->unk_2F4[PartnerId_TWINK]++; - - return ApiStatus_BLOCK; -} - -ApiStatus func_802BD1A8(ScriptInstance* script, s32 isInitialCall) { - return ApiStatus_DONE2; -} - -ApiStatus func_802BD1B0(ScriptInstance* script, s32 isInitialCall) { - Npc* owner = script->owner2.npc; - - if (isInitialCall) { - func_800EE994(owner); - } - return func_800EE9B8(owner) != 0; -} From 90091e49db8be3b7d13e54242d7989580f24d00f Mon Sep 17 00:00:00 2001 From: Alex Bates <16batesa@gmail.com> Date: Tue, 22 Dec 2020 16:22:04 +0000 Subject: [PATCH 75/97] make generated headers --- Makefile | 1 + 1 file changed, 1 insertion(+) diff --git a/Makefile b/Makefile index fafc40df36..ed035e5851 100644 --- a/Makefile +++ b/Makefile @@ -132,6 +132,7 @@ submodules: split: $(SPLAT) --modes ld bin Yay0 PaperMarioMapFS PaperMarioMessages img PaperMarioNpcSprites --new + make $(GENERATED_HEADERS) split-%: $(SPLAT) --modes ld $* --verbose From f5dbfa2fe01e6e8e31f6221990b9221a9bf71ab2 Mon Sep 17 00:00:00 2001 From: Alex Bates <16batesa@gmail.com> Date: Tue, 22 Dec 2020 16:25:05 +0000 Subject: [PATCH 76/97] make split automatically --- Makefile | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/Makefile b/Makefile index ed035e5851..126c208c41 100644 --- a/Makefile +++ b/Makefile @@ -123,7 +123,7 @@ clean-code: tools: make -C tools -setup: clean submodules tools split $(LD_SCRIPT) +setup: clean submodules tools $(LD_SCRIPT) # tools/star-rod submodule intentionally omitted submodules: @@ -131,8 +131,7 @@ submodules: git submodule update --recursive split: - $(SPLAT) --modes ld bin Yay0 PaperMarioMapFS PaperMarioMessages img PaperMarioNpcSprites --new - make $(GENERATED_HEADERS) + make $(LD_SCRIPT) -W $(SPLAT_YAML) split-%: $(SPLAT) --modes ld $* --verbose @@ -263,7 +262,8 @@ include/sprite/npc/%.h: sprite/npc/%/SpriteSheet.xml tools/gen_sprite_animations ### Linker ### $(LD_SCRIPT): $(SPLAT_YAML) - $(SPLAT) --modes ld > /dev/null + $(SPLAT) --modes ld bin Yay0 PaperMarioMapFS PaperMarioMessages img PaperMarioNpcSprites --new + make $(GENERATED_HEADERS) $(BUILD_DIR)/$(LD_SCRIPT): $(LD_SCRIPT) @mkdir -p $(shell dirname $@) From 6c3ac3eaa48aa45c8a304d22520209e7fb0bbf3b Mon Sep 17 00:00:00 2001 From: Alex Bates <16batesa@gmail.com> Date: Tue, 22 Dec 2020 16:28:53 +0000 Subject: [PATCH 77/97] fix makefile hopefully --- Makefile | 37 +++++++++++++++++++------------------ 1 file changed, 19 insertions(+), 18 deletions(-) diff --git a/Makefile b/Makefile index 126c208c41..7220cdb479 100644 --- a/Makefile +++ b/Makefile @@ -27,6 +27,23 @@ override WATCH_INCLUDES=0 endif +### Sources ### + +include sources.mk + +ifeq ($(PERMUTER),1) +override OBJECTS:=$(filter %.c.o, $(OBJECTS)) +endif + +%.d: ; + +ifeq ($(WATCH_INCLUDES),1) +-include $(foreach obj, $(OBJECTS), $(obj).mk) +endif + +NPC_DIRS := $(foreach npc, $(NPC_SPRITES), sprite/npc/$(npc)) + + ### Output ### BUILD_DIR := build @@ -97,21 +114,6 @@ CPPFLAGS += -DNON_MATCHING endif -### Sources ### - -include sources.mk - -ifeq ($(PERMUTER),1) -override OBJECTS:=$(filter %.c.o, $(OBJECTS)) -endif - -%.d: ; - -ifeq ($(WATCH_INCLUDES),1) --include $(foreach obj, $(OBJECTS), $(obj).mk) -endif - - ### Targets ### clean: @@ -161,12 +163,12 @@ $(BUILD_DIR)/%.Yay0.o: $(BUILD_DIR)/%.bin.Yay0 $(LD) -r -b binary -o $@ $< # Compile C files -$(BUILD_DIR)/%.c.o: %.c $(MDEPS) $(GENERATED_HEADERS) | $(GENERATED_HEADERS) +$(BUILD_DIR)/%.c.o: %.c $(MDEPS) | $(GENERATED_HEADERS) @mkdir -p $(shell dirname $@) $(CPP) $(CPPFLAGS) -o - $(CPPMFLAGS) $< | $(ICONV) | $(CC) $(CFLAGS) -o - | $(OLD_AS) $(OLDASFLAGS) -o $@ - # Compile C files (with DSL macros) -$(foreach cfile, $(DSL_C_FILES), $(BUILD_DIR)/$(cfile).o): $(BUILD_DIR)/%.c.o: %.c $(MDEPS) tools/compile_dsl_macros.py $(GENERATED_HEADERS) | $(GENERATED_HEADERS) +$(foreach cfile, $(DSL_C_FILES), $(BUILD_DIR)/$(cfile).o): $(BUILD_DIR)/%.c.o: %.c $(MDEPS) tools/compile_dsl_macros.py | $(GENERATED_HEADERS) @mkdir -p $(shell dirname $@) $(CPP) $(CPPFLAGS) -o - $< $(CPPMFLAGS) | $(PYTHON) tools/compile_dsl_macros.py | $(ICONV) | $(CC) $(CFLAGS) -o - | $(OLD_AS) $(OLDASFLAGS) -o $@ - @@ -242,7 +244,6 @@ $(MSG_BIN:.bin=.o): $(MSG_BIN) # Sprites $(foreach npc, $(NPC_SPRITES), $(eval $(BUILD_DIR)/sprite/npc/$(npc):: $(shell find sprite/npc/$(npc) -type f 2> /dev/null))) # dependencies -NPC_DIRS := $(foreach npc, $(NPC_SPRITES), sprite/npc/$(npc)) NPC_YAY0 := $(foreach npc, $(NPC_SPRITES), $(BUILD_DIR)/sprite/npc/$(npc).Yay0) $(BUILD_DIR)/sprite/npc/%:: sprite/npc/% tools/compile_npc_sprite.py @mkdir -p $(shell dirname $@) From 7d99274b5e42416ec3404e0c4fea33778c455f50 Mon Sep 17 00:00:00 2001 From: Alex Bates <16batesa@gmail.com> Date: Tue, 22 Dec 2020 16:31:31 +0000 Subject: [PATCH 78/97] again --- Makefile | 40 +++++++++++++++++++++------------------- sources.mk | 2 +- 2 files changed, 22 insertions(+), 20 deletions(-) diff --git a/Makefile b/Makefile index 7220cdb479..20483ff4d1 100644 --- a/Makefile +++ b/Makefile @@ -27,23 +27,6 @@ override WATCH_INCLUDES=0 endif -### Sources ### - -include sources.mk - -ifeq ($(PERMUTER),1) -override OBJECTS:=$(filter %.c.o, $(OBJECTS)) -endif - -%.d: ; - -ifeq ($(WATCH_INCLUDES),1) --include $(foreach obj, $(OBJECTS), $(obj).mk) -endif - -NPC_DIRS := $(foreach npc, $(NPC_SPRITES), sprite/npc/$(npc)) - - ### Output ### BUILD_DIR := build @@ -54,7 +37,7 @@ LD_MAP := $(BUILD_DIR)/$(TARGET).map ASSETS_BIN := $(BUILD_DIR)/bin/assets/assets.bin MSG_BIN := $(BUILD_DIR)/msg.bin NPC_BIN := $(BUILD_DIR)/sprite/npc.bin -GENERATED_HEADERS := include/ld_addrs.h $(foreach dir, $(NPC_DIRS), include/$(dir).h) + ### Tools ### @@ -114,10 +97,29 @@ CPPFLAGS += -DNON_MATCHING endif +### Sources ### + +include sources.mk + +ifeq ($(PERMUTER),1) +override OBJECTS:=$(filter %.c.o, $(OBJECTS)) +endif + +%.d: ; + +ifeq ($(WATCH_INCLUDES),1) +-include $(foreach obj, $(OBJECTS), $(obj).mk) +endif + +NPC_DIRS := $(foreach npc, $(NPC_SPRITES), sprite/npc/$(npc)) + +GENERATED_HEADERS := include/ld_addrs.h $(foreach dir, $(NPC_DIRS), include/$(dir).h) + + ### Targets ### clean: - rm -rf $(BUILD_DIR) bin msg img sprite .splat_cache + rm -rf $(BUILD_DIR) bin msg img sprite .splat_cache $(LD_SCRIPT) clean-code: rm -rf $(BUILD_DIR)/src diff --git a/sources.mk b/sources.mk index b97c0445f5..cd1c1ca871 100644 --- a/sources.mk +++ b/sources.mk @@ -1,4 +1,4 @@ -OBJECTS := $(subst BUILD_DIR, $(BUILD_DIR), $(shell grep -E 'BUILD_DIR.+\.o' papermario.ld -o)) +OBJECTS = $(subst BUILD_DIR, $(BUILD_DIR), $(shell grep -E 'BUILD_DIR.+\.o' papermario.ld -o)) DSL_C_FILES := $(shell grep -lrF "SCRIPT" src) From 43caadae414f9d6cd577e052ddc35e3c460f756c Mon Sep 17 00:00:00 2001 From: Alex Bates <16batesa@gmail.com> Date: Wed, 23 Dec 2020 11:08:01 +0000 Subject: [PATCH 79/97] swap useAbility and update --- src/world/partners.c | 44 ++++++++++++++++++++++---------------------- src/world/partners.h | 4 ++-- 2 files changed, 24 insertions(+), 24 deletions(-) diff --git a/src/world/partners.c b/src/world/partners.c index 17444b02cb..e444104d5b 100644 --- a/src/world/partners.c +++ b/src/world/partners.c @@ -38,8 +38,8 @@ WorldPartner gWorldPartners[] = { .isFlying = FALSE, .init = world_goombario_init, .takeOut = world_goombario_take_out, - .useAbility = 0x802BDD8C, - .update = 0x802BDDA8, + .update = 0x802BDD8C, + .useAbility = 0x802BDDA8, .putAway = 0x802BDE60, .idle = NPC_ANIM(world_goombario, normal, idle), .canUseAbility = func_802BD5A8, @@ -54,8 +54,8 @@ WorldPartner gWorldPartners[] = { .isFlying = FALSE, .init = 0x802BD200, .takeOut = 0x802BEB44, - .useAbility = 0x802BEB64, - .update = 0x802BEB80, + .update = 0x802BEB64, + .useAbility = 0x802BEB80, .putAway = 0x802BEB9C, .idle = NPC_ANIM(world_kooper, Palette_00, Anim_3), .testFirstStrike = 0x802BE818, @@ -72,8 +72,8 @@ WorldPartner gWorldPartners[] = { .isFlying = FALSE, .init = 0x802BD2D8, .takeOut = 0x802BE880, - .useAbility = 0x802BE8A0, - .update = 0x802BE8BC, + .update = 0x802BE8A0, + .useAbility = 0x802BE8BC, .putAway = 0x802BE8D8, .idle = NPC_ANIM(world_bombette, Palette_00, Anim_3), .testFirstStrike = 0x802BE520, @@ -89,8 +89,8 @@ WorldPartner gWorldPartners[] = { .isFlying = TRUE, .init = 0x802BD100, .takeOut = 0x802BEA90, - .useAbility = 0x802BEAB0, - .update = 0x802BEACC, + .update = 0x802BEAB0, + .useAbility = 0x802BEACC, .putAway = 0x802BEAE8, .idle = NPC_ANIM(world_parakarry, Palette_00, Anim_1), .canPlayerPause = 0x800EA514, @@ -105,8 +105,8 @@ WorldPartner gWorldPartners[] = { .isFlying = FALSE, .init = 0x802BD100, .takeOut = 0x802BD570, - .useAbility = 0x802BD590, - .update = 0x802BD5AC, + .update = 0x802BD590, + .useAbility = 0x802BD5AC, .putAway = 0x802BD5C8, .idle = NPC_ANIM(goompa, Palette_00, Anim_1), }, @@ -118,8 +118,8 @@ WorldPartner gWorldPartners[] = { .isFlying = TRUE, .init = 0x802BD23C, .takeOut = 0x802BE258, - .useAbility = 0x802BE27C, - .update = 0x802BE298, + .update = 0x802BE27C, + .useAbility = 0x802BE298, .putAway = 0x802BE2B4, .idle = NPC_ANIM(world_watt, Palette_00, Anim_1), .canPlayerPause = 0x800EA524, @@ -135,8 +135,8 @@ WorldPartner gWorldPartners[] = { .isFlying = FALSE, .init = 0x802BF520, .takeOut = 0x802BFDDC, - .useAbility = 0x802BFDFC, - .update = 0x802BFDC0, + .update = 0x802BFDFC, + .useAbility = 0x802BFDC0, .putAway = 0x802BFE18, .idle = NPC_ANIM(world_sushie, Palette_00, Anim_1), .canPlayerPause = 0x800EA524, @@ -152,8 +152,8 @@ WorldPartner gWorldPartners[] = { .isFlying = TRUE, .init = 0x802BD21C, .takeOut = 0x802BFE60, - .useAbility = 0x802BFE80, - .update = 0x802BFE9C, + .update = 0x802BFE80, + .useAbility = 0x802BFE9C, .putAway = 0x802BFEB8, .idle = NPC_ANIM(world_lakilester, Palette_00, Anim_1), .canPlayerPause = 0x800EA524, @@ -169,8 +169,8 @@ WorldPartner gWorldPartners[] = { .isFlying = TRUE, .init = 0x802BD100, .takeOut = 0x802BDFE0, - .useAbility = 0x802BE000, - .update = 0x802BE01C, + .update = 0x802BE000, + .useAbility = 0x802BE01C, .putAway = 0x802BE038, .idle = NPC_ANIM(world_bow, Palette_00, Anim_1), .canUseAbility = 0x800EA514, @@ -185,8 +185,8 @@ WorldPartner gWorldPartners[] = { .isFlying = FALSE, .init = 0x802BD100, .takeOut = 0x802BD1F0, - .useAbility = 0x802BD20C, - .update = 0x802BD228, + .update = 0x802BD20C, + .useAbility = 0x802BD228, .putAway = 0x802BD244, .idle = NPC_ANIM(goombaria, Palette_00, Anim_1), .canUseAbility = 0x800EA514, @@ -200,8 +200,8 @@ WorldPartner gWorldPartners[] = { .isFlying = TRUE, .init = 0x802BD100, .takeOut = 0x802BD1F0, - .useAbility = 0x802BD20C, - .update = 0x802BD228, + .update = 0x802BD20C, + .useAbility = 0x802BD228, .putAway = 0x802BD244, .idle = NPC_ANIM(twink, Palette_00, Anim_1), .canUseAbility = 0x800EA514, diff --git a/src/world/partners.h b/src/world/partners.h index 83ab85a8e7..bf42c0eefa 100644 --- a/src/world/partners.h +++ b/src/world/partners.h @@ -10,8 +10,8 @@ typedef struct WorldPartner { /* 0x10 */ s32 isFlying; /* 0x14 */ void (*init)(Npc* partner); /* 0x18 */ Bytecode* takeOut; - /* 0x1C */ Bytecode* useAbility; - /* 0x20 */ Bytecode* update; + /* 0x1C */ Bytecode* update; + /* 0x20 */ Bytecode* useAbility; /* 0x24 */ Bytecode* putAway; /* 0x28 */ NpcAnimID idle; /* 0x2C */ UNK_FUN_PTR(testFirstStrike); From dc572154915e0a61bb3b45a178a0f8e0c9a7ebb3 Mon Sep 17 00:00:00 2001 From: Alex Bates <16batesa@gmail.com> Date: Tue, 22 Dec 2020 23:41:31 +0000 Subject: [PATCH 80/97] fix style=choice arg order --- tools/compile_messages.py | 2 +- tools/splat_ext/PaperMarioMessages.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/tools/compile_messages.py b/tools/compile_messages.py index e92d716376..9bc2d1d8f4 100755 --- a/tools/compile_messages.py +++ b/tools/compile_messages.py @@ -424,7 +424,7 @@ if __name__ == "__main__": print(f"{filename}:{lineno}: 'choice' style requires parameters: x, y, w, h") exit(1) - message.bytes += [0x05, named_args["w"], named_args["x"], named_args["h"], named_args["y"]] + message.bytes += [0x05, named_args["x"], named_args["y"], named_args["w"], named_args["h"]] elif style == "inspect": message.bytes += [0x06] elif style == "sign": diff --git a/tools/splat_ext/PaperMarioMessages.py b/tools/splat_ext/PaperMarioMessages.py index 2485a64ee1..5cad55af5d 100644 --- a/tools/splat_ext/PaperMarioMessages.py +++ b/tools/splat_ext/PaperMarioMessages.py @@ -168,7 +168,7 @@ CHARSET = { 0x02: "[style=left]\n", 0x03: "[style=center]\n", 0x04: "[style=tattle]\n", - 0x05: {None: lambda d: (f"[style=choice x={d[1]} y={d[3]} w={d[0]} h={d[2]}]\n", 4)}, + 0x05: {None: lambda d: (f"[style=choice x={d[0]} y={d[1]} w={d[2]} h={d[3]}]\n", 4)}, 0x06: "[style=inspect]\n", 0x07: "[style=sign]\n", 0x08: "[style=lamppost]\n", From f4dd1420b6f42db5a6bbf60cfcdebe25d0868807 Mon Sep 17 00:00:00 2001 From: Alex Bates <16batesa@gmail.com> Date: Wed, 23 Dec 2020 11:18:47 +0000 Subject: [PATCH 81/97] move partner source files --- .../partner/bombette}/func_802BD100_317E50.s | 0 .../partner/bombette}/func_802BD2D8.s | 0 .../partner/bombette}/func_802BD338.s | 0 .../partner/bombette}/func_802BD6DC.s | 0 .../partner/bombette}/func_802BD720.s | 0 .../partner/bombette}/func_802BD758.s | 0 .../partner/bombette}/func_802BE520.s | 0 .../partner/bombette}/func_802BE6E8.s | 0 .../partner/bow}/func_802BD100_323A50.s | 0 .../partner/bow}/func_802BD130.s | 0 .../partner/bow}/func_802BD168.s | 0 .../partner/bow}/func_802BD4FC.s | 0 .../partner/bow}/func_802BD540.s | 0 .../partner/bow}/func_802BD694.s | 0 .../partner/bow}/func_802BDDF0.s | 0 .../partner/bow}/func_802BDF08.s | 0 .../partner/bow}/func_802BDF64.s | 0 .../partner/goombario}/func_802BD188.s | 0 .../partner/goombario}/func_802BD1D0.s | 0 .../partner/goombario}/func_802BD564.s | 0 .../partner/goombario}/func_802BD5A8.s | 0 .../partner/goombario}/func_802BD5D8.s | 0 .../partner/goombario}/func_802BDB30.s | 0 .../goombario}/world_goombario_pre_battle.s | 0 .../partner/kooper}/func_802BD100_31B120.s | 0 .../partner/kooper}/func_802BD144.s | 0 .../partner/kooper}/func_802BD17C.s | 0 .../partner/kooper}/func_802BD200.s | 0 .../partner/kooper}/func_802BD228.s | 0 .../partner/kooper}/func_802BD260.s | 0 .../partner/kooper}/func_802BD5F4.s | 0 .../partner/kooper}/func_802BD638.s | 0 .../partner/kooper}/func_802BE7E0.s | 0 .../partner/kooper}/func_802BE818.s | 0 .../partner/kooper}/func_802BEA24.s | 0 .../partner/kooper}/func_802BEB10.s | 0 .../lakilester}/func_802BD100_320C50.s | 0 .../partner/lakilester}/func_802BD21C.s | 0 .../partner/lakilester}/func_802BD29C.s | 0 .../partner/lakilester}/func_802BD2D4.s | 0 .../partner/lakilester}/func_802BD678.s | 0 .../partner/lakilester}/func_802BD6BC.s | 0 .../partner/lakilester}/func_802BD7DC.s | 0 .../partner/lakilester}/func_802BD99C.s | 0 .../partner/lakilester}/func_802BDA90.s | 0 .../partner/lakilester}/func_802BDDD8.s | 0 .../partner/lakilester}/func_802BE6A0.s | 0 .../partner/lakilester}/func_802BE724.s | 0 .../partner/lakilester}/func_802BF4F0.s | 0 .../partner/lakilester}/func_802BFA00.s | 0 .../partner/lakilester}/func_802BFAA8.s | 0 .../partner/lakilester}/func_802BFB44.s | 0 .../partner/lakilester}/func_802BFBA0.s | 0 .../partner/parakarry}/func_802BD100_319670.s | 0 .../partner/parakarry}/func_802BD180.s | 0 .../partner/parakarry}/func_802BD514.s | 0 .../partner/parakarry}/func_802BD558.s | 0 .../partner/parakarry}/func_802BD660.s | 0 .../partner/parakarry}/func_802BE90C.s | 0 .../partner/parakarry}/func_802BE9D0.s | 0 .../partner/sushie}/func_802BD100_31DE70.s | 0 .../partner/sushie}/func_802BD20C.s | 0 .../partner/sushie}/func_802BD368.s | 0 .../partner/sushie}/func_802BD414.s | 0 .../partner/sushie}/func_802BE280.s | 0 .../partner/sushie}/func_802BE3A4.s | 0 .../partner/sushie}/func_802BF520.s | 0 .../partner/sushie}/func_802BF568.s | 0 .../partner/sushie}/func_802BF5A0.s | 0 .../partner/sushie}/func_802BF920.s | 0 .../partner/sushie}/func_802BF964.s | 0 .../partner/sushie}/func_802BF9B8.s | 0 .../partner/sushie}/func_802BFA58.s | 0 .../partner/sushie}/func_802BFAB8.s | 0 .../partner/watt}/func_802BD100_31CC70.s | 0 .../partner/watt}/func_802BD180_31CC70.s | 0 .../partner/watt}/func_802BD1AC.s | 0 .../partner/watt}/func_802BD23C.s | 0 .../partner/watt}/func_802BD27C.s | 0 .../partner/watt}/func_802BD2B4.s | 0 .../partner/watt}/func_802BD710.s | 0 .../partner/watt}/func_802BD754.s | 0 .../partner/watt}/func_802BDD0C.s | 0 .../partner/watt}/func_802BDD9C.s | 0 .../partner/watt}/func_802BDE10.s | 0 .../partner/watt}/func_802BDE88.s | 0 .../partner/watt}/func_802BE014.s | 0 .../partner/watt}/func_802BE070.s | 0 src/code_31B120.c | 25 ------------- src/code_31CC70.c | 29 --------------- src/code_31DE70.c | 29 --------------- src/code_320C50.c | 35 ------------------- src/code_323A50.c | 19 ---------- .../partner/bombette.c} | 16 ++++----- src/world/partner/bow.c | 19 ++++++++++ .../partner/goombario.c} | 14 ++++---- src/world/partner/kooper.c | 25 +++++++++++++ src/world/partner/lakilester.c | 35 +++++++++++++++++++ .../partner/parakarry.c} | 14 ++++---- src/world/partner/sushie.c | 29 +++++++++++++++ src/world/partner/watt.c | 29 +++++++++++++++ tools/splat.yaml | 16 ++++----- 102 files changed, 167 insertions(+), 167 deletions(-) rename asm/nonmatchings/{code_317E50 => world/partner/bombette}/func_802BD100_317E50.s (100%) rename asm/nonmatchings/{code_317E50 => world/partner/bombette}/func_802BD2D8.s (100%) rename asm/nonmatchings/{code_317E50 => world/partner/bombette}/func_802BD338.s (100%) rename asm/nonmatchings/{code_317E50 => world/partner/bombette}/func_802BD6DC.s (100%) rename asm/nonmatchings/{code_317E50 => world/partner/bombette}/func_802BD720.s (100%) rename asm/nonmatchings/{code_317E50 => world/partner/bombette}/func_802BD758.s (100%) rename asm/nonmatchings/{code_317E50 => world/partner/bombette}/func_802BE520.s (100%) rename asm/nonmatchings/{code_317E50 => world/partner/bombette}/func_802BE6E8.s (100%) rename asm/nonmatchings/{code_323A50 => world/partner/bow}/func_802BD100_323A50.s (100%) rename asm/nonmatchings/{code_323A50 => world/partner/bow}/func_802BD130.s (100%) rename asm/nonmatchings/{code_323A50 => world/partner/bow}/func_802BD168.s (100%) rename asm/nonmatchings/{code_323A50 => world/partner/bow}/func_802BD4FC.s (100%) rename asm/nonmatchings/{code_323A50 => world/partner/bow}/func_802BD540.s (100%) rename asm/nonmatchings/{code_323A50 => world/partner/bow}/func_802BD694.s (100%) rename asm/nonmatchings/{code_323A50 => world/partner/bow}/func_802BDDF0.s (100%) rename asm/nonmatchings/{code_323A50 => world/partner/bow}/func_802BDF08.s (100%) rename asm/nonmatchings/{code_323A50 => world/partner/bow}/func_802BDF64.s (100%) rename asm/nonmatchings/{code_317020 => world/partner/goombario}/func_802BD188.s (100%) rename asm/nonmatchings/{code_317020 => world/partner/goombario}/func_802BD1D0.s (100%) rename asm/nonmatchings/{code_317020 => world/partner/goombario}/func_802BD564.s (100%) rename asm/nonmatchings/{code_317020 => world/partner/goombario}/func_802BD5A8.s (100%) rename asm/nonmatchings/{code_317020 => world/partner/goombario}/func_802BD5D8.s (100%) rename asm/nonmatchings/{code_317020 => world/partner/goombario}/func_802BDB30.s (100%) rename asm/nonmatchings/{code_317020 => world/partner/goombario}/world_goombario_pre_battle.s (100%) rename asm/nonmatchings/{code_31B120 => world/partner/kooper}/func_802BD100_31B120.s (100%) rename asm/nonmatchings/{code_31B120 => world/partner/kooper}/func_802BD144.s (100%) rename asm/nonmatchings/{code_31B120 => world/partner/kooper}/func_802BD17C.s (100%) rename asm/nonmatchings/{code_31B120 => world/partner/kooper}/func_802BD200.s (100%) rename asm/nonmatchings/{code_31B120 => world/partner/kooper}/func_802BD228.s (100%) rename asm/nonmatchings/{code_31B120 => world/partner/kooper}/func_802BD260.s (100%) rename asm/nonmatchings/{code_31B120 => world/partner/kooper}/func_802BD5F4.s (100%) rename asm/nonmatchings/{code_31B120 => world/partner/kooper}/func_802BD638.s (100%) rename asm/nonmatchings/{code_31B120 => world/partner/kooper}/func_802BE7E0.s (100%) rename asm/nonmatchings/{code_31B120 => world/partner/kooper}/func_802BE818.s (100%) rename asm/nonmatchings/{code_31B120 => world/partner/kooper}/func_802BEA24.s (100%) rename asm/nonmatchings/{code_31B120 => world/partner/kooper}/func_802BEB10.s (100%) rename asm/nonmatchings/{code_320C50 => world/partner/lakilester}/func_802BD100_320C50.s (100%) rename asm/nonmatchings/{code_320C50 => world/partner/lakilester}/func_802BD21C.s (100%) rename asm/nonmatchings/{code_320C50 => world/partner/lakilester}/func_802BD29C.s (100%) rename asm/nonmatchings/{code_320C50 => world/partner/lakilester}/func_802BD2D4.s (100%) rename asm/nonmatchings/{code_320C50 => world/partner/lakilester}/func_802BD678.s (100%) rename asm/nonmatchings/{code_320C50 => world/partner/lakilester}/func_802BD6BC.s (100%) rename asm/nonmatchings/{code_320C50 => world/partner/lakilester}/func_802BD7DC.s (100%) rename asm/nonmatchings/{code_320C50 => world/partner/lakilester}/func_802BD99C.s (100%) rename asm/nonmatchings/{code_320C50 => world/partner/lakilester}/func_802BDA90.s (100%) rename asm/nonmatchings/{code_320C50 => world/partner/lakilester}/func_802BDDD8.s (100%) rename asm/nonmatchings/{code_320C50 => world/partner/lakilester}/func_802BE6A0.s (100%) rename asm/nonmatchings/{code_320C50 => world/partner/lakilester}/func_802BE724.s (100%) rename asm/nonmatchings/{code_320C50 => world/partner/lakilester}/func_802BF4F0.s (100%) rename asm/nonmatchings/{code_320C50 => world/partner/lakilester}/func_802BFA00.s (100%) rename asm/nonmatchings/{code_320C50 => world/partner/lakilester}/func_802BFAA8.s (100%) rename asm/nonmatchings/{code_320C50 => world/partner/lakilester}/func_802BFB44.s (100%) rename asm/nonmatchings/{code_320C50 => world/partner/lakilester}/func_802BFBA0.s (100%) rename asm/nonmatchings/{code_319670 => world/partner/parakarry}/func_802BD100_319670.s (100%) rename asm/nonmatchings/{code_319670 => world/partner/parakarry}/func_802BD180.s (100%) rename asm/nonmatchings/{code_319670 => world/partner/parakarry}/func_802BD514.s (100%) rename asm/nonmatchings/{code_319670 => world/partner/parakarry}/func_802BD558.s (100%) rename asm/nonmatchings/{code_319670 => world/partner/parakarry}/func_802BD660.s (100%) rename asm/nonmatchings/{code_319670 => world/partner/parakarry}/func_802BE90C.s (100%) rename asm/nonmatchings/{code_319670 => world/partner/parakarry}/func_802BE9D0.s (100%) rename asm/nonmatchings/{code_31DE70 => world/partner/sushie}/func_802BD100_31DE70.s (100%) rename asm/nonmatchings/{code_31DE70 => world/partner/sushie}/func_802BD20C.s (100%) rename asm/nonmatchings/{code_31DE70 => world/partner/sushie}/func_802BD368.s (100%) rename asm/nonmatchings/{code_31DE70 => world/partner/sushie}/func_802BD414.s (100%) rename asm/nonmatchings/{code_31DE70 => world/partner/sushie}/func_802BE280.s (100%) rename asm/nonmatchings/{code_31DE70 => world/partner/sushie}/func_802BE3A4.s (100%) rename asm/nonmatchings/{code_31DE70 => world/partner/sushie}/func_802BF520.s (100%) rename asm/nonmatchings/{code_31DE70 => world/partner/sushie}/func_802BF568.s (100%) rename asm/nonmatchings/{code_31DE70 => world/partner/sushie}/func_802BF5A0.s (100%) rename asm/nonmatchings/{code_31DE70 => world/partner/sushie}/func_802BF920.s (100%) rename asm/nonmatchings/{code_31DE70 => world/partner/sushie}/func_802BF964.s (100%) rename asm/nonmatchings/{code_31DE70 => world/partner/sushie}/func_802BF9B8.s (100%) rename asm/nonmatchings/{code_31DE70 => world/partner/sushie}/func_802BFA58.s (100%) rename asm/nonmatchings/{code_31DE70 => world/partner/sushie}/func_802BFAB8.s (100%) rename asm/nonmatchings/{code_31CC70 => world/partner/watt}/func_802BD100_31CC70.s (100%) rename asm/nonmatchings/{code_31CC70 => world/partner/watt}/func_802BD180_31CC70.s (100%) rename asm/nonmatchings/{code_31CC70 => world/partner/watt}/func_802BD1AC.s (100%) rename asm/nonmatchings/{code_31CC70 => world/partner/watt}/func_802BD23C.s (100%) rename asm/nonmatchings/{code_31CC70 => world/partner/watt}/func_802BD27C.s (100%) rename asm/nonmatchings/{code_31CC70 => world/partner/watt}/func_802BD2B4.s (100%) rename asm/nonmatchings/{code_31CC70 => world/partner/watt}/func_802BD710.s (100%) rename asm/nonmatchings/{code_31CC70 => world/partner/watt}/func_802BD754.s (100%) rename asm/nonmatchings/{code_31CC70 => world/partner/watt}/func_802BDD0C.s (100%) rename asm/nonmatchings/{code_31CC70 => world/partner/watt}/func_802BDD9C.s (100%) rename asm/nonmatchings/{code_31CC70 => world/partner/watt}/func_802BDE10.s (100%) rename asm/nonmatchings/{code_31CC70 => world/partner/watt}/func_802BDE88.s (100%) rename asm/nonmatchings/{code_31CC70 => world/partner/watt}/func_802BE014.s (100%) rename asm/nonmatchings/{code_31CC70 => world/partner/watt}/func_802BE070.s (100%) delete mode 100644 src/code_31B120.c delete mode 100644 src/code_31CC70.c delete mode 100644 src/code_31DE70.c delete mode 100644 src/code_320C50.c delete mode 100644 src/code_323A50.c rename src/{code_317E50.c => world/partner/bombette.c} (52%) create mode 100644 src/world/partner/bow.c rename src/{code_317020.c => world/partner/goombario.c} (72%) create mode 100644 src/world/partner/kooper.c create mode 100644 src/world/partner/lakilester.c rename src/{code_319670.c => world/partner/parakarry.c} (52%) create mode 100644 src/world/partner/sushie.c create mode 100644 src/world/partner/watt.c diff --git a/asm/nonmatchings/code_317E50/func_802BD100_317E50.s b/asm/nonmatchings/world/partner/bombette/func_802BD100_317E50.s similarity index 100% rename from asm/nonmatchings/code_317E50/func_802BD100_317E50.s rename to asm/nonmatchings/world/partner/bombette/func_802BD100_317E50.s diff --git a/asm/nonmatchings/code_317E50/func_802BD2D8.s b/asm/nonmatchings/world/partner/bombette/func_802BD2D8.s similarity index 100% rename from asm/nonmatchings/code_317E50/func_802BD2D8.s rename to asm/nonmatchings/world/partner/bombette/func_802BD2D8.s diff --git a/asm/nonmatchings/code_317E50/func_802BD338.s b/asm/nonmatchings/world/partner/bombette/func_802BD338.s similarity index 100% rename from asm/nonmatchings/code_317E50/func_802BD338.s rename to asm/nonmatchings/world/partner/bombette/func_802BD338.s diff --git a/asm/nonmatchings/code_317E50/func_802BD6DC.s b/asm/nonmatchings/world/partner/bombette/func_802BD6DC.s similarity index 100% rename from asm/nonmatchings/code_317E50/func_802BD6DC.s rename to asm/nonmatchings/world/partner/bombette/func_802BD6DC.s diff --git a/asm/nonmatchings/code_317E50/func_802BD720.s b/asm/nonmatchings/world/partner/bombette/func_802BD720.s similarity index 100% rename from asm/nonmatchings/code_317E50/func_802BD720.s rename to asm/nonmatchings/world/partner/bombette/func_802BD720.s diff --git a/asm/nonmatchings/code_317E50/func_802BD758.s b/asm/nonmatchings/world/partner/bombette/func_802BD758.s similarity index 100% rename from asm/nonmatchings/code_317E50/func_802BD758.s rename to asm/nonmatchings/world/partner/bombette/func_802BD758.s diff --git a/asm/nonmatchings/code_317E50/func_802BE520.s b/asm/nonmatchings/world/partner/bombette/func_802BE520.s similarity index 100% rename from asm/nonmatchings/code_317E50/func_802BE520.s rename to asm/nonmatchings/world/partner/bombette/func_802BE520.s diff --git a/asm/nonmatchings/code_317E50/func_802BE6E8.s b/asm/nonmatchings/world/partner/bombette/func_802BE6E8.s similarity index 100% rename from asm/nonmatchings/code_317E50/func_802BE6E8.s rename to asm/nonmatchings/world/partner/bombette/func_802BE6E8.s diff --git a/asm/nonmatchings/code_323A50/func_802BD100_323A50.s b/asm/nonmatchings/world/partner/bow/func_802BD100_323A50.s similarity index 100% rename from asm/nonmatchings/code_323A50/func_802BD100_323A50.s rename to asm/nonmatchings/world/partner/bow/func_802BD100_323A50.s diff --git a/asm/nonmatchings/code_323A50/func_802BD130.s b/asm/nonmatchings/world/partner/bow/func_802BD130.s similarity index 100% rename from asm/nonmatchings/code_323A50/func_802BD130.s rename to asm/nonmatchings/world/partner/bow/func_802BD130.s diff --git a/asm/nonmatchings/code_323A50/func_802BD168.s b/asm/nonmatchings/world/partner/bow/func_802BD168.s similarity index 100% rename from asm/nonmatchings/code_323A50/func_802BD168.s rename to asm/nonmatchings/world/partner/bow/func_802BD168.s diff --git a/asm/nonmatchings/code_323A50/func_802BD4FC.s b/asm/nonmatchings/world/partner/bow/func_802BD4FC.s similarity index 100% rename from asm/nonmatchings/code_323A50/func_802BD4FC.s rename to asm/nonmatchings/world/partner/bow/func_802BD4FC.s diff --git a/asm/nonmatchings/code_323A50/func_802BD540.s b/asm/nonmatchings/world/partner/bow/func_802BD540.s similarity index 100% rename from asm/nonmatchings/code_323A50/func_802BD540.s rename to asm/nonmatchings/world/partner/bow/func_802BD540.s diff --git a/asm/nonmatchings/code_323A50/func_802BD694.s b/asm/nonmatchings/world/partner/bow/func_802BD694.s similarity index 100% rename from asm/nonmatchings/code_323A50/func_802BD694.s rename to asm/nonmatchings/world/partner/bow/func_802BD694.s diff --git a/asm/nonmatchings/code_323A50/func_802BDDF0.s b/asm/nonmatchings/world/partner/bow/func_802BDDF0.s similarity index 100% rename from asm/nonmatchings/code_323A50/func_802BDDF0.s rename to asm/nonmatchings/world/partner/bow/func_802BDDF0.s diff --git a/asm/nonmatchings/code_323A50/func_802BDF08.s b/asm/nonmatchings/world/partner/bow/func_802BDF08.s similarity index 100% rename from asm/nonmatchings/code_323A50/func_802BDF08.s rename to asm/nonmatchings/world/partner/bow/func_802BDF08.s diff --git a/asm/nonmatchings/code_323A50/func_802BDF64.s b/asm/nonmatchings/world/partner/bow/func_802BDF64.s similarity index 100% rename from asm/nonmatchings/code_323A50/func_802BDF64.s rename to asm/nonmatchings/world/partner/bow/func_802BDF64.s diff --git a/asm/nonmatchings/code_317020/func_802BD188.s b/asm/nonmatchings/world/partner/goombario/func_802BD188.s similarity index 100% rename from asm/nonmatchings/code_317020/func_802BD188.s rename to asm/nonmatchings/world/partner/goombario/func_802BD188.s diff --git a/asm/nonmatchings/code_317020/func_802BD1D0.s b/asm/nonmatchings/world/partner/goombario/func_802BD1D0.s similarity index 100% rename from asm/nonmatchings/code_317020/func_802BD1D0.s rename to asm/nonmatchings/world/partner/goombario/func_802BD1D0.s diff --git a/asm/nonmatchings/code_317020/func_802BD564.s b/asm/nonmatchings/world/partner/goombario/func_802BD564.s similarity index 100% rename from asm/nonmatchings/code_317020/func_802BD564.s rename to asm/nonmatchings/world/partner/goombario/func_802BD564.s diff --git a/asm/nonmatchings/code_317020/func_802BD5A8.s b/asm/nonmatchings/world/partner/goombario/func_802BD5A8.s similarity index 100% rename from asm/nonmatchings/code_317020/func_802BD5A8.s rename to asm/nonmatchings/world/partner/goombario/func_802BD5A8.s diff --git a/asm/nonmatchings/code_317020/func_802BD5D8.s b/asm/nonmatchings/world/partner/goombario/func_802BD5D8.s similarity index 100% rename from asm/nonmatchings/code_317020/func_802BD5D8.s rename to asm/nonmatchings/world/partner/goombario/func_802BD5D8.s diff --git a/asm/nonmatchings/code_317020/func_802BDB30.s b/asm/nonmatchings/world/partner/goombario/func_802BDB30.s similarity index 100% rename from asm/nonmatchings/code_317020/func_802BDB30.s rename to asm/nonmatchings/world/partner/goombario/func_802BDB30.s diff --git a/asm/nonmatchings/code_317020/world_goombario_pre_battle.s b/asm/nonmatchings/world/partner/goombario/world_goombario_pre_battle.s similarity index 100% rename from asm/nonmatchings/code_317020/world_goombario_pre_battle.s rename to asm/nonmatchings/world/partner/goombario/world_goombario_pre_battle.s diff --git a/asm/nonmatchings/code_31B120/func_802BD100_31B120.s b/asm/nonmatchings/world/partner/kooper/func_802BD100_31B120.s similarity index 100% rename from asm/nonmatchings/code_31B120/func_802BD100_31B120.s rename to asm/nonmatchings/world/partner/kooper/func_802BD100_31B120.s diff --git a/asm/nonmatchings/code_31B120/func_802BD144.s b/asm/nonmatchings/world/partner/kooper/func_802BD144.s similarity index 100% rename from asm/nonmatchings/code_31B120/func_802BD144.s rename to asm/nonmatchings/world/partner/kooper/func_802BD144.s diff --git a/asm/nonmatchings/code_31B120/func_802BD17C.s b/asm/nonmatchings/world/partner/kooper/func_802BD17C.s similarity index 100% rename from asm/nonmatchings/code_31B120/func_802BD17C.s rename to asm/nonmatchings/world/partner/kooper/func_802BD17C.s diff --git a/asm/nonmatchings/code_31B120/func_802BD200.s b/asm/nonmatchings/world/partner/kooper/func_802BD200.s similarity index 100% rename from asm/nonmatchings/code_31B120/func_802BD200.s rename to asm/nonmatchings/world/partner/kooper/func_802BD200.s diff --git a/asm/nonmatchings/code_31B120/func_802BD228.s b/asm/nonmatchings/world/partner/kooper/func_802BD228.s similarity index 100% rename from asm/nonmatchings/code_31B120/func_802BD228.s rename to asm/nonmatchings/world/partner/kooper/func_802BD228.s diff --git a/asm/nonmatchings/code_31B120/func_802BD260.s b/asm/nonmatchings/world/partner/kooper/func_802BD260.s similarity index 100% rename from asm/nonmatchings/code_31B120/func_802BD260.s rename to asm/nonmatchings/world/partner/kooper/func_802BD260.s diff --git a/asm/nonmatchings/code_31B120/func_802BD5F4.s b/asm/nonmatchings/world/partner/kooper/func_802BD5F4.s similarity index 100% rename from asm/nonmatchings/code_31B120/func_802BD5F4.s rename to asm/nonmatchings/world/partner/kooper/func_802BD5F4.s diff --git a/asm/nonmatchings/code_31B120/func_802BD638.s b/asm/nonmatchings/world/partner/kooper/func_802BD638.s similarity index 100% rename from asm/nonmatchings/code_31B120/func_802BD638.s rename to asm/nonmatchings/world/partner/kooper/func_802BD638.s diff --git a/asm/nonmatchings/code_31B120/func_802BE7E0.s b/asm/nonmatchings/world/partner/kooper/func_802BE7E0.s similarity index 100% rename from asm/nonmatchings/code_31B120/func_802BE7E0.s rename to asm/nonmatchings/world/partner/kooper/func_802BE7E0.s diff --git a/asm/nonmatchings/code_31B120/func_802BE818.s b/asm/nonmatchings/world/partner/kooper/func_802BE818.s similarity index 100% rename from asm/nonmatchings/code_31B120/func_802BE818.s rename to asm/nonmatchings/world/partner/kooper/func_802BE818.s diff --git a/asm/nonmatchings/code_31B120/func_802BEA24.s b/asm/nonmatchings/world/partner/kooper/func_802BEA24.s similarity index 100% rename from asm/nonmatchings/code_31B120/func_802BEA24.s rename to asm/nonmatchings/world/partner/kooper/func_802BEA24.s diff --git a/asm/nonmatchings/code_31B120/func_802BEB10.s b/asm/nonmatchings/world/partner/kooper/func_802BEB10.s similarity index 100% rename from asm/nonmatchings/code_31B120/func_802BEB10.s rename to asm/nonmatchings/world/partner/kooper/func_802BEB10.s diff --git a/asm/nonmatchings/code_320C50/func_802BD100_320C50.s b/asm/nonmatchings/world/partner/lakilester/func_802BD100_320C50.s similarity index 100% rename from asm/nonmatchings/code_320C50/func_802BD100_320C50.s rename to asm/nonmatchings/world/partner/lakilester/func_802BD100_320C50.s diff --git a/asm/nonmatchings/code_320C50/func_802BD21C.s b/asm/nonmatchings/world/partner/lakilester/func_802BD21C.s similarity index 100% rename from asm/nonmatchings/code_320C50/func_802BD21C.s rename to asm/nonmatchings/world/partner/lakilester/func_802BD21C.s diff --git a/asm/nonmatchings/code_320C50/func_802BD29C.s b/asm/nonmatchings/world/partner/lakilester/func_802BD29C.s similarity index 100% rename from asm/nonmatchings/code_320C50/func_802BD29C.s rename to asm/nonmatchings/world/partner/lakilester/func_802BD29C.s diff --git a/asm/nonmatchings/code_320C50/func_802BD2D4.s b/asm/nonmatchings/world/partner/lakilester/func_802BD2D4.s similarity index 100% rename from asm/nonmatchings/code_320C50/func_802BD2D4.s rename to asm/nonmatchings/world/partner/lakilester/func_802BD2D4.s diff --git a/asm/nonmatchings/code_320C50/func_802BD678.s b/asm/nonmatchings/world/partner/lakilester/func_802BD678.s similarity index 100% rename from asm/nonmatchings/code_320C50/func_802BD678.s rename to asm/nonmatchings/world/partner/lakilester/func_802BD678.s diff --git a/asm/nonmatchings/code_320C50/func_802BD6BC.s b/asm/nonmatchings/world/partner/lakilester/func_802BD6BC.s similarity index 100% rename from asm/nonmatchings/code_320C50/func_802BD6BC.s rename to asm/nonmatchings/world/partner/lakilester/func_802BD6BC.s diff --git a/asm/nonmatchings/code_320C50/func_802BD7DC.s b/asm/nonmatchings/world/partner/lakilester/func_802BD7DC.s similarity index 100% rename from asm/nonmatchings/code_320C50/func_802BD7DC.s rename to asm/nonmatchings/world/partner/lakilester/func_802BD7DC.s diff --git a/asm/nonmatchings/code_320C50/func_802BD99C.s b/asm/nonmatchings/world/partner/lakilester/func_802BD99C.s similarity index 100% rename from asm/nonmatchings/code_320C50/func_802BD99C.s rename to asm/nonmatchings/world/partner/lakilester/func_802BD99C.s diff --git a/asm/nonmatchings/code_320C50/func_802BDA90.s b/asm/nonmatchings/world/partner/lakilester/func_802BDA90.s similarity index 100% rename from asm/nonmatchings/code_320C50/func_802BDA90.s rename to asm/nonmatchings/world/partner/lakilester/func_802BDA90.s diff --git a/asm/nonmatchings/code_320C50/func_802BDDD8.s b/asm/nonmatchings/world/partner/lakilester/func_802BDDD8.s similarity index 100% rename from asm/nonmatchings/code_320C50/func_802BDDD8.s rename to asm/nonmatchings/world/partner/lakilester/func_802BDDD8.s diff --git a/asm/nonmatchings/code_320C50/func_802BE6A0.s b/asm/nonmatchings/world/partner/lakilester/func_802BE6A0.s similarity index 100% rename from asm/nonmatchings/code_320C50/func_802BE6A0.s rename to asm/nonmatchings/world/partner/lakilester/func_802BE6A0.s diff --git a/asm/nonmatchings/code_320C50/func_802BE724.s b/asm/nonmatchings/world/partner/lakilester/func_802BE724.s similarity index 100% rename from asm/nonmatchings/code_320C50/func_802BE724.s rename to asm/nonmatchings/world/partner/lakilester/func_802BE724.s diff --git a/asm/nonmatchings/code_320C50/func_802BF4F0.s b/asm/nonmatchings/world/partner/lakilester/func_802BF4F0.s similarity index 100% rename from asm/nonmatchings/code_320C50/func_802BF4F0.s rename to asm/nonmatchings/world/partner/lakilester/func_802BF4F0.s diff --git a/asm/nonmatchings/code_320C50/func_802BFA00.s b/asm/nonmatchings/world/partner/lakilester/func_802BFA00.s similarity index 100% rename from asm/nonmatchings/code_320C50/func_802BFA00.s rename to asm/nonmatchings/world/partner/lakilester/func_802BFA00.s diff --git a/asm/nonmatchings/code_320C50/func_802BFAA8.s b/asm/nonmatchings/world/partner/lakilester/func_802BFAA8.s similarity index 100% rename from asm/nonmatchings/code_320C50/func_802BFAA8.s rename to asm/nonmatchings/world/partner/lakilester/func_802BFAA8.s diff --git a/asm/nonmatchings/code_320C50/func_802BFB44.s b/asm/nonmatchings/world/partner/lakilester/func_802BFB44.s similarity index 100% rename from asm/nonmatchings/code_320C50/func_802BFB44.s rename to asm/nonmatchings/world/partner/lakilester/func_802BFB44.s diff --git a/asm/nonmatchings/code_320C50/func_802BFBA0.s b/asm/nonmatchings/world/partner/lakilester/func_802BFBA0.s similarity index 100% rename from asm/nonmatchings/code_320C50/func_802BFBA0.s rename to asm/nonmatchings/world/partner/lakilester/func_802BFBA0.s diff --git a/asm/nonmatchings/code_319670/func_802BD100_319670.s b/asm/nonmatchings/world/partner/parakarry/func_802BD100_319670.s similarity index 100% rename from asm/nonmatchings/code_319670/func_802BD100_319670.s rename to asm/nonmatchings/world/partner/parakarry/func_802BD100_319670.s diff --git a/asm/nonmatchings/code_319670/func_802BD180.s b/asm/nonmatchings/world/partner/parakarry/func_802BD180.s similarity index 100% rename from asm/nonmatchings/code_319670/func_802BD180.s rename to asm/nonmatchings/world/partner/parakarry/func_802BD180.s diff --git a/asm/nonmatchings/code_319670/func_802BD514.s b/asm/nonmatchings/world/partner/parakarry/func_802BD514.s similarity index 100% rename from asm/nonmatchings/code_319670/func_802BD514.s rename to asm/nonmatchings/world/partner/parakarry/func_802BD514.s diff --git a/asm/nonmatchings/code_319670/func_802BD558.s b/asm/nonmatchings/world/partner/parakarry/func_802BD558.s similarity index 100% rename from asm/nonmatchings/code_319670/func_802BD558.s rename to asm/nonmatchings/world/partner/parakarry/func_802BD558.s diff --git a/asm/nonmatchings/code_319670/func_802BD660.s b/asm/nonmatchings/world/partner/parakarry/func_802BD660.s similarity index 100% rename from asm/nonmatchings/code_319670/func_802BD660.s rename to asm/nonmatchings/world/partner/parakarry/func_802BD660.s diff --git a/asm/nonmatchings/code_319670/func_802BE90C.s b/asm/nonmatchings/world/partner/parakarry/func_802BE90C.s similarity index 100% rename from asm/nonmatchings/code_319670/func_802BE90C.s rename to asm/nonmatchings/world/partner/parakarry/func_802BE90C.s diff --git a/asm/nonmatchings/code_319670/func_802BE9D0.s b/asm/nonmatchings/world/partner/parakarry/func_802BE9D0.s similarity index 100% rename from asm/nonmatchings/code_319670/func_802BE9D0.s rename to asm/nonmatchings/world/partner/parakarry/func_802BE9D0.s diff --git a/asm/nonmatchings/code_31DE70/func_802BD100_31DE70.s b/asm/nonmatchings/world/partner/sushie/func_802BD100_31DE70.s similarity index 100% rename from asm/nonmatchings/code_31DE70/func_802BD100_31DE70.s rename to asm/nonmatchings/world/partner/sushie/func_802BD100_31DE70.s diff --git a/asm/nonmatchings/code_31DE70/func_802BD20C.s b/asm/nonmatchings/world/partner/sushie/func_802BD20C.s similarity index 100% rename from asm/nonmatchings/code_31DE70/func_802BD20C.s rename to asm/nonmatchings/world/partner/sushie/func_802BD20C.s diff --git a/asm/nonmatchings/code_31DE70/func_802BD368.s b/asm/nonmatchings/world/partner/sushie/func_802BD368.s similarity index 100% rename from asm/nonmatchings/code_31DE70/func_802BD368.s rename to asm/nonmatchings/world/partner/sushie/func_802BD368.s diff --git a/asm/nonmatchings/code_31DE70/func_802BD414.s b/asm/nonmatchings/world/partner/sushie/func_802BD414.s similarity index 100% rename from asm/nonmatchings/code_31DE70/func_802BD414.s rename to asm/nonmatchings/world/partner/sushie/func_802BD414.s diff --git a/asm/nonmatchings/code_31DE70/func_802BE280.s b/asm/nonmatchings/world/partner/sushie/func_802BE280.s similarity index 100% rename from asm/nonmatchings/code_31DE70/func_802BE280.s rename to asm/nonmatchings/world/partner/sushie/func_802BE280.s diff --git a/asm/nonmatchings/code_31DE70/func_802BE3A4.s b/asm/nonmatchings/world/partner/sushie/func_802BE3A4.s similarity index 100% rename from asm/nonmatchings/code_31DE70/func_802BE3A4.s rename to asm/nonmatchings/world/partner/sushie/func_802BE3A4.s diff --git a/asm/nonmatchings/code_31DE70/func_802BF520.s b/asm/nonmatchings/world/partner/sushie/func_802BF520.s similarity index 100% rename from asm/nonmatchings/code_31DE70/func_802BF520.s rename to asm/nonmatchings/world/partner/sushie/func_802BF520.s diff --git a/asm/nonmatchings/code_31DE70/func_802BF568.s b/asm/nonmatchings/world/partner/sushie/func_802BF568.s similarity index 100% rename from asm/nonmatchings/code_31DE70/func_802BF568.s rename to asm/nonmatchings/world/partner/sushie/func_802BF568.s diff --git a/asm/nonmatchings/code_31DE70/func_802BF5A0.s b/asm/nonmatchings/world/partner/sushie/func_802BF5A0.s similarity index 100% rename from asm/nonmatchings/code_31DE70/func_802BF5A0.s rename to asm/nonmatchings/world/partner/sushie/func_802BF5A0.s diff --git a/asm/nonmatchings/code_31DE70/func_802BF920.s b/asm/nonmatchings/world/partner/sushie/func_802BF920.s similarity index 100% rename from asm/nonmatchings/code_31DE70/func_802BF920.s rename to asm/nonmatchings/world/partner/sushie/func_802BF920.s diff --git a/asm/nonmatchings/code_31DE70/func_802BF964.s b/asm/nonmatchings/world/partner/sushie/func_802BF964.s similarity index 100% rename from asm/nonmatchings/code_31DE70/func_802BF964.s rename to asm/nonmatchings/world/partner/sushie/func_802BF964.s diff --git a/asm/nonmatchings/code_31DE70/func_802BF9B8.s b/asm/nonmatchings/world/partner/sushie/func_802BF9B8.s similarity index 100% rename from asm/nonmatchings/code_31DE70/func_802BF9B8.s rename to asm/nonmatchings/world/partner/sushie/func_802BF9B8.s diff --git a/asm/nonmatchings/code_31DE70/func_802BFA58.s b/asm/nonmatchings/world/partner/sushie/func_802BFA58.s similarity index 100% rename from asm/nonmatchings/code_31DE70/func_802BFA58.s rename to asm/nonmatchings/world/partner/sushie/func_802BFA58.s diff --git a/asm/nonmatchings/code_31DE70/func_802BFAB8.s b/asm/nonmatchings/world/partner/sushie/func_802BFAB8.s similarity index 100% rename from asm/nonmatchings/code_31DE70/func_802BFAB8.s rename to asm/nonmatchings/world/partner/sushie/func_802BFAB8.s diff --git a/asm/nonmatchings/code_31CC70/func_802BD100_31CC70.s b/asm/nonmatchings/world/partner/watt/func_802BD100_31CC70.s similarity index 100% rename from asm/nonmatchings/code_31CC70/func_802BD100_31CC70.s rename to asm/nonmatchings/world/partner/watt/func_802BD100_31CC70.s diff --git a/asm/nonmatchings/code_31CC70/func_802BD180_31CC70.s b/asm/nonmatchings/world/partner/watt/func_802BD180_31CC70.s similarity index 100% rename from asm/nonmatchings/code_31CC70/func_802BD180_31CC70.s rename to asm/nonmatchings/world/partner/watt/func_802BD180_31CC70.s diff --git a/asm/nonmatchings/code_31CC70/func_802BD1AC.s b/asm/nonmatchings/world/partner/watt/func_802BD1AC.s similarity index 100% rename from asm/nonmatchings/code_31CC70/func_802BD1AC.s rename to asm/nonmatchings/world/partner/watt/func_802BD1AC.s diff --git a/asm/nonmatchings/code_31CC70/func_802BD23C.s b/asm/nonmatchings/world/partner/watt/func_802BD23C.s similarity index 100% rename from asm/nonmatchings/code_31CC70/func_802BD23C.s rename to asm/nonmatchings/world/partner/watt/func_802BD23C.s diff --git a/asm/nonmatchings/code_31CC70/func_802BD27C.s b/asm/nonmatchings/world/partner/watt/func_802BD27C.s similarity index 100% rename from asm/nonmatchings/code_31CC70/func_802BD27C.s rename to asm/nonmatchings/world/partner/watt/func_802BD27C.s diff --git a/asm/nonmatchings/code_31CC70/func_802BD2B4.s b/asm/nonmatchings/world/partner/watt/func_802BD2B4.s similarity index 100% rename from asm/nonmatchings/code_31CC70/func_802BD2B4.s rename to asm/nonmatchings/world/partner/watt/func_802BD2B4.s diff --git a/asm/nonmatchings/code_31CC70/func_802BD710.s b/asm/nonmatchings/world/partner/watt/func_802BD710.s similarity index 100% rename from asm/nonmatchings/code_31CC70/func_802BD710.s rename to asm/nonmatchings/world/partner/watt/func_802BD710.s diff --git a/asm/nonmatchings/code_31CC70/func_802BD754.s b/asm/nonmatchings/world/partner/watt/func_802BD754.s similarity index 100% rename from asm/nonmatchings/code_31CC70/func_802BD754.s rename to asm/nonmatchings/world/partner/watt/func_802BD754.s diff --git a/asm/nonmatchings/code_31CC70/func_802BDD0C.s b/asm/nonmatchings/world/partner/watt/func_802BDD0C.s similarity index 100% rename from asm/nonmatchings/code_31CC70/func_802BDD0C.s rename to asm/nonmatchings/world/partner/watt/func_802BDD0C.s diff --git a/asm/nonmatchings/code_31CC70/func_802BDD9C.s b/asm/nonmatchings/world/partner/watt/func_802BDD9C.s similarity index 100% rename from asm/nonmatchings/code_31CC70/func_802BDD9C.s rename to asm/nonmatchings/world/partner/watt/func_802BDD9C.s diff --git a/asm/nonmatchings/code_31CC70/func_802BDE10.s b/asm/nonmatchings/world/partner/watt/func_802BDE10.s similarity index 100% rename from asm/nonmatchings/code_31CC70/func_802BDE10.s rename to asm/nonmatchings/world/partner/watt/func_802BDE10.s diff --git a/asm/nonmatchings/code_31CC70/func_802BDE88.s b/asm/nonmatchings/world/partner/watt/func_802BDE88.s similarity index 100% rename from asm/nonmatchings/code_31CC70/func_802BDE88.s rename to asm/nonmatchings/world/partner/watt/func_802BDE88.s diff --git a/asm/nonmatchings/code_31CC70/func_802BE014.s b/asm/nonmatchings/world/partner/watt/func_802BE014.s similarity index 100% rename from asm/nonmatchings/code_31CC70/func_802BE014.s rename to asm/nonmatchings/world/partner/watt/func_802BE014.s diff --git a/asm/nonmatchings/code_31CC70/func_802BE070.s b/asm/nonmatchings/world/partner/watt/func_802BE070.s similarity index 100% rename from asm/nonmatchings/code_31CC70/func_802BE070.s rename to asm/nonmatchings/world/partner/watt/func_802BE070.s diff --git a/src/code_31B120.c b/src/code_31B120.c deleted file mode 100644 index 9e43f4c2bf..0000000000 --- a/src/code_31B120.c +++ /dev/null @@ -1,25 +0,0 @@ -#include "common.h" - -INCLUDE_ASM(s32, "code_31B120", func_802BD100_31B120); - -INCLUDE_ASM(s32, "code_31B120", func_802BD144); - -INCLUDE_ASM(s32, "code_31B120", func_802BD17C); - -INCLUDE_ASM(s32, "code_31B120", func_802BD200); - -INCLUDE_ASM(s32, "code_31B120", func_802BD228); - -INCLUDE_ASM(s32, "code_31B120", func_802BD260); - -INCLUDE_ASM(s32, "code_31B120", func_802BD5F4); - -INCLUDE_ASM(s32, "code_31B120", func_802BD638); - -INCLUDE_ASM(s32, "code_31B120", func_802BE7E0); - -INCLUDE_ASM(s32, "code_31B120", func_802BE818); - -INCLUDE_ASM(s32, "code_31B120", func_802BEA24); - -INCLUDE_ASM(s32, "code_31B120", func_802BEB10); diff --git a/src/code_31CC70.c b/src/code_31CC70.c deleted file mode 100644 index 5db97d63ef..0000000000 --- a/src/code_31CC70.c +++ /dev/null @@ -1,29 +0,0 @@ -#include "common.h" - -INCLUDE_ASM(s32, "code_31CC70", func_802BD100_31CC70); - -INCLUDE_ASM(s32, "code_31CC70", func_802BD180_31CC70); - -INCLUDE_ASM(s32, "code_31CC70", func_802BD1AC); - -INCLUDE_ASM(s32, "code_31CC70", func_802BD23C); - -INCLUDE_ASM(s32, "code_31CC70", func_802BD27C); - -INCLUDE_ASM(s32, "code_31CC70", func_802BD2B4); - -INCLUDE_ASM(s32, "code_31CC70", func_802BD710); - -INCLUDE_ASM(s32, "code_31CC70", func_802BD754); - -INCLUDE_ASM(s32, "code_31CC70", func_802BDD0C); - -INCLUDE_ASM(s32, "code_31CC70", func_802BDD9C); - -INCLUDE_ASM(s32, "code_31CC70", func_802BDE10); - -INCLUDE_ASM(s32, "code_31CC70", func_802BDE88); - -INCLUDE_ASM(s32, "code_31CC70", func_802BE014); - -INCLUDE_ASM(s32, "code_31CC70", func_802BE070); diff --git a/src/code_31DE70.c b/src/code_31DE70.c deleted file mode 100644 index 54a412abdd..0000000000 --- a/src/code_31DE70.c +++ /dev/null @@ -1,29 +0,0 @@ -#include "common.h" - -INCLUDE_ASM(s32, "code_31DE70", func_802BD100_31DE70); - -INCLUDE_ASM(s32, "code_31DE70", func_802BD20C); - -INCLUDE_ASM(s32, "code_31DE70", func_802BD368); - -INCLUDE_ASM(s32, "code_31DE70", func_802BD414); - -INCLUDE_ASM(s32, "code_31DE70", func_802BE280); - -INCLUDE_ASM(s32, "code_31DE70", func_802BE3A4); - -INCLUDE_ASM(s32, "code_31DE70", func_802BF520); - -INCLUDE_ASM(s32, "code_31DE70", func_802BF568); - -INCLUDE_ASM(s32, "code_31DE70", func_802BF5A0); - -INCLUDE_ASM(s32, "code_31DE70", func_802BF920); - -INCLUDE_ASM(s32, "code_31DE70", func_802BF964); - -INCLUDE_ASM(s32, "code_31DE70", func_802BF9B8); - -INCLUDE_ASM(s32, "code_31DE70", func_802BFA58); - -INCLUDE_ASM(s32, "code_31DE70", func_802BFAB8); diff --git a/src/code_320C50.c b/src/code_320C50.c deleted file mode 100644 index 5a37d55f57..0000000000 --- a/src/code_320C50.c +++ /dev/null @@ -1,35 +0,0 @@ -#include "common.h" - -INCLUDE_ASM(s32, "code_320C50", func_802BD100_320C50); - -INCLUDE_ASM(s32, "code_320C50", func_802BD21C); - -INCLUDE_ASM(s32, "code_320C50", func_802BD29C); - -INCLUDE_ASM(s32, "code_320C50", func_802BD2D4); - -INCLUDE_ASM(s32, "code_320C50", func_802BD678); - -INCLUDE_ASM(s32, "code_320C50", func_802BD6BC); - -INCLUDE_ASM(s32, "code_320C50", func_802BD7DC); - -INCLUDE_ASM(s32, "code_320C50", func_802BD99C); - -INCLUDE_ASM(s32, "code_320C50", func_802BDA90); - -INCLUDE_ASM(s32, "code_320C50", func_802BDDD8); - -INCLUDE_ASM(s32, "code_320C50", func_802BE6A0); - -INCLUDE_ASM(s32, "code_320C50", func_802BE724); - -INCLUDE_ASM(s32, "code_320C50", func_802BF4F0); - -INCLUDE_ASM(s32, "code_320C50", func_802BFA00); - -INCLUDE_ASM(s32, "code_320C50", func_802BFAA8); - -INCLUDE_ASM(s32, "code_320C50", func_802BFB44); - -INCLUDE_ASM(s32, "code_320C50", func_802BFBA0); diff --git a/src/code_323A50.c b/src/code_323A50.c deleted file mode 100644 index fe8cee5912..0000000000 --- a/src/code_323A50.c +++ /dev/null @@ -1,19 +0,0 @@ -#include "common.h" - -INCLUDE_ASM(s32, "code_323A50", func_802BD100_323A50); - -INCLUDE_ASM(s32, "code_323A50", func_802BD130); - -INCLUDE_ASM(s32, "code_323A50", func_802BD168); - -INCLUDE_ASM(s32, "code_323A50", func_802BD4FC); - -INCLUDE_ASM(s32, "code_323A50", func_802BD540); - -INCLUDE_ASM(s32, "code_323A50", func_802BD694); - -INCLUDE_ASM(s32, "code_323A50", func_802BDDF0); - -INCLUDE_ASM(s32, "code_323A50", func_802BDF08); - -INCLUDE_ASM(s32, "code_323A50", func_802BDF64); diff --git a/src/code_317E50.c b/src/world/partner/bombette.c similarity index 52% rename from src/code_317E50.c rename to src/world/partner/bombette.c index 8c9bbbf551..855f49e752 100644 --- a/src/code_317E50.c +++ b/src/world/partner/bombette.c @@ -1,8 +1,8 @@ #include "common.h" -INCLUDE_ASM(s32, "code_317E50", func_802BD100_317E50); +INCLUDE_ASM(s32, "world/partner/bombette", func_802BD100_317E50); -INCLUDE_ASM(s32, "code_317E50", func_802BD2D8); +INCLUDE_ASM(s32, "world/partner/bombette", func_802BD2D8); ApiStatus func_802BD300(ScriptInstance* script, s32 isInitialCall) { s32 unk = script->owner2.npc; // todo what is this @@ -13,17 +13,17 @@ ApiStatus func_802BD300(ScriptInstance* script, s32 isInitialCall) { return func_800EECE8(unk) != 0; } -INCLUDE_ASM(s32, "code_317E50", func_802BD338); +INCLUDE_ASM(s32, "world/partner/bombette", func_802BD338); -INCLUDE_ASM(s32, "code_317E50", func_802BD6DC); +INCLUDE_ASM(s32, "world/partner/bombette", func_802BD6DC); -INCLUDE_ASM(s32, "code_317E50", func_802BD720); +INCLUDE_ASM(s32, "world/partner/bombette", func_802BD720); s32 func_802BD748(void) { return D_8010EBB0[0] == 0; } -INCLUDE_ASM(s32, "code_317E50", func_802BD758); +INCLUDE_ASM(s32, "world/partner/bombette", func_802BD758); ApiStatus func_802BE4E8(ScriptInstance* script, s32 isInitialCall) { s32 unk = script->owner2.npc; // todo what is this @@ -34,6 +34,6 @@ ApiStatus func_802BE4E8(ScriptInstance* script, s32 isInitialCall) { return func_800EE9B8(unk) != 0; } -INCLUDE_ASM(s32, "code_317E50", func_802BE520); +INCLUDE_ASM(s32, "world/partner/bombette", func_802BE520); -INCLUDE_ASM(s32, "code_317E50", func_802BE6E8); +INCLUDE_ASM(s32, "world/partner/bombette", func_802BE6E8); diff --git a/src/world/partner/bow.c b/src/world/partner/bow.c new file mode 100644 index 0000000000..efa82d47f1 --- /dev/null +++ b/src/world/partner/bow.c @@ -0,0 +1,19 @@ +#include "common.h" + +INCLUDE_ASM(s32, "world/partner/bow", func_802BD100_323A50); + +INCLUDE_ASM(s32, "world/partner/bow", func_802BD130); + +INCLUDE_ASM(s32, "world/partner/bow", func_802BD168); + +INCLUDE_ASM(s32, "world/partner/bow", func_802BD4FC); + +INCLUDE_ASM(s32, "world/partner/bow", func_802BD540); + +INCLUDE_ASM(s32, "world/partner/bow", func_802BD694); + +INCLUDE_ASM(s32, "world/partner/bow", func_802BDDF0); + +INCLUDE_ASM(s32, "world/partner/bow", func_802BDF08); + +INCLUDE_ASM(s32, "world/partner/bow", func_802BDF64); diff --git a/src/code_317020.c b/src/world/partner/goombario.c similarity index 72% rename from src/code_317020.c rename to src/world/partner/goombario.c index e65fb76488..b03be9b413 100644 --- a/src/code_317020.c +++ b/src/world/partner/goombario.c @@ -21,17 +21,17 @@ void world_goombario_init(Npc* npc) { npc->collisionRadius = 20; } -INCLUDE_ASM(s32, "code_317020", func_802BD188); +INCLUDE_ASM(s32, "world/partner/goombario", func_802BD188); -INCLUDE_ASM(s32, "code_317020", func_802BD1D0); +INCLUDE_ASM(s32, "world/partner/goombario", func_802BD1D0); -INCLUDE_ASM(s32, "code_317020", func_802BD564); +INCLUDE_ASM(s32, "world/partner/goombario", func_802BD564); -INCLUDE_ASM(s32, "code_317020", func_802BD5A8); +INCLUDE_ASM(s32, "world/partner/goombario", func_802BD5A8); -INCLUDE_ASM(s32, "code_317020", func_802BD5D8); +INCLUDE_ASM(s32, "world/partner/goombario", func_802BD5D8); -INCLUDE_ASM(s32, "code_317020", func_802BDB30); +INCLUDE_ASM(s32, "world/partner/goombario", func_802BDB30); ApiStatus func_802BDB84(ScriptInstance* script, s32 isInitialCall) { s32 unk = script->owner2.npc; // todo what is this? @@ -58,5 +58,5 @@ void world_goombario_pre_battle(s32 arg0) { D_8010EBB0[3] = 1; } #else -INCLUDE_ASM(void, "code_317020", world_goombario_pre_battle, s32 arg0); +INCLUDE_ASM(void, "world/partner/goombario", world_goombario_pre_battle, s32 arg0); #endif diff --git a/src/world/partner/kooper.c b/src/world/partner/kooper.c new file mode 100644 index 0000000000..c937234064 --- /dev/null +++ b/src/world/partner/kooper.c @@ -0,0 +1,25 @@ +#include "common.h" + +INCLUDE_ASM(s32, "world/partner/kooper", func_802BD100_31B120); + +INCLUDE_ASM(s32, "world/partner/kooper", func_802BD144); + +INCLUDE_ASM(s32, "world/partner/kooper", func_802BD17C); + +INCLUDE_ASM(s32, "world/partner/kooper", func_802BD200); + +INCLUDE_ASM(s32, "world/partner/kooper", func_802BD228); + +INCLUDE_ASM(s32, "world/partner/kooper", func_802BD260); + +INCLUDE_ASM(s32, "world/partner/kooper", func_802BD5F4); + +INCLUDE_ASM(s32, "world/partner/kooper", func_802BD638); + +INCLUDE_ASM(s32, "world/partner/kooper", func_802BE7E0); + +INCLUDE_ASM(s32, "world/partner/kooper", func_802BE818); + +INCLUDE_ASM(s32, "world/partner/kooper", func_802BEA24); + +INCLUDE_ASM(s32, "world/partner/kooper", func_802BEB10); diff --git a/src/world/partner/lakilester.c b/src/world/partner/lakilester.c new file mode 100644 index 0000000000..25c4e258ff --- /dev/null +++ b/src/world/partner/lakilester.c @@ -0,0 +1,35 @@ +#include "common.h" + +INCLUDE_ASM(s32, "world/partner/lakilester", func_802BD100_320C50); + +INCLUDE_ASM(s32, "world/partner/lakilester", func_802BD21C); + +INCLUDE_ASM(s32, "world/partner/lakilester", func_802BD29C); + +INCLUDE_ASM(s32, "world/partner/lakilester", func_802BD2D4); + +INCLUDE_ASM(s32, "world/partner/lakilester", func_802BD678); + +INCLUDE_ASM(s32, "world/partner/lakilester", func_802BD6BC); + +INCLUDE_ASM(s32, "world/partner/lakilester", func_802BD7DC); + +INCLUDE_ASM(s32, "world/partner/lakilester", func_802BD99C); + +INCLUDE_ASM(s32, "world/partner/lakilester", func_802BDA90); + +INCLUDE_ASM(s32, "world/partner/lakilester", func_802BDDD8); + +INCLUDE_ASM(s32, "world/partner/lakilester", func_802BE6A0); + +INCLUDE_ASM(s32, "world/partner/lakilester", func_802BE724); + +INCLUDE_ASM(s32, "world/partner/lakilester", func_802BF4F0); + +INCLUDE_ASM(s32, "world/partner/lakilester", func_802BFA00); + +INCLUDE_ASM(s32, "world/partner/lakilester", func_802BFAA8); + +INCLUDE_ASM(s32, "world/partner/lakilester", func_802BFB44); + +INCLUDE_ASM(s32, "world/partner/lakilester", func_802BFBA0); diff --git a/src/code_319670.c b/src/world/partner/parakarry.c similarity index 52% rename from src/code_319670.c rename to src/world/partner/parakarry.c index 6bf3ebff66..70d9036baf 100644 --- a/src/code_319670.c +++ b/src/world/partner/parakarry.c @@ -1,6 +1,6 @@ #include "common.h" -INCLUDE_ASM(s32, "code_319670", func_802BD100_319670); +INCLUDE_ASM(s32, "world/partner/parakarry", func_802BD100_319670); ApiStatus func_802BD148(ScriptInstance* script, s32 isInitialCall) { s32 unk = script->owner2.npc; // todo what is this @@ -11,13 +11,13 @@ ApiStatus func_802BD148(ScriptInstance* script, s32 isInitialCall) { return func_800EECE8(unk) != 0; } -INCLUDE_ASM(s32, "code_319670", func_802BD180); +INCLUDE_ASM(s32, "world/partner/parakarry", func_802BD180); -INCLUDE_ASM(s32, "code_319670", func_802BD514); +INCLUDE_ASM(s32, "world/partner/parakarry", func_802BD514); -INCLUDE_ASM(s32, "code_319670", func_802BD558); +INCLUDE_ASM(s32, "world/partner/parakarry", func_802BD558); -INCLUDE_ASM(s32, "code_319670", func_802BD660); +INCLUDE_ASM(s32, "world/partner/parakarry", func_802BD660); ApiStatus func_802BE8D4(ScriptInstance* script, s32 isInitialCall) { s32 unk = script->owner2.npc; // todo what is this @@ -28,6 +28,6 @@ ApiStatus func_802BE8D4(ScriptInstance* script, s32 isInitialCall) { return func_800EE9B8(unk) != 0; } -INCLUDE_ASM(s32, "code_319670", func_802BE90C); +INCLUDE_ASM(s32, "world/partner/parakarry", func_802BE90C); -INCLUDE_ASM(s32, "code_319670", func_802BE9D0); +INCLUDE_ASM(s32, "world/partner/parakarry", func_802BE9D0); diff --git a/src/world/partner/sushie.c b/src/world/partner/sushie.c new file mode 100644 index 0000000000..1ee60dcbf6 --- /dev/null +++ b/src/world/partner/sushie.c @@ -0,0 +1,29 @@ +#include "common.h" + +INCLUDE_ASM(s32, "world/partner/sushie", func_802BD100_31DE70); + +INCLUDE_ASM(s32, "world/partner/sushie", func_802BD20C); + +INCLUDE_ASM(s32, "world/partner/sushie", func_802BD368); + +INCLUDE_ASM(s32, "world/partner/sushie", func_802BD414); + +INCLUDE_ASM(s32, "world/partner/sushie", func_802BE280); + +INCLUDE_ASM(s32, "world/partner/sushie", func_802BE3A4); + +INCLUDE_ASM(s32, "world/partner/sushie", func_802BF520); + +INCLUDE_ASM(s32, "world/partner/sushie", func_802BF568); + +INCLUDE_ASM(s32, "world/partner/sushie", func_802BF5A0); + +INCLUDE_ASM(s32, "world/partner/sushie", func_802BF920); + +INCLUDE_ASM(s32, "world/partner/sushie", func_802BF964); + +INCLUDE_ASM(s32, "world/partner/sushie", func_802BF9B8); + +INCLUDE_ASM(s32, "world/partner/sushie", func_802BFA58); + +INCLUDE_ASM(s32, "world/partner/sushie", func_802BFAB8); diff --git a/src/world/partner/watt.c b/src/world/partner/watt.c new file mode 100644 index 0000000000..d7ab539078 --- /dev/null +++ b/src/world/partner/watt.c @@ -0,0 +1,29 @@ +#include "common.h" + +INCLUDE_ASM(s32, "world/partner/watt", func_802BD100_31CC70); + +INCLUDE_ASM(s32, "world/partner/watt", func_802BD180_31CC70); + +INCLUDE_ASM(s32, "world/partner/watt", func_802BD1AC); + +INCLUDE_ASM(s32, "world/partner/watt", func_802BD23C); + +INCLUDE_ASM(s32, "world/partner/watt", func_802BD27C); + +INCLUDE_ASM(s32, "world/partner/watt", func_802BD2B4); + +INCLUDE_ASM(s32, "world/partner/watt", func_802BD710); + +INCLUDE_ASM(s32, "world/partner/watt", func_802BD754); + +INCLUDE_ASM(s32, "world/partner/watt", func_802BDD0C); + +INCLUDE_ASM(s32, "world/partner/watt", func_802BDD9C); + +INCLUDE_ASM(s32, "world/partner/watt", func_802BDE10); + +INCLUDE_ASM(s32, "world/partner/watt", func_802BDE88); + +INCLUDE_ASM(s32, "world/partner/watt", func_802BE014); + +INCLUDE_ASM(s32, "world/partner/watt", func_802BE070); diff --git a/tools/splat.yaml b/tools/splat.yaml index 9b80271083..5424a4f89c 100644 --- a/tools/splat.yaml +++ b/tools/splat.yaml @@ -411,56 +411,56 @@ segments: start: 0x317020 vram: 0x802BD100 files: - - [0x317020, c] + - [0x317020, c, world/partner/goombario] - [0x317b60, bin] - type: code ld_name: world_partner_bombette start: 0x317e50 vram: 0x802BD100 files: - - [0x317e50, c] + - [0x317e50, c, world/partner/bombette] - [0x3195d0, bin] - type: code ld_name: world_partner_parakarry start: 0x319670 vram: 0x802BD100 files: - - [0x319670, c] + - [0x319670, c, world/partner/parakarry] - [0x31b000, bin] - type: code ld_name: world_partner_kooper start: 0x31b120 vram: 0x802BD100 files: - - [0x31b120, c] + - [0x31b120, c, world/partner/kooper] - [0x31cb60, bin] - type: code ld_name: world_partner_watt start: 0x31cc70 vram: 0x802BD100 files: - - [0x31cc70, c] + - [0x31cc70, c, world/partner/watt] - [0x31ddc0, bin] - type: code ld_name: world_partner_sushie start: 0x31de70 vram: 0x802BD100 files: - - [0x31de70, c] + - [0x31de70, c, world/partner/sushie] - [0x320b20, bin] - type: code ld_name: world_partner_lakilester start: 0x320c50 vram: 0x802BD100 files: - - [0x320c50, c] + - [0x320c50, c, world/partner/lakilester] - [0x3239b0, bin] - type: code ld_name: world_partner_bow start: 0x323A50 vram: 0x802BD100 files: - - [0x323A50, c] + - [0x323A50, c, world/partner/bow] - [0x324930, bin] - type: code ld_name: world_partner_goompa From 6cf7ed0327419cf4fd9b660e69b74baf4f541110 Mon Sep 17 00:00:00 2001 From: Alex Bates <16batesa@gmail.com> Date: Wed, 23 Dec 2020 11:37:03 +0000 Subject: [PATCH 82/97] name world_goombario_can_pause --- ...802BD5A8.s => world_goombario_can_pause.s} | 0 src/world/partner/goombario.c | 22 +++++++++++++++---- src/world/partner/goombario.h | 10 ++------- src/world/partners.c | 4 ++-- src/world/partners.h | 4 ++-- 5 files changed, 24 insertions(+), 16 deletions(-) rename asm/nonmatchings/world/partner/goombario/{func_802BD5A8.s => world_goombario_can_pause.s} (100%) diff --git a/asm/nonmatchings/world/partner/goombario/func_802BD5A8.s b/asm/nonmatchings/world/partner/goombario/world_goombario_can_pause.s similarity index 100% rename from asm/nonmatchings/world/partner/goombario/func_802BD5A8.s rename to asm/nonmatchings/world/partner/goombario/world_goombario_can_pause.s diff --git a/src/world/partner/goombario.c b/src/world/partner/goombario.c index b03be9b413..0125933886 100644 --- a/src/world/partner/goombario.c +++ b/src/world/partner/goombario.c @@ -1,7 +1,5 @@ #include "common.h" -#include "world/partner/goombario.h" - -// TODO: move to world/partner/goombario.c +#include "goombario.h" s32 func_802BD100(s32 arg0) { s32 i; @@ -27,7 +25,23 @@ INCLUDE_ASM(s32, "world/partner/goombario", func_802BD1D0); INCLUDE_ASM(s32, "world/partner/goombario", func_802BD564); -INCLUDE_ASM(s32, "world/partner/goombario", func_802BD5A8); +// Compiler is generating more efficient code than the original asm, using xori and sltiu instead of beq +#ifdef NON_MATCHING +s32 world_goombario_can_pause(Npc* partner) { + if (D_8010EBB0[0]) { + return FALSE; + } + + if ((partner->flags & 0x1800) != 0x1000) { + return FALSE; + } + + return TRUE; +} +#else +INCLUDE_ASM(s32, "world/partner/goombario", world_goombario_can_pause, Npc* partner); +#endif + INCLUDE_ASM(s32, "world/partner/goombario", func_802BD5D8); diff --git a/src/world/partner/goombario.h b/src/world/partner/goombario.h index 7b9f16453b..f5b4b441da 100644 --- a/src/world/partner/goombario.h +++ b/src/world/partner/goombario.h @@ -4,14 +4,8 @@ #include "common.h" #include "script_api/map.h" -s32 func_802BD100(s32 arg0); -void world_goombario_init(Npc* npc); -s32 func_802BD188(); -s32 func_802BD1D0(); -s32 func_802BD564(); -s32 func_802BD5A8(); -s32 func_802BD5D8(); -s32 func_802BDB30(); +void world_goombario_init(Npc* partner); +s32 world_goombario_can_pause(Npc* partner); ApiStatus func_802BDB84(ScriptInstance* script, s32 isInitialCall); void world_goombario_pre_battle(s32 arg0); diff --git a/src/world/partners.c b/src/world/partners.c index e444104d5b..90a199a89a 100644 --- a/src/world/partners.c +++ b/src/world/partners.c @@ -42,8 +42,8 @@ WorldPartner gWorldPartners[] = { .useAbility = 0x802BDDA8, .putAway = 0x802BDE60, .idle = NPC_ANIM(world_goombario, normal, idle), - .canUseAbility = func_802BD5A8, - .canPlayerPause = func_802BD5A8, + .canUseAbility = world_goombario_can_pause, + .canPlayerPause = world_goombario_can_pause, .preBattle = world_goombario_pre_battle, }, { diff --git a/src/world/partners.h b/src/world/partners.h index bf42c0eefa..a4891e4dcf 100644 --- a/src/world/partners.h +++ b/src/world/partners.h @@ -15,8 +15,8 @@ typedef struct WorldPartner { /* 0x24 */ Bytecode* putAway; /* 0x28 */ NpcAnimID idle; /* 0x2C */ UNK_FUN_PTR(testFirstStrike); - /* 0x30 */ UNK_FUN_PTR(canUseAbility); - /* 0x34 */ UNK_FUN_PTR(canPlayerPause); + /* 0x30 */ s32 (*canUseAbility)(Npc* partner); + /* 0x34 */ s32 (*canPlayerPause)(Npc* partner); /* 0x38 */ void (*preBattle)(Npc* partner); /* 0x3C */ UNK_FUN_PTR(postBattle); /* 0x40 */ Bytecode* whileRiding; From baf842d8f660beef2760f1a6d910214477e88f54 Mon Sep 17 00:00:00 2001 From: Alex Bates <16batesa@gmail.com> Date: Wed, 23 Dec 2020 11:50:36 +0000 Subject: [PATCH 83/97] type some goombario funcs --- src/world/partner/goombario.c | 12 +++++++----- undefined_syms.txt | 1 + 2 files changed, 8 insertions(+), 5 deletions(-) diff --git a/src/world/partner/goombario.c b/src/world/partner/goombario.c index 0125933886..a4f95358d4 100644 --- a/src/world/partner/goombario.c +++ b/src/world/partner/goombario.c @@ -1,6 +1,8 @@ #include "common.h" #include "goombario.h" +extern s32** D_802BDF64; + s32 func_802BD100(s32 arg0) { s32 i; @@ -19,9 +21,9 @@ void world_goombario_init(Npc* npc) { npc->collisionRadius = 20; } -INCLUDE_ASM(s32, "world/partner/goombario", func_802BD188); +INCLUDE_ASM(ApiStatus, "world/partner/goombario", func_802BD188, ScriptInstance* script, s32 isInitialCall); -INCLUDE_ASM(s32, "world/partner/goombario", func_802BD1D0); +INCLUDE_ASM(ApiStatus, "world/partner/goombario", func_802BD1D0, ScriptInstance* script, s32 isInitialCall); INCLUDE_ASM(s32, "world/partner/goombario", func_802BD564); @@ -42,10 +44,10 @@ s32 world_goombario_can_pause(Npc* partner) { INCLUDE_ASM(s32, "world/partner/goombario", world_goombario_can_pause, Npc* partner); #endif +// Returns on SI_VAR(0) +INCLUDE_ASM(ApiStatus, "world/partner/goombario", func_802BD5D8, ScriptInstance* script, s32 isInitialCall); -INCLUDE_ASM(s32, "world/partner/goombario", func_802BD5D8); - -INCLUDE_ASM(s32, "world/partner/goombario", func_802BDB30); +INCLUDE_ASM(ApiStatus, "world/partner/goombario", func_802BDB30, ScriptInstance* script, s32 isInitialCall); ApiStatus func_802BDB84(ScriptInstance* script, s32 isInitialCall) { s32 unk = script->owner2.npc; // todo what is this? diff --git a/undefined_syms.txt b/undefined_syms.txt index d592ebf275..8b8bfa8424 100644 --- a/undefined_syms.txt +++ b/undefined_syms.txt @@ -334,3 +334,4 @@ gSongsUsingVariationFlag = 0x8014F720; D_8014F738 = 0x8014F738; world_goombario_take_out = 0x802BDD6C; +D_802BDF64 = 0x802BDF64; From 7aca81daad02e730cd1bfae64a4d9896bf6e5861 Mon Sep 17 00:00:00 2001 From: Alex Bates <16batesa@gmail.com> Date: Wed, 23 Dec 2020 12:07:47 +0000 Subject: [PATCH 84/97] goombario data --- src/world/partner/goombario.c | 53 ++++++++++++++++++++++++++++++++++- src/world/partner/goombario.h | 5 +++- src/world/partners.c | 6 ++-- tools/splat.yaml | 3 +- undefined_syms.txt | 1 - 5 files changed, 61 insertions(+), 7 deletions(-) diff --git a/src/world/partner/goombario.c b/src/world/partner/goombario.c index a4f95358d4..73d3787530 100644 --- a/src/world/partner/goombario.c +++ b/src/world/partner/goombario.c @@ -1,4 +1,5 @@ #include "common.h" +#include "sprite/npc/world_goombario.h" #include "goombario.h" extern s32** D_802BDF64; @@ -23,6 +24,7 @@ void world_goombario_init(Npc* npc) { INCLUDE_ASM(ApiStatus, "world/partner/goombario", func_802BD188, ScriptInstance* script, s32 isInitialCall); +// uses rodata f64(?) at 802BDE80 = 0.8 INCLUDE_ASM(ApiStatus, "world/partner/goombario", func_802BD1D0, ScriptInstance* script, s32 isInitialCall); INCLUDE_ASM(s32, "world/partner/goombario", func_802BD564); @@ -44,7 +46,8 @@ s32 world_goombario_can_pause(Npc* partner) { INCLUDE_ASM(s32, "world/partner/goombario", world_goombario_can_pause, Npc* partner); #endif -// Returns on SI_VAR(0) +// get message for tattle routine +// has big jumptable at rodata 802BDE88 INCLUDE_ASM(ApiStatus, "world/partner/goombario", func_802BD5D8, ScriptInstance* script, s32 isInitialCall); INCLUDE_ASM(ApiStatus, "world/partner/goombario", func_802BDB30, ScriptInstance* script, s32 isInitialCall); @@ -76,3 +79,51 @@ void world_goombario_pre_battle(s32 arg0) { #else INCLUDE_ASM(void, "world/partner/goombario", world_goombario_pre_battle, s32 arg0); #endif + +s32 func_802BD5D8_data[] = { + 0x00000015, 0x001B0000, 0x00000018, 0x001B0000, 0x00000016, 0x001B0001, 0x00000019, 0x001B0001, + 0x00000017, 0x001B0003, 0x0000001A, 0x001B0003, 0x0000000D, 0x001B0005, 0x0000000E, 0x001B0005, + 0x0000000F, 0x001B0006, 0x00000010, 0x001B0006, 0x0000000B, 0x001B0007, 0x0000000C, 0x001B0008, + 0x00000014, 0x001B0009, 0x0000002E, 0x001B000A, 0x0000002F, 0x001B000A, 0x00000007, 0x001B000B, + 0x00000008, 0x001B000B, 0x00000009, 0x001B000C, 0x0000000A, 0x001B000E, 0x0000002B, 0x001B0010, + 0x00000003, 0x001B0011, 0x00000004, 0x001B0011, 0x00000005, 0x001B0011, 0x00000006, 0x001B0011, + 0x00000033, 0x001B0012, 0x00000034, 0x001B0013, 0x00000026, 0x001B0014, 0x00000032, 0x001B0015, + 0x00000024, 0x001B0017, 0x00000025, 0x001B001A, 0x00000031, 0x001B001D, 0x00000035, 0x001B001F, + 0x00000036, 0x001B0020, 0x00000038, 0x001B0021, 0x00000037, 0x001B0022, 0x0000003A, 0x001B0023, + 0x00000039, 0x001B0024, 0xFFFFFFFF +}; + +Script world_goombario_take_out = SCRIPT({ + func_802BD188() +}); + +s32 unk_802BDD88 = 0x802BDF40; + +Script world_goombario_update = SCRIPT({ + func_802BD1D0() +}); + +Script world_goombario_use_ability = SCRIPT({ + func_802BD5D8() // returns tattle message id on SI_VAR(0), and something else on SI_VAR(1) + + if SI_VAR(0) == -1 { + return + } + + if SI_VAR(0) == 0 { + func_802BDB30() + return + } + + if SI_VAR(1) == 0 { + SpeakToPlayer(NpcId_PARTNER, NPC_ANIM(world_goombario, normal, talk), NPC_ANIM(world_goombario, normal, idle), 0, SI_VAR(0)) + } + + sleep 1 + + func_802BDB30() +}); + +Script world_goombario_put_away = SCRIPT({ + func_802BDB84() +}); diff --git a/src/world/partner/goombario.h b/src/world/partner/goombario.h index f5b4b441da..73b99651be 100644 --- a/src/world/partner/goombario.h +++ b/src/world/partner/goombario.h @@ -9,6 +9,9 @@ s32 world_goombario_can_pause(Npc* partner); ApiStatus func_802BDB84(ScriptInstance* script, s32 isInitialCall); void world_goombario_pre_battle(s32 arg0); -extern Script world_goombario_take_out; +Script world_goombario_take_out; +Script world_goombario_update; +Script world_goombario_use_ability; +Script world_goombario_put_away; #endif diff --git a/src/world/partners.c b/src/world/partners.c index 90a199a89a..7a2af9996b 100644 --- a/src/world/partners.c +++ b/src/world/partners.c @@ -38,9 +38,9 @@ WorldPartner gWorldPartners[] = { .isFlying = FALSE, .init = world_goombario_init, .takeOut = world_goombario_take_out, - .update = 0x802BDD8C, - .useAbility = 0x802BDDA8, - .putAway = 0x802BDE60, + .update = world_goombario_update, + .useAbility = world_goombario_use_ability, + .putAway = world_goombario_put_away, .idle = NPC_ANIM(world_goombario, normal, idle), .canUseAbility = world_goombario_can_pause, .canPlayerPause = world_goombario_can_pause, diff --git a/tools/splat.yaml b/tools/splat.yaml index 5424a4f89c..b3763be440 100644 --- a/tools/splat.yaml +++ b/tools/splat.yaml @@ -412,7 +412,8 @@ segments: vram: 0x802BD100 files: - [0x317020, c, world/partner/goombario] - - [0x317b60, bin] + - [0x317b60, .data, world/partner/goombario] + - [0x317DA0, bin, world/partner/goombario] # rodata containing a double and a jumptable - type: code ld_name: world_partner_bombette start: 0x317e50 diff --git a/undefined_syms.txt b/undefined_syms.txt index 8b8bfa8424..47eca1de9a 100644 --- a/undefined_syms.txt +++ b/undefined_syms.txt @@ -333,5 +333,4 @@ D_80078DB4 = 0x80078DB4; gSongsUsingVariationFlag = 0x8014F720; D_8014F738 = 0x8014F738; -world_goombario_take_out = 0x802BDD6C; D_802BDF64 = 0x802BDF64; From fd7fc4c44a96e3a7f38fe60a816cbbd122138588 Mon Sep 17 00:00:00 2001 From: Alex Bates <16batesa@gmail.com> Date: Wed, 23 Dec 2020 12:19:27 +0000 Subject: [PATCH 85/97] goompa data --- src/world/partner/goompa.c | 27 +++++++++++++++++++++++---- src/world/partner/goompa.h | 14 ++++++++++++++ src/world/partners.c | 11 ++++++----- tools/splat.yaml | 3 ++- 4 files changed, 45 insertions(+), 10 deletions(-) create mode 100644 src/world/partner/goompa.h diff --git a/src/world/partner/goompa.c b/src/world/partner/goompa.c index 7a385c3ddb..815a915b76 100644 --- a/src/world/partner/goompa.c +++ b/src/world/partner/goompa.c @@ -1,11 +1,12 @@ #include "common.h" +#include "goompa.h" -void func_802BD100_324A10(Npc* npc) { +void world_goompa_init(Npc* npc) { npc->collisionHeight = 24; npc->collisionRadius = 20; } -ApiStatus func_802BD114(ScriptInstance* script, s32 isInitialCall) { +ApiStatus GoompaTakeOut(ScriptInstance* script, s32 isInitialCall) { Npc* owner = script->owner2.npc; if (isInitialCall) { @@ -18,11 +19,11 @@ INCLUDE_ASM(s32, "world_goompa", func_802BD14C); INCLUDE_ASM(s32, "world_goompa", func_802BD4E0); -ApiStatus func_802BD524(ScriptInstance* script, s32 isInitialCall) { +ApiStatus GoompaUseAbility(ScriptInstance* script, s32 isInitialCall) { return ApiStatus_DONE2; } -ApiStatus func_802BD52C(ScriptInstance* script, s32 isInitialCall) { +ApiStatus GoompaPutAway(ScriptInstance* script, s32 isInitialCall) { Npc* owner = script->owner2.npc; if (isInitialCall) { @@ -30,3 +31,21 @@ ApiStatus func_802BD52C(ScriptInstance* script, s32 isInitialCall) { } return func_800EE9B8(owner) != 0; } + +Script world_goompa_take_out = SCRIPT({ + GoompaTakeOut() +}); + +s32 unk = 0x802BD600; + +Script world_goompa_update = SCRIPT({ + func_802BD14C() +}); + +Script world_goompa_use_ability = SCRIPT({ + GoompaUseAbility() +}); + +Script world_goompa_put_away = SCRIPT({ + GoompaPutAway() +}); diff --git a/src/world/partner/goompa.h b/src/world/partner/goompa.h new file mode 100644 index 0000000000..01562cbda4 --- /dev/null +++ b/src/world/partner/goompa.h @@ -0,0 +1,14 @@ +#ifndef _WORLD_PARTNER_GOOMPA_H_ +#define _WORLD_PARTNER_GOOMPA_H_ + +#include "common.h" +#include "script_api/map.h" + +void world_goompa_init(Npc* partner); + +Script world_goompa_take_out; +Script world_goompa_update; +Script world_goompa_use_ability; +Script world_goompa_put_away; + +#endif diff --git a/src/world/partners.c b/src/world/partners.c index 7a2af9996b..3aba2994c4 100644 --- a/src/world/partners.c +++ b/src/world/partners.c @@ -12,6 +12,7 @@ #include "sprite/npc/world_parakarry.h" +#include "partner/goompa.h" #include "sprite/npc/goompa.h" #include "sprite/npc/world_watt.h" @@ -103,11 +104,11 @@ WorldPartner gWorldPartners[] = { .dmaEnd = &world_partner_goompa_ROM_END, .dmaDest = &world_partner_goompa_VRAM, .isFlying = FALSE, - .init = 0x802BD100, - .takeOut = 0x802BD570, - .update = 0x802BD590, - .useAbility = 0x802BD5AC, - .putAway = 0x802BD5C8, + .init = world_goompa_init, + .takeOut = world_goompa_take_out, + .update = world_goompa_update, + .useAbility = world_goompa_use_ability, + .putAway = world_goompa_put_away, .idle = NPC_ANIM(goompa, Palette_00, Anim_1), }, { diff --git a/tools/splat.yaml b/tools/splat.yaml index b3763be440..28310117e5 100644 --- a/tools/splat.yaml +++ b/tools/splat.yaml @@ -469,7 +469,8 @@ segments: vram: 0x802BD100 files: - [0x324a10, c, world/partner/goompa] - - [0x324e80, bin] + - [0x324e80, .data, world/partner/goompa] + - [0x324F00, bin, world/partner/goompa] # rodata with single f64 0.8 - type: code ld_name: world_partner_goombaria start: 0x324f10 From 70cac1a479463fa68020228fb1334ce4a7a45b91 Mon Sep 17 00:00:00 2001 From: Alex Bates <16batesa@gmail.com> Date: Wed, 23 Dec 2020 12:25:43 +0000 Subject: [PATCH 86/97] goombaria data --- src/world/partner/goombaria.c | 27 ++++++++++++++++++++++----- src/world/partner/goombaria.h | 14 ++++++++++++++ src/world/partners.c | 11 ++++++----- tools/splat.yaml | 2 +- 4 files changed, 43 insertions(+), 11 deletions(-) create mode 100644 src/world/partner/goombaria.h diff --git a/src/world/partner/goombaria.c b/src/world/partner/goombaria.c index 8f496ca778..985a776218 100644 --- a/src/world/partner/goombaria.c +++ b/src/world/partner/goombaria.c @@ -1,12 +1,13 @@ #include "common.h" +#include "goombaria.h" #include "../partners.h" -void func_802BD100_324F10(Npc* npc) { +void world_goombaria_init(Npc* npc) { npc->collisionHeight = 24; npc->collisionRadius = 20; } -ApiStatus func_802BD114_324F10(ScriptInstance* script, s32 isInitialCall) { +ApiStatus GoombariaTakeOut(ScriptInstance* script, s32 isInitialCall) { Npc* owner = script->owner2.npc; if (isInitialCall) { @@ -15,7 +16,7 @@ ApiStatus func_802BD114_324F10(ScriptInstance* script, s32 isInitialCall) { return func_800EECE8(owner) != 0; } -ApiStatus func_802BD14C_324F10(ScriptInstance* script, s32 isInitialCall) { +ApiStatus GoombariaUpdate(ScriptInstance* script, s32 isInitialCall) { PlayerData* playerData = &gPlayerData; Npc* owner = script->owner2.npc; @@ -30,11 +31,11 @@ ApiStatus func_802BD14C_324F10(ScriptInstance* script, s32 isInitialCall) { return ApiStatus_BLOCK; } -ApiStatus func_802BD1AC_324F10(ScriptInstance* script, s32 isInitialCall) { +ApiStatus GoombariaUseAbility(ScriptInstance* script, s32 isInitialCall) { return ApiStatus_DONE2; } -ApiStatus func_802BD1B4(ScriptInstance* script, s32 isInitialCall) { +ApiStatus GoombariaPutAway(ScriptInstance* script, s32 isInitialCall) { Npc* owner = script->owner2.npc; if (isInitialCall) { @@ -42,3 +43,19 @@ ApiStatus func_802BD1B4(ScriptInstance* script, s32 isInitialCall) { } return func_800EE9B8(owner) != 0; } + +Script world_goombaria_take_out = SCRIPT({ + GoombariaTakeOut() +}); + +Script world_goombaria_update = SCRIPT({ + GoombariaUpdate() +}); + +Script world_goombaria_use_ability = SCRIPT({ + GoombariaUseAbility() +}); + +Script world_goombaria_put_away = SCRIPT({ + GoombariaPutAway() +}); diff --git a/src/world/partner/goombaria.h b/src/world/partner/goombaria.h new file mode 100644 index 0000000000..aefd8be80e --- /dev/null +++ b/src/world/partner/goombaria.h @@ -0,0 +1,14 @@ +#ifndef _WORLD_PARTNER_GOOMBARIA_H_ +#define _WORLD_PARTNER_GOOMBARIA_H_ + +#include "common.h" +#include "script_api/map.h" + +void world_goombaria_init(Npc* partner); + +Script world_goombaria_take_out; +Script world_goombaria_update; +Script world_goombaria_use_ability; +Script world_goombaria_put_away; + +#endif diff --git a/src/world/partners.c b/src/world/partners.c index 3aba2994c4..f88ad735c8 100644 --- a/src/world/partners.c +++ b/src/world/partners.c @@ -23,6 +23,7 @@ #include "sprite/npc/world_bow.h" +#include "partner/goombaria.h" #include "sprite/npc/goombaria.h" #include "sprite/npc/twink.h" @@ -184,11 +185,11 @@ WorldPartner gWorldPartners[] = { .dmaEnd = &world_partner_goombaria_ROM_END, .dmaDest = &world_partner_goombaria_VRAM, .isFlying = FALSE, - .init = 0x802BD100, - .takeOut = 0x802BD1F0, - .update = 0x802BD20C, - .useAbility = 0x802BD228, - .putAway = 0x802BD244, + .init = world_goombaria_init, + .takeOut = world_goombaria_take_out, + .update = world_goombaria_update, + .useAbility = world_goombaria_use_ability, + .putAway = world_goombaria_put_away, .idle = NPC_ANIM(goombaria, Palette_00, Anim_1), .canUseAbility = 0x800EA514, .canPlayerPause = 0x800EA514, diff --git a/tools/splat.yaml b/tools/splat.yaml index 28310117e5..f909486592 100644 --- a/tools/splat.yaml +++ b/tools/splat.yaml @@ -477,7 +477,7 @@ segments: vram: 0x802BD100 files: - [0x324f10, c, world/partner/goombaria] - - [0x325000, bin] + - [0x325000, .data, world/partner/goombaria] - type: code ld_name: world_partner_twink start: 0x325070 From aeaa7ba571999fe9f8375f421a2257e0cd233558 Mon Sep 17 00:00:00 2001 From: Alex Bates <16batesa@gmail.com> Date: Wed, 23 Dec 2020 12:33:37 +0000 Subject: [PATCH 87/97] match func_800EA514 --- .../code_838b0_len_5900/func_800EA514.s | 8 ------ src/code_838b0_len_5900.c | 8 +++--- src/world/partners.c | 27 ++++++++++--------- 3 files changed, 20 insertions(+), 23 deletions(-) delete mode 100644 asm/nonmatchings/code_838b0_len_5900/func_800EA514.s diff --git a/asm/nonmatchings/code_838b0_len_5900/func_800EA514.s b/asm/nonmatchings/code_838b0_len_5900/func_800EA514.s deleted file mode 100644 index b51265a358..0000000000 --- a/asm/nonmatchings/code_838b0_len_5900/func_800EA514.s +++ /dev/null @@ -1,8 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel func_800EA514 -/* 839C4 800EA514 3C028011 */ lui $v0, %hi(D_8010EBB0) -/* 839C8 800EA518 8042EBB0 */ lb $v0, %lo(D_8010EBB0)($v0) -/* 839CC 800EA51C 03E00008 */ jr $ra -/* 839D0 800EA520 2C420001 */ sltiu $v0, $v0, 1 diff --git a/src/code_838b0_len_5900.c b/src/code_838b0_len_5900.c index 81a72c5031..031096e67e 100644 --- a/src/code_838b0_len_5900.c +++ b/src/code_838b0_len_5900.c @@ -9,10 +9,12 @@ void remove_consumable(void) { INCLUDE_ASM(s32, "code_838b0_len_5900", func_800EA4B0); -INCLUDE_ASM(s32, "code_838b0_len_5900", func_800EA514); +s32 world_partner_can_use_ability_default(Npc* partner) { + return D_8010EBB0[0] == 0; +} -s32 func_800EA524(void) { - return 1; +s32 world_partner_can_player_pause_default(Npc* partner) { + return TRUE; } INCLUDE_ASM(s32, "code_838b0_len_5900", func_800EA52C); diff --git a/src/world/partners.c b/src/world/partners.c index f88ad735c8..b8dc71167e 100644 --- a/src/world/partners.c +++ b/src/world/partners.c @@ -28,6 +28,9 @@ #include "sprite/npc/twink.h" +s32 world_partner_can_use_ability_default(Npc* partner); +s32 world_partner_can_player_pause_default(Npc* partner); + static s32 _pad[] = { 0x00, 0x00, 0x00 }; WorldPartner gWorldPartners[] = { @@ -61,8 +64,8 @@ WorldPartner gWorldPartners[] = { .putAway = 0x802BEB9C, .idle = NPC_ANIM(world_kooper, Palette_00, Anim_3), .testFirstStrike = 0x802BE818, - .canUseAbility = 0x800EA514, - .canPlayerPause = 0x800EA514, + .canUseAbility = world_partner_can_use_ability_default, + .canPlayerPause = world_partner_can_use_ability_default, .preBattle = 0x802BEA24, .postBattle = 0x802BEB10, }, @@ -95,7 +98,7 @@ WorldPartner gWorldPartners[] = { .useAbility = 0x802BEACC, .putAway = 0x802BEAE8, .idle = NPC_ANIM(world_parakarry, Palette_00, Anim_1), - .canPlayerPause = 0x800EA514, + .canPlayerPause = world_partner_can_use_ability_default, .preBattle = 0x802BE90C, .postBattle = 0x802BE9D0, }, @@ -124,7 +127,7 @@ WorldPartner gWorldPartners[] = { .useAbility = 0x802BE298, .putAway = 0x802BE2B4, .idle = NPC_ANIM(world_watt, Palette_00, Anim_1), - .canPlayerPause = 0x800EA524, + .canPlayerPause = world_partner_can_player_pause_default, .preBattle = 0x802BDD9C, .postBattle = 0x802BDE10, .whileRiding = 0x802BE2D0, @@ -141,7 +144,7 @@ WorldPartner gWorldPartners[] = { .useAbility = 0x802BFDC0, .putAway = 0x802BFE18, .idle = NPC_ANIM(world_sushie, Palette_00, Anim_1), - .canPlayerPause = 0x800EA524, + .canPlayerPause = world_partner_can_player_pause_default, .preBattle = 0x802BF9B8, .postBattle = 0x802BFA58, .whileRiding = 0x802BFE34, @@ -158,7 +161,7 @@ WorldPartner gWorldPartners[] = { .useAbility = 0x802BFE9C, .putAway = 0x802BFEB8, .idle = NPC_ANIM(world_lakilester, Palette_00, Anim_1), - .canPlayerPause = 0x800EA524, + .canPlayerPause = world_partner_can_player_pause_default, .preBattle = 0x802BFA00, .postBattle = 0x802BFAA8, .whileRiding = 0x802BFED4, @@ -175,8 +178,8 @@ WorldPartner gWorldPartners[] = { .useAbility = 0x802BE01C, .putAway = 0x802BE038, .idle = NPC_ANIM(world_bow, Palette_00, Anim_1), - .canUseAbility = 0x800EA514, - .canPlayerPause = 0x800EA524, + .canUseAbility = world_partner_can_use_ability_default, + .canPlayerPause = world_partner_can_player_pause_default, .preBattle = 0x802BDF64, }, { @@ -191,8 +194,8 @@ WorldPartner gWorldPartners[] = { .useAbility = world_goombaria_use_ability, .putAway = world_goombaria_put_away, .idle = NPC_ANIM(goombaria, Palette_00, Anim_1), - .canUseAbility = 0x800EA514, - .canPlayerPause = 0x800EA514, + .canUseAbility = world_partner_can_use_ability_default, + .canPlayerPause = world_partner_can_use_ability_default, }, { // Twink @@ -206,7 +209,7 @@ WorldPartner gWorldPartners[] = { .useAbility = 0x802BD228, .putAway = 0x802BD244, .idle = NPC_ANIM(twink, Palette_00, Anim_1), - .canUseAbility = 0x800EA514, - .canPlayerPause = 0x800EA514, + .canUseAbility = world_partner_can_use_ability_default, + .canPlayerPause = world_partner_can_use_ability_default, }, }; From 469a17015102710a67b50da166c12594eb9a4f83 Mon Sep 17 00:00:00 2001 From: Alex Bates <16batesa@gmail.com> Date: Wed, 23 Dec 2020 12:34:59 +0000 Subject: [PATCH 88/97] whoops --- src/world/partner/goombario.c | 2 -- 1 file changed, 2 deletions(-) diff --git a/src/world/partner/goombario.c b/src/world/partner/goombario.c index 73d3787530..af5fca4331 100644 --- a/src/world/partner/goombario.c +++ b/src/world/partner/goombario.c @@ -2,8 +2,6 @@ #include "sprite/npc/world_goombario.h" #include "goombario.h" -extern s32** D_802BDF64; - s32 func_802BD100(s32 arg0) { s32 i; From 17437b94bb81f39b76d3f4a4068b9e4881a84aed Mon Sep 17 00:00:00 2001 From: Alex Bates <16batesa@gmail.com> Date: Wed, 23 Dec 2020 12:40:20 +0000 Subject: [PATCH 89/97] twink data --- src/world/partner/twink.c | 28 ++++++++++++++++++++++------ src/world/partner/twink.h | 14 ++++++++++++++ src/world/partners.c | 11 ++++++----- tools/splat.yaml | 2 +- 4 files changed, 43 insertions(+), 12 deletions(-) create mode 100644 src/world/partner/twink.h diff --git a/src/world/partner/twink.c b/src/world/partner/twink.c index 6cb17a613a..83e386a59d 100644 --- a/src/world/partner/twink.c +++ b/src/world/partner/twink.c @@ -1,13 +1,13 @@ #include "common.h" #include "../partners.h" +#include "twink.h" -// Init -void func_802BD100_325070(Npc* npc) { +void world_twink_init(Npc* npc) { npc->collisionHeight = 20; npc->collisionRadius = 20; } -ApiStatus func_802BD110(ScriptInstance* script, s32 isInitialCall) { +ApiStatus TwinkTakeOut(ScriptInstance* script, s32 isInitialCall) { Npc* owner = script->owner2.npc; if (isInitialCall) { @@ -16,7 +16,7 @@ ApiStatus func_802BD110(ScriptInstance* script, s32 isInitialCall) { return func_800EECE8(owner) != 0; } -ApiStatus func_802BD148_325070(ScriptInstance* script, s32 isInitialCall) { +ApiStatus TwinkUpdate(ScriptInstance* script, s32 isInitialCall) { PlayerData* playerData = &gPlayerData; Npc* owner = script->owner2.npc; @@ -31,11 +31,11 @@ ApiStatus func_802BD148_325070(ScriptInstance* script, s32 isInitialCall) { return ApiStatus_BLOCK; } -ApiStatus func_802BD1A8(ScriptInstance* script, s32 isInitialCall) { +ApiStatus TwinkUseAbility(ScriptInstance* script, s32 isInitialCall) { return ApiStatus_DONE2; } -ApiStatus func_802BD1B0(ScriptInstance* script, s32 isInitialCall) { +ApiStatus TwinkPutAway(ScriptInstance* script, s32 isInitialCall) { Npc* owner = script->owner2.npc; if (isInitialCall) { @@ -43,3 +43,19 @@ ApiStatus func_802BD1B0(ScriptInstance* script, s32 isInitialCall) { } return func_800EE9B8(owner) != 0; } + +Script world_twink_take_out = SCRIPT({ + TwinkTakeOut() +}); + +Script world_twink_update = SCRIPT({ + TwinkUpdate() +}); + +Script world_twink_use_ability = SCRIPT({ + TwinkUseAbility() +}); + +Script world_twink_put_away = SCRIPT({ + TwinkPutAway() +}); diff --git a/src/world/partner/twink.h b/src/world/partner/twink.h new file mode 100644 index 0000000000..da1c43833b --- /dev/null +++ b/src/world/partner/twink.h @@ -0,0 +1,14 @@ +#ifndef _WORLD_PARTNER_TWINK_H_ +#define _WORLD_PARTNER_TWINK_H_ + +#include "common.h" +#include "script_api/map.h" + +void world_twink_init(Npc* partner); + +Script world_twink_take_out; +Script world_twink_update; +Script world_twink_use_ability; +Script world_twink_put_away; + +#endif diff --git a/src/world/partners.c b/src/world/partners.c index b8dc71167e..41b34ab939 100644 --- a/src/world/partners.c +++ b/src/world/partners.c @@ -26,6 +26,7 @@ #include "partner/goombaria.h" #include "sprite/npc/goombaria.h" +#include "partner/twink.h" #include "sprite/npc/twink.h" s32 world_partner_can_use_ability_default(Npc* partner); @@ -203,11 +204,11 @@ WorldPartner gWorldPartners[] = { .dmaEnd = &world_partner_twink_ROM_END, .dmaDest = &world_partner_twink_VRAM, .isFlying = TRUE, - .init = 0x802BD100, - .takeOut = 0x802BD1F0, - .update = 0x802BD20C, - .useAbility = 0x802BD228, - .putAway = 0x802BD244, + .init = world_twink_init, + .takeOut = world_twink_take_out, + .update = world_twink_update, + .useAbility = world_twink_use_ability, + .putAway = world_twink_put_away, .idle = NPC_ANIM(twink, Palette_00, Anim_1), .canUseAbility = world_partner_can_use_ability_default, .canPlayerPause = world_partner_can_use_ability_default, diff --git a/tools/splat.yaml b/tools/splat.yaml index f909486592..60c47a45c0 100644 --- a/tools/splat.yaml +++ b/tools/splat.yaml @@ -484,7 +484,7 @@ segments: vram: 0x802BD100 files: - [0x325070, c, world/partner/twink] - - [0x325160, bin] + - [0x325160, .data, world/partner/twink] - type: code start: 0x3251d0 vram: 0x802BD100 From 73e85dd9615baddb65065d42fc96bbfd6d8820ce Mon Sep 17 00:00:00 2001 From: Alex Bates <16batesa@gmail.com> Date: Wed, 23 Dec 2020 12:43:16 +0000 Subject: [PATCH 90/97] lint --- src/world/partner/goombaria.c | 6 +++--- src/world/partner/goombario.c | 24 ++++++++++++------------ src/world/partner/goompa.c | 6 +++--- src/world/partner/twink.c | 6 +++--- 4 files changed, 21 insertions(+), 21 deletions(-) diff --git a/src/world/partner/goombaria.c b/src/world/partner/goombaria.c index 985a776218..8cab1ec052 100644 --- a/src/world/partner/goombaria.c +++ b/src/world/partner/goombaria.c @@ -2,9 +2,9 @@ #include "goombaria.h" #include "../partners.h" -void world_goombaria_init(Npc* npc) { - npc->collisionHeight = 24; - npc->collisionRadius = 20; +void world_goombaria_init(Npc* partner) { + partner->collisionHeight = 24; + partner->collisionRadius = 20; } ApiStatus GoombariaTakeOut(ScriptInstance* script, s32 isInitialCall) { diff --git a/src/world/partner/goombario.c b/src/world/partner/goombario.c index af5fca4331..4005a85590 100644 --- a/src/world/partner/goombario.c +++ b/src/world/partner/goombario.c @@ -15,9 +15,9 @@ s32 func_802BD100(s32 arg0) { return 0; } -void world_goombario_init(Npc* npc) { - npc->collisionHeight = 24; - npc->collisionRadius = 20; +void world_goombario_init(Npc* partner) { + partner->collisionHeight = 24; + partner->collisionRadius = 20; } INCLUDE_ASM(ApiStatus, "world/partner/goombario", func_802BD188, ScriptInstance* script, s32 isInitialCall); @@ -80,15 +80,15 @@ INCLUDE_ASM(void, "world/partner/goombario", world_goombario_pre_battle, s32 arg s32 func_802BD5D8_data[] = { 0x00000015, 0x001B0000, 0x00000018, 0x001B0000, 0x00000016, 0x001B0001, 0x00000019, 0x001B0001, - 0x00000017, 0x001B0003, 0x0000001A, 0x001B0003, 0x0000000D, 0x001B0005, 0x0000000E, 0x001B0005, - 0x0000000F, 0x001B0006, 0x00000010, 0x001B0006, 0x0000000B, 0x001B0007, 0x0000000C, 0x001B0008, - 0x00000014, 0x001B0009, 0x0000002E, 0x001B000A, 0x0000002F, 0x001B000A, 0x00000007, 0x001B000B, - 0x00000008, 0x001B000B, 0x00000009, 0x001B000C, 0x0000000A, 0x001B000E, 0x0000002B, 0x001B0010, - 0x00000003, 0x001B0011, 0x00000004, 0x001B0011, 0x00000005, 0x001B0011, 0x00000006, 0x001B0011, - 0x00000033, 0x001B0012, 0x00000034, 0x001B0013, 0x00000026, 0x001B0014, 0x00000032, 0x001B0015, - 0x00000024, 0x001B0017, 0x00000025, 0x001B001A, 0x00000031, 0x001B001D, 0x00000035, 0x001B001F, - 0x00000036, 0x001B0020, 0x00000038, 0x001B0021, 0x00000037, 0x001B0022, 0x0000003A, 0x001B0023, - 0x00000039, 0x001B0024, 0xFFFFFFFF + 0x00000017, 0x001B0003, 0x0000001A, 0x001B0003, 0x0000000D, 0x001B0005, 0x0000000E, 0x001B0005, + 0x0000000F, 0x001B0006, 0x00000010, 0x001B0006, 0x0000000B, 0x001B0007, 0x0000000C, 0x001B0008, + 0x00000014, 0x001B0009, 0x0000002E, 0x001B000A, 0x0000002F, 0x001B000A, 0x00000007, 0x001B000B, + 0x00000008, 0x001B000B, 0x00000009, 0x001B000C, 0x0000000A, 0x001B000E, 0x0000002B, 0x001B0010, + 0x00000003, 0x001B0011, 0x00000004, 0x001B0011, 0x00000005, 0x001B0011, 0x00000006, 0x001B0011, + 0x00000033, 0x001B0012, 0x00000034, 0x001B0013, 0x00000026, 0x001B0014, 0x00000032, 0x001B0015, + 0x00000024, 0x001B0017, 0x00000025, 0x001B001A, 0x00000031, 0x001B001D, 0x00000035, 0x001B001F, + 0x00000036, 0x001B0020, 0x00000038, 0x001B0021, 0x00000037, 0x001B0022, 0x0000003A, 0x001B0023, + 0x00000039, 0x001B0024, 0xFFFFFFFF }; Script world_goombario_take_out = SCRIPT({ diff --git a/src/world/partner/goompa.c b/src/world/partner/goompa.c index 815a915b76..c606a2c151 100644 --- a/src/world/partner/goompa.c +++ b/src/world/partner/goompa.c @@ -1,9 +1,9 @@ #include "common.h" #include "goompa.h" -void world_goompa_init(Npc* npc) { - npc->collisionHeight = 24; - npc->collisionRadius = 20; +void world_goompa_init(Npc* partner) { + partner->collisionHeight = 24; + partner->collisionRadius = 20; } ApiStatus GoompaTakeOut(ScriptInstance* script, s32 isInitialCall) { diff --git a/src/world/partner/twink.c b/src/world/partner/twink.c index 83e386a59d..b2f17d23fe 100644 --- a/src/world/partner/twink.c +++ b/src/world/partner/twink.c @@ -2,9 +2,9 @@ #include "../partners.h" #include "twink.h" -void world_twink_init(Npc* npc) { - npc->collisionHeight = 20; - npc->collisionRadius = 20; +void world_twink_init(Npc* partner) { + partner->collisionHeight = 20; + partner->collisionRadius = 20; } ApiStatus TwinkTakeOut(ScriptInstance* script, s32 isInitialCall) { From e3f570fd1a060f9523fef4404c51164003cbdea4 Mon Sep 17 00:00:00 2001 From: Alex Bates <16batesa@gmail.com> Date: Wed, 23 Dec 2020 15:12:02 +0000 Subject: [PATCH 91/97] add syntax to script dsl --- src/world/area_kmr/kmr_12/events.c | 4 +-- tools/compile_dsl_macros.py | 57 +++++++++++++++++++++++++++--- 2 files changed, 54 insertions(+), 7 deletions(-) diff --git a/src/world/area_kmr/kmr_12/events.c b/src/world/area_kmr/kmr_12/events.c index 44e6095e23..1ccb7d31e2 100644 --- a/src/world/area_kmr/kmr_12/events.c +++ b/src/world/area_kmr/kmr_12/events.c @@ -192,8 +192,8 @@ NpcGroupList M(npcGroupList) = { }; Script M(ReadEastSign) = SCRIPT({ - func_800441F0(SI_VAR(0)) - if SI_VAR(0) == 1 { + func_800441F0($a) + if $a == 1 { return } diff --git a/tools/compile_dsl_macros.py b/tools/compile_dsl_macros.py index e471d2ba43..37f9994a1c 100755 --- a/tools/compile_dsl_macros.py +++ b/tools/compile_dsl_macros.py @@ -64,7 +64,7 @@ script_parser = Lark(r""" | "spawn" block -> spawn_block_stmt | "parallel" block -> parallel_block_stmt - call: (CNAME | HEX_INT) "(" [expr ("," expr)* [","]] ")" + call: (c_identifier | HEX_INT) "(" [expr ("," expr)* [","]] ")" if_stmt: "if" expr cond_op expr block ["else" block] @@ -104,9 +104,11 @@ script_parser = Lark(r""" | SIGNED_INT | SIGNED_DECIMAL | HEX_INT - | CNAME + | variable + | c_identifier ?lhs: c_const_expr + | variable ?set_op: "=" -> set_op_eq | "+=" -> set_op_add @@ -117,6 +119,10 @@ script_parser = Lark(r""" | "&=" -> set_op_and | "|=" -> set_op_or + variable: "$" CNAME + + c_identifier: CNAME + c_const_expr: c_const_expr_internal c_const_expr_internal: "(" (c_const_expr_internal | NOT_PARENS)+ ")" NOT_PARENS: /[^()]+/ @@ -162,7 +168,7 @@ class BaseCmd(): return [ self.opcode(), len(self.args), *self.args ] def __str__(self): - return f"Cmd({self.opcode():02X}, {', '.join(map(str, self.args))})" + return f"Cmd({self.opcode()}, {', '.join(map(str, self.args))})" class Cmd(BaseCmd): def __init__(self, opcode, *args, **kwargs): @@ -241,6 +247,7 @@ class LabelAllocation(Visitor): def __init__(self): super().__init__() self.labels = [] + self.variables = [] def label_decl(self, tree): name = tree.children[0].children[0] @@ -257,6 +264,15 @@ class LabelAllocation(Visitor): except ValueError: self.labels.append(name) + def variable(self, tree): + name = tree.children[0] + + if name not in self.variables: + self.variables.append(name) + + if len(self.variables) > 16: + raise CompileError("too many variables (max 16)", tree.meta) + def gen_label(self): self.labels.append("$generated") return len(self.labels) - 1 @@ -271,8 +287,8 @@ class Compile(Transformer): self.alloc.visit_topdown(tree) return super().transform(tree) - def CNAME(self, name): - return f"(Bytecode)(&{name})" + def c_identifier(self, tree): + return f"(Bytecode)(&{tree.children[0]})" def ESCAPED_STRING(self, str_with_quotes): return f"(Bytecode)({str_with_quotes})" @@ -590,6 +606,37 @@ class Compile(Transformer): return self.alloc.labels.index(name) raise CompileError(f"label `{name}' is undeclared", tree.meta) + def variable(self, tree): + name = tree.children[0] + return self.alloc.variables.index(name) - 30000000 + + def label_decl(self, tree): + if len(tree.children) == 1: + label = tree.children[0] + return Cmd("ScriptOpcode_LABEL", label, meta=tree.meta) + else: + label, cmd_or_block = tree.children + + if type(cmd_or_block) is not list: + cmd_or_block = [cmd_or_block] + + for cmd in cmd_or_block: + if isinstance(cmd, BaseCmd): + cmd.add_context(LabelCtx(label)) + + return [ + Cmd("ScriptOpcode_LABEL", label, meta=tree.meta), + *cmd_or_block + ] + def label_goto(self, tree): + label = tree.children[0] + return Cmd("ScriptOpcode_GOTO", label, meta=tree.meta) + def label(self, tree): + name = tree.children[0] + if name in self.alloc.labels: + return self.alloc.labels.index(name) + raise CompileError(f"label `{name}' is undeclared", tree.meta) + def block_stmt(self, tree): block, = tree.children for cmd in block: From a7d3a8b4f2370c88433fdc0614e8980f73f84df7 Mon Sep 17 00:00:00 2001 From: Ethan Roseman Date: Thu, 24 Dec 2020 12:04:06 +0900 Subject: [PATCH 92/97] PR comments --- src/audio.h | 2 +- src/code_26840_len_20d0.c | 36 ------------------------------------ src/code_28910_len_5090.c | 14 +++++--------- 3 files changed, 6 insertions(+), 46 deletions(-) diff --git a/src/audio.h b/src/audio.h index 3d380fc3c7..08c055e307 100644 --- a/src/audio.h +++ b/src/audio.h @@ -410,7 +410,7 @@ typedef struct UnkAlA9C { /* 0x16C */ char unk_16C[0x98]; /* 0x204 */ s32 unk_204; /* 0x208 */ s16 unk_208; - /* 0x20A */ s16 unk_20A; + /* 0x20A */ u16 unk_20A; /* 0x20C */ s16 unk_20C; /* 0x20E */ s16 unk_20E; /* 0x210 */ char unk_210[0xA]; diff --git a/src/code_26840_len_20d0.c b/src/code_26840_len_20d0.c index 27529df71f..8b8181fa4b 100644 --- a/src/code_26840_len_20d0.c +++ b/src/code_26840_len_20d0.c @@ -84,42 +84,6 @@ void func_8004B440(UnkAl6CC* arg0, u8 arg1, u8 arg2, UnkAl19E0* arg3, u8 arg4) { } INCLUDE_ASM(void, "code_26840_len_20d0", func_8004B62C, UnkAl6CC* arg0); -// void func_8004B62C(UnkAl6CC *arg0) { -// s32 *temp_a1; -// u16 temp_v0; -// u16 temp_v0_2; -// u32 temp_a3; -// s32 *phi_v1; -// UnkAl6CC *phi_a2; -// u32 phi_a3; - -// temp_a1 = arg0->unk_00->unk_A0; -// arg0->unk_08 = temp_a1; - -// phi_v1 = temp_a1; -// phi_a2 = arg0; -// phi_a3 = 0U; -// loop_1: -// temp_v0 = phi_v1->unk10; -// if (temp_v0 != 0) { -// phi_a2->unkC = (void *) (temp_v0 + temp_a1); -// } -// temp_a3 = phi_a3 + 1; -// phi_v1 = phi_v1 + 2; -// phi_a2 = phi_a2 + 4; -// phi_a3 = temp_a3; -// if (temp_a3 < 8U) { -// goto loop_1; -// } - - -// if (temp_a1->unkE == 1) { -// temp_v0_2 = ; -// if (temp_a1->unk_20 != 0) { -// arg0->unk_2C = (void *) (temp_v0_2 + temp_a1); -// } -// } -// } void func_8004B698(UnkAl6CC* arg0) { s32 i; diff --git a/src/code_28910_len_5090.c b/src/code_28910_len_5090.c index 4461d05b6a..0a5d163bca 100644 --- a/src/code_28910_len_5090.c +++ b/src/code_28910_len_5090.c @@ -161,7 +161,7 @@ void func_8004E3A4(UnkAlA9C* arg0) { if (arg0->unk_2C.unk_0A != 0) { arg0->unk_2C.unk_00.s32 += arg0->unk_2C.unk_04; } else { - arg0->unk_2C.unk_00.s32 = arg0->unk_2C.unk_08 << 0x10; + arg0->unk_2C.unk_00.s32 = arg0->unk_2C.unk_08 << 16; if (arg0->unk_2C.unk_0C != NULL) { arg0->unk_2C.unk_0C(); @@ -210,17 +210,13 @@ void func_8004FBBC(UnkAlA9C* arg0, UnkAl60* arg1) { } s32 func_8004FC08(UnkAlA9C* arg0, u32 arg1) { - u32 t32; - u16 t16; - u32 ret; + u32 unk_20A = arg0->unk_20A; + u32 ret = arg1; - t32 = t16 = arg0->unk_20A; - - ret = arg1; ret *= arg0->unk_D0; - if (t32 < ret) { - ret = t32; + if (unk_20A < ret) { + ret = unk_20A; } else if (ret == 0) { ret = 1; } From ef6780e67640aef0abc873f48a8929cac442e7e4 Mon Sep 17 00:00:00 2001 From: Ethan Roseman Date: Thu, 24 Dec 2020 12:05:47 +0900 Subject: [PATCH 93/97] PR comment --- src/code_25f00_len_940.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/code_25f00_len_940.c b/src/code_25f00_len_940.c index fcc62a7d10..42af61eb5d 100644 --- a/src/code_25f00_len_940.c +++ b/src/code_25f00_len_940.c @@ -95,7 +95,7 @@ void func_8004B328(s16 arg0, s32 arg1) { temp_s0 = 0; } - temp_s0 = (temp_s0 * temp_s0) >> 0xF; + temp_s0 = (temp_s0 * temp_s0) >> 15; func_80056D44(temp_s0); if (temp_s0 == 0) { From 310e90d70ff99539caa8c7a3d5f895953d033d50 Mon Sep 17 00:00:00 2001 From: Ethan Roseman Date: Thu, 24 Dec 2020 03:38:37 -0500 Subject: [PATCH 94/97] Create CONTRIBUTING.md --- CONTRIBUTING.md | 80 +++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 80 insertions(+) create mode 100644 CONTRIBUTING.md diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md new file mode 100644 index 0000000000..56234054c1 --- /dev/null +++ b/CONTRIBUTING.md @@ -0,0 +1,80 @@ +## Contributing + +### Dependencies + +There are a few additional dependencies needed when contributing to this project. You can install them with `./install.sh --extra`. + +### WSL + +We provide [windows_terminal.bat](tools/windows_terminal.bat) to open a [Windows Terminal](https://www.microsoft.com/en-us/p/windows-terminal/9n0dx20hk701) with a recommended layout. Make sure a default distro (e.g. `wsl --set-default ubuntu`) is set beforehand. + +### Rebuilding + +If you use Visual Studio Code, you can use _Run Build Task_ (Ctrl+Shift+B) to run `make`. Any errors or warnings generated by the compiler will show up in the _Problems_ tab. + +### Matching a function + +#### Setup + +Once you've created a successful (`OK`) build, copy `build/` to `expected/build/`: + +```sh +$ mkdir -p expected +$ cp -r build expected +``` + +#### Roughly converting assembly to C + +Decide on a function to match. These can be found in the subdirectories of `asm/nonmatchings/`. Currently, functions which use float constants, data sections, or jump tables are unmatchable. + +Take the relevant `.s` file and pass it to [mips_to_c](https://github.com/matt-kempster/mips_to_c) ([web version](https://simonsoftware.se/other/mips_to_c.py)). + +You can also use mips_to_c locally installed to a destination of your choice. Then register a function in `~/.bashrc` that calls `path/to/mips_to_c.py (with args)`: +``` +sudo apt update +sudo apt install python3-pip +sudo git clone https://github.com/matt-kempster/mips_to_c.git path/to/mips_to_c +``` + +Here's a starter function you can use: +```sh +# don't forget to replace /path/to/mips_to_c with your path +function mipstoc() { + if [ "$#" -gt 1 ]; then + /path/to/mips_to_c/mips_to_c.py $@; + else + printf "Please call mipstoc using this format and make sure you're at the repo root:"; + printf "\nmipstoc \033[0;31marg1 - the nonmatching asm file\033[0m \033[0;34marg2 - the target function\033[0m \033[0;33margN - any of the optional mips_to_c.py flags\033[0m"; + printf "\nmipstoc \033[0;31m./asm/nonmatchings/code_13870_len_6980/func_8003B3D0.s\033[0m \033[0;34mfunc_8003B3D0\033[0m \033[0;33m--flag1 --flag2 --flagN\033[0m\n"; + /path/to/mips_to_c/mips_to_c.py; + fi +} +export -f mipstoc +``` + +Open up the relevant `.c` file and replace the function's `INCLUDE_ASM` macro with the output from mips_to_c. Run the following command to attempt to compile, replacing `function_name` with the name of the function you're working with: + +```sh +./diff.py -mwo function_name +``` + +Fix any errors and rerun `diff.py`. This will involve typing the function signature correctly, which you will probably find in [Star Rod's library database](https://github.com/nanaian/star-rod/blob/master/database/common_func_library.lib). See also [common_structs.h](include/common_structs.h). + +Once a successful build is made, `diff.py` will show you the difference between the original game's assembly (on the left) and what your C code generated (on the right). + +#### Matching the function + +You're on your own now. Get your C code compiling to match the original assembly! `diff.py`, when running, will automatically recompile your code whenever you save the `.c` file. + +If you use Visual Studio Code, you can use _Run Test Task_ to run `diff.py` and show you errors and warnings from the compiler inline. You might want to attach _Run Test Task_ to a keybinding, as you'll be using it often. + +#### After matching + +Once you've matched a function, run the following scripts: + +```sh +$ ./coverage.py --delete-matched +$ ./format.sh +``` + +If `format.sh` has any problems with your code, go and fix the issues. If you can't fix a warning without making the function not match anymore, append `// NOLINT` to the offending line. From 46e8583dac807bb634963f735f0634f4ae7ae312 Mon Sep 17 00:00:00 2001 From: Ethan Roseman Date: Thu, 24 Dec 2020 03:40:01 -0500 Subject: [PATCH 95/97] Update README.md --- README.md | 80 +------------------------------------------------------ 1 file changed, 1 insertion(+), 79 deletions(-) diff --git a/README.md b/README.md index c0437eacfe..03882ee791 100644 --- a/README.md +++ b/README.md @@ -47,85 +47,7 @@ If you get `OK`, you're all set! Otherwise, please feel free to reach out to us You can open [our modified version of Star Rod](https://github.com/nanaian/star-rod-for-decomp) with `make editor`. ## Contributing - -### Dependencies - -There are a few additional dependencies needed when contributing to this project. You can install them with `./install.sh --extra`. - -### WSL - -We provide [windows_terminal.bat](tools/windows_terminal.bat) to open a [Windows Terminal](https://www.microsoft.com/en-us/p/windows-terminal/9n0dx20hk701) with a recommended layout. Make sure a default distro (e.g. `wsl --set-default ubuntu`) is set beforehand. - -### Rebuilding - -If you use Visual Studio Code, you can use _Run Build Task_ (Ctrl+Shift+B) to run `make`. Any errors or warnings generated by the compiler will show up in the _Problems_ tab. - -### Matching a function - -#### Setup - -Once you've created a successful (`OK`) build, copy `build/` to `expected/build/`: - -```sh -$ mkdir -p expected -$ cp -r build expected -``` - -#### Roughly converting assembly to C - -Decide on a function to match. These can be found in the subdirectories of `asm/nonmatchings/`. Currently, functions which use float constants, data sections, or jump tables are unmatchable. - -Take the relevant `.s` file and pass it to [mips_to_c](https://github.com/matt-kempster/mips_to_c) ([web version](https://simonsoftware.se/other/mips_to_c.py)). - -You can also use mips_to_c locally installed to a destination of your choice. Then register a function in `~/.bashrc` that calls `path/to/mips_to_c.py (with args)`: -``` -sudo apt update -sudo apt install python3-pip -sudo git clone https://github.com/matt-kempster/mips_to_c.git path/to/mips_to_c -``` - -Here's a starter function you can use: -```sh -# don't forget to replace /path/to/mips_to_c with your path -function mipstoc() { - if [ "$#" -gt 1 ]; then - /path/to/mips_to_c/mips_to_c.py $@; - else - printf "Please call mipstoc using this format and make sure you're at the repo root:"; - printf "\nmipstoc \033[0;31marg1 - the nonmatching asm file\033[0m \033[0;34marg2 - the target function\033[0m \033[0;33margN - any of the optional mips_to_c.py flags\033[0m"; - printf "\nmipstoc \033[0;31m./asm/nonmatchings/code_13870_len_6980/func_8003B3D0.s\033[0m \033[0;34mfunc_8003B3D0\033[0m \033[0;33m--flag1 --flag2 --flagN\033[0m\n"; - /path/to/mips_to_c/mips_to_c.py; - fi -} -export -f mipstoc -``` - -Open up the relevant `.c` file and replace the function's `INCLUDE_ASM` macro with the output from mips_to_c. Run the following command to attempt to compile, replacing `function_name` with the name of the function you're working with: - -```sh -./diff.py -mwo function_name -``` - -Fix any errors and rerun `diff.py`. This will involve typing the function signature correctly, which you will probably find in [Star Rod's library database](https://github.com/nanaian/star-rod/blob/master/database/common_func_library.lib). See also [common_structs.h](include/common_structs.h). - -Once a successful build is made, `diff.py` will show you the difference between the original game's assembly (on the left) and what your C code generated (on the right). - -#### Matching the function - -You're on your own now. Get your C code compiling to match the original assembly! `diff.py`, when running, will automatically recompile your code whenever you save the `.c` file. - -If you use Visual Studio Code, you can use _Run Test Task_ to run `diff.py` and show you errors and warnings from the compiler inline. You might want to attach _Run Test Task_ to a keybinding, as you'll be using it often. - -#### After matching - -Once you've matched a function, run the following scripts: - -```sh -$ ./coverage.py --delete-matched -$ ./format.sh -``` - -If `format.sh` has any problems with your code, go and fix the issues. If you can't fix a warning without making the function not match anymore, append `// NOLINT` to the offending line. +Please see [CONTRIBUTING.md](CONTRIBUTING.md) for information on how to contribute to the project. Any and all help is welcome! ## Troubleshooting From 94ca7f82c0e50e7c73af8e4bd7e623e7a87142b1 Mon Sep 17 00:00:00 2001 From: Alex Bates <16batesa@gmail.com> Date: Thu, 24 Dec 2020 11:15:05 +0000 Subject: [PATCH 96/97] update script syntax --- .vscode/settings.json | 3 + include/messages.h | 2 +- include/si.h | 22 +-- include/types.h | 4 +- src/world/area_kmr/kmr_03/8C7F90.c | 2 +- src/world/area_kmr/kmr_03/8C8140.c | 294 ++++++++++++++--------------- src/world/area_kmr/kmr_03/8C83A0.c | 30 +-- src/world/area_kmr/kmr_03/8C85E0.c | 148 +++++++-------- src/world/area_kmr/kmr_12/events.c | 166 ++++++++-------- src/world/area_kmr/kmr_12/header.c | 2 +- src/world/area_sbk/sbk_00/929270.c | 52 ++--- src/world/area_sbk/sbk_00/9292B0.c | 12 +- src/world/area_sbk/sbk_01/929A90.c | 62 +++--- src/world/area_sbk/sbk_01/929AD0.c | 4 +- src/world/partner/goombaria.c | 8 +- src/world/partner/goombario.c | 26 +-- src/world/partner/goompa.c | 8 +- src/world/partner/twink.c | 8 +- tools/compile_dsl_macros.py | 47 ++--- tools/disasm_script.py | 94 ++++----- 20 files changed, 501 insertions(+), 493 deletions(-) diff --git a/.vscode/settings.json b/.vscode/settings.json index 35a7f86036..a98801c3c8 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -24,4 +24,7 @@ "python.analysis.extraPaths": [ "./tools" ], + "[c]": { + "editor.wordSeparators": "`~!@#%^&*()-=+[{]}\\|;:'\",.<>/?", // no $, for scripts + }, } diff --git a/include/messages.h b/include/messages.h index f580a18400..c8a8789817 100644 --- a/include/messages.h +++ b/include/messages.h @@ -5,7 +5,7 @@ typedef s32 MessageID; -#define MESSAGE_ID(section, index) ((section << 0x10) + index) +#define MESSAGE_ID(section, index) (((section << 0x10) + index)) #define MessageID_TATTLE_KMR_03 MESSAGE_ID(0x19, 0x3B) #define MessageID_TATTLE_KMR_12 MESSAGE_ID(0x19, 0x40) diff --git a/include/si.h b/include/si.h index 798d5d6b18..9d027e4c78 100644 --- a/include/si.h +++ b/include/si.h @@ -99,17 +99,17 @@ typedef enum ScriptOpcode { ScriptOpcode_DEBUG_PRINT = 0x5B, ///< Args: expression } ScriptOpcode; -#define SI_VAR(v) (v - 30000000) -#define SI_MAP_VAR(v) (v - 50000000) -#define SI_FLAG(v) (v - 70000000) -#define SI_MAP_FLAG(v) (v - 90000000) -#define SI_AREA_FLAG(v) (v - 110000000) -#define SI_SAVE_FLAG(v) (v - 130000000) -#define SI_AREA_VAR(v) (v - 150000000) -#define SI_SAVE_VAR(v) (v - 170000000) -#define SI_ARRAY(v) (v - 190000000) -#define SI_ARRAY_FLAG(v) (v - 210000000) -#define SI_FIXED(v) ((v * 1024.0f) + -230000000) // See float_to_fixed_var +#define SI_VAR(v) ((v - 30000000)) +#define SI_MAP_VAR(v) ((v - 50000000)) +#define SI_FLAG(v) ((v - 70000000)) +#define SI_MAP_FLAG(v) ((v - 90000000)) +#define SI_AREA_FLAG(v) ((v - 110000000)) +#define SI_SAVE_FLAG(v) ((v - 130000000)) +#define SI_AREA_VAR(v) ((v - 150000000)) +#define SI_SAVE_VAR(v) ((v - 170000000)) +#define SI_ARRAY(v) ((v - 190000000)) +#define SI_ARRAY_FLAG(v) ((v - 210000000)) +#define SI_FIXED(v) (((v * 1024.0f) + -230000000)) // See float_to_fixed_var /* Return type of si_execute_next_command */ #define SI_CONTINUE 0 /* Continue to next command */ diff --git a/include/types.h b/include/types.h index 9721241a66..14eb72f78c 100644 --- a/include/types.h +++ b/include/types.h @@ -11,9 +11,9 @@ #define UNK_ARGS typedef s32 FormationID; -#define FORMATION_ID(section, stage, index) ((section << 16) + (stage << 8) + index) +#define FORMATION_ID(section, stage, index) (((section << 16) + (stage << 8) + index)) typedef s32 NpcAnimID; -#define NPC_ANIM(sprite, palette, anim) ((_NPC_SPRITE_##sprite << 16) + (_NPC_PALETTE_##sprite##_##palette << 8) + _NPC_ANIM_##sprite##_##anim) +#define NPC_ANIM(sprite, palette, anim) (((_NPC_SPRITE_##sprite << 16) + (_NPC_PALETTE_##sprite##_##palette << 8) + _NPC_ANIM_##sprite##_##anim)) #endif diff --git a/src/world/area_kmr/kmr_03/8C7F90.c b/src/world/area_kmr/kmr_03/8C7F90.c index 0768f9c117..a24372dea7 100644 --- a/src/world/area_kmr/kmr_03/8C7F90.c +++ b/src/world/area_kmr/kmr_03/8C7F90.c @@ -66,5 +66,5 @@ MapConfig M(config) = { }; Script M(Script_802406C0) = SCRIPT({ - SetMusicTrack(0, 17, 0, 8) + SetMusicTrack(0, 17, 0, 8); }); diff --git a/src/world/area_kmr/kmr_03/8C8140.c b/src/world/area_kmr/kmr_03/8C8140.c index e7b2158b10..4907dd8956 100644 --- a/src/world/area_kmr/kmr_03/8C8140.c +++ b/src/world/area_kmr/kmr_03/8C8140.c @@ -20,32 +20,32 @@ Script M(ExitWalk_802406F0) = EXIT_WALK_SCRIPT(60, 0, "kmr_04", 0); Script M(ExitWalk_8024074C) = EXIT_WALK_SCRIPT(60, 1, "kmr_05", 0); Script M(Script_802407A8) = SCRIPT({ - bind M(ExitWalk_802406F0) to 0x80000 3 - bind M(ExitWalk_8024074C) to 0x80000 5 + bind M(ExitWalk_802406F0) to 0x80000 3; + bind M(ExitWalk_8024074C) to 0x80000 5; }); Script M(Main) = SCRIPT({ - SI_SAVE_VAR(425) = 30 - SetSpriteShading(-1) - SetCamPerspective(0, 3, 25, 16, 4096) - SetCamBGColor(0, 0, 0, 0) - SetCamEnabled(0, 1) - SetCamLeadPlayer(0, 0) - SI_AREA_FLAG(8) = 0 - MakeNpcs(0, M(npcGroupList_80241450)) - ClearDefeatedEnemies() - await M(MakeEntities) - await M(Script_802422B8) - spawn M(Script_802406C0) - GetEntryID(SI_VAR(0)) - if SI_VAR(0) != 2 { - SI_VAR(0) = M(Script_802407A8) - spawn EnterWalk + SI_SAVE_VAR(425) = 30; + SetSpriteShading(-1); + SetCamPerspective(0, 3, 25, 16, 4096); + SetCamBGColor(0, 0, 0, 0); + SetCamEnabled(0, 1); + SetCamLeadPlayer(0, 0); + SI_AREA_FLAG(8) = 0; + MakeNpcs(0, M(npcGroupList_80241450)); + ClearDefeatedEnemies(); + await M(MakeEntities); + await M(Script_802422B8); + spawn M(Script_802406C0); + GetEntryID(SI_VAR(0)); + if (SI_VAR(0) != 2) { + SI_VAR(0) = M(Script_802407A8); + spawn EnterWalk; } else { - spawn M(Script_802407A8) - spawn M(Script_80242340) + spawn M(Script_802407A8); + spawn M(Script_80242340); } - sleep 1 + sleep 1; }); s32 padding[] = {0, 0}; @@ -58,31 +58,31 @@ s32 M(npcSettings_80240950)[] = { Script M(Script_8024097C) = SCRIPT({ 1: - if SI_AREA_FLAG(8) == 1 { + if (SI_AREA_FLAG(8) == 1) { 100: - AwaitPlayerLeave(294, 123, 170) - EnableNpcAI(0, 0) - DisablePlayerInput(1) - SetNpcSpeed(0, 4.0) - SetNpcAnimation(0, 0x9D0003) - func_802401B0_8C8140() - GetAngleToPlayer(0, SI_VAR(2)) + AwaitPlayerLeave(294, 123, 170); + EnableNpcAI(0, 0); + DisablePlayerInput(1); + SetNpcSpeed(0, 4.0); + SetNpcAnimation(0, 0x9D0003); + func_802401B0_8C8140(); + GetAngleToPlayer(0, SI_VAR(2)); loop SI_VAR(1) { - GetNpcPos(0, SI_VAR(7), SI_VAR(8), SI_VAR(9)) - AddVectorPolar(SI_VAR(7), SI_VAR(9), 4.0, SI_VAR(2)) - SetNpcPos(0, SI_VAR(7), SI_VAR(8), SI_VAR(9)) - sleep 1 + GetNpcPos(0, SI_VAR(7), SI_VAR(8), SI_VAR(9)); + AddVectorPolar(SI_VAR(7), SI_VAR(9), 4.0, SI_VAR(2)); + SetNpcPos(0, SI_VAR(7), SI_VAR(8), SI_VAR(9)); + sleep 1; } - PlayerFaceNpc(0, 3) - SetPlayerSpeed(3.0) - PlayerMoveTo(243, 243, 0) - SetNpcVar(0, 0, 1) - EnableNpcAI(0, 1) - DisablePlayerInput(0) - goto 100 + PlayerFaceNpc(0, 3); + SetPlayerSpeed(3.0); + PlayerMoveTo(243, 243, 0); + SetNpcVar(0, 0, 1); + EnableNpcAI(0, 1); + DisablePlayerInput(0); + goto 100; } - sleep 1 - goto 1 + sleep 1; + goto 1; }); Script M(NpcAI_80240B50) = SCRIPT({ @@ -90,107 +90,107 @@ Script M(NpcAI_80240B50) = SCRIPT({ match SI_SAVE_VAR(0) { == 0xFFFFFF86 { 89: - UnkPositionFunc(0xFFFFFF8A, 86, 0xFFFFFFBA, 0xFFFFFFF1) - sleep 1 - if SI_VAR(0) == 0 { - goto 89 + UnkPositionFunc(0xFFFFFF8A, 86, 0xFFFFFFBA, 0xFFFFFFF1); + sleep 1; + if (SI_VAR(0) == 0) { + goto 89; } - DisablePlayerInput(1) - SetNpcAux(0, 0) - PlaySoundAtNpc(0, 610, 0) - ShowEmote(0, 0, 45, 15, 1, 0, 0, 0, 0) - sleep 15 - NpcFacePlayer(-1, 5) - sleep 10 - SpeakToPlayer(0, 0x9D0008, 0x9D0001, 0, 0xB00A6) - UseSettingsFrom(0, 0xFFFFFF24, 20, 0xFFFFFFB8) - SetPanTarget(0, 0xFFFFFFEC, 0, 68) - SetCamPitch(0, 15.0, -8.5) - SetCamDistance(0, 275) - SetCamSpeed(0, 1.5) - PanToTarget(0, 0, 1) + DisablePlayerInput(1); + SetNpcAux(0, 0); + PlaySoundAtNpc(0, 610, 0); + ShowEmote(0, 0, 45, 15, 1, 0, 0, 0, 0); + sleep 15; + NpcFacePlayer(-1, 5); + sleep 10; + SpeakToPlayer(0, 0x9D0008, 0x9D0001, 0, 0xB00A6); + UseSettingsFrom(0, 0xFFFFFF24, 20, 0xFFFFFFB8); + SetPanTarget(0, 0xFFFFFFEC, 0, 68); + SetCamPitch(0, 15.0, -8.5); + SetCamDistance(0, 275); + SetCamSpeed(0, 1.5); + PanToTarget(0, 0, 1); spawn { - sleep 20 - SetPlayerSpeed(2.0) - PlayerMoveTo(0xFFFFFFDA, 68, 0) + sleep 20; + SetPlayerSpeed(2.0); + PlayerMoveTo(0xFFFFFFDA, 68, 0); } - GetNpcPos(0, SI_VAR(7), SI_VAR(8), SI_VAR(9)) - SetNpcSpeed(0, 4.0) - SetNpcAnimation(0, 0x9D0003) - NpcMoveTo(0, 0, 70, 0) - SetNpcAnimation(0, 0x9D0001) - InterpNpcYaw(0, 276, 20) - sleep 30 - SpeakToPlayer(0, 0x9D0008, 0x9D0001, 0, 0xB00A7) - sleep 5 - SetPlayerAnimation(0x80007) - sleep 30 - SpeakToPlayer(0, 0x9D0008, 0x9D0001, 0, 0xB00A8) - func_80240000_8C7F90(0, 5) - SI_SAVE_VAR(0) = 0xFFFFFF87 - UseSettingsFrom(0, 0xFFFFFF24, 20, 0xFFFFFFB8) - GetPlayerPos(SI_VAR(0), SI_VAR(1), SI_VAR(2)) - SetPanTarget(0, SI_VAR(0), SI_VAR(1), SI_VAR(2)) - SetCamSpeed(0, 3.0) - PanToTarget(0, 0, 1) - WaitForCam(0, 1.0) - PanToTarget(0, 0, 0) - EnablePartnerAI() - DisablePlayerInput(0) - sleep 1 + GetNpcPos(0, SI_VAR(7), SI_VAR(8), SI_VAR(9)); + SetNpcSpeed(0, 4.0); + SetNpcAnimation(0, 0x9D0003); + NpcMoveTo(0, 0, 70, 0); + SetNpcAnimation(0, 0x9D0001); + InterpNpcYaw(0, 276, 20); + sleep 30; + SpeakToPlayer(0, 0x9D0008, 0x9D0001, 0, 0xB00A7); + sleep 5; + SetPlayerAnimation(0x80007); + sleep 30; + SpeakToPlayer(0, 0x9D0008, 0x9D0001, 0, 0xB00A8); + func_80240000_8C7F90(0, 5); + SI_SAVE_VAR(0) = 0xFFFFFF87; + UseSettingsFrom(0, 0xFFFFFF24, 20, 0xFFFFFFB8); + GetPlayerPos(SI_VAR(0), SI_VAR(1), SI_VAR(2)); + SetPanTarget(0, SI_VAR(0), SI_VAR(1), SI_VAR(2)); + SetCamSpeed(0, 3.0); + PanToTarget(0, 0, 1); + WaitForCam(0, 1.0); + PanToTarget(0, 0, 0); + EnablePartnerAI(); + DisablePlayerInput(0); + sleep 1; } } }); Script M(Hit_80240F64) = SCRIPT({ - SetNpcAnimation(-1, 0x9D0007) - sleep 10 - SetNpcAnimation(-1, 0x9D0001) - SI_MAP_VAR(0) += 1 - if SI_MAP_VAR(0) < 3 { - GetOwnerEncounterTrigger(SI_VAR(0)) + SetNpcAnimation(-1, 0x9D0007); + sleep 10; + SetNpcAnimation(-1, 0x9D0001); + SI_MAP_VAR(0) += 1; + if (SI_MAP_VAR(0) < 3) { + GetOwnerEncounterTrigger(SI_VAR(0)); match SI_VAR(0) { == 2 { - SetNpcVar(0, 0, 1) - if SI_AREA_FLAG(6) == 1 { + SetNpcVar(0, 0, 1); + if (SI_AREA_FLAG(6) == 1) { } else { - SI_AREA_FLAG(6) = 1 - SI_AREA_FLAG(7) = 0 + SI_AREA_FLAG(6) = 1; + SI_AREA_FLAG(7) = 0; } } == 4 { - SetNpcVar(0, 0, 1) - if SI_AREA_FLAG(7) == 1 { + SetNpcVar(0, 0, 1); + if (SI_AREA_FLAG(7) == 1) { } else { - SI_AREA_FLAG(6) = 0 - SI_AREA_FLAG(7) = 1 + SI_AREA_FLAG(6) = 0; + SI_AREA_FLAG(7) = 1; } } } - sleep 10 - SetNpcAnimation(-1, 0x9D0003) + sleep 10; + SetNpcAnimation(-1, 0x9D0003); } else { - sleep 10 - GetNpcPos(0, SI_VAR(0), SI_VAR(1), SI_VAR(2)) - SetNpcPos(0xFFFFFFFC, SI_VAR(0), SI_VAR(1), SI_VAR(2)) - SetNpcFlagBits(0xFFFFFFFC, 512, 1) - SetNpcPos(0, 0, 0xFFFFFC18, 0) - SetNpcFlagBits(0, 256, 0) - EnablePartnerAI() - SetNpcAux(-1, M(Script_8024097C)) - BindNpcAI(-1, M(NpcAI_80240B50)) + sleep 10; + GetNpcPos(0, SI_VAR(0), SI_VAR(1), SI_VAR(2)); + SetNpcPos(0xFFFFFFFC, SI_VAR(0), SI_VAR(1), SI_VAR(2)); + SetNpcFlagBits(0xFFFFFFFC, 512, 1); + SetNpcPos(0, 0, 0xFFFFFC18, 0); + SetNpcFlagBits(0, 256, 0); + EnablePartnerAI(); + SetNpcAux(-1, M(Script_8024097C)); + BindNpcAI(-1, M(NpcAI_80240B50)); } }); Script M(Init_802411A8) = SCRIPT({ - BindNpcIdle(-1, M(NpcAI_80240B50)) - BindNpcAux(-1, M(Script_8024097C)) - BindNpcHit(-1, M(Hit_80240F64)) + BindNpcIdle(-1, M(NpcAI_80240B50)); + BindNpcAux(-1, M(Script_8024097C)); + BindNpcHit(-1, M(Hit_80240F64)); match SI_SAVE_VAR(0) { >= 0xFFFFFF87 { - SetNpcFlagBits(-1, 512, 0) - SetNpcFlagBits(-1, 8, 1) - SetNpcPos(-1, 0, 0xFFFFFC18, 0) + SetNpcFlagBits(-1, 512, 0); + SetNpcFlagBits(-1, 8, 1); + SetNpcPos(-1, 0, 0xFFFFFC18, 0); } } }); @@ -221,47 +221,47 @@ s32 M(npcGroupList_80241450)[] = { s32 padding2[] = {0, 0}; Script M(Script_80241470) = SCRIPT({ - ModifyColliderFlags(0, 9, 0x7FFFFE00) - SI_SAVE_VAR(0) = 0xFFFFFF8B + ModifyColliderFlags(0, 9, 0x7FFFFE00); + SI_SAVE_VAR(0) = 0xFFFFFF8B; }); Script M(Script_802414A8) = SCRIPT({ - SI_SAVE_FLAG(54) = 1 + SI_SAVE_FLAG(54) = 1; }); Script M(Script_802414C8) = SCRIPT({ 0: - GetPlayerPos(SI_VAR(0), SI_VAR(1), SI_VAR(2)) - SetCamTarget(0, SI_VAR(0), SI_VAR(1), SI_VAR(2)) - sleep 1 - goto 0 + GetPlayerPos(SI_VAR(0), SI_VAR(1), SI_VAR(2)); + SetCamTarget(0, SI_VAR(0), SI_VAR(1), SI_VAR(2)); + sleep 1; + goto 0; }); Script M(MakeEntities) = SCRIPT({ - if SI_SAVE_VAR(0) < 0xFFFFFF8B { - MakeEntity(0x802EA10C, 45, 0, 70, 15, 0x80000000) - AssignScript(M(Script_80241470)) + if (SI_SAVE_VAR(0) < 0xFFFFFF8B) { + MakeEntity(0x802EA10C, 45, 0, 70, 15, 0x80000000); + AssignScript(M(Script_80241470)); } else { - ModifyColliderFlags(0, 9, 0x7FFFFE00) + ModifyColliderFlags(0, 9, 0x7FFFFE00); } - if SI_SAVE_FLAG(54) == 0 { - MakeEntity(0x802EA19C, 230, 0, 310, 15, 0x80000000) - AssignScript(M(Script_802414A8)) + if (SI_SAVE_FLAG(54) == 0) { + MakeEntity(0x802EA19C, 230, 0, 310, 15, 0x80000000); + AssignScript(M(Script_802414A8)); } - MakeEntity(0x802EA588, 230, 60, 310, 15, 151, 0x80000000) - AssignBlockFlag(SI_SAVE_FLAG(52)) - MakeEntity(0x802EA0C4, 230, 50, 0xFFFFFF60, 15, 0x80000000) - MakeEntity(0x802EA0C4, 165, 0, 380, 20, 0x80000000) - MakeEntity(0x802EA564, 0xFFFFFF56, 0, 370, 43, 343, 0x80000000) - AssignBlockFlag(SI_SAVE_FLAG(50)) - MakeEntity(0x802EAA54, 345, 75, 0xFFFFFF06, 0, 100, 0x80000000) - MakeItemEntity(343, 345, 205, 0xFFFFFF06, 17, SI_SAVE_FLAG(56)) - MakeItemEntity(343, 345, 230, 0xFFFFFF06, 17, SI_SAVE_FLAG(57)) - MakeItemEntity(343, 345, 255, 0xFFFFFF06, 17, SI_SAVE_FLAG(58)) - MakeItemEntity(343, 345, 280, 0xFFFFFF06, 17, SI_SAVE_FLAG(59)) - MakeItemEntity(128, 229, 250, 0xFFFFFF64, 17, SI_SAVE_FLAG(49)) - MakeEntity(0x802EAB04, 300, 0, 150, 0, 18, 0x80000000) - AssignPanelFlag(SI_SAVE_FLAG(88)) - MakeEntity(0x802EA7E0, 130, 60, 0, 0, 0x80000000) + MakeEntity(0x802EA588, 230, 60, 310, 15, 151, 0x80000000); + AssignBlockFlag(SI_SAVE_FLAG(52)); + MakeEntity(0x802EA0C4, 230, 50, 0xFFFFFF60, 15, 0x80000000); + MakeEntity(0x802EA0C4, 165, 0, 380, 20, 0x80000000); + MakeEntity(0x802EA564, 0xFFFFFF56, 0, 370, 43, 343, 0x80000000); + AssignBlockFlag(SI_SAVE_FLAG(50)); + MakeEntity(0x802EAA54, 345, 75, 0xFFFFFF06, 0, 100, 0x80000000); + MakeItemEntity(343, 345, 205, 0xFFFFFF06, 17, SI_SAVE_FLAG(56)); + MakeItemEntity(343, 345, 230, 0xFFFFFF06, 17, SI_SAVE_FLAG(57)); + MakeItemEntity(343, 345, 255, 0xFFFFFF06, 17, SI_SAVE_FLAG(58)); + MakeItemEntity(343, 345, 280, 0xFFFFFF06, 17, SI_SAVE_FLAG(59)); + MakeItemEntity(128, 229, 250, 0xFFFFFF64, 17, SI_SAVE_FLAG(49)); + MakeEntity(0x802EAB04, 300, 0, 150, 0, 18, 0x80000000); + AssignPanelFlag(SI_SAVE_FLAG(88)); + MakeEntity(0x802EA7E0, 130, 60, 0, 0, 0x80000000); }); diff --git a/src/world/area_kmr/kmr_03/8C83A0.c b/src/world/area_kmr/kmr_03/8C83A0.c index 1e2f655be9..a6264a57af 100644 --- a/src/world/area_kmr/kmr_03/8C83A0.c +++ b/src/world/area_kmr/kmr_03/8C83A0.c @@ -204,20 +204,20 @@ s32 M(treeEffectVectors_Tree1)[] = { }; Script M(Tree1_Callback) = SCRIPT({ - if SI_SAVE_FLAG(53) == 1 { - return + if (SI_SAVE_FLAG(53) == 1) { + return; } - if SI_MAP_FLAG(10) == 1 { - return + if (SI_MAP_FLAG(10) == 1) { + return; } - sleep 10 - GetPlayerPos(SI_VAR(0), SI_VAR(1), SI_VAR(2)) - if SI_VAR(0) < 0xFFFFFFE2 { - MakeItemEntity(138, 0xFFFFFFE9, 100, 35, 13, SI_SAVE_FLAG(53)) + sleep 10; + GetPlayerPos(SI_VAR(0), SI_VAR(1), SI_VAR(2)); + if (SI_VAR(0) < 0xFFFFFFE2) { + MakeItemEntity(138, 0xFFFFFFE9, 100, 35, 13, SI_SAVE_FLAG(53)); } else { - MakeItemEntity(138, 0xFFFFFFAB, 100, 16, 13, SI_SAVE_FLAG(53)) + MakeItemEntity(138, 0xFFFFFFAB, 100, 16, 13, SI_SAVE_FLAG(53)); } - SI_MAP_FLAG(10) = 1 + SI_MAP_FLAG(10) = 1; }); s32 M(shakeTreeEvent_Tree1)[] = { @@ -229,10 +229,10 @@ s32 M(triggerCoord_802422A8)[] = { }; Script M(Script_802422B8) = SCRIPT({ - SI_VAR(0) = M(searchBushEvent_Bush1) - bind M(SearchBush_802417F0) to TriggerFlag_WALL_INTERACT 53 - SI_VAR(0) = M(shakeTreeEvent_Tree1) - bind M(ShakeTree_80241B50) to TriggerFlag_WALL_HAMMER 52 - bind M(ShakeTree_80241B50) to TriggerFlag_BOMB M(triggerCoord_802422A8) + SI_VAR(0) = M(searchBushEvent_Bush1); + bind M(SearchBush_802417F0) to TriggerFlag_WALL_INTERACT 53; + SI_VAR(0) = M(shakeTreeEvent_Tree1); + bind M(ShakeTree_80241B50) to TriggerFlag_WALL_HAMMER 52; + bind M(ShakeTree_80241B50) to TriggerFlag_BOMB M(triggerCoord_802422A8); }); diff --git a/src/world/area_kmr/kmr_03/8C85E0.c b/src/world/area_kmr/kmr_03/8C85E0.c index 891b9090f3..0536fe53f9 100644 --- a/src/world/area_kmr/kmr_03/8C85E0.c +++ b/src/world/area_kmr/kmr_03/8C85E0.c @@ -1,86 +1,86 @@ #include "kmr_03.h" Script M(Script_80242340) = SCRIPT({ - UseSettingsFrom(0, 0xFFFFFEF2, 20, 0xFFFFFFB0) - SetPanTarget(0, 0xFFFFFEF2, 20, 0xFFFFFFB0) - SetCamDistance(0, 700.0) - SetCamSpeed(0, 90.0) - PanToTarget(0, 0, 1) - if SI_SAVE_VAR(0) >= 0xFFFFFF89 { - SetPlayerPos(0, 0xFFFFFC18, 0) - DisablePlayerInput(1) - SetPlayerPos(0xFFFFFF20, 20, 0xFFFFFFB0) - SetNpcPos(0xFFFFFFFC, 0xFFFFFF20, 20, 0xFFFFFFB0) - sleep 20 - SetCamSpeed(0, 3.0) - GetPlayerPos(SI_VAR(0), SI_VAR(1), SI_VAR(2)) - UseSettingsFrom(0, SI_VAR(0), SI_VAR(1), SI_VAR(2)) - SetPanTarget(0, SI_VAR(0), SI_VAR(1), SI_VAR(2)) - PanToTarget(0, 0, 1) - WaitForCam(0, 1.0) - PanToTarget(0, 0, 0) - DisablePlayerInput(0) - return + UseSettingsFrom(0, 0xFFFFFEF2, 20, 0xFFFFFFB0); + SetPanTarget(0, 0xFFFFFEF2, 20, 0xFFFFFFB0); + SetCamDistance(0, 700.0); + SetCamSpeed(0, 90.0); + PanToTarget(0, 0, 1); + if (SI_SAVE_VAR(0) >= 0xFFFFFF89) { + SetPlayerPos(0, 0xFFFFFC18, 0); + DisablePlayerInput(1); + SetPlayerPos(0xFFFFFF20, 20, 0xFFFFFFB0); + SetNpcPos(0xFFFFFFFC, 0xFFFFFF20, 20, 0xFFFFFFB0); + sleep 20; + SetCamSpeed(0, 3.0); + GetPlayerPos(SI_VAR(0), SI_VAR(1), SI_VAR(2)); + UseSettingsFrom(0, SI_VAR(0), SI_VAR(1), SI_VAR(2)); + SetPanTarget(0, SI_VAR(0), SI_VAR(1), SI_VAR(2)); + PanToTarget(0, 0, 1); + WaitForCam(0, 1.0); + PanToTarget(0, 0, 0); + DisablePlayerInput(0); + return; } - DisablePlayerInput(1) - DisablePlayerPhysics(1) - GetPlayerPos(SI_VAR(0), SI_VAR(1), SI_VAR(2)) - SetPlayerPos(SI_VAR(0), 0xFFFFFC18, SI_VAR(2)) - sleep 30 - SetCamDistance(0, 220) - SetCamSpeed(0, 1.0) - PanToTarget(0, 0, 1) - WaitForCam(0, 1.0) + DisablePlayerInput(1); + DisablePlayerPhysics(1); + GetPlayerPos(SI_VAR(0), SI_VAR(1), SI_VAR(2)); + SetPlayerPos(SI_VAR(0), 0xFFFFFC18, SI_VAR(2)); + sleep 30; + SetCamDistance(0, 220); + SetCamSpeed(0, 1.0); + PanToTarget(0, 0, 1); + WaitForCam(0, 1.0); spawn { - sleep 18 - PlaySoundAtPlayer(373, 0) - sleep 30 - PlaySoundAtPlayer(374, 0) - sleep 28 - PlaySoundAtPlayer(373, 0) + sleep 18; + PlaySoundAtPlayer(373, 0); + sleep 30; + PlaySoundAtPlayer(374, 0); + sleep 28; + PlaySoundAtPlayer(373, 0); } - HidePlayerShadow(1) - SetPlayerAnimation(0x10002) - SetPlayerPos(0xFFFFFF20, 120, 0xFFFFFFB0) - InterpPlayerYaw(90, 0) -0: - sleep 1 - GetPlayerPos(SI_VAR(0), SI_VAR(1), SI_VAR(2)) - SI_VAR(1) += 0xFFFFFFFE - SetPlayerPos(SI_VAR(0), SI_VAR(1), SI_VAR(2)) - if SI_VAR(1) > 86 { - goto 0 + HidePlayerShadow(1); + SetPlayerAnimation(0x10002); + SetPlayerPos(0xFFFFFF20, 120, 0xFFFFFFB0); + InterpPlayerYaw(90, 0); +0: // TODO: this is a do..while + sleep 1; + GetPlayerPos(SI_VAR(0), SI_VAR(1), SI_VAR(2)); + SI_VAR(1) += 0xFFFFFFFE; + SetPlayerPos(SI_VAR(0), SI_VAR(1), SI_VAR(2)); + if (SI_VAR(1) > 86) { + goto 0; } - SetPlayerPos(0xFFFFFECA, 20, 0xFFFFFFB0) + SetPlayerPos(0xFFFFFECA, 20, 0xFFFFFFB0); spawn { - sleep 20 - SetPanTarget(0, 0xFFFFFECA, 20, 0xFFFFFFB0) - SetCamSpeed(0, 0.2001953125) - PanToTarget(0, 0, 1) + sleep 20; + SetPanTarget(0, 0xFFFFFECA, 20, 0xFFFFFFB0); + SetCamSpeed(0, 0.2001953125); + PanToTarget(0, 0, 1); } - 0x802D286C(0x2800) - 0x802D2520(0x10002, 5, 5, 1, 1, 0) - sleep 100 - WaitForCam(0, 1.0) - 0x802D2520(0x10002, 0, 0, 0, 0, 0) - HidePlayerShadow(0) - SetPlayerAnimation(0x10006) - sleep 10 - SetPlayerAnimation(0x10007) - GetPlayerPos(SI_VAR(0), SI_VAR(1), SI_VAR(2)) - SetPlayerJumpscale(1.0) - PlayerJump(SI_VAR(0), SI_VAR(1), SI_VAR(2), 10) - SetPlayerAnimation(0x10002) + 0x802D286C(0x2800); + 0x802D2520(0x10002, 5, 5, 1, 1, 0); + sleep 100; + WaitForCam(0, 1.0); + 0x802D2520(0x10002, 0, 0, 0, 0, 0); + HidePlayerShadow(0); + SetPlayerAnimation(0x10006); + sleep 10; + SetPlayerAnimation(0x10007); + GetPlayerPos(SI_VAR(0), SI_VAR(1), SI_VAR(2)); + SetPlayerJumpscale(1.0); + PlayerJump(SI_VAR(0), SI_VAR(1), SI_VAR(2), 10); + SetPlayerAnimation(0x10002); spawn { - SetCamSpeed(0, 3.0) - GetPlayerPos(SI_VAR(0), SI_VAR(1), SI_VAR(2)) - UseSettingsFrom(0, SI_VAR(0), SI_VAR(1), SI_VAR(2)) - SetPanTarget(0, SI_VAR(0), SI_VAR(1), SI_VAR(2)) - PanToTarget(0, 0, 1) - WaitForCam(0, 1.0) - PanToTarget(0, 0, 0) + SetCamSpeed(0, 3.0); + GetPlayerPos(SI_VAR(0), SI_VAR(1), SI_VAR(2)); + UseSettingsFrom(0, SI_VAR(0), SI_VAR(1), SI_VAR(2)); + SetPanTarget(0, SI_VAR(0), SI_VAR(1), SI_VAR(2)); + PanToTarget(0, 0, 1); + WaitForCam(0, 1.0); + PanToTarget(0, 0, 0); } - sleep 30 - DisablePlayerPhysics(0) - DisablePlayerInput(0) + sleep 30; + DisablePlayerPhysics(0); + DisablePlayerInput(0); }); diff --git a/src/world/area_kmr/kmr_12/events.c b/src/world/area_kmr/kmr_12/events.c index 1ccb7d31e2..e9c2797e7b 100644 --- a/src/world/area_kmr/kmr_12/events.c +++ b/src/world/area_kmr/kmr_12/events.c @@ -5,23 +5,23 @@ Script M(ExitWest) = EXIT_WALK_SCRIPT(60, 0, "kmr_07", 1); Script M(ExitEast) = EXIT_WALK_SCRIPT(60, 1, "kmr_11", 0); Script M(BindExits) = SCRIPT({ - bind M(ExitWest) to TriggerFlag_FLOOR_ABOVE 0 // deili1 - bind M(ExitEast) to TriggerFlag_FLOOR_ABOVE 3 // deili2 + bind M(ExitWest) to TriggerFlag_FLOOR_ABOVE 0; // deili1 + bind M(ExitEast) to TriggerFlag_FLOOR_ABOVE 3; // deili2 }); Script M(Main) = SCRIPT({ - SI_SAVE_VAR(425) = 31 - SetSpriteShading(-1) - SetCamPerspective(0, 3, 25, 16, 4096) - SetCamBGColor(0, 0, 0, 0) - SetCamEnabled(0, 1) - MakeNpcs(0, M(npcGroupList)) - await M(MakeEntities) - spawn M(PlayMusic) - SI_VAR(0) = M(BindExits) - spawn EnterWalk - sleep 1 - bind M(ReadWestSign) to TriggerFlag_WALL_INTERACT 10 + SI_SAVE_VAR(425) = 31; + SetSpriteShading(-1); + SetCamPerspective(0, 3, 25, 16, 4096); + SetCamBGColor(0, 0, 0, 0); + SetCamEnabled(0, 1); + MakeNpcs(0, M(npcGroupList)); + await M(MakeEntities); + spawn M(PlayMusic); + SI_VAR(0) = M(BindExits); + spawn EnterWalk; + sleep 1; + bind M(ReadWestSign) to TriggerFlag_WALL_INTERACT 10; }); NpcAISettings M(goombaAISettings) = { @@ -40,7 +40,7 @@ NpcAISettings M(goombaAISettings) = { }; Script M(GoombaAI) = SCRIPT({ - DoBasicAI(M(goombaAISettings)) + DoBasicAI(M(goombaAISettings)); }); NpcSettings M(goombaNpcSettings) = { @@ -54,90 +54,90 @@ NpcSettings M(goombaNpcSettings) = { /// @bug Never returns Script M(ReadWestSign) = SCRIPT({ - group 0 + group 0; // "Eat a Mushroom to regain your energy!" - suspend group 1 - DisablePlayerInput(TRUE) - ShowMessageAtScreenPos(MessageID_SIGN_MUSHROOM_GOOMBA_TRAP, 160, 40) - resume group 1 + suspend group 1; + DisablePlayerInput(TRUE); + ShowMessageAtScreenPos(MessageID_SIGN_MUSHROOM_GOOMBA_TRAP, 160, 40); + resume group 1; - SI_FLAG(0) = FALSE - GetGoomba() - if SI_VAR(0) != FALSE { - GetNpcVar(NpcId_GOOMBA, 0, SI_VAR(0)) - if SI_VAR(0) == FALSE { + SI_FLAG(0) = FALSE; + GetGoomba(); + if (SI_VAR(0) != FALSE) { + GetNpcVar(NpcId_GOOMBA, 0, SI_VAR(0)); + if (SI_VAR(0) == FALSE) { // Trigger Goomba to peel off - SetNpcVar(NpcId_GOOMBA, 0, TRUE) - SI_FLAG(0) = TRUE - sleep 10 + SetNpcVar(NpcId_GOOMBA, 0, TRUE); + SI_FLAG(0) = TRUE; + sleep 10; } } - DisablePlayerInput(FALSE) - if SI_FLAG(0) == TRUE { - unbind + DisablePlayerInput(FALSE); + if (SI_FLAG(0) == TRUE) { + unbind; } - break - return + break; + return; }); Script M(GoombaIdle) = SCRIPT({ - sleep 1 + sleep 1; - SetSelfVar(0, FALSE) - SetNpcAnimation(NpcId_SELF, NPC_ANIM(goomba, normal, fake_mushroom)) // TODO: work out why palette 0 is used here - EnableNpcShadow(NpcId_SELF, FALSE) - SetSelfEnemyFlagBits(0x00000020, TRUE) + SetSelfVar(0, FALSE); + SetNpcAnimation(NpcId_SELF, NPC_ANIM(goomba, normal, fake_mushroom)); // TODO: work out why palette 0 is used here + EnableNpcShadow(NpcId_SELF, FALSE); + SetSelfEnemyFlagBits(0x00000020, TRUE); // Wait until read_sign sets NPC var 0 loop { - GetSelfVar(0, SI_VAR(0)) - sleep 1 - } until SI_VAR(0) == FALSE + GetSelfVar(0, SI_VAR(0)); + sleep 1; + } until (SI_VAR(0) == FALSE) // Peel and jump off the sign - SetNpcFlagBits(NpcId_SELF, 0x00240000, TRUE) - sleep 3 - SI_VAR(0) = 0.0 + SetNpcFlagBits(NpcId_SELF, 0x00240000, TRUE); + sleep 3; + SI_VAR(0) = 0.0; loop 9 { - SI_VAR(0) += 10.0 - SetNpcRotation(NpcId_SELF, 0, SI_VAR(0), 0) - sleep 1 + SI_VAR(0) += 10.0; + SetNpcRotation(NpcId_SELF, 0, SI_VAR(0), 0); + sleep 1; } - SetNpcAnimation(NpcId_SELF, NPC_ANIM(goomba, normal, still)) + SetNpcAnimation(NpcId_SELF, NPC_ANIM(goomba, normal, still)); loop 9 { - SI_VAR(0) += 10.0 - SetNpcRotation(NpcId_SELF, 0, SI_VAR(0), 0) - sleep 1 + SI_VAR(0) += 10.0; + SetNpcRotation(NpcId_SELF, 0, SI_VAR(0), 0); + sleep 1; } - SetNpcAnimation(NpcId_SELF, NPC_ANIM(goomba, normal, dizzy)) - sleep 20 - SetNpcAnimation(NpcId_SELF, NPC_ANIM(goomba, normal, idle)) - PlaySoundAtNpc(NpcId_SELF, 248, 0) - func_802CFE2C(NpcId_SELF, 8192) - func_802CFD30(NpcId_SELF, 5, 6, 1, 1, 0) - sleep 12 - sleep 5 - PlaySoundAtNpc(NpcId_SELF, 812, 0) - EnableNpcShadow(NpcId_SELF, TRUE) - SetNpcJumpscale(NpcId_SELF, 0.6005859375) - NpcJump0(NpcId_SELF, -35, 0, 30, 23) - func_802CFD30(NpcId_SELF, 0, 0, 0, 0, 0) - InterpNpcYaw(NpcId_SELF, 90, 0) - SetNpcFlagBits(NpcId_SELF, 0x00240000, FALSE) - SetSelfEnemyFlagBits(0x00000020, FALSE) - SetSelfEnemyFlagBits(0x40000000, TRUE) + SetNpcAnimation(NpcId_SELF, NPC_ANIM(goomba, normal, dizzy)); + sleep 20; + SetNpcAnimation(NpcId_SELF, NPC_ANIM(goomba, normal, idle)); + PlaySoundAtNpc(NpcId_SELF, 248, 0); + func_802CFE2C(NpcId_SELF, 8192); + func_802CFD30(NpcId_SELF, 5, 6, 1, 1, 0); + sleep 12; + sleep 5; + PlaySoundAtNpc(NpcId_SELF, 812, 0); + EnableNpcShadow(NpcId_SELF, TRUE); + SetNpcJumpscale(NpcId_SELF, 0.6005859375); + NpcJump0(NpcId_SELF, -35, 0, 30, 23); + func_802CFD30(NpcId_SELF, 0, 0, 0, 0, 0); + InterpNpcYaw(NpcId_SELF, 90, 0); + SetNpcFlagBits(NpcId_SELF, 0x00240000, FALSE); + SetSelfEnemyFlagBits(0x00000020, FALSE); + SetSelfEnemyFlagBits(0x40000000, TRUE); // We're done jumping off; the player can read the sign again - bind M(ReadWestSign) to TriggerFlag_WALL_INTERACT 10 + bind M(ReadWestSign) to TriggerFlag_WALL_INTERACT 10; - // Behave like a normal enemy from now o - BindNpcAI(NpcId_SELF, M(GoombaAI)) + // Behave like a normal enemy from now on + BindNpcAI(NpcId_SELF, M(GoombaAI)); }); Script M(GoombaInit) = SCRIPT({ - BindNpcIdle(NpcId_SELF, M(GoombaIdle)) + BindNpcIdle(NpcId_SELF, M(GoombaIdle)); }); StaticNpc M(goombaNpc) = { @@ -192,21 +192,21 @@ NpcGroupList M(npcGroupList) = { }; Script M(ReadEastSign) = SCRIPT({ - func_800441F0($a) - if $a == 1 { - return + func_800441F0($a); + if ($a == 1) { + return; } - group 0 + group 0; - func_802D5830(1) - DisablePlayerInput(1) - ShowMessageAtScreenPos(MessageID_SIGN_GOOMBA_KINGS_FORTRESS_AHEAD, 160, 40) - DisablePlayerInput(0) - func_802D5830(0) + func_802D5830(1); + DisablePlayerInput(1); + ShowMessageAtScreenPos(MessageID_SIGN_GOOMBA_KINGS_FORTRESS_AHEAD, 160, 40); + DisablePlayerInput(0); + func_802D5830(0); }); Script M(MakeEntities) = SCRIPT({ - MakeEntity(0x802EAFDC, 436, 0, -42, 0, 0x80000000) - AssignScript(M(ReadEastSign)) + MakeEntity(0x802EAFDC, 436, 0, -42, 0, 0x80000000); + AssignScript(M(ReadEastSign)); }); diff --git a/src/world/area_kmr/kmr_12/header.c b/src/world/area_kmr/kmr_12/header.c index 80225997b7..0728919d93 100644 --- a/src/world/area_kmr/kmr_12/header.c +++ b/src/world/area_kmr/kmr_12/header.c @@ -14,7 +14,7 @@ MapConfig M(config) = { }; Script M(PlayMusic) = SCRIPT({ - SetMusicTrack(0, Song_PLEASANT_PATH, 0, 8) + SetMusicTrack(0, Song_PLEASANT_PATH, 0, 8); }); ApiStatus GetGoomba(ScriptInstance* script, s32 isInitialCall) { diff --git a/src/world/area_sbk/sbk_00/929270.c b/src/world/area_sbk/sbk_00/929270.c index e3b3f8a9cc..f6abf4a9d2 100644 --- a/src/world/area_sbk/sbk_00/929270.c +++ b/src/world/area_sbk/sbk_00/929270.c @@ -21,40 +21,40 @@ MapConfig M(config) = { }; Script M(ExitWalk_802400E0) = SCRIPT({ - group 27 - UseExitHeading(60, 1) - spawn ExitWalk - GotoMap("sbk_01", 0) - sleep 100 + group 27; + UseExitHeading(60, 1); + spawn ExitWalk; + GotoMap("sbk_01", 0); + sleep 100; }); Script M(ExitWalk_8024013C) = SCRIPT({ - group 27 - UseExitHeading(60, 3) - spawn ExitWalk - GotoMap("sbk_10", 2) - sleep 100 + group 27; + UseExitHeading(60, 3); + spawn ExitWalk; + GotoMap("sbk_10", 2); + sleep 100; }); Script M(Script_80240198) = SCRIPT({ - bind M(ExitWalk_802400E0) to 524288 3 - bind M(ExitWalk_8024013C) to 524288 6 + bind M(ExitWalk_802400E0) to 524288 3; + bind M(ExitWalk_8024013C) to 524288 6; }); Script M(Main) = SCRIPT({ - SI_SAVE_VAR(425) = 10 - SetSpriteShading(-1) - if SI_SAVE_VAR(0) == 0xFFFFFFC1 { - DisablePulseStone(0) + SI_SAVE_VAR(425) = 10; + SetSpriteShading(-1); + if (SI_SAVE_VAR(0) == 0xFFFFFFC1) { + DisablePulseStone(0); } - SetCamPerspective(0, 3, 25, 16, 4096) - SetCamBGColor(0, 0, 0, 0) - SetCamEnabled(0, 1) - SetCamLeadPlayer(0, 0) - MakeNpcs(0, M(npcGroupList_80240768)) - await M(MakeEntities) - SpawnSunEffect() - SetMusicTrack(0, 23, 0, 8) - SI_VAR(0) = M(Script_80240198) - spawn EnterWalk + SetCamPerspective(0, 3, 25, 16, 4096); + SetCamBGColor(0, 0, 0, 0); + SetCamEnabled(0, 1); + SetCamLeadPlayer(0, 0); + MakeNpcs(0, M(npcGroupList_80240768)); + await M(MakeEntities); + SpawnSunEffect(); + SetMusicTrack(0, 23, 0, 8); + SI_VAR(0) = M(Script_80240198); + spawn EnterWalk; }); diff --git a/src/world/area_sbk/sbk_00/9292B0.c b/src/world/area_sbk/sbk_00/9292B0.c index fe21eb0d8f..aec6a730ff 100644 --- a/src/world/area_sbk/sbk_00/9292B0.c +++ b/src/world/area_sbk/sbk_00/9292B0.c @@ -8,8 +8,8 @@ s32 M(aISettings_80240300)[] = { }; Script M(NpcAI_80240330) = SCRIPT({ - SetNpcB5_3() - DoBasicAI(M(aISettings_80240300)) + SetNpcB5_3(); + DoBasicAI(M(aISettings_80240300)); }); s32 M(npcSettings_8024035C)[] = { @@ -63,8 +63,8 @@ s32 M(npcGroupList_80240768)[] = { static s32 padding = 0; Script M(MakeEntities) = SCRIPT({ - MakeEntity(0x802EA564, 0xFFFFFF1A, 0, 155, 0, 152, 0x80000000) - AssignBlockFlag(SI_SAVE_FLAG(797)) - MakeEntity(0x802EA564, 160, 0, 205, 0, 343, 0x80000000) - AssignBlockFlag(SI_SAVE_FLAG(798)) + MakeEntity(0x802EA564, 0xFFFFFF1A, 0, 155, 0, 152, 0x80000000); + AssignBlockFlag(SI_SAVE_FLAG(797)); + MakeEntity(0x802EA564, 160, 0, 205, 0, 343, 0x80000000); + AssignBlockFlag(SI_SAVE_FLAG(798)); }); diff --git a/src/world/area_sbk/sbk_01/929A90.c b/src/world/area_sbk/sbk_01/929A90.c index c98a622f48..df96ea6d6c 100644 --- a/src/world/area_sbk/sbk_01/929A90.c +++ b/src/world/area_sbk/sbk_01/929A90.c @@ -21,48 +21,48 @@ MapConfig M(config) = { }; Script M(ExitWalk_802400E0) = SCRIPT({ - group 27 - UseExitHeading(60, 0) - spawn ExitWalk - GotoMap("sbk_00", 1) - sleep 100 + group 27; + UseExitHeading(60, 0); + spawn ExitWalk; + GotoMap("sbk_00", 1); + sleep 100; }); Script M(ExitWalk_8024013C) = SCRIPT({ - group 27 - UseExitHeading(60, 1) - spawn ExitWalk - GotoMap("sbk_02", 0) - sleep 100 + group 27; + UseExitHeading(60, 1); + spawn ExitWalk; + GotoMap("sbk_02", 0); + sleep 100; }); Script M(ExitWalk_80240198) = SCRIPT({ - group 27 - UseExitHeading(60, 3) - spawn ExitWalk - GotoMap("sbk_11", 2) - sleep 100 + group 27; + UseExitHeading(60, 3); + spawn ExitWalk; + GotoMap("sbk_11", 2); + sleep 100; }); Script M(Script_802401F4) = SCRIPT({ - bind M(ExitWalk_802400E0) to 524288 7 - bind M(ExitWalk_8024013C) to 524288 3 - bind M(ExitWalk_80240198) to 524288 5 + bind M(ExitWalk_802400E0) to 524288 7; + bind M(ExitWalk_8024013C) to 524288 3; + bind M(ExitWalk_80240198) to 524288 5; }); Script M(Main) = SCRIPT({ - SI_SAVE_VAR(425) = 10 - SetSpriteShading(-1) - if SI_SAVE_VAR(0) == 0xFFFFFFC1 { - DisablePulseStone(0) + SI_SAVE_VAR(425) = 10; + SetSpriteShading(-1); + if (SI_SAVE_VAR(0) == 0xFFFFFFC1) { + DisablePulseStone(0); } - SetCamPerspective(0, 3, 25, 16, 4096) - SetCamBGColor(0, 0, 0, 0) - SetCamEnabled(0, 1) - SetCamLeadPlayer(0, 0) - MakeNpcs(0, M(npcGroupList_802407D8)) - SpawnSunEffect() - SetMusicTrack(0, 23, 0, 8) - SI_VAR(0) = M(Script_802401F4) - spawn EnterWalk + SetCamPerspective(0, 3, 25, 16, 4096); + SetCamBGColor(0, 0, 0, 0); + SetCamEnabled(0, 1); + SetCamLeadPlayer(0, 0); + MakeNpcs(0, M(npcGroupList_802407D8)); + SpawnSunEffect(); + SetMusicTrack(0, 23, 0, 8); + SI_VAR(0) = M(Script_802401F4); + spawn EnterWalk; }); diff --git a/src/world/area_sbk/sbk_01/929AD0.c b/src/world/area_sbk/sbk_01/929AD0.c index 7edd7b76f2..e7461e9f07 100644 --- a/src/world/area_sbk/sbk_01/929AD0.c +++ b/src/world/area_sbk/sbk_01/929AD0.c @@ -8,8 +8,8 @@ s32 M(aISettings_80240370)[] = { }; Script M(NpcAI_802403A0) = SCRIPT({ - SetNpcB5_3() - DoBasicAI(M(aISettings_80240370)) + SetNpcB5_3(); + DoBasicAI(M(aISettings_80240370)); }); s32 M(npcSettings_802403CC)[] = { diff --git a/src/world/partner/goombaria.c b/src/world/partner/goombaria.c index 8cab1ec052..535ec80091 100644 --- a/src/world/partner/goombaria.c +++ b/src/world/partner/goombaria.c @@ -45,17 +45,17 @@ ApiStatus GoombariaPutAway(ScriptInstance* script, s32 isInitialCall) { } Script world_goombaria_take_out = SCRIPT({ - GoombariaTakeOut() + GoombariaTakeOut(); }); Script world_goombaria_update = SCRIPT({ - GoombariaUpdate() + GoombariaUpdate(); }); Script world_goombaria_use_ability = SCRIPT({ - GoombariaUseAbility() + GoombariaUseAbility(); }); Script world_goombaria_put_away = SCRIPT({ - GoombariaPutAway() + GoombariaPutAway(); }); diff --git a/src/world/partner/goombario.c b/src/world/partner/goombario.c index 4005a85590..5f48b1d050 100644 --- a/src/world/partner/goombario.c +++ b/src/world/partner/goombario.c @@ -92,36 +92,36 @@ s32 func_802BD5D8_data[] = { }; Script world_goombario_take_out = SCRIPT({ - func_802BD188() + func_802BD188(); }); s32 unk_802BDD88 = 0x802BDF40; Script world_goombario_update = SCRIPT({ - func_802BD1D0() + func_802BD1D0(); }); Script world_goombario_use_ability = SCRIPT({ - func_802BD5D8() // returns tattle message id on SI_VAR(0), and something else on SI_VAR(1) + func_802BD5D8(); // returns tattle message id on SI_VAR(0), and something else on SI_VAR(1) - if SI_VAR(0) == -1 { - return + if (SI_VAR(0) == -1) { + return; } - if SI_VAR(0) == 0 { - func_802BDB30() - return + if (SI_VAR(0) == 0) { + func_802BDB30(); + return; } - if SI_VAR(1) == 0 { - SpeakToPlayer(NpcId_PARTNER, NPC_ANIM(world_goombario, normal, talk), NPC_ANIM(world_goombario, normal, idle), 0, SI_VAR(0)) + if (SI_VAR(1) == 0) { + SpeakToPlayer(NpcId_PARTNER, NPC_ANIM(world_goombario, normal, talk), NPC_ANIM(world_goombario, normal, idle), 0, SI_VAR(0)); } - sleep 1 + sleep 1; - func_802BDB30() + func_802BDB30(); }); Script world_goombario_put_away = SCRIPT({ - func_802BDB84() + func_802BDB84(); }); diff --git a/src/world/partner/goompa.c b/src/world/partner/goompa.c index c606a2c151..7ba4857303 100644 --- a/src/world/partner/goompa.c +++ b/src/world/partner/goompa.c @@ -33,19 +33,19 @@ ApiStatus GoompaPutAway(ScriptInstance* script, s32 isInitialCall) { } Script world_goompa_take_out = SCRIPT({ - GoompaTakeOut() + GoompaTakeOut(); }); s32 unk = 0x802BD600; Script world_goompa_update = SCRIPT({ - func_802BD14C() + func_802BD14C(); }); Script world_goompa_use_ability = SCRIPT({ - GoompaUseAbility() + GoompaUseAbility(); }); Script world_goompa_put_away = SCRIPT({ - GoompaPutAway() + GoompaPutAway(); }); diff --git a/src/world/partner/twink.c b/src/world/partner/twink.c index b2f17d23fe..1e25b590e3 100644 --- a/src/world/partner/twink.c +++ b/src/world/partner/twink.c @@ -45,17 +45,17 @@ ApiStatus TwinkPutAway(ScriptInstance* script, s32 isInitialCall) { } Script world_twink_take_out = SCRIPT({ - TwinkTakeOut() + TwinkTakeOut(); }); Script world_twink_update = SCRIPT({ - TwinkUpdate() + TwinkUpdate(); }); Script world_twink_use_ability = SCRIPT({ - TwinkUseAbility() + TwinkUseAbility(); }); Script world_twink_put_away = SCRIPT({ - TwinkPutAway() + TwinkPutAway(); }); diff --git a/tools/compile_dsl_macros.py b/tools/compile_dsl_macros.py index 37f9994a1c..14b7d01aac 100755 --- a/tools/compile_dsl_macros.py +++ b/tools/compile_dsl_macros.py @@ -5,7 +5,7 @@ from lark import Lark, exceptions, Tree, Transformer, Visitor, v_args, Token from lark.visitors import Discard import traceback -DEBUG_OUTPUT = None +DEBUG_OUTPUT = None # "debug.i" def eprint(*args, **kwargs): print(*args, file=stderr, **kwargs) @@ -31,16 +31,15 @@ def pairs(seq): script_parser = Lark(r""" - block: "{" NEWLINE* (_block STMT_SEP*)? "}" + block: "{" (_block SEMICOLON*)? "}" - _block: stmt STMT_SEP _block - | stmt + _block: stmt SEMICOLON _block + | stmt_no_semi SEMICOLON? _block + | stmt SEMICOLON + | stmt_no_semi ?stmt: call - | label ":" [stmt] -> label_decl | "goto" label -> label_goto - | if_stmt - | match_stmt | "return" -> return_stmt | "break" -> break_stmt | "sleep" expr -> sleep_stmt @@ -58,15 +57,19 @@ script_parser = Lark(r""" | suspend_stmt | resume_stmt | kill_stmt - | loop_stmt - | loop_until_stmt - | ["await"] block -> block_stmt - | "spawn" block -> spawn_block_stmt - | "parallel" block -> parallel_block_stmt + + ?stmt_no_semi: label ":" -> label_decl + | if_stmt + | match_stmt + | loop_stmt + | loop_until_stmt + | ["await"] block -> block_stmt + | "spawn" block -> spawn_block_stmt + | "parallel" block -> parallel_block_stmt call: (c_identifier | HEX_INT) "(" [expr ("," expr)* [","]] ")" - if_stmt: "if" expr cond_op expr block ["else" block] + if_stmt: "if" "(" expr cond_op expr ")" block ["else" block] ?cond_op: "==" -> cond_op_eq | "!=" -> cond_op_ne @@ -76,9 +79,9 @@ script_parser = Lark(r""" | "<=" -> cond_op_le | "?" -> cond_op_flag - match_stmt: "match" expr "{" NEWLINE* (match_cases STMT_SEP*)? "}" - match_const_stmt: "matchc" expr "{" NEWLINE* (match_cases STMT_SEP*)? "}" - match_cases: match_case STMT_SEP* match_cases + match_stmt: "match" expr "{" (match_cases SEMICOLON*)? "}" + match_const_stmt: "matchc" expr "{" (match_cases SEMICOLON*)? "}" + match_cases: match_case SEMICOLON* match_cases | match_case ?match_case: "else" block -> case_else | cond_op expr ["," multi_case] block -> case_op @@ -97,7 +100,7 @@ script_parser = Lark(r""" bind_set_stmt: lhs "=" "bind" expr "to" expr expr loop_stmt: "loop" [expr] block - loop_until_stmt: "loop" block "until" expr cond_op expr + loop_until_stmt: "loop" block "until" "(" expr cond_op expr ")" ?expr: c_const_expr | ESCAPED_STRING @@ -123,11 +126,11 @@ script_parser = Lark(r""" c_identifier: CNAME - c_const_expr: c_const_expr_internal + c_const_expr: "(" c_const_expr_internal ")" c_const_expr_internal: "(" (c_const_expr_internal | NOT_PARENS)+ ")" NOT_PARENS: /[^()]+/ - STMT_SEP: (NEWLINE+ | ";") + SEMICOLON: ";" label: /[a-zA-Z0-9_]+/ @@ -146,6 +149,7 @@ script_parser = Lark(r""" %import common.WS_INLINE %import common.NEWLINE %ignore WS_INLINE + %ignore NEWLINE """, start="block", propagate_positions=True)#, parser="lalr", cache=True) @@ -382,7 +386,7 @@ class Compile(Transformer): if len(tree.children) == 1: return [tree.children[0]] else: - return [tree.children[0], *tree.children[2]] + return [tree.children[0], *tree.children[1]] def case_else(self, tree): return [Cmd("ScriptOpcode_ELSE"), *tree.children[0]] @@ -746,7 +750,7 @@ if __name__ == "__main__": macro_name = "" # captures recent UPPER_CASE identifier prev_char = "" - while True: + while not error: char = stdin.read(1) if len(char) == 0: @@ -845,6 +849,7 @@ if __name__ == "__main__": prev_char = char if error: + write("{ 1 / 0 };") exit(1) else: exit(0) diff --git a/tools/disasm_script.py b/tools/disasm_script.py index 6950269df1..9c571b931c 100755 --- a/tools/disasm_script.py +++ b/tools/disasm_script.py @@ -445,9 +445,9 @@ class ScriptDSLDisassembler(ScriptDisassembler): self.write_line("});") self.done = True - elif opcode == 0x02: self.write_line(f"return") + elif opcode == 0x02: self.write_line(f"return;") elif opcode == 0x03: self.write_line(f"{self.var(argv[0])}:") - elif opcode == 0x04: self.write_line(f"goto {self.var(argv[0])}") + elif opcode == 0x04: self.write_line(f"goto {self.var(argv[0])};") elif opcode == 0x05: if argv[0] == 0: self.write_line("loop {") @@ -457,29 +457,29 @@ class ScriptDSLDisassembler(ScriptDisassembler): elif opcode == 0x06: self.indent -= 1 self.write_line("}") - elif opcode == 0x07: self.write_line(f"break") - elif opcode == 0x08: self.write_line(f"sleep {self.var(argv[0])}") - elif opcode == 0x09: self.write_line(f"sleep {self.var(argv[0])} secs") + elif opcode == 0x07: self.write_line(f"break;") + elif opcode == 0x08: self.write_line(f"sleep {self.var(argv[0])};") + elif opcode == 0x09: self.write_line(f"sleep {self.var(argv[0])} secs;") elif opcode == 0x0A: - self.write_line(f"if {self.var(argv[0])} == {self.var(argv[1])} {{") + self.write_line(f"if ({self.var(argv[0])} == {self.var(argv[1])}) {{") self.indent += 1 elif opcode == 0x0B: - self.write_line(f"if {self.var(argv[0])} != {self.var(argv[1])} {{") + self.write_line(f"if ({self.var(argv[0])} != {self.var(argv[1])}) {{") self.indent += 1 elif opcode == 0x0C: - self.write_line(f"if {self.var(argv[0])} < {self.var(argv[1])} {{") + self.write_line(f"if ({self.var(argv[0])} < {self.var(argv[1])}) {{") self.indent += 1 elif opcode == 0x0D: - self.write_line(f"if {self.var(argv[0])} > {self.var(argv[1])} {{") + self.write_line(f"if ({self.var(argv[0])} > {self.var(argv[1])}) {{") self.indent += 1 elif opcode == 0x0E: - self.write_line(f"if {self.var(argv[0])} <= {self.var(argv[1])} {{") + self.write_line(f"if ({self.var(argv[0])} <= {self.var(argv[1])}) {{") self.indent += 1 elif opcode == 0x0F: - self.write_line(f"if {self.var(argv[0])} >= {self.var(argv[1])} {{") + self.write_line(f"if ({self.var(argv[0])} >= {self.var(argv[1])}) {{") self.indent += 1 elif opcode == 0x10: - self.write_line(f"if {self.var(argv[0])} ? {self.var(argv[1])} {{") + self.write_line(f"if ({self.var(argv[0])} ? {self.var(argv[1])}) {{") self.indent += 1 elif opcode == 0x12: self.indent -= 1 @@ -552,68 +552,68 @@ class ScriptDSLDisassembler(ScriptDisassembler): self.indent -= 1 self.write_line("}") - elif opcode == 0x24: self.write_line(f"{self.var(argv[0])} = {self.var(argv[1])}") - elif opcode == 0x25: self.write_line(f"{self.var(argv[0])} =c 0x{argv[1]:X}") + elif opcode == 0x24: self.write_line(f"{self.var(argv[0])} = {self.var(argv[1])};") + elif opcode == 0x25: self.write_line(f"{self.var(argv[0])} =c 0x{argv[1]:X};") elif opcode == 0x26: lhs = self.var(argv[1]) if self.is_float(lhs): - self.write_line(f"{self.var(argv[0])} = {lhs}") + self.write_line(f"{self.var(argv[0])} = {lhs};") else: - self.write_line(f"{self.var(argv[0])} =f {lhs}") - elif opcode == 0x27: self.write_line(f"{self.var(argv[0])} += {self.var(argv[1])}") - elif opcode == 0x28: self.write_line(f"{self.var(argv[0])} -= {self.var(argv[1])}") - elif opcode == 0x29: self.write_line(f"{self.var(argv[0])} *= {self.var(argv[1])}") - elif opcode == 0x2A: self.write_line(f"{self.var(argv[0])} /= {self.var(argv[1])}") - elif opcode == 0x2B: self.write_line(f"{self.var(argv[0])} %= {self.var(argv[1])}") + self.write_line(f"{self.var(argv[0])} =f {lhs};") + elif opcode == 0x27: self.write_line(f"{self.var(argv[0])} += {self.var(argv[1])};") + elif opcode == 0x28: self.write_line(f"{self.var(argv[0])} -= {self.var(argv[1])};") + elif opcode == 0x29: self.write_line(f"{self.var(argv[0])} *= {self.var(argv[1])};") + elif opcode == 0x2A: self.write_line(f"{self.var(argv[0])} /= {self.var(argv[1])};") + elif opcode == 0x2B: self.write_line(f"{self.var(argv[0])} %= {self.var(argv[1])};") elif opcode == 0x2C: lhs = self.var(argv[1]) if self.is_float(lhs): - self.write_line(f"{self.var(argv[0])} += {lhs}") + self.write_line(f"{self.var(argv[0])} += {lhs};") else: - self.write_line(f"{self.var(argv[0])} +=f {lhs}") + self.write_line(f"{self.var(argv[0])} +=f {lhs};") elif opcode == 0x2D: lhs = self.var(argv[1]) if self.is_float(lhs): - self.write_line(f"{self.var(argv[0])} -= {lhs}") + self.write_line(f"{self.var(argv[0])} -= {lhs};") else: - self.write_line(f"{self.var(argv[0])} -=f {lhs}") + self.write_line(f"{self.var(argv[0])} -=f {lhs};") elif opcode == 0x2E: lhs = self.var(argv[1]) if self.is_float(lhs): - self.write_line(f"{self.var(argv[0])} *= {lhs}") + self.write_line(f"{self.var(argv[0])} *= {lhs};") else: - self.write_line(f"{self.var(argv[0])} *=f {lhs}") + self.write_line(f"{self.var(argv[0])} *=f {lhs};") elif opcode == 0x2F: lhs = self.var(argv[1]) if self.is_float(lhs): - self.write_line(f"{self.var(argv[0])} /= {lhs}") + self.write_line(f"{self.var(argv[0])} /= {lhs};") else: - self.write_line(f"{self.var(argv[0])} /=f {lhs}") - elif opcode == 0x3F: self.write_line(f"{self.var(argv[0])} &= {self.var(argv[1])}") - elif opcode == 0x40: self.write_line(f"{self.var(argv[0])} |= {self.var(argv[1])}") - elif opcode == 0x41: self.write_line(f"{self.var(argv[0])} &=c {argv[1]:X}") - elif opcode == 0x42: self.write_line(f"{self.var(argv[0])} |=c {argv[1]:X}") + self.write_line(f"{self.var(argv[0])} /=f {lhs};") + elif opcode == 0x3F: self.write_line(f"{self.var(argv[0])} &= {self.var(argv[1])};") + elif opcode == 0x40: self.write_line(f"{self.var(argv[0])} |= {self.var(argv[1])};") + elif opcode == 0x41: self.write_line(f"{self.var(argv[0])} &=c {argv[1]:X};") + elif opcode == 0x42: self.write_line(f"{self.var(argv[0])} |=c {argv[1]:X};") elif opcode == 0x43: argv_str = ", ".join(self.var(arg) for arg in argv[1:]) self.write_line(f"{self.addr_ref(argv[0])}({argv_str})") - elif opcode == 0x44: self.write_line(f"spawn {self.addr_ref(argv[0])}") - elif opcode == 0x45: self.write_line(f"{self.var(argv[1])} = spawn ({self.addr_ref(argv[0])}") - elif opcode == 0x46: self.write_line(f"await {self.addr_ref(argv[0])}") + elif opcode == 0x44: self.write_line(f"spawn {self.addr_ref(argv[0])};") + elif opcode == 0x45: self.write_line(f"{self.var(argv[1])} = spawn {self.addr_ref(argv[0])};") + elif opcode == 0x46: self.write_line(f"await {self.addr_ref(argv[0])};") elif opcode == 0x47: assert argv[3] == 1 if argv[4] != 0: - self.write_line(f"{self.var(argv[4])} = bind {self.addr_ref(argv[0])} to {self.trigger(argv[1])} {self.var(argv[2])}") + self.write_line(f"{self.var(argv[4])} = bind {self.addr_ref(argv[0])} to {self.trigger(argv[1])} {self.var(argv[2])};") else: - self.write_line(f"bind {self.addr_ref(argv[0])} to {self.trigger(argv[1])} {self.var(argv[2])}") - elif opcode == 0x48: self.write_line(f"unbind") - elif opcode == 0x49: self.write_line(f"kill {self.var(argv[0])}") - elif opcode == 0x4D: self.write_line(f"group {self.var(argv[0])}") - elif opcode == 0x4F: self.write_line(f"suspend group {self.var(argv[0])}") - elif opcode == 0x50: self.write_line(f"resume group {self.var(argv[0])}") - elif opcode == 0x51: self.write_line(f"suspend others {self.var(argv[0])}") - elif opcode == 0x52: self.write_line(f"resume others {self.var(argv[0])}") - elif opcode == 0x53: self.write_line(f"suspend {self.var(argv[0])}") - elif opcode == 0x54: self.write_line(f"resume {self.var(argv[0])}") + self.write_line(f"bind {self.addr_ref(argv[0])} to {self.trigger(argv[1])} {self.var(argv[2])};") + elif opcode == 0x48: self.write_line(f"unbind;") + elif opcode == 0x49: self.write_line(f"kill {self.var(argv[0])};") + elif opcode == 0x4D: self.write_line(f"group {self.var(argv[0])};") + elif opcode == 0x4F: self.write_line(f"suspend group {self.var(argv[0])};") + elif opcode == 0x50: self.write_line(f"resume group {self.var(argv[0])};") + elif opcode == 0x51: self.write_line(f"suspend others {self.var(argv[0])};") + elif opcode == 0x52: self.write_line(f"resume others {self.var(argv[0])};") + elif opcode == 0x53: self.write_line(f"suspend {self.var(argv[0])};") + elif opcode == 0x54: self.write_line(f"resume {self.var(argv[0])};") elif opcode == 0x56: self.write_line("spawn {") self.indent += 1 From bede3a8a31a41fb8069275a2b812d514479ccd22 Mon Sep 17 00:00:00 2001 From: Alex Bates <16batesa@gmail.com> Date: Thu, 24 Dec 2020 12:13:12 +0000 Subject: [PATCH 97/97] lint --- src/world/area_kmr/kmr_12/events.c | 2 +- src/world/partner/goombario.c | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/src/world/area_kmr/kmr_12/events.c b/src/world/area_kmr/kmr_12/events.c index e9c2797e7b..0726d37d43 100644 --- a/src/world/area_kmr/kmr_12/events.c +++ b/src/world/area_kmr/kmr_12/events.c @@ -94,7 +94,7 @@ Script M(GoombaIdle) = SCRIPT({ loop { GetSelfVar(0, SI_VAR(0)); sleep 1; - } until (SI_VAR(0) == FALSE) + } until(SI_VAR(0) == FALSE) // Peel and jump off the sign SetNpcFlagBits(NpcId_SELF, 0x00240000, TRUE); diff --git a/src/world/partner/goombario.c b/src/world/partner/goombario.c index 5f48b1d050..309470dd8d 100644 --- a/src/world/partner/goombario.c +++ b/src/world/partner/goombario.c @@ -114,7 +114,8 @@ Script world_goombario_use_ability = SCRIPT({ } if (SI_VAR(1) == 0) { - SpeakToPlayer(NpcId_PARTNER, NPC_ANIM(world_goombario, normal, talk), NPC_ANIM(world_goombario, normal, idle), 0, SI_VAR(0)); + SpeakToPlayer(NpcId_PARTNER, NPC_ANIM(world_goombario, normal, talk), NPC_ANIM(world_goombario, normal, idle), 0, + SI_VAR(0)); } sleep 1;