From 75a9423d256bb9c0504424c7f028c4a066b3fca5 Mon Sep 17 00:00:00 2001 From: yosiokat Date: Wed, 5 Dec 2007 12:19:30 +0000 Subject: [PATCH] =?UTF-8?q?=E3=83=BB=E7=94=9F=E7=94=A3=E5=B7=A5=E7=A8=8B?= =?UTF-8?q?=E3=81=A7NAND=E3=81=AB=E6=9B=B8=E3=81=8D=E8=BE=BC=E3=82=93?= =?UTF-8?q?=E3=81=A7=E3=80=81=E4=BB=A5=E9=99=8D=E3=81=AFReadOnly=E3=81=A8?= =?UTF-8?q?=E3=81=AA=E3=82=8BHW=E6=83=85=E5=A0=B1=E3=82=92=E8=BF=BD?= =?UTF-8?q?=E5=8A=A0=E3=80=82=20=E3=83=BBHW=E6=83=85=E5=A0=B1=E3=82=84?= =?UTF-8?q?=E6=9C=AC=E4=BD=93=E8=A8=AD=E5=AE=9A=E3=83=87=E3=83=BC=E3=82=BF?= =?UTF-8?q?=E3=82=92=E5=85=B1=E9=80=9A=E3=81=AETSF=E3=83=95=E3=82=A9?= =?UTF-8?q?=E3=83=BC=E3=83=9E=E3=83=83=E3=83=88=E3=81=AB=E3=81=99=E3=82=8B?= =?UTF-8?q?=E3=81=9F=E3=82=81=E3=80=81TSF=20=E3=80=80=E3=83=95=E3=82=A9?= =?UTF-8?q?=E3=83=BC=E3=83=9E=E3=83=83=E3=83=88=E3=81=AE=E3=82=B3=E3=83=BC?= =?UTF-8?q?=E3=83=89=E3=82=92=E8=BF=BD=E5=8A=A0=E3=80=82=EF=BC=88=E7=8F=BE?= =?UTF-8?q?=E7=8A=B6=E3=81=AFHW=E6=83=85=E5=A0=B1=E3=81=AE=E3=81=BF?= =?UTF-8?q?=E5=AF=BE=E5=BF=9C=EF=BC=89=20=E3=83=BBHW=E6=83=85=E5=A0=B1?= =?UTF-8?q?=E7=94=A8=E3=81=AERSA=E9=8D=B5=E3=83=9A=E3=82=A2=E3=82=92?= =?UTF-8?q?=E8=BF=BD=E5=8A=A0=E3=80=82=20=E3=83=BBacsign=E3=83=A9=E3=82=A4?= =?UTF-8?q?=E3=83=96=E3=83=A9=E3=83=AA=E3=81=ABRSA=E6=9A=97=E5=8F=B7?= =?UTF-8?q?=E5=8C=96=E9=96=A2=E6=95=B0=E3=82=92=E8=BF=BD=E5=8A=A0=E3=80=82?= =?UTF-8?q?=20=E3=83=BBacsign=E3=83=A9=E3=82=A4=E3=83=96=E3=83=A9=E3=83=AA?= =?UTF-8?q?=E3=81=AERSA=E3=81=A7=E3=82=B3=E3=83=BC=E3=83=89=E9=96=A2?= =?UTF-8?q?=E6=95=B0=E3=81=AE=E5=80=A4=E3=83=81=E3=82=A7=E3=83=83=E3=82=AF?= =?UTF-8?q?=E3=82=92=E4=BF=AE=E6=AD=A3=E3=80=82=20=E3=83=BBHW=E6=83=85?= =?UTF-8?q?=E5=A0=B1=E3=82=92=E3=83=A9=E3=82=A4=E3=83=88=E3=81=99=E3=82=8B?= =?UTF-8?q?HWInfoWriter=E3=82=92=E8=BF=BD=E5=8A=A0=E3=80=82=20=E3=83=BBNAN?= =?UTF-8?q?D=E3=83=95=E3=83=A9=E3=83=83=E3=82=B7=E3=83=A5=E3=83=9E?= =?UTF-8?q?=E3=83=83=E3=83=97=EF=BC=86=E3=83=95=E3=82=A9=E3=83=AB=E3=83=80?= =?UTF-8?q?=E3=83=84=E3=83=AA=E3=83=BC=E3=81=AE=E3=83=95=E3=82=A9=E3=83=AB?= =?UTF-8?q?=E3=83=80=E6=A7=8B=E6=88=90=E3=81=AB=E3=81=8A=E3=81=91=E3=82=8B?= =?UTF-8?q?=E5=90=84=E3=83=95=E3=82=A1=E3=82=A4=E3=83=AB=E3=81=AB=20?= =?UTF-8?q?=E3=80=80=E3=81=A4=E3=81=84=E3=81=A6=E3=80=81RSA=E7=BD=B2?= =?UTF-8?q?=E5=90=8D=E3=81=AE=E6=9C=89=E7=84=A1=E3=81=A8=E4=BD=BF=E7=94=A8?= =?UTF-8?q?=E3=81=99=E3=82=8B=E9=8D=B5=E3=81=AB=E3=82=88=E3=82=8B=E8=89=B2?= =?UTF-8?q?=E5=88=86=E3=81=91=E3=82=92=E8=A1=8C=E3=81=86=E3=80=82=20?= =?UTF-8?q?=E3=83=BBTWL=5FSystemMenu=E3=83=A1=E3=83=A2=E3=83=AA=E3=83=9E?= =?UTF-8?q?=E3=83=83=E3=83=97=E3=81=ABNAND=E3=83=95=E3=82=A1=E3=83=BC?= =?UTF-8?q?=E3=83=A0=E7=94=A8=E3=83=90=E3=83=83=E3=83=95=E3=82=A1=E3=82=92?= =?UTF-8?q?=E8=A8=98=E8=BC=89=E3=80=82=20=E3=80=80=EF=BC=88=E3=83=A9?= =?UTF-8?q?=E3=83=B3=E3=83=81=E3=83=A3=E3=83=BC=E3=81=A8=E3=83=A1=E3=83=A2?= =?UTF-8?q?=E3=83=AA=E3=81=8C=E9=87=8D=E3=81=AA=E3=82=89=E3=81=AA=E3=81=84?= =?UTF-8?q?=E3=82=88=E3=81=86=E3=81=AB=EF=BC=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit git-svn-id: file:///Users/lillianskinner/Downloads/platinum/twl/TwlIPL/trunk@312 b08762b0-b915-fc4b-9d8c-17b2551a87ff --- build/buildtools/commondefs.firm | 2 +- build/components/hyena.TWL/src/main.c | 4 +- build/libraries_sysmenu/acsign/ARM9/Makefile | 4 +- .../acsign/ARM9/include/acmemory.h | 1 + .../acsign/ARM9/src/acmemory.c | 29 ++ .../acsign/ARM9/src/acsign.c | 2 +- .../libraries_sysmenu/settings/ARM9/Makefile | 3 +- .../settings/ARM9/src/TWLHWInfo.c | 348 +++++++++++++++++ .../settings/ARM9/src/TWLSettings.c | 17 +- .../settings/ARM9/src/TWLStoreFile.c | 252 ++++++++++++ .../systemMenu_RED/HWInfoWriter/ARM9/Makefile | 60 +++ .../systemMenu_RED/HWInfoWriter/ARM9/main.rsf | 154 ++++++++ .../HWInfoWriter/ARM9/src/HWInfoWriter.c | 368 ++++++++++++++++++ .../HWInfoWriter/ARM9/src/HWInfoWriter.h | 37 ++ .../HWInfoWriter/ARM9/src/main.c | 85 ++++ build/systemMenu_RED/HWInfoWriter/Makefile | 30 ++ .../HWInfoWriter/banner/Makefile | 49 +++ .../HWInfoWriter/banner/banner_v3.bsf | Bin 0 -> 836 bytes .../HWInfoWriter/banner/icon/gameIcon.bmp | Bin 0 -> 630 bytes build/systemMenu_RED/Launcher/ARM9/Makefile | 1 + doc/NANDフラッシュマップ&フォルダツリー.vsd | Bin 312320 -> 319488 bytes doc/SystemMenu_REDリリース.txt | 12 +- doc/TWL_SystemMenuメモリマップ.vsd | Bin 265728 -> 267264 bytes include/sysmenu/acsign/ARM9/acsign.h | 10 + include/sysmenu/settings.h | 2 + include/sysmenu/settings/common/TWLHWInfo.h | 198 ++++++++++ include/sysmenu/settings/common/TWLSettings.h | 78 +--- .../sysmenu/settings/common/TWLStoreFile.h | 94 +++++ keys/HWInfo/dummy/privHWInfo_dummy.pem | 15 + keys/HWInfo/dummy/pubHWInfo_dummy.pem | 6 + keys/HWInfo/makeHWInfo.pl | 105 +++++ keys/HWInfo/privKeyHWInfo.der | Bin 0 -> 607 bytes keys/HWInfo/privKeyHWInfo.pem | 15 + keys/HWInfo/pubKeyHWInfo.der | Bin 0 -> 162 bytes keys/HWInfo/pubKeyHWInfo.pem | 6 + keys/{ => firm}/dummy/rsa/private_gcd.der | Bin keys/{ => firm}/dummy/rsa/private_nand.der | Bin keys/{ => firm}/dummy/rsa/private_nor.der | Bin keys/{ => firm}/dummy/rsa/pubkey_gcd.der | Bin keys/{ => firm}/dummy/rsa/pubkey_nand.der | Bin keys/{ => firm}/dummy/rsa/pubkey_nor.der | Bin 41 files changed, 1903 insertions(+), 84 deletions(-) create mode 100644 build/libraries_sysmenu/settings/ARM9/src/TWLHWInfo.c create mode 100644 build/libraries_sysmenu/settings/ARM9/src/TWLStoreFile.c create mode 100644 build/systemMenu_RED/HWInfoWriter/ARM9/Makefile create mode 100644 build/systemMenu_RED/HWInfoWriter/ARM9/main.rsf create mode 100644 build/systemMenu_RED/HWInfoWriter/ARM9/src/HWInfoWriter.c create mode 100644 build/systemMenu_RED/HWInfoWriter/ARM9/src/HWInfoWriter.h create mode 100644 build/systemMenu_RED/HWInfoWriter/ARM9/src/main.c create mode 100644 build/systemMenu_RED/HWInfoWriter/Makefile create mode 100644 build/systemMenu_RED/HWInfoWriter/banner/Makefile create mode 100644 build/systemMenu_RED/HWInfoWriter/banner/banner_v3.bsf create mode 100644 build/systemMenu_RED/HWInfoWriter/banner/icon/gameIcon.bmp create mode 100644 include/sysmenu/settings/common/TWLHWInfo.h create mode 100644 include/sysmenu/settings/common/TWLStoreFile.h create mode 100644 keys/HWInfo/dummy/privHWInfo_dummy.pem create mode 100644 keys/HWInfo/dummy/pubHWInfo_dummy.pem create mode 100755 keys/HWInfo/makeHWInfo.pl create mode 100644 keys/HWInfo/privKeyHWInfo.der create mode 100644 keys/HWInfo/privKeyHWInfo.pem create mode 100644 keys/HWInfo/pubKeyHWInfo.der create mode 100644 keys/HWInfo/pubKeyHWInfo.pem rename keys/{ => firm}/dummy/rsa/private_gcd.der (100%) rename keys/{ => firm}/dummy/rsa/private_nand.der (100%) rename keys/{ => firm}/dummy/rsa/private_nor.der (100%) rename keys/{ => firm}/dummy/rsa/pubkey_gcd.der (100%) rename keys/{ => firm}/dummy/rsa/pubkey_nand.der (100%) rename keys/{ => firm}/dummy/rsa/pubkey_nor.der (100%) diff --git a/build/buildtools/commondefs.firm b/build/buildtools/commondefs.firm index fc80ac83..2b4850ea 100644 --- a/build/buildtools/commondefs.firm +++ b/build/buildtools/commondefs.firm @@ -24,7 +24,7 @@ SPACE ?= $(EMPTY) $(EMPTY) ifndef TWL_KEYSDIR DUMMY_KEYS_SUFFIX = .dummykey endif -TWL_KEYSDIR ?= $(FIRM_ROOT)/keys/dummy +TWL_KEYSDIR ?= $(FIRM_ROOT)/keys/firm/dummy TARGET_BIN ?= $(subst .,$(DUMMY_KEYS_SUFFIX).,$(TARGET_FIRM_BIN)) diff --git a/build/components/hyena.TWL/src/main.c b/build/components/hyena.TWL/src/main.c index bc7ed9d0..fb65629d 100644 --- a/build/components/hyena.TWL/src/main.c +++ b/build/components/hyena.TWL/src/main.c @@ -103,8 +103,8 @@ TwlSpMain(void) // MMEMTCY`FbŃAARM7_startłĂ̂ŁAm[PAOK. // SCFGWX^HWi_WSYS04 etc.system shared̈ւ̒lZbǵA`[N_ł͍sĂȂ̂ŁA // `[g̒lgɂ́Agł̒lZbgĂKvB - // `[AvNۂɂ́Areboot.c - SetSCFGWork(); + // `[AvNۂɂ́Areboot.clăZbgĂB +// SetSCFGWork(); // [TODO]fobO // OS OS_Init(); diff --git a/build/libraries_sysmenu/acsign/ARM9/Makefile b/build/libraries_sysmenu/acsign/ARM9/Makefile index f9213837..81a76cb6 100644 --- a/build/libraries_sysmenu/acsign/ARM9/Makefile +++ b/build/libraries_sysmenu/acsign/ARM9/Makefile @@ -30,7 +30,9 @@ TWL_PROC = ARM9 INCDIR = include \ $(TWLSDK_ROOT)/build/libraries/mb/common/include -SRCS = acsign.c acmemory.c acsign_util.c +SRCS = acsign.c acmemory.c acsign_util.c \ + acsign_encrypt.c \ + ber_lib.c ber_isk.c ber_par.c TARGET_LIB = libacsign$(TWL_LIBSUFFIX).a diff --git a/build/libraries_sysmenu/acsign/ARM9/include/acmemory.h b/build/libraries_sysmenu/acsign/ARM9/include/acmemory.h index 8247764c..1a3e206e 100644 --- a/build/libraries_sysmenu/acsign/ARM9/include/acmemory.h +++ b/build/libraries_sysmenu/acsign/ARM9/include/acmemory.h @@ -25,6 +25,7 @@ extern "C" { // void ACMemory_Clear( ); void* ACMemory_Alloc( u32 size ); +void* ACMemory_Realloc( void *adrs, u32 nowsize, u32 newsize ); void ACMemory_Free( void* adrs ); void* ACMemory_Memset( void* adrs, u32 val, u32 cnt ); void* ACMemory_Memcpy( void* dst, void* src, u32 cnt ); diff --git a/build/libraries_sysmenu/acsign/ARM9/src/acmemory.c b/build/libraries_sysmenu/acsign/ARM9/src/acmemory.c index a6785f03..d97bac91 100644 --- a/build/libraries_sysmenu/acsign/ARM9/src/acmemory.c +++ b/build/libraries_sysmenu/acsign/ARM9/src/acmemory.c @@ -58,6 +58,18 @@ unsigned long aACMemoryPoolB[ 16 ]; #define nACMemory_TailBlock( _tail ) (((volatile unsigned long*)(_tail))[-1]) #define nACMemory_TailCheck( _tail ) (((volatile unsigned long*)(_tail))[-2]) + +static void *(*s_acsignAlloc)( u32 length ); +static void (*s_acsignFree)( void *ptr ); + +void ACSign_SetAllocFunc( void *(*pAlloc)( u32 ), void (*pFree)( void * ) ); +void ACSign_SetAllocFunc( void *(*pAlloc)( u32 ), void (*pFree)( void * ) ) +{ + s_acsignAlloc = pAlloc; + s_acsignFree = pFree; +} + + //#define USE_OSALLOC //#define USE_ACMEMORY_DEBUGDUMP //#define USE_ACMEMORY_DEBUGFILL @@ -142,6 +154,12 @@ void ACMemory_Clear( ) // void* ACMemory_Alloc( u32 size ) { + if( s_acsignAlloc ) { + return s_acsignAlloc( size ); + } + return NULL; + + /* #if defined( USE_OSALLOC ) OSIntrMode nOSIntrMode; void* alloc = NULL; @@ -220,11 +238,16 @@ void* ACMemory_Alloc( u32 size ) return (void*)pACMemory_FromHeadToBody( head ); #endif + */ } // void ACMemory_Free( void* adrs ) { + if( s_acsignFree ) { + s_acsignFree( adrs ); + } + /* #if defined( USE_OSALLOC ) OSIntrMode nOSIntrMode; @@ -284,6 +307,7 @@ void ACMemory_Free( void* adrs ) ACMemory_DebugDump( ); #endif + */ } @@ -304,3 +328,8 @@ void* ACMemory_Memcpy( void* dst, void* src, u32 cnt ) } +void* ACMemory_Realloc( void *adrs, u32 nowsize, u32 newsize ) +{ +#pragma unused( adrs, nowsize, newsize ) + return NULL; +} diff --git a/build/libraries_sysmenu/acsign/ARM9/src/acsign.c b/build/libraries_sysmenu/acsign/ARM9/src/acsign.c index f5dc67d8..89a528cd 100644 --- a/build/libraries_sysmenu/acsign/ARM9/src/acsign.c +++ b/build/libraries_sysmenu/acsign/ARM9/src/acsign.c @@ -291,7 +291,7 @@ int ACSign_Decrypto( if ( !key_ptr ) return 0; // - ACMemory_Clear( ); +// ACMemory_Clear( ); // exp_ptr = &nDummyExp; diff --git a/build/libraries_sysmenu/settings/ARM9/Makefile b/build/libraries_sysmenu/settings/ARM9/Makefile index b1db6019..7ececd08 100644 --- a/build/libraries_sysmenu/settings/ARM9/Makefile +++ b/build/libraries_sysmenu/settings/ARM9/Makefile @@ -26,7 +26,8 @@ TARGET_PLATFORM = TWL TWL_ARCHGEN = LIMITED TWL_PROC = ARM9 -SRCS = NTRSettings.c TWLSettings.c +SRCS = NTRSettings.c TWLSettings.c \ + TWLHWInfo.c TWLStoreFile.c TARGET_LIB = libsettings$(TWL_LIBSUFFIX).a diff --git a/build/libraries_sysmenu/settings/ARM9/src/TWLHWInfo.c b/build/libraries_sysmenu/settings/ARM9/src/TWLHWInfo.c new file mode 100644 index 00000000..b6c064b0 --- /dev/null +++ b/build/libraries_sysmenu/settings/ARM9/src/TWLHWInfo.c @@ -0,0 +1,348 @@ +/*---------------------------------------------------------------------------* + Project: TwlIPL + File: TWLHWInfo.c + + Copyright 2007 Nintendo. All rights reserved. + + These coded instructions, statements, and computer programs contain + proprietary information of Nintendo of America Inc. and/or Nintendo + Company Ltd., and are protected by Federal copyright law. They may + not be disclosed to third parties or copied or duplicated in any form, + in whole or in part, without the prior written consent of Nintendo. + + $Date:: $ + $Rev$ + $Author$ + *---------------------------------------------------------------------------*/ + +#include +#include + +// define data---------------------------------------------------------- +//#define USE_SHA1_SIGNATURE // ̃nbVSHA1gpi`ȂHMAC-SHA1gpj + +// function's prototype------------------------------------------------- +static BOOL THWIi_CheckDigest( void *pTgt, u32 length, u8 *pDigest ); +static BOOL THWIi_CheckNormalValue( const TWLHWNormalInfo *pSrcInfo ); +static BOOL THWIi_CheckSignature( void *pTgt, u32 length, u8 *pSignature ); +static BOOL THWIi_CheckSecureValue( const TWLHWSecureInfo *pSecure ); +static void DEBUG_PrintDigest( u8 *pDigest ); +static void DEBUG_Dump( u8 *pSrc, u32 len ); +static void HMACSHA1( u8 *pDigest, u8 *pSrc, u32 len, u8 *pKey, u32 keyLen ); + +// static variables----------------------------------------------------- +TWLHWNormalInfo s_hwInfoN ATTRIBUTE_ALIGN(32); +TWLHWSecureInfo s_hwInfoS ATTRIBUTE_ALIGN(32); +static BOOL s_isReadNormal; +static BOOL s_isReadSecure; + +// global variables----------------------------------------------------- + +// const data----------------------------------------------------------- + +// m[}@ftHgl +static TWLHWNormalInfo s_normalDefault = { + 0x5a, + { 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f }, +}; + + +// m[}@o[W݊Xg +static const u8 s_normalVersionList[] = { 1, TSF_VERSION_TERMINATOR }; + + +// m[}@TSF[hp[^ +static const TSFParam s_normalParam = { + sizeof(TWLHWNormalInfo), + TWL_HWINFO_FILE_LENGTH, + s_normalVersionList, + &s_normalDefault, + THWIi_CheckDigest, + (int (*)(void *))THWIi_CheckNormalValue, +}; + + +// ZLA@ftHgl +static TWLHWSecureInfo s_secureDefault = { + TWL_REGION_AMERICA, + { TWL_HWINFO_SERIALNO_LEN_AMERICA, "0123456789A" }, +}; + + +// ZLA@o[W݊Xg +static const u8 s_secureVersionList[] = { 1, TSF_VERSION_TERMINATOR }; + + +// ZLA@TSF[hp[^ +static const TSFParam s_secureParam = { + sizeof(TWLHWSecureInfo), + TWL_HWINFO_FILE_LENGTH, + s_secureVersionList, + &s_secureDefault, + THWIi_CheckSignature, + (int (*)(void *))THWIi_CheckSecureValue, +}; + + +// ZLA@J +static const u8 s_publicKey[ RSA_KEY_LENGTH ] = { + 0xc0, 0xe0, 0x88, 0x61, 0xc2, 0xc7, 0x0c, 0xef, 0x3c, 0xe5, 0x4e, 0xe4, 0x36, 0xce, 0xb4, 0x6f, + 0x77, 0xde, 0xb0, 0x44, 0xc4, 0x60, 0xd6, 0x28, 0xcf, 0xa1, 0xf4, 0xc3, 0xce, 0x5f, 0xd5, 0x1f, + 0xc2, 0x96, 0x6f, 0x54, 0x62, 0x60, 0x76, 0x34, 0x18, 0xbe, 0xff, 0xaa, 0xd8, 0x09, 0xea, 0x63, + 0x95, 0xf7, 0xdb, 0xc5, 0x8f, 0x59, 0xb8, 0xac, 0x13, 0x84, 0xe3, 0x1c, 0x43, 0xb6, 0xf7, 0x4d, + 0xd1, 0x91, 0xaf, 0x99, 0xf4, 0xef, 0xc3, 0x98, 0xb0, 0xcc, 0x39, 0xc8, 0x67, 0xf3, 0x83, 0x39, + 0x30, 0x78, 0x98, 0x15, 0x72, 0x4a, 0xc0, 0x61, 0xad, 0x2b, 0xf6, 0xf8, 0xbd, 0x6d, 0x78, 0x7a, + 0x84, 0xf3, 0x7b, 0x3d, 0x15, 0x26, 0xc3, 0xdb, 0x01, 0xa5, 0x2d, 0xbe, 0x2a, 0x68, 0xe6, 0xaf, + 0x6f, 0x11, 0xa5, 0xd7, 0x76, 0xaf, 0x3f, 0xce, 0x75, 0x95, 0x08, 0xb2, 0x37, 0xfb, 0x85, 0xc9, +}; + + +// --------------------------------------------------------------------- +// HWm[} +// --------------------------------------------------------------------- + +// [h +TSFReadResult THW_ReadNormalInfo( void ) +{ + s_isReadNormal = TRUE; + return TSF_ReadFile( (char *)TWL_HWINFO_NORMAL_PATH, &s_hwInfoN, &s_normalParam, NULL ); +} + + +// Cg +BOOL THW_WriteNormalInfo( void ) +{ + if( !s_isReadNormal ) { + return FALSE; + } + return THW_WriteNormalInfoDirect( &s_hwInfoN ); +} + + +// ڃCg +BOOL THW_WriteNormalInfoDirect( const TWLHWNormalInfo *pSrcInfo ) +{ + // wb_̍쐬 + TSFHeader header; + MI_CpuClear8( &header, sizeof(TSFHeader) ); + header.version = TWL_HWINFO_NORMAL_VERSION; + header.bodyLength = sizeof( TWLHWNormalInfo ); + SVC_CalcSHA1( header.digest.sha1, pSrcInfo, sizeof(TWLHWNormalInfo) ); + // Cg + if( !TSF_WriteFile( (char *)TWL_HWINFO_NORMAL_PATH, + &header, + (const void *)pSrcInfo, + DISABLE_SAVE_COUNT ) ) { + return FALSE; + } + // [hAstaticobt@ւ̃Rs[s + if( !s_isReadNormal ) { + s_isReadNormal = TRUE; + MI_CpuCopy8( pSrcInfo, &s_hwInfoN, sizeof(TWLHWNormalInfo) ); + } + return TRUE; +} + + +// t@C̃Jo +BOOL THW_RecoveryNormalInfo( TSFReadResult err ) +{ + return TSF_RecoveryFile( err, (char *)TWL_HWINFO_NORMAL_PATH, TWL_HWINFO_FILE_LENGTH ); + +} + + +// _CWFXg`FbN +static BOOL THWIi_CheckDigest( void *pTgt, u32 length, u8 *pDigest ) +{ + u8 digest[ SVC_SHA1_DIGEST_SIZE ]; + + SVC_CalcSHA1( digest, pTgt, length ); + return SVC_CompareSHA1( digest, pDigest ); +} + + +// l`FbN +static BOOL THWIi_CheckNormalValue( const TWLHWNormalInfo *pSrcInfo ) +{ +#pragma unused(pSrcInfo) + return TRUE; +} + + +// VftHgl̃Zbg +void TWH_SetNormalDefaultValue( const TWLHWNormalInfo *pSrcInfo ) +{ + MI_CpuCopy8( pSrcInfo, &s_normalDefault, sizeof(TWLHWNormalInfo) ); +} + + +// --------------------------------------------------------------------- +// HWZLA +// --------------------------------------------------------------------- + +// [h +TSFReadResult THW_ReadSecureInfo( void ) +{ + s_isReadSecure = TRUE; + return TSF_ReadFile( (char *)TWL_HWINFO_SECURE_PATH, &s_hwInfoS, &s_secureParam, NULL ); +} + +#ifdef HW_SECURE_INFO_WRITE_ENABLE_ + +// Cg +BOOL THW_WriteSecureInfo( const u8 *pPrivKeyDER ) +{ + if( !s_isReadSecure ) { + return FALSE; + } + return THW_WriteSecureInfoDirect( &s_hwInfoS, pPrivKeyDER ); +} + + +// ڃCg +BOOL THW_WriteSecureInfoDirect( const TWLHWSecureInfo *pSrcInfo, const u8 *pPrivKeyDER ) +{ + // wb_̍쐬 + TSFHeader header; + u8 digest[ SVC_SHA1_DIGEST_SIZE ]; + u64 id = SCFG_ReadFuseData(); + MI_CpuClear8( &header, sizeof(TSFHeader) ); + header.version = TWL_HWINFO_SECURE_VERSION; + header.bodyLength = sizeof( TWLHWSecureInfo ); + +#ifdef USE_SHA1_SIGNATURE + SVC_CalcSHA1( digest, pSrcInfo, sizeof(TWLHWSecureInfo) ); +#else +// SVC_CalcHMACSHA1( digest, pSrcInfo, sizeof(TWLHWSecureInfo), &id, sizeof(u64) ); + HMACSHA1( digest, (unsigned char *)pSrcInfo, sizeof(TWLHWSecureInfo), (u8 *)&id, sizeof(u64) ); +#endif + if( !ACSign_Encrypto( header.digest.rsa, + pPrivKeyDER, + digest, + SVC_SHA1_DIGEST_SIZE ) ) { + return FALSE; + } + // Cg + if( !TSF_WriteFile( (char *)TWL_HWINFO_SECURE_PATH, + &header, + (const void *)pSrcInfo, + DISABLE_SAVE_COUNT ) ) { + return FALSE; + } + // [hAstaticobt@ւ̃Rs[s + if( !s_isReadSecure ) { + s_isReadSecure = TRUE; + MI_CpuCopy8( pSrcInfo, &s_hwInfoS, sizeof(TWLHWSecureInfo) ); + } + return TRUE; +} + + +// t@C̃Jo +BOOL THW_RecoverySecureInfo( TSFReadResult err ) +{ + return TSF_RecoveryFile( err, (char *)TWL_HWINFO_SECURE_PATH, TWL_HWINFO_FILE_LENGTH ); +} + +#endif // HW_SECURE_INFO_WRITE_ENABLE_ + + +// `FbN +static BOOL THWIi_CheckSignature( void *pTgt, u32 length, u8 *pSignature ) +{ + static u32 heap[ 4096 / sizeof(u32) ]; + SVCSignHeapContext acmemoryPool; + u8 digest_sign[ SVC_SHA1_DIGEST_SIZE ]; + u8 digest_calc[ SVC_SHA1_DIGEST_SIZE ]; + u64 id = SCFG_ReadFuseData(); + +#ifdef USE_SHA1_SIGNATURE + SVC_CalcSHA1( digest_calc, pTgt, length ); +#else +// SVC_CalcHMACSHA1( digest_calc, pTgt, length, (u8 *)&id, sizeof(u64) ); + HMACSHA1( digest_calc, pTgt, length, (u8 *)&id, sizeof(u64) ); +#endif + SVC_InitSignHeap( &acmemoryPool, heap, 4096 ); + SVC_DecryptSign( &acmemoryPool, digest_sign, pSignature, s_publicKey ); + return SVC_CompareSHA1( digest_sign, digest_calc ); +} + + +// HW Secure l`FbN +static BOOL THWIi_CheckSecureValue( const TWLHWSecureInfo *pSrcInfo ) +{ + if( + ( pSrcInfo->region >= TWL_REGION_MAX ) || + ( ( pSrcInfo->serialNo.length != TWL_HWINFO_SERIALNO_LEN_AMERICA ) && + ( pSrcInfo->serialNo.length != TWL_HWINFO_SERIALNO_LEN_OTHERS ) ) + ) { + return FALSE; + } + + return TRUE; +} + + +// VftHgl̃Zbg +void TWH_SetSecureDefaultValue( const TWLHWSecureInfo *pSrcInfo ) +{ + MI_CpuCopy8( pSrcInfo, &s_secureDefault, sizeof(TWLHWSecureInfo) ); +} + +const TWLHWNormalInfo *THW_GetDefaultNormalInfo( void ); +const TWLHWSecureInfo *THW_GetDefaultSecureInfo( void ); +const TWLHWNormalInfo *THW_GetNormalInfo( void ); +const TWLHWSecureInfo *THW_GetSecureInfo( void ); + +const TWLHWNormalInfo *THW_GetDefaultNormalInfo( void ) +{ + return &s_normalDefault; +} + +const TWLHWSecureInfo *THW_GetDefaultSecureInfo( void ) +{ + return &s_secureDefault; +} + +const TWLHWNormalInfo *THW_GetNormalInfo( void ) +{ + return &s_hwInfoN; +} + +const TWLHWSecureInfo *THW_GetSecureInfo( void ) +{ + return &s_hwInfoS; +} + +static void DEBUG_PrintDigest( u8 *pDigest ) +{ + int i; + for( i = 0; i < SVC_SHA1_DIGEST_SIZE; i++ ) { + OS_TPrintf( "%02x", *pDigest++ ); + } + OS_TPrintf( "\n" ); +} + +static void DEBUG_Dump( u8 *pSrc, u32 len ) +{ + int i; + for( i = 0; i < len; i++ ) { + if( ( i & 0x0f ) == 0 ) { + OS_TPrintf( "\n" ); + } + OS_TPrintf( "%02x ", *pSrc++ ); + } + OS_TPrintf( "\n" ); +} + + +// HMAC SHA-1ZoiSDKłSVC_CalcHMACSHA1ɃoÔŁAgpj +static void HMACSHA1( u8 *pDigest, u8 *pSrc, u32 len, u8 *pKey, u32 keyLen ) +{ + static SVCHMACSHA1Context s_hmac; + SVC_HMACSHA1Init( &s_hmac, pKey, keyLen ); + SVC_HMACSHA1Update( &s_hmac, pSrc, len ); + SVC_HMACSHA1GetHash( &s_hmac, pDigest ); +} + diff --git a/build/libraries_sysmenu/settings/ARM9/src/TWLSettings.c b/build/libraries_sysmenu/settings/ARM9/src/TWLSettings.c index 48dc421a..d9d48d9a 100644 --- a/build/libraries_sysmenu/settings/ARM9/src/TWLSettings.c +++ b/build/libraries_sysmenu/settings/ARM9/src/TWLSettings.c @@ -50,15 +50,6 @@ static const char *s_TSDPath[ TSD_FILE_MIRROR_NUM ] = { (const char *)"nand:/shared1/TWLCFG1.dat", }; -static const u16 s_validLangBitmapList[] = { - TWL_LANG_BITMAP_JAPAN, - TWL_LANG_BITMAP_AMERICA, - TWL_LANG_BITMAP_EUROPE, - TWL_LANG_BITMAP_AUSTRALIA, - TWL_LANG_BITMAP_CHINA, - TWL_LANG_BITMAP_KOREA, -}; - // function's description----------------------------------------------- @@ -84,7 +75,7 @@ static BOOL TSDi_WriteSettingsDirect( TSDStore *pTSDStore ) pTSDStore->header.dataLength = sizeof(TWLSettingsData); // _CWFXgZoĩo[W̃f[^TCYŎZoj - SVC_CalcSHA1( pTSDStore->header.digest, &pTSDStore->tsd, sizeof(TWLSettingsData) ); + SVC_CalcSHA1( pTSDStore->digest, &pTSDStore->tsd, sizeof(TWLSettingsData) ); FS_InitFile( &file ); @@ -171,9 +162,9 @@ BOOL TSD_ReadSettings( TSDStore (*pTempBuffer)[2] ) goto NEXT; } - // f[^̃_CWFXg`FbN + // f[^̃_CWFXg`FbNiSHA1CRC16̎ԂvA\usȂ̂ŁASHA1̂܂܂łBj SVC_CalcSHA1( digest, &pTSDStore[ i ].tsd, pTSDStore[ i ].header.dataLength ); - if( !SVC_CompareSHA1( digest, pTSDStore[ i ].header.digest ) ) { + if( !SVC_CompareSHA1( digest, pTSDStore[ i ].digest ) ) { OS_TPrintf( "TSD[%d] : file digest error.\n", i ); dataErrFlag |= 0x01 << i; goto NEXT; @@ -339,7 +330,5 @@ static void TSDi_ClearSettings( TWLSettingsData *pTSD ) pTSD->owner.birthday.day = 1; pTSD->language = TWL_LANG_ENGLISH; pTSD->region = TWL_DEFAULT_REGION; // [W͖{̐ݒf[^ȂȂ\ - pTSD->valid_language_bitmap = s_validLangBitmapList[ pTSD->region ]; - // Ήrbg}bv{̐ݒf[^ȂȂ\ } diff --git a/build/libraries_sysmenu/settings/ARM9/src/TWLStoreFile.c b/build/libraries_sysmenu/settings/ARM9/src/TWLStoreFile.c new file mode 100644 index 00000000..32f863a8 --- /dev/null +++ b/build/libraries_sysmenu/settings/ARM9/src/TWLStoreFile.c @@ -0,0 +1,252 @@ +/*---------------------------------------------------------------------------* + Project: TwlIPL + File: TWLHWInfo.c + + Copyright 2007 Nintendo. All rights reserved. + + These coded instructions, statements, and computer programs contain + proprietary information of Nintendo of America Inc. and/or Nintendo + Company Ltd., and are protected by Federal copyright law. They may + not be disclosed to third parties or copied or duplicated in any form, + in whole or in part, without the prior written consent of Nintendo. + + $Date:: $ + $Rev$ + $Author$ + *---------------------------------------------------------------------------*/ + +#include +#include + +// define data---------------------------------------------------------- +// function's prototype------------------------------------------------- +// static variables----------------------------------------------------- +// global variables----------------------------------------------------- +// const data----------------------------------------------------------- + +// function's description----------------------------------------------- + +// TSFt@C̓ǂݏo +TSFReadResult TSF_ReadFile( char *pPath, void *pDstBody, const TSFParam *pParam, u8 *pDstSaveCount ) +{ + TSFHeader header; + TSFReadResult retval; + FSFile file; + FS_InitFile( &file ); + + // wb_pobt@̃NA + MI_CpuClear8( &header, sizeof(TSFHeader) ); + + // {fBpobt@̃NA + if( pParam->pDefaultValue ) { + // ftHgw肠̎́Ao[Wʌ݊̏ꍇlāAftHglRs[Ă + MI_CpuCopy8( pParam->pDefaultValue, pDstBody, pParam->dataLength ); + }else { + // łȂꍇ́A[hobt@NA + MI_CpuClear8( pDstBody, pParam->dataLength ); + } + + // t@CI[v + if( !FS_OpenFileEx( &file, pPath, FS_FILEMODE_R ) ) { + OS_TPrintf( "Read : file open error. %s\n", pPath ); + retval = TSF_READ_RESULT_ERROR_FILE_EXIST; + goto END2; + } + + // t@C`FbN + if( FS_GetFileLength( &file ) != pParam->fileLength ) { + OS_TPrintf( "Read : file length error. : %s length = %d\n", pPath, FS_GetFileLength( &file ) ); + retval = TSF_READ_RESULT_ERROR_FILE_LENGTH; + goto END; + } + + // wb_[h + if( FS_ReadFile( &file, &header, sizeof(TSFHeader) ) < sizeof(TSFHeader) ) { + OS_TPrintf( "Read : file read error. %s\n", pPath ); + retval = TSF_READ_RESULT_ERROR_DATA; + goto END; + } + + // wb_`FbN + if( header.bodyLength > pParam->dataLength ) { + OS_TPrintf( "Read : file header error. %s\n", pPath ); + retval = TSF_READ_RESULT_ERROR_DATA; + goto END; + } + + // {fB[h + if( FS_ReadFile( &file, pDstBody, (long)header.bodyLength ) < pParam->dataLength ) { + OS_TPrintf( "Read : file read error. %s\n", pPath ); + retval = TSF_READ_RESULT_ERROR_DATA; + goto END; + } + + // f[^̃_CWFXg`FbN + if( pParam->pCheckDigestFunc && + !pParam->pCheckDigestFunc( pDstBody, header.bodyLength, header.digest.dst ) ) { + OS_TPrintf( "Read : file digest error. %s\n", pPath ); + retval = TSF_READ_RESULT_ERROR_DATA; + goto END; + } + + // f[^̒l`FbN + if( pParam->pCheckValueFunc && + !pParam->pCheckValueFunc( pDstBody ) ) { + OS_TPrintf( "Read : file data value error. %s\n", pPath ); + retval = TSF_READ_RESULT_ERROR_DATA; + goto END; + } + + // o[W݊`FbN + if( pParam->conpatibleVerList ) { + const u8 *pVersion = pParam->conpatibleVerList; + while( *pVersion++ != TSF_VERSION_TERMINATOR ) { + if( *pVersion == header.version ) { + break; //@݊ + } + } + if( *pVersion == TSF_VERSION_TERMINATOR ) { + retval = TSF_READ_RESULT_ERROR_DATA; + goto END; + } + } + + if( pDstSaveCount ) { + *pDstSaveCount = header.saveCount; + } + retval = TSF_READ_RESULT_SUCCEEDED; +END: + // t@CN[Y + FS_CloseFile( &file ); +END2: + + if( retval != TSF_READ_RESULT_SUCCEEDED ) { + // {fBpobt@̃NA + if( pParam->pDefaultValue ) { + // o[Wʌ݊̏ꍇlāAftHglRs[Ă + MI_CpuCopy8( pParam->pDefaultValue, pDstBody, pParam->dataLength ); + }else { + // łȂꍇ́A[hobt@NA + MI_CpuClear8( pDstBody, pParam->dataLength ); + } + } + + return retval; +} + + +// TWLt@C̃Cg +BOOL TSF_WriteFile( char *pPath, TSFHeader *pHeader, const void *pSrcBody, u8 saveCount ) +{ + BOOL retval = FALSE; + FSFile file; + FS_InitFile( &file ); + + if( saveCount != DISABLE_SAVE_COUNT ) { + pHeader->saveCount = (u8)( ( saveCount + 1 ) & SAVE_COUNT_MASK ); + }else { + pHeader->saveCount = 0; + } + + OS_TPrintf( "Write > %s : 0x%02x\n", pPath, pHeader->saveCount ); + + // t@CI[v + if( !FS_OpenFileEx( &file, pPath, FS_FILEMODE_R | FS_FILEMODE_W ) ) { // R|W[hŊJƁAt@Cc܂܍XVB + OS_TPrintf( "Write : file open error. %s\n", pPath ); + return FALSE; + } + + // Cg + if( FS_WriteFile( &file, pHeader, sizeof(TSFHeader) ) < sizeof(TSFHeader) ) { + OS_TPrintf( "Write : file header write error. %s\n", pPath ); + goto END; + } + if( FS_WriteFile( &file, pSrcBody, (long)pHeader->bodyLength ) < pHeader->bodyLength ) { + OS_TPrintf( "Write : file body write error. %s\n", pPath ); + goto END; + } + + retval = TRUE; +END: + // t@CN[Y + FS_CloseFile( &file ); + + return retval; +} + + +// TWLt@C̃Jo +BOOL TSF_RecoveryFile( TSFReadResult err, char *pPath, u32 fileLength ) +{ +#define INITIAL_DATA_PATTERN 0xffffffff +#define READ_SIZE 1024 + u32 buffer[ READ_SIZE / sizeof(u32) ]; + u32 length; + BOOL retval = FALSE; + FSFile file; + FS_InitFile( &file ); + + if( err == TSF_READ_RESULT_SUCCEEDED ) { + return TRUE; + } + + // t@C + if( err == TSF_READ_RESULT_ERROR_FILE_EXIST ) { + if( !FS_CreateFile( pPath, FS_PERMIT_R | FS_PERMIT_W ) ) { + OS_TPrintf( "Recovery: create file error. %s\n", pPath ); + goto END2; + } + } + + // t@CI[v + if( !FS_OpenFileEx( &file, pPath, FS_FILEMODE_R | FS_FILEMODE_W ) ) { + OS_TPrintf( "Recovery : file open error. %s\n", pPath ); + goto END2; + } + + // t@CύX + if( ( err == TSF_READ_RESULT_ERROR_FILE_EXIST ) || + ( err == TSF_READ_RESULT_ERROR_FILE_LENGTH ) ) { + if( FS_SetFileLength( &file, fileLength ) != FS_RESULT_SUCCESS ) { + OS_TPrintf( "Recovery : set file length error. %s\n", pPath ); + goto END; + } + } + + // t@Cf[^i0xff߁j + MI_CpuFillFast( buffer, INITIAL_DATA_PATTERN, sizeof(buffer) ); + length = fileLength; + while( length ) { + u32 wrSize = ( length > READ_SIZE ) ? READ_SIZE : length; + if( FS_WriteFile( &file, buffer, (s32)wrSize ) < wrSize ) { + OS_TPrintf( "Recovery : write error. %s\n", pPath ); + goto END; + } + length -= wrSize; + } + + // xt@C + FS_SeekFile( &file, 0, FS_SEEK_SET ); + length = fileLength; + while( length ) { + int i; + u32 rdSize = ( length > READ_SIZE ) ? READ_SIZE : length; + FS_ReadFile( &file, buffer, (s32)rdSize ); + for( i = 0; i < rdSize / sizeof(u32); i++ ) { + if( buffer[ i ] != INITIAL_DATA_PATTERN ) { + OS_TPrintf( "Recovery : verify error. %s\n", pPath ); + goto END; + } + } + length -= rdSize; + } + + retval = TRUE; +END: + // t@CN[Y + FS_CloseFile( &file ); +END2: + + return retval; +} + diff --git a/build/systemMenu_RED/HWInfoWriter/ARM9/Makefile b/build/systemMenu_RED/HWInfoWriter/ARM9/Makefile new file mode 100644 index 00000000..4c1f3da5 --- /dev/null +++ b/build/systemMenu_RED/HWInfoWriter/ARM9/Makefile @@ -0,0 +1,60 @@ +#! make -f +#---------------------------------------------------------------------------- +# Project: TwlSDK - demos - simpleShoot-1 +# File: Makefile +# +# Copyright 2007 Nintendo. All rights reserved. +# +# These coded instructions, statements, and computer programs contain +# proprietary information of Nintendo of America Inc. and/or Nintendo +# Company Ltd., and are protected by Federal copyright law. They may +# not be disclosed to third parties or copied or duplicated in any form, +# in whole or in part, without the prior written consent of Nintendo. +# +# $Date:: $ +# $Rev$ +# $Author$ +#---------------------------------------------------------------------------- + +SUBDIRS = ../../../libraries_sysmenu/acsign \ + ../../../libraries_sysmenu/settings + +#---------------------------------------------------------------------------- + +TARGET_FIRM = SYSTEMMENU +TARGET_PLATFORM = TWL +TWL_ARCHGEN = LIMITED + +TITLEID_LO = HIWR +TARGET_TAD = $(BINDIR)/$(TITLEID_LO).tad + +TARGET_BIN = main.srl + +ROM_SPEC = main.rsf + +MISC_DIR = ../../misc + +SRCS = main.c HWInfoWriter.c \ + $(MISC_DIR)/src/misc.c $(MISC_DIR)/src/cmn.c + +LINCLUDES = $(MISC_DIR)/include + +MAKEROM_FLAGS += -DTITLEID_LO='$(TITLEID_LO)' + +include $(TWLIPL_ROOT)/build/buildtools/commondefs + + +LDIRT_CLEAN = $(TARGET_TAD) +INSTALL_TARGETS = $(TARGET_TAD) +INSTALL_DIR = $(SDK_NMENU_DATADIR) + +#---------------------------------------------------------------------------- + +do-build : $(TARGETS) + + +include $(TWLIPL_ROOT)/build/buildtools/modulerules + +#---------------------------------------------------------------------------- + +#===== End of Makefile ===== diff --git a/build/systemMenu_RED/HWInfoWriter/ARM9/main.rsf b/build/systemMenu_RED/HWInfoWriter/ARM9/main.rsf new file mode 100644 index 00000000..89412902 --- /dev/null +++ b/build/systemMenu_RED/HWInfoWriter/ARM9/main.rsf @@ -0,0 +1,154 @@ +#---------------------------------------------------------------------------- +# Project: TwlSDK - include +# File: ROM-BB.rsf +# +# Copyright 2007 Nintendo. All rights reserved. +# +# These coded insructions, statements, and computer programs contain +# proprietary information of Nintendo of America Inc. and/or Nintendo +# Company Ltd., and are protected by Federal copyright law. They may +# not be disclosed to third parties or copied or duplicated in any form, +# in whole or in part, without the prior written consent of Nintendo. +# +# $Date:: $ +# $Rev$ +# $Author$ +#---------------------------------------------------------------------------- +# +# TWL ROM SPEC FILE +# + +Arm9 +{ + Static "$(MAKEROM_ARM9:r).TWL.FLX.sbin$(COMPSUFFIX9)" + OverlayDefs "$(MAKEROM_ARM9:r)_defs.TWL.FLX.sbin$(COMPSUFFIX9)" + OverlayTable "$(MAKEROM_ARM9:r)_table.TWL.FLX.sbin$(COMPSUFFIX9)" + Elf "$(MAKEROM_ARM9:r).tef" +} + +Arm7 +{ + Static "$(MAKEROM_ARM7_BASE:r).TWL.FLX.sbin$(COMPSUFFIX7)" + OverlayDefs "$(MAKEROM_ARM7_BASE:r)_defs.TWL.FLX.sbin$(COMPSUFFIX7)" + OverlayTable "$(MAKEROM_ARM7_BASE:r)_table.TWL.FLX.sbin$(COMPSUFFIX7)" + Elf "$(MAKEROM_ARM7_BASE:r).tef" +} + +Arm9.Ltd +{ + Static "$(MAKEROM_ARM9:r).TWL.LTD.sbin$(COMPSUFFIX9)" + OverlayDefs "$(MAKEROM_ARM9:r)_defs.TWL.LTD.sbin$(COMPSUFFIX9)" + OverlayTable "$(MAKEROM_ARM9:r)_table.TWL.LTD.sbin$(COMPSUFFIX9)" +} + +Arm7.Ltd +{ + Static "$(MAKEROM_ARM7_BASE:r).TWL.LTD.sbin$(COMPSUFFIX7)" + OverlayDefs "$(MAKEROM_ARM7_BASE:r)_defs.TWL.LTD.sbin$(COMPSUFFIX7)" + OverlayTable "$(MAKEROM_ARM7_BASE:r)_table.TWL.LTD.sbin$(COMPSUFFIX7)" +} + +Property +{ + ### + ### Settings for FinalROM + ### + #### BEGIN + # + # TITLE NAME: Your product name within 12bytes + # + #TitleName "YourAppName" + + # + # MAKER CODE: Your company ID# in 2 ascii words + # issued by NINTENDO + # + #MakerCode "00" + + # + # REMASTER VERSION: Mastering version + # + #RomVersion 0 + + # + # ROM SPEED TYPE: [MROM/1TROM/UNDEFINED] + # + RomSpeedType $(MAKEROM_ROMSPEED) + + # + # ROM SIZE: in bit [64M/128M/256M/512M/1G/2G] + # + #RomSize 128M + #RomSize 256M + + # + # ROM PADDING: TRUE if finalrom + # + #RomFootPadding TRUE + + # + # ROM HEADER TEMPLATE: Provided to every product by NINTENDO + # + #RomHeaderTemplate ./etc/rom_header.template.sbin + + # + # BANNER FILE: generated from Banner Spec File + # + BannerFile ../banner/banner.bnr + + ### + ### Setting for TWL + ### + # + # BANNER FILE: + # + BannerTWLFile $(TWLSDK_ROOT)/include/twl/specfiles/default.bnr + + # + # Boot allowed Media: [GameCard/NAND/SDCard/DownloadPlay] + # possible to choose one or more. + # + BootMedia GameCard NAND SDCard DownloadPlay + + # + # Certification FILE: + # + Certificate $(TWLSDK_ROOT)/include/twl/specfiles/default_sgn.sbin + + # + # Digest parameters: + # + DigestParam 1024 32 + + # + # WRAM mapping: [MAP_BB_HYB/MAP_BB_LTD/MAP_TS_HYB/MAP_TS_LTD] + # don't have to edit + # + WramMapping $(MAKEROM_WRAM_MAPPING) + + # + # Codec mode: + # don't have to edit + # + CodecMode $(MAKEROM_CODEC_MODE) + + TitleID_Lo $(TITLEID_LO) + TitleID_Hi 0x00010001 +# PrivateSaveDataSize 16K +# PublicSaveDataSize 16K + + ### + #### END +} + +RomSpec +{ + Offset 0x00000000 + Segment ALL + HostRoot ../../data + Root /data + File NTR_IPL_font_m.NFTR + HostRoot ../../../../keys/HWInfo + Root /key + File privKeyHWInfo.der +} diff --git a/build/systemMenu_RED/HWInfoWriter/ARM9/src/HWInfoWriter.c b/build/systemMenu_RED/HWInfoWriter/ARM9/src/HWInfoWriter.c new file mode 100644 index 00000000..67e20a4f --- /dev/null +++ b/build/systemMenu_RED/HWInfoWriter/ARM9/src/HWInfoWriter.c @@ -0,0 +1,368 @@ +/*---------------------------------------------------------------------------* + Project: TwlIPL + File: DS_Chat.c + + Copyright 2007 Nintendo. All rights reserved. + + These coded instructions, statements, and computer programs contain + proprietary information of Nintendo of America Inc. and/or Nintendo + Company Ltd., and are protected by Federal copyright law. They may + not be disclosed to third parties or copied or duplicated in any form, + in whole or in part, without the prior written consent of Nintendo. + + $Date:: $ + $Rev$ + $Author$ + *---------------------------------------------------------------------------*/ + +#include +#include +#include "misc.h" +#include "HWInfoWriter.h" + +// define data------------------------------------------ +#define WRITER_ELEMENT_NUM 7 +#define MSG_X 3 +#define MSG_Y 19 + +// extern data------------------------------------------ +const TWLHWNormalInfo *THW_GetDefaultNormalInfo( void ); +const TWLHWSecureInfo *THW_GetDefaultSecureInfo( void ); +const TWLHWNormalInfo *THW_GetNormalInfo( void ); +const TWLHWSecureInfo *THW_GetSecureInfo( void ); + +// function's prototype declaration--------------------- +static void ReadPrivateKey( void ); +static void ReadHWInfoFile( void ); +static void WriteHWInfoFile( u8 region ); +static BOOL WriteHWNormalInfoFile( void ); +static BOOL WriteHWSecureInfoFile( u8 region ); +static void DeleteHWInfoFile( void ); +static void VerifyHWInfo( void ); +static BOOL VerifyData( const u8 *pTgt, const u8 *pOrg, u32 len ); +static void DispMessage( int x, int y, u16 color, const u16 *pMsg ); + +// global variable ------------------------------------- +RTCDrawProperty g_rtcDraw = { + TRUE, RTC_DATE_TOP_X, RTC_DATE_TOP_Y, RTC_TIME_TOP_X, RTC_TIME_TOP_Y +}; + +// static variable ------------------------------------- +static u16 s_csr; +static u8 *s_pPrivKeyBuffer = NULL; + +// const data ----------------------------------------- +static const u16 *const s_pStrWriter[ WRITER_ELEMENT_NUM ] = { + (const u16 *)L"Write HW Info REGION=JAPAN", + (const u16 *)L"Write HW Info REGION=AMERICA", + (const u16 *)L"Write HW Info REGION=EUROPE", + (const u16 *)L"Write HW Info REGION=AUSTRALIA", + (const u16 *)L"Write HW Info REGION=CHINA", + (const u16 *)L"Write HW Info REGION=KOREA", + (const u16 *)L"Delete HW Info", +}; + +static MenuPos s_writerPos[] = { + { TRUE, 3 * 8, 4 * 8 }, + { TRUE, 3 * 8, 6 * 8 }, + { TRUE, 3 * 8, 8 * 8 }, + { TRUE, 3 * 8, 10 * 8 }, + { TRUE, 3 * 8, 12 * 8 }, + { TRUE, 3 * 8, 14 * 8 }, + { TRUE, 3 * 8, 16 * 8 }, +}; + + +static const MenuParam s_writerParam = { + WRITER_ELEMENT_NUM, + TXT_COLOR_BLACK, + TXT_COLOR_GREEN, + TXT_COLOR_RED, + &s_writerPos[ 0 ], + (const u16 **)&s_pStrWriter, +}; + +//====================================================== +// HW񃉃C^[ +//====================================================== + +// HW񃉃C^[̏ +void HWInfoWriterInit( void ) +{ + GX_DispOff(); + GXS_DispOff(); + + InitBG(); + + NNS_G2dCharCanvasClear( &gCanvas, TXT_COLOR_WHITE ); + + PutStringUTF16( 1 * 8, 0 * 8, TXT_COLOR_BLUE, (const u16 *)L"HW Info Writer"); + GetAndDrawRTCData( &g_rtcDraw, TRUE ); + + ACSign_SetAllocFunc( Alloc, Free ); + ReadPrivateKey(); + ReadHWInfoFile(); +// VerifyHWInfo(); + OS_TPrintf( "region = %d\n", THW_GetRegion() ); + + s_csr = 0; + DrawMenu( s_csr, &s_writerParam ); + + GXS_SetVisiblePlane( GX_PLANEMASK_BG0 ); + GX_DispOn(); + GXS_DispOn(); +} + + +// HW񃉃C^[̃C[v +void HWInfoWriterMain( void ) +{ + // J[\ړ + if( pad.trg & PAD_KEY_DOWN ){ + if( ++s_csr == WRITER_ELEMENT_NUM ) { + s_csr = 0; + } + } + if( pad.trg & PAD_KEY_UP ){ + if( --s_csr & 0x8000 ) { + s_csr = WRITER_ELEMENT_NUM - 1; + } + } + DrawMenu( s_csr, &s_writerParam ); + + // s + if( pad.trg == PAD_BUTTON_A ) { + if( s_csr == WRITER_ELEMENT_NUM - 1 ) { + OS_TPrintf( "Delete start.\n" ); + (void)DeleteHWInfoFile(); + }else { + OS_TPrintf( "Write start.\n" ); + WriteHWInfoFile( (u8)s_csr ); + } + } + + GetAndDrawRTCData( &g_rtcDraw, FALSE ); +} + + +// 閧̃[h +static void ReadPrivateKey( void ) +{ + BOOL result = FALSE; + u32 keyLength; + FSFile file; + + FS_InitFile( &file ); + if( !FS_OpenFileEx( &file, "rom:key/privKeyHWInfo.der", FS_FILEMODE_R ) ) { + OS_TPrintf( "PrivateKey read failed.\n" ); + }else { + keyLength = FS_GetFileLength( &file ); + if( keyLength > 0 ) { + s_pPrivKeyBuffer = Alloc( keyLength ); + if( FS_ReadFile( &file, s_pPrivKeyBuffer, (s32)keyLength ) == keyLength ) { + OS_TPrintf( "PrivateKey read succeeded.\n" ); + result = TRUE; + }else { + OS_TPrintf( "PrivateKey read failed.\n" ); + } + } + FS_CloseFile( &file ); + } + if( !result && s_pPrivKeyBuffer ) { + Free( s_pPrivKeyBuffer ); + s_pPrivKeyBuffer = NULL; + } +} + + +// HWŜ̃[h +static void ReadHWInfoFile( void ) +{ + TSFReadResult retval; + + retval = THW_ReadNormalInfo(); + if( retval == TSF_READ_RESULT_SUCCEEDED ) { + OS_TPrintf( "HW Normal Info Read succeeded.\n" ); + }else { + OS_TPrintf( "HW Normal Info Read failed.\n" ); + } + + retval = THW_ReadSecureInfo(); + if( retval == TSF_READ_RESULT_SUCCEEDED ) { + OS_TPrintf( "HW Secure Info Read succeeded.\n" ); + }else { + OS_TPrintf( "HW Secure Info Read failed.\n" ); + } +} + + +// HWŜ̃Cg +static void WriteHWInfoFile( u8 region ) +{ + static const u16 *pMsgNormalWriting = (const u16 *)L"Writing Normal File..."; + static const u16 *pMsgSecureWriting = (const u16 *)L"Writing Secure File..."; + static const u16 *pMsgSucceeded = (const u16 *)L"Succeeded!"; + static const u16 *pMsgFailed = (const u16 *)L"Failed!"; + + // m[}t@C̃Cg + (void)PutStringUTF16( MSG_X * 8, MSG_Y * 8, TXT_COLOR_BLACK, pMsgNormalWriting ); + + if( WriteHWNormalInfoFile() ) { + (void)PutStringUTF16( ( MSG_X + 18 ) * 8, MSG_Y * 8, TXT_COLOR_BLUE, pMsgSucceeded ); + }else { + (void)PutStringUTF16( ( MSG_X + 18 ) * 8, MSG_Y * 8, TXT_COLOR_RED, pMsgFailed ); + } + + // ZLAt@C̃Cg + (void)PutStringUTF16( MSG_X * 8, ( MSG_Y + 2 ) * 8, TXT_COLOR_BLACK, pMsgSecureWriting ); + + if( WriteHWSecureInfoFile( region ) ) { + (void)PutStringUTF16( ( MSG_X + 18 ) * 8, ( MSG_Y + 2 ) * 8, TXT_COLOR_BLUE, pMsgSucceeded ); + }else { + (void)PutStringUTF16( ( MSG_X + 18 ) * 8, ( MSG_Y + 2 ) * 8, TXT_COLOR_RED, pMsgFailed ); + } + + // bZ[W莞ԕ\ď + DispMessage( 0, 0, TXT_COLOR_NULL, NULL ); + NNS_G2dCharCanvasClearArea( &gCanvas, TXT_COLOR_WHITE, + MSG_X * 8 , MSG_Y * 8, ( 32 - MSG_X ) * 8, ( MSG_Y + 4 ) * 8 ); +} + + +// HWm[}Infot@C̃Cg +static BOOL WriteHWNormalInfoFile( void ) +{ + BOOL isWrite = TRUE; + TSFReadResult result; + + result = THW_ReadNormalInfo(); + if( result != TSF_READ_RESULT_SUCCEEDED ) { + if( !THW_RecoveryNormalInfo( result ) ) { + OS_TPrintf( "HW Normal Info Recovery failed.\n" ); + isWrite = FALSE; + } + } + if( isWrite && + !THW_WriteNormalInfo() ) { + OS_TPrintf( "HW Normal Info Write failed.\n" ); + } + + return isWrite; +} + + +// HWZLAInfot@C̃Cg +static BOOL WriteHWSecureInfoFile( u8 region ) +{ + BOOL isWrite = TRUE; + TSFReadResult result; + + // 閧ǂݍ߂ĂȂȂAG[ + if( s_pPrivKeyBuffer == NULL ) { + OS_TPrintf( "Private key not read.\n" ); + return FALSE; + } + + // t@C̃[h + result = THW_ReadSecureInfo(); + + // [hɎs烊Jo + if( result != TSF_READ_RESULT_SUCCEEDED ) { + if( !THW_RecoverySecureInfo( result ) ) { + OS_TPrintf( "HW Secure Info Recovery failed.\n" ); + isWrite = FALSE; + } + } + + // [W̃Zbg + THW_SetRegion( region ); + + if( isWrite && + !THW_WriteSecureInfo( s_pPrivKeyBuffer ) ) { + isWrite = FALSE; + OS_TPrintf( "HW Secure Info Write failed.\n" ); + } + + return isWrite; +} + + +// HWInfot@C̍폜 +static void DeleteHWInfoFile( void ) +{ + static const u16 *pMsgNormalDeleting = (const u16 *)L"Deleting Normal File..."; + static const u16 *pMsgSecureDeleting = (const u16 *)L"Deteting Secure File..."; + static const u16 *pMsgSucceeded = (const u16 *)L"Succeeded!"; + static const u16 *pMsgFailed = (const u16 *)L"Failed!"; + + // m[}t@C + (void)PutStringUTF16( MSG_X * 8, MSG_Y * 8, TXT_COLOR_BLACK, pMsgNormalDeleting ); + if( FS_DeleteFile( (char *)TWL_HWINFO_NORMAL_PATH ) ) { + OS_TPrintf( "%s delete succeeded.\n", (char *)TWL_HWINFO_NORMAL_PATH ); + (void)PutStringUTF16( ( MSG_X + 19 ) * 8, MSG_Y * 8, TXT_COLOR_BLUE, pMsgSucceeded ); + }else { + OS_TPrintf( "%s delete failed.\n", (char *)TWL_HWINFO_NORMAL_PATH ); + (void)PutStringUTF16( ( MSG_X + 19 ) * 8, MSG_Y * 8, TXT_COLOR_RED, pMsgFailed ); + } + + // ZLAt@C + (void)PutStringUTF16( MSG_X * 8, ( MSG_Y + 2 ) * 8, TXT_COLOR_BLACK, pMsgSecureDeleting ); + if( FS_DeleteFile( (char *)TWL_HWINFO_SECURE_PATH ) ) { + OS_TPrintf( "%s delete succeeded.\n", (char *)TWL_HWINFO_SECURE_PATH ); + (void)PutStringUTF16( ( MSG_X + 19 ) * 8, ( MSG_Y + 2 ) * 8, TXT_COLOR_BLUE, pMsgSucceeded ); + }else { + OS_TPrintf( "%s delete failed.\n", (char *)TWL_HWINFO_SECURE_PATH ); + (void)PutStringUTF16( ( MSG_X + 19 ) * 8, ( MSG_Y + 2 ) * 8, TXT_COLOR_RED, pMsgFailed ); + } + DispMessage( 0, 0, TXT_COLOR_NULL, NULL ); + NNS_G2dCharCanvasClearArea( &gCanvas, TXT_COLOR_WHITE, + MSG_X * 8 , MSG_Y * 8, ( 32 - MSG_X ) * 8, ( MSG_Y + 4 ) * 8 ); +} + + +// HWInfot@C̃xt@C +static void VerifyHWInfo( void ) +{ + if( VerifyData( (const u8 *)THW_GetNormalInfo(), (const u8 *)THW_GetDefaultNormalInfo(), sizeof(TWLHWNormalInfo) ) ) { + OS_TPrintf( "HW normal Info verify succeeded.\n" ); + }else { + OS_TPrintf( "HW normal Info verify failed.\n" ); + } + if( VerifyData( (const u8 *)THW_GetSecureInfo(), (const u8 *)THW_GetDefaultSecureInfo(), sizeof(TWLHWSecureInfo) ) ) { + OS_TPrintf( "HW secure Info verify succeeded.\n" ); + }else { + OS_TPrintf( "HW secure Info verify failed.\n" ); + } + +} + + +// ̃f[^xt@C +static BOOL VerifyData( const u8 *pTgt, const u8 *pOrg, u32 len ) +{ + while( len-- ) { + if( *pTgt++ != *pOrg++ ) { + return FALSE; + } + } + return TRUE; +} + + +// bZ[W\ +static void DispMessage( int x, int y, u16 color, const u16 *pMsg ) +{ + OSTick start = OS_GetTick(); + // bZ[W\ + if( pMsg ) { + (void)PutStringUTF16( x, y, color, pMsg ); + } + // EFCg + while( OS_TicksToSeconds( OS_GetTick() - start ) < 2 ) { + OS_SpinWait( 0x1000 ); + } + // bZ[W + if( pMsg ) { + (void)PutStringUTF16( x, y, TXT_COLOR_WHITE, pMsg ); + } +} diff --git a/build/systemMenu_RED/HWInfoWriter/ARM9/src/HWInfoWriter.h b/build/systemMenu_RED/HWInfoWriter/ARM9/src/HWInfoWriter.h new file mode 100644 index 00000000..3f5c2ed8 --- /dev/null +++ b/build/systemMenu_RED/HWInfoWriter/ARM9/src/HWInfoWriter.h @@ -0,0 +1,37 @@ +/*---------------------------------------------------------------------------* + Project: TwlIPL + File: DS_Chat.h + + Copyright 2007 Nintendo. All rights reserved. + + These coded instructions, statements, and computer programs contain + proprietary information of Nintendo of America Inc. and/or Nintendo + Company Ltd., and are protected by Federal copyright law. They may + not be disclosed to third parties or copied or duplicated in any form, + in whole or in part, without the prior written consent of Nintendo. + + $Date:: $ + $Rev$ + $Author$ + *---------------------------------------------------------------------------*/ + +#ifndef __DS_CHAT_H__ +#define __DS_CHAT_H__ + +#ifdef __cplusplus +extern "C" { +#endif + + +#include + +// define data---------------------------------------------------------- + +void HWInfoWriterInit( void ); +void HWInfoWriterMain( void ); + +#ifdef __cplusplus +} +#endif + +#endif // __DS_CHAT_H__ diff --git a/build/systemMenu_RED/HWInfoWriter/ARM9/src/main.c b/build/systemMenu_RED/HWInfoWriter/ARM9/src/main.c new file mode 100644 index 00000000..ed400106 --- /dev/null +++ b/build/systemMenu_RED/HWInfoWriter/ARM9/src/main.c @@ -0,0 +1,85 @@ +/*---------------------------------------------------------------------------* + Project: TwlIPL + File: main.c + + Copyright 2007 Nintendo. All rights reserved. + + These coded instructions, statements, and computer programs contain + proprietary information of Nintendo of America Inc. and/or Nintendo + Company Ltd., and are protected by Federal copyright law. They may + not be disclosed to third parties or copied or duplicated in any form, + in whole or in part, without the prior written consent of Nintendo. + + $Date:: $ + $Rev$ + $Author$ + *---------------------------------------------------------------------------*/ + +#include +#include "misc.h" +#include "HWInfoWriter.h" + +// extern data----------------------------------------------------------------- +extern void SYSMi_SetLauncherMountInfo( void ); + +// define data----------------------------------------------------------------- + +// function's prototype------------------------------------------------------- +static void INTR_VBlank( void ); + +// global variable------------------------------------------------------------- + +// static variable------------------------------------------------------------- + +// const data------------------------------------------------------------------ + + +// ============================================================================ +// function's description +// ============================================================================ +void TwlMain(void) +{ + SYSMi_SetLauncherMountInfo(); + + // ---------------------------------- + OS_Init(); + OS_InitTick(); + + (void)OS_EnableIrq(); + (void)OS_EnableInterrupts(); + + GX_Init(); + GX_SetPower(GX_POWER_ALL); // eWbN p[ON + + // 荞݋---------------------------- + (void)OS_SetIrqFunction(OS_IE_V_BLANK, INTR_VBlank); + (void)OS_EnableIrqMask(OS_IE_V_BLANK); + (void)GX_VBlankIntr(TRUE); + + // foCX------------------------------- + (void)RTC_Init(); + + // VXȅ------------------ + InitAllocator(); + + // C[v---------------------------- + HWInfoWriterInit(); + while(1){ + OS_WaitIrq(1, OS_IE_V_BLANK); // VuN荞ݑ҂ + ReadKeyPad(); // L[͂̎擾 + + HWInfoWriterMain(); + } +} + + +// ============================================================================ +// 荞ݏ +// ============================================================================ + +// VuN荞 +static void INTR_VBlank(void) +{ + OS_SetIrqCheckFlag(OS_IE_V_BLANK); // VuN`FbÑZbg +} + diff --git a/build/systemMenu_RED/HWInfoWriter/Makefile b/build/systemMenu_RED/HWInfoWriter/Makefile new file mode 100644 index 00000000..66754bca --- /dev/null +++ b/build/systemMenu_RED/HWInfoWriter/Makefile @@ -0,0 +1,30 @@ +#! make -f +#---------------------------------------------------------------------------- +# Project: TwlIPL +# File: Makefile +# +# Copyright 2007 Nintendo. All rights reserved. +# +# These coded instructions, statements, and computer programs contain +# proprietary information of Nintendo of America Inc. and/or Nintendo +# Company Ltd., and are protected by Federal copyright law. They may +# not be disclosed to third parties or copied or duplicated in any form, +# in whole or in part, without the prior written consent of Nintendo. +# +# $Date:: $ +# $Rev$ +# $Author$ +#---------------------------------------------------------------------------- + +include $(TWLSDK_ROOT)/build/buildtools/commondefs + +#---------------------------------------------------------------------------- + +SUBDIRS = banner ARM9 + +#---------------------------------------------------------------------------- + +include $(TWLSDK_ROOT)/build/buildtools/modulerules + + +#===== End of Makefile ===== diff --git a/build/systemMenu_RED/HWInfoWriter/banner/Makefile b/build/systemMenu_RED/HWInfoWriter/banner/Makefile new file mode 100644 index 00000000..50edbbb8 --- /dev/null +++ b/build/systemMenu_RED/HWInfoWriter/banner/Makefile @@ -0,0 +1,49 @@ +#! make -f +#---------------------------------------------------------------------------- +# Project: TwlIPL +# File: Makefile +# +# Copyright 2007 Nintendo. All rights reserved. +# +# These coded instructions, statements, and computer programs contain +# proprietary information of Nintendo of America Inc. and/or Nintendo +# Company Ltd., and are protected by Federal copyright law. They may +# not be disclosed to third parties or copied or duplicated in any form, +# in whole or in part, without the prior written consent of Nintendo. +# +# $Date:: $ +# $Rev$ +# $Author$ +#---------------------------------------------------------------------------- + +include $(TWLIPL_ROOT)/build/buildtools/commondefs + +ICON_DIR = ./icon + +BANNER_ICON = $(ICON_DIR)/gameIcon.bmp +BANNER_SPEC = banner_v3.bsf + +TARGETS = banner.bnr +INSTALL_DIR = ./ +INSTALL_TARGETS = $(TARGETS) + +BANNER_ICON_NAME = $(basename $(BANNER_ICON)) + +LDIRT_CLEAN = $(TARGETS) \ + $(BANNER_ICON_NAME).nbfs \ + $(BANNER_ICON_NAME).nbfc \ + $(BANNER_ICON_NAME).nbfp \ + $(TARGETS:.bnr=.srl) + +include $(TWLIPL_ROOT)/build/buildtools/modulerules + +#---------------------------------------------------------------------------- +# build +#---------------------------------------------------------------------------- +do-build: $(TARGETS) + +$(TARGETS): $(BANNER_SPEC) $(BANNER_ICON) + $(NTEXCONV) -no -bg -bgb -bgnc $(BANNER_ICON) >/dev/null && \ + $(MAKEBANNER) -d -N $(BANNER_ICON_NAME) $(BANNER_SPEC) $(TARGETS) + +# diff --git a/build/systemMenu_RED/HWInfoWriter/banner/banner_v3.bsf b/build/systemMenu_RED/HWInfoWriter/banner/banner_v3.bsf new file mode 100644 index 0000000000000000000000000000000000000000..f097cd880a3816fb244a1a8a250aac595a305aaa GIT binary patch literal 836 zcmc(dPiw+J5XIlsg5P1mb1fqD;L&0li-RyEN~pI8M}qEZ!hR}bpl(4ppUba>ZjsXa^@80~J1j1D>z zX^G`9G`hmQ#BcGA_@&ncm6l9H)L~cjN|(I-nf#Th!L($%5DJTha5`L6s@6ybjn%yN? zRVW_*0osgCYX1V0`n@z_{lZ=Hx%bU`@A8@_&L(AYupeOU!w*rG$gwV8ui2t-`7iaqoEDpxIr^P)f#UzZs0(QsSQt*9@9H z*U3v5MlA`>$3ypd0Ws4kX6(5P%~hCrn6d8-ZIr0!CTmG}KJ`8Ox(K$a)mjo=1^(DR zlKT~IHO*QIp87UQG{g@FzWx6i%$v+YJPf8_r_m8j%SxZFq9Ev^d_#&;uyeTxf$IPUVA8!~?UxO+tjABKw#Pv@%p@SbJx+)K&RSUtYI zM^R?D(L7gj@riN8O5JOQK|)+$ERN>6Qcw6G>w%}RDy5=41OJE4wek$NdgyDSZ$-Qi AC;$Ke literal 0 HcmV?d00001 diff --git a/build/systemMenu_RED/Launcher/ARM9/Makefile b/build/systemMenu_RED/Launcher/ARM9/Makefile index ea335a13..21fa3d2a 100644 --- a/build/systemMenu_RED/Launcher/ARM9/Makefile +++ b/build/systemMenu_RED/Launcher/ARM9/Makefile @@ -18,6 +18,7 @@ SUBDIRS = \ ../../../libraries_sysmenu/sysmenu \ + ../../../libraries_sysmenu/settings \ ../../../libraries_sysmenu/boot \ ../../../libraries_sysmenu/hotsw \ ../../../libraries_sysmenu/reset_param \ diff --git a/doc/NANDフラッシュマップ&フォルダツリー.vsd b/doc/NANDフラッシュマップ&フォルダツリー.vsd index 52b442eac84f049305db885098e427401d616f70..ba8b0af7cce856abfb8e71994a4239dd0be6e68f 100644 GIT binary patch delta 107018 zcmY&fcR*9S_fOg~1=`D~;3{S5Q?acJoGrtFs}wyL|iCs8Hys@U+VMw-tYa>n|#j6=bq#yC&@_~onRGRW>vVs&@jm8 zW$Adg)NsRil6z>;55w^mhL5}p5L7hYX4c}2s0$Q#*q1DtkrFn@#yyk*KpX_t0D#YH z_^@*W1$d`&!un6mS}7r=MOy)Jm#teNO0x$zy8%E3og}+|@)WWi!T`Vk1c(QGz^%ZS zC!ciWv8nN4c>{59hByP%>YrNTFaU?g08l;fFmVNh0Nd0Uieu4YNlgD4+YKZzn@RwX z4*{qLy^gKg;@X99Cbk)XJ*`?#VA`q`QuuyQwG4!b4DqApVUTMHdfRopm&9LGU3(f^ z0?j>&9QIm5W*p(X8ur*Bi+;3fy`; zlH!hTgpsN8eZDrudP&v45^q%gS*ms7e4A>$ggx*dW{PYh^hn*FD6n~}mmEft-)v4u zlArn}agohRVtF|1Lz4b~TVstRHmSb*WBPj&mxWL~2!P33^>&hx;H(?4N&UFrdr*&V z=xQh=4FZs!nH_h`*#I%b2h@5)N4|K%}ZkVYWNIEep^zE zB=1ulk^%;4e;$&k;Z%D7P}k9$@)A)l*HapJq^2azvH6^VUU?eHf17&LG7R2M?MM>Z z7898gNMiyp`0v-nI1|+Y^Ztj{U6=i28q2kmmm&l;#C+ zHu})>{?UmwiE@~=(>Lg?uG&HP&jM~|^B3*cS^P5-A@ zE<)ZTW|ASCIEr9(|WBV4Fq`5+a�N5QzxZ+;Y(3t zj&=gT{Fm+1&~G(Dxc@;Wqo$klAEW>wi~fTQLQNO)A7np5BL0K?L`d|1kPSF$%me>{ zULxeL{~&Wv)8+pMxrUJ9{~#k#)0O`RIf{^n|3S=9%f0vyvi-yC1@OavpwCFD>p#d+ z)R-ja|FjT7sQ*DGqvjn{bmtJoU}l=31ip6x1aN|Shw9kp1>c3ke!~EGHS4!O?L6~z z6%1GgTt$Y~7DL0}u4SN4?@o2?>dDF=7`F`Al0oXI6ElmJ9^GR&!$<;$k3@u`--NB& zqwm9EqAMr`ZhY{|Lst{wtKrR20Ic}gs$EGgK<>qv)q=eAFV;D?f(OE(MZ-_bFq&&D zf!<>f+3)kN zRb)5_Q8wx+yJv$}eeJrpcY@&?WNFdSQjXc&eiB$R8?pKQ!*;DT92(6OL89ANp1I9x$U-Yc^g2GjE82f&xITu6;7$ zE`dHm05rYiOoNIE66n6-4gmHUBqg<7H)j$qfq|<5NbJ+X`Z7|$^j2-Ef1yKB$@9PZ zakGTq|k zt_Wzgb0-OqY4x?FROOlMqU{~g2GcDhP_v6bQ_8Q#zwYP-JJ68$s%>ujZPr`Gs#e(c zRg1bt1ucvP2kr)gNq>)sYq1eL=@1Qe8hcwwV7Uyn=j>mk`ZZhJJ^?h#M&BgsH>t3KDu4ycK%mHw zc#B9WIRN}X!&uk;a-;+r8pd3DXa~KGW+19}rxDfIf2jOt&4mNbBB}%bqson14fB_Q z6^LpMS`C;M{Eup6VgxipgW~b8YI|Ke!h}=JrrSthr~*;0`IqurIIO>bDBu02BqBGh zhS!Qv7eb`oh?7xV1@vA!)z3B|P1Wvet$U^@itC%Z*`AS5#{WqCB zZh;RR3D=1X&G=Sf@PO;zMBDYN(+X(>l)3_gOSSIsv&o$P68P~hVmtB=TUu{8jJuE6 zI)AZs=!mVW;TB}f3iOQ&5Zw#?H~#+1Ftb$Db48 zP$Q;)KW|zkA8u?!R-XP}15!v)klqBqju|3DC+je{O#J)vc4kIEVa9|-&=F7T3x)Z% zXi%iIYUhJ{t=bLy@fC0aTA$x+)qe8?+*YkOS_lxU(Zb*=vihkn@J7r3+29Z7pS}hT zu=++2JUZe%00&tl2l(=4@OyY+^hhLlQW30#Jml|_Hygf{mj%Pe(}8reVWb+lT&LNY zCKN&*3XkCnGfg7zfo9EG0F+82Ac3+Wy8x&;XY>VBmn1}*y!`^Ik|Is~g-`-FWk#A* zIMUQ(WvJtAHXKWmOW?xOXH0Tu(A2$!XH2Zg5}1E|alA>~dRpM!Oq0&_w4QynnIlf zP+PUMRxQ@5MGJi!D=SKdbTM23FJ;JzNj8}H(u*&fh*BDF@wo+O>-Ma(&#+qp=aV`O zGeVa@4_pZ-lffK=cwoM)e;oyq?G!fPDt!!jU@83}ojjH=(s!29 zN24NMrSuWirSvT>z@?PF%LRx>m(nMd(r>r`*HZcrmodPyly2<;tV-#oE>!>@R!Sd= z>gNJN@0Zf)2rQ)+(t#Y2b4uxWDSb*QeIm+4l+xWw>Hej3huTv5j8ghy7f|d1O4cdp z7fb0yRhk+Gu4(^hAZ{_GK+=&Nz z@6ArQvUF5NRm-B%vdv*>`XINM4;|4S{cQZ^+Xaj^Y&f9hembB| zh_I7F6`8gh_Omp?;4+G*h(w9%M+>rMPXE|$&^I`x2PX|pF>p;G8$>k#x5J-wWrCq- zjN8A#8YvYfj)&AgPc?V5y-o!5wrfk16=Y~cgI8c_GTHKHKVT3{B0vzOi2Z;qSF)9C z9E|z>0YpVPX*eHTjcnm9e#DyCkk3t&y^!pAG)L zGuk7qUGhoiL$RINs!j7)HoR54{C(%&Lv4=8Uz1!QL4yp9F*LyJ+XZbpPf;P(3VIC-6DG+OyGcS^G8f-I(?s8DoL6xga=0={*6 zdlWM(J+65?f|l7SqTEc$eZiPk?PBH@v_5ib)kcbVW=3M}Dk z!9hWozJJN<0H{fY)ySJh*1zak1fD+~~@ue`2mUwP%-0gAe+0SZug*99e9 z6qR>Fv+Jrtvk?%E65-jEcjt)es^*9gph>Q)(j-^jeGluZ-s?FEBz08|UmDgv%z;ClBHNnKS=_VwO6scY5yw#k9MuEkk?MF< zv{myLh~BuPM)Z7r{>y03rlCnWiVIChHA`*-Tgv?HV)Az#rmc^9~I=OEJkiMm7% z0)FU8`cR?|X&e;PRUOomWN_-LNa!^;(d%yNExV5-l?eEOG_UGO7o$Yo?fVt;&~u)i z!w{(&B8`;tx~i0N1Qg<;x++tISRjdop2QL*ED>-BsT|U)RO%(@(~!_}rvw4vND^Lt zz1tH3p86v5P+}e`!j7q{V#k8Jm46|PzmUdVL0#2xJ%=gM@Ix9oNRXokERqp`G%nx> zS)eB=Mo4ioYE1+LXCojayRIrE?|uaxm8I)7x{yW}(pZjw<$7Q-QeBKl9FgWjJ+K@B z%Mox2X%5VGxZZub_F*W>7uG%uDJNa;K8v!*ieN+#tk(}wp#B$vkaY-Ir$+e0=T0b?DuDY9A)* zvk4s!3s82i_3H=v?7nfY+fX)f!E0&_%I@F%nq70f`#|Pvfj)ci%Ik2Hl|Fx+s?R3% zye>xB3SOOIMXy@TpG+bE-1s{Vaxi zRAnkgTI8JBnRsEY#fhDXMWGhC4m%Tzr53YdsxnIoE%wLUugbhwV|wpV3cjx+-AD)k z3HW}kkv;BohSf>fa1UEZdIk&13m%kThuF*Nq|WLj%9&?yU;`M`01TeNt~1q1h7G{b z98*^(H7>1Aszd?hrs||OsI;*;W}7`B+r%9Eg!N;lsFE?iLd$utVQQgpG-B!4B=2nGsh;toW&3`$M(Uq(9#^cw68kpa&?lG zId(&&6ImyiV+XM#7~LEj%L(B0N7+rB434cicA0aBV~4VnJ(hV4G{<&&$UFw2Y?()s z$6#}8R?PmGA>QU#Wfa34GZop1?9Fk^f1+rkh-r=)H2~uVV7WwuSxT4^Cvz-bkS_>u zHpi}4C*7z{axupOl+{UP)k#CmvGVF9=bP0@!_2WIBFE~aX;>8&U`DGZfDeY<8eW}L zQJplx94p-#(*RD7yl6>)%LH&W$FBJY)evBmIrh0a=}UD|GRqvpXTr6RZH`@m_Z_N} zIOdqQV3lCBIrd$$=xudU6NcF|0D1!mZo#m}%tq!W4z{`h?A_1+GSGC*vF2RnV1Z1| zC{%6ieRa}@Z)4YEs_LXiw%%Al3s`in1x)t9epV;-F7_UQ)l?_dZu7>L#_Wg*mU&>u zW6s5t;U3uI>ZAitUVCG6%xE7uBmoxK7^8`C6kt!QlNvnytFQ%Tw1sB0RRZkU;_9U5 zvHn=U24L0z9PSFR56LFkrXnq@pciGV6T|3 zI3~h^6|ssNB24jTbyBWEC&H{6z&QK~YI6yu!fe=)STlM-s~{57RwwCFBNdo&%%qq+ z3D#bn)Zx%S4(s34ziCGd)(#2ia4rTTGy9qvV=xBVidSl4u)gXfrht}=5rNf7qXe8} z>{WHr>s@JQv9{_Y&Cp!zDTE^%z=Uj!)Bwm0U~#q=Mlr$gC7fpn$Y}tFu4iM18^B); z;Cwc=>R1Cf-T+kDSa)^Ox$nNk*pKR@9!W8_O3?!H8bGW9yN=rTMhi&sz)rM)+!k;s zSAo^GfX6N1wgOvqp#c;%fTs#f(*i2`1n(4>zhs5Ps2saGx&f3n0H1O!jR4Lf{Ls2` zY_1t?o*6B%98;7v0IsN@9Fv&Q!bh6X9+YEC%xJ-8w6^jp%(xv`v;b-iM!nDiuol3s z!JJ#bu#qi5P=o!|4ourYcuf`7-VXY;gVY+V<3c;=YzM_PSXVpvIPIc1V8E-K>umLPu)BxO@u+uGohN`is2`gyw}TcPw$hBY&Wv`bJ{ha5PO3w`2x2Am)k!bXtg-QEAs^H(a1KZA zDP}FiCZGyVYykTpHmLzjZUEpcJcY5O9#Z~3Ic&h;7;Kj))_*vMK&g5%0SVf^XfteI zOuCd9CD_}!YIhia?}0o!%$h?20ciR3731%X>zjx^|eQ-P=j6 zX@Ce&VOd%iW@5Ydp?w|fnx8Fj!r?~Ex1Qde%>;L@?3&@4<(#WC~NbB8l$ zXSP5i5`Y)e*L$?!&)>?p5_Q&`jEucmy5nKRS_gZNzWjZC zP2vfP}|3rD+AgHAB=#5L84-Zs|4F&y12aJ7FayBio-Q~@4=9-EN z)|{a)u-1AQJ+vWunZN~mscusbec3BY=-L+OlribuBMo!R=Qkbx??J$a;EFl#CVg}y z>hFh@$RTKfYo*)bT4201hBza|uSvl}X`{4VN|DiJ!({Jdb7XzXWk=`bKmHi`18kP< zl`S@$P*)%uYH^U-Bm*3(!Kq+f0kZT6#{M3xYfS(6@%xN(>jY;NGo37nz1|Lkc|5@| zuC?iIPiI~nbrGfI(|&`Gspno|XzSa~*9HlgzS>5vL7$-sMkeubUEZ54Qoj6(98}3) z$u;sUgBc>%+m)QNh2qhJ?npTH1za|(*wf|l+bek~Z@5QkjigAeM#l+dWpGR5dHZ28Yssv1&1Qq)O3mn%e@^8dU@rOr2uH zJ+CTL)vEBfs;??zb@YISpmbL?S6%DF*NL7D_!;`*P+d4~?r*Z1%#_rs4{EYB#+m_| zks2^njd+ORh_!7NFtudB+d}m2=I`& z!D=TcR66wubs{x*8*aSYGuwAqr-*8eM^KM!8dUCiFP*v?SK-lB)NtHD-e3NQe3E<; zBZN`(Y{U2?^X)2k{uOEP_CeH@7)B~1&&G3F2?N|=JY%#ndKo?PG}cMhWfr*4ddWJs zr<>)%AH-E0son&yOy|DiuH&9Na5h@Xb&`W3Zu>TB{wuDAJ4J4Mu0{sN@$nh_Mf~;r z9egQ&K*RFAS(o|u`A17eOGM9HLSJ~D1#|Krl_(xPGWBa9&zqZGZzWU-n}j~XB|@-K zhzpa2Cxj)!4yA#rRS0^8wqmAujCh)Op?Io#n;4AQlDT0>M6m8~d5QRr_}OZ(`>;j~ zaVvbk%nkR!m*B>BQXI#(8QBZY72s>zBrV`6KD8}RV2drQrV>r(FT+&#;HBKt(oh~IX~k2Qu#5a@~oI^j$@47SEz1btwE%w~;jtE@+TT(^#5IWdGq}ZPirS*kWm=v_T4jV4Jj%u#`E;#>-~P zCQ!j_>N2XB8bdweu9Ov0Z&E?gaznYT+=NjioF@;G3mD)GQF&A~9H*;>sV1uCsK9bnm}-|Q zP1S`PN$;y(s=#Y0P+O{<)T3lW@x{*=9I#I9FqXmDqfVBcRexsnu>g(hz#Yq-&JE@1zzt#G^<0j;N@K>KEH8tEC*PTHBYcP@J>R!8rpi?Box+G+L>lqoBw;SR zPfS_VVMqXscu#zg_M<}9387FT1hK+&VZJbx`d<89tPzID!51n)brXM(k7K-5;o?*| z*ue-zeN!pF&FB?Vah?o}!KdL1@wNDu!?=hQ!4kHBkIBcFDKUpx@10U&F0#&Qz;o6` z*CJIhGQ;0+U-Qfxk2h*OCTW!K#~2J&0hY=` zHD9$#g?DEIQ+0;Q__V5ZV98gFjkrYoP4$;K$OOy9%UQd`FM5227Kpd2!Dg1HYd_Xa z^%M0wb+_770|w!mur1^Fcxf{5dbgCAOIv^LXW!Z44;F$s08NBz1V!u)c5kI6uYxUR zLw1+)RoGp1m_K_B8(+^J55|Jv=CH0vGoJrw&kbM|Abfx~NMWyJs|D;tHmNDB-#p=5 z{unTt?LF*n*w#rtLQ|d?`~e1f2tB}j;N{7~eMa$!J*yTj31!a!3q@cfkLMN1Tgl@+ z?ML|Wco95aIOyHP^FwCMY!2J(RYS1r*`Lt-dr8S|X8&XtX?gcF z?0!Uf8?S@?0I0({yyUZ*ahX&hwUdsJf+3y zY@>L#3~Xz@BZ&FDetvb+Uz$qsjaE=N<)x-g0|-mPi5O4JB)Sc$8;IGDjT3JND;xtq zOXSB0*(Tne;xYnk*!dXmA~xZ~sZ4A&4J*-Bf3dV$!CgTO;BC52ESEoR{lev`8KLN; z;_I5i`#Xk})K zb?!i-3gobgSsgp&8BMGX)+^bmV?ZLCz@5!q#uam8xT)MxA9&SY%DA=ME28SA&l84t z$5KeETKM;Td3M4&;d>!p7%dV;2zLuJgr|k1RWVH_0N<+F|DJ<<_X^bwO{*B4ic)bV z{`dH>k#55e;P?RPoo3w@N+Mx)8J}E#ZRm-|FL0CBVQOER)Ji=z;c>Z>_Z~CbYhjvO z<*IP0gluWLI|fYjeB?M%ahS;qQBQi(uao=NlPfo*kECy;O;pf9HDL7b|3hjf8zRHm zGEW(BYY1ozmL4evDoO!Ix{gV&npv%;n$!&_6Bi{@QXe^rM2EiZoZ^G!0DuV1^FIxyfbie1? ztz*2QV4)veCKL-bo?&gC3H$vE7aSFm<-+pi;T*CF$(0l9KZl<3P z*{+(Xz6D@Jxo(VGa0v^5mujC-60`>fejr$kSA$?8QnWRe9uOAMq`aL|6RQDWln)$7 zb{z*tj)(9<2nhDS82r6G9}ctfA@};Rk#XkrZ-QWEvYlU4Zp__G4O;FA}o`YWpDM3nONZ1BC~H4NTOEe`cL;%shXZf&3p;u3ON3^kRSN4-P^ z_sqYyPblBy%jQ129UU`|3ob~*xpCYVA5Y%=tm)IxdU=nzE!=P1C5J5e`|6BU)4Es5 z7QWhZXuE#7XLQ88Y-7f*SNO>3rAMCBf#?`Mf6(ygm~ejFjL>QQKmH61%bQ*FO7AU1 z1Fp_2O@A<>G__Z$=3mtDd3~}Ra@4n=AS`N=Z|}4L%S<1DQ9|Bg{E2?Iw#Uj}$d(GX z2(6VaN>Z3>EU$>N;v!#34px2={`8BEF<3ji_!_zRBDu#8KEW@=iH98$pIRNg8{+Y> z`NI7bU{K{VvECK@&lC7A+$m;mz!@K{RMVpO=FU8VpTm_nc&ptw-G#VJE1fX)!0q^2 z+@En;hm)n?LS1wWQ#wXEO}bFJR=Q^w$mhgK+1B}-Z0RD+ZRt}f_$cj>n#&k6j?4>} z1;|#*d~;=qvSTv&;Tsl~mN#YKi7dFMQ>I_F43|%q&y!D-dyF9$-fFU4e=4}k?7@uS z4pLc?JV#zEuatK;$Un(_1o`LyxHR^ag^|)zIYL=VeLy8ShS@z2G^Kx~l1&)Ll(e6I z`5c3_O9qjb&|ejA>+jp91gcZ`>Y**r8hlpwsc9OAH^$6; z9<0xm9nr?j*Sa|xIQwqT)~J$}b-b$X3p#x4)-MLZ36s+k+y&cC;{AQZej!Y6CndV7 z+0~vueZ1olAHR^te8VZMCQ8Ql+fDY{-3B|icinCp($#%vLfiLUQTF=PgfeCjkH?T6 zfYt<$*WJ5Qsn#s{#_gzh%MJE_zb;_U6RzOm$4_rEEjwC9P);&B-V8VwY|MN(=GKCa zH!#d0a2wZl`EhO`KJiw7Ot&68qx}$5G=>L`IzCnMg3`jDMF_bhG6lLh$h6NXVo=lm z5du7fVKbnyfwFf^g7~kMgT^)bbnSj(%yi@Wj6snHHChO1xR6f}md4DLZ>;Y%Iel0- zW=d0Y+9gew?s)SW_b(MI=HKaC7f{Ug4eq_@!&n*f4Cjj4yG#Ws+qxHT?r7N%<&GA8 z9qR9&mAuHEQ2|xTxTu9;#=MM3E#zk4i#HGH+7LzVJGjYlk8elI!A)`R6-|~ev_To~ z!PjZ+T>&uxF;_J1@9T-|4lsse%pB14scA#g1x}47e-TBap(O9 z@af%(Ppyy?*^iP%_G+V+jy+t`($li(`f|Aunyq)qj`WW>vNo_^2I#Q4cbqI6?0ipV zL+O|C_O>bG{LurXho+hDx)|r1*8?oMvg`Qqc=?!d5yutsrd43(@t5)eO?EPq?tU4m z^BGFoVmW<0^WyAPVU*()yW6GFl)uEBV_35g?-Ck`vjY7s?=?LztN66*pbN+n;X$X!RUbG z+VYYrpAO68e4Eu<-@$0`{4&mJ8qhRCQ~cKTb_aL4283yLY0@+&HQS{3H7_+S(gYW! zCBg4g-qOq@X0LLzVI^y7xwxYa8Xsd5Ubk!nAX;c68|-97UNX7hdVFt}}qI>!GLR3#)DPPmG@oV8OCyjb?eX7C1*Zt{l1C zk=6=#u%<0~_s;P{X94R53p`@IVRf<$xwhQl$1XRa|}e0`k%I7H7U2--o}1zmZQSK50(y=@#E}YOd;r+~toU)|`$0!8a2Q z5weAzLevp-<=kKKN~`3LaKNc3SZn(IxG|q z{%lOcD}O2>RdqrPEG)y5``d}CCtJGN#oXx>14G<)vuk=}>|U#Tm4ht3aq#Q%2)-Xb zju+xL@sJwh3FR;G8GqQiUhgLzEM-Z7hjhMlm2|W8jZ1jOQR#UpSaamxu-n*_%T3^W z`M9IsZ(VL`E%%cd^*lTa@b9-1j-4o{*JPz7d^u5m;x@P?yOQxjrnucDGm?MLwU-kC zJeq#H5!n2hdySZPUj3Ell1kOzR}nnfB)`yYMYS(YFCY$n%Fe4ww%_&Mv5wb`QcihC zKX#s;?L0$hPk1}@qOC{hB^la!IPpxVuRC8_UQ46tm@d|gCFQMFTQmGlk?Hp*1k2(Wljzs7j*EqO?b z;n~69<0AtWKQGy4oSCNoyYF*YAUd7F`ZQ3%*mEdKvqy7S1I}u$w>ssxG)1Q;#*N?v zPIoe%Ue*dnyCyNCQ2T>C6HFZ=k4 z9}dyS(r*S%Zb=Jt4`lQo`V9q6XO9kGc$Nt2zusoH+l-~x1Wv-D55ed__i@S4a+GZA zw~Ze2WHNrZYy?4ikm__SV}4=a#P_MI8M_Eu{G-f|YMxW=Y(pL(4>Z`ee`Xb|5;KWDpl4UL6?6W(Tj&MSK&mp-ma*Pfe*9aQ)Z+iRUtI2p`3U%Ye>wd0t&^2KIiKsF&8>y@%O8W_YB#i;?viYcUA#)BGInCzy0vi{Y!7a|H70(; zbOl_qql|dajR=@K;)|k2%O6Bfr206?~rE8&3ga1tV&(mC#uT+=K%{{Dgsq zu0?jM+wy<(4l`D2PCA<#=hQx#cs(`%2+9r$vzF{oTo6_){8E!+fcHHY2Jn9B*DvVy zvUK&b>(rp-MH4PNinZg!GsKI;>(?MBSCYT@oZ&BQ!#bFqudQDp8A2>Nxm8Y_Z zpv6LusCSjMD%hfWDQ*h}>tnvHb$fa=D#xGzzkxr(d2jGe+)!#O9Uc$!AUH{e@I(Fh zT94Qz(v2uIDFw;W6VejtoqgBK8xB6%(;+ntEHX5>&DTc-Cdg)|N3W2a4-o&^ z`_Gs81N)|RvhA{+z4lExvSL}K3^d3-$&7OX;eCNg!TI@t5ZtVB$+k9dq?Xz35%lcN zF<`FDyR3I==em!d>yA;FE>_qZ+$_%OzyBhBk-GmHhz)RynbvW#eR_W5e76|?)7pmt z5Av$7TyEKcf?&$`9sPJbrr6hkNVeti63TDKug`JBMa9jb&%$)IaXY19)%4Wcr;+ zbAeIg{QYmbP7R*uKX=es;C|2(r!GByEFN_Q9d=XncH%sVeM zats4w<9utf2=A@kd3T6sUtOCDT$?;0c4mei%-+ttb69@Pg!QnH0>$+9?`{hp{|Uj2;S*@ZCj2f?=EbaHuqBF zJWKmMreN*hvCFAp)XDqP-b_viv>0mJ(go1E$~l18RTB2jriHmWU|iE*lM^xjlQ4R6 zf=M|j6Dtde^f1P*0itI|tn7_YsC~0~ulk5u%b35#_(vIyHJJUixwf16 z`El6Ay|A0<<(f`W^&4hcokGFttWcRIHfA1;#L>AW1DW>ef& z7*>*>;@Mt~f^4@HPL+@>K@SczrSV|fAb_j z9A{~6&l{)yz}GJso~Zy^*tYsg!4h1kKjLuiJ}N~1woIs9HAM4Sm_n?s+)kTcl&TI9 zH+(<&*e^_(RYXa-UZ6zL`=`o}O1qn;55_yGAX!W$h!LdN3t${|26Yj2J#`0FO3kJg zQ9=B%w_@i$BV0<1z+dBh9FU|D_-;G{KaH2-5AZq$O^1JH*x=HkQvbQhQ>DJr_-+4FB#RLeX3m%3_V)TeRemFfV#Nx!fD zy{*=a)qv@mK+QVMS^l5WtTr6Kr2%#5;KUK{N9^t&vQ!_S1&axB=4Rpy;|Q_LBU5^d zAl3aGFtXpIHKTIsjV7&m+nZec6gQ#{l6ww!6o^R|@lY{@`^AuaItK!|yj=cRzVs|U zIAr-f*#!ouU_54hU>sqYv4*hF0i_W5vqD&|s(mbl@;s|-6go1lW4&jcR}sVy4mRPB zirVf53nB zNBt7^$Zg*L0yutwWx0=6EXu9hEZi$R;?KC`c(3`S@Urm!68mSuR^iNEp?T&2agb|p zmm#Uk(EgA1+!X~i8uHAqu%IS>g^AaakdUwB5M8eLqWG>DJQsf!_laq^r)(@f9S_9g z*5MPQm;aQe;E@HnczrB9sGlVhOf@*%y~r@&9XLdFJ&;=;&@xXNbnpN*RthFD@})i7 za$nD9d^)&@YAyr%&`mE9Ae*H0e;+G*DFgYkE3!ak7)vAb9*oHy&x7H_^gIi0kUR_) zQxoLhM?M>s;Wv|jFob|)5IcHF`vI#CfFvjoaQ7Kl;~Qyo^$QC(N6lugPGB`{F+ zS54$kQZ45TRT9;6epb3FU$tW4Q;$3M=ucEDMu7Dn%OYDV>^f8iPr*rnmAXObruI=U zQNQQoYKvqwFKEw6^$PKQ^-FbDn;K{=HBOqIf&OIm)ww-Z zx31&$rdQ!9J3A&;kN>%e{8O^CgX3g3en32FK+MjLDR$%C<9$f(D2Z2(Ul31T5HoXU z$1`E{UU~KSlz4JV3<#B$;?g+c5OIpQN>mfCi83ugqFPg3sP5F&gC6!{7{-J3AF zuW~rwT{w>qpb&*H`G@$Y_*ePWe7=UJlY%Me1R_2ht@cj}{#^9&?WmH7 zHasOr1j3K_t^^z)^Ec+45q6{BQqFt9G6jetT7=K?N0rc%Ig0Js`|p!gVu^9rDf^B}oTJ#i@`Ix~mQA3GFTd`+7{_I|ULK<(4Rjh) zJVrNF34E1%8Ij5#FB|ABN+-=tCFRA4uZCC7tES!W_u$1S6&>LD%6Z(nc+I$hgC@95 zR#{8{-(NKh>14f_;u+Db@!=a0#&*PrKKoUZlO3&@d_qJdRnE0$vUGCi(ec8}fVDj! z^kriS+9f?A*!sH+4fEy_DEyO+0!6K{Y}0gKVJaqe6z9xIdy_LWP`#%x?^MvQHA9SF z3FXi^Jde45+#hgp&TPzm0gTR>xh^+VpAYoCM_}$_S&Np=fO9?QTxiR&qXnS^#?)s`~aWBCWwGJ%5%ff-EfNOG^lLd3f+QCdZ{-+?lbJ?^kyJ>H8C!i%FeoH?*wQ*Sr z@)Pc{JM$uP3twL1M}8dC&QZkgF&^y|fHpux_3zVvrGB;ouzeS)@0#ZKeAR2R!3oV* z_S= zg)Ci^#|YSuqsV<_?E0t4GB3khw=l}BJN6zW&XUN%kTgbT>hYCDa@Xxx>zVAC42oFG zjkaeOX4mMbB^#(asfLsL4=`gY>A9<0;_|+3H$0MMb#W6u%@_yEFR*38- z>xa7EUV~^5%YDhUn`*r03u_=ha4I39HOdR_)^Hzpkzeh3m9Xh1c)zRRKo-|tKL5TK zx0(A@2`rQYRO2*L_=_|m{tk^)1F|(mn%kPEnwhxTm%l+B$uHv&UR_5;x%`X#a1BAw zj*1e$TQEP*+BoS^aYsK1$P!;z*-vs^{8rN>?hqT`?%&ma;OH;^WwE}vn23(VQiwPw$gb@JmwTH#=3kCc}o< zPll67!#~Hm?YT`drjw1a&%091B24Hmbg~O(Z#9ErLieVVy;1V-drV-MY$CeIv|JV@ z+a*hros`|IEAaGIK9^mqUitOtexN@-2pR4s_sMf}u`!H9lgzo5Uu_Hy$xoeM&#IE! zae+qekB?Z{$Kj5?;l>J3u2zCSl`qgy0im)ss#3mFX_Nq}2C3)q-Bb=!7OB=h{6tMS zc>6Q|l&VQ8JZ zw+%ArP6C0k15E;Vv#1`_`P5a^&D5m5)Fae$RHf;-2h^XzxD%~~l+pCpt=ETOMia>@ zm;oXg@r+Ey8OAlnLq;Q`oncI2(OJ_b+ZJPkkd5Qe3GN8J9kV4WjXB?Rn z!?V}X);_mY-Z9gnyOl=0JJpXb=ii<)6*5{}qjRVSrCHJo(goCdsluy^_^zKu(3PPn z-4vQq=*0U*t)@_(W{tE`Imj-gT6PWZsFZ#3XxbC{VQCB*UGX>|@y5~BH!oIz3$K~G z_DY7+w&+GO(0D8)7N_TQSXn+rw?Va2 zmCVRdQ9i$=+gqteX|$@blllx*`n!T4^uySxFX(lud~WG$$3ZD>=vK}*bs0Btia$5# zt7qyLjeQQz#|TGaT%Y~8$)6l=>UfKY^#o(tP2B{Y@wm79x2acwP!Ofi+JgY!`M$wk zS!)l6t>OCygip@eHalyfT)TF1)-umaS}_nANAm@~o9)4r$ysc$#k6sF%KVYyzqlMXLRm@VT-H9fO2`}jpkq-eNhN_&Lp;xv5acga4n z@lo-4@t+AM)nf4~NejLbF8eAr#s}b=605|oLMVCB_{wOA{{Q!P2zSRi%8TN)I5z0h z&>MSc<1YGmG?l0K%p9L=>oodgjFdUX^4PA9%d4-f>3!AQyXo_vFP}&cj+hESPcq5a zBq*ZBqiMZig`3nz+O(gU@MXKL^M%Lvb&OktJqL(StV}+G{>QgFJxyjnUEiAJQ$rhP zC3BWFB^+-`a3@W#$Qtl~8b4G{jmL!ycX8G%@wyMvX{Q*oAMdzDdr#=&J^HI&g#U2n zuYeB&#r@xLZF1KY-Z-(l{&rq*CnGZU;B zdYC37^t(6vZQE^ZIOJdg%u>kp7vtWr`@AoJe!+P4oc|;0yrY^*w>JKsgf1AWU=5LC zCjmrI)Dx=iGjIoA?s`>TiqQtAlcD*z&in-u9~?Qg1&-SBGEWfymWefU#-4KZuie@bbYNsN!>lc=Zd!v2os~oFIaMd5f*mM=94lm6E$n)ES`_U9#`-F_Lfg`LRSmaLrxu^Q=XDZ*&@? zkJChgWzPO;=e9>KG@q1d28r25#&I7k<()-Iclc7vzc$)B1W0=ve#mf;KvYbj1B(bY zuke|}ea97ZLs+pD+TGX?_6w_FrS?XbY8_4iBsSz4(@E@jEmACGvtv z>v@;Z?Yx?OJQk15OXE3OzsXZqn3k%zwp9XGE|4E=xVGG?vzs@B@qY1?1kq%Hp}<#ZXCJD9%aby0(oU5XmnN|vS)-NZYI9h6ZkBF{rQ=3t*iXm_7YJ7iHwztvUcxZp zY2ks3!V=-Dx9NBCGWyztU_iLs{t?v5nJjbB_XZO`uwN7;iV>xYibQusl93EZMluYg zV(YN)Cam4!Lt=1J{EC?;X3B1`ecnTxP5j}6 z2kRyNc?Re*U7T(A=@5OnN4aYq9Z7(~2`43SvPkyi2c#hKe@P?q3bHwQ9*;@hzyq=5 z403ny&5ifS&&cTQn}%|j1g<6NZLKvNe8TBS&Rf^I2Q5>JxI&o;^0(!Yhp` zwMDUkR$Ykp^uax?bKNBmwB_p}PWqQ8!L<*?eM_7@TzhPSm@&+BrrBPrINyWTi}0*4n_x@8W~4C+ zcRbnt$oj6OaN8#f&|}ep^Ad%pk1vz4L`T9xwR$*sJ8-o!28#72-cMyOvTFc1({ z5^7!fcP4%pKk~mVk)xYv_#ZjCkyiM7qqahLSy+`pc-av^qn)Xk8=NY*D!46Z61*0G zuYwtYvT&)8UhB!P7@h$aM9o{b-mPbV` zq5lFlo`x6Vckt+D{LS>T{r2Q+k~T?wCmlZ?&=4~I;e!CD=W1ya5AFW&b05o(l+K__ z&|zG{4olGC1jr5-uoh(<3skqY7D0AcKJt=>*G4jAhnqfJCM_oiFfhmtOVHt753~jQ za1ye^hFBokBbuB_zDmALZXyF0Pd*K{UTVV{8&Mqhrokc$MXR_XAY$FpR^iTpA z?G|-Kh;*aeL!sY)^X+^WLA+8%g(4ds6yNy z>JCJ@+=a`>b5|4uUF7W+wH(oGXA{C3dOX5^BvU;gRmPem8WtTc`0Q_(gIxT)N(!nr z45(boEV(wUCcmV32Qtz|gv*earG)x?b<>y^1uK}NLFH^L04de}{<#s!+KL%xlbhF4}dw zj*YgtpXxo6X>!a0QtJ-dS9{Ikk*!M_oAYn?A>_yYM#Uw|!_}IMr?=4{Jk}l)>w&zb zbUQui#oAN+4c*T-8AF0>e{KNLB$#0KU0il_|EOZvPVd}u_MBs(tjRg|>-_ljkNgd< zXAh^Z98!vvc3AFWghO_079Hb3cFaz-MJU_ZN>J_;Y`;OZG76eZ^*1D`0OHMgTUZU&cARRdVhCY?Qi{sPQl0!>vgbYy z9etJnN|*Vek?7y(Q_d~42A$@})w3qinW4MJ(rP$$hsh-35i8}u@Y)%G$1@c1>-OM8 z`@6Q22?_mV&yW>uiC-8qCTjT(%b{6g9z=zf&Jq+>+H@wqcHBZ4OCPH=W!Bp{Pj;FR zgp+M|Er>+BWt$&gl0hyZb9<5QRH^XVYTq?OLzC?$p_ha;{lkyaLw7%IkKZlnJU-m2 zB-l1gtdz)0Oo_fEziGVZW!ah&Aq8H~2Fjncx;$b633_^$^BZ5xl8UmIX=b&!u@100 z7y3vdOG^n?lu*o< zN?QRY$ZYJt0P`E{TcpQbi{IGX*n-Y|aB#hAF|fGzx`xqNwT21EF8`uE)`#pe+=t+j zg$PXrhk-D1xbrCodqB0(lQ+ZY0aXKK7K_emo;{cTBEMy0dW+evp^qm&DpMtGC(p8~ z`0?h!R?2BTx!@Lam9wXjXsH%6I$Lj*c+3@=}uN0#lAQmG}33tK~*IKsrWBnsZxf z^W!5C$dTZ3Qa!1Q^obPrFX>_>!JeW;UP<0arT_*xf_#R2iTr}~kgSdNk%2WTL*;PR z`x#ShsP5FPMDPc>aA!TB;+$TcBN&*{E99!76s{?Hhw~SD1O*tHf)=1v=$Q^|+M*2| zK)05cPFpD0EzxAG*luLm0vHTWMkphmk;%BuxX*ab03ybS-S$?DExp%2c6+P7E6``Y zzH`U_s;>*vGBL!-nWF{4hjTopE3z@PnYs7Chunf{)U16Rio4nvtj4t-aPANeFAcmU z%y_)>NHkmy6xbF};6wE^*H?aXkC~iZ!n3epTRH8H_04A;9UNx@gD;=vJa>D zRp1i&Tn)Cx*ev5pp%dTTXhw-0wLOgv>z-=PSk@B46#?)F->1;l0?U!-JYsHF$D8)Q z9CL!2K2xOXdU+B!GU=7V0WWofbKQ_{ecBcj%*XCKzIAX|{}I-ozk}$<5{=igjr)k} z#oNV}wFnYq-0MG>^dVAw;Zug#bwK|spGYX?YnKzc`-;lLdi&3wbpOX0R*vT_^=Y9y zQwSB9b+NDNoUq+H+ggl!kA-^9Q?wY}8qD7|_LpP!<0ftCup6Dz4*m5;vy}sb)G2f$ zjN4rtRuP_?P-wY0Cb;)T#~Y|9V)3Fd3a+j^8Ddv38R`i#YZm+)vjOCE6H`Q6a*l6FK) zc!CS+O#<+g{ND$Bt7Ak+=Es2T!|XTfF55jn-J%eb{9{cbwzjrS&$IrX=$WXa=N}_t zcn;9<2>(0iRp;b8g-nOTDbsT(gMVt4mO{|n?}h^)$Uo%3fPpO`PmHW#pp1R}RpJ1K zNgq9$(I|e^o2Ak_)M`&`wUs7z_aP%&{_IWG;B<7{KX}`W?GImk!n-z44;jwWIfrvG zoR8lmV)6In!7%eBsV!ug-XEMymXtf6w2HKe#E{9-KrYUMw3<^8@wy*IN+A`@iI$b2dzfRf?NR%;Jy8$GHJ>&ym;!`tJ}bw*}|Pe`0LcLX98YB9Ym z)v2!(4H>9M7mT+pov4gO9XBQh#ng|U>-1{>-%#uihhm@69ghgM`x|DCPyS~^+$n!1 zt|y}A#IZV}7bg8IrtaC9`eXIiesLO-_1LAk!gFmY?>|2SVW^D)DxlmQ1h=%(75AYxYD=(o|Bn^^&I=C5Sx^DW@NEgcj51-p8w9l z`|6)^&XM=kA6Eg+@d+9}^K>Wk$ma3i^}_~%?nJm|W0T#e5V6?YL@;r`9QP-UXTQHxsCE*YK~aC&Y&_VGAQFra}+Gq2Vq zh6hC_M1#y+(Us8Tt1)V=nGO9!m&v>*N9+}bVx}xQ(PDJedonLK_~*9#-hc%H zA*lp>^+O;r;h>+sTD)2OAs4Q4f6B@0JJuW4-V3=LU=tY@*QmEdUz2}WxzE`&$H6JqnT5_6^xHT&PF(tw^%0Qc|x~7(MU3_0W{9GK)84+_U zCg7eB=L$)5`suBht_-hCl|GOAC5|$@J#8bdn_M67Yw{M4_tG67&EZQeb#^R5a`-Al z@&hi3Pa1wiVvI>QtgDyE^+5;5H#J7#XK@svCWvvDlNYTl%UlVG? z&t#Z!q}sRVeUv&+NIx&PL%`vfz^AUDlrwK@T>Drxdf53T{9qhPQHlGmQxN<+E`wki zyq45G)*A9kUxQJ-RO9Dg51wZI&~c^LdC+hzMHywu3JsO`VJP&pX#SlRFjaBM?er*A46?TIG=Sz76vrOLdZrSoVSlG_}pveOylmdJXU;mVV)@udTQ+R{TawLzbyw;54ab{M5;CFOdq?C z^&kpf1mJ-*8%8fIPfqiGJwRb>O6pAN5XdyaetLi+!87zlW+LTnZ)8)4f>-n9FNwXt zib}v@hZ@S;XfbrpeKqXaZC~r)Ts0<=7U!E?$u~3G(EyV7m0gA1Tqfo&X?v1-eF@8NLiPv7Xpe zY$yIp3?w*2PA@3T5eN9(7F&wIYw=g{lSGBlH=J*r@6$v~dk1dK`O-)>B$T7a{akL^20yYNr=mCi-GyOpuuKBF1{ zjt2nB@PGO|ZMxiHF&N+ap~IH6i*yhek1iyJuYmqFnzFBSjM9`sNlR%;fJ9yVRe+f8 znsq0VH_kwE?Y2@&>;zG&aMF!TIP7_3{`22tuf#fp=&fq(H8S=|st{jER#R0r9eon!}!n zC^#qJ3iyInRI_aXMO~EBL0>>I6uF_Un8;t$sH4mGr~l<8c%LhhG{S4YM9!3FUKh}( zE2^D7$$q;02bLTzmn1M%sqLHc)eRYSMvqGj75t zQ%0slUI>9k-vcW^lLgq z9jHt(XQio^&IIzu(c(5_vf&)r6)F+ztUt@F*P0)dKPqR{e<4Sdn-HnPOVbRAL|a`G zgs>@MV+bZ^h%f+W%2|=E~Rn zy5L>${*c7?Zki=?PB* z9ahnS<6f?zLB0sf4^EPvs;;346#W}T$c;SLQ1e>4flhPLhC0kO^b$KVSUxKTe90%q z6ge6VPLH@25o4b_gQv`*c1P>b)>i&bc3(w&8%PWuiQ38D8GBV^Y7%baYZ3H!{1eo@ zZ~%3s`y3lpr+bVXPg35xc(5ZSTO5r+x>my0zH|Ww;wiyPmyi6(hOw%a+m|i?CE=CM zfzF}Rmol*4JO65oRe`TvQo?zUy~79In+bhw#;UZ3&OZ?*o^BG191DIGcBvICAbt)R zXdQ_%H%zpN5Ij#~XN^Qg2d`?pejzvc>)T=ApsatV1pa(4u^+zfc>B8B=cR-Godr($ zA9?bKSsxqOES@U3)tZ_(B>bK*EZ1Fa@U5ALnD%3B#ckJ0I#bCFmCJ>kFM=!LAIg>< zPWdce#*iIeNA()>}%AUO6d4cu4#B@@25OVGjmIu@$6woaM0sr^MiYH5gch zql+nf?qbAh>P|R%kdwSl&6K^8?HxYv2C=+5a%JtXaqY0twz2>(>wJznOgCGUK38j( zQ?YmW`sCRSQKxFvOE-`3R?551=-{~vRT$8D0Oo3~HjEDTwOGB;*D5-gkpk?{Ku&tM zuU+hV&EV+Z%(Z~8q#3LkenEsKY{?f?3i^d7Uj9R3xYFP?J{!53aAIQ5)}&iW>~cc}hcmq&sH63IVkE$s>heRESMbm+TKxixDo>F10; zRB%;7o27e+4(_}cDOW~PI!uV|=Yo0!MJ)fsx_eDsVg`Iw=}O^F-12f7{rqiU)DADB~~Yx(|Sa7kxhb zEo1*i+YXT&Ysq6!HxajS%sofkwENz)4P>N2#*vqpB!;4c^nuiB#K@p!giVr{klm;_ zu0vUgu}7clof!7ms}%}+c2Nij2j1mD+F+km1I-fz)(81ombqI2R#vpHdD-!8Whb@G z%iv=S*1ZlXc@uo3Daa>G+4EtL=jX~GAM>&e=4FP!{P#e_VEA(Iuls6$9HDhO?Pc`R z@J3nzEgyy$;MTM~v?SVg8r;$O&{8p4WHNrm3x@R2u1^sq}p4bgwL9*F?WbqV{at?c*K^Z+Y}+i zcvIaND7;g2H`6EQc2aeiaLzG(SHdcaVer~j*y`sxxwZCs&@t5B_|Ei+$uX++?u$!Z znf}bAsC}JOSH#OoOf7|8F+|R30W5U%XYJGOKhJgBZ7S}Hl$hg+OFy9Jy2Cd8^R}%^ z?$x`;CJ_{~DgSOd`$+_a9UXWR&L_7a9i z>V1hHJ+lQb=i3x_RZim)mvA>~6msg8<)5jd0s|VtYtpTJX+gyoIp-Z7F@v}DBeu%9 z;-uAMAH7ch`((LOgw-r%=ZW}IG($~PmkR-?9E#}nLbP3pkgf|+B}ssSZ-W6Ae7z+8 z&M5et8!#qE3=y7YuJLH4syF=WqgQd*UA0STYSWKv5YXH6zRUwbbST4pSex;VW4W~p z*F=ObhzJw3!wxmKR>CW5D`QKswa4Y0uGJcaRbG1rj#gAsMhqK-A6L=d9KAFB6s+L$ zJ=Ho6tXaYTTVtK*;?bI&qKg^_M8`z_VQC^)I`+pk_xo&s`aMzgMmj5`I;nC<6m$TL zp_jsw(7=`IgBcdss$O5+Ty$uadj$2+P_lHaiSH^bV_Tuq3O)J|y5Zs4uOlYVC}*|a zyA8yvM(bVFxk%o?v}fvw>`)NH4DfqlTg2>OJz)m_HM|bFKF&;MX|bN~cuL>I8ejrX z*1YXP_p_`V)-@}Wa6)iikSiz`m_=TzO&tbzsAJ)d>`rPdXNvmYRugqbebJ++3F9&f zzZ3!5idHixP#x}k#wvyZ*W-W7eELqc2~fdkV01Hv7{3@wOfm*@X8;VIf!|vcvzQga zf>{ns(9Sd${9wwn7P8i`P?jSLc(cM;7X(?X)q)2sA?u_NNEkp(Y{fB0_6E!zn|dDP z$e!K*h1mmEE(Xf6daMikg#C*ta+Yvt9D-%i+KmIdlhFR}tsxw3F&MZpr&JPPguUc^ z=KSW&k#Tf*;4*qjMylSG^Vb%-8V?K)i@JVOW{{SjAbn(*r3kwkU z&O5wj9?a{(zVUG0_$O6B7VHpO38aSR0GZ|^0wrOJV2+YJ0JjBu$*%3 z2K2@9k%b6;?D!eU>UKRPhwOcqO>{#=?mGmn6`yvRlSxC`f4$d!{tqjctu12oo z@Nsw#lWLl9n&hPkq#gQ2+rAwB$`bQS!!uYkL(mpw_=|Z^m*x*+c3=V42_M`y=U5;{ z1OAJh0%_7F*iXM5w0}650qy=Fn#Ou))uz*&#qcFd)cv2ll}h{h%g;KD#)`3~5fIvD zk%P!fB$@m!ib_Os|A=0Q%9b7cv^Ec|K+9G)WRxvGj%|_!wiyhHF@bM6Hh;^4tzXnt zY=PY;hTQ&bJsP{&CQclm1a(Iev|cbTaBRfx;sEh+@i{S9tjrg)aEbk*@~Q4`X2g{l zvY$t+B=M{sti``DommI*N#@AKJrZpT{U)92`0xrk&i=dQXVopgDONHq2GL3}}61QHh>r;4a7#aeyh+ zj`|n%2o+(*%fVLvHdjhU{^uAOg{XjnQ#ez2emW& zkL*t8-Wa$0-XrWEZ2dYY0C8{jJ=%qsRrx5LBHq5RwL&gY=5z4RLMQk?NC+=biZ#k% zfcRIE#bR2!WlW9rnbp$yt{7b5LIhvCn^knReVSm6nR}?vb9^3rF69)8rN!eOXs5Ckk^3ZsPn85r% zz-B+^uj-Du-`DWvs>Cu;3Ho;L#9}dmt4&B9O*Xx){}iubEH8WE=ZXV=T(WJ>!FhO| z+Zp}~i4(>EJ6>%Bh+nwVX+VJlKVB05>S;$w1|4z)oOXn31X3}nn)H-3M3AC@Q2uAd z&j1QWeS9mScv@S5?n^kiYx38IbI(YF?59_p!9x zX;d+kq`PYH<5t4S6f!m&G^q7#%HqSOe1h$Y!iWn{ND|G`4!5B>#1x^Nc&Ov`Y^}>? zce%ePiYY(yR_prTQlSO>%#-_BsEAn?WYG@f^G_bV5)BCF6T{Z0P&0pLSo$j7D38FD zD$j%u3lbyO^As}_Z)tN*>zC%!qj^CZJ}sEv4WBbn)XW9VF&{VxqE!y2Vm_byov~x$ z63_R>YM!GX&}6M(nX`7Vn1>Wo_1HTm9OzO~6xrtjwW�^g2ri$E7F%o}=MQu2wkf z;dh3l` z+v=)R-SQv%QXUizddfaku|AE+N6R*SM%Eu?CHiZ(X0m{j2ns+f5o?4+#5AyF*zkJn z2L|09vn|*b{;uC=uuIsg5A+&!@Bq8Dgee}y2;vDX#S{_+t0}J3Sz$JMQtM&02i);b z?|i%zcGCYJR^TdLIq;RRZ}9px&b_m*D_(H;+(%r{$*mGiah-}bOfKeO0t=qhyI*@h zTtCD+$>Z?WPn!;dN}dCWHBYgS{ncESAW)VEE)O=$OyUWGEP?E-$qYzbX4%zZu`I z(++a#%V-IUqYprgR9ysrH@9Uu~#~ORb(AI|{@ay!* zZG@CSg~PttnVwsx;^*0R-BxQBXjnhy+f)n27w*n-(9B7Zj4on0s3;83Aq0_2cg#*J zxBX`2oRSk`_Iaj4>d>FpcINmQ$*clL73?S+R!+r19HQAND4V`cEwp93JFL{iWXUj6 znquRGY-jFc+PTtY!$5`ao13E#3S z@era5a(!B_`3lhI+Z@s|z*1>j{X;(;GA3CFHNie*WA@;#bjhn8n8sAAW2J!&7dBjY zZnrKK(N?tgzMAfpRdVqk_N~s8-noG|tW3R}u`}Z_-<@2>V;oY8gI=or9Xc)2Hic!~ zgW!R1TFX-DdRT16g5qG+a}PBhstdkSVOD2xFw9&e?;;;0pI9j6kh;9p{2ujj_YL-I z>N}3y3{@H38LOMz-B0)Z`+Ymz4sLkE(FC-tufZBELT91|lV?M9UxP=soOB7EAn|>M zGZJ=ASFUw@E=Q-2PYEP00W$r1PIEkZ9ZP@0&wS2+c+C#9gTUM#e6d0*=SHdm{TF>= zUExz7qb&P{`m)Bw2r<(obtKAFs;8)eNfhy3GCw=rV2|yVGrR-abU$P^ckb{Fw({P< z)RAD8!c?APDfH~Hy6RaV{?{3uze8ybfKuK}p?Ba0+n%$Z z6U2$(q;tw+E~|ijl!~N%I+s;OkQR>G7xT+t-?Dk;BuWxx_1g4zBnmqmFwl8N9l0+W z4sq|wU3!CE;P$M{6{t6fUvK{M5hmu!!UpnmJ%RCXNPA|B35@@~^tv`<1Tkt)Ya32T zeAF|7%p@KgQZG&Lg+*R4+eOmNaz8T0rWENK_~(JX#S^ly%JZiDQcr~3>}(RMzHZ)B z9^oJZFB5)#wEY3H##sJldqhQ;Afo?ex-(Wgj`?bb5wa0UXo3(RTF;KuULp`|f1hgT zk@*7*K&mZ$Eo>PnC#1%#uGi!IreupULtWFfHaTO|26f+*b?Idi<>N;=gnnc?eQh*9 zOV&^0W~UDc*Ht23)DVn)%934ROi&ZUKV9Rh5w+@KfAunx2r~G0A{krU?NLC+d>?37 z{O-_{8y)(**nxzMsqL2CE$62J-uRkPg$pl`?|1#rKlG-|$f)&=uY8<5yKvLN3acrP zPIMmJruDS;w6|{4c$s2DTT}!~Jqmu{ zd3vGQE@Rn;#vf;^eTZe1_36jsos_@y7`=t&Dl?~vNOYlD1-nbHg7d)o83(|4XO5{@ zZ@zY_ME%~gn4T*3=6d1gjVat{UAp$z@O#ZtcbVx%x8%qDBU>UjzTjLmoaT6UP3;4< z+;;9D_Xk&=$68le7PAy5N&J36a3h1$LuT6H?dB|;l{>Ny3Qq{n z3zKpil~uj6_`*XM){y`a7;K-zkPQuaO_dR8iNH$H#;$=BiA|YVI*?+5=5E2z-RL2- zS=4B`d2_NnXkdsvTCdjBGV>-1r35yJ zzf8gQ!!@yZ240Lu_~jNp!Qtz9>5dT;SKEWka7hrL#5;mQ92$B@;w$mt7=uS$CJid2 z4e7as;RUWFiF%AZmvYE_PZ}m^Cnig4q+dRluB7(ta`u}+c}@k_hHz>-fj;s+O|i>* zPTK*3Vi)}N$}VEp2wk^bR^akVrgcBjuM3fB1qbF_i$6t5hFMY;{cn1|=K=k^ z^Vh%ReJOBZV!m{i??%sMRe{W_;#Btz{W^{Q(QiqWyRgO4x(3fWlrahS0@Vt~pFn0h z?)$-yO1>uscYiQ_d_fHMPM^MQ+Hmk=Nydr61pRYj!2JLU)A!ekneg8^{m>Z)`nMg$ z=S#>cQF+VAo0vaEU>|vGHT@Zb>Ph9#x0;(k28&TcS!#6%o6(=Oe14#Hu2R8wxtemn@g1_vW@hB_FQEvu+dYJ ze7>0h8DB;i<1_>{&?7>rqxgqC9NkB?-oTaU?n!7=hw5BM~m;>6+h4Z9QO>_lnjv9G&x&ouCo9vFD z7`nc2Yj9)U_wcY-6~3A810#r{G|+Gfiy}c$ete-R+(%)KF-xJ9W>8BD2+r*=p6mD? z1;Z$Tq0Z1}m@&37u)T~x21v44u90N_J+zixYE#OHzXLY=ukwAvC{FwC`L;tP#B{&h zFlNMj>4ofj6{kZOMWSzO!tXN4SJCNdqjvA34nZ`v!J+rQCe}+Kgiopjd4zYgNHF@``@tol zLyvXam*(ZDHGQ6u_nFnVH_l9>fBVmh-UVW~aBfTTfh}9z=DHw$%Jr1V+?Z|zT#lae z#o?Io{ooUAh@8Z2quv(eX?T)S+1lB)v{pof%=G)so1xqDl3ee*}3^DeW zDbYH-G@n{Xh4Xhj1XXL~;0zU} z4paMwU<-4h@DLLf-c4raGYKV&JigRFWu9CzK*j(ofn1}@TF2VT+QT}`S_2Qe;j^qf zoxWBnYgwK;{WZB#_ofF)$F3U2X&l-I+4K;5vDeiPBOgZO2S?`{A!#;GUxCra1hjXsO?bXKsA&ev{l3qghWl+rXpzNNdAE5@yw|+1ycwRh zvS6uTt-!YWuRQq@61fHJx=K~~?71j@73Y%@9^CFpAFdL!QJdY^A?)#iE03Y;f2H1u zob0v#a9*6Tq`FXZ{iuvHdwkDQSLs}O=_OI$gCvm)V;HV7>u{uL6)1j)%9yHgP3zj5 zQCZVX%`;~Ex_N7l-G_PqI(SwC3Qfc&+M^~1hAj^aXB{5jj|cr6t}^*a&5ksxTmE#h<3rOslNxqa`gg#1gSUWUaO?DV zz3Cle_>VxS`(J{K8r<*|RL;Y+2HD5p);VqAj?+s7j}IzZ?D14*0DVRSZyQ7Xuz&Wm z9!c^xi1t$!g)>l=ldW4KDlEqmKn*ivt1(aP`bH%0pP=XdCfdFFCnHv*8t8u|NM!vj z2!zC0sd%v}KfA>zvM&3XxON3X!=c(;>LqXb<7Lor7`Ug3O9;%h{RG@R2Wt1Tf>@2> zbXL(}V~x7P0+(OGO{~|fRvgE#{R+P3$qm<6I=*~SP{4f<8Mx7 z<-KiacyuGbMc5}y8h`$i=ZXyIs0yf5KtU3g2J_wG3pJGQRc!cp;Gt&tgO~H@g3(v# zLrwKN(uJ6Y;;ontg*Bhzzvh8Lw*C04q%ZmV8~il}3Oh>wU6m7Bq&{0eaS0%l-~DBR zbL@dCeGRo%S6;vQ3+mvpP;*2w^@`!fFkCenmeAY3J?JyzONrs%dORG%9dd~#)gw8V zv=jn!XRfRKsi4Trwu}EMtJn{e-oY`25lYLib?KRgoud!pJB5ZMax zuSk79qa;mi9(g$#{Ndkc@pp0&`7ZhIisLnnqje(k2>ENo0jC{C-_@vhBg)K;T9=%w zk(g8hsK==g^fBw5Y8C(+ufi6n_bZ7+>zHSVcoM~KQMMqMzn&dTJkZFU?qk-B%` zIZA|imRt|x1<3>Jq!f#Oa*;W_#kZ^&t_;kd0iqbW*3FI=wkBDbY(6S~)#m));9Tyw}$zR7&ZY}r5Vi$tapy(eyi z0YBOP{}A*(msX!^$+U>3w-sewHRWBgwyfN(^ko{)f+B z!|q|~&#=a~%W6id$1rIQ_|RVyM_am#^Q`NW_y-BXTOy-xyE%tACpn)uoIDQK;K@$I zCGvDD`pw2sfwtTCp#h=MU~Tu8FR-xFozOd?=I@k?}fPkTQV0z1Xj0 zXy3X-L^n@-11=8jdeyJuMmgM3yQW{IUjuMN@!iFu5sg|=yQr(}X* z1iIk6mhGZ;>lssEbgr|@o{`Wwh&HY~GAQTC*1f+>XSi`?MSBj4)qFejJJtHs=p&c| z7bZWQ$`h7O(Y zH~Zvb$OYLYzRO?f862{+ttQ(H%YNJqqi44m1TJ;kdStzFKC4&S0ERHwC;5}@hFJEU z|F9Ac!9P}?^kD!QwT%kDja8upCZ)%|)4g8FaN^|d6d$9h1?TioI*Q{;hF@z5zQ6lj zYQmiW1MC3!d$3+}G;?@F!~ZMNCzm%sM>^$G6grGI3nRz6*(-h&k&B}r$N!_7(AR`H*CQC1 zFU9})^VDN)6NTcjp%ng9(KBMv;|t^9aigWwDWMUmc~m#$*MxEx;kS@T677MV)t@;x zx|#T~_Mu!QQ8%TXG$?PhVWiOa=x|zdha^l9=#fpycH~@4l4y}aE+EsZ$p1OzG=C@q z`E&t6I_s2lraoY6%3)$MbvG4!4I4_47|+j452Z+Q0)ZqbaFVKSG?Jo%CRC2300Wdt zazg362sk=kLh}SY7kDk`J>EF_o(E=5ks#aggUpZ@$Z1Yi0vARnY15KKhKN+k5HMO9 zKl>SXe!S|W{C{*jUHhjBWd$8GBFn0O+@Mi!zAu;w-iiMknEa0E!;9bnHI`oB!ew+; zAm+nbP1e@|=UF;vIcwo+ElM}*F!~GDw*_vdy3ofThcY&4p(ijmBs`_H*FELftClX0K;A5b=5 z=pYfzA2cmhCzYc;$;h*`B^jxqI7@^Q7(D>Fh>#w1oAn5jw1a*3QjRW zGSiyt#yu}S#!cd0;g)gbnpqv(W^KC}Tv>L+a|sDxI+!KNh2%$yB>hdwCfy<_*N{$; z2S}5oXy1m{*qjG5za!#jP?<3y3$u^cjwTuc7lP97xxIiiMZ(CMos*hn$t zM)Wzq!oC^AzXhwPo2Zf)3b$uE>F+}^!bXW)T-6v964vy;`B$4sI6u_c}UfNUI;KPLu_7I-y zcC9&zpX+q8^gBe`i31C;6Rs%~zU&O#?oeb{(?k>VoTsA?>eW;qad3Kgux0<=Wgda9 zHP!zz98x_UoM81ay#Xo=Yu+t%cz(I=5Khxz?x10mK=;jt4hU@@Ey=j%)FUL&?#0Ch zGe^JL2&NIsngwPbSY{t{oGAmzngt@TTC|hp!8*>0W5Kf(ta~g)U-5eu*fz?NI(oKO z6$1~%>#(iZ9_%o73QNZFvEfQAg!2;n3^xsp{R!}pjjXl|CjrkI`$u|NBOhxv<#^#w z@FScfxN^#w*48V0=Stc!S@0cDY@^(hWw5}Z4Nh&TfyB=0^MBNwNjaB?kWL=_hMn= zBvQSd_XS3C+*B&TKswKY3hwg0{aU@Ok2lWSL)BaJ9kx^gd%=D|kRV2oE-2r6wl}v* z&?u85;`;(){XUTuQmsmgWmaG8b`1|K|sFJF8p98Q%)RR;WHIG_BUB>OEZs&qu z)Lsr5{jU`=3XQ&Ab=)x%y^dZlJ?{9e+Rg2)`2okrwT}&J>X|iy#MvW@8*9(vwBSGT zW?fWG^l8(j(|1M;Yla&G9AF${Bw>sz3BtcX)$R!(VC96WAj1CE#&h4#^So7 z$OchN^bS>z+rE&e2?J3E7s*(9+%-JH1+QX z%_V|Ef49kg3Swnb4lB+yOjD1kPCcO!3-_U65B~mtaVpwKEAf2!|H-MSgq(_5P=6P{g4;KOD!EhL&jju$RdV;d zGgK@UkJ71m?Lg1~|LjE&`4O*#bqG8mE-Oq5?{ zFPEQ;ca#Us-N^nOD-S-bGS+cIZ$*3Al{0VSdH6T^8ytMYM{tG+BLm53(wUt`g5o*V zB8Y+^^EOd*B{K%d<82r36CYqSFm8(tuwn+V#lDH(@l=_x@qvjlVfUQ}^H55mW+d~9 zHU6RSAzghR(_Jh%2Fwj>cBV9n=O&djW_)6bui zy36kyM>68}`$M7&=hSFVB8`&=1;@wazx7ebA&$8ziz<*ZCO{j}PlbSp2;vV31w1EK z;`TU2La`thN^v_WYm0P`^n~b)^aOX)GiIGW$cp@%`BC&g!C^3#jbN`tli3g1&)IL; z0AQo+Xfai&cSgJgmOpk=je3b__Oj}40|yy}yXf3b@jL80I*I}fo*{1`?>{$4qy!}L zYOyk2FZP+2MyO->bPRAXIpK_X!^)sI>^cT5+eO%7X**U+s0bzthVYdFU@veNgy>~O zMheagE`7*~>@C>sT_JeQpCzP4sJauXd&K>(?ol4_;@&jC*ps+gYe%gtcV2D zVSd$G|v&jRE`rpkas0aAbHg44KCnR~fb%_mgJbomI$q5I!~38gw!uA#`dg^AyfyIx;<( z{h`cLzJ8n-?>|mwI5WX>OiUeQ+!j19q&@euuy(rMlt2aHTCUp>mfZr1ovP8TiO@3m zh)F-UK85~bUqz>*py6`S(N!oa@kPg< zJdQ4xfP1Lh11UNn?n4!M5LCfaU&hg)}#B%V%D^pq`ZIX6M2c>Gw!L?w9%tCfh-u)qmzwX3=tp3QB1-Ya9 zyw9&9jxk-h(Im9bQSLb|Ifh$Vr3Fv?KP62+(@?JVU$JU^pEL)W%A`0`^O`A3d?@G* zlrRnF^^6Z~*z@C1P(amZHc>?U<4AZu_V4lUITWaQ_t*aYkv=)xZs=zs{qw(}+&cHH zPjImR**$esK>-P=xpgRD_LM**z{>}<*#Nip7%OYSAFhRE zO(?%`AhADY`9wtjkWgEX=#*dwfHo-hj(vEy;KnPt3}TpEvzl=DD?@rNaTMzG0d&Wx-jfpO$43gf?e z(D_PIO^$QCp+Rkt^MUNZyu@?4XJ#$!IkhLVKc*Y4O%rBqC@=Z?_6gCK`FtP~wl>K* zu(ip=4YoFsA+WUxr)rx7Fb`6(%&m;mohPFjn`l2XjT{G@hcZLP2f%IM|Eg<(ZA~U_ zERXKI|7mNAbsJe9?e=e5({wNMNdfTY@o@WJZA~`b|I^lV-)*d|NkFwV9rIKr@xdH0 z%5RbN%Kqb6w34e(-sT&vjs@*U-aq|#G!V%7S7rBPMkY_Y`ZdFn_Bw#1B!!uWcJ6iX zwJ>4dycEo~k7cjMUh|&JZ%d((_jo!T?D(V49%MHtqdP_Auz7QZwy zca^eikG1@!O~y62Pef;9({!&L?L*{V zfeHpOuN~$JH><@*Zhh@g*9@kLL}|P)r;pt|t94V2@K5)3jg8DGIa&hpx``{tSq~(U zv5^n1UA%Um=#$(%1|m~Fosy+pKCzsTdohT&88}FiJpJM8a4*s|G6d`Ozl4F(Uv(}o z9EI>#i&QuoxTdCNLx$lHdR?&qC&|x81Djlv19oWm!PlmQa?_c*71(&6Bj9*c%6T>0 z{rNCwE8(_qi;6QsaEu(sJNw*s8O7a2}z$yzgjqj;2C%enl2n@wCp- z-=e|SIaDb03i$U$JF)tzNeg1!hSTh{%OmvuYtH`J|F1dQ@|JrcnW05FvmLufC!}i8 z-K#Tn^0cWY1F%klkp7bE56>u{mlPBE4-7o7kyq%g64%+23EF#xsVZ{E5RtG|m-o^M zU^e@x;%s6wJL71OQO)lYCMsb>ib*#ENuMESEW`Wb3D7tHgz7<7Xl0jcg{vZKzFKU7Z4n<3idwu6kcKF;o zJsRrWK33sKpUvIjQ#hi2ueT|E-|Pf%Bk(2iYavf(rrnLeHwTvS>&mUP9n?tYalxxR zC#sWU`(-Y7>zQyQXd3s001HX;?(;+KN4M*@YSM(vCa4zs(q_(}yu`qc5jMsn*lzh#$6;U)Bk&CER6A56086m>R zi$|kGiO0nvEC!!2ZQ5pn4wobe0iNe4n+4JqG21SsYQZJR)c`Fb@}ONnfsVTAxpRRF z&$m^ZT|eWyKOt#vANqg6*P_l!!xHMPBNB+HL+ASRIj`)D36+R*1GVDeUl=Q|L?nx=`^oJ;Zi$$SUF%Mv|u-zM{WTFoDP7 znXfjw^0t%y+FQh67%&zvj6#=rxiVb1B!#_!)En+Nu0fkHQ>187dJ=pnMH<@6Z!ny6 zmU+4Bkmvlh0eLB$d6s!guSj=o3hc~GcmEQ5-(9lI-RT^C>#)+fCohpF^(xwaaj9=! z(l@-RSJ6`6GpzIze~J98*HF=xwnpF9?W9Rtdm0aQjDwu>PWmDE^9j1=2EcSChiT2M z`S>OBW`I+#tQ{OKUQv+Ln$(I2G=5GOP6$lAnlnW(pDfzL3u*};Io0OjJ8hNchw2k7 z7(pKE_xUh*Zp2~K@+TO{TRUL zvF?csDVh0>c>;NFEF5?rPR6oJnXY?pHoSqZo}V%V(Uq$#`@HYt_GKSrpJH=y z=psP1n5F0uW`KP_fHU|K$syd9eu>>ouMQy;jVPpGezh|zl}^rWC6c-N}UT@eSi!<`?kf@=C+K{EF2iT0Fk28XE#GK zX3+!*OJe?jwy*9=^t%G&OJp&lk>QL*{A4ID|LAXoMlm-s>vsJ=w1)0UqQWie7QW2? z9~2W4ji0^fOr7h$P)yf|F(@Vu#fGI!1T_-;hl+V40{tU4bctpX;1{aSqr7j2N=EWp zlkE*S+jx6z_Sg>cNYdWmWEL3EJ^57NG@$v9?LRz|v}2VZq44+3+Q7onTaM4CL?ugF1PQ`c*?mIom2iR&F{dYME#UN$dR#caT6xBz_qijRme;F z$%hp=>XA3{(nr3A$NWo?2`hLokd!xJe?GNgP6-N_6ex_m%AHw>Si(|e1|D&6K}h}d zl4x4MS`X9GO%+T3I#x`dL>th2l!VX%N;GaAETv5^L1s!9Nj)1jO4Dl{I+hA!H|xOE z4DC^-FuJWLl6F9z@oIkqJTm7NW=;w`7##9aeQv{A{%4EEte2U4T`m^>UzwTcI_duA z`p9OYB?W&X>|+O>_gY3dcC4x$f*;*>#69uQBh@iMEvF7B2d=hV#Mj5+siWaWwr`q6YpQJX?@TYWE-@KFp-c5Y13*a z-Xf+t)6QHI_R?ysc3fIjv*D`E>Ynp_9B!t6^QywG+OjZnY!z04`(mtv*eNVrl!;9m zmm9o_%>Z9_IVv0Ks0)~kV-u_dvl+l^@0E|g+Lok^i$2dkzq@s)J55kSpU3*k4NhE! ztV4N6CO9aVu(Ig6Fs2xMOJC8#SgubC;nN8d+L|I`!qBt_@xRqsHSg*qTtlDU6FpA$ zp^r5i|NPPFz>m^bfL4i8&R;pjvusd+&R;s~aCMH-cN~w$DKQF6V!pvumh9F)dPYk$ zQ`BoZIa(=qt713tPKAjIPqTJU_0~{d@sDVaif0mI!!pmUs`o7?U)9QIBJ@#n1X19< zxlM|WuC!mIh2ks3pa&X*b>X;vNqpz>>Yhj9iGQ6h>NrS}gU2A^FBfA*6zpq>5DDZvBMY!O(DX=I=B_BZ%yoODwyjl#EI>sW# zTc1?*@-D%?@r*EJ7B~6~INBgVAZ{y$^lRgfx3yT|jky{i*y? z+dnH(0R`T?S?B^hF~<>|BMwCkPl0opSJ5DGeWO7XC{jG@o-)j z?=}z0f0ev9JO#d-hhSgtEAYRXY&BlE-MOde68;I9g8vb@RK`@U?d64-6l=x$wk1xt z3U0L`oQR5h2^Hywwm2PoD_dD%u)v|DuOJ^heuN}vJxnY(E*0KoB=C9=ini;MTWlog zlu||SV4naN#0zc<@&uKFSp1t{bVRWC&x&zyD`OT;yrkyr5qh|69gd%r^~oaei?U?A z`yu`ue~W*|Z~WmF!~GFNPKme7y*PvWMfR+zi`LUDH5aWCQ6u?5(J2wQDasU;h@$14 zqGcNzIyJ-^DlwguT zNwj1lNRXsSTGr$iQ?{`59S&zty{-F}=c z+h=Y5rU|qSmJkDkvQ$7s5}8;E0rH6|;vGRP#3)H^rL^derglVn4^6_QzzzBa^nDu4 znxzW7KM6U&mRZT1WL~l`nT7nC?7j>ioBfA=SIFkRmVL0Bcrw5B`!CrY9?--%@?4&? z+*`h19w)yp4_Aq*hYi^S2aD=$#&eai_p7?>mpi?0gJhwxMaQ2#hZ`A0f+XxBsdEqS zb}b_RVYHJqezXa$?-$!G=8-M|7-2A&2FwLaTjpkF zL3)E(;(lfv^U>)BGf?oWa7w3a=ft??O{)!#b4KEtH2y3mgoVE~3feW`oYTAiL6ZAYuCszoHtAOO*2P{)m)*(Dx1i{+cngkNowKN@15y|ZH0N? zfF_MkhL`0fPCkKV*906@d~3h=_)U=~v<<@40Dl4t=lC^gkfXt~HVZgllWC{dY=Z)g zv%lwOYR5kqiG|)+L)N!J4WyZKDBf=Z%j1Ve6bE1D=y?(M;cT2>3^ud1Q6rS1@MN(| z+0AV5i9N)oO#2XN1Rq&ms9P9%0=1;_;yLkB z1!24sylcFz7{M!O0HG@hBPsHX)6Qr9k)?#VUmg`A)U|<#A>*QkGRF^Pssf$%m&PT@o1V|R^TxPT8Vt8`(lD*aIn6A^=%eosJf9iu z!hssyze!=rta=RxNL>)k4vXE>`QK@@wd~(%G#cI=V_ibvV#~pfXw`_(vu&5#uE3-) zxY-^wwu}5mJQgH{YV3a{6O0$p!#!iA(T(%)Z0^wHI}PnJRpfjx0>OJbd9hsa+PA#%;SC`uQl z`%ZJs%A90aIE8b0>U^3@X23m-H)87hnjtZefCUm;$!5uJ$twM~W?3y;2|zdE8-x+( z+1H5s1VPjj;N#eLbWmo{)L3s(n8DN^Ap7D_}z))sV+^GkSfNwyBv-D2$4XAPFvKC^N&V0-iosXY8C1DF;z6WbOsG6U=|JA)s2yu%_7uMAD=N$YVn zgSevkiz6$7xeC!z{0qvBc#`t?fr7$rB+K25GyA?{0QkpiS>C56j@wkXGKN6(I)6Y;AhTP1!HYtNvYd!H9I)VrnM zekMsFlTrK5o5r_A%9ol@Ydwzh^w%FN%`Dyyl&fT?494W(x9!!H!rQ)}EZJ$fVMQ6pRs)ofoR+KEtN;!g#c39l|6LsWD($dimi^gY-@V}2^Y(bk` zjvIAYq(2}&<-|IUo|1Dp@dwBUsi{lc6VgX7kCp-AlUb{je2^$ajn5mA6ByuWMfz}2 z;!=iQR*hWN;>Cc!`Yrit)Ve*D;SFhAC6OJ>_4fy;z2|ra8z;W(IvwfNZb7B|%v*aY?IFK5vKt4&uWg*Px z7D=&qI4Wc@Ifn3o1RoN5PtI|c9@vU-uxL&^WivS~5{t4#pj7lu{7Ezds{U*6b0sx2AgCK>&98p-4BsqGM^IXc*Tcx z+?jlen&55dspT0MC|tNFes0|AT~;2Gz@GR$2?6M1pD$NhEiF~t;D-CivcS6*dy3V0 zJHxsOZr5TM&dLtl9JqysXCu>a?m?#}{>_dnf_~eaeMFfcV$`z5YuSdMKHry&Ke7%( z6gVL=99b7?W3(Ob^(zp7n-A-p!aQ7=cJmJ~QyypQM%--MTx?_HQTEf|`RT@-p-E_X z`FNBhe;Pd0ODj5J+&kq7=RT){!6GR+uiVXS3v?EZ_2%K5kc|ecIWsnCE@a!Wx3KrH zxrfX{;7363enh{-V(H>M)LfhZpo|E{w_#9XTa=Qyv(5hXBKH+4d7ChK5Bo|3M zDv#=HL%QQ%^Nb`HWI&|Jhj1N1Nu5OCd6}Gp4uAAk@Ks| z9F!6a9OpT;ZO*&>$q8h;X1l776xc+;e}auu-KYCbby>V_V7(OwgTtw<&@U}WQH@s&l4R9u z6^lPAdQHu(leNkEWlD1J?AsFFV);7x4!OTPLViwepG;lQ-`@=&_}d?dwK;hA@tfUq z$3FwjSn#2|it%rO0plhk zg2KI#5cf97=-d5CyIo-#v&1`diSC?3JSLwR%(RbXUSi&1R^`=gGCI3N*I>{zL>AJH zYs`;sg3c%QXD#+j_9D}99_5jL@OOI7?4Y7~3mo|hmP?{f(V~yOEW3Sd%oP5R{g+7T zZ}-&adKYP8)@9gBYc8Yw5My?Tm1ulZ9-8x}%urb4SbVGze1xuGWgZ1Z%D^Zl68PT@ z2QqxE+yy~K({4o#*^sHV?)unl3@pQz^gDX(!2Gc@1&;i)SmG@#7puTtV=sI6{oty? z2h8*cQ1&M2OxDcu1=2GK_OV{d#kKrSFV867sag3d*8A#93ZLFAd?X00bhkC6=c0dk z9}KOK9z5(JwB`esoQK&9eQG?c`PRGfRN)h^-;WREH;0eSI3zS|k3}CaHx`V@xJPw9 zEqZBdScdLsdgf&3~f8Fc!a%z)2agVibX!C#FxeV`I+V&|6(N-6{?%di*-`eW* zk)J>-wU{^k%M*`N=i|h&9tT5!BfpbBx%e->yQfQ5VZr2LFu62Z@Xx?aVO*eV`3=F0 zj`{hJHuJgX+{dStH6G=sKKf28^W6FV354o0#{!<>D1u)?Ql=g&7Of`J!4kt8@jz|JcbhW8EiSixLb6^i5|>dRbGt8mEBH5*|$DT zp5C@qj?jm-5P-1Xd(6=+wJ6gKBe&{yG66oQw@j{WbeKKQ#M4BD2OL;K!;? zekL(tX{VPP^sql%m9;AC2~>oa434lr=ZrxnJ+;lNo>mshXiwbkPE5`MYMS?mXM_RT zMzlC}y1Qhxze#!V(V1SXv=IuzY)TQ1&O;YT=i6}U#cdAkyk$wLoO+8{xC{3u%zrw# zQ5#LLsN(lr~&YTC-*PCw87FLY$O2oa8>+X zBAlqYu_`{9NJrt@sT%!GsFh4HT7V^aZooi*gsRi(P)&6F!BAmN#;0-Xv5y$WxN-~@ z=6V*Hdel9wG|j&@V*Ai-lJy&6mT7)`idLS+!;+@3LMt!8kB8WmJ^XWl0?i+lt&_b5 zFYktYIQOyQBvKB;71_|65q+|JTivy1^UL=j_cW+C!rg5rEfZ@y1 z%|RfbD(j?Bp|2tsM|!0SvMphg`63}$+h8V(4PGm|aiF?nFZ=?8UR^TT@M`1z*vVdn zBB`hdqA^5@V*Tr%>gR|7K<3B4+=*WDx4gys#Ts$v?+5PnD%eje$6@PSC|CJ( z*Z!(3&6AH5O=3&z^2qct%Ee!V3ReUHVIttB@jH8i?Y!?AvE-}7=+v`f=hdxLCph>p zvbt3!rb_83y$^is{gv=g}bI6F45kq{C+hE0+|ZW1@-=}ZK$zLy=bIw|~QybaFZo$Nt2 zYfJD6_=zQpj8OVw6qjk#l;{?}tcqJsk6R>ex@!q-`5E#;xm4a0a>VL)_z5c=O_BDH z`8M4o*BPkDiUdxiS6_-^@KC|lljL0y(afOM-Y;YyWO5nuDP}^;gqAB*8Tq1r92F6o zgA!6;zW$@Tt6Mf6ERTi$Nb&Uxy2Ve(8nS1nZgC&UQe@~eW;2#Cw$eg=B!I+W#2O9lSg_y# z&D9TY-3PWI4+_?5e$dqS?3r{S%5LJ|{N2-Lo5a?_B-Wd~*dqAej4LYQ z@EiJDxO7PPg%(So4rg0cb+sm)GxsvJ#mwC&A4ku5^V1wuz1*=VbN2x7c)zwFGaLqK z_oO+bIhgbPH1AHC7`fhqt8QH)Z6~+^`Z4MvngW7!nwz_+E;i>+w3u>klLfE^+D!(R zS-9BzLavKj-t`Nwz4=g?b!w3-Mat2OR|F*K&G#Ho7{{NgJ)# zpBpr97Y_$l(PG7@J$c-{;`2W*OVLRFgV+yxAEpk*n|mpw-20VY^21H{&2oFadBhmB ziTgpP8$sEU-b-tB6;kF;H%@($W^ayr8K+8=TM(@Q;8vmx&IljGb|rNswKEtdUBsgt zP#vG2b%J0>&J(^Y;PtYwwboD*%~2MV#b^FyW;uzK4fXvc2ni>Hl0 zRb9}cXsjy(7cWeaE^{6C0y%y=|C|fIHsTu5qsy1-$K1|m44jhoGlvdCWi$WQBfo+C zT5#xEQ`QlWh0csn1MM(4|VrR8=7&249H=kLe^ z?Xv5SmHCLlArUoyEX(I4ISq3F5j?U`>aF&nIM&oNONji!9V z$?Eb=Nz47iH%ou_2h{w#arHpzlk?w*opAIpxSG?luDxa-ZUfh zV`GVtDFU$l!v(!M!O{2rn}-Ei zvQimnmf0LSC{ULB&7CEOarbRtt6ZHuoh_38r{uf;i#!zqZiYeJ&A81moKB7IhZ@~A z@Nc^Xiu}8wx-UDAdHLY}tloKXKd)}Dgw{9?jU!Wo`Hr=U-HzZ14?K&8aU6~Aze(tF zdd~6Vs1jS>c|Zo`^zKd1q!Eq~x$s36kw47oxE~P|=Y-w*XKMF%PQk~BC{C@!?{8Px z&xqf~-F+y`oWXogX%tEVcSZ<9NWvTjv?CRgQj&(Z4uu}LF!1~E`PcDQ@mdTplW}A9 z;Y;4DQ<3(-3gqxA(08OgaBI1kXQxc%G6`J49$&C4S9f8Ngvzb}BOdVGpS zIr9*0jTwDA9XE!e@|p@{P4S!+1_-Aixh{R4Y1JXRYhbjdLg2CP3?(GbqWS1>x}#|+ zEhLf&_ZrZpKe0ME0_hBjqS;v(y{`B#BhDkY1(id1kZxBX^f2W^WUf;E!RQX7K!xDs zHOSnqupL=L2i73430}cpl0v^Sw7&w8rCom={sCMo4m`H2`H-UjJDrF7S;_i*XXNo_rm@;iz$@@$r)? zB>r!r;zqYuG?4X6J7Zt8jC=u&w9@ypCay{Q84!$W^ zBVvYR%`3iF+Q6RGuRoJIzsTK#3A+amnO0t}Kw--zW2Z`B%r-q6)pN`jlksR#2_HmT7qH0 zoka5tD!o2)}DQ6(q=CJLfxW;D6m@zzZl(zzODHbe;!Ri>mYaleYgB@&eQ0;9F(+oUSt{7 zGSoIm=Xvr>cm+{<+vbvb&>ikpVV(;GfEdF55!;`MOsYFZ5J&gOAnhgsF6IVh4|&gd zZ+YK&qr4&w%n)0MV|LgUO!l68nn`(cUq@hN^4PrJ_pt7cy<=IW$mZz$SMZ}VPnCz% z_r)+Na@W*@fwWP}ecZ{zZNZ&&3DT<}(yJ@LyjW6>-s8=Idcg(Qg7wkWwp}c+qW9o~TlEqG9BW z>?B3=M>qo+lh0PEUGU*-0zYB?a4^CTMwiJu@S#$~*}=m#+&93j^$E^dNcpEcxc;11 zIL9fL+cOPEkUVs)LQySVK0dnFR_cv!Zxp{7SxHH!7l;@__o!zwh z5?TI6{k+qB9Ia2*DS6L5DG!h2ef5PHCu10ct;fy?&DBJDN}#lF|;r!E$?q6-{GQH%XHo=Gv6)bfW&o>NQ_kIxjp6 z&HXZ|;J=T{bJG1^EWpktA7=#Mvu`;DSeiYWQg6u7@PW$k=vl7K!3DVv4|1-V{WPRK z$Uc6=e1(UaJ6%Iy=&$AuW(2I9$;Sec14kBb0|lMUVIgV}o;D)h7m7ni&M2sK37B#u|rG7p^SIWiIZyYK#a;VJ|S0 z0zwJ`q@Kc*`h7woe*2V0;`th5d+DPoZ@$bcU3AoY&{3L$jyZ~v*-67Qs(XTNO8_{x zHMap_{i7KSZ`t`#a6e%cUFA}ebzxweM-wrh7a2f*{> z4u2Q%Y*PP2{=9R)mluI6V0zdrY$>+>qG5oc7Gw9ZgFQ_xi;iTgbF0&4PrR30om}CY zR~wJr#`fmfpU%xEySzETg3;=eIvoA z{{7d#_QmvkGDr~T4}%QAD3D&ctm$C(@xtPf%bMFdfRg0*rRfsij>VF7l9MVva6vp8 zPB;g=W}KCXl#tBY+wK!zY}{s7${0=9!BAQGt3Bm;{Y>+p>Gmss&AC0O!?4}CL3pW0 zji!wkFwQ7^DppjkKpmVWEx6^j<6jAkhK+P^(;}sci;CUhX?NL2 zlmR~fivHEPnRR{a=gqir=Q!}eeL1VsV8LwnzWB}H+?Mf8CtUY$brTFM6&dZ1SBz=^swYVNb5i2_?A0l@o-Y-!dD}c zW(@vBA)IyMm@|Zc&JdWaidU$>$K*#D%8Hqpt}!QCn$0YmV%o?&AEh}tu;diKyjAt2 zdu)`j4U!-Cx1spUa2O(6SKeCQS|M!Jyz8J6)3djm%L>|`QnVt*oYE;28We;rXUq6I zW(kN{YegmE%4!}{RHY9i=WgJ zabSK+V!-8y@tiH3k!U6RRUBXVI?!+BtpCcT`FCqNz(1{@xIh(Of$=at7L0AdVe01& zmK#{1c~&r|sX`MkE{_KRia0|mNdERNzE1!P1<1M6B;koIF>3L-rLU4DU<&i$p(@18 zO4L5DqbarusjE`;FoM9IV@DVzv%A=PH zAb0n_D;pRE`E!wZN14;?nqpOr?Pp!M9p2gWr>5XktDFv73M>rZbyg6)J)Ug{5qg$} z)oWJFbc)qWaq<*}Mp++@Ivs0VhR}`~A2pn01-Cf!j~k~L(^Cw@GiLD1lZPM8+cP^o zCvt(N0*JIMGh2@5&D0r}rI+NL)maawK;vNX}U9YR9U0z^w=5)^buHR>B>8nRfub6 z(?$#TrXt!-O$4Ni)J$C2)^zheSgz|@KZNv#%$vG1+qHQ(A>EbOmKHrJcxm$Qvn9$V zu;S=!NveiQ>3x^nrYjCB+wJ?W>B|ElYO;joCN$@`;m|U$muqkwJ|oUU_@ryyg-dx% z%^UO6)mm69k~03lxZnzcgm^8AuEj0ndPYMnt|3VW(VE*vKWq4R6s<3NgZoHM`D}Sm zKzgw9xk=DZa3jJMhE5l74YW%Tl}S=l>51%sokr`6_f~9?TG9QaM{4`BkHW9T>3!K6 z-tNVv?{rnX9QVu^(QlbiLYo1GjE9U56pZUdSXN-w%tfZYs%p*q*r3uq5h7HKf*LmX zv>2u-UDp2U&^U7WEOIUg26B>+#qnDVD-G&wH#;;^Fw2vfDjxqB(7v(XnQUSk!d|4a znLOm+@=R;%nd8*j(gU?WGI7o8VwJ}t-I9GNi|)JDW|ou0|LIQPw@59}&F%GA2Z0`V z{9=Z}J$s8q#tyQ3avAIH#WmVd)3uk&gZ=AUy7tEIjUkjS!@pMl`fu8waWir(x6X-u zVYnHQX*w}17Roe103(CEz({2jiWZUY8UNr6I+wLOTba3(LDebpnD*3W94^N7@Vi=i zX%m4d{m~>-#cJk%d~MwSl!&{?B4!>Fyj+u|m#HP5u}JVzsz;Y`3=Kr*N{GaET`U7tKfTvfY4I5dQAB&@sPJ&`#G=Iby%Nc`+i0rvUXj9}ZTi8! z&Pzs%crsJd2~SZ#-&Mjk#uj6r#NKRwOaTY)l&@n0SP|BM8Q^btDgtnS#T>zM|12iv z6^6mCaDT9V=RJXqj}(5Q7wZ??pNJ{1fX=5_)2OQroSVCSG>?DgU zMQdYJHK~Yy5>Ap$s+wm{Xx%uu>KwFQAscc<-^da256_1s{v$bEk9XN8j*B@eCPd&* z)}JzfD@gPtvn1T5k`0m*Fzc_5#$VCcosG0p`=#gCpw~|_B4H3J2E+owHcyIw&2`Ct zp5T*Ddw#xYKS3RM4`ATBftcK$9sWWA0bXVA%GVbI!-sdJkF`b$);-PCDz4g-56+Ys z65&!^sl9ZG^eJ()98ldq!_x6Gri_9BTxJ5Frg*GW`)K3E3RrS2E06(d`7@P`d{fob zmK({l)#sHaB;bp$oPkkNxvv}?l%JB{l$+os@}^H0i^mMgbGt4UPbR115RZVnleCE5 znJ;#4*!w%afvLJV2I zmqJdE8Y}Ppz>kk@ziPb}gSR&nTwBP16_Gf}X9P21837jL9fk>A2B6)x4*an?Lf^E` zOEROs?eBqS1B^YTfdk-yN4T_0*W6`<$zU6>k;T0Wrf(`4{v@Ipo{4yu$yJQzDbBCQgpe7Dr;OBX>_m(Otz@DI1p295C4?mvO zV6ts_LWYsV$WJ(E&t>22F|#5&<`Qml+;R5 zezZ5XB(**c{H=So_^uf|1Ba#nM+$8+rih zCIuW`=`@AAQGgqIesl3^X=H#7#!tq7`6N>qWg5mMeoU%b&)^obiusNSx|m-Cn(V-Yv)2CTIqG$&qP`!E5$c_HTCE>FFp3)f2a#26sh&5MlSwXJ{Qd z{2KhVl^RQhDStW4UfW%~WDVGZ|BI8#=E00R?=uhl;;CQFH1@@+6gQ!YWo797GEi8ggqN?!9ko8YybSpq)E3O9B4^)2 zz@yMdp;K?aISd;ez#|<4(XPOTpUqBwxH!mqTRlDgqBo=-hrL9?>Srb)rsFQ|Z>A-@ zq$kvi8W8m;VdcO%JQ;t8A8^u$2Yy*sBTqVSEOxl#m*tlOH`LEuQXK}9E+wVq{e`{9 zuHrtk>z>c6>N}<3JMD(&gX&TBqFevIY)<%Aj^zAvcS#( z@kz1wd{9(zO;jaT5|7MRs>a3Z#5n7E`$xIn#9on^Ej{8@#A~Gl7*Y(^ifcH|yvn>N z)(BxV{(jF`+!x^OsS)2LKD%;`MuLvSICXr$%({BbfxE)buo0W`pYW(BjDdbXPOGZ} z^Cq^&&p^J2hs6$Tro`-COsb3WN9T}MCyAG2I|}9fkk;8&gDF~z@by7JQE-+MvL`bY z{;7;v!y6>+k{=QkVlqKR8d(mYdte7q*DfRu@U9RU1Qa>4P>O;7i#c1WjV+UIly+m% zKxwq}hNlihq|vjsObtkpLTj4zowQ3DK}t1c6eVM|YziHdxfuq%qh;%bHr#JKm!o$a z_g;$}=ZhN8SL&sD(^L82zKoF7%Rb5mWXkeM^8b&l_kc^P?f=KGb8wXv;>spqYL*#l znKln%B2FPsA={Ge@m1t@DmXwEkkiNqgy)1>jF04W7p*)26fB)M9-n|mY;?Pv zJC+}@(T>`Kuc2pD>M}i0tjGnTxK8xL9Jz+h?-eIt) z`zt%XEGKL!&YH7hdo0+>I>lucG;+E)KRDXFNjyG-=fLyk1qZ;s)Ro+Ch{*(LYGBeML&-Oir29c2T4e~T z3@de011oqQu35NPm?Y9h)Nxm_{) zLLf-Ml_U%?NBJVKkgAfAzWe>|fP_$_>#%?^Yl4`JO~o0rut2e)-bw&a=qmJN|7G5z_?tMP+SxaI0voxD zxS!ZyAN>>OnQYgl<(l!7JCrOg2viGRcZYJvAcJvoY#zCSOzWlMK{G5Uztrs}bOc&j zP|EpNIIq}*KTw?0Df_9+Ot&C31Tdq_KeYi;k_t=z3l**_3L|Ap*hfH=lgK`w*GlD8XU zDJ+5kb}pqHhBWi}ZVUOhz8>yi@Owp%=d4`x^5!1wgq^bxK}gxN62w8QG2-UysiKoB z_(f+{a*QQVl#7$Peo^oOVDzw&Tfu3WWA-0H~i3Or=F}N+N6ul7b68{o8 zQmJBVF>n(5iZ_UFQBTd*B3~`=Wq=1_DYZ?!fvO=fl1!H@kN^*fza+fkob-SM7f1pY zo|8ht*&|7_L@pVWkY#k)EE&yN<|o@E+b4UxQIH~oZ*z^q9a$V}7`>xVrEkDa;jUPt z7)Si8K?+V#n-!LvK?Rwx=gcCUi8?>xGix6aM|^GKZ!e0P@P}KeQqWtNbY@AYDR>fs zJi)m%RNIUU?8!^WYsuTmd~yQ$D!Gshs>!d&pUFdH9jY-^Wkdv4QtvYMQ{y8O;A%2>7gV;4?8V%=G3Ohuzq5 z?7}=7a1ATL@LH?|>%r9En9-c2Hjj1e&FQtQ>n|qf?q_+5p+?xhc>zodIFmWx4QIGW zg%V*Nf(sm_7)pda=ll|X0hq6F27bU~4z zM(|nyz6fR$9ww(`)018ki-izFvQhX&@n`B>E^H9K7XsValXF!dvk#*u=gt=`7lA*V zM-?;b557!Gg)j4Ti~m?*R&uc&Z>0d&0#~vA)R&JcD1i~=e~#8L=) z+Q%EYv6P!%w3-Kbl)je`#Q!X0Xruq1L}+3<^S((%fnR_$B^^Il;G^IaW#h1Zc~*lv#Pk*_~yx*g@zmT<1uMo9A}sEG{G^ z2rsa1u|O&7Ije*9&57ctv9cuIfCF@zZ=YJs`E!px$+^Vg=Wxn74V?F!0nSLSZX{wz z*@+-nA&M2+@?3df6|ZoFZkX!-MeTjvu-iNuUdemG`v@oK5`IiU`$w@Qt{8ueU!R)O6=D57<~x4VbgOZ%ne5Uo$9H_}Pf7P}_Ywp2rs-MT z=>2ca1*)xfy+9c%2+s>|J#kz$rkU?=b?Jzh$;2DJMta$GK6of-JSJ|79*ciGv@J3w z$3N1X>96)(pc|h1iPAUq?APzM2A4ElD1v!z&);VW5vihGvDVdpyD(cgg|HnuS_XX< z%0{l%CGmQY$nWojN+BxZ>x=pq|7rysCz0=sB~4b?Fkh~02SiVSbE0da5>c(FMbslw z@$7)PIP{xtpi%>m=`n-fLc~B-d~ez0RHgz=uG8VlByd$qdPo^2Egwu;Ni4 zB}ih%I4U_W*@wsBK!~f-rAE99w~?u;H|7J`AAZ9w!LgH~E-TfYMa9ALQZx#>1j~*q zw1v!D`)sG4&Dl5GxaR%Id2Ul&@VNw{5=JzRJ9EloAku})BJE&36N1ykWg?%bBBowh z=3ss6k^}fos3gx-H*z*PkQ_V-Rf zlyy`dHD_BNC5cM=gBf^B{iU1KPhIf{n1&fJ{P4LrV=3d0+Bs;GTx5tCMzZO$4Kfdz zzYK&o&+UYkz3==_jKn5lGqF0=22N4zw2t4}0&PP1cB)&@Eo_@&_!jgL|GV)Pepn2g zYu=ys7|1_+oQ2#Lf=c1!-eoL>(5**9#3APA!jtd$;g_kpm~nVDvtIPk-p02Lk^N?J zcyDy5Md!k=Kg2*=GD&i9Q&SlxVM}x^o64BGB*!HGNN!5RlDFl_$2*MPJ;g}6 za95kd&bJJa0oJr7t%a2R(q=t;p7DeipQpM_YYuH*wQ$U6or6)!V{A4jpY{y5W!`>X zfps?BT`@aJL&kaI z*%~?n0(-u$#y8-TXd|#8owwE)(Tf=Lc&m~A*7O4wt-|1GUR4~jD4>Q3sBZgV_! z+_{(0BlL-=8vDuzdzYZ+raubz#lXHle&k`R5tHeGBxMFzLF>`v(_Tm-;zTwH(Y1F; zbhUHU5IAbtxn5%BI3xBhZ(OsMySiq*XXP*pDMuc^TpOZiQ+p2$yMaM9$`uG&s84|? z2;(-4!fYwepeZKe$_UPQTgqY(`!h*vN{F7-Uj19H$*p^1rs$36Y{C!}U`(5rqbcVQ zfrER)X{&v!X{YPQVtiSGtUz!2z8L>GBgf4_H5|bx_w{uRx;4$rxxs#mym)gd8w1~! zojb|^=NUH`4;T>6#pq*bU`ANqbZh~Z=hUCRw(fVPF`oBvy?t~LEY@8aPyJIy?5j`c%dJ;>nVr#v*a%`6Zovwaj_OdLmQN zv&MCMQq>be2uSi+=B6yro6OXg?EIKNfVowaVeDHqAm#Z=U2oGZQ?^haBt2`aO(H!1 zj=>!!gF5-k0q$DG{$j%}xOF6i6cJW`AVo1h4}dfVP|4e_6|-~#phSWLI#P=QHryUfnYie? z!=A#%wLgv*QWDb!R?d8J+rT1pcuo#<3#J(67|=J)@2sPw{h~PRMEGd~X`6HOv&eVJ zX}^=w2KK?@H4QIN>9dM;dvV%WKsS2RVPvQ|PC@njS(tv0i=0=e-P_tjnm`BQ<&2!y zpht6o*hB0uzAcLppA~0`wL&CM#UpC+OZrHdTCLd}L@PQ7ia6G;#@0v%8F+Q6s@T8A z@WE@VWBv6<60uNCArj{3S2F8w@!5+^XSc1i&A$p8*RS32nXj5&PugLUsOUwUKr za5ESmZUzJ7ZCfwuvbCQ9sl%3wzr(q9dy;CJ`D?#Hy9xyh0wxe(jpyFzcVWI>>%4H3 z2l@`-LuY**Jo%c(ulFPCl5cXjZIKELc8|c}TIGm+_u{G7_7; zrA{%EGIP7*3DyJz$!3i}-UnQARPq3dzgKML*>3vDF(>8`%Lo9yqKHF8;=lwtbi*O& zaiJ6FuYau2|N5)W>M;TUz)6?LtEpS54a20xk<`?Q)S1-5U0rGF4kKuckpQ@4)9F#R zNsEQX_l@F18_~X~pxZ0M1u=rb-Q&ZmBh_LZucxL49XOHkLUdjf?TyVMer!i1g63Xx^GSDXUI??lJ%JnneKaa6{ZLiA`M>1ghu+xML_ zJ5`!;pqsUS%Kb8ncq#Xk$>_AfJxq&ui!=G0GSh5&agJ1oqo&ED`i@>1o#s$ChNSdzT3>g=xc>YPa8q358GQ9`q@@DDdbo%T2+9N17Fs;?H;5gx#`y}@(_uDmaoT?aoa~0Mk2#VeZ9+5sBel=EdeAT0*^m4^&i{MsA5F4P zOPLEo(r;b2E*Jwfo0g_~;jmnyGoT07w4Z3GTbfz!n_~V?RiSwU%1%IC0Jc#Y30>0N zrHkrJ^774_>fPsvz|O$>KF1?yDD`^&GWNC=t2iW`t(;LD*TODc(j+fVUb**IRcDuP1trhEy?YpeK!`)+Xj$7K^g-p%-QN{sy=~=c#;1SbX1wQGKb1s&> zb8&c&*@V-KTQQLe3Ao2!vOQRe?g|#~S$gZXajs9}RJx6r*%1UyTl2Tyt_!)9msxPM zQSWx(U>XgvhC^YJKjJ{2lsEdy*S&Sz`3Gk2GT5arPJ_R)Ixegr2r`8_g=#zDR^G(; zdk*0YoIfw-o`Zm)A-K(`WZbxI0)7>x=S^BP#4y5CX@jS34^Qt-j(zY#NZ*fRL42$@ z=VaU5*@t%VpHfckSy)M7jl|rtXXZ1BKg4}KrW131NP7LrGEg5~_Uechv>IS(=99LZ z&1Kc6e{a1%^7v&4X`dI8UM_?%T72Rdztb#~kdj z;M!~czr$J^q5Tr}*_ShYPQzrLd(QrP!;WM$xV<@6m@K@=60ypbHlJM{>FH2E?jtVj zc0HfG5`b^lIc+^tSDAlb=mQ9xL)+-JhH~CF{M&kh6h=@8@Fc+e+asTc-zSScaU4ZH zA|@@!z1w2@)D0&^m!r!#!T6M6xWdbP5vUTq6nzr?7L5_p#5Ur^VvxzZ!+Y?pA#jo5 z^PUgzEBMa4DlQaT?s?dazZ8EGKbypV*sUWmmduv8NT4Qvxe%@K9I-=^+k%;lX-$+w zTIdi@T}rgA-1(rj#+F*Y&+{8we3%znT0ZXhslb?}F|Q%<){~(Be&n>$|D0GuJ4lIX z^J@J%`x(JY-#KvSH=-e_yr+)_%XINsO2l9GXtV8c=NfJe7m;=D0+Tz(w7SsGx2!bI zVnrak2^ScCwg_9cZ|hXN0waS>Yu@;m(?ayWx~41mC^4 zonl1sV{KyXW9hq@`ov40@vp8AuZ_Ff*`v0;aC9LpR_MJ6btlkiumCy$X3a&9AtUc{ps$3)IM;a8EQ8}2r4kX-$ zSqvk=ptoB7N64jGYDM_6mcr!p#If%oR>;hpUaK-Iyd7r3JS*=)AX^4TdTdn7;aWu= z)5zJhG9P9;ZaH{@)yAVxv4)m2(=K=K)+k#3rVn_-O@_Xh;c+9;BWvY&*X;&2p^T{z z@7bAGfX&^mdk&TvuH{t--y>^RSt@X1lt^2nXO$UI_OX2`10^7qvHE&EJ9}7Us-9C* zr=Hr_mcJ)?HII;NonImaiF&S=+mntvmq>5cn001jzgKBSu!l3Ex_uvayla7IC}vKH z?v*yIqv9DeuKsyqW4`hSmQ7k8*{%l->WRPF1^{{5^t_gYx*T`@(&T9_wj8E&UPx@Y z`yK56g{tyO-KVq>`oGl1%XJJo`)$Xw)`xpsgi=*$nBkW9$d*=PGdi-$xV5{)*V5zT z`Us#!(jfN*YT*rK+|KTaVHe_oG$@hckv%c2H5Ou@@g&ogOxz3C&-|_3Y~8ZwV&%!h zyC@3P3K{`KF^HvL14JlXLGoNeTNH!_IoKOB-k_z9S> zvp;yuHmbj~b|tys)Ovz$JRm%JJgTvc58=L@<)KfLP$e$i9KM(S|tQ~iB?f78rc(9H4#ohpv__|FH z{Lr%sVM3@dM*;@(q!Ua++0EmtDhc$qGWV z{C8yeM~gEg#gaSXC*qlJ3t+~S$t?LS9ufn%k=9z8&VM>G+LE50Hp*d?p|2?%Mb0zglh<}6taW{^|eM!vH=V!vFw)x#0{Oz||*Si60 z^OGI$yl|*-<~B82qkh=zC_8V5j=4IKM^=3p6**(lhUSRJKIQ&a>z(;9OBy&JRUEI| z;kCUrsB&g-1?CyEX4}{RYc$gCw14D4i^LzMNON2Dp%AuZ;Dj0K_|F0l6q79}+*@Vt2b8dZ+6T52{%#e<@z*hX+RX!AdM9yA3WCS z-062}%NZPINMl2t+w)sd`&`AEE^}3@ej+^2h`rVRW*wt$9;#s%MpLY%7xXtqH2z+3 zjTgH5rlJa_NSThU7*pjDs&-oPBUXwg(Zy=}+^0O0zIOJid-?vkTABCzdLVu;ey_gg zUR#-Gi@9Rn2Rro>2wMT$^i0T_{ZO576A!OWa5v6uC~nki?Hx4tL})fBaPmja(HFGM zsMndbAZk`!MLgr?knPZHu{r!Tf{J)a{a%bOQuWo#ZQYI0`DN)vi|0Rmal1P0wZnK0 zfR;9XFN(a@*ufWR?bv@4*dg$=oROMWIF7_4PTQz4A2<-BM9j_+8*azz3-PQ!9qr2l zz;Roup{8Wi=q&LBnWYSqDc6bvWo^A{bs$E`aOhAS?BDNSG=ZrzD1M%Qrq1T!1Cb1C zKUZJ^;S zm})OGH3hK*HubdSr`nT>8H1Zd`$Qm4BovikJIh}?n_aC=dynx4u!PaoX~qtVD<8z$ zxFt`Xhf?ucNUL=P&}i4$X+^F|hGtlWX1ThryKccP*6^UgL)Z@nS&90FoEqvp4pqFK zGg|>%6p5S+PBCY>-~{0yp$<^WTIN ziXa?TF}CoD-V>RQ41N%mP4$yyA9a(Ggo180>Tu$JQxIp!N4&npmSeH-~3o!7)Bn|Di*PRWc@GS!1aYG29G>3KMajQD`$Z6thvOb*9Gi=d&eF z3Eb=45mskNc4ujU#$%d2B0P9ZO6Y^5WAW1bQ_#g>?{#=UARW54_?xd`MKI$H*Q!9Z z>P(#Z>tmealBanCS%|5rWh1+v2ht2p0wUMf`74<1(^giMc8Jx!42{2xM8^61Gku6| z{TrU<`IuU1QOF(BV6_BpJ?}UP(oerdDFo!`)C8_u_W?>A7v@KCiTABI*ACyF%3xA1 zo#$lP$9TI4+A6iqWD|cAHnt`XGq&QS4m0R({bJDJJvk)!m8%nCD)PWJ0!eN{&?$~=-!qf;lj>Dg|l8!vOGsA^X zLOvQL<Zdu^i_1V%gpmwUh%ywlmWu1#QVDoox>AvaBuVy|A9=Le_`HG+nq*c9 z6^hKNn#0x1N`ONhoyXc?Os=X7$rdto-7Q!VaolG|`$EcVllrty881_>49^d&UQKrf zs|r6@`DGzzgU1(WLwhg<#s2LMG2I|4Sq&VRjql`e_T zEFB9w|0Z0Gdi#>O(j2cRv!M=7i4CcWqVaSV9eHU}Z=-KA{<0eFazOrA*z{*yQJ;ff zUTD6=DdsjZ16AAX6l7Kz{$Xz6P>hcqn0 zk@CfV+c-z!o@`8Q;0Bpw` z1YKdx#_pW-YFnAx@*Jcos;z`L=3)>~5PPS3%215=aM!NUCi zkg~MQ*LgXja#4Jxo5a^0nR%M?bowQQt3EnD3k@h#cfK4~6YLy4`5?=lt(NF?56R9a zSCL#hMnZ1CNifm-^WZAdE@_#JC&uU!38QbMHBVE zUzgI=@8oI4T25tOuq1l?a1kn*}DKZ zAl$GBcf(d=0{kF$8hVQ1`B)Y95>uH$sJtM+AG^Vgtb4EpaA`R%TCa9ZAYFQWQbpG? z{dVp6iDmpD2VLn9Ytb3s6Av178#jA~uT-Jf>USsA@7}ju6KvHe6&@fT)~fA$eRk^z zJrOu|zNNsCy~j5ocX{8LM#_mC-xIOxypW`*ssJHf+YTl`he{!u&VTv4Ti>45U~Hdb z&WP@-T%VA#&8?eTL&_-E0;_*Gi+eA> z2oLz@tmi)SiX4%ug8ZKF9nNLG998X7r%dbMHdS`WgB|6&AaufQ?f6&so7;P^7Jm5} z1-3{?5ZduU9TlloM`(E}#&dk-rB}uFLzNZ(R*^%~8vj<2)MKhDa+P|~;iAI>>_?x{ z11nT}Qau6dNQ}9gEF+$Hn!`%+^DT_IOI1k@96lw{VL!6*&8tlR%KelcTQx;yWPIdi zw}n6Ow>>f|eU&;`CS4{C<81N1+3nE18ySHBa{NcBeyc?pzPUB2wX}5=8yNO)5e%fq z9-B;9{j56Hs{q%oqFqtG;a^P^De4zH^KKMdd<;p#I-zC4-JCwKM}hT*C^E9pEyt{qe!g7}ZhjC-7ZMq%ukKYv8J{_$0Q-sQRhz$N5o>ejE0(v^ z6HJj*N8u$rs-ek0WIzUNg1>TwzM|x+hUUG-kFsB{HqZ(>48`W+dE(Pv7GAfb*dv~i z^gms$)zP={5=li;G&>-_D~liHn=^2DAn`^+Uwdc&L!UU`PUT4G^lfY_A#fB% zzF0BU_{eGY&ajSn`xx+K^vnU0BKNHeH2ne)-L| zo9?}$PnQGB*N{X979+rT1!BxT)su#3=QL+9SA4pB)qh!aD|^SBPge%cP}JPV8Ys0g zkhsdj3#yBec~GTZrD+O>6r6UIRENiDWI3JyhZH>1s{afr$g!#+#q0eBwub_UZm$#& zu{U}K_p=wQEW3S7etCOP!j@HJb7xd)rXV!wh-_|1k{h;MFGZ@=5fARzy>b}&HY(^C z+kGrI_*436{jv_Mjd>nn62S%5~s7 zOY`&Ssd29DKd@1s3p!!zCXa4n_&F%hXjtA?u_+FRToA@c$MiV8C|$lmIpM?$4xGZWCQ<+z2{&gvMt*USXc)^b~~ zvk#rh5qo#Znp&rFG;~~k^_!~8)e_QcxZtzSZ%ez1TJ$=norJT|{hSp?JU)9tYSH%` zb?M%dInZcaJM4KLeQ&)7rpLWw1meU{wq`?SIO&>N?5&MrlrK9^T~ZB{K(L8&wSQBKiz|}*)2=us5&xw zASrraUzpum#qkxm5F9<{)sUjGJw-~M@aZm{?G7x$n7MoVeC~KqEW#`z|2Q~wGKwNdN5GiU8`a3{JySWA z#Y#|L5n~QDzDMb8yw0@UgOMXQ+0cQBBe%qf!Pyqg|6tHW7D zDZBK}d?M}zd|iGBHX3ZuyM%c%^>K8(mQM-B4NvlC7BWlLSdXdPFdJg*^M3sj-@6KL zK?7A{*Xp%BTBXc*3_GLH%D}N+yN1PcSTu1dFgSVEcoLF0}a0y zH(V}gdt^>6{j|$~u?oE(I&mdqm5I8OuT4r`RNny(xY)IQO^}g>->RgF^+PP5g47Dm zUVRO}iR$CG7whE}0`-+w92|HirSB|8v0Hi}y_L_KIcNL&8$41N#$kKD;DO?9eU3+R zmWJOcz45p&&-^`@80kDy!%yt|g@tV1+#Qtb`G_~)cx0=0sbWj3eWpg%Q z3nZXxLJb!6Gd{Vq$u8tsLcX)mPq;~#M2-^*h4ily|v-f-rFR$yp4K$Y)tlS>Z#jM`w9PZb8)@u$x_icvqcB5w&kWD%jZ)QCb*|j z$CPidA&tuu8+H^Tu2t^`3cu&+-t0zNdMuhPAKgjn^{VH4%9hS*oo&;4v2kCH)|co4DF?ux0-t#rXq`q@xNDw)LtBGJ|hYG?3P~#{@A^ zA1Ru3CIvL^*6q&7ypW6BcWPK#=I{tiX-w)jvd$2B)3Kx@Sq_hMigmvfeJL*1MT%r~ zdQ+u3I=-`HrwW$86|a|_%iP;YYrGNv;&686+W|51xM7b1!I6%px3T@QldrvHR%bU8 zpcX$xjAG>d(($UHzm07)DcuntFnEQH=PFGz;iizaBi{UQM5tNNiQ0Yqci*9sN_f=& zk;UF@MfQUl=M~XI@wEcThv*Tg2@QqjLKP2Sy|5brQmN2k|AjMwQmGClMR;9^YmI)f zFgUe;^Qf1tL@yCApq>;kuR&JRC74i*5Q<;x!Hz|;3ahz)*8mi2?1zF+Kj{V%L(`8`Q*nm4_#P3V^Hlug zdAqo+A@qgOkm42YZ%oX_e|*UOkUOcHa&7#;kEl7ldv+aFja&C^t~4K(cglD^ev)#U zNiGt)BmQCHEW0Au!#m^8+{;ulks(W)MfM9Z)@=9w`M#_AR_>;sTeu%8Jx!r2q6u1w z)o%J;=^%2%!NjEKL9o{J>my`N$fa}k@A3vyck~X{P)(uM6Ao1fv0)iPE>nGROx+SU zvg@RNy7LXcfN$dOOs%Gs+ziaq0)O>13$$r57as=8SY%fnU%K<+cTO%Z;j!jUF4E-G zZrzAb|BmGA27swPl0A~GEi=j-il2%+jsi!JjodTb2iy<2%x*XO%v@zsq{n@ZdXyg3@UN5MFyEHrz9EWphT|)E5BonfFx^=u>R*QxA_a!L+FQ0_uyk9K=+<~n{5$OW zHBQRd#@}D54c>o@(+F4#SGRZXUNCjC3DZK1RNT>hG@p^W+&C@Pw%4Cg7=L(NvDZ+& z_bfOkhv_9w{4s3bQ(6y@ta=Bkr{IJV8PQc1g{U!o}+C$o5~Ut6b8 z(i9WE(_U*9Gxu$(B*OdNzZWx8ji@xzmR0YU$Ue!Upoo{sPOazpdjeyAr4K>tcI9cA z)yEC*kV2Jn`>zqZkJJUIoZBB&SZ^;>1r7S&Du>dOQiJyd(~Y1fn#! z!B&c*#rhvb4c==<*z~KIVpbZ+#5v+`gcd1?94^)*=io+ludvTpKJntgmUcdkdcWptCr&w{2dX45C7&esh%vJMMkm8UnZL?%+r@&bVb`P-+iQUcM#fvGiFjml zSyC}WE;~F5T%Bq+0>Nf~ahl9wY*6e`fG)*Fg-B7Rs8`6NJ}Qm|s+VX4^k@;*OnFq> z;d;+O^~YxXFccdX{-GYX2sb}j9K+H- z%No5bX|&ru{QTJCl6Dtu`m98+-ruf+ZkmaGF0^*{Cme^>D@-lB3!W^t{0(ZIzO!A3 zX}pORwXP7DM1Tx}%6LquNFq0&0oRjF4#nn+WxOS0&|S8NDz=b8EpHB^)%o+F+jhMFCk@+T)6BBIDQ*Tt; zG$16>fGzTU4zdavux_zNv_CmqRcy4jTym^>mL@EjG?PzQpL-IyUEg2giyki9{cxNe zWcD7aKwY|=zaRb&x%a`L9k5KI@6RbGVSh|dssvjF?#Fm8O{@f!3U|+FUAHK6y9EThCzq1Ei-5b=poV5rjfFrl6YRRbxbAftA&u3Zh3!l;)~x)N8f4+9R^i;w_=Ge+zy;>e=co#t5&VP zyW74|bGv?E)$Z=yKT@4?2XmK}CGkc;VqxIb5MtQ90gCAoS@kOaA{uiCNs-)9*3u}& zJm zYmaV5`NjcK&^OW^U8ExByKN6LpIAO*+k=Mc*mh_4*M7T8keRC%% zv|CyjdQ-5dXi@?!akl8Jw(Z_~u!T7^DM33BbxZHwO4?9%q3Y$A$RJT8p*5V{OEG+y zI)YDpl-Z&hNZkbzk-D^4oi4sB?lB>*?9F@kFYfzD#UC*K-BAa9AgcFgXh<3WI zjOKH|y^k)WJcPEEWSTJbbc)3}$Wo6D-WUeiv|uLwjlU(j$nZ?hmP3K?uk=vnX18j+ zz$=5VN)hm(MPq7?KQh7EIw2#1Iy5h{Y@@N|<$}xk;#U%a$Sea!;_2dH?BqS^q2#0P z=wjqh@-uhzGrmWz+$&cekt=Po1u6!(4K9ehJVIYw!>*PwQ zT=^UZ^>Sr{T-hjBHo@S9T=`P2Y?dou!Qi!A`9`jMD_6dQflRJ!ktexrT-h&I4#41tT=`S3{3TcZhQXj* zIV4vSpSqC~v}%4!qp8Kw)M20zN7Ia>X~ogBVK6F=MvkND#L@I%U=T+$jH6A6 zqfLZ?Z5(Y*9L+9{W)Fk8akP1HIBk9$Z2^o{#?e;A(bmS%Ho#zO94#e|c0P`F5eApy zXlZe@%W<@H805v#ZpYE?#?kJr(zWx(_>VESA$Si$r)V6HG=`WY}+ zUNc~>GGMMYV6HJ>a$pc(zzj5C1{p9n!ywFn8E(LgFktS0L8Jk5rvY=90dqGnV1nU4 zn(%Aq4!Lr+qVH2TEt#_%H63eG8IDZvM#SJc2>>TcG@rP*4QcEv`e!*h3K?h9kAR1J zY>D>4qt=K9ij3K4w%VA2 z0R#l8fnR`RsWEP_sM!~Ni;%Yxg9tc}06h3jAcoI@X;W4&l3T4WK3PDG4?h-cwQ@kkWB`tz^}d^ka*jTUi& zP){}TXKfUW`upMoWVGnPMl>5GFBR#a01jE;d&^_!qD4Empoi4RYI-PG`1e?cv1qbp zC~7g{&ASzdtPcU+XRxICxayZ-VikrE@UvYGfA#{Zl^EFyBp7~Pp8r{aKY%IlvvP;u z(cxoMD?0F#a{JFpAAD91T!DnWzptY@<_`RL{(FpSWg2|%uJAj29WVGTsAUDR5x(F5 zo~!|`T!8QMzbmSzq3|vK@99f)|KFEh3g4w`7}}t*4E|dhjFRc$s3X1>zQ0x@6pV&1 z;su=H*An>X*Z)~jo#5Bs6?FI*)r!`*KhOHJG6Vjz4F0bCc^%a;#{YASYK8GXD;Ji- zr!DxOr;Tb|fw=$Ait1@A{^x0`mB9bsO6a&EMg;o%m6o?^ymMs9q~vjHkmW^u57J!{ z-aG66!j8x)eTvIEIcT(DwBfgi$q4OB4+>Sd{2;)xGIwu)Khw%9I7Z7z&}$Ejz`;>o zr}aeS8Z&Mrf|v%FmLrS59NLR$J914QVo+2%!F*mhS#oyt)d4Nb_jf+cT0S%qrKnwc zcyI!epHA7TrN5nv+aTz>h~~7mAI$CC?`Mz+FOf)OFiBIcOxLo?I`(;tyx@43z5dYo z#k+>HlUB8dt{-|&Y8jQYFFMRCIhTt6RkMiJM@|fAxi#*4$9++u9?|I81e^-vWEGUf z%?TM!1>6@%8sIgjxx~oMHt9+iH_!dbeE|%mIIlV3))IwHhMTPQ=jwRy5~-l*A}wka zt!+OlC_{~E-y|P;Q`!e^dtQ6#Rp_3BURy4{Q2D-pX7?xCc|&O|uz&0ZLfc?o|6E0h z#|`3#ru&;L+3R28PXwuDMJ(BBykyB^r)M5yf^b2Pkij}Kj~qn~e>}5$AblQ@@)h7$ z3D9mA-09dd&BrC&bFDp%|Cp$C$G_S{z5 zw_Ewc0m)KF--7dnmsfYv*Y%^6-)krX83>$`T&Ur82)`vl9HS@`D>W6_iBy35Z6X{N z=wN={Inf-}e>ssuhT;>8jpN-+e!jq%E;a=@n~d8qE!=Fedyd5Ed6V-R@wSq8l=b|3 zs_{iaK6;<}pFI3{zJ5zd&VHy`l;i6~imAzcoRd;3M%ui%AH_fqm<;6=YM_N0H@y7H zK}`TIiI-fF{L6Q5`Iqoc`am9~L57&q78UPZvdof6ns`cp%YgjJ_EK3yV`>O^>GGC0 z^meMtOJ}OW`fCFZ_$UtHyA|7@y4HF8-d9Khe5X(m$3;DNJJ8+k0ubN z)I#E=^&LFu9ijX^-W9#cK}f6wFuOc=9Wi+Pgmlw1@}S_y7|`nRNnlCEs2+?!sv+YD z6$dHQ>r@6uLT#l!7O68lM9gW7`7i}o;r1k7`Maj9kH38g3+tzP8 zr<0WJJ}VlILJBHfjc9XUA5X2WPvaXldR9Mqj1-}0WF!QZowV{lqC(^Q)ir6im$qJ9 zqOtN*e8;#+hwM+gK61u6!#sfg3Re}w``7c(NNb(=0RMNJx}X>@Uwe{2qDWd6(^~RAOM%=|Jo~!G!JSm-m6wNV_Jm|0ItelAY@MWqZ&sRnjqo=2 z20BOx5+ZN5O+ZEkMzi-sPJ9-2h67XStTkdSo^X29napdu_1<_7=79&K;h_OaIp`%} zzl@yZ_r_ZVNE@uvIrEhrhW2vW{d`sWy=aS}2Xq$?Sux5PjkNY4dCibssI)I|p49B@ zIkw@KO}IP{PC0~qzU~)*Bwk&5US0g@wU#1qyVLag1?O%Drb%xy3&u0^#am%o9+*b) zE)f9+b(k7lpa?i%t(Ln`0+#Pk%UvzOv#AFqrzLZbnFfGi1JpQ~q+3Fgoy?dlI|M88 zW~cn*ps9*&2hI4cG4tw!rp7s2H5NB+CaWe;IhFy=AzZ2h_$S|cS#ZG1$U|>Ewxus; zfuUl@xsZ;3yBR2$Oh$@*t_hQQv!c0${m1A0w^GWtww%-$SD)Gp`RDWsYp_UPy zW?za67bm$9CJNQ3V}q^itYKxkwcVQ=9coq1B_7 zOZl;G8EKu1I!Ut!IpF%lS0_n(glX@vEZ_n3b6$K1F=0x)Evqx+vjw%mlkr;@z5Fya=Uz3 zb+EUF>;u$tTgW}+^lfUnM%3xl1ytZc^`{=xokyQ;jZeH8F^>+8Q!Y@K@6)t+ThuV& zxO7w*_@rOE?YK0$e>8(M)s&$XjE7^j97d2{;1SyuLhg)K1Yagkw9Nh#~ z3Diw{aLQv=<8jK?z>9hOlCjh4k5e9xqfEQ>c8_{FG3=BI=eT9grH!7aOk&bb$3*92 z2>au)dBz8OcBG>`{Y@p5n47)F&mtuh`+!3&DN8NEwv-)L%AHDCxA5EOY>Vy`)1iBT zzJKPn_;9D)=xGW2XO$P4BpQ}aQ8n66UTyj6xu4SZ9o~zbFRQo?8l$@co;qJ;UAfjM zbZ8r^b1|=*N@5sTrs!3VDx)6(j;Fn6?u~isP@i0o{wcEZ`p6ZB^Jl~=W2Y)b7hNlF z(Po{M;WvXl=ZaHIgLVk0_kv~|t4|)!3OEksRit^~V#2A51?i6syv396b&C2!z&+kG zo{ZPcBkdD9Zsk5U@N86DeMW7*Vf~Nu!Ps(q3PH@HCmPI<8m@adkU_AiyM{YT7;Lq} z+53@(OWmma8Q-=`M>TY?i!|=NiN8lS~DC-5^~W@>X16$de%&RjM% z=cAm#A7rSUS!ZF#tG1_k&2u_uoV0Py^M^J6UtMYMUfgusG!E7 zEt>xm0_?oM@A}`h?p@rE&))k?IeBwN%c7oF&m3KD`9`r-F=|)xo70NTLh&Zn?c)phRz_^d18W&F(GPX{79QPA0X}J_g7BcC0NJgez5>@)ktnn;bG;#^lVg4vcURa_#_La(1?zk2-}P@bic8X8 zRCJ5`PJcsjOrNK}r+-(j_sEcJY3cl&dM=c;-}Fgz-X3|>(2VgJTv0%ilnyEE$ugYt z(K4V6$i5f=c8qM=l_@0CXNfRSS$l9J7zW2 z*qI-d9NaH(p81`HcQY(0gYvh9?h8E~$`yp}$Uk^)=JM0|1^Fk}%v}EGzvo-kxl`BS ze|yUk?_oGv<$ThN^FcF8=aXjE6lE0QMJ{*zN^Ksu3+v5|I=H^I@S<6G!Nvy}T+e=f zuNT$YvcJUN`K;`Tt9-XjT=lAW+x|d)&4)+xvzC1*O^LnU)LU{n_su(Hd}-2 z_es4JYb&23J85w9VO+a=4Q|RF23)T=+xT$rqFKZ69*V}op$0b#`~$8JnjcoQ;|3QP zy!E-J$nSN)^+~_JDat*|+4K2-V_rG8p~{zUf5ru5tAsJapDCqJ_NDmgTL?+1ODAO- zgdZ2y%jZ3F=W_cUy&6pw#uefDbdKowvJ=a4=Z1LSefxMxz{!D*kKWJX(&f4Pd+2BP z$vre)|7TmFdr)TgpfX?IpP!x!{p`z{TMKIs@|bDyDD(OFUB~6eio5Dn`oJsRQ}v(g z3j7zJQ6F4y)Qf-B-wALy4z52wJ1{t2^6zs0xf$Ch;Hkxv{N|Q-oqwt#sF68iOSt?2 z*CxncF*@{J#!$t0MT%m%Lb*Y4DZePcVc8wU--4o9MbxJvWqn1n;az%Ux4YoWpYId* zZ|FqDthic=t$T8VmVGjEjHK=98(j{DKFBH^(C4346_N6=ADwSq*uTqb-?;vr<#vTm zesp`NrPu#fH@aro8NTB5Z*4x545&P^zI^zD8H#`_^?K#*$CJ&u&btPuRKG5$L$5(f zA+Wz=jdu%2tN$hTI9kWsN8nlu%3;l$)^$t}9!}Oqq>be^I!2Cryd-jX&qU`_!wv^< z$pOwca(|_76ZBiag@AfX>}`VZEcpykli`nDf>3Q^Fj>aD9^V z4KohcW6F<);YOE;sSTERguV9?dVd~UdDn|0TQ7u_je5U~n>@Q#M*FNjS$#7q58P(d z{W4=?#=c3@-=(e-eh{{Ww9rc%i}!8Uk@G4M;t5*-76>(3hm7m zqm{pLb50A7pOmK$>F4$1_VCDv=N3tMdTPI>9S#&k?A^X=L5}jz()JT1I^P{lyn34cnf=TYDFrNMz-hl1;OI^uP0{norqUcG!e3SAfd)hNj^2ruH0HxI^5nhCC25$AtgXGas;IFJ1X z9GGSH{VjL@f3x(?^O%wQlp8+pHhBNw^`3sG$9>@uc;LXkm)XBb@wexJ0~cOe3lFY7 z;HkIlIJx=&H!E=c`rIHsr}f!}`Fv3Rj+3({L|?yd2%m@Bjl1B2e4qUH-=E$0Hu&Z4 zn+w|ny()kGzWqA>4UVoQ@de)o4Lx9*+kR~MtGXV(9zpv|qolk?^JUUHpHAqrbg=&y z6HqO--M4;y=g+ThSAGb;D(-pJ>}yh9ySCmq>4|^zsrtLlx*n-^&(hT~r|SBc6z83u zYcJ<3v;_@>E4u3zh4-%oh2rdTo%|n7r4WUbBZMW z9K8SSJN+L0F+G>3=M&5I6QX98*{u^Jzb@m(CH`7=s_bf+tqkRWh~t@Kgkz$k zxn8kD)YSRNvaXY}+x_hLCsFWe%}q{u=%|-c&)fAFyOG`p`?Tsdp;yvxA1~M+)J&O> z60Wf;)@i=;-s8<3^Um|W=UtAc%}WB>2J{NxVgeFcM$exYurqXXKBvf zp#7?d`Qp%x`mj)L^^6gr-|ACC53fxR9jZSbn$%uV6#636Q{k`R)Dwls?VS}0MT5N) zBPaFlGpBD$N1$^zg1yLx0o$#3+t0J*;SM~hL5RaWaUY_8xEuBqx6>h&f>-^h!g${C zvtn}G!no>ZoN?{r`ozV?EzJ5l>x(!8Za(FHi@Ok4823ExjKwc;Ptw#=T*t&$xh4At zC$`K_PFyM^u1n;q-}U<}aZgIal)#jh<-%n=^tI{c=#=t2VY};9_A^ts)A=2XcBWj) zcRmBPB;|d|2XA3Xf9IY4z9~xOziE%I$drLaUazes?XRC5Eld#>3Ev3ZRv}Bs5v~aj zg=0na^yNBby+_^j6Eeo?ACFfSo`~C&}ILCASusfXUZPSd78FL){ z-q&_G%P7wE2*wK;t$LO0ciuMf(eAB$+MiLvLATbuF`S^^$umo0sF0b1V39XqWuYAJ4d=84>;DWq>Gj zUfpf;>h@}$Dg>@@zVyWW`tkC>ISOt6Rd?3sY~qKBe7MPZ>vO_;ug*Q5d!=aJ_1?1_ zu02{CYSUhN&f z!-OmSoVPz6Za&+y`&ui{l?~*LWs%ExzJ5>9=v`M$6NP>6I$s@f{LGVAzM>~@13U2p zAL``8bH){WZLoi0ut&QBRRW#q{+{qOT~vV8CN&-tT`^SM7WZll}@bskN5e@Qp( z-R$CbEob}2riAr!);peC(-UqDo7v>E_hZAmdr#s@$21?Sbc*8fq;p)t0^sTcIcYjQZ}vrxZDyi{hcXcHT#TWc&BGMavVp3^!!@?cXUS>KND z9L%|UWW?m-O%8kGSqLNdCC!^MqVnj=oU8|%P-tocl?#5H>MYPE-BLAYchJ=!NFzUkv9evYv-Z>#S`eKd$sm2#PUtUJaDK zxswhEdloFQTu$6!kv!pPyTsm!LldJ1Z~>!7sU}4w#uaCL8MkrZ!J%Ac+)0%%yUqmX zV+(>qPY7Iqabepo`XL$h^_mqr=^MSr8olS=?f!0m=*!JwX=SUe3%hiQ!vk5yzje62`(m<0t@&uqY#+lrpJ_K0SHkbx z@wEH<)+c^>if^QxFo*Mw>xItuXkNkBQ1SL8OISPnvj4q`5*(0uI5_z50ZX=}^NMw;XYTIf+bLK7ZE;w9^V{Ti&mZ)MukCgvusoUmfqp@Vl1ueYqp&&c0@$#Ocs!}33t2B<3^M^pA>*@y9M@ya>pC6RTM z%8M0w^G15#-k2U-ux<=5{Br&9cN>a$y!UKdi-dL?3P#|K)m_$4>ayzSb)|cCKNL1&^#=eW_uN z>&c3oSBk=W>YRg-UDr)ra%b+r$YsLvuY@(;*55s@6nF2ie7et>bC#4VDL2n;ym?O9 z?acx1m?is0Cqcfjch1Gz%@@@!yLa+}qd&*}v5xcbteZ4A_aFbf1^Z9m5&jk`M*1sp zu&V%LCoZt*yO5L?m8VXNjP1dQt1 z>Huzb>g?#Dc*A?t!p%;tRBM;5xZmb-S+8}|9jzW+eZX-|wvX@|>HACmtv)0DujV(K z{E;F@k+U1uHn(22{K1+3l&4w^uqf|epI+uXczK}A`4URrGk*7}Tbp)?!s=X{uyJV; zcf-)PZXfShQEYCSe_xHqi;5}vNuS=YeB}{eHYugeWsesLk%2*xWuwY$lgiqEu`T!A zsn)oVpKnF*idK^J^kmOg!dh*4;tMV| zz*{n6#Z3RU!UGydLMU zb}W9xD{_`jxLUk&|6e)fp87{mgY?~2CE=%Non7%)&X{BMr<-NkPP7a8w^nEEK;wMB zXU88t>adKD?!3ZW`l!Rx?*9hcmJ1s^&)emSM@NGD?s;;eUB_H*asNZ1Kde}+IEkiX zf-Wh%_S{#F>uSwzKN6SGJoVzv1a&NqReTcOd-$VT!HV9)IYrK!(7O1)OD9|mz0mYT zJMJs{)wl+6D-U&EQSsqKyZOPKDfDp1jGQO?H=^`E>L_|rOWkPsrITu7>xt{fOk6+W z3sLJy3+I?Ox4&B4B1zwP;_k~!Cv?nxGIH(Iu?Lc-Ip3}2EX0q56+OnwCT|)iz6vY4 zgu{5+sH8Jt3(kd=ZBNPy`=Qsw@xO0RIu{n(HA$?Vo?h=W&v0Q?l1G@jebSQHE=ga6 zb)7NRm{c?sJB(2W;6gapgB!|4bxCqWj;bA>6gEDr*1+vaULBK`d^uwI%%b<+UvF-2 z*xdf3hmSkv&I+u2*K+qchyJ_W@$?@>Kdk-A*F68=zDCOzj`(7R&nTJmh|**6s(xwP z4;x#L_Q$#Om*s=gfBwufm~VLG@@Jk;mru#Wqh(${g&({@`xTZB47x!STFgoBQykkiHN$ zubLt8{89+^iB-$B5R$#k)7Ne8)iLq>n{7wx{^MzH(7>ale8I+}lZ1(hUASK9zV$?b z=^g5bBE9*N@=s?}JJ&V6UtLj)#$5}`U;CAm(|_w$`ETjDbws`XpH|&n|I)6mD8(0T zoZ}Q#j`O~p|F^ElE4_)As39L#2}i=~ zi5}E$`dU&sbj{?3b3Gm9p6F?Uuc*n9P#@7bKK+_R)XK9#&-&^2I$=&Odx&az_QZUJ zHxM;TZ|o-$(yt5LL`WO#a* zSky_>ljFnP5;KwT{ePEv&-A`n8?}0J7%BayrlQ^+uLIMI{Y5S624E#};m}7-MZY${ zML3*uX*uVxdwO_%QNWQ?%|wES$Lo;v9g!kw`X-e~+`FXp)!E&$)uC{_{;Oj&uIk`5)(JT^=!j_ub*iiSc)I zrKsBvdSqyudO$!f%ij!r|^ zV45id_^XhPH5oH96_ADy*CggayngWH8rNiOkU&VY8Zn@s-jGfl#&=Co1wtAS8_e{* znoor^uW2UfFqB^lX<8#zbo3*{xrcT2qrx&PfZ*|mRTC6~R`(#RXDfPs4#5NoRn63B zR%fUCqP8K_2qI-&qoYs=ThwMOGZn;b!J?nZq@M(|nnPNpLRMCZ;F{_}bYvtQ=@2?e znu#Pa{56s>A@iDKLXhz?xld3wG9eH)(Q0HOt2097CL=Pc`AcphBx!yWD%$Kms7HtwC^Z=cQ=Y3)G}$Fgw<39Hc{yh&m4C z7ed&4q+veRK-j|9qHDa1-ffjdU=lAvLTmalA@eWGIJf^)gc|?o9+G0PXb2n3guymqll2Ie`r&|W&YY?it+r1+#LV*z0Q5rJCNyd!KWRfu; zV;~tDGMOZkiOiqw8NAqf+5r9~30V;e+~Yn$Dr9;=*aQ_KGnr&kky%PIc4RUkY$@hp zDds@fQWV6UhVlwT^^XRjb|5xEqHStE z!WpVrLTSi+L^2VWvzZXK6b;DeNk)T=iDWX7Ia`^jseg0`-60_>LhngOW@P;KyAM`~ zj2yxyx)7NmBx6Tr2FZw;#qi5qnd1q*cx8FySlbB&2$GScQ) z_avi5&*vbnt*WyAQDfI=1G!Zx2sJWShnzK%4w+C0%UF^51j3ew4U$Ggl%eLgkbbP_ z=P>KXx&6x!dPqVQ2=Ry92U8&v24SBC`DryDOEP(w`^6BpgjAUO4G^}3H0bAuTR#{- z8690C9cdBrIP5-{37J+9HuolEhLKD%2Ac+P9+Yr>ms*k0LEOH~AV0dd5;)OzHGkTj zxIzqe55fkMA=BW9`vghOsQC^MmQf+|5y`|NlS(ogWOkB_phd_+LI%voa|oLc8y2kZ zZ|)0Li;g-#*y_keKhY32K_+BUNyd)MI+Cdn(6t4`)>$@&zX@UMOcFYj{|~}G9aeN* z|ET-$Hb^@nAyzd%0Kz6nv_s9$AsLNTQ1fd^NQTe}5;CHr+azPdB-TCVK8fNMF?`)8*HWCu&s`+Ciq=Gz!u(~A#%cI$G_vInS@Ess*_%yT{ z0b#9FXtj*A(qa;Yb)d>UQRPl10ii4i+n*<(Yb%89K2wo-L^4`r{v#O^x^9{6KKEu! zP;UsEdmZ|jDuCEvndoQalbV)!N}+?Pi- zdLDEF^$+V>CXL|}5n^52(9xF=){*S2n%_z~68)g&FG1LvPC(`c8He~*Qu%#&4spg+STGsSqL(g?`oIPWF*YGlg zdVyFo={Ys8hOmXNLIy8?aO+5o%=XHTs{4^*g04W=1ZmLf5rp+DN55M+*%OfoWeS;o2js}XuhLRy3*x$aY)hD-+tn=>OaLrKPj zOcKeMk@fVpQY1_``jUeagCf9~0`BKUM0TDqWE7!dga+Qb-a)U?+R(;&$%DMjKz#~hp^?U z{!&o#y$Pu>LH!_Xy(Xa91d`D}CJ{-7Oe2yCnMouKGMk8K7wVsRAhv7NVTZaN!Zt=N znw=uebPy{MD_Wg{uxiJE%sY}XLMn)uAOd&ZeSu_xL`2MxxZ-s*cNIWvs#OS0gs|lyKaYcm5VkxD(DhyjTZ@H|{X~+{>JVvVg4l@I(5le| z!M&qWP?HPpVu!RKQUM7dBGM}PHblgbc0?qQPDG@T&2Q_=~R1 zTyV{O2&h&SxkQUKR1d;-v62gFzAc0;MiVk)AnY?8i_9#Nu_Ch_!amYkWU{L>uKGug z;Y&emV~l{56S1KqJLxDJ9r@(B*T*WfiiEI!VjoD zvty9zY6Ih&(X5m-%Z8K_u|n)b@*wYs6hJD76hgR5?yEzF2@*kSwg!Ox$4Uo-`|kj3Hu&d`zSQ@(B?QdY%YjJ&V4=G9wv54BA9U0x=SiLbel;K}DFOPXXPUGXbe$anui z83OVnqJp$0k^t#SBoz_`VQ2kykP$?*n4nJ}Y*%f9EX+s!!^jHy7NHh3%fp0@_CnZC z%xuVMB6cjHn-I3st$^GiB3h~Bi-?FJ4{+bETQdphF$qZ_B}8P9G9n?6S48BHw?rZ! z{}E9^91yqqCl=&+*?m6LkUB&XAoYo8Al^ihA&rQnLYfdsgS2ppbN^rUg$oKGAswU* z5d)+h5hJ7%5fdboNG7Bk5i_J`rLg)3)R%;;5CxGu$N(Y*kU>NWAw!9%u;s@=SlwX5 zb|yfu(an(N&pi$N2I@$vnOC%QZKO$;KB9R2hr$jW6 zDMXSXGis!={t@lQk$Di?6Qm-vx+dg2{*wk-Lqv87KUE=Yy=sxkAsHPcmxuv!o{4k& zmtpuzAhttIK-VP@wnH_dS<9>LYuW?}B9aLSCSrzkAd(H~>?RoB3JP~4j?05|CsF|E zO{5UgkBAKtNu(4KO~eiv;w}PL0UG8`oM^R@A4x}sheYI%r$izke-lwbUJ!|eycP(l zLH`g*fV?N7f$-Pd_XNq1T0~MI^@yZF8W7P!e6Nw?KRS><37K%{u^EJ2&02u^rwxQ% zUaP|Ht2c!0zBG`rkbs&xsuZo}Ls%W9Mdq7psDD^9QMaM|PYAI(&VypCN%3sI?9AZ5HUlP zM6w|&B38&?r#ScjuKFhr6iY${kP$=*A!;Hv$VWsMMBAtM?_K~&xoW!o)ghRUJ}tk-ViZB{;d{Q{bK}u zsHV#L#{}`X?!LulLTVE+L%fJ&LmCpXLi~u>uoN3ZTxXCg>mLKkjR+7cKJ(CQ25D9R zNg+}QnM=e5SwKXzN6jyW)Ew{NN|8xt8RzzI2Yt`TSrMUG25FXuNjwf=lURXP&qyng z4y%KR81j;c93Sa7km}tR#+M)@zTv*8r4Sz?GKhqT3X|9r!saXl89B+wA-#x1KqA~l z;8Y-`J8`iP6%jRLFp&gEED>>F3_k+Gt_%?Uq2}j9*fP_g)h^OXNCy2xC>64oNE&26 z5iR5p5gp_x5d-7|5hEmrh)DqD63T>}Ct`+NB9aZcLc|KWP9zUYrjl zHiRA$DTO>GVu$=qM1!s21%!Q>MPT83-*hkGE6^$u!j2P&)}a20CL~^i0-1;eGK`26 zGLnc4GMY#TWE>GWWIT}wh%kYW3N(pGEMyuHHDo4{1juY68pu2%$&f`vQXxwOLTRAo zM6{3jJd7s8IK z6(DnkWC|hIZ<6Cb321g3A$G-w4WSRDSt-QhmitCzhtwug0r4UtT8r-mB4UUi#I633 zfEtsK6w;iC4AP272&6R;IixL-2uMdFDo7Wnu=*z!)RlzPkRC)5Abp5vApMDG@llL| zu!DFSR0-oD>@wYCv|3Tws;2%)1+69>nb6T12rE9dSV6lX>|}i=ZcMfdxAm!WO86g#EjG+3ScN=N{t>S{q`G9m1Gs8~$U8AxDFCbJvv z|9U_=vZ13_5LQTuep2(kciex?ThVn#2K}H9U4v%bKx~sqhV&$o3h7HE4Wb~T!e9d+Y%m)J zn*d>BY0+wfvz2rI?>Yceh^;yu#11y4;scWfVP&Ka&8|6{)wD7|ZW1vP9WllTh4CNU40CU@N@QG?~t0>YMuG#^I{Ay^*O=f4Wj zYzApo2uUGggUlsT3RytJ4p~g30wNF*eTxrpl~mO~V$ezwvSQA@fv`hMcC4TS5LS|u zBJ(?hl_X;MQ2r^&NYL{K2wP<`WIXOw_2a64B&}okCLq?46wP`=+?ql95eb1r5|Klq zi9|q#5K%#f)ktOi6AKzyL(cj~4H-=&0Wyw=1~Q&VGGqdgRLCSEX^?45oZG(^G?NiT z2boR80GUU`2w6nL1X)5P6SAC$8M4AnFn%^@wHx7#7-S8RJji+?1(1zI3L%?`*dSYp zltOm6i@@1IyWEMZfc!*6v;l`?h=?KkiAW%ah)5wviO3))hzKE|971wPE|Cbxc_J#v zB_gqqD@4?g>qHVDw~1&3&|N~wkYXaKkcULlAWw;CA%7FmL0%9sKwc9uZb1F>4<{jN+Cf+?2uq06_5@@ zLXd)4iAw*P=VFIC8&`2U`$Y>%7ka0vb zknu#4ArpwCLM9POgG?(D+}EoXG?RpMkl92Gka+Y{rI1%d?2xxaDj@$65q*aX@0d8Ze=*4OFZbD;6`|sAEXTtHKZMp1V|?$8b~OSWJot6sgR!TB5-M- zzV5_nAqpzapHvWbvaJH2@?=BBhWVB6dhFkqXFpBBFGZXhg)2D?}vesDG{#k|K1Q zhzSe-E`%+788ZKnObFyX5jli^;J#5uKxz?DrKA3-M<^Dd21L{lUm^(*e{|J7gV^3W$M-72C%q2-`kHn{YszWWb`x z{YkcbUigABsXn%R))Pco&DD3?^%Kgsx*4Fs`|nH`~dq?zbv zHNObLHZ%jy>}`Z}#!_@ukuqdXL)f)nAt*KPKx8!;D_S`q&ZEUu_rF(Qu+9(N7p!PA z&WI5)VG_GT*jJ7inJFYAfy^Kxg`^OXLFQJAtNsZAEvTl-`bQ2~Oe6v#5K%$CBoYf* zNkk3#hDZWLUn7>G!2FNc=oZG(f3Exqn`yXw?V8el5u${fUG?qKF7`&_F^O z3>E`npWp~&G$f;fOeGQvNhYF(%p#HiNhP8YKnn>aL(+((LY5IpgJ_9pA*+b!AUYxj z$T}j%EvSDCgiHu+BBI6)#0X)(lrxbzNit^0X(HK>vqY?r3qK`*GiiENu1BqB6F+}np!-*6?;)xVO#t^YVK8Co}Kc%2gNXQPE zNTdQXnTW`!&d zL%yw)n))XJ^c@LlAX|teL$(n~h5SGy4e}!u>_2{nu>FS?nLJmfy8h9DE|X>^G%Fy@ z49L7886)IhA|}WOBAF16C+;6SGo*HvR2~1x26>T?71EGM9>kAG0i-dJLP&EWHb^TX zrI6Ou;;Mh_ptjXiS^rc(Iua3W#Rrdw7}Ax91k!_u6w-%?4AQ?wD(jyRP*e>$>mNB} zAdv`23=tJ%IFVRLJP|cy43PxL$4s2tzXtRPBS5PC#h^QbqWte?kbEaTq=f!cIciu{xq5 zZ2u*d#qd*zXi+n+hOh!vaz)MWg0NppDzv%@VdocOui*JV{4;k-#WZ$;uqrkU5=tZw zlh_TyCNUXZ4~DP>YeOc5WK5VuErd;?7LzD!2eBWW*`Ry~J9$unjvNqnS%z%J0KQ3y zdn-xzq5MDyo1hTL|A-hciL)SVDQYoe-wGf$uh|HF2VwJ}L+Av_s4;vFq!acNuHU>i zv?_(LuI-qOhNbSaAr6k=`$JgIDoo;}Qq(_es^tiMju7i80U;xVWfG9tPco^7;G_wouo3M z)out|WtnJYfv{r$HjMQEBCxAcveArx?%u2b&6+{jLNj78C4|kH=odWk1;Qq}02v+0 zm@u!|5VoQ-A*YYoY>W(BdUzqMG?Pa$mcG((z}xnJjIMn?l7tm|w@3=u12IFUR^ ze5KUXKLwyMBvc6bn1~JX36WCBL?U*`WFi%i=|n^s_@Z)2K-JMNF=!46Ng(sfjy&BX zI@#F2!m)G;ziyg{i~F~vd_ZT9g55LuqV#NwsGGl4HpRmCoG#)TmXt^K@9ZJ>pT$R~ zi%yAF)Yi#n^G~Ox>raV{wauZk`9agu!*fL2>)6`N<}+uAHuT%rZ^M1j$L*u>Q7Xm1 zADtoM8sP7E{FmbvTk+N&ydCAYSLMb>uiw7nx%5q^MLh)L*hb#jioIO@w|RdxG<$r% zaE$r*q27Dz-kN&s-un^1_{6+@BYA9Z+{j}@3BRnQJh!Agifa<{*dG0=Jn-pDvHvvx z#^W6&<+7!5Z{H*ty#M3y@|T2Zar~P8ugWF3_wi~}!2Ez$T+49ZaX#@+IqvSTSLN}X z?6E!L*=`O`3||=V^kvXvyT!iCr)i@OCFQAjG1a^WyL|A!$gGzrIdRQ14NCUHS z+ywnSKTxYcZkjdVf3=_34fEK*p%Ve1f-cH{e`FeU0K@=50RkWo_<&o3KkGl~s8~*x zpwOHIXUVfbsU#6#pCh6r%YIpkE7V9-v z{?*vP(zkPl?h3N4*J~Jq{^5NLHCWE>T>-W)^_uNa^EX=;)a=jc+_lJ-Mz#x(KcS}o zU%s?L4J{`kTVx+au8cyKI{+~4FOAKTwa8)UWzLW684m5*o;NWB(gD?0unt?sP!df9 z2yL(<)xaxf(e6;&)Zs#8fqXCkBcQssqm^qaK$3Incl*PdwZ)coxW4f5X48L=nO zcB$ta0&y7v0HpWv97CCAE?9)OP%>g|3+Q z6Cf50=t>SQ>7TPn>}lIdI<7+&G61mut1gMl*CK+P`{DrG$K<;hI068N4D2LnBV?UF5jY`Ul$?US^K7FQz^5L7`oF!MVIe?DbB^z|&lxP4 z#T-p?g-9RN4*u(j!QpF>L2@SeUnhf{bV)$}8KhStvL2%LoAe`r3XOJ81hzS!B@3A@ zQI{a36-dj1_HFS~L^Jd~Y#V`}nB$ zp@<41|6>jU;4y@_j{m>dj1QqmIYj<_SQ$iy!nXalW-cE?kpmF<9}xh#5HWOu4=Z)Z z9fKI8!bY{qS&-+0e}*}R3jqCo`#ux?yA(F&=>H&%5SjcRWEyNb-~S-R5DEGZ;s9GN z{69!GMArTX>A@ki=|9jK*qGb?gS>=D?thSZu<2y~L9RmN!hev_u;r@%gB*p(?f)R= zALfQ4PyPd?!p3~_ALKJcH2*=C!p7|R57Gz`lhQx-(+p-OlJUr6S3m+6L?2z9``Wd+ zJ&{QFFi;KV{En`jx@c)M;yoPv(ncE0;KEqL=Yu|daIMjG%u5VMgnVF+?SyUn7&w>8=|Kndztq{rgg8tR~ru0F$cp$Re8|c?2 z#yrUQK;L?ELF%i%4&CF_aHNS3sHO61H}m;4A#!3aBn$kT%m=aaL%QZc_wN7gUO_O< zN9y1_SppZjC`jh8;QuXj^@HI;H$(*1nD`?^PQ=Aw2Y6%QD!Spe9K{WU$e@LA#ayP* z!d`||4?Z7?Y*+-jtN!Mug+gw(#V~Bas;`0E>A$=A7nlY6$We%7*6=|I4SW{1aaYG>@ z*2Dtf{M(5>A7r2(aw!h_(D=6xHdOX9WXl@pCRjm}wn8U9{&pf<-s`#F!C4VxkdfKi?ihBM$&{YlTenWO7SbQ2<0LZtH`B$E9@ zR94SLat}kI`F|5d$^C?gdKnlMVOUH+9`hrx!W=l`*NhV)79wDa(EO1j2bf&seZ^@@ zq|11Qxe&Q1g{?UEpH|G+8G!uCPto`0U-O=fQouqo05&g-FtmY-dM6+JgrNko{)|Vy z8uBZY1CSX;Ga=QJB1kpa(pamEWe z!f*M}o@z97knjDjK8 zYA)>Fy~&0)U3fgQGwkOh#@80;J}6@h!?H|v}vIA8KCxCX7_}Kfc_;6 z>RY6-%=&>HbwIV<8$0Uu#%jB7cGN-DcBZaW2Ph12r4FvPb9bdOpy2CDb*#2q>`G-G zuC^P=XHjjc?Xq2|^)Hb!>k-v+0XR4-_E+m*_ywtMMH4Lw_J7glYz5EiPo+kwY6 z*zK&go8Zi*PO7$x;doG|Roex7P(7>dB3F4()6p{PR1d0mwO#0559%&RU2V5p&K^fy zT5Z?pK^-b%tsT}V9j2T}4T8_|rG~&Kx%yHws_mxuQnR42z?ZrQQu$I>Lm|nR8c}Vx z)0Y|vh2y?dakU+O$(Oo!bhX`0U+R%+yR|R4&u5LJ!kSP*srl7*cA+z=dySH+?Z$_W zSXfwXXBZetErxDFDK*R*eM&WmYS+RQxdVhG=7p}$3+LTI_XQ@l#vUEWLH7aqX*wA8pyx>}meC*4gSS1$u=k~7aW z=T4M+)mQezwRhgGs#-esz{-1V55KN@6rT_>NQkrzNTS-h;du^&+|&gfC`(>@esnU-yebtlMqSu+Cup zGoZjXe$w&NuC8y_4q>Wj^(NIx%APaXZ@U}Eh4gl4gG41%wyne*l~S+e9-W z{u=t3zsG&oMf3{#78$r5P7me~=8$%+FLN=|Ij~(jtX->ebA3)5-mWd)z)VjA5v_?a6;I6z~o7b-04+##m zYY(++DFJ_Y9fU#QXuI|e8qb^pBZXU|+w9|Bt`Vi8l`udA#K6b`+vnK(t_8ApUtJ~6 zmcR(@6OFF8f=7FnnW28wX12hy>>1)${ma0!Y&}ft4IuC{b9BW|(Ui)&62I!Z5-_E* z1!h_#Q!0nRbch~sf*B_WxWd#`4{Q_pRd0hu-b0S}dX5T+BNktq!GjlFasN~(k{TS`lsF`7TU%_&t4*a)h`i{(!B)&Dz}vGB$y^iAP^5T@sgBom78Dn z7Cmqla-3zRbZ>y^1||d|Wq#F>vXt&J2$bo8SO~;I;0r8@f64DcU z^BS_gf$1AP;10{U!!kP|uu~6=cJr$q4INn!;a9y!5A1`QeXs}zDmZQs*bjmI5TKO! zRZ~hJP%ZMS9t$~wp+&IX;<&^QuRabf0;8w9AGN zFob|9OilF`6zB#8x?uqU3yEV&w_ypifE!Ea*g-?PJlwPF zCd}N_BfFu+ZfIcvsVwwGEFgsiq&V$cvqfJsD=1q*nF9?=MNTQ*MZPsoP`>C}Gq40! zYjKpC`O<6E;8%4>aVvh@0`GT8n*A&>mFz8NM~{CWBzz)vscl{|=r;{JyZ zcIm|foezqkc+lqceZ6>S!s{sP!PfzL@mSUCbx=J1$LpNt z6Di%rzg}nQQo7|1pYHTfwr=cDn3*T~1QZwbHQ8&Ku^OF0 z${b5*E^4om$Pxn=b#Qt~L5ZP@TG=O1^$9MZDuAl{1aJBT#<;PIdX6YgWa6U6k$eOZ z`JoxYn?f@e^?TvjK0%1Ni@F0-Ee=!lD^=T`hh_T&7NzQM&Bme-da1gkPjIPEU|Fgz zJlQ8GC{>rL%libEVL7W(bw!_`vQJ=rrc{jvI0x92s`t)ONu1`WY)jS8)$i1HrRqDV z(GE;+X?V)y>Qf=AcrwwVTs;H-}Pnh+CA~;8JyJgi}q#kW%$D zuX8#^sd|f-({3-vQuPI|S}$g)dPYEfP{1EL^rzb(uU|U!+TuPz%>Wuo^a*OG(Bja# zKEd@RG}Nh2FvdBRhK7Wx8t16;kvJ5;(I=>{p`q2q5u=?|ZxFO%j;eBwii)m4uL?`% zsH{-*bD!Y+pWZfTX`i5Mg$=rsroNkDgI2mdcRPckiw8us-n2n&omFn|$T8F$r z%$Vp(XVs21&Z^N&bS4^u&S#ai9;2Af~NB>C|-=I7M;gb%}lhX zPtdDz8HG0Y2_9OGNB2a?BO=GUp-mCWh!8jQQJ-M<mF}zM5ff}plsFe}u5?wvL*-D6F%>m6!A=+o(C*U!? zg(%r4Si@W)j6+}b30{{aqF?$1d74ETIO?QEoK9AILWCZ3RxLX2tWt^4?moefh}<~zXP@BL)?Bm%He;c)3RdPCrmDeI zcQ(F%gQ*HIRk;LxcnMQI!c;91^pdlxG}~GAL4s;9)ik$}G8A8!6_6KTFGH_5tE!z< zHy6v$+&QWhZYeT!zI&KzL73{O46SumZFbv#O@<1?RO`Z2uVrZTk}y?dn2MC4#>T2e z7MRMh1f^pt6jSZ@DnW;0s^OR_vILDjY^*XhR;8Dq9nj3oSXEGhb{ea?j8*#^O3<&y zs&9BF_72)5gsGaGRYrB_EjU7NFRVuw!iqYp{OazZMVQJGQ^nSy<**u7m}*xYI)9F8 zN&OsEaUCkw9o5mB(ZoRL)onNpCe2Yzo}=0y(2T0#Xm(buYeu8rI;&cpRXNRQQYW@3 zxf3gEM%Ra_lEPH`2dPm!IZU-7O!XexrFLSQJF(#qgLY}1SZV}18dHsdRjP?VgTqt{ z!&DhUG@2KtS`nriAwm}&bsOD@J!wXFbz<3_*tcdgG%8FL8>TWAb*dRW;KuXeh45mQ z{cLttZ&7au@(Ny$%z-)P+c|1d=5HLPmIV~!JaP^5)Z^5Um_>r~qN3&~H4mYHkOexh zKo_$pN*$%Xu?SO78XBesMa}NzMa{cX<58rDN#_;OSwLPFOZa?av3P+G@UQbTB_=@l=ts+89?`+|W@# z@B-Z>bycikffhXvsDll2fM^OmeX3x0+MJ&x+DiMPFxE>%fiB=jvT2 z=S6p_Jy+(2o_VNEktIh1q@)S+AM}AyCRz~3-l~gSg{h4w0J$H16vfnG>QM+_B@TqO z3RAmATk%gn@_xc8!kc+W`pSHP@s@2F+D%%ozM94K=6TV{yDDR@?}?^r3Gu1|adLF> z9!Zj9H+Z9M7aO-FXTDnVWZRzA?ox0++CbX0>wuVcc|Dwf&g!%UI#yz<^u-3Gl~#T? zAs9HT8{yyN$nU!Q(NQ{}){*vwuF*45mVj0sgpu*s z6RZep$H-dDY(YF$iaqVbZWiR%@6VTE%L)$X^D*D4mcjS5WDtnQK4Lep8*^7&4y>A@`1A0#%%9BwQ>XFv1!L-Cyn~85-Xk7p<9+9u z@CWh7@Y(!c{tCYLdcHp%P_RHLix;*y1e`$bT<1?$7Am{>vy~3`SX{-y1Myk6&M>cw z=D1jqJ7zcy=5S)ivj^_>J?Y9hq7*!C`*`w6)!EJCb?}JU5mOspq+405VjJ`szEe{v zF?CljRXnW0n{e<3@4^km_TrJ^Y2xpSaBgd_KUXfYo)lq!r(D5V8%BZI2%9Nr8uUL-!d2mZYZ88-YddMGv#0ratzTa2pdedmu<)RV7@S}2c{r>2>L2={sqG+*A%6^(4lACG zPi7~vz;@PQ)IGpV#&S39ngTvA*>_+x$_OBO*7MXG# zxT^kzc>yy&`mGCnzbc?~D%QC|)rr+F=C0v_E!@4_6WlWHP3|-9C$32k<&4bOl4o4f zFK9H+gYaJh29-wfl6c#Bh`5-C*YKKn-Fx^9zTw*9&~r~>ZTYgw-@W!QbOQa9}1LEH=G8x@o#NP8uOjYNv2+YIcc7N#)|9ubi76 zi@`@tw>akB^59-f-!Ox7KeF&@!&~hNPgl05PXfY29VM4z4;6PSC%L&K);*> z<>O`x=5xmZ_iEb5;d41RO?Y{L4@PVTrw}g?1bps;UcV}^EjnyTJjR;^BEZ^vz=s6O zqV54RGVmTqxCg$k19;LsFc;f_&9#htMm1H^b*8gJ^1o25o3WOKoEumLfxX3gu+kLE zI~vT4tlMbWiQNZsu*G`Hz!3RL`9}FJ`7ybpTwW)CByW>1zZ`2GT+FbkVN5sAn{J$P zqr%KJpJm1zch#xWW!TW+8@e1^f!T;o*5{vDZPo$CC3Kwk)dm=s3?%~C{=6l`S^_5| zMD0nUoVZ0~D%y!&!gv>>A+luQ=fV8pijlquXI$c3#dpu;+%yHkJ+~^&Ssg5_i3+=R zGvN#QMG-=BlCCY6KW+b$WOJ196)*n$HXLmVSukS8%cV1mJe0GQV6k$5W|U^S<`O$X zBiN2l4t3n7DJRcqUM^YUTl7S;o&-NMla}$MV@Ni+Wx$iKm&o1H2+$H4oh9T|cPG|C2WeNBI@i-TQ$k#)lt*^UDZz;nVyK z{zwHl!yj_a_SQpwE8j<9asMd+^l^Ft9*(cWGjPoKswlq@ufR{dx++RGS@$WW;ulsW z1uBeAp7@15O|aaDaYMwvu*Ijrs(=_QzGt)Laf5x>v{n5!YfJ%3o;8Ta%KOfNE12m5 z|NZ=5n7dQ>d>p@5x!$A~wGcZ!dSXRyFb zO_*jAE1Pwib&++Q^_XS(j|0JZXKKcwOtf;72qb9(HQasA2Z><`u!LA|fE2$
pfGD}>vV6&wKb5p{0JM%T} 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 Q^a&^Jf9{Bx*E;?G4{rv$DgXcg diff --git a/doc/SystemMenu_REDリリース.txt b/doc/SystemMenu_REDリリース.txt index 26c8cad2..78c36663 100644 --- a/doc/SystemMenu_REDリリース.txt +++ b/doc/SystemMenu_REDリリース.txt @@ -4,21 +4,21 @@ SystemMenu_RED EJ[hAv擾 iTWLoi[ւ̑Ή͂܂j ETWLJ[hN EJ[h} ~ - ENTRJ[hiNTR[hjN ~ + ENTRJ[hiNTR[hjN ~ iƒj ENANDAvXg擾 ENANDAvN - EAvu[g̍Ĕzu ~ - EISfobKΉ ~ - Et@[EFAƂĐK ~ + EAvu[g̍Ĕzu ~ iƒj + EISfobKΉ ~ i^XNj + Et@[EFAƂĐK ~ i^XNj EAvNWRAM-MAPݒ - EAvNSCFGWX^bN ~ + EAvNSCFGWX^bN @@EAvNSDJ[hANZX” @iƂ肠ɂĂAZLeBʂł̌sBj EEÍ ~ EǗ ~ E}bvFIX ENTRR|[lgpb` ~ E{̐ݒ - Eݒf[^tH[}bgFIX ~ + Eݒf[^tH[}bgFIX ~ iƒj EI ETP␳ EtEݒ diff --git a/doc/TWL_SystemMenuメモリマップ.vsd b/doc/TWL_SystemMenuメモリマップ.vsd index 5cf4e88ff01e2bb18004a384df07b64192b1b3c3..ece8d5d846ff725e5a5383d5c8bd5404abe975eb 100644 GIT binary patch delta 87230 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

{O$Q--`t1CX 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

s{E=jmrgAEv~XC+3F?}an@u>4m6 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 J72WOI{vWC`tb_mn diff --git a/include/sysmenu/acsign/ARM9/acsign.h b/include/sysmenu/acsign/ARM9/acsign.h index eff3b534..17969eb2 100644 --- a/include/sysmenu/acsign/ARM9/acsign.h +++ b/include/sysmenu/acsign/ARM9/acsign.h @@ -35,6 +35,14 @@ int ACSign_Decrypto( void* key_ptr // L[ւ̃|C^ ); +// +BOOL ACSign_Encrypto( + void *sign, // o̓obt@ւ̃|C^ + const void *key, // DERtH[}bg閧ւ̃|C^ + const void *data, // Ώۃf[^ւ̃|C^ + int length // Ώۃf[^ + ); + // int ACSign_Digest( void* buffer, // o͗̈ @@ -52,6 +60,8 @@ int ACSign_Compare( void* digest // ACSign_Digest̏o ); +void ACSign_SetAllocFunc( void *(*pAlloc)( u32 ), void (*pFree)( void * ) ); + #ifdef __cplusplus } #endif diff --git a/include/sysmenu/settings.h b/include/sysmenu/settings.h index 58b91abe..71f43860 100644 --- a/include/sysmenu/settings.h +++ b/include/sysmenu/settings.h @@ -18,6 +18,8 @@ #ifndef SYSM_MACHINE_SETTINGS_H_ #define SYSM_MACHINE_SETTINGS_H_ +#include +#include #include #include diff --git a/include/sysmenu/settings/common/TWLHWInfo.h b/include/sysmenu/settings/common/TWLHWInfo.h new file mode 100644 index 00000000..d14b0cc0 --- /dev/null +++ b/include/sysmenu/settings/common/TWLHWInfo.h @@ -0,0 +1,198 @@ +/*---------------------------------------------------------------------------* + Project: TwlIPL + File: HWInfo.h + + Copyright 2007 Nintendo. All rights reserved. + + These coded instructions, statements, and computer programs contain + proprietary information of Nintendo of America Inc. and/or Nintendo + Company Ltd., and are protected by Federal copyright law. They may + not be disclosed to third parties or copied or duplicated in any form, + in whole or in part, without the prior written consent of Nintendo. + + $Date:: $ + $Rev$ + $Author$ + *---------------------------------------------------------------------------*/ + + +#ifndef TWL_HW_INFO_H_ +#define TWL_HW_INFO_H_ + + +#define HW_SECURE_INFO_WRITE_ENABLE_ // HWZLÃCgƒRpCXCb` + +#include +#include + +#ifdef HW_SECURE_INFO_WRITE_ENABLE_ +#include +#endif // HW_SECURE_INFO_WRITE_ENABLE_ + +#ifdef __cplusplus +extern "C" { +#endif + + +// define data ------------------------------------ +#define TWL_HWINFO_FILE_LENGTH ( 16 * 1024 ) +#define TWL_HWINFO_NORMAL_PATH "nand:/sys/HWINFO_N.dat" +#define TWL_HWINFO_SECURE_PATH "nand:/sys/HWINFO_S.dat" + +#define TWL_HWINFO_NORMAL_VERSION 1 // HWtH[}bgo[W(JnNo.:1) +#define TWL_HWINFO_SECURE_VERSION 1 // HWtH[}bgo[W(JnNo.:1) +#define TWL_HWINFO_SERIALNO_LEN_AMERICA 11 // {̃VANo.MaxikČ11j +#define TWL_HWINFO_SERIALNO_LEN_OTHERS 12 // {̃VANo.Max +#define TWL_HWINFO_SERIALNO_LEN_MAX 16 // {̃VANo.Max +#define TWL_HWINFO_CAMERA_LEN 1024 // J [TODO]TCY + + +// [WR[hi̎ЕʂɂȂ錩݁j +typedef enum TWLRegionCode { + TWL_REGION_JAPAN = 0, // NCL + TWL_REGION_AMERICA = 1, // NOA + TWL_REGION_EUROPE = 2, // NOE + TWL_REGION_AUSTRALIA = 3, // NAL + TWL_REGION_CHINA = 4, // IQue + TWL_REGION_KOREA = 5, // NOK + TWL_REGION_MAX +}TWLRegion; + + +// {̃VANo. +typedef struct TWLSerialNo { + u8 length; // VANo. + u8 no[ TWL_HWINFO_SERIALNO_LEN_MAX ]; // VANo.iASCIIj +}TWLSerialNo; + + +// TWL_HWZLAݒf[^iʼnی삷Kv́j +// {Aߋver݊lāAljȂjŁB +typedef struct TWLHWSecureInfo{ + u8 region; // [W + TWLSerialNo serialNo; // {̃VANo. +}TWLHWSecureInfo; // 18bytes + + +// TWL_HWm[}ݒf[^iʼnی삷KvȂ́j +// {Aߋver݊lāAljȂjŁB +typedef struct TWLHWNormalInfo{ + u8 rtcAdjust; // RTCl + u8 camera[ TWL_HWINFO_CAMERA_LEN ]; // J +}TWLHWNormalInfo; // 1025byte + + +#ifdef SDK_ARM9 + + +//========================================================= +// HW񃊁[hCg֐ +//========================================================= +// Normal + // ϐւ̃[hfs +extern TSFReadResult THW_ReadNormalInfo( void ); + // ϐ̒l̃Cg +extern BOOL THW_WriteNormalInfo( void ); + // ڒlw肵ẴCgiJpj +extern BOOL THW_WriteNormalInfoDirect( const TWLHWNormalInfo *pSrcInfo ); + // t@CJo[ +extern BOOL THW_RecoveryNormalInfo( TSFReadResult err ); + // LRead,Write֐ŎgpftHgl̃ZbgiJpj +extern void TWH_SetNormalDefaultValue( const TWLHWNormalInfo *pSrcInfo ); + +// Secure + // [h +extern TSFReadResult THW_ReadSecureInfo( void ); + // LRpCXCb``̂ݗL +#ifdef HW_SECURE_INFO_WRITE_ENABLE_ + // Cg +extern BOOL THW_WriteSecureInfo( const u8 *pPrivKeyDER ); + // ڒlw肵ẴCgiJpj +extern BOOL THW_WriteSecureInfoDirect( const TWLHWSecureInfo *pSrcInfo, const u8 *pPrivKeyDER ); + // t@CJo[ +extern BOOL THW_RecoverySecureInfo( TSFReadResult err ); +#endif // HW_SECURE_INFO_WRITE_ENABLE_ + // LRead,Write֐ŎgpftHgl̃ZbgiJpj +extern void TWH_SetSecureDefaultValue( const TWLHWSecureInfo *pSrcInfo ); + + +//========================================================= +// iLANZX֐gpstaticϐj +//========================================================= +extern TWLHWNormalInfo s_hwInfoN; +extern TWLHWSecureInfo s_hwInfoS; +#define GetHWN() ( &s_hwInfoN ) +#define GetHWS() ( &s_hwInfoS ) + + +//========================================================= +// f[^擾iTHW_ReadNormalInfo, THW_ReadSecureInfoœ[Nɓǂݏo̎擾j +//========================================================= + +// RTCItZbgl̎擾 +static inline u8 THW_GetRTCAdjust( void ) +{ + return GetHWN()->rtcAdjust; +} + + +// J̎擾 +static inline void THW_GetCameraInfo( u8 *pDst ) +{ + MI_CpuCopy8( GetHWN()->camera, pDst, TWL_HWINFO_CAMERA_LEN ); +} + + +// [W̎擾B +static inline u8 THW_GetRegion( void ) +{ + return (u8)GetHWS()->region; +} + + +// {̃VANo.̎擾 +static inline void THW_GetSerialNo( TWLSerialNo *pDst ) +{ + MI_CpuCopy8( &GetHWS()->serialNo, pDst, sizeof(TWLSerialNo) ); +} + + +//========================================================= +// f[^ZbgiTSD_ReadSettingsœ[Nɓǂݏoւ̒lZbgj +//========================================================= + +// RTCItZbgl̃Zbg +static inline void THW_SetRTCAdjust( u8 adjust ) +{ + GetHWN()->rtcAdjust = adjust; +} + + +// J̃Zbg +static inline void THW_SetCameraInfo( u8 *pCamera ) +{ + MI_CpuCopy8( pCamera, GetHWN()->camera, TWL_HWINFO_CAMERA_LEN ); +} + + +// [W̃ZbgB +static inline void THW_SetRegion( u8 region ) +{ + GetHWS()->region = region; +} + +// {̃VANo.̃Zbg +static inline void THW_SetSerialNo( TWLSerialNo *pSrc ) +{ + MI_CpuCopy8( pSrc, &GetHWS()->serialNo, sizeof(TWLSerialNo) ); +} + + +#endif // SDK_ARM9 + + +#ifdef __cplusplus +} +#endif + +#endif // TWL_HWINFO_H_ diff --git a/include/sysmenu/settings/common/TWLSettings.h b/include/sysmenu/settings/common/TWLSettings.h index ac77cf1d..e4757650 100644 --- a/include/sysmenu/settings/common/TWLSettings.h +++ b/include/sysmenu/settings/common/TWLSettings.h @@ -77,31 +77,6 @@ const u8 LangCodeMapFromTWLtoNTR[][ 2 ] = { }; #endif -#define TWL_LANG_BITMAP_JAPAN ( ( 0x0001 << TWL_LANG_JAPANESE ) ) // JPNłł̑Ήrbg}bv -#define TWL_LANG_BITMAP_AMERICA ( ( 0x0001 << TWL_LANG_ENGLISH ) | \ - ( 0x0001 << TWL_LANG_FRENCH ) | \ - ( 0x0001 << TWL_LANG_SPANISH ) ) // AMEłł̑Ήrbg}bv -#define TWL_LANG_BITMAP_EUROPE ( ( 0x0001 << TWL_LANG_ENGLISH ) | \ - ( 0x0001 << TWL_LANG_FRENCH ) | \ - ( 0x0001 << TWL_LANG_GERMAN ) | \ - ( 0x0001 << TWL_LANG_ITALIAN ) | \ - ( 0x0001 << TWL_LANG_SPANISH ) ) // EURłł̑Ήrbg}bv -#define TWL_LANG_BITMAP_AUSTRALIA ( ( 0x0001 << TWL_LANG_ENGLISH ) ) // AUSłł̑Ήrbg}bv -#define TWL_LANG_BITMAP_CHINA ( ( 0x0001 << TWL_LANG_SIMP_CHINESE ) ) // CHIłł̑Ήrbg}bv -#define TWL_LANG_BITMAP_KOREA ( ( 0x0001 << TWL_LANG_KOREAN ) ) // KORłł̑Ήrbg}bv - - -// [WR[hi̎ЕʂɂȂ錩݁j -typedef enum TWLRegionCode { - TWL_REGION_JAPAN = 0, // NCL - TWL_REGION_AMERICA = 1, // NOA - TWL_REGION_EUROPE = 2, // NOE - TWL_REGION_AUSTRALIA = 3, // NAL - TWL_REGION_CHINA = 4, // IQue - TWL_REGION_KOREA = 5, // NOK - TWL_REGION_MAX -}TWLRegion; - // t #define TWLDate NTRDate @@ -111,21 +86,21 @@ typedef enum TWLRegionCode { // TPLu[ViNTRƂ̈Ⴂ́A\̈悠j typedef struct TWLTPCalibData { - NTRTPCalibData data; + NTRTPCalibData data; // TPLu[Vf[^ u8 rsv[ 8 ]; }TWLTPCalibData; // jbNl[iNTRƂ̈Ⴂ́AɏI[j typedef struct TWLNickname{ u16 buffer[ TWL_NICKNAME_LENGTH + 1 ]; // jbNl[iUnicode(UTF16)ōő10AI[R[hj - u8 length; // + u8 length; // u8 rsv; }TWLNickname; // 24byte // RgiNTRƂ̈Ⴂ́AɏI[j typedef struct TWLComment{ u16 buffer[ TWL_COMMENT_LENGTH + 1 ]; //RgiUnicode(UTF16)ōő26AI[R[hj - u8 length; // + u8 length; // u8 rsv; }TWLComment; // 54byte @@ -179,36 +154,34 @@ typedef struct TWLParentalControl { // TWLݒf[^wb_ typedef struct TWLSettingsHeader{ - u8 version; - u8 saveCount; - u16 dataLength; - u8 digest[ SVC_SHA1_DIGEST_SIZE ]; // SHA1_CWFXg@@CRC16ŏ\ȂBBB + u8 version; // f[^ver. + u8 saveCount; // Z[uJEg + u16 dataLength; // f[^ }TWLSettingsHeader; // TWLݒf[^i{Aߋver݊lāAljȂjŁBj typedef struct TWLSettingsData{ struct flags { - u32 initialSequence : 1; - u32 isSetCountry : 1; - u32 isSetLanguage : 1; - u32 isSetDateTime : 1; - u32 isSetNickname : 1; - u32 isSetUserColor : 1; - u32 isSetBirthday : 1; - u32 isSetTP : 1; - u32 isSetParentalControl : 1; -// u32 isSetBrowserRestriction : 1; // Wiiő݁BtuEU𐧌邩ǂBTWLł͌B - u32 isAgreeEURA : 1; + u32 initialSequence : 1; // NV[PXH + u32 isSetCountry : 1; // R[hݒς݁H + u32 isSetLanguage : 1; // ݒς݁H + u32 isSetDateTime : 1; // tEݒς݁H + u32 isSetNickname : 1; // jbNl[ݒς݁H + u32 isSetUserColor : 1; // [U[J[ݒς݁H + u32 isSetBirthday : 1; // aݒς݁H + u32 isSetTP : 1; // TPݒς݁H + u32 isSetParentalControl : 1; // p^Rg[ݒς݁H +// u32 isSetBrowserRestriction : 1; // Wiiő݁BtuEU𐧌邩ǂBTWLł͌B + u32 isAgreeEURA : 1; // EURAӍς݁H // WiFiݒ͕ʃf[^Ȃ̂ŁAɐݒς݃tO͗pӂȂB - u32 isGBUseTopLCD : 1; + u32 isGBUseTopLCD : 1; // PʂGBQ[ɏʂgH u32 isAvailableWireless : 1; // W[RFjbg̗L^ u32 isAvailableBatteryExtension : 1; // obeGNXeV[h̗L^ u32 rsv : 19; }flags; - u16 valid_language_bitmap; // Ήrbg}bviȂA"/sys/HWINFO.dat"̕ǂj + u8 region; TWLCountryCode country; // R[h - u8 region; // [WiȂA"/sys/HWINFO.dat"̕ǂj u8 language; // (NTRƂ̈Ⴂ́Af[^TCY8bit) u8 backLightBrightness; // obNCgPx(NTRƂ̈Ⴂ́Af[^TCY8bit) u8 rtcLastSetYear; // RTC̑OݒN @@ -223,6 +196,7 @@ typedef struct TWLSettingsData{ // TWLݒf[^ۑtH[}bg typedef struct TSDStore { + u8 digest[ SVC_SHA1_DIGEST_SIZE ]; // SHA1_CWFXg TWLSettingsHeader header; TWLSettingsData tsd; }TSDStore; @@ -307,12 +281,6 @@ static inline TWLLangCode TSD_GetLanguage( void ) return (TWLLangCode)GetTSD()->language; } -// Ήrbg}bv̎擾 -static inline u16 TSD_GetLanguageBitmap( void ) -{ - return GetTSD()->valid_language_bitmap; -} - // RTCItZbgl̎擾 static inline s64 TSD_GetRTCOffset( void ) { @@ -457,12 +425,6 @@ static inline void TSD_SetLanguage( TWLLangCode language ) GetTSD()->language = language; } -// Ήrbg}bṽZbg -static inline void TSD_SetLanguageBitmap( u16 valid_language_bitmap ) -{ - GetTSD()->valid_language_bitmap = valid_language_bitmap; -} - // RTCItZbgl̃Zbg static inline void TSD_SetRTCOffset( s64 rtcOffset ) { diff --git a/include/sysmenu/settings/common/TWLStoreFile.h b/include/sysmenu/settings/common/TWLStoreFile.h new file mode 100644 index 00000000..41b53738 --- /dev/null +++ b/include/sysmenu/settings/common/TWLStoreFile.h @@ -0,0 +1,94 @@ +/*---------------------------------------------------------------------------* + Project: TwlIPL + File: TWLFileStore.h + + Copyright 2007 Nintendo. All rights reserved. + + These coded instructions, statements, and computer programs contain + proprietary information of Nintendo of America Inc. and/or Nintendo + Company Ltd., and are protected by Federal copyright law. They may + not be disclosed to third parties or copied or duplicated in any form, + in whole or in part, without the prior written consent of Nintendo. + + $Date:: $ + $Rev$ + $Author$ + *---------------------------------------------------------------------------*/ + + +#ifndef TWL_STORE_FILE_H_ +#define TWL_STORE_FILE_H_ +#if defined(SDK_CW) + + +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + + +// define data ------------------------------------ +#define TSF_VERSION_TERMINATOR 0xff // versionI[ +#define SAVE_COUNT_MAX 0x80 // saveCount̍ől +#define SAVE_COUNT_MASK 0x7f // saveCount̒l͈̔͂}XNB(0x00-0x7fj +#define DISABLE_SAVE_COUNT 0xff // saveCount + +// TSF[h +typedef enum TSFReadResult { + TSF_READ_RESULT_SUCCEEDED = 0, + TSF_READ_RESULT_ERROR_FILE_EXIST = 1, + TSF_READ_RESULT_ERROR_FILE_LENGTH = 2, + TSF_READ_RESULT_ERROR_DATA = 3 +}TSFReadResult; + + +// TSFANZXpp[^ +typedef struct TSFParam { // TSF ( TWL Store File ) + u32 dataLength; // ۑf[^ + u32 fileLength; // ۑt@C + const u8 *conpatibleVerList; // ߋver.̌݊ver.XgBTSF_VERSION_TERMINATORŏI[B + const void *pDefaultValue; // ۑf[^̃ftHgl + BOOL (*pCheckDigestFunc)( void *pTgt, u32 len, u8 *pDigest ); // _CWFXg`FbN֐ւ̃|C^ + BOOL (*pCheckValueFunc)( void *pTgt ); // l`FbN֐ւ̃|C^ +}TSFParam; + + +// TSFwb_ +typedef struct TSFHeader{ + union digest { + u8 sha1[ SVC_SHA1_DIGEST_SIZE ]; // SHA-1_CWFXg + u8 rsa[ RSA_KEY_LENGTH ]; // RSA + u8 dst[ RSA_KEY_LENGTH ]; // ]p̍őTCYvf + }digest; + u8 version; // f[^ver. + u8 saveCount; // Z[uJEgi~[OȂt@C͎gpȂj + u8 rsv[2]; // \ + u32 bodyLength; // f[^ +}TSFHeader; // 134bytes + +// uTSFHeader+f[^{́v̌`Ńt@Cɕۑ܂B + +#ifdef SDK_ARM9 + +//========================================================= +// NANDt@Cւ̃[hCg֐ +//========================================================= + +// TSFtH[}bg̃t@C̃[h +extern TSFReadResult TSF_ReadFile ( char *pPath, void *pDstBody, const TSFParam *pParam, u8 *pDstSaveCount ); +// TSFtH[}bg̃t@C̃CgisaveCountDISABLE_SAVE_COUNT^ꍇ́AsaveCount"0"Œɂ܂Bj +extern BOOL TSF_WriteFile( char *pPath, TSFHeader *pHeader, const void *pSrcBody, u8 saveCount ); +// TSFtH[}bg̃t@C̃Jo +extern BOOL TSF_RecoveryFile( TSFReadResult err, char *pPath, u32 fileLength ); + +#endif // SDK_ARM9 + + +#ifdef __cplusplus +} +#endif + +#endif // SDK_CW +#endif // TWL_STORE_FILE_H_ diff --git a/keys/HWInfo/dummy/privHWInfo_dummy.pem b/keys/HWInfo/dummy/privHWInfo_dummy.pem new file mode 100644 index 00000000..a55c5740 --- /dev/null +++ b/keys/HWInfo/dummy/privHWInfo_dummy.pem @@ -0,0 +1,15 @@ +-----BEGIN RSA PRIVATE KEY----- +MIICXQIBAAKBgQDlcyzdiJ14or13KZTuxvMyZCCVuVLZndVNtd1zhhqX0BQQgEb0 +LM75BQbkwlhwQgdecdSc6xZwaxSWCoRpKB2CzT6UgpPIC0XTiZwFsriu/o1T3E8d +g4r+8QDNqcD6PxcxhBamOKtcO4GgZzUkU2bttyVzg9YI9KZLPJlKyhsitQIDAQAB +AoGBAIIVGRODl1tEUEwVi/UPX+NqtrqLtbfgboS/HYyYM81rz2RHhXJ7UOAHBJB+ +yirilFDsEhDgivkzDBnAXq9LaeaiXHZQwuUTszXyRSOdnaYzWoJAdPd3GH96a/xs +0VLWUTrzs1CH/5k8sxT4erk5l07ouBx5r/CPyJO/X5pIy8XhAkEA96DaxiFfdvEj +xXo1wkBmZbOsg+/wFMZhn+Bhm5Mxhblcrba60DmMyWhdJy6jb/gysAWY8OHLR21t +wMxAFccbvQJBAO00/fW8fA92BCb4Jh1s9uiXQAPpd+LdnxhXrm9+5y//wLLAUtii +awVmIycAuYlJSVzGSeQjAIP6MIefMp9lVlkCQHtDsAN2c13y1Vqk5gPHKPGxScv3 +cSv2QHxkJlJaKAmn5rF2R3IFY8aSU+SAO80t4JVsg+BMlXL9zudtBO2SSoUCQANe +pFjwU4bYs1hmYAw89wj41RT5JRXY9iCfZj/5OomJBZDEgKjJLeIGwGsWbIxRuTQT +MQuHn8NAM55JmauAAgkCQQC4bqOlgAPVGaoAK98Kf40EKufyY2XaMSiGmqpG3bnw +o13x8SWrOh6Stu5jgFnyGcItJone3lLWo2xN1b6SzN84 +-----END RSA PRIVATE KEY----- diff --git a/keys/HWInfo/dummy/pubHWInfo_dummy.pem b/keys/HWInfo/dummy/pubHWInfo_dummy.pem new file mode 100644 index 00000000..e5a13ec2 --- /dev/null +++ b/keys/HWInfo/dummy/pubHWInfo_dummy.pem @@ -0,0 +1,6 @@ +-----BEGIN PUBLIC KEY----- +MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDlcyzdiJ14or13KZTuxvMyZCCV +uVLZndVNtd1zhhqX0BQQgEb0LM75BQbkwlhwQgdecdSc6xZwaxSWCoRpKB2CzT6U +gpPIC0XTiZwFsriu/o1T3E8dg4r+8QDNqcD6PxcxhBamOKtcO4GgZzUkU2bttyVz +g9YI9KZLPJlKyhsitQIDAQAB +-----END PUBLIC KEY----- diff --git a/keys/HWInfo/makeHWInfo.pl b/keys/HWInfo/makeHWInfo.pl new file mode 100755 index 00000000..9b7337b6 --- /dev/null +++ b/keys/HWInfo/makeHWInfo.pl @@ -0,0 +1,105 @@ +#!/bin/perl + +use strict; + + +if( @ARGV != 8 ) { + die "usage: makeHWInfo.pl -r -s -k -o \n"; +} + +#`FbN +my $cmd = &analyze_argv; + +if( !exists($cmd->{"-r"}) or + !exists($cmd->{"-s"}) or + !exists($cmd->{"-k"}) or + !exists($cmd->{"-o"}) ) { + die "parameter error.\n"; +} + + +#[W +my @regionNameList = qw/ JAPAN AMERICA EUROPE AUSTRALIA CHINA KOREA /; +my $i = 0; +my $region = 0xff; +foreach ( @regionNameList ) { + if( $cmd->{"-r"} eq $_ ) { + $region = $i; + last; + } + $i++; +} +if( $region == 0xff ) { + die "region error.\n", $cmd->{"-r"}; +} + + +#VANo. +my $serialNo = $cmd->{"-s"}; +if( !( 11 == length($serialNo) or ( 12 == length($serialNo) ) ) ) { + die "serialNo length error. needs length \"11\" or \"12\"\n"; +} + + +#Bodyt@C +open(OUT, ">body.bin"); +binmode(OUT); +print OUT pack( "C", $region ); +print OUT pack( "A16", $serialNo ); +close(OUT); + + +#Headert@C +my $version = 1; +my $length = 17; +open(OUT, ">header.bin"); +binmode(OUT); +print OUT pack( "C", $version ); +print OUT pack( "CCC", 0, 0, 0 ); +print OUT pack( "L", $length ); +close(OUT); + +#R\[o +print "[Header]\n"; +printf " version : %d\n", $version; +printf " length : %d\n", $length; +print "[Body]\n"; +printf " region : %d (%s)\n", $region, $regionNameList[$region]; +printf " serialNo : %s (%d)\n", $serialNo, length($serialNo); + +#RSA +my $key = $cmd->{"-k"}; +my $outName = $cmd->{"-o"}; +system "openssl dgst -sha1 -binary -out tgt.dgst body.bin"; +system "openssl rsautl -sign -in tgt.dgst -inkey $key -out tgt.sgn"; +system "cat tgt.sgn header.bin body.bin >$outName"; +system "rm header.bin body.bin tgt.dgst tgt.sgn"; + +exit; + + +sub analyze_argv +{ + my $opt; + my %cmd = (); + + foreach my $token ( @ARGV ) + { + if( substr($token, 0, 1) eq "-" ) + { + $opt = $token; + } + elsif( $opt ) + { + $cmd{$opt} = $token; + $opt = ""; + } + else + { + push @{$cmd{""}}, $token; + } + } + + return \%cmd; +} + diff --git a/keys/HWInfo/privKeyHWInfo.der b/keys/HWInfo/privKeyHWInfo.der new file mode 100644 index 0000000000000000000000000000000000000000..73a7da7cd1adf6c69e85d6caded0c0d0bef112fe GIT binary patch literal 607 zcmV-l0-*gcf&yCt0RRGlfdIhZh+)FV4DUSUPUJSuv~PFbutdaQ)+o=R^ux|y)gQu^ zZ&YGnb~G5i|Ekyt>SLAn+r^JrxU3U|;~Yb__f64}ubK4k!+qu?pdvd zFKP|t)XbYl#UwcMf`A9BF}v68-1rcDa@n6p5&Z!HKElKen^=R(sIw|U{ynB#)rV2N zI~yo~8j9NJy*#Y9gO352#%DCjpx$K8C%4o8GNC7q}h?-EH-U__Fbg| zvYZvj=TrNRq;;X1jD09@4FjdQ^VEp)n8RW`WZgYmR*ys~4+22|!~XTKK1rrgn)SK> zWU^ME^At(fDftkZ1AbJCK2T1O*diJ3Ecr z(g-YC#<=KB9c4GD>I0ZBjBhX~y`FECr?Ui)0ze++SchnCQjHXLiS@@9uUkT8g4rJeLPv6f-?&LNQU#9-Da&!P0g&R^9Z!j^ATVqkVO7{33i*a_-mmG|4lk6E~^6NKX&L$>!#(UGs2 z^zXx%u*^BgXY+$OFnE|1a!SBqtt