From c5e14074c3b999d09b8a8612cfa7f011423e83ab Mon Sep 17 00:00:00 2001 From: Arisotura Date: Wed, 3 Jul 2019 12:37:34 +0200 Subject: * add SCFG_EXT * quick hack to detect cartridges --- src/NDSCart.cpp | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) (limited to 'src/NDSCart.cpp') diff --git a/src/NDSCart.cpp b/src/NDSCart.cpp index 0ecd304..0bb8b5c 100644 --- a/src/NDSCart.cpp +++ b/src/NDSCart.cpp @@ -19,6 +19,7 @@ #include #include #include "NDS.h" +#include "DSi.h" #include "NDSCart.h" #include "ARM.h" #include "CRC32.h" @@ -558,7 +559,8 @@ void Key1_ApplyKeycode(u32* keycode, u32 mod) void Key1_InitKeycode(u32 idcode, u32 level, u32 mod) { - memcpy(Key1_KeyBuf, &NDS::ARM7BIOS[0x30], 0x1048); // hax + //memcpy(Key1_KeyBuf, &NDS::ARM7BIOS[0x30], 0x1048); // hax + memcpy(Key1_KeyBuf, &DSi::ITCMInit[0x4894], 0x1048); // hax u32 keycode[3] = {idcode, idcode>>1, idcode<<1}; if (level >= 1) Key1_ApplyKeycode(keycode, mod); @@ -1185,11 +1187,11 @@ void WriteROMCnt(u32 val) *(u32*)&cmd[4] = *(u32*)&ROMCommand[4]; } - /*printf("ROM COMMAND %04X %08X %02X%02X%02X%02X%02X%02X%02X%02X SIZE %04X\n", + printf("ROM COMMAND %04X %08X %02X%02X%02X%02X%02X%02X%02X%02X SIZE %04X\n", SPICnt, ROMCnt, cmd[0], cmd[1], cmd[2], cmd[3], cmd[4], cmd[5], cmd[6], cmd[7], - datasize);*/ + datasize); switch (cmd[0]) { -- cgit v1.2.3 From 36c741241a3efbfeb81a447c53917b1ab586fe73 Mon Sep 17 00:00:00 2001 From: Arisotura Date: Sun, 4 Aug 2019 16:46:02 +0200 Subject: support DSi-mode carts except they need to have the DSi-mode shit encrypted --- src/DSi.cpp | 27 ++++++++++++------ src/DSi.h | 1 + src/DSi_SD.cpp | 4 +-- src/NDSCart.cpp | 87 ++++++++++++++++++++++++++++++++++++++++----------------- src/NDSCart.h | 2 ++ 5 files changed, 85 insertions(+), 36 deletions(-) (limited to 'src/NDSCart.cpp') diff --git a/src/DSi.cpp b/src/DSi.cpp index 17d7f0d..771f67b 100644 --- a/src/DSi.cpp +++ b/src/DSi.cpp @@ -22,6 +22,7 @@ #include "DSi.h" #include "ARM.h" #include "GPU.h" +#include "NDSCart.h" #include "Platform.h" #include "DSi_NDMA.h" @@ -581,6 +582,22 @@ void MapNWRAMRange(u32 cpu, u32 num, u32 val) } +void Set_SCFG_MC(u32 val) +{ + u32 oldslotstatus = SCFG_MC & 0xC; + + val &= 0xFFFF800C; + if ((val & 0xC) == 0xC) val &= ~0xC; // hax + if (val & 0x8000) printf("SCFG_MC: weird NDS slot swap\n"); + SCFG_MC = (SCFG_MC & ~0xFFFF800C) | val; + + if ((oldslotstatus == 0x0) && ((SCFG_MC & 0xC) == 0x4)) + { + NDSCart::ResetCart(); + } +} + + u8 ARM9Read8(u32 addr) { switch (addr & 0xFF000000) @@ -1455,10 +1472,7 @@ void ARM7IOWrite16(u32 addr, u16 val) return; case 0x04004010: - val &= 0x800C; - if ((val & 0xC) == 0xC) val &= ~0xC; // hax - if (val & 0x8000) printf("SCFG_MC: weird NDS slot swap\n"); - SCFG_MC = (SCFG_MC & ~0x800C) | val; + Set_SCFG_MC((SCFG_MC & 0xFFFF0000) | val); return; } @@ -1491,10 +1505,7 @@ void ARM7IOWrite32(u32 addr, u32 val) printf("SCFG_EXT = %08X / %08X (val7 %08X)\n", SCFG_EXT[0], SCFG_EXT[1], val); return; case 0x04004010: - val &= 0xFFFF800C; - if ((val & 0xC) == 0xC) val &= ~0xC; // hax - if (val & 0x8000) printf("SCFG_MC: weird NDS slot swap\n"); - SCFG_MC = (SCFG_MC & ~0xFFFF800C) | val; + Set_SCFG_MC(val); return; case 0x04004054: MapNWRAMRange(1, 0, val); return; diff --git a/src/DSi.h b/src/DSi.h index db585b4..b29cdb5 100644 --- a/src/DSi.h +++ b/src/DSi.h @@ -32,6 +32,7 @@ extern DSi_SDHost* SDMMC; extern DSi_SDHost* SDIO; extern u8 ITCMInit[0x8000]; +extern u8 ARM7Init[0x3C00]; bool Init(); diff --git a/src/DSi_SD.cpp b/src/DSi_SD.cpp index 07eca83..44d8d62 100644 --- a/src/DSi_SD.cpp +++ b/src/DSi_SD.cpp @@ -191,7 +191,7 @@ void DSi_SDHost::FinishSend(u32 param) u32 DSi_SDHost::SendData(u8* data, u32 len) { - printf("%s: data RX, len=%d, blkcnt=%d (%d) blklen=%d, irq=%08X\n", SD_DESC, len, BlockCount16, BlockCountInternal, BlockLen16, IRQMask); + //printf("%s: data RX, len=%d, blkcnt=%d (%d) blklen=%d, irq=%08X\n", SD_DESC, len, BlockCount16, BlockCountInternal, BlockLen16, IRQMask); if (len != BlockLen16) { printf("!! BAD BLOCKLEN\n"); len = BlockLen16; } bool last = (BlockCountInternal == 0); @@ -796,7 +796,7 @@ void DSi_MMCStorage::ContinueTransfer() u32 DSi_MMCStorage::ReadBlock(u64 addr) { - printf("SD/MMC: reading block @ %08X, len=%08X\n", addr, BlockSize); + //printf("SD/MMC: reading block @ %08X, len=%08X\n", addr, BlockSize); u32 len = BlockSize; len = Host->GetTransferrableLen(len); diff --git a/src/NDSCart.cpp b/src/NDSCart.cpp index 0bb8b5c..c3765d8 100644 --- a/src/NDSCart.cpp +++ b/src/NDSCart.cpp @@ -475,6 +475,7 @@ u32 CartROMSize; u32 CartCRC; u32 CartID; bool CartIsHomebrew; +bool CartIsDSi; u32 CmdEncMode; u32 DataEncMode; @@ -557,10 +558,13 @@ void Key1_ApplyKeycode(u32* keycode, u32 mod) } } -void Key1_InitKeycode(u32 idcode, u32 level, u32 mod) +void Key1_InitKeycode(bool dsi, u32 idcode, u32 level, u32 mod) { //memcpy(Key1_KeyBuf, &NDS::ARM7BIOS[0x30], 0x1048); // hax - memcpy(Key1_KeyBuf, &DSi::ITCMInit[0x4894], 0x1048); // hax + if (dsi) + memcpy(Key1_KeyBuf, &DSi::ARM7Init[0x254], 0x1048); // hax + else + memcpy(Key1_KeyBuf, &DSi::ITCMInit[0x4894], 0x1048); // hax u32 keycode[3] = {idcode, idcode>>1, idcode<<1}; if (level >= 1) Key1_ApplyKeycode(keycode, mod); @@ -613,32 +617,19 @@ void DeInit() void Reset() { - SPICnt = 0; - ROMCnt = 0; - - memset(ROMCommand, 0, 8); - ROMDataOut = 0; - - Key2_X = 0; - Key2_Y = 0; - - memset(DataOut, 0, 0x4000); - DataOutPos = 0; - DataOutLen = 0; - CartInserted = false; if (CartROM) delete[] CartROM; CartROM = NULL; CartROMSize = 0; CartID = 0; CartIsHomebrew = false; + CartIsDSi = false; ROMCommandHandler = NULL; - CmdEncMode = 0; - DataEncMode = 0; - NDSCart_SRAM::Reset(); + + ResetCart(); } void DoSavestate(Savestate* file) @@ -893,6 +884,11 @@ bool LoadROM(const char* path, const char* sram, bool direct) fread(&gamecode, 4, 1, f); printf("Game code: %c%c%c%c\n", gamecode&0xFF, (gamecode>>8)&0xFF, (gamecode>>16)&0xFF, gamecode>>24); + u8 unitcode; + fseek(f, 0x12, SEEK_SET); + fread(&unitcode, 1, 1, f); + CartIsDSi = (unitcode & 0x02) != 0; + CartROM = new u8[CartROMSize]; memset(CartROM, 0, CartROMSize); fseek(f, 0, SEEK_SET); @@ -934,6 +930,9 @@ bool LoadROM(const char* path, const char* sram, bool direct) if (romparams[1] == 8) CartID |= 0x08000000; // NAND flag + if (CartIsDSi) + CartID |= 0x40000000; + printf("Cart ID: %08X\n", CartID); if (*(u32*)&CartROM[0x20] < 0x4000) @@ -969,11 +968,11 @@ bool LoadROM(const char* path, const char* sram, bool direct) strncpy((char*)&CartROM[arm9base], "encryObj", 8); - Key1_InitKeycode(gamecode, 3, 2); + Key1_InitKeycode(false, gamecode, 3, 2); for (u32 i = 0; i < 0x800; i += 8) Key1_Encrypt((u32*)&CartROM[arm9base + i]); - Key1_InitKeycode(gamecode, 2, 2); + Key1_InitKeycode(false, gamecode, 2, 2); Key1_Encrypt((u32*)&CartROM[arm9base]); } } @@ -981,9 +980,6 @@ bool LoadROM(const char* path, const char* sram, bool direct) CartIsHomebrew = true; } - // encryption - Key1_InitKeycode(gamecode, 2, 2); - // save printf("Save file: %s\n", sram); @@ -998,6 +994,27 @@ void RelocateSave(const char* path, bool write) NDSCart_SRAM::RelocateSave(path, write); } +void ResetCart() +{ + // CHECKME: what if there is a transfer in progress? + + SPICnt = 0; + ROMCnt = 0; + + memset(ROMCommand, 0, 8); + ROMDataOut = 0; + + Key2_X = 0; + Key2_Y = 0; + + memset(DataOut, 0, 0x4000); + DataOutPos = 0; + DataOutLen = 0; + + CmdEncMode = 0; + DataEncMode = 0; +} + void ReadROM(u32 addr, u32 len, u32 offset) { if (!CartInserted) return; @@ -1172,7 +1189,7 @@ void WriteROMCnt(u32 val) // handle KEY1 encryption as needed. // KEY2 encryption is implemented in hardware and doesn't need to be handled. u8 cmd[8]; - if (CmdEncMode == 1) + if (CmdEncMode == 1 || CmdEncMode == 11) { *(u32*)&cmd[0] = ByteSwap(*(u32*)&ROMCommand[4]); *(u32*)&cmd[4] = ByteSwap(*(u32*)&ROMCommand[0]); @@ -1218,11 +1235,23 @@ void WriteROMCnt(u32 val) break; case 0x3C: - if (CartInserted) CmdEncMode = 1; + if (CartInserted) + { + CmdEncMode = 1; + Key1_InitKeycode(false, *(u32*)&CartROM[0xC], 2, 2); + } + break; + + case 0x3D: + if (CartInserted && CartIsDSi) + { + CmdEncMode = 11; + Key1_InitKeycode(true, *(u32*)&CartROM[0xC], 1, 2); + } break; default: - if (CmdEncMode == 1) + if (CmdEncMode == 1 || CmdEncMode == 11) { switch (cmd[0] & 0xF0) { @@ -1238,6 +1267,12 @@ void WriteROMCnt(u32 val) case 0x20: { u32 addr = (cmd[2] & 0xF0) << 8; + if (CmdEncMode == 11) + { + u32 arm9i_base = *(u32*)&CartROM[0x1C0]; + addr -= 0x4000; + addr += arm9i_base; + } ReadROM(addr, 0x1000, 0); } break; diff --git a/src/NDSCart.h b/src/NDSCart.h index 0dc4220..05516d7 100644 --- a/src/NDSCart.h +++ b/src/NDSCart.h @@ -47,6 +47,8 @@ void DoSavestate(Savestate* file); bool LoadROM(const char* path, const char* sram, bool direct); void RelocateSave(const char* path, bool write); +void ResetCart(); + void WriteROMCnt(u32 val); u32 ReadROMData(); -- cgit v1.2.3 From dcda848cdfd94aaa5549841d8ba3cb54370f9cbc Mon Sep 17 00:00:00 2001 From: Arisotura Date: Wed, 7 Aug 2019 12:57:12 +0200 Subject: * base for potentially re-encrypting modcrypt, doesn't seem to be required? but can also serve to decrypt it * revise SD IRQ behavior (fixing potential hang when loading DS games) --- src/DSi_AES.cpp | 61 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++- src/DSi_AES.h | 3 +++ src/DSi_SD.cpp | 29 ++++++++++++++++++++++----- src/DSi_SD.h | 1 + src/NDSCart.cpp | 23 ++++++++++++++++++++++ 5 files changed, 111 insertions(+), 6 deletions(-) (limited to 'src/NDSCart.cpp') diff --git a/src/DSi_AES.cpp b/src/DSi_AES.cpp index 4aa97bc..e49ebf5 100644 --- a/src/DSi_AES.cpp +++ b/src/DSi_AES.cpp @@ -398,7 +398,7 @@ void Update() { Ctx.Iv[13] = 0x00; Ctx.Iv[14] = 0x00; - Ctx.Iv[15] = 0x00;_printhex(Ctx.Iv, 16); + Ctx.Iv[15] = 0x00; AES_CTR_xcrypt_buffer(&Ctx, CurMAC, 16); //printf("FINAL MAC: "); _printhexR(CurMAC, 16); @@ -505,4 +505,63 @@ void WriteKeyY(u32 slot, u32 offset, u32 val, u32 mask) } } + +// utility + +void GetModcryptKey(u8* romheader, u8* key) +{ + if ((romheader[0x01C] & 0x04) || (romheader[0x1BF] & 0x80)) + { + // dev key + memcpy(key, &romheader[0x000], 16); + return; + } + + u8 oldkeys[16*3]; + memcpy(&oldkeys[16*0], KeyX[0], 16); + memcpy(&oldkeys[16*1], KeyY[0], 16); + memcpy(&oldkeys[16*2], KeyNormal[0], 16); + + KeyX[0][8] = romheader[0x00C]; + KeyX[0][9] = romheader[0x00D]; + KeyX[0][10] = romheader[0x00E]; + KeyX[0][11] = romheader[0x00F]; + KeyX[0][12] = romheader[0x00F]; + KeyX[0][13] = romheader[0x00E]; + KeyX[0][14] = romheader[0x00D]; + KeyX[0][15] = romheader[0x00C]; + + memcpy(KeyY[0], &romheader[0x350], 16); + + DeriveNormalKey(0); + memcpy(key, KeyNormal[0], 16); + + memcpy(KeyX[0], &oldkeys[16*0], 16); + memcpy(KeyY[0], &oldkeys[16*1], 16); + memcpy(KeyNormal[0], &oldkeys[16*2], 16); +} + +void ApplyModcrypt(u8* data, u32 len, u8* key, u8* iv) +{ + u8 key_rev[16], iv_rev[16]; + u8 data_rev[16]; + u8 oldkeys[16*2]; + memcpy(&oldkeys[16*0], Ctx.RoundKey, 16); + memcpy(&oldkeys[16*1], Ctx.Iv, 16); + + Swap16(key_rev, key); + Swap16(iv_rev, iv); + AES_init_ctx_iv(&Ctx, key_rev, iv_rev); + + for (u32 i = 0; i < len; i += 16) + { + Swap16(data_rev, &data[i]); + AES_CTR_xcrypt_buffer(&Ctx, data_rev, 16); + Swap16(&data[i], data_rev); + } + + memcpy(Ctx.RoundKey, &oldkeys[16*0], 16); + memcpy(Ctx.Iv, &oldkeys[16*1], 16); +} + } diff --git a/src/DSi_AES.h b/src/DSi_AES.h index 5e726cd..354c4a7 100644 --- a/src/DSi_AES.h +++ b/src/DSi_AES.h @@ -46,6 +46,9 @@ void WriteKeyNormal(u32 slot, u32 offset, u32 val, u32 mask); void WriteKeyX(u32 slot, u32 offset, u32 val, u32 mask); void WriteKeyY(u32 slot, u32 offset, u32 val, u32 mask); +void GetModcryptKey(u8* romheader, u8* key); +void ApplyModcrypt(u8* data, u32 len, u8* key, u8* iv); + } #endif // DSI_AES_H diff --git a/src/DSi_SD.cpp b/src/DSi_SD.cpp index 44d8d62..796466d 100644 --- a/src/DSi_SD.cpp +++ b/src/DSi_SD.cpp @@ -149,6 +149,15 @@ void DSi_SDHost::SetIRQ(u32 irq) if (irq == 24 || irq == 25) UpdateData32IRQ(); } +void DSi_SDHost::UpdateIRQ(u32 oldmask) +{ + u32 oldflags = IRQStatus & ~oldmask; + u32 newflags = IRQStatus & ~IRQMask; + + if ((oldflags == 0) && (newflags != 0)) + NDS::SetIRQ2(Num ? NDS::IRQ2_DSi_SDIO : NDS::IRQ2_DSi_SDMMC); +} + void DSi_SDHost::SetCardIRQ() { if (!(CardIRQCtl & (1<<0))) return; @@ -424,7 +433,7 @@ u32 DSi_SDHost::ReadFIFO32() return ret; } -int morp = 0; + void DSi_SDHost::Write(u32 addr, u16 val) { //if(Num)printf("SDIO WRITE %08X %04X %08X\n", addr, val, NDS::GetPC(1)); @@ -464,11 +473,21 @@ void DSi_SDHost::Write(u32 addr, u16 val) case 0x01C: IRQStatus &= (val | 0xFFFF0000); return; case 0x01E: IRQStatus &= ((val << 16) | 0xFFFF); return; - case 0x020: IRQMask = (IRQMask & 0x8B7F0000) | (val & 0x031D); return; + case 0x020: + { + u32 oldmask = IRQMask; + IRQMask = (IRQMask & 0x8B7F0000) | (val & 0x031D); + UpdateIRQ(oldmask); + } + return; case 0x022: - IRQMask = (IRQMask & 0x0000031D) | ((val & 0x8B7F) << 16); - if (!DataFIFO[CurFIFO]->IsEmpty()) SetIRQ(24); // checkme - if (DataFIFO[CurFIFO]->IsEmpty()) SetIRQ(25); // checkme + { + u32 oldmask = IRQMask; + IRQMask = (IRQMask & 0x0000031D) | ((val & 0x8B7F) << 16); + UpdateIRQ(oldmask); + if (!DataFIFO[CurFIFO]->IsEmpty()) SetIRQ(24); // checkme + if (DataFIFO[CurFIFO]->IsEmpty()) SetIRQ(25); // checkme + } return; case 0x024: SDClock = val & 0x03FF; return; diff --git a/src/DSi_SD.h b/src/DSi_SD.h index 149b72a..f4ca26c 100644 --- a/src/DSi_SD.h +++ b/src/DSi_SD.h @@ -84,6 +84,7 @@ private: void UpdateData32IRQ(); void ClearIRQ(u32 irq); void SetIRQ(u32 irq); + void UpdateIRQ(u32 oldmask); }; diff --git a/src/NDSCart.cpp b/src/NDSCart.cpp index c3765d8..65cf8ae 100644 --- a/src/NDSCart.cpp +++ b/src/NDSCart.cpp @@ -23,6 +23,7 @@ #include "NDSCart.h" #include "ARM.h" #include "CRC32.h" +#include "DSi_AES.h" #include "Platform.h" @@ -599,6 +600,15 @@ void Key2_Encrypt(u8* data, u32 len) } +void ApplyModcrypt(u32 addr, u32 len, u8* iv) +{return; + u8 key[16]; + + DSi_AES::GetModcryptKey(&CartROM[0], key); + DSi_AES::ApplyModcrypt(&CartROM[addr], len, key, iv); +} + + bool Init() { if (!NDSCart_SRAM::Init()) return false; @@ -980,6 +990,19 @@ bool LoadROM(const char* path, const char* sram, bool direct) CartIsHomebrew = true; } + // re-encrypt modcrypt areas if needed + // TODO: somehow detect whether those are already encrypted + if (true) + { + u32 mod1 = *(u32*)&CartROM[0x220]; + u32 mod2 = *(u32*)&CartROM[0x228]; + + printf("Re-encrypting modcrypt areas: %08X, %08X\n", mod1, mod2); + + if (mod1) ApplyModcrypt(mod1, *(u32*)&CartROM[0x224], &CartROM[0x300]); + if (mod2) ApplyModcrypt(mod2, *(u32*)&CartROM[0x22C], &CartROM[0x314]); + } + // save printf("Save file: %s\n", sram); -- cgit v1.2.3 From e82364f010f6ad4e4883c241a05a4aac10cd75d6 Mon Sep 17 00:00:00 2001 From: Arisotura Date: Sat, 19 Oct 2019 16:03:59 +0200 Subject: * some fixes to SD controller support, make it clear that there is no SD inserted, makes Flipnote work somewhat better * immediately clear AES busy flag when the block count is zero (occurs when loading DSi cart games) * implement NDMA start modes that have an old-DMA equivalent (except for GXFIFO mode) now it boots DSi carts! --- src/DSi.cpp | 16 +++++++++- src/DSi.h | 1 + src/DSi_AES.cpp | 90 +++++++++++++++++++++++++------------------------------- src/DSi_NDMA.cpp | 6 ++-- src/DSi_SD.cpp | 62 +++++++++++++++++++++++++++++++++----- src/NDS.cpp | 42 ++++++++++++++++++++++++++ src/NDSCart.cpp | 4 +-- 7 files changed, 159 insertions(+), 62 deletions(-) (limited to 'src/NDSCart.cpp') diff --git a/src/DSi.cpp b/src/DSi.cpp index 9f07fa1..ef4e6da 100644 --- a/src/DSi.cpp +++ b/src/DSi.cpp @@ -411,6 +411,16 @@ void StallNDMAs() // TODO } +bool NDMAsInMode(u32 cpu, u32 mode) +{ + cpu <<= 2; + if (NDMAs[cpu+0]->IsInMode(mode)) return true; + if (NDMAs[cpu+1]->IsInMode(mode)) return true; + if (NDMAs[cpu+2]->IsInMode(mode)) return true; + if (NDMAs[cpu+3]->IsInMode(mode)) return true; + return false; +} + bool NDMAsRunning(u32 cpu) { cpu <<= 2; @@ -1156,7 +1166,7 @@ u8 ARM9IORead8(u32 addr) return NDS::ARM9IORead8(addr); } - +//u16 dicks = 0; u16 ARM9IORead16(u32 addr) { switch (addr) @@ -1174,6 +1184,8 @@ u16 ARM9IORead16(u32 addr) CASE_READ16_32BIT(0x04004058, MBK[0][6]) CASE_READ16_32BIT(0x0400405C, MBK[0][7]) CASE_READ16_32BIT(0x04004060, MBK[0][8]) + + //case 0x04004202: return dicks & 0xEF1F; } return NDS::ARM9IORead16(addr); @@ -1318,6 +1330,8 @@ void ARM9IOWrite16(u32 addr, u16 val) MapNWRAM_C(6, val & 0xFF); MapNWRAM_C(7, val >> 8); return; + + //case 0x04004202: dicks = val & 0xEF3F; return; } return NDS::ARM9IOWrite16(addr, val); diff --git a/src/DSi.h b/src/DSi.h index bd37550..5697237 100644 --- a/src/DSi.h +++ b/src/DSi.h @@ -47,6 +47,7 @@ bool LoadNAND(); void RunNDMAs(u32 cpu); void StallNDMAs(); +bool NDMAsInMode(u32 cpu, u32 mode); bool NDMAsRunning(u32 cpu); void CheckNDMAs(u32 cpu, u32 mode); void StopNDMAs(u32 cpu, u32 mode); diff --git a/src/DSi_AES.cpp b/src/DSi_AES.cpp index e49ebf5..7aae8f3 100644 --- a/src/DSi_AES.cpp +++ b/src/DSi_AES.cpp @@ -129,28 +129,8 @@ void Reset() memset(CurKey, 0, sizeof(CurKey)); memset(CurMAC, 0, sizeof(CurMAC)); - // initialize keys, as per GBAtek - -#if 0 - // slot 0: modcrypt - *(u32*)&KeyX[0][0] = 0x746E694E; - *(u32*)&KeyX[0][4] = 0x6F646E65; - - // slot 1: 'Tad'/dev.kp - *(u32*)&KeyX[1][0] = 0x4E00004A; - *(u32*)&KeyX[1][4] = 0x4A00004E; - *(u32*)&KeyX[1][8] = (u32)(DSi::ConsoleID >> 32) ^ 0xC80C4B72; - *(u32*)&KeyX[1][12] = (u32)DSi::ConsoleID; - - // slot 3: console-unique eMMC crypto - *(u32*)&KeyX[3][0] = (u32)DSi::ConsoleID; - *(u32*)&KeyX[3][4] = (u32)DSi::ConsoleID ^ 0x24EE6906; - *(u32*)&KeyX[3][8] = (u32)(DSi::ConsoleID >> 32) ^ 0xE65B601D; - *(u32*)&KeyX[3][12] = (u32)(DSi::ConsoleID >> 32); - *(u32*)&KeyY[3][0] = 0x0AB9DC76; - *(u32*)&KeyY[3][4] = 0xBD4DC4D3; - *(u32*)&KeyY[3][8] = 0x202DDD1D; -#endif + // initialize keys + FILE* f = Platform::OpenLocalFile("aeskeys.bin", "rb"); if (f) { @@ -233,12 +213,12 @@ u32 ReadCnt() ret |= InputFIFO->Level(); ret |= (OutputFIFO->Level() << 5); - +//printf("READ AES CNT: %08X, LEVELS: IN=%d OUT=%d\n", ret, InputFIFO->Level(), OutputFIFO->Level()); return ret; } void WriteCnt(u32 val) -{ +{printf("AES CNT = %08X\n", val); u32 oldcnt = Cnt; Cnt = val & 0xFC1FF000; @@ -267,41 +247,51 @@ void WriteCnt(u32 val) // transfer start (checkme) RemBlocks = BlkCnt >> 16; - u8 key[16]; - u8 iv[16]; + if (RemBlocks > 0) + { + u8 key[16]; + u8 iv[16]; - Swap16(key, CurKey); - Swap16(iv, IV); + Swap16(key, CurKey); + Swap16(iv, IV); - if (AESMode < 2) - { - if (BlkCnt & 0xFFFF) printf("AES: CCM EXTRA LEN TODO\n"); + if (AESMode < 2) + { + if (BlkCnt & 0xFFFF) printf("AES: CCM EXTRA LEN TODO\n"); - u32 maclen = (val >> 16) & 0x7; - if (maclen < 1) maclen = 1; + u32 maclen = (val >> 16) & 0x7; + if (maclen < 1) maclen = 1; - iv[0] = 0x02; - for (int i = 0; i < 12; i++) iv[1+i] = iv[4+i]; - iv[13] = 0x00; - iv[14] = 0x00; - iv[15] = 0x01; + iv[0] = 0x02; + for (int i = 0; i < 12; i++) iv[1+i] = iv[4+i]; + iv[13] = 0x00; + iv[14] = 0x00; + iv[15] = 0x01; - AES_init_ctx_iv(&Ctx, key, iv); + AES_init_ctx_iv(&Ctx, key, iv); - iv[0] |= (maclen << 3) | ((BlkCnt & 0xFFFF) ? (1<<6) : 0); - iv[13] = RemBlocks >> 12; - iv[14] = RemBlocks >> 4; - iv[15] = RemBlocks << 4; + iv[0] |= (maclen << 3) | ((BlkCnt & 0xFFFF) ? (1<<6) : 0); + iv[13] = RemBlocks >> 12; + iv[14] = RemBlocks >> 4; + iv[15] = RemBlocks << 4; - memcpy(CurMAC, iv, 16); - AES_ECB_encrypt(&Ctx, CurMAC); + memcpy(CurMAC, iv, 16); + AES_ECB_encrypt(&Ctx, CurMAC); + } + else + { + AES_init_ctx_iv(&Ctx, key, iv); + } + + DSi::CheckNDMAs(1, 0x2A); } else { - AES_init_ctx_iv(&Ctx, key, iv); - } + // no blocks to process? oh well. mark it finished + // CHECKME: does this trigger any IRQ or shit? - DSi::CheckNDMAs(1, 0x2A); + Cnt &= ~(1<<31); + } } printf("AES CNT: %08X / mode=%d key=%d inDMA=%d outDMA=%d blocks=%d\n", @@ -309,7 +299,7 @@ void WriteCnt(u32 val) } void WriteBlkCnt(u32 val) -{ +{printf("AES BLOCK CNT %08X / %d\n", val, val>>16); BlkCnt = val; } @@ -415,7 +405,7 @@ void Update() // CHECKME Cnt &= ~(1<<21); } - +printf("AES: FINISHED\n"); Cnt &= ~(1<<31); if (Cnt & (1<<30)) NDS::SetIRQ2(NDS::IRQ2_DSi_AES); DSi::StopNDMAs(1, 0x2A); diff --git a/src/DSi_NDMA.cpp b/src/DSi_NDMA.cpp index e7fc7ab..19c72b6 100644 --- a/src/DSi_NDMA.cpp +++ b/src/DSi_NDMA.cpp @@ -101,8 +101,10 @@ void DSi_NDMA::WriteCnt(u32 val) Start(); if (StartMode != 0x10 && StartMode != 0x30 && - StartMode != 0x2A && StartMode != 0x2B) - printf("UNIMPLEMENTED ARM%d NDMA%d START MODE %02X, %08X->%08X\n", CPU?7:9, Num, StartMode, SrcAddr, DstAddr); + StartMode != 0x04 && StartMode != 0x06 && StartMode != 0x07 && StartMode != 0x08 && StartMode != 0x09 && + StartMode != 0x24 && StartMode != 0x26 && StartMode != 0x28 && StartMode != 0x29 && StartMode != 0x2A && StartMode != 0x2B) + printf("UNIMPLEMENTED ARM%d NDMA%d START MODE %02X, %08X->%08X LEN=%d BLK=%d CNT=%08X\n", + CPU?7:9, Num, StartMode, SrcAddr, DstAddr, TotalLength, BlockLength, Cnt); } } diff --git a/src/DSi_SD.cpp b/src/DSi_SD.cpp index 796466d..a45a8ce 100644 --- a/src/DSi_SD.cpp +++ b/src/DSi_SD.cpp @@ -91,10 +91,16 @@ void DSi_SDHost::Reset() if (Num == 0) { + // TODO: eventually pull from host filesystem + /*DSi_MMCStorage* sd = new DSi_MMCStorage(this, false, "sd.bin"); + u8 sd_cid[16] = {0xBD, 0x12, 0x34, 0x56, 0x78, 0x03, 0x4D, 0x30, 0x30, 0x46, 0x50, 0x41, 0x00, 0x00, 0x15, 0x00}; + sd->SetCID(sd_cid);*/ + DSi_MMCStorage* sd = NULL; + DSi_MMCStorage* mmc = new DSi_MMCStorage(this, true, "nand.bin"); mmc->SetCID(DSi::eMMC_CID); - // TODO: port 0 (SD) + Ports[0] = sd; Ports[1] = mmc; } else @@ -196,6 +202,14 @@ void DSi_SDHost::FinishSend(u32 param) host->ClearIRQ(25); host->SetIRQ(24); //if (param & 0x2) host->SetIRQ(2); + + // TODO: this is an assumption and should eventually be confirmed + // Flipnote sets DMA blocklen to 128 words and totallen to 1024 words + // so, presumably, DMA should trigger when the FIFO is full + // 'full' being when it reaches whatever BlockLen16 is set to, or the + // other blocklen register, or when it is actually full (but that makes + // less sense) + DSi::CheckNDMAs(1, host->Num ? 0x29 : 0x28); } u32 DSi_SDHost::SendData(u8* data, u32 len) @@ -286,7 +300,7 @@ u32 DSi_SDHost::GetTransferrableLen(u32 len) u16 DSi_SDHost::Read(u32 addr) { - //if(Num)printf("SDIO READ %08X %08X\n", addr, NDS::GetPC(1)); + if(!Num)printf("SDMMC READ %08X %08X\n", addr, NDS::GetPC(1)); switch (addr & 0x1FF) { @@ -307,7 +321,24 @@ u16 DSi_SDHost::Read(u32 addr) case 0x018: return ResponseBuffer[6]; case 0x01A: return ResponseBuffer[7]; - case 0x01C: return (IRQStatus & 0x031D) | 0x0030; // TODO: adjust insert flags for SD card + case 0x01C: + { + u16 ret = (IRQStatus & 0x031D); + + if (!Num) + { + if (Ports[0]) // basic check of whether the SD card is inserted + ret |= 0x0030; + else + ret |= 0x0008; + } + else + { + // SDIO wifi is always inserted, I guess + ret |= 0x0030; + } + return ret; + } case 0x01E: return ((IRQStatus >> 16) & 0x8B7F); case 0x020: return IRQMask & 0x031D; case 0x022: return (IRQMask >> 16) & 0x8B7F; @@ -436,7 +467,7 @@ u32 DSi_SDHost::ReadFIFO32() void DSi_SDHost::Write(u32 addr, u16 val) { - //if(Num)printf("SDIO WRITE %08X %04X %08X\n", addr, val, NDS::GetPC(1)); + if(!Num)printf("SDMMC WRITE %08X %04X %08X\n", addr, val, NDS::GetPC(1)); switch (addr & 0x1FF) { @@ -464,7 +495,7 @@ void DSi_SDHost::Write(u32 addr, u16 val) } return; - case 0x002: PortSelect = val; printf("%s: PORT SELECT %04X\n", SD_DESC, val); return; + case 0x002: PortSelect = (val & 0x040F) | (PortSelect & 0x0300); printf("%s: PORT SELECT %04X (%04X)\n", SD_DESC, val, PortSelect); return; case 0x004: Param = (Param & 0xFFFF0000) | val; return; case 0x006: Param = (Param & 0x0000FFFF) | (val << 16); return; @@ -504,7 +535,7 @@ void DSi_SDHost::Write(u32 addr, u16 val) if (DataFIFO[f]->IsFull()) { // TODO - printf("!!!! %s FIFO FULL\n", SD_DESC); + printf("!!!! %s FIFO (16) FULL\n", SD_DESC); return; } @@ -582,12 +613,14 @@ void DSi_SDHost::WriteFIFO32(u32 val) { if (DataMode != 1) return; + printf("%s: WRITE FIFO32: LEVEL=%d/%d\n", SD_DESC, DataFIFO[CurFIFO]->Level(), (BlockLen16>>1)); + DSi_SDDevice* dev = Ports[PortSelect & 0x1]; u32 f = CurFIFO; if (DataFIFO[f]->IsFull()) { // TODO - printf("!!!! %s FIFO FULL\n", SD_DESC); + printf("!!!! %s FIFO (32) FULL\n", SD_DESC); return; } @@ -608,12 +641,26 @@ void DSi_SDHost::WriteFIFO32(u32 val) } +#define MMC_DESC (Internal?"NAND":"SDcard") + DSi_MMCStorage::DSi_MMCStorage(DSi_SDHost* host, bool internal, const char* path) : DSi_SDDevice(host) { Internal = internal; strncpy(FilePath, path, 1023); FilePath[1023] = '\0'; File = Platform::OpenLocalFile(path, "r+b"); + if (!File) + { + if (internal) + { + // TODO: proper failure + printf("!! MMC file %s does not exist\n", path); + } + else + { + File = Platform::OpenLocalFile(path, "w+b"); + } + } CSR = 0x00000100; // checkme @@ -674,6 +721,7 @@ void DSi_MMCStorage::SendCMD(u8 cmd, u32 param) { // TODO printf("CMD3 on SD card: TODO\n"); + Host->SendResponse((CSR & 0x1FFF) | ((CSR >> 6) & 0x2000) | ((CSR >> 8) & 0xC000) | (1 << 16), true); } return; diff --git a/src/NDS.cpp b/src/NDS.cpp index 95265cf..6933e95 100644 --- a/src/NDS.cpp +++ b/src/NDS.cpp @@ -1371,6 +1371,29 @@ void RunTimers(u32 cpu) +// matching NDMA modes for DSi +const u32 NDMAModes[] = +{ + // ARM9 + + 0x10, // immediate + 0x06, // VBlank + 0x07, // HBlank + 0x08, // scanline start + 0x09, // mainmem FIFO + 0x04, // DS cart slot + 0xFF, // GBA cart slot + 0x0A, // GX FIFO + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + + // ARM7 + + 0x30, // immediate + 0x26, // VBlank + 0x24, // DS cart slot + 0xFF, // wifi / GBA cart slot (TODO) +}; + bool DMAsInMode(u32 cpu, u32 mode) { cpu <<= 2; @@ -1378,6 +1401,13 @@ bool DMAsInMode(u32 cpu, u32 mode) if (DMAs[cpu+1]->IsInMode(mode)) return true; if (DMAs[cpu+2]->IsInMode(mode)) return true; if (DMAs[cpu+3]->IsInMode(mode)) return true; + + if (true) + { + cpu >>= 2; + return DSi::NDMAsInMode(cpu, NDMAModes[mode]); + } + return false; } @@ -1399,6 +1429,12 @@ void CheckDMAs(u32 cpu, u32 mode) DMAs[cpu+1]->StartIfNeeded(mode); DMAs[cpu+2]->StartIfNeeded(mode); DMAs[cpu+3]->StartIfNeeded(mode); + + if (true) + { + cpu >>= 2; + DSi::CheckNDMAs(cpu, NDMAModes[mode]); + } } void StopDMAs(u32 cpu, u32 mode) @@ -1408,6 +1444,12 @@ void StopDMAs(u32 cpu, u32 mode) DMAs[cpu+1]->StopIfNeeded(mode); DMAs[cpu+2]->StopIfNeeded(mode); DMAs[cpu+3]->StopIfNeeded(mode); + + if (true) + { + cpu >>= 2; + DSi::StopNDMAs(cpu, NDMAModes[mode]); + } } diff --git a/src/NDSCart.cpp b/src/NDSCart.cpp index 65cf8ae..b0e9837 100644 --- a/src/NDSCart.cpp +++ b/src/NDSCart.cpp @@ -1227,11 +1227,11 @@ void WriteROMCnt(u32 val) *(u32*)&cmd[4] = *(u32*)&ROMCommand[4]; } - printf("ROM COMMAND %04X %08X %02X%02X%02X%02X%02X%02X%02X%02X SIZE %04X\n", + /*printf("ROM COMMAND %04X %08X %02X%02X%02X%02X%02X%02X%02X%02X SIZE %04X\n", SPICnt, ROMCnt, cmd[0], cmd[1], cmd[2], cmd[3], cmd[4], cmd[5], cmd[6], cmd[7], - datasize); + datasize);*/ switch (cmd[0]) { -- cgit v1.2.3 From 0566c9e34c36f7f1841765b02147fd4c890e8550 Mon Sep 17 00:00:00 2001 From: Arisotura Date: Sun, 17 May 2020 13:04:02 +0200 Subject: minor fix --- src/NDSCart.cpp | 5 +++ src/frontend/qt_sdl/Platform.cpp | 2 +- src/frontend/qt_sdl/main.cpp | 68 +--------------------------------------- 3 files changed, 7 insertions(+), 68 deletions(-) (limited to 'src/NDSCart.cpp') diff --git a/src/NDSCart.cpp b/src/NDSCart.cpp index 5a2a0d0..585eadf 100644 --- a/src/NDSCart.cpp +++ b/src/NDSCart.cpp @@ -867,6 +867,11 @@ bool ReadROMParams(u32 gamecode, u32* params) void DecryptSecureArea(u8* out) { + // TODO: source decryption data from different possible sources + // * original DS-mode ARM7 BIOS has the key data at 0x30 + // * .srl ROMs (VC dumps) have encrypted secure areas but have precomputed + // decryption data at 0x1000 (and at the beginning of the DSi region if any) + u32 gamecode = *(u32*)&CartROM[0x0C]; u32 arm9base = *(u32*)&CartROM[0x20]; diff --git a/src/frontend/qt_sdl/Platform.cpp b/src/frontend/qt_sdl/Platform.cpp index 31b5277..fea9166 100644 --- a/src/frontend/qt_sdl/Platform.cpp +++ b/src/frontend/qt_sdl/Platform.cpp @@ -202,7 +202,7 @@ FILE* OpenLocalFile(const char* path, const char* mode) #ifdef __WIN32__ if (pathlen > 3) { - if (path[1] == ':' && path[2] == '\\') + if (path[1] == ':' && (path[2] == '\\' || path[2] == '/')) return OpenFile(path, mode); } #else diff --git a/src/frontend/qt_sdl/main.cpp b/src/frontend/qt_sdl/main.cpp index ec4b04b..67eb3d8 100644 --- a/src/frontend/qt_sdl/main.cpp +++ b/src/frontend/qt_sdl/main.cpp @@ -915,74 +915,8 @@ int main(int argc, char** argv) //if (Config::AudioVolume < 0) Config::AudioVolume = 0; //else if (Config::AudioVolume > 256) Config::AudioVolume = 256; - // TODO: those should be checked before running anything - // (as to let the user specify their own BIOS/firmware path etc) + // TODO: this should be checked before running anything #if 0 - if (!Platform::LocalFileExists("bios7.bin") || - !Platform::LocalFileExists("bios9.bin") || - !Platform::LocalFileExists("firmware.bin")) - { -#if defined(__WIN32__) || defined(UNIX_PORTABLE) - const char* locationName = "the directory you run melonDS from"; -#else - char* locationName = EmuDirectory; -#endif - char msgboxtext[512]; - sprintf(msgboxtext, - "One or more of the following required files don't exist or couldn't be accessed:\n\n" - "bios7.bin -- ARM7 BIOS\n" - "bios9.bin -- ARM9 BIOS\n" - "firmware.bin -- firmware image\n\n" - "Dump the files from your DS and place them in %s.\n" - "Make sure that the files can be accessed.", - locationName - ); - - uiMsgBoxError(NULL, "BIOS/Firmware not found", msgboxtext); - - uiUninit(); - SDL_Quit(); - return 0; - } - if (!Platform::LocalFileExists("firmware.bin.bak")) - { - // verify the firmware - // - // there are dumps of an old hacked firmware floating around on the internet - // and those are problematic - // the hack predates WFC, and, due to this, any game that alters the WFC - // access point data will brick that firmware due to it having critical - // data in the same area. it has the same problem on hardware. - // - // but this should help stop users from reporting that issue over and over - // again, when the issue is not from melonDS but from their firmware dump. - // - // I don't know about all the firmware hacks in existence, but the one I - // looked at has 0x180 bytes from the header repeated at 0x3FC80, but - // bytes 0x0C-0x14 are different. - - FILE* f = Platform::OpenLocalFile("firmware.bin", "rb"); - u8 chk1[0x180], chk2[0x180]; - - fseek(f, 0, SEEK_SET); - fread(chk1, 1, 0x180, f); - fseek(f, -0x380, SEEK_END); - fread(chk2, 1, 0x180, f); - - memset(&chk1[0x0C], 0, 8); - memset(&chk2[0x0C], 0, 8); - - fclose(f); - - if (!memcmp(chk1, chk2, 0x180)) - { - uiMsgBoxError(NULL, - "Problematic firmware dump", - "You are using an old hacked firmware dump.\n" - "Firmware boot will stop working if you run any game that alters WFC settings.\n\n" - "Note that the issue is not from melonDS, it would also happen on an actual DS."); - } - } { const char* romlist_missing = "Save memory type detection will not work correctly.\n\n" "You should use the latest version of romlist.bin (provided in melonDS release packages)."; -- cgit v1.2.3 From 34133ef75c8f6f735604d7368a79a54724f06b99 Mon Sep 17 00:00:00 2001 From: Arisotura Date: Wed, 20 May 2020 01:09:58 +0200 Subject: make it able to map the Tab key --- src/NDSCart.cpp | 1 + src/frontend/qt_sdl/InputConfigDialog.h | 4 ++++ 2 files changed, 5 insertions(+) (limited to 'src/NDSCart.cpp') diff --git a/src/NDSCart.cpp b/src/NDSCart.cpp index 585eadf..8ced842 100644 --- a/src/NDSCart.cpp +++ b/src/NDSCart.cpp @@ -903,6 +903,7 @@ bool LoadROM(const char* path, const char* sram, bool direct) { // TODO: streaming mode? for really big ROMs or systems with limited RAM // for now we're lazy + // also TODO: validate what we're loading!! FILE* f = Platform::OpenFile(path, "rb"); if (!f) diff --git a/src/frontend/qt_sdl/InputConfigDialog.h b/src/frontend/qt_sdl/InputConfigDialog.h index 82e37bc..de57414 100644 --- a/src/frontend/qt_sdl/InputConfigDialog.h +++ b/src/frontend/qt_sdl/InputConfigDialog.h @@ -80,6 +80,8 @@ protected: void keyPressEvent(QKeyEvent* event) override; void focusOutEvent(QFocusEvent* event) override; + bool focusNextPrevChild(bool next) override { return false; } + private slots: void onClick(); @@ -103,6 +105,8 @@ protected: void focusOutEvent(QFocusEvent* event) override; void timerEvent(QTimerEvent* event) override; + bool focusNextPrevChild(bool next) override { return false; } + private slots: void onClick(); -- cgit v1.2.3 From c45068da0eb4dc5ce25524cc0b0a12cd78ed036a Mon Sep 17 00:00:00 2001 From: Arisotura Date: Sat, 30 May 2020 00:28:21 +0200 Subject: embed romlist.bin --- CMakeLists.txt | 4 - romlist.bin | Bin 108384 -> 0 bytes src/CMakeLists.txt | 1 + src/NDSCart.cpp | 51 +- src/ROMList.h | 6809 ++++++++++++++++++++++++++++++++++++++++++ src/frontend/qt_sdl/main.cpp | 33 - 6 files changed, 6829 insertions(+), 69 deletions(-) delete mode 100644 romlist.bin create mode 100644 src/ROMList.h (limited to 'src/NDSCart.cpp') diff --git a/CMakeLists.txt b/CMakeLists.txt index 0309725..885f0dd 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -37,7 +37,3 @@ add_subdirectory(src) if (BUILD_QT_SDL) add_subdirectory(src/frontend/qt_sdl) endif() - -configure_file( - ${CMAKE_SOURCE_DIR}/romlist.bin - ${CMAKE_BINARY_DIR}/romlist.bin COPYONLY) diff --git a/romlist.bin b/romlist.bin deleted file mode 100644 index 537439e..0000000 Binary files a/romlist.bin and /dev/null differ diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 56bb3cb..3dc4243 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -27,6 +27,7 @@ add_library(core STATIC NDSCart.cpp OpenGLSupport.cpp Platform.h + ROMList.h RTC.cpp Savestate.cpp SPI.cpp diff --git a/src/NDSCart.cpp b/src/NDSCart.cpp index 8ced842..a8c6549 100644 --- a/src/NDSCart.cpp +++ b/src/NDSCart.cpp @@ -23,6 +23,7 @@ #include "ARM.h" #include "CRC32.h" #include "Platform.h" +#include "ROMList.h" namespace NDSCart_SRAM @@ -808,34 +809,21 @@ void ApplyDLDIPatch() } -bool ReadROMParams(u32 gamecode, u32* params) +bool ReadROMParams(u32 gamecode, ROMListEntry* params) { - // format for romlist.bin: - // [gamecode] [ROM size] [save type] [reserved] - // list must be sorted by gamecode - - FILE* f = Platform::OpenDataFile("romlist.bin"); - if (!f) return false; - - fseek(f, 0, SEEK_END); - u32 len = (u32)ftell(f); - u32 maxlen = len; - len >>= 4; // 16 bytes per entry + u32 len = sizeof(ROMList) / sizeof(ROMListEntry); u32 offset = 0; u32 chk_size = len >> 1; for (;;) { u32 key = 0; - fseek(f, offset + (chk_size << 4), SEEK_SET); - fread(&key, 4, 1, f); - - printf("chk_size=%d, key=%08X, wanted=%08X, offset=%08X\n", chk_size, key, gamecode, offset); + ROMListEntry* curentry = &ROMList[offset + chk_size]; + key = curentry->GameCode; if (key == gamecode) { - fread(params, 4, 3, f); - fclose(f); + memcpy(params, curentry, sizeof(ROMListEntry)); return true; } else @@ -843,22 +831,20 @@ bool ReadROMParams(u32 gamecode, u32* params) if (key < gamecode) { if (chk_size == 0) - offset += 0x10; + offset++; else - offset += (chk_size << 4); + offset += chk_size; } else if (chk_size == 0) { - fclose(f); return false; } chk_size >>= 1; } - if (offset >= maxlen) + if (offset >= len) { - fclose(f); return false; } } @@ -936,22 +922,23 @@ bool LoadROM(const char* path, const char* sram, bool direct) CartCRC = CRC32(CartROM, CartROMSize); printf("ROM CRC32: %08X\n", CartCRC); - u32 romparams[3]; - if (!ReadROMParams(gamecode, romparams)) + ROMListEntry romparams; + if (!ReadROMParams(gamecode, &romparams)) { // set defaults printf("ROM entry not found\n"); - romparams[0] = CartROMSize; + romparams.GameCode = gamecode; + romparams.ROMSize = CartROMSize; if (*(u32*)&CartROM[0x20] < 0x4000) - romparams[1] = 0; // no saveRAM for homebrew + romparams.SaveMemType = 0; // no saveRAM for homebrew else - romparams[1] = 2; // assume EEPROM 64k (TODO FIXME) + romparams.SaveMemType = 2; // assume EEPROM 64k (TODO FIXME) } else - printf("ROM entry: %08X %08X %08X\n", romparams[0], romparams[1], romparams[2]); + printf("ROM entry: %08X %08X\n", romparams.ROMSize, romparams.SaveMemType); - if (romparams[0] != len) printf("!! bad ROM size %d (expected %d) rounded to %d\n", len, romparams[0], CartROMSize); + if (romparams.ROMSize != len) printf("!! bad ROM size %d (expected %d) rounded to %d\n", len, romparams.ROMSize, CartROMSize); // generate a ROM ID // note: most games don't check the actual value @@ -963,7 +950,7 @@ bool LoadROM(const char* path, const char* sram, bool direct) else CartID |= (0x100 - (CartROMSize >> 28)) << 8; - if (romparams[1] == 8) + if (romparams.SaveMemType == 8) CartID |= 0x08000000; // NAND flag printf("Cart ID: %08X\n", CartID); @@ -1018,7 +1005,7 @@ bool LoadROM(const char* path, const char* sram, bool direct) // save printf("Save file: %s\n", sram); - NDSCart_SRAM::LoadSave(sram, romparams[1]); + NDSCart_SRAM::LoadSave(sram, romparams.SaveMemType); return true; } diff --git a/src/ROMList.h b/src/ROMList.h new file mode 100644 index 0000000..ead3ee4 --- /dev/null +++ b/src/ROMList.h @@ -0,0 +1,6809 @@ +/* + Copyright 2016-2020 Arisotura + + This file is part of melonDS. + + melonDS is free software: you can redistribute it and/or modify it under + the terms of the GNU General Public License as published by the Free + Software Foundation, either version 3 of the License, or (at your option) + any later version. + + melonDS is distributed in the hope that it will be useful, but WITHOUT ANY + WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS + FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. + + You should have received a copy of the GNU General Public License along + with melonDS. If not, see http://www.gnu.org/licenses/. +*/ + +#ifndef ROMLIST_H +#define ROMLIST_H + +typedef struct +{ + u32 GameCode; + u32 ROMSize; + u32 SaveMemType; + +} ROMListEntry; + + +ROMListEntry ROMList[] = +{ + {0x41464141, 0x00800000, 0x00000004}, + {0x414D4155, 0x00800000, 0x00000008}, + {0x43363341, 0x02000000, 0x00000008}, + {0x43443241, 0x02000000, 0x00000002}, + {0x43495941, 0x01000000, 0x00000001}, + {0x434D5341, 0x01000000, 0x00000002}, + {0x434E5341, 0x00800000, 0x00000002}, + {0x43575A41, 0x02000000, 0x00000002}, + {0x44323643, 0x04000000, 0x00000001}, + {0x44324254, 0x04000000, 0x00000002}, + {0x44324C43, 0x00800000, 0x00000001}, + {0x44325542, 0x01000000, 0x00000002}, + {0x44325942, 0x00800000, 0x00000001}, + {0x44334444, 0x02000000, 0x00000001}, + {0x44334542, 0x04000000, 0x00000001}, + {0x44334754, 0x00800000, 0x00000002}, + {0x44334756, 0x02000000, 0x00000002}, + {0x44335141, 0x04000000, 0x00000002}, + {0x44335159, 0x04000000, 0x00000002}, + {0x44335254, 0x02000000, 0x00000001}, + {0x44335742, 0x08000000, 0x00000002}, + {0x44335942, 0x00800000, 0x00000001}, + {0x44343642, 0x00800000, 0x00000001}, + {0x44344259, 0x02000000, 0x00000001}, + {0x44344443, 0x00800000, 0x00000001}, + {0x44345254, 0x02000000, 0x00000001}, + {0x44345542, 0x00800000, 0x00000002}, + {0x44345942, 0x00800000, 0x00000001}, + {0x44353243, 0x02000000, 0x00000002}, + {0x44353642, 0x00800000, 0x00000001}, + {0x44353842, 0x01000000, 0x00000001}, + {0x44354259, 0x02000000, 0x00000002}, + {0x44354442, 0x01000000, 0x00000002}, + {0x44354659, 0x01000000, 0x00000001}, + {0x44354841, 0x02000000, 0x00000002}, + {0x44354C42, 0x01000000, 0x00000002}, + {0x44354C43, 0x00000000, 0x00000001}, + {0x44355342, 0x01000000, 0x00000001}, + {0x44355542, 0x02000000, 0x00000002}, + {0x44355942, 0x00800000, 0x00000001}, + {0x44363243, 0x01000000, 0x00000002}, + {0x44364142, 0x02000000, 0x00000002}, + {0x44364341, 0x01000000, 0x00000002}, + {0x44364843, 0x04000000, 0x00000001}, + {0x44364B43, 0x02000000, 0x00000002}, + {0x44364C42, 0x01000000, 0x00000002}, + {0x44365542, 0x01000000, 0x00000002}, + {0x44374543, 0x02000000, 0x00000002}, + {0x44374959, 0x04000000, 0x00000002}, + {0x44375359, 0x02000000, 0x00000001}, + {0x44384243, 0x02000000, 0x00000001}, + {0x44384A59, 0x01000000, 0x00000002}, + {0x44384F42, 0x01000000, 0x00000001}, + {0x44394259, 0x02000000, 0x00000003}, + {0x44394341, 0x04000000, 0x00000001}, + {0x44394543, 0x01000000, 0x00000003}, + {0x44414441, 0x04000000, 0x00000006}, + {0x44414A42, 0x01000000, 0x00000003}, + {0x44414C59, 0x00800000, 0x00000002}, + {0x44414D56, 0x02000000, 0x00000001}, + {0x44414E43, 0x04000000, 0x00000001}, + {0x44415041, 0x04000000, 0x00000006}, + {0x44415249, 0x10000000, 0x00000006}, + {0x44423542, 0x04000000, 0x00000002}, + {0x44424242, 0x00000000, 0x00000001}, + {0x44424354, 0x08000000, 0x00000001}, + {0x44424542, 0x10000000, 0x00000003}, + {0x44424A42, 0x04000000, 0x00000001}, + {0x44424B42, 0x01000000, 0x00000001}, + {0x44424C54, 0x02000000, 0x00000001}, + {0x44425249, 0x10000000, 0x00000006}, + {0x44425642, 0x02000000, 0x00000002}, + {0x44434343, 0x02000000, 0x00000002}, + {0x44434643, 0x02000000, 0x00000002}, + {0x44434842, 0x01000000, 0x00000001}, + {0x44434A42, 0x04000000, 0x00000002}, + {0x44434C54, 0x01000000, 0x00000001}, + {0x44435159, 0x01000000, 0x00000001}, + {0x44435342, 0x08000000, 0x00000002}, + {0x44435359, 0x01000000, 0x00000001}, + {0x44435559, 0x04000000, 0x00000002}, + {0x44435943, 0x02000000, 0x00000002}, + {0x44444254, 0x04000000, 0x00000002}, + {0x44444842, 0x04000000, 0x00000001}, + {0x44444856, 0x02000000, 0x00000002}, + {0x44445054, 0x08000000, 0x00000001}, + {0x44445249, 0x20000000, 0x00000006}, + {0x44445443, 0x00000000, 0x00000002}, + {0x44445459, 0x02000000, 0x00000002}, + {0x44445641, 0x01000000, 0x00000002}, + {0x44454242, 0x01000000, 0x00000001}, + {0x44454542, 0x10000000, 0x00000003}, + {0x44454559, 0x10000000, 0x00000003}, + {0x44454756, 0x02000000, 0x00000002}, + {0x44454842, 0x02000000, 0x00000002}, + {0x44454D54, 0x00800000, 0x00000002}, + {0x44454E42, 0x02000000, 0x00000001}, + {0x44454E59, 0x02000000, 0x00000002}, + {0x44455143, 0x04000000, 0x00000002}, + {0x44455249, 0x20000000, 0x00000006}, + {0x44455342, 0x01000000, 0x00000001}, + {0x44455642, 0x00800000, 0x00000002}, + {0x44464242, 0x02000000, 0x00000001}, + {0x44464B42, 0x04000000, 0x00000002}, + {0x44464B59, 0x02000000, 0x00000001}, + {0x44464C42, 0x10000000, 0x00000003}, + {0x44465343, 0x00800000, 0x00000001}, + {0x44465359, 0x04000000, 0x00000001}, + {0x44465442, 0x01000000, 0x00000002}, + {0x44473242, 0x04000000, 0x00000001}, + {0x44474B42, 0x00800000, 0x00000002}, + {0x44474C43, 0x04000000, 0x00000001}, + {0x44474D41, 0x01000000, 0x00000001}, + {0x44474D43, 0x04000000, 0x00000001}, + {0x44475049, 0x08000000, 0x00000006}, + {0x44475759, 0x01000000, 0x00000001}, + {0x44483842, 0x04000000, 0x00000002}, + {0x44485142, 0x00800000, 0x00000002}, + {0x44485442, 0x01000000, 0x00000002}, + {0x44493643, 0x00800000, 0x00000001}, + {0x44494243, 0x02000000, 0x00000001}, + {0x44494442, 0x04000000, 0x00000001}, + {0x44494C43, 0x04000000, 0x00000001}, + {0x44495443, 0x00000000, 0x00000002}, + {0x44495742, 0x01000000, 0x00000002}, + {0x444A3343, 0x10000000, 0x00000003}, + {0x444A3443, 0x00800000, 0x00000001}, + {0x444A4542, 0x04000000, 0x00000001}, + {0x444A4742, 0x02000000, 0x00000002}, + {0x444A4F42, 0x04000000, 0x00000002}, + {0x444A5543, 0x00000000, 0x00000002}, + {0x444A5641, 0x04000000, 0x00000002}, + {0x444B3842, 0x02000000, 0x00000002}, + {0x444B4159, 0x08000000, 0x00000002}, + {0x444B4356, 0x08000000, 0x00000002}, + {0x444B4C42, 0x04000000, 0x00000001}, + {0x444B5049, 0x08000000, 0x00000006}, + {0x444C3643, 0x01000000, 0x00000001}, + {0x444C4254, 0x00800000, 0x00000001}, + {0x444C4842, 0x04000000, 0x00000002}, + {0x444C5059, 0x00800000, 0x00000001}, + {0x444C5941, 0x01000000, 0x00000002}, + {0x444D3442, 0x02000000, 0x00000001}, + {0x444D4359, 0x02000000, 0x00000001}, + {0x444D4C54, 0x08000000, 0x00000001}, + {0x444D5642, 0x02000000, 0x00000001}, + {0x444E4242, 0x00800000, 0x00000002}, + {0x444E4259, 0x04000000, 0x00000007}, + {0x444E4641, 0x02000000, 0x00000002}, + {0x444E4C54, 0x00800000, 0x00000002}, + {0x444E4D42, 0x01000000, 0x00000001}, + {0x444F4142, 0x04000000, 0x00000001}, + {0x444F4359, 0x04000000, 0x00000001}, + {0x444F4543, 0x02000000, 0x00000002}, + {0x444F4642, 0x00800000, 0x00000001}, + {0x444F4656, 0x02000000, 0x00000002}, + {0x444F5056, 0x02000000, 0x00000002}, + {0x444F5143, 0x02000000, 0x00000001}, + {0x44504C43, 0x04000000, 0x00000003}, + {0x44505041, 0x01000000, 0x00000002}, + {0x44505342, 0x01000000, 0x00000002}, + {0x44505542, 0x01000000, 0x00000001}, + {0x44505A55, 0x08000000, 0x00000003}, + {0x44513343, 0x04000000, 0x00000002}, + {0x44513443, 0x04000000, 0x00000002}, + {0x44513743, 0x02000000, 0x00000002}, + {0x44514543, 0x04000000, 0x00000002}, + {0x44514A59, 0x01000000, 0x00000001}, + {0x44514C54, 0x00800000, 0x00000002}, + {0x44515142, 0x01000000, 0x00000002}, + {0x44515543, 0x04000000, 0x00000002}, + {0x44515642, 0x02000000, 0x00000002}, + {0x44524642, 0x08000000, 0x00000002}, + {0x44524842, 0x02000000, 0x00000001}, + {0x44525359, 0x00000000, 0x00000005}, + {0x44525642, 0x04000000, 0x00000001}, + {0x44533341, 0x02000000, 0x00000001}, + {0x44534F41, 0x08000000, 0x00000005}, + {0x44535143, 0x02000000, 0x00000001}, + {0x44535342, 0x01000000, 0x00000002}, + {0x44535541, 0x04000000, 0x00000001}, + {0x44535642, 0x02000000, 0x00000002}, + {0x44544442, 0x00800000, 0x00000001}, + {0x44544C59, 0x08000000, 0x00000002}, + {0x44545659, 0x02000000, 0x00000001}, + {0x44545759, 0x01000000, 0x00000001}, + {0x44553243, 0x04000000, 0x00000002}, + {0x44553642, 0x00800000, 0x00000001}, + {0x44554254, 0x02000000, 0x00000001}, + {0x44554259, 0x08000000, 0x00000003}, + {0x44554959, 0x04000000, 0x00000001}, + {0x44554D59, 0x04000000, 0x00000002}, + {0x44555043, 0x08000000, 0x00000006}, + {0x44563442, 0x02000000, 0x00000001}, + {0x44564159, 0x04000000, 0x00000002}, + {0x44564643, 0x02000000, 0x00000002}, + {0x44564859, 0x04000000, 0x00000001}, + {0x44564A59, 0x01000000, 0x00000002}, + {0x44564B43, 0x01000000, 0x00000002}, + {0x44564C42, 0x01000000, 0x00000001}, + {0x44564E43, 0x10000000, 0x00000005}, + {0x44565042, 0x00800000, 0x00000002}, + {0x44565841, 0x04000000, 0x00000003}, + {0x44573742, 0x01000000, 0x00000002}, + {0x44574242, 0x01000000, 0x00000002}, + {0x44574642, 0x00800000, 0x00000001}, + {0x44574943, 0x08000000, 0x00000002}, + {0x44574C41, 0x02000000, 0x00000001}, + {0x44574C42, 0x02000000, 0x00000001}, + {0x44575343, 0x04000000, 0x00000001}, + {0x44584D59, 0x00800000, 0x00000001}, + {0x44593443, 0x00000000, 0x00000001}, + {0x44593642, 0x02000000, 0x00000002}, + {0x44594159, 0x02000000, 0x00000001}, + {0x44594442, 0x04000000, 0x00000002}, + {0x44594641, 0x04000000, 0x00000001}, + {0x44594842, 0x01000000, 0x00000001}, + {0x44594A42, 0x04000000, 0x00000001}, + {0x44594A43, 0x04000000, 0x00000001}, + {0x44594A59, 0x00800000, 0x00000001}, + {0x44594C41, 0x04000000, 0x00000001}, + {0x44594D42, 0x01000000, 0x00000002}, + {0x44595143, 0x01000000, 0x00000001}, + {0x445A3643, 0x01000000, 0x00000001}, + {0x445A3659, 0x08000000, 0x00000000}, + {0x445A4341, 0x01000000, 0x00000001}, + {0x445A4641, 0x04000000, 0x00000001}, + {0x445A5054, 0x04000000, 0x00000002}, + {0x445A5142, 0x00000000, 0x00000002}, + {0x445A5359, 0x08000000, 0x00000001}, + {0x445A5442, 0x02000000, 0x00000001}, + {0x445A5443, 0x02000000, 0x00000003}, + {0x445A5942, 0x02000000, 0x00000002}, + {0x45323241, 0x01000000, 0x00000002}, + {0x45323341, 0x04000000, 0x00000008}, + {0x45323343, 0x04000000, 0x00000003}, + {0x45323542, 0x01000000, 0x00000001}, + {0x45323559, 0x08000000, 0x00000008}, + {0x45323643, 0x04000000, 0x00000001}, + {0x45323741, 0x01000000, 0x00000000}, + {0x45323859, 0x00800000, 0x00000000}, + {0x45324142, 0x04000000, 0x00000001}, + {0x45324143, 0x08000000, 0x00000003}, + {0x45324241, 0x02000000, 0x00000002}, + {0x45324242, 0x04000000, 0x00000002}, + {0x45324259, 0x02000000, 0x00000002}, + {0x45324341, 0x04000000, 0x00000001}, + {0x45324343, 0x01000000, 0x00000001}, + {0x45324354, 0x00800000, 0x00000001}, + {0x45324356, 0x02000000, 0x00000001}, + {0x45324359, 0x04000000, 0x00000006}, + {0x45324441, 0x02000000, 0x00000005}, + {0x45324442, 0x01000000, 0x00000002}, + {0x45324456, 0x04000000, 0x00000001}, + {0x45324459, 0x01000000, 0x00000003}, + {0x45324542, 0x00800000, 0x00000003}, + {0x45324643, 0x01000000, 0x00000001}, + {0x45324654, 0x04000000, 0x00000000}, + {0x45324741, 0x04000000, 0x00000001}, + {0x45324759, 0x01000000, 0x00000001}, + {0x45324842, 0x02000000, 0x00000003}, + {0x45324854, 0x01000000, 0x00000001}, + {0x45324859, 0x02000000, 0x00000003}, + {0x45324941, 0x04000000, 0x00000002}, + {0x45324A42, 0x04000000, 0x00000001}, + {0x45324A59, 0x02000000, 0x00000002}, + {0x45324B41, 0x02000000, 0x00000001}, + {0x45324C41, 0x04000000, 0x00000002}, + {0x45324C59, 0x08000000, 0x00000003}, + {0x45324D56, 0x04000000, 0x00000002}, + {0x45324D59, 0x01000000, 0x00000001}, + {0x45325041, 0x02000000, 0x00000001}, + {0x45325042, 0x02000000, 0x00000001}, + {0x45325043, 0x04000000, 0x00000003}, + {0x45325059, 0x04000000, 0x00000005}, + {0x45325141, 0x02000000, 0x00000002}, + {0x45325242, 0x02000000, 0x00000001}, + {0x45325254, 0x02000000, 0x00000002}, + {0x45325341, 0x01000000, 0x00000001}, + {0x45325342, 0x02000000, 0x00000005}, + {0x45325343, 0x00800000, 0x00000001}, + {0x45325359, 0x04000000, 0x00000005}, + {0x45325442, 0x04000000, 0x00000003}, + {0x45325459, 0x00800000, 0x00000001}, + {0x45325642, 0x02000000, 0x00000001}, + {0x45325741, 0x02000000, 0x00000003}, + {0x45325742, 0x01000000, 0x00000002}, + {0x45325759, 0x04000000, 0x00000005}, + {0x45325841, 0x00800000, 0x00000001}, + {0x45325A43, 0x01000000, 0x00000003}, + {0x45333241, 0x01000000, 0x00000008}, + {0x45333259, 0x04000000, 0x00000008}, + {0x45333441, 0x00800000, 0x00000008}, + {0x45333641, 0x02000000, 0x00000008}, + {0x45333759, 0x08000000, 0x00000008}, + {0x45333842, 0x08000000, 0x00000001}, + {0x45333859, 0x00800000, 0x00000000}, + {0x45334159, 0x00800000, 0x00000001}, + {0x45334241, 0x04000000, 0x00000003}, + {0x45334242, 0x08000000, 0x00000001}, + {0x45334259, 0x04000000, 0x00000005}, + {0x45334341, 0x04000000, 0x00000005}, + {0x45334441, 0x02000000, 0x00000005}, + {0x45334442, 0x04000000, 0x00000001}, + {0x45334443, 0x04000000, 0x00000001}, + {0x45334541, 0x04000000, 0x00000001}, + {0x45334641, 0x00800000, 0x00000001}, + {0x45334643, 0x00800000, 0x00000001}, + {0x45334659, 0x02000000, 0x00000002}, + {0x45334741, 0x02000000, 0x00000005}, + {0x45334743, 0x02000000, 0x00000002}, + {0x45334759, 0x02000000, 0x00000003}, + {0x45334841, 0x04000000, 0x00000003}, + {0x45334943, 0x04000000, 0x00000001}, + {0x45334959, 0x04000000, 0x00000002}, + {0x45334A42, 0x04000000, 0x00000005}, + {0x45334A43, 0x00800000, 0x00000001}, + {0x45334A56, 0x02000000, 0x00000001}, + {0x45334B41, 0x02000000, 0x00000002}, + {0x45334C41, 0x02000000, 0x00000001}, + {0x45334C59, 0x04000000, 0x00000002}, + {0x45334D43, 0x08000000, 0x00000003}, + {0x45334D54, 0x02000000, 0x00000001}, + {0x45334F41, 0x02000000, 0x00000001}, + {0x45335043, 0x08000000, 0x00000005}, + {0x45335141, 0x04000000, 0x00000002}, + {0x45335159, 0x04000000, 0x00000002}, + {0x45335341, 0x02000000, 0x00000001}, + {0x45335342, 0x01000000, 0x00000001}, + {0x45335343, 0x04000000, 0x00000003}, + {0x45335356, 0x08000000, 0x00000005}, + {0x45335359, 0x00800000, 0x00000001}, + {0x45335456, 0x04000000, 0x00000002}, + {0x45335459, 0x04000000, 0x00000003}, + {0x45335541, 0x02000000, 0x00000002}, + {0x45335543, 0x02000000, 0x00000001}, + {0x45335741, 0x04000000, 0x00000001}, + {0x45335743, 0x08000000, 0x00000002}, + {0x45335759, 0x01000000, 0x00000001}, + {0x45343243, 0x08000000, 0x00000003}, + {0x45343459, 0x00800000, 0x00000000}, + {0x45343543, 0x02000000, 0x00000003}, + {0x45343559, 0x01000000, 0x00000000}, + {0x45343842, 0x02000000, 0x00000001}, + {0x45344241, 0x04000000, 0x00000005}, + {0x45344259, 0x02000000, 0x00000001}, + {0x45344341, 0x04000000, 0x00000001}, + {0x45344441, 0x02000000, 0x00000005}, + {0x45344643, 0x00800000, 0x00000001}, + {0x45344659, 0x08000000, 0x00000003}, + {0x45344759, 0x10000000, 0x00000003}, + {0x45344842, 0x00800000, 0x00000001}, + {0x45344843, 0x04000000, 0x00000002}, + {0x45344943, 0x04000000, 0x00000002}, + {0x45344A42, 0x00800000, 0x00000001}, + {0x45344A43, 0x01000000, 0x00000001}, + {0x45344A56, 0x02000000, 0x00000001}, + {0x45344C41, 0x00800000, 0x00000001}, + {0x45344D41, 0x00800000, 0x00000000}, + {0x45344D43, 0x01000000, 0x00000003}, + {0x45344D56, 0x02000000, 0x00000002}, + {0x45344E41, 0x04000000, 0x00000001}, + {0x45345059, 0x04000000, 0x00000002}, + {0x45345141, 0x02000000, 0x00000001}, + {0x45345341, 0x02000000, 0x00000003}, + {0x45345342, 0x01000000, 0x00000001}, + {0x45345456, 0x04000000, 0x00000003}, + {0x45345459, 0x02000000, 0x00000001}, + {0x45345642, 0x01000000, 0x00000001}, + {0x45345643, 0x04000000, 0x00000001}, + {0x45345659, 0x08000000, 0x00000003}, + {0x45345741, 0x02000000, 0x00000002}, + {0x45345742, 0x02000000, 0x00000002}, + {0x45345759, 0x04000000, 0x00000003}, + {0x45345A43, 0x04000000, 0x00000001}, + {0x45353541, 0x01000000, 0x00000008}, + {0x45353542, 0x00800000, 0x00000001}, + {0x45353841, 0x02000000, 0x00000008}, + {0x45353941, 0x04000000, 0x00000008}, + {0x45354143, 0x08000000, 0x00000003}, + {0x45354259, 0x02000000, 0x00000002}, + {0x45354359, 0x00800000, 0x00000008}, + {0x45354441, 0x02000000, 0x00000005}, + {0x45354443, 0x02000000, 0x00000001}, + {0x45354643, 0x00800000, 0x00000002}, + {0x45354741, 0x01000000, 0x00000001}, + {0x45354743, 0x04000000, 0x00000001}, + {0x45354841, 0x02000000, 0x00000002}, + {0x45354943, 0x01000000, 0x00000001}, + {0x45354959, 0x04000000, 0x00000002}, + {0x45354B41, 0x02000000, 0x00000001}, + {0x45354B43, 0x04000000, 0x00000005}, + {0x45354C41, 0x04000000, 0x00000001}, + {0x45354D43, 0x04000000, 0x00000001}, + {0x45354E59, 0x04000000, 0x00000002}, + {0x45354F42, 0x10000000, 0x00000005}, + {0x45355043, 0x02000000, 0x00000001}, + {0x45355059, 0x01000000, 0x00000001}, + {0x45355141, 0x00800000, 0x00000001}, + {0x45355241, 0x02000000, 0x00000001}, + {0x45355243, 0x08000000, 0x00000001}, + {0x45355259, 0x02000000, 0x00000002}, + {0x45355341, 0x01000000, 0x00000001}, + {0x45355342, 0x01000000, 0x00000001}, + {0x45355343, 0x04000000, 0x00000001}, + {0x45355356, 0x02000000, 0x00000002}, + {0x45355359, 0x04000000, 0x00000001}, + {0x45355541, 0x00800000, 0x00000001}, + {0x45355643, 0x02000000, 0x00000001}, + {0x45355659, 0x08000000, 0x00000003}, + {0x45355843, 0x01000000, 0x00000001}, + {0x45355941, 0x08000000, 0x00000003}, + {0x45363241, 0x02000000, 0x00000008}, + {0x45363341, 0x02000000, 0x00000008}, + {0x45363359, 0x01000000, 0x00000008}, + {0x45363442, 0x01000000, 0x00000001}, + {0x45363543, 0x02000000, 0x00000002}, + {0x45363559, 0x04000000, 0x00000008}, + {0x45363642, 0x01000000, 0x00000001}, + {0x45363741, 0x04000000, 0x00000008}, + {0x45363742, 0x02000000, 0x00000001}, + {0x45363842, 0x00800000, 0x00000001}, + {0x45364241, 0x02000000, 0x00000001}, + {0x45364243, 0x02000000, 0x00000002}, + {0x45364254, 0x02000000, 0x00000001}, + {0x45364341, 0x01000000, 0x00000002}, + {0x45364356, 0x02000000, 0x00000002}, + {0x45364542, 0x02000000, 0x00000002}, + {0x45364641, 0x02000000, 0x00000002}, + {0x45364643, 0x04000000, 0x00000002}, + {0x45364742, 0x02000000, 0x00000002}, + {0x45364743, 0x08000000, 0x00000002}, + {0x45364759, 0x04000000, 0x00000002}, + {0x45364841, 0x01000000, 0x00000001}, + {0x45364843, 0x04000000, 0x00000001}, + {0x45364A56, 0x02000000, 0x00000001}, + {0x45364B41, 0x01000000, 0x00000001}, + {0x45364B59, 0x00800000, 0x00000008}, + {0x45364C41, 0x01000000, 0x00000001}, + {0x45364C43, 0x02000000, 0x00000001}, + {0x45364D41, 0x02000000, 0x00000005}, + {0x45364D43, 0x08000000, 0x00000002}, + {0x45364D54, 0x01000000, 0x00000001}, + {0x45364E41, 0x02000000, 0x00000001}, + {0x45364F41, 0x08000000, 0x00000001}, + {0x45365042, 0x01000000, 0x00000001}, + {0x45365241, 0x00800000, 0x00000002}, + {0x45365242, 0x02000000, 0x00000002}, + {0x45365259, 0x02000000, 0x00000002}, + {0x45365342, 0x01000000, 0xFFFFFFFF}, + {0x45365343, 0x04000000, 0x00000002}, + {0x45365359, 0x04000000, 0x00000005}, + {0x45365541, 0x00800000, 0x00000002}, + {0x45365559, 0x02000000, 0x00000002}, + {0x45365642, 0x01000000, 0x00000001}, + {0x45365742, 0x01000000, 0x00000001}, + {0x45365743, 0x04000000, 0x00000002}, + {0x45365941, 0x00800000, 0x00000005}, + {0x45365A42, 0x04000000, 0x00000002}, + {0x45373243, 0x08000000, 0x00000003}, + {0x45373359, 0x01000000, 0x00000001}, + {0x45373442, 0x01000000, 0x00000001}, + {0x45373541, 0x01000000, 0x00000008}, + {0x45373542, 0x00800000, 0xFFFFFFFF}, + {0x45373643, 0x00800000, 0x00000001}, + {0x45374143, 0x02000000, 0x00000002}, + {0x45374159, 0x02000000, 0x00000002}, + {0x45374241, 0x00800000, 0x00000001}, + {0x45374242, 0x02000000, 0x00000002}, + {0x45374243, 0x02000000, 0x00000002}, + {0x45374259, 0x04000000, 0x00000002}, + {0x45374341, 0x00800000, 0x00000002}, + {0x45374342, 0x01000000, 0x00000001}, + {0x45374441, 0x04000000, 0x00000005}, + {0x45374442, 0x00800000, 0x00000001}, + {0x45374542, 0x04000000, 0x00000002}, + {0x45374641, 0x02000000, 0x00000002}, + {0x45374659, 0x01000000, 0x00000002}, + {0x45374741, 0x02000000, 0x00000002}, + {0x45374742, 0x04000000, 0x00000001}, + {0x45374842, 0x00800000, 0x00000001}, + {0x45374943, 0x04000000, 0x00000002}, + {0x45374A42, 0x00800000, 0x00000001}, + {0x45374A43, 0x04000000, 0x00000001}, + {0x45374C41, 0x02000000, 0x00000001}, + {0x45374C43, 0x01000000, 0x00000002}, + {0x45374D41, 0x02000000, 0x00000002}, + {0x45374D43, 0x02000000, 0x00000008}, + {0x45374D59, 0x04000000, 0x00000002}, + {0x45374E41, 0x02000000, 0x00000002}, + {0x45375043, 0x04000000, 0x00000002}, + {0x45375141, 0x00800000, 0x00000002}, + {0x45375143, 0x04000000, 0x00000001}, + {0x45375242, 0x02000000, 0x00000002}, + {0x45375341, 0x08000000, 0x00000003}, + {0x45375359, 0x02000000, 0x00000001}, + {0x45375459, 0x04000000, 0x00000002}, + {0x45375541, 0x02000000, 0x00000002}, + {0x45375643, 0x00800000, 0x00000001}, + {0x45375742, 0x02000000, 0x00000002}, + {0x45375759, 0x04000000, 0x00000001}, + {0x45375842, 0x01000000, 0x00000001}, + {0x45375941, 0x08000000, 0x00000005}, + {0x45375943, 0x04000000, 0x00000002}, + {0x45375A42, 0x00800000, 0x00000001}, + {0x45383259, 0x02000000, 0x00000008}, + {0x45383342, 0x00800000, 0x00000001}, + {0x45383343, 0x04000000, 0x00000005}, + {0x45383541, 0x02000000, 0x00000008}, + {0x45383542, 0x00800000, 0x00000001}, + {0x45383559, 0x00800000, 0x00000000}, + {0x45384142, 0x00800000, 0x00000001}, + {0x45384159, 0x01000000, 0x00000002}, + {0x45384241, 0x02000000, 0x00000001}, + {0x45384242, 0x04000000, 0x00000002}, + {0x45384243, 0x02000000, 0x00000001}, + {0x45384342, 0x00800000, 0x00000001}, + {0x45384359, 0x01000000, 0x00000002}, + {0x45384443, 0x02000000, 0x00000002}, + {0x45384643, 0x04000000, 0x00000002}, + {0x45384659, 0x02000000, 0x00000003}, + {0x45384741, 0x04000000, 0x00000003}, + {0x45384759, 0x08000000, 0x00000005}, + {0x45384841, 0x02000000, 0x00000001}, + {0x45384842, 0x01000000, 0x00000001}, + {0x45384941, 0x02000000, 0x00000002}, + {0x45384959, 0x04000000, 0x00000001}, + {0x45384C41, 0x04000000, 0x00000001}, + {0x45384C43, 0x04000000, 0x00000002}, + {0x45384C59, 0x01000000, 0x00000001}, + {0x45384D41, 0x01000000, 0x00000001}, + {0x45384D42, 0x04000000, 0x00000001}, + {0x45384D43, 0x02000000, 0x00000002}, + {0x45384E41, 0x00800000, 0x00000001}, + {0x45384E42, 0x01000000, 0x00000001}, + {0x45384F41, 0x04000000, 0x00000003}, + {0x45384F59, 0x08000000, 0x00000003}, + {0x45385043, 0x02000000, 0x00000002}, + {0x45385059, 0x01000000, 0x00000001}, + {0x45385141, 0x00800000, 0x00000002}, + {0x45385142, 0x04000000, 0x00000002}, + {0x45385143, 0x01000000, 0x00000001}, + {0x45385243, 0x04000000, 0x00000002}, + {0x45385259, 0x02000000, 0x00000002}, + {0x45385342, 0x04000000, 0x00000002}, + {0x45385359, 0x04000000, 0x00000001}, + {0x45385442, 0x08000000, 0x00000001}, + {0x45385459, 0x02000000, 0x00000002}, + {0x45385542, 0x04000000, 0x00000001}, + {0x45385641, 0x01000000, 0x00000001}, + {0x45385643, 0x04000000, 0x00000002}, + {0x45385741, 0x04000000, 0x00000001}, + {0x45385743, 0x02000000, 0x00000002}, + {0x45385759, 0x08000000, 0x00000005}, + {0x45385841, 0x00800000, 0x00000001}, + {0x45385859, 0x08000000, 0x00000001}, + {0x45385941, 0x01000000, 0x00000001}, + {0x45385942, 0x00800000, 0x00000001}, + {0x45385943, 0x10000000, 0x00000003}, + {0x45385A42, 0x00800000, 0x00000001}, + {0x45393241, 0x00800000, 0x00000008}, + {0x45393341, 0x01000000, 0x00000008}, + {0x45393343, 0x02000000, 0x00000002}, + {0x45393443, 0x04000000, 0x00000005}, + {0x45393459, 0x04000000, 0x00000008}, + {0x45393541, 0x04000000, 0x00000008}, + {0x45393643, 0x04000000, 0x00000002}, + {0x45394241, 0x01000000, 0x00000001}, + {0x45394242, 0x02000000, 0x00000001}, + {0x45394243, 0x08000000, 0x00000005}, + {0x45394259, 0x02000000, 0x00000003}, + {0x45394341, 0x04000000, 0x00000001}, + {0x45394441, 0x02000000, 0x00000003}, + {0x45394542, 0x04000000, 0x00000002}, + {0x45394543, 0x01000000, 0x00000003}, + {0x45394641, 0x00800000, 0x00000001}, + {0x45394643, 0x02000000, 0x00000003}, + {0x45394659, 0x02000000, 0x00000001}, + {0x45394841, 0x04000000, 0x00000005}, + {0x45394856, 0x04000000, 0x00000002}, + {0x45394943, 0x01000000, 0x00000002}, + {0x45394A59, 0x00800000, 0x00000005}, + {0x45394B42, 0x10000000, 0x00000003}, + {0x45394C41, 0x02000000, 0x00000002}, + {0x45394C42, 0x08000000, 0x00000001}, + {0x45394D41, 0x01000000, 0x00000002}, + {0x45394D43, 0x01000000, 0x00000001}, + {0x45394D59, 0x01000000, 0x00000001}, + {0x45394E41, 0x01000000, 0x00000001}, + {0x45395042, 0x04000000, 0x00000002}, + {0x45395056, 0x04000000, 0x00000001}, + {0x45395059, 0x04000000, 0x00000003}, + {0x45395141, 0x04000000, 0x00000001}, + {0x45395259, 0x04000000, 0x00000002}, + {0x45395341, 0x02000000, 0x00000001}, + {0x45395343, 0x02000000, 0x00000001}, + {0x45395459, 0x04000000, 0x00000003}, + {0x45395643, 0x01000000, 0x00000001}, + {0x45395742, 0x08000000, 0x00000002}, + {0x45395743, 0x08000000, 0x00000001}, + {0x45395941, 0x08000000, 0x00000003}, + {0x45395943, 0x04000000, 0x00000002}, + {0x45395A43, 0x04000000, 0x00000002}, + {0x45413541, 0x04000000, 0x00000001}, + {0x45413543, 0x02000000, 0x00000002}, + {0x45413641, 0x02000000, 0x00000005}, + {0x45413642, 0x04000000, 0x00000001}, + {0x45413741, 0x01000000, 0x00000001}, + {0x45413956, 0x02000000, 0x00000000}, + {0x45414143, 0x04000000, 0x00000002}, + {0x45414156, 0x02000000, 0x00000007}, + {0x45414159, 0x04000000, 0x00000002}, + {0x45414241, 0x02000000, 0x00000001}, + {0x45414242, 0x02000000, 0x00000002}, + {0x45414243, 0x02000000, 0x00000001}, + {0x45414254, 0x01000000, 0x00000001}, + {0x45414256, 0x02000000, 0x00000001}, + {0x45414341, 0x00800000, 0x00000001}, + {0x45414356, 0x04000000, 0x00000001}, + {0x45414441, 0x04000000, 0x00000006}, + {0x45414442, 0x04000000, 0x00000001}, + {0x45414443, 0x04000000, 0x00000002}, + {0x45414541, 0x08000000, 0x00000001}, + {0x45414559, 0x02000000, 0x00000003}, + {0x45414641, 0x04000000, 0x00000003}, + {0x45414642, 0x02000000, 0x00000003}, + {0x45414643, 0x08000000, 0x00000002}, + {0x45414941, 0x04000000, 0x00000001}, + {0x45414959, 0x02000000, 0x00000001}, + {0x45414A42, 0x01000000, 0x00000002}, + {0x45414A43, 0x04000000, 0x00000003}, + {0x45414A59, 0x04000000, 0x00000002}, + {0x45414B41, 0x08000000, 0x00000005}, + {0x45414C42, 0x04000000, 0x00000002}, + {0x45414C56, 0x04000000, 0x00000002}, + {0x45414E42, 0x02000000, 0x00000001}, + {0x45414E43, 0x04000000, 0x00000001}, + {0x45415041, 0x04000000, 0x00000006}, + {0x45415042, 0x02000000, 0x00000002}, + {0x45415043, 0x02000000, 0x00000001}, + {0x45415054, 0x02000000, 0x00000001}, + {0x45415141, 0x02000000, 0x00000001}, + {0x45415143, 0x01000000, 0x00000002}, + {0x45415241, 0x02000000, 0x00000001}, + {0x45415243, 0x00800000, 0x00000001}, + {0x45415259, 0x01000000, 0x00000001}, + {0x45415343, 0x01000000, 0x00000001}, + {0x45415359, 0x01000000, 0x00000002}, + {0x45415441, 0x01000000, 0x00000001}, + {0x45415443, 0x04000000, 0x00000001}, + {0x45415543, 0x04000000, 0x00000001}, + {0x45415641, 0x04000000, 0x00000002}, + {0x45415643, 0x01000000, 0x00000001}, + {0x45415741, 0x04000000, 0x00000002}, + {0x45415743, 0x00800000, 0x00000001}, + {0x45415941, 0x00800000, 0x00000002}, + {0x45415942, 0x02000000, 0x00000001}, + {0x45415A42, 0x08000000, 0x00000001}, + {0x45415A43, 0x02000000, 0x00000002}, + {0x45423243, 0x02000000, 0x00000001}, + {0x45423342, 0x04000000, 0x00000001}, + {0x45423343, 0x00800000, 0x00000001}, + {0x45423442, 0x04000000, 0x00000002}, + {0x45423443, 0x02000000, 0x00000003}, + {0x45423542, 0x04000000, 0x00000002}, + {0x45423543, 0x01000000, 0x00000002}, + {0x45423641, 0x02000000, 0x00000005}, + {0x45423642, 0x04000000, 0x00000001}, + {0x45423741, 0x01000000, 0x00000001}, + {0x45423743, 0x02000000, 0x00000002}, + {0x45424143, 0x01000000, 0x00000001}, + {0x45424159, 0x00800000, 0x00000001}, + {0x45424243, 0x01000000, 0x00000002}, + {0x45424341, 0x04000000, 0x00000003}, + {0x45424354, 0x08000000, 0x00000001}, + {0x45424442, 0x04000000, 0x00000002}, + {0x45424443, 0x04000000, 0x00000001}, + {0x45424541, 0x00800000, 0x00000008}, + {0x45424641, 0x00800000, 0x00000001}, + {0x45424642, 0x01000000, 0x00000002}, + {0x45424654, 0x01000000, 0x00000001}, + {0x45424656, 0x02000000, 0x00000001}, + {0x45424743, 0x02000000, 0x00000001}, + {0x45424841, 0x02000000, 0x00000002}, + {0x45424842, 0x00800000, 0x00000001}, + {0x45424942, 0x01000000, 0x00000003}, + {0x45424959, 0x02000000, 0x00000001}, + {0x45424A41, 0x04000000, 0x00000005}, + {0x45424A42, 0x04000000, 0x00000001}, + {0x45424A43, 0x01000000, 0x00000001}, + {0x45424A59, 0x04000000, 0x00000001}, + {0x45424B41, 0x02000000, 0x00000003}, + {0x45424B43, 0x02000000, 0x00000002}, + {0x45424B59, 0x04000000, 0x00000003}, + {0x45424C42, 0x04000000, 0x00000002}, + {0x45424C43, 0x08000000, 0x00000003}, + {0x45424C59, 0x04000000, 0x00000002}, + {0x45424E43, 0x04000000, 0x00000003}, + {0x45425141, 0x00800000, 0x00000001}, + {0x45425143, 0x01000000, 0x00000002}, + {0x45425159, 0x00800000, 0x00000001}, + {0x45425241, 0x02000000, 0x00000001}, + {0x45425243, 0x02000000, 0x00000005}, + {0x45425259, 0x08000000, 0x00000003}, + {0x45425341, 0x04000000, 0x00000002}, + {0x45425442, 0x04000000, 0x00000002}, + {0x45425443, 0x08000000, 0x00000005}, + {0x45425543, 0x04000000, 0x00000003}, + {0x45425559, 0x04000000, 0x00000002}, + {0x45425641, 0x01000000, 0x00000001}, + {0x45425741, 0x00800000, 0x00000001}, + {0x45425742, 0x04000000, 0x00000002}, + {0x45425759, 0x02000000, 0x00000002}, + {0x45425942, 0x01000000, 0x00000001}, + {0x45425943, 0x04000000, 0x00000001}, + {0x45425959, 0x04000000, 0x00000005}, + {0x45433342, 0x04000000, 0x00000002}, + {0x45433441, 0x02000000, 0x00000003}, + {0x45433459, 0x04000000, 0x00000008}, + {0x45433542, 0x00800000, 0x00000001}, + {0x45433641, 0x02000000, 0x00000005}, + {0x45433642, 0x08000000, 0x00000002}, + {0x45433643, 0x10000000, 0x00000005}, + {0x45433741, 0x02000000, 0x00000001}, + {0x45433841, 0x02000000, 0x00000002}, + {0x45433859, 0x00800000, 0x00000008}, + {0x45434156, 0x04000000, 0x00000002}, + {0x45434241, 0x04000000, 0x00000005}, + {0x45434259, 0x02000000, 0x00000002}, + {0x45434341, 0x02000000, 0x00000001}, + {0x45434343, 0x01000000, 0x00000001}, + {0x45434354, 0x00800000, 0x00000001}, + {0x45434441, 0x01000000, 0x00000001}, + {0x45434442, 0x02000000, 0x00000001}, + {0x45434443, 0x04000000, 0x00000003}, + {0x45434459, 0x08000000, 0x00000003}, + {0x45434541, 0x00800000, 0x00000001}, + {0x45434559, 0x02000000, 0x00000001}, + {0x45434642, 0x02000000, 0x00000001}, + {0x45434659, 0x08000000, 0x00000002}, + {0x45434741, 0x04000000, 0x00000003}, + {0x45434759, 0x02000000, 0x00000002}, + {0x45434843, 0x01000000, 0x00000001}, + {0x45434941, 0x01000000, 0x00000001}, + {0x45434943, 0x04000000, 0x00000003}, + {0x45434956, 0x04000000, 0x00000002}, + {0x45434959, 0x04000000, 0x00000002}, + {0x45434A42, 0x03E8823C, 0x00000002}, + {0x45434A43, 0x04000000, 0x00000002}, + {0x45434A56, 0x04000000, 0x00000001}, + {0x45434A59, 0x04000000, 0x00000002}, + {0x45434B42, 0x10000000, 0x00000006}, + {0x45434B43, 0x01000000, 0x00000001}, + {0x45434C42, 0x04000000, 0x00000002}, + {0x45434C56, 0x04000000, 0x00000002}, + {0x45434D41, 0x02000000, 0x00000005}, + {0x45434D56, 0x02000000, 0x00000001}, + {0x45434F43, 0x01000000, 0x00000001}, + {0x45435041, 0x01000000, 0x00000001}, + {0x45435043, 0x00800000, 0x00000002}, + {0x45435159, 0x01000000, 0x00000001}, + {0x45435241, 0x02000000, 0x00000002}, + {0x45435243, 0x02000000, 0x00000001}, + {0x45435341, 0x04000000, 0x00000002}, + {0x45435343, 0x04000000, 0x00000001}, + {0x45435359, 0x01000000, 0x00000001}, + {0x45435441, 0x04000000, 0x00000005}, + {0x45435442, 0x01000000, 0x00000001}, + {0x45435641, 0x04000000, 0x00000005}, + {0x45435741, 0x04000000, 0x00000002}, + {0x45435759, 0x02000000, 0x00000002}, + {0x45435842, 0x01000000, 0x00000001}, + {0x45435943, 0x02000000, 0x00000002}, + {0x45435959, 0x02000000, 0x00000001}, + {0x45443241, 0x02000000, 0x00000002}, + {0x45443343, 0x01000000, 0x00000001}, + {0x45443442, 0x00800000, 0x00000001}, + {0x45443643, 0x02000000, 0x00000001}, + {0x45443659, 0x00800000, 0x00000008}, + {0x45443741, 0x02000000, 0x00000001}, + {0x45443759, 0x08000000, 0x00000008}, + {0x45444154, 0x08000000, 0x00000005}, + {0x45444241, 0x01000000, 0x00000001}, + {0x45444243, 0x04000000, 0x00000002}, + {0x45444343, 0x00800000, 0x00000003}, + {0x45444354, 0x02000000, 0x00000001}, + {0x45444356, 0x04000000, 0x00000002}, + {0x45444441, 0x01000000, 0x00000001}, + {0x45444459, 0x01000000, 0x00000001}, + {0x45444559, 0x00800000, 0x00000001}, + {0x45444641, 0x04000000, 0x00000002}, + {0x45444642, 0x00800000, 0x00000001}, + {0x45444643, 0x08000000, 0x00000002}, + {0x45444743, 0x00800000, 0x00000001}, + {0x45444759, 0x00800000, 0x00000003}, + {0x45444841, 0x04000000, 0x00000002}, + {0x45444842, 0x04000000, 0x00000001}, + {0x45444859, 0x04000000, 0x00000001}, + {0x45444943, 0x02000000, 0x00000003}, + {0x45444956, 0x02000000, 0x00000002}, + {0x45444959, 0x02000000, 0x00000005}, + {0x45444A42, 0x01000000, 0x00000002}, + {0x45444A59, 0x02000000, 0x00000002}, + {0x45444B41, 0x01000000, 0x00000002}, + {0x45444C41, 0x04000000, 0x00000003}, + {0x45444C42, 0x04000000, 0x00000002}, + {0x45444C59, 0x04000000, 0x00000005}, + {0x45444D41, 0x01000000, 0x00000005}, + {0x45444D42, 0x04000000, 0x00000001}, + {0x45444D43, 0x02000000, 0x00000005}, + {0x45444D44, 0x20000000, 0x00000000}, + {0x45444E41, 0x01000000, 0x00000005}, + {0x45444E42, 0x02000000, 0x00000001}, + {0x45444E43, 0x04000000, 0x00000002}, + {0x45444E59, 0x02000000, 0x00000001}, + {0x45445041, 0x01000000, 0x00000002}, + {0x45445042, 0x04000000, 0xFFFFFFFF}, + {0x45445043, 0x02000000, 0x00000001}, + {0x45445054, 0x08000000, 0x00000001}, + {0x45445241, 0x02000000, 0x00000001}, + {0x45445243, 0x01000000, 0x00000001}, + {0x45445341, 0x01000000, 0x00000001}, + {0x45445342, 0x04000000, 0x00000002}, + {0x45445343, 0x01000000, 0x00000001}, + {0x45445441, 0x01000000, 0x00000002}, + {0x45445442, 0x01000000, 0x00000001}, + {0x45445443, 0x04000000, 0x00000002}, + {0x45445542, 0x01000000, 0x00000001}, + {0x45445641, 0x01000000, 0x00000002}, + {0x45445642, 0x00800000, 0x00000001}, + {0x45445741, 0x02000000, 0x00000005}, + {0x45445742, 0x04000000, 0x00000001}, + {0x45445759, 0x01000000, 0x00000002}, + {0x45445842, 0x01000000, 0x00000001}, + {0x45445A41, 0x00800000, 0x00000008}, + {0x45445A42, 0x08000000, 0x00000001}, + {0x45453242, 0x00800000, 0x00000001}, + {0x45453341, 0x00800000, 0x00000002}, + {0x45453442, 0x01000000, 0x00000001}, + {0x45453559, 0x04000000, 0x00000000}, + {0x45453642, 0x02000000, 0x00000001}, + {0x45453741, 0x01000000, 0x00000001}, + {0x45453742, 0x02000000, 0x00000001}, + {0x45454241, 0x00800000, 0x00000001}, + {0x45454254, 0x02000000, 0x00000001}, + {0x45454343, 0x01000000, 0x00000005}, + {0x45454359, 0x02000000, 0x00000002}, + {0x45454442, 0x04000000, 0x00000002}, + {0x45454456, 0x10000000, 0x00000006}, + {0x45454641, 0x04000000, 0x00000003}, + {0x45454659, 0x04000000, 0x00000005}, + {0x45454741, 0x01000000, 0x00000001}, + {0x45454742, 0x04000000, 0x00000001}, + {0x45454743, 0x02000000, 0x00000002}, + {0x45454841, 0x08000000, 0x00000005}, + {0x45454943, 0x04000000, 0x00000002}, + {0x45454A59, 0x01000000, 0x00000001}, + {0x45454B42, 0x04000000, 0x00000002}, + {0x45454C59, 0x02000000, 0x00000001}, + {0x45454D44, 0x20000000, 0x00000000}, + {0x45454D56, 0x02000000, 0x00000001}, + {0x45454F59, 0x01000000, 0x00000005}, + {0x45455056, 0x04000000, 0x00000001}, + {0x45455141, 0x00800000, 0x00000002}, + {0x45455143, 0x04000000, 0x00000002}, + {0x45455241, 0x04000000, 0x00000001}, + {0x45455243, 0x04000000, 0x00000001}, + {0x45455341, 0x04000000, 0x00000002}, + {0x45455456, 0x04000000, 0x00000002}, + {0x45455459, 0x02000000, 0x00000003}, + {0x45455641, 0x01000000, 0x00000001}, + {0x45455642, 0x00800000, 0x00000002}, + {0x45455741, 0x04000000, 0x00000005}, + {0x45455742, 0x04000000, 0x00000001}, + {0x45455743, 0x01000000, 0x00000002}, + {0x45455842, 0x04000000, 0x00000001}, + {0x45455943, 0x08000000, 0x00000002}, + {0x45455A41, 0x04000000, 0x00000006}, + {0x45455A42, 0x00800000, 0x00000001}, + {0x45463242, 0x00800000, 0x00000001}, + {0x45463541, 0x04000000, 0x00000002}, + {0x45463641, 0x08000000, 0x00000003}, + {0x45463642, 0x08000000, 0x00000001}, + {0x45463659, 0x02000000, 0x00000000}, + {0x45463742, 0x01000000, 0xFFFFFFFF}, + {0x45463743, 0x01000000, 0x00000003}, + {0x45463859, 0x08000000, 0x00000008}, + {0x45464159, 0x02000000, 0x00000002}, + {0x45464243, 0x08000000, 0x00000003}, + {0x45464341, 0x04000000, 0x00000002}, + {0x45464343, 0x00800000, 0x00000001}, + {0x45464441, 0x01000000, 0x00000001}, + {0x45464443, 0x04000000, 0x00000002}, + {0x45464541, 0x00800000, 0x00000001}, + {0x45464542, 0x00800000, 0x00000001}, + {0x45464543, 0x01000000, 0x00000001}, + {0x45464641, 0x08000000, 0x00000003}, + {0x45464741, 0x04000000, 0x00000002}, + {0x45464743, 0x00800000, 0x00000001}, + {0x45464759, 0x01000000, 0x00000001}, + {0x45464841, 0x02000000, 0x00000001}, + {0x45464843, 0x02000000, 0x00000002}, + {0x45464859, 0x00800000, 0x00000002}, + {0x45464956, 0x02000000, 0x00000002}, + {0x45464959, 0x04000000, 0x00000002}, + {0x45464B43, 0x02000000, 0x00000001}, + {0x45464B59, 0x02000000, 0x00000001}, + {0x45464C42, 0x10000000, 0x00000003}, + {0x45464C43, 0x02000000, 0x00000001}, + {0x45464D41, 0x01000000, 0x00000001}, + {0x45464D44, 0x02000000, 0xFFFFFFFF}, + {0x45464D59, 0x04000000, 0x00000003}, + {0x45464E41, 0x02000000, 0x00000005}, + {0x45465042, 0x04000000, 0x00000002}, + {0x45465043, 0x00800000, 0x00000002}, + {0x45465054, 0x02000000, 0x00000001}, + {0x45465056, 0x04000000, 0x00000002}, + {0x45465241, 0x08000000, 0x00000003}, + {0x45465242, 0x08000000, 0x00000003}, + {0x45465243, 0x02000000, 0x00000002}, + {0x45465259, 0x02000000, 0x00000002}, + {0x45465341, 0x02000000, 0x00000005}, + {0x45465359, 0x04000000, 0x00000001}, + {0x45465443, 0x04000000, 0x00000001}, + {0x45465541, 0x04000000, 0x00000002}, + {0x45465542, 0x01000000, 0x00000002}, + {0x45465742, 0x04000000, 0x00000001}, + {0x45465743, 0x02000000, 0x00000002}, + {0x45465841, 0x08000000, 0x00000003}, + {0x45465842, 0x04000000, 0x00000001}, + {0x45473241, 0x02000000, 0x00000003}, + {0x45473256, 0x02000000, 0x00000006}, + {0x45473459, 0x01000000, 0x00000008}, + {0x45473541, 0x01000000, 0x00000001}, + {0x45473642, 0x00800000, 0x00000001}, + {0x45473741, 0x02000000, 0x00000001}, + {0x45473743, 0x01000000, 0x00000001}, + {0x45473759, 0x08000000, 0x00000000}, + {0x45473859, 0x02000000, 0x00000000}, + {0x45474142, 0x01000000, 0x00000001}, + {0x45474159, 0x01000000, 0x00000001}, + {0x45474243, 0x02000000, 0x00000005}, + {0x45474254, 0x00800000, 0x00000001}, + {0x45474341, 0x00800000, 0x00000002}, + {0x45474342, 0x04000000, 0x00000002}, + {0x45474354, 0x04000000, 0x00000001}, + {0x45474356, 0x04000000, 0x00000002}, + {0x45474359, 0x00800000, 0x00000001}, + {0x45474441, 0x02000000, 0x00000005}, + {0x45474443, 0x04000000, 0x00000006}, + {0x45474541, 0x04000000, 0x00000001}, + {0x45474542, 0x00800000, 0x00000001}, + {0x45474641, 0x04000000, 0x00000001}, + {0x45474642, 0x04000000, 0x00000003}, + {0x45474742, 0x02000000, 0x00000005}, + {0x45474754, 0x00800000, 0x00000001}, + {0x45474842, 0x02000000, 0x00000001}, + {0x45474942, 0x02000000, 0x00000001}, + {0x45474A59, 0x02000000, 0x00000002}, + {0x45474B41, 0x02000000, 0x00000002}, + {0x45474B56, 0x02000000, 0x00000005}, + {0x45474B59, 0x10000000, 0x00000003}, + {0x45474C43, 0x04000000, 0x00000001}, + {0x45474C59, 0x04000000, 0x00000001}, + {0x45474D41, 0x01000000, 0x00000001}, + {0x45474D42, 0x02000000, 0x00000001}, + {0x45474D43, 0x04000000, 0x00000001}, + {0x45474D56, 0x02000000, 0x00000002}, + {0x45474E43, 0x02000000, 0x00000002}, + {0x45474E59, 0x08000000, 0x00000003}, + {0x45474F59, 0x08000000, 0x00000003}, + {0x45475041, 0x01000000, 0x00000001}, + {0x45475049, 0x08000000, 0x00000006}, + {0x45475059, 0x04000000, 0x00000002}, + {0x45475142, 0x04000000, 0x00000001}, + {0x45475241, 0x02000000, 0x00000005}, + {0x45475256, 0x02000000, 0x00000002}, + {0x45475356, 0x02000000, 0x00000001}, + {0x45475541, 0x02000000, 0x00000002}, + {0x45475542, 0x00800000, 0x00000001}, + {0x45475642, 0x01000000, 0x00000002}, + {0x45475842, 0x04000000, 0x00000002}, + {0x45475843, 0x00800000, 0x00000001}, + {0x45475941, 0x04000000, 0x00000002}, + {0x45475A42, 0x02000000, 0x00000001}, + {0x45483241, 0x01000000, 0x00000001}, + {0x45483341, 0x02000000, 0x00000001}, + {0x45483343, 0x00800000, 0x00000001}, + {0x45483442, 0x02000000, 0x00000001}, + {0x45483541, 0x01000000, 0x00000001}, + {0x45483542, 0x01000000, 0x00000001}, + {0x45483559, 0x02000000, 0x00000000}, + {0x45483741, 0x02000000, 0x00000001}, + {0x45483742, 0x04000000, 0x00000002}, + {0x45483842, 0x04000000, 0x00000002}, + {0x45483959, 0x00800000, 0x00000008}, + {0x45484142, 0x04000000, 0x00000001}, + {0x45484159, 0x04000000, 0x00000002}, + {0x45484241, 0x08000000, 0x00000002}, + {0x45484254, 0x01000000, 0x00000001}, + {0x45484342, 0x00800000, 0x00000001}, + {0x45484459, 0x02000000, 0x00000005}, + {0x45484541, 0x04000000, 0x00000002}, + {0x45484542, 0x01000000, 0x00000002}, + {0x45484659, 0x04000000, 0x00000002}, + {0x45484742, 0x10000000, 0x00000001}, + {0x45484743, 0x02000000, 0x00000002}, + {0x45484759, 0x08000000, 0x00000001}, + {0x45484841, 0x04000000, 0x00000001}, + {0x45484942, 0x04000000, 0x00000002}, + {0x45484943, 0x04000000, 0x00000002}, + {0x45484959, 0x02000000, 0x00000002}, + {0x45484B43, 0x02000000, 0x00000002}, + {0x45484B56, 0x02000000, 0x00000002}, + {0x45484B59, 0x08000000, 0x00000005}, + {0x45484C41, 0x02000000, 0x00000001}, + {0x45484C42, 0x08000000, 0x00000001}, + {0x45484C43, 0x01000000, 0x00000002}, + {0x45484C59, 0x04000000, 0x00000002}, + {0x45484D41, 0x04000000, 0x00000005}, + {0x45484D54, 0x00800000, 0x00000001}, + {0x45485041, 0x02000000, 0x00000005}, + {0x45485043, 0x04000000, 0x00000001}, + {0x45485059, 0x00800000, 0x00000002}, + {0x45485341, 0x02000000, 0x00000002}, + {0x45485342, 0x02000000, 0x00000001}, + {0x45485359, 0x02000000, 0x00000001}, + {0x45485441, 0x02000000, 0x00000001}, + {0x45485442, 0x01000000, 0x00000002}, + {0x45485559, 0x01000000, 0x00000002}, + {0x45485641, 0x04000000, 0x00000002}, + {0x45485642, 0x01000000, 0x00000001}, + {0x45485741, 0x01000000, 0x00000001}, + {0x45485843, 0x02000000, 0x00000001}, + {0x45485942, 0x02000000, 0x00000002}, + {0x45485943, 0x04000000, 0x00000002}, + {0x45485A42, 0x00800000, 0x00000001}, + {0x45485A59, 0x04000000, 0x00000001}, + {0x45493241, 0x01000000, 0x00000001}, + {0x45493242, 0x04000000, 0x00000001}, + {0x45493341, 0x08000000, 0x00000002}, + {0x45493441, 0x02000000, 0x00000001}, + {0x45493459, 0x04000000, 0x00000008}, + {0x45493541, 0x01000000, 0x00000001}, + {0x45493642, 0x04000000, 0x00000002}, + {0x45493741, 0x02000000, 0x00000001}, + {0x45493842, 0x04000000, 0x00000001}, + {0x45493859, 0x01000000, 0x00000000}, + {0x45494159, 0x04000000, 0x00000001}, + {0x45494341, 0x02000000, 0x00000002}, + {0x45494342, 0x02000000, 0x00000002}, + {0x45494359, 0x01000000, 0x00000001}, + {0x45494442, 0x04000000, 0x00000001}, + {0x45494459, 0x04000000, 0x00000002}, + {0x45494643, 0x08000000, 0x00000003}, + {0x45494659, 0x04000000, 0x00000001}, + {0x45494742, 0x04000000, 0x00000001}, + {0x45494942, 0x00800000, 0x00000001}, + {0x45494959, 0x00800000, 0x00000001}, + {0x45494B42, 0x08000000, 0x00000007}, + {0x45494C43, 0x04000000, 0x00000001}, + {0x45494C59, 0x04000000, 0x00000002}, + {0x45494D43, 0x00800000, 0x00000001}, + {0x45494E41, 0x08000000, 0x00000005}, + {0x45494E59, 0x08000000, 0x00000002}, + {0x45495056, 0x02000000, 0x00000002}, + {0x45495059, 0x02000000, 0x00000003}, + {0x45495141, 0x02000000, 0x00000005}, + {0x45495241, 0x01000000, 0x00000001}, + {0x45495243, 0x02000000, 0x00000002}, + {0x45495256, 0x02000000, 0x00000001}, + {0x45495259, 0x04000000, 0x00000002}, + {0x45495341, 0x02000000, 0x00000002}, + {0x45495342, 0x04000000, 0x00000001}, + {0x45495343, 0x01000000, 0x00000002}, + {0x45495441, 0x01000000, 0x00000008}, + {0x45495442, 0x01000000, 0x00000001}, + {0x45495456, 0x02000000, 0x00000001}, + {0x45495541, 0x01000000, 0x00000001}, + {0x45495542, 0x01000000, 0x00000001}, + {0x45495543, 0x02000000, 0x00000002}, + {0x45495559, 0x04000000, 0x00000002}, + {0x45495643, 0x04000000, 0x00000002}, + {0x45495659, 0x08000000, 0x00000003}, + {0x45495741, 0x08000000, 0x00000005}, + {0x45495742, 0x01000000, 0x00000002}, + {0x45495743, 0x01000000, 0x00000001}, + {0x45495941, 0x01000000, 0x00000001}, + {0x45495943, 0x02000000, 0x00000002}, + {0x45495A42, 0x00800000, 0x00000001}, + {0x454A3259, 0x02000000, 0x00000008}, + {0x454A3342, 0x08000000, 0x00000002}, + {0x454A3343, 0x10000000, 0x00000003}, + {0x454A3442, 0x00800000, 0x00000001}, + {0x454A3542, 0x00800000, 0x00000001}, + {0x454A3559, 0x08000000, 0x00000000}, + {0x454A3642, 0x00800000, 0x00000001}, + {0x454A3741, 0x02000000, 0x00000001}, + {0x454A4142, 0x01000000, 0x00000001}, + {0x454A4143, 0x01000000, 0x00000001}, + {0x454A4159, 0x01000000, 0x00000002}, + {0x454A4241, 0x04000000, 0x00000005}, + {0x454A4341, 0x04000000, 0x00000001}, + {0x454A4454, 0x00800000, 0x00000001}, + {0x454A4459, 0x01000000, 0x00000001}, + {0x454A4543, 0x01000000, 0x00000001}, + {0x454A4642, 0x01000000, 0x00000002}, + {0x454A4643, 0x02000000, 0x00000002}, + {0x454A4759, 0x02000000, 0x00000001}, + {0x454A4841, 0x01000000, 0x00000002}, + {0x454A4943, 0x00800000, 0x00000001}, + {0x454A4956, 0x04000000, 0x00000003}, + {0x454A4A42, 0x01000000, 0x00000001}, + {0x454A4A43, 0x00800000, 0x00000001}, + {0x454A4C41, 0x01000000, 0x00000001}, + {0x454A4C42, 0x04000000, 0x00000001}, + {0x454A4C43, 0x08000000, 0x00000002}, + {0x454A4C54, 0x08000000, 0x00000002}, + {0x454A4C59, 0x04000000, 0x00000001}, + {0x454A4D42, 0x00800000, 0x00000001}, + {0x454A4D59, 0x04000000, 0x00000001}, + {0x454A4E41, 0x02000000, 0x00000001}, + {0x454A4E43, 0x02000000, 0x00000001}, + {0x454A4E59, 0x02000000, 0x00000001}, + {0x454A4F41, 0x02000000, 0x00000002}, + {0x454A5043, 0x04000000, 0x00000002}, + {0x454A5141, 0x08000000, 0x00000001}, + {0x454A5143, 0x00800000, 0x00000001}, + {0x454A5242, 0x08000000, 0x00000003}, + {0x454A5243, 0x02000000, 0x00000001}, + {0x454A5341, 0x04000000, 0x00000005}, + {0x454A5342, 0x00800000, 0x00000001}, + {0x454A5441, 0x01000000, 0x00000002}, + {0x454A5442, 0x01000000, 0x00000002}, + {0x454A5459, 0x04000000, 0x00000002}, + {0x454A5541, 0x04000000, 0x00000001}, + {0x454A5542, 0x08000000, 0x00000001}, + {0x454A5641, 0x04000000, 0x00000002}, + {0x454A5642, 0x01000000, 0x00000001}, + {0x454A5659, 0x01000000, 0x00000001}, + {0x454A5743, 0x00800000, 0x00000001}, + {0x454A5759, 0x00800000, 0x00000002}, + {0x454A5841, 0x04000000, 0x00000003}, + {0x454A5959, 0x01000000, 0x00000002}, + {0x454A5A42, 0x02000000, 0x00000001}, + {0x454B3243, 0x00800000, 0x00000003}, + {0x454B3342, 0x01000000, 0x00000001}, + {0x454B3641, 0x08000000, 0x00000003}, + {0x454B3741, 0x02000000, 0x00000001}, + {0x454B3842, 0x02000000, 0x00000002}, + {0x454B4143, 0x01000000, 0x00000002}, + {0x454B4241, 0x00800000, 0x00000001}, + {0x454B4242, 0x02000000, 0x00000002}, + {0x454B4243, 0x04000000, 0x00000002}, + {0x454B4343, 0x04000000, 0x00000001}, + {0x454B4356, 0x08000000, 0x00000002}, + {0x454B4541, 0x04000000, 0x00000002}, + {0x454B4559, 0x08000000, 0x00000005}, + {0x454B4841, 0x04000000, 0x00000003}, + {0x454B4843, 0x01000000, 0x00000001}, + {0x454B4959, 0x02000000, 0x00000005}, + {0x454B4A43, 0x08000000, 0x00000003}, + {0x454B4A59, 0x08000000, 0x00000002}, + {0x454B4B41, 0x01000000, 0x00000003}, + {0x454B4C41, 0x08000000, 0x00000003}, + {0x454B4C54, 0x08000000, 0x00000002}, + {0x454B4C59, 0x02000000, 0x00000002}, + {0x454B4D42, 0x04000000, 0x00000001}, + {0x454B4E41, 0x00800000, 0x00000001}, + {0x454B4E59, 0x04000000, 0x00000002}, + {0x454B5049, 0x08000000, 0x00000006}, + {0x454B5142, 0x01000000, 0x00000001}, + {0x454B5159, 0x02000000, 0x00000001}, + {0x454B5243, 0x04000000, 0x00000001}, + {0x454B5341, 0x04000000, 0x00000002}, + {0x454B5342, 0x08000000, 0x00000003}, + {0x454B5356, 0x04000000, 0x00000001}, + {0x454B5441, 0x04000000, 0x00000002}, + {0x454B5559, 0x04000000, 0x00000001}, + {0x454B5641, 0x01000000, 0x00000001}, + {0x454B5741, 0x04000000, 0x00000003}, + {0x454B5759, 0x04000000, 0x00000002}, + {0x454B5943, 0x02000000, 0x00000002}, + {0x454B5959, 0x04000000, 0x00000002}, + {0x454B5A41, 0x00800000, 0x00000002}, + {0x454C3241, 0x01000000, 0x00000003}, + {0x454C3259, 0x04000000, 0x00000005}, + {0x454C3541, 0x08000000, 0x00000002}, + {0x454C3642, 0x08000000, 0x00000002}, + {0x454C3741, 0x02000000, 0x00000001}, + {0x454C3742, 0x00800000, 0x00000001}, + {0x454C3859, 0x08000000, 0x00000000}, + {0x454C4143, 0x04000000, 0x00000001}, + {0x454C4156, 0x04000000, 0x00000002}, + {0x454C4241, 0x08000000, 0x00000002}, + {0x454C4242, 0x02000000, 0x00000001}, + {0x454C4243, 0x00800000, 0x00000002}, + {0x454C4256, 0x02000000, 0x00000002}, + {0x454C4259, 0x00800000, 0x00000001}, + {0x454C4341, 0x04000000, 0x00000003}, + {0x454C4342, 0x01000000, 0x00000002}, + {0x454C4354, 0x02000000, 0x00000001}, + {0x454C4441, 0x04000000, 0x00000003}, + {0x454C4442, 0x01000000, 0x00000001}, + {0x454C4443, 0x02000000, 0x00000005}, + {0x454C4459, 0x01000000, 0x00000008}, + {0x454C4556, 0x02000000, 0x00000003}, + {0x454C4641, 0x00800000, 0x00000001}, + {0x454C4642, 0x04000000, 0x00000002}, + {0x454C4741, 0x02000000, 0x00000001}, + {0x454C4742, 0x01000000, 0x00000001}, + {0x454C4759, 0x04000000, 0x00000002}, + {0x454C4859, 0x08000000, 0x00000003}, + {0x454C4A41, 0x04000000, 0x00000001}, + {0x454C4A42, 0x02000000, 0x00000002}, + {0x454C4A59, 0x01000000, 0x00000002}, + {0x454C4B54, 0x02000000, 0x00000002}, + {0x454C4C42, 0x01000000, 0x00000003}, + {0x454C4C54, 0x04000000, 0x00000001}, + {0x454C4D41, 0x02000000, 0x00000002}, + {0x454C4D42, 0x00800000, 0x00000001}, + {0x454C4D43, 0x04000000, 0x00000002}, + {0x454C4D54, 0x04000000, 0x00000002}, + {0x454C4E41, 0x04000000, 0x00000001}, + {0x454C4E42, 0x01000000, 0x00000001}, + {0x454C4E59, 0x04000000, 0x00000001}, + {0x454C4F43, 0x08000000, 0x00000003}, + {0x454C5041, 0x00800000, 0x00000002}, + {0x454C5043, 0x01000000, 0x00000001}, + {0x454C5059, 0x00800000, 0x00000001}, + {0x454C5141, 0x00800000, 0x00000001}, + {0x454C5142, 0x00800000, 0x00000003}, + {0x454C5159, 0x08000000, 0x00000002}, + {0x454C5242, 0x01000000, 0x00000001}, + {0x454C5243, 0x02000000, 0x00000001}, + {0x454C5259, 0x02000000, 0x00000001}, + {0x454C5341, 0x01000000, 0x00000001}, + {0x454C5342, 0x02000000, 0x00000003}, + {0x454C5343, 0x00800000, 0x00000002}, + {0x454C5359, 0x10000000, 0x00000005}, + {0x454C5441, 0x01000000, 0x00000001}, + {0x454C5459, 0x00800000, 0x00000002}, + {0x454C5541, 0x00800000, 0x00000002}, + {0x454C5741, 0x08000000, 0x00000003}, + {0x454C5759, 0x02000000, 0x00000001}, + {0x454C5841, 0x04000000, 0x00000001}, + {0x454C5942, 0x02000000, 0x00000001}, + {0x454C5A41, 0x08000000, 0x00000007}, + {0x454D3241, 0x00800000, 0x00000001}, + {0x454D3243, 0x02000000, 0x00000002}, + {0x454D3259, 0x02000000, 0x00000008}, + {0x454D3341, 0x08000000, 0x00000002}, + {0x454D3342, 0x04000000, 0x00000002}, + {0x454D3442, 0x02000000, 0x00000001}, + {0x454D3443, 0x04000000, 0x00000001}, + {0x454D3542, 0x01000000, 0x00000001}, + {0x454D3543, 0x01000000, 0x00000001}, + {0x454D3643, 0x04000000, 0x00000002}, + {0x454D3741, 0x02000000, 0x00000001}, + {0x454D3742, 0x01000000, 0x00000001}, + {0x454D3743, 0x01000000, 0x00000003}, + {0x454D4143, 0x01000000, 0x00000002}, + {0x454D4154, 0x02000000, 0x00000001}, + {0x454D4159, 0x00800000, 0x00000001}, + {0x454D4241, 0x00800000, 0x00000001}, + {0x454D4242, 0x00800000, 0x00000001}, + {0x454D4243, 0x02000000, 0x00000002}, + {0x454D4341, 0x01000000, 0x00000001}, + {0x454D4342, 0x04000000, 0x00000001}, + {0x454D4343, 0x04000000, 0x00000002}, + {0x454D4354, 0x04000000, 0x00000002}, + {0x454D4356, 0x04000000, 0x00000002}, + {0x454D4359, 0x02000000, 0x00000001}, + {0x454D4441, 0x02000000, 0x00000005}, + {0x454D4459, 0x02000000, 0x00000002}, + {0x454D4643, 0x04000000, 0x00000003}, + {0x454D4659, 0x04000000, 0x00000003}, + {0x454D4742, 0x04000000, 0x00000003}, + {0x454D4843, 0x04000000, 0x00000002}, + {0x454D4943, 0x01000000, 0x00000002}, + {0x454D4959, 0x04000000, 0x00000001}, + {0x454D4A42, 0x04000000, 0x00000002}, + {0x454D4A59, 0x00800000, 0x00000002}, + {0x454D4C54, 0x08000000, 0x00000001}, + {0x454D4D42, 0x00800000, 0x00000001}, + {0x454D4D59, 0x02000000, 0x00000001}, + {0x454D4E41, 0x02000000, 0x00000005}, + {0x454D4E42, 0x04000000, 0x00000001}, + {0x454D4E43, 0x04000000, 0x00000001}, + {0x454D4E59, 0x01000000, 0x00000002}, + {0x454D5042, 0x02000000, 0x00000001}, + {0x454D5043, 0x04000000, 0x00000002}, + {0x454D5141, 0x00800000, 0x00000001}, + {0x454D5241, 0x04000000, 0x00000002}, + {0x454D5242, 0x01000000, 0x00000002}, + {0x454D5259, 0x02000000, 0x00000003}, + {0x454D5341, 0x01000000, 0x00000002}, + {0x454D5342, 0x01000000, 0x00000002}, + {0x454D5459, 0x04000000, 0x00000002}, + {0x454D5642, 0x02000000, 0x00000001}, + {0x454D5643, 0x02000000, 0x00000002}, + {0x454D5741, 0x00800000, 0x00000001}, + {0x454D5842, 0x04000000, 0x00000002}, + {0x454D5843, 0x04000000, 0x00000003}, + {0x454D5A43, 0x02000000, 0x00000001}, + {0x454E3242, 0x02000000, 0x00000001}, + {0x454E3243, 0x01000000, 0x00000002}, + {0x454E3342, 0x02000000, 0x00000001}, + {0x454E3542, 0x01000000, 0x00000001}, + {0x454E3543, 0x01000000, 0x00000001}, + {0x454E3641, 0x08000000, 0x00000003}, + {0x454E3741, 0x02000000, 0x00000001}, + {0x454E3742, 0x08000000, 0x00000003}, + {0x454E3841, 0x02000000, 0x00000005}, + {0x454E4143, 0x02000000, 0x00000005}, + {0x454E4259, 0x04000000, 0x00000007}, + {0x454E4341, 0x01000000, 0x00000002}, + {0x454E4354, 0x01000000, 0x00000001}, + {0x454E4441, 0x04000000, 0x00000003}, + {0x454E4443, 0x08000000, 0x00000001}, + {0x454E4541, 0x04000000, 0x00000002}, + {0x454E4543, 0x02000000, 0x00000003}, + {0x454E4641, 0x02000000, 0x00000002}, + {0x454E4654, 0x04000000, 0x00000002}, + {0x454E4656, 0x02000000, 0x00000002}, + {0x454E4741, 0x02000000, 0x00000001}, + {0x454E4743, 0x04000000, 0x00000002}, + {0x454E4759, 0x04000000, 0x00000002}, + {0x454E4841, 0x04000000, 0x00000001}, + {0x454E4843, 0x02000000, 0x00000002}, + {0x454E4859, 0x04000000, 0x00000003}, + {0x454E4942, 0x00800000, 0x00000001}, + {0x454E4A41, 0x02000000, 0x00000002}, + {0x454E4A43, 0x01000000, 0x00000001}, + {0x454E4B43, 0x08000000, 0x00000002}, + {0x454E4C41, 0x02000000, 0x00000002}, + {0x454E4C59, 0x08000000, 0x00000002}, + {0x454E4D54, 0x01000000, 0x00000002}, + {0x454E4E42, 0x04000000, 0x00000002}, + {0x454E4E59, 0x08000000, 0x00000003}, + {0x454E5041, 0x02000000, 0x00000001}, + {0x454E5042, 0x01000000, 0x00000002}, + {0x454E5059, 0x00800000, 0x00000001}, + {0x454E5142, 0x04000000, 0x00000001}, + {0x454E5159, 0x04000000, 0x00000002}, + {0x454E5241, 0x01000000, 0x00000001}, + {0x454E5341, 0x00800000, 0x00000002}, + {0x454E5342, 0x02000000, 0x00000001}, + {0x454E5356, 0x04000000, 0x00000002}, + {0x454E5442, 0x04000000, 0x00000002}, + {0x454E5642, 0x04000000, 0x00000001}, + {0x454E5643, 0x04000000, 0x00000001}, + {0x454E5842, 0x01000000, 0x00000001}, + {0x454E5A41, 0x01000000, 0x00000002}, + {0x454E5A43, 0x04000000, 0x00000002}, + {0x454F3241, 0x04000000, 0x00000003}, + {0x454F3341, 0x00800000, 0x00000001}, + {0x454F3441, 0x02000000, 0x00000005}, + {0x454F3541, 0x01000000, 0x00000001}, + {0x454F3542, 0x00800000, 0x00000001}, + {0x454F3559, 0x08000000, 0x00000000}, + {0x454F3642, 0x02000000, 0x00000001}, + {0x454F3659, 0x00800000, 0x00000000}, + {0x454F3741, 0x02000000, 0x00000001}, + {0x454F3743, 0x04000000, 0x00000002}, + {0x454F3842, 0x01000000, 0x00000001}, + {0x454F3959, 0x00800000, 0x00000000}, + {0x454F4142, 0x04000000, 0x00000001}, + {0x454F4143, 0x01000000, 0x00000001}, + {0x454F4156, 0x04000000, 0x00000001}, + {0x454F4241, 0x02000000, 0x00000001}, + {0x454F4259, 0x08000000, 0x00000003}, + {0x454F4341, 0x04000000, 0x00000005}, + {0x454F4359, 0x04000000, 0x00000001}, + {0x454F4641, 0x04000000, 0x00000003}, + {0x454F4842, 0x04000000, 0x00000001}, + {0x454F4843, 0x02000000, 0x00000001}, + {0x454F4942, 0x02000000, 0x00000001}, + {0x454F4943, 0x01000000, 0x00000008}, + {0x454F4A42, 0x04000000, 0x00000001}, + {0x454F4A43, 0x04000000, 0x00000002}, + {0x454F4B42, 0x04000000, 0x00000003}, + {0x454F4D41, 0x04000000, 0x00000002}, + {0x454F4D56, 0x02000000, 0x00000003}, + {0x454F4D59, 0x04000000, 0x00000001}, + {0x454F4E41, 0x02000000, 0x00000002}, + {0x454F4F42, 0x08000000, 0x00000002}, + {0x454F4F43, 0x04000000, 0x00000002}, + {0x454F5043, 0x01000000, 0x00000002}, + {0x454F5059, 0x04000000, 0x00000003}, + {0x454F5259, 0x04000000, 0x00000002}, + {0x454F5342, 0x02000000, 0x00000001}, + {0x454F5356, 0x04000000, 0x00000003}, + {0x454F5541, 0x00800000, 0x00000001}, + {0x454F5741, 0x02000000, 0x00000002}, + {0x454F5742, 0x02000000, 0x00000001}, + {0x454F5743, 0x00800000, 0x00000001}, + {0x454F5843, 0x04000000, 0x00000001}, + {0x454F5A42, 0x04000000, 0x00000003}, + {0x454F5A43, 0x02000000, 0x00000001}, + {0x45503342, 0x04000000, 0x00000001}, + {0x45503343, 0x04000000, 0x00000002}, + {0x45503441, 0x02000000, 0x00000002}, + {0x45503541, 0x04000000, 0x00000001}, + {0x45503643, 0x04000000, 0x00000007}, + {0x45503659, 0x04000000, 0x00000000}, + {0x45503741, 0x02000000, 0x00000001}, + {0x45503743, 0x04000000, 0x00000002}, + {0x45503859, 0x00800000, 0x00000008}, + {0x45504143, 0x02000000, 0x00000003}, + {0x45504243, 0x01000000, 0x00000002}, + {0x45504259, 0x02000000, 0x00000001}, + {0x45504341, 0x00800000, 0x00000002}, + {0x45504342, 0x04000000, 0x00000002}, + {0x45504442, 0x00800000, 0x00000001}, + {0x45504443, 0x01000000, 0x00000002}, + {0x45504542, 0x01000000, 0x00000002}, + {0x45504543, 0x08000000, 0x00000002}, + {0x45504643, 0x04000000, 0x00000002}, + {0x45504659, 0x01000000, 0x00000001}, + {0x45504741, 0x04000000, 0x00000002}, + {0x45504743, 0x02000000, 0x00000001}, + {0x45504754, 0x02000000, 0x00000001}, + {0x45504841, 0x04000000, 0x00000001}, + {0x45504941, 0x00800000, 0x00000008}, + {0x45504A41, 0x00800000, 0x00000001}, + {0x45504A43, 0x04000000, 0x00000002}, + {0x45504B41, 0x01000000, 0x00000001}, + {0x45504C41, 0x00800000, 0x00000001}, + {0x45504C42, 0x04000000, 0x00000002}, + {0x45504C43, 0x04000000, 0x00000003}, + {0x45504C54, 0x02000000, 0x00000001}, + {0x45504C59, 0x00800000, 0x00000002}, + {0x45504D41, 0x02000000, 0x00000002}, + {0x45504D43, 0x04000000, 0x00000001}, + {0x45504E41, 0x01000000, 0x00000001}, + {0x45504E59, 0x04000000, 0x00000002}, + {0x45504F41, 0x00800000, 0x00000001}, + {0x45504F43, 0x01000000, 0x00000003}, + {0x45504F59, 0x01000000, 0x00000001}, + {0x45505041, 0x001A68C8, 0x00000002}, + {0x45505043, 0x04000000, 0x00000005}, + {0x45505056, 0x02000000, 0x00000001}, + {0x45505141, 0x02000000, 0x00000002}, + {0x45505143, 0x01000000, 0x00000001}, + {0x45505159, 0x04000000, 0x00000002}, + {0x45505241, 0x04000000, 0x00000001}, + {0x45505242, 0x08000000, 0x00000002}, + {0x45505243, 0x02000000, 0x00000001}, + {0x45505256, 0x02000000, 0x00000001}, + {0x45505341, 0x02000000, 0x00000003}, + {0x45505342, 0x01000000, 0x00000002}, + {0x45505343, 0x10000000, 0x00000003}, + {0x45505356, 0x02000000, 0x00000002}, + {0x45505359, 0x02000000, 0x00000005}, + {0x45505442, 0x04000000, 0x00000002}, + {0x45505642, 0x08000000, 0x00000006}, + {0x45505659, 0x08000000, 0x00000003}, + {0x45505741, 0x01000000, 0x00000001}, + {0x45505742, 0x00800000, 0x00000001}, + {0x45505743, 0x02000000, 0x00000002}, + {0x45505841, 0x02000000, 0x00000005}, + {0x45505843, 0x02000000, 0x00000001}, + {0x45513543, 0x01000000, 0x00000002}, + {0x45513643, 0x08000000, 0x00000001}, + {0x45513741, 0x02000000, 0x00000001}, + {0x45513841, 0x02000000, 0x00000005}, + {0x45514141, 0x00800000, 0x00000000}, + {0x45514242, 0x00800000, 0x00000001}, + {0x45514243, 0x02000000, 0x00000002}, + {0x45514342, 0x01000000, 0x00000001}, + {0x45514359, 0x04000000, 0x00000002}, + {0x45514441, 0x04000000, 0x00000002}, + {0x45514459, 0x10000000, 0x00000003}, + {0x45514559, 0x00800000, 0x00000001}, + {0x45514641, 0x04000000, 0x00000002}, + {0x45514643, 0x01000000, 0x00000001}, + {0x45514741, 0x02000000, 0x00000003}, + {0x45514742, 0x02000000, 0x00000002}, + {0x45514743, 0x04000000, 0x00000003}, + {0x45514759, 0x04000000, 0x00000002}, + {0x45514841, 0x02000000, 0x00000001}, + {0x45514943, 0x02000000, 0x00000002}, + {0x45514A41, 0x01000000, 0x00000002}, + {0x45514A43, 0x00800000, 0x00000002}, + {0x45514A59, 0x01000000, 0x00000001}, + {0x45514B41, 0x02000000, 0x00000001}, + {0x45514B42, 0x04000000, 0x00000001}, + {0x45514B43, 0x02000000, 0x00000001}, + {0x45514C43, 0x04000000, 0x00000001}, + {0x45514D41, 0x04000000, 0x00000005}, + {0x45514E41, 0x00800000, 0x00000002}, + {0x45514E42, 0x02000000, 0x00000001}, + {0x45514F43, 0x04000000, 0x00000002}, + {0x45515042, 0x02000000, 0x00000001}, + {0x45515043, 0x02000000, 0x00000001}, + {0x45515141, 0x02000000, 0x00000002}, + {0x45515242, 0x01000000, 0x00000001}, + {0x45515243, 0x02000000, 0x00000001}, + {0x45515259, 0x02000000, 0x00000001}, + {0x45515341, 0x00800000, 0x00000002}, + {0x45515343, 0x01000000, 0x00000001}, + {0x45515359, 0x02000000, 0x00000002}, + {0x45515442, 0x01000000, 0x00000001}, + {0x45515641, 0x02000000, 0x00000002}, + {0x45515742, 0x01000000, 0x00000001}, + {0x45515743, 0x02000000, 0x00000001}, + {0x45515759, 0x00800000, 0x00000001}, + {0x45515842, 0x02000000, 0x00000001}, + {0x45515941, 0x00800000, 0x00000002}, + {0x45515943, 0x04000000, 0x00000001}, + {0x45515A43, 0x01000000, 0x00000001}, + {0x45523342, 0x08000000, 0x00000005}, + {0x45523442, 0x02000000, 0x00000001}, + {0x45523443, 0x02000000, 0x00000001}, + {0x45523459, 0x04000000, 0x00000008}, + {0x45523542, 0x10000000, 0x00000001}, + {0x45523559, 0x04000000, 0x00000008}, + {0x45523641, 0x04000000, 0x00000003}, + {0x45523642, 0x08000000, 0x00000002}, + {0x45523659, 0x04000000, 0x00000008}, + {0x45523741, 0x02000000, 0x00000001}, + {0x45524141, 0x00800000, 0x00000008}, + {0x45524143, 0x01000000, 0x00000002}, + {0x45524159, 0x01000000, 0x00000001}, + {0x45524241, 0x04000000, 0x00000002}, + {0x45524254, 0x04000000, 0x00000001}, + {0x45524256, 0x02000000, 0x00000001}, + {0x45524259, 0x04000000, 0x00000001}, + {0x45524341, 0x02000000, 0x00000001}, + {0x45524343, 0x00800000, 0x00000002}, + {0x45524354, 0x00800000, 0x00000001}, + {0x45524441, 0x01000000, 0x00000002}, + {0x45524442, 0x04000000, 0x00000005}, + {0x45524443, 0x00800000, 0x00000001}, + {0x45524459, 0x00800000, 0x00000001}, + {0x45524541, 0x01000000, 0x00000002}, + {0x45524542, 0x02000000, 0x00000001}, + {0x45524543, 0x02000000, 0x00000003}, + {0x45524559, 0x04000000, 0x00000003}, + {0x45524641, 0x04000000, 0x00000001}, + {0x45524643, 0x08000000, 0x00000002}, + {0x45524659, 0x01000000, 0x00000001}, + {0x45524756, 0x04000000, 0x00000001}, + {0x45524841, 0x02000000, 0x00000002}, + {0x45524842, 0x02000000, 0x00000001}, + {0x45524859, 0x01000000, 0x00000002}, + {0x45524942, 0x01000000, 0x00000001}, + {0x45524943, 0x04000000, 0x00000002}, + {0x45524959, 0x04000000, 0x00000001}, + {0x45524A41, 0x08000000, 0x00000005}, + {0x45524A42, 0x01000000, 0x00000001}, + {0x45524A43, 0x08000000, 0x00000003}, + {0x45524B42, 0x02000000, 0x00000001}, + {0x45524C42, 0x10000000, 0x00000001}, + {0x45524C43, 0x04000000, 0x00000003}, + {0x45524C54, 0x08000000, 0x00000001}, + {0x45524C59, 0x01000000, 0x00000002}, + {0x45524D43, 0x02000000, 0x00000002}, + {0x45524E42, 0x04000000, 0x00000003}, + {0x45524E43, 0x04000000, 0x00000002}, + {0x45524F55, 0x08000000, 0x00000008}, + {0x45525041, 0x02000000, 0x00000002}, + {0x45525042, 0x00800000, 0x00000001}, + {0x45525043, 0x04000000, 0x00000002}, + {0x45525059, 0x02000000, 0x00000002}, + {0x45525143, 0x04000000, 0x00000002}, + {0x45525241, 0x02000000, 0x00000002}, + {0x45525243, 0x02000000, 0x00000005}, + {0x45525254, 0x01000000, 0x00000001}, + {0x45525259, 0x02000000, 0x00000002}, + {0x45525342, 0x01000000, 0x00000001}, + {0x45525359, 0x01000000, 0x00000005}, + {0x45525441, 0x01000000, 0x00000002}, + {0x45525443, 0x02000000, 0x00000003}, + {0x45525459, 0x04000000, 0x00000001}, + {0x45525542, 0x01000000, 0x00000001}, + {0x45525741, 0x02000000, 0x00000005}, + {0x45525759, 0x04000000, 0x00000001}, + {0x45525843, 0x04000000, 0x00000001}, + {0x45525942, 0x08000000, 0x00000001}, + {0x45525959, 0x04000000, 0x00000001}, + {0x45525A42, 0x00800000, 0x00000001}, + {0x45525A43, 0x02000000, 0x00000001}, + {0x45533241, 0x04000000, 0x00000002}, + {0x45533242, 0x08000000, 0x00000002}, + {0x45533243, 0x08000000, 0x00000004}, + {0x45533341, 0x02000000, 0x00000001}, + {0x45533459, 0x08000000, 0x00000008}, + {0x45533543, 0x08000000, 0x00000001}, + {0x45533559, 0x04000000, 0x00000008}, + {0x45533641, 0x04000000, 0x00000001}, + {0x45533642, 0x04000000, 0x00000001}, + {0x45533741, 0x02000000, 0x00000001}, + {0x45533759, 0x04000000, 0x00000008}, + {0x45533842, 0x04000000, 0x00000002}, + {0x45533859, 0x00800000, 0x00000000}, + {0x45534143, 0x02000000, 0x00000001}, + {0x45534154, 0x01000000, 0x00000001}, + {0x45534242, 0x02000000, 0x00000001}, + {0x45534243, 0x01000000, 0x00000002}, + {0x45534256, 0x02000000, 0x00000001}, + {0x45534342, 0x04000000, 0x00000002}, + {0x45534354, 0x04000000, 0x00000005}, + {0x45534359, 0x00800000, 0x00000001}, + {0x45534443, 0x08000000, 0x00000001}, + {0x45534542, 0x04000000, 0x00000001}, + {0x45534556, 0x04000000, 0x00000001}, + {0x45534641, 0x02000000, 0x00000002}, + {0x45534656, 0x08000000, 0x00000003}, + {0x45534743, 0x08000000, 0x00000001}, + {0x45534754, 0x02000000, 0x00000001}, + {0x45534759, 0x04000000, 0x00000003}, + {0x45534841, 0x02000000, 0x00000002}, + {0x45534844, 0x02000000, 0xFFFFFFFF}, + {0x45534859, 0x02000000, 0x00000003}, + {0x45534941, 0x01000000, 0x00000001}, + {0x45534959, 0x04000000, 0x00000002}, + {0x45534A42, 0x04000000, 0x00000003}, + {0x45534A56, 0x04000000, 0x00000003}, + {0x45534B54, 0x02000000, 0x00000002}, + {0x45534C42, 0x04000000, 0x00000001}, + {0x45534C54, 0x01000000, 0x00000001}, + {0x45534D43, 0x02000000, 0x00000003}, + {0x45534D54, 0x01000000, 0x00000001}, + {0x45534E41, 0x01000000, 0x00000001}, + {0x45534E42, 0x01000000, 0x00000001}, + {0x45534E43, 0x04000000, 0x00000002}, + {0x45534F41, 0x08000000, 0x00000005}, + {0x45534F43, 0x02000000, 0x00000001}, + {0x45535043, 0x04000000, 0x00000002}, + {0x45535143, 0x02000000, 0x00000001}, + {0x45535243, 0x00800000, 0x00000001}, + {0x45535341, 0x04000000, 0x00000002}, + {0x45535342, 0x01000000, 0x00000002}, + {0x45535359, 0x04000000, 0x00000003}, + {0x45535541, 0x04000000, 0x00000001}, + {0x45535543, 0x02000000, 0x00000001}, + {0x45535559, 0x00800000, 0x00000001}, + {0x45535641, 0x02000000, 0x00000002}, + {0x45535643, 0x02000000, 0x00000001}, + {0x45535659, 0x02000000, 0x00000003}, + {0x45535741, 0x01000000, 0x00000002}, + {0x45535759, 0x08000000, 0x00000003}, + {0x45535842, 0x04000000, 0x00000003}, + {0x45535843, 0x01000000, 0x00000001}, + {0x45535943, 0x04000000, 0x00000002}, + {0x45535A42, 0x00800000, 0x00000001}, + {0x45543241, 0x02000000, 0x00000001}, + {0x45543341, 0x02000000, 0x00000002}, + {0x45543343, 0x04000000, 0x00000003}, + {0x45543442, 0x01000000, 0x00000002}, + {0x45543541, 0x02000000, 0x00000005}, + {0x45543542, 0x00800000, 0x00000001}, + {0x45543543, 0x02000000, 0x00000005}, + {0x45543559, 0x00800000, 0x00000008}, + {0x45543641, 0x04000000, 0x00000001}, + {0x45543642, 0x04000000, 0x00000002}, + {0x45543643, 0x01000000, 0x00000002}, + {0x45543741, 0x02000000, 0x00000001}, + {0x45543841, 0x02000000, 0x00000002}, + {0x45544142, 0x04000000, 0x00000002}, + {0x45544143, 0x02000000, 0x00000002}, + {0x45544154, 0x02000000, 0x00000001}, + {0x45544156, 0x02000000, 0x00000001}, + {0x45544159, 0x01000000, 0x00000002}, + {0x45544241, 0x02000000, 0x00000001}, + {0x45544254, 0x01000000, 0x00000001}, + {0x45544256, 0x02000000, 0x00000002}, + {0x45544259, 0x08000000, 0x00000003}, + {0x45544341, 0x02000000, 0x00000001}, + {0x45544359, 0x02000000, 0x00000001}, + {0x45544454, 0x10000000, 0x00000008}, + {0x45544459, 0x04000000, 0x00000003}, + {0x45544559, 0x01000000, 0x00000001}, + {0x45544641, 0x00800000, 0x00000001}, + {0x45544659, 0x04000000, 0x00000005}, + {0x45544742, 0x08000000, 0x00000002}, + {0x45544759, 0x02000000, 0x00000001}, + {0x45544941, 0x00800000, 0x00000001}, + {0x45544943, 0x01000000, 0x00000001}, + {0x45544959, 0x01000000, 0x00000001}, + {0x45544A41, 0x02000000, 0x00000001}, + {0x45544A56, 0x04000000, 0x00000001}, + {0x45544B43, 0x04000000, 0x00000002}, + {0x45544C41, 0x00800000, 0x00000001}, + {0x45544C42, 0x00800000, 0x00000001}, + {0x45544C59, 0x08000000, 0x00000002}, + {0x45544D41, 0x04000000, 0x00000002}, + {0x45544D42, 0x08000000, 0x00000003}, + {0x45544D43, 0x02000000, 0x00000001}, + {0x45544D54, 0x04000000, 0x00000002}, + {0x45544E41, 0x04000000, 0x00000002}, + {0x45545041, 0x01000000, 0x00000002}, + {0x45545054, 0x08000000, 0x00000001}, + {0x45545059, 0x02000000, 0x00000005}, + {0x45545141, 0x01000000, 0x00000002}, + {0x45545143, 0x04000000, 0x00000003}, + {0x45545259, 0x02000000, 0x00000002}, + {0x45545341, 0x02000000, 0x00000001}, + {0x45545343, 0x04000000, 0x00000001}, + {0x45545359, 0x04000000, 0x00000001}, + {0x45545541, 0x01000000, 0x00000001}, + {0x45545543, 0x01000000, 0x00000001}, + {0x45545559, 0x04000000, 0x00000002}, + {0x45545659, 0x02000000, 0x00000001}, + {0x45545741, 0x00800000, 0x00000001}, + {0x45545743, 0x02000000, 0x00000001}, + {0x45545841, 0x00800000, 0x00000001}, + {0x45545942, 0x08000000, 0x00000002}, + {0x45545959, 0x01000000, 0x00000002}, + {0x45545A41, 0x01000000, 0x00000005}, + {0x45545A59, 0x01000000, 0x00000005}, + {0x45553242, 0x02000000, 0x00000001}, + {0x45553342, 0x02000000, 0x00000002}, + {0x45553459, 0x02000000, 0x00000008}, + {0x45553541, 0x02000000, 0x00000005}, + {0x45553542, 0x04000000, 0x00000002}, + {0x45553543, 0x02000000, 0x00000002}, + {0x45553559, 0x01000000, 0x00000000}, + {0x45553659, 0x01000000, 0x00000000}, + {0x45553743, 0x02000000, 0x00000001}, + {0x45554159, 0x04000000, 0x00000003}, + {0x45554241, 0x04000000, 0x00000005}, + {0x45554242, 0x04000000, 0x00000003}, + {0x45554259, 0x08000000, 0x00000003}, + {0x45554341, 0x04000000, 0x00000005}, + {0x45554342, 0x01000000, 0x00000001}, + {0x45554359, 0x00400000, 0x00000003}, + {0x45554442, 0x02000000, 0x00000001}, + {0x45554443, 0x01000000, 0x00000003}, + {0x45554454, 0x00800000, 0x00000001}, + {0x45554543, 0x04000000, 0x00000002}, + {0x45554641, 0x01000000, 0x00000003}, + {0x45554642, 0x01000000, 0x00000001}, + {0x45554854, 0x02000000, 0x00000001}, + {0x45554859, 0x00800000, 0x00000001}, + {0x45554942, 0x01000000, 0x00000001}, + {0x45554943, 0x04000000, 0x00000002}, + {0x45554A59, 0x04000000, 0x00000002}, + {0x45554B41, 0x04000000, 0x00000001}, + {0x45554B42, 0x08000000, 0x00000005}, + {0x45554B56, 0x04000000, 0x00000001}, + {0x45554C54, 0x04000000, 0x00000001}, + {0x45554D41, 0x00800000, 0x00000001}, + {0x45554D42, 0x04000000, 0x00000001}, + {0x45554D43, 0x01000000, 0x00000003}, + {0x45554D59, 0x04000000, 0x00000002}, + {0x45554E41, 0x01000000, 0x00000001}, + {0x45554F43, 0x00800000, 0x00000003}, + {0x45555043, 0x08000000, 0x00000006}, + {0x45555054, 0x01000000, 0x00000001}, + {0x45555159, 0x08000000, 0x00000003}, + {0x45555242, 0x01000000, 0x00000001}, + {0x45555341, 0x04000000, 0x00000003}, + {0x45555343, 0x02000000, 0x00000001}, + {0x45555442, 0x04000000, 0x00000002}, + {0x45555741, 0x02000000, 0x00000001}, + {0x45555742, 0x01000000, 0x00000002}, + {0x45555743, 0x04000000, 0x00000001}, + {0x45555841, 0x02000000, 0x00000001}, + {0x45555843, 0x08000000, 0x00000002}, + {0x45555943, 0x01000000, 0x00000002}, + {0x45555959, 0x04000000, 0x00000001}, + {0x45555A42, 0x02000000, 0x00000002}, + {0x45555A56, 0x02000000, 0x00000002}, + {0x45563241, 0x00800000, 0x00000001}, + {0x45563242, 0x01000000, 0x00000001}, + {0x45563341, 0x04000000, 0x00000003}, + {0x45563342, 0x02000000, 0x00000001}, + {0x45563542, 0x04000000, 0x00000001}, + {0x45563559, 0x00800000, 0x00000008}, + {0x45563642, 0x00800000, 0x00000001}, + {0x45563643, 0x02000000, 0x00000001}, + {0x45563742, 0x00800000, 0x00000001}, + {0x45564142, 0x04000000, 0x00000001}, + {0x45564143, 0x02000000, 0x00000002}, + {0x45564156, 0x04000000, 0x00000001}, + {0x45564159, 0x04000000, 0x00000002}, + {0x45564242, 0x00800000, 0x00000001}, + {0x45564256, 0x02000000, 0x00000001}, + {0x45564259, 0x02000000, 0x00000002}, + {0x45564341, 0x04000000, 0x00000002}, + {0x45564359, 0x01000000, 0x00000003}, + {0x45564441, 0x01000000, 0x00000001}, + {0x45564442, 0x02000000, 0x00000001}, + {0x45564443, 0x01000000, 0x00000001}, + {0x45564454, 0x08000000, 0x00000003}, + {0x45564459, 0x00800000, 0x00000002}, + {0x45564641, 0x04000000, 0x00000001}, + {0x45564643, 0x02000000, 0x00000002}, + {0x45564741, 0x02000000, 0x00000002}, + {0x45564841, 0x01000000, 0x00000001}, + {0x45564842, 0x02000000, 0x00000001}, + {0x45564843, 0x02000000, 0x00000003}, + {0x45564854, 0x04000000, 0x00000001}, + {0x45564942, 0x00800000, 0x00000001}, + {0x45564959, 0x08000000, 0x00000003}, + {0x45564A59, 0x01000000, 0x00000002}, + {0x45564C41, 0x01000000, 0x00000002}, + {0x45564C54, 0x02000000, 0x00000002}, + {0x45564D41, 0x04000000, 0x00000001}, + {0x45564D42, 0x00800000, 0x00000001}, + {0x45564D43, 0x00800000, 0x00000001}, + {0x45564D59, 0x00800000, 0x00000001}, + {0x45564E43, 0x10000000, 0x00000005}, + {0x45564F59, 0x00800000, 0x00000001}, + {0x45565041, 0x00800000, 0x00000002}, + {0x45565042, 0x00800000, 0x00000004}, + {0x45565043, 0x04000000, 0x00000002}, + {0x45565056, 0x04000000, 0x00000002}, + {0x45565059, 0x04000000, 0x00000001}, + {0x45565141, 0x01000000, 0x00000002}, + {0x45565143, 0x04000000, 0x00000001}, + {0x45565159, 0x01000000, 0x00000001}, + {0x45565241, 0x02000000, 0x00000003}, + {0x45565242, 0x01000000, 0x00000002}, + {0x45565259, 0x02000000, 0x00000005}, + {0x45565341, 0x00800000, 0x00000001}, + {0x45565342, 0x02000000, 0x00000001}, + {0x45565343, 0x02000000, 0x00000005}, + {0x45565441, 0x01000000, 0x00000001}, + {0x45565442, 0x02000000, 0x00000002}, + {0x45565459, 0x08000000, 0x00000003}, + {0x45565642, 0x01000000, 0x00000002}, + {0x45565741, 0x01000000, 0x00000001}, + {0x45565742, 0x02000000, 0x00000001}, + {0x45565756, 0x04000000, 0x00000001}, + {0x45565841, 0x04000000, 0x00000003}, + {0x45565842, 0x02000000, 0x00000001}, + {0x45565A41, 0x00800000, 0x00000001}, + {0x45565A42, 0x04000000, 0x00000002}, + {0x45565A43, 0x02000000, 0x00000001}, + {0x45573241, 0x04000000, 0x00000001}, + {0x45573259, 0x04000000, 0x00000008}, + {0x45573341, 0x04000000, 0x00000002}, + {0x45573342, 0x04000000, 0x00000002}, + {0x45573543, 0x01000000, 0x00000002}, + {0x45573641, 0x02000000, 0x00000002}, + {0x45573642, 0x08000000, 0x00000002}, + {0x45573643, 0x02000000, 0x00000002}, + {0x45573742, 0x01000000, 0x00000002}, + {0x45573759, 0x00800000, 0x00000001}, + {0x45574159, 0x04000000, 0x00000002}, + {0x45574259, 0x01000000, 0x00000002}, + {0x45574343, 0x02000000, 0x00000002}, + {0x45574354, 0x02000000, 0x00000001}, + {0x45574356, 0x02000000, 0x00000002}, + {0x45574442, 0x02000000, 0x00000001}, + {0x45574459, 0x02000000, 0x00000005}, + {0x45574542, 0x04000000, 0x00000002}, + {0x45574641, 0x01000000, 0x00000001}, + {0x45574643, 0x01000000, 0x00000001}, + {0x45574659, 0x00800000, 0x00000001}, + {0x45574741, 0x01000000, 0x00000002}, + {0x45574743, 0x00800000, 0x00000001}, + {0x45574759, 0x00800000, 0x00000001}, + {0x45574842, 0x00800000, 0x00000001}, + {0x45574856, 0x04000000, 0x00000002}, + {0x45574859, 0x02000000, 0x00000001}, + {0x45574942, 0x02000000, 0x00000002}, + {0x45574A43, 0x00800000, 0x00000001}, + {0x45574A56, 0x02000000, 0x00000003}, + {0x45574B41, 0x04000000, 0x00000002}, + {0x45574B42, 0x00800000, 0x00000002}, + {0x45574B59, 0x08000000, 0x00000003}, + {0x45574C41, 0x02000000, 0x00000001}, + {0x45574C43, 0x10000000, 0x00000002}, + {0x45574D41, 0x04000000, 0x00000002}, + {0x45574D49, 0x04000000, 0x00000007}, + {0x45574E41, 0x02000000, 0x00000002}, + {0x45574E59, 0x02000000, 0x00000001}, + {0x45574F41, 0x00800000, 0x00000001}, + {0x45575041, 0x02000000, 0x00000001}, + {0x45575042, 0x01000000, 0x00000001}, + {0x45575043, 0x04000000, 0x00000002}, + {0x45575141, 0x01000000, 0x00000001}, + {0x45575243, 0x02000000, 0x00000002}, + {0x45575254, 0x02000000, 0x00000002}, + {0x45575259, 0x02000000, 0x00000005}, + {0x45575341, 0x02000000, 0x00000001}, + {0x45575343, 0x04000000, 0x00000001}, + {0x45575359, 0x00800000, 0x00000001}, + {0x45575441, 0x02000000, 0x00000002}, + {0x45575442, 0x02000000, 0x00000001}, + {0x45575443, 0x08000000, 0x00000001}, + {0x45575641, 0x02000000, 0x00000002}, + {0x45575741, 0x02000000, 0x00000001}, + {0x45575842, 0x00800000, 0x00000001}, + {0x45575941, 0x02000000, 0x00000002}, + {0x45575943, 0x01000000, 0x00000001}, + {0x45575959, 0x02000000, 0x00000001}, + {0x45575A41, 0x02000000, 0x00000002}, + {0x45583242, 0x02000000, 0x00000002}, + {0x45583341, 0x04000000, 0x00000001}, + {0x45583342, 0x01000000, 0x00000001}, + {0x45583659, 0x00800000, 0x00000000}, + {0x45584154, 0x00800000, 0x00000001}, + {0x45584241, 0x02000000, 0x00000002}, + {0x45584242, 0x00800000, 0x00000001}, + {0x45584243, 0x01000000, 0x00000003}, + {0x45584259, 0x00800000, 0x00000001}, + {0x45584341, 0x01000000, 0x00000003}, + {0x45584343, 0x01000000, 0x00000003}, + {0x45584359, 0x02000000, 0x00000002}, + {0x45584456, 0x04000000, 0x00000001}, + {0x45584542, 0x01000000, 0x00000001}, + {0x45584559, 0x02000000, 0x00000002}, + {0x45584641, 0x08000000, 0x00000003}, + {0x45584642, 0x04000000, 0x00000002}, + {0x45584643, 0x01000000, 0x00000001}, + {0x45584659, 0x02000000, 0x00000001}, + {0x45584741, 0x08000000, 0x00000003}, + {0x45584759, 0x08000000, 0x00000002}, + {0x45584841, 0x00800000, 0x00000001}, + {0x45584843, 0x02000000, 0x00000003}, + {0x45584859, 0x01000000, 0x00000001}, + {0x45584A43, 0x01000000, 0x00000001}, + {0x45584B43, 0x01000000, 0x00000001}, + {0x45584C41, 0x02000000, 0x00000001}, + {0x45584C59, 0x00800000, 0x00000001}, + {0x45584D41, 0x01000000, 0x00000001}, + {0x45584D42, 0x02000000, 0x00000001}, + {0x45584D43, 0x01000000, 0x00000001}, + {0x45584D59, 0x00800000, 0x00000001}, + {0x45584E41, 0x02000000, 0x00000001}, + {0x45584E42, 0x04000000, 0x00000002}, + {0x45584E59, 0x00800000, 0x00000002}, + {0x45585159, 0x01000000, 0x00000001}, + {0x45585343, 0x01000000, 0x00000001}, + {0x45585359, 0x01000000, 0x00000001}, + {0x45585441, 0x01000000, 0x00000002}, + {0x45585442, 0x04000000, 0x00000001}, + {0x45585443, 0x01000000, 0x00000001}, + {0x45585543, 0x04000000, 0x00000001}, + {0x45585559, 0x04000000, 0x00000003}, + {0x45585641, 0x01000000, 0x00000001}, + {0x45585643, 0x04000000, 0x00000002}, + {0x45585741, 0x01000000, 0x00000002}, + {0x45585842, 0x02000000, 0x00000001}, + {0x45585859, 0x04000000, 0x00000002}, + {0x45585941, 0x08000000, 0x00000005}, + {0x45585942, 0x10000000, 0x00000003}, + {0x45585943, 0x02000000, 0x00000001}, + {0x45585A42, 0x02000000, 0x00000001}, + {0x45585A59, 0x04000000, 0x00000002}, + {0x45593341, 0x04000000, 0x00000003}, + {0x45593342, 0x02000000, 0x00000001}, + {0x45593459, 0x01000000, 0x00000008}, + {0x45593559, 0x01000000, 0x00000008}, + {0x45593641, 0x01000000, 0x00000002}, + {0x45593742, 0x01000000, 0x00000002}, + {0x45593759, 0x00800000, 0x00000008}, + {0x45594143, 0x02000000, 0x00000001}, + {0x45594159, 0x02000000, 0x00000001}, + {0x45594242, 0x00800000, 0x00000001}, + {0x45594243, 0x02000000, 0x00000001}, + {0x45594259, 0x02000000, 0x00000001}, + {0x45594343, 0x01000000, 0x00000001}, + {0x45594354, 0x04000000, 0x00000002}, + {0x45594359, 0x00800000, 0x00000001}, + {0x45594442, 0x04000000, 0x00000002}, + {0x45594542, 0x01000000, 0x00000001}, + {0x45594543, 0x02000000, 0x00000001}, + {0x45594641, 0x04000000, 0x00000001}, + {0x45594659, 0x04000000, 0x00000005}, + {0x45594741, 0x04000000, 0x00000005}, + {0x45594756, 0x02000000, 0x00000002}, + {0x45594842, 0x01000000, 0x00000001}, + {0x45594843, 0x01000000, 0x00000001}, + {0x45594941, 0x02000000, 0x00000001}, + {0x45594943, 0x04000000, 0x00000002}, + {0x45594959, 0x01000000, 0x00000001}, + {0x45594B41, 0x01000000, 0x00000003}, + {0x45594B42, 0x02000000, 0x00000002}, + {0x45594C41, 0x04000000, 0x00000001}, + {0x45594C59, 0x02000000, 0x00000002}, + {0x45594D42, 0x01000000, 0x00000002}, + {0x45594D56, 0x04000000, 0x00000001}, + {0x45594D59, 0x08000000, 0x00000002}, + {0x45594E41, 0x04000000, 0x00000003}, + {0x45594E42, 0x04000000, 0x00000001}, + {0x45594E43, 0x04000000, 0x00000002}, + {0x45594E59, 0x00800000, 0x00000001}, + {0x45594F41, 0x01000000, 0x00000002}, + {0x45594F43, 0x04000000, 0x00000002}, + {0x45595041, 0x02000000, 0x00000002}, + {0x45595042, 0x00800000, 0x00000001}, + {0x45595142, 0x04000000, 0x00000001}, + {0x45595241, 0x02000000, 0x00000002}, + {0x45595243, 0x01000000, 0x00000001}, + {0x45595254, 0x02000000, 0x00000001}, + {0x45595342, 0x02000000, 0x00000002}, + {0x45595343, 0x01000000, 0x00000001}, + {0x45595344, 0x02000000, 0x00000001}, + {0x45595359, 0x01000000, 0x00000001}, + {0x45595543, 0x02000000, 0x00000001}, + {0x45595642, 0x08000000, 0x00000001}, + {0x45595842, 0x04000000, 0x00000002}, + {0x45595859, 0x00800000, 0x00000001}, + {0x45595941, 0x01000000, 0x00000002}, + {0x45595942, 0x08000000, 0x00000003}, + {0x45595A41, 0x04000000, 0x00000002}, + {0x45595A42, 0x00800000, 0x00000001}, + {0x45595A59, 0x01000000, 0x00000002}, + {0x455A3441, 0x00800000, 0x00000001}, + {0x455A3443, 0x04000000, 0x00000002}, + {0x455A3541, 0x04000000, 0x00000001}, + {0x455A3542, 0x00800000, 0x00000001}, + {0x455A3543, 0x00800000, 0x00000001}, + {0x455A3642, 0x04000000, 0x00000003}, + {0x455A3659, 0x08000000, 0x00000000}, + {0x455A3742, 0x04000000, 0x00000001}, + {0x455A4159, 0x01000000, 0x00000001}, + {0x455A4241, 0x08000000, 0x00000003}, + {0x455A4242, 0x01000000, 0x00000001}, + {0x455A4259, 0x01000000, 0x00000001}, + {0x455A4341, 0x01000000, 0x00000001}, + {0x455A4343, 0x00800000, 0x00000001}, + {0x455A4354, 0x04000000, 0x00000002}, + {0x455A4441, 0x02000000, 0x00000002}, + {0x455A4442, 0x04000000, 0x00000003}, + {0x455A4443, 0x04000000, 0x00000002}, + {0x455A4641, 0x04000000, 0x00000001}, + {0x455A4642, 0x00800000, 0x00000001}, + {0x455A4656, 0x02000000, 0x00000001}, + {0x455A4742, 0x01000000, 0x00000002}, + {0x455A4841, 0x04000000, 0x00000001}, + {0x455A4842, 0x02000000, 0x00000003}, + {0x455A4859, 0x04000000, 0x00000002}, + {0x455A4941, 0x01000000, 0x00000002}, + {0x455A4943, 0x02000000, 0x00000001}, + {0x455A4959, 0x04000000, 0x00000002}, + {0x455A4A59, 0x04000000, 0x00000005}, + {0x455A4B43, 0x01000000, 0x00000005}, + {0x455A4C43, 0x04000000, 0x00000001}, + {0x455A4C59, 0x08000000, 0x00000002}, + {0x455A4D56, 0x04000000, 0x00000001}, + {0x455A4D59, 0x01000000, 0x00000001}, + {0x455A4E41, 0x01000000, 0x00000001}, + {0x455A4E59, 0x04000000, 0x00000002}, + {0x455A4F41, 0x01000000, 0x00000002}, + {0x455A4F42, 0x02000000, 0x00000001}, + {0x455A4F43, 0x08000000, 0x00000002}, + {0x455A5042, 0x00800000, 0x00000001}, + {0x455A5043, 0x02000000, 0x00000002}, + {0x455A5143, 0x02000000, 0x00000001}, + {0x455A5241, 0x04000000, 0x00000002}, + {0x455A5242, 0x04000000, 0x00000003}, + {0x455A5243, 0x00800000, 0x00000002}, + {0x455A5254, 0x02000000, 0x00000002}, + {0x455A5341, 0x01000000, 0x00000001}, + {0x455A5343, 0x02000000, 0x00000005}, + {0x455A5359, 0x08000000, 0x00000001}, + {0x455A5442, 0x02000000, 0x00000001}, + {0x455A5443, 0x02000000, 0x00000003}, + {0x455A5459, 0x02000000, 0x00000001}, + {0x455A5541, 0x04000000, 0x00000005}, + {0x455A5543, 0x04000000, 0x00000001}, + {0x455A5759, 0x04000000, 0x00000001}, + {0x455A5A42, 0x00800000, 0x00000001}, + {0x46323643, 0x04000000, 0x00000001}, + {0x46324543, 0x02000000, 0x00000001}, + {0x46324C42, 0x01000000, 0x00000001}, + {0x46324E42, 0x01000000, 0x00000002}, + {0x46325959, 0x00800000, 0x00000001}, + {0x46334343, 0x01000000, 0x00000001}, + {0x46334E42, 0x01000000, 0x00000002}, + {0x46335141, 0x04000000, 0x00000002}, + {0x46335159, 0x04000000, 0x00000002}, + {0x46335742, 0x08000000, 0x00000002}, + {0x46344259, 0x02000000, 0x00000001}, + {0x46344559, 0x02000000, 0x00000001}, + {0x46344E42, 0x01000000, 0x00000002}, + {0x46354243, 0x01000000, 0x00000001}, + {0x46354841, 0x02000000, 0x00000002}, + {0x46354E42, 0x01000000, 0x00000002}, + {0x46363443, 0x00800000, 0x00000001}, + {0x46364E42, 0x01000000, 0x00000002}, + {0x46373343, 0x02000000, 0x00000001}, + {0x46373443, 0x02000000, 0x00000001}, + {0x46373543, 0x02000000, 0x00000001}, + {0x46373742, 0x00800000, 0x00000001}, + {0x46374559, 0x00800000, 0x00000001}, + {0x46375443, 0x00800000, 0x00000002}, + {0x46375959, 0x01000000, 0x00000001}, + {0x46383643, 0x02000000, 0x00000001}, + {0x46383742, 0x00800000, 0x00000001}, + {0x46384343, 0x02000000, 0x00000001}, + {0x46384543, 0x02000000, 0x00000001}, + {0x46384C59, 0x01000000, 0x00000001}, + {0x46394341, 0x04000000, 0x00000001}, + {0x46394343, 0x02000000, 0x00000001}, + {0x46394943, 0x01000000, 0x00000002}, + {0x46395342, 0x00800000, 0x00000001}, + {0x46395942, 0x00800000, 0x00000001}, + {0x46413343, 0x00800000, 0x00000001}, + {0x46414441, 0x04000000, 0x00000006}, + {0x46414759, 0x01000000, 0x00000001}, + {0x46414C59, 0x00800000, 0x00000002}, + {0x46414E43, 0x02000000, 0x00000001}, + {0x46414F43, 0x00800000, 0x00000001}, + {0x46415041, 0x04000000, 0x00000006}, + {0x46415249, 0x10000000, 0x00000006}, + {0x46415843, 0x00800000, 0x00000001}, + {0x46423542, 0x04000000, 0x00000002}, + {0x46424354, 0x08000000, 0x00000001}, + {0x46424542, 0x10000000, 0x00000003}, + {0x46424659, 0x01000000, 0x00000001}, + {0x46424A42, 0x04000000, 0x00000001}, + {0x46424D43, 0x01000000, 0x00000001}, + {0x46424F43, 0x00800000, 0x00000001}, + {0x46425042, 0x01000000, 0x00000001}, + {0x46425043, 0x01000000, 0x00000001}, + {0x46425249, 0x10000000, 0x00000006}, + {0x46425254, 0x00800000, 0x00000001}, + {0x46425843, 0x00800000, 0x00000001}, + {0x46433243, 0x00800000, 0x00000001}, + {0x46434143, 0x01000000, 0x00000002}, + {0x46434A42, 0x04000000, 0x00000002}, + {0x46435843, 0x00800000, 0x00000001}, + {0x46435943, 0x02000000, 0x00000002}, + {0x46444143, 0x01000000, 0x00000002}, + {0x46444359, 0x02000000, 0x00000001}, + {0x46445054, 0x08000000, 0x00000001}, + {0x46445249, 0x20000000, 0x00000006}, + {0x46445443, 0x04000000, 0x00000002}, + {0x46445641, 0x01000000, 0x00000002}, + {0x46445843, 0x00800000, 0x00000001}, + {0x46454143, 0x01000000, 0x00000002}, + {0x46454542, 0x10000000, 0x00000003}, + {0x46454543, 0x00800000, 0x00000001}, + {0x46454559, 0x10000000, 0x00000003}, + {0x46454741, 0x01000000, 0x00000001}, + {0x46454959, 0x02000000, 0x00000002}, + {0x46455249, 0x20000000, 0x00000006}, + {0x46455542, 0x02000000, 0x00000001}, + {0x46455843, 0x00800000, 0x00000001}, + {0x46464143, 0x01000000, 0x00000001}, + {0x46464459, 0x01000000, 0x00000001}, + {0x46464A43, 0x01000000, 0x00000001}, + {0x46464B59, 0x02000000, 0x00000001}, + {0x46464C42, 0x10000000, 0x00000003}, + {0x46464D43, 0x00800000, 0x00000001}, + {0x46465059, 0x02000000, 0x00000001}, + {0x46465359, 0x04000000, 0x00000001}, + {0x46465843, 0x00800000, 0x00000001}, + {0x46465959, 0x00800000, 0x00000001}, + {0x46474D41, 0x01000000, 0x00000001}, + {0x46474D43, 0x04000000, 0x00000001}, + {0x46475049, 0x08000000, 0x00000006}, + {0x46483842, 0x04000000, 0x00000002}, + {0x46484143, 0x00800000, 0x00000001}, + {0x46484259, 0x02000000, 0x00000002}, + {0x46484A42, 0x01000000, 0x00000001}, + {0x46495443, 0x02000000, 0x00000002}, + {0x464A3343, 0x10000000, 0x00000003}, + {0x464A3743, 0x00800000, 0x00000001}, + {0x464A4754, 0x00800000, 0x00000001}, + {0x464A4959, 0x04000000, 0x00000002}, + {0x464A4F41, 0x02000000, 0x00000002}, + {0x464A4F42, 0x04000000, 0x00000002}, + {0x464A4F43, 0x00800000, 0x00000001}, + {0x464A5641, 0x04000000, 0x00000002}, + {0x464A5759, 0x00800000, 0x00000002}, + {0x464B4159, 0x08000000, 0x00000002}, + {0x464B4356, 0x08000000, 0x00000002}, + {0x464B4841, 0x04000000, 0x00000003}, + {0x464B5049, 0x08000000, 0x00000006}, + {0x464C4343, 0x02000000, 0x00000002}, + {0x464C4359, 0x01000000, 0x00000002}, + {0x464C4842, 0x04000000, 0x00000002}, + {0x464C4D59, 0x00800000, 0x00000001}, + {0x464C4F41, 0x00800000, 0x00000001}, + {0x464D4443, 0x00800000, 0x00000001}, + {0x464D4C54, 0x08000000, 0x00000001}, + {0x464D5141, 0x00800000, 0x00000001}, + {0x464E4243, 0x02000000, 0x00000001}, + {0x464E4259, 0x04000000, 0x00000007}, + {0x464E5243, 0x01000000, 0x00000001}, + {0x464E5759, 0x02000000, 0x00000001}, + {0x464F4359, 0x04000000, 0x00000001}, + {0x46504242, 0x00800000, 0x00000001}, + {0x46504A59, 0x01000000, 0x00000001}, + {0x46504B43, 0x02000000, 0x00000001}, + {0x46504C43, 0x04000000, 0x00000003}, + {0x46504F42, 0x01000000, 0x00000001}, + {0x46505041, 0x01000000, 0x00000002}, + {0x46505942, 0x02000000, 0x00000001}, + {0x46505A55, 0x08000000, 0x00000003}, + {0x46514343, 0x02000000, 0x00000001}, + {0x46514C59, 0x04000000, 0x00000001}, + {0x46514D43, 0x02000000, 0x00000001}, + {0x46524359, 0x02000000, 0x00000001}, + {0x46525141, 0x01000000, 0x00000002}, + {0x46525359, 0x01000000, 0x00000005}, + {0x46533341, 0x02000000, 0x00000001}, + {0x46534343, 0x02000000, 0x00000001}, + {0x46534959, 0x02000000, 0x00000002}, + {0x46534F41, 0x08000000, 0x00000005}, + {0x46535541, 0x04000000, 0x00000001}, + {0x46543242, 0x00800000, 0x00000001}, + {0x46543743, 0x01000000, 0x00000002}, + {0x46544159, 0x01000000, 0x00000002}, + {0x46544443, 0x02000000, 0x00000001}, + {0x46544C43, 0x00800000, 0x00000001}, + {0x46544C59, 0x08000000, 0x00000002}, + {0x46545643, 0x02000000, 0x00000001}, + {0x46554243, 0x01000000, 0x00000001}, + {0x46554259, 0x08000000, 0x00000003}, + {0x46554559, 0x01000000, 0x00000001}, + {0x46554743, 0x01000000, 0x00000002}, + {0x46554F59, 0x02000000, 0x00000001}, + {0x46555043, 0x08000000, 0x00000006}, + {0x46555643, 0x01000000, 0x00000001}, + {0x46563742, 0x01000000, 0x00000001}, + {0x46564559, 0x01000000, 0x00000001}, + {0x46564643, 0x02000000, 0x00000002}, + {0x46564859, 0x04000000, 0x00000001}, + {0x46564E43, 0x10000000, 0x00000005}, + {0x46565841, 0x04000000, 0x00000003}, + {0x46573743, 0x00800000, 0x00000001}, + {0x46574243, 0x02000000, 0x00000001}, + {0x46574356, 0x02000000, 0x00000002}, + {0x46574959, 0x04000000, 0x00000001}, + {0x46575959, 0x02000000, 0x00000001}, + {0x46583543, 0x02000000, 0x00000001}, + {0x46583743, 0x00800000, 0x00000001}, + {0x46585059, 0x00800000, 0x00000003}, + {0x46585441, 0x01000000, 0x00000002}, + {0x46585959, 0x01000000, 0x00000001}, + {0x46593743, 0x00800000, 0x00000001}, + {0x46594342, 0x04000000, 0x00000001}, + {0x46594442, 0x04000000, 0x00000002}, + {0x46594443, 0x02000000, 0x00000002}, + {0x46594641, 0x04000000, 0x00000001}, + {0x46594642, 0x01000000, 0x00000001}, + {0x46594A59, 0x00800000, 0x00000001}, + {0x46594C41, 0x04000000, 0x00000001}, + {0x46595559, 0x00800000, 0x00000001}, + {0x46595A41, 0x04000000, 0x00000002}, + {0x465A3659, 0x08000000, 0x00000008}, + {0x465A3743, 0x00800000, 0x00000001}, + {0x465A4142, 0x04000000, 0x00000001}, + {0x465A4641, 0x04000000, 0x00000001}, + {0x465A4F41, 0x01000000, 0x00000002}, + {0x465A5359, 0x08000000, 0x00000001}, + {0x474C4443, 0x02000000, 0x00000004}, + {0x47595543, 0x02000000, 0x00000001}, + {0x48334B54, 0x01000000, 0x00000001}, + {0x48335159, 0x04000000, 0x00000002}, + {0x48344259, 0x02000000, 0x00000001}, + {0x48344559, 0x02000000, 0x00000001}, + {0x48354841, 0x02000000, 0x00000002}, + {0x48373642, 0x01000000, 0x00000002}, + {0x48374E43, 0x01000000, 0x00000002}, + {0x48384C59, 0x01000000, 0x00000001}, + {0x48414B54, 0x02000000, 0x00000001}, + {0x48414C59, 0x00800000, 0x00000002}, + {0x48434842, 0x01000000, 0x00000001}, + {0x48435943, 0x02000000, 0x00000002}, + {0x48454E42, 0x02000000, 0x00000001}, + {0x48455142, 0x02000000, 0x00000002}, + {0x48464B59, 0x02000000, 0x00000001}, + {0x48464C42, 0x10000000, 0x00000003}, + {0x48464E42, 0x02000000, 0x00000001}, + {0x48474D41, 0x01000000, 0x00000001}, + {0x48474D43, 0x04000000, 0x00000001}, + {0x48494759, 0x00800000, 0x00000002}, + {0x48495959, 0x01000000, 0x00000001}, + {0x484A3343, 0x10000000, 0x00000003}, + {0x484A4D43, 0x01000000, 0x00000002}, + {0x484B5242, 0x00800000, 0x00000002}, + {0x484C3542, 0x01000000, 0x00000001}, + {0x484C4842, 0x04000000, 0x00000002}, + {0x484C5143, 0x00800000, 0x00000002}, + {0x484C5442, 0x00800000, 0x00000002}, + {0x484C5459, 0x00800000, 0x00000002}, + {0x484D5742, 0x01000000, 0x00000001}, + {0x484E4242, 0x00800000, 0x00000002}, + {0x48504A59, 0x01000000, 0x00000001}, + {0x48505443, 0x00800000, 0x00000002}, + {0x48515443, 0x00800000, 0x00000001}, + {0x48533341, 0x02000000, 0x00000001}, + {0x48544C59, 0x08000000, 0x00000002}, + {0x48565742, 0x02000000, 0x00000001}, + {0x48565841, 0x04000000, 0x00000003}, + {0x48575143, 0x02000000, 0x00000008}, + {0x48594559, 0x01000000, 0x00000001}, + {0x48595759, 0x04000000, 0x00000002}, + {0x485A3243, 0x00800000, 0x00000002}, + {0x485A4841, 0x04000000, 0x00000001}, + {0x485A4942, 0x01000000, 0x00000001}, + {0x49323643, 0x04000000, 0x00000001}, + {0x49334943, 0x04000000, 0x00000001}, + {0x49335141, 0x04000000, 0x00000002}, + {0x49335159, 0x04000000, 0x00000002}, + {0x49335742, 0x08000000, 0x00000002}, + {0x49344259, 0x02000000, 0x00000001}, + {0x49354841, 0x02000000, 0x00000002}, + {0x49364959, 0x04000000, 0x00000002}, + {0x49384C59, 0x01000000, 0x00000001}, + {0x49394341, 0x04000000, 0x00000001}, + {0x49413643, 0x00800000, 0x00000001}, + {0x49414441, 0x04000000, 0x00000006}, + {0x49414C59, 0x00800000, 0x00000002}, + {0x49415041, 0x04000000, 0x00000006}, + {0x49415249, 0x10000000, 0x00000006}, + {0x49424542, 0x10000000, 0x00000003}, + {0x49425249, 0x10000000, 0x00000006}, + {0x49434A42, 0x04000000, 0x00000002}, + {0x49434D43, 0x02000000, 0x00000002}, + {0x49435141, 0x02000000, 0x00000002}, + {0x49435943, 0x02000000, 0x00000002}, + {0x49445249, 0x20000000, 0x00000006}, + {0x49445641, 0x01000000, 0x00000002}, + {0x49454542, 0x10000000, 0x00000003}, + {0x49454559, 0x10000000, 0x00000003}, + {0x49455249, 0x20000000, 0x00000006}, + {0x49464B59, 0x02000000, 0x00000001}, + {0x49464C42, 0x10000000, 0x00000003}, + {0x49465359, 0x04000000, 0x00000001}, + {0x49474354, 0x04000000, 0x00000001}, + {0x49474D41, 0x01000000, 0x00000001}, + {0x49474D43, 0x04000000, 0x00000001}, + {0x49475049, 0x08000000, 0x00000006}, + {0x49483642, 0x02000000, 0x00000001}, + {0x494A3343, 0x10000000, 0x00000003}, + {0x494A4D54, 0x02000000, 0x00000001}, + {0x494A4F41, 0x02000000, 0x00000002}, + {0x494A5641, 0x04000000, 0x00000002}, + {0x494B4356, 0x08000000, 0x00000002}, + {0x494B5049, 0x08000000, 0x00000006}, + {0x494B5356, 0x04000000, 0x00000001}, + {0x494C4C43, 0x00800000, 0x00000002}, + {0x494C5842, 0x01000000, 0x00000002}, + {0x494D4359, 0x02000000, 0x00000001}, + {0x494E5243, 0x01000000, 0x00000001}, + {0x494F4359, 0x04000000, 0x00000001}, + {0x49505A55, 0x08000000, 0xFFFFFFFF}, + {0x49525359, 0x01000000, 0x00000005}, + {0x49525643, 0x00800000, 0x00000001}, + {0x49533341, 0x02000000, 0x00000001}, + {0x49534F41, 0x08000000, 0x00000005}, + {0x49535541, 0x04000000, 0x00000001}, + {0x49544C59, 0x08000000, 0x00000002}, + {0x49554259, 0x08000000, 0x00000003}, + {0x49555043, 0x08000000, 0x00000006}, + {0x49564E43, 0x10000000, 0x00000005}, + {0x49565841, 0x04000000, 0x00000003}, + {0x49574342, 0x01000000, 0x00000001}, + {0x49585059, 0x00800000, 0x00000003}, + {0x49594641, 0x04000000, 0x00000001}, + {0x49594C41, 0x04000000, 0x00000001}, + {0x49595543, 0x02000000, 0x00000001}, + {0x495A3659, 0x08000000, 0x00000008}, + {0x495A4341, 0x01000000, 0x00000001}, + {0x495A4641, 0x04000000, 0x00000001}, + {0x495A4F41, 0x01000000, 0x00000002}, + {0x495A5359, 0x08000000, 0x00000001}, + {0x4A323242, 0x08000000, 0x00000003}, + {0x4A323243, 0x04000000, 0x00000002}, + {0x4A323342, 0x04000000, 0x00000001}, + {0x4A323343, 0x04000000, 0x00000003}, + {0x4A323442, 0x04000000, 0x00000002}, + {0x4A323443, 0x04000000, 0x00000002}, + {0x4A323543, 0x04000000, 0x00000002}, + {0x4A323642, 0x04000000, 0x00000005}, + {0x4A323742, 0x01000000, 0x00000001}, + {0x4A324143, 0x08000000, 0x00000003}, + {0x4A324159, 0x08000000, 0x00000001}, + {0x4A324243, 0x02000000, 0x00000002}, + {0x4A324259, 0x02000000, 0x00000002}, + {0x4A324341, 0x04000000, 0x00000001}, + {0x4A324359, 0x04000000, 0x00000006}, + {0x4A324441, 0x02000000, 0x00000005}, + {0x4A324442, 0x01000000, 0x00000002}, + {0x4A324443, 0x04000000, 0x00000002}, + {0x4A324541, 0x08000000, 0x00000001}, + {0x4A324559, 0x04000000, 0x00000002}, + {0x4A324641, 0x01000000, 0x00000002}, + {0x4A324642, 0x04000000, 0x00000005}, + {0x4A324659, 0x10000000, 0x00000003}, + {0x4A324742, 0x08000000, 0x00000005}, + {0x4A324759, 0x01000000, 0x00000001}, + {0x4A324841, 0x00800000, 0x00000003}, + {0x4A324842, 0x02000000, 0x00000003}, + {0x4A324843, 0x04000000, 0x00000002}, + {0x4A324956, 0x08000000, 0x00000005}, + {0x4A324A43, 0x01000000, 0x00000002}, + {0x4A324B41, 0x02000000, 0x00000001}, + {0x4A324B54, 0x04000000, 0x00000001}, + {0x4A324B59, 0x02000000, 0x00000003}, + {0x4A324C41, 0x04000000, 0x00000002}, + {0x4A324C59, 0x08000000, 0x00000003}, + {0x4A324D41, 0x04000000, 0x00000005}, + {0x4A324D42, 0x02000000, 0x00000003}, + {0x4A324E41, 0x02000000, 0x00000002}, + {0x4A324E43, 0x04000000, 0x00000005}, + {0x4A324F41, 0x08000000, 0x00000005}, + {0x4A324F42, 0x04000000, 0x00000002}, + {0x4A324F43, 0x10000000, 0x00000001}, + {0x4A324F59, 0x02000000, 0x00000002}, + {0x4A325041, 0x02000000, 0x00000001}, + {0x4A325043, 0x04000000, 0x00000003}, + {0x4A325054, 0x08000000, 0x00000002}, + {0x4A325059, 0x04000000, 0x00000005}, + {0x4A325142, 0x10000000, 0x00000003}, + {0x4A325143, 0x01000000, 0x00000003}, + {0x4A325159, 0x04000000, 0x00000002}, + {0x4A325241, 0x02000000, 0x00000005}, + {0x4A325243, 0x04000000, 0x00000002}, + {0x4A325341, 0x01000000, 0x00000001}, + {0x4A325359, 0x04000000, 0x00000005}, + {0x4A325443, 0x04000000, 0x00000002}, + {0x4A325541, 0x04000000, 0x00000001}, + {0x4A325543, 0x01000000, 0x00000002}, + {0x4A325559, 0x01000000, 0x00000005}, + {0x4A325641, 0x02000000, 0x00000001}, + {0x4A325659, 0x02000000, 0x00000002}, + {0x4A325743, 0x01000000, 0x00000001}, + {0x4A325843, 0x04000000, 0x00000003}, + {0x4A325859, 0x00800000, 0x00000002}, + {0x4A325943, 0x04000000, 0x00000001}, + {0x4A325A41, 0x02000000, 0x00000002}, + {0x4A325A42, 0x04000000, 0x00000002}, + {0x4A325A59, 0x00800000, 0x00000002}, + {0x4A333242, 0x04000000, 0x00000005}, + {0x4A333243, 0x02000000, 0x00000002}, + {0x4A333342, 0x04000000, 0x00000002}, + {0x4A333343, 0x04000000, 0x00000001}, + {0x4A333441, 0x00800000, 0x00000000}, + {0x4A333442, 0x04000000, 0x00000003}, + {0x4A333542, 0x02000000, 0x00000003}, + {0x4A333643, 0x02000000, 0x00000002}, + {0x4A334241, 0x04000000, 0x00000003}, + {0x4A334259, 0x04000000, 0x00000005}, + {0x4A334341, 0x02000000, 0x00000005}, + {0x4A334441, 0x02000000, 0x00000005}, + {0x4A334543, 0x10000000, 0x00000003}, + {0x4A334559, 0x02000000, 0x00000002}, + {0x4A334741, 0x02000000, 0x00000005}, + {0x4A334742, 0x04000000, 0x00000002}, + {0x4A334743, 0x02000000, 0x00000002}, + {0x4A334759, 0x02000000, 0x00000003}, + {0x4A334841, 0x02000000, 0x00000003}, + {0x4A334843, 0x04000000, 0x00000002}, + {0x4A334854, 0x20000000, 0x00000002}, + {0x4A334859, 0x10000000, 0x00000002}, + {0x4A334A42, 0x02000000, 0x00000005}, + {0x4A334A59, 0x04000000, 0x00000002}, + {0x4A334B41, 0x02000000, 0x00000002}, + {0x4A334B42, 0x02000000, 0x00000003}, + {0x4A334B59, 0x02000000, 0x00000003}, + {0x4A334C41, 0x02000000, 0x00000001}, + {0x4A334C42, 0x08000000, 0x00000002}, + {0x4A334C56, 0x08000000, 0x00000005}, + {0x4A334C59, 0x04000000, 0x00000002}, + {0x4A334D42, 0x08000000, 0x00000003}, + {0x4A334D43, 0x08000000, 0x00000003}, + {0x4A334D59, 0x02000000, 0x00000002}, + {0x4A334E43, 0x08000000, 0x00000002}, + {0x4A334E54, 0x20000000, 0x00000005}, + {0x4A334F43, 0x10000000, 0x00000001}, + {0x4A334F59, 0x02000000, 0x00000001}, + {0x4A335141, 0x04000000, 0x00000001}, + {0x4A335142, 0x04000000, 0x00000002}, + {0x4A335143, 0x01000000, 0x00000003}, + {0x4A335241, 0x04000000, 0x00000003}, + {0x4A335242, 0x08000000, 0x00000002}, + {0x4A335243, 0x08000000, 0x00000002}, + {0x4A335259, 0x10000000, 0x00000003}, + {0x4A335442, 0x00800000, 0x00000003}, + {0x4A335443, 0x04000000, 0x00000003}, + {0x4A335456, 0x04000000, 0x00000001}, + {0x4A335459, 0x04000000, 0x00000003}, + {0x4A335559, 0x01000000, 0x00000001}, + {0x4A335641, 0x02000000, 0x00000001}, + {0x4A335642, 0x01000000, 0x00000002}, + {0x4A335643, 0x01000000, 0x00000001}, + {0x4A335741, 0x04000000, 0x00000001}, + {0x4A335759, 0x01000000, 0x00000001}, + {0x4A335841, 0x08000000, 0x00000001}, + {0x4A335843, 0x02000000, 0x00000002}, + {0x4A335941, 0x04000000, 0x00000002}, + {0x4A335959, 0x02000000, 0x00000002}, + {0x4A335A41, 0x02000000, 0x00000002}, + {0x4A335A42, 0x08000000, 0x00000003}, + {0x4A335A43, 0x02000000, 0x00000003}, + {0x4A335A59, 0x02000000, 0x00000002}, + {0x4A343243, 0x08000000, 0x00000003}, + {0x4A343342, 0x02000000, 0x00000001}, + {0x4A343343, 0x04000000, 0x00000003}, + {0x4A343442, 0x01000000, 0x00000002}, + {0x4A343443, 0x08000000, 0x00000002}, + {0x4A343541, 0x02000000, 0x00000000}, + {0x4A343542, 0x01000000, 0x00000002}, + {0x4A343559, 0x00400000, 0x00000000}, + {0x4A343643, 0x04000000, 0x00000003}, + {0x4A343742, 0x04000000, 0x00000002}, + {0x4A344142, 0x01000000, 0x00000002}, + {0x4A344241, 0x04000000, 0x00000005}, + {0x4A344242, 0x04000000, 0x00000002}, + {0x4A344254, 0x10000000, 0x00000006}, + {0x4A344341, 0x04000000, 0x00000001}, + {0x4A344342, 0x10000000, 0x00000002}, + {0x4A344343, 0x04000000, 0x00000003}, + {0x4A344354, 0x04000000, 0x00000007}, + {0x4A344359, 0x02000000, 0x00000003}, + {0x4A344454, 0x02000000, 0x00000001}, + {0x4A344541, 0x04000000, 0x00000002}, + {0x4A344543, 0x01000000, 0x00000003}, + {0x4A344642, 0x10000000, 0x00000002}, + {0x4A344654, 0x04000000, 0x00000005}, + {0x4A344659, 0x08000000, 0x00000003}, + {0x4A344742, 0x08000000, 0x00000002}, + {0x4A344743, 0x04000000, 0x00000003}, + {0x4A344754, 0x04000000, 0x00000003}, + {0x4A344759, 0x10000000, 0x00000003}, + {0x4A344841, 0x00800000, 0x00000001}, + {0x4A344859, 0x04000000, 0x00000001}, + {0x4A344941, 0x01000000, 0x00000003}, + {0x4A344A59, 0x01000000, 0x00000002}, + {0x4A344B41, 0x02000000, 0x00000003}, + {0x4A344B42, 0x08000000, 0x00000002}, + {0x4A344B43, 0x04000000, 0x00000003}, + {0x4A344B59, 0x04000000, 0x00000002}, + {0x4A344C41, 0x00800000, 0x00000001}, + {0x4A344C42, 0x04000000, 0x00000002}, + {0x4A344C43, 0x08000000, 0x00000002}, + {0x4A344C59, 0x00800000, 0x00000002}, + {0x4A344D54, 0x04000000, 0x00000002}, + {0x4A344D59, 0x04000000, 0x00000002}, + {0x4A344E41, 0x04000000, 0x00000001}, + {0x4A344F41, 0x02000000, 0x00000002}, + {0x4A344F42, 0x04000000, 0x00000003}, + {0x4A344F43, 0x00800000, 0x00000006}, + {0x4A344F59, 0x08000000, 0x00000002}, + {0x4A345043, 0x08000000, 0x00000002}, + {0x4A345054, 0x04000000, 0x00000002}, + {0x4A345056, 0x08000000, 0x00000006}, + {0x4A345059, 0x04000000, 0x00000002}, + {0x4A345142, 0x04000000, 0x00000002}, + {0x4A345159, 0x00800000, 0x00000002}, + {0x4A345241, 0x01000000, 0x00000002}, + {0x4A345259, 0x01000000, 0x00000003}, + {0x4A345343, 0x08000000, 0x00000003}, + {0x4A345359, 0x04000000, 0x00000002}, + {0x4A345541, 0x01000000, 0x00000001}, + {0x4A345559, 0x02000000, 0x00000003}, + {0x4A345641, 0x02000000, 0x00000001}, + {0x4A345659, 0x08000000, 0x00000003}, + {0x4A345743, 0x10000000, 0x00000003}, + {0x4A345759, 0x04000000, 0x00000003}, + {0x4A345841, 0x08000000, 0x00000001}, + {0x4A345843, 0x04000000, 0x00000005}, + {0x4A345941, 0x08000000, 0x00000001}, + {0x4A345959, 0x04000000, 0x00000003}, + {0x4A345A41, 0x00800000, 0x00000002}, + {0x4A345A59, 0x02000000, 0x00000001}, + {0x4A353342, 0x04000000, 0x00000005}, + {0x4A353443, 0x01000000, 0x00000002}, + {0x4A353543, 0x04000000, 0x00000003}, + {0x4A353742, 0x01000000, 0x00000002}, + {0x4A354143, 0x08000000, 0x00000003}, + {0x4A354241, 0x02000000, 0x00000001}, + {0x4A354341, 0x02000000, 0x00000005}, + {0x4A354354, 0x02000000, 0x00000002}, + {0x4A354459, 0x00800000, 0x00000002}, + {0x4A354541, 0x01000000, 0x00000003}, + {0x4A354542, 0x04000000, 0x00000002}, + {0x4A354742, 0x04000000, 0x00000002}, + {0x4A354843, 0x04000000, 0x00000002}, + {0x4A354859, 0x04000000, 0x00000002}, + {0x4A354941, 0x04000000, 0x00000002}, + {0x4A354A43, 0x02000000, 0x00000002}, + {0x4A354B41, 0x01000000, 0x00000001}, + {0x4A354B43, 0x04000000, 0x00000005}, + {0x4A354B54, 0x00800000, 0x00000003}, + {0x4A354B56, 0x04000000, 0x00000003}, + {0x4A354C59, 0x08000000, 0x00000003}, + {0x4A354D41, 0x04000000, 0x00000005}, + {0x4A354E41, 0x01000000, 0x00000003}, + {0x4A354E43, 0x04000000, 0x00000003}, + {0x4A354F41, 0x02000000, 0x00000005}, + {0x4A354F42, 0x10000000, 0x00000005}, + {0x4A354F59, 0x04000000, 0x00000003}, + {0x4A355154, 0x04000000, 0xFFFFFFFF}, + {0x4A355159, 0x01000000, 0x00000002}, + {0x4A355442, 0x08000000, 0x00000002}, + {0x4A355543, 0x04000000, 0x00000002}, + {0x4A355559, 0x08000000, 0x00000002}, + {0x4A355641, 0x02000000, 0x00000001}, + {0x4A355643, 0x02000000, 0x00000001}, + {0x4A355659, 0x08000000, 0x00000003}, + {0x4A355741, 0x01000000, 0x00000003}, + {0x4A355841, 0x08000000, 0x00000001}, + {0x4A355941, 0x08000000, 0x00000003}, + {0x4A355959, 0x04000000, 0x00000003}, + {0x4A355A43, 0x02000000, 0x00000003}, + {0x4A355A59, 0x02000000, 0x00000002}, + {0x4A363243, 0x00800000, 0x00000002}, + {0x4A363341, 0x02000000, 0x00000000}, + {0x4A363343, 0x04000000, 0x00000001}, + {0x4A363542, 0x04000000, 0x00000005}, + {0x4A363643, 0x04000000, 0x00000002}, + {0x4A364143, 0x04000000, 0x00000002}, + {0x4A364241, 0x02000000, 0x00000001}, + {0x4A364243, 0x01000000, 0x00000002}, + {0x4A364259, 0x01000000, 0x00000002}, + {0x4A364359, 0x01000000, 0x00000003}, + {0x4A364443, 0x08000000, 0x00000003}, + {0x4A364541, 0x04000000, 0x00000003}, + {0x4A364543, 0x01000000, 0x00000002}, + {0x4A364559, 0x04000000, 0x00000003}, + {0x4A364659, 0x04000000, 0x00000003}, + {0x4A364741, 0x02000000, 0x00000002}, + {0x4A364841, 0x01000000, 0x00000001}, + {0x4A364842, 0x04000000, 0x00000002}, + {0x4A364843, 0x04000000, 0x00000001}, + {0x4A364859, 0x04000000, 0x00000001}, + {0x4A364943, 0x02000000, 0x00000003}, + {0x4A364A43, 0x08000000, 0x00000002}, + {0x4A364B42, 0x02000000, 0x00000002}, + {0x4A364B59, 0x00800000, 0x00000003}, + {0x4A364C59, 0x04000000, 0x00000001}, + {0x4A364D43, 0x08000000, 0x00000002}, + {0x4A364E43, 0x04000000, 0x00000002}, + {0x4A364F41, 0x08000000, 0x00000001}, + {0x4A364F42, 0x01000000, 0x00000002}, + {0x4A364F43, 0x04000000, 0x00000002}, + {0x4A364F59, 0x02000000, 0x00000001}, + {0x4A365141, 0x00800000, 0x00000002}, + {0x4A365142, 0x02000000, 0x00000003}, + {0x4A365241, 0x00800000, 0x00000002}, + {0x4A365243, 0x04000000, 0x00000002}, + {0x4A365341, 0x04000000, 0x00000005}, + {0x4A365359, 0x04000000, 0x00000005}, + {0x4A365443, 0x04000000, 0x00000002}, + {0x4A365459, 0x01000000, 0x00000003}, + {0x4A365559, 0x02000000, 0x00000002}, + {0x4A365641, 0x02000000, 0x00000001}, + {0x4A365659, 0x00800000, 0x00000001}, + {0x4A365759, 0x02000000, 0x00000002}, + {0x4A365841, 0x08000000, 0x00000001}, + {0x4A365843, 0x08000000, 0x00000002}, + {0x4A365941, 0x00800000, 0x00000005}, + {0x4A365A41, 0x01000000, 0x00000005}, + {0x4A365A59, 0x02000000, 0x00000002}, + {0x4A373243, 0x08000000, 0x00000003}, + {0x4A374142, 0x02000000, 0x00000002}, + {0x4A374341, 0x00800000, 0x00000002}, + {0x4A374359, 0x02000000, 0x00000002}, + {0x4A374459, 0x04000000, 0x00000002}, + {0x4A374541, 0x08000000, 0x00000002}, + {0x4A374741, 0x02000000, 0x00000002}, + {0x4A374743, 0x04000000, 0x00000002}, + {0x4A374759, 0x04000000, 0x00000002}, + {0x4A374841, 0x04000000, 0x00000002}, + {0x4A374843, 0x10000000, 0x00000003}, + {0x4A374859, 0x08000000, 0x00000001}, + {0x4A374A43, 0x04000000, 0x00000001}, + {0x4A374A54, 0x04000000, 0x00000002}, + {0x4A374A59, 0x01000000, 0x00000002}, + {0x4A374B41, 0x02000000, 0x00000005}, + {0x4A374B59, 0x01000000, 0x00000002}, + {0x4A374C41, 0x02000000, 0x00000001}, + {0x4A374C59, 0x04000000, 0x00000003}, + {0x4A374D41, 0x02000000, 0x00000002}, + {0x4A374D42, 0x04000000, 0x00000003}, + {0x4A374D59, 0x04000000, 0x00000002}, + {0x4A374E54, 0x20000000, 0x00000005}, + {0x4A374F41, 0x04000000, 0x00000002}, + {0x4A374F42, 0x01000000, 0x00000005}, + {0x4A374F59, 0x01000000, 0x00000002}, + {0x4A375141, 0x00800000, 0x00000002}, + {0x4A375241, 0x04000000, 0x00000002}, + {0x4A375259, 0x04000000, 0x00000002}, + {0x4A375341, 0x08000000, 0x00000003}, + {0x4A375342, 0x04000000, 0x00000001}, + {0x4A375343, 0x10000000, 0x00000003}, + {0x4A375541, 0x02000000, 0x00000002}, + {0x4A375641, 0x02000000, 0x00000002}, + {0x4A375659, 0x00800000, 0x00000001}, + {0x4A375741, 0x02000000, 0x00000002}, + {0x4A375841, 0x08000000, 0x00000003}, + {0x4A375859, 0x01000000, 0x00000003}, + {0x4A375941, 0x08000000, 0x00000005}, + {0x4A375A41, 0x01000000, 0x00000002}, + {0x4A375A59, 0x02000000, 0x00000001}, + {0x4A383343, 0x04000000, 0x00000005}, + {0x4A383442, 0x00800000, 0x00000002}, + {0x4A384154, 0x01000000, 0x00000001}, + {0x4A384259, 0x02000000, 0x00000003}, + {0x4A384359, 0x01000000, 0x00000002}, + {0x4A384441, 0x01000000, 0x00000002}, + {0x4A384443, 0x02000000, 0x00000002}, + {0x4A384459, 0x04000000, 0x00000003}, + {0x4A384541, 0x04000000, 0x00000002}, + {0x4A384542, 0x20000000, 0x00000003}, + {0x4A384641, 0x01000000, 0x00000002}, + {0x4A384741, 0x04000000, 0x00000003}, + {0x4A384742, 0x01000000, 0x00000003}, + {0x4A384743, 0x02000000, 0x00000002}, + {0x4A384759, 0x08000000, 0x00000005}, + {0x4A384841, 0x02000000, 0x00000001}, + {0x4A384943, 0x04000000, 0x00000002}, + {0x4A384A43, 0x04000000, 0x00000002}, + {0x4A384A54, 0x04000000, 0x00000002}, + {0x4A384B43, 0x02000000, 0x00000003}, + {0x4A384B59, 0x04000000, 0x00000003}, + {0x4A384D41, 0x01000000, 0x00000001}, + {0x4A384D43, 0x02000000, 0x00000002}, + {0x4A384D59, 0x01000000, 0x00000002}, + {0x4A384E43, 0x10000000, 0x00000003}, + {0x4A385041, 0x02000000, 0x00000005}, + {0x4A385043, 0x02000000, 0x00000002}, + {0x4A385141, 0x00800000, 0x00000002}, + {0x4A385142, 0x04000000, 0x00000002}, + {0x4A385154, 0x04000000, 0x00000003}, + {0x4A385159, 0x04000000, 0x00000003}, + {0x4A385241, 0x04000000, 0x00000002}, + {0x4A385242, 0x01000000, 0x00000001}, + {0x4A385341, 0x00800000, 0x00000002}, + {0x4A385443, 0x04000000, 0x00000003}, + {0x4A385541, 0x04000000, 0x00000002}, + {0x4A385641, 0x01000000, 0x00000001}, + {0x4A385643, 0x04000000, 0x00000002}, + {0x4A385659, 0x00800000, 0x00000001}, + {0x4A385759, 0x08000000, 0x00000005}, + {0x4A385843, 0x02000000, 0x00000002}, + {0x4A385943, 0x10000000, 0x00000003}, + {0x4A385959, 0x04000000, 0x00000002}, + {0x4A385A41, 0x00800000, 0x00000002}, + {0x4A385A59, 0x02000000, 0x00000002}, + {0x4A393243, 0x04000000, 0x00000005}, + {0x4A393256, 0x02000000, 0x00000005}, + {0x4A393341, 0x02000000, 0x00000000}, + {0x4A393342, 0x08000000, 0x00000002}, + {0x4A393441, 0x02000000, 0x00000000}, + {0x4A393443, 0x04000000, 0x00000005}, + {0x4A393542, 0x01000000, 0x00000002}, + {0x4A393543, 0x04000000, 0x00000002}, + {0x4A393741, 0x02000000, 0x00000000}, + {0x4A393842, 0x04000000, 0x00000005}, + {0x4A394142, 0x04000000, 0x00000002}, + {0x4A394154, 0x01000000, 0x00000001}, + {0x4A394241, 0x01000000, 0x00000001}, + {0x4A394243, 0x08000000, 0x00000005}, + {0x4A394441, 0x02000000, 0x00000003}, + {0x4A394443, 0x04000000, 0x00000003}, + {0x4A394541, 0x04000000, 0x00000002}, + {0x4A394559, 0x04000000, 0x00000003}, + {0x4A394741, 0x02000000, 0x00000003}, + {0x4A394742, 0x04000000, 0x00000005}, + {0x4A394743, 0x01000000, 0x00000002}, + {0x4A394842, 0x20000000, 0x00000002}, + {0x4A394843, 0x02000000, 0x00000003}, + {0x4A394859, 0x02000000, 0x00000002}, + {0x4A394941, 0x04000000, 0x00000002}, + {0x4A394A42, 0x01000000, 0x00000002}, + {0x4A394A54, 0x04000000, 0x00000002}, + {0x4A394A59, 0x00800000, 0x00000005}, + {0x4A394B41, 0x01000000, 0x00000002}, + {0x4A394B42, 0x10000000, 0x00000003}, + {0x4A394B43, 0x04000000, 0x00000005}, + {0x4A394B54, 0x08000000, 0x00000002}, + {0x4A394B59, 0x08000000, 0x00000002}, + {0x4A394C59, 0x04000000, 0x00000003}, + {0x4A394D41, 0x01000000, 0x00000002}, + {0x4A394D42, 0x04000000, 0x00000003}, + {0x4A394E41, 0x01000000, 0x00000001}, + {0x4A394E59, 0x02000000, 0x00000002}, + {0x4A394F41, 0x04000000, 0x00000002}, + {0x4A394F42, 0x04000000, 0x00000003}, + {0x4A394F59, 0x02000000, 0x00000003}, + {0x4A395041, 0x01000000, 0x00000002}, + {0x4A395059, 0x04000000, 0x00000003}, + {0x4A395141, 0x04000000, 0x00000001}, + {0x4A395142, 0x00800000, 0x00000002}, + {0x4A395143, 0x00800000, 0x00000002}, + {0x4A395241, 0x02000000, 0x00000002}, + {0x4A395243, 0x01000000, 0x00000002}, + {0x4A395259, 0x04000000, 0x00000002}, + {0x4A395359, 0x04000000, 0x00000003}, + {0x4A395541, 0x01000000, 0x00000002}, + {0x4A395559, 0x04000000, 0x00000002}, + {0x4A395659, 0x00800000, 0x00000001}, + {0x4A395841, 0x04000000, 0x00000002}, + {0x4A395843, 0x08000000, 0x00000003}, + {0x4A395859, 0x01000000, 0x00000003}, + {0x4A395941, 0x08000000, 0x00000003}, + {0x4A395959, 0x02000000, 0x00000002}, + {0x4A395A41, 0x02000000, 0x00000003}, + {0x4A395A42, 0x04000000, 0x00000002}, + {0x4A395A59, 0x02000000, 0x00000002}, + {0x4A413241, 0x04000000, 0x00000002}, + {0x4A413243, 0x08000000, 0x00000002}, + {0x4A413341, 0x04000000, 0x00000006}, + {0x4A413442, 0x01000000, 0x00000002}, + {0x4A413443, 0x04000000, 0x00000001}, + {0x4A413541, 0x04000000, 0x00000001}, + {0x4A413641, 0x02000000, 0x00000005}, + {0x4A413841, 0x00800000, 0x00000001}, + {0x4A414154, 0x02000000, 0x00000004}, + {0x4A414156, 0x02000000, 0x00000008}, + {0x4A414159, 0x04000000, 0x00000002}, + {0x4A414259, 0x02000000, 0x00000002}, + {0x4A414356, 0x04000000, 0x00000001}, + {0x4A414441, 0x04000000, 0x00000006}, + {0x4A414459, 0x02000000, 0x00000003}, + {0x4A414543, 0x02000000, 0x00000003}, + {0x4A414559, 0x02000000, 0x00000003}, + {0x4A414641, 0x04000000, 0x00000003}, + {0x4A414659, 0x02000000, 0x00000003}, + {0x4A414843, 0x04000000, 0x00000003}, + {0x4A414859, 0x01000000, 0x00000003}, + {0x4A414941, 0x04000000, 0x00000001}, + {0x4A414943, 0x08000000, 0x00000003}, + {0x4A414A41, 0x08000000, 0x00000003}, + {0x4A414A59, 0x04000000, 0x00000002}, + {0x4A414B41, 0x08000000, 0x00000005}, + {0x4A414B42, 0x08000000, 0x00000003}, + {0x4A414B59, 0x04000000, 0x00000003}, + {0x4A414C41, 0x04000000, 0x00000005}, + {0x4A414D41, 0x01000000, 0x00000002}, + {0x4A414D43, 0x08000000, 0x00000002}, + {0x4A414D59, 0x02000000, 0x00000002}, + {0x4A414E41, 0x02000000, 0x00000002}, + {0x4A414E59, 0x04000000, 0x00000002}, + {0x4A414F59, 0x02000000, 0x00000002}, + {0x4A415041, 0x04000000, 0x00000006}, + {0x4A415142, 0x01000000, 0x00000005}, + {0x4A415154, 0x08000000, 0x00000004}, + {0x4A415242, 0x04000000, 0x00000002}, + {0x4A415249, 0x10000000, 0x00000006}, + {0x4A415342, 0x04000000, 0x00000003}, + {0x4A415441, 0x01000000, 0x00000001}, + {0x4A415442, 0x08000000, 0x00000003}, + {0x4A415541, 0x04000000, 0x00000005}, + {0x4A415559, 0x04000000, 0x00000001}, + {0x4A415643, 0x04000000, 0x00000002}, + {0x4A415741, 0x04000000, 0x00000002}, + {0x4A415841, 0x08000000, 0x00000002}, + {0x4A415859, 0x04000000, 0x00000003}, + {0x4A415941, 0x00800000, 0x00000002}, + {0x4A415943, 0x04000000, 0x00000006}, + {0x4A415959, 0x02000000, 0x00000003}, + {0x4A415A41, 0x02000000, 0x00000002}, + {0x4A415A59, 0x01000000, 0x00000002}, + {0x4A423241, 0x01000000, 0x00000001}, + {0x4A423242, 0x08000000, 0x00000002}, + {0x4A423341, 0x08000000, 0x00000002}, + {0x4A423442, 0x04000000, 0x00000002}, + {0x4A423443, 0x01000000, 0x00000003}, + {0x4A423541, 0x04000000, 0x00000002}, + {0x4A423641, 0x02000000, 0x00000005}, + {0x4A424241, 0x01000000, 0x00000005}, + {0x4A424341, 0x04000000, 0x00000003}, + {0x4A424359, 0x04000000, 0x00000001}, + {0x4A424441, 0x04000000, 0x00000002}, + {0x4A424442, 0x04000000, 0x00000002}, + {0x4A424454, 0x04000000, 0x00000002}, + {0x4A424542, 0x10000000, 0x00000003}, + {0x4A424543, 0x02000000, 0x00000003}, + {0x4A424556, 0x02000000, 0x00000007}, + {0x4A424559, 0x02000000, 0x00000002}, + {0x4A424754, 0x08000000, 0x00000002}, + {0x4A424759, 0x01000000, 0x00000002}, + {0x4A424843, 0x04000000, 0x00000001}, + {0x4A424859, 0x04000000, 0x00000003}, + {0x4A424941, 0x08000000, 0x00000002}, + {0x4A424943, 0x01000000, 0x00000002}, + {0x4A424A41, 0x04000000, 0x00000005}, + {0x4A424A59, 0x04000000, 0x00000001}, + {0x4A424B41, 0x02000000, 0x00000003}, + {0x4A424B59, 0x04000000, 0x00000003}, + {0x4A424C41, 0x08000000, 0x00000003}, + {0x4A424C43, 0x04000000, 0x00000003}, + {0x4A424D41, 0x04000000, 0x00000002}, + {0x4A424E41, 0x04000000, 0x00000005}, + {0x4A424E42, 0x04000000, 0x00000003}, + {0x4A424E59, 0x04000000, 0x00000002}, + {0x4A424F42, 0x02000000, 0x00000001}, + {0x4A425041, 0x02000000, 0x00000001}, + {0x4A425059, 0x08000000, 0x00000003}, + {0x4A425141, 0x01000000, 0x00000001}, + {0x4A425142, 0x04000000, 0x00000002}, + {0x4A425154, 0x02000000, 0x00000003}, + {0x4A425241, 0x02000000, 0x00000001}, + {0x4A425243, 0x02000000, 0x00000005}, + {0x4A425249, 0x10000000, 0x00000006}, + {0x4A425259, 0x08000000, 0x00000003}, + {0x4A425341, 0x04000000, 0x00000002}, + {0x4A425441, 0x04000000, 0x00000002}, + {0x4A425442, 0x04000000, 0x00000002}, + {0x4A425459, 0x08000000, 0x00000003}, + {0x4A425541, 0x04000000, 0x00000005}, + {0x4A425643, 0x02000000, 0x00000003}, + {0x4A425659, 0x08000000, 0x00000002}, + {0x4A425841, 0x04000000, 0x00000008}, + {0x4A425859, 0x08000000, 0x00000003}, + {0x4A425941, 0x02000000, 0x00000002}, + {0x4A425959, 0x04000000, 0x00000005}, + {0x4A425A41, 0x00800000, 0x00000001}, + {0x4A425A42, 0x02000000, 0x00000003}, + {0x4A425A59, 0x02000000, 0x00000002}, + {0x4A433342, 0x04000000, 0x00000002}, + {0x4A433343, 0x02000000, 0x00000001}, + {0x4A433441, 0x01000000, 0x00000003}, + {0x4A433442, 0x08000000, 0x00000002}, + {0x4A433443, 0x01000000, 0x00000002}, + {0x4A433541, 0x01000000, 0x00000001}, + {0x4A433641, 0x02000000, 0x00000005}, + {0x4A433643, 0x10000000, 0x00000005}, + {0x4A433841, 0x02000000, 0x00000002}, + {0x4A434154, 0x02000000, 0x00000002}, + {0x4A434159, 0x04000000, 0x00000003}, + {0x4A434241, 0x02000000, 0x00000005}, + {0x4A434254, 0x00800000, 0x00000001}, + {0x4A434341, 0x02000000, 0x00000001}, + {0x4A434441, 0x01000000, 0x00000001}, + {0x4A434459, 0x08000000, 0x00000003}, + {0x4A434541, 0x00800000, 0x00000001}, + {0x4A434554, 0x08000000, 0x00000005}, + {0x4A434559, 0x02000000, 0x00000001}, + {0x4A434741, 0x04000000, 0x00000003}, + {0x4A434743, 0x04000000, 0x00000002}, + {0x4A434754, 0x04000000, 0x00000003}, + {0x4A434941, 0x01000000, 0x00000001}, + {0x4A434A41, 0x00800000, 0x00000002}, + {0x4A434B59, 0x02000000, 0x00000002}, + {0x4A434C56, 0x04000000, 0x00000002}, + {0x4A434D41, 0x02000000, 0x00000005}, + {0x4A434E41, 0x04000000, 0x00000002}, + {0x4A434E42, 0x08000000, 0x00000002}, + {0x4A434E43, 0x04000000, 0x00000002}, + {0x4A434F41, 0x01000000, 0x00000003}, + {0x4A434F42, 0x00800000, 0x00000003}, + {0x4A434F59, 0x02000000, 0x00000002}, + {0x4A435041, 0x01000000, 0x00000001}, + {0x4A435054, 0x08000000, 0x00000002}, + {0x4A435141, 0x04000000, 0x00000002}, + {0x4A435154, 0x08000000, 0x00000004}, + {0x4A435259, 0x08000000, 0x00000002}, + {0x4A435341, 0x04000000, 0x00000002}, + {0x4A435459, 0x08000000, 0x00000003}, + {0x4A435541, 0x04000000, 0x00000005}, + {0x4A435542, 0x04000000, 0x00000002}, + {0x4A435641, 0x04000000, 0x00000005}, + {0x4A435643, 0x02000000, 0x00000001}, + {0x4A435741, 0x04000000, 0x00000002}, + {0x4A435742, 0x02000000, 0x00000002}, + {0x4A435743, 0x02000000, 0x00000001}, + {0x4A435841, 0x02000000, 0x00000003}, + {0x4A435859, 0x04000000, 0x00000003}, + {0x4A435941, 0x04000000, 0x00000003}, + {0x4A435A41, 0x00800000, 0x00000001}, + {0x4A435A42, 0x02000000, 0x00000003}, + {0x4A435A43, 0x02000000, 0x00000002}, + {0x4A435A55, 0x08000000, 0xFFFFFFFF}, + {0x4A435A59, 0x01000000, 0x00000002}, + {0x4A443241, 0x02000000, 0x00000002}, + {0x4A443243, 0x04000000, 0x00000002}, + {0x4A443341, 0x08000000, 0x00000003}, + {0x4A443342, 0x04000000, 0x00000002}, + {0x4A443441, 0x04000000, 0x00000003}, + {0x4A443443, 0x04000000, 0x00000002}, + {0x4A443541, 0x00800000, 0x00000002}, + {0x4A443542, 0x04000000, 0x00000002}, + {0x4A443543, 0x02000000, 0x00000001}, + {0x4A443641, 0x04000000, 0x00000002}, + {0x4A443841, 0x04000000, 0x00000002}, + {0x4A444154, 0x08000000, 0x00000005}, + {0x4A444259, 0x08000000, 0x00000002}, + {0x4A444342, 0x04000000, 0x00000002}, + {0x4A444356, 0x04000000, 0x00000002}, + {0x4A444441, 0x01000000, 0x00000001}, + {0x4A444443, 0x04000000, 0x00000002}, + {0x4A444459, 0x01000000, 0x00000001}, + {0x4A444543, 0x04000000, 0x00000002}, + {0x4A444554, 0x02000000, 0x00000003}, + {0x4A444741, 0x02000000, 0x00000003}, + {0x4A444754, 0x10000000, 0x00000002}, + {0x4A444841, 0x04000000, 0x00000002}, + {0x4A444843, 0x08000000, 0x00000002}, + {0x4A444941, 0x02000000, 0x00000002}, + {0x4A444942, 0x08000000, 0x00000003}, + {0x4A444A41, 0x00800000, 0x00000002}, + {0x4A444A43, 0x00800000, 0x00000001}, + {0x4A444B41, 0x01000000, 0x00000002}, + {0x4A444B43, 0x02000000, 0x00000002}, + {0x4A444B54, 0x02000000, 0x00000002}, + {0x4A444B59, 0x08000000, 0x00000005}, + {0x4A444C41, 0x04000000, 0x00000005}, + {0x4A444C59, 0x04000000, 0x00000005}, + {0x4A444D59, 0x02000000, 0x00000003}, + {0x4A444E41, 0x01000000, 0x00000005}, + {0x4A444F41, 0x02000000, 0x00000003}, + {0x4A444F59, 0x04000000, 0x00000002}, + {0x4A445041, 0x01000000, 0x00000002}, + {0x4A445059, 0x02000000, 0x00000005}, + {0x4A445141, 0x02000000, 0x00000003}, + {0x4A445142, 0x04000000, 0x00000002}, + {0x4A445143, 0x01000000, 0x00000002}, + {0x4A445154, 0x02000000, 0x00000003}, + {0x4A445159, 0x02000000, 0x00000002}, + {0x4A445249, 0x20000000, 0x00000006}, + {0x4A445342, 0x04000000, 0x00000002}, + {0x4A445359, 0x04000000, 0x00000005}, + {0x4A445441, 0x01000000, 0x00000002}, + {0x4A445541, 0x04000000, 0x00000005}, + {0x4A445542, 0x01000000, 0x00000001}, + {0x4A445559, 0x01000000, 0x00000005}, + {0x4A445841, 0x01000000, 0x00000002}, + {0x4A445859, 0x02000000, 0x00000003}, + {0x4A445941, 0x04000000, 0x00000002}, + {0x4A445A43, 0x02000000, 0x00000002}, + {0x4A445A59, 0x04000000, 0x00000002}, + {0x4A453243, 0x02000000, 0x00000003}, + {0x4A453343, 0x02000000, 0x00000002}, + {0x4A453541, 0x04000000, 0x00000001}, + {0x4A453542, 0x10000000, 0x00000003}, + {0x4A453543, 0x02000000, 0x00000005}, + {0x4A453641, 0x04000000, 0x00000003}, + {0x4A453841, 0x00800000, 0x00000001}, + {0x4A454159, 0x08000000, 0x00000002}, + {0x4A454243, 0x02000000, 0x00000001}, + {0x4A454341, 0x01000000, 0x00000002}, + {0x4A454441, 0x08000000, 0x00000003}, + {0x4A454442, 0x04000000, 0x00000002}, + {0x4A454456, 0x10000000, 0x00000006}, + {0x4A454541, 0x04000000, 0x00000003}, + {0x4A454542, 0x10000000, 0x00000003}, + {0x4A454559, 0x08000000, 0x00000003}, + {0x4A454641, 0x04000000, 0x00000003}, + {0x4A454643, 0x02000000, 0x00000001}, + {0x4A454659, 0x04000000, 0x00000005}, + {0x4A454741, 0x01000000, 0x00000001}, + {0x4A454759, 0x04000000, 0x00000002}, + {0x4A454841, 0x08000000, 0x00000005}, + {0x4A454859, 0x08000000, 0x00000003}, + {0x4A454A41, 0x08000000, 0x00000003}, + {0x4A454A42, 0x02000000, 0x00000003}, + {0x4A454A43, 0x02000000, 0x00000003}, + {0x4A454B41, 0x04000000, 0x00000002}, + {0x4A454B43, 0x01000000, 0x00000002}, + {0x4A454B59, 0x04000000, 0x00000002}, + {0x4A454C41, 0x08000000, 0x00000002}, + {0x4A454C42, 0x04000000, 0x00000003}, + {0x4A454C59, 0x02000000, 0x00000001}, + {0x4A454D41, 0x02000000, 0x00000002}, + {0x4A454D42, 0x10000000, 0x00000003}, + {0x4A454D43, 0x04000000, 0x00000002}, + {0x4A454D59, 0x00800000, 0x00000002}, + {0x4A454E41, 0x04000000, 0x00000002}, + {0x4A454E43, 0x02000000, 0x00000002}, + {0x4A454F41, 0x04000000, 0x00000003}, + {0x4A454F42, 0x20000000, 0x00000003}, + {0x4A454F43, 0x01000000, 0x00000002}, + {0x4A455041, 0x04000000, 0x00000001}, + {0x4A455043, 0x02000000, 0x00000002}, + {0x4A455059, 0x04000000, 0x00000002}, + {0x4A455241, 0x02000000, 0x00000001}, + {0x4A455249, 0x20000000, 0x00000006}, + {0x4A455259, 0x02000000, 0x00000002}, + {0x4A455341, 0x04000000, 0x00000002}, + {0x4A455343, 0x04000000, 0x00000002}, + {0x4A455441, 0x02000000, 0x00000001}, + {0x4A455541, 0x04000000, 0x00000005}, + {0x4A455643, 0x04000000, 0x00000002}, + {0x4A455741, 0x04000000, 0x00000005}, + {0x4A455759, 0x01000000, 0x00000002}, + {0x4A455841, 0x00800000, 0x00000002}, + {0x4A455859, 0x02000000, 0x00000003}, + {0x4A455941, 0x04000000, 0x00000002}, + {0x4A455A41, 0x04000000, 0x00000006}, + {0x4A455A59, 0x02000000, 0x00000003}, + {0x4A463241, 0x08000000, 0x00000003}, + {0x4A463243, 0x08000000, 0x00000002}, + {0x4A463341, 0x04000000, 0x00000005}, + {0x4A463442, 0x04000000, 0x00000003}, + {0x4A463443, 0x01000000, 0x00000003}, + {0x4A463541, 0x04000000, 0x00000003}, + {0x4A463542, 0x04000000, 0x00000005}, + {0x4A463543, 0x04000000, 0x00000002}, + {0x4A463641, 0x08000000, 0x00000003}, + {0x4A463643, 0x10000000, 0x00000002}, + {0x4A463841, 0x00800000, 0x00000001}, + {0x4A464241, 0x01000000, 0x00000005}, + {0x4A464254, 0x04000000, 0x00000003}, + {0x4A464259, 0x08000000, 0x00000003}, + {0x4A464341, 0x04000000, 0x00000002}, + {0x4A464443, 0x04000000, 0x00000002}, + {0x4A464641, 0x08000000, 0x00000003}, + {0x4A464741, 0x04000000, 0x00000002}, + {0x4A464842, 0x10000000, 0x00000003}, + {0x4A464941, 0x04000000, 0x00000002}, + {0x4A464B41, 0x00800000, 0x00000001}, + {0x4A464B54, 0x04000000, 0x00000005}, + {0x4A464B59, 0x02000000, 0x00000001}, + {0x4A464C42, 0x10000000, 0x00000003}, + {0x4A464D44, 0x02000000, 0xFFFFFFFF}, + {0x4A464F41, 0x02000000, 0x00000003}, + {0x4A464F59, 0x02000000, 0x00000003}, + {0x4A465041, 0x04000000, 0x00000002}, + {0x4A465141, 0x04000000, 0x00000002}, + {0x4A465142, 0x04000000, 0x00000002}, + {0x4A465143, 0x02000000, 0x00000008}, + {0x4A465154, 0x02000000, 0x00000003}, + {0x4A465241, 0x08000000, 0x00000003}, + {0x4A465242, 0x08000000, 0x00000003}, + {0x4A465341, 0x02000000, 0x00000005}, + {0x4A465459, 0x08000000, 0x00000003}, + {0x4A465541, 0x04000000, 0x00000002}, + {0x4A465559, 0x04000000, 0x00000002}, + {0x4A465641, 0x01000000, 0x00000002}, + {0x4A465759, 0x02000000, 0x00000003}, + {0x4A465841, 0x08000000, 0x00000003}, + {0x4A465859, 0x02000000, 0x00000003}, + {0x4A465A59, 0x02000000, 0x00000002}, + {0x4A473241, 0x02000000, 0x00000003}, + {0x4A473243, 0x04000000, 0x00000002}, + {0x4A473256, 0x02000000, 0x00000006}, + {0x4A473341, 0x04000000, 0x00000005}, + {0x4A473342, 0x04000000, 0x00000002}, + {0x4A473441, 0x02000000, 0x00000002}, + {0x4A473442, 0x08000000, 0x00000002}, + {0x4A473443, 0x10000000, 0x00000003}, + {0x4A473542, 0x04000000, 0x00000006}, + {0x4A473543, 0x01000000, 0x00000002}, + {0x4A473641, 0x04000000, 0x00000002}, + {0x4A473643, 0x01000000, 0x00000003}, + {0x4A473841, 0x04000000, 0x00000002}, + {0x4A474342, 0x04000000, 0x00000002}, + {0x4A474343, 0x10000000, 0x00000003}, + {0x4A474356, 0x04000000, 0x00000002}, + {0x4A474441, 0x02000000, 0x00000005}, + {0x4A474442, 0x10000000, 0x00000002}, + {0x4A474443, 0x04000000, 0x00000006}, + {0x4A474543, 0x10000000, 0x00000003}, + {0x4A474559, 0x04000000, 0x00000003}, + {0x4A474643, 0x02000000, 0x00000002}, + {0x4A474741, 0x02000000, 0x00000002}, + {0x4A474743, 0x02000000, 0x00000002}, + {0x4A474841, 0x02000000, 0x00000003}, + {0x4A474843, 0x10000000, 0x00000003}, + {0x4A474854, 0x04000000, 0x00000002}, + {0x4A474859, 0x04000000, 0x00000003}, + {0x4A474941, 0x04000000, 0x00000003}, + {0x4A474943, 0x01000000, 0x00000002}, + {0x4A474A41, 0x00800000, 0x00000005}, + {0x4A474A59, 0x04000000, 0x00000002}, + {0x4A474B41, 0x02000000, 0x00000002}, + {0x4A474B54, 0x04000000, 0x00000002}, + {0x4A474B56, 0x02000000, 0x00000005}, + {0x4A474B59, 0x10000000, 0x00000003}, + {0x4A474C41, 0x04000000, 0x00000001}, + {0x4A474D41, 0x01000000, 0x00000001}, + {0x4A474E41, 0x08000000, 0x00000005}, + {0x4A474E42, 0x04000000, 0x00000005}, + {0x4A474E59, 0x08000000, 0x00000003}, + {0x4A474F59, 0x08000000, 0x00000003}, + {0x4A475041, 0x01000000, 0x00000001}, + {0x4A475043, 0x02000000, 0x00000003}, + {0x4A475049, 0x08000000, 0x00000006}, + {0x4A475054, 0x10000000, 0x00000003}, + {0x4A475056, 0x08000000, 0x00000002}, + {0x4A475141, 0x04000000, 0x00000002}, + {0x4A475143, 0x04000000, 0x00000002}, + {0x4A475154, 0x04000000, 0x00000004}, + {0x4A475241, 0x02000000, 0x00000005}, + {0x4A475242, 0x04000000, 0x00000002}, + {0x4A475254, 0x08000000, 0x00000002}, + {0x4A475259, 0x04000000, 0x00000002}, + {0x4A475341, 0x02000000, 0x00000005}, + {0x4A475343, 0x08000000, 0x00000003}, + {0x4A475441, 0x00800000, 0x00000002}, + {0x4A475442, 0x10000000, 0x00000003}, + {0x4A475443, 0x10000000, 0x00000003}, + {0x4A475459, 0x08000000, 0x00000003}, + {0x4A475559, 0x02000000, 0x00000003}, + {0x4A475641, 0x04000000, 0x00000002}, + {0x4A475659, 0x08000000, 0x00000002}, + {0x4A475741, 0x08000000, 0x00000005}, + {0x4A475743, 0x01000000, 0x00000002}, + {0x4A475859, 0x02000000, 0x00000003}, + {0x4A475941, 0x04000000, 0x00000002}, + {0x4A475942, 0x02000000, 0x00000002}, + {0x4A475943, 0x04000000, 0x00000001}, + {0x4A475959, 0x04000000, 0x00000002}, + {0x4A475A41, 0x01000000, 0x00000003}, + {0x4A475A59, 0x02000000, 0x00000002}, + {0x4A483241, 0x01000000, 0x00000005}, + {0x4A483342, 0x04000000, 0x00000002}, + {0x4A483441, 0x02000000, 0x00000002}, + {0x4A483443, 0x08000000, 0x00000002}, + {0x4A483641, 0x02000000, 0x00000002}, + {0x4A483643, 0x01000000, 0x00000001}, + {0x4A483841, 0x00800000, 0x00000001}, + {0x4A484241, 0x08000000, 0x00000002}, + {0x4A484341, 0x04000000, 0x00000005}, + {0x4A484354, 0x04000000, 0x00000002}, + {0x4A484359, 0x04000000, 0x00000005}, + {0x4A484441, 0x04000000, 0x00000005}, + {0x4A484443, 0x01000000, 0x00000002}, + {0x4A484541, 0x04000000, 0x00000002}, + {0x4A484543, 0x08000000, 0x00000002}, + {0x4A484641, 0x01000000, 0x00000002}, + {0x4A484759, 0x08000000, 0x00000001}, + {0x4A484843, 0x01000000, 0x00000003}, + {0x4A484859, 0x02000000, 0x00000002}, + {0x4A484941, 0x08000000, 0x00000002}, + {0x4A484A41, 0x01000000, 0x00000002}, + {0x4A484A43, 0x04000000, 0x00000003}, + {0x4A484A54, 0x04000000, 0x00000005}, + {0x4A484A59, 0x01000000, 0x00000002}, + {0x4A484B41, 0x04000000, 0x00000002}, + {0x4A484B42, 0x04000000, 0x00000003}, + {0x4A484B59, 0x08000000, 0x00000005}, + {0x4A484C41, 0x02000000, 0x00000001}, + {0x4A484C59, 0x04000000, 0x00000002}, + {0x4A484D41, 0x04000000, 0x00000005}, + {0x4A484D59, 0x04000000, 0x00000003}, + {0x4A484E41, 0x08000000, 0x00000006}, + {0x4A484E42, 0x01000000, 0x00000002}, + {0x4A484E59, 0x02000000, 0x00000003}, + {0x4A484F41, 0x02000000, 0x00000003}, + {0x4A484F42, 0x00800000, 0x00000003}, + {0x4A484F43, 0x10000000, 0x00000002}, + {0x4A484F59, 0x02000000, 0x00000002}, + {0x4A485041, 0x02000000, 0x00000003}, + {0x4A485042, 0x02000000, 0x00000005}, + {0x4A485054, 0x04000000, 0x00000005}, + {0x4A485141, 0x04000000, 0x00000002}, + {0x4A485143, 0x04000000, 0x00000001}, + {0x4A485154, 0x08000000, 0x00000004}, + {0x4A485159, 0x01000000, 0x00000002}, + {0x4A485242, 0x08000000, 0x00000002}, + {0x4A485259, 0x02000000, 0x00000001}, + {0x4A485341, 0x02000000, 0x00000002}, + {0x4A485343, 0x02000000, 0x00000002}, + {0x4A485443, 0x01000000, 0x00000002}, + {0x4A485459, 0x08000000, 0x00000003}, + {0x4A485541, 0x01000000, 0x00000001}, + {0x4A485543, 0x02000000, 0x00000003}, + {0x4A485659, 0x01000000, 0x00000003}, + {0x4A485841, 0x01000000, 0x00000003}, + {0x4A485856, 0x08000000, 0x00000002}, + {0x4A485859, 0x02000000, 0x00000003}, + {0x4A485941, 0x04000000, 0x00000002}, + {0x4A485A41, 0x04000000, 0x00000002}, + {0x4A493241, 0x01000000, 0x00000005}, + {0x4A493341, 0x08000000, 0x00000002}, + {0x4A493342, 0x04000000, 0x00000002}, + {0x4A493442, 0x08000000, 0x00000005}, + {0x4A493443, 0x04000000, 0x00000002}, + {0x4A493543, 0x04000000, 0x00000002}, + {0x4A493641, 0x08000000, 0x00000003}, + {0x4A493841, 0x02000000, 0x00000002}, + {0x4A494143, 0x02000000, 0x00000002}, + {0x4A494241, 0x00800000, 0x00000005}, + {0x4A494259, 0x04000000, 0x00000002}, + {0x4A494341, 0x01000000, 0x00000002}, + {0x4A494441, 0x08000000, 0x00000001}, + {0x4A494459, 0x04000000, 0x00000002}, + {0x4A494555, 0x04000000, 0x00000002}, + {0x4A494559, 0x04000000, 0x00000002}, + {0x4A494643, 0x08000000, 0x00000003}, + {0x4A494841, 0x04000000, 0x00000003}, + {0x4A494843, 0x10000000, 0x00000003}, + {0x4A494859, 0x04000000, 0x00000001}, + {0x4A494941, 0x01000000, 0x00000002}, + {0x4A494959, 0x00800000, 0x00000001}, + {0x4A494B42, 0x08000000, 0x00000007}, + {0x4A494B59, 0x04000000, 0x00000003}, + {0x4A494C42, 0x04000000, 0x00000003}, + {0x4A494C59, 0x04000000, 0x00000002}, + {0x4A494D41, 0x00800000, 0x00000002}, + {0x4A494E41, 0x08000000, 0x00000005}, + {0x4A494F41, 0x02000000, 0x00000006}, + {0x4A494F43, 0x10000000, 0x00000002}, + {0x4A495041, 0x04000000, 0x00000005}, + {0x4A495059, 0x01000000, 0x00000003}, + {0x4A495141, 0x02000000, 0x00000005}, + {0x4A495142, 0x08000000, 0x00000002}, + {0x4A495143, 0x01000000, 0x00000002}, + {0x4A495241, 0x01000000, 0x00000001}, + {0x4A495242, 0x04000000, 0x00000001}, + {0x4A495243, 0x02000000, 0x00000002}, + {0x4A495341, 0x02000000, 0x00000002}, + {0x4A495441, 0x01000000, 0x00000008}, + {0x4A495459, 0x08000000, 0x00000003}, + {0x4A495559, 0x01000000, 0x00000002}, + {0x4A495641, 0x02000000, 0x00000001}, + {0x4A495642, 0x04000000, 0x00000002}, + {0x4A495643, 0x04000000, 0x00000002}, + {0x4A495659, 0x08000000, 0x00000003}, + {0x4A495741, 0x08000000, 0x00000005}, + {0x4A495759, 0x02000000, 0x00000002}, + {0x4A495841, 0x02000000, 0x00000002}, + {0x4A495843, 0x04000000, 0x00000005}, + {0x4A495859, 0x02000000, 0x00000003}, + {0x4A495941, 0x01000000, 0x00000001}, + {0x4A495A41, 0x00800000, 0x00000002}, + {0x4A495A59, 0x01000000, 0x00000002}, + {0x4A4A3241, 0x04000000, 0x00000003}, + {0x4A4A3242, 0x10000000, 0x00000003}, + {0x4A4A3343, 0x10000000, 0x00000003}, + {0x4A4A3441, 0x00800000, 0x00000002}, + {0x4A4A3543, 0x01000000, 0x00000002}, + {0x4A4A3641, 0x04000000, 0x00000002}, + {0x4A4A3842, 0x10000000, 0x00000005}, + {0x4A4A4241, 0x04000000, 0x00000005}, + {0x4A4A4242, 0x04000000, 0x00000003}, + {0x4A4A4441, 0x04000000, 0x00000005}, + {0x4A4A4541, 0x02000000, 0x00000002}, + {0x4A4A4659, 0x04000000, 0x00000003}, + {0x4A4A4843, 0x04000000, 0x00000002}, + {0x4A4A4859, 0x00800000, 0x00000003}, + {0x4A4A4941, 0x02000000, 0x00000003}, + {0x4A4A4A59, 0x04000000, 0x00000002}, + {0x4A4A4B41, 0x01000000, 0x00000003}, + {0x4A4A4B42, 0x01000000, 0x00000002}, + {0x4A4A4B59, 0x08000000, 0x00000002}, + {0x4A4A4C43, 0x08000000, 0x00000002}, + {0x4A4A4D41, 0x02000000, 0x00000005}, + {0x4A4A4D59, 0x04000000, 0x00000001}, + {0x4A4A4F41, 0x02000000, 0x00000002}, + {0x4A4A4F42, 0x04000000, 0x00000002}, + {0x4A4A4F59, 0x01000000, 0x00000002}, + {0x4A4A5041, 0x04000000, 0x00000005}, + {0x4A4A5059, 0x04000000, 0x00000005}, + {0x4A4A5142, 0x02000000, 0x00000003}, + {0x4A4A5154, 0x04000000, 0x00000003}, + {0x4A4A5241, 0x08000000, 0x00000003}, + {0x4A4A5242, 0x08000000, 0x00000003}, + {0x4A4A5341, 0x04000000, 0x00000005}, + {0x4A4A5343, 0x08000000, 0x00000002}, + {0x4A4A5443, 0x08000000, 0x00000002}, + {0x4A4A5559, 0x04000000, 0x00000001}, + {0x4A4A5641, 0x04000000, 0x00000002}, + {0x4A4A5643, 0x04000000, 0x00000002}, + {0x4A4A5841, 0x04000000, 0x00000003}, + {0x4A4A5859, 0x08000000, 0x00000005}, + {0x4A4A5941, 0x02000000, 0x00000005}, + {0x4A4A5943, 0x04000000, 0x00000002}, + {0x4A4A5959, 0x01000000, 0x00000002}, + {0x4A4A5A59, 0x01000000, 0x00000002}, + {0x4A4B3241, 0x04000000, 0x00000005}, + {0x4A4B3242, 0x20000000, 0x00000003}, + {0x4A4B3341, 0x00800000, 0x00000003}, + {0x4A4B3343, 0x00800000, 0x00000003}, + {0x4A4B3441, 0x00800000, 0x00000002}, + {0x4A4B3442, 0x01000000, 0x00000002}, + {0x4A4B3541, 0x01000000, 0x00000003}, + {0x4A4B3542, 0x04000000, 0x00000002}, + {0x4A4B3543, 0x04000000, 0x00000002}, + {0x4A4B3641, 0x08000000, 0x00000003}, + {0x4A4B3643, 0x04000000, 0x00000002}, + {0x4A4B3742, 0x04000000, 0x00000002}, + {0x4A4B3743, 0x04000000, 0x00000002}, + {0x4A4B3841, 0x02000000, 0x00000003}, + {0x4A4B4154, 0x04000000, 0x00000002}, + {0x4A4B4241, 0x01000000, 0x00000001}, + {0x4A4B4243, 0x04000000, 0x00000002}, + {0x4A4B4341, 0x02000000, 0x00000005}, + {0x4A4B4342, 0x04000000, 0x00000002}, + {0x4A4B4354, 0x02000000, 0x00000001}, + {0x4A4B4441, 0x04000000, 0x00000005}, + {0x4A4B4443, 0x01000000, 0x00000002}, + {0x4A4B4459, 0x01000000, 0x00000002}, + {0x4A4B4542, 0x08000000, 0x00000003}, + {0x4A4B4543, 0x04000000, 0x00000002}, + {0x4A4B4559, 0x08000000, 0x00000005}, + {0x4A4B4659, 0x04000000, 0x00000002}, + {0x4A4B4743, 0x02000000, 0x00000001}, + {0x4A4B4754, 0x04000000, 0x00000001}, + {0x4A4B4841, 0x04000000, 0x00000003}, + {0x4A4B4842, 0x01000000, 0x00000002}, + {0x4A4B4859, 0x01000000, 0x00000002}, + {0x4A4B4941, 0x02000000, 0x00000002}, + {0x4A4B4942, 0x04000000, 0x00000005}, + {0x4A4B4943, 0x04000000, 0x00000001}, + {0x4A4B4959, 0x02000000, 0x00000005}, + {0x4A4B4A41, 0x08000000, 0x00000002}, + {0x4A4B4A42, 0x01000000, 0x00000002}, + {0x4A4B4A43, 0x08000000, 0x00000003}, + {0x4A4B4B41, 0x01000000, 0x00000003}, + {0x4A4B4B42, 0x08000000, 0x00000003}, + {0x4A4B4B43, 0x10000000, 0x00000002}, + {0x4A4B4B59, 0x02000000, 0x00000002}, + {0x4A4B4C41, 0x08000000, 0x00000003}, + {0x4A4B4C59, 0x02000000, 0x00000002}, + {0x4A4B4D41, 0x00800000, 0x00000002}, + {0x4A4B4D54, 0x04000000, 0x00000002}, + {0x4A4B4D59, 0x08000000, 0x00000001}, + {0x4A4B4E41, 0x00800000, 0x00000001}, + {0x4A4B4E42, 0x02000000, 0x00000003}, + {0x4A4B4E43, 0x04000000, 0x00000002}, + {0x4A4B4E59, 0x04000000, 0x00000002}, + {0x4A4B4F42, 0x10000000, 0x00000002}, + {0x4A4B4F43, 0x00800000, 0x00000002}, + {0x4A4B4F59, 0x01000000, 0x00000002}, + {0x4A4B5041, 0x02000000, 0x00000005}, + {0x4A4B5049, 0x08000000, 0x00000006}, + {0x4A4B5059, 0x04000000, 0x00000002}, + {0x4A4B5141, 0x02000000, 0x00000002}, + {0x4A4B5154, 0x02000000, 0x00000003}, + {0x4A4B5241, 0x04000000, 0x00000002}, + {0x4A4B5341, 0x04000000, 0x00000002}, + {0x4A4B5342, 0x08000000, 0x00000003}, + {0x4A4B5343, 0x08000000, 0x00000003}, + {0x4A4B5359, 0x08000000, 0x00000003}, + {0x4A4B5441, 0x04000000, 0x00000002}, + {0x4A4B5443, 0x08000000, 0x00000002}, + {0x4A4B5459, 0x04000000, 0x00000003}, + {0x4A4B5541, 0x01000000, 0x00000001}, + {0x4A4B5542, 0x08000000, 0x00000002}, + {0x4A4B5543, 0x08000000, 0x00000002}, + {0x4A4B5641, 0x01000000, 0x00000001}, + {0x4A4B5743, 0x02000000, 0x00000003}, + {0x4A4B5841, 0x01000000, 0x00000002}, + {0x4A4B5859, 0x08000000, 0x00000005}, + {0x4A4B5941, 0x02000000, 0x00000005}, + {0x4A4B5959, 0x04000000, 0x00000002}, + {0x4A4B5A41, 0x00800000, 0x00000002}, + {0x4A4B5A42, 0x02000000, 0x00000003}, + {0x4A4B5A43, 0x04000000, 0x00000002}, + {0x4A4B5A59, 0x10000000, 0x00000003}, + {0x4A4C3243, 0x04000000, 0x00000002}, + {0x4A4C3341, 0x00800000, 0x00000002}, + {0x4A4C3342, 0x20000000, 0x00000003}, + {0x4A4C3441, 0x01000000, 0x00000002}, + {0x4A4C3442, 0x02000000, 0x00000002}, + {0x4A4C3641, 0x00800000, 0x00000002}, + {0x4A4C4142, 0x10000000, 0x00000003}, + {0x4A4C4159, 0x02000000, 0x00000003}, + {0x4A4C4241, 0x08000000, 0x00000002}, + {0x4A4C4341, 0x04000000, 0x00000003}, + {0x4A4C4342, 0x01000000, 0x00000002}, + {0x4A4C4441, 0x04000000, 0x00000003}, + {0x4A4C4541, 0x04000000, 0x00000002}, + {0x4A4C4542, 0x02000000, 0x00000002}, + {0x4A4C4559, 0x02000000, 0x00000001}, + {0x4A4C4654, 0x08000000, 0x00000003}, + {0x4A4C4659, 0x04000000, 0x00000003}, + {0x4A4C4741, 0x02000000, 0x00000001}, + {0x4A4C4841, 0x01000000, 0x00000003}, + {0x4A4C4843, 0x04000000, 0x00000002}, + {0x4A4C4854, 0x20000000, 0x00000002}, + {0x4A4C4859, 0x08000000, 0x00000003}, + {0x4A4C4941, 0x00800000, 0x00000002}, + {0x4A4C4943, 0x02000000, 0x00000001}, + {0x4A4C4959, 0x10000000, 0x00000002}, + {0x4A4C4B41, 0x04000000, 0x00000005}, + {0x4A4C4B42, 0x10000000, 0x00000002}, + {0x4A4C4C41, 0x00800000, 0x00000003}, + {0x4A4C4C59, 0x00800000, 0x00000002}, + {0x4A4C4E43, 0x04000000, 0x00000001}, + {0x4A4C4F42, 0x01000000, 0x00000003}, + {0x4A4C4F43, 0x08000000, 0x00000003}, + {0x4A4C4F59, 0x08000000, 0x00000002}, + {0x4A4C5041, 0x00800000, 0x00000002}, + {0x4A4C5056, 0x08000000, 0x00000006}, + {0x4A4C5154, 0x02000000, 0x00000003}, + {0x4A4C5241, 0x01000000, 0x00000005}, + {0x4A4C5342, 0x02000000, 0x00000003}, + {0x4A4C5359, 0x10000000, 0x00000005}, + {0x4A4C5559, 0x04000000, 0x00000002}, + {0x4A4C5641, 0x02000000, 0x00000002}, + {0x4A4C5642, 0x04000000, 0x00000002}, + {0x4A4C5659, 0x04000000, 0x00000003}, + {0x4A4C5741, 0x08000000, 0x00000003}, + {0x4A4C5759, 0x02000000, 0x00000001}, + {0x4A4C5859, 0x08000000, 0x00000005}, + {0x4A4C5A41, 0x08000000, 0x00000007}, + {0x4A4C5A59, 0x08000000, 0x00000001}, + {0x4A4D3341, 0x08000000, 0x00000002}, + {0x4A4D3541, 0x02000000, 0x00000002}, + {0x4A4D3842, 0x10000000, 0x00000005}, + {0x4A4D4241, 0x00800000, 0x00000001}, + {0x4A4D4259, 0x01000000, 0x00000002}, + {0x4A4D4341, 0x01000000, 0x00000001}, + {0x4A4D4354, 0x04000000, 0x00000002}, + {0x4A4D4441, 0x02000000, 0x00000005}, + {0x4A4D4541, 0x08000000, 0x00000003}, + {0x4A4D4559, 0x02000000, 0x00000003}, + {0x4A4D4641, 0x04000000, 0x00000002}, + {0x4A4D4643, 0x04000000, 0x00000003}, + {0x4A4D4659, 0x04000000, 0x00000003}, + {0x4A4D4743, 0x08000000, 0x00000003}, + {0x4A4D4759, 0x04000000, 0x00000002}, + {0x4A4D4841, 0x02000000, 0x00000002}, + {0x4A4D4854, 0x10000000, 0x00000005}, + {0x4A4D4859, 0x02000000, 0x00000002}, + {0x4A4D4941, 0x01000000, 0x00000005}, + {0x4A4D4942, 0x04000000, 0x00000005}, + {0x4A4D4956, 0x10000000, 0x00000003}, + {0x4A4D4A41, 0x01000000, 0x00000003}, + {0x4A4D4A42, 0x04000000, 0x00000001}, + {0x4A4D4B41, 0x08000000, 0x00000003}, + {0x4A4D4B42, 0x02000000, 0x00000002}, + {0x4A4D4B43, 0x01000000, 0x00000003}, + {0x4A4D4B54, 0x04000000, 0x00000005}, + {0x4A4D4B59, 0x01000000, 0x00000005}, + {0x4A4D4C43, 0x08000000, 0x00000003}, + {0x4A4D4D41, 0x00800000, 0x00000001}, + {0x4A4D4D43, 0x02000000, 0x00000003}, + {0x4A4D4D56, 0x04000000, 0x00000003}, + {0x4A4D4E41, 0x02000000, 0x00000005}, + {0x4A4D4E59, 0x01000000, 0x00000002}, + {0x4A4D4F41, 0x01000000, 0x00000002}, + {0x4A4D4F59, 0x04000000, 0x00000002}, + {0x4A4D5041, 0x01000000, 0x00000001}, + {0x4A4D5043, 0x04000000, 0x00000002}, + {0x4A4D5142, 0x01000000, 0x00000001}, + {0x4A4D5154, 0x08000000, 0x00000004}, + {0x4A4D5159, 0x04000000, 0x00000002}, + {0x4A4D5241, 0x04000000, 0x00000002}, + {0x4A4D5242, 0x01000000, 0x00000002}, + {0x4A4D5243, 0x02000000, 0x00000003}, + {0x4A4D5341, 0x01000000, 0x00000002}, + {0x4A4D5359, 0x08000000, 0x00000003}, + {0x4A4D5441, 0x08000000, 0x00000002}, + {0x4A4D5443, 0x04000000, 0x00000002}, + {0x4A4D5459, 0x04000000, 0x00000002}, + {0x4A4D5541, 0x02000000, 0x00000005}, + {0x4A4D5543, 0x02000000, 0x00000002}, + {0x4A4D5559, 0x00800000, 0x00000002}, + {0x4A4D5641, 0x04000000, 0x00000006}, + {0x4A4D5743, 0x10000000, 0x00000003}, + {0x4A4D5843, 0x04000000, 0x00000003}, + {0x4A4D5859, 0x02000000, 0x00000003}, + {0x4A4D5941, 0x01000000, 0x00000003}, + {0x4A4D5942, 0x04000000, 0x00000002}, + {0x4A4D5943, 0x02000000, 0x00000002}, + {0x4A4D5959, 0x10000000, 0x00000003}, + {0x4A4D5A41, 0x01000000, 0x00000002}, + {0x4A4D5A42, 0x04000000, 0x00000006}, + {0x4A4D5A59, 0x01000000, 0x00000002}, + {0x4A4E3242, 0x02000000, 0x00000001}, + {0x4A4E3343, 0x04000000, 0x00000003}, + {0x4A4E3441, 0x00800000, 0x00000002}, + {0x4A4E3442, 0x00800000, 0x00000002}, + {0x4A4E3443, 0x04000000, 0x00000003}, + {0x4A4E3641, 0x08000000, 0x00000003}, + {0x4A4E3841, 0x02000000, 0x00000005}, + {0x4A4E4156, 0x02000000, 0x00000007}, + {0x4A4E4159, 0x04000000, 0x00000002}, + {0x4A4E4241, 0x04000000, 0x00000002}, + {0x4A4E4259, 0x02000000, 0x00000007}, + {0x4A4E4341, 0x01000000, 0x00000002}, + {0x4A4E4342, 0x08000000, 0x00000005}, + {0x4A4E4359, 0x08000000, 0x00000001}, + {0x4A4E4441, 0x04000000, 0x00000003}, + {0x4A4E4442, 0x04000000, 0x00000003}, + {0x4A4E4459, 0x04000000, 0x00000002}, + {0x4A4E4541, 0x04000000, 0x00000002}, + {0x4A4E4554, 0x20000000, 0x00000002}, + {0x4A4E4641, 0x02000000, 0x00000002}, + {0x4A4E4643, 0x04000000, 0x00000002}, + {0x4A4E4842, 0x10000000, 0x00000002}, + {0x4A4E4859, 0x04000000, 0x00000003}, + {0x4A4E4941, 0x04000000, 0x00000002}, + {0x4A4E4943, 0x08000000, 0x00000002}, + {0x4A4E4959, 0x00800000, 0x00000001}, + {0x4A4E4A41, 0x02000000, 0x00000002}, + {0x4A4E4A59, 0x04000000, 0x00000002}, + {0x4A4E4B41, 0x01000000, 0x00000001}, + {0x4A4E4B43, 0x08000000, 0x00000002}, + {0x4A4E4B54, 0x04000000, 0x00000002}, + {0x4A4E4B56, 0x02000000, 0x00000003}, + {0x4A4E4B59, 0x01000000, 0x00000002}, + {0x4A4E4D41, 0x01000000, 0x00000005}, + {0x4A4E4E41, 0x04000000, 0x00000003}, + {0x4A4E4E42, 0x04000000, 0x00000002}, + {0x4A4E4E59, 0x08000000, 0x00000003}, + {0x4A4E4F41, 0x02000000, 0x00000005}, + {0x4A4E4F42, 0x08000000, 0x00000003}, + {0x4A4E4F43, 0x01000000, 0x00000005}, + {0x4A4E4F59, 0x01000000, 0x00000003}, + {0x4A4E5041, 0x02000000, 0x00000001}, + {0x4A4E5141, 0x01000000, 0x00000002}, + {0x4A4E5143, 0x02000000, 0x00000002}, + {0x4A4E5154, 0x04000000, 0x00000000}, + {0x4A4E5159, 0x04000000, 0x00000002}, + {0x4A4E5241, 0x01000000, 0x00000001}, + {0x4A4E5341, 0x00800000, 0x00000002}, + {0x4A4E5459, 0x08000000, 0x00000003}, + {0x4A4E5541, 0x00800000, 0x00000002}, + {0x4A4E5543, 0x10000000, 0x00000003}, + {0x4A4E5559, 0x04000000, 0x00000003}, + {0x4A4E5641, 0x08000000, 0x00000002}, + {0x4A4E5741, 0x08000000, 0x00000002}, + {0x4A4E5742, 0x02000000, 0x00000002}, + {0x4A4E5743, 0x04000000, 0x00000002}, + {0x4A4E5841, 0x00800000, 0x00000002}, + {0x4A4E5859, 0x02000000, 0x00000003}, + {0x4A4E5941, 0x04000000, 0x00000003}, + {0x4A4E5942, 0x04000000, 0x00000003}, + {0x4A4E5959, 0x02000000, 0x00000001}, + {0x4A4E5A59, 0x04000000, 0x00000002}, + {0x4A4F3241, 0x04000000, 0x00000003}, + {0x4A4F3242, 0x02000000, 0x00000005}, + {0x4A4F3341, 0x00800000, 0x00000001}, + {0x4A4F3343, 0x08000000, 0x00000002}, + {0x4A4F3441, 0x02000000, 0x00000005}, + {0x4A4F3641, 0x02000000, 0x00000002}, + {0x4A4F3643, 0x08000000, 0x00000003}, + {0x4A4F4242, 0x00800000, 0x00000001}, + {0x4A4F4243, 0x02000000, 0x00000005}, + {0x4A4F4341, 0x04000000, 0x00000005}, + {0x4A4F4359, 0x04000000, 0x00000001}, + {0x4A4F4459, 0x02000000, 0x00000002}, + {0x4A4F4541, 0x02000000, 0x00000001}, + {0x4A4F4559, 0x04000000, 0x00000003}, + {0x4A4F4641, 0x04000000, 0x00000003}, + {0x4A4F4741, 0x04000000, 0x00000005}, + {0x4A4F4841, 0x01000000, 0x00000002}, + {0x4A4F4859, 0x01000000, 0x00000002}, + {0x4A4F4941, 0x08000000, 0x00000005}, + {0x4A4F4B41, 0x08000000, 0x00000003}, + {0x4A4F4B59, 0x02000000, 0x00000006}, + {0x4A4F4C43, 0x01000000, 0x00000001}, + {0x4A4F4D41, 0x04000000, 0x00000002}, + {0x4A4F4D42, 0x08000000, 0x00000005}, + {0x4A4F4D43, 0x02000000, 0x00000003}, + {0x4A4F4E41, 0x02000000, 0x00000002}, + {0x4A4F4E43, 0x04000000, 0x00000002}, + {0x4A4F4F41, 0x01000000, 0x00000002}, + {0x4A4F4F42, 0x08000000, 0x00000002}, + {0x4A4F4F59, 0x04000000, 0x00000003}, + {0x4A4F5041, 0x04000000, 0x00000001}, + {0x4A4F5042, 0x04000000, 0x00000003}, + {0x4A4F5059, 0x04000000, 0x00000003}, + {0x4A4F5141, 0x04000000, 0x00000003}, + {0x4A4F5241, 0x08000000, 0x00000003}, + {0x4A4F5242, 0x04000000, 0x00000003}, + {0x4A4F5259, 0x04000000, 0x00000002}, + {0x4A4F5441, 0x04000000, 0x00000002}, + {0x4A4F5442, 0x04000000, 0x00000002}, + {0x4A4F5443, 0x04000000, 0x00000001}, + {0x4A4F5459, 0x04000000, 0x00000002}, + {0x4A4F5559, 0x10000000, 0x00000003}, + {0x4A4F5641, 0x01000000, 0x00000003}, + {0x4A4F5659, 0x02000000, 0x00000002}, + {0x4A4F5842, 0x04000000, 0x00000003}, + {0x4A4F5859, 0x04000000, 0x00000005}, + {0x4A4F5941, 0x04000000, 0x00000003}, + {0x4A4F5942, 0x04000000, 0x00000003}, + {0x4A4F5A59, 0x08000000, 0x00000002}, + {0x4A503242, 0x04000000, 0x00000005}, + {0x4A503243, 0x04000000, 0x00000003}, + {0x4A503341, 0x02000000, 0x00000001}, + {0x4A503443, 0x01000000, 0x00000002}, + {0x4A503541, 0x04000000, 0x00000001}, + {0x4A503542, 0x10000000, 0x00000001}, + {0x4A503543, 0x02000000, 0x00000002}, + {0x4A503641, 0x00800000, 0x00000003}, + {0x4A503643, 0x02000000, 0x00000007}, + {0x4A503742, 0x08000000, 0x00000003}, + {0x4A503841, 0x02000000, 0x00000002}, + {0x4A503842, 0x02000000, 0x00000003}, + {0x4A504142, 0x04000000, 0x00000001}, + {0x4A504341, 0x00800000, 0x00000002}, + {0x4A504356, 0x04000000, 0x00000003}, + {0x4A504359, 0x04000000, 0x00000001}, + {0x4A504441, 0x00800000, 0x00000002}, + {0x4A504459, 0x02000000, 0x00000001}, + {0x4A504541, 0x01000000, 0x00000003}, + {0x4A504641, 0x04000000, 0x00000001}, + {0x4A504642, 0x04000000, 0x00000002}, + {0x4A504654, 0x04000000, 0x00000005}, + {0x4A504741, 0x04000000, 0x00000002}, + {0x4A504759, 0x02000000, 0x00000003}, + {0x4A504841, 0x04000000, 0x00000001}, + {0x4A504843, 0x01000000, 0x00000001}, + {0x4A504859, 0x01000000, 0x00000002}, + {0x4A504942, 0x04000000, 0x00000002}, + {0x4A504943, 0x02000000, 0x00000002}, + {0x4A504959, 0x04000000, 0x00000001}, + {0x4A504A42, 0x02000000, 0x00000002}, + {0x4A504B42, 0x04000000, 0x00000002}, + {0x4A504B56, 0x02000000, 0x00000005}, + {0x4A504C59, 0x00800000, 0x00000002}, + {0x4A504D54, 0x08000000, 0x00000003}, + {0x4A504D59, 0x08000000, 0x00000005}, + {0x4A505042, 0x04000000, 0x00000005}, + {0x4A505054, 0x04000000, 0x00000007}, + {0x4A505059, 0x01000000, 0x00000001}, + {0x4A505142, 0x04000000, 0x00000002}, + {0x4A505159, 0x02000000, 0x00000002}, + {0x4A505242, 0x08000000, 0x00000003}, + {0x4A505341, 0x02000000, 0x00000003}, + {0x4A505343, 0x02000000, 0x00000003}, + {0x4A505359, 0x02000000, 0x00000005}, + {0x4A505441, 0x04000000, 0x00000005}, + {0x4A505541, 0x00800000, 0x00000001}, + {0x4A505559, 0x04000000, 0x00000002}, + {0x4A505641, 0x04000000, 0x00000002}, + {0x4A505643, 0x10000000, 0x00000002}, + {0x4A505659, 0x08000000, 0x00000003}, + {0x4A505759, 0x04000000, 0x00000002}, + {0x4A505841, 0x02000000, 0x00000005}, + {0x4A505842, 0x04000000, 0x00000002}, + {0x4A505859, 0x02000000, 0x00000003}, + {0x4A505A41, 0x01000000, 0x00000002}, + {0x4A505A55, 0x08000000, 0x00000003}, + {0x4A505A59, 0x02000000, 0x00000002}, + {0x4A513242, 0x04000000, 0x00000001}, + {0x4A513341, 0x04000000, 0x00000003}, + {0x4A513441, 0x01000000, 0x00000001}, + {0x4A513442, 0x02000000, 0x00000002}, + {0x4A513541, 0x01000000, 0x00000001}, + {0x4A513641, 0x01000000, 0x00000001}, + {0x4A513742, 0x04000000, 0x00000005}, + {0x4A513841, 0x02000000, 0x00000005}, + {0x4A514154, 0x04000000, 0x00000004}, + {0x4A514159, 0x04000000, 0x00000003}, + {0x4A514254, 0x04000000, 0x00000002}, + {0x4A514341, 0x02000000, 0x00000001}, + {0x4A514359, 0x04000000, 0x00000002}, + {0x4A514441, 0x04000000, 0x00000002}, + {0x4A514443, 0x08000000, 0x00000001}, + {0x4A514459, 0x10000000, 0x00000003}, + {0x4A514541, 0x00800000, 0x00000002}, + {0x4A514542, 0x04000000, 0x00000002}, + {0x4A514641, 0x02000000, 0x00000002}, + {0x4A514654, 0x04000000, 0x00000007}, + {0x4A514659, 0x04000000, 0x00000002}, + {0x4A514842, 0x04000000, 0x00000002}, + {0x4A514859, 0x04000000, 0x00000003}, + {0x4A514941, 0x00800000, 0x00000002}, + {0x4A514959, 0x08000000, 0x00000002}, + {0x4A514A41, 0x02000000, 0x00000002}, + {0x4A514B41, 0x02000000, 0x00000001}, + {0x4A514B59, 0x04000000, 0x00000003}, + {0x4A514D41, 0x04000000, 0x00000005}, + {0x4A514E41, 0x00800000, 0x00000002}, + {0x4A514E43, 0x02000000, 0x00000003}, + {0x4A514E59, 0x00800000, 0x00000002}, + {0x4A514F41, 0x04000000, 0x00000001}, + {0x4A514F42, 0x02000000, 0x00000005}, + {0x4A514F59, 0x08000000, 0x00000002}, + {0x4A515054, 0x04000000, 0x00000002}, + {0x4A515059, 0x01000000, 0x00000001}, + {0x4A515141, 0x02000000, 0x00000002}, + {0x4A515241, 0x04000000, 0x00000003}, + {0x4A515242, 0x04000000, 0x00000005}, + {0x4A515341, 0x00800000, 0x00000002}, + {0x4A515541, 0x01000000, 0x00000002}, + {0x4A515542, 0x08000000, 0x00000001}, + {0x4A515559, 0x01000000, 0x00000002}, + {0x4A515741, 0x01000000, 0x00000001}, + {0x4A515859, 0x02000000, 0x00000003}, + {0x4A515942, 0x02000000, 0x00000002}, + {0x4A515959, 0x01000000, 0x00000002}, + {0x4A515A42, 0x08000000, 0x00000003}, + {0x4A515A59, 0x01000000, 0x00000005}, + {0x4A523241, 0x01000000, 0x00000003}, + {0x4A523342, 0x08000000, 0x00000005}, + {0x4A523343, 0x04000000, 0x00000002}, + {0x4A523356, 0x02000000, 0x00000003}, + {0x4A523441, 0x02000000, 0x00000002}, + {0x4A523541, 0x01000000, 0x00000002}, + {0x4A523543, 0x08000000, 0x00000003}, + {0x4A523641, 0x04000000, 0x00000003}, + {0x4A523643, 0x04000000, 0x00000003}, + {0x4A523841, 0x04000000, 0x00000005}, + {0x4A523842, 0x04000000, 0x00000002}, + {0x4A524142, 0x02000000, 0x00000005}, + {0x4A524255, 0x00800000, 0x00000005}, + {0x4A524259, 0x04000000, 0x00000001}, + {0x4A524441, 0x01000000, 0x00000002}, + {0x4A524541, 0x01000000, 0x00000002}, + {0x4A524559, 0x04000000, 0x00000003}, + {0x4A524643, 0x08000000, 0x00000002}, + {0x4A524741, 0x04000000, 0x00000005}, + {0x4A524742, 0x02000000, 0x00000002}, + {0x4A524743, 0x04000000, 0x00000001}, + {0x4A524759, 0x08000000, 0x00000002}, + {0x4A524841, 0x02000000, 0x00000002}, + {0x4A524854, 0x20000000, 0x00000003}, + {0x4A524856, 0x04000000, 0x00000002}, + {0x4A524941, 0x01000000, 0x00000001}, + {0x4A524A41, 0x08000000, 0x00000005}, + {0x4A524A43, 0x08000000, 0x00000003}, + {0x4A524A59, 0x08000000, 0x00000002}, + {0x4A524B41, 0x04000000, 0x00000002}, + {0x4A524B43, 0x04000000, 0x00000003}, + {0x4A524B59, 0x04000000, 0x00000005}, + {0x4A524C41, 0x00800000, 0x00000002}, + {0x4A524D41, 0x01000000, 0x00000003}, + {0x4A524E41, 0x04000000, 0x00000001}, + {0x4A524E43, 0x04000000, 0x00000002}, + {0x4A524E54, 0x10000000, 0x00000003}, + {0x4A524E59, 0x04000000, 0x00000002}, + {0x4A524F42, 0x01000000, 0x00000003}, + {0x4A524F55, 0x02000000, 0x00000008}, + {0x4A525041, 0x02000000, 0x00000002}, + {0x4A525142, 0x02000000, 0x00000002}, + {0x4A525143, 0x04000000, 0x00000002}, + {0x4A525242, 0x10000000, 0x00000003}, + {0x4A525243, 0x02000000, 0x00000005}, + {0x4A525341, 0x04000000, 0x00000003}, + {0x4A525343, 0x10000000, 0x00000002}, + {0x4A525359, 0x01000000, 0x00000005}, + {0x4A525441, 0x01000000, 0x00000002}, + {0x4A52544E, 0x00180AC8, 0x00000000}, + {0x4A525541, 0x04000000, 0x00000002}, + {0x4A525543, 0x04000000, 0x00000001}, + {0x4A525559, 0x04000000, 0x00000003}, + {0x4A525641, 0x04000000, 0x00000002}, + {0x4A525659, 0x08000000, 0x00000002}, + {0x4A525741, 0x02000000, 0x00000005}, + {0x4A525742, 0x02000000, 0x00000003}, + {0x4A525841, 0x01000000, 0x00000002}, + {0x4A525959, 0x04000000, 0x00000001}, + {0x4A525A41, 0x08000000, 0x00000002}, + {0x4A525A59, 0x01000000, 0x00000002}, + {0x4A533243, 0x08000000, 0x00000004}, + {0x4A533342, 0x20000000, 0x00000003}, + {0x4A534159, 0x10000000, 0x00000005}, + {0x4A534241, 0x01000000, 0x00000005}, + {0x4A534254, 0x02000000, 0x00000002}, + {0x4A534259, 0x08000000, 0x00000003}, + {0x4A534342, 0x04000000, 0x00000002}, + {0x4A534459, 0x04000000, 0x00000002}, + {0x4A534559, 0x04000000, 0x00000003}, + {0x4A534654, 0x02000000, 0x00000003}, + {0x4A534659, 0x04000000, 0x00000002}, + {0x4A534841, 0x02000000, 0x00000002}, + {0x4A534A41, 0x001998C8, 0x00000002}, + {0x4A534A59, 0x02000000, 0x00000002}, + {0x4A534B41, 0x02000000, 0x00000002}, + {0x4A534B42, 0x02000000, 0x00000002}, + {0x4A534C41, 0x04000000, 0x00000002}, + {0x4A534C59, 0x04000000, 0x00000001}, + {0x4A534D41, 0x04000000, 0x00000003}, + {0x4A534D43, 0x02000000, 0x00000003}, + {0x4A534D59, 0x04000000, 0x00000005}, + {0x4A534E41, 0x01000000, 0x00000001}, + {0x4A534E43, 0x04000000, 0x00000002}, + {0x4A534E55, 0x00800000, 0x00000006}, + {0x4A534F41, 0x04000000, 0x00000002}, + {0x4A534F42, 0x01000000, 0x00000003}, + {0x4A534F56, 0x02000000, 0x00000007}, + {0x4A534F59, 0x00800000, 0x00000002}, + {0x4A535041, 0x04000000, 0x00000005}, + {0x4A535054, 0x04000000, 0x00000005}, + {0x4A535059, 0x01000000, 0x00000002}, + {0x4A535141, 0x02000000, 0x00000002}, + {0x4A535142, 0x01000000, 0x00000003}, + {0x4A535241, 0x08000000, 0x00000002}, + {0x4A535359, 0x04000000, 0x00000003}, + {0x4A535443, 0x04000000, 0x00000001}, + {0x4A535641, 0x02000000, 0x00000002}, + {0x4A535659, 0x02000000, 0x00000003}, + {0x4A535841, 0x04000000, 0x00000002}, + {0x4A535842, 0x04000000, 0x00000003}, + {0x4A535859, 0x02000000, 0x00000003}, + {0x4A535941, 0x04000000, 0x00000005}, + {0x4A535942, 0x04000000, 0x00000003}, + {0x4A535959, 0x01000000, 0x00000002}, + {0x4A535A41, 0x01000000, 0x00000003}, + {0x4A535A43, 0x04000000, 0x00000001}, + {0x4A535A59, 0x01000000, 0x00000002}, + {0x4A543243, 0x04000000, 0x00000003}, + {0x4A543342, 0x02000000, 0x00000001}, + {0x4A543442, 0x02000000, 0x00000002}, + {0x4A543443, 0x08000000, 0x00000002}, + {0x4A543541, 0x02000000, 0x00000005}, + {0x4A543841, 0x02000000, 0x00000002}, + {0x4A543842, 0x01000000, 0x00000001}, + {0x4A544143, 0x02000000, 0x00000002}, + {0x4A544259, 0x08000000, 0x00000003}, + {0x4A544341, 0x02000000, 0x00000001}, + {0x4A544343, 0x08000000, 0x00000003}, + {0x4A544354, 0x02000000, 0x00000005}, + {0x4A544356, 0x04000000, 0x00000003}, + {0x4A544359, 0x02000000, 0x00000001}, + {0x4A544459, 0x04000000, 0x00000003}, + {0x4A544541, 0x04000000, 0x00000001}, + {0x4A544542, 0x04000000, 0x00000005}, + {0x4A544543, 0x08000000, 0x00000002}, + {0x4A544654, 0x04000000, 0x00000002}, + {0x4A544659, 0x04000000, 0x00000005}, + {0x4A544741, 0x02000000, 0x00000002}, + {0x4A544742, 0x08000000, 0x00000002}, + {0x4A544843, 0x04000000, 0x00000002}, + {0x4A544854, 0x20000000, 0x00000003}, + {0x4A544859, 0x01000000, 0x00000001}, + {0x4A544942, 0x08000000, 0x00000005}, + {0x4A544A59, 0x08000000, 0x00000002}, + {0x4A544B41, 0x01000000, 0x00000001}, + {0x4A544B42, 0x04000000, 0x00000002}, + {0x4A544B54, 0x04000000, 0x00000002}, + {0x4A544B59, 0x02000000, 0x00000002}, + {0x4A544C54, 0x04000000, 0x00000003}, + {0x4A544C59, 0x08000000, 0x00000002}, + {0x4A544D41, 0x04000000, 0x00000002}, + {0x4A544D42, 0x08000000, 0x00000003}, + {0x4A544D56, 0x10000000, 0x00000002}, + {0x4A544E41, 0x04000000, 0x00000002}, + {0x4A544E43, 0x10000000, 0x00000003}, + {0x4A544E59, 0x10000000, 0x00000001}, + {0x4A544F41, 0x01000000, 0x00000002}, + {0x4A544F42, 0x01000000, 0x00000005}, + {0x4A544F43, 0x01000000, 0x00000005}, + {0x4A544F59, 0x04000000, 0x00000003}, + {0x4A545041, 0x01000000, 0x00000002}, + {0x4A545043, 0x04000000, 0x00000005}, + {0x4A545056, 0x08000000, 0x00000006}, + {0x4A545059, 0x02000000, 0x00000005}, + {0x4A545143, 0x04000000, 0x00000003}, + {0x4A545241, 0x08000000, 0x00000002}, + {0x4A545341, 0x02000000, 0x00000001}, + {0x4A545359, 0x04000000, 0x00000001}, + {0x4A545442, 0x04000000, 0x00000002}, + {0x4A545443, 0x08000000, 0x00000003}, + {0x4A545459, 0x08000000, 0x00000003}, + {0x4A545641, 0x04000000, 0x00000002}, + {0x4A545741, 0x00800000, 0x00000001}, + {0x4A545843, 0x10000000, 0x00000003}, + {0x4A545859, 0x02000000, 0x00000003}, + {0x4A545941, 0x08000000, 0x00000003}, + {0x4A545943, 0x04000000, 0x00000003}, + {0x4A545A41, 0x01000000, 0x00000005}, + {0x4A545A43, 0x02000000, 0x00000002}, + {0x4A545A59, 0x01000000, 0x00000005}, + {0x4A553241, 0x04000000, 0x00000002}, + {0x4A553341, 0x02000000, 0x00000001}, + {0x4A553343, 0x08000000, 0x00000002}, + {0x4A553441, 0x02000000, 0x00000002}, + {0x4A553442, 0x02000000, 0x00000003}, + {0x4A553443, 0x04000000, 0x00000001}, + {0x4A553641, 0x02000000, 0x00000001}, + {0x4A553841, 0x02000000, 0x00000002}, + {0x4A554241, 0x04000000, 0x00000005}, + {0x4A554242, 0x04000000, 0x00000003}, + {0x4A554259, 0x08000000, 0x00000003}, + {0x4A554341, 0x04000000, 0x00000005}, + {0x4A554343, 0x04000000, 0x00000006}, + {0x4A554441, 0x02000000, 0x00000003}, + {0x4A554459, 0x04000000, 0x00000003}, + {0x4A554541, 0x04000000, 0x00000003}, + {0x4A554542, 0x10000000, 0x00000003}, + {0x4A554641, 0x01000000, 0x00000003}, + {0x4A554656, 0x10000000, 0x00000005}, + {0x4A554659, 0x04000000, 0x00000002}, + {0x4A554741, 0x02000000, 0x00000002}, + {0x4A554742, 0x08000000, 0x00000003}, + {0x4A554759, 0x01000000, 0x00000002}, + {0x4A554843, 0x10000000, 0x00000003}, + {0x4A554A41, 0x04000000, 0x00000003}, + {0x4A554A42, 0x02000000, 0x00000003}, + {0x4A554A43, 0x04000000, 0x00000003}, + {0x4A554A59, 0x04000000, 0x00000002}, + {0x4A554B42, 0x08000000, 0x00000005}, + {0x4A554B43, 0x04000000, 0x00000003}, + {0x4A554B59, 0x04000000, 0x00000003}, + {0x4A554C41, 0x02000000, 0x00000002}, + {0x4A554C42, 0x08000000, 0x00000003}, + {0x4A554C59, 0x08000000, 0x00000005}, + {0x4A554E43, 0x02000000, 0x00000002}, + {0x4A554E59, 0x04000000, 0x00000003}, + {0x4A554F41, 0x01000000, 0x00000003}, + {0x4A555041, 0x02000000, 0x00000003}, + {0x4A555042, 0x04000000, 0x00000005}, + {0x4A555043, 0x08000000, 0x00000006}, + {0x4A555141, 0x08000000, 0x00000002}, + {0x4A555142, 0x04000000, 0x00000002}, + {0x4A555143, 0x02000000, 0x00000002}, + {0x4A555159, 0x08000000, 0x00000003}, + {0x4A555241, 0x02000000, 0x00000003}, + {0x4A555259, 0x00800000, 0x00000001}, + {0x4A555341, 0x04000000, 0x00000003}, + {0x4A555359, 0x00800000, 0x00000003}, + {0x4A555441, 0x04000000, 0x00000002}, + {0x4A555442, 0x04000000, 0x00000002}, + {0x4A555443, 0x10000000, 0x00000003}, + {0x4A555459, 0x04000000, 0x00000003}, + {0x4A555541, 0x00800000, 0x00000003}, + {0x4A555543, 0x00800000, 0x00000002}, + {0x4A555559, 0x02000000, 0x00000002}, + {0x4A555641, 0x08000000, 0x00000003}, + {0x4A555643, 0x04000000, 0x00000002}, + {0x4A555659, 0x04000000, 0x00000005}, + {0x4A555759, 0x02000000, 0x00000001}, + {0x4A555859, 0x02000000, 0x00000003}, + {0x4A555941, 0x02000000, 0x00000002}, + {0x4A555A41, 0x01000000, 0x00000002}, + {0x4A555A59, 0x04000000, 0x00000001}, + {0x4A563243, 0x10000000, 0x00000003}, + {0x4A563341, 0x04000000, 0x00000003}, + {0x4A563441, 0x08000000, 0x00000005}, + {0x4A563841, 0x04000000, 0x00000002}, + {0x4A563842, 0x02000000, 0x00000003}, + {0x4A564156, 0x04000000, 0x00000001}, + {0x4A564241, 0x02000000, 0x00000002}, + {0x4A564341, 0x04000000, 0x00000002}, + {0x4A564441, 0x01000000, 0x00000001}, + {0x4A564454, 0x08000000, 0x00000003}, + {0x4A564541, 0x04000000, 0x00000002}, + {0x4A564542, 0x10000000, 0x00000003}, + {0x4A564742, 0x04000000, 0x00000002}, + {0x4A564759, 0x04000000, 0x00000002}, + {0x4A564843, 0x01000000, 0x00000003}, + {0x4A564941, 0x02000000, 0x00000002}, + {0x4A564942, 0x00800000, 0x00000001}, + {0x4A564943, 0x08000000, 0x00000003}, + {0x4A564959, 0x08000000, 0x00000003}, + {0x4A564A41, 0x01000000, 0x00000001}, + {0x4A564B41, 0x04000000, 0x00000001}, + {0x4A564B59, 0x08000000, 0x00000003}, + {0x4A564C41, 0x02000000, 0x00000002}, + {0x4A564C59, 0x04000000, 0x00000002}, + {0x4A564D59, 0x00800000, 0x00000001}, + {0x4A564E43, 0x08000000, 0x00000005}, + {0x4A564E59, 0x02000000, 0x00000002}, + {0x4A564F41, 0x04000000, 0x00000002}, + {0x4A564F43, 0x02000000, 0x00000005}, + {0x4A565041, 0x00800000, 0x00000002}, + {0x4A565142, 0x04000000, 0x00000003}, + {0x4A565259, 0x02000000, 0x00000005}, + {0x4A565359, 0x04000000, 0x00000003}, + {0x4A565541, 0x08000000, 0x00000002}, + {0x4A565559, 0x02000000, 0x00000003}, + {0x4A565641, 0x00800000, 0x00000003}, + {0x4A565643, 0x01000000, 0x00000001}, + {0x4A565659, 0x00800000, 0x00000001}, + {0x4A565741, 0x01000000, 0x00000001}, + {0x4A565743, 0x04000000, 0x00000002}, + {0x4A565759, 0x04000000, 0x00000002}, + {0x4A565841, 0x04000000, 0x00000003}, + {0x4A565843, 0x02000000, 0x00000003}, + {0x4A565942, 0x08000000, 0x00000003}, + {0x4A565943, 0x04000000, 0x00000002}, + {0x4A565A41, 0x00800000, 0x00000001}, + {0x4A565A59, 0x02000000, 0x00000002}, + {0x4A573241, 0x04000000, 0x00000001}, + {0x4A573242, 0x08000000, 0x00000003}, + {0x4A573243, 0x02000000, 0x00000002}, + {0x4A573343, 0x02000000, 0x00000003}, + {0x4A573443, 0x02000000, 0x00000002}, + {0x4A573643, 0x02000000, 0x00000002}, + {0x4A573841, 0x00800000, 0x00000001}, + {0x4A574159, 0x04000000, 0x00000002}, + {0x4A574254, 0x02000000, 0x00000001}, + {0x4A574341, 0x00800000, 0x00000002}, + {0x4A574359, 0x00800000, 0x00000002}, + {0x4A574459, 0x02000000, 0x00000005}, + {0x4A574541, 0x04000000, 0x00000002}, + {0x4A574543, 0x08000000, 0x00000002}, + {0x4A574559, 0x04000000, 0x00000008}, + {0x4A574741, 0x01000000, 0x00000002}, + {0x4A574742, 0x02000000, 0x00000002}, + {0x4A574743, 0x00800000, 0x00000001}, + {0x4A574941, 0x01000000, 0x00000002}, + {0x4A574A41, 0x01000000, 0x00000001}, + {0x4A574B41, 0x04000000, 0x00000002}, + {0x4A574B43, 0x10000000, 0x00000001}, + {0x4A574B59, 0x08000000, 0x00000003}, + {0x4A574C41, 0x02000000, 0x00000001}, + {0x4A574D49, 0x04000000, 0x00000007}, + {0x4A574F43, 0x10000000, 0x00000002}, + {0x4A574F59, 0x02000000, 0x00000002}, + {0x4A575141, 0x02000000, 0x00000002}, + {0x4A575142, 0x08000000, 0x00000003}, + {0x4A575241, 0x01000000, 0x00000002}, + {0x4A575242, 0x08000000, 0x00000005}, + {0x4A575259, 0x02000000, 0x00000005}, + {0x4A575342, 0x08000000, 0x00000006}, + {0x4A575441, 0x02000000, 0x00000002}, + {0x4A575443, 0x01000000, 0x00000003}, + {0x4A575459, 0x08000000, 0x00000003}, + {0x4A575541, 0x04000000, 0x00000003}, + {0x4A575543, 0x04000000, 0x00000003}, + {0x4A575659, 0x10000000, 0x00000003}, + {0x4A575742, 0x08000000, 0x00000003}, + {0x4A575759, 0x02000000, 0x00000002}, + {0x4A575841, 0x00800000, 0x00000002}, + {0x4A575843, 0x02000000, 0x00000003}, + {0x4A575859, 0x01000000, 0x00000003}, + {0x4A575941, 0x02000000, 0x00000002}, + {0x4A575943, 0x01000000, 0x00000001}, + {0x4A575A41, 0x02000000, 0x00000002}, + {0x4A575A43, 0x04000000, 0x00000002}, + {0x4A575A59, 0x02000000, 0x00000002}, + {0x4A583241, 0x01000000, 0x00000002}, + {0x4A583243, 0x02000000, 0x00000003}, + {0x4A583342, 0x01000000, 0x00000001}, + {0x4A583343, 0x08000000, 0x00000002}, + {0x4A583442, 0x04000000, 0x00000002}, + {0x4A583641, 0x02000000, 0x00000002}, + {0x4A583642, 0x01000000, 0x00000003}, + {0x4A583643, 0x00800000, 0x00000002}, + {0x4A583742, 0x08000000, 0x00000003}, + {0x4A583841, 0x04000000, 0x00000002}, + {0x4A584241, 0x02000000, 0x00000002}, + {0x4A584342, 0x04000000, 0x00000005}, + {0x4A584359, 0x02000000, 0x00000002}, + {0x4A584441, 0x02000000, 0x00000002}, + {0x4A584442, 0x01000000, 0x00000001}, + {0x4A584541, 0x08000000, 0x00000002}, + {0x4A584559, 0x02000000, 0x00000002}, + {0x4A584641, 0x08000000, 0x00000003}, + {0x4A584642, 0x04000000, 0x00000002}, + {0x4A584743, 0x10000000, 0x00000001}, + {0x4A584759, 0x08000000, 0x00000002}, + {0x4A584842, 0x04000000, 0x00000002}, + {0x4A584941, 0x04000000, 0x00000002}, + {0x4A584959, 0x08000000, 0x00000003}, + {0x4A584A41, 0x02000000, 0x00000001}, + {0x4A584B41, 0x08000000, 0x00000002}, + {0x4A584B42, 0x04000000, 0x00000003}, + {0x4A584B59, 0x00800000, 0x00000002}, + {0x4A584C54, 0x01000000, 0x00000002}, + {0x4A584D54, 0x04000000, 0x00000003}, + {0x4A584E42, 0x04000000, 0x00000002}, + {0x4A584F42, 0x20000000, 0x00000005}, + {0x4A584F59, 0x04000000, 0x00000003}, + {0x4A585041, 0x04000000, 0x00000005}, + {0x4A585141, 0x08000000, 0x00000003}, + {0x4A585241, 0x04000000, 0x00000001}, + {0x4A585259, 0x04000000, 0x00000002}, + {0x4A585341, 0x01000000, 0x00000002}, + {0x4A585459, 0x04000000, 0x00000002}, + {0x4A585541, 0x01000000, 0x00000001}, + {0x4A585559, 0x04000000, 0x00000003}, + {0x4A585659, 0x04000000, 0x00000002}, + {0x4A585841, 0x04000000, 0x00000002}, + {0x4A585843, 0x02000000, 0x00000003}, + {0x4A585859, 0x04000000, 0x00000002}, + {0x4A585941, 0x08000000, 0x00000005}, + {0x4A585942, 0x10000000, 0x00000003}, + {0x4A585A41, 0x04000000, 0x00000002}, + {0x4A585A59, 0x04000000, 0x00000002}, + {0x4A593241, 0x01000000, 0x00000007}, + {0x4A593243, 0x08000000, 0x00000003}, + {0x4A593341, 0x04000000, 0x00000003}, + {0x4A593343, 0x08000000, 0x00000002}, + {0x4A593441, 0x00800000, 0x00000003}, + {0x4A593442, 0x00800000, 0x00000001}, + {0x4A593543, 0x08000000, 0x00000002}, + {0x4A593643, 0x04000000, 0x00000002}, + {0x4A593841, 0x00800000, 0x00000001}, + {0x4A594159, 0x02000000, 0x00000001}, + {0x4A594341, 0x01000000, 0x00000005}, + {0x4A594541, 0x04000000, 0x00000002}, + {0x4A594659, 0x04000000, 0x00000005}, + {0x4A594741, 0x04000000, 0x00000005}, + {0x4A594743, 0x04000000, 0x00000002}, + {0x4A594759, 0x00800000, 0x00000002}, + {0x4A594942, 0x04000000, 0x00000005}, + {0x4A594A41, 0x04000000, 0x00000006}, + {0x4A594B41, 0x01000000, 0x00000003}, + {0x4A594B43, 0x02000000, 0x00000003}, + {0x4A594B59, 0x02000000, 0x00000002}, + {0x4A594D41, 0x04000000, 0x00000003}, + {0x4A594D43, 0x01000000, 0x00000003}, + {0x4A594E41, 0x04000000, 0x00000003}, + {0x4A594F42, 0x04000000, 0x00000002}, + {0x4A594F59, 0x01000000, 0x00000002}, + {0x4A595041, 0x02000000, 0x00000002}, + {0x4A595056, 0x10000000, 0x00000005}, + {0x4A595141, 0x04000000, 0x00000002}, + {0x4A595159, 0x01000000, 0x00000002}, + {0x4A595242, 0x10000000, 0x00000002}, + {0x4A595259, 0x02000000, 0x00000001}, + {0x4A595341, 0x00800000, 0x00000001}, + {0x4A595541, 0x02000000, 0x00000002}, + {0x4A595542, 0x04000000, 0x00000002}, + {0x4A595543, 0x02000000, 0x00000001}, + {0x4A595641, 0x04000000, 0x00000002}, + {0x4A595659, 0x08000000, 0x00000001}, + {0x4A595741, 0x02000000, 0x00000003}, + {0x4A595742, 0x04000000, 0x00000003}, + {0x4A595841, 0x08000000, 0x00000001}, + {0x4A595843, 0x02000000, 0x00000003}, + {0x4A595942, 0x08000000, 0x00000003}, + {0x4A595959, 0x04000000, 0x00000003}, + {0x4A595A43, 0x02000000, 0x00000002}, + {0x4A5A3241, 0x02000000, 0x00000001}, + {0x4A5A3341, 0x04000000, 0x00000002}, + {0x4A5A3342, 0x02000000, 0x00000001}, + {0x4A5A3641, 0x08000000, 0x00000002}, + {0x4A5A3642, 0x04000000, 0x00000003}, + {0x4A5A3841, 0x02000000, 0x00000002}, + {0x4A5A4143, 0x04000000, 0x00000002}, + {0x4A5A4241, 0x08000000, 0x00000003}, + {0x4A5A4341, 0x01000000, 0x00000001}, + {0x4A5A4441, 0x02000000, 0x00000002}, + {0x4A5A4459, 0x01000000, 0x00000002}, + {0x4A5A4541, 0x04000000, 0x00000002}, + {0x4A5A4542, 0x20000000, 0x00000003}, + {0x4A5A4543, 0x08000000, 0x00000002}, + {0x4A5A4559, 0x04000000, 0x00000002}, + {0x4A5A4741, 0x04000000, 0x00000001}, + {0x4A5A4843, 0x04000000, 0x00000002}, + {0x4A5A4854, 0x20000000, 0x00000002}, + {0x4A5A4941, 0x00800000, 0x00000002}, + {0x4A5A4959, 0x04000000, 0x00000002}, + {0x4A5A4A41, 0x00800000, 0x00000002}, + {0x4A5A4A59, 0x02000000, 0x00000005}, + {0x4A5A4B41, 0x01000000, 0x00000002}, + {0x4A5A4B54, 0x02000000, 0x00000002}, + {0x4A5A4B59, 0x01000000, 0x00000002}, + {0x4A5A4C41, 0x02000000, 0x00000002}, + {0x4A5A4C59, 0x08000000, 0x00000002}, + {0x4A5A4D41, 0x00800000, 0x00000002}, + {0x4A5A4D43, 0x04000000, 0x00000003}, + {0x4A5A4E41, 0x01000000, 0x00000001}, + {0x4A5A4E43, 0x02000000, 0x00000002}, + {0x4A5A4E59, 0x04000000, 0x00000002}, + {0x4A5A4F41, 0x01000000, 0x00000002}, + {0x4A5A4F43, 0x08000000, 0x00000002}, + {0x4A5A5041, 0x01000000, 0x00000002}, + {0x4A5A5141, 0x02000000, 0x00000002}, + {0x4A5A5159, 0x00800000, 0x00000001}, + {0x4A5A5241, 0x04000000, 0x00000002}, + {0x4A5A5242, 0x04000000, 0x00000003}, + {0x4A5A5641, 0x01000000, 0x00000001}, + {0x4A5A5643, 0x10000000, 0x00000003}, + {0x4A5A5659, 0x00800000, 0x00000001}, + {0x4A5A5741, 0x02000000, 0x00000002}, + {0x4A5A5742, 0x04000000, 0x00000003}, + {0x4A5A5759, 0x04000000, 0x00000001}, + {0x4A5A5841, 0x08000000, 0x00000001}, + {0x4A5A5843, 0x02000000, 0x00000003}, + {0x4A5A5941, 0x02000000, 0x00000003}, + {0x4A5A5A41, 0x04000000, 0x00000005}, + {0x4A5A5A59, 0x02000000, 0x00000001}, + {0x4B324359, 0x04000000, 0x00000006}, + {0x4B324441, 0x02000000, 0x00000005}, + {0x4B325043, 0x04000000, 0x00000003}, + {0x4B325359, 0x04000000, 0x00000005}, + {0x4B325859, 0x00800000, 0x00000002}, + {0x4B334341, 0x02000000, 0x00000005}, + {0x4B334359, 0x04000000, 0x00000006}, + {0x4B334441, 0x02000000, 0x00000005}, + {0x4B334741, 0x02000000, 0x00000005}, + {0x4B334C41, 0x02000000, 0x00000001}, + {0x4B334D43, 0x08000000, 0x00000003}, + {0x4B344241, 0x04000000, 0x00000005}, + {0x4B344759, 0x10000000, 0x00000003}, + {0x4B344C43, 0x08000000, 0x00000002}, + {0x4B345043, 0x08000000, 0x00000002}, + {0x4B345759, 0x04000000, 0x00000003}, + {0x4B354459, 0x00800000, 0x00000002}, + {0x4B354759, 0x04000000, 0x00000003}, + {0x4B354B43, 0x04000000, 0x00000005}, + {0x4B355443, 0x08000000, 0x00000002}, + {0x4B363643, 0x04000000, 0x00000002}, + {0x4B364843, 0x04000000, 0x00000001}, + {0x4B364C59, 0x04000000, 0x00000001}, + {0x4B374743, 0x04000000, 0x00000002}, + {0x4B374D41, 0x02000000, 0x00000002}, + {0x4B374D59, 0x04000000, 0x00000002}, + {0x4B375241, 0x04000000, 0x00000002}, + {0x4B383443, 0x04000000, 0x00000006}, + {0x4B384659, 0x02000000, 0x00000003}, + {0x4B384759, 0x08000000, 0x00000005}, + {0x4B385741, 0x04000000, 0x00000001}, + {0x4B385943, 0x10000000, 0x00000003}, + {0x4B394559, 0x04000000, 0x00000003}, + {0x4B394643, 0x02000000, 0x00000003}, + {0x4B395259, 0x04000000, 0x00000002}, + {0x4B395343, 0x02000000, 0x00000001}, + {0x4B395759, 0x08000000, 0x00000001}, + {0x4B395941, 0x08000000, 0x00000003}, + {0x4B413242, 0x04000000, 0x00000003}, + {0x4B414156, 0x02000000, 0x00000008}, + {0x4B414441, 0x04000000, 0x00000006}, + {0x4B414641, 0x04000000, 0x00000003}, + {0x4B414642, 0x02000000, 0x00000003}, + {0x4B415041, 0x04000000, 0x00000006}, + {0x4B415249, 0x10000000, 0x00000006}, + {0x4B415941, 0x00800000, 0x00000002}, + {0x4B424B59, 0x04000000, 0x00000003}, + {0x4B425249, 0x10000000, 0x00000006}, + {0x4B425259, 0x08000000, 0x00000003}, + {0x4B433841, 0x02000000, 0x00000002}, + {0x4B434241, 0x02000000, 0x00000005}, + {0x4B434341, 0x02000000, 0x00000001}, + {0x4B434D41, 0x02000000, 0x00000005}, + {0x4B435041, 0x01000000, 0x00000001}, + {0x4B435141, 0x04000000, 0x00000002}, + {0x4B435259, 0x08000000, 0x00000002}, + {0x4B443241, 0x02000000, 0x00000002}, + {0x4B444154, 0x04000000, 0x00000005}, + {0x4B444342, 0x02000000, 0x00000002}, + {0x4B444E41, 0x01000000, 0x00000005}, + {0x4B444E43, 0x04000000, 0x00000002}, + {0x4B445041, 0x01000000, 0x00000002}, + {0x4B445059, 0x02000000, 0x00000003}, + {0x4B445249, 0x20000000, 0x00000006}, + {0x4B454641, 0x04000000, 0x00000003}, + {0x4B455249, 0x20000000, 0x00000006}, + {0x4B455741, 0x04000000, 0x00000005}, + {0x4B455A41, 0x04000000, 0x00000006}, + {0x4B463341, 0x04000000, 0x00000005}, + {0x4B463541, 0x04000000, 0x00000002}, + {0x4B464B59, 0x02000000, 0x00000001}, + {0x4B465241, 0x08000000, 0x00000003}, + {0x4B473341, 0x04000000, 0x00000005}, + {0x4B473641, 0x04000000, 0x00000002}, + {0x4B474441, 0x02000000, 0x00000005}, + {0x4B474E41, 0x08000000, 0x00000005}, + {0x4B474E59, 0x08000000, 0x00000003}, + {0x4B475049, 0x08000000, 0x00000006}, + {0x4B475059, 0x04000000, 0x00000002}, + {0x4B483643, 0x01000000, 0x00000001}, + {0x4B484759, 0x08000000, 0x00000001}, + {0x4B484D41, 0x04000000, 0x00000005}, + {0x4B484E41, 0x08000000, 0x00000006}, + {0x4B485041, 0x02000000, 0x00000005}, + {0x4B494459, 0x04000000, 0x00000002}, + {0x4B495041, 0x00800000, 0x00000002}, + {0x4B495141, 0x02000000, 0x00000005}, + {0x4B495243, 0x02000000, 0x00000002}, + {0x4B495741, 0x08000000, 0x00000005}, + {0x4B4A4241, 0x04000000, 0x00000005}, + {0x4B4A4342, 0x10000000, 0x00000003}, + {0x4B4A4C43, 0x08000000, 0x00000002}, + {0x4B4A5159, 0x08000000, 0x00000005}, + {0x4B4B4343, 0x02000000, 0x00000001}, + {0x4B4B4841, 0x04000000, 0x00000003}, + {0x4B4B5049, 0x08000000, 0x00000006}, + {0x4B4B5659, 0x08000000, 0x00000002}, + {0x4B4C4143, 0x04000000, 0x00000001}, + {0x4B4C4443, 0x02000000, 0x00000005}, + {0x4B4C4542, 0x02000000, 0x00000002}, + {0x4B4C4F43, 0x08000000, 0x00000003}, + {0x4B4C5759, 0x02000000, 0x00000001}, + {0x4B4C5A41, 0x08000000, 0x00000007}, + {0x4B4D3341, 0x08000000, 0x00000002}, + {0x4B4D4441, 0x02000000, 0x00000005}, + {0x4B4D4641, 0x04000000, 0x00000002}, + {0x4B4D4E41, 0x02000000, 0x00000005}, + {0x4B4D5241, 0x04000000, 0x00000002}, + {0x4B4D5341, 0x01000000, 0x00000001}, + {0x4B4E3442, 0x00800000, 0x00000002}, + {0x4B4E5041, 0x02000000, 0x00000001}, + {0x4B4E5943, 0x01000000, 0x00000002}, + {0x4B4F3242, 0x02000000, 0x00000005}, + {0x4B4F4359, 0x04000000, 0x00000001}, + {0x4B4F4443, 0x04000000, 0x00000005}, + {0x4B4F4559, 0x04000000, 0x00000003}, + {0x4B4F4E59, 0x08000000, 0x00000003}, + {0x4B4F5259, 0x02000000, 0x00000002}, + {0x4B504441, 0x00800000, 0x00000002}, + {0x4B504D59, 0x08000000, 0x00000005}, + {0x4B504E59, 0x04000000, 0x00000002}, + {0x4B505142, 0x04000000, 0x00000002}, + {0x4B505359, 0x02000000, 0x00000005}, + {0x4B505759, 0x04000000, 0x00000002}, + {0x4B505841, 0x02000000, 0x00000005}, + {0x4B514641, 0x04000000, 0x00000003}, + {0x4B514B42, 0x04000000, 0x00000001}, + {0x4B524559, 0x04000000, 0x00000003}, + {0x4B524E41, 0x04000000, 0x00000001}, + {0x4B524E59, 0x04000000, 0x00000002}, + {0x4B525441, 0x01000000, 0x00000002}, + {0x4B534743, 0x08000000, 0x00000001}, + {0x4B534E43, 0x04000000, 0x00000002}, + {0x4B534F41, 0x08000000, 0x00000005}, + {0x4B535043, 0x04000000, 0x00000002}, + {0x4B535143, 0x02000000, 0x00000001}, + {0x4B535659, 0x02000000, 0x00000003}, + {0x4B543841, 0x02000000, 0x00000002}, + {0x4B544659, 0x04000000, 0x00000005}, + {0x4B544C59, 0x08000000, 0x00000002}, + {0x4B545041, 0x01000000, 0x00000002}, + {0x4B545359, 0x04000000, 0x00000001}, + {0x4B545A59, 0x01000000, 0x00000005}, + {0x4B554242, 0x04000000, 0x00000003}, + {0x4B554D42, 0x02000000, 0x00000001}, + {0x4B555043, 0x08000000, 0x00000006}, + {0x4B564143, 0x02000000, 0x00000002}, + {0x4B564C59, 0x04000000, 0x00000002}, + {0x4B573443, 0x02000000, 0x00000002}, + {0x4B574441, 0x04000000, 0x00000002}, + {0x4B574459, 0x02000000, 0x00000005}, + {0x4B574B41, 0x04000000, 0x00000002}, + {0x4B574B59, 0x08000000, 0x00000003}, + {0x4B574F42, 0x04000000, 0x00000002}, + {0x4B575241, 0x01000000, 0x00000002}, + {0x4B575941, 0x02000000, 0x00000002}, + {0x4B575A41, 0x02000000, 0x00000002}, + {0x4B583241, 0x01000000, 0x00000002}, + {0x4B584241, 0x02000000, 0x00000002}, + {0x4B584559, 0x02000000, 0x00000002}, + {0x4B585541, 0x01000000, 0x00000001}, + {0x4B585942, 0x10000000, 0x00000003}, + {0x4B585A43, 0x08000000, 0x00000002}, + {0x4B593242, 0x02000000, 0x00000002}, + {0x4B593341, 0x04000000, 0x00000003}, + {0x4B593441, 0x00800000, 0x00000003}, + {0x4B594541, 0x04000000, 0x00000002}, + {0x4B594659, 0x04000000, 0x00000005}, + {0x4B595543, 0x02000000, 0x00000001}, + {0x4B595942, 0x08000000, 0x00000003}, + {0x4B5A4459, 0x00800000, 0x00000002}, + {0x4B5A4C59, 0x08000000, 0x00000002}, + {0x4B5A5242, 0x04000000, 0x00000003}, + {0x4B5A5A43, 0x10000000, 0x00000005}, + {0x4C464B59, 0x04000000, 0x00000001}, + {0x4C474D43, 0x04000000, 0x00000001}, + {0x4D374C42, 0x04000000, 0x00000001}, + {0x4D375042, 0x02000000, 0x00000001}, + {0x4D385042, 0x04000000, 0x00000001}, + {0x4D435143, 0x02000000, 0x00000001}, + {0x4D474D43, 0x04000000, 0x00000001}, + {0x4D503642, 0x02000000, 0x00000001}, + {0x4E374C42, 0x04000000, 0x00000001}, + {0x4E374E42, 0x02000000, 0x00000001}, + {0x4E375042, 0x02000000, 0x00000001}, + {0x4E385042, 0x04000000, 0x00000001}, + {0x4E435143, 0x02000000, 0x00000001}, + {0x4E454642, 0x04000000, 0x00000001}, + {0x4E503642, 0x02000000, 0x00000001}, + {0x4E573542, 0x02000000, 0x00000001}, + {0x4E584C42, 0x04000000, 0x00000008}, + {0x4E594C42, 0x04000000, 0x00000008}, + {0x4F415249, 0x10000000, 0x00000006}, + {0x4F425249, 0x10000000, 0x00000006}, + {0x4F445249, 0x20000000, 0x00000006}, + {0x4F455249, 0x20000000, 0x00000006}, + {0x50323241, 0x01000000, 0x00000002}, + {0x50323343, 0x04000000, 0x00000003}, + {0x50323542, 0x01000000, 0x00000001}, + {0x50323641, 0x04000000, 0x00000008}, + {0x50323643, 0x04000000, 0x00000001}, + {0x50323743, 0x00800000, 0x00000002}, + {0x50323842, 0x01000000, 0x00000001}, + {0x50324241, 0x02000000, 0x00000002}, + {0x50324242, 0x04000000, 0x00000002}, + {0x50324259, 0x04000000, 0x00000002}, + {0x50324341, 0x04000000, 0x00000001}, + {0x50324343, 0x01000000, 0x00000001}, + {0x50324354, 0x00800000, 0x00000001}, + {0x50324359, 0x00000000, 0x00000006}, + {0x50324441, 0x04000000, 0x00000005}, + {0x50324442, 0x01000000, 0x00000002}, + {0x50324459, 0x01000000, 0x00000003}, + {0x50324643, 0x01000000, 0x00000001}, + {0x50324741, 0x08000000, 0x00000001}, + {0x50324743, 0x02000000, 0x00000002}, + {0x50324759, 0x01000000, 0x00000001}, + {0x50324842, 0x02000000, 0x00000003}, + {0x50324854, 0x01000000, 0x00000001}, + {0x50324859, 0x02000000, 0x00000003}, + {0x50324941, 0x04000000, 0x00000002}, + {0x50324943, 0x00800000, 0x00000001}, + {0x50324959, 0x00800000, 0x00000001}, + {0x50324A41, 0x00800000, 0x00000008}, + {0x50324A42, 0x04000000, 0x00000001}, + {0x50324A43, 0x01000000, 0x00000002}, + {0x50324A56, 0x02000000, 0x00000001}, + {0x50324A59, 0x02000000, 0x00000002}, + {0x50324B43, 0x02000000, 0x00000001}, + {0x50324C41, 0x04000000, 0x00000002}, + {0x50324C59, 0x08000000, 0x00000003}, + {0x50325041, 0x02000000, 0x00000001}, + {0x50325042, 0x02000000, 0x00000001}, + {0x50325059, 0x04000000, 0x00000005}, + {0x50325141, 0x02000000, 0x00000002}, + {0x50325254, 0x02000000, 0x00000002}, + {0x50325259, 0x08000000, 0x00000003}, + {0x50325341, 0x01000000, 0x00000001}, + {0x50325359, 0x04000000, 0x00000005}, + {0x50325442, 0x04000000, 0x00000003}, + {0x50325459, 0x00800000, 0x00000001}, + {0x50325559, 0x01000000, 0x00000003}, + {0x50325642, 0x02000000, 0x00000001}, + {0x50325741, 0x02000000, 0x00000003}, + {0x50325759, 0x04000000, 0x00000005}, + {0x50325841, 0x00800000, 0x00000001}, + {0x50325842, 0x00800000, 0x00000001}, + {0x50325A43, 0x01000000, 0x00000003}, + {0x50333441, 0x01000000, 0x00000008}, + {0x50333543, 0x00800000, 0x00000001}, + {0x50333743, 0x00800000, 0x00000002}, + {0x50333842, 0x08000000, 0x00000001}, + {0x50334142, 0x04000000, 0x00000001}, + {0x50334159, 0x00800000, 0x00000001}, + {0x50334241, 0x04000000, 0x00000003}, + {0x50334242, 0x08000000, 0x00000001}, + {0x50334243, 0x02000000, 0x00000002}, + {0x50334259, 0x04000000, 0x00000005}, + {0x50334341, 0x04000000, 0x00000005}, + {0x50334342, 0x00800000, 0x00000001}, + {0x50334354, 0x04000000, 0x00000002}, + {0x50334441, 0x04000000, 0x00000005}, + {0x50334442, 0x04000000, 0x00000001}, + {0x50334444, 0x02000000, 0x00000001}, + {0x50334542, 0x04000000, 0x00000001}, + {0x50334641, 0x00800000, 0x00000001}, + {0x50334643, 0x01000000, 0x00000001}, + {0x50334659, 0x02000000, 0x00000002}, + {0x50334741, 0x04000000, 0x00000005}, + {0x50334743, 0x02000000, 0x00000002}, + {0x50334759, 0x02000000, 0x00000003}, + {0x50334841, 0x02000000, 0x00000003}, + {0x50334842, 0x02000000, 0x00000002}, + {0x50334941, 0x01000000, 0x00000002}, + {0x50334943, 0x04000000, 0x00000001}, + {0x50334959, 0x04000000, 0x00000002}, + {0x50334A43, 0x00800000, 0x00000001}, + {0x50334A54, 0x01000000, 0x00000001}, + {0x50334A56, 0x02000000, 0x00000001}, + {0x50334B41, 0x02000000, 0x00000002}, + {0x50334B59, 0x02000000, 0x00000003}, + {0x50334C41, 0x02000000, 0x00000001}, + {0x50334C43, 0x01000000, 0x00000001}, + {0x50334C59, 0x04000000, 0x00000002}, + {0x50334D43, 0x08000000, 0x00000003}, + {0x50334D54, 0x04000000, 0x00000001}, + {0x50334F41, 0x02000000, 0x00000001}, + {0x50335043, 0x08000000, 0x00000005}, + {0x50335059, 0x02000000, 0x00000008}, + {0x50335141, 0x04000000, 0x00000002}, + {0x50335154, 0x04000000, 0x00000001}, + {0x50335159, 0x04000000, 0x00000002}, + {0x50335341, 0x02000000, 0x00000001}, + {0x50335343, 0x04000000, 0x00000003}, + {0x50335359, 0x00800000, 0x00000001}, + {0x50335459, 0x04000000, 0x00000003}, + {0x50335543, 0x02000000, 0x00000001}, + {0x50335559, 0x02000000, 0x00000001}, + {0x50335741, 0x04000000, 0x00000001}, + {0x50335742, 0x08000000, 0x00000002}, + {0x50335759, 0x01000000, 0x00000001}, + {0x50335842, 0x00800000, 0x00000001}, + {0x50335941, 0x04000000, 0x00000002}, + {0x50343242, 0x00800000, 0x00000001}, + {0x50343243, 0x08000000, 0x00000003}, + {0x50343543, 0x02000000, 0x00000003}, + {0x50343559, 0x02000000, 0x00000008}, + {0x50343741, 0x04000000, 0x00000008}, + {0x50343743, 0x00800000, 0x00000002}, + {0x50344259, 0x02000000, 0x00000001}, + {0x50344341, 0x04000000, 0x00000001}, + {0x50344441, 0x02000000, 0x00000005}, + {0x50344443, 0x00800000, 0x00000001}, + {0x50344456, 0x04000000, 0x00000001}, + {0x50344643, 0x00800000, 0x00000001}, + {0x50344659, 0x08000000, 0x00000003}, + {0x50344759, 0x10000000, 0x00000003}, + {0x50344843, 0x04000000, 0x00000002}, + {0x50344943, 0x04000000, 0x00000002}, + {0x50344A42, 0x00800000, 0x00000001}, + {0x50344A43, 0x01000000, 0x00000001}, + {0x50344A56, 0x02000000, 0x00000001}, + {0x50344C41, 0x00800000, 0x00000001}, + {0x50344D41, 0x00800000, 0x00000002}, + {0x50344D42, 0x00000000, 0x00000002}, + {0x50344D43, 0x01000000, 0x00000003}, + {0x50344D56, 0x02000000, 0x00000002}, + {0x50344E41, 0x04000000, 0x00000001}, + {0x50345059, 0x04000000, 0x00000002}, + {0x50345141, 0x02000000, 0x00000001}, + {0x50345159, 0x00800000, 0x00000002}, + {0x50345242, 0x08000000, 0x00000003}, + {0x50345243, 0x04000000, 0x00000002}, + {0x50345341, 0x04000000, 0x00000003}, + {0x50345442, 0x01000000, 0x00000008}, + {0x50345443, 0x01000000, 0x00000001}, + {0x50345543, 0x02000000, 0x00000002}, + {0x50345659, 0x08000000, 0x00000003}, + {0x50345742, 0x02000000, 0x00000002}, + {0x50345759, 0x04000000, 0x00000003}, + {0x50345842, 0x00800000, 0x00000001}, + {0x50345A43, 0x04000000, 0x00000001}, + {0x50353441, 0x01000000, 0x00000008}, + {0x50353542, 0x00800000, 0x00000001}, + {0x50353643, 0x02000000, 0x00000001}, + {0x50353743, 0x00800000, 0x00000002}, + {0x50353841, 0x02000000, 0x00000008}, + {0x50353859, 0x00800000, 0x00000000}, + {0x50354142, 0x01000000, 0x00000001}, + {0x50354242, 0x00800000, 0x00000002}, + {0x50354259, 0x02000000, 0x00000002}, + {0x50354342, 0x04000000, 0x00000002}, + {0x50354359, 0x00800000, 0x00000008}, + {0x50354443, 0x02000000, 0x00000001}, + {0x50354642, 0x00800000, 0x00000002}, + {0x50354643, 0x00800000, 0x00000002}, + {0x50354741, 0x01000000, 0x00000001}, + {0x50354743, 0x04000000, 0x00000001}, + {0x50354841, 0x02000000, 0x00000002}, + {0x50354943, 0x01000000, 0x00000001}, + {0x50354A42, 0x02000000, 0x00000001}, + {0x50354A54, 0x01000000, 0x00000002}, + {0x50354A59, 0x08000000, 0x00000002}, + {0x50354B43, 0x04000000, 0x00000005}, + {0x50354C41, 0x04000000, 0x00000001}, + {0x50354D43, 0x04000000, 0x00000001}, + {0x50354F41, 0x02000000, 0x00000005}, + {0x50354F42, 0x10000000, 0x00000005}, + {0x50354F43, 0x04000000, 0x00000001}, + {0x50355043, 0x02000000, 0x00000001}, + {0x50355059, 0x01000000, 0x00000001}, + {0x50355141, 0x04000000, 0x00000001}, + {0x50355241, 0x02000000, 0x00000001}, + {0x50355242, 0x01000000, 0x00000002}, + {0x50355259, 0x02000000, 0x00000002}, + {0x50355341, 0x01000000, 0x00000001}, + {0x50355343, 0x04000000, 0x00000001}, + {0x50355359, 0x02000000, 0x00000001}, + {0x50355459, 0x00800000, 0x00000002}, + {0x50355541, 0x00800000, 0x00000001}, + {0x50355643, 0x02000000, 0x00000001}, + {0x50355659, 0x08000000, 0x00000003}, + {0x50355743, 0x00000000, 0x00000001}, + {0x50355759, 0x01000000, 0x00000001}, + {0x50355842, 0x00800000, 0x00000001}, + {0x50355941, 0x08000000, 0x00000003}, + {0x50363241, 0x01000000, 0x00000008}, + {0x50363242, 0x00800000, 0x00000002}, + {0x50363341, 0x04000000, 0x00000008}, + {0x50363442, 0x01000000, 0x00000001}, + {0x50363642, 0x01000000, 0x00000001}, + {0x50363742, 0x02000000, 0x00000001}, + {0x50363743, 0x02000000, 0x00000002}, + {0x50363842, 0x00800000, 0x00000001}, + {0x50363859, 0x00800000, 0x00000000}, + {0x50364241, 0x02000000, 0x00000001}, + {0x50364243, 0x02000000, 0x00000002}, + {0x50364254, 0x02000000, 0x00000001}, + {0x50364341, 0x01000000, 0x00000002}, + {0x50364542, 0x02000000, 0x00000002}, + {0x50364641, 0x02000000, 0x00000002}, + {0x50364642, 0x00800000, 0x00000001}, + {0x50364743, 0x08000000, 0x00000002}, + {0x50364759, 0x04000000, 0x00000002}, + {0x50364841, 0x02000000, 0x00000001}, + {0x50364843, 0x04000000, 0x00000001}, + {0x50364A56, 0x02000000, 0x00000001}, + {0x50364B41, 0x01000000, 0x00000001}, + {0x50364B59, 0x00800000, 0x00000008}, + {0x50364D41, 0x02000000, 0x00000005}, + {0x50364D43, 0x08000000, 0x00000002}, + {0x50364D54, 0x01000000, 0x00000001}, + {0x50364D59, 0x00800000, 0x00000001}, + {0x50364E41, 0x02000000, 0x00000001}, + {0x50365043, 0x00000000, 0x00000002}, + {0x50365059, 0x01000000, 0x00000001}, + {0x50365241, 0x01000000, 0x00000002}, + {0x50365242, 0x02000000, 0x00000002}, + {0x50365259, 0x02000000, 0x00000002}, + {0x50365342, 0x02000000, 0x00000001}, + {0x50365343, 0x04000000, 0x00000002}, + {0x50365359, 0x04000000, 0x00000005}, + {0x50365541, 0x00800000, 0x00000002}, + {0x50365559, 0x04000000, 0x00000002}, + {0x50365642, 0x01000000, 0x00000001}, + {0x50365643, 0x01000000, 0x00000001}, + {0x50365741, 0x00800000, 0x00000001}, + {0x50365743, 0x04000000, 0x00000002}, + {0x50365842, 0x00800000, 0x00000001}, + {0x50365941, 0x00800000, 0x00000005}, + {0x50365942, 0x01000000, 0x00000001}, + {0x50365A41, 0x01000000, 0x00000005}, + {0x50365A42, 0x04000000, 0x00000002}, + {0x50373241, 0x01000000, 0x00000008}, + {0x50373242, 0x00800000, 0x00000001}, + {0x50373243, 0x08000000, 0x00000003}, + {0x50373442, 0x01000000, 0x00000001}, + {0x50373541, 0x01000000, 0x00000008}, + {0x50373743, 0x02000000, 0x00000003}, + {0x50374143, 0x02000000, 0x00000002}, + {0x50374159, 0x02000000, 0x00000002}, + {0x50374241, 0x00800000, 0x00000001}, + {0x50374242, 0x04000000, 0x00000002}, + {0x50374243, 0x02000000, 0x00000002}, + {0x50374259, 0x04000000, 0x00000002}, + {0x50374341, 0x00800000, 0x00000002}, + {0x50374441, 0x04000000, 0x00000005}, + {0x50374443, 0x01000000, 0x00000001}, + {0x50374542, 0x04000000, 0x00000002}, + {0x50374641, 0x02000000, 0x00000002}, + {0x50374642, 0x00800000, 0x00000001}, + {0x50374659, 0x01000000, 0x00000002}, + {0x50374741, 0x04000000, 0x00000002}, + {0x50374943, 0x04000000, 0x00000002}, + {0x50374A42, 0x00800000, 0x00000001}, + {0x50374C41, 0x02000000, 0x00000001}, + {0x50374C43, 0x01000000, 0x00000002}, + {0x50374D54, 0x04000000, 0x00000002}, + {0x50374D59, 0x04000000, 0x00000002}, + {0x50374E41, 0x02000000, 0x00000002}, + {0x50374E43, 0x01000000, 0x00000002}, + {0x50375141, 0x00800000, 0x00000002}, + {0x50375143, 0x04000000, 0x00000001}, + {0x50375241, 0x08000000, 0x00000002}, + {0x50375259, 0x04000000, 0x00000002}, + {0x50375359, 0x02000000, 0x00000001}, + {0x50375443, 0x00800000, 0x00000002}, + {0x50375459, 0x04000000, 0x00000002}, + {0x50375541, 0x02000000, 0x00000002}, + {0x50375542, 0x08000000, 0x00000001}, + {0x50375643, 0x00800000, 0x00000001}, + {0x50375941, 0x08000000, 0x00000005}, + {0x50375942, 0x00800000, 0x00000001}, + {0x50375943, 0x04000000, 0x00000002}, + {0x50383242, 0x04000000, 0x00000001}, + {0x50383259, 0x02000000, 0x00000008}, + {0x50383342, 0x01000000, 0x00000001}, + {0x50383343, 0x04000000, 0x00000005}, + {0x50383541, 0x02000000, 0x00000008}, + {0x50383542, 0x01000000, 0x00000001}, + {0x50383543, 0x04000000, 0x00000001}, + {0x50383642, 0x00800000, 0x00000001}, + {0x50384149, 0x04000000, 0x00000005}, + {0x50384159, 0x01000000, 0x00000002}, + {0x50384241, 0x02000000, 0x00000001}, + {0x50384243, 0x02000000, 0x00000001}, + {0x50384359, 0x01000000, 0x00000002}, + {0x50384443, 0x02000000, 0x00000002}, + {0x50384642, 0x00800000, 0x00000001}, + {0x50384643, 0x04000000, 0x00000002}, + {0x50384659, 0x02000000, 0x00000003}, + {0x50384741, 0x04000000, 0x00000003}, + {0x50384759, 0x08000000, 0x00000005}, + {0x50384841, 0x02000000, 0x00000001}, + {0x50384843, 0x02000000, 0x00000001}, + {0x50384941, 0x02000000, 0x00000002}, + {0x50384A42, 0x04000000, 0x00000002}, + {0x50384C41, 0x04000000, 0x00000001}, + {0x50384C43, 0x04000000, 0x00000002}, + {0x50384D41, 0x01000000, 0x00000001}, + {0x50384D42, 0x04000000, 0x00000001}, + {0x50384D43, 0x02000000, 0x00000002}, + {0x50384E41, 0x00800000, 0x00000001}, + {0x50384F41, 0x04000000, 0x00000003}, + {0x50384F59, 0x08000000, 0x00000003}, + {0x50385043, 0x02000000, 0x00000002}, + {0x50385059, 0x01000000, 0x00000001}, + {0x50385141, 0x00800000, 0x00000002}, + {0x50385143, 0x01000000, 0x00000001}, + {0x50385243, 0x04000000, 0x00000002}, + {0x50385259, 0x02000000, 0x00000002}, + {0x50385342, 0x04000000, 0x00000002}, + {0x50385343, 0x04000000, 0x00000003}, + {0x50385359, 0x04000000, 0x00000001}, + {0x50385442, 0x08000000, 0x00000001}, + {0x50385459, 0x02000000, 0x00000002}, + {0x50385542, 0x04000000, 0x00000001}, + {0x50385543, 0x00800000, 0x00000001}, + {0x50385642, 0x01000000, 0x00000002}, + {0x50385643, 0x04000000, 0x00000002}, + {0x50385741, 0x04000000, 0x00000001}, + {0x50385742, 0x01000000, 0x00000001}, + {0x50385759, 0x08000000, 0x00000005}, + {0x50385859, 0x08000000, 0x00000001}, + {0x50385942, 0x00800000, 0x00000001}, + {0x50385943, 0x10000000, 0x00000003}, + {0x50385A42, 0x01000000, 0x00000001}, + {0x50393241, 0x00800000, 0x00000008}, + {0x50393343, 0x02000000, 0x00000002}, + {0x50393442, 0x04000000, 0x00000001}, + {0x50393443, 0x04000000, 0x00000005}, + {0x50393459, 0x04000000, 0x00000008}, + {0x50393642, 0x01000000, 0x00000001}, + {0x50393643, 0x04000000, 0x00000002}, + {0x50393741, 0x02000000, 0x00000008}, + {0x50393742, 0x02000000, 0x00000001}, + {0x50394159, 0x00800000, 0x00000001}, + {0x50394241, 0x01000000, 0x00000001}, + {0x50394242, 0x02000000, 0x00000001}, + {0x50394243, 0x08000000, 0x00000005}, + {0x50394259, 0x02000000, 0x00000003}, + {0x50394341, 0x04000000, 0x00000001}, + {0x50394441, 0x04000000, 0x00000003}, + {0x50394442, 0x00800000, 0x00000002}, + {0x50394542, 0x04000000, 0x00000002}, + {0x50394543, 0x01000000, 0x00000003}, + {0x50394641, 0x00800000, 0x00000001}, + {0x50394642, 0x00800000, 0x00000001}, + {0x50394643, 0x02000000, 0x00000003}, + {0x50394659, 0x02000000, 0x00000001}, + {0x50394841, 0x04000000, 0x00000005}, + {0x50394943, 0x01000000, 0x00000002}, + {0x50394A59, 0x00800000, 0x00000005}, + {0x50394B42, 0x10000000, 0x00000003}, + {0x50394C42, 0x08000000, 0x00000001}, + {0x50394D41, 0x01000000, 0x00000002}, + {0x50394D43, 0x01000000, 0x00000001}, + {0x50394D59, 0x01000000, 0x00000001}, + {0x50394E41, 0x01000000, 0x00000001}, + {0x50395042, 0x04000000, 0x00000002}, + {0x50395141, 0x04000000, 0x00000001}, + {0x50395242, 0x01000000, 0x00000001}, + {0x50395259, 0x04000000, 0x00000002}, + {0x50395341, 0x02000000, 0x00000001}, + {0x50395343, 0x00000000, 0x00000001}, + {0x50395442, 0x00800000, 0x00000001}, + {0x50395459, 0x04000000, 0x00000003}, + {0x50395542, 0x04000000, 0x00000001}, + {0x50395642, 0x01000000, 0x00000001}, + {0x50395643, 0x01000000, 0x00000001}, + {0x50395742, 0x08000000, 0x00000002}, + {0x50395759, 0x08000000, 0x00000001}, + {0x50395941, 0x08000000, 0x00000003}, + {0x50395943, 0x04000000, 0x00000001}, + {0x50413342, 0x02000000, 0x00000001}, + {0x50413459, 0x04000000, 0x00000008}, + {0x50413541, 0x04000000, 0x00000001}, + {0x50413542, 0x00800000, 0x00000001}, + {0x50413543, 0x02000000, 0x00000002}, + {0x50413641, 0x02000000, 0x00000005}, + {0x50413741, 0x02000000, 0x00000001}, + {0x50413742, 0x00800000, 0x00000001}, + {0x50413842, 0x02000000, 0x00000001}, + {0x50413859, 0x04000000, 0x00000000}, + {0x50414159, 0x04000000, 0x00000002}, + {0x50414241, 0x02000000, 0x00000001}, + {0x50414254, 0x01000000, 0x00000001}, + {0x50414259, 0x02000000, 0x00000002}, + {0x50414341, 0x00800000, 0x00000001}, + {0x50414342, 0x01000000, 0x00000002}, + {0x50414443, 0x04000000, 0x00000002}, + {0x50414541, 0x08000000, 0x00000001}, + {0x50414642, 0x00000000, 0x00000003}, + {0x50414643, 0x08000000, 0x00000002}, + {0x50414754, 0x01000000, 0x00000001}, + {0x50414759, 0x01000000, 0x00000001}, + {0x50414941, 0x04000000, 0x00000001}, + {0x50414A54, 0x00800000, 0x00000001}, + {0x50414B41, 0x08000000, 0x00000005}, + {0x50414B43, 0x04000000, 0x00000002}, + {0x50414C54, 0x00800000, 0x00000001}, + {0x50414C59, 0x00800000, 0x00000002}, + {0x50414D54, 0x00800000, 0x00000001}, + {0x50414E42, 0x02000000, 0x00000001}, + {0x50414E43, 0x02000000, 0x00000001}, + {0x50414F42, 0x04000000, 0x00000001}, + {0x50415042, 0x02000000, 0x00000002}, + {0x50415043, 0x02000000, 0x00000001}, + {0x50415054, 0x02000000, 0x00000001}, + {0x50415141, 0x02000000, 0x00000001}, + {0x50415241, 0x02000000, 0x00000001}, + {0x50415243, 0x00800000, 0x00000001}, + {0x50415254, 0x00800000, 0x00000001}, + {0x50415343, 0x01000000, 0x00000001}, + {0x50415443, 0x04000000, 0x00000001}, + {0x50415543, 0x04000000, 0x00000001}, + {0x50415641, 0x04000000, 0x00000002}, + {0x50415642, 0x00800000, 0x00000001}, + {0x50415741, 0x04000000, 0x00000002}, + {0x50415742, 0x02000000, 0x00000002}, + {0x50415743, 0x00800000, 0x00000001}, + {0x50415941, 0x02000000, 0x00000002}, + {0x50415A42, 0x08000000, 0x00000001}, + {0x50415A43, 0x02000000, 0x00000002}, + {0x50423342, 0x04000000, 0x00000001}, + {0x50423343, 0x00800000, 0x00000001}, + {0x50423442, 0x04000000, 0x00000002}, + {0x50423443, 0x02000000, 0x00000003}, + {0x50423542, 0x04000000, 0x00000002}, + {0x50423543, 0x01000000, 0x00000003}, + {0x50423641, 0x02000000, 0x00000005}, + {0x50423642, 0x04000000, 0x00000001}, + {0x50423643, 0x02000000, 0x00000002}, + {0x50423741, 0x01000000, 0x00000001}, + {0x50423841, 0x00800000, 0x00000002}, + {0x50423842, 0x01000000, 0x00000002}, + {0x50423959, 0x08000000, 0x00000000}, + {0x50424142, 0x01000000, 0x00000002}, + {0x50424243, 0x01000000, 0x00000002}, + {0x50424259, 0x02000000, 0x00000001}, + {0x50424341, 0x04000000, 0x00000003}, + {0x50424354, 0x08000000, 0x00000001}, + {0x50424441, 0x04000000, 0x00000002}, + {0x50424442, 0x04000000, 0x00000002}, + {0x50424443, 0x04000000, 0x00000001}, + {0x50424542, 0x10000000, 0x00000003}, + {0x50424641, 0x00800000, 0x00000001}, + {0x50424642, 0x01000000, 0x00000002}, + {0x50424654, 0x01000000, 0x00000001}, + {0x50424742, 0x00800000, 0x00000002}, + {0x50424841, 0x02000000, 0x00000002}, + {0x50424842, 0x00800000, 0x00000001}, + {0x50424942, 0x01000000, 0x00000003}, + {0x50424959, 0x02000000, 0x00000001}, + {0x50424A42, 0x04000000, 0x00000001}, + {0x50424A59, 0x04000000, 0x00000001}, + {0x50424B41, 0x04000000, 0x00000003}, + {0x50424C42, 0x04000000, 0x00000002}, + {0x50424C43, 0x08000000, 0x00000003}, + {0x50424E43, 0x04000000, 0x00000003}, + {0x50425054, 0x00800000, 0x00000002}, + {0x50425141, 0x02000000, 0x00000001}, + {0x50425159, 0x00800000, 0x00000001}, + {0x50425241, 0x02000000, 0x00000001}, + {0x50425341, 0x04000000, 0x00000002}, + {0x50425343, 0x01000000, 0x00000002}, + {0x50425359, 0x02000000, 0x00000002}, + {0x50425442, 0x04000000, 0x00000002}, + {0x50425543, 0x04000000, 0x00000003}, + {0x50425559, 0x04000000, 0x00000002}, + {0x50425741, 0x00800000, 0x00000001}, + {0x50425742, 0x04000000, 0x00000002}, + {0x50425743, 0x00800000, 0x00000001}, + {0x50425759, 0x02000000, 0x00000002}, + {0x50425855, 0x08000000, 0x00000008}, + {0x50425942, 0x01000000, 0x00000001}, + {0x50425943, 0x04000000, 0x00000001}, + {0x50425959, 0x08000000, 0x00000005}, + {0x50425A41, 0x00800000, 0x00000001}, + {0x50433342, 0x04000000, 0x00000002}, + {0x50433441, 0x02000000, 0x00000003}, + {0x50433459, 0x08000000, 0x00000008}, + {0x50433543, 0x01000000, 0x00000003}, + {0x50433641, 0x02000000, 0x00000005}, + {0x50433643, 0x10000000, 0x00000005}, + {0x50433741, 0x01000000, 0x00000001}, + {0x50433742, 0x00800000, 0x00000002}, + {0x50433841, 0x02000000, 0x00000002}, + {0x50433859, 0x00800000, 0x00000008}, + {0x50434241, 0x04000000, 0x00000005}, + {0x50434259, 0x02000000, 0x00000002}, + {0x50434341, 0x02000000, 0x00000001}, + {0x50434342, 0x04000000, 0x00000002}, + {0x50434354, 0x00800000, 0x00000001}, + {0x50434441, 0x02000000, 0x00000001}, + {0x50434443, 0x04000000, 0x00000003}, + {0x50434541, 0x04000000, 0x00000001}, + {0x50434543, 0x04000000, 0x00000002}, + {0x50434559, 0x02000000, 0x00000001}, + {0x50434641, 0x00800000, 0x00000001}, + {0x50434659, 0x08000000, 0x00000002}, + {0x50434741, 0x04000000, 0x00000003}, + {0x50434742, 0x00800000, 0x00000001}, + {0x50434759, 0x02000000, 0x00000002}, + {0x50434859, 0x00800000, 0x00000001}, + {0x50434941, 0x01000000, 0x00000001}, + {0x50434943, 0x04000000, 0x00000003}, + {0x50434956, 0x08000000, 0x00000002}, + {0x50434A42, 0x04000000, 0x00000002}, + {0x50434A43, 0x04000000, 0x00000002}, + {0x50434A59, 0x04000000, 0x00000002}, + {0x50434C41, 0x01000000, 0x00000008}, + {0x50434C42, 0x04000000, 0x00000002}, + {0x50434C43, 0x02000000, 0x00000001}, + {0x50434D41, 0x02000000, 0x00000005}, + {0x50434D42, 0x01000000, 0x00000001}, + {0x50434D54, 0x04000000, 0x00000003}, + {0x50435041, 0x01000000, 0x00000001}, + {0x50435043, 0x00800000, 0x00000002}, + {0x50435159, 0x01000000, 0x00000001}, + {0x50435242, 0x04000000, 0x00000003}, + {0x50435243, 0x02000000, 0x00000001}, + {0x50435254, 0x04000000, 0x00000001}, + {0x50435341, 0x04000000, 0x00000002}, + {0x50435343, 0x08000000, 0x00000001}, + {0x50435441, 0x04000000, 0x00000005}, + {0x50435442, 0x01000000, 0x00000001}, + {0x50435641, 0x04000000, 0x00000005}, + {0x50435642, 0x00800000, 0x00000001}, + {0x50435759, 0x02000000, 0x00000002}, + {0x50435842, 0x01000000, 0x00000001}, + {0x50435943, 0x02000000, 0x00000002}, + {0x50435959, 0x04000000, 0x00000001}, + {0x50443241, 0x02000000, 0x00000002}, + {0x50443242, 0x02000000, 0x00000002}, + {0x50443343, 0x01000000, 0x00000001}, + {0x50443442, 0x01000000, 0x00000001}, + {0x50443741, 0x01000000, 0x00000001}, + {0x50443841, 0x04000000, 0x00000002}, + {0x50444154, 0x08000000, 0x00000005}, + {0x50444156, 0x02000000, 0x00000001}, + {0x50444159, 0x01000000, 0x00000001}, + {0x50444343, 0x00000000, 0x00000003}, + {0x50444354, 0x02000000, 0x00000001}, + {0x50444441, 0x01000000, 0x00000001}, + {0x50444442, 0x01000000, 0x00000001}, + {0x50444454, 0x00800000, 0x00000001}, + {0x50444459, 0x01000000, 0x00000001}, + {0x50444541, 0x00800000, 0x00000001}, + {0x50444559, 0x00800000, 0x00000001}, + {0x50444641, 0x04000000, 0x00000002}, + {0x50444643, 0x08000000, 0x00000002}, + {0x50444743, 0x01000000, 0x00000001}, + {0x50444759, 0x00800000, 0x00000002}, + {0x50444841, 0x04000000, 0x00000002}, + {0x50444842, 0x04000000, 0x00000001}, + {0x50444859, 0x04000000, 0x00000001}, + {0x50444943, 0x02000000, 0x00000003}, + {0x50444A54, 0x01000000, 0x00000001}, + {0x50444A59, 0x02000000, 0x00000002}, + {0x50444B41, 0x02000000, 0x00000002}, + {0x50444C41, 0x04000000, 0x00000003}, + {0x50444C42, 0x04000000, 0x00000002}, + {0x50444C54, 0x02000000, 0x00000001}, + {0x50444C59, 0x04000000, 0x00000005}, + {0x50444D42, 0x00000000, 0x00000001}, + {0x50444D43, 0x02000000, 0x00000005}, + {0x50444D54, 0x04000000, 0x00000002}, + {0x50444E41, 0x01000000, 0x00000005}, + {0x50444E42, 0x02000000, 0x00000001}, + {0x50444E43, 0x04000000, 0x00000002}, + {0x50445041, 0x02000000, 0x00000002}, + {0x50445042, 0x04000000, 0x00000002}, + {0x50445043, 0x02000000, 0x00000001}, + {0x50445054, 0x08000000, 0x00000001}, + {0x50445059, 0x04000000, 0x00000003}, + {0x50445241, 0x02000000, 0x00000001}, + {0x50445243, 0x01000000, 0x00000001}, + {0x50445259, 0x02000000, 0x00000001}, + {0x50445341, 0x01000000, 0x00000001}, + {0x50445343, 0x02000000, 0x00000001}, + {0x50445441, 0x01000000, 0x00000002}, + {0x50445442, 0x01000000, 0x00000001}, + {0x50445443, 0x04000000, 0x00000002}, + {0x50445641, 0x01000000, 0x00000002}, + {0x50445643, 0x00800000, 0x00000001}, + {0x50445741, 0x02000000, 0x00000005}, + {0x50445743, 0x02000000, 0x00000003}, + {0x50445759, 0x01000000, 0x00000002}, + {0x50445A42, 0x08000000, 0x00000001}, + {0x50453242, 0x00800000, 0x00000001}, + {0x50453341, 0x00800000, 0x00000002}, + {0x50453442, 0x01000000, 0x00000001}, + {0x50453642, 0x02000000, 0x00000001}, + {0x50453643, 0x00800000, 0x00000002}, + {0x50453741, 0x02000000, 0x00000001}, + {0x50454156, 0x02000000, 0x00000001}, + {0x50454254, 0x04000000, 0x00000001}, + {0x50454342, 0x02000000, 0x00000002}, + {0x50454343, 0x00000000, 0x00000005}, + {0x50454359, 0x02000000, 0x00000002}, + {0x50454442, 0x04000000, 0x00000002}, + {0x50454443, 0x00800000, 0x00000001}, + {0x50454542, 0x10000000, 0x00000003}, + {0x50454559, 0x10000000, 0x00000003}, + {0x50454641, 0x04000000, 0x00000003}, + {0x50454659, 0x04000000, 0x00000005}, + {0x50454741, 0x01000000, 0x00000001}, + {0x50454742, 0x04000000, 0x00000001}, + {0x50454841, 0x08000000, 0x00000005}, + {0x50454843, 0x02000000, 0x00000002}, + {0x50454854, 0x01000000, 0x00000001}, + {0x50454A59, 0x01000000, 0x00000001}, + {0x50454B42, 0x04000000, 0x00000002}, + {0x50454C43, 0x02000000, 0x00000001}, + {0x50454C54, 0x02000000, 0x00000001}, + {0x50454C59, 0x02000000, 0x00000001}, + {0x50454D56, 0x02000000, 0x00000001}, + {0x50454F59, 0x01000000, 0x00000005}, + {0x50455141, 0x00800000, 0x00000002}, + {0x50455143, 0x04000000, 0x00000002}, + {0x50455241, 0x04000000, 0x00000001}, + {0x50455341, 0x08000000, 0x00000002}, + {0x50455443, 0x00800000, 0x00000001}, + {0x50455459, 0x02000000, 0x00000003}, + {0x50455542, 0x02000000, 0x00000001}, + {0x50455543, 0x01000000, 0x00000002}, + {0x50455641, 0x01000000, 0x00000001}, + {0x50455642, 0x00800000, 0x00000002}, + {0x50455741, 0x04000000, 0x00000005}, + {0x50455743, 0x01000000, 0x00000002}, + {0x50455842, 0x04000000, 0x00000001}, + {0x50455942, 0x02000000, 0x00000001}, + {0x50455959, 0x00000000, 0x00000002}, + {0x50455A41, 0x08000000, 0x00000006}, + {0x50463259, 0x04000000, 0x00000008}, + {0x50463342, 0x00800000, 0x00000001}, + {0x50463343, 0x00000000, 0x00000002}, + {0x50463541, 0x08000000, 0x00000002}, + {0x50463641, 0x08000000, 0x00000003}, + {0x50463642, 0x08000000, 0x00000001}, + {0x50463741, 0x02000000, 0x00000001}, + {0x50463743, 0x01000000, 0x00000003}, + {0x50464156, 0x02000000, 0x00000001}, + {0x50464159, 0x02000000, 0x00000002}, + {0x50464243, 0x00000000, 0x00000003}, + {0x50464341, 0x04000000, 0x00000002}, + {0x50464342, 0x01000000, 0x00000002}, + {0x50464343, 0x00800000, 0x00000001}, + {0x50464354, 0x04000000, 0x00000002}, + {0x50464441, 0x01000000, 0x00000001}, + {0x50464443, 0x04000000, 0x00000002}, + {0x50464542, 0x00800000, 0x00000001}, + {0x50464543, 0x01000000, 0x00000001}, + {0x50464641, 0x08000000, 0x00000003}, + {0x50464643, 0x00800000, 0x00000005}, + {0x50464741, 0x04000000, 0x00000002}, + {0x50464743, 0x00800000, 0x00000001}, + {0x50464759, 0x01000000, 0x00000001}, + {0x50464841, 0x02000000, 0x00000001}, + {0x50464843, 0x02000000, 0x00000002}, + {0x50464859, 0x00800000, 0x00000002}, + {0x50464943, 0x02000000, 0x00000001}, + {0x50464959, 0x04000000, 0x00000002}, + {0x50464A59, 0x08000000, 0x00000002}, + {0x50464B43, 0x02000000, 0x00000001}, + {0x50464B59, 0x02000000, 0x00000001}, + {0x50464C42, 0x10000000, 0x00000003}, + {0x50464C43, 0x02000000, 0x00000001}, + {0x50464C54, 0x01000000, 0x00000001}, + {0x50464C59, 0x04000000, 0x00000001}, + {0x50464D41, 0x01000000, 0x00000001}, + {0x50464D42, 0x02000000, 0x00000002}, + {0x50464D59, 0x04000000, 0x00000003}, + {0x50464E41, 0x02000000, 0x00000005}, + {0x50464F41, 0x01000000, 0x00000001}, + {0x50465042, 0x04000000, 0x00000002}, + {0x50465054, 0x02000000, 0x00000001}, + {0x50465159, 0x02000000, 0x00000002}, + {0x50465241, 0x08000000, 0x00000003}, + {0x50465242, 0x08000000, 0x00000003}, + {0x50465243, 0x02000000, 0x00000002}, + {0x50465259, 0x02000000, 0x00000002}, + {0x50465341, 0x04000000, 0x00000005}, + {0x50465342, 0x02000000, 0x00000001}, + {0x50465359, 0x04000000, 0x00000001}, + {0x50465441, 0x01000000, 0x00000001}, + {0x50465443, 0x08000000, 0x00000001}, + {0x50465541, 0x04000000, 0x00000002}, + {0x50465543, 0x01000000, 0x00000001}, + {0x50465643, 0x01000000, 0x00000001}, + {0x50465659, 0x02000000, 0x00000001}, + {0x50465743, 0x02000000, 0x00000002}, + {0x50465841, 0x08000000, 0x00000003}, + {0x50465842, 0x04000000, 0x00000001}, + {0x50465943, 0x08000000, 0x00000003}, + {0x50465956, 0x02000000, 0x00000001}, + {0x50465A42, 0x04000000, 0x00000001}, + {0x50473241, 0x02000000, 0x00000003}, + {0x50473459, 0x01000000, 0x00000008}, + {0x50473559, 0x01000000, 0x00000002}, + {0x50473642, 0x01000000, 0x00000001}, + {0x50473742, 0x00800000, 0x00000001}, + {0x50473743, 0x01000000, 0x00000001}, + {0x50473759, 0x08000000, 0x00000008}, + {0x50474142, 0x01000000, 0x00000001}, + {0x50474143, 0x02000000, 0x00000001}, + {0x50474159, 0x04000000, 0x00000001}, + {0x50474243, 0x02000000, 0x00000005}, + {0x50474254, 0x00800000, 0x00000001}, + {0x50474259, 0x00800000, 0x00000001}, + {0x50474354, 0x04000000, 0x00000001}, + {0x50474441, 0x04000000, 0x00000005}, + {0x50474443, 0x04000000, 0x00000006}, + {0x50474541, 0x04000000, 0x00000001}, + {0x50474542, 0x00800000, 0x00000001}, + {0x50474641, 0x04000000, 0x00000001}, + {0x50474659, 0x01000000, 0x00000001}, + {0x50474742, 0x02000000, 0x00000005}, + {0x50474754, 0x00800000, 0x00000001}, + {0x50474842, 0x02000000, 0x00000001}, + {0x50474942, 0x02000000, 0x00000001}, + {0x50474959, 0x02000000, 0x00000001}, + {0x50474B41, 0x02000000, 0x00000002}, + {0x50474B59, 0x10000000, 0x00000003}, + {0x50474C59, 0x04000000, 0x00000001}, + {0x50474D41, 0x01000000, 0x00000001}, + {0x50474D42, 0x02000000, 0x00000001}, + {0x50474D43, 0x04000000, 0x00000001}, + {0x50474D54, 0x04000000, 0x00000002}, + {0x50474E41, 0x08000000, 0x00000005}, + {0x50474E59, 0x08000000, 0x00000003}, + {0x50474F41, 0x00800000, 0x00000001}, + {0x50474F59, 0x08000000, 0x00000003}, + {0x50475041, 0x01000000, 0x00000001}, + {0x50475059, 0x04000000, 0x00000002}, + {0x50475241, 0x02000000, 0x00000005}, + {0x50475243, 0x01000000, 0x00000001}, + {0x50475541, 0x02000000, 0x00000002}, + {0x50475543, 0x02000000, 0x00000002}, + {0x50475842, 0x04000000, 0x00000002}, + {0x50475843, 0x00800000, 0x00000001}, + {0x50475941, 0x04000000, 0x00000002}, + {0x50475956, 0x04000000, 0x00000001}, + {0x50483241, 0x02000000, 0x00000005}, + {0x50483243, 0x02000000, 0x00000002}, + {0x50483341, 0x02000000, 0x00000001}, + {0x50483343, 0x00800000, 0x00000001}, + {0x50483442, 0x02000000, 0x00000001}, + {0x50483741, 0x02000000, 0x00000001}, + {0x50483742, 0x04000000, 0x00000002}, + {0x50483842, 0x04000000, 0x00000002}, + {0x50484159, 0x04000000, 0x00000002}, + {0x50484241, 0x08000000, 0x00000002}, + {0x50484259, 0x02000000, 0x00000002}, + {0x50484341, 0x04000000, 0x00000005}, + {0x50484342, 0x00800000, 0x00000001}, + {0x50484442, 0x02000000, 0x00000002}, + {0x50484459, 0x02000000, 0x00000005}, + {0x50484541, 0x04000000, 0x00000002}, + {0x50484542, 0x01000000, 0x00000002}, + {0x50484559, 0x04000000, 0x00000001}, + {0x50484643, 0x04000000, 0x00000003}, + {0x50484659, 0x04000000, 0x00000002}, + {0x50484742, 0x10000000, 0x00000001}, + {0x50484743, 0x02000000, 0x00000002}, + {0x50484759, 0x08000000, 0x00000001}, + {0x50484841, 0x04000000, 0x00000001}, + {0x50484842, 0x01000000, 0x00000001}, + {0x50484943, 0x04000000, 0x00000002}, + {0x50484959, 0x02000000, 0x00000002}, + {0x50484A42, 0x01000000, 0x00000001}, + {0x50484B43, 0x02000000, 0x00000002}, + {0x50484B56, 0x02000000, 0x00000002}, + {0x50484C41, 0x02000000, 0x00000001}, + {0x50484C42, 0x08000000, 0x00000001}, + {0x50484C54, 0x01000000, 0x00000001}, + {0x50484D41, 0x04000000, 0x00000005}, + {0x50484D42, 0x04000000, 0x00000001}, + {0x50484D54, 0x00800000, 0x00000001}, + {0x50484E41, 0x08000000, 0x00000006}, + {0x50484E43, 0x04000000, 0x00000002}, + {0x50485041, 0x02000000, 0x00000005}, + {0x50485043, 0x04000000, 0x00000001}, + {0x50485243, 0x02000000, 0x00000002}, + {0x50485254, 0x02000000, 0x00000001}, + {0x50485341, 0x02000000, 0x00000002}, + {0x50485441, 0x04000000, 0x00000001}, + {0x50485641, 0x04000000, 0x00000002}, + {0x50485643, 0x04000000, 0x00000002}, + {0x50485741, 0x01000000, 0x00000001}, + {0x50485759, 0x01000000, 0x00000001}, + {0x50485843, 0x02000000, 0x00000001}, + {0x50485959, 0x04000000, 0x00000001}, + {0x50485A42, 0x01000000, 0x00000001}, + {0x50485A59, 0x04000000, 0x00000001}, + {0x50493241, 0x02000000, 0x00000005}, + {0x50493242, 0x04000000, 0x00000001}, + {0x50493341, 0x08000000, 0x00000002}, + {0x50493441, 0x04000000, 0x00000001}, + {0x50493642, 0x04000000, 0x00000002}, + {0x50493741, 0x02000000, 0x00000001}, + {0x50493742, 0x02000000, 0x00000001}, + {0x50493842, 0x04000000, 0x00000001}, + {0x50494159, 0x04000000, 0x00000001}, + {0x50494341, 0x02000000, 0x00000002}, + {0x50494342, 0x02000000, 0x00000002}, + {0x50494359, 0x01000000, 0x00000001}, + {0x50494442, 0x04000000, 0x00000001}, + {0x50494443, 0x02000000, 0x00000001}, + {0x50494542, 0x01000000, 0x00000001}, + {0x50494641, 0x02000000, 0x00000002}, + {0x50494643, 0x08000000, 0x00000003}, + {0x50494659, 0x04000000, 0x00000001}, + {0x50494742, 0x04000000, 0x00000001}, + {0x50494759, 0x00800000, 0x00000002}, + {0x50494842, 0x04000000, 0x00000002}, + {0x50494959, 0x00800000, 0x00000001}, + {0x50494A43, 0x02000000, 0x00000002}, + {0x50494B42, 0x08000000, 0x00000007}, + {0x50494C43, 0x04000000, 0x00000001}, + {0x50494C56, 0x02000000, 0x00000001}, + {0x50494C59, 0x04000000, 0x00000002}, + {0x50494D43, 0x00800000, 0x00000001}, + {0x50494E41, 0x08000000, 0x00000005}, + {0x50494E42, 0x02000000, 0x00000001}, + {0x50494E43, 0x04000000, 0x00000001}, + {0x50494E59, 0x08000000, 0x00000002}, + {0x50494F42, 0x02000000, 0x00000002}, + {0x50495042, 0x00800000, 0x00000001}, + {0x50495043, 0x01000000, 0x00000002}, + {0x50495056, 0x02000000, 0x00000002}, + {0x50495059, 0x02000000, 0x00000003}, + {0x50495141, 0x02000000, 0x00000005}, + {0x50495241, 0x01000000, 0x00000001}, + {0x50495243, 0x02000000, 0x00000002}, + {0x50495259, 0x04000000, 0x00000002}, + {0x50495341, 0x02000000, 0x00000002}, + {0x50495342, 0x04000000, 0x00000001}, + {0x50495441, 0x01000000, 0x00000008}, + {0x50495442, 0x01000000, 0x00000001}, + {0x50495456, 0x02000000, 0x00000001}, + {0x50495541, 0x02000000, 0x00000001}, + {0x50495543, 0x02000000, 0x00000002}, + {0x50495559, 0x04000000, 0x00000002}, + {0x50495641, 0x04000000, 0x00000001}, + {0x50495659, 0x08000000, 0x00000003}, + {0x50495741, 0x08000000, 0x00000005}, + {0x50495742, 0x01000000, 0x00000002}, + {0x50495941, 0x01000000, 0x00000001}, + {0x50495A41, 0x00800000, 0x00000002}, + {0x504A3259, 0x04000000, 0x00000008}, + {0x504A3343, 0x10000000, 0x00000003}, + {0x504A3356, 0x04000000, 0x00000001}, + {0x504A3442, 0x00800000, 0x00000001}, + {0x504A3542, 0x01000000, 0x00000001}, + {0x504A3642, 0x00800000, 0x00000001}, + {0x504A3742, 0x01000000, 0x00000001}, + {0x504A4241, 0x04000000, 0x00000005}, + {0x504A4243, 0x08000000, 0x00000003}, + {0x504A4259, 0x00800000, 0x00000001}, + {0x504A4341, 0x04000000, 0x00000001}, + {0x504A4343, 0x04000000, 0x00000002}, + {0x504A4359, 0x02000000, 0x00000005}, + {0x504A4559, 0x01000000, 0x00000002}, + {0x504A4643, 0x02000000, 0x00000002}, + {0x504A4743, 0x02000000, 0x00000002}, + {0x504A4759, 0x02000000, 0x00000001}, + {0x504A4841, 0x01000000, 0x00000002}, + {0x504A4943, 0x00800000, 0x00000001}, + {0x504A4959, 0x00000000, 0x00000002}, + {0x504A4A43, 0x00800000, 0x00000002}, + {0x504A4B43, 0x02000000, 0x00000001}, + {0x504A4C41, 0x01000000, 0x00000001}, + {0x504A4C42, 0x04000000, 0x00000001}, + {0x504A4C43, 0x08000000, 0x00000002}, + {0x504A4C54, 0x08000000, 0x00000002}, + {0x504A4C59, 0x04000000, 0x00000001}, + {0x504A4D43, 0x01000000, 0x00000002}, + {0x504A4D59, 0x04000000, 0x00000001}, + {0x504A4E41, 0x02000000, 0x00000001}, + {0x504A4E42, 0x01000000, 0x00000001}, + {0x504A4E43, 0x02000000, 0x00000001}, + {0x504A4E59, 0x02000000, 0x00000001}, + {0x504A4F42, 0x04000000, 0x00000002}, + {0x504A5042, 0x00800000, 0x00000001}, + {0x504A5043, 0x04000000, 0x00000002}, + {0x504A5141, 0x08000000, 0x00000001}, + {0x504A5143, 0x00800000, 0x00000001}, + {0x504A5243, 0x02000000, 0x00000001}, + {0x504A5259, 0x08000000, 0x00000002}, + {0x504A5341, 0x04000000, 0x00000005}, + {0x504A5342, 0x01000000, 0x00000001}, + {0x504A5359, 0x00800000, 0x00000001}, + {0x504A5441, 0x01000000, 0x00000002}, + {0x504A5541, 0x04000000, 0x00000001}, + {0x504A5542, 0x08000000, 0x00000001}, + {0x504A5641, 0x04000000, 0x00000002}, + {0x504A5659, 0x01000000, 0x00000001}, + {0x504A5743, 0x00000000, 0x00000001}, + {0x504A5759, 0x00800000, 0x00000002}, + {0x504A5841, 0x08000000, 0x00000003}, + {0x504A5842, 0x00000000, 0x00000001}, + {0x504A5A43, 0x01000000, 0x00000001}, + {0x504B3342, 0x01000000, 0x00000001}, + {0x504B3443, 0x00800000, 0x00000001}, + {0x504B3641, 0x08000000, 0x00000003}, + {0x504B3642, 0x08000000, 0x00000003}, + {0x504B3842, 0x02000000, 0x00000002}, + {0x504B3859, 0x00800000, 0x00000008}, + {0x504B4159, 0x08000000, 0x00000002}, + {0x504B4241, 0x00800000, 0x00000001}, + {0x504B4242, 0x02000000, 0x00000002}, + {0x504B4243, 0x04000000, 0x00000002}, + {0x504B4343, 0x04000000, 0x00000001}, + {0x504B4541, 0x04000000, 0x00000002}, + {0x504B4641, 0x00800000, 0x00000001}, + {0x504B4742, 0x01000000, 0x00000001}, + {0x504B4841, 0x04000000, 0x00000003}, + {0x504B4843, 0x01000000, 0x00000001}, + {0x504B4A59, 0x08000000, 0x00000002}, + {0x504B4B41, 0x01000000, 0x00000003}, + {0x504B4C41, 0x08000000, 0x00000003}, + {0x504B4C43, 0x04000000, 0x00000001}, + {0x504B4C54, 0x10000000, 0x00000002}, + {0x504B4C59, 0x02000000, 0x00000002}, + {0x504B4E41, 0x01000000, 0x00000001}, + {0x504B4E59, 0x04000000, 0x00000002}, + {0x504B5043, 0x02000000, 0x00000008}, + {0x504B5142, 0x01000000, 0x00000001}, + {0x504B5143, 0x04000000, 0x00000001}, + {0x504B5159, 0x02000000, 0x00000001}, + {0x504B5243, 0x00000000, 0x00000001}, + {0x504B5341, 0x04000000, 0x00000002}, + {0x504B5441, 0x04000000, 0x00000002}, + {0x504B5559, 0x04000000, 0x00000001}, + {0x504B5641, 0x01000000, 0x00000001}, + {0x504B5642, 0x04000000, 0x00000002}, + {0x504B5741, 0x04000000, 0x00000003}, + {0x504B5759, 0x04000000, 0x00000002}, + {0x504B5842, 0x02000000, 0x00000001}, + {0x504B5843, 0x04000000, 0x00000001}, + {0x504B5943, 0x02000000, 0x00000002}, + {0x504B5A41, 0x00800000, 0x00000002}, + {0x504C3241, 0x01000000, 0x00000003}, + {0x504C3242, 0x02000000, 0x00000001}, + {0x504C3541, 0x08000000, 0x00000002}, + {0x504C3543, 0x02000000, 0x00000001}, + {0x504C3742, 0x00800000, 0x00000001}, + {0x504C3743, 0x08000000, 0x00000002}, + {0x504C3859, 0x08000000, 0x00000000}, + {0x504C4143, 0x04000000, 0x00000001}, + {0x504C4241, 0x08000000, 0x00000002}, + {0x504C4242, 0x02000000, 0x00000001}, + {0x504C4259, 0x00800000, 0x00000001}, + {0x504C4341, 0x08000000, 0x00000003}, + {0x504C4354, 0x02000000, 0x00000001}, + {0x504C4441, 0x04000000, 0x00000003}, + {0x504C4443, 0x02000000, 0x00000005}, + {0x504C4642, 0x04000000, 0x00000002}, + {0x504C4741, 0x02000000, 0x00000001}, + {0x504C4742, 0x01000000, 0x00000001}, + {0x504C4759, 0x04000000, 0x00000002}, + {0x504C4859, 0x08000000, 0x00000003}, + {0x504C4A41, 0x04000000, 0x00000001}, + {0x504C4A43, 0x02000000, 0x00000002}, + {0x504C4A54, 0x00800000, 0x00000001}, + {0x504C4A59, 0x01000000, 0x00000002}, + {0x504C4D41, 0x02000000, 0x00000002}, + {0x504C4E41, 0x04000000, 0x00000001}, + {0x504C4E59, 0x04000000, 0x00000001}, + {0x504C4F41, 0x00800000, 0x00000001}, + {0x504C4F43, 0x08000000, 0x00000003}, + {0x504C5041, 0x00800000, 0x00000002}, + {0x504C5042, 0x02000000, 0x00000001}, + {0x504C5043, 0x02000000, 0x00000001}, + {0x504C5054, 0x04000000, 0x00000001}, + {0x504C5059, 0x00800000, 0x00000001}, + {0x504C5141, 0x00800000, 0x00000001}, + {0x504C5159, 0x08000000, 0x00000002}, + {0x504C5243, 0x02000000, 0x00000001}, + {0x504C5259, 0x02000000, 0x00000001}, + {0x504C5342, 0x02000000, 0x00000003}, + {0x504C5441, 0x01000000, 0x00000001}, + {0x504C5443, 0x02000000, 0x00000003}, + {0x504C5459, 0x00800000, 0x00000002}, + {0x504C5643, 0x01000000, 0x00000001}, + {0x504C5741, 0x08000000, 0x00000003}, + {0x504C5742, 0x04000000, 0x00000003}, + {0x504C5759, 0x02000000, 0x00000001}, + {0x504C5841, 0x04000000, 0x00000001}, + {0x504C5843, 0x04000000, 0x00000002}, + {0x504C5941, 0x02000000, 0x00000002}, + {0x504C5943, 0x04000000, 0x00000002}, + {0x504C5956, 0x04000000, 0x00000001}, + {0x504C5A41, 0x10000000, 0x00000007}, + {0x504C5A42, 0x00800000, 0x00000002}, + {0x504C5A43, 0x02000000, 0x00000002}, + {0x504D3241, 0x00800000, 0x00000001}, + {0x504D3242, 0x08000000, 0x00000002}, + {0x504D3243, 0x02000000, 0x00000002}, + {0x504D3341, 0x08000000, 0x00000002}, + {0x504D3443, 0x04000000, 0x00000001}, + {0x504D3643, 0x04000000, 0x00000002}, + {0x504D3743, 0x00000000, 0x00000003}, + {0x504D4142, 0x02000000, 0x00000002}, + {0x504D4154, 0x02000000, 0x00000001}, + {0x504D4156, 0x02000000, 0x00000001}, + {0x504D4159, 0x00800000, 0x00000001}, + {0x504D4241, 0x00800000, 0x00000001}, + {0x504D4242, 0x00800000, 0x00000001}, + {0x504D4243, 0x02000000, 0x00000002}, + {0x504D4254, 0x04000000, 0x00000001}, + {0x504D4341, 0x01000000, 0x00000001}, + {0x504D4342, 0x04000000, 0x00000001}, + {0x504D4343, 0x04000000, 0x00000002}, + {0x504D4354, 0x04000000, 0x00000002}, + {0x504D4356, 0x04000000, 0x00000002}, + {0x504D4359, 0x02000000, 0x00000001}, + {0x504D4441, 0x04000000, 0x00000005}, + {0x504D4442, 0x04000000, 0x00000002}, + {0x504D4459, 0x02000000, 0x00000002}, + {0x504D4556, 0x04000000, 0x00000001}, + {0x504D4559, 0x04000000, 0x00000003}, + {0x504D4642, 0x02000000, 0x00000002}, + {0x504D4742, 0x04000000, 0x00000003}, + {0x504D4843, 0x04000000, 0x00000002}, + {0x504D4943, 0x00000000, 0x00000002}, + {0x504D4959, 0x04000000, 0x00000001}, + {0x504D4A54, 0x00800000, 0x00000001}, + {0x504D4C42, 0x02000000, 0x00000001}, + {0x504D4C54, 0x08000000, 0x00000001}, + {0x504D4D59, 0x02000000, 0x00000001}, + {0x504D4E41, 0x04000000, 0x00000005}, + {0x504D4E43, 0x04000000, 0x00000001}, + {0x504D4E59, 0x01000000, 0x00000002}, + {0x504D5042, 0x02000000, 0x00000001}, + {0x504D5043, 0x04000000, 0x00000002}, + {0x504D5141, 0x00800000, 0x00000001}, + {0x504D5143, 0x00000000, 0x00000001}, + {0x504D5241, 0x04000000, 0x00000002}, + {0x504D5242, 0x01000000, 0x00000002}, + {0x504D5259, 0x02000000, 0x00000003}, + {0x504D5341, 0x01000000, 0x00000002}, + {0x504D5342, 0x01000000, 0x00000002}, + {0x504D5343, 0x01000000, 0x00000003}, + {0x504D5442, 0x00800000, 0x00000002}, + {0x504D5459, 0x04000000, 0x00000002}, + {0x504D5642, 0x02000000, 0x00000001}, + {0x504D5643, 0x02000000, 0x00000002}, + {0x504D5742, 0x01000000, 0x00000001}, + {0x504D5842, 0x04000000, 0x00000002}, + {0x504D5A43, 0x02000000, 0x00000001}, + {0x504E3242, 0x02000000, 0x00000001}, + {0x504E3342, 0x02000000, 0x00000001}, + {0x504E3542, 0x01000000, 0x00000001}, + {0x504E3543, 0x01000000, 0x00000001}, + {0x504E3641, 0x08000000, 0x00000003}, + {0x504E3642, 0x00800000, 0x00000001}, + {0x504E3742, 0x08000000, 0x00000003}, + {0x504E3841, 0x02000000, 0x00000005}, + {0x504E3842, 0x01000000, 0x00000001}, + {0x504E4142, 0x01000000, 0x00000002}, + {0x504E4143, 0x02000000, 0x00000005}, + {0x504E4241, 0x08000000, 0x00000002}, + {0x504E4243, 0x02000000, 0x00000001}, + {0x504E4259, 0x04000000, 0x00000007}, + {0x504E4341, 0x01000000, 0x00000002}, + {0x504E4343, 0x00000000, 0x00000001}, + {0x504E4443, 0x08000000, 0x00000001}, + {0x504E4541, 0x04000000, 0x00000002}, + {0x504E4542, 0x00800000, 0x00000001}, + {0x504E4559, 0x00800000, 0x00000001}, + {0x504E4641, 0x02000000, 0x00000002}, + {0x504E4642, 0x00800000, 0x00000001}, + {0x504E4654, 0x04000000, 0x00000002}, + {0x504E4741, 0x02000000, 0x00000001}, + {0x504E4743, 0x04000000, 0x00000002}, + {0x504E4759, 0x04000000, 0x00000002}, + {0x504E4841, 0x02000000, 0x00000001}, + {0x504E4843, 0x02000000, 0x00000002}, + {0x504E4859, 0x00000000, 0x00000003}, + {0x504E4A41, 0x02000000, 0x00000002}, + {0x504E4A42, 0x02000000, 0x00000001}, + {0x504E4C43, 0x02000000, 0x00000002}, + {0x504E4C59, 0x08000000, 0x00000002}, + {0x504E4D54, 0x01000000, 0x00000002}, + {0x504E4D59, 0x01000000, 0x00000002}, + {0x504E4E42, 0x04000000, 0x00000002}, + {0x504E4E59, 0x08000000, 0x00000003}, + {0x504E4F41, 0x02000000, 0x00000005}, + {0x504E4F43, 0x02000000, 0x00000001}, + {0x504E4F59, 0x04000000, 0x00000003}, + {0x504E5041, 0x02000000, 0x00000001}, + {0x504E5042, 0x02000000, 0x00000002}, + {0x504E5043, 0x02000000, 0x00000008}, + {0x504E5142, 0x04000000, 0x00000001}, + {0x504E5159, 0x04000000, 0x00000002}, + {0x504E5241, 0x02000000, 0x00000001}, + {0x504E5243, 0x01000000, 0x00000001}, + {0x504E5341, 0x00800000, 0x00000002}, + {0x504E5342, 0x02000000, 0x00000001}, + {0x504E5343, 0x08000000, 0x00000003}, + {0x504E5359, 0x04000000, 0x00000002}, + {0x504E5442, 0x04000000, 0x00000002}, + {0x504E5443, 0x01000000, 0x00000002}, + {0x504E5642, 0x04000000, 0x00000001}, + {0x504E5656, 0x02000000, 0x00000002}, + {0x504E5A43, 0x04000000, 0x00000002}, + {0x504F3241, 0x04000000, 0x00000003}, + {0x504F3341, 0x01000000, 0x00000001}, + {0x504F3441, 0x02000000, 0x00000005}, + {0x504F3442, 0x00800000, 0x00000001}, + {0x504F3541, 0x01000000, 0x00000001}, + {0x504F3543, 0x01000000, 0x00000001}, + {0x504F3642, 0x02000000, 0x00000001}, + {0x504F3743, 0x04000000, 0x00000002}, + {0x504F3959, 0x00800000, 0x00000000}, + {0x504F4142, 0x04000000, 0x00000001}, + {0x504F4143, 0x02000000, 0x00000001}, + {0x504F4156, 0x04000000, 0x00000001}, + {0x504F4241, 0x02000000, 0x00000001}, + {0x504F4259, 0x08000000, 0x00000003}, + {0x504F4341, 0x04000000, 0x00000005}, + {0x504F4342, 0x01000000, 0x00000001}, + {0x504F4359, 0x04000000, 0x00000001}, + {0x504F4742, 0x00800000, 0x00000002}, + {0x504F4743, 0x01000000, 0x00000001}, + {0x504F4759, 0x02000000, 0x00000001}, + {0x504F4842, 0x04000000, 0x00000001}, + {0x504F4843, 0x02000000, 0x00000001}, + {0x504F4941, 0x08000000, 0x00000005}, + {0x504F4942, 0x02000000, 0x00000001}, + {0x504F4959, 0x00800000, 0x00000001}, + {0x504F4A42, 0x04000000, 0x00000001}, + {0x504F4A43, 0x04000000, 0x00000002}, + {0x504F4C42, 0x00800000, 0x00000001}, + {0x504F4D41, 0x04000000, 0x00000002}, + {0x504F4D59, 0x04000000, 0x00000001}, + {0x504F4E41, 0x02000000, 0x00000002}, + {0x504F4E42, 0x01000000, 0x00000001}, + {0x504F4F42, 0x00400000, 0x00000002}, + {0x504F4F43, 0x04000000, 0x00000002}, + {0x504F5043, 0x01000000, 0x00000002}, + {0x504F5059, 0x04000000, 0x00000003}, + {0x504F5143, 0x02000000, 0x00000001}, + {0x504F5159, 0x00800000, 0x00000001}, + {0x504F5259, 0x04000000, 0x00000002}, + {0x504F5342, 0x02000000, 0x00000001}, + {0x504F5343, 0x00000000, 0x00000002}, + {0x504F5359, 0x01000000, 0x00000002}, + {0x504F5541, 0x00800000, 0x00000001}, + {0x504F5741, 0x02000000, 0x00000002}, + {0x504F5743, 0x00800000, 0x00000001}, + {0x504F5759, 0x00800000, 0x00000001}, + {0x504F5841, 0x01000000, 0x00000002}, + {0x504F5843, 0x04000000, 0x00000001}, + {0x504F5A42, 0x04000000, 0x00000003}, + {0x504F5A43, 0x02000000, 0x00000001}, + {0x50503342, 0x04000000, 0x00000001}, + {0x50503343, 0x04000000, 0x00000002}, + {0x50503441, 0x02000000, 0x00000002}, + {0x50503541, 0x04000000, 0x00000001}, + {0x50503643, 0x04000000, 0x00000007}, + {0x50503659, 0x04000000, 0x00000008}, + {0x50504143, 0x02000000, 0x00000003}, + {0x50504159, 0x01000000, 0x00000001}, + {0x50504243, 0x01000000, 0x00000002}, + {0x50504259, 0x02000000, 0x00000001}, + {0x50504341, 0x01000000, 0x00000002}, + {0x50504441, 0x00800000, 0x00000002}, + {0x50504442, 0x00800000, 0x00000001}, + {0x50504443, 0x00000000, 0x00000002}, + {0x50504459, 0x02000000, 0x00000001}, + {0x50504542, 0x01000000, 0x00000002}, + {0x50504543, 0x08000000, 0x00000002}, + {0x50504741, 0x04000000, 0x00000002}, + {0x50504742, 0x04000000, 0x00000002}, + {0x50504743, 0x02000000, 0x00000001}, + {0x50504754, 0x02000000, 0x00000001}, + {0x50504841, 0x04000000, 0x00000001}, + {0x50504941, 0x00800000, 0x00000008}, + {0x50504A41, 0x00800000, 0x00000001}, + {0x50504A43, 0x04000000, 0x00000002}, + {0x50504B41, 0x01000000, 0x00000001}, + {0x50504C42, 0x04000000, 0x00000002}, + {0x50504C43, 0x04000000, 0x00000003}, + {0x50504C59, 0x00800000, 0x00000002}, + {0x50504D43, 0x04000000, 0x00000001}, + {0x50504D44, 0x10000000, 0xFFFFFFFF}, + {0x50504E41, 0x01000000, 0x00000001}, + {0x50504E42, 0x04000000, 0x00000001}, + {0x50504E43, 0x01000000, 0x00000002}, + {0x50504E59, 0x04000000, 0x00000002}, + {0x50504F43, 0x01000000, 0x00000003}, + {0x50505041, 0x01000000, 0x00000002}, + {0x50505141, 0x02000000, 0x00000002}, + {0x50505143, 0x01000000, 0x00000001}, + {0x50505241, 0x04000000, 0x00000001}, + {0x50505242, 0x08000000, 0x00000002}, + {0x50505341, 0x02000000, 0x00000003}, + {0x50505343, 0x02000000, 0x00000003}, + {0x50505359, 0x02000000, 0x00000005}, + {0x50505543, 0x00800000, 0x00000001}, + {0x50505642, 0x08000000, 0x00000006}, + {0x50505659, 0x08000000, 0x00000003}, + {0x50505741, 0x01000000, 0x00000001}, + {0x50505742, 0x00800000, 0x00000001}, + {0x50505743, 0x02000000, 0x00000002}, + {0x50505841, 0x02000000, 0x00000005}, + {0x50505843, 0x02000000, 0x00000001}, + {0x50505943, 0x04000000, 0x00000002}, + {0x50505A41, 0x01000000, 0x00000002}, + {0x50505A42, 0x01000000, 0x00000001}, + {0x50505A55, 0x08000000, 0x00000003}, + {0x50513243, 0x00800000, 0x00000001}, + {0x50513342, 0x00800000, 0x00000001}, + {0x50513543, 0x01000000, 0x00000002}, + {0x50513642, 0x00800000, 0x00000001}, + {0x50513643, 0x08000000, 0x00000001}, + {0x50513841, 0x02000000, 0x00000005}, + {0x50513842, 0x00800000, 0x00000001}, + {0x50513859, 0x00800000, 0x00000000}, + {0x50514143, 0x02000000, 0x00000002}, + {0x50514242, 0x00800000, 0x00000001}, + {0x50514243, 0x02000000, 0x00000002}, + {0x50514259, 0x02000000, 0x00000002}, + {0x50514359, 0x04000000, 0x00000002}, + {0x50514459, 0x10000000, 0x00000003}, + {0x50514559, 0x00800000, 0x00000001}, + {0x50514641, 0x04000000, 0x00000002}, + {0x50514642, 0x00800000, 0x00000001}, + {0x50514742, 0x02000000, 0x00000002}, + {0x50514743, 0x04000000, 0x00000003}, + {0x50514759, 0x04000000, 0x00000002}, + {0x50514841, 0x02000000, 0x00000001}, + {0x50514943, 0x02000000, 0x00000002}, + {0x50514A41, 0x04000000, 0x00000002}, + {0x50514A43, 0x00800000, 0x00000002}, + {0x50514A59, 0x01000000, 0x00000001}, + {0x50514B41, 0x02000000, 0x00000001}, + {0x50514B43, 0x02000000, 0x00000001}, + {0x50514C41, 0x00800000, 0x00000001}, + {0x50514C43, 0x04000000, 0x00000001}, + {0x50514D41, 0x04000000, 0x00000005}, + {0x50514D42, 0x04000000, 0x00000001}, + {0x50514D54, 0x02000000, 0x00000002}, + {0x50514E41, 0x00800000, 0x00000002}, + {0x50514E42, 0x02000000, 0x00000001}, + {0x50514F41, 0x01000000, 0x00000001}, + {0x50514F43, 0x04000000, 0x00000002}, + {0x50515043, 0x02000000, 0x00000001}, + {0x50515141, 0x02000000, 0x00000002}, + {0x50515143, 0x04000000, 0x00000001}, + {0x50515243, 0x02000000, 0x00000001}, + {0x50515259, 0x02000000, 0x00000001}, + {0x50515341, 0x01000000, 0x00000002}, + {0x50515343, 0x01000000, 0x00000001}, + {0x50515359, 0x02000000, 0x00000002}, + {0x50515442, 0x01000000, 0x00000001}, + {0x50515641, 0x02000000, 0x00000002}, + {0x50515643, 0x02000000, 0x00000002}, + {0x50515741, 0x01000000, 0x00000001}, + {0x50515743, 0x02000000, 0x00000001}, + {0x50515842, 0x04000000, 0x00000001}, + {0x50515941, 0x01000000, 0x00000002}, + {0x50515943, 0x04000000, 0x00000001}, + {0x50515A41, 0x01000000, 0x00000002}, + {0x50523341, 0x01000000, 0x00000002}, + {0x50523342, 0x08000000, 0x00000005}, + {0x50523443, 0x02000000, 0x00000001}, + {0x50523459, 0x04000000, 0x00000008}, + {0x50523542, 0x10000000, 0x00000001}, + {0x50523559, 0x04000000, 0x00000008}, + {0x50523642, 0x08000000, 0x00000002}, + {0x50523743, 0x00800000, 0x00000001}, + {0x50524241, 0x04000000, 0x00000002}, + {0x50524243, 0x01000000, 0x00000002}, + {0x50524254, 0x04000000, 0x00000001}, + {0x50524255, 0x00800000, 0x00000005}, + {0x50524259, 0x04000000, 0x00000001}, + {0x50524341, 0x02000000, 0x00000001}, + {0x50524343, 0x00800000, 0x00000002}, + {0x50524354, 0x00800000, 0x00000001}, + {0x50524441, 0x01000000, 0x00000002}, + {0x50524442, 0x04000000, 0x00000005}, + {0x50524459, 0x00800000, 0x00000001}, + {0x50524541, 0x01000000, 0x00000002}, + {0x50524543, 0x02000000, 0x00000003}, + {0x50524554, 0x00800000, 0x00000001}, + {0x50524559, 0x04000000, 0x00000003}, + {0x50524641, 0x04000000, 0x00000001}, + {0x50524659, 0x01000000, 0x00000001}, + {0x50524741, 0x02000000, 0x00000005}, + {0x50524754, 0x01000000, 0x00000001}, + {0x50524841, 0x02000000, 0x00000002}, + {0x50524942, 0x01000000, 0x00000001}, + {0x50524943, 0x04000000, 0x00000002}, + {0x50524A41, 0x08000000, 0x00000005}, + {0x50524A42, 0x01000000, 0x00000001}, + {0x50524A43, 0x08000000, 0x00000003}, + {0x50524C42, 0x10000000, 0x00000001}, + {0x50524C43, 0x04000000, 0x00000003}, + {0x50524C54, 0x08000000, 0x00000001}, + {0x50524D43, 0x02000000, 0x00000002}, + {0x50524D59, 0x01000000, 0x00000001}, + {0x50524E41, 0x04000000, 0x00000001}, + {0x50524E42, 0x04000000, 0x00000003}, + {0x50524E43, 0x04000000, 0x00000002}, + {0x50524F55, 0x08000000, 0x00000008}, + {0x50525041, 0x02000000, 0x00000002}, + {0x50525042, 0x00800000, 0x00000001}, + {0x50525054, 0x02000000, 0x00000001}, + {0x50525059, 0x02000000, 0x00000002}, + {0x50525141, 0x01000000, 0x00000002}, + {0x50525143, 0x04000000, 0x00000002}, + {0x50525159, 0x02000000, 0x00000001}, + {0x50525254, 0x01000000, 0x00000001}, + {0x50525259, 0x02000000, 0x00000002}, + {0x50525359, 0x01000000, 0x00000005}, + {0x50525441, 0x01000000, 0x00000002}, + {0x50525442, 0x02000000, 0x00000002}, + {0x50525443, 0x02000000, 0x00000003}, + {0x50525459, 0x00000000, 0x00000001}, + {0x50525741, 0x02000000, 0x00000005}, + {0x50525743, 0x02000000, 0x00000001}, + {0x50525759, 0x04000000, 0x00000001}, + {0x50525843, 0x04000000, 0x00000001}, + {0x50525941, 0x00800000, 0x00000001}, + {0x50525943, 0x02000000, 0x00000001}, + {0x50525959, 0x04000000, 0x00000001}, + {0x50525A43, 0x02000000, 0x00000001}, + {0x50533242, 0x08000000, 0x00000002}, + {0x50533243, 0x08000000, 0x00000004}, + {0x50533341, 0x02000000, 0x00000001}, + {0x50533343, 0x01000000, 0x00000002}, + {0x50533543, 0x08000000, 0x00000001}, + {0x50533641, 0x04000000, 0x00000001}, + {0x50533642, 0x04000000, 0x00000001}, + {0x50533659, 0x04000000, 0x00000008}, + {0x50533759, 0x04000000, 0x00000008}, + {0x50533841, 0x00800000, 0x00000002}, + {0x50534143, 0x02000000, 0x00000001}, + {0x50534156, 0x02000000, 0x00000001}, + {0x50534359, 0x00800000, 0x00000001}, + {0x50534443, 0x08000000, 0x00000001}, + {0x50534556, 0x04000000, 0x00000001}, + {0x50534641, 0x02000000, 0x00000002}, + {0x50534643, 0x02000000, 0x00000001}, + {0x50534743, 0x08000000, 0x00000001}, + {0x50534759, 0x04000000, 0x00000003}, + {0x50534841, 0x02000000, 0x00000002}, + {0x50534843, 0x02000000, 0x00000001}, + {0x50534859, 0x02000000, 0x00000003}, + {0x50534941, 0x01000000, 0x00000001}, + {0x50534943, 0x04000000, 0x00000001}, + {0x50534959, 0x04000000, 0x00000002}, + {0x50534A42, 0x04000000, 0x00000003}, + {0x50534A43, 0x01000000, 0x00000002}, + {0x50534A54, 0x00800000, 0x00000001}, + {0x50534C42, 0x04000000, 0x00000001}, + {0x50534C54, 0x02000000, 0x00000001}, + {0x50534D43, 0x02000000, 0x00000003}, + {0x50534D54, 0x01000000, 0x00000001}, + {0x50534E41, 0x01000000, 0x00000001}, + {0x50534F41, 0x08000000, 0x00000005}, + {0x50534F43, 0x02000000, 0x00000001}, + {0x50535042, 0x04000000, 0x00000002}, + {0x50535043, 0x04000000, 0x00000002}, + {0x50535143, 0x02000000, 0x00000001}, + {0x50535154, 0x00800000, 0x00000001}, + {0x50535159, 0x02000000, 0x00000002}, + {0x50535243, 0x00800000, 0x00000001}, + {0x50535341, 0x04000000, 0x00000002}, + {0x50535343, 0x00800000, 0x00000001}, + {0x50535459, 0x01000000, 0x00000001}, + {0x50535541, 0x04000000, 0x00000001}, + {0x50535542, 0x00800000, 0x00000002}, + {0x50535543, 0x02000000, 0x00000001}, + {0x50535559, 0x00800000, 0x00000001}, + {0x50535641, 0x02000000, 0x00000002}, + {0x50535643, 0x02000000, 0x00000001}, + {0x50535659, 0x02000000, 0x00000003}, + {0x50535741, 0x01000000, 0x00000002}, + {0x50535743, 0x00000000, 0x00000002}, + {0x50535842, 0x04000000, 0x00000003}, + {0x50535843, 0x00000000, 0x00000001}, + {0x50535941, 0x04000000, 0x00000001}, + {0x50543241, 0x02000000, 0x00000001}, + {0x50543341, 0x02000000, 0x00000002}, + {0x50543343, 0x08000000, 0x00000003}, + {0x50543442, 0x01000000, 0x00000002}, + {0x50543541, 0x04000000, 0x00000005}, + {0x50543641, 0x04000000, 0x00000001}, + {0x50543642, 0x04000000, 0x00000001}, + {0x50543643, 0x01000000, 0x00000002}, + {0x50543743, 0x01000000, 0x00000002}, + {0x50543841, 0x02000000, 0x00000002}, + {0x50544142, 0x04000000, 0x00000002}, + {0x50544143, 0x02000000, 0x00000002}, + {0x50544159, 0x01000000, 0x00000002}, + {0x50544241, 0x02000000, 0x00000001}, + {0x50544243, 0x02000000, 0x00000001}, + {0x50544254, 0x01000000, 0x00000001}, + {0x50544256, 0x02000000, 0x00000002}, + {0x50544259, 0x08000000, 0x00000003}, + {0x50544341, 0x02000000, 0x00000001}, + {0x50544459, 0x04000000, 0x00000003}, + {0x50544556, 0x08000000, 0x00000007}, + {0x50544559, 0x01000000, 0x00000001}, + {0x50544641, 0x00800000, 0x00000001}, + {0x50544642, 0x01000000, 0x00000001}, + {0x50544659, 0x08000000, 0x00000005}, + {0x50544742, 0x08000000, 0x00000002}, + {0x50544754, 0x04000000, 0x00000002}, + {0x50544759, 0x02000000, 0x00000001}, + {0x50544841, 0x01000000, 0x00000001}, + {0x50544941, 0x00800000, 0x00000001}, + {0x50544943, 0x01000000, 0x00000001}, + {0x50544A41, 0x02000000, 0x00000001}, + {0x50544A56, 0x04000000, 0x00000001}, + {0x50544B43, 0x04000000, 0x00000002}, + {0x50544C41, 0x00800000, 0x00000001}, + {0x50544C59, 0x08000000, 0x00000002}, + {0x50544D41, 0x04000000, 0x00000002}, + {0x50544D43, 0x02000000, 0x00000001}, + {0x50544D54, 0x04000000, 0x00000003}, + {0x50544D59, 0x02000000, 0x00000002}, + {0x50544F43, 0x02000000, 0x00000001}, + {0x50545041, 0x01000000, 0x00000002}, + {0x50545054, 0x08000000, 0x00000001}, + {0x50545059, 0x02000000, 0x00000005}, + {0x50545154, 0x02000000, 0x00000002}, + {0x50545259, 0x02000000, 0x00000002}, + {0x50545341, 0x02000000, 0x00000001}, + {0x50545359, 0x04000000, 0x00000001}, + {0x50545456, 0x04000000, 0x00000001}, + {0x50545541, 0x02000000, 0x00000001}, + {0x50545542, 0x02000000, 0x00000001}, + {0x50545559, 0x04000000, 0x00000002}, + {0x50545642, 0x01000000, 0x00000001}, + {0x50545643, 0x02000000, 0x00000001}, + {0x50545659, 0x02000000, 0x00000001}, + {0x50545841, 0x00800000, 0x00000001}, + {0x50545942, 0x08000000, 0x00000002}, + {0x50545959, 0x02000000, 0x00000002}, + {0x50545A41, 0x01000000, 0x00000005}, + {0x50545A59, 0x01000000, 0x00000005}, + {0x50553242, 0x02000000, 0x00000001}, + {0x50553342, 0x02000000, 0x00000002}, + {0x50553459, 0x02000000, 0x00000008}, + {0x50553541, 0x02000000, 0x00000005}, + {0x50553659, 0x01000000, 0x00000008}, + {0x50553743, 0x02000000, 0x00000001}, + {0x50553842, 0x01000000, 0x00000001}, + {0x50554159, 0x04000000, 0x00000003}, + {0x50554241, 0x04000000, 0x00000005}, + {0x50554242, 0x08000000, 0x00000003}, + {0x50554259, 0x08000000, 0x00000003}, + {0x50554359, 0x00000000, 0x00000003}, + {0x50554442, 0x02000000, 0x00000001}, + {0x50554443, 0x01000000, 0x00000003}, + {0x50554454, 0x00800000, 0x00000001}, + {0x50554641, 0x01000000, 0x00000003}, + {0x50554643, 0x02000000, 0x00000002}, + {0x50554842, 0x04000000, 0x00000001}, + {0x50554854, 0x02000000, 0x00000001}, + {0x50554859, 0x00800000, 0x00000008}, + {0x50554943, 0x04000000, 0x00000002}, + {0x50554B41, 0x04000000, 0x00000001}, + {0x50554B42, 0x08000000, 0x00000005}, + {0x50554C41, 0x02000000, 0x00000002}, + {0x50554C54, 0x04000000, 0x00000001}, + {0x50554C59, 0x08000000, 0x00000005}, + {0x50554D41, 0x00800000, 0x00000001}, + {0x50554D42, 0x04000000, 0x00000001}, + {0x50554D43, 0x01000000, 0x00000003}, + {0x50554D54, 0x04000000, 0x00000003}, + {0x50554D59, 0x04000000, 0x00000002}, + {0x50554E41, 0x01000000, 0x00000001}, + {0x50554E42, 0x01000000, 0x00000001}, + {0x50554F42, 0x02000000, 0x00000001}, + {0x50555054, 0x01000000, 0x00000001}, + {0x50555059, 0x02000000, 0x00000008}, + {0x50555154, 0x00800000, 0x00000001}, + {0x50555159, 0x08000000, 0x00000003}, + {0x50555341, 0x04000000, 0x00000003}, + {0x50555342, 0x02000000, 0x00000001}, + {0x50555343, 0x02000000, 0x00000001}, + {0x50555442, 0x04000000, 0x00000002}, + {0x50555542, 0x04000000, 0x00000001}, + {0x50555741, 0x02000000, 0x00000001}, + {0x50555743, 0x04000000, 0x00000001}, + {0x50555841, 0x02000000, 0x00000001}, + {0x50555842, 0x04000000, 0x00000001}, + {0x50555843, 0x08000000, 0x00000002}, + {0x50555942, 0x00800000, 0x00000001}, + {0x50555943, 0x01000000, 0x00000002}, + {0x50555959, 0x04000000, 0x00000001}, + {0x50555A42, 0x02000000, 0x00000002}, + {0x50563241, 0x00800000, 0x00000001}, + {0x50563342, 0x02000000, 0x00000001}, + {0x50563343, 0x01000000, 0x00000001}, + {0x50563443, 0x01000000, 0x00000001}, + {0x50563643, 0x02000000, 0x00000001}, + {0x50563743, 0x00800000, 0x00000001}, + {0x50564143, 0x02000000, 0x00000002}, + {0x50564159, 0x04000000, 0x00000002}, + {0x50564242, 0x00800000, 0x00000001}, + {0x50564243, 0x04000000, 0x00000002}, + {0x50564341, 0x04000000, 0x00000002}, + {0x50564359, 0x01000000, 0x00000003}, + {0x50564441, 0x01000000, 0x00000001}, + {0x50564442, 0x00000000, 0x00000001}, + {0x50564443, 0x01000000, 0x00000001}, + {0x50564454, 0x07FFEC70, 0x00000003}, + {0x50564641, 0x04000000, 0x00000001}, + {0x50564642, 0x00800000, 0x00000001}, + {0x50564741, 0x02000000, 0x00000002}, + {0x50564841, 0x01000000, 0x00000001}, + {0x50564842, 0x02000000, 0x00000001}, + {0x50564843, 0x02000000, 0x00000003}, + {0x50564854, 0x04000000, 0x00000001}, + {0x50564942, 0x00800000, 0x00000001}, + {0x50564959, 0x08000000, 0x00000003}, + {0x50564A56, 0x04000000, 0x00000001}, + {0x50564C41, 0x01000000, 0x00000002}, + {0x50564C43, 0x04000000, 0x00000001}, + {0x50564C54, 0x02000000, 0x00000002}, + {0x50564D41, 0x04000000, 0x00000001}, + {0x50564D42, 0x00800000, 0x00000001}, + {0x50564D43, 0x00800000, 0x00000001}, + {0x50564D54, 0x04000000, 0x00000002}, + {0x50564E42, 0x02000000, 0x00000001}, + {0x50564E43, 0x10000000, 0x00000005}, + {0x50565042, 0x00800000, 0x00000002}, + {0x50565043, 0x04000000, 0x00000002}, + {0x50565059, 0x04000000, 0x00000001}, + {0x50565141, 0x01000000, 0x00000002}, + {0x50565143, 0x04000000, 0x00000001}, + {0x50565159, 0x01000000, 0x00000001}, + {0x50565243, 0x02000000, 0x00000001}, + {0x50565259, 0x02000000, 0x00000005}, + {0x50565341, 0x00800000, 0x00000001}, + {0x50565342, 0x02000000, 0x00000001}, + {0x50565343, 0x02000000, 0x00000005}, + {0x50565441, 0x02000000, 0x00000001}, + {0x50565442, 0x02000000, 0x00000002}, + {0x50565443, 0x04000000, 0x00000003}, + {0x50565459, 0x08000000, 0x00000003}, + {0x50565542, 0x02000000, 0x00000002}, + {0x50565642, 0x01000000, 0x00000002}, + {0x50565741, 0x01000000, 0x00000001}, + {0x50565742, 0x02000000, 0x00000001}, + {0x50565756, 0x04000000, 0x00000001}, + {0x50565841, 0x04000000, 0x00000003}, + {0x50565842, 0x02000000, 0x00000001}, + {0x50565859, 0x00800000, 0x00000001}, + {0x50565A41, 0x00800000, 0x00000001}, + {0x50565A43, 0x02000000, 0x00000001}, + {0x50573259, 0x04000000, 0x00000008}, + {0x50573341, 0x04000000, 0x00000002}, + {0x50573641, 0x02000000, 0x00000002}, + {0x50573643, 0x02000000, 0x00000002}, + {0x50573742, 0x01000000, 0x00000002}, + {0x50573759, 0x01000000, 0x00000001}, + {0x50574142, 0x02000000, 0x00000001}, + {0x50574159, 0x04000000, 0x00000002}, + {0x50574259, 0x01000000, 0x00000002}, + {0x50574343, 0x02000000, 0x00000001}, + {0x50574354, 0x02000000, 0x00000001}, + {0x50574442, 0x02000000, 0x00000001}, + {0x50574443, 0x00800000, 0x00000001}, + {0x50574459, 0x02000000, 0x00000005}, + {0x50574542, 0x04000000, 0x00000002}, + {0x50574641, 0x01000000, 0x00000001}, + {0x50574741, 0x01000000, 0x00000002}, + {0x50574759, 0x00800000, 0x00000001}, + {0x50574843, 0x02000000, 0x00000002}, + {0x50574859, 0x02000000, 0x00000001}, + {0x50574942, 0x04000000, 0x00000002}, + {0x50574A43, 0x00800000, 0x00000001}, + {0x50574A59, 0x00800000, 0x00000001}, + {0x50574B41, 0x04000000, 0x00000002}, + {0x50574B42, 0x00800000, 0x00000002}, + {0x50574B59, 0x08000000, 0x00000003}, + {0x50574C41, 0x02000000, 0x00000001}, + {0x50574C43, 0x10000000, 0x00000002}, + {0x50574C54, 0x02000000, 0x00000002}, + {0x50574C59, 0x02000000, 0x00000001}, + {0x50574D41, 0x04000000, 0x00000002}, + {0x50574D43, 0x02000000, 0x00000002}, + {0x50574D49, 0x04000000, 0x00000007}, + {0x50574D54, 0x01000000, 0x00000001}, + {0x50574D59, 0x01000000, 0x00000002}, + {0x50574E41, 0x02000000, 0x00000002}, + {0x50574E42, 0x02000000, 0x00000001}, + {0x50574E59, 0x02000000, 0x00000001}, + {0x50574F41, 0x00800000, 0x00000001}, + {0x50575041, 0x02000000, 0x00000001}, + {0x50575042, 0x01000000, 0x00000001}, + {0x50575043, 0x04000000, 0x00000002}, + {0x50575054, 0x00800000, 0x00000002}, + {0x50575141, 0x01000000, 0x00000001}, + {0x50575159, 0x00800000, 0x00000001}, + {0x50575243, 0x02000000, 0x00000002}, + {0x50575254, 0x04000000, 0x00000002}, + {0x50575259, 0x02000000, 0x00000005}, + {0x50575343, 0x04000000, 0x00000001}, + {0x50575442, 0x02000000, 0x00000001}, + {0x50575443, 0x08000000, 0x00000001}, + {0x50575542, 0x02000000, 0x00000001}, + {0x50575559, 0x02000000, 0x00000002}, + {0x50575641, 0x02000000, 0x00000002}, + {0x50575643, 0x01000000, 0x00000002}, + {0x50575941, 0x02000000, 0x00000002}, + {0x50575942, 0x00800000, 0x00000001}, + {0x50575A41, 0x02000000, 0x00000002}, + {0x50583242, 0x02000000, 0x00000002}, + {0x50583341, 0x04000000, 0x00000001}, + {0x50583542, 0x02000000, 0x00000003}, + {0x50583559, 0x00800000, 0x00000008}, + {0x50583659, 0x00800000, 0x00000008}, + {0x50584142, 0x04000000, 0x00000001}, + {0x50584143, 0x02000000, 0x00000003}, + {0x50584154, 0x00800000, 0x00000001}, + {0x50584159, 0x02000000, 0x00000002}, + {0x50584241, 0x04000000, 0x00000002}, + {0x50584242, 0x00800000, 0x00000001}, + {0x50584259, 0x00800000, 0x00000001}, + {0x50584341, 0x01000000, 0x00000003}, + {0x50584343, 0x01000000, 0x00000003}, + {0x50584354, 0x00800000, 0x00000001}, + {0x50584443, 0x02000000, 0x00000001}, + {0x50584459, 0x04000000, 0x00000001}, + {0x50584559, 0x02000000, 0x00000002}, + {0x50584641, 0x08000000, 0x00000003}, + {0x50584642, 0x04000000, 0x00000002}, + {0x50584741, 0x08000000, 0x00000003}, + {0x50584742, 0x02000000, 0x00000002}, + {0x50584759, 0x08000000, 0x00000002}, + {0x50584841, 0x00800000, 0x00000001}, + {0x50584843, 0x02000000, 0x00000003}, + {0x50584859, 0x01000000, 0x00000001}, + {0x50584943, 0x00800000, 0x00000001}, + {0x50584A43, 0x01000000, 0x00000001}, + {0x50584A59, 0x00800000, 0x00000001}, + {0x50584C41, 0x02000000, 0x00000001}, + {0x50584C43, 0x02000000, 0x00000002}, + {0x50584C59, 0x00800000, 0x00000001}, + {0x50584D41, 0x02000000, 0x00000001}, + {0x50584D42, 0x02000000, 0x00000001}, + {0x50584D59, 0x00800000, 0x00000001}, + {0x50584E41, 0x02000000, 0x00000001}, + {0x50584F41, 0x02000000, 0x00000001}, + {0x50585043, 0x01000000, 0x00000005}, + {0x50585054, 0x00800000, 0x00000002}, + {0x50585059, 0x00800000, 0x00000003}, + {0x50585143, 0x04000000, 0x00000001}, + {0x50585159, 0x01000000, 0x00000001}, + {0x50585342, 0x02000000, 0x00000001}, + {0x50585359, 0x01000000, 0x00000001}, + {0x50585441, 0x01000000, 0x00000002}, + {0x50585543, 0x04000000, 0x00000001}, + {0x50585559, 0x04000000, 0x00000003}, + {0x50585641, 0x01000000, 0x00000001}, + {0x50585741, 0x01000000, 0x00000002}, + {0x50585742, 0x02000000, 0x00000001}, + {0x50585759, 0x01000000, 0x00000002}, + {0x50585859, 0x04000000, 0x00000002}, + {0x50585941, 0x08000000, 0x00000005}, + {0x50585942, 0x10000000, 0x00000003}, + {0x50585A42, 0x02000000, 0x00000001}, + {0x50585A59, 0x04000000, 0x00000002}, + {0x50593259, 0x00800000, 0x00000008}, + {0x50593341, 0x04000000, 0x00000003}, + {0x50593342, 0x02000000, 0x00000001}, + {0x50593443, 0x02000000, 0x00000001}, + {0x50593542, 0x01000000, 0x00000001}, + {0x50593641, 0x01000000, 0x00000002}, + {0x50593842, 0x02000000, 0x00000001}, + {0x50594143, 0x02000000, 0x00000001}, + {0x50594159, 0x02000000, 0x00000001}, + {0x50594242, 0x00800000, 0x00000001}, + {0x50594243, 0x02000000, 0x00000001}, + {0x50594259, 0x02000000, 0x00000001}, + {0x50594343, 0x01000000, 0x00000001}, + {0x50594359, 0x00800000, 0x00000001}, + {0x50594442, 0x04000000, 0x00000002}, + {0x50594443, 0x02000000, 0x00000002}, + {0x50594459, 0x00800000, 0x00000001}, + {0x50594542, 0x00800000, 0x00000001}, + {0x50594641, 0x04000000, 0x00000001}, + {0x50594659, 0x08000000, 0x00000005}, + {0x50594741, 0x04000000, 0x00000005}, + {0x50594742, 0x01000000, 0x00000001}, + {0x50594842, 0x02000000, 0x00000001}, + {0x50594843, 0x00000000, 0x00000001}, + {0x50594859, 0x01000000, 0x00000001}, + {0x50594943, 0x04000000, 0x00000002}, + {0x50594959, 0x01000000, 0x00000001}, + {0x50594A42, 0x04000000, 0x00000001}, + {0x50594A59, 0x00800000, 0x00000001}, + {0x50594B41, 0x02000000, 0x00000003}, + {0x50594B42, 0x02000000, 0x00000002}, + {0x50594C41, 0x04000000, 0x00000001}, + {0x50594C43, 0x02000000, 0x00000002}, + {0x50594C59, 0x02000000, 0x00000002}, + {0x50594D54, 0x00800000, 0x00000001}, + {0x50594D59, 0x08000000, 0x00000005}, + {0x50594E41, 0x04000000, 0x00000003}, + {0x50594E42, 0x04000000, 0x00000001}, + {0x50594E43, 0x08000000, 0x00000002}, + {0x50594E59, 0x00800000, 0x00000001}, + {0x50594F41, 0x02000000, 0x00000002}, + {0x50594F43, 0x00000000, 0x00000002}, + {0x50595041, 0x02000000, 0x00000002}, + {0x50595042, 0x00800000, 0x00000001}, + {0x50595056, 0x10000000, 0x00000005}, + {0x50595241, 0x02000000, 0x00000002}, + {0x50595243, 0x01000000, 0x00000001}, + {0x50595254, 0x02000000, 0x00000001}, + {0x50595342, 0x02000000, 0x00000002}, + {0x50595344, 0x02000000, 0x00000001}, + {0x50595359, 0x01000000, 0x00000001}, + {0x50595442, 0x01000000, 0x00000002}, + {0x50595443, 0x01000000, 0x00000002}, + {0x50595543, 0x02000000, 0x00000001}, + {0x50595642, 0x08000000, 0x00000001}, + {0x50595743, 0x02000000, 0x00000003}, + {0x50595842, 0x04000000, 0x00000002}, + {0x50595941, 0x01000000, 0x00000002}, + {0x50595942, 0x08000000, 0x00000003}, + {0x50595943, 0x00800000, 0x00000001}, + {0x50595A41, 0x04000000, 0x00000002}, + {0x505A3243, 0x00800000, 0x00000002}, + {0x505A3441, 0x00800000, 0x00000001}, + {0x505A3442, 0x08000000, 0x00000002}, + {0x505A3443, 0x04000000, 0x00000002}, + {0x505A3542, 0x01000000, 0x00000001}, + {0x505A3642, 0x04000000, 0x00000003}, + {0x505A3659, 0x08000000, 0x00000000}, + {0x505A3742, 0x04000000, 0x00000001}, + {0x505A3842, 0x01000000, 0x00000001}, + {0x505A4159, 0x01000000, 0x00000001}, + {0x505A4241, 0x08000000, 0x00000003}, + {0x505A4243, 0x01000000, 0x00000003}, + {0x505A4259, 0x01000000, 0x00000001}, + {0x505A4341, 0x01000000, 0x00000001}, + {0x505A4342, 0x01000000, 0x00000002}, + {0x505A4343, 0x00800000, 0x00000001}, + {0x505A4359, 0x00800000, 0x00000001}, + {0x505A4441, 0x02000000, 0x00000002}, + {0x505A4442, 0x04000000, 0x00000003}, + {0x505A4443, 0x04000000, 0x00000002}, + {0x505A4459, 0x01000000, 0x00000002}, + {0x505A4641, 0x04000000, 0x00000001}, + {0x505A4642, 0x00800000, 0x00000001}, + {0x505A4742, 0x01000000, 0x00000002}, + {0x505A4743, 0x00000000, 0x00000001}, + {0x505A4759, 0x04000000, 0x00000001}, + {0x505A4841, 0x04000000, 0x00000001}, + {0x505A4842, 0x02000000, 0x00000003}, + {0x505A4859, 0x04000000, 0x00000002}, + {0x505A4941, 0x02000000, 0x00000002}, + {0x505A4943, 0x02000000, 0x00000001}, + {0x505A4A59, 0x04000000, 0x00000005}, + {0x505A4C42, 0x02000000, 0x00000001}, + {0x505A4C43, 0x04000000, 0x00000001}, + {0x505A4C59, 0x10000000, 0x00000002}, + {0x505A4D42, 0x00800000, 0x00000002}, + {0x505A4D54, 0x01000000, 0x00000002}, + {0x505A4D56, 0x04000000, 0x00000001}, + {0x505A4E41, 0x01000000, 0x00000001}, + {0x505A4E42, 0x01000000, 0x00000001}, + {0x505A4E59, 0x04000000, 0x00000002}, + {0x505A4F41, 0x01000000, 0x00000002}, + {0x505A4F42, 0x02000000, 0x00000001}, + {0x505A4F59, 0x00000000, 0x00000002}, + {0x505A5042, 0x00000000, 0x00000001}, + {0x505A5059, 0x01000000, 0x00000001}, + {0x505A5143, 0x02000000, 0x00000001}, + {0x505A5241, 0x04000000, 0x00000002}, + {0x505A5242, 0x04000000, 0x00000003}, + {0x505A5243, 0x00800000, 0x00000002}, + {0x505A5259, 0x01000000, 0x00000002}, + {0x505A5359, 0x08000000, 0x00000001}, + {0x505A5442, 0x02000000, 0x00000001}, + {0x505A5459, 0x04000000, 0x00000001}, + {0x505A5541, 0x04000000, 0x00000005}, + {0x505A5542, 0x00800000, 0x00000002}, + {0x505A5543, 0x04000000, 0x00000001}, + {0x505A5759, 0x04000000, 0x00000001}, + {0x505A5A42, 0x01000000, 0x00000001}, + {0x51374C42, 0x04000000, 0x00000001}, + {0x51375042, 0x02000000, 0x00000001}, + {0x51375142, 0x02000000, 0x00000001}, + {0x51385042, 0x04000000, 0x00000001}, + {0x51435143, 0x02000000, 0x00000001}, + {0x51454642, 0x04000000, 0x00000001}, + {0x514C5542, 0x02000000, 0x00000001}, + {0x514F5542, 0x01000000, 0x00000001}, + {0x51503642, 0x02000000, 0x00000001}, + {0x51573542, 0x02000000, 0x00000001}, + {0x51584C42, 0x04000000, 0x00000008}, + {0x51585042, 0x04000000, 0x00000003}, + {0x51594C42, 0x04000000, 0x00000008}, + {0x52335741, 0x04000000, 0x00000001}, + {0x52464443, 0x04000000, 0x00000002}, + {0x53323643, 0x04000000, 0x00000001}, + {0x53335141, 0x04000000, 0x00000002}, + {0x53335159, 0x04000000, 0x00000002}, + {0x53344259, 0x02000000, 0x00000001}, + {0x53344C43, 0x04000000, 0x00000002}, + {0x53354841, 0x02000000, 0x00000002}, + {0x53394341, 0x04000000, 0x00000001}, + {0x53414441, 0x04000000, 0x00000006}, + {0x53415041, 0x04000000, 0x00000006}, + {0x53415249, 0x10000000, 0x00000006}, + {0x53424542, 0x10000000, 0x00000003}, + {0x53425249, 0x10000000, 0x00000006}, + {0x53434A42, 0x04000000, 0x00000002}, + {0x53434D43, 0x02000000, 0x00000002}, + {0x53435141, 0x04000000, 0x00000002}, + {0x53435259, 0x08000000, 0x00000002}, + {0x53435943, 0x02000000, 0x00000002}, + {0x53445249, 0x20000000, 0x00000006}, + {0x53445641, 0x01000000, 0x00000002}, + {0x53453231, 0x02000000, 0x00000003}, + {0x53453443, 0x04000000, 0x00000001}, + {0x53454343, 0x01000000, 0x00000005}, + {0x53454542, 0x10000000, 0x00000003}, + {0x53454559, 0x10000000, 0x00000003}, + {0x53454959, 0x02000000, 0x00000002}, + {0x53454C43, 0x04000000, 0x00000001}, + {0x53455249, 0x20000000, 0x00000006}, + {0x53464959, 0x02000000, 0x00000002}, + {0x53464B59, 0x02000000, 0x00000001}, + {0x53464C42, 0x10000000, 0x00000003}, + {0x53465359, 0x04000000, 0x00000001}, + {0x53474D41, 0x01000000, 0x00000001}, + {0x53474D43, 0x04000000, 0x00000001}, + {0x53475049, 0x08000000, 0x00000006}, + {0x534A3343, 0x10000000, 0x00000003}, + {0x534A5641, 0x04000000, 0x00000002}, + {0x534B4356, 0x08000000, 0x00000002}, + {0x534B5049, 0x08000000, 0x00000006}, + {0x534C4443, 0x02000000, 0x00000004}, + {0x534C4C43, 0x01000000, 0x00000002}, + {0x534D4359, 0x02000000, 0x00000001}, + {0x534F4359, 0x04000000, 0x00000001}, + {0x534F5342, 0x02000000, 0x00000001}, + {0x53504A59, 0x01000000, 0x00000001}, + {0x53505A55, 0x08000000, 0xFFFFFFFF}, + {0x53514142, 0x08000000, 0x00000002}, + {0x53525359, 0x01000000, 0x00000005}, + {0x53533341, 0x02000000, 0x00000001}, + {0x53534F41, 0x08000000, 0x00000005}, + {0x53535541, 0x04000000, 0x00000001}, + {0x53544C59, 0x08000000, 0x00000002}, + {0x53554259, 0x08000000, 0x00000003}, + {0x53555043, 0x08000000, 0x00000006}, + {0x53563543, 0x01000000, 0x00000001}, + {0x53564256, 0x02000000, 0x00000001}, + {0x53564E43, 0x10000000, 0x00000005}, + {0x53565841, 0x04000000, 0x00000003}, + {0x53574143, 0x04000000, 0x00000001}, + {0x53594641, 0x04000000, 0x00000001}, + {0x53594C41, 0x04000000, 0x00000001}, + {0x53595543, 0x02000000, 0x00000001}, + {0x53595A41, 0x04000000, 0x00000002}, + {0x535A4641, 0x04000000, 0x00000001}, + {0x535A5359, 0x08000000, 0x00000001}, + {0x54595056, 0x10000000, 0x00000005}, + {0x55414C59, 0x00800000, 0x00000002}, + {0x55425742, 0x04000000, 0x00000002}, + {0x55434956, 0x04000000, 0x00000002}, + {0x55435243, 0x02000000, 0x00000001}, + {0x55444E41, 0x00800000, 0x00000008}, + {0x55454342, 0x02000000, 0x00000002}, + {0x55463343, 0x02000000, 0x00000002}, + {0x554A5243, 0x02000000, 0x00000001}, + {0x55504A59, 0x01000000, 0x00000001}, + {0x55515243, 0x02000000, 0x00000001}, + {0x55524542, 0x02000000, 0x00000001}, + {0x55525342, 0x01000000, 0x00000001}, + {0x55544256, 0x02000000, 0x00000002}, + {0x55545942, 0x04000000, 0x00000002}, + {0x55573341, 0x04000000, 0x00000002}, + {0x55574C41, 0x02000000, 0x00000001}, + {0x56324356, 0x02000000, 0x00000001}, + {0x56324456, 0x04000000, 0x00000001}, + {0x56324D56, 0x04000000, 0x00000002}, + {0x56335356, 0x08000000, 0x00000005}, + {0x56335456, 0x04000000, 0x00000001}, + {0x56345456, 0x04000000, 0x00000003}, + {0x56364356, 0x02000000, 0x00000002}, + {0x56394856, 0x04000000, 0x00000002}, + {0x56395056, 0x04000000, 0x00000001}, + {0x56413956, 0x02000000, 0x00000000}, + {0x56414156, 0x02000000, 0x00000008}, + {0x56414256, 0x02000000, 0x00000001}, + {0x56414356, 0x04000000, 0x00000001}, + {0x56414C56, 0x04000000, 0x00000002}, + {0x56434156, 0x04000000, 0x00000002}, + {0x56434D56, 0x02000000, 0x00000001}, + {0x56444356, 0x04000000, 0x00000002}, + {0x56444956, 0x02000000, 0x00000002}, + {0x56455056, 0x04000000, 0x00000001}, + {0x56455456, 0x04000000, 0x00000002}, + {0x56464956, 0x02000000, 0x00000002}, + {0x56465056, 0x04000000, 0x00000001}, + {0x56473256, 0x02000000, 0x00000006}, + {0x56475256, 0x02000000, 0x00000002}, + {0x56494C56, 0x02000000, 0x00000001}, + {0x56495256, 0x02000000, 0x00000001}, + {0x564A4956, 0x08000000, 0x00000003}, + {0x564B4356, 0x08000000, 0x00000002}, + {0x564B4D56, 0x02000000, 0x00000003}, + {0x564B5355, 0x08000000, 0xFFFFFFFF}, + {0x564B5356, 0x04000000, 0x00000001}, + {0x564C4156, 0x04000000, 0x00000002}, + {0x564C4256, 0x02000000, 0x00000002}, + {0x564C4556, 0x02000000, 0x00000003}, + {0x564D4356, 0x04000000, 0x00000002}, + {0x564E5356, 0x04000000, 0x00000002}, + {0x564F4156, 0x04000000, 0x00000001}, + {0x564F5356, 0x04000000, 0x00000003}, + {0x56505056, 0x02000000, 0x00000001}, + {0x56505256, 0x02000000, 0x00000001}, + {0x56505456, 0x08000000, 0x00000002}, + {0x56524756, 0x04000000, 0x00000001}, + {0x56534256, 0x02000000, 0x00000001}, + {0x56534556, 0x04000000, 0x00000001}, + {0x56534656, 0x08000000, 0x00000003}, + {0x56534844, 0x02000000, 0xFFFFFFFF}, + {0x56544156, 0x02000000, 0x00000001}, + {0x56554B56, 0x04000000, 0x00000001}, + {0x56555A56, 0x02000000, 0x00000002}, + {0x56564156, 0x04000000, 0x00000001}, + {0x56564256, 0x02000000, 0x00000001}, + {0x56564A56, 0x04000000, 0x00000001}, + {0x56565056, 0x04000000, 0x00000002}, + {0x56565756, 0x04000000, 0x00000001}, + {0x56574356, 0x02000000, 0x00000002}, + {0x56574856, 0x04000000, 0x00000002}, + {0x56574A56, 0x02000000, 0x00000003}, + {0x56594D56, 0x04000000, 0x00000001}, + {0x565A4656, 0x02000000, 0x00000001}, + {0x565A4D56, 0x04000000, 0x00000001}, + {0x57325141, 0x02000000, 0x00000002}, + {0x57334941, 0x01000000, 0x00000002}, + {0x57414356, 0x04000000, 0x00000001}, + {0x57414E43, 0x04000000, 0x00000001}, + {0x57445759, 0x01000000, 0x00000002}, + {0x57474C43, 0x04000000, 0x00000001}, + {0x574C5759, 0x02000000, 0x00000001}, + {0x57565141, 0x01000000, 0x00000002}, + {0x575A5242, 0x04000000, 0x00000003}, + {0x58324354, 0x00800000, 0x00000001}, + {0x58324842, 0x02000000, 0x00000003}, + {0x58324859, 0x02000000, 0x00000003}, + {0x58324B41, 0x04000000, 0x00000001}, + {0x58324D56, 0x04000000, 0x00000002}, + {0x58325141, 0x02000000, 0x00000002}, + {0x58325241, 0x02000000, 0x00000003}, + {0x58325341, 0x01000000, 0x00000001}, + {0x58334242, 0x00000000, 0x00000001}, + {0x58334542, 0x04000000, 0x00000001}, + {0x58334759, 0x02000000, 0x00000003}, + {0x58334841, 0x04000000, 0x00000003}, + {0x58334941, 0x01000000, 0x00000002}, + {0x58334943, 0x04000000, 0x00000001}, + {0x58334C41, 0x02000000, 0x00000001}, + {0x58335456, 0x04000000, 0x00000001}, + {0x58343242, 0x00800000, 0x00000001}, + {0x58344A43, 0x01000000, 0x00000001}, + {0x58345442, 0x01000000, 0x00000008}, + {0x58345741, 0x02000000, 0x00000002}, + {0x58354259, 0x02000000, 0x00000002}, + {0x58354A42, 0x02000000, 0x00000001}, + {0x58354D54, 0x04000000, 0x00000003}, + {0x58355059, 0x10000000, 0x00000001}, + {0x58355142, 0x04000000, 0x00000001}, + {0x58355243, 0x10000000, 0x00000001}, + {0x58355259, 0x02000000, 0x00000002}, + {0x58355343, 0x04000000, 0x00000001}, + {0x58363559, 0x04000000, 0x00000008}, + {0x58364254, 0x02000000, 0x00000001}, + {0x58364341, 0x01000000, 0x00000002}, + {0x58365259, 0x00000000, 0x00000002}, + {0x58374943, 0x04000000, 0x00000002}, + {0x58374A42, 0x00800000, 0x00000001}, + {0x58374C42, 0x04000000, 0x00000001}, + {0x58375042, 0x02000000, 0x00000001}, + {0x58384442, 0x04000000, 0x00000001}, + {0x58384843, 0x02000000, 0x00000001}, + {0x58384D41, 0x01000000, 0x00000001}, + {0x58385741, 0x04000000, 0x00000001}, + {0x58385742, 0x01000000, 0x00000001}, + {0x58385859, 0x08000000, 0x00000001}, + {0x58394259, 0x02000000, 0x00000003}, + {0x58394943, 0x01000000, 0x00000002}, + {0x58394D59, 0x01000000, 0x00000001}, + {0x58395056, 0x04000000, 0x00000001}, + {0x58395141, 0x04000000, 0x00000001}, + {0x58395341, 0x02000000, 0x00000001}, + {0x58395759, 0x08000000, 0x00000001}, + {0x58413541, 0x04000000, 0x00000001}, + {0x58414243, 0x02000000, 0x00000001}, + {0x58414356, 0x04000000, 0x00000001}, + {0x58414643, 0x08000000, 0x00000002}, + {0x58414E43, 0x04000000, 0x00000001}, + {0x58415141, 0x02000000, 0x00000001}, + {0x58415243, 0x00800000, 0x00000001}, + {0x58415359, 0x01000000, 0x00000002}, + {0x58415459, 0x04000000, 0x00000001}, + {0x58415A43, 0x02000000, 0x00000002}, + {0x58423242, 0x08000000, 0x00000002}, + {0x58423542, 0x08000000, 0x00000002}, + {0x58424254, 0x02000000, 0x00000001}, + {0x58424654, 0x01000000, 0x00000001}, + {0x58424743, 0x02000000, 0x00000001}, + {0x58424A43, 0x01000000, 0x00000001}, + {0x58424B43, 0x02000000, 0x00000002}, + {0x58425342, 0x04000000, 0x00000003}, + {0x58425442, 0x04000000, 0x00000002}, + {0x58425742, 0x04000000, 0x00000002}, + {0x58433342, 0x04000000, 0x00000002}, + {0x58433441, 0x02000000, 0x00000003}, + {0x58434341, 0x02000000, 0x00000001}, + {0x58434542, 0x01000000, 0x00000003}, + {0x58434642, 0x02000000, 0x00000001}, + {0x58434741, 0x04000000, 0x00000003}, + {0x58434941, 0x01000000, 0x00000001}, + {0x58435043, 0x01000000, 0x00000002}, + {0x58435143, 0x02000000, 0x00000001}, + {0x58435359, 0x02000000, 0x00000001}, + {0x58435842, 0x01000000, 0x00000001}, + {0x58443743, 0x04000000, 0x00000001}, + {0x58444359, 0x01000000, 0x00000001}, + {0x58444642, 0x00000000, 0x00000001}, + {0x58444842, 0x04000000, 0x00000001}, + {0x58444A54, 0x01000000, 0x00000001}, + {0x58444B42, 0x00800000, 0x00000001}, + {0x58445054, 0x08000000, 0x00000001}, + {0x58445759, 0x01000000, 0x00000002}, + {0x58453242, 0x00800000, 0x00000001}, + {0x58453442, 0x01000000, 0x00000001}, + {0x58454543, 0x00800000, 0x00000001}, + {0x58454C43, 0x04000000, 0x00000001}, + {0x58455056, 0x04000000, 0x00000001}, + {0x58455141, 0x00800000, 0x00000002}, + {0x58455143, 0x04000000, 0x00000002}, + {0x58455456, 0x04000000, 0x00000002}, + {0x58455542, 0x02000000, 0x00000001}, + {0x58463642, 0x08000000, 0x00000001}, + {0x58464143, 0x01000000, 0x00000001}, + {0x58464243, 0x08000000, 0x00000003}, + {0x58464541, 0x00800000, 0x00000001}, + {0x58464A42, 0x08000000, 0x00000003}, + {0x58465956, 0x02000000, 0x00000001}, + {0x58465A42, 0x04000000, 0x00000001}, + {0x58473241, 0x02000000, 0x00000003}, + {0x58474142, 0x01000000, 0x00000001}, + {0x58474143, 0x02000000, 0x00000001}, + {0x58474342, 0x04000000, 0x00000002}, + {0x58474354, 0x04000000, 0x00000001}, + {0x58474542, 0x00800000, 0x00000001}, + {0x58475742, 0x04000000, 0x00000001}, + {0x58475956, 0x04000000, 0x00000001}, + {0x58483343, 0x00800000, 0x00000001}, + {0x58483842, 0x04000000, 0x00000002}, + {0x58484759, 0x08000000, 0x00000001}, + {0x58484A42, 0x01000000, 0x00000001}, + {0x58484C41, 0x02000000, 0x00000001}, + {0x58485243, 0x00000000, 0x00000002}, + {0x58485254, 0x02000000, 0x00000001}, + {0x58485641, 0x04000000, 0x00000002}, + {0x58485A59, 0x04000000, 0x00000001}, + {0x58493642, 0x04000000, 0x00000002}, + {0x58494442, 0x04000000, 0x00000001}, + {0x58494641, 0x02000000, 0x00000002}, + {0x58494942, 0x00800000, 0x00000001}, + {0x58494C43, 0x04000000, 0x00000001}, + {0x58495259, 0x04000000, 0x00000002}, + {0x58495442, 0x01000000, 0x00000001}, + {0x584A4841, 0x01000000, 0x00000002}, + {0x584A4D54, 0x02000000, 0x00000001}, + {0x584A5143, 0x00800000, 0x00000001}, + {0x584B3443, 0x00800000, 0x00000001}, + {0x584B3842, 0x02000000, 0x00000002}, + {0x584B4143, 0x04000000, 0x00000002}, + {0x584B4243, 0x04000000, 0x00000002}, + {0x584B4541, 0x04000000, 0x00000002}, + {0x584B4642, 0x04000000, 0x00000001}, + {0x584B4B41, 0x02000000, 0x00000003}, + {0x584B4C42, 0x04000000, 0x00000001}, + {0x584B5356, 0x04000000, 0x00000001}, + {0x584B5559, 0x04000000, 0x00000001}, + {0x584C4643, 0x02000000, 0x00000002}, + {0x584C4A59, 0x01000000, 0x00000002}, + {0x584C4E59, 0x04000000, 0x00000001}, + {0x584C5059, 0x00800000, 0x00000001}, + {0x584C5242, 0x02000000, 0x00000001}, + {0x584C5342, 0x02000000, 0x00000003}, + {0x584C5543, 0x04000000, 0x00000001}, + {0x584C5759, 0x02000000, 0x00000001}, + {0x584C5941, 0x02000000, 0x00000002}, + {0x584C5959, 0x04000000, 0x00000002}, + {0x584D3243, 0x02000000, 0x00000002}, + {0x584D3442, 0x02000000, 0x00000001}, + {0x584D4359, 0x02000000, 0x00000001}, + {0x584D4842, 0x02000000, 0x00000001}, + {0x584D4A54, 0x00800000, 0x00000001}, + {0x584D4C42, 0x01000000, 0x00000001}, + {0x584D4E42, 0x04000000, 0x00000001}, + {0x584D5642, 0x02000000, 0x00000001}, + {0x584D5842, 0x04000000, 0x00000002}, + {0x584E3743, 0x04000000, 0x00000001}, + {0x584E4354, 0x01000000, 0x00000001}, + {0x584E4559, 0x00800000, 0x00000001}, + {0x584E4641, 0x02000000, 0x00000002}, + {0x584E5159, 0x04000000, 0x00000002}, + {0x584F3543, 0x01000000, 0x00000001}, + {0x584F3642, 0x02000000, 0x00000001}, + {0x584F3743, 0x04000000, 0x00000002}, + {0x584F4142, 0x04000000, 0x00000001}, + {0x584F4156, 0x04000000, 0x00000001}, + {0x584F4442, 0x01000000, 0x00000001}, + {0x584F4D59, 0x04000000, 0x00000001}, + {0x584F5542, 0x02000000, 0x00000001}, + {0x584F5741, 0x02000000, 0x00000002}, + {0x584F5841, 0x01000000, 0x00000002}, + {0x584F5843, 0x04000000, 0x00000001}, + {0x58503541, 0x04000000, 0x00000001}, + {0x58504259, 0x02000000, 0x00000001}, + {0x58504342, 0x04000000, 0x00000002}, + {0x58504442, 0x02000000, 0x00000001}, + {0x58504B59, 0x01000000, 0x00000001}, + {0x58504F43, 0x01000000, 0x00000003}, + {0x58505343, 0x02000000, 0x00000003}, + {0x58513543, 0x01000000, 0x00000002}, + {0x58513643, 0x08000000, 0x00000001}, + {0x58514559, 0x01000000, 0x00000001}, + {0x58514A59, 0x01000000, 0x00000001}, + {0x58514C42, 0x02000000, 0x00000001}, + {0x58514D43, 0x02000000, 0x00000001}, + {0x58514D59, 0x02000000, 0x00000001}, + {0x58515459, 0x01000000, 0x00000001}, + {0x58523559, 0x04000000, 0x00000008}, + {0x58523743, 0x00800000, 0x00000001}, + {0x58524354, 0x00800000, 0x00000001}, + {0x58524459, 0x01000000, 0x00000001}, + {0x58524842, 0x02000000, 0x00000001}, + {0x58524943, 0x04000000, 0x00000002}, + {0x58524A42, 0x01000000, 0x00000001}, + {0x58524C54, 0x08000000, 0x00000001}, + {0x58524D42, 0x02000000, 0x00000001}, + {0x58525042, 0x00800000, 0x00000001}, + {0x58525141, 0x01000000, 0x00000002}, + {0x58525642, 0x04000000, 0x00000001}, + {0x58525843, 0x04000000, 0x00000001}, + {0x58533841, 0x00800000, 0x00000002}, + {0x58534342, 0x04000000, 0x00000002}, + {0x58534556, 0x04000000, 0x00000001}, + {0x58534642, 0x04000000, 0x00000001}, + {0x58534643, 0x02000000, 0x00000001}, + {0x58534743, 0x08000000, 0x00000001}, + {0x58534A54, 0x00800000, 0x00000001}, + {0x58534E43, 0x04000000, 0x00000002}, + {0x58535143, 0x02000000, 0x00000001}, + {0x58543341, 0x02000000, 0x00000002}, + {0x58543642, 0x04000000, 0x00000001}, + {0x58543743, 0x01000000, 0x00000002}, + {0x58544256, 0x02000000, 0x00000002}, + {0x58544D59, 0x02000000, 0x00000002}, + {0x58545054, 0x08000000, 0x00000001}, + {0x58545259, 0x02000000, 0x00000002}, + {0x58545A41, 0x01000000, 0x00000005}, + {0x58554159, 0x04000000, 0x00000003}, + {0x58554242, 0x04000000, 0x00000003}, + {0x58554341, 0x08000000, 0x00000005}, + {0x58554454, 0x01000000, 0x00000001}, + {0x58554643, 0x00000000, 0x00000002}, + {0x58554E42, 0x01000000, 0x00000001}, + {0x58555442, 0x04000000, 0x00000002}, + {0x58555841, 0x02000000, 0x00000001}, + {0x58564142, 0x04000000, 0x00000001}, + {0x58564159, 0x04000000, 0x00000002}, + {0x58564343, 0x01000000, 0x00000001}, + {0x58564854, 0x04000000, 0x00000001}, + {0x58564B42, 0x00800000, 0x00000001}, + {0x58564D42, 0x00800000, 0x00000001}, + {0x58565141, 0x01000000, 0x00000002}, + {0x58573241, 0x04000000, 0x00000001}, + {0x58573341, 0x04000000, 0x00000002}, + {0x58573742, 0x01000000, 0x00000002}, + {0x58574443, 0x01000000, 0x00000001}, + {0x58574859, 0x02000000, 0x00000001}, + {0x58574942, 0x04000000, 0x00000002}, + {0x58574C41, 0x02000000, 0x00000001}, + {0x58574D42, 0x04000000, 0x00000002}, + {0x58575141, 0x02000000, 0x00000001}, + {0x58575343, 0x04000000, 0x00000001}, + {0x58575942, 0x00800000, 0x00000001}, + {0x58584254, 0x04000000, 0x00000002}, + {0x58584C41, 0x02000000, 0x00000001}, + {0x58584D59, 0x00800000, 0x00000001}, + {0x58585043, 0x01000000, 0x00000005}, + {0x58594159, 0x02000000, 0x00000001}, + {0x58594259, 0x02000000, 0x00000001}, + {0x58594443, 0x02000000, 0x00000002}, + {0x58594741, 0x04000000, 0x00000003}, + {0x58594842, 0x02000000, 0x00000001}, + {0x58594943, 0x04000000, 0x00000002}, + {0x58594A42, 0x04000000, 0x00000001}, + {0x58594E42, 0x04000000, 0x00000001}, + {0x58595543, 0x02000000, 0x00000001}, + {0x585A3242, 0x00800000, 0x00000001}, + {0x585A3742, 0x04000000, 0x00000001}, + {0x585A4341, 0x01000000, 0x00000001}, + {0x585A4A59, 0x04000000, 0x00000005}, + {0x585A4C59, 0x10000000, 0x00000002}, + {0x585A4D56, 0x04000000, 0x00000001}, + {0x585A5059, 0x01000000, 0x00000001}, + {0x585A5242, 0x04000000, 0x00000003}, + {0x585A5243, 0x00800000, 0x00000002}, + {0x585A5442, 0x04000000, 0x00000001}, + {0x59325141, 0x02000000, 0x00000002}, + {0x59334242, 0x08000000, 0x00000001}, + {0x59334759, 0x02000000, 0x00000003}, + {0x59334941, 0x01000000, 0x00000002}, + {0x59334943, 0x04000000, 0x00000001}, + {0x59334C41, 0x02000000, 0x00000001}, + {0x59345741, 0x02000000, 0x00000002}, + {0x59354A42, 0x02000000, 0x00000001}, + {0x59355142, 0x08000000, 0x00000001}, + {0x59364341, 0x01000000, 0x00000002}, + {0x59374943, 0x00000000, 0x00000002}, + {0x59394259, 0x02000000, 0x00000003}, + {0x59395056, 0x04000000, 0x00000001}, + {0x59414356, 0x04000000, 0x00000001}, + {0x59414643, 0x08000000, 0x00000002}, + {0x59414E43, 0x04000000, 0x00000001}, + {0x59415359, 0x01000000, 0x00000002}, + {0x59415459, 0x04000000, 0x00000001}, + {0x59425442, 0x04000000, 0x00000002}, + {0x59425742, 0x04000000, 0x00000002}, + {0x59434741, 0x04000000, 0x00000003}, + {0x59443442, 0x01000000, 0x00000001}, + {0x59444642, 0x00800000, 0x00000001}, + {0x59445054, 0x08000000, 0x00000001}, + {0x59453442, 0x01000000, 0x00000001}, + {0x59454259, 0x08000000, 0x00000003}, + {0x59454543, 0x00800000, 0x00000001}, + {0x59454C43, 0x04000000, 0x00000001}, + {0x59455056, 0x04000000, 0x00000001}, + {0x59455143, 0x04000000, 0x00000002}, + {0x59455542, 0x02000000, 0x00000001}, + {0x59463642, 0x08000000, 0x00000001}, + {0x59465042, 0x04000000, 0x00000002}, + {0x59474354, 0x04000000, 0x00000001}, + {0x59474C43, 0x04000000, 0x00000001}, + {0x59484A42, 0x01000000, 0x00000001}, + {0x59484C41, 0x02000000, 0x00000001}, + {0x59495443, 0x02000000, 0x00000002}, + {0x594A4841, 0x01000000, 0x00000002}, + {0x594A4D54, 0x02000000, 0x00000001}, + {0x594B5356, 0x04000000, 0x00000001}, + {0x594C4A59, 0x01000000, 0x00000002}, + {0x594C4E59, 0x04000000, 0x00000001}, + {0x594C5759, 0x02000000, 0x00000001}, + {0x594E4641, 0x02000000, 0x00000002}, + {0x594E4654, 0x04000000, 0x00000002}, + {0x594E5159, 0x04000000, 0x00000002}, + {0x594F5841, 0x01000000, 0x00000002}, + {0x59504442, 0x02000000, 0x00000001}, + {0x59513642, 0x00800000, 0x00000001}, + {0x59514559, 0x01000000, 0x00000001}, + {0x59514D59, 0x02000000, 0x00000001}, + {0x59524254, 0x04000000, 0x00000001}, + {0x59524459, 0x01000000, 0x00000001}, + {0x59524842, 0x02000000, 0x00000001}, + {0x59524C54, 0x08000000, 0x00000001}, + {0x59533841, 0x00800000, 0x00000002}, + {0x59545054, 0x08000000, 0x00000001}, + {0x59545259, 0x02000000, 0x00000002}, + {0x59545A41, 0x01000000, 0x00000005}, + {0x59554242, 0x04000000, 0x00000003}, + {0x59554341, 0x08000000, 0x00000005}, + {0x59554B56, 0x04000000, 0x00000001}, + {0x59554D42, 0x04000000, 0x00000001}, + {0x59555154, 0x00800000, 0x00000001}, + {0x59555442, 0x04000000, 0x00000002}, + {0x59564854, 0x04000000, 0x00000001}, + {0x59565141, 0x01000000, 0x00000002}, + {0x59573241, 0x04000000, 0x00000001}, + {0x59574443, 0x01000000, 0x00000001}, + {0x59574C41, 0x02000000, 0x00000001}, + {0x59574D42, 0x04000000, 0x00000002}, + {0x59594159, 0x02000000, 0x00000001}, + {0x59594254, 0x04000000, 0x00000002}, + {0x59594442, 0x08000000, 0x00000002}, + {0x59594E42, 0x04000000, 0x00000001}, + {0x595A4341, 0x01000000, 0x00000001}, + {0x595A4A59, 0x04000000, 0x00000005}, + {0x595A5059, 0x01000000, 0x00000001}, + {0x595A5242, 0x04000000, 0x00000003}, + {0x595A5442, 0x04000000, 0x00000001}, + {0x595A5443, 0x02000000, 0x00000003}, + {0x5A325141, 0x02000000, 0x00000002}, + {0x5A334941, 0x01000000, 0x00000002}, + {0x5A335456, 0x04000000, 0x00000001}, + {0x5A345741, 0x02000000, 0x00000002}, + {0x5A353859, 0x00800000, 0x00000008}, + {0x5A374943, 0x04000000, 0x00000002}, + {0x5A414356, 0x04000000, 0x00000001}, + {0x5A424259, 0x02000000, 0x00000001}, + {0x5A445759, 0x01000000, 0x00000002}, + {0x5A454259, 0x08000000, 0x00000003}, + {0x5A475956, 0x04000000, 0x00000001}, + {0x5A4A3642, 0x00800000, 0x00000001}, + {0x5A4A3959, 0x00800000, 0x00000008}, + {0x5A4C4E59, 0x04000000, 0x00000001}, + {0x5A4C5759, 0x02000000, 0x00000001}, + {0x5A4C5959, 0x04000000, 0x00000002}, + {0x5A4D4842, 0x02000000, 0x00000001}, + {0x5A4F3959, 0x00800000, 0x00000000}, + {0x5A513642, 0x00800000, 0x00000001}, + {0x5A523642, 0x08000000, 0x00000002}, + {0x5A544D59, 0x02000000, 0x00000002}, + {0x5A545054, 0x08000000, 0x00000001}, + {0x5A554242, 0x04000000, 0x00000003}, + {0x5A565141, 0x01000000, 0x00000002}, + {0x5A574C41, 0x02000000, 0x00000001}, + {0x5A595543, 0x02000000, 0x00000001}, + {0x5A5A4254, 0x04000000, 0x00000002}, + {0x5A5A4341, 0x01000000, 0x00000001}, + {0x5A5A5242, 0x04000000, 0x00000003}, +}; + +#endif // ROMLIST_H diff --git a/src/frontend/qt_sdl/main.cpp b/src/frontend/qt_sdl/main.cpp index 8df6ec8..a3207c7 100644 --- a/src/frontend/qt_sdl/main.cpp +++ b/src/frontend/qt_sdl/main.cpp @@ -1900,39 +1900,6 @@ int main(int argc, char** argv) SANITIZE(Config::ScreenSizing, 0, 3); #undef SANITIZE - // TODO: this should be checked before running anything -#if 0 - { - const char* romlist_missing = "Save memory type detection will not work correctly.\n\n" - "You should use the latest version of romlist.bin (provided in melonDS release packages)."; -#if !defined(UNIX_PORTABLE) && !defined(__WIN32__) - std::string missingstr = std::string(romlist_missing) + - "\n\nThe ROM list should be placed in " + g_get_user_data_dir() + "/melonds/, otherwise " - "melonDS will search for it in the current working directory."; - const char* romlist_missing_text = missingstr.c_str(); -#else - const char* romlist_missing_text = romlist_missing; -#endif - - FILE* f = Platform::OpenDataFile("romlist.bin"); - if (f) - { - u32 data; - fread(&data, 4, 1, f); - fclose(f); - - if ((data >> 24) == 0) // old CRC-based list - { - uiMsgBoxError(NULL, "Your version of romlist.bin is outdated.", romlist_missing_text); - } - } - else - { - uiMsgBoxError(NULL, "romlist.bin not found.", romlist_missing_text); - } - } -#endif - QSurfaceFormat format; format.setDepthBufferSize(24); format.setStencilBufferSize(8); -- cgit v1.2.3 From 82302c9bf48598f889d0942340c224852c1378c5 Mon Sep 17 00:00:00 2001 From: Arisotura Date: Sat, 30 May 2020 03:15:05 +0200 Subject: fix shito. --- src/NDSCart.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'src/NDSCart.cpp') diff --git a/src/NDSCart.cpp b/src/NDSCart.cpp index 6a25bcb..06c3bde 100644 --- a/src/NDSCart.cpp +++ b/src/NDSCart.cpp @@ -875,10 +875,10 @@ void DecryptSecureArea(u8* out) memcpy(out, &CartROM[arm9base], 0x800); - Key1_InitKeycode(gamecode, 2, 2); + Key1_InitKeycode(false, gamecode, 2, 2); Key1_Decrypt((u32*)&out[0]); - Key1_InitKeycode(gamecode, 3, 2); + Key1_InitKeycode(false, gamecode, 3, 2); for (u32 i = 0; i < 0x800; i += 8) Key1_Decrypt((u32*)&out[i]); @@ -1018,7 +1018,7 @@ bool LoadROM(const char* path, const char* sram, bool direct) ROMCommandHandler = ROMCommand_Retail; // encryption - Key1_InitKeycode(gamecode, 2, 2); + Key1_InitKeycode(false, gamecode, 2, 2); // save printf("Save file: %s\n", sram); -- cgit v1.2.3 From 43e045357f7d74eecff61b0c8af8068b31e963b3 Mon Sep 17 00:00:00 2001 From: Arisotura Date: Mon, 1 Jun 2020 20:36:30 +0200 Subject: make it able to switch between DS and DSi modes --- src/ARM.cpp | 46 +++++++++ src/ARM.h | 43 ++++---- src/CP15.cpp | 30 ++---- src/DMA.cpp | 29 ++++-- src/DMA.h | 5 + src/DSi.cpp | 7 +- src/NDS.cpp | 54 +++++++--- src/NDS.h | 5 + src/NDSCart.cpp | 15 ++- src/SPI.cpp | 32 ++++-- src/SPU.cpp | 16 ++- src/SPU.h | 6 ++ src/frontend/FrontendUtil.h | 9 ++ src/frontend/Util_ROM.cpp | 163 +++++++++++++++++++++++++++--- src/frontend/qt_sdl/EmuSettingsDialog.cpp | 2 +- src/frontend/qt_sdl/main.cpp | 45 +++++++-- 16 files changed, 396 insertions(+), 111 deletions(-) (limited to 'src/NDSCart.cpp') diff --git a/src/ARM.cpp b/src/ARM.cpp index 2d8c807..68cac59 100644 --- a/src/ARM.cpp +++ b/src/ARM.cpp @@ -18,6 +18,7 @@ #include #include "NDS.h" +#include "DSi.h" #include "ARM.h" #include "ARMInterpreter.h" #include "AREngine.h" @@ -101,10 +102,55 @@ void ARM::Reset() void ARMv5::Reset() { + if (NDS::ConsoleType == 1) + { + BusRead8 = DSi::ARM9Read8; + BusRead16 = DSi::ARM9Read16; + BusRead32 = DSi::ARM9Read32; + BusWrite8 = DSi::ARM9Write8; + BusWrite16 = DSi::ARM9Write16; + BusWrite32 = DSi::ARM9Write32; + GetMemRegion = DSi::ARM9GetMemRegion; + } + else + { + BusRead8 = NDS::ARM9Read8; + BusRead16 = NDS::ARM9Read16; + BusRead32 = NDS::ARM9Read32; + BusWrite8 = NDS::ARM9Write8; + BusWrite16 = NDS::ARM9Write16; + BusWrite32 = NDS::ARM9Write32; + GetMemRegion = NDS::ARM9GetMemRegion; + } + CP15Reset(); ARM::Reset(); } +void ARMv4::Reset() +{ + if (NDS::ConsoleType) + { + BusRead8 = DSi::ARM7Read8; + BusRead16 = DSi::ARM7Read16; + BusRead32 = DSi::ARM7Read32; + BusWrite8 = DSi::ARM7Write8; + BusWrite16 = DSi::ARM7Write16; + BusWrite32 = DSi::ARM7Write32; + } + else + { + BusRead8 = NDS::ARM7Read8; + BusRead16 = NDS::ARM7Read16; + BusRead32 = NDS::ARM7Read32; + BusWrite8 = NDS::ARM7Write8; + BusWrite16 = NDS::ARM7Write16; + BusWrite32 = NDS::ARM7Write32; + } + + ARM::Reset(); +} + void ARM::DoSavestate(Savestate* file) { diff --git a/src/ARM.h b/src/ARM.h index 95c41d4..e0832e2 100644 --- a/src/ARM.h +++ b/src/ARM.h @@ -23,7 +23,6 @@ #include "types.h" #include "NDS.h" -#include "DSi.h" #define ROR(x, n) (((x) >> (n)) | ((x) << (32-(n)))) @@ -133,6 +132,14 @@ public: NDS::MemRegion CodeMem; static u32 ConditionTable[16]; + +protected: + u8 (*BusRead8)(u32 addr); + u16 (*BusRead16)(u32 addr); + u32 (*BusRead32)(u32 addr); + void (*BusWrite8)(u32 addr, u8 val); + void (*BusWrite16)(u32 addr, u16 val); + void (*BusWrite32)(u32 addr, u32 val); }; class ARMv5 : public ARM @@ -260,6 +267,8 @@ public: s32 RegionCodeCycles; u8* CurICacheLine; + + bool (*GetMemRegion)(u32 addr, bool write, NDS::MemRegion* region); }; class ARMv4 : public ARM @@ -267,26 +276,25 @@ class ARMv4 : public ARM public: ARMv4(); + void Reset(); + void JumpTo(u32 addr, bool restorecpsr = false); void Execute(); u16 CodeRead16(u32 addr) { - //return NDS::ARM7Read16(addr); - return DSi::ARM7Read16(addr); + return BusRead16(addr); } u32 CodeRead32(u32 addr) { - //return NDS::ARM7Read32(addr); - return DSi::ARM7Read32(addr); + return BusRead32(addr); } void DataRead8(u32 addr, u32* val) { - *val = DSi::ARM7Read8(addr); - //*val = NDS::ARM7Read8(addr); + *val = BusRead8(addr); DataRegion = addr >> 24; DataCycles = NDS::ARM7MemTimings[DataRegion][0]; } @@ -295,8 +303,7 @@ public: { addr &= ~1; - *val = DSi::ARM7Read16(addr); - //*val = NDS::ARM7Read16(addr); + *val = BusRead16(addr); DataRegion = addr >> 24; DataCycles = NDS::ARM7MemTimings[DataRegion][0]; } @@ -305,8 +312,7 @@ public: { addr &= ~3; - *val = DSi::ARM7Read32(addr); - //*val = NDS::ARM7Read32(addr); + *val = BusRead32(addr); DataRegion = addr >> 24; DataCycles = NDS::ARM7MemTimings[DataRegion][2]; } @@ -315,15 +321,13 @@ public: { addr &= ~3; - *val = DSi::ARM7Read32(addr); - //*val = NDS::ARM7Read32(addr); + *val = BusRead32(addr); DataCycles += NDS::ARM7MemTimings[DataRegion][3]; } void DataWrite8(u32 addr, u8 val) { - DSi::ARM7Write8(addr, val); - //NDS::ARM7Write8(addr, val); + BusWrite8(addr, val); DataRegion = addr >> 24; DataCycles = NDS::ARM7MemTimings[DataRegion][0]; } @@ -332,8 +336,7 @@ public: { addr &= ~1; - DSi::ARM7Write16(addr, val); - //NDS::ARM7Write16(addr, val); + BusWrite16(addr, val); DataRegion = addr >> 24; DataCycles = NDS::ARM7MemTimings[DataRegion][0]; } @@ -342,8 +345,7 @@ public: { addr &= ~3; - DSi::ARM7Write32(addr, val); - //NDS::ARM7Write32(addr, val); + BusWrite32(addr, val); DataRegion = addr >> 24; DataCycles = NDS::ARM7MemTimings[DataRegion][2]; } @@ -352,8 +354,7 @@ public: { addr &= ~3; - DSi::ARM7Write32(addr, val); - //NDS::ARM7Write32(addr, val); + BusWrite32(addr, val); DataCycles += NDS::ARM7MemTimings[DataRegion][3]; } diff --git a/src/CP15.cpp b/src/CP15.cpp index b61cc45..d340b9e 100644 --- a/src/CP15.cpp +++ b/src/CP15.cpp @@ -720,8 +720,7 @@ u32 ARMv5::CodeRead32(u32 addr, bool branch) if (CodeMem.Mem) return *(u32*)&CodeMem.Mem[addr & CodeMem.Mask]; - //return NDS::ARM9Read32(addr); - return DSi::ARM9Read32(addr); + return BusRead32(addr); } @@ -740,8 +739,7 @@ void ARMv5::DataRead8(u32 addr, u32* val) return; } - *val = DSi::ARM9Read8(addr); - //*val = NDS::ARM9Read8(addr); + *val = BusRead8(addr); DataCycles = MemTimings[addr >> 12][1]; } @@ -762,8 +760,7 @@ void ARMv5::DataRead16(u32 addr, u32* val) return; } - *val = DSi::ARM9Read16(addr); - //*val = NDS::ARM9Read16(addr); + *val = BusRead16(addr); DataCycles = MemTimings[addr >> 12][1]; } @@ -784,8 +781,7 @@ void ARMv5::DataRead32(u32 addr, u32* val) return; } - *val = DSi::ARM9Read32(addr); - //*val = NDS::ARM9Read32(addr); + *val = BusRead32(addr); DataCycles = MemTimings[addr >> 12][2]; } @@ -806,8 +802,7 @@ void ARMv5::DataRead32S(u32 addr, u32* val) return; } - *val = DSi::ARM9Read32(addr); - //*val = NDS::ARM9Read32(addr); + *val = BusRead32(addr); DataCycles += MemTimings[addr >> 12][3]; } @@ -826,8 +821,7 @@ void ARMv5::DataWrite8(u32 addr, u8 val) return; } - DSi::ARM9Write8(addr, val); - //NDS::ARM9Write8(addr, val); + BusWrite8(addr, val); DataCycles = MemTimings[addr >> 12][1]; } @@ -848,8 +842,7 @@ void ARMv5::DataWrite16(u32 addr, u16 val) return; } - DSi::ARM9Write16(addr, val); - //NDS::ARM9Write16(addr, val); + BusWrite16(addr, val); DataCycles = MemTimings[addr >> 12][1]; } @@ -870,8 +863,7 @@ void ARMv5::DataWrite32(u32 addr, u32 val) return; } - DSi::ARM9Write32(addr, val); - //NDS::ARM9Write32(addr, val); + BusWrite32(addr, val); DataCycles = MemTimings[addr >> 12][2]; } @@ -892,8 +884,7 @@ void ARMv5::DataWrite32S(u32 addr, u32 val) return; } - DSi::ARM9Write32(addr, val); - //NDS::ARM9Write32(addr, val); + BusWrite32(addr, val); DataCycles += MemTimings[addr >> 12][3]; } @@ -906,7 +897,6 @@ void ARMv5::GetCodeMemRegion(u32 addr, NDS::MemRegion* region) return; }*/ - DSi::ARM9GetMemRegion(addr, false, &CodeMem); - //NDS::ARM9GetMemRegion(addr, false, &CodeMem); + GetMemRegion(addr, false, &CodeMem); } diff --git a/src/DMA.cpp b/src/DMA.cpp index 8e294fc..cd2df45 100644 --- a/src/DMA.cpp +++ b/src/DMA.cpp @@ -53,8 +53,6 @@ DMA::DMA(u32 cpu, u32 num) CountMask = 0x001FFFFF; else CountMask = (num==3 ? 0x0000FFFF : 0x00003FFF); - - Reset(); } DMA::~DMA() @@ -77,6 +75,21 @@ void DMA::Reset() Running = false; InProgress = false; + + if (NDS::ConsoleType == 1) + { + BusRead16 = (CPU==0) ? DSi::ARM9Read16 : DSi::ARM7Read16; + BusRead32 = (CPU==0) ? DSi::ARM9Read32 : DSi::ARM7Read32; + BusWrite16 = (CPU==0) ? DSi::ARM9Write16 : DSi::ARM7Write16; + BusWrite32 = (CPU==0) ? DSi::ARM9Write32 : DSi::ARM7Write32; + } + else + { + BusRead16 = (CPU==0) ? NDS::ARM9Read16 : NDS::ARM7Read16; + BusRead32 = (CPU==0) ? NDS::ARM9Read32 : NDS::ARM7Read32; + BusWrite16 = (CPU==0) ? NDS::ARM9Write16 : NDS::ARM7Write16; + BusWrite32 = (CPU==0) ? NDS::ARM9Write32 : NDS::ARM7Write32; + } } void DMA::DoSavestate(Savestate* file) @@ -227,8 +240,7 @@ void DMA::Run9() { NDS::ARM9Timestamp += (unitcycles << NDS::ARM9ClockShift); - //NDS::ARM9Write16(CurDstAddr, NDS::ARM9Read16(CurSrcAddr)); - DSi::ARM9Write16(CurDstAddr, DSi::ARM9Read16(CurSrcAddr)); + BusWrite16(CurDstAddr, BusRead16(CurSrcAddr)); CurSrcAddr += SrcAddrInc<<1; CurDstAddr += DstAddrInc<<1; @@ -264,8 +276,7 @@ void DMA::Run9() { NDS::ARM9Timestamp += (unitcycles << NDS::ARM9ClockShift); - //NDS::ARM9Write32(CurDstAddr, NDS::ARM9Read32(CurSrcAddr)); - DSi::ARM9Write32(CurDstAddr, DSi::ARM9Read32(CurSrcAddr)); + BusWrite32(CurDstAddr, BusRead32(CurSrcAddr)); CurSrcAddr += SrcAddrInc<<2; CurDstAddr += DstAddrInc<<2; @@ -341,8 +352,7 @@ void DMA::Run7() { NDS::ARM7Timestamp += unitcycles; - //NDS::ARM7Write16(CurDstAddr, NDS::ARM7Read16(CurSrcAddr)); - DSi::ARM7Write16(CurDstAddr, DSi::ARM7Read16(CurSrcAddr)); + BusWrite16(CurDstAddr, BusRead16(CurSrcAddr)); CurSrcAddr += SrcAddrInc<<1; CurDstAddr += DstAddrInc<<1; @@ -378,8 +388,7 @@ void DMA::Run7() { NDS::ARM7Timestamp += unitcycles; - //NDS::ARM7Write32(CurDstAddr, NDS::ARM7Read32(CurSrcAddr)); - DSi::ARM7Write32(CurDstAddr, DSi::ARM7Read32(CurSrcAddr)); + BusWrite32(CurDstAddr, BusRead32(CurSrcAddr)); CurSrcAddr += SrcAddrInc<<2; CurDstAddr += DstAddrInc<<2; diff --git a/src/DMA.h b/src/DMA.h index 2e7678c..0344fba 100644 --- a/src/DMA.h +++ b/src/DMA.h @@ -86,6 +86,11 @@ private: bool Stall; bool IsGXFIFODMA; + + u16 (*BusRead16)(u32 addr); + u32 (*BusRead32)(u32 addr); + void (*BusWrite16)(u32 addr, u16 val); + void (*BusWrite32)(u32 addr, u32 val); }; #endif diff --git a/src/DSi.cpp b/src/DSi.cpp index 58f39c2..520b269 100644 --- a/src/DSi.cpp +++ b/src/DSi.cpp @@ -18,6 +18,7 @@ #include #include +#include "Config.h" #include "NDS.h" #include "DSi.h" #include "ARM.h" @@ -221,7 +222,7 @@ bool LoadBIOS() memset(ARM9iBIOS, 0, 0x10000); memset(ARM7iBIOS, 0, 0x10000); - f = Platform::OpenLocalFile("bios9i.bin", "rb"); + f = Platform::OpenLocalFile(Config::DSiBIOS9Path, "rb"); if (!f) { printf("ARM9i BIOS not found\n"); @@ -238,7 +239,7 @@ bool LoadBIOS() fclose(f); } - f = Platform::OpenLocalFile("bios7i.bin", "rb"); + f = Platform::OpenLocalFile(Config::DSiBIOS7Path, "rb"); if (!f) { printf("ARM7i BIOS not found\n"); @@ -283,7 +284,7 @@ bool LoadNAND() memset(NWRAMEnd, 0, sizeof(NWRAMEnd)); memset(NWRAMMask, 0, sizeof(NWRAMMask)); - FILE* f = Platform::OpenLocalFile("nand.bin", "rb"); + FILE* f = Platform::OpenLocalFile(Config::DSiNANDPath, "rb"); if (f) { u32 bootparams[8]; diff --git a/src/NDS.cpp b/src/NDS.cpp index 001dfe6..22368ae 100644 --- a/src/NDS.cpp +++ b/src/NDS.cpp @@ -62,6 +62,8 @@ namespace NDS // // timings for GBA slot and wifi are set up at runtime +int ConsoleType; + u8 ARM9MemTimings[0x40000][4]; u8 ARM7MemTimings[0x20000][4]; @@ -296,6 +298,8 @@ void InitTimings() // TODO: +3c nonseq waitstate doesn't apply to DMA! // but of course mainRAM always gets 8c nonseq waitstate + // TODO: DSi-specific timings!! + SetARM9RegionTimings(0x00000000, 0xFFFFFFFF, 32, 1 + 3, 1); // void SetARM9RegionTimings(0xFFFF0000, 0xFFFFFFFF, 32, 1 + 3, 1); // BIOS @@ -321,6 +325,12 @@ void InitTimings() void SetupDirectBoot() { + if (ConsoleType == 1) + { + printf("!! DIRECT BOOT NOT SUPPORTED IN DSI MODE\n"); + return; + } + u32 bootparams[8]; memcpy(bootparams, &NDSCart::CartROM[0x20], 8*4); @@ -469,7 +479,7 @@ void Reset() fclose(f); } - if (true) + if (ConsoleType == 1) { DSi::LoadBIOS(); DSi::LoadNAND(); @@ -559,8 +569,11 @@ void Reset() RTC::Reset(); Wifi::Reset(); - DSi::Reset(); - KeyInput &= ~(1 << (16+6)); // TODO + if (ConsoleType == 1) + { + DSi::Reset(); + KeyInput &= ~(1 << (16+6)); + } AREngine::Reset(); } @@ -670,6 +683,11 @@ bool DoSavestate(Savestate* file) { file->Section("NDSG"); + // TODO: + // * do something for bool's (sizeof=1) + // * do something for 'loading DSi-mode savestate in DS mode' and vice-versa + // * add IE2/IF2 there + file->VarArray(MainRAM, 0x400000); file->VarArray(SharedWRAM, 0x8000); file->VarArray(ARM7WRAM, 0x10000); @@ -772,6 +790,11 @@ bool DoSavestate(Savestate* file) return true; } +void SetConsoleType(int type) +{ + ConsoleType = type; +} + bool LoadROM(const char* path, const char* sram, bool direct) { if (NDSCart::LoadROM(path, sram, direct)) @@ -883,7 +906,7 @@ u32 RunFrame() if (!(CPUStop & 0x80000000)) DMAs[1]->Run(); if (!(CPUStop & 0x80000000)) DMAs[2]->Run(); if (!(CPUStop & 0x80000000)) DMAs[3]->Run(); - DSi::RunNDMAs(0); + if (ConsoleType == 1) DSi::RunNDMAs(0); } else { @@ -906,7 +929,7 @@ u32 RunFrame() DMAs[5]->Run(); DMAs[6]->Run(); DMAs[7]->Run(); - DSi::RunNDMAs(1); + if (ConsoleType == 1) DSi::RunNDMAs(1); } else { @@ -990,7 +1013,7 @@ void CancelEvent(u32 id) void TouchScreen(u16 x, u16 y) { - if (true) // TODO!! + if (ConsoleType == 1) { DSi_SPI_TSC::SetTouchCoords(x, y); } @@ -1003,7 +1026,7 @@ void TouchScreen(u16 x, u16 y) void ReleaseScreen() { - if (true) // TODO!! + if (ConsoleType == 1) { DSi_SPI_TSC::SetTouchCoords(0x000, 0xFFF); } @@ -1144,7 +1167,8 @@ void UpdateIRQ(u32 cpu) if (IME[cpu] & 0x1) { arm->IRQ = IE[cpu] & IF[cpu]; - if (cpu) arm->IRQ |= (IE2 & IF2); + if ((ConsoleType == 1) && cpu) + arm->IRQ |= (IE2 & IF2); } else { @@ -1223,7 +1247,7 @@ void GXFIFOStall() DMAs[1]->StallIfRunning(); DMAs[2]->StallIfRunning(); DMAs[3]->StallIfRunning(); - DSi::StallNDMAs(); + if (ConsoleType == 1) DSi::StallNDMAs(); } } @@ -1361,6 +1385,7 @@ void NocashPrint(u32 ncpu, u32 addr) void MonitorARM9Jump(u32 addr) { // checkme: can the entrypoint addr be THUMB? + // also TODO: make it work in DSi mode if ((!RunningGame) && NDSCart::CartROM) { @@ -1468,7 +1493,7 @@ bool DMAsInMode(u32 cpu, u32 mode) if (DMAs[cpu+2]->IsInMode(mode)) return true; if (DMAs[cpu+3]->IsInMode(mode)) return true; - if (true) + if (ConsoleType == 1) { cpu >>= 2; return DSi::NDMAsInMode(cpu, NDMAModes[mode]); @@ -1484,7 +1509,10 @@ bool DMAsRunning(u32 cpu) if (DMAs[cpu+1]->IsRunning()) return true; if (DMAs[cpu+2]->IsRunning()) return true; if (DMAs[cpu+3]->IsRunning()) return true; - if (DSi::NDMAsRunning(cpu>>2)) return true; + if (ConsoleType == 1) + { + if (DSi::NDMAsRunning(cpu>>2)) return true; + } return false; } @@ -1496,7 +1524,7 @@ void CheckDMAs(u32 cpu, u32 mode) DMAs[cpu+2]->StartIfNeeded(mode); DMAs[cpu+3]->StartIfNeeded(mode); - if (true) + if (ConsoleType == 1) { cpu >>= 2; DSi::CheckNDMAs(cpu, NDMAModes[mode]); @@ -1511,7 +1539,7 @@ void StopDMAs(u32 cpu, u32 mode) DMAs[cpu+2]->StopIfNeeded(mode); DMAs[cpu+3]->StopIfNeeded(mode); - if (true) + if (ConsoleType == 1) { cpu >>= 2; DSi::StopNDMAs(cpu, NDMAModes[mode]); diff --git a/src/NDS.h b/src/NDS.h index 26931de..9c5fe3d 100644 --- a/src/NDS.h +++ b/src/NDS.h @@ -133,6 +133,8 @@ typedef struct } MemRegion; +extern int ConsoleType; + extern u8 ARM9MemTimings[0x40000][4]; extern u8 ARM7MemTimings[0x20000][4]; @@ -174,6 +176,9 @@ bool DoSavestate(Savestate* file); void SetARM9RegionTimings(u32 addrstart, u32 addrend, int buswidth, int nonseq, int seq); void SetARM7RegionTimings(u32 addrstart, u32 addrend, int buswidth, int nonseq, int seq); +// 0=DS 1=DSi +void SetConsoleType(int type); + bool LoadROM(const char* path, const char* sram, bool direct); bool LoadGBAROM(const char* path, const char* sram); void LoadBIOS(); diff --git a/src/NDSCart.cpp b/src/NDSCart.cpp index 9497d33..b326dd6 100644 --- a/src/NDSCart.cpp +++ b/src/NDSCart.cpp @@ -561,11 +561,18 @@ void Key1_ApplyKeycode(u32* keycode, u32 mod) void Key1_InitKeycode(bool dsi, u32 idcode, u32 level, u32 mod) { - //memcpy(Key1_KeyBuf, &NDS::ARM7BIOS[0x30], 0x1048); // hax - if (dsi) - memcpy(Key1_KeyBuf, &DSi::ARM7Init[0x254], 0x1048); // hax + // TODO: source the key data from different possible places + if (NDS::ConsoleType == 1) + { + if (dsi) + memcpy(Key1_KeyBuf, &DSi::ARM7Init[0x254], 0x1048); // hax + else + memcpy(Key1_KeyBuf, &DSi::ITCMInit[0x4894], 0x1048); // hax + } else - memcpy(Key1_KeyBuf, &DSi::ITCMInit[0x4894], 0x1048); // hax + { + memcpy(Key1_KeyBuf, &NDS::ARM7BIOS[0x30], 0x1048); // hax + } u32 keycode[3] = {idcode, idcode>>1, idcode<<1}; if (level >= 1) Key1_ApplyKeycode(keycode, mod); diff --git a/src/SPI.cpp b/src/SPI.cpp index 29f3321..ac40707 100644 --- a/src/SPI.cpp +++ b/src/SPI.cpp @@ -93,7 +93,10 @@ void Reset() if (Firmware) delete[] Firmware; Firmware = NULL; - strncpy(FirmwarePath, Config::FirmwarePath, 1023); + if (NDS::ConsoleType == 1) + strncpy(FirmwarePath, Config::DSiFirmwarePath, 1023); + else + strncpy(FirmwarePath, Config::FirmwarePath, 1023); FILE* f = Platform::OpenLocalFile(FirmwarePath, "rb"); if (!f) @@ -620,7 +623,7 @@ void Reset() SPI_Firmware::Reset(); SPI_Powerman::Reset(); SPI_TSC::Reset(); - DSi_SPI_TSC::Reset(); + if (NDS::ConsoleType == 1) DSi_SPI_TSC::Reset(); } void DoSavestate(Savestate* file) @@ -633,7 +636,7 @@ void DoSavestate(Savestate* file) SPI_Firmware::DoSavestate(file); SPI_Powerman::DoSavestate(file); SPI_TSC::DoSavestate(file); - DSi_SPI_TSC::DoSavestate(file); + if (NDS::ConsoleType == 1) DSi_SPI_TSC::DoSavestate(file); } @@ -647,8 +650,12 @@ void WriteCnt(u16 val) { case 0x0000: SPI_Powerman::Hold = 0; break; case 0x0100: SPI_Firmware::Hold = 0; break; - //case 0x0200: SPI_TSC::DataPos = 0; break; - case 0x0200: DSi_SPI_TSC::DataPos = 0; break; + case 0x0200: + if (NDS::ConsoleType == 1) + DSi_SPI_TSC::DataPos = 0; + else + SPI_TSC::DataPos = 0; + break; } } @@ -674,8 +681,11 @@ u8 ReadData() { case 0x0000: return SPI_Powerman::Read(); case 0x0100: return SPI_Firmware::Read(); - //case 0x0200: return SPI_TSC::Read(); - case 0x0200: return DSi_SPI_TSC::Read(); + case 0x0200: + if (NDS::ConsoleType == 1) + return DSi_SPI_TSC::Read(); + else + return SPI_TSC::Read(); default: return 0; } } @@ -691,8 +701,12 @@ void WriteData(u8 val) { case 0x0000: SPI_Powerman::Write(val, Cnt&(1<<11)); break; case 0x0100: SPI_Firmware::Write(val, Cnt&(1<<11)); break; - //case 0x0200: SPI_TSC::Write(val, Cnt&(1<<11)); break; - case 0x0200: DSi_SPI_TSC::Write(val, Cnt&(1<<11)); break; + case 0x0200: + if (NDS::ConsoleType == 1) + DSi_SPI_TSC::Write(val, Cnt&(1<<11)); + else + SPI_TSC::Write(val, Cnt&(1<<11)); + break; default: printf("SPI to unknown device %04X %02X\n", Cnt, val); break; } diff --git a/src/SPU.cpp b/src/SPU.cpp index 959de12..9f6b107 100644 --- a/src/SPU.cpp +++ b/src/SPU.cpp @@ -155,6 +155,11 @@ Channel::~Channel() void Channel::Reset() { + if (NDS::ConsoleType == 1) + BusRead32 = DSi::ARM7Read32; + else + BusRead32 = NDS::ARM7Read32; + SetCnt(0); SrcAddr = 0; TimerReload = 0; @@ -217,8 +222,7 @@ void Channel::FIFO_BufferData() for (u32 i = 0; i < burstlen; i += 4) { - //FIFO[FIFOWritePos] = NDS::ARM7Read32(SrcAddr + FIFOReadOffset); - FIFO[FIFOWritePos] = DSi::ARM7Read32(SrcAddr + FIFOReadOffset); + FIFO[FIFOWritePos] = BusRead32(SrcAddr + FIFOReadOffset); FIFOReadOffset += 4; FIFOWritePos++; FIFOWritePos &= 0x7; @@ -466,6 +470,11 @@ CaptureUnit::~CaptureUnit() void CaptureUnit::Reset() { + if (NDS::ConsoleType == 1) + BusWrite32 = DSi::ARM7Write32; + else + BusWrite32 = NDS::ARM7Write32; + SetCnt(0); DstAddr = 0; TimerReload = 0; @@ -501,8 +510,7 @@ void CaptureUnit::FIFO_FlushData() { for (u32 i = 0; i < 4; i++) { - //NDS::ARM7Write32(DstAddr + FIFOWriteOffset, FIFO[FIFOReadPos]); - DSi::ARM7Write32(DstAddr + FIFOWriteOffset, FIFO[FIFOReadPos]); + BusWrite32(DstAddr + FIFOWriteOffset, FIFO[FIFOReadPos]); FIFOReadPos++; FIFOReadPos &= 0x3; diff --git a/src/SPU.h b/src/SPU.h index 74a4471..8ab17a0 100644 --- a/src/SPU.h +++ b/src/SPU.h @@ -142,6 +142,9 @@ public: } void PanOutput(s32* inbuf, u32 samples, s32* leftbuf, s32* rightbuf); + +private: + u32 (*BusRead32)(u32 addr); }; class CaptureUnit @@ -196,6 +199,9 @@ public: } void Run(s32 sample); + +private: + void (*BusWrite32)(u32 addr, u32 val); }; } diff --git a/src/frontend/FrontendUtil.h b/src/frontend/FrontendUtil.h index 6b83cbc..099583f 100644 --- a/src/frontend/FrontendUtil.h +++ b/src/frontend/FrontendUtil.h @@ -46,6 +46,15 @@ enum Load_FirmwareBad, Load_FirmwareNotBootable, + Load_DSiBIOS9Missing, + Load_DSiBIOS9Bad, + + Load_DSiBIOS7Missing, + Load_DSiBIOS7Bad, + + Load_DSiNANDMissing, + Load_DSiNANDBad, + // TODO: more precise errors for ROM loading Load_ROMLoadError, }; diff --git a/src/frontend/Util_ROM.cpp b/src/frontend/Util_ROM.cpp index d410550..8116a93 100644 --- a/src/frontend/Util_ROM.cpp +++ b/src/frontend/Util_ROM.cpp @@ -96,6 +96,42 @@ int VerifyDSBIOS() return Load_OK; } +int VerifyDSiBIOS() +{ + FILE* f; + long len; + + // TODO: check the first 32 bytes + + f = Platform::OpenLocalFile(Config::DSiBIOS9Path, "rb"); + if (!f) return Load_DSiBIOS9Missing; + + fseek(f, 0, SEEK_END); + len = ftell(f); + if (len != 0x10000) + { + fclose(f); + return Load_DSiBIOS9Bad; + } + + fclose(f); + + f = Platform::OpenLocalFile(Config::DSiBIOS7Path, "rb"); + if (!f) return Load_DSiBIOS7Missing; + + fseek(f, 0, SEEK_END); + len = ftell(f); + if (len != 0x10000) + { + fclose(f); + return Load_DSiBIOS7Bad; + } + + fclose(f); + + return Load_OK; +} + int VerifyDSFirmware() { FILE* f; @@ -110,7 +146,6 @@ int VerifyDSFirmware() { // 128KB firmware, not bootable fclose(f); - return Load_OK; // FIXME!!!! return Load_FirmwareNotBootable; } else if (len != 0x40000 && len != 0x80000) @@ -124,6 +159,45 @@ int VerifyDSFirmware() return Load_OK; } +int VerifyDSiFirmware() +{ + FILE* f; + long len; + + f = Platform::OpenLocalFile(Config::DSiFirmwarePath, "rb"); + if (!f) return Load_FirmwareMissing; + + fseek(f, 0, SEEK_END); + len = ftell(f); + if (len != 0x20000) + { + // not 128KB + // TODO: check whether those work + fclose(f); + return Load_FirmwareBad; + } + + fclose(f); + + return Load_OK; +} + +int VerifyDSiNAND() +{ + FILE* f; + long len; + + f = Platform::OpenLocalFile(Config::DSiNANDPath, "rb"); + if (!f) return Load_DSiNANDMissing; + + // TODO: some basic checks + // check that it has the nocash footer, and all + + fclose(f); + + return Load_OK; +} + int LoadBIOS() { int res; @@ -131,8 +205,22 @@ int LoadBIOS() res = VerifyDSBIOS(); if (res != Load_OK) return res; - res = VerifyDSFirmware(); - if (res != Load_OK) return res; + if (Config::ConsoleType == 1) + { + res = VerifyDSiBIOS(); + if (res != Load_OK) return res; + + res = VerifyDSiFirmware(); + if (res != Load_OK) return res; + + res = VerifyDSiNAND(); + if (res != Load_OK) return res; + } + else + { + res = VerifyDSFirmware(); + if (res != Load_OK) return res; + } // TODO: // original code in the libui frontend called NDS::LoadGBAROM() if needed @@ -142,6 +230,7 @@ int LoadBIOS() ROMPath[ROMSlot_NDS][0] = '\0'; SRAMPath[ROMSlot_NDS][0] = '\0'; + NDS::SetConsoleType(Config::ConsoleType); NDS::LoadBIOS(); SavestateLoaded = false; @@ -154,16 +243,39 @@ int LoadROM(const char* file, int slot) int res; bool directboot = Config::DirectBoot != 0; + if (Config::ConsoleType == 1 && slot == 1) + { + // cannot load a GBA ROM into a DSi + return Load_ROMLoadError; + } + res = VerifyDSBIOS(); if (res != Load_OK) return res; - res = VerifyDSFirmware(); - if (res != Load_OK) + if (Config::ConsoleType == 1) { - if (res == Load_FirmwareNotBootable) - directboot = true; - else - return res; + res = VerifyDSiBIOS(); + if (res != Load_OK) return res; + + res = VerifyDSiFirmware(); + if (res != Load_OK) return res; + + res = VerifyDSiNAND(); + if (res != Load_OK) return res; + + GBACart::Eject(); + ROMPath[ROMSlot_GBA][0] = '\0'; + } + else + { + res = VerifyDSFirmware(); + if (res != Load_OK) + { + if (res == Load_FirmwareNotBootable) + directboot = true; + else + return res; + } } char oldpath[1024]; @@ -177,6 +289,8 @@ int LoadROM(const char* file, int slot) SetupSRAMPath(0); SetupSRAMPath(1); + NDS::SetConsoleType(Config::ConsoleType); + if (slot == ROMSlot_NDS && NDS::LoadROM(ROMPath[slot], SRAMPath[slot], directboot)) { SavestateLoaded = false; @@ -225,17 +339,36 @@ int Reset() res = VerifyDSBIOS(); if (res != Load_OK) return res; - res = VerifyDSFirmware(); - if (res != Load_OK) + if (Config::ConsoleType == 1) { - if (res == Load_FirmwareNotBootable) - directboot = true; - else - return res; + res = VerifyDSiBIOS(); + if (res != Load_OK) return res; + + res = VerifyDSiFirmware(); + if (res != Load_OK) return res; + + res = VerifyDSiNAND(); + if (res != Load_OK) return res; + + GBACart::Eject(); + ROMPath[ROMSlot_GBA][0] = '\0'; + } + else + { + res = VerifyDSFirmware(); + if (res != Load_OK) + { + if (res == Load_FirmwareNotBootable) + directboot = true; + else + return res; + } } SavestateLoaded = false; + NDS::SetConsoleType(Config::ConsoleType); + if (ROMPath[ROMSlot_NDS][0] == '\0') { NDS::LoadBIOS(); diff --git a/src/frontend/qt_sdl/EmuSettingsDialog.cpp b/src/frontend/qt_sdl/EmuSettingsDialog.cpp index 7760a88..09faf4e 100644 --- a/src/frontend/qt_sdl/EmuSettingsDialog.cpp +++ b/src/frontend/qt_sdl/EmuSettingsDialog.cpp @@ -49,7 +49,7 @@ EmuSettingsDialog::EmuSettingsDialog(QWidget* parent) : QDialog(parent), ui(new ui->txtDSiNANDPath->setText(Config::DSiNANDPath); ui->cbxConsoleType->addItem("DS"); - ui->cbxConsoleType->addItem("DSi"); + ui->cbxConsoleType->addItem("DSi (experimental)"); ui->cbxConsoleType->setCurrentIndex(Config::ConsoleType); ui->chkDirectBoot->setChecked(Config::DirectBoot != 0); diff --git a/src/frontend/qt_sdl/main.cpp b/src/frontend/qt_sdl/main.cpp index ef21bc7..7b3d5cd 100644 --- a/src/frontend/qt_sdl/main.cpp +++ b/src/frontend/qt_sdl/main.cpp @@ -1360,17 +1360,40 @@ QString MainWindow::loadErrorStr(int error) { switch (error) { - case Frontend::Load_BIOS9Missing: return "DS ARM9 BIOS was not found or could not be accessed. Check your emu settings."; - case Frontend::Load_BIOS9Bad: return "DS ARM9 BIOS is not a valid BIOS dump."; - - case Frontend::Load_BIOS7Missing: return "DS ARM7 BIOS was not found or could not be accessed. Check your emu settings."; - case Frontend::Load_BIOS7Bad: return "DS ARM7 BIOS is not a valid BIOS dump."; - - case Frontend::Load_FirmwareMissing: return "DS firmware was not found or could not be accessed. Check your emu settings."; - case Frontend::Load_FirmwareBad: return "DS firmware is not a valid firmware dump."; - case Frontend::Load_FirmwareNotBootable: return "DS firmware is not bootable."; - - case Frontend::Load_ROMLoadError: return "Failed to load the ROM. Make sure the file is accessible and isn't used by another application."; + case Frontend::Load_BIOS9Missing: + return "DS ARM9 BIOS was not found or could not be accessed. Check your emu settings."; + case Frontend::Load_BIOS9Bad: + return "DS ARM9 BIOS is not a valid BIOS dump."; + + case Frontend::Load_BIOS7Missing: + return "DS ARM7 BIOS was not found or could not be accessed. Check your emu settings."; + case Frontend::Load_BIOS7Bad: + return "DS ARM7 BIOS is not a valid BIOS dump."; + + case Frontend::Load_FirmwareMissing: + return "DS firmware was not found or could not be accessed. Check your emu settings."; + case Frontend::Load_FirmwareBad: + return "DS firmware is not a valid firmware dump."; + case Frontend::Load_FirmwareNotBootable: + return "DS firmware is not bootable."; + + case Frontend::Load_DSiBIOS9Missing: + return "DSi ARM9 BIOS was not found or could not be accessed. Check your emu settings."; + case Frontend::Load_DSiBIOS9Bad: + return "DSi ARM9 BIOS is not a valid BIOS dump."; + + case Frontend::Load_DSiBIOS7Missing: + return "DSi ARM7 BIOS was not found or could not be accessed. Check your emu settings."; + case Frontend::Load_DSiBIOS7Bad: + return "DSi ARM7 BIOS is not a valid BIOS dump."; + + case Frontend::Load_DSiNANDMissing: + return "DSi NAND was not found or could not be accessed. Check your emu settings."; + case Frontend::Load_DSiNANDBad: + return "DSi NAND is not a valid NAND dump."; + + case Frontend::Load_ROMLoadError: + return "Failed to load the ROM. Make sure the file is accessible and isn't used by another application."; default: return "Unknown error during launch; smack Arisotura."; } -- cgit v1.2.3 From d0af89924edf4e14a092e5352808f6a2ce44d53a Mon Sep 17 00:00:00 2001 From: Arisotura Date: Tue, 2 Jun 2020 00:25:29 +0200 Subject: remove requirement for initmem7/9.bin (but this requires augmented BIOS dumps, we'll get there) --- src/DSi.cpp | 46 +++++++++++++++------------------------------- src/DSi.h | 3 --- src/NDSCart.cpp | 11 ++--------- 3 files changed, 17 insertions(+), 43 deletions(-) (limited to 'src/NDSCart.cpp') diff --git a/src/DSi.cpp b/src/DSi.cpp index 6a60f80..701387a 100644 --- a/src/DSi.cpp +++ b/src/DSi.cpp @@ -129,9 +129,6 @@ void Reset() memcpy(NDS::ARM9->ITCM, ITCMInit, 0x8000); - for (u32 i = 0; i < 0x3C00; i+=4) - ARM7Write32(0x03FFC400+i, *(u32*)&ARM7Init[i]); - DSi_I2C::Reset(); DSi_AES::Reset(); @@ -151,6 +148,9 @@ void Reset() NDS::MapSharedWRAM(3); + for (u32 i = 0; i < 0x3C00; i+=4) + ARM7Write32(0x03FFC400+i, *(u32*)&ARM7Init[i]); + u32 eaddr = 0x03FFE6E4; ARM7Write32(eaddr+0x00, *(u32*)&eMMC_CID[0]); ARM7Write32(eaddr+0x04, *(u32*)&eMMC_CID[4]); @@ -178,9 +178,6 @@ void SoftReset() memcpy(NDS::ARM9->ITCM, ITCMInit, 0x8000); - for (u32 i = 0; i < 0x3C00; i+=4) - ARM7Write32(0x03FFC400+i, *(u32*)&ARM7Init[i]); - DSi_AES::Reset(); LoadNAND(); @@ -204,6 +201,9 @@ void SoftReset() NDS::MapSharedWRAM(3); + for (u32 i = 0; i < 0x3C00; i+=4) + ARM7Write32(0x03FFC400+i, *(u32*)&ARM7Init[i]); + u32 eaddr = 0x03FFE6E4; ARM7Write32(eaddr+0x00, *(u32*)&eMMC_CID[0]); ARM7Write32(eaddr+0x04, *(u32*)&eMMC_CID[4]); @@ -433,32 +433,16 @@ bool LoadNAND() } memset(ITCMInit, 0, 0x8000); - memset(ARM7Init, 0, 0x3C00); - - f = fopen("initmem9.bin", "rb"); - if (f) - { - // first 0x2524 bytes are loaded to 0x01FFC400 - - u32 dstaddr = 0x01FFC400; - fread(&ITCMInit[dstaddr & 0x7FFF], /*0x2524*/0x3C00, 1, f); - fclose(f); - } - else - { - printf("DSi ARM9 meminit not found\n"); - } + memcpy(&ITCMInit[0x4400], &ARM9iBIOS[0x87F4], 0x400); + memcpy(&ITCMInit[0x4800], &ARM9iBIOS[0x9920], 0x80); + memcpy(&ITCMInit[0x4894], &ARM9iBIOS[0x99A0], 0x1048); + memcpy(&ITCMInit[0x58DC], &ARM9iBIOS[0xA9E8], 0x1048); - f = fopen("initmem7.bin", "rb"); - if (f) - { - fread(ARM7Init, 0x3C00, 1, f); - fclose(f); - } - else - { - printf("DSi ARM7 meminit not found\n"); - } + memset(ARM7Init, 0, 0x3C00); + memcpy(&ARM7Init[0x0000], &ARM7iBIOS[0x8188], 0x200); + memcpy(&ARM7Init[0x0200], &ARM7iBIOS[0xB5D8], 0x40); + memcpy(&ARM7Init[0x0254], &ARM7iBIOS[0xC6D0], 0x1048); + memcpy(&ARM7Init[0x129C], &ARM7iBIOS[0xD718], 0x1048); return true; } diff --git a/src/DSi.h b/src/DSi.h index 08712de..8cc8fd5 100644 --- a/src/DSi.h +++ b/src/DSi.h @@ -34,9 +34,6 @@ extern u64 ConsoleID; extern DSi_SDHost* SDMMC; extern DSi_SDHost* SDIO; -extern u8 ITCMInit[0x8000]; -extern u8 ARM7Init[0x3C00]; - bool Init(); void DeInit(); diff --git a/src/NDSCart.cpp b/src/NDSCart.cpp index b326dd6..a5e0f41 100644 --- a/src/NDSCart.cpp +++ b/src/NDSCart.cpp @@ -562,17 +562,10 @@ void Key1_ApplyKeycode(u32* keycode, u32 mod) void Key1_InitKeycode(bool dsi, u32 idcode, u32 level, u32 mod) { // TODO: source the key data from different possible places - if (NDS::ConsoleType == 1) - { - if (dsi) - memcpy(Key1_KeyBuf, &DSi::ARM7Init[0x254], 0x1048); // hax - else - memcpy(Key1_KeyBuf, &DSi::ITCMInit[0x4894], 0x1048); // hax - } + if (dsi && NDS::ConsoleType==1) + memcpy(Key1_KeyBuf, &DSi::ARM7iBIOS[0xC6D0], 0x1048); // hax else - { memcpy(Key1_KeyBuf, &NDS::ARM7BIOS[0x30], 0x1048); // hax - } u32 keycode[3] = {idcode, idcode>>1, idcode<<1}; if (level >= 1) Key1_ApplyKeycode(keycode, mod); -- cgit v1.2.3